246.15/164.44 MAYBE 246.15/164.45 proof of /export/starexec/sandbox/benchmark/theBenchmark.hs 246.15/164.45 # AProVE Commit ID: 48fb2092695e11cc9f56e44b17a92a5f88ffb256 marcel 20180622 unpublished dirty 246.15/164.45 246.15/164.45 246.15/164.45 H-Termination with start terms of the given HASKELL could not be shown: 246.15/164.45 246.15/164.45 (0) HASKELL 246.15/164.45 (1) IFR [EQUIVALENT, 0 ms] 246.15/164.45 (2) HASKELL 246.15/164.45 (3) BR [EQUIVALENT, 0 ms] 246.15/164.45 (4) HASKELL 246.15/164.45 (5) COR [EQUIVALENT, 25 ms] 246.15/164.45 (6) HASKELL 246.15/164.45 (7) LetRed [EQUIVALENT, 0 ms] 246.15/164.45 (8) HASKELL 246.15/164.45 (9) NumRed [SOUND, 0 ms] 246.15/164.45 (10) HASKELL 246.15/164.45 (11) Narrow [SOUND, 0 ms] 246.15/164.45 (12) AND 246.15/164.45 (13) QDP 246.15/164.45 (14) DependencyGraphProof [EQUIVALENT, 1 ms] 246.15/164.45 (15) AND 246.15/164.45 (16) QDP 246.15/164.45 (17) QDPOrderProof [EQUIVALENT, 49 ms] 246.15/164.45 (18) QDP 246.15/164.45 (19) DependencyGraphProof [EQUIVALENT, 0 ms] 246.15/164.45 (20) QDP 246.15/164.45 (21) QDPSizeChangeProof [EQUIVALENT, 0 ms] 246.15/164.45 (22) YES 246.15/164.45 (23) QDP 246.15/164.45 (24) MRRProof [EQUIVALENT, 0 ms] 246.15/164.45 (25) QDP 246.15/164.45 (26) PisEmptyProof [EQUIVALENT, 0 ms] 246.15/164.45 (27) YES 246.15/164.45 (28) QDP 246.15/164.45 (29) MNOCProof [EQUIVALENT, 0 ms] 246.15/164.45 (30) QDP 246.15/164.45 (31) InductionCalculusProof [EQUIVALENT, 0 ms] 246.15/164.45 (32) QDP 246.15/164.45 (33) TransformationProof [EQUIVALENT, 0 ms] 246.15/164.45 (34) QDP 246.15/164.45 (35) TransformationProof [EQUIVALENT, 0 ms] 246.15/164.45 (36) QDP 246.15/164.45 (37) DependencyGraphProof [EQUIVALENT, 0 ms] 246.15/164.45 (38) QDP 246.15/164.45 (39) TransformationProof [EQUIVALENT, 0 ms] 246.15/164.45 (40) QDP 246.15/164.45 (41) DependencyGraphProof [EQUIVALENT, 0 ms] 246.15/164.45 (42) QDP 246.15/164.45 (43) TransformationProof [EQUIVALENT, 0 ms] 246.15/164.45 (44) QDP 246.15/164.45 (45) DependencyGraphProof [EQUIVALENT, 0 ms] 246.15/164.45 (46) QDP 246.15/164.45 (47) TransformationProof [EQUIVALENT, 0 ms] 246.15/164.45 (48) QDP 246.15/164.45 (49) DependencyGraphProof [EQUIVALENT, 0 ms] 246.15/164.45 (50) QDP 246.15/164.45 (51) TransformationProof [EQUIVALENT, 0 ms] 246.15/164.45 (52) QDP 246.15/164.45 (53) DependencyGraphProof [EQUIVALENT, 0 ms] 246.15/164.45 (54) AND 246.15/164.45 (55) QDP 246.15/164.45 (56) UsableRulesProof [EQUIVALENT, 0 ms] 246.15/164.45 (57) QDP 246.15/164.45 (58) QReductionProof [EQUIVALENT, 0 ms] 246.15/164.45 (59) QDP 246.15/164.45 (60) TransformationProof [EQUIVALENT, 0 ms] 246.15/164.45 (61) QDP 246.15/164.45 (62) DependencyGraphProof [EQUIVALENT, 0 ms] 246.15/164.45 (63) QDP 246.15/164.45 (64) TransformationProof [EQUIVALENT, 0 ms] 246.15/164.45 (65) QDP 246.15/164.45 (66) DependencyGraphProof [EQUIVALENT, 0 ms] 246.15/164.45 (67) QDP 246.15/164.45 (68) TransformationProof [EQUIVALENT, 0 ms] 246.15/164.45 (69) QDP 246.15/164.45 (70) TransformationProof [EQUIVALENT, 0 ms] 246.15/164.45 (71) QDP 246.15/164.45 (72) DependencyGraphProof [EQUIVALENT, 0 ms] 246.15/164.45 (73) QDP 246.15/164.45 (74) TransformationProof [EQUIVALENT, 0 ms] 246.15/164.45 (75) QDP 246.15/164.45 (76) TransformationProof [EQUIVALENT, 0 ms] 246.15/164.45 (77) QDP 246.15/164.45 (78) TransformationProof [EQUIVALENT, 0 ms] 246.15/164.45 (79) QDP 246.15/164.45 (80) TransformationProof [EQUIVALENT, 0 ms] 246.15/164.45 (81) QDP 246.15/164.45 (82) DependencyGraphProof [EQUIVALENT, 0 ms] 246.15/164.45 (83) QDP 246.15/164.45 (84) TransformationProof [EQUIVALENT, 0 ms] 246.15/164.45 (85) QDP 246.15/164.45 (86) DependencyGraphProof [EQUIVALENT, 0 ms] 246.15/164.45 (87) QDP 246.15/164.45 (88) TransformationProof [EQUIVALENT, 0 ms] 246.15/164.45 (89) QDP 246.15/164.45 (90) TransformationProof [EQUIVALENT, 0 ms] 246.15/164.45 (91) QDP 246.15/164.45 (92) DependencyGraphProof [EQUIVALENT, 0 ms] 246.15/164.45 (93) AND 246.15/164.45 (94) QDP 246.15/164.45 (95) UsableRulesProof [EQUIVALENT, 0 ms] 246.15/164.45 (96) QDP 246.15/164.45 (97) QReductionProof [EQUIVALENT, 0 ms] 246.15/164.45 (98) QDP 246.15/164.45 (99) TransformationProof [EQUIVALENT, 0 ms] 246.15/164.45 (100) QDP 246.15/164.45 (101) UsableRulesProof [EQUIVALENT, 0 ms] 246.15/164.45 (102) QDP 246.15/164.45 (103) TransformationProof [EQUIVALENT, 0 ms] 246.15/164.45 (104) QDP 246.15/164.45 (105) UsableRulesProof [EQUIVALENT, 0 ms] 246.15/164.45 (106) QDP 246.15/164.45 (107) TransformationProof [EQUIVALENT, 0 ms] 246.15/164.45 (108) QDP 246.15/164.45 (109) TransformationProof [EQUIVALENT, 0 ms] 246.15/164.45 (110) QDP 246.15/164.45 (111) TransformationProof [EQUIVALENT, 0 ms] 246.15/164.45 (112) QDP 246.15/164.45 (113) TransformationProof [EQUIVALENT, 0 ms] 246.15/164.45 (114) QDP 246.15/164.45 (115) DependencyGraphProof [EQUIVALENT, 0 ms] 246.15/164.45 (116) QDP 246.15/164.45 (117) TransformationProof [EQUIVALENT, 0 ms] 246.15/164.45 (118) QDP 246.15/164.45 (119) TransformationProof [EQUIVALENT, 0 ms] 246.15/164.45 (120) QDP 246.15/164.45 (121) TransformationProof [EQUIVALENT, 0 ms] 246.15/164.45 (122) QDP 246.15/164.45 (123) TransformationProof [EQUIVALENT, 0 ms] 246.15/164.45 (124) QDP 246.15/164.45 (125) DependencyGraphProof [EQUIVALENT, 0 ms] 246.15/164.45 (126) QDP 246.15/164.45 (127) TransformationProof [EQUIVALENT, 0 ms] 246.15/164.45 (128) QDP 246.15/164.45 (129) DependencyGraphProof [EQUIVALENT, 0 ms] 246.15/164.45 (130) QDP 246.15/164.45 (131) TransformationProof [EQUIVALENT, 0 ms] 246.15/164.45 (132) QDP 246.15/164.45 (133) TransformationProof [EQUIVALENT, 0 ms] 246.15/164.45 (134) QDP 246.15/164.45 (135) DependencyGraphProof [EQUIVALENT, 0 ms] 246.15/164.45 (136) QDP 246.15/164.45 (137) TransformationProof [EQUIVALENT, 0 ms] 246.15/164.45 (138) QDP 246.15/164.45 (139) QDPSizeChangeProof [EQUIVALENT, 0 ms] 246.15/164.45 (140) YES 246.15/164.45 (141) QDP 246.15/164.45 (142) UsableRulesProof [EQUIVALENT, 0 ms] 246.15/164.45 (143) QDP 246.15/164.45 (144) QReductionProof [EQUIVALENT, 0 ms] 246.15/164.45 (145) QDP 246.15/164.45 (146) TransformationProof [EQUIVALENT, 0 ms] 246.15/164.45 (147) QDP 246.15/164.45 (148) TransformationProof [EQUIVALENT, 0 ms] 246.15/164.45 (149) QDP 246.15/164.45 (150) TransformationProof [EQUIVALENT, 0 ms] 246.15/164.45 (151) QDP 246.15/164.45 (152) TransformationProof [EQUIVALENT, 0 ms] 246.15/164.45 (153) QDP 246.15/164.45 (154) DependencyGraphProof [EQUIVALENT, 0 ms] 246.15/164.45 (155) QDP 246.15/164.45 (156) TransformationProof [EQUIVALENT, 0 ms] 246.15/164.45 (157) QDP 246.15/164.45 (158) DependencyGraphProof [EQUIVALENT, 0 ms] 246.15/164.45 (159) QDP 246.15/164.45 (160) TransformationProof [EQUIVALENT, 0 ms] 246.15/164.45 (161) QDP 246.15/164.45 (162) TransformationProof [EQUIVALENT, 0 ms] 246.15/164.45 (163) QDP 246.15/164.45 (164) TransformationProof [EQUIVALENT, 0 ms] 246.15/164.45 (165) QDP 246.15/164.45 (166) TransformationProof [EQUIVALENT, 0 ms] 246.15/164.45 (167) QDP 246.15/164.45 (168) DependencyGraphProof [EQUIVALENT, 0 ms] 246.15/164.45 (169) QDP 246.15/164.45 (170) TransformationProof [EQUIVALENT, 0 ms] 246.15/164.45 (171) QDP 246.15/164.45 (172) DependencyGraphProof [EQUIVALENT, 0 ms] 246.15/164.45 (173) QDP 246.15/164.45 (174) TransformationProof [EQUIVALENT, 0 ms] 246.15/164.45 (175) QDP 246.15/164.45 (176) QDPSizeChangeProof [EQUIVALENT, 0 ms] 246.15/164.45 (177) YES 246.15/164.45 (178) QDP 246.15/164.45 (179) UsableRulesProof [EQUIVALENT, 0 ms] 246.15/164.45 (180) QDP 246.15/164.45 (181) QReductionProof [EQUIVALENT, 0 ms] 246.15/164.45 (182) QDP 246.15/164.45 (183) TransformationProof [EQUIVALENT, 0 ms] 246.15/164.45 (184) QDP 246.15/164.45 (185) TransformationProof [EQUIVALENT, 0 ms] 246.15/164.45 (186) QDP 246.15/164.45 (187) TransformationProof [EQUIVALENT, 0 ms] 246.15/164.45 (188) QDP 246.15/164.45 (189) TransformationProof [EQUIVALENT, 0 ms] 246.15/164.45 (190) QDP 246.15/164.45 (191) TransformationProof [EQUIVALENT, 0 ms] 246.15/164.45 (192) QDP 246.15/164.45 (193) TransformationProof [EQUIVALENT, 0 ms] 246.15/164.45 (194) QDP 246.15/164.45 (195) TransformationProof [EQUIVALENT, 0 ms] 246.15/164.45 (196) QDP 246.15/164.45 (197) TransformationProof [EQUIVALENT, 0 ms] 246.15/164.45 (198) QDP 246.15/164.45 (199) TransformationProof [EQUIVALENT, 0 ms] 246.15/164.45 (200) QDP 246.15/164.45 (201) TransformationProof [EQUIVALENT, 0 ms] 246.15/164.45 (202) QDP 246.15/164.45 (203) DependencyGraphProof [EQUIVALENT, 0 ms] 246.15/164.45 (204) QDP 246.15/164.45 (205) TransformationProof [EQUIVALENT, 0 ms] 246.15/164.45 (206) QDP 246.15/164.45 (207) TransformationProof [EQUIVALENT, 0 ms] 246.15/164.45 (208) QDP 246.15/164.45 (209) TransformationProof [EQUIVALENT, 0 ms] 246.15/164.45 (210) QDP 246.15/164.45 (211) TransformationProof [EQUIVALENT, 0 ms] 246.15/164.45 (212) QDP 246.15/164.45 (213) TransformationProof [EQUIVALENT, 0 ms] 246.15/164.45 (214) QDP 246.15/164.45 (215) TransformationProof [EQUIVALENT, 0 ms] 246.15/164.45 (216) QDP 246.15/164.45 (217) TransformationProof [EQUIVALENT, 0 ms] 246.15/164.45 (218) QDP 246.15/164.45 (219) TransformationProof [EQUIVALENT, 0 ms] 246.15/164.45 (220) QDP 246.15/164.45 (221) TransformationProof [EQUIVALENT, 0 ms] 246.15/164.45 (222) QDP 246.15/164.45 (223) TransformationProof [EQUIVALENT, 0 ms] 246.15/164.45 (224) QDP 246.15/164.45 (225) DependencyGraphProof [EQUIVALENT, 0 ms] 246.15/164.45 (226) QDP 246.15/164.45 (227) TransformationProof [EQUIVALENT, 0 ms] 246.15/164.45 (228) QDP 246.15/164.45 (229) TransformationProof [EQUIVALENT, 0 ms] 246.15/164.45 (230) QDP 246.15/164.45 (231) TransformationProof [EQUIVALENT, 0 ms] 246.15/164.45 (232) QDP 246.15/164.45 (233) TransformationProof [EQUIVALENT, 0 ms] 246.15/164.45 (234) QDP 246.15/164.45 (235) TransformationProof [EQUIVALENT, 0 ms] 246.15/164.45 (236) QDP 246.15/164.45 (237) TransformationProof [EQUIVALENT, 0 ms] 246.15/164.45 (238) QDP 246.15/164.45 (239) TransformationProof [EQUIVALENT, 0 ms] 246.15/164.45 (240) QDP 246.15/164.45 (241) TransformationProof [EQUIVALENT, 0 ms] 246.15/164.45 (242) QDP 246.15/164.45 (243) TransformationProof [EQUIVALENT, 0 ms] 246.15/164.45 (244) QDP 246.15/164.45 (245) TransformationProof [EQUIVALENT, 0 ms] 246.15/164.45 (246) QDP 246.15/164.45 (247) TransformationProof [EQUIVALENT, 0 ms] 246.15/164.45 (248) QDP 246.15/164.45 (249) TransformationProof [EQUIVALENT, 0 ms] 246.15/164.45 (250) QDP 246.15/164.45 (251) DependencyGraphProof [EQUIVALENT, 0 ms] 246.15/164.45 (252) QDP 246.15/164.45 (253) TransformationProof [EQUIVALENT, 0 ms] 246.15/164.45 (254) QDP 246.15/164.45 (255) TransformationProof [EQUIVALENT, 0 ms] 246.15/164.45 (256) QDP 246.15/164.45 (257) TransformationProof [EQUIVALENT, 0 ms] 246.15/164.45 (258) QDP 246.15/164.45 (259) TransformationProof [EQUIVALENT, 0 ms] 246.15/164.45 (260) QDP 246.15/164.45 (261) TransformationProof [EQUIVALENT, 0 ms] 246.15/164.45 (262) QDP 246.15/164.45 (263) TransformationProof [EQUIVALENT, 0 ms] 246.15/164.45 (264) QDP 246.15/164.45 (265) TransformationProof [EQUIVALENT, 0 ms] 246.15/164.45 (266) QDP 246.15/164.45 (267) TransformationProof [EQUIVALENT, 0 ms] 246.15/164.45 (268) QDP 246.15/164.45 (269) TransformationProof [EQUIVALENT, 0 ms] 246.15/164.45 (270) QDP 246.15/164.45 (271) TransformationProof [EQUIVALENT, 0 ms] 246.15/164.45 (272) QDP 246.15/164.45 (273) TransformationProof [EQUIVALENT, 0 ms] 246.15/164.45 (274) QDP 246.15/164.45 (275) TransformationProof [EQUIVALENT, 0 ms] 246.15/164.45 (276) QDP 246.15/164.45 (277) DependencyGraphProof [EQUIVALENT, 0 ms] 246.15/164.45 (278) QDP 246.15/164.45 (279) TransformationProof [EQUIVALENT, 0 ms] 246.15/164.45 (280) QDP 246.15/164.45 (281) DependencyGraphProof [EQUIVALENT, 0 ms] 246.15/164.45 (282) QDP 246.15/164.45 (283) TransformationProof [EQUIVALENT, 0 ms] 246.15/164.45 (284) QDP 246.15/164.45 (285) TransformationProof [EQUIVALENT, 1 ms] 246.15/164.45 (286) QDP 246.15/164.45 (287) TransformationProof [EQUIVALENT, 0 ms] 246.15/164.45 (288) QDP 246.15/164.45 (289) TransformationProof [EQUIVALENT, 0 ms] 246.15/164.45 (290) QDP 246.15/164.45 (291) TransformationProof [EQUIVALENT, 0 ms] 246.15/164.45 (292) QDP 246.15/164.45 (293) TransformationProof [EQUIVALENT, 0 ms] 246.15/164.45 (294) QDP 246.15/164.45 (295) TransformationProof [EQUIVALENT, 0 ms] 246.15/164.45 (296) QDP 246.15/164.45 (297) DependencyGraphProof [EQUIVALENT, 0 ms] 246.15/164.45 (298) AND 246.15/164.45 (299) QDP 246.15/164.45 (300) UsableRulesProof [EQUIVALENT, 0 ms] 246.15/164.45 (301) QDP 246.15/164.45 (302) TransformationProof [EQUIVALENT, 0 ms] 246.15/164.45 (303) QDP 246.15/164.45 (304) DependencyGraphProof [EQUIVALENT, 0 ms] 246.15/164.45 (305) QDP 246.15/164.45 (306) TransformationProof [EQUIVALENT, 0 ms] 246.15/164.45 (307) QDP 246.15/164.45 (308) DependencyGraphProof [EQUIVALENT, 0 ms] 246.15/164.45 (309) QDP 246.15/164.45 (310) InductionCalculusProof [EQUIVALENT, 0 ms] 246.15/164.45 (311) QDP 246.15/164.45 (312) QDP 246.15/164.45 (313) UsableRulesProof [EQUIVALENT, 0 ms] 246.15/164.45 (314) QDP 246.15/164.45 (315) TransformationProof [EQUIVALENT, 0 ms] 246.15/164.45 (316) QDP 246.15/164.45 (317) TransformationProof [EQUIVALENT, 0 ms] 246.15/164.45 (318) QDP 246.15/164.45 (319) TransformationProof [EQUIVALENT, 0 ms] 246.15/164.45 (320) QDP 246.15/164.45 (321) TransformationProof [EQUIVALENT, 0 ms] 246.15/164.45 (322) QDP 246.15/164.45 (323) DependencyGraphProof [EQUIVALENT, 0 ms] 246.15/164.45 (324) QDP 246.15/164.45 (325) InductionCalculusProof [EQUIVALENT, 0 ms] 246.15/164.45 (326) QDP 246.15/164.45 (327) QDP 246.15/164.45 (328) TransformationProof [EQUIVALENT, 0 ms] 246.15/164.45 (329) QDP 246.15/164.45 (330) DependencyGraphProof [EQUIVALENT, 0 ms] 246.15/164.45 (331) QDP 246.15/164.45 (332) TransformationProof [EQUIVALENT, 0 ms] 246.15/164.45 (333) QDP 246.15/164.45 (334) TransformationProof [EQUIVALENT, 0 ms] 246.15/164.45 (335) QDP 246.15/164.45 (336) TransformationProof [EQUIVALENT, 0 ms] 246.15/164.45 (337) QDP 246.15/164.45 (338) TransformationProof [EQUIVALENT, 0 ms] 246.15/164.45 (339) QDP 246.15/164.45 (340) TransformationProof [EQUIVALENT, 0 ms] 246.15/164.45 (341) QDP 246.15/164.45 (342) DependencyGraphProof [EQUIVALENT, 0 ms] 246.15/164.45 (343) AND 246.15/164.45 (344) QDP 246.15/164.45 (345) UsableRulesProof [EQUIVALENT, 0 ms] 246.15/164.45 (346) QDP 246.15/164.45 (347) InductionCalculusProof [EQUIVALENT, 0 ms] 246.15/164.45 (348) QDP 246.15/164.45 (349) QDP 246.15/164.45 (350) UsableRulesProof [EQUIVALENT, 0 ms] 246.15/164.45 (351) QDP 246.15/164.45 (352) TransformationProof [EQUIVALENT, 0 ms] 246.15/164.45 (353) QDP 246.15/164.45 (354) TransformationProof [EQUIVALENT, 0 ms] 246.15/164.45 (355) QDP 246.15/164.45 (356) TransformationProof [EQUIVALENT, 0 ms] 246.15/164.45 (357) QDP 246.15/164.45 (358) TransformationProof [EQUIVALENT, 0 ms] 246.15/164.45 (359) QDP 246.15/164.45 (360) InductionCalculusProof [EQUIVALENT, 0 ms] 246.15/164.45 (361) QDP 246.15/164.45 (362) QDP 246.15/164.45 (363) InductionCalculusProof [EQUIVALENT, 0 ms] 246.15/164.45 (364) QDP 246.15/164.45 (365) QDP 246.15/164.45 (366) UsableRulesProof [EQUIVALENT, 0 ms] 246.15/164.45 (367) QDP 246.15/164.45 (368) QReductionProof [EQUIVALENT, 4 ms] 246.15/164.45 (369) QDP 246.15/164.45 (370) TransformationProof [EQUIVALENT, 0 ms] 246.15/164.45 (371) QDP 246.15/164.45 (372) DependencyGraphProof [EQUIVALENT, 0 ms] 246.15/164.45 (373) QDP 246.15/164.45 (374) TransformationProof [EQUIVALENT, 0 ms] 246.15/164.45 (375) QDP 246.15/164.45 (376) DependencyGraphProof [EQUIVALENT, 0 ms] 246.15/164.45 (377) QDP 246.15/164.45 (378) TransformationProof [EQUIVALENT, 0 ms] 246.15/164.45 (379) QDP 246.15/164.45 (380) TransformationProof [EQUIVALENT, 0 ms] 246.15/164.45 (381) QDP 246.15/164.45 (382) DependencyGraphProof [EQUIVALENT, 0 ms] 246.15/164.45 (383) AND 246.15/164.45 (384) QDP 246.15/164.45 (385) UsableRulesProof [EQUIVALENT, 0 ms] 246.15/164.45 (386) QDP 246.15/164.45 (387) QReductionProof [EQUIVALENT, 0 ms] 246.15/164.45 (388) QDP 246.15/164.45 (389) TransformationProof [EQUIVALENT, 0 ms] 246.15/164.45 (390) QDP 246.15/164.45 (391) TransformationProof [EQUIVALENT, 0 ms] 246.15/164.45 (392) QDP 246.15/164.45 (393) TransformationProof [EQUIVALENT, 0 ms] 246.15/164.45 (394) QDP 246.15/164.45 (395) TransformationProof [EQUIVALENT, 0 ms] 246.15/164.45 (396) QDP 246.15/164.45 (397) TransformationProof [EQUIVALENT, 0 ms] 246.15/164.45 (398) QDP 246.15/164.45 (399) TransformationProof [EQUIVALENT, 0 ms] 246.15/164.45 (400) QDP 246.15/164.45 (401) DependencyGraphProof [EQUIVALENT, 0 ms] 246.15/164.45 (402) QDP 246.15/164.45 (403) TransformationProof [EQUIVALENT, 0 ms] 246.15/164.45 (404) QDP 246.15/164.45 (405) DependencyGraphProof [EQUIVALENT, 0 ms] 246.15/164.45 (406) QDP 246.15/164.45 (407) TransformationProof [EQUIVALENT, 0 ms] 246.15/164.45 (408) QDP 246.15/164.45 (409) TransformationProof [EQUIVALENT, 0 ms] 246.15/164.45 (410) QDP 246.15/164.45 (411) TransformationProof [EQUIVALENT, 0 ms] 246.15/164.45 (412) QDP 246.15/164.45 (413) TransformationProof [EQUIVALENT, 0 ms] 246.15/164.45 (414) QDP 246.15/164.45 (415) DependencyGraphProof [EQUIVALENT, 0 ms] 246.15/164.45 (416) QDP 246.15/164.45 (417) TransformationProof [EQUIVALENT, 0 ms] 246.15/164.45 (418) QDP 246.15/164.45 (419) DependencyGraphProof [EQUIVALENT, 0 ms] 246.15/164.45 (420) QDP 246.15/164.45 (421) TransformationProof [EQUIVALENT, 0 ms] 246.15/164.45 (422) QDP 246.15/164.45 (423) QDPSizeChangeProof [EQUIVALENT, 3 ms] 246.15/164.45 (424) YES 246.15/164.45 (425) QDP 246.15/164.45 (426) UsableRulesProof [EQUIVALENT, 0 ms] 246.15/164.45 (427) QDP 246.15/164.45 (428) QReductionProof [EQUIVALENT, 0 ms] 246.15/164.45 (429) QDP 246.15/164.45 (430) TransformationProof [EQUIVALENT, 0 ms] 246.15/164.45 (431) QDP 246.15/164.45 (432) TransformationProof [EQUIVALENT, 0 ms] 246.15/164.45 (433) QDP 246.15/164.45 (434) TransformationProof [EQUIVALENT, 0 ms] 246.15/164.45 (435) QDP 246.15/164.45 (436) TransformationProof [EQUIVALENT, 0 ms] 246.15/164.45 (437) QDP 246.15/164.45 (438) TransformationProof [EQUIVALENT, 0 ms] 246.15/164.45 (439) QDP 246.15/164.45 (440) TransformationProof [EQUIVALENT, 0 ms] 246.15/164.45 (441) QDP 246.15/164.45 (442) TransformationProof [EQUIVALENT, 0 ms] 246.15/164.45 (443) QDP 246.15/164.45 (444) TransformationProof [EQUIVALENT, 0 ms] 246.15/164.45 (445) QDP 246.15/164.45 (446) TransformationProof [EQUIVALENT, 0 ms] 246.15/164.45 (447) QDP 246.15/164.45 (448) TransformationProof [EQUIVALENT, 0 ms] 246.15/164.45 (449) QDP 246.15/164.45 (450) DependencyGraphProof [EQUIVALENT, 0 ms] 246.15/164.45 (451) QDP 246.15/164.45 (452) TransformationProof [EQUIVALENT, 0 ms] 246.15/164.45 (453) QDP 246.15/164.45 (454) TransformationProof [EQUIVALENT, 0 ms] 246.15/164.45 (455) QDP 246.15/164.45 (456) TransformationProof [EQUIVALENT, 0 ms] 246.15/164.45 (457) QDP 246.15/164.45 (458) TransformationProof [EQUIVALENT, 0 ms] 246.15/164.45 (459) QDP 246.15/164.45 (460) TransformationProof [EQUIVALENT, 0 ms] 246.15/164.45 (461) QDP 246.15/164.45 (462) TransformationProof [EQUIVALENT, 0 ms] 246.15/164.45 (463) QDP 246.15/164.45 (464) TransformationProof [EQUIVALENT, 0 ms] 246.15/164.45 (465) QDP 246.15/164.45 (466) TransformationProof [EQUIVALENT, 0 ms] 246.15/164.45 (467) QDP 246.15/164.45 (468) TransformationProof [EQUIVALENT, 0 ms] 246.15/164.45 (469) QDP 246.15/164.45 (470) TransformationProof [EQUIVALENT, 0 ms] 246.15/164.45 (471) QDP 246.15/164.45 (472) TransformationProof [EQUIVALENT, 0 ms] 246.15/164.45 (473) QDP 246.15/164.45 (474) TransformationProof [EQUIVALENT, 1 ms] 246.15/164.45 (475) QDP 246.15/164.45 (476) DependencyGraphProof [EQUIVALENT, 0 ms] 246.15/164.45 (477) QDP 246.15/164.45 (478) TransformationProof [EQUIVALENT, 0 ms] 246.15/164.45 (479) QDP 246.15/164.45 (480) DependencyGraphProof [EQUIVALENT, 0 ms] 246.15/164.45 (481) AND 246.15/164.45 (482) QDP 246.15/164.45 (483) TransformationProof [EQUIVALENT, 0 ms] 246.15/164.45 (484) QDP 246.15/164.45 (485) TransformationProof [EQUIVALENT, 0 ms] 246.15/164.45 (486) QDP 246.15/164.45 (487) TransformationProof [EQUIVALENT, 0 ms] 246.15/164.45 (488) QDP 246.15/164.45 (489) TransformationProof [EQUIVALENT, 0 ms] 246.15/164.45 (490) QDP 246.15/164.45 (491) TransformationProof [EQUIVALENT, 0 ms] 246.15/164.45 (492) QDP 246.15/164.45 (493) TransformationProof [EQUIVALENT, 0 ms] 246.15/164.45 (494) QDP 246.15/164.45 (495) TransformationProof [EQUIVALENT, 0 ms] 246.15/164.45 (496) QDP 246.15/164.45 (497) DependencyGraphProof [EQUIVALENT, 0 ms] 246.15/164.45 (498) QDP 246.15/164.45 (499) QDPOrderProof [EQUIVALENT, 486 ms] 246.15/164.45 (500) QDP 246.15/164.45 (501) DependencyGraphProof [EQUIVALENT, 0 ms] 246.15/164.45 (502) TRUE 246.15/164.45 (503) QDP 246.15/164.45 (504) QReductionProof [EQUIVALENT, 0 ms] 246.15/164.45 (505) QDP 246.15/164.45 (506) InductionCalculusProof [EQUIVALENT, 0 ms] 246.15/164.45 (507) QDP 246.15/164.45 (508) TransformationProof [EQUIVALENT, 0 ms] 246.15/164.45 (509) QDP 246.15/164.45 (510) DependencyGraphProof [EQUIVALENT, 0 ms] 246.15/164.45 (511) AND 246.15/164.45 (512) QDP 246.15/164.45 (513) TransformationProof [EQUIVALENT, 0 ms] 246.15/164.45 (514) QDP 246.15/164.45 (515) TransformationProof [EQUIVALENT, 0 ms] 246.15/164.45 (516) QDP 246.15/164.45 (517) TransformationProof [EQUIVALENT, 0 ms] 246.15/164.45 (518) QDP 246.15/164.45 (519) TransformationProof [EQUIVALENT, 0 ms] 246.15/164.45 (520) QDP 246.15/164.45 (521) QReductionProof [EQUIVALENT, 0 ms] 246.15/164.45 (522) QDP 246.15/164.45 (523) InductionCalculusProof [EQUIVALENT, 0 ms] 246.15/164.45 (524) QDP 246.15/164.45 (525) QDP 246.15/164.45 (526) QReductionProof [EQUIVALENT, 0 ms] 246.15/164.45 (527) QDP 246.15/164.45 (528) InductionCalculusProof [EQUIVALENT, 0 ms] 246.15/164.45 (529) QDP 246.15/164.45 (530) QDP 246.15/164.45 (531) UsableRulesProof [EQUIVALENT, 0 ms] 246.15/164.45 (532) QDP 246.15/164.45 (533) QReductionProof [EQUIVALENT, 1 ms] 246.15/164.45 (534) QDP 246.15/164.45 (535) TransformationProof [EQUIVALENT, 0 ms] 246.15/164.45 (536) QDP 246.15/164.45 (537) DependencyGraphProof [EQUIVALENT, 0 ms] 246.15/164.45 (538) QDP 246.15/164.45 (539) TransformationProof [EQUIVALENT, 0 ms] 246.15/164.45 (540) QDP 246.15/164.45 (541) DependencyGraphProof [EQUIVALENT, 0 ms] 246.15/164.45 (542) QDP 246.15/164.45 (543) TransformationProof [EQUIVALENT, 0 ms] 246.15/164.45 (544) QDP 246.15/164.45 (545) TransformationProof [EQUIVALENT, 0 ms] 246.15/164.45 (546) QDP 246.15/164.45 (547) DependencyGraphProof [EQUIVALENT, 0 ms] 246.15/164.45 (548) AND 246.15/164.45 (549) QDP 246.15/164.45 (550) UsableRulesProof [EQUIVALENT, 0 ms] 246.15/164.45 (551) QDP 246.15/164.45 (552) QReductionProof [EQUIVALENT, 0 ms] 246.15/164.45 (553) QDP 246.15/164.45 (554) TransformationProof [EQUIVALENT, 0 ms] 246.15/164.45 (555) QDP 246.15/164.45 (556) TransformationProof [EQUIVALENT, 0 ms] 246.15/164.45 (557) QDP 246.15/164.45 (558) TransformationProof [EQUIVALENT, 0 ms] 246.15/164.45 (559) QDP 246.15/164.45 (560) TransformationProof [EQUIVALENT, 0 ms] 246.15/164.45 (561) QDP 246.15/164.45 (562) TransformationProof [EQUIVALENT, 0 ms] 246.15/164.45 (563) QDP 246.15/164.45 (564) TransformationProof [EQUIVALENT, 0 ms] 246.15/164.45 (565) QDP 246.15/164.45 (566) DependencyGraphProof [EQUIVALENT, 0 ms] 246.15/164.45 (567) QDP 246.15/164.45 (568) TransformationProof [EQUIVALENT, 0 ms] 246.15/164.45 (569) QDP 246.15/164.45 (570) DependencyGraphProof [EQUIVALENT, 0 ms] 246.15/164.45 (571) QDP 246.15/164.45 (572) TransformationProof [EQUIVALENT, 0 ms] 246.15/164.45 (573) QDP 246.15/164.45 (574) TransformationProof [EQUIVALENT, 0 ms] 246.15/164.45 (575) QDP 246.15/164.45 (576) TransformationProof [EQUIVALENT, 0 ms] 246.15/164.45 (577) QDP 246.15/164.45 (578) TransformationProof [EQUIVALENT, 0 ms] 246.15/164.45 (579) QDP 246.15/164.45 (580) DependencyGraphProof [EQUIVALENT, 0 ms] 246.15/164.45 (581) QDP 246.15/164.45 (582) TransformationProof [EQUIVALENT, 0 ms] 246.15/164.45 (583) QDP 246.15/164.45 (584) DependencyGraphProof [EQUIVALENT, 0 ms] 246.15/164.45 (585) QDP 246.15/164.45 (586) TransformationProof [EQUIVALENT, 0 ms] 246.15/164.45 (587) QDP 246.15/164.45 (588) QDPSizeChangeProof [EQUIVALENT, 0 ms] 246.15/164.45 (589) YES 246.15/164.45 (590) QDP 246.15/164.45 (591) UsableRulesProof [EQUIVALENT, 0 ms] 246.15/164.45 (592) QDP 246.15/164.45 (593) QReductionProof [EQUIVALENT, 0 ms] 246.15/164.45 (594) QDP 246.15/164.45 (595) TransformationProof [EQUIVALENT, 0 ms] 246.15/164.45 (596) QDP 246.15/164.45 (597) TransformationProof [EQUIVALENT, 0 ms] 246.15/164.45 (598) QDP 246.15/164.45 (599) TransformationProof [EQUIVALENT, 0 ms] 246.15/164.45 (600) QDP 246.15/164.45 (601) TransformationProof [EQUIVALENT, 0 ms] 246.15/164.45 (602) QDP 246.15/164.45 (603) TransformationProof [EQUIVALENT, 0 ms] 246.15/164.45 (604) QDP 246.15/164.45 (605) TransformationProof [EQUIVALENT, 0 ms] 246.15/164.45 (606) QDP 246.15/164.45 (607) TransformationProof [EQUIVALENT, 0 ms] 246.15/164.45 (608) QDP 246.15/164.45 (609) TransformationProof [EQUIVALENT, 0 ms] 246.15/164.45 (610) QDP 246.15/164.45 (611) TransformationProof [EQUIVALENT, 0 ms] 246.15/164.45 (612) QDP 246.15/164.45 (613) TransformationProof [EQUIVALENT, 0 ms] 246.15/164.45 (614) QDP 246.15/164.45 (615) DependencyGraphProof [EQUIVALENT, 0 ms] 246.15/164.45 (616) QDP 246.15/164.45 (617) TransformationProof [EQUIVALENT, 0 ms] 246.15/164.45 (618) QDP 246.15/164.45 (619) TransformationProof [EQUIVALENT, 0 ms] 246.15/164.45 (620) QDP 246.15/164.45 (621) TransformationProof [EQUIVALENT, 0 ms] 246.15/164.45 (622) QDP 246.15/164.45 (623) TransformationProof [EQUIVALENT, 0 ms] 246.15/164.45 (624) QDP 246.15/164.45 (625) TransformationProof [EQUIVALENT, 0 ms] 246.15/164.45 (626) QDP 246.15/164.45 (627) TransformationProof [EQUIVALENT, 0 ms] 246.15/164.45 (628) QDP 246.15/164.45 (629) TransformationProof [EQUIVALENT, 0 ms] 246.15/164.45 (630) QDP 246.15/164.45 (631) TransformationProof [EQUIVALENT, 0 ms] 246.15/164.45 (632) QDP 246.15/164.45 (633) TransformationProof [EQUIVALENT, 0 ms] 246.15/164.45 (634) QDP 246.15/164.45 (635) TransformationProof [EQUIVALENT, 0 ms] 246.15/164.45 (636) QDP 246.15/164.45 (637) TransformationProof [EQUIVALENT, 0 ms] 246.15/164.45 (638) QDP 246.15/164.45 (639) TransformationProof [EQUIVALENT, 0 ms] 246.15/164.45 (640) QDP 246.15/164.45 (641) DependencyGraphProof [EQUIVALENT, 0 ms] 246.15/164.45 (642) QDP 246.15/164.45 (643) TransformationProof [EQUIVALENT, 0 ms] 246.15/164.45 (644) QDP 246.15/164.45 (645) DependencyGraphProof [EQUIVALENT, 0 ms] 246.15/164.45 (646) AND 246.15/164.45 (647) QDP 246.15/164.45 (648) TransformationProof [EQUIVALENT, 0 ms] 246.15/164.45 (649) QDP 246.15/164.45 (650) TransformationProof [EQUIVALENT, 0 ms] 246.15/164.45 (651) QDP 246.15/164.45 (652) TransformationProof [EQUIVALENT, 0 ms] 246.15/164.45 (653) QDP 246.15/164.45 (654) TransformationProof [EQUIVALENT, 0 ms] 246.15/164.45 (655) QDP 246.15/164.45 (656) TransformationProof [EQUIVALENT, 0 ms] 246.15/164.45 (657) QDP 246.15/164.45 (658) TransformationProof [EQUIVALENT, 0 ms] 246.15/164.45 (659) QDP 246.15/164.45 (660) TransformationProof [EQUIVALENT, 0 ms] 246.15/164.45 (661) QDP 246.15/164.45 (662) DependencyGraphProof [EQUIVALENT, 0 ms] 246.15/164.45 (663) QDP 246.15/164.45 (664) QDPOrderProof [EQUIVALENT, 393 ms] 246.15/164.45 (665) QDP 246.15/164.45 (666) DependencyGraphProof [EQUIVALENT, 0 ms] 246.15/164.45 (667) TRUE 246.15/164.45 (668) QDP 246.15/164.45 (669) TransformationProof [EQUIVALENT, 0 ms] 246.15/164.45 (670) QDP 246.15/164.45 (671) DependencyGraphProof [EQUIVALENT, 0 ms] 246.15/164.45 (672) AND 246.15/164.45 (673) QDP 246.15/164.45 (674) TransformationProof [EQUIVALENT, 0 ms] 246.15/164.45 (675) QDP 246.15/164.45 (676) TransformationProof [EQUIVALENT, 0 ms] 246.15/164.45 (677) QDP 246.15/164.45 (678) TransformationProof [EQUIVALENT, 0 ms] 246.15/164.45 (679) QDP 246.15/164.45 (680) TransformationProof [EQUIVALENT, 0 ms] 246.15/164.45 (681) QDP 246.15/164.45 (682) QReductionProof [EQUIVALENT, 1 ms] 246.15/164.45 (683) QDP 246.15/164.45 (684) InductionCalculusProof [EQUIVALENT, 0 ms] 246.15/164.45 (685) QDP 246.15/164.45 (686) QDP 246.15/164.45 (687) QReductionProof [EQUIVALENT, 0 ms] 246.15/164.45 (688) QDP 246.15/164.45 (689) InductionCalculusProof [EQUIVALENT, 0 ms] 246.15/164.45 (690) QDP 246.15/164.45 (691) QDP 246.15/164.45 (692) DependencyGraphProof [EQUIVALENT, 0 ms] 246.15/164.45 (693) AND 246.15/164.45 (694) QDP 246.15/164.45 (695) MRRProof [EQUIVALENT, 0 ms] 246.15/164.45 (696) QDP 246.15/164.45 (697) PisEmptyProof [EQUIVALENT, 0 ms] 246.15/164.45 (698) YES 246.15/164.45 (699) QDP 246.15/164.45 (700) QDPSizeChangeProof [EQUIVALENT, 0 ms] 246.15/164.45 (701) YES 246.15/164.45 (702) QDP 246.15/164.45 (703) QDPSizeChangeProof [EQUIVALENT, 0 ms] 246.15/164.45 (704) YES 246.15/164.45 (705) QDP 246.15/164.45 (706) QDPSizeChangeProof [EQUIVALENT, 0 ms] 246.15/164.45 (707) YES 246.15/164.45 (708) QDP 246.15/164.45 (709) TransformationProof [EQUIVALENT, 65 ms] 246.15/164.45 (710) QDP 246.15/164.45 (711) TransformationProof [EQUIVALENT, 0 ms] 246.15/164.45 (712) QDP 246.15/164.45 (713) TransformationProof [EQUIVALENT, 0 ms] 246.15/164.45 (714) QDP 246.15/164.45 (715) TransformationProof [EQUIVALENT, 0 ms] 246.15/164.45 (716) QDP 246.15/164.45 (717) TransformationProof [EQUIVALENT, 0 ms] 246.15/164.45 (718) QDP 246.15/164.45 (719) TransformationProof [EQUIVALENT, 0 ms] 246.15/164.45 (720) QDP 246.15/164.45 (721) TransformationProof [EQUIVALENT, 0 ms] 246.15/164.45 (722) QDP 246.15/164.45 (723) UsableRulesProof [EQUIVALENT, 0 ms] 246.15/164.45 (724) QDP 246.15/164.45 (725) QReductionProof [EQUIVALENT, 0 ms] 246.15/164.45 (726) QDP 246.15/164.45 (727) TransformationProof [EQUIVALENT, 56 ms] 246.15/164.45 (728) QDP 246.15/164.45 (729) TransformationProof [EQUIVALENT, 0 ms] 246.15/164.45 (730) QDP 246.15/164.45 (731) TransformationProof [EQUIVALENT, 0 ms] 246.15/164.45 (732) QDP 246.15/164.45 (733) UsableRulesProof [EQUIVALENT, 0 ms] 246.15/164.45 (734) QDP 246.15/164.45 (735) QReductionProof [EQUIVALENT, 0 ms] 246.15/164.45 (736) QDP 246.15/164.45 (737) TransformationProof [EQUIVALENT, 67 ms] 246.15/164.45 (738) QDP 246.15/164.45 (739) TransformationProof [EQUIVALENT, 0 ms] 246.15/164.45 (740) QDP 246.15/164.45 (741) TransformationProof [EQUIVALENT, 0 ms] 246.15/164.45 (742) QDP 246.15/164.45 (743) TransformationProof [EQUIVALENT, 0 ms] 246.15/164.45 (744) QDP 246.15/164.45 (745) TransformationProof [EQUIVALENT, 0 ms] 246.15/164.45 (746) QDP 246.15/164.45 (747) TransformationProof [EQUIVALENT, 0 ms] 246.15/164.45 (748) QDP 246.15/164.45 (749) TransformationProof [EQUIVALENT, 0 ms] 246.15/164.45 (750) QDP 246.15/164.45 (751) TransformationProof [EQUIVALENT, 0 ms] 246.15/164.45 (752) QDP 246.15/164.45 (753) DependencyGraphProof [EQUIVALENT, 0 ms] 246.15/164.45 (754) AND 246.15/164.45 (755) QDP 246.15/164.45 (756) UsableRulesProof [EQUIVALENT, 0 ms] 246.15/164.45 (757) QDP 246.15/164.45 (758) QReductionProof [EQUIVALENT, 0 ms] 246.15/164.45 (759) QDP 246.15/164.45 (760) MNOCProof [EQUIVALENT, 0 ms] 246.15/164.45 (761) QDP 246.15/164.45 (762) NonTerminationLoopProof [COMPLETE, 0 ms] 246.15/164.45 (763) NO 246.15/164.45 (764) QDP 246.15/164.45 (765) UsableRulesProof [EQUIVALENT, 0 ms] 246.15/164.45 (766) QDP 246.15/164.45 (767) QReductionProof [EQUIVALENT, 0 ms] 246.15/164.45 (768) QDP 246.15/164.45 (769) TransformationProof [EQUIVALENT, 70 ms] 246.15/164.45 (770) QDP 246.15/164.45 (771) TransformationProof [EQUIVALENT, 0 ms] 246.15/164.45 (772) QDP 246.15/164.45 (773) DependencyGraphProof [EQUIVALENT, 0 ms] 246.15/164.45 (774) AND 246.15/164.45 (775) QDP 246.15/164.45 (776) UsableRulesProof [EQUIVALENT, 0 ms] 246.15/164.45 (777) QDP 248.00/165.00 (778) QReductionProof [EQUIVALENT, 0 ms] 248.00/165.00 (779) QDP 248.00/165.00 (780) MNOCProof [EQUIVALENT, 0 ms] 248.00/165.00 (781) QDP 248.00/165.00 (782) NonTerminationLoopProof [COMPLETE, 0 ms] 248.00/165.00 (783) NO 248.00/165.00 (784) QDP 248.00/165.00 (785) UsableRulesProof [EQUIVALENT, 0 ms] 248.00/165.00 (786) QDP 248.00/165.00 (787) QReductionProof [EQUIVALENT, 0 ms] 248.00/165.00 (788) QDP 248.00/165.00 (789) TransformationProof [EQUIVALENT, 0 ms] 248.00/165.00 (790) QDP 248.00/165.00 (791) TransformationProof [EQUIVALENT, 0 ms] 248.00/165.00 (792) QDP 248.00/165.00 (793) TransformationProof [EQUIVALENT, 0 ms] 248.00/165.00 (794) QDP 248.00/165.00 (795) TransformationProof [EQUIVALENT, 0 ms] 248.00/165.00 (796) QDP 248.00/165.00 (797) TransformationProof [EQUIVALENT, 0 ms] 248.00/165.00 (798) QDP 248.00/165.00 (799) TransformationProof [EQUIVALENT, 0 ms] 248.00/165.00 (800) QDP 248.00/165.00 (801) UsableRulesProof [EQUIVALENT, 0 ms] 248.00/165.00 (802) QDP 248.00/165.00 (803) TransformationProof [EQUIVALENT, 0 ms] 248.00/165.00 (804) QDP 248.00/165.00 (805) DependencyGraphProof [EQUIVALENT, 0 ms] 248.00/165.00 (806) AND 248.00/165.00 (807) QDP 248.00/165.00 (808) UsableRulesProof [EQUIVALENT, 0 ms] 248.00/165.00 (809) QDP 248.00/165.00 (810) QReductionProof [EQUIVALENT, 0 ms] 248.00/165.00 (811) QDP 248.00/165.00 (812) TransformationProof [EQUIVALENT, 0 ms] 248.00/165.00 (813) QDP 248.00/165.00 (814) DependencyGraphProof [EQUIVALENT, 0 ms] 248.00/165.00 (815) QDP 248.00/165.00 (816) MNOCProof [EQUIVALENT, 0 ms] 248.00/165.00 (817) QDP 248.00/165.00 (818) InductionCalculusProof [EQUIVALENT, 0 ms] 248.00/165.00 (819) QDP 248.00/165.00 (820) QDPPairToRuleProof [EQUIVALENT, 0 ms] 248.00/165.00 (821) AND 248.00/165.00 (822) QDP 248.00/165.00 (823) MNOCProof [EQUIVALENT, 0 ms] 248.00/165.00 (824) QDP 248.00/165.00 (825) InductionCalculusProof [EQUIVALENT, 0 ms] 248.00/165.00 (826) QDP 248.00/165.00 (827) TransformationProof [EQUIVALENT, 0 ms] 248.00/165.00 (828) QDP 248.00/165.00 (829) DependencyGraphProof [EQUIVALENT, 0 ms] 248.00/165.00 (830) QDP 248.00/165.00 (831) TransformationProof [EQUIVALENT, 0 ms] 248.00/165.00 (832) QDP 248.00/165.00 (833) TransformationProof [EQUIVALENT, 0 ms] 248.00/165.00 (834) QDP 248.00/165.00 (835) TransformationProof [EQUIVALENT, 0 ms] 248.00/165.00 (836) QDP 248.00/165.00 (837) TransformationProof [EQUIVALENT, 0 ms] 248.00/165.00 (838) QDP 248.00/165.00 (839) TransformationProof [EQUIVALENT, 0 ms] 248.00/165.00 (840) QDP 248.00/165.00 (841) TransformationProof [EQUIVALENT, 0 ms] 248.00/165.00 (842) QDP 248.00/165.00 (843) TransformationProof [EQUIVALENT, 0 ms] 248.00/165.00 (844) QDP 248.00/165.00 (845) TransformationProof [EQUIVALENT, 0 ms] 248.00/165.00 (846) QDP 248.00/165.00 (847) UsableRulesProof [EQUIVALENT, 0 ms] 248.00/165.00 (848) QDP 248.00/165.00 (849) QReductionProof [EQUIVALENT, 0 ms] 248.00/165.00 (850) QDP 248.00/165.00 (851) TransformationProof [EQUIVALENT, 0 ms] 248.00/165.00 (852) QDP 248.00/165.00 (853) TransformationProof [EQUIVALENT, 0 ms] 248.00/165.00 (854) QDP 248.00/165.00 (855) TransformationProof [EQUIVALENT, 0 ms] 248.00/165.00 (856) QDP 248.00/165.00 (857) TransformationProof [EQUIVALENT, 0 ms] 248.00/165.00 (858) QDP 248.00/165.00 (859) TransformationProof [EQUIVALENT, 0 ms] 248.00/165.00 (860) QDP 248.00/165.00 (861) TransformationProof [EQUIVALENT, 0 ms] 248.00/165.00 (862) QDP 248.00/165.00 (863) TransformationProof [EQUIVALENT, 0 ms] 248.00/165.00 (864) QDP 248.00/165.00 (865) TransformationProof [EQUIVALENT, 0 ms] 248.00/165.00 (866) QDP 248.00/165.00 (867) TransformationProof [EQUIVALENT, 0 ms] 248.00/165.00 (868) QDP 248.00/165.00 (869) TransformationProof [EQUIVALENT, 0 ms] 248.00/165.00 (870) QDP 248.00/165.00 (871) TransformationProof [EQUIVALENT, 0 ms] 248.00/165.00 (872) QDP 248.00/165.00 (873) TransformationProof [EQUIVALENT, 0 ms] 248.00/165.00 (874) QDP 248.00/165.00 (875) TransformationProof [EQUIVALENT, 0 ms] 248.00/165.00 (876) QDP 248.00/165.00 (877) MNOCProof [EQUIVALENT, 0 ms] 248.00/165.00 (878) QDP 248.00/165.00 (879) InductionCalculusProof [EQUIVALENT, 0 ms] 248.00/165.00 (880) QDP 248.00/165.00 (881) QDP 248.00/165.00 (882) QDPSizeChangeProof [EQUIVALENT, 0 ms] 248.00/165.00 (883) YES 248.00/165.00 (884) QDP 248.00/165.00 (885) UsableRulesProof [EQUIVALENT, 0 ms] 248.00/165.00 (886) QDP 248.00/165.00 (887) QReductionProof [EQUIVALENT, 11 ms] 248.00/165.00 (888) QDP 248.00/165.00 (889) TransformationProof [EQUIVALENT, 0 ms] 248.00/165.00 (890) QDP 248.00/165.00 (891) TransformationProof [EQUIVALENT, 0 ms] 248.00/165.00 (892) QDP 248.00/165.00 (893) TransformationProof [EQUIVALENT, 0 ms] 248.00/165.00 (894) QDP 248.00/165.00 (895) TransformationProof [EQUIVALENT, 0 ms] 248.00/165.00 (896) QDP 248.00/165.00 (897) DependencyGraphProof [EQUIVALENT, 0 ms] 248.00/165.00 (898) QDP 248.00/165.00 (899) TransformationProof [EQUIVALENT, 0 ms] 248.00/165.00 (900) QDP 248.00/165.00 (901) DependencyGraphProof [EQUIVALENT, 0 ms] 248.00/165.00 (902) QDP 248.00/165.00 (903) TransformationProof [EQUIVALENT, 0 ms] 248.00/165.00 (904) QDP 248.00/165.00 (905) TransformationProof [EQUIVALENT, 0 ms] 248.00/165.00 (906) QDP 248.00/165.00 (907) TransformationProof [EQUIVALENT, 0 ms] 248.00/165.00 (908) QDP 248.00/165.00 (909) UsableRulesProof [EQUIVALENT, 0 ms] 248.39/165.08 (910) QDP 248.39/165.08 (911) TransformationProof [EQUIVALENT, 23 ms] 248.39/165.08 (912) QDP 248.39/165.08 (913) UsableRulesProof [EQUIVALENT, 0 ms] 248.39/165.08 (914) QDP 248.39/165.08 (915) QReductionProof [EQUIVALENT, 0 ms] 248.39/165.08 (916) QDP 248.39/165.08 (917) TransformationProof [EQUIVALENT, 0 ms] 248.39/165.08 (918) QDP 248.39/165.08 (919) UsableRulesProof [EQUIVALENT, 0 ms] 248.39/165.08 (920) QDP 248.39/165.08 (921) QReductionProof [EQUIVALENT, 0 ms] 248.39/165.08 (922) QDP 248.39/165.08 (923) QDPOrderProof [EQUIVALENT, 72 ms] 248.39/165.08 (924) QDP 248.39/165.08 (925) DependencyGraphProof [EQUIVALENT, 0 ms] 248.39/165.08 (926) QDP 248.39/165.08 (927) MNOCProof [EQUIVALENT, 0 ms] 248.39/165.08 (928) QDP 248.39/165.08 (929) InductionCalculusProof [EQUIVALENT, 0 ms] 248.39/165.08 (930) QDP 248.39/165.08 (931) QDPPairToRuleProof [EQUIVALENT, 0 ms] 248.39/165.08 (932) AND 248.39/165.08 (933) QDP 248.39/165.08 (934) MNOCProof [EQUIVALENT, 10 ms] 248.39/165.08 (935) QDP 248.39/165.08 (936) InductionCalculusProof [EQUIVALENT, 0 ms] 248.39/165.08 (937) QDP 248.39/165.08 (938) QDP 248.39/165.08 (939) QDPSizeChangeProof [EQUIVALENT, 0 ms] 248.39/165.08 (940) YES 248.39/165.08 (941) QDP 248.39/165.08 (942) QDPSizeChangeProof [EQUIVALENT, 0 ms] 248.39/165.08 (943) YES 248.39/165.08 (944) QDP 248.39/165.08 (945) QDPSizeChangeProof [EQUIVALENT, 0 ms] 248.39/165.08 (946) YES 248.39/165.08 (947) QDP 248.39/165.08 (948) QDPSizeChangeProof [EQUIVALENT, 0 ms] 248.39/165.08 (949) YES 248.39/165.08 (950) Narrow [COMPLETE, 0 ms] 248.39/165.08 (951) QDP 248.39/165.08 (952) PisEmptyProof [EQUIVALENT, 0 ms] 248.39/165.08 (953) YES 248.39/165.08 248.39/165.08 248.39/165.08 ---------------------------------------- 248.39/165.08 248.39/165.08 (0) 248.39/165.08 Obligation: 248.39/165.08 mainModule Main 248.39/165.08 module Main where { 248.39/165.08 import qualified Prelude; 248.39/165.08 } 248.39/165.08 248.39/165.08 ---------------------------------------- 248.39/165.08 248.39/165.08 (1) IFR (EQUIVALENT) 248.39/165.08 If Reductions: 248.39/165.08 The following If expression 248.39/165.08 "if primGEqNatS x y then Succ (primDivNatS (primMinusNatS x y) (Succ y)) else Zero" 248.39/165.08 is transformed to 248.39/165.08 "primDivNatS0 x y True = Succ (primDivNatS (primMinusNatS x y) (Succ y)); 248.39/165.08 primDivNatS0 x y False = Zero; 248.39/165.08 " 248.39/165.08 The following If expression 248.39/165.08 "if primGEqNatS x y then primModNatS (primMinusNatS x y) (Succ y) else Succ x" 248.39/165.08 is transformed to 248.39/165.08 "primModNatS0 x y True = primModNatS (primMinusNatS x y) (Succ y); 248.39/165.08 primModNatS0 x y False = Succ x; 248.39/165.08 " 248.39/165.08 248.39/165.08 ---------------------------------------- 248.39/165.08 248.39/165.08 (2) 248.39/165.08 Obligation: 248.39/165.08 mainModule Main 248.39/165.08 module Main where { 248.39/165.08 import qualified Prelude; 248.39/165.08 } 248.39/165.08 248.39/165.08 ---------------------------------------- 248.39/165.08 248.39/165.08 (3) BR (EQUIVALENT) 248.39/165.08 Replaced joker patterns by fresh variables and removed binding patterns. 248.39/165.08 ---------------------------------------- 248.39/165.08 248.39/165.08 (4) 248.39/165.08 Obligation: 248.39/165.08 mainModule Main 248.39/165.08 module Main where { 248.39/165.08 import qualified Prelude; 248.39/165.08 } 248.39/165.08 248.39/165.08 ---------------------------------------- 248.39/165.08 248.39/165.08 (5) COR (EQUIVALENT) 248.39/165.08 Cond Reductions: 248.39/165.08 The following Function with conditions 248.39/165.08 "absReal x|x >= 0x|otherwise`negate` x; 248.39/165.08 " 248.39/165.08 is transformed to 248.39/165.08 "absReal x = absReal2 x; 248.39/165.08 " 248.39/165.08 "absReal0 x True = `negate` x; 248.39/165.08 " 248.39/165.08 "absReal1 x True = x; 248.39/165.08 absReal1 x False = absReal0 x otherwise; 248.39/165.08 " 248.39/165.08 "absReal2 x = absReal1 x (x >= 0); 248.39/165.08 " 248.39/165.08 The following Function with conditions 248.39/165.08 "gcd' x 0 = x; 248.39/165.08 gcd' x y = gcd' y (x `rem` y); 248.39/165.08 " 248.39/165.08 is transformed to 248.39/165.08 "gcd' x yw = gcd'2 x yw; 248.39/165.08 gcd' x y = gcd'0 x y; 248.39/165.08 " 248.39/165.08 "gcd'0 x y = gcd' y (x `rem` y); 248.39/165.08 " 248.39/165.08 "gcd'1 True x yw = x; 248.39/165.08 gcd'1 yx yy yz = gcd'0 yy yz; 248.39/165.08 " 248.39/165.08 "gcd'2 x yw = gcd'1 (yw == 0) x yw; 248.39/165.08 gcd'2 zu zv = gcd'0 zu zv; 248.39/165.08 " 248.39/165.08 The following Function with conditions 248.39/165.08 "gcd 0 0 = error []; 248.39/165.08 gcd x y = gcd' (abs x) (abs y) where { 248.39/165.08 gcd' x 0 = x; 248.39/165.08 gcd' x y = gcd' y (x `rem` y); 248.39/165.08 } 248.39/165.08 ; 248.39/165.08 " 248.39/165.08 is transformed to 248.39/165.08 "gcd zw zx = gcd3 zw zx; 248.39/165.08 gcd x y = gcd0 x y; 248.39/165.08 " 248.39/165.08 "gcd0 x y = gcd' (abs x) (abs y) where { 248.39/165.08 gcd' x yw = gcd'2 x yw; 248.39/165.08 gcd' x y = gcd'0 x y; 248.39/165.08 ; 248.39/165.08 gcd'0 x y = gcd' y (x `rem` y); 248.39/165.08 ; 248.39/165.08 gcd'1 True x yw = x; 248.39/165.08 gcd'1 yx yy yz = gcd'0 yy yz; 248.39/165.08 ; 248.39/165.08 gcd'2 x yw = gcd'1 (yw == 0) x yw; 248.39/165.08 gcd'2 zu zv = gcd'0 zu zv; 248.39/165.08 } 248.39/165.08 ; 248.39/165.08 " 248.39/165.08 "gcd1 True zw zx = error []; 248.39/165.08 gcd1 zy zz vuu = gcd0 zz vuu; 248.39/165.08 " 248.39/165.08 "gcd2 True zw zx = gcd1 (zx == 0) zw zx; 248.39/165.08 gcd2 vuv vuw vux = gcd0 vuw vux; 248.39/165.08 " 248.39/165.08 "gcd3 zw zx = gcd2 (zw == 0) zw zx; 248.39/165.08 gcd3 vuy vuz = gcd0 vuy vuz; 248.39/165.08 " 248.39/165.08 The following Function with conditions 248.39/165.08 "undefined |Falseundefined; 248.39/165.08 " 248.39/165.08 is transformed to 248.39/165.08 "undefined = undefined1; 248.39/165.08 " 248.39/165.08 "undefined0 True = undefined; 248.39/165.08 " 248.39/165.08 "undefined1 = undefined0 False; 248.39/165.08 " 248.39/165.08 The following Function with conditions 248.39/165.08 "g x n|even ng (x * x) (n `quot` 2)|otherwisef x (n - 1) (x * y); 248.39/165.08 " 248.39/165.08 is transformed to 248.39/165.08 "g x n = g2 x n; 248.39/165.08 " 248.39/165.08 "g0 x n True = f x (n - 1) (x * y); 248.39/165.08 " 248.39/165.08 "g1 x n True = g (x * x) (n `quot` 2); 248.39/165.08 g1 x n False = g0 x n otherwise; 248.39/165.08 " 248.39/165.08 "g2 x n = g1 x n (even n); 248.39/165.08 " 248.39/165.08 The following Function with conditions 248.39/165.08 "f xv 0 y = y; 248.39/165.08 f x n y = g x n where { 248.39/165.08 g x n|even ng (x * x) (n `quot` 2)|otherwisef x (n - 1) (x * y); 248.39/165.08 } 248.39/165.08 ; 248.39/165.08 " 248.39/165.08 is transformed to 248.39/165.08 "f xv vvu y = f4 xv vvu y; 248.39/165.08 f x n y = f0 x n y; 248.39/165.08 " 248.39/165.08 "f0 x n y = g x n where { 248.39/165.08 g x n = g2 x n; 248.39/165.08 ; 248.39/165.08 g0 x n True = f x (n - 1) (x * y); 248.39/165.08 ; 248.39/165.08 g1 x n True = g (x * x) (n `quot` 2); 248.39/165.08 g1 x n False = g0 x n otherwise; 248.39/165.08 ; 248.39/165.08 g2 x n = g1 x n (even n); 248.39/165.08 } 248.39/165.08 ; 248.39/165.08 " 248.39/165.08 "f3 True xv vvu y = y; 248.39/165.08 f3 vvv vvw vvx vvy = f0 vvw vvx vvy; 248.39/165.08 " 248.39/165.08 "f4 xv vvu y = f3 (vvu == 0) xv vvu y; 248.39/165.08 f4 vvz vwu vwv = f0 vvz vwu vwv; 248.39/165.08 " 248.39/165.08 The following Function with conditions 248.39/165.08 "^ x 0 = 1; 248.39/165.08 ^ x n|n > 0f x (n - 1) x where { 248.39/165.08 f xv 0 y = y; 248.39/165.08 f x n y = g x n where { 248.39/165.08 g x n|even ng (x * x) (n `quot` 2)|otherwisef x (n - 1) (x * y); 248.39/165.08 } 248.39/165.08 ; 248.39/165.08 } 248.39/165.08 ; 248.39/165.08 ^ xw xx = error []; 248.39/165.08 " 248.39/165.08 is transformed to 248.39/165.08 "^ x vwy = pr4 x vwy; 248.39/165.08 ^ x n = pr2 x n; 248.39/165.08 ^ xw xx = pr0 xw xx; 248.39/165.08 " 248.39/165.08 "pr0 xw xx = error []; 248.39/165.08 " 248.39/165.08 "pr2 x n = pr1 x n (n > 0) where { 248.39/165.08 f xv vvu y = f4 xv vvu y; 248.39/165.08 f x n y = f0 x n y; 248.39/165.08 ; 248.39/165.08 f0 x n y = g x n where { 248.39/165.08 g x n = g2 x n; 248.39/165.08 ; 248.39/165.08 g0 x n True = f x (n - 1) (x * y); 248.39/165.08 ; 248.39/165.08 g1 x n True = g (x * x) (n `quot` 2); 248.39/165.08 g1 x n False = g0 x n otherwise; 248.39/165.08 ; 248.39/165.08 g2 x n = g1 x n (even n); 248.39/165.08 } 248.39/165.08 ; 248.39/165.08 ; 248.39/165.08 f3 True xv vvu y = y; 248.39/165.08 f3 vvv vvw vvx vvy = f0 vvw vvx vvy; 248.39/165.08 ; 248.39/165.08 f4 xv vvu y = f3 (vvu == 0) xv vvu y; 248.39/165.08 f4 vvz vwu vwv = f0 vvz vwu vwv; 248.39/165.08 ; 248.39/165.08 pr1 x n True = f x (n - 1) x; 248.39/165.08 pr1 x n False = pr0 x n; 248.39/165.08 } 248.39/165.08 ; 248.39/165.08 pr2 vww vwx = pr0 vww vwx; 248.39/165.08 " 248.39/165.08 "pr3 True x vwy = 1; 248.39/165.08 pr3 vwz vxu vxv = pr2 vxu vxv; 248.39/165.08 " 248.39/165.08 "pr4 x vwy = pr3 (vwy == 0) x vwy; 248.39/165.08 pr4 vxw vxx = pr2 vxw vxx; 248.39/165.08 " 248.39/165.08 The following Function with conditions 248.39/165.08 "reduce x y|y == 0error []|otherwisex `quot` d :% (y `quot` d) where { 248.39/165.08 d = gcd x y; 248.39/165.08 } 248.39/165.08 ; 248.39/165.08 " 248.39/165.08 is transformed to 248.39/165.08 "reduce x y = reduce2 x y; 248.39/165.08 " 248.39/165.08 "reduce2 x y = reduce1 x y (y == 0) where { 248.39/165.08 d = gcd x y; 248.39/165.08 ; 248.39/165.08 reduce0 x y True = x `quot` d :% (y `quot` d); 248.39/165.08 ; 248.39/165.08 reduce1 x y True = error []; 248.39/165.08 reduce1 x y False = reduce0 x y otherwise; 248.39/165.08 } 248.39/165.08 ; 248.39/165.08 " 248.39/165.08 248.39/165.08 ---------------------------------------- 248.39/165.08 248.39/165.08 (6) 248.39/165.08 Obligation: 248.39/165.08 mainModule Main 248.39/165.08 module Main where { 248.39/165.08 import qualified Prelude; 248.39/165.08 } 248.39/165.08 248.39/165.08 ---------------------------------------- 248.39/165.08 248.39/165.08 (7) LetRed (EQUIVALENT) 248.39/165.08 Let/Where Reductions: 248.39/165.08 The bindings of the following Let/Where expression 248.39/165.08 "gcd' (abs x) (abs y) where { 248.39/165.08 gcd' x yw = gcd'2 x yw; 248.39/165.08 gcd' x y = gcd'0 x y; 248.39/165.08 ; 248.39/165.08 gcd'0 x y = gcd' y (x `rem` y); 248.39/165.08 ; 248.39/165.08 gcd'1 True x yw = x; 248.39/165.08 gcd'1 yx yy yz = gcd'0 yy yz; 248.39/165.08 ; 248.39/165.08 gcd'2 x yw = gcd'1 (yw == 0) x yw; 248.39/165.08 gcd'2 zu zv = gcd'0 zu zv; 248.39/165.08 } 248.39/165.08 " 248.39/165.08 are unpacked to the following functions on top level 248.39/165.08 "gcd0Gcd' x yw = gcd0Gcd'2 x yw; 248.39/165.08 gcd0Gcd' x y = gcd0Gcd'0 x y; 248.39/165.08 " 248.39/165.08 "gcd0Gcd'1 True x yw = x; 248.39/165.08 gcd0Gcd'1 yx yy yz = gcd0Gcd'0 yy yz; 248.39/165.08 " 248.39/165.08 "gcd0Gcd'2 x yw = gcd0Gcd'1 (yw == 0) x yw; 248.39/165.08 gcd0Gcd'2 zu zv = gcd0Gcd'0 zu zv; 248.39/165.08 " 248.39/165.08 "gcd0Gcd'0 x y = gcd0Gcd' y (x `rem` y); 248.39/165.08 " 248.39/165.08 The bindings of the following Let/Where expression 248.39/165.08 "reduce1 x y (y == 0) where { 248.39/165.08 d = gcd x y; 248.39/165.08 ; 248.39/165.08 reduce0 x y True = x `quot` d :% (y `quot` d); 248.39/165.08 ; 248.39/165.08 reduce1 x y True = error []; 248.39/165.08 reduce1 x y False = reduce0 x y otherwise; 248.39/165.08 } 248.39/165.08 " 248.39/165.08 are unpacked to the following functions on top level 248.39/165.08 "reduce2D vxy vxz = gcd vxy vxz; 248.39/165.08 " 248.39/165.08 "reduce2Reduce0 vxy vxz x y True = x `quot` reduce2D vxy vxz :% (y `quot` reduce2D vxy vxz); 248.39/165.08 " 248.39/165.08 "reduce2Reduce1 vxy vxz x y True = error []; 248.39/165.08 reduce2Reduce1 vxy vxz x y False = reduce2Reduce0 vxy vxz x y otherwise; 248.39/165.08 " 248.39/165.08 The bindings of the following Let/Where expression 248.39/165.08 "pr1 x n (n > 0) where { 248.39/165.08 f xv vvu y = f4 xv vvu y; 248.39/165.08 f x n y = f0 x n y; 248.39/165.08 ; 248.39/165.08 f0 x n y = g x n where { 248.39/165.08 g x n = g2 x n; 248.39/165.08 ; 248.39/165.08 g0 x n True = f x (n - 1) (x * y); 248.39/165.08 ; 248.39/165.08 g1 x n True = g (x * x) (n `quot` 2); 248.39/165.08 g1 x n False = g0 x n otherwise; 248.39/165.08 ; 248.39/165.08 g2 x n = g1 x n (even n); 248.39/165.08 } 248.39/165.08 ; 248.39/165.08 ; 248.39/165.08 f3 True xv vvu y = y; 248.39/165.08 f3 vvv vvw vvx vvy = f0 vvw vvx vvy; 248.39/165.08 ; 248.39/165.08 f4 xv vvu y = f3 (vvu == 0) xv vvu y; 248.39/165.08 f4 vvz vwu vwv = f0 vvz vwu vwv; 248.39/165.08 ; 248.39/165.08 pr1 x n True = f x (n - 1) x; 248.39/165.08 pr1 x n False = pr0 x n; 248.39/165.08 } 248.39/165.08 " 248.39/165.08 are unpacked to the following functions on top level 248.39/165.08 "pr2F0 x n y = pr2F0G y x n; 248.39/165.08 " 248.39/165.08 "pr2F3 True xv vvu y = y; 248.39/165.08 pr2F3 vvv vvw vvx vvy = pr2F0 vvw vvx vvy; 248.39/165.08 " 248.39/165.08 "pr2F4 xv vvu y = pr2F3 (vvu == 0) xv vvu y; 248.39/165.08 pr2F4 vvz vwu vwv = pr2F0 vvz vwu vwv; 248.39/165.08 " 248.39/165.08 "pr2F xv vvu y = pr2F4 xv vvu y; 248.39/165.08 pr2F x n y = pr2F0 x n y; 248.39/165.08 " 248.39/165.08 "pr2Pr1 x n True = pr2F x (n - 1) x; 248.39/165.08 pr2Pr1 x n False = pr0 x n; 248.39/165.08 " 248.39/165.08 The bindings of the following Let/Where expression 248.39/165.08 "g x n where { 248.39/165.08 g x n = g2 x n; 248.39/165.08 ; 248.39/165.08 g0 x n True = f x (n - 1) (x * y); 248.39/165.08 ; 248.39/165.08 g1 x n True = g (x * x) (n `quot` 2); 248.39/165.08 g1 x n False = g0 x n otherwise; 248.39/165.08 ; 248.39/165.08 g2 x n = g1 x n (even n); 248.39/165.08 } 248.39/165.08 " 248.39/165.08 are unpacked to the following functions on top level 248.39/165.08 "pr2F0G1 vyu x n True = pr2F0G vyu (x * x) (n `quot` 2); 248.39/165.08 pr2F0G1 vyu x n False = pr2F0G0 vyu x n otherwise; 248.39/165.08 " 248.39/165.08 "pr2F0G0 vyu x n True = pr2F x (n - 1) (x * vyu); 248.39/165.08 " 248.39/165.08 "pr2F0G vyu x n = pr2F0G2 vyu x n; 248.39/165.08 " 248.39/165.08 "pr2F0G2 vyu x n = pr2F0G1 vyu x n (even n); 248.39/165.08 " 248.39/165.08 248.39/165.08 ---------------------------------------- 248.39/165.08 248.39/165.08 (8) 248.39/165.08 Obligation: 248.39/165.08 mainModule Main 248.39/165.08 module Main where { 248.39/165.08 import qualified Prelude; 248.39/165.08 } 248.39/165.08 248.39/165.08 ---------------------------------------- 248.39/165.08 248.39/165.08 (9) NumRed (SOUND) 248.39/165.08 Num Reduction:All numbers are transformed to their corresponding representation with Succ, Pred and Zero. 248.39/165.08 ---------------------------------------- 248.39/165.08 248.39/165.08 (10) 248.39/165.08 Obligation: 248.39/165.08 mainModule Main 248.39/165.08 module Main where { 248.39/165.08 import qualified Prelude; 248.39/165.08 } 248.39/165.08 248.39/165.08 ---------------------------------------- 248.39/165.08 248.39/165.08 (11) Narrow (SOUND) 248.39/165.08 Haskell To QDPs 248.39/165.08 248.39/165.08 digraph dp_graph { 248.39/165.08 node [outthreshold=100, inthreshold=100];1[label="(^)",fontsize=16,color="grey",shape="box"];1 -> 3[label="",style="dashed", color="grey", weight=3]; 248.39/165.08 3[label="(^) vyv3",fontsize=16,color="grey",shape="box"];3 -> 4[label="",style="dashed", color="grey", weight=3]; 248.39/165.09 4[label="(^) vyv3 vyv4",fontsize=16,color="black",shape="triangle"];4 -> 5[label="",style="solid", color="black", weight=3]; 248.39/165.09 5[label="pr4 vyv3 vyv4",fontsize=16,color="black",shape="box"];5 -> 6[label="",style="solid", color="black", weight=3]; 248.39/165.09 6[label="pr3 (vyv4 == fromInt (Pos Zero)) vyv3 vyv4",fontsize=16,color="black",shape="box"];6 -> 7[label="",style="solid", color="black", weight=3]; 248.39/165.09 7[label="pr3 (primEqInt vyv4 (fromInt (Pos Zero))) vyv3 vyv4",fontsize=16,color="burlywood",shape="box"];4392[label="vyv4/Pos vyv40",fontsize=10,color="white",style="solid",shape="box"];7 -> 4392[label="",style="solid", color="burlywood", weight=9]; 248.39/165.09 4392 -> 8[label="",style="solid", color="burlywood", weight=3]; 248.39/165.09 4393[label="vyv4/Neg vyv40",fontsize=10,color="white",style="solid",shape="box"];7 -> 4393[label="",style="solid", color="burlywood", weight=9]; 248.39/165.09 4393 -> 9[label="",style="solid", color="burlywood", weight=3]; 248.39/165.09 8[label="pr3 (primEqInt (Pos vyv40) (fromInt (Pos Zero))) vyv3 (Pos vyv40)",fontsize=16,color="burlywood",shape="box"];4394[label="vyv40/Succ vyv400",fontsize=10,color="white",style="solid",shape="box"];8 -> 4394[label="",style="solid", color="burlywood", weight=9]; 248.39/165.09 4394 -> 10[label="",style="solid", color="burlywood", weight=3]; 248.39/165.09 4395[label="vyv40/Zero",fontsize=10,color="white",style="solid",shape="box"];8 -> 4395[label="",style="solid", color="burlywood", weight=9]; 248.39/165.09 4395 -> 11[label="",style="solid", color="burlywood", weight=3]; 248.39/165.09 9[label="pr3 (primEqInt (Neg vyv40) (fromInt (Pos Zero))) vyv3 (Neg vyv40)",fontsize=16,color="burlywood",shape="box"];4396[label="vyv40/Succ vyv400",fontsize=10,color="white",style="solid",shape="box"];9 -> 4396[label="",style="solid", color="burlywood", weight=9]; 248.39/165.09 4396 -> 12[label="",style="solid", color="burlywood", weight=3]; 248.39/165.09 4397[label="vyv40/Zero",fontsize=10,color="white",style="solid",shape="box"];9 -> 4397[label="",style="solid", color="burlywood", weight=9]; 248.39/165.09 4397 -> 13[label="",style="solid", color="burlywood", weight=3]; 248.39/165.09 10[label="pr3 (primEqInt (Pos (Succ vyv400)) (fromInt (Pos Zero))) vyv3 (Pos (Succ vyv400))",fontsize=16,color="black",shape="box"];10 -> 14[label="",style="solid", color="black", weight=3]; 248.39/165.09 11[label="pr3 (primEqInt (Pos Zero) (fromInt (Pos Zero))) vyv3 (Pos Zero)",fontsize=16,color="black",shape="box"];11 -> 15[label="",style="solid", color="black", weight=3]; 248.39/165.09 12[label="pr3 (primEqInt (Neg (Succ vyv400)) (fromInt (Pos Zero))) vyv3 (Neg (Succ vyv400))",fontsize=16,color="black",shape="box"];12 -> 16[label="",style="solid", color="black", weight=3]; 248.39/165.09 13[label="pr3 (primEqInt (Neg Zero) (fromInt (Pos Zero))) vyv3 (Neg Zero)",fontsize=16,color="black",shape="box"];13 -> 17[label="",style="solid", color="black", weight=3]; 248.39/165.09 14[label="pr3 (primEqInt (Pos (Succ vyv400)) (Pos Zero)) vyv3 (Pos (Succ vyv400))",fontsize=16,color="black",shape="box"];14 -> 18[label="",style="solid", color="black", weight=3]; 248.39/165.09 15[label="pr3 (primEqInt (Pos Zero) (Pos Zero)) vyv3 (Pos Zero)",fontsize=16,color="black",shape="box"];15 -> 19[label="",style="solid", color="black", weight=3]; 248.39/165.09 16[label="pr3 (primEqInt (Neg (Succ vyv400)) (Pos Zero)) vyv3 (Neg (Succ vyv400))",fontsize=16,color="black",shape="box"];16 -> 20[label="",style="solid", color="black", weight=3]; 248.39/165.09 17[label="pr3 (primEqInt (Neg Zero) (Pos Zero)) vyv3 (Neg Zero)",fontsize=16,color="black",shape="box"];17 -> 21[label="",style="solid", color="black", weight=3]; 248.39/165.09 18[label="pr3 False vyv3 (Pos (Succ vyv400))",fontsize=16,color="black",shape="box"];18 -> 22[label="",style="solid", color="black", weight=3]; 248.39/165.09 19[label="pr3 True vyv3 (Pos Zero)",fontsize=16,color="black",shape="box"];19 -> 23[label="",style="solid", color="black", weight=3]; 248.39/165.09 20[label="pr3 False vyv3 (Neg (Succ vyv400))",fontsize=16,color="black",shape="box"];20 -> 24[label="",style="solid", color="black", weight=3]; 248.39/165.09 21[label="pr3 True vyv3 (Neg Zero)",fontsize=16,color="black",shape="box"];21 -> 25[label="",style="solid", color="black", weight=3]; 248.39/165.09 22[label="pr2 vyv3 (Pos (Succ vyv400))",fontsize=16,color="black",shape="box"];22 -> 26[label="",style="solid", color="black", weight=3]; 248.39/165.09 23[label="fromInt (Pos (Succ Zero))",fontsize=16,color="black",shape="triangle"];23 -> 27[label="",style="solid", color="black", weight=3]; 248.39/165.09 24[label="pr2 vyv3 (Neg (Succ vyv400))",fontsize=16,color="black",shape="box"];24 -> 28[label="",style="solid", color="black", weight=3]; 248.39/165.09 25 -> 23[label="",style="dashed", color="red", weight=0]; 248.39/165.09 25[label="fromInt (Pos (Succ Zero))",fontsize=16,color="magenta"];26[label="pr2Pr1 vyv3 (Pos (Succ vyv400)) (Pos (Succ vyv400) > fromInt (Pos Zero))",fontsize=16,color="black",shape="box"];26 -> 29[label="",style="solid", color="black", weight=3]; 248.39/165.09 27[label="intToRatio (Pos (Succ Zero))",fontsize=16,color="black",shape="box"];27 -> 30[label="",style="solid", color="black", weight=3]; 248.39/165.09 28[label="pr2Pr1 vyv3 (Neg (Succ vyv400)) (Neg (Succ vyv400) > fromInt (Pos Zero))",fontsize=16,color="black",shape="box"];28 -> 31[label="",style="solid", color="black", weight=3]; 248.39/165.09 29[label="pr2Pr1 vyv3 (Pos (Succ vyv400)) (compare (Pos (Succ vyv400)) (fromInt (Pos Zero)) == GT)",fontsize=16,color="black",shape="box"];29 -> 32[label="",style="solid", color="black", weight=3]; 248.39/165.09 30[label="fromInt (Pos (Succ Zero)) :% fromInt (Pos (Succ Zero))",fontsize=16,color="green",shape="box"];30 -> 33[label="",style="dashed", color="green", weight=3]; 248.39/165.09 30 -> 34[label="",style="dashed", color="green", weight=3]; 248.39/165.09 31[label="pr2Pr1 vyv3 (Neg (Succ vyv400)) (compare (Neg (Succ vyv400)) (fromInt (Pos Zero)) == GT)",fontsize=16,color="black",shape="box"];31 -> 35[label="",style="solid", color="black", weight=3]; 248.39/165.09 32[label="pr2Pr1 vyv3 (Pos (Succ vyv400)) (primCmpInt (Pos (Succ vyv400)) (fromInt (Pos Zero)) == GT)",fontsize=16,color="black",shape="box"];32 -> 36[label="",style="solid", color="black", weight=3]; 248.39/165.09 33[label="fromInt (Pos (Succ Zero))",fontsize=16,color="black",shape="triangle"];33 -> 37[label="",style="solid", color="black", weight=3]; 248.39/165.09 34 -> 33[label="",style="dashed", color="red", weight=0]; 248.39/165.09 34[label="fromInt (Pos (Succ Zero))",fontsize=16,color="magenta"];35[label="pr2Pr1 vyv3 (Neg (Succ vyv400)) (primCmpInt (Neg (Succ vyv400)) (fromInt (Pos Zero)) == GT)",fontsize=16,color="black",shape="box"];35 -> 38[label="",style="solid", color="black", weight=3]; 248.39/165.09 36[label="pr2Pr1 vyv3 (Pos (Succ vyv400)) (primCmpInt (Pos (Succ vyv400)) (Pos Zero) == GT)",fontsize=16,color="black",shape="box"];36 -> 39[label="",style="solid", color="black", weight=3]; 248.39/165.09 37[label="Pos (Succ Zero)",fontsize=16,color="green",shape="box"];38[label="pr2Pr1 vyv3 (Neg (Succ vyv400)) (primCmpInt (Neg (Succ vyv400)) (Pos Zero) == GT)",fontsize=16,color="black",shape="box"];38 -> 40[label="",style="solid", color="black", weight=3]; 248.39/165.09 39[label="pr2Pr1 vyv3 (Pos (Succ vyv400)) (primCmpNat (Succ vyv400) Zero == GT)",fontsize=16,color="black",shape="box"];39 -> 41[label="",style="solid", color="black", weight=3]; 248.39/165.09 40[label="pr2Pr1 vyv3 (Neg (Succ vyv400)) (LT == GT)",fontsize=16,color="black",shape="box"];40 -> 42[label="",style="solid", color="black", weight=3]; 248.39/165.09 41[label="pr2Pr1 vyv3 (Pos (Succ vyv400)) (GT == GT)",fontsize=16,color="black",shape="box"];41 -> 43[label="",style="solid", color="black", weight=3]; 248.39/165.09 42[label="pr2Pr1 vyv3 (Neg (Succ vyv400)) False",fontsize=16,color="black",shape="box"];42 -> 44[label="",style="solid", color="black", weight=3]; 248.39/165.09 43[label="pr2Pr1 vyv3 (Pos (Succ vyv400)) True",fontsize=16,color="black",shape="box"];43 -> 45[label="",style="solid", color="black", weight=3]; 248.39/165.09 44[label="pr0 vyv3 (Neg (Succ vyv400))",fontsize=16,color="black",shape="box"];44 -> 46[label="",style="solid", color="black", weight=3]; 248.39/165.09 45 -> 47[label="",style="dashed", color="red", weight=0]; 248.39/165.09 45[label="pr2F vyv3 (Pos (Succ vyv400) - fromInt (Pos (Succ Zero))) vyv3",fontsize=16,color="magenta"];45 -> 48[label="",style="dashed", color="magenta", weight=3]; 248.39/165.09 46[label="error []",fontsize=16,color="black",shape="box"];46 -> 49[label="",style="solid", color="black", weight=3]; 248.39/165.09 48 -> 33[label="",style="dashed", color="red", weight=0]; 248.39/165.09 48[label="fromInt (Pos (Succ Zero))",fontsize=16,color="magenta"];47[label="pr2F vyv3 (Pos (Succ vyv400) - vyv5) vyv3",fontsize=16,color="black",shape="triangle"];47 -> 50[label="",style="solid", color="black", weight=3]; 248.39/165.09 49[label="error []",fontsize=16,color="red",shape="box"];50[label="pr2F4 vyv3 (Pos (Succ vyv400) - vyv5) vyv3",fontsize=16,color="black",shape="box"];50 -> 51[label="",style="solid", color="black", weight=3]; 248.39/165.09 51[label="pr2F3 (Pos (Succ vyv400) - vyv5 == fromInt (Pos Zero)) vyv3 (Pos (Succ vyv400) - vyv5) vyv3",fontsize=16,color="black",shape="box"];51 -> 52[label="",style="solid", color="black", weight=3]; 248.39/165.09 52[label="pr2F3 (primEqInt (Pos (Succ vyv400) - vyv5) (fromInt (Pos Zero))) vyv3 (Pos (Succ vyv400) - vyv5) vyv3",fontsize=16,color="black",shape="box"];52 -> 53[label="",style="solid", color="black", weight=3]; 248.39/165.09 53[label="pr2F3 (primEqInt (primMinusInt (Pos (Succ vyv400)) vyv5) (fromInt (Pos Zero))) vyv3 (primMinusInt (Pos (Succ vyv400)) vyv5) vyv3",fontsize=16,color="burlywood",shape="box"];4398[label="vyv5/Pos vyv50",fontsize=10,color="white",style="solid",shape="box"];53 -> 4398[label="",style="solid", color="burlywood", weight=9]; 248.39/165.09 4398 -> 54[label="",style="solid", color="burlywood", weight=3]; 248.39/165.09 4399[label="vyv5/Neg vyv50",fontsize=10,color="white",style="solid",shape="box"];53 -> 4399[label="",style="solid", color="burlywood", weight=9]; 248.39/165.09 4399 -> 55[label="",style="solid", color="burlywood", weight=3]; 248.39/165.09 54[label="pr2F3 (primEqInt (primMinusInt (Pos (Succ vyv400)) (Pos vyv50)) (fromInt (Pos Zero))) vyv3 (primMinusInt (Pos (Succ vyv400)) (Pos vyv50)) vyv3",fontsize=16,color="black",shape="box"];54 -> 56[label="",style="solid", color="black", weight=3]; 248.39/165.09 55[label="pr2F3 (primEqInt (primMinusInt (Pos (Succ vyv400)) (Neg vyv50)) (fromInt (Pos Zero))) vyv3 (primMinusInt (Pos (Succ vyv400)) (Neg vyv50)) vyv3",fontsize=16,color="black",shape="box"];55 -> 57[label="",style="solid", color="black", weight=3]; 248.39/165.09 56[label="pr2F3 (primEqInt (primMinusNat (Succ vyv400) vyv50) (fromInt (Pos Zero))) vyv3 (primMinusNat (Succ vyv400) vyv50) vyv3",fontsize=16,color="burlywood",shape="box"];4400[label="vyv50/Succ vyv500",fontsize=10,color="white",style="solid",shape="box"];56 -> 4400[label="",style="solid", color="burlywood", weight=9]; 248.39/165.09 4400 -> 58[label="",style="solid", color="burlywood", weight=3]; 248.39/165.09 4401[label="vyv50/Zero",fontsize=10,color="white",style="solid",shape="box"];56 -> 4401[label="",style="solid", color="burlywood", weight=9]; 248.39/165.09 4401 -> 59[label="",style="solid", color="burlywood", weight=3]; 248.39/165.09 57[label="pr2F3 (primEqInt (Pos (primPlusNat (Succ vyv400) vyv50)) (fromInt (Pos Zero))) vyv3 (Pos (primPlusNat (Succ vyv400) vyv50)) vyv3",fontsize=16,color="burlywood",shape="box"];4402[label="vyv50/Succ vyv500",fontsize=10,color="white",style="solid",shape="box"];57 -> 4402[label="",style="solid", color="burlywood", weight=9]; 248.39/165.09 4402 -> 60[label="",style="solid", color="burlywood", weight=3]; 248.39/165.09 4403[label="vyv50/Zero",fontsize=10,color="white",style="solid",shape="box"];57 -> 4403[label="",style="solid", color="burlywood", weight=9]; 248.39/165.09 4403 -> 61[label="",style="solid", color="burlywood", weight=3]; 248.39/165.09 58[label="pr2F3 (primEqInt (primMinusNat (Succ vyv400) (Succ vyv500)) (fromInt (Pos Zero))) vyv3 (primMinusNat (Succ vyv400) (Succ vyv500)) vyv3",fontsize=16,color="black",shape="box"];58 -> 62[label="",style="solid", color="black", weight=3]; 248.39/165.09 59[label="pr2F3 (primEqInt (primMinusNat (Succ vyv400) Zero) (fromInt (Pos Zero))) vyv3 (primMinusNat (Succ vyv400) Zero) vyv3",fontsize=16,color="black",shape="box"];59 -> 63[label="",style="solid", color="black", weight=3]; 248.39/165.09 60[label="pr2F3 (primEqInt (Pos (primPlusNat (Succ vyv400) (Succ vyv500))) (fromInt (Pos Zero))) vyv3 (Pos (primPlusNat (Succ vyv400) (Succ vyv500))) vyv3",fontsize=16,color="black",shape="box"];60 -> 64[label="",style="solid", color="black", weight=3]; 248.39/165.09 61[label="pr2F3 (primEqInt (Pos (primPlusNat (Succ vyv400) Zero)) (fromInt (Pos Zero))) vyv3 (Pos (primPlusNat (Succ vyv400) Zero)) vyv3",fontsize=16,color="black",shape="box"];61 -> 65[label="",style="solid", color="black", weight=3]; 248.39/165.09 62[label="pr2F3 (primEqInt (primMinusNat vyv400 vyv500) (fromInt (Pos Zero))) vyv3 (primMinusNat vyv400 vyv500) vyv3",fontsize=16,color="burlywood",shape="triangle"];4404[label="vyv400/Succ vyv4000",fontsize=10,color="white",style="solid",shape="box"];62 -> 4404[label="",style="solid", color="burlywood", weight=9]; 248.39/165.09 4404 -> 66[label="",style="solid", color="burlywood", weight=3]; 248.39/165.09 4405[label="vyv400/Zero",fontsize=10,color="white",style="solid",shape="box"];62 -> 4405[label="",style="solid", color="burlywood", weight=9]; 248.39/165.09 4405 -> 67[label="",style="solid", color="burlywood", weight=3]; 248.39/165.09 63[label="pr2F3 (primEqInt (Pos (Succ vyv400)) (fromInt (Pos Zero))) vyv3 (Pos (Succ vyv400)) vyv3",fontsize=16,color="black",shape="triangle"];63 -> 68[label="",style="solid", color="black", weight=3]; 248.39/165.09 64 -> 63[label="",style="dashed", color="red", weight=0]; 248.39/165.09 64[label="pr2F3 (primEqInt (Pos (Succ (Succ (primPlusNat vyv400 vyv500)))) (fromInt (Pos Zero))) vyv3 (Pos (Succ (Succ (primPlusNat vyv400 vyv500)))) vyv3",fontsize=16,color="magenta"];64 -> 69[label="",style="dashed", color="magenta", weight=3]; 248.39/165.09 65 -> 63[label="",style="dashed", color="red", weight=0]; 248.39/165.09 65[label="pr2F3 (primEqInt (Pos (Succ vyv400)) (fromInt (Pos Zero))) vyv3 (Pos (Succ vyv400)) vyv3",fontsize=16,color="magenta"];66[label="pr2F3 (primEqInt (primMinusNat (Succ vyv4000) vyv500) (fromInt (Pos Zero))) vyv3 (primMinusNat (Succ vyv4000) vyv500) vyv3",fontsize=16,color="burlywood",shape="box"];4406[label="vyv500/Succ vyv5000",fontsize=10,color="white",style="solid",shape="box"];66 -> 4406[label="",style="solid", color="burlywood", weight=9]; 248.39/165.09 4406 -> 70[label="",style="solid", color="burlywood", weight=3]; 248.39/165.09 4407[label="vyv500/Zero",fontsize=10,color="white",style="solid",shape="box"];66 -> 4407[label="",style="solid", color="burlywood", weight=9]; 248.39/165.09 4407 -> 71[label="",style="solid", color="burlywood", weight=3]; 248.39/165.09 67[label="pr2F3 (primEqInt (primMinusNat Zero vyv500) (fromInt (Pos Zero))) vyv3 (primMinusNat Zero vyv500) vyv3",fontsize=16,color="burlywood",shape="box"];4408[label="vyv500/Succ vyv5000",fontsize=10,color="white",style="solid",shape="box"];67 -> 4408[label="",style="solid", color="burlywood", weight=9]; 248.39/165.09 4408 -> 72[label="",style="solid", color="burlywood", weight=3]; 248.39/165.09 4409[label="vyv500/Zero",fontsize=10,color="white",style="solid",shape="box"];67 -> 4409[label="",style="solid", color="burlywood", weight=9]; 248.39/165.09 4409 -> 73[label="",style="solid", color="burlywood", weight=3]; 248.39/165.09 68[label="pr2F3 (primEqInt (Pos (Succ vyv400)) (Pos Zero)) vyv3 (Pos (Succ vyv400)) vyv3",fontsize=16,color="black",shape="box"];68 -> 74[label="",style="solid", color="black", weight=3]; 248.39/165.09 69[label="Succ (primPlusNat vyv400 vyv500)",fontsize=16,color="green",shape="box"];69 -> 75[label="",style="dashed", color="green", weight=3]; 248.39/165.09 70[label="pr2F3 (primEqInt (primMinusNat (Succ vyv4000) (Succ vyv5000)) (fromInt (Pos Zero))) vyv3 (primMinusNat (Succ vyv4000) (Succ vyv5000)) vyv3",fontsize=16,color="black",shape="box"];70 -> 76[label="",style="solid", color="black", weight=3]; 248.39/165.09 71[label="pr2F3 (primEqInt (primMinusNat (Succ vyv4000) Zero) (fromInt (Pos Zero))) vyv3 (primMinusNat (Succ vyv4000) Zero) vyv3",fontsize=16,color="black",shape="box"];71 -> 77[label="",style="solid", color="black", weight=3]; 248.39/165.09 72[label="pr2F3 (primEqInt (primMinusNat Zero (Succ vyv5000)) (fromInt (Pos Zero))) vyv3 (primMinusNat Zero (Succ vyv5000)) vyv3",fontsize=16,color="black",shape="box"];72 -> 78[label="",style="solid", color="black", weight=3]; 248.39/165.09 73[label="pr2F3 (primEqInt (primMinusNat Zero Zero) (fromInt (Pos Zero))) vyv3 (primMinusNat Zero Zero) vyv3",fontsize=16,color="black",shape="box"];73 -> 79[label="",style="solid", color="black", weight=3]; 248.39/165.09 74[label="pr2F3 False vyv3 (Pos (Succ vyv400)) vyv3",fontsize=16,color="black",shape="box"];74 -> 80[label="",style="solid", color="black", weight=3]; 248.39/165.09 75[label="primPlusNat vyv400 vyv500",fontsize=16,color="burlywood",shape="triangle"];4410[label="vyv400/Succ vyv4000",fontsize=10,color="white",style="solid",shape="box"];75 -> 4410[label="",style="solid", color="burlywood", weight=9]; 248.39/165.09 4410 -> 81[label="",style="solid", color="burlywood", weight=3]; 248.39/165.09 4411[label="vyv400/Zero",fontsize=10,color="white",style="solid",shape="box"];75 -> 4411[label="",style="solid", color="burlywood", weight=9]; 248.39/165.09 4411 -> 82[label="",style="solid", color="burlywood", weight=3]; 248.39/165.09 76 -> 62[label="",style="dashed", color="red", weight=0]; 248.39/165.09 76[label="pr2F3 (primEqInt (primMinusNat vyv4000 vyv5000) (fromInt (Pos Zero))) vyv3 (primMinusNat vyv4000 vyv5000) vyv3",fontsize=16,color="magenta"];76 -> 83[label="",style="dashed", color="magenta", weight=3]; 248.39/165.09 76 -> 84[label="",style="dashed", color="magenta", weight=3]; 248.39/165.09 77 -> 63[label="",style="dashed", color="red", weight=0]; 248.39/165.09 77[label="pr2F3 (primEqInt (Pos (Succ vyv4000)) (fromInt (Pos Zero))) vyv3 (Pos (Succ vyv4000)) vyv3",fontsize=16,color="magenta"];77 -> 85[label="",style="dashed", color="magenta", weight=3]; 248.39/165.09 78[label="pr2F3 (primEqInt (Neg (Succ vyv5000)) (fromInt (Pos Zero))) vyv3 (Neg (Succ vyv5000)) vyv3",fontsize=16,color="black",shape="box"];78 -> 86[label="",style="solid", color="black", weight=3]; 248.39/165.09 79[label="pr2F3 (primEqInt (Pos Zero) (fromInt (Pos Zero))) vyv3 (Pos Zero) vyv3",fontsize=16,color="black",shape="box"];79 -> 87[label="",style="solid", color="black", weight=3]; 248.39/165.09 80 -> 2999[label="",style="dashed", color="red", weight=0]; 248.39/165.09 80[label="pr2F0 vyv3 (Pos (Succ vyv400)) vyv3",fontsize=16,color="magenta"];80 -> 3000[label="",style="dashed", color="magenta", weight=3]; 248.39/165.09 80 -> 3001[label="",style="dashed", color="magenta", weight=3]; 248.39/165.09 80 -> 3002[label="",style="dashed", color="magenta", weight=3]; 248.39/165.09 81[label="primPlusNat (Succ vyv4000) vyv500",fontsize=16,color="burlywood",shape="box"];4412[label="vyv500/Succ vyv5000",fontsize=10,color="white",style="solid",shape="box"];81 -> 4412[label="",style="solid", color="burlywood", weight=9]; 248.39/165.09 4412 -> 89[label="",style="solid", color="burlywood", weight=3]; 248.39/165.09 4413[label="vyv500/Zero",fontsize=10,color="white",style="solid",shape="box"];81 -> 4413[label="",style="solid", color="burlywood", weight=9]; 248.39/165.09 4413 -> 90[label="",style="solid", color="burlywood", weight=3]; 248.39/165.09 82[label="primPlusNat Zero vyv500",fontsize=16,color="burlywood",shape="box"];4414[label="vyv500/Succ vyv5000",fontsize=10,color="white",style="solid",shape="box"];82 -> 4414[label="",style="solid", color="burlywood", weight=9]; 248.39/165.09 4414 -> 91[label="",style="solid", color="burlywood", weight=3]; 248.39/165.09 4415[label="vyv500/Zero",fontsize=10,color="white",style="solid",shape="box"];82 -> 4415[label="",style="solid", color="burlywood", weight=9]; 248.39/165.09 4415 -> 92[label="",style="solid", color="burlywood", weight=3]; 248.39/165.09 83[label="vyv5000",fontsize=16,color="green",shape="box"];84[label="vyv4000",fontsize=16,color="green",shape="box"];85[label="vyv4000",fontsize=16,color="green",shape="box"];86[label="pr2F3 (primEqInt (Neg (Succ vyv5000)) (Pos Zero)) vyv3 (Neg (Succ vyv5000)) vyv3",fontsize=16,color="black",shape="box"];86 -> 93[label="",style="solid", color="black", weight=3]; 248.39/165.09 87[label="pr2F3 (primEqInt (Pos Zero) (Pos Zero)) vyv3 (Pos Zero) vyv3",fontsize=16,color="black",shape="box"];87 -> 94[label="",style="solid", color="black", weight=3]; 248.39/165.09 3000[label="vyv3",fontsize=16,color="green",shape="box"];3001[label="Pos (Succ vyv400)",fontsize=16,color="green",shape="box"];3002[label="vyv3",fontsize=16,color="green",shape="box"];2999[label="pr2F0 vyv183 vyv222 vyv187",fontsize=16,color="black",shape="triangle"];2999 -> 3016[label="",style="solid", color="black", weight=3]; 248.39/165.09 89[label="primPlusNat (Succ vyv4000) (Succ vyv5000)",fontsize=16,color="black",shape="box"];89 -> 96[label="",style="solid", color="black", weight=3]; 248.39/165.09 90[label="primPlusNat (Succ vyv4000) Zero",fontsize=16,color="black",shape="box"];90 -> 97[label="",style="solid", color="black", weight=3]; 248.39/165.09 91[label="primPlusNat Zero (Succ vyv5000)",fontsize=16,color="black",shape="box"];91 -> 98[label="",style="solid", color="black", weight=3]; 248.39/165.09 92[label="primPlusNat Zero Zero",fontsize=16,color="black",shape="box"];92 -> 99[label="",style="solid", color="black", weight=3]; 248.39/165.09 93[label="pr2F3 False vyv3 (Neg (Succ vyv5000)) vyv3",fontsize=16,color="black",shape="box"];93 -> 100[label="",style="solid", color="black", weight=3]; 248.39/165.09 94[label="pr2F3 True vyv3 (Pos Zero) vyv3",fontsize=16,color="black",shape="box"];94 -> 101[label="",style="solid", color="black", weight=3]; 248.39/165.09 3016[label="pr2F0G vyv187 vyv183 vyv222",fontsize=16,color="black",shape="triangle"];3016 -> 3017[label="",style="solid", color="black", weight=3]; 248.39/165.09 96[label="Succ (Succ (primPlusNat vyv4000 vyv5000))",fontsize=16,color="green",shape="box"];96 -> 103[label="",style="dashed", color="green", weight=3]; 248.39/165.09 97[label="Succ vyv4000",fontsize=16,color="green",shape="box"];98[label="Succ vyv5000",fontsize=16,color="green",shape="box"];99[label="Zero",fontsize=16,color="green",shape="box"];100 -> 2999[label="",style="dashed", color="red", weight=0]; 248.39/165.09 100[label="pr2F0 vyv3 (Neg (Succ vyv5000)) vyv3",fontsize=16,color="magenta"];100 -> 3003[label="",style="dashed", color="magenta", weight=3]; 248.39/165.09 100 -> 3004[label="",style="dashed", color="magenta", weight=3]; 248.39/165.09 100 -> 3005[label="",style="dashed", color="magenta", weight=3]; 248.39/165.09 101[label="vyv3",fontsize=16,color="green",shape="box"];3017[label="pr2F0G2 vyv187 vyv183 vyv222",fontsize=16,color="black",shape="box"];3017 -> 3018[label="",style="solid", color="black", weight=3]; 248.39/165.09 103 -> 75[label="",style="dashed", color="red", weight=0]; 248.39/165.09 103[label="primPlusNat vyv4000 vyv5000",fontsize=16,color="magenta"];103 -> 106[label="",style="dashed", color="magenta", weight=3]; 248.39/165.09 103 -> 107[label="",style="dashed", color="magenta", weight=3]; 248.39/165.09 3003[label="vyv3",fontsize=16,color="green",shape="box"];3004[label="Neg (Succ vyv5000)",fontsize=16,color="green",shape="box"];3005[label="vyv3",fontsize=16,color="green",shape="box"];3018[label="pr2F0G1 vyv187 vyv183 vyv222 (even vyv222)",fontsize=16,color="black",shape="box"];3018 -> 3019[label="",style="solid", color="black", weight=3]; 248.39/165.09 106[label="vyv5000",fontsize=16,color="green",shape="box"];107[label="vyv4000",fontsize=16,color="green",shape="box"];3019[label="pr2F0G1 vyv187 vyv183 vyv222 (primEvenInt vyv222)",fontsize=16,color="burlywood",shape="box"];4416[label="vyv222/Pos vyv2220",fontsize=10,color="white",style="solid",shape="box"];3019 -> 4416[label="",style="solid", color="burlywood", weight=9]; 248.39/165.09 4416 -> 3020[label="",style="solid", color="burlywood", weight=3]; 248.39/165.09 4417[label="vyv222/Neg vyv2220",fontsize=10,color="white",style="solid",shape="box"];3019 -> 4417[label="",style="solid", color="burlywood", weight=9]; 248.39/165.09 4417 -> 3021[label="",style="solid", color="burlywood", weight=3]; 248.39/165.09 3020[label="pr2F0G1 vyv187 vyv183 (Pos vyv2220) (primEvenInt (Pos vyv2220))",fontsize=16,color="black",shape="box"];3020 -> 3022[label="",style="solid", color="black", weight=3]; 248.39/165.09 3021[label="pr2F0G1 vyv187 vyv183 (Neg vyv2220) (primEvenInt (Neg vyv2220))",fontsize=16,color="black",shape="box"];3021 -> 3023[label="",style="solid", color="black", weight=3]; 248.39/165.09 3022[label="pr2F0G1 vyv187 vyv183 (Pos vyv2220) (primEvenNat vyv2220)",fontsize=16,color="burlywood",shape="box"];4418[label="vyv2220/Succ vyv22200",fontsize=10,color="white",style="solid",shape="box"];3022 -> 4418[label="",style="solid", color="burlywood", weight=9]; 248.39/165.09 4418 -> 3024[label="",style="solid", color="burlywood", weight=3]; 248.39/165.09 4419[label="vyv2220/Zero",fontsize=10,color="white",style="solid",shape="box"];3022 -> 4419[label="",style="solid", color="burlywood", weight=9]; 248.39/165.09 4419 -> 3025[label="",style="solid", color="burlywood", weight=3]; 248.39/165.09 3023[label="pr2F0G1 vyv187 vyv183 (Neg vyv2220) (primEvenNat vyv2220)",fontsize=16,color="burlywood",shape="box"];4420[label="vyv2220/Succ vyv22200",fontsize=10,color="white",style="solid",shape="box"];3023 -> 4420[label="",style="solid", color="burlywood", weight=9]; 248.39/165.09 4420 -> 3026[label="",style="solid", color="burlywood", weight=3]; 248.39/165.09 4421[label="vyv2220/Zero",fontsize=10,color="white",style="solid",shape="box"];3023 -> 4421[label="",style="solid", color="burlywood", weight=9]; 248.39/165.09 4421 -> 3027[label="",style="solid", color="burlywood", weight=3]; 248.39/165.09 3024[label="pr2F0G1 vyv187 vyv183 (Pos (Succ vyv22200)) (primEvenNat (Succ vyv22200))",fontsize=16,color="burlywood",shape="box"];4422[label="vyv22200/Succ vyv222000",fontsize=10,color="white",style="solid",shape="box"];3024 -> 4422[label="",style="solid", color="burlywood", weight=9]; 248.39/165.09 4422 -> 3028[label="",style="solid", color="burlywood", weight=3]; 248.39/165.09 4423[label="vyv22200/Zero",fontsize=10,color="white",style="solid",shape="box"];3024 -> 4423[label="",style="solid", color="burlywood", weight=9]; 248.39/165.09 4423 -> 3029[label="",style="solid", color="burlywood", weight=3]; 248.39/165.09 3025[label="pr2F0G1 vyv187 vyv183 (Pos Zero) (primEvenNat Zero)",fontsize=16,color="black",shape="box"];3025 -> 3030[label="",style="solid", color="black", weight=3]; 248.39/165.09 3026[label="pr2F0G1 vyv187 vyv183 (Neg (Succ vyv22200)) (primEvenNat (Succ vyv22200))",fontsize=16,color="burlywood",shape="box"];4424[label="vyv22200/Succ vyv222000",fontsize=10,color="white",style="solid",shape="box"];3026 -> 4424[label="",style="solid", color="burlywood", weight=9]; 248.39/165.09 4424 -> 3031[label="",style="solid", color="burlywood", weight=3]; 248.39/165.09 4425[label="vyv22200/Zero",fontsize=10,color="white",style="solid",shape="box"];3026 -> 4425[label="",style="solid", color="burlywood", weight=9]; 248.39/165.09 4425 -> 3032[label="",style="solid", color="burlywood", weight=3]; 248.39/165.09 3027[label="pr2F0G1 vyv187 vyv183 (Neg Zero) (primEvenNat Zero)",fontsize=16,color="black",shape="box"];3027 -> 3033[label="",style="solid", color="black", weight=3]; 248.39/165.09 3028[label="pr2F0G1 vyv187 vyv183 (Pos (Succ (Succ vyv222000))) (primEvenNat (Succ (Succ vyv222000)))",fontsize=16,color="black",shape="box"];3028 -> 3034[label="",style="solid", color="black", weight=3]; 248.39/165.09 3029[label="pr2F0G1 vyv187 vyv183 (Pos (Succ Zero)) (primEvenNat (Succ Zero))",fontsize=16,color="black",shape="box"];3029 -> 3035[label="",style="solid", color="black", weight=3]; 248.39/165.09 3030[label="pr2F0G1 vyv187 vyv183 (Pos Zero) True",fontsize=16,color="black",shape="box"];3030 -> 3036[label="",style="solid", color="black", weight=3]; 248.39/165.09 3031[label="pr2F0G1 vyv187 vyv183 (Neg (Succ (Succ vyv222000))) (primEvenNat (Succ (Succ vyv222000)))",fontsize=16,color="black",shape="box"];3031 -> 3037[label="",style="solid", color="black", weight=3]; 248.39/165.09 3032[label="pr2F0G1 vyv187 vyv183 (Neg (Succ Zero)) (primEvenNat (Succ Zero))",fontsize=16,color="black",shape="box"];3032 -> 3038[label="",style="solid", color="black", weight=3]; 248.39/165.09 3033[label="pr2F0G1 vyv187 vyv183 (Neg Zero) True",fontsize=16,color="black",shape="box"];3033 -> 3039[label="",style="solid", color="black", weight=3]; 248.39/165.09 3034 -> 3147[label="",style="dashed", color="red", weight=0]; 248.39/165.09 3034[label="pr2F0G1 vyv187 vyv183 (Pos (Succ (Succ vyv222000))) (primEvenNat vyv222000)",fontsize=16,color="magenta"];3034 -> 3148[label="",style="dashed", color="magenta", weight=3]; 248.39/165.09 3034 -> 3149[label="",style="dashed", color="magenta", weight=3]; 248.39/165.09 3034 -> 3150[label="",style="dashed", color="magenta", weight=3]; 248.39/165.09 3034 -> 3151[label="",style="dashed", color="magenta", weight=3]; 248.39/165.09 3035[label="pr2F0G1 vyv187 vyv183 (Pos (Succ Zero)) False",fontsize=16,color="black",shape="box"];3035 -> 3042[label="",style="solid", color="black", weight=3]; 248.39/165.09 3036 -> 3016[label="",style="dashed", color="red", weight=0]; 248.39/165.09 3036[label="pr2F0G vyv187 (vyv183 * vyv183) (Pos Zero `quot` fromInt (Pos (Succ (Succ Zero))))",fontsize=16,color="magenta"];3036 -> 3043[label="",style="dashed", color="magenta", weight=3]; 248.39/165.09 3036 -> 3044[label="",style="dashed", color="magenta", weight=3]; 248.39/165.09 3037 -> 3379[label="",style="dashed", color="red", weight=0]; 248.39/165.09 3037[label="pr2F0G1 vyv187 vyv183 (Neg (Succ (Succ vyv222000))) (primEvenNat vyv222000)",fontsize=16,color="magenta"];3037 -> 3380[label="",style="dashed", color="magenta", weight=3]; 248.39/165.09 3037 -> 3381[label="",style="dashed", color="magenta", weight=3]; 248.39/165.09 3037 -> 3382[label="",style="dashed", color="magenta", weight=3]; 248.39/165.09 3037 -> 3383[label="",style="dashed", color="magenta", weight=3]; 248.39/165.09 3038 -> 3175[label="",style="dashed", color="red", weight=0]; 248.39/165.09 3038[label="pr2F0G1 vyv187 vyv183 (Neg (Succ Zero)) False",fontsize=16,color="magenta"];3038 -> 3176[label="",style="dashed", color="magenta", weight=3]; 248.39/165.09 3038 -> 3177[label="",style="dashed", color="magenta", weight=3]; 248.39/165.09 3038 -> 3178[label="",style="dashed", color="magenta", weight=3]; 248.39/165.09 3039 -> 3016[label="",style="dashed", color="red", weight=0]; 248.39/165.09 3039[label="pr2F0G vyv187 (vyv183 * vyv183) (Neg Zero `quot` fromInt (Pos (Succ (Succ Zero))))",fontsize=16,color="magenta"];3039 -> 3048[label="",style="dashed", color="magenta", weight=3]; 248.39/165.09 3039 -> 3049[label="",style="dashed", color="magenta", weight=3]; 248.39/165.09 3148[label="vyv222000",fontsize=16,color="green",shape="box"];3149[label="vyv183",fontsize=16,color="green",shape="box"];3150[label="vyv187",fontsize=16,color="green",shape="box"];3151[label="Succ vyv222000",fontsize=16,color="green",shape="box"];3147[label="pr2F0G1 vyv226 vyv227 (Pos (Succ vyv228)) (primEvenNat vyv229)",fontsize=16,color="burlywood",shape="triangle"];4426[label="vyv229/Succ vyv2290",fontsize=10,color="white",style="solid",shape="box"];3147 -> 4426[label="",style="solid", color="burlywood", weight=9]; 248.39/165.09 4426 -> 3160[label="",style="solid", color="burlywood", weight=3]; 248.39/165.09 4427[label="vyv229/Zero",fontsize=10,color="white",style="solid",shape="box"];3147 -> 4427[label="",style="solid", color="burlywood", weight=9]; 248.39/165.09 4427 -> 3161[label="",style="solid", color="burlywood", weight=3]; 248.39/165.09 3042[label="pr2F0G0 vyv187 vyv183 (Pos (Succ Zero)) otherwise",fontsize=16,color="black",shape="box"];3042 -> 3053[label="",style="solid", color="black", weight=3]; 248.39/165.09 3043[label="vyv183 * vyv183",fontsize=16,color="blue",shape="box"];4428[label="* :: Double -> Double -> Double",fontsize=10,color="white",style="solid",shape="box"];3043 -> 4428[label="",style="solid", color="blue", weight=9]; 248.39/165.09 4428 -> 3054[label="",style="solid", color="blue", weight=3]; 248.39/165.09 4429[label="* :: (Ratio a) -> (Ratio a) -> Ratio a",fontsize=10,color="white",style="solid",shape="box"];3043 -> 4429[label="",style="solid", color="blue", weight=9]; 248.39/165.09 4429 -> 3055[label="",style="solid", color="blue", weight=3]; 248.39/165.09 4430[label="* :: Float -> Float -> Float",fontsize=10,color="white",style="solid",shape="box"];3043 -> 4430[label="",style="solid", color="blue", weight=9]; 248.39/165.09 4430 -> 3056[label="",style="solid", color="blue", weight=3]; 248.39/165.09 4431[label="* :: Integer -> Integer -> Integer",fontsize=10,color="white",style="solid",shape="box"];3043 -> 4431[label="",style="solid", color="blue", weight=9]; 248.39/165.09 4431 -> 3057[label="",style="solid", color="blue", weight=3]; 248.39/165.09 4432[label="* :: Int -> Int -> Int",fontsize=10,color="white",style="solid",shape="box"];3043 -> 4432[label="",style="solid", color="blue", weight=9]; 248.39/165.09 4432 -> 3058[label="",style="solid", color="blue", weight=3]; 248.39/165.09 3044[label="Pos Zero `quot` fromInt (Pos (Succ (Succ Zero)))",fontsize=16,color="black",shape="box"];3044 -> 3059[label="",style="solid", color="black", weight=3]; 248.39/165.09 3380[label="Succ vyv222000",fontsize=16,color="green",shape="box"];3381[label="vyv187",fontsize=16,color="green",shape="box"];3382[label="vyv222000",fontsize=16,color="green",shape="box"];3383[label="vyv183",fontsize=16,color="green",shape="box"];3379[label="pr2F0G1 vyv248 vyv249 (Neg (Succ vyv250)) (primEvenNat vyv251)",fontsize=16,color="burlywood",shape="triangle"];4433[label="vyv251/Succ vyv2510",fontsize=10,color="white",style="solid",shape="box"];3379 -> 4433[label="",style="solid", color="burlywood", weight=9]; 248.39/165.09 4433 -> 3400[label="",style="solid", color="burlywood", weight=3]; 248.39/165.09 4434[label="vyv251/Zero",fontsize=10,color="white",style="solid",shape="box"];3379 -> 4434[label="",style="solid", color="burlywood", weight=9]; 248.39/165.09 4434 -> 3401[label="",style="solid", color="burlywood", weight=3]; 248.39/165.09 3176[label="vyv183",fontsize=16,color="green",shape="box"];3177[label="vyv187",fontsize=16,color="green",shape="box"];3178[label="Zero",fontsize=16,color="green",shape="box"];3175[label="pr2F0G1 vyv238 vyv239 (Neg (Succ vyv240)) False",fontsize=16,color="black",shape="triangle"];3175 -> 3185[label="",style="solid", color="black", weight=3]; 248.39/165.09 3048[label="vyv183 * vyv183",fontsize=16,color="blue",shape="box"];4435[label="* :: Double -> Double -> Double",fontsize=10,color="white",style="solid",shape="box"];3048 -> 4435[label="",style="solid", color="blue", weight=9]; 248.39/165.09 4435 -> 3064[label="",style="solid", color="blue", weight=3]; 248.39/165.09 4436[label="* :: (Ratio a) -> (Ratio a) -> Ratio a",fontsize=10,color="white",style="solid",shape="box"];3048 -> 4436[label="",style="solid", color="blue", weight=9]; 248.39/165.09 4436 -> 3065[label="",style="solid", color="blue", weight=3]; 248.39/165.09 4437[label="* :: Float -> Float -> Float",fontsize=10,color="white",style="solid",shape="box"];3048 -> 4437[label="",style="solid", color="blue", weight=9]; 248.39/165.09 4437 -> 3066[label="",style="solid", color="blue", weight=3]; 248.39/165.09 4438[label="* :: Integer -> Integer -> Integer",fontsize=10,color="white",style="solid",shape="box"];3048 -> 4438[label="",style="solid", color="blue", weight=9]; 248.39/165.09 4438 -> 3067[label="",style="solid", color="blue", weight=3]; 248.39/165.09 4439[label="* :: Int -> Int -> Int",fontsize=10,color="white",style="solid",shape="box"];3048 -> 4439[label="",style="solid", color="blue", weight=9]; 248.39/165.09 4439 -> 3068[label="",style="solid", color="blue", weight=3]; 248.39/165.09 3049[label="Neg Zero `quot` fromInt (Pos (Succ (Succ Zero)))",fontsize=16,color="black",shape="box"];3049 -> 3069[label="",style="solid", color="black", weight=3]; 248.39/165.09 3160[label="pr2F0G1 vyv226 vyv227 (Pos (Succ vyv228)) (primEvenNat (Succ vyv2290))",fontsize=16,color="burlywood",shape="box"];4440[label="vyv2290/Succ vyv22900",fontsize=10,color="white",style="solid",shape="box"];3160 -> 4440[label="",style="solid", color="burlywood", weight=9]; 248.39/165.09 4440 -> 3167[label="",style="solid", color="burlywood", weight=3]; 248.39/165.09 4441[label="vyv2290/Zero",fontsize=10,color="white",style="solid",shape="box"];3160 -> 4441[label="",style="solid", color="burlywood", weight=9]; 248.39/165.09 4441 -> 3168[label="",style="solid", color="burlywood", weight=3]; 248.39/165.09 3161[label="pr2F0G1 vyv226 vyv227 (Pos (Succ vyv228)) (primEvenNat Zero)",fontsize=16,color="black",shape="box"];3161 -> 3169[label="",style="solid", color="black", weight=3]; 248.39/165.09 3053[label="pr2F0G0 vyv187 vyv183 (Pos (Succ Zero)) True",fontsize=16,color="black",shape="box"];3053 -> 3073[label="",style="solid", color="black", weight=3]; 248.39/165.09 3054[label="vyv183 * vyv183",fontsize=16,color="black",shape="triangle"];3054 -> 3074[label="",style="solid", color="black", weight=3]; 248.39/165.09 3055[label="vyv183 * vyv183",fontsize=16,color="burlywood",shape="triangle"];4442[label="vyv183/vyv1830 :% vyv1831",fontsize=10,color="white",style="solid",shape="box"];3055 -> 4442[label="",style="solid", color="burlywood", weight=9]; 248.39/165.09 4442 -> 3075[label="",style="solid", color="burlywood", weight=3]; 248.39/165.09 3056[label="vyv183 * vyv183",fontsize=16,color="black",shape="triangle"];3056 -> 3076[label="",style="solid", color="black", weight=3]; 248.39/165.09 3057[label="vyv183 * vyv183",fontsize=16,color="black",shape="triangle"];3057 -> 3077[label="",style="solid", color="black", weight=3]; 248.39/165.09 3058[label="vyv183 * vyv183",fontsize=16,color="black",shape="triangle"];3058 -> 3078[label="",style="solid", color="black", weight=3]; 248.39/165.09 3059 -> 3740[label="",style="dashed", color="red", weight=0]; 248.39/165.09 3059[label="primQuotInt (Pos Zero) (fromInt (Pos (Succ (Succ Zero))))",fontsize=16,color="magenta"];3059 -> 3741[label="",style="dashed", color="magenta", weight=3]; 248.39/165.09 3059 -> 3742[label="",style="dashed", color="magenta", weight=3]; 248.39/165.09 3400[label="pr2F0G1 vyv248 vyv249 (Neg (Succ vyv250)) (primEvenNat (Succ vyv2510))",fontsize=16,color="burlywood",shape="box"];4443[label="vyv2510/Succ vyv25100",fontsize=10,color="white",style="solid",shape="box"];3400 -> 4443[label="",style="solid", color="burlywood", weight=9]; 248.39/165.09 4443 -> 3443[label="",style="solid", color="burlywood", weight=3]; 248.39/165.09 4444[label="vyv2510/Zero",fontsize=10,color="white",style="solid",shape="box"];3400 -> 4444[label="",style="solid", color="burlywood", weight=9]; 248.39/165.09 4444 -> 3444[label="",style="solid", color="burlywood", weight=3]; 248.39/165.09 3401[label="pr2F0G1 vyv248 vyv249 (Neg (Succ vyv250)) (primEvenNat Zero)",fontsize=16,color="black",shape="box"];3401 -> 3445[label="",style="solid", color="black", weight=3]; 248.39/165.09 3185[label="pr2F0G0 vyv238 vyv239 (Neg (Succ vyv240)) otherwise",fontsize=16,color="black",shape="box"];3185 -> 3202[label="",style="solid", color="black", weight=3]; 248.39/165.09 3064 -> 3054[label="",style="dashed", color="red", weight=0]; 248.39/165.09 3064[label="vyv183 * vyv183",fontsize=16,color="magenta"];3065 -> 3055[label="",style="dashed", color="red", weight=0]; 248.39/165.09 3065[label="vyv183 * vyv183",fontsize=16,color="magenta"];3066 -> 3056[label="",style="dashed", color="red", weight=0]; 248.39/165.09 3066[label="vyv183 * vyv183",fontsize=16,color="magenta"];3067 -> 3057[label="",style="dashed", color="red", weight=0]; 248.39/165.09 3067[label="vyv183 * vyv183",fontsize=16,color="magenta"];3068 -> 3058[label="",style="dashed", color="red", weight=0]; 248.39/165.09 3068[label="vyv183 * vyv183",fontsize=16,color="magenta"];3069 -> 3777[label="",style="dashed", color="red", weight=0]; 248.39/165.09 3069[label="primQuotInt (Neg Zero) (fromInt (Pos (Succ (Succ Zero))))",fontsize=16,color="magenta"];3069 -> 3778[label="",style="dashed", color="magenta", weight=3]; 248.39/165.09 3069 -> 3779[label="",style="dashed", color="magenta", weight=3]; 248.39/165.09 3167[label="pr2F0G1 vyv226 vyv227 (Pos (Succ vyv228)) (primEvenNat (Succ (Succ vyv22900)))",fontsize=16,color="black",shape="box"];3167 -> 3186[label="",style="solid", color="black", weight=3]; 248.39/165.09 3168[label="pr2F0G1 vyv226 vyv227 (Pos (Succ vyv228)) (primEvenNat (Succ Zero))",fontsize=16,color="black",shape="box"];3168 -> 3187[label="",style="solid", color="black", weight=3]; 248.39/165.09 3169[label="pr2F0G1 vyv226 vyv227 (Pos (Succ vyv228)) True",fontsize=16,color="black",shape="box"];3169 -> 3188[label="",style="solid", color="black", weight=3]; 248.39/165.09 3073 -> 3255[label="",style="dashed", color="red", weight=0]; 248.39/165.09 3073[label="pr2F vyv183 (Pos (Succ Zero) - fromInt (Pos (Succ Zero))) (vyv183 * vyv187)",fontsize=16,color="magenta"];3073 -> 3256[label="",style="dashed", color="magenta", weight=3]; 248.39/165.09 3073 -> 3257[label="",style="dashed", color="magenta", weight=3]; 248.39/165.09 3073 -> 3258[label="",style="dashed", color="magenta", weight=3]; 248.39/165.09 3073 -> 3259[label="",style="dashed", color="magenta", weight=3]; 248.39/165.09 3074[label="error []",fontsize=16,color="red",shape="box"];3075[label="vyv1830 :% vyv1831 * (vyv1830 :% vyv1831)",fontsize=16,color="black",shape="box"];3075 -> 3092[label="",style="solid", color="black", weight=3]; 248.39/165.09 3076[label="error []",fontsize=16,color="red",shape="box"];3077[label="error []",fontsize=16,color="red",shape="box"];3078[label="primMulInt vyv183 vyv183",fontsize=16,color="burlywood",shape="box"];4445[label="vyv183/Pos vyv1830",fontsize=10,color="white",style="solid",shape="box"];3078 -> 4445[label="",style="solid", color="burlywood", weight=9]; 248.39/165.09 4445 -> 3093[label="",style="solid", color="burlywood", weight=3]; 248.39/165.09 4446[label="vyv183/Neg vyv1830",fontsize=10,color="white",style="solid",shape="box"];3078 -> 4446[label="",style="solid", color="burlywood", weight=9]; 248.39/165.09 4446 -> 3094[label="",style="solid", color="burlywood", weight=3]; 248.39/165.09 3741[label="fromInt (Pos (Succ (Succ Zero)))",fontsize=16,color="black",shape="triangle"];3741 -> 3765[label="",style="solid", color="black", weight=3]; 248.39/165.09 3742[label="Zero",fontsize=16,color="green",shape="box"];3740[label="primQuotInt (Pos vyv2700) vyv284",fontsize=16,color="burlywood",shape="triangle"];4447[label="vyv284/Pos vyv2840",fontsize=10,color="white",style="solid",shape="box"];3740 -> 4447[label="",style="solid", color="burlywood", weight=9]; 248.39/165.09 4447 -> 3766[label="",style="solid", color="burlywood", weight=3]; 248.39/165.09 4448[label="vyv284/Neg vyv2840",fontsize=10,color="white",style="solid",shape="box"];3740 -> 4448[label="",style="solid", color="burlywood", weight=9]; 248.39/165.09 4448 -> 3767[label="",style="solid", color="burlywood", weight=3]; 248.39/165.09 3443[label="pr2F0G1 vyv248 vyv249 (Neg (Succ vyv250)) (primEvenNat (Succ (Succ vyv25100)))",fontsize=16,color="black",shape="box"];3443 -> 3473[label="",style="solid", color="black", weight=3]; 248.39/165.09 3444[label="pr2F0G1 vyv248 vyv249 (Neg (Succ vyv250)) (primEvenNat (Succ Zero))",fontsize=16,color="black",shape="box"];3444 -> 3474[label="",style="solid", color="black", weight=3]; 248.39/165.09 3445[label="pr2F0G1 vyv248 vyv249 (Neg (Succ vyv250)) True",fontsize=16,color="black",shape="box"];3445 -> 3475[label="",style="solid", color="black", weight=3]; 248.39/165.09 3202[label="pr2F0G0 vyv238 vyv239 (Neg (Succ vyv240)) True",fontsize=16,color="black",shape="box"];3202 -> 3219[label="",style="solid", color="black", weight=3]; 248.39/165.09 3778[label="Zero",fontsize=16,color="green",shape="box"];3779 -> 3741[label="",style="dashed", color="red", weight=0]; 248.39/165.09 3779[label="fromInt (Pos (Succ (Succ Zero)))",fontsize=16,color="magenta"];3777[label="primQuotInt (Neg vyv2700) vyv287",fontsize=16,color="burlywood",shape="triangle"];4449[label="vyv287/Pos vyv2870",fontsize=10,color="white",style="solid",shape="box"];3777 -> 4449[label="",style="solid", color="burlywood", weight=9]; 248.39/165.09 4449 -> 3802[label="",style="solid", color="burlywood", weight=3]; 248.39/165.09 4450[label="vyv287/Neg vyv2870",fontsize=10,color="white",style="solid",shape="box"];3777 -> 4450[label="",style="solid", color="burlywood", weight=9]; 248.39/165.09 4450 -> 3803[label="",style="solid", color="burlywood", weight=3]; 248.39/165.09 3186 -> 3147[label="",style="dashed", color="red", weight=0]; 248.39/165.09 3186[label="pr2F0G1 vyv226 vyv227 (Pos (Succ vyv228)) (primEvenNat vyv22900)",fontsize=16,color="magenta"];3186 -> 3203[label="",style="dashed", color="magenta", weight=3]; 248.39/165.09 3187[label="pr2F0G1 vyv226 vyv227 (Pos (Succ vyv228)) False",fontsize=16,color="black",shape="box"];3187 -> 3204[label="",style="solid", color="black", weight=3]; 248.39/165.09 3188 -> 3016[label="",style="dashed", color="red", weight=0]; 248.39/165.09 3188[label="pr2F0G vyv226 (vyv227 * vyv227) (Pos (Succ vyv228) `quot` fromInt (Pos (Succ (Succ Zero))))",fontsize=16,color="magenta"];3188 -> 3205[label="",style="dashed", color="magenta", weight=3]; 248.39/165.09 3188 -> 3206[label="",style="dashed", color="magenta", weight=3]; 248.39/165.09 3188 -> 3207[label="",style="dashed", color="magenta", weight=3]; 248.39/165.09 3256 -> 33[label="",style="dashed", color="red", weight=0]; 248.39/165.09 3256[label="fromInt (Pos (Succ Zero))",fontsize=16,color="magenta"];3257[label="vyv183",fontsize=16,color="green",shape="box"];3258[label="vyv187",fontsize=16,color="green",shape="box"];3259[label="Zero",fontsize=16,color="green",shape="box"];3255[label="pr2F vyv227 (Pos (Succ vyv228) - vyv244) (vyv227 * vyv226)",fontsize=16,color="black",shape="triangle"];3255 -> 3265[label="",style="solid", color="black", weight=3]; 248.39/165.09 3092[label="reduce (vyv1830 * vyv1830) (vyv1831 * vyv1831)",fontsize=16,color="black",shape="box"];3092 -> 3115[label="",style="solid", color="black", weight=3]; 248.39/165.09 3093[label="primMulInt (Pos vyv1830) (Pos vyv1830)",fontsize=16,color="black",shape="box"];3093 -> 3116[label="",style="solid", color="black", weight=3]; 248.39/165.09 3094[label="primMulInt (Neg vyv1830) (Neg vyv1830)",fontsize=16,color="black",shape="box"];3094 -> 3117[label="",style="solid", color="black", weight=3]; 248.39/165.09 3765[label="Pos (Succ (Succ Zero))",fontsize=16,color="green",shape="box"];3766[label="primQuotInt (Pos vyv2700) (Pos vyv2840)",fontsize=16,color="burlywood",shape="box"];4451[label="vyv2840/Succ vyv28400",fontsize=10,color="white",style="solid",shape="box"];3766 -> 4451[label="",style="solid", color="burlywood", weight=9]; 248.39/165.09 4451 -> 3772[label="",style="solid", color="burlywood", weight=3]; 248.39/165.09 4452[label="vyv2840/Zero",fontsize=10,color="white",style="solid",shape="box"];3766 -> 4452[label="",style="solid", color="burlywood", weight=9]; 248.39/165.09 4452 -> 3773[label="",style="solid", color="burlywood", weight=3]; 248.39/165.09 3767[label="primQuotInt (Pos vyv2700) (Neg vyv2840)",fontsize=16,color="burlywood",shape="box"];4453[label="vyv2840/Succ vyv28400",fontsize=10,color="white",style="solid",shape="box"];3767 -> 4453[label="",style="solid", color="burlywood", weight=9]; 248.39/165.09 4453 -> 3774[label="",style="solid", color="burlywood", weight=3]; 248.39/165.09 4454[label="vyv2840/Zero",fontsize=10,color="white",style="solid",shape="box"];3767 -> 4454[label="",style="solid", color="burlywood", weight=9]; 248.39/165.09 4454 -> 3775[label="",style="solid", color="burlywood", weight=3]; 248.39/165.09 3473 -> 3379[label="",style="dashed", color="red", weight=0]; 248.39/165.09 3473[label="pr2F0G1 vyv248 vyv249 (Neg (Succ vyv250)) (primEvenNat vyv25100)",fontsize=16,color="magenta"];3473 -> 3511[label="",style="dashed", color="magenta", weight=3]; 248.39/165.09 3474 -> 3175[label="",style="dashed", color="red", weight=0]; 248.39/165.09 3474[label="pr2F0G1 vyv248 vyv249 (Neg (Succ vyv250)) False",fontsize=16,color="magenta"];3474 -> 3512[label="",style="dashed", color="magenta", weight=3]; 248.39/165.09 3474 -> 3513[label="",style="dashed", color="magenta", weight=3]; 248.39/165.09 3474 -> 3514[label="",style="dashed", color="magenta", weight=3]; 248.39/165.09 3475 -> 3016[label="",style="dashed", color="red", weight=0]; 248.39/165.09 3475[label="pr2F0G vyv248 (vyv249 * vyv249) (Neg (Succ vyv250) `quot` fromInt (Pos (Succ (Succ Zero))))",fontsize=16,color="magenta"];3475 -> 3515[label="",style="dashed", color="magenta", weight=3]; 248.39/165.09 3475 -> 3516[label="",style="dashed", color="magenta", weight=3]; 248.39/165.09 3475 -> 3517[label="",style="dashed", color="magenta", weight=3]; 248.39/165.09 3219 -> 3229[label="",style="dashed", color="red", weight=0]; 248.39/165.09 3219[label="pr2F vyv239 (Neg (Succ vyv240) - fromInt (Pos (Succ Zero))) (vyv239 * vyv238)",fontsize=16,color="magenta"];3219 -> 3230[label="",style="dashed", color="magenta", weight=3]; 248.39/165.09 3802[label="primQuotInt (Neg vyv2700) (Pos vyv2870)",fontsize=16,color="burlywood",shape="box"];4455[label="vyv2870/Succ vyv28700",fontsize=10,color="white",style="solid",shape="box"];3802 -> 4455[label="",style="solid", color="burlywood", weight=9]; 248.39/165.09 4455 -> 3810[label="",style="solid", color="burlywood", weight=3]; 248.39/165.09 4456[label="vyv2870/Zero",fontsize=10,color="white",style="solid",shape="box"];3802 -> 4456[label="",style="solid", color="burlywood", weight=9]; 248.39/165.09 4456 -> 3811[label="",style="solid", color="burlywood", weight=3]; 248.39/165.09 3803[label="primQuotInt (Neg vyv2700) (Neg vyv2870)",fontsize=16,color="burlywood",shape="box"];4457[label="vyv2870/Succ vyv28700",fontsize=10,color="white",style="solid",shape="box"];3803 -> 4457[label="",style="solid", color="burlywood", weight=9]; 248.39/165.09 4457 -> 3812[label="",style="solid", color="burlywood", weight=3]; 248.39/165.09 4458[label="vyv2870/Zero",fontsize=10,color="white",style="solid",shape="box"];3803 -> 4458[label="",style="solid", color="burlywood", weight=9]; 248.39/165.09 4458 -> 3813[label="",style="solid", color="burlywood", weight=3]; 248.39/165.09 3203[label="vyv22900",fontsize=16,color="green",shape="box"];3204[label="pr2F0G0 vyv226 vyv227 (Pos (Succ vyv228)) otherwise",fontsize=16,color="black",shape="box"];3204 -> 3220[label="",style="solid", color="black", weight=3]; 248.39/165.09 3205[label="vyv227 * vyv227",fontsize=16,color="blue",shape="box"];4459[label="* :: Double -> Double -> Double",fontsize=10,color="white",style="solid",shape="box"];3205 -> 4459[label="",style="solid", color="blue", weight=9]; 248.39/165.09 4459 -> 3221[label="",style="solid", color="blue", weight=3]; 248.39/165.09 4460[label="* :: (Ratio a) -> (Ratio a) -> Ratio a",fontsize=10,color="white",style="solid",shape="box"];3205 -> 4460[label="",style="solid", color="blue", weight=9]; 248.39/165.09 4460 -> 3222[label="",style="solid", color="blue", weight=3]; 248.39/165.09 4461[label="* :: Float -> Float -> Float",fontsize=10,color="white",style="solid",shape="box"];3205 -> 4461[label="",style="solid", color="blue", weight=9]; 248.39/165.09 4461 -> 3223[label="",style="solid", color="blue", weight=3]; 248.39/165.09 4462[label="* :: Integer -> Integer -> Integer",fontsize=10,color="white",style="solid",shape="box"];3205 -> 4462[label="",style="solid", color="blue", weight=9]; 248.39/165.09 4462 -> 3224[label="",style="solid", color="blue", weight=3]; 248.39/165.09 4463[label="* :: Int -> Int -> Int",fontsize=10,color="white",style="solid",shape="box"];3205 -> 4463[label="",style="solid", color="blue", weight=9]; 248.39/165.09 4463 -> 3225[label="",style="solid", color="blue", weight=3]; 248.39/165.09 3206[label="Pos (Succ vyv228) `quot` fromInt (Pos (Succ (Succ Zero)))",fontsize=16,color="black",shape="box"];3206 -> 3226[label="",style="solid", color="black", weight=3]; 248.39/165.09 3207[label="vyv226",fontsize=16,color="green",shape="box"];3265[label="pr2F4 vyv227 (Pos (Succ vyv228) - vyv244) (vyv227 * vyv226)",fontsize=16,color="black",shape="box"];3265 -> 3269[label="",style="solid", color="black", weight=3]; 248.39/165.09 3115[label="reduce2 (vyv1830 * vyv1830) (vyv1831 * vyv1831)",fontsize=16,color="black",shape="box"];3115 -> 3137[label="",style="solid", color="black", weight=3]; 248.39/165.09 3116[label="Pos (primMulNat vyv1830 vyv1830)",fontsize=16,color="green",shape="box"];3116 -> 3138[label="",style="dashed", color="green", weight=3]; 248.39/165.09 3117[label="Pos (primMulNat vyv1830 vyv1830)",fontsize=16,color="green",shape="box"];3117 -> 3139[label="",style="dashed", color="green", weight=3]; 248.39/165.09 3772[label="primQuotInt (Pos vyv2700) (Pos (Succ vyv28400))",fontsize=16,color="black",shape="box"];3772 -> 3804[label="",style="solid", color="black", weight=3]; 248.39/165.09 3773[label="primQuotInt (Pos vyv2700) (Pos Zero)",fontsize=16,color="black",shape="box"];3773 -> 3805[label="",style="solid", color="black", weight=3]; 248.39/165.09 3774[label="primQuotInt (Pos vyv2700) (Neg (Succ vyv28400))",fontsize=16,color="black",shape="box"];3774 -> 3806[label="",style="solid", color="black", weight=3]; 248.39/165.09 3775[label="primQuotInt (Pos vyv2700) (Neg Zero)",fontsize=16,color="black",shape="box"];3775 -> 3807[label="",style="solid", color="black", weight=3]; 248.39/165.09 3511[label="vyv25100",fontsize=16,color="green",shape="box"];3512[label="vyv249",fontsize=16,color="green",shape="box"];3513[label="vyv248",fontsize=16,color="green",shape="box"];3514[label="vyv250",fontsize=16,color="green",shape="box"];3515[label="vyv249 * vyv249",fontsize=16,color="blue",shape="box"];4464[label="* :: Double -> Double -> Double",fontsize=10,color="white",style="solid",shape="box"];3515 -> 4464[label="",style="solid", color="blue", weight=9]; 248.39/165.09 4464 -> 3533[label="",style="solid", color="blue", weight=3]; 248.39/165.09 4465[label="* :: (Ratio a) -> (Ratio a) -> Ratio a",fontsize=10,color="white",style="solid",shape="box"];3515 -> 4465[label="",style="solid", color="blue", weight=9]; 248.39/165.09 4465 -> 3534[label="",style="solid", color="blue", weight=3]; 248.39/165.09 4466[label="* :: Float -> Float -> Float",fontsize=10,color="white",style="solid",shape="box"];3515 -> 4466[label="",style="solid", color="blue", weight=9]; 248.39/165.09 4466 -> 3535[label="",style="solid", color="blue", weight=3]; 248.39/165.09 4467[label="* :: Integer -> Integer -> Integer",fontsize=10,color="white",style="solid",shape="box"];3515 -> 4467[label="",style="solid", color="blue", weight=9]; 248.39/165.09 4467 -> 3536[label="",style="solid", color="blue", weight=3]; 248.39/165.09 4468[label="* :: Int -> Int -> Int",fontsize=10,color="white",style="solid",shape="box"];3515 -> 4468[label="",style="solid", color="blue", weight=9]; 248.39/165.09 4468 -> 3537[label="",style="solid", color="blue", weight=3]; 248.39/165.09 3516[label="Neg (Succ vyv250) `quot` fromInt (Pos (Succ (Succ Zero)))",fontsize=16,color="black",shape="box"];3516 -> 3538[label="",style="solid", color="black", weight=3]; 248.39/165.09 3517[label="vyv248",fontsize=16,color="green",shape="box"];3230 -> 33[label="",style="dashed", color="red", weight=0]; 248.39/165.09 3230[label="fromInt (Pos (Succ Zero))",fontsize=16,color="magenta"];3229[label="pr2F vyv239 (Neg (Succ vyv240) - vyv243) (vyv239 * vyv238)",fontsize=16,color="black",shape="triangle"];3229 -> 3231[label="",style="solid", color="black", weight=3]; 248.39/165.09 3810[label="primQuotInt (Neg vyv2700) (Pos (Succ vyv28700))",fontsize=16,color="black",shape="box"];3810 -> 3820[label="",style="solid", color="black", weight=3]; 248.39/165.09 3811[label="primQuotInt (Neg vyv2700) (Pos Zero)",fontsize=16,color="black",shape="box"];3811 -> 3821[label="",style="solid", color="black", weight=3]; 248.39/165.09 3812[label="primQuotInt (Neg vyv2700) (Neg (Succ vyv28700))",fontsize=16,color="black",shape="box"];3812 -> 3822[label="",style="solid", color="black", weight=3]; 248.39/165.09 3813[label="primQuotInt (Neg vyv2700) (Neg Zero)",fontsize=16,color="black",shape="box"];3813 -> 3823[label="",style="solid", color="black", weight=3]; 248.39/165.09 3220[label="pr2F0G0 vyv226 vyv227 (Pos (Succ vyv228)) True",fontsize=16,color="black",shape="box"];3220 -> 3232[label="",style="solid", color="black", weight=3]; 248.39/165.09 3221 -> 3054[label="",style="dashed", color="red", weight=0]; 248.39/165.09 3221[label="vyv227 * vyv227",fontsize=16,color="magenta"];3221 -> 3233[label="",style="dashed", color="magenta", weight=3]; 248.39/165.09 3222 -> 3055[label="",style="dashed", color="red", weight=0]; 248.39/165.09 3222[label="vyv227 * vyv227",fontsize=16,color="magenta"];3222 -> 3234[label="",style="dashed", color="magenta", weight=3]; 248.39/165.09 3223 -> 3056[label="",style="dashed", color="red", weight=0]; 248.39/165.09 3223[label="vyv227 * vyv227",fontsize=16,color="magenta"];3223 -> 3235[label="",style="dashed", color="magenta", weight=3]; 248.39/165.09 3224 -> 3057[label="",style="dashed", color="red", weight=0]; 248.39/165.09 3224[label="vyv227 * vyv227",fontsize=16,color="magenta"];3224 -> 3236[label="",style="dashed", color="magenta", weight=3]; 248.39/165.09 3225 -> 3058[label="",style="dashed", color="red", weight=0]; 248.39/165.09 3225[label="vyv227 * vyv227",fontsize=16,color="magenta"];3225 -> 3237[label="",style="dashed", color="magenta", weight=3]; 248.39/165.09 3226 -> 3740[label="",style="dashed", color="red", weight=0]; 248.39/165.09 3226[label="primQuotInt (Pos (Succ vyv228)) (fromInt (Pos (Succ (Succ Zero))))",fontsize=16,color="magenta"];3226 -> 3745[label="",style="dashed", color="magenta", weight=3]; 248.39/165.09 3226 -> 3746[label="",style="dashed", color="magenta", weight=3]; 248.39/165.09 3269 -> 3290[label="",style="dashed", color="red", weight=0]; 248.39/165.09 3269[label="pr2F3 (Pos (Succ vyv228) - vyv244 == fromInt (Pos Zero)) vyv227 (Pos (Succ vyv228) - vyv244) (vyv227 * vyv226)",fontsize=16,color="magenta"];3269 -> 3291[label="",style="dashed", color="magenta", weight=3]; 248.39/165.09 3137 -> 3547[label="",style="dashed", color="red", weight=0]; 248.39/165.09 3137[label="reduce2Reduce1 (vyv1830 * vyv1830) (vyv1831 * vyv1831) (vyv1830 * vyv1830) (vyv1831 * vyv1831) (vyv1831 * vyv1831 == fromInt (Pos Zero))",fontsize=16,color="magenta"];3137 -> 3548[label="",style="dashed", color="magenta", weight=3]; 248.39/165.09 3137 -> 3549[label="",style="dashed", color="magenta", weight=3]; 248.39/165.09 3137 -> 3550[label="",style="dashed", color="magenta", weight=3]; 248.39/165.09 3137 -> 3551[label="",style="dashed", color="magenta", weight=3]; 248.39/165.09 3137 -> 3552[label="",style="dashed", color="magenta", weight=3]; 248.39/165.09 3138[label="primMulNat vyv1830 vyv1830",fontsize=16,color="burlywood",shape="triangle"];4469[label="vyv1830/Succ vyv18300",fontsize=10,color="white",style="solid",shape="box"];3138 -> 4469[label="",style="solid", color="burlywood", weight=9]; 248.39/165.09 4469 -> 3170[label="",style="solid", color="burlywood", weight=3]; 248.39/165.09 4470[label="vyv1830/Zero",fontsize=10,color="white",style="solid",shape="box"];3138 -> 4470[label="",style="solid", color="burlywood", weight=9]; 248.39/165.09 4470 -> 3171[label="",style="solid", color="burlywood", weight=3]; 248.39/165.09 3139 -> 3138[label="",style="dashed", color="red", weight=0]; 248.39/165.09 3139[label="primMulNat vyv1830 vyv1830",fontsize=16,color="magenta"];3139 -> 3172[label="",style="dashed", color="magenta", weight=3]; 248.39/165.09 3804[label="Pos (primDivNatS vyv2700 (Succ vyv28400))",fontsize=16,color="green",shape="box"];3804 -> 3814[label="",style="dashed", color="green", weight=3]; 248.39/165.09 3805[label="error []",fontsize=16,color="black",shape="triangle"];3805 -> 3815[label="",style="solid", color="black", weight=3]; 248.39/165.09 3806[label="Neg (primDivNatS vyv2700 (Succ vyv28400))",fontsize=16,color="green",shape="box"];3806 -> 3816[label="",style="dashed", color="green", weight=3]; 248.39/165.09 3807 -> 3805[label="",style="dashed", color="red", weight=0]; 248.39/165.09 3807[label="error []",fontsize=16,color="magenta"];3533 -> 3054[label="",style="dashed", color="red", weight=0]; 248.39/165.09 3533[label="vyv249 * vyv249",fontsize=16,color="magenta"];3533 -> 3563[label="",style="dashed", color="magenta", weight=3]; 248.39/165.09 3534 -> 3055[label="",style="dashed", color="red", weight=0]; 248.39/165.09 3534[label="vyv249 * vyv249",fontsize=16,color="magenta"];3534 -> 3564[label="",style="dashed", color="magenta", weight=3]; 248.39/165.09 3535 -> 3056[label="",style="dashed", color="red", weight=0]; 248.39/165.09 3535[label="vyv249 * vyv249",fontsize=16,color="magenta"];3535 -> 3565[label="",style="dashed", color="magenta", weight=3]; 248.39/165.09 3536 -> 3057[label="",style="dashed", color="red", weight=0]; 248.39/165.09 3536[label="vyv249 * vyv249",fontsize=16,color="magenta"];3536 -> 3566[label="",style="dashed", color="magenta", weight=3]; 248.39/165.09 3537 -> 3058[label="",style="dashed", color="red", weight=0]; 248.39/165.09 3537[label="vyv249 * vyv249",fontsize=16,color="magenta"];3537 -> 3567[label="",style="dashed", color="magenta", weight=3]; 248.39/165.09 3538 -> 3777[label="",style="dashed", color="red", weight=0]; 248.39/165.09 3538[label="primQuotInt (Neg (Succ vyv250)) (fromInt (Pos (Succ (Succ Zero))))",fontsize=16,color="magenta"];3538 -> 3782[label="",style="dashed", color="magenta", weight=3]; 248.39/165.09 3538 -> 3783[label="",style="dashed", color="magenta", weight=3]; 248.39/165.09 3231[label="pr2F4 vyv239 (Neg (Succ vyv240) - vyv243) (vyv239 * vyv238)",fontsize=16,color="black",shape="box"];3231 -> 3254[label="",style="solid", color="black", weight=3]; 248.39/165.09 3820[label="Neg (primDivNatS vyv2700 (Succ vyv28700))",fontsize=16,color="green",shape="box"];3820 -> 3829[label="",style="dashed", color="green", weight=3]; 248.39/165.09 3821 -> 3805[label="",style="dashed", color="red", weight=0]; 248.39/165.09 3821[label="error []",fontsize=16,color="magenta"];3822[label="Pos (primDivNatS vyv2700 (Succ vyv28700))",fontsize=16,color="green",shape="box"];3822 -> 3830[label="",style="dashed", color="green", weight=3]; 248.39/165.09 3823 -> 3805[label="",style="dashed", color="red", weight=0]; 248.39/165.09 3823[label="error []",fontsize=16,color="magenta"];3232 -> 3255[label="",style="dashed", color="red", weight=0]; 248.39/165.09 3232[label="pr2F vyv227 (Pos (Succ vyv228) - fromInt (Pos (Succ Zero))) (vyv227 * vyv226)",fontsize=16,color="magenta"];3232 -> 3264[label="",style="dashed", color="magenta", weight=3]; 248.39/165.09 3233[label="vyv227",fontsize=16,color="green",shape="box"];3234[label="vyv227",fontsize=16,color="green",shape="box"];3235[label="vyv227",fontsize=16,color="green",shape="box"];3236[label="vyv227",fontsize=16,color="green",shape="box"];3237[label="vyv227",fontsize=16,color="green",shape="box"];3745 -> 3741[label="",style="dashed", color="red", weight=0]; 248.39/165.09 3745[label="fromInt (Pos (Succ (Succ Zero)))",fontsize=16,color="magenta"];3746[label="Succ vyv228",fontsize=16,color="green",shape="box"];3291 -> 3217[label="",style="dashed", color="red", weight=0]; 248.39/165.09 3291[label="Pos (Succ vyv228) - vyv244 == fromInt (Pos Zero)",fontsize=16,color="magenta"];3291 -> 3292[label="",style="dashed", color="magenta", weight=3]; 248.39/165.09 3290[label="pr2F3 vyv246 vyv227 (Pos (Succ vyv228) - vyv244) (vyv227 * vyv226)",fontsize=16,color="burlywood",shape="triangle"];4471[label="vyv246/False",fontsize=10,color="white",style="solid",shape="box"];3290 -> 4471[label="",style="solid", color="burlywood", weight=9]; 248.39/165.09 4471 -> 3293[label="",style="solid", color="burlywood", weight=3]; 248.39/165.09 4472[label="vyv246/True",fontsize=10,color="white",style="solid",shape="box"];3290 -> 4472[label="",style="solid", color="burlywood", weight=9]; 248.39/165.09 4472 -> 3294[label="",style="solid", color="burlywood", weight=3]; 248.39/165.09 3548[label="vyv1830",fontsize=16,color="green",shape="box"];3549[label="vyv1831",fontsize=16,color="green",shape="box"];3550[label="vyv1830",fontsize=16,color="green",shape="box"];3551[label="vyv1831",fontsize=16,color="green",shape="box"];3552[label="vyv1831 * vyv1831 == fromInt (Pos Zero)",fontsize=16,color="blue",shape="box"];4473[label="== :: Int -> Int -> Bool",fontsize=10,color="white",style="solid",shape="box"];3552 -> 4473[label="",style="solid", color="blue", weight=9]; 248.39/165.09 4473 -> 3569[label="",style="solid", color="blue", weight=3]; 248.39/165.09 4474[label="== :: Integer -> Integer -> Bool",fontsize=10,color="white",style="solid",shape="box"];3552 -> 4474[label="",style="solid", color="blue", weight=9]; 248.39/165.09 4474 -> 3570[label="",style="solid", color="blue", weight=3]; 248.39/165.09 3547[label="reduce2Reduce1 (vyv264 * vyv265) (vyv266 * vyv267) (vyv264 * vyv265) (vyv266 * vyv267) vyv268",fontsize=16,color="burlywood",shape="triangle"];4475[label="vyv268/False",fontsize=10,color="white",style="solid",shape="box"];3547 -> 4475[label="",style="solid", color="burlywood", weight=9]; 248.39/165.09 4475 -> 3571[label="",style="solid", color="burlywood", weight=3]; 248.39/165.09 4476[label="vyv268/True",fontsize=10,color="white",style="solid",shape="box"];3547 -> 4476[label="",style="solid", color="burlywood", weight=9]; 248.39/165.09 4476 -> 3572[label="",style="solid", color="burlywood", weight=3]; 248.39/165.09 3170[label="primMulNat (Succ vyv18300) (Succ vyv18300)",fontsize=16,color="black",shape="box"];3170 -> 3197[label="",style="solid", color="black", weight=3]; 248.39/165.09 3171[label="primMulNat Zero Zero",fontsize=16,color="black",shape="box"];3171 -> 3198[label="",style="solid", color="black", weight=3]; 248.39/165.09 3172[label="vyv1830",fontsize=16,color="green",shape="box"];3814[label="primDivNatS vyv2700 (Succ vyv28400)",fontsize=16,color="burlywood",shape="triangle"];4477[label="vyv2700/Succ vyv27000",fontsize=10,color="white",style="solid",shape="box"];3814 -> 4477[label="",style="solid", color="burlywood", weight=9]; 248.39/165.09 4477 -> 3824[label="",style="solid", color="burlywood", weight=3]; 248.39/165.09 4478[label="vyv2700/Zero",fontsize=10,color="white",style="solid",shape="box"];3814 -> 4478[label="",style="solid", color="burlywood", weight=9]; 248.39/165.09 4478 -> 3825[label="",style="solid", color="burlywood", weight=3]; 248.39/165.09 3815[label="error []",fontsize=16,color="red",shape="box"];3816 -> 3814[label="",style="dashed", color="red", weight=0]; 248.39/165.09 3816[label="primDivNatS vyv2700 (Succ vyv28400)",fontsize=16,color="magenta"];3816 -> 3826[label="",style="dashed", color="magenta", weight=3]; 248.39/165.09 3563[label="vyv249",fontsize=16,color="green",shape="box"];3564[label="vyv249",fontsize=16,color="green",shape="box"];3565[label="vyv249",fontsize=16,color="green",shape="box"];3566[label="vyv249",fontsize=16,color="green",shape="box"];3567[label="vyv249",fontsize=16,color="green",shape="box"];3782[label="Succ vyv250",fontsize=16,color="green",shape="box"];3783 -> 3741[label="",style="dashed", color="red", weight=0]; 248.39/165.09 3783[label="fromInt (Pos (Succ (Succ Zero)))",fontsize=16,color="magenta"];3254 -> 3267[label="",style="dashed", color="red", weight=0]; 248.39/165.09 3254[label="pr2F3 (Neg (Succ vyv240) - vyv243 == fromInt (Pos Zero)) vyv239 (Neg (Succ vyv240) - vyv243) (vyv239 * vyv238)",fontsize=16,color="magenta"];3254 -> 3268[label="",style="dashed", color="magenta", weight=3]; 248.39/165.09 3829 -> 3814[label="",style="dashed", color="red", weight=0]; 248.39/165.09 3829[label="primDivNatS vyv2700 (Succ vyv28700)",fontsize=16,color="magenta"];3829 -> 3836[label="",style="dashed", color="magenta", weight=3]; 248.39/165.09 3829 -> 3837[label="",style="dashed", color="magenta", weight=3]; 248.39/165.09 3830 -> 3814[label="",style="dashed", color="red", weight=0]; 248.39/165.09 3830[label="primDivNatS vyv2700 (Succ vyv28700)",fontsize=16,color="magenta"];3830 -> 3838[label="",style="dashed", color="magenta", weight=3]; 248.39/165.09 3830 -> 3839[label="",style="dashed", color="magenta", weight=3]; 248.39/165.09 3264 -> 33[label="",style="dashed", color="red", weight=0]; 248.39/165.09 3264[label="fromInt (Pos (Succ Zero))",fontsize=16,color="magenta"];3292[label="Pos (Succ vyv228) - vyv244",fontsize=16,color="black",shape="triangle"];3292 -> 3318[label="",style="solid", color="black", weight=3]; 248.39/165.09 3217[label="vyv241 == fromInt (Pos Zero)",fontsize=16,color="black",shape="triangle"];3217 -> 3251[label="",style="solid", color="black", weight=3]; 248.39/165.09 3293[label="pr2F3 False vyv227 (Pos (Succ vyv228) - vyv244) (vyv227 * vyv226)",fontsize=16,color="black",shape="box"];3293 -> 3319[label="",style="solid", color="black", weight=3]; 248.39/165.09 3294[label="pr2F3 True vyv227 (Pos (Succ vyv228) - vyv244) (vyv227 * vyv226)",fontsize=16,color="black",shape="box"];3294 -> 3320[label="",style="solid", color="black", weight=3]; 248.39/165.09 3569 -> 3217[label="",style="dashed", color="red", weight=0]; 248.39/165.09 3569[label="vyv1831 * vyv1831 == fromInt (Pos Zero)",fontsize=16,color="magenta"];3569 -> 3590[label="",style="dashed", color="magenta", weight=3]; 248.39/165.09 3570 -> 3591[label="",style="dashed", color="red", weight=0]; 248.39/165.09 3570[label="vyv1831 * vyv1831 == fromInt (Pos Zero)",fontsize=16,color="magenta"];3570 -> 3592[label="",style="dashed", color="magenta", weight=3]; 248.39/165.09 3571[label="reduce2Reduce1 (vyv264 * vyv265) (vyv266 * vyv267) (vyv264 * vyv265) (vyv266 * vyv267) False",fontsize=16,color="black",shape="box"];3571 -> 3594[label="",style="solid", color="black", weight=3]; 248.39/165.09 3572[label="reduce2Reduce1 (vyv264 * vyv265) (vyv266 * vyv267) (vyv264 * vyv265) (vyv266 * vyv267) True",fontsize=16,color="black",shape="box"];3572 -> 3595[label="",style="solid", color="black", weight=3]; 248.39/165.09 3197 -> 75[label="",style="dashed", color="red", weight=0]; 248.39/165.09 3197[label="primPlusNat (primMulNat vyv18300 (Succ vyv18300)) (Succ vyv18300)",fontsize=16,color="magenta"];3197 -> 3241[label="",style="dashed", color="magenta", weight=3]; 248.39/165.09 3197 -> 3242[label="",style="dashed", color="magenta", weight=3]; 248.39/165.09 3198[label="Zero",fontsize=16,color="green",shape="box"];3824[label="primDivNatS (Succ vyv27000) (Succ vyv28400)",fontsize=16,color="black",shape="box"];3824 -> 3831[label="",style="solid", color="black", weight=3]; 248.39/165.09 3825[label="primDivNatS Zero (Succ vyv28400)",fontsize=16,color="black",shape="box"];3825 -> 3832[label="",style="solid", color="black", weight=3]; 248.39/165.09 3826[label="vyv28400",fontsize=16,color="green",shape="box"];3268 -> 3217[label="",style="dashed", color="red", weight=0]; 248.39/165.09 3268[label="Neg (Succ vyv240) - vyv243 == fromInt (Pos Zero)",fontsize=16,color="magenta"];3268 -> 3271[label="",style="dashed", color="magenta", weight=3]; 248.39/165.09 3267[label="pr2F3 vyv245 vyv239 (Neg (Succ vyv240) - vyv243) (vyv239 * vyv238)",fontsize=16,color="burlywood",shape="triangle"];4479[label="vyv245/False",fontsize=10,color="white",style="solid",shape="box"];3267 -> 4479[label="",style="solid", color="burlywood", weight=9]; 248.39/165.09 4479 -> 3272[label="",style="solid", color="burlywood", weight=3]; 248.39/165.09 4480[label="vyv245/True",fontsize=10,color="white",style="solid",shape="box"];3267 -> 4480[label="",style="solid", color="burlywood", weight=9]; 248.39/165.09 4480 -> 3273[label="",style="solid", color="burlywood", weight=3]; 248.39/165.09 3836[label="vyv2700",fontsize=16,color="green",shape="box"];3837[label="vyv28700",fontsize=16,color="green",shape="box"];3838[label="vyv2700",fontsize=16,color="green",shape="box"];3839[label="vyv28700",fontsize=16,color="green",shape="box"];3318[label="primMinusInt (Pos (Succ vyv228)) vyv244",fontsize=16,color="burlywood",shape="box"];4481[label="vyv244/Pos vyv2440",fontsize=10,color="white",style="solid",shape="box"];3318 -> 4481[label="",style="solid", color="burlywood", weight=9]; 248.39/165.09 4481 -> 3349[label="",style="solid", color="burlywood", weight=3]; 248.39/165.09 4482[label="vyv244/Neg vyv2440",fontsize=10,color="white",style="solid",shape="box"];3318 -> 4482[label="",style="solid", color="burlywood", weight=9]; 248.39/165.09 4482 -> 3350[label="",style="solid", color="burlywood", weight=3]; 248.39/165.09 3251[label="primEqInt vyv241 (fromInt (Pos Zero))",fontsize=16,color="burlywood",shape="box"];4483[label="vyv241/Pos vyv2410",fontsize=10,color="white",style="solid",shape="box"];3251 -> 4483[label="",style="solid", color="burlywood", weight=9]; 248.39/165.09 4483 -> 3287[label="",style="solid", color="burlywood", weight=3]; 248.39/165.09 4484[label="vyv241/Neg vyv2410",fontsize=10,color="white",style="solid",shape="box"];3251 -> 4484[label="",style="solid", color="burlywood", weight=9]; 248.39/165.09 4484 -> 3288[label="",style="solid", color="burlywood", weight=3]; 248.39/165.09 3319 -> 2999[label="",style="dashed", color="red", weight=0]; 248.39/165.09 3319[label="pr2F0 vyv227 (Pos (Succ vyv228) - vyv244) (vyv227 * vyv226)",fontsize=16,color="magenta"];3319 -> 3351[label="",style="dashed", color="magenta", weight=3]; 248.39/165.09 3319 -> 3352[label="",style="dashed", color="magenta", weight=3]; 248.39/165.09 3319 -> 3353[label="",style="dashed", color="magenta", weight=3]; 248.39/165.09 3320[label="vyv227 * vyv226",fontsize=16,color="blue",shape="box"];4485[label="* :: Double -> Double -> Double",fontsize=10,color="white",style="solid",shape="box"];3320 -> 4485[label="",style="solid", color="blue", weight=9]; 248.39/165.09 4485 -> 3354[label="",style="solid", color="blue", weight=3]; 248.39/165.09 4486[label="* :: (Ratio a) -> (Ratio a) -> Ratio a",fontsize=10,color="white",style="solid",shape="box"];3320 -> 4486[label="",style="solid", color="blue", weight=9]; 248.39/165.09 4486 -> 3355[label="",style="solid", color="blue", weight=3]; 248.39/165.09 4487[label="* :: Float -> Float -> Float",fontsize=10,color="white",style="solid",shape="box"];3320 -> 4487[label="",style="solid", color="blue", weight=9]; 248.39/165.09 4487 -> 3356[label="",style="solid", color="blue", weight=3]; 248.39/165.09 4488[label="* :: Integer -> Integer -> Integer",fontsize=10,color="white",style="solid",shape="box"];3320 -> 4488[label="",style="solid", color="blue", weight=9]; 248.39/165.09 4488 -> 3357[label="",style="solid", color="blue", weight=3]; 248.39/165.09 4489[label="* :: Int -> Int -> Int",fontsize=10,color="white",style="solid",shape="box"];3320 -> 4489[label="",style="solid", color="blue", weight=9]; 248.39/165.09 4489 -> 3358[label="",style="solid", color="blue", weight=3]; 248.39/165.09 3590 -> 3058[label="",style="dashed", color="red", weight=0]; 248.39/165.09 3590[label="vyv1831 * vyv1831",fontsize=16,color="magenta"];3590 -> 3597[label="",style="dashed", color="magenta", weight=3]; 248.39/165.09 3592 -> 3057[label="",style="dashed", color="red", weight=0]; 248.39/165.09 3592[label="vyv1831 * vyv1831",fontsize=16,color="magenta"];3592 -> 3598[label="",style="dashed", color="magenta", weight=3]; 248.39/165.09 3591[label="vyv269 == fromInt (Pos Zero)",fontsize=16,color="burlywood",shape="triangle"];4490[label="vyv269/Integer vyv2690",fontsize=10,color="white",style="solid",shape="box"];3591 -> 4490[label="",style="solid", color="burlywood", weight=9]; 248.39/165.09 4490 -> 3599[label="",style="solid", color="burlywood", weight=3]; 248.39/165.09 3594[label="reduce2Reduce0 (vyv264 * vyv265) (vyv266 * vyv267) (vyv264 * vyv265) (vyv266 * vyv267) otherwise",fontsize=16,color="black",shape="box"];3594 -> 3612[label="",style="solid", color="black", weight=3]; 248.39/165.09 3595[label="error []",fontsize=16,color="black",shape="box"];3595 -> 3613[label="",style="solid", color="black", weight=3]; 248.39/165.09 3241[label="Succ vyv18300",fontsize=16,color="green",shape="box"];3242[label="primMulNat vyv18300 (Succ vyv18300)",fontsize=16,color="burlywood",shape="box"];4491[label="vyv18300/Succ vyv183000",fontsize=10,color="white",style="solid",shape="box"];3242 -> 4491[label="",style="solid", color="burlywood", weight=9]; 248.39/165.09 4491 -> 3276[label="",style="solid", color="burlywood", weight=3]; 248.39/165.09 4492[label="vyv18300/Zero",fontsize=10,color="white",style="solid",shape="box"];3242 -> 4492[label="",style="solid", color="burlywood", weight=9]; 248.39/165.09 4492 -> 3277[label="",style="solid", color="burlywood", weight=3]; 248.39/165.09 3831[label="primDivNatS0 vyv27000 vyv28400 (primGEqNatS vyv27000 vyv28400)",fontsize=16,color="burlywood",shape="box"];4493[label="vyv27000/Succ vyv270000",fontsize=10,color="white",style="solid",shape="box"];3831 -> 4493[label="",style="solid", color="burlywood", weight=9]; 248.39/165.09 4493 -> 3840[label="",style="solid", color="burlywood", weight=3]; 248.39/165.09 4494[label="vyv27000/Zero",fontsize=10,color="white",style="solid",shape="box"];3831 -> 4494[label="",style="solid", color="burlywood", weight=9]; 248.39/165.09 4494 -> 3841[label="",style="solid", color="burlywood", weight=3]; 248.39/165.09 3832[label="Zero",fontsize=16,color="green",shape="box"];3271[label="Neg (Succ vyv240) - vyv243",fontsize=16,color="black",shape="triangle"];3271 -> 3296[label="",style="solid", color="black", weight=3]; 248.39/165.09 3272[label="pr2F3 False vyv239 (Neg (Succ vyv240) - vyv243) (vyv239 * vyv238)",fontsize=16,color="black",shape="box"];3272 -> 3297[label="",style="solid", color="black", weight=3]; 248.39/165.09 3273[label="pr2F3 True vyv239 (Neg (Succ vyv240) - vyv243) (vyv239 * vyv238)",fontsize=16,color="black",shape="box"];3273 -> 3298[label="",style="solid", color="black", weight=3]; 248.39/165.09 3349[label="primMinusInt (Pos (Succ vyv228)) (Pos vyv2440)",fontsize=16,color="black",shape="box"];3349 -> 3402[label="",style="solid", color="black", weight=3]; 248.39/165.09 3350[label="primMinusInt (Pos (Succ vyv228)) (Neg vyv2440)",fontsize=16,color="black",shape="box"];3350 -> 3403[label="",style="solid", color="black", weight=3]; 248.39/165.09 3287[label="primEqInt (Pos vyv2410) (fromInt (Pos Zero))",fontsize=16,color="burlywood",shape="box"];4495[label="vyv2410/Succ vyv24100",fontsize=10,color="white",style="solid",shape="box"];3287 -> 4495[label="",style="solid", color="burlywood", weight=9]; 248.39/165.09 4495 -> 3313[label="",style="solid", color="burlywood", weight=3]; 248.39/165.09 4496[label="vyv2410/Zero",fontsize=10,color="white",style="solid",shape="box"];3287 -> 4496[label="",style="solid", color="burlywood", weight=9]; 248.39/165.09 4496 -> 3314[label="",style="solid", color="burlywood", weight=3]; 248.39/165.09 3288[label="primEqInt (Neg vyv2410) (fromInt (Pos Zero))",fontsize=16,color="burlywood",shape="box"];4497[label="vyv2410/Succ vyv24100",fontsize=10,color="white",style="solid",shape="box"];3288 -> 4497[label="",style="solid", color="burlywood", weight=9]; 248.39/165.09 4497 -> 3315[label="",style="solid", color="burlywood", weight=3]; 248.39/165.09 4498[label="vyv2410/Zero",fontsize=10,color="white",style="solid",shape="box"];3288 -> 4498[label="",style="solid", color="burlywood", weight=9]; 248.39/165.09 4498 -> 3316[label="",style="solid", color="burlywood", weight=3]; 248.39/165.09 3351[label="vyv227",fontsize=16,color="green",shape="box"];3352 -> 3292[label="",style="dashed", color="red", weight=0]; 248.39/165.09 3352[label="Pos (Succ vyv228) - vyv244",fontsize=16,color="magenta"];3353[label="vyv227 * vyv226",fontsize=16,color="blue",shape="box"];4499[label="* :: Double -> Double -> Double",fontsize=10,color="white",style="solid",shape="box"];3353 -> 4499[label="",style="solid", color="blue", weight=9]; 248.39/165.09 4499 -> 3404[label="",style="solid", color="blue", weight=3]; 248.39/165.09 4500[label="* :: (Ratio a) -> (Ratio a) -> Ratio a",fontsize=10,color="white",style="solid",shape="box"];3353 -> 4500[label="",style="solid", color="blue", weight=9]; 248.39/165.09 4500 -> 3405[label="",style="solid", color="blue", weight=3]; 248.39/165.09 4501[label="* :: Float -> Float -> Float",fontsize=10,color="white",style="solid",shape="box"];3353 -> 4501[label="",style="solid", color="blue", weight=9]; 248.39/165.09 4501 -> 3406[label="",style="solid", color="blue", weight=3]; 248.39/165.09 4502[label="* :: Integer -> Integer -> Integer",fontsize=10,color="white",style="solid",shape="box"];3353 -> 4502[label="",style="solid", color="blue", weight=9]; 248.39/165.09 4502 -> 3407[label="",style="solid", color="blue", weight=3]; 248.39/165.09 4503[label="* :: Int -> Int -> Int",fontsize=10,color="white",style="solid",shape="box"];3353 -> 4503[label="",style="solid", color="blue", weight=9]; 248.39/165.09 4503 -> 3408[label="",style="solid", color="blue", weight=3]; 248.39/165.09 3354 -> 3328[label="",style="dashed", color="red", weight=0]; 248.39/165.09 3354[label="vyv227 * vyv226",fontsize=16,color="magenta"];3354 -> 3409[label="",style="dashed", color="magenta", weight=3]; 248.39/165.09 3354 -> 3410[label="",style="dashed", color="magenta", weight=3]; 248.39/165.09 3355 -> 3329[label="",style="dashed", color="red", weight=0]; 248.39/165.09 3355[label="vyv227 * vyv226",fontsize=16,color="magenta"];3355 -> 3411[label="",style="dashed", color="magenta", weight=3]; 248.39/165.09 3355 -> 3412[label="",style="dashed", color="magenta", weight=3]; 248.39/165.09 3356 -> 3330[label="",style="dashed", color="red", weight=0]; 248.39/165.09 3356[label="vyv227 * vyv226",fontsize=16,color="magenta"];3356 -> 3413[label="",style="dashed", color="magenta", weight=3]; 248.39/165.09 3356 -> 3414[label="",style="dashed", color="magenta", weight=3]; 248.39/165.09 3357 -> 3331[label="",style="dashed", color="red", weight=0]; 248.39/165.09 3357[label="vyv227 * vyv226",fontsize=16,color="magenta"];3357 -> 3415[label="",style="dashed", color="magenta", weight=3]; 248.39/165.09 3357 -> 3416[label="",style="dashed", color="magenta", weight=3]; 248.39/165.09 3358 -> 3332[label="",style="dashed", color="red", weight=0]; 248.39/165.09 3358[label="vyv227 * vyv226",fontsize=16,color="magenta"];3358 -> 3417[label="",style="dashed", color="magenta", weight=3]; 248.39/165.09 3358 -> 3418[label="",style="dashed", color="magenta", weight=3]; 248.39/165.09 3597[label="vyv1831",fontsize=16,color="green",shape="box"];3598[label="vyv1831",fontsize=16,color="green",shape="box"];3599[label="Integer vyv2690 == fromInt (Pos Zero)",fontsize=16,color="black",shape="box"];3599 -> 3615[label="",style="solid", color="black", weight=3]; 248.39/165.09 3612[label="reduce2Reduce0 (vyv264 * vyv265) (vyv266 * vyv267) (vyv264 * vyv265) (vyv266 * vyv267) True",fontsize=16,color="black",shape="box"];3612 -> 3624[label="",style="solid", color="black", weight=3]; 248.39/165.09 3613[label="error []",fontsize=16,color="red",shape="box"];3276[label="primMulNat (Succ vyv183000) (Succ (Succ vyv183000))",fontsize=16,color="black",shape="box"];3276 -> 3300[label="",style="solid", color="black", weight=3]; 248.39/165.09 3277[label="primMulNat Zero (Succ Zero)",fontsize=16,color="black",shape="box"];3277 -> 3301[label="",style="solid", color="black", weight=3]; 248.39/165.09 3840[label="primDivNatS0 (Succ vyv270000) vyv28400 (primGEqNatS (Succ vyv270000) vyv28400)",fontsize=16,color="burlywood",shape="box"];4504[label="vyv28400/Succ vyv284000",fontsize=10,color="white",style="solid",shape="box"];3840 -> 4504[label="",style="solid", color="burlywood", weight=9]; 248.39/165.09 4504 -> 3846[label="",style="solid", color="burlywood", weight=3]; 248.39/165.09 4505[label="vyv28400/Zero",fontsize=10,color="white",style="solid",shape="box"];3840 -> 4505[label="",style="solid", color="burlywood", weight=9]; 248.39/165.09 4505 -> 3847[label="",style="solid", color="burlywood", weight=3]; 248.39/165.09 3841[label="primDivNatS0 Zero vyv28400 (primGEqNatS Zero vyv28400)",fontsize=16,color="burlywood",shape="box"];4506[label="vyv28400/Succ vyv284000",fontsize=10,color="white",style="solid",shape="box"];3841 -> 4506[label="",style="solid", color="burlywood", weight=9]; 248.39/165.09 4506 -> 3848[label="",style="solid", color="burlywood", weight=3]; 248.39/165.09 4507[label="vyv28400/Zero",fontsize=10,color="white",style="solid",shape="box"];3841 -> 4507[label="",style="solid", color="burlywood", weight=9]; 248.39/165.09 4507 -> 3849[label="",style="solid", color="burlywood", weight=3]; 248.39/165.09 3296[label="primMinusInt (Neg (Succ vyv240)) vyv243",fontsize=16,color="burlywood",shape="box"];4508[label="vyv243/Pos vyv2430",fontsize=10,color="white",style="solid",shape="box"];3296 -> 4508[label="",style="solid", color="burlywood", weight=9]; 248.39/165.09 4508 -> 3323[label="",style="solid", color="burlywood", weight=3]; 248.39/165.09 4509[label="vyv243/Neg vyv2430",fontsize=10,color="white",style="solid",shape="box"];3296 -> 4509[label="",style="solid", color="burlywood", weight=9]; 248.39/165.09 4509 -> 3324[label="",style="solid", color="burlywood", weight=3]; 248.39/165.09 3297 -> 2999[label="",style="dashed", color="red", weight=0]; 248.39/165.09 3297[label="pr2F0 vyv239 (Neg (Succ vyv240) - vyv243) (vyv239 * vyv238)",fontsize=16,color="magenta"];3297 -> 3325[label="",style="dashed", color="magenta", weight=3]; 248.39/165.09 3297 -> 3326[label="",style="dashed", color="magenta", weight=3]; 248.39/165.09 3297 -> 3327[label="",style="dashed", color="magenta", weight=3]; 248.39/165.09 3298[label="vyv239 * vyv238",fontsize=16,color="blue",shape="box"];4510[label="* :: Double -> Double -> Double",fontsize=10,color="white",style="solid",shape="box"];3298 -> 4510[label="",style="solid", color="blue", weight=9]; 248.39/165.09 4510 -> 3328[label="",style="solid", color="blue", weight=3]; 248.39/165.09 4511[label="* :: (Ratio a) -> (Ratio a) -> Ratio a",fontsize=10,color="white",style="solid",shape="box"];3298 -> 4511[label="",style="solid", color="blue", weight=9]; 248.39/165.09 4511 -> 3329[label="",style="solid", color="blue", weight=3]; 248.39/165.09 4512[label="* :: Float -> Float -> Float",fontsize=10,color="white",style="solid",shape="box"];3298 -> 4512[label="",style="solid", color="blue", weight=9]; 248.39/165.09 4512 -> 3330[label="",style="solid", color="blue", weight=3]; 248.39/165.09 4513[label="* :: Integer -> Integer -> Integer",fontsize=10,color="white",style="solid",shape="box"];3298 -> 4513[label="",style="solid", color="blue", weight=9]; 248.39/165.09 4513 -> 3331[label="",style="solid", color="blue", weight=3]; 248.39/165.09 4514[label="* :: Int -> Int -> Int",fontsize=10,color="white",style="solid",shape="box"];3298 -> 4514[label="",style="solid", color="blue", weight=9]; 248.39/165.09 4514 -> 3332[label="",style="solid", color="blue", weight=3]; 248.39/165.09 3402[label="primMinusNat (Succ vyv228) vyv2440",fontsize=16,color="burlywood",shape="box"];4515[label="vyv2440/Succ vyv24400",fontsize=10,color="white",style="solid",shape="box"];3402 -> 4515[label="",style="solid", color="burlywood", weight=9]; 248.39/165.09 4515 -> 3446[label="",style="solid", color="burlywood", weight=3]; 248.39/165.09 4516[label="vyv2440/Zero",fontsize=10,color="white",style="solid",shape="box"];3402 -> 4516[label="",style="solid", color="burlywood", weight=9]; 248.39/165.09 4516 -> 3447[label="",style="solid", color="burlywood", weight=3]; 248.39/165.09 3403[label="Pos (primPlusNat (Succ vyv228) vyv2440)",fontsize=16,color="green",shape="box"];3403 -> 3448[label="",style="dashed", color="green", weight=3]; 248.39/165.09 3313[label="primEqInt (Pos (Succ vyv24100)) (fromInt (Pos Zero))",fontsize=16,color="black",shape="box"];3313 -> 3343[label="",style="solid", color="black", weight=3]; 248.39/165.09 3314[label="primEqInt (Pos Zero) (fromInt (Pos Zero))",fontsize=16,color="black",shape="box"];3314 -> 3344[label="",style="solid", color="black", weight=3]; 248.39/165.09 3315[label="primEqInt (Neg (Succ vyv24100)) (fromInt (Pos Zero))",fontsize=16,color="black",shape="box"];3315 -> 3345[label="",style="solid", color="black", weight=3]; 248.39/165.09 3316[label="primEqInt (Neg Zero) (fromInt (Pos Zero))",fontsize=16,color="black",shape="box"];3316 -> 3346[label="",style="solid", color="black", weight=3]; 248.39/165.09 3404 -> 3328[label="",style="dashed", color="red", weight=0]; 248.39/165.09 3404[label="vyv227 * vyv226",fontsize=16,color="magenta"];3404 -> 3449[label="",style="dashed", color="magenta", weight=3]; 248.39/165.09 3404 -> 3450[label="",style="dashed", color="magenta", weight=3]; 248.39/165.09 3405 -> 3329[label="",style="dashed", color="red", weight=0]; 248.39/165.09 3405[label="vyv227 * vyv226",fontsize=16,color="magenta"];3405 -> 3451[label="",style="dashed", color="magenta", weight=3]; 248.39/165.09 3405 -> 3452[label="",style="dashed", color="magenta", weight=3]; 248.39/165.09 3406 -> 3330[label="",style="dashed", color="red", weight=0]; 248.39/165.09 3406[label="vyv227 * vyv226",fontsize=16,color="magenta"];3406 -> 3453[label="",style="dashed", color="magenta", weight=3]; 248.39/165.09 3406 -> 3454[label="",style="dashed", color="magenta", weight=3]; 248.39/165.09 3407 -> 3331[label="",style="dashed", color="red", weight=0]; 248.39/165.09 3407[label="vyv227 * vyv226",fontsize=16,color="magenta"];3407 -> 3455[label="",style="dashed", color="magenta", weight=3]; 248.39/165.09 3407 -> 3456[label="",style="dashed", color="magenta", weight=3]; 248.39/165.09 3408 -> 3332[label="",style="dashed", color="red", weight=0]; 248.39/165.09 3408[label="vyv227 * vyv226",fontsize=16,color="magenta"];3408 -> 3457[label="",style="dashed", color="magenta", weight=3]; 248.39/165.09 3408 -> 3458[label="",style="dashed", color="magenta", weight=3]; 248.39/165.09 3409[label="vyv227",fontsize=16,color="green",shape="box"];3410[label="vyv226",fontsize=16,color="green",shape="box"];3328[label="vyv239 * vyv238",fontsize=16,color="black",shape="triangle"];3328 -> 3368[label="",style="solid", color="black", weight=3]; 248.39/165.09 3411[label="vyv227",fontsize=16,color="green",shape="box"];3412[label="vyv226",fontsize=16,color="green",shape="box"];3329[label="vyv239 * vyv238",fontsize=16,color="burlywood",shape="triangle"];4517[label="vyv239/vyv2390 :% vyv2391",fontsize=10,color="white",style="solid",shape="box"];3329 -> 4517[label="",style="solid", color="burlywood", weight=9]; 248.39/165.09 4517 -> 3369[label="",style="solid", color="burlywood", weight=3]; 248.39/165.09 3413[label="vyv227",fontsize=16,color="green",shape="box"];3414[label="vyv226",fontsize=16,color="green",shape="box"];3330[label="vyv239 * vyv238",fontsize=16,color="black",shape="triangle"];3330 -> 3370[label="",style="solid", color="black", weight=3]; 248.39/165.09 3415[label="vyv227",fontsize=16,color="green",shape="box"];3416[label="vyv226",fontsize=16,color="green",shape="box"];3331[label="vyv239 * vyv238",fontsize=16,color="black",shape="triangle"];3331 -> 3371[label="",style="solid", color="black", weight=3]; 248.39/165.09 3417[label="vyv227",fontsize=16,color="green",shape="box"];3418[label="vyv226",fontsize=16,color="green",shape="box"];3332[label="vyv239 * vyv238",fontsize=16,color="black",shape="triangle"];3332 -> 3372[label="",style="solid", color="black", weight=3]; 248.39/165.09 3615[label="Integer vyv2690 == Integer (Pos Zero)",fontsize=16,color="black",shape="box"];3615 -> 3625[label="",style="solid", color="black", weight=3]; 248.39/165.09 3624[label="vyv264 * vyv265 `quot` reduce2D (vyv264 * vyv265) (vyv266 * vyv267) :% (vyv266 * vyv267 `quot` reduce2D (vyv264 * vyv265) (vyv266 * vyv267))",fontsize=16,color="green",shape="box"];3624 -> 3628[label="",style="dashed", color="green", weight=3]; 248.39/165.09 3624 -> 3629[label="",style="dashed", color="green", weight=3]; 248.39/165.09 3300 -> 75[label="",style="dashed", color="red", weight=0]; 248.39/165.09 3300[label="primPlusNat (primMulNat vyv183000 (Succ (Succ vyv183000))) (Succ (Succ vyv183000))",fontsize=16,color="magenta"];3300 -> 3335[label="",style="dashed", color="magenta", weight=3]; 248.39/165.09 3300 -> 3336[label="",style="dashed", color="magenta", weight=3]; 248.39/165.09 3301[label="Zero",fontsize=16,color="green",shape="box"];3846[label="primDivNatS0 (Succ vyv270000) (Succ vyv284000) (primGEqNatS (Succ vyv270000) (Succ vyv284000))",fontsize=16,color="black",shape="box"];3846 -> 3853[label="",style="solid", color="black", weight=3]; 248.39/165.09 3847[label="primDivNatS0 (Succ vyv270000) Zero (primGEqNatS (Succ vyv270000) Zero)",fontsize=16,color="black",shape="box"];3847 -> 3854[label="",style="solid", color="black", weight=3]; 248.39/165.09 3848[label="primDivNatS0 Zero (Succ vyv284000) (primGEqNatS Zero (Succ vyv284000))",fontsize=16,color="black",shape="box"];3848 -> 3855[label="",style="solid", color="black", weight=3]; 248.39/165.09 3849[label="primDivNatS0 Zero Zero (primGEqNatS Zero Zero)",fontsize=16,color="black",shape="box"];3849 -> 3856[label="",style="solid", color="black", weight=3]; 248.39/165.09 3323[label="primMinusInt (Neg (Succ vyv240)) (Pos vyv2430)",fontsize=16,color="black",shape="box"];3323 -> 3361[label="",style="solid", color="black", weight=3]; 248.39/165.09 3324[label="primMinusInt (Neg (Succ vyv240)) (Neg vyv2430)",fontsize=16,color="black",shape="box"];3324 -> 3362[label="",style="solid", color="black", weight=3]; 248.39/165.09 3325[label="vyv239",fontsize=16,color="green",shape="box"];3326 -> 3271[label="",style="dashed", color="red", weight=0]; 248.39/165.09 3326[label="Neg (Succ vyv240) - vyv243",fontsize=16,color="magenta"];3327[label="vyv239 * vyv238",fontsize=16,color="blue",shape="box"];4518[label="* :: Double -> Double -> Double",fontsize=10,color="white",style="solid",shape="box"];3327 -> 4518[label="",style="solid", color="blue", weight=9]; 248.39/165.09 4518 -> 3363[label="",style="solid", color="blue", weight=3]; 248.39/165.09 4519[label="* :: (Ratio a) -> (Ratio a) -> Ratio a",fontsize=10,color="white",style="solid",shape="box"];3327 -> 4519[label="",style="solid", color="blue", weight=9]; 248.39/165.09 4519 -> 3364[label="",style="solid", color="blue", weight=3]; 248.39/165.09 4520[label="* :: Float -> Float -> Float",fontsize=10,color="white",style="solid",shape="box"];3327 -> 4520[label="",style="solid", color="blue", weight=9]; 248.39/165.09 4520 -> 3365[label="",style="solid", color="blue", weight=3]; 248.39/165.09 4521[label="* :: Integer -> Integer -> Integer",fontsize=10,color="white",style="solid",shape="box"];3327 -> 4521[label="",style="solid", color="blue", weight=9]; 248.39/165.09 4521 -> 3366[label="",style="solid", color="blue", weight=3]; 248.39/165.09 4522[label="* :: Int -> Int -> Int",fontsize=10,color="white",style="solid",shape="box"];3327 -> 4522[label="",style="solid", color="blue", weight=9]; 248.39/165.09 4522 -> 3367[label="",style="solid", color="blue", weight=3]; 248.39/165.09 3446[label="primMinusNat (Succ vyv228) (Succ vyv24400)",fontsize=16,color="black",shape="box"];3446 -> 3476[label="",style="solid", color="black", weight=3]; 248.39/165.09 3447[label="primMinusNat (Succ vyv228) Zero",fontsize=16,color="black",shape="box"];3447 -> 3477[label="",style="solid", color="black", weight=3]; 248.39/165.09 3448 -> 75[label="",style="dashed", color="red", weight=0]; 248.39/165.09 3448[label="primPlusNat (Succ vyv228) vyv2440",fontsize=16,color="magenta"];3448 -> 3478[label="",style="dashed", color="magenta", weight=3]; 248.39/165.09 3448 -> 3479[label="",style="dashed", color="magenta", weight=3]; 248.39/165.09 3343 -> 3317[label="",style="dashed", color="red", weight=0]; 248.39/165.09 3343[label="primEqInt (Pos (Succ vyv24100)) (Pos Zero)",fontsize=16,color="magenta"];3343 -> 3422[label="",style="dashed", color="magenta", weight=3]; 248.39/165.09 3344 -> 3317[label="",style="dashed", color="red", weight=0]; 248.39/165.09 3344[label="primEqInt (Pos Zero) (Pos Zero)",fontsize=16,color="magenta"];3344 -> 3423[label="",style="dashed", color="magenta", weight=3]; 248.39/165.09 3345 -> 3317[label="",style="dashed", color="red", weight=0]; 248.39/165.09 3345[label="primEqInt (Neg (Succ vyv24100)) (Pos Zero)",fontsize=16,color="magenta"];3345 -> 3424[label="",style="dashed", color="magenta", weight=3]; 248.39/165.09 3346 -> 3317[label="",style="dashed", color="red", weight=0]; 248.39/165.09 3346[label="primEqInt (Neg Zero) (Pos Zero)",fontsize=16,color="magenta"];3346 -> 3425[label="",style="dashed", color="magenta", weight=3]; 248.39/165.09 3449[label="vyv227",fontsize=16,color="green",shape="box"];3450[label="vyv226",fontsize=16,color="green",shape="box"];3451[label="vyv227",fontsize=16,color="green",shape="box"];3452[label="vyv226",fontsize=16,color="green",shape="box"];3453[label="vyv227",fontsize=16,color="green",shape="box"];3454[label="vyv226",fontsize=16,color="green",shape="box"];3455[label="vyv227",fontsize=16,color="green",shape="box"];3456[label="vyv226",fontsize=16,color="green",shape="box"];3457[label="vyv227",fontsize=16,color="green",shape="box"];3458[label="vyv226",fontsize=16,color="green",shape="box"];3368[label="error []",fontsize=16,color="red",shape="box"];3369[label="vyv2390 :% vyv2391 * vyv238",fontsize=16,color="burlywood",shape="box"];4523[label="vyv238/vyv2380 :% vyv2381",fontsize=10,color="white",style="solid",shape="box"];3369 -> 4523[label="",style="solid", color="burlywood", weight=9]; 248.39/165.09 4523 -> 3429[label="",style="solid", color="burlywood", weight=3]; 248.39/165.09 3370[label="error []",fontsize=16,color="red",shape="box"];3371[label="error []",fontsize=16,color="red",shape="box"];3372[label="primMulInt vyv239 vyv238",fontsize=16,color="burlywood",shape="box"];4524[label="vyv239/Pos vyv2390",fontsize=10,color="white",style="solid",shape="box"];3372 -> 4524[label="",style="solid", color="burlywood", weight=9]; 248.39/165.09 4524 -> 3430[label="",style="solid", color="burlywood", weight=3]; 248.39/165.09 4525[label="vyv239/Neg vyv2390",fontsize=10,color="white",style="solid",shape="box"];3372 -> 4525[label="",style="solid", color="burlywood", weight=9]; 248.39/165.09 4525 -> 3431[label="",style="solid", color="burlywood", weight=3]; 248.39/165.09 3625 -> 3317[label="",style="dashed", color="red", weight=0]; 248.39/165.09 3625[label="primEqInt vyv2690 (Pos Zero)",fontsize=16,color="magenta"];3625 -> 3630[label="",style="dashed", color="magenta", weight=3]; 248.39/165.09 3628[label="vyv264 * vyv265 `quot` reduce2D (vyv264 * vyv265) (vyv266 * vyv267)",fontsize=16,color="blue",shape="box"];4526[label="`quot` :: Int -> Int -> Int",fontsize=10,color="white",style="solid",shape="box"];3628 -> 4526[label="",style="solid", color="blue", weight=9]; 248.39/165.09 4526 -> 3633[label="",style="solid", color="blue", weight=3]; 248.39/165.09 4527[label="`quot` :: Integer -> Integer -> Integer",fontsize=10,color="white",style="solid",shape="box"];3628 -> 4527[label="",style="solid", color="blue", weight=9]; 248.39/165.09 4527 -> 3634[label="",style="solid", color="blue", weight=3]; 248.39/165.09 3629[label="vyv266 * vyv267 `quot` reduce2D (vyv264 * vyv265) (vyv266 * vyv267)",fontsize=16,color="blue",shape="box"];4528[label="`quot` :: Int -> Int -> Int",fontsize=10,color="white",style="solid",shape="box"];3629 -> 4528[label="",style="solid", color="blue", weight=9]; 248.39/165.09 4528 -> 3635[label="",style="solid", color="blue", weight=3]; 248.39/165.09 4529[label="`quot` :: Integer -> Integer -> Integer",fontsize=10,color="white",style="solid",shape="box"];3629 -> 4529[label="",style="solid", color="blue", weight=9]; 248.39/165.09 4529 -> 3636[label="",style="solid", color="blue", weight=3]; 248.39/165.09 3335[label="Succ (Succ vyv183000)",fontsize=16,color="green",shape="box"];3336[label="primMulNat vyv183000 (Succ (Succ vyv183000))",fontsize=16,color="burlywood",shape="box"];4530[label="vyv183000/Succ vyv1830000",fontsize=10,color="white",style="solid",shape="box"];3336 -> 4530[label="",style="solid", color="burlywood", weight=9]; 248.39/165.09 4530 -> 3377[label="",style="solid", color="burlywood", weight=3]; 248.39/165.09 4531[label="vyv183000/Zero",fontsize=10,color="white",style="solid",shape="box"];3336 -> 4531[label="",style="solid", color="burlywood", weight=9]; 248.39/165.09 4531 -> 3378[label="",style="solid", color="burlywood", weight=3]; 248.39/165.09 3853 -> 4114[label="",style="dashed", color="red", weight=0]; 248.39/165.09 3853[label="primDivNatS0 (Succ vyv270000) (Succ vyv284000) (primGEqNatS vyv270000 vyv284000)",fontsize=16,color="magenta"];3853 -> 4115[label="",style="dashed", color="magenta", weight=3]; 248.39/165.09 3853 -> 4116[label="",style="dashed", color="magenta", weight=3]; 248.39/165.09 3853 -> 4117[label="",style="dashed", color="magenta", weight=3]; 248.39/165.09 3853 -> 4118[label="",style="dashed", color="magenta", weight=3]; 248.39/165.09 3854[label="primDivNatS0 (Succ vyv270000) Zero True",fontsize=16,color="black",shape="box"];3854 -> 3861[label="",style="solid", color="black", weight=3]; 248.39/165.09 3855[label="primDivNatS0 Zero (Succ vyv284000) False",fontsize=16,color="black",shape="box"];3855 -> 3862[label="",style="solid", color="black", weight=3]; 248.39/165.09 3856[label="primDivNatS0 Zero Zero True",fontsize=16,color="black",shape="box"];3856 -> 3863[label="",style="solid", color="black", weight=3]; 248.39/165.09 3361[label="Neg (primPlusNat (Succ vyv240) vyv2430)",fontsize=16,color="green",shape="box"];3361 -> 3426[label="",style="dashed", color="green", weight=3]; 248.39/165.09 3362[label="primMinusNat vyv2430 (Succ vyv240)",fontsize=16,color="burlywood",shape="box"];4532[label="vyv2430/Succ vyv24300",fontsize=10,color="white",style="solid",shape="box"];3362 -> 4532[label="",style="solid", color="burlywood", weight=9]; 248.39/165.09 4532 -> 3427[label="",style="solid", color="burlywood", weight=3]; 248.39/165.09 4533[label="vyv2430/Zero",fontsize=10,color="white",style="solid",shape="box"];3362 -> 4533[label="",style="solid", color="burlywood", weight=9]; 248.39/165.09 4533 -> 3428[label="",style="solid", color="burlywood", weight=3]; 248.39/165.09 3363 -> 3328[label="",style="dashed", color="red", weight=0]; 248.39/165.09 3363[label="vyv239 * vyv238",fontsize=16,color="magenta"];3364 -> 3329[label="",style="dashed", color="red", weight=0]; 248.39/165.09 3364[label="vyv239 * vyv238",fontsize=16,color="magenta"];3365 -> 3330[label="",style="dashed", color="red", weight=0]; 248.39/165.09 3365[label="vyv239 * vyv238",fontsize=16,color="magenta"];3366 -> 3331[label="",style="dashed", color="red", weight=0]; 248.39/165.09 3366[label="vyv239 * vyv238",fontsize=16,color="magenta"];3367 -> 3332[label="",style="dashed", color="red", weight=0]; 248.39/165.09 3367[label="vyv239 * vyv238",fontsize=16,color="magenta"];3476[label="primMinusNat vyv228 vyv24400",fontsize=16,color="burlywood",shape="triangle"];4534[label="vyv228/Succ vyv2280",fontsize=10,color="white",style="solid",shape="box"];3476 -> 4534[label="",style="solid", color="burlywood", weight=9]; 248.39/165.09 4534 -> 3518[label="",style="solid", color="burlywood", weight=3]; 248.39/165.09 4535[label="vyv228/Zero",fontsize=10,color="white",style="solid",shape="box"];3476 -> 4535[label="",style="solid", color="burlywood", weight=9]; 248.39/165.09 4535 -> 3519[label="",style="solid", color="burlywood", weight=3]; 248.39/165.09 3477[label="Pos (Succ vyv228)",fontsize=16,color="green",shape="box"];3478[label="vyv2440",fontsize=16,color="green",shape="box"];3479[label="Succ vyv228",fontsize=16,color="green",shape="box"];3422[label="Pos (Succ vyv24100)",fontsize=16,color="green",shape="box"];3317[label="primEqInt vyv2420 (Pos Zero)",fontsize=16,color="burlywood",shape="triangle"];4536[label="vyv2420/Pos vyv24200",fontsize=10,color="white",style="solid",shape="box"];3317 -> 4536[label="",style="solid", color="burlywood", weight=9]; 248.39/165.09 4536 -> 3347[label="",style="solid", color="burlywood", weight=3]; 248.39/165.09 4537[label="vyv2420/Neg vyv24200",fontsize=10,color="white",style="solid",shape="box"];3317 -> 4537[label="",style="solid", color="burlywood", weight=9]; 248.39/165.09 4537 -> 3348[label="",style="solid", color="burlywood", weight=3]; 248.39/165.09 3423[label="Pos Zero",fontsize=16,color="green",shape="box"];3424[label="Neg (Succ vyv24100)",fontsize=16,color="green",shape="box"];3425[label="Neg Zero",fontsize=16,color="green",shape="box"];3429[label="vyv2390 :% vyv2391 * (vyv2380 :% vyv2381)",fontsize=16,color="black",shape="box"];3429 -> 3461[label="",style="solid", color="black", weight=3]; 248.39/165.09 3430[label="primMulInt (Pos vyv2390) vyv238",fontsize=16,color="burlywood",shape="box"];4538[label="vyv238/Pos vyv2380",fontsize=10,color="white",style="solid",shape="box"];3430 -> 4538[label="",style="solid", color="burlywood", weight=9]; 248.39/165.09 4538 -> 3462[label="",style="solid", color="burlywood", weight=3]; 248.39/165.09 4539[label="vyv238/Neg vyv2380",fontsize=10,color="white",style="solid",shape="box"];3430 -> 4539[label="",style="solid", color="burlywood", weight=9]; 248.39/165.09 4539 -> 3463[label="",style="solid", color="burlywood", weight=3]; 248.39/165.09 3431[label="primMulInt (Neg vyv2390) vyv238",fontsize=16,color="burlywood",shape="box"];4540[label="vyv238/Pos vyv2380",fontsize=10,color="white",style="solid",shape="box"];3431 -> 4540[label="",style="solid", color="burlywood", weight=9]; 248.39/165.09 4540 -> 3464[label="",style="solid", color="burlywood", weight=3]; 248.39/165.09 4541[label="vyv238/Neg vyv2380",fontsize=10,color="white",style="solid",shape="box"];3431 -> 4541[label="",style="solid", color="burlywood", weight=9]; 248.39/165.09 4541 -> 3465[label="",style="solid", color="burlywood", weight=3]; 248.39/165.09 3630[label="vyv2690",fontsize=16,color="green",shape="box"];3633 -> 3637[label="",style="dashed", color="red", weight=0]; 248.39/165.09 3633[label="vyv264 * vyv265 `quot` reduce2D (vyv264 * vyv265) (vyv266 * vyv267)",fontsize=16,color="magenta"];3633 -> 3638[label="",style="dashed", color="magenta", weight=3]; 248.39/165.09 3633 -> 3639[label="",style="dashed", color="magenta", weight=3]; 248.39/165.09 3633 -> 3640[label="",style="dashed", color="magenta", weight=3]; 248.39/165.09 3634 -> 3644[label="",style="dashed", color="red", weight=0]; 248.39/165.09 3634[label="vyv264 * vyv265 `quot` reduce2D (vyv264 * vyv265) (vyv266 * vyv267)",fontsize=16,color="magenta"];3634 -> 3645[label="",style="dashed", color="magenta", weight=3]; 248.39/165.09 3634 -> 3646[label="",style="dashed", color="magenta", weight=3]; 248.39/165.09 3634 -> 3647[label="",style="dashed", color="magenta", weight=3]; 248.39/165.09 3635 -> 3637[label="",style="dashed", color="red", weight=0]; 248.39/165.09 3635[label="vyv266 * vyv267 `quot` reduce2D (vyv264 * vyv265) (vyv266 * vyv267)",fontsize=16,color="magenta"];3635 -> 3641[label="",style="dashed", color="magenta", weight=3]; 248.39/165.09 3635 -> 3642[label="",style="dashed", color="magenta", weight=3]; 248.39/165.09 3635 -> 3643[label="",style="dashed", color="magenta", weight=3]; 248.39/165.09 3636 -> 3644[label="",style="dashed", color="red", weight=0]; 248.39/165.09 3636[label="vyv266 * vyv267 `quot` reduce2D (vyv264 * vyv265) (vyv266 * vyv267)",fontsize=16,color="magenta"];3636 -> 3648[label="",style="dashed", color="magenta", weight=3]; 248.39/165.09 3636 -> 3649[label="",style="dashed", color="magenta", weight=3]; 248.39/165.09 3636 -> 3650[label="",style="dashed", color="magenta", weight=3]; 248.39/165.09 3377[label="primMulNat (Succ vyv1830000) (Succ (Succ (Succ vyv1830000)))",fontsize=16,color="black",shape="box"];3377 -> 3480[label="",style="solid", color="black", weight=3]; 248.39/165.09 3378[label="primMulNat Zero (Succ (Succ Zero))",fontsize=16,color="black",shape="box"];3378 -> 3481[label="",style="solid", color="black", weight=3]; 248.39/165.09 4115[label="vyv270000",fontsize=16,color="green",shape="box"];4116[label="vyv284000",fontsize=16,color="green",shape="box"];4117[label="vyv270000",fontsize=16,color="green",shape="box"];4118[label="vyv284000",fontsize=16,color="green",shape="box"];4114[label="primDivNatS0 (Succ vyv310) (Succ vyv311) (primGEqNatS vyv312 vyv313)",fontsize=16,color="burlywood",shape="triangle"];4542[label="vyv312/Succ vyv3120",fontsize=10,color="white",style="solid",shape="box"];4114 -> 4542[label="",style="solid", color="burlywood", weight=9]; 248.39/165.09 4542 -> 4147[label="",style="solid", color="burlywood", weight=3]; 248.39/165.09 4543[label="vyv312/Zero",fontsize=10,color="white",style="solid",shape="box"];4114 -> 4543[label="",style="solid", color="burlywood", weight=9]; 248.39/165.09 4543 -> 4148[label="",style="solid", color="burlywood", weight=3]; 248.39/165.09 3861[label="Succ (primDivNatS (primMinusNatS (Succ vyv270000) Zero) (Succ Zero))",fontsize=16,color="green",shape="box"];3861 -> 3871[label="",style="dashed", color="green", weight=3]; 248.39/165.09 3862[label="Zero",fontsize=16,color="green",shape="box"];3863[label="Succ (primDivNatS (primMinusNatS Zero Zero) (Succ Zero))",fontsize=16,color="green",shape="box"];3863 -> 3872[label="",style="dashed", color="green", weight=3]; 248.39/165.09 3426 -> 75[label="",style="dashed", color="red", weight=0]; 248.39/165.09 3426[label="primPlusNat (Succ vyv240) vyv2430",fontsize=16,color="magenta"];3426 -> 3482[label="",style="dashed", color="magenta", weight=3]; 248.39/165.09 3426 -> 3483[label="",style="dashed", color="magenta", weight=3]; 248.39/165.09 3427[label="primMinusNat (Succ vyv24300) (Succ vyv240)",fontsize=16,color="black",shape="box"];3427 -> 3484[label="",style="solid", color="black", weight=3]; 248.39/165.09 3428[label="primMinusNat Zero (Succ vyv240)",fontsize=16,color="black",shape="box"];3428 -> 3485[label="",style="solid", color="black", weight=3]; 248.39/165.09 3518[label="primMinusNat (Succ vyv2280) vyv24400",fontsize=16,color="burlywood",shape="box"];4544[label="vyv24400/Succ vyv244000",fontsize=10,color="white",style="solid",shape="box"];3518 -> 4544[label="",style="solid", color="burlywood", weight=9]; 248.39/165.09 4544 -> 3539[label="",style="solid", color="burlywood", weight=3]; 248.39/165.09 4545[label="vyv24400/Zero",fontsize=10,color="white",style="solid",shape="box"];3518 -> 4545[label="",style="solid", color="burlywood", weight=9]; 248.39/165.09 4545 -> 3540[label="",style="solid", color="burlywood", weight=3]; 248.39/165.09 3519[label="primMinusNat Zero vyv24400",fontsize=16,color="burlywood",shape="box"];4546[label="vyv24400/Succ vyv244000",fontsize=10,color="white",style="solid",shape="box"];3519 -> 4546[label="",style="solid", color="burlywood", weight=9]; 248.39/165.09 4546 -> 3541[label="",style="solid", color="burlywood", weight=3]; 248.39/165.09 4547[label="vyv24400/Zero",fontsize=10,color="white",style="solid",shape="box"];3519 -> 4547[label="",style="solid", color="burlywood", weight=9]; 248.39/165.09 4547 -> 3542[label="",style="solid", color="burlywood", weight=3]; 248.39/165.09 3347[label="primEqInt (Pos vyv24200) (Pos Zero)",fontsize=16,color="burlywood",shape="box"];4548[label="vyv24200/Succ vyv242000",fontsize=10,color="white",style="solid",shape="box"];3347 -> 4548[label="",style="solid", color="burlywood", weight=9]; 248.39/165.09 4548 -> 3432[label="",style="solid", color="burlywood", weight=3]; 248.39/165.09 4549[label="vyv24200/Zero",fontsize=10,color="white",style="solid",shape="box"];3347 -> 4549[label="",style="solid", color="burlywood", weight=9]; 248.39/165.09 4549 -> 3433[label="",style="solid", color="burlywood", weight=3]; 248.39/165.09 3348[label="primEqInt (Neg vyv24200) (Pos Zero)",fontsize=16,color="burlywood",shape="box"];4550[label="vyv24200/Succ vyv242000",fontsize=10,color="white",style="solid",shape="box"];3348 -> 4550[label="",style="solid", color="burlywood", weight=9]; 248.39/165.09 4550 -> 3434[label="",style="solid", color="burlywood", weight=3]; 248.39/165.09 4551[label="vyv24200/Zero",fontsize=10,color="white",style="solid",shape="box"];3348 -> 4551[label="",style="solid", color="burlywood", weight=9]; 248.39/165.09 4551 -> 3435[label="",style="solid", color="burlywood", weight=3]; 248.39/165.09 3461[label="reduce (vyv2390 * vyv2380) (vyv2391 * vyv2381)",fontsize=16,color="black",shape="box"];3461 -> 3488[label="",style="solid", color="black", weight=3]; 248.39/165.09 3462[label="primMulInt (Pos vyv2390) (Pos vyv2380)",fontsize=16,color="black",shape="box"];3462 -> 3489[label="",style="solid", color="black", weight=3]; 248.39/165.09 3463[label="primMulInt (Pos vyv2390) (Neg vyv2380)",fontsize=16,color="black",shape="box"];3463 -> 3490[label="",style="solid", color="black", weight=3]; 248.39/165.09 3464[label="primMulInt (Neg vyv2390) (Pos vyv2380)",fontsize=16,color="black",shape="box"];3464 -> 3491[label="",style="solid", color="black", weight=3]; 248.39/165.09 3465[label="primMulInt (Neg vyv2390) (Neg vyv2380)",fontsize=16,color="black",shape="box"];3465 -> 3492[label="",style="solid", color="black", weight=3]; 248.39/165.09 3638 -> 3332[label="",style="dashed", color="red", weight=0]; 248.39/165.09 3638[label="vyv264 * vyv265",fontsize=16,color="magenta"];3638 -> 3651[label="",style="dashed", color="magenta", weight=3]; 248.39/165.09 3638 -> 3652[label="",style="dashed", color="magenta", weight=3]; 248.39/165.09 3639 -> 3332[label="",style="dashed", color="red", weight=0]; 248.39/165.09 3639[label="vyv266 * vyv267",fontsize=16,color="magenta"];3639 -> 3653[label="",style="dashed", color="magenta", weight=3]; 248.39/165.09 3639 -> 3654[label="",style="dashed", color="magenta", weight=3]; 248.39/165.09 3640 -> 3332[label="",style="dashed", color="red", weight=0]; 248.39/165.09 3640[label="vyv264 * vyv265",fontsize=16,color="magenta"];3640 -> 3655[label="",style="dashed", color="magenta", weight=3]; 248.39/165.09 3640 -> 3656[label="",style="dashed", color="magenta", weight=3]; 248.39/165.09 3637[label="vyv270 `quot` reduce2D vyv272 vyv271",fontsize=16,color="black",shape="triangle"];3637 -> 3657[label="",style="solid", color="black", weight=3]; 248.39/165.09 3645 -> 3331[label="",style="dashed", color="red", weight=0]; 248.39/165.09 3645[label="vyv266 * vyv267",fontsize=16,color="magenta"];3645 -> 3658[label="",style="dashed", color="magenta", weight=3]; 248.39/165.09 3645 -> 3659[label="",style="dashed", color="magenta", weight=3]; 248.39/165.09 3646 -> 3331[label="",style="dashed", color="red", weight=0]; 248.39/165.09 3646[label="vyv264 * vyv265",fontsize=16,color="magenta"];3646 -> 3660[label="",style="dashed", color="magenta", weight=3]; 248.39/165.09 3646 -> 3661[label="",style="dashed", color="magenta", weight=3]; 248.39/165.09 3647 -> 3331[label="",style="dashed", color="red", weight=0]; 248.39/165.09 3647[label="vyv264 * vyv265",fontsize=16,color="magenta"];3647 -> 3662[label="",style="dashed", color="magenta", weight=3]; 248.39/165.09 3647 -> 3663[label="",style="dashed", color="magenta", weight=3]; 248.39/165.09 3644[label="vyv273 `quot` reduce2D vyv275 vyv274",fontsize=16,color="black",shape="triangle"];3644 -> 3664[label="",style="solid", color="black", weight=3]; 248.39/165.09 3641 -> 3332[label="",style="dashed", color="red", weight=0]; 248.39/165.09 3641[label="vyv264 * vyv265",fontsize=16,color="magenta"];3641 -> 3665[label="",style="dashed", color="magenta", weight=3]; 248.39/165.09 3641 -> 3666[label="",style="dashed", color="magenta", weight=3]; 248.39/165.09 3642 -> 3332[label="",style="dashed", color="red", weight=0]; 248.39/165.09 3642[label="vyv266 * vyv267",fontsize=16,color="magenta"];3642 -> 3667[label="",style="dashed", color="magenta", weight=3]; 248.39/165.09 3642 -> 3668[label="",style="dashed", color="magenta", weight=3]; 248.39/165.09 3643 -> 3332[label="",style="dashed", color="red", weight=0]; 248.39/165.09 3643[label="vyv266 * vyv267",fontsize=16,color="magenta"];3643 -> 3669[label="",style="dashed", color="magenta", weight=3]; 248.39/165.09 3643 -> 3670[label="",style="dashed", color="magenta", weight=3]; 248.39/165.09 3648 -> 3331[label="",style="dashed", color="red", weight=0]; 248.39/165.09 3648[label="vyv266 * vyv267",fontsize=16,color="magenta"];3648 -> 3671[label="",style="dashed", color="magenta", weight=3]; 248.39/165.09 3648 -> 3672[label="",style="dashed", color="magenta", weight=3]; 248.39/165.09 3649 -> 3331[label="",style="dashed", color="red", weight=0]; 248.39/165.09 3649[label="vyv266 * vyv267",fontsize=16,color="magenta"];3649 -> 3673[label="",style="dashed", color="magenta", weight=3]; 248.39/165.09 3649 -> 3674[label="",style="dashed", color="magenta", weight=3]; 248.39/165.09 3650 -> 3331[label="",style="dashed", color="red", weight=0]; 248.39/165.09 3650[label="vyv264 * vyv265",fontsize=16,color="magenta"];3650 -> 3675[label="",style="dashed", color="magenta", weight=3]; 248.39/165.09 3650 -> 3676[label="",style="dashed", color="magenta", weight=3]; 248.39/165.09 3480 -> 75[label="",style="dashed", color="red", weight=0]; 248.39/165.09 3480[label="primPlusNat (primMulNat vyv1830000 (Succ (Succ (Succ vyv1830000)))) (Succ (Succ (Succ vyv1830000)))",fontsize=16,color="magenta"];3480 -> 3520[label="",style="dashed", color="magenta", weight=3]; 248.39/165.09 3480 -> 3521[label="",style="dashed", color="magenta", weight=3]; 248.39/165.09 3481[label="Zero",fontsize=16,color="green",shape="box"];4147[label="primDivNatS0 (Succ vyv310) (Succ vyv311) (primGEqNatS (Succ vyv3120) vyv313)",fontsize=16,color="burlywood",shape="box"];4552[label="vyv313/Succ vyv3130",fontsize=10,color="white",style="solid",shape="box"];4147 -> 4552[label="",style="solid", color="burlywood", weight=9]; 248.39/165.09 4552 -> 4154[label="",style="solid", color="burlywood", weight=3]; 248.39/165.09 4553[label="vyv313/Zero",fontsize=10,color="white",style="solid",shape="box"];4147 -> 4553[label="",style="solid", color="burlywood", weight=9]; 248.39/165.09 4553 -> 4155[label="",style="solid", color="burlywood", weight=3]; 248.39/165.09 4148[label="primDivNatS0 (Succ vyv310) (Succ vyv311) (primGEqNatS Zero vyv313)",fontsize=16,color="burlywood",shape="box"];4554[label="vyv313/Succ vyv3130",fontsize=10,color="white",style="solid",shape="box"];4148 -> 4554[label="",style="solid", color="burlywood", weight=9]; 248.39/165.09 4554 -> 4156[label="",style="solid", color="burlywood", weight=3]; 248.39/165.09 4555[label="vyv313/Zero",fontsize=10,color="white",style="solid",shape="box"];4148 -> 4555[label="",style="solid", color="burlywood", weight=9]; 248.39/165.09 4555 -> 4157[label="",style="solid", color="burlywood", weight=3]; 248.39/165.09 3871 -> 3814[label="",style="dashed", color="red", weight=0]; 248.39/165.09 3871[label="primDivNatS (primMinusNatS (Succ vyv270000) Zero) (Succ Zero)",fontsize=16,color="magenta"];3871 -> 3880[label="",style="dashed", color="magenta", weight=3]; 248.39/165.09 3871 -> 3881[label="",style="dashed", color="magenta", weight=3]; 248.39/165.09 3872 -> 3814[label="",style="dashed", color="red", weight=0]; 248.39/165.09 3872[label="primDivNatS (primMinusNatS Zero Zero) (Succ Zero)",fontsize=16,color="magenta"];3872 -> 3882[label="",style="dashed", color="magenta", weight=3]; 248.39/165.09 3872 -> 3883[label="",style="dashed", color="magenta", weight=3]; 248.39/165.09 3482[label="vyv2430",fontsize=16,color="green",shape="box"];3483[label="Succ vyv240",fontsize=16,color="green",shape="box"];3484 -> 3476[label="",style="dashed", color="red", weight=0]; 248.39/165.09 3484[label="primMinusNat vyv24300 vyv240",fontsize=16,color="magenta"];3484 -> 3522[label="",style="dashed", color="magenta", weight=3]; 248.39/165.09 3484 -> 3523[label="",style="dashed", color="magenta", weight=3]; 248.39/165.09 3485[label="Neg (Succ vyv240)",fontsize=16,color="green",shape="box"];3539[label="primMinusNat (Succ vyv2280) (Succ vyv244000)",fontsize=16,color="black",shape="box"];3539 -> 3573[label="",style="solid", color="black", weight=3]; 248.39/165.09 3540[label="primMinusNat (Succ vyv2280) Zero",fontsize=16,color="black",shape="box"];3540 -> 3574[label="",style="solid", color="black", weight=3]; 248.39/165.09 3541[label="primMinusNat Zero (Succ vyv244000)",fontsize=16,color="black",shape="box"];3541 -> 3575[label="",style="solid", color="black", weight=3]; 248.39/165.09 3542[label="primMinusNat Zero Zero",fontsize=16,color="black",shape="box"];3542 -> 3576[label="",style="solid", color="black", weight=3]; 248.39/165.09 3432[label="primEqInt (Pos (Succ vyv242000)) (Pos Zero)",fontsize=16,color="black",shape="box"];3432 -> 3493[label="",style="solid", color="black", weight=3]; 248.39/165.09 3433[label="primEqInt (Pos Zero) (Pos Zero)",fontsize=16,color="black",shape="box"];3433 -> 3494[label="",style="solid", color="black", weight=3]; 248.39/165.09 3434[label="primEqInt (Neg (Succ vyv242000)) (Pos Zero)",fontsize=16,color="black",shape="box"];3434 -> 3495[label="",style="solid", color="black", weight=3]; 248.39/165.09 3435[label="primEqInt (Neg Zero) (Pos Zero)",fontsize=16,color="black",shape="box"];3435 -> 3496[label="",style="solid", color="black", weight=3]; 248.39/165.09 3488[label="reduce2 (vyv2390 * vyv2380) (vyv2391 * vyv2381)",fontsize=16,color="black",shape="box"];3488 -> 3526[label="",style="solid", color="black", weight=3]; 248.39/165.09 3489[label="Pos (primMulNat vyv2390 vyv2380)",fontsize=16,color="green",shape="box"];3489 -> 3527[label="",style="dashed", color="green", weight=3]; 248.39/165.09 3490[label="Neg (primMulNat vyv2390 vyv2380)",fontsize=16,color="green",shape="box"];3490 -> 3528[label="",style="dashed", color="green", weight=3]; 248.39/165.09 3491[label="Neg (primMulNat vyv2390 vyv2380)",fontsize=16,color="green",shape="box"];3491 -> 3529[label="",style="dashed", color="green", weight=3]; 248.39/165.09 3492[label="Pos (primMulNat vyv2390 vyv2380)",fontsize=16,color="green",shape="box"];3492 -> 3530[label="",style="dashed", color="green", weight=3]; 248.39/165.09 3651[label="vyv264",fontsize=16,color="green",shape="box"];3652[label="vyv265",fontsize=16,color="green",shape="box"];3653[label="vyv266",fontsize=16,color="green",shape="box"];3654[label="vyv267",fontsize=16,color="green",shape="box"];3655[label="vyv264",fontsize=16,color="green",shape="box"];3656[label="vyv265",fontsize=16,color="green",shape="box"];3657[label="primQuotInt vyv270 (reduce2D vyv272 vyv271)",fontsize=16,color="burlywood",shape="box"];4556[label="vyv270/Pos vyv2700",fontsize=10,color="white",style="solid",shape="box"];3657 -> 4556[label="",style="solid", color="burlywood", weight=9]; 248.39/165.09 4556 -> 3677[label="",style="solid", color="burlywood", weight=3]; 248.39/165.09 4557[label="vyv270/Neg vyv2700",fontsize=10,color="white",style="solid",shape="box"];3657 -> 4557[label="",style="solid", color="burlywood", weight=9]; 248.39/165.09 4557 -> 3678[label="",style="solid", color="burlywood", weight=3]; 248.39/165.09 3658[label="vyv266",fontsize=16,color="green",shape="box"];3659[label="vyv267",fontsize=16,color="green",shape="box"];3660[label="vyv264",fontsize=16,color="green",shape="box"];3661[label="vyv265",fontsize=16,color="green",shape="box"];3662[label="vyv264",fontsize=16,color="green",shape="box"];3663[label="vyv265",fontsize=16,color="green",shape="box"];3664[label="error []",fontsize=16,color="red",shape="box"];3665[label="vyv264",fontsize=16,color="green",shape="box"];3666[label="vyv265",fontsize=16,color="green",shape="box"];3667[label="vyv266",fontsize=16,color="green",shape="box"];3668[label="vyv267",fontsize=16,color="green",shape="box"];3669[label="vyv266",fontsize=16,color="green",shape="box"];3670[label="vyv267",fontsize=16,color="green",shape="box"];3671[label="vyv266",fontsize=16,color="green",shape="box"];3672[label="vyv267",fontsize=16,color="green",shape="box"];3673[label="vyv266",fontsize=16,color="green",shape="box"];3674[label="vyv267",fontsize=16,color="green",shape="box"];3675[label="vyv264",fontsize=16,color="green",shape="box"];3676[label="vyv265",fontsize=16,color="green",shape="box"];3520[label="Succ (Succ (Succ vyv1830000))",fontsize=16,color="green",shape="box"];3521[label="primMulNat vyv1830000 (Succ (Succ (Succ vyv1830000)))",fontsize=16,color="burlywood",shape="box"];4558[label="vyv1830000/Succ vyv18300000",fontsize=10,color="white",style="solid",shape="box"];3521 -> 4558[label="",style="solid", color="burlywood", weight=9]; 248.39/165.09 4558 -> 3543[label="",style="solid", color="burlywood", weight=3]; 248.39/165.09 4559[label="vyv1830000/Zero",fontsize=10,color="white",style="solid",shape="box"];3521 -> 4559[label="",style="solid", color="burlywood", weight=9]; 248.39/165.09 4559 -> 3544[label="",style="solid", color="burlywood", weight=3]; 248.39/165.09 4154[label="primDivNatS0 (Succ vyv310) (Succ vyv311) (primGEqNatS (Succ vyv3120) (Succ vyv3130))",fontsize=16,color="black",shape="box"];4154 -> 4162[label="",style="solid", color="black", weight=3]; 248.39/165.09 4155[label="primDivNatS0 (Succ vyv310) (Succ vyv311) (primGEqNatS (Succ vyv3120) Zero)",fontsize=16,color="black",shape="box"];4155 -> 4163[label="",style="solid", color="black", weight=3]; 248.39/165.09 4156[label="primDivNatS0 (Succ vyv310) (Succ vyv311) (primGEqNatS Zero (Succ vyv3130))",fontsize=16,color="black",shape="box"];4156 -> 4164[label="",style="solid", color="black", weight=3]; 248.39/165.09 4157[label="primDivNatS0 (Succ vyv310) (Succ vyv311) (primGEqNatS Zero Zero)",fontsize=16,color="black",shape="box"];4157 -> 4165[label="",style="solid", color="black", weight=3]; 248.39/165.09 3880[label="primMinusNatS (Succ vyv270000) Zero",fontsize=16,color="black",shape="triangle"];3880 -> 3893[label="",style="solid", color="black", weight=3]; 248.39/165.09 3881[label="Zero",fontsize=16,color="green",shape="box"];3882[label="primMinusNatS Zero Zero",fontsize=16,color="black",shape="triangle"];3882 -> 3894[label="",style="solid", color="black", weight=3]; 248.39/165.09 3883[label="Zero",fontsize=16,color="green",shape="box"];3522[label="vyv240",fontsize=16,color="green",shape="box"];3523[label="vyv24300",fontsize=16,color="green",shape="box"];3573 -> 3476[label="",style="dashed", color="red", weight=0]; 248.39/165.09 3573[label="primMinusNat vyv2280 vyv244000",fontsize=16,color="magenta"];3573 -> 3600[label="",style="dashed", color="magenta", weight=3]; 248.39/165.09 3573 -> 3601[label="",style="dashed", color="magenta", weight=3]; 248.39/165.09 3574[label="Pos (Succ vyv2280)",fontsize=16,color="green",shape="box"];3575[label="Neg (Succ vyv244000)",fontsize=16,color="green",shape="box"];3576[label="Pos Zero",fontsize=16,color="green",shape="box"];3493[label="False",fontsize=16,color="green",shape="box"];3494[label="True",fontsize=16,color="green",shape="box"];3495[label="False",fontsize=16,color="green",shape="box"];3496[label="True",fontsize=16,color="green",shape="box"];3526 -> 3547[label="",style="dashed", color="red", weight=0]; 248.39/165.09 3526[label="reduce2Reduce1 (vyv2390 * vyv2380) (vyv2391 * vyv2381) (vyv2390 * vyv2380) (vyv2391 * vyv2381) (vyv2391 * vyv2381 == fromInt (Pos Zero))",fontsize=16,color="magenta"];3526 -> 3558[label="",style="dashed", color="magenta", weight=3]; 248.39/165.09 3526 -> 3559[label="",style="dashed", color="magenta", weight=3]; 248.39/165.09 3526 -> 3560[label="",style="dashed", color="magenta", weight=3]; 248.39/165.09 3526 -> 3561[label="",style="dashed", color="magenta", weight=3]; 248.39/165.09 3526 -> 3562[label="",style="dashed", color="magenta", weight=3]; 248.39/165.09 3527[label="primMulNat vyv2390 vyv2380",fontsize=16,color="burlywood",shape="triangle"];4560[label="vyv2390/Succ vyv23900",fontsize=10,color="white",style="solid",shape="box"];3527 -> 4560[label="",style="solid", color="burlywood", weight=9]; 248.39/165.09 4560 -> 3577[label="",style="solid", color="burlywood", weight=3]; 248.39/165.09 4561[label="vyv2390/Zero",fontsize=10,color="white",style="solid",shape="box"];3527 -> 4561[label="",style="solid", color="burlywood", weight=9]; 248.39/165.09 4561 -> 3578[label="",style="solid", color="burlywood", weight=3]; 248.39/165.09 3528 -> 3527[label="",style="dashed", color="red", weight=0]; 248.39/165.09 3528[label="primMulNat vyv2390 vyv2380",fontsize=16,color="magenta"];3528 -> 3579[label="",style="dashed", color="magenta", weight=3]; 248.39/165.09 3529 -> 3527[label="",style="dashed", color="red", weight=0]; 248.39/165.09 3529[label="primMulNat vyv2390 vyv2380",fontsize=16,color="magenta"];3529 -> 3580[label="",style="dashed", color="magenta", weight=3]; 248.39/165.09 3530 -> 3527[label="",style="dashed", color="red", weight=0]; 248.39/165.09 3530[label="primMulNat vyv2390 vyv2380",fontsize=16,color="magenta"];3530 -> 3581[label="",style="dashed", color="magenta", weight=3]; 248.39/165.09 3530 -> 3582[label="",style="dashed", color="magenta", weight=3]; 248.39/165.09 3677[label="primQuotInt (Pos vyv2700) (reduce2D vyv272 vyv271)",fontsize=16,color="black",shape="box"];3677 -> 3679[label="",style="solid", color="black", weight=3]; 248.39/165.09 3678[label="primQuotInt (Neg vyv2700) (reduce2D vyv272 vyv271)",fontsize=16,color="black",shape="box"];3678 -> 3680[label="",style="solid", color="black", weight=3]; 248.39/165.09 3543[label="primMulNat (Succ vyv18300000) (Succ (Succ (Succ (Succ vyv18300000))))",fontsize=16,color="black",shape="box"];3543 -> 3583[label="",style="solid", color="black", weight=3]; 248.39/165.09 3544[label="primMulNat Zero (Succ (Succ (Succ Zero)))",fontsize=16,color="black",shape="box"];3544 -> 3584[label="",style="solid", color="black", weight=3]; 248.39/165.09 4162 -> 4114[label="",style="dashed", color="red", weight=0]; 248.39/165.09 4162[label="primDivNatS0 (Succ vyv310) (Succ vyv311) (primGEqNatS vyv3120 vyv3130)",fontsize=16,color="magenta"];4162 -> 4171[label="",style="dashed", color="magenta", weight=3]; 248.39/165.09 4162 -> 4172[label="",style="dashed", color="magenta", weight=3]; 248.39/165.09 4163[label="primDivNatS0 (Succ vyv310) (Succ vyv311) True",fontsize=16,color="black",shape="triangle"];4163 -> 4173[label="",style="solid", color="black", weight=3]; 248.39/165.09 4164[label="primDivNatS0 (Succ vyv310) (Succ vyv311) False",fontsize=16,color="black",shape="box"];4164 -> 4174[label="",style="solid", color="black", weight=3]; 248.39/165.09 4165 -> 4163[label="",style="dashed", color="red", weight=0]; 248.39/165.09 4165[label="primDivNatS0 (Succ vyv310) (Succ vyv311) True",fontsize=16,color="magenta"];3893[label="Succ vyv270000",fontsize=16,color="green",shape="box"];3894[label="Zero",fontsize=16,color="green",shape="box"];3600[label="vyv244000",fontsize=16,color="green",shape="box"];3601[label="vyv2280",fontsize=16,color="green",shape="box"];3558[label="vyv2390",fontsize=16,color="green",shape="box"];3559[label="vyv2381",fontsize=16,color="green",shape="box"];3560[label="vyv2380",fontsize=16,color="green",shape="box"];3561[label="vyv2391",fontsize=16,color="green",shape="box"];3562[label="vyv2391 * vyv2381 == fromInt (Pos Zero)",fontsize=16,color="blue",shape="box"];4562[label="== :: Int -> Int -> Bool",fontsize=10,color="white",style="solid",shape="box"];3562 -> 4562[label="",style="solid", color="blue", weight=9]; 248.39/165.09 4562 -> 3587[label="",style="solid", color="blue", weight=3]; 248.39/165.09 4563[label="== :: Integer -> Integer -> Bool",fontsize=10,color="white",style="solid",shape="box"];3562 -> 4563[label="",style="solid", color="blue", weight=9]; 248.39/165.09 4563 -> 3588[label="",style="solid", color="blue", weight=3]; 248.39/165.09 3577[label="primMulNat (Succ vyv23900) vyv2380",fontsize=16,color="burlywood",shape="box"];4564[label="vyv2380/Succ vyv23800",fontsize=10,color="white",style="solid",shape="box"];3577 -> 4564[label="",style="solid", color="burlywood", weight=9]; 248.39/165.09 4564 -> 3602[label="",style="solid", color="burlywood", weight=3]; 248.39/165.09 4565[label="vyv2380/Zero",fontsize=10,color="white",style="solid",shape="box"];3577 -> 4565[label="",style="solid", color="burlywood", weight=9]; 248.39/165.09 4565 -> 3603[label="",style="solid", color="burlywood", weight=3]; 248.39/165.09 3578[label="primMulNat Zero vyv2380",fontsize=16,color="burlywood",shape="box"];4566[label="vyv2380/Succ vyv23800",fontsize=10,color="white",style="solid",shape="box"];3578 -> 4566[label="",style="solid", color="burlywood", weight=9]; 248.39/165.09 4566 -> 3604[label="",style="solid", color="burlywood", weight=3]; 248.39/165.09 4567[label="vyv2380/Zero",fontsize=10,color="white",style="solid",shape="box"];3578 -> 4567[label="",style="solid", color="burlywood", weight=9]; 248.39/165.09 4567 -> 3605[label="",style="solid", color="burlywood", weight=3]; 248.39/165.09 3579[label="vyv2380",fontsize=16,color="green",shape="box"];3580[label="vyv2390",fontsize=16,color="green",shape="box"];3581[label="vyv2390",fontsize=16,color="green",shape="box"];3582[label="vyv2380",fontsize=16,color="green",shape="box"];3679 -> 3740[label="",style="dashed", color="red", weight=0]; 248.39/165.09 3679[label="primQuotInt (Pos vyv2700) (gcd vyv272 vyv271)",fontsize=16,color="magenta"];3679 -> 3749[label="",style="dashed", color="magenta", weight=3]; 248.39/165.09 3680 -> 3777[label="",style="dashed", color="red", weight=0]; 248.39/165.09 3680[label="primQuotInt (Neg vyv2700) (gcd vyv272 vyv271)",fontsize=16,color="magenta"];3680 -> 3786[label="",style="dashed", color="magenta", weight=3]; 248.39/165.09 3583 -> 75[label="",style="dashed", color="red", weight=0]; 248.39/165.09 3583[label="primPlusNat (primMulNat vyv18300000 (Succ (Succ (Succ (Succ vyv18300000))))) (Succ (Succ (Succ (Succ vyv18300000))))",fontsize=16,color="magenta"];3583 -> 3606[label="",style="dashed", color="magenta", weight=3]; 248.39/165.09 3583 -> 3607[label="",style="dashed", color="magenta", weight=3]; 248.39/165.09 3584[label="Zero",fontsize=16,color="green",shape="box"];4171[label="vyv3120",fontsize=16,color="green",shape="box"];4172[label="vyv3130",fontsize=16,color="green",shape="box"];4173[label="Succ (primDivNatS (primMinusNatS (Succ vyv310) (Succ vyv311)) (Succ (Succ vyv311)))",fontsize=16,color="green",shape="box"];4173 -> 4183[label="",style="dashed", color="green", weight=3]; 248.39/165.09 4174[label="Zero",fontsize=16,color="green",shape="box"];3587 -> 3217[label="",style="dashed", color="red", weight=0]; 248.39/165.09 3587[label="vyv2391 * vyv2381 == fromInt (Pos Zero)",fontsize=16,color="magenta"];3587 -> 3609[label="",style="dashed", color="magenta", weight=3]; 248.39/165.09 3588 -> 3591[label="",style="dashed", color="red", weight=0]; 248.39/165.09 3588[label="vyv2391 * vyv2381 == fromInt (Pos Zero)",fontsize=16,color="magenta"];3588 -> 3593[label="",style="dashed", color="magenta", weight=3]; 248.39/165.09 3602[label="primMulNat (Succ vyv23900) (Succ vyv23800)",fontsize=16,color="black",shape="box"];3602 -> 3616[label="",style="solid", color="black", weight=3]; 248.39/165.09 3603[label="primMulNat (Succ vyv23900) Zero",fontsize=16,color="black",shape="box"];3603 -> 3617[label="",style="solid", color="black", weight=3]; 248.39/165.09 3604[label="primMulNat Zero (Succ vyv23800)",fontsize=16,color="black",shape="box"];3604 -> 3618[label="",style="solid", color="black", weight=3]; 248.39/165.09 3605[label="primMulNat Zero Zero",fontsize=16,color="black",shape="box"];3605 -> 3619[label="",style="solid", color="black", weight=3]; 248.39/165.09 3749[label="gcd vyv272 vyv271",fontsize=16,color="black",shape="triangle"];3749 -> 3768[label="",style="solid", color="black", weight=3]; 248.39/165.09 3786 -> 3749[label="",style="dashed", color="red", weight=0]; 248.39/165.09 3786[label="gcd vyv272 vyv271",fontsize=16,color="magenta"];3606[label="Succ (Succ (Succ (Succ vyv18300000)))",fontsize=16,color="green",shape="box"];3607 -> 3527[label="",style="dashed", color="red", weight=0]; 248.39/165.09 3607[label="primMulNat vyv18300000 (Succ (Succ (Succ (Succ vyv18300000))))",fontsize=16,color="magenta"];3607 -> 3620[label="",style="dashed", color="magenta", weight=3]; 248.39/165.09 3607 -> 3621[label="",style="dashed", color="magenta", weight=3]; 248.39/165.09 4183 -> 3814[label="",style="dashed", color="red", weight=0]; 248.39/165.09 4183[label="primDivNatS (primMinusNatS (Succ vyv310) (Succ vyv311)) (Succ (Succ vyv311))",fontsize=16,color="magenta"];4183 -> 4189[label="",style="dashed", color="magenta", weight=3]; 248.39/165.09 4183 -> 4190[label="",style="dashed", color="magenta", weight=3]; 248.39/165.09 3609 -> 3332[label="",style="dashed", color="red", weight=0]; 248.39/165.09 3609[label="vyv2391 * vyv2381",fontsize=16,color="magenta"];3609 -> 3622[label="",style="dashed", color="magenta", weight=3]; 248.39/165.09 3609 -> 3623[label="",style="dashed", color="magenta", weight=3]; 248.39/165.09 3593 -> 3331[label="",style="dashed", color="red", weight=0]; 248.39/165.09 3593[label="vyv2391 * vyv2381",fontsize=16,color="magenta"];3593 -> 3610[label="",style="dashed", color="magenta", weight=3]; 248.39/165.09 3593 -> 3611[label="",style="dashed", color="magenta", weight=3]; 248.39/165.09 3616 -> 75[label="",style="dashed", color="red", weight=0]; 248.39/165.09 3616[label="primPlusNat (primMulNat vyv23900 (Succ vyv23800)) (Succ vyv23800)",fontsize=16,color="magenta"];3616 -> 3626[label="",style="dashed", color="magenta", weight=3]; 248.39/165.09 3616 -> 3627[label="",style="dashed", color="magenta", weight=3]; 248.39/165.09 3617[label="Zero",fontsize=16,color="green",shape="box"];3618[label="Zero",fontsize=16,color="green",shape="box"];3619[label="Zero",fontsize=16,color="green",shape="box"];3768[label="gcd3 vyv272 vyv271",fontsize=16,color="black",shape="box"];3768 -> 3776[label="",style="solid", color="black", weight=3]; 248.39/165.09 3620[label="vyv18300000",fontsize=16,color="green",shape="box"];3621[label="Succ (Succ (Succ (Succ vyv18300000)))",fontsize=16,color="green",shape="box"];4189[label="primMinusNatS (Succ vyv310) (Succ vyv311)",fontsize=16,color="black",shape="box"];4189 -> 4196[label="",style="solid", color="black", weight=3]; 248.39/165.09 4190[label="Succ vyv311",fontsize=16,color="green",shape="box"];3622[label="vyv2391",fontsize=16,color="green",shape="box"];3623[label="vyv2381",fontsize=16,color="green",shape="box"];3610[label="vyv2391",fontsize=16,color="green",shape="box"];3611[label="vyv2381",fontsize=16,color="green",shape="box"];3626[label="Succ vyv23800",fontsize=16,color="green",shape="box"];3627 -> 3527[label="",style="dashed", color="red", weight=0]; 248.39/165.09 3627[label="primMulNat vyv23900 (Succ vyv23800)",fontsize=16,color="magenta"];3627 -> 3631[label="",style="dashed", color="magenta", weight=3]; 248.39/165.09 3627 -> 3632[label="",style="dashed", color="magenta", weight=3]; 248.39/165.09 3776 -> 3808[label="",style="dashed", color="red", weight=0]; 248.39/165.09 3776[label="gcd2 (vyv272 == fromInt (Pos Zero)) vyv272 vyv271",fontsize=16,color="magenta"];3776 -> 3809[label="",style="dashed", color="magenta", weight=3]; 248.39/165.09 4196[label="primMinusNatS vyv310 vyv311",fontsize=16,color="burlywood",shape="triangle"];4568[label="vyv310/Succ vyv3100",fontsize=10,color="white",style="solid",shape="box"];4196 -> 4568[label="",style="solid", color="burlywood", weight=9]; 248.39/165.09 4568 -> 4205[label="",style="solid", color="burlywood", weight=3]; 248.39/165.09 4569[label="vyv310/Zero",fontsize=10,color="white",style="solid",shape="box"];4196 -> 4569[label="",style="solid", color="burlywood", weight=9]; 248.39/165.09 4569 -> 4206[label="",style="solid", color="burlywood", weight=3]; 248.39/165.09 3631[label="vyv23900",fontsize=16,color="green",shape="box"];3632[label="Succ vyv23800",fontsize=16,color="green",shape="box"];3809 -> 3217[label="",style="dashed", color="red", weight=0]; 248.39/165.09 3809[label="vyv272 == fromInt (Pos Zero)",fontsize=16,color="magenta"];3809 -> 3817[label="",style="dashed", color="magenta", weight=3]; 248.39/165.09 3808[label="gcd2 vyv288 vyv272 vyv271",fontsize=16,color="burlywood",shape="triangle"];4570[label="vyv288/False",fontsize=10,color="white",style="solid",shape="box"];3808 -> 4570[label="",style="solid", color="burlywood", weight=9]; 248.39/165.09 4570 -> 3818[label="",style="solid", color="burlywood", weight=3]; 248.39/165.09 4571[label="vyv288/True",fontsize=10,color="white",style="solid",shape="box"];3808 -> 4571[label="",style="solid", color="burlywood", weight=9]; 248.39/165.09 4571 -> 3819[label="",style="solid", color="burlywood", weight=3]; 248.39/165.09 4205[label="primMinusNatS (Succ vyv3100) vyv311",fontsize=16,color="burlywood",shape="box"];4572[label="vyv311/Succ vyv3110",fontsize=10,color="white",style="solid",shape="box"];4205 -> 4572[label="",style="solid", color="burlywood", weight=9]; 248.39/165.09 4572 -> 4215[label="",style="solid", color="burlywood", weight=3]; 248.39/165.09 4573[label="vyv311/Zero",fontsize=10,color="white",style="solid",shape="box"];4205 -> 4573[label="",style="solid", color="burlywood", weight=9]; 248.39/165.09 4573 -> 4216[label="",style="solid", color="burlywood", weight=3]; 248.39/165.09 4206[label="primMinusNatS Zero vyv311",fontsize=16,color="burlywood",shape="box"];4574[label="vyv311/Succ vyv3110",fontsize=10,color="white",style="solid",shape="box"];4206 -> 4574[label="",style="solid", color="burlywood", weight=9]; 248.39/165.09 4574 -> 4217[label="",style="solid", color="burlywood", weight=3]; 248.39/165.09 4575[label="vyv311/Zero",fontsize=10,color="white",style="solid",shape="box"];4206 -> 4575[label="",style="solid", color="burlywood", weight=9]; 248.39/165.09 4575 -> 4218[label="",style="solid", color="burlywood", weight=3]; 248.39/165.09 3817[label="vyv272",fontsize=16,color="green",shape="box"];3818[label="gcd2 False vyv272 vyv271",fontsize=16,color="black",shape="box"];3818 -> 3827[label="",style="solid", color="black", weight=3]; 248.39/165.09 3819[label="gcd2 True vyv272 vyv271",fontsize=16,color="black",shape="box"];3819 -> 3828[label="",style="solid", color="black", weight=3]; 248.39/165.09 4215[label="primMinusNatS (Succ vyv3100) (Succ vyv3110)",fontsize=16,color="black",shape="box"];4215 -> 4224[label="",style="solid", color="black", weight=3]; 248.39/165.09 4216[label="primMinusNatS (Succ vyv3100) Zero",fontsize=16,color="black",shape="box"];4216 -> 4225[label="",style="solid", color="black", weight=3]; 248.39/165.09 4217[label="primMinusNatS Zero (Succ vyv3110)",fontsize=16,color="black",shape="box"];4217 -> 4226[label="",style="solid", color="black", weight=3]; 248.39/165.09 4218[label="primMinusNatS Zero Zero",fontsize=16,color="black",shape="box"];4218 -> 4227[label="",style="solid", color="black", weight=3]; 248.39/165.09 3827[label="gcd0 vyv272 vyv271",fontsize=16,color="black",shape="triangle"];3827 -> 3833[label="",style="solid", color="black", weight=3]; 248.39/165.09 3828 -> 3834[label="",style="dashed", color="red", weight=0]; 248.39/165.09 3828[label="gcd1 (vyv271 == fromInt (Pos Zero)) vyv272 vyv271",fontsize=16,color="magenta"];3828 -> 3835[label="",style="dashed", color="magenta", weight=3]; 248.39/165.09 4224 -> 4196[label="",style="dashed", color="red", weight=0]; 248.39/165.09 4224[label="primMinusNatS vyv3100 vyv3110",fontsize=16,color="magenta"];4224 -> 4236[label="",style="dashed", color="magenta", weight=3]; 248.39/165.09 4224 -> 4237[label="",style="dashed", color="magenta", weight=3]; 248.39/165.09 4225[label="Succ vyv3100",fontsize=16,color="green",shape="box"];4226[label="Zero",fontsize=16,color="green",shape="box"];4227[label="Zero",fontsize=16,color="green",shape="box"];3833[label="gcd0Gcd' (abs vyv272) (abs vyv271)",fontsize=16,color="black",shape="box"];3833 -> 3842[label="",style="solid", color="black", weight=3]; 248.39/165.09 3835 -> 3217[label="",style="dashed", color="red", weight=0]; 248.39/165.09 3835[label="vyv271 == fromInt (Pos Zero)",fontsize=16,color="magenta"];3835 -> 3843[label="",style="dashed", color="magenta", weight=3]; 248.39/165.09 3834[label="gcd1 vyv289 vyv272 vyv271",fontsize=16,color="burlywood",shape="triangle"];4576[label="vyv289/False",fontsize=10,color="white",style="solid",shape="box"];3834 -> 4576[label="",style="solid", color="burlywood", weight=9]; 248.39/165.09 4576 -> 3844[label="",style="solid", color="burlywood", weight=3]; 248.39/165.09 4577[label="vyv289/True",fontsize=10,color="white",style="solid",shape="box"];3834 -> 4577[label="",style="solid", color="burlywood", weight=9]; 248.39/165.09 4577 -> 3845[label="",style="solid", color="burlywood", weight=3]; 248.39/165.09 4236[label="vyv3110",fontsize=16,color="green",shape="box"];4237[label="vyv3100",fontsize=16,color="green",shape="box"];3842[label="gcd0Gcd'2 (abs vyv272) (abs vyv271)",fontsize=16,color="black",shape="box"];3842 -> 3850[label="",style="solid", color="black", weight=3]; 248.39/165.09 3843[label="vyv271",fontsize=16,color="green",shape="box"];3844[label="gcd1 False vyv272 vyv271",fontsize=16,color="black",shape="box"];3844 -> 3851[label="",style="solid", color="black", weight=3]; 248.39/165.09 3845[label="gcd1 True vyv272 vyv271",fontsize=16,color="black",shape="box"];3845 -> 3852[label="",style="solid", color="black", weight=3]; 248.39/165.09 3850 -> 3857[label="",style="dashed", color="red", weight=0]; 248.39/165.09 3850[label="gcd0Gcd'1 (abs vyv271 == fromInt (Pos Zero)) (abs vyv272) (abs vyv271)",fontsize=16,color="magenta"];3850 -> 3858[label="",style="dashed", color="magenta", weight=3]; 248.39/165.09 3851 -> 3827[label="",style="dashed", color="red", weight=0]; 248.39/165.09 3851[label="gcd0 vyv272 vyv271",fontsize=16,color="magenta"];3852 -> 3805[label="",style="dashed", color="red", weight=0]; 248.39/165.09 3852[label="error []",fontsize=16,color="magenta"];3858 -> 3217[label="",style="dashed", color="red", weight=0]; 248.39/165.09 3858[label="abs vyv271 == fromInt (Pos Zero)",fontsize=16,color="magenta"];3858 -> 3864[label="",style="dashed", color="magenta", weight=3]; 248.39/165.09 3857[label="gcd0Gcd'1 vyv290 (abs vyv272) (abs vyv271)",fontsize=16,color="burlywood",shape="triangle"];4578[label="vyv290/False",fontsize=10,color="white",style="solid",shape="box"];3857 -> 4578[label="",style="solid", color="burlywood", weight=9]; 248.39/165.09 4578 -> 3865[label="",style="solid", color="burlywood", weight=3]; 248.39/165.09 4579[label="vyv290/True",fontsize=10,color="white",style="solid",shape="box"];3857 -> 4579[label="",style="solid", color="burlywood", weight=9]; 248.39/165.09 4579 -> 3866[label="",style="solid", color="burlywood", weight=3]; 248.39/165.09 3864[label="abs vyv271",fontsize=16,color="black",shape="triangle"];3864 -> 3873[label="",style="solid", color="black", weight=3]; 248.39/165.09 3865[label="gcd0Gcd'1 False (abs vyv272) (abs vyv271)",fontsize=16,color="black",shape="box"];3865 -> 3874[label="",style="solid", color="black", weight=3]; 248.39/165.09 3866[label="gcd0Gcd'1 True (abs vyv272) (abs vyv271)",fontsize=16,color="black",shape="box"];3866 -> 3875[label="",style="solid", color="black", weight=3]; 248.39/165.09 3873[label="absReal vyv271",fontsize=16,color="black",shape="box"];3873 -> 3884[label="",style="solid", color="black", weight=3]; 248.39/165.09 3874 -> 3885[label="",style="dashed", color="red", weight=0]; 248.39/165.09 3874[label="gcd0Gcd'0 (abs vyv272) (abs vyv271)",fontsize=16,color="magenta"];3874 -> 3886[label="",style="dashed", color="magenta", weight=3]; 248.39/165.09 3874 -> 3887[label="",style="dashed", color="magenta", weight=3]; 248.39/165.09 3875 -> 3864[label="",style="dashed", color="red", weight=0]; 248.39/165.09 3875[label="abs vyv272",fontsize=16,color="magenta"];3875 -> 3895[label="",style="dashed", color="magenta", weight=3]; 248.39/165.09 3884[label="absReal2 vyv271",fontsize=16,color="black",shape="box"];3884 -> 3896[label="",style="solid", color="black", weight=3]; 248.39/165.09 3886 -> 3864[label="",style="dashed", color="red", weight=0]; 248.39/165.09 3886[label="abs vyv272",fontsize=16,color="magenta"];3886 -> 3897[label="",style="dashed", color="magenta", weight=3]; 248.39/165.09 3887 -> 3864[label="",style="dashed", color="red", weight=0]; 248.39/165.09 3887[label="abs vyv271",fontsize=16,color="magenta"];3885[label="gcd0Gcd'0 vyv292 vyv291",fontsize=16,color="black",shape="triangle"];3885 -> 3898[label="",style="solid", color="black", weight=3]; 248.39/165.09 3895[label="vyv272",fontsize=16,color="green",shape="box"];3896[label="absReal1 vyv271 (vyv271 >= fromInt (Pos Zero))",fontsize=16,color="black",shape="box"];3896 -> 3905[label="",style="solid", color="black", weight=3]; 248.39/165.09 3897[label="vyv272",fontsize=16,color="green",shape="box"];3898[label="gcd0Gcd' vyv291 (vyv292 `rem` vyv291)",fontsize=16,color="black",shape="box"];3898 -> 3906[label="",style="solid", color="black", weight=3]; 248.39/165.09 3905[label="absReal1 vyv271 (compare vyv271 (fromInt (Pos Zero)) /= LT)",fontsize=16,color="black",shape="box"];3905 -> 3915[label="",style="solid", color="black", weight=3]; 248.39/165.09 3906[label="gcd0Gcd'2 vyv291 (vyv292 `rem` vyv291)",fontsize=16,color="black",shape="box"];3906 -> 3916[label="",style="solid", color="black", weight=3]; 248.39/165.09 3915[label="absReal1 vyv271 (not (compare vyv271 (fromInt (Pos Zero)) == LT))",fontsize=16,color="black",shape="box"];3915 -> 3924[label="",style="solid", color="black", weight=3]; 248.39/165.09 3916 -> 3925[label="",style="dashed", color="red", weight=0]; 248.39/165.09 3916[label="gcd0Gcd'1 (vyv292 `rem` vyv291 == fromInt (Pos Zero)) vyv291 (vyv292 `rem` vyv291)",fontsize=16,color="magenta"];3916 -> 3926[label="",style="dashed", color="magenta", weight=3]; 248.39/165.09 3924[label="absReal1 vyv271 (not (primCmpInt vyv271 (fromInt (Pos Zero)) == LT))",fontsize=16,color="burlywood",shape="box"];4580[label="vyv271/Pos vyv2710",fontsize=10,color="white",style="solid",shape="box"];3924 -> 4580[label="",style="solid", color="burlywood", weight=9]; 248.39/165.09 4580 -> 3934[label="",style="solid", color="burlywood", weight=3]; 248.39/165.09 4581[label="vyv271/Neg vyv2710",fontsize=10,color="white",style="solid",shape="box"];3924 -> 4581[label="",style="solid", color="burlywood", weight=9]; 248.39/165.09 4581 -> 3935[label="",style="solid", color="burlywood", weight=3]; 248.39/165.09 3926 -> 3217[label="",style="dashed", color="red", weight=0]; 248.39/165.09 3926[label="vyv292 `rem` vyv291 == fromInt (Pos Zero)",fontsize=16,color="magenta"];3926 -> 3936[label="",style="dashed", color="magenta", weight=3]; 248.39/165.09 3925[label="gcd0Gcd'1 vyv293 vyv291 (vyv292 `rem` vyv291)",fontsize=16,color="burlywood",shape="triangle"];4582[label="vyv293/False",fontsize=10,color="white",style="solid",shape="box"];3925 -> 4582[label="",style="solid", color="burlywood", weight=9]; 248.39/165.09 4582 -> 3937[label="",style="solid", color="burlywood", weight=3]; 248.39/165.09 4583[label="vyv293/True",fontsize=10,color="white",style="solid",shape="box"];3925 -> 4583[label="",style="solid", color="burlywood", weight=9]; 248.39/165.09 4583 -> 3938[label="",style="solid", color="burlywood", weight=3]; 248.39/165.09 3934[label="absReal1 (Pos vyv2710) (not (primCmpInt (Pos vyv2710) (fromInt (Pos Zero)) == LT))",fontsize=16,color="burlywood",shape="box"];4584[label="vyv2710/Succ vyv27100",fontsize=10,color="white",style="solid",shape="box"];3934 -> 4584[label="",style="solid", color="burlywood", weight=9]; 248.39/165.09 4584 -> 3947[label="",style="solid", color="burlywood", weight=3]; 248.39/165.09 4585[label="vyv2710/Zero",fontsize=10,color="white",style="solid",shape="box"];3934 -> 4585[label="",style="solid", color="burlywood", weight=9]; 248.39/165.09 4585 -> 3948[label="",style="solid", color="burlywood", weight=3]; 248.39/165.09 3935[label="absReal1 (Neg vyv2710) (not (primCmpInt (Neg vyv2710) (fromInt (Pos Zero)) == LT))",fontsize=16,color="burlywood",shape="box"];4586[label="vyv2710/Succ vyv27100",fontsize=10,color="white",style="solid",shape="box"];3935 -> 4586[label="",style="solid", color="burlywood", weight=9]; 248.39/165.09 4586 -> 3949[label="",style="solid", color="burlywood", weight=3]; 248.39/165.09 4587[label="vyv2710/Zero",fontsize=10,color="white",style="solid",shape="box"];3935 -> 4587[label="",style="solid", color="burlywood", weight=9]; 248.39/165.09 4587 -> 3950[label="",style="solid", color="burlywood", weight=3]; 248.39/165.09 3936[label="vyv292 `rem` vyv291",fontsize=16,color="black",shape="triangle"];3936 -> 3951[label="",style="solid", color="black", weight=3]; 248.39/165.09 3937[label="gcd0Gcd'1 False vyv291 (vyv292 `rem` vyv291)",fontsize=16,color="black",shape="box"];3937 -> 3952[label="",style="solid", color="black", weight=3]; 248.39/165.09 3938[label="gcd0Gcd'1 True vyv291 (vyv292 `rem` vyv291)",fontsize=16,color="black",shape="box"];3938 -> 3953[label="",style="solid", color="black", weight=3]; 248.39/165.09 3947[label="absReal1 (Pos (Succ vyv27100)) (not (primCmpInt (Pos (Succ vyv27100)) (fromInt (Pos Zero)) == LT))",fontsize=16,color="black",shape="box"];3947 -> 3961[label="",style="solid", color="black", weight=3]; 248.39/165.09 3948[label="absReal1 (Pos Zero) (not (primCmpInt (Pos Zero) (fromInt (Pos Zero)) == LT))",fontsize=16,color="black",shape="box"];3948 -> 3962[label="",style="solid", color="black", weight=3]; 248.39/165.09 3949[label="absReal1 (Neg (Succ vyv27100)) (not (primCmpInt (Neg (Succ vyv27100)) (fromInt (Pos Zero)) == LT))",fontsize=16,color="black",shape="box"];3949 -> 3963[label="",style="solid", color="black", weight=3]; 248.39/165.09 3950[label="absReal1 (Neg Zero) (not (primCmpInt (Neg Zero) (fromInt (Pos Zero)) == LT))",fontsize=16,color="black",shape="box"];3950 -> 3964[label="",style="solid", color="black", weight=3]; 248.39/165.09 3951[label="primRemInt vyv292 vyv291",fontsize=16,color="burlywood",shape="box"];4588[label="vyv292/Pos vyv2920",fontsize=10,color="white",style="solid",shape="box"];3951 -> 4588[label="",style="solid", color="burlywood", weight=9]; 248.39/165.09 4588 -> 3965[label="",style="solid", color="burlywood", weight=3]; 248.39/165.09 4589[label="vyv292/Neg vyv2920",fontsize=10,color="white",style="solid",shape="box"];3951 -> 4589[label="",style="solid", color="burlywood", weight=9]; 248.39/165.09 4589 -> 3966[label="",style="solid", color="burlywood", weight=3]; 248.39/165.09 3952 -> 3885[label="",style="dashed", color="red", weight=0]; 248.39/165.09 3952[label="gcd0Gcd'0 vyv291 (vyv292 `rem` vyv291)",fontsize=16,color="magenta"];3952 -> 3967[label="",style="dashed", color="magenta", weight=3]; 248.39/165.09 3952 -> 3968[label="",style="dashed", color="magenta", weight=3]; 248.39/165.09 3953[label="vyv291",fontsize=16,color="green",shape="box"];3961[label="absReal1 (Pos (Succ vyv27100)) (not (primCmpInt (Pos (Succ vyv27100)) (Pos Zero) == LT))",fontsize=16,color="black",shape="box"];3961 -> 3976[label="",style="solid", color="black", weight=3]; 248.39/165.09 3962[label="absReal1 (Pos Zero) (not (primCmpInt (Pos Zero) (Pos Zero) == LT))",fontsize=16,color="black",shape="box"];3962 -> 3977[label="",style="solid", color="black", weight=3]; 248.39/165.09 3963[label="absReal1 (Neg (Succ vyv27100)) (not (primCmpInt (Neg (Succ vyv27100)) (Pos Zero) == LT))",fontsize=16,color="black",shape="box"];3963 -> 3978[label="",style="solid", color="black", weight=3]; 248.39/165.09 3964[label="absReal1 (Neg Zero) (not (primCmpInt (Neg Zero) (Pos Zero) == LT))",fontsize=16,color="black",shape="box"];3964 -> 3979[label="",style="solid", color="black", weight=3]; 248.39/165.09 3965[label="primRemInt (Pos vyv2920) vyv291",fontsize=16,color="burlywood",shape="box"];4590[label="vyv291/Pos vyv2910",fontsize=10,color="white",style="solid",shape="box"];3965 -> 4590[label="",style="solid", color="burlywood", weight=9]; 248.39/165.09 4590 -> 3980[label="",style="solid", color="burlywood", weight=3]; 248.39/165.09 4591[label="vyv291/Neg vyv2910",fontsize=10,color="white",style="solid",shape="box"];3965 -> 4591[label="",style="solid", color="burlywood", weight=9]; 248.39/165.09 4591 -> 3981[label="",style="solid", color="burlywood", weight=3]; 248.39/165.09 3966[label="primRemInt (Neg vyv2920) vyv291",fontsize=16,color="burlywood",shape="box"];4592[label="vyv291/Pos vyv2910",fontsize=10,color="white",style="solid",shape="box"];3966 -> 4592[label="",style="solid", color="burlywood", weight=9]; 248.39/165.09 4592 -> 3982[label="",style="solid", color="burlywood", weight=3]; 248.39/165.09 4593[label="vyv291/Neg vyv2910",fontsize=10,color="white",style="solid",shape="box"];3966 -> 4593[label="",style="solid", color="burlywood", weight=9]; 248.39/165.09 4593 -> 3983[label="",style="solid", color="burlywood", weight=3]; 248.39/165.09 3967[label="vyv291",fontsize=16,color="green",shape="box"];3968 -> 3936[label="",style="dashed", color="red", weight=0]; 248.39/165.09 3968[label="vyv292 `rem` vyv291",fontsize=16,color="magenta"];3976[label="absReal1 (Pos (Succ vyv27100)) (not (primCmpNat (Succ vyv27100) Zero == LT))",fontsize=16,color="black",shape="box"];3976 -> 3992[label="",style="solid", color="black", weight=3]; 248.39/165.09 3977[label="absReal1 (Pos Zero) (not (EQ == LT))",fontsize=16,color="black",shape="box"];3977 -> 3993[label="",style="solid", color="black", weight=3]; 248.39/165.09 3978[label="absReal1 (Neg (Succ vyv27100)) (not (LT == LT))",fontsize=16,color="black",shape="box"];3978 -> 3994[label="",style="solid", color="black", weight=3]; 248.39/165.09 3979[label="absReal1 (Neg Zero) (not (EQ == LT))",fontsize=16,color="black",shape="box"];3979 -> 3995[label="",style="solid", color="black", weight=3]; 248.39/165.09 3980[label="primRemInt (Pos vyv2920) (Pos vyv2910)",fontsize=16,color="burlywood",shape="box"];4594[label="vyv2910/Succ vyv29100",fontsize=10,color="white",style="solid",shape="box"];3980 -> 4594[label="",style="solid", color="burlywood", weight=9]; 248.39/165.09 4594 -> 3996[label="",style="solid", color="burlywood", weight=3]; 248.39/165.09 4595[label="vyv2910/Zero",fontsize=10,color="white",style="solid",shape="box"];3980 -> 4595[label="",style="solid", color="burlywood", weight=9]; 248.39/165.09 4595 -> 3997[label="",style="solid", color="burlywood", weight=3]; 248.39/165.09 3981[label="primRemInt (Pos vyv2920) (Neg vyv2910)",fontsize=16,color="burlywood",shape="box"];4596[label="vyv2910/Succ vyv29100",fontsize=10,color="white",style="solid",shape="box"];3981 -> 4596[label="",style="solid", color="burlywood", weight=9]; 248.39/165.09 4596 -> 3998[label="",style="solid", color="burlywood", weight=3]; 248.39/165.09 4597[label="vyv2910/Zero",fontsize=10,color="white",style="solid",shape="box"];3981 -> 4597[label="",style="solid", color="burlywood", weight=9]; 248.39/165.09 4597 -> 3999[label="",style="solid", color="burlywood", weight=3]; 248.39/165.09 3982[label="primRemInt (Neg vyv2920) (Pos vyv2910)",fontsize=16,color="burlywood",shape="box"];4598[label="vyv2910/Succ vyv29100",fontsize=10,color="white",style="solid",shape="box"];3982 -> 4598[label="",style="solid", color="burlywood", weight=9]; 248.39/165.09 4598 -> 4000[label="",style="solid", color="burlywood", weight=3]; 248.39/165.09 4599[label="vyv2910/Zero",fontsize=10,color="white",style="solid",shape="box"];3982 -> 4599[label="",style="solid", color="burlywood", weight=9]; 248.39/165.09 4599 -> 4001[label="",style="solid", color="burlywood", weight=3]; 248.39/165.09 3983[label="primRemInt (Neg vyv2920) (Neg vyv2910)",fontsize=16,color="burlywood",shape="box"];4600[label="vyv2910/Succ vyv29100",fontsize=10,color="white",style="solid",shape="box"];3983 -> 4600[label="",style="solid", color="burlywood", weight=9]; 248.39/165.09 4600 -> 4002[label="",style="solid", color="burlywood", weight=3]; 248.39/165.09 4601[label="vyv2910/Zero",fontsize=10,color="white",style="solid",shape="box"];3983 -> 4601[label="",style="solid", color="burlywood", weight=9]; 248.39/165.09 4601 -> 4003[label="",style="solid", color="burlywood", weight=3]; 248.39/165.09 3992[label="absReal1 (Pos (Succ vyv27100)) (not (GT == LT))",fontsize=16,color="black",shape="box"];3992 -> 4011[label="",style="solid", color="black", weight=3]; 248.39/165.09 3993[label="absReal1 (Pos Zero) (not False)",fontsize=16,color="black",shape="box"];3993 -> 4012[label="",style="solid", color="black", weight=3]; 248.39/165.09 3994[label="absReal1 (Neg (Succ vyv27100)) (not True)",fontsize=16,color="black",shape="box"];3994 -> 4013[label="",style="solid", color="black", weight=3]; 248.39/165.09 3995[label="absReal1 (Neg Zero) (not False)",fontsize=16,color="black",shape="box"];3995 -> 4014[label="",style="solid", color="black", weight=3]; 248.39/165.09 3996[label="primRemInt (Pos vyv2920) (Pos (Succ vyv29100))",fontsize=16,color="black",shape="box"];3996 -> 4015[label="",style="solid", color="black", weight=3]; 248.39/165.09 3997[label="primRemInt (Pos vyv2920) (Pos Zero)",fontsize=16,color="black",shape="box"];3997 -> 4016[label="",style="solid", color="black", weight=3]; 248.39/165.09 3998[label="primRemInt (Pos vyv2920) (Neg (Succ vyv29100))",fontsize=16,color="black",shape="box"];3998 -> 4017[label="",style="solid", color="black", weight=3]; 248.39/165.09 3999[label="primRemInt (Pos vyv2920) (Neg Zero)",fontsize=16,color="black",shape="box"];3999 -> 4018[label="",style="solid", color="black", weight=3]; 248.39/165.09 4000[label="primRemInt (Neg vyv2920) (Pos (Succ vyv29100))",fontsize=16,color="black",shape="box"];4000 -> 4019[label="",style="solid", color="black", weight=3]; 248.39/165.09 4001[label="primRemInt (Neg vyv2920) (Pos Zero)",fontsize=16,color="black",shape="box"];4001 -> 4020[label="",style="solid", color="black", weight=3]; 248.39/165.09 4002[label="primRemInt (Neg vyv2920) (Neg (Succ vyv29100))",fontsize=16,color="black",shape="box"];4002 -> 4021[label="",style="solid", color="black", weight=3]; 248.39/165.09 4003[label="primRemInt (Neg vyv2920) (Neg Zero)",fontsize=16,color="black",shape="box"];4003 -> 4022[label="",style="solid", color="black", weight=3]; 248.39/165.09 4011[label="absReal1 (Pos (Succ vyv27100)) (not False)",fontsize=16,color="black",shape="box"];4011 -> 4030[label="",style="solid", color="black", weight=3]; 248.39/165.09 4012[label="absReal1 (Pos Zero) True",fontsize=16,color="black",shape="box"];4012 -> 4031[label="",style="solid", color="black", weight=3]; 248.39/165.09 4013[label="absReal1 (Neg (Succ vyv27100)) False",fontsize=16,color="black",shape="box"];4013 -> 4032[label="",style="solid", color="black", weight=3]; 248.39/165.09 4014[label="absReal1 (Neg Zero) True",fontsize=16,color="black",shape="box"];4014 -> 4033[label="",style="solid", color="black", weight=3]; 248.39/165.09 4015[label="Pos (primModNatS vyv2920 (Succ vyv29100))",fontsize=16,color="green",shape="box"];4015 -> 4034[label="",style="dashed", color="green", weight=3]; 248.39/165.09 4016 -> 3805[label="",style="dashed", color="red", weight=0]; 248.39/165.09 4016[label="error []",fontsize=16,color="magenta"];4017[label="Pos (primModNatS vyv2920 (Succ vyv29100))",fontsize=16,color="green",shape="box"];4017 -> 4035[label="",style="dashed", color="green", weight=3]; 248.39/165.09 4018 -> 3805[label="",style="dashed", color="red", weight=0]; 248.39/165.09 4018[label="error []",fontsize=16,color="magenta"];4019[label="Neg (primModNatS vyv2920 (Succ vyv29100))",fontsize=16,color="green",shape="box"];4019 -> 4036[label="",style="dashed", color="green", weight=3]; 248.39/165.09 4020 -> 3805[label="",style="dashed", color="red", weight=0]; 248.39/165.09 4020[label="error []",fontsize=16,color="magenta"];4021[label="Neg (primModNatS vyv2920 (Succ vyv29100))",fontsize=16,color="green",shape="box"];4021 -> 4037[label="",style="dashed", color="green", weight=3]; 248.39/165.09 4022 -> 3805[label="",style="dashed", color="red", weight=0]; 248.39/165.09 4022[label="error []",fontsize=16,color="magenta"];4030[label="absReal1 (Pos (Succ vyv27100)) True",fontsize=16,color="black",shape="box"];4030 -> 4046[label="",style="solid", color="black", weight=3]; 248.39/165.09 4031[label="Pos Zero",fontsize=16,color="green",shape="box"];4032[label="absReal0 (Neg (Succ vyv27100)) otherwise",fontsize=16,color="black",shape="box"];4032 -> 4047[label="",style="solid", color="black", weight=3]; 248.39/165.09 4033[label="Neg Zero",fontsize=16,color="green",shape="box"];4034[label="primModNatS vyv2920 (Succ vyv29100)",fontsize=16,color="burlywood",shape="triangle"];4602[label="vyv2920/Succ vyv29200",fontsize=10,color="white",style="solid",shape="box"];4034 -> 4602[label="",style="solid", color="burlywood", weight=9]; 248.39/165.09 4602 -> 4048[label="",style="solid", color="burlywood", weight=3]; 248.39/165.09 4603[label="vyv2920/Zero",fontsize=10,color="white",style="solid",shape="box"];4034 -> 4603[label="",style="solid", color="burlywood", weight=9]; 248.39/165.09 4603 -> 4049[label="",style="solid", color="burlywood", weight=3]; 248.39/165.09 4035 -> 4034[label="",style="dashed", color="red", weight=0]; 248.39/165.09 4035[label="primModNatS vyv2920 (Succ vyv29100)",fontsize=16,color="magenta"];4035 -> 4050[label="",style="dashed", color="magenta", weight=3]; 248.39/165.09 4036 -> 4034[label="",style="dashed", color="red", weight=0]; 248.39/165.09 4036[label="primModNatS vyv2920 (Succ vyv29100)",fontsize=16,color="magenta"];4036 -> 4051[label="",style="dashed", color="magenta", weight=3]; 248.39/165.09 4037 -> 4034[label="",style="dashed", color="red", weight=0]; 248.39/165.09 4037[label="primModNatS vyv2920 (Succ vyv29100)",fontsize=16,color="magenta"];4037 -> 4052[label="",style="dashed", color="magenta", weight=3]; 248.39/165.09 4037 -> 4053[label="",style="dashed", color="magenta", weight=3]; 248.39/165.09 4046[label="Pos (Succ vyv27100)",fontsize=16,color="green",shape="box"];4047[label="absReal0 (Neg (Succ vyv27100)) True",fontsize=16,color="black",shape="box"];4047 -> 4101[label="",style="solid", color="black", weight=3]; 248.39/165.09 4048[label="primModNatS (Succ vyv29200) (Succ vyv29100)",fontsize=16,color="black",shape="box"];4048 -> 4102[label="",style="solid", color="black", weight=3]; 248.39/165.09 4049[label="primModNatS Zero (Succ vyv29100)",fontsize=16,color="black",shape="box"];4049 -> 4103[label="",style="solid", color="black", weight=3]; 248.39/165.09 4050[label="vyv29100",fontsize=16,color="green",shape="box"];4051[label="vyv2920",fontsize=16,color="green",shape="box"];4052[label="vyv29100",fontsize=16,color="green",shape="box"];4053[label="vyv2920",fontsize=16,color="green",shape="box"];4101[label="`negate` Neg (Succ vyv27100)",fontsize=16,color="black",shape="box"];4101 -> 4109[label="",style="solid", color="black", weight=3]; 248.39/165.09 4102[label="primModNatS0 vyv29200 vyv29100 (primGEqNatS vyv29200 vyv29100)",fontsize=16,color="burlywood",shape="box"];4604[label="vyv29200/Succ vyv292000",fontsize=10,color="white",style="solid",shape="box"];4102 -> 4604[label="",style="solid", color="burlywood", weight=9]; 248.39/165.09 4604 -> 4110[label="",style="solid", color="burlywood", weight=3]; 248.39/165.09 4605[label="vyv29200/Zero",fontsize=10,color="white",style="solid",shape="box"];4102 -> 4605[label="",style="solid", color="burlywood", weight=9]; 248.39/165.09 4605 -> 4111[label="",style="solid", color="burlywood", weight=3]; 248.39/165.09 4103[label="Zero",fontsize=16,color="green",shape="box"];4109[label="primNegInt (Neg (Succ vyv27100))",fontsize=16,color="black",shape="box"];4109 -> 4149[label="",style="solid", color="black", weight=3]; 248.39/165.09 4110[label="primModNatS0 (Succ vyv292000) vyv29100 (primGEqNatS (Succ vyv292000) vyv29100)",fontsize=16,color="burlywood",shape="box"];4606[label="vyv29100/Succ vyv291000",fontsize=10,color="white",style="solid",shape="box"];4110 -> 4606[label="",style="solid", color="burlywood", weight=9]; 248.39/165.09 4606 -> 4150[label="",style="solid", color="burlywood", weight=3]; 248.39/165.09 4607[label="vyv29100/Zero",fontsize=10,color="white",style="solid",shape="box"];4110 -> 4607[label="",style="solid", color="burlywood", weight=9]; 248.39/165.09 4607 -> 4151[label="",style="solid", color="burlywood", weight=3]; 248.39/165.09 4111[label="primModNatS0 Zero vyv29100 (primGEqNatS Zero vyv29100)",fontsize=16,color="burlywood",shape="box"];4608[label="vyv29100/Succ vyv291000",fontsize=10,color="white",style="solid",shape="box"];4111 -> 4608[label="",style="solid", color="burlywood", weight=9]; 248.39/165.09 4608 -> 4152[label="",style="solid", color="burlywood", weight=3]; 248.39/165.09 4609[label="vyv29100/Zero",fontsize=10,color="white",style="solid",shape="box"];4111 -> 4609[label="",style="solid", color="burlywood", weight=9]; 248.39/165.09 4609 -> 4153[label="",style="solid", color="burlywood", weight=3]; 248.39/165.09 4149[label="Pos (Succ vyv27100)",fontsize=16,color="green",shape="box"];4150[label="primModNatS0 (Succ vyv292000) (Succ vyv291000) (primGEqNatS (Succ vyv292000) (Succ vyv291000))",fontsize=16,color="black",shape="box"];4150 -> 4158[label="",style="solid", color="black", weight=3]; 248.39/165.09 4151[label="primModNatS0 (Succ vyv292000) Zero (primGEqNatS (Succ vyv292000) Zero)",fontsize=16,color="black",shape="box"];4151 -> 4159[label="",style="solid", color="black", weight=3]; 248.39/165.09 4152[label="primModNatS0 Zero (Succ vyv291000) (primGEqNatS Zero (Succ vyv291000))",fontsize=16,color="black",shape="box"];4152 -> 4160[label="",style="solid", color="black", weight=3]; 248.39/165.09 4153[label="primModNatS0 Zero Zero (primGEqNatS Zero Zero)",fontsize=16,color="black",shape="box"];4153 -> 4161[label="",style="solid", color="black", weight=3]; 248.39/165.09 4158 -> 4341[label="",style="dashed", color="red", weight=0]; 248.39/165.09 4158[label="primModNatS0 (Succ vyv292000) (Succ vyv291000) (primGEqNatS vyv292000 vyv291000)",fontsize=16,color="magenta"];4158 -> 4342[label="",style="dashed", color="magenta", weight=3]; 248.39/165.09 4158 -> 4343[label="",style="dashed", color="magenta", weight=3]; 248.39/165.09 4158 -> 4344[label="",style="dashed", color="magenta", weight=3]; 248.39/165.09 4158 -> 4345[label="",style="dashed", color="magenta", weight=3]; 248.39/165.09 4159[label="primModNatS0 (Succ vyv292000) Zero True",fontsize=16,color="black",shape="box"];4159 -> 4168[label="",style="solid", color="black", weight=3]; 248.39/165.09 4160[label="primModNatS0 Zero (Succ vyv291000) False",fontsize=16,color="black",shape="box"];4160 -> 4169[label="",style="solid", color="black", weight=3]; 248.39/165.09 4161[label="primModNatS0 Zero Zero True",fontsize=16,color="black",shape="box"];4161 -> 4170[label="",style="solid", color="black", weight=3]; 248.39/165.09 4342[label="vyv292000",fontsize=16,color="green",shape="box"];4343[label="vyv291000",fontsize=16,color="green",shape="box"];4344[label="vyv292000",fontsize=16,color="green",shape="box"];4345[label="vyv291000",fontsize=16,color="green",shape="box"];4341[label="primModNatS0 (Succ vyv330) (Succ vyv331) (primGEqNatS vyv332 vyv333)",fontsize=16,color="burlywood",shape="triangle"];4610[label="vyv332/Succ vyv3320",fontsize=10,color="white",style="solid",shape="box"];4341 -> 4610[label="",style="solid", color="burlywood", weight=9]; 248.39/165.09 4610 -> 4374[label="",style="solid", color="burlywood", weight=3]; 248.39/165.09 4611[label="vyv332/Zero",fontsize=10,color="white",style="solid",shape="box"];4341 -> 4611[label="",style="solid", color="burlywood", weight=9]; 248.39/165.09 4611 -> 4375[label="",style="solid", color="burlywood", weight=3]; 248.39/165.09 4168 -> 4034[label="",style="dashed", color="red", weight=0]; 248.39/165.09 4168[label="primModNatS (primMinusNatS (Succ vyv292000) Zero) (Succ Zero)",fontsize=16,color="magenta"];4168 -> 4179[label="",style="dashed", color="magenta", weight=3]; 248.39/165.09 4168 -> 4180[label="",style="dashed", color="magenta", weight=3]; 248.39/165.09 4169[label="Succ Zero",fontsize=16,color="green",shape="box"];4170 -> 4034[label="",style="dashed", color="red", weight=0]; 248.39/165.09 4170[label="primModNatS (primMinusNatS Zero Zero) (Succ Zero)",fontsize=16,color="magenta"];4170 -> 4181[label="",style="dashed", color="magenta", weight=3]; 248.39/165.09 4170 -> 4182[label="",style="dashed", color="magenta", weight=3]; 248.39/165.09 4374[label="primModNatS0 (Succ vyv330) (Succ vyv331) (primGEqNatS (Succ vyv3320) vyv333)",fontsize=16,color="burlywood",shape="box"];4612[label="vyv333/Succ vyv3330",fontsize=10,color="white",style="solid",shape="box"];4374 -> 4612[label="",style="solid", color="burlywood", weight=9]; 248.39/165.09 4612 -> 4376[label="",style="solid", color="burlywood", weight=3]; 248.39/165.09 4613[label="vyv333/Zero",fontsize=10,color="white",style="solid",shape="box"];4374 -> 4613[label="",style="solid", color="burlywood", weight=9]; 248.39/165.09 4613 -> 4377[label="",style="solid", color="burlywood", weight=3]; 248.39/165.09 4375[label="primModNatS0 (Succ vyv330) (Succ vyv331) (primGEqNatS Zero vyv333)",fontsize=16,color="burlywood",shape="box"];4614[label="vyv333/Succ vyv3330",fontsize=10,color="white",style="solid",shape="box"];4375 -> 4614[label="",style="solid", color="burlywood", weight=9]; 248.39/165.09 4614 -> 4378[label="",style="solid", color="burlywood", weight=3]; 248.39/165.09 4615[label="vyv333/Zero",fontsize=10,color="white",style="solid",shape="box"];4375 -> 4615[label="",style="solid", color="burlywood", weight=9]; 248.39/165.09 4615 -> 4379[label="",style="solid", color="burlywood", weight=3]; 248.39/165.09 4179[label="Zero",fontsize=16,color="green",shape="box"];4180 -> 3880[label="",style="dashed", color="red", weight=0]; 248.39/165.09 4180[label="primMinusNatS (Succ vyv292000) Zero",fontsize=16,color="magenta"];4180 -> 4188[label="",style="dashed", color="magenta", weight=3]; 248.39/165.09 4181[label="Zero",fontsize=16,color="green",shape="box"];4182 -> 3882[label="",style="dashed", color="red", weight=0]; 248.39/165.09 4182[label="primMinusNatS Zero Zero",fontsize=16,color="magenta"];4376[label="primModNatS0 (Succ vyv330) (Succ vyv331) (primGEqNatS (Succ vyv3320) (Succ vyv3330))",fontsize=16,color="black",shape="box"];4376 -> 4380[label="",style="solid", color="black", weight=3]; 248.39/165.09 4377[label="primModNatS0 (Succ vyv330) (Succ vyv331) (primGEqNatS (Succ vyv3320) Zero)",fontsize=16,color="black",shape="box"];4377 -> 4381[label="",style="solid", color="black", weight=3]; 248.39/165.09 4378[label="primModNatS0 (Succ vyv330) (Succ vyv331) (primGEqNatS Zero (Succ vyv3330))",fontsize=16,color="black",shape="box"];4378 -> 4382[label="",style="solid", color="black", weight=3]; 248.39/165.09 4379[label="primModNatS0 (Succ vyv330) (Succ vyv331) (primGEqNatS Zero Zero)",fontsize=16,color="black",shape="box"];4379 -> 4383[label="",style="solid", color="black", weight=3]; 248.39/165.09 4188[label="vyv292000",fontsize=16,color="green",shape="box"];4380 -> 4341[label="",style="dashed", color="red", weight=0]; 248.39/165.09 4380[label="primModNatS0 (Succ vyv330) (Succ vyv331) (primGEqNatS vyv3320 vyv3330)",fontsize=16,color="magenta"];4380 -> 4384[label="",style="dashed", color="magenta", weight=3]; 248.39/165.09 4380 -> 4385[label="",style="dashed", color="magenta", weight=3]; 248.39/165.09 4381[label="primModNatS0 (Succ vyv330) (Succ vyv331) True",fontsize=16,color="black",shape="triangle"];4381 -> 4386[label="",style="solid", color="black", weight=3]; 248.39/165.09 4382[label="primModNatS0 (Succ vyv330) (Succ vyv331) False",fontsize=16,color="black",shape="box"];4382 -> 4387[label="",style="solid", color="black", weight=3]; 248.39/165.09 4383 -> 4381[label="",style="dashed", color="red", weight=0]; 248.39/165.09 4383[label="primModNatS0 (Succ vyv330) (Succ vyv331) True",fontsize=16,color="magenta"];4384[label="vyv3320",fontsize=16,color="green",shape="box"];4385[label="vyv3330",fontsize=16,color="green",shape="box"];4386 -> 4034[label="",style="dashed", color="red", weight=0]; 248.39/165.09 4386[label="primModNatS (primMinusNatS (Succ vyv330) (Succ vyv331)) (Succ (Succ vyv331))",fontsize=16,color="magenta"];4386 -> 4388[label="",style="dashed", color="magenta", weight=3]; 248.39/165.09 4386 -> 4389[label="",style="dashed", color="magenta", weight=3]; 248.39/165.09 4387[label="Succ (Succ vyv330)",fontsize=16,color="green",shape="box"];4388[label="Succ vyv331",fontsize=16,color="green",shape="box"];4389 -> 4196[label="",style="dashed", color="red", weight=0]; 248.39/165.09 4389[label="primMinusNatS (Succ vyv330) (Succ vyv331)",fontsize=16,color="magenta"];4389 -> 4390[label="",style="dashed", color="magenta", weight=3]; 248.39/165.09 4389 -> 4391[label="",style="dashed", color="magenta", weight=3]; 248.39/165.09 4390[label="Succ vyv331",fontsize=16,color="green",shape="box"];4391[label="Succ vyv330",fontsize=16,color="green",shape="box"];} 248.39/165.09 248.39/165.09 ---------------------------------------- 248.39/165.09 248.39/165.09 (12) 248.39/165.09 Complex Obligation (AND) 248.39/165.09 248.39/165.09 ---------------------------------------- 248.39/165.09 248.39/165.09 (13) 248.39/165.09 Obligation: 248.39/165.09 Q DP problem: 248.39/165.09 The TRS P consists of the following rules: 248.39/165.09 248.39/165.09 new_primModNatS(Succ(Succ(vyv292000)), Zero) -> new_primModNatS(new_primMinusNatS0(vyv292000), Zero) 248.39/165.09 new_primModNatS(Succ(Succ(vyv292000)), Succ(vyv291000)) -> new_primModNatS0(vyv292000, vyv291000, vyv292000, vyv291000) 248.39/165.09 new_primModNatS(Succ(Zero), Zero) -> new_primModNatS(new_primMinusNatS1, Zero) 248.39/165.09 new_primModNatS0(vyv330, vyv331, Succ(vyv3320), Zero) -> new_primModNatS(new_primMinusNatS2(Succ(vyv330), Succ(vyv331)), Succ(vyv331)) 248.39/165.09 new_primModNatS0(vyv330, vyv331, Succ(vyv3320), Succ(vyv3330)) -> new_primModNatS0(vyv330, vyv331, vyv3320, vyv3330) 248.39/165.09 new_primModNatS0(vyv330, vyv331, Zero, Zero) -> new_primModNatS00(vyv330, vyv331) 248.39/165.09 new_primModNatS00(vyv330, vyv331) -> new_primModNatS(new_primMinusNatS2(Succ(vyv330), Succ(vyv331)), Succ(vyv331)) 248.39/165.09 248.39/165.09 The TRS R consists of the following rules: 248.39/165.09 248.39/165.09 new_primMinusNatS1 -> Zero 248.39/165.09 new_primMinusNatS2(Succ(vyv3100), Zero) -> Succ(vyv3100) 248.39/165.09 new_primMinusNatS2(Zero, Zero) -> Zero 248.39/165.09 new_primMinusNatS2(Succ(vyv3100), Succ(vyv3110)) -> new_primMinusNatS2(vyv3100, vyv3110) 248.39/165.09 new_primMinusNatS2(Zero, Succ(vyv3110)) -> Zero 248.39/165.09 new_primMinusNatS0(vyv270000) -> Succ(vyv270000) 248.39/165.09 248.39/165.09 The set Q consists of the following terms: 248.39/165.09 248.39/165.09 new_primMinusNatS2(Succ(x0), Zero) 248.39/165.09 new_primMinusNatS0(x0) 248.39/165.09 new_primMinusNatS2(Zero, Zero) 248.39/165.09 new_primMinusNatS1 248.39/165.09 new_primMinusNatS2(Zero, Succ(x0)) 248.39/165.09 new_primMinusNatS2(Succ(x0), Succ(x1)) 248.39/165.09 248.39/165.09 We have to consider all minimal (P,Q,R)-chains. 248.39/165.09 ---------------------------------------- 248.39/165.09 248.39/165.09 (14) DependencyGraphProof (EQUIVALENT) 248.39/165.09 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 2 SCCs with 1 less node. 248.39/165.09 ---------------------------------------- 248.39/165.09 248.39/165.09 (15) 248.39/165.09 Complex Obligation (AND) 248.39/165.09 248.39/165.09 ---------------------------------------- 248.39/165.09 248.39/165.09 (16) 248.39/165.09 Obligation: 248.39/165.09 Q DP problem: 248.39/165.09 The TRS P consists of the following rules: 248.39/165.09 248.39/165.09 new_primModNatS0(vyv330, vyv331, Succ(vyv3320), Zero) -> new_primModNatS(new_primMinusNatS2(Succ(vyv330), Succ(vyv331)), Succ(vyv331)) 248.39/165.09 new_primModNatS(Succ(Succ(vyv292000)), Succ(vyv291000)) -> new_primModNatS0(vyv292000, vyv291000, vyv292000, vyv291000) 248.39/165.09 new_primModNatS0(vyv330, vyv331, Succ(vyv3320), Succ(vyv3330)) -> new_primModNatS0(vyv330, vyv331, vyv3320, vyv3330) 248.39/165.09 new_primModNatS0(vyv330, vyv331, Zero, Zero) -> new_primModNatS00(vyv330, vyv331) 248.39/165.09 new_primModNatS00(vyv330, vyv331) -> new_primModNatS(new_primMinusNatS2(Succ(vyv330), Succ(vyv331)), Succ(vyv331)) 248.39/165.09 248.39/165.09 The TRS R consists of the following rules: 248.39/165.09 248.39/165.09 new_primMinusNatS1 -> Zero 248.39/165.09 new_primMinusNatS2(Succ(vyv3100), Zero) -> Succ(vyv3100) 248.39/165.09 new_primMinusNatS2(Zero, Zero) -> Zero 248.39/165.09 new_primMinusNatS2(Succ(vyv3100), Succ(vyv3110)) -> new_primMinusNatS2(vyv3100, vyv3110) 248.39/165.09 new_primMinusNatS2(Zero, Succ(vyv3110)) -> Zero 248.39/165.09 new_primMinusNatS0(vyv270000) -> Succ(vyv270000) 248.39/165.09 248.39/165.09 The set Q consists of the following terms: 248.39/165.09 248.39/165.09 new_primMinusNatS2(Succ(x0), Zero) 248.39/165.09 new_primMinusNatS0(x0) 248.39/165.09 new_primMinusNatS2(Zero, Zero) 248.39/165.09 new_primMinusNatS1 248.39/165.09 new_primMinusNatS2(Zero, Succ(x0)) 248.39/165.09 new_primMinusNatS2(Succ(x0), Succ(x1)) 248.39/165.09 248.39/165.09 We have to consider all minimal (P,Q,R)-chains. 248.39/165.09 ---------------------------------------- 248.39/165.09 248.39/165.09 (17) QDPOrderProof (EQUIVALENT) 248.39/165.09 We use the reduction pair processor [LPAR04,JAR06]. 248.39/165.09 248.39/165.09 248.39/165.09 The following pairs can be oriented strictly and are deleted. 248.39/165.09 248.39/165.09 new_primModNatS(Succ(Succ(vyv292000)), Succ(vyv291000)) -> new_primModNatS0(vyv292000, vyv291000, vyv292000, vyv291000) 248.39/165.09 The remaining pairs can at least be oriented weakly. 248.39/165.09 Used ordering: Polynomial interpretation [POLO]: 248.39/165.09 248.39/165.09 POL(Succ(x_1)) = 1 + x_1 248.39/165.09 POL(Zero) = 1 248.39/165.09 POL(new_primMinusNatS2(x_1, x_2)) = x_1 248.39/165.09 POL(new_primModNatS(x_1, x_2)) = x_1 248.39/165.09 POL(new_primModNatS0(x_1, x_2, x_3, x_4)) = 1 + x_1 248.39/165.09 POL(new_primModNatS00(x_1, x_2)) = 1 + x_1 248.39/165.09 248.39/165.09 The following usable rules [FROCOS05] with respect to the argument filtering of the ordering [JAR06] were oriented: 248.39/165.09 248.39/165.09 new_primMinusNatS2(Succ(vyv3100), Succ(vyv3110)) -> new_primMinusNatS2(vyv3100, vyv3110) 248.39/165.09 new_primMinusNatS2(Succ(vyv3100), Zero) -> Succ(vyv3100) 248.39/165.09 new_primMinusNatS2(Zero, Zero) -> Zero 248.39/165.09 new_primMinusNatS2(Zero, Succ(vyv3110)) -> Zero 248.39/165.09 248.39/165.09 248.39/165.09 ---------------------------------------- 248.39/165.09 248.39/165.09 (18) 248.39/165.09 Obligation: 248.39/165.09 Q DP problem: 248.39/165.09 The TRS P consists of the following rules: 248.39/165.09 248.39/165.09 new_primModNatS0(vyv330, vyv331, Succ(vyv3320), Zero) -> new_primModNatS(new_primMinusNatS2(Succ(vyv330), Succ(vyv331)), Succ(vyv331)) 248.39/165.09 new_primModNatS0(vyv330, vyv331, Succ(vyv3320), Succ(vyv3330)) -> new_primModNatS0(vyv330, vyv331, vyv3320, vyv3330) 248.39/165.09 new_primModNatS0(vyv330, vyv331, Zero, Zero) -> new_primModNatS00(vyv330, vyv331) 248.39/165.09 new_primModNatS00(vyv330, vyv331) -> new_primModNatS(new_primMinusNatS2(Succ(vyv330), Succ(vyv331)), Succ(vyv331)) 248.39/165.09 248.39/165.09 The TRS R consists of the following rules: 248.39/165.09 248.39/165.09 new_primMinusNatS1 -> Zero 248.39/165.09 new_primMinusNatS2(Succ(vyv3100), Zero) -> Succ(vyv3100) 248.39/165.09 new_primMinusNatS2(Zero, Zero) -> Zero 248.39/165.09 new_primMinusNatS2(Succ(vyv3100), Succ(vyv3110)) -> new_primMinusNatS2(vyv3100, vyv3110) 248.39/165.09 new_primMinusNatS2(Zero, Succ(vyv3110)) -> Zero 248.39/165.09 new_primMinusNatS0(vyv270000) -> Succ(vyv270000) 248.39/165.09 248.39/165.09 The set Q consists of the following terms: 248.39/165.09 248.39/165.09 new_primMinusNatS2(Succ(x0), Zero) 248.39/165.09 new_primMinusNatS0(x0) 248.39/165.09 new_primMinusNatS2(Zero, Zero) 248.39/165.09 new_primMinusNatS1 248.39/165.09 new_primMinusNatS2(Zero, Succ(x0)) 248.39/165.09 new_primMinusNatS2(Succ(x0), Succ(x1)) 248.39/165.09 248.39/165.09 We have to consider all minimal (P,Q,R)-chains. 248.39/165.09 ---------------------------------------- 248.39/165.09 248.39/165.09 (19) DependencyGraphProof (EQUIVALENT) 248.39/165.09 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 3 less nodes. 248.39/165.09 ---------------------------------------- 248.39/165.09 248.39/165.09 (20) 248.39/165.09 Obligation: 248.39/165.09 Q DP problem: 248.39/165.09 The TRS P consists of the following rules: 248.39/165.09 248.39/165.09 new_primModNatS0(vyv330, vyv331, Succ(vyv3320), Succ(vyv3330)) -> new_primModNatS0(vyv330, vyv331, vyv3320, vyv3330) 248.39/165.09 248.39/165.09 The TRS R consists of the following rules: 248.39/165.09 248.39/165.09 new_primMinusNatS1 -> Zero 248.39/165.09 new_primMinusNatS2(Succ(vyv3100), Zero) -> Succ(vyv3100) 248.39/165.09 new_primMinusNatS2(Zero, Zero) -> Zero 248.39/165.09 new_primMinusNatS2(Succ(vyv3100), Succ(vyv3110)) -> new_primMinusNatS2(vyv3100, vyv3110) 248.39/165.09 new_primMinusNatS2(Zero, Succ(vyv3110)) -> Zero 248.39/165.09 new_primMinusNatS0(vyv270000) -> Succ(vyv270000) 248.39/165.09 248.39/165.09 The set Q consists of the following terms: 248.39/165.09 248.39/165.09 new_primMinusNatS2(Succ(x0), Zero) 248.39/165.09 new_primMinusNatS0(x0) 248.39/165.09 new_primMinusNatS2(Zero, Zero) 248.39/165.09 new_primMinusNatS1 248.39/165.09 new_primMinusNatS2(Zero, Succ(x0)) 248.39/165.09 new_primMinusNatS2(Succ(x0), Succ(x1)) 248.39/165.09 248.39/165.09 We have to consider all minimal (P,Q,R)-chains. 248.39/165.09 ---------------------------------------- 248.39/165.09 248.39/165.09 (21) QDPSizeChangeProof (EQUIVALENT) 248.39/165.09 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. 248.39/165.09 248.39/165.09 From the DPs we obtained the following set of size-change graphs: 248.39/165.09 *new_primModNatS0(vyv330, vyv331, Succ(vyv3320), Succ(vyv3330)) -> new_primModNatS0(vyv330, vyv331, vyv3320, vyv3330) 248.39/165.09 The graph contains the following edges 1 >= 1, 2 >= 2, 3 > 3, 4 > 4 248.39/165.09 248.39/165.09 248.39/165.09 ---------------------------------------- 248.39/165.09 248.39/165.09 (22) 248.39/165.09 YES 248.39/165.09 248.39/165.09 ---------------------------------------- 248.39/165.09 248.39/165.09 (23) 248.39/165.09 Obligation: 248.39/165.09 Q DP problem: 248.39/165.09 The TRS P consists of the following rules: 248.39/165.09 248.39/165.09 new_primModNatS(Succ(Succ(vyv292000)), Zero) -> new_primModNatS(new_primMinusNatS0(vyv292000), Zero) 248.39/165.09 248.39/165.09 The TRS R consists of the following rules: 248.39/165.09 248.39/165.09 new_primMinusNatS1 -> Zero 248.39/165.09 new_primMinusNatS2(Succ(vyv3100), Zero) -> Succ(vyv3100) 248.39/165.09 new_primMinusNatS2(Zero, Zero) -> Zero 248.39/165.09 new_primMinusNatS2(Succ(vyv3100), Succ(vyv3110)) -> new_primMinusNatS2(vyv3100, vyv3110) 248.39/165.09 new_primMinusNatS2(Zero, Succ(vyv3110)) -> Zero 248.39/165.09 new_primMinusNatS0(vyv270000) -> Succ(vyv270000) 248.39/165.09 248.39/165.09 The set Q consists of the following terms: 248.39/165.09 248.39/165.09 new_primMinusNatS2(Succ(x0), Zero) 248.39/165.09 new_primMinusNatS0(x0) 248.39/165.09 new_primMinusNatS2(Zero, Zero) 248.39/165.09 new_primMinusNatS1 248.39/165.09 new_primMinusNatS2(Zero, Succ(x0)) 248.39/165.09 new_primMinusNatS2(Succ(x0), Succ(x1)) 248.39/165.09 248.39/165.09 We have to consider all minimal (P,Q,R)-chains. 248.39/165.09 ---------------------------------------- 248.39/165.09 248.39/165.09 (24) MRRProof (EQUIVALENT) 248.39/165.09 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. 248.39/165.09 248.39/165.09 Strictly oriented dependency pairs: 248.39/165.09 248.39/165.09 new_primModNatS(Succ(Succ(vyv292000)), Zero) -> new_primModNatS(new_primMinusNatS0(vyv292000), Zero) 248.39/165.09 248.39/165.09 Strictly oriented rules of the TRS R: 248.39/165.09 248.39/165.09 new_primMinusNatS2(Succ(vyv3100), Zero) -> Succ(vyv3100) 248.39/165.09 new_primMinusNatS2(Zero, Zero) -> Zero 248.39/165.09 new_primMinusNatS2(Succ(vyv3100), Succ(vyv3110)) -> new_primMinusNatS2(vyv3100, vyv3110) 248.39/165.09 new_primMinusNatS2(Zero, Succ(vyv3110)) -> Zero 248.39/165.09 248.39/165.09 Used ordering: Polynomial interpretation [POLO]: 248.39/165.09 248.39/165.09 POL(Succ(x_1)) = 1 + x_1 248.39/165.09 POL(Zero) = 2 248.39/165.09 POL(new_primMinusNatS0(x_1)) = 1 + x_1 248.39/165.09 POL(new_primMinusNatS1) = 2 248.39/165.09 POL(new_primMinusNatS2(x_1, x_2)) = 1 + 2*x_1 + 2*x_2 248.39/165.09 POL(new_primModNatS(x_1, x_2)) = x_1 + x_2 248.39/165.09 248.39/165.09 248.39/165.09 ---------------------------------------- 248.39/165.09 248.39/165.09 (25) 248.39/165.09 Obligation: 248.39/165.09 Q DP problem: 248.39/165.09 P is empty. 248.39/165.09 The TRS R consists of the following rules: 248.39/165.09 248.39/165.09 new_primMinusNatS1 -> Zero 248.39/165.09 new_primMinusNatS0(vyv270000) -> Succ(vyv270000) 248.39/165.09 248.39/165.09 The set Q consists of the following terms: 248.39/165.09 248.39/165.09 new_primMinusNatS2(Succ(x0), Zero) 248.39/165.09 new_primMinusNatS0(x0) 248.39/165.09 new_primMinusNatS2(Zero, Zero) 248.39/165.09 new_primMinusNatS1 248.39/165.09 new_primMinusNatS2(Zero, Succ(x0)) 248.39/165.09 new_primMinusNatS2(Succ(x0), Succ(x1)) 248.39/165.09 248.39/165.09 We have to consider all minimal (P,Q,R)-chains. 248.39/165.09 ---------------------------------------- 248.39/165.09 248.39/165.09 (26) PisEmptyProof (EQUIVALENT) 248.39/165.09 The TRS P is empty. Hence, there is no (P,Q,R) chain. 248.39/165.09 ---------------------------------------- 248.39/165.09 248.39/165.09 (27) 248.39/165.09 YES 248.39/165.09 248.39/165.09 ---------------------------------------- 248.39/165.09 248.39/165.09 (28) 248.39/165.09 Obligation: 248.39/165.09 Q DP problem: 248.39/165.09 The TRS P consists of the following rules: 248.39/165.09 248.39/165.09 new_gcd0Gcd'0(vyv292, vyv291) -> new_gcd0Gcd'1(new_esEs(new_rem(vyv292, vyv291)), vyv291, vyv292) 248.39/165.09 new_gcd0Gcd'1(False, vyv291, vyv292) -> new_gcd0Gcd'0(vyv291, new_rem(vyv292, vyv291)) 248.39/165.09 248.39/165.09 The TRS R consists of the following rules: 248.39/165.09 248.39/165.09 new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Succ(vyv3330)) -> new_primModNatS01(vyv330, vyv331, vyv3320, vyv3330) 248.39/165.09 new_primModNatS1(Succ(Succ(vyv292000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv292000), Zero) 248.39/165.09 new_primModNatS1(Succ(Zero), Succ(vyv291000)) -> Succ(Zero) 248.39/165.09 new_primMinusNatS2(Zero, Zero) -> Zero 248.39/165.09 new_primEqInt(Neg(Zero)) -> True 248.39/165.09 new_primMinusNatS2(Succ(vyv3100), Succ(vyv3110)) -> new_primMinusNatS2(vyv3100, vyv3110) 248.39/165.09 new_primModNatS01(vyv330, vyv331, Zero, Succ(vyv3330)) -> Succ(Succ(vyv330)) 248.39/165.09 new_primModNatS1(Succ(Succ(vyv292000)), Succ(vyv291000)) -> new_primModNatS01(vyv292000, vyv291000, vyv292000, vyv291000) 248.39/165.09 new_primMinusNatS0(vyv270000) -> Succ(vyv270000) 248.39/165.09 new_esEs(Neg(Succ(vyv24100))) -> new_primEqInt(Neg(Succ(vyv24100))) 248.39/165.09 new_rem(Neg(vyv2920), Neg(Succ(vyv29100))) -> Neg(new_primModNatS1(vyv2920, vyv29100)) 248.39/165.09 new_primModNatS1(Zero, vyv29100) -> Zero 248.39/165.09 new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) 248.39/165.09 new_rem(Pos(vyv2920), Pos(Succ(vyv29100))) -> Pos(new_primModNatS1(vyv2920, vyv29100)) 248.39/165.09 new_primMinusNatS2(Zero, Succ(vyv3110)) -> Zero 248.39/165.09 new_error -> error([]) 248.39/165.09 new_primEqInt(Pos(Succ(vyv242000))) -> False 248.39/165.09 new_primEqInt(Pos(Zero)) -> True 248.39/165.09 new_esEs(Pos(Succ(vyv24100))) -> new_primEqInt(Pos(Succ(vyv24100))) 248.39/165.09 new_primEqInt(Neg(Succ(vyv242000))) -> False 248.39/165.09 new_rem(Neg(vyv2920), Neg(Zero)) -> new_error 248.39/165.09 new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) 248.39/165.09 new_rem(Pos(vyv2920), Neg(Zero)) -> new_error 248.39/165.09 new_rem(Neg(vyv2920), Pos(Zero)) -> new_error 248.39/165.09 new_primModNatS01(vyv330, vyv331, Zero, Zero) -> new_primModNatS02(vyv330, vyv331) 248.39/165.09 new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Zero) -> new_primModNatS02(vyv330, vyv331) 248.39/165.09 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 248.39/165.09 new_primModNatS02(vyv330, vyv331) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv330), Succ(vyv331)), Succ(vyv331)) 248.39/165.09 new_rem(Pos(vyv2920), Neg(Succ(vyv29100))) -> Pos(new_primModNatS1(vyv2920, vyv29100)) 248.39/165.09 new_primMinusNatS1 -> Zero 248.39/165.09 new_primMinusNatS2(Succ(vyv3100), Zero) -> Succ(vyv3100) 248.39/165.09 new_rem(Neg(vyv2920), Pos(Succ(vyv29100))) -> Neg(new_primModNatS1(vyv2920, vyv29100)) 248.39/165.09 new_rem(Pos(vyv2920), Pos(Zero)) -> new_error 248.39/165.09 248.39/165.09 The set Q consists of the following terms: 248.39/165.09 248.39/165.09 new_rem(Pos(x0), Pos(Succ(x1))) 248.39/165.09 new_primModNatS1(Succ(Zero), Succ(x0)) 248.39/165.09 new_primMinusNatS1 248.39/165.09 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 248.39/165.09 new_primEqInt(Pos(Zero)) 248.39/165.09 new_rem(Pos(x0), Neg(Succ(x1))) 248.39/165.09 new_rem(Neg(x0), Pos(Succ(x1))) 248.39/165.09 new_primModNatS02(x0, x1) 248.39/165.09 new_primModNatS01(x0, x1, Succ(x2), Zero) 248.39/165.09 new_primModNatS01(x0, x1, Zero, Succ(x2)) 248.39/165.09 new_primMinusNatS2(Zero, Zero) 248.39/165.09 new_rem(Pos(x0), Neg(Zero)) 248.39/165.09 new_rem(Neg(x0), Pos(Zero)) 248.39/165.09 new_esEs(Neg(Succ(x0))) 248.39/165.09 new_primMinusNatS2(Zero, Succ(x0)) 248.39/165.09 new_error 248.39/165.09 new_primModNatS1(Succ(Zero), Zero) 248.39/165.09 new_esEs(Pos(Zero)) 248.39/165.09 new_primEqInt(Neg(Succ(x0))) 248.39/165.09 new_primMinusNatS2(Succ(x0), Zero) 248.39/165.09 new_primEqInt(Neg(Zero)) 248.39/165.09 new_primMinusNatS0(x0) 248.39/165.09 new_rem(Neg(x0), Neg(Succ(x1))) 248.39/165.09 new_primModNatS01(x0, x1, Zero, Zero) 248.39/165.09 new_primEqInt(Pos(Succ(x0))) 248.39/165.09 new_primMinusNatS2(Succ(x0), Succ(x1)) 248.39/165.09 new_primModNatS1(Succ(Succ(x0)), Zero) 248.39/165.09 new_rem(Pos(x0), Pos(Zero)) 248.39/165.09 new_primModNatS1(Zero, x0) 248.39/165.09 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 248.39/165.09 new_esEs(Neg(Zero)) 248.39/165.09 new_esEs(Pos(Succ(x0))) 248.39/165.09 new_rem(Neg(x0), Neg(Zero)) 248.39/165.09 248.39/165.09 We have to consider all minimal (P,Q,R)-chains. 248.39/165.09 ---------------------------------------- 248.39/165.09 248.39/165.09 (29) MNOCProof (EQUIVALENT) 248.39/165.09 We use the modular non-overlap check [FROCOS05] to decrease Q to the empty set. 248.39/165.09 ---------------------------------------- 248.39/165.09 248.39/165.09 (30) 248.39/165.09 Obligation: 248.39/165.09 Q DP problem: 248.39/165.09 The TRS P consists of the following rules: 248.39/165.09 248.39/165.09 new_gcd0Gcd'0(vyv292, vyv291) -> new_gcd0Gcd'1(new_esEs(new_rem(vyv292, vyv291)), vyv291, vyv292) 248.39/165.09 new_gcd0Gcd'1(False, vyv291, vyv292) -> new_gcd0Gcd'0(vyv291, new_rem(vyv292, vyv291)) 248.39/165.09 248.39/165.09 The TRS R consists of the following rules: 248.39/165.09 248.39/165.09 new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Succ(vyv3330)) -> new_primModNatS01(vyv330, vyv331, vyv3320, vyv3330) 248.39/165.09 new_primModNatS1(Succ(Succ(vyv292000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv292000), Zero) 248.39/165.09 new_primModNatS1(Succ(Zero), Succ(vyv291000)) -> Succ(Zero) 248.39/165.09 new_primMinusNatS2(Zero, Zero) -> Zero 248.39/165.09 new_primEqInt(Neg(Zero)) -> True 248.39/165.09 new_primMinusNatS2(Succ(vyv3100), Succ(vyv3110)) -> new_primMinusNatS2(vyv3100, vyv3110) 248.39/165.09 new_primModNatS01(vyv330, vyv331, Zero, Succ(vyv3330)) -> Succ(Succ(vyv330)) 248.39/165.09 new_primModNatS1(Succ(Succ(vyv292000)), Succ(vyv291000)) -> new_primModNatS01(vyv292000, vyv291000, vyv292000, vyv291000) 248.39/165.09 new_primMinusNatS0(vyv270000) -> Succ(vyv270000) 248.39/165.09 new_esEs(Neg(Succ(vyv24100))) -> new_primEqInt(Neg(Succ(vyv24100))) 248.39/165.09 new_rem(Neg(vyv2920), Neg(Succ(vyv29100))) -> Neg(new_primModNatS1(vyv2920, vyv29100)) 248.39/165.09 new_primModNatS1(Zero, vyv29100) -> Zero 248.39/165.09 new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) 248.39/165.09 new_rem(Pos(vyv2920), Pos(Succ(vyv29100))) -> Pos(new_primModNatS1(vyv2920, vyv29100)) 248.39/165.09 new_primMinusNatS2(Zero, Succ(vyv3110)) -> Zero 248.39/165.09 new_error -> error([]) 248.39/165.09 new_primEqInt(Pos(Succ(vyv242000))) -> False 248.39/165.09 new_primEqInt(Pos(Zero)) -> True 248.39/165.09 new_esEs(Pos(Succ(vyv24100))) -> new_primEqInt(Pos(Succ(vyv24100))) 248.39/165.09 new_primEqInt(Neg(Succ(vyv242000))) -> False 248.39/165.09 new_rem(Neg(vyv2920), Neg(Zero)) -> new_error 248.39/165.09 new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) 248.39/165.09 new_rem(Pos(vyv2920), Neg(Zero)) -> new_error 248.39/165.09 new_rem(Neg(vyv2920), Pos(Zero)) -> new_error 248.39/165.09 new_primModNatS01(vyv330, vyv331, Zero, Zero) -> new_primModNatS02(vyv330, vyv331) 248.39/165.09 new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Zero) -> new_primModNatS02(vyv330, vyv331) 248.39/165.09 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 248.39/165.09 new_primModNatS02(vyv330, vyv331) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv330), Succ(vyv331)), Succ(vyv331)) 248.39/165.09 new_rem(Pos(vyv2920), Neg(Succ(vyv29100))) -> Pos(new_primModNatS1(vyv2920, vyv29100)) 248.39/165.09 new_primMinusNatS1 -> Zero 248.39/165.09 new_primMinusNatS2(Succ(vyv3100), Zero) -> Succ(vyv3100) 248.39/165.09 new_rem(Neg(vyv2920), Pos(Succ(vyv29100))) -> Neg(new_primModNatS1(vyv2920, vyv29100)) 248.39/165.09 new_rem(Pos(vyv2920), Pos(Zero)) -> new_error 248.39/165.09 248.39/165.09 Q is empty. 248.39/165.09 We have to consider all (P,Q,R)-chains. 248.39/165.09 ---------------------------------------- 248.39/165.09 248.39/165.09 (31) InductionCalculusProof (EQUIVALENT) 248.39/165.09 Note that final constraints are written in bold face. 248.39/165.09 248.39/165.09 248.39/165.09 248.39/165.09 For Pair new_gcd0Gcd'0(vyv292, vyv291) -> new_gcd0Gcd'1(new_esEs(new_rem(vyv292, vyv291)), vyv291, vyv292) the following chains were created: 248.39/165.09 *We consider the chain new_gcd0Gcd'0(x2, x3) -> new_gcd0Gcd'1(new_esEs(new_rem(x2, x3)), x3, x2), new_gcd0Gcd'1(False, x4, x5) -> new_gcd0Gcd'0(x4, new_rem(x5, x4)) which results in the following constraint: 248.39/165.09 248.39/165.09 (1) (new_gcd0Gcd'1(new_esEs(new_rem(x2, x3)), x3, x2)=new_gcd0Gcd'1(False, x4, x5) ==> new_gcd0Gcd'0(x2, x3)_>=_new_gcd0Gcd'1(new_esEs(new_rem(x2, x3)), x3, x2)) 248.39/165.09 248.39/165.09 248.39/165.09 248.39/165.09 We simplified constraint (1) using rules (I), (II), (IV), (VII) which results in the following new constraint: 248.39/165.09 248.39/165.09 (2) (new_rem(x2, x3)=x12 & new_esEs(x12)=False ==> new_gcd0Gcd'0(x2, x3)_>=_new_gcd0Gcd'1(new_esEs(new_rem(x2, x3)), x3, x2)) 248.39/165.09 248.39/165.09 248.39/165.09 248.39/165.09 We simplified constraint (2) using rule (V) (with possible (I) afterwards) using induction on new_esEs(x12)=False which results in the following new constraints: 248.39/165.09 248.39/165.09 (3) (new_primEqInt(Neg(Succ(x13)))=False & new_rem(x2, x3)=Neg(Succ(x13)) ==> new_gcd0Gcd'0(x2, x3)_>=_new_gcd0Gcd'1(new_esEs(new_rem(x2, x3)), x3, x2)) 248.39/165.09 248.39/165.09 (4) (new_primEqInt(Neg(Zero))=False & new_rem(x2, x3)=Neg(Zero) ==> new_gcd0Gcd'0(x2, x3)_>=_new_gcd0Gcd'1(new_esEs(new_rem(x2, x3)), x3, x2)) 248.39/165.09 248.39/165.09 (5) (new_primEqInt(Pos(Succ(x14)))=False & new_rem(x2, x3)=Pos(Succ(x14)) ==> new_gcd0Gcd'0(x2, x3)_>=_new_gcd0Gcd'1(new_esEs(new_rem(x2, x3)), x3, x2)) 248.39/165.09 248.39/165.09 (6) (new_primEqInt(Pos(Zero))=False & new_rem(x2, x3)=Pos(Zero) ==> new_gcd0Gcd'0(x2, x3)_>=_new_gcd0Gcd'1(new_esEs(new_rem(x2, x3)), x3, x2)) 248.39/165.09 248.39/165.09 248.39/165.09 248.39/165.09 We simplified constraint (3) using rule (VII) which results in the following new constraint: 248.39/165.09 248.39/165.09 (7) (Neg(Succ(x13))=x15 & new_primEqInt(x15)=False & new_rem(x2, x3)=Neg(Succ(x13)) ==> new_gcd0Gcd'0(x2, x3)_>=_new_gcd0Gcd'1(new_esEs(new_rem(x2, x3)), x3, x2)) 248.39/165.09 248.39/165.09 248.39/165.09 248.39/165.09 We simplified constraint (4) using rule (VII) which results in the following new constraint: 248.39/165.09 248.39/165.09 (8) (Neg(Zero)=x52 & new_primEqInt(x52)=False & new_rem(x2, x3)=Neg(Zero) ==> new_gcd0Gcd'0(x2, x3)_>=_new_gcd0Gcd'1(new_esEs(new_rem(x2, x3)), x3, x2)) 248.39/165.09 248.39/165.09 248.39/165.09 248.39/165.09 We simplified constraint (5) using rule (VII) which results in the following new constraint: 248.39/165.09 248.39/165.09 (9) (Pos(Succ(x14))=x55 & new_primEqInt(x55)=False & new_rem(x2, x3)=Pos(Succ(x14)) ==> new_gcd0Gcd'0(x2, x3)_>=_new_gcd0Gcd'1(new_esEs(new_rem(x2, x3)), x3, x2)) 248.39/165.09 248.39/165.09 248.39/165.09 248.39/165.09 We simplified constraint (6) using rule (VII) which results in the following new constraint: 248.39/165.09 248.39/165.09 (10) (Pos(Zero)=x92 & new_primEqInt(x92)=False & new_rem(x2, x3)=Pos(Zero) ==> new_gcd0Gcd'0(x2, x3)_>=_new_gcd0Gcd'1(new_esEs(new_rem(x2, x3)), x3, x2)) 248.39/165.09 248.39/165.09 248.39/165.09 248.39/165.09 We simplified constraint (7) using rule (V) (with possible (I) afterwards) using induction on new_primEqInt(x15)=False which results in the following new constraints: 248.39/165.09 248.39/165.09 (11) (False=False & Neg(Succ(x13))=Pos(Succ(x16)) & new_rem(x2, x3)=Neg(Succ(x13)) ==> new_gcd0Gcd'0(x2, x3)_>=_new_gcd0Gcd'1(new_esEs(new_rem(x2, x3)), x3, x2)) 248.39/165.09 248.39/165.09 (12) (False=False & Neg(Succ(x13))=Neg(Succ(x17)) & new_rem(x2, x3)=Neg(Succ(x13)) ==> new_gcd0Gcd'0(x2, x3)_>=_new_gcd0Gcd'1(new_esEs(new_rem(x2, x3)), x3, x2)) 248.39/165.09 248.39/165.09 248.39/165.09 248.39/165.09 We solved constraint (11) using rules (I), (II).We simplified constraint (12) using rules (I), (II), (IV) which results in the following new constraint: 248.39/165.09 248.39/165.09 (13) (new_rem(x2, x3)=Neg(Succ(x13)) ==> new_gcd0Gcd'0(x2, x3)_>=_new_gcd0Gcd'1(new_esEs(new_rem(x2, x3)), x3, x2)) 248.39/165.09 248.39/165.09 248.39/165.09 248.39/165.09 We simplified constraint (13) using rule (V) (with possible (I) afterwards) using induction on new_rem(x2, x3)=Neg(Succ(x13)) which results in the following new constraints: 248.39/165.09 248.39/165.09 (14) (Neg(new_primModNatS1(x19, x18))=Neg(Succ(x13)) ==> new_gcd0Gcd'0(Neg(x19), Neg(Succ(x18)))_>=_new_gcd0Gcd'1(new_esEs(new_rem(Neg(x19), Neg(Succ(x18)))), Neg(Succ(x18)), Neg(x19))) 248.39/165.09 248.39/165.09 (15) (new_error=Neg(Succ(x13)) ==> new_gcd0Gcd'0(Neg(x22), Neg(Zero))_>=_new_gcd0Gcd'1(new_esEs(new_rem(Neg(x22), Neg(Zero))), Neg(Zero), Neg(x22))) 248.39/165.09 248.39/165.09 (16) (new_error=Neg(Succ(x13)) ==> new_gcd0Gcd'0(Pos(x23), Neg(Zero))_>=_new_gcd0Gcd'1(new_esEs(new_rem(Pos(x23), Neg(Zero))), Neg(Zero), Pos(x23))) 248.39/165.09 248.39/165.09 (17) (new_error=Neg(Succ(x13)) ==> new_gcd0Gcd'0(Neg(x24), Pos(Zero))_>=_new_gcd0Gcd'1(new_esEs(new_rem(Neg(x24), Pos(Zero))), Pos(Zero), Neg(x24))) 248.39/165.09 248.39/165.09 (18) (Neg(new_primModNatS1(x28, x27))=Neg(Succ(x13)) ==> new_gcd0Gcd'0(Neg(x28), Pos(Succ(x27)))_>=_new_gcd0Gcd'1(new_esEs(new_rem(Neg(x28), Pos(Succ(x27)))), Pos(Succ(x27)), Neg(x28))) 248.39/165.09 248.39/165.09 (19) (new_error=Neg(Succ(x13)) ==> new_gcd0Gcd'0(Pos(x29), Pos(Zero))_>=_new_gcd0Gcd'1(new_esEs(new_rem(Pos(x29), Pos(Zero))), Pos(Zero), Pos(x29))) 248.39/165.09 248.39/165.09 248.39/165.09 248.39/165.09 We simplified constraint (14) using rules (I), (II) which results in the following new constraint: 248.39/165.09 248.39/165.09 (20) (new_primModNatS1(x19, x18)=Succ(x13) ==> new_gcd0Gcd'0(Neg(x19), Neg(Succ(x18)))_>=_new_gcd0Gcd'1(new_esEs(new_rem(Neg(x19), Neg(Succ(x18)))), Neg(Succ(x18)), Neg(x19))) 248.39/165.09 248.39/165.09 248.39/165.09 248.39/165.09 We solved constraint (15) using rule (V) (with possible (I) afterwards).We solved constraint (16) using rule (V) (with possible (I) afterwards).We solved constraint (17) using rule (V) (with possible (I) afterwards).We simplified constraint (18) using rules (I), (II) which results in the following new constraint: 248.39/165.09 248.39/165.09 (21) (new_primModNatS1(x28, x27)=Succ(x13) ==> new_gcd0Gcd'0(Neg(x28), Pos(Succ(x27)))_>=_new_gcd0Gcd'1(new_esEs(new_rem(Neg(x28), Pos(Succ(x27)))), Pos(Succ(x27)), Neg(x28))) 248.39/165.09 248.39/165.09 248.39/165.09 248.39/165.09 We solved constraint (19) using rule (V) (with possible (I) afterwards).We simplified constraint (20) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS1(x19, x18)=Succ(x13) which results in the following new constraints: 248.39/165.09 248.39/165.09 (22) (new_primModNatS1(new_primMinusNatS0(x30), Zero)=Succ(x13) ==> new_gcd0Gcd'0(Neg(Succ(Succ(x30))), Neg(Succ(Zero)))_>=_new_gcd0Gcd'1(new_esEs(new_rem(Neg(Succ(Succ(x30))), Neg(Succ(Zero)))), Neg(Succ(Zero)), Neg(Succ(Succ(x30))))) 248.39/165.09 248.39/165.09 (23) (Succ(Zero)=Succ(x13) ==> new_gcd0Gcd'0(Neg(Succ(Zero)), Neg(Succ(Succ(x31))))_>=_new_gcd0Gcd'1(new_esEs(new_rem(Neg(Succ(Zero)), Neg(Succ(Succ(x31))))), Neg(Succ(Succ(x31))), Neg(Succ(Zero)))) 248.39/165.09 248.39/165.09 (24) (new_primModNatS01(x33, x32, x33, x32)=Succ(x13) ==> new_gcd0Gcd'0(Neg(Succ(Succ(x33))), Neg(Succ(Succ(x32))))_>=_new_gcd0Gcd'1(new_esEs(new_rem(Neg(Succ(Succ(x33))), Neg(Succ(Succ(x32))))), Neg(Succ(Succ(x32))), Neg(Succ(Succ(x33))))) 248.39/165.09 248.39/165.09 (25) (new_primModNatS1(new_primMinusNatS1, Zero)=Succ(x13) ==> new_gcd0Gcd'0(Neg(Succ(Zero)), Neg(Succ(Zero)))_>=_new_gcd0Gcd'1(new_esEs(new_rem(Neg(Succ(Zero)), Neg(Succ(Zero)))), Neg(Succ(Zero)), Neg(Succ(Zero)))) 248.39/165.09 248.39/165.09 248.39/165.09 248.39/165.09 We simplified constraint (22) using rules (III), (IV), (VII) which results in the following new constraint: 248.39/165.10 248.39/165.10 (26) (new_gcd0Gcd'0(Neg(Succ(Succ(x30))), Neg(Succ(Zero)))_>=_new_gcd0Gcd'1(new_esEs(new_rem(Neg(Succ(Succ(x30))), Neg(Succ(Zero)))), Neg(Succ(Zero)), Neg(Succ(Succ(x30))))) 248.39/165.10 248.39/165.10 248.39/165.10 248.39/165.10 We simplified constraint (23) using rules (I), (II), (IV) which results in the following new constraint: 248.39/165.10 248.39/165.10 (27) (new_gcd0Gcd'0(Neg(Succ(Zero)), Neg(Succ(Succ(x31))))_>=_new_gcd0Gcd'1(new_esEs(new_rem(Neg(Succ(Zero)), Neg(Succ(Succ(x31))))), Neg(Succ(Succ(x31))), Neg(Succ(Zero)))) 248.39/165.10 248.39/165.10 248.39/165.10 248.39/165.10 We simplified constraint (24) using rules (III), (IV), (VII) which results in the following new constraint: 248.39/165.10 248.39/165.10 (28) (new_gcd0Gcd'0(Neg(Succ(Succ(x37))), Neg(Succ(Succ(x38))))_>=_new_gcd0Gcd'1(new_esEs(new_rem(Neg(Succ(Succ(x37))), Neg(Succ(Succ(x38))))), Neg(Succ(Succ(x38))), Neg(Succ(Succ(x37))))) 248.39/165.10 248.39/165.10 248.39/165.10 248.39/165.10 We simplified constraint (25) using rules (III), (IV), (VII) which results in the following new constraint: 248.39/165.10 248.39/165.10 (29) (new_gcd0Gcd'0(Neg(Succ(Zero)), Neg(Succ(Zero)))_>=_new_gcd0Gcd'1(new_esEs(new_rem(Neg(Succ(Zero)), Neg(Succ(Zero)))), Neg(Succ(Zero)), Neg(Succ(Zero)))) 248.39/165.10 248.39/165.10 248.39/165.10 248.39/165.10 We simplified constraint (21) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS1(x28, x27)=Succ(x13) which results in the following new constraints: 248.39/165.10 248.39/165.10 (30) (new_primModNatS1(new_primMinusNatS0(x41), Zero)=Succ(x13) ==> new_gcd0Gcd'0(Neg(Succ(Succ(x41))), Pos(Succ(Zero)))_>=_new_gcd0Gcd'1(new_esEs(new_rem(Neg(Succ(Succ(x41))), Pos(Succ(Zero)))), Pos(Succ(Zero)), Neg(Succ(Succ(x41))))) 248.39/165.10 248.39/165.10 (31) (Succ(Zero)=Succ(x13) ==> new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(Succ(Succ(x42))))_>=_new_gcd0Gcd'1(new_esEs(new_rem(Neg(Succ(Zero)), Pos(Succ(Succ(x42))))), Pos(Succ(Succ(x42))), Neg(Succ(Zero)))) 248.39/165.10 248.39/165.10 (32) (new_primModNatS01(x44, x43, x44, x43)=Succ(x13) ==> new_gcd0Gcd'0(Neg(Succ(Succ(x44))), Pos(Succ(Succ(x43))))_>=_new_gcd0Gcd'1(new_esEs(new_rem(Neg(Succ(Succ(x44))), Pos(Succ(Succ(x43))))), Pos(Succ(Succ(x43))), Neg(Succ(Succ(x44))))) 248.39/165.10 248.39/165.10 (33) (new_primModNatS1(new_primMinusNatS1, Zero)=Succ(x13) ==> new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(Succ(Zero)))_>=_new_gcd0Gcd'1(new_esEs(new_rem(Neg(Succ(Zero)), Pos(Succ(Zero)))), Pos(Succ(Zero)), Neg(Succ(Zero)))) 248.39/165.10 248.39/165.10 248.39/165.10 248.39/165.10 We simplified constraint (30) using rules (III), (IV), (VII) which results in the following new constraint: 248.39/165.10 248.39/165.10 (34) (new_gcd0Gcd'0(Neg(Succ(Succ(x41))), Pos(Succ(Zero)))_>=_new_gcd0Gcd'1(new_esEs(new_rem(Neg(Succ(Succ(x41))), Pos(Succ(Zero)))), Pos(Succ(Zero)), Neg(Succ(Succ(x41))))) 248.39/165.10 248.39/165.10 248.39/165.10 248.39/165.10 We simplified constraint (31) using rules (I), (II), (IV) which results in the following new constraint: 248.39/165.10 248.39/165.10 (35) (new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(Succ(Succ(x42))))_>=_new_gcd0Gcd'1(new_esEs(new_rem(Neg(Succ(Zero)), Pos(Succ(Succ(x42))))), Pos(Succ(Succ(x42))), Neg(Succ(Zero)))) 248.39/165.10 248.39/165.10 248.39/165.10 248.39/165.10 We simplified constraint (32) using rules (III), (IV), (VII) which results in the following new constraint: 248.39/165.10 248.39/165.10 (36) (new_gcd0Gcd'0(Neg(Succ(Succ(x48))), Pos(Succ(Succ(x49))))_>=_new_gcd0Gcd'1(new_esEs(new_rem(Neg(Succ(Succ(x48))), Pos(Succ(Succ(x49))))), Pos(Succ(Succ(x49))), Neg(Succ(Succ(x48))))) 248.39/165.10 248.39/165.10 248.39/165.10 248.39/165.10 We simplified constraint (33) using rules (III), (IV), (VII) which results in the following new constraint: 248.39/165.10 248.39/165.10 (37) (new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(Succ(Zero)))_>=_new_gcd0Gcd'1(new_esEs(new_rem(Neg(Succ(Zero)), Pos(Succ(Zero)))), Pos(Succ(Zero)), Neg(Succ(Zero)))) 248.39/165.10 248.39/165.10 248.39/165.10 248.39/165.10 We simplified constraint (8) using rule (V) (with possible (I) afterwards) using induction on new_primEqInt(x52)=False which results in the following new constraints: 248.39/165.10 248.39/165.10 (38) (False=False & Neg(Zero)=Pos(Succ(x53)) & new_rem(x2, x3)=Neg(Zero) ==> new_gcd0Gcd'0(x2, x3)_>=_new_gcd0Gcd'1(new_esEs(new_rem(x2, x3)), x3, x2)) 248.39/165.10 248.39/165.10 (39) (False=False & Neg(Zero)=Neg(Succ(x54)) & new_rem(x2, x3)=Neg(Zero) ==> new_gcd0Gcd'0(x2, x3)_>=_new_gcd0Gcd'1(new_esEs(new_rem(x2, x3)), x3, x2)) 248.39/165.10 248.39/165.10 248.39/165.10 248.39/165.10 We solved constraint (38) using rules (I), (II).We solved constraint (39) using rules (I), (II).We simplified constraint (9) using rule (V) (with possible (I) afterwards) using induction on new_primEqInt(x55)=False which results in the following new constraints: 248.39/165.10 248.39/165.10 (40) (False=False & Pos(Succ(x14))=Pos(Succ(x56)) & new_rem(x2, x3)=Pos(Succ(x14)) ==> new_gcd0Gcd'0(x2, x3)_>=_new_gcd0Gcd'1(new_esEs(new_rem(x2, x3)), x3, x2)) 248.39/165.10 248.39/165.10 (41) (False=False & Pos(Succ(x14))=Neg(Succ(x57)) & new_rem(x2, x3)=Pos(Succ(x14)) ==> new_gcd0Gcd'0(x2, x3)_>=_new_gcd0Gcd'1(new_esEs(new_rem(x2, x3)), x3, x2)) 248.39/165.10 248.39/165.10 248.39/165.10 248.39/165.10 We simplified constraint (40) using rules (I), (II), (IV) which results in the following new constraint: 248.39/165.10 248.39/165.10 (42) (new_rem(x2, x3)=Pos(Succ(x14)) ==> new_gcd0Gcd'0(x2, x3)_>=_new_gcd0Gcd'1(new_esEs(new_rem(x2, x3)), x3, x2)) 248.39/165.10 248.39/165.10 248.39/165.10 248.39/165.10 We solved constraint (41) using rules (I), (II).We simplified constraint (42) using rule (V) (with possible (I) afterwards) using induction on new_rem(x2, x3)=Pos(Succ(x14)) which results in the following new constraints: 248.39/165.10 248.39/165.10 (43) (Pos(new_primModNatS1(x61, x60))=Pos(Succ(x14)) ==> new_gcd0Gcd'0(Pos(x61), Pos(Succ(x60)))_>=_new_gcd0Gcd'1(new_esEs(new_rem(Pos(x61), Pos(Succ(x60)))), Pos(Succ(x60)), Pos(x61))) 248.39/165.10 248.39/165.10 (44) (new_error=Pos(Succ(x14)) ==> new_gcd0Gcd'0(Neg(x62), Neg(Zero))_>=_new_gcd0Gcd'1(new_esEs(new_rem(Neg(x62), Neg(Zero))), Neg(Zero), Neg(x62))) 248.39/165.10 248.39/165.10 (45) (new_error=Pos(Succ(x14)) ==> new_gcd0Gcd'0(Pos(x63), Neg(Zero))_>=_new_gcd0Gcd'1(new_esEs(new_rem(Pos(x63), Neg(Zero))), Neg(Zero), Pos(x63))) 248.39/165.10 248.39/165.10 (46) (new_error=Pos(Succ(x14)) ==> new_gcd0Gcd'0(Neg(x64), Pos(Zero))_>=_new_gcd0Gcd'1(new_esEs(new_rem(Neg(x64), Pos(Zero))), Pos(Zero), Neg(x64))) 248.39/165.10 248.39/165.10 (47) (Pos(new_primModNatS1(x66, x65))=Pos(Succ(x14)) ==> new_gcd0Gcd'0(Pos(x66), Neg(Succ(x65)))_>=_new_gcd0Gcd'1(new_esEs(new_rem(Pos(x66), Neg(Succ(x65)))), Neg(Succ(x65)), Pos(x66))) 248.39/165.10 248.39/165.10 (48) (new_error=Pos(Succ(x14)) ==> new_gcd0Gcd'0(Pos(x69), Pos(Zero))_>=_new_gcd0Gcd'1(new_esEs(new_rem(Pos(x69), Pos(Zero))), Pos(Zero), Pos(x69))) 248.39/165.10 248.39/165.10 248.39/165.10 248.39/165.10 We simplified constraint (43) using rules (I), (II) which results in the following new constraint: 248.39/165.10 248.39/165.10 (49) (new_primModNatS1(x61, x60)=Succ(x14) ==> new_gcd0Gcd'0(Pos(x61), Pos(Succ(x60)))_>=_new_gcd0Gcd'1(new_esEs(new_rem(Pos(x61), Pos(Succ(x60)))), Pos(Succ(x60)), Pos(x61))) 248.39/165.10 248.39/165.10 248.39/165.10 248.39/165.10 We solved constraint (44) using rule (V) (with possible (I) afterwards).We solved constraint (45) using rule (V) (with possible (I) afterwards).We solved constraint (46) using rule (V) (with possible (I) afterwards).We simplified constraint (47) using rules (I), (II) which results in the following new constraint: 248.39/165.10 248.39/165.10 (50) (new_primModNatS1(x66, x65)=Succ(x14) ==> new_gcd0Gcd'0(Pos(x66), Neg(Succ(x65)))_>=_new_gcd0Gcd'1(new_esEs(new_rem(Pos(x66), Neg(Succ(x65)))), Neg(Succ(x65)), Pos(x66))) 248.39/165.10 248.39/165.10 248.39/165.10 248.39/165.10 We solved constraint (48) using rule (V) (with possible (I) afterwards).We simplified constraint (49) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS1(x61, x60)=Succ(x14) which results in the following new constraints: 248.39/165.10 248.39/165.10 (51) (new_primModNatS1(new_primMinusNatS0(x70), Zero)=Succ(x14) ==> new_gcd0Gcd'0(Pos(Succ(Succ(x70))), Pos(Succ(Zero)))_>=_new_gcd0Gcd'1(new_esEs(new_rem(Pos(Succ(Succ(x70))), Pos(Succ(Zero)))), Pos(Succ(Zero)), Pos(Succ(Succ(x70))))) 248.39/165.10 248.39/165.10 (52) (Succ(Zero)=Succ(x14) ==> new_gcd0Gcd'0(Pos(Succ(Zero)), Pos(Succ(Succ(x71))))_>=_new_gcd0Gcd'1(new_esEs(new_rem(Pos(Succ(Zero)), Pos(Succ(Succ(x71))))), Pos(Succ(Succ(x71))), Pos(Succ(Zero)))) 248.39/165.10 248.39/165.10 (53) (new_primModNatS01(x73, x72, x73, x72)=Succ(x14) ==> new_gcd0Gcd'0(Pos(Succ(Succ(x73))), Pos(Succ(Succ(x72))))_>=_new_gcd0Gcd'1(new_esEs(new_rem(Pos(Succ(Succ(x73))), Pos(Succ(Succ(x72))))), Pos(Succ(Succ(x72))), Pos(Succ(Succ(x73))))) 248.39/165.10 248.39/165.10 (54) (new_primModNatS1(new_primMinusNatS1, Zero)=Succ(x14) ==> new_gcd0Gcd'0(Pos(Succ(Zero)), Pos(Succ(Zero)))_>=_new_gcd0Gcd'1(new_esEs(new_rem(Pos(Succ(Zero)), Pos(Succ(Zero)))), Pos(Succ(Zero)), Pos(Succ(Zero)))) 248.39/165.10 248.39/165.10 248.39/165.10 248.39/165.10 We simplified constraint (51) using rules (III), (IV), (VII) which results in the following new constraint: 248.39/165.10 248.39/165.10 (55) (new_gcd0Gcd'0(Pos(Succ(Succ(x70))), Pos(Succ(Zero)))_>=_new_gcd0Gcd'1(new_esEs(new_rem(Pos(Succ(Succ(x70))), Pos(Succ(Zero)))), Pos(Succ(Zero)), Pos(Succ(Succ(x70))))) 248.39/165.10 248.39/165.10 248.39/165.10 248.39/165.10 We simplified constraint (52) using rules (I), (II), (IV) which results in the following new constraint: 248.39/165.10 248.39/165.10 (56) (new_gcd0Gcd'0(Pos(Succ(Zero)), Pos(Succ(Succ(x71))))_>=_new_gcd0Gcd'1(new_esEs(new_rem(Pos(Succ(Zero)), Pos(Succ(Succ(x71))))), Pos(Succ(Succ(x71))), Pos(Succ(Zero)))) 248.39/165.10 248.39/165.10 248.39/165.10 248.39/165.10 We simplified constraint (53) using rules (III), (IV), (VII) which results in the following new constraint: 248.39/165.10 248.39/165.10 (57) (new_gcd0Gcd'0(Pos(Succ(Succ(x77))), Pos(Succ(Succ(x78))))_>=_new_gcd0Gcd'1(new_esEs(new_rem(Pos(Succ(Succ(x77))), Pos(Succ(Succ(x78))))), Pos(Succ(Succ(x78))), Pos(Succ(Succ(x77))))) 248.39/165.10 248.39/165.10 248.39/165.10 248.39/165.10 We simplified constraint (54) using rules (III), (IV), (VII) which results in the following new constraint: 248.39/165.10 248.39/165.10 (58) (new_gcd0Gcd'0(Pos(Succ(Zero)), Pos(Succ(Zero)))_>=_new_gcd0Gcd'1(new_esEs(new_rem(Pos(Succ(Zero)), Pos(Succ(Zero)))), Pos(Succ(Zero)), Pos(Succ(Zero)))) 248.39/165.10 248.39/165.10 248.39/165.10 248.39/165.10 We simplified constraint (50) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS1(x66, x65)=Succ(x14) which results in the following new constraints: 248.39/165.10 248.39/165.10 (59) (new_primModNatS1(new_primMinusNatS0(x81), Zero)=Succ(x14) ==> new_gcd0Gcd'0(Pos(Succ(Succ(x81))), Neg(Succ(Zero)))_>=_new_gcd0Gcd'1(new_esEs(new_rem(Pos(Succ(Succ(x81))), Neg(Succ(Zero)))), Neg(Succ(Zero)), Pos(Succ(Succ(x81))))) 248.39/165.10 248.39/165.10 (60) (Succ(Zero)=Succ(x14) ==> new_gcd0Gcd'0(Pos(Succ(Zero)), Neg(Succ(Succ(x82))))_>=_new_gcd0Gcd'1(new_esEs(new_rem(Pos(Succ(Zero)), Neg(Succ(Succ(x82))))), Neg(Succ(Succ(x82))), Pos(Succ(Zero)))) 248.39/165.10 248.39/165.10 (61) (new_primModNatS01(x84, x83, x84, x83)=Succ(x14) ==> new_gcd0Gcd'0(Pos(Succ(Succ(x84))), Neg(Succ(Succ(x83))))_>=_new_gcd0Gcd'1(new_esEs(new_rem(Pos(Succ(Succ(x84))), Neg(Succ(Succ(x83))))), Neg(Succ(Succ(x83))), Pos(Succ(Succ(x84))))) 248.39/165.10 248.39/165.10 (62) (new_primModNatS1(new_primMinusNatS1, Zero)=Succ(x14) ==> new_gcd0Gcd'0(Pos(Succ(Zero)), Neg(Succ(Zero)))_>=_new_gcd0Gcd'1(new_esEs(new_rem(Pos(Succ(Zero)), Neg(Succ(Zero)))), Neg(Succ(Zero)), Pos(Succ(Zero)))) 248.39/165.10 248.39/165.10 248.39/165.10 248.39/165.10 We simplified constraint (59) using rules (III), (IV), (VII) which results in the following new constraint: 248.39/165.10 248.39/165.10 (63) (new_gcd0Gcd'0(Pos(Succ(Succ(x81))), Neg(Succ(Zero)))_>=_new_gcd0Gcd'1(new_esEs(new_rem(Pos(Succ(Succ(x81))), Neg(Succ(Zero)))), Neg(Succ(Zero)), Pos(Succ(Succ(x81))))) 248.39/165.10 248.39/165.10 248.39/165.10 248.39/165.10 We simplified constraint (60) using rules (I), (II), (IV) which results in the following new constraint: 248.39/165.10 248.39/165.10 (64) (new_gcd0Gcd'0(Pos(Succ(Zero)), Neg(Succ(Succ(x82))))_>=_new_gcd0Gcd'1(new_esEs(new_rem(Pos(Succ(Zero)), Neg(Succ(Succ(x82))))), Neg(Succ(Succ(x82))), Pos(Succ(Zero)))) 248.39/165.10 248.39/165.10 248.39/165.10 248.39/165.10 We simplified constraint (61) using rules (III), (IV), (VII) which results in the following new constraint: 248.39/165.10 248.39/165.10 (65) (new_gcd0Gcd'0(Pos(Succ(Succ(x88))), Neg(Succ(Succ(x89))))_>=_new_gcd0Gcd'1(new_esEs(new_rem(Pos(Succ(Succ(x88))), Neg(Succ(Succ(x89))))), Neg(Succ(Succ(x89))), Pos(Succ(Succ(x88))))) 248.39/165.10 248.39/165.10 248.39/165.10 248.39/165.10 We simplified constraint (62) using rules (III), (IV), (VII) which results in the following new constraint: 248.39/165.10 248.39/165.10 (66) (new_gcd0Gcd'0(Pos(Succ(Zero)), Neg(Succ(Zero)))_>=_new_gcd0Gcd'1(new_esEs(new_rem(Pos(Succ(Zero)), Neg(Succ(Zero)))), Neg(Succ(Zero)), Pos(Succ(Zero)))) 248.39/165.10 248.39/165.10 248.39/165.10 248.39/165.10 We simplified constraint (10) using rule (V) (with possible (I) afterwards) using induction on new_primEqInt(x92)=False which results in the following new constraints: 248.39/165.10 248.39/165.10 (67) (False=False & Pos(Zero)=Pos(Succ(x93)) & new_rem(x2, x3)=Pos(Zero) ==> new_gcd0Gcd'0(x2, x3)_>=_new_gcd0Gcd'1(new_esEs(new_rem(x2, x3)), x3, x2)) 248.39/165.10 248.39/165.10 (68) (False=False & Pos(Zero)=Neg(Succ(x94)) & new_rem(x2, x3)=Pos(Zero) ==> new_gcd0Gcd'0(x2, x3)_>=_new_gcd0Gcd'1(new_esEs(new_rem(x2, x3)), x3, x2)) 248.39/165.10 248.39/165.10 248.39/165.10 248.39/165.10 We solved constraint (67) using rules (I), (II).We solved constraint (68) using rules (I), (II). 248.39/165.10 248.39/165.10 248.39/165.10 248.39/165.10 248.39/165.10 For Pair new_gcd0Gcd'1(False, vyv291, vyv292) -> new_gcd0Gcd'0(vyv291, new_rem(vyv292, vyv291)) the following chains were created: 248.39/165.10 *We consider the chain new_gcd0Gcd'1(False, x6, x7) -> new_gcd0Gcd'0(x6, new_rem(x7, x6)), new_gcd0Gcd'0(x8, x9) -> new_gcd0Gcd'1(new_esEs(new_rem(x8, x9)), x9, x8) which results in the following constraint: 248.39/165.10 248.39/165.10 (1) (new_gcd0Gcd'0(x6, new_rem(x7, x6))=new_gcd0Gcd'0(x8, x9) ==> new_gcd0Gcd'1(False, x6, x7)_>=_new_gcd0Gcd'0(x6, new_rem(x7, x6))) 248.39/165.10 248.39/165.10 248.39/165.10 248.39/165.10 We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: 248.39/165.10 248.39/165.10 (2) (new_gcd0Gcd'1(False, x6, x7)_>=_new_gcd0Gcd'0(x6, new_rem(x7, x6))) 248.39/165.10 248.39/165.10 248.39/165.10 248.39/165.10 248.39/165.10 248.39/165.10 248.39/165.10 248.39/165.10 248.39/165.10 To summarize, we get the following constraints P__>=_ for the following pairs. 248.39/165.10 248.39/165.10 *new_gcd0Gcd'0(vyv292, vyv291) -> new_gcd0Gcd'1(new_esEs(new_rem(vyv292, vyv291)), vyv291, vyv292) 248.39/165.10 248.39/165.10 *(new_gcd0Gcd'0(Neg(Succ(Zero)), Neg(Succ(Succ(x31))))_>=_new_gcd0Gcd'1(new_esEs(new_rem(Neg(Succ(Zero)), Neg(Succ(Succ(x31))))), Neg(Succ(Succ(x31))), Neg(Succ(Zero)))) 248.39/165.10 248.39/165.10 248.39/165.10 *(new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(Succ(Succ(x42))))_>=_new_gcd0Gcd'1(new_esEs(new_rem(Neg(Succ(Zero)), Pos(Succ(Succ(x42))))), Pos(Succ(Succ(x42))), Neg(Succ(Zero)))) 248.39/165.10 248.39/165.10 248.39/165.10 *(new_gcd0Gcd'0(Pos(Succ(Zero)), Pos(Succ(Succ(x71))))_>=_new_gcd0Gcd'1(new_esEs(new_rem(Pos(Succ(Zero)), Pos(Succ(Succ(x71))))), Pos(Succ(Succ(x71))), Pos(Succ(Zero)))) 248.39/165.10 248.39/165.10 248.39/165.10 *(new_gcd0Gcd'0(Pos(Succ(Zero)), Neg(Succ(Succ(x82))))_>=_new_gcd0Gcd'1(new_esEs(new_rem(Pos(Succ(Zero)), Neg(Succ(Succ(x82))))), Neg(Succ(Succ(x82))), Pos(Succ(Zero)))) 248.39/165.10 248.39/165.10 248.39/165.10 *(new_gcd0Gcd'0(Neg(Succ(Succ(x30))), Neg(Succ(Zero)))_>=_new_gcd0Gcd'1(new_esEs(new_rem(Neg(Succ(Succ(x30))), Neg(Succ(Zero)))), Neg(Succ(Zero)), Neg(Succ(Succ(x30))))) 248.39/165.10 248.39/165.10 248.39/165.10 *(new_gcd0Gcd'0(Neg(Succ(Succ(x37))), Neg(Succ(Succ(x38))))_>=_new_gcd0Gcd'1(new_esEs(new_rem(Neg(Succ(Succ(x37))), Neg(Succ(Succ(x38))))), Neg(Succ(Succ(x38))), Neg(Succ(Succ(x37))))) 248.39/165.10 248.39/165.10 248.39/165.10 *(new_gcd0Gcd'0(Neg(Succ(Zero)), Neg(Succ(Zero)))_>=_new_gcd0Gcd'1(new_esEs(new_rem(Neg(Succ(Zero)), Neg(Succ(Zero)))), Neg(Succ(Zero)), Neg(Succ(Zero)))) 248.39/165.10 248.39/165.10 248.39/165.10 *(new_gcd0Gcd'0(Neg(Succ(Succ(x41))), Pos(Succ(Zero)))_>=_new_gcd0Gcd'1(new_esEs(new_rem(Neg(Succ(Succ(x41))), Pos(Succ(Zero)))), Pos(Succ(Zero)), Neg(Succ(Succ(x41))))) 248.39/165.10 248.39/165.10 248.39/165.10 *(new_gcd0Gcd'0(Neg(Succ(Succ(x48))), Pos(Succ(Succ(x49))))_>=_new_gcd0Gcd'1(new_esEs(new_rem(Neg(Succ(Succ(x48))), Pos(Succ(Succ(x49))))), Pos(Succ(Succ(x49))), Neg(Succ(Succ(x48))))) 248.39/165.10 248.39/165.10 248.39/165.10 *(new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(Succ(Zero)))_>=_new_gcd0Gcd'1(new_esEs(new_rem(Neg(Succ(Zero)), Pos(Succ(Zero)))), Pos(Succ(Zero)), Neg(Succ(Zero)))) 248.39/165.10 248.39/165.10 248.39/165.10 *(new_gcd0Gcd'0(Pos(Succ(Succ(x70))), Pos(Succ(Zero)))_>=_new_gcd0Gcd'1(new_esEs(new_rem(Pos(Succ(Succ(x70))), Pos(Succ(Zero)))), Pos(Succ(Zero)), Pos(Succ(Succ(x70))))) 248.39/165.10 248.39/165.10 248.39/165.10 *(new_gcd0Gcd'0(Pos(Succ(Succ(x77))), Pos(Succ(Succ(x78))))_>=_new_gcd0Gcd'1(new_esEs(new_rem(Pos(Succ(Succ(x77))), Pos(Succ(Succ(x78))))), Pos(Succ(Succ(x78))), Pos(Succ(Succ(x77))))) 248.39/165.10 248.39/165.10 248.39/165.10 *(new_gcd0Gcd'0(Pos(Succ(Zero)), Pos(Succ(Zero)))_>=_new_gcd0Gcd'1(new_esEs(new_rem(Pos(Succ(Zero)), Pos(Succ(Zero)))), Pos(Succ(Zero)), Pos(Succ(Zero)))) 248.39/165.10 248.39/165.10 248.39/165.10 *(new_gcd0Gcd'0(Pos(Succ(Succ(x81))), Neg(Succ(Zero)))_>=_new_gcd0Gcd'1(new_esEs(new_rem(Pos(Succ(Succ(x81))), Neg(Succ(Zero)))), Neg(Succ(Zero)), Pos(Succ(Succ(x81))))) 248.39/165.10 248.39/165.10 248.39/165.10 *(new_gcd0Gcd'0(Pos(Succ(Succ(x88))), Neg(Succ(Succ(x89))))_>=_new_gcd0Gcd'1(new_esEs(new_rem(Pos(Succ(Succ(x88))), Neg(Succ(Succ(x89))))), Neg(Succ(Succ(x89))), Pos(Succ(Succ(x88))))) 248.39/165.10 248.39/165.10 248.39/165.10 *(new_gcd0Gcd'0(Pos(Succ(Zero)), Neg(Succ(Zero)))_>=_new_gcd0Gcd'1(new_esEs(new_rem(Pos(Succ(Zero)), Neg(Succ(Zero)))), Neg(Succ(Zero)), Pos(Succ(Zero)))) 248.39/165.10 248.39/165.10 248.39/165.10 248.39/165.10 248.39/165.10 *new_gcd0Gcd'1(False, vyv291, vyv292) -> new_gcd0Gcd'0(vyv291, new_rem(vyv292, vyv291)) 248.39/165.10 248.39/165.10 *(new_gcd0Gcd'1(False, x6, x7)_>=_new_gcd0Gcd'0(x6, new_rem(x7, x6))) 248.39/165.10 248.39/165.10 248.39/165.10 248.39/165.10 248.39/165.10 248.39/165.10 248.39/165.10 248.39/165.10 248.39/165.10 The constraints for P_> respective P_bound are constructed from P__>=_ where we just replace every occurence of "t _>=_ s" in P__>=_ by "t > s" respective "t _>=_ c". Here c stands for the fresh constant used for P_bound. 248.39/165.10 ---------------------------------------- 248.39/165.10 248.39/165.10 (32) 248.39/165.10 Obligation: 248.39/165.10 Q DP problem: 248.39/165.10 The TRS P consists of the following rules: 248.39/165.10 248.39/165.10 new_gcd0Gcd'0(vyv292, vyv291) -> new_gcd0Gcd'1(new_esEs(new_rem(vyv292, vyv291)), vyv291, vyv292) 248.39/165.10 new_gcd0Gcd'1(False, vyv291, vyv292) -> new_gcd0Gcd'0(vyv291, new_rem(vyv292, vyv291)) 248.39/165.10 248.39/165.10 The TRS R consists of the following rules: 248.39/165.10 248.39/165.10 new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Succ(vyv3330)) -> new_primModNatS01(vyv330, vyv331, vyv3320, vyv3330) 248.39/165.10 new_primModNatS1(Succ(Succ(vyv292000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv292000), Zero) 248.39/165.10 new_primModNatS1(Succ(Zero), Succ(vyv291000)) -> Succ(Zero) 248.39/165.10 new_primMinusNatS2(Zero, Zero) -> Zero 248.39/165.10 new_primEqInt(Neg(Zero)) -> True 248.39/165.10 new_primMinusNatS2(Succ(vyv3100), Succ(vyv3110)) -> new_primMinusNatS2(vyv3100, vyv3110) 248.39/165.10 new_primModNatS01(vyv330, vyv331, Zero, Succ(vyv3330)) -> Succ(Succ(vyv330)) 248.39/165.10 new_primModNatS1(Succ(Succ(vyv292000)), Succ(vyv291000)) -> new_primModNatS01(vyv292000, vyv291000, vyv292000, vyv291000) 248.39/165.10 new_primMinusNatS0(vyv270000) -> Succ(vyv270000) 248.39/165.10 new_esEs(Neg(Succ(vyv24100))) -> new_primEqInt(Neg(Succ(vyv24100))) 248.39/165.10 new_rem(Neg(vyv2920), Neg(Succ(vyv29100))) -> Neg(new_primModNatS1(vyv2920, vyv29100)) 248.39/165.10 new_primModNatS1(Zero, vyv29100) -> Zero 248.39/165.10 new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) 248.39/165.10 new_rem(Pos(vyv2920), Pos(Succ(vyv29100))) -> Pos(new_primModNatS1(vyv2920, vyv29100)) 248.39/165.10 new_primMinusNatS2(Zero, Succ(vyv3110)) -> Zero 248.39/165.10 new_error -> error([]) 248.39/165.10 new_primEqInt(Pos(Succ(vyv242000))) -> False 248.39/165.10 new_primEqInt(Pos(Zero)) -> True 248.39/165.10 new_esEs(Pos(Succ(vyv24100))) -> new_primEqInt(Pos(Succ(vyv24100))) 248.39/165.10 new_primEqInt(Neg(Succ(vyv242000))) -> False 248.39/165.10 new_rem(Neg(vyv2920), Neg(Zero)) -> new_error 248.39/165.10 new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) 248.39/165.10 new_rem(Pos(vyv2920), Neg(Zero)) -> new_error 248.39/165.10 new_rem(Neg(vyv2920), Pos(Zero)) -> new_error 248.39/165.10 new_primModNatS01(vyv330, vyv331, Zero, Zero) -> new_primModNatS02(vyv330, vyv331) 248.39/165.10 new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Zero) -> new_primModNatS02(vyv330, vyv331) 248.39/165.10 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 248.39/165.10 new_primModNatS02(vyv330, vyv331) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv330), Succ(vyv331)), Succ(vyv331)) 248.39/165.10 new_rem(Pos(vyv2920), Neg(Succ(vyv29100))) -> Pos(new_primModNatS1(vyv2920, vyv29100)) 248.39/165.10 new_primMinusNatS1 -> Zero 248.39/165.10 new_primMinusNatS2(Succ(vyv3100), Zero) -> Succ(vyv3100) 248.39/165.10 new_rem(Neg(vyv2920), Pos(Succ(vyv29100))) -> Neg(new_primModNatS1(vyv2920, vyv29100)) 248.39/165.10 new_rem(Pos(vyv2920), Pos(Zero)) -> new_error 248.39/165.10 248.39/165.10 The set Q consists of the following terms: 248.39/165.10 248.39/165.10 new_rem(Pos(x0), Pos(Succ(x1))) 248.39/165.10 new_primModNatS1(Succ(Zero), Succ(x0)) 248.39/165.10 new_primMinusNatS1 248.39/165.10 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 248.39/165.10 new_primEqInt(Pos(Zero)) 248.39/165.10 new_rem(Pos(x0), Neg(Succ(x1))) 248.39/165.10 new_rem(Neg(x0), Pos(Succ(x1))) 248.39/165.10 new_primModNatS02(x0, x1) 248.39/165.10 new_primModNatS01(x0, x1, Succ(x2), Zero) 248.39/165.10 new_primModNatS01(x0, x1, Zero, Succ(x2)) 248.39/165.10 new_primMinusNatS2(Zero, Zero) 248.39/165.10 new_rem(Pos(x0), Neg(Zero)) 248.39/165.10 new_rem(Neg(x0), Pos(Zero)) 248.39/165.10 new_esEs(Neg(Succ(x0))) 248.39/165.10 new_primMinusNatS2(Zero, Succ(x0)) 248.39/165.10 new_error 248.39/165.10 new_primModNatS1(Succ(Zero), Zero) 248.39/165.10 new_esEs(Pos(Zero)) 248.39/165.10 new_primEqInt(Neg(Succ(x0))) 248.39/165.10 new_primMinusNatS2(Succ(x0), Zero) 248.39/165.10 new_primEqInt(Neg(Zero)) 248.39/165.10 new_primMinusNatS0(x0) 248.39/165.10 new_rem(Neg(x0), Neg(Succ(x1))) 248.39/165.10 new_primModNatS01(x0, x1, Zero, Zero) 248.39/165.10 new_primEqInt(Pos(Succ(x0))) 248.39/165.10 new_primMinusNatS2(Succ(x0), Succ(x1)) 248.39/165.10 new_primModNatS1(Succ(Succ(x0)), Zero) 248.39/165.10 new_rem(Pos(x0), Pos(Zero)) 248.39/165.10 new_primModNatS1(Zero, x0) 248.39/165.10 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 248.39/165.10 new_esEs(Neg(Zero)) 248.39/165.10 new_esEs(Pos(Succ(x0))) 248.39/165.10 new_rem(Neg(x0), Neg(Zero)) 248.39/165.10 248.39/165.10 We have to consider all minimal (P,Q,R)-chains. 248.39/165.10 ---------------------------------------- 248.39/165.10 248.39/165.10 (33) TransformationProof (EQUIVALENT) 248.39/165.10 By narrowing [LPAR04] the rule new_gcd0Gcd'0(vyv292, vyv291) -> new_gcd0Gcd'1(new_esEs(new_rem(vyv292, vyv291)), vyv291, vyv292) at position [0] we obtained the following new rules [LPAR04]: 248.39/165.10 248.39/165.10 (new_gcd0Gcd'0(Neg(x0), Neg(Succ(x1))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(x0, x1))), Neg(Succ(x1)), Neg(x0)),new_gcd0Gcd'0(Neg(x0), Neg(Succ(x1))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(x0, x1))), Neg(Succ(x1)), Neg(x0))) 248.39/165.10 (new_gcd0Gcd'0(Pos(x0), Pos(Succ(x1))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(x0, x1))), Pos(Succ(x1)), Pos(x0)),new_gcd0Gcd'0(Pos(x0), Pos(Succ(x1))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(x0, x1))), Pos(Succ(x1)), Pos(x0))) 248.39/165.10 (new_gcd0Gcd'0(Neg(x0), Neg(Zero)) -> new_gcd0Gcd'1(new_esEs(new_error), Neg(Zero), Neg(x0)),new_gcd0Gcd'0(Neg(x0), Neg(Zero)) -> new_gcd0Gcd'1(new_esEs(new_error), Neg(Zero), Neg(x0))) 248.39/165.10 (new_gcd0Gcd'0(Pos(x0), Neg(Zero)) -> new_gcd0Gcd'1(new_esEs(new_error), Neg(Zero), Pos(x0)),new_gcd0Gcd'0(Pos(x0), Neg(Zero)) -> new_gcd0Gcd'1(new_esEs(new_error), Neg(Zero), Pos(x0))) 248.39/165.10 (new_gcd0Gcd'0(Neg(x0), Pos(Zero)) -> new_gcd0Gcd'1(new_esEs(new_error), Pos(Zero), Neg(x0)),new_gcd0Gcd'0(Neg(x0), Pos(Zero)) -> new_gcd0Gcd'1(new_esEs(new_error), Pos(Zero), Neg(x0))) 248.39/165.10 (new_gcd0Gcd'0(Pos(x0), Neg(Succ(x1))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(x0, x1))), Neg(Succ(x1)), Pos(x0)),new_gcd0Gcd'0(Pos(x0), Neg(Succ(x1))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(x0, x1))), Neg(Succ(x1)), Pos(x0))) 248.39/165.10 (new_gcd0Gcd'0(Neg(x0), Pos(Succ(x1))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(x0, x1))), Pos(Succ(x1)), Neg(x0)),new_gcd0Gcd'0(Neg(x0), Pos(Succ(x1))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(x0, x1))), Pos(Succ(x1)), Neg(x0))) 248.39/165.10 (new_gcd0Gcd'0(Pos(x0), Pos(Zero)) -> new_gcd0Gcd'1(new_esEs(new_error), Pos(Zero), Pos(x0)),new_gcd0Gcd'0(Pos(x0), Pos(Zero)) -> new_gcd0Gcd'1(new_esEs(new_error), Pos(Zero), Pos(x0))) 248.39/165.10 248.39/165.10 248.39/165.10 ---------------------------------------- 248.39/165.10 248.39/165.10 (34) 248.39/165.10 Obligation: 248.39/165.10 Q DP problem: 248.39/165.10 The TRS P consists of the following rules: 248.39/165.10 248.39/165.10 new_gcd0Gcd'1(False, vyv291, vyv292) -> new_gcd0Gcd'0(vyv291, new_rem(vyv292, vyv291)) 248.39/165.10 new_gcd0Gcd'0(Neg(x0), Neg(Succ(x1))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(x0, x1))), Neg(Succ(x1)), Neg(x0)) 248.39/165.10 new_gcd0Gcd'0(Pos(x0), Pos(Succ(x1))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(x0, x1))), Pos(Succ(x1)), Pos(x0)) 248.39/165.10 new_gcd0Gcd'0(Neg(x0), Neg(Zero)) -> new_gcd0Gcd'1(new_esEs(new_error), Neg(Zero), Neg(x0)) 248.39/165.10 new_gcd0Gcd'0(Pos(x0), Neg(Zero)) -> new_gcd0Gcd'1(new_esEs(new_error), Neg(Zero), Pos(x0)) 248.39/165.10 new_gcd0Gcd'0(Neg(x0), Pos(Zero)) -> new_gcd0Gcd'1(new_esEs(new_error), Pos(Zero), Neg(x0)) 248.39/165.10 new_gcd0Gcd'0(Pos(x0), Neg(Succ(x1))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(x0, x1))), Neg(Succ(x1)), Pos(x0)) 248.39/165.10 new_gcd0Gcd'0(Neg(x0), Pos(Succ(x1))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(x0, x1))), Pos(Succ(x1)), Neg(x0)) 248.39/165.10 new_gcd0Gcd'0(Pos(x0), Pos(Zero)) -> new_gcd0Gcd'1(new_esEs(new_error), Pos(Zero), Pos(x0)) 248.39/165.10 248.39/165.10 The TRS R consists of the following rules: 248.39/165.10 248.39/165.10 new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Succ(vyv3330)) -> new_primModNatS01(vyv330, vyv331, vyv3320, vyv3330) 248.39/165.10 new_primModNatS1(Succ(Succ(vyv292000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv292000), Zero) 248.39/165.10 new_primModNatS1(Succ(Zero), Succ(vyv291000)) -> Succ(Zero) 248.39/165.10 new_primMinusNatS2(Zero, Zero) -> Zero 248.39/165.10 new_primEqInt(Neg(Zero)) -> True 248.39/165.10 new_primMinusNatS2(Succ(vyv3100), Succ(vyv3110)) -> new_primMinusNatS2(vyv3100, vyv3110) 248.39/165.10 new_primModNatS01(vyv330, vyv331, Zero, Succ(vyv3330)) -> Succ(Succ(vyv330)) 248.39/165.10 new_primModNatS1(Succ(Succ(vyv292000)), Succ(vyv291000)) -> new_primModNatS01(vyv292000, vyv291000, vyv292000, vyv291000) 248.39/165.10 new_primMinusNatS0(vyv270000) -> Succ(vyv270000) 248.39/165.10 new_esEs(Neg(Succ(vyv24100))) -> new_primEqInt(Neg(Succ(vyv24100))) 248.39/165.10 new_rem(Neg(vyv2920), Neg(Succ(vyv29100))) -> Neg(new_primModNatS1(vyv2920, vyv29100)) 248.39/165.10 new_primModNatS1(Zero, vyv29100) -> Zero 248.39/165.10 new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) 248.39/165.10 new_rem(Pos(vyv2920), Pos(Succ(vyv29100))) -> Pos(new_primModNatS1(vyv2920, vyv29100)) 248.39/165.10 new_primMinusNatS2(Zero, Succ(vyv3110)) -> Zero 248.39/165.10 new_error -> error([]) 248.39/165.10 new_primEqInt(Pos(Succ(vyv242000))) -> False 248.39/165.10 new_primEqInt(Pos(Zero)) -> True 248.39/165.10 new_esEs(Pos(Succ(vyv24100))) -> new_primEqInt(Pos(Succ(vyv24100))) 248.39/165.10 new_primEqInt(Neg(Succ(vyv242000))) -> False 248.39/165.10 new_rem(Neg(vyv2920), Neg(Zero)) -> new_error 248.39/165.10 new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) 248.39/165.10 new_rem(Pos(vyv2920), Neg(Zero)) -> new_error 248.39/165.10 new_rem(Neg(vyv2920), Pos(Zero)) -> new_error 248.39/165.10 new_primModNatS01(vyv330, vyv331, Zero, Zero) -> new_primModNatS02(vyv330, vyv331) 248.39/165.10 new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Zero) -> new_primModNatS02(vyv330, vyv331) 248.39/165.10 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 248.39/165.10 new_primModNatS02(vyv330, vyv331) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv330), Succ(vyv331)), Succ(vyv331)) 248.39/165.10 new_rem(Pos(vyv2920), Neg(Succ(vyv29100))) -> Pos(new_primModNatS1(vyv2920, vyv29100)) 248.39/165.10 new_primMinusNatS1 -> Zero 248.39/165.10 new_primMinusNatS2(Succ(vyv3100), Zero) -> Succ(vyv3100) 248.39/165.10 new_rem(Neg(vyv2920), Pos(Succ(vyv29100))) -> Neg(new_primModNatS1(vyv2920, vyv29100)) 248.39/165.10 new_rem(Pos(vyv2920), Pos(Zero)) -> new_error 248.39/165.10 248.39/165.10 The set Q consists of the following terms: 248.39/165.10 248.39/165.10 new_rem(Pos(x0), Pos(Succ(x1))) 248.39/165.10 new_primModNatS1(Succ(Zero), Succ(x0)) 248.39/165.10 new_primMinusNatS1 248.39/165.10 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 248.39/165.10 new_primEqInt(Pos(Zero)) 248.39/165.10 new_rem(Pos(x0), Neg(Succ(x1))) 248.39/165.10 new_rem(Neg(x0), Pos(Succ(x1))) 248.39/165.10 new_primModNatS02(x0, x1) 248.39/165.10 new_primModNatS01(x0, x1, Succ(x2), Zero) 248.39/165.10 new_primModNatS01(x0, x1, Zero, Succ(x2)) 248.39/165.10 new_primMinusNatS2(Zero, Zero) 248.39/165.10 new_rem(Pos(x0), Neg(Zero)) 248.39/165.10 new_rem(Neg(x0), Pos(Zero)) 248.39/165.10 new_esEs(Neg(Succ(x0))) 248.39/165.10 new_primMinusNatS2(Zero, Succ(x0)) 248.39/165.10 new_error 248.39/165.10 new_primModNatS1(Succ(Zero), Zero) 248.39/165.10 new_esEs(Pos(Zero)) 248.39/165.10 new_primEqInt(Neg(Succ(x0))) 248.39/165.10 new_primMinusNatS2(Succ(x0), Zero) 248.39/165.10 new_primEqInt(Neg(Zero)) 248.39/165.10 new_primMinusNatS0(x0) 248.39/165.10 new_rem(Neg(x0), Neg(Succ(x1))) 248.39/165.10 new_primModNatS01(x0, x1, Zero, Zero) 248.39/165.10 new_primEqInt(Pos(Succ(x0))) 248.39/165.10 new_primMinusNatS2(Succ(x0), Succ(x1)) 248.39/165.10 new_primModNatS1(Succ(Succ(x0)), Zero) 248.39/165.10 new_rem(Pos(x0), Pos(Zero)) 248.39/165.10 new_primModNatS1(Zero, x0) 248.39/165.10 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 248.39/165.10 new_esEs(Neg(Zero)) 248.39/165.10 new_esEs(Pos(Succ(x0))) 248.39/165.10 new_rem(Neg(x0), Neg(Zero)) 248.39/165.10 248.39/165.10 We have to consider all minimal (P,Q,R)-chains. 248.39/165.10 ---------------------------------------- 248.39/165.10 248.39/165.10 (35) TransformationProof (EQUIVALENT) 248.39/165.10 By rewriting [LPAR04] the rule new_gcd0Gcd'0(Neg(x0), Neg(Zero)) -> new_gcd0Gcd'1(new_esEs(new_error), Neg(Zero), Neg(x0)) at position [0,0] we obtained the following new rules [LPAR04]: 248.39/165.10 248.39/165.10 (new_gcd0Gcd'0(Neg(x0), Neg(Zero)) -> new_gcd0Gcd'1(new_esEs(error([])), Neg(Zero), Neg(x0)),new_gcd0Gcd'0(Neg(x0), Neg(Zero)) -> new_gcd0Gcd'1(new_esEs(error([])), Neg(Zero), Neg(x0))) 248.39/165.10 248.39/165.10 248.39/165.10 ---------------------------------------- 248.39/165.10 248.39/165.10 (36) 248.39/165.10 Obligation: 248.39/165.10 Q DP problem: 248.39/165.10 The TRS P consists of the following rules: 248.39/165.10 248.39/165.10 new_gcd0Gcd'1(False, vyv291, vyv292) -> new_gcd0Gcd'0(vyv291, new_rem(vyv292, vyv291)) 248.39/165.10 new_gcd0Gcd'0(Neg(x0), Neg(Succ(x1))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(x0, x1))), Neg(Succ(x1)), Neg(x0)) 248.39/165.10 new_gcd0Gcd'0(Pos(x0), Pos(Succ(x1))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(x0, x1))), Pos(Succ(x1)), Pos(x0)) 248.39/165.10 new_gcd0Gcd'0(Pos(x0), Neg(Zero)) -> new_gcd0Gcd'1(new_esEs(new_error), Neg(Zero), Pos(x0)) 248.39/165.10 new_gcd0Gcd'0(Neg(x0), Pos(Zero)) -> new_gcd0Gcd'1(new_esEs(new_error), Pos(Zero), Neg(x0)) 248.39/165.10 new_gcd0Gcd'0(Pos(x0), Neg(Succ(x1))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(x0, x1))), Neg(Succ(x1)), Pos(x0)) 248.39/165.10 new_gcd0Gcd'0(Neg(x0), Pos(Succ(x1))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(x0, x1))), Pos(Succ(x1)), Neg(x0)) 248.39/165.10 new_gcd0Gcd'0(Pos(x0), Pos(Zero)) -> new_gcd0Gcd'1(new_esEs(new_error), Pos(Zero), Pos(x0)) 248.39/165.10 new_gcd0Gcd'0(Neg(x0), Neg(Zero)) -> new_gcd0Gcd'1(new_esEs(error([])), Neg(Zero), Neg(x0)) 248.39/165.10 248.39/165.10 The TRS R consists of the following rules: 248.39/165.10 248.39/165.10 new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Succ(vyv3330)) -> new_primModNatS01(vyv330, vyv331, vyv3320, vyv3330) 248.39/165.10 new_primModNatS1(Succ(Succ(vyv292000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv292000), Zero) 248.39/165.10 new_primModNatS1(Succ(Zero), Succ(vyv291000)) -> Succ(Zero) 248.39/165.10 new_primMinusNatS2(Zero, Zero) -> Zero 248.39/165.10 new_primEqInt(Neg(Zero)) -> True 248.39/165.10 new_primMinusNatS2(Succ(vyv3100), Succ(vyv3110)) -> new_primMinusNatS2(vyv3100, vyv3110) 248.39/165.10 new_primModNatS01(vyv330, vyv331, Zero, Succ(vyv3330)) -> Succ(Succ(vyv330)) 248.39/165.10 new_primModNatS1(Succ(Succ(vyv292000)), Succ(vyv291000)) -> new_primModNatS01(vyv292000, vyv291000, vyv292000, vyv291000) 248.39/165.10 new_primMinusNatS0(vyv270000) -> Succ(vyv270000) 248.39/165.10 new_esEs(Neg(Succ(vyv24100))) -> new_primEqInt(Neg(Succ(vyv24100))) 248.39/165.10 new_rem(Neg(vyv2920), Neg(Succ(vyv29100))) -> Neg(new_primModNatS1(vyv2920, vyv29100)) 248.39/165.10 new_primModNatS1(Zero, vyv29100) -> Zero 248.39/165.10 new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) 248.39/165.10 new_rem(Pos(vyv2920), Pos(Succ(vyv29100))) -> Pos(new_primModNatS1(vyv2920, vyv29100)) 248.39/165.10 new_primMinusNatS2(Zero, Succ(vyv3110)) -> Zero 248.39/165.10 new_error -> error([]) 248.39/165.10 new_primEqInt(Pos(Succ(vyv242000))) -> False 248.39/165.10 new_primEqInt(Pos(Zero)) -> True 248.39/165.10 new_esEs(Pos(Succ(vyv24100))) -> new_primEqInt(Pos(Succ(vyv24100))) 248.39/165.10 new_primEqInt(Neg(Succ(vyv242000))) -> False 248.39/165.10 new_rem(Neg(vyv2920), Neg(Zero)) -> new_error 248.39/165.10 new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) 248.39/165.10 new_rem(Pos(vyv2920), Neg(Zero)) -> new_error 248.39/165.10 new_rem(Neg(vyv2920), Pos(Zero)) -> new_error 248.39/165.10 new_primModNatS01(vyv330, vyv331, Zero, Zero) -> new_primModNatS02(vyv330, vyv331) 248.39/165.10 new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Zero) -> new_primModNatS02(vyv330, vyv331) 248.39/165.10 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 248.39/165.10 new_primModNatS02(vyv330, vyv331) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv330), Succ(vyv331)), Succ(vyv331)) 248.39/165.10 new_rem(Pos(vyv2920), Neg(Succ(vyv29100))) -> Pos(new_primModNatS1(vyv2920, vyv29100)) 248.39/165.10 new_primMinusNatS1 -> Zero 248.39/165.10 new_primMinusNatS2(Succ(vyv3100), Zero) -> Succ(vyv3100) 248.39/165.10 new_rem(Neg(vyv2920), Pos(Succ(vyv29100))) -> Neg(new_primModNatS1(vyv2920, vyv29100)) 248.39/165.10 new_rem(Pos(vyv2920), Pos(Zero)) -> new_error 248.39/165.10 248.39/165.10 The set Q consists of the following terms: 248.39/165.10 248.39/165.10 new_rem(Pos(x0), Pos(Succ(x1))) 248.39/165.10 new_primModNatS1(Succ(Zero), Succ(x0)) 248.39/165.10 new_primMinusNatS1 248.39/165.10 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 248.39/165.10 new_primEqInt(Pos(Zero)) 248.39/165.10 new_rem(Pos(x0), Neg(Succ(x1))) 248.39/165.10 new_rem(Neg(x0), Pos(Succ(x1))) 248.39/165.10 new_primModNatS02(x0, x1) 248.39/165.10 new_primModNatS01(x0, x1, Succ(x2), Zero) 248.39/165.10 new_primModNatS01(x0, x1, Zero, Succ(x2)) 248.39/165.10 new_primMinusNatS2(Zero, Zero) 248.39/165.10 new_rem(Pos(x0), Neg(Zero)) 248.39/165.10 new_rem(Neg(x0), Pos(Zero)) 248.39/165.10 new_esEs(Neg(Succ(x0))) 248.39/165.10 new_primMinusNatS2(Zero, Succ(x0)) 248.39/165.10 new_error 248.39/165.10 new_primModNatS1(Succ(Zero), Zero) 248.39/165.10 new_esEs(Pos(Zero)) 248.39/165.10 new_primEqInt(Neg(Succ(x0))) 248.39/165.10 new_primMinusNatS2(Succ(x0), Zero) 248.39/165.10 new_primEqInt(Neg(Zero)) 248.39/165.10 new_primMinusNatS0(x0) 248.39/165.10 new_rem(Neg(x0), Neg(Succ(x1))) 248.39/165.10 new_primModNatS01(x0, x1, Zero, Zero) 248.39/165.10 new_primEqInt(Pos(Succ(x0))) 248.39/165.10 new_primMinusNatS2(Succ(x0), Succ(x1)) 248.39/165.10 new_primModNatS1(Succ(Succ(x0)), Zero) 248.39/165.10 new_rem(Pos(x0), Pos(Zero)) 248.39/165.10 new_primModNatS1(Zero, x0) 248.39/165.10 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 248.39/165.10 new_esEs(Neg(Zero)) 248.39/165.10 new_esEs(Pos(Succ(x0))) 248.39/165.10 new_rem(Neg(x0), Neg(Zero)) 248.39/165.10 248.39/165.10 We have to consider all minimal (P,Q,R)-chains. 248.39/165.10 ---------------------------------------- 248.39/165.10 248.39/165.10 (37) DependencyGraphProof (EQUIVALENT) 248.39/165.10 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. 248.39/165.10 ---------------------------------------- 248.39/165.10 248.39/165.10 (38) 248.39/165.10 Obligation: 248.39/165.10 Q DP problem: 248.39/165.10 The TRS P consists of the following rules: 248.39/165.10 248.39/165.10 new_gcd0Gcd'0(Neg(x0), Neg(Succ(x1))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(x0, x1))), Neg(Succ(x1)), Neg(x0)) 248.39/165.10 new_gcd0Gcd'1(False, vyv291, vyv292) -> new_gcd0Gcd'0(vyv291, new_rem(vyv292, vyv291)) 248.39/165.10 new_gcd0Gcd'0(Pos(x0), Pos(Succ(x1))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(x0, x1))), Pos(Succ(x1)), Pos(x0)) 248.39/165.10 new_gcd0Gcd'0(Pos(x0), Neg(Zero)) -> new_gcd0Gcd'1(new_esEs(new_error), Neg(Zero), Pos(x0)) 248.39/165.10 new_gcd0Gcd'0(Neg(x0), Pos(Zero)) -> new_gcd0Gcd'1(new_esEs(new_error), Pos(Zero), Neg(x0)) 248.39/165.10 new_gcd0Gcd'0(Pos(x0), Neg(Succ(x1))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(x0, x1))), Neg(Succ(x1)), Pos(x0)) 248.39/165.10 new_gcd0Gcd'0(Neg(x0), Pos(Succ(x1))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(x0, x1))), Pos(Succ(x1)), Neg(x0)) 248.39/165.10 new_gcd0Gcd'0(Pos(x0), Pos(Zero)) -> new_gcd0Gcd'1(new_esEs(new_error), Pos(Zero), Pos(x0)) 248.39/165.10 248.39/165.10 The TRS R consists of the following rules: 248.39/165.10 248.39/165.10 new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Succ(vyv3330)) -> new_primModNatS01(vyv330, vyv331, vyv3320, vyv3330) 248.39/165.10 new_primModNatS1(Succ(Succ(vyv292000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv292000), Zero) 248.39/165.10 new_primModNatS1(Succ(Zero), Succ(vyv291000)) -> Succ(Zero) 248.39/165.10 new_primMinusNatS2(Zero, Zero) -> Zero 248.39/165.10 new_primEqInt(Neg(Zero)) -> True 248.39/165.10 new_primMinusNatS2(Succ(vyv3100), Succ(vyv3110)) -> new_primMinusNatS2(vyv3100, vyv3110) 248.39/165.10 new_primModNatS01(vyv330, vyv331, Zero, Succ(vyv3330)) -> Succ(Succ(vyv330)) 248.39/165.10 new_primModNatS1(Succ(Succ(vyv292000)), Succ(vyv291000)) -> new_primModNatS01(vyv292000, vyv291000, vyv292000, vyv291000) 248.39/165.10 new_primMinusNatS0(vyv270000) -> Succ(vyv270000) 248.39/165.10 new_esEs(Neg(Succ(vyv24100))) -> new_primEqInt(Neg(Succ(vyv24100))) 248.39/165.10 new_rem(Neg(vyv2920), Neg(Succ(vyv29100))) -> Neg(new_primModNatS1(vyv2920, vyv29100)) 248.39/165.10 new_primModNatS1(Zero, vyv29100) -> Zero 248.39/165.10 new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) 248.39/165.10 new_rem(Pos(vyv2920), Pos(Succ(vyv29100))) -> Pos(new_primModNatS1(vyv2920, vyv29100)) 248.39/165.10 new_primMinusNatS2(Zero, Succ(vyv3110)) -> Zero 248.39/165.10 new_error -> error([]) 248.39/165.10 new_primEqInt(Pos(Succ(vyv242000))) -> False 248.39/165.10 new_primEqInt(Pos(Zero)) -> True 248.39/165.10 new_esEs(Pos(Succ(vyv24100))) -> new_primEqInt(Pos(Succ(vyv24100))) 248.39/165.10 new_primEqInt(Neg(Succ(vyv242000))) -> False 248.39/165.10 new_rem(Neg(vyv2920), Neg(Zero)) -> new_error 248.39/165.10 new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) 248.39/165.10 new_rem(Pos(vyv2920), Neg(Zero)) -> new_error 248.39/165.10 new_rem(Neg(vyv2920), Pos(Zero)) -> new_error 248.39/165.10 new_primModNatS01(vyv330, vyv331, Zero, Zero) -> new_primModNatS02(vyv330, vyv331) 248.39/165.10 new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Zero) -> new_primModNatS02(vyv330, vyv331) 248.39/165.10 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 248.39/165.10 new_primModNatS02(vyv330, vyv331) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv330), Succ(vyv331)), Succ(vyv331)) 248.39/165.10 new_rem(Pos(vyv2920), Neg(Succ(vyv29100))) -> Pos(new_primModNatS1(vyv2920, vyv29100)) 248.39/165.10 new_primMinusNatS1 -> Zero 248.39/165.10 new_primMinusNatS2(Succ(vyv3100), Zero) -> Succ(vyv3100) 248.39/165.10 new_rem(Neg(vyv2920), Pos(Succ(vyv29100))) -> Neg(new_primModNatS1(vyv2920, vyv29100)) 248.39/165.10 new_rem(Pos(vyv2920), Pos(Zero)) -> new_error 248.39/165.10 248.39/165.10 The set Q consists of the following terms: 248.39/165.10 248.39/165.10 new_rem(Pos(x0), Pos(Succ(x1))) 248.39/165.10 new_primModNatS1(Succ(Zero), Succ(x0)) 248.39/165.10 new_primMinusNatS1 248.39/165.10 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 248.39/165.10 new_primEqInt(Pos(Zero)) 248.39/165.10 new_rem(Pos(x0), Neg(Succ(x1))) 248.39/165.10 new_rem(Neg(x0), Pos(Succ(x1))) 248.39/165.10 new_primModNatS02(x0, x1) 248.39/165.10 new_primModNatS01(x0, x1, Succ(x2), Zero) 248.39/165.10 new_primModNatS01(x0, x1, Zero, Succ(x2)) 248.39/165.10 new_primMinusNatS2(Zero, Zero) 248.39/165.10 new_rem(Pos(x0), Neg(Zero)) 248.39/165.10 new_rem(Neg(x0), Pos(Zero)) 248.39/165.10 new_esEs(Neg(Succ(x0))) 248.39/165.10 new_primMinusNatS2(Zero, Succ(x0)) 248.39/165.10 new_error 248.39/165.10 new_primModNatS1(Succ(Zero), Zero) 248.39/165.10 new_esEs(Pos(Zero)) 248.39/165.10 new_primEqInt(Neg(Succ(x0))) 248.39/165.10 new_primMinusNatS2(Succ(x0), Zero) 248.39/165.10 new_primEqInt(Neg(Zero)) 248.39/165.10 new_primMinusNatS0(x0) 248.39/165.10 new_rem(Neg(x0), Neg(Succ(x1))) 248.39/165.10 new_primModNatS01(x0, x1, Zero, Zero) 248.39/165.10 new_primEqInt(Pos(Succ(x0))) 248.39/165.10 new_primMinusNatS2(Succ(x0), Succ(x1)) 248.39/165.10 new_primModNatS1(Succ(Succ(x0)), Zero) 248.39/165.10 new_rem(Pos(x0), Pos(Zero)) 248.39/165.10 new_primModNatS1(Zero, x0) 248.39/165.10 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 248.39/165.10 new_esEs(Neg(Zero)) 248.39/165.10 new_esEs(Pos(Succ(x0))) 248.39/165.10 new_rem(Neg(x0), Neg(Zero)) 248.39/165.10 248.39/165.10 We have to consider all minimal (P,Q,R)-chains. 248.39/165.10 ---------------------------------------- 248.39/165.10 248.39/165.10 (39) TransformationProof (EQUIVALENT) 248.39/165.10 By rewriting [LPAR04] the rule new_gcd0Gcd'0(Pos(x0), Neg(Zero)) -> new_gcd0Gcd'1(new_esEs(new_error), Neg(Zero), Pos(x0)) at position [0,0] we obtained the following new rules [LPAR04]: 248.39/165.10 248.39/165.10 (new_gcd0Gcd'0(Pos(x0), Neg(Zero)) -> new_gcd0Gcd'1(new_esEs(error([])), Neg(Zero), Pos(x0)),new_gcd0Gcd'0(Pos(x0), Neg(Zero)) -> new_gcd0Gcd'1(new_esEs(error([])), Neg(Zero), Pos(x0))) 248.39/165.10 248.39/165.10 248.39/165.10 ---------------------------------------- 248.39/165.10 248.39/165.10 (40) 248.39/165.10 Obligation: 248.39/165.10 Q DP problem: 248.39/165.10 The TRS P consists of the following rules: 248.39/165.10 248.39/165.10 new_gcd0Gcd'0(Neg(x0), Neg(Succ(x1))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(x0, x1))), Neg(Succ(x1)), Neg(x0)) 248.39/165.10 new_gcd0Gcd'1(False, vyv291, vyv292) -> new_gcd0Gcd'0(vyv291, new_rem(vyv292, vyv291)) 248.39/165.10 new_gcd0Gcd'0(Pos(x0), Pos(Succ(x1))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(x0, x1))), Pos(Succ(x1)), Pos(x0)) 248.39/165.10 new_gcd0Gcd'0(Neg(x0), Pos(Zero)) -> new_gcd0Gcd'1(new_esEs(new_error), Pos(Zero), Neg(x0)) 248.39/165.10 new_gcd0Gcd'0(Pos(x0), Neg(Succ(x1))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(x0, x1))), Neg(Succ(x1)), Pos(x0)) 248.39/165.10 new_gcd0Gcd'0(Neg(x0), Pos(Succ(x1))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(x0, x1))), Pos(Succ(x1)), Neg(x0)) 248.39/165.10 new_gcd0Gcd'0(Pos(x0), Pos(Zero)) -> new_gcd0Gcd'1(new_esEs(new_error), Pos(Zero), Pos(x0)) 248.39/165.10 new_gcd0Gcd'0(Pos(x0), Neg(Zero)) -> new_gcd0Gcd'1(new_esEs(error([])), Neg(Zero), Pos(x0)) 248.39/165.10 248.39/165.10 The TRS R consists of the following rules: 248.39/165.10 248.39/165.10 new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Succ(vyv3330)) -> new_primModNatS01(vyv330, vyv331, vyv3320, vyv3330) 248.39/165.10 new_primModNatS1(Succ(Succ(vyv292000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv292000), Zero) 248.39/165.10 new_primModNatS1(Succ(Zero), Succ(vyv291000)) -> Succ(Zero) 248.39/165.10 new_primMinusNatS2(Zero, Zero) -> Zero 248.39/165.10 new_primEqInt(Neg(Zero)) -> True 248.39/165.10 new_primMinusNatS2(Succ(vyv3100), Succ(vyv3110)) -> new_primMinusNatS2(vyv3100, vyv3110) 248.39/165.10 new_primModNatS01(vyv330, vyv331, Zero, Succ(vyv3330)) -> Succ(Succ(vyv330)) 248.39/165.10 new_primModNatS1(Succ(Succ(vyv292000)), Succ(vyv291000)) -> new_primModNatS01(vyv292000, vyv291000, vyv292000, vyv291000) 248.39/165.10 new_primMinusNatS0(vyv270000) -> Succ(vyv270000) 248.39/165.10 new_esEs(Neg(Succ(vyv24100))) -> new_primEqInt(Neg(Succ(vyv24100))) 248.39/165.10 new_rem(Neg(vyv2920), Neg(Succ(vyv29100))) -> Neg(new_primModNatS1(vyv2920, vyv29100)) 248.39/165.10 new_primModNatS1(Zero, vyv29100) -> Zero 248.39/165.10 new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) 248.39/165.10 new_rem(Pos(vyv2920), Pos(Succ(vyv29100))) -> Pos(new_primModNatS1(vyv2920, vyv29100)) 248.39/165.10 new_primMinusNatS2(Zero, Succ(vyv3110)) -> Zero 248.39/165.10 new_error -> error([]) 248.39/165.10 new_primEqInt(Pos(Succ(vyv242000))) -> False 248.39/165.10 new_primEqInt(Pos(Zero)) -> True 248.39/165.10 new_esEs(Pos(Succ(vyv24100))) -> new_primEqInt(Pos(Succ(vyv24100))) 248.39/165.10 new_primEqInt(Neg(Succ(vyv242000))) -> False 248.39/165.10 new_rem(Neg(vyv2920), Neg(Zero)) -> new_error 248.39/165.10 new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) 248.39/165.10 new_rem(Pos(vyv2920), Neg(Zero)) -> new_error 248.39/165.10 new_rem(Neg(vyv2920), Pos(Zero)) -> new_error 248.39/165.10 new_primModNatS01(vyv330, vyv331, Zero, Zero) -> new_primModNatS02(vyv330, vyv331) 248.39/165.10 new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Zero) -> new_primModNatS02(vyv330, vyv331) 248.39/165.10 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 248.39/165.10 new_primModNatS02(vyv330, vyv331) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv330), Succ(vyv331)), Succ(vyv331)) 248.39/165.10 new_rem(Pos(vyv2920), Neg(Succ(vyv29100))) -> Pos(new_primModNatS1(vyv2920, vyv29100)) 248.39/165.10 new_primMinusNatS1 -> Zero 248.39/165.10 new_primMinusNatS2(Succ(vyv3100), Zero) -> Succ(vyv3100) 248.39/165.10 new_rem(Neg(vyv2920), Pos(Succ(vyv29100))) -> Neg(new_primModNatS1(vyv2920, vyv29100)) 248.39/165.10 new_rem(Pos(vyv2920), Pos(Zero)) -> new_error 248.39/165.10 248.39/165.10 The set Q consists of the following terms: 248.39/165.10 248.39/165.10 new_rem(Pos(x0), Pos(Succ(x1))) 248.39/165.10 new_primModNatS1(Succ(Zero), Succ(x0)) 248.39/165.10 new_primMinusNatS1 248.39/165.10 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 248.39/165.10 new_primEqInt(Pos(Zero)) 248.39/165.10 new_rem(Pos(x0), Neg(Succ(x1))) 248.39/165.10 new_rem(Neg(x0), Pos(Succ(x1))) 248.39/165.10 new_primModNatS02(x0, x1) 248.39/165.10 new_primModNatS01(x0, x1, Succ(x2), Zero) 248.39/165.10 new_primModNatS01(x0, x1, Zero, Succ(x2)) 248.39/165.10 new_primMinusNatS2(Zero, Zero) 248.39/165.10 new_rem(Pos(x0), Neg(Zero)) 248.39/165.10 new_rem(Neg(x0), Pos(Zero)) 248.39/165.10 new_esEs(Neg(Succ(x0))) 248.39/165.10 new_primMinusNatS2(Zero, Succ(x0)) 248.39/165.10 new_error 248.39/165.10 new_primModNatS1(Succ(Zero), Zero) 248.39/165.10 new_esEs(Pos(Zero)) 248.39/165.10 new_primEqInt(Neg(Succ(x0))) 248.39/165.10 new_primMinusNatS2(Succ(x0), Zero) 248.39/165.10 new_primEqInt(Neg(Zero)) 248.39/165.10 new_primMinusNatS0(x0) 248.39/165.10 new_rem(Neg(x0), Neg(Succ(x1))) 248.39/165.10 new_primModNatS01(x0, x1, Zero, Zero) 248.39/165.10 new_primEqInt(Pos(Succ(x0))) 248.39/165.10 new_primMinusNatS2(Succ(x0), Succ(x1)) 248.39/165.10 new_primModNatS1(Succ(Succ(x0)), Zero) 248.39/165.10 new_rem(Pos(x0), Pos(Zero)) 248.39/165.10 new_primModNatS1(Zero, x0) 248.39/165.10 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 248.39/165.10 new_esEs(Neg(Zero)) 248.39/165.10 new_esEs(Pos(Succ(x0))) 248.39/165.10 new_rem(Neg(x0), Neg(Zero)) 248.39/165.10 248.39/165.10 We have to consider all minimal (P,Q,R)-chains. 248.39/165.10 ---------------------------------------- 248.39/165.10 248.39/165.10 (41) DependencyGraphProof (EQUIVALENT) 248.39/165.10 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. 248.39/165.10 ---------------------------------------- 248.39/165.10 248.39/165.10 (42) 248.39/165.10 Obligation: 248.39/165.10 Q DP problem: 248.39/165.10 The TRS P consists of the following rules: 248.39/165.10 248.39/165.10 new_gcd0Gcd'1(False, vyv291, vyv292) -> new_gcd0Gcd'0(vyv291, new_rem(vyv292, vyv291)) 248.39/165.10 new_gcd0Gcd'0(Neg(x0), Neg(Succ(x1))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(x0, x1))), Neg(Succ(x1)), Neg(x0)) 248.39/165.10 new_gcd0Gcd'0(Pos(x0), Pos(Succ(x1))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(x0, x1))), Pos(Succ(x1)), Pos(x0)) 248.39/165.10 new_gcd0Gcd'0(Neg(x0), Pos(Zero)) -> new_gcd0Gcd'1(new_esEs(new_error), Pos(Zero), Neg(x0)) 248.39/165.10 new_gcd0Gcd'0(Pos(x0), Neg(Succ(x1))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(x0, x1))), Neg(Succ(x1)), Pos(x0)) 248.39/165.10 new_gcd0Gcd'0(Neg(x0), Pos(Succ(x1))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(x0, x1))), Pos(Succ(x1)), Neg(x0)) 248.39/165.10 new_gcd0Gcd'0(Pos(x0), Pos(Zero)) -> new_gcd0Gcd'1(new_esEs(new_error), Pos(Zero), Pos(x0)) 248.39/165.10 248.39/165.10 The TRS R consists of the following rules: 248.39/165.10 248.39/165.10 new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Succ(vyv3330)) -> new_primModNatS01(vyv330, vyv331, vyv3320, vyv3330) 248.39/165.10 new_primModNatS1(Succ(Succ(vyv292000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv292000), Zero) 248.39/165.10 new_primModNatS1(Succ(Zero), Succ(vyv291000)) -> Succ(Zero) 248.39/165.10 new_primMinusNatS2(Zero, Zero) -> Zero 248.39/165.10 new_primEqInt(Neg(Zero)) -> True 248.39/165.10 new_primMinusNatS2(Succ(vyv3100), Succ(vyv3110)) -> new_primMinusNatS2(vyv3100, vyv3110) 248.39/165.10 new_primModNatS01(vyv330, vyv331, Zero, Succ(vyv3330)) -> Succ(Succ(vyv330)) 248.39/165.10 new_primModNatS1(Succ(Succ(vyv292000)), Succ(vyv291000)) -> new_primModNatS01(vyv292000, vyv291000, vyv292000, vyv291000) 248.39/165.10 new_primMinusNatS0(vyv270000) -> Succ(vyv270000) 248.39/165.10 new_esEs(Neg(Succ(vyv24100))) -> new_primEqInt(Neg(Succ(vyv24100))) 248.39/165.10 new_rem(Neg(vyv2920), Neg(Succ(vyv29100))) -> Neg(new_primModNatS1(vyv2920, vyv29100)) 248.39/165.10 new_primModNatS1(Zero, vyv29100) -> Zero 248.39/165.10 new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) 248.39/165.10 new_rem(Pos(vyv2920), Pos(Succ(vyv29100))) -> Pos(new_primModNatS1(vyv2920, vyv29100)) 248.39/165.10 new_primMinusNatS2(Zero, Succ(vyv3110)) -> Zero 248.39/165.10 new_error -> error([]) 248.39/165.10 new_primEqInt(Pos(Succ(vyv242000))) -> False 248.39/165.10 new_primEqInt(Pos(Zero)) -> True 248.39/165.10 new_esEs(Pos(Succ(vyv24100))) -> new_primEqInt(Pos(Succ(vyv24100))) 248.39/165.10 new_primEqInt(Neg(Succ(vyv242000))) -> False 248.39/165.10 new_rem(Neg(vyv2920), Neg(Zero)) -> new_error 248.39/165.10 new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) 248.39/165.10 new_rem(Pos(vyv2920), Neg(Zero)) -> new_error 248.39/165.10 new_rem(Neg(vyv2920), Pos(Zero)) -> new_error 248.39/165.10 new_primModNatS01(vyv330, vyv331, Zero, Zero) -> new_primModNatS02(vyv330, vyv331) 248.39/165.10 new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Zero) -> new_primModNatS02(vyv330, vyv331) 248.39/165.10 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 248.39/165.10 new_primModNatS02(vyv330, vyv331) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv330), Succ(vyv331)), Succ(vyv331)) 248.39/165.10 new_rem(Pos(vyv2920), Neg(Succ(vyv29100))) -> Pos(new_primModNatS1(vyv2920, vyv29100)) 248.39/165.10 new_primMinusNatS1 -> Zero 248.39/165.10 new_primMinusNatS2(Succ(vyv3100), Zero) -> Succ(vyv3100) 248.39/165.10 new_rem(Neg(vyv2920), Pos(Succ(vyv29100))) -> Neg(new_primModNatS1(vyv2920, vyv29100)) 248.39/165.10 new_rem(Pos(vyv2920), Pos(Zero)) -> new_error 248.39/165.10 248.39/165.10 The set Q consists of the following terms: 248.39/165.10 248.39/165.10 new_rem(Pos(x0), Pos(Succ(x1))) 248.39/165.10 new_primModNatS1(Succ(Zero), Succ(x0)) 248.39/165.10 new_primMinusNatS1 248.39/165.10 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 248.39/165.10 new_primEqInt(Pos(Zero)) 248.39/165.10 new_rem(Pos(x0), Neg(Succ(x1))) 248.39/165.10 new_rem(Neg(x0), Pos(Succ(x1))) 248.39/165.10 new_primModNatS02(x0, x1) 248.39/165.10 new_primModNatS01(x0, x1, Succ(x2), Zero) 248.39/165.10 new_primModNatS01(x0, x1, Zero, Succ(x2)) 248.39/165.10 new_primMinusNatS2(Zero, Zero) 248.39/165.10 new_rem(Pos(x0), Neg(Zero)) 248.39/165.10 new_rem(Neg(x0), Pos(Zero)) 248.39/165.10 new_esEs(Neg(Succ(x0))) 248.39/165.10 new_primMinusNatS2(Zero, Succ(x0)) 248.39/165.10 new_error 248.39/165.10 new_primModNatS1(Succ(Zero), Zero) 248.39/165.10 new_esEs(Pos(Zero)) 248.39/165.10 new_primEqInt(Neg(Succ(x0))) 248.39/165.10 new_primMinusNatS2(Succ(x0), Zero) 248.39/165.10 new_primEqInt(Neg(Zero)) 248.39/165.10 new_primMinusNatS0(x0) 248.39/165.10 new_rem(Neg(x0), Neg(Succ(x1))) 248.39/165.10 new_primModNatS01(x0, x1, Zero, Zero) 248.39/165.10 new_primEqInt(Pos(Succ(x0))) 248.39/165.10 new_primMinusNatS2(Succ(x0), Succ(x1)) 248.39/165.10 new_primModNatS1(Succ(Succ(x0)), Zero) 248.39/165.10 new_rem(Pos(x0), Pos(Zero)) 248.39/165.10 new_primModNatS1(Zero, x0) 248.39/165.10 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 248.39/165.10 new_esEs(Neg(Zero)) 248.39/165.10 new_esEs(Pos(Succ(x0))) 248.39/165.10 new_rem(Neg(x0), Neg(Zero)) 248.39/165.10 248.39/165.10 We have to consider all minimal (P,Q,R)-chains. 248.39/165.10 ---------------------------------------- 248.39/165.10 248.39/165.10 (43) TransformationProof (EQUIVALENT) 248.39/165.10 By rewriting [LPAR04] the rule new_gcd0Gcd'0(Neg(x0), Pos(Zero)) -> new_gcd0Gcd'1(new_esEs(new_error), Pos(Zero), Neg(x0)) at position [0,0] we obtained the following new rules [LPAR04]: 248.39/165.10 248.39/165.10 (new_gcd0Gcd'0(Neg(x0), Pos(Zero)) -> new_gcd0Gcd'1(new_esEs(error([])), Pos(Zero), Neg(x0)),new_gcd0Gcd'0(Neg(x0), Pos(Zero)) -> new_gcd0Gcd'1(new_esEs(error([])), Pos(Zero), Neg(x0))) 248.39/165.10 248.39/165.10 248.39/165.10 ---------------------------------------- 248.39/165.10 248.39/165.10 (44) 248.39/165.10 Obligation: 248.39/165.10 Q DP problem: 248.39/165.10 The TRS P consists of the following rules: 248.39/165.10 248.39/165.10 new_gcd0Gcd'1(False, vyv291, vyv292) -> new_gcd0Gcd'0(vyv291, new_rem(vyv292, vyv291)) 248.39/165.10 new_gcd0Gcd'0(Neg(x0), Neg(Succ(x1))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(x0, x1))), Neg(Succ(x1)), Neg(x0)) 248.39/165.10 new_gcd0Gcd'0(Pos(x0), Pos(Succ(x1))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(x0, x1))), Pos(Succ(x1)), Pos(x0)) 248.39/165.10 new_gcd0Gcd'0(Pos(x0), Neg(Succ(x1))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(x0, x1))), Neg(Succ(x1)), Pos(x0)) 248.39/165.10 new_gcd0Gcd'0(Neg(x0), Pos(Succ(x1))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(x0, x1))), Pos(Succ(x1)), Neg(x0)) 248.39/165.10 new_gcd0Gcd'0(Pos(x0), Pos(Zero)) -> new_gcd0Gcd'1(new_esEs(new_error), Pos(Zero), Pos(x0)) 248.39/165.10 new_gcd0Gcd'0(Neg(x0), Pos(Zero)) -> new_gcd0Gcd'1(new_esEs(error([])), Pos(Zero), Neg(x0)) 248.39/165.10 248.39/165.10 The TRS R consists of the following rules: 248.39/165.10 248.39/165.10 new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Succ(vyv3330)) -> new_primModNatS01(vyv330, vyv331, vyv3320, vyv3330) 248.39/165.10 new_primModNatS1(Succ(Succ(vyv292000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv292000), Zero) 248.39/165.10 new_primModNatS1(Succ(Zero), Succ(vyv291000)) -> Succ(Zero) 248.39/165.10 new_primMinusNatS2(Zero, Zero) -> Zero 248.39/165.10 new_primEqInt(Neg(Zero)) -> True 248.39/165.10 new_primMinusNatS2(Succ(vyv3100), Succ(vyv3110)) -> new_primMinusNatS2(vyv3100, vyv3110) 248.39/165.10 new_primModNatS01(vyv330, vyv331, Zero, Succ(vyv3330)) -> Succ(Succ(vyv330)) 248.39/165.10 new_primModNatS1(Succ(Succ(vyv292000)), Succ(vyv291000)) -> new_primModNatS01(vyv292000, vyv291000, vyv292000, vyv291000) 248.39/165.10 new_primMinusNatS0(vyv270000) -> Succ(vyv270000) 248.39/165.10 new_esEs(Neg(Succ(vyv24100))) -> new_primEqInt(Neg(Succ(vyv24100))) 248.39/165.10 new_rem(Neg(vyv2920), Neg(Succ(vyv29100))) -> Neg(new_primModNatS1(vyv2920, vyv29100)) 248.39/165.10 new_primModNatS1(Zero, vyv29100) -> Zero 248.39/165.10 new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) 248.39/165.10 new_rem(Pos(vyv2920), Pos(Succ(vyv29100))) -> Pos(new_primModNatS1(vyv2920, vyv29100)) 248.39/165.10 new_primMinusNatS2(Zero, Succ(vyv3110)) -> Zero 248.39/165.10 new_error -> error([]) 248.39/165.10 new_primEqInt(Pos(Succ(vyv242000))) -> False 248.39/165.10 new_primEqInt(Pos(Zero)) -> True 248.39/165.10 new_esEs(Pos(Succ(vyv24100))) -> new_primEqInt(Pos(Succ(vyv24100))) 248.39/165.10 new_primEqInt(Neg(Succ(vyv242000))) -> False 248.39/165.10 new_rem(Neg(vyv2920), Neg(Zero)) -> new_error 248.39/165.10 new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) 248.39/165.10 new_rem(Pos(vyv2920), Neg(Zero)) -> new_error 248.39/165.10 new_rem(Neg(vyv2920), Pos(Zero)) -> new_error 248.39/165.10 new_primModNatS01(vyv330, vyv331, Zero, Zero) -> new_primModNatS02(vyv330, vyv331) 248.39/165.10 new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Zero) -> new_primModNatS02(vyv330, vyv331) 248.39/165.10 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 248.39/165.10 new_primModNatS02(vyv330, vyv331) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv330), Succ(vyv331)), Succ(vyv331)) 248.39/165.10 new_rem(Pos(vyv2920), Neg(Succ(vyv29100))) -> Pos(new_primModNatS1(vyv2920, vyv29100)) 248.39/165.10 new_primMinusNatS1 -> Zero 248.39/165.10 new_primMinusNatS2(Succ(vyv3100), Zero) -> Succ(vyv3100) 248.39/165.10 new_rem(Neg(vyv2920), Pos(Succ(vyv29100))) -> Neg(new_primModNatS1(vyv2920, vyv29100)) 248.39/165.10 new_rem(Pos(vyv2920), Pos(Zero)) -> new_error 248.39/165.10 248.39/165.10 The set Q consists of the following terms: 248.39/165.10 248.39/165.10 new_rem(Pos(x0), Pos(Succ(x1))) 248.39/165.10 new_primModNatS1(Succ(Zero), Succ(x0)) 248.39/165.10 new_primMinusNatS1 248.39/165.10 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 248.39/165.10 new_primEqInt(Pos(Zero)) 248.39/165.10 new_rem(Pos(x0), Neg(Succ(x1))) 248.39/165.10 new_rem(Neg(x0), Pos(Succ(x1))) 248.39/165.10 new_primModNatS02(x0, x1) 248.39/165.10 new_primModNatS01(x0, x1, Succ(x2), Zero) 248.39/165.10 new_primModNatS01(x0, x1, Zero, Succ(x2)) 248.39/165.10 new_primMinusNatS2(Zero, Zero) 248.39/165.10 new_rem(Pos(x0), Neg(Zero)) 248.39/165.10 new_rem(Neg(x0), Pos(Zero)) 248.39/165.10 new_esEs(Neg(Succ(x0))) 248.39/165.10 new_primMinusNatS2(Zero, Succ(x0)) 248.39/165.10 new_error 248.39/165.10 new_primModNatS1(Succ(Zero), Zero) 248.39/165.10 new_esEs(Pos(Zero)) 248.39/165.10 new_primEqInt(Neg(Succ(x0))) 248.39/165.10 new_primMinusNatS2(Succ(x0), Zero) 248.39/165.10 new_primEqInt(Neg(Zero)) 248.39/165.10 new_primMinusNatS0(x0) 248.39/165.10 new_rem(Neg(x0), Neg(Succ(x1))) 248.39/165.10 new_primModNatS01(x0, x1, Zero, Zero) 248.39/165.10 new_primEqInt(Pos(Succ(x0))) 248.39/165.10 new_primMinusNatS2(Succ(x0), Succ(x1)) 248.39/165.10 new_primModNatS1(Succ(Succ(x0)), Zero) 248.39/165.10 new_rem(Pos(x0), Pos(Zero)) 248.39/165.10 new_primModNatS1(Zero, x0) 248.39/165.10 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 248.39/165.10 new_esEs(Neg(Zero)) 248.39/165.10 new_esEs(Pos(Succ(x0))) 248.39/165.10 new_rem(Neg(x0), Neg(Zero)) 248.39/165.10 248.39/165.10 We have to consider all minimal (P,Q,R)-chains. 248.39/165.10 ---------------------------------------- 248.39/165.10 248.39/165.10 (45) DependencyGraphProof (EQUIVALENT) 248.39/165.10 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. 248.39/165.10 ---------------------------------------- 248.39/165.10 248.39/165.10 (46) 248.39/165.10 Obligation: 248.39/165.10 Q DP problem: 248.39/165.10 The TRS P consists of the following rules: 248.39/165.10 248.39/165.10 new_gcd0Gcd'0(Neg(x0), Neg(Succ(x1))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(x0, x1))), Neg(Succ(x1)), Neg(x0)) 248.39/165.10 new_gcd0Gcd'1(False, vyv291, vyv292) -> new_gcd0Gcd'0(vyv291, new_rem(vyv292, vyv291)) 248.39/165.10 new_gcd0Gcd'0(Pos(x0), Pos(Succ(x1))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(x0, x1))), Pos(Succ(x1)), Pos(x0)) 248.39/165.10 new_gcd0Gcd'0(Pos(x0), Neg(Succ(x1))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(x0, x1))), Neg(Succ(x1)), Pos(x0)) 248.39/165.10 new_gcd0Gcd'0(Neg(x0), Pos(Succ(x1))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(x0, x1))), Pos(Succ(x1)), Neg(x0)) 248.39/165.10 new_gcd0Gcd'0(Pos(x0), Pos(Zero)) -> new_gcd0Gcd'1(new_esEs(new_error), Pos(Zero), Pos(x0)) 248.39/165.10 248.39/165.10 The TRS R consists of the following rules: 248.39/165.10 248.39/165.10 new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Succ(vyv3330)) -> new_primModNatS01(vyv330, vyv331, vyv3320, vyv3330) 248.39/165.10 new_primModNatS1(Succ(Succ(vyv292000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv292000), Zero) 248.39/165.10 new_primModNatS1(Succ(Zero), Succ(vyv291000)) -> Succ(Zero) 248.39/165.10 new_primMinusNatS2(Zero, Zero) -> Zero 248.39/165.10 new_primEqInt(Neg(Zero)) -> True 248.39/165.10 new_primMinusNatS2(Succ(vyv3100), Succ(vyv3110)) -> new_primMinusNatS2(vyv3100, vyv3110) 248.39/165.10 new_primModNatS01(vyv330, vyv331, Zero, Succ(vyv3330)) -> Succ(Succ(vyv330)) 248.39/165.10 new_primModNatS1(Succ(Succ(vyv292000)), Succ(vyv291000)) -> new_primModNatS01(vyv292000, vyv291000, vyv292000, vyv291000) 248.39/165.10 new_primMinusNatS0(vyv270000) -> Succ(vyv270000) 248.39/165.10 new_esEs(Neg(Succ(vyv24100))) -> new_primEqInt(Neg(Succ(vyv24100))) 248.39/165.10 new_rem(Neg(vyv2920), Neg(Succ(vyv29100))) -> Neg(new_primModNatS1(vyv2920, vyv29100)) 248.39/165.10 new_primModNatS1(Zero, vyv29100) -> Zero 248.39/165.10 new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) 248.39/165.10 new_rem(Pos(vyv2920), Pos(Succ(vyv29100))) -> Pos(new_primModNatS1(vyv2920, vyv29100)) 248.39/165.10 new_primMinusNatS2(Zero, Succ(vyv3110)) -> Zero 248.39/165.10 new_error -> error([]) 248.39/165.10 new_primEqInt(Pos(Succ(vyv242000))) -> False 248.39/165.10 new_primEqInt(Pos(Zero)) -> True 248.39/165.10 new_esEs(Pos(Succ(vyv24100))) -> new_primEqInt(Pos(Succ(vyv24100))) 248.39/165.10 new_primEqInt(Neg(Succ(vyv242000))) -> False 248.39/165.10 new_rem(Neg(vyv2920), Neg(Zero)) -> new_error 248.39/165.10 new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) 248.39/165.10 new_rem(Pos(vyv2920), Neg(Zero)) -> new_error 248.39/165.10 new_rem(Neg(vyv2920), Pos(Zero)) -> new_error 248.39/165.10 new_primModNatS01(vyv330, vyv331, Zero, Zero) -> new_primModNatS02(vyv330, vyv331) 248.39/165.10 new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Zero) -> new_primModNatS02(vyv330, vyv331) 248.39/165.10 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 248.39/165.10 new_primModNatS02(vyv330, vyv331) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv330), Succ(vyv331)), Succ(vyv331)) 248.39/165.10 new_rem(Pos(vyv2920), Neg(Succ(vyv29100))) -> Pos(new_primModNatS1(vyv2920, vyv29100)) 248.39/165.10 new_primMinusNatS1 -> Zero 248.39/165.10 new_primMinusNatS2(Succ(vyv3100), Zero) -> Succ(vyv3100) 248.39/165.10 new_rem(Neg(vyv2920), Pos(Succ(vyv29100))) -> Neg(new_primModNatS1(vyv2920, vyv29100)) 248.39/165.10 new_rem(Pos(vyv2920), Pos(Zero)) -> new_error 248.39/165.10 248.39/165.10 The set Q consists of the following terms: 248.39/165.10 248.39/165.10 new_rem(Pos(x0), Pos(Succ(x1))) 248.39/165.10 new_primModNatS1(Succ(Zero), Succ(x0)) 248.39/165.10 new_primMinusNatS1 248.39/165.10 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 248.39/165.10 new_primEqInt(Pos(Zero)) 248.39/165.10 new_rem(Pos(x0), Neg(Succ(x1))) 248.39/165.10 new_rem(Neg(x0), Pos(Succ(x1))) 248.39/165.10 new_primModNatS02(x0, x1) 248.39/165.10 new_primModNatS01(x0, x1, Succ(x2), Zero) 248.39/165.10 new_primModNatS01(x0, x1, Zero, Succ(x2)) 248.39/165.10 new_primMinusNatS2(Zero, Zero) 248.39/165.10 new_rem(Pos(x0), Neg(Zero)) 248.39/165.10 new_rem(Neg(x0), Pos(Zero)) 248.39/165.10 new_esEs(Neg(Succ(x0))) 248.39/165.10 new_primMinusNatS2(Zero, Succ(x0)) 248.39/165.10 new_error 248.39/165.10 new_primModNatS1(Succ(Zero), Zero) 248.39/165.10 new_esEs(Pos(Zero)) 248.39/165.10 new_primEqInt(Neg(Succ(x0))) 248.39/165.10 new_primMinusNatS2(Succ(x0), Zero) 248.39/165.10 new_primEqInt(Neg(Zero)) 248.39/165.10 new_primMinusNatS0(x0) 248.39/165.10 new_rem(Neg(x0), Neg(Succ(x1))) 248.39/165.10 new_primModNatS01(x0, x1, Zero, Zero) 248.39/165.10 new_primEqInt(Pos(Succ(x0))) 248.39/165.10 new_primMinusNatS2(Succ(x0), Succ(x1)) 248.39/165.10 new_primModNatS1(Succ(Succ(x0)), Zero) 248.39/165.10 new_rem(Pos(x0), Pos(Zero)) 248.39/165.10 new_primModNatS1(Zero, x0) 248.39/165.10 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 248.39/165.10 new_esEs(Neg(Zero)) 248.39/165.10 new_esEs(Pos(Succ(x0))) 248.39/165.10 new_rem(Neg(x0), Neg(Zero)) 248.39/165.10 248.39/165.10 We have to consider all minimal (P,Q,R)-chains. 248.39/165.10 ---------------------------------------- 248.39/165.10 248.39/165.10 (47) TransformationProof (EQUIVALENT) 248.39/165.10 By rewriting [LPAR04] the rule new_gcd0Gcd'0(Pos(x0), Pos(Zero)) -> new_gcd0Gcd'1(new_esEs(new_error), Pos(Zero), Pos(x0)) at position [0,0] we obtained the following new rules [LPAR04]: 248.39/165.10 248.39/165.10 (new_gcd0Gcd'0(Pos(x0), Pos(Zero)) -> new_gcd0Gcd'1(new_esEs(error([])), Pos(Zero), Pos(x0)),new_gcd0Gcd'0(Pos(x0), Pos(Zero)) -> new_gcd0Gcd'1(new_esEs(error([])), Pos(Zero), Pos(x0))) 248.39/165.10 248.39/165.10 248.39/165.10 ---------------------------------------- 248.39/165.10 248.39/165.10 (48) 248.39/165.10 Obligation: 248.39/165.10 Q DP problem: 248.39/165.10 The TRS P consists of the following rules: 248.39/165.10 248.39/165.10 new_gcd0Gcd'0(Neg(x0), Neg(Succ(x1))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(x0, x1))), Neg(Succ(x1)), Neg(x0)) 248.39/165.10 new_gcd0Gcd'1(False, vyv291, vyv292) -> new_gcd0Gcd'0(vyv291, new_rem(vyv292, vyv291)) 248.39/165.10 new_gcd0Gcd'0(Pos(x0), Pos(Succ(x1))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(x0, x1))), Pos(Succ(x1)), Pos(x0)) 248.39/165.10 new_gcd0Gcd'0(Pos(x0), Neg(Succ(x1))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(x0, x1))), Neg(Succ(x1)), Pos(x0)) 248.39/165.10 new_gcd0Gcd'0(Neg(x0), Pos(Succ(x1))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(x0, x1))), Pos(Succ(x1)), Neg(x0)) 248.39/165.10 new_gcd0Gcd'0(Pos(x0), Pos(Zero)) -> new_gcd0Gcd'1(new_esEs(error([])), Pos(Zero), Pos(x0)) 248.39/165.10 248.39/165.10 The TRS R consists of the following rules: 248.39/165.10 248.39/165.10 new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Succ(vyv3330)) -> new_primModNatS01(vyv330, vyv331, vyv3320, vyv3330) 248.39/165.10 new_primModNatS1(Succ(Succ(vyv292000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv292000), Zero) 248.39/165.10 new_primModNatS1(Succ(Zero), Succ(vyv291000)) -> Succ(Zero) 248.39/165.10 new_primMinusNatS2(Zero, Zero) -> Zero 248.39/165.10 new_primEqInt(Neg(Zero)) -> True 248.39/165.10 new_primMinusNatS2(Succ(vyv3100), Succ(vyv3110)) -> new_primMinusNatS2(vyv3100, vyv3110) 248.39/165.10 new_primModNatS01(vyv330, vyv331, Zero, Succ(vyv3330)) -> Succ(Succ(vyv330)) 248.39/165.10 new_primModNatS1(Succ(Succ(vyv292000)), Succ(vyv291000)) -> new_primModNatS01(vyv292000, vyv291000, vyv292000, vyv291000) 248.39/165.10 new_primMinusNatS0(vyv270000) -> Succ(vyv270000) 248.39/165.10 new_esEs(Neg(Succ(vyv24100))) -> new_primEqInt(Neg(Succ(vyv24100))) 248.39/165.10 new_rem(Neg(vyv2920), Neg(Succ(vyv29100))) -> Neg(new_primModNatS1(vyv2920, vyv29100)) 248.39/165.10 new_primModNatS1(Zero, vyv29100) -> Zero 248.39/165.10 new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) 248.39/165.10 new_rem(Pos(vyv2920), Pos(Succ(vyv29100))) -> Pos(new_primModNatS1(vyv2920, vyv29100)) 248.39/165.10 new_primMinusNatS2(Zero, Succ(vyv3110)) -> Zero 248.39/165.10 new_error -> error([]) 248.39/165.10 new_primEqInt(Pos(Succ(vyv242000))) -> False 248.39/165.10 new_primEqInt(Pos(Zero)) -> True 248.39/165.10 new_esEs(Pos(Succ(vyv24100))) -> new_primEqInt(Pos(Succ(vyv24100))) 248.39/165.10 new_primEqInt(Neg(Succ(vyv242000))) -> False 248.39/165.10 new_rem(Neg(vyv2920), Neg(Zero)) -> new_error 248.39/165.10 new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) 248.39/165.10 new_rem(Pos(vyv2920), Neg(Zero)) -> new_error 248.39/165.10 new_rem(Neg(vyv2920), Pos(Zero)) -> new_error 248.39/165.10 new_primModNatS01(vyv330, vyv331, Zero, Zero) -> new_primModNatS02(vyv330, vyv331) 248.39/165.10 new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Zero) -> new_primModNatS02(vyv330, vyv331) 248.39/165.10 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 248.39/165.10 new_primModNatS02(vyv330, vyv331) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv330), Succ(vyv331)), Succ(vyv331)) 248.39/165.10 new_rem(Pos(vyv2920), Neg(Succ(vyv29100))) -> Pos(new_primModNatS1(vyv2920, vyv29100)) 248.39/165.10 new_primMinusNatS1 -> Zero 248.39/165.10 new_primMinusNatS2(Succ(vyv3100), Zero) -> Succ(vyv3100) 248.39/165.10 new_rem(Neg(vyv2920), Pos(Succ(vyv29100))) -> Neg(new_primModNatS1(vyv2920, vyv29100)) 248.39/165.10 new_rem(Pos(vyv2920), Pos(Zero)) -> new_error 248.39/165.10 248.39/165.10 The set Q consists of the following terms: 248.39/165.10 248.39/165.10 new_rem(Pos(x0), Pos(Succ(x1))) 248.39/165.10 new_primModNatS1(Succ(Zero), Succ(x0)) 248.39/165.10 new_primMinusNatS1 248.39/165.10 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 248.39/165.10 new_primEqInt(Pos(Zero)) 248.39/165.10 new_rem(Pos(x0), Neg(Succ(x1))) 248.39/165.10 new_rem(Neg(x0), Pos(Succ(x1))) 248.39/165.10 new_primModNatS02(x0, x1) 248.39/165.10 new_primModNatS01(x0, x1, Succ(x2), Zero) 248.39/165.10 new_primModNatS01(x0, x1, Zero, Succ(x2)) 248.39/165.10 new_primMinusNatS2(Zero, Zero) 248.39/165.10 new_rem(Pos(x0), Neg(Zero)) 248.39/165.10 new_rem(Neg(x0), Pos(Zero)) 248.39/165.10 new_esEs(Neg(Succ(x0))) 248.39/165.10 new_primMinusNatS2(Zero, Succ(x0)) 248.39/165.10 new_error 248.39/165.10 new_primModNatS1(Succ(Zero), Zero) 248.39/165.10 new_esEs(Pos(Zero)) 248.39/165.10 new_primEqInt(Neg(Succ(x0))) 248.39/165.10 new_primMinusNatS2(Succ(x0), Zero) 248.39/165.10 new_primEqInt(Neg(Zero)) 248.39/165.10 new_primMinusNatS0(x0) 248.39/165.10 new_rem(Neg(x0), Neg(Succ(x1))) 248.39/165.10 new_primModNatS01(x0, x1, Zero, Zero) 248.39/165.10 new_primEqInt(Pos(Succ(x0))) 248.39/165.10 new_primMinusNatS2(Succ(x0), Succ(x1)) 248.39/165.10 new_primModNatS1(Succ(Succ(x0)), Zero) 248.39/165.10 new_rem(Pos(x0), Pos(Zero)) 248.39/165.10 new_primModNatS1(Zero, x0) 248.39/165.10 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 248.39/165.10 new_esEs(Neg(Zero)) 248.39/165.10 new_esEs(Pos(Succ(x0))) 248.39/165.10 new_rem(Neg(x0), Neg(Zero)) 248.39/165.10 248.39/165.10 We have to consider all minimal (P,Q,R)-chains. 248.39/165.10 ---------------------------------------- 248.39/165.10 248.39/165.10 (49) DependencyGraphProof (EQUIVALENT) 248.39/165.10 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. 248.39/165.10 ---------------------------------------- 248.39/165.10 248.39/165.10 (50) 248.39/165.10 Obligation: 248.39/165.10 Q DP problem: 248.39/165.10 The TRS P consists of the following rules: 248.39/165.10 248.39/165.10 new_gcd0Gcd'1(False, vyv291, vyv292) -> new_gcd0Gcd'0(vyv291, new_rem(vyv292, vyv291)) 248.39/165.10 new_gcd0Gcd'0(Neg(x0), Neg(Succ(x1))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(x0, x1))), Neg(Succ(x1)), Neg(x0)) 248.39/165.10 new_gcd0Gcd'0(Pos(x0), Pos(Succ(x1))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(x0, x1))), Pos(Succ(x1)), Pos(x0)) 248.39/165.10 new_gcd0Gcd'0(Pos(x0), Neg(Succ(x1))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(x0, x1))), Neg(Succ(x1)), Pos(x0)) 248.39/165.10 new_gcd0Gcd'0(Neg(x0), Pos(Succ(x1))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(x0, x1))), Pos(Succ(x1)), Neg(x0)) 248.39/165.10 248.39/165.10 The TRS R consists of the following rules: 248.39/165.10 248.39/165.10 new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Succ(vyv3330)) -> new_primModNatS01(vyv330, vyv331, vyv3320, vyv3330) 248.39/165.10 new_primModNatS1(Succ(Succ(vyv292000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv292000), Zero) 248.39/165.10 new_primModNatS1(Succ(Zero), Succ(vyv291000)) -> Succ(Zero) 248.39/165.10 new_primMinusNatS2(Zero, Zero) -> Zero 248.39/165.10 new_primEqInt(Neg(Zero)) -> True 248.39/165.10 new_primMinusNatS2(Succ(vyv3100), Succ(vyv3110)) -> new_primMinusNatS2(vyv3100, vyv3110) 248.39/165.10 new_primModNatS01(vyv330, vyv331, Zero, Succ(vyv3330)) -> Succ(Succ(vyv330)) 248.39/165.10 new_primModNatS1(Succ(Succ(vyv292000)), Succ(vyv291000)) -> new_primModNatS01(vyv292000, vyv291000, vyv292000, vyv291000) 248.39/165.10 new_primMinusNatS0(vyv270000) -> Succ(vyv270000) 248.39/165.10 new_esEs(Neg(Succ(vyv24100))) -> new_primEqInt(Neg(Succ(vyv24100))) 248.39/165.10 new_rem(Neg(vyv2920), Neg(Succ(vyv29100))) -> Neg(new_primModNatS1(vyv2920, vyv29100)) 248.39/165.10 new_primModNatS1(Zero, vyv29100) -> Zero 248.39/165.10 new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) 248.39/165.10 new_rem(Pos(vyv2920), Pos(Succ(vyv29100))) -> Pos(new_primModNatS1(vyv2920, vyv29100)) 248.39/165.10 new_primMinusNatS2(Zero, Succ(vyv3110)) -> Zero 248.39/165.10 new_error -> error([]) 248.39/165.10 new_primEqInt(Pos(Succ(vyv242000))) -> False 248.39/165.10 new_primEqInt(Pos(Zero)) -> True 248.39/165.10 new_esEs(Pos(Succ(vyv24100))) -> new_primEqInt(Pos(Succ(vyv24100))) 248.39/165.10 new_primEqInt(Neg(Succ(vyv242000))) -> False 248.39/165.10 new_rem(Neg(vyv2920), Neg(Zero)) -> new_error 248.39/165.10 new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) 248.39/165.10 new_rem(Pos(vyv2920), Neg(Zero)) -> new_error 248.39/165.10 new_rem(Neg(vyv2920), Pos(Zero)) -> new_error 248.39/165.10 new_primModNatS01(vyv330, vyv331, Zero, Zero) -> new_primModNatS02(vyv330, vyv331) 248.39/165.10 new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Zero) -> new_primModNatS02(vyv330, vyv331) 248.39/165.10 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 248.39/165.10 new_primModNatS02(vyv330, vyv331) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv330), Succ(vyv331)), Succ(vyv331)) 248.39/165.10 new_rem(Pos(vyv2920), Neg(Succ(vyv29100))) -> Pos(new_primModNatS1(vyv2920, vyv29100)) 248.39/165.10 new_primMinusNatS1 -> Zero 248.39/165.10 new_primMinusNatS2(Succ(vyv3100), Zero) -> Succ(vyv3100) 248.39/165.10 new_rem(Neg(vyv2920), Pos(Succ(vyv29100))) -> Neg(new_primModNatS1(vyv2920, vyv29100)) 248.39/165.10 new_rem(Pos(vyv2920), Pos(Zero)) -> new_error 248.39/165.10 248.39/165.10 The set Q consists of the following terms: 248.39/165.10 248.39/165.10 new_rem(Pos(x0), Pos(Succ(x1))) 248.39/165.10 new_primModNatS1(Succ(Zero), Succ(x0)) 248.39/165.10 new_primMinusNatS1 248.39/165.10 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 248.39/165.10 new_primEqInt(Pos(Zero)) 248.39/165.10 new_rem(Pos(x0), Neg(Succ(x1))) 248.39/165.10 new_rem(Neg(x0), Pos(Succ(x1))) 248.39/165.10 new_primModNatS02(x0, x1) 248.39/165.10 new_primModNatS01(x0, x1, Succ(x2), Zero) 248.39/165.10 new_primModNatS01(x0, x1, Zero, Succ(x2)) 248.39/165.10 new_primMinusNatS2(Zero, Zero) 248.39/165.10 new_rem(Pos(x0), Neg(Zero)) 248.39/165.10 new_rem(Neg(x0), Pos(Zero)) 248.39/165.10 new_esEs(Neg(Succ(x0))) 248.39/165.10 new_primMinusNatS2(Zero, Succ(x0)) 248.39/165.10 new_error 248.39/165.10 new_primModNatS1(Succ(Zero), Zero) 248.39/165.10 new_esEs(Pos(Zero)) 248.39/165.10 new_primEqInt(Neg(Succ(x0))) 248.39/165.10 new_primMinusNatS2(Succ(x0), Zero) 248.39/165.10 new_primEqInt(Neg(Zero)) 248.39/165.10 new_primMinusNatS0(x0) 248.39/165.10 new_rem(Neg(x0), Neg(Succ(x1))) 248.39/165.10 new_primModNatS01(x0, x1, Zero, Zero) 248.39/165.10 new_primEqInt(Pos(Succ(x0))) 248.39/165.10 new_primMinusNatS2(Succ(x0), Succ(x1)) 248.39/165.10 new_primModNatS1(Succ(Succ(x0)), Zero) 248.39/165.10 new_rem(Pos(x0), Pos(Zero)) 248.39/165.10 new_primModNatS1(Zero, x0) 248.39/165.10 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 248.39/165.10 new_esEs(Neg(Zero)) 248.39/165.10 new_esEs(Pos(Succ(x0))) 248.39/165.10 new_rem(Neg(x0), Neg(Zero)) 248.39/165.10 248.39/165.10 We have to consider all minimal (P,Q,R)-chains. 248.39/165.10 ---------------------------------------- 248.39/165.10 248.39/165.10 (51) TransformationProof (EQUIVALENT) 248.39/165.10 By narrowing [LPAR04] the rule new_gcd0Gcd'1(False, vyv291, vyv292) -> new_gcd0Gcd'0(vyv291, new_rem(vyv292, vyv291)) at position [1] we obtained the following new rules [LPAR04]: 248.39/165.10 248.39/165.10 (new_gcd0Gcd'1(False, Neg(Succ(x1)), Neg(x0)) -> new_gcd0Gcd'0(Neg(Succ(x1)), Neg(new_primModNatS1(x0, x1))),new_gcd0Gcd'1(False, Neg(Succ(x1)), Neg(x0)) -> new_gcd0Gcd'0(Neg(Succ(x1)), Neg(new_primModNatS1(x0, x1)))) 248.39/165.10 (new_gcd0Gcd'1(False, Pos(Succ(x1)), Pos(x0)) -> new_gcd0Gcd'0(Pos(Succ(x1)), Pos(new_primModNatS1(x0, x1))),new_gcd0Gcd'1(False, Pos(Succ(x1)), Pos(x0)) -> new_gcd0Gcd'0(Pos(Succ(x1)), Pos(new_primModNatS1(x0, x1)))) 248.39/165.10 (new_gcd0Gcd'1(False, Neg(Zero), Neg(x0)) -> new_gcd0Gcd'0(Neg(Zero), new_error),new_gcd0Gcd'1(False, Neg(Zero), Neg(x0)) -> new_gcd0Gcd'0(Neg(Zero), new_error)) 248.39/165.10 (new_gcd0Gcd'1(False, Neg(Zero), Pos(x0)) -> new_gcd0Gcd'0(Neg(Zero), new_error),new_gcd0Gcd'1(False, Neg(Zero), Pos(x0)) -> new_gcd0Gcd'0(Neg(Zero), new_error)) 248.39/165.10 (new_gcd0Gcd'1(False, Pos(Zero), Neg(x0)) -> new_gcd0Gcd'0(Pos(Zero), new_error),new_gcd0Gcd'1(False, Pos(Zero), Neg(x0)) -> new_gcd0Gcd'0(Pos(Zero), new_error)) 248.39/165.10 (new_gcd0Gcd'1(False, Neg(Succ(x1)), Pos(x0)) -> new_gcd0Gcd'0(Neg(Succ(x1)), Pos(new_primModNatS1(x0, x1))),new_gcd0Gcd'1(False, Neg(Succ(x1)), Pos(x0)) -> new_gcd0Gcd'0(Neg(Succ(x1)), Pos(new_primModNatS1(x0, x1)))) 248.39/165.10 (new_gcd0Gcd'1(False, Pos(Succ(x1)), Neg(x0)) -> new_gcd0Gcd'0(Pos(Succ(x1)), Neg(new_primModNatS1(x0, x1))),new_gcd0Gcd'1(False, Pos(Succ(x1)), Neg(x0)) -> new_gcd0Gcd'0(Pos(Succ(x1)), Neg(new_primModNatS1(x0, x1)))) 248.39/165.10 (new_gcd0Gcd'1(False, Pos(Zero), Pos(x0)) -> new_gcd0Gcd'0(Pos(Zero), new_error),new_gcd0Gcd'1(False, Pos(Zero), Pos(x0)) -> new_gcd0Gcd'0(Pos(Zero), new_error)) 248.39/165.10 248.39/165.10 248.39/165.10 ---------------------------------------- 248.39/165.10 248.39/165.10 (52) 248.39/165.10 Obligation: 248.39/165.10 Q DP problem: 248.39/165.10 The TRS P consists of the following rules: 248.39/165.10 248.39/165.10 new_gcd0Gcd'0(Neg(x0), Neg(Succ(x1))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(x0, x1))), Neg(Succ(x1)), Neg(x0)) 248.39/165.10 new_gcd0Gcd'0(Pos(x0), Pos(Succ(x1))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(x0, x1))), Pos(Succ(x1)), Pos(x0)) 248.39/165.10 new_gcd0Gcd'0(Pos(x0), Neg(Succ(x1))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(x0, x1))), Neg(Succ(x1)), Pos(x0)) 248.39/165.10 new_gcd0Gcd'0(Neg(x0), Pos(Succ(x1))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(x0, x1))), Pos(Succ(x1)), Neg(x0)) 248.39/165.10 new_gcd0Gcd'1(False, Neg(Succ(x1)), Neg(x0)) -> new_gcd0Gcd'0(Neg(Succ(x1)), Neg(new_primModNatS1(x0, x1))) 248.39/165.10 new_gcd0Gcd'1(False, Pos(Succ(x1)), Pos(x0)) -> new_gcd0Gcd'0(Pos(Succ(x1)), Pos(new_primModNatS1(x0, x1))) 248.39/165.10 new_gcd0Gcd'1(False, Neg(Zero), Neg(x0)) -> new_gcd0Gcd'0(Neg(Zero), new_error) 248.39/165.10 new_gcd0Gcd'1(False, Neg(Zero), Pos(x0)) -> new_gcd0Gcd'0(Neg(Zero), new_error) 248.39/165.10 new_gcd0Gcd'1(False, Pos(Zero), Neg(x0)) -> new_gcd0Gcd'0(Pos(Zero), new_error) 248.39/165.10 new_gcd0Gcd'1(False, Neg(Succ(x1)), Pos(x0)) -> new_gcd0Gcd'0(Neg(Succ(x1)), Pos(new_primModNatS1(x0, x1))) 248.39/165.10 new_gcd0Gcd'1(False, Pos(Succ(x1)), Neg(x0)) -> new_gcd0Gcd'0(Pos(Succ(x1)), Neg(new_primModNatS1(x0, x1))) 248.39/165.10 new_gcd0Gcd'1(False, Pos(Zero), Pos(x0)) -> new_gcd0Gcd'0(Pos(Zero), new_error) 248.39/165.10 248.39/165.10 The TRS R consists of the following rules: 248.39/165.10 248.39/165.10 new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Succ(vyv3330)) -> new_primModNatS01(vyv330, vyv331, vyv3320, vyv3330) 248.39/165.10 new_primModNatS1(Succ(Succ(vyv292000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv292000), Zero) 248.39/165.10 new_primModNatS1(Succ(Zero), Succ(vyv291000)) -> Succ(Zero) 248.39/165.10 new_primMinusNatS2(Zero, Zero) -> Zero 248.39/165.10 new_primEqInt(Neg(Zero)) -> True 248.39/165.10 new_primMinusNatS2(Succ(vyv3100), Succ(vyv3110)) -> new_primMinusNatS2(vyv3100, vyv3110) 248.39/165.10 new_primModNatS01(vyv330, vyv331, Zero, Succ(vyv3330)) -> Succ(Succ(vyv330)) 248.39/165.10 new_primModNatS1(Succ(Succ(vyv292000)), Succ(vyv291000)) -> new_primModNatS01(vyv292000, vyv291000, vyv292000, vyv291000) 248.39/165.11 new_primMinusNatS0(vyv270000) -> Succ(vyv270000) 248.39/165.11 new_esEs(Neg(Succ(vyv24100))) -> new_primEqInt(Neg(Succ(vyv24100))) 248.39/165.11 new_rem(Neg(vyv2920), Neg(Succ(vyv29100))) -> Neg(new_primModNatS1(vyv2920, vyv29100)) 248.39/165.11 new_primModNatS1(Zero, vyv29100) -> Zero 248.39/165.11 new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) 248.39/165.11 new_rem(Pos(vyv2920), Pos(Succ(vyv29100))) -> Pos(new_primModNatS1(vyv2920, vyv29100)) 248.39/165.11 new_primMinusNatS2(Zero, Succ(vyv3110)) -> Zero 248.39/165.11 new_error -> error([]) 248.39/165.11 new_primEqInt(Pos(Succ(vyv242000))) -> False 248.39/165.11 new_primEqInt(Pos(Zero)) -> True 248.39/165.11 new_esEs(Pos(Succ(vyv24100))) -> new_primEqInt(Pos(Succ(vyv24100))) 248.39/165.11 new_primEqInt(Neg(Succ(vyv242000))) -> False 248.39/165.11 new_rem(Neg(vyv2920), Neg(Zero)) -> new_error 248.39/165.11 new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) 248.39/165.11 new_rem(Pos(vyv2920), Neg(Zero)) -> new_error 248.39/165.11 new_rem(Neg(vyv2920), Pos(Zero)) -> new_error 248.39/165.11 new_primModNatS01(vyv330, vyv331, Zero, Zero) -> new_primModNatS02(vyv330, vyv331) 248.39/165.11 new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Zero) -> new_primModNatS02(vyv330, vyv331) 248.39/165.11 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 248.39/165.11 new_primModNatS02(vyv330, vyv331) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv330), Succ(vyv331)), Succ(vyv331)) 248.39/165.11 new_rem(Pos(vyv2920), Neg(Succ(vyv29100))) -> Pos(new_primModNatS1(vyv2920, vyv29100)) 248.39/165.11 new_primMinusNatS1 -> Zero 248.39/165.11 new_primMinusNatS2(Succ(vyv3100), Zero) -> Succ(vyv3100) 248.39/165.11 new_rem(Neg(vyv2920), Pos(Succ(vyv29100))) -> Neg(new_primModNatS1(vyv2920, vyv29100)) 248.39/165.11 new_rem(Pos(vyv2920), Pos(Zero)) -> new_error 248.39/165.11 248.39/165.11 The set Q consists of the following terms: 248.39/165.11 248.39/165.11 new_rem(Pos(x0), Pos(Succ(x1))) 248.39/165.11 new_primModNatS1(Succ(Zero), Succ(x0)) 248.39/165.11 new_primMinusNatS1 248.39/165.11 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 248.39/165.11 new_primEqInt(Pos(Zero)) 248.39/165.11 new_rem(Pos(x0), Neg(Succ(x1))) 248.39/165.11 new_rem(Neg(x0), Pos(Succ(x1))) 248.39/165.11 new_primModNatS02(x0, x1) 248.39/165.11 new_primModNatS01(x0, x1, Succ(x2), Zero) 248.39/165.12 new_primModNatS01(x0, x1, Zero, Succ(x2)) 248.39/165.12 new_primMinusNatS2(Zero, Zero) 248.39/165.12 new_rem(Pos(x0), Neg(Zero)) 248.39/165.12 new_rem(Neg(x0), Pos(Zero)) 248.39/165.12 new_esEs(Neg(Succ(x0))) 248.39/165.12 new_primMinusNatS2(Zero, Succ(x0)) 248.39/165.12 new_error 248.39/165.12 new_primModNatS1(Succ(Zero), Zero) 248.39/165.12 new_esEs(Pos(Zero)) 248.39/165.12 new_primEqInt(Neg(Succ(x0))) 248.39/165.12 new_primMinusNatS2(Succ(x0), Zero) 248.39/165.12 new_primEqInt(Neg(Zero)) 248.39/165.12 new_primMinusNatS0(x0) 248.39/165.12 new_rem(Neg(x0), Neg(Succ(x1))) 248.39/165.12 new_primModNatS01(x0, x1, Zero, Zero) 248.39/165.12 new_primEqInt(Pos(Succ(x0))) 248.39/165.12 new_primMinusNatS2(Succ(x0), Succ(x1)) 248.39/165.12 new_primModNatS1(Succ(Succ(x0)), Zero) 248.39/165.12 new_rem(Pos(x0), Pos(Zero)) 248.39/165.12 new_primModNatS1(Zero, x0) 248.39/165.12 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 248.39/165.12 new_esEs(Neg(Zero)) 248.39/165.12 new_esEs(Pos(Succ(x0))) 248.39/165.12 new_rem(Neg(x0), Neg(Zero)) 248.39/165.12 248.39/165.12 We have to consider all minimal (P,Q,R)-chains. 248.39/165.12 ---------------------------------------- 248.39/165.12 248.39/165.12 (53) DependencyGraphProof (EQUIVALENT) 248.39/165.12 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 3 SCCs with 4 less nodes. 248.39/165.12 ---------------------------------------- 248.39/165.12 248.39/165.12 (54) 248.39/165.12 Complex Obligation (AND) 248.39/165.12 248.39/165.12 ---------------------------------------- 248.39/165.12 248.39/165.12 (55) 248.39/165.12 Obligation: 248.39/165.12 Q DP problem: 248.39/165.12 The TRS P consists of the following rules: 248.39/165.12 248.39/165.12 new_gcd0Gcd'1(False, Neg(Succ(x1)), Pos(x0)) -> new_gcd0Gcd'0(Neg(Succ(x1)), Pos(new_primModNatS1(x0, x1))) 248.39/165.12 new_gcd0Gcd'0(Neg(x0), Pos(Succ(x1))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(x0, x1))), Pos(Succ(x1)), Neg(x0)) 248.39/165.12 new_gcd0Gcd'1(False, Pos(Succ(x1)), Neg(x0)) -> new_gcd0Gcd'0(Pos(Succ(x1)), Neg(new_primModNatS1(x0, x1))) 248.39/165.12 new_gcd0Gcd'0(Pos(x0), Neg(Succ(x1))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(x0, x1))), Neg(Succ(x1)), Pos(x0)) 248.39/165.12 248.39/165.12 The TRS R consists of the following rules: 248.39/165.12 248.39/165.12 new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Succ(vyv3330)) -> new_primModNatS01(vyv330, vyv331, vyv3320, vyv3330) 248.39/165.12 new_primModNatS1(Succ(Succ(vyv292000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv292000), Zero) 248.39/165.12 new_primModNatS1(Succ(Zero), Succ(vyv291000)) -> Succ(Zero) 248.39/165.12 new_primMinusNatS2(Zero, Zero) -> Zero 248.39/165.12 new_primEqInt(Neg(Zero)) -> True 248.39/165.12 new_primMinusNatS2(Succ(vyv3100), Succ(vyv3110)) -> new_primMinusNatS2(vyv3100, vyv3110) 248.39/165.12 new_primModNatS01(vyv330, vyv331, Zero, Succ(vyv3330)) -> Succ(Succ(vyv330)) 248.39/165.12 new_primModNatS1(Succ(Succ(vyv292000)), Succ(vyv291000)) -> new_primModNatS01(vyv292000, vyv291000, vyv292000, vyv291000) 248.39/165.12 new_primMinusNatS0(vyv270000) -> Succ(vyv270000) 248.39/165.12 new_esEs(Neg(Succ(vyv24100))) -> new_primEqInt(Neg(Succ(vyv24100))) 248.39/165.12 new_rem(Neg(vyv2920), Neg(Succ(vyv29100))) -> Neg(new_primModNatS1(vyv2920, vyv29100)) 248.39/165.12 new_primModNatS1(Zero, vyv29100) -> Zero 248.39/165.12 new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) 248.39/165.12 new_rem(Pos(vyv2920), Pos(Succ(vyv29100))) -> Pos(new_primModNatS1(vyv2920, vyv29100)) 248.39/165.12 new_primMinusNatS2(Zero, Succ(vyv3110)) -> Zero 248.39/165.12 new_error -> error([]) 248.39/165.12 new_primEqInt(Pos(Succ(vyv242000))) -> False 248.39/165.12 new_primEqInt(Pos(Zero)) -> True 248.39/165.12 new_esEs(Pos(Succ(vyv24100))) -> new_primEqInt(Pos(Succ(vyv24100))) 248.39/165.12 new_primEqInt(Neg(Succ(vyv242000))) -> False 248.39/165.12 new_rem(Neg(vyv2920), Neg(Zero)) -> new_error 248.39/165.12 new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) 248.39/165.12 new_rem(Pos(vyv2920), Neg(Zero)) -> new_error 248.39/165.12 new_rem(Neg(vyv2920), Pos(Zero)) -> new_error 248.39/165.12 new_primModNatS01(vyv330, vyv331, Zero, Zero) -> new_primModNatS02(vyv330, vyv331) 248.39/165.12 new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Zero) -> new_primModNatS02(vyv330, vyv331) 248.39/165.12 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 248.39/165.12 new_primModNatS02(vyv330, vyv331) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv330), Succ(vyv331)), Succ(vyv331)) 248.39/165.12 new_rem(Pos(vyv2920), Neg(Succ(vyv29100))) -> Pos(new_primModNatS1(vyv2920, vyv29100)) 248.39/165.12 new_primMinusNatS1 -> Zero 248.39/165.12 new_primMinusNatS2(Succ(vyv3100), Zero) -> Succ(vyv3100) 248.39/165.12 new_rem(Neg(vyv2920), Pos(Succ(vyv29100))) -> Neg(new_primModNatS1(vyv2920, vyv29100)) 248.39/165.12 new_rem(Pos(vyv2920), Pos(Zero)) -> new_error 248.39/165.12 248.39/165.12 The set Q consists of the following terms: 248.39/165.12 248.39/165.12 new_rem(Pos(x0), Pos(Succ(x1))) 248.39/165.12 new_primModNatS1(Succ(Zero), Succ(x0)) 248.39/165.12 new_primMinusNatS1 248.39/165.12 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 248.39/165.12 new_primEqInt(Pos(Zero)) 248.39/165.12 new_rem(Pos(x0), Neg(Succ(x1))) 248.39/165.12 new_rem(Neg(x0), Pos(Succ(x1))) 248.39/165.12 new_primModNatS02(x0, x1) 248.39/165.12 new_primModNatS01(x0, x1, Succ(x2), Zero) 248.39/165.12 new_primModNatS01(x0, x1, Zero, Succ(x2)) 248.39/165.12 new_primMinusNatS2(Zero, Zero) 248.39/165.12 new_rem(Pos(x0), Neg(Zero)) 248.39/165.12 new_rem(Neg(x0), Pos(Zero)) 248.39/165.12 new_esEs(Neg(Succ(x0))) 248.39/165.12 new_primMinusNatS2(Zero, Succ(x0)) 248.39/165.12 new_error 248.39/165.12 new_primModNatS1(Succ(Zero), Zero) 248.39/165.12 new_esEs(Pos(Zero)) 248.39/165.12 new_primEqInt(Neg(Succ(x0))) 248.39/165.12 new_primMinusNatS2(Succ(x0), Zero) 248.39/165.12 new_primEqInt(Neg(Zero)) 248.39/165.12 new_primMinusNatS0(x0) 248.39/165.12 new_rem(Neg(x0), Neg(Succ(x1))) 248.39/165.12 new_primModNatS01(x0, x1, Zero, Zero) 248.39/165.12 new_primEqInt(Pos(Succ(x0))) 248.39/165.12 new_primMinusNatS2(Succ(x0), Succ(x1)) 248.39/165.12 new_primModNatS1(Succ(Succ(x0)), Zero) 248.39/165.12 new_rem(Pos(x0), Pos(Zero)) 248.39/165.12 new_primModNatS1(Zero, x0) 248.39/165.12 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 248.39/165.12 new_esEs(Neg(Zero)) 248.39/165.12 new_esEs(Pos(Succ(x0))) 248.39/165.12 new_rem(Neg(x0), Neg(Zero)) 248.39/165.12 248.39/165.12 We have to consider all minimal (P,Q,R)-chains. 248.39/165.12 ---------------------------------------- 248.39/165.12 248.39/165.12 (56) UsableRulesProof (EQUIVALENT) 248.39/165.12 As all Q-normal forms are R-normal forms we are in the innermost case. Hence, by the usable rules processor [LPAR04] we can delete all non-usable rules [FROCOS05] from R. 248.39/165.12 ---------------------------------------- 248.39/165.12 248.39/165.12 (57) 248.39/165.12 Obligation: 248.39/165.12 Q DP problem: 248.39/165.12 The TRS P consists of the following rules: 248.39/165.12 248.39/165.12 new_gcd0Gcd'1(False, Neg(Succ(x1)), Pos(x0)) -> new_gcd0Gcd'0(Neg(Succ(x1)), Pos(new_primModNatS1(x0, x1))) 248.39/165.12 new_gcd0Gcd'0(Neg(x0), Pos(Succ(x1))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(x0, x1))), Pos(Succ(x1)), Neg(x0)) 248.39/165.12 new_gcd0Gcd'1(False, Pos(Succ(x1)), Neg(x0)) -> new_gcd0Gcd'0(Pos(Succ(x1)), Neg(new_primModNatS1(x0, x1))) 248.39/165.12 new_gcd0Gcd'0(Pos(x0), Neg(Succ(x1))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(x0, x1))), Neg(Succ(x1)), Pos(x0)) 248.39/165.12 248.39/165.12 The TRS R consists of the following rules: 248.39/165.12 248.39/165.12 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 248.39/165.12 new_primModNatS1(Succ(Succ(vyv292000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv292000), Zero) 248.39/165.12 new_primModNatS1(Succ(Zero), Succ(vyv291000)) -> Succ(Zero) 248.39/165.12 new_primModNatS01(vyv330, vyv331, Zero, Zero) -> new_primModNatS02(vyv330, vyv331) 248.39/165.12 new_primModNatS02(vyv330, vyv331) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv330), Succ(vyv331)), Succ(vyv331)) 248.39/165.12 new_primModNatS1(Succ(Succ(vyv292000)), Succ(vyv291000)) -> new_primModNatS01(vyv292000, vyv291000, vyv292000, vyv291000) 248.39/165.12 new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Succ(vyv3330)) -> new_primModNatS01(vyv330, vyv331, vyv3320, vyv3330) 248.39/165.12 new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Zero) -> new_primModNatS02(vyv330, vyv331) 248.39/165.12 new_primModNatS1(Zero, vyv29100) -> Zero 248.39/165.12 new_esEs(Pos(Succ(vyv24100))) -> new_primEqInt(Pos(Succ(vyv24100))) 248.39/165.12 new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) 248.39/165.12 new_primEqInt(Pos(Zero)) -> True 248.39/165.12 new_primEqInt(Pos(Succ(vyv242000))) -> False 248.39/165.12 new_primMinusNatS2(Succ(vyv3100), Succ(vyv3110)) -> new_primMinusNatS2(vyv3100, vyv3110) 248.39/165.12 new_primModNatS01(vyv330, vyv331, Zero, Succ(vyv3330)) -> Succ(Succ(vyv330)) 248.39/165.12 new_primMinusNatS2(Zero, Zero) -> Zero 248.39/165.12 new_primMinusNatS2(Zero, Succ(vyv3110)) -> Zero 248.39/165.12 new_primMinusNatS2(Succ(vyv3100), Zero) -> Succ(vyv3100) 248.39/165.12 new_primMinusNatS1 -> Zero 248.39/165.12 new_primMinusNatS0(vyv270000) -> Succ(vyv270000) 248.39/165.12 new_esEs(Neg(Succ(vyv24100))) -> new_primEqInt(Neg(Succ(vyv24100))) 248.39/165.12 new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) 248.39/165.12 new_primEqInt(Neg(Zero)) -> True 248.39/165.12 new_primEqInt(Neg(Succ(vyv242000))) -> False 248.39/165.12 248.39/165.12 The set Q consists of the following terms: 248.39/165.12 248.39/165.12 new_rem(Pos(x0), Pos(Succ(x1))) 248.39/165.12 new_primModNatS1(Succ(Zero), Succ(x0)) 248.39/165.12 new_primMinusNatS1 248.39/165.12 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 248.39/165.12 new_primEqInt(Pos(Zero)) 248.39/165.12 new_rem(Pos(x0), Neg(Succ(x1))) 248.39/165.12 new_rem(Neg(x0), Pos(Succ(x1))) 248.39/165.12 new_primModNatS02(x0, x1) 248.39/165.12 new_primModNatS01(x0, x1, Succ(x2), Zero) 248.39/165.12 new_primModNatS01(x0, x1, Zero, Succ(x2)) 248.39/165.12 new_primMinusNatS2(Zero, Zero) 248.39/165.12 new_rem(Pos(x0), Neg(Zero)) 248.39/165.12 new_rem(Neg(x0), Pos(Zero)) 248.39/165.12 new_esEs(Neg(Succ(x0))) 248.39/165.12 new_primMinusNatS2(Zero, Succ(x0)) 248.39/165.12 new_error 248.39/165.12 new_primModNatS1(Succ(Zero), Zero) 248.39/165.12 new_esEs(Pos(Zero)) 248.39/165.12 new_primEqInt(Neg(Succ(x0))) 248.39/165.12 new_primMinusNatS2(Succ(x0), Zero) 248.39/165.12 new_primEqInt(Neg(Zero)) 248.39/165.12 new_primMinusNatS0(x0) 248.39/165.12 new_rem(Neg(x0), Neg(Succ(x1))) 248.39/165.12 new_primModNatS01(x0, x1, Zero, Zero) 248.39/165.12 new_primEqInt(Pos(Succ(x0))) 248.39/165.12 new_primMinusNatS2(Succ(x0), Succ(x1)) 248.39/165.12 new_primModNatS1(Succ(Succ(x0)), Zero) 248.39/165.12 new_rem(Pos(x0), Pos(Zero)) 248.39/165.12 new_primModNatS1(Zero, x0) 248.39/165.12 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 248.39/165.12 new_esEs(Neg(Zero)) 248.39/165.12 new_esEs(Pos(Succ(x0))) 248.39/165.12 new_rem(Neg(x0), Neg(Zero)) 248.39/165.12 248.39/165.12 We have to consider all minimal (P,Q,R)-chains. 248.39/165.12 ---------------------------------------- 248.39/165.12 248.39/165.12 (58) QReductionProof (EQUIVALENT) 248.39/165.12 We deleted the following terms from Q as each root-symbol of these terms does neither occur in P nor in R.[THIEMANN]. 248.39/165.12 248.39/165.12 new_rem(Pos(x0), Pos(Succ(x1))) 248.39/165.12 new_rem(Pos(x0), Neg(Succ(x1))) 248.39/165.12 new_rem(Neg(x0), Pos(Succ(x1))) 248.39/165.12 new_rem(Pos(x0), Neg(Zero)) 248.39/165.12 new_rem(Neg(x0), Pos(Zero)) 248.39/165.12 new_error 248.39/165.12 new_rem(Neg(x0), Neg(Succ(x1))) 248.39/165.12 new_rem(Pos(x0), Pos(Zero)) 248.39/165.12 new_rem(Neg(x0), Neg(Zero)) 248.39/165.12 248.39/165.12 248.39/165.12 ---------------------------------------- 248.39/165.12 248.39/165.12 (59) 248.39/165.12 Obligation: 248.39/165.12 Q DP problem: 248.39/165.12 The TRS P consists of the following rules: 248.39/165.12 248.39/165.12 new_gcd0Gcd'1(False, Neg(Succ(x1)), Pos(x0)) -> new_gcd0Gcd'0(Neg(Succ(x1)), Pos(new_primModNatS1(x0, x1))) 248.39/165.12 new_gcd0Gcd'0(Neg(x0), Pos(Succ(x1))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(x0, x1))), Pos(Succ(x1)), Neg(x0)) 248.39/165.12 new_gcd0Gcd'1(False, Pos(Succ(x1)), Neg(x0)) -> new_gcd0Gcd'0(Pos(Succ(x1)), Neg(new_primModNatS1(x0, x1))) 248.39/165.12 new_gcd0Gcd'0(Pos(x0), Neg(Succ(x1))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(x0, x1))), Neg(Succ(x1)), Pos(x0)) 248.39/165.12 248.39/165.12 The TRS R consists of the following rules: 248.39/165.12 248.39/165.12 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 248.39/165.12 new_primModNatS1(Succ(Succ(vyv292000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv292000), Zero) 248.39/165.12 new_primModNatS1(Succ(Zero), Succ(vyv291000)) -> Succ(Zero) 248.39/165.12 new_primModNatS01(vyv330, vyv331, Zero, Zero) -> new_primModNatS02(vyv330, vyv331) 248.39/165.12 new_primModNatS02(vyv330, vyv331) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv330), Succ(vyv331)), Succ(vyv331)) 248.39/165.12 new_primModNatS1(Succ(Succ(vyv292000)), Succ(vyv291000)) -> new_primModNatS01(vyv292000, vyv291000, vyv292000, vyv291000) 248.39/165.12 new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Succ(vyv3330)) -> new_primModNatS01(vyv330, vyv331, vyv3320, vyv3330) 248.39/165.12 new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Zero) -> new_primModNatS02(vyv330, vyv331) 248.39/165.12 new_primModNatS1(Zero, vyv29100) -> Zero 248.39/165.12 new_esEs(Pos(Succ(vyv24100))) -> new_primEqInt(Pos(Succ(vyv24100))) 248.39/165.12 new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) 248.39/165.12 new_primEqInt(Pos(Zero)) -> True 248.39/165.12 new_primEqInt(Pos(Succ(vyv242000))) -> False 248.39/165.12 new_primMinusNatS2(Succ(vyv3100), Succ(vyv3110)) -> new_primMinusNatS2(vyv3100, vyv3110) 248.39/165.12 new_primModNatS01(vyv330, vyv331, Zero, Succ(vyv3330)) -> Succ(Succ(vyv330)) 248.39/165.12 new_primMinusNatS2(Zero, Zero) -> Zero 248.39/165.12 new_primMinusNatS2(Zero, Succ(vyv3110)) -> Zero 248.39/165.12 new_primMinusNatS2(Succ(vyv3100), Zero) -> Succ(vyv3100) 248.39/165.12 new_primMinusNatS1 -> Zero 248.39/165.12 new_primMinusNatS0(vyv270000) -> Succ(vyv270000) 248.39/165.12 new_esEs(Neg(Succ(vyv24100))) -> new_primEqInt(Neg(Succ(vyv24100))) 248.39/165.12 new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) 248.39/165.12 new_primEqInt(Neg(Zero)) -> True 248.39/165.12 new_primEqInt(Neg(Succ(vyv242000))) -> False 248.39/165.12 248.39/165.12 The set Q consists of the following terms: 248.39/165.12 248.39/165.12 new_primModNatS1(Succ(Zero), Succ(x0)) 248.39/165.12 new_primMinusNatS1 248.39/165.12 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 248.39/165.12 new_primEqInt(Pos(Zero)) 248.39/165.12 new_primModNatS02(x0, x1) 248.39/165.12 new_primModNatS01(x0, x1, Succ(x2), Zero) 248.39/165.12 new_primModNatS01(x0, x1, Zero, Succ(x2)) 248.39/165.12 new_primMinusNatS2(Zero, Zero) 248.39/165.12 new_esEs(Neg(Succ(x0))) 248.39/165.12 new_primMinusNatS2(Zero, Succ(x0)) 248.39/165.12 new_primModNatS1(Succ(Zero), Zero) 248.39/165.12 new_esEs(Pos(Zero)) 248.39/165.12 new_primEqInt(Neg(Succ(x0))) 248.39/165.12 new_primMinusNatS2(Succ(x0), Zero) 248.39/165.12 new_primEqInt(Neg(Zero)) 248.39/165.12 new_primMinusNatS0(x0) 248.39/165.12 new_primModNatS01(x0, x1, Zero, Zero) 248.39/165.12 new_primEqInt(Pos(Succ(x0))) 248.39/165.12 new_primMinusNatS2(Succ(x0), Succ(x1)) 248.39/165.12 new_primModNatS1(Succ(Succ(x0)), Zero) 248.39/165.12 new_primModNatS1(Zero, x0) 248.39/165.12 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 248.39/165.12 new_esEs(Neg(Zero)) 248.39/165.12 new_esEs(Pos(Succ(x0))) 248.39/165.12 248.39/165.12 We have to consider all minimal (P,Q,R)-chains. 248.39/165.12 ---------------------------------------- 248.39/165.12 248.39/165.12 (60) TransformationProof (EQUIVALENT) 248.39/165.12 By narrowing [LPAR04] the rule new_gcd0Gcd'1(False, Neg(Succ(x1)), Pos(x0)) -> new_gcd0Gcd'0(Neg(Succ(x1)), Pos(new_primModNatS1(x0, x1))) at position [1,0] we obtained the following new rules [LPAR04]: 248.39/165.12 248.39/165.12 (new_gcd0Gcd'1(False, Neg(Succ(Zero)), Pos(Succ(Zero))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS1, Zero))),new_gcd0Gcd'1(False, Neg(Succ(Zero)), Pos(Succ(Zero))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS1, Zero)))) 248.39/165.12 (new_gcd0Gcd'1(False, Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero))),new_gcd0Gcd'1(False, Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero)))) 248.39/165.12 (new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Pos(Succ(Zero))),new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Pos(Succ(Zero)))) 248.39/165.12 (new_gcd0Gcd'1(False, Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x1))), Pos(new_primModNatS01(x0, x1, x0, x1))),new_gcd0Gcd'1(False, Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x1))), Pos(new_primModNatS01(x0, x1, x0, x1)))) 248.39/165.12 (new_gcd0Gcd'1(False, Neg(Succ(x0)), Pos(Zero)) -> new_gcd0Gcd'0(Neg(Succ(x0)), Pos(Zero)),new_gcd0Gcd'1(False, Neg(Succ(x0)), Pos(Zero)) -> new_gcd0Gcd'0(Neg(Succ(x0)), Pos(Zero))) 248.39/165.12 248.39/165.12 248.39/165.12 ---------------------------------------- 248.39/165.12 248.39/165.12 (61) 248.39/165.12 Obligation: 248.39/165.12 Q DP problem: 248.39/165.12 The TRS P consists of the following rules: 248.39/165.12 248.39/165.12 new_gcd0Gcd'0(Neg(x0), Pos(Succ(x1))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(x0, x1))), Pos(Succ(x1)), Neg(x0)) 248.39/165.12 new_gcd0Gcd'1(False, Pos(Succ(x1)), Neg(x0)) -> new_gcd0Gcd'0(Pos(Succ(x1)), Neg(new_primModNatS1(x0, x1))) 248.39/165.12 new_gcd0Gcd'0(Pos(x0), Neg(Succ(x1))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(x0, x1))), Neg(Succ(x1)), Pos(x0)) 248.39/165.12 new_gcd0Gcd'1(False, Neg(Succ(Zero)), Pos(Succ(Zero))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS1, Zero))) 248.39/165.12 new_gcd0Gcd'1(False, Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero))) 248.39/165.12 new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 248.39/165.12 new_gcd0Gcd'1(False, Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x1))), Pos(new_primModNatS01(x0, x1, x0, x1))) 248.39/165.12 new_gcd0Gcd'1(False, Neg(Succ(x0)), Pos(Zero)) -> new_gcd0Gcd'0(Neg(Succ(x0)), Pos(Zero)) 248.39/165.12 248.39/165.12 The TRS R consists of the following rules: 248.39/165.12 248.39/165.12 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 248.39/165.12 new_primModNatS1(Succ(Succ(vyv292000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv292000), Zero) 248.39/165.12 new_primModNatS1(Succ(Zero), Succ(vyv291000)) -> Succ(Zero) 248.39/165.12 new_primModNatS01(vyv330, vyv331, Zero, Zero) -> new_primModNatS02(vyv330, vyv331) 248.39/165.12 new_primModNatS02(vyv330, vyv331) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv330), Succ(vyv331)), Succ(vyv331)) 248.39/165.12 new_primModNatS1(Succ(Succ(vyv292000)), Succ(vyv291000)) -> new_primModNatS01(vyv292000, vyv291000, vyv292000, vyv291000) 248.39/165.12 new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Succ(vyv3330)) -> new_primModNatS01(vyv330, vyv331, vyv3320, vyv3330) 248.39/165.12 new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Zero) -> new_primModNatS02(vyv330, vyv331) 248.39/165.12 new_primModNatS1(Zero, vyv29100) -> Zero 248.39/165.12 new_esEs(Pos(Succ(vyv24100))) -> new_primEqInt(Pos(Succ(vyv24100))) 248.39/165.12 new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) 248.39/165.12 new_primEqInt(Pos(Zero)) -> True 248.39/165.12 new_primEqInt(Pos(Succ(vyv242000))) -> False 248.39/165.12 new_primMinusNatS2(Succ(vyv3100), Succ(vyv3110)) -> new_primMinusNatS2(vyv3100, vyv3110) 248.39/165.12 new_primModNatS01(vyv330, vyv331, Zero, Succ(vyv3330)) -> Succ(Succ(vyv330)) 248.39/165.12 new_primMinusNatS2(Zero, Zero) -> Zero 248.39/165.12 new_primMinusNatS2(Zero, Succ(vyv3110)) -> Zero 248.39/165.12 new_primMinusNatS2(Succ(vyv3100), Zero) -> Succ(vyv3100) 248.39/165.12 new_primMinusNatS1 -> Zero 248.39/165.12 new_primMinusNatS0(vyv270000) -> Succ(vyv270000) 248.39/165.12 new_esEs(Neg(Succ(vyv24100))) -> new_primEqInt(Neg(Succ(vyv24100))) 248.39/165.12 new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) 248.39/165.12 new_primEqInt(Neg(Zero)) -> True 248.39/165.12 new_primEqInt(Neg(Succ(vyv242000))) -> False 248.39/165.12 248.39/165.12 The set Q consists of the following terms: 248.39/165.12 248.39/165.12 new_primModNatS1(Succ(Zero), Succ(x0)) 248.39/165.12 new_primMinusNatS1 248.39/165.12 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 248.39/165.12 new_primEqInt(Pos(Zero)) 248.39/165.12 new_primModNatS02(x0, x1) 248.39/165.12 new_primModNatS01(x0, x1, Succ(x2), Zero) 248.39/165.12 new_primModNatS01(x0, x1, Zero, Succ(x2)) 248.39/165.12 new_primMinusNatS2(Zero, Zero) 248.39/165.12 new_esEs(Neg(Succ(x0))) 248.39/165.12 new_primMinusNatS2(Zero, Succ(x0)) 248.39/165.12 new_primModNatS1(Succ(Zero), Zero) 248.39/165.12 new_esEs(Pos(Zero)) 248.39/165.12 new_primEqInt(Neg(Succ(x0))) 248.39/165.12 new_primMinusNatS2(Succ(x0), Zero) 248.39/165.12 new_primEqInt(Neg(Zero)) 248.39/165.12 new_primMinusNatS0(x0) 248.39/165.12 new_primModNatS01(x0, x1, Zero, Zero) 248.39/165.12 new_primEqInt(Pos(Succ(x0))) 248.39/165.12 new_primMinusNatS2(Succ(x0), Succ(x1)) 248.39/165.12 new_primModNatS1(Succ(Succ(x0)), Zero) 248.39/165.12 new_primModNatS1(Zero, x0) 248.39/165.12 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 248.39/165.12 new_esEs(Neg(Zero)) 248.39/165.12 new_esEs(Pos(Succ(x0))) 248.39/165.12 248.39/165.12 We have to consider all minimal (P,Q,R)-chains. 248.39/165.12 ---------------------------------------- 248.39/165.12 248.39/165.12 (62) DependencyGraphProof (EQUIVALENT) 248.39/165.12 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. 248.39/165.12 ---------------------------------------- 248.39/165.12 248.39/165.12 (63) 248.39/165.12 Obligation: 248.39/165.12 Q DP problem: 248.39/165.12 The TRS P consists of the following rules: 248.39/165.12 248.39/165.12 new_gcd0Gcd'1(False, Pos(Succ(x1)), Neg(x0)) -> new_gcd0Gcd'0(Pos(Succ(x1)), Neg(new_primModNatS1(x0, x1))) 248.39/165.12 new_gcd0Gcd'0(Pos(x0), Neg(Succ(x1))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(x0, x1))), Neg(Succ(x1)), Pos(x0)) 248.39/165.12 new_gcd0Gcd'1(False, Neg(Succ(Zero)), Pos(Succ(Zero))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS1, Zero))) 248.39/165.12 new_gcd0Gcd'0(Neg(x0), Pos(Succ(x1))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(x0, x1))), Pos(Succ(x1)), Neg(x0)) 248.39/165.12 new_gcd0Gcd'1(False, Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero))) 248.39/165.12 new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 248.39/165.12 new_gcd0Gcd'1(False, Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x1))), Pos(new_primModNatS01(x0, x1, x0, x1))) 248.39/165.12 248.39/165.12 The TRS R consists of the following rules: 248.39/165.12 248.39/165.12 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 248.39/165.12 new_primModNatS1(Succ(Succ(vyv292000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv292000), Zero) 248.39/165.12 new_primModNatS1(Succ(Zero), Succ(vyv291000)) -> Succ(Zero) 248.39/165.12 new_primModNatS01(vyv330, vyv331, Zero, Zero) -> new_primModNatS02(vyv330, vyv331) 248.39/165.12 new_primModNatS02(vyv330, vyv331) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv330), Succ(vyv331)), Succ(vyv331)) 248.39/165.12 new_primModNatS1(Succ(Succ(vyv292000)), Succ(vyv291000)) -> new_primModNatS01(vyv292000, vyv291000, vyv292000, vyv291000) 248.39/165.12 new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Succ(vyv3330)) -> new_primModNatS01(vyv330, vyv331, vyv3320, vyv3330) 248.39/165.12 new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Zero) -> new_primModNatS02(vyv330, vyv331) 248.39/165.12 new_primModNatS1(Zero, vyv29100) -> Zero 248.39/165.12 new_esEs(Pos(Succ(vyv24100))) -> new_primEqInt(Pos(Succ(vyv24100))) 248.39/165.12 new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) 248.39/165.12 new_primEqInt(Pos(Zero)) -> True 248.39/165.12 new_primEqInt(Pos(Succ(vyv242000))) -> False 248.39/165.12 new_primMinusNatS2(Succ(vyv3100), Succ(vyv3110)) -> new_primMinusNatS2(vyv3100, vyv3110) 248.39/165.12 new_primModNatS01(vyv330, vyv331, Zero, Succ(vyv3330)) -> Succ(Succ(vyv330)) 248.39/165.12 new_primMinusNatS2(Zero, Zero) -> Zero 248.39/165.12 new_primMinusNatS2(Zero, Succ(vyv3110)) -> Zero 248.39/165.12 new_primMinusNatS2(Succ(vyv3100), Zero) -> Succ(vyv3100) 248.39/165.12 new_primMinusNatS1 -> Zero 248.39/165.12 new_primMinusNatS0(vyv270000) -> Succ(vyv270000) 248.39/165.12 new_esEs(Neg(Succ(vyv24100))) -> new_primEqInt(Neg(Succ(vyv24100))) 248.39/165.12 new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) 248.39/165.12 new_primEqInt(Neg(Zero)) -> True 248.39/165.12 new_primEqInt(Neg(Succ(vyv242000))) -> False 248.39/165.12 248.39/165.12 The set Q consists of the following terms: 248.39/165.12 248.39/165.12 new_primModNatS1(Succ(Zero), Succ(x0)) 248.39/165.12 new_primMinusNatS1 248.39/165.12 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 248.39/165.12 new_primEqInt(Pos(Zero)) 248.39/165.12 new_primModNatS02(x0, x1) 248.39/165.12 new_primModNatS01(x0, x1, Succ(x2), Zero) 248.39/165.12 new_primModNatS01(x0, x1, Zero, Succ(x2)) 248.39/165.12 new_primMinusNatS2(Zero, Zero) 248.39/165.12 new_esEs(Neg(Succ(x0))) 248.39/165.12 new_primMinusNatS2(Zero, Succ(x0)) 248.39/165.12 new_primModNatS1(Succ(Zero), Zero) 248.39/165.12 new_esEs(Pos(Zero)) 248.39/165.12 new_primEqInt(Neg(Succ(x0))) 248.39/165.12 new_primMinusNatS2(Succ(x0), Zero) 248.39/165.12 new_primEqInt(Neg(Zero)) 248.39/165.12 new_primMinusNatS0(x0) 248.39/165.12 new_primModNatS01(x0, x1, Zero, Zero) 248.39/165.12 new_primEqInt(Pos(Succ(x0))) 248.39/165.12 new_primMinusNatS2(Succ(x0), Succ(x1)) 248.39/165.12 new_primModNatS1(Succ(Succ(x0)), Zero) 248.39/165.12 new_primModNatS1(Zero, x0) 248.39/165.12 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 248.39/165.12 new_esEs(Neg(Zero)) 248.39/165.12 new_esEs(Pos(Succ(x0))) 248.39/165.12 248.39/165.12 We have to consider all minimal (P,Q,R)-chains. 248.39/165.12 ---------------------------------------- 248.39/165.12 248.39/165.12 (64) TransformationProof (EQUIVALENT) 248.39/165.12 By rewriting [LPAR04] the rule new_gcd0Gcd'1(False, Neg(Succ(Zero)), Pos(Succ(Zero))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS1, Zero))) at position [1,0,0] we obtained the following new rules [LPAR04]: 248.39/165.12 248.39/165.12 (new_gcd0Gcd'1(False, Neg(Succ(Zero)), Pos(Succ(Zero))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(new_primModNatS1(Zero, Zero))),new_gcd0Gcd'1(False, Neg(Succ(Zero)), Pos(Succ(Zero))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(new_primModNatS1(Zero, Zero)))) 248.39/165.12 248.39/165.12 248.39/165.12 ---------------------------------------- 248.39/165.12 248.39/165.12 (65) 248.39/165.12 Obligation: 248.39/165.12 Q DP problem: 248.39/165.12 The TRS P consists of the following rules: 248.39/165.12 248.39/165.12 new_gcd0Gcd'1(False, Pos(Succ(x1)), Neg(x0)) -> new_gcd0Gcd'0(Pos(Succ(x1)), Neg(new_primModNatS1(x0, x1))) 248.39/165.12 new_gcd0Gcd'0(Pos(x0), Neg(Succ(x1))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(x0, x1))), Neg(Succ(x1)), Pos(x0)) 248.39/165.12 new_gcd0Gcd'0(Neg(x0), Pos(Succ(x1))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(x0, x1))), Pos(Succ(x1)), Neg(x0)) 248.39/165.12 new_gcd0Gcd'1(False, Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero))) 248.39/165.12 new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 248.39/165.12 new_gcd0Gcd'1(False, Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x1))), Pos(new_primModNatS01(x0, x1, x0, x1))) 248.39/165.12 new_gcd0Gcd'1(False, Neg(Succ(Zero)), Pos(Succ(Zero))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(new_primModNatS1(Zero, Zero))) 248.39/165.12 248.39/165.12 The TRS R consists of the following rules: 248.39/165.12 248.39/165.12 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 248.39/165.12 new_primModNatS1(Succ(Succ(vyv292000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv292000), Zero) 248.39/165.12 new_primModNatS1(Succ(Zero), Succ(vyv291000)) -> Succ(Zero) 248.39/165.12 new_primModNatS01(vyv330, vyv331, Zero, Zero) -> new_primModNatS02(vyv330, vyv331) 248.39/165.12 new_primModNatS02(vyv330, vyv331) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv330), Succ(vyv331)), Succ(vyv331)) 248.39/165.12 new_primModNatS1(Succ(Succ(vyv292000)), Succ(vyv291000)) -> new_primModNatS01(vyv292000, vyv291000, vyv292000, vyv291000) 248.39/165.12 new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Succ(vyv3330)) -> new_primModNatS01(vyv330, vyv331, vyv3320, vyv3330) 248.39/165.12 new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Zero) -> new_primModNatS02(vyv330, vyv331) 248.39/165.12 new_primModNatS1(Zero, vyv29100) -> Zero 248.39/165.12 new_esEs(Pos(Succ(vyv24100))) -> new_primEqInt(Pos(Succ(vyv24100))) 248.39/165.12 new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) 248.39/165.12 new_primEqInt(Pos(Zero)) -> True 248.39/165.12 new_primEqInt(Pos(Succ(vyv242000))) -> False 248.39/165.12 new_primMinusNatS2(Succ(vyv3100), Succ(vyv3110)) -> new_primMinusNatS2(vyv3100, vyv3110) 248.39/165.12 new_primModNatS01(vyv330, vyv331, Zero, Succ(vyv3330)) -> Succ(Succ(vyv330)) 248.39/165.12 new_primMinusNatS2(Zero, Zero) -> Zero 248.39/165.12 new_primMinusNatS2(Zero, Succ(vyv3110)) -> Zero 248.39/165.12 new_primMinusNatS2(Succ(vyv3100), Zero) -> Succ(vyv3100) 248.39/165.12 new_primMinusNatS1 -> Zero 248.39/165.12 new_primMinusNatS0(vyv270000) -> Succ(vyv270000) 248.39/165.12 new_esEs(Neg(Succ(vyv24100))) -> new_primEqInt(Neg(Succ(vyv24100))) 248.39/165.12 new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) 248.39/165.12 new_primEqInt(Neg(Zero)) -> True 248.39/165.12 new_primEqInt(Neg(Succ(vyv242000))) -> False 248.39/165.12 248.39/165.12 The set Q consists of the following terms: 248.39/165.12 248.39/165.12 new_primModNatS1(Succ(Zero), Succ(x0)) 248.39/165.12 new_primMinusNatS1 248.39/165.12 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 248.39/165.12 new_primEqInt(Pos(Zero)) 248.39/165.12 new_primModNatS02(x0, x1) 248.39/165.12 new_primModNatS01(x0, x1, Succ(x2), Zero) 248.39/165.12 new_primModNatS01(x0, x1, Zero, Succ(x2)) 248.39/165.12 new_primMinusNatS2(Zero, Zero) 248.39/165.12 new_esEs(Neg(Succ(x0))) 248.39/165.12 new_primMinusNatS2(Zero, Succ(x0)) 248.39/165.12 new_primModNatS1(Succ(Zero), Zero) 248.39/165.12 new_esEs(Pos(Zero)) 248.39/165.12 new_primEqInt(Neg(Succ(x0))) 248.39/165.12 new_primMinusNatS2(Succ(x0), Zero) 248.39/165.12 new_primEqInt(Neg(Zero)) 248.39/165.12 new_primMinusNatS0(x0) 248.39/165.12 new_primModNatS01(x0, x1, Zero, Zero) 248.39/165.12 new_primEqInt(Pos(Succ(x0))) 248.39/165.12 new_primMinusNatS2(Succ(x0), Succ(x1)) 248.39/165.12 new_primModNatS1(Succ(Succ(x0)), Zero) 248.39/165.12 new_primModNatS1(Zero, x0) 248.39/165.12 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 248.39/165.12 new_esEs(Neg(Zero)) 248.39/165.12 new_esEs(Pos(Succ(x0))) 248.39/165.12 248.39/165.12 We have to consider all minimal (P,Q,R)-chains. 248.39/165.12 ---------------------------------------- 248.39/165.12 248.39/165.12 (66) DependencyGraphProof (EQUIVALENT) 248.39/165.12 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. 248.39/165.12 ---------------------------------------- 248.39/165.12 248.39/165.12 (67) 248.39/165.12 Obligation: 248.39/165.12 Q DP problem: 248.39/165.12 The TRS P consists of the following rules: 248.39/165.12 248.39/165.12 new_gcd0Gcd'0(Pos(x0), Neg(Succ(x1))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(x0, x1))), Neg(Succ(x1)), Pos(x0)) 248.39/165.12 new_gcd0Gcd'1(False, Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero))) 248.39/165.12 new_gcd0Gcd'0(Neg(x0), Pos(Succ(x1))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(x0, x1))), Pos(Succ(x1)), Neg(x0)) 248.39/165.12 new_gcd0Gcd'1(False, Pos(Succ(x1)), Neg(x0)) -> new_gcd0Gcd'0(Pos(Succ(x1)), Neg(new_primModNatS1(x0, x1))) 248.39/165.12 new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 248.39/165.12 new_gcd0Gcd'1(False, Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x1))), Pos(new_primModNatS01(x0, x1, x0, x1))) 248.39/165.12 248.39/165.12 The TRS R consists of the following rules: 248.39/165.12 248.39/165.12 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 248.39/165.12 new_primModNatS1(Succ(Succ(vyv292000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv292000), Zero) 248.39/165.12 new_primModNatS1(Succ(Zero), Succ(vyv291000)) -> Succ(Zero) 248.39/165.12 new_primModNatS01(vyv330, vyv331, Zero, Zero) -> new_primModNatS02(vyv330, vyv331) 248.39/165.12 new_primModNatS02(vyv330, vyv331) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv330), Succ(vyv331)), Succ(vyv331)) 248.39/165.12 new_primModNatS1(Succ(Succ(vyv292000)), Succ(vyv291000)) -> new_primModNatS01(vyv292000, vyv291000, vyv292000, vyv291000) 248.39/165.12 new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Succ(vyv3330)) -> new_primModNatS01(vyv330, vyv331, vyv3320, vyv3330) 248.39/165.12 new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Zero) -> new_primModNatS02(vyv330, vyv331) 248.39/165.12 new_primModNatS1(Zero, vyv29100) -> Zero 248.39/165.12 new_esEs(Pos(Succ(vyv24100))) -> new_primEqInt(Pos(Succ(vyv24100))) 248.39/165.12 new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) 248.39/165.12 new_primEqInt(Pos(Zero)) -> True 248.39/165.12 new_primEqInt(Pos(Succ(vyv242000))) -> False 248.39/165.12 new_primMinusNatS2(Succ(vyv3100), Succ(vyv3110)) -> new_primMinusNatS2(vyv3100, vyv3110) 248.39/165.12 new_primModNatS01(vyv330, vyv331, Zero, Succ(vyv3330)) -> Succ(Succ(vyv330)) 248.39/165.12 new_primMinusNatS2(Zero, Zero) -> Zero 248.39/165.12 new_primMinusNatS2(Zero, Succ(vyv3110)) -> Zero 248.39/165.12 new_primMinusNatS2(Succ(vyv3100), Zero) -> Succ(vyv3100) 248.39/165.12 new_primMinusNatS1 -> Zero 248.39/165.12 new_primMinusNatS0(vyv270000) -> Succ(vyv270000) 248.39/165.12 new_esEs(Neg(Succ(vyv24100))) -> new_primEqInt(Neg(Succ(vyv24100))) 248.39/165.12 new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) 248.39/165.12 new_primEqInt(Neg(Zero)) -> True 248.39/165.12 new_primEqInt(Neg(Succ(vyv242000))) -> False 248.39/165.12 248.39/165.12 The set Q consists of the following terms: 248.39/165.12 248.39/165.12 new_primModNatS1(Succ(Zero), Succ(x0)) 248.39/165.12 new_primMinusNatS1 248.39/165.12 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 248.39/165.12 new_primEqInt(Pos(Zero)) 248.39/165.12 new_primModNatS02(x0, x1) 248.39/165.12 new_primModNatS01(x0, x1, Succ(x2), Zero) 248.39/165.12 new_primModNatS01(x0, x1, Zero, Succ(x2)) 248.39/165.12 new_primMinusNatS2(Zero, Zero) 248.39/165.12 new_esEs(Neg(Succ(x0))) 248.39/165.12 new_primMinusNatS2(Zero, Succ(x0)) 248.39/165.12 new_primModNatS1(Succ(Zero), Zero) 248.39/165.12 new_esEs(Pos(Zero)) 248.39/165.12 new_primEqInt(Neg(Succ(x0))) 248.39/165.12 new_primMinusNatS2(Succ(x0), Zero) 248.39/165.12 new_primEqInt(Neg(Zero)) 248.39/165.12 new_primMinusNatS0(x0) 248.39/165.12 new_primModNatS01(x0, x1, Zero, Zero) 248.39/165.12 new_primEqInt(Pos(Succ(x0))) 248.39/165.12 new_primMinusNatS2(Succ(x0), Succ(x1)) 248.39/165.12 new_primModNatS1(Succ(Succ(x0)), Zero) 248.39/165.12 new_primModNatS1(Zero, x0) 248.39/165.12 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 248.39/165.12 new_esEs(Neg(Zero)) 248.39/165.12 new_esEs(Pos(Succ(x0))) 248.39/165.12 248.39/165.12 We have to consider all minimal (P,Q,R)-chains. 248.39/165.12 ---------------------------------------- 248.39/165.12 248.39/165.12 (68) TransformationProof (EQUIVALENT) 248.39/165.12 By rewriting [LPAR04] the rule new_gcd0Gcd'1(False, Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero))) at position [1,0,0] we obtained the following new rules [LPAR04]: 248.39/165.12 248.39/165.12 (new_gcd0Gcd'1(False, Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))),new_gcd0Gcd'1(False, Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero)))) 248.39/165.12 248.39/165.12 248.39/165.12 ---------------------------------------- 248.39/165.12 248.39/165.12 (69) 248.39/165.12 Obligation: 248.39/165.12 Q DP problem: 248.39/165.12 The TRS P consists of the following rules: 248.39/165.12 248.39/165.12 new_gcd0Gcd'0(Pos(x0), Neg(Succ(x1))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(x0, x1))), Neg(Succ(x1)), Pos(x0)) 248.39/165.12 new_gcd0Gcd'0(Neg(x0), Pos(Succ(x1))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(x0, x1))), Pos(Succ(x1)), Neg(x0)) 248.39/165.12 new_gcd0Gcd'1(False, Pos(Succ(x1)), Neg(x0)) -> new_gcd0Gcd'0(Pos(Succ(x1)), Neg(new_primModNatS1(x0, x1))) 248.39/165.12 new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 248.39/165.12 new_gcd0Gcd'1(False, Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x1))), Pos(new_primModNatS01(x0, x1, x0, x1))) 248.39/165.12 new_gcd0Gcd'1(False, Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 248.39/165.12 248.39/165.12 The TRS R consists of the following rules: 248.39/165.12 248.39/165.12 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 248.39/165.12 new_primModNatS1(Succ(Succ(vyv292000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv292000), Zero) 248.39/165.12 new_primModNatS1(Succ(Zero), Succ(vyv291000)) -> Succ(Zero) 248.39/165.12 new_primModNatS01(vyv330, vyv331, Zero, Zero) -> new_primModNatS02(vyv330, vyv331) 248.39/165.12 new_primModNatS02(vyv330, vyv331) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv330), Succ(vyv331)), Succ(vyv331)) 248.39/165.12 new_primModNatS1(Succ(Succ(vyv292000)), Succ(vyv291000)) -> new_primModNatS01(vyv292000, vyv291000, vyv292000, vyv291000) 248.39/165.12 new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Succ(vyv3330)) -> new_primModNatS01(vyv330, vyv331, vyv3320, vyv3330) 248.39/165.12 new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Zero) -> new_primModNatS02(vyv330, vyv331) 248.39/165.12 new_primModNatS1(Zero, vyv29100) -> Zero 248.39/165.12 new_esEs(Pos(Succ(vyv24100))) -> new_primEqInt(Pos(Succ(vyv24100))) 248.39/165.12 new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) 248.39/165.12 new_primEqInt(Pos(Zero)) -> True 248.39/165.12 new_primEqInt(Pos(Succ(vyv242000))) -> False 248.39/165.12 new_primMinusNatS2(Succ(vyv3100), Succ(vyv3110)) -> new_primMinusNatS2(vyv3100, vyv3110) 248.39/165.12 new_primModNatS01(vyv330, vyv331, Zero, Succ(vyv3330)) -> Succ(Succ(vyv330)) 248.39/165.12 new_primMinusNatS2(Zero, Zero) -> Zero 248.39/165.12 new_primMinusNatS2(Zero, Succ(vyv3110)) -> Zero 248.39/165.12 new_primMinusNatS2(Succ(vyv3100), Zero) -> Succ(vyv3100) 248.39/165.12 new_primMinusNatS1 -> Zero 248.39/165.12 new_primMinusNatS0(vyv270000) -> Succ(vyv270000) 248.39/165.12 new_esEs(Neg(Succ(vyv24100))) -> new_primEqInt(Neg(Succ(vyv24100))) 248.39/165.12 new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) 248.39/165.12 new_primEqInt(Neg(Zero)) -> True 248.39/165.12 new_primEqInt(Neg(Succ(vyv242000))) -> False 248.39/165.12 248.39/165.12 The set Q consists of the following terms: 248.39/165.12 248.39/165.12 new_primModNatS1(Succ(Zero), Succ(x0)) 248.39/165.12 new_primMinusNatS1 248.39/165.12 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 248.39/165.12 new_primEqInt(Pos(Zero)) 248.39/165.12 new_primModNatS02(x0, x1) 248.39/165.12 new_primModNatS01(x0, x1, Succ(x2), Zero) 248.39/165.12 new_primModNatS01(x0, x1, Zero, Succ(x2)) 248.39/165.12 new_primMinusNatS2(Zero, Zero) 248.39/165.12 new_esEs(Neg(Succ(x0))) 248.39/165.12 new_primMinusNatS2(Zero, Succ(x0)) 248.39/165.12 new_primModNatS1(Succ(Zero), Zero) 248.39/165.12 new_esEs(Pos(Zero)) 248.39/165.12 new_primEqInt(Neg(Succ(x0))) 248.39/165.12 new_primMinusNatS2(Succ(x0), Zero) 248.39/165.12 new_primEqInt(Neg(Zero)) 248.39/165.12 new_primMinusNatS0(x0) 248.39/165.12 new_primModNatS01(x0, x1, Zero, Zero) 248.39/165.12 new_primEqInt(Pos(Succ(x0))) 248.39/165.12 new_primMinusNatS2(Succ(x0), Succ(x1)) 248.39/165.12 new_primModNatS1(Succ(Succ(x0)), Zero) 248.39/165.12 new_primModNatS1(Zero, x0) 248.39/165.12 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 248.39/165.12 new_esEs(Neg(Zero)) 248.39/165.12 new_esEs(Pos(Succ(x0))) 248.39/165.12 248.39/165.12 We have to consider all minimal (P,Q,R)-chains. 248.39/165.12 ---------------------------------------- 248.39/165.12 248.39/165.12 (70) TransformationProof (EQUIVALENT) 248.39/165.12 By narrowing [LPAR04] the rule new_gcd0Gcd'0(Pos(x0), Neg(Succ(x1))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(x0, x1))), Neg(Succ(x1)), Pos(x0)) at position [0] we obtained the following new rules [LPAR04]: 248.39/165.12 248.39/165.12 (new_gcd0Gcd'0(Pos(Succ(Zero)), Neg(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS1, Zero))), Neg(Succ(Zero)), Pos(Succ(Zero))),new_gcd0Gcd'0(Pos(Succ(Zero)), Neg(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS1, Zero))), Neg(Succ(Zero)), Pos(Succ(Zero)))) 248.39/165.12 (new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))),new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero))), Neg(Succ(Zero)), Pos(Succ(Succ(x0))))) 248.39/165.12 (new_gcd0Gcd'0(Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'1(new_esEs(Pos(Succ(Zero))), Neg(Succ(Succ(x0))), Pos(Succ(Zero))),new_gcd0Gcd'0(Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'1(new_esEs(Pos(Succ(Zero))), Neg(Succ(Succ(x0))), Pos(Succ(Zero)))) 248.39/165.12 (new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(x0, x1, x0, x1))), Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))),new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(x0, x1, x0, x1))), Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0))))) 248.39/165.12 (new_gcd0Gcd'0(Pos(Zero), Neg(Succ(x0))) -> new_gcd0Gcd'1(new_esEs(Pos(Zero)), Neg(Succ(x0)), Pos(Zero)),new_gcd0Gcd'0(Pos(Zero), Neg(Succ(x0))) -> new_gcd0Gcd'1(new_esEs(Pos(Zero)), Neg(Succ(x0)), Pos(Zero))) 248.39/165.12 248.39/165.12 248.39/165.12 ---------------------------------------- 248.39/165.12 248.39/165.12 (71) 248.39/165.12 Obligation: 248.39/165.12 Q DP problem: 248.39/165.12 The TRS P consists of the following rules: 248.39/165.12 248.39/165.12 new_gcd0Gcd'0(Neg(x0), Pos(Succ(x1))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(x0, x1))), Pos(Succ(x1)), Neg(x0)) 248.39/165.12 new_gcd0Gcd'1(False, Pos(Succ(x1)), Neg(x0)) -> new_gcd0Gcd'0(Pos(Succ(x1)), Neg(new_primModNatS1(x0, x1))) 248.39/165.12 new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 248.39/165.12 new_gcd0Gcd'1(False, Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x1))), Pos(new_primModNatS01(x0, x1, x0, x1))) 248.39/165.12 new_gcd0Gcd'1(False, Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 248.39/165.12 new_gcd0Gcd'0(Pos(Succ(Zero)), Neg(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS1, Zero))), Neg(Succ(Zero)), Pos(Succ(Zero))) 248.39/165.12 new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) 248.39/165.12 new_gcd0Gcd'0(Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'1(new_esEs(Pos(Succ(Zero))), Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 248.39/165.12 new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(x0, x1, x0, x1))), Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) 248.39/165.12 new_gcd0Gcd'0(Pos(Zero), Neg(Succ(x0))) -> new_gcd0Gcd'1(new_esEs(Pos(Zero)), Neg(Succ(x0)), Pos(Zero)) 248.39/165.12 248.39/165.12 The TRS R consists of the following rules: 248.39/165.12 248.39/165.12 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 248.39/165.12 new_primModNatS1(Succ(Succ(vyv292000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv292000), Zero) 248.39/165.12 new_primModNatS1(Succ(Zero), Succ(vyv291000)) -> Succ(Zero) 248.39/165.12 new_primModNatS01(vyv330, vyv331, Zero, Zero) -> new_primModNatS02(vyv330, vyv331) 248.39/165.12 new_primModNatS02(vyv330, vyv331) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv330), Succ(vyv331)), Succ(vyv331)) 248.39/165.12 new_primModNatS1(Succ(Succ(vyv292000)), Succ(vyv291000)) -> new_primModNatS01(vyv292000, vyv291000, vyv292000, vyv291000) 248.39/165.12 new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Succ(vyv3330)) -> new_primModNatS01(vyv330, vyv331, vyv3320, vyv3330) 248.39/165.12 new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Zero) -> new_primModNatS02(vyv330, vyv331) 248.39/165.12 new_primModNatS1(Zero, vyv29100) -> Zero 248.39/165.12 new_esEs(Pos(Succ(vyv24100))) -> new_primEqInt(Pos(Succ(vyv24100))) 248.39/165.12 new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) 248.39/165.12 new_primEqInt(Pos(Zero)) -> True 248.39/165.12 new_primEqInt(Pos(Succ(vyv242000))) -> False 248.39/165.12 new_primMinusNatS2(Succ(vyv3100), Succ(vyv3110)) -> new_primMinusNatS2(vyv3100, vyv3110) 248.39/165.12 new_primModNatS01(vyv330, vyv331, Zero, Succ(vyv3330)) -> Succ(Succ(vyv330)) 248.39/165.12 new_primMinusNatS2(Zero, Zero) -> Zero 248.39/165.12 new_primMinusNatS2(Zero, Succ(vyv3110)) -> Zero 248.39/165.12 new_primMinusNatS2(Succ(vyv3100), Zero) -> Succ(vyv3100) 248.39/165.12 new_primMinusNatS1 -> Zero 248.39/165.12 new_primMinusNatS0(vyv270000) -> Succ(vyv270000) 248.39/165.12 new_esEs(Neg(Succ(vyv24100))) -> new_primEqInt(Neg(Succ(vyv24100))) 248.39/165.12 new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) 248.39/165.12 new_primEqInt(Neg(Zero)) -> True 248.39/165.12 new_primEqInt(Neg(Succ(vyv242000))) -> False 248.39/165.12 248.39/165.12 The set Q consists of the following terms: 248.39/165.12 248.39/165.12 new_primModNatS1(Succ(Zero), Succ(x0)) 248.39/165.12 new_primMinusNatS1 248.39/165.12 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 248.39/165.12 new_primEqInt(Pos(Zero)) 248.39/165.12 new_primModNatS02(x0, x1) 248.39/165.12 new_primModNatS01(x0, x1, Succ(x2), Zero) 248.39/165.12 new_primModNatS01(x0, x1, Zero, Succ(x2)) 248.39/165.12 new_primMinusNatS2(Zero, Zero) 248.39/165.12 new_esEs(Neg(Succ(x0))) 248.39/165.12 new_primMinusNatS2(Zero, Succ(x0)) 248.39/165.12 new_primModNatS1(Succ(Zero), Zero) 248.39/165.12 new_esEs(Pos(Zero)) 248.39/165.12 new_primEqInt(Neg(Succ(x0))) 248.39/165.12 new_primMinusNatS2(Succ(x0), Zero) 248.39/165.12 new_primEqInt(Neg(Zero)) 248.39/165.12 new_primMinusNatS0(x0) 248.39/165.12 new_primModNatS01(x0, x1, Zero, Zero) 248.39/165.12 new_primEqInt(Pos(Succ(x0))) 248.39/165.12 new_primMinusNatS2(Succ(x0), Succ(x1)) 248.39/165.12 new_primModNatS1(Succ(Succ(x0)), Zero) 248.39/165.12 new_primModNatS1(Zero, x0) 248.39/165.12 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 248.39/165.12 new_esEs(Neg(Zero)) 248.39/165.12 new_esEs(Pos(Succ(x0))) 248.39/165.12 248.39/165.12 We have to consider all minimal (P,Q,R)-chains. 248.39/165.12 ---------------------------------------- 248.39/165.12 248.39/165.12 (72) DependencyGraphProof (EQUIVALENT) 248.39/165.12 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 2 less nodes. 248.39/165.12 ---------------------------------------- 248.39/165.12 248.39/165.12 (73) 248.39/165.12 Obligation: 248.39/165.12 Q DP problem: 248.39/165.12 The TRS P consists of the following rules: 248.39/165.12 248.39/165.12 new_gcd0Gcd'1(False, Pos(Succ(x1)), Neg(x0)) -> new_gcd0Gcd'0(Pos(Succ(x1)), Neg(new_primModNatS1(x0, x1))) 248.39/165.12 new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) 248.39/165.12 new_gcd0Gcd'1(False, Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 248.39/165.12 new_gcd0Gcd'0(Neg(x0), Pos(Succ(x1))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(x0, x1))), Pos(Succ(x1)), Neg(x0)) 248.39/165.12 new_gcd0Gcd'0(Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'1(new_esEs(Pos(Succ(Zero))), Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 248.39/165.12 new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 248.39/165.12 new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(x0, x1, x0, x1))), Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) 248.39/165.12 new_gcd0Gcd'1(False, Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x1))), Pos(new_primModNatS01(x0, x1, x0, x1))) 248.39/165.12 248.39/165.12 The TRS R consists of the following rules: 248.39/165.12 248.39/165.12 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 248.39/165.12 new_primModNatS1(Succ(Succ(vyv292000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv292000), Zero) 248.39/165.12 new_primModNatS1(Succ(Zero), Succ(vyv291000)) -> Succ(Zero) 248.39/165.12 new_primModNatS01(vyv330, vyv331, Zero, Zero) -> new_primModNatS02(vyv330, vyv331) 248.39/165.12 new_primModNatS02(vyv330, vyv331) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv330), Succ(vyv331)), Succ(vyv331)) 248.39/165.12 new_primModNatS1(Succ(Succ(vyv292000)), Succ(vyv291000)) -> new_primModNatS01(vyv292000, vyv291000, vyv292000, vyv291000) 248.39/165.12 new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Succ(vyv3330)) -> new_primModNatS01(vyv330, vyv331, vyv3320, vyv3330) 248.39/165.12 new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Zero) -> new_primModNatS02(vyv330, vyv331) 248.39/165.12 new_primModNatS1(Zero, vyv29100) -> Zero 248.39/165.12 new_esEs(Pos(Succ(vyv24100))) -> new_primEqInt(Pos(Succ(vyv24100))) 248.39/165.12 new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) 248.39/165.12 new_primEqInt(Pos(Zero)) -> True 248.39/165.12 new_primEqInt(Pos(Succ(vyv242000))) -> False 248.39/165.12 new_primMinusNatS2(Succ(vyv3100), Succ(vyv3110)) -> new_primMinusNatS2(vyv3100, vyv3110) 248.39/165.12 new_primModNatS01(vyv330, vyv331, Zero, Succ(vyv3330)) -> Succ(Succ(vyv330)) 248.39/165.12 new_primMinusNatS2(Zero, Zero) -> Zero 248.39/165.12 new_primMinusNatS2(Zero, Succ(vyv3110)) -> Zero 248.39/165.12 new_primMinusNatS2(Succ(vyv3100), Zero) -> Succ(vyv3100) 248.39/165.12 new_primMinusNatS1 -> Zero 248.39/165.12 new_primMinusNatS0(vyv270000) -> Succ(vyv270000) 248.39/165.12 new_esEs(Neg(Succ(vyv24100))) -> new_primEqInt(Neg(Succ(vyv24100))) 248.39/165.12 new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) 248.39/165.12 new_primEqInt(Neg(Zero)) -> True 248.39/165.12 new_primEqInt(Neg(Succ(vyv242000))) -> False 248.39/165.12 248.39/165.12 The set Q consists of the following terms: 248.39/165.12 248.39/165.12 new_primModNatS1(Succ(Zero), Succ(x0)) 248.39/165.12 new_primMinusNatS1 248.39/165.12 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 248.39/165.12 new_primEqInt(Pos(Zero)) 248.39/165.12 new_primModNatS02(x0, x1) 248.39/165.12 new_primModNatS01(x0, x1, Succ(x2), Zero) 248.39/165.12 new_primModNatS01(x0, x1, Zero, Succ(x2)) 248.39/165.12 new_primMinusNatS2(Zero, Zero) 248.39/165.12 new_esEs(Neg(Succ(x0))) 248.39/165.12 new_primMinusNatS2(Zero, Succ(x0)) 248.39/165.12 new_primModNatS1(Succ(Zero), Zero) 248.39/165.12 new_esEs(Pos(Zero)) 248.39/165.12 new_primEqInt(Neg(Succ(x0))) 248.39/165.12 new_primMinusNatS2(Succ(x0), Zero) 248.39/165.12 new_primEqInt(Neg(Zero)) 248.39/165.12 new_primMinusNatS0(x0) 248.39/165.12 new_primModNatS01(x0, x1, Zero, Zero) 248.39/165.12 new_primEqInt(Pos(Succ(x0))) 248.39/165.12 new_primMinusNatS2(Succ(x0), Succ(x1)) 248.39/165.12 new_primModNatS1(Succ(Succ(x0)), Zero) 248.39/165.12 new_primModNatS1(Zero, x0) 248.39/165.12 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 248.39/165.12 new_esEs(Neg(Zero)) 248.39/165.12 new_esEs(Pos(Succ(x0))) 248.39/165.12 248.39/165.12 We have to consider all minimal (P,Q,R)-chains. 248.39/165.12 ---------------------------------------- 248.39/165.12 248.39/165.12 (74) TransformationProof (EQUIVALENT) 248.39/165.12 By rewriting [LPAR04] the rule new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) at position [0,0,0,0] we obtained the following new rules [LPAR04]: 248.39/165.12 248.39/165.12 (new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))),new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(Succ(Succ(x0))))) 248.39/165.12 248.39/165.12 248.39/165.12 ---------------------------------------- 248.39/165.12 248.39/165.12 (75) 248.39/165.12 Obligation: 248.39/165.12 Q DP problem: 248.39/165.12 The TRS P consists of the following rules: 248.39/165.12 248.39/165.12 new_gcd0Gcd'1(False, Pos(Succ(x1)), Neg(x0)) -> new_gcd0Gcd'0(Pos(Succ(x1)), Neg(new_primModNatS1(x0, x1))) 248.39/165.12 new_gcd0Gcd'1(False, Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 248.39/165.12 new_gcd0Gcd'0(Neg(x0), Pos(Succ(x1))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(x0, x1))), Pos(Succ(x1)), Neg(x0)) 248.39/165.12 new_gcd0Gcd'0(Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'1(new_esEs(Pos(Succ(Zero))), Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 248.39/165.12 new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 248.39/165.12 new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(x0, x1, x0, x1))), Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) 248.39/165.12 new_gcd0Gcd'1(False, Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x1))), Pos(new_primModNatS01(x0, x1, x0, x1))) 248.39/165.12 new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) 248.39/165.12 248.39/165.12 The TRS R consists of the following rules: 248.39/165.12 248.39/165.12 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 248.39/165.12 new_primModNatS1(Succ(Succ(vyv292000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv292000), Zero) 248.39/165.12 new_primModNatS1(Succ(Zero), Succ(vyv291000)) -> Succ(Zero) 248.39/165.12 new_primModNatS01(vyv330, vyv331, Zero, Zero) -> new_primModNatS02(vyv330, vyv331) 248.39/165.12 new_primModNatS02(vyv330, vyv331) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv330), Succ(vyv331)), Succ(vyv331)) 248.39/165.12 new_primModNatS1(Succ(Succ(vyv292000)), Succ(vyv291000)) -> new_primModNatS01(vyv292000, vyv291000, vyv292000, vyv291000) 248.39/165.12 new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Succ(vyv3330)) -> new_primModNatS01(vyv330, vyv331, vyv3320, vyv3330) 248.39/165.12 new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Zero) -> new_primModNatS02(vyv330, vyv331) 248.39/165.12 new_primModNatS1(Zero, vyv29100) -> Zero 248.39/165.12 new_esEs(Pos(Succ(vyv24100))) -> new_primEqInt(Pos(Succ(vyv24100))) 248.39/165.12 new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) 248.39/165.12 new_primEqInt(Pos(Zero)) -> True 248.39/165.12 new_primEqInt(Pos(Succ(vyv242000))) -> False 248.39/165.12 new_primMinusNatS2(Succ(vyv3100), Succ(vyv3110)) -> new_primMinusNatS2(vyv3100, vyv3110) 248.39/165.12 new_primModNatS01(vyv330, vyv331, Zero, Succ(vyv3330)) -> Succ(Succ(vyv330)) 248.39/165.12 new_primMinusNatS2(Zero, Zero) -> Zero 248.39/165.12 new_primMinusNatS2(Zero, Succ(vyv3110)) -> Zero 248.39/165.12 new_primMinusNatS2(Succ(vyv3100), Zero) -> Succ(vyv3100) 248.39/165.12 new_primMinusNatS1 -> Zero 248.39/165.12 new_primMinusNatS0(vyv270000) -> Succ(vyv270000) 248.39/165.12 new_esEs(Neg(Succ(vyv24100))) -> new_primEqInt(Neg(Succ(vyv24100))) 248.39/165.12 new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) 248.39/165.12 new_primEqInt(Neg(Zero)) -> True 248.39/165.12 new_primEqInt(Neg(Succ(vyv242000))) -> False 248.39/165.12 248.39/165.12 The set Q consists of the following terms: 248.39/165.12 248.39/165.12 new_primModNatS1(Succ(Zero), Succ(x0)) 248.39/165.12 new_primMinusNatS1 248.39/165.12 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 248.39/165.12 new_primEqInt(Pos(Zero)) 248.39/165.12 new_primModNatS02(x0, x1) 248.39/165.12 new_primModNatS01(x0, x1, Succ(x2), Zero) 248.39/165.12 new_primModNatS01(x0, x1, Zero, Succ(x2)) 248.39/165.12 new_primMinusNatS2(Zero, Zero) 248.39/165.12 new_esEs(Neg(Succ(x0))) 248.39/165.12 new_primMinusNatS2(Zero, Succ(x0)) 248.39/165.12 new_primModNatS1(Succ(Zero), Zero) 248.39/165.12 new_esEs(Pos(Zero)) 248.39/165.12 new_primEqInt(Neg(Succ(x0))) 248.39/165.12 new_primMinusNatS2(Succ(x0), Zero) 248.39/165.12 new_primEqInt(Neg(Zero)) 248.39/165.12 new_primMinusNatS0(x0) 248.39/165.12 new_primModNatS01(x0, x1, Zero, Zero) 248.39/165.12 new_primEqInt(Pos(Succ(x0))) 248.39/165.12 new_primMinusNatS2(Succ(x0), Succ(x1)) 248.39/165.12 new_primModNatS1(Succ(Succ(x0)), Zero) 248.39/165.12 new_primModNatS1(Zero, x0) 248.39/165.12 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 248.39/165.12 new_esEs(Neg(Zero)) 248.39/165.12 new_esEs(Pos(Succ(x0))) 248.39/165.12 248.39/165.12 We have to consider all minimal (P,Q,R)-chains. 248.39/165.12 ---------------------------------------- 248.39/165.12 248.39/165.12 (76) TransformationProof (EQUIVALENT) 248.39/165.12 By rewriting [LPAR04] the rule new_gcd0Gcd'0(Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'1(new_esEs(Pos(Succ(Zero))), Neg(Succ(Succ(x0))), Pos(Succ(Zero))) at position [0] we obtained the following new rules [LPAR04]: 248.39/165.12 248.39/165.12 (new_gcd0Gcd'0(Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'1(new_primEqInt(Pos(Succ(Zero))), Neg(Succ(Succ(x0))), Pos(Succ(Zero))),new_gcd0Gcd'0(Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'1(new_primEqInt(Pos(Succ(Zero))), Neg(Succ(Succ(x0))), Pos(Succ(Zero)))) 248.39/165.12 248.39/165.12 248.39/165.12 ---------------------------------------- 248.39/165.12 248.39/165.12 (77) 248.39/165.12 Obligation: 248.39/165.12 Q DP problem: 248.39/165.12 The TRS P consists of the following rules: 248.39/165.12 248.39/165.12 new_gcd0Gcd'1(False, Pos(Succ(x1)), Neg(x0)) -> new_gcd0Gcd'0(Pos(Succ(x1)), Neg(new_primModNatS1(x0, x1))) 248.39/165.12 new_gcd0Gcd'1(False, Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 248.39/165.12 new_gcd0Gcd'0(Neg(x0), Pos(Succ(x1))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(x0, x1))), Pos(Succ(x1)), Neg(x0)) 248.39/165.12 new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 248.39/165.12 new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(x0, x1, x0, x1))), Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) 248.39/165.12 new_gcd0Gcd'1(False, Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x1))), Pos(new_primModNatS01(x0, x1, x0, x1))) 248.39/165.12 new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) 248.39/165.12 new_gcd0Gcd'0(Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'1(new_primEqInt(Pos(Succ(Zero))), Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 248.39/165.12 248.39/165.12 The TRS R consists of the following rules: 248.39/165.12 248.39/165.12 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 248.39/165.12 new_primModNatS1(Succ(Succ(vyv292000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv292000), Zero) 248.39/165.12 new_primModNatS1(Succ(Zero), Succ(vyv291000)) -> Succ(Zero) 248.39/165.12 new_primModNatS01(vyv330, vyv331, Zero, Zero) -> new_primModNatS02(vyv330, vyv331) 248.39/165.12 new_primModNatS02(vyv330, vyv331) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv330), Succ(vyv331)), Succ(vyv331)) 248.39/165.12 new_primModNatS1(Succ(Succ(vyv292000)), Succ(vyv291000)) -> new_primModNatS01(vyv292000, vyv291000, vyv292000, vyv291000) 248.39/165.12 new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Succ(vyv3330)) -> new_primModNatS01(vyv330, vyv331, vyv3320, vyv3330) 248.39/165.12 new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Zero) -> new_primModNatS02(vyv330, vyv331) 248.39/165.12 new_primModNatS1(Zero, vyv29100) -> Zero 248.39/165.12 new_esEs(Pos(Succ(vyv24100))) -> new_primEqInt(Pos(Succ(vyv24100))) 248.39/165.12 new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) 248.39/165.12 new_primEqInt(Pos(Zero)) -> True 248.39/165.12 new_primEqInt(Pos(Succ(vyv242000))) -> False 248.39/165.12 new_primMinusNatS2(Succ(vyv3100), Succ(vyv3110)) -> new_primMinusNatS2(vyv3100, vyv3110) 248.39/165.12 new_primModNatS01(vyv330, vyv331, Zero, Succ(vyv3330)) -> Succ(Succ(vyv330)) 248.39/165.12 new_primMinusNatS2(Zero, Zero) -> Zero 248.39/165.12 new_primMinusNatS2(Zero, Succ(vyv3110)) -> Zero 248.39/165.12 new_primMinusNatS2(Succ(vyv3100), Zero) -> Succ(vyv3100) 248.39/165.12 new_primMinusNatS1 -> Zero 248.39/165.12 new_primMinusNatS0(vyv270000) -> Succ(vyv270000) 248.39/165.12 new_esEs(Neg(Succ(vyv24100))) -> new_primEqInt(Neg(Succ(vyv24100))) 248.39/165.12 new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) 248.39/165.12 new_primEqInt(Neg(Zero)) -> True 248.39/165.12 new_primEqInt(Neg(Succ(vyv242000))) -> False 248.39/165.12 248.39/165.12 The set Q consists of the following terms: 248.39/165.12 248.39/165.12 new_primModNatS1(Succ(Zero), Succ(x0)) 248.39/165.12 new_primMinusNatS1 248.39/165.12 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 248.39/165.12 new_primEqInt(Pos(Zero)) 248.39/165.12 new_primModNatS02(x0, x1) 248.39/165.12 new_primModNatS01(x0, x1, Succ(x2), Zero) 248.39/165.12 new_primModNatS01(x0, x1, Zero, Succ(x2)) 248.39/165.12 new_primMinusNatS2(Zero, Zero) 248.39/165.12 new_esEs(Neg(Succ(x0))) 248.39/165.12 new_primMinusNatS2(Zero, Succ(x0)) 248.39/165.12 new_primModNatS1(Succ(Zero), Zero) 248.39/165.12 new_esEs(Pos(Zero)) 248.39/165.12 new_primEqInt(Neg(Succ(x0))) 248.39/165.12 new_primMinusNatS2(Succ(x0), Zero) 248.39/165.12 new_primEqInt(Neg(Zero)) 248.39/165.12 new_primMinusNatS0(x0) 248.39/165.12 new_primModNatS01(x0, x1, Zero, Zero) 248.39/165.12 new_primEqInt(Pos(Succ(x0))) 248.39/165.12 new_primMinusNatS2(Succ(x0), Succ(x1)) 248.39/165.12 new_primModNatS1(Succ(Succ(x0)), Zero) 248.39/165.12 new_primModNatS1(Zero, x0) 248.39/165.12 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 248.39/165.12 new_esEs(Neg(Zero)) 248.39/165.12 new_esEs(Pos(Succ(x0))) 248.39/165.12 248.39/165.12 We have to consider all minimal (P,Q,R)-chains. 248.39/165.12 ---------------------------------------- 248.39/165.12 248.39/165.12 (78) TransformationProof (EQUIVALENT) 248.39/165.12 By rewriting [LPAR04] the rule new_gcd0Gcd'0(Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'1(new_primEqInt(Pos(Succ(Zero))), Neg(Succ(Succ(x0))), Pos(Succ(Zero))) at position [0] we obtained the following new rules [LPAR04]: 248.39/165.12 248.39/165.12 (new_gcd0Gcd'0(Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))),new_gcd0Gcd'0(Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero)))) 248.39/165.12 248.39/165.12 248.39/165.12 ---------------------------------------- 248.39/165.12 248.39/165.12 (79) 248.39/165.12 Obligation: 248.39/165.12 Q DP problem: 248.39/165.12 The TRS P consists of the following rules: 248.39/165.12 248.39/165.12 new_gcd0Gcd'1(False, Pos(Succ(x1)), Neg(x0)) -> new_gcd0Gcd'0(Pos(Succ(x1)), Neg(new_primModNatS1(x0, x1))) 248.39/165.12 new_gcd0Gcd'1(False, Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 248.39/165.12 new_gcd0Gcd'0(Neg(x0), Pos(Succ(x1))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(x0, x1))), Pos(Succ(x1)), Neg(x0)) 248.39/165.12 new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 248.39/165.12 new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(x0, x1, x0, x1))), Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) 248.39/165.12 new_gcd0Gcd'1(False, Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x1))), Pos(new_primModNatS01(x0, x1, x0, x1))) 248.39/165.12 new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) 248.39/165.12 new_gcd0Gcd'0(Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 248.39/165.12 248.39/165.12 The TRS R consists of the following rules: 248.39/165.12 248.39/165.12 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 248.39/165.12 new_primModNatS1(Succ(Succ(vyv292000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv292000), Zero) 248.39/165.12 new_primModNatS1(Succ(Zero), Succ(vyv291000)) -> Succ(Zero) 248.39/165.12 new_primModNatS01(vyv330, vyv331, Zero, Zero) -> new_primModNatS02(vyv330, vyv331) 248.39/165.12 new_primModNatS02(vyv330, vyv331) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv330), Succ(vyv331)), Succ(vyv331)) 248.39/165.12 new_primModNatS1(Succ(Succ(vyv292000)), Succ(vyv291000)) -> new_primModNatS01(vyv292000, vyv291000, vyv292000, vyv291000) 248.39/165.12 new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Succ(vyv3330)) -> new_primModNatS01(vyv330, vyv331, vyv3320, vyv3330) 248.39/165.12 new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Zero) -> new_primModNatS02(vyv330, vyv331) 248.39/165.12 new_primModNatS1(Zero, vyv29100) -> Zero 248.39/165.12 new_esEs(Pos(Succ(vyv24100))) -> new_primEqInt(Pos(Succ(vyv24100))) 248.39/165.12 new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) 248.39/165.12 new_primEqInt(Pos(Zero)) -> True 248.39/165.12 new_primEqInt(Pos(Succ(vyv242000))) -> False 248.39/165.12 new_primMinusNatS2(Succ(vyv3100), Succ(vyv3110)) -> new_primMinusNatS2(vyv3100, vyv3110) 248.39/165.12 new_primModNatS01(vyv330, vyv331, Zero, Succ(vyv3330)) -> Succ(Succ(vyv330)) 248.39/165.12 new_primMinusNatS2(Zero, Zero) -> Zero 248.39/165.12 new_primMinusNatS2(Zero, Succ(vyv3110)) -> Zero 248.39/165.12 new_primMinusNatS2(Succ(vyv3100), Zero) -> Succ(vyv3100) 248.39/165.12 new_primMinusNatS1 -> Zero 248.39/165.12 new_primMinusNatS0(vyv270000) -> Succ(vyv270000) 248.39/165.12 new_esEs(Neg(Succ(vyv24100))) -> new_primEqInt(Neg(Succ(vyv24100))) 248.39/165.12 new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) 248.39/165.12 new_primEqInt(Neg(Zero)) -> True 248.39/165.12 new_primEqInt(Neg(Succ(vyv242000))) -> False 248.39/165.12 248.39/165.12 The set Q consists of the following terms: 248.39/165.12 248.39/165.12 new_primModNatS1(Succ(Zero), Succ(x0)) 248.39/165.12 new_primMinusNatS1 248.39/165.12 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 248.39/165.12 new_primEqInt(Pos(Zero)) 248.39/165.12 new_primModNatS02(x0, x1) 248.39/165.12 new_primModNatS01(x0, x1, Succ(x2), Zero) 248.39/165.12 new_primModNatS01(x0, x1, Zero, Succ(x2)) 248.39/165.12 new_primMinusNatS2(Zero, Zero) 248.39/165.12 new_esEs(Neg(Succ(x0))) 248.39/165.12 new_primMinusNatS2(Zero, Succ(x0)) 248.39/165.12 new_primModNatS1(Succ(Zero), Zero) 248.39/165.12 new_esEs(Pos(Zero)) 248.39/165.12 new_primEqInt(Neg(Succ(x0))) 248.39/165.12 new_primMinusNatS2(Succ(x0), Zero) 248.39/165.12 new_primEqInt(Neg(Zero)) 248.39/165.12 new_primMinusNatS0(x0) 248.39/165.12 new_primModNatS01(x0, x1, Zero, Zero) 248.39/165.12 new_primEqInt(Pos(Succ(x0))) 248.39/165.12 new_primMinusNatS2(Succ(x0), Succ(x1)) 248.39/165.12 new_primModNatS1(Succ(Succ(x0)), Zero) 248.39/165.12 new_primModNatS1(Zero, x0) 248.39/165.12 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 248.39/165.12 new_esEs(Neg(Zero)) 248.39/165.12 new_esEs(Pos(Succ(x0))) 248.39/165.12 248.39/165.12 We have to consider all minimal (P,Q,R)-chains. 248.39/165.12 ---------------------------------------- 248.39/165.12 248.39/165.12 (80) TransformationProof (EQUIVALENT) 248.39/165.12 By narrowing [LPAR04] the rule new_gcd0Gcd'1(False, Pos(Succ(x1)), Neg(x0)) -> new_gcd0Gcd'0(Pos(Succ(x1)), Neg(new_primModNatS1(x0, x1))) at position [1,0] we obtained the following new rules [LPAR04]: 248.39/165.12 248.39/165.12 (new_gcd0Gcd'1(False, Pos(Succ(Zero)), Neg(Succ(Zero))) -> new_gcd0Gcd'0(Pos(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS1, Zero))),new_gcd0Gcd'1(False, Pos(Succ(Zero)), Neg(Succ(Zero))) -> new_gcd0Gcd'0(Pos(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS1, Zero)))) 248.39/165.12 (new_gcd0Gcd'1(False, Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Pos(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero))),new_gcd0Gcd'1(False, Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Pos(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero)))) 248.39/165.12 (new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Neg(Succ(Zero))),new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Neg(Succ(Zero)))) 248.39/165.12 (new_gcd0Gcd'1(False, Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Pos(Succ(Succ(x1))), Neg(new_primModNatS01(x0, x1, x0, x1))),new_gcd0Gcd'1(False, Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Pos(Succ(Succ(x1))), Neg(new_primModNatS01(x0, x1, x0, x1)))) 248.39/165.12 (new_gcd0Gcd'1(False, Pos(Succ(x0)), Neg(Zero)) -> new_gcd0Gcd'0(Pos(Succ(x0)), Neg(Zero)),new_gcd0Gcd'1(False, Pos(Succ(x0)), Neg(Zero)) -> new_gcd0Gcd'0(Pos(Succ(x0)), Neg(Zero))) 248.39/165.12 248.39/165.12 248.39/165.12 ---------------------------------------- 248.39/165.12 248.39/165.12 (81) 248.39/165.12 Obligation: 248.39/165.12 Q DP problem: 248.39/165.12 The TRS P consists of the following rules: 248.39/165.12 248.39/165.12 new_gcd0Gcd'1(False, Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 248.39/165.12 new_gcd0Gcd'0(Neg(x0), Pos(Succ(x1))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(x0, x1))), Pos(Succ(x1)), Neg(x0)) 248.39/165.12 new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 248.39/165.12 new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(x0, x1, x0, x1))), Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) 248.39/165.12 new_gcd0Gcd'1(False, Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x1))), Pos(new_primModNatS01(x0, x1, x0, x1))) 248.39/165.12 new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) 248.39/165.12 new_gcd0Gcd'0(Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 248.39/165.12 new_gcd0Gcd'1(False, Pos(Succ(Zero)), Neg(Succ(Zero))) -> new_gcd0Gcd'0(Pos(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS1, Zero))) 248.39/165.12 new_gcd0Gcd'1(False, Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Pos(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero))) 248.39/165.12 new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 248.39/165.12 new_gcd0Gcd'1(False, Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Pos(Succ(Succ(x1))), Neg(new_primModNatS01(x0, x1, x0, x1))) 248.39/165.12 new_gcd0Gcd'1(False, Pos(Succ(x0)), Neg(Zero)) -> new_gcd0Gcd'0(Pos(Succ(x0)), Neg(Zero)) 248.39/165.12 248.39/165.12 The TRS R consists of the following rules: 248.39/165.12 248.39/165.12 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 248.39/165.12 new_primModNatS1(Succ(Succ(vyv292000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv292000), Zero) 248.39/165.12 new_primModNatS1(Succ(Zero), Succ(vyv291000)) -> Succ(Zero) 248.39/165.12 new_primModNatS01(vyv330, vyv331, Zero, Zero) -> new_primModNatS02(vyv330, vyv331) 248.39/165.12 new_primModNatS02(vyv330, vyv331) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv330), Succ(vyv331)), Succ(vyv331)) 248.39/165.12 new_primModNatS1(Succ(Succ(vyv292000)), Succ(vyv291000)) -> new_primModNatS01(vyv292000, vyv291000, vyv292000, vyv291000) 248.39/165.12 new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Succ(vyv3330)) -> new_primModNatS01(vyv330, vyv331, vyv3320, vyv3330) 248.39/165.12 new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Zero) -> new_primModNatS02(vyv330, vyv331) 248.39/165.12 new_primModNatS1(Zero, vyv29100) -> Zero 248.39/165.12 new_esEs(Pos(Succ(vyv24100))) -> new_primEqInt(Pos(Succ(vyv24100))) 248.39/165.12 new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) 248.39/165.12 new_primEqInt(Pos(Zero)) -> True 248.39/165.12 new_primEqInt(Pos(Succ(vyv242000))) -> False 248.39/165.12 new_primMinusNatS2(Succ(vyv3100), Succ(vyv3110)) -> new_primMinusNatS2(vyv3100, vyv3110) 248.39/165.12 new_primModNatS01(vyv330, vyv331, Zero, Succ(vyv3330)) -> Succ(Succ(vyv330)) 248.39/165.12 new_primMinusNatS2(Zero, Zero) -> Zero 248.39/165.12 new_primMinusNatS2(Zero, Succ(vyv3110)) -> Zero 248.39/165.12 new_primMinusNatS2(Succ(vyv3100), Zero) -> Succ(vyv3100) 248.39/165.12 new_primMinusNatS1 -> Zero 248.39/165.12 new_primMinusNatS0(vyv270000) -> Succ(vyv270000) 248.39/165.12 new_esEs(Neg(Succ(vyv24100))) -> new_primEqInt(Neg(Succ(vyv24100))) 248.39/165.12 new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) 248.39/165.12 new_primEqInt(Neg(Zero)) -> True 248.39/165.12 new_primEqInt(Neg(Succ(vyv242000))) -> False 248.39/165.12 248.39/165.12 The set Q consists of the following terms: 248.39/165.12 248.39/165.12 new_primModNatS1(Succ(Zero), Succ(x0)) 248.39/165.12 new_primMinusNatS1 248.39/165.12 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 248.39/165.12 new_primEqInt(Pos(Zero)) 248.39/165.12 new_primModNatS02(x0, x1) 248.39/165.12 new_primModNatS01(x0, x1, Succ(x2), Zero) 248.39/165.12 new_primModNatS01(x0, x1, Zero, Succ(x2)) 248.39/165.12 new_primMinusNatS2(Zero, Zero) 248.39/165.12 new_esEs(Neg(Succ(x0))) 248.39/165.12 new_primMinusNatS2(Zero, Succ(x0)) 248.39/165.12 new_primModNatS1(Succ(Zero), Zero) 248.39/165.12 new_esEs(Pos(Zero)) 248.39/165.12 new_primEqInt(Neg(Succ(x0))) 248.39/165.12 new_primMinusNatS2(Succ(x0), Zero) 248.39/165.12 new_primEqInt(Neg(Zero)) 248.39/165.12 new_primMinusNatS0(x0) 248.39/165.12 new_primModNatS01(x0, x1, Zero, Zero) 248.39/165.12 new_primEqInt(Pos(Succ(x0))) 248.39/165.12 new_primMinusNatS2(Succ(x0), Succ(x1)) 248.39/165.12 new_primModNatS1(Succ(Succ(x0)), Zero) 248.39/165.12 new_primModNatS1(Zero, x0) 248.39/165.12 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 248.39/165.12 new_esEs(Neg(Zero)) 248.39/165.12 new_esEs(Pos(Succ(x0))) 248.39/165.12 248.39/165.12 We have to consider all minimal (P,Q,R)-chains. 248.39/165.12 ---------------------------------------- 248.39/165.12 248.39/165.12 (82) DependencyGraphProof (EQUIVALENT) 248.39/165.12 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. 248.39/165.12 ---------------------------------------- 248.39/165.12 248.39/165.12 (83) 248.39/165.12 Obligation: 248.39/165.12 Q DP problem: 248.39/165.12 The TRS P consists of the following rules: 248.39/165.12 248.39/165.12 new_gcd0Gcd'0(Neg(x0), Pos(Succ(x1))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(x0, x1))), Pos(Succ(x1)), Neg(x0)) 248.39/165.12 new_gcd0Gcd'1(False, Pos(Succ(Zero)), Neg(Succ(Zero))) -> new_gcd0Gcd'0(Pos(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS1, Zero))) 248.39/165.12 new_gcd0Gcd'0(Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 248.39/165.12 new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 248.39/165.12 new_gcd0Gcd'1(False, Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Pos(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero))) 248.39/165.12 new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 248.39/165.12 new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) 248.39/165.12 new_gcd0Gcd'1(False, Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 248.39/165.12 new_gcd0Gcd'1(False, Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Pos(Succ(Succ(x1))), Neg(new_primModNatS01(x0, x1, x0, x1))) 248.39/165.12 new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(x0, x1, x0, x1))), Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) 248.39/165.12 new_gcd0Gcd'1(False, Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x1))), Pos(new_primModNatS01(x0, x1, x0, x1))) 248.39/165.12 248.39/165.12 The TRS R consists of the following rules: 248.39/165.12 248.39/165.12 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 248.39/165.12 new_primModNatS1(Succ(Succ(vyv292000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv292000), Zero) 248.39/165.12 new_primModNatS1(Succ(Zero), Succ(vyv291000)) -> Succ(Zero) 248.39/165.12 new_primModNatS01(vyv330, vyv331, Zero, Zero) -> new_primModNatS02(vyv330, vyv331) 248.39/165.12 new_primModNatS02(vyv330, vyv331) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv330), Succ(vyv331)), Succ(vyv331)) 248.39/165.12 new_primModNatS1(Succ(Succ(vyv292000)), Succ(vyv291000)) -> new_primModNatS01(vyv292000, vyv291000, vyv292000, vyv291000) 248.39/165.12 new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Succ(vyv3330)) -> new_primModNatS01(vyv330, vyv331, vyv3320, vyv3330) 248.39/165.12 new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Zero) -> new_primModNatS02(vyv330, vyv331) 248.39/165.12 new_primModNatS1(Zero, vyv29100) -> Zero 248.39/165.12 new_esEs(Pos(Succ(vyv24100))) -> new_primEqInt(Pos(Succ(vyv24100))) 248.39/165.12 new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) 248.39/165.12 new_primEqInt(Pos(Zero)) -> True 248.39/165.12 new_primEqInt(Pos(Succ(vyv242000))) -> False 248.39/165.12 new_primMinusNatS2(Succ(vyv3100), Succ(vyv3110)) -> new_primMinusNatS2(vyv3100, vyv3110) 248.39/165.12 new_primModNatS01(vyv330, vyv331, Zero, Succ(vyv3330)) -> Succ(Succ(vyv330)) 248.39/165.12 new_primMinusNatS2(Zero, Zero) -> Zero 248.39/165.12 new_primMinusNatS2(Zero, Succ(vyv3110)) -> Zero 248.39/165.12 new_primMinusNatS2(Succ(vyv3100), Zero) -> Succ(vyv3100) 248.39/165.12 new_primMinusNatS1 -> Zero 248.39/165.12 new_primMinusNatS0(vyv270000) -> Succ(vyv270000) 248.39/165.12 new_esEs(Neg(Succ(vyv24100))) -> new_primEqInt(Neg(Succ(vyv24100))) 248.39/165.12 new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) 248.39/165.12 new_primEqInt(Neg(Zero)) -> True 248.39/165.12 new_primEqInt(Neg(Succ(vyv242000))) -> False 248.39/165.12 248.39/165.12 The set Q consists of the following terms: 248.39/165.12 248.39/165.12 new_primModNatS1(Succ(Zero), Succ(x0)) 248.39/165.12 new_primMinusNatS1 248.39/165.12 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 248.39/165.12 new_primEqInt(Pos(Zero)) 248.39/165.12 new_primModNatS02(x0, x1) 248.39/165.12 new_primModNatS01(x0, x1, Succ(x2), Zero) 248.39/165.12 new_primModNatS01(x0, x1, Zero, Succ(x2)) 248.39/165.12 new_primMinusNatS2(Zero, Zero) 248.39/165.12 new_esEs(Neg(Succ(x0))) 248.39/165.12 new_primMinusNatS2(Zero, Succ(x0)) 248.39/165.12 new_primModNatS1(Succ(Zero), Zero) 248.39/165.12 new_esEs(Pos(Zero)) 248.39/165.12 new_primEqInt(Neg(Succ(x0))) 248.39/165.12 new_primMinusNatS2(Succ(x0), Zero) 248.39/165.12 new_primEqInt(Neg(Zero)) 248.39/165.12 new_primMinusNatS0(x0) 248.39/165.12 new_primModNatS01(x0, x1, Zero, Zero) 248.39/165.12 new_primEqInt(Pos(Succ(x0))) 248.39/165.12 new_primMinusNatS2(Succ(x0), Succ(x1)) 248.39/165.12 new_primModNatS1(Succ(Succ(x0)), Zero) 248.39/165.12 new_primModNatS1(Zero, x0) 248.39/165.12 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 248.39/165.12 new_esEs(Neg(Zero)) 248.39/165.12 new_esEs(Pos(Succ(x0))) 248.39/165.12 248.39/165.12 We have to consider all minimal (P,Q,R)-chains. 248.39/165.12 ---------------------------------------- 248.39/165.12 248.39/165.12 (84) TransformationProof (EQUIVALENT) 248.39/165.12 By rewriting [LPAR04] the rule new_gcd0Gcd'1(False, Pos(Succ(Zero)), Neg(Succ(Zero))) -> new_gcd0Gcd'0(Pos(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS1, Zero))) at position [1,0,0] we obtained the following new rules [LPAR04]: 248.39/165.12 248.39/165.12 (new_gcd0Gcd'1(False, Pos(Succ(Zero)), Neg(Succ(Zero))) -> new_gcd0Gcd'0(Pos(Succ(Zero)), Neg(new_primModNatS1(Zero, Zero))),new_gcd0Gcd'1(False, Pos(Succ(Zero)), Neg(Succ(Zero))) -> new_gcd0Gcd'0(Pos(Succ(Zero)), Neg(new_primModNatS1(Zero, Zero)))) 248.39/165.12 248.39/165.12 248.39/165.12 ---------------------------------------- 248.39/165.12 248.39/165.12 (85) 248.39/165.12 Obligation: 248.39/165.12 Q DP problem: 248.39/165.12 The TRS P consists of the following rules: 248.39/165.12 248.39/165.12 new_gcd0Gcd'0(Neg(x0), Pos(Succ(x1))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(x0, x1))), Pos(Succ(x1)), Neg(x0)) 248.39/165.12 new_gcd0Gcd'0(Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 248.39/165.12 new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 248.39/165.12 new_gcd0Gcd'1(False, Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Pos(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero))) 248.39/165.12 new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 248.39/165.12 new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) 248.39/165.12 new_gcd0Gcd'1(False, Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 248.39/165.12 new_gcd0Gcd'1(False, Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Pos(Succ(Succ(x1))), Neg(new_primModNatS01(x0, x1, x0, x1))) 248.39/165.12 new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(x0, x1, x0, x1))), Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) 248.39/165.12 new_gcd0Gcd'1(False, Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x1))), Pos(new_primModNatS01(x0, x1, x0, x1))) 248.39/165.12 new_gcd0Gcd'1(False, Pos(Succ(Zero)), Neg(Succ(Zero))) -> new_gcd0Gcd'0(Pos(Succ(Zero)), Neg(new_primModNatS1(Zero, Zero))) 248.39/165.12 248.39/165.12 The TRS R consists of the following rules: 248.39/165.12 248.39/165.12 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 248.39/165.12 new_primModNatS1(Succ(Succ(vyv292000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv292000), Zero) 248.39/165.12 new_primModNatS1(Succ(Zero), Succ(vyv291000)) -> Succ(Zero) 248.39/165.12 new_primModNatS01(vyv330, vyv331, Zero, Zero) -> new_primModNatS02(vyv330, vyv331) 248.39/165.12 new_primModNatS02(vyv330, vyv331) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv330), Succ(vyv331)), Succ(vyv331)) 248.39/165.12 new_primModNatS1(Succ(Succ(vyv292000)), Succ(vyv291000)) -> new_primModNatS01(vyv292000, vyv291000, vyv292000, vyv291000) 248.39/165.12 new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Succ(vyv3330)) -> new_primModNatS01(vyv330, vyv331, vyv3320, vyv3330) 248.39/165.12 new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Zero) -> new_primModNatS02(vyv330, vyv331) 248.39/165.12 new_primModNatS1(Zero, vyv29100) -> Zero 248.39/165.12 new_esEs(Pos(Succ(vyv24100))) -> new_primEqInt(Pos(Succ(vyv24100))) 248.39/165.12 new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) 248.39/165.12 new_primEqInt(Pos(Zero)) -> True 248.39/165.12 new_primEqInt(Pos(Succ(vyv242000))) -> False 248.39/165.12 new_primMinusNatS2(Succ(vyv3100), Succ(vyv3110)) -> new_primMinusNatS2(vyv3100, vyv3110) 248.39/165.12 new_primModNatS01(vyv330, vyv331, Zero, Succ(vyv3330)) -> Succ(Succ(vyv330)) 248.39/165.12 new_primMinusNatS2(Zero, Zero) -> Zero 248.39/165.12 new_primMinusNatS2(Zero, Succ(vyv3110)) -> Zero 248.39/165.12 new_primMinusNatS2(Succ(vyv3100), Zero) -> Succ(vyv3100) 248.39/165.12 new_primMinusNatS1 -> Zero 248.39/165.12 new_primMinusNatS0(vyv270000) -> Succ(vyv270000) 248.39/165.12 new_esEs(Neg(Succ(vyv24100))) -> new_primEqInt(Neg(Succ(vyv24100))) 248.39/165.12 new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) 248.39/165.12 new_primEqInt(Neg(Zero)) -> True 248.39/165.12 new_primEqInt(Neg(Succ(vyv242000))) -> False 248.39/165.12 248.39/165.12 The set Q consists of the following terms: 248.39/165.12 248.39/165.12 new_primModNatS1(Succ(Zero), Succ(x0)) 248.39/165.12 new_primMinusNatS1 248.39/165.12 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 248.39/165.12 new_primEqInt(Pos(Zero)) 248.39/165.12 new_primModNatS02(x0, x1) 248.39/165.12 new_primModNatS01(x0, x1, Succ(x2), Zero) 248.39/165.12 new_primModNatS01(x0, x1, Zero, Succ(x2)) 248.39/165.12 new_primMinusNatS2(Zero, Zero) 248.39/165.12 new_esEs(Neg(Succ(x0))) 248.39/165.12 new_primMinusNatS2(Zero, Succ(x0)) 248.39/165.12 new_primModNatS1(Succ(Zero), Zero) 248.39/165.12 new_esEs(Pos(Zero)) 248.39/165.12 new_primEqInt(Neg(Succ(x0))) 248.39/165.12 new_primMinusNatS2(Succ(x0), Zero) 248.39/165.12 new_primEqInt(Neg(Zero)) 248.39/165.12 new_primMinusNatS0(x0) 248.39/165.12 new_primModNatS01(x0, x1, Zero, Zero) 248.39/165.12 new_primEqInt(Pos(Succ(x0))) 248.39/165.12 new_primMinusNatS2(Succ(x0), Succ(x1)) 248.39/165.12 new_primModNatS1(Succ(Succ(x0)), Zero) 248.39/165.12 new_primModNatS1(Zero, x0) 248.39/165.12 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 248.39/165.12 new_esEs(Neg(Zero)) 248.39/165.12 new_esEs(Pos(Succ(x0))) 248.39/165.12 248.39/165.12 We have to consider all minimal (P,Q,R)-chains. 248.39/165.12 ---------------------------------------- 248.39/165.12 248.39/165.12 (86) DependencyGraphProof (EQUIVALENT) 248.39/165.12 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. 248.39/165.12 ---------------------------------------- 248.39/165.12 248.39/165.12 (87) 248.39/165.12 Obligation: 248.39/165.12 Q DP problem: 248.39/165.12 The TRS P consists of the following rules: 248.39/165.12 248.39/165.12 new_gcd0Gcd'1(False, Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Pos(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero))) 248.39/165.12 new_gcd0Gcd'0(Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 248.39/165.12 new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 248.39/165.12 new_gcd0Gcd'0(Neg(x0), Pos(Succ(x1))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(x0, x1))), Pos(Succ(x1)), Neg(x0)) 248.39/165.12 new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 248.39/165.12 new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) 248.39/165.12 new_gcd0Gcd'1(False, Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 248.39/165.12 new_gcd0Gcd'1(False, Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Pos(Succ(Succ(x1))), Neg(new_primModNatS01(x0, x1, x0, x1))) 248.39/165.12 new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(x0, x1, x0, x1))), Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) 248.39/165.12 new_gcd0Gcd'1(False, Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x1))), Pos(new_primModNatS01(x0, x1, x0, x1))) 248.39/165.12 248.39/165.12 The TRS R consists of the following rules: 248.39/165.12 248.39/165.12 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 248.39/165.12 new_primModNatS1(Succ(Succ(vyv292000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv292000), Zero) 248.39/165.12 new_primModNatS1(Succ(Zero), Succ(vyv291000)) -> Succ(Zero) 248.39/165.12 new_primModNatS01(vyv330, vyv331, Zero, Zero) -> new_primModNatS02(vyv330, vyv331) 248.39/165.12 new_primModNatS02(vyv330, vyv331) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv330), Succ(vyv331)), Succ(vyv331)) 248.39/165.12 new_primModNatS1(Succ(Succ(vyv292000)), Succ(vyv291000)) -> new_primModNatS01(vyv292000, vyv291000, vyv292000, vyv291000) 248.39/165.12 new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Succ(vyv3330)) -> new_primModNatS01(vyv330, vyv331, vyv3320, vyv3330) 248.39/165.12 new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Zero) -> new_primModNatS02(vyv330, vyv331) 248.39/165.12 new_primModNatS1(Zero, vyv29100) -> Zero 248.39/165.12 new_esEs(Pos(Succ(vyv24100))) -> new_primEqInt(Pos(Succ(vyv24100))) 248.39/165.12 new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) 248.39/165.12 new_primEqInt(Pos(Zero)) -> True 248.39/165.12 new_primEqInt(Pos(Succ(vyv242000))) -> False 248.39/165.12 new_primMinusNatS2(Succ(vyv3100), Succ(vyv3110)) -> new_primMinusNatS2(vyv3100, vyv3110) 248.39/165.12 new_primModNatS01(vyv330, vyv331, Zero, Succ(vyv3330)) -> Succ(Succ(vyv330)) 248.39/165.12 new_primMinusNatS2(Zero, Zero) -> Zero 248.39/165.12 new_primMinusNatS2(Zero, Succ(vyv3110)) -> Zero 248.39/165.12 new_primMinusNatS2(Succ(vyv3100), Zero) -> Succ(vyv3100) 248.39/165.12 new_primMinusNatS1 -> Zero 248.39/165.12 new_primMinusNatS0(vyv270000) -> Succ(vyv270000) 248.39/165.12 new_esEs(Neg(Succ(vyv24100))) -> new_primEqInt(Neg(Succ(vyv24100))) 248.39/165.12 new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) 248.39/165.12 new_primEqInt(Neg(Zero)) -> True 248.39/165.12 new_primEqInt(Neg(Succ(vyv242000))) -> False 248.39/165.12 248.39/165.12 The set Q consists of the following terms: 248.39/165.12 248.39/165.12 new_primModNatS1(Succ(Zero), Succ(x0)) 248.39/165.12 new_primMinusNatS1 248.39/165.12 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 248.39/165.12 new_primEqInt(Pos(Zero)) 248.39/165.12 new_primModNatS02(x0, x1) 248.39/165.12 new_primModNatS01(x0, x1, Succ(x2), Zero) 248.39/165.12 new_primModNatS01(x0, x1, Zero, Succ(x2)) 248.39/165.12 new_primMinusNatS2(Zero, Zero) 248.39/165.12 new_esEs(Neg(Succ(x0))) 248.39/165.12 new_primMinusNatS2(Zero, Succ(x0)) 248.39/165.12 new_primModNatS1(Succ(Zero), Zero) 248.39/165.12 new_esEs(Pos(Zero)) 248.39/165.12 new_primEqInt(Neg(Succ(x0))) 248.39/165.12 new_primMinusNatS2(Succ(x0), Zero) 248.39/165.12 new_primEqInt(Neg(Zero)) 248.39/165.12 new_primMinusNatS0(x0) 248.39/165.12 new_primModNatS01(x0, x1, Zero, Zero) 248.39/165.12 new_primEqInt(Pos(Succ(x0))) 248.39/165.12 new_primMinusNatS2(Succ(x0), Succ(x1)) 248.39/165.12 new_primModNatS1(Succ(Succ(x0)), Zero) 248.39/165.12 new_primModNatS1(Zero, x0) 248.39/165.12 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 248.39/165.12 new_esEs(Neg(Zero)) 248.39/165.12 new_esEs(Pos(Succ(x0))) 248.39/165.12 248.39/165.12 We have to consider all minimal (P,Q,R)-chains. 248.39/165.12 ---------------------------------------- 248.39/165.12 248.39/165.12 (88) TransformationProof (EQUIVALENT) 248.39/165.12 By rewriting [LPAR04] the rule new_gcd0Gcd'1(False, Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Pos(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero))) at position [1,0,0] we obtained the following new rules [LPAR04]: 248.39/165.12 248.39/165.12 (new_gcd0Gcd'1(False, Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))),new_gcd0Gcd'1(False, Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero)))) 248.39/165.12 248.39/165.12 248.39/165.12 ---------------------------------------- 248.39/165.12 248.39/165.12 (89) 248.39/165.12 Obligation: 248.39/165.12 Q DP problem: 248.39/165.12 The TRS P consists of the following rules: 248.39/165.12 248.39/165.12 new_gcd0Gcd'0(Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 248.39/165.12 new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 248.39/165.12 new_gcd0Gcd'0(Neg(x0), Pos(Succ(x1))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(x0, x1))), Pos(Succ(x1)), Neg(x0)) 248.39/165.12 new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 248.39/165.12 new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) 248.39/165.12 new_gcd0Gcd'1(False, Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 248.39/165.12 new_gcd0Gcd'1(False, Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Pos(Succ(Succ(x1))), Neg(new_primModNatS01(x0, x1, x0, x1))) 248.39/165.12 new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(x0, x1, x0, x1))), Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) 248.39/165.12 new_gcd0Gcd'1(False, Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x1))), Pos(new_primModNatS01(x0, x1, x0, x1))) 248.39/165.12 new_gcd0Gcd'1(False, Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 248.39/165.12 248.39/165.12 The TRS R consists of the following rules: 248.39/165.12 248.39/165.12 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 248.39/165.12 new_primModNatS1(Succ(Succ(vyv292000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv292000), Zero) 248.39/165.12 new_primModNatS1(Succ(Zero), Succ(vyv291000)) -> Succ(Zero) 248.39/165.12 new_primModNatS01(vyv330, vyv331, Zero, Zero) -> new_primModNatS02(vyv330, vyv331) 248.39/165.12 new_primModNatS02(vyv330, vyv331) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv330), Succ(vyv331)), Succ(vyv331)) 248.39/165.12 new_primModNatS1(Succ(Succ(vyv292000)), Succ(vyv291000)) -> new_primModNatS01(vyv292000, vyv291000, vyv292000, vyv291000) 248.39/165.12 new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Succ(vyv3330)) -> new_primModNatS01(vyv330, vyv331, vyv3320, vyv3330) 248.39/165.12 new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Zero) -> new_primModNatS02(vyv330, vyv331) 248.39/165.12 new_primModNatS1(Zero, vyv29100) -> Zero 248.39/165.12 new_esEs(Pos(Succ(vyv24100))) -> new_primEqInt(Pos(Succ(vyv24100))) 248.39/165.12 new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) 248.39/165.12 new_primEqInt(Pos(Zero)) -> True 248.39/165.12 new_primEqInt(Pos(Succ(vyv242000))) -> False 248.39/165.12 new_primMinusNatS2(Succ(vyv3100), Succ(vyv3110)) -> new_primMinusNatS2(vyv3100, vyv3110) 248.39/165.12 new_primModNatS01(vyv330, vyv331, Zero, Succ(vyv3330)) -> Succ(Succ(vyv330)) 248.39/165.12 new_primMinusNatS2(Zero, Zero) -> Zero 248.39/165.12 new_primMinusNatS2(Zero, Succ(vyv3110)) -> Zero 248.39/165.12 new_primMinusNatS2(Succ(vyv3100), Zero) -> Succ(vyv3100) 248.39/165.12 new_primMinusNatS1 -> Zero 248.39/165.12 new_primMinusNatS0(vyv270000) -> Succ(vyv270000) 248.39/165.12 new_esEs(Neg(Succ(vyv24100))) -> new_primEqInt(Neg(Succ(vyv24100))) 248.39/165.12 new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) 248.39/165.12 new_primEqInt(Neg(Zero)) -> True 248.39/165.12 new_primEqInt(Neg(Succ(vyv242000))) -> False 248.39/165.12 248.39/165.12 The set Q consists of the following terms: 248.39/165.12 248.39/165.12 new_primModNatS1(Succ(Zero), Succ(x0)) 248.39/165.12 new_primMinusNatS1 248.39/165.12 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 248.39/165.12 new_primEqInt(Pos(Zero)) 248.39/165.12 new_primModNatS02(x0, x1) 248.39/165.12 new_primModNatS01(x0, x1, Succ(x2), Zero) 248.39/165.12 new_primModNatS01(x0, x1, Zero, Succ(x2)) 248.39/165.12 new_primMinusNatS2(Zero, Zero) 248.39/165.12 new_esEs(Neg(Succ(x0))) 248.39/165.12 new_primMinusNatS2(Zero, Succ(x0)) 248.39/165.12 new_primModNatS1(Succ(Zero), Zero) 248.39/165.12 new_esEs(Pos(Zero)) 248.39/165.12 new_primEqInt(Neg(Succ(x0))) 248.39/165.12 new_primMinusNatS2(Succ(x0), Zero) 248.39/165.12 new_primEqInt(Neg(Zero)) 248.39/165.12 new_primMinusNatS0(x0) 248.39/165.12 new_primModNatS01(x0, x1, Zero, Zero) 248.39/165.12 new_primEqInt(Pos(Succ(x0))) 248.39/165.12 new_primMinusNatS2(Succ(x0), Succ(x1)) 248.39/165.12 new_primModNatS1(Succ(Succ(x0)), Zero) 248.39/165.12 new_primModNatS1(Zero, x0) 248.39/165.12 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 248.39/165.12 new_esEs(Neg(Zero)) 248.39/165.12 new_esEs(Pos(Succ(x0))) 248.39/165.12 248.39/165.12 We have to consider all minimal (P,Q,R)-chains. 248.39/165.12 ---------------------------------------- 248.39/165.12 248.39/165.12 (90) TransformationProof (EQUIVALENT) 248.39/165.12 By narrowing [LPAR04] the rule new_gcd0Gcd'0(Neg(x0), Pos(Succ(x1))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(x0, x1))), Pos(Succ(x1)), Neg(x0)) at position [0] we obtained the following new rules [LPAR04]: 248.39/165.12 248.39/165.12 (new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS1, Zero))), Pos(Succ(Zero)), Neg(Succ(Zero))),new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS1, Zero))), Pos(Succ(Zero)), Neg(Succ(Zero)))) 248.39/165.12 (new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))),new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero))), Pos(Succ(Zero)), Neg(Succ(Succ(x0))))) 248.39/165.12 (new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'1(new_esEs(Neg(Succ(Zero))), Pos(Succ(Succ(x0))), Neg(Succ(Zero))),new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'1(new_esEs(Neg(Succ(Zero))), Pos(Succ(Succ(x0))), Neg(Succ(Zero)))) 248.39/165.12 (new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(x0, x1, x0, x1))), Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0)))),new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(x0, x1, x0, x1))), Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0))))) 248.39/165.12 (new_gcd0Gcd'0(Neg(Zero), Pos(Succ(x0))) -> new_gcd0Gcd'1(new_esEs(Neg(Zero)), Pos(Succ(x0)), Neg(Zero)),new_gcd0Gcd'0(Neg(Zero), Pos(Succ(x0))) -> new_gcd0Gcd'1(new_esEs(Neg(Zero)), Pos(Succ(x0)), Neg(Zero))) 248.39/165.12 248.39/165.12 248.39/165.12 ---------------------------------------- 248.39/165.12 248.39/165.12 (91) 248.39/165.12 Obligation: 248.39/165.12 Q DP problem: 248.39/165.12 The TRS P consists of the following rules: 248.39/165.12 248.39/165.12 new_gcd0Gcd'0(Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 248.39/165.12 new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 248.39/165.12 new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 248.39/165.12 new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) 248.39/165.12 new_gcd0Gcd'1(False, Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 248.39/165.12 new_gcd0Gcd'1(False, Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Pos(Succ(Succ(x1))), Neg(new_primModNatS01(x0, x1, x0, x1))) 248.39/165.12 new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(x0, x1, x0, x1))), Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) 248.39/165.12 new_gcd0Gcd'1(False, Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x1))), Pos(new_primModNatS01(x0, x1, x0, x1))) 248.39/165.12 new_gcd0Gcd'1(False, Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 248.39/165.12 new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS1, Zero))), Pos(Succ(Zero)), Neg(Succ(Zero))) 248.39/165.12 new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) 248.39/165.12 new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'1(new_esEs(Neg(Succ(Zero))), Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 248.39/165.12 new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(x0, x1, x0, x1))), Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) 248.39/165.12 new_gcd0Gcd'0(Neg(Zero), Pos(Succ(x0))) -> new_gcd0Gcd'1(new_esEs(Neg(Zero)), Pos(Succ(x0)), Neg(Zero)) 248.39/165.12 248.39/165.12 The TRS R consists of the following rules: 248.39/165.12 248.39/165.12 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 248.39/165.12 new_primModNatS1(Succ(Succ(vyv292000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv292000), Zero) 248.39/165.12 new_primModNatS1(Succ(Zero), Succ(vyv291000)) -> Succ(Zero) 248.39/165.12 new_primModNatS01(vyv330, vyv331, Zero, Zero) -> new_primModNatS02(vyv330, vyv331) 248.39/165.12 new_primModNatS02(vyv330, vyv331) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv330), Succ(vyv331)), Succ(vyv331)) 248.39/165.12 new_primModNatS1(Succ(Succ(vyv292000)), Succ(vyv291000)) -> new_primModNatS01(vyv292000, vyv291000, vyv292000, vyv291000) 248.39/165.12 new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Succ(vyv3330)) -> new_primModNatS01(vyv330, vyv331, vyv3320, vyv3330) 248.39/165.12 new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Zero) -> new_primModNatS02(vyv330, vyv331) 248.39/165.12 new_primModNatS1(Zero, vyv29100) -> Zero 248.39/165.12 new_esEs(Pos(Succ(vyv24100))) -> new_primEqInt(Pos(Succ(vyv24100))) 248.39/165.12 new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) 248.39/165.12 new_primEqInt(Pos(Zero)) -> True 248.39/165.12 new_primEqInt(Pos(Succ(vyv242000))) -> False 248.39/165.12 new_primMinusNatS2(Succ(vyv3100), Succ(vyv3110)) -> new_primMinusNatS2(vyv3100, vyv3110) 248.39/165.12 new_primModNatS01(vyv330, vyv331, Zero, Succ(vyv3330)) -> Succ(Succ(vyv330)) 248.39/165.12 new_primMinusNatS2(Zero, Zero) -> Zero 248.39/165.12 new_primMinusNatS2(Zero, Succ(vyv3110)) -> Zero 248.39/165.12 new_primMinusNatS2(Succ(vyv3100), Zero) -> Succ(vyv3100) 248.39/165.12 new_primMinusNatS1 -> Zero 248.39/165.12 new_primMinusNatS0(vyv270000) -> Succ(vyv270000) 248.39/165.12 new_esEs(Neg(Succ(vyv24100))) -> new_primEqInt(Neg(Succ(vyv24100))) 248.39/165.12 new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) 248.39/165.12 new_primEqInt(Neg(Zero)) -> True 248.39/165.12 new_primEqInt(Neg(Succ(vyv242000))) -> False 248.39/165.12 248.39/165.12 The set Q consists of the following terms: 248.39/165.12 248.39/165.12 new_primModNatS1(Succ(Zero), Succ(x0)) 248.39/165.12 new_primMinusNatS1 248.39/165.12 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 248.39/165.12 new_primEqInt(Pos(Zero)) 248.39/165.12 new_primModNatS02(x0, x1) 248.39/165.12 new_primModNatS01(x0, x1, Succ(x2), Zero) 248.39/165.12 new_primModNatS01(x0, x1, Zero, Succ(x2)) 248.39/165.12 new_primMinusNatS2(Zero, Zero) 248.39/165.12 new_esEs(Neg(Succ(x0))) 248.39/165.12 new_primMinusNatS2(Zero, Succ(x0)) 248.39/165.12 new_primModNatS1(Succ(Zero), Zero) 248.39/165.12 new_esEs(Pos(Zero)) 248.39/165.12 new_primEqInt(Neg(Succ(x0))) 248.39/165.12 new_primMinusNatS2(Succ(x0), Zero) 248.39/165.12 new_primEqInt(Neg(Zero)) 248.39/165.12 new_primMinusNatS0(x0) 248.39/165.12 new_primModNatS01(x0, x1, Zero, Zero) 248.39/165.12 new_primEqInt(Pos(Succ(x0))) 248.39/165.12 new_primMinusNatS2(Succ(x0), Succ(x1)) 248.39/165.12 new_primModNatS1(Succ(Succ(x0)), Zero) 248.39/165.12 new_primModNatS1(Zero, x0) 248.39/165.12 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 248.39/165.12 new_esEs(Neg(Zero)) 248.39/165.12 new_esEs(Pos(Succ(x0))) 248.39/165.12 248.39/165.12 We have to consider all minimal (P,Q,R)-chains. 248.39/165.12 ---------------------------------------- 248.39/165.12 248.39/165.12 (92) DependencyGraphProof (EQUIVALENT) 248.39/165.12 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 3 SCCs with 2 less nodes. 248.39/165.12 ---------------------------------------- 248.39/165.12 248.39/165.12 (93) 248.39/165.12 Complex Obligation (AND) 248.39/165.12 248.39/165.12 ---------------------------------------- 248.39/165.12 248.39/165.12 (94) 248.39/165.12 Obligation: 248.39/165.12 Q DP problem: 248.39/165.12 The TRS P consists of the following rules: 248.39/165.12 248.39/165.12 new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) 248.39/165.12 new_gcd0Gcd'1(False, Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 248.39/165.12 new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'1(new_esEs(Neg(Succ(Zero))), Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 248.39/165.12 new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 248.39/165.12 248.39/165.12 The TRS R consists of the following rules: 248.39/165.12 248.39/165.12 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 248.39/165.12 new_primModNatS1(Succ(Succ(vyv292000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv292000), Zero) 248.39/165.12 new_primModNatS1(Succ(Zero), Succ(vyv291000)) -> Succ(Zero) 248.39/165.12 new_primModNatS01(vyv330, vyv331, Zero, Zero) -> new_primModNatS02(vyv330, vyv331) 248.39/165.12 new_primModNatS02(vyv330, vyv331) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv330), Succ(vyv331)), Succ(vyv331)) 248.39/165.12 new_primModNatS1(Succ(Succ(vyv292000)), Succ(vyv291000)) -> new_primModNatS01(vyv292000, vyv291000, vyv292000, vyv291000) 248.39/165.12 new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Succ(vyv3330)) -> new_primModNatS01(vyv330, vyv331, vyv3320, vyv3330) 248.39/165.12 new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Zero) -> new_primModNatS02(vyv330, vyv331) 248.39/165.12 new_primModNatS1(Zero, vyv29100) -> Zero 248.39/165.12 new_esEs(Pos(Succ(vyv24100))) -> new_primEqInt(Pos(Succ(vyv24100))) 248.39/165.12 new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) 248.39/165.12 new_primEqInt(Pos(Zero)) -> True 248.39/165.12 new_primEqInt(Pos(Succ(vyv242000))) -> False 248.39/165.12 new_primMinusNatS2(Succ(vyv3100), Succ(vyv3110)) -> new_primMinusNatS2(vyv3100, vyv3110) 248.39/165.12 new_primModNatS01(vyv330, vyv331, Zero, Succ(vyv3330)) -> Succ(Succ(vyv330)) 248.39/165.12 new_primMinusNatS2(Zero, Zero) -> Zero 248.39/165.12 new_primMinusNatS2(Zero, Succ(vyv3110)) -> Zero 248.39/165.12 new_primMinusNatS2(Succ(vyv3100), Zero) -> Succ(vyv3100) 248.39/165.12 new_primMinusNatS1 -> Zero 248.39/165.12 new_primMinusNatS0(vyv270000) -> Succ(vyv270000) 248.39/165.12 new_esEs(Neg(Succ(vyv24100))) -> new_primEqInt(Neg(Succ(vyv24100))) 248.39/165.12 new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) 248.39/165.12 new_primEqInt(Neg(Zero)) -> True 248.39/165.12 new_primEqInt(Neg(Succ(vyv242000))) -> False 248.39/165.12 248.39/165.12 The set Q consists of the following terms: 248.39/165.12 248.39/165.12 new_primModNatS1(Succ(Zero), Succ(x0)) 248.39/165.12 new_primMinusNatS1 248.39/165.12 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 248.39/165.12 new_primEqInt(Pos(Zero)) 248.39/165.12 new_primModNatS02(x0, x1) 248.39/165.12 new_primModNatS01(x0, x1, Succ(x2), Zero) 248.39/165.12 new_primModNatS01(x0, x1, Zero, Succ(x2)) 248.39/165.12 new_primMinusNatS2(Zero, Zero) 248.39/165.12 new_esEs(Neg(Succ(x0))) 248.39/165.12 new_primMinusNatS2(Zero, Succ(x0)) 248.39/165.12 new_primModNatS1(Succ(Zero), Zero) 248.39/165.12 new_esEs(Pos(Zero)) 248.39/165.12 new_primEqInt(Neg(Succ(x0))) 248.39/165.12 new_primMinusNatS2(Succ(x0), Zero) 248.39/165.12 new_primEqInt(Neg(Zero)) 248.39/165.12 new_primMinusNatS0(x0) 248.39/165.12 new_primModNatS01(x0, x1, Zero, Zero) 248.39/165.12 new_primEqInt(Pos(Succ(x0))) 248.39/165.12 new_primMinusNatS2(Succ(x0), Succ(x1)) 248.39/165.12 new_primModNatS1(Succ(Succ(x0)), Zero) 248.39/165.12 new_primModNatS1(Zero, x0) 248.39/165.12 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 248.39/165.12 new_esEs(Neg(Zero)) 248.39/165.12 new_esEs(Pos(Succ(x0))) 248.39/165.12 248.39/165.12 We have to consider all minimal (P,Q,R)-chains. 248.39/165.12 ---------------------------------------- 248.39/165.12 248.39/165.12 (95) UsableRulesProof (EQUIVALENT) 248.39/165.12 As all Q-normal forms are R-normal forms we are in the innermost case. Hence, by the usable rules processor [LPAR04] we can delete all non-usable rules [FROCOS05] from R. 248.39/165.12 ---------------------------------------- 248.39/165.12 248.39/165.12 (96) 248.39/165.12 Obligation: 248.39/165.12 Q DP problem: 248.39/165.12 The TRS P consists of the following rules: 248.39/165.12 248.39/165.12 new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) 248.39/165.12 new_gcd0Gcd'1(False, Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 248.39/165.12 new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'1(new_esEs(Neg(Succ(Zero))), Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 248.39/165.12 new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 248.39/165.12 248.39/165.12 The TRS R consists of the following rules: 248.39/165.12 248.39/165.12 new_esEs(Neg(Succ(vyv24100))) -> new_primEqInt(Neg(Succ(vyv24100))) 248.39/165.12 new_primEqInt(Neg(Succ(vyv242000))) -> False 248.39/165.12 new_primModNatS1(Succ(Succ(vyv292000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv292000), Zero) 248.39/165.12 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 248.39/165.12 new_primMinusNatS0(vyv270000) -> Succ(vyv270000) 248.39/165.12 new_primModNatS1(Zero, vyv29100) -> Zero 248.39/165.12 new_primMinusNatS1 -> Zero 248.39/165.12 new_esEs(Pos(Succ(vyv24100))) -> new_primEqInt(Pos(Succ(vyv24100))) 248.39/165.12 new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) 248.39/165.12 new_primEqInt(Pos(Zero)) -> True 248.39/165.12 new_primEqInt(Pos(Succ(vyv242000))) -> False 248.39/165.12 248.39/165.12 The set Q consists of the following terms: 248.39/165.12 248.39/165.12 new_primModNatS1(Succ(Zero), Succ(x0)) 248.39/165.12 new_primMinusNatS1 248.39/165.12 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 248.39/165.12 new_primEqInt(Pos(Zero)) 248.39/165.12 new_primModNatS02(x0, x1) 248.39/165.12 new_primModNatS01(x0, x1, Succ(x2), Zero) 248.39/165.12 new_primModNatS01(x0, x1, Zero, Succ(x2)) 248.39/165.12 new_primMinusNatS2(Zero, Zero) 248.39/165.12 new_esEs(Neg(Succ(x0))) 248.39/165.12 new_primMinusNatS2(Zero, Succ(x0)) 248.39/165.12 new_primModNatS1(Succ(Zero), Zero) 248.39/165.12 new_esEs(Pos(Zero)) 248.39/165.12 new_primEqInt(Neg(Succ(x0))) 248.39/165.12 new_primMinusNatS2(Succ(x0), Zero) 248.39/165.12 new_primEqInt(Neg(Zero)) 248.39/165.12 new_primMinusNatS0(x0) 248.39/165.12 new_primModNatS01(x0, x1, Zero, Zero) 248.39/165.12 new_primEqInt(Pos(Succ(x0))) 248.39/165.12 new_primMinusNatS2(Succ(x0), Succ(x1)) 248.39/165.12 new_primModNatS1(Succ(Succ(x0)), Zero) 248.39/165.12 new_primModNatS1(Zero, x0) 248.39/165.12 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 248.39/165.12 new_esEs(Neg(Zero)) 248.39/165.12 new_esEs(Pos(Succ(x0))) 248.39/165.12 248.39/165.12 We have to consider all minimal (P,Q,R)-chains. 248.39/165.12 ---------------------------------------- 248.39/165.12 248.39/165.12 (97) QReductionProof (EQUIVALENT) 248.39/165.12 We deleted the following terms from Q as each root-symbol of these terms does neither occur in P nor in R.[THIEMANN]. 248.39/165.12 248.39/165.12 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 248.39/165.12 new_primModNatS02(x0, x1) 248.39/165.12 new_primModNatS01(x0, x1, Succ(x2), Zero) 248.39/165.12 new_primModNatS01(x0, x1, Zero, Succ(x2)) 248.39/165.12 new_primMinusNatS2(Zero, Zero) 248.39/165.12 new_primMinusNatS2(Zero, Succ(x0)) 248.39/165.12 new_primMinusNatS2(Succ(x0), Zero) 248.39/165.12 new_primModNatS01(x0, x1, Zero, Zero) 248.39/165.12 new_primMinusNatS2(Succ(x0), Succ(x1)) 248.39/165.12 248.39/165.12 248.39/165.12 ---------------------------------------- 248.39/165.12 248.39/165.12 (98) 248.39/165.12 Obligation: 248.39/165.12 Q DP problem: 248.39/165.12 The TRS P consists of the following rules: 248.39/165.12 248.39/165.12 new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) 248.39/165.12 new_gcd0Gcd'1(False, Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 248.39/165.12 new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'1(new_esEs(Neg(Succ(Zero))), Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 248.39/165.12 new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 248.39/165.12 248.39/165.12 The TRS R consists of the following rules: 248.39/165.12 248.39/165.12 new_esEs(Neg(Succ(vyv24100))) -> new_primEqInt(Neg(Succ(vyv24100))) 248.39/165.12 new_primEqInt(Neg(Succ(vyv242000))) -> False 248.39/165.12 new_primModNatS1(Succ(Succ(vyv292000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv292000), Zero) 248.39/165.12 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 248.39/165.12 new_primMinusNatS0(vyv270000) -> Succ(vyv270000) 248.39/165.12 new_primModNatS1(Zero, vyv29100) -> Zero 248.39/165.12 new_primMinusNatS1 -> Zero 248.39/165.12 new_esEs(Pos(Succ(vyv24100))) -> new_primEqInt(Pos(Succ(vyv24100))) 248.39/165.12 new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) 248.39/165.12 new_primEqInt(Pos(Zero)) -> True 248.39/165.12 new_primEqInt(Pos(Succ(vyv242000))) -> False 248.39/165.12 248.39/165.12 The set Q consists of the following terms: 248.39/165.12 248.39/165.12 new_primModNatS1(Succ(Zero), Succ(x0)) 248.39/165.12 new_primMinusNatS1 248.39/165.12 new_primEqInt(Pos(Zero)) 248.39/165.12 new_esEs(Neg(Succ(x0))) 248.39/165.12 new_primModNatS1(Succ(Zero), Zero) 248.39/165.12 new_esEs(Pos(Zero)) 248.39/165.12 new_primEqInt(Neg(Succ(x0))) 248.39/165.12 new_primEqInt(Neg(Zero)) 248.39/165.12 new_primMinusNatS0(x0) 248.39/165.12 new_primEqInt(Pos(Succ(x0))) 248.39/165.12 new_primModNatS1(Succ(Succ(x0)), Zero) 248.39/165.12 new_primModNatS1(Zero, x0) 248.39/165.12 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 248.39/165.12 new_esEs(Neg(Zero)) 248.39/165.12 new_esEs(Pos(Succ(x0))) 248.39/165.12 248.39/165.12 We have to consider all minimal (P,Q,R)-chains. 248.39/165.12 ---------------------------------------- 248.39/165.12 248.39/165.12 (99) TransformationProof (EQUIVALENT) 248.39/165.12 By rewriting [LPAR04] the rule new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'1(new_esEs(Neg(Succ(Zero))), Pos(Succ(Succ(x0))), Neg(Succ(Zero))) at position [0] we obtained the following new rules [LPAR04]: 248.39/165.12 248.39/165.12 (new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'1(new_primEqInt(Neg(Succ(Zero))), Pos(Succ(Succ(x0))), Neg(Succ(Zero))),new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'1(new_primEqInt(Neg(Succ(Zero))), Pos(Succ(Succ(x0))), Neg(Succ(Zero)))) 248.39/165.12 248.39/165.12 248.39/165.12 ---------------------------------------- 248.39/165.12 248.39/165.12 (100) 248.39/165.12 Obligation: 248.39/165.12 Q DP problem: 248.39/165.12 The TRS P consists of the following rules: 248.39/165.12 248.39/165.12 new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) 248.39/165.12 new_gcd0Gcd'1(False, Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 248.39/165.12 new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 248.39/165.12 new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'1(new_primEqInt(Neg(Succ(Zero))), Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 248.39/165.12 248.39/165.12 The TRS R consists of the following rules: 248.39/165.12 248.39/165.12 new_esEs(Neg(Succ(vyv24100))) -> new_primEqInt(Neg(Succ(vyv24100))) 248.39/165.12 new_primEqInt(Neg(Succ(vyv242000))) -> False 248.39/165.12 new_primModNatS1(Succ(Succ(vyv292000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv292000), Zero) 248.39/165.12 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 248.39/165.12 new_primMinusNatS0(vyv270000) -> Succ(vyv270000) 248.39/165.12 new_primModNatS1(Zero, vyv29100) -> Zero 248.39/165.12 new_primMinusNatS1 -> Zero 248.39/165.12 new_esEs(Pos(Succ(vyv24100))) -> new_primEqInt(Pos(Succ(vyv24100))) 248.39/165.12 new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) 248.39/165.12 new_primEqInt(Pos(Zero)) -> True 248.39/165.12 new_primEqInt(Pos(Succ(vyv242000))) -> False 248.39/165.12 248.39/165.12 The set Q consists of the following terms: 248.39/165.12 248.39/165.12 new_primModNatS1(Succ(Zero), Succ(x0)) 248.39/165.12 new_primMinusNatS1 248.39/165.12 new_primEqInt(Pos(Zero)) 248.39/165.12 new_esEs(Neg(Succ(x0))) 248.39/165.12 new_primModNatS1(Succ(Zero), Zero) 248.39/165.12 new_esEs(Pos(Zero)) 248.39/165.12 new_primEqInt(Neg(Succ(x0))) 248.39/165.12 new_primEqInt(Neg(Zero)) 248.39/165.12 new_primMinusNatS0(x0) 248.39/165.12 new_primEqInt(Pos(Succ(x0))) 248.39/165.12 new_primModNatS1(Succ(Succ(x0)), Zero) 248.39/165.12 new_primModNatS1(Zero, x0) 248.39/165.12 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 248.39/165.12 new_esEs(Neg(Zero)) 248.39/165.12 new_esEs(Pos(Succ(x0))) 248.39/165.12 248.39/165.12 We have to consider all minimal (P,Q,R)-chains. 248.39/165.12 ---------------------------------------- 248.39/165.12 248.39/165.12 (101) UsableRulesProof (EQUIVALENT) 248.39/165.12 As all Q-normal forms are R-normal forms we are in the innermost case. Hence, by the usable rules processor [LPAR04] we can delete all non-usable rules [FROCOS05] from R. 248.39/165.12 ---------------------------------------- 248.39/165.12 248.39/165.12 (102) 248.39/165.12 Obligation: 248.39/165.12 Q DP problem: 248.39/165.12 The TRS P consists of the following rules: 248.39/165.12 248.39/165.12 new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) 248.39/165.12 new_gcd0Gcd'1(False, Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 248.39/165.13 new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 248.39/165.13 new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'1(new_primEqInt(Neg(Succ(Zero))), Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 248.39/165.13 248.39/165.13 The TRS R consists of the following rules: 248.39/165.13 248.39/165.13 new_primEqInt(Neg(Succ(vyv242000))) -> False 248.39/165.13 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 248.39/165.13 new_primModNatS1(Succ(Succ(vyv292000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv292000), Zero) 248.39/165.13 new_primMinusNatS1 -> Zero 248.39/165.13 new_primModNatS1(Zero, vyv29100) -> Zero 248.39/165.13 new_primMinusNatS0(vyv270000) -> Succ(vyv270000) 248.39/165.13 new_esEs(Pos(Succ(vyv24100))) -> new_primEqInt(Pos(Succ(vyv24100))) 248.39/165.13 new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) 248.39/165.13 new_primEqInt(Pos(Zero)) -> True 248.39/165.13 new_primEqInt(Pos(Succ(vyv242000))) -> False 248.39/165.13 248.39/165.13 The set Q consists of the following terms: 248.39/165.13 248.39/165.13 new_primModNatS1(Succ(Zero), Succ(x0)) 248.39/165.13 new_primMinusNatS1 248.39/165.13 new_primEqInt(Pos(Zero)) 248.39/165.13 new_esEs(Neg(Succ(x0))) 248.39/165.13 new_primModNatS1(Succ(Zero), Zero) 248.39/165.13 new_esEs(Pos(Zero)) 248.39/165.13 new_primEqInt(Neg(Succ(x0))) 248.39/165.13 new_primEqInt(Neg(Zero)) 248.39/165.13 new_primMinusNatS0(x0) 248.39/165.13 new_primEqInt(Pos(Succ(x0))) 248.39/165.13 new_primModNatS1(Succ(Succ(x0)), Zero) 248.39/165.13 new_primModNatS1(Zero, x0) 248.39/165.13 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 248.39/165.13 new_esEs(Neg(Zero)) 248.39/165.13 new_esEs(Pos(Succ(x0))) 248.39/165.13 248.39/165.13 We have to consider all minimal (P,Q,R)-chains. 248.39/165.13 ---------------------------------------- 248.39/165.13 248.39/165.13 (103) TransformationProof (EQUIVALENT) 248.39/165.13 By rewriting [LPAR04] the rule new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'1(new_primEqInt(Neg(Succ(Zero))), Pos(Succ(Succ(x0))), Neg(Succ(Zero))) at position [0] we obtained the following new rules [LPAR04]: 248.39/165.13 248.39/165.13 (new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))),new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Neg(Succ(Zero)))) 248.39/165.13 248.39/165.13 248.39/165.13 ---------------------------------------- 248.39/165.13 248.39/165.13 (104) 248.39/165.13 Obligation: 248.39/165.13 Q DP problem: 248.39/165.13 The TRS P consists of the following rules: 248.39/165.13 248.39/165.13 new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) 248.39/165.13 new_gcd0Gcd'1(False, Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 248.39/165.13 new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 248.39/165.13 new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 248.39/165.13 248.39/165.13 The TRS R consists of the following rules: 248.39/165.13 248.39/165.13 new_primEqInt(Neg(Succ(vyv242000))) -> False 248.39/165.13 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 248.39/165.13 new_primModNatS1(Succ(Succ(vyv292000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv292000), Zero) 248.39/165.13 new_primMinusNatS1 -> Zero 248.39/165.13 new_primModNatS1(Zero, vyv29100) -> Zero 248.39/165.13 new_primMinusNatS0(vyv270000) -> Succ(vyv270000) 248.39/165.13 new_esEs(Pos(Succ(vyv24100))) -> new_primEqInt(Pos(Succ(vyv24100))) 248.39/165.13 new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) 248.39/165.13 new_primEqInt(Pos(Zero)) -> True 248.39/165.13 new_primEqInt(Pos(Succ(vyv242000))) -> False 248.39/165.13 248.39/165.13 The set Q consists of the following terms: 248.39/165.13 248.39/165.13 new_primModNatS1(Succ(Zero), Succ(x0)) 248.39/165.13 new_primMinusNatS1 248.39/165.13 new_primEqInt(Pos(Zero)) 248.39/165.13 new_esEs(Neg(Succ(x0))) 248.39/165.13 new_primModNatS1(Succ(Zero), Zero) 248.39/165.13 new_esEs(Pos(Zero)) 248.39/165.13 new_primEqInt(Neg(Succ(x0))) 248.39/165.13 new_primEqInt(Neg(Zero)) 248.39/165.13 new_primMinusNatS0(x0) 248.39/165.13 new_primEqInt(Pos(Succ(x0))) 248.39/165.13 new_primModNatS1(Succ(Succ(x0)), Zero) 248.39/165.13 new_primModNatS1(Zero, x0) 248.39/165.13 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 248.39/165.13 new_esEs(Neg(Zero)) 248.39/165.13 new_esEs(Pos(Succ(x0))) 248.39/165.13 248.39/165.13 We have to consider all minimal (P,Q,R)-chains. 248.39/165.13 ---------------------------------------- 248.39/165.13 248.39/165.13 (105) UsableRulesProof (EQUIVALENT) 248.39/165.13 As all Q-normal forms are R-normal forms we are in the innermost case. Hence, by the usable rules processor [LPAR04] we can delete all non-usable rules [FROCOS05] from R. 248.39/165.13 ---------------------------------------- 248.39/165.13 248.39/165.13 (106) 248.39/165.13 Obligation: 248.39/165.13 Q DP problem: 248.39/165.13 The TRS P consists of the following rules: 248.39/165.13 248.39/165.13 new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) 248.39/165.13 new_gcd0Gcd'1(False, Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 248.39/165.13 new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 248.39/165.13 new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 248.39/165.13 248.39/165.13 The TRS R consists of the following rules: 248.39/165.13 248.39/165.13 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 248.39/165.13 new_primModNatS1(Succ(Succ(vyv292000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv292000), Zero) 248.39/165.13 new_primMinusNatS1 -> Zero 248.39/165.13 new_primModNatS1(Zero, vyv29100) -> Zero 248.39/165.13 new_primMinusNatS0(vyv270000) -> Succ(vyv270000) 248.39/165.13 new_esEs(Pos(Succ(vyv24100))) -> new_primEqInt(Pos(Succ(vyv24100))) 248.39/165.13 new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) 248.39/165.13 new_primEqInt(Pos(Zero)) -> True 248.39/165.13 new_primEqInt(Pos(Succ(vyv242000))) -> False 248.39/165.13 248.39/165.13 The set Q consists of the following terms: 248.39/165.13 248.39/165.13 new_primModNatS1(Succ(Zero), Succ(x0)) 248.39/165.13 new_primMinusNatS1 248.39/165.13 new_primEqInt(Pos(Zero)) 248.39/165.13 new_esEs(Neg(Succ(x0))) 248.39/165.13 new_primModNatS1(Succ(Zero), Zero) 248.39/165.13 new_esEs(Pos(Zero)) 248.39/165.13 new_primEqInt(Neg(Succ(x0))) 248.39/165.13 new_primEqInt(Neg(Zero)) 248.39/165.13 new_primMinusNatS0(x0) 248.39/165.13 new_primEqInt(Pos(Succ(x0))) 248.39/165.13 new_primModNatS1(Succ(Succ(x0)), Zero) 248.39/165.13 new_primModNatS1(Zero, x0) 248.39/165.13 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 248.39/165.13 new_esEs(Neg(Zero)) 248.39/165.13 new_esEs(Pos(Succ(x0))) 248.39/165.13 248.39/165.13 We have to consider all minimal (P,Q,R)-chains. 248.39/165.13 ---------------------------------------- 248.39/165.13 248.39/165.13 (107) TransformationProof (EQUIVALENT) 248.39/165.13 By narrowing [LPAR04] the rule new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) at position [0] we obtained the following new rules [LPAR04]: 248.39/165.13 248.39/165.13 (new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS1, Zero))), Neg(Succ(Zero)), Pos(Succ(Succ(Zero)))),new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS1, Zero))), Neg(Succ(Zero)), Pos(Succ(Succ(Zero))))) 248.39/165.13 (new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))),new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0)))))) 248.39/165.13 248.39/165.13 248.39/165.13 ---------------------------------------- 248.39/165.13 248.39/165.13 (108) 248.39/165.13 Obligation: 248.39/165.13 Q DP problem: 248.39/165.13 The TRS P consists of the following rules: 248.39/165.13 248.39/165.13 new_gcd0Gcd'1(False, Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 248.39/165.13 new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 248.39/165.13 new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 248.39/165.13 new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS1, Zero))), Neg(Succ(Zero)), Pos(Succ(Succ(Zero)))) 248.39/165.13 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) 248.39/165.13 248.39/165.13 The TRS R consists of the following rules: 248.39/165.13 248.39/165.13 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 248.39/165.13 new_primModNatS1(Succ(Succ(vyv292000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv292000), Zero) 248.39/165.13 new_primMinusNatS1 -> Zero 248.39/165.13 new_primModNatS1(Zero, vyv29100) -> Zero 248.39/165.13 new_primMinusNatS0(vyv270000) -> Succ(vyv270000) 248.39/165.13 new_esEs(Pos(Succ(vyv24100))) -> new_primEqInt(Pos(Succ(vyv24100))) 248.39/165.13 new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) 248.39/165.13 new_primEqInt(Pos(Zero)) -> True 248.39/165.13 new_primEqInt(Pos(Succ(vyv242000))) -> False 248.39/165.13 248.39/165.13 The set Q consists of the following terms: 248.39/165.13 248.39/165.13 new_primModNatS1(Succ(Zero), Succ(x0)) 248.39/165.13 new_primMinusNatS1 248.39/165.13 new_primEqInt(Pos(Zero)) 248.39/165.13 new_esEs(Neg(Succ(x0))) 248.39/165.13 new_primModNatS1(Succ(Zero), Zero) 248.39/165.13 new_esEs(Pos(Zero)) 248.39/165.13 new_primEqInt(Neg(Succ(x0))) 248.39/165.13 new_primEqInt(Neg(Zero)) 248.39/165.13 new_primMinusNatS0(x0) 248.39/165.13 new_primEqInt(Pos(Succ(x0))) 248.39/165.13 new_primModNatS1(Succ(Succ(x0)), Zero) 248.39/165.13 new_primModNatS1(Zero, x0) 248.39/165.13 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 248.39/165.13 new_esEs(Neg(Zero)) 248.39/165.13 new_esEs(Pos(Succ(x0))) 248.39/165.13 248.39/165.13 We have to consider all minimal (P,Q,R)-chains. 248.39/165.13 ---------------------------------------- 248.39/165.13 248.39/165.13 (109) TransformationProof (EQUIVALENT) 248.39/165.13 By rewriting [LPAR04] the rule new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS1, Zero))), Neg(Succ(Zero)), Pos(Succ(Succ(Zero)))) at position [0,0,0,0] we obtained the following new rules [LPAR04]: 248.39/165.13 248.39/165.13 (new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Zero, Zero))), Neg(Succ(Zero)), Pos(Succ(Succ(Zero)))),new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Zero, Zero))), Neg(Succ(Zero)), Pos(Succ(Succ(Zero))))) 248.39/165.13 248.39/165.13 248.39/165.13 ---------------------------------------- 248.39/165.13 248.39/165.13 (110) 248.39/165.13 Obligation: 248.39/165.13 Q DP problem: 248.39/165.13 The TRS P consists of the following rules: 248.39/165.13 248.39/165.13 new_gcd0Gcd'1(False, Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 248.39/165.13 new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 248.39/165.13 new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 248.39/165.13 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) 248.39/165.13 new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Zero, Zero))), Neg(Succ(Zero)), Pos(Succ(Succ(Zero)))) 248.39/165.13 248.39/165.13 The TRS R consists of the following rules: 248.39/165.13 248.39/165.13 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 248.39/165.13 new_primModNatS1(Succ(Succ(vyv292000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv292000), Zero) 248.39/165.13 new_primMinusNatS1 -> Zero 248.39/165.13 new_primModNatS1(Zero, vyv29100) -> Zero 248.39/165.13 new_primMinusNatS0(vyv270000) -> Succ(vyv270000) 248.39/165.13 new_esEs(Pos(Succ(vyv24100))) -> new_primEqInt(Pos(Succ(vyv24100))) 248.39/165.13 new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) 248.39/165.13 new_primEqInt(Pos(Zero)) -> True 248.39/165.13 new_primEqInt(Pos(Succ(vyv242000))) -> False 248.39/165.13 248.39/165.13 The set Q consists of the following terms: 248.39/165.13 248.39/165.13 new_primModNatS1(Succ(Zero), Succ(x0)) 248.39/165.13 new_primMinusNatS1 248.39/165.13 new_primEqInt(Pos(Zero)) 248.39/165.13 new_esEs(Neg(Succ(x0))) 248.39/165.13 new_primModNatS1(Succ(Zero), Zero) 248.39/165.13 new_esEs(Pos(Zero)) 248.39/165.13 new_primEqInt(Neg(Succ(x0))) 248.39/165.13 new_primEqInt(Neg(Zero)) 248.39/165.13 new_primMinusNatS0(x0) 248.39/165.13 new_primEqInt(Pos(Succ(x0))) 248.39/165.13 new_primModNatS1(Succ(Succ(x0)), Zero) 248.39/165.13 new_primModNatS1(Zero, x0) 248.39/165.13 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 248.39/165.13 new_esEs(Neg(Zero)) 248.39/165.13 new_esEs(Pos(Succ(x0))) 248.39/165.13 248.39/165.13 We have to consider all minimal (P,Q,R)-chains. 248.39/165.13 ---------------------------------------- 248.39/165.13 248.39/165.13 (111) TransformationProof (EQUIVALENT) 248.39/165.13 By rewriting [LPAR04] the rule new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) at position [0,0,0,0] we obtained the following new rules [LPAR04]: 248.39/165.13 248.39/165.13 (new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))),new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0)))))) 248.39/165.13 248.39/165.13 248.39/165.13 ---------------------------------------- 248.39/165.13 248.39/165.13 (112) 248.39/165.13 Obligation: 248.39/165.13 Q DP problem: 248.39/165.13 The TRS P consists of the following rules: 248.39/165.13 248.39/165.13 new_gcd0Gcd'1(False, Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 248.39/165.13 new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 248.39/165.13 new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 248.39/165.13 new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Zero, Zero))), Neg(Succ(Zero)), Pos(Succ(Succ(Zero)))) 248.39/165.13 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) 248.39/165.13 248.39/165.13 The TRS R consists of the following rules: 248.39/165.13 248.39/165.13 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 248.39/165.13 new_primModNatS1(Succ(Succ(vyv292000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv292000), Zero) 248.39/165.13 new_primMinusNatS1 -> Zero 248.39/165.13 new_primModNatS1(Zero, vyv29100) -> Zero 248.39/165.13 new_primMinusNatS0(vyv270000) -> Succ(vyv270000) 248.39/165.13 new_esEs(Pos(Succ(vyv24100))) -> new_primEqInt(Pos(Succ(vyv24100))) 248.39/165.13 new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) 248.39/165.13 new_primEqInt(Pos(Zero)) -> True 248.39/165.13 new_primEqInt(Pos(Succ(vyv242000))) -> False 248.39/165.13 248.39/165.13 The set Q consists of the following terms: 248.39/165.13 248.39/165.13 new_primModNatS1(Succ(Zero), Succ(x0)) 248.39/165.13 new_primMinusNatS1 248.39/165.13 new_primEqInt(Pos(Zero)) 248.39/165.13 new_esEs(Neg(Succ(x0))) 248.39/165.13 new_primModNatS1(Succ(Zero), Zero) 248.39/165.13 new_esEs(Pos(Zero)) 248.39/165.13 new_primEqInt(Neg(Succ(x0))) 248.39/165.13 new_primEqInt(Neg(Zero)) 248.39/165.13 new_primMinusNatS0(x0) 248.39/165.13 new_primEqInt(Pos(Succ(x0))) 248.39/165.13 new_primModNatS1(Succ(Succ(x0)), Zero) 248.39/165.13 new_primModNatS1(Zero, x0) 248.39/165.13 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 248.39/165.13 new_esEs(Neg(Zero)) 248.39/165.13 new_esEs(Pos(Succ(x0))) 248.39/165.13 248.39/165.13 We have to consider all minimal (P,Q,R)-chains. 248.39/165.13 ---------------------------------------- 248.39/165.13 248.39/165.13 (113) TransformationProof (EQUIVALENT) 248.39/165.13 By rewriting [LPAR04] the rule new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Zero, Zero))), Neg(Succ(Zero)), Pos(Succ(Succ(Zero)))) at position [0,0,0] we obtained the following new rules [LPAR04]: 248.39/165.13 248.39/165.13 (new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Pos(Zero)), Neg(Succ(Zero)), Pos(Succ(Succ(Zero)))),new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Pos(Zero)), Neg(Succ(Zero)), Pos(Succ(Succ(Zero))))) 248.39/165.13 248.39/165.13 248.39/165.13 ---------------------------------------- 248.39/165.13 248.39/165.13 (114) 248.39/165.13 Obligation: 248.39/165.13 Q DP problem: 248.39/165.13 The TRS P consists of the following rules: 248.39/165.13 248.39/165.13 new_gcd0Gcd'1(False, Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 248.39/165.13 new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 248.39/165.13 new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 248.39/165.13 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) 248.39/165.13 new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Pos(Zero)), Neg(Succ(Zero)), Pos(Succ(Succ(Zero)))) 248.39/165.13 248.39/165.13 The TRS R consists of the following rules: 248.39/165.13 248.39/165.13 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 248.39/165.13 new_primModNatS1(Succ(Succ(vyv292000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv292000), Zero) 248.39/165.13 new_primMinusNatS1 -> Zero 248.39/165.13 new_primModNatS1(Zero, vyv29100) -> Zero 248.39/165.13 new_primMinusNatS0(vyv270000) -> Succ(vyv270000) 248.39/165.13 new_esEs(Pos(Succ(vyv24100))) -> new_primEqInt(Pos(Succ(vyv24100))) 248.39/165.13 new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) 248.39/165.13 new_primEqInt(Pos(Zero)) -> True 248.39/165.13 new_primEqInt(Pos(Succ(vyv242000))) -> False 248.39/165.13 248.39/165.13 The set Q consists of the following terms: 248.39/165.13 248.39/165.13 new_primModNatS1(Succ(Zero), Succ(x0)) 248.39/165.13 new_primMinusNatS1 248.39/165.13 new_primEqInt(Pos(Zero)) 248.39/165.13 new_esEs(Neg(Succ(x0))) 248.39/165.13 new_primModNatS1(Succ(Zero), Zero) 248.39/165.13 new_esEs(Pos(Zero)) 248.39/165.13 new_primEqInt(Neg(Succ(x0))) 248.39/165.13 new_primEqInt(Neg(Zero)) 248.39/165.13 new_primMinusNatS0(x0) 248.39/165.13 new_primEqInt(Pos(Succ(x0))) 248.39/165.13 new_primModNatS1(Succ(Succ(x0)), Zero) 248.39/165.13 new_primModNatS1(Zero, x0) 248.39/165.13 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 248.39/165.13 new_esEs(Neg(Zero)) 248.39/165.13 new_esEs(Pos(Succ(x0))) 248.39/165.13 248.39/165.13 We have to consider all minimal (P,Q,R)-chains. 248.39/165.13 ---------------------------------------- 248.39/165.13 248.39/165.13 (115) DependencyGraphProof (EQUIVALENT) 248.39/165.13 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. 248.39/165.13 ---------------------------------------- 248.39/165.13 248.39/165.13 (116) 248.39/165.13 Obligation: 248.39/165.13 Q DP problem: 248.39/165.13 The TRS P consists of the following rules: 248.39/165.13 248.39/165.13 new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 248.39/165.13 new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 248.39/165.13 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) 248.39/165.13 new_gcd0Gcd'1(False, Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 248.39/165.13 248.39/165.13 The TRS R consists of the following rules: 248.39/165.13 248.39/165.13 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 248.39/165.13 new_primModNatS1(Succ(Succ(vyv292000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv292000), Zero) 248.39/165.13 new_primMinusNatS1 -> Zero 248.39/165.13 new_primModNatS1(Zero, vyv29100) -> Zero 248.39/165.13 new_primMinusNatS0(vyv270000) -> Succ(vyv270000) 248.39/165.13 new_esEs(Pos(Succ(vyv24100))) -> new_primEqInt(Pos(Succ(vyv24100))) 248.39/165.13 new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) 248.39/165.13 new_primEqInt(Pos(Zero)) -> True 248.39/165.13 new_primEqInt(Pos(Succ(vyv242000))) -> False 248.39/165.13 248.39/165.13 The set Q consists of the following terms: 248.39/165.13 248.39/165.13 new_primModNatS1(Succ(Zero), Succ(x0)) 248.39/165.13 new_primMinusNatS1 248.39/165.13 new_primEqInt(Pos(Zero)) 248.39/165.13 new_esEs(Neg(Succ(x0))) 248.39/165.13 new_primModNatS1(Succ(Zero), Zero) 248.39/165.13 new_esEs(Pos(Zero)) 248.39/165.13 new_primEqInt(Neg(Succ(x0))) 248.39/165.13 new_primEqInt(Neg(Zero)) 248.39/165.13 new_primMinusNatS0(x0) 248.39/165.13 new_primEqInt(Pos(Succ(x0))) 248.39/165.13 new_primModNatS1(Succ(Succ(x0)), Zero) 248.39/165.13 new_primModNatS1(Zero, x0) 248.39/165.13 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 248.39/165.13 new_esEs(Neg(Zero)) 248.39/165.13 new_esEs(Pos(Succ(x0))) 248.39/165.13 248.39/165.13 We have to consider all minimal (P,Q,R)-chains. 248.39/165.13 ---------------------------------------- 248.39/165.13 248.39/165.13 (117) TransformationProof (EQUIVALENT) 248.39/165.13 By narrowing [LPAR04] the rule new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) at position [0] we obtained the following new rules [LPAR04]: 248.39/165.13 248.39/165.13 (new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS1, Zero))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Zero))))),new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS1, Zero))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Zero)))))) 248.39/165.13 (new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))),new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0))))))) 248.39/165.13 248.39/165.13 248.39/165.13 ---------------------------------------- 248.39/165.13 248.39/165.13 (118) 248.39/165.13 Obligation: 248.39/165.13 Q DP problem: 248.39/165.13 The TRS P consists of the following rules: 248.39/165.13 248.39/165.13 new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 248.39/165.13 new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 248.39/165.13 new_gcd0Gcd'1(False, Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 248.39/165.13 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS1, Zero))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Zero))))) 248.39/165.13 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) 248.39/165.13 248.39/165.13 The TRS R consists of the following rules: 248.39/165.13 248.39/165.13 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 248.39/165.13 new_primModNatS1(Succ(Succ(vyv292000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv292000), Zero) 248.39/165.13 new_primMinusNatS1 -> Zero 248.39/165.13 new_primModNatS1(Zero, vyv29100) -> Zero 248.39/165.13 new_primMinusNatS0(vyv270000) -> Succ(vyv270000) 248.39/165.13 new_esEs(Pos(Succ(vyv24100))) -> new_primEqInt(Pos(Succ(vyv24100))) 248.39/165.13 new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) 248.39/165.13 new_primEqInt(Pos(Zero)) -> True 248.39/165.13 new_primEqInt(Pos(Succ(vyv242000))) -> False 248.39/165.13 248.39/165.13 The set Q consists of the following terms: 248.39/165.13 248.39/165.13 new_primModNatS1(Succ(Zero), Succ(x0)) 248.39/165.13 new_primMinusNatS1 248.39/165.13 new_primEqInt(Pos(Zero)) 248.39/165.13 new_esEs(Neg(Succ(x0))) 248.39/165.13 new_primModNatS1(Succ(Zero), Zero) 248.39/165.13 new_esEs(Pos(Zero)) 248.39/165.13 new_primEqInt(Neg(Succ(x0))) 248.39/165.13 new_primEqInt(Neg(Zero)) 248.39/165.13 new_primMinusNatS0(x0) 248.39/165.13 new_primEqInt(Pos(Succ(x0))) 248.39/165.13 new_primModNatS1(Succ(Succ(x0)), Zero) 248.39/165.13 new_primModNatS1(Zero, x0) 248.39/165.13 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 248.39/165.13 new_esEs(Neg(Zero)) 248.39/165.13 new_esEs(Pos(Succ(x0))) 248.39/165.13 248.39/165.13 We have to consider all minimal (P,Q,R)-chains. 248.39/165.13 ---------------------------------------- 248.39/165.13 248.39/165.13 (119) TransformationProof (EQUIVALENT) 248.39/165.13 By rewriting [LPAR04] the rule new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS1, Zero))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Zero))))) at position [0,0,0,0] we obtained the following new rules [LPAR04]: 248.39/165.13 248.39/165.13 (new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Zero, Zero))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Zero))))),new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Zero, Zero))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Zero)))))) 248.39/165.13 248.39/165.13 248.39/165.13 ---------------------------------------- 248.39/165.13 248.39/165.13 (120) 248.39/165.13 Obligation: 248.39/165.13 Q DP problem: 248.39/165.13 The TRS P consists of the following rules: 248.39/165.13 248.39/165.13 new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 248.39/165.13 new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 248.39/165.13 new_gcd0Gcd'1(False, Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 248.39/165.13 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) 248.39/165.13 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Zero, Zero))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Zero))))) 248.39/165.13 248.39/165.13 The TRS R consists of the following rules: 248.39/165.13 248.39/165.13 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 248.39/165.13 new_primModNatS1(Succ(Succ(vyv292000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv292000), Zero) 248.39/165.13 new_primMinusNatS1 -> Zero 248.39/165.13 new_primModNatS1(Zero, vyv29100) -> Zero 248.39/165.13 new_primMinusNatS0(vyv270000) -> Succ(vyv270000) 248.39/165.13 new_esEs(Pos(Succ(vyv24100))) -> new_primEqInt(Pos(Succ(vyv24100))) 248.39/165.13 new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) 248.39/165.13 new_primEqInt(Pos(Zero)) -> True 248.39/165.13 new_primEqInt(Pos(Succ(vyv242000))) -> False 248.39/165.13 248.39/165.13 The set Q consists of the following terms: 248.39/165.13 248.39/165.13 new_primModNatS1(Succ(Zero), Succ(x0)) 248.39/165.13 new_primMinusNatS1 248.39/165.13 new_primEqInt(Pos(Zero)) 248.39/165.13 new_esEs(Neg(Succ(x0))) 248.39/165.13 new_primModNatS1(Succ(Zero), Zero) 248.39/165.13 new_esEs(Pos(Zero)) 248.39/165.13 new_primEqInt(Neg(Succ(x0))) 248.39/165.13 new_primEqInt(Neg(Zero)) 248.39/165.13 new_primMinusNatS0(x0) 248.39/165.13 new_primEqInt(Pos(Succ(x0))) 248.39/165.13 new_primModNatS1(Succ(Succ(x0)), Zero) 248.39/165.13 new_primModNatS1(Zero, x0) 248.39/165.13 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 248.39/165.13 new_esEs(Neg(Zero)) 248.39/165.13 new_esEs(Pos(Succ(x0))) 248.39/165.13 248.39/165.13 We have to consider all minimal (P,Q,R)-chains. 248.39/165.13 ---------------------------------------- 248.39/165.13 248.39/165.13 (121) TransformationProof (EQUIVALENT) 248.39/165.13 By rewriting [LPAR04] the rule new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) at position [0,0,0,0] we obtained the following new rules [LPAR04]: 248.39/165.13 248.39/165.13 (new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))),new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0))))))) 248.39/165.13 248.39/165.13 248.39/165.13 ---------------------------------------- 248.39/165.13 248.39/165.13 (122) 248.39/165.13 Obligation: 248.39/165.13 Q DP problem: 248.39/165.13 The TRS P consists of the following rules: 248.39/165.13 248.39/165.13 new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 248.39/165.13 new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 248.39/165.13 new_gcd0Gcd'1(False, Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 248.39/165.13 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Zero, Zero))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Zero))))) 248.39/165.13 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) 248.39/165.13 248.39/165.13 The TRS R consists of the following rules: 248.39/165.13 248.39/165.13 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 248.39/165.13 new_primModNatS1(Succ(Succ(vyv292000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv292000), Zero) 248.39/165.13 new_primMinusNatS1 -> Zero 248.39/165.13 new_primModNatS1(Zero, vyv29100) -> Zero 248.39/165.13 new_primMinusNatS0(vyv270000) -> Succ(vyv270000) 248.39/165.13 new_esEs(Pos(Succ(vyv24100))) -> new_primEqInt(Pos(Succ(vyv24100))) 248.39/165.13 new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) 248.39/165.13 new_primEqInt(Pos(Zero)) -> True 248.39/165.13 new_primEqInt(Pos(Succ(vyv242000))) -> False 248.39/165.13 248.39/165.13 The set Q consists of the following terms: 248.39/165.13 248.39/165.13 new_primModNatS1(Succ(Zero), Succ(x0)) 248.39/165.13 new_primMinusNatS1 248.39/165.13 new_primEqInt(Pos(Zero)) 248.39/165.13 new_esEs(Neg(Succ(x0))) 248.39/165.13 new_primModNatS1(Succ(Zero), Zero) 248.39/165.13 new_esEs(Pos(Zero)) 248.39/165.13 new_primEqInt(Neg(Succ(x0))) 248.39/165.13 new_primEqInt(Neg(Zero)) 248.39/165.13 new_primMinusNatS0(x0) 248.39/165.13 new_primEqInt(Pos(Succ(x0))) 248.39/165.13 new_primModNatS1(Succ(Succ(x0)), Zero) 248.39/165.13 new_primModNatS1(Zero, x0) 248.39/165.13 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 248.39/165.13 new_esEs(Neg(Zero)) 248.39/165.13 new_esEs(Pos(Succ(x0))) 248.39/165.13 248.39/165.13 We have to consider all minimal (P,Q,R)-chains. 248.39/165.13 ---------------------------------------- 248.39/165.13 248.39/165.13 (123) TransformationProof (EQUIVALENT) 248.39/165.13 By rewriting [LPAR04] the rule new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Zero, Zero))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Zero))))) at position [0,0,0] we obtained the following new rules [LPAR04]: 248.39/165.13 248.39/165.13 (new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Pos(Zero)), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Zero))))),new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Pos(Zero)), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Zero)))))) 248.39/165.13 248.39/165.13 248.39/165.13 ---------------------------------------- 248.39/165.13 248.39/165.13 (124) 248.39/165.13 Obligation: 248.39/165.13 Q DP problem: 248.39/165.13 The TRS P consists of the following rules: 248.39/165.13 248.39/165.13 new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 248.39/165.13 new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 248.39/165.13 new_gcd0Gcd'1(False, Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 248.39/165.13 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) 248.39/165.13 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Pos(Zero)), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Zero))))) 248.39/165.13 248.39/165.13 The TRS R consists of the following rules: 248.39/165.13 248.39/165.13 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 248.39/165.13 new_primModNatS1(Succ(Succ(vyv292000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv292000), Zero) 248.39/165.13 new_primMinusNatS1 -> Zero 248.39/165.13 new_primModNatS1(Zero, vyv29100) -> Zero 248.39/165.13 new_primMinusNatS0(vyv270000) -> Succ(vyv270000) 248.39/165.13 new_esEs(Pos(Succ(vyv24100))) -> new_primEqInt(Pos(Succ(vyv24100))) 248.39/165.13 new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) 248.39/165.13 new_primEqInt(Pos(Zero)) -> True 248.39/165.13 new_primEqInt(Pos(Succ(vyv242000))) -> False 248.39/165.13 248.39/165.13 The set Q consists of the following terms: 248.39/165.13 248.39/165.13 new_primModNatS1(Succ(Zero), Succ(x0)) 248.39/165.13 new_primMinusNatS1 248.39/165.13 new_primEqInt(Pos(Zero)) 248.39/165.13 new_esEs(Neg(Succ(x0))) 248.39/165.13 new_primModNatS1(Succ(Zero), Zero) 248.39/165.13 new_esEs(Pos(Zero)) 248.39/165.13 new_primEqInt(Neg(Succ(x0))) 248.39/165.13 new_primEqInt(Neg(Zero)) 248.39/165.13 new_primMinusNatS0(x0) 248.39/165.13 new_primEqInt(Pos(Succ(x0))) 248.39/165.13 new_primModNatS1(Succ(Succ(x0)), Zero) 248.39/165.13 new_primModNatS1(Zero, x0) 248.39/165.13 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 248.39/165.13 new_esEs(Neg(Zero)) 248.65/165.14 new_esEs(Pos(Succ(x0))) 248.65/165.14 248.65/165.14 We have to consider all minimal (P,Q,R)-chains. 248.65/165.14 ---------------------------------------- 248.65/165.14 248.65/165.14 (125) DependencyGraphProof (EQUIVALENT) 248.65/165.14 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. 248.65/165.14 ---------------------------------------- 248.65/165.14 248.65/165.14 (126) 248.65/165.14 Obligation: 248.65/165.14 Q DP problem: 248.65/165.14 The TRS P consists of the following rules: 248.65/165.14 248.65/165.14 new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 248.65/165.14 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) 248.65/165.14 new_gcd0Gcd'1(False, Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 248.65/165.14 new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 248.65/165.14 248.65/165.14 The TRS R consists of the following rules: 248.65/165.14 248.65/165.14 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 248.65/165.14 new_primModNatS1(Succ(Succ(vyv292000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv292000), Zero) 248.65/165.14 new_primMinusNatS1 -> Zero 248.65/165.14 new_primModNatS1(Zero, vyv29100) -> Zero 248.65/165.14 new_primMinusNatS0(vyv270000) -> Succ(vyv270000) 248.65/165.14 new_esEs(Pos(Succ(vyv24100))) -> new_primEqInt(Pos(Succ(vyv24100))) 248.65/165.14 new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) 248.65/165.14 new_primEqInt(Pos(Zero)) -> True 248.65/165.14 new_primEqInt(Pos(Succ(vyv242000))) -> False 248.65/165.14 248.65/165.14 The set Q consists of the following terms: 248.65/165.14 248.65/165.14 new_primModNatS1(Succ(Zero), Succ(x0)) 248.65/165.14 new_primMinusNatS1 248.65/165.14 new_primEqInt(Pos(Zero)) 248.65/165.14 new_esEs(Neg(Succ(x0))) 248.65/165.14 new_primModNatS1(Succ(Zero), Zero) 248.65/165.14 new_esEs(Pos(Zero)) 248.65/165.14 new_primEqInt(Neg(Succ(x0))) 248.65/165.14 new_primEqInt(Neg(Zero)) 248.65/165.14 new_primMinusNatS0(x0) 248.65/165.14 new_primEqInt(Pos(Succ(x0))) 248.65/165.14 new_primModNatS1(Succ(Succ(x0)), Zero) 248.65/165.14 new_primModNatS1(Zero, x0) 248.65/165.14 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 248.65/165.14 new_esEs(Neg(Zero)) 248.65/165.14 new_esEs(Pos(Succ(x0))) 248.65/165.14 248.65/165.14 We have to consider all minimal (P,Q,R)-chains. 248.65/165.14 ---------------------------------------- 248.65/165.14 248.65/165.14 (127) TransformationProof (EQUIVALENT) 248.65/165.14 By narrowing [LPAR04] the rule new_gcd0Gcd'1(False, Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) at position [1,0] we obtained the following new rules [LPAR04]: 248.65/165.14 248.65/165.14 (new_gcd0Gcd'1(False, Neg(Succ(Zero)), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS1, Zero))),new_gcd0Gcd'1(False, Neg(Succ(Zero)), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS1, Zero)))) 248.65/165.14 (new_gcd0Gcd'1(False, Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero))),new_gcd0Gcd'1(False, Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero)))) 248.65/165.14 248.65/165.14 248.65/165.14 ---------------------------------------- 248.65/165.14 248.65/165.14 (128) 248.65/165.14 Obligation: 248.65/165.14 Q DP problem: 248.65/165.14 The TRS P consists of the following rules: 248.65/165.14 248.65/165.14 new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 248.65/165.14 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) 248.65/165.14 new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 248.65/165.14 new_gcd0Gcd'1(False, Neg(Succ(Zero)), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS1, Zero))) 248.65/165.14 new_gcd0Gcd'1(False, Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero))) 248.65/165.14 248.65/165.14 The TRS R consists of the following rules: 248.65/165.14 248.65/165.14 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 248.65/165.14 new_primModNatS1(Succ(Succ(vyv292000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv292000), Zero) 248.65/165.14 new_primMinusNatS1 -> Zero 248.65/165.14 new_primModNatS1(Zero, vyv29100) -> Zero 248.65/165.14 new_primMinusNatS0(vyv270000) -> Succ(vyv270000) 248.65/165.14 new_esEs(Pos(Succ(vyv24100))) -> new_primEqInt(Pos(Succ(vyv24100))) 248.65/165.14 new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) 248.65/165.14 new_primEqInt(Pos(Zero)) -> True 248.65/165.14 new_primEqInt(Pos(Succ(vyv242000))) -> False 248.65/165.14 248.65/165.14 The set Q consists of the following terms: 248.65/165.14 248.65/165.14 new_primModNatS1(Succ(Zero), Succ(x0)) 248.65/165.14 new_primMinusNatS1 248.65/165.14 new_primEqInt(Pos(Zero)) 248.65/165.14 new_esEs(Neg(Succ(x0))) 248.65/165.14 new_primModNatS1(Succ(Zero), Zero) 248.65/165.14 new_esEs(Pos(Zero)) 248.65/165.14 new_primEqInt(Neg(Succ(x0))) 248.65/165.14 new_primEqInt(Neg(Zero)) 248.65/165.14 new_primMinusNatS0(x0) 248.65/165.14 new_primEqInt(Pos(Succ(x0))) 248.65/165.14 new_primModNatS1(Succ(Succ(x0)), Zero) 248.65/165.14 new_primModNatS1(Zero, x0) 248.65/165.14 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 248.65/165.14 new_esEs(Neg(Zero)) 248.65/165.14 new_esEs(Pos(Succ(x0))) 248.65/165.14 248.65/165.14 We have to consider all minimal (P,Q,R)-chains. 248.65/165.14 ---------------------------------------- 248.65/165.14 248.65/165.14 (129) DependencyGraphProof (EQUIVALENT) 248.65/165.14 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. 248.65/165.14 ---------------------------------------- 248.65/165.14 248.65/165.14 (130) 248.65/165.14 Obligation: 248.65/165.14 Q DP problem: 248.65/165.14 The TRS P consists of the following rules: 248.65/165.14 248.65/165.14 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) 248.65/165.14 new_gcd0Gcd'1(False, Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero))) 248.65/165.14 new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 248.65/165.14 new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 248.65/165.14 248.65/165.14 The TRS R consists of the following rules: 248.65/165.14 248.65/165.14 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 248.65/165.14 new_primModNatS1(Succ(Succ(vyv292000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv292000), Zero) 248.65/165.14 new_primMinusNatS1 -> Zero 248.65/165.14 new_primModNatS1(Zero, vyv29100) -> Zero 248.65/165.14 new_primMinusNatS0(vyv270000) -> Succ(vyv270000) 248.65/165.14 new_esEs(Pos(Succ(vyv24100))) -> new_primEqInt(Pos(Succ(vyv24100))) 248.65/165.14 new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) 248.65/165.14 new_primEqInt(Pos(Zero)) -> True 248.65/165.14 new_primEqInt(Pos(Succ(vyv242000))) -> False 248.65/165.14 248.65/165.14 The set Q consists of the following terms: 248.65/165.14 248.65/165.14 new_primModNatS1(Succ(Zero), Succ(x0)) 248.65/165.14 new_primMinusNatS1 248.65/165.14 new_primEqInt(Pos(Zero)) 248.65/165.14 new_esEs(Neg(Succ(x0))) 248.65/165.14 new_primModNatS1(Succ(Zero), Zero) 248.65/165.14 new_esEs(Pos(Zero)) 248.65/165.14 new_primEqInt(Neg(Succ(x0))) 248.65/165.14 new_primEqInt(Neg(Zero)) 248.65/165.14 new_primMinusNatS0(x0) 248.65/165.14 new_primEqInt(Pos(Succ(x0))) 248.65/165.14 new_primModNatS1(Succ(Succ(x0)), Zero) 248.65/165.14 new_primModNatS1(Zero, x0) 248.65/165.14 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 248.65/165.14 new_esEs(Neg(Zero)) 248.65/165.14 new_esEs(Pos(Succ(x0))) 248.65/165.14 248.65/165.14 We have to consider all minimal (P,Q,R)-chains. 248.65/165.14 ---------------------------------------- 248.65/165.14 248.65/165.14 (131) TransformationProof (EQUIVALENT) 248.65/165.14 By rewriting [LPAR04] the rule new_gcd0Gcd'1(False, Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero))) at position [1,0,0] we obtained the following new rules [LPAR04]: 248.65/165.14 248.65/165.14 (new_gcd0Gcd'1(False, Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))),new_gcd0Gcd'1(False, Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero)))) 248.65/165.14 248.65/165.14 248.65/165.14 ---------------------------------------- 248.65/165.14 248.65/165.14 (132) 248.65/165.14 Obligation: 248.65/165.14 Q DP problem: 248.65/165.14 The TRS P consists of the following rules: 248.65/165.14 248.65/165.14 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) 248.65/165.14 new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 248.65/165.14 new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 248.65/165.14 new_gcd0Gcd'1(False, Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 248.65/165.14 248.65/165.14 The TRS R consists of the following rules: 248.65/165.14 248.65/165.14 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 248.65/165.14 new_primModNatS1(Succ(Succ(vyv292000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv292000), Zero) 248.65/165.14 new_primMinusNatS1 -> Zero 248.65/165.14 new_primModNatS1(Zero, vyv29100) -> Zero 248.65/165.14 new_primMinusNatS0(vyv270000) -> Succ(vyv270000) 248.65/165.14 new_esEs(Pos(Succ(vyv24100))) -> new_primEqInt(Pos(Succ(vyv24100))) 248.65/165.14 new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) 248.65/165.14 new_primEqInt(Pos(Zero)) -> True 248.65/165.14 new_primEqInt(Pos(Succ(vyv242000))) -> False 248.65/165.14 248.65/165.14 The set Q consists of the following terms: 248.65/165.14 248.65/165.14 new_primModNatS1(Succ(Zero), Succ(x0)) 248.65/165.14 new_primMinusNatS1 248.65/165.14 new_primEqInt(Pos(Zero)) 248.65/165.14 new_esEs(Neg(Succ(x0))) 248.65/165.14 new_primModNatS1(Succ(Zero), Zero) 248.65/165.14 new_esEs(Pos(Zero)) 248.65/165.14 new_primEqInt(Neg(Succ(x0))) 248.65/165.14 new_primEqInt(Neg(Zero)) 248.65/165.14 new_primMinusNatS0(x0) 248.65/165.14 new_primEqInt(Pos(Succ(x0))) 248.65/165.14 new_primModNatS1(Succ(Succ(x0)), Zero) 248.65/165.14 new_primModNatS1(Zero, x0) 248.65/165.14 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 248.65/165.14 new_esEs(Neg(Zero)) 248.65/165.14 new_esEs(Pos(Succ(x0))) 248.65/165.14 248.65/165.14 We have to consider all minimal (P,Q,R)-chains. 248.65/165.14 ---------------------------------------- 248.65/165.14 248.65/165.14 (133) TransformationProof (EQUIVALENT) 248.65/165.14 By narrowing [LPAR04] the rule new_gcd0Gcd'1(False, Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) at position [1,0] we obtained the following new rules [LPAR04]: 248.65/165.14 248.65/165.14 (new_gcd0Gcd'1(False, Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS1, Zero))),new_gcd0Gcd'1(False, Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS1, Zero)))) 248.65/165.14 (new_gcd0Gcd'1(False, Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero))),new_gcd0Gcd'1(False, Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero)))) 248.65/165.14 248.65/165.14 248.65/165.14 ---------------------------------------- 248.65/165.14 248.65/165.14 (134) 248.65/165.14 Obligation: 248.65/165.14 Q DP problem: 248.65/165.14 The TRS P consists of the following rules: 248.65/165.14 248.65/165.14 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) 248.65/165.14 new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 248.65/165.14 new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 248.65/165.14 new_gcd0Gcd'1(False, Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS1, Zero))) 248.65/165.14 new_gcd0Gcd'1(False, Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero))) 248.65/165.14 248.65/165.14 The TRS R consists of the following rules: 248.65/165.14 248.65/165.14 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 248.65/165.14 new_primModNatS1(Succ(Succ(vyv292000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv292000), Zero) 248.65/165.14 new_primMinusNatS1 -> Zero 248.65/165.14 new_primModNatS1(Zero, vyv29100) -> Zero 248.65/165.14 new_primMinusNatS0(vyv270000) -> Succ(vyv270000) 248.65/165.14 new_esEs(Pos(Succ(vyv24100))) -> new_primEqInt(Pos(Succ(vyv24100))) 248.65/165.14 new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) 248.65/165.14 new_primEqInt(Pos(Zero)) -> True 248.65/165.14 new_primEqInt(Pos(Succ(vyv242000))) -> False 248.65/165.14 248.65/165.14 The set Q consists of the following terms: 248.65/165.14 248.65/165.14 new_primModNatS1(Succ(Zero), Succ(x0)) 248.65/165.14 new_primMinusNatS1 248.65/165.14 new_primEqInt(Pos(Zero)) 248.65/165.14 new_esEs(Neg(Succ(x0))) 248.65/165.14 new_primModNatS1(Succ(Zero), Zero) 248.65/165.14 new_esEs(Pos(Zero)) 248.65/165.14 new_primEqInt(Neg(Succ(x0))) 248.65/165.14 new_primEqInt(Neg(Zero)) 248.65/165.14 new_primMinusNatS0(x0) 248.65/165.14 new_primEqInt(Pos(Succ(x0))) 248.65/165.14 new_primModNatS1(Succ(Succ(x0)), Zero) 248.65/165.14 new_primModNatS1(Zero, x0) 248.65/165.14 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 248.65/165.14 new_esEs(Neg(Zero)) 248.65/165.14 new_esEs(Pos(Succ(x0))) 248.65/165.14 248.65/165.14 We have to consider all minimal (P,Q,R)-chains. 248.65/165.14 ---------------------------------------- 248.65/165.14 248.65/165.14 (135) DependencyGraphProof (EQUIVALENT) 248.65/165.14 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. 248.65/165.14 ---------------------------------------- 248.65/165.14 248.65/165.14 (136) 248.65/165.14 Obligation: 248.65/165.14 Q DP problem: 248.65/165.14 The TRS P consists of the following rules: 248.65/165.14 248.65/165.14 new_gcd0Gcd'1(False, Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero))) 248.65/165.14 new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 248.65/165.14 new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 248.65/165.14 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) 248.65/165.14 248.65/165.14 The TRS R consists of the following rules: 248.65/165.14 248.65/165.14 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 248.65/165.14 new_primModNatS1(Succ(Succ(vyv292000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv292000), Zero) 248.65/165.14 new_primMinusNatS1 -> Zero 248.65/165.14 new_primModNatS1(Zero, vyv29100) -> Zero 248.65/165.14 new_primMinusNatS0(vyv270000) -> Succ(vyv270000) 248.65/165.14 new_esEs(Pos(Succ(vyv24100))) -> new_primEqInt(Pos(Succ(vyv24100))) 248.65/165.14 new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) 248.65/165.14 new_primEqInt(Pos(Zero)) -> True 248.65/165.14 new_primEqInt(Pos(Succ(vyv242000))) -> False 248.65/165.14 248.65/165.14 The set Q consists of the following terms: 248.65/165.14 248.65/165.14 new_primModNatS1(Succ(Zero), Succ(x0)) 248.65/165.14 new_primMinusNatS1 248.65/165.14 new_primEqInt(Pos(Zero)) 248.65/165.14 new_esEs(Neg(Succ(x0))) 248.65/165.14 new_primModNatS1(Succ(Zero), Zero) 248.65/165.14 new_esEs(Pos(Zero)) 248.65/165.14 new_primEqInt(Neg(Succ(x0))) 248.65/165.14 new_primEqInt(Neg(Zero)) 248.65/165.14 new_primMinusNatS0(x0) 248.65/165.14 new_primEqInt(Pos(Succ(x0))) 248.65/165.14 new_primModNatS1(Succ(Succ(x0)), Zero) 248.65/165.14 new_primModNatS1(Zero, x0) 248.65/165.14 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 248.65/165.14 new_esEs(Neg(Zero)) 248.65/165.14 new_esEs(Pos(Succ(x0))) 248.65/165.14 248.65/165.14 We have to consider all minimal (P,Q,R)-chains. 248.65/165.14 ---------------------------------------- 248.65/165.14 248.65/165.14 (137) TransformationProof (EQUIVALENT) 248.65/165.14 By rewriting [LPAR04] the rule new_gcd0Gcd'1(False, Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero))) at position [1,0,0] we obtained the following new rules [LPAR04]: 248.65/165.14 248.65/165.14 (new_gcd0Gcd'1(False, Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))),new_gcd0Gcd'1(False, Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero)))) 248.65/165.14 248.65/165.14 248.65/165.14 ---------------------------------------- 248.65/165.14 248.65/165.14 (138) 248.65/165.14 Obligation: 248.65/165.14 Q DP problem: 248.65/165.14 The TRS P consists of the following rules: 248.65/165.14 248.65/165.14 new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 248.65/165.14 new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 248.65/165.14 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) 248.65/165.14 new_gcd0Gcd'1(False, Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 248.65/165.14 248.65/165.14 The TRS R consists of the following rules: 248.65/165.14 248.65/165.14 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 248.65/165.14 new_primModNatS1(Succ(Succ(vyv292000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv292000), Zero) 248.65/165.14 new_primMinusNatS1 -> Zero 248.65/165.14 new_primModNatS1(Zero, vyv29100) -> Zero 248.65/165.14 new_primMinusNatS0(vyv270000) -> Succ(vyv270000) 248.65/165.14 new_esEs(Pos(Succ(vyv24100))) -> new_primEqInt(Pos(Succ(vyv24100))) 248.65/165.14 new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) 248.65/165.14 new_primEqInt(Pos(Zero)) -> True 248.65/165.14 new_primEqInt(Pos(Succ(vyv242000))) -> False 248.65/165.14 248.65/165.14 The set Q consists of the following terms: 248.65/165.14 248.65/165.14 new_primModNatS1(Succ(Zero), Succ(x0)) 248.65/165.14 new_primMinusNatS1 248.65/165.14 new_primEqInt(Pos(Zero)) 248.65/165.14 new_esEs(Neg(Succ(x0))) 248.65/165.14 new_primModNatS1(Succ(Zero), Zero) 248.65/165.14 new_esEs(Pos(Zero)) 248.65/165.14 new_primEqInt(Neg(Succ(x0))) 248.65/165.14 new_primEqInt(Neg(Zero)) 248.65/165.14 new_primMinusNatS0(x0) 248.65/165.14 new_primEqInt(Pos(Succ(x0))) 248.65/165.14 new_primModNatS1(Succ(Succ(x0)), Zero) 248.65/165.14 new_primModNatS1(Zero, x0) 248.65/165.14 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 248.65/165.14 new_esEs(Neg(Zero)) 248.65/165.14 new_esEs(Pos(Succ(x0))) 248.65/165.14 248.65/165.14 We have to consider all minimal (P,Q,R)-chains. 248.65/165.14 ---------------------------------------- 248.65/165.14 248.65/165.14 (139) QDPSizeChangeProof (EQUIVALENT) 248.65/165.14 We used the following order together with the size-change analysis [AAECC05] to show that there are no infinite chains for this DP problem. 248.65/165.14 248.65/165.14 Order:Polynomial interpretation [POLO]: 248.65/165.14 248.65/165.14 POL(False) = 1 248.65/165.14 POL(Neg(x_1)) = 1 248.65/165.14 POL(Pos(x_1)) = x_1 248.65/165.14 POL(Succ(x_1)) = 1 + x_1 248.65/165.14 POL(Zero) = 1 248.65/165.14 POL(new_primMinusNatS0(x_1)) = 1 + x_1 248.65/165.14 POL(new_primMinusNatS1) = 1 248.65/165.14 POL(new_primModNatS1(x_1, x_2)) = x_1 248.65/165.14 248.65/165.14 248.65/165.14 248.65/165.14 248.65/165.14 From the DPs we obtained the following set of size-change graphs: 248.65/165.14 *new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) (allowed arguments on rhs = {1, 2}) 248.65/165.14 The graph contains the following edges 2 >= 1, 3 >= 2 248.65/165.14 248.65/165.14 248.65/165.14 *new_gcd0Gcd'1(False, Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) (allowed arguments on rhs = {1, 2}) 248.65/165.14 The graph contains the following edges 2 >= 1, 3 > 2 248.65/165.14 248.65/165.14 248.65/165.14 *new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) (allowed arguments on rhs = {2, 3}) 248.65/165.14 The graph contains the following edges 2 >= 2, 1 >= 3 248.65/165.14 248.65/165.14 248.65/165.14 *new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) (allowed arguments on rhs = {2, 3}) 248.65/165.14 The graph contains the following edges 2 >= 2, 1 >= 3 248.65/165.14 248.65/165.14 248.65/165.14 248.65/165.14 We oriented the following set of usable rules [AAECC05,FROCOS05]. 248.65/165.14 248.65/165.14 new_primModNatS1(Zero, vyv29100) -> Zero 248.65/165.14 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 248.65/165.14 new_primModNatS1(Succ(Succ(vyv292000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv292000), Zero) 248.65/165.14 new_primMinusNatS1 -> Zero 248.65/165.14 new_primMinusNatS0(vyv270000) -> Succ(vyv270000) 248.65/165.14 248.65/165.14 ---------------------------------------- 248.65/165.14 248.65/165.14 (140) 248.65/165.14 YES 248.65/165.14 248.65/165.14 ---------------------------------------- 248.65/165.14 248.65/165.14 (141) 248.65/165.14 Obligation: 248.65/165.14 Q DP problem: 248.65/165.14 The TRS P consists of the following rules: 248.65/165.14 248.65/165.14 new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 248.65/165.14 new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) 248.65/165.14 new_gcd0Gcd'1(False, Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 248.65/165.14 new_gcd0Gcd'0(Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 248.65/165.14 248.65/165.14 The TRS R consists of the following rules: 248.65/165.14 248.65/165.14 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 248.65/165.14 new_primModNatS1(Succ(Succ(vyv292000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv292000), Zero) 248.65/165.14 new_primModNatS1(Succ(Zero), Succ(vyv291000)) -> Succ(Zero) 248.65/165.14 new_primModNatS01(vyv330, vyv331, Zero, Zero) -> new_primModNatS02(vyv330, vyv331) 248.65/165.14 new_primModNatS02(vyv330, vyv331) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv330), Succ(vyv331)), Succ(vyv331)) 248.65/165.14 new_primModNatS1(Succ(Succ(vyv292000)), Succ(vyv291000)) -> new_primModNatS01(vyv292000, vyv291000, vyv292000, vyv291000) 248.65/165.14 new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Succ(vyv3330)) -> new_primModNatS01(vyv330, vyv331, vyv3320, vyv3330) 248.65/165.14 new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Zero) -> new_primModNatS02(vyv330, vyv331) 248.65/165.14 new_primModNatS1(Zero, vyv29100) -> Zero 248.65/165.14 new_esEs(Pos(Succ(vyv24100))) -> new_primEqInt(Pos(Succ(vyv24100))) 248.65/165.14 new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) 248.65/165.14 new_primEqInt(Pos(Zero)) -> True 248.65/165.14 new_primEqInt(Pos(Succ(vyv242000))) -> False 248.65/165.14 new_primMinusNatS2(Succ(vyv3100), Succ(vyv3110)) -> new_primMinusNatS2(vyv3100, vyv3110) 248.65/165.14 new_primModNatS01(vyv330, vyv331, Zero, Succ(vyv3330)) -> Succ(Succ(vyv330)) 248.65/165.14 new_primMinusNatS2(Zero, Zero) -> Zero 248.65/165.14 new_primMinusNatS2(Zero, Succ(vyv3110)) -> Zero 248.65/165.14 new_primMinusNatS2(Succ(vyv3100), Zero) -> Succ(vyv3100) 248.65/165.14 new_primMinusNatS1 -> Zero 248.65/165.14 new_primMinusNatS0(vyv270000) -> Succ(vyv270000) 248.65/165.14 new_esEs(Neg(Succ(vyv24100))) -> new_primEqInt(Neg(Succ(vyv24100))) 248.65/165.14 new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) 248.65/165.14 new_primEqInt(Neg(Zero)) -> True 248.65/165.14 new_primEqInt(Neg(Succ(vyv242000))) -> False 248.65/165.14 248.65/165.14 The set Q consists of the following terms: 248.65/165.14 248.65/165.14 new_primModNatS1(Succ(Zero), Succ(x0)) 248.65/165.14 new_primMinusNatS1 248.65/165.14 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 248.65/165.14 new_primEqInt(Pos(Zero)) 248.65/165.14 new_primModNatS02(x0, x1) 248.65/165.14 new_primModNatS01(x0, x1, Succ(x2), Zero) 248.65/165.14 new_primModNatS01(x0, x1, Zero, Succ(x2)) 248.65/165.14 new_primMinusNatS2(Zero, Zero) 248.65/165.14 new_esEs(Neg(Succ(x0))) 248.65/165.14 new_primMinusNatS2(Zero, Succ(x0)) 248.65/165.14 new_primModNatS1(Succ(Zero), Zero) 248.65/165.14 new_esEs(Pos(Zero)) 248.65/165.14 new_primEqInt(Neg(Succ(x0))) 248.65/165.14 new_primMinusNatS2(Succ(x0), Zero) 248.65/165.14 new_primEqInt(Neg(Zero)) 248.65/165.14 new_primMinusNatS0(x0) 248.65/165.14 new_primModNatS01(x0, x1, Zero, Zero) 248.65/165.14 new_primEqInt(Pos(Succ(x0))) 248.65/165.14 new_primMinusNatS2(Succ(x0), Succ(x1)) 248.65/165.14 new_primModNatS1(Succ(Succ(x0)), Zero) 248.65/165.14 new_primModNatS1(Zero, x0) 248.65/165.14 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 248.65/165.14 new_esEs(Neg(Zero)) 248.65/165.14 new_esEs(Pos(Succ(x0))) 248.65/165.14 248.65/165.14 We have to consider all minimal (P,Q,R)-chains. 248.65/165.14 ---------------------------------------- 248.65/165.14 248.65/165.14 (142) UsableRulesProof (EQUIVALENT) 248.65/165.14 As all Q-normal forms are R-normal forms we are in the innermost case. Hence, by the usable rules processor [LPAR04] we can delete all non-usable rules [FROCOS05] from R. 248.65/165.14 ---------------------------------------- 248.65/165.14 248.65/165.14 (143) 248.65/165.14 Obligation: 248.65/165.14 Q DP problem: 248.65/165.14 The TRS P consists of the following rules: 248.65/165.14 248.65/165.14 new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 248.65/165.14 new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) 248.65/165.14 new_gcd0Gcd'1(False, Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 248.65/165.14 new_gcd0Gcd'0(Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 248.65/165.14 248.65/165.14 The TRS R consists of the following rules: 248.65/165.14 248.65/165.14 new_primModNatS1(Succ(Succ(vyv292000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv292000), Zero) 248.65/165.14 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 248.65/165.14 new_primMinusNatS0(vyv270000) -> Succ(vyv270000) 248.65/165.14 new_primModNatS1(Zero, vyv29100) -> Zero 248.65/165.14 new_primMinusNatS1 -> Zero 248.65/165.14 new_esEs(Neg(Succ(vyv24100))) -> new_primEqInt(Neg(Succ(vyv24100))) 248.65/165.14 new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) 248.65/165.14 new_primEqInt(Neg(Zero)) -> True 248.65/165.14 new_primEqInt(Neg(Succ(vyv242000))) -> False 248.65/165.14 248.65/165.14 The set Q consists of the following terms: 248.65/165.14 248.65/165.14 new_primModNatS1(Succ(Zero), Succ(x0)) 248.65/165.14 new_primMinusNatS1 248.65/165.14 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 248.65/165.14 new_primEqInt(Pos(Zero)) 248.65/165.14 new_primModNatS02(x0, x1) 248.65/165.14 new_primModNatS01(x0, x1, Succ(x2), Zero) 248.65/165.14 new_primModNatS01(x0, x1, Zero, Succ(x2)) 248.65/165.14 new_primMinusNatS2(Zero, Zero) 248.65/165.14 new_esEs(Neg(Succ(x0))) 248.65/165.14 new_primMinusNatS2(Zero, Succ(x0)) 248.65/165.14 new_primModNatS1(Succ(Zero), Zero) 248.65/165.14 new_esEs(Pos(Zero)) 248.65/165.14 new_primEqInt(Neg(Succ(x0))) 248.65/165.14 new_primMinusNatS2(Succ(x0), Zero) 248.65/165.14 new_primEqInt(Neg(Zero)) 248.65/165.14 new_primMinusNatS0(x0) 248.65/165.14 new_primModNatS01(x0, x1, Zero, Zero) 248.65/165.14 new_primEqInt(Pos(Succ(x0))) 248.65/165.14 new_primMinusNatS2(Succ(x0), Succ(x1)) 248.65/165.14 new_primModNatS1(Succ(Succ(x0)), Zero) 248.65/165.14 new_primModNatS1(Zero, x0) 248.65/165.14 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 248.65/165.14 new_esEs(Neg(Zero)) 248.65/165.14 new_esEs(Pos(Succ(x0))) 248.65/165.14 248.65/165.14 We have to consider all minimal (P,Q,R)-chains. 248.65/165.14 ---------------------------------------- 248.65/165.14 248.65/165.14 (144) QReductionProof (EQUIVALENT) 248.65/165.14 We deleted the following terms from Q as each root-symbol of these terms does neither occur in P nor in R.[THIEMANN]. 248.65/165.14 248.65/165.14 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 248.65/165.14 new_primModNatS02(x0, x1) 248.65/165.14 new_primModNatS01(x0, x1, Succ(x2), Zero) 248.65/165.14 new_primModNatS01(x0, x1, Zero, Succ(x2)) 248.65/165.14 new_primMinusNatS2(Zero, Zero) 248.65/165.14 new_primMinusNatS2(Zero, Succ(x0)) 248.65/165.14 new_primMinusNatS2(Succ(x0), Zero) 248.65/165.14 new_primModNatS01(x0, x1, Zero, Zero) 248.65/165.14 new_primMinusNatS2(Succ(x0), Succ(x1)) 248.65/165.14 248.65/165.14 248.65/165.14 ---------------------------------------- 248.65/165.14 248.65/165.14 (145) 248.65/165.14 Obligation: 248.65/165.14 Q DP problem: 248.65/165.14 The TRS P consists of the following rules: 248.65/165.14 248.65/165.14 new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 248.65/165.14 new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) 248.65/165.14 new_gcd0Gcd'1(False, Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 248.65/165.14 new_gcd0Gcd'0(Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 248.65/165.14 248.65/165.14 The TRS R consists of the following rules: 248.65/165.14 248.65/165.14 new_primModNatS1(Succ(Succ(vyv292000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv292000), Zero) 248.65/165.14 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 248.65/165.14 new_primMinusNatS0(vyv270000) -> Succ(vyv270000) 248.65/165.14 new_primModNatS1(Zero, vyv29100) -> Zero 248.65/165.14 new_primMinusNatS1 -> Zero 248.65/165.14 new_esEs(Neg(Succ(vyv24100))) -> new_primEqInt(Neg(Succ(vyv24100))) 248.65/165.14 new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) 248.65/165.14 new_primEqInt(Neg(Zero)) -> True 248.65/165.14 new_primEqInt(Neg(Succ(vyv242000))) -> False 248.65/165.14 248.65/165.14 The set Q consists of the following terms: 248.65/165.14 248.65/165.14 new_primModNatS1(Succ(Zero), Succ(x0)) 248.65/165.14 new_primMinusNatS1 248.65/165.14 new_primEqInt(Pos(Zero)) 248.65/165.14 new_esEs(Neg(Succ(x0))) 248.65/165.14 new_primModNatS1(Succ(Zero), Zero) 248.65/165.14 new_esEs(Pos(Zero)) 248.65/165.14 new_primEqInt(Neg(Succ(x0))) 248.65/165.14 new_primEqInt(Neg(Zero)) 248.65/165.14 new_primMinusNatS0(x0) 248.65/165.14 new_primEqInt(Pos(Succ(x0))) 248.65/165.14 new_primModNatS1(Succ(Succ(x0)), Zero) 248.65/165.14 new_primModNatS1(Zero, x0) 248.65/165.14 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 248.65/165.14 new_esEs(Neg(Zero)) 248.65/165.14 new_esEs(Pos(Succ(x0))) 248.65/165.14 248.65/165.14 We have to consider all minimal (P,Q,R)-chains. 248.65/165.14 ---------------------------------------- 248.65/165.14 248.65/165.14 (146) TransformationProof (EQUIVALENT) 248.65/165.14 By rewriting [LPAR04] the rule new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) at position [0,0,0,0] we obtained the following new rules [LPAR04]: 248.65/165.14 248.65/165.14 (new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))),new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(Succ(Succ(x0))))) 248.65/165.14 248.65/165.14 248.65/165.14 ---------------------------------------- 248.65/165.14 248.65/165.14 (147) 248.65/165.14 Obligation: 248.65/165.14 Q DP problem: 248.65/165.14 The TRS P consists of the following rules: 248.65/165.14 248.65/165.14 new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 248.65/165.14 new_gcd0Gcd'1(False, Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 248.65/165.14 new_gcd0Gcd'0(Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 248.65/165.14 new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) 248.65/165.14 248.65/165.14 The TRS R consists of the following rules: 248.65/165.14 248.65/165.14 new_primModNatS1(Succ(Succ(vyv292000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv292000), Zero) 248.65/165.14 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 248.65/165.14 new_primMinusNatS0(vyv270000) -> Succ(vyv270000) 248.65/165.14 new_primModNatS1(Zero, vyv29100) -> Zero 248.65/165.14 new_primMinusNatS1 -> Zero 248.65/165.14 new_esEs(Neg(Succ(vyv24100))) -> new_primEqInt(Neg(Succ(vyv24100))) 248.65/165.14 new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) 248.65/165.14 new_primEqInt(Neg(Zero)) -> True 248.65/165.14 new_primEqInt(Neg(Succ(vyv242000))) -> False 248.65/165.14 248.65/165.14 The set Q consists of the following terms: 248.65/165.14 248.65/165.14 new_primModNatS1(Succ(Zero), Succ(x0)) 248.65/165.14 new_primMinusNatS1 248.65/165.14 new_primEqInt(Pos(Zero)) 248.65/165.14 new_esEs(Neg(Succ(x0))) 248.65/165.14 new_primModNatS1(Succ(Zero), Zero) 248.65/165.14 new_esEs(Pos(Zero)) 248.65/165.14 new_primEqInt(Neg(Succ(x0))) 248.65/165.14 new_primEqInt(Neg(Zero)) 248.65/165.14 new_primMinusNatS0(x0) 248.65/165.14 new_primEqInt(Pos(Succ(x0))) 248.65/165.14 new_primModNatS1(Succ(Succ(x0)), Zero) 248.65/165.14 new_primModNatS1(Zero, x0) 248.65/165.14 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 248.65/165.14 new_esEs(Neg(Zero)) 248.65/165.14 new_esEs(Pos(Succ(x0))) 248.65/165.14 248.65/165.14 We have to consider all minimal (P,Q,R)-chains. 248.65/165.14 ---------------------------------------- 248.65/165.14 248.65/165.14 (148) TransformationProof (EQUIVALENT) 248.65/165.14 By narrowing [LPAR04] the rule new_gcd0Gcd'1(False, Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) at position [1,0] we obtained the following new rules [LPAR04]: 248.65/165.14 248.65/165.14 (new_gcd0Gcd'1(False, Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_gcd0Gcd'0(Pos(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero))),new_gcd0Gcd'1(False, Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_gcd0Gcd'0(Pos(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero)))) 248.65/165.14 (new_gcd0Gcd'1(False, Pos(Succ(Zero)), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Pos(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS1, Zero))),new_gcd0Gcd'1(False, Pos(Succ(Zero)), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Pos(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS1, Zero)))) 248.65/165.14 248.65/165.14 248.65/165.14 ---------------------------------------- 248.65/165.14 248.65/165.14 (149) 248.65/165.14 Obligation: 248.65/165.14 Q DP problem: 248.65/165.14 The TRS P consists of the following rules: 248.65/165.14 248.65/165.14 new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 248.65/165.14 new_gcd0Gcd'0(Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 248.65/165.14 new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) 248.65/165.14 new_gcd0Gcd'1(False, Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_gcd0Gcd'0(Pos(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero))) 248.65/165.14 new_gcd0Gcd'1(False, Pos(Succ(Zero)), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Pos(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS1, Zero))) 248.65/165.14 248.65/165.14 The TRS R consists of the following rules: 248.65/165.14 248.65/165.14 new_primModNatS1(Succ(Succ(vyv292000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv292000), Zero) 248.65/165.14 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 248.65/165.14 new_primMinusNatS0(vyv270000) -> Succ(vyv270000) 248.65/165.14 new_primModNatS1(Zero, vyv29100) -> Zero 248.65/165.14 new_primMinusNatS1 -> Zero 248.65/165.14 new_esEs(Neg(Succ(vyv24100))) -> new_primEqInt(Neg(Succ(vyv24100))) 248.65/165.14 new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) 248.65/165.14 new_primEqInt(Neg(Zero)) -> True 248.65/165.14 new_primEqInt(Neg(Succ(vyv242000))) -> False 248.65/165.14 248.65/165.14 The set Q consists of the following terms: 248.65/165.14 248.65/165.14 new_primModNatS1(Succ(Zero), Succ(x0)) 248.65/165.14 new_primMinusNatS1 248.65/165.14 new_primEqInt(Pos(Zero)) 248.65/165.14 new_esEs(Neg(Succ(x0))) 248.65/165.14 new_primModNatS1(Succ(Zero), Zero) 248.65/165.14 new_esEs(Pos(Zero)) 248.65/165.14 new_primEqInt(Neg(Succ(x0))) 248.65/165.14 new_primEqInt(Neg(Zero)) 248.65/165.14 new_primMinusNatS0(x0) 248.65/165.14 new_primEqInt(Pos(Succ(x0))) 248.65/165.14 new_primModNatS1(Succ(Succ(x0)), Zero) 248.65/165.14 new_primModNatS1(Zero, x0) 248.65/165.14 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 248.65/165.14 new_esEs(Neg(Zero)) 248.65/165.14 new_esEs(Pos(Succ(x0))) 248.65/165.14 248.65/165.14 We have to consider all minimal (P,Q,R)-chains. 248.65/165.14 ---------------------------------------- 248.65/165.14 248.65/165.14 (150) TransformationProof (EQUIVALENT) 248.65/165.14 By rewriting [LPAR04] the rule new_gcd0Gcd'1(False, Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_gcd0Gcd'0(Pos(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero))) at position [1,0,0] we obtained the following new rules [LPAR04]: 248.65/165.14 248.65/165.14 (new_gcd0Gcd'1(False, Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_gcd0Gcd'0(Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))),new_gcd0Gcd'1(False, Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_gcd0Gcd'0(Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero)))) 248.65/165.14 248.65/165.14 248.65/165.14 ---------------------------------------- 248.65/165.14 248.65/165.14 (151) 248.65/165.14 Obligation: 248.65/165.14 Q DP problem: 248.65/165.14 The TRS P consists of the following rules: 248.65/165.14 248.65/165.14 new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 248.65/165.14 new_gcd0Gcd'0(Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 248.65/165.14 new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) 248.65/165.14 new_gcd0Gcd'1(False, Pos(Succ(Zero)), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Pos(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS1, Zero))) 248.65/165.14 new_gcd0Gcd'1(False, Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_gcd0Gcd'0(Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 248.65/165.14 248.65/165.14 The TRS R consists of the following rules: 248.65/165.14 248.65/165.14 new_primModNatS1(Succ(Succ(vyv292000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv292000), Zero) 248.65/165.14 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 248.65/165.14 new_primMinusNatS0(vyv270000) -> Succ(vyv270000) 248.65/165.14 new_primModNatS1(Zero, vyv29100) -> Zero 248.65/165.14 new_primMinusNatS1 -> Zero 248.65/165.14 new_esEs(Neg(Succ(vyv24100))) -> new_primEqInt(Neg(Succ(vyv24100))) 248.65/165.14 new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) 248.65/165.14 new_primEqInt(Neg(Zero)) -> True 248.65/165.14 new_primEqInt(Neg(Succ(vyv242000))) -> False 248.65/165.14 248.65/165.14 The set Q consists of the following terms: 248.65/165.14 248.65/165.14 new_primModNatS1(Succ(Zero), Succ(x0)) 248.65/165.14 new_primMinusNatS1 248.65/165.14 new_primEqInt(Pos(Zero)) 248.65/165.14 new_esEs(Neg(Succ(x0))) 248.65/165.14 new_primModNatS1(Succ(Zero), Zero) 248.65/165.14 new_esEs(Pos(Zero)) 248.65/165.14 new_primEqInt(Neg(Succ(x0))) 248.65/165.14 new_primEqInt(Neg(Zero)) 248.65/165.14 new_primMinusNatS0(x0) 248.65/165.14 new_primEqInt(Pos(Succ(x0))) 248.65/165.14 new_primModNatS1(Succ(Succ(x0)), Zero) 248.65/165.14 new_primModNatS1(Zero, x0) 248.65/165.14 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 248.65/165.14 new_esEs(Neg(Zero)) 248.65/165.14 new_esEs(Pos(Succ(x0))) 248.65/165.14 248.65/165.14 We have to consider all minimal (P,Q,R)-chains. 248.65/165.14 ---------------------------------------- 248.65/165.14 248.65/165.14 (152) TransformationProof (EQUIVALENT) 248.65/165.14 By rewriting [LPAR04] the rule new_gcd0Gcd'1(False, Pos(Succ(Zero)), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Pos(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS1, Zero))) at position [1,0,0] we obtained the following new rules [LPAR04]: 248.65/165.14 248.65/165.14 (new_gcd0Gcd'1(False, Pos(Succ(Zero)), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Pos(Succ(Zero)), Neg(new_primModNatS1(Zero, Zero))),new_gcd0Gcd'1(False, Pos(Succ(Zero)), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Pos(Succ(Zero)), Neg(new_primModNatS1(Zero, Zero)))) 248.65/165.14 248.65/165.14 248.65/165.14 ---------------------------------------- 248.65/165.14 248.65/165.14 (153) 248.65/165.14 Obligation: 248.65/165.14 Q DP problem: 248.65/165.14 The TRS P consists of the following rules: 248.65/165.14 248.65/165.14 new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 248.65/165.14 new_gcd0Gcd'0(Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 248.65/165.14 new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) 248.65/165.14 new_gcd0Gcd'1(False, Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_gcd0Gcd'0(Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 248.65/165.14 new_gcd0Gcd'1(False, Pos(Succ(Zero)), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Pos(Succ(Zero)), Neg(new_primModNatS1(Zero, Zero))) 248.65/165.14 248.65/165.14 The TRS R consists of the following rules: 248.65/165.14 248.65/165.14 new_primModNatS1(Succ(Succ(vyv292000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv292000), Zero) 248.65/165.14 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 248.65/165.14 new_primMinusNatS0(vyv270000) -> Succ(vyv270000) 248.65/165.14 new_primModNatS1(Zero, vyv29100) -> Zero 248.65/165.14 new_primMinusNatS1 -> Zero 248.65/165.14 new_esEs(Neg(Succ(vyv24100))) -> new_primEqInt(Neg(Succ(vyv24100))) 248.65/165.14 new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) 248.65/165.14 new_primEqInt(Neg(Zero)) -> True 248.65/165.14 new_primEqInt(Neg(Succ(vyv242000))) -> False 248.65/165.14 248.65/165.14 The set Q consists of the following terms: 248.65/165.14 248.65/165.14 new_primModNatS1(Succ(Zero), Succ(x0)) 248.65/165.14 new_primMinusNatS1 248.65/165.14 new_primEqInt(Pos(Zero)) 248.65/165.14 new_esEs(Neg(Succ(x0))) 248.65/165.14 new_primModNatS1(Succ(Zero), Zero) 248.65/165.14 new_esEs(Pos(Zero)) 248.65/165.14 new_primEqInt(Neg(Succ(x0))) 248.65/165.14 new_primEqInt(Neg(Zero)) 248.65/165.14 new_primMinusNatS0(x0) 248.65/165.14 new_primEqInt(Pos(Succ(x0))) 248.65/165.14 new_primModNatS1(Succ(Succ(x0)), Zero) 248.65/165.14 new_primModNatS1(Zero, x0) 248.65/165.14 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 248.65/165.14 new_esEs(Neg(Zero)) 248.65/165.14 new_esEs(Pos(Succ(x0))) 248.65/165.14 248.65/165.14 We have to consider all minimal (P,Q,R)-chains. 248.65/165.14 ---------------------------------------- 248.65/165.14 248.65/165.14 (154) DependencyGraphProof (EQUIVALENT) 248.65/165.14 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. 248.65/165.14 ---------------------------------------- 248.65/165.14 248.65/165.14 (155) 248.65/165.14 Obligation: 248.65/165.14 Q DP problem: 248.65/165.14 The TRS P consists of the following rules: 248.65/165.14 248.65/165.14 new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) 248.65/165.14 new_gcd0Gcd'1(False, Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_gcd0Gcd'0(Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 248.65/165.14 new_gcd0Gcd'0(Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 248.65/165.14 new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 248.65/165.14 248.65/165.14 The TRS R consists of the following rules: 248.65/165.14 248.65/165.14 new_primModNatS1(Succ(Succ(vyv292000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv292000), Zero) 248.65/165.14 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 248.65/165.14 new_primMinusNatS0(vyv270000) -> Succ(vyv270000) 248.65/165.14 new_primModNatS1(Zero, vyv29100) -> Zero 248.65/165.14 new_primMinusNatS1 -> Zero 248.65/165.14 new_esEs(Neg(Succ(vyv24100))) -> new_primEqInt(Neg(Succ(vyv24100))) 248.65/165.14 new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) 248.65/165.14 new_primEqInt(Neg(Zero)) -> True 248.65/165.14 new_primEqInt(Neg(Succ(vyv242000))) -> False 248.65/165.14 248.65/165.14 The set Q consists of the following terms: 248.65/165.14 248.65/165.14 new_primModNatS1(Succ(Zero), Succ(x0)) 248.65/165.14 new_primMinusNatS1 248.65/165.14 new_primEqInt(Pos(Zero)) 248.65/165.14 new_esEs(Neg(Succ(x0))) 248.65/165.14 new_primModNatS1(Succ(Zero), Zero) 248.65/165.14 new_esEs(Pos(Zero)) 248.65/165.14 new_primEqInt(Neg(Succ(x0))) 248.65/165.14 new_primEqInt(Neg(Zero)) 248.65/165.14 new_primMinusNatS0(x0) 248.65/165.14 new_primEqInt(Pos(Succ(x0))) 248.65/165.14 new_primModNatS1(Succ(Succ(x0)), Zero) 248.65/165.14 new_primModNatS1(Zero, x0) 248.65/165.14 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 248.65/165.14 new_esEs(Neg(Zero)) 248.65/165.14 new_esEs(Pos(Succ(x0))) 248.65/165.14 248.65/165.14 We have to consider all minimal (P,Q,R)-chains. 248.65/165.14 ---------------------------------------- 248.65/165.14 248.65/165.14 (156) TransformationProof (EQUIVALENT) 248.65/165.14 By narrowing [LPAR04] the rule new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) at position [0] we obtained the following new rules [LPAR04]: 248.65/165.14 248.65/165.14 (new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero))), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))),new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero))), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0)))))) 248.65/165.14 (new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS1, Zero))), Pos(Succ(Zero)), Neg(Succ(Succ(Zero)))),new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS1, Zero))), Pos(Succ(Zero)), Neg(Succ(Succ(Zero))))) 248.65/165.14 248.65/165.14 248.65/165.14 ---------------------------------------- 248.65/165.14 248.65/165.14 (157) 248.65/165.14 Obligation: 248.65/165.14 Q DP problem: 248.65/165.14 The TRS P consists of the following rules: 248.65/165.14 248.65/165.14 new_gcd0Gcd'1(False, Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_gcd0Gcd'0(Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 248.65/165.14 new_gcd0Gcd'0(Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 248.65/165.14 new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 248.65/165.14 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero))), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) 248.65/165.14 new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS1, Zero))), Pos(Succ(Zero)), Neg(Succ(Succ(Zero)))) 248.65/165.14 248.65/165.14 The TRS R consists of the following rules: 248.65/165.14 248.65/165.14 new_primModNatS1(Succ(Succ(vyv292000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv292000), Zero) 248.65/165.14 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 248.65/165.14 new_primMinusNatS0(vyv270000) -> Succ(vyv270000) 248.65/165.14 new_primModNatS1(Zero, vyv29100) -> Zero 248.65/165.14 new_primMinusNatS1 -> Zero 248.65/165.14 new_esEs(Neg(Succ(vyv24100))) -> new_primEqInt(Neg(Succ(vyv24100))) 248.65/165.14 new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) 248.65/165.14 new_primEqInt(Neg(Zero)) -> True 248.65/165.14 new_primEqInt(Neg(Succ(vyv242000))) -> False 248.65/165.14 248.65/165.14 The set Q consists of the following terms: 248.65/165.14 248.65/165.14 new_primModNatS1(Succ(Zero), Succ(x0)) 248.65/165.14 new_primMinusNatS1 248.65/165.14 new_primEqInt(Pos(Zero)) 248.65/165.14 new_esEs(Neg(Succ(x0))) 248.65/165.14 new_primModNatS1(Succ(Zero), Zero) 248.65/165.14 new_esEs(Pos(Zero)) 248.65/165.14 new_primEqInt(Neg(Succ(x0))) 248.65/165.14 new_primEqInt(Neg(Zero)) 248.65/165.14 new_primMinusNatS0(x0) 248.65/165.14 new_primEqInt(Pos(Succ(x0))) 248.65/165.14 new_primModNatS1(Succ(Succ(x0)), Zero) 248.65/165.14 new_primModNatS1(Zero, x0) 248.65/165.14 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 248.65/165.14 new_esEs(Neg(Zero)) 248.65/165.14 new_esEs(Pos(Succ(x0))) 248.65/165.14 248.65/165.14 We have to consider all minimal (P,Q,R)-chains. 248.65/165.14 ---------------------------------------- 248.65/165.14 248.65/165.14 (158) DependencyGraphProof (EQUIVALENT) 248.65/165.14 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. 248.65/165.14 ---------------------------------------- 248.65/165.14 248.65/165.14 (159) 248.65/165.14 Obligation: 248.65/165.14 Q DP problem: 248.65/165.14 The TRS P consists of the following rules: 248.65/165.14 248.65/165.14 new_gcd0Gcd'0(Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 248.65/165.14 new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 248.65/165.14 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero))), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) 248.65/165.14 new_gcd0Gcd'1(False, Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_gcd0Gcd'0(Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 248.65/165.14 248.65/165.14 The TRS R consists of the following rules: 248.65/165.14 248.65/165.14 new_primModNatS1(Succ(Succ(vyv292000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv292000), Zero) 248.65/165.14 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 248.65/165.14 new_primMinusNatS0(vyv270000) -> Succ(vyv270000) 248.65/165.14 new_primModNatS1(Zero, vyv29100) -> Zero 248.65/165.14 new_primMinusNatS1 -> Zero 248.65/165.14 new_esEs(Neg(Succ(vyv24100))) -> new_primEqInt(Neg(Succ(vyv24100))) 248.65/165.14 new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) 248.65/165.14 new_primEqInt(Neg(Zero)) -> True 248.65/165.14 new_primEqInt(Neg(Succ(vyv242000))) -> False 248.65/165.14 248.65/165.14 The set Q consists of the following terms: 248.65/165.14 248.65/165.14 new_primModNatS1(Succ(Zero), Succ(x0)) 248.65/165.14 new_primMinusNatS1 248.65/165.14 new_primEqInt(Pos(Zero)) 248.65/165.14 new_esEs(Neg(Succ(x0))) 248.65/165.14 new_primModNatS1(Succ(Zero), Zero) 248.65/165.14 new_esEs(Pos(Zero)) 248.65/165.14 new_primEqInt(Neg(Succ(x0))) 248.65/165.14 new_primEqInt(Neg(Zero)) 248.65/165.14 new_primMinusNatS0(x0) 248.65/165.14 new_primEqInt(Pos(Succ(x0))) 248.65/165.14 new_primModNatS1(Succ(Succ(x0)), Zero) 248.65/165.14 new_primModNatS1(Zero, x0) 248.65/165.14 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 248.65/165.14 new_esEs(Neg(Zero)) 248.65/165.14 new_esEs(Pos(Succ(x0))) 248.65/165.14 248.65/165.14 We have to consider all minimal (P,Q,R)-chains. 248.65/165.14 ---------------------------------------- 248.65/165.14 248.65/165.14 (160) TransformationProof (EQUIVALENT) 248.65/165.14 By rewriting [LPAR04] the rule new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero))), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) at position [0,0,0,0] we obtained the following new rules [LPAR04]: 248.65/165.14 248.65/165.14 (new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))),new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0)))))) 248.65/165.14 248.65/165.14 248.65/165.14 ---------------------------------------- 248.65/165.14 248.65/165.14 (161) 248.65/165.14 Obligation: 248.65/165.14 Q DP problem: 248.65/165.14 The TRS P consists of the following rules: 248.65/165.14 248.65/165.14 new_gcd0Gcd'0(Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 248.65/165.14 new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 248.65/165.14 new_gcd0Gcd'1(False, Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_gcd0Gcd'0(Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 248.65/165.14 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) 248.65/165.14 248.65/165.14 The TRS R consists of the following rules: 248.65/165.14 248.65/165.14 new_primModNatS1(Succ(Succ(vyv292000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv292000), Zero) 248.65/165.14 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 248.65/165.14 new_primMinusNatS0(vyv270000) -> Succ(vyv270000) 248.65/165.14 new_primModNatS1(Zero, vyv29100) -> Zero 248.65/165.14 new_primMinusNatS1 -> Zero 248.65/165.14 new_esEs(Neg(Succ(vyv24100))) -> new_primEqInt(Neg(Succ(vyv24100))) 248.65/165.14 new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) 248.65/165.14 new_primEqInt(Neg(Zero)) -> True 248.65/165.14 new_primEqInt(Neg(Succ(vyv242000))) -> False 248.65/165.14 248.65/165.14 The set Q consists of the following terms: 248.65/165.14 248.65/165.14 new_primModNatS1(Succ(Zero), Succ(x0)) 248.65/165.14 new_primMinusNatS1 248.65/165.14 new_primEqInt(Pos(Zero)) 248.65/165.14 new_esEs(Neg(Succ(x0))) 248.65/165.14 new_primModNatS1(Succ(Zero), Zero) 248.65/165.14 new_esEs(Pos(Zero)) 248.65/165.14 new_primEqInt(Neg(Succ(x0))) 248.65/165.14 new_primEqInt(Neg(Zero)) 248.65/165.14 new_primMinusNatS0(x0) 248.65/165.14 new_primEqInt(Pos(Succ(x0))) 248.65/165.14 new_primModNatS1(Succ(Succ(x0)), Zero) 248.65/165.14 new_primModNatS1(Zero, x0) 248.65/165.14 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 248.65/165.14 new_esEs(Neg(Zero)) 248.65/165.14 new_esEs(Pos(Succ(x0))) 248.65/165.14 248.65/165.14 We have to consider all minimal (P,Q,R)-chains. 248.65/165.14 ---------------------------------------- 248.65/165.14 248.65/165.14 (162) TransformationProof (EQUIVALENT) 248.65/165.14 By narrowing [LPAR04] the rule new_gcd0Gcd'1(False, Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_gcd0Gcd'0(Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) at position [1,0] we obtained the following new rules [LPAR04]: 248.65/165.14 248.65/165.14 (new_gcd0Gcd'1(False, Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'0(Pos(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero))),new_gcd0Gcd'1(False, Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'0(Pos(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero)))) 248.65/165.14 (new_gcd0Gcd'1(False, Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Pos(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS1, Zero))),new_gcd0Gcd'1(False, Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Pos(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS1, Zero)))) 248.65/165.14 248.65/165.14 248.65/165.14 ---------------------------------------- 248.65/165.14 248.65/165.14 (163) 248.65/165.14 Obligation: 248.65/165.14 Q DP problem: 248.65/165.14 The TRS P consists of the following rules: 248.65/165.14 248.65/165.14 new_gcd0Gcd'0(Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 248.65/165.14 new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 248.65/165.14 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) 248.65/165.14 new_gcd0Gcd'1(False, Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'0(Pos(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero))) 248.65/165.14 new_gcd0Gcd'1(False, Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Pos(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS1, Zero))) 248.65/165.14 248.65/165.14 The TRS R consists of the following rules: 248.65/165.14 248.65/165.14 new_primModNatS1(Succ(Succ(vyv292000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv292000), Zero) 248.65/165.14 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 248.65/165.14 new_primMinusNatS0(vyv270000) -> Succ(vyv270000) 248.65/165.14 new_primModNatS1(Zero, vyv29100) -> Zero 248.65/165.14 new_primMinusNatS1 -> Zero 248.65/165.14 new_esEs(Neg(Succ(vyv24100))) -> new_primEqInt(Neg(Succ(vyv24100))) 248.65/165.14 new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) 248.65/165.14 new_primEqInt(Neg(Zero)) -> True 248.65/165.14 new_primEqInt(Neg(Succ(vyv242000))) -> False 248.65/165.14 248.65/165.14 The set Q consists of the following terms: 248.65/165.14 248.65/165.14 new_primModNatS1(Succ(Zero), Succ(x0)) 248.65/165.14 new_primMinusNatS1 248.65/165.14 new_primEqInt(Pos(Zero)) 248.65/165.14 new_esEs(Neg(Succ(x0))) 248.65/165.14 new_primModNatS1(Succ(Zero), Zero) 248.65/165.14 new_esEs(Pos(Zero)) 248.65/165.14 new_primEqInt(Neg(Succ(x0))) 248.65/165.14 new_primEqInt(Neg(Zero)) 248.65/165.14 new_primMinusNatS0(x0) 248.65/165.14 new_primEqInt(Pos(Succ(x0))) 248.65/165.14 new_primModNatS1(Succ(Succ(x0)), Zero) 248.65/165.14 new_primModNatS1(Zero, x0) 248.65/165.14 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 248.65/165.14 new_esEs(Neg(Zero)) 248.65/165.14 new_esEs(Pos(Succ(x0))) 248.65/165.14 248.65/165.14 We have to consider all minimal (P,Q,R)-chains. 248.65/165.14 ---------------------------------------- 248.65/165.14 248.65/165.14 (164) TransformationProof (EQUIVALENT) 248.65/165.14 By rewriting [LPAR04] the rule new_gcd0Gcd'1(False, Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'0(Pos(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero))) at position [1,0,0] we obtained the following new rules [LPAR04]: 248.65/165.14 248.65/165.14 (new_gcd0Gcd'1(False, Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'0(Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))),new_gcd0Gcd'1(False, Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'0(Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero)))) 248.65/165.14 248.65/165.14 248.65/165.14 ---------------------------------------- 248.65/165.14 248.65/165.14 (165) 248.65/165.14 Obligation: 248.65/165.14 Q DP problem: 248.65/165.14 The TRS P consists of the following rules: 248.65/165.14 248.65/165.14 new_gcd0Gcd'0(Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 248.65/165.14 new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 248.65/165.14 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) 248.65/165.14 new_gcd0Gcd'1(False, Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Pos(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS1, Zero))) 248.65/165.14 new_gcd0Gcd'1(False, Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'0(Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 248.65/165.14 248.65/165.14 The TRS R consists of the following rules: 248.65/165.14 248.65/165.14 new_primModNatS1(Succ(Succ(vyv292000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv292000), Zero) 248.65/165.14 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 248.65/165.14 new_primMinusNatS0(vyv270000) -> Succ(vyv270000) 248.65/165.14 new_primModNatS1(Zero, vyv29100) -> Zero 248.65/165.14 new_primMinusNatS1 -> Zero 248.65/165.14 new_esEs(Neg(Succ(vyv24100))) -> new_primEqInt(Neg(Succ(vyv24100))) 248.65/165.14 new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) 248.65/165.14 new_primEqInt(Neg(Zero)) -> True 248.65/165.14 new_primEqInt(Neg(Succ(vyv242000))) -> False 248.65/165.14 248.65/165.14 The set Q consists of the following terms: 248.65/165.14 248.65/165.14 new_primModNatS1(Succ(Zero), Succ(x0)) 248.65/165.14 new_primMinusNatS1 248.65/165.14 new_primEqInt(Pos(Zero)) 248.65/165.14 new_esEs(Neg(Succ(x0))) 248.65/165.14 new_primModNatS1(Succ(Zero), Zero) 248.65/165.14 new_esEs(Pos(Zero)) 248.65/165.14 new_primEqInt(Neg(Succ(x0))) 248.65/165.14 new_primEqInt(Neg(Zero)) 248.65/165.14 new_primMinusNatS0(x0) 248.65/165.14 new_primEqInt(Pos(Succ(x0))) 248.65/165.14 new_primModNatS1(Succ(Succ(x0)), Zero) 248.65/165.14 new_primModNatS1(Zero, x0) 248.65/165.14 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 248.65/165.14 new_esEs(Neg(Zero)) 248.65/165.14 new_esEs(Pos(Succ(x0))) 248.65/165.14 248.65/165.14 We have to consider all minimal (P,Q,R)-chains. 248.65/165.14 ---------------------------------------- 248.65/165.14 248.65/165.14 (166) TransformationProof (EQUIVALENT) 248.65/165.14 By rewriting [LPAR04] the rule new_gcd0Gcd'1(False, Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Pos(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS1, Zero))) at position [1,0,0] we obtained the following new rules [LPAR04]: 248.65/165.14 248.65/165.14 (new_gcd0Gcd'1(False, Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Pos(Succ(Zero)), Neg(new_primModNatS1(Zero, Zero))),new_gcd0Gcd'1(False, Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Pos(Succ(Zero)), Neg(new_primModNatS1(Zero, Zero)))) 248.65/165.14 248.65/165.14 248.65/165.14 ---------------------------------------- 248.65/165.14 248.65/165.14 (167) 248.65/165.14 Obligation: 248.65/165.14 Q DP problem: 248.65/165.14 The TRS P consists of the following rules: 248.65/165.14 248.65/165.14 new_gcd0Gcd'0(Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 248.65/165.14 new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 248.65/165.14 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) 248.65/165.14 new_gcd0Gcd'1(False, Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'0(Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 248.65/165.14 new_gcd0Gcd'1(False, Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Pos(Succ(Zero)), Neg(new_primModNatS1(Zero, Zero))) 248.65/165.14 248.65/165.14 The TRS R consists of the following rules: 248.65/165.14 248.65/165.14 new_primModNatS1(Succ(Succ(vyv292000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv292000), Zero) 248.65/165.14 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 248.65/165.14 new_primMinusNatS0(vyv270000) -> Succ(vyv270000) 248.65/165.14 new_primModNatS1(Zero, vyv29100) -> Zero 248.65/165.14 new_primMinusNatS1 -> Zero 248.65/165.14 new_esEs(Neg(Succ(vyv24100))) -> new_primEqInt(Neg(Succ(vyv24100))) 248.65/165.14 new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) 248.65/165.14 new_primEqInt(Neg(Zero)) -> True 248.65/165.14 new_primEqInt(Neg(Succ(vyv242000))) -> False 248.65/165.14 248.65/165.14 The set Q consists of the following terms: 248.65/165.14 248.65/165.14 new_primModNatS1(Succ(Zero), Succ(x0)) 248.65/165.14 new_primMinusNatS1 248.65/165.14 new_primEqInt(Pos(Zero)) 248.65/165.14 new_esEs(Neg(Succ(x0))) 248.65/165.14 new_primModNatS1(Succ(Zero), Zero) 248.65/165.14 new_esEs(Pos(Zero)) 248.65/165.14 new_primEqInt(Neg(Succ(x0))) 248.65/165.14 new_primEqInt(Neg(Zero)) 248.65/165.14 new_primMinusNatS0(x0) 248.65/165.14 new_primEqInt(Pos(Succ(x0))) 248.65/165.14 new_primModNatS1(Succ(Succ(x0)), Zero) 248.65/165.14 new_primModNatS1(Zero, x0) 248.65/165.14 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 248.65/165.14 new_esEs(Neg(Zero)) 248.65/165.14 new_esEs(Pos(Succ(x0))) 248.65/165.14 248.65/165.14 We have to consider all minimal (P,Q,R)-chains. 248.65/165.14 ---------------------------------------- 248.65/165.14 248.65/165.14 (168) DependencyGraphProof (EQUIVALENT) 248.65/165.14 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. 248.65/165.14 ---------------------------------------- 248.65/165.14 248.65/165.14 (169) 248.65/165.14 Obligation: 248.65/165.14 Q DP problem: 248.65/165.14 The TRS P consists of the following rules: 248.65/165.14 248.65/165.14 new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 248.65/165.14 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) 248.65/165.14 new_gcd0Gcd'1(False, Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'0(Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 248.65/165.14 new_gcd0Gcd'0(Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 248.65/165.14 248.65/165.14 The TRS R consists of the following rules: 248.65/165.14 248.65/165.14 new_primModNatS1(Succ(Succ(vyv292000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv292000), Zero) 248.65/165.14 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 248.65/165.14 new_primMinusNatS0(vyv270000) -> Succ(vyv270000) 248.65/165.14 new_primModNatS1(Zero, vyv29100) -> Zero 248.65/165.14 new_primMinusNatS1 -> Zero 248.65/165.14 new_esEs(Neg(Succ(vyv24100))) -> new_primEqInt(Neg(Succ(vyv24100))) 248.65/165.14 new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) 248.65/165.14 new_primEqInt(Neg(Zero)) -> True 248.65/165.14 new_primEqInt(Neg(Succ(vyv242000))) -> False 248.65/165.14 248.65/165.14 The set Q consists of the following terms: 248.65/165.14 248.65/165.14 new_primModNatS1(Succ(Zero), Succ(x0)) 248.65/165.14 new_primMinusNatS1 248.65/165.14 new_primEqInt(Pos(Zero)) 248.65/165.14 new_esEs(Neg(Succ(x0))) 248.65/165.14 new_primModNatS1(Succ(Zero), Zero) 248.65/165.14 new_esEs(Pos(Zero)) 248.65/165.14 new_primEqInt(Neg(Succ(x0))) 248.65/165.14 new_primEqInt(Neg(Zero)) 248.65/165.14 new_primMinusNatS0(x0) 248.65/165.14 new_primEqInt(Pos(Succ(x0))) 248.65/165.14 new_primModNatS1(Succ(Succ(x0)), Zero) 248.65/165.14 new_primModNatS1(Zero, x0) 248.65/165.14 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 248.65/165.14 new_esEs(Neg(Zero)) 248.65/165.14 new_esEs(Pos(Succ(x0))) 248.65/165.14 248.65/165.14 We have to consider all minimal (P,Q,R)-chains. 248.65/165.14 ---------------------------------------- 248.65/165.14 248.65/165.14 (170) TransformationProof (EQUIVALENT) 248.65/165.14 By narrowing [LPAR04] the rule new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) at position [0] we obtained the following new rules [LPAR04]: 248.65/165.14 248.65/165.14 (new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero))), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))),new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero))), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0))))))) 248.65/165.14 (new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS1, Zero))), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Zero))))),new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS1, Zero))), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Zero)))))) 248.65/165.14 248.65/165.14 248.65/165.14 ---------------------------------------- 248.65/165.14 248.65/165.14 (171) 248.65/165.14 Obligation: 248.65/165.14 Q DP problem: 248.65/165.14 The TRS P consists of the following rules: 248.65/165.14 248.65/165.14 new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 248.65/165.14 new_gcd0Gcd'1(False, Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'0(Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 248.65/165.14 new_gcd0Gcd'0(Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 248.65/165.14 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero))), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))) 248.65/165.14 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS1, Zero))), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Zero))))) 248.65/165.14 248.65/165.14 The TRS R consists of the following rules: 248.65/165.14 248.65/165.14 new_primModNatS1(Succ(Succ(vyv292000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv292000), Zero) 248.65/165.14 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 248.65/165.14 new_primMinusNatS0(vyv270000) -> Succ(vyv270000) 248.65/165.14 new_primModNatS1(Zero, vyv29100) -> Zero 248.65/165.14 new_primMinusNatS1 -> Zero 248.65/165.14 new_esEs(Neg(Succ(vyv24100))) -> new_primEqInt(Neg(Succ(vyv24100))) 248.65/165.14 new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) 248.65/165.14 new_primEqInt(Neg(Zero)) -> True 248.65/165.14 new_primEqInt(Neg(Succ(vyv242000))) -> False 248.65/165.14 248.65/165.14 The set Q consists of the following terms: 248.65/165.14 248.65/165.14 new_primModNatS1(Succ(Zero), Succ(x0)) 248.65/165.14 new_primMinusNatS1 248.65/165.14 new_primEqInt(Pos(Zero)) 248.65/165.14 new_esEs(Neg(Succ(x0))) 248.65/165.14 new_primModNatS1(Succ(Zero), Zero) 248.65/165.14 new_esEs(Pos(Zero)) 248.65/165.14 new_primEqInt(Neg(Succ(x0))) 248.65/165.14 new_primEqInt(Neg(Zero)) 248.65/165.14 new_primMinusNatS0(x0) 248.65/165.14 new_primEqInt(Pos(Succ(x0))) 248.65/165.14 new_primModNatS1(Succ(Succ(x0)), Zero) 248.65/165.14 new_primModNatS1(Zero, x0) 248.65/165.14 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 248.65/165.14 new_esEs(Neg(Zero)) 248.65/165.14 new_esEs(Pos(Succ(x0))) 248.65/165.14 248.65/165.14 We have to consider all minimal (P,Q,R)-chains. 248.65/165.14 ---------------------------------------- 248.65/165.14 248.65/165.14 (172) DependencyGraphProof (EQUIVALENT) 248.65/165.14 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. 248.65/165.14 ---------------------------------------- 248.65/165.14 248.65/165.14 (173) 248.65/165.14 Obligation: 248.65/165.14 Q DP problem: 248.65/165.14 The TRS P consists of the following rules: 248.65/165.14 248.65/165.14 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero))), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))) 248.65/165.14 new_gcd0Gcd'1(False, Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'0(Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 248.65/165.14 new_gcd0Gcd'0(Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 248.65/165.14 new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 248.65/165.14 248.65/165.14 The TRS R consists of the following rules: 248.65/165.14 248.65/165.14 new_primModNatS1(Succ(Succ(vyv292000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv292000), Zero) 248.65/165.14 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 248.65/165.14 new_primMinusNatS0(vyv270000) -> Succ(vyv270000) 248.65/165.14 new_primModNatS1(Zero, vyv29100) -> Zero 248.65/165.14 new_primMinusNatS1 -> Zero 248.65/165.14 new_esEs(Neg(Succ(vyv24100))) -> new_primEqInt(Neg(Succ(vyv24100))) 248.65/165.14 new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) 248.65/165.14 new_primEqInt(Neg(Zero)) -> True 248.65/165.14 new_primEqInt(Neg(Succ(vyv242000))) -> False 248.65/165.14 248.65/165.14 The set Q consists of the following terms: 248.65/165.14 248.65/165.14 new_primModNatS1(Succ(Zero), Succ(x0)) 248.65/165.14 new_primMinusNatS1 248.65/165.14 new_primEqInt(Pos(Zero)) 248.65/165.14 new_esEs(Neg(Succ(x0))) 248.65/165.14 new_primModNatS1(Succ(Zero), Zero) 248.65/165.14 new_esEs(Pos(Zero)) 248.65/165.14 new_primEqInt(Neg(Succ(x0))) 248.65/165.14 new_primEqInt(Neg(Zero)) 248.65/165.14 new_primMinusNatS0(x0) 248.65/165.14 new_primEqInt(Pos(Succ(x0))) 248.65/165.14 new_primModNatS1(Succ(Succ(x0)), Zero) 248.65/165.14 new_primModNatS1(Zero, x0) 248.65/165.14 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 248.65/165.14 new_esEs(Neg(Zero)) 248.65/165.14 new_esEs(Pos(Succ(x0))) 248.65/165.14 248.65/165.14 We have to consider all minimal (P,Q,R)-chains. 248.65/165.14 ---------------------------------------- 248.65/165.14 248.65/165.14 (174) TransformationProof (EQUIVALENT) 248.65/165.14 By rewriting [LPAR04] the rule new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero))), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))) at position [0,0,0,0] we obtained the following new rules [LPAR04]: 248.65/165.14 248.65/165.14 (new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))),new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0))))))) 248.65/165.14 248.65/165.14 248.65/165.14 ---------------------------------------- 248.65/165.14 248.65/165.14 (175) 248.65/165.14 Obligation: 248.65/165.14 Q DP problem: 248.65/165.14 The TRS P consists of the following rules: 248.65/165.14 248.65/165.14 new_gcd0Gcd'1(False, Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'0(Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 248.65/165.14 new_gcd0Gcd'0(Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 248.65/165.14 new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 248.65/165.14 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))) 248.65/165.14 248.65/165.14 The TRS R consists of the following rules: 248.65/165.14 248.65/165.14 new_primModNatS1(Succ(Succ(vyv292000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv292000), Zero) 248.65/165.14 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 248.65/165.14 new_primMinusNatS0(vyv270000) -> Succ(vyv270000) 248.65/165.14 new_primModNatS1(Zero, vyv29100) -> Zero 248.65/165.14 new_primMinusNatS1 -> Zero 248.65/165.14 new_esEs(Neg(Succ(vyv24100))) -> new_primEqInt(Neg(Succ(vyv24100))) 248.65/165.14 new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) 248.65/165.14 new_primEqInt(Neg(Zero)) -> True 248.65/165.14 new_primEqInt(Neg(Succ(vyv242000))) -> False 248.65/165.14 248.65/165.14 The set Q consists of the following terms: 248.65/165.14 248.65/165.14 new_primModNatS1(Succ(Zero), Succ(x0)) 248.65/165.14 new_primMinusNatS1 248.65/165.14 new_primEqInt(Pos(Zero)) 248.65/165.14 new_esEs(Neg(Succ(x0))) 248.65/165.14 new_primModNatS1(Succ(Zero), Zero) 248.65/165.14 new_esEs(Pos(Zero)) 248.65/165.14 new_primEqInt(Neg(Succ(x0))) 248.65/165.14 new_primEqInt(Neg(Zero)) 248.65/165.14 new_primMinusNatS0(x0) 248.65/165.14 new_primEqInt(Pos(Succ(x0))) 248.65/165.14 new_primModNatS1(Succ(Succ(x0)), Zero) 248.65/165.14 new_primModNatS1(Zero, x0) 248.65/165.14 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 248.65/165.14 new_esEs(Neg(Zero)) 248.65/165.14 new_esEs(Pos(Succ(x0))) 248.65/165.14 248.65/165.14 We have to consider all minimal (P,Q,R)-chains. 248.65/165.14 ---------------------------------------- 248.65/165.14 248.65/165.14 (176) QDPSizeChangeProof (EQUIVALENT) 248.65/165.14 We used the following order together with the size-change analysis [AAECC05] to show that there are no infinite chains for this DP problem. 248.65/165.14 248.65/165.14 Order:Polynomial interpretation [POLO]: 248.65/165.14 248.65/165.14 POL(False) = 1 248.65/165.14 POL(Neg(x_1)) = x_1 248.65/165.14 POL(Pos(x_1)) = 1 248.65/165.14 POL(Succ(x_1)) = 1 + x_1 248.65/165.14 POL(Zero) = 1 248.65/165.14 POL(new_primMinusNatS0(x_1)) = 1 + x_1 248.65/165.14 POL(new_primMinusNatS1) = 1 248.65/165.14 POL(new_primModNatS1(x_1, x_2)) = x_1 248.65/165.14 248.65/165.14 248.65/165.14 248.65/165.14 248.65/165.14 From the DPs we obtained the following set of size-change graphs: 248.65/165.14 *new_gcd0Gcd'0(Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) (allowed arguments on rhs = {2, 3}) 248.65/165.14 The graph contains the following edges 2 >= 2, 1 >= 3 248.65/165.14 248.65/165.14 248.65/165.14 *new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))) (allowed arguments on rhs = {2, 3}) 248.65/165.14 The graph contains the following edges 2 >= 2, 1 >= 3 248.65/165.14 248.65/165.14 248.65/165.14 *new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) (allowed arguments on rhs = {1, 2}) 248.65/165.14 The graph contains the following edges 2 >= 1, 3 >= 2 248.65/165.14 248.65/165.14 248.65/165.14 *new_gcd0Gcd'1(False, Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'0(Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) (allowed arguments on rhs = {1, 2}) 248.65/165.16 The graph contains the following edges 2 >= 1, 3 > 2 248.65/165.16 248.65/165.16 248.65/165.16 248.65/165.16 We oriented the following set of usable rules [AAECC05,FROCOS05]. 248.65/165.16 248.65/165.16 new_primModNatS1(Zero, vyv29100) -> Zero 248.65/165.16 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 248.65/165.16 new_primModNatS1(Succ(Succ(vyv292000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv292000), Zero) 248.65/165.16 new_primMinusNatS1 -> Zero 248.65/165.16 new_primMinusNatS0(vyv270000) -> Succ(vyv270000) 248.65/165.16 248.65/165.16 ---------------------------------------- 248.65/165.16 248.65/165.16 (177) 248.65/165.16 YES 248.65/165.16 248.65/165.16 ---------------------------------------- 248.65/165.16 248.65/165.16 (178) 248.65/165.16 Obligation: 248.65/165.16 Q DP problem: 248.65/165.16 The TRS P consists of the following rules: 248.65/165.16 248.65/165.16 new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(x0, x1, x0, x1))), Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) 248.65/165.16 new_gcd0Gcd'1(False, Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Pos(Succ(Succ(x1))), Neg(new_primModNatS01(x0, x1, x0, x1))) 248.65/165.16 new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(x0, x1, x0, x1))), Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) 248.65/165.16 new_gcd0Gcd'1(False, Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x1))), Pos(new_primModNatS01(x0, x1, x0, x1))) 248.65/165.16 248.65/165.16 The TRS R consists of the following rules: 248.65/165.16 248.65/165.16 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 248.65/165.16 new_primModNatS1(Succ(Succ(vyv292000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv292000), Zero) 248.65/165.16 new_primModNatS1(Succ(Zero), Succ(vyv291000)) -> Succ(Zero) 248.65/165.16 new_primModNatS01(vyv330, vyv331, Zero, Zero) -> new_primModNatS02(vyv330, vyv331) 248.65/165.16 new_primModNatS02(vyv330, vyv331) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv330), Succ(vyv331)), Succ(vyv331)) 248.65/165.16 new_primModNatS1(Succ(Succ(vyv292000)), Succ(vyv291000)) -> new_primModNatS01(vyv292000, vyv291000, vyv292000, vyv291000) 248.65/165.16 new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Succ(vyv3330)) -> new_primModNatS01(vyv330, vyv331, vyv3320, vyv3330) 248.65/165.16 new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Zero) -> new_primModNatS02(vyv330, vyv331) 248.65/165.16 new_primModNatS1(Zero, vyv29100) -> Zero 248.65/165.16 new_esEs(Pos(Succ(vyv24100))) -> new_primEqInt(Pos(Succ(vyv24100))) 248.65/165.16 new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) 248.65/165.16 new_primEqInt(Pos(Zero)) -> True 248.65/165.16 new_primEqInt(Pos(Succ(vyv242000))) -> False 248.65/165.16 new_primMinusNatS2(Succ(vyv3100), Succ(vyv3110)) -> new_primMinusNatS2(vyv3100, vyv3110) 248.65/165.16 new_primModNatS01(vyv330, vyv331, Zero, Succ(vyv3330)) -> Succ(Succ(vyv330)) 248.65/165.16 new_primMinusNatS2(Zero, Zero) -> Zero 248.65/165.16 new_primMinusNatS2(Zero, Succ(vyv3110)) -> Zero 248.65/165.16 new_primMinusNatS2(Succ(vyv3100), Zero) -> Succ(vyv3100) 248.65/165.16 new_primMinusNatS1 -> Zero 248.65/165.16 new_primMinusNatS0(vyv270000) -> Succ(vyv270000) 248.65/165.16 new_esEs(Neg(Succ(vyv24100))) -> new_primEqInt(Neg(Succ(vyv24100))) 248.65/165.16 new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) 248.65/165.16 new_primEqInt(Neg(Zero)) -> True 248.65/165.16 new_primEqInt(Neg(Succ(vyv242000))) -> False 248.65/165.16 248.65/165.16 The set Q consists of the following terms: 248.65/165.16 248.65/165.16 new_primModNatS1(Succ(Zero), Succ(x0)) 248.65/165.16 new_primMinusNatS1 248.65/165.16 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 248.65/165.16 new_primEqInt(Pos(Zero)) 248.65/165.16 new_primModNatS02(x0, x1) 248.65/165.16 new_primModNatS01(x0, x1, Succ(x2), Zero) 248.65/165.16 new_primModNatS01(x0, x1, Zero, Succ(x2)) 248.65/165.16 new_primMinusNatS2(Zero, Zero) 248.65/165.16 new_esEs(Neg(Succ(x0))) 248.65/165.16 new_primMinusNatS2(Zero, Succ(x0)) 248.65/165.16 new_primModNatS1(Succ(Zero), Zero) 248.65/165.16 new_esEs(Pos(Zero)) 248.65/165.16 new_primEqInt(Neg(Succ(x0))) 248.65/165.16 new_primMinusNatS2(Succ(x0), Zero) 248.65/165.16 new_primEqInt(Neg(Zero)) 248.65/165.16 new_primMinusNatS0(x0) 248.65/165.16 new_primModNatS01(x0, x1, Zero, Zero) 248.65/165.16 new_primEqInt(Pos(Succ(x0))) 248.65/165.16 new_primMinusNatS2(Succ(x0), Succ(x1)) 248.65/165.16 new_primModNatS1(Succ(Succ(x0)), Zero) 248.65/165.16 new_primModNatS1(Zero, x0) 248.65/165.16 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 248.65/165.16 new_esEs(Neg(Zero)) 248.65/165.16 new_esEs(Pos(Succ(x0))) 248.65/165.16 248.65/165.16 We have to consider all minimal (P,Q,R)-chains. 248.65/165.16 ---------------------------------------- 248.65/165.16 248.65/165.16 (179) UsableRulesProof (EQUIVALENT) 248.65/165.16 As all Q-normal forms are R-normal forms we are in the innermost case. Hence, by the usable rules processor [LPAR04] we can delete all non-usable rules [FROCOS05] from R. 248.65/165.16 ---------------------------------------- 248.65/165.16 248.65/165.16 (180) 248.65/165.16 Obligation: 248.65/165.16 Q DP problem: 248.65/165.16 The TRS P consists of the following rules: 248.65/165.16 248.65/165.16 new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(x0, x1, x0, x1))), Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) 248.65/165.16 new_gcd0Gcd'1(False, Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Pos(Succ(Succ(x1))), Neg(new_primModNatS01(x0, x1, x0, x1))) 248.65/165.16 new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(x0, x1, x0, x1))), Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) 248.65/165.16 new_gcd0Gcd'1(False, Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x1))), Pos(new_primModNatS01(x0, x1, x0, x1))) 248.65/165.16 248.65/165.16 The TRS R consists of the following rules: 248.65/165.16 248.65/165.16 new_primModNatS1(Succ(Succ(vyv292000)), Succ(vyv291000)) -> new_primModNatS01(vyv292000, vyv291000, vyv292000, vyv291000) 248.65/165.16 new_primModNatS01(vyv330, vyv331, Zero, Zero) -> new_primModNatS02(vyv330, vyv331) 248.65/165.16 new_primModNatS02(vyv330, vyv331) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv330), Succ(vyv331)), Succ(vyv331)) 248.65/165.16 new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Succ(vyv3330)) -> new_primModNatS01(vyv330, vyv331, vyv3320, vyv3330) 248.65/165.16 new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Zero) -> new_primModNatS02(vyv330, vyv331) 248.65/165.16 new_primModNatS01(vyv330, vyv331, Zero, Succ(vyv3330)) -> Succ(Succ(vyv330)) 248.65/165.16 new_primMinusNatS2(Succ(vyv3100), Succ(vyv3110)) -> new_primMinusNatS2(vyv3100, vyv3110) 248.65/165.16 new_primModNatS1(Succ(Zero), Succ(vyv291000)) -> Succ(Zero) 248.65/165.16 new_primModNatS1(Zero, vyv29100) -> Zero 248.65/165.16 new_primMinusNatS2(Zero, Zero) -> Zero 248.65/165.16 new_primMinusNatS2(Zero, Succ(vyv3110)) -> Zero 248.65/165.16 new_primMinusNatS2(Succ(vyv3100), Zero) -> Succ(vyv3100) 248.65/165.16 new_esEs(Pos(Succ(vyv24100))) -> new_primEqInt(Pos(Succ(vyv24100))) 248.65/165.16 new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) 248.65/165.16 new_primEqInt(Pos(Zero)) -> True 248.65/165.16 new_primEqInt(Pos(Succ(vyv242000))) -> False 248.65/165.16 new_esEs(Neg(Succ(vyv24100))) -> new_primEqInt(Neg(Succ(vyv24100))) 248.65/165.16 new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) 248.65/165.16 new_primEqInt(Neg(Zero)) -> True 248.65/165.16 new_primEqInt(Neg(Succ(vyv242000))) -> False 248.65/165.16 248.65/165.16 The set Q consists of the following terms: 248.65/165.16 248.65/165.16 new_primModNatS1(Succ(Zero), Succ(x0)) 248.65/165.16 new_primMinusNatS1 248.65/165.16 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 248.65/165.16 new_primEqInt(Pos(Zero)) 248.65/165.16 new_primModNatS02(x0, x1) 248.65/165.16 new_primModNatS01(x0, x1, Succ(x2), Zero) 248.65/165.16 new_primModNatS01(x0, x1, Zero, Succ(x2)) 248.65/165.16 new_primMinusNatS2(Zero, Zero) 248.65/165.16 new_esEs(Neg(Succ(x0))) 248.65/165.16 new_primMinusNatS2(Zero, Succ(x0)) 248.65/165.16 new_primModNatS1(Succ(Zero), Zero) 248.65/165.16 new_esEs(Pos(Zero)) 248.65/165.16 new_primEqInt(Neg(Succ(x0))) 248.65/165.16 new_primMinusNatS2(Succ(x0), Zero) 248.65/165.16 new_primEqInt(Neg(Zero)) 248.65/165.16 new_primMinusNatS0(x0) 248.65/165.16 new_primModNatS01(x0, x1, Zero, Zero) 248.65/165.16 new_primEqInt(Pos(Succ(x0))) 248.65/165.16 new_primMinusNatS2(Succ(x0), Succ(x1)) 248.65/165.16 new_primModNatS1(Succ(Succ(x0)), Zero) 248.65/165.16 new_primModNatS1(Zero, x0) 248.65/165.16 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 248.65/165.16 new_esEs(Neg(Zero)) 248.65/165.16 new_esEs(Pos(Succ(x0))) 248.65/165.16 248.65/165.16 We have to consider all minimal (P,Q,R)-chains. 248.65/165.16 ---------------------------------------- 248.65/165.16 248.65/165.16 (181) QReductionProof (EQUIVALENT) 248.65/165.16 We deleted the following terms from Q as each root-symbol of these terms does neither occur in P nor in R.[THIEMANN]. 248.65/165.16 248.65/165.16 new_primMinusNatS1 248.65/165.16 new_primMinusNatS0(x0) 248.65/165.16 248.65/165.16 248.65/165.16 ---------------------------------------- 248.65/165.16 248.65/165.16 (182) 248.65/165.16 Obligation: 248.65/165.16 Q DP problem: 248.65/165.16 The TRS P consists of the following rules: 248.65/165.16 248.65/165.16 new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(x0, x1, x0, x1))), Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) 248.65/165.16 new_gcd0Gcd'1(False, Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Pos(Succ(Succ(x1))), Neg(new_primModNatS01(x0, x1, x0, x1))) 248.65/165.16 new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(x0, x1, x0, x1))), Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) 248.65/165.16 new_gcd0Gcd'1(False, Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x1))), Pos(new_primModNatS01(x0, x1, x0, x1))) 248.65/165.16 248.65/165.16 The TRS R consists of the following rules: 248.65/165.16 248.65/165.16 new_primModNatS1(Succ(Succ(vyv292000)), Succ(vyv291000)) -> new_primModNatS01(vyv292000, vyv291000, vyv292000, vyv291000) 248.65/165.16 new_primModNatS01(vyv330, vyv331, Zero, Zero) -> new_primModNatS02(vyv330, vyv331) 248.65/165.16 new_primModNatS02(vyv330, vyv331) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv330), Succ(vyv331)), Succ(vyv331)) 248.65/165.16 new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Succ(vyv3330)) -> new_primModNatS01(vyv330, vyv331, vyv3320, vyv3330) 248.65/165.16 new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Zero) -> new_primModNatS02(vyv330, vyv331) 248.65/165.16 new_primModNatS01(vyv330, vyv331, Zero, Succ(vyv3330)) -> Succ(Succ(vyv330)) 248.65/165.16 new_primMinusNatS2(Succ(vyv3100), Succ(vyv3110)) -> new_primMinusNatS2(vyv3100, vyv3110) 248.65/165.16 new_primModNatS1(Succ(Zero), Succ(vyv291000)) -> Succ(Zero) 248.65/165.16 new_primModNatS1(Zero, vyv29100) -> Zero 248.65/165.16 new_primMinusNatS2(Zero, Zero) -> Zero 248.65/165.16 new_primMinusNatS2(Zero, Succ(vyv3110)) -> Zero 248.65/165.16 new_primMinusNatS2(Succ(vyv3100), Zero) -> Succ(vyv3100) 248.65/165.16 new_esEs(Pos(Succ(vyv24100))) -> new_primEqInt(Pos(Succ(vyv24100))) 248.65/165.16 new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) 248.65/165.16 new_primEqInt(Pos(Zero)) -> True 248.65/165.16 new_primEqInt(Pos(Succ(vyv242000))) -> False 248.65/165.16 new_esEs(Neg(Succ(vyv24100))) -> new_primEqInt(Neg(Succ(vyv24100))) 248.65/165.16 new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) 248.65/165.16 new_primEqInt(Neg(Zero)) -> True 248.65/165.16 new_primEqInt(Neg(Succ(vyv242000))) -> False 248.65/165.16 248.65/165.16 The set Q consists of the following terms: 248.65/165.16 248.65/165.16 new_primModNatS1(Succ(Zero), Succ(x0)) 248.65/165.16 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 248.65/165.16 new_primEqInt(Pos(Zero)) 248.65/165.16 new_primModNatS02(x0, x1) 248.65/165.16 new_primModNatS01(x0, x1, Succ(x2), Zero) 248.65/165.16 new_primModNatS01(x0, x1, Zero, Succ(x2)) 248.65/165.16 new_primMinusNatS2(Zero, Zero) 248.65/165.16 new_esEs(Neg(Succ(x0))) 248.65/165.16 new_primMinusNatS2(Zero, Succ(x0)) 248.65/165.16 new_primModNatS1(Succ(Zero), Zero) 248.65/165.16 new_esEs(Pos(Zero)) 248.65/165.16 new_primEqInt(Neg(Succ(x0))) 248.65/165.16 new_primMinusNatS2(Succ(x0), Zero) 248.65/165.16 new_primEqInt(Neg(Zero)) 248.65/165.16 new_primModNatS01(x0, x1, Zero, Zero) 248.65/165.16 new_primEqInt(Pos(Succ(x0))) 248.65/165.16 new_primMinusNatS2(Succ(x0), Succ(x1)) 248.65/165.16 new_primModNatS1(Succ(Succ(x0)), Zero) 248.65/165.16 new_primModNatS1(Zero, x0) 248.65/165.16 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 248.65/165.16 new_esEs(Neg(Zero)) 248.65/165.16 new_esEs(Pos(Succ(x0))) 248.65/165.16 248.65/165.16 We have to consider all minimal (P,Q,R)-chains. 248.65/165.16 ---------------------------------------- 248.65/165.16 248.65/165.16 (183) TransformationProof (EQUIVALENT) 248.65/165.16 By narrowing [LPAR04] the rule new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(x0, x1, x0, x1))), Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) at position [0] we obtained the following new rules [LPAR04]: 248.65/165.16 248.65/165.16 (new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS02(Zero, Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))),new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS02(Zero, Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))))) 248.65/165.16 (new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))),new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2)))))) 248.65/165.16 (new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS02(Succ(x2), Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))),new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS02(Succ(x2), Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))))) 248.65/165.16 (new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Neg(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))),new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Neg(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))))) 248.65/165.16 248.65/165.16 248.65/165.16 ---------------------------------------- 248.65/165.16 248.65/165.16 (184) 248.65/165.16 Obligation: 248.65/165.16 Q DP problem: 248.65/165.16 The TRS P consists of the following rules: 248.65/165.16 248.65/165.16 new_gcd0Gcd'1(False, Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Pos(Succ(Succ(x1))), Neg(new_primModNatS01(x0, x1, x0, x1))) 248.65/165.16 new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(x0, x1, x0, x1))), Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) 248.65/165.16 new_gcd0Gcd'1(False, Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x1))), Pos(new_primModNatS01(x0, x1, x0, x1))) 248.65/165.16 new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS02(Zero, Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) 248.65/165.16 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) 248.65/165.16 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS02(Succ(x2), Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) 248.65/165.16 new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Neg(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 248.65/165.16 248.65/165.16 The TRS R consists of the following rules: 248.65/165.16 248.65/165.16 new_primModNatS1(Succ(Succ(vyv292000)), Succ(vyv291000)) -> new_primModNatS01(vyv292000, vyv291000, vyv292000, vyv291000) 248.65/165.16 new_primModNatS01(vyv330, vyv331, Zero, Zero) -> new_primModNatS02(vyv330, vyv331) 248.65/165.16 new_primModNatS02(vyv330, vyv331) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv330), Succ(vyv331)), Succ(vyv331)) 248.65/165.16 new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Succ(vyv3330)) -> new_primModNatS01(vyv330, vyv331, vyv3320, vyv3330) 248.65/165.16 new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Zero) -> new_primModNatS02(vyv330, vyv331) 248.65/165.16 new_primModNatS01(vyv330, vyv331, Zero, Succ(vyv3330)) -> Succ(Succ(vyv330)) 248.65/165.16 new_primMinusNatS2(Succ(vyv3100), Succ(vyv3110)) -> new_primMinusNatS2(vyv3100, vyv3110) 248.65/165.16 new_primModNatS1(Succ(Zero), Succ(vyv291000)) -> Succ(Zero) 248.65/165.16 new_primModNatS1(Zero, vyv29100) -> Zero 248.65/165.16 new_primMinusNatS2(Zero, Zero) -> Zero 248.65/165.16 new_primMinusNatS2(Zero, Succ(vyv3110)) -> Zero 248.65/165.16 new_primMinusNatS2(Succ(vyv3100), Zero) -> Succ(vyv3100) 248.65/165.16 new_esEs(Pos(Succ(vyv24100))) -> new_primEqInt(Pos(Succ(vyv24100))) 248.65/165.16 new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) 248.65/165.16 new_primEqInt(Pos(Zero)) -> True 248.65/165.16 new_primEqInt(Pos(Succ(vyv242000))) -> False 248.65/165.16 new_esEs(Neg(Succ(vyv24100))) -> new_primEqInt(Neg(Succ(vyv24100))) 248.65/165.16 new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) 248.65/165.16 new_primEqInt(Neg(Zero)) -> True 248.65/165.16 new_primEqInt(Neg(Succ(vyv242000))) -> False 248.65/165.16 248.65/165.16 The set Q consists of the following terms: 248.65/165.16 248.65/165.16 new_primModNatS1(Succ(Zero), Succ(x0)) 248.65/165.16 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 248.65/165.16 new_primEqInt(Pos(Zero)) 248.65/165.16 new_primModNatS02(x0, x1) 248.65/165.16 new_primModNatS01(x0, x1, Succ(x2), Zero) 248.65/165.16 new_primModNatS01(x0, x1, Zero, Succ(x2)) 248.65/165.16 new_primMinusNatS2(Zero, Zero) 248.65/165.16 new_esEs(Neg(Succ(x0))) 248.65/165.16 new_primMinusNatS2(Zero, Succ(x0)) 248.65/165.16 new_primModNatS1(Succ(Zero), Zero) 248.65/165.16 new_esEs(Pos(Zero)) 248.65/165.16 new_primEqInt(Neg(Succ(x0))) 248.65/165.16 new_primMinusNatS2(Succ(x0), Zero) 248.65/165.16 new_primEqInt(Neg(Zero)) 248.65/165.16 new_primModNatS01(x0, x1, Zero, Zero) 248.65/165.16 new_primEqInt(Pos(Succ(x0))) 248.65/165.16 new_primMinusNatS2(Succ(x0), Succ(x1)) 248.65/165.16 new_primModNatS1(Succ(Succ(x0)), Zero) 248.65/165.16 new_primModNatS1(Zero, x0) 248.65/165.16 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 248.65/165.16 new_esEs(Neg(Zero)) 248.65/165.16 new_esEs(Pos(Succ(x0))) 248.65/165.16 248.65/165.16 We have to consider all minimal (P,Q,R)-chains. 248.65/165.16 ---------------------------------------- 248.65/165.16 248.65/165.16 (185) TransformationProof (EQUIVALENT) 248.65/165.16 By rewriting [LPAR04] the rule new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS02(Zero, Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) at position [0,0,0] we obtained the following new rules [LPAR04]: 248.65/165.16 248.65/165.16 (new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Zero), Succ(Zero)), Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))),new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Zero), Succ(Zero)), Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))))) 248.65/165.16 248.65/165.16 248.65/165.16 ---------------------------------------- 248.65/165.16 248.65/165.16 (186) 248.65/165.16 Obligation: 248.65/165.16 Q DP problem: 248.65/165.16 The TRS P consists of the following rules: 248.65/165.16 248.65/165.16 new_gcd0Gcd'1(False, Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Pos(Succ(Succ(x1))), Neg(new_primModNatS01(x0, x1, x0, x1))) 248.65/165.16 new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(x0, x1, x0, x1))), Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) 248.65/165.16 new_gcd0Gcd'1(False, Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x1))), Pos(new_primModNatS01(x0, x1, x0, x1))) 248.65/165.16 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) 248.65/165.16 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS02(Succ(x2), Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) 248.65/165.16 new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Neg(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 248.65/165.16 new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Zero), Succ(Zero)), Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) 248.65/165.16 248.65/165.16 The TRS R consists of the following rules: 248.65/165.16 248.65/165.16 new_primModNatS1(Succ(Succ(vyv292000)), Succ(vyv291000)) -> new_primModNatS01(vyv292000, vyv291000, vyv292000, vyv291000) 248.65/165.16 new_primModNatS01(vyv330, vyv331, Zero, Zero) -> new_primModNatS02(vyv330, vyv331) 248.65/165.16 new_primModNatS02(vyv330, vyv331) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv330), Succ(vyv331)), Succ(vyv331)) 248.65/165.16 new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Succ(vyv3330)) -> new_primModNatS01(vyv330, vyv331, vyv3320, vyv3330) 248.65/165.16 new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Zero) -> new_primModNatS02(vyv330, vyv331) 248.65/165.16 new_primModNatS01(vyv330, vyv331, Zero, Succ(vyv3330)) -> Succ(Succ(vyv330)) 248.65/165.16 new_primMinusNatS2(Succ(vyv3100), Succ(vyv3110)) -> new_primMinusNatS2(vyv3100, vyv3110) 248.65/165.16 new_primModNatS1(Succ(Zero), Succ(vyv291000)) -> Succ(Zero) 248.65/165.16 new_primModNatS1(Zero, vyv29100) -> Zero 248.65/165.16 new_primMinusNatS2(Zero, Zero) -> Zero 248.65/165.16 new_primMinusNatS2(Zero, Succ(vyv3110)) -> Zero 248.65/165.16 new_primMinusNatS2(Succ(vyv3100), Zero) -> Succ(vyv3100) 248.65/165.16 new_esEs(Pos(Succ(vyv24100))) -> new_primEqInt(Pos(Succ(vyv24100))) 248.65/165.16 new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) 248.65/165.16 new_primEqInt(Pos(Zero)) -> True 248.65/165.16 new_primEqInt(Pos(Succ(vyv242000))) -> False 248.65/165.16 new_esEs(Neg(Succ(vyv24100))) -> new_primEqInt(Neg(Succ(vyv24100))) 248.65/165.16 new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) 248.65/165.16 new_primEqInt(Neg(Zero)) -> True 248.65/165.16 new_primEqInt(Neg(Succ(vyv242000))) -> False 248.65/165.16 248.65/165.16 The set Q consists of the following terms: 248.65/165.16 248.65/165.16 new_primModNatS1(Succ(Zero), Succ(x0)) 248.65/165.16 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 248.65/165.16 new_primEqInt(Pos(Zero)) 248.65/165.16 new_primModNatS02(x0, x1) 248.65/165.16 new_primModNatS01(x0, x1, Succ(x2), Zero) 248.65/165.16 new_primModNatS01(x0, x1, Zero, Succ(x2)) 248.65/165.16 new_primMinusNatS2(Zero, Zero) 248.65/165.16 new_esEs(Neg(Succ(x0))) 248.65/165.16 new_primMinusNatS2(Zero, Succ(x0)) 248.65/165.16 new_primModNatS1(Succ(Zero), Zero) 248.65/165.16 new_esEs(Pos(Zero)) 248.65/165.16 new_primEqInt(Neg(Succ(x0))) 248.65/165.16 new_primMinusNatS2(Succ(x0), Zero) 248.65/165.16 new_primEqInt(Neg(Zero)) 248.65/165.16 new_primModNatS01(x0, x1, Zero, Zero) 248.65/165.16 new_primEqInt(Pos(Succ(x0))) 248.65/165.16 new_primMinusNatS2(Succ(x0), Succ(x1)) 248.65/165.16 new_primModNatS1(Succ(Succ(x0)), Zero) 248.65/165.16 new_primModNatS1(Zero, x0) 248.65/165.16 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 248.65/165.16 new_esEs(Neg(Zero)) 248.65/165.16 new_esEs(Pos(Succ(x0))) 248.65/165.16 248.65/165.16 We have to consider all minimal (P,Q,R)-chains. 248.65/165.16 ---------------------------------------- 248.65/165.16 248.65/165.16 (187) TransformationProof (EQUIVALENT) 248.65/165.16 By rewriting [LPAR04] the rule new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS02(Succ(x2), Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) at position [0,0,0] we obtained the following new rules [LPAR04]: 248.65/165.16 248.65/165.16 (new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))),new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))))) 248.65/165.16 248.65/165.16 248.65/165.16 ---------------------------------------- 248.65/165.16 248.65/165.16 (188) 248.65/165.16 Obligation: 248.65/165.16 Q DP problem: 248.65/165.16 The TRS P consists of the following rules: 248.65/165.16 248.65/165.16 new_gcd0Gcd'1(False, Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Pos(Succ(Succ(x1))), Neg(new_primModNatS01(x0, x1, x0, x1))) 248.65/165.16 new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(x0, x1, x0, x1))), Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) 248.65/165.16 new_gcd0Gcd'1(False, Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x1))), Pos(new_primModNatS01(x0, x1, x0, x1))) 248.65/165.16 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) 248.65/165.16 new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Neg(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 248.65/165.16 new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Zero), Succ(Zero)), Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) 248.65/165.16 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) 248.65/165.16 248.65/165.16 The TRS R consists of the following rules: 248.65/165.16 248.65/165.16 new_primModNatS1(Succ(Succ(vyv292000)), Succ(vyv291000)) -> new_primModNatS01(vyv292000, vyv291000, vyv292000, vyv291000) 248.65/165.16 new_primModNatS01(vyv330, vyv331, Zero, Zero) -> new_primModNatS02(vyv330, vyv331) 248.65/165.16 new_primModNatS02(vyv330, vyv331) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv330), Succ(vyv331)), Succ(vyv331)) 248.65/165.16 new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Succ(vyv3330)) -> new_primModNatS01(vyv330, vyv331, vyv3320, vyv3330) 248.65/165.16 new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Zero) -> new_primModNatS02(vyv330, vyv331) 248.65/165.16 new_primModNatS01(vyv330, vyv331, Zero, Succ(vyv3330)) -> Succ(Succ(vyv330)) 248.65/165.16 new_primMinusNatS2(Succ(vyv3100), Succ(vyv3110)) -> new_primMinusNatS2(vyv3100, vyv3110) 248.65/165.16 new_primModNatS1(Succ(Zero), Succ(vyv291000)) -> Succ(Zero) 248.65/165.16 new_primModNatS1(Zero, vyv29100) -> Zero 248.65/165.16 new_primMinusNatS2(Zero, Zero) -> Zero 248.65/165.16 new_primMinusNatS2(Zero, Succ(vyv3110)) -> Zero 248.65/165.16 new_primMinusNatS2(Succ(vyv3100), Zero) -> Succ(vyv3100) 248.65/165.16 new_esEs(Pos(Succ(vyv24100))) -> new_primEqInt(Pos(Succ(vyv24100))) 248.65/165.16 new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) 248.65/165.16 new_primEqInt(Pos(Zero)) -> True 248.65/165.16 new_primEqInt(Pos(Succ(vyv242000))) -> False 248.65/165.16 new_esEs(Neg(Succ(vyv24100))) -> new_primEqInt(Neg(Succ(vyv24100))) 248.65/165.16 new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) 248.65/165.16 new_primEqInt(Neg(Zero)) -> True 248.65/165.16 new_primEqInt(Neg(Succ(vyv242000))) -> False 248.65/165.16 248.65/165.16 The set Q consists of the following terms: 248.65/165.16 248.65/165.16 new_primModNatS1(Succ(Zero), Succ(x0)) 248.65/165.16 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 248.65/165.16 new_primEqInt(Pos(Zero)) 248.65/165.16 new_primModNatS02(x0, x1) 248.65/165.16 new_primModNatS01(x0, x1, Succ(x2), Zero) 248.65/165.16 new_primModNatS01(x0, x1, Zero, Succ(x2)) 248.65/165.16 new_primMinusNatS2(Zero, Zero) 248.65/165.16 new_esEs(Neg(Succ(x0))) 248.65/165.16 new_primMinusNatS2(Zero, Succ(x0)) 248.65/165.16 new_primModNatS1(Succ(Zero), Zero) 248.65/165.16 new_esEs(Pos(Zero)) 248.65/165.16 new_primEqInt(Neg(Succ(x0))) 248.65/165.16 new_primMinusNatS2(Succ(x0), Zero) 248.65/165.16 new_primEqInt(Neg(Zero)) 248.65/165.16 new_primModNatS01(x0, x1, Zero, Zero) 248.65/165.16 new_primEqInt(Pos(Succ(x0))) 248.65/165.16 new_primMinusNatS2(Succ(x0), Succ(x1)) 248.65/165.16 new_primModNatS1(Succ(Succ(x0)), Zero) 248.65/165.16 new_primModNatS1(Zero, x0) 248.65/165.16 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 248.65/165.16 new_esEs(Neg(Zero)) 248.65/165.16 new_esEs(Pos(Succ(x0))) 248.65/165.16 248.65/165.16 We have to consider all minimal (P,Q,R)-chains. 248.65/165.16 ---------------------------------------- 248.65/165.16 248.65/165.16 (189) TransformationProof (EQUIVALENT) 248.65/165.16 By rewriting [LPAR04] the rule new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Neg(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) at position [0] we obtained the following new rules [LPAR04]: 248.65/165.16 248.65/165.16 (new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_primEqInt(Neg(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))),new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_primEqInt(Neg(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))))) 248.65/165.16 248.65/165.16 248.65/165.16 ---------------------------------------- 248.65/165.16 248.65/165.16 (190) 248.65/165.16 Obligation: 248.65/165.16 Q DP problem: 248.65/165.16 The TRS P consists of the following rules: 248.65/165.16 248.65/165.16 new_gcd0Gcd'1(False, Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Pos(Succ(Succ(x1))), Neg(new_primModNatS01(x0, x1, x0, x1))) 248.65/165.16 new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(x0, x1, x0, x1))), Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) 248.65/165.16 new_gcd0Gcd'1(False, Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x1))), Pos(new_primModNatS01(x0, x1, x0, x1))) 248.65/165.16 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) 248.65/165.16 new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Zero), Succ(Zero)), Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) 248.65/165.16 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) 248.65/165.16 new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_primEqInt(Neg(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 248.65/165.16 248.65/165.16 The TRS R consists of the following rules: 248.65/165.16 248.65/165.16 new_primModNatS1(Succ(Succ(vyv292000)), Succ(vyv291000)) -> new_primModNatS01(vyv292000, vyv291000, vyv292000, vyv291000) 248.65/165.16 new_primModNatS01(vyv330, vyv331, Zero, Zero) -> new_primModNatS02(vyv330, vyv331) 248.65/165.16 new_primModNatS02(vyv330, vyv331) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv330), Succ(vyv331)), Succ(vyv331)) 248.65/165.16 new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Succ(vyv3330)) -> new_primModNatS01(vyv330, vyv331, vyv3320, vyv3330) 248.65/165.16 new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Zero) -> new_primModNatS02(vyv330, vyv331) 248.65/165.16 new_primModNatS01(vyv330, vyv331, Zero, Succ(vyv3330)) -> Succ(Succ(vyv330)) 248.65/165.16 new_primMinusNatS2(Succ(vyv3100), Succ(vyv3110)) -> new_primMinusNatS2(vyv3100, vyv3110) 248.65/165.16 new_primModNatS1(Succ(Zero), Succ(vyv291000)) -> Succ(Zero) 248.65/165.16 new_primModNatS1(Zero, vyv29100) -> Zero 248.65/165.16 new_primMinusNatS2(Zero, Zero) -> Zero 248.65/165.16 new_primMinusNatS2(Zero, Succ(vyv3110)) -> Zero 248.65/165.16 new_primMinusNatS2(Succ(vyv3100), Zero) -> Succ(vyv3100) 248.65/165.16 new_esEs(Pos(Succ(vyv24100))) -> new_primEqInt(Pos(Succ(vyv24100))) 248.65/165.16 new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) 248.65/165.16 new_primEqInt(Pos(Zero)) -> True 248.65/165.16 new_primEqInt(Pos(Succ(vyv242000))) -> False 248.65/165.16 new_esEs(Neg(Succ(vyv24100))) -> new_primEqInt(Neg(Succ(vyv24100))) 248.65/165.16 new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) 248.65/165.16 new_primEqInt(Neg(Zero)) -> True 248.65/165.16 new_primEqInt(Neg(Succ(vyv242000))) -> False 248.65/165.16 248.65/165.16 The set Q consists of the following terms: 248.65/165.16 248.65/165.16 new_primModNatS1(Succ(Zero), Succ(x0)) 248.65/165.16 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 248.65/165.16 new_primEqInt(Pos(Zero)) 248.65/165.16 new_primModNatS02(x0, x1) 248.65/165.16 new_primModNatS01(x0, x1, Succ(x2), Zero) 248.65/165.16 new_primModNatS01(x0, x1, Zero, Succ(x2)) 248.65/165.16 new_primMinusNatS2(Zero, Zero) 248.65/165.16 new_esEs(Neg(Succ(x0))) 248.65/165.16 new_primMinusNatS2(Zero, Succ(x0)) 248.65/165.16 new_primModNatS1(Succ(Zero), Zero) 248.65/165.16 new_esEs(Pos(Zero)) 248.65/165.16 new_primEqInt(Neg(Succ(x0))) 248.65/165.16 new_primMinusNatS2(Succ(x0), Zero) 248.65/165.16 new_primEqInt(Neg(Zero)) 248.65/165.16 new_primModNatS01(x0, x1, Zero, Zero) 248.65/165.16 new_primEqInt(Pos(Succ(x0))) 248.65/165.16 new_primMinusNatS2(Succ(x0), Succ(x1)) 248.65/165.16 new_primModNatS1(Succ(Succ(x0)), Zero) 248.65/165.16 new_primModNatS1(Zero, x0) 248.65/165.16 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 248.65/165.16 new_esEs(Neg(Zero)) 248.65/165.16 new_esEs(Pos(Succ(x0))) 248.65/165.16 248.65/165.16 We have to consider all minimal (P,Q,R)-chains. 248.65/165.16 ---------------------------------------- 248.65/165.16 248.65/165.16 (191) TransformationProof (EQUIVALENT) 248.65/165.16 By rewriting [LPAR04] the rule new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Zero), Succ(Zero)), Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) at position [0,0,0,0] we obtained the following new rules [LPAR04]: 248.65/165.16 248.65/165.16 (new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS2(Zero, Zero), Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))),new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS2(Zero, Zero), Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))))) 248.65/165.16 248.65/165.16 248.65/165.16 ---------------------------------------- 248.65/165.16 248.65/165.16 (192) 248.65/165.16 Obligation: 248.65/165.16 Q DP problem: 248.65/165.16 The TRS P consists of the following rules: 248.65/165.16 248.65/165.16 new_gcd0Gcd'1(False, Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Pos(Succ(Succ(x1))), Neg(new_primModNatS01(x0, x1, x0, x1))) 248.65/165.16 new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(x0, x1, x0, x1))), Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) 248.65/165.16 new_gcd0Gcd'1(False, Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x1))), Pos(new_primModNatS01(x0, x1, x0, x1))) 248.65/165.16 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) 248.65/165.16 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) 248.65/165.16 new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_primEqInt(Neg(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 248.65/165.16 new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS2(Zero, Zero), Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) 248.65/165.16 248.65/165.16 The TRS R consists of the following rules: 248.65/165.16 248.65/165.16 new_primModNatS1(Succ(Succ(vyv292000)), Succ(vyv291000)) -> new_primModNatS01(vyv292000, vyv291000, vyv292000, vyv291000) 248.65/165.16 new_primModNatS01(vyv330, vyv331, Zero, Zero) -> new_primModNatS02(vyv330, vyv331) 248.65/165.16 new_primModNatS02(vyv330, vyv331) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv330), Succ(vyv331)), Succ(vyv331)) 248.65/165.16 new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Succ(vyv3330)) -> new_primModNatS01(vyv330, vyv331, vyv3320, vyv3330) 248.65/165.16 new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Zero) -> new_primModNatS02(vyv330, vyv331) 248.65/165.16 new_primModNatS01(vyv330, vyv331, Zero, Succ(vyv3330)) -> Succ(Succ(vyv330)) 248.65/165.16 new_primMinusNatS2(Succ(vyv3100), Succ(vyv3110)) -> new_primMinusNatS2(vyv3100, vyv3110) 248.65/165.16 new_primModNatS1(Succ(Zero), Succ(vyv291000)) -> Succ(Zero) 248.65/165.16 new_primModNatS1(Zero, vyv29100) -> Zero 248.65/165.16 new_primMinusNatS2(Zero, Zero) -> Zero 248.65/165.16 new_primMinusNatS2(Zero, Succ(vyv3110)) -> Zero 248.65/165.16 new_primMinusNatS2(Succ(vyv3100), Zero) -> Succ(vyv3100) 248.65/165.16 new_esEs(Pos(Succ(vyv24100))) -> new_primEqInt(Pos(Succ(vyv24100))) 248.65/165.16 new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) 248.65/165.16 new_primEqInt(Pos(Zero)) -> True 248.65/165.16 new_primEqInt(Pos(Succ(vyv242000))) -> False 248.65/165.16 new_esEs(Neg(Succ(vyv24100))) -> new_primEqInt(Neg(Succ(vyv24100))) 248.65/165.16 new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) 248.65/165.16 new_primEqInt(Neg(Zero)) -> True 248.65/165.16 new_primEqInt(Neg(Succ(vyv242000))) -> False 248.65/165.16 248.65/165.16 The set Q consists of the following terms: 248.65/165.16 248.65/165.16 new_primModNatS1(Succ(Zero), Succ(x0)) 248.65/165.16 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 248.65/165.16 new_primEqInt(Pos(Zero)) 248.65/165.16 new_primModNatS02(x0, x1) 248.65/165.16 new_primModNatS01(x0, x1, Succ(x2), Zero) 248.65/165.16 new_primModNatS01(x0, x1, Zero, Succ(x2)) 248.65/165.16 new_primMinusNatS2(Zero, Zero) 248.65/165.16 new_esEs(Neg(Succ(x0))) 248.65/165.16 new_primMinusNatS2(Zero, Succ(x0)) 248.65/165.16 new_primModNatS1(Succ(Zero), Zero) 248.65/165.16 new_esEs(Pos(Zero)) 248.65/165.16 new_primEqInt(Neg(Succ(x0))) 248.65/165.16 new_primMinusNatS2(Succ(x0), Zero) 248.65/165.16 new_primEqInt(Neg(Zero)) 248.65/165.16 new_primModNatS01(x0, x1, Zero, Zero) 248.65/165.16 new_primEqInt(Pos(Succ(x0))) 248.65/165.16 new_primMinusNatS2(Succ(x0), Succ(x1)) 248.65/165.16 new_primModNatS1(Succ(Succ(x0)), Zero) 248.65/165.16 new_primModNatS1(Zero, x0) 248.65/165.16 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 248.65/165.16 new_esEs(Neg(Zero)) 248.65/165.16 new_esEs(Pos(Succ(x0))) 248.65/165.16 248.65/165.16 We have to consider all minimal (P,Q,R)-chains. 248.65/165.16 ---------------------------------------- 248.65/165.16 248.65/165.16 (193) TransformationProof (EQUIVALENT) 248.65/165.16 By rewriting [LPAR04] the rule new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) at position [0,0,0,0] we obtained the following new rules [LPAR04]: 248.65/165.16 248.65/165.16 (new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))),new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))))) 248.65/165.16 248.65/165.16 248.65/165.16 ---------------------------------------- 248.65/165.16 248.65/165.16 (194) 248.65/165.16 Obligation: 248.65/165.16 Q DP problem: 248.65/165.16 The TRS P consists of the following rules: 248.65/165.16 248.65/165.16 new_gcd0Gcd'1(False, Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Pos(Succ(Succ(x1))), Neg(new_primModNatS01(x0, x1, x0, x1))) 248.65/165.16 new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(x0, x1, x0, x1))), Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) 248.65/165.16 new_gcd0Gcd'1(False, Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x1))), Pos(new_primModNatS01(x0, x1, x0, x1))) 248.65/165.16 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) 248.65/165.16 new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_primEqInt(Neg(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 248.65/165.16 new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS2(Zero, Zero), Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) 248.65/165.16 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) 248.65/165.16 248.65/165.16 The TRS R consists of the following rules: 248.65/165.16 248.65/165.16 new_primModNatS1(Succ(Succ(vyv292000)), Succ(vyv291000)) -> new_primModNatS01(vyv292000, vyv291000, vyv292000, vyv291000) 248.65/165.16 new_primModNatS01(vyv330, vyv331, Zero, Zero) -> new_primModNatS02(vyv330, vyv331) 248.65/165.16 new_primModNatS02(vyv330, vyv331) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv330), Succ(vyv331)), Succ(vyv331)) 248.65/165.16 new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Succ(vyv3330)) -> new_primModNatS01(vyv330, vyv331, vyv3320, vyv3330) 248.65/165.16 new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Zero) -> new_primModNatS02(vyv330, vyv331) 248.65/165.16 new_primModNatS01(vyv330, vyv331, Zero, Succ(vyv3330)) -> Succ(Succ(vyv330)) 248.65/165.16 new_primMinusNatS2(Succ(vyv3100), Succ(vyv3110)) -> new_primMinusNatS2(vyv3100, vyv3110) 248.65/165.16 new_primModNatS1(Succ(Zero), Succ(vyv291000)) -> Succ(Zero) 248.65/165.16 new_primModNatS1(Zero, vyv29100) -> Zero 248.65/165.16 new_primMinusNatS2(Zero, Zero) -> Zero 248.65/165.16 new_primMinusNatS2(Zero, Succ(vyv3110)) -> Zero 248.65/165.16 new_primMinusNatS2(Succ(vyv3100), Zero) -> Succ(vyv3100) 248.65/165.16 new_esEs(Pos(Succ(vyv24100))) -> new_primEqInt(Pos(Succ(vyv24100))) 248.65/165.16 new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) 248.65/165.16 new_primEqInt(Pos(Zero)) -> True 248.65/165.16 new_primEqInt(Pos(Succ(vyv242000))) -> False 248.65/165.16 new_esEs(Neg(Succ(vyv24100))) -> new_primEqInt(Neg(Succ(vyv24100))) 248.65/165.16 new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) 248.65/165.16 new_primEqInt(Neg(Zero)) -> True 248.65/165.16 new_primEqInt(Neg(Succ(vyv242000))) -> False 248.65/165.16 248.65/165.16 The set Q consists of the following terms: 248.65/165.16 248.65/165.16 new_primModNatS1(Succ(Zero), Succ(x0)) 248.65/165.16 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 248.65/165.16 new_primEqInt(Pos(Zero)) 248.65/165.16 new_primModNatS02(x0, x1) 248.65/165.16 new_primModNatS01(x0, x1, Succ(x2), Zero) 248.65/165.16 new_primModNatS01(x0, x1, Zero, Succ(x2)) 248.65/165.16 new_primMinusNatS2(Zero, Zero) 248.65/165.16 new_esEs(Neg(Succ(x0))) 248.65/165.16 new_primMinusNatS2(Zero, Succ(x0)) 248.65/165.16 new_primModNatS1(Succ(Zero), Zero) 248.65/165.16 new_esEs(Pos(Zero)) 248.65/165.16 new_primEqInt(Neg(Succ(x0))) 248.65/165.16 new_primMinusNatS2(Succ(x0), Zero) 248.65/165.16 new_primEqInt(Neg(Zero)) 248.65/165.16 new_primModNatS01(x0, x1, Zero, Zero) 248.65/165.16 new_primEqInt(Pos(Succ(x0))) 248.65/165.16 new_primMinusNatS2(Succ(x0), Succ(x1)) 248.65/165.16 new_primModNatS1(Succ(Succ(x0)), Zero) 248.65/165.16 new_primModNatS1(Zero, x0) 248.65/165.16 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 248.65/165.16 new_esEs(Neg(Zero)) 248.65/165.16 new_esEs(Pos(Succ(x0))) 248.65/165.16 248.65/165.16 We have to consider all minimal (P,Q,R)-chains. 248.65/165.16 ---------------------------------------- 248.65/165.16 248.65/165.16 (195) TransformationProof (EQUIVALENT) 248.65/165.16 By rewriting [LPAR04] the rule new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_primEqInt(Neg(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) at position [0] we obtained the following new rules [LPAR04]: 248.65/165.16 248.65/165.16 (new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))),new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))))) 248.65/165.16 248.65/165.16 248.65/165.16 ---------------------------------------- 248.65/165.16 248.65/165.16 (196) 248.65/165.16 Obligation: 248.65/165.16 Q DP problem: 248.65/165.16 The TRS P consists of the following rules: 248.65/165.16 248.65/165.16 new_gcd0Gcd'1(False, Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Pos(Succ(Succ(x1))), Neg(new_primModNatS01(x0, x1, x0, x1))) 248.65/165.16 new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(x0, x1, x0, x1))), Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) 248.65/165.16 new_gcd0Gcd'1(False, Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x1))), Pos(new_primModNatS01(x0, x1, x0, x1))) 248.65/165.16 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) 248.65/165.16 new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS2(Zero, Zero), Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) 248.65/165.16 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) 248.65/165.16 new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 248.65/165.16 248.65/165.16 The TRS R consists of the following rules: 248.65/165.16 248.65/165.16 new_primModNatS1(Succ(Succ(vyv292000)), Succ(vyv291000)) -> new_primModNatS01(vyv292000, vyv291000, vyv292000, vyv291000) 248.65/165.16 new_primModNatS01(vyv330, vyv331, Zero, Zero) -> new_primModNatS02(vyv330, vyv331) 248.65/165.16 new_primModNatS02(vyv330, vyv331) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv330), Succ(vyv331)), Succ(vyv331)) 248.65/165.16 new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Succ(vyv3330)) -> new_primModNatS01(vyv330, vyv331, vyv3320, vyv3330) 248.65/165.16 new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Zero) -> new_primModNatS02(vyv330, vyv331) 248.65/165.16 new_primModNatS01(vyv330, vyv331, Zero, Succ(vyv3330)) -> Succ(Succ(vyv330)) 248.65/165.16 new_primMinusNatS2(Succ(vyv3100), Succ(vyv3110)) -> new_primMinusNatS2(vyv3100, vyv3110) 248.65/165.16 new_primModNatS1(Succ(Zero), Succ(vyv291000)) -> Succ(Zero) 248.65/165.16 new_primModNatS1(Zero, vyv29100) -> Zero 248.65/165.16 new_primMinusNatS2(Zero, Zero) -> Zero 248.65/165.16 new_primMinusNatS2(Zero, Succ(vyv3110)) -> Zero 248.65/165.16 new_primMinusNatS2(Succ(vyv3100), Zero) -> Succ(vyv3100) 248.65/165.16 new_esEs(Pos(Succ(vyv24100))) -> new_primEqInt(Pos(Succ(vyv24100))) 248.65/165.16 new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) 248.65/165.16 new_primEqInt(Pos(Zero)) -> True 248.65/165.16 new_primEqInt(Pos(Succ(vyv242000))) -> False 248.65/165.16 new_esEs(Neg(Succ(vyv24100))) -> new_primEqInt(Neg(Succ(vyv24100))) 248.65/165.16 new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) 248.65/165.16 new_primEqInt(Neg(Zero)) -> True 248.65/165.16 new_primEqInt(Neg(Succ(vyv242000))) -> False 248.65/165.16 248.65/165.16 The set Q consists of the following terms: 248.65/165.16 248.65/165.16 new_primModNatS1(Succ(Zero), Succ(x0)) 248.65/165.16 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 248.65/165.16 new_primEqInt(Pos(Zero)) 248.65/165.16 new_primModNatS02(x0, x1) 248.65/165.16 new_primModNatS01(x0, x1, Succ(x2), Zero) 248.65/165.16 new_primModNatS01(x0, x1, Zero, Succ(x2)) 248.65/165.16 new_primMinusNatS2(Zero, Zero) 248.65/165.16 new_esEs(Neg(Succ(x0))) 248.65/165.16 new_primMinusNatS2(Zero, Succ(x0)) 248.65/165.16 new_primModNatS1(Succ(Zero), Zero) 248.65/165.16 new_esEs(Pos(Zero)) 248.65/165.16 new_primEqInt(Neg(Succ(x0))) 248.65/165.16 new_primMinusNatS2(Succ(x0), Zero) 248.65/165.16 new_primEqInt(Neg(Zero)) 248.65/165.16 new_primModNatS01(x0, x1, Zero, Zero) 248.65/165.16 new_primEqInt(Pos(Succ(x0))) 248.65/165.16 new_primMinusNatS2(Succ(x0), Succ(x1)) 248.65/165.16 new_primModNatS1(Succ(Succ(x0)), Zero) 248.65/165.16 new_primModNatS1(Zero, x0) 248.65/165.16 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 248.65/165.16 new_esEs(Neg(Zero)) 248.65/165.16 new_esEs(Pos(Succ(x0))) 248.65/165.16 248.65/165.16 We have to consider all minimal (P,Q,R)-chains. 248.65/165.16 ---------------------------------------- 248.65/165.16 248.65/165.16 (197) TransformationProof (EQUIVALENT) 248.65/165.16 By rewriting [LPAR04] the rule new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS2(Zero, Zero), Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) at position [0,0,0,0] we obtained the following new rules [LPAR04]: 248.65/165.16 248.65/165.16 (new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Zero, Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))),new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Zero, Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))))) 248.65/165.16 248.65/165.16 248.65/165.16 ---------------------------------------- 248.65/165.16 248.65/165.16 (198) 248.65/165.16 Obligation: 248.65/165.16 Q DP problem: 248.65/165.16 The TRS P consists of the following rules: 248.65/165.16 248.65/165.16 new_gcd0Gcd'1(False, Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Pos(Succ(Succ(x1))), Neg(new_primModNatS01(x0, x1, x0, x1))) 248.65/165.16 new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(x0, x1, x0, x1))), Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) 248.65/165.16 new_gcd0Gcd'1(False, Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x1))), Pos(new_primModNatS01(x0, x1, x0, x1))) 248.65/165.16 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) 248.65/165.16 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) 248.65/165.16 new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 248.65/165.16 new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Zero, Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) 248.65/165.16 248.65/165.16 The TRS R consists of the following rules: 248.65/165.16 248.65/165.16 new_primModNatS1(Succ(Succ(vyv292000)), Succ(vyv291000)) -> new_primModNatS01(vyv292000, vyv291000, vyv292000, vyv291000) 248.65/165.16 new_primModNatS01(vyv330, vyv331, Zero, Zero) -> new_primModNatS02(vyv330, vyv331) 248.65/165.16 new_primModNatS02(vyv330, vyv331) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv330), Succ(vyv331)), Succ(vyv331)) 248.65/165.16 new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Succ(vyv3330)) -> new_primModNatS01(vyv330, vyv331, vyv3320, vyv3330) 248.65/165.16 new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Zero) -> new_primModNatS02(vyv330, vyv331) 248.65/165.16 new_primModNatS01(vyv330, vyv331, Zero, Succ(vyv3330)) -> Succ(Succ(vyv330)) 248.65/165.16 new_primMinusNatS2(Succ(vyv3100), Succ(vyv3110)) -> new_primMinusNatS2(vyv3100, vyv3110) 248.65/165.16 new_primModNatS1(Succ(Zero), Succ(vyv291000)) -> Succ(Zero) 248.65/165.16 new_primModNatS1(Zero, vyv29100) -> Zero 248.65/165.16 new_primMinusNatS2(Zero, Zero) -> Zero 248.65/165.16 new_primMinusNatS2(Zero, Succ(vyv3110)) -> Zero 248.65/165.16 new_primMinusNatS2(Succ(vyv3100), Zero) -> Succ(vyv3100) 248.65/165.16 new_esEs(Pos(Succ(vyv24100))) -> new_primEqInt(Pos(Succ(vyv24100))) 248.65/165.16 new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) 248.65/165.16 new_primEqInt(Pos(Zero)) -> True 248.65/165.16 new_primEqInt(Pos(Succ(vyv242000))) -> False 248.65/165.16 new_esEs(Neg(Succ(vyv24100))) -> new_primEqInt(Neg(Succ(vyv24100))) 248.65/165.16 new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) 248.65/165.16 new_primEqInt(Neg(Zero)) -> True 248.65/165.16 new_primEqInt(Neg(Succ(vyv242000))) -> False 248.65/165.16 248.65/165.16 The set Q consists of the following terms: 248.65/165.16 248.65/165.16 new_primModNatS1(Succ(Zero), Succ(x0)) 248.65/165.16 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 248.65/165.16 new_primEqInt(Pos(Zero)) 248.65/165.16 new_primModNatS02(x0, x1) 248.65/165.16 new_primModNatS01(x0, x1, Succ(x2), Zero) 248.65/165.16 new_primModNatS01(x0, x1, Zero, Succ(x2)) 248.65/165.16 new_primMinusNatS2(Zero, Zero) 248.65/165.16 new_esEs(Neg(Succ(x0))) 248.65/165.16 new_primMinusNatS2(Zero, Succ(x0)) 248.65/165.16 new_primModNatS1(Succ(Zero), Zero) 248.65/165.16 new_esEs(Pos(Zero)) 248.65/165.16 new_primEqInt(Neg(Succ(x0))) 248.65/165.16 new_primMinusNatS2(Succ(x0), Zero) 248.65/165.16 new_primEqInt(Neg(Zero)) 248.65/165.16 new_primModNatS01(x0, x1, Zero, Zero) 248.65/165.16 new_primEqInt(Pos(Succ(x0))) 248.65/165.16 new_primMinusNatS2(Succ(x0), Succ(x1)) 248.65/165.16 new_primModNatS1(Succ(Succ(x0)), Zero) 248.65/165.16 new_primModNatS1(Zero, x0) 248.65/165.16 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 248.65/165.16 new_esEs(Neg(Zero)) 248.65/165.16 new_esEs(Pos(Succ(x0))) 248.65/165.16 248.65/165.16 We have to consider all minimal (P,Q,R)-chains. 248.65/165.16 ---------------------------------------- 248.65/165.16 248.65/165.16 (199) TransformationProof (EQUIVALENT) 248.65/165.16 By rewriting [LPAR04] the rule new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) at position [0,0,0,0] we obtained the following new rules [LPAR04]: 248.65/165.16 248.65/165.16 (new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))),new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))))) 248.65/165.16 248.65/165.16 248.65/165.16 ---------------------------------------- 248.65/165.16 248.65/165.16 (200) 248.65/165.16 Obligation: 248.65/165.16 Q DP problem: 248.65/165.16 The TRS P consists of the following rules: 248.65/165.16 248.65/165.16 new_gcd0Gcd'1(False, Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Pos(Succ(Succ(x1))), Neg(new_primModNatS01(x0, x1, x0, x1))) 248.65/165.16 new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(x0, x1, x0, x1))), Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) 248.65/165.16 new_gcd0Gcd'1(False, Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x1))), Pos(new_primModNatS01(x0, x1, x0, x1))) 248.65/165.16 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) 248.65/165.16 new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 248.65/165.16 new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Zero, Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) 248.65/165.16 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) 248.65/165.16 248.65/165.16 The TRS R consists of the following rules: 248.65/165.16 248.65/165.16 new_primModNatS1(Succ(Succ(vyv292000)), Succ(vyv291000)) -> new_primModNatS01(vyv292000, vyv291000, vyv292000, vyv291000) 248.65/165.16 new_primModNatS01(vyv330, vyv331, Zero, Zero) -> new_primModNatS02(vyv330, vyv331) 248.65/165.16 new_primModNatS02(vyv330, vyv331) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv330), Succ(vyv331)), Succ(vyv331)) 248.65/165.16 new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Succ(vyv3330)) -> new_primModNatS01(vyv330, vyv331, vyv3320, vyv3330) 248.65/165.16 new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Zero) -> new_primModNatS02(vyv330, vyv331) 248.65/165.16 new_primModNatS01(vyv330, vyv331, Zero, Succ(vyv3330)) -> Succ(Succ(vyv330)) 248.65/165.16 new_primMinusNatS2(Succ(vyv3100), Succ(vyv3110)) -> new_primMinusNatS2(vyv3100, vyv3110) 248.65/165.16 new_primModNatS1(Succ(Zero), Succ(vyv291000)) -> Succ(Zero) 248.65/165.16 new_primModNatS1(Zero, vyv29100) -> Zero 248.65/165.16 new_primMinusNatS2(Zero, Zero) -> Zero 248.65/165.16 new_primMinusNatS2(Zero, Succ(vyv3110)) -> Zero 248.65/165.16 new_primMinusNatS2(Succ(vyv3100), Zero) -> Succ(vyv3100) 248.65/165.16 new_esEs(Pos(Succ(vyv24100))) -> new_primEqInt(Pos(Succ(vyv24100))) 248.65/165.16 new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) 248.65/165.16 new_primEqInt(Pos(Zero)) -> True 248.65/165.16 new_primEqInt(Pos(Succ(vyv242000))) -> False 248.65/165.16 new_esEs(Neg(Succ(vyv24100))) -> new_primEqInt(Neg(Succ(vyv24100))) 248.65/165.16 new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) 248.65/165.16 new_primEqInt(Neg(Zero)) -> True 248.65/165.16 new_primEqInt(Neg(Succ(vyv242000))) -> False 248.65/165.16 248.65/165.16 The set Q consists of the following terms: 248.65/165.16 248.65/165.16 new_primModNatS1(Succ(Zero), Succ(x0)) 248.65/165.16 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 248.65/165.16 new_primEqInt(Pos(Zero)) 248.65/165.16 new_primModNatS02(x0, x1) 248.65/165.16 new_primModNatS01(x0, x1, Succ(x2), Zero) 248.65/165.16 new_primModNatS01(x0, x1, Zero, Succ(x2)) 248.65/165.16 new_primMinusNatS2(Zero, Zero) 248.65/165.16 new_esEs(Neg(Succ(x0))) 248.65/165.16 new_primMinusNatS2(Zero, Succ(x0)) 248.65/165.16 new_primModNatS1(Succ(Zero), Zero) 248.65/165.16 new_esEs(Pos(Zero)) 248.65/165.16 new_primEqInt(Neg(Succ(x0))) 248.65/165.16 new_primMinusNatS2(Succ(x0), Zero) 248.65/165.16 new_primEqInt(Neg(Zero)) 248.65/165.16 new_primModNatS01(x0, x1, Zero, Zero) 248.65/165.16 new_primEqInt(Pos(Succ(x0))) 248.65/165.16 new_primMinusNatS2(Succ(x0), Succ(x1)) 248.65/165.16 new_primModNatS1(Succ(Succ(x0)), Zero) 248.65/165.16 new_primModNatS1(Zero, x0) 248.65/165.16 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 248.65/165.16 new_esEs(Neg(Zero)) 248.65/165.16 new_esEs(Pos(Succ(x0))) 248.65/165.16 248.65/165.16 We have to consider all minimal (P,Q,R)-chains. 248.65/165.16 ---------------------------------------- 248.65/165.16 248.65/165.16 (201) TransformationProof (EQUIVALENT) 248.65/165.16 By rewriting [LPAR04] the rule new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Zero, Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) at position [0,0,0] we obtained the following new rules [LPAR04]: 248.65/165.16 248.65/165.16 (new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Neg(Zero)), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))),new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Neg(Zero)), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))))) 248.65/165.16 248.65/165.16 248.65/165.16 ---------------------------------------- 248.65/165.16 248.65/165.16 (202) 248.65/165.16 Obligation: 248.65/165.16 Q DP problem: 248.65/165.16 The TRS P consists of the following rules: 248.65/165.16 248.65/165.16 new_gcd0Gcd'1(False, Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Pos(Succ(Succ(x1))), Neg(new_primModNatS01(x0, x1, x0, x1))) 248.65/165.16 new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(x0, x1, x0, x1))), Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) 248.65/165.16 new_gcd0Gcd'1(False, Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x1))), Pos(new_primModNatS01(x0, x1, x0, x1))) 248.65/165.16 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) 248.65/165.16 new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 248.65/165.16 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) 248.65/165.16 new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Neg(Zero)), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) 248.65/165.16 248.65/165.16 The TRS R consists of the following rules: 248.65/165.16 248.65/165.16 new_primModNatS1(Succ(Succ(vyv292000)), Succ(vyv291000)) -> new_primModNatS01(vyv292000, vyv291000, vyv292000, vyv291000) 248.65/165.16 new_primModNatS01(vyv330, vyv331, Zero, Zero) -> new_primModNatS02(vyv330, vyv331) 248.65/165.16 new_primModNatS02(vyv330, vyv331) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv330), Succ(vyv331)), Succ(vyv331)) 248.65/165.16 new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Succ(vyv3330)) -> new_primModNatS01(vyv330, vyv331, vyv3320, vyv3330) 248.65/165.16 new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Zero) -> new_primModNatS02(vyv330, vyv331) 248.65/165.16 new_primModNatS01(vyv330, vyv331, Zero, Succ(vyv3330)) -> Succ(Succ(vyv330)) 248.65/165.16 new_primMinusNatS2(Succ(vyv3100), Succ(vyv3110)) -> new_primMinusNatS2(vyv3100, vyv3110) 248.65/165.16 new_primModNatS1(Succ(Zero), Succ(vyv291000)) -> Succ(Zero) 248.65/165.16 new_primModNatS1(Zero, vyv29100) -> Zero 248.65/165.16 new_primMinusNatS2(Zero, Zero) -> Zero 248.65/165.16 new_primMinusNatS2(Zero, Succ(vyv3110)) -> Zero 248.65/165.16 new_primMinusNatS2(Succ(vyv3100), Zero) -> Succ(vyv3100) 248.65/165.16 new_esEs(Pos(Succ(vyv24100))) -> new_primEqInt(Pos(Succ(vyv24100))) 248.65/165.16 new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) 248.65/165.16 new_primEqInt(Pos(Zero)) -> True 248.65/165.16 new_primEqInt(Pos(Succ(vyv242000))) -> False 248.65/165.16 new_esEs(Neg(Succ(vyv24100))) -> new_primEqInt(Neg(Succ(vyv24100))) 248.65/165.16 new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) 248.65/165.16 new_primEqInt(Neg(Zero)) -> True 248.65/165.16 new_primEqInt(Neg(Succ(vyv242000))) -> False 248.65/165.16 248.65/165.16 The set Q consists of the following terms: 248.65/165.16 248.65/165.16 new_primModNatS1(Succ(Zero), Succ(x0)) 248.65/165.16 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 248.65/165.16 new_primEqInt(Pos(Zero)) 248.65/165.16 new_primModNatS02(x0, x1) 248.65/165.16 new_primModNatS01(x0, x1, Succ(x2), Zero) 248.65/165.16 new_primModNatS01(x0, x1, Zero, Succ(x2)) 248.65/165.16 new_primMinusNatS2(Zero, Zero) 248.65/165.16 new_esEs(Neg(Succ(x0))) 248.65/165.16 new_primMinusNatS2(Zero, Succ(x0)) 248.65/165.16 new_primModNatS1(Succ(Zero), Zero) 248.65/165.16 new_esEs(Pos(Zero)) 248.65/165.16 new_primEqInt(Neg(Succ(x0))) 248.65/165.16 new_primMinusNatS2(Succ(x0), Zero) 248.65/165.16 new_primEqInt(Neg(Zero)) 248.65/165.16 new_primModNatS01(x0, x1, Zero, Zero) 248.65/165.16 new_primEqInt(Pos(Succ(x0))) 248.65/165.16 new_primMinusNatS2(Succ(x0), Succ(x1)) 248.65/165.16 new_primModNatS1(Succ(Succ(x0)), Zero) 248.65/165.16 new_primModNatS1(Zero, x0) 248.65/165.16 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 248.65/165.16 new_esEs(Neg(Zero)) 248.65/165.16 new_esEs(Pos(Succ(x0))) 248.65/165.16 248.65/165.16 We have to consider all minimal (P,Q,R)-chains. 248.65/165.16 ---------------------------------------- 248.65/165.16 248.65/165.16 (203) DependencyGraphProof (EQUIVALENT) 248.65/165.16 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. 248.65/165.16 ---------------------------------------- 248.65/165.16 248.65/165.16 (204) 248.65/165.16 Obligation: 248.65/165.16 Q DP problem: 248.65/165.16 The TRS P consists of the following rules: 248.65/165.16 248.65/165.16 new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(x0, x1, x0, x1))), Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) 248.65/165.16 new_gcd0Gcd'1(False, Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x1))), Pos(new_primModNatS01(x0, x1, x0, x1))) 248.65/165.16 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) 248.65/165.16 new_gcd0Gcd'1(False, Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Pos(Succ(Succ(x1))), Neg(new_primModNatS01(x0, x1, x0, x1))) 248.65/165.16 new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 248.65/165.16 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) 248.65/165.16 248.65/165.16 The TRS R consists of the following rules: 248.65/165.16 248.65/165.16 new_primModNatS1(Succ(Succ(vyv292000)), Succ(vyv291000)) -> new_primModNatS01(vyv292000, vyv291000, vyv292000, vyv291000) 248.65/165.16 new_primModNatS01(vyv330, vyv331, Zero, Zero) -> new_primModNatS02(vyv330, vyv331) 248.65/165.16 new_primModNatS02(vyv330, vyv331) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv330), Succ(vyv331)), Succ(vyv331)) 248.65/165.16 new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Succ(vyv3330)) -> new_primModNatS01(vyv330, vyv331, vyv3320, vyv3330) 248.65/165.16 new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Zero) -> new_primModNatS02(vyv330, vyv331) 248.65/165.16 new_primModNatS01(vyv330, vyv331, Zero, Succ(vyv3330)) -> Succ(Succ(vyv330)) 248.65/165.16 new_primMinusNatS2(Succ(vyv3100), Succ(vyv3110)) -> new_primMinusNatS2(vyv3100, vyv3110) 248.65/165.16 new_primModNatS1(Succ(Zero), Succ(vyv291000)) -> Succ(Zero) 248.65/165.16 new_primModNatS1(Zero, vyv29100) -> Zero 248.65/165.16 new_primMinusNatS2(Zero, Zero) -> Zero 248.65/165.16 new_primMinusNatS2(Zero, Succ(vyv3110)) -> Zero 248.65/165.16 new_primMinusNatS2(Succ(vyv3100), Zero) -> Succ(vyv3100) 248.65/165.16 new_esEs(Pos(Succ(vyv24100))) -> new_primEqInt(Pos(Succ(vyv24100))) 248.65/165.16 new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) 248.65/165.16 new_primEqInt(Pos(Zero)) -> True 248.65/165.16 new_primEqInt(Pos(Succ(vyv242000))) -> False 248.65/165.16 new_esEs(Neg(Succ(vyv24100))) -> new_primEqInt(Neg(Succ(vyv24100))) 248.65/165.16 new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) 248.65/165.16 new_primEqInt(Neg(Zero)) -> True 248.65/165.16 new_primEqInt(Neg(Succ(vyv242000))) -> False 248.65/165.16 248.65/165.16 The set Q consists of the following terms: 248.65/165.16 248.65/165.16 new_primModNatS1(Succ(Zero), Succ(x0)) 248.65/165.16 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 248.65/165.16 new_primEqInt(Pos(Zero)) 248.65/165.16 new_primModNatS02(x0, x1) 248.65/165.16 new_primModNatS01(x0, x1, Succ(x2), Zero) 248.65/165.16 new_primModNatS01(x0, x1, Zero, Succ(x2)) 248.65/165.16 new_primMinusNatS2(Zero, Zero) 248.65/165.16 new_esEs(Neg(Succ(x0))) 248.65/165.16 new_primMinusNatS2(Zero, Succ(x0)) 248.65/165.16 new_primModNatS1(Succ(Zero), Zero) 248.65/165.16 new_esEs(Pos(Zero)) 248.65/165.16 new_primEqInt(Neg(Succ(x0))) 248.65/165.16 new_primMinusNatS2(Succ(x0), Zero) 248.65/165.16 new_primEqInt(Neg(Zero)) 248.65/165.16 new_primModNatS01(x0, x1, Zero, Zero) 248.65/165.16 new_primEqInt(Pos(Succ(x0))) 248.65/165.16 new_primMinusNatS2(Succ(x0), Succ(x1)) 248.65/165.16 new_primModNatS1(Succ(Succ(x0)), Zero) 248.65/165.16 new_primModNatS1(Zero, x0) 248.65/165.16 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 248.65/165.16 new_esEs(Neg(Zero)) 248.65/165.16 new_esEs(Pos(Succ(x0))) 248.65/165.16 248.65/165.16 We have to consider all minimal (P,Q,R)-chains. 248.65/165.16 ---------------------------------------- 248.65/165.16 248.65/165.16 (205) TransformationProof (EQUIVALENT) 248.65/165.16 By narrowing [LPAR04] the rule new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(x0, x1, x0, x1))), Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) at position [0] we obtained the following new rules [LPAR04]: 248.65/165.16 248.65/165.16 (new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS02(Zero, Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))),new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS02(Zero, Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))))) 248.65/165.16 (new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))),new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2)))))) 248.65/165.16 (new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS02(Succ(x2), Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))),new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS02(Succ(x2), Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))))) 248.65/165.16 (new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Pos(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))),new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Pos(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))))) 248.65/165.16 248.65/165.16 248.65/165.16 ---------------------------------------- 248.65/165.16 248.65/165.16 (206) 248.65/165.16 Obligation: 248.65/165.16 Q DP problem: 248.65/165.16 The TRS P consists of the following rules: 248.65/165.16 248.65/165.16 new_gcd0Gcd'1(False, Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x1))), Pos(new_primModNatS01(x0, x1, x0, x1))) 248.65/165.16 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) 248.65/165.16 new_gcd0Gcd'1(False, Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Pos(Succ(Succ(x1))), Neg(new_primModNatS01(x0, x1, x0, x1))) 248.65/165.16 new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 248.65/165.16 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) 248.65/165.16 new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS02(Zero, Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) 248.65/165.16 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) 248.65/165.16 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS02(Succ(x2), Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) 248.65/165.16 new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Pos(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 248.65/165.16 248.65/165.16 The TRS R consists of the following rules: 248.65/165.16 248.65/165.16 new_primModNatS1(Succ(Succ(vyv292000)), Succ(vyv291000)) -> new_primModNatS01(vyv292000, vyv291000, vyv292000, vyv291000) 248.65/165.16 new_primModNatS01(vyv330, vyv331, Zero, Zero) -> new_primModNatS02(vyv330, vyv331) 248.65/165.16 new_primModNatS02(vyv330, vyv331) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv330), Succ(vyv331)), Succ(vyv331)) 248.65/165.16 new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Succ(vyv3330)) -> new_primModNatS01(vyv330, vyv331, vyv3320, vyv3330) 248.65/165.16 new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Zero) -> new_primModNatS02(vyv330, vyv331) 248.65/165.16 new_primModNatS01(vyv330, vyv331, Zero, Succ(vyv3330)) -> Succ(Succ(vyv330)) 248.65/165.16 new_primMinusNatS2(Succ(vyv3100), Succ(vyv3110)) -> new_primMinusNatS2(vyv3100, vyv3110) 248.65/165.16 new_primModNatS1(Succ(Zero), Succ(vyv291000)) -> Succ(Zero) 248.65/165.16 new_primModNatS1(Zero, vyv29100) -> Zero 248.65/165.16 new_primMinusNatS2(Zero, Zero) -> Zero 248.65/165.16 new_primMinusNatS2(Zero, Succ(vyv3110)) -> Zero 248.65/165.16 new_primMinusNatS2(Succ(vyv3100), Zero) -> Succ(vyv3100) 248.65/165.16 new_esEs(Pos(Succ(vyv24100))) -> new_primEqInt(Pos(Succ(vyv24100))) 248.65/165.16 new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) 248.65/165.16 new_primEqInt(Pos(Zero)) -> True 248.65/165.16 new_primEqInt(Pos(Succ(vyv242000))) -> False 248.65/165.16 new_esEs(Neg(Succ(vyv24100))) -> new_primEqInt(Neg(Succ(vyv24100))) 248.65/165.16 new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) 248.65/165.16 new_primEqInt(Neg(Zero)) -> True 248.65/165.16 new_primEqInt(Neg(Succ(vyv242000))) -> False 248.65/165.16 248.65/165.16 The set Q consists of the following terms: 248.65/165.16 248.65/165.16 new_primModNatS1(Succ(Zero), Succ(x0)) 248.65/165.16 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 248.65/165.16 new_primEqInt(Pos(Zero)) 248.65/165.16 new_primModNatS02(x0, x1) 248.65/165.16 new_primModNatS01(x0, x1, Succ(x2), Zero) 248.65/165.16 new_primModNatS01(x0, x1, Zero, Succ(x2)) 248.65/165.16 new_primMinusNatS2(Zero, Zero) 248.65/165.16 new_esEs(Neg(Succ(x0))) 248.65/165.16 new_primMinusNatS2(Zero, Succ(x0)) 248.65/165.16 new_primModNatS1(Succ(Zero), Zero) 248.65/165.16 new_esEs(Pos(Zero)) 248.65/165.16 new_primEqInt(Neg(Succ(x0))) 248.65/165.16 new_primMinusNatS2(Succ(x0), Zero) 248.65/165.16 new_primEqInt(Neg(Zero)) 248.65/165.16 new_primModNatS01(x0, x1, Zero, Zero) 248.65/165.16 new_primEqInt(Pos(Succ(x0))) 248.65/165.16 new_primMinusNatS2(Succ(x0), Succ(x1)) 248.65/165.16 new_primModNatS1(Succ(Succ(x0)), Zero) 248.65/165.16 new_primModNatS1(Zero, x0) 248.65/165.16 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 248.65/165.16 new_esEs(Neg(Zero)) 248.65/165.16 new_esEs(Pos(Succ(x0))) 248.65/165.16 248.65/165.16 We have to consider all minimal (P,Q,R)-chains. 248.65/165.16 ---------------------------------------- 248.65/165.16 248.65/165.16 (207) TransformationProof (EQUIVALENT) 248.65/165.16 By rewriting [LPAR04] the rule new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS02(Zero, Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) at position [0,0,0] we obtained the following new rules [LPAR04]: 248.65/165.16 248.65/165.16 (new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS2(Succ(Zero), Succ(Zero)), Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))),new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS2(Succ(Zero), Succ(Zero)), Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))))) 248.65/165.16 248.65/165.16 248.65/165.16 ---------------------------------------- 248.65/165.16 248.65/165.16 (208) 248.65/165.16 Obligation: 248.65/165.16 Q DP problem: 248.65/165.16 The TRS P consists of the following rules: 248.65/165.16 248.65/165.16 new_gcd0Gcd'1(False, Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x1))), Pos(new_primModNatS01(x0, x1, x0, x1))) 248.65/165.16 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) 248.65/165.16 new_gcd0Gcd'1(False, Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Pos(Succ(Succ(x1))), Neg(new_primModNatS01(x0, x1, x0, x1))) 248.65/165.16 new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 248.65/165.16 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) 248.65/165.16 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) 248.65/165.16 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS02(Succ(x2), Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) 248.65/165.16 new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Pos(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 248.65/165.16 new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS2(Succ(Zero), Succ(Zero)), Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) 248.65/165.16 248.65/165.16 The TRS R consists of the following rules: 248.65/165.16 248.65/165.16 new_primModNatS1(Succ(Succ(vyv292000)), Succ(vyv291000)) -> new_primModNatS01(vyv292000, vyv291000, vyv292000, vyv291000) 248.65/165.16 new_primModNatS01(vyv330, vyv331, Zero, Zero) -> new_primModNatS02(vyv330, vyv331) 248.65/165.16 new_primModNatS02(vyv330, vyv331) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv330), Succ(vyv331)), Succ(vyv331)) 248.65/165.16 new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Succ(vyv3330)) -> new_primModNatS01(vyv330, vyv331, vyv3320, vyv3330) 248.65/165.16 new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Zero) -> new_primModNatS02(vyv330, vyv331) 248.65/165.16 new_primModNatS01(vyv330, vyv331, Zero, Succ(vyv3330)) -> Succ(Succ(vyv330)) 248.65/165.16 new_primMinusNatS2(Succ(vyv3100), Succ(vyv3110)) -> new_primMinusNatS2(vyv3100, vyv3110) 248.65/165.16 new_primModNatS1(Succ(Zero), Succ(vyv291000)) -> Succ(Zero) 248.65/165.16 new_primModNatS1(Zero, vyv29100) -> Zero 248.65/165.16 new_primMinusNatS2(Zero, Zero) -> Zero 248.65/165.16 new_primMinusNatS2(Zero, Succ(vyv3110)) -> Zero 248.65/165.16 new_primMinusNatS2(Succ(vyv3100), Zero) -> Succ(vyv3100) 248.65/165.16 new_esEs(Pos(Succ(vyv24100))) -> new_primEqInt(Pos(Succ(vyv24100))) 248.65/165.16 new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) 248.65/165.16 new_primEqInt(Pos(Zero)) -> True 248.65/165.16 new_primEqInt(Pos(Succ(vyv242000))) -> False 248.65/165.16 new_esEs(Neg(Succ(vyv24100))) -> new_primEqInt(Neg(Succ(vyv24100))) 248.65/165.16 new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) 248.65/165.16 new_primEqInt(Neg(Zero)) -> True 248.65/165.16 new_primEqInt(Neg(Succ(vyv242000))) -> False 248.65/165.16 248.65/165.16 The set Q consists of the following terms: 248.65/165.16 248.65/165.16 new_primModNatS1(Succ(Zero), Succ(x0)) 248.65/165.16 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 248.65/165.16 new_primEqInt(Pos(Zero)) 248.65/165.16 new_primModNatS02(x0, x1) 248.65/165.16 new_primModNatS01(x0, x1, Succ(x2), Zero) 248.65/165.16 new_primModNatS01(x0, x1, Zero, Succ(x2)) 248.65/165.16 new_primMinusNatS2(Zero, Zero) 248.65/165.16 new_esEs(Neg(Succ(x0))) 248.65/165.16 new_primMinusNatS2(Zero, Succ(x0)) 248.65/165.16 new_primModNatS1(Succ(Zero), Zero) 248.65/165.16 new_esEs(Pos(Zero)) 248.65/165.16 new_primEqInt(Neg(Succ(x0))) 248.65/165.16 new_primMinusNatS2(Succ(x0), Zero) 248.65/165.16 new_primEqInt(Neg(Zero)) 248.65/165.16 new_primModNatS01(x0, x1, Zero, Zero) 248.65/165.16 new_primEqInt(Pos(Succ(x0))) 248.65/165.16 new_primMinusNatS2(Succ(x0), Succ(x1)) 248.65/165.16 new_primModNatS1(Succ(Succ(x0)), Zero) 248.65/165.16 new_primModNatS1(Zero, x0) 248.65/165.16 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 248.65/165.16 new_esEs(Neg(Zero)) 248.65/165.16 new_esEs(Pos(Succ(x0))) 248.65/165.16 248.65/165.16 We have to consider all minimal (P,Q,R)-chains. 248.65/165.16 ---------------------------------------- 248.65/165.16 248.65/165.16 (209) TransformationProof (EQUIVALENT) 248.65/165.16 By rewriting [LPAR04] the rule new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS02(Succ(x2), Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) at position [0,0,0] we obtained the following new rules [LPAR04]: 248.65/165.16 248.65/165.16 (new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))),new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))))) 248.65/165.16 248.65/165.16 248.65/165.16 ---------------------------------------- 248.65/165.16 248.65/165.16 (210) 248.65/165.16 Obligation: 248.65/165.16 Q DP problem: 248.65/165.16 The TRS P consists of the following rules: 248.65/165.16 248.65/165.16 new_gcd0Gcd'1(False, Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x1))), Pos(new_primModNatS01(x0, x1, x0, x1))) 248.65/165.16 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) 248.65/165.16 new_gcd0Gcd'1(False, Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Pos(Succ(Succ(x1))), Neg(new_primModNatS01(x0, x1, x0, x1))) 248.65/165.16 new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 248.65/165.16 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) 248.65/165.16 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) 248.65/165.16 new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Pos(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 248.65/165.16 new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS2(Succ(Zero), Succ(Zero)), Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) 248.65/165.16 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) 248.65/165.16 248.65/165.16 The TRS R consists of the following rules: 248.65/165.16 248.65/165.16 new_primModNatS1(Succ(Succ(vyv292000)), Succ(vyv291000)) -> new_primModNatS01(vyv292000, vyv291000, vyv292000, vyv291000) 248.65/165.16 new_primModNatS01(vyv330, vyv331, Zero, Zero) -> new_primModNatS02(vyv330, vyv331) 248.65/165.16 new_primModNatS02(vyv330, vyv331) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv330), Succ(vyv331)), Succ(vyv331)) 248.65/165.16 new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Succ(vyv3330)) -> new_primModNatS01(vyv330, vyv331, vyv3320, vyv3330) 248.65/165.16 new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Zero) -> new_primModNatS02(vyv330, vyv331) 248.65/165.16 new_primModNatS01(vyv330, vyv331, Zero, Succ(vyv3330)) -> Succ(Succ(vyv330)) 248.65/165.16 new_primMinusNatS2(Succ(vyv3100), Succ(vyv3110)) -> new_primMinusNatS2(vyv3100, vyv3110) 248.65/165.16 new_primModNatS1(Succ(Zero), Succ(vyv291000)) -> Succ(Zero) 248.65/165.16 new_primModNatS1(Zero, vyv29100) -> Zero 248.65/165.16 new_primMinusNatS2(Zero, Zero) -> Zero 248.65/165.16 new_primMinusNatS2(Zero, Succ(vyv3110)) -> Zero 248.65/165.16 new_primMinusNatS2(Succ(vyv3100), Zero) -> Succ(vyv3100) 248.65/165.16 new_esEs(Pos(Succ(vyv24100))) -> new_primEqInt(Pos(Succ(vyv24100))) 248.65/165.16 new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) 248.65/165.16 new_primEqInt(Pos(Zero)) -> True 248.65/165.16 new_primEqInt(Pos(Succ(vyv242000))) -> False 248.65/165.16 new_esEs(Neg(Succ(vyv24100))) -> new_primEqInt(Neg(Succ(vyv24100))) 248.65/165.16 new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) 248.65/165.16 new_primEqInt(Neg(Zero)) -> True 248.65/165.16 new_primEqInt(Neg(Succ(vyv242000))) -> False 248.65/165.16 248.65/165.16 The set Q consists of the following terms: 248.65/165.16 248.65/165.16 new_primModNatS1(Succ(Zero), Succ(x0)) 248.65/165.16 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 248.65/165.16 new_primEqInt(Pos(Zero)) 248.65/165.16 new_primModNatS02(x0, x1) 248.65/165.16 new_primModNatS01(x0, x1, Succ(x2), Zero) 248.65/165.16 new_primModNatS01(x0, x1, Zero, Succ(x2)) 248.65/165.16 new_primMinusNatS2(Zero, Zero) 248.65/165.16 new_esEs(Neg(Succ(x0))) 248.65/165.16 new_primMinusNatS2(Zero, Succ(x0)) 248.65/165.16 new_primModNatS1(Succ(Zero), Zero) 248.65/165.16 new_esEs(Pos(Zero)) 248.65/165.16 new_primEqInt(Neg(Succ(x0))) 248.65/165.16 new_primMinusNatS2(Succ(x0), Zero) 248.65/165.16 new_primEqInt(Neg(Zero)) 248.65/165.16 new_primModNatS01(x0, x1, Zero, Zero) 248.65/165.16 new_primEqInt(Pos(Succ(x0))) 248.65/165.16 new_primMinusNatS2(Succ(x0), Succ(x1)) 248.65/165.16 new_primModNatS1(Succ(Succ(x0)), Zero) 248.65/165.16 new_primModNatS1(Zero, x0) 248.65/165.16 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 248.65/165.16 new_esEs(Neg(Zero)) 248.65/165.16 new_esEs(Pos(Succ(x0))) 248.65/165.16 248.65/165.16 We have to consider all minimal (P,Q,R)-chains. 248.65/165.16 ---------------------------------------- 248.65/165.16 248.65/165.16 (211) TransformationProof (EQUIVALENT) 248.65/165.16 By rewriting [LPAR04] the rule new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Pos(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) at position [0] we obtained the following new rules [LPAR04]: 248.65/165.16 248.65/165.16 (new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_primEqInt(Pos(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))),new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_primEqInt(Pos(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))))) 248.65/165.16 248.65/165.16 248.65/165.16 ---------------------------------------- 248.65/165.16 248.65/165.16 (212) 248.65/165.16 Obligation: 248.65/165.16 Q DP problem: 248.65/165.16 The TRS P consists of the following rules: 248.65/165.16 248.65/165.16 new_gcd0Gcd'1(False, Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x1))), Pos(new_primModNatS01(x0, x1, x0, x1))) 248.65/165.16 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) 248.65/165.16 new_gcd0Gcd'1(False, Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Pos(Succ(Succ(x1))), Neg(new_primModNatS01(x0, x1, x0, x1))) 248.65/165.16 new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 248.65/165.16 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) 248.65/165.16 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) 248.65/165.16 new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS2(Succ(Zero), Succ(Zero)), Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) 248.65/165.16 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) 248.65/165.16 new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_primEqInt(Pos(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 248.65/165.16 248.65/165.16 The TRS R consists of the following rules: 248.65/165.16 248.65/165.16 new_primModNatS1(Succ(Succ(vyv292000)), Succ(vyv291000)) -> new_primModNatS01(vyv292000, vyv291000, vyv292000, vyv291000) 248.65/165.16 new_primModNatS01(vyv330, vyv331, Zero, Zero) -> new_primModNatS02(vyv330, vyv331) 248.65/165.16 new_primModNatS02(vyv330, vyv331) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv330), Succ(vyv331)), Succ(vyv331)) 248.65/165.16 new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Succ(vyv3330)) -> new_primModNatS01(vyv330, vyv331, vyv3320, vyv3330) 248.65/165.16 new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Zero) -> new_primModNatS02(vyv330, vyv331) 248.65/165.16 new_primModNatS01(vyv330, vyv331, Zero, Succ(vyv3330)) -> Succ(Succ(vyv330)) 248.65/165.16 new_primMinusNatS2(Succ(vyv3100), Succ(vyv3110)) -> new_primMinusNatS2(vyv3100, vyv3110) 248.65/165.16 new_primModNatS1(Succ(Zero), Succ(vyv291000)) -> Succ(Zero) 248.65/165.16 new_primModNatS1(Zero, vyv29100) -> Zero 248.65/165.16 new_primMinusNatS2(Zero, Zero) -> Zero 248.65/165.16 new_primMinusNatS2(Zero, Succ(vyv3110)) -> Zero 248.65/165.16 new_primMinusNatS2(Succ(vyv3100), Zero) -> Succ(vyv3100) 248.65/165.16 new_esEs(Pos(Succ(vyv24100))) -> new_primEqInt(Pos(Succ(vyv24100))) 248.65/165.16 new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) 248.65/165.16 new_primEqInt(Pos(Zero)) -> True 248.65/165.16 new_primEqInt(Pos(Succ(vyv242000))) -> False 248.65/165.16 new_esEs(Neg(Succ(vyv24100))) -> new_primEqInt(Neg(Succ(vyv24100))) 248.65/165.16 new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) 248.65/165.16 new_primEqInt(Neg(Zero)) -> True 248.65/165.16 new_primEqInt(Neg(Succ(vyv242000))) -> False 248.65/165.16 248.65/165.16 The set Q consists of the following terms: 248.65/165.16 248.65/165.16 new_primModNatS1(Succ(Zero), Succ(x0)) 248.65/165.16 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 248.65/165.16 new_primEqInt(Pos(Zero)) 248.65/165.16 new_primModNatS02(x0, x1) 248.65/165.16 new_primModNatS01(x0, x1, Succ(x2), Zero) 248.65/165.16 new_primModNatS01(x0, x1, Zero, Succ(x2)) 248.65/165.16 new_primMinusNatS2(Zero, Zero) 248.65/165.16 new_esEs(Neg(Succ(x0))) 248.65/165.16 new_primMinusNatS2(Zero, Succ(x0)) 248.65/165.16 new_primModNatS1(Succ(Zero), Zero) 248.65/165.16 new_esEs(Pos(Zero)) 248.65/165.16 new_primEqInt(Neg(Succ(x0))) 248.65/165.16 new_primMinusNatS2(Succ(x0), Zero) 248.65/165.16 new_primEqInt(Neg(Zero)) 248.65/165.16 new_primModNatS01(x0, x1, Zero, Zero) 248.65/165.16 new_primEqInt(Pos(Succ(x0))) 248.65/165.16 new_primMinusNatS2(Succ(x0), Succ(x1)) 248.65/165.16 new_primModNatS1(Succ(Succ(x0)), Zero) 248.65/165.16 new_primModNatS1(Zero, x0) 248.65/165.16 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 248.65/165.16 new_esEs(Neg(Zero)) 248.65/165.16 new_esEs(Pos(Succ(x0))) 248.65/165.16 248.65/165.16 We have to consider all minimal (P,Q,R)-chains. 248.65/165.16 ---------------------------------------- 248.65/165.16 248.65/165.16 (213) TransformationProof (EQUIVALENT) 248.65/165.16 By rewriting [LPAR04] the rule new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS2(Succ(Zero), Succ(Zero)), Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) at position [0,0,0,0] we obtained the following new rules [LPAR04]: 248.65/165.16 248.65/165.16 (new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS2(Zero, Zero), Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))),new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS2(Zero, Zero), Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))))) 248.65/165.16 248.65/165.16 248.65/165.16 ---------------------------------------- 248.65/165.16 248.65/165.16 (214) 248.65/165.16 Obligation: 248.65/165.16 Q DP problem: 248.65/165.16 The TRS P consists of the following rules: 248.65/165.16 248.65/165.16 new_gcd0Gcd'1(False, Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x1))), Pos(new_primModNatS01(x0, x1, x0, x1))) 248.65/165.16 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) 248.65/165.16 new_gcd0Gcd'1(False, Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Pos(Succ(Succ(x1))), Neg(new_primModNatS01(x0, x1, x0, x1))) 248.65/165.16 new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 248.65/165.16 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) 248.65/165.16 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) 248.65/165.16 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) 248.65/165.16 new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_primEqInt(Pos(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 248.65/165.16 new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS2(Zero, Zero), Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) 248.65/165.16 248.65/165.16 The TRS R consists of the following rules: 248.65/165.16 248.65/165.16 new_primModNatS1(Succ(Succ(vyv292000)), Succ(vyv291000)) -> new_primModNatS01(vyv292000, vyv291000, vyv292000, vyv291000) 248.65/165.16 new_primModNatS01(vyv330, vyv331, Zero, Zero) -> new_primModNatS02(vyv330, vyv331) 248.65/165.16 new_primModNatS02(vyv330, vyv331) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv330), Succ(vyv331)), Succ(vyv331)) 248.65/165.16 new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Succ(vyv3330)) -> new_primModNatS01(vyv330, vyv331, vyv3320, vyv3330) 248.65/165.16 new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Zero) -> new_primModNatS02(vyv330, vyv331) 248.65/165.16 new_primModNatS01(vyv330, vyv331, Zero, Succ(vyv3330)) -> Succ(Succ(vyv330)) 248.65/165.16 new_primMinusNatS2(Succ(vyv3100), Succ(vyv3110)) -> new_primMinusNatS2(vyv3100, vyv3110) 248.65/165.16 new_primModNatS1(Succ(Zero), Succ(vyv291000)) -> Succ(Zero) 248.65/165.16 new_primModNatS1(Zero, vyv29100) -> Zero 248.65/165.16 new_primMinusNatS2(Zero, Zero) -> Zero 248.65/165.16 new_primMinusNatS2(Zero, Succ(vyv3110)) -> Zero 248.65/165.16 new_primMinusNatS2(Succ(vyv3100), Zero) -> Succ(vyv3100) 248.65/165.16 new_esEs(Pos(Succ(vyv24100))) -> new_primEqInt(Pos(Succ(vyv24100))) 248.65/165.16 new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) 248.65/165.17 new_primEqInt(Pos(Zero)) -> True 248.65/165.17 new_primEqInt(Pos(Succ(vyv242000))) -> False 248.65/165.17 new_esEs(Neg(Succ(vyv24100))) -> new_primEqInt(Neg(Succ(vyv24100))) 248.65/165.17 new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) 248.65/165.17 new_primEqInt(Neg(Zero)) -> True 248.65/165.17 new_primEqInt(Neg(Succ(vyv242000))) -> False 248.65/165.17 248.65/165.17 The set Q consists of the following terms: 248.65/165.17 248.65/165.17 new_primModNatS1(Succ(Zero), Succ(x0)) 248.65/165.17 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 248.65/165.17 new_primEqInt(Pos(Zero)) 248.65/165.17 new_primModNatS02(x0, x1) 248.65/165.17 new_primModNatS01(x0, x1, Succ(x2), Zero) 248.65/165.17 new_primModNatS01(x0, x1, Zero, Succ(x2)) 248.65/165.17 new_primMinusNatS2(Zero, Zero) 248.65/165.17 new_esEs(Neg(Succ(x0))) 248.65/165.17 new_primMinusNatS2(Zero, Succ(x0)) 248.65/165.17 new_primModNatS1(Succ(Zero), Zero) 248.65/165.17 new_esEs(Pos(Zero)) 248.65/165.17 new_primEqInt(Neg(Succ(x0))) 248.65/165.17 new_primMinusNatS2(Succ(x0), Zero) 248.65/165.17 new_primEqInt(Neg(Zero)) 248.65/165.17 new_primModNatS01(x0, x1, Zero, Zero) 248.65/165.17 new_primEqInt(Pos(Succ(x0))) 248.65/165.17 new_primMinusNatS2(Succ(x0), Succ(x1)) 248.65/165.17 new_primModNatS1(Succ(Succ(x0)), Zero) 248.65/165.17 new_primModNatS1(Zero, x0) 248.65/165.17 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 248.65/165.17 new_esEs(Neg(Zero)) 248.65/165.17 new_esEs(Pos(Succ(x0))) 248.65/165.17 248.65/165.17 We have to consider all minimal (P,Q,R)-chains. 248.65/165.17 ---------------------------------------- 248.65/165.17 248.65/165.17 (215) TransformationProof (EQUIVALENT) 248.65/165.17 By rewriting [LPAR04] the rule new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) at position [0,0,0,0] we obtained the following new rules [LPAR04]: 248.65/165.17 248.65/165.17 (new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))),new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))))) 248.65/165.17 248.65/165.17 248.65/165.17 ---------------------------------------- 248.65/165.17 248.65/165.17 (216) 248.65/165.17 Obligation: 248.65/165.17 Q DP problem: 248.65/165.17 The TRS P consists of the following rules: 248.65/165.17 248.65/165.17 new_gcd0Gcd'1(False, Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x1))), Pos(new_primModNatS01(x0, x1, x0, x1))) 248.65/165.17 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) 248.65/165.17 new_gcd0Gcd'1(False, Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Pos(Succ(Succ(x1))), Neg(new_primModNatS01(x0, x1, x0, x1))) 248.65/165.17 new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 248.65/165.17 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) 248.65/165.17 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) 248.65/165.17 new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_primEqInt(Pos(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 248.65/165.17 new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS2(Zero, Zero), Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) 248.65/165.17 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) 248.65/165.17 248.65/165.17 The TRS R consists of the following rules: 248.65/165.17 248.65/165.17 new_primModNatS1(Succ(Succ(vyv292000)), Succ(vyv291000)) -> new_primModNatS01(vyv292000, vyv291000, vyv292000, vyv291000) 248.65/165.17 new_primModNatS01(vyv330, vyv331, Zero, Zero) -> new_primModNatS02(vyv330, vyv331) 248.65/165.17 new_primModNatS02(vyv330, vyv331) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv330), Succ(vyv331)), Succ(vyv331)) 248.65/165.17 new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Succ(vyv3330)) -> new_primModNatS01(vyv330, vyv331, vyv3320, vyv3330) 248.65/165.17 new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Zero) -> new_primModNatS02(vyv330, vyv331) 248.65/165.17 new_primModNatS01(vyv330, vyv331, Zero, Succ(vyv3330)) -> Succ(Succ(vyv330)) 248.65/165.17 new_primMinusNatS2(Succ(vyv3100), Succ(vyv3110)) -> new_primMinusNatS2(vyv3100, vyv3110) 248.65/165.17 new_primModNatS1(Succ(Zero), Succ(vyv291000)) -> Succ(Zero) 248.65/165.17 new_primModNatS1(Zero, vyv29100) -> Zero 248.65/165.17 new_primMinusNatS2(Zero, Zero) -> Zero 248.65/165.17 new_primMinusNatS2(Zero, Succ(vyv3110)) -> Zero 248.65/165.17 new_primMinusNatS2(Succ(vyv3100), Zero) -> Succ(vyv3100) 248.65/165.17 new_esEs(Pos(Succ(vyv24100))) -> new_primEqInt(Pos(Succ(vyv24100))) 248.65/165.17 new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) 248.65/165.17 new_primEqInt(Pos(Zero)) -> True 248.65/165.17 new_primEqInt(Pos(Succ(vyv242000))) -> False 248.65/165.17 new_esEs(Neg(Succ(vyv24100))) -> new_primEqInt(Neg(Succ(vyv24100))) 248.65/165.17 new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) 248.65/165.17 new_primEqInt(Neg(Zero)) -> True 248.65/165.17 new_primEqInt(Neg(Succ(vyv242000))) -> False 248.65/165.17 248.65/165.17 The set Q consists of the following terms: 248.65/165.17 248.65/165.17 new_primModNatS1(Succ(Zero), Succ(x0)) 248.65/165.17 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 248.65/165.17 new_primEqInt(Pos(Zero)) 248.65/165.17 new_primModNatS02(x0, x1) 248.65/165.17 new_primModNatS01(x0, x1, Succ(x2), Zero) 248.65/165.17 new_primModNatS01(x0, x1, Zero, Succ(x2)) 248.65/165.17 new_primMinusNatS2(Zero, Zero) 248.65/165.17 new_esEs(Neg(Succ(x0))) 248.65/165.17 new_primMinusNatS2(Zero, Succ(x0)) 248.65/165.17 new_primModNatS1(Succ(Zero), Zero) 248.65/165.17 new_esEs(Pos(Zero)) 248.65/165.17 new_primEqInt(Neg(Succ(x0))) 248.65/165.17 new_primMinusNatS2(Succ(x0), Zero) 248.65/165.17 new_primEqInt(Neg(Zero)) 248.65/165.17 new_primModNatS01(x0, x1, Zero, Zero) 248.65/165.17 new_primEqInt(Pos(Succ(x0))) 248.65/165.17 new_primMinusNatS2(Succ(x0), Succ(x1)) 248.65/165.17 new_primModNatS1(Succ(Succ(x0)), Zero) 248.65/165.17 new_primModNatS1(Zero, x0) 248.65/165.17 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 248.65/165.17 new_esEs(Neg(Zero)) 248.65/165.17 new_esEs(Pos(Succ(x0))) 248.65/165.17 248.65/165.17 We have to consider all minimal (P,Q,R)-chains. 248.65/165.17 ---------------------------------------- 248.65/165.17 248.65/165.17 (217) TransformationProof (EQUIVALENT) 248.65/165.17 By rewriting [LPAR04] the rule new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_primEqInt(Pos(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) at position [0] we obtained the following new rules [LPAR04]: 248.65/165.17 248.65/165.17 (new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))),new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))))) 248.65/165.17 248.65/165.17 248.65/165.17 ---------------------------------------- 248.65/165.17 248.65/165.17 (218) 248.65/165.17 Obligation: 248.65/165.17 Q DP problem: 248.65/165.17 The TRS P consists of the following rules: 248.65/165.17 248.65/165.17 new_gcd0Gcd'1(False, Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x1))), Pos(new_primModNatS01(x0, x1, x0, x1))) 248.65/165.17 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) 248.65/165.17 new_gcd0Gcd'1(False, Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Pos(Succ(Succ(x1))), Neg(new_primModNatS01(x0, x1, x0, x1))) 248.65/165.17 new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 248.65/165.17 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) 248.65/165.17 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) 248.65/165.17 new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS2(Zero, Zero), Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) 248.65/165.17 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) 248.65/165.17 new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 248.65/165.17 248.65/165.17 The TRS R consists of the following rules: 248.65/165.17 248.65/165.17 new_primModNatS1(Succ(Succ(vyv292000)), Succ(vyv291000)) -> new_primModNatS01(vyv292000, vyv291000, vyv292000, vyv291000) 248.65/165.17 new_primModNatS01(vyv330, vyv331, Zero, Zero) -> new_primModNatS02(vyv330, vyv331) 248.65/165.17 new_primModNatS02(vyv330, vyv331) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv330), Succ(vyv331)), Succ(vyv331)) 248.65/165.17 new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Succ(vyv3330)) -> new_primModNatS01(vyv330, vyv331, vyv3320, vyv3330) 248.65/165.17 new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Zero) -> new_primModNatS02(vyv330, vyv331) 248.65/165.17 new_primModNatS01(vyv330, vyv331, Zero, Succ(vyv3330)) -> Succ(Succ(vyv330)) 248.65/165.17 new_primMinusNatS2(Succ(vyv3100), Succ(vyv3110)) -> new_primMinusNatS2(vyv3100, vyv3110) 248.65/165.17 new_primModNatS1(Succ(Zero), Succ(vyv291000)) -> Succ(Zero) 248.65/165.17 new_primModNatS1(Zero, vyv29100) -> Zero 248.65/165.17 new_primMinusNatS2(Zero, Zero) -> Zero 248.65/165.17 new_primMinusNatS2(Zero, Succ(vyv3110)) -> Zero 248.65/165.17 new_primMinusNatS2(Succ(vyv3100), Zero) -> Succ(vyv3100) 248.65/165.17 new_esEs(Pos(Succ(vyv24100))) -> new_primEqInt(Pos(Succ(vyv24100))) 248.65/165.17 new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) 248.65/165.17 new_primEqInt(Pos(Zero)) -> True 248.65/165.17 new_primEqInt(Pos(Succ(vyv242000))) -> False 248.65/165.17 new_esEs(Neg(Succ(vyv24100))) -> new_primEqInt(Neg(Succ(vyv24100))) 248.65/165.17 new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) 248.65/165.17 new_primEqInt(Neg(Zero)) -> True 248.65/165.17 new_primEqInt(Neg(Succ(vyv242000))) -> False 248.65/165.17 248.65/165.17 The set Q consists of the following terms: 248.65/165.17 248.65/165.17 new_primModNatS1(Succ(Zero), Succ(x0)) 248.65/165.17 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 248.65/165.17 new_primEqInt(Pos(Zero)) 248.65/165.17 new_primModNatS02(x0, x1) 248.65/165.17 new_primModNatS01(x0, x1, Succ(x2), Zero) 248.65/165.17 new_primModNatS01(x0, x1, Zero, Succ(x2)) 248.65/165.17 new_primMinusNatS2(Zero, Zero) 248.65/165.17 new_esEs(Neg(Succ(x0))) 248.65/165.17 new_primMinusNatS2(Zero, Succ(x0)) 248.65/165.17 new_primModNatS1(Succ(Zero), Zero) 248.65/165.17 new_esEs(Pos(Zero)) 248.65/165.17 new_primEqInt(Neg(Succ(x0))) 248.65/165.17 new_primMinusNatS2(Succ(x0), Zero) 248.65/165.17 new_primEqInt(Neg(Zero)) 248.65/165.17 new_primModNatS01(x0, x1, Zero, Zero) 248.65/165.17 new_primEqInt(Pos(Succ(x0))) 248.65/165.17 new_primMinusNatS2(Succ(x0), Succ(x1)) 248.65/165.17 new_primModNatS1(Succ(Succ(x0)), Zero) 248.65/165.17 new_primModNatS1(Zero, x0) 248.65/165.17 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 248.65/165.17 new_esEs(Neg(Zero)) 248.65/165.17 new_esEs(Pos(Succ(x0))) 248.65/165.17 248.65/165.17 We have to consider all minimal (P,Q,R)-chains. 248.65/165.17 ---------------------------------------- 248.65/165.17 248.65/165.17 (219) TransformationProof (EQUIVALENT) 248.65/165.17 By rewriting [LPAR04] the rule new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS2(Zero, Zero), Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) at position [0,0,0,0] we obtained the following new rules [LPAR04]: 248.65/165.17 248.65/165.17 (new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Zero, Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))),new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Zero, Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))))) 248.65/165.17 248.65/165.17 248.65/165.17 ---------------------------------------- 248.65/165.17 248.65/165.17 (220) 248.65/165.17 Obligation: 248.65/165.17 Q DP problem: 248.65/165.17 The TRS P consists of the following rules: 248.65/165.17 248.65/165.17 new_gcd0Gcd'1(False, Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x1))), Pos(new_primModNatS01(x0, x1, x0, x1))) 248.65/165.17 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) 248.65/165.17 new_gcd0Gcd'1(False, Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Pos(Succ(Succ(x1))), Neg(new_primModNatS01(x0, x1, x0, x1))) 248.65/165.17 new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 248.65/165.17 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) 248.65/165.17 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) 248.65/165.17 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) 248.65/165.17 new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 248.65/165.17 new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Zero, Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) 248.65/165.17 248.65/165.17 The TRS R consists of the following rules: 248.65/165.17 248.65/165.17 new_primModNatS1(Succ(Succ(vyv292000)), Succ(vyv291000)) -> new_primModNatS01(vyv292000, vyv291000, vyv292000, vyv291000) 248.65/165.17 new_primModNatS01(vyv330, vyv331, Zero, Zero) -> new_primModNatS02(vyv330, vyv331) 248.65/165.17 new_primModNatS02(vyv330, vyv331) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv330), Succ(vyv331)), Succ(vyv331)) 248.65/165.17 new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Succ(vyv3330)) -> new_primModNatS01(vyv330, vyv331, vyv3320, vyv3330) 248.65/165.17 new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Zero) -> new_primModNatS02(vyv330, vyv331) 248.65/165.17 new_primModNatS01(vyv330, vyv331, Zero, Succ(vyv3330)) -> Succ(Succ(vyv330)) 248.65/165.17 new_primMinusNatS2(Succ(vyv3100), Succ(vyv3110)) -> new_primMinusNatS2(vyv3100, vyv3110) 248.65/165.17 new_primModNatS1(Succ(Zero), Succ(vyv291000)) -> Succ(Zero) 248.65/165.17 new_primModNatS1(Zero, vyv29100) -> Zero 248.65/165.17 new_primMinusNatS2(Zero, Zero) -> Zero 248.65/165.17 new_primMinusNatS2(Zero, Succ(vyv3110)) -> Zero 248.65/165.17 new_primMinusNatS2(Succ(vyv3100), Zero) -> Succ(vyv3100) 248.65/165.17 new_esEs(Pos(Succ(vyv24100))) -> new_primEqInt(Pos(Succ(vyv24100))) 248.65/165.17 new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) 248.65/165.17 new_primEqInt(Pos(Zero)) -> True 248.65/165.17 new_primEqInt(Pos(Succ(vyv242000))) -> False 248.65/165.17 new_esEs(Neg(Succ(vyv24100))) -> new_primEqInt(Neg(Succ(vyv24100))) 248.65/165.17 new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) 248.65/165.17 new_primEqInt(Neg(Zero)) -> True 248.65/165.17 new_primEqInt(Neg(Succ(vyv242000))) -> False 248.65/165.17 248.65/165.17 The set Q consists of the following terms: 248.65/165.17 248.65/165.17 new_primModNatS1(Succ(Zero), Succ(x0)) 248.65/165.17 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 248.65/165.17 new_primEqInt(Pos(Zero)) 248.65/165.17 new_primModNatS02(x0, x1) 248.65/165.17 new_primModNatS01(x0, x1, Succ(x2), Zero) 248.65/165.17 new_primModNatS01(x0, x1, Zero, Succ(x2)) 248.65/165.17 new_primMinusNatS2(Zero, Zero) 248.65/165.17 new_esEs(Neg(Succ(x0))) 248.65/165.17 new_primMinusNatS2(Zero, Succ(x0)) 248.65/165.17 new_primModNatS1(Succ(Zero), Zero) 248.65/165.17 new_esEs(Pos(Zero)) 248.65/165.17 new_primEqInt(Neg(Succ(x0))) 248.65/165.17 new_primMinusNatS2(Succ(x0), Zero) 248.65/165.17 new_primEqInt(Neg(Zero)) 248.65/165.17 new_primModNatS01(x0, x1, Zero, Zero) 248.65/165.17 new_primEqInt(Pos(Succ(x0))) 248.65/165.17 new_primMinusNatS2(Succ(x0), Succ(x1)) 248.65/165.17 new_primModNatS1(Succ(Succ(x0)), Zero) 248.65/165.17 new_primModNatS1(Zero, x0) 248.65/165.17 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 248.65/165.17 new_esEs(Neg(Zero)) 248.65/165.17 new_esEs(Pos(Succ(x0))) 248.65/165.17 248.65/165.17 We have to consider all minimal (P,Q,R)-chains. 248.65/165.17 ---------------------------------------- 248.65/165.17 248.65/165.17 (221) TransformationProof (EQUIVALENT) 248.65/165.17 By rewriting [LPAR04] the rule new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) at position [0,0,0,0] we obtained the following new rules [LPAR04]: 248.65/165.17 248.65/165.17 (new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))),new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))))) 248.65/165.17 248.65/165.17 248.65/165.17 ---------------------------------------- 248.65/165.17 248.65/165.17 (222) 248.65/165.17 Obligation: 248.65/165.17 Q DP problem: 248.65/165.17 The TRS P consists of the following rules: 248.65/165.17 248.65/165.17 new_gcd0Gcd'1(False, Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x1))), Pos(new_primModNatS01(x0, x1, x0, x1))) 248.65/165.17 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) 248.65/165.17 new_gcd0Gcd'1(False, Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Pos(Succ(Succ(x1))), Neg(new_primModNatS01(x0, x1, x0, x1))) 248.65/165.17 new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 248.65/165.17 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) 248.65/165.17 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) 248.65/165.17 new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 248.65/165.17 new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Zero, Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) 248.65/165.17 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) 248.65/165.17 248.65/165.17 The TRS R consists of the following rules: 248.65/165.17 248.65/165.17 new_primModNatS1(Succ(Succ(vyv292000)), Succ(vyv291000)) -> new_primModNatS01(vyv292000, vyv291000, vyv292000, vyv291000) 248.65/165.17 new_primModNatS01(vyv330, vyv331, Zero, Zero) -> new_primModNatS02(vyv330, vyv331) 248.65/165.17 new_primModNatS02(vyv330, vyv331) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv330), Succ(vyv331)), Succ(vyv331)) 248.65/165.17 new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Succ(vyv3330)) -> new_primModNatS01(vyv330, vyv331, vyv3320, vyv3330) 248.65/165.17 new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Zero) -> new_primModNatS02(vyv330, vyv331) 248.65/165.17 new_primModNatS01(vyv330, vyv331, Zero, Succ(vyv3330)) -> Succ(Succ(vyv330)) 248.65/165.17 new_primMinusNatS2(Succ(vyv3100), Succ(vyv3110)) -> new_primMinusNatS2(vyv3100, vyv3110) 248.65/165.17 new_primModNatS1(Succ(Zero), Succ(vyv291000)) -> Succ(Zero) 248.65/165.17 new_primModNatS1(Zero, vyv29100) -> Zero 248.65/165.17 new_primMinusNatS2(Zero, Zero) -> Zero 248.65/165.17 new_primMinusNatS2(Zero, Succ(vyv3110)) -> Zero 248.65/165.17 new_primMinusNatS2(Succ(vyv3100), Zero) -> Succ(vyv3100) 248.65/165.17 new_esEs(Pos(Succ(vyv24100))) -> new_primEqInt(Pos(Succ(vyv24100))) 248.65/165.17 new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) 248.65/165.17 new_primEqInt(Pos(Zero)) -> True 248.65/165.17 new_primEqInt(Pos(Succ(vyv242000))) -> False 248.65/165.17 new_esEs(Neg(Succ(vyv24100))) -> new_primEqInt(Neg(Succ(vyv24100))) 248.65/165.17 new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) 248.65/165.17 new_primEqInt(Neg(Zero)) -> True 248.65/165.17 new_primEqInt(Neg(Succ(vyv242000))) -> False 248.65/165.17 248.65/165.17 The set Q consists of the following terms: 248.65/165.17 248.65/165.17 new_primModNatS1(Succ(Zero), Succ(x0)) 248.65/165.17 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 248.65/165.17 new_primEqInt(Pos(Zero)) 248.65/165.17 new_primModNatS02(x0, x1) 248.65/165.17 new_primModNatS01(x0, x1, Succ(x2), Zero) 248.65/165.17 new_primModNatS01(x0, x1, Zero, Succ(x2)) 248.65/165.17 new_primMinusNatS2(Zero, Zero) 248.65/165.17 new_esEs(Neg(Succ(x0))) 248.65/165.17 new_primMinusNatS2(Zero, Succ(x0)) 248.65/165.17 new_primModNatS1(Succ(Zero), Zero) 248.65/165.17 new_esEs(Pos(Zero)) 248.65/165.17 new_primEqInt(Neg(Succ(x0))) 248.65/165.17 new_primMinusNatS2(Succ(x0), Zero) 248.65/165.17 new_primEqInt(Neg(Zero)) 248.65/165.17 new_primModNatS01(x0, x1, Zero, Zero) 248.65/165.17 new_primEqInt(Pos(Succ(x0))) 248.65/165.17 new_primMinusNatS2(Succ(x0), Succ(x1)) 248.65/165.17 new_primModNatS1(Succ(Succ(x0)), Zero) 248.65/165.17 new_primModNatS1(Zero, x0) 248.65/165.17 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 248.65/165.17 new_esEs(Neg(Zero)) 248.65/165.17 new_esEs(Pos(Succ(x0))) 248.65/165.17 248.65/165.17 We have to consider all minimal (P,Q,R)-chains. 248.65/165.17 ---------------------------------------- 248.65/165.17 248.65/165.17 (223) TransformationProof (EQUIVALENT) 248.65/165.17 By rewriting [LPAR04] the rule new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Zero, Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) at position [0,0,0] we obtained the following new rules [LPAR04]: 248.65/165.17 248.65/165.17 (new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))),new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))))) 248.65/165.17 248.65/165.17 248.65/165.17 ---------------------------------------- 248.65/165.17 248.65/165.17 (224) 248.65/165.17 Obligation: 248.65/165.17 Q DP problem: 248.65/165.17 The TRS P consists of the following rules: 248.65/165.17 248.65/165.17 new_gcd0Gcd'1(False, Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x1))), Pos(new_primModNatS01(x0, x1, x0, x1))) 248.65/165.17 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) 248.65/165.17 new_gcd0Gcd'1(False, Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Pos(Succ(Succ(x1))), Neg(new_primModNatS01(x0, x1, x0, x1))) 248.65/165.17 new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 248.65/165.17 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) 248.65/165.17 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) 248.65/165.17 new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 248.65/165.17 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) 248.65/165.17 new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) 248.65/165.17 248.65/165.17 The TRS R consists of the following rules: 248.65/165.17 248.65/165.17 new_primModNatS1(Succ(Succ(vyv292000)), Succ(vyv291000)) -> new_primModNatS01(vyv292000, vyv291000, vyv292000, vyv291000) 248.65/165.17 new_primModNatS01(vyv330, vyv331, Zero, Zero) -> new_primModNatS02(vyv330, vyv331) 248.65/165.17 new_primModNatS02(vyv330, vyv331) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv330), Succ(vyv331)), Succ(vyv331)) 248.65/165.17 new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Succ(vyv3330)) -> new_primModNatS01(vyv330, vyv331, vyv3320, vyv3330) 248.65/165.17 new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Zero) -> new_primModNatS02(vyv330, vyv331) 248.65/165.17 new_primModNatS01(vyv330, vyv331, Zero, Succ(vyv3330)) -> Succ(Succ(vyv330)) 248.65/165.17 new_primMinusNatS2(Succ(vyv3100), Succ(vyv3110)) -> new_primMinusNatS2(vyv3100, vyv3110) 248.65/165.17 new_primModNatS1(Succ(Zero), Succ(vyv291000)) -> Succ(Zero) 248.65/165.17 new_primModNatS1(Zero, vyv29100) -> Zero 248.65/165.17 new_primMinusNatS2(Zero, Zero) -> Zero 248.65/165.17 new_primMinusNatS2(Zero, Succ(vyv3110)) -> Zero 248.65/165.17 new_primMinusNatS2(Succ(vyv3100), Zero) -> Succ(vyv3100) 248.65/165.17 new_esEs(Pos(Succ(vyv24100))) -> new_primEqInt(Pos(Succ(vyv24100))) 248.65/165.17 new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) 248.65/165.17 new_primEqInt(Pos(Zero)) -> True 248.65/165.17 new_primEqInt(Pos(Succ(vyv242000))) -> False 248.65/165.17 new_esEs(Neg(Succ(vyv24100))) -> new_primEqInt(Neg(Succ(vyv24100))) 248.65/165.17 new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) 248.65/165.17 new_primEqInt(Neg(Zero)) -> True 248.65/165.17 new_primEqInt(Neg(Succ(vyv242000))) -> False 248.65/165.17 248.65/165.17 The set Q consists of the following terms: 248.65/165.17 248.65/165.17 new_primModNatS1(Succ(Zero), Succ(x0)) 248.65/165.17 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 248.65/165.17 new_primEqInt(Pos(Zero)) 248.65/165.17 new_primModNatS02(x0, x1) 248.65/165.17 new_primModNatS01(x0, x1, Succ(x2), Zero) 248.65/165.17 new_primModNatS01(x0, x1, Zero, Succ(x2)) 248.65/165.17 new_primMinusNatS2(Zero, Zero) 248.65/165.17 new_esEs(Neg(Succ(x0))) 248.65/165.17 new_primMinusNatS2(Zero, Succ(x0)) 248.65/165.17 new_primModNatS1(Succ(Zero), Zero) 248.65/165.17 new_esEs(Pos(Zero)) 248.65/165.17 new_primEqInt(Neg(Succ(x0))) 248.65/165.17 new_primMinusNatS2(Succ(x0), Zero) 248.65/165.17 new_primEqInt(Neg(Zero)) 248.65/165.17 new_primModNatS01(x0, x1, Zero, Zero) 248.65/165.17 new_primEqInt(Pos(Succ(x0))) 248.65/165.17 new_primMinusNatS2(Succ(x0), Succ(x1)) 248.65/165.17 new_primModNatS1(Succ(Succ(x0)), Zero) 248.65/165.17 new_primModNatS1(Zero, x0) 248.65/165.17 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 248.65/165.17 new_esEs(Neg(Zero)) 248.65/165.17 new_esEs(Pos(Succ(x0))) 248.65/165.17 248.65/165.17 We have to consider all minimal (P,Q,R)-chains. 248.65/165.17 ---------------------------------------- 248.65/165.17 248.65/165.17 (225) DependencyGraphProof (EQUIVALENT) 248.65/165.17 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. 248.65/165.17 ---------------------------------------- 248.65/165.17 248.65/165.17 (226) 248.65/165.17 Obligation: 248.65/165.17 Q DP problem: 248.65/165.17 The TRS P consists of the following rules: 248.65/165.17 248.65/165.17 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) 248.65/165.17 new_gcd0Gcd'1(False, Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Pos(Succ(Succ(x1))), Neg(new_primModNatS01(x0, x1, x0, x1))) 248.65/165.17 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) 248.65/165.17 new_gcd0Gcd'1(False, Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x1))), Pos(new_primModNatS01(x0, x1, x0, x1))) 248.65/165.17 new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 248.65/165.17 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) 248.65/165.17 new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 248.65/165.17 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) 248.65/165.17 248.65/165.17 The TRS R consists of the following rules: 248.65/165.17 248.65/165.17 new_primModNatS1(Succ(Succ(vyv292000)), Succ(vyv291000)) -> new_primModNatS01(vyv292000, vyv291000, vyv292000, vyv291000) 248.65/165.17 new_primModNatS01(vyv330, vyv331, Zero, Zero) -> new_primModNatS02(vyv330, vyv331) 248.65/165.17 new_primModNatS02(vyv330, vyv331) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv330), Succ(vyv331)), Succ(vyv331)) 248.65/165.17 new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Succ(vyv3330)) -> new_primModNatS01(vyv330, vyv331, vyv3320, vyv3330) 248.65/165.17 new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Zero) -> new_primModNatS02(vyv330, vyv331) 248.65/165.17 new_primModNatS01(vyv330, vyv331, Zero, Succ(vyv3330)) -> Succ(Succ(vyv330)) 248.65/165.17 new_primMinusNatS2(Succ(vyv3100), Succ(vyv3110)) -> new_primMinusNatS2(vyv3100, vyv3110) 248.65/165.17 new_primModNatS1(Succ(Zero), Succ(vyv291000)) -> Succ(Zero) 248.65/165.17 new_primModNatS1(Zero, vyv29100) -> Zero 248.65/165.17 new_primMinusNatS2(Zero, Zero) -> Zero 248.65/165.17 new_primMinusNatS2(Zero, Succ(vyv3110)) -> Zero 248.65/165.17 new_primMinusNatS2(Succ(vyv3100), Zero) -> Succ(vyv3100) 248.65/165.17 new_esEs(Pos(Succ(vyv24100))) -> new_primEqInt(Pos(Succ(vyv24100))) 248.65/165.17 new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) 248.65/165.17 new_primEqInt(Pos(Zero)) -> True 248.65/165.17 new_primEqInt(Pos(Succ(vyv242000))) -> False 248.65/165.17 new_esEs(Neg(Succ(vyv24100))) -> new_primEqInt(Neg(Succ(vyv24100))) 248.65/165.17 new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) 248.65/165.17 new_primEqInt(Neg(Zero)) -> True 248.65/165.17 new_primEqInt(Neg(Succ(vyv242000))) -> False 248.65/165.17 248.65/165.17 The set Q consists of the following terms: 248.65/165.17 248.65/165.17 new_primModNatS1(Succ(Zero), Succ(x0)) 248.65/165.17 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 248.65/165.17 new_primEqInt(Pos(Zero)) 248.65/165.17 new_primModNatS02(x0, x1) 248.65/165.17 new_primModNatS01(x0, x1, Succ(x2), Zero) 248.65/165.17 new_primModNatS01(x0, x1, Zero, Succ(x2)) 248.65/165.17 new_primMinusNatS2(Zero, Zero) 248.65/165.17 new_esEs(Neg(Succ(x0))) 248.65/165.17 new_primMinusNatS2(Zero, Succ(x0)) 248.65/165.17 new_primModNatS1(Succ(Zero), Zero) 248.65/165.17 new_esEs(Pos(Zero)) 248.65/165.17 new_primEqInt(Neg(Succ(x0))) 248.65/165.17 new_primMinusNatS2(Succ(x0), Zero) 248.65/165.17 new_primEqInt(Neg(Zero)) 248.65/165.17 new_primModNatS01(x0, x1, Zero, Zero) 248.65/165.17 new_primEqInt(Pos(Succ(x0))) 248.65/165.17 new_primMinusNatS2(Succ(x0), Succ(x1)) 248.65/165.17 new_primModNatS1(Succ(Succ(x0)), Zero) 248.65/165.17 new_primModNatS1(Zero, x0) 248.65/165.17 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 248.65/165.17 new_esEs(Neg(Zero)) 248.65/165.17 new_esEs(Pos(Succ(x0))) 248.65/165.17 248.65/165.17 We have to consider all minimal (P,Q,R)-chains. 248.65/165.17 ---------------------------------------- 248.65/165.17 248.65/165.17 (227) TransformationProof (EQUIVALENT) 248.65/165.17 By narrowing [LPAR04] the rule new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) at position [0] we obtained the following new rules [LPAR04]: 248.65/165.17 248.65/165.17 (new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS02(Succ(Zero), Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))),new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS02(Succ(Zero), Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))))) 248.65/165.17 (new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))),new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2))))))) 248.65/165.17 (new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))),new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))))) 248.65/165.17 (new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Neg(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))),new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Neg(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))))) 248.65/165.17 248.65/165.17 248.65/165.17 ---------------------------------------- 248.65/165.17 248.65/165.17 (228) 248.65/165.17 Obligation: 248.65/165.17 Q DP problem: 248.65/165.17 The TRS P consists of the following rules: 248.65/165.17 248.65/165.17 new_gcd0Gcd'1(False, Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Pos(Succ(Succ(x1))), Neg(new_primModNatS01(x0, x1, x0, x1))) 248.65/165.17 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) 248.65/165.17 new_gcd0Gcd'1(False, Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x1))), Pos(new_primModNatS01(x0, x1, x0, x1))) 248.65/165.17 new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 248.65/165.17 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) 248.65/165.17 new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 248.65/165.17 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) 248.65/165.17 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS02(Succ(Zero), Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) 248.65/165.17 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) 248.65/165.17 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) 248.65/165.17 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Neg(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) 248.65/165.17 248.65/165.17 The TRS R consists of the following rules: 248.65/165.17 248.65/165.17 new_primModNatS1(Succ(Succ(vyv292000)), Succ(vyv291000)) -> new_primModNatS01(vyv292000, vyv291000, vyv292000, vyv291000) 248.65/165.17 new_primModNatS01(vyv330, vyv331, Zero, Zero) -> new_primModNatS02(vyv330, vyv331) 248.65/165.17 new_primModNatS02(vyv330, vyv331) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv330), Succ(vyv331)), Succ(vyv331)) 248.65/165.17 new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Succ(vyv3330)) -> new_primModNatS01(vyv330, vyv331, vyv3320, vyv3330) 248.65/165.17 new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Zero) -> new_primModNatS02(vyv330, vyv331) 248.65/165.17 new_primModNatS01(vyv330, vyv331, Zero, Succ(vyv3330)) -> Succ(Succ(vyv330)) 248.65/165.17 new_primMinusNatS2(Succ(vyv3100), Succ(vyv3110)) -> new_primMinusNatS2(vyv3100, vyv3110) 248.65/165.17 new_primModNatS1(Succ(Zero), Succ(vyv291000)) -> Succ(Zero) 248.65/165.17 new_primModNatS1(Zero, vyv29100) -> Zero 248.65/165.17 new_primMinusNatS2(Zero, Zero) -> Zero 248.65/165.17 new_primMinusNatS2(Zero, Succ(vyv3110)) -> Zero 248.65/165.17 new_primMinusNatS2(Succ(vyv3100), Zero) -> Succ(vyv3100) 248.65/165.17 new_esEs(Pos(Succ(vyv24100))) -> new_primEqInt(Pos(Succ(vyv24100))) 248.65/165.17 new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) 248.65/165.17 new_primEqInt(Pos(Zero)) -> True 248.65/165.17 new_primEqInt(Pos(Succ(vyv242000))) -> False 248.65/165.17 new_esEs(Neg(Succ(vyv24100))) -> new_primEqInt(Neg(Succ(vyv24100))) 248.65/165.17 new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) 248.65/165.17 new_primEqInt(Neg(Zero)) -> True 248.65/165.17 new_primEqInt(Neg(Succ(vyv242000))) -> False 248.65/165.17 248.65/165.17 The set Q consists of the following terms: 248.65/165.17 248.65/165.17 new_primModNatS1(Succ(Zero), Succ(x0)) 248.65/165.17 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 248.65/165.17 new_primEqInt(Pos(Zero)) 248.65/165.17 new_primModNatS02(x0, x1) 248.65/165.17 new_primModNatS01(x0, x1, Succ(x2), Zero) 248.65/165.17 new_primModNatS01(x0, x1, Zero, Succ(x2)) 248.65/165.17 new_primMinusNatS2(Zero, Zero) 248.65/165.17 new_esEs(Neg(Succ(x0))) 248.65/165.17 new_primMinusNatS2(Zero, Succ(x0)) 248.65/165.17 new_primModNatS1(Succ(Zero), Zero) 248.65/165.17 new_esEs(Pos(Zero)) 248.65/165.17 new_primEqInt(Neg(Succ(x0))) 248.65/165.17 new_primMinusNatS2(Succ(x0), Zero) 248.65/165.17 new_primEqInt(Neg(Zero)) 248.65/165.17 new_primModNatS01(x0, x1, Zero, Zero) 248.65/165.17 new_primEqInt(Pos(Succ(x0))) 248.65/165.17 new_primMinusNatS2(Succ(x0), Succ(x1)) 248.65/165.17 new_primModNatS1(Succ(Succ(x0)), Zero) 248.65/165.17 new_primModNatS1(Zero, x0) 248.65/165.17 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 248.65/165.17 new_esEs(Neg(Zero)) 248.65/165.17 new_esEs(Pos(Succ(x0))) 248.65/165.17 248.65/165.17 We have to consider all minimal (P,Q,R)-chains. 248.65/165.17 ---------------------------------------- 248.65/165.17 248.65/165.17 (229) TransformationProof (EQUIVALENT) 248.65/165.17 By rewriting [LPAR04] the rule new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS02(Succ(Zero), Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) at position [0,0,0] we obtained the following new rules [LPAR04]: 248.65/165.17 248.65/165.17 (new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(Zero)), Succ(Succ(Zero))), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))),new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(Zero)), Succ(Succ(Zero))), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))))) 248.65/165.17 248.65/165.17 248.65/165.17 ---------------------------------------- 248.65/165.17 248.65/165.17 (230) 248.65/165.17 Obligation: 248.65/165.17 Q DP problem: 248.65/165.17 The TRS P consists of the following rules: 248.65/165.17 248.65/165.17 new_gcd0Gcd'1(False, Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Pos(Succ(Succ(x1))), Neg(new_primModNatS01(x0, x1, x0, x1))) 248.65/165.17 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) 248.65/165.17 new_gcd0Gcd'1(False, Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x1))), Pos(new_primModNatS01(x0, x1, x0, x1))) 248.65/165.17 new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 248.65/165.17 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) 248.65/165.17 new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 248.65/165.17 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) 248.65/165.17 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) 248.65/165.17 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) 248.65/165.17 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Neg(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) 248.65/165.17 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(Zero)), Succ(Succ(Zero))), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) 248.65/165.17 248.65/165.17 The TRS R consists of the following rules: 248.65/165.17 248.65/165.17 new_primModNatS1(Succ(Succ(vyv292000)), Succ(vyv291000)) -> new_primModNatS01(vyv292000, vyv291000, vyv292000, vyv291000) 248.65/165.17 new_primModNatS01(vyv330, vyv331, Zero, Zero) -> new_primModNatS02(vyv330, vyv331) 248.65/165.17 new_primModNatS02(vyv330, vyv331) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv330), Succ(vyv331)), Succ(vyv331)) 248.65/165.17 new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Succ(vyv3330)) -> new_primModNatS01(vyv330, vyv331, vyv3320, vyv3330) 248.65/165.17 new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Zero) -> new_primModNatS02(vyv330, vyv331) 248.65/165.17 new_primModNatS01(vyv330, vyv331, Zero, Succ(vyv3330)) -> Succ(Succ(vyv330)) 248.65/165.17 new_primMinusNatS2(Succ(vyv3100), Succ(vyv3110)) -> new_primMinusNatS2(vyv3100, vyv3110) 248.65/165.17 new_primModNatS1(Succ(Zero), Succ(vyv291000)) -> Succ(Zero) 248.65/165.17 new_primModNatS1(Zero, vyv29100) -> Zero 248.65/165.17 new_primMinusNatS2(Zero, Zero) -> Zero 248.65/165.17 new_primMinusNatS2(Zero, Succ(vyv3110)) -> Zero 248.65/165.17 new_primMinusNatS2(Succ(vyv3100), Zero) -> Succ(vyv3100) 248.65/165.17 new_esEs(Pos(Succ(vyv24100))) -> new_primEqInt(Pos(Succ(vyv24100))) 248.65/165.17 new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) 248.65/165.17 new_primEqInt(Pos(Zero)) -> True 248.65/165.17 new_primEqInt(Pos(Succ(vyv242000))) -> False 248.65/165.17 new_esEs(Neg(Succ(vyv24100))) -> new_primEqInt(Neg(Succ(vyv24100))) 248.65/165.17 new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) 248.65/165.17 new_primEqInt(Neg(Zero)) -> True 248.65/165.17 new_primEqInt(Neg(Succ(vyv242000))) -> False 248.65/165.17 248.65/165.17 The set Q consists of the following terms: 248.65/165.17 248.65/165.17 new_primModNatS1(Succ(Zero), Succ(x0)) 248.65/165.17 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 248.65/165.17 new_primEqInt(Pos(Zero)) 248.65/165.17 new_primModNatS02(x0, x1) 248.65/165.17 new_primModNatS01(x0, x1, Succ(x2), Zero) 248.65/165.17 new_primModNatS01(x0, x1, Zero, Succ(x2)) 248.65/165.17 new_primMinusNatS2(Zero, Zero) 248.65/165.17 new_esEs(Neg(Succ(x0))) 248.65/165.17 new_primMinusNatS2(Zero, Succ(x0)) 248.65/165.17 new_primModNatS1(Succ(Zero), Zero) 248.65/165.17 new_esEs(Pos(Zero)) 248.65/165.17 new_primEqInt(Neg(Succ(x0))) 248.65/165.17 new_primMinusNatS2(Succ(x0), Zero) 248.65/165.17 new_primEqInt(Neg(Zero)) 248.65/165.17 new_primModNatS01(x0, x1, Zero, Zero) 248.65/165.17 new_primEqInt(Pos(Succ(x0))) 248.65/165.17 new_primMinusNatS2(Succ(x0), Succ(x1)) 248.65/165.17 new_primModNatS1(Succ(Succ(x0)), Zero) 248.65/165.17 new_primModNatS1(Zero, x0) 248.65/165.17 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 248.65/165.17 new_esEs(Neg(Zero)) 248.65/165.17 new_esEs(Pos(Succ(x0))) 248.65/165.17 248.65/165.17 We have to consider all minimal (P,Q,R)-chains. 248.65/165.17 ---------------------------------------- 248.65/165.17 248.65/165.17 (231) TransformationProof (EQUIVALENT) 248.65/165.17 By rewriting [LPAR04] the rule new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) at position [0,0,0] we obtained the following new rules [LPAR04]: 248.65/165.17 248.65/165.17 (new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(Succ(x2))), Succ(Succ(Zero))), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))),new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(Succ(x2))), Succ(Succ(Zero))), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))))) 248.65/165.17 248.65/165.17 248.65/165.17 ---------------------------------------- 248.65/165.17 248.65/165.17 (232) 248.65/165.17 Obligation: 248.65/165.17 Q DP problem: 248.65/165.17 The TRS P consists of the following rules: 248.65/165.17 248.65/165.17 new_gcd0Gcd'1(False, Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Pos(Succ(Succ(x1))), Neg(new_primModNatS01(x0, x1, x0, x1))) 248.65/165.17 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) 248.65/165.17 new_gcd0Gcd'1(False, Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x1))), Pos(new_primModNatS01(x0, x1, x0, x1))) 248.65/165.17 new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 248.65/165.17 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) 248.65/165.17 new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 248.65/165.17 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) 248.65/165.17 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) 248.65/165.17 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Neg(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) 248.65/165.17 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(Zero)), Succ(Succ(Zero))), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) 248.65/165.17 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(Succ(x2))), Succ(Succ(Zero))), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) 248.65/165.17 248.65/165.17 The TRS R consists of the following rules: 248.65/165.17 248.65/165.17 new_primModNatS1(Succ(Succ(vyv292000)), Succ(vyv291000)) -> new_primModNatS01(vyv292000, vyv291000, vyv292000, vyv291000) 248.65/165.17 new_primModNatS01(vyv330, vyv331, Zero, Zero) -> new_primModNatS02(vyv330, vyv331) 248.65/165.17 new_primModNatS02(vyv330, vyv331) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv330), Succ(vyv331)), Succ(vyv331)) 248.65/165.17 new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Succ(vyv3330)) -> new_primModNatS01(vyv330, vyv331, vyv3320, vyv3330) 248.65/165.17 new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Zero) -> new_primModNatS02(vyv330, vyv331) 248.65/165.17 new_primModNatS01(vyv330, vyv331, Zero, Succ(vyv3330)) -> Succ(Succ(vyv330)) 248.65/165.17 new_primMinusNatS2(Succ(vyv3100), Succ(vyv3110)) -> new_primMinusNatS2(vyv3100, vyv3110) 248.65/165.17 new_primModNatS1(Succ(Zero), Succ(vyv291000)) -> Succ(Zero) 248.65/165.17 new_primModNatS1(Zero, vyv29100) -> Zero 248.65/165.17 new_primMinusNatS2(Zero, Zero) -> Zero 248.65/165.17 new_primMinusNatS2(Zero, Succ(vyv3110)) -> Zero 248.65/165.17 new_primMinusNatS2(Succ(vyv3100), Zero) -> Succ(vyv3100) 248.65/165.17 new_esEs(Pos(Succ(vyv24100))) -> new_primEqInt(Pos(Succ(vyv24100))) 248.65/165.17 new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) 248.65/165.17 new_primEqInt(Pos(Zero)) -> True 248.65/165.17 new_primEqInt(Pos(Succ(vyv242000))) -> False 248.65/165.17 new_esEs(Neg(Succ(vyv24100))) -> new_primEqInt(Neg(Succ(vyv24100))) 248.65/165.17 new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) 248.65/165.17 new_primEqInt(Neg(Zero)) -> True 248.65/165.17 new_primEqInt(Neg(Succ(vyv242000))) -> False 248.65/165.17 248.65/165.17 The set Q consists of the following terms: 248.65/165.17 248.65/165.17 new_primModNatS1(Succ(Zero), Succ(x0)) 248.65/165.17 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 248.65/165.17 new_primEqInt(Pos(Zero)) 248.65/165.17 new_primModNatS02(x0, x1) 248.65/165.17 new_primModNatS01(x0, x1, Succ(x2), Zero) 248.65/165.17 new_primModNatS01(x0, x1, Zero, Succ(x2)) 248.65/165.17 new_primMinusNatS2(Zero, Zero) 248.65/165.17 new_esEs(Neg(Succ(x0))) 248.65/165.17 new_primMinusNatS2(Zero, Succ(x0)) 248.65/165.17 new_primModNatS1(Succ(Zero), Zero) 248.65/165.17 new_esEs(Pos(Zero)) 248.65/165.17 new_primEqInt(Neg(Succ(x0))) 248.65/165.17 new_primMinusNatS2(Succ(x0), Zero) 248.65/165.17 new_primEqInt(Neg(Zero)) 248.65/165.17 new_primModNatS01(x0, x1, Zero, Zero) 248.65/165.17 new_primEqInt(Pos(Succ(x0))) 248.65/165.17 new_primMinusNatS2(Succ(x0), Succ(x1)) 248.65/165.17 new_primModNatS1(Succ(Succ(x0)), Zero) 248.65/165.17 new_primModNatS1(Zero, x0) 248.65/165.17 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 248.65/165.17 new_esEs(Neg(Zero)) 248.65/165.17 new_esEs(Pos(Succ(x0))) 248.65/165.17 248.65/165.17 We have to consider all minimal (P,Q,R)-chains. 248.65/165.17 ---------------------------------------- 248.65/165.17 248.65/165.17 (233) TransformationProof (EQUIVALENT) 248.65/165.17 By rewriting [LPAR04] the rule new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Neg(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) at position [0] we obtained the following new rules [LPAR04]: 248.65/165.17 248.65/165.17 (new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_primEqInt(Neg(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))),new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_primEqInt(Neg(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))))) 248.65/165.17 248.65/165.17 248.65/165.17 ---------------------------------------- 248.65/165.17 248.65/165.17 (234) 248.65/165.17 Obligation: 248.65/165.17 Q DP problem: 248.65/165.17 The TRS P consists of the following rules: 248.65/165.17 248.65/165.17 new_gcd0Gcd'1(False, Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Pos(Succ(Succ(x1))), Neg(new_primModNatS01(x0, x1, x0, x1))) 248.74/165.17 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) 248.74/165.17 new_gcd0Gcd'1(False, Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x1))), Pos(new_primModNatS01(x0, x1, x0, x1))) 248.74/165.17 new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 248.74/165.17 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) 248.74/165.17 new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 248.74/165.17 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) 248.74/165.17 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) 248.74/165.17 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(Zero)), Succ(Succ(Zero))), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) 248.74/165.17 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(Succ(x2))), Succ(Succ(Zero))), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) 248.74/165.17 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_primEqInt(Neg(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) 248.74/165.17 248.74/165.17 The TRS R consists of the following rules: 248.74/165.17 248.74/165.17 new_primModNatS1(Succ(Succ(vyv292000)), Succ(vyv291000)) -> new_primModNatS01(vyv292000, vyv291000, vyv292000, vyv291000) 248.74/165.17 new_primModNatS01(vyv330, vyv331, Zero, Zero) -> new_primModNatS02(vyv330, vyv331) 248.74/165.17 new_primModNatS02(vyv330, vyv331) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv330), Succ(vyv331)), Succ(vyv331)) 248.74/165.17 new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Succ(vyv3330)) -> new_primModNatS01(vyv330, vyv331, vyv3320, vyv3330) 248.74/165.17 new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Zero) -> new_primModNatS02(vyv330, vyv331) 248.74/165.17 new_primModNatS01(vyv330, vyv331, Zero, Succ(vyv3330)) -> Succ(Succ(vyv330)) 248.74/165.17 new_primMinusNatS2(Succ(vyv3100), Succ(vyv3110)) -> new_primMinusNatS2(vyv3100, vyv3110) 248.74/165.17 new_primModNatS1(Succ(Zero), Succ(vyv291000)) -> Succ(Zero) 248.74/165.17 new_primModNatS1(Zero, vyv29100) -> Zero 248.74/165.17 new_primMinusNatS2(Zero, Zero) -> Zero 248.74/165.17 new_primMinusNatS2(Zero, Succ(vyv3110)) -> Zero 248.74/165.17 new_primMinusNatS2(Succ(vyv3100), Zero) -> Succ(vyv3100) 248.74/165.17 new_esEs(Pos(Succ(vyv24100))) -> new_primEqInt(Pos(Succ(vyv24100))) 248.74/165.17 new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) 248.74/165.17 new_primEqInt(Pos(Zero)) -> True 248.74/165.17 new_primEqInt(Pos(Succ(vyv242000))) -> False 248.74/165.17 new_esEs(Neg(Succ(vyv24100))) -> new_primEqInt(Neg(Succ(vyv24100))) 248.74/165.17 new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) 248.74/165.17 new_primEqInt(Neg(Zero)) -> True 248.74/165.17 new_primEqInt(Neg(Succ(vyv242000))) -> False 248.74/165.17 248.74/165.17 The set Q consists of the following terms: 248.74/165.17 248.74/165.17 new_primModNatS1(Succ(Zero), Succ(x0)) 248.74/165.17 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 248.74/165.17 new_primEqInt(Pos(Zero)) 248.74/165.17 new_primModNatS02(x0, x1) 248.74/165.17 new_primModNatS01(x0, x1, Succ(x2), Zero) 248.74/165.17 new_primModNatS01(x0, x1, Zero, Succ(x2)) 248.74/165.17 new_primMinusNatS2(Zero, Zero) 248.74/165.17 new_esEs(Neg(Succ(x0))) 248.74/165.17 new_primMinusNatS2(Zero, Succ(x0)) 248.74/165.17 new_primModNatS1(Succ(Zero), Zero) 248.74/165.17 new_esEs(Pos(Zero)) 248.74/165.17 new_primEqInt(Neg(Succ(x0))) 248.74/165.17 new_primMinusNatS2(Succ(x0), Zero) 248.74/165.17 new_primEqInt(Neg(Zero)) 248.74/165.17 new_primModNatS01(x0, x1, Zero, Zero) 248.74/165.17 new_primEqInt(Pos(Succ(x0))) 248.74/165.17 new_primMinusNatS2(Succ(x0), Succ(x1)) 248.74/165.17 new_primModNatS1(Succ(Succ(x0)), Zero) 248.74/165.17 new_primModNatS1(Zero, x0) 248.74/165.17 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 248.74/165.17 new_esEs(Neg(Zero)) 248.74/165.17 new_esEs(Pos(Succ(x0))) 248.74/165.17 248.74/165.17 We have to consider all minimal (P,Q,R)-chains. 248.74/165.17 ---------------------------------------- 248.74/165.17 248.74/165.17 (235) TransformationProof (EQUIVALENT) 248.74/165.17 By rewriting [LPAR04] the rule new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(Zero)), Succ(Succ(Zero))), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) at position [0,0,0,0] we obtained the following new rules [LPAR04]: 248.74/165.17 248.74/165.17 (new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Zero), Succ(Zero)), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))),new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Zero), Succ(Zero)), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))))) 248.74/165.17 248.74/165.17 248.74/165.17 ---------------------------------------- 248.74/165.17 248.74/165.17 (236) 248.74/165.17 Obligation: 248.74/165.17 Q DP problem: 248.74/165.17 The TRS P consists of the following rules: 248.74/165.17 248.74/165.17 new_gcd0Gcd'1(False, Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Pos(Succ(Succ(x1))), Neg(new_primModNatS01(x0, x1, x0, x1))) 248.74/165.17 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) 248.74/165.17 new_gcd0Gcd'1(False, Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x1))), Pos(new_primModNatS01(x0, x1, x0, x1))) 248.74/165.17 new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 248.74/165.17 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) 248.74/165.17 new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 248.74/165.17 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) 248.74/165.17 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) 248.74/165.17 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(Succ(x2))), Succ(Succ(Zero))), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) 248.74/165.17 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_primEqInt(Neg(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) 248.74/165.17 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Zero), Succ(Zero)), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) 248.74/165.17 248.74/165.17 The TRS R consists of the following rules: 248.74/165.17 248.74/165.17 new_primModNatS1(Succ(Succ(vyv292000)), Succ(vyv291000)) -> new_primModNatS01(vyv292000, vyv291000, vyv292000, vyv291000) 248.74/165.17 new_primModNatS01(vyv330, vyv331, Zero, Zero) -> new_primModNatS02(vyv330, vyv331) 248.74/165.17 new_primModNatS02(vyv330, vyv331) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv330), Succ(vyv331)), Succ(vyv331)) 248.74/165.17 new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Succ(vyv3330)) -> new_primModNatS01(vyv330, vyv331, vyv3320, vyv3330) 248.74/165.17 new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Zero) -> new_primModNatS02(vyv330, vyv331) 248.74/165.17 new_primModNatS01(vyv330, vyv331, Zero, Succ(vyv3330)) -> Succ(Succ(vyv330)) 248.74/165.17 new_primMinusNatS2(Succ(vyv3100), Succ(vyv3110)) -> new_primMinusNatS2(vyv3100, vyv3110) 248.74/165.17 new_primModNatS1(Succ(Zero), Succ(vyv291000)) -> Succ(Zero) 248.74/165.17 new_primModNatS1(Zero, vyv29100) -> Zero 248.74/165.17 new_primMinusNatS2(Zero, Zero) -> Zero 248.74/165.17 new_primMinusNatS2(Zero, Succ(vyv3110)) -> Zero 248.74/165.17 new_primMinusNatS2(Succ(vyv3100), Zero) -> Succ(vyv3100) 248.74/165.17 new_esEs(Pos(Succ(vyv24100))) -> new_primEqInt(Pos(Succ(vyv24100))) 248.74/165.17 new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) 248.74/165.17 new_primEqInt(Pos(Zero)) -> True 248.74/165.17 new_primEqInt(Pos(Succ(vyv242000))) -> False 248.74/165.17 new_esEs(Neg(Succ(vyv24100))) -> new_primEqInt(Neg(Succ(vyv24100))) 248.74/165.17 new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) 248.74/165.17 new_primEqInt(Neg(Zero)) -> True 248.74/165.17 new_primEqInt(Neg(Succ(vyv242000))) -> False 248.74/165.17 248.74/165.17 The set Q consists of the following terms: 248.74/165.17 248.74/165.17 new_primModNatS1(Succ(Zero), Succ(x0)) 248.74/165.17 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 248.74/165.17 new_primEqInt(Pos(Zero)) 248.74/165.17 new_primModNatS02(x0, x1) 248.74/165.17 new_primModNatS01(x0, x1, Succ(x2), Zero) 248.74/165.17 new_primModNatS01(x0, x1, Zero, Succ(x2)) 248.74/165.17 new_primMinusNatS2(Zero, Zero) 248.74/165.17 new_esEs(Neg(Succ(x0))) 248.74/165.17 new_primMinusNatS2(Zero, Succ(x0)) 248.74/165.17 new_primModNatS1(Succ(Zero), Zero) 248.74/165.17 new_esEs(Pos(Zero)) 248.74/165.17 new_primEqInt(Neg(Succ(x0))) 248.74/165.17 new_primMinusNatS2(Succ(x0), Zero) 248.74/165.17 new_primEqInt(Neg(Zero)) 248.74/165.17 new_primModNatS01(x0, x1, Zero, Zero) 248.74/165.17 new_primEqInt(Pos(Succ(x0))) 248.74/165.17 new_primMinusNatS2(Succ(x0), Succ(x1)) 248.74/165.17 new_primModNatS1(Succ(Succ(x0)), Zero) 248.74/165.17 new_primModNatS1(Zero, x0) 248.74/165.17 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 248.74/165.17 new_esEs(Neg(Zero)) 248.74/165.17 new_esEs(Pos(Succ(x0))) 248.74/165.17 248.74/165.17 We have to consider all minimal (P,Q,R)-chains. 248.74/165.17 ---------------------------------------- 248.74/165.17 248.74/165.17 (237) TransformationProof (EQUIVALENT) 248.74/165.17 By rewriting [LPAR04] the rule new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(Succ(x2))), Succ(Succ(Zero))), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) at position [0,0,0,0] we obtained the following new rules [LPAR04]: 248.74/165.17 248.74/165.17 (new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))),new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))))) 248.74/165.17 248.74/165.17 248.74/165.17 ---------------------------------------- 248.74/165.17 248.74/165.17 (238) 248.74/165.17 Obligation: 248.74/165.17 Q DP problem: 248.74/165.17 The TRS P consists of the following rules: 248.74/165.17 248.74/165.17 new_gcd0Gcd'1(False, Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Pos(Succ(Succ(x1))), Neg(new_primModNatS01(x0, x1, x0, x1))) 248.74/165.17 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) 248.74/165.17 new_gcd0Gcd'1(False, Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x1))), Pos(new_primModNatS01(x0, x1, x0, x1))) 248.74/165.17 new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 248.74/165.17 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) 248.74/165.17 new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 248.74/165.17 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) 248.74/165.17 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) 248.74/165.17 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_primEqInt(Neg(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) 248.74/165.17 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Zero), Succ(Zero)), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) 248.74/165.17 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) 248.74/165.17 248.74/165.17 The TRS R consists of the following rules: 248.74/165.17 248.74/165.17 new_primModNatS1(Succ(Succ(vyv292000)), Succ(vyv291000)) -> new_primModNatS01(vyv292000, vyv291000, vyv292000, vyv291000) 248.74/165.17 new_primModNatS01(vyv330, vyv331, Zero, Zero) -> new_primModNatS02(vyv330, vyv331) 248.74/165.17 new_primModNatS02(vyv330, vyv331) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv330), Succ(vyv331)), Succ(vyv331)) 248.74/165.17 new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Succ(vyv3330)) -> new_primModNatS01(vyv330, vyv331, vyv3320, vyv3330) 248.74/165.17 new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Zero) -> new_primModNatS02(vyv330, vyv331) 248.74/165.17 new_primModNatS01(vyv330, vyv331, Zero, Succ(vyv3330)) -> Succ(Succ(vyv330)) 248.74/165.17 new_primMinusNatS2(Succ(vyv3100), Succ(vyv3110)) -> new_primMinusNatS2(vyv3100, vyv3110) 248.74/165.17 new_primModNatS1(Succ(Zero), Succ(vyv291000)) -> Succ(Zero) 248.74/165.17 new_primModNatS1(Zero, vyv29100) -> Zero 248.74/165.17 new_primMinusNatS2(Zero, Zero) -> Zero 248.74/165.17 new_primMinusNatS2(Zero, Succ(vyv3110)) -> Zero 248.74/165.17 new_primMinusNatS2(Succ(vyv3100), Zero) -> Succ(vyv3100) 248.74/165.17 new_esEs(Pos(Succ(vyv24100))) -> new_primEqInt(Pos(Succ(vyv24100))) 248.74/165.17 new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) 248.74/165.17 new_primEqInt(Pos(Zero)) -> True 248.74/165.17 new_primEqInt(Pos(Succ(vyv242000))) -> False 248.74/165.17 new_esEs(Neg(Succ(vyv24100))) -> new_primEqInt(Neg(Succ(vyv24100))) 248.74/165.17 new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) 248.74/165.17 new_primEqInt(Neg(Zero)) -> True 248.74/165.17 new_primEqInt(Neg(Succ(vyv242000))) -> False 248.74/165.17 248.74/165.17 The set Q consists of the following terms: 248.74/165.17 248.74/165.17 new_primModNatS1(Succ(Zero), Succ(x0)) 248.74/165.17 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 248.74/165.17 new_primEqInt(Pos(Zero)) 248.74/165.17 new_primModNatS02(x0, x1) 248.74/165.17 new_primModNatS01(x0, x1, Succ(x2), Zero) 248.74/165.17 new_primModNatS01(x0, x1, Zero, Succ(x2)) 248.74/165.17 new_primMinusNatS2(Zero, Zero) 248.74/165.17 new_esEs(Neg(Succ(x0))) 248.74/165.17 new_primMinusNatS2(Zero, Succ(x0)) 248.74/165.17 new_primModNatS1(Succ(Zero), Zero) 248.74/165.17 new_esEs(Pos(Zero)) 248.74/165.17 new_primEqInt(Neg(Succ(x0))) 248.74/165.17 new_primMinusNatS2(Succ(x0), Zero) 248.74/165.17 new_primEqInt(Neg(Zero)) 248.74/165.17 new_primModNatS01(x0, x1, Zero, Zero) 248.74/165.17 new_primEqInt(Pos(Succ(x0))) 248.74/165.17 new_primMinusNatS2(Succ(x0), Succ(x1)) 248.74/165.17 new_primModNatS1(Succ(Succ(x0)), Zero) 248.74/165.17 new_primModNatS1(Zero, x0) 248.74/165.17 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 248.74/165.17 new_esEs(Neg(Zero)) 248.74/165.17 new_esEs(Pos(Succ(x0))) 248.74/165.17 248.74/165.17 We have to consider all minimal (P,Q,R)-chains. 248.74/165.17 ---------------------------------------- 248.74/165.17 248.74/165.17 (239) TransformationProof (EQUIVALENT) 248.74/165.17 By rewriting [LPAR04] the rule new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_primEqInt(Neg(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) at position [0] we obtained the following new rules [LPAR04]: 248.74/165.17 248.74/165.17 (new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))),new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))))) 248.74/165.17 248.74/165.17 248.74/165.17 ---------------------------------------- 248.74/165.17 248.74/165.17 (240) 248.74/165.17 Obligation: 248.74/165.17 Q DP problem: 248.74/165.17 The TRS P consists of the following rules: 248.74/165.17 248.74/165.17 new_gcd0Gcd'1(False, Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Pos(Succ(Succ(x1))), Neg(new_primModNatS01(x0, x1, x0, x1))) 248.74/165.17 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) 248.74/165.17 new_gcd0Gcd'1(False, Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x1))), Pos(new_primModNatS01(x0, x1, x0, x1))) 248.74/165.17 new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 248.74/165.17 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) 248.74/165.17 new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 248.74/165.17 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) 248.74/165.17 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) 248.74/165.17 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Zero), Succ(Zero)), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) 248.74/165.17 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) 248.74/165.17 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) 248.74/165.17 248.74/165.17 The TRS R consists of the following rules: 248.74/165.17 248.74/165.17 new_primModNatS1(Succ(Succ(vyv292000)), Succ(vyv291000)) -> new_primModNatS01(vyv292000, vyv291000, vyv292000, vyv291000) 248.74/165.17 new_primModNatS01(vyv330, vyv331, Zero, Zero) -> new_primModNatS02(vyv330, vyv331) 248.74/165.17 new_primModNatS02(vyv330, vyv331) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv330), Succ(vyv331)), Succ(vyv331)) 248.74/165.17 new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Succ(vyv3330)) -> new_primModNatS01(vyv330, vyv331, vyv3320, vyv3330) 248.74/165.17 new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Zero) -> new_primModNatS02(vyv330, vyv331) 248.74/165.17 new_primModNatS01(vyv330, vyv331, Zero, Succ(vyv3330)) -> Succ(Succ(vyv330)) 248.74/165.17 new_primMinusNatS2(Succ(vyv3100), Succ(vyv3110)) -> new_primMinusNatS2(vyv3100, vyv3110) 248.74/165.17 new_primModNatS1(Succ(Zero), Succ(vyv291000)) -> Succ(Zero) 248.74/165.17 new_primModNatS1(Zero, vyv29100) -> Zero 248.74/165.17 new_primMinusNatS2(Zero, Zero) -> Zero 248.74/165.17 new_primMinusNatS2(Zero, Succ(vyv3110)) -> Zero 248.74/165.17 new_primMinusNatS2(Succ(vyv3100), Zero) -> Succ(vyv3100) 248.74/165.17 new_esEs(Pos(Succ(vyv24100))) -> new_primEqInt(Pos(Succ(vyv24100))) 248.74/165.17 new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) 248.74/165.17 new_primEqInt(Pos(Zero)) -> True 248.74/165.17 new_primEqInt(Pos(Succ(vyv242000))) -> False 248.74/165.17 new_esEs(Neg(Succ(vyv24100))) -> new_primEqInt(Neg(Succ(vyv24100))) 248.74/165.17 new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) 248.74/165.17 new_primEqInt(Neg(Zero)) -> True 248.74/165.17 new_primEqInt(Neg(Succ(vyv242000))) -> False 248.74/165.17 248.74/165.17 The set Q consists of the following terms: 248.74/165.17 248.74/165.17 new_primModNatS1(Succ(Zero), Succ(x0)) 248.74/165.17 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 248.74/165.17 new_primEqInt(Pos(Zero)) 248.74/165.17 new_primModNatS02(x0, x1) 248.74/165.17 new_primModNatS01(x0, x1, Succ(x2), Zero) 248.74/165.17 new_primModNatS01(x0, x1, Zero, Succ(x2)) 248.74/165.17 new_primMinusNatS2(Zero, Zero) 248.74/165.17 new_esEs(Neg(Succ(x0))) 248.74/165.17 new_primMinusNatS2(Zero, Succ(x0)) 248.74/165.17 new_primModNatS1(Succ(Zero), Zero) 248.74/165.17 new_esEs(Pos(Zero)) 248.74/165.17 new_primEqInt(Neg(Succ(x0))) 248.74/165.17 new_primMinusNatS2(Succ(x0), Zero) 248.74/165.17 new_primEqInt(Neg(Zero)) 248.74/165.17 new_primModNatS01(x0, x1, Zero, Zero) 248.74/165.17 new_primEqInt(Pos(Succ(x0))) 248.74/165.17 new_primMinusNatS2(Succ(x0), Succ(x1)) 248.74/165.17 new_primModNatS1(Succ(Succ(x0)), Zero) 248.74/165.17 new_primModNatS1(Zero, x0) 248.74/165.17 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 248.74/165.17 new_esEs(Neg(Zero)) 248.74/165.17 new_esEs(Pos(Succ(x0))) 248.74/165.17 248.74/165.17 We have to consider all minimal (P,Q,R)-chains. 248.74/165.17 ---------------------------------------- 248.74/165.17 248.74/165.17 (241) TransformationProof (EQUIVALENT) 248.74/165.17 By rewriting [LPAR04] the rule new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Zero), Succ(Zero)), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) at position [0,0,0,0] we obtained the following new rules [LPAR04]: 248.74/165.17 248.74/165.17 (new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS2(Zero, Zero), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))),new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS2(Zero, Zero), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))))) 248.74/165.17 248.74/165.17 248.74/165.17 ---------------------------------------- 248.74/165.17 248.74/165.17 (242) 248.74/165.17 Obligation: 248.74/165.17 Q DP problem: 248.74/165.17 The TRS P consists of the following rules: 248.74/165.17 248.74/165.17 new_gcd0Gcd'1(False, Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Pos(Succ(Succ(x1))), Neg(new_primModNatS01(x0, x1, x0, x1))) 248.74/165.17 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) 248.74/165.17 new_gcd0Gcd'1(False, Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x1))), Pos(new_primModNatS01(x0, x1, x0, x1))) 248.74/165.17 new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 248.74/165.17 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) 248.74/165.17 new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 248.74/165.17 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) 248.74/165.17 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) 248.74/165.17 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) 248.74/165.17 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) 248.74/165.17 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS2(Zero, Zero), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) 248.74/165.17 248.74/165.17 The TRS R consists of the following rules: 248.74/165.17 248.74/165.17 new_primModNatS1(Succ(Succ(vyv292000)), Succ(vyv291000)) -> new_primModNatS01(vyv292000, vyv291000, vyv292000, vyv291000) 248.74/165.17 new_primModNatS01(vyv330, vyv331, Zero, Zero) -> new_primModNatS02(vyv330, vyv331) 248.74/165.17 new_primModNatS02(vyv330, vyv331) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv330), Succ(vyv331)), Succ(vyv331)) 248.74/165.17 new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Succ(vyv3330)) -> new_primModNatS01(vyv330, vyv331, vyv3320, vyv3330) 248.74/165.17 new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Zero) -> new_primModNatS02(vyv330, vyv331) 248.74/165.17 new_primModNatS01(vyv330, vyv331, Zero, Succ(vyv3330)) -> Succ(Succ(vyv330)) 248.74/165.17 new_primMinusNatS2(Succ(vyv3100), Succ(vyv3110)) -> new_primMinusNatS2(vyv3100, vyv3110) 248.74/165.17 new_primModNatS1(Succ(Zero), Succ(vyv291000)) -> Succ(Zero) 248.74/165.17 new_primModNatS1(Zero, vyv29100) -> Zero 248.74/165.17 new_primMinusNatS2(Zero, Zero) -> Zero 248.74/165.17 new_primMinusNatS2(Zero, Succ(vyv3110)) -> Zero 248.74/165.17 new_primMinusNatS2(Succ(vyv3100), Zero) -> Succ(vyv3100) 248.74/165.17 new_esEs(Pos(Succ(vyv24100))) -> new_primEqInt(Pos(Succ(vyv24100))) 248.74/165.17 new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) 248.74/165.17 new_primEqInt(Pos(Zero)) -> True 248.74/165.17 new_primEqInt(Pos(Succ(vyv242000))) -> False 248.74/165.17 new_esEs(Neg(Succ(vyv24100))) -> new_primEqInt(Neg(Succ(vyv24100))) 248.74/165.17 new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) 248.74/165.17 new_primEqInt(Neg(Zero)) -> True 248.74/165.17 new_primEqInt(Neg(Succ(vyv242000))) -> False 248.74/165.17 248.74/165.17 The set Q consists of the following terms: 248.74/165.17 248.74/165.17 new_primModNatS1(Succ(Zero), Succ(x0)) 248.74/165.17 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 248.74/165.17 new_primEqInt(Pos(Zero)) 248.74/165.17 new_primModNatS02(x0, x1) 248.74/165.17 new_primModNatS01(x0, x1, Succ(x2), Zero) 248.74/165.17 new_primModNatS01(x0, x1, Zero, Succ(x2)) 248.74/165.17 new_primMinusNatS2(Zero, Zero) 248.74/165.17 new_esEs(Neg(Succ(x0))) 248.74/165.17 new_primMinusNatS2(Zero, Succ(x0)) 248.74/165.17 new_primModNatS1(Succ(Zero), Zero) 248.74/165.17 new_esEs(Pos(Zero)) 248.74/165.17 new_primEqInt(Neg(Succ(x0))) 248.74/165.17 new_primMinusNatS2(Succ(x0), Zero) 248.74/165.17 new_primEqInt(Neg(Zero)) 248.74/165.17 new_primModNatS01(x0, x1, Zero, Zero) 248.74/165.17 new_primEqInt(Pos(Succ(x0))) 248.74/165.17 new_primMinusNatS2(Succ(x0), Succ(x1)) 248.74/165.17 new_primModNatS1(Succ(Succ(x0)), Zero) 248.74/165.17 new_primModNatS1(Zero, x0) 248.74/165.17 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 248.74/165.17 new_esEs(Neg(Zero)) 248.74/165.17 new_esEs(Pos(Succ(x0))) 248.74/165.17 248.74/165.17 We have to consider all minimal (P,Q,R)-chains. 248.74/165.17 ---------------------------------------- 248.74/165.17 248.74/165.17 (243) TransformationProof (EQUIVALENT) 248.74/165.17 By rewriting [LPAR04] the rule new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) at position [0,0,0,0] we obtained the following new rules [LPAR04]: 248.74/165.17 248.74/165.17 (new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))),new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))))) 248.74/165.17 248.74/165.17 248.74/165.17 ---------------------------------------- 248.74/165.17 248.74/165.17 (244) 248.74/165.17 Obligation: 248.74/165.17 Q DP problem: 248.74/165.17 The TRS P consists of the following rules: 248.74/165.17 248.74/165.17 new_gcd0Gcd'1(False, Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Pos(Succ(Succ(x1))), Neg(new_primModNatS01(x0, x1, x0, x1))) 248.74/165.17 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) 248.74/165.17 new_gcd0Gcd'1(False, Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x1))), Pos(new_primModNatS01(x0, x1, x0, x1))) 248.74/165.17 new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 248.74/165.17 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) 248.74/165.17 new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 248.74/165.17 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) 248.74/165.17 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) 248.74/165.17 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) 248.74/165.17 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS2(Zero, Zero), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) 248.74/165.17 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) 248.74/165.17 248.74/165.17 The TRS R consists of the following rules: 248.74/165.17 248.74/165.17 new_primModNatS1(Succ(Succ(vyv292000)), Succ(vyv291000)) -> new_primModNatS01(vyv292000, vyv291000, vyv292000, vyv291000) 248.74/165.17 new_primModNatS01(vyv330, vyv331, Zero, Zero) -> new_primModNatS02(vyv330, vyv331) 248.74/165.17 new_primModNatS02(vyv330, vyv331) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv330), Succ(vyv331)), Succ(vyv331)) 248.74/165.17 new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Succ(vyv3330)) -> new_primModNatS01(vyv330, vyv331, vyv3320, vyv3330) 248.74/165.17 new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Zero) -> new_primModNatS02(vyv330, vyv331) 248.74/165.17 new_primModNatS01(vyv330, vyv331, Zero, Succ(vyv3330)) -> Succ(Succ(vyv330)) 248.74/165.17 new_primMinusNatS2(Succ(vyv3100), Succ(vyv3110)) -> new_primMinusNatS2(vyv3100, vyv3110) 248.74/165.17 new_primModNatS1(Succ(Zero), Succ(vyv291000)) -> Succ(Zero) 248.74/165.17 new_primModNatS1(Zero, vyv29100) -> Zero 248.74/165.17 new_primMinusNatS2(Zero, Zero) -> Zero 248.74/165.17 new_primMinusNatS2(Zero, Succ(vyv3110)) -> Zero 248.74/165.17 new_primMinusNatS2(Succ(vyv3100), Zero) -> Succ(vyv3100) 248.74/165.17 new_esEs(Pos(Succ(vyv24100))) -> new_primEqInt(Pos(Succ(vyv24100))) 248.74/165.17 new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) 248.74/165.17 new_primEqInt(Pos(Zero)) -> True 248.74/165.17 new_primEqInt(Pos(Succ(vyv242000))) -> False 248.74/165.17 new_esEs(Neg(Succ(vyv24100))) -> new_primEqInt(Neg(Succ(vyv24100))) 248.74/165.17 new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) 248.74/165.17 new_primEqInt(Neg(Zero)) -> True 248.74/165.17 new_primEqInt(Neg(Succ(vyv242000))) -> False 248.74/165.17 248.74/165.17 The set Q consists of the following terms: 248.74/165.17 248.74/165.17 new_primModNatS1(Succ(Zero), Succ(x0)) 248.74/165.17 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 248.74/165.17 new_primEqInt(Pos(Zero)) 248.74/165.17 new_primModNatS02(x0, x1) 248.74/165.17 new_primModNatS01(x0, x1, Succ(x2), Zero) 248.74/165.17 new_primModNatS01(x0, x1, Zero, Succ(x2)) 248.74/165.17 new_primMinusNatS2(Zero, Zero) 248.74/165.17 new_esEs(Neg(Succ(x0))) 248.74/165.17 new_primMinusNatS2(Zero, Succ(x0)) 248.74/165.17 new_primModNatS1(Succ(Zero), Zero) 248.74/165.17 new_esEs(Pos(Zero)) 248.74/165.17 new_primEqInt(Neg(Succ(x0))) 248.74/165.17 new_primMinusNatS2(Succ(x0), Zero) 248.74/165.17 new_primEqInt(Neg(Zero)) 248.74/165.17 new_primModNatS01(x0, x1, Zero, Zero) 248.74/165.17 new_primEqInt(Pos(Succ(x0))) 248.74/165.17 new_primMinusNatS2(Succ(x0), Succ(x1)) 248.74/165.17 new_primModNatS1(Succ(Succ(x0)), Zero) 248.74/165.17 new_primModNatS1(Zero, x0) 248.74/165.17 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 248.74/165.17 new_esEs(Neg(Zero)) 248.74/165.17 new_esEs(Pos(Succ(x0))) 248.74/165.17 248.74/165.17 We have to consider all minimal (P,Q,R)-chains. 248.74/165.17 ---------------------------------------- 248.74/165.17 248.74/165.17 (245) TransformationProof (EQUIVALENT) 248.74/165.17 By rewriting [LPAR04] the rule new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS2(Zero, Zero), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) at position [0,0,0,0] we obtained the following new rules [LPAR04]: 248.74/165.17 248.74/165.17 (new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Zero, Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))),new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Zero, Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))))) 248.74/165.17 248.74/165.17 248.74/165.17 ---------------------------------------- 248.74/165.17 248.74/165.17 (246) 248.74/165.17 Obligation: 248.74/165.17 Q DP problem: 248.74/165.17 The TRS P consists of the following rules: 248.74/165.17 248.74/165.17 new_gcd0Gcd'1(False, Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Pos(Succ(Succ(x1))), Neg(new_primModNatS01(x0, x1, x0, x1))) 248.74/165.17 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) 248.74/165.17 new_gcd0Gcd'1(False, Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x1))), Pos(new_primModNatS01(x0, x1, x0, x1))) 248.74/165.17 new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 248.74/165.17 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) 248.74/165.17 new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 248.74/165.17 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) 248.74/165.17 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) 248.74/165.17 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) 248.74/165.17 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) 248.74/165.17 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Zero, Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) 248.74/165.17 248.74/165.17 The TRS R consists of the following rules: 248.74/165.17 248.74/165.17 new_primModNatS1(Succ(Succ(vyv292000)), Succ(vyv291000)) -> new_primModNatS01(vyv292000, vyv291000, vyv292000, vyv291000) 248.74/165.17 new_primModNatS01(vyv330, vyv331, Zero, Zero) -> new_primModNatS02(vyv330, vyv331) 248.74/165.17 new_primModNatS02(vyv330, vyv331) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv330), Succ(vyv331)), Succ(vyv331)) 248.74/165.17 new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Succ(vyv3330)) -> new_primModNatS01(vyv330, vyv331, vyv3320, vyv3330) 248.74/165.17 new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Zero) -> new_primModNatS02(vyv330, vyv331) 248.74/165.17 new_primModNatS01(vyv330, vyv331, Zero, Succ(vyv3330)) -> Succ(Succ(vyv330)) 248.74/165.17 new_primMinusNatS2(Succ(vyv3100), Succ(vyv3110)) -> new_primMinusNatS2(vyv3100, vyv3110) 248.74/165.17 new_primModNatS1(Succ(Zero), Succ(vyv291000)) -> Succ(Zero) 248.74/165.17 new_primModNatS1(Zero, vyv29100) -> Zero 248.74/165.17 new_primMinusNatS2(Zero, Zero) -> Zero 248.74/165.17 new_primMinusNatS2(Zero, Succ(vyv3110)) -> Zero 248.74/165.17 new_primMinusNatS2(Succ(vyv3100), Zero) -> Succ(vyv3100) 248.74/165.17 new_esEs(Pos(Succ(vyv24100))) -> new_primEqInt(Pos(Succ(vyv24100))) 248.74/165.17 new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) 248.74/165.17 new_primEqInt(Pos(Zero)) -> True 248.74/165.17 new_primEqInt(Pos(Succ(vyv242000))) -> False 248.74/165.17 new_esEs(Neg(Succ(vyv24100))) -> new_primEqInt(Neg(Succ(vyv24100))) 248.74/165.17 new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) 248.74/165.17 new_primEqInt(Neg(Zero)) -> True 248.74/165.17 new_primEqInt(Neg(Succ(vyv242000))) -> False 248.74/165.17 248.74/165.17 The set Q consists of the following terms: 248.74/165.17 248.74/165.17 new_primModNatS1(Succ(Zero), Succ(x0)) 248.74/165.17 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 248.74/165.17 new_primEqInt(Pos(Zero)) 248.74/165.17 new_primModNatS02(x0, x1) 248.74/165.17 new_primModNatS01(x0, x1, Succ(x2), Zero) 248.74/165.17 new_primModNatS01(x0, x1, Zero, Succ(x2)) 248.74/165.17 new_primMinusNatS2(Zero, Zero) 248.74/165.17 new_esEs(Neg(Succ(x0))) 248.74/165.17 new_primMinusNatS2(Zero, Succ(x0)) 248.74/165.17 new_primModNatS1(Succ(Zero), Zero) 248.74/165.17 new_esEs(Pos(Zero)) 248.74/165.17 new_primEqInt(Neg(Succ(x0))) 248.74/165.17 new_primMinusNatS2(Succ(x0), Zero) 248.74/165.17 new_primEqInt(Neg(Zero)) 248.74/165.17 new_primModNatS01(x0, x1, Zero, Zero) 248.74/165.17 new_primEqInt(Pos(Succ(x0))) 248.74/165.17 new_primMinusNatS2(Succ(x0), Succ(x1)) 248.74/165.17 new_primModNatS1(Succ(Succ(x0)), Zero) 248.74/165.17 new_primModNatS1(Zero, x0) 248.74/165.17 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 248.74/165.17 new_esEs(Neg(Zero)) 248.74/165.17 new_esEs(Pos(Succ(x0))) 248.74/165.17 248.74/165.17 We have to consider all minimal (P,Q,R)-chains. 248.74/165.17 ---------------------------------------- 248.74/165.17 248.74/165.17 (247) TransformationProof (EQUIVALENT) 248.74/165.17 By rewriting [LPAR04] the rule new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) at position [0,0,0,0] we obtained the following new rules [LPAR04]: 248.74/165.17 248.74/165.17 (new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))),new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))))) 248.74/165.17 248.74/165.17 248.74/165.17 ---------------------------------------- 248.74/165.17 248.74/165.17 (248) 248.74/165.17 Obligation: 248.74/165.17 Q DP problem: 248.74/165.17 The TRS P consists of the following rules: 248.74/165.17 248.74/165.17 new_gcd0Gcd'1(False, Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Pos(Succ(Succ(x1))), Neg(new_primModNatS01(x0, x1, x0, x1))) 248.74/165.17 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) 248.74/165.17 new_gcd0Gcd'1(False, Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x1))), Pos(new_primModNatS01(x0, x1, x0, x1))) 248.74/165.17 new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 248.74/165.17 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) 248.74/165.17 new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 248.74/165.17 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) 248.74/165.17 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) 248.74/165.17 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) 248.74/165.17 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Zero, Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) 248.74/165.17 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) 248.74/165.17 248.74/165.17 The TRS R consists of the following rules: 248.74/165.17 248.74/165.17 new_primModNatS1(Succ(Succ(vyv292000)), Succ(vyv291000)) -> new_primModNatS01(vyv292000, vyv291000, vyv292000, vyv291000) 248.74/165.17 new_primModNatS01(vyv330, vyv331, Zero, Zero) -> new_primModNatS02(vyv330, vyv331) 248.74/165.17 new_primModNatS02(vyv330, vyv331) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv330), Succ(vyv331)), Succ(vyv331)) 248.74/165.17 new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Succ(vyv3330)) -> new_primModNatS01(vyv330, vyv331, vyv3320, vyv3330) 248.74/165.17 new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Zero) -> new_primModNatS02(vyv330, vyv331) 248.74/165.17 new_primModNatS01(vyv330, vyv331, Zero, Succ(vyv3330)) -> Succ(Succ(vyv330)) 248.74/165.17 new_primMinusNatS2(Succ(vyv3100), Succ(vyv3110)) -> new_primMinusNatS2(vyv3100, vyv3110) 248.74/165.17 new_primModNatS1(Succ(Zero), Succ(vyv291000)) -> Succ(Zero) 248.74/165.17 new_primModNatS1(Zero, vyv29100) -> Zero 248.74/165.17 new_primMinusNatS2(Zero, Zero) -> Zero 248.74/165.17 new_primMinusNatS2(Zero, Succ(vyv3110)) -> Zero 248.74/165.17 new_primMinusNatS2(Succ(vyv3100), Zero) -> Succ(vyv3100) 248.74/165.17 new_esEs(Pos(Succ(vyv24100))) -> new_primEqInt(Pos(Succ(vyv24100))) 248.74/165.17 new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) 248.74/165.17 new_primEqInt(Pos(Zero)) -> True 248.74/165.17 new_primEqInt(Pos(Succ(vyv242000))) -> False 248.74/165.17 new_esEs(Neg(Succ(vyv24100))) -> new_primEqInt(Neg(Succ(vyv24100))) 248.74/165.17 new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) 248.74/165.17 new_primEqInt(Neg(Zero)) -> True 248.74/165.17 new_primEqInt(Neg(Succ(vyv242000))) -> False 248.74/165.17 248.74/165.17 The set Q consists of the following terms: 248.74/165.17 248.74/165.17 new_primModNatS1(Succ(Zero), Succ(x0)) 248.74/165.17 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 248.74/165.17 new_primEqInt(Pos(Zero)) 248.74/165.17 new_primModNatS02(x0, x1) 248.74/165.17 new_primModNatS01(x0, x1, Succ(x2), Zero) 248.74/165.17 new_primModNatS01(x0, x1, Zero, Succ(x2)) 248.74/165.17 new_primMinusNatS2(Zero, Zero) 248.74/165.17 new_esEs(Neg(Succ(x0))) 248.74/165.17 new_primMinusNatS2(Zero, Succ(x0)) 248.74/165.17 new_primModNatS1(Succ(Zero), Zero) 248.74/165.17 new_esEs(Pos(Zero)) 248.74/165.17 new_primEqInt(Neg(Succ(x0))) 248.74/165.17 new_primMinusNatS2(Succ(x0), Zero) 248.74/165.17 new_primEqInt(Neg(Zero)) 248.74/165.17 new_primModNatS01(x0, x1, Zero, Zero) 248.74/165.17 new_primEqInt(Pos(Succ(x0))) 248.74/165.17 new_primMinusNatS2(Succ(x0), Succ(x1)) 248.74/165.17 new_primModNatS1(Succ(Succ(x0)), Zero) 248.74/165.17 new_primModNatS1(Zero, x0) 248.74/165.17 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 248.74/165.17 new_esEs(Neg(Zero)) 248.74/165.17 new_esEs(Pos(Succ(x0))) 248.74/165.17 248.74/165.17 We have to consider all minimal (P,Q,R)-chains. 248.74/165.17 ---------------------------------------- 248.74/165.17 248.74/165.17 (249) TransformationProof (EQUIVALENT) 248.74/165.17 By rewriting [LPAR04] the rule new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Zero, Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) at position [0,0,0] we obtained the following new rules [LPAR04]: 248.74/165.17 248.74/165.17 (new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(Zero)), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))),new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(Zero)), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))))) 248.74/165.17 248.74/165.17 248.74/165.17 ---------------------------------------- 248.74/165.17 248.74/165.17 (250) 248.74/165.17 Obligation: 248.74/165.17 Q DP problem: 248.74/165.17 The TRS P consists of the following rules: 248.74/165.17 248.74/165.17 new_gcd0Gcd'1(False, Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Pos(Succ(Succ(x1))), Neg(new_primModNatS01(x0, x1, x0, x1))) 248.74/165.17 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) 248.74/165.17 new_gcd0Gcd'1(False, Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x1))), Pos(new_primModNatS01(x0, x1, x0, x1))) 248.74/165.17 new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 248.74/165.17 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) 248.74/165.17 new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 248.74/165.17 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) 248.74/165.17 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) 248.74/165.17 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) 248.74/165.17 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) 248.74/165.17 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(Zero)), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) 248.74/165.17 248.74/165.17 The TRS R consists of the following rules: 248.74/165.17 248.74/165.17 new_primModNatS1(Succ(Succ(vyv292000)), Succ(vyv291000)) -> new_primModNatS01(vyv292000, vyv291000, vyv292000, vyv291000) 248.74/165.17 new_primModNatS01(vyv330, vyv331, Zero, Zero) -> new_primModNatS02(vyv330, vyv331) 248.74/165.17 new_primModNatS02(vyv330, vyv331) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv330), Succ(vyv331)), Succ(vyv331)) 248.74/165.17 new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Succ(vyv3330)) -> new_primModNatS01(vyv330, vyv331, vyv3320, vyv3330) 248.74/165.17 new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Zero) -> new_primModNatS02(vyv330, vyv331) 248.74/165.17 new_primModNatS01(vyv330, vyv331, Zero, Succ(vyv3330)) -> Succ(Succ(vyv330)) 248.74/165.17 new_primMinusNatS2(Succ(vyv3100), Succ(vyv3110)) -> new_primMinusNatS2(vyv3100, vyv3110) 248.74/165.17 new_primModNatS1(Succ(Zero), Succ(vyv291000)) -> Succ(Zero) 248.74/165.17 new_primModNatS1(Zero, vyv29100) -> Zero 248.74/165.17 new_primMinusNatS2(Zero, Zero) -> Zero 248.74/165.17 new_primMinusNatS2(Zero, Succ(vyv3110)) -> Zero 248.74/165.17 new_primMinusNatS2(Succ(vyv3100), Zero) -> Succ(vyv3100) 248.74/165.17 new_esEs(Pos(Succ(vyv24100))) -> new_primEqInt(Pos(Succ(vyv24100))) 248.74/165.17 new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) 248.74/165.17 new_primEqInt(Pos(Zero)) -> True 248.74/165.17 new_primEqInt(Pos(Succ(vyv242000))) -> False 248.74/165.17 new_esEs(Neg(Succ(vyv24100))) -> new_primEqInt(Neg(Succ(vyv24100))) 248.74/165.17 new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) 248.74/165.17 new_primEqInt(Neg(Zero)) -> True 248.74/165.17 new_primEqInt(Neg(Succ(vyv242000))) -> False 248.74/165.17 248.74/165.17 The set Q consists of the following terms: 248.74/165.17 248.74/165.17 new_primModNatS1(Succ(Zero), Succ(x0)) 248.74/165.17 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 248.74/165.17 new_primEqInt(Pos(Zero)) 248.74/165.17 new_primModNatS02(x0, x1) 248.74/165.17 new_primModNatS01(x0, x1, Succ(x2), Zero) 248.74/165.17 new_primModNatS01(x0, x1, Zero, Succ(x2)) 248.74/165.17 new_primMinusNatS2(Zero, Zero) 248.74/165.17 new_esEs(Neg(Succ(x0))) 248.74/165.17 new_primMinusNatS2(Zero, Succ(x0)) 248.74/165.17 new_primModNatS1(Succ(Zero), Zero) 248.74/165.17 new_esEs(Pos(Zero)) 248.74/165.17 new_primEqInt(Neg(Succ(x0))) 248.74/165.17 new_primMinusNatS2(Succ(x0), Zero) 248.74/165.17 new_primEqInt(Neg(Zero)) 248.74/165.17 new_primModNatS01(x0, x1, Zero, Zero) 248.74/165.17 new_primEqInt(Pos(Succ(x0))) 248.74/165.17 new_primMinusNatS2(Succ(x0), Succ(x1)) 248.74/165.17 new_primModNatS1(Succ(Succ(x0)), Zero) 248.74/165.17 new_primModNatS1(Zero, x0) 248.74/165.17 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 248.74/165.17 new_esEs(Neg(Zero)) 248.74/165.17 new_esEs(Pos(Succ(x0))) 248.74/165.17 248.74/165.17 We have to consider all minimal (P,Q,R)-chains. 248.74/165.17 ---------------------------------------- 248.74/165.17 248.74/165.17 (251) DependencyGraphProof (EQUIVALENT) 248.74/165.17 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. 248.74/165.17 ---------------------------------------- 248.74/165.17 248.74/165.17 (252) 248.74/165.17 Obligation: 248.74/165.17 Q DP problem: 248.74/165.17 The TRS P consists of the following rules: 248.74/165.17 248.74/165.17 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) 248.74/165.17 new_gcd0Gcd'1(False, Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x1))), Pos(new_primModNatS01(x0, x1, x0, x1))) 248.74/165.17 new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 248.74/165.17 new_gcd0Gcd'1(False, Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Pos(Succ(Succ(x1))), Neg(new_primModNatS01(x0, x1, x0, x1))) 248.74/165.17 new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 248.74/165.17 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) 248.74/165.17 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) 248.74/165.17 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) 248.74/165.17 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) 248.74/165.17 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) 248.74/165.17 248.74/165.17 The TRS R consists of the following rules: 248.74/165.17 248.74/165.17 new_primModNatS1(Succ(Succ(vyv292000)), Succ(vyv291000)) -> new_primModNatS01(vyv292000, vyv291000, vyv292000, vyv291000) 248.74/165.17 new_primModNatS01(vyv330, vyv331, Zero, Zero) -> new_primModNatS02(vyv330, vyv331) 248.74/165.17 new_primModNatS02(vyv330, vyv331) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv330), Succ(vyv331)), Succ(vyv331)) 248.74/165.17 new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Succ(vyv3330)) -> new_primModNatS01(vyv330, vyv331, vyv3320, vyv3330) 248.74/165.17 new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Zero) -> new_primModNatS02(vyv330, vyv331) 248.74/165.17 new_primModNatS01(vyv330, vyv331, Zero, Succ(vyv3330)) -> Succ(Succ(vyv330)) 248.74/165.17 new_primMinusNatS2(Succ(vyv3100), Succ(vyv3110)) -> new_primMinusNatS2(vyv3100, vyv3110) 248.74/165.17 new_primModNatS1(Succ(Zero), Succ(vyv291000)) -> Succ(Zero) 248.74/165.17 new_primModNatS1(Zero, vyv29100) -> Zero 248.74/165.17 new_primMinusNatS2(Zero, Zero) -> Zero 248.74/165.17 new_primMinusNatS2(Zero, Succ(vyv3110)) -> Zero 248.74/165.17 new_primMinusNatS2(Succ(vyv3100), Zero) -> Succ(vyv3100) 248.74/165.17 new_esEs(Pos(Succ(vyv24100))) -> new_primEqInt(Pos(Succ(vyv24100))) 248.74/165.17 new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) 248.74/165.17 new_primEqInt(Pos(Zero)) -> True 248.74/165.17 new_primEqInt(Pos(Succ(vyv242000))) -> False 248.74/165.17 new_esEs(Neg(Succ(vyv24100))) -> new_primEqInt(Neg(Succ(vyv24100))) 248.74/165.17 new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) 248.74/165.17 new_primEqInt(Neg(Zero)) -> True 248.74/165.17 new_primEqInt(Neg(Succ(vyv242000))) -> False 248.74/165.17 248.74/165.17 The set Q consists of the following terms: 248.74/165.17 248.74/165.17 new_primModNatS1(Succ(Zero), Succ(x0)) 248.74/165.17 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 248.74/165.17 new_primEqInt(Pos(Zero)) 248.74/165.17 new_primModNatS02(x0, x1) 248.74/165.17 new_primModNatS01(x0, x1, Succ(x2), Zero) 248.74/165.17 new_primModNatS01(x0, x1, Zero, Succ(x2)) 248.74/165.17 new_primMinusNatS2(Zero, Zero) 248.74/165.17 new_esEs(Neg(Succ(x0))) 248.74/165.17 new_primMinusNatS2(Zero, Succ(x0)) 248.74/165.17 new_primModNatS1(Succ(Zero), Zero) 248.74/165.17 new_esEs(Pos(Zero)) 248.74/165.17 new_primEqInt(Neg(Succ(x0))) 248.74/165.17 new_primMinusNatS2(Succ(x0), Zero) 248.74/165.17 new_primEqInt(Neg(Zero)) 248.74/165.17 new_primModNatS01(x0, x1, Zero, Zero) 248.74/165.17 new_primEqInt(Pos(Succ(x0))) 248.74/165.17 new_primMinusNatS2(Succ(x0), Succ(x1)) 248.74/165.17 new_primModNatS1(Succ(Succ(x0)), Zero) 248.74/165.17 new_primModNatS1(Zero, x0) 248.74/165.17 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 248.74/165.17 new_esEs(Neg(Zero)) 248.74/165.17 new_esEs(Pos(Succ(x0))) 248.74/165.17 248.74/165.17 We have to consider all minimal (P,Q,R)-chains. 248.74/165.17 ---------------------------------------- 248.74/165.17 248.74/165.17 (253) TransformationProof (EQUIVALENT) 248.74/165.17 By narrowing [LPAR04] the rule new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) at position [0] we obtained the following new rules [LPAR04]: 248.74/165.17 248.74/165.17 (new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS02(Succ(Zero), Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))),new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS02(Succ(Zero), Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))))) 248.74/165.17 (new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))),new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2))))))) 248.74/165.17 (new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))),new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))))) 248.74/165.17 (new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Pos(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))),new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Pos(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))))) 248.74/165.17 248.74/165.17 248.74/165.17 ---------------------------------------- 248.74/165.17 248.74/165.17 (254) 248.74/165.17 Obligation: 248.74/165.17 Q DP problem: 248.74/165.17 The TRS P consists of the following rules: 248.74/165.17 248.74/165.17 new_gcd0Gcd'1(False, Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x1))), Pos(new_primModNatS01(x0, x1, x0, x1))) 248.74/165.17 new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 248.74/165.17 new_gcd0Gcd'1(False, Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Pos(Succ(Succ(x1))), Neg(new_primModNatS01(x0, x1, x0, x1))) 248.74/165.17 new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 248.74/165.17 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) 248.74/165.17 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) 248.74/165.17 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) 248.74/165.17 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) 248.74/165.17 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) 248.74/165.17 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS02(Succ(Zero), Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) 248.74/165.17 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) 248.74/165.17 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) 248.74/165.17 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Pos(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 248.74/165.17 248.74/165.17 The TRS R consists of the following rules: 248.74/165.17 248.74/165.17 new_primModNatS1(Succ(Succ(vyv292000)), Succ(vyv291000)) -> new_primModNatS01(vyv292000, vyv291000, vyv292000, vyv291000) 248.74/165.17 new_primModNatS01(vyv330, vyv331, Zero, Zero) -> new_primModNatS02(vyv330, vyv331) 248.74/165.17 new_primModNatS02(vyv330, vyv331) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv330), Succ(vyv331)), Succ(vyv331)) 248.74/165.17 new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Succ(vyv3330)) -> new_primModNatS01(vyv330, vyv331, vyv3320, vyv3330) 248.74/165.17 new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Zero) -> new_primModNatS02(vyv330, vyv331) 248.74/165.17 new_primModNatS01(vyv330, vyv331, Zero, Succ(vyv3330)) -> Succ(Succ(vyv330)) 248.74/165.17 new_primMinusNatS2(Succ(vyv3100), Succ(vyv3110)) -> new_primMinusNatS2(vyv3100, vyv3110) 248.74/165.17 new_primModNatS1(Succ(Zero), Succ(vyv291000)) -> Succ(Zero) 248.74/165.17 new_primModNatS1(Zero, vyv29100) -> Zero 248.74/165.17 new_primMinusNatS2(Zero, Zero) -> Zero 248.74/165.17 new_primMinusNatS2(Zero, Succ(vyv3110)) -> Zero 248.74/165.17 new_primMinusNatS2(Succ(vyv3100), Zero) -> Succ(vyv3100) 248.74/165.17 new_esEs(Pos(Succ(vyv24100))) -> new_primEqInt(Pos(Succ(vyv24100))) 248.74/165.17 new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) 248.74/165.17 new_primEqInt(Pos(Zero)) -> True 248.74/165.17 new_primEqInt(Pos(Succ(vyv242000))) -> False 248.74/165.17 new_esEs(Neg(Succ(vyv24100))) -> new_primEqInt(Neg(Succ(vyv24100))) 248.74/165.17 new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) 248.74/165.17 new_primEqInt(Neg(Zero)) -> True 248.74/165.17 new_primEqInt(Neg(Succ(vyv242000))) -> False 248.74/165.17 248.74/165.17 The set Q consists of the following terms: 248.74/165.17 248.74/165.17 new_primModNatS1(Succ(Zero), Succ(x0)) 248.74/165.17 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 248.74/165.17 new_primEqInt(Pos(Zero)) 248.74/165.17 new_primModNatS02(x0, x1) 248.74/165.17 new_primModNatS01(x0, x1, Succ(x2), Zero) 248.74/165.17 new_primModNatS01(x0, x1, Zero, Succ(x2)) 248.74/165.17 new_primMinusNatS2(Zero, Zero) 248.74/165.17 new_esEs(Neg(Succ(x0))) 248.74/165.17 new_primMinusNatS2(Zero, Succ(x0)) 248.74/165.17 new_primModNatS1(Succ(Zero), Zero) 248.74/165.17 new_esEs(Pos(Zero)) 248.74/165.17 new_primEqInt(Neg(Succ(x0))) 248.74/165.17 new_primMinusNatS2(Succ(x0), Zero) 248.74/165.17 new_primEqInt(Neg(Zero)) 248.74/165.17 new_primModNatS01(x0, x1, Zero, Zero) 248.74/165.17 new_primEqInt(Pos(Succ(x0))) 248.74/165.17 new_primMinusNatS2(Succ(x0), Succ(x1)) 248.74/165.17 new_primModNatS1(Succ(Succ(x0)), Zero) 248.74/165.17 new_primModNatS1(Zero, x0) 248.74/165.17 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 248.74/165.17 new_esEs(Neg(Zero)) 248.74/165.17 new_esEs(Pos(Succ(x0))) 248.74/165.17 248.74/165.17 We have to consider all minimal (P,Q,R)-chains. 248.74/165.17 ---------------------------------------- 248.74/165.17 248.74/165.17 (255) TransformationProof (EQUIVALENT) 248.74/165.17 By rewriting [LPAR04] the rule new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS02(Succ(Zero), Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) at position [0,0,0] we obtained the following new rules [LPAR04]: 248.74/165.17 248.74/165.17 (new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(Zero)), Succ(Succ(Zero))), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))),new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(Zero)), Succ(Succ(Zero))), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))))) 248.74/165.17 248.74/165.17 248.74/165.17 ---------------------------------------- 248.74/165.17 248.74/165.17 (256) 248.74/165.17 Obligation: 248.74/165.17 Q DP problem: 248.74/165.17 The TRS P consists of the following rules: 248.74/165.17 248.74/165.17 new_gcd0Gcd'1(False, Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x1))), Pos(new_primModNatS01(x0, x1, x0, x1))) 248.74/165.17 new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 248.74/165.17 new_gcd0Gcd'1(False, Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Pos(Succ(Succ(x1))), Neg(new_primModNatS01(x0, x1, x0, x1))) 248.74/165.17 new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 248.74/165.17 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) 248.74/165.17 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) 248.74/165.17 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) 248.74/165.17 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) 248.74/165.17 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) 248.74/165.17 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) 248.74/165.17 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) 248.74/165.17 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Pos(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 248.74/165.17 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(Zero)), Succ(Succ(Zero))), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) 248.74/165.17 248.74/165.17 The TRS R consists of the following rules: 248.74/165.17 248.74/165.17 new_primModNatS1(Succ(Succ(vyv292000)), Succ(vyv291000)) -> new_primModNatS01(vyv292000, vyv291000, vyv292000, vyv291000) 248.74/165.17 new_primModNatS01(vyv330, vyv331, Zero, Zero) -> new_primModNatS02(vyv330, vyv331) 248.74/165.17 new_primModNatS02(vyv330, vyv331) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv330), Succ(vyv331)), Succ(vyv331)) 248.74/165.17 new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Succ(vyv3330)) -> new_primModNatS01(vyv330, vyv331, vyv3320, vyv3330) 248.74/165.17 new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Zero) -> new_primModNatS02(vyv330, vyv331) 248.74/165.17 new_primModNatS01(vyv330, vyv331, Zero, Succ(vyv3330)) -> Succ(Succ(vyv330)) 248.74/165.17 new_primMinusNatS2(Succ(vyv3100), Succ(vyv3110)) -> new_primMinusNatS2(vyv3100, vyv3110) 248.74/165.17 new_primModNatS1(Succ(Zero), Succ(vyv291000)) -> Succ(Zero) 248.74/165.17 new_primModNatS1(Zero, vyv29100) -> Zero 248.74/165.17 new_primMinusNatS2(Zero, Zero) -> Zero 248.74/165.17 new_primMinusNatS2(Zero, Succ(vyv3110)) -> Zero 248.74/165.17 new_primMinusNatS2(Succ(vyv3100), Zero) -> Succ(vyv3100) 248.74/165.17 new_esEs(Pos(Succ(vyv24100))) -> new_primEqInt(Pos(Succ(vyv24100))) 248.74/165.17 new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) 248.74/165.17 new_primEqInt(Pos(Zero)) -> True 248.74/165.17 new_primEqInt(Pos(Succ(vyv242000))) -> False 248.74/165.17 new_esEs(Neg(Succ(vyv24100))) -> new_primEqInt(Neg(Succ(vyv24100))) 248.74/165.17 new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) 248.74/165.17 new_primEqInt(Neg(Zero)) -> True 248.74/165.17 new_primEqInt(Neg(Succ(vyv242000))) -> False 248.74/165.17 248.74/165.17 The set Q consists of the following terms: 248.74/165.17 248.74/165.17 new_primModNatS1(Succ(Zero), Succ(x0)) 248.74/165.17 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 248.74/165.17 new_primEqInt(Pos(Zero)) 248.74/165.17 new_primModNatS02(x0, x1) 248.74/165.17 new_primModNatS01(x0, x1, Succ(x2), Zero) 248.74/165.17 new_primModNatS01(x0, x1, Zero, Succ(x2)) 248.74/165.17 new_primMinusNatS2(Zero, Zero) 248.74/165.17 new_esEs(Neg(Succ(x0))) 248.74/165.17 new_primMinusNatS2(Zero, Succ(x0)) 248.74/165.17 new_primModNatS1(Succ(Zero), Zero) 248.74/165.17 new_esEs(Pos(Zero)) 248.74/165.17 new_primEqInt(Neg(Succ(x0))) 248.74/165.17 new_primMinusNatS2(Succ(x0), Zero) 248.74/165.17 new_primEqInt(Neg(Zero)) 248.74/165.17 new_primModNatS01(x0, x1, Zero, Zero) 248.74/165.17 new_primEqInt(Pos(Succ(x0))) 248.74/165.17 new_primMinusNatS2(Succ(x0), Succ(x1)) 248.74/165.17 new_primModNatS1(Succ(Succ(x0)), Zero) 248.74/165.17 new_primModNatS1(Zero, x0) 248.74/165.17 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 248.74/165.17 new_esEs(Neg(Zero)) 248.74/165.17 new_esEs(Pos(Succ(x0))) 248.74/165.17 248.74/165.17 We have to consider all minimal (P,Q,R)-chains. 248.74/165.17 ---------------------------------------- 248.74/165.17 248.74/165.17 (257) TransformationProof (EQUIVALENT) 248.74/165.17 By rewriting [LPAR04] the rule new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) at position [0,0,0] we obtained the following new rules [LPAR04]: 248.74/165.17 248.74/165.17 (new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(Succ(x2))), Succ(Succ(Zero))), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))),new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(Succ(x2))), Succ(Succ(Zero))), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))))) 248.74/165.17 248.74/165.17 248.74/165.17 ---------------------------------------- 248.74/165.17 248.74/165.17 (258) 248.74/165.17 Obligation: 248.74/165.17 Q DP problem: 248.74/165.17 The TRS P consists of the following rules: 248.74/165.17 248.74/165.17 new_gcd0Gcd'1(False, Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x1))), Pos(new_primModNatS01(x0, x1, x0, x1))) 248.74/165.17 new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 248.74/165.17 new_gcd0Gcd'1(False, Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Pos(Succ(Succ(x1))), Neg(new_primModNatS01(x0, x1, x0, x1))) 248.74/165.17 new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 248.74/165.17 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) 248.74/165.17 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) 248.74/165.17 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) 248.74/165.17 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) 248.74/165.17 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) 248.74/165.17 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) 248.74/165.17 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Pos(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 248.74/165.17 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(Zero)), Succ(Succ(Zero))), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) 248.74/165.17 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(Succ(x2))), Succ(Succ(Zero))), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) 248.74/165.17 248.74/165.17 The TRS R consists of the following rules: 248.74/165.17 248.74/165.17 new_primModNatS1(Succ(Succ(vyv292000)), Succ(vyv291000)) -> new_primModNatS01(vyv292000, vyv291000, vyv292000, vyv291000) 248.74/165.17 new_primModNatS01(vyv330, vyv331, Zero, Zero) -> new_primModNatS02(vyv330, vyv331) 248.74/165.17 new_primModNatS02(vyv330, vyv331) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv330), Succ(vyv331)), Succ(vyv331)) 248.74/165.17 new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Succ(vyv3330)) -> new_primModNatS01(vyv330, vyv331, vyv3320, vyv3330) 248.74/165.17 new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Zero) -> new_primModNatS02(vyv330, vyv331) 248.74/165.17 new_primModNatS01(vyv330, vyv331, Zero, Succ(vyv3330)) -> Succ(Succ(vyv330)) 248.74/165.17 new_primMinusNatS2(Succ(vyv3100), Succ(vyv3110)) -> new_primMinusNatS2(vyv3100, vyv3110) 248.74/165.17 new_primModNatS1(Succ(Zero), Succ(vyv291000)) -> Succ(Zero) 248.74/165.17 new_primModNatS1(Zero, vyv29100) -> Zero 248.74/165.17 new_primMinusNatS2(Zero, Zero) -> Zero 248.74/165.17 new_primMinusNatS2(Zero, Succ(vyv3110)) -> Zero 248.74/165.17 new_primMinusNatS2(Succ(vyv3100), Zero) -> Succ(vyv3100) 248.74/165.17 new_esEs(Pos(Succ(vyv24100))) -> new_primEqInt(Pos(Succ(vyv24100))) 248.74/165.17 new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) 248.74/165.17 new_primEqInt(Pos(Zero)) -> True 248.74/165.17 new_primEqInt(Pos(Succ(vyv242000))) -> False 248.74/165.17 new_esEs(Neg(Succ(vyv24100))) -> new_primEqInt(Neg(Succ(vyv24100))) 248.74/165.17 new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) 248.74/165.17 new_primEqInt(Neg(Zero)) -> True 248.74/165.17 new_primEqInt(Neg(Succ(vyv242000))) -> False 248.74/165.17 248.74/165.17 The set Q consists of the following terms: 248.74/165.17 248.74/165.17 new_primModNatS1(Succ(Zero), Succ(x0)) 248.74/165.17 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 248.74/165.17 new_primEqInt(Pos(Zero)) 248.74/165.17 new_primModNatS02(x0, x1) 248.74/165.17 new_primModNatS01(x0, x1, Succ(x2), Zero) 248.74/165.17 new_primModNatS01(x0, x1, Zero, Succ(x2)) 248.74/165.17 new_primMinusNatS2(Zero, Zero) 248.74/165.17 new_esEs(Neg(Succ(x0))) 248.74/165.17 new_primMinusNatS2(Zero, Succ(x0)) 248.74/165.17 new_primModNatS1(Succ(Zero), Zero) 248.74/165.17 new_esEs(Pos(Zero)) 248.74/165.17 new_primEqInt(Neg(Succ(x0))) 248.74/165.17 new_primMinusNatS2(Succ(x0), Zero) 248.74/165.17 new_primEqInt(Neg(Zero)) 248.74/165.17 new_primModNatS01(x0, x1, Zero, Zero) 248.74/165.18 new_primEqInt(Pos(Succ(x0))) 248.74/165.18 new_primMinusNatS2(Succ(x0), Succ(x1)) 248.74/165.18 new_primModNatS1(Succ(Succ(x0)), Zero) 248.74/165.18 new_primModNatS1(Zero, x0) 248.74/165.18 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 248.74/165.18 new_esEs(Neg(Zero)) 248.74/165.18 new_esEs(Pos(Succ(x0))) 248.74/165.18 248.74/165.18 We have to consider all minimal (P,Q,R)-chains. 248.74/165.18 ---------------------------------------- 248.74/165.18 248.74/165.18 (259) TransformationProof (EQUIVALENT) 248.74/165.18 By rewriting [LPAR04] the rule new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Pos(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) at position [0] we obtained the following new rules [LPAR04]: 248.74/165.18 248.74/165.18 (new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_primEqInt(Pos(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))),new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_primEqInt(Pos(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))))) 248.74/165.18 248.74/165.18 248.74/165.18 ---------------------------------------- 248.74/165.18 248.74/165.18 (260) 248.74/165.18 Obligation: 248.74/165.18 Q DP problem: 248.74/165.18 The TRS P consists of the following rules: 248.74/165.18 248.74/165.18 new_gcd0Gcd'1(False, Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x1))), Pos(new_primModNatS01(x0, x1, x0, x1))) 248.74/165.18 new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 248.74/165.18 new_gcd0Gcd'1(False, Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Pos(Succ(Succ(x1))), Neg(new_primModNatS01(x0, x1, x0, x1))) 248.74/165.18 new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 248.74/165.18 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) 248.74/165.18 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) 248.74/165.18 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) 248.74/165.18 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) 248.74/165.18 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) 248.74/165.18 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) 248.74/165.18 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(Zero)), Succ(Succ(Zero))), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) 248.74/165.18 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(Succ(x2))), Succ(Succ(Zero))), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) 248.74/165.18 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_primEqInt(Pos(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 248.74/165.18 248.74/165.18 The TRS R consists of the following rules: 248.74/165.18 248.74/165.18 new_primModNatS1(Succ(Succ(vyv292000)), Succ(vyv291000)) -> new_primModNatS01(vyv292000, vyv291000, vyv292000, vyv291000) 248.74/165.18 new_primModNatS01(vyv330, vyv331, Zero, Zero) -> new_primModNatS02(vyv330, vyv331) 248.74/165.18 new_primModNatS02(vyv330, vyv331) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv330), Succ(vyv331)), Succ(vyv331)) 248.74/165.18 new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Succ(vyv3330)) -> new_primModNatS01(vyv330, vyv331, vyv3320, vyv3330) 248.74/165.18 new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Zero) -> new_primModNatS02(vyv330, vyv331) 248.74/165.18 new_primModNatS01(vyv330, vyv331, Zero, Succ(vyv3330)) -> Succ(Succ(vyv330)) 248.74/165.18 new_primMinusNatS2(Succ(vyv3100), Succ(vyv3110)) -> new_primMinusNatS2(vyv3100, vyv3110) 248.74/165.18 new_primModNatS1(Succ(Zero), Succ(vyv291000)) -> Succ(Zero) 248.74/165.18 new_primModNatS1(Zero, vyv29100) -> Zero 248.74/165.18 new_primMinusNatS2(Zero, Zero) -> Zero 248.74/165.18 new_primMinusNatS2(Zero, Succ(vyv3110)) -> Zero 248.74/165.18 new_primMinusNatS2(Succ(vyv3100), Zero) -> Succ(vyv3100) 248.74/165.18 new_esEs(Pos(Succ(vyv24100))) -> new_primEqInt(Pos(Succ(vyv24100))) 248.74/165.18 new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) 248.74/165.18 new_primEqInt(Pos(Zero)) -> True 248.74/165.18 new_primEqInt(Pos(Succ(vyv242000))) -> False 248.74/165.18 new_esEs(Neg(Succ(vyv24100))) -> new_primEqInt(Neg(Succ(vyv24100))) 248.74/165.18 new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) 248.74/165.18 new_primEqInt(Neg(Zero)) -> True 248.74/165.18 new_primEqInt(Neg(Succ(vyv242000))) -> False 248.74/165.18 248.74/165.18 The set Q consists of the following terms: 248.74/165.18 248.74/165.18 new_primModNatS1(Succ(Zero), Succ(x0)) 248.74/165.18 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 248.74/165.18 new_primEqInt(Pos(Zero)) 248.74/165.18 new_primModNatS02(x0, x1) 248.74/165.18 new_primModNatS01(x0, x1, Succ(x2), Zero) 248.74/165.18 new_primModNatS01(x0, x1, Zero, Succ(x2)) 248.74/165.18 new_primMinusNatS2(Zero, Zero) 248.74/165.18 new_esEs(Neg(Succ(x0))) 248.74/165.18 new_primMinusNatS2(Zero, Succ(x0)) 248.74/165.18 new_primModNatS1(Succ(Zero), Zero) 248.74/165.18 new_esEs(Pos(Zero)) 248.74/165.18 new_primEqInt(Neg(Succ(x0))) 248.74/165.18 new_primMinusNatS2(Succ(x0), Zero) 248.74/165.18 new_primEqInt(Neg(Zero)) 248.74/165.18 new_primModNatS01(x0, x1, Zero, Zero) 248.74/165.18 new_primEqInt(Pos(Succ(x0))) 248.74/165.18 new_primMinusNatS2(Succ(x0), Succ(x1)) 248.74/165.18 new_primModNatS1(Succ(Succ(x0)), Zero) 248.74/165.18 new_primModNatS1(Zero, x0) 248.74/165.18 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 248.74/165.18 new_esEs(Neg(Zero)) 248.74/165.18 new_esEs(Pos(Succ(x0))) 248.74/165.18 248.74/165.18 We have to consider all minimal (P,Q,R)-chains. 248.74/165.18 ---------------------------------------- 248.74/165.18 248.74/165.18 (261) TransformationProof (EQUIVALENT) 248.74/165.18 By rewriting [LPAR04] the rule new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(Zero)), Succ(Succ(Zero))), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) at position [0,0,0,0] we obtained the following new rules [LPAR04]: 248.74/165.18 248.74/165.18 (new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS2(Succ(Zero), Succ(Zero)), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))),new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS2(Succ(Zero), Succ(Zero)), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))))) 248.74/165.18 248.74/165.18 248.74/165.18 ---------------------------------------- 248.74/165.18 248.74/165.18 (262) 248.74/165.18 Obligation: 248.74/165.18 Q DP problem: 248.74/165.18 The TRS P consists of the following rules: 248.74/165.18 248.74/165.18 new_gcd0Gcd'1(False, Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x1))), Pos(new_primModNatS01(x0, x1, x0, x1))) 248.74/165.18 new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 248.74/165.18 new_gcd0Gcd'1(False, Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Pos(Succ(Succ(x1))), Neg(new_primModNatS01(x0, x1, x0, x1))) 248.74/165.18 new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 248.74/165.18 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) 248.74/165.18 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) 248.74/165.18 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) 248.74/165.18 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) 248.74/165.18 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) 248.74/165.18 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) 248.74/165.18 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(Succ(x2))), Succ(Succ(Zero))), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) 248.74/165.18 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_primEqInt(Pos(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 248.74/165.18 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS2(Succ(Zero), Succ(Zero)), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) 248.74/165.18 248.74/165.18 The TRS R consists of the following rules: 248.74/165.18 248.74/165.18 new_primModNatS1(Succ(Succ(vyv292000)), Succ(vyv291000)) -> new_primModNatS01(vyv292000, vyv291000, vyv292000, vyv291000) 248.74/165.18 new_primModNatS01(vyv330, vyv331, Zero, Zero) -> new_primModNatS02(vyv330, vyv331) 248.74/165.18 new_primModNatS02(vyv330, vyv331) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv330), Succ(vyv331)), Succ(vyv331)) 248.74/165.18 new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Succ(vyv3330)) -> new_primModNatS01(vyv330, vyv331, vyv3320, vyv3330) 248.74/165.18 new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Zero) -> new_primModNatS02(vyv330, vyv331) 248.74/165.18 new_primModNatS01(vyv330, vyv331, Zero, Succ(vyv3330)) -> Succ(Succ(vyv330)) 248.74/165.18 new_primMinusNatS2(Succ(vyv3100), Succ(vyv3110)) -> new_primMinusNatS2(vyv3100, vyv3110) 248.74/165.18 new_primModNatS1(Succ(Zero), Succ(vyv291000)) -> Succ(Zero) 248.74/165.18 new_primModNatS1(Zero, vyv29100) -> Zero 248.74/165.18 new_primMinusNatS2(Zero, Zero) -> Zero 248.74/165.18 new_primMinusNatS2(Zero, Succ(vyv3110)) -> Zero 248.74/165.18 new_primMinusNatS2(Succ(vyv3100), Zero) -> Succ(vyv3100) 248.74/165.18 new_esEs(Pos(Succ(vyv24100))) -> new_primEqInt(Pos(Succ(vyv24100))) 248.74/165.18 new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) 248.74/165.18 new_primEqInt(Pos(Zero)) -> True 248.74/165.18 new_primEqInt(Pos(Succ(vyv242000))) -> False 248.74/165.18 new_esEs(Neg(Succ(vyv24100))) -> new_primEqInt(Neg(Succ(vyv24100))) 248.74/165.18 new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) 248.74/165.18 new_primEqInt(Neg(Zero)) -> True 248.74/165.18 new_primEqInt(Neg(Succ(vyv242000))) -> False 248.74/165.18 248.74/165.18 The set Q consists of the following terms: 248.74/165.18 248.74/165.18 new_primModNatS1(Succ(Zero), Succ(x0)) 248.74/165.18 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 248.74/165.18 new_primEqInt(Pos(Zero)) 248.74/165.18 new_primModNatS02(x0, x1) 248.74/165.18 new_primModNatS01(x0, x1, Succ(x2), Zero) 248.74/165.18 new_primModNatS01(x0, x1, Zero, Succ(x2)) 248.74/165.18 new_primMinusNatS2(Zero, Zero) 248.74/165.18 new_esEs(Neg(Succ(x0))) 248.74/165.18 new_primMinusNatS2(Zero, Succ(x0)) 248.74/165.18 new_primModNatS1(Succ(Zero), Zero) 248.74/165.18 new_esEs(Pos(Zero)) 248.74/165.18 new_primEqInt(Neg(Succ(x0))) 248.74/165.18 new_primMinusNatS2(Succ(x0), Zero) 248.74/165.18 new_primEqInt(Neg(Zero)) 248.74/165.18 new_primModNatS01(x0, x1, Zero, Zero) 248.74/165.18 new_primEqInt(Pos(Succ(x0))) 248.74/165.18 new_primMinusNatS2(Succ(x0), Succ(x1)) 248.74/165.18 new_primModNatS1(Succ(Succ(x0)), Zero) 248.74/165.18 new_primModNatS1(Zero, x0) 248.74/165.18 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 248.74/165.18 new_esEs(Neg(Zero)) 248.74/165.18 new_esEs(Pos(Succ(x0))) 248.74/165.18 248.74/165.18 We have to consider all minimal (P,Q,R)-chains. 248.74/165.18 ---------------------------------------- 248.74/165.18 248.74/165.18 (263) TransformationProof (EQUIVALENT) 248.74/165.18 By rewriting [LPAR04] the rule new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(Succ(x2))), Succ(Succ(Zero))), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) at position [0,0,0,0] we obtained the following new rules [LPAR04]: 248.74/165.18 248.74/165.18 (new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))),new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))))) 248.74/165.18 248.74/165.18 248.74/165.18 ---------------------------------------- 248.74/165.18 248.74/165.18 (264) 248.74/165.18 Obligation: 248.74/165.18 Q DP problem: 248.74/165.18 The TRS P consists of the following rules: 248.74/165.18 248.74/165.18 new_gcd0Gcd'1(False, Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x1))), Pos(new_primModNatS01(x0, x1, x0, x1))) 248.74/165.18 new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 248.74/165.18 new_gcd0Gcd'1(False, Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Pos(Succ(Succ(x1))), Neg(new_primModNatS01(x0, x1, x0, x1))) 248.74/165.18 new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 248.74/165.18 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) 248.74/165.18 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) 248.74/165.18 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) 248.74/165.18 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) 248.74/165.18 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) 248.74/165.18 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) 248.74/165.18 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_primEqInt(Pos(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 248.74/165.18 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS2(Succ(Zero), Succ(Zero)), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) 248.74/165.18 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) 248.74/165.18 248.74/165.18 The TRS R consists of the following rules: 248.74/165.18 248.74/165.18 new_primModNatS1(Succ(Succ(vyv292000)), Succ(vyv291000)) -> new_primModNatS01(vyv292000, vyv291000, vyv292000, vyv291000) 248.74/165.18 new_primModNatS01(vyv330, vyv331, Zero, Zero) -> new_primModNatS02(vyv330, vyv331) 248.74/165.18 new_primModNatS02(vyv330, vyv331) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv330), Succ(vyv331)), Succ(vyv331)) 248.74/165.18 new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Succ(vyv3330)) -> new_primModNatS01(vyv330, vyv331, vyv3320, vyv3330) 248.74/165.18 new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Zero) -> new_primModNatS02(vyv330, vyv331) 248.74/165.18 new_primModNatS01(vyv330, vyv331, Zero, Succ(vyv3330)) -> Succ(Succ(vyv330)) 248.74/165.18 new_primMinusNatS2(Succ(vyv3100), Succ(vyv3110)) -> new_primMinusNatS2(vyv3100, vyv3110) 248.74/165.18 new_primModNatS1(Succ(Zero), Succ(vyv291000)) -> Succ(Zero) 248.74/165.18 new_primModNatS1(Zero, vyv29100) -> Zero 248.74/165.18 new_primMinusNatS2(Zero, Zero) -> Zero 248.74/165.18 new_primMinusNatS2(Zero, Succ(vyv3110)) -> Zero 248.74/165.18 new_primMinusNatS2(Succ(vyv3100), Zero) -> Succ(vyv3100) 248.74/165.18 new_esEs(Pos(Succ(vyv24100))) -> new_primEqInt(Pos(Succ(vyv24100))) 248.74/165.18 new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) 248.74/165.18 new_primEqInt(Pos(Zero)) -> True 248.74/165.18 new_primEqInt(Pos(Succ(vyv242000))) -> False 248.74/165.18 new_esEs(Neg(Succ(vyv24100))) -> new_primEqInt(Neg(Succ(vyv24100))) 248.74/165.18 new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) 248.74/165.18 new_primEqInt(Neg(Zero)) -> True 248.74/165.18 new_primEqInt(Neg(Succ(vyv242000))) -> False 248.74/165.18 248.74/165.18 The set Q consists of the following terms: 248.74/165.18 248.74/165.18 new_primModNatS1(Succ(Zero), Succ(x0)) 248.74/165.18 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 248.74/165.18 new_primEqInt(Pos(Zero)) 248.74/165.18 new_primModNatS02(x0, x1) 248.74/165.18 new_primModNatS01(x0, x1, Succ(x2), Zero) 248.74/165.18 new_primModNatS01(x0, x1, Zero, Succ(x2)) 248.74/165.18 new_primMinusNatS2(Zero, Zero) 248.74/165.18 new_esEs(Neg(Succ(x0))) 248.74/165.18 new_primMinusNatS2(Zero, Succ(x0)) 248.74/165.18 new_primModNatS1(Succ(Zero), Zero) 248.74/165.18 new_esEs(Pos(Zero)) 248.74/165.18 new_primEqInt(Neg(Succ(x0))) 248.74/165.18 new_primMinusNatS2(Succ(x0), Zero) 248.74/165.18 new_primEqInt(Neg(Zero)) 248.74/165.18 new_primModNatS01(x0, x1, Zero, Zero) 248.74/165.18 new_primEqInt(Pos(Succ(x0))) 248.74/165.18 new_primMinusNatS2(Succ(x0), Succ(x1)) 248.74/165.18 new_primModNatS1(Succ(Succ(x0)), Zero) 248.74/165.18 new_primModNatS1(Zero, x0) 248.74/165.18 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 248.74/165.18 new_esEs(Neg(Zero)) 248.74/165.18 new_esEs(Pos(Succ(x0))) 248.74/165.18 248.74/165.18 We have to consider all minimal (P,Q,R)-chains. 248.74/165.18 ---------------------------------------- 248.74/165.18 248.74/165.18 (265) TransformationProof (EQUIVALENT) 248.74/165.18 By rewriting [LPAR04] the rule new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_primEqInt(Pos(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) at position [0] we obtained the following new rules [LPAR04]: 248.74/165.18 248.74/165.18 (new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))),new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))))) 248.74/165.18 248.74/165.18 248.74/165.18 ---------------------------------------- 248.74/165.18 248.74/165.18 (266) 248.74/165.18 Obligation: 248.74/165.18 Q DP problem: 248.74/165.18 The TRS P consists of the following rules: 248.74/165.18 248.74/165.18 new_gcd0Gcd'1(False, Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x1))), Pos(new_primModNatS01(x0, x1, x0, x1))) 248.74/165.18 new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 248.74/165.18 new_gcd0Gcd'1(False, Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Pos(Succ(Succ(x1))), Neg(new_primModNatS01(x0, x1, x0, x1))) 248.74/165.18 new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 248.74/165.18 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) 248.74/165.18 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) 248.74/165.18 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) 248.74/165.18 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) 248.74/165.18 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) 248.74/165.18 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) 248.74/165.18 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS2(Succ(Zero), Succ(Zero)), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) 248.74/165.18 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) 248.74/165.18 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 248.74/165.18 248.74/165.18 The TRS R consists of the following rules: 248.74/165.18 248.74/165.18 new_primModNatS1(Succ(Succ(vyv292000)), Succ(vyv291000)) -> new_primModNatS01(vyv292000, vyv291000, vyv292000, vyv291000) 248.74/165.18 new_primModNatS01(vyv330, vyv331, Zero, Zero) -> new_primModNatS02(vyv330, vyv331) 248.74/165.18 new_primModNatS02(vyv330, vyv331) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv330), Succ(vyv331)), Succ(vyv331)) 248.74/165.18 new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Succ(vyv3330)) -> new_primModNatS01(vyv330, vyv331, vyv3320, vyv3330) 248.74/165.18 new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Zero) -> new_primModNatS02(vyv330, vyv331) 248.74/165.18 new_primModNatS01(vyv330, vyv331, Zero, Succ(vyv3330)) -> Succ(Succ(vyv330)) 248.74/165.18 new_primMinusNatS2(Succ(vyv3100), Succ(vyv3110)) -> new_primMinusNatS2(vyv3100, vyv3110) 248.74/165.18 new_primModNatS1(Succ(Zero), Succ(vyv291000)) -> Succ(Zero) 248.74/165.18 new_primModNatS1(Zero, vyv29100) -> Zero 248.74/165.18 new_primMinusNatS2(Zero, Zero) -> Zero 248.74/165.18 new_primMinusNatS2(Zero, Succ(vyv3110)) -> Zero 248.74/165.18 new_primMinusNatS2(Succ(vyv3100), Zero) -> Succ(vyv3100) 248.74/165.18 new_esEs(Pos(Succ(vyv24100))) -> new_primEqInt(Pos(Succ(vyv24100))) 248.74/165.18 new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) 248.74/165.18 new_primEqInt(Pos(Zero)) -> True 248.74/165.18 new_primEqInt(Pos(Succ(vyv242000))) -> False 248.74/165.18 new_esEs(Neg(Succ(vyv24100))) -> new_primEqInt(Neg(Succ(vyv24100))) 248.74/165.18 new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) 248.74/165.18 new_primEqInt(Neg(Zero)) -> True 248.74/165.18 new_primEqInt(Neg(Succ(vyv242000))) -> False 248.74/165.18 248.74/165.18 The set Q consists of the following terms: 248.74/165.18 248.74/165.18 new_primModNatS1(Succ(Zero), Succ(x0)) 248.74/165.18 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 248.74/165.18 new_primEqInt(Pos(Zero)) 248.74/165.18 new_primModNatS02(x0, x1) 248.74/165.18 new_primModNatS01(x0, x1, Succ(x2), Zero) 248.74/165.18 new_primModNatS01(x0, x1, Zero, Succ(x2)) 248.74/165.18 new_primMinusNatS2(Zero, Zero) 248.74/165.18 new_esEs(Neg(Succ(x0))) 248.74/165.18 new_primMinusNatS2(Zero, Succ(x0)) 248.74/165.18 new_primModNatS1(Succ(Zero), Zero) 248.74/165.18 new_esEs(Pos(Zero)) 248.74/165.18 new_primEqInt(Neg(Succ(x0))) 248.74/165.18 new_primMinusNatS2(Succ(x0), Zero) 248.74/165.18 new_primEqInt(Neg(Zero)) 248.74/165.18 new_primModNatS01(x0, x1, Zero, Zero) 248.74/165.18 new_primEqInt(Pos(Succ(x0))) 248.74/165.18 new_primMinusNatS2(Succ(x0), Succ(x1)) 248.74/165.18 new_primModNatS1(Succ(Succ(x0)), Zero) 248.74/165.18 new_primModNatS1(Zero, x0) 248.74/165.18 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 248.74/165.18 new_esEs(Neg(Zero)) 248.74/165.18 new_esEs(Pos(Succ(x0))) 248.74/165.18 248.74/165.18 We have to consider all minimal (P,Q,R)-chains. 248.74/165.18 ---------------------------------------- 248.74/165.18 248.74/165.18 (267) TransformationProof (EQUIVALENT) 248.74/165.18 By rewriting [LPAR04] the rule new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS2(Succ(Zero), Succ(Zero)), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) at position [0,0,0,0] we obtained the following new rules [LPAR04]: 248.74/165.18 248.74/165.18 (new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS2(Zero, Zero), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))),new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS2(Zero, Zero), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))))) 248.74/165.18 248.74/165.18 248.74/165.18 ---------------------------------------- 248.74/165.18 248.74/165.18 (268) 248.74/165.18 Obligation: 248.74/165.18 Q DP problem: 248.74/165.18 The TRS P consists of the following rules: 248.74/165.18 248.74/165.18 new_gcd0Gcd'1(False, Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x1))), Pos(new_primModNatS01(x0, x1, x0, x1))) 248.74/165.18 new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 248.74/165.18 new_gcd0Gcd'1(False, Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Pos(Succ(Succ(x1))), Neg(new_primModNatS01(x0, x1, x0, x1))) 248.74/165.18 new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 248.74/165.18 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) 248.74/165.18 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) 248.74/165.18 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) 248.74/165.18 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) 248.74/165.18 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) 248.74/165.18 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) 248.74/165.18 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) 248.74/165.18 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 248.74/165.18 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS2(Zero, Zero), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) 248.74/165.18 248.74/165.18 The TRS R consists of the following rules: 248.74/165.18 248.74/165.18 new_primModNatS1(Succ(Succ(vyv292000)), Succ(vyv291000)) -> new_primModNatS01(vyv292000, vyv291000, vyv292000, vyv291000) 248.74/165.18 new_primModNatS01(vyv330, vyv331, Zero, Zero) -> new_primModNatS02(vyv330, vyv331) 248.74/165.18 new_primModNatS02(vyv330, vyv331) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv330), Succ(vyv331)), Succ(vyv331)) 248.74/165.18 new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Succ(vyv3330)) -> new_primModNatS01(vyv330, vyv331, vyv3320, vyv3330) 248.74/165.18 new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Zero) -> new_primModNatS02(vyv330, vyv331) 248.74/165.18 new_primModNatS01(vyv330, vyv331, Zero, Succ(vyv3330)) -> Succ(Succ(vyv330)) 248.74/165.18 new_primMinusNatS2(Succ(vyv3100), Succ(vyv3110)) -> new_primMinusNatS2(vyv3100, vyv3110) 248.74/165.18 new_primModNatS1(Succ(Zero), Succ(vyv291000)) -> Succ(Zero) 248.74/165.18 new_primModNatS1(Zero, vyv29100) -> Zero 248.74/165.18 new_primMinusNatS2(Zero, Zero) -> Zero 248.74/165.18 new_primMinusNatS2(Zero, Succ(vyv3110)) -> Zero 248.74/165.18 new_primMinusNatS2(Succ(vyv3100), Zero) -> Succ(vyv3100) 248.74/165.18 new_esEs(Pos(Succ(vyv24100))) -> new_primEqInt(Pos(Succ(vyv24100))) 248.74/165.18 new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) 248.74/165.18 new_primEqInt(Pos(Zero)) -> True 248.74/165.18 new_primEqInt(Pos(Succ(vyv242000))) -> False 248.74/165.18 new_esEs(Neg(Succ(vyv24100))) -> new_primEqInt(Neg(Succ(vyv24100))) 248.74/165.18 new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) 248.74/165.18 new_primEqInt(Neg(Zero)) -> True 248.74/165.18 new_primEqInt(Neg(Succ(vyv242000))) -> False 248.74/165.18 248.74/165.18 The set Q consists of the following terms: 248.74/165.18 248.74/165.18 new_primModNatS1(Succ(Zero), Succ(x0)) 248.74/165.18 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 248.74/165.18 new_primEqInt(Pos(Zero)) 248.74/165.18 new_primModNatS02(x0, x1) 248.74/165.18 new_primModNatS01(x0, x1, Succ(x2), Zero) 248.74/165.18 new_primModNatS01(x0, x1, Zero, Succ(x2)) 248.74/165.18 new_primMinusNatS2(Zero, Zero) 248.74/165.18 new_esEs(Neg(Succ(x0))) 248.74/165.18 new_primMinusNatS2(Zero, Succ(x0)) 248.74/165.18 new_primModNatS1(Succ(Zero), Zero) 248.74/165.18 new_esEs(Pos(Zero)) 248.74/165.18 new_primEqInt(Neg(Succ(x0))) 248.74/165.18 new_primMinusNatS2(Succ(x0), Zero) 248.74/165.18 new_primEqInt(Neg(Zero)) 248.74/165.18 new_primModNatS01(x0, x1, Zero, Zero) 248.74/165.18 new_primEqInt(Pos(Succ(x0))) 248.74/165.18 new_primMinusNatS2(Succ(x0), Succ(x1)) 248.74/165.18 new_primModNatS1(Succ(Succ(x0)), Zero) 248.74/165.18 new_primModNatS1(Zero, x0) 248.74/165.18 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 248.74/165.18 new_esEs(Neg(Zero)) 248.74/165.18 new_esEs(Pos(Succ(x0))) 248.74/165.18 248.74/165.18 We have to consider all minimal (P,Q,R)-chains. 248.74/165.18 ---------------------------------------- 248.74/165.18 248.74/165.18 (269) TransformationProof (EQUIVALENT) 248.74/165.18 By rewriting [LPAR04] the rule new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) at position [0,0,0,0] we obtained the following new rules [LPAR04]: 248.74/165.18 248.74/165.18 (new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))),new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))))) 248.74/165.18 248.74/165.18 248.74/165.18 ---------------------------------------- 248.74/165.18 248.74/165.18 (270) 248.74/165.18 Obligation: 248.74/165.18 Q DP problem: 248.74/165.18 The TRS P consists of the following rules: 248.74/165.18 248.74/165.18 new_gcd0Gcd'1(False, Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x1))), Pos(new_primModNatS01(x0, x1, x0, x1))) 248.74/165.18 new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 248.74/165.18 new_gcd0Gcd'1(False, Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Pos(Succ(Succ(x1))), Neg(new_primModNatS01(x0, x1, x0, x1))) 248.74/165.18 new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 248.74/165.18 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) 248.74/165.18 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) 248.74/165.18 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) 248.74/165.18 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) 248.74/165.18 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) 248.74/165.18 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) 248.74/165.18 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 248.74/165.18 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS2(Zero, Zero), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) 248.74/165.18 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) 248.74/165.18 248.74/165.18 The TRS R consists of the following rules: 248.74/165.18 248.74/165.18 new_primModNatS1(Succ(Succ(vyv292000)), Succ(vyv291000)) -> new_primModNatS01(vyv292000, vyv291000, vyv292000, vyv291000) 248.74/165.18 new_primModNatS01(vyv330, vyv331, Zero, Zero) -> new_primModNatS02(vyv330, vyv331) 248.74/165.18 new_primModNatS02(vyv330, vyv331) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv330), Succ(vyv331)), Succ(vyv331)) 248.74/165.18 new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Succ(vyv3330)) -> new_primModNatS01(vyv330, vyv331, vyv3320, vyv3330) 248.74/165.18 new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Zero) -> new_primModNatS02(vyv330, vyv331) 248.74/165.18 new_primModNatS01(vyv330, vyv331, Zero, Succ(vyv3330)) -> Succ(Succ(vyv330)) 248.74/165.18 new_primMinusNatS2(Succ(vyv3100), Succ(vyv3110)) -> new_primMinusNatS2(vyv3100, vyv3110) 248.74/165.18 new_primModNatS1(Succ(Zero), Succ(vyv291000)) -> Succ(Zero) 248.74/165.18 new_primModNatS1(Zero, vyv29100) -> Zero 248.74/165.18 new_primMinusNatS2(Zero, Zero) -> Zero 248.74/165.18 new_primMinusNatS2(Zero, Succ(vyv3110)) -> Zero 248.74/165.18 new_primMinusNatS2(Succ(vyv3100), Zero) -> Succ(vyv3100) 248.74/165.18 new_esEs(Pos(Succ(vyv24100))) -> new_primEqInt(Pos(Succ(vyv24100))) 248.74/165.18 new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) 248.74/165.18 new_primEqInt(Pos(Zero)) -> True 248.74/165.18 new_primEqInt(Pos(Succ(vyv242000))) -> False 248.74/165.18 new_esEs(Neg(Succ(vyv24100))) -> new_primEqInt(Neg(Succ(vyv24100))) 248.74/165.18 new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) 248.74/165.18 new_primEqInt(Neg(Zero)) -> True 248.74/165.18 new_primEqInt(Neg(Succ(vyv242000))) -> False 248.74/165.18 248.74/165.18 The set Q consists of the following terms: 248.74/165.18 248.74/165.18 new_primModNatS1(Succ(Zero), Succ(x0)) 248.74/165.18 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 248.74/165.18 new_primEqInt(Pos(Zero)) 248.74/165.18 new_primModNatS02(x0, x1) 248.74/165.18 new_primModNatS01(x0, x1, Succ(x2), Zero) 248.74/165.18 new_primModNatS01(x0, x1, Zero, Succ(x2)) 248.74/165.18 new_primMinusNatS2(Zero, Zero) 248.74/165.18 new_esEs(Neg(Succ(x0))) 248.74/165.18 new_primMinusNatS2(Zero, Succ(x0)) 248.74/165.18 new_primModNatS1(Succ(Zero), Zero) 248.74/165.18 new_esEs(Pos(Zero)) 248.74/165.18 new_primEqInt(Neg(Succ(x0))) 248.74/165.18 new_primMinusNatS2(Succ(x0), Zero) 248.74/165.18 new_primEqInt(Neg(Zero)) 248.74/165.18 new_primModNatS01(x0, x1, Zero, Zero) 248.74/165.18 new_primEqInt(Pos(Succ(x0))) 248.74/165.18 new_primMinusNatS2(Succ(x0), Succ(x1)) 248.74/165.18 new_primModNatS1(Succ(Succ(x0)), Zero) 248.74/165.18 new_primModNatS1(Zero, x0) 248.74/165.18 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 248.74/165.18 new_esEs(Neg(Zero)) 248.74/165.18 new_esEs(Pos(Succ(x0))) 248.74/165.18 248.74/165.18 We have to consider all minimal (P,Q,R)-chains. 248.74/165.18 ---------------------------------------- 248.74/165.18 248.74/165.18 (271) TransformationProof (EQUIVALENT) 248.74/165.18 By rewriting [LPAR04] the rule new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS2(Zero, Zero), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) at position [0,0,0,0] we obtained the following new rules [LPAR04]: 248.74/165.18 248.74/165.18 (new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Zero, Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))),new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Zero, Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))))) 248.74/165.18 248.74/165.18 248.74/165.18 ---------------------------------------- 248.74/165.18 248.74/165.18 (272) 248.74/165.18 Obligation: 248.74/165.18 Q DP problem: 248.74/165.18 The TRS P consists of the following rules: 248.74/165.18 248.74/165.18 new_gcd0Gcd'1(False, Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x1))), Pos(new_primModNatS01(x0, x1, x0, x1))) 248.74/165.18 new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 248.74/165.18 new_gcd0Gcd'1(False, Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Pos(Succ(Succ(x1))), Neg(new_primModNatS01(x0, x1, x0, x1))) 248.74/165.18 new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 248.74/165.18 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) 248.74/165.18 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) 248.74/165.18 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) 248.74/165.18 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) 248.74/165.18 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) 248.74/165.18 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) 248.74/165.18 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 248.74/165.18 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) 248.74/165.18 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Zero, Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) 248.74/165.18 248.74/165.18 The TRS R consists of the following rules: 248.74/165.18 248.74/165.18 new_primModNatS1(Succ(Succ(vyv292000)), Succ(vyv291000)) -> new_primModNatS01(vyv292000, vyv291000, vyv292000, vyv291000) 248.74/165.18 new_primModNatS01(vyv330, vyv331, Zero, Zero) -> new_primModNatS02(vyv330, vyv331) 248.74/165.18 new_primModNatS02(vyv330, vyv331) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv330), Succ(vyv331)), Succ(vyv331)) 248.74/165.18 new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Succ(vyv3330)) -> new_primModNatS01(vyv330, vyv331, vyv3320, vyv3330) 248.74/165.18 new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Zero) -> new_primModNatS02(vyv330, vyv331) 248.74/165.18 new_primModNatS01(vyv330, vyv331, Zero, Succ(vyv3330)) -> Succ(Succ(vyv330)) 248.74/165.18 new_primMinusNatS2(Succ(vyv3100), Succ(vyv3110)) -> new_primMinusNatS2(vyv3100, vyv3110) 248.74/165.18 new_primModNatS1(Succ(Zero), Succ(vyv291000)) -> Succ(Zero) 248.74/165.18 new_primModNatS1(Zero, vyv29100) -> Zero 248.74/165.18 new_primMinusNatS2(Zero, Zero) -> Zero 248.74/165.18 new_primMinusNatS2(Zero, Succ(vyv3110)) -> Zero 248.74/165.18 new_primMinusNatS2(Succ(vyv3100), Zero) -> Succ(vyv3100) 248.74/165.18 new_esEs(Pos(Succ(vyv24100))) -> new_primEqInt(Pos(Succ(vyv24100))) 248.74/165.18 new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) 248.74/165.18 new_primEqInt(Pos(Zero)) -> True 248.74/165.18 new_primEqInt(Pos(Succ(vyv242000))) -> False 248.74/165.18 new_esEs(Neg(Succ(vyv24100))) -> new_primEqInt(Neg(Succ(vyv24100))) 248.74/165.18 new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) 248.74/165.18 new_primEqInt(Neg(Zero)) -> True 248.74/165.18 new_primEqInt(Neg(Succ(vyv242000))) -> False 248.74/165.18 248.74/165.18 The set Q consists of the following terms: 248.74/165.18 248.74/165.18 new_primModNatS1(Succ(Zero), Succ(x0)) 248.74/165.18 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 248.74/165.18 new_primEqInt(Pos(Zero)) 248.74/165.18 new_primModNatS02(x0, x1) 248.74/165.18 new_primModNatS01(x0, x1, Succ(x2), Zero) 248.74/165.18 new_primModNatS01(x0, x1, Zero, Succ(x2)) 248.74/165.18 new_primMinusNatS2(Zero, Zero) 248.74/165.18 new_esEs(Neg(Succ(x0))) 248.74/165.18 new_primMinusNatS2(Zero, Succ(x0)) 248.74/165.18 new_primModNatS1(Succ(Zero), Zero) 248.74/165.18 new_esEs(Pos(Zero)) 248.74/165.18 new_primEqInt(Neg(Succ(x0))) 248.74/165.18 new_primMinusNatS2(Succ(x0), Zero) 248.74/165.18 new_primEqInt(Neg(Zero)) 248.74/165.18 new_primModNatS01(x0, x1, Zero, Zero) 248.74/165.18 new_primEqInt(Pos(Succ(x0))) 248.74/165.18 new_primMinusNatS2(Succ(x0), Succ(x1)) 248.74/165.18 new_primModNatS1(Succ(Succ(x0)), Zero) 248.74/165.18 new_primModNatS1(Zero, x0) 248.74/165.18 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 248.74/165.18 new_esEs(Neg(Zero)) 248.74/165.18 new_esEs(Pos(Succ(x0))) 248.74/165.18 248.74/165.18 We have to consider all minimal (P,Q,R)-chains. 248.74/165.18 ---------------------------------------- 248.74/165.18 248.74/165.18 (273) TransformationProof (EQUIVALENT) 248.74/165.18 By rewriting [LPAR04] the rule new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) at position [0,0,0,0] we obtained the following new rules [LPAR04]: 248.74/165.18 248.74/165.18 (new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))),new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))))) 248.74/165.18 248.74/165.18 248.74/165.18 ---------------------------------------- 248.74/165.18 248.74/165.18 (274) 248.74/165.18 Obligation: 248.74/165.18 Q DP problem: 248.74/165.18 The TRS P consists of the following rules: 248.74/165.18 248.74/165.18 new_gcd0Gcd'1(False, Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x1))), Pos(new_primModNatS01(x0, x1, x0, x1))) 248.74/165.18 new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 248.74/165.18 new_gcd0Gcd'1(False, Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Pos(Succ(Succ(x1))), Neg(new_primModNatS01(x0, x1, x0, x1))) 248.74/165.18 new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 248.74/165.18 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) 248.74/165.18 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) 248.74/165.18 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) 248.74/165.18 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) 248.74/165.18 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) 248.74/165.18 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) 248.74/165.18 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 248.74/165.18 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Zero, Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) 248.74/165.18 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) 248.74/165.18 248.74/165.18 The TRS R consists of the following rules: 248.74/165.18 248.74/165.18 new_primModNatS1(Succ(Succ(vyv292000)), Succ(vyv291000)) -> new_primModNatS01(vyv292000, vyv291000, vyv292000, vyv291000) 248.74/165.18 new_primModNatS01(vyv330, vyv331, Zero, Zero) -> new_primModNatS02(vyv330, vyv331) 248.74/165.18 new_primModNatS02(vyv330, vyv331) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv330), Succ(vyv331)), Succ(vyv331)) 248.74/165.18 new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Succ(vyv3330)) -> new_primModNatS01(vyv330, vyv331, vyv3320, vyv3330) 248.74/165.18 new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Zero) -> new_primModNatS02(vyv330, vyv331) 248.74/165.18 new_primModNatS01(vyv330, vyv331, Zero, Succ(vyv3330)) -> Succ(Succ(vyv330)) 248.74/165.18 new_primMinusNatS2(Succ(vyv3100), Succ(vyv3110)) -> new_primMinusNatS2(vyv3100, vyv3110) 248.74/165.18 new_primModNatS1(Succ(Zero), Succ(vyv291000)) -> Succ(Zero) 248.74/165.18 new_primModNatS1(Zero, vyv29100) -> Zero 248.74/165.18 new_primMinusNatS2(Zero, Zero) -> Zero 248.74/165.18 new_primMinusNatS2(Zero, Succ(vyv3110)) -> Zero 248.74/165.18 new_primMinusNatS2(Succ(vyv3100), Zero) -> Succ(vyv3100) 248.74/165.18 new_esEs(Pos(Succ(vyv24100))) -> new_primEqInt(Pos(Succ(vyv24100))) 248.74/165.18 new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) 248.74/165.18 new_primEqInt(Pos(Zero)) -> True 248.74/165.18 new_primEqInt(Pos(Succ(vyv242000))) -> False 248.74/165.18 new_esEs(Neg(Succ(vyv24100))) -> new_primEqInt(Neg(Succ(vyv24100))) 248.74/165.18 new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) 248.74/165.18 new_primEqInt(Neg(Zero)) -> True 248.74/165.18 new_primEqInt(Neg(Succ(vyv242000))) -> False 248.74/165.18 248.74/165.18 The set Q consists of the following terms: 248.74/165.18 248.74/165.18 new_primModNatS1(Succ(Zero), Succ(x0)) 248.74/165.18 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 248.74/165.18 new_primEqInt(Pos(Zero)) 248.74/165.18 new_primModNatS02(x0, x1) 248.74/165.18 new_primModNatS01(x0, x1, Succ(x2), Zero) 248.74/165.18 new_primModNatS01(x0, x1, Zero, Succ(x2)) 248.74/165.18 new_primMinusNatS2(Zero, Zero) 248.74/165.18 new_esEs(Neg(Succ(x0))) 248.74/165.18 new_primMinusNatS2(Zero, Succ(x0)) 248.74/165.18 new_primModNatS1(Succ(Zero), Zero) 248.74/165.18 new_esEs(Pos(Zero)) 248.74/165.18 new_primEqInt(Neg(Succ(x0))) 248.74/165.18 new_primMinusNatS2(Succ(x0), Zero) 248.74/165.18 new_primEqInt(Neg(Zero)) 248.74/165.18 new_primModNatS01(x0, x1, Zero, Zero) 248.74/165.18 new_primEqInt(Pos(Succ(x0))) 248.74/165.18 new_primMinusNatS2(Succ(x0), Succ(x1)) 248.74/165.18 new_primModNatS1(Succ(Succ(x0)), Zero) 248.74/165.18 new_primModNatS1(Zero, x0) 248.74/165.18 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 248.74/165.18 new_esEs(Neg(Zero)) 248.74/165.18 new_esEs(Pos(Succ(x0))) 248.74/165.18 248.74/165.18 We have to consider all minimal (P,Q,R)-chains. 248.74/165.18 ---------------------------------------- 248.74/165.18 248.74/165.18 (275) TransformationProof (EQUIVALENT) 248.74/165.18 By rewriting [LPAR04] the rule new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Zero, Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) at position [0,0,0] we obtained the following new rules [LPAR04]: 248.74/165.18 248.74/165.18 (new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))),new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))))) 248.74/165.18 248.74/165.18 248.74/165.18 ---------------------------------------- 248.74/165.18 248.74/165.18 (276) 248.74/165.18 Obligation: 248.74/165.18 Q DP problem: 248.74/165.18 The TRS P consists of the following rules: 248.74/165.18 248.74/165.18 new_gcd0Gcd'1(False, Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x1))), Pos(new_primModNatS01(x0, x1, x0, x1))) 248.74/165.18 new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 248.74/165.18 new_gcd0Gcd'1(False, Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Pos(Succ(Succ(x1))), Neg(new_primModNatS01(x0, x1, x0, x1))) 248.74/165.18 new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 248.74/165.18 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) 248.74/165.18 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) 248.74/165.18 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) 248.74/165.18 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) 248.74/165.18 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) 248.74/165.18 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) 248.74/165.18 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 248.74/165.18 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) 248.74/165.18 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) 248.74/165.18 248.74/165.18 The TRS R consists of the following rules: 248.74/165.18 248.74/165.18 new_primModNatS1(Succ(Succ(vyv292000)), Succ(vyv291000)) -> new_primModNatS01(vyv292000, vyv291000, vyv292000, vyv291000) 248.74/165.18 new_primModNatS01(vyv330, vyv331, Zero, Zero) -> new_primModNatS02(vyv330, vyv331) 248.74/165.18 new_primModNatS02(vyv330, vyv331) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv330), Succ(vyv331)), Succ(vyv331)) 248.74/165.18 new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Succ(vyv3330)) -> new_primModNatS01(vyv330, vyv331, vyv3320, vyv3330) 248.74/165.18 new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Zero) -> new_primModNatS02(vyv330, vyv331) 248.74/165.18 new_primModNatS01(vyv330, vyv331, Zero, Succ(vyv3330)) -> Succ(Succ(vyv330)) 248.74/165.18 new_primMinusNatS2(Succ(vyv3100), Succ(vyv3110)) -> new_primMinusNatS2(vyv3100, vyv3110) 248.74/165.18 new_primModNatS1(Succ(Zero), Succ(vyv291000)) -> Succ(Zero) 248.74/165.18 new_primModNatS1(Zero, vyv29100) -> Zero 248.74/165.18 new_primMinusNatS2(Zero, Zero) -> Zero 248.74/165.18 new_primMinusNatS2(Zero, Succ(vyv3110)) -> Zero 248.74/165.18 new_primMinusNatS2(Succ(vyv3100), Zero) -> Succ(vyv3100) 248.74/165.18 new_esEs(Pos(Succ(vyv24100))) -> new_primEqInt(Pos(Succ(vyv24100))) 248.74/165.18 new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) 248.74/165.18 new_primEqInt(Pos(Zero)) -> True 248.74/165.18 new_primEqInt(Pos(Succ(vyv242000))) -> False 248.74/165.18 new_esEs(Neg(Succ(vyv24100))) -> new_primEqInt(Neg(Succ(vyv24100))) 248.74/165.18 new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) 248.74/165.18 new_primEqInt(Neg(Zero)) -> True 248.74/165.18 new_primEqInt(Neg(Succ(vyv242000))) -> False 248.74/165.18 248.74/165.18 The set Q consists of the following terms: 248.74/165.18 248.74/165.18 new_primModNatS1(Succ(Zero), Succ(x0)) 248.74/165.18 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 248.74/165.18 new_primEqInt(Pos(Zero)) 248.74/165.18 new_primModNatS02(x0, x1) 248.74/165.18 new_primModNatS01(x0, x1, Succ(x2), Zero) 248.74/165.18 new_primModNatS01(x0, x1, Zero, Succ(x2)) 248.74/165.18 new_primMinusNatS2(Zero, Zero) 248.74/165.18 new_esEs(Neg(Succ(x0))) 248.74/165.18 new_primMinusNatS2(Zero, Succ(x0)) 248.74/165.18 new_primModNatS1(Succ(Zero), Zero) 248.74/165.18 new_esEs(Pos(Zero)) 248.74/165.18 new_primEqInt(Neg(Succ(x0))) 248.74/165.18 new_primMinusNatS2(Succ(x0), Zero) 248.74/165.18 new_primEqInt(Neg(Zero)) 248.74/165.18 new_primModNatS01(x0, x1, Zero, Zero) 248.74/165.18 new_primEqInt(Pos(Succ(x0))) 248.74/165.18 new_primMinusNatS2(Succ(x0), Succ(x1)) 248.74/165.18 new_primModNatS1(Succ(Succ(x0)), Zero) 248.74/165.18 new_primModNatS1(Zero, x0) 248.74/165.18 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 248.74/165.18 new_esEs(Neg(Zero)) 248.74/165.18 new_esEs(Pos(Succ(x0))) 248.74/165.18 248.74/165.18 We have to consider all minimal (P,Q,R)-chains. 248.74/165.18 ---------------------------------------- 248.74/165.18 248.74/165.18 (277) DependencyGraphProof (EQUIVALENT) 248.74/165.18 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. 248.74/165.18 ---------------------------------------- 248.74/165.18 248.74/165.18 (278) 248.74/165.18 Obligation: 248.74/165.18 Q DP problem: 248.74/165.18 The TRS P consists of the following rules: 248.74/165.18 248.74/165.18 new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 248.74/165.18 new_gcd0Gcd'1(False, Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Pos(Succ(Succ(x1))), Neg(new_primModNatS01(x0, x1, x0, x1))) 248.74/165.18 new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 248.74/165.18 new_gcd0Gcd'1(False, Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x1))), Pos(new_primModNatS01(x0, x1, x0, x1))) 248.74/165.18 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) 248.74/165.18 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) 248.74/165.18 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) 248.74/165.18 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) 248.74/165.18 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) 248.74/165.18 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) 248.74/165.18 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 248.74/165.18 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) 248.74/165.18 248.74/165.18 The TRS R consists of the following rules: 248.74/165.18 248.74/165.18 new_primModNatS1(Succ(Succ(vyv292000)), Succ(vyv291000)) -> new_primModNatS01(vyv292000, vyv291000, vyv292000, vyv291000) 248.74/165.18 new_primModNatS01(vyv330, vyv331, Zero, Zero) -> new_primModNatS02(vyv330, vyv331) 248.74/165.18 new_primModNatS02(vyv330, vyv331) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv330), Succ(vyv331)), Succ(vyv331)) 248.74/165.18 new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Succ(vyv3330)) -> new_primModNatS01(vyv330, vyv331, vyv3320, vyv3330) 248.74/165.18 new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Zero) -> new_primModNatS02(vyv330, vyv331) 248.74/165.18 new_primModNatS01(vyv330, vyv331, Zero, Succ(vyv3330)) -> Succ(Succ(vyv330)) 248.74/165.18 new_primMinusNatS2(Succ(vyv3100), Succ(vyv3110)) -> new_primMinusNatS2(vyv3100, vyv3110) 248.74/165.18 new_primModNatS1(Succ(Zero), Succ(vyv291000)) -> Succ(Zero) 248.74/165.18 new_primModNatS1(Zero, vyv29100) -> Zero 248.74/165.18 new_primMinusNatS2(Zero, Zero) -> Zero 248.74/165.18 new_primMinusNatS2(Zero, Succ(vyv3110)) -> Zero 248.74/165.18 new_primMinusNatS2(Succ(vyv3100), Zero) -> Succ(vyv3100) 248.74/165.18 new_esEs(Pos(Succ(vyv24100))) -> new_primEqInt(Pos(Succ(vyv24100))) 248.74/165.18 new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) 248.74/165.18 new_primEqInt(Pos(Zero)) -> True 248.74/165.18 new_primEqInt(Pos(Succ(vyv242000))) -> False 248.74/165.18 new_esEs(Neg(Succ(vyv24100))) -> new_primEqInt(Neg(Succ(vyv24100))) 248.74/165.18 new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) 248.74/165.18 new_primEqInt(Neg(Zero)) -> True 248.74/165.18 new_primEqInt(Neg(Succ(vyv242000))) -> False 248.74/165.18 248.74/165.18 The set Q consists of the following terms: 248.74/165.18 248.74/165.18 new_primModNatS1(Succ(Zero), Succ(x0)) 248.74/165.18 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 248.74/165.18 new_primEqInt(Pos(Zero)) 248.74/165.18 new_primModNatS02(x0, x1) 248.74/165.18 new_primModNatS01(x0, x1, Succ(x2), Zero) 248.74/165.18 new_primModNatS01(x0, x1, Zero, Succ(x2)) 248.74/165.18 new_primMinusNatS2(Zero, Zero) 248.74/165.18 new_esEs(Neg(Succ(x0))) 248.74/165.18 new_primMinusNatS2(Zero, Succ(x0)) 248.74/165.18 new_primModNatS1(Succ(Zero), Zero) 248.74/165.18 new_esEs(Pos(Zero)) 248.74/165.18 new_primEqInt(Neg(Succ(x0))) 248.74/165.18 new_primMinusNatS2(Succ(x0), Zero) 248.74/165.18 new_primEqInt(Neg(Zero)) 248.74/165.18 new_primModNatS01(x0, x1, Zero, Zero) 248.74/165.18 new_primEqInt(Pos(Succ(x0))) 248.74/165.18 new_primMinusNatS2(Succ(x0), Succ(x1)) 248.74/165.18 new_primModNatS1(Succ(Succ(x0)), Zero) 248.74/165.18 new_primModNatS1(Zero, x0) 248.74/165.18 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 248.74/165.18 new_esEs(Neg(Zero)) 248.74/165.18 new_esEs(Pos(Succ(x0))) 248.74/165.18 248.74/165.18 We have to consider all minimal (P,Q,R)-chains. 248.74/165.18 ---------------------------------------- 248.74/165.18 248.74/165.18 (279) TransformationProof (EQUIVALENT) 248.74/165.18 By narrowing [LPAR04] the rule new_gcd0Gcd'1(False, Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Pos(Succ(Succ(x1))), Neg(new_primModNatS01(x0, x1, x0, x1))) at position [1,0] we obtained the following new rules [LPAR04]: 248.74/165.18 248.74/165.18 (new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Neg(new_primModNatS02(Zero, Zero))),new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Neg(new_primModNatS02(Zero, Zero)))) 248.74/165.18 (new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))),new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3)))) 248.74/165.18 (new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Neg(new_primModNatS02(Succ(x2), Zero))),new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Neg(new_primModNatS02(Succ(x2), Zero)))) 248.74/165.18 (new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))),new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))))) 248.74/165.18 248.74/165.18 248.74/165.18 ---------------------------------------- 248.74/165.18 248.74/165.18 (280) 248.74/165.18 Obligation: 248.74/165.18 Q DP problem: 248.74/165.18 The TRS P consists of the following rules: 248.74/165.18 248.74/165.18 new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 248.74/165.18 new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 248.74/165.18 new_gcd0Gcd'1(False, Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x1))), Pos(new_primModNatS01(x0, x1, x0, x1))) 248.74/165.18 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) 248.74/165.18 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) 248.74/165.18 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) 248.74/165.18 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) 248.74/165.18 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) 248.74/165.18 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) 248.74/165.18 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 248.74/165.18 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) 248.74/165.18 new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Neg(new_primModNatS02(Zero, Zero))) 248.74/165.18 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))) 248.74/165.18 new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Neg(new_primModNatS02(Succ(x2), Zero))) 248.74/165.18 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 248.74/165.18 248.74/165.18 The TRS R consists of the following rules: 248.74/165.18 248.74/165.18 new_primModNatS1(Succ(Succ(vyv292000)), Succ(vyv291000)) -> new_primModNatS01(vyv292000, vyv291000, vyv292000, vyv291000) 248.74/165.18 new_primModNatS01(vyv330, vyv331, Zero, Zero) -> new_primModNatS02(vyv330, vyv331) 248.74/165.18 new_primModNatS02(vyv330, vyv331) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv330), Succ(vyv331)), Succ(vyv331)) 248.74/165.18 new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Succ(vyv3330)) -> new_primModNatS01(vyv330, vyv331, vyv3320, vyv3330) 248.74/165.18 new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Zero) -> new_primModNatS02(vyv330, vyv331) 248.74/165.18 new_primModNatS01(vyv330, vyv331, Zero, Succ(vyv3330)) -> Succ(Succ(vyv330)) 248.74/165.18 new_primMinusNatS2(Succ(vyv3100), Succ(vyv3110)) -> new_primMinusNatS2(vyv3100, vyv3110) 248.74/165.18 new_primModNatS1(Succ(Zero), Succ(vyv291000)) -> Succ(Zero) 248.74/165.18 new_primModNatS1(Zero, vyv29100) -> Zero 248.74/165.18 new_primMinusNatS2(Zero, Zero) -> Zero 248.74/165.18 new_primMinusNatS2(Zero, Succ(vyv3110)) -> Zero 248.74/165.18 new_primMinusNatS2(Succ(vyv3100), Zero) -> Succ(vyv3100) 248.74/165.18 new_esEs(Pos(Succ(vyv24100))) -> new_primEqInt(Pos(Succ(vyv24100))) 248.74/165.18 new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) 248.74/165.18 new_primEqInt(Pos(Zero)) -> True 248.74/165.18 new_primEqInt(Pos(Succ(vyv242000))) -> False 248.74/165.18 new_esEs(Neg(Succ(vyv24100))) -> new_primEqInt(Neg(Succ(vyv24100))) 248.74/165.18 new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) 248.74/165.18 new_primEqInt(Neg(Zero)) -> True 248.74/165.18 new_primEqInt(Neg(Succ(vyv242000))) -> False 248.74/165.18 248.74/165.18 The set Q consists of the following terms: 248.74/165.18 248.74/165.18 new_primModNatS1(Succ(Zero), Succ(x0)) 248.74/165.18 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 248.74/165.18 new_primEqInt(Pos(Zero)) 248.74/165.18 new_primModNatS02(x0, x1) 248.74/165.18 new_primModNatS01(x0, x1, Succ(x2), Zero) 248.74/165.18 new_primModNatS01(x0, x1, Zero, Succ(x2)) 248.74/165.18 new_primMinusNatS2(Zero, Zero) 248.74/165.18 new_esEs(Neg(Succ(x0))) 248.74/165.18 new_primMinusNatS2(Zero, Succ(x0)) 248.74/165.18 new_primModNatS1(Succ(Zero), Zero) 248.74/165.18 new_esEs(Pos(Zero)) 248.74/165.18 new_primEqInt(Neg(Succ(x0))) 248.74/165.18 new_primMinusNatS2(Succ(x0), Zero) 248.74/165.18 new_primEqInt(Neg(Zero)) 248.74/165.18 new_primModNatS01(x0, x1, Zero, Zero) 248.74/165.18 new_primEqInt(Pos(Succ(x0))) 248.74/165.18 new_primMinusNatS2(Succ(x0), Succ(x1)) 248.74/165.18 new_primModNatS1(Succ(Succ(x0)), Zero) 248.74/165.18 new_primModNatS1(Zero, x0) 248.74/165.18 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 248.74/165.18 new_esEs(Neg(Zero)) 248.74/165.18 new_esEs(Pos(Succ(x0))) 248.74/165.18 248.74/165.18 We have to consider all minimal (P,Q,R)-chains. 248.74/165.18 ---------------------------------------- 248.74/165.18 248.74/165.18 (281) DependencyGraphProof (EQUIVALENT) 248.74/165.18 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. 248.74/165.18 ---------------------------------------- 248.74/165.18 248.74/165.18 (282) 248.74/165.18 Obligation: 248.74/165.18 Q DP problem: 248.74/165.18 The TRS P consists of the following rules: 248.74/165.18 248.74/165.18 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 248.74/165.18 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) 248.74/165.18 new_gcd0Gcd'1(False, Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x1))), Pos(new_primModNatS01(x0, x1, x0, x1))) 248.74/165.18 new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 248.74/165.18 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) 248.74/165.18 new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Neg(new_primModNatS02(Succ(x2), Zero))) 248.74/165.18 new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 248.74/165.18 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) 248.74/165.18 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))) 248.74/165.18 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) 248.74/165.18 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 248.74/165.18 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) 248.74/165.18 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) 248.74/165.18 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) 248.74/165.18 248.74/165.18 The TRS R consists of the following rules: 248.74/165.18 248.74/165.18 new_primModNatS1(Succ(Succ(vyv292000)), Succ(vyv291000)) -> new_primModNatS01(vyv292000, vyv291000, vyv292000, vyv291000) 248.74/165.18 new_primModNatS01(vyv330, vyv331, Zero, Zero) -> new_primModNatS02(vyv330, vyv331) 248.74/165.18 new_primModNatS02(vyv330, vyv331) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv330), Succ(vyv331)), Succ(vyv331)) 248.74/165.18 new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Succ(vyv3330)) -> new_primModNatS01(vyv330, vyv331, vyv3320, vyv3330) 248.74/165.18 new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Zero) -> new_primModNatS02(vyv330, vyv331) 248.74/165.18 new_primModNatS01(vyv330, vyv331, Zero, Succ(vyv3330)) -> Succ(Succ(vyv330)) 248.74/165.18 new_primMinusNatS2(Succ(vyv3100), Succ(vyv3110)) -> new_primMinusNatS2(vyv3100, vyv3110) 248.74/165.18 new_primModNatS1(Succ(Zero), Succ(vyv291000)) -> Succ(Zero) 248.74/165.18 new_primModNatS1(Zero, vyv29100) -> Zero 248.74/165.18 new_primMinusNatS2(Zero, Zero) -> Zero 248.74/165.18 new_primMinusNatS2(Zero, Succ(vyv3110)) -> Zero 248.74/165.18 new_primMinusNatS2(Succ(vyv3100), Zero) -> Succ(vyv3100) 248.74/165.18 new_esEs(Pos(Succ(vyv24100))) -> new_primEqInt(Pos(Succ(vyv24100))) 248.74/165.18 new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) 248.74/165.18 new_primEqInt(Pos(Zero)) -> True 248.74/165.18 new_primEqInt(Pos(Succ(vyv242000))) -> False 248.74/165.18 new_esEs(Neg(Succ(vyv24100))) -> new_primEqInt(Neg(Succ(vyv24100))) 248.74/165.18 new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) 248.74/165.18 new_primEqInt(Neg(Zero)) -> True 248.74/165.18 new_primEqInt(Neg(Succ(vyv242000))) -> False 248.74/165.18 248.74/165.18 The set Q consists of the following terms: 248.74/165.18 248.74/165.18 new_primModNatS1(Succ(Zero), Succ(x0)) 248.74/165.18 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 248.74/165.18 new_primEqInt(Pos(Zero)) 248.74/165.18 new_primModNatS02(x0, x1) 248.74/165.18 new_primModNatS01(x0, x1, Succ(x2), Zero) 248.74/165.18 new_primModNatS01(x0, x1, Zero, Succ(x2)) 248.74/165.18 new_primMinusNatS2(Zero, Zero) 248.74/165.18 new_esEs(Neg(Succ(x0))) 248.74/165.18 new_primMinusNatS2(Zero, Succ(x0)) 248.74/165.18 new_primModNatS1(Succ(Zero), Zero) 248.74/165.18 new_esEs(Pos(Zero)) 248.74/165.18 new_primEqInt(Neg(Succ(x0))) 248.74/165.18 new_primMinusNatS2(Succ(x0), Zero) 248.74/165.18 new_primEqInt(Neg(Zero)) 248.74/165.18 new_primModNatS01(x0, x1, Zero, Zero) 248.74/165.18 new_primEqInt(Pos(Succ(x0))) 248.74/165.18 new_primMinusNatS2(Succ(x0), Succ(x1)) 248.74/165.18 new_primModNatS1(Succ(Succ(x0)), Zero) 248.74/165.18 new_primModNatS1(Zero, x0) 248.74/165.18 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 248.74/165.18 new_esEs(Neg(Zero)) 248.74/165.18 new_esEs(Pos(Succ(x0))) 248.74/165.18 248.74/165.18 We have to consider all minimal (P,Q,R)-chains. 248.74/165.18 ---------------------------------------- 248.74/165.18 248.74/165.18 (283) TransformationProof (EQUIVALENT) 248.74/165.18 By rewriting [LPAR04] the rule new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Neg(new_primModNatS02(Succ(x2), Zero))) at position [1,0] we obtained the following new rules [LPAR04]: 248.74/165.18 248.74/165.18 (new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Zero)))),new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Zero))))) 248.74/165.18 248.74/165.18 248.74/165.18 ---------------------------------------- 248.74/165.18 248.74/165.18 (284) 248.74/165.18 Obligation: 248.74/165.18 Q DP problem: 248.74/165.18 The TRS P consists of the following rules: 248.74/165.18 248.74/165.18 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 248.74/165.18 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) 248.74/165.18 new_gcd0Gcd'1(False, Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x1))), Pos(new_primModNatS01(x0, x1, x0, x1))) 248.74/165.18 new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 248.74/165.18 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) 248.74/165.18 new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 248.74/165.18 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) 248.74/165.18 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))) 248.74/165.18 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) 248.74/165.18 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 248.74/165.18 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) 248.74/165.18 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) 248.74/165.18 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) 248.74/165.18 new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Zero)))) 248.74/165.18 248.74/165.18 The TRS R consists of the following rules: 248.74/165.18 248.74/165.18 new_primModNatS1(Succ(Succ(vyv292000)), Succ(vyv291000)) -> new_primModNatS01(vyv292000, vyv291000, vyv292000, vyv291000) 248.74/165.18 new_primModNatS01(vyv330, vyv331, Zero, Zero) -> new_primModNatS02(vyv330, vyv331) 248.74/165.18 new_primModNatS02(vyv330, vyv331) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv330), Succ(vyv331)), Succ(vyv331)) 248.74/165.18 new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Succ(vyv3330)) -> new_primModNatS01(vyv330, vyv331, vyv3320, vyv3330) 248.74/165.18 new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Zero) -> new_primModNatS02(vyv330, vyv331) 248.74/165.18 new_primModNatS01(vyv330, vyv331, Zero, Succ(vyv3330)) -> Succ(Succ(vyv330)) 248.74/165.18 new_primMinusNatS2(Succ(vyv3100), Succ(vyv3110)) -> new_primMinusNatS2(vyv3100, vyv3110) 248.74/165.18 new_primModNatS1(Succ(Zero), Succ(vyv291000)) -> Succ(Zero) 248.74/165.18 new_primModNatS1(Zero, vyv29100) -> Zero 248.74/165.18 new_primMinusNatS2(Zero, Zero) -> Zero 248.74/165.18 new_primMinusNatS2(Zero, Succ(vyv3110)) -> Zero 248.74/165.18 new_primMinusNatS2(Succ(vyv3100), Zero) -> Succ(vyv3100) 248.74/165.18 new_esEs(Pos(Succ(vyv24100))) -> new_primEqInt(Pos(Succ(vyv24100))) 248.74/165.18 new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) 248.74/165.18 new_primEqInt(Pos(Zero)) -> True 248.74/165.18 new_primEqInt(Pos(Succ(vyv242000))) -> False 248.74/165.18 new_esEs(Neg(Succ(vyv24100))) -> new_primEqInt(Neg(Succ(vyv24100))) 248.74/165.18 new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) 248.74/165.18 new_primEqInt(Neg(Zero)) -> True 248.74/165.18 new_primEqInt(Neg(Succ(vyv242000))) -> False 248.74/165.18 248.74/165.18 The set Q consists of the following terms: 248.74/165.18 248.74/165.18 new_primModNatS1(Succ(Zero), Succ(x0)) 248.74/165.18 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 248.74/165.18 new_primEqInt(Pos(Zero)) 248.74/165.18 new_primModNatS02(x0, x1) 248.74/165.18 new_primModNatS01(x0, x1, Succ(x2), Zero) 248.74/165.18 new_primModNatS01(x0, x1, Zero, Succ(x2)) 248.74/165.18 new_primMinusNatS2(Zero, Zero) 248.74/165.18 new_esEs(Neg(Succ(x0))) 248.74/165.18 new_primMinusNatS2(Zero, Succ(x0)) 248.74/165.18 new_primModNatS1(Succ(Zero), Zero) 248.74/165.18 new_esEs(Pos(Zero)) 248.74/165.18 new_primEqInt(Neg(Succ(x0))) 248.74/165.18 new_primMinusNatS2(Succ(x0), Zero) 248.74/165.18 new_primEqInt(Neg(Zero)) 248.74/165.18 new_primModNatS01(x0, x1, Zero, Zero) 248.74/165.18 new_primEqInt(Pos(Succ(x0))) 248.74/165.18 new_primMinusNatS2(Succ(x0), Succ(x1)) 248.74/165.18 new_primModNatS1(Succ(Succ(x0)), Zero) 248.74/165.18 new_primModNatS1(Zero, x0) 248.74/165.18 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 248.74/165.18 new_esEs(Neg(Zero)) 248.74/165.18 new_esEs(Pos(Succ(x0))) 248.74/165.18 248.74/165.18 We have to consider all minimal (P,Q,R)-chains. 248.74/165.18 ---------------------------------------- 248.74/165.18 248.74/165.18 (285) TransformationProof (EQUIVALENT) 248.74/165.18 By rewriting [LPAR04] the rule new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Zero)))) at position [1,0,0] we obtained the following new rules [LPAR04]: 248.74/165.18 248.74/165.18 (new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Zero)))),new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Zero))))) 248.74/165.18 248.74/165.18 248.74/165.18 ---------------------------------------- 248.74/165.18 248.74/165.18 (286) 248.74/165.18 Obligation: 248.74/165.18 Q DP problem: 248.74/165.18 The TRS P consists of the following rules: 248.74/165.18 248.74/165.18 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 248.74/165.18 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) 248.74/165.18 new_gcd0Gcd'1(False, Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x1))), Pos(new_primModNatS01(x0, x1, x0, x1))) 248.74/165.18 new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 248.74/165.18 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) 248.74/165.18 new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 248.74/165.18 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) 248.74/165.18 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))) 248.74/165.18 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) 248.74/165.18 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 248.74/165.18 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) 248.74/165.18 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) 248.74/165.18 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) 248.74/165.18 new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Zero)))) 248.74/165.18 248.74/165.18 The TRS R consists of the following rules: 248.74/165.18 248.74/165.18 new_primModNatS1(Succ(Succ(vyv292000)), Succ(vyv291000)) -> new_primModNatS01(vyv292000, vyv291000, vyv292000, vyv291000) 248.74/165.18 new_primModNatS01(vyv330, vyv331, Zero, Zero) -> new_primModNatS02(vyv330, vyv331) 248.74/165.18 new_primModNatS02(vyv330, vyv331) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv330), Succ(vyv331)), Succ(vyv331)) 248.74/165.18 new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Succ(vyv3330)) -> new_primModNatS01(vyv330, vyv331, vyv3320, vyv3330) 248.74/165.18 new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Zero) -> new_primModNatS02(vyv330, vyv331) 248.74/165.18 new_primModNatS01(vyv330, vyv331, Zero, Succ(vyv3330)) -> Succ(Succ(vyv330)) 248.74/165.18 new_primMinusNatS2(Succ(vyv3100), Succ(vyv3110)) -> new_primMinusNatS2(vyv3100, vyv3110) 248.74/165.18 new_primModNatS1(Succ(Zero), Succ(vyv291000)) -> Succ(Zero) 248.74/165.18 new_primModNatS1(Zero, vyv29100) -> Zero 248.74/165.18 new_primMinusNatS2(Zero, Zero) -> Zero 248.74/165.18 new_primMinusNatS2(Zero, Succ(vyv3110)) -> Zero 248.74/165.18 new_primMinusNatS2(Succ(vyv3100), Zero) -> Succ(vyv3100) 248.74/165.18 new_esEs(Pos(Succ(vyv24100))) -> new_primEqInt(Pos(Succ(vyv24100))) 248.74/165.18 new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) 248.74/165.18 new_primEqInt(Pos(Zero)) -> True 248.74/165.18 new_primEqInt(Pos(Succ(vyv242000))) -> False 248.74/165.18 new_esEs(Neg(Succ(vyv24100))) -> new_primEqInt(Neg(Succ(vyv24100))) 248.74/165.18 new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) 248.74/165.18 new_primEqInt(Neg(Zero)) -> True 248.74/165.18 new_primEqInt(Neg(Succ(vyv242000))) -> False 248.74/165.18 248.74/165.18 The set Q consists of the following terms: 248.74/165.18 248.74/165.18 new_primModNatS1(Succ(Zero), Succ(x0)) 248.74/165.18 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 248.74/165.18 new_primEqInt(Pos(Zero)) 248.74/165.18 new_primModNatS02(x0, x1) 248.74/165.18 new_primModNatS01(x0, x1, Succ(x2), Zero) 248.74/165.18 new_primModNatS01(x0, x1, Zero, Succ(x2)) 248.74/165.18 new_primMinusNatS2(Zero, Zero) 248.74/165.18 new_esEs(Neg(Succ(x0))) 248.74/165.18 new_primMinusNatS2(Zero, Succ(x0)) 248.74/165.18 new_primModNatS1(Succ(Zero), Zero) 248.74/165.18 new_esEs(Pos(Zero)) 248.74/165.18 new_primEqInt(Neg(Succ(x0))) 248.74/165.18 new_primMinusNatS2(Succ(x0), Zero) 248.74/165.18 new_primEqInt(Neg(Zero)) 248.74/165.18 new_primModNatS01(x0, x1, Zero, Zero) 248.74/165.18 new_primEqInt(Pos(Succ(x0))) 248.74/165.18 new_primMinusNatS2(Succ(x0), Succ(x1)) 248.74/165.18 new_primModNatS1(Succ(Succ(x0)), Zero) 248.74/165.18 new_primModNatS1(Zero, x0) 248.74/165.18 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 248.74/165.18 new_esEs(Neg(Zero)) 248.74/165.18 new_esEs(Pos(Succ(x0))) 248.74/165.18 248.74/165.18 We have to consider all minimal (P,Q,R)-chains. 248.74/165.18 ---------------------------------------- 248.74/165.18 248.74/165.18 (287) TransformationProof (EQUIVALENT) 248.74/165.18 By rewriting [LPAR04] the rule new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Zero)))) at position [1,0,0] we obtained the following new rules [LPAR04]: 248.74/165.18 248.74/165.18 (new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))),new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero))))) 248.74/165.18 248.74/165.18 248.74/165.18 ---------------------------------------- 248.74/165.18 248.74/165.18 (288) 248.74/165.18 Obligation: 248.74/165.18 Q DP problem: 248.74/165.18 The TRS P consists of the following rules: 248.74/165.18 248.74/165.18 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 248.74/165.18 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) 248.74/165.18 new_gcd0Gcd'1(False, Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x1))), Pos(new_primModNatS01(x0, x1, x0, x1))) 248.74/165.18 new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 248.74/165.18 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) 248.74/165.18 new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 248.74/165.18 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) 248.74/165.18 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))) 248.74/165.18 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) 248.74/165.18 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 248.74/165.18 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) 248.74/165.18 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) 248.74/165.18 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) 248.74/165.18 new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 248.74/165.18 248.74/165.18 The TRS R consists of the following rules: 248.74/165.18 248.74/165.18 new_primModNatS1(Succ(Succ(vyv292000)), Succ(vyv291000)) -> new_primModNatS01(vyv292000, vyv291000, vyv292000, vyv291000) 248.74/165.18 new_primModNatS01(vyv330, vyv331, Zero, Zero) -> new_primModNatS02(vyv330, vyv331) 248.74/165.18 new_primModNatS02(vyv330, vyv331) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv330), Succ(vyv331)), Succ(vyv331)) 248.74/165.18 new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Succ(vyv3330)) -> new_primModNatS01(vyv330, vyv331, vyv3320, vyv3330) 248.74/165.18 new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Zero) -> new_primModNatS02(vyv330, vyv331) 248.74/165.18 new_primModNatS01(vyv330, vyv331, Zero, Succ(vyv3330)) -> Succ(Succ(vyv330)) 248.74/165.18 new_primMinusNatS2(Succ(vyv3100), Succ(vyv3110)) -> new_primMinusNatS2(vyv3100, vyv3110) 248.74/165.18 new_primModNatS1(Succ(Zero), Succ(vyv291000)) -> Succ(Zero) 248.74/165.18 new_primModNatS1(Zero, vyv29100) -> Zero 248.74/165.18 new_primMinusNatS2(Zero, Zero) -> Zero 248.74/165.18 new_primMinusNatS2(Zero, Succ(vyv3110)) -> Zero 248.74/165.18 new_primMinusNatS2(Succ(vyv3100), Zero) -> Succ(vyv3100) 248.74/165.18 new_esEs(Pos(Succ(vyv24100))) -> new_primEqInt(Pos(Succ(vyv24100))) 248.74/165.18 new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) 248.74/165.18 new_primEqInt(Pos(Zero)) -> True 248.74/165.18 new_primEqInt(Pos(Succ(vyv242000))) -> False 248.74/165.18 new_esEs(Neg(Succ(vyv24100))) -> new_primEqInt(Neg(Succ(vyv24100))) 248.74/165.18 new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) 248.74/165.18 new_primEqInt(Neg(Zero)) -> True 248.74/165.18 new_primEqInt(Neg(Succ(vyv242000))) -> False 248.74/165.18 248.74/165.18 The set Q consists of the following terms: 248.74/165.18 248.74/165.18 new_primModNatS1(Succ(Zero), Succ(x0)) 248.74/165.18 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 248.74/165.18 new_primEqInt(Pos(Zero)) 248.74/165.18 new_primModNatS02(x0, x1) 248.74/165.18 new_primModNatS01(x0, x1, Succ(x2), Zero) 248.74/165.18 new_primModNatS01(x0, x1, Zero, Succ(x2)) 248.74/165.18 new_primMinusNatS2(Zero, Zero) 248.74/165.18 new_esEs(Neg(Succ(x0))) 248.74/165.18 new_primMinusNatS2(Zero, Succ(x0)) 248.74/165.18 new_primModNatS1(Succ(Zero), Zero) 248.74/165.18 new_esEs(Pos(Zero)) 248.74/165.18 new_primEqInt(Neg(Succ(x0))) 248.74/165.18 new_primMinusNatS2(Succ(x0), Zero) 248.74/165.18 new_primEqInt(Neg(Zero)) 248.74/165.18 new_primModNatS01(x0, x1, Zero, Zero) 248.74/165.18 new_primEqInt(Pos(Succ(x0))) 248.74/165.18 new_primMinusNatS2(Succ(x0), Succ(x1)) 248.74/165.18 new_primModNatS1(Succ(Succ(x0)), Zero) 248.74/165.18 new_primModNatS1(Zero, x0) 248.74/165.18 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 248.74/165.18 new_esEs(Neg(Zero)) 248.74/165.18 new_esEs(Pos(Succ(x0))) 248.74/165.18 248.74/165.18 We have to consider all minimal (P,Q,R)-chains. 248.74/165.18 ---------------------------------------- 248.74/165.18 248.74/165.18 (289) TransformationProof (EQUIVALENT) 248.74/165.18 By narrowing [LPAR04] the rule new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) at position [0] we obtained the following new rules [LPAR04]: 248.74/165.18 248.74/165.18 (new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(x0, Zero, x0, Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))),new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(x0, Zero, x0, Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0))))))) 248.74/165.18 (new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Pos(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))),new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Pos(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero)))))) 248.74/165.18 248.74/165.18 248.74/165.18 ---------------------------------------- 248.74/165.18 248.74/165.18 (290) 248.74/165.18 Obligation: 248.74/165.18 Q DP problem: 248.74/165.18 The TRS P consists of the following rules: 248.74/165.18 248.74/165.18 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 248.74/165.18 new_gcd0Gcd'1(False, Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x1))), Pos(new_primModNatS01(x0, x1, x0, x1))) 248.74/165.18 new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 248.74/165.18 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) 248.74/165.18 new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 248.74/165.18 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) 248.74/165.18 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))) 248.74/165.18 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) 248.74/165.18 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 248.74/165.18 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) 248.74/165.18 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) 248.74/165.18 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) 248.74/165.18 new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 248.74/165.18 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(x0, Zero, x0, Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) 248.74/165.18 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Pos(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))) 248.74/165.18 248.74/165.18 The TRS R consists of the following rules: 248.74/165.18 248.74/165.18 new_primModNatS1(Succ(Succ(vyv292000)), Succ(vyv291000)) -> new_primModNatS01(vyv292000, vyv291000, vyv292000, vyv291000) 248.74/165.18 new_primModNatS01(vyv330, vyv331, Zero, Zero) -> new_primModNatS02(vyv330, vyv331) 248.74/165.18 new_primModNatS02(vyv330, vyv331) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv330), Succ(vyv331)), Succ(vyv331)) 248.74/165.18 new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Succ(vyv3330)) -> new_primModNatS01(vyv330, vyv331, vyv3320, vyv3330) 248.74/165.18 new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Zero) -> new_primModNatS02(vyv330, vyv331) 248.74/165.18 new_primModNatS01(vyv330, vyv331, Zero, Succ(vyv3330)) -> Succ(Succ(vyv330)) 248.74/165.18 new_primMinusNatS2(Succ(vyv3100), Succ(vyv3110)) -> new_primMinusNatS2(vyv3100, vyv3110) 248.74/165.18 new_primModNatS1(Succ(Zero), Succ(vyv291000)) -> Succ(Zero) 248.74/165.18 new_primModNatS1(Zero, vyv29100) -> Zero 248.74/165.18 new_primMinusNatS2(Zero, Zero) -> Zero 248.74/165.18 new_primMinusNatS2(Zero, Succ(vyv3110)) -> Zero 248.74/165.18 new_primMinusNatS2(Succ(vyv3100), Zero) -> Succ(vyv3100) 248.74/165.18 new_esEs(Pos(Succ(vyv24100))) -> new_primEqInt(Pos(Succ(vyv24100))) 248.74/165.18 new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) 248.74/165.18 new_primEqInt(Pos(Zero)) -> True 248.74/165.18 new_primEqInt(Pos(Succ(vyv242000))) -> False 248.74/165.18 new_esEs(Neg(Succ(vyv24100))) -> new_primEqInt(Neg(Succ(vyv24100))) 248.74/165.18 new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) 248.74/165.18 new_primEqInt(Neg(Zero)) -> True 248.74/165.18 new_primEqInt(Neg(Succ(vyv242000))) -> False 248.74/165.18 248.74/165.18 The set Q consists of the following terms: 248.74/165.18 248.74/165.18 new_primModNatS1(Succ(Zero), Succ(x0)) 248.74/165.18 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 248.74/165.18 new_primEqInt(Pos(Zero)) 248.74/165.18 new_primModNatS02(x0, x1) 248.74/165.18 new_primModNatS01(x0, x1, Succ(x2), Zero) 248.74/165.18 new_primModNatS01(x0, x1, Zero, Succ(x2)) 248.74/165.18 new_primMinusNatS2(Zero, Zero) 248.74/165.18 new_esEs(Neg(Succ(x0))) 248.74/165.18 new_primMinusNatS2(Zero, Succ(x0)) 248.74/165.18 new_primModNatS1(Succ(Zero), Zero) 248.74/165.18 new_esEs(Pos(Zero)) 248.74/165.18 new_primEqInt(Neg(Succ(x0))) 248.74/165.18 new_primMinusNatS2(Succ(x0), Zero) 248.74/165.18 new_primEqInt(Neg(Zero)) 248.74/165.18 new_primModNatS01(x0, x1, Zero, Zero) 248.74/165.18 new_primEqInt(Pos(Succ(x0))) 248.74/165.18 new_primMinusNatS2(Succ(x0), Succ(x1)) 248.74/165.18 new_primModNatS1(Succ(Succ(x0)), Zero) 248.74/165.18 new_primModNatS1(Zero, x0) 248.74/165.18 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 248.74/165.18 new_esEs(Neg(Zero)) 248.74/165.18 new_esEs(Pos(Succ(x0))) 248.74/165.18 248.74/165.18 We have to consider all minimal (P,Q,R)-chains. 248.74/165.18 ---------------------------------------- 248.74/165.18 248.74/165.18 (291) TransformationProof (EQUIVALENT) 248.74/165.18 By rewriting [LPAR04] the rule new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Pos(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))) at position [0] we obtained the following new rules [LPAR04]: 248.74/165.18 248.74/165.18 (new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_primEqInt(Pos(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))),new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_primEqInt(Pos(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero)))))) 248.74/165.18 248.74/165.18 248.74/165.18 ---------------------------------------- 248.74/165.18 248.74/165.18 (292) 248.74/165.18 Obligation: 248.74/165.18 Q DP problem: 248.74/165.18 The TRS P consists of the following rules: 248.74/165.18 248.74/165.18 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 248.74/165.18 new_gcd0Gcd'1(False, Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x1))), Pos(new_primModNatS01(x0, x1, x0, x1))) 248.74/165.18 new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 248.74/165.18 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) 248.74/165.18 new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 248.74/165.18 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) 248.74/165.18 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))) 248.74/165.18 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) 248.74/165.18 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 248.74/165.18 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) 248.74/165.18 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) 248.74/165.18 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) 248.74/165.18 new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 248.74/165.18 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(x0, Zero, x0, Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) 248.74/165.18 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_primEqInt(Pos(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))) 248.74/165.18 248.74/165.18 The TRS R consists of the following rules: 248.74/165.18 248.74/165.18 new_primModNatS1(Succ(Succ(vyv292000)), Succ(vyv291000)) -> new_primModNatS01(vyv292000, vyv291000, vyv292000, vyv291000) 248.74/165.18 new_primModNatS01(vyv330, vyv331, Zero, Zero) -> new_primModNatS02(vyv330, vyv331) 248.74/165.18 new_primModNatS02(vyv330, vyv331) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv330), Succ(vyv331)), Succ(vyv331)) 248.74/165.18 new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Succ(vyv3330)) -> new_primModNatS01(vyv330, vyv331, vyv3320, vyv3330) 248.74/165.18 new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Zero) -> new_primModNatS02(vyv330, vyv331) 248.74/165.18 new_primModNatS01(vyv330, vyv331, Zero, Succ(vyv3330)) -> Succ(Succ(vyv330)) 248.74/165.18 new_primMinusNatS2(Succ(vyv3100), Succ(vyv3110)) -> new_primMinusNatS2(vyv3100, vyv3110) 248.74/165.18 new_primModNatS1(Succ(Zero), Succ(vyv291000)) -> Succ(Zero) 248.74/165.18 new_primModNatS1(Zero, vyv29100) -> Zero 248.74/165.18 new_primMinusNatS2(Zero, Zero) -> Zero 248.74/165.18 new_primMinusNatS2(Zero, Succ(vyv3110)) -> Zero 248.74/165.18 new_primMinusNatS2(Succ(vyv3100), Zero) -> Succ(vyv3100) 248.74/165.18 new_esEs(Pos(Succ(vyv24100))) -> new_primEqInt(Pos(Succ(vyv24100))) 248.74/165.18 new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) 248.74/165.18 new_primEqInt(Pos(Zero)) -> True 248.74/165.18 new_primEqInt(Pos(Succ(vyv242000))) -> False 248.74/165.18 new_esEs(Neg(Succ(vyv24100))) -> new_primEqInt(Neg(Succ(vyv24100))) 248.74/165.18 new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) 248.74/165.18 new_primEqInt(Neg(Zero)) -> True 248.74/165.18 new_primEqInt(Neg(Succ(vyv242000))) -> False 248.74/165.18 248.74/165.18 The set Q consists of the following terms: 248.74/165.18 248.74/165.18 new_primModNatS1(Succ(Zero), Succ(x0)) 248.74/165.18 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 248.74/165.18 new_primEqInt(Pos(Zero)) 248.74/165.18 new_primModNatS02(x0, x1) 248.74/165.18 new_primModNatS01(x0, x1, Succ(x2), Zero) 248.74/165.18 new_primModNatS01(x0, x1, Zero, Succ(x2)) 248.74/165.18 new_primMinusNatS2(Zero, Zero) 248.74/165.18 new_esEs(Neg(Succ(x0))) 248.74/165.18 new_primMinusNatS2(Zero, Succ(x0)) 248.74/165.18 new_primModNatS1(Succ(Zero), Zero) 248.74/165.18 new_esEs(Pos(Zero)) 248.74/165.18 new_primEqInt(Neg(Succ(x0))) 248.74/165.18 new_primMinusNatS2(Succ(x0), Zero) 248.74/165.18 new_primEqInt(Neg(Zero)) 248.74/165.18 new_primModNatS01(x0, x1, Zero, Zero) 248.74/165.18 new_primEqInt(Pos(Succ(x0))) 248.74/165.18 new_primMinusNatS2(Succ(x0), Succ(x1)) 248.74/165.18 new_primModNatS1(Succ(Succ(x0)), Zero) 248.74/165.18 new_primModNatS1(Zero, x0) 248.74/165.18 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 248.74/165.18 new_esEs(Neg(Zero)) 248.74/165.18 new_esEs(Pos(Succ(x0))) 248.74/165.18 248.74/165.18 We have to consider all minimal (P,Q,R)-chains. 248.74/165.18 ---------------------------------------- 248.74/165.18 248.74/165.18 (293) TransformationProof (EQUIVALENT) 248.74/165.18 By rewriting [LPAR04] the rule new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_primEqInt(Pos(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))) at position [0] we obtained the following new rules [LPAR04]: 248.74/165.18 248.74/165.18 (new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))),new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero)))))) 248.74/165.18 248.74/165.18 248.74/165.18 ---------------------------------------- 248.74/165.18 248.74/165.18 (294) 248.74/165.18 Obligation: 248.74/165.18 Q DP problem: 248.74/165.18 The TRS P consists of the following rules: 248.74/165.18 248.74/165.18 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 248.74/165.18 new_gcd0Gcd'1(False, Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x1))), Pos(new_primModNatS01(x0, x1, x0, x1))) 248.74/165.18 new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 248.74/165.18 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) 248.74/165.18 new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 248.74/165.18 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) 248.74/165.18 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))) 248.74/165.18 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) 248.74/165.18 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 248.74/165.18 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) 248.74/165.18 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) 248.74/165.18 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) 248.74/165.18 new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 248.74/165.18 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(x0, Zero, x0, Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) 248.74/165.18 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))) 248.74/165.18 248.74/165.18 The TRS R consists of the following rules: 248.74/165.18 248.74/165.18 new_primModNatS1(Succ(Succ(vyv292000)), Succ(vyv291000)) -> new_primModNatS01(vyv292000, vyv291000, vyv292000, vyv291000) 248.74/165.18 new_primModNatS01(vyv330, vyv331, Zero, Zero) -> new_primModNatS02(vyv330, vyv331) 248.74/165.18 new_primModNatS02(vyv330, vyv331) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv330), Succ(vyv331)), Succ(vyv331)) 248.74/165.18 new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Succ(vyv3330)) -> new_primModNatS01(vyv330, vyv331, vyv3320, vyv3330) 248.74/165.18 new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Zero) -> new_primModNatS02(vyv330, vyv331) 248.74/165.18 new_primModNatS01(vyv330, vyv331, Zero, Succ(vyv3330)) -> Succ(Succ(vyv330)) 248.74/165.18 new_primMinusNatS2(Succ(vyv3100), Succ(vyv3110)) -> new_primMinusNatS2(vyv3100, vyv3110) 248.74/165.18 new_primModNatS1(Succ(Zero), Succ(vyv291000)) -> Succ(Zero) 248.74/165.18 new_primModNatS1(Zero, vyv29100) -> Zero 248.74/165.18 new_primMinusNatS2(Zero, Zero) -> Zero 248.74/165.18 new_primMinusNatS2(Zero, Succ(vyv3110)) -> Zero 248.74/165.18 new_primMinusNatS2(Succ(vyv3100), Zero) -> Succ(vyv3100) 248.74/165.18 new_esEs(Pos(Succ(vyv24100))) -> new_primEqInt(Pos(Succ(vyv24100))) 248.74/165.18 new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) 248.74/165.18 new_primEqInt(Pos(Zero)) -> True 248.74/165.18 new_primEqInt(Pos(Succ(vyv242000))) -> False 248.74/165.18 new_esEs(Neg(Succ(vyv24100))) -> new_primEqInt(Neg(Succ(vyv24100))) 248.74/165.18 new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) 248.74/165.18 new_primEqInt(Neg(Zero)) -> True 248.74/165.18 new_primEqInt(Neg(Succ(vyv242000))) -> False 248.74/165.18 248.74/165.18 The set Q consists of the following terms: 248.74/165.18 248.74/165.18 new_primModNatS1(Succ(Zero), Succ(x0)) 248.74/165.18 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 248.74/165.18 new_primEqInt(Pos(Zero)) 248.74/165.18 new_primModNatS02(x0, x1) 248.74/165.18 new_primModNatS01(x0, x1, Succ(x2), Zero) 248.74/165.18 new_primModNatS01(x0, x1, Zero, Succ(x2)) 248.74/165.18 new_primMinusNatS2(Zero, Zero) 248.74/165.18 new_esEs(Neg(Succ(x0))) 248.74/165.18 new_primMinusNatS2(Zero, Succ(x0)) 248.74/165.18 new_primModNatS1(Succ(Zero), Zero) 248.74/165.18 new_esEs(Pos(Zero)) 248.74/165.18 new_primEqInt(Neg(Succ(x0))) 248.74/165.18 new_primMinusNatS2(Succ(x0), Zero) 248.74/165.18 new_primEqInt(Neg(Zero)) 248.74/165.18 new_primModNatS01(x0, x1, Zero, Zero) 248.74/165.18 new_primEqInt(Pos(Succ(x0))) 248.74/165.18 new_primMinusNatS2(Succ(x0), Succ(x1)) 248.74/165.18 new_primModNatS1(Succ(Succ(x0)), Zero) 248.74/165.18 new_primModNatS1(Zero, x0) 248.74/165.18 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 248.74/165.18 new_esEs(Neg(Zero)) 248.74/165.18 new_esEs(Pos(Succ(x0))) 248.74/165.18 248.74/165.18 We have to consider all minimal (P,Q,R)-chains. 248.74/165.18 ---------------------------------------- 248.74/165.18 248.74/165.18 (295) TransformationProof (EQUIVALENT) 248.74/165.18 By narrowing [LPAR04] the rule new_gcd0Gcd'1(False, Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x1))), Pos(new_primModNatS01(x0, x1, x0, x1))) at position [1,0] we obtained the following new rules [LPAR04]: 248.74/165.18 248.74/165.18 (new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(Zero, Zero))),new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(Zero, Zero)))) 248.74/165.18 (new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x3)))), Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))),new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x3)))), Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3)))) 248.74/165.18 (new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(Succ(x2), Zero))),new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(Succ(x2), Zero)))) 248.74/165.18 (new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))),new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))))) 248.74/165.18 248.74/165.18 248.74/165.18 ---------------------------------------- 248.74/165.18 248.74/165.18 (296) 248.74/165.18 Obligation: 248.74/165.18 Q DP problem: 248.74/165.18 The TRS P consists of the following rules: 248.74/165.18 248.74/165.18 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 248.74/165.18 new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 248.74/165.18 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) 248.74/165.18 new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 248.74/165.18 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) 248.74/165.18 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))) 248.74/165.18 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) 248.74/165.18 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 248.74/165.18 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) 248.74/165.18 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) 248.74/165.18 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) 248.74/165.18 new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 248.74/165.18 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(x0, Zero, x0, Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) 248.74/165.18 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))) 248.74/165.18 new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(Zero, Zero))) 248.74/165.18 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x3)))), Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))) 248.74/165.18 new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(Succ(x2), Zero))) 248.74/165.18 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 248.74/165.18 248.74/165.18 The TRS R consists of the following rules: 248.74/165.18 248.74/165.18 new_primModNatS1(Succ(Succ(vyv292000)), Succ(vyv291000)) -> new_primModNatS01(vyv292000, vyv291000, vyv292000, vyv291000) 248.74/165.18 new_primModNatS01(vyv330, vyv331, Zero, Zero) -> new_primModNatS02(vyv330, vyv331) 248.74/165.18 new_primModNatS02(vyv330, vyv331) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv330), Succ(vyv331)), Succ(vyv331)) 248.74/165.18 new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Succ(vyv3330)) -> new_primModNatS01(vyv330, vyv331, vyv3320, vyv3330) 248.74/165.18 new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Zero) -> new_primModNatS02(vyv330, vyv331) 248.74/165.18 new_primModNatS01(vyv330, vyv331, Zero, Succ(vyv3330)) -> Succ(Succ(vyv330)) 248.74/165.18 new_primMinusNatS2(Succ(vyv3100), Succ(vyv3110)) -> new_primMinusNatS2(vyv3100, vyv3110) 248.74/165.18 new_primModNatS1(Succ(Zero), Succ(vyv291000)) -> Succ(Zero) 248.74/165.18 new_primModNatS1(Zero, vyv29100) -> Zero 248.74/165.18 new_primMinusNatS2(Zero, Zero) -> Zero 248.74/165.18 new_primMinusNatS2(Zero, Succ(vyv3110)) -> Zero 248.74/165.18 new_primMinusNatS2(Succ(vyv3100), Zero) -> Succ(vyv3100) 248.74/165.18 new_esEs(Pos(Succ(vyv24100))) -> new_primEqInt(Pos(Succ(vyv24100))) 248.74/165.18 new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) 248.74/165.18 new_primEqInt(Pos(Zero)) -> True 248.74/165.18 new_primEqInt(Pos(Succ(vyv242000))) -> False 248.74/165.18 new_esEs(Neg(Succ(vyv24100))) -> new_primEqInt(Neg(Succ(vyv24100))) 248.74/165.18 new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) 248.74/165.18 new_primEqInt(Neg(Zero)) -> True 248.74/165.18 new_primEqInt(Neg(Succ(vyv242000))) -> False 248.74/165.18 248.74/165.18 The set Q consists of the following terms: 248.74/165.18 248.74/165.18 new_primModNatS1(Succ(Zero), Succ(x0)) 248.74/165.18 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 248.74/165.18 new_primEqInt(Pos(Zero)) 248.74/165.18 new_primModNatS02(x0, x1) 248.74/165.18 new_primModNatS01(x0, x1, Succ(x2), Zero) 248.74/165.18 new_primModNatS01(x0, x1, Zero, Succ(x2)) 248.74/165.18 new_primMinusNatS2(Zero, Zero) 248.74/165.18 new_esEs(Neg(Succ(x0))) 248.74/165.18 new_primMinusNatS2(Zero, Succ(x0)) 248.74/165.18 new_primModNatS1(Succ(Zero), Zero) 248.74/165.18 new_esEs(Pos(Zero)) 248.74/165.18 new_primEqInt(Neg(Succ(x0))) 248.74/165.18 new_primMinusNatS2(Succ(x0), Zero) 248.74/165.18 new_primEqInt(Neg(Zero)) 248.74/165.18 new_primModNatS01(x0, x1, Zero, Zero) 248.74/165.18 new_primEqInt(Pos(Succ(x0))) 248.74/165.18 new_primMinusNatS2(Succ(x0), Succ(x1)) 248.74/165.18 new_primModNatS1(Succ(Succ(x0)), Zero) 248.74/165.18 new_primModNatS1(Zero, x0) 248.74/165.18 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 248.74/165.18 new_esEs(Neg(Zero)) 248.74/165.18 new_esEs(Pos(Succ(x0))) 248.74/165.18 248.74/165.18 We have to consider all minimal (P,Q,R)-chains. 248.74/165.18 ---------------------------------------- 248.74/165.18 248.74/165.18 (297) DependencyGraphProof (EQUIVALENT) 248.74/165.18 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 3 SCCs with 1 less node. 248.74/165.18 ---------------------------------------- 248.74/165.18 248.74/165.18 (298) 248.74/165.18 Complex Obligation (AND) 248.74/165.18 248.74/165.18 ---------------------------------------- 248.74/165.18 248.74/165.18 (299) 248.74/165.18 Obligation: 248.74/165.18 Q DP problem: 248.74/165.18 The TRS P consists of the following rules: 248.74/165.18 248.74/165.18 new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 248.74/165.18 new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 248.74/165.18 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 248.74/165.18 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) 248.74/165.18 248.74/165.18 The TRS R consists of the following rules: 248.74/165.18 248.74/165.18 new_primModNatS1(Succ(Succ(vyv292000)), Succ(vyv291000)) -> new_primModNatS01(vyv292000, vyv291000, vyv292000, vyv291000) 248.74/165.18 new_primModNatS01(vyv330, vyv331, Zero, Zero) -> new_primModNatS02(vyv330, vyv331) 248.74/165.18 new_primModNatS02(vyv330, vyv331) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv330), Succ(vyv331)), Succ(vyv331)) 248.74/165.18 new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Succ(vyv3330)) -> new_primModNatS01(vyv330, vyv331, vyv3320, vyv3330) 248.74/165.18 new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Zero) -> new_primModNatS02(vyv330, vyv331) 248.74/165.18 new_primModNatS01(vyv330, vyv331, Zero, Succ(vyv3330)) -> Succ(Succ(vyv330)) 248.74/165.18 new_primMinusNatS2(Succ(vyv3100), Succ(vyv3110)) -> new_primMinusNatS2(vyv3100, vyv3110) 248.74/165.18 new_primModNatS1(Succ(Zero), Succ(vyv291000)) -> Succ(Zero) 248.74/165.18 new_primModNatS1(Zero, vyv29100) -> Zero 248.74/165.18 new_primMinusNatS2(Zero, Zero) -> Zero 248.74/165.18 new_primMinusNatS2(Zero, Succ(vyv3110)) -> Zero 248.74/165.18 new_primMinusNatS2(Succ(vyv3100), Zero) -> Succ(vyv3100) 248.74/165.18 new_esEs(Pos(Succ(vyv24100))) -> new_primEqInt(Pos(Succ(vyv24100))) 248.74/165.18 new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) 248.74/165.18 new_primEqInt(Pos(Zero)) -> True 248.74/165.18 new_primEqInt(Pos(Succ(vyv242000))) -> False 248.74/165.18 new_esEs(Neg(Succ(vyv24100))) -> new_primEqInt(Neg(Succ(vyv24100))) 248.74/165.18 new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) 248.74/165.18 new_primEqInt(Neg(Zero)) -> True 248.74/165.18 new_primEqInt(Neg(Succ(vyv242000))) -> False 248.74/165.18 248.74/165.18 The set Q consists of the following terms: 248.74/165.18 248.74/165.18 new_primModNatS1(Succ(Zero), Succ(x0)) 248.74/165.18 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 248.74/165.18 new_primEqInt(Pos(Zero)) 248.74/165.18 new_primModNatS02(x0, x1) 248.74/165.18 new_primModNatS01(x0, x1, Succ(x2), Zero) 248.74/165.18 new_primModNatS01(x0, x1, Zero, Succ(x2)) 248.74/165.18 new_primMinusNatS2(Zero, Zero) 248.74/165.18 new_esEs(Neg(Succ(x0))) 248.74/165.18 new_primMinusNatS2(Zero, Succ(x0)) 248.74/165.18 new_primModNatS1(Succ(Zero), Zero) 248.74/165.18 new_esEs(Pos(Zero)) 248.74/165.18 new_primEqInt(Neg(Succ(x0))) 248.74/165.18 new_primMinusNatS2(Succ(x0), Zero) 248.74/165.18 new_primEqInt(Neg(Zero)) 248.74/165.18 new_primModNatS01(x0, x1, Zero, Zero) 248.74/165.18 new_primEqInt(Pos(Succ(x0))) 248.74/165.18 new_primMinusNatS2(Succ(x0), Succ(x1)) 248.74/165.18 new_primModNatS1(Succ(Succ(x0)), Zero) 248.74/165.18 new_primModNatS1(Zero, x0) 248.74/165.18 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 248.74/165.18 new_esEs(Neg(Zero)) 248.74/165.18 new_esEs(Pos(Succ(x0))) 248.74/165.18 248.74/165.18 We have to consider all minimal (P,Q,R)-chains. 248.74/165.18 ---------------------------------------- 248.74/165.18 248.74/165.18 (300) UsableRulesProof (EQUIVALENT) 248.74/165.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. 248.74/165.18 ---------------------------------------- 248.74/165.18 248.74/165.18 (301) 248.74/165.18 Obligation: 248.74/165.18 Q DP problem: 248.74/165.18 The TRS P consists of the following rules: 248.74/165.18 248.74/165.18 new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 248.74/165.18 new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 248.74/165.18 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 248.74/165.18 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) 248.74/165.18 248.74/165.18 The TRS R consists of the following rules: 248.74/165.18 248.74/165.18 new_primModNatS01(vyv330, vyv331, Zero, Zero) -> new_primModNatS02(vyv330, vyv331) 248.74/165.18 new_primModNatS02(vyv330, vyv331) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv330), Succ(vyv331)), Succ(vyv331)) 248.74/165.18 new_primModNatS1(Succ(Succ(vyv292000)), Succ(vyv291000)) -> new_primModNatS01(vyv292000, vyv291000, vyv292000, vyv291000) 248.74/165.18 new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Succ(vyv3330)) -> new_primModNatS01(vyv330, vyv331, vyv3320, vyv3330) 248.74/165.18 new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Zero) -> new_primModNatS02(vyv330, vyv331) 248.74/165.18 new_primModNatS1(Succ(Zero), Succ(vyv291000)) -> Succ(Zero) 248.74/165.18 new_esEs(Neg(Succ(vyv24100))) -> new_primEqInt(Neg(Succ(vyv24100))) 248.74/165.18 new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) 248.74/165.18 new_primEqInt(Neg(Zero)) -> True 248.74/165.18 new_primEqInt(Neg(Succ(vyv242000))) -> False 248.74/165.18 new_primMinusNatS2(Succ(vyv3100), Succ(vyv3110)) -> new_primMinusNatS2(vyv3100, vyv3110) 248.74/165.18 new_primModNatS1(Zero, vyv29100) -> Zero 248.74/165.18 new_primModNatS01(vyv330, vyv331, Zero, Succ(vyv3330)) -> Succ(Succ(vyv330)) 248.74/165.18 new_primMinusNatS2(Zero, Zero) -> Zero 248.74/165.18 new_primMinusNatS2(Zero, Succ(vyv3110)) -> Zero 248.74/165.18 new_primMinusNatS2(Succ(vyv3100), Zero) -> Succ(vyv3100) 248.74/165.18 248.74/165.18 The set Q consists of the following terms: 248.74/165.18 248.74/165.18 new_primModNatS1(Succ(Zero), Succ(x0)) 248.74/165.18 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 248.74/165.18 new_primEqInt(Pos(Zero)) 248.74/165.18 new_primModNatS02(x0, x1) 248.74/165.18 new_primModNatS01(x0, x1, Succ(x2), Zero) 248.74/165.18 new_primModNatS01(x0, x1, Zero, Succ(x2)) 248.74/165.18 new_primMinusNatS2(Zero, Zero) 248.74/165.18 new_esEs(Neg(Succ(x0))) 248.74/165.18 new_primMinusNatS2(Zero, Succ(x0)) 248.74/165.18 new_primModNatS1(Succ(Zero), Zero) 248.74/165.18 new_esEs(Pos(Zero)) 248.74/165.18 new_primEqInt(Neg(Succ(x0))) 248.74/165.18 new_primMinusNatS2(Succ(x0), Zero) 248.74/165.18 new_primEqInt(Neg(Zero)) 248.74/165.18 new_primModNatS01(x0, x1, Zero, Zero) 248.74/165.18 new_primEqInt(Pos(Succ(x0))) 248.74/165.18 new_primMinusNatS2(Succ(x0), Succ(x1)) 248.74/165.18 new_primModNatS1(Succ(Succ(x0)), Zero) 248.74/165.18 new_primModNatS1(Zero, x0) 248.74/165.18 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 248.74/165.18 new_esEs(Neg(Zero)) 248.74/165.18 new_esEs(Pos(Succ(x0))) 248.74/165.18 248.74/165.18 We have to consider all minimal (P,Q,R)-chains. 248.74/165.18 ---------------------------------------- 248.74/165.18 248.74/165.18 (302) TransformationProof (EQUIVALENT) 248.74/165.18 By narrowing [LPAR04] the rule new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) at position [1,0] we obtained the following new rules [LPAR04]: 248.74/165.18 248.74/165.18 (new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Neg(new_primModNatS01(x0, Zero, x0, Zero))),new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Neg(new_primModNatS01(x0, Zero, x0, Zero)))) 248.74/165.18 (new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Neg(Succ(Zero))),new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Neg(Succ(Zero)))) 248.74/165.18 248.74/165.18 248.74/165.18 ---------------------------------------- 248.74/165.18 248.74/165.18 (303) 248.74/165.18 Obligation: 248.74/165.18 Q DP problem: 248.74/165.18 The TRS P consists of the following rules: 248.74/165.18 248.74/165.18 new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 248.74/165.18 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 248.74/165.18 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) 248.74/165.18 new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Neg(new_primModNatS01(x0, Zero, x0, Zero))) 248.74/165.18 new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Neg(Succ(Zero))) 248.74/165.18 248.74/165.18 The TRS R consists of the following rules: 248.74/165.18 248.74/165.18 new_primModNatS01(vyv330, vyv331, Zero, Zero) -> new_primModNatS02(vyv330, vyv331) 248.74/165.18 new_primModNatS02(vyv330, vyv331) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv330), Succ(vyv331)), Succ(vyv331)) 248.74/165.18 new_primModNatS1(Succ(Succ(vyv292000)), Succ(vyv291000)) -> new_primModNatS01(vyv292000, vyv291000, vyv292000, vyv291000) 248.74/165.18 new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Succ(vyv3330)) -> new_primModNatS01(vyv330, vyv331, vyv3320, vyv3330) 248.74/165.18 new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Zero) -> new_primModNatS02(vyv330, vyv331) 248.74/165.18 new_primModNatS1(Succ(Zero), Succ(vyv291000)) -> Succ(Zero) 248.74/165.18 new_esEs(Neg(Succ(vyv24100))) -> new_primEqInt(Neg(Succ(vyv24100))) 248.74/165.18 new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) 248.74/165.18 new_primEqInt(Neg(Zero)) -> True 248.74/165.18 new_primEqInt(Neg(Succ(vyv242000))) -> False 248.74/165.18 new_primMinusNatS2(Succ(vyv3100), Succ(vyv3110)) -> new_primMinusNatS2(vyv3100, vyv3110) 248.74/165.18 new_primModNatS1(Zero, vyv29100) -> Zero 248.74/165.18 new_primModNatS01(vyv330, vyv331, Zero, Succ(vyv3330)) -> Succ(Succ(vyv330)) 248.74/165.18 new_primMinusNatS2(Zero, Zero) -> Zero 248.74/165.18 new_primMinusNatS2(Zero, Succ(vyv3110)) -> Zero 248.74/165.18 new_primMinusNatS2(Succ(vyv3100), Zero) -> Succ(vyv3100) 248.74/165.18 248.74/165.18 The set Q consists of the following terms: 248.74/165.18 248.74/165.18 new_primModNatS1(Succ(Zero), Succ(x0)) 248.74/165.18 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 248.74/165.18 new_primEqInt(Pos(Zero)) 248.74/165.18 new_primModNatS02(x0, x1) 248.74/165.18 new_primModNatS01(x0, x1, Succ(x2), Zero) 248.74/165.18 new_primModNatS01(x0, x1, Zero, Succ(x2)) 248.74/165.18 new_primMinusNatS2(Zero, Zero) 248.74/165.18 new_esEs(Neg(Succ(x0))) 248.74/165.18 new_primMinusNatS2(Zero, Succ(x0)) 248.74/165.18 new_primModNatS1(Succ(Zero), Zero) 248.74/165.18 new_esEs(Pos(Zero)) 248.74/165.18 new_primEqInt(Neg(Succ(x0))) 248.74/165.18 new_primMinusNatS2(Succ(x0), Zero) 248.74/165.18 new_primEqInt(Neg(Zero)) 248.74/165.18 new_primModNatS01(x0, x1, Zero, Zero) 248.74/165.18 new_primEqInt(Pos(Succ(x0))) 248.74/165.18 new_primMinusNatS2(Succ(x0), Succ(x1)) 248.74/165.18 new_primModNatS1(Succ(Succ(x0)), Zero) 248.74/165.18 new_primModNatS1(Zero, x0) 248.74/165.18 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 248.74/165.18 new_esEs(Neg(Zero)) 248.74/165.18 new_esEs(Pos(Succ(x0))) 248.74/165.18 248.74/165.18 We have to consider all minimal (P,Q,R)-chains. 248.74/165.18 ---------------------------------------- 248.74/165.18 248.74/165.18 (304) DependencyGraphProof (EQUIVALENT) 248.74/165.18 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. 248.74/165.18 ---------------------------------------- 248.74/165.18 248.74/165.18 (305) 248.74/165.18 Obligation: 248.74/165.18 Q DP problem: 248.74/165.18 The TRS P consists of the following rules: 248.74/165.18 248.74/165.18 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 248.74/165.18 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) 248.74/165.18 new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Neg(new_primModNatS01(x0, Zero, x0, Zero))) 248.74/165.18 new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 248.74/165.18 248.74/165.18 The TRS R consists of the following rules: 248.74/165.18 248.74/165.18 new_primModNatS01(vyv330, vyv331, Zero, Zero) -> new_primModNatS02(vyv330, vyv331) 248.74/165.18 new_primModNatS02(vyv330, vyv331) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv330), Succ(vyv331)), Succ(vyv331)) 248.74/165.18 new_primModNatS1(Succ(Succ(vyv292000)), Succ(vyv291000)) -> new_primModNatS01(vyv292000, vyv291000, vyv292000, vyv291000) 248.74/165.18 new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Succ(vyv3330)) -> new_primModNatS01(vyv330, vyv331, vyv3320, vyv3330) 248.74/165.18 new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Zero) -> new_primModNatS02(vyv330, vyv331) 248.74/165.18 new_primModNatS1(Succ(Zero), Succ(vyv291000)) -> Succ(Zero) 248.74/165.18 new_esEs(Neg(Succ(vyv24100))) -> new_primEqInt(Neg(Succ(vyv24100))) 248.74/165.18 new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) 248.74/165.18 new_primEqInt(Neg(Zero)) -> True 248.74/165.18 new_primEqInt(Neg(Succ(vyv242000))) -> False 248.74/165.18 new_primMinusNatS2(Succ(vyv3100), Succ(vyv3110)) -> new_primMinusNatS2(vyv3100, vyv3110) 248.74/165.18 new_primModNatS1(Zero, vyv29100) -> Zero 248.74/165.18 new_primModNatS01(vyv330, vyv331, Zero, Succ(vyv3330)) -> Succ(Succ(vyv330)) 248.74/165.18 new_primMinusNatS2(Zero, Zero) -> Zero 248.74/165.18 new_primMinusNatS2(Zero, Succ(vyv3110)) -> Zero 248.74/165.18 new_primMinusNatS2(Succ(vyv3100), Zero) -> Succ(vyv3100) 248.74/165.18 248.74/165.18 The set Q consists of the following terms: 248.74/165.18 248.74/165.18 new_primModNatS1(Succ(Zero), Succ(x0)) 248.74/165.18 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 248.74/165.18 new_primEqInt(Pos(Zero)) 248.74/165.18 new_primModNatS02(x0, x1) 248.74/165.18 new_primModNatS01(x0, x1, Succ(x2), Zero) 248.74/165.18 new_primModNatS01(x0, x1, Zero, Succ(x2)) 248.74/165.18 new_primMinusNatS2(Zero, Zero) 248.74/165.18 new_esEs(Neg(Succ(x0))) 248.74/165.18 new_primMinusNatS2(Zero, Succ(x0)) 248.74/165.18 new_primModNatS1(Succ(Zero), Zero) 248.74/165.18 new_esEs(Pos(Zero)) 248.74/165.18 new_primEqInt(Neg(Succ(x0))) 248.74/165.18 new_primMinusNatS2(Succ(x0), Zero) 248.74/165.18 new_primEqInt(Neg(Zero)) 248.74/165.18 new_primModNatS01(x0, x1, Zero, Zero) 248.74/165.18 new_primEqInt(Pos(Succ(x0))) 248.74/165.18 new_primMinusNatS2(Succ(x0), Succ(x1)) 248.74/165.18 new_primModNatS1(Succ(Succ(x0)), Zero) 248.74/165.18 new_primModNatS1(Zero, x0) 248.74/165.18 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 248.74/165.18 new_esEs(Neg(Zero)) 248.74/165.18 new_esEs(Pos(Succ(x0))) 248.74/165.18 248.74/165.18 We have to consider all minimal (P,Q,R)-chains. 248.74/165.18 ---------------------------------------- 248.74/165.18 248.74/165.18 (306) TransformationProof (EQUIVALENT) 248.74/165.18 By narrowing [LPAR04] the rule new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) at position [0] we obtained the following new rules [LPAR04]: 248.74/165.18 248.74/165.18 (new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(x0, Zero, x0, Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0)))))),new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(x0, Zero, x0, Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0))))))) 248.74/165.18 (new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Neg(Succ(Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero))))),new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Neg(Succ(Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero)))))) 248.74/165.18 248.74/165.18 248.74/165.18 ---------------------------------------- 248.74/165.18 248.74/165.18 (307) 248.74/165.18 Obligation: 248.74/165.18 Q DP problem: 248.74/165.18 The TRS P consists of the following rules: 248.74/165.18 248.74/165.18 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 248.74/165.18 new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Neg(new_primModNatS01(x0, Zero, x0, Zero))) 248.74/165.18 new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 248.74/165.18 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(x0, Zero, x0, Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0)))))) 248.74/165.18 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Neg(Succ(Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero))))) 248.74/165.18 248.74/165.18 The TRS R consists of the following rules: 248.74/165.18 248.74/165.18 new_primModNatS01(vyv330, vyv331, Zero, Zero) -> new_primModNatS02(vyv330, vyv331) 248.74/165.18 new_primModNatS02(vyv330, vyv331) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv330), Succ(vyv331)), Succ(vyv331)) 248.74/165.18 new_primModNatS1(Succ(Succ(vyv292000)), Succ(vyv291000)) -> new_primModNatS01(vyv292000, vyv291000, vyv292000, vyv291000) 248.74/165.18 new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Succ(vyv3330)) -> new_primModNatS01(vyv330, vyv331, vyv3320, vyv3330) 248.74/165.18 new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Zero) -> new_primModNatS02(vyv330, vyv331) 248.74/165.18 new_primModNatS1(Succ(Zero), Succ(vyv291000)) -> Succ(Zero) 248.74/165.18 new_esEs(Neg(Succ(vyv24100))) -> new_primEqInt(Neg(Succ(vyv24100))) 248.74/165.18 new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) 248.74/165.18 new_primEqInt(Neg(Zero)) -> True 248.74/165.18 new_primEqInt(Neg(Succ(vyv242000))) -> False 248.74/165.18 new_primMinusNatS2(Succ(vyv3100), Succ(vyv3110)) -> new_primMinusNatS2(vyv3100, vyv3110) 248.74/165.18 new_primModNatS1(Zero, vyv29100) -> Zero 248.74/165.18 new_primModNatS01(vyv330, vyv331, Zero, Succ(vyv3330)) -> Succ(Succ(vyv330)) 248.74/165.18 new_primMinusNatS2(Zero, Zero) -> Zero 248.74/165.18 new_primMinusNatS2(Zero, Succ(vyv3110)) -> Zero 248.74/165.18 new_primMinusNatS2(Succ(vyv3100), Zero) -> Succ(vyv3100) 248.74/165.18 248.74/165.18 The set Q consists of the following terms: 248.74/165.18 248.74/165.18 new_primModNatS1(Succ(Zero), Succ(x0)) 248.74/165.18 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 248.74/165.18 new_primEqInt(Pos(Zero)) 248.74/165.18 new_primModNatS02(x0, x1) 248.74/165.18 new_primModNatS01(x0, x1, Succ(x2), Zero) 248.74/165.18 new_primModNatS01(x0, x1, Zero, Succ(x2)) 248.74/165.18 new_primMinusNatS2(Zero, Zero) 248.74/165.18 new_esEs(Neg(Succ(x0))) 248.74/165.18 new_primMinusNatS2(Zero, Succ(x0)) 248.74/165.18 new_primModNatS1(Succ(Zero), Zero) 248.74/165.18 new_esEs(Pos(Zero)) 248.74/165.18 new_primEqInt(Neg(Succ(x0))) 248.74/165.18 new_primMinusNatS2(Succ(x0), Zero) 248.74/165.18 new_primEqInt(Neg(Zero)) 248.74/165.18 new_primModNatS01(x0, x1, Zero, Zero) 248.74/165.18 new_primEqInt(Pos(Succ(x0))) 248.74/165.18 new_primMinusNatS2(Succ(x0), Succ(x1)) 248.74/165.18 new_primModNatS1(Succ(Succ(x0)), Zero) 248.74/165.18 new_primModNatS1(Zero, x0) 248.74/165.18 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 248.74/165.18 new_esEs(Neg(Zero)) 248.74/165.18 new_esEs(Pos(Succ(x0))) 248.74/165.18 248.74/165.18 We have to consider all minimal (P,Q,R)-chains. 248.74/165.18 ---------------------------------------- 248.74/165.18 248.74/165.18 (308) DependencyGraphProof (EQUIVALENT) 248.74/165.18 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. 248.74/165.18 ---------------------------------------- 248.74/165.18 248.74/165.18 (309) 248.74/165.18 Obligation: 248.74/165.18 Q DP problem: 248.74/165.18 The TRS P consists of the following rules: 248.74/165.18 248.74/165.18 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(x0, Zero, x0, Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0)))))) 248.74/165.18 new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Neg(new_primModNatS01(x0, Zero, x0, Zero))) 248.74/165.18 new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 248.74/165.18 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 248.74/165.18 248.74/165.18 The TRS R consists of the following rules: 248.74/165.18 248.74/165.18 new_primModNatS01(vyv330, vyv331, Zero, Zero) -> new_primModNatS02(vyv330, vyv331) 248.74/165.18 new_primModNatS02(vyv330, vyv331) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv330), Succ(vyv331)), Succ(vyv331)) 248.74/165.18 new_primModNatS1(Succ(Succ(vyv292000)), Succ(vyv291000)) -> new_primModNatS01(vyv292000, vyv291000, vyv292000, vyv291000) 248.74/165.18 new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Succ(vyv3330)) -> new_primModNatS01(vyv330, vyv331, vyv3320, vyv3330) 248.74/165.18 new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Zero) -> new_primModNatS02(vyv330, vyv331) 248.74/165.18 new_primModNatS1(Succ(Zero), Succ(vyv291000)) -> Succ(Zero) 248.74/165.18 new_esEs(Neg(Succ(vyv24100))) -> new_primEqInt(Neg(Succ(vyv24100))) 248.74/165.18 new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) 248.74/165.18 new_primEqInt(Neg(Zero)) -> True 248.74/165.18 new_primEqInt(Neg(Succ(vyv242000))) -> False 248.74/165.18 new_primMinusNatS2(Succ(vyv3100), Succ(vyv3110)) -> new_primMinusNatS2(vyv3100, vyv3110) 248.74/165.18 new_primModNatS1(Zero, vyv29100) -> Zero 248.74/165.18 new_primModNatS01(vyv330, vyv331, Zero, Succ(vyv3330)) -> Succ(Succ(vyv330)) 248.74/165.18 new_primMinusNatS2(Zero, Zero) -> Zero 248.74/165.18 new_primMinusNatS2(Zero, Succ(vyv3110)) -> Zero 248.74/165.19 new_primMinusNatS2(Succ(vyv3100), Zero) -> Succ(vyv3100) 248.74/165.19 248.74/165.19 The set Q consists of the following terms: 248.74/165.19 248.74/165.19 new_primModNatS1(Succ(Zero), Succ(x0)) 248.74/165.19 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 248.74/165.19 new_primEqInt(Pos(Zero)) 248.74/165.19 new_primModNatS02(x0, x1) 248.74/165.19 new_primModNatS01(x0, x1, Succ(x2), Zero) 248.74/165.19 new_primModNatS01(x0, x1, Zero, Succ(x2)) 248.74/165.19 new_primMinusNatS2(Zero, Zero) 248.74/165.19 new_esEs(Neg(Succ(x0))) 248.74/165.19 new_primMinusNatS2(Zero, Succ(x0)) 248.74/165.19 new_primModNatS1(Succ(Zero), Zero) 248.74/165.19 new_esEs(Pos(Zero)) 248.74/165.19 new_primEqInt(Neg(Succ(x0))) 248.74/165.19 new_primMinusNatS2(Succ(x0), Zero) 248.74/165.19 new_primEqInt(Neg(Zero)) 248.74/165.19 new_primModNatS01(x0, x1, Zero, Zero) 248.74/165.19 new_primEqInt(Pos(Succ(x0))) 248.74/165.19 new_primMinusNatS2(Succ(x0), Succ(x1)) 248.74/165.19 new_primModNatS1(Succ(Succ(x0)), Zero) 248.74/165.19 new_primModNatS1(Zero, x0) 248.74/165.19 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 248.74/165.19 new_esEs(Neg(Zero)) 248.74/165.19 new_esEs(Pos(Succ(x0))) 248.74/165.19 248.74/165.19 We have to consider all minimal (P,Q,R)-chains. 248.74/165.19 ---------------------------------------- 248.74/165.19 248.74/165.19 (310) InductionCalculusProof (EQUIVALENT) 248.74/165.19 Note that final constraints are written in bold face. 248.74/165.19 248.74/165.19 248.74/165.19 248.74/165.19 For Pair new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(x0, Zero, x0, Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0)))))) the following chains were created: 248.74/165.19 *We consider the chain new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x1))))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(x1, Zero, x1, Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x1)))))), new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Neg(new_primModNatS01(x2, Zero, x2, Zero))) which results in the following constraint: 248.74/165.19 248.74/165.19 (1) (new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(x1, Zero, x1, Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x1))))))=new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x2)))))) ==> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x1))))), Pos(Succ(Succ(Zero))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(x1, Zero, x1, Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x1))))))) 248.74/165.19 248.74/165.19 248.74/165.19 248.74/165.19 We simplified constraint (1) using rules (I), (II), (IV), (VII) which results in the following new constraint: 248.74/165.19 248.74/165.19 (2) (Neg(new_primModNatS01(x1, Zero, x1, Zero))=x20 & new_esEs(x20)=False ==> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x1))))), Pos(Succ(Succ(Zero))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(x1, Zero, x1, Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x1))))))) 248.74/165.19 248.74/165.19 248.74/165.19 248.74/165.19 We simplified constraint (2) using rule (V) (with possible (I) afterwards) using induction on new_esEs(x20)=False which results in the following new constraints: 248.74/165.19 248.74/165.19 (3) (new_primEqInt(Neg(Succ(x21)))=False & Neg(new_primModNatS01(x1, Zero, x1, Zero))=Neg(Succ(x21)) ==> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x1))))), Pos(Succ(Succ(Zero))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(x1, Zero, x1, Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x1))))))) 248.74/165.19 248.74/165.19 (4) (new_primEqInt(Neg(Zero))=False & Neg(new_primModNatS01(x1, Zero, x1, Zero))=Neg(Zero) ==> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x1))))), Pos(Succ(Succ(Zero))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(x1, Zero, x1, Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x1))))))) 248.74/165.19 248.74/165.19 248.74/165.19 248.74/165.19 We simplified constraint (3) using rules (I), (II), (VII) which results in the following new constraint: 248.74/165.19 248.74/165.19 (5) (Neg(Succ(x21))=x22 & new_primEqInt(x22)=False & Zero=x23 & x1=x24 & Zero=x25 & new_primModNatS01(x1, x23, x24, x25)=Succ(x21) ==> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x1))))), Pos(Succ(Succ(Zero))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(x1, Zero, x1, Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x1))))))) 248.74/165.19 248.74/165.19 248.74/165.19 248.74/165.19 We simplified constraint (4) using rules (I), (II), (VII) which results in the following new constraint: 248.74/165.19 248.74/165.19 (6) (Neg(Zero)=x54 & new_primEqInt(x54)=False & Zero=x55 & x1=x56 & Zero=x57 & new_primModNatS01(x1, x55, x56, x57)=Zero ==> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x1))))), Pos(Succ(Succ(Zero))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(x1, Zero, x1, Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x1))))))) 248.74/165.19 248.74/165.19 248.74/165.19 248.74/165.19 We simplified constraint (5) using rule (V) (with possible (I) afterwards) using induction on new_primEqInt(x22)=False which results in the following new constraint: 248.74/165.19 248.74/165.19 (7) (False=False & Neg(Succ(x21))=Neg(Succ(x26)) & Zero=x23 & x1=x24 & Zero=x25 & new_primModNatS01(x1, x23, x24, x25)=Succ(x21) ==> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x1))))), Pos(Succ(Succ(Zero))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(x1, Zero, x1, Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x1))))))) 248.74/165.19 248.74/165.19 248.74/165.19 248.74/165.19 We simplified constraint (7) using rules (I), (II), (IV) which results in the following new constraint: 248.74/165.19 248.74/165.19 (8) (Zero=x23 & x1=x24 & Zero=x25 & new_primModNatS01(x1, x23, x24, x25)=Succ(x21) ==> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x1))))), Pos(Succ(Succ(Zero))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(x1, Zero, x1, Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x1))))))) 248.74/165.19 248.74/165.19 248.74/165.19 248.74/165.19 We simplified constraint (8) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS01(x1, x23, x24, x25)=Succ(x21) which results in the following new constraints: 248.74/165.19 248.74/165.19 (9) (new_primModNatS02(x28, x27)=Succ(x21) & Zero=x27 & x28=Zero & Zero=Zero ==> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x28))))), Pos(Succ(Succ(Zero))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(x28, Zero, x28, Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x28))))))) 248.74/165.19 248.74/165.19 (10) (new_primModNatS01(x32, x31, x30, x29)=Succ(x21) & Zero=x31 & x32=Succ(x30) & Zero=Succ(x29) & (\/x33:new_primModNatS01(x32, x31, x30, x29)=Succ(x33) & Zero=x31 & x32=x30 & Zero=x29 ==> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x32))))), Pos(Succ(Succ(Zero))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(x32, Zero, x32, Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x32))))))) ==> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x32))))), Pos(Succ(Succ(Zero))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(x32, Zero, x32, Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x32))))))) 248.74/165.19 248.74/165.19 (11) (new_primModNatS02(x36, x35)=Succ(x21) & Zero=x35 & x36=Succ(x34) & Zero=Zero ==> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x36))))), Pos(Succ(Succ(Zero))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(x36, Zero, x36, Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x36))))))) 248.74/165.19 248.74/165.19 (12) (Succ(Succ(x39))=Succ(x21) & Zero=x38 & x39=Zero & Zero=Succ(x37) ==> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x39))))), Pos(Succ(Succ(Zero))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(x39, Zero, x39, Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x39))))))) 248.74/165.19 248.74/165.19 248.74/165.19 248.74/165.19 We simplified constraint (9) using rules (I), (II), (III), (VII) which results in the following new constraint: 248.74/165.19 248.74/165.19 (13) (Zero=x40 & new_primModNatS02(x40, x27)=Succ(x21) & Zero=x27 ==> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Zero))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Zero, Zero, Zero, Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(Zero))))))) 248.74/165.19 248.74/165.19 248.74/165.19 248.74/165.19 We solved constraint (10) using rules (I), (II).We simplified constraint (11) using rules (I), (II), (III), (VII) which results in the following new constraint: 248.74/165.19 248.74/165.19 (14) (Succ(x34)=x47 & new_primModNatS02(x47, x35)=Succ(x21) & Zero=x35 ==> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Succ(x34)))))), Pos(Succ(Succ(Zero))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(x34), Zero, Succ(x34), Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(Succ(x34)))))))) 248.74/165.19 248.74/165.19 248.74/165.19 248.74/165.19 We solved constraint (12) using rules (I), (II).We simplified constraint (13) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS02(x40, x27)=Succ(x21) which results in the following new constraint: 248.74/165.19 248.74/165.19 (15) (new_primModNatS1(new_primMinusNatS2(Succ(x42), Succ(x41)), Succ(x41))=Succ(x21) & Zero=x42 & Zero=x41 ==> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Zero))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Zero, Zero, Zero, Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(Zero))))))) 248.74/165.19 248.74/165.19 248.74/165.19 248.74/165.19 We simplified constraint (15) using rules (III), (IV), (VII) which results in the following new constraint: 248.74/165.19 248.74/165.19 (16) (new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Zero))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Zero, Zero, Zero, Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(Zero))))))) 248.74/165.19 248.74/165.19 248.74/165.19 248.74/165.19 We simplified constraint (14) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS02(x47, x35)=Succ(x21) which results in the following new constraint: 248.74/165.19 248.74/165.19 (17) (new_primModNatS1(new_primMinusNatS2(Succ(x49), Succ(x48)), Succ(x48))=Succ(x21) & Succ(x34)=x49 & Zero=x48 ==> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Succ(x34)))))), Pos(Succ(Succ(Zero))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(x34), Zero, Succ(x34), Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(Succ(x34)))))))) 248.74/165.19 248.74/165.19 248.74/165.19 248.74/165.19 We simplified constraint (17) using rules (III), (IV), (VII) which results in the following new constraint: 248.74/165.19 248.74/165.19 (18) (new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Succ(x34)))))), Pos(Succ(Succ(Zero))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(x34), Zero, Succ(x34), Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(Succ(x34)))))))) 248.74/165.19 248.74/165.19 248.74/165.19 248.74/165.19 We simplified constraint (6) using rule (V) (with possible (I) afterwards) using induction on new_primEqInt(x54)=False which results in the following new constraint: 248.74/165.19 248.74/165.19 (19) (False=False & Neg(Zero)=Neg(Succ(x58)) & Zero=x55 & x1=x56 & Zero=x57 & new_primModNatS01(x1, x55, x56, x57)=Zero ==> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x1))))), Pos(Succ(Succ(Zero))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(x1, Zero, x1, Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x1))))))) 248.74/165.19 248.74/165.19 248.74/165.19 248.74/165.19 We solved constraint (19) using rules (I), (II). 248.74/165.19 248.74/165.19 248.74/165.19 248.74/165.19 248.74/165.19 For Pair new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Neg(new_primModNatS01(x0, Zero, x0, Zero))) the following chains were created: 248.74/165.19 *We consider the chain new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x7)))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Neg(new_primModNatS01(x7, Zero, x7, Zero))), new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x8))))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x8)))), Pos(Succ(Succ(Zero)))) which results in the following constraint: 248.74/165.19 248.74/165.19 (1) (new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Neg(new_primModNatS01(x7, Zero, x7, Zero)))=new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x8))))) ==> new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x7))))))_>=_new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Neg(new_primModNatS01(x7, Zero, x7, Zero)))) 248.74/165.19 248.74/165.19 248.74/165.19 248.74/165.19 We simplified constraint (1) using rules (I), (II), (VII) which results in the following new constraint: 248.74/165.19 248.74/165.19 (2) (Zero=x59 & x7=x60 & Zero=x61 & new_primModNatS01(x7, x59, x60, x61)=Succ(Succ(Succ(x8))) ==> new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x7))))))_>=_new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Neg(new_primModNatS01(x7, Zero, x7, Zero)))) 248.74/165.19 248.74/165.19 248.74/165.19 248.74/165.19 We simplified constraint (2) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS01(x7, x59, x60, x61)=Succ(Succ(Succ(x8))) which results in the following new constraints: 248.74/165.19 248.74/165.19 (3) (new_primModNatS02(x63, x62)=Succ(Succ(Succ(x8))) & Zero=x62 & x63=Zero & Zero=Zero ==> new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x63))))))_>=_new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Neg(new_primModNatS01(x63, Zero, x63, Zero)))) 248.74/165.19 248.74/165.19 (4) (new_primModNatS01(x67, x66, x65, x64)=Succ(Succ(Succ(x8))) & Zero=x66 & x67=Succ(x65) & Zero=Succ(x64) & (\/x68:new_primModNatS01(x67, x66, x65, x64)=Succ(Succ(Succ(x68))) & Zero=x66 & x67=x65 & Zero=x64 ==> new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x67))))))_>=_new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Neg(new_primModNatS01(x67, Zero, x67, Zero)))) ==> new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x67))))))_>=_new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Neg(new_primModNatS01(x67, Zero, x67, Zero)))) 248.74/165.19 248.74/165.19 (5) (new_primModNatS02(x71, x70)=Succ(Succ(Succ(x8))) & Zero=x70 & x71=Succ(x69) & Zero=Zero ==> new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x71))))))_>=_new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Neg(new_primModNatS01(x71, Zero, x71, Zero)))) 248.74/165.19 248.74/165.19 (6) (Succ(Succ(x74))=Succ(Succ(Succ(x8))) & Zero=x73 & x74=Zero & Zero=Succ(x72) ==> new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x74))))))_>=_new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Neg(new_primModNatS01(x74, Zero, x74, Zero)))) 248.74/165.19 248.74/165.19 248.74/165.19 248.74/165.19 We simplified constraint (3) using rules (I), (II), (III), (VII) which results in the following new constraint: 248.74/165.19 248.74/165.19 (7) (Zero=x75 & new_primModNatS02(x75, x62)=Succ(Succ(Succ(x8))) & Zero=x62 ==> new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Neg(new_primModNatS01(Zero, Zero, Zero, Zero)))) 248.74/165.19 248.74/165.19 248.74/165.19 248.74/165.19 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: 248.74/165.19 248.74/165.19 (8) (Succ(x69)=x82 & new_primModNatS02(x82, x70)=Succ(Succ(Succ(x8))) & Zero=x70 ==> new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(Succ(x69)))))))_>=_new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Neg(new_primModNatS01(Succ(x69), Zero, Succ(x69), Zero)))) 248.74/165.19 248.74/165.19 248.74/165.19 248.74/165.19 We solved constraint (6) using rules (I), (II).We simplified constraint (7) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS02(x75, x62)=Succ(Succ(Succ(x8))) which results in the following new constraint: 248.74/165.19 248.74/165.19 (9) (new_primModNatS1(new_primMinusNatS2(Succ(x77), Succ(x76)), Succ(x76))=Succ(Succ(Succ(x8))) & Zero=x77 & Zero=x76 ==> new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Neg(new_primModNatS01(Zero, Zero, Zero, Zero)))) 248.74/165.19 248.74/165.19 248.74/165.19 248.74/165.19 We simplified constraint (9) using rules (III), (IV), (VII) which results in the following new constraint: 248.74/165.19 248.74/165.19 (10) (new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Neg(new_primModNatS01(Zero, Zero, Zero, Zero)))) 248.74/165.19 248.74/165.19 248.74/165.19 248.74/165.19 We simplified constraint (8) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS02(x82, x70)=Succ(Succ(Succ(x8))) which results in the following new constraint: 248.74/165.19 248.74/165.19 (11) (new_primModNatS1(new_primMinusNatS2(Succ(x84), Succ(x83)), Succ(x83))=Succ(Succ(Succ(x8))) & Succ(x69)=x84 & Zero=x83 ==> new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(Succ(x69)))))))_>=_new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Neg(new_primModNatS01(Succ(x69), Zero, Succ(x69), Zero)))) 248.74/165.19 248.74/165.19 248.74/165.19 248.74/165.19 We simplified constraint (11) using rules (III), (IV), (VII) which results in the following new constraint: 248.74/165.19 248.74/165.19 (12) (new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(Succ(x69)))))))_>=_new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Neg(new_primModNatS01(Succ(x69), Zero, Succ(x69), Zero)))) 248.74/165.19 248.74/165.19 248.74/165.19 248.74/165.19 248.74/165.19 248.74/165.19 248.74/165.19 248.74/165.19 248.74/165.19 For Pair new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) the following chains were created: 248.74/165.19 *We consider the chain new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x13))))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x13)))), Pos(Succ(Succ(Zero)))), new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x14)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x14)))), Pos(Succ(Succ(Zero)))) which results in the following constraint: 248.74/165.19 248.74/165.19 (1) (new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x13)))), Pos(Succ(Succ(Zero))))=new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x14)))), Pos(Succ(Succ(Zero)))) ==> new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x13)))))_>=_new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x13)))), Pos(Succ(Succ(Zero))))) 248.74/165.19 248.74/165.19 248.74/165.19 248.74/165.19 We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: 248.74/165.19 248.74/165.19 (2) (new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x13)))))_>=_new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x13)))), Pos(Succ(Succ(Zero))))) 248.74/165.19 248.74/165.19 248.74/165.19 248.74/165.19 248.74/165.19 248.74/165.19 248.74/165.19 248.74/165.19 248.74/165.19 For Pair new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) the following chains were created: 248.74/165.19 *We consider the chain new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x15)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x15)))), Pos(Succ(Succ(Zero)))), new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x16))))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(x16, Zero, x16, Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x16)))))) which results in the following constraint: 248.74/165.19 248.74/165.19 (1) (new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x15)))), Pos(Succ(Succ(Zero))))=new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x16))))), Pos(Succ(Succ(Zero)))) ==> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x15)))), Pos(Succ(Succ(Zero))))_>=_new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x15)))), Pos(Succ(Succ(Zero))))) 248.74/165.19 248.74/165.19 248.74/165.19 248.74/165.19 We simplified constraint (1) using rules (I), (II), (III) which results in the following new constraint: 248.74/165.19 248.74/165.19 (2) (new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x16))))), Pos(Succ(Succ(Zero))))_>=_new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x16))))), Pos(Succ(Succ(Zero))))) 248.74/165.19 248.74/165.19 248.74/165.19 248.74/165.19 248.74/165.19 248.74/165.19 248.74/165.19 248.74/165.19 248.74/165.19 To summarize, we get the following constraints P__>=_ for the following pairs. 248.74/165.19 248.74/165.19 *new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(x0, Zero, x0, Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0)))))) 248.74/165.19 248.74/165.19 *(new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Zero))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Zero, Zero, Zero, Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(Zero))))))) 248.74/165.19 248.74/165.19 248.74/165.19 *(new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Succ(x34)))))), Pos(Succ(Succ(Zero))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(x34), Zero, Succ(x34), Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(Succ(x34)))))))) 248.74/165.19 248.74/165.19 248.74/165.19 248.74/165.19 248.74/165.19 *new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Neg(new_primModNatS01(x0, Zero, x0, Zero))) 248.74/165.19 248.74/165.19 *(new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Neg(new_primModNatS01(Zero, Zero, Zero, Zero)))) 248.74/165.19 248.74/165.19 248.74/165.19 *(new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(Succ(x69)))))))_>=_new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Neg(new_primModNatS01(Succ(x69), Zero, Succ(x69), Zero)))) 248.74/165.19 248.74/165.19 248.74/165.19 248.74/165.19 248.74/165.19 *new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 248.74/165.19 248.74/165.19 *(new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x13)))))_>=_new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x13)))), Pos(Succ(Succ(Zero))))) 248.74/165.19 248.74/165.19 248.74/165.19 248.74/165.19 248.74/165.19 *new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 248.74/165.19 248.74/165.19 *(new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x16))))), Pos(Succ(Succ(Zero))))_>=_new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x16))))), Pos(Succ(Succ(Zero))))) 248.74/165.19 248.74/165.19 248.74/165.19 248.74/165.19 248.74/165.19 248.74/165.19 248.74/165.19 248.74/165.19 248.74/165.19 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. 248.74/165.19 ---------------------------------------- 248.74/165.19 248.74/165.19 (311) 248.74/165.19 Obligation: 248.74/165.19 Q DP problem: 248.74/165.19 The TRS P consists of the following rules: 248.74/165.19 248.74/165.19 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(x0, Zero, x0, Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0)))))) 248.74/165.19 new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Neg(new_primModNatS01(x0, Zero, x0, Zero))) 248.74/165.19 new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 248.74/165.19 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 248.74/165.19 248.74/165.19 The TRS R consists of the following rules: 248.74/165.19 248.74/165.19 new_primModNatS01(vyv330, vyv331, Zero, Zero) -> new_primModNatS02(vyv330, vyv331) 248.74/165.19 new_primModNatS02(vyv330, vyv331) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv330), Succ(vyv331)), Succ(vyv331)) 248.74/165.19 new_primModNatS1(Succ(Succ(vyv292000)), Succ(vyv291000)) -> new_primModNatS01(vyv292000, vyv291000, vyv292000, vyv291000) 248.74/165.19 new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Succ(vyv3330)) -> new_primModNatS01(vyv330, vyv331, vyv3320, vyv3330) 248.74/165.19 new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Zero) -> new_primModNatS02(vyv330, vyv331) 248.74/165.19 new_primModNatS1(Succ(Zero), Succ(vyv291000)) -> Succ(Zero) 248.74/165.19 new_esEs(Neg(Succ(vyv24100))) -> new_primEqInt(Neg(Succ(vyv24100))) 248.74/165.19 new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) 248.74/165.19 new_primEqInt(Neg(Zero)) -> True 248.74/165.19 new_primEqInt(Neg(Succ(vyv242000))) -> False 248.74/165.19 new_primMinusNatS2(Succ(vyv3100), Succ(vyv3110)) -> new_primMinusNatS2(vyv3100, vyv3110) 248.74/165.19 new_primModNatS1(Zero, vyv29100) -> Zero 248.74/165.19 new_primModNatS01(vyv330, vyv331, Zero, Succ(vyv3330)) -> Succ(Succ(vyv330)) 248.74/165.19 new_primMinusNatS2(Zero, Zero) -> Zero 248.74/165.19 new_primMinusNatS2(Zero, Succ(vyv3110)) -> Zero 248.74/165.19 new_primMinusNatS2(Succ(vyv3100), Zero) -> Succ(vyv3100) 248.74/165.19 248.74/165.19 The set Q consists of the following terms: 248.74/165.19 248.74/165.19 new_primModNatS1(Succ(Zero), Succ(x0)) 248.74/165.19 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 248.74/165.19 new_primEqInt(Pos(Zero)) 248.74/165.19 new_primModNatS02(x0, x1) 248.74/165.19 new_primModNatS01(x0, x1, Succ(x2), Zero) 248.74/165.19 new_primModNatS01(x0, x1, Zero, Succ(x2)) 248.74/165.19 new_primMinusNatS2(Zero, Zero) 248.74/165.19 new_esEs(Neg(Succ(x0))) 248.74/165.19 new_primMinusNatS2(Zero, Succ(x0)) 248.74/165.19 new_primModNatS1(Succ(Zero), Zero) 248.74/165.19 new_esEs(Pos(Zero)) 248.74/165.19 new_primEqInt(Neg(Succ(x0))) 248.74/165.19 new_primMinusNatS2(Succ(x0), Zero) 248.74/165.19 new_primEqInt(Neg(Zero)) 248.74/165.19 new_primModNatS01(x0, x1, Zero, Zero) 248.74/165.19 new_primEqInt(Pos(Succ(x0))) 248.74/165.19 new_primMinusNatS2(Succ(x0), Succ(x1)) 248.74/165.19 new_primModNatS1(Succ(Succ(x0)), Zero) 248.74/165.19 new_primModNatS1(Zero, x0) 248.74/165.19 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 248.74/165.19 new_esEs(Neg(Zero)) 248.74/165.19 new_esEs(Pos(Succ(x0))) 248.74/165.19 248.74/165.19 We have to consider all minimal (P,Q,R)-chains. 248.74/165.19 ---------------------------------------- 248.74/165.19 248.74/165.19 (312) 248.74/165.19 Obligation: 248.74/165.19 Q DP problem: 248.74/165.19 The TRS P consists of the following rules: 248.74/165.19 248.74/165.19 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(x0, Zero, x0, Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) 248.74/165.19 new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(Succ(x2), Zero))) 248.74/165.19 new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 248.74/165.19 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 248.74/165.19 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))) 248.74/165.19 248.74/165.19 The TRS R consists of the following rules: 248.74/165.19 248.74/165.19 new_primModNatS1(Succ(Succ(vyv292000)), Succ(vyv291000)) -> new_primModNatS01(vyv292000, vyv291000, vyv292000, vyv291000) 248.74/165.19 new_primModNatS01(vyv330, vyv331, Zero, Zero) -> new_primModNatS02(vyv330, vyv331) 248.74/165.19 new_primModNatS02(vyv330, vyv331) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv330), Succ(vyv331)), Succ(vyv331)) 248.74/165.19 new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Succ(vyv3330)) -> new_primModNatS01(vyv330, vyv331, vyv3320, vyv3330) 248.74/165.19 new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Zero) -> new_primModNatS02(vyv330, vyv331) 248.74/165.19 new_primModNatS01(vyv330, vyv331, Zero, Succ(vyv3330)) -> Succ(Succ(vyv330)) 248.74/165.19 new_primMinusNatS2(Succ(vyv3100), Succ(vyv3110)) -> new_primMinusNatS2(vyv3100, vyv3110) 248.74/165.19 new_primModNatS1(Succ(Zero), Succ(vyv291000)) -> Succ(Zero) 248.74/165.19 new_primModNatS1(Zero, vyv29100) -> Zero 248.74/165.19 new_primMinusNatS2(Zero, Zero) -> Zero 248.74/165.19 new_primMinusNatS2(Zero, Succ(vyv3110)) -> Zero 248.74/165.19 new_primMinusNatS2(Succ(vyv3100), Zero) -> Succ(vyv3100) 248.74/165.19 new_esEs(Pos(Succ(vyv24100))) -> new_primEqInt(Pos(Succ(vyv24100))) 248.74/165.19 new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) 248.74/165.19 new_primEqInt(Pos(Zero)) -> True 248.74/165.19 new_primEqInt(Pos(Succ(vyv242000))) -> False 248.74/165.19 new_esEs(Neg(Succ(vyv24100))) -> new_primEqInt(Neg(Succ(vyv24100))) 248.74/165.19 new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) 248.74/165.19 new_primEqInt(Neg(Zero)) -> True 248.74/165.19 new_primEqInt(Neg(Succ(vyv242000))) -> False 248.74/165.19 248.74/165.19 The set Q consists of the following terms: 248.74/165.19 248.74/165.19 new_primModNatS1(Succ(Zero), Succ(x0)) 248.74/165.19 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 248.74/165.19 new_primEqInt(Pos(Zero)) 248.74/165.19 new_primModNatS02(x0, x1) 248.74/165.19 new_primModNatS01(x0, x1, Succ(x2), Zero) 248.74/165.19 new_primModNatS01(x0, x1, Zero, Succ(x2)) 248.74/165.19 new_primMinusNatS2(Zero, Zero) 248.74/165.19 new_esEs(Neg(Succ(x0))) 248.74/165.19 new_primMinusNatS2(Zero, Succ(x0)) 248.74/165.19 new_primModNatS1(Succ(Zero), Zero) 248.74/165.19 new_esEs(Pos(Zero)) 248.74/165.19 new_primEqInt(Neg(Succ(x0))) 248.74/165.19 new_primMinusNatS2(Succ(x0), Zero) 248.74/165.19 new_primEqInt(Neg(Zero)) 248.74/165.19 new_primModNatS01(x0, x1, Zero, Zero) 248.74/165.19 new_primEqInt(Pos(Succ(x0))) 248.74/165.19 new_primMinusNatS2(Succ(x0), Succ(x1)) 248.74/165.19 new_primModNatS1(Succ(Succ(x0)), Zero) 248.74/165.19 new_primModNatS1(Zero, x0) 248.74/165.19 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 248.74/165.19 new_esEs(Neg(Zero)) 248.74/165.19 new_esEs(Pos(Succ(x0))) 248.74/165.19 248.74/165.19 We have to consider all minimal (P,Q,R)-chains. 248.74/165.19 ---------------------------------------- 248.74/165.19 248.74/165.19 (313) UsableRulesProof (EQUIVALENT) 248.74/165.19 As all Q-normal forms are R-normal forms we are in the innermost case. Hence, by the usable rules processor [LPAR04] we can delete all non-usable rules [FROCOS05] from R. 248.74/165.19 ---------------------------------------- 248.74/165.19 248.74/165.19 (314) 248.74/165.19 Obligation: 248.74/165.19 Q DP problem: 248.74/165.19 The TRS P consists of the following rules: 248.74/165.19 248.74/165.19 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(x0, Zero, x0, Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) 248.74/165.19 new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(Succ(x2), Zero))) 248.74/165.19 new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 248.74/165.19 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 248.74/165.19 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))) 248.74/165.19 248.74/165.19 The TRS R consists of the following rules: 248.74/165.19 248.74/165.19 new_primModNatS01(vyv330, vyv331, Zero, Zero) -> new_primModNatS02(vyv330, vyv331) 248.74/165.19 new_primModNatS02(vyv330, vyv331) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv330), Succ(vyv331)), Succ(vyv331)) 248.74/165.19 new_primModNatS1(Succ(Succ(vyv292000)), Succ(vyv291000)) -> new_primModNatS01(vyv292000, vyv291000, vyv292000, vyv291000) 248.74/165.19 new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Succ(vyv3330)) -> new_primModNatS01(vyv330, vyv331, vyv3320, vyv3330) 248.74/165.19 new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Zero) -> new_primModNatS02(vyv330, vyv331) 248.74/165.19 new_primMinusNatS2(Succ(vyv3100), Succ(vyv3110)) -> new_primMinusNatS2(vyv3100, vyv3110) 248.74/165.19 new_primModNatS1(Succ(Zero), Succ(vyv291000)) -> Succ(Zero) 248.74/165.19 new_primModNatS1(Zero, vyv29100) -> Zero 248.74/165.19 new_primModNatS01(vyv330, vyv331, Zero, Succ(vyv3330)) -> Succ(Succ(vyv330)) 248.74/165.19 new_primMinusNatS2(Zero, Zero) -> Zero 248.74/165.19 new_primMinusNatS2(Zero, Succ(vyv3110)) -> Zero 248.74/165.19 new_primMinusNatS2(Succ(vyv3100), Zero) -> Succ(vyv3100) 248.74/165.19 new_esEs(Pos(Succ(vyv24100))) -> new_primEqInt(Pos(Succ(vyv24100))) 248.74/165.19 new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) 248.74/165.19 new_primEqInt(Pos(Zero)) -> True 248.74/165.19 new_primEqInt(Pos(Succ(vyv242000))) -> False 248.74/165.19 248.74/165.19 The set Q consists of the following terms: 248.74/165.19 248.74/165.19 new_primModNatS1(Succ(Zero), Succ(x0)) 248.74/165.19 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 248.74/165.19 new_primEqInt(Pos(Zero)) 248.74/165.19 new_primModNatS02(x0, x1) 248.74/165.19 new_primModNatS01(x0, x1, Succ(x2), Zero) 248.74/165.19 new_primModNatS01(x0, x1, Zero, Succ(x2)) 248.74/165.19 new_primMinusNatS2(Zero, Zero) 248.74/165.19 new_esEs(Neg(Succ(x0))) 248.74/165.19 new_primMinusNatS2(Zero, Succ(x0)) 248.74/165.19 new_primModNatS1(Succ(Zero), Zero) 248.74/165.19 new_esEs(Pos(Zero)) 248.74/165.19 new_primEqInt(Neg(Succ(x0))) 248.74/165.19 new_primMinusNatS2(Succ(x0), Zero) 248.74/165.19 new_primEqInt(Neg(Zero)) 248.74/165.19 new_primModNatS01(x0, x1, Zero, Zero) 248.74/165.19 new_primEqInt(Pos(Succ(x0))) 248.74/165.19 new_primMinusNatS2(Succ(x0), Succ(x1)) 248.74/165.19 new_primModNatS1(Succ(Succ(x0)), Zero) 248.74/165.19 new_primModNatS1(Zero, x0) 248.74/165.19 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 248.74/165.19 new_esEs(Neg(Zero)) 248.74/165.19 new_esEs(Pos(Succ(x0))) 248.74/165.19 248.74/165.19 We have to consider all minimal (P,Q,R)-chains. 248.74/165.19 ---------------------------------------- 248.74/165.19 248.74/165.19 (315) TransformationProof (EQUIVALENT) 248.74/165.19 By rewriting [LPAR04] the rule new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(Succ(x2), Zero))) at position [1,0] we obtained the following new rules [LPAR04]: 248.74/165.19 248.74/165.19 (new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Zero)))),new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Zero))))) 248.74/165.19 248.74/165.19 248.74/165.19 ---------------------------------------- 248.74/165.19 248.74/165.19 (316) 248.74/165.19 Obligation: 248.74/165.19 Q DP problem: 248.74/165.19 The TRS P consists of the following rules: 248.74/165.19 248.74/165.19 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(x0, Zero, x0, Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) 248.74/165.19 new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 248.74/165.19 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 248.74/165.19 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))) 248.74/165.19 new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Zero)))) 248.74/165.19 248.74/165.19 The TRS R consists of the following rules: 248.74/165.19 248.74/165.19 new_primModNatS01(vyv330, vyv331, Zero, Zero) -> new_primModNatS02(vyv330, vyv331) 248.74/165.19 new_primModNatS02(vyv330, vyv331) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv330), Succ(vyv331)), Succ(vyv331)) 248.74/165.19 new_primModNatS1(Succ(Succ(vyv292000)), Succ(vyv291000)) -> new_primModNatS01(vyv292000, vyv291000, vyv292000, vyv291000) 248.74/165.19 new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Succ(vyv3330)) -> new_primModNatS01(vyv330, vyv331, vyv3320, vyv3330) 248.74/165.19 new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Zero) -> new_primModNatS02(vyv330, vyv331) 248.74/165.19 new_primMinusNatS2(Succ(vyv3100), Succ(vyv3110)) -> new_primMinusNatS2(vyv3100, vyv3110) 248.74/165.19 new_primModNatS1(Succ(Zero), Succ(vyv291000)) -> Succ(Zero) 248.74/165.19 new_primModNatS1(Zero, vyv29100) -> Zero 248.74/165.19 new_primModNatS01(vyv330, vyv331, Zero, Succ(vyv3330)) -> Succ(Succ(vyv330)) 248.74/165.19 new_primMinusNatS2(Zero, Zero) -> Zero 248.74/165.19 new_primMinusNatS2(Zero, Succ(vyv3110)) -> Zero 248.74/165.19 new_primMinusNatS2(Succ(vyv3100), Zero) -> Succ(vyv3100) 248.74/165.19 new_esEs(Pos(Succ(vyv24100))) -> new_primEqInt(Pos(Succ(vyv24100))) 248.74/165.19 new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) 248.74/165.19 new_primEqInt(Pos(Zero)) -> True 248.74/165.19 new_primEqInt(Pos(Succ(vyv242000))) -> False 248.74/165.19 248.74/165.19 The set Q consists of the following terms: 248.74/165.19 248.74/165.19 new_primModNatS1(Succ(Zero), Succ(x0)) 248.74/165.19 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 248.74/165.19 new_primEqInt(Pos(Zero)) 248.74/165.19 new_primModNatS02(x0, x1) 248.74/165.19 new_primModNatS01(x0, x1, Succ(x2), Zero) 248.74/165.19 new_primModNatS01(x0, x1, Zero, Succ(x2)) 248.74/165.19 new_primMinusNatS2(Zero, Zero) 248.74/165.19 new_esEs(Neg(Succ(x0))) 248.74/165.19 new_primMinusNatS2(Zero, Succ(x0)) 248.74/165.19 new_primModNatS1(Succ(Zero), Zero) 248.74/165.19 new_esEs(Pos(Zero)) 248.74/165.19 new_primEqInt(Neg(Succ(x0))) 248.74/165.19 new_primMinusNatS2(Succ(x0), Zero) 248.74/165.19 new_primEqInt(Neg(Zero)) 248.74/165.19 new_primModNatS01(x0, x1, Zero, Zero) 248.74/165.19 new_primEqInt(Pos(Succ(x0))) 248.74/165.19 new_primMinusNatS2(Succ(x0), Succ(x1)) 248.74/165.19 new_primModNatS1(Succ(Succ(x0)), Zero) 248.74/165.19 new_primModNatS1(Zero, x0) 248.74/165.19 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 248.74/165.19 new_esEs(Neg(Zero)) 248.74/165.19 new_esEs(Pos(Succ(x0))) 248.74/165.19 248.74/165.19 We have to consider all minimal (P,Q,R)-chains. 248.74/165.19 ---------------------------------------- 248.74/165.19 248.74/165.19 (317) TransformationProof (EQUIVALENT) 248.74/165.19 By rewriting [LPAR04] the rule new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Zero)))) at position [1,0,0] we obtained the following new rules [LPAR04]: 248.74/165.19 248.74/165.19 (new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Zero)))),new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Zero))))) 248.74/165.19 248.74/165.19 248.74/165.19 ---------------------------------------- 248.74/165.19 248.74/165.19 (318) 248.74/165.19 Obligation: 248.74/165.19 Q DP problem: 248.74/165.19 The TRS P consists of the following rules: 248.74/165.19 248.74/165.19 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(x0, Zero, x0, Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) 248.74/165.19 new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 248.74/165.19 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 248.74/165.19 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))) 248.74/165.19 new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Zero)))) 248.74/165.19 248.74/165.19 The TRS R consists of the following rules: 248.74/165.19 248.74/165.19 new_primModNatS01(vyv330, vyv331, Zero, Zero) -> new_primModNatS02(vyv330, vyv331) 248.74/165.19 new_primModNatS02(vyv330, vyv331) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv330), Succ(vyv331)), Succ(vyv331)) 248.74/165.19 new_primModNatS1(Succ(Succ(vyv292000)), Succ(vyv291000)) -> new_primModNatS01(vyv292000, vyv291000, vyv292000, vyv291000) 248.74/165.19 new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Succ(vyv3330)) -> new_primModNatS01(vyv330, vyv331, vyv3320, vyv3330) 248.74/165.19 new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Zero) -> new_primModNatS02(vyv330, vyv331) 248.74/165.19 new_primMinusNatS2(Succ(vyv3100), Succ(vyv3110)) -> new_primMinusNatS2(vyv3100, vyv3110) 248.74/165.19 new_primModNatS1(Succ(Zero), Succ(vyv291000)) -> Succ(Zero) 248.74/165.19 new_primModNatS1(Zero, vyv29100) -> Zero 248.74/165.19 new_primModNatS01(vyv330, vyv331, Zero, Succ(vyv3330)) -> Succ(Succ(vyv330)) 248.74/165.19 new_primMinusNatS2(Zero, Zero) -> Zero 248.74/165.19 new_primMinusNatS2(Zero, Succ(vyv3110)) -> Zero 248.74/165.19 new_primMinusNatS2(Succ(vyv3100), Zero) -> Succ(vyv3100) 248.74/165.19 new_esEs(Pos(Succ(vyv24100))) -> new_primEqInt(Pos(Succ(vyv24100))) 248.74/165.19 new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) 248.74/165.19 new_primEqInt(Pos(Zero)) -> True 248.74/165.19 new_primEqInt(Pos(Succ(vyv242000))) -> False 248.74/165.19 248.74/165.19 The set Q consists of the following terms: 248.74/165.19 248.74/165.19 new_primModNatS1(Succ(Zero), Succ(x0)) 248.74/165.19 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 248.74/165.19 new_primEqInt(Pos(Zero)) 248.74/165.19 new_primModNatS02(x0, x1) 248.74/165.19 new_primModNatS01(x0, x1, Succ(x2), Zero) 248.74/165.19 new_primModNatS01(x0, x1, Zero, Succ(x2)) 248.74/165.19 new_primMinusNatS2(Zero, Zero) 248.74/165.19 new_esEs(Neg(Succ(x0))) 248.74/165.19 new_primMinusNatS2(Zero, Succ(x0)) 248.74/165.19 new_primModNatS1(Succ(Zero), Zero) 248.74/165.19 new_esEs(Pos(Zero)) 248.74/165.19 new_primEqInt(Neg(Succ(x0))) 248.74/165.19 new_primMinusNatS2(Succ(x0), Zero) 248.74/165.19 new_primEqInt(Neg(Zero)) 248.74/165.19 new_primModNatS01(x0, x1, Zero, Zero) 248.74/165.19 new_primEqInt(Pos(Succ(x0))) 248.74/165.19 new_primMinusNatS2(Succ(x0), Succ(x1)) 248.74/165.19 new_primModNatS1(Succ(Succ(x0)), Zero) 248.74/165.19 new_primModNatS1(Zero, x0) 248.74/165.19 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 248.74/165.19 new_esEs(Neg(Zero)) 248.74/165.19 new_esEs(Pos(Succ(x0))) 248.74/165.19 248.74/165.19 We have to consider all minimal (P,Q,R)-chains. 248.74/165.19 ---------------------------------------- 248.74/165.19 248.74/165.19 (319) TransformationProof (EQUIVALENT) 248.74/165.19 By rewriting [LPAR04] the rule new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Zero)))) at position [1,0,0] we obtained the following new rules [LPAR04]: 248.74/165.19 248.74/165.19 (new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))),new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero))))) 248.74/165.19 248.74/165.19 248.74/165.19 ---------------------------------------- 248.74/165.19 248.74/165.19 (320) 248.74/165.19 Obligation: 248.74/165.19 Q DP problem: 248.74/165.19 The TRS P consists of the following rules: 248.74/165.19 248.74/165.19 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(x0, Zero, x0, Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) 248.74/165.19 new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 248.74/165.19 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 248.74/165.19 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))) 248.74/165.19 new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 248.74/165.19 248.74/165.19 The TRS R consists of the following rules: 248.74/165.19 248.74/165.19 new_primModNatS01(vyv330, vyv331, Zero, Zero) -> new_primModNatS02(vyv330, vyv331) 248.74/165.19 new_primModNatS02(vyv330, vyv331) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv330), Succ(vyv331)), Succ(vyv331)) 248.74/165.19 new_primModNatS1(Succ(Succ(vyv292000)), Succ(vyv291000)) -> new_primModNatS01(vyv292000, vyv291000, vyv292000, vyv291000) 248.74/165.19 new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Succ(vyv3330)) -> new_primModNatS01(vyv330, vyv331, vyv3320, vyv3330) 248.74/165.19 new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Zero) -> new_primModNatS02(vyv330, vyv331) 248.74/165.19 new_primMinusNatS2(Succ(vyv3100), Succ(vyv3110)) -> new_primMinusNatS2(vyv3100, vyv3110) 248.74/165.19 new_primModNatS1(Succ(Zero), Succ(vyv291000)) -> Succ(Zero) 248.74/165.19 new_primModNatS1(Zero, vyv29100) -> Zero 248.74/165.19 new_primModNatS01(vyv330, vyv331, Zero, Succ(vyv3330)) -> Succ(Succ(vyv330)) 248.74/165.19 new_primMinusNatS2(Zero, Zero) -> Zero 248.74/165.19 new_primMinusNatS2(Zero, Succ(vyv3110)) -> Zero 248.74/165.19 new_primMinusNatS2(Succ(vyv3100), Zero) -> Succ(vyv3100) 248.74/165.19 new_esEs(Pos(Succ(vyv24100))) -> new_primEqInt(Pos(Succ(vyv24100))) 248.74/165.19 new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) 248.74/165.19 new_primEqInt(Pos(Zero)) -> True 248.74/165.19 new_primEqInt(Pos(Succ(vyv242000))) -> False 248.74/165.19 248.74/165.19 The set Q consists of the following terms: 248.74/165.19 248.74/165.19 new_primModNatS1(Succ(Zero), Succ(x0)) 248.74/165.19 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 248.74/165.19 new_primEqInt(Pos(Zero)) 248.74/165.19 new_primModNatS02(x0, x1) 248.74/165.19 new_primModNatS01(x0, x1, Succ(x2), Zero) 248.74/165.19 new_primModNatS01(x0, x1, Zero, Succ(x2)) 248.74/165.19 new_primMinusNatS2(Zero, Zero) 248.74/165.19 new_esEs(Neg(Succ(x0))) 248.74/165.19 new_primMinusNatS2(Zero, Succ(x0)) 248.74/165.19 new_primModNatS1(Succ(Zero), Zero) 248.74/165.19 new_esEs(Pos(Zero)) 248.74/165.19 new_primEqInt(Neg(Succ(x0))) 248.74/165.19 new_primMinusNatS2(Succ(x0), Zero) 248.74/165.19 new_primEqInt(Neg(Zero)) 248.74/165.19 new_primModNatS01(x0, x1, Zero, Zero) 248.74/165.19 new_primEqInt(Pos(Succ(x0))) 248.74/165.19 new_primMinusNatS2(Succ(x0), Succ(x1)) 248.74/165.19 new_primModNatS1(Succ(Succ(x0)), Zero) 248.74/165.19 new_primModNatS1(Zero, x0) 248.74/165.19 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 248.74/165.19 new_esEs(Neg(Zero)) 248.74/165.19 new_esEs(Pos(Succ(x0))) 248.74/165.19 248.74/165.19 We have to consider all minimal (P,Q,R)-chains. 248.74/165.19 ---------------------------------------- 248.74/165.19 248.74/165.19 (321) TransformationProof (EQUIVALENT) 248.74/165.19 By narrowing [LPAR04] the rule new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) at position [1,0] we obtained the following new rules [LPAR04]: 248.74/165.19 248.74/165.19 (new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(new_primModNatS01(x0, Zero, x0, Zero))),new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(new_primModNatS01(x0, Zero, x0, Zero)))) 248.74/165.19 (new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(Succ(Zero))),new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(Succ(Zero)))) 248.74/165.19 248.74/165.19 248.74/165.19 ---------------------------------------- 248.74/165.19 248.74/165.19 (322) 248.74/165.19 Obligation: 248.74/165.19 Q DP problem: 248.74/165.19 The TRS P consists of the following rules: 248.74/165.19 248.74/165.19 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(x0, Zero, x0, Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) 248.74/165.19 new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 248.74/165.19 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 248.74/165.19 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))) 248.74/165.19 new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(new_primModNatS01(x0, Zero, x0, Zero))) 248.74/165.19 new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) 248.74/165.19 248.74/165.19 The TRS R consists of the following rules: 248.74/165.19 248.74/165.19 new_primModNatS01(vyv330, vyv331, Zero, Zero) -> new_primModNatS02(vyv330, vyv331) 248.74/165.19 new_primModNatS02(vyv330, vyv331) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv330), Succ(vyv331)), Succ(vyv331)) 248.74/165.19 new_primModNatS1(Succ(Succ(vyv292000)), Succ(vyv291000)) -> new_primModNatS01(vyv292000, vyv291000, vyv292000, vyv291000) 248.74/165.19 new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Succ(vyv3330)) -> new_primModNatS01(vyv330, vyv331, vyv3320, vyv3330) 248.74/165.19 new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Zero) -> new_primModNatS02(vyv330, vyv331) 248.74/165.19 new_primMinusNatS2(Succ(vyv3100), Succ(vyv3110)) -> new_primMinusNatS2(vyv3100, vyv3110) 248.74/165.19 new_primModNatS1(Succ(Zero), Succ(vyv291000)) -> Succ(Zero) 248.74/165.19 new_primModNatS1(Zero, vyv29100) -> Zero 248.74/165.19 new_primModNatS01(vyv330, vyv331, Zero, Succ(vyv3330)) -> Succ(Succ(vyv330)) 248.74/165.19 new_primMinusNatS2(Zero, Zero) -> Zero 248.74/165.19 new_primMinusNatS2(Zero, Succ(vyv3110)) -> Zero 248.74/165.19 new_primMinusNatS2(Succ(vyv3100), Zero) -> Succ(vyv3100) 248.74/165.19 new_esEs(Pos(Succ(vyv24100))) -> new_primEqInt(Pos(Succ(vyv24100))) 248.74/165.19 new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) 248.74/165.19 new_primEqInt(Pos(Zero)) -> True 248.74/165.19 new_primEqInt(Pos(Succ(vyv242000))) -> False 248.74/165.19 248.74/165.19 The set Q consists of the following terms: 248.74/165.19 248.74/165.19 new_primModNatS1(Succ(Zero), Succ(x0)) 248.74/165.19 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 248.74/165.19 new_primEqInt(Pos(Zero)) 248.74/165.19 new_primModNatS02(x0, x1) 248.74/165.19 new_primModNatS01(x0, x1, Succ(x2), Zero) 248.74/165.19 new_primModNatS01(x0, x1, Zero, Succ(x2)) 248.74/165.19 new_primMinusNatS2(Zero, Zero) 248.74/165.19 new_esEs(Neg(Succ(x0))) 248.74/165.19 new_primMinusNatS2(Zero, Succ(x0)) 248.74/165.19 new_primModNatS1(Succ(Zero), Zero) 248.74/165.19 new_esEs(Pos(Zero)) 248.74/165.19 new_primEqInt(Neg(Succ(x0))) 248.74/165.19 new_primMinusNatS2(Succ(x0), Zero) 248.74/165.19 new_primEqInt(Neg(Zero)) 248.74/165.19 new_primModNatS01(x0, x1, Zero, Zero) 248.74/165.19 new_primEqInt(Pos(Succ(x0))) 248.74/165.19 new_primMinusNatS2(Succ(x0), Succ(x1)) 248.74/165.19 new_primModNatS1(Succ(Succ(x0)), Zero) 248.74/165.19 new_primModNatS1(Zero, x0) 248.74/165.19 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 248.74/165.19 new_esEs(Neg(Zero)) 248.74/165.19 new_esEs(Pos(Succ(x0))) 248.74/165.19 248.74/165.19 We have to consider all minimal (P,Q,R)-chains. 248.74/165.19 ---------------------------------------- 248.74/165.19 248.74/165.19 (323) DependencyGraphProof (EQUIVALENT) 248.74/165.19 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 2 less nodes. 248.74/165.19 ---------------------------------------- 248.74/165.19 248.74/165.19 (324) 248.74/165.19 Obligation: 248.74/165.19 Q DP problem: 248.74/165.19 The TRS P consists of the following rules: 248.74/165.19 248.74/165.19 new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(new_primModNatS01(x0, Zero, x0, Zero))) 248.74/165.19 new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 248.74/165.19 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 248.74/165.19 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(x0, Zero, x0, Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) 248.74/165.19 248.74/165.19 The TRS R consists of the following rules: 248.74/165.19 248.74/165.19 new_primModNatS01(vyv330, vyv331, Zero, Zero) -> new_primModNatS02(vyv330, vyv331) 248.74/165.19 new_primModNatS02(vyv330, vyv331) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv330), Succ(vyv331)), Succ(vyv331)) 248.74/165.19 new_primModNatS1(Succ(Succ(vyv292000)), Succ(vyv291000)) -> new_primModNatS01(vyv292000, vyv291000, vyv292000, vyv291000) 248.74/165.19 new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Succ(vyv3330)) -> new_primModNatS01(vyv330, vyv331, vyv3320, vyv3330) 248.74/165.19 new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Zero) -> new_primModNatS02(vyv330, vyv331) 248.74/165.19 new_primMinusNatS2(Succ(vyv3100), Succ(vyv3110)) -> new_primMinusNatS2(vyv3100, vyv3110) 248.74/165.19 new_primModNatS1(Succ(Zero), Succ(vyv291000)) -> Succ(Zero) 248.74/165.19 new_primModNatS1(Zero, vyv29100) -> Zero 248.74/165.19 new_primModNatS01(vyv330, vyv331, Zero, Succ(vyv3330)) -> Succ(Succ(vyv330)) 248.74/165.19 new_primMinusNatS2(Zero, Zero) -> Zero 248.74/165.19 new_primMinusNatS2(Zero, Succ(vyv3110)) -> Zero 248.74/165.19 new_primMinusNatS2(Succ(vyv3100), Zero) -> Succ(vyv3100) 248.74/165.19 new_esEs(Pos(Succ(vyv24100))) -> new_primEqInt(Pos(Succ(vyv24100))) 248.74/165.19 new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) 248.74/165.19 new_primEqInt(Pos(Zero)) -> True 248.74/165.19 new_primEqInt(Pos(Succ(vyv242000))) -> False 248.74/165.19 248.74/165.19 The set Q consists of the following terms: 248.74/165.19 248.74/165.19 new_primModNatS1(Succ(Zero), Succ(x0)) 248.74/165.19 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 248.74/165.19 new_primEqInt(Pos(Zero)) 248.74/165.19 new_primModNatS02(x0, x1) 248.74/165.19 new_primModNatS01(x0, x1, Succ(x2), Zero) 248.74/165.19 new_primModNatS01(x0, x1, Zero, Succ(x2)) 248.74/165.19 new_primMinusNatS2(Zero, Zero) 248.74/165.19 new_esEs(Neg(Succ(x0))) 248.74/165.19 new_primMinusNatS2(Zero, Succ(x0)) 248.74/165.19 new_primModNatS1(Succ(Zero), Zero) 248.74/165.19 new_esEs(Pos(Zero)) 248.74/165.19 new_primEqInt(Neg(Succ(x0))) 248.74/165.19 new_primMinusNatS2(Succ(x0), Zero) 248.74/165.19 new_primEqInt(Neg(Zero)) 248.74/165.19 new_primModNatS01(x0, x1, Zero, Zero) 248.74/165.19 new_primEqInt(Pos(Succ(x0))) 248.74/165.19 new_primMinusNatS2(Succ(x0), Succ(x1)) 248.74/165.19 new_primModNatS1(Succ(Succ(x0)), Zero) 248.74/165.19 new_primModNatS1(Zero, x0) 248.74/165.19 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 248.74/165.19 new_esEs(Neg(Zero)) 248.74/165.19 new_esEs(Pos(Succ(x0))) 248.74/165.19 248.74/165.19 We have to consider all minimal (P,Q,R)-chains. 248.74/165.19 ---------------------------------------- 248.74/165.19 248.74/165.19 (325) InductionCalculusProof (EQUIVALENT) 248.74/165.19 Note that final constraints are written in bold face. 248.74/165.19 248.74/165.19 248.74/165.19 248.74/165.19 For Pair new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(new_primModNatS01(x0, Zero, x0, Zero))) the following chains were created: 248.74/165.19 *We consider the chain new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x1)))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(new_primModNatS01(x1, Zero, x1, Zero))), new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) which results in the following constraint: 248.74/165.19 248.74/165.19 (1) (new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(new_primModNatS01(x1, Zero, x1, Zero)))=new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) ==> new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x1))))))_>=_new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(new_primModNatS01(x1, Zero, x1, Zero)))) 248.74/165.19 248.74/165.19 248.74/165.19 248.74/165.19 We simplified constraint (1) using rules (I), (II), (VII) which results in the following new constraint: 248.74/165.19 248.74/165.19 (2) (Zero=x20 & x1=x21 & Zero=x22 & new_primModNatS01(x1, x20, x21, x22)=Succ(Succ(Succ(x2))) ==> new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x1))))))_>=_new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(new_primModNatS01(x1, Zero, x1, Zero)))) 248.74/165.19 248.74/165.19 248.74/165.19 248.74/165.19 We simplified constraint (2) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS01(x1, x20, x21, x22)=Succ(Succ(Succ(x2))) which results in the following new constraints: 248.74/165.19 248.74/165.19 (3) (new_primModNatS02(x24, x23)=Succ(Succ(Succ(x2))) & Zero=x23 & x24=Zero & Zero=Zero ==> new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x24))))))_>=_new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(new_primModNatS01(x24, Zero, x24, Zero)))) 248.74/165.19 248.74/165.19 (4) (new_primModNatS01(x28, x27, x26, x25)=Succ(Succ(Succ(x2))) & Zero=x27 & x28=Succ(x26) & Zero=Succ(x25) & (\/x29:new_primModNatS01(x28, x27, x26, x25)=Succ(Succ(Succ(x29))) & Zero=x27 & x28=x26 & Zero=x25 ==> new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x28))))))_>=_new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(new_primModNatS01(x28, Zero, x28, Zero)))) ==> new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x28))))))_>=_new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(new_primModNatS01(x28, Zero, x28, Zero)))) 248.74/165.19 248.74/165.19 (5) (new_primModNatS02(x32, x31)=Succ(Succ(Succ(x2))) & Zero=x31 & x32=Succ(x30) & Zero=Zero ==> new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x32))))))_>=_new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(new_primModNatS01(x32, Zero, x32, Zero)))) 248.74/165.19 248.74/165.19 (6) (Succ(Succ(x35))=Succ(Succ(Succ(x2))) & Zero=x34 & x35=Zero & Zero=Succ(x33) ==> new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x35))))))_>=_new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(new_primModNatS01(x35, Zero, x35, Zero)))) 248.74/165.19 248.74/165.19 248.74/165.19 248.74/165.19 We simplified constraint (3) using rules (I), (II), (III), (VII) which results in the following new constraint: 248.74/165.19 248.74/165.19 (7) (Zero=x36 & new_primModNatS02(x36, x23)=Succ(Succ(Succ(x2))) & Zero=x23 ==> new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(new_primModNatS01(Zero, Zero, Zero, Zero)))) 248.74/165.19 248.74/165.19 248.74/165.19 248.74/165.19 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: 248.74/165.19 248.74/165.19 (8) (Succ(x30)=x43 & new_primModNatS02(x43, x31)=Succ(Succ(Succ(x2))) & Zero=x31 ==> new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(Succ(x30)))))))_>=_new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(new_primModNatS01(Succ(x30), Zero, Succ(x30), Zero)))) 248.74/165.19 248.74/165.19 248.74/165.19 248.74/165.19 We solved constraint (6) using rules (I), (II).We simplified constraint (7) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS02(x36, x23)=Succ(Succ(Succ(x2))) which results in the following new constraint: 248.74/165.19 248.74/165.19 (9) (new_primModNatS1(new_primMinusNatS2(Succ(x38), Succ(x37)), Succ(x37))=Succ(Succ(Succ(x2))) & Zero=x38 & Zero=x37 ==> new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(new_primModNatS01(Zero, Zero, Zero, Zero)))) 248.74/165.19 248.74/165.19 248.74/165.19 248.74/165.19 We simplified constraint (9) using rules (III), (IV), (VII) which results in the following new constraint: 248.74/165.19 248.74/165.19 (10) (new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(new_primModNatS01(Zero, Zero, Zero, Zero)))) 248.74/165.19 248.74/165.19 248.74/165.19 248.74/165.19 We simplified constraint (8) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS02(x43, x31)=Succ(Succ(Succ(x2))) which results in the following new constraint: 248.74/165.19 248.74/165.19 (11) (new_primModNatS1(new_primMinusNatS2(Succ(x45), Succ(x44)), Succ(x44))=Succ(Succ(Succ(x2))) & Succ(x30)=x45 & Zero=x44 ==> new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(Succ(x30)))))))_>=_new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(new_primModNatS01(Succ(x30), Zero, Succ(x30), Zero)))) 248.74/165.19 248.74/165.19 248.74/165.19 248.74/165.19 We simplified constraint (11) using rules (III), (IV), (VII) which results in the following new constraint: 248.74/165.19 248.74/165.19 (12) (new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(Succ(x30)))))))_>=_new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(new_primModNatS01(Succ(x30), Zero, Succ(x30), Zero)))) 248.74/165.19 248.74/165.19 248.74/165.19 248.74/165.19 248.74/165.19 248.74/165.19 248.74/165.19 248.74/165.19 248.74/165.19 For Pair new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) the following chains were created: 248.74/165.19 *We consider the chain new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x7))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x7)))), Neg(Succ(Succ(Zero)))), new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x8)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x8)))), Neg(Succ(Succ(Zero)))) which results in the following constraint: 248.74/165.19 248.74/165.19 (1) (new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x7)))), Neg(Succ(Succ(Zero))))=new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x8)))), Neg(Succ(Succ(Zero)))) ==> new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x7)))))_>=_new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x7)))), Neg(Succ(Succ(Zero))))) 248.74/165.19 248.74/165.19 248.74/165.19 248.74/165.19 We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: 248.74/165.19 248.74/165.19 (2) (new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x7)))))_>=_new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x7)))), Neg(Succ(Succ(Zero))))) 248.74/165.19 248.74/165.19 248.74/165.19 248.74/165.19 248.74/165.19 248.74/165.19 248.74/165.19 248.74/165.19 248.74/165.19 For Pair new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) the following chains were created: 248.74/165.19 *We consider the chain new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x13)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x13)))), Neg(Succ(Succ(Zero)))), new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x14))))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(x14, Zero, x14, Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x14)))))) which results in the following constraint: 248.74/165.19 248.74/165.19 (1) (new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x13)))), Neg(Succ(Succ(Zero))))=new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x14))))), Neg(Succ(Succ(Zero)))) ==> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x13)))), Neg(Succ(Succ(Zero))))_>=_new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x13)))), Neg(Succ(Succ(Zero))))) 248.74/165.19 248.74/165.19 248.74/165.19 248.74/165.19 We simplified constraint (1) using rules (I), (II), (III) which results in the following new constraint: 248.74/165.19 248.74/165.19 (2) (new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x14))))), Neg(Succ(Succ(Zero))))_>=_new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x14))))), Neg(Succ(Succ(Zero))))) 248.74/165.19 248.74/165.19 248.74/165.19 248.74/165.19 248.74/165.19 248.74/165.19 248.74/165.19 248.74/165.19 248.74/165.19 For Pair new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(x0, Zero, x0, Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) the following chains were created: 248.74/165.19 *We consider the chain new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x15))))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(x15, Zero, x15, Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x15)))))), new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x16)))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(new_primModNatS01(x16, Zero, x16, Zero))) which results in the following constraint: 248.74/165.19 248.74/165.19 (1) (new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(x15, Zero, x15, Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x15))))))=new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x16)))))) ==> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x15))))), Neg(Succ(Succ(Zero))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(x15, Zero, x15, Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x15))))))) 248.74/165.19 248.74/165.19 248.74/165.19 248.74/165.19 We simplified constraint (1) using rules (I), (II), (IV), (VII) which results in the following new constraint: 248.74/165.19 248.74/165.19 (2) (Pos(new_primModNatS01(x15, Zero, x15, Zero))=x50 & new_esEs(x50)=False ==> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x15))))), Neg(Succ(Succ(Zero))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(x15, Zero, x15, Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x15))))))) 248.74/165.19 248.74/165.19 248.74/165.19 248.74/165.19 We simplified constraint (2) using rule (V) (with possible (I) afterwards) using induction on new_esEs(x50)=False which results in the following new constraints: 248.74/165.19 248.74/165.19 (3) (new_primEqInt(Pos(Succ(x51)))=False & Pos(new_primModNatS01(x15, Zero, x15, Zero))=Pos(Succ(x51)) ==> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x15))))), Neg(Succ(Succ(Zero))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(x15, Zero, x15, Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x15))))))) 248.74/165.19 248.74/165.19 (4) (new_primEqInt(Pos(Zero))=False & Pos(new_primModNatS01(x15, Zero, x15, Zero))=Pos(Zero) ==> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x15))))), Neg(Succ(Succ(Zero))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(x15, Zero, x15, Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x15))))))) 248.74/165.19 248.74/165.19 248.74/165.19 248.74/165.19 We simplified constraint (3) using rules (I), (II), (VII) which results in the following new constraint: 248.74/165.19 248.74/165.19 (5) (Pos(Succ(x51))=x52 & new_primEqInt(x52)=False & Zero=x53 & x15=x54 & Zero=x55 & new_primModNatS01(x15, x53, x54, x55)=Succ(x51) ==> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x15))))), Neg(Succ(Succ(Zero))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(x15, Zero, x15, Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x15))))))) 248.74/165.19 248.74/165.19 248.74/165.19 248.74/165.19 We simplified constraint (4) using rules (I), (II), (VII) which results in the following new constraint: 248.74/165.19 248.74/165.19 (6) (Pos(Zero)=x84 & new_primEqInt(x84)=False & Zero=x85 & x15=x86 & Zero=x87 & new_primModNatS01(x15, x85, x86, x87)=Zero ==> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x15))))), Neg(Succ(Succ(Zero))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(x15, Zero, x15, Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x15))))))) 248.74/165.19 248.74/165.19 248.74/165.19 248.74/165.19 We simplified constraint (5) using rule (V) (with possible (I) afterwards) using induction on new_primEqInt(x52)=False which results in the following new constraint: 248.74/165.19 248.74/165.19 (7) (False=False & Pos(Succ(x51))=Pos(Succ(x56)) & Zero=x53 & x15=x54 & Zero=x55 & new_primModNatS01(x15, x53, x54, x55)=Succ(x51) ==> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x15))))), Neg(Succ(Succ(Zero))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(x15, Zero, x15, Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x15))))))) 248.74/165.19 248.74/165.19 248.74/165.19 248.74/165.19 We simplified constraint (7) using rules (I), (II), (IV) which results in the following new constraint: 248.74/165.19 248.74/165.19 (8) (Zero=x53 & x15=x54 & Zero=x55 & new_primModNatS01(x15, x53, x54, x55)=Succ(x51) ==> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x15))))), Neg(Succ(Succ(Zero))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(x15, Zero, x15, Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x15))))))) 248.74/165.19 248.74/165.19 248.74/165.19 248.74/165.19 We simplified constraint (8) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS01(x15, x53, x54, x55)=Succ(x51) which results in the following new constraints: 248.74/165.19 248.74/165.19 (9) (new_primModNatS02(x58, x57)=Succ(x51) & Zero=x57 & x58=Zero & Zero=Zero ==> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x58))))), Neg(Succ(Succ(Zero))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(x58, Zero, x58, Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x58))))))) 248.74/165.19 248.74/165.19 (10) (new_primModNatS01(x62, x61, x60, x59)=Succ(x51) & Zero=x61 & x62=Succ(x60) & Zero=Succ(x59) & (\/x63:new_primModNatS01(x62, x61, x60, x59)=Succ(x63) & Zero=x61 & x62=x60 & Zero=x59 ==> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x62))))), Neg(Succ(Succ(Zero))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(x62, Zero, x62, Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x62))))))) ==> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x62))))), Neg(Succ(Succ(Zero))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(x62, Zero, x62, Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x62))))))) 248.74/165.19 248.74/165.19 (11) (new_primModNatS02(x66, x65)=Succ(x51) & Zero=x65 & x66=Succ(x64) & Zero=Zero ==> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x66))))), Neg(Succ(Succ(Zero))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(x66, Zero, x66, Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x66))))))) 248.74/165.19 248.74/165.19 (12) (Succ(Succ(x69))=Succ(x51) & Zero=x68 & x69=Zero & Zero=Succ(x67) ==> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x69))))), Neg(Succ(Succ(Zero))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(x69, Zero, x69, Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x69))))))) 248.74/165.19 248.74/165.19 248.74/165.19 248.74/165.19 We simplified constraint (9) using rules (I), (II), (III), (VII) which results in the following new constraint: 248.74/165.19 248.74/165.19 (13) (Zero=x70 & new_primModNatS02(x70, x57)=Succ(x51) & Zero=x57 ==> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Zero))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Zero, Zero, Zero, Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(Zero))))))) 248.74/165.19 248.74/165.19 248.74/165.19 248.74/165.19 We solved constraint (10) using rules (I), (II).We simplified constraint (11) using rules (I), (II), (III), (VII) which results in the following new constraint: 248.74/165.19 248.74/165.19 (14) (Succ(x64)=x77 & new_primModNatS02(x77, x65)=Succ(x51) & Zero=x65 ==> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Succ(x64)))))), Neg(Succ(Succ(Zero))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(x64), Zero, Succ(x64), Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(Succ(x64)))))))) 248.74/165.19 248.74/165.19 248.74/165.19 248.74/165.19 We solved constraint (12) using rules (I), (II).We simplified constraint (13) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS02(x70, x57)=Succ(x51) which results in the following new constraint: 248.74/165.19 248.74/165.19 (15) (new_primModNatS1(new_primMinusNatS2(Succ(x72), Succ(x71)), Succ(x71))=Succ(x51) & Zero=x72 & Zero=x71 ==> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Zero))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Zero, Zero, Zero, Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(Zero))))))) 248.74/165.19 248.74/165.19 248.74/165.19 248.74/165.19 We simplified constraint (15) using rules (III), (IV), (VII) which results in the following new constraint: 248.74/165.19 248.74/165.19 (16) (new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Zero))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Zero, Zero, Zero, Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(Zero))))))) 248.74/165.19 248.74/165.19 248.74/165.19 248.74/165.19 We simplified constraint (14) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS02(x77, x65)=Succ(x51) which results in the following new constraint: 248.74/165.19 248.74/165.19 (17) (new_primModNatS1(new_primMinusNatS2(Succ(x79), Succ(x78)), Succ(x78))=Succ(x51) & Succ(x64)=x79 & Zero=x78 ==> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Succ(x64)))))), Neg(Succ(Succ(Zero))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(x64), Zero, Succ(x64), Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(Succ(x64)))))))) 248.74/165.19 248.74/165.19 248.74/165.19 248.74/165.19 We simplified constraint (17) using rules (III), (IV), (VII) which results in the following new constraint: 248.74/165.19 248.74/165.19 (18) (new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Succ(x64)))))), Neg(Succ(Succ(Zero))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(x64), Zero, Succ(x64), Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(Succ(x64)))))))) 248.74/165.19 248.74/165.19 248.74/165.19 248.74/165.19 We simplified constraint (6) using rule (V) (with possible (I) afterwards) using induction on new_primEqInt(x84)=False which results in the following new constraint: 248.74/165.19 248.74/165.19 (19) (False=False & Pos(Zero)=Pos(Succ(x88)) & Zero=x85 & x15=x86 & Zero=x87 & new_primModNatS01(x15, x85, x86, x87)=Zero ==> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x15))))), Neg(Succ(Succ(Zero))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(x15, Zero, x15, Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x15))))))) 248.74/165.19 248.74/165.19 248.74/165.19 248.74/165.19 We solved constraint (19) using rules (I), (II). 248.74/165.19 248.74/165.19 248.74/165.19 248.74/165.19 248.74/165.19 To summarize, we get the following constraints P__>=_ for the following pairs. 248.74/165.19 248.74/165.19 *new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(new_primModNatS01(x0, Zero, x0, Zero))) 248.74/165.19 248.74/165.19 *(new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(new_primModNatS01(Zero, Zero, Zero, Zero)))) 248.74/165.19 248.74/165.19 248.74/165.19 *(new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(Succ(x30)))))))_>=_new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(new_primModNatS01(Succ(x30), Zero, Succ(x30), Zero)))) 248.74/165.19 248.74/165.19 248.74/165.19 248.74/165.19 248.74/165.19 *new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 248.74/165.19 248.74/165.19 *(new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x7)))))_>=_new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x7)))), Neg(Succ(Succ(Zero))))) 248.74/165.19 248.74/165.19 248.74/165.19 248.74/165.19 248.74/165.19 *new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 248.74/165.19 248.74/165.19 *(new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x14))))), Neg(Succ(Succ(Zero))))_>=_new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x14))))), Neg(Succ(Succ(Zero))))) 248.74/165.19 248.74/165.19 248.74/165.19 248.74/165.19 248.74/165.19 *new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(x0, Zero, x0, Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) 248.74/165.19 248.74/165.19 *(new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Zero))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Zero, Zero, Zero, Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(Zero))))))) 248.74/165.19 248.74/165.19 248.74/165.19 *(new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Succ(x64)))))), Neg(Succ(Succ(Zero))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(x64), Zero, Succ(x64), Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(Succ(x64)))))))) 248.74/165.19 248.74/165.19 248.74/165.19 248.74/165.19 248.74/165.19 248.74/165.19 248.74/165.19 248.74/165.19 248.74/165.19 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. 248.74/165.19 ---------------------------------------- 248.74/165.19 248.74/165.19 (326) 248.74/165.19 Obligation: 248.74/165.19 Q DP problem: 248.74/165.19 The TRS P consists of the following rules: 248.74/165.19 248.74/165.19 new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(new_primModNatS01(x0, Zero, x0, Zero))) 248.74/165.19 new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 248.74/165.19 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 248.74/165.19 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(x0, Zero, x0, Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) 248.74/165.19 248.74/165.19 The TRS R consists of the following rules: 248.74/165.19 248.74/165.19 new_primModNatS01(vyv330, vyv331, Zero, Zero) -> new_primModNatS02(vyv330, vyv331) 248.74/165.19 new_primModNatS02(vyv330, vyv331) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv330), Succ(vyv331)), Succ(vyv331)) 248.74/165.19 new_primModNatS1(Succ(Succ(vyv292000)), Succ(vyv291000)) -> new_primModNatS01(vyv292000, vyv291000, vyv292000, vyv291000) 248.74/165.19 new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Succ(vyv3330)) -> new_primModNatS01(vyv330, vyv331, vyv3320, vyv3330) 248.74/165.19 new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Zero) -> new_primModNatS02(vyv330, vyv331) 248.74/165.19 new_primMinusNatS2(Succ(vyv3100), Succ(vyv3110)) -> new_primMinusNatS2(vyv3100, vyv3110) 248.74/165.19 new_primModNatS1(Succ(Zero), Succ(vyv291000)) -> Succ(Zero) 248.74/165.19 new_primModNatS1(Zero, vyv29100) -> Zero 248.74/165.19 new_primModNatS01(vyv330, vyv331, Zero, Succ(vyv3330)) -> Succ(Succ(vyv330)) 248.74/165.19 new_primMinusNatS2(Zero, Zero) -> Zero 248.74/165.19 new_primMinusNatS2(Zero, Succ(vyv3110)) -> Zero 248.74/165.19 new_primMinusNatS2(Succ(vyv3100), Zero) -> Succ(vyv3100) 248.74/165.19 new_esEs(Pos(Succ(vyv24100))) -> new_primEqInt(Pos(Succ(vyv24100))) 248.74/165.19 new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) 248.74/165.19 new_primEqInt(Pos(Zero)) -> True 248.74/165.19 new_primEqInt(Pos(Succ(vyv242000))) -> False 248.74/165.19 248.74/165.19 The set Q consists of the following terms: 248.74/165.19 248.74/165.19 new_primModNatS1(Succ(Zero), Succ(x0)) 248.74/165.19 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 248.74/165.19 new_primEqInt(Pos(Zero)) 248.74/165.19 new_primModNatS02(x0, x1) 248.74/165.19 new_primModNatS01(x0, x1, Succ(x2), Zero) 248.74/165.19 new_primModNatS01(x0, x1, Zero, Succ(x2)) 248.74/165.19 new_primMinusNatS2(Zero, Zero) 248.74/165.19 new_esEs(Neg(Succ(x0))) 248.74/165.19 new_primMinusNatS2(Zero, Succ(x0)) 248.74/165.19 new_primModNatS1(Succ(Zero), Zero) 248.74/165.19 new_esEs(Pos(Zero)) 248.74/165.19 new_primEqInt(Neg(Succ(x0))) 248.74/165.19 new_primMinusNatS2(Succ(x0), Zero) 248.74/165.19 new_primEqInt(Neg(Zero)) 248.74/165.19 new_primModNatS01(x0, x1, Zero, Zero) 248.74/165.19 new_primEqInt(Pos(Succ(x0))) 248.74/165.19 new_primMinusNatS2(Succ(x0), Succ(x1)) 248.74/165.19 new_primModNatS1(Succ(Succ(x0)), Zero) 248.74/165.19 new_primModNatS1(Zero, x0) 248.74/165.19 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 248.74/165.19 new_esEs(Neg(Zero)) 248.74/165.19 new_esEs(Pos(Succ(x0))) 248.74/165.19 248.74/165.19 We have to consider all minimal (P,Q,R)-chains. 248.74/165.19 ---------------------------------------- 248.74/165.19 248.74/165.19 (327) 248.74/165.19 Obligation: 248.74/165.19 Q DP problem: 248.74/165.19 The TRS P consists of the following rules: 248.74/165.19 248.74/165.19 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) 248.74/165.19 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x3)))), Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))) 248.74/165.19 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) 248.74/165.19 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))) 248.74/165.19 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 248.74/165.19 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) 248.74/165.19 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) 248.74/165.19 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) 248.74/165.19 248.74/165.19 The TRS R consists of the following rules: 248.74/165.19 248.74/165.19 new_primModNatS1(Succ(Succ(vyv292000)), Succ(vyv291000)) -> new_primModNatS01(vyv292000, vyv291000, vyv292000, vyv291000) 248.74/165.19 new_primModNatS01(vyv330, vyv331, Zero, Zero) -> new_primModNatS02(vyv330, vyv331) 248.74/165.19 new_primModNatS02(vyv330, vyv331) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv330), Succ(vyv331)), Succ(vyv331)) 248.74/165.19 new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Succ(vyv3330)) -> new_primModNatS01(vyv330, vyv331, vyv3320, vyv3330) 248.74/165.19 new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Zero) -> new_primModNatS02(vyv330, vyv331) 248.74/165.19 new_primModNatS01(vyv330, vyv331, Zero, Succ(vyv3330)) -> Succ(Succ(vyv330)) 248.74/165.19 new_primMinusNatS2(Succ(vyv3100), Succ(vyv3110)) -> new_primMinusNatS2(vyv3100, vyv3110) 248.74/165.19 new_primModNatS1(Succ(Zero), Succ(vyv291000)) -> Succ(Zero) 248.74/165.19 new_primModNatS1(Zero, vyv29100) -> Zero 248.74/165.19 new_primMinusNatS2(Zero, Zero) -> Zero 248.74/165.19 new_primMinusNatS2(Zero, Succ(vyv3110)) -> Zero 248.74/165.19 new_primMinusNatS2(Succ(vyv3100), Zero) -> Succ(vyv3100) 248.74/165.19 new_esEs(Pos(Succ(vyv24100))) -> new_primEqInt(Pos(Succ(vyv24100))) 248.74/165.19 new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) 248.74/165.19 new_primEqInt(Pos(Zero)) -> True 248.74/165.19 new_primEqInt(Pos(Succ(vyv242000))) -> False 248.74/165.19 new_esEs(Neg(Succ(vyv24100))) -> new_primEqInt(Neg(Succ(vyv24100))) 248.74/165.19 new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) 248.74/165.19 new_primEqInt(Neg(Zero)) -> True 248.74/165.19 new_primEqInt(Neg(Succ(vyv242000))) -> False 248.74/165.19 248.74/165.19 The set Q consists of the following terms: 248.74/165.19 248.74/165.19 new_primModNatS1(Succ(Zero), Succ(x0)) 248.74/165.19 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 248.74/165.19 new_primEqInt(Pos(Zero)) 248.74/165.19 new_primModNatS02(x0, x1) 248.74/165.19 new_primModNatS01(x0, x1, Succ(x2), Zero) 248.74/165.19 new_primModNatS01(x0, x1, Zero, Succ(x2)) 248.74/165.19 new_primMinusNatS2(Zero, Zero) 248.74/165.19 new_esEs(Neg(Succ(x0))) 248.74/165.19 new_primMinusNatS2(Zero, Succ(x0)) 248.74/165.19 new_primModNatS1(Succ(Zero), Zero) 248.74/165.19 new_esEs(Pos(Zero)) 248.74/165.19 new_primEqInt(Neg(Succ(x0))) 248.74/165.19 new_primMinusNatS2(Succ(x0), Zero) 248.74/165.19 new_primEqInt(Neg(Zero)) 248.74/165.19 new_primModNatS01(x0, x1, Zero, Zero) 248.74/165.19 new_primEqInt(Pos(Succ(x0))) 248.74/165.19 new_primMinusNatS2(Succ(x0), Succ(x1)) 248.74/165.19 new_primModNatS1(Succ(Succ(x0)), Zero) 248.74/165.19 new_primModNatS1(Zero, x0) 248.74/165.19 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 248.74/165.19 new_esEs(Neg(Zero)) 248.74/165.19 new_esEs(Pos(Succ(x0))) 248.74/165.19 248.74/165.19 We have to consider all minimal (P,Q,R)-chains. 248.74/165.19 ---------------------------------------- 248.74/165.19 248.74/165.19 (328) TransformationProof (EQUIVALENT) 248.74/165.19 By narrowing [LPAR04] the rule new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x3)))), Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))) at position [1,0] we obtained the following new rules [LPAR04]: 248.74/165.19 248.74/165.19 (new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS02(Succ(Zero), Succ(Zero)))),new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS02(Succ(Zero), Succ(Zero))))) 248.74/165.19 (new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))),new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)))) 248.74/165.19 (new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Zero)))),new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Zero))))) 248.74/165.19 (new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))),new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))))) 248.74/165.19 248.74/165.19 248.74/165.19 ---------------------------------------- 248.74/165.19 248.74/165.19 (329) 248.74/165.19 Obligation: 248.74/165.19 Q DP problem: 248.74/165.19 The TRS P consists of the following rules: 248.74/165.19 248.74/165.19 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) 248.74/165.19 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) 248.74/165.19 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))) 248.74/165.19 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 248.74/165.19 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) 248.74/165.19 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) 248.74/165.19 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) 248.74/165.19 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS02(Succ(Zero), Succ(Zero)))) 248.74/165.19 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 248.74/165.19 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Zero)))) 248.74/165.19 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 248.74/165.19 248.74/165.19 The TRS R consists of the following rules: 248.74/165.19 248.74/165.19 new_primModNatS1(Succ(Succ(vyv292000)), Succ(vyv291000)) -> new_primModNatS01(vyv292000, vyv291000, vyv292000, vyv291000) 248.74/165.19 new_primModNatS01(vyv330, vyv331, Zero, Zero) -> new_primModNatS02(vyv330, vyv331) 248.74/165.19 new_primModNatS02(vyv330, vyv331) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv330), Succ(vyv331)), Succ(vyv331)) 248.74/165.19 new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Succ(vyv3330)) -> new_primModNatS01(vyv330, vyv331, vyv3320, vyv3330) 248.74/165.19 new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Zero) -> new_primModNatS02(vyv330, vyv331) 248.74/165.19 new_primModNatS01(vyv330, vyv331, Zero, Succ(vyv3330)) -> Succ(Succ(vyv330)) 248.74/165.19 new_primMinusNatS2(Succ(vyv3100), Succ(vyv3110)) -> new_primMinusNatS2(vyv3100, vyv3110) 248.74/165.19 new_primModNatS1(Succ(Zero), Succ(vyv291000)) -> Succ(Zero) 248.74/165.19 new_primModNatS1(Zero, vyv29100) -> Zero 248.74/165.19 new_primMinusNatS2(Zero, Zero) -> Zero 248.74/165.19 new_primMinusNatS2(Zero, Succ(vyv3110)) -> Zero 248.74/165.19 new_primMinusNatS2(Succ(vyv3100), Zero) -> Succ(vyv3100) 248.74/165.19 new_esEs(Pos(Succ(vyv24100))) -> new_primEqInt(Pos(Succ(vyv24100))) 248.74/165.19 new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) 248.74/165.19 new_primEqInt(Pos(Zero)) -> True 248.74/165.19 new_primEqInt(Pos(Succ(vyv242000))) -> False 248.74/165.19 new_esEs(Neg(Succ(vyv24100))) -> new_primEqInt(Neg(Succ(vyv24100))) 248.74/165.19 new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) 248.74/165.19 new_primEqInt(Neg(Zero)) -> True 248.74/165.19 new_primEqInt(Neg(Succ(vyv242000))) -> False 248.74/165.19 248.74/165.19 The set Q consists of the following terms: 248.74/165.19 248.74/165.19 new_primModNatS1(Succ(Zero), Succ(x0)) 248.74/165.19 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 248.74/165.19 new_primEqInt(Pos(Zero)) 248.74/165.19 new_primModNatS02(x0, x1) 248.74/165.19 new_primModNatS01(x0, x1, Succ(x2), Zero) 248.74/165.19 new_primModNatS01(x0, x1, Zero, Succ(x2)) 248.74/165.19 new_primMinusNatS2(Zero, Zero) 248.74/165.19 new_esEs(Neg(Succ(x0))) 248.74/165.19 new_primMinusNatS2(Zero, Succ(x0)) 248.74/165.19 new_primModNatS1(Succ(Zero), Zero) 248.74/165.19 new_esEs(Pos(Zero)) 248.74/165.19 new_primEqInt(Neg(Succ(x0))) 248.74/165.19 new_primMinusNatS2(Succ(x0), Zero) 248.74/165.19 new_primEqInt(Neg(Zero)) 248.74/165.19 new_primModNatS01(x0, x1, Zero, Zero) 248.74/165.19 new_primEqInt(Pos(Succ(x0))) 248.74/165.19 new_primMinusNatS2(Succ(x0), Succ(x1)) 248.74/165.19 new_primModNatS1(Succ(Succ(x0)), Zero) 248.74/165.19 new_primModNatS1(Zero, x0) 248.74/165.19 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 248.74/165.19 new_esEs(Neg(Zero)) 248.74/165.19 new_esEs(Pos(Succ(x0))) 248.74/165.19 248.74/165.19 We have to consider all minimal (P,Q,R)-chains. 248.74/165.19 ---------------------------------------- 248.74/165.19 248.74/165.19 (330) DependencyGraphProof (EQUIVALENT) 248.74/165.19 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. 248.74/165.19 ---------------------------------------- 248.74/165.19 248.74/165.19 (331) 248.74/165.19 Obligation: 248.74/165.19 Q DP problem: 248.74/165.19 The TRS P consists of the following rules: 248.74/165.19 248.74/165.19 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 248.74/165.19 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) 248.74/165.19 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))) 248.74/165.19 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) 248.74/165.19 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 248.74/165.19 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 248.74/165.19 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) 248.74/165.19 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) 248.74/165.19 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Zero)))) 248.74/165.19 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) 248.74/165.19 248.74/165.19 The TRS R consists of the following rules: 248.74/165.19 248.74/165.19 new_primModNatS1(Succ(Succ(vyv292000)), Succ(vyv291000)) -> new_primModNatS01(vyv292000, vyv291000, vyv292000, vyv291000) 248.74/165.19 new_primModNatS01(vyv330, vyv331, Zero, Zero) -> new_primModNatS02(vyv330, vyv331) 248.74/165.19 new_primModNatS02(vyv330, vyv331) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv330), Succ(vyv331)), Succ(vyv331)) 248.74/165.19 new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Succ(vyv3330)) -> new_primModNatS01(vyv330, vyv331, vyv3320, vyv3330) 248.74/165.19 new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Zero) -> new_primModNatS02(vyv330, vyv331) 248.74/165.19 new_primModNatS01(vyv330, vyv331, Zero, Succ(vyv3330)) -> Succ(Succ(vyv330)) 248.74/165.19 new_primMinusNatS2(Succ(vyv3100), Succ(vyv3110)) -> new_primMinusNatS2(vyv3100, vyv3110) 248.74/165.19 new_primModNatS1(Succ(Zero), Succ(vyv291000)) -> Succ(Zero) 248.74/165.19 new_primModNatS1(Zero, vyv29100) -> Zero 248.74/165.19 new_primMinusNatS2(Zero, Zero) -> Zero 248.74/165.19 new_primMinusNatS2(Zero, Succ(vyv3110)) -> Zero 248.74/165.19 new_primMinusNatS2(Succ(vyv3100), Zero) -> Succ(vyv3100) 248.74/165.19 new_esEs(Pos(Succ(vyv24100))) -> new_primEqInt(Pos(Succ(vyv24100))) 248.74/165.19 new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) 248.74/165.19 new_primEqInt(Pos(Zero)) -> True 248.74/165.19 new_primEqInt(Pos(Succ(vyv242000))) -> False 248.74/165.19 new_esEs(Neg(Succ(vyv24100))) -> new_primEqInt(Neg(Succ(vyv24100))) 248.74/165.19 new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) 248.74/165.19 new_primEqInt(Neg(Zero)) -> True 248.74/165.19 new_primEqInt(Neg(Succ(vyv242000))) -> False 248.74/165.19 248.74/165.19 The set Q consists of the following terms: 248.74/165.19 248.74/165.19 new_primModNatS1(Succ(Zero), Succ(x0)) 248.74/165.19 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 248.74/165.19 new_primEqInt(Pos(Zero)) 248.74/165.19 new_primModNatS02(x0, x1) 248.74/165.19 new_primModNatS01(x0, x1, Succ(x2), Zero) 248.74/165.19 new_primModNatS01(x0, x1, Zero, Succ(x2)) 248.74/165.19 new_primMinusNatS2(Zero, Zero) 248.74/165.19 new_esEs(Neg(Succ(x0))) 248.74/165.19 new_primMinusNatS2(Zero, Succ(x0)) 248.74/165.19 new_primModNatS1(Succ(Zero), Zero) 248.74/165.19 new_esEs(Pos(Zero)) 248.74/165.19 new_primEqInt(Neg(Succ(x0))) 248.74/165.19 new_primMinusNatS2(Succ(x0), Zero) 248.74/165.19 new_primEqInt(Neg(Zero)) 248.74/165.19 new_primModNatS01(x0, x1, Zero, Zero) 248.74/165.19 new_primEqInt(Pos(Succ(x0))) 248.74/165.19 new_primMinusNatS2(Succ(x0), Succ(x1)) 248.74/165.19 new_primModNatS1(Succ(Succ(x0)), Zero) 248.74/165.19 new_primModNatS1(Zero, x0) 248.74/165.19 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 248.74/165.19 new_esEs(Neg(Zero)) 248.74/165.19 new_esEs(Pos(Succ(x0))) 248.74/165.19 248.74/165.19 We have to consider all minimal (P,Q,R)-chains. 248.74/165.19 ---------------------------------------- 248.74/165.19 248.74/165.19 (332) TransformationProof (EQUIVALENT) 248.74/165.19 By rewriting [LPAR04] the rule new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Zero)))) at position [1,0] we obtained the following new rules [LPAR04]: 248.74/165.19 248.74/165.19 (new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(Succ(x2))), Succ(Succ(Zero))), Succ(Succ(Zero))))),new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(Succ(x2))), Succ(Succ(Zero))), Succ(Succ(Zero)))))) 248.74/165.19 248.74/165.19 248.74/165.19 ---------------------------------------- 248.74/165.19 248.74/165.19 (333) 248.74/165.19 Obligation: 248.74/165.19 Q DP problem: 248.74/165.19 The TRS P consists of the following rules: 248.74/165.19 248.74/165.19 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 248.74/165.19 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) 248.74/165.19 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))) 248.74/165.19 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) 248.74/165.19 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 248.74/165.19 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 248.74/165.19 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) 248.74/165.19 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) 248.74/165.19 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) 248.74/165.19 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(Succ(x2))), Succ(Succ(Zero))), Succ(Succ(Zero))))) 248.74/165.19 248.74/165.19 The TRS R consists of the following rules: 248.74/165.19 248.74/165.19 new_primModNatS1(Succ(Succ(vyv292000)), Succ(vyv291000)) -> new_primModNatS01(vyv292000, vyv291000, vyv292000, vyv291000) 248.74/165.19 new_primModNatS01(vyv330, vyv331, Zero, Zero) -> new_primModNatS02(vyv330, vyv331) 248.74/165.19 new_primModNatS02(vyv330, vyv331) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv330), Succ(vyv331)), Succ(vyv331)) 248.74/165.19 new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Succ(vyv3330)) -> new_primModNatS01(vyv330, vyv331, vyv3320, vyv3330) 248.74/165.19 new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Zero) -> new_primModNatS02(vyv330, vyv331) 248.74/165.19 new_primModNatS01(vyv330, vyv331, Zero, Succ(vyv3330)) -> Succ(Succ(vyv330)) 248.74/165.19 new_primMinusNatS2(Succ(vyv3100), Succ(vyv3110)) -> new_primMinusNatS2(vyv3100, vyv3110) 248.74/165.19 new_primModNatS1(Succ(Zero), Succ(vyv291000)) -> Succ(Zero) 248.74/165.19 new_primModNatS1(Zero, vyv29100) -> Zero 248.74/165.19 new_primMinusNatS2(Zero, Zero) -> Zero 248.74/165.19 new_primMinusNatS2(Zero, Succ(vyv3110)) -> Zero 248.74/165.19 new_primMinusNatS2(Succ(vyv3100), Zero) -> Succ(vyv3100) 248.74/165.19 new_esEs(Pos(Succ(vyv24100))) -> new_primEqInt(Pos(Succ(vyv24100))) 248.74/165.19 new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) 248.74/165.19 new_primEqInt(Pos(Zero)) -> True 248.74/165.19 new_primEqInt(Pos(Succ(vyv242000))) -> False 248.74/165.19 new_esEs(Neg(Succ(vyv24100))) -> new_primEqInt(Neg(Succ(vyv24100))) 248.74/165.19 new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) 248.74/165.19 new_primEqInt(Neg(Zero)) -> True 248.74/165.19 new_primEqInt(Neg(Succ(vyv242000))) -> False 248.74/165.19 248.74/165.19 The set Q consists of the following terms: 248.74/165.19 248.74/165.19 new_primModNatS1(Succ(Zero), Succ(x0)) 248.74/165.19 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 248.74/165.19 new_primEqInt(Pos(Zero)) 248.74/165.19 new_primModNatS02(x0, x1) 248.74/165.19 new_primModNatS01(x0, x1, Succ(x2), Zero) 248.74/165.19 new_primModNatS01(x0, x1, Zero, Succ(x2)) 248.74/165.19 new_primMinusNatS2(Zero, Zero) 248.74/165.19 new_esEs(Neg(Succ(x0))) 248.74/165.19 new_primMinusNatS2(Zero, Succ(x0)) 248.74/165.19 new_primModNatS1(Succ(Zero), Zero) 248.74/165.19 new_esEs(Pos(Zero)) 248.74/165.19 new_primEqInt(Neg(Succ(x0))) 248.74/165.19 new_primMinusNatS2(Succ(x0), Zero) 248.74/165.19 new_primEqInt(Neg(Zero)) 248.74/165.19 new_primModNatS01(x0, x1, Zero, Zero) 248.74/165.19 new_primEqInt(Pos(Succ(x0))) 248.74/165.19 new_primMinusNatS2(Succ(x0), Succ(x1)) 248.74/165.19 new_primModNatS1(Succ(Succ(x0)), Zero) 248.74/165.19 new_primModNatS1(Zero, x0) 248.74/165.19 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 248.74/165.19 new_esEs(Neg(Zero)) 248.74/165.19 new_esEs(Pos(Succ(x0))) 248.74/165.19 248.74/165.19 We have to consider all minimal (P,Q,R)-chains. 248.74/165.19 ---------------------------------------- 248.74/165.19 248.74/165.19 (334) TransformationProof (EQUIVALENT) 248.74/165.19 By rewriting [LPAR04] the rule new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(Succ(x2))), Succ(Succ(Zero))), Succ(Succ(Zero))))) at position [1,0,0] we obtained the following new rules [LPAR04]: 248.74/165.19 248.74/165.19 (new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Succ(Zero))))),new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Succ(Zero)))))) 248.74/165.19 248.74/165.19 248.74/165.19 ---------------------------------------- 248.74/165.19 248.74/165.19 (335) 248.74/165.19 Obligation: 248.74/165.19 Q DP problem: 248.74/165.19 The TRS P consists of the following rules: 248.74/165.19 248.74/165.19 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 248.74/165.19 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) 248.74/165.19 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))) 248.74/165.19 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) 248.74/165.19 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 248.74/165.19 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 248.74/165.19 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) 248.74/165.19 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) 248.74/165.19 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) 248.74/165.19 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Succ(Zero))))) 248.74/165.19 248.74/165.19 The TRS R consists of the following rules: 248.74/165.19 248.74/165.19 new_primModNatS1(Succ(Succ(vyv292000)), Succ(vyv291000)) -> new_primModNatS01(vyv292000, vyv291000, vyv292000, vyv291000) 248.74/165.19 new_primModNatS01(vyv330, vyv331, Zero, Zero) -> new_primModNatS02(vyv330, vyv331) 248.74/165.19 new_primModNatS02(vyv330, vyv331) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv330), Succ(vyv331)), Succ(vyv331)) 248.74/165.19 new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Succ(vyv3330)) -> new_primModNatS01(vyv330, vyv331, vyv3320, vyv3330) 248.74/165.19 new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Zero) -> new_primModNatS02(vyv330, vyv331) 248.74/165.19 new_primModNatS01(vyv330, vyv331, Zero, Succ(vyv3330)) -> Succ(Succ(vyv330)) 248.74/165.19 new_primMinusNatS2(Succ(vyv3100), Succ(vyv3110)) -> new_primMinusNatS2(vyv3100, vyv3110) 248.74/165.19 new_primModNatS1(Succ(Zero), Succ(vyv291000)) -> Succ(Zero) 248.74/165.19 new_primModNatS1(Zero, vyv29100) -> Zero 248.74/165.19 new_primMinusNatS2(Zero, Zero) -> Zero 248.74/165.19 new_primMinusNatS2(Zero, Succ(vyv3110)) -> Zero 248.74/165.19 new_primMinusNatS2(Succ(vyv3100), Zero) -> Succ(vyv3100) 248.74/165.19 new_esEs(Pos(Succ(vyv24100))) -> new_primEqInt(Pos(Succ(vyv24100))) 248.74/165.19 new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) 248.74/165.19 new_primEqInt(Pos(Zero)) -> True 248.74/165.19 new_primEqInt(Pos(Succ(vyv242000))) -> False 248.74/165.19 new_esEs(Neg(Succ(vyv24100))) -> new_primEqInt(Neg(Succ(vyv24100))) 248.74/165.19 new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) 248.74/165.19 new_primEqInt(Neg(Zero)) -> True 248.74/165.19 new_primEqInt(Neg(Succ(vyv242000))) -> False 248.74/165.19 248.74/165.19 The set Q consists of the following terms: 248.74/165.19 248.74/165.19 new_primModNatS1(Succ(Zero), Succ(x0)) 248.74/165.19 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 248.74/165.19 new_primEqInt(Pos(Zero)) 248.74/165.19 new_primModNatS02(x0, x1) 248.74/165.19 new_primModNatS01(x0, x1, Succ(x2), Zero) 248.74/165.19 new_primModNatS01(x0, x1, Zero, Succ(x2)) 248.74/165.19 new_primMinusNatS2(Zero, Zero) 248.74/165.19 new_esEs(Neg(Succ(x0))) 248.74/165.19 new_primMinusNatS2(Zero, Succ(x0)) 248.74/165.19 new_primModNatS1(Succ(Zero), Zero) 248.74/165.19 new_esEs(Pos(Zero)) 248.74/165.19 new_primEqInt(Neg(Succ(x0))) 248.74/165.19 new_primMinusNatS2(Succ(x0), Zero) 248.74/165.19 new_primEqInt(Neg(Zero)) 248.74/165.19 new_primModNatS01(x0, x1, Zero, Zero) 248.74/165.19 new_primEqInt(Pos(Succ(x0))) 248.74/165.19 new_primMinusNatS2(Succ(x0), Succ(x1)) 248.74/165.19 new_primModNatS1(Succ(Succ(x0)), Zero) 248.74/165.19 new_primModNatS1(Zero, x0) 248.74/165.19 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 248.74/165.19 new_esEs(Neg(Zero)) 248.74/165.19 new_esEs(Pos(Succ(x0))) 248.74/165.19 248.74/165.19 We have to consider all minimal (P,Q,R)-chains. 248.74/165.19 ---------------------------------------- 248.74/165.19 248.74/165.19 (336) TransformationProof (EQUIVALENT) 248.74/165.19 By rewriting [LPAR04] the rule new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Succ(Zero))))) at position [1,0,0] we obtained the following new rules [LPAR04]: 248.74/165.19 248.74/165.19 (new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Succ(Zero))))),new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Succ(Zero)))))) 248.74/165.19 248.74/165.19 248.74/165.19 ---------------------------------------- 248.74/165.19 248.74/165.19 (337) 248.74/165.19 Obligation: 248.74/165.19 Q DP problem: 248.74/165.19 The TRS P consists of the following rules: 248.74/165.19 248.74/165.19 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 248.74/165.19 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) 248.74/165.19 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))) 248.74/165.19 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) 248.74/165.19 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 248.74/165.19 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 248.74/165.19 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) 248.74/165.19 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) 248.74/165.19 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) 248.74/165.19 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Succ(Zero))))) 248.74/165.19 248.74/165.19 The TRS R consists of the following rules: 248.74/165.19 248.74/165.19 new_primModNatS1(Succ(Succ(vyv292000)), Succ(vyv291000)) -> new_primModNatS01(vyv292000, vyv291000, vyv292000, vyv291000) 248.74/165.19 new_primModNatS01(vyv330, vyv331, Zero, Zero) -> new_primModNatS02(vyv330, vyv331) 248.74/165.19 new_primModNatS02(vyv330, vyv331) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv330), Succ(vyv331)), Succ(vyv331)) 248.74/165.19 new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Succ(vyv3330)) -> new_primModNatS01(vyv330, vyv331, vyv3320, vyv3330) 248.74/165.19 new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Zero) -> new_primModNatS02(vyv330, vyv331) 248.74/165.19 new_primModNatS01(vyv330, vyv331, Zero, Succ(vyv3330)) -> Succ(Succ(vyv330)) 248.74/165.19 new_primMinusNatS2(Succ(vyv3100), Succ(vyv3110)) -> new_primMinusNatS2(vyv3100, vyv3110) 248.74/165.19 new_primModNatS1(Succ(Zero), Succ(vyv291000)) -> Succ(Zero) 248.74/165.19 new_primModNatS1(Zero, vyv29100) -> Zero 248.74/165.19 new_primMinusNatS2(Zero, Zero) -> Zero 248.74/165.19 new_primMinusNatS2(Zero, Succ(vyv3110)) -> Zero 248.74/165.19 new_primMinusNatS2(Succ(vyv3100), Zero) -> Succ(vyv3100) 248.74/165.19 new_esEs(Pos(Succ(vyv24100))) -> new_primEqInt(Pos(Succ(vyv24100))) 248.74/165.19 new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) 248.74/165.19 new_primEqInt(Pos(Zero)) -> True 248.74/165.19 new_primEqInt(Pos(Succ(vyv242000))) -> False 248.74/165.19 new_esEs(Neg(Succ(vyv24100))) -> new_primEqInt(Neg(Succ(vyv24100))) 248.74/165.19 new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) 248.74/165.19 new_primEqInt(Neg(Zero)) -> True 248.74/165.19 new_primEqInt(Neg(Succ(vyv242000))) -> False 248.74/165.19 248.74/165.19 The set Q consists of the following terms: 248.74/165.19 248.74/165.19 new_primModNatS1(Succ(Zero), Succ(x0)) 248.74/165.19 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 248.74/165.19 new_primEqInt(Pos(Zero)) 248.74/165.19 new_primModNatS02(x0, x1) 248.74/165.19 new_primModNatS01(x0, x1, Succ(x2), Zero) 248.74/165.19 new_primModNatS01(x0, x1, Zero, Succ(x2)) 248.74/165.19 new_primMinusNatS2(Zero, Zero) 248.74/165.19 new_esEs(Neg(Succ(x0))) 248.74/165.19 new_primMinusNatS2(Zero, Succ(x0)) 248.74/165.19 new_primModNatS1(Succ(Zero), Zero) 248.74/165.19 new_esEs(Pos(Zero)) 248.74/165.19 new_primEqInt(Neg(Succ(x0))) 248.74/165.19 new_primMinusNatS2(Succ(x0), Zero) 248.74/165.19 new_primEqInt(Neg(Zero)) 248.74/165.19 new_primModNatS01(x0, x1, Zero, Zero) 248.74/165.19 new_primEqInt(Pos(Succ(x0))) 248.74/165.19 new_primMinusNatS2(Succ(x0), Succ(x1)) 248.74/165.19 new_primModNatS1(Succ(Succ(x0)), Zero) 248.74/165.19 new_primModNatS1(Zero, x0) 248.74/165.19 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 248.74/165.19 new_esEs(Neg(Zero)) 248.74/165.19 new_esEs(Pos(Succ(x0))) 248.74/165.19 248.74/165.19 We have to consider all minimal (P,Q,R)-chains. 248.74/165.19 ---------------------------------------- 248.74/165.19 248.74/165.19 (338) TransformationProof (EQUIVALENT) 248.74/165.19 By rewriting [LPAR04] the rule new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Succ(Zero))))) at position [1,0,0] we obtained the following new rules [LPAR04]: 248.74/165.19 248.74/165.19 (new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))),new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))))) 248.74/165.19 248.74/165.19 248.74/165.19 ---------------------------------------- 248.74/165.19 248.74/165.19 (339) 248.74/165.19 Obligation: 248.74/165.19 Q DP problem: 248.74/165.19 The TRS P consists of the following rules: 248.74/165.19 248.74/165.19 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 248.74/165.19 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) 248.74/165.19 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))) 248.74/165.19 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) 248.74/165.19 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 248.74/165.19 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 248.74/165.19 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) 248.74/165.19 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) 248.74/165.19 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) 248.74/165.19 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 248.74/165.19 248.74/165.19 The TRS R consists of the following rules: 248.74/165.19 248.74/165.19 new_primModNatS1(Succ(Succ(vyv292000)), Succ(vyv291000)) -> new_primModNatS01(vyv292000, vyv291000, vyv292000, vyv291000) 248.74/165.19 new_primModNatS01(vyv330, vyv331, Zero, Zero) -> new_primModNatS02(vyv330, vyv331) 248.74/165.19 new_primModNatS02(vyv330, vyv331) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv330), Succ(vyv331)), Succ(vyv331)) 248.74/165.19 new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Succ(vyv3330)) -> new_primModNatS01(vyv330, vyv331, vyv3320, vyv3330) 248.74/165.19 new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Zero) -> new_primModNatS02(vyv330, vyv331) 248.74/165.19 new_primModNatS01(vyv330, vyv331, Zero, Succ(vyv3330)) -> Succ(Succ(vyv330)) 248.74/165.19 new_primMinusNatS2(Succ(vyv3100), Succ(vyv3110)) -> new_primMinusNatS2(vyv3100, vyv3110) 248.74/165.19 new_primModNatS1(Succ(Zero), Succ(vyv291000)) -> Succ(Zero) 248.74/165.19 new_primModNatS1(Zero, vyv29100) -> Zero 248.74/165.19 new_primMinusNatS2(Zero, Zero) -> Zero 248.74/165.19 new_primMinusNatS2(Zero, Succ(vyv3110)) -> Zero 248.74/165.19 new_primMinusNatS2(Succ(vyv3100), Zero) -> Succ(vyv3100) 248.74/165.19 new_esEs(Pos(Succ(vyv24100))) -> new_primEqInt(Pos(Succ(vyv24100))) 248.74/165.19 new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) 248.74/165.19 new_primEqInt(Pos(Zero)) -> True 248.74/165.19 new_primEqInt(Pos(Succ(vyv242000))) -> False 248.74/165.19 new_esEs(Neg(Succ(vyv24100))) -> new_primEqInt(Neg(Succ(vyv24100))) 248.74/165.19 new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) 248.74/165.19 new_primEqInt(Neg(Zero)) -> True 248.74/165.19 new_primEqInt(Neg(Succ(vyv242000))) -> False 248.74/165.19 248.74/165.19 The set Q consists of the following terms: 248.74/165.19 248.74/165.19 new_primModNatS1(Succ(Zero), Succ(x0)) 248.74/165.19 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 248.74/165.19 new_primEqInt(Pos(Zero)) 248.74/165.19 new_primModNatS02(x0, x1) 248.74/165.19 new_primModNatS01(x0, x1, Succ(x2), Zero) 248.74/165.19 new_primModNatS01(x0, x1, Zero, Succ(x2)) 248.74/165.19 new_primMinusNatS2(Zero, Zero) 248.74/165.19 new_esEs(Neg(Succ(x0))) 248.74/165.19 new_primMinusNatS2(Zero, Succ(x0)) 248.74/165.19 new_primModNatS1(Succ(Zero), Zero) 248.74/165.19 new_esEs(Pos(Zero)) 248.74/165.19 new_primEqInt(Neg(Succ(x0))) 248.74/165.19 new_primMinusNatS2(Succ(x0), Zero) 248.74/165.19 new_primEqInt(Neg(Zero)) 248.74/165.19 new_primModNatS01(x0, x1, Zero, Zero) 248.74/165.19 new_primEqInt(Pos(Succ(x0))) 248.74/165.19 new_primMinusNatS2(Succ(x0), Succ(x1)) 248.74/165.19 new_primModNatS1(Succ(Succ(x0)), Zero) 248.74/165.19 new_primModNatS1(Zero, x0) 248.74/165.19 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 248.74/165.19 new_esEs(Neg(Zero)) 248.74/165.19 new_esEs(Pos(Succ(x0))) 248.74/165.19 248.74/165.19 We have to consider all minimal (P,Q,R)-chains. 248.74/165.19 ---------------------------------------- 248.74/165.19 248.74/165.19 (340) TransformationProof (EQUIVALENT) 248.74/165.19 By narrowing [LPAR04] the rule new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))) at position [1,0] we obtained the following new rules [LPAR04]: 248.74/165.19 248.74/165.19 (new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS02(Succ(Zero), Succ(Zero)))),new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS02(Succ(Zero), Succ(Zero))))) 248.74/165.19 (new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x3))))), Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))),new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x3))))), Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)))) 248.74/165.19 (new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Zero)))),new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Zero))))) 248.74/165.19 (new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))),new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))))) 248.74/165.19 248.74/165.19 248.74/165.19 ---------------------------------------- 248.74/165.19 248.74/165.19 (341) 248.74/165.19 Obligation: 248.74/165.19 Q DP problem: 248.74/165.19 The TRS P consists of the following rules: 248.74/165.19 248.74/165.19 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 248.74/165.19 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) 248.74/165.19 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) 248.74/165.19 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 248.74/165.19 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 248.74/165.19 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) 248.74/165.19 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) 248.74/165.19 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) 248.74/165.19 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 248.74/165.19 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS02(Succ(Zero), Succ(Zero)))) 248.74/165.19 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x3))))), Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 248.74/165.19 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Zero)))) 248.74/165.19 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) 248.74/165.19 248.74/165.19 The TRS R consists of the following rules: 248.74/165.19 248.74/165.19 new_primModNatS1(Succ(Succ(vyv292000)), Succ(vyv291000)) -> new_primModNatS01(vyv292000, vyv291000, vyv292000, vyv291000) 248.74/165.19 new_primModNatS01(vyv330, vyv331, Zero, Zero) -> new_primModNatS02(vyv330, vyv331) 248.74/165.19 new_primModNatS02(vyv330, vyv331) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv330), Succ(vyv331)), Succ(vyv331)) 248.74/165.19 new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Succ(vyv3330)) -> new_primModNatS01(vyv330, vyv331, vyv3320, vyv3330) 248.74/165.19 new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Zero) -> new_primModNatS02(vyv330, vyv331) 248.74/165.19 new_primModNatS01(vyv330, vyv331, Zero, Succ(vyv3330)) -> Succ(Succ(vyv330)) 248.74/165.19 new_primMinusNatS2(Succ(vyv3100), Succ(vyv3110)) -> new_primMinusNatS2(vyv3100, vyv3110) 248.74/165.19 new_primModNatS1(Succ(Zero), Succ(vyv291000)) -> Succ(Zero) 248.74/165.19 new_primModNatS1(Zero, vyv29100) -> Zero 248.74/165.19 new_primMinusNatS2(Zero, Zero) -> Zero 248.74/165.19 new_primMinusNatS2(Zero, Succ(vyv3110)) -> Zero 248.74/165.19 new_primMinusNatS2(Succ(vyv3100), Zero) -> Succ(vyv3100) 248.74/165.19 new_esEs(Pos(Succ(vyv24100))) -> new_primEqInt(Pos(Succ(vyv24100))) 248.74/165.19 new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) 248.74/165.19 new_primEqInt(Pos(Zero)) -> True 248.74/165.19 new_primEqInt(Pos(Succ(vyv242000))) -> False 248.74/165.19 new_esEs(Neg(Succ(vyv24100))) -> new_primEqInt(Neg(Succ(vyv24100))) 248.74/165.19 new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) 248.74/165.19 new_primEqInt(Neg(Zero)) -> True 248.74/165.19 new_primEqInt(Neg(Succ(vyv242000))) -> False 248.74/165.19 248.74/165.19 The set Q consists of the following terms: 248.74/165.19 248.74/165.19 new_primModNatS1(Succ(Zero), Succ(x0)) 248.74/165.19 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 248.74/165.19 new_primEqInt(Pos(Zero)) 248.74/165.19 new_primModNatS02(x0, x1) 248.74/165.19 new_primModNatS01(x0, x1, Succ(x2), Zero) 248.74/165.19 new_primModNatS01(x0, x1, Zero, Succ(x2)) 248.74/165.19 new_primMinusNatS2(Zero, Zero) 248.74/165.19 new_esEs(Neg(Succ(x0))) 248.74/165.19 new_primMinusNatS2(Zero, Succ(x0)) 248.74/165.19 new_primModNatS1(Succ(Zero), Zero) 248.74/165.19 new_esEs(Pos(Zero)) 248.74/165.19 new_primEqInt(Neg(Succ(x0))) 248.74/165.19 new_primMinusNatS2(Succ(x0), Zero) 248.74/165.19 new_primEqInt(Neg(Zero)) 248.74/165.19 new_primModNatS01(x0, x1, Zero, Zero) 248.74/165.19 new_primEqInt(Pos(Succ(x0))) 248.74/165.19 new_primMinusNatS2(Succ(x0), Succ(x1)) 248.74/165.19 new_primModNatS1(Succ(Succ(x0)), Zero) 248.74/165.19 new_primModNatS1(Zero, x0) 248.74/165.19 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 248.74/165.19 new_esEs(Neg(Zero)) 248.74/165.19 new_esEs(Pos(Succ(x0))) 248.74/165.19 248.74/165.19 We have to consider all minimal (P,Q,R)-chains. 248.74/165.19 ---------------------------------------- 248.74/165.19 248.74/165.19 (342) DependencyGraphProof (EQUIVALENT) 248.74/165.19 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 3 SCCs with 1 less node. 248.74/165.19 ---------------------------------------- 248.74/165.19 248.74/165.19 (343) 248.74/165.19 Complex Obligation (AND) 248.74/165.19 248.74/165.19 ---------------------------------------- 248.74/165.19 248.74/165.19 (344) 248.74/165.19 Obligation: 248.74/165.19 Q DP problem: 248.74/165.19 The TRS P consists of the following rules: 248.74/165.19 248.74/165.19 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 248.74/165.19 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) 248.74/165.19 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) 248.74/165.19 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) 248.74/165.19 248.74/165.19 The TRS R consists of the following rules: 248.74/165.19 248.74/165.19 new_primModNatS1(Succ(Succ(vyv292000)), Succ(vyv291000)) -> new_primModNatS01(vyv292000, vyv291000, vyv292000, vyv291000) 248.74/165.19 new_primModNatS01(vyv330, vyv331, Zero, Zero) -> new_primModNatS02(vyv330, vyv331) 248.74/165.19 new_primModNatS02(vyv330, vyv331) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv330), Succ(vyv331)), Succ(vyv331)) 248.74/165.19 new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Succ(vyv3330)) -> new_primModNatS01(vyv330, vyv331, vyv3320, vyv3330) 248.74/165.19 new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Zero) -> new_primModNatS02(vyv330, vyv331) 248.74/165.19 new_primModNatS01(vyv330, vyv331, Zero, Succ(vyv3330)) -> Succ(Succ(vyv330)) 248.74/165.19 new_primMinusNatS2(Succ(vyv3100), Succ(vyv3110)) -> new_primMinusNatS2(vyv3100, vyv3110) 248.74/165.19 new_primModNatS1(Succ(Zero), Succ(vyv291000)) -> Succ(Zero) 248.74/165.19 new_primModNatS1(Zero, vyv29100) -> Zero 248.74/165.19 new_primMinusNatS2(Zero, Zero) -> Zero 248.74/165.19 new_primMinusNatS2(Zero, Succ(vyv3110)) -> Zero 248.74/165.19 new_primMinusNatS2(Succ(vyv3100), Zero) -> Succ(vyv3100) 248.74/165.19 new_esEs(Pos(Succ(vyv24100))) -> new_primEqInt(Pos(Succ(vyv24100))) 248.74/165.19 new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) 248.74/165.19 new_primEqInt(Pos(Zero)) -> True 248.74/165.19 new_primEqInt(Pos(Succ(vyv242000))) -> False 248.74/165.19 new_esEs(Neg(Succ(vyv24100))) -> new_primEqInt(Neg(Succ(vyv24100))) 248.74/165.19 new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) 248.74/165.19 new_primEqInt(Neg(Zero)) -> True 248.74/165.19 new_primEqInt(Neg(Succ(vyv242000))) -> False 248.74/165.19 248.74/165.19 The set Q consists of the following terms: 248.74/165.19 248.74/165.19 new_primModNatS1(Succ(Zero), Succ(x0)) 248.74/165.19 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 248.74/165.19 new_primEqInt(Pos(Zero)) 248.74/165.19 new_primModNatS02(x0, x1) 248.74/165.19 new_primModNatS01(x0, x1, Succ(x2), Zero) 248.74/165.19 new_primModNatS01(x0, x1, Zero, Succ(x2)) 248.74/165.19 new_primMinusNatS2(Zero, Zero) 248.74/165.19 new_esEs(Neg(Succ(x0))) 248.74/165.19 new_primMinusNatS2(Zero, Succ(x0)) 248.74/165.19 new_primModNatS1(Succ(Zero), Zero) 248.74/165.19 new_esEs(Pos(Zero)) 248.74/165.19 new_primEqInt(Neg(Succ(x0))) 248.74/165.19 new_primMinusNatS2(Succ(x0), Zero) 248.74/165.19 new_primEqInt(Neg(Zero)) 248.74/165.19 new_primModNatS01(x0, x1, Zero, Zero) 248.74/165.19 new_primEqInt(Pos(Succ(x0))) 248.74/165.19 new_primMinusNatS2(Succ(x0), Succ(x1)) 248.74/165.19 new_primModNatS1(Succ(Succ(x0)), Zero) 248.74/165.19 new_primModNatS1(Zero, x0) 248.74/165.19 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 248.74/165.19 new_esEs(Neg(Zero)) 248.74/165.19 new_esEs(Pos(Succ(x0))) 248.74/165.19 248.74/165.19 We have to consider all minimal (P,Q,R)-chains. 248.74/165.19 ---------------------------------------- 248.74/165.19 248.74/165.19 (345) UsableRulesProof (EQUIVALENT) 248.74/165.19 As all Q-normal forms are R-normal forms we are in the innermost case. Hence, by the usable rules processor [LPAR04] we can delete all non-usable rules [FROCOS05] from R. 248.74/165.19 ---------------------------------------- 248.74/165.19 248.74/165.19 (346) 248.74/165.19 Obligation: 248.74/165.19 Q DP problem: 248.74/165.19 The TRS P consists of the following rules: 248.74/165.19 248.74/165.19 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 248.74/165.19 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) 248.74/165.19 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) 248.74/165.19 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) 248.74/165.19 248.74/165.19 The TRS R consists of the following rules: 248.74/165.19 248.74/165.19 new_primModNatS01(vyv330, vyv331, Zero, Zero) -> new_primModNatS02(vyv330, vyv331) 248.74/165.19 new_primModNatS02(vyv330, vyv331) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv330), Succ(vyv331)), Succ(vyv331)) 248.74/165.19 new_primModNatS1(Succ(Succ(vyv292000)), Succ(vyv291000)) -> new_primModNatS01(vyv292000, vyv291000, vyv292000, vyv291000) 248.74/165.19 new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Succ(vyv3330)) -> new_primModNatS01(vyv330, vyv331, vyv3320, vyv3330) 248.74/165.19 new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Zero) -> new_primModNatS02(vyv330, vyv331) 248.74/165.19 new_primModNatS1(Succ(Zero), Succ(vyv291000)) -> Succ(Zero) 248.74/165.19 new_esEs(Pos(Succ(vyv24100))) -> new_primEqInt(Pos(Succ(vyv24100))) 248.74/165.19 new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) 248.74/165.19 new_primEqInt(Pos(Zero)) -> True 248.74/165.19 new_primEqInt(Pos(Succ(vyv242000))) -> False 248.74/165.19 new_primMinusNatS2(Succ(vyv3100), Succ(vyv3110)) -> new_primMinusNatS2(vyv3100, vyv3110) 248.74/165.19 new_primModNatS1(Zero, vyv29100) -> Zero 248.74/165.19 new_primModNatS01(vyv330, vyv331, Zero, Succ(vyv3330)) -> Succ(Succ(vyv330)) 248.74/165.19 new_primMinusNatS2(Zero, Zero) -> Zero 248.74/165.19 new_primMinusNatS2(Zero, Succ(vyv3110)) -> Zero 248.74/165.19 new_primMinusNatS2(Succ(vyv3100), Zero) -> Succ(vyv3100) 248.74/165.19 248.74/165.19 The set Q consists of the following terms: 248.74/165.19 248.74/165.19 new_primModNatS1(Succ(Zero), Succ(x0)) 248.74/165.19 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 248.74/165.19 new_primEqInt(Pos(Zero)) 248.74/165.19 new_primModNatS02(x0, x1) 248.74/165.19 new_primModNatS01(x0, x1, Succ(x2), Zero) 248.74/165.19 new_primModNatS01(x0, x1, Zero, Succ(x2)) 248.74/165.19 new_primMinusNatS2(Zero, Zero) 248.74/165.19 new_esEs(Neg(Succ(x0))) 248.74/165.19 new_primMinusNatS2(Zero, Succ(x0)) 248.74/165.19 new_primModNatS1(Succ(Zero), Zero) 248.74/165.19 new_esEs(Pos(Zero)) 248.74/165.19 new_primEqInt(Neg(Succ(x0))) 248.74/165.19 new_primMinusNatS2(Succ(x0), Zero) 248.74/165.19 new_primEqInt(Neg(Zero)) 248.74/165.19 new_primModNatS01(x0, x1, Zero, Zero) 248.74/165.19 new_primEqInt(Pos(Succ(x0))) 248.74/165.19 new_primMinusNatS2(Succ(x0), Succ(x1)) 248.74/165.19 new_primModNatS1(Succ(Succ(x0)), Zero) 248.74/165.19 new_primModNatS1(Zero, x0) 248.74/165.19 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 248.74/165.19 new_esEs(Neg(Zero)) 248.74/165.19 new_esEs(Pos(Succ(x0))) 248.74/165.19 248.74/165.19 We have to consider all minimal (P,Q,R)-chains. 248.74/165.19 ---------------------------------------- 248.74/165.19 248.74/165.19 (347) InductionCalculusProof (EQUIVALENT) 248.74/165.19 Note that final constraints are written in bold face. 248.74/165.19 248.74/165.19 248.74/165.19 248.74/165.19 For Pair new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) the following chains were created: 248.74/165.19 *We consider the chain new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x1)))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x1), Succ(Succ(Zero))))), new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) which results in the following constraint: 248.74/165.19 248.74/165.19 (1) (new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x1), Succ(Succ(Zero)))))=new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) ==> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x1))))))_>=_new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x1), Succ(Succ(Zero)))))) 248.74/165.19 248.74/165.19 248.74/165.19 248.74/165.19 We simplified constraint (1) using rules (I), (II), (VII) which results in the following new constraint: 248.74/165.19 248.74/165.19 (2) (Succ(x1)=x20 & Succ(Succ(Zero))=x21 & new_primModNatS1(x20, x21)=Succ(Succ(Succ(Succ(x2)))) ==> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x1))))))_>=_new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x1), Succ(Succ(Zero)))))) 248.74/165.19 248.74/165.19 248.74/165.19 248.74/165.19 We simplified constraint (2) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS1(x20, x21)=Succ(Succ(Succ(Succ(x2)))) which results in the following new constraints: 248.74/165.19 248.74/165.19 (3) (new_primModNatS01(x23, x22, x23, x22)=Succ(Succ(Succ(Succ(x2)))) & Succ(x1)=Succ(Succ(x23)) & Succ(Succ(Zero))=Succ(x22) ==> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x1))))))_>=_new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x1), Succ(Succ(Zero)))))) 248.74/165.19 248.74/165.19 (4) (Succ(Zero)=Succ(Succ(Succ(Succ(x2)))) & Succ(x1)=Succ(Zero) & Succ(Succ(Zero))=Succ(x24) ==> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x1))))))_>=_new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x1), Succ(Succ(Zero)))))) 248.74/165.19 248.74/165.19 248.74/165.19 248.74/165.19 We simplified constraint (3) using rules (I), (II), (III), (VII) which results in the following new constraint: 248.74/165.19 248.74/165.19 (5) (x23=x26 & x22=x27 & new_primModNatS01(x23, x22, x26, x27)=Succ(Succ(Succ(Succ(x2)))) & Succ(Zero)=x22 ==> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(Succ(x23)))))))_>=_new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(Succ(x23)), Succ(Succ(Zero)))))) 248.74/165.19 248.74/165.19 248.74/165.19 248.74/165.19 We solved constraint (4) using rules (I), (II).We simplified constraint (5) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS01(x23, x22, x26, x27)=Succ(Succ(Succ(Succ(x2)))) which results in the following new constraints: 248.74/165.19 248.74/165.19 (6) (new_primModNatS02(x29, x28)=Succ(Succ(Succ(Succ(x2)))) & x29=Zero & x28=Zero & Succ(Zero)=x28 ==> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(Succ(x29)))))))_>=_new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(Succ(x29)), Succ(Succ(Zero)))))) 248.74/165.19 248.74/165.19 (7) (new_primModNatS01(x33, x32, x31, x30)=Succ(Succ(Succ(Succ(x2)))) & x33=Succ(x31) & x32=Succ(x30) & Succ(Zero)=x32 & (\/x34:new_primModNatS01(x33, x32, x31, x30)=Succ(Succ(Succ(Succ(x34)))) & x33=x31 & x32=x30 & Succ(Zero)=x32 ==> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(Succ(x33)))))))_>=_new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(Succ(x33)), Succ(Succ(Zero)))))) ==> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(Succ(x33)))))))_>=_new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(Succ(x33)), Succ(Succ(Zero)))))) 248.74/165.19 248.74/165.19 (8) (new_primModNatS02(x37, x36)=Succ(Succ(Succ(Succ(x2)))) & x37=Succ(x35) & x36=Zero & Succ(Zero)=x36 ==> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(Succ(x37)))))))_>=_new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(Succ(x37)), Succ(Succ(Zero)))))) 248.74/165.19 248.74/165.19 (9) (Succ(Succ(x40))=Succ(Succ(Succ(Succ(x2)))) & x40=Zero & x39=Succ(x38) & Succ(Zero)=x39 ==> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(Succ(x40)))))))_>=_new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(Succ(x40)), Succ(Succ(Zero)))))) 248.74/165.19 248.74/165.19 248.74/165.19 248.74/165.19 We solved constraint (6) using rules (I), (II), (III).We simplified constraint (7) using rules (I), (II), (III), (IV), (VII) which results in the following new constraint: 248.74/165.19 248.74/165.19 (10) (new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x31))))))))_>=_new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(Succ(Succ(x31))), Succ(Succ(Zero)))))) 248.74/165.20 248.74/165.20 248.74/165.20 248.74/165.20 We solved constraint (8) using rules (I), (II), (III).We solved constraint (9) using rules (I), (II), (III), (IV). 248.74/165.20 248.74/165.20 248.74/165.20 248.74/165.20 248.74/165.20 For Pair new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) the following chains were created: 248.74/165.20 *We consider the chain new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x7)))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x7))))), Neg(Succ(Succ(Succ(Zero))))), new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x8))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x8))))), Neg(Succ(Succ(Succ(Zero))))) which results in the following constraint: 248.74/165.20 248.74/165.20 (1) (new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x7))))), Neg(Succ(Succ(Succ(Zero)))))=new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x8))))), Neg(Succ(Succ(Succ(Zero))))) ==> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x7))))))_>=_new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x7))))), Neg(Succ(Succ(Succ(Zero)))))) 248.74/165.20 248.74/165.20 248.74/165.20 248.74/165.20 We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: 248.74/165.20 248.74/165.20 (2) (new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x7))))))_>=_new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x7))))), Neg(Succ(Succ(Succ(Zero)))))) 248.74/165.20 248.74/165.20 248.74/165.20 248.74/165.20 248.74/165.20 248.74/165.20 248.74/165.20 248.74/165.20 248.74/165.20 For Pair new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) the following chains were created: 248.74/165.20 *We consider the chain new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x13))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x13))))), Neg(Succ(Succ(Succ(Zero))))), new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x14))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x14), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x14)))))) which results in the following constraint: 248.74/165.20 248.74/165.20 (1) (new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x13))))), Neg(Succ(Succ(Succ(Zero)))))=new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x14))))), Neg(Succ(Succ(Succ(Zero))))) ==> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x13))))), Neg(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x13))))), Neg(Succ(Succ(Succ(Zero)))))) 248.74/165.20 248.74/165.20 248.74/165.20 248.74/165.20 We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: 248.74/165.20 248.74/165.20 (2) (new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x13))))), Neg(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x13))))), Neg(Succ(Succ(Succ(Zero)))))) 248.74/165.20 248.74/165.20 248.74/165.20 248.74/165.20 248.74/165.20 248.74/165.20 248.74/165.20 248.74/165.20 248.74/165.20 For Pair new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) the following chains were created: 248.74/165.20 *We consider the chain new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x15))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x15), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x15)))))), new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x16)))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x16), Succ(Succ(Zero))))) which results in the following constraint: 248.74/165.20 248.74/165.20 (1) (new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x15), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x15))))))=new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x16)))))) ==> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x15))))), Neg(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x15), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x15))))))) 248.74/165.20 248.74/165.20 248.74/165.20 248.74/165.20 We simplified constraint (1) using rules (I), (II), (IV), (VII) which results in the following new constraint: 248.74/165.20 248.74/165.20 (2) (Pos(new_primModNatS1(Succ(x15), Succ(Succ(Zero))))=x43 & new_esEs(x43)=False ==> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x15))))), Neg(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x15), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x15))))))) 248.74/165.20 248.74/165.20 248.74/165.20 248.74/165.20 We simplified constraint (2) using rule (V) (with possible (I) afterwards) using induction on new_esEs(x43)=False which results in the following new constraints: 248.74/165.20 248.74/165.20 (3) (new_primEqInt(Pos(Succ(x44)))=False & Pos(new_primModNatS1(Succ(x15), Succ(Succ(Zero))))=Pos(Succ(x44)) ==> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x15))))), Neg(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x15), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x15))))))) 248.74/165.20 248.74/165.20 (4) (new_primEqInt(Pos(Zero))=False & Pos(new_primModNatS1(Succ(x15), Succ(Succ(Zero))))=Pos(Zero) ==> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x15))))), Neg(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x15), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x15))))))) 248.74/165.20 248.74/165.20 248.74/165.20 248.74/165.20 We simplified constraint (3) using rules (I), (II), (VII) which results in the following new constraint: 248.74/165.20 248.74/165.20 (5) (Pos(Succ(x44))=x45 & new_primEqInt(x45)=False & Succ(x15)=x46 & Succ(Succ(Zero))=x47 & new_primModNatS1(x46, x47)=Succ(x44) ==> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x15))))), Neg(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x15), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x15))))))) 248.74/165.20 248.74/165.20 248.74/165.20 248.74/165.20 We simplified constraint (4) using rules (I), (II), (VII) which results in the following new constraint: 248.74/165.20 248.74/165.20 (6) (Pos(Zero)=x70 & new_primEqInt(x70)=False & Succ(x15)=x71 & Succ(Succ(Zero))=x72 & new_primModNatS1(x71, x72)=Zero ==> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x15))))), Neg(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x15), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x15))))))) 248.74/165.20 248.74/165.20 248.74/165.20 248.74/165.20 We simplified constraint (5) using rule (V) (with possible (I) afterwards) using induction on new_primEqInt(x45)=False which results in the following new constraint: 248.74/165.20 248.74/165.20 (7) (False=False & Pos(Succ(x44))=Pos(Succ(x48)) & Succ(x15)=x46 & Succ(Succ(Zero))=x47 & new_primModNatS1(x46, x47)=Succ(x44) ==> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x15))))), Neg(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x15), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x15))))))) 248.74/165.20 248.74/165.20 248.74/165.20 248.74/165.20 We simplified constraint (7) using rules (I), (II), (IV) which results in the following new constraint: 248.74/165.20 248.74/165.20 (8) (Succ(x15)=x46 & Succ(Succ(Zero))=x47 & new_primModNatS1(x46, x47)=Succ(x44) ==> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x15))))), Neg(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x15), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x15))))))) 248.74/165.20 248.74/165.20 248.74/165.20 248.74/165.20 We simplified constraint (8) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS1(x46, x47)=Succ(x44) which results in the following new constraints: 248.74/165.20 248.74/165.20 (9) (new_primModNatS01(x50, x49, x50, x49)=Succ(x44) & Succ(x15)=Succ(Succ(x50)) & Succ(Succ(Zero))=Succ(x49) ==> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x15))))), Neg(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x15), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x15))))))) 248.74/165.20 248.74/165.20 (10) (Succ(Zero)=Succ(x44) & Succ(x15)=Succ(Zero) & Succ(Succ(Zero))=Succ(x51) ==> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x15))))), Neg(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x15), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x15))))))) 248.74/165.20 248.74/165.20 248.74/165.20 248.74/165.20 We simplified constraint (9) using rules (I), (II), (III), (VII) which results in the following new constraint: 248.74/165.20 248.74/165.20 (11) (x50=x53 & x49=x54 & new_primModNatS01(x50, x49, x53, x54)=Succ(x44) & Succ(Zero)=x49 ==> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Succ(x50)))))), Neg(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(Succ(x50)), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(Succ(x50)))))))) 248.74/165.20 248.74/165.20 248.74/165.20 248.74/165.20 We simplified constraint (10) using rules (I), (II), (III), (IV) which results in the following new constraint: 248.74/165.20 248.74/165.20 (12) (new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(Zero), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(Zero))))))) 248.74/165.20 248.74/165.20 248.74/165.20 248.74/165.20 We simplified constraint (11) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS01(x50, x49, x53, x54)=Succ(x44) which results in the following new constraints: 248.74/165.20 248.74/165.20 (13) (new_primModNatS02(x56, x55)=Succ(x44) & x56=Zero & x55=Zero & Succ(Zero)=x55 ==> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Succ(x56)))))), Neg(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(Succ(x56)), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(Succ(x56)))))))) 248.74/165.20 248.74/165.20 (14) (new_primModNatS01(x60, x59, x58, x57)=Succ(x44) & x60=Succ(x58) & x59=Succ(x57) & Succ(Zero)=x59 & (\/x61:new_primModNatS01(x60, x59, x58, x57)=Succ(x61) & x60=x58 & x59=x57 & Succ(Zero)=x59 ==> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Succ(x60)))))), Neg(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(Succ(x60)), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(Succ(x60)))))))) ==> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Succ(x60)))))), Neg(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(Succ(x60)), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(Succ(x60)))))))) 248.74/165.20 248.74/165.20 (15) (new_primModNatS02(x64, x63)=Succ(x44) & x64=Succ(x62) & x63=Zero & Succ(Zero)=x63 ==> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Succ(x64)))))), Neg(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(Succ(x64)), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(Succ(x64)))))))) 248.74/165.20 248.74/165.20 (16) (Succ(Succ(x67))=Succ(x44) & x67=Zero & x66=Succ(x65) & Succ(Zero)=x66 ==> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Succ(x67)))))), Neg(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(Succ(x67)), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(Succ(x67)))))))) 248.74/165.20 248.74/165.20 248.74/165.20 248.74/165.20 We solved constraint (13) using rules (I), (II), (III).We simplified constraint (14) using rules (I), (II), (III), (IV), (VII) which results in the following new constraint: 248.74/165.20 248.74/165.20 (17) (new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Succ(Succ(x58))))))), Neg(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(Succ(Succ(x58))), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x58))))))))) 248.74/165.20 248.74/165.20 248.74/165.20 248.74/165.20 We solved constraint (15) using rules (I), (II), (III).We simplified constraint (16) using rules (I), (II), (III), (IV) which results in the following new constraint: 248.74/165.20 248.74/165.20 (18) (new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(Succ(Zero)), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))))) 248.74/165.20 248.74/165.20 248.74/165.20 248.74/165.20 We simplified constraint (6) using rule (V) (with possible (I) afterwards) using induction on new_primEqInt(x70)=False which results in the following new constraint: 248.74/165.20 248.74/165.20 (19) (False=False & Pos(Zero)=Pos(Succ(x73)) & Succ(x15)=x71 & Succ(Succ(Zero))=x72 & new_primModNatS1(x71, x72)=Zero ==> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x15))))), Neg(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x15), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x15))))))) 248.74/165.20 248.74/165.20 248.74/165.20 248.74/165.20 We solved constraint (19) using rules (I), (II). 248.74/165.20 248.74/165.20 248.74/165.20 248.74/165.20 248.74/165.20 To summarize, we get the following constraints P__>=_ for the following pairs. 248.74/165.20 248.74/165.20 *new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 248.74/165.20 248.74/165.20 *(new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x31))))))))_>=_new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(Succ(Succ(x31))), Succ(Succ(Zero)))))) 248.74/165.20 248.74/165.20 248.74/165.20 248.74/165.20 248.74/165.20 *new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) 248.74/165.20 248.74/165.20 *(new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x7))))))_>=_new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x7))))), Neg(Succ(Succ(Succ(Zero)))))) 248.74/165.20 248.74/165.20 248.74/165.20 248.74/165.20 248.74/165.20 *new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) 248.74/165.20 248.74/165.20 *(new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x13))))), Neg(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x13))))), Neg(Succ(Succ(Succ(Zero)))))) 248.74/165.20 248.74/165.20 248.74/165.20 248.74/165.20 248.74/165.20 *new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) 248.74/165.20 248.74/165.20 *(new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(Succ(Zero)), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))))) 248.74/165.20 248.74/165.20 248.74/165.20 *(new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(Zero), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(Zero))))))) 248.74/165.20 248.74/165.20 248.74/165.20 *(new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Succ(Succ(x58))))))), Neg(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(Succ(Succ(x58))), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x58))))))))) 248.74/165.20 248.74/165.20 248.74/165.20 248.74/165.20 248.74/165.20 248.74/165.20 248.74/165.20 248.74/165.20 248.74/165.20 The constraints for P_> respective P_bound are constructed from P__>=_ where we just replace every occurence of "t _>=_ s" in P__>=_ by "t > s" respective "t _>=_ c". Here c stands for the fresh constant used for P_bound. 248.74/165.20 ---------------------------------------- 248.74/165.20 248.74/165.20 (348) 248.74/165.20 Obligation: 248.74/165.20 Q DP problem: 248.74/165.20 The TRS P consists of the following rules: 248.74/165.20 248.74/165.20 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 248.74/165.20 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) 248.74/165.20 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) 248.74/165.20 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) 248.74/165.20 248.74/165.20 The TRS R consists of the following rules: 248.74/165.20 248.74/165.20 new_primModNatS01(vyv330, vyv331, Zero, Zero) -> new_primModNatS02(vyv330, vyv331) 248.74/165.20 new_primModNatS02(vyv330, vyv331) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv330), Succ(vyv331)), Succ(vyv331)) 248.74/165.20 new_primModNatS1(Succ(Succ(vyv292000)), Succ(vyv291000)) -> new_primModNatS01(vyv292000, vyv291000, vyv292000, vyv291000) 248.74/165.20 new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Succ(vyv3330)) -> new_primModNatS01(vyv330, vyv331, vyv3320, vyv3330) 248.74/165.20 new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Zero) -> new_primModNatS02(vyv330, vyv331) 248.74/165.20 new_primModNatS1(Succ(Zero), Succ(vyv291000)) -> Succ(Zero) 248.74/165.20 new_esEs(Pos(Succ(vyv24100))) -> new_primEqInt(Pos(Succ(vyv24100))) 248.74/165.20 new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) 248.74/165.20 new_primEqInt(Pos(Zero)) -> True 248.74/165.20 new_primEqInt(Pos(Succ(vyv242000))) -> False 248.74/165.20 new_primMinusNatS2(Succ(vyv3100), Succ(vyv3110)) -> new_primMinusNatS2(vyv3100, vyv3110) 248.74/165.20 new_primModNatS1(Zero, vyv29100) -> Zero 248.74/165.20 new_primModNatS01(vyv330, vyv331, Zero, Succ(vyv3330)) -> Succ(Succ(vyv330)) 248.74/165.20 new_primMinusNatS2(Zero, Zero) -> Zero 248.74/165.20 new_primMinusNatS2(Zero, Succ(vyv3110)) -> Zero 248.74/165.20 new_primMinusNatS2(Succ(vyv3100), Zero) -> Succ(vyv3100) 248.74/165.20 248.74/165.20 The set Q consists of the following terms: 248.74/165.20 248.74/165.20 new_primModNatS1(Succ(Zero), Succ(x0)) 248.74/165.20 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 248.74/165.20 new_primEqInt(Pos(Zero)) 248.74/165.20 new_primModNatS02(x0, x1) 248.74/165.20 new_primModNatS01(x0, x1, Succ(x2), Zero) 248.74/165.20 new_primModNatS01(x0, x1, Zero, Succ(x2)) 248.74/165.20 new_primMinusNatS2(Zero, Zero) 248.74/165.20 new_esEs(Neg(Succ(x0))) 248.74/165.20 new_primMinusNatS2(Zero, Succ(x0)) 248.74/165.20 new_primModNatS1(Succ(Zero), Zero) 248.74/165.20 new_esEs(Pos(Zero)) 248.74/165.20 new_primEqInt(Neg(Succ(x0))) 248.74/165.20 new_primMinusNatS2(Succ(x0), Zero) 248.74/165.20 new_primEqInt(Neg(Zero)) 248.74/165.20 new_primModNatS01(x0, x1, Zero, Zero) 248.74/165.20 new_primEqInt(Pos(Succ(x0))) 248.74/165.20 new_primMinusNatS2(Succ(x0), Succ(x1)) 248.74/165.20 new_primModNatS1(Succ(Succ(x0)), Zero) 248.74/165.20 new_primModNatS1(Zero, x0) 248.74/165.20 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 248.74/165.20 new_esEs(Neg(Zero)) 248.74/165.20 new_esEs(Pos(Succ(x0))) 248.74/165.20 248.74/165.20 We have to consider all minimal (P,Q,R)-chains. 248.74/165.20 ---------------------------------------- 248.74/165.20 248.74/165.20 (349) 248.74/165.20 Obligation: 248.74/165.20 Q DP problem: 248.74/165.20 The TRS P consists of the following rules: 248.74/165.20 248.74/165.20 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 248.74/165.20 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) 248.74/165.20 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Zero)))) 248.74/165.20 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 248.74/165.20 248.74/165.20 The TRS R consists of the following rules: 248.74/165.20 248.74/165.20 new_primModNatS1(Succ(Succ(vyv292000)), Succ(vyv291000)) -> new_primModNatS01(vyv292000, vyv291000, vyv292000, vyv291000) 248.74/165.20 new_primModNatS01(vyv330, vyv331, Zero, Zero) -> new_primModNatS02(vyv330, vyv331) 248.74/165.20 new_primModNatS02(vyv330, vyv331) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv330), Succ(vyv331)), Succ(vyv331)) 248.74/165.20 new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Succ(vyv3330)) -> new_primModNatS01(vyv330, vyv331, vyv3320, vyv3330) 248.74/165.20 new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Zero) -> new_primModNatS02(vyv330, vyv331) 248.74/165.20 new_primModNatS01(vyv330, vyv331, Zero, Succ(vyv3330)) -> Succ(Succ(vyv330)) 248.74/165.20 new_primMinusNatS2(Succ(vyv3100), Succ(vyv3110)) -> new_primMinusNatS2(vyv3100, vyv3110) 248.74/165.20 new_primModNatS1(Succ(Zero), Succ(vyv291000)) -> Succ(Zero) 248.74/165.20 new_primModNatS1(Zero, vyv29100) -> Zero 248.74/165.20 new_primMinusNatS2(Zero, Zero) -> Zero 248.74/165.20 new_primMinusNatS2(Zero, Succ(vyv3110)) -> Zero 248.74/165.20 new_primMinusNatS2(Succ(vyv3100), Zero) -> Succ(vyv3100) 248.74/165.20 new_esEs(Pos(Succ(vyv24100))) -> new_primEqInt(Pos(Succ(vyv24100))) 248.74/165.20 new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) 248.74/165.20 new_primEqInt(Pos(Zero)) -> True 248.74/165.20 new_primEqInt(Pos(Succ(vyv242000))) -> False 248.74/165.20 new_esEs(Neg(Succ(vyv24100))) -> new_primEqInt(Neg(Succ(vyv24100))) 248.74/165.20 new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) 248.74/165.20 new_primEqInt(Neg(Zero)) -> True 248.74/165.20 new_primEqInt(Neg(Succ(vyv242000))) -> False 248.74/165.20 248.74/165.20 The set Q consists of the following terms: 248.74/165.20 248.74/165.20 new_primModNatS1(Succ(Zero), Succ(x0)) 248.74/165.20 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 248.74/165.20 new_primEqInt(Pos(Zero)) 248.74/165.20 new_primModNatS02(x0, x1) 248.74/165.20 new_primModNatS01(x0, x1, Succ(x2), Zero) 248.74/165.20 new_primModNatS01(x0, x1, Zero, Succ(x2)) 248.74/165.20 new_primMinusNatS2(Zero, Zero) 248.74/165.20 new_esEs(Neg(Succ(x0))) 248.74/165.20 new_primMinusNatS2(Zero, Succ(x0)) 248.74/165.20 new_primModNatS1(Succ(Zero), Zero) 248.74/165.20 new_esEs(Pos(Zero)) 248.74/165.20 new_primEqInt(Neg(Succ(x0))) 248.74/165.20 new_primMinusNatS2(Succ(x0), Zero) 248.74/165.20 new_primEqInt(Neg(Zero)) 248.74/165.20 new_primModNatS01(x0, x1, Zero, Zero) 248.74/165.20 new_primEqInt(Pos(Succ(x0))) 248.74/165.20 new_primMinusNatS2(Succ(x0), Succ(x1)) 248.74/165.20 new_primModNatS1(Succ(Succ(x0)), Zero) 248.74/165.20 new_primModNatS1(Zero, x0) 248.74/165.20 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 248.74/165.20 new_esEs(Neg(Zero)) 248.74/165.20 new_esEs(Pos(Succ(x0))) 248.74/165.20 248.74/165.20 We have to consider all minimal (P,Q,R)-chains. 248.74/165.20 ---------------------------------------- 248.74/165.20 248.74/165.20 (350) UsableRulesProof (EQUIVALENT) 248.74/165.20 As all Q-normal forms are R-normal forms we are in the innermost case. Hence, by the usable rules processor [LPAR04] we can delete all non-usable rules [FROCOS05] from R. 248.74/165.20 ---------------------------------------- 248.74/165.20 248.74/165.20 (351) 248.74/165.20 Obligation: 248.74/165.20 Q DP problem: 248.74/165.20 The TRS P consists of the following rules: 248.74/165.20 248.74/165.20 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 248.74/165.20 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) 248.74/165.20 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Zero)))) 248.74/165.20 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 248.74/165.20 248.74/165.20 The TRS R consists of the following rules: 248.74/165.20 248.74/165.20 new_primModNatS01(vyv330, vyv331, Zero, Zero) -> new_primModNatS02(vyv330, vyv331) 248.74/165.20 new_primModNatS02(vyv330, vyv331) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv330), Succ(vyv331)), Succ(vyv331)) 248.74/165.20 new_primModNatS1(Succ(Succ(vyv292000)), Succ(vyv291000)) -> new_primModNatS01(vyv292000, vyv291000, vyv292000, vyv291000) 248.74/165.20 new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Succ(vyv3330)) -> new_primModNatS01(vyv330, vyv331, vyv3320, vyv3330) 248.74/165.20 new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Zero) -> new_primModNatS02(vyv330, vyv331) 248.74/165.20 new_primMinusNatS2(Succ(vyv3100), Succ(vyv3110)) -> new_primMinusNatS2(vyv3100, vyv3110) 248.74/165.20 new_primModNatS1(Succ(Zero), Succ(vyv291000)) -> Succ(Zero) 248.74/165.20 new_primModNatS1(Zero, vyv29100) -> Zero 248.74/165.20 new_primModNatS01(vyv330, vyv331, Zero, Succ(vyv3330)) -> Succ(Succ(vyv330)) 248.74/165.20 new_primMinusNatS2(Zero, Zero) -> Zero 248.74/165.20 new_primMinusNatS2(Zero, Succ(vyv3110)) -> Zero 248.74/165.20 new_primMinusNatS2(Succ(vyv3100), Zero) -> Succ(vyv3100) 248.74/165.20 new_esEs(Neg(Succ(vyv24100))) -> new_primEqInt(Neg(Succ(vyv24100))) 248.74/165.20 new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) 248.74/165.20 new_primEqInt(Neg(Zero)) -> True 248.74/165.20 new_primEqInt(Neg(Succ(vyv242000))) -> False 248.74/165.20 248.74/165.20 The set Q consists of the following terms: 248.74/165.20 248.74/165.20 new_primModNatS1(Succ(Zero), Succ(x0)) 248.74/165.20 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 248.74/165.20 new_primEqInt(Pos(Zero)) 248.74/165.20 new_primModNatS02(x0, x1) 248.74/165.20 new_primModNatS01(x0, x1, Succ(x2), Zero) 248.74/165.20 new_primModNatS01(x0, x1, Zero, Succ(x2)) 248.74/165.20 new_primMinusNatS2(Zero, Zero) 248.74/165.20 new_esEs(Neg(Succ(x0))) 248.74/165.20 new_primMinusNatS2(Zero, Succ(x0)) 248.74/165.20 new_primModNatS1(Succ(Zero), Zero) 248.74/165.20 new_esEs(Pos(Zero)) 248.74/165.20 new_primEqInt(Neg(Succ(x0))) 248.74/165.20 new_primMinusNatS2(Succ(x0), Zero) 248.74/165.20 new_primEqInt(Neg(Zero)) 248.74/165.20 new_primModNatS01(x0, x1, Zero, Zero) 248.74/165.20 new_primEqInt(Pos(Succ(x0))) 248.74/165.20 new_primMinusNatS2(Succ(x0), Succ(x1)) 248.74/165.20 new_primModNatS1(Succ(Succ(x0)), Zero) 248.74/165.20 new_primModNatS1(Zero, x0) 248.74/165.20 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 248.74/165.20 new_esEs(Neg(Zero)) 248.74/165.20 new_esEs(Pos(Succ(x0))) 248.74/165.20 248.74/165.20 We have to consider all minimal (P,Q,R)-chains. 248.74/165.20 ---------------------------------------- 248.74/165.20 248.74/165.20 (352) TransformationProof (EQUIVALENT) 248.74/165.20 By rewriting [LPAR04] the rule new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Zero)))) at position [1,0] we obtained the following new rules [LPAR04]: 248.74/165.20 248.74/165.20 (new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(Succ(x2))), Succ(Succ(Zero))), Succ(Succ(Zero))))),new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(Succ(x2))), Succ(Succ(Zero))), Succ(Succ(Zero)))))) 248.74/165.20 248.74/165.20 248.74/165.20 ---------------------------------------- 248.74/165.20 248.74/165.20 (353) 248.74/165.20 Obligation: 248.74/165.20 Q DP problem: 248.74/165.20 The TRS P consists of the following rules: 248.74/165.20 248.74/165.20 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 248.74/165.20 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) 248.74/165.20 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 248.74/165.20 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(Succ(x2))), Succ(Succ(Zero))), Succ(Succ(Zero))))) 248.74/165.20 248.74/165.20 The TRS R consists of the following rules: 248.74/165.20 248.74/165.20 new_primModNatS01(vyv330, vyv331, Zero, Zero) -> new_primModNatS02(vyv330, vyv331) 248.74/165.20 new_primModNatS02(vyv330, vyv331) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv330), Succ(vyv331)), Succ(vyv331)) 248.74/165.20 new_primModNatS1(Succ(Succ(vyv292000)), Succ(vyv291000)) -> new_primModNatS01(vyv292000, vyv291000, vyv292000, vyv291000) 248.74/165.20 new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Succ(vyv3330)) -> new_primModNatS01(vyv330, vyv331, vyv3320, vyv3330) 248.74/165.20 new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Zero) -> new_primModNatS02(vyv330, vyv331) 248.74/165.20 new_primMinusNatS2(Succ(vyv3100), Succ(vyv3110)) -> new_primMinusNatS2(vyv3100, vyv3110) 248.74/165.20 new_primModNatS1(Succ(Zero), Succ(vyv291000)) -> Succ(Zero) 248.74/165.20 new_primModNatS1(Zero, vyv29100) -> Zero 248.74/165.20 new_primModNatS01(vyv330, vyv331, Zero, Succ(vyv3330)) -> Succ(Succ(vyv330)) 248.74/165.20 new_primMinusNatS2(Zero, Zero) -> Zero 248.74/165.20 new_primMinusNatS2(Zero, Succ(vyv3110)) -> Zero 248.74/165.20 new_primMinusNatS2(Succ(vyv3100), Zero) -> Succ(vyv3100) 248.74/165.20 new_esEs(Neg(Succ(vyv24100))) -> new_primEqInt(Neg(Succ(vyv24100))) 248.74/165.20 new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) 248.74/165.20 new_primEqInt(Neg(Zero)) -> True 248.74/165.20 new_primEqInt(Neg(Succ(vyv242000))) -> False 248.74/165.20 248.74/165.20 The set Q consists of the following terms: 248.74/165.20 248.74/165.20 new_primModNatS1(Succ(Zero), Succ(x0)) 248.74/165.20 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 248.74/165.20 new_primEqInt(Pos(Zero)) 248.74/165.20 new_primModNatS02(x0, x1) 248.74/165.20 new_primModNatS01(x0, x1, Succ(x2), Zero) 248.74/165.20 new_primModNatS01(x0, x1, Zero, Succ(x2)) 248.74/165.20 new_primMinusNatS2(Zero, Zero) 248.74/165.20 new_esEs(Neg(Succ(x0))) 248.74/165.20 new_primMinusNatS2(Zero, Succ(x0)) 248.74/165.20 new_primModNatS1(Succ(Zero), Zero) 248.74/165.20 new_esEs(Pos(Zero)) 248.74/165.20 new_primEqInt(Neg(Succ(x0))) 248.74/165.20 new_primMinusNatS2(Succ(x0), Zero) 248.74/165.20 new_primEqInt(Neg(Zero)) 248.74/165.20 new_primModNatS01(x0, x1, Zero, Zero) 248.74/165.20 new_primEqInt(Pos(Succ(x0))) 248.74/165.20 new_primMinusNatS2(Succ(x0), Succ(x1)) 248.74/165.20 new_primModNatS1(Succ(Succ(x0)), Zero) 248.74/165.20 new_primModNatS1(Zero, x0) 248.74/165.20 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 248.74/165.20 new_esEs(Neg(Zero)) 248.74/165.20 new_esEs(Pos(Succ(x0))) 248.74/165.20 248.74/165.20 We have to consider all minimal (P,Q,R)-chains. 248.74/165.20 ---------------------------------------- 248.74/165.20 248.74/165.20 (354) TransformationProof (EQUIVALENT) 248.74/165.20 By rewriting [LPAR04] the rule new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(Succ(x2))), Succ(Succ(Zero))), Succ(Succ(Zero))))) at position [1,0,0] we obtained the following new rules [LPAR04]: 248.74/165.20 248.74/165.20 (new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Succ(Zero))))),new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Succ(Zero)))))) 248.74/165.20 248.74/165.20 248.74/165.20 ---------------------------------------- 248.74/165.20 248.74/165.20 (355) 248.74/165.20 Obligation: 248.74/165.20 Q DP problem: 248.74/165.20 The TRS P consists of the following rules: 248.74/165.20 248.74/165.20 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 248.74/165.20 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) 248.74/165.20 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 248.74/165.20 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Succ(Zero))))) 248.74/165.20 248.74/165.20 The TRS R consists of the following rules: 248.74/165.20 248.74/165.20 new_primModNatS01(vyv330, vyv331, Zero, Zero) -> new_primModNatS02(vyv330, vyv331) 248.74/165.20 new_primModNatS02(vyv330, vyv331) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv330), Succ(vyv331)), Succ(vyv331)) 248.74/165.20 new_primModNatS1(Succ(Succ(vyv292000)), Succ(vyv291000)) -> new_primModNatS01(vyv292000, vyv291000, vyv292000, vyv291000) 248.74/165.20 new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Succ(vyv3330)) -> new_primModNatS01(vyv330, vyv331, vyv3320, vyv3330) 248.74/165.20 new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Zero) -> new_primModNatS02(vyv330, vyv331) 248.74/165.20 new_primMinusNatS2(Succ(vyv3100), Succ(vyv3110)) -> new_primMinusNatS2(vyv3100, vyv3110) 248.74/165.20 new_primModNatS1(Succ(Zero), Succ(vyv291000)) -> Succ(Zero) 248.74/165.20 new_primModNatS1(Zero, vyv29100) -> Zero 248.74/165.20 new_primModNatS01(vyv330, vyv331, Zero, Succ(vyv3330)) -> Succ(Succ(vyv330)) 248.74/165.20 new_primMinusNatS2(Zero, Zero) -> Zero 248.74/165.20 new_primMinusNatS2(Zero, Succ(vyv3110)) -> Zero 248.74/165.20 new_primMinusNatS2(Succ(vyv3100), Zero) -> Succ(vyv3100) 248.74/165.20 new_esEs(Neg(Succ(vyv24100))) -> new_primEqInt(Neg(Succ(vyv24100))) 248.74/165.20 new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) 248.74/165.20 new_primEqInt(Neg(Zero)) -> True 248.74/165.20 new_primEqInt(Neg(Succ(vyv242000))) -> False 248.74/165.20 248.74/165.20 The set Q consists of the following terms: 248.74/165.20 248.74/165.20 new_primModNatS1(Succ(Zero), Succ(x0)) 248.74/165.20 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 248.74/165.20 new_primEqInt(Pos(Zero)) 248.74/165.20 new_primModNatS02(x0, x1) 248.74/165.20 new_primModNatS01(x0, x1, Succ(x2), Zero) 248.74/165.20 new_primModNatS01(x0, x1, Zero, Succ(x2)) 248.74/165.20 new_primMinusNatS2(Zero, Zero) 248.74/165.20 new_esEs(Neg(Succ(x0))) 248.74/165.20 new_primMinusNatS2(Zero, Succ(x0)) 248.74/165.20 new_primModNatS1(Succ(Zero), Zero) 248.74/165.20 new_esEs(Pos(Zero)) 248.74/165.20 new_primEqInt(Neg(Succ(x0))) 248.74/165.20 new_primMinusNatS2(Succ(x0), Zero) 248.74/165.20 new_primEqInt(Neg(Zero)) 248.74/165.20 new_primModNatS01(x0, x1, Zero, Zero) 248.74/165.20 new_primEqInt(Pos(Succ(x0))) 248.74/165.20 new_primMinusNatS2(Succ(x0), Succ(x1)) 248.74/165.20 new_primModNatS1(Succ(Succ(x0)), Zero) 248.74/165.20 new_primModNatS1(Zero, x0) 248.74/165.20 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 248.74/165.20 new_esEs(Neg(Zero)) 248.74/165.20 new_esEs(Pos(Succ(x0))) 248.74/165.20 248.74/165.20 We have to consider all minimal (P,Q,R)-chains. 248.74/165.20 ---------------------------------------- 248.74/165.20 248.74/165.20 (356) TransformationProof (EQUIVALENT) 248.74/165.20 By rewriting [LPAR04] the rule new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Succ(Zero))))) at position [1,0,0] we obtained the following new rules [LPAR04]: 248.74/165.20 248.74/165.20 (new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Succ(Zero))))),new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Succ(Zero)))))) 248.74/165.20 248.74/165.20 248.74/165.20 ---------------------------------------- 248.74/165.20 248.74/165.20 (357) 248.74/165.20 Obligation: 248.74/165.20 Q DP problem: 248.74/165.20 The TRS P consists of the following rules: 248.74/165.20 248.74/165.20 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 248.74/165.20 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) 248.74/165.20 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 248.74/165.20 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Succ(Zero))))) 248.74/165.20 248.74/165.20 The TRS R consists of the following rules: 248.74/165.20 248.74/165.20 new_primModNatS01(vyv330, vyv331, Zero, Zero) -> new_primModNatS02(vyv330, vyv331) 248.74/165.20 new_primModNatS02(vyv330, vyv331) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv330), Succ(vyv331)), Succ(vyv331)) 248.74/165.20 new_primModNatS1(Succ(Succ(vyv292000)), Succ(vyv291000)) -> new_primModNatS01(vyv292000, vyv291000, vyv292000, vyv291000) 248.74/165.20 new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Succ(vyv3330)) -> new_primModNatS01(vyv330, vyv331, vyv3320, vyv3330) 248.74/165.20 new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Zero) -> new_primModNatS02(vyv330, vyv331) 248.74/165.20 new_primMinusNatS2(Succ(vyv3100), Succ(vyv3110)) -> new_primMinusNatS2(vyv3100, vyv3110) 248.74/165.20 new_primModNatS1(Succ(Zero), Succ(vyv291000)) -> Succ(Zero) 248.74/165.20 new_primModNatS1(Zero, vyv29100) -> Zero 248.74/165.20 new_primModNatS01(vyv330, vyv331, Zero, Succ(vyv3330)) -> Succ(Succ(vyv330)) 248.74/165.20 new_primMinusNatS2(Zero, Zero) -> Zero 248.74/165.20 new_primMinusNatS2(Zero, Succ(vyv3110)) -> Zero 248.74/165.20 new_primMinusNatS2(Succ(vyv3100), Zero) -> Succ(vyv3100) 248.74/165.20 new_esEs(Neg(Succ(vyv24100))) -> new_primEqInt(Neg(Succ(vyv24100))) 248.74/165.20 new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) 248.74/165.20 new_primEqInt(Neg(Zero)) -> True 248.74/165.20 new_primEqInt(Neg(Succ(vyv242000))) -> False 248.74/165.20 248.74/165.20 The set Q consists of the following terms: 248.74/165.20 248.74/165.20 new_primModNatS1(Succ(Zero), Succ(x0)) 248.74/165.20 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 248.74/165.20 new_primEqInt(Pos(Zero)) 248.74/165.20 new_primModNatS02(x0, x1) 248.74/165.20 new_primModNatS01(x0, x1, Succ(x2), Zero) 248.74/165.20 new_primModNatS01(x0, x1, Zero, Succ(x2)) 248.74/165.20 new_primMinusNatS2(Zero, Zero) 248.74/165.20 new_esEs(Neg(Succ(x0))) 248.74/165.20 new_primMinusNatS2(Zero, Succ(x0)) 248.74/165.20 new_primModNatS1(Succ(Zero), Zero) 248.74/165.20 new_esEs(Pos(Zero)) 248.74/165.20 new_primEqInt(Neg(Succ(x0))) 248.74/165.20 new_primMinusNatS2(Succ(x0), Zero) 248.74/165.20 new_primEqInt(Neg(Zero)) 248.74/165.20 new_primModNatS01(x0, x1, Zero, Zero) 248.74/165.20 new_primEqInt(Pos(Succ(x0))) 248.74/165.20 new_primMinusNatS2(Succ(x0), Succ(x1)) 248.74/165.20 new_primModNatS1(Succ(Succ(x0)), Zero) 248.74/165.20 new_primModNatS1(Zero, x0) 248.74/165.20 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 248.74/165.20 new_esEs(Neg(Zero)) 248.74/165.20 new_esEs(Pos(Succ(x0))) 248.74/165.20 248.74/165.20 We have to consider all minimal (P,Q,R)-chains. 248.74/165.20 ---------------------------------------- 248.74/165.20 248.74/165.20 (358) TransformationProof (EQUIVALENT) 248.74/165.20 By rewriting [LPAR04] the rule new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Succ(Zero))))) at position [1,0,0] we obtained the following new rules [LPAR04]: 248.74/165.20 248.74/165.20 (new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))),new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))))) 248.74/165.20 248.74/165.20 248.74/165.20 ---------------------------------------- 248.74/165.20 248.74/165.20 (359) 248.74/165.20 Obligation: 248.74/165.20 Q DP problem: 248.74/165.20 The TRS P consists of the following rules: 248.74/165.20 248.74/165.20 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 248.74/165.20 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) 248.74/165.20 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 248.74/165.20 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 248.74/165.20 248.74/165.20 The TRS R consists of the following rules: 248.74/165.20 248.74/165.20 new_primModNatS01(vyv330, vyv331, Zero, Zero) -> new_primModNatS02(vyv330, vyv331) 248.74/165.20 new_primModNatS02(vyv330, vyv331) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv330), Succ(vyv331)), Succ(vyv331)) 248.74/165.20 new_primModNatS1(Succ(Succ(vyv292000)), Succ(vyv291000)) -> new_primModNatS01(vyv292000, vyv291000, vyv292000, vyv291000) 248.74/165.20 new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Succ(vyv3330)) -> new_primModNatS01(vyv330, vyv331, vyv3320, vyv3330) 248.74/165.20 new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Zero) -> new_primModNatS02(vyv330, vyv331) 248.74/165.20 new_primMinusNatS2(Succ(vyv3100), Succ(vyv3110)) -> new_primMinusNatS2(vyv3100, vyv3110) 248.74/165.20 new_primModNatS1(Succ(Zero), Succ(vyv291000)) -> Succ(Zero) 248.74/165.20 new_primModNatS1(Zero, vyv29100) -> Zero 248.74/165.20 new_primModNatS01(vyv330, vyv331, Zero, Succ(vyv3330)) -> Succ(Succ(vyv330)) 248.74/165.20 new_primMinusNatS2(Zero, Zero) -> Zero 248.74/165.20 new_primMinusNatS2(Zero, Succ(vyv3110)) -> Zero 248.74/165.20 new_primMinusNatS2(Succ(vyv3100), Zero) -> Succ(vyv3100) 248.74/165.20 new_esEs(Neg(Succ(vyv24100))) -> new_primEqInt(Neg(Succ(vyv24100))) 248.74/165.20 new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) 248.74/165.20 new_primEqInt(Neg(Zero)) -> True 248.74/165.20 new_primEqInt(Neg(Succ(vyv242000))) -> False 248.74/165.20 248.74/165.20 The set Q consists of the following terms: 248.74/165.20 248.74/165.20 new_primModNatS1(Succ(Zero), Succ(x0)) 248.74/165.20 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 248.74/165.20 new_primEqInt(Pos(Zero)) 248.74/165.20 new_primModNatS02(x0, x1) 248.74/165.20 new_primModNatS01(x0, x1, Succ(x2), Zero) 248.74/165.20 new_primModNatS01(x0, x1, Zero, Succ(x2)) 248.74/165.20 new_primMinusNatS2(Zero, Zero) 248.74/165.20 new_esEs(Neg(Succ(x0))) 248.74/165.20 new_primMinusNatS2(Zero, Succ(x0)) 248.74/165.20 new_primModNatS1(Succ(Zero), Zero) 248.74/165.20 new_esEs(Pos(Zero)) 248.74/165.20 new_primEqInt(Neg(Succ(x0))) 248.74/165.20 new_primMinusNatS2(Succ(x0), Zero) 248.74/165.20 new_primEqInt(Neg(Zero)) 248.74/165.20 new_primModNatS01(x0, x1, Zero, Zero) 248.74/165.20 new_primEqInt(Pos(Succ(x0))) 248.74/165.20 new_primMinusNatS2(Succ(x0), Succ(x1)) 248.74/165.20 new_primModNatS1(Succ(Succ(x0)), Zero) 248.74/165.20 new_primModNatS1(Zero, x0) 248.74/165.20 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 248.74/165.20 new_esEs(Neg(Zero)) 248.74/165.20 new_esEs(Pos(Succ(x0))) 248.74/165.20 248.74/165.20 We have to consider all minimal (P,Q,R)-chains. 248.74/165.20 ---------------------------------------- 248.74/165.20 248.74/165.20 (360) InductionCalculusProof (EQUIVALENT) 248.74/165.20 Note that final constraints are written in bold face. 248.74/165.20 248.74/165.20 248.74/165.20 248.74/165.20 For Pair new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) the following chains were created: 248.74/165.20 *We consider the chain new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x1))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x1))))), Pos(Succ(Succ(Succ(Zero))))), new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) which results in the following constraint: 248.74/165.20 248.74/165.20 (1) (new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x1))))), Pos(Succ(Succ(Succ(Zero)))))=new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) ==> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x1))))), Pos(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x1))))), Pos(Succ(Succ(Succ(Zero)))))) 248.74/165.20 248.74/165.20 248.74/165.20 248.74/165.20 We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: 248.74/165.20 248.74/165.20 (2) (new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x1))))), Pos(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x1))))), Pos(Succ(Succ(Succ(Zero)))))) 248.74/165.20 248.74/165.20 248.74/165.20 248.74/165.20 248.74/165.20 248.74/165.20 248.74/165.20 248.74/165.20 248.74/165.20 For Pair new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) the following chains were created: 248.74/165.20 *We consider the chain new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x8))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x8), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x8)))))), new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x9)))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(x9), Succ(Succ(Zero))))) which results in the following constraint: 248.74/165.20 248.74/165.20 (1) (new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x8), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x8))))))=new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x9)))))) ==> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x8))))), Pos(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x8), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x8))))))) 248.74/165.20 248.74/165.20 248.74/165.20 248.74/165.20 We simplified constraint (1) using rules (I), (II), (IV), (VII) which results in the following new constraint: 248.74/165.20 248.74/165.20 (2) (Neg(new_primModNatS1(Succ(x8), Succ(Succ(Zero))))=x20 & new_esEs(x20)=False ==> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x8))))), Pos(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x8), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x8))))))) 248.74/165.20 248.74/165.20 248.74/165.20 248.74/165.20 We simplified constraint (2) using rule (V) (with possible (I) afterwards) using induction on new_esEs(x20)=False which results in the following new constraints: 248.74/165.20 248.74/165.20 (3) (new_primEqInt(Neg(Succ(x21)))=False & Neg(new_primModNatS1(Succ(x8), Succ(Succ(Zero))))=Neg(Succ(x21)) ==> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x8))))), Pos(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x8), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x8))))))) 248.74/165.20 248.74/165.20 (4) (new_primEqInt(Neg(Zero))=False & Neg(new_primModNatS1(Succ(x8), Succ(Succ(Zero))))=Neg(Zero) ==> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x8))))), Pos(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x8), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x8))))))) 248.74/165.20 248.74/165.20 248.74/165.20 248.74/165.20 We simplified constraint (3) using rules (I), (II), (VII) which results in the following new constraint: 248.74/165.20 248.74/165.20 (5) (Neg(Succ(x21))=x22 & new_primEqInt(x22)=False & Succ(x8)=x23 & Succ(Succ(Zero))=x24 & new_primModNatS1(x23, x24)=Succ(x21) ==> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x8))))), Pos(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x8), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x8))))))) 248.74/165.20 248.74/165.20 248.74/165.20 248.74/165.20 We simplified constraint (4) using rules (I), (II), (VII) which results in the following new constraint: 248.74/165.20 248.74/165.20 (6) (Neg(Zero)=x47 & new_primEqInt(x47)=False & Succ(x8)=x48 & Succ(Succ(Zero))=x49 & new_primModNatS1(x48, x49)=Zero ==> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x8))))), Pos(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x8), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x8))))))) 248.74/165.20 248.74/165.20 248.74/165.20 248.74/165.20 We simplified constraint (5) using rule (V) (with possible (I) afterwards) using induction on new_primEqInt(x22)=False which results in the following new constraint: 248.74/165.20 248.74/165.20 (7) (False=False & Neg(Succ(x21))=Neg(Succ(x25)) & Succ(x8)=x23 & Succ(Succ(Zero))=x24 & new_primModNatS1(x23, x24)=Succ(x21) ==> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x8))))), Pos(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x8), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x8))))))) 248.74/165.20 248.74/165.20 248.74/165.20 248.74/165.20 We simplified constraint (7) using rules (I), (II), (IV) which results in the following new constraint: 248.74/165.20 248.74/165.20 (8) (Succ(x8)=x23 & Succ(Succ(Zero))=x24 & new_primModNatS1(x23, x24)=Succ(x21) ==> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x8))))), Pos(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x8), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x8))))))) 248.74/165.20 248.74/165.20 248.74/165.20 248.74/165.20 We simplified constraint (8) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS1(x23, x24)=Succ(x21) which results in the following new constraints: 248.74/165.20 248.74/165.20 (9) (new_primModNatS01(x27, x26, x27, x26)=Succ(x21) & Succ(x8)=Succ(Succ(x27)) & Succ(Succ(Zero))=Succ(x26) ==> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x8))))), Pos(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x8), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x8))))))) 248.74/165.20 248.74/165.20 (10) (Succ(Zero)=Succ(x21) & Succ(x8)=Succ(Zero) & Succ(Succ(Zero))=Succ(x28) ==> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x8))))), Pos(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x8), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x8))))))) 248.74/165.20 248.74/165.20 248.74/165.20 248.74/165.20 We simplified constraint (9) using rules (I), (II), (III), (VII) which results in the following new constraint: 248.74/165.20 248.74/165.20 (11) (x27=x30 & x26=x31 & new_primModNatS01(x27, x26, x30, x31)=Succ(x21) & Succ(Zero)=x26 ==> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Succ(x27)))))), Pos(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(Succ(x27)), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(Succ(x27)))))))) 248.74/165.20 248.74/165.20 248.74/165.20 248.74/165.20 We simplified constraint (10) using rules (I), (II), (III), (IV) which results in the following new constraint: 248.74/165.20 248.74/165.20 (12) (new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(Zero), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(Zero))))))) 248.74/165.20 248.74/165.20 248.74/165.20 248.74/165.20 We simplified constraint (11) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS01(x27, x26, x30, x31)=Succ(x21) which results in the following new constraints: 248.74/165.20 248.74/165.20 (13) (new_primModNatS02(x33, x32)=Succ(x21) & x33=Zero & x32=Zero & Succ(Zero)=x32 ==> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Succ(x33)))))), Pos(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(Succ(x33)), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(Succ(x33)))))))) 248.74/165.20 248.74/165.20 (14) (new_primModNatS01(x37, x36, x35, x34)=Succ(x21) & x37=Succ(x35) & x36=Succ(x34) & Succ(Zero)=x36 & (\/x38:new_primModNatS01(x37, x36, x35, x34)=Succ(x38) & x37=x35 & x36=x34 & Succ(Zero)=x36 ==> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Succ(x37)))))), Pos(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(Succ(x37)), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(Succ(x37)))))))) ==> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Succ(x37)))))), Pos(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(Succ(x37)), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(Succ(x37)))))))) 248.74/165.20 248.74/165.20 (15) (new_primModNatS02(x41, x40)=Succ(x21) & x41=Succ(x39) & x40=Zero & Succ(Zero)=x40 ==> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Succ(x41)))))), Pos(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(Succ(x41)), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(Succ(x41)))))))) 248.74/165.20 248.74/165.20 (16) (Succ(Succ(x44))=Succ(x21) & x44=Zero & x43=Succ(x42) & Succ(Zero)=x43 ==> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Succ(x44)))))), Pos(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(Succ(x44)), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(Succ(x44)))))))) 248.74/165.20 248.74/165.20 248.74/165.20 248.74/165.20 We solved constraint (13) using rules (I), (II), (III).We simplified constraint (14) using rules (I), (II), (III), (IV), (VII) which results in the following new constraint: 248.74/165.20 248.74/165.20 (17) (new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Succ(Succ(x35))))))), Pos(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(Succ(Succ(x35))), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x35))))))))) 248.74/165.20 248.74/165.20 248.74/165.20 248.74/165.20 We solved constraint (15) using rules (I), (II), (III).We simplified constraint (16) using rules (I), (II), (III), (IV) which results in the following new constraint: 248.74/165.20 248.74/165.20 (18) (new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(Succ(Zero)), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))))) 248.74/165.20 248.74/165.20 248.74/165.20 248.74/165.20 We simplified constraint (6) using rule (V) (with possible (I) afterwards) using induction on new_primEqInt(x47)=False which results in the following new constraint: 248.74/165.20 248.74/165.20 (19) (False=False & Neg(Zero)=Neg(Succ(x50)) & Succ(x8)=x48 & Succ(Succ(Zero))=x49 & new_primModNatS1(x48, x49)=Zero ==> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x8))))), Pos(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x8), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x8))))))) 248.74/165.20 248.74/165.20 248.74/165.20 248.74/165.20 We solved constraint (19) using rules (I), (II). 248.74/165.20 248.74/165.20 248.74/165.20 248.74/165.20 248.74/165.20 For Pair new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) the following chains were created: 248.74/165.20 *We consider the chain new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x10)))))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x10))))), Pos(Succ(Succ(Succ(Zero))))), new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x11))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x11))))), Pos(Succ(Succ(Succ(Zero))))) which results in the following constraint: 248.74/165.20 248.74/165.20 (1) (new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x10))))), Pos(Succ(Succ(Succ(Zero)))))=new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x11))))), Pos(Succ(Succ(Succ(Zero))))) ==> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x10))))))_>=_new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x10))))), Pos(Succ(Succ(Succ(Zero)))))) 248.74/165.20 248.74/165.20 248.74/165.20 248.74/165.20 We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: 248.74/165.20 248.74/165.20 (2) (new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x10))))))_>=_new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x10))))), Pos(Succ(Succ(Succ(Zero)))))) 248.74/165.20 248.74/165.20 248.74/165.20 248.74/165.20 248.74/165.20 248.74/165.20 248.74/165.20 248.74/165.20 248.74/165.20 For Pair new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) the following chains were created: 248.74/165.20 *We consider the chain new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x17)))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(x17), Succ(Succ(Zero))))), new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x18)))))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x18))))), Pos(Succ(Succ(Succ(Zero))))) which results in the following constraint: 248.74/165.20 248.74/165.20 (1) (new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(x17), Succ(Succ(Zero)))))=new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x18)))))) ==> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x17))))))_>=_new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(x17), Succ(Succ(Zero)))))) 248.74/165.20 248.74/165.20 248.74/165.20 248.74/165.20 We simplified constraint (1) using rules (I), (II), (VII) which results in the following new constraint: 248.74/165.20 248.74/165.20 (2) (Succ(x17)=x51 & Succ(Succ(Zero))=x52 & new_primModNatS1(x51, x52)=Succ(Succ(Succ(Succ(x18)))) ==> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x17))))))_>=_new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(x17), Succ(Succ(Zero)))))) 248.74/165.20 248.74/165.20 248.74/165.20 248.74/165.20 We simplified constraint (2) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS1(x51, x52)=Succ(Succ(Succ(Succ(x18)))) which results in the following new constraints: 248.74/165.20 248.74/165.20 (3) (new_primModNatS01(x54, x53, x54, x53)=Succ(Succ(Succ(Succ(x18)))) & Succ(x17)=Succ(Succ(x54)) & Succ(Succ(Zero))=Succ(x53) ==> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x17))))))_>=_new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(x17), Succ(Succ(Zero)))))) 248.74/165.20 248.74/165.20 (4) (Succ(Zero)=Succ(Succ(Succ(Succ(x18)))) & Succ(x17)=Succ(Zero) & Succ(Succ(Zero))=Succ(x55) ==> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x17))))))_>=_new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(x17), Succ(Succ(Zero)))))) 248.74/165.20 248.74/165.20 248.74/165.20 248.74/165.20 We simplified constraint (3) using rules (I), (II), (III), (VII) which results in the following new constraint: 248.74/165.20 248.74/165.20 (5) (x54=x57 & x53=x58 & new_primModNatS01(x54, x53, x57, x58)=Succ(Succ(Succ(Succ(x18)))) & Succ(Zero)=x53 ==> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(Succ(x54)))))))_>=_new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(Succ(x54)), Succ(Succ(Zero)))))) 248.74/165.20 248.74/165.20 248.74/165.20 248.74/165.20 We solved constraint (4) using rules (I), (II).We simplified constraint (5) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS01(x54, x53, x57, x58)=Succ(Succ(Succ(Succ(x18)))) which results in the following new constraints: 248.74/165.20 248.74/165.20 (6) (new_primModNatS02(x60, x59)=Succ(Succ(Succ(Succ(x18)))) & x60=Zero & x59=Zero & Succ(Zero)=x59 ==> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(Succ(x60)))))))_>=_new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(Succ(x60)), Succ(Succ(Zero)))))) 248.74/165.20 248.74/165.20 (7) (new_primModNatS01(x64, x63, x62, x61)=Succ(Succ(Succ(Succ(x18)))) & x64=Succ(x62) & x63=Succ(x61) & Succ(Zero)=x63 & (\/x65:new_primModNatS01(x64, x63, x62, x61)=Succ(Succ(Succ(Succ(x65)))) & x64=x62 & x63=x61 & Succ(Zero)=x63 ==> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(Succ(x64)))))))_>=_new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(Succ(x64)), Succ(Succ(Zero)))))) ==> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(Succ(x64)))))))_>=_new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(Succ(x64)), Succ(Succ(Zero)))))) 248.74/165.20 248.74/165.20 (8) (new_primModNatS02(x68, x67)=Succ(Succ(Succ(Succ(x18)))) & x68=Succ(x66) & x67=Zero & Succ(Zero)=x67 ==> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(Succ(x68)))))))_>=_new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(Succ(x68)), Succ(Succ(Zero)))))) 248.74/165.20 248.74/165.20 (9) (Succ(Succ(x71))=Succ(Succ(Succ(Succ(x18)))) & x71=Zero & x70=Succ(x69) & Succ(Zero)=x70 ==> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(Succ(x71)))))))_>=_new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(Succ(x71)), Succ(Succ(Zero)))))) 248.74/165.20 248.74/165.20 248.74/165.20 248.74/165.20 We solved constraint (6) using rules (I), (II), (III).We simplified constraint (7) using rules (I), (II), (III), (IV), (VII) which results in the following new constraint: 248.74/165.20 248.74/165.20 (10) (new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x62))))))))_>=_new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(Succ(Succ(x62))), Succ(Succ(Zero)))))) 248.74/165.20 248.74/165.20 248.74/165.20 248.74/165.20 We solved constraint (8) using rules (I), (II), (III).We solved constraint (9) using rules (I), (II), (III), (IV). 248.74/165.20 248.74/165.20 248.74/165.20 248.74/165.20 248.74/165.20 To summarize, we get the following constraints P__>=_ for the following pairs. 248.74/165.20 248.74/165.20 *new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 248.74/165.20 248.74/165.20 *(new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x1))))), Pos(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x1))))), Pos(Succ(Succ(Succ(Zero)))))) 248.74/165.20 248.74/165.20 248.74/165.20 248.74/165.20 248.74/165.20 *new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) 248.74/165.20 248.74/165.20 *(new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(Succ(Zero)), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))))) 248.74/165.20 248.74/165.20 248.74/165.20 *(new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(Zero), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(Zero))))))) 248.74/165.20 248.74/165.20 248.74/165.20 *(new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Succ(Succ(x35))))))), Pos(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(Succ(Succ(x35))), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x35))))))))) 248.74/165.20 248.74/165.20 248.74/165.20 248.74/165.20 248.74/165.20 *new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 248.74/165.20 248.74/165.20 *(new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x10))))))_>=_new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x10))))), Pos(Succ(Succ(Succ(Zero)))))) 248.74/165.20 248.74/165.20 248.74/165.20 248.74/165.20 248.74/165.20 *new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 248.74/165.20 248.74/165.20 *(new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x62))))))))_>=_new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(Succ(Succ(x62))), Succ(Succ(Zero)))))) 248.74/165.20 248.74/165.20 248.74/165.20 248.74/165.20 248.74/165.20 248.74/165.20 248.74/165.20 248.74/165.20 248.74/165.20 The constraints for P_> respective P_bound are constructed from P__>=_ where we just replace every occurence of "t _>=_ s" in P__>=_ by "t > s" respective "t _>=_ c". Here c stands for the fresh constant used for P_bound. 248.74/165.20 ---------------------------------------- 248.74/165.20 248.74/165.20 (361) 248.74/165.20 Obligation: 248.74/165.20 Q DP problem: 248.74/165.20 The TRS P consists of the following rules: 248.74/165.20 248.74/165.20 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 248.74/165.20 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) 248.74/165.20 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 248.74/165.20 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 248.74/165.20 248.74/165.20 The TRS R consists of the following rules: 248.74/165.20 248.74/165.20 new_primModNatS01(vyv330, vyv331, Zero, Zero) -> new_primModNatS02(vyv330, vyv331) 248.74/165.20 new_primModNatS02(vyv330, vyv331) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv330), Succ(vyv331)), Succ(vyv331)) 248.74/165.20 new_primModNatS1(Succ(Succ(vyv292000)), Succ(vyv291000)) -> new_primModNatS01(vyv292000, vyv291000, vyv292000, vyv291000) 248.74/165.20 new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Succ(vyv3330)) -> new_primModNatS01(vyv330, vyv331, vyv3320, vyv3330) 248.74/165.20 new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Zero) -> new_primModNatS02(vyv330, vyv331) 248.74/165.20 new_primMinusNatS2(Succ(vyv3100), Succ(vyv3110)) -> new_primMinusNatS2(vyv3100, vyv3110) 248.74/165.20 new_primModNatS1(Succ(Zero), Succ(vyv291000)) -> Succ(Zero) 248.74/165.20 new_primModNatS1(Zero, vyv29100) -> Zero 248.74/165.20 new_primModNatS01(vyv330, vyv331, Zero, Succ(vyv3330)) -> Succ(Succ(vyv330)) 248.74/165.20 new_primMinusNatS2(Zero, Zero) -> Zero 248.74/165.20 new_primMinusNatS2(Zero, Succ(vyv3110)) -> Zero 248.74/165.20 new_primMinusNatS2(Succ(vyv3100), Zero) -> Succ(vyv3100) 248.74/165.20 new_esEs(Neg(Succ(vyv24100))) -> new_primEqInt(Neg(Succ(vyv24100))) 248.74/165.20 new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) 248.74/165.20 new_primEqInt(Neg(Zero)) -> True 248.74/165.20 new_primEqInt(Neg(Succ(vyv242000))) -> False 248.74/165.20 248.74/165.20 The set Q consists of the following terms: 248.74/165.20 248.74/165.20 new_primModNatS1(Succ(Zero), Succ(x0)) 248.74/165.20 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 248.74/165.20 new_primEqInt(Pos(Zero)) 248.74/165.20 new_primModNatS02(x0, x1) 248.74/165.20 new_primModNatS01(x0, x1, Succ(x2), Zero) 248.74/165.20 new_primModNatS01(x0, x1, Zero, Succ(x2)) 248.74/165.20 new_primMinusNatS2(Zero, Zero) 248.74/165.20 new_esEs(Neg(Succ(x0))) 248.74/165.20 new_primMinusNatS2(Zero, Succ(x0)) 248.74/165.20 new_primModNatS1(Succ(Zero), Zero) 248.74/165.20 new_esEs(Pos(Zero)) 248.74/165.20 new_primEqInt(Neg(Succ(x0))) 248.74/165.20 new_primMinusNatS2(Succ(x0), Zero) 248.74/165.20 new_primEqInt(Neg(Zero)) 248.74/165.20 new_primModNatS01(x0, x1, Zero, Zero) 248.74/165.20 new_primEqInt(Pos(Succ(x0))) 248.74/165.20 new_primMinusNatS2(Succ(x0), Succ(x1)) 248.74/165.20 new_primModNatS1(Succ(Succ(x0)), Zero) 248.74/165.20 new_primModNatS1(Zero, x0) 248.74/165.20 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 248.74/165.20 new_esEs(Neg(Zero)) 248.74/165.20 new_esEs(Pos(Succ(x0))) 248.74/165.20 248.74/165.20 We have to consider all minimal (P,Q,R)-chains. 248.74/165.20 ---------------------------------------- 248.74/165.20 248.74/165.20 (362) 248.74/165.20 Obligation: 248.74/165.20 Q DP problem: 248.74/165.20 The TRS P consists of the following rules: 248.74/165.20 248.74/165.20 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) 248.74/165.20 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x3))))), Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 248.74/165.20 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) 248.74/165.20 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 248.74/165.20 248.74/165.20 The TRS R consists of the following rules: 248.74/165.20 248.74/165.20 new_primModNatS1(Succ(Succ(vyv292000)), Succ(vyv291000)) -> new_primModNatS01(vyv292000, vyv291000, vyv292000, vyv291000) 248.74/165.20 new_primModNatS01(vyv330, vyv331, Zero, Zero) -> new_primModNatS02(vyv330, vyv331) 248.74/165.20 new_primModNatS02(vyv330, vyv331) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv330), Succ(vyv331)), Succ(vyv331)) 248.74/165.20 new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Succ(vyv3330)) -> new_primModNatS01(vyv330, vyv331, vyv3320, vyv3330) 248.74/165.20 new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Zero) -> new_primModNatS02(vyv330, vyv331) 248.74/165.20 new_primModNatS01(vyv330, vyv331, Zero, Succ(vyv3330)) -> Succ(Succ(vyv330)) 248.74/165.20 new_primMinusNatS2(Succ(vyv3100), Succ(vyv3110)) -> new_primMinusNatS2(vyv3100, vyv3110) 248.74/165.20 new_primModNatS1(Succ(Zero), Succ(vyv291000)) -> Succ(Zero) 248.74/165.20 new_primModNatS1(Zero, vyv29100) -> Zero 248.74/165.20 new_primMinusNatS2(Zero, Zero) -> Zero 248.74/165.20 new_primMinusNatS2(Zero, Succ(vyv3110)) -> Zero 248.74/165.20 new_primMinusNatS2(Succ(vyv3100), Zero) -> Succ(vyv3100) 248.74/165.20 new_esEs(Pos(Succ(vyv24100))) -> new_primEqInt(Pos(Succ(vyv24100))) 248.74/165.20 new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) 248.74/165.20 new_primEqInt(Pos(Zero)) -> True 248.74/165.20 new_primEqInt(Pos(Succ(vyv242000))) -> False 248.74/165.20 new_esEs(Neg(Succ(vyv24100))) -> new_primEqInt(Neg(Succ(vyv24100))) 248.74/165.20 new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) 248.74/165.20 new_primEqInt(Neg(Zero)) -> True 248.74/165.20 new_primEqInt(Neg(Succ(vyv242000))) -> False 248.74/165.20 248.74/165.20 The set Q consists of the following terms: 248.74/165.20 248.74/165.20 new_primModNatS1(Succ(Zero), Succ(x0)) 248.74/165.20 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 248.74/165.20 new_primEqInt(Pos(Zero)) 248.74/165.20 new_primModNatS02(x0, x1) 248.74/165.20 new_primModNatS01(x0, x1, Succ(x2), Zero) 248.74/165.20 new_primModNatS01(x0, x1, Zero, Succ(x2)) 248.74/165.20 new_primMinusNatS2(Zero, Zero) 248.74/165.20 new_esEs(Neg(Succ(x0))) 248.74/165.20 new_primMinusNatS2(Zero, Succ(x0)) 248.74/165.20 new_primModNatS1(Succ(Zero), Zero) 248.74/165.20 new_esEs(Pos(Zero)) 248.74/165.20 new_primEqInt(Neg(Succ(x0))) 248.74/165.20 new_primMinusNatS2(Succ(x0), Zero) 248.74/165.20 new_primEqInt(Neg(Zero)) 248.74/165.20 new_primModNatS01(x0, x1, Zero, Zero) 248.74/165.20 new_primEqInt(Pos(Succ(x0))) 248.74/165.20 new_primMinusNatS2(Succ(x0), Succ(x1)) 248.74/165.20 new_primModNatS1(Succ(Succ(x0)), Zero) 248.74/165.20 new_primModNatS1(Zero, x0) 248.74/165.20 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 248.74/165.20 new_esEs(Neg(Zero)) 248.74/165.20 new_esEs(Pos(Succ(x0))) 248.74/165.20 248.74/165.20 We have to consider all minimal (P,Q,R)-chains. 248.74/165.20 ---------------------------------------- 248.74/165.20 248.74/165.20 (363) InductionCalculusProof (EQUIVALENT) 248.74/165.20 Note that final constraints are written in bold face. 248.74/165.20 248.74/165.20 248.74/165.20 248.74/165.20 For Pair new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) the following chains were created: 248.74/165.20 *We consider the chain new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))), new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x4))))), Neg(Succ(Succ(Succ(Succ(x5)))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x4))))), Neg(new_primModNatS01(Succ(Succ(x5)), Succ(Succ(x4)), x5, x4))) which results in the following constraint: 248.74/165.20 248.74/165.20 (1) (new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2))))))=new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x4))))), Neg(Succ(Succ(Succ(Succ(x5)))))) ==> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2))))))) 248.74/165.20 248.74/165.20 248.74/165.20 248.74/165.20 We simplified constraint (1) using rules (I), (II), (IV), (VII) which results in the following new constraint: 248.74/165.20 248.74/165.20 (2) (Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))=x40 & new_esEs(x40)=False ==> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2))))))) 248.74/165.20 248.74/165.20 248.74/165.20 248.74/165.20 We simplified constraint (2) using rule (V) (with possible (I) afterwards) using induction on new_esEs(x40)=False which results in the following new constraints: 248.74/165.20 248.74/165.20 (3) (new_primEqInt(Pos(Succ(x41)))=False & Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))=Pos(Succ(x41)) ==> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2))))))) 248.74/165.20 248.74/165.20 (4) (new_primEqInt(Pos(Zero))=False & Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))=Pos(Zero) ==> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2))))))) 248.74/165.20 248.74/165.20 (5) (new_primEqInt(Neg(Succ(x42)))=False & Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))=Neg(Succ(x42)) ==> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2))))))) 248.74/165.20 248.74/165.20 (6) (new_primEqInt(Neg(Zero))=False & Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))=Neg(Zero) ==> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2))))))) 248.74/165.20 248.74/165.20 248.74/165.20 248.74/165.20 We solved constraint (3) using rules (I), (II).We solved constraint (4) using rules (I), (II).We simplified constraint (5) using rules (I), (II), (VII) which results in the following new constraint: 248.74/165.20 248.74/165.20 (7) (Neg(Succ(x42))=x43 & new_primEqInt(x43)=False & Succ(Succ(x2))=x44 & Succ(Succ(x3))=x45 & new_primModNatS01(x44, x45, x2, x3)=Succ(x42) ==> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2))))))) 248.74/165.20 248.74/165.20 248.74/165.20 248.74/165.20 We simplified constraint (6) using rules (I), (II), (VII) which results in the following new constraint: 248.74/165.20 248.74/165.20 (8) (Neg(Zero)=x86 & new_primEqInt(x86)=False & Succ(Succ(x2))=x87 & Succ(Succ(x3))=x88 & new_primModNatS01(x87, x88, x2, x3)=Zero ==> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2))))))) 248.74/165.20 248.74/165.20 248.74/165.20 248.74/165.20 We simplified constraint (7) using rule (V) (with possible (I) afterwards) using induction on new_primEqInt(x43)=False which results in the following new constraints: 248.74/165.20 248.74/165.20 (9) (False=False & Neg(Succ(x42))=Pos(Succ(x46)) & Succ(Succ(x2))=x44 & Succ(Succ(x3))=x45 & new_primModNatS01(x44, x45, x2, x3)=Succ(x42) ==> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2))))))) 248.74/165.20 248.74/165.20 (10) (False=False & Neg(Succ(x42))=Neg(Succ(x47)) & Succ(Succ(x2))=x44 & Succ(Succ(x3))=x45 & new_primModNatS01(x44, x45, x2, x3)=Succ(x42) ==> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2))))))) 248.74/165.20 248.74/165.20 248.74/165.20 248.74/165.20 We solved constraint (9) using rules (I), (II).We simplified constraint (10) using rules (I), (II), (IV) which results in the following new constraint: 248.74/165.20 248.74/165.20 (11) (Succ(Succ(x2))=x44 & Succ(Succ(x3))=x45 & new_primModNatS01(x44, x45, x2, x3)=Succ(x42) ==> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2))))))) 248.74/165.20 248.74/165.20 248.74/165.20 248.74/165.20 We simplified constraint (11) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS01(x44, x45, x2, x3)=Succ(x42) which results in the following new constraints: 248.74/165.20 248.74/165.20 (12) (new_primModNatS02(x49, x48)=Succ(x42) & Succ(Succ(Zero))=x49 & Succ(Succ(Zero))=x48 ==> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(Succ(Zero)), Succ(Succ(Zero)), Zero, Zero))), Pos(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(Zero))))))) 248.74/165.20 248.74/165.20 (13) (new_primModNatS01(x53, x52, x51, x50)=Succ(x42) & Succ(Succ(Succ(x51)))=x53 & Succ(Succ(Succ(x50)))=x52 & (\/x54:new_primModNatS01(x53, x52, x51, x50)=Succ(x54) & Succ(Succ(x51))=x53 & Succ(Succ(x50))=x52 ==> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x51))))), Pos(Succ(Succ(Succ(Succ(x50))))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(Succ(x51)), Succ(Succ(x50)), x51, x50))), Pos(Succ(Succ(Succ(Succ(x50))))), Neg(Succ(Succ(Succ(Succ(x51))))))) ==> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Succ(x51)))))), Pos(Succ(Succ(Succ(Succ(Succ(x50)))))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(Succ(Succ(x51))), Succ(Succ(Succ(x50))), Succ(x51), Succ(x50)))), Pos(Succ(Succ(Succ(Succ(Succ(x50)))))), Neg(Succ(Succ(Succ(Succ(Succ(x51)))))))) 248.74/165.20 248.74/165.20 (14) (new_primModNatS02(x57, x56)=Succ(x42) & Succ(Succ(Succ(x55)))=x57 & Succ(Succ(Zero))=x56 ==> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Succ(x55)))))), Pos(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(Succ(Succ(x55))), Succ(Succ(Zero)), Succ(x55), Zero))), Pos(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(Succ(x55)))))))) 248.74/165.20 248.74/165.20 (15) (Succ(Succ(x60))=Succ(x42) & Succ(Succ(Zero))=x60 & Succ(Succ(Succ(x58)))=x59 ==> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(Succ(x58)))))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(Succ(Zero)), Succ(Succ(Succ(x58))), Zero, Succ(x58)))), Pos(Succ(Succ(Succ(Succ(Succ(x58)))))), Neg(Succ(Succ(Succ(Succ(Zero))))))) 248.74/165.20 248.74/165.20 248.74/165.20 248.74/165.20 We simplified constraint (12) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS02(x49, x48)=Succ(x42) which results in the following new constraint: 248.74/165.20 248.74/165.20 (16) (new_primModNatS1(new_primMinusNatS2(Succ(x62), Succ(x61)), Succ(x61))=Succ(x42) & Succ(Succ(Zero))=x62 & Succ(Succ(Zero))=x61 ==> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(Succ(Zero)), Succ(Succ(Zero)), Zero, Zero))), Pos(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(Zero))))))) 248.74/165.20 248.74/165.20 248.74/165.20 248.74/165.20 We simplified constraint (13) using rule (IV) which results in the following new constraint: 248.74/165.20 248.74/165.20 (17) (new_primModNatS01(x53, x52, x51, x50)=Succ(x42) & Succ(Succ(Succ(x51)))=x53 & Succ(Succ(Succ(x50)))=x52 ==> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Succ(x51)))))), Pos(Succ(Succ(Succ(Succ(Succ(x50)))))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(Succ(Succ(x51))), Succ(Succ(Succ(x50))), Succ(x51), Succ(x50)))), Pos(Succ(Succ(Succ(Succ(Succ(x50)))))), Neg(Succ(Succ(Succ(Succ(Succ(x51)))))))) 248.74/165.20 248.74/165.20 248.74/165.20 248.74/165.20 We simplified constraint (14) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS02(x57, x56)=Succ(x42) which results in the following new constraint: 248.74/165.20 248.74/165.20 (18) (new_primModNatS1(new_primMinusNatS2(Succ(x81), Succ(x80)), Succ(x80))=Succ(x42) & Succ(Succ(Succ(x55)))=x81 & Succ(Succ(Zero))=x80 ==> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Succ(x55)))))), Pos(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(Succ(Succ(x55))), Succ(Succ(Zero)), Succ(x55), Zero))), Pos(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(Succ(x55)))))))) 248.74/165.20 248.74/165.20 248.74/165.20 248.74/165.20 We simplified constraint (15) using rules (I), (II), (IV) which results in the following new constraint: 248.74/165.20 248.74/165.20 (19) (new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(Succ(x58)))))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(Succ(Zero)), Succ(Succ(Succ(x58))), Zero, Succ(x58)))), Pos(Succ(Succ(Succ(Succ(Succ(x58)))))), Neg(Succ(Succ(Succ(Succ(Zero))))))) 248.74/165.20 248.74/165.20 248.74/165.20 248.74/165.20 We simplified constraint (16) using rules (III), (IV), (VII) which results in the following new constraint: 248.74/165.20 248.74/165.20 (20) (new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(Succ(Zero)), Succ(Succ(Zero)), Zero, Zero))), Pos(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(Zero))))))) 248.74/165.20 248.74/165.20 248.74/165.20 248.74/165.20 We simplified constraint (17) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS01(x53, x52, x51, x50)=Succ(x42) which results in the following new constraints: 248.74/165.20 248.74/165.20 (21) (new_primModNatS02(x68, x67)=Succ(x42) & Succ(Succ(Succ(Zero)))=x68 & Succ(Succ(Succ(Zero)))=x67 ==> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Zero))), Succ(Zero), Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))))) 248.74/165.20 248.74/165.20 (22) (new_primModNatS01(x72, x71, x70, x69)=Succ(x42) & Succ(Succ(Succ(Succ(x70))))=x72 & Succ(Succ(Succ(Succ(x69))))=x71 & (\/x73:new_primModNatS01(x72, x71, x70, x69)=Succ(x73) & Succ(Succ(Succ(x70)))=x72 & Succ(Succ(Succ(x69)))=x71 ==> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Succ(x70)))))), Pos(Succ(Succ(Succ(Succ(Succ(x69)))))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(Succ(Succ(x70))), Succ(Succ(Succ(x69))), Succ(x70), Succ(x69)))), Pos(Succ(Succ(Succ(Succ(Succ(x69)))))), Neg(Succ(Succ(Succ(Succ(Succ(x70)))))))) ==> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Succ(Succ(x70))))))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x69))))))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(Succ(Succ(Succ(x70)))), Succ(Succ(Succ(Succ(x69)))), Succ(Succ(x70)), Succ(Succ(x69))))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x69))))))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x70))))))))) 248.74/165.20 248.74/165.20 (23) (new_primModNatS02(x76, x75)=Succ(x42) & Succ(Succ(Succ(Succ(x74))))=x76 & Succ(Succ(Succ(Zero)))=x75 ==> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Succ(Succ(x74))))))), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(Succ(Succ(Succ(x74)))), Succ(Succ(Succ(Zero))), Succ(Succ(x74)), Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x74))))))))) 248.74/165.20 248.74/165.20 (24) (Succ(Succ(x79))=Succ(x42) & Succ(Succ(Succ(Zero)))=x79 & Succ(Succ(Succ(Succ(x77))))=x78 ==> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x77))))))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Succ(x77)))), Succ(Zero), Succ(Succ(x77))))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x77))))))), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))))) 248.74/165.20 248.74/165.20 248.74/165.20 248.74/165.20 We simplified constraint (21) using rules (III), (IV) which results in the following new constraint: 248.74/165.20 248.74/165.20 (25) (new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Zero))), Succ(Zero), Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))))) 248.74/165.20 248.74/165.20 248.74/165.20 248.74/165.20 We simplified constraint (22) using rules (III), (IV) which results in the following new constraint: 248.74/165.20 248.74/165.20 (26) (new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Succ(Succ(x70))))))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x69))))))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(Succ(Succ(Succ(x70)))), Succ(Succ(Succ(Succ(x69)))), Succ(Succ(x70)), Succ(Succ(x69))))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x69))))))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x70))))))))) 248.74/165.20 248.74/165.20 248.74/165.20 248.74/165.20 We simplified constraint (23) using rules (III), (IV) which results in the following new constraint: 248.74/165.20 248.74/165.20 (27) (new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Succ(Succ(x74))))))), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(Succ(Succ(Succ(x74)))), Succ(Succ(Succ(Zero))), Succ(Succ(x74)), Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x74))))))))) 248.74/165.20 248.74/165.20 248.74/165.20 248.74/165.20 We simplified constraint (24) using rules (I), (II), (IV) which results in the following new constraint: 248.74/165.20 248.74/165.20 (28) (new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x77))))))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Succ(x77)))), Succ(Zero), Succ(Succ(x77))))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x77))))))), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))))) 248.74/165.20 248.74/165.20 248.74/165.20 248.74/165.20 We simplified constraint (18) using rules (III), (IV), (VII) which results in the following new constraint: 248.74/165.20 248.74/165.20 (29) (new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Succ(x55)))))), Pos(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(Succ(Succ(x55))), Succ(Succ(Zero)), Succ(x55), Zero))), Pos(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(Succ(x55)))))))) 248.74/165.20 248.74/165.20 248.74/165.20 248.74/165.20 We simplified constraint (8) using rule (V) (with possible (I) afterwards) using induction on new_primEqInt(x86)=False which results in the following new constraints: 248.74/165.20 248.74/165.20 (30) (False=False & Neg(Zero)=Pos(Succ(x89)) & Succ(Succ(x2))=x87 & Succ(Succ(x3))=x88 & new_primModNatS01(x87, x88, x2, x3)=Zero ==> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2))))))) 248.74/165.20 248.74/165.20 (31) (False=False & Neg(Zero)=Neg(Succ(x90)) & Succ(Succ(x2))=x87 & Succ(Succ(x3))=x88 & new_primModNatS01(x87, x88, x2, x3)=Zero ==> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2))))))) 248.74/165.20 248.74/165.20 248.74/165.20 248.74/165.20 We solved constraint (30) using rules (I), (II).We solved constraint (31) using rules (I), (II). 248.74/165.20 248.74/165.20 248.74/165.20 248.74/165.20 248.74/165.20 For Pair new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x3))))), Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) the following chains were created: 248.74/165.20 *We consider the chain new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x14))))), Neg(Succ(Succ(Succ(Succ(x15)))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x14))))), Neg(new_primModNatS01(Succ(Succ(x15)), Succ(Succ(x14)), x15, x14))), new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x16))))), Neg(Succ(Succ(Succ(Succ(x17)))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(Succ(x16)), Succ(Succ(x17)), x16, x17))), Neg(Succ(Succ(Succ(Succ(x17))))), Pos(Succ(Succ(Succ(Succ(x16)))))) which results in the following constraint: 248.74/165.20 248.74/165.20 (1) (new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x14))))), Neg(new_primModNatS01(Succ(Succ(x15)), Succ(Succ(x14)), x15, x14)))=new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x16))))), Neg(Succ(Succ(Succ(Succ(x17)))))) ==> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x14))))), Neg(Succ(Succ(Succ(Succ(x15))))))_>=_new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x14))))), Neg(new_primModNatS01(Succ(Succ(x15)), Succ(Succ(x14)), x15, x14)))) 248.74/165.20 248.74/165.20 248.74/165.20 248.74/165.20 We simplified constraint (1) using rules (I), (II), (IV), (VII) which results in the following new constraint: 248.74/165.20 248.74/165.20 (2) (Succ(Succ(x15))=x91 & Succ(Succ(x14))=x92 & new_primModNatS01(x91, x92, x15, x14)=Succ(Succ(Succ(Succ(x17)))) ==> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x14))))), Neg(Succ(Succ(Succ(Succ(x15))))))_>=_new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x14))))), Neg(new_primModNatS01(Succ(Succ(x15)), Succ(Succ(x14)), x15, x14)))) 248.74/165.20 248.74/165.20 248.74/165.20 248.74/165.20 We simplified constraint (2) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS01(x91, x92, x15, x14)=Succ(Succ(Succ(Succ(x17)))) which results in the following new constraints: 248.74/165.20 248.74/165.20 (3) (new_primModNatS02(x94, x93)=Succ(Succ(Succ(Succ(x17)))) & Succ(Succ(Zero))=x94 & Succ(Succ(Zero))=x93 ==> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Zero))))), Neg(new_primModNatS01(Succ(Succ(Zero)), Succ(Succ(Zero)), Zero, Zero)))) 248.74/165.20 248.74/165.20 (4) (new_primModNatS01(x98, x97, x96, x95)=Succ(Succ(Succ(Succ(x17)))) & Succ(Succ(Succ(x96)))=x98 & Succ(Succ(Succ(x95)))=x97 & (\/x99:new_primModNatS01(x98, x97, x96, x95)=Succ(Succ(Succ(Succ(x99)))) & Succ(Succ(x96))=x98 & Succ(Succ(x95))=x97 ==> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x95))))), Neg(Succ(Succ(Succ(Succ(x96))))))_>=_new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x95))))), Neg(new_primModNatS01(Succ(Succ(x96)), Succ(Succ(x95)), x96, x95)))) ==> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(Succ(x95)))))), Neg(Succ(Succ(Succ(Succ(Succ(x96)))))))_>=_new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Succ(x95)))))), Neg(new_primModNatS01(Succ(Succ(Succ(x96))), Succ(Succ(Succ(x95))), Succ(x96), Succ(x95))))) 248.74/165.20 248.74/165.20 (5) (new_primModNatS02(x102, x101)=Succ(Succ(Succ(Succ(x17)))) & Succ(Succ(Succ(x100)))=x102 & Succ(Succ(Zero))=x101 ==> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(Succ(x100)))))))_>=_new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Zero))))), Neg(new_primModNatS01(Succ(Succ(Succ(x100))), Succ(Succ(Zero)), Succ(x100), Zero)))) 248.74/165.20 248.74/165.20 (6) (Succ(Succ(x105))=Succ(Succ(Succ(Succ(x17)))) & Succ(Succ(Zero))=x105 & Succ(Succ(Succ(x103)))=x104 ==> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(Succ(x103)))))), Neg(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Succ(x103)))))), Neg(new_primModNatS01(Succ(Succ(Zero)), Succ(Succ(Succ(x103))), Zero, Succ(x103))))) 248.74/165.20 248.74/165.20 248.74/165.20 248.74/165.20 We simplified constraint (3) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS02(x94, x93)=Succ(Succ(Succ(Succ(x17)))) which results in the following new constraint: 248.74/165.20 248.74/165.20 (7) (new_primModNatS1(new_primMinusNatS2(Succ(x107), Succ(x106)), Succ(x106))=Succ(Succ(Succ(Succ(x17)))) & Succ(Succ(Zero))=x107 & Succ(Succ(Zero))=x106 ==> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Zero))))), Neg(new_primModNatS01(Succ(Succ(Zero)), Succ(Succ(Zero)), Zero, Zero)))) 248.74/165.20 248.74/165.20 248.74/165.20 248.74/165.20 We simplified constraint (4) using rule (IV) which results in the following new constraint: 248.74/165.20 248.74/165.20 (8) (new_primModNatS01(x98, x97, x96, x95)=Succ(Succ(Succ(Succ(x17)))) & Succ(Succ(Succ(x96)))=x98 & Succ(Succ(Succ(x95)))=x97 ==> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(Succ(x95)))))), Neg(Succ(Succ(Succ(Succ(Succ(x96)))))))_>=_new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Succ(x95)))))), Neg(new_primModNatS01(Succ(Succ(Succ(x96))), Succ(Succ(Succ(x95))), Succ(x96), Succ(x95))))) 248.74/165.20 248.74/165.20 248.74/165.20 248.74/165.20 We simplified constraint (5) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS02(x102, x101)=Succ(Succ(Succ(Succ(x17)))) which results in the following new constraint: 248.74/165.20 248.74/165.20 (9) (new_primModNatS1(new_primMinusNatS2(Succ(x126), Succ(x125)), Succ(x125))=Succ(Succ(Succ(Succ(x17)))) & Succ(Succ(Succ(x100)))=x126 & Succ(Succ(Zero))=x125 ==> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(Succ(x100)))))))_>=_new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Zero))))), Neg(new_primModNatS01(Succ(Succ(Succ(x100))), Succ(Succ(Zero)), Succ(x100), Zero)))) 248.74/165.20 248.74/165.20 248.74/165.20 248.74/165.20 We simplified constraint (6) using rules (I), (II), (III), (IV) which results in the following new constraint: 248.74/165.20 248.74/165.20 (10) (new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(Succ(x103)))))), Neg(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Succ(x103)))))), Neg(new_primModNatS01(Succ(Succ(Zero)), Succ(Succ(Succ(x103))), Zero, Succ(x103))))) 248.74/165.20 248.74/165.20 248.74/165.20 248.74/165.20 We simplified constraint (7) using rules (III), (IV), (VII) which results in the following new constraint: 248.74/165.20 248.74/165.20 (11) (new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Zero))))), Neg(new_primModNatS01(Succ(Succ(Zero)), Succ(Succ(Zero)), Zero, Zero)))) 248.74/165.20 248.74/165.20 248.74/165.20 248.74/165.20 We simplified constraint (8) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS01(x98, x97, x96, x95)=Succ(Succ(Succ(Succ(x17)))) which results in the following new constraints: 248.74/165.20 248.74/165.20 (12) (new_primModNatS02(x113, x112)=Succ(Succ(Succ(Succ(x17)))) & Succ(Succ(Succ(Zero)))=x113 & Succ(Succ(Succ(Zero)))=x112 ==> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(new_primModNatS01(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Zero))), Succ(Zero), Succ(Zero))))) 248.74/165.20 248.74/165.20 (13) (new_primModNatS01(x117, x116, x115, x114)=Succ(Succ(Succ(Succ(x17)))) & Succ(Succ(Succ(Succ(x115))))=x117 & Succ(Succ(Succ(Succ(x114))))=x116 & (\/x118:new_primModNatS01(x117, x116, x115, x114)=Succ(Succ(Succ(Succ(x118)))) & Succ(Succ(Succ(x115)))=x117 & Succ(Succ(Succ(x114)))=x116 ==> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(Succ(x114)))))), Neg(Succ(Succ(Succ(Succ(Succ(x115)))))))_>=_new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Succ(x114)))))), Neg(new_primModNatS01(Succ(Succ(Succ(x115))), Succ(Succ(Succ(x114))), Succ(x115), Succ(x114))))) ==> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(Succ(Succ(x114))))))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x115))))))))_>=_new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Succ(Succ(x114))))))), Neg(new_primModNatS01(Succ(Succ(Succ(Succ(x115)))), Succ(Succ(Succ(Succ(x114)))), Succ(Succ(x115)), Succ(Succ(x114)))))) 248.74/165.20 248.74/165.20 (14) (new_primModNatS02(x121, x120)=Succ(Succ(Succ(Succ(x17)))) & Succ(Succ(Succ(Succ(x119))))=x121 & Succ(Succ(Succ(Zero)))=x120 ==> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x119))))))))_>=_new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(new_primModNatS01(Succ(Succ(Succ(Succ(x119)))), Succ(Succ(Succ(Zero))), Succ(Succ(x119)), Succ(Zero))))) 248.74/165.20 248.74/165.20 (15) (Succ(Succ(x124))=Succ(Succ(Succ(Succ(x17)))) & Succ(Succ(Succ(Zero)))=x124 & Succ(Succ(Succ(Succ(x122))))=x123 ==> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(Succ(Succ(x122))))))), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Succ(Succ(x122))))))), Neg(new_primModNatS01(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Succ(x122)))), Succ(Zero), Succ(Succ(x122)))))) 248.74/165.20 248.74/165.20 248.74/165.20 248.74/165.20 We simplified constraint (12) using rules (III), (IV) which results in the following new constraint: 248.74/165.20 248.74/165.20 (16) (new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(new_primModNatS01(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Zero))), Succ(Zero), Succ(Zero))))) 248.74/165.20 248.74/165.20 248.74/165.20 248.74/165.20 We simplified constraint (13) using rules (III), (IV) which results in the following new constraint: 248.74/165.20 248.74/165.20 (17) (new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(Succ(Succ(x114))))))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x115))))))))_>=_new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Succ(Succ(x114))))))), Neg(new_primModNatS01(Succ(Succ(Succ(Succ(x115)))), Succ(Succ(Succ(Succ(x114)))), Succ(Succ(x115)), Succ(Succ(x114)))))) 248.74/165.20 248.74/165.20 248.74/165.20 248.74/165.20 We simplified constraint (14) using rules (III), (IV) which results in the following new constraint: 248.74/165.20 248.74/165.20 (18) (new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x119))))))))_>=_new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(new_primModNatS01(Succ(Succ(Succ(Succ(x119)))), Succ(Succ(Succ(Zero))), Succ(Succ(x119)), Succ(Zero))))) 248.74/165.20 248.74/165.20 248.74/165.20 248.74/165.20 We simplified constraint (15) using rules (I), (II), (III), (IV) which results in the following new constraint: 248.74/165.20 248.74/165.20 (19) (new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(Succ(Succ(x122))))))), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Succ(Succ(x122))))))), Neg(new_primModNatS01(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Succ(x122)))), Succ(Zero), Succ(Succ(x122)))))) 248.74/165.20 248.74/165.20 248.74/165.20 248.74/165.20 We simplified constraint (9) using rules (III), (IV), (VII) which results in the following new constraint: 248.74/165.20 248.74/165.20 (20) (new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(Succ(x100)))))))_>=_new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Zero))))), Neg(new_primModNatS01(Succ(Succ(Succ(x100))), Succ(Succ(Zero)), Succ(x100), Zero)))) 248.74/165.20 248.74/165.20 248.74/165.20 248.74/165.20 248.74/165.20 248.74/165.20 248.74/165.20 248.74/165.20 248.74/165.20 For Pair new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) the following chains were created: 248.74/165.20 *We consider the chain new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x26))))), Neg(Succ(Succ(Succ(Succ(x27)))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(Succ(x26)), Succ(Succ(x27)), x26, x27))), Neg(Succ(Succ(Succ(Succ(x27))))), Pos(Succ(Succ(Succ(Succ(x26)))))), new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x28))))), Pos(Succ(Succ(Succ(Succ(x29)))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x28))))), Pos(new_primModNatS01(Succ(Succ(x29)), Succ(Succ(x28)), x29, x28))) which results in the following constraint: 248.74/165.20 248.74/165.20 (1) (new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(Succ(x26)), Succ(Succ(x27)), x26, x27))), Neg(Succ(Succ(Succ(Succ(x27))))), Pos(Succ(Succ(Succ(Succ(x26))))))=new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x28))))), Pos(Succ(Succ(Succ(Succ(x29)))))) ==> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x26))))), Neg(Succ(Succ(Succ(Succ(x27))))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(Succ(x26)), Succ(Succ(x27)), x26, x27))), Neg(Succ(Succ(Succ(Succ(x27))))), Pos(Succ(Succ(Succ(Succ(x26))))))) 248.74/165.20 248.74/165.20 248.74/165.20 248.74/165.20 We simplified constraint (1) using rules (I), (II), (IV), (VII) which results in the following new constraint: 248.74/165.20 248.74/165.20 (2) (Pos(new_primModNatS01(Succ(Succ(x26)), Succ(Succ(x27)), x26, x27))=x131 & new_esEs(x131)=False ==> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x26))))), Neg(Succ(Succ(Succ(Succ(x27))))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(Succ(x26)), Succ(Succ(x27)), x26, x27))), Neg(Succ(Succ(Succ(Succ(x27))))), Pos(Succ(Succ(Succ(Succ(x26))))))) 248.74/165.20 248.74/165.20 248.74/165.20 248.74/165.20 We simplified constraint (2) using rule (V) (with possible (I) afterwards) using induction on new_esEs(x131)=False which results in the following new constraints: 248.74/165.20 248.74/165.20 (3) (new_primEqInt(Pos(Succ(x132)))=False & Pos(new_primModNatS01(Succ(Succ(x26)), Succ(Succ(x27)), x26, x27))=Pos(Succ(x132)) ==> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x26))))), Neg(Succ(Succ(Succ(Succ(x27))))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(Succ(x26)), Succ(Succ(x27)), x26, x27))), Neg(Succ(Succ(Succ(Succ(x27))))), Pos(Succ(Succ(Succ(Succ(x26))))))) 248.74/165.20 248.74/165.20 (4) (new_primEqInt(Pos(Zero))=False & Pos(new_primModNatS01(Succ(Succ(x26)), Succ(Succ(x27)), x26, x27))=Pos(Zero) ==> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x26))))), Neg(Succ(Succ(Succ(Succ(x27))))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(Succ(x26)), Succ(Succ(x27)), x26, x27))), Neg(Succ(Succ(Succ(Succ(x27))))), Pos(Succ(Succ(Succ(Succ(x26))))))) 248.74/165.20 248.74/165.20 (5) (new_primEqInt(Neg(Succ(x133)))=False & Pos(new_primModNatS01(Succ(Succ(x26)), Succ(Succ(x27)), x26, x27))=Neg(Succ(x133)) ==> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x26))))), Neg(Succ(Succ(Succ(Succ(x27))))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(Succ(x26)), Succ(Succ(x27)), x26, x27))), Neg(Succ(Succ(Succ(Succ(x27))))), Pos(Succ(Succ(Succ(Succ(x26))))))) 248.74/165.20 248.74/165.20 (6) (new_primEqInt(Neg(Zero))=False & Pos(new_primModNatS01(Succ(Succ(x26)), Succ(Succ(x27)), x26, x27))=Neg(Zero) ==> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x26))))), Neg(Succ(Succ(Succ(Succ(x27))))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(Succ(x26)), Succ(Succ(x27)), x26, x27))), Neg(Succ(Succ(Succ(Succ(x27))))), Pos(Succ(Succ(Succ(Succ(x26))))))) 248.74/165.20 248.74/165.20 248.74/165.20 248.74/165.20 We simplified constraint (3) using rules (I), (II), (VII) which results in the following new constraint: 248.74/165.20 248.74/165.20 (7) (Pos(Succ(x132))=x134 & new_primEqInt(x134)=False & Succ(Succ(x26))=x135 & Succ(Succ(x27))=x136 & new_primModNatS01(x135, x136, x26, x27)=Succ(x132) ==> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x26))))), Neg(Succ(Succ(Succ(Succ(x27))))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(Succ(x26)), Succ(Succ(x27)), x26, x27))), Neg(Succ(Succ(Succ(Succ(x27))))), Pos(Succ(Succ(Succ(Succ(x26))))))) 248.74/165.20 248.74/165.20 248.74/165.20 248.74/165.20 We simplified constraint (4) using rules (I), (II), (VII) which results in the following new constraint: 248.74/165.20 248.74/165.20 (8) (Pos(Zero)=x177 & new_primEqInt(x177)=False & Succ(Succ(x26))=x178 & Succ(Succ(x27))=x179 & new_primModNatS01(x178, x179, x26, x27)=Zero ==> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x26))))), Neg(Succ(Succ(Succ(Succ(x27))))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(Succ(x26)), Succ(Succ(x27)), x26, x27))), Neg(Succ(Succ(Succ(Succ(x27))))), Pos(Succ(Succ(Succ(Succ(x26))))))) 248.74/165.20 248.74/165.20 248.74/165.20 248.74/165.20 We solved constraint (5) using rules (I), (II).We solved constraint (6) using rules (I), (II).We simplified constraint (7) using rule (V) (with possible (I) afterwards) using induction on new_primEqInt(x134)=False which results in the following new constraints: 248.74/165.20 248.74/165.20 (9) (False=False & Pos(Succ(x132))=Pos(Succ(x137)) & Succ(Succ(x26))=x135 & Succ(Succ(x27))=x136 & new_primModNatS01(x135, x136, x26, x27)=Succ(x132) ==> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x26))))), Neg(Succ(Succ(Succ(Succ(x27))))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(Succ(x26)), Succ(Succ(x27)), x26, x27))), Neg(Succ(Succ(Succ(Succ(x27))))), Pos(Succ(Succ(Succ(Succ(x26))))))) 248.74/165.20 248.74/165.20 (10) (False=False & Pos(Succ(x132))=Neg(Succ(x138)) & Succ(Succ(x26))=x135 & Succ(Succ(x27))=x136 & new_primModNatS01(x135, x136, x26, x27)=Succ(x132) ==> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x26))))), Neg(Succ(Succ(Succ(Succ(x27))))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(Succ(x26)), Succ(Succ(x27)), x26, x27))), Neg(Succ(Succ(Succ(Succ(x27))))), Pos(Succ(Succ(Succ(Succ(x26))))))) 248.74/165.20 248.74/165.20 248.74/165.20 248.74/165.20 We simplified constraint (9) using rules (I), (II), (IV) which results in the following new constraint: 248.74/165.20 248.74/165.20 (11) (Succ(Succ(x26))=x135 & Succ(Succ(x27))=x136 & new_primModNatS01(x135, x136, x26, x27)=Succ(x132) ==> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x26))))), Neg(Succ(Succ(Succ(Succ(x27))))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(Succ(x26)), Succ(Succ(x27)), x26, x27))), Neg(Succ(Succ(Succ(Succ(x27))))), Pos(Succ(Succ(Succ(Succ(x26))))))) 248.74/165.20 248.74/165.20 248.74/165.20 248.74/165.20 We solved constraint (10) using rules (I), (II).We simplified constraint (11) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS01(x135, x136, x26, x27)=Succ(x132) which results in the following new constraints: 248.74/165.20 248.74/165.20 (12) (new_primModNatS02(x140, x139)=Succ(x132) & Succ(Succ(Zero))=x140 & Succ(Succ(Zero))=x139 ==> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(Succ(Zero)), Succ(Succ(Zero)), Zero, Zero))), Neg(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(Zero))))))) 248.74/165.20 248.74/165.20 (13) (new_primModNatS01(x144, x143, x142, x141)=Succ(x132) & Succ(Succ(Succ(x142)))=x144 & Succ(Succ(Succ(x141)))=x143 & (\/x145:new_primModNatS01(x144, x143, x142, x141)=Succ(x145) & Succ(Succ(x142))=x144 & Succ(Succ(x141))=x143 ==> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x142))))), Neg(Succ(Succ(Succ(Succ(x141))))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(Succ(x142)), Succ(Succ(x141)), x142, x141))), Neg(Succ(Succ(Succ(Succ(x141))))), Pos(Succ(Succ(Succ(Succ(x142))))))) ==> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Succ(x142)))))), Neg(Succ(Succ(Succ(Succ(Succ(x141)))))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(Succ(Succ(x142))), Succ(Succ(Succ(x141))), Succ(x142), Succ(x141)))), Neg(Succ(Succ(Succ(Succ(Succ(x141)))))), Pos(Succ(Succ(Succ(Succ(Succ(x142)))))))) 248.74/165.20 248.74/165.20 (14) (new_primModNatS02(x148, x147)=Succ(x132) & Succ(Succ(Succ(x146)))=x148 & Succ(Succ(Zero))=x147 ==> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Succ(x146)))))), Neg(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(Succ(Succ(x146))), Succ(Succ(Zero)), Succ(x146), Zero))), Neg(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(Succ(x146)))))))) 248.74/165.20 248.74/165.20 (15) (Succ(Succ(x151))=Succ(x132) & Succ(Succ(Zero))=x151 & Succ(Succ(Succ(x149)))=x150 ==> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(Succ(x149)))))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(Succ(Zero)), Succ(Succ(Succ(x149))), Zero, Succ(x149)))), Neg(Succ(Succ(Succ(Succ(Succ(x149)))))), Pos(Succ(Succ(Succ(Succ(Zero))))))) 248.74/165.20 248.74/165.20 248.74/165.20 248.74/165.20 We simplified constraint (12) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS02(x140, x139)=Succ(x132) which results in the following new constraint: 248.74/165.20 248.74/165.20 (16) (new_primModNatS1(new_primMinusNatS2(Succ(x153), Succ(x152)), Succ(x152))=Succ(x132) & Succ(Succ(Zero))=x153 & Succ(Succ(Zero))=x152 ==> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(Succ(Zero)), Succ(Succ(Zero)), Zero, Zero))), Neg(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(Zero))))))) 248.74/165.20 248.74/165.20 248.74/165.20 248.74/165.20 We simplified constraint (13) using rule (IV) which results in the following new constraint: 248.74/165.20 248.74/165.20 (17) (new_primModNatS01(x144, x143, x142, x141)=Succ(x132) & Succ(Succ(Succ(x142)))=x144 & Succ(Succ(Succ(x141)))=x143 ==> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Succ(x142)))))), Neg(Succ(Succ(Succ(Succ(Succ(x141)))))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(Succ(Succ(x142))), Succ(Succ(Succ(x141))), Succ(x142), Succ(x141)))), Neg(Succ(Succ(Succ(Succ(Succ(x141)))))), Pos(Succ(Succ(Succ(Succ(Succ(x142)))))))) 248.74/165.20 248.74/165.20 248.74/165.20 248.74/165.20 We simplified constraint (14) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS02(x148, x147)=Succ(x132) which results in the following new constraint: 248.74/165.20 248.74/165.20 (18) (new_primModNatS1(new_primMinusNatS2(Succ(x172), Succ(x171)), Succ(x171))=Succ(x132) & Succ(Succ(Succ(x146)))=x172 & Succ(Succ(Zero))=x171 ==> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Succ(x146)))))), Neg(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(Succ(Succ(x146))), Succ(Succ(Zero)), Succ(x146), Zero))), Neg(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(Succ(x146)))))))) 248.74/165.20 248.74/165.20 248.74/165.20 248.74/165.20 We simplified constraint (15) using rules (I), (II), (IV) which results in the following new constraint: 248.74/165.20 248.74/165.20 (19) (new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(Succ(x149)))))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(Succ(Zero)), Succ(Succ(Succ(x149))), Zero, Succ(x149)))), Neg(Succ(Succ(Succ(Succ(Succ(x149)))))), Pos(Succ(Succ(Succ(Succ(Zero))))))) 248.74/165.20 248.74/165.20 248.74/165.20 248.74/165.20 We simplified constraint (16) using rules (III), (IV), (VII) which results in the following new constraint: 248.74/165.20 248.74/165.20 (20) (new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(Succ(Zero)), Succ(Succ(Zero)), Zero, Zero))), Neg(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(Zero))))))) 248.74/165.20 248.74/165.20 248.74/165.20 248.74/165.20 We simplified constraint (17) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS01(x144, x143, x142, x141)=Succ(x132) which results in the following new constraints: 248.74/165.20 248.74/165.20 (21) (new_primModNatS02(x159, x158)=Succ(x132) & Succ(Succ(Succ(Zero)))=x159 & Succ(Succ(Succ(Zero)))=x158 ==> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Zero))), Succ(Zero), Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))))) 248.74/165.20 248.74/165.20 (22) (new_primModNatS01(x163, x162, x161, x160)=Succ(x132) & Succ(Succ(Succ(Succ(x161))))=x163 & Succ(Succ(Succ(Succ(x160))))=x162 & (\/x164:new_primModNatS01(x163, x162, x161, x160)=Succ(x164) & Succ(Succ(Succ(x161)))=x163 & Succ(Succ(Succ(x160)))=x162 ==> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Succ(x161)))))), Neg(Succ(Succ(Succ(Succ(Succ(x160)))))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(Succ(Succ(x161))), Succ(Succ(Succ(x160))), Succ(x161), Succ(x160)))), Neg(Succ(Succ(Succ(Succ(Succ(x160)))))), Pos(Succ(Succ(Succ(Succ(Succ(x161)))))))) ==> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Succ(Succ(x161))))))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x160))))))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(Succ(Succ(Succ(x161)))), Succ(Succ(Succ(Succ(x160)))), Succ(Succ(x161)), Succ(Succ(x160))))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x160))))))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x161))))))))) 248.74/165.20 248.74/165.20 (23) (new_primModNatS02(x167, x166)=Succ(x132) & Succ(Succ(Succ(Succ(x165))))=x167 & Succ(Succ(Succ(Zero)))=x166 ==> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Succ(Succ(x165))))))), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(Succ(Succ(Succ(x165)))), Succ(Succ(Succ(Zero))), Succ(Succ(x165)), Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x165))))))))) 248.74/165.20 248.74/165.20 (24) (Succ(Succ(x170))=Succ(x132) & Succ(Succ(Succ(Zero)))=x170 & Succ(Succ(Succ(Succ(x168))))=x169 ==> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x168))))))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Succ(x168)))), Succ(Zero), Succ(Succ(x168))))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x168))))))), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))))) 248.74/165.20 248.74/165.20 248.74/165.20 248.74/165.20 We simplified constraint (21) using rules (III), (IV) which results in the following new constraint: 248.74/165.20 248.74/165.20 (25) (new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Zero))), Succ(Zero), Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))))) 248.74/165.20 248.74/165.20 248.74/165.20 248.74/165.20 We simplified constraint (22) using rules (III), (IV) which results in the following new constraint: 248.74/165.20 248.74/165.20 (26) (new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Succ(Succ(x161))))))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x160))))))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(Succ(Succ(Succ(x161)))), Succ(Succ(Succ(Succ(x160)))), Succ(Succ(x161)), Succ(Succ(x160))))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x160))))))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x161))))))))) 248.74/165.20 248.74/165.20 248.74/165.20 248.74/165.20 We simplified constraint (23) using rules (III), (IV) which results in the following new constraint: 248.74/165.20 248.74/165.20 (27) (new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Succ(Succ(x165))))))), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(Succ(Succ(Succ(x165)))), Succ(Succ(Succ(Zero))), Succ(Succ(x165)), Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x165))))))))) 248.74/165.20 248.74/165.20 248.74/165.20 248.74/165.20 We simplified constraint (24) using rules (I), (II), (IV) which results in the following new constraint: 248.74/165.20 248.74/165.20 (28) (new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x168))))))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Succ(x168)))), Succ(Zero), Succ(Succ(x168))))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x168))))))), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))))) 248.74/165.20 248.74/165.20 248.74/165.20 248.74/165.20 We simplified constraint (18) using rules (III), (IV), (VII) which results in the following new constraint: 248.74/165.20 248.74/165.20 (29) (new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Succ(x146)))))), Neg(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(Succ(Succ(x146))), Succ(Succ(Zero)), Succ(x146), Zero))), Neg(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(Succ(x146)))))))) 248.74/165.20 248.74/165.20 248.74/165.20 248.74/165.20 We simplified constraint (8) using rule (V) (with possible (I) afterwards) using induction on new_primEqInt(x177)=False which results in the following new constraints: 248.74/165.20 248.74/165.20 (30) (False=False & Pos(Zero)=Pos(Succ(x180)) & Succ(Succ(x26))=x178 & Succ(Succ(x27))=x179 & new_primModNatS01(x178, x179, x26, x27)=Zero ==> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x26))))), Neg(Succ(Succ(Succ(Succ(x27))))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(Succ(x26)), Succ(Succ(x27)), x26, x27))), Neg(Succ(Succ(Succ(Succ(x27))))), Pos(Succ(Succ(Succ(Succ(x26))))))) 248.74/165.20 248.74/165.20 (31) (False=False & Pos(Zero)=Neg(Succ(x181)) & Succ(Succ(x26))=x178 & Succ(Succ(x27))=x179 & new_primModNatS01(x178, x179, x26, x27)=Zero ==> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x26))))), Neg(Succ(Succ(Succ(Succ(x27))))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(Succ(x26)), Succ(Succ(x27)), x26, x27))), Neg(Succ(Succ(Succ(Succ(x27))))), Pos(Succ(Succ(Succ(Succ(x26))))))) 248.74/165.20 248.74/165.20 248.74/165.20 248.74/165.20 We solved constraint (30) using rules (I), (II).We solved constraint (31) using rules (I), (II). 248.74/165.20 248.74/165.20 248.74/165.20 248.74/165.20 248.74/165.20 For Pair new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) the following chains were created: 248.74/165.20 *We consider the chain new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x30))))), Pos(Succ(Succ(Succ(Succ(x31)))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x30))))), Pos(new_primModNatS01(Succ(Succ(x31)), Succ(Succ(x30)), x31, x30))), new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x32))))), Pos(Succ(Succ(Succ(Succ(x33)))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(Succ(x32)), Succ(Succ(x33)), x32, x33))), Pos(Succ(Succ(Succ(Succ(x33))))), Neg(Succ(Succ(Succ(Succ(x32)))))) which results in the following constraint: 248.74/165.20 248.74/165.20 (1) (new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x30))))), Pos(new_primModNatS01(Succ(Succ(x31)), Succ(Succ(x30)), x31, x30)))=new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x32))))), Pos(Succ(Succ(Succ(Succ(x33)))))) ==> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x30))))), Pos(Succ(Succ(Succ(Succ(x31))))))_>=_new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x30))))), Pos(new_primModNatS01(Succ(Succ(x31)), Succ(Succ(x30)), x31, x30)))) 248.74/165.20 248.74/165.20 248.74/165.20 248.74/165.20 We simplified constraint (1) using rules (I), (II), (IV), (VII) which results in the following new constraint: 248.74/165.20 248.74/165.20 (2) (Succ(Succ(x31))=x182 & Succ(Succ(x30))=x183 & new_primModNatS01(x182, x183, x31, x30)=Succ(Succ(Succ(Succ(x33)))) ==> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x30))))), Pos(Succ(Succ(Succ(Succ(x31))))))_>=_new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x30))))), Pos(new_primModNatS01(Succ(Succ(x31)), Succ(Succ(x30)), x31, x30)))) 248.74/165.20 248.74/165.20 248.74/165.20 248.74/165.20 We simplified constraint (2) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS01(x182, x183, x31, x30)=Succ(Succ(Succ(Succ(x33)))) which results in the following new constraints: 248.74/165.20 248.74/165.20 (3) (new_primModNatS02(x185, x184)=Succ(Succ(Succ(Succ(x33)))) & Succ(Succ(Zero))=x185 & Succ(Succ(Zero))=x184 ==> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Zero))))), Pos(new_primModNatS01(Succ(Succ(Zero)), Succ(Succ(Zero)), Zero, Zero)))) 248.74/165.20 248.74/165.20 (4) (new_primModNatS01(x189, x188, x187, x186)=Succ(Succ(Succ(Succ(x33)))) & Succ(Succ(Succ(x187)))=x189 & Succ(Succ(Succ(x186)))=x188 & (\/x190:new_primModNatS01(x189, x188, x187, x186)=Succ(Succ(Succ(Succ(x190)))) & Succ(Succ(x187))=x189 & Succ(Succ(x186))=x188 ==> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x186))))), Pos(Succ(Succ(Succ(Succ(x187))))))_>=_new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x186))))), Pos(new_primModNatS01(Succ(Succ(x187)), Succ(Succ(x186)), x187, x186)))) ==> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(Succ(x186)))))), Pos(Succ(Succ(Succ(Succ(Succ(x187)))))))_>=_new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Succ(x186)))))), Pos(new_primModNatS01(Succ(Succ(Succ(x187))), Succ(Succ(Succ(x186))), Succ(x187), Succ(x186))))) 248.74/165.20 248.74/165.20 (5) (new_primModNatS02(x193, x192)=Succ(Succ(Succ(Succ(x33)))) & Succ(Succ(Succ(x191)))=x193 & Succ(Succ(Zero))=x192 ==> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(Succ(x191)))))))_>=_new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Zero))))), Pos(new_primModNatS01(Succ(Succ(Succ(x191))), Succ(Succ(Zero)), Succ(x191), Zero)))) 248.74/165.20 248.74/165.20 (6) (Succ(Succ(x196))=Succ(Succ(Succ(Succ(x33)))) & Succ(Succ(Zero))=x196 & Succ(Succ(Succ(x194)))=x195 ==> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(Succ(x194)))))), Pos(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Succ(x194)))))), Pos(new_primModNatS01(Succ(Succ(Zero)), Succ(Succ(Succ(x194))), Zero, Succ(x194))))) 248.74/165.20 248.74/165.20 248.74/165.20 248.74/165.20 We simplified constraint (3) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS02(x185, x184)=Succ(Succ(Succ(Succ(x33)))) which results in the following new constraint: 248.74/165.20 248.74/165.20 (7) (new_primModNatS1(new_primMinusNatS2(Succ(x198), Succ(x197)), Succ(x197))=Succ(Succ(Succ(Succ(x33)))) & Succ(Succ(Zero))=x198 & Succ(Succ(Zero))=x197 ==> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Zero))))), Pos(new_primModNatS01(Succ(Succ(Zero)), Succ(Succ(Zero)), Zero, Zero)))) 248.74/165.20 248.74/165.20 248.74/165.20 248.74/165.20 We simplified constraint (4) using rule (IV) which results in the following new constraint: 248.74/165.20 248.74/165.20 (8) (new_primModNatS01(x189, x188, x187, x186)=Succ(Succ(Succ(Succ(x33)))) & Succ(Succ(Succ(x187)))=x189 & Succ(Succ(Succ(x186)))=x188 ==> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(Succ(x186)))))), Pos(Succ(Succ(Succ(Succ(Succ(x187)))))))_>=_new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Succ(x186)))))), Pos(new_primModNatS01(Succ(Succ(Succ(x187))), Succ(Succ(Succ(x186))), Succ(x187), Succ(x186))))) 248.74/165.20 248.74/165.20 248.74/165.20 248.74/165.20 We simplified constraint (5) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS02(x193, x192)=Succ(Succ(Succ(Succ(x33)))) which results in the following new constraint: 248.74/165.20 248.74/165.20 (9) (new_primModNatS1(new_primMinusNatS2(Succ(x217), Succ(x216)), Succ(x216))=Succ(Succ(Succ(Succ(x33)))) & Succ(Succ(Succ(x191)))=x217 & Succ(Succ(Zero))=x216 ==> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(Succ(x191)))))))_>=_new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Zero))))), Pos(new_primModNatS01(Succ(Succ(Succ(x191))), Succ(Succ(Zero)), Succ(x191), Zero)))) 248.74/165.20 248.74/165.20 248.74/165.20 248.74/165.20 We simplified constraint (6) using rules (I), (II), (III), (IV) which results in the following new constraint: 248.74/165.20 248.74/165.20 (10) (new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(Succ(x194)))))), Pos(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Succ(x194)))))), Pos(new_primModNatS01(Succ(Succ(Zero)), Succ(Succ(Succ(x194))), Zero, Succ(x194))))) 248.74/165.20 248.74/165.20 248.74/165.20 248.74/165.20 We simplified constraint (7) using rules (III), (IV), (VII) which results in the following new constraint: 248.74/165.20 248.74/165.20 (11) (new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Zero))))), Pos(new_primModNatS01(Succ(Succ(Zero)), Succ(Succ(Zero)), Zero, Zero)))) 248.74/165.20 248.74/165.20 248.74/165.20 248.74/165.20 We simplified constraint (8) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS01(x189, x188, x187, x186)=Succ(Succ(Succ(Succ(x33)))) which results in the following new constraints: 248.74/165.20 248.74/165.20 (12) (new_primModNatS02(x204, x203)=Succ(Succ(Succ(Succ(x33)))) & Succ(Succ(Succ(Zero)))=x204 & Succ(Succ(Succ(Zero)))=x203 ==> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(new_primModNatS01(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Zero))), Succ(Zero), Succ(Zero))))) 248.74/165.20 248.74/165.20 (13) (new_primModNatS01(x208, x207, x206, x205)=Succ(Succ(Succ(Succ(x33)))) & Succ(Succ(Succ(Succ(x206))))=x208 & Succ(Succ(Succ(Succ(x205))))=x207 & (\/x209:new_primModNatS01(x208, x207, x206, x205)=Succ(Succ(Succ(Succ(x209)))) & Succ(Succ(Succ(x206)))=x208 & Succ(Succ(Succ(x205)))=x207 ==> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(Succ(x205)))))), Pos(Succ(Succ(Succ(Succ(Succ(x206)))))))_>=_new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Succ(x205)))))), Pos(new_primModNatS01(Succ(Succ(Succ(x206))), Succ(Succ(Succ(x205))), Succ(x206), Succ(x205))))) ==> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(Succ(Succ(x205))))))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x206))))))))_>=_new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Succ(Succ(x205))))))), Pos(new_primModNatS01(Succ(Succ(Succ(Succ(x206)))), Succ(Succ(Succ(Succ(x205)))), Succ(Succ(x206)), Succ(Succ(x205)))))) 248.74/165.20 248.74/165.20 (14) (new_primModNatS02(x212, x211)=Succ(Succ(Succ(Succ(x33)))) & Succ(Succ(Succ(Succ(x210))))=x212 & Succ(Succ(Succ(Zero)))=x211 ==> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x210))))))))_>=_new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(new_primModNatS01(Succ(Succ(Succ(Succ(x210)))), Succ(Succ(Succ(Zero))), Succ(Succ(x210)), Succ(Zero))))) 248.74/165.20 248.74/165.20 (15) (Succ(Succ(x215))=Succ(Succ(Succ(Succ(x33)))) & Succ(Succ(Succ(Zero)))=x215 & Succ(Succ(Succ(Succ(x213))))=x214 ==> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(Succ(Succ(x213))))))), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Succ(Succ(x213))))))), Pos(new_primModNatS01(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Succ(x213)))), Succ(Zero), Succ(Succ(x213)))))) 248.74/165.20 248.74/165.20 248.74/165.20 248.74/165.20 We simplified constraint (12) using rules (III), (IV) which results in the following new constraint: 248.74/165.20 248.74/165.20 (16) (new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(new_primModNatS01(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Zero))), Succ(Zero), Succ(Zero))))) 248.74/165.20 248.74/165.20 248.74/165.20 248.74/165.20 We simplified constraint (13) using rules (III), (IV) which results in the following new constraint: 248.74/165.20 248.74/165.20 (17) (new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(Succ(Succ(x205))))))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x206))))))))_>=_new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Succ(Succ(x205))))))), Pos(new_primModNatS01(Succ(Succ(Succ(Succ(x206)))), Succ(Succ(Succ(Succ(x205)))), Succ(Succ(x206)), Succ(Succ(x205)))))) 248.74/165.20 248.74/165.20 248.74/165.20 248.74/165.20 We simplified constraint (14) using rules (III), (IV) which results in the following new constraint: 248.74/165.20 248.74/165.20 (18) (new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x210))))))))_>=_new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(new_primModNatS01(Succ(Succ(Succ(Succ(x210)))), Succ(Succ(Succ(Zero))), Succ(Succ(x210)), Succ(Zero))))) 248.74/165.20 248.74/165.20 248.74/165.20 248.74/165.20 We simplified constraint (15) using rules (I), (II), (III), (IV) which results in the following new constraint: 248.74/165.20 248.74/165.20 (19) (new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(Succ(Succ(x213))))))), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Succ(Succ(x213))))))), Pos(new_primModNatS01(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Succ(x213)))), Succ(Zero), Succ(Succ(x213)))))) 248.74/165.20 248.74/165.20 248.74/165.20 248.74/165.20 We simplified constraint (9) using rules (III), (IV), (VII) which results in the following new constraint: 248.74/165.20 248.74/165.20 (20) (new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(Succ(x191)))))))_>=_new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Zero))))), Pos(new_primModNatS01(Succ(Succ(Succ(x191))), Succ(Succ(Zero)), Succ(x191), Zero)))) 248.74/165.20 248.74/165.20 248.74/165.20 248.74/165.20 248.74/165.20 248.74/165.20 248.74/165.20 248.74/165.20 248.74/165.20 To summarize, we get the following constraints P__>=_ for the following pairs. 248.74/165.20 248.74/165.20 *new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) 248.74/165.20 248.74/165.20 *(new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x77))))))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Succ(x77)))), Succ(Zero), Succ(Succ(x77))))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x77))))))), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))))) 248.74/165.20 248.74/165.20 248.74/165.20 *(new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(Succ(x58)))))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(Succ(Zero)), Succ(Succ(Succ(x58))), Zero, Succ(x58)))), Pos(Succ(Succ(Succ(Succ(Succ(x58)))))), Neg(Succ(Succ(Succ(Succ(Zero))))))) 248.74/165.20 248.74/165.20 248.74/165.20 *(new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(Succ(Zero)), Succ(Succ(Zero)), Zero, Zero))), Pos(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(Zero))))))) 248.74/165.20 248.74/165.20 248.74/165.20 *(new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Zero))), Succ(Zero), Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))))) 248.74/165.20 248.74/165.20 248.74/165.20 *(new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Succ(Succ(x70))))))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x69))))))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(Succ(Succ(Succ(x70)))), Succ(Succ(Succ(Succ(x69)))), Succ(Succ(x70)), Succ(Succ(x69))))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x69))))))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x70))))))))) 248.74/165.20 248.74/165.20 248.74/165.20 *(new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Succ(Succ(x74))))))), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(Succ(Succ(Succ(x74)))), Succ(Succ(Succ(Zero))), Succ(Succ(x74)), Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x74))))))))) 248.74/165.20 248.74/165.20 248.74/165.20 *(new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Succ(x55)))))), Pos(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(Succ(Succ(x55))), Succ(Succ(Zero)), Succ(x55), Zero))), Pos(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(Succ(x55)))))))) 248.74/165.20 248.74/165.20 248.74/165.20 248.74/165.20 248.74/165.20 *new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x3))))), Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 248.74/165.20 248.74/165.20 *(new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(Succ(Succ(x122))))))), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Succ(Succ(x122))))))), Neg(new_primModNatS01(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Succ(x122)))), Succ(Zero), Succ(Succ(x122)))))) 248.74/165.20 248.74/165.20 248.74/165.20 *(new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(Succ(x103)))))), Neg(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Succ(x103)))))), Neg(new_primModNatS01(Succ(Succ(Zero)), Succ(Succ(Succ(x103))), Zero, Succ(x103))))) 248.74/165.20 248.74/165.20 248.74/165.20 *(new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Zero))))), Neg(new_primModNatS01(Succ(Succ(Zero)), Succ(Succ(Zero)), Zero, Zero)))) 248.74/165.20 248.74/165.20 248.74/165.20 *(new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(new_primModNatS01(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Zero))), Succ(Zero), Succ(Zero))))) 248.74/165.20 248.74/165.20 248.74/165.20 *(new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(Succ(Succ(x114))))))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x115))))))))_>=_new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Succ(Succ(x114))))))), Neg(new_primModNatS01(Succ(Succ(Succ(Succ(x115)))), Succ(Succ(Succ(Succ(x114)))), Succ(Succ(x115)), Succ(Succ(x114)))))) 248.74/165.20 248.74/165.20 248.74/165.20 *(new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x119))))))))_>=_new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(new_primModNatS01(Succ(Succ(Succ(Succ(x119)))), Succ(Succ(Succ(Zero))), Succ(Succ(x119)), Succ(Zero))))) 248.74/165.20 248.74/165.20 248.74/165.20 *(new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(Succ(x100)))))))_>=_new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Zero))))), Neg(new_primModNatS01(Succ(Succ(Succ(x100))), Succ(Succ(Zero)), Succ(x100), Zero)))) 248.74/165.20 248.74/165.20 248.74/165.20 248.74/165.20 248.74/165.20 *new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) 248.74/165.20 248.74/165.20 *(new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x168))))))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Succ(x168)))), Succ(Zero), Succ(Succ(x168))))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x168))))))), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))))) 248.74/165.20 248.74/165.20 248.74/165.20 *(new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(Succ(x149)))))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(Succ(Zero)), Succ(Succ(Succ(x149))), Zero, Succ(x149)))), Neg(Succ(Succ(Succ(Succ(Succ(x149)))))), Pos(Succ(Succ(Succ(Succ(Zero))))))) 248.74/165.20 248.74/165.20 248.74/165.20 *(new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(Succ(Zero)), Succ(Succ(Zero)), Zero, Zero))), Neg(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(Zero))))))) 248.74/165.20 248.74/165.20 248.74/165.20 *(new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Zero))), Succ(Zero), Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))))) 248.74/165.20 248.74/165.20 248.74/165.20 *(new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Succ(Succ(x161))))))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x160))))))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(Succ(Succ(Succ(x161)))), Succ(Succ(Succ(Succ(x160)))), Succ(Succ(x161)), Succ(Succ(x160))))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x160))))))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x161))))))))) 248.74/165.20 248.74/165.20 248.74/165.20 *(new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Succ(Succ(x165))))))), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(Succ(Succ(Succ(x165)))), Succ(Succ(Succ(Zero))), Succ(Succ(x165)), Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x165))))))))) 248.74/165.20 248.74/165.20 248.74/165.20 *(new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Succ(x146)))))), Neg(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(Succ(Succ(x146))), Succ(Succ(Zero)), Succ(x146), Zero))), Neg(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(Succ(x146)))))))) 248.74/165.20 248.74/165.20 248.74/165.20 248.74/165.20 248.74/165.20 *new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 248.74/165.20 248.74/165.20 *(new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(Succ(Succ(x213))))))), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Succ(Succ(x213))))))), Pos(new_primModNatS01(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Succ(x213)))), Succ(Zero), Succ(Succ(x213)))))) 248.74/165.20 248.74/165.20 248.74/165.20 *(new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(Succ(x194)))))), Pos(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Succ(x194)))))), Pos(new_primModNatS01(Succ(Succ(Zero)), Succ(Succ(Succ(x194))), Zero, Succ(x194))))) 248.74/165.20 248.74/165.20 248.74/165.20 *(new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Zero))))), Pos(new_primModNatS01(Succ(Succ(Zero)), Succ(Succ(Zero)), Zero, Zero)))) 248.74/165.20 248.74/165.20 248.74/165.20 *(new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(new_primModNatS01(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Zero))), Succ(Zero), Succ(Zero))))) 248.74/165.20 248.74/165.20 248.74/165.20 *(new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(Succ(Succ(x205))))))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x206))))))))_>=_new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Succ(Succ(x205))))))), Pos(new_primModNatS01(Succ(Succ(Succ(Succ(x206)))), Succ(Succ(Succ(Succ(x205)))), Succ(Succ(x206)), Succ(Succ(x205)))))) 248.74/165.20 248.74/165.20 248.74/165.20 *(new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x210))))))))_>=_new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(new_primModNatS01(Succ(Succ(Succ(Succ(x210)))), Succ(Succ(Succ(Zero))), Succ(Succ(x210)), Succ(Zero))))) 248.74/165.20 248.74/165.20 248.74/165.20 *(new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(Succ(x191)))))))_>=_new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Zero))))), Pos(new_primModNatS01(Succ(Succ(Succ(x191))), Succ(Succ(Zero)), Succ(x191), Zero)))) 248.74/165.20 248.74/165.20 248.74/165.20 248.74/165.20 248.74/165.20 248.74/165.20 248.74/165.20 248.74/165.20 248.74/165.20 The constraints for P_> respective P_bound are constructed from P__>=_ where we just replace every occurence of "t _>=_ s" in P__>=_ by "t > s" respective "t _>=_ c". Here c stands for the fresh constant used for P_bound. 248.74/165.20 ---------------------------------------- 248.74/165.20 248.74/165.20 (364) 248.74/165.20 Obligation: 248.74/165.20 Q DP problem: 248.74/165.20 The TRS P consists of the following rules: 248.74/165.20 248.74/165.20 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) 248.74/165.20 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x3))))), Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 248.74/165.20 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) 248.74/165.20 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 248.74/165.20 248.74/165.20 The TRS R consists of the following rules: 248.74/165.20 248.74/165.20 new_primModNatS1(Succ(Succ(vyv292000)), Succ(vyv291000)) -> new_primModNatS01(vyv292000, vyv291000, vyv292000, vyv291000) 248.74/165.20 new_primModNatS01(vyv330, vyv331, Zero, Zero) -> new_primModNatS02(vyv330, vyv331) 248.74/165.20 new_primModNatS02(vyv330, vyv331) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv330), Succ(vyv331)), Succ(vyv331)) 248.74/165.20 new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Succ(vyv3330)) -> new_primModNatS01(vyv330, vyv331, vyv3320, vyv3330) 248.74/165.20 new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Zero) -> new_primModNatS02(vyv330, vyv331) 248.74/165.20 new_primModNatS01(vyv330, vyv331, Zero, Succ(vyv3330)) -> Succ(Succ(vyv330)) 248.74/165.20 new_primMinusNatS2(Succ(vyv3100), Succ(vyv3110)) -> new_primMinusNatS2(vyv3100, vyv3110) 248.74/165.20 new_primModNatS1(Succ(Zero), Succ(vyv291000)) -> Succ(Zero) 248.74/165.20 new_primModNatS1(Zero, vyv29100) -> Zero 248.74/165.20 new_primMinusNatS2(Zero, Zero) -> Zero 248.74/165.20 new_primMinusNatS2(Zero, Succ(vyv3110)) -> Zero 248.74/165.20 new_primMinusNatS2(Succ(vyv3100), Zero) -> Succ(vyv3100) 248.74/165.20 new_esEs(Pos(Succ(vyv24100))) -> new_primEqInt(Pos(Succ(vyv24100))) 248.74/165.20 new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) 248.74/165.20 new_primEqInt(Pos(Zero)) -> True 248.74/165.20 new_primEqInt(Pos(Succ(vyv242000))) -> False 248.74/165.20 new_esEs(Neg(Succ(vyv24100))) -> new_primEqInt(Neg(Succ(vyv24100))) 248.74/165.20 new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) 248.74/165.20 new_primEqInt(Neg(Zero)) -> True 248.74/165.20 new_primEqInt(Neg(Succ(vyv242000))) -> False 248.74/165.20 248.74/165.20 The set Q consists of the following terms: 248.74/165.20 248.74/165.20 new_primModNatS1(Succ(Zero), Succ(x0)) 248.74/165.20 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 248.74/165.20 new_primEqInt(Pos(Zero)) 248.74/165.20 new_primModNatS02(x0, x1) 248.74/165.20 new_primModNatS01(x0, x1, Succ(x2), Zero) 248.74/165.20 new_primModNatS01(x0, x1, Zero, Succ(x2)) 248.74/165.20 new_primMinusNatS2(Zero, Zero) 248.74/165.20 new_esEs(Neg(Succ(x0))) 248.74/165.20 new_primMinusNatS2(Zero, Succ(x0)) 248.74/165.20 new_primModNatS1(Succ(Zero), Zero) 248.74/165.20 new_esEs(Pos(Zero)) 248.74/165.20 new_primEqInt(Neg(Succ(x0))) 248.74/165.20 new_primMinusNatS2(Succ(x0), Zero) 248.74/165.20 new_primEqInt(Neg(Zero)) 248.74/165.20 new_primModNatS01(x0, x1, Zero, Zero) 248.74/165.20 new_primEqInt(Pos(Succ(x0))) 248.74/165.20 new_primMinusNatS2(Succ(x0), Succ(x1)) 248.74/165.20 new_primModNatS1(Succ(Succ(x0)), Zero) 248.74/165.20 new_primModNatS1(Zero, x0) 248.74/165.20 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 248.74/165.20 new_esEs(Neg(Zero)) 248.74/165.20 new_esEs(Pos(Succ(x0))) 248.74/165.20 248.74/165.20 We have to consider all minimal (P,Q,R)-chains. 248.74/165.20 ---------------------------------------- 248.74/165.20 248.74/165.20 (365) 248.74/165.20 Obligation: 248.74/165.20 Q DP problem: 248.74/165.20 The TRS P consists of the following rules: 248.74/165.20 248.74/165.20 new_gcd0Gcd'1(False, Pos(Succ(x1)), Pos(x0)) -> new_gcd0Gcd'0(Pos(Succ(x1)), Pos(new_primModNatS1(x0, x1))) 248.74/165.20 new_gcd0Gcd'0(Pos(x0), Pos(Succ(x1))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(x0, x1))), Pos(Succ(x1)), Pos(x0)) 248.74/165.20 248.74/165.20 The TRS R consists of the following rules: 248.74/165.20 248.74/165.20 new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Succ(vyv3330)) -> new_primModNatS01(vyv330, vyv331, vyv3320, vyv3330) 248.74/165.20 new_primModNatS1(Succ(Succ(vyv292000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv292000), Zero) 248.74/165.20 new_primModNatS1(Succ(Zero), Succ(vyv291000)) -> Succ(Zero) 248.74/165.20 new_primMinusNatS2(Zero, Zero) -> Zero 248.74/165.20 new_primEqInt(Neg(Zero)) -> True 248.74/165.20 new_primMinusNatS2(Succ(vyv3100), Succ(vyv3110)) -> new_primMinusNatS2(vyv3100, vyv3110) 248.74/165.20 new_primModNatS01(vyv330, vyv331, Zero, Succ(vyv3330)) -> Succ(Succ(vyv330)) 248.74/165.20 new_primModNatS1(Succ(Succ(vyv292000)), Succ(vyv291000)) -> new_primModNatS01(vyv292000, vyv291000, vyv292000, vyv291000) 248.74/165.20 new_primMinusNatS0(vyv270000) -> Succ(vyv270000) 248.74/165.20 new_esEs(Neg(Succ(vyv24100))) -> new_primEqInt(Neg(Succ(vyv24100))) 248.74/165.20 new_rem(Neg(vyv2920), Neg(Succ(vyv29100))) -> Neg(new_primModNatS1(vyv2920, vyv29100)) 248.74/165.20 new_primModNatS1(Zero, vyv29100) -> Zero 248.74/165.20 new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) 248.74/165.20 new_rem(Pos(vyv2920), Pos(Succ(vyv29100))) -> Pos(new_primModNatS1(vyv2920, vyv29100)) 248.74/165.20 new_primMinusNatS2(Zero, Succ(vyv3110)) -> Zero 248.74/165.20 new_error -> error([]) 248.74/165.20 new_primEqInt(Pos(Succ(vyv242000))) -> False 248.74/165.20 new_primEqInt(Pos(Zero)) -> True 248.74/165.20 new_esEs(Pos(Succ(vyv24100))) -> new_primEqInt(Pos(Succ(vyv24100))) 248.74/165.20 new_primEqInt(Neg(Succ(vyv242000))) -> False 248.74/165.20 new_rem(Neg(vyv2920), Neg(Zero)) -> new_error 248.74/165.20 new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) 248.74/165.20 new_rem(Pos(vyv2920), Neg(Zero)) -> new_error 248.74/165.20 new_rem(Neg(vyv2920), Pos(Zero)) -> new_error 248.74/165.20 new_primModNatS01(vyv330, vyv331, Zero, Zero) -> new_primModNatS02(vyv330, vyv331) 248.74/165.20 new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Zero) -> new_primModNatS02(vyv330, vyv331) 248.74/165.20 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 248.74/165.20 new_primModNatS02(vyv330, vyv331) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv330), Succ(vyv331)), Succ(vyv331)) 248.74/165.20 new_rem(Pos(vyv2920), Neg(Succ(vyv29100))) -> Pos(new_primModNatS1(vyv2920, vyv29100)) 248.74/165.20 new_primMinusNatS1 -> Zero 248.74/165.20 new_primMinusNatS2(Succ(vyv3100), Zero) -> Succ(vyv3100) 248.74/165.20 new_rem(Neg(vyv2920), Pos(Succ(vyv29100))) -> Neg(new_primModNatS1(vyv2920, vyv29100)) 248.74/165.20 new_rem(Pos(vyv2920), Pos(Zero)) -> new_error 248.74/165.20 248.74/165.20 The set Q consists of the following terms: 248.74/165.20 248.74/165.20 new_rem(Pos(x0), Pos(Succ(x1))) 248.74/165.20 new_primModNatS1(Succ(Zero), Succ(x0)) 248.74/165.20 new_primMinusNatS1 248.74/165.20 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 248.74/165.20 new_primEqInt(Pos(Zero)) 248.74/165.20 new_rem(Pos(x0), Neg(Succ(x1))) 248.74/165.20 new_rem(Neg(x0), Pos(Succ(x1))) 248.74/165.20 new_primModNatS02(x0, x1) 248.74/165.20 new_primModNatS01(x0, x1, Succ(x2), Zero) 248.74/165.20 new_primModNatS01(x0, x1, Zero, Succ(x2)) 248.74/165.20 new_primMinusNatS2(Zero, Zero) 248.74/165.20 new_rem(Pos(x0), Neg(Zero)) 248.74/165.20 new_rem(Neg(x0), Pos(Zero)) 248.74/165.20 new_esEs(Neg(Succ(x0))) 248.74/165.20 new_primMinusNatS2(Zero, Succ(x0)) 248.74/165.20 new_error 248.74/165.20 new_primModNatS1(Succ(Zero), Zero) 248.74/165.20 new_esEs(Pos(Zero)) 248.74/165.20 new_primEqInt(Neg(Succ(x0))) 248.74/165.20 new_primMinusNatS2(Succ(x0), Zero) 248.74/165.20 new_primEqInt(Neg(Zero)) 248.74/165.20 new_primMinusNatS0(x0) 248.74/165.20 new_rem(Neg(x0), Neg(Succ(x1))) 248.74/165.20 new_primModNatS01(x0, x1, Zero, Zero) 248.74/165.20 new_primEqInt(Pos(Succ(x0))) 248.74/165.20 new_primMinusNatS2(Succ(x0), Succ(x1)) 248.74/165.20 new_primModNatS1(Succ(Succ(x0)), Zero) 248.74/165.20 new_rem(Pos(x0), Pos(Zero)) 248.74/165.20 new_primModNatS1(Zero, x0) 248.74/165.20 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 248.74/165.20 new_esEs(Neg(Zero)) 248.74/165.20 new_esEs(Pos(Succ(x0))) 248.74/165.20 new_rem(Neg(x0), Neg(Zero)) 248.74/165.20 248.74/165.20 We have to consider all minimal (P,Q,R)-chains. 248.74/165.20 ---------------------------------------- 248.74/165.20 248.74/165.20 (366) UsableRulesProof (EQUIVALENT) 248.74/165.20 As all Q-normal forms are R-normal forms we are in the innermost case. Hence, by the usable rules processor [LPAR04] we can delete all non-usable rules [FROCOS05] from R. 248.74/165.20 ---------------------------------------- 248.74/165.20 248.74/165.20 (367) 248.74/165.20 Obligation: 248.74/165.20 Q DP problem: 248.74/165.20 The TRS P consists of the following rules: 248.74/165.20 248.74/165.20 new_gcd0Gcd'1(False, Pos(Succ(x1)), Pos(x0)) -> new_gcd0Gcd'0(Pos(Succ(x1)), Pos(new_primModNatS1(x0, x1))) 248.74/165.20 new_gcd0Gcd'0(Pos(x0), Pos(Succ(x1))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(x0, x1))), Pos(Succ(x1)), Pos(x0)) 248.74/165.20 248.74/165.20 The TRS R consists of the following rules: 248.74/165.20 248.74/165.20 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 248.74/165.20 new_primModNatS1(Succ(Succ(vyv292000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv292000), Zero) 248.74/165.20 new_primModNatS1(Succ(Zero), Succ(vyv291000)) -> Succ(Zero) 248.74/165.20 new_primModNatS01(vyv330, vyv331, Zero, Zero) -> new_primModNatS02(vyv330, vyv331) 248.74/165.20 new_primModNatS02(vyv330, vyv331) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv330), Succ(vyv331)), Succ(vyv331)) 248.74/165.20 new_primModNatS1(Succ(Succ(vyv292000)), Succ(vyv291000)) -> new_primModNatS01(vyv292000, vyv291000, vyv292000, vyv291000) 248.74/165.20 new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Succ(vyv3330)) -> new_primModNatS01(vyv330, vyv331, vyv3320, vyv3330) 248.74/165.20 new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Zero) -> new_primModNatS02(vyv330, vyv331) 248.74/165.20 new_primModNatS1(Zero, vyv29100) -> Zero 248.74/165.20 new_esEs(Pos(Succ(vyv24100))) -> new_primEqInt(Pos(Succ(vyv24100))) 248.74/165.20 new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) 248.74/165.20 new_primEqInt(Pos(Zero)) -> True 248.74/165.20 new_primEqInt(Pos(Succ(vyv242000))) -> False 248.74/165.20 new_primMinusNatS2(Succ(vyv3100), Succ(vyv3110)) -> new_primMinusNatS2(vyv3100, vyv3110) 248.74/165.20 new_primModNatS01(vyv330, vyv331, Zero, Succ(vyv3330)) -> Succ(Succ(vyv330)) 248.74/165.20 new_primMinusNatS2(Zero, Zero) -> Zero 248.74/165.20 new_primMinusNatS2(Zero, Succ(vyv3110)) -> Zero 248.74/165.20 new_primMinusNatS2(Succ(vyv3100), Zero) -> Succ(vyv3100) 248.74/165.20 new_primMinusNatS1 -> Zero 248.74/165.20 new_primMinusNatS0(vyv270000) -> Succ(vyv270000) 248.74/165.20 248.74/165.20 The set Q consists of the following terms: 248.74/165.20 248.74/165.20 new_rem(Pos(x0), Pos(Succ(x1))) 248.74/165.20 new_primModNatS1(Succ(Zero), Succ(x0)) 248.74/165.20 new_primMinusNatS1 248.74/165.20 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 248.74/165.20 new_primEqInt(Pos(Zero)) 248.74/165.20 new_rem(Pos(x0), Neg(Succ(x1))) 248.74/165.20 new_rem(Neg(x0), Pos(Succ(x1))) 248.74/165.20 new_primModNatS02(x0, x1) 248.74/165.20 new_primModNatS01(x0, x1, Succ(x2), Zero) 248.74/165.20 new_primModNatS01(x0, x1, Zero, Succ(x2)) 248.74/165.20 new_primMinusNatS2(Zero, Zero) 248.74/165.20 new_rem(Pos(x0), Neg(Zero)) 248.74/165.20 new_rem(Neg(x0), Pos(Zero)) 248.74/165.20 new_esEs(Neg(Succ(x0))) 248.74/165.20 new_primMinusNatS2(Zero, Succ(x0)) 248.74/165.20 new_error 248.74/165.20 new_primModNatS1(Succ(Zero), Zero) 248.74/165.20 new_esEs(Pos(Zero)) 248.74/165.20 new_primEqInt(Neg(Succ(x0))) 248.74/165.20 new_primMinusNatS2(Succ(x0), Zero) 248.74/165.20 new_primEqInt(Neg(Zero)) 248.74/165.20 new_primMinusNatS0(x0) 248.74/165.20 new_rem(Neg(x0), Neg(Succ(x1))) 248.74/165.20 new_primModNatS01(x0, x1, Zero, Zero) 248.74/165.20 new_primEqInt(Pos(Succ(x0))) 248.74/165.20 new_primMinusNatS2(Succ(x0), Succ(x1)) 248.74/165.20 new_primModNatS1(Succ(Succ(x0)), Zero) 248.74/165.20 new_rem(Pos(x0), Pos(Zero)) 248.74/165.20 new_primModNatS1(Zero, x0) 248.74/165.20 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 248.74/165.20 new_esEs(Neg(Zero)) 248.74/165.20 new_esEs(Pos(Succ(x0))) 248.74/165.20 new_rem(Neg(x0), Neg(Zero)) 248.74/165.20 248.74/165.20 We have to consider all minimal (P,Q,R)-chains. 248.74/165.20 ---------------------------------------- 248.74/165.20 248.74/165.20 (368) QReductionProof (EQUIVALENT) 248.74/165.20 We deleted the following terms from Q as each root-symbol of these terms does neither occur in P nor in R.[THIEMANN]. 248.74/165.20 248.74/165.20 new_rem(Pos(x0), Pos(Succ(x1))) 248.74/165.20 new_rem(Pos(x0), Neg(Succ(x1))) 248.74/165.20 new_rem(Neg(x0), Pos(Succ(x1))) 248.74/165.20 new_rem(Pos(x0), Neg(Zero)) 248.74/165.20 new_rem(Neg(x0), Pos(Zero)) 248.74/165.20 new_error 248.74/165.20 new_rem(Neg(x0), Neg(Succ(x1))) 248.74/165.20 new_rem(Pos(x0), Pos(Zero)) 248.74/165.20 new_rem(Neg(x0), Neg(Zero)) 248.74/165.20 248.74/165.20 248.74/165.20 ---------------------------------------- 248.74/165.20 248.74/165.20 (369) 248.74/165.20 Obligation: 248.74/165.20 Q DP problem: 248.74/165.20 The TRS P consists of the following rules: 248.74/165.20 248.74/165.20 new_gcd0Gcd'1(False, Pos(Succ(x1)), Pos(x0)) -> new_gcd0Gcd'0(Pos(Succ(x1)), Pos(new_primModNatS1(x0, x1))) 248.74/165.20 new_gcd0Gcd'0(Pos(x0), Pos(Succ(x1))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(x0, x1))), Pos(Succ(x1)), Pos(x0)) 248.74/165.20 248.74/165.20 The TRS R consists of the following rules: 248.74/165.20 248.74/165.20 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 248.74/165.20 new_primModNatS1(Succ(Succ(vyv292000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv292000), Zero) 248.74/165.20 new_primModNatS1(Succ(Zero), Succ(vyv291000)) -> Succ(Zero) 248.74/165.20 new_primModNatS01(vyv330, vyv331, Zero, Zero) -> new_primModNatS02(vyv330, vyv331) 248.74/165.20 new_primModNatS02(vyv330, vyv331) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv330), Succ(vyv331)), Succ(vyv331)) 248.74/165.20 new_primModNatS1(Succ(Succ(vyv292000)), Succ(vyv291000)) -> new_primModNatS01(vyv292000, vyv291000, vyv292000, vyv291000) 248.74/165.21 new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Succ(vyv3330)) -> new_primModNatS01(vyv330, vyv331, vyv3320, vyv3330) 248.74/165.21 new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Zero) -> new_primModNatS02(vyv330, vyv331) 248.74/165.21 new_primModNatS1(Zero, vyv29100) -> Zero 248.74/165.21 new_esEs(Pos(Succ(vyv24100))) -> new_primEqInt(Pos(Succ(vyv24100))) 248.74/165.21 new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) 248.74/165.21 new_primEqInt(Pos(Zero)) -> True 248.74/165.21 new_primEqInt(Pos(Succ(vyv242000))) -> False 248.74/165.21 new_primMinusNatS2(Succ(vyv3100), Succ(vyv3110)) -> new_primMinusNatS2(vyv3100, vyv3110) 248.74/165.21 new_primModNatS01(vyv330, vyv331, Zero, Succ(vyv3330)) -> Succ(Succ(vyv330)) 248.74/165.21 new_primMinusNatS2(Zero, Zero) -> Zero 248.74/165.21 new_primMinusNatS2(Zero, Succ(vyv3110)) -> Zero 248.74/165.21 new_primMinusNatS2(Succ(vyv3100), Zero) -> Succ(vyv3100) 248.74/165.21 new_primMinusNatS1 -> Zero 248.74/165.21 new_primMinusNatS0(vyv270000) -> Succ(vyv270000) 248.74/165.21 248.74/165.21 The set Q consists of the following terms: 248.74/165.21 248.74/165.21 new_primModNatS1(Succ(Zero), Succ(x0)) 248.74/165.21 new_primMinusNatS1 248.74/165.21 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 248.74/165.21 new_primEqInt(Pos(Zero)) 248.74/165.21 new_primModNatS02(x0, x1) 248.74/165.21 new_primModNatS01(x0, x1, Succ(x2), Zero) 248.74/165.21 new_primModNatS01(x0, x1, Zero, Succ(x2)) 248.74/165.21 new_primMinusNatS2(Zero, Zero) 248.74/165.21 new_esEs(Neg(Succ(x0))) 248.74/165.21 new_primMinusNatS2(Zero, Succ(x0)) 248.74/165.21 new_primModNatS1(Succ(Zero), Zero) 248.74/165.21 new_esEs(Pos(Zero)) 248.74/165.21 new_primEqInt(Neg(Succ(x0))) 248.74/165.21 new_primMinusNatS2(Succ(x0), Zero) 248.74/165.21 new_primEqInt(Neg(Zero)) 248.74/165.21 new_primMinusNatS0(x0) 248.74/165.21 new_primModNatS01(x0, x1, Zero, Zero) 248.74/165.21 new_primEqInt(Pos(Succ(x0))) 248.74/165.21 new_primMinusNatS2(Succ(x0), Succ(x1)) 248.74/165.21 new_primModNatS1(Succ(Succ(x0)), Zero) 248.74/165.21 new_primModNatS1(Zero, x0) 248.74/165.21 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 248.74/165.21 new_esEs(Neg(Zero)) 248.74/165.21 new_esEs(Pos(Succ(x0))) 248.74/165.21 248.74/165.21 We have to consider all minimal (P,Q,R)-chains. 248.74/165.21 ---------------------------------------- 248.74/165.21 248.74/165.21 (370) TransformationProof (EQUIVALENT) 248.74/165.21 By narrowing [LPAR04] the rule new_gcd0Gcd'1(False, Pos(Succ(x1)), Pos(x0)) -> new_gcd0Gcd'0(Pos(Succ(x1)), Pos(new_primModNatS1(x0, x1))) at position [1,0] we obtained the following new rules [LPAR04]: 248.74/165.21 248.74/165.21 (new_gcd0Gcd'1(False, Pos(Succ(Zero)), Pos(Succ(Zero))) -> new_gcd0Gcd'0(Pos(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS1, Zero))),new_gcd0Gcd'1(False, Pos(Succ(Zero)), Pos(Succ(Zero))) -> new_gcd0Gcd'0(Pos(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS1, Zero)))) 248.74/165.21 (new_gcd0Gcd'1(False, Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Pos(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero))),new_gcd0Gcd'1(False, Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Pos(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero)))) 248.74/165.21 (new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Pos(Succ(Zero))),new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Pos(Succ(Zero)))) 248.74/165.21 (new_gcd0Gcd'1(False, Pos(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Pos(Succ(Succ(x1))), Pos(new_primModNatS01(x0, x1, x0, x1))),new_gcd0Gcd'1(False, Pos(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Pos(Succ(Succ(x1))), Pos(new_primModNatS01(x0, x1, x0, x1)))) 248.74/165.21 (new_gcd0Gcd'1(False, Pos(Succ(x0)), Pos(Zero)) -> new_gcd0Gcd'0(Pos(Succ(x0)), Pos(Zero)),new_gcd0Gcd'1(False, Pos(Succ(x0)), Pos(Zero)) -> new_gcd0Gcd'0(Pos(Succ(x0)), Pos(Zero))) 248.74/165.21 248.74/165.21 248.74/165.21 ---------------------------------------- 248.74/165.21 248.74/165.21 (371) 248.74/165.21 Obligation: 248.74/165.21 Q DP problem: 248.74/165.21 The TRS P consists of the following rules: 248.74/165.21 248.74/165.21 new_gcd0Gcd'0(Pos(x0), Pos(Succ(x1))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(x0, x1))), Pos(Succ(x1)), Pos(x0)) 248.74/165.21 new_gcd0Gcd'1(False, Pos(Succ(Zero)), Pos(Succ(Zero))) -> new_gcd0Gcd'0(Pos(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS1, Zero))) 248.74/165.21 new_gcd0Gcd'1(False, Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Pos(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero))) 248.74/165.21 new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 248.74/165.21 new_gcd0Gcd'1(False, Pos(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Pos(Succ(Succ(x1))), Pos(new_primModNatS01(x0, x1, x0, x1))) 248.74/165.21 new_gcd0Gcd'1(False, Pos(Succ(x0)), Pos(Zero)) -> new_gcd0Gcd'0(Pos(Succ(x0)), Pos(Zero)) 248.74/165.21 248.74/165.21 The TRS R consists of the following rules: 248.74/165.21 248.74/165.21 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 248.74/165.21 new_primModNatS1(Succ(Succ(vyv292000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv292000), Zero) 248.74/165.21 new_primModNatS1(Succ(Zero), Succ(vyv291000)) -> Succ(Zero) 248.74/165.21 new_primModNatS01(vyv330, vyv331, Zero, Zero) -> new_primModNatS02(vyv330, vyv331) 248.74/165.21 new_primModNatS02(vyv330, vyv331) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv330), Succ(vyv331)), Succ(vyv331)) 248.74/165.21 new_primModNatS1(Succ(Succ(vyv292000)), Succ(vyv291000)) -> new_primModNatS01(vyv292000, vyv291000, vyv292000, vyv291000) 248.74/165.21 new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Succ(vyv3330)) -> new_primModNatS01(vyv330, vyv331, vyv3320, vyv3330) 248.74/165.21 new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Zero) -> new_primModNatS02(vyv330, vyv331) 248.74/165.21 new_primModNatS1(Zero, vyv29100) -> Zero 248.74/165.21 new_esEs(Pos(Succ(vyv24100))) -> new_primEqInt(Pos(Succ(vyv24100))) 248.74/165.21 new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) 248.74/165.21 new_primEqInt(Pos(Zero)) -> True 248.74/165.21 new_primEqInt(Pos(Succ(vyv242000))) -> False 248.74/165.21 new_primMinusNatS2(Succ(vyv3100), Succ(vyv3110)) -> new_primMinusNatS2(vyv3100, vyv3110) 248.74/165.21 new_primModNatS01(vyv330, vyv331, Zero, Succ(vyv3330)) -> Succ(Succ(vyv330)) 248.74/165.21 new_primMinusNatS2(Zero, Zero) -> Zero 248.74/165.21 new_primMinusNatS2(Zero, Succ(vyv3110)) -> Zero 248.74/165.21 new_primMinusNatS2(Succ(vyv3100), Zero) -> Succ(vyv3100) 248.74/165.21 new_primMinusNatS1 -> Zero 248.74/165.21 new_primMinusNatS0(vyv270000) -> Succ(vyv270000) 248.74/165.21 248.74/165.21 The set Q consists of the following terms: 248.74/165.21 248.74/165.21 new_primModNatS1(Succ(Zero), Succ(x0)) 248.74/165.21 new_primMinusNatS1 248.74/165.21 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 248.74/165.21 new_primEqInt(Pos(Zero)) 248.74/165.21 new_primModNatS02(x0, x1) 248.74/165.21 new_primModNatS01(x0, x1, Succ(x2), Zero) 248.74/165.21 new_primModNatS01(x0, x1, Zero, Succ(x2)) 248.74/165.21 new_primMinusNatS2(Zero, Zero) 248.74/165.21 new_esEs(Neg(Succ(x0))) 248.74/165.21 new_primMinusNatS2(Zero, Succ(x0)) 248.74/165.21 new_primModNatS1(Succ(Zero), Zero) 248.74/165.21 new_esEs(Pos(Zero)) 248.74/165.21 new_primEqInt(Neg(Succ(x0))) 248.74/165.21 new_primMinusNatS2(Succ(x0), Zero) 248.74/165.21 new_primEqInt(Neg(Zero)) 248.74/165.21 new_primMinusNatS0(x0) 248.74/165.21 new_primModNatS01(x0, x1, Zero, Zero) 248.74/165.21 new_primEqInt(Pos(Succ(x0))) 248.74/165.21 new_primMinusNatS2(Succ(x0), Succ(x1)) 248.74/165.21 new_primModNatS1(Succ(Succ(x0)), Zero) 248.74/165.21 new_primModNatS1(Zero, x0) 248.74/165.21 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 248.74/165.21 new_esEs(Neg(Zero)) 248.74/165.21 new_esEs(Pos(Succ(x0))) 248.74/165.21 248.74/165.21 We have to consider all minimal (P,Q,R)-chains. 248.74/165.21 ---------------------------------------- 248.74/165.21 248.74/165.21 (372) DependencyGraphProof (EQUIVALENT) 248.74/165.21 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. 248.74/165.21 ---------------------------------------- 248.74/165.21 248.74/165.21 (373) 248.74/165.21 Obligation: 248.74/165.21 Q DP problem: 248.74/165.21 The TRS P consists of the following rules: 248.74/165.21 248.74/165.21 new_gcd0Gcd'1(False, Pos(Succ(Zero)), Pos(Succ(Zero))) -> new_gcd0Gcd'0(Pos(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS1, Zero))) 248.74/165.21 new_gcd0Gcd'0(Pos(x0), Pos(Succ(x1))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(x0, x1))), Pos(Succ(x1)), Pos(x0)) 248.74/165.21 new_gcd0Gcd'1(False, Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Pos(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero))) 248.74/165.21 new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 248.74/165.21 new_gcd0Gcd'1(False, Pos(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Pos(Succ(Succ(x1))), Pos(new_primModNatS01(x0, x1, x0, x1))) 248.74/165.21 248.74/165.21 The TRS R consists of the following rules: 248.74/165.21 248.74/165.21 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 248.74/165.21 new_primModNatS1(Succ(Succ(vyv292000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv292000), Zero) 248.74/165.21 new_primModNatS1(Succ(Zero), Succ(vyv291000)) -> Succ(Zero) 248.74/165.21 new_primModNatS01(vyv330, vyv331, Zero, Zero) -> new_primModNatS02(vyv330, vyv331) 248.74/165.21 new_primModNatS02(vyv330, vyv331) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv330), Succ(vyv331)), Succ(vyv331)) 248.74/165.21 new_primModNatS1(Succ(Succ(vyv292000)), Succ(vyv291000)) -> new_primModNatS01(vyv292000, vyv291000, vyv292000, vyv291000) 248.74/165.21 new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Succ(vyv3330)) -> new_primModNatS01(vyv330, vyv331, vyv3320, vyv3330) 248.74/165.21 new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Zero) -> new_primModNatS02(vyv330, vyv331) 248.74/165.21 new_primModNatS1(Zero, vyv29100) -> Zero 248.74/165.21 new_esEs(Pos(Succ(vyv24100))) -> new_primEqInt(Pos(Succ(vyv24100))) 248.74/165.21 new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) 248.74/165.21 new_primEqInt(Pos(Zero)) -> True 248.74/165.21 new_primEqInt(Pos(Succ(vyv242000))) -> False 248.74/165.21 new_primMinusNatS2(Succ(vyv3100), Succ(vyv3110)) -> new_primMinusNatS2(vyv3100, vyv3110) 248.74/165.21 new_primModNatS01(vyv330, vyv331, Zero, Succ(vyv3330)) -> Succ(Succ(vyv330)) 248.74/165.21 new_primMinusNatS2(Zero, Zero) -> Zero 248.74/165.21 new_primMinusNatS2(Zero, Succ(vyv3110)) -> Zero 248.74/165.21 new_primMinusNatS2(Succ(vyv3100), Zero) -> Succ(vyv3100) 248.74/165.21 new_primMinusNatS1 -> Zero 248.74/165.21 new_primMinusNatS0(vyv270000) -> Succ(vyv270000) 248.74/165.21 248.74/165.21 The set Q consists of the following terms: 248.74/165.21 248.74/165.21 new_primModNatS1(Succ(Zero), Succ(x0)) 248.74/165.21 new_primMinusNatS1 248.74/165.21 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 248.74/165.21 new_primEqInt(Pos(Zero)) 248.74/165.21 new_primModNatS02(x0, x1) 248.74/165.21 new_primModNatS01(x0, x1, Succ(x2), Zero) 248.74/165.21 new_primModNatS01(x0, x1, Zero, Succ(x2)) 248.74/165.21 new_primMinusNatS2(Zero, Zero) 248.74/165.21 new_esEs(Neg(Succ(x0))) 248.74/165.21 new_primMinusNatS2(Zero, Succ(x0)) 248.74/165.21 new_primModNatS1(Succ(Zero), Zero) 248.74/165.21 new_esEs(Pos(Zero)) 248.74/165.21 new_primEqInt(Neg(Succ(x0))) 248.74/165.21 new_primMinusNatS2(Succ(x0), Zero) 248.74/165.21 new_primEqInt(Neg(Zero)) 248.74/165.21 new_primMinusNatS0(x0) 248.74/165.21 new_primModNatS01(x0, x1, Zero, Zero) 248.74/165.21 new_primEqInt(Pos(Succ(x0))) 248.74/165.21 new_primMinusNatS2(Succ(x0), Succ(x1)) 248.74/165.21 new_primModNatS1(Succ(Succ(x0)), Zero) 248.74/165.21 new_primModNatS1(Zero, x0) 248.74/165.21 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 248.74/165.21 new_esEs(Neg(Zero)) 248.74/165.21 new_esEs(Pos(Succ(x0))) 248.74/165.21 248.74/165.21 We have to consider all minimal (P,Q,R)-chains. 248.74/165.21 ---------------------------------------- 248.74/165.21 248.74/165.21 (374) TransformationProof (EQUIVALENT) 248.74/165.21 By rewriting [LPAR04] the rule new_gcd0Gcd'1(False, Pos(Succ(Zero)), Pos(Succ(Zero))) -> new_gcd0Gcd'0(Pos(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS1, Zero))) at position [1,0,0] we obtained the following new rules [LPAR04]: 248.74/165.21 248.74/165.21 (new_gcd0Gcd'1(False, Pos(Succ(Zero)), Pos(Succ(Zero))) -> new_gcd0Gcd'0(Pos(Succ(Zero)), Pos(new_primModNatS1(Zero, Zero))),new_gcd0Gcd'1(False, Pos(Succ(Zero)), Pos(Succ(Zero))) -> new_gcd0Gcd'0(Pos(Succ(Zero)), Pos(new_primModNatS1(Zero, Zero)))) 248.74/165.21 248.74/165.21 248.74/165.21 ---------------------------------------- 248.74/165.21 248.74/165.21 (375) 248.74/165.21 Obligation: 248.74/165.21 Q DP problem: 248.74/165.21 The TRS P consists of the following rules: 248.74/165.21 248.74/165.21 new_gcd0Gcd'0(Pos(x0), Pos(Succ(x1))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(x0, x1))), Pos(Succ(x1)), Pos(x0)) 248.74/165.21 new_gcd0Gcd'1(False, Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Pos(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero))) 248.74/165.21 new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 248.74/165.21 new_gcd0Gcd'1(False, Pos(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Pos(Succ(Succ(x1))), Pos(new_primModNatS01(x0, x1, x0, x1))) 248.74/165.21 new_gcd0Gcd'1(False, Pos(Succ(Zero)), Pos(Succ(Zero))) -> new_gcd0Gcd'0(Pos(Succ(Zero)), Pos(new_primModNatS1(Zero, Zero))) 248.74/165.21 248.74/165.21 The TRS R consists of the following rules: 248.74/165.21 248.74/165.21 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 248.74/165.21 new_primModNatS1(Succ(Succ(vyv292000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv292000), Zero) 248.74/165.21 new_primModNatS1(Succ(Zero), Succ(vyv291000)) -> Succ(Zero) 248.74/165.21 new_primModNatS01(vyv330, vyv331, Zero, Zero) -> new_primModNatS02(vyv330, vyv331) 248.74/165.21 new_primModNatS02(vyv330, vyv331) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv330), Succ(vyv331)), Succ(vyv331)) 248.74/165.21 new_primModNatS1(Succ(Succ(vyv292000)), Succ(vyv291000)) -> new_primModNatS01(vyv292000, vyv291000, vyv292000, vyv291000) 248.74/165.21 new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Succ(vyv3330)) -> new_primModNatS01(vyv330, vyv331, vyv3320, vyv3330) 248.74/165.21 new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Zero) -> new_primModNatS02(vyv330, vyv331) 248.74/165.21 new_primModNatS1(Zero, vyv29100) -> Zero 248.74/165.21 new_esEs(Pos(Succ(vyv24100))) -> new_primEqInt(Pos(Succ(vyv24100))) 248.74/165.21 new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) 248.74/165.21 new_primEqInt(Pos(Zero)) -> True 248.74/165.21 new_primEqInt(Pos(Succ(vyv242000))) -> False 248.74/165.21 new_primMinusNatS2(Succ(vyv3100), Succ(vyv3110)) -> new_primMinusNatS2(vyv3100, vyv3110) 248.74/165.21 new_primModNatS01(vyv330, vyv331, Zero, Succ(vyv3330)) -> Succ(Succ(vyv330)) 248.74/165.21 new_primMinusNatS2(Zero, Zero) -> Zero 248.74/165.21 new_primMinusNatS2(Zero, Succ(vyv3110)) -> Zero 248.74/165.21 new_primMinusNatS2(Succ(vyv3100), Zero) -> Succ(vyv3100) 248.74/165.21 new_primMinusNatS1 -> Zero 248.74/165.21 new_primMinusNatS0(vyv270000) -> Succ(vyv270000) 248.74/165.21 248.74/165.21 The set Q consists of the following terms: 248.74/165.21 248.74/165.21 new_primModNatS1(Succ(Zero), Succ(x0)) 248.74/165.21 new_primMinusNatS1 248.74/165.21 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 248.74/165.21 new_primEqInt(Pos(Zero)) 248.74/165.21 new_primModNatS02(x0, x1) 248.74/165.21 new_primModNatS01(x0, x1, Succ(x2), Zero) 248.74/165.21 new_primModNatS01(x0, x1, Zero, Succ(x2)) 248.74/165.21 new_primMinusNatS2(Zero, Zero) 248.74/165.21 new_esEs(Neg(Succ(x0))) 248.74/165.21 new_primMinusNatS2(Zero, Succ(x0)) 248.74/165.21 new_primModNatS1(Succ(Zero), Zero) 248.74/165.21 new_esEs(Pos(Zero)) 248.74/165.21 new_primEqInt(Neg(Succ(x0))) 248.74/165.21 new_primMinusNatS2(Succ(x0), Zero) 248.74/165.21 new_primEqInt(Neg(Zero)) 248.74/165.21 new_primMinusNatS0(x0) 248.74/165.21 new_primModNatS01(x0, x1, Zero, Zero) 248.74/165.21 new_primEqInt(Pos(Succ(x0))) 248.74/165.21 new_primMinusNatS2(Succ(x0), Succ(x1)) 248.74/165.21 new_primModNatS1(Succ(Succ(x0)), Zero) 248.74/165.21 new_primModNatS1(Zero, x0) 248.74/165.21 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 248.74/165.21 new_esEs(Neg(Zero)) 248.74/165.21 new_esEs(Pos(Succ(x0))) 248.74/165.21 248.74/165.21 We have to consider all minimal (P,Q,R)-chains. 248.74/165.21 ---------------------------------------- 248.74/165.21 248.74/165.21 (376) DependencyGraphProof (EQUIVALENT) 248.74/165.21 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. 248.74/165.21 ---------------------------------------- 248.74/165.21 248.74/165.21 (377) 248.74/165.21 Obligation: 248.74/165.21 Q DP problem: 248.74/165.21 The TRS P consists of the following rules: 248.74/165.21 248.74/165.21 new_gcd0Gcd'1(False, Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Pos(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero))) 248.74/165.21 new_gcd0Gcd'0(Pos(x0), Pos(Succ(x1))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(x0, x1))), Pos(Succ(x1)), Pos(x0)) 248.74/165.21 new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 248.74/165.21 new_gcd0Gcd'1(False, Pos(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Pos(Succ(Succ(x1))), Pos(new_primModNatS01(x0, x1, x0, x1))) 248.74/165.21 248.74/165.21 The TRS R consists of the following rules: 248.74/165.21 248.74/165.21 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 248.74/165.21 new_primModNatS1(Succ(Succ(vyv292000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv292000), Zero) 248.74/165.21 new_primModNatS1(Succ(Zero), Succ(vyv291000)) -> Succ(Zero) 248.74/165.21 new_primModNatS01(vyv330, vyv331, Zero, Zero) -> new_primModNatS02(vyv330, vyv331) 248.74/165.21 new_primModNatS02(vyv330, vyv331) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv330), Succ(vyv331)), Succ(vyv331)) 248.74/165.21 new_primModNatS1(Succ(Succ(vyv292000)), Succ(vyv291000)) -> new_primModNatS01(vyv292000, vyv291000, vyv292000, vyv291000) 248.74/165.21 new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Succ(vyv3330)) -> new_primModNatS01(vyv330, vyv331, vyv3320, vyv3330) 248.74/165.21 new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Zero) -> new_primModNatS02(vyv330, vyv331) 248.74/165.21 new_primModNatS1(Zero, vyv29100) -> Zero 248.74/165.21 new_esEs(Pos(Succ(vyv24100))) -> new_primEqInt(Pos(Succ(vyv24100))) 248.74/165.21 new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) 248.74/165.21 new_primEqInt(Pos(Zero)) -> True 248.74/165.21 new_primEqInt(Pos(Succ(vyv242000))) -> False 248.74/165.21 new_primMinusNatS2(Succ(vyv3100), Succ(vyv3110)) -> new_primMinusNatS2(vyv3100, vyv3110) 248.74/165.21 new_primModNatS01(vyv330, vyv331, Zero, Succ(vyv3330)) -> Succ(Succ(vyv330)) 248.74/165.21 new_primMinusNatS2(Zero, Zero) -> Zero 248.74/165.21 new_primMinusNatS2(Zero, Succ(vyv3110)) -> Zero 248.74/165.21 new_primMinusNatS2(Succ(vyv3100), Zero) -> Succ(vyv3100) 248.74/165.21 new_primMinusNatS1 -> Zero 248.74/165.21 new_primMinusNatS0(vyv270000) -> Succ(vyv270000) 248.74/165.21 248.74/165.21 The set Q consists of the following terms: 248.74/165.21 248.74/165.21 new_primModNatS1(Succ(Zero), Succ(x0)) 248.74/165.21 new_primMinusNatS1 248.74/165.21 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 248.74/165.21 new_primEqInt(Pos(Zero)) 248.74/165.21 new_primModNatS02(x0, x1) 248.74/165.21 new_primModNatS01(x0, x1, Succ(x2), Zero) 248.74/165.21 new_primModNatS01(x0, x1, Zero, Succ(x2)) 248.74/165.21 new_primMinusNatS2(Zero, Zero) 248.74/165.21 new_esEs(Neg(Succ(x0))) 248.74/165.21 new_primMinusNatS2(Zero, Succ(x0)) 248.74/165.21 new_primModNatS1(Succ(Zero), Zero) 248.74/165.21 new_esEs(Pos(Zero)) 248.74/165.21 new_primEqInt(Neg(Succ(x0))) 248.74/165.21 new_primMinusNatS2(Succ(x0), Zero) 248.74/165.21 new_primEqInt(Neg(Zero)) 248.74/165.21 new_primMinusNatS0(x0) 248.74/165.21 new_primModNatS01(x0, x1, Zero, Zero) 248.74/165.21 new_primEqInt(Pos(Succ(x0))) 248.74/165.21 new_primMinusNatS2(Succ(x0), Succ(x1)) 248.74/165.21 new_primModNatS1(Succ(Succ(x0)), Zero) 248.74/165.21 new_primModNatS1(Zero, x0) 248.74/165.21 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 248.74/165.21 new_esEs(Neg(Zero)) 248.74/165.21 new_esEs(Pos(Succ(x0))) 248.74/165.21 248.74/165.21 We have to consider all minimal (P,Q,R)-chains. 248.74/165.21 ---------------------------------------- 248.74/165.21 248.74/165.21 (378) TransformationProof (EQUIVALENT) 248.74/165.21 By rewriting [LPAR04] the rule new_gcd0Gcd'1(False, Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Pos(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero))) at position [1,0,0] we obtained the following new rules [LPAR04]: 248.74/165.21 248.74/165.21 (new_gcd0Gcd'1(False, Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))),new_gcd0Gcd'1(False, Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero)))) 248.74/165.21 248.74/165.21 248.74/165.21 ---------------------------------------- 248.74/165.21 248.74/165.21 (379) 248.74/165.21 Obligation: 248.74/165.21 Q DP problem: 248.74/165.21 The TRS P consists of the following rules: 248.74/165.21 248.74/165.21 new_gcd0Gcd'0(Pos(x0), Pos(Succ(x1))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(x0, x1))), Pos(Succ(x1)), Pos(x0)) 248.74/165.21 new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 248.74/165.21 new_gcd0Gcd'1(False, Pos(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Pos(Succ(Succ(x1))), Pos(new_primModNatS01(x0, x1, x0, x1))) 248.74/165.21 new_gcd0Gcd'1(False, Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 248.74/165.21 248.74/165.21 The TRS R consists of the following rules: 248.74/165.21 248.74/165.21 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 248.74/165.21 new_primModNatS1(Succ(Succ(vyv292000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv292000), Zero) 248.74/165.21 new_primModNatS1(Succ(Zero), Succ(vyv291000)) -> Succ(Zero) 248.74/165.21 new_primModNatS01(vyv330, vyv331, Zero, Zero) -> new_primModNatS02(vyv330, vyv331) 248.74/165.21 new_primModNatS02(vyv330, vyv331) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv330), Succ(vyv331)), Succ(vyv331)) 248.74/165.21 new_primModNatS1(Succ(Succ(vyv292000)), Succ(vyv291000)) -> new_primModNatS01(vyv292000, vyv291000, vyv292000, vyv291000) 248.74/165.21 new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Succ(vyv3330)) -> new_primModNatS01(vyv330, vyv331, vyv3320, vyv3330) 248.74/165.21 new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Zero) -> new_primModNatS02(vyv330, vyv331) 248.74/165.21 new_primModNatS1(Zero, vyv29100) -> Zero 248.74/165.21 new_esEs(Pos(Succ(vyv24100))) -> new_primEqInt(Pos(Succ(vyv24100))) 248.74/165.21 new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) 248.74/165.21 new_primEqInt(Pos(Zero)) -> True 248.74/165.21 new_primEqInt(Pos(Succ(vyv242000))) -> False 248.74/165.21 new_primMinusNatS2(Succ(vyv3100), Succ(vyv3110)) -> new_primMinusNatS2(vyv3100, vyv3110) 248.74/165.21 new_primModNatS01(vyv330, vyv331, Zero, Succ(vyv3330)) -> Succ(Succ(vyv330)) 248.74/165.21 new_primMinusNatS2(Zero, Zero) -> Zero 248.74/165.21 new_primMinusNatS2(Zero, Succ(vyv3110)) -> Zero 248.74/165.21 new_primMinusNatS2(Succ(vyv3100), Zero) -> Succ(vyv3100) 248.74/165.21 new_primMinusNatS1 -> Zero 248.74/165.21 new_primMinusNatS0(vyv270000) -> Succ(vyv270000) 248.74/165.21 248.74/165.21 The set Q consists of the following terms: 248.74/165.21 248.74/165.21 new_primModNatS1(Succ(Zero), Succ(x0)) 248.74/165.21 new_primMinusNatS1 248.74/165.21 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 248.74/165.21 new_primEqInt(Pos(Zero)) 248.74/165.21 new_primModNatS02(x0, x1) 248.74/165.21 new_primModNatS01(x0, x1, Succ(x2), Zero) 248.74/165.21 new_primModNatS01(x0, x1, Zero, Succ(x2)) 248.74/165.21 new_primMinusNatS2(Zero, Zero) 248.74/165.21 new_esEs(Neg(Succ(x0))) 248.74/165.21 new_primMinusNatS2(Zero, Succ(x0)) 248.74/165.21 new_primModNatS1(Succ(Zero), Zero) 248.74/165.21 new_esEs(Pos(Zero)) 248.74/165.21 new_primEqInt(Neg(Succ(x0))) 248.74/165.21 new_primMinusNatS2(Succ(x0), Zero) 248.74/165.21 new_primEqInt(Neg(Zero)) 248.74/165.21 new_primMinusNatS0(x0) 248.74/165.21 new_primModNatS01(x0, x1, Zero, Zero) 248.74/165.21 new_primEqInt(Pos(Succ(x0))) 248.74/165.21 new_primMinusNatS2(Succ(x0), Succ(x1)) 248.74/165.21 new_primModNatS1(Succ(Succ(x0)), Zero) 248.74/165.21 new_primModNatS1(Zero, x0) 248.74/165.21 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 248.74/165.21 new_esEs(Neg(Zero)) 248.74/165.21 new_esEs(Pos(Succ(x0))) 248.74/165.21 248.74/165.21 We have to consider all minimal (P,Q,R)-chains. 248.74/165.21 ---------------------------------------- 248.74/165.21 248.74/165.21 (380) TransformationProof (EQUIVALENT) 248.74/165.21 By narrowing [LPAR04] the rule new_gcd0Gcd'0(Pos(x0), Pos(Succ(x1))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(x0, x1))), Pos(Succ(x1)), Pos(x0)) at position [0] we obtained the following new rules [LPAR04]: 248.74/165.21 248.74/165.21 (new_gcd0Gcd'0(Pos(Succ(Zero)), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS1, Zero))), Pos(Succ(Zero)), Pos(Succ(Zero))),new_gcd0Gcd'0(Pos(Succ(Zero)), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS1, Zero))), Pos(Succ(Zero)), Pos(Succ(Zero)))) 248.74/165.21 (new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))),new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero))), Pos(Succ(Zero)), Pos(Succ(Succ(x0))))) 248.74/165.21 (new_gcd0Gcd'0(Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'1(new_esEs(Pos(Succ(Zero))), Pos(Succ(Succ(x0))), Pos(Succ(Zero))),new_gcd0Gcd'0(Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'1(new_esEs(Pos(Succ(Zero))), Pos(Succ(Succ(x0))), Pos(Succ(Zero)))) 248.74/165.21 (new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(x0, x1, x0, x1))), Pos(Succ(Succ(x1))), Pos(Succ(Succ(x0)))),new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(x0, x1, x0, x1))), Pos(Succ(Succ(x1))), Pos(Succ(Succ(x0))))) 248.74/165.21 (new_gcd0Gcd'0(Pos(Zero), Pos(Succ(x0))) -> new_gcd0Gcd'1(new_esEs(Pos(Zero)), Pos(Succ(x0)), Pos(Zero)),new_gcd0Gcd'0(Pos(Zero), Pos(Succ(x0))) -> new_gcd0Gcd'1(new_esEs(Pos(Zero)), Pos(Succ(x0)), Pos(Zero))) 248.74/165.21 248.74/165.21 248.74/165.21 ---------------------------------------- 248.74/165.21 248.74/165.21 (381) 248.74/165.21 Obligation: 248.74/165.21 Q DP problem: 248.74/165.21 The TRS P consists of the following rules: 248.74/165.21 248.74/165.21 new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 248.74/165.21 new_gcd0Gcd'1(False, Pos(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Pos(Succ(Succ(x1))), Pos(new_primModNatS01(x0, x1, x0, x1))) 248.74/165.21 new_gcd0Gcd'1(False, Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 248.74/165.21 new_gcd0Gcd'0(Pos(Succ(Zero)), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS1, Zero))), Pos(Succ(Zero)), Pos(Succ(Zero))) 248.74/165.21 new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) 248.74/165.21 new_gcd0Gcd'0(Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'1(new_esEs(Pos(Succ(Zero))), Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 248.74/165.21 new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(x0, x1, x0, x1))), Pos(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) 248.74/165.21 new_gcd0Gcd'0(Pos(Zero), Pos(Succ(x0))) -> new_gcd0Gcd'1(new_esEs(Pos(Zero)), Pos(Succ(x0)), Pos(Zero)) 248.74/165.21 248.74/165.21 The TRS R consists of the following rules: 248.74/165.21 248.74/165.21 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 248.74/165.21 new_primModNatS1(Succ(Succ(vyv292000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv292000), Zero) 248.74/165.21 new_primModNatS1(Succ(Zero), Succ(vyv291000)) -> Succ(Zero) 248.74/165.21 new_primModNatS01(vyv330, vyv331, Zero, Zero) -> new_primModNatS02(vyv330, vyv331) 248.74/165.21 new_primModNatS02(vyv330, vyv331) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv330), Succ(vyv331)), Succ(vyv331)) 248.74/165.21 new_primModNatS1(Succ(Succ(vyv292000)), Succ(vyv291000)) -> new_primModNatS01(vyv292000, vyv291000, vyv292000, vyv291000) 248.74/165.21 new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Succ(vyv3330)) -> new_primModNatS01(vyv330, vyv331, vyv3320, vyv3330) 248.74/165.21 new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Zero) -> new_primModNatS02(vyv330, vyv331) 248.74/165.21 new_primModNatS1(Zero, vyv29100) -> Zero 248.74/165.21 new_esEs(Pos(Succ(vyv24100))) -> new_primEqInt(Pos(Succ(vyv24100))) 248.74/165.21 new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) 248.74/165.21 new_primEqInt(Pos(Zero)) -> True 248.74/165.21 new_primEqInt(Pos(Succ(vyv242000))) -> False 248.74/165.21 new_primMinusNatS2(Succ(vyv3100), Succ(vyv3110)) -> new_primMinusNatS2(vyv3100, vyv3110) 248.74/165.21 new_primModNatS01(vyv330, vyv331, Zero, Succ(vyv3330)) -> Succ(Succ(vyv330)) 248.74/165.21 new_primMinusNatS2(Zero, Zero) -> Zero 248.74/165.21 new_primMinusNatS2(Zero, Succ(vyv3110)) -> Zero 248.74/165.21 new_primMinusNatS2(Succ(vyv3100), Zero) -> Succ(vyv3100) 248.74/165.21 new_primMinusNatS1 -> Zero 248.74/165.21 new_primMinusNatS0(vyv270000) -> Succ(vyv270000) 248.74/165.21 248.74/165.21 The set Q consists of the following terms: 248.74/165.21 248.74/165.21 new_primModNatS1(Succ(Zero), Succ(x0)) 248.74/165.21 new_primMinusNatS1 248.74/165.21 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 248.74/165.21 new_primEqInt(Pos(Zero)) 248.74/165.21 new_primModNatS02(x0, x1) 248.74/165.21 new_primModNatS01(x0, x1, Succ(x2), Zero) 248.74/165.21 new_primModNatS01(x0, x1, Zero, Succ(x2)) 248.74/165.21 new_primMinusNatS2(Zero, Zero) 248.74/165.21 new_esEs(Neg(Succ(x0))) 248.74/165.21 new_primMinusNatS2(Zero, Succ(x0)) 248.74/165.21 new_primModNatS1(Succ(Zero), Zero) 248.74/165.21 new_esEs(Pos(Zero)) 248.74/165.21 new_primEqInt(Neg(Succ(x0))) 248.74/165.21 new_primMinusNatS2(Succ(x0), Zero) 248.74/165.21 new_primEqInt(Neg(Zero)) 248.74/165.21 new_primMinusNatS0(x0) 248.74/165.21 new_primModNatS01(x0, x1, Zero, Zero) 248.74/165.21 new_primEqInt(Pos(Succ(x0))) 248.74/165.21 new_primMinusNatS2(Succ(x0), Succ(x1)) 248.74/165.21 new_primModNatS1(Succ(Succ(x0)), Zero) 248.74/165.21 new_primModNatS1(Zero, x0) 248.74/165.21 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 248.74/165.21 new_esEs(Neg(Zero)) 248.74/165.21 new_esEs(Pos(Succ(x0))) 248.74/165.21 248.74/165.21 We have to consider all minimal (P,Q,R)-chains. 248.74/165.21 ---------------------------------------- 248.74/165.21 248.74/165.21 (382) DependencyGraphProof (EQUIVALENT) 248.74/165.21 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 2 SCCs with 2 less nodes. 248.74/165.21 ---------------------------------------- 248.74/165.21 248.74/165.21 (383) 248.74/165.21 Complex Obligation (AND) 248.74/165.21 248.74/165.21 ---------------------------------------- 248.74/165.21 248.74/165.21 (384) 248.74/165.21 Obligation: 248.74/165.21 Q DP problem: 248.74/165.21 The TRS P consists of the following rules: 248.74/165.21 248.74/165.21 new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) 248.74/165.21 new_gcd0Gcd'1(False, Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 248.74/165.21 new_gcd0Gcd'0(Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'1(new_esEs(Pos(Succ(Zero))), Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 248.74/165.21 new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 248.74/165.21 248.74/165.21 The TRS R consists of the following rules: 248.74/165.21 248.74/165.21 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 248.74/165.21 new_primModNatS1(Succ(Succ(vyv292000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv292000), Zero) 248.74/165.21 new_primModNatS1(Succ(Zero), Succ(vyv291000)) -> Succ(Zero) 248.74/165.21 new_primModNatS01(vyv330, vyv331, Zero, Zero) -> new_primModNatS02(vyv330, vyv331) 248.74/165.21 new_primModNatS02(vyv330, vyv331) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv330), Succ(vyv331)), Succ(vyv331)) 248.74/165.21 new_primModNatS1(Succ(Succ(vyv292000)), Succ(vyv291000)) -> new_primModNatS01(vyv292000, vyv291000, vyv292000, vyv291000) 248.74/165.21 new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Succ(vyv3330)) -> new_primModNatS01(vyv330, vyv331, vyv3320, vyv3330) 248.74/165.21 new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Zero) -> new_primModNatS02(vyv330, vyv331) 248.74/165.21 new_primModNatS1(Zero, vyv29100) -> Zero 248.74/165.21 new_esEs(Pos(Succ(vyv24100))) -> new_primEqInt(Pos(Succ(vyv24100))) 248.74/165.21 new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) 248.74/165.21 new_primEqInt(Pos(Zero)) -> True 248.74/165.21 new_primEqInt(Pos(Succ(vyv242000))) -> False 248.74/165.21 new_primMinusNatS2(Succ(vyv3100), Succ(vyv3110)) -> new_primMinusNatS2(vyv3100, vyv3110) 248.74/165.21 new_primModNatS01(vyv330, vyv331, Zero, Succ(vyv3330)) -> Succ(Succ(vyv330)) 248.74/165.21 new_primMinusNatS2(Zero, Zero) -> Zero 248.74/165.21 new_primMinusNatS2(Zero, Succ(vyv3110)) -> Zero 248.74/165.21 new_primMinusNatS2(Succ(vyv3100), Zero) -> Succ(vyv3100) 248.74/165.21 new_primMinusNatS1 -> Zero 248.74/165.21 new_primMinusNatS0(vyv270000) -> Succ(vyv270000) 248.74/165.21 248.74/165.21 The set Q consists of the following terms: 248.74/165.21 248.74/165.21 new_primModNatS1(Succ(Zero), Succ(x0)) 248.74/165.21 new_primMinusNatS1 248.74/165.21 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 248.74/165.21 new_primEqInt(Pos(Zero)) 248.74/165.21 new_primModNatS02(x0, x1) 248.74/165.21 new_primModNatS01(x0, x1, Succ(x2), Zero) 248.74/165.21 new_primModNatS01(x0, x1, Zero, Succ(x2)) 248.74/165.21 new_primMinusNatS2(Zero, Zero) 248.74/165.21 new_esEs(Neg(Succ(x0))) 248.74/165.21 new_primMinusNatS2(Zero, Succ(x0)) 248.74/165.21 new_primModNatS1(Succ(Zero), Zero) 248.74/165.21 new_esEs(Pos(Zero)) 248.74/165.21 new_primEqInt(Neg(Succ(x0))) 248.74/165.21 new_primMinusNatS2(Succ(x0), Zero) 248.74/165.21 new_primEqInt(Neg(Zero)) 248.74/165.21 new_primMinusNatS0(x0) 248.74/165.21 new_primModNatS01(x0, x1, Zero, Zero) 248.74/165.21 new_primEqInt(Pos(Succ(x0))) 248.74/165.21 new_primMinusNatS2(Succ(x0), Succ(x1)) 248.74/165.21 new_primModNatS1(Succ(Succ(x0)), Zero) 248.74/165.21 new_primModNatS1(Zero, x0) 248.74/165.21 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 248.74/165.21 new_esEs(Neg(Zero)) 248.74/165.21 new_esEs(Pos(Succ(x0))) 248.74/165.21 248.74/165.21 We have to consider all minimal (P,Q,R)-chains. 248.74/165.21 ---------------------------------------- 248.74/165.21 248.74/165.21 (385) UsableRulesProof (EQUIVALENT) 248.74/165.21 As all Q-normal forms are R-normal forms we are in the innermost case. Hence, by the usable rules processor [LPAR04] we can delete all non-usable rules [FROCOS05] from R. 248.74/165.21 ---------------------------------------- 248.74/165.21 248.74/165.21 (386) 248.74/165.21 Obligation: 248.74/165.21 Q DP problem: 248.74/165.21 The TRS P consists of the following rules: 248.74/165.21 248.74/165.21 new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) 248.74/165.21 new_gcd0Gcd'1(False, Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 248.74/165.21 new_gcd0Gcd'0(Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'1(new_esEs(Pos(Succ(Zero))), Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 248.74/165.21 new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 248.74/165.21 248.74/165.21 The TRS R consists of the following rules: 248.74/165.21 248.74/165.21 new_esEs(Pos(Succ(vyv24100))) -> new_primEqInt(Pos(Succ(vyv24100))) 248.74/165.21 new_primEqInt(Pos(Succ(vyv242000))) -> False 248.74/165.21 new_primModNatS1(Succ(Succ(vyv292000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv292000), Zero) 248.74/165.21 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 248.74/165.21 new_primMinusNatS0(vyv270000) -> Succ(vyv270000) 248.74/165.21 new_primModNatS1(Zero, vyv29100) -> Zero 248.74/165.21 new_primMinusNatS1 -> Zero 248.74/165.21 new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) 248.74/165.21 new_primEqInt(Pos(Zero)) -> True 248.74/165.21 248.74/165.21 The set Q consists of the following terms: 248.74/165.21 248.74/165.21 new_primModNatS1(Succ(Zero), Succ(x0)) 248.74/165.21 new_primMinusNatS1 248.74/165.21 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 248.74/165.21 new_primEqInt(Pos(Zero)) 248.74/165.21 new_primModNatS02(x0, x1) 248.74/165.21 new_primModNatS01(x0, x1, Succ(x2), Zero) 248.74/165.21 new_primModNatS01(x0, x1, Zero, Succ(x2)) 248.74/165.21 new_primMinusNatS2(Zero, Zero) 248.74/165.21 new_esEs(Neg(Succ(x0))) 248.74/165.21 new_primMinusNatS2(Zero, Succ(x0)) 248.74/165.21 new_primModNatS1(Succ(Zero), Zero) 248.74/165.21 new_esEs(Pos(Zero)) 248.74/165.21 new_primEqInt(Neg(Succ(x0))) 248.74/165.21 new_primMinusNatS2(Succ(x0), Zero) 248.74/165.21 new_primEqInt(Neg(Zero)) 248.74/165.21 new_primMinusNatS0(x0) 248.74/165.21 new_primModNatS01(x0, x1, Zero, Zero) 248.74/165.21 new_primEqInt(Pos(Succ(x0))) 248.74/165.21 new_primMinusNatS2(Succ(x0), Succ(x1)) 248.74/165.21 new_primModNatS1(Succ(Succ(x0)), Zero) 248.74/165.21 new_primModNatS1(Zero, x0) 248.74/165.21 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 248.74/165.21 new_esEs(Neg(Zero)) 248.74/165.21 new_esEs(Pos(Succ(x0))) 248.74/165.21 248.74/165.21 We have to consider all minimal (P,Q,R)-chains. 248.74/165.21 ---------------------------------------- 248.74/165.21 248.74/165.21 (387) QReductionProof (EQUIVALENT) 248.74/165.21 We deleted the following terms from Q as each root-symbol of these terms does neither occur in P nor in R.[THIEMANN]. 248.74/165.21 248.74/165.21 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 248.74/165.21 new_primModNatS02(x0, x1) 248.74/165.21 new_primModNatS01(x0, x1, Succ(x2), Zero) 248.74/165.21 new_primModNatS01(x0, x1, Zero, Succ(x2)) 248.74/165.21 new_primMinusNatS2(Zero, Zero) 248.74/165.21 new_primMinusNatS2(Zero, Succ(x0)) 248.74/165.21 new_primMinusNatS2(Succ(x0), Zero) 248.74/165.21 new_primModNatS01(x0, x1, Zero, Zero) 248.74/165.21 new_primMinusNatS2(Succ(x0), Succ(x1)) 248.74/165.21 248.74/165.21 248.74/165.21 ---------------------------------------- 248.74/165.21 248.74/165.21 (388) 248.74/165.21 Obligation: 248.74/165.21 Q DP problem: 248.74/165.21 The TRS P consists of the following rules: 248.74/165.21 248.74/165.21 new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) 248.74/165.21 new_gcd0Gcd'1(False, Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 248.74/165.21 new_gcd0Gcd'0(Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'1(new_esEs(Pos(Succ(Zero))), Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 248.74/165.21 new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 248.74/165.21 248.74/165.21 The TRS R consists of the following rules: 248.74/165.21 248.74/165.21 new_esEs(Pos(Succ(vyv24100))) -> new_primEqInt(Pos(Succ(vyv24100))) 248.74/165.21 new_primEqInt(Pos(Succ(vyv242000))) -> False 248.74/165.21 new_primModNatS1(Succ(Succ(vyv292000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv292000), Zero) 248.74/165.21 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 248.74/165.21 new_primMinusNatS0(vyv270000) -> Succ(vyv270000) 248.74/165.21 new_primModNatS1(Zero, vyv29100) -> Zero 248.74/165.21 new_primMinusNatS1 -> Zero 248.74/165.21 new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) 248.74/165.21 new_primEqInt(Pos(Zero)) -> True 248.74/165.21 248.74/165.21 The set Q consists of the following terms: 248.74/165.21 248.74/165.21 new_primModNatS1(Succ(Zero), Succ(x0)) 248.74/165.21 new_primMinusNatS1 248.74/165.21 new_primEqInt(Pos(Zero)) 248.74/165.21 new_esEs(Neg(Succ(x0))) 248.74/165.21 new_primModNatS1(Succ(Zero), Zero) 248.74/165.21 new_esEs(Pos(Zero)) 248.74/165.21 new_primEqInt(Neg(Succ(x0))) 248.74/165.21 new_primEqInt(Neg(Zero)) 248.74/165.21 new_primMinusNatS0(x0) 248.74/165.21 new_primEqInt(Pos(Succ(x0))) 248.74/165.21 new_primModNatS1(Succ(Succ(x0)), Zero) 248.74/165.21 new_primModNatS1(Zero, x0) 248.74/165.21 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 248.74/165.21 new_esEs(Neg(Zero)) 248.74/165.21 new_esEs(Pos(Succ(x0))) 248.74/165.21 248.74/165.21 We have to consider all minimal (P,Q,R)-chains. 248.74/165.21 ---------------------------------------- 248.74/165.21 248.74/165.21 (389) TransformationProof (EQUIVALENT) 248.74/165.21 By rewriting [LPAR04] the rule new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) at position [0,0,0,0] we obtained the following new rules [LPAR04]: 248.74/165.21 248.74/165.21 (new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))),new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(Succ(Succ(x0))))) 248.74/165.21 248.74/165.21 248.74/165.21 ---------------------------------------- 248.74/165.21 248.74/165.21 (390) 248.74/165.21 Obligation: 248.74/165.21 Q DP problem: 248.74/165.21 The TRS P consists of the following rules: 248.74/165.21 248.74/165.21 new_gcd0Gcd'1(False, Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 248.74/165.21 new_gcd0Gcd'0(Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'1(new_esEs(Pos(Succ(Zero))), Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 248.74/165.21 new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 248.74/165.21 new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) 248.74/165.21 248.74/165.21 The TRS R consists of the following rules: 248.74/165.21 248.74/165.21 new_esEs(Pos(Succ(vyv24100))) -> new_primEqInt(Pos(Succ(vyv24100))) 248.74/165.21 new_primEqInt(Pos(Succ(vyv242000))) -> False 248.74/165.21 new_primModNatS1(Succ(Succ(vyv292000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv292000), Zero) 248.74/165.21 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 248.74/165.21 new_primMinusNatS0(vyv270000) -> Succ(vyv270000) 248.74/165.21 new_primModNatS1(Zero, vyv29100) -> Zero 248.74/165.21 new_primMinusNatS1 -> Zero 248.74/165.21 new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) 248.74/165.21 new_primEqInt(Pos(Zero)) -> True 248.74/165.21 248.74/165.21 The set Q consists of the following terms: 248.74/165.21 248.74/165.21 new_primModNatS1(Succ(Zero), Succ(x0)) 248.74/165.21 new_primMinusNatS1 248.74/165.21 new_primEqInt(Pos(Zero)) 248.74/165.21 new_esEs(Neg(Succ(x0))) 248.74/165.21 new_primModNatS1(Succ(Zero), Zero) 248.74/165.21 new_esEs(Pos(Zero)) 248.74/165.21 new_primEqInt(Neg(Succ(x0))) 248.74/165.21 new_primEqInt(Neg(Zero)) 248.74/165.21 new_primMinusNatS0(x0) 248.74/165.21 new_primEqInt(Pos(Succ(x0))) 248.74/165.21 new_primModNatS1(Succ(Succ(x0)), Zero) 248.74/165.21 new_primModNatS1(Zero, x0) 248.74/165.21 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 248.74/165.21 new_esEs(Neg(Zero)) 248.74/165.21 new_esEs(Pos(Succ(x0))) 248.74/165.21 248.74/165.21 We have to consider all minimal (P,Q,R)-chains. 248.74/165.21 ---------------------------------------- 248.74/165.21 248.74/165.21 (391) TransformationProof (EQUIVALENT) 248.74/165.21 By rewriting [LPAR04] the rule new_gcd0Gcd'0(Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'1(new_esEs(Pos(Succ(Zero))), Pos(Succ(Succ(x0))), Pos(Succ(Zero))) at position [0] we obtained the following new rules [LPAR04]: 248.74/165.21 248.74/165.21 (new_gcd0Gcd'0(Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'1(new_primEqInt(Pos(Succ(Zero))), Pos(Succ(Succ(x0))), Pos(Succ(Zero))),new_gcd0Gcd'0(Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'1(new_primEqInt(Pos(Succ(Zero))), Pos(Succ(Succ(x0))), Pos(Succ(Zero)))) 248.74/165.21 248.74/165.21 248.74/165.21 ---------------------------------------- 248.74/165.21 248.74/165.21 (392) 248.74/165.21 Obligation: 248.74/165.21 Q DP problem: 248.74/165.21 The TRS P consists of the following rules: 248.74/165.21 248.74/165.21 new_gcd0Gcd'1(False, Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 248.74/165.21 new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 248.74/165.21 new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) 248.74/165.21 new_gcd0Gcd'0(Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'1(new_primEqInt(Pos(Succ(Zero))), Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 248.74/165.21 248.74/165.21 The TRS R consists of the following rules: 248.74/165.21 248.74/165.21 new_esEs(Pos(Succ(vyv24100))) -> new_primEqInt(Pos(Succ(vyv24100))) 248.74/165.21 new_primEqInt(Pos(Succ(vyv242000))) -> False 248.74/165.21 new_primModNatS1(Succ(Succ(vyv292000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv292000), Zero) 248.74/165.21 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 248.74/165.21 new_primMinusNatS0(vyv270000) -> Succ(vyv270000) 248.74/165.21 new_primModNatS1(Zero, vyv29100) -> Zero 248.74/165.21 new_primMinusNatS1 -> Zero 248.74/165.21 new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) 248.74/165.21 new_primEqInt(Pos(Zero)) -> True 248.74/165.21 248.74/165.21 The set Q consists of the following terms: 248.74/165.21 248.74/165.21 new_primModNatS1(Succ(Zero), Succ(x0)) 248.74/165.21 new_primMinusNatS1 248.74/165.21 new_primEqInt(Pos(Zero)) 248.74/165.21 new_esEs(Neg(Succ(x0))) 248.74/165.21 new_primModNatS1(Succ(Zero), Zero) 248.74/165.21 new_esEs(Pos(Zero)) 248.74/165.21 new_primEqInt(Neg(Succ(x0))) 248.74/165.21 new_primEqInt(Neg(Zero)) 248.74/165.21 new_primMinusNatS0(x0) 248.74/165.21 new_primEqInt(Pos(Succ(x0))) 248.74/165.21 new_primModNatS1(Succ(Succ(x0)), Zero) 248.74/165.21 new_primModNatS1(Zero, x0) 248.74/165.21 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 248.74/165.21 new_esEs(Neg(Zero)) 248.74/165.21 new_esEs(Pos(Succ(x0))) 248.74/165.21 248.74/165.21 We have to consider all minimal (P,Q,R)-chains. 248.74/165.21 ---------------------------------------- 248.74/165.21 248.74/165.21 (393) TransformationProof (EQUIVALENT) 248.74/165.21 By rewriting [LPAR04] the rule new_gcd0Gcd'0(Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'1(new_primEqInt(Pos(Succ(Zero))), Pos(Succ(Succ(x0))), Pos(Succ(Zero))) at position [0] we obtained the following new rules [LPAR04]: 248.74/165.21 248.74/165.21 (new_gcd0Gcd'0(Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))),new_gcd0Gcd'0(Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Pos(Succ(Zero)))) 248.74/165.21 248.74/165.21 248.74/165.21 ---------------------------------------- 248.74/165.21 248.74/165.21 (394) 248.74/165.21 Obligation: 248.74/165.21 Q DP problem: 248.74/165.21 The TRS P consists of the following rules: 248.74/165.21 248.74/165.21 new_gcd0Gcd'1(False, Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 248.74/165.21 new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 248.74/165.21 new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) 248.74/165.21 new_gcd0Gcd'0(Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 248.74/165.21 248.74/165.21 The TRS R consists of the following rules: 248.74/165.21 248.74/165.21 new_esEs(Pos(Succ(vyv24100))) -> new_primEqInt(Pos(Succ(vyv24100))) 248.74/165.21 new_primEqInt(Pos(Succ(vyv242000))) -> False 248.74/165.21 new_primModNatS1(Succ(Succ(vyv292000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv292000), Zero) 248.74/165.21 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 248.74/165.21 new_primMinusNatS0(vyv270000) -> Succ(vyv270000) 248.74/165.21 new_primModNatS1(Zero, vyv29100) -> Zero 248.74/165.21 new_primMinusNatS1 -> Zero 248.74/165.21 new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) 248.74/165.21 new_primEqInt(Pos(Zero)) -> True 248.74/165.21 248.74/165.21 The set Q consists of the following terms: 248.74/165.21 248.74/165.21 new_primModNatS1(Succ(Zero), Succ(x0)) 248.74/165.21 new_primMinusNatS1 248.74/165.21 new_primEqInt(Pos(Zero)) 248.74/165.21 new_esEs(Neg(Succ(x0))) 248.74/165.21 new_primModNatS1(Succ(Zero), Zero) 248.74/165.21 new_esEs(Pos(Zero)) 248.74/165.21 new_primEqInt(Neg(Succ(x0))) 248.74/165.21 new_primEqInt(Neg(Zero)) 248.74/165.21 new_primMinusNatS0(x0) 248.74/165.21 new_primEqInt(Pos(Succ(x0))) 248.74/165.21 new_primModNatS1(Succ(Succ(x0)), Zero) 248.74/165.21 new_primModNatS1(Zero, x0) 248.74/165.21 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 248.74/165.21 new_esEs(Neg(Zero)) 248.74/165.21 new_esEs(Pos(Succ(x0))) 248.74/165.21 248.74/165.21 We have to consider all minimal (P,Q,R)-chains. 248.74/165.21 ---------------------------------------- 248.74/165.21 248.74/165.21 (395) TransformationProof (EQUIVALENT) 248.74/165.21 By narrowing [LPAR04] the rule new_gcd0Gcd'1(False, Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) at position [1,0] we obtained the following new rules [LPAR04]: 248.74/165.21 248.74/165.21 (new_gcd0Gcd'1(False, Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_gcd0Gcd'0(Pos(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero))),new_gcd0Gcd'1(False, Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_gcd0Gcd'0(Pos(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero)))) 248.74/165.21 (new_gcd0Gcd'1(False, Pos(Succ(Zero)), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Pos(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS1, Zero))),new_gcd0Gcd'1(False, Pos(Succ(Zero)), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Pos(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS1, Zero)))) 248.74/165.21 248.74/165.21 248.74/165.21 ---------------------------------------- 248.74/165.21 248.74/165.21 (396) 248.74/165.21 Obligation: 248.74/165.21 Q DP problem: 248.74/165.21 The TRS P consists of the following rules: 248.74/165.21 248.74/165.21 new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 248.74/165.21 new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) 248.74/165.21 new_gcd0Gcd'0(Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 248.74/165.21 new_gcd0Gcd'1(False, Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_gcd0Gcd'0(Pos(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero))) 248.74/165.21 new_gcd0Gcd'1(False, Pos(Succ(Zero)), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Pos(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS1, Zero))) 248.74/165.21 248.74/165.21 The TRS R consists of the following rules: 248.74/165.21 248.74/165.21 new_esEs(Pos(Succ(vyv24100))) -> new_primEqInt(Pos(Succ(vyv24100))) 248.74/165.21 new_primEqInt(Pos(Succ(vyv242000))) -> False 248.74/165.21 new_primModNatS1(Succ(Succ(vyv292000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv292000), Zero) 248.74/165.21 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 248.74/165.21 new_primMinusNatS0(vyv270000) -> Succ(vyv270000) 248.74/165.21 new_primModNatS1(Zero, vyv29100) -> Zero 248.74/165.21 new_primMinusNatS1 -> Zero 248.74/165.21 new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) 248.74/165.21 new_primEqInt(Pos(Zero)) -> True 248.74/165.21 248.74/165.21 The set Q consists of the following terms: 248.74/165.21 248.74/165.21 new_primModNatS1(Succ(Zero), Succ(x0)) 248.74/165.21 new_primMinusNatS1 248.74/165.21 new_primEqInt(Pos(Zero)) 248.74/165.21 new_esEs(Neg(Succ(x0))) 248.74/165.21 new_primModNatS1(Succ(Zero), Zero) 248.74/165.21 new_esEs(Pos(Zero)) 248.74/165.21 new_primEqInt(Neg(Succ(x0))) 248.74/165.21 new_primEqInt(Neg(Zero)) 248.74/165.21 new_primMinusNatS0(x0) 248.74/165.21 new_primEqInt(Pos(Succ(x0))) 248.74/165.21 new_primModNatS1(Succ(Succ(x0)), Zero) 248.74/165.21 new_primModNatS1(Zero, x0) 248.74/165.21 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 248.74/165.21 new_esEs(Neg(Zero)) 248.74/165.21 new_esEs(Pos(Succ(x0))) 248.74/165.21 248.74/165.21 We have to consider all minimal (P,Q,R)-chains. 248.74/165.21 ---------------------------------------- 248.74/165.21 248.74/165.21 (397) TransformationProof (EQUIVALENT) 248.74/165.21 By rewriting [LPAR04] the rule new_gcd0Gcd'1(False, Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_gcd0Gcd'0(Pos(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero))) at position [1,0,0] we obtained the following new rules [LPAR04]: 248.74/165.21 248.74/165.21 (new_gcd0Gcd'1(False, Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_gcd0Gcd'0(Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))),new_gcd0Gcd'1(False, Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_gcd0Gcd'0(Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero)))) 248.74/165.21 248.74/165.21 248.74/165.21 ---------------------------------------- 248.74/165.21 248.74/165.21 (398) 248.74/165.21 Obligation: 248.74/165.21 Q DP problem: 248.74/165.21 The TRS P consists of the following rules: 248.74/165.21 248.74/165.21 new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 248.74/165.21 new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) 248.74/165.21 new_gcd0Gcd'0(Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 248.74/165.21 new_gcd0Gcd'1(False, Pos(Succ(Zero)), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Pos(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS1, Zero))) 248.74/165.21 new_gcd0Gcd'1(False, Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_gcd0Gcd'0(Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 248.74/165.21 248.74/165.21 The TRS R consists of the following rules: 248.74/165.21 248.74/165.21 new_esEs(Pos(Succ(vyv24100))) -> new_primEqInt(Pos(Succ(vyv24100))) 248.74/165.21 new_primEqInt(Pos(Succ(vyv242000))) -> False 248.74/165.21 new_primModNatS1(Succ(Succ(vyv292000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv292000), Zero) 248.74/165.21 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 248.74/165.21 new_primMinusNatS0(vyv270000) -> Succ(vyv270000) 248.74/165.21 new_primModNatS1(Zero, vyv29100) -> Zero 248.74/165.21 new_primMinusNatS1 -> Zero 248.74/165.21 new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) 248.74/165.21 new_primEqInt(Pos(Zero)) -> True 248.74/165.21 248.74/165.21 The set Q consists of the following terms: 248.74/165.21 248.74/165.21 new_primModNatS1(Succ(Zero), Succ(x0)) 248.74/165.21 new_primMinusNatS1 248.74/165.21 new_primEqInt(Pos(Zero)) 248.74/165.21 new_esEs(Neg(Succ(x0))) 248.74/165.21 new_primModNatS1(Succ(Zero), Zero) 248.74/165.21 new_esEs(Pos(Zero)) 248.74/165.21 new_primEqInt(Neg(Succ(x0))) 248.74/165.21 new_primEqInt(Neg(Zero)) 248.74/165.21 new_primMinusNatS0(x0) 248.74/165.21 new_primEqInt(Pos(Succ(x0))) 248.74/165.21 new_primModNatS1(Succ(Succ(x0)), Zero) 248.74/165.21 new_primModNatS1(Zero, x0) 248.74/165.21 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 248.74/165.21 new_esEs(Neg(Zero)) 248.74/165.21 new_esEs(Pos(Succ(x0))) 248.74/165.21 248.74/165.21 We have to consider all minimal (P,Q,R)-chains. 248.74/165.21 ---------------------------------------- 248.74/165.21 248.74/165.21 (399) TransformationProof (EQUIVALENT) 248.74/165.21 By rewriting [LPAR04] the rule new_gcd0Gcd'1(False, Pos(Succ(Zero)), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Pos(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS1, Zero))) at position [1,0,0] we obtained the following new rules [LPAR04]: 248.74/165.21 248.74/165.21 (new_gcd0Gcd'1(False, Pos(Succ(Zero)), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Pos(Succ(Zero)), Pos(new_primModNatS1(Zero, Zero))),new_gcd0Gcd'1(False, Pos(Succ(Zero)), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Pos(Succ(Zero)), Pos(new_primModNatS1(Zero, Zero)))) 248.74/165.21 248.74/165.21 248.74/165.21 ---------------------------------------- 248.74/165.21 248.74/165.21 (400) 248.74/165.21 Obligation: 248.74/165.21 Q DP problem: 248.74/165.21 The TRS P consists of the following rules: 248.74/165.21 248.74/165.21 new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 248.74/165.21 new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) 248.74/165.21 new_gcd0Gcd'0(Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 248.74/165.21 new_gcd0Gcd'1(False, Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_gcd0Gcd'0(Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 248.74/165.21 new_gcd0Gcd'1(False, Pos(Succ(Zero)), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Pos(Succ(Zero)), Pos(new_primModNatS1(Zero, Zero))) 248.74/165.21 248.74/165.21 The TRS R consists of the following rules: 248.74/165.21 248.74/165.21 new_esEs(Pos(Succ(vyv24100))) -> new_primEqInt(Pos(Succ(vyv24100))) 248.74/165.21 new_primEqInt(Pos(Succ(vyv242000))) -> False 248.74/165.21 new_primModNatS1(Succ(Succ(vyv292000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv292000), Zero) 248.74/165.21 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 248.74/165.21 new_primMinusNatS0(vyv270000) -> Succ(vyv270000) 248.74/165.21 new_primModNatS1(Zero, vyv29100) -> Zero 248.74/165.21 new_primMinusNatS1 -> Zero 248.74/165.21 new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) 248.74/165.21 new_primEqInt(Pos(Zero)) -> True 248.74/165.21 248.74/165.21 The set Q consists of the following terms: 248.74/165.21 248.74/165.21 new_primModNatS1(Succ(Zero), Succ(x0)) 248.74/165.21 new_primMinusNatS1 248.74/165.21 new_primEqInt(Pos(Zero)) 248.74/165.21 new_esEs(Neg(Succ(x0))) 248.74/165.21 new_primModNatS1(Succ(Zero), Zero) 248.74/165.21 new_esEs(Pos(Zero)) 248.74/165.21 new_primEqInt(Neg(Succ(x0))) 248.74/165.21 new_primEqInt(Neg(Zero)) 248.74/165.21 new_primMinusNatS0(x0) 248.74/165.21 new_primEqInt(Pos(Succ(x0))) 248.74/165.21 new_primModNatS1(Succ(Succ(x0)), Zero) 248.74/165.21 new_primModNatS1(Zero, x0) 248.74/165.21 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 248.74/165.21 new_esEs(Neg(Zero)) 248.74/165.21 new_esEs(Pos(Succ(x0))) 248.74/165.21 248.74/165.21 We have to consider all minimal (P,Q,R)-chains. 248.74/165.21 ---------------------------------------- 248.74/165.21 248.74/165.21 (401) DependencyGraphProof (EQUIVALENT) 248.74/165.21 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. 248.74/165.21 ---------------------------------------- 248.74/165.21 248.74/165.21 (402) 248.74/165.21 Obligation: 248.74/165.21 Q DP problem: 248.74/165.21 The TRS P consists of the following rules: 248.74/165.21 248.74/165.21 new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) 248.74/165.21 new_gcd0Gcd'1(False, Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_gcd0Gcd'0(Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 248.74/165.21 new_gcd0Gcd'0(Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 248.74/165.21 new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 248.74/165.21 248.74/165.21 The TRS R consists of the following rules: 248.74/165.21 248.74/165.21 new_esEs(Pos(Succ(vyv24100))) -> new_primEqInt(Pos(Succ(vyv24100))) 248.74/165.21 new_primEqInt(Pos(Succ(vyv242000))) -> False 248.74/165.21 new_primModNatS1(Succ(Succ(vyv292000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv292000), Zero) 248.74/165.21 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 248.74/165.21 new_primMinusNatS0(vyv270000) -> Succ(vyv270000) 248.74/165.21 new_primModNatS1(Zero, vyv29100) -> Zero 248.74/165.21 new_primMinusNatS1 -> Zero 248.74/165.21 new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) 248.74/165.21 new_primEqInt(Pos(Zero)) -> True 248.74/165.21 248.74/165.21 The set Q consists of the following terms: 248.74/165.21 248.74/165.21 new_primModNatS1(Succ(Zero), Succ(x0)) 248.74/165.21 new_primMinusNatS1 248.74/165.21 new_primEqInt(Pos(Zero)) 248.74/165.21 new_esEs(Neg(Succ(x0))) 248.74/165.21 new_primModNatS1(Succ(Zero), Zero) 248.74/165.21 new_esEs(Pos(Zero)) 248.74/165.21 new_primEqInt(Neg(Succ(x0))) 248.74/165.21 new_primEqInt(Neg(Zero)) 248.74/165.21 new_primMinusNatS0(x0) 248.74/165.21 new_primEqInt(Pos(Succ(x0))) 248.74/165.21 new_primModNatS1(Succ(Succ(x0)), Zero) 248.74/165.21 new_primModNatS1(Zero, x0) 248.74/165.21 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 248.74/165.21 new_esEs(Neg(Zero)) 248.74/165.21 new_esEs(Pos(Succ(x0))) 248.74/165.21 248.74/165.21 We have to consider all minimal (P,Q,R)-chains. 248.74/165.21 ---------------------------------------- 248.74/165.21 248.74/165.21 (403) TransformationProof (EQUIVALENT) 248.74/165.21 By narrowing [LPAR04] the rule new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) at position [0] we obtained the following new rules [LPAR04]: 248.74/165.21 248.74/165.21 (new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero))), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))),new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero))), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0)))))) 248.74/165.21 (new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS1, Zero))), Pos(Succ(Zero)), Pos(Succ(Succ(Zero)))),new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS1, Zero))), Pos(Succ(Zero)), Pos(Succ(Succ(Zero))))) 248.74/165.21 248.74/165.21 248.74/165.21 ---------------------------------------- 248.74/165.21 248.74/165.21 (404) 248.74/165.21 Obligation: 248.74/165.21 Q DP problem: 248.74/165.21 The TRS P consists of the following rules: 248.74/165.21 248.74/165.21 new_gcd0Gcd'1(False, Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_gcd0Gcd'0(Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 248.74/165.21 new_gcd0Gcd'0(Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 248.74/165.21 new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 248.74/165.21 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero))), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) 248.74/165.21 new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS1, Zero))), Pos(Succ(Zero)), Pos(Succ(Succ(Zero)))) 248.74/165.21 248.74/165.21 The TRS R consists of the following rules: 248.74/165.21 248.74/165.21 new_esEs(Pos(Succ(vyv24100))) -> new_primEqInt(Pos(Succ(vyv24100))) 248.74/165.21 new_primEqInt(Pos(Succ(vyv242000))) -> False 248.74/165.21 new_primModNatS1(Succ(Succ(vyv292000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv292000), Zero) 248.74/165.21 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 248.74/165.21 new_primMinusNatS0(vyv270000) -> Succ(vyv270000) 248.74/165.21 new_primModNatS1(Zero, vyv29100) -> Zero 248.74/165.21 new_primMinusNatS1 -> Zero 248.74/165.21 new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) 248.74/165.21 new_primEqInt(Pos(Zero)) -> True 248.74/165.21 248.74/165.21 The set Q consists of the following terms: 248.74/165.21 248.74/165.21 new_primModNatS1(Succ(Zero), Succ(x0)) 248.74/165.21 new_primMinusNatS1 248.74/165.21 new_primEqInt(Pos(Zero)) 248.74/165.21 new_esEs(Neg(Succ(x0))) 248.74/165.21 new_primModNatS1(Succ(Zero), Zero) 248.74/165.21 new_esEs(Pos(Zero)) 248.74/165.21 new_primEqInt(Neg(Succ(x0))) 248.74/165.21 new_primEqInt(Neg(Zero)) 248.74/165.21 new_primMinusNatS0(x0) 248.74/165.21 new_primEqInt(Pos(Succ(x0))) 248.74/165.21 new_primModNatS1(Succ(Succ(x0)), Zero) 248.74/165.21 new_primModNatS1(Zero, x0) 248.74/165.21 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 248.74/165.21 new_esEs(Neg(Zero)) 248.74/165.21 new_esEs(Pos(Succ(x0))) 248.74/165.21 248.74/165.21 We have to consider all minimal (P,Q,R)-chains. 248.74/165.21 ---------------------------------------- 248.74/165.21 248.74/165.21 (405) DependencyGraphProof (EQUIVALENT) 248.74/165.21 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. 248.74/165.21 ---------------------------------------- 248.74/165.21 248.74/165.21 (406) 248.74/165.21 Obligation: 248.74/165.21 Q DP problem: 248.74/165.21 The TRS P consists of the following rules: 248.74/165.21 248.74/165.21 new_gcd0Gcd'0(Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 248.74/165.21 new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 248.74/165.21 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero))), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) 248.74/165.21 new_gcd0Gcd'1(False, Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_gcd0Gcd'0(Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 248.74/165.21 248.74/165.21 The TRS R consists of the following rules: 248.74/165.21 248.74/165.21 new_esEs(Pos(Succ(vyv24100))) -> new_primEqInt(Pos(Succ(vyv24100))) 248.74/165.21 new_primEqInt(Pos(Succ(vyv242000))) -> False 248.74/165.21 new_primModNatS1(Succ(Succ(vyv292000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv292000), Zero) 248.74/165.21 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 248.74/165.21 new_primMinusNatS0(vyv270000) -> Succ(vyv270000) 248.74/165.21 new_primModNatS1(Zero, vyv29100) -> Zero 248.74/165.21 new_primMinusNatS1 -> Zero 248.74/165.21 new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) 248.74/165.21 new_primEqInt(Pos(Zero)) -> True 248.74/165.21 248.74/165.21 The set Q consists of the following terms: 248.74/165.21 248.74/165.21 new_primModNatS1(Succ(Zero), Succ(x0)) 248.74/165.21 new_primMinusNatS1 248.74/165.21 new_primEqInt(Pos(Zero)) 248.74/165.21 new_esEs(Neg(Succ(x0))) 248.74/165.21 new_primModNatS1(Succ(Zero), Zero) 248.74/165.21 new_esEs(Pos(Zero)) 248.74/165.21 new_primEqInt(Neg(Succ(x0))) 248.74/165.21 new_primEqInt(Neg(Zero)) 248.74/165.21 new_primMinusNatS0(x0) 248.74/165.21 new_primEqInt(Pos(Succ(x0))) 248.74/165.21 new_primModNatS1(Succ(Succ(x0)), Zero) 248.74/165.21 new_primModNatS1(Zero, x0) 248.74/165.21 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 248.74/165.21 new_esEs(Neg(Zero)) 248.74/165.21 new_esEs(Pos(Succ(x0))) 248.74/165.21 248.74/165.21 We have to consider all minimal (P,Q,R)-chains. 248.74/165.21 ---------------------------------------- 248.74/165.21 248.74/165.21 (407) TransformationProof (EQUIVALENT) 248.74/165.21 By rewriting [LPAR04] the rule new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero))), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) at position [0,0,0,0] we obtained the following new rules [LPAR04]: 248.74/165.21 248.74/165.21 (new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))),new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0)))))) 248.74/165.21 248.74/165.21 248.74/165.21 ---------------------------------------- 248.74/165.21 248.74/165.21 (408) 248.74/165.21 Obligation: 248.74/165.21 Q DP problem: 248.74/165.21 The TRS P consists of the following rules: 248.74/165.21 248.74/165.21 new_gcd0Gcd'0(Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 248.74/165.21 new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 248.74/165.21 new_gcd0Gcd'1(False, Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_gcd0Gcd'0(Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 248.74/165.21 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) 248.74/165.21 248.74/165.21 The TRS R consists of the following rules: 248.74/165.21 248.74/165.21 new_esEs(Pos(Succ(vyv24100))) -> new_primEqInt(Pos(Succ(vyv24100))) 248.74/165.21 new_primEqInt(Pos(Succ(vyv242000))) -> False 248.74/165.21 new_primModNatS1(Succ(Succ(vyv292000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv292000), Zero) 248.74/165.21 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 248.74/165.21 new_primMinusNatS0(vyv270000) -> Succ(vyv270000) 248.74/165.21 new_primModNatS1(Zero, vyv29100) -> Zero 248.74/165.21 new_primMinusNatS1 -> Zero 248.74/165.21 new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) 248.74/165.21 new_primEqInt(Pos(Zero)) -> True 248.74/165.21 248.74/165.21 The set Q consists of the following terms: 248.74/165.21 248.74/165.21 new_primModNatS1(Succ(Zero), Succ(x0)) 248.74/165.21 new_primMinusNatS1 248.74/165.21 new_primEqInt(Pos(Zero)) 248.74/165.21 new_esEs(Neg(Succ(x0))) 248.74/165.21 new_primModNatS1(Succ(Zero), Zero) 248.74/165.21 new_esEs(Pos(Zero)) 248.74/165.21 new_primEqInt(Neg(Succ(x0))) 248.74/165.21 new_primEqInt(Neg(Zero)) 248.74/165.21 new_primMinusNatS0(x0) 248.74/165.21 new_primEqInt(Pos(Succ(x0))) 248.74/165.21 new_primModNatS1(Succ(Succ(x0)), Zero) 248.74/165.21 new_primModNatS1(Zero, x0) 248.74/165.21 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 248.74/165.21 new_esEs(Neg(Zero)) 248.74/165.21 new_esEs(Pos(Succ(x0))) 248.74/165.21 248.74/165.21 We have to consider all minimal (P,Q,R)-chains. 248.74/165.21 ---------------------------------------- 248.74/165.21 248.74/165.21 (409) TransformationProof (EQUIVALENT) 248.74/165.21 By narrowing [LPAR04] the rule new_gcd0Gcd'1(False, Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_gcd0Gcd'0(Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) at position [1,0] we obtained the following new rules [LPAR04]: 248.74/165.21 248.74/165.21 (new_gcd0Gcd'1(False, Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'0(Pos(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero))),new_gcd0Gcd'1(False, Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'0(Pos(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero)))) 248.74/165.21 (new_gcd0Gcd'1(False, Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Pos(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS1, Zero))),new_gcd0Gcd'1(False, Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Pos(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS1, Zero)))) 248.74/165.21 248.74/165.21 248.74/165.21 ---------------------------------------- 248.74/165.21 248.74/165.21 (410) 248.74/165.21 Obligation: 248.74/165.21 Q DP problem: 248.74/165.21 The TRS P consists of the following rules: 248.74/165.21 248.74/165.21 new_gcd0Gcd'0(Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 248.74/165.21 new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 248.74/165.21 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) 248.74/165.21 new_gcd0Gcd'1(False, Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'0(Pos(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero))) 248.74/165.21 new_gcd0Gcd'1(False, Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Pos(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS1, Zero))) 248.74/165.21 248.74/165.21 The TRS R consists of the following rules: 248.74/165.21 248.74/165.21 new_esEs(Pos(Succ(vyv24100))) -> new_primEqInt(Pos(Succ(vyv24100))) 248.74/165.21 new_primEqInt(Pos(Succ(vyv242000))) -> False 248.74/165.21 new_primModNatS1(Succ(Succ(vyv292000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv292000), Zero) 248.74/165.21 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 248.74/165.21 new_primMinusNatS0(vyv270000) -> Succ(vyv270000) 248.74/165.21 new_primModNatS1(Zero, vyv29100) -> Zero 248.74/165.21 new_primMinusNatS1 -> Zero 248.74/165.21 new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) 248.74/165.21 new_primEqInt(Pos(Zero)) -> True 248.74/165.21 248.74/165.21 The set Q consists of the following terms: 248.74/165.21 248.74/165.21 new_primModNatS1(Succ(Zero), Succ(x0)) 248.74/165.21 new_primMinusNatS1 248.74/165.21 new_primEqInt(Pos(Zero)) 248.74/165.21 new_esEs(Neg(Succ(x0))) 248.74/165.21 new_primModNatS1(Succ(Zero), Zero) 248.74/165.21 new_esEs(Pos(Zero)) 248.74/165.21 new_primEqInt(Neg(Succ(x0))) 248.74/165.21 new_primEqInt(Neg(Zero)) 248.74/165.21 new_primMinusNatS0(x0) 248.74/165.21 new_primEqInt(Pos(Succ(x0))) 248.74/165.21 new_primModNatS1(Succ(Succ(x0)), Zero) 248.74/165.21 new_primModNatS1(Zero, x0) 248.74/165.21 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 248.74/165.21 new_esEs(Neg(Zero)) 248.74/165.21 new_esEs(Pos(Succ(x0))) 248.74/165.21 248.74/165.21 We have to consider all minimal (P,Q,R)-chains. 248.74/165.21 ---------------------------------------- 248.74/165.21 248.74/165.21 (411) TransformationProof (EQUIVALENT) 248.74/165.21 By rewriting [LPAR04] the rule new_gcd0Gcd'1(False, Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'0(Pos(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero))) at position [1,0,0] we obtained the following new rules [LPAR04]: 248.74/165.21 248.74/165.21 (new_gcd0Gcd'1(False, Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'0(Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))),new_gcd0Gcd'1(False, Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'0(Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero)))) 248.74/165.21 248.74/165.21 248.74/165.21 ---------------------------------------- 248.74/165.21 248.74/165.21 (412) 248.74/165.21 Obligation: 248.74/165.21 Q DP problem: 248.74/165.21 The TRS P consists of the following rules: 248.74/165.21 248.74/165.21 new_gcd0Gcd'0(Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 248.74/165.21 new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 248.74/165.21 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) 248.74/165.21 new_gcd0Gcd'1(False, Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Pos(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS1, Zero))) 248.74/165.21 new_gcd0Gcd'1(False, Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'0(Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 248.74/165.21 248.74/165.21 The TRS R consists of the following rules: 248.74/165.21 248.74/165.21 new_esEs(Pos(Succ(vyv24100))) -> new_primEqInt(Pos(Succ(vyv24100))) 248.74/165.21 new_primEqInt(Pos(Succ(vyv242000))) -> False 248.74/165.21 new_primModNatS1(Succ(Succ(vyv292000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv292000), Zero) 248.74/165.21 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 248.74/165.21 new_primMinusNatS0(vyv270000) -> Succ(vyv270000) 248.74/165.21 new_primModNatS1(Zero, vyv29100) -> Zero 248.74/165.21 new_primMinusNatS1 -> Zero 248.74/165.21 new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) 248.74/165.21 new_primEqInt(Pos(Zero)) -> True 248.74/165.21 248.74/165.21 The set Q consists of the following terms: 248.74/165.21 248.74/165.21 new_primModNatS1(Succ(Zero), Succ(x0)) 248.74/165.21 new_primMinusNatS1 248.74/165.21 new_primEqInt(Pos(Zero)) 248.74/165.21 new_esEs(Neg(Succ(x0))) 248.74/165.21 new_primModNatS1(Succ(Zero), Zero) 248.74/165.21 new_esEs(Pos(Zero)) 248.74/165.21 new_primEqInt(Neg(Succ(x0))) 248.74/165.21 new_primEqInt(Neg(Zero)) 248.74/165.21 new_primMinusNatS0(x0) 248.74/165.21 new_primEqInt(Pos(Succ(x0))) 248.74/165.21 new_primModNatS1(Succ(Succ(x0)), Zero) 248.74/165.21 new_primModNatS1(Zero, x0) 248.74/165.21 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 248.74/165.21 new_esEs(Neg(Zero)) 248.74/165.21 new_esEs(Pos(Succ(x0))) 248.74/165.21 248.74/165.21 We have to consider all minimal (P,Q,R)-chains. 248.74/165.21 ---------------------------------------- 248.74/165.21 248.74/165.21 (413) TransformationProof (EQUIVALENT) 248.74/165.21 By rewriting [LPAR04] the rule new_gcd0Gcd'1(False, Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Pos(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS1, Zero))) at position [1,0,0] we obtained the following new rules [LPAR04]: 248.74/165.21 248.74/165.21 (new_gcd0Gcd'1(False, Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Pos(Succ(Zero)), Pos(new_primModNatS1(Zero, Zero))),new_gcd0Gcd'1(False, Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Pos(Succ(Zero)), Pos(new_primModNatS1(Zero, Zero)))) 248.74/165.21 248.74/165.21 248.74/165.21 ---------------------------------------- 248.74/165.21 248.74/165.21 (414) 248.74/165.21 Obligation: 248.74/165.21 Q DP problem: 248.74/165.21 The TRS P consists of the following rules: 248.74/165.21 248.74/165.21 new_gcd0Gcd'0(Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 248.74/165.21 new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 248.74/165.21 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) 248.74/165.21 new_gcd0Gcd'1(False, Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'0(Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 248.74/165.21 new_gcd0Gcd'1(False, Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Pos(Succ(Zero)), Pos(new_primModNatS1(Zero, Zero))) 248.74/165.21 248.74/165.21 The TRS R consists of the following rules: 248.74/165.21 248.74/165.21 new_esEs(Pos(Succ(vyv24100))) -> new_primEqInt(Pos(Succ(vyv24100))) 248.74/165.21 new_primEqInt(Pos(Succ(vyv242000))) -> False 248.74/165.21 new_primModNatS1(Succ(Succ(vyv292000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv292000), Zero) 248.74/165.21 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 248.74/165.21 new_primMinusNatS0(vyv270000) -> Succ(vyv270000) 248.74/165.21 new_primModNatS1(Zero, vyv29100) -> Zero 248.74/165.21 new_primMinusNatS1 -> Zero 248.74/165.21 new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) 248.74/165.21 new_primEqInt(Pos(Zero)) -> True 248.74/165.21 248.74/165.21 The set Q consists of the following terms: 248.74/165.21 248.74/165.21 new_primModNatS1(Succ(Zero), Succ(x0)) 248.74/165.21 new_primMinusNatS1 248.74/165.21 new_primEqInt(Pos(Zero)) 248.74/165.21 new_esEs(Neg(Succ(x0))) 248.74/165.21 new_primModNatS1(Succ(Zero), Zero) 248.74/165.21 new_esEs(Pos(Zero)) 248.74/165.21 new_primEqInt(Neg(Succ(x0))) 248.74/165.21 new_primEqInt(Neg(Zero)) 248.74/165.21 new_primMinusNatS0(x0) 248.74/165.21 new_primEqInt(Pos(Succ(x0))) 248.74/165.21 new_primModNatS1(Succ(Succ(x0)), Zero) 248.74/165.21 new_primModNatS1(Zero, x0) 248.74/165.21 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 248.74/165.21 new_esEs(Neg(Zero)) 248.74/165.21 new_esEs(Pos(Succ(x0))) 248.74/165.21 248.74/165.21 We have to consider all minimal (P,Q,R)-chains. 248.74/165.21 ---------------------------------------- 248.74/165.21 248.74/165.21 (415) DependencyGraphProof (EQUIVALENT) 248.74/165.21 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. 248.74/165.21 ---------------------------------------- 248.74/165.21 248.74/165.21 (416) 248.74/165.21 Obligation: 248.74/165.21 Q DP problem: 248.74/165.21 The TRS P consists of the following rules: 248.74/165.21 248.74/165.21 new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 248.74/165.21 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) 248.74/165.21 new_gcd0Gcd'1(False, Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'0(Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 248.74/165.21 new_gcd0Gcd'0(Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 248.74/165.21 248.74/165.21 The TRS R consists of the following rules: 248.74/165.21 248.74/165.21 new_esEs(Pos(Succ(vyv24100))) -> new_primEqInt(Pos(Succ(vyv24100))) 248.74/165.21 new_primEqInt(Pos(Succ(vyv242000))) -> False 248.74/165.21 new_primModNatS1(Succ(Succ(vyv292000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv292000), Zero) 248.74/165.21 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 248.74/165.21 new_primMinusNatS0(vyv270000) -> Succ(vyv270000) 248.74/165.21 new_primModNatS1(Zero, vyv29100) -> Zero 248.74/165.21 new_primMinusNatS1 -> Zero 248.74/165.21 new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) 248.74/165.21 new_primEqInt(Pos(Zero)) -> True 248.74/165.21 248.74/165.21 The set Q consists of the following terms: 248.74/165.21 248.74/165.21 new_primModNatS1(Succ(Zero), Succ(x0)) 248.74/165.21 new_primMinusNatS1 248.74/165.21 new_primEqInt(Pos(Zero)) 248.74/165.21 new_esEs(Neg(Succ(x0))) 248.74/165.21 new_primModNatS1(Succ(Zero), Zero) 248.74/165.21 new_esEs(Pos(Zero)) 248.74/165.21 new_primEqInt(Neg(Succ(x0))) 248.74/165.21 new_primEqInt(Neg(Zero)) 248.74/165.21 new_primMinusNatS0(x0) 248.74/165.21 new_primEqInt(Pos(Succ(x0))) 248.74/165.21 new_primModNatS1(Succ(Succ(x0)), Zero) 248.74/165.21 new_primModNatS1(Zero, x0) 248.74/165.21 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 248.74/165.21 new_esEs(Neg(Zero)) 248.74/165.21 new_esEs(Pos(Succ(x0))) 248.74/165.21 248.74/165.21 We have to consider all minimal (P,Q,R)-chains. 248.74/165.21 ---------------------------------------- 248.74/165.21 248.74/165.21 (417) TransformationProof (EQUIVALENT) 248.74/165.21 By narrowing [LPAR04] the rule new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) at position [0] we obtained the following new rules [LPAR04]: 248.74/165.21 248.74/165.21 (new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero))), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))),new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero))), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0))))))) 248.74/165.21 (new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS1, Zero))), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Zero))))),new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS1, Zero))), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Zero)))))) 248.74/165.21 248.74/165.21 248.74/165.21 ---------------------------------------- 248.74/165.21 248.74/165.21 (418) 248.74/165.21 Obligation: 248.74/165.21 Q DP problem: 248.74/165.21 The TRS P consists of the following rules: 248.74/165.21 248.74/165.21 new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 248.74/165.21 new_gcd0Gcd'1(False, Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'0(Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 248.74/165.21 new_gcd0Gcd'0(Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 248.74/165.21 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero))), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) 248.74/165.21 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS1, Zero))), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Zero))))) 248.74/165.21 248.74/165.21 The TRS R consists of the following rules: 248.74/165.21 248.74/165.21 new_esEs(Pos(Succ(vyv24100))) -> new_primEqInt(Pos(Succ(vyv24100))) 248.74/165.21 new_primEqInt(Pos(Succ(vyv242000))) -> False 248.74/165.21 new_primModNatS1(Succ(Succ(vyv292000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv292000), Zero) 248.74/165.21 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 248.74/165.21 new_primMinusNatS0(vyv270000) -> Succ(vyv270000) 248.74/165.21 new_primModNatS1(Zero, vyv29100) -> Zero 248.74/165.21 new_primMinusNatS1 -> Zero 248.74/165.21 new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) 248.74/165.21 new_primEqInt(Pos(Zero)) -> True 248.74/165.21 248.74/165.21 The set Q consists of the following terms: 248.74/165.21 248.74/165.21 new_primModNatS1(Succ(Zero), Succ(x0)) 248.74/165.21 new_primMinusNatS1 248.74/165.21 new_primEqInt(Pos(Zero)) 248.74/165.21 new_esEs(Neg(Succ(x0))) 248.74/165.21 new_primModNatS1(Succ(Zero), Zero) 248.74/165.21 new_esEs(Pos(Zero)) 248.74/165.21 new_primEqInt(Neg(Succ(x0))) 248.74/165.21 new_primEqInt(Neg(Zero)) 248.74/165.21 new_primMinusNatS0(x0) 248.74/165.21 new_primEqInt(Pos(Succ(x0))) 248.74/165.21 new_primModNatS1(Succ(Succ(x0)), Zero) 248.74/165.21 new_primModNatS1(Zero, x0) 248.74/165.21 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 248.74/165.21 new_esEs(Neg(Zero)) 248.74/165.21 new_esEs(Pos(Succ(x0))) 248.74/165.21 248.74/165.21 We have to consider all minimal (P,Q,R)-chains. 248.74/165.21 ---------------------------------------- 248.74/165.21 248.74/165.21 (419) DependencyGraphProof (EQUIVALENT) 248.74/165.21 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. 248.74/165.21 ---------------------------------------- 248.74/165.21 248.74/165.21 (420) 248.74/165.21 Obligation: 248.74/165.21 Q DP problem: 248.74/165.21 The TRS P consists of the following rules: 248.74/165.21 248.74/165.21 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero))), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) 248.74/165.21 new_gcd0Gcd'1(False, Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'0(Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 248.74/165.21 new_gcd0Gcd'0(Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 248.74/165.21 new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 248.74/165.21 248.74/165.21 The TRS R consists of the following rules: 248.74/165.21 248.74/165.21 new_esEs(Pos(Succ(vyv24100))) -> new_primEqInt(Pos(Succ(vyv24100))) 248.74/165.21 new_primEqInt(Pos(Succ(vyv242000))) -> False 248.74/165.21 new_primModNatS1(Succ(Succ(vyv292000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv292000), Zero) 248.74/165.21 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 248.74/165.21 new_primMinusNatS0(vyv270000) -> Succ(vyv270000) 248.74/165.21 new_primModNatS1(Zero, vyv29100) -> Zero 248.74/165.21 new_primMinusNatS1 -> Zero 248.74/165.21 new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) 248.74/165.21 new_primEqInt(Pos(Zero)) -> True 248.74/165.21 248.74/165.21 The set Q consists of the following terms: 248.74/165.21 248.74/165.21 new_primModNatS1(Succ(Zero), Succ(x0)) 248.74/165.21 new_primMinusNatS1 248.74/165.21 new_primEqInt(Pos(Zero)) 248.74/165.21 new_esEs(Neg(Succ(x0))) 248.74/165.21 new_primModNatS1(Succ(Zero), Zero) 248.74/165.21 new_esEs(Pos(Zero)) 248.74/165.21 new_primEqInt(Neg(Succ(x0))) 248.74/165.21 new_primEqInt(Neg(Zero)) 248.74/165.21 new_primMinusNatS0(x0) 248.74/165.21 new_primEqInt(Pos(Succ(x0))) 248.74/165.21 new_primModNatS1(Succ(Succ(x0)), Zero) 248.74/165.21 new_primModNatS1(Zero, x0) 248.74/165.21 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 248.74/165.21 new_esEs(Neg(Zero)) 248.74/165.21 new_esEs(Pos(Succ(x0))) 248.74/165.21 248.74/165.21 We have to consider all minimal (P,Q,R)-chains. 248.74/165.21 ---------------------------------------- 248.74/165.21 248.74/165.21 (421) TransformationProof (EQUIVALENT) 248.74/165.21 By rewriting [LPAR04] the rule new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero))), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) at position [0,0,0,0] we obtained the following new rules [LPAR04]: 248.74/165.21 248.74/165.21 (new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))),new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0))))))) 248.74/165.21 248.74/165.21 248.74/165.21 ---------------------------------------- 248.74/165.21 248.74/165.21 (422) 248.74/165.21 Obligation: 248.74/165.21 Q DP problem: 248.74/165.21 The TRS P consists of the following rules: 248.74/165.21 248.74/165.21 new_gcd0Gcd'1(False, Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'0(Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 248.74/165.21 new_gcd0Gcd'0(Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 248.74/165.21 new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 248.74/165.21 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) 248.74/165.21 248.74/165.21 The TRS R consists of the following rules: 248.74/165.21 248.74/165.21 new_esEs(Pos(Succ(vyv24100))) -> new_primEqInt(Pos(Succ(vyv24100))) 248.74/165.21 new_primEqInt(Pos(Succ(vyv242000))) -> False 248.74/165.21 new_primModNatS1(Succ(Succ(vyv292000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv292000), Zero) 248.74/165.21 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 248.74/165.21 new_primMinusNatS0(vyv270000) -> Succ(vyv270000) 248.74/165.21 new_primModNatS1(Zero, vyv29100) -> Zero 248.74/165.21 new_primMinusNatS1 -> Zero 248.74/165.21 new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) 248.74/165.21 new_primEqInt(Pos(Zero)) -> True 248.74/165.21 248.74/165.21 The set Q consists of the following terms: 248.74/165.21 248.74/165.21 new_primModNatS1(Succ(Zero), Succ(x0)) 248.74/165.21 new_primMinusNatS1 248.74/165.21 new_primEqInt(Pos(Zero)) 248.74/165.21 new_esEs(Neg(Succ(x0))) 248.74/165.21 new_primModNatS1(Succ(Zero), Zero) 248.74/165.21 new_esEs(Pos(Zero)) 248.74/165.21 new_primEqInt(Neg(Succ(x0))) 248.74/165.21 new_primEqInt(Neg(Zero)) 248.74/165.21 new_primMinusNatS0(x0) 248.74/165.21 new_primEqInt(Pos(Succ(x0))) 248.74/165.21 new_primModNatS1(Succ(Succ(x0)), Zero) 248.74/165.21 new_primModNatS1(Zero, x0) 248.74/165.21 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 248.74/165.21 new_esEs(Neg(Zero)) 248.74/165.21 new_esEs(Pos(Succ(x0))) 248.74/165.21 248.74/165.21 We have to consider all minimal (P,Q,R)-chains. 248.74/165.21 ---------------------------------------- 248.74/165.21 248.74/165.21 (423) QDPSizeChangeProof (EQUIVALENT) 248.74/165.21 We used the following order together with the size-change analysis [AAECC05] to show that there are no infinite chains for this DP problem. 248.74/165.21 248.74/165.21 Order:Polynomial interpretation [POLO]: 248.74/165.21 248.74/165.21 POL(False) = 1 248.74/165.21 POL(Pos(x_1)) = x_1 248.74/165.21 POL(Succ(x_1)) = 1 + x_1 248.74/165.21 POL(Zero) = 1 248.74/165.21 POL(new_primMinusNatS0(x_1)) = 1 + x_1 248.74/165.21 POL(new_primMinusNatS1) = 1 248.74/165.21 POL(new_primModNatS1(x_1, x_2)) = x_1 248.74/165.21 248.74/165.21 248.74/165.21 248.74/165.21 248.74/165.21 From the DPs we obtained the following set of size-change graphs: 248.74/165.21 *new_gcd0Gcd'0(Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) (allowed arguments on rhs = {2, 3}) 248.74/165.21 The graph contains the following edges 2 >= 2, 1 >= 3 248.74/165.21 248.74/165.21 248.74/165.21 *new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) (allowed arguments on rhs = {2, 3}) 248.74/165.21 The graph contains the following edges 2 >= 2, 1 >= 3 248.74/165.21 248.74/165.21 248.74/165.21 *new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) (allowed arguments on rhs = {1, 2}) 248.74/165.21 The graph contains the following edges 2 >= 1, 3 >= 2 248.74/165.21 248.74/165.21 248.74/165.21 *new_gcd0Gcd'1(False, Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'0(Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) (allowed arguments on rhs = {1, 2}) 248.74/165.21 The graph contains the following edges 2 >= 1, 3 > 2 248.74/165.21 248.74/165.21 248.74/165.21 248.74/165.21 We oriented the following set of usable rules [AAECC05,FROCOS05]. 248.74/165.21 248.74/165.21 new_primModNatS1(Zero, vyv29100) -> Zero 248.74/165.21 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 248.74/165.21 new_primModNatS1(Succ(Succ(vyv292000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv292000), Zero) 248.74/165.21 new_primMinusNatS1 -> Zero 248.74/165.21 new_primMinusNatS0(vyv270000) -> Succ(vyv270000) 248.74/165.21 248.74/165.21 ---------------------------------------- 248.74/165.21 248.74/165.21 (424) 248.74/165.21 YES 248.74/165.21 248.74/165.21 ---------------------------------------- 248.74/165.21 248.74/165.21 (425) 248.74/165.21 Obligation: 248.74/165.21 Q DP problem: 248.74/165.21 The TRS P consists of the following rules: 248.74/165.21 248.74/165.21 new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(x0, x1, x0, x1))), Pos(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) 248.74/165.21 new_gcd0Gcd'1(False, Pos(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Pos(Succ(Succ(x1))), Pos(new_primModNatS01(x0, x1, x0, x1))) 248.74/165.21 248.74/165.21 The TRS R consists of the following rules: 248.74/165.21 248.74/165.21 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 248.74/165.21 new_primModNatS1(Succ(Succ(vyv292000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv292000), Zero) 248.74/165.21 new_primModNatS1(Succ(Zero), Succ(vyv291000)) -> Succ(Zero) 248.74/165.21 new_primModNatS01(vyv330, vyv331, Zero, Zero) -> new_primModNatS02(vyv330, vyv331) 248.74/165.21 new_primModNatS02(vyv330, vyv331) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv330), Succ(vyv331)), Succ(vyv331)) 248.74/165.21 new_primModNatS1(Succ(Succ(vyv292000)), Succ(vyv291000)) -> new_primModNatS01(vyv292000, vyv291000, vyv292000, vyv291000) 248.74/165.21 new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Succ(vyv3330)) -> new_primModNatS01(vyv330, vyv331, vyv3320, vyv3330) 248.74/165.21 new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Zero) -> new_primModNatS02(vyv330, vyv331) 248.74/165.21 new_primModNatS1(Zero, vyv29100) -> Zero 248.74/165.21 new_esEs(Pos(Succ(vyv24100))) -> new_primEqInt(Pos(Succ(vyv24100))) 248.74/165.21 new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) 248.74/165.21 new_primEqInt(Pos(Zero)) -> True 248.74/165.21 new_primEqInt(Pos(Succ(vyv242000))) -> False 248.74/165.21 new_primMinusNatS2(Succ(vyv3100), Succ(vyv3110)) -> new_primMinusNatS2(vyv3100, vyv3110) 248.74/165.21 new_primModNatS01(vyv330, vyv331, Zero, Succ(vyv3330)) -> Succ(Succ(vyv330)) 248.74/165.21 new_primMinusNatS2(Zero, Zero) -> Zero 248.74/165.21 new_primMinusNatS2(Zero, Succ(vyv3110)) -> Zero 248.74/165.21 new_primMinusNatS2(Succ(vyv3100), Zero) -> Succ(vyv3100) 248.74/165.21 new_primMinusNatS1 -> Zero 248.74/165.21 new_primMinusNatS0(vyv270000) -> Succ(vyv270000) 248.74/165.21 248.74/165.21 The set Q consists of the following terms: 248.74/165.21 248.74/165.21 new_primModNatS1(Succ(Zero), Succ(x0)) 248.74/165.21 new_primMinusNatS1 248.74/165.21 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 248.74/165.21 new_primEqInt(Pos(Zero)) 248.74/165.21 new_primModNatS02(x0, x1) 248.74/165.21 new_primModNatS01(x0, x1, Succ(x2), Zero) 248.74/165.21 new_primModNatS01(x0, x1, Zero, Succ(x2)) 248.74/165.21 new_primMinusNatS2(Zero, Zero) 248.74/165.21 new_esEs(Neg(Succ(x0))) 248.74/165.21 new_primMinusNatS2(Zero, Succ(x0)) 248.74/165.21 new_primModNatS1(Succ(Zero), Zero) 248.74/165.21 new_esEs(Pos(Zero)) 248.74/165.21 new_primEqInt(Neg(Succ(x0))) 248.74/165.21 new_primMinusNatS2(Succ(x0), Zero) 248.74/165.21 new_primEqInt(Neg(Zero)) 248.74/165.21 new_primMinusNatS0(x0) 248.74/165.21 new_primModNatS01(x0, x1, Zero, Zero) 248.74/165.21 new_primEqInt(Pos(Succ(x0))) 248.74/165.21 new_primMinusNatS2(Succ(x0), Succ(x1)) 248.74/165.21 new_primModNatS1(Succ(Succ(x0)), Zero) 248.74/165.21 new_primModNatS1(Zero, x0) 248.74/165.21 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 248.74/165.21 new_esEs(Neg(Zero)) 248.74/165.21 new_esEs(Pos(Succ(x0))) 248.74/165.21 248.74/165.21 We have to consider all minimal (P,Q,R)-chains. 248.74/165.21 ---------------------------------------- 248.74/165.21 248.74/165.21 (426) UsableRulesProof (EQUIVALENT) 248.74/165.21 As all Q-normal forms are R-normal forms we are in the innermost case. Hence, by the usable rules processor [LPAR04] we can delete all non-usable rules [FROCOS05] from R. 248.74/165.21 ---------------------------------------- 248.74/165.21 248.74/165.21 (427) 248.74/165.21 Obligation: 248.74/165.21 Q DP problem: 248.74/165.21 The TRS P consists of the following rules: 248.74/165.21 248.74/165.21 new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(x0, x1, x0, x1))), Pos(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) 248.74/165.21 new_gcd0Gcd'1(False, Pos(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Pos(Succ(Succ(x1))), Pos(new_primModNatS01(x0, x1, x0, x1))) 248.74/165.21 248.74/165.21 The TRS R consists of the following rules: 248.74/165.21 248.74/165.21 new_primModNatS1(Succ(Succ(vyv292000)), Succ(vyv291000)) -> new_primModNatS01(vyv292000, vyv291000, vyv292000, vyv291000) 248.74/165.21 new_primModNatS01(vyv330, vyv331, Zero, Zero) -> new_primModNatS02(vyv330, vyv331) 248.74/165.21 new_primModNatS02(vyv330, vyv331) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv330), Succ(vyv331)), Succ(vyv331)) 248.74/165.21 new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Succ(vyv3330)) -> new_primModNatS01(vyv330, vyv331, vyv3320, vyv3330) 248.74/165.21 new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Zero) -> new_primModNatS02(vyv330, vyv331) 248.74/165.21 new_primModNatS01(vyv330, vyv331, Zero, Succ(vyv3330)) -> Succ(Succ(vyv330)) 248.74/165.21 new_primMinusNatS2(Succ(vyv3100), Succ(vyv3110)) -> new_primMinusNatS2(vyv3100, vyv3110) 248.74/165.21 new_primModNatS1(Succ(Zero), Succ(vyv291000)) -> Succ(Zero) 248.74/165.21 new_primModNatS1(Zero, vyv29100) -> Zero 248.74/165.21 new_primMinusNatS2(Zero, Zero) -> Zero 248.74/165.21 new_primMinusNatS2(Zero, Succ(vyv3110)) -> Zero 248.74/165.21 new_primMinusNatS2(Succ(vyv3100), Zero) -> Succ(vyv3100) 248.74/165.21 new_esEs(Pos(Succ(vyv24100))) -> new_primEqInt(Pos(Succ(vyv24100))) 248.74/165.21 new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) 248.74/165.21 new_primEqInt(Pos(Zero)) -> True 248.74/165.21 new_primEqInt(Pos(Succ(vyv242000))) -> False 248.74/165.21 248.74/165.21 The set Q consists of the following terms: 248.74/165.21 248.74/165.21 new_primModNatS1(Succ(Zero), Succ(x0)) 248.74/165.21 new_primMinusNatS1 248.74/165.21 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 248.74/165.21 new_primEqInt(Pos(Zero)) 248.74/165.21 new_primModNatS02(x0, x1) 248.74/165.21 new_primModNatS01(x0, x1, Succ(x2), Zero) 248.74/165.21 new_primModNatS01(x0, x1, Zero, Succ(x2)) 248.74/165.21 new_primMinusNatS2(Zero, Zero) 248.74/165.21 new_esEs(Neg(Succ(x0))) 248.74/165.21 new_primMinusNatS2(Zero, Succ(x0)) 248.74/165.21 new_primModNatS1(Succ(Zero), Zero) 248.74/165.21 new_esEs(Pos(Zero)) 248.74/165.21 new_primEqInt(Neg(Succ(x0))) 248.74/165.21 new_primMinusNatS2(Succ(x0), Zero) 248.74/165.21 new_primEqInt(Neg(Zero)) 248.74/165.21 new_primMinusNatS0(x0) 248.74/165.21 new_primModNatS01(x0, x1, Zero, Zero) 248.74/165.21 new_primEqInt(Pos(Succ(x0))) 248.74/165.21 new_primMinusNatS2(Succ(x0), Succ(x1)) 248.74/165.21 new_primModNatS1(Succ(Succ(x0)), Zero) 248.74/165.21 new_primModNatS1(Zero, x0) 248.74/165.21 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 248.74/165.21 new_esEs(Neg(Zero)) 248.74/165.21 new_esEs(Pos(Succ(x0))) 248.74/165.21 248.74/165.21 We have to consider all minimal (P,Q,R)-chains. 248.74/165.21 ---------------------------------------- 248.74/165.21 248.74/165.21 (428) QReductionProof (EQUIVALENT) 248.74/165.21 We deleted the following terms from Q as each root-symbol of these terms does neither occur in P nor in R.[THIEMANN]. 248.74/165.21 248.74/165.21 new_primMinusNatS1 248.74/165.21 new_primMinusNatS0(x0) 248.74/165.21 248.74/165.21 248.74/165.21 ---------------------------------------- 248.74/165.21 248.74/165.21 (429) 248.74/165.21 Obligation: 248.74/165.21 Q DP problem: 248.74/165.21 The TRS P consists of the following rules: 248.74/165.21 248.74/165.21 new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(x0, x1, x0, x1))), Pos(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) 248.74/165.21 new_gcd0Gcd'1(False, Pos(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Pos(Succ(Succ(x1))), Pos(new_primModNatS01(x0, x1, x0, x1))) 248.74/165.21 248.74/165.21 The TRS R consists of the following rules: 248.74/165.21 248.74/165.21 new_primModNatS1(Succ(Succ(vyv292000)), Succ(vyv291000)) -> new_primModNatS01(vyv292000, vyv291000, vyv292000, vyv291000) 248.74/165.21 new_primModNatS01(vyv330, vyv331, Zero, Zero) -> new_primModNatS02(vyv330, vyv331) 248.74/165.21 new_primModNatS02(vyv330, vyv331) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv330), Succ(vyv331)), Succ(vyv331)) 248.74/165.21 new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Succ(vyv3330)) -> new_primModNatS01(vyv330, vyv331, vyv3320, vyv3330) 248.74/165.21 new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Zero) -> new_primModNatS02(vyv330, vyv331) 248.74/165.21 new_primModNatS01(vyv330, vyv331, Zero, Succ(vyv3330)) -> Succ(Succ(vyv330)) 248.74/165.21 new_primMinusNatS2(Succ(vyv3100), Succ(vyv3110)) -> new_primMinusNatS2(vyv3100, vyv3110) 248.74/165.21 new_primModNatS1(Succ(Zero), Succ(vyv291000)) -> Succ(Zero) 248.74/165.21 new_primModNatS1(Zero, vyv29100) -> Zero 248.74/165.21 new_primMinusNatS2(Zero, Zero) -> Zero 248.74/165.21 new_primMinusNatS2(Zero, Succ(vyv3110)) -> Zero 248.74/165.21 new_primMinusNatS2(Succ(vyv3100), Zero) -> Succ(vyv3100) 248.74/165.21 new_esEs(Pos(Succ(vyv24100))) -> new_primEqInt(Pos(Succ(vyv24100))) 248.74/165.21 new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) 248.74/165.21 new_primEqInt(Pos(Zero)) -> True 248.74/165.21 new_primEqInt(Pos(Succ(vyv242000))) -> False 248.74/165.21 248.74/165.21 The set Q consists of the following terms: 248.74/165.21 248.74/165.21 new_primModNatS1(Succ(Zero), Succ(x0)) 248.74/165.21 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 248.74/165.21 new_primEqInt(Pos(Zero)) 248.74/165.21 new_primModNatS02(x0, x1) 248.74/165.21 new_primModNatS01(x0, x1, Succ(x2), Zero) 248.74/165.21 new_primModNatS01(x0, x1, Zero, Succ(x2)) 248.74/165.21 new_primMinusNatS2(Zero, Zero) 248.74/165.21 new_esEs(Neg(Succ(x0))) 248.74/165.21 new_primMinusNatS2(Zero, Succ(x0)) 248.74/165.21 new_primModNatS1(Succ(Zero), Zero) 248.74/165.21 new_esEs(Pos(Zero)) 248.74/165.21 new_primEqInt(Neg(Succ(x0))) 248.74/165.21 new_primMinusNatS2(Succ(x0), Zero) 248.74/165.21 new_primEqInt(Neg(Zero)) 248.74/165.21 new_primModNatS01(x0, x1, Zero, Zero) 248.74/165.21 new_primEqInt(Pos(Succ(x0))) 248.74/165.21 new_primMinusNatS2(Succ(x0), Succ(x1)) 248.74/165.21 new_primModNatS1(Succ(Succ(x0)), Zero) 248.74/165.21 new_primModNatS1(Zero, x0) 248.74/165.21 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 248.74/165.21 new_esEs(Neg(Zero)) 248.74/165.21 new_esEs(Pos(Succ(x0))) 248.74/165.21 248.74/165.21 We have to consider all minimal (P,Q,R)-chains. 248.74/165.21 ---------------------------------------- 248.74/165.21 248.74/165.21 (430) TransformationProof (EQUIVALENT) 248.74/165.21 By narrowing [LPAR04] the rule new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(x0, x1, x0, x1))), Pos(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) at position [0] we obtained the following new rules [LPAR04]: 248.74/165.21 248.74/165.21 (new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS02(Zero, Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))),new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS02(Zero, Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))))) 248.74/165.21 (new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))),new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2)))))) 248.74/165.21 (new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS02(Succ(x2), Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))),new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS02(Succ(x2), Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))))) 248.74/165.21 (new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Pos(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))),new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Pos(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))))) 248.74/165.21 248.74/165.21 248.74/165.21 ---------------------------------------- 248.74/165.21 248.74/165.21 (431) 248.74/165.21 Obligation: 248.74/165.21 Q DP problem: 248.74/165.21 The TRS P consists of the following rules: 248.74/165.21 248.74/165.21 new_gcd0Gcd'1(False, Pos(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Pos(Succ(Succ(x1))), Pos(new_primModNatS01(x0, x1, x0, x1))) 248.74/165.21 new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS02(Zero, Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) 248.74/165.21 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) 248.74/165.21 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS02(Succ(x2), Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) 248.74/165.21 new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Pos(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 248.74/165.21 248.74/165.21 The TRS R consists of the following rules: 248.74/165.21 248.74/165.21 new_primModNatS1(Succ(Succ(vyv292000)), Succ(vyv291000)) -> new_primModNatS01(vyv292000, vyv291000, vyv292000, vyv291000) 248.74/165.21 new_primModNatS01(vyv330, vyv331, Zero, Zero) -> new_primModNatS02(vyv330, vyv331) 248.74/165.21 new_primModNatS02(vyv330, vyv331) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv330), Succ(vyv331)), Succ(vyv331)) 248.74/165.21 new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Succ(vyv3330)) -> new_primModNatS01(vyv330, vyv331, vyv3320, vyv3330) 248.74/165.21 new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Zero) -> new_primModNatS02(vyv330, vyv331) 248.74/165.21 new_primModNatS01(vyv330, vyv331, Zero, Succ(vyv3330)) -> Succ(Succ(vyv330)) 248.74/165.21 new_primMinusNatS2(Succ(vyv3100), Succ(vyv3110)) -> new_primMinusNatS2(vyv3100, vyv3110) 248.74/165.21 new_primModNatS1(Succ(Zero), Succ(vyv291000)) -> Succ(Zero) 248.74/165.21 new_primModNatS1(Zero, vyv29100) -> Zero 248.74/165.21 new_primMinusNatS2(Zero, Zero) -> Zero 248.74/165.21 new_primMinusNatS2(Zero, Succ(vyv3110)) -> Zero 248.74/165.21 new_primMinusNatS2(Succ(vyv3100), Zero) -> Succ(vyv3100) 248.74/165.21 new_esEs(Pos(Succ(vyv24100))) -> new_primEqInt(Pos(Succ(vyv24100))) 248.74/165.21 new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) 248.74/165.21 new_primEqInt(Pos(Zero)) -> True 248.74/165.21 new_primEqInt(Pos(Succ(vyv242000))) -> False 248.74/165.21 248.74/165.21 The set Q consists of the following terms: 248.74/165.21 248.74/165.21 new_primModNatS1(Succ(Zero), Succ(x0)) 248.74/165.21 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 248.74/165.21 new_primEqInt(Pos(Zero)) 248.74/165.21 new_primModNatS02(x0, x1) 248.74/165.21 new_primModNatS01(x0, x1, Succ(x2), Zero) 248.74/165.21 new_primModNatS01(x0, x1, Zero, Succ(x2)) 248.74/165.21 new_primMinusNatS2(Zero, Zero) 248.74/165.21 new_esEs(Neg(Succ(x0))) 248.74/165.21 new_primMinusNatS2(Zero, Succ(x0)) 248.74/165.21 new_primModNatS1(Succ(Zero), Zero) 248.74/165.21 new_esEs(Pos(Zero)) 248.74/165.21 new_primEqInt(Neg(Succ(x0))) 248.74/165.21 new_primMinusNatS2(Succ(x0), Zero) 248.74/165.21 new_primEqInt(Neg(Zero)) 248.74/165.21 new_primModNatS01(x0, x1, Zero, Zero) 248.74/165.21 new_primEqInt(Pos(Succ(x0))) 248.74/165.21 new_primMinusNatS2(Succ(x0), Succ(x1)) 248.74/165.21 new_primModNatS1(Succ(Succ(x0)), Zero) 248.74/165.21 new_primModNatS1(Zero, x0) 248.74/165.21 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 248.74/165.21 new_esEs(Neg(Zero)) 248.74/165.21 new_esEs(Pos(Succ(x0))) 248.74/165.21 248.74/165.21 We have to consider all minimal (P,Q,R)-chains. 248.74/165.21 ---------------------------------------- 248.74/165.21 248.74/165.21 (432) TransformationProof (EQUIVALENT) 248.74/165.21 By rewriting [LPAR04] the rule new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS02(Zero, Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) at position [0,0,0] we obtained the following new rules [LPAR04]: 248.74/165.21 248.74/165.21 (new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS2(Succ(Zero), Succ(Zero)), Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))),new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS2(Succ(Zero), Succ(Zero)), Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))))) 248.74/165.21 248.74/165.21 248.74/165.21 ---------------------------------------- 248.74/165.21 248.74/165.21 (433) 248.74/165.21 Obligation: 248.74/165.21 Q DP problem: 248.74/165.21 The TRS P consists of the following rules: 248.74/165.21 248.74/165.21 new_gcd0Gcd'1(False, Pos(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Pos(Succ(Succ(x1))), Pos(new_primModNatS01(x0, x1, x0, x1))) 248.74/165.21 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) 248.74/165.21 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS02(Succ(x2), Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) 248.74/165.21 new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Pos(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 248.74/165.21 new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS2(Succ(Zero), Succ(Zero)), Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) 248.74/165.21 248.74/165.21 The TRS R consists of the following rules: 248.74/165.21 248.74/165.21 new_primModNatS1(Succ(Succ(vyv292000)), Succ(vyv291000)) -> new_primModNatS01(vyv292000, vyv291000, vyv292000, vyv291000) 248.74/165.21 new_primModNatS01(vyv330, vyv331, Zero, Zero) -> new_primModNatS02(vyv330, vyv331) 248.74/165.21 new_primModNatS02(vyv330, vyv331) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv330), Succ(vyv331)), Succ(vyv331)) 248.74/165.21 new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Succ(vyv3330)) -> new_primModNatS01(vyv330, vyv331, vyv3320, vyv3330) 248.74/165.21 new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Zero) -> new_primModNatS02(vyv330, vyv331) 248.74/165.21 new_primModNatS01(vyv330, vyv331, Zero, Succ(vyv3330)) -> Succ(Succ(vyv330)) 248.74/165.21 new_primMinusNatS2(Succ(vyv3100), Succ(vyv3110)) -> new_primMinusNatS2(vyv3100, vyv3110) 248.74/165.21 new_primModNatS1(Succ(Zero), Succ(vyv291000)) -> Succ(Zero) 248.74/165.21 new_primModNatS1(Zero, vyv29100) -> Zero 248.74/165.21 new_primMinusNatS2(Zero, Zero) -> Zero 248.74/165.21 new_primMinusNatS2(Zero, Succ(vyv3110)) -> Zero 248.74/165.21 new_primMinusNatS2(Succ(vyv3100), Zero) -> Succ(vyv3100) 248.74/165.21 new_esEs(Pos(Succ(vyv24100))) -> new_primEqInt(Pos(Succ(vyv24100))) 248.74/165.21 new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) 248.74/165.21 new_primEqInt(Pos(Zero)) -> True 248.74/165.21 new_primEqInt(Pos(Succ(vyv242000))) -> False 248.74/165.21 248.74/165.21 The set Q consists of the following terms: 248.74/165.21 248.74/165.21 new_primModNatS1(Succ(Zero), Succ(x0)) 248.74/165.21 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 248.74/165.21 new_primEqInt(Pos(Zero)) 248.74/165.21 new_primModNatS02(x0, x1) 248.74/165.21 new_primModNatS01(x0, x1, Succ(x2), Zero) 248.74/165.21 new_primModNatS01(x0, x1, Zero, Succ(x2)) 248.74/165.21 new_primMinusNatS2(Zero, Zero) 248.74/165.21 new_esEs(Neg(Succ(x0))) 248.74/165.21 new_primMinusNatS2(Zero, Succ(x0)) 248.74/165.21 new_primModNatS1(Succ(Zero), Zero) 248.74/165.21 new_esEs(Pos(Zero)) 248.74/165.21 new_primEqInt(Neg(Succ(x0))) 248.74/165.21 new_primMinusNatS2(Succ(x0), Zero) 248.74/165.21 new_primEqInt(Neg(Zero)) 248.74/165.21 new_primModNatS01(x0, x1, Zero, Zero) 248.74/165.21 new_primEqInt(Pos(Succ(x0))) 248.74/165.21 new_primMinusNatS2(Succ(x0), Succ(x1)) 248.74/165.21 new_primModNatS1(Succ(Succ(x0)), Zero) 248.74/165.21 new_primModNatS1(Zero, x0) 248.74/165.21 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 248.74/165.21 new_esEs(Neg(Zero)) 248.74/165.21 new_esEs(Pos(Succ(x0))) 248.74/165.21 248.74/165.21 We have to consider all minimal (P,Q,R)-chains. 248.74/165.21 ---------------------------------------- 248.74/165.21 248.74/165.21 (434) TransformationProof (EQUIVALENT) 248.74/165.21 By rewriting [LPAR04] the rule new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS02(Succ(x2), Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) at position [0,0,0] we obtained the following new rules [LPAR04]: 248.74/165.21 248.74/165.21 (new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))),new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))))) 248.74/165.21 248.74/165.21 248.74/165.21 ---------------------------------------- 248.74/165.21 248.74/165.21 (435) 248.74/165.21 Obligation: 248.74/165.21 Q DP problem: 248.74/165.21 The TRS P consists of the following rules: 248.74/165.21 248.74/165.21 new_gcd0Gcd'1(False, Pos(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Pos(Succ(Succ(x1))), Pos(new_primModNatS01(x0, x1, x0, x1))) 248.74/165.21 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) 248.74/165.21 new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Pos(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 248.74/165.21 new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS2(Succ(Zero), Succ(Zero)), Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) 248.74/165.22 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) 248.74/165.22 248.74/165.22 The TRS R consists of the following rules: 248.74/165.22 248.74/165.22 new_primModNatS1(Succ(Succ(vyv292000)), Succ(vyv291000)) -> new_primModNatS01(vyv292000, vyv291000, vyv292000, vyv291000) 248.74/165.22 new_primModNatS01(vyv330, vyv331, Zero, Zero) -> new_primModNatS02(vyv330, vyv331) 248.74/165.22 new_primModNatS02(vyv330, vyv331) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv330), Succ(vyv331)), Succ(vyv331)) 248.74/165.22 new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Succ(vyv3330)) -> new_primModNatS01(vyv330, vyv331, vyv3320, vyv3330) 248.74/165.22 new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Zero) -> new_primModNatS02(vyv330, vyv331) 248.74/165.22 new_primModNatS01(vyv330, vyv331, Zero, Succ(vyv3330)) -> Succ(Succ(vyv330)) 248.74/165.22 new_primMinusNatS2(Succ(vyv3100), Succ(vyv3110)) -> new_primMinusNatS2(vyv3100, vyv3110) 248.74/165.22 new_primModNatS1(Succ(Zero), Succ(vyv291000)) -> Succ(Zero) 248.74/165.22 new_primModNatS1(Zero, vyv29100) -> Zero 248.74/165.22 new_primMinusNatS2(Zero, Zero) -> Zero 248.74/165.22 new_primMinusNatS2(Zero, Succ(vyv3110)) -> Zero 248.74/165.22 new_primMinusNatS2(Succ(vyv3100), Zero) -> Succ(vyv3100) 248.74/165.22 new_esEs(Pos(Succ(vyv24100))) -> new_primEqInt(Pos(Succ(vyv24100))) 248.74/165.22 new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) 248.74/165.22 new_primEqInt(Pos(Zero)) -> True 248.74/165.22 new_primEqInt(Pos(Succ(vyv242000))) -> False 248.74/165.22 248.74/165.22 The set Q consists of the following terms: 248.74/165.22 248.74/165.22 new_primModNatS1(Succ(Zero), Succ(x0)) 248.74/165.22 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 248.74/165.22 new_primEqInt(Pos(Zero)) 248.74/165.22 new_primModNatS02(x0, x1) 248.74/165.22 new_primModNatS01(x0, x1, Succ(x2), Zero) 248.74/165.22 new_primModNatS01(x0, x1, Zero, Succ(x2)) 248.74/165.22 new_primMinusNatS2(Zero, Zero) 248.74/165.22 new_esEs(Neg(Succ(x0))) 248.74/165.22 new_primMinusNatS2(Zero, Succ(x0)) 248.74/165.22 new_primModNatS1(Succ(Zero), Zero) 248.74/165.22 new_esEs(Pos(Zero)) 248.74/165.22 new_primEqInt(Neg(Succ(x0))) 248.74/165.22 new_primMinusNatS2(Succ(x0), Zero) 248.74/165.22 new_primEqInt(Neg(Zero)) 248.74/165.22 new_primModNatS01(x0, x1, Zero, Zero) 248.74/165.22 new_primEqInt(Pos(Succ(x0))) 248.74/165.22 new_primMinusNatS2(Succ(x0), Succ(x1)) 248.74/165.22 new_primModNatS1(Succ(Succ(x0)), Zero) 248.74/165.22 new_primModNatS1(Zero, x0) 248.74/165.22 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 248.74/165.22 new_esEs(Neg(Zero)) 248.74/165.22 new_esEs(Pos(Succ(x0))) 248.74/165.22 248.74/165.22 We have to consider all minimal (P,Q,R)-chains. 248.74/165.22 ---------------------------------------- 248.74/165.22 248.74/165.22 (436) TransformationProof (EQUIVALENT) 248.74/165.22 By rewriting [LPAR04] the rule new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Pos(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) at position [0] we obtained the following new rules [LPAR04]: 248.74/165.22 248.74/165.22 (new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_primEqInt(Pos(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))),new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_primEqInt(Pos(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))))) 248.74/165.22 248.74/165.22 248.74/165.22 ---------------------------------------- 248.74/165.22 248.74/165.22 (437) 248.74/165.22 Obligation: 248.74/165.22 Q DP problem: 248.74/165.22 The TRS P consists of the following rules: 248.74/165.22 248.74/165.22 new_gcd0Gcd'1(False, Pos(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Pos(Succ(Succ(x1))), Pos(new_primModNatS01(x0, x1, x0, x1))) 248.74/165.22 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) 248.74/165.22 new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS2(Succ(Zero), Succ(Zero)), Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) 248.74/165.22 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) 248.74/165.22 new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_primEqInt(Pos(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 248.74/165.22 248.74/165.22 The TRS R consists of the following rules: 248.74/165.22 248.74/165.22 new_primModNatS1(Succ(Succ(vyv292000)), Succ(vyv291000)) -> new_primModNatS01(vyv292000, vyv291000, vyv292000, vyv291000) 248.74/165.22 new_primModNatS01(vyv330, vyv331, Zero, Zero) -> new_primModNatS02(vyv330, vyv331) 248.74/165.22 new_primModNatS02(vyv330, vyv331) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv330), Succ(vyv331)), Succ(vyv331)) 248.74/165.22 new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Succ(vyv3330)) -> new_primModNatS01(vyv330, vyv331, vyv3320, vyv3330) 248.74/165.22 new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Zero) -> new_primModNatS02(vyv330, vyv331) 248.74/165.22 new_primModNatS01(vyv330, vyv331, Zero, Succ(vyv3330)) -> Succ(Succ(vyv330)) 248.74/165.22 new_primMinusNatS2(Succ(vyv3100), Succ(vyv3110)) -> new_primMinusNatS2(vyv3100, vyv3110) 248.74/165.22 new_primModNatS1(Succ(Zero), Succ(vyv291000)) -> Succ(Zero) 248.74/165.22 new_primModNatS1(Zero, vyv29100) -> Zero 248.74/165.22 new_primMinusNatS2(Zero, Zero) -> Zero 248.74/165.22 new_primMinusNatS2(Zero, Succ(vyv3110)) -> Zero 248.74/165.22 new_primMinusNatS2(Succ(vyv3100), Zero) -> Succ(vyv3100) 248.74/165.22 new_esEs(Pos(Succ(vyv24100))) -> new_primEqInt(Pos(Succ(vyv24100))) 248.74/165.22 new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) 248.74/165.22 new_primEqInt(Pos(Zero)) -> True 248.74/165.22 new_primEqInt(Pos(Succ(vyv242000))) -> False 248.74/165.22 248.74/165.22 The set Q consists of the following terms: 248.74/165.22 248.74/165.22 new_primModNatS1(Succ(Zero), Succ(x0)) 248.74/165.22 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 248.74/165.22 new_primEqInt(Pos(Zero)) 248.74/165.22 new_primModNatS02(x0, x1) 248.74/165.22 new_primModNatS01(x0, x1, Succ(x2), Zero) 248.74/165.22 new_primModNatS01(x0, x1, Zero, Succ(x2)) 248.74/165.22 new_primMinusNatS2(Zero, Zero) 248.74/165.22 new_esEs(Neg(Succ(x0))) 248.74/165.22 new_primMinusNatS2(Zero, Succ(x0)) 248.74/165.22 new_primModNatS1(Succ(Zero), Zero) 248.74/165.22 new_esEs(Pos(Zero)) 248.74/165.22 new_primEqInt(Neg(Succ(x0))) 248.74/165.22 new_primMinusNatS2(Succ(x0), Zero) 248.74/165.22 new_primEqInt(Neg(Zero)) 248.74/165.22 new_primModNatS01(x0, x1, Zero, Zero) 248.74/165.22 new_primEqInt(Pos(Succ(x0))) 248.74/165.22 new_primMinusNatS2(Succ(x0), Succ(x1)) 248.74/165.22 new_primModNatS1(Succ(Succ(x0)), Zero) 248.74/165.22 new_primModNatS1(Zero, x0) 248.74/165.22 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 248.74/165.22 new_esEs(Neg(Zero)) 248.74/165.22 new_esEs(Pos(Succ(x0))) 248.74/165.22 248.74/165.22 We have to consider all minimal (P,Q,R)-chains. 248.74/165.22 ---------------------------------------- 248.74/165.22 248.74/165.22 (438) TransformationProof (EQUIVALENT) 248.74/165.22 By rewriting [LPAR04] the rule new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS2(Succ(Zero), Succ(Zero)), Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) at position [0,0,0,0] we obtained the following new rules [LPAR04]: 248.74/165.22 248.74/165.22 (new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS2(Zero, Zero), Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))),new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS2(Zero, Zero), Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))))) 248.74/165.22 248.74/165.22 248.74/165.22 ---------------------------------------- 248.74/165.22 248.74/165.22 (439) 248.74/165.22 Obligation: 248.74/165.22 Q DP problem: 248.74/165.22 The TRS P consists of the following rules: 248.74/165.22 248.74/165.22 new_gcd0Gcd'1(False, Pos(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Pos(Succ(Succ(x1))), Pos(new_primModNatS01(x0, x1, x0, x1))) 248.74/165.22 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) 248.74/165.22 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) 248.74/165.22 new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_primEqInt(Pos(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 248.74/165.22 new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS2(Zero, Zero), Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) 248.74/165.22 248.74/165.22 The TRS R consists of the following rules: 248.74/165.22 248.74/165.22 new_primModNatS1(Succ(Succ(vyv292000)), Succ(vyv291000)) -> new_primModNatS01(vyv292000, vyv291000, vyv292000, vyv291000) 248.74/165.22 new_primModNatS01(vyv330, vyv331, Zero, Zero) -> new_primModNatS02(vyv330, vyv331) 248.74/165.22 new_primModNatS02(vyv330, vyv331) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv330), Succ(vyv331)), Succ(vyv331)) 248.74/165.22 new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Succ(vyv3330)) -> new_primModNatS01(vyv330, vyv331, vyv3320, vyv3330) 248.74/165.22 new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Zero) -> new_primModNatS02(vyv330, vyv331) 248.74/165.22 new_primModNatS01(vyv330, vyv331, Zero, Succ(vyv3330)) -> Succ(Succ(vyv330)) 248.74/165.22 new_primMinusNatS2(Succ(vyv3100), Succ(vyv3110)) -> new_primMinusNatS2(vyv3100, vyv3110) 248.74/165.22 new_primModNatS1(Succ(Zero), Succ(vyv291000)) -> Succ(Zero) 248.74/165.22 new_primModNatS1(Zero, vyv29100) -> Zero 248.74/165.22 new_primMinusNatS2(Zero, Zero) -> Zero 248.74/165.22 new_primMinusNatS2(Zero, Succ(vyv3110)) -> Zero 248.74/165.22 new_primMinusNatS2(Succ(vyv3100), Zero) -> Succ(vyv3100) 248.74/165.22 new_esEs(Pos(Succ(vyv24100))) -> new_primEqInt(Pos(Succ(vyv24100))) 248.74/165.22 new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) 248.74/165.22 new_primEqInt(Pos(Zero)) -> True 248.74/165.22 new_primEqInt(Pos(Succ(vyv242000))) -> False 248.74/165.22 248.74/165.22 The set Q consists of the following terms: 248.74/165.22 248.74/165.22 new_primModNatS1(Succ(Zero), Succ(x0)) 248.74/165.22 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 248.74/165.22 new_primEqInt(Pos(Zero)) 248.74/165.22 new_primModNatS02(x0, x1) 248.74/165.22 new_primModNatS01(x0, x1, Succ(x2), Zero) 248.74/165.22 new_primModNatS01(x0, x1, Zero, Succ(x2)) 248.74/165.22 new_primMinusNatS2(Zero, Zero) 248.74/165.22 new_esEs(Neg(Succ(x0))) 248.74/165.22 new_primMinusNatS2(Zero, Succ(x0)) 248.74/165.22 new_primModNatS1(Succ(Zero), Zero) 248.74/165.22 new_esEs(Pos(Zero)) 248.74/165.22 new_primEqInt(Neg(Succ(x0))) 248.74/165.22 new_primMinusNatS2(Succ(x0), Zero) 248.74/165.22 new_primEqInt(Neg(Zero)) 248.74/165.22 new_primModNatS01(x0, x1, Zero, Zero) 248.74/165.22 new_primEqInt(Pos(Succ(x0))) 248.74/165.22 new_primMinusNatS2(Succ(x0), Succ(x1)) 248.74/165.22 new_primModNatS1(Succ(Succ(x0)), Zero) 248.74/165.22 new_primModNatS1(Zero, x0) 248.74/165.22 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 248.74/165.22 new_esEs(Neg(Zero)) 248.74/165.22 new_esEs(Pos(Succ(x0))) 248.74/165.22 248.74/165.22 We have to consider all minimal (P,Q,R)-chains. 248.74/165.22 ---------------------------------------- 248.74/165.22 248.74/165.22 (440) TransformationProof (EQUIVALENT) 248.74/165.22 By rewriting [LPAR04] the rule new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) at position [0,0,0,0] we obtained the following new rules [LPAR04]: 248.74/165.22 248.74/165.22 (new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))),new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))))) 248.74/165.22 248.74/165.22 248.74/165.22 ---------------------------------------- 248.74/165.22 248.74/165.22 (441) 248.74/165.22 Obligation: 248.74/165.22 Q DP problem: 248.74/165.22 The TRS P consists of the following rules: 248.74/165.22 248.74/165.22 new_gcd0Gcd'1(False, Pos(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Pos(Succ(Succ(x1))), Pos(new_primModNatS01(x0, x1, x0, x1))) 248.74/165.22 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) 248.74/165.22 new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_primEqInt(Pos(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 248.74/165.22 new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS2(Zero, Zero), Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) 248.74/165.22 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) 248.74/165.22 248.74/165.22 The TRS R consists of the following rules: 248.74/165.22 248.74/165.22 new_primModNatS1(Succ(Succ(vyv292000)), Succ(vyv291000)) -> new_primModNatS01(vyv292000, vyv291000, vyv292000, vyv291000) 248.74/165.22 new_primModNatS01(vyv330, vyv331, Zero, Zero) -> new_primModNatS02(vyv330, vyv331) 248.74/165.22 new_primModNatS02(vyv330, vyv331) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv330), Succ(vyv331)), Succ(vyv331)) 248.74/165.22 new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Succ(vyv3330)) -> new_primModNatS01(vyv330, vyv331, vyv3320, vyv3330) 248.74/165.22 new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Zero) -> new_primModNatS02(vyv330, vyv331) 248.74/165.22 new_primModNatS01(vyv330, vyv331, Zero, Succ(vyv3330)) -> Succ(Succ(vyv330)) 248.74/165.22 new_primMinusNatS2(Succ(vyv3100), Succ(vyv3110)) -> new_primMinusNatS2(vyv3100, vyv3110) 248.74/165.22 new_primModNatS1(Succ(Zero), Succ(vyv291000)) -> Succ(Zero) 248.74/165.22 new_primModNatS1(Zero, vyv29100) -> Zero 248.74/165.22 new_primMinusNatS2(Zero, Zero) -> Zero 248.74/165.22 new_primMinusNatS2(Zero, Succ(vyv3110)) -> Zero 248.74/165.22 new_primMinusNatS2(Succ(vyv3100), Zero) -> Succ(vyv3100) 248.74/165.22 new_esEs(Pos(Succ(vyv24100))) -> new_primEqInt(Pos(Succ(vyv24100))) 248.74/165.22 new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) 248.74/165.22 new_primEqInt(Pos(Zero)) -> True 248.74/165.22 new_primEqInt(Pos(Succ(vyv242000))) -> False 248.74/165.22 248.74/165.22 The set Q consists of the following terms: 248.74/165.22 248.74/165.22 new_primModNatS1(Succ(Zero), Succ(x0)) 248.74/165.22 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 248.74/165.22 new_primEqInt(Pos(Zero)) 248.74/165.22 new_primModNatS02(x0, x1) 248.74/165.22 new_primModNatS01(x0, x1, Succ(x2), Zero) 248.74/165.22 new_primModNatS01(x0, x1, Zero, Succ(x2)) 248.74/165.22 new_primMinusNatS2(Zero, Zero) 248.74/165.22 new_esEs(Neg(Succ(x0))) 248.74/165.22 new_primMinusNatS2(Zero, Succ(x0)) 248.74/165.22 new_primModNatS1(Succ(Zero), Zero) 248.74/165.22 new_esEs(Pos(Zero)) 248.74/165.22 new_primEqInt(Neg(Succ(x0))) 248.74/165.22 new_primMinusNatS2(Succ(x0), Zero) 248.74/165.22 new_primEqInt(Neg(Zero)) 248.74/165.22 new_primModNatS01(x0, x1, Zero, Zero) 248.74/165.22 new_primEqInt(Pos(Succ(x0))) 248.74/165.22 new_primMinusNatS2(Succ(x0), Succ(x1)) 248.74/165.22 new_primModNatS1(Succ(Succ(x0)), Zero) 248.74/165.22 new_primModNatS1(Zero, x0) 248.74/165.22 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 248.74/165.22 new_esEs(Neg(Zero)) 248.74/165.22 new_esEs(Pos(Succ(x0))) 248.74/165.22 248.74/165.22 We have to consider all minimal (P,Q,R)-chains. 248.74/165.22 ---------------------------------------- 248.74/165.22 248.74/165.22 (442) TransformationProof (EQUIVALENT) 248.74/165.22 By rewriting [LPAR04] the rule new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_primEqInt(Pos(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) at position [0] we obtained the following new rules [LPAR04]: 248.74/165.22 248.74/165.22 (new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))),new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))))) 248.74/165.22 248.74/165.22 248.74/165.22 ---------------------------------------- 248.74/165.22 248.74/165.22 (443) 248.74/165.22 Obligation: 248.74/165.22 Q DP problem: 248.74/165.22 The TRS P consists of the following rules: 248.74/165.22 248.74/165.22 new_gcd0Gcd'1(False, Pos(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Pos(Succ(Succ(x1))), Pos(new_primModNatS01(x0, x1, x0, x1))) 248.74/165.22 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) 248.74/165.22 new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS2(Zero, Zero), Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) 248.74/165.22 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) 248.74/165.22 new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 248.74/165.22 248.74/165.22 The TRS R consists of the following rules: 248.74/165.22 248.74/165.22 new_primModNatS1(Succ(Succ(vyv292000)), Succ(vyv291000)) -> new_primModNatS01(vyv292000, vyv291000, vyv292000, vyv291000) 248.74/165.22 new_primModNatS01(vyv330, vyv331, Zero, Zero) -> new_primModNatS02(vyv330, vyv331) 248.74/165.22 new_primModNatS02(vyv330, vyv331) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv330), Succ(vyv331)), Succ(vyv331)) 248.74/165.22 new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Succ(vyv3330)) -> new_primModNatS01(vyv330, vyv331, vyv3320, vyv3330) 248.74/165.22 new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Zero) -> new_primModNatS02(vyv330, vyv331) 248.74/165.22 new_primModNatS01(vyv330, vyv331, Zero, Succ(vyv3330)) -> Succ(Succ(vyv330)) 248.74/165.22 new_primMinusNatS2(Succ(vyv3100), Succ(vyv3110)) -> new_primMinusNatS2(vyv3100, vyv3110) 248.74/165.22 new_primModNatS1(Succ(Zero), Succ(vyv291000)) -> Succ(Zero) 248.74/165.22 new_primModNatS1(Zero, vyv29100) -> Zero 248.74/165.22 new_primMinusNatS2(Zero, Zero) -> Zero 248.74/165.22 new_primMinusNatS2(Zero, Succ(vyv3110)) -> Zero 248.74/165.22 new_primMinusNatS2(Succ(vyv3100), Zero) -> Succ(vyv3100) 248.74/165.22 new_esEs(Pos(Succ(vyv24100))) -> new_primEqInt(Pos(Succ(vyv24100))) 248.74/165.22 new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) 248.74/165.22 new_primEqInt(Pos(Zero)) -> True 248.74/165.22 new_primEqInt(Pos(Succ(vyv242000))) -> False 248.74/165.22 248.74/165.22 The set Q consists of the following terms: 248.74/165.22 248.74/165.22 new_primModNatS1(Succ(Zero), Succ(x0)) 248.74/165.22 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 248.74/165.22 new_primEqInt(Pos(Zero)) 248.74/165.22 new_primModNatS02(x0, x1) 248.74/165.22 new_primModNatS01(x0, x1, Succ(x2), Zero) 248.74/165.22 new_primModNatS01(x0, x1, Zero, Succ(x2)) 248.74/165.22 new_primMinusNatS2(Zero, Zero) 248.74/165.22 new_esEs(Neg(Succ(x0))) 248.74/165.22 new_primMinusNatS2(Zero, Succ(x0)) 248.74/165.22 new_primModNatS1(Succ(Zero), Zero) 248.74/165.22 new_esEs(Pos(Zero)) 248.74/165.22 new_primEqInt(Neg(Succ(x0))) 248.74/165.22 new_primMinusNatS2(Succ(x0), Zero) 248.74/165.22 new_primEqInt(Neg(Zero)) 248.74/165.22 new_primModNatS01(x0, x1, Zero, Zero) 248.74/165.22 new_primEqInt(Pos(Succ(x0))) 248.74/165.22 new_primMinusNatS2(Succ(x0), Succ(x1)) 248.74/165.22 new_primModNatS1(Succ(Succ(x0)), Zero) 248.74/165.22 new_primModNatS1(Zero, x0) 248.74/165.22 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 248.74/165.22 new_esEs(Neg(Zero)) 248.74/165.22 new_esEs(Pos(Succ(x0))) 248.74/165.22 248.74/165.22 We have to consider all minimal (P,Q,R)-chains. 248.74/165.22 ---------------------------------------- 248.74/165.22 248.74/165.22 (444) TransformationProof (EQUIVALENT) 248.74/165.22 By rewriting [LPAR04] the rule new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS2(Zero, Zero), Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) at position [0,0,0,0] we obtained the following new rules [LPAR04]: 248.74/165.22 248.74/165.22 (new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Zero, Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))),new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Zero, Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))))) 248.74/165.22 248.74/165.22 248.74/165.22 ---------------------------------------- 248.74/165.22 248.74/165.22 (445) 248.74/165.22 Obligation: 248.74/165.22 Q DP problem: 248.74/165.22 The TRS P consists of the following rules: 248.74/165.22 248.74/165.22 new_gcd0Gcd'1(False, Pos(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Pos(Succ(Succ(x1))), Pos(new_primModNatS01(x0, x1, x0, x1))) 248.74/165.22 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) 248.74/165.22 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) 248.74/165.22 new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 248.74/165.22 new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Zero, Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) 248.74/165.22 248.74/165.22 The TRS R consists of the following rules: 248.74/165.22 248.74/165.22 new_primModNatS1(Succ(Succ(vyv292000)), Succ(vyv291000)) -> new_primModNatS01(vyv292000, vyv291000, vyv292000, vyv291000) 248.74/165.22 new_primModNatS01(vyv330, vyv331, Zero, Zero) -> new_primModNatS02(vyv330, vyv331) 248.74/165.22 new_primModNatS02(vyv330, vyv331) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv330), Succ(vyv331)), Succ(vyv331)) 248.74/165.22 new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Succ(vyv3330)) -> new_primModNatS01(vyv330, vyv331, vyv3320, vyv3330) 248.74/165.22 new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Zero) -> new_primModNatS02(vyv330, vyv331) 248.74/165.22 new_primModNatS01(vyv330, vyv331, Zero, Succ(vyv3330)) -> Succ(Succ(vyv330)) 248.74/165.22 new_primMinusNatS2(Succ(vyv3100), Succ(vyv3110)) -> new_primMinusNatS2(vyv3100, vyv3110) 248.74/165.22 new_primModNatS1(Succ(Zero), Succ(vyv291000)) -> Succ(Zero) 248.74/165.22 new_primModNatS1(Zero, vyv29100) -> Zero 248.74/165.22 new_primMinusNatS2(Zero, Zero) -> Zero 248.74/165.22 new_primMinusNatS2(Zero, Succ(vyv3110)) -> Zero 248.74/165.22 new_primMinusNatS2(Succ(vyv3100), Zero) -> Succ(vyv3100) 248.74/165.22 new_esEs(Pos(Succ(vyv24100))) -> new_primEqInt(Pos(Succ(vyv24100))) 248.74/165.22 new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) 248.74/165.22 new_primEqInt(Pos(Zero)) -> True 248.74/165.22 new_primEqInt(Pos(Succ(vyv242000))) -> False 248.74/165.22 248.74/165.22 The set Q consists of the following terms: 248.74/165.22 248.74/165.22 new_primModNatS1(Succ(Zero), Succ(x0)) 248.74/165.22 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 248.74/165.22 new_primEqInt(Pos(Zero)) 248.74/165.22 new_primModNatS02(x0, x1) 248.74/165.22 new_primModNatS01(x0, x1, Succ(x2), Zero) 248.74/165.22 new_primModNatS01(x0, x1, Zero, Succ(x2)) 248.74/165.22 new_primMinusNatS2(Zero, Zero) 248.74/165.22 new_esEs(Neg(Succ(x0))) 248.74/165.22 new_primMinusNatS2(Zero, Succ(x0)) 248.74/165.22 new_primModNatS1(Succ(Zero), Zero) 248.74/165.22 new_esEs(Pos(Zero)) 248.74/165.22 new_primEqInt(Neg(Succ(x0))) 248.74/165.22 new_primMinusNatS2(Succ(x0), Zero) 248.74/165.22 new_primEqInt(Neg(Zero)) 248.74/165.22 new_primModNatS01(x0, x1, Zero, Zero) 248.74/165.22 new_primEqInt(Pos(Succ(x0))) 248.74/165.22 new_primMinusNatS2(Succ(x0), Succ(x1)) 248.74/165.22 new_primModNatS1(Succ(Succ(x0)), Zero) 248.74/165.22 new_primModNatS1(Zero, x0) 248.74/165.22 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 248.74/165.22 new_esEs(Neg(Zero)) 248.74/165.22 new_esEs(Pos(Succ(x0))) 248.74/165.22 248.74/165.22 We have to consider all minimal (P,Q,R)-chains. 248.74/165.22 ---------------------------------------- 248.74/165.22 248.74/165.22 (446) TransformationProof (EQUIVALENT) 248.74/165.22 By rewriting [LPAR04] the rule new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) at position [0,0,0,0] we obtained the following new rules [LPAR04]: 248.74/165.22 248.74/165.22 (new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))),new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))))) 248.74/165.22 248.74/165.22 248.74/165.22 ---------------------------------------- 248.74/165.22 248.74/165.22 (447) 248.74/165.22 Obligation: 248.74/165.22 Q DP problem: 248.74/165.22 The TRS P consists of the following rules: 248.74/165.22 248.74/165.22 new_gcd0Gcd'1(False, Pos(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Pos(Succ(Succ(x1))), Pos(new_primModNatS01(x0, x1, x0, x1))) 248.74/165.22 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) 248.74/165.22 new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 248.74/165.22 new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Zero, Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) 248.74/165.22 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) 248.74/165.22 248.74/165.22 The TRS R consists of the following rules: 248.74/165.22 248.74/165.22 new_primModNatS1(Succ(Succ(vyv292000)), Succ(vyv291000)) -> new_primModNatS01(vyv292000, vyv291000, vyv292000, vyv291000) 248.74/165.22 new_primModNatS01(vyv330, vyv331, Zero, Zero) -> new_primModNatS02(vyv330, vyv331) 248.74/165.22 new_primModNatS02(vyv330, vyv331) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv330), Succ(vyv331)), Succ(vyv331)) 248.74/165.22 new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Succ(vyv3330)) -> new_primModNatS01(vyv330, vyv331, vyv3320, vyv3330) 248.74/165.22 new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Zero) -> new_primModNatS02(vyv330, vyv331) 248.74/165.22 new_primModNatS01(vyv330, vyv331, Zero, Succ(vyv3330)) -> Succ(Succ(vyv330)) 248.74/165.22 new_primMinusNatS2(Succ(vyv3100), Succ(vyv3110)) -> new_primMinusNatS2(vyv3100, vyv3110) 248.74/165.22 new_primModNatS1(Succ(Zero), Succ(vyv291000)) -> Succ(Zero) 248.74/165.22 new_primModNatS1(Zero, vyv29100) -> Zero 248.74/165.22 new_primMinusNatS2(Zero, Zero) -> Zero 248.74/165.22 new_primMinusNatS2(Zero, Succ(vyv3110)) -> Zero 248.74/165.22 new_primMinusNatS2(Succ(vyv3100), Zero) -> Succ(vyv3100) 248.74/165.22 new_esEs(Pos(Succ(vyv24100))) -> new_primEqInt(Pos(Succ(vyv24100))) 248.74/165.22 new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) 248.74/165.22 new_primEqInt(Pos(Zero)) -> True 248.74/165.22 new_primEqInt(Pos(Succ(vyv242000))) -> False 248.74/165.22 248.74/165.22 The set Q consists of the following terms: 248.74/165.22 248.74/165.22 new_primModNatS1(Succ(Zero), Succ(x0)) 248.74/165.22 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 248.74/165.22 new_primEqInt(Pos(Zero)) 248.74/165.22 new_primModNatS02(x0, x1) 248.74/165.22 new_primModNatS01(x0, x1, Succ(x2), Zero) 248.74/165.22 new_primModNatS01(x0, x1, Zero, Succ(x2)) 248.74/165.22 new_primMinusNatS2(Zero, Zero) 248.74/165.22 new_esEs(Neg(Succ(x0))) 248.74/165.22 new_primMinusNatS2(Zero, Succ(x0)) 248.74/165.22 new_primModNatS1(Succ(Zero), Zero) 248.74/165.22 new_esEs(Pos(Zero)) 248.74/165.22 new_primEqInt(Neg(Succ(x0))) 248.74/165.22 new_primMinusNatS2(Succ(x0), Zero) 248.74/165.22 new_primEqInt(Neg(Zero)) 248.74/165.22 new_primModNatS01(x0, x1, Zero, Zero) 248.74/165.22 new_primEqInt(Pos(Succ(x0))) 248.74/165.22 new_primMinusNatS2(Succ(x0), Succ(x1)) 248.74/165.22 new_primModNatS1(Succ(Succ(x0)), Zero) 248.74/165.22 new_primModNatS1(Zero, x0) 248.74/165.22 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 248.74/165.22 new_esEs(Neg(Zero)) 248.74/165.22 new_esEs(Pos(Succ(x0))) 248.74/165.22 248.74/165.22 We have to consider all minimal (P,Q,R)-chains. 248.74/165.22 ---------------------------------------- 248.74/165.22 248.74/165.22 (448) TransformationProof (EQUIVALENT) 248.74/165.22 By rewriting [LPAR04] the rule new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Zero, Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) at position [0,0,0] we obtained the following new rules [LPAR04]: 248.74/165.22 248.74/165.22 (new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))),new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))))) 248.74/165.22 248.74/165.22 248.74/165.22 ---------------------------------------- 248.74/165.22 248.74/165.22 (449) 248.74/165.22 Obligation: 248.74/165.22 Q DP problem: 248.74/165.22 The TRS P consists of the following rules: 248.74/165.22 248.74/165.22 new_gcd0Gcd'1(False, Pos(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Pos(Succ(Succ(x1))), Pos(new_primModNatS01(x0, x1, x0, x1))) 248.74/165.22 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) 248.74/165.22 new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 248.74/165.22 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) 248.74/165.22 new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) 248.74/165.22 248.74/165.22 The TRS R consists of the following rules: 248.74/165.22 248.74/165.22 new_primModNatS1(Succ(Succ(vyv292000)), Succ(vyv291000)) -> new_primModNatS01(vyv292000, vyv291000, vyv292000, vyv291000) 248.74/165.22 new_primModNatS01(vyv330, vyv331, Zero, Zero) -> new_primModNatS02(vyv330, vyv331) 248.74/165.22 new_primModNatS02(vyv330, vyv331) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv330), Succ(vyv331)), Succ(vyv331)) 248.74/165.22 new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Succ(vyv3330)) -> new_primModNatS01(vyv330, vyv331, vyv3320, vyv3330) 248.74/165.22 new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Zero) -> new_primModNatS02(vyv330, vyv331) 248.74/165.22 new_primModNatS01(vyv330, vyv331, Zero, Succ(vyv3330)) -> Succ(Succ(vyv330)) 248.74/165.22 new_primMinusNatS2(Succ(vyv3100), Succ(vyv3110)) -> new_primMinusNatS2(vyv3100, vyv3110) 248.74/165.22 new_primModNatS1(Succ(Zero), Succ(vyv291000)) -> Succ(Zero) 248.74/165.22 new_primModNatS1(Zero, vyv29100) -> Zero 248.74/165.22 new_primMinusNatS2(Zero, Zero) -> Zero 248.74/165.22 new_primMinusNatS2(Zero, Succ(vyv3110)) -> Zero 248.74/165.22 new_primMinusNatS2(Succ(vyv3100), Zero) -> Succ(vyv3100) 248.74/165.22 new_esEs(Pos(Succ(vyv24100))) -> new_primEqInt(Pos(Succ(vyv24100))) 248.74/165.22 new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) 248.74/165.22 new_primEqInt(Pos(Zero)) -> True 248.74/165.22 new_primEqInt(Pos(Succ(vyv242000))) -> False 248.74/165.22 248.74/165.22 The set Q consists of the following terms: 248.74/165.22 248.74/165.22 new_primModNatS1(Succ(Zero), Succ(x0)) 248.74/165.22 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 248.74/165.22 new_primEqInt(Pos(Zero)) 248.74/165.22 new_primModNatS02(x0, x1) 248.74/165.22 new_primModNatS01(x0, x1, Succ(x2), Zero) 248.74/165.22 new_primModNatS01(x0, x1, Zero, Succ(x2)) 248.74/165.22 new_primMinusNatS2(Zero, Zero) 248.74/165.22 new_esEs(Neg(Succ(x0))) 248.74/165.22 new_primMinusNatS2(Zero, Succ(x0)) 248.74/165.22 new_primModNatS1(Succ(Zero), Zero) 248.74/165.22 new_esEs(Pos(Zero)) 248.74/165.22 new_primEqInt(Neg(Succ(x0))) 248.74/165.22 new_primMinusNatS2(Succ(x0), Zero) 248.74/165.22 new_primEqInt(Neg(Zero)) 248.74/165.22 new_primModNatS01(x0, x1, Zero, Zero) 248.74/165.22 new_primEqInt(Pos(Succ(x0))) 248.74/165.22 new_primMinusNatS2(Succ(x0), Succ(x1)) 248.74/165.22 new_primModNatS1(Succ(Succ(x0)), Zero) 248.74/165.22 new_primModNatS1(Zero, x0) 248.74/165.22 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 248.74/165.22 new_esEs(Neg(Zero)) 248.74/165.22 new_esEs(Pos(Succ(x0))) 248.74/165.22 248.74/165.22 We have to consider all minimal (P,Q,R)-chains. 248.74/165.22 ---------------------------------------- 248.74/165.22 248.74/165.22 (450) DependencyGraphProof (EQUIVALENT) 248.74/165.22 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. 248.74/165.22 ---------------------------------------- 248.74/165.22 248.74/165.22 (451) 248.74/165.22 Obligation: 248.74/165.22 Q DP problem: 248.74/165.22 The TRS P consists of the following rules: 248.74/165.22 248.74/165.22 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) 248.74/165.22 new_gcd0Gcd'1(False, Pos(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Pos(Succ(Succ(x1))), Pos(new_primModNatS01(x0, x1, x0, x1))) 248.74/165.22 new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 248.74/165.22 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) 248.74/165.22 248.74/165.22 The TRS R consists of the following rules: 248.74/165.22 248.74/165.22 new_primModNatS1(Succ(Succ(vyv292000)), Succ(vyv291000)) -> new_primModNatS01(vyv292000, vyv291000, vyv292000, vyv291000) 248.74/165.22 new_primModNatS01(vyv330, vyv331, Zero, Zero) -> new_primModNatS02(vyv330, vyv331) 248.74/165.22 new_primModNatS02(vyv330, vyv331) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv330), Succ(vyv331)), Succ(vyv331)) 248.74/165.22 new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Succ(vyv3330)) -> new_primModNatS01(vyv330, vyv331, vyv3320, vyv3330) 248.74/165.22 new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Zero) -> new_primModNatS02(vyv330, vyv331) 248.74/165.22 new_primModNatS01(vyv330, vyv331, Zero, Succ(vyv3330)) -> Succ(Succ(vyv330)) 248.74/165.22 new_primMinusNatS2(Succ(vyv3100), Succ(vyv3110)) -> new_primMinusNatS2(vyv3100, vyv3110) 248.74/165.22 new_primModNatS1(Succ(Zero), Succ(vyv291000)) -> Succ(Zero) 248.74/165.22 new_primModNatS1(Zero, vyv29100) -> Zero 248.74/165.22 new_primMinusNatS2(Zero, Zero) -> Zero 248.74/165.22 new_primMinusNatS2(Zero, Succ(vyv3110)) -> Zero 248.74/165.22 new_primMinusNatS2(Succ(vyv3100), Zero) -> Succ(vyv3100) 248.74/165.22 new_esEs(Pos(Succ(vyv24100))) -> new_primEqInt(Pos(Succ(vyv24100))) 248.74/165.22 new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) 248.74/165.22 new_primEqInt(Pos(Zero)) -> True 248.74/165.22 new_primEqInt(Pos(Succ(vyv242000))) -> False 248.74/165.22 248.74/165.22 The set Q consists of the following terms: 248.74/165.22 248.74/165.22 new_primModNatS1(Succ(Zero), Succ(x0)) 248.74/165.22 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 248.74/165.22 new_primEqInt(Pos(Zero)) 248.74/165.22 new_primModNatS02(x0, x1) 248.74/165.22 new_primModNatS01(x0, x1, Succ(x2), Zero) 248.74/165.22 new_primModNatS01(x0, x1, Zero, Succ(x2)) 248.74/165.22 new_primMinusNatS2(Zero, Zero) 248.74/165.22 new_esEs(Neg(Succ(x0))) 248.74/165.22 new_primMinusNatS2(Zero, Succ(x0)) 248.74/165.22 new_primModNatS1(Succ(Zero), Zero) 248.74/165.22 new_esEs(Pos(Zero)) 248.74/165.22 new_primEqInt(Neg(Succ(x0))) 248.74/165.22 new_primMinusNatS2(Succ(x0), Zero) 248.74/165.22 new_primEqInt(Neg(Zero)) 248.74/165.22 new_primModNatS01(x0, x1, Zero, Zero) 248.74/165.22 new_primEqInt(Pos(Succ(x0))) 248.74/165.22 new_primMinusNatS2(Succ(x0), Succ(x1)) 248.74/165.22 new_primModNatS1(Succ(Succ(x0)), Zero) 248.74/165.22 new_primModNatS1(Zero, x0) 248.74/165.22 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 248.74/165.22 new_esEs(Neg(Zero)) 248.74/165.22 new_esEs(Pos(Succ(x0))) 248.74/165.22 248.74/165.22 We have to consider all minimal (P,Q,R)-chains. 248.74/165.22 ---------------------------------------- 248.74/165.22 248.74/165.22 (452) TransformationProof (EQUIVALENT) 248.74/165.22 By narrowing [LPAR04] the rule new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) at position [0] we obtained the following new rules [LPAR04]: 248.74/165.22 248.74/165.22 (new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS02(Succ(Zero), Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))),new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS02(Succ(Zero), Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))))) 248.74/165.22 (new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))),new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2))))))) 248.74/165.22 (new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))),new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))))) 248.74/165.22 (new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Pos(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))),new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Pos(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))))) 248.74/165.22 248.74/165.22 248.74/165.22 ---------------------------------------- 248.74/165.22 248.74/165.22 (453) 248.74/165.22 Obligation: 248.74/165.22 Q DP problem: 248.74/165.22 The TRS P consists of the following rules: 248.74/165.22 248.74/165.22 new_gcd0Gcd'1(False, Pos(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Pos(Succ(Succ(x1))), Pos(new_primModNatS01(x0, x1, x0, x1))) 248.74/165.22 new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 248.74/165.22 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) 248.74/165.22 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS02(Succ(Zero), Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) 248.74/165.22 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) 248.74/165.22 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) 248.74/165.22 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Pos(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 248.74/165.22 248.74/165.22 The TRS R consists of the following rules: 248.74/165.22 248.74/165.22 new_primModNatS1(Succ(Succ(vyv292000)), Succ(vyv291000)) -> new_primModNatS01(vyv292000, vyv291000, vyv292000, vyv291000) 248.74/165.22 new_primModNatS01(vyv330, vyv331, Zero, Zero) -> new_primModNatS02(vyv330, vyv331) 248.74/165.22 new_primModNatS02(vyv330, vyv331) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv330), Succ(vyv331)), Succ(vyv331)) 248.74/165.22 new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Succ(vyv3330)) -> new_primModNatS01(vyv330, vyv331, vyv3320, vyv3330) 248.74/165.22 new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Zero) -> new_primModNatS02(vyv330, vyv331) 248.74/165.22 new_primModNatS01(vyv330, vyv331, Zero, Succ(vyv3330)) -> Succ(Succ(vyv330)) 248.74/165.22 new_primMinusNatS2(Succ(vyv3100), Succ(vyv3110)) -> new_primMinusNatS2(vyv3100, vyv3110) 248.74/165.22 new_primModNatS1(Succ(Zero), Succ(vyv291000)) -> Succ(Zero) 248.74/165.22 new_primModNatS1(Zero, vyv29100) -> Zero 248.74/165.22 new_primMinusNatS2(Zero, Zero) -> Zero 248.74/165.22 new_primMinusNatS2(Zero, Succ(vyv3110)) -> Zero 248.74/165.22 new_primMinusNatS2(Succ(vyv3100), Zero) -> Succ(vyv3100) 248.74/165.22 new_esEs(Pos(Succ(vyv24100))) -> new_primEqInt(Pos(Succ(vyv24100))) 248.74/165.22 new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) 248.74/165.22 new_primEqInt(Pos(Zero)) -> True 248.74/165.22 new_primEqInt(Pos(Succ(vyv242000))) -> False 248.74/165.22 248.74/165.22 The set Q consists of the following terms: 248.74/165.22 248.74/165.22 new_primModNatS1(Succ(Zero), Succ(x0)) 248.74/165.22 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 248.74/165.22 new_primEqInt(Pos(Zero)) 248.74/165.22 new_primModNatS02(x0, x1) 248.74/165.22 new_primModNatS01(x0, x1, Succ(x2), Zero) 248.74/165.22 new_primModNatS01(x0, x1, Zero, Succ(x2)) 248.74/165.22 new_primMinusNatS2(Zero, Zero) 248.74/165.22 new_esEs(Neg(Succ(x0))) 248.74/165.22 new_primMinusNatS2(Zero, Succ(x0)) 248.74/165.22 new_primModNatS1(Succ(Zero), Zero) 248.74/165.22 new_esEs(Pos(Zero)) 248.74/165.22 new_primEqInt(Neg(Succ(x0))) 248.74/165.22 new_primMinusNatS2(Succ(x0), Zero) 248.74/165.22 new_primEqInt(Neg(Zero)) 248.74/165.22 new_primModNatS01(x0, x1, Zero, Zero) 248.74/165.22 new_primEqInt(Pos(Succ(x0))) 248.74/165.22 new_primMinusNatS2(Succ(x0), Succ(x1)) 248.74/165.22 new_primModNatS1(Succ(Succ(x0)), Zero) 248.74/165.22 new_primModNatS1(Zero, x0) 248.74/165.22 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 248.74/165.22 new_esEs(Neg(Zero)) 248.74/165.22 new_esEs(Pos(Succ(x0))) 248.74/165.22 248.74/165.22 We have to consider all minimal (P,Q,R)-chains. 248.74/165.22 ---------------------------------------- 248.74/165.22 248.74/165.22 (454) TransformationProof (EQUIVALENT) 248.74/165.22 By rewriting [LPAR04] the rule new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS02(Succ(Zero), Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) at position [0,0,0] we obtained the following new rules [LPAR04]: 248.74/165.22 248.74/165.22 (new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(Zero)), Succ(Succ(Zero))), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))),new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(Zero)), Succ(Succ(Zero))), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))))) 248.74/165.22 248.74/165.22 248.74/165.22 ---------------------------------------- 248.74/165.22 248.74/165.22 (455) 248.74/165.22 Obligation: 248.74/165.22 Q DP problem: 248.74/165.22 The TRS P consists of the following rules: 248.74/165.22 248.74/165.22 new_gcd0Gcd'1(False, Pos(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Pos(Succ(Succ(x1))), Pos(new_primModNatS01(x0, x1, x0, x1))) 248.74/165.22 new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 248.74/165.22 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) 248.74/165.22 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) 248.74/165.22 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) 248.74/165.22 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Pos(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 248.74/165.22 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(Zero)), Succ(Succ(Zero))), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) 248.74/165.22 248.74/165.22 The TRS R consists of the following rules: 248.74/165.22 248.74/165.22 new_primModNatS1(Succ(Succ(vyv292000)), Succ(vyv291000)) -> new_primModNatS01(vyv292000, vyv291000, vyv292000, vyv291000) 248.74/165.22 new_primModNatS01(vyv330, vyv331, Zero, Zero) -> new_primModNatS02(vyv330, vyv331) 248.74/165.22 new_primModNatS02(vyv330, vyv331) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv330), Succ(vyv331)), Succ(vyv331)) 248.74/165.22 new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Succ(vyv3330)) -> new_primModNatS01(vyv330, vyv331, vyv3320, vyv3330) 248.74/165.22 new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Zero) -> new_primModNatS02(vyv330, vyv331) 248.74/165.22 new_primModNatS01(vyv330, vyv331, Zero, Succ(vyv3330)) -> Succ(Succ(vyv330)) 248.74/165.22 new_primMinusNatS2(Succ(vyv3100), Succ(vyv3110)) -> new_primMinusNatS2(vyv3100, vyv3110) 248.74/165.22 new_primModNatS1(Succ(Zero), Succ(vyv291000)) -> Succ(Zero) 248.74/165.22 new_primModNatS1(Zero, vyv29100) -> Zero 248.74/165.22 new_primMinusNatS2(Zero, Zero) -> Zero 248.74/165.22 new_primMinusNatS2(Zero, Succ(vyv3110)) -> Zero 248.74/165.22 new_primMinusNatS2(Succ(vyv3100), Zero) -> Succ(vyv3100) 248.74/165.22 new_esEs(Pos(Succ(vyv24100))) -> new_primEqInt(Pos(Succ(vyv24100))) 248.74/165.22 new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) 248.74/165.22 new_primEqInt(Pos(Zero)) -> True 248.74/165.22 new_primEqInt(Pos(Succ(vyv242000))) -> False 248.74/165.22 248.74/165.22 The set Q consists of the following terms: 248.74/165.22 248.74/165.22 new_primModNatS1(Succ(Zero), Succ(x0)) 248.74/165.22 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 248.74/165.22 new_primEqInt(Pos(Zero)) 248.74/165.22 new_primModNatS02(x0, x1) 248.74/165.22 new_primModNatS01(x0, x1, Succ(x2), Zero) 248.74/165.22 new_primModNatS01(x0, x1, Zero, Succ(x2)) 248.74/165.22 new_primMinusNatS2(Zero, Zero) 248.74/165.22 new_esEs(Neg(Succ(x0))) 248.74/165.22 new_primMinusNatS2(Zero, Succ(x0)) 248.74/165.22 new_primModNatS1(Succ(Zero), Zero) 248.74/165.22 new_esEs(Pos(Zero)) 248.74/165.22 new_primEqInt(Neg(Succ(x0))) 248.74/165.22 new_primMinusNatS2(Succ(x0), Zero) 248.74/165.22 new_primEqInt(Neg(Zero)) 248.74/165.22 new_primModNatS01(x0, x1, Zero, Zero) 248.74/165.22 new_primEqInt(Pos(Succ(x0))) 248.74/165.22 new_primMinusNatS2(Succ(x0), Succ(x1)) 248.74/165.22 new_primModNatS1(Succ(Succ(x0)), Zero) 248.74/165.22 new_primModNatS1(Zero, x0) 248.74/165.22 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 248.74/165.22 new_esEs(Neg(Zero)) 248.74/165.22 new_esEs(Pos(Succ(x0))) 248.74/165.22 248.74/165.22 We have to consider all minimal (P,Q,R)-chains. 248.74/165.22 ---------------------------------------- 248.74/165.22 248.74/165.22 (456) TransformationProof (EQUIVALENT) 248.74/165.22 By rewriting [LPAR04] the rule new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) at position [0,0,0] we obtained the following new rules [LPAR04]: 248.74/165.22 248.74/165.22 (new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(Succ(x2))), Succ(Succ(Zero))), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))),new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(Succ(x2))), Succ(Succ(Zero))), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))))) 248.74/165.22 248.74/165.22 248.74/165.22 ---------------------------------------- 248.74/165.22 248.74/165.22 (457) 248.74/165.22 Obligation: 248.74/165.22 Q DP problem: 248.74/165.22 The TRS P consists of the following rules: 248.74/165.22 248.74/165.22 new_gcd0Gcd'1(False, Pos(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Pos(Succ(Succ(x1))), Pos(new_primModNatS01(x0, x1, x0, x1))) 248.74/165.22 new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 248.74/165.22 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) 248.74/165.22 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) 248.74/165.22 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Pos(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 248.74/165.22 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(Zero)), Succ(Succ(Zero))), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) 248.74/165.22 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(Succ(x2))), Succ(Succ(Zero))), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) 248.74/165.22 248.74/165.22 The TRS R consists of the following rules: 248.74/165.22 248.74/165.22 new_primModNatS1(Succ(Succ(vyv292000)), Succ(vyv291000)) -> new_primModNatS01(vyv292000, vyv291000, vyv292000, vyv291000) 248.74/165.22 new_primModNatS01(vyv330, vyv331, Zero, Zero) -> new_primModNatS02(vyv330, vyv331) 248.74/165.22 new_primModNatS02(vyv330, vyv331) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv330), Succ(vyv331)), Succ(vyv331)) 248.74/165.22 new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Succ(vyv3330)) -> new_primModNatS01(vyv330, vyv331, vyv3320, vyv3330) 248.74/165.22 new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Zero) -> new_primModNatS02(vyv330, vyv331) 248.74/165.22 new_primModNatS01(vyv330, vyv331, Zero, Succ(vyv3330)) -> Succ(Succ(vyv330)) 248.74/165.22 new_primMinusNatS2(Succ(vyv3100), Succ(vyv3110)) -> new_primMinusNatS2(vyv3100, vyv3110) 248.74/165.22 new_primModNatS1(Succ(Zero), Succ(vyv291000)) -> Succ(Zero) 248.74/165.22 new_primModNatS1(Zero, vyv29100) -> Zero 248.74/165.22 new_primMinusNatS2(Zero, Zero) -> Zero 248.74/165.22 new_primMinusNatS2(Zero, Succ(vyv3110)) -> Zero 248.74/165.22 new_primMinusNatS2(Succ(vyv3100), Zero) -> Succ(vyv3100) 248.74/165.22 new_esEs(Pos(Succ(vyv24100))) -> new_primEqInt(Pos(Succ(vyv24100))) 248.74/165.22 new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) 248.74/165.22 new_primEqInt(Pos(Zero)) -> True 248.74/165.22 new_primEqInt(Pos(Succ(vyv242000))) -> False 248.74/165.22 248.74/165.22 The set Q consists of the following terms: 248.74/165.22 248.74/165.22 new_primModNatS1(Succ(Zero), Succ(x0)) 248.74/165.22 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 248.74/165.22 new_primEqInt(Pos(Zero)) 248.74/165.22 new_primModNatS02(x0, x1) 248.74/165.22 new_primModNatS01(x0, x1, Succ(x2), Zero) 248.74/165.22 new_primModNatS01(x0, x1, Zero, Succ(x2)) 248.74/165.22 new_primMinusNatS2(Zero, Zero) 248.74/165.22 new_esEs(Neg(Succ(x0))) 248.74/165.22 new_primMinusNatS2(Zero, Succ(x0)) 248.74/165.22 new_primModNatS1(Succ(Zero), Zero) 248.74/165.22 new_esEs(Pos(Zero)) 248.74/165.22 new_primEqInt(Neg(Succ(x0))) 248.74/165.22 new_primMinusNatS2(Succ(x0), Zero) 248.74/165.22 new_primEqInt(Neg(Zero)) 248.74/165.22 new_primModNatS01(x0, x1, Zero, Zero) 248.74/165.22 new_primEqInt(Pos(Succ(x0))) 248.74/165.22 new_primMinusNatS2(Succ(x0), Succ(x1)) 248.74/165.22 new_primModNatS1(Succ(Succ(x0)), Zero) 248.74/165.22 new_primModNatS1(Zero, x0) 248.74/165.22 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 248.74/165.22 new_esEs(Neg(Zero)) 248.74/165.22 new_esEs(Pos(Succ(x0))) 248.74/165.22 248.74/165.22 We have to consider all minimal (P,Q,R)-chains. 248.74/165.22 ---------------------------------------- 248.74/165.22 248.74/165.22 (458) TransformationProof (EQUIVALENT) 248.74/165.22 By rewriting [LPAR04] the rule new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Pos(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) at position [0] we obtained the following new rules [LPAR04]: 248.74/165.22 248.74/165.22 (new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_primEqInt(Pos(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))),new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_primEqInt(Pos(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))))) 248.74/165.22 248.74/165.22 248.74/165.22 ---------------------------------------- 248.74/165.22 248.74/165.22 (459) 248.74/165.22 Obligation: 248.74/165.22 Q DP problem: 248.74/165.22 The TRS P consists of the following rules: 248.74/165.22 248.74/165.22 new_gcd0Gcd'1(False, Pos(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Pos(Succ(Succ(x1))), Pos(new_primModNatS01(x0, x1, x0, x1))) 248.74/165.22 new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 248.74/165.22 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) 248.74/165.22 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) 248.74/165.22 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(Zero)), Succ(Succ(Zero))), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) 248.74/165.22 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(Succ(x2))), Succ(Succ(Zero))), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) 248.74/165.22 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_primEqInt(Pos(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 248.74/165.22 248.74/165.22 The TRS R consists of the following rules: 248.74/165.22 248.74/165.22 new_primModNatS1(Succ(Succ(vyv292000)), Succ(vyv291000)) -> new_primModNatS01(vyv292000, vyv291000, vyv292000, vyv291000) 248.74/165.22 new_primModNatS01(vyv330, vyv331, Zero, Zero) -> new_primModNatS02(vyv330, vyv331) 248.74/165.22 new_primModNatS02(vyv330, vyv331) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv330), Succ(vyv331)), Succ(vyv331)) 248.74/165.22 new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Succ(vyv3330)) -> new_primModNatS01(vyv330, vyv331, vyv3320, vyv3330) 248.74/165.22 new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Zero) -> new_primModNatS02(vyv330, vyv331) 248.74/165.22 new_primModNatS01(vyv330, vyv331, Zero, Succ(vyv3330)) -> Succ(Succ(vyv330)) 248.74/165.22 new_primMinusNatS2(Succ(vyv3100), Succ(vyv3110)) -> new_primMinusNatS2(vyv3100, vyv3110) 248.74/165.22 new_primModNatS1(Succ(Zero), Succ(vyv291000)) -> Succ(Zero) 248.74/165.22 new_primModNatS1(Zero, vyv29100) -> Zero 248.74/165.22 new_primMinusNatS2(Zero, Zero) -> Zero 248.74/165.22 new_primMinusNatS2(Zero, Succ(vyv3110)) -> Zero 248.74/165.22 new_primMinusNatS2(Succ(vyv3100), Zero) -> Succ(vyv3100) 248.74/165.22 new_esEs(Pos(Succ(vyv24100))) -> new_primEqInt(Pos(Succ(vyv24100))) 248.74/165.22 new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) 248.74/165.22 new_primEqInt(Pos(Zero)) -> True 248.74/165.22 new_primEqInt(Pos(Succ(vyv242000))) -> False 248.74/165.22 248.74/165.22 The set Q consists of the following terms: 248.74/165.22 248.74/165.22 new_primModNatS1(Succ(Zero), Succ(x0)) 248.74/165.22 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 248.74/165.22 new_primEqInt(Pos(Zero)) 248.74/165.22 new_primModNatS02(x0, x1) 248.74/165.22 new_primModNatS01(x0, x1, Succ(x2), Zero) 248.74/165.22 new_primModNatS01(x0, x1, Zero, Succ(x2)) 248.74/165.22 new_primMinusNatS2(Zero, Zero) 248.74/165.22 new_esEs(Neg(Succ(x0))) 248.74/165.22 new_primMinusNatS2(Zero, Succ(x0)) 248.74/165.22 new_primModNatS1(Succ(Zero), Zero) 248.74/165.22 new_esEs(Pos(Zero)) 248.74/165.22 new_primEqInt(Neg(Succ(x0))) 248.74/165.22 new_primMinusNatS2(Succ(x0), Zero) 248.74/165.22 new_primEqInt(Neg(Zero)) 248.74/165.22 new_primModNatS01(x0, x1, Zero, Zero) 248.74/165.22 new_primEqInt(Pos(Succ(x0))) 248.74/165.22 new_primMinusNatS2(Succ(x0), Succ(x1)) 248.74/165.22 new_primModNatS1(Succ(Succ(x0)), Zero) 248.74/165.22 new_primModNatS1(Zero, x0) 248.74/165.22 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 248.74/165.22 new_esEs(Neg(Zero)) 248.74/165.22 new_esEs(Pos(Succ(x0))) 248.74/165.22 248.74/165.22 We have to consider all minimal (P,Q,R)-chains. 248.74/165.22 ---------------------------------------- 248.74/165.22 248.74/165.22 (460) TransformationProof (EQUIVALENT) 248.74/165.22 By rewriting [LPAR04] the rule new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(Zero)), Succ(Succ(Zero))), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) at position [0,0,0,0] we obtained the following new rules [LPAR04]: 248.74/165.22 248.74/165.22 (new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS2(Succ(Zero), Succ(Zero)), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))),new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS2(Succ(Zero), Succ(Zero)), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))))) 248.74/165.22 248.74/165.22 248.74/165.22 ---------------------------------------- 248.74/165.22 248.74/165.22 (461) 248.74/165.22 Obligation: 248.74/165.22 Q DP problem: 248.74/165.22 The TRS P consists of the following rules: 248.74/165.22 248.74/165.22 new_gcd0Gcd'1(False, Pos(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Pos(Succ(Succ(x1))), Pos(new_primModNatS01(x0, x1, x0, x1))) 248.74/165.22 new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 248.74/165.22 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) 248.74/165.22 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) 248.74/165.22 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(Succ(x2))), Succ(Succ(Zero))), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) 248.74/165.22 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_primEqInt(Pos(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 248.74/165.22 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS2(Succ(Zero), Succ(Zero)), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) 248.74/165.22 248.74/165.22 The TRS R consists of the following rules: 248.74/165.22 248.74/165.22 new_primModNatS1(Succ(Succ(vyv292000)), Succ(vyv291000)) -> new_primModNatS01(vyv292000, vyv291000, vyv292000, vyv291000) 248.74/165.22 new_primModNatS01(vyv330, vyv331, Zero, Zero) -> new_primModNatS02(vyv330, vyv331) 248.74/165.22 new_primModNatS02(vyv330, vyv331) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv330), Succ(vyv331)), Succ(vyv331)) 248.74/165.22 new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Succ(vyv3330)) -> new_primModNatS01(vyv330, vyv331, vyv3320, vyv3330) 248.74/165.22 new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Zero) -> new_primModNatS02(vyv330, vyv331) 248.74/165.22 new_primModNatS01(vyv330, vyv331, Zero, Succ(vyv3330)) -> Succ(Succ(vyv330)) 248.74/165.22 new_primMinusNatS2(Succ(vyv3100), Succ(vyv3110)) -> new_primMinusNatS2(vyv3100, vyv3110) 248.74/165.22 new_primModNatS1(Succ(Zero), Succ(vyv291000)) -> Succ(Zero) 248.74/165.22 new_primModNatS1(Zero, vyv29100) -> Zero 248.74/165.22 new_primMinusNatS2(Zero, Zero) -> Zero 248.74/165.22 new_primMinusNatS2(Zero, Succ(vyv3110)) -> Zero 248.74/165.22 new_primMinusNatS2(Succ(vyv3100), Zero) -> Succ(vyv3100) 248.74/165.22 new_esEs(Pos(Succ(vyv24100))) -> new_primEqInt(Pos(Succ(vyv24100))) 248.74/165.22 new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) 248.74/165.22 new_primEqInt(Pos(Zero)) -> True 248.74/165.22 new_primEqInt(Pos(Succ(vyv242000))) -> False 248.74/165.22 248.74/165.22 The set Q consists of the following terms: 248.74/165.22 248.74/165.22 new_primModNatS1(Succ(Zero), Succ(x0)) 248.74/165.22 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 248.74/165.22 new_primEqInt(Pos(Zero)) 248.74/165.22 new_primModNatS02(x0, x1) 248.74/165.22 new_primModNatS01(x0, x1, Succ(x2), Zero) 248.74/165.22 new_primModNatS01(x0, x1, Zero, Succ(x2)) 248.74/165.22 new_primMinusNatS2(Zero, Zero) 248.74/165.22 new_esEs(Neg(Succ(x0))) 248.74/165.22 new_primMinusNatS2(Zero, Succ(x0)) 248.74/165.22 new_primModNatS1(Succ(Zero), Zero) 248.74/165.22 new_esEs(Pos(Zero)) 248.74/165.22 new_primEqInt(Neg(Succ(x0))) 248.74/165.22 new_primMinusNatS2(Succ(x0), Zero) 248.74/165.22 new_primEqInt(Neg(Zero)) 248.74/165.22 new_primModNatS01(x0, x1, Zero, Zero) 248.74/165.22 new_primEqInt(Pos(Succ(x0))) 248.74/165.22 new_primMinusNatS2(Succ(x0), Succ(x1)) 248.74/165.22 new_primModNatS1(Succ(Succ(x0)), Zero) 248.74/165.22 new_primModNatS1(Zero, x0) 248.74/165.22 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 248.74/165.22 new_esEs(Neg(Zero)) 248.74/165.22 new_esEs(Pos(Succ(x0))) 248.74/165.22 248.74/165.22 We have to consider all minimal (P,Q,R)-chains. 248.74/165.22 ---------------------------------------- 248.74/165.22 248.74/165.22 (462) TransformationProof (EQUIVALENT) 248.74/165.22 By rewriting [LPAR04] the rule new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(Succ(x2))), Succ(Succ(Zero))), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) at position [0,0,0,0] we obtained the following new rules [LPAR04]: 248.74/165.22 248.74/165.22 (new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))),new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))))) 248.74/165.22 248.74/165.22 248.74/165.22 ---------------------------------------- 248.74/165.22 248.74/165.22 (463) 248.74/165.22 Obligation: 248.74/165.22 Q DP problem: 248.74/165.22 The TRS P consists of the following rules: 248.74/165.22 248.74/165.22 new_gcd0Gcd'1(False, Pos(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Pos(Succ(Succ(x1))), Pos(new_primModNatS01(x0, x1, x0, x1))) 248.74/165.22 new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 248.74/165.22 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) 248.74/165.22 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) 248.74/165.22 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_primEqInt(Pos(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 248.74/165.22 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS2(Succ(Zero), Succ(Zero)), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) 248.74/165.22 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) 248.74/165.22 248.74/165.22 The TRS R consists of the following rules: 248.74/165.22 248.74/165.22 new_primModNatS1(Succ(Succ(vyv292000)), Succ(vyv291000)) -> new_primModNatS01(vyv292000, vyv291000, vyv292000, vyv291000) 248.74/165.22 new_primModNatS01(vyv330, vyv331, Zero, Zero) -> new_primModNatS02(vyv330, vyv331) 248.74/165.22 new_primModNatS02(vyv330, vyv331) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv330), Succ(vyv331)), Succ(vyv331)) 248.74/165.22 new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Succ(vyv3330)) -> new_primModNatS01(vyv330, vyv331, vyv3320, vyv3330) 248.74/165.22 new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Zero) -> new_primModNatS02(vyv330, vyv331) 248.74/165.22 new_primModNatS01(vyv330, vyv331, Zero, Succ(vyv3330)) -> Succ(Succ(vyv330)) 248.74/165.22 new_primMinusNatS2(Succ(vyv3100), Succ(vyv3110)) -> new_primMinusNatS2(vyv3100, vyv3110) 248.74/165.22 new_primModNatS1(Succ(Zero), Succ(vyv291000)) -> Succ(Zero) 248.74/165.22 new_primModNatS1(Zero, vyv29100) -> Zero 248.74/165.22 new_primMinusNatS2(Zero, Zero) -> Zero 248.74/165.22 new_primMinusNatS2(Zero, Succ(vyv3110)) -> Zero 248.74/165.22 new_primMinusNatS2(Succ(vyv3100), Zero) -> Succ(vyv3100) 248.74/165.22 new_esEs(Pos(Succ(vyv24100))) -> new_primEqInt(Pos(Succ(vyv24100))) 248.74/165.22 new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) 248.74/165.22 new_primEqInt(Pos(Zero)) -> True 248.74/165.22 new_primEqInt(Pos(Succ(vyv242000))) -> False 248.74/165.22 248.74/165.22 The set Q consists of the following terms: 248.74/165.22 248.74/165.22 new_primModNatS1(Succ(Zero), Succ(x0)) 248.74/165.22 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 248.74/165.22 new_primEqInt(Pos(Zero)) 248.74/165.22 new_primModNatS02(x0, x1) 248.74/165.22 new_primModNatS01(x0, x1, Succ(x2), Zero) 248.74/165.22 new_primModNatS01(x0, x1, Zero, Succ(x2)) 248.74/165.22 new_primMinusNatS2(Zero, Zero) 248.74/165.22 new_esEs(Neg(Succ(x0))) 248.74/165.22 new_primMinusNatS2(Zero, Succ(x0)) 248.74/165.22 new_primModNatS1(Succ(Zero), Zero) 248.74/165.22 new_esEs(Pos(Zero)) 248.74/165.22 new_primEqInt(Neg(Succ(x0))) 248.74/165.22 new_primMinusNatS2(Succ(x0), Zero) 248.74/165.22 new_primEqInt(Neg(Zero)) 248.74/165.22 new_primModNatS01(x0, x1, Zero, Zero) 248.74/165.22 new_primEqInt(Pos(Succ(x0))) 248.74/165.22 new_primMinusNatS2(Succ(x0), Succ(x1)) 248.74/165.22 new_primModNatS1(Succ(Succ(x0)), Zero) 248.74/165.22 new_primModNatS1(Zero, x0) 248.74/165.22 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 248.74/165.22 new_esEs(Neg(Zero)) 248.74/165.22 new_esEs(Pos(Succ(x0))) 248.74/165.22 248.74/165.22 We have to consider all minimal (P,Q,R)-chains. 248.74/165.22 ---------------------------------------- 248.74/165.22 248.74/165.22 (464) TransformationProof (EQUIVALENT) 248.74/165.22 By rewriting [LPAR04] the rule new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_primEqInt(Pos(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) at position [0] we obtained the following new rules [LPAR04]: 248.74/165.22 248.74/165.22 (new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))),new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))))) 248.74/165.22 248.74/165.22 248.74/165.22 ---------------------------------------- 248.74/165.22 248.74/165.22 (465) 248.74/165.22 Obligation: 248.74/165.22 Q DP problem: 248.74/165.22 The TRS P consists of the following rules: 248.74/165.22 248.74/165.22 new_gcd0Gcd'1(False, Pos(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Pos(Succ(Succ(x1))), Pos(new_primModNatS01(x0, x1, x0, x1))) 248.74/165.22 new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 248.74/165.22 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) 248.74/165.22 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) 248.74/165.22 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS2(Succ(Zero), Succ(Zero)), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) 248.74/165.22 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) 248.74/165.22 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 248.74/165.22 248.74/165.22 The TRS R consists of the following rules: 248.74/165.22 248.74/165.22 new_primModNatS1(Succ(Succ(vyv292000)), Succ(vyv291000)) -> new_primModNatS01(vyv292000, vyv291000, vyv292000, vyv291000) 248.74/165.22 new_primModNatS01(vyv330, vyv331, Zero, Zero) -> new_primModNatS02(vyv330, vyv331) 248.74/165.22 new_primModNatS02(vyv330, vyv331) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv330), Succ(vyv331)), Succ(vyv331)) 248.74/165.22 new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Succ(vyv3330)) -> new_primModNatS01(vyv330, vyv331, vyv3320, vyv3330) 248.74/165.22 new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Zero) -> new_primModNatS02(vyv330, vyv331) 248.74/165.22 new_primModNatS01(vyv330, vyv331, Zero, Succ(vyv3330)) -> Succ(Succ(vyv330)) 248.74/165.22 new_primMinusNatS2(Succ(vyv3100), Succ(vyv3110)) -> new_primMinusNatS2(vyv3100, vyv3110) 248.74/165.22 new_primModNatS1(Succ(Zero), Succ(vyv291000)) -> Succ(Zero) 248.74/165.22 new_primModNatS1(Zero, vyv29100) -> Zero 248.74/165.22 new_primMinusNatS2(Zero, Zero) -> Zero 248.74/165.22 new_primMinusNatS2(Zero, Succ(vyv3110)) -> Zero 248.74/165.22 new_primMinusNatS2(Succ(vyv3100), Zero) -> Succ(vyv3100) 248.74/165.22 new_esEs(Pos(Succ(vyv24100))) -> new_primEqInt(Pos(Succ(vyv24100))) 248.74/165.22 new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) 248.74/165.22 new_primEqInt(Pos(Zero)) -> True 248.74/165.22 new_primEqInt(Pos(Succ(vyv242000))) -> False 248.74/165.22 248.74/165.22 The set Q consists of the following terms: 248.74/165.22 248.74/165.22 new_primModNatS1(Succ(Zero), Succ(x0)) 248.74/165.22 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 248.74/165.22 new_primEqInt(Pos(Zero)) 248.74/165.22 new_primModNatS02(x0, x1) 248.74/165.22 new_primModNatS01(x0, x1, Succ(x2), Zero) 248.74/165.22 new_primModNatS01(x0, x1, Zero, Succ(x2)) 248.74/165.22 new_primMinusNatS2(Zero, Zero) 248.74/165.22 new_esEs(Neg(Succ(x0))) 248.74/165.22 new_primMinusNatS2(Zero, Succ(x0)) 248.74/165.22 new_primModNatS1(Succ(Zero), Zero) 248.74/165.22 new_esEs(Pos(Zero)) 248.74/165.22 new_primEqInt(Neg(Succ(x0))) 248.74/165.22 new_primMinusNatS2(Succ(x0), Zero) 248.74/165.22 new_primEqInt(Neg(Zero)) 248.74/165.22 new_primModNatS01(x0, x1, Zero, Zero) 248.74/165.22 new_primEqInt(Pos(Succ(x0))) 248.74/165.22 new_primMinusNatS2(Succ(x0), Succ(x1)) 248.74/165.22 new_primModNatS1(Succ(Succ(x0)), Zero) 248.74/165.22 new_primModNatS1(Zero, x0) 248.74/165.22 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 248.74/165.22 new_esEs(Neg(Zero)) 248.74/165.22 new_esEs(Pos(Succ(x0))) 248.74/165.22 248.74/165.22 We have to consider all minimal (P,Q,R)-chains. 248.74/165.22 ---------------------------------------- 248.74/165.22 248.74/165.22 (466) TransformationProof (EQUIVALENT) 248.74/165.22 By rewriting [LPAR04] the rule new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS2(Succ(Zero), Succ(Zero)), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) at position [0,0,0,0] we obtained the following new rules [LPAR04]: 248.74/165.22 248.74/165.22 (new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS2(Zero, Zero), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))),new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS2(Zero, Zero), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))))) 248.74/165.22 248.74/165.22 248.74/165.22 ---------------------------------------- 248.74/165.22 248.74/165.22 (467) 248.74/165.22 Obligation: 248.74/165.22 Q DP problem: 248.74/165.22 The TRS P consists of the following rules: 248.74/165.22 248.74/165.22 new_gcd0Gcd'1(False, Pos(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Pos(Succ(Succ(x1))), Pos(new_primModNatS01(x0, x1, x0, x1))) 248.74/165.22 new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 248.74/165.22 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) 248.74/165.22 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) 248.74/165.22 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) 248.74/165.22 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 248.74/165.22 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS2(Zero, Zero), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) 248.74/165.22 248.74/165.22 The TRS R consists of the following rules: 248.74/165.22 248.74/165.22 new_primModNatS1(Succ(Succ(vyv292000)), Succ(vyv291000)) -> new_primModNatS01(vyv292000, vyv291000, vyv292000, vyv291000) 248.74/165.22 new_primModNatS01(vyv330, vyv331, Zero, Zero) -> new_primModNatS02(vyv330, vyv331) 248.74/165.22 new_primModNatS02(vyv330, vyv331) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv330), Succ(vyv331)), Succ(vyv331)) 248.74/165.22 new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Succ(vyv3330)) -> new_primModNatS01(vyv330, vyv331, vyv3320, vyv3330) 248.74/165.22 new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Zero) -> new_primModNatS02(vyv330, vyv331) 248.74/165.22 new_primModNatS01(vyv330, vyv331, Zero, Succ(vyv3330)) -> Succ(Succ(vyv330)) 248.74/165.22 new_primMinusNatS2(Succ(vyv3100), Succ(vyv3110)) -> new_primMinusNatS2(vyv3100, vyv3110) 248.74/165.22 new_primModNatS1(Succ(Zero), Succ(vyv291000)) -> Succ(Zero) 248.74/165.22 new_primModNatS1(Zero, vyv29100) -> Zero 248.74/165.22 new_primMinusNatS2(Zero, Zero) -> Zero 248.74/165.22 new_primMinusNatS2(Zero, Succ(vyv3110)) -> Zero 248.74/165.22 new_primMinusNatS2(Succ(vyv3100), Zero) -> Succ(vyv3100) 248.74/165.22 new_esEs(Pos(Succ(vyv24100))) -> new_primEqInt(Pos(Succ(vyv24100))) 248.74/165.22 new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) 248.74/165.22 new_primEqInt(Pos(Zero)) -> True 248.74/165.22 new_primEqInt(Pos(Succ(vyv242000))) -> False 248.74/165.22 248.74/165.22 The set Q consists of the following terms: 248.74/165.22 248.74/165.22 new_primModNatS1(Succ(Zero), Succ(x0)) 248.74/165.22 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 248.74/165.22 new_primEqInt(Pos(Zero)) 248.74/165.22 new_primModNatS02(x0, x1) 248.74/165.22 new_primModNatS01(x0, x1, Succ(x2), Zero) 248.74/165.22 new_primModNatS01(x0, x1, Zero, Succ(x2)) 248.74/165.22 new_primMinusNatS2(Zero, Zero) 248.74/165.22 new_esEs(Neg(Succ(x0))) 248.74/165.22 new_primMinusNatS2(Zero, Succ(x0)) 248.74/165.22 new_primModNatS1(Succ(Zero), Zero) 248.74/165.22 new_esEs(Pos(Zero)) 248.74/165.22 new_primEqInt(Neg(Succ(x0))) 248.74/165.22 new_primMinusNatS2(Succ(x0), Zero) 248.74/165.22 new_primEqInt(Neg(Zero)) 248.74/165.22 new_primModNatS01(x0, x1, Zero, Zero) 248.74/165.22 new_primEqInt(Pos(Succ(x0))) 248.74/165.22 new_primMinusNatS2(Succ(x0), Succ(x1)) 248.74/165.22 new_primModNatS1(Succ(Succ(x0)), Zero) 248.74/165.22 new_primModNatS1(Zero, x0) 248.74/165.22 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 248.74/165.22 new_esEs(Neg(Zero)) 248.74/165.22 new_esEs(Pos(Succ(x0))) 248.74/165.22 248.74/165.22 We have to consider all minimal (P,Q,R)-chains. 248.74/165.22 ---------------------------------------- 248.74/165.22 248.74/165.22 (468) TransformationProof (EQUIVALENT) 248.74/165.22 By rewriting [LPAR04] the rule new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) at position [0,0,0,0] we obtained the following new rules [LPAR04]: 248.74/165.22 248.74/165.22 (new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))),new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))))) 248.74/165.22 248.74/165.22 248.74/165.22 ---------------------------------------- 248.74/165.22 248.74/165.22 (469) 248.74/165.22 Obligation: 248.74/165.22 Q DP problem: 248.74/165.22 The TRS P consists of the following rules: 248.74/165.22 248.74/165.22 new_gcd0Gcd'1(False, Pos(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Pos(Succ(Succ(x1))), Pos(new_primModNatS01(x0, x1, x0, x1))) 248.74/165.22 new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 248.74/165.22 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) 248.74/165.22 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) 248.74/165.22 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 248.74/165.22 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS2(Zero, Zero), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) 248.74/165.22 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) 248.74/165.22 248.74/165.22 The TRS R consists of the following rules: 248.74/165.22 248.74/165.22 new_primModNatS1(Succ(Succ(vyv292000)), Succ(vyv291000)) -> new_primModNatS01(vyv292000, vyv291000, vyv292000, vyv291000) 248.74/165.22 new_primModNatS01(vyv330, vyv331, Zero, Zero) -> new_primModNatS02(vyv330, vyv331) 248.74/165.22 new_primModNatS02(vyv330, vyv331) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv330), Succ(vyv331)), Succ(vyv331)) 248.74/165.22 new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Succ(vyv3330)) -> new_primModNatS01(vyv330, vyv331, vyv3320, vyv3330) 248.74/165.22 new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Zero) -> new_primModNatS02(vyv330, vyv331) 248.74/165.22 new_primModNatS01(vyv330, vyv331, Zero, Succ(vyv3330)) -> Succ(Succ(vyv330)) 248.74/165.22 new_primMinusNatS2(Succ(vyv3100), Succ(vyv3110)) -> new_primMinusNatS2(vyv3100, vyv3110) 248.74/165.22 new_primModNatS1(Succ(Zero), Succ(vyv291000)) -> Succ(Zero) 248.74/165.22 new_primModNatS1(Zero, vyv29100) -> Zero 248.74/165.22 new_primMinusNatS2(Zero, Zero) -> Zero 248.74/165.22 new_primMinusNatS2(Zero, Succ(vyv3110)) -> Zero 248.74/165.22 new_primMinusNatS2(Succ(vyv3100), Zero) -> Succ(vyv3100) 248.74/165.22 new_esEs(Pos(Succ(vyv24100))) -> new_primEqInt(Pos(Succ(vyv24100))) 248.74/165.22 new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) 248.74/165.22 new_primEqInt(Pos(Zero)) -> True 248.74/165.22 new_primEqInt(Pos(Succ(vyv242000))) -> False 248.74/165.22 248.74/165.22 The set Q consists of the following terms: 248.74/165.22 248.74/165.22 new_primModNatS1(Succ(Zero), Succ(x0)) 248.74/165.22 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 248.74/165.22 new_primEqInt(Pos(Zero)) 248.74/165.22 new_primModNatS02(x0, x1) 248.74/165.22 new_primModNatS01(x0, x1, Succ(x2), Zero) 248.74/165.22 new_primModNatS01(x0, x1, Zero, Succ(x2)) 248.74/165.22 new_primMinusNatS2(Zero, Zero) 248.74/165.22 new_esEs(Neg(Succ(x0))) 248.74/165.22 new_primMinusNatS2(Zero, Succ(x0)) 248.74/165.22 new_primModNatS1(Succ(Zero), Zero) 248.74/165.22 new_esEs(Pos(Zero)) 248.74/165.22 new_primEqInt(Neg(Succ(x0))) 248.74/165.22 new_primMinusNatS2(Succ(x0), Zero) 248.74/165.22 new_primEqInt(Neg(Zero)) 248.74/165.22 new_primModNatS01(x0, x1, Zero, Zero) 248.74/165.22 new_primEqInt(Pos(Succ(x0))) 248.74/165.22 new_primMinusNatS2(Succ(x0), Succ(x1)) 248.74/165.22 new_primModNatS1(Succ(Succ(x0)), Zero) 248.74/165.22 new_primModNatS1(Zero, x0) 248.74/165.22 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 248.74/165.22 new_esEs(Neg(Zero)) 248.74/165.22 new_esEs(Pos(Succ(x0))) 248.74/165.22 248.74/165.22 We have to consider all minimal (P,Q,R)-chains. 248.74/165.22 ---------------------------------------- 248.74/165.22 248.74/165.22 (470) TransformationProof (EQUIVALENT) 248.74/165.22 By rewriting [LPAR04] the rule new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS2(Zero, Zero), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) at position [0,0,0,0] we obtained the following new rules [LPAR04]: 248.74/165.22 248.74/165.22 (new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Zero, Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))),new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Zero, Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))))) 248.74/165.22 248.74/165.22 248.74/165.22 ---------------------------------------- 248.74/165.22 248.74/165.22 (471) 248.74/165.22 Obligation: 248.74/165.22 Q DP problem: 248.74/165.22 The TRS P consists of the following rules: 248.74/165.22 248.74/165.22 new_gcd0Gcd'1(False, Pos(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Pos(Succ(Succ(x1))), Pos(new_primModNatS01(x0, x1, x0, x1))) 248.74/165.22 new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 248.74/165.22 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) 248.74/165.22 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) 248.74/165.22 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 248.74/165.22 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) 248.74/165.22 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Zero, Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) 248.74/165.22 248.74/165.22 The TRS R consists of the following rules: 248.74/165.22 248.74/165.22 new_primModNatS1(Succ(Succ(vyv292000)), Succ(vyv291000)) -> new_primModNatS01(vyv292000, vyv291000, vyv292000, vyv291000) 248.74/165.22 new_primModNatS01(vyv330, vyv331, Zero, Zero) -> new_primModNatS02(vyv330, vyv331) 248.74/165.22 new_primModNatS02(vyv330, vyv331) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv330), Succ(vyv331)), Succ(vyv331)) 248.74/165.22 new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Succ(vyv3330)) -> new_primModNatS01(vyv330, vyv331, vyv3320, vyv3330) 248.74/165.22 new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Zero) -> new_primModNatS02(vyv330, vyv331) 248.74/165.22 new_primModNatS01(vyv330, vyv331, Zero, Succ(vyv3330)) -> Succ(Succ(vyv330)) 248.74/165.22 new_primMinusNatS2(Succ(vyv3100), Succ(vyv3110)) -> new_primMinusNatS2(vyv3100, vyv3110) 248.74/165.22 new_primModNatS1(Succ(Zero), Succ(vyv291000)) -> Succ(Zero) 248.74/165.22 new_primModNatS1(Zero, vyv29100) -> Zero 248.74/165.22 new_primMinusNatS2(Zero, Zero) -> Zero 248.74/165.22 new_primMinusNatS2(Zero, Succ(vyv3110)) -> Zero 248.74/165.22 new_primMinusNatS2(Succ(vyv3100), Zero) -> Succ(vyv3100) 248.74/165.22 new_esEs(Pos(Succ(vyv24100))) -> new_primEqInt(Pos(Succ(vyv24100))) 248.74/165.22 new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) 248.74/165.22 new_primEqInt(Pos(Zero)) -> True 248.74/165.22 new_primEqInt(Pos(Succ(vyv242000))) -> False 248.74/165.22 248.74/165.22 The set Q consists of the following terms: 248.74/165.22 248.74/165.22 new_primModNatS1(Succ(Zero), Succ(x0)) 248.74/165.22 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 248.74/165.22 new_primEqInt(Pos(Zero)) 248.74/165.22 new_primModNatS02(x0, x1) 248.74/165.22 new_primModNatS01(x0, x1, Succ(x2), Zero) 248.74/165.22 new_primModNatS01(x0, x1, Zero, Succ(x2)) 248.74/165.22 new_primMinusNatS2(Zero, Zero) 248.74/165.22 new_esEs(Neg(Succ(x0))) 248.74/165.22 new_primMinusNatS2(Zero, Succ(x0)) 248.74/165.22 new_primModNatS1(Succ(Zero), Zero) 248.74/165.22 new_esEs(Pos(Zero)) 248.74/165.22 new_primEqInt(Neg(Succ(x0))) 248.74/165.22 new_primMinusNatS2(Succ(x0), Zero) 248.74/165.22 new_primEqInt(Neg(Zero)) 248.74/165.22 new_primModNatS01(x0, x1, Zero, Zero) 248.74/165.22 new_primEqInt(Pos(Succ(x0))) 248.74/165.22 new_primMinusNatS2(Succ(x0), Succ(x1)) 248.74/165.22 new_primModNatS1(Succ(Succ(x0)), Zero) 248.74/165.22 new_primModNatS1(Zero, x0) 248.74/165.22 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 248.74/165.22 new_esEs(Neg(Zero)) 248.74/165.22 new_esEs(Pos(Succ(x0))) 248.74/165.22 248.74/165.22 We have to consider all minimal (P,Q,R)-chains. 248.74/165.22 ---------------------------------------- 248.74/165.22 248.74/165.22 (472) TransformationProof (EQUIVALENT) 248.74/165.22 By rewriting [LPAR04] the rule new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) at position [0,0,0,0] we obtained the following new rules [LPAR04]: 248.74/165.22 248.74/165.22 (new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))),new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))))) 248.74/165.22 248.74/165.22 248.74/165.22 ---------------------------------------- 248.74/165.22 248.74/165.22 (473) 248.74/165.22 Obligation: 248.74/165.22 Q DP problem: 248.74/165.22 The TRS P consists of the following rules: 248.74/165.22 248.74/165.22 new_gcd0Gcd'1(False, Pos(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Pos(Succ(Succ(x1))), Pos(new_primModNatS01(x0, x1, x0, x1))) 248.74/165.22 new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 248.74/165.22 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) 248.74/165.22 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) 248.74/165.22 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 248.74/165.22 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Zero, Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) 248.74/165.22 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) 248.74/165.22 248.74/165.22 The TRS R consists of the following rules: 248.74/165.22 248.74/165.22 new_primModNatS1(Succ(Succ(vyv292000)), Succ(vyv291000)) -> new_primModNatS01(vyv292000, vyv291000, vyv292000, vyv291000) 248.74/165.22 new_primModNatS01(vyv330, vyv331, Zero, Zero) -> new_primModNatS02(vyv330, vyv331) 248.74/165.22 new_primModNatS02(vyv330, vyv331) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv330), Succ(vyv331)), Succ(vyv331)) 248.74/165.22 new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Succ(vyv3330)) -> new_primModNatS01(vyv330, vyv331, vyv3320, vyv3330) 248.74/165.22 new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Zero) -> new_primModNatS02(vyv330, vyv331) 248.74/165.22 new_primModNatS01(vyv330, vyv331, Zero, Succ(vyv3330)) -> Succ(Succ(vyv330)) 248.74/165.22 new_primMinusNatS2(Succ(vyv3100), Succ(vyv3110)) -> new_primMinusNatS2(vyv3100, vyv3110) 248.74/165.22 new_primModNatS1(Succ(Zero), Succ(vyv291000)) -> Succ(Zero) 248.74/165.22 new_primModNatS1(Zero, vyv29100) -> Zero 248.74/165.22 new_primMinusNatS2(Zero, Zero) -> Zero 248.74/165.22 new_primMinusNatS2(Zero, Succ(vyv3110)) -> Zero 248.74/165.22 new_primMinusNatS2(Succ(vyv3100), Zero) -> Succ(vyv3100) 248.74/165.22 new_esEs(Pos(Succ(vyv24100))) -> new_primEqInt(Pos(Succ(vyv24100))) 248.74/165.22 new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) 248.74/165.22 new_primEqInt(Pos(Zero)) -> True 248.74/165.22 new_primEqInt(Pos(Succ(vyv242000))) -> False 248.74/165.22 248.74/165.22 The set Q consists of the following terms: 248.74/165.22 248.74/165.22 new_primModNatS1(Succ(Zero), Succ(x0)) 248.74/165.22 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 248.74/165.22 new_primEqInt(Pos(Zero)) 248.74/165.22 new_primModNatS02(x0, x1) 248.74/165.22 new_primModNatS01(x0, x1, Succ(x2), Zero) 248.74/165.22 new_primModNatS01(x0, x1, Zero, Succ(x2)) 248.74/165.22 new_primMinusNatS2(Zero, Zero) 248.74/165.22 new_esEs(Neg(Succ(x0))) 248.74/165.22 new_primMinusNatS2(Zero, Succ(x0)) 248.74/165.22 new_primModNatS1(Succ(Zero), Zero) 248.74/165.22 new_esEs(Pos(Zero)) 248.74/165.22 new_primEqInt(Neg(Succ(x0))) 248.74/165.22 new_primMinusNatS2(Succ(x0), Zero) 248.74/165.22 new_primEqInt(Neg(Zero)) 248.74/165.22 new_primModNatS01(x0, x1, Zero, Zero) 248.74/165.22 new_primEqInt(Pos(Succ(x0))) 248.74/165.22 new_primMinusNatS2(Succ(x0), Succ(x1)) 248.74/165.22 new_primModNatS1(Succ(Succ(x0)), Zero) 248.74/165.22 new_primModNatS1(Zero, x0) 248.74/165.22 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 248.74/165.22 new_esEs(Neg(Zero)) 248.74/165.22 new_esEs(Pos(Succ(x0))) 248.74/165.22 248.74/165.22 We have to consider all minimal (P,Q,R)-chains. 248.74/165.22 ---------------------------------------- 248.74/165.22 248.74/165.22 (474) TransformationProof (EQUIVALENT) 248.74/165.22 By rewriting [LPAR04] the rule new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Zero, Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) at position [0,0,0] we obtained the following new rules [LPAR04]: 248.74/165.22 248.74/165.22 (new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))),new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))))) 248.74/165.22 248.74/165.22 248.74/165.22 ---------------------------------------- 248.74/165.22 248.74/165.22 (475) 248.74/165.22 Obligation: 248.74/165.22 Q DP problem: 248.74/165.22 The TRS P consists of the following rules: 248.74/165.22 248.74/165.22 new_gcd0Gcd'1(False, Pos(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Pos(Succ(Succ(x1))), Pos(new_primModNatS01(x0, x1, x0, x1))) 248.74/165.22 new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 248.74/165.22 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) 248.74/165.22 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) 248.74/165.22 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 248.74/165.22 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) 248.74/165.22 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) 248.74/165.22 248.74/165.22 The TRS R consists of the following rules: 248.74/165.22 248.74/165.22 new_primModNatS1(Succ(Succ(vyv292000)), Succ(vyv291000)) -> new_primModNatS01(vyv292000, vyv291000, vyv292000, vyv291000) 248.74/165.22 new_primModNatS01(vyv330, vyv331, Zero, Zero) -> new_primModNatS02(vyv330, vyv331) 248.74/165.22 new_primModNatS02(vyv330, vyv331) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv330), Succ(vyv331)), Succ(vyv331)) 248.74/165.22 new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Succ(vyv3330)) -> new_primModNatS01(vyv330, vyv331, vyv3320, vyv3330) 248.74/165.22 new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Zero) -> new_primModNatS02(vyv330, vyv331) 248.74/165.22 new_primModNatS01(vyv330, vyv331, Zero, Succ(vyv3330)) -> Succ(Succ(vyv330)) 248.74/165.22 new_primMinusNatS2(Succ(vyv3100), Succ(vyv3110)) -> new_primMinusNatS2(vyv3100, vyv3110) 248.74/165.22 new_primModNatS1(Succ(Zero), Succ(vyv291000)) -> Succ(Zero) 248.74/165.22 new_primModNatS1(Zero, vyv29100) -> Zero 248.74/165.22 new_primMinusNatS2(Zero, Zero) -> Zero 248.74/165.22 new_primMinusNatS2(Zero, Succ(vyv3110)) -> Zero 248.74/165.22 new_primMinusNatS2(Succ(vyv3100), Zero) -> Succ(vyv3100) 248.74/165.22 new_esEs(Pos(Succ(vyv24100))) -> new_primEqInt(Pos(Succ(vyv24100))) 248.74/165.22 new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) 248.74/165.22 new_primEqInt(Pos(Zero)) -> True 248.74/165.22 new_primEqInt(Pos(Succ(vyv242000))) -> False 248.74/165.22 248.74/165.22 The set Q consists of the following terms: 248.74/165.22 248.74/165.22 new_primModNatS1(Succ(Zero), Succ(x0)) 248.74/165.22 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 248.74/165.22 new_primEqInt(Pos(Zero)) 248.74/165.22 new_primModNatS02(x0, x1) 248.74/165.22 new_primModNatS01(x0, x1, Succ(x2), Zero) 248.74/165.22 new_primModNatS01(x0, x1, Zero, Succ(x2)) 248.74/165.22 new_primMinusNatS2(Zero, Zero) 248.74/165.22 new_esEs(Neg(Succ(x0))) 248.74/165.22 new_primMinusNatS2(Zero, Succ(x0)) 248.74/165.22 new_primModNatS1(Succ(Zero), Zero) 248.74/165.22 new_esEs(Pos(Zero)) 248.74/165.22 new_primEqInt(Neg(Succ(x0))) 248.74/165.22 new_primMinusNatS2(Succ(x0), Zero) 248.74/165.22 new_primEqInt(Neg(Zero)) 248.74/165.22 new_primModNatS01(x0, x1, Zero, Zero) 248.74/165.22 new_primEqInt(Pos(Succ(x0))) 248.74/165.22 new_primMinusNatS2(Succ(x0), Succ(x1)) 248.74/165.22 new_primModNatS1(Succ(Succ(x0)), Zero) 248.74/165.22 new_primModNatS1(Zero, x0) 248.74/165.22 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 248.74/165.22 new_esEs(Neg(Zero)) 248.74/165.22 new_esEs(Pos(Succ(x0))) 248.74/165.22 248.74/165.22 We have to consider all minimal (P,Q,R)-chains. 248.74/165.22 ---------------------------------------- 248.74/165.22 248.74/165.22 (476) DependencyGraphProof (EQUIVALENT) 248.74/165.22 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. 248.74/165.22 ---------------------------------------- 248.74/165.22 248.74/165.22 (477) 248.74/165.22 Obligation: 248.74/165.22 Q DP problem: 248.74/165.22 The TRS P consists of the following rules: 248.74/165.22 248.74/165.22 new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 248.74/165.22 new_gcd0Gcd'1(False, Pos(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Pos(Succ(Succ(x1))), Pos(new_primModNatS01(x0, x1, x0, x1))) 248.74/165.22 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) 248.74/165.22 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) 248.74/165.22 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 248.74/165.22 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) 248.74/165.22 248.74/165.22 The TRS R consists of the following rules: 248.74/165.22 248.74/165.22 new_primModNatS1(Succ(Succ(vyv292000)), Succ(vyv291000)) -> new_primModNatS01(vyv292000, vyv291000, vyv292000, vyv291000) 248.74/165.22 new_primModNatS01(vyv330, vyv331, Zero, Zero) -> new_primModNatS02(vyv330, vyv331) 248.74/165.22 new_primModNatS02(vyv330, vyv331) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv330), Succ(vyv331)), Succ(vyv331)) 248.74/165.22 new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Succ(vyv3330)) -> new_primModNatS01(vyv330, vyv331, vyv3320, vyv3330) 248.74/165.22 new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Zero) -> new_primModNatS02(vyv330, vyv331) 248.74/165.22 new_primModNatS01(vyv330, vyv331, Zero, Succ(vyv3330)) -> Succ(Succ(vyv330)) 248.74/165.22 new_primMinusNatS2(Succ(vyv3100), Succ(vyv3110)) -> new_primMinusNatS2(vyv3100, vyv3110) 248.74/165.22 new_primModNatS1(Succ(Zero), Succ(vyv291000)) -> Succ(Zero) 248.74/165.22 new_primModNatS1(Zero, vyv29100) -> Zero 248.74/165.22 new_primMinusNatS2(Zero, Zero) -> Zero 248.74/165.22 new_primMinusNatS2(Zero, Succ(vyv3110)) -> Zero 248.74/165.22 new_primMinusNatS2(Succ(vyv3100), Zero) -> Succ(vyv3100) 248.74/165.22 new_esEs(Pos(Succ(vyv24100))) -> new_primEqInt(Pos(Succ(vyv24100))) 248.74/165.22 new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) 248.74/165.22 new_primEqInt(Pos(Zero)) -> True 248.74/165.22 new_primEqInt(Pos(Succ(vyv242000))) -> False 248.74/165.22 248.74/165.22 The set Q consists of the following terms: 248.74/165.22 248.74/165.22 new_primModNatS1(Succ(Zero), Succ(x0)) 248.74/165.22 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 248.74/165.22 new_primEqInt(Pos(Zero)) 248.74/165.22 new_primModNatS02(x0, x1) 248.74/165.22 new_primModNatS01(x0, x1, Succ(x2), Zero) 248.74/165.22 new_primModNatS01(x0, x1, Zero, Succ(x2)) 248.74/165.22 new_primMinusNatS2(Zero, Zero) 248.74/165.22 new_esEs(Neg(Succ(x0))) 248.74/165.22 new_primMinusNatS2(Zero, Succ(x0)) 248.74/165.22 new_primModNatS1(Succ(Zero), Zero) 248.74/165.22 new_esEs(Pos(Zero)) 248.74/165.22 new_primEqInt(Neg(Succ(x0))) 248.74/165.22 new_primMinusNatS2(Succ(x0), Zero) 248.74/165.22 new_primEqInt(Neg(Zero)) 248.74/165.22 new_primModNatS01(x0, x1, Zero, Zero) 248.74/165.22 new_primEqInt(Pos(Succ(x0))) 248.74/165.22 new_primMinusNatS2(Succ(x0), Succ(x1)) 248.74/165.22 new_primModNatS1(Succ(Succ(x0)), Zero) 248.74/165.22 new_primModNatS1(Zero, x0) 248.74/165.22 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 248.74/165.22 new_esEs(Neg(Zero)) 248.74/165.22 new_esEs(Pos(Succ(x0))) 248.74/165.22 248.74/165.22 We have to consider all minimal (P,Q,R)-chains. 248.74/165.22 ---------------------------------------- 248.74/165.22 248.74/165.22 (478) TransformationProof (EQUIVALENT) 248.74/165.22 By narrowing [LPAR04] the rule new_gcd0Gcd'1(False, Pos(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Pos(Succ(Succ(x1))), Pos(new_primModNatS01(x0, x1, x0, x1))) at position [1,0] we obtained the following new rules [LPAR04]: 248.74/165.22 248.74/165.22 (new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Pos(new_primModNatS02(Zero, Zero))),new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Pos(new_primModNatS02(Zero, Zero)))) 248.74/165.22 (new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x3)))), Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))),new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x3)))), Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3)))) 248.74/165.22 (new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Pos(new_primModNatS02(Succ(x2), Zero))),new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Pos(new_primModNatS02(Succ(x2), Zero)))) 248.74/165.22 (new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))),new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))))) 248.74/165.22 248.74/165.22 248.74/165.22 ---------------------------------------- 248.74/165.22 248.74/165.22 (479) 248.74/165.22 Obligation: 248.74/165.22 Q DP problem: 248.74/165.22 The TRS P consists of the following rules: 248.74/165.22 248.74/165.22 new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 248.74/165.22 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) 248.74/165.22 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) 248.74/165.22 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 248.74/165.22 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) 248.74/165.22 new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Pos(new_primModNatS02(Zero, Zero))) 248.74/165.22 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x3)))), Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))) 248.74/165.22 new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Pos(new_primModNatS02(Succ(x2), Zero))) 248.74/165.22 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 248.74/165.22 248.74/165.22 The TRS R consists of the following rules: 248.74/165.22 248.74/165.22 new_primModNatS1(Succ(Succ(vyv292000)), Succ(vyv291000)) -> new_primModNatS01(vyv292000, vyv291000, vyv292000, vyv291000) 248.74/165.22 new_primModNatS01(vyv330, vyv331, Zero, Zero) -> new_primModNatS02(vyv330, vyv331) 248.74/165.22 new_primModNatS02(vyv330, vyv331) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv330), Succ(vyv331)), Succ(vyv331)) 248.74/165.22 new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Succ(vyv3330)) -> new_primModNatS01(vyv330, vyv331, vyv3320, vyv3330) 248.74/165.22 new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Zero) -> new_primModNatS02(vyv330, vyv331) 248.74/165.22 new_primModNatS01(vyv330, vyv331, Zero, Succ(vyv3330)) -> Succ(Succ(vyv330)) 248.74/165.22 new_primMinusNatS2(Succ(vyv3100), Succ(vyv3110)) -> new_primMinusNatS2(vyv3100, vyv3110) 248.74/165.22 new_primModNatS1(Succ(Zero), Succ(vyv291000)) -> Succ(Zero) 248.74/165.22 new_primModNatS1(Zero, vyv29100) -> Zero 248.74/165.22 new_primMinusNatS2(Zero, Zero) -> Zero 248.74/165.22 new_primMinusNatS2(Zero, Succ(vyv3110)) -> Zero 248.74/165.22 new_primMinusNatS2(Succ(vyv3100), Zero) -> Succ(vyv3100) 248.74/165.22 new_esEs(Pos(Succ(vyv24100))) -> new_primEqInt(Pos(Succ(vyv24100))) 248.74/165.22 new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) 248.74/165.22 new_primEqInt(Pos(Zero)) -> True 248.74/165.22 new_primEqInt(Pos(Succ(vyv242000))) -> False 248.74/165.22 248.74/165.22 The set Q consists of the following terms: 248.74/165.22 248.74/165.22 new_primModNatS1(Succ(Zero), Succ(x0)) 248.74/165.22 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 248.74/165.22 new_primEqInt(Pos(Zero)) 248.74/165.22 new_primModNatS02(x0, x1) 248.74/165.22 new_primModNatS01(x0, x1, Succ(x2), Zero) 248.74/165.22 new_primModNatS01(x0, x1, Zero, Succ(x2)) 248.74/165.22 new_primMinusNatS2(Zero, Zero) 248.74/165.22 new_esEs(Neg(Succ(x0))) 248.74/165.22 new_primMinusNatS2(Zero, Succ(x0)) 248.74/165.22 new_primModNatS1(Succ(Zero), Zero) 248.74/165.22 new_esEs(Pos(Zero)) 248.74/165.22 new_primEqInt(Neg(Succ(x0))) 248.74/165.22 new_primMinusNatS2(Succ(x0), Zero) 248.74/165.22 new_primEqInt(Neg(Zero)) 248.74/165.22 new_primModNatS01(x0, x1, Zero, Zero) 248.74/165.22 new_primEqInt(Pos(Succ(x0))) 248.74/165.22 new_primMinusNatS2(Succ(x0), Succ(x1)) 248.74/165.22 new_primModNatS1(Succ(Succ(x0)), Zero) 248.74/165.22 new_primModNatS1(Zero, x0) 248.74/165.22 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 248.74/165.22 new_esEs(Neg(Zero)) 248.74/165.22 new_esEs(Pos(Succ(x0))) 248.74/165.22 248.74/165.22 We have to consider all minimal (P,Q,R)-chains. 248.74/165.22 ---------------------------------------- 248.74/165.22 248.74/165.22 (480) DependencyGraphProof (EQUIVALENT) 248.74/165.22 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 2 SCCs with 1 less node. 248.74/165.22 ---------------------------------------- 248.74/165.22 248.74/165.22 (481) 248.74/165.22 Complex Obligation (AND) 248.74/165.22 248.74/165.22 ---------------------------------------- 248.74/165.22 248.74/165.22 (482) 248.74/165.22 Obligation: 248.74/165.22 Q DP problem: 248.74/165.22 The TRS P consists of the following rules: 248.74/165.22 248.74/165.22 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 248.74/165.22 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) 248.74/165.22 new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Pos(new_primModNatS02(Succ(x2), Zero))) 248.74/165.22 new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 248.74/165.22 248.74/165.22 The TRS R consists of the following rules: 248.74/165.22 248.74/165.22 new_primModNatS1(Succ(Succ(vyv292000)), Succ(vyv291000)) -> new_primModNatS01(vyv292000, vyv291000, vyv292000, vyv291000) 248.74/165.22 new_primModNatS01(vyv330, vyv331, Zero, Zero) -> new_primModNatS02(vyv330, vyv331) 248.74/165.22 new_primModNatS02(vyv330, vyv331) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv330), Succ(vyv331)), Succ(vyv331)) 248.74/165.22 new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Succ(vyv3330)) -> new_primModNatS01(vyv330, vyv331, vyv3320, vyv3330) 248.74/165.22 new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Zero) -> new_primModNatS02(vyv330, vyv331) 248.74/165.22 new_primModNatS01(vyv330, vyv331, Zero, Succ(vyv3330)) -> Succ(Succ(vyv330)) 248.74/165.22 new_primMinusNatS2(Succ(vyv3100), Succ(vyv3110)) -> new_primMinusNatS2(vyv3100, vyv3110) 248.74/165.22 new_primModNatS1(Succ(Zero), Succ(vyv291000)) -> Succ(Zero) 248.74/165.22 new_primModNatS1(Zero, vyv29100) -> Zero 248.74/165.22 new_primMinusNatS2(Zero, Zero) -> Zero 248.74/165.22 new_primMinusNatS2(Zero, Succ(vyv3110)) -> Zero 248.74/165.22 new_primMinusNatS2(Succ(vyv3100), Zero) -> Succ(vyv3100) 248.74/165.22 new_esEs(Pos(Succ(vyv24100))) -> new_primEqInt(Pos(Succ(vyv24100))) 248.74/165.22 new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) 248.74/165.22 new_primEqInt(Pos(Zero)) -> True 248.74/165.22 new_primEqInt(Pos(Succ(vyv242000))) -> False 248.74/165.22 248.74/165.22 The set Q consists of the following terms: 248.74/165.22 248.74/165.22 new_primModNatS1(Succ(Zero), Succ(x0)) 248.74/165.22 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 248.74/165.22 new_primEqInt(Pos(Zero)) 248.74/165.22 new_primModNatS02(x0, x1) 248.74/165.22 new_primModNatS01(x0, x1, Succ(x2), Zero) 248.74/165.22 new_primModNatS01(x0, x1, Zero, Succ(x2)) 248.74/165.22 new_primMinusNatS2(Zero, Zero) 248.74/165.22 new_esEs(Neg(Succ(x0))) 248.74/165.22 new_primMinusNatS2(Zero, Succ(x0)) 248.74/165.22 new_primModNatS1(Succ(Zero), Zero) 248.74/165.22 new_esEs(Pos(Zero)) 248.74/165.22 new_primEqInt(Neg(Succ(x0))) 248.74/165.22 new_primMinusNatS2(Succ(x0), Zero) 248.74/165.22 new_primEqInt(Neg(Zero)) 248.74/165.22 new_primModNatS01(x0, x1, Zero, Zero) 248.74/165.22 new_primEqInt(Pos(Succ(x0))) 248.74/165.22 new_primMinusNatS2(Succ(x0), Succ(x1)) 248.74/165.22 new_primModNatS1(Succ(Succ(x0)), Zero) 248.74/165.22 new_primModNatS1(Zero, x0) 248.74/165.22 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 248.74/165.22 new_esEs(Neg(Zero)) 248.74/165.22 new_esEs(Pos(Succ(x0))) 248.74/165.22 248.74/165.22 We have to consider all minimal (P,Q,R)-chains. 248.74/165.22 ---------------------------------------- 248.74/165.22 248.74/165.22 (483) TransformationProof (EQUIVALENT) 248.74/165.22 By rewriting [LPAR04] the rule new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Pos(new_primModNatS02(Succ(x2), Zero))) at position [1,0] we obtained the following new rules [LPAR04]: 248.74/165.22 248.74/165.22 (new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Zero)))),new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Zero))))) 248.74/165.22 248.74/165.22 248.74/165.22 ---------------------------------------- 248.74/165.22 248.74/165.22 (484) 248.74/165.22 Obligation: 248.74/165.22 Q DP problem: 248.74/165.22 The TRS P consists of the following rules: 248.74/165.22 248.74/165.22 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 248.74/165.22 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) 248.74/165.22 new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 248.74/165.22 new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Zero)))) 248.74/165.22 248.74/165.22 The TRS R consists of the following rules: 248.74/165.22 248.74/165.22 new_primModNatS1(Succ(Succ(vyv292000)), Succ(vyv291000)) -> new_primModNatS01(vyv292000, vyv291000, vyv292000, vyv291000) 248.74/165.22 new_primModNatS01(vyv330, vyv331, Zero, Zero) -> new_primModNatS02(vyv330, vyv331) 248.74/165.22 new_primModNatS02(vyv330, vyv331) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv330), Succ(vyv331)), Succ(vyv331)) 248.74/165.22 new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Succ(vyv3330)) -> new_primModNatS01(vyv330, vyv331, vyv3320, vyv3330) 248.74/165.22 new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Zero) -> new_primModNatS02(vyv330, vyv331) 248.74/165.22 new_primModNatS01(vyv330, vyv331, Zero, Succ(vyv3330)) -> Succ(Succ(vyv330)) 248.74/165.22 new_primMinusNatS2(Succ(vyv3100), Succ(vyv3110)) -> new_primMinusNatS2(vyv3100, vyv3110) 248.74/165.22 new_primModNatS1(Succ(Zero), Succ(vyv291000)) -> Succ(Zero) 248.74/165.22 new_primModNatS1(Zero, vyv29100) -> Zero 248.74/165.22 new_primMinusNatS2(Zero, Zero) -> Zero 248.74/165.22 new_primMinusNatS2(Zero, Succ(vyv3110)) -> Zero 248.74/165.22 new_primMinusNatS2(Succ(vyv3100), Zero) -> Succ(vyv3100) 248.74/165.22 new_esEs(Pos(Succ(vyv24100))) -> new_primEqInt(Pos(Succ(vyv24100))) 248.74/165.22 new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) 248.74/165.22 new_primEqInt(Pos(Zero)) -> True 248.74/165.22 new_primEqInt(Pos(Succ(vyv242000))) -> False 248.74/165.22 248.74/165.22 The set Q consists of the following terms: 248.74/165.22 248.74/165.22 new_primModNatS1(Succ(Zero), Succ(x0)) 248.74/165.22 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 248.74/165.22 new_primEqInt(Pos(Zero)) 248.74/165.22 new_primModNatS02(x0, x1) 248.74/165.22 new_primModNatS01(x0, x1, Succ(x2), Zero) 248.74/165.22 new_primModNatS01(x0, x1, Zero, Succ(x2)) 248.74/165.22 new_primMinusNatS2(Zero, Zero) 248.74/165.22 new_esEs(Neg(Succ(x0))) 248.74/165.22 new_primMinusNatS2(Zero, Succ(x0)) 248.74/165.22 new_primModNatS1(Succ(Zero), Zero) 248.74/165.22 new_esEs(Pos(Zero)) 248.74/165.22 new_primEqInt(Neg(Succ(x0))) 248.74/165.22 new_primMinusNatS2(Succ(x0), Zero) 248.74/165.22 new_primEqInt(Neg(Zero)) 248.74/165.22 new_primModNatS01(x0, x1, Zero, Zero) 248.74/165.22 new_primEqInt(Pos(Succ(x0))) 248.74/165.22 new_primMinusNatS2(Succ(x0), Succ(x1)) 248.74/165.22 new_primModNatS1(Succ(Succ(x0)), Zero) 248.74/165.22 new_primModNatS1(Zero, x0) 248.74/165.22 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 248.74/165.22 new_esEs(Neg(Zero)) 248.74/165.22 new_esEs(Pos(Succ(x0))) 248.74/165.22 248.74/165.22 We have to consider all minimal (P,Q,R)-chains. 248.74/165.22 ---------------------------------------- 248.74/165.22 248.74/165.22 (485) TransformationProof (EQUIVALENT) 248.74/165.22 By rewriting [LPAR04] the rule new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Zero)))) at position [1,0,0] we obtained the following new rules [LPAR04]: 248.74/165.22 248.74/165.22 (new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Zero)))),new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Zero))))) 248.74/165.22 248.74/165.22 248.74/165.22 ---------------------------------------- 248.74/165.22 248.74/165.22 (486) 248.74/165.22 Obligation: 248.74/165.22 Q DP problem: 248.74/165.22 The TRS P consists of the following rules: 248.74/165.22 248.74/165.22 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 248.74/165.22 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) 248.74/165.22 new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 248.74/165.22 new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Zero)))) 248.74/165.22 248.74/165.22 The TRS R consists of the following rules: 248.74/165.22 248.74/165.22 new_primModNatS1(Succ(Succ(vyv292000)), Succ(vyv291000)) -> new_primModNatS01(vyv292000, vyv291000, vyv292000, vyv291000) 248.74/165.22 new_primModNatS01(vyv330, vyv331, Zero, Zero) -> new_primModNatS02(vyv330, vyv331) 248.74/165.22 new_primModNatS02(vyv330, vyv331) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv330), Succ(vyv331)), Succ(vyv331)) 248.74/165.22 new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Succ(vyv3330)) -> new_primModNatS01(vyv330, vyv331, vyv3320, vyv3330) 248.74/165.22 new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Zero) -> new_primModNatS02(vyv330, vyv331) 248.74/165.22 new_primModNatS01(vyv330, vyv331, Zero, Succ(vyv3330)) -> Succ(Succ(vyv330)) 248.74/165.22 new_primMinusNatS2(Succ(vyv3100), Succ(vyv3110)) -> new_primMinusNatS2(vyv3100, vyv3110) 248.74/165.22 new_primModNatS1(Succ(Zero), Succ(vyv291000)) -> Succ(Zero) 248.74/165.22 new_primModNatS1(Zero, vyv29100) -> Zero 248.74/165.22 new_primMinusNatS2(Zero, Zero) -> Zero 248.74/165.22 new_primMinusNatS2(Zero, Succ(vyv3110)) -> Zero 248.74/165.22 new_primMinusNatS2(Succ(vyv3100), Zero) -> Succ(vyv3100) 248.74/165.22 new_esEs(Pos(Succ(vyv24100))) -> new_primEqInt(Pos(Succ(vyv24100))) 248.74/165.22 new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) 248.74/165.22 new_primEqInt(Pos(Zero)) -> True 248.74/165.22 new_primEqInt(Pos(Succ(vyv242000))) -> False 248.74/165.22 248.74/165.22 The set Q consists of the following terms: 248.74/165.22 248.74/165.22 new_primModNatS1(Succ(Zero), Succ(x0)) 248.74/165.22 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 248.74/165.22 new_primEqInt(Pos(Zero)) 248.74/165.22 new_primModNatS02(x0, x1) 248.74/165.22 new_primModNatS01(x0, x1, Succ(x2), Zero) 248.74/165.22 new_primModNatS01(x0, x1, Zero, Succ(x2)) 248.74/165.22 new_primMinusNatS2(Zero, Zero) 248.74/165.22 new_esEs(Neg(Succ(x0))) 248.74/165.22 new_primMinusNatS2(Zero, Succ(x0)) 248.74/165.22 new_primModNatS1(Succ(Zero), Zero) 248.74/165.22 new_esEs(Pos(Zero)) 248.74/165.22 new_primEqInt(Neg(Succ(x0))) 248.74/165.22 new_primMinusNatS2(Succ(x0), Zero) 248.74/165.22 new_primEqInt(Neg(Zero)) 248.74/165.22 new_primModNatS01(x0, x1, Zero, Zero) 248.74/165.22 new_primEqInt(Pos(Succ(x0))) 248.74/165.22 new_primMinusNatS2(Succ(x0), Succ(x1)) 248.74/165.22 new_primModNatS1(Succ(Succ(x0)), Zero) 248.74/165.22 new_primModNatS1(Zero, x0) 248.74/165.22 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 248.74/165.22 new_esEs(Neg(Zero)) 248.74/165.22 new_esEs(Pos(Succ(x0))) 248.74/165.22 248.74/165.22 We have to consider all minimal (P,Q,R)-chains. 248.74/165.22 ---------------------------------------- 248.74/165.22 248.74/165.22 (487) TransformationProof (EQUIVALENT) 248.74/165.22 By rewriting [LPAR04] the rule new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Zero)))) at position [1,0,0] we obtained the following new rules [LPAR04]: 248.74/165.22 248.74/165.22 (new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))),new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero))))) 248.74/165.22 248.74/165.22 248.74/165.22 ---------------------------------------- 248.74/165.22 248.74/165.22 (488) 248.74/165.22 Obligation: 248.74/165.22 Q DP problem: 248.74/165.22 The TRS P consists of the following rules: 248.74/165.22 248.74/165.22 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 248.74/165.22 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) 248.74/165.22 new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 248.74/165.22 new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 248.74/165.22 248.74/165.22 The TRS R consists of the following rules: 248.74/165.22 248.74/165.22 new_primModNatS1(Succ(Succ(vyv292000)), Succ(vyv291000)) -> new_primModNatS01(vyv292000, vyv291000, vyv292000, vyv291000) 248.74/165.22 new_primModNatS01(vyv330, vyv331, Zero, Zero) -> new_primModNatS02(vyv330, vyv331) 248.74/165.22 new_primModNatS02(vyv330, vyv331) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv330), Succ(vyv331)), Succ(vyv331)) 248.74/165.22 new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Succ(vyv3330)) -> new_primModNatS01(vyv330, vyv331, vyv3320, vyv3330) 248.74/165.22 new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Zero) -> new_primModNatS02(vyv330, vyv331) 248.74/165.22 new_primModNatS01(vyv330, vyv331, Zero, Succ(vyv3330)) -> Succ(Succ(vyv330)) 248.74/165.22 new_primMinusNatS2(Succ(vyv3100), Succ(vyv3110)) -> new_primMinusNatS2(vyv3100, vyv3110) 248.74/165.22 new_primModNatS1(Succ(Zero), Succ(vyv291000)) -> Succ(Zero) 248.74/165.22 new_primModNatS1(Zero, vyv29100) -> Zero 248.74/165.22 new_primMinusNatS2(Zero, Zero) -> Zero 248.74/165.22 new_primMinusNatS2(Zero, Succ(vyv3110)) -> Zero 248.74/165.22 new_primMinusNatS2(Succ(vyv3100), Zero) -> Succ(vyv3100) 248.74/165.22 new_esEs(Pos(Succ(vyv24100))) -> new_primEqInt(Pos(Succ(vyv24100))) 248.74/165.22 new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) 248.74/165.22 new_primEqInt(Pos(Zero)) -> True 248.74/165.22 new_primEqInt(Pos(Succ(vyv242000))) -> False 248.74/165.22 248.74/165.22 The set Q consists of the following terms: 248.74/165.22 248.74/165.22 new_primModNatS1(Succ(Zero), Succ(x0)) 248.74/165.22 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 248.74/165.22 new_primEqInt(Pos(Zero)) 248.74/165.22 new_primModNatS02(x0, x1) 248.74/165.22 new_primModNatS01(x0, x1, Succ(x2), Zero) 248.74/165.22 new_primModNatS01(x0, x1, Zero, Succ(x2)) 248.74/165.22 new_primMinusNatS2(Zero, Zero) 248.74/165.22 new_esEs(Neg(Succ(x0))) 248.74/165.22 new_primMinusNatS2(Zero, Succ(x0)) 248.74/165.22 new_primModNatS1(Succ(Zero), Zero) 248.74/165.22 new_esEs(Pos(Zero)) 248.74/165.22 new_primEqInt(Neg(Succ(x0))) 248.74/165.22 new_primMinusNatS2(Succ(x0), Zero) 248.74/165.22 new_primEqInt(Neg(Zero)) 248.74/165.22 new_primModNatS01(x0, x1, Zero, Zero) 248.74/165.22 new_primEqInt(Pos(Succ(x0))) 248.74/165.22 new_primMinusNatS2(Succ(x0), Succ(x1)) 248.74/165.22 new_primModNatS1(Succ(Succ(x0)), Zero) 248.74/165.22 new_primModNatS1(Zero, x0) 248.74/165.22 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 248.74/165.22 new_esEs(Neg(Zero)) 248.74/165.22 new_esEs(Pos(Succ(x0))) 248.74/165.22 248.74/165.22 We have to consider all minimal (P,Q,R)-chains. 248.74/165.22 ---------------------------------------- 248.74/165.22 248.74/165.22 (489) TransformationProof (EQUIVALENT) 248.74/165.22 By narrowing [LPAR04] the rule new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) at position [0] we obtained the following new rules [LPAR04]: 248.74/165.22 248.74/165.22 (new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(x0, Zero, x0, Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))),new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(x0, Zero, x0, Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0))))))) 248.74/165.22 (new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Pos(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))),new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Pos(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero)))))) 248.74/165.22 248.74/165.22 248.74/165.22 ---------------------------------------- 248.74/165.22 248.74/165.22 (490) 248.74/165.22 Obligation: 248.74/165.22 Q DP problem: 248.74/165.22 The TRS P consists of the following rules: 248.74/165.22 248.74/165.22 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 248.74/165.22 new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 248.74/165.22 new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 248.74/165.22 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(x0, Zero, x0, Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) 248.74/165.22 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Pos(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))) 248.74/165.22 248.74/165.22 The TRS R consists of the following rules: 248.74/165.22 248.74/165.22 new_primModNatS1(Succ(Succ(vyv292000)), Succ(vyv291000)) -> new_primModNatS01(vyv292000, vyv291000, vyv292000, vyv291000) 248.74/165.22 new_primModNatS01(vyv330, vyv331, Zero, Zero) -> new_primModNatS02(vyv330, vyv331) 248.74/165.22 new_primModNatS02(vyv330, vyv331) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv330), Succ(vyv331)), Succ(vyv331)) 248.74/165.22 new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Succ(vyv3330)) -> new_primModNatS01(vyv330, vyv331, vyv3320, vyv3330) 248.74/165.22 new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Zero) -> new_primModNatS02(vyv330, vyv331) 248.74/165.22 new_primModNatS01(vyv330, vyv331, Zero, Succ(vyv3330)) -> Succ(Succ(vyv330)) 248.74/165.22 new_primMinusNatS2(Succ(vyv3100), Succ(vyv3110)) -> new_primMinusNatS2(vyv3100, vyv3110) 248.74/165.22 new_primModNatS1(Succ(Zero), Succ(vyv291000)) -> Succ(Zero) 248.74/165.22 new_primModNatS1(Zero, vyv29100) -> Zero 248.74/165.22 new_primMinusNatS2(Zero, Zero) -> Zero 248.74/165.22 new_primMinusNatS2(Zero, Succ(vyv3110)) -> Zero 248.74/165.22 new_primMinusNatS2(Succ(vyv3100), Zero) -> Succ(vyv3100) 248.74/165.22 new_esEs(Pos(Succ(vyv24100))) -> new_primEqInt(Pos(Succ(vyv24100))) 248.74/165.22 new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) 248.74/165.22 new_primEqInt(Pos(Zero)) -> True 248.74/165.22 new_primEqInt(Pos(Succ(vyv242000))) -> False 248.74/165.22 248.74/165.22 The set Q consists of the following terms: 248.74/165.22 248.74/165.22 new_primModNatS1(Succ(Zero), Succ(x0)) 248.74/165.22 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 248.74/165.22 new_primEqInt(Pos(Zero)) 248.74/165.22 new_primModNatS02(x0, x1) 248.74/165.22 new_primModNatS01(x0, x1, Succ(x2), Zero) 248.74/165.22 new_primModNatS01(x0, x1, Zero, Succ(x2)) 248.74/165.22 new_primMinusNatS2(Zero, Zero) 248.74/165.22 new_esEs(Neg(Succ(x0))) 248.74/165.22 new_primMinusNatS2(Zero, Succ(x0)) 248.74/165.22 new_primModNatS1(Succ(Zero), Zero) 248.74/165.22 new_esEs(Pos(Zero)) 248.74/165.22 new_primEqInt(Neg(Succ(x0))) 248.74/165.22 new_primMinusNatS2(Succ(x0), Zero) 248.74/165.22 new_primEqInt(Neg(Zero)) 248.74/165.22 new_primModNatS01(x0, x1, Zero, Zero) 248.74/165.22 new_primEqInt(Pos(Succ(x0))) 248.74/165.22 new_primMinusNatS2(Succ(x0), Succ(x1)) 248.74/165.22 new_primModNatS1(Succ(Succ(x0)), Zero) 248.74/165.22 new_primModNatS1(Zero, x0) 248.74/165.22 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 248.74/165.22 new_esEs(Neg(Zero)) 248.74/165.22 new_esEs(Pos(Succ(x0))) 248.74/165.22 248.74/165.22 We have to consider all minimal (P,Q,R)-chains. 248.74/165.22 ---------------------------------------- 248.74/165.22 248.74/165.22 (491) TransformationProof (EQUIVALENT) 248.74/165.22 By rewriting [LPAR04] the rule new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Pos(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))) at position [0] we obtained the following new rules [LPAR04]: 248.74/165.22 248.74/165.22 (new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_primEqInt(Pos(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))),new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_primEqInt(Pos(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero)))))) 248.74/165.22 248.74/165.22 248.74/165.22 ---------------------------------------- 248.74/165.22 248.74/165.22 (492) 248.74/165.22 Obligation: 248.74/165.22 Q DP problem: 248.74/165.22 The TRS P consists of the following rules: 248.74/165.22 248.74/165.22 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 248.74/165.22 new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 248.74/165.22 new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 248.74/165.22 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(x0, Zero, x0, Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) 248.74/165.22 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_primEqInt(Pos(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))) 248.74/165.22 248.74/165.22 The TRS R consists of the following rules: 248.74/165.22 248.74/165.22 new_primModNatS1(Succ(Succ(vyv292000)), Succ(vyv291000)) -> new_primModNatS01(vyv292000, vyv291000, vyv292000, vyv291000) 248.74/165.22 new_primModNatS01(vyv330, vyv331, Zero, Zero) -> new_primModNatS02(vyv330, vyv331) 248.74/165.22 new_primModNatS02(vyv330, vyv331) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv330), Succ(vyv331)), Succ(vyv331)) 248.74/165.22 new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Succ(vyv3330)) -> new_primModNatS01(vyv330, vyv331, vyv3320, vyv3330) 248.74/165.22 new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Zero) -> new_primModNatS02(vyv330, vyv331) 248.74/165.22 new_primModNatS01(vyv330, vyv331, Zero, Succ(vyv3330)) -> Succ(Succ(vyv330)) 248.74/165.22 new_primMinusNatS2(Succ(vyv3100), Succ(vyv3110)) -> new_primMinusNatS2(vyv3100, vyv3110) 248.74/165.22 new_primModNatS1(Succ(Zero), Succ(vyv291000)) -> Succ(Zero) 248.74/165.22 new_primModNatS1(Zero, vyv29100) -> Zero 248.74/165.22 new_primMinusNatS2(Zero, Zero) -> Zero 248.74/165.22 new_primMinusNatS2(Zero, Succ(vyv3110)) -> Zero 248.74/165.22 new_primMinusNatS2(Succ(vyv3100), Zero) -> Succ(vyv3100) 248.74/165.22 new_esEs(Pos(Succ(vyv24100))) -> new_primEqInt(Pos(Succ(vyv24100))) 248.74/165.22 new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) 248.74/165.22 new_primEqInt(Pos(Zero)) -> True 248.74/165.22 new_primEqInt(Pos(Succ(vyv242000))) -> False 248.74/165.22 248.74/165.22 The set Q consists of the following terms: 248.74/165.22 248.74/165.22 new_primModNatS1(Succ(Zero), Succ(x0)) 248.74/165.22 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 248.74/165.22 new_primEqInt(Pos(Zero)) 248.74/165.22 new_primModNatS02(x0, x1) 248.74/165.22 new_primModNatS01(x0, x1, Succ(x2), Zero) 248.74/165.22 new_primModNatS01(x0, x1, Zero, Succ(x2)) 248.74/165.22 new_primMinusNatS2(Zero, Zero) 248.74/165.22 new_esEs(Neg(Succ(x0))) 248.74/165.22 new_primMinusNatS2(Zero, Succ(x0)) 248.74/165.22 new_primModNatS1(Succ(Zero), Zero) 248.74/165.22 new_esEs(Pos(Zero)) 248.74/165.22 new_primEqInt(Neg(Succ(x0))) 248.74/165.22 new_primMinusNatS2(Succ(x0), Zero) 248.74/165.22 new_primEqInt(Neg(Zero)) 248.74/165.22 new_primModNatS01(x0, x1, Zero, Zero) 248.74/165.22 new_primEqInt(Pos(Succ(x0))) 248.74/165.22 new_primMinusNatS2(Succ(x0), Succ(x1)) 248.74/165.22 new_primModNatS1(Succ(Succ(x0)), Zero) 248.74/165.22 new_primModNatS1(Zero, x0) 248.74/165.22 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 248.74/165.22 new_esEs(Neg(Zero)) 248.74/165.22 new_esEs(Pos(Succ(x0))) 248.74/165.22 248.74/165.22 We have to consider all minimal (P,Q,R)-chains. 248.74/165.22 ---------------------------------------- 248.74/165.23 248.74/165.23 (493) TransformationProof (EQUIVALENT) 248.74/165.23 By rewriting [LPAR04] the rule new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_primEqInt(Pos(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))) at position [0] we obtained the following new rules [LPAR04]: 248.74/165.23 248.74/165.23 (new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))),new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero)))))) 248.74/165.23 248.74/165.23 248.74/165.23 ---------------------------------------- 248.74/165.23 248.74/165.23 (494) 248.74/165.23 Obligation: 248.74/165.23 Q DP problem: 248.74/165.23 The TRS P consists of the following rules: 248.74/165.23 248.74/165.23 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 248.74/165.23 new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 248.74/165.23 new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 248.74/165.23 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(x0, Zero, x0, Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) 248.74/165.23 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))) 248.74/165.23 248.74/165.23 The TRS R consists of the following rules: 248.74/165.23 248.74/165.23 new_primModNatS1(Succ(Succ(vyv292000)), Succ(vyv291000)) -> new_primModNatS01(vyv292000, vyv291000, vyv292000, vyv291000) 248.74/165.23 new_primModNatS01(vyv330, vyv331, Zero, Zero) -> new_primModNatS02(vyv330, vyv331) 248.74/165.23 new_primModNatS02(vyv330, vyv331) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv330), Succ(vyv331)), Succ(vyv331)) 248.74/165.23 new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Succ(vyv3330)) -> new_primModNatS01(vyv330, vyv331, vyv3320, vyv3330) 248.74/165.23 new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Zero) -> new_primModNatS02(vyv330, vyv331) 248.74/165.23 new_primModNatS01(vyv330, vyv331, Zero, Succ(vyv3330)) -> Succ(Succ(vyv330)) 248.74/165.23 new_primMinusNatS2(Succ(vyv3100), Succ(vyv3110)) -> new_primMinusNatS2(vyv3100, vyv3110) 248.74/165.23 new_primModNatS1(Succ(Zero), Succ(vyv291000)) -> Succ(Zero) 248.74/165.23 new_primModNatS1(Zero, vyv29100) -> Zero 248.74/165.23 new_primMinusNatS2(Zero, Zero) -> Zero 248.74/165.23 new_primMinusNatS2(Zero, Succ(vyv3110)) -> Zero 248.74/165.23 new_primMinusNatS2(Succ(vyv3100), Zero) -> Succ(vyv3100) 248.74/165.23 new_esEs(Pos(Succ(vyv24100))) -> new_primEqInt(Pos(Succ(vyv24100))) 248.74/165.23 new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) 248.74/165.23 new_primEqInt(Pos(Zero)) -> True 248.74/165.23 new_primEqInt(Pos(Succ(vyv242000))) -> False 248.74/165.23 248.74/165.23 The set Q consists of the following terms: 248.74/165.23 248.74/165.23 new_primModNatS1(Succ(Zero), Succ(x0)) 248.74/165.23 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 248.74/165.23 new_primEqInt(Pos(Zero)) 248.74/165.23 new_primModNatS02(x0, x1) 248.74/165.23 new_primModNatS01(x0, x1, Succ(x2), Zero) 248.74/165.23 new_primModNatS01(x0, x1, Zero, Succ(x2)) 248.74/165.23 new_primMinusNatS2(Zero, Zero) 248.74/165.23 new_esEs(Neg(Succ(x0))) 248.74/165.23 new_primMinusNatS2(Zero, Succ(x0)) 248.74/165.23 new_primModNatS1(Succ(Zero), Zero) 248.74/165.23 new_esEs(Pos(Zero)) 248.74/165.23 new_primEqInt(Neg(Succ(x0))) 248.74/165.23 new_primMinusNatS2(Succ(x0), Zero) 248.74/165.23 new_primEqInt(Neg(Zero)) 248.74/165.23 new_primModNatS01(x0, x1, Zero, Zero) 248.74/165.23 new_primEqInt(Pos(Succ(x0))) 248.74/165.23 new_primMinusNatS2(Succ(x0), Succ(x1)) 248.74/165.23 new_primModNatS1(Succ(Succ(x0)), Zero) 248.74/165.23 new_primModNatS1(Zero, x0) 248.74/165.23 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 248.74/165.23 new_esEs(Neg(Zero)) 248.74/165.23 new_esEs(Pos(Succ(x0))) 248.74/165.23 248.74/165.23 We have to consider all minimal (P,Q,R)-chains. 248.74/165.23 ---------------------------------------- 248.74/165.23 248.74/165.23 (495) TransformationProof (EQUIVALENT) 248.74/165.23 By narrowing [LPAR04] the rule new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) at position [1,0] we obtained the following new rules [LPAR04]: 248.74/165.23 248.74/165.23 (new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Pos(new_primModNatS01(x0, Zero, x0, Zero))),new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Pos(new_primModNatS01(x0, Zero, x0, Zero)))) 248.74/165.23 (new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Pos(Succ(Zero))),new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Pos(Succ(Zero)))) 248.74/165.23 248.74/165.23 248.74/165.23 ---------------------------------------- 248.74/165.23 248.74/165.23 (496) 248.74/165.23 Obligation: 248.74/165.23 Q DP problem: 248.74/165.23 The TRS P consists of the following rules: 248.74/165.23 248.74/165.23 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 248.74/165.23 new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 248.74/165.23 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(x0, Zero, x0, Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) 248.74/165.23 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))) 248.74/165.23 new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Pos(new_primModNatS01(x0, Zero, x0, Zero))) 248.74/165.23 new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Pos(Succ(Zero))) 248.74/165.23 248.74/165.23 The TRS R consists of the following rules: 248.74/165.23 248.74/165.23 new_primModNatS1(Succ(Succ(vyv292000)), Succ(vyv291000)) -> new_primModNatS01(vyv292000, vyv291000, vyv292000, vyv291000) 248.74/165.23 new_primModNatS01(vyv330, vyv331, Zero, Zero) -> new_primModNatS02(vyv330, vyv331) 248.74/165.23 new_primModNatS02(vyv330, vyv331) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv330), Succ(vyv331)), Succ(vyv331)) 248.74/165.23 new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Succ(vyv3330)) -> new_primModNatS01(vyv330, vyv331, vyv3320, vyv3330) 248.74/165.23 new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Zero) -> new_primModNatS02(vyv330, vyv331) 248.74/165.23 new_primModNatS01(vyv330, vyv331, Zero, Succ(vyv3330)) -> Succ(Succ(vyv330)) 248.74/165.23 new_primMinusNatS2(Succ(vyv3100), Succ(vyv3110)) -> new_primMinusNatS2(vyv3100, vyv3110) 248.74/165.23 new_primModNatS1(Succ(Zero), Succ(vyv291000)) -> Succ(Zero) 248.74/165.23 new_primModNatS1(Zero, vyv29100) -> Zero 248.74/165.23 new_primMinusNatS2(Zero, Zero) -> Zero 248.74/165.23 new_primMinusNatS2(Zero, Succ(vyv3110)) -> Zero 248.74/165.23 new_primMinusNatS2(Succ(vyv3100), Zero) -> Succ(vyv3100) 248.74/165.23 new_esEs(Pos(Succ(vyv24100))) -> new_primEqInt(Pos(Succ(vyv24100))) 248.74/165.23 new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) 248.74/165.23 new_primEqInt(Pos(Zero)) -> True 248.74/165.23 new_primEqInt(Pos(Succ(vyv242000))) -> False 248.74/165.23 248.74/165.23 The set Q consists of the following terms: 248.74/165.23 248.74/165.23 new_primModNatS1(Succ(Zero), Succ(x0)) 248.74/165.23 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 248.74/165.23 new_primEqInt(Pos(Zero)) 248.74/165.23 new_primModNatS02(x0, x1) 248.74/165.23 new_primModNatS01(x0, x1, Succ(x2), Zero) 248.74/165.23 new_primModNatS01(x0, x1, Zero, Succ(x2)) 248.74/165.23 new_primMinusNatS2(Zero, Zero) 248.74/165.23 new_esEs(Neg(Succ(x0))) 248.74/165.23 new_primMinusNatS2(Zero, Succ(x0)) 248.74/165.23 new_primModNatS1(Succ(Zero), Zero) 248.74/165.23 new_esEs(Pos(Zero)) 248.74/165.23 new_primEqInt(Neg(Succ(x0))) 248.74/165.23 new_primMinusNatS2(Succ(x0), Zero) 248.74/165.23 new_primEqInt(Neg(Zero)) 248.74/165.23 new_primModNatS01(x0, x1, Zero, Zero) 248.74/165.23 new_primEqInt(Pos(Succ(x0))) 248.74/165.23 new_primMinusNatS2(Succ(x0), Succ(x1)) 248.74/165.23 new_primModNatS1(Succ(Succ(x0)), Zero) 248.74/165.23 new_primModNatS1(Zero, x0) 248.74/165.23 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 248.74/165.23 new_esEs(Neg(Zero)) 248.74/165.23 new_esEs(Pos(Succ(x0))) 248.74/165.23 248.74/165.23 We have to consider all minimal (P,Q,R)-chains. 248.74/165.23 ---------------------------------------- 248.74/165.23 248.74/165.23 (497) DependencyGraphProof (EQUIVALENT) 248.74/165.23 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 2 less nodes. 248.74/165.23 ---------------------------------------- 248.74/165.23 248.74/165.23 (498) 248.74/165.23 Obligation: 248.74/165.23 Q DP problem: 248.74/165.23 The TRS P consists of the following rules: 248.74/165.23 248.74/165.23 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(x0, Zero, x0, Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) 248.74/165.23 new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Pos(new_primModNatS01(x0, Zero, x0, Zero))) 248.74/165.23 new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 248.74/165.23 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 248.74/165.23 248.74/165.23 The TRS R consists of the following rules: 248.74/165.23 248.74/165.23 new_primModNatS1(Succ(Succ(vyv292000)), Succ(vyv291000)) -> new_primModNatS01(vyv292000, vyv291000, vyv292000, vyv291000) 248.74/165.23 new_primModNatS01(vyv330, vyv331, Zero, Zero) -> new_primModNatS02(vyv330, vyv331) 248.74/165.23 new_primModNatS02(vyv330, vyv331) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv330), Succ(vyv331)), Succ(vyv331)) 248.74/165.23 new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Succ(vyv3330)) -> new_primModNatS01(vyv330, vyv331, vyv3320, vyv3330) 248.74/165.23 new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Zero) -> new_primModNatS02(vyv330, vyv331) 248.74/165.23 new_primModNatS01(vyv330, vyv331, Zero, Succ(vyv3330)) -> Succ(Succ(vyv330)) 248.74/165.23 new_primMinusNatS2(Succ(vyv3100), Succ(vyv3110)) -> new_primMinusNatS2(vyv3100, vyv3110) 248.74/165.23 new_primModNatS1(Succ(Zero), Succ(vyv291000)) -> Succ(Zero) 248.74/165.23 new_primModNatS1(Zero, vyv29100) -> Zero 248.74/165.23 new_primMinusNatS2(Zero, Zero) -> Zero 248.74/165.23 new_primMinusNatS2(Zero, Succ(vyv3110)) -> Zero 248.74/165.23 new_primMinusNatS2(Succ(vyv3100), Zero) -> Succ(vyv3100) 248.74/165.23 new_esEs(Pos(Succ(vyv24100))) -> new_primEqInt(Pos(Succ(vyv24100))) 248.74/165.23 new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) 248.74/165.23 new_primEqInt(Pos(Zero)) -> True 248.74/165.23 new_primEqInt(Pos(Succ(vyv242000))) -> False 248.74/165.23 248.74/165.23 The set Q consists of the following terms: 248.74/165.23 248.74/165.23 new_primModNatS1(Succ(Zero), Succ(x0)) 248.74/165.23 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 248.74/165.23 new_primEqInt(Pos(Zero)) 248.74/165.23 new_primModNatS02(x0, x1) 248.74/165.23 new_primModNatS01(x0, x1, Succ(x2), Zero) 248.74/165.23 new_primModNatS01(x0, x1, Zero, Succ(x2)) 248.74/165.23 new_primMinusNatS2(Zero, Zero) 248.74/165.23 new_esEs(Neg(Succ(x0))) 248.74/165.23 new_primMinusNatS2(Zero, Succ(x0)) 248.74/165.23 new_primModNatS1(Succ(Zero), Zero) 248.74/165.23 new_esEs(Pos(Zero)) 248.74/165.23 new_primEqInt(Neg(Succ(x0))) 248.74/165.23 new_primMinusNatS2(Succ(x0), Zero) 248.74/165.23 new_primEqInt(Neg(Zero)) 248.74/165.23 new_primModNatS01(x0, x1, Zero, Zero) 248.74/165.23 new_primEqInt(Pos(Succ(x0))) 248.74/165.23 new_primMinusNatS2(Succ(x0), Succ(x1)) 248.74/165.23 new_primModNatS1(Succ(Succ(x0)), Zero) 248.74/165.23 new_primModNatS1(Zero, x0) 248.74/165.23 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 248.74/165.23 new_esEs(Neg(Zero)) 248.74/165.23 new_esEs(Pos(Succ(x0))) 248.74/165.23 248.74/165.23 We have to consider all minimal (P,Q,R)-chains. 248.74/165.23 ---------------------------------------- 248.74/165.23 248.74/165.23 (499) QDPOrderProof (EQUIVALENT) 248.74/165.23 We use the reduction pair processor [LPAR04,JAR06]. 248.74/165.23 248.74/165.23 248.74/165.23 The following pairs can be oriented strictly and are deleted. 248.74/165.23 248.74/165.23 new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Pos(new_primModNatS01(x0, Zero, x0, Zero))) 248.74/165.23 The remaining pairs can at least be oriented weakly. 248.74/165.23 Used ordering: Polynomial interpretation [POLO]: 248.74/165.23 248.74/165.23 POL(False) = 1 248.74/165.23 POL(Pos(x_1)) = 2*x_1 248.74/165.23 POL(Succ(x_1)) = 1 + x_1 248.74/165.23 POL(True) = 1 248.74/165.23 POL(Zero) = 0 248.74/165.23 POL(new_esEs(x_1)) = 1 248.74/165.23 POL(new_gcd0Gcd'0(x_1, x_2)) = 2 + x_1 + x_2 248.74/165.23 POL(new_gcd0Gcd'1(x_1, x_2, x_3)) = 2*x_1 + x_2 + x_3 248.74/165.23 POL(new_primEqInt(x_1)) = 1 248.74/165.23 POL(new_primMinusNatS2(x_1, x_2)) = x_1 248.74/165.23 POL(new_primModNatS01(x_1, x_2, x_3, x_4)) = 2 + x_1 248.74/165.23 POL(new_primModNatS02(x_1, x_2)) = 2 + x_1 248.74/165.23 POL(new_primModNatS1(x_1, x_2)) = x_1 248.74/165.23 248.74/165.23 The following usable rules [FROCOS05] with respect to the argument filtering of the ordering [JAR06] were oriented: 248.74/165.23 248.74/165.23 new_primModNatS01(vyv330, vyv331, Zero, Zero) -> new_primModNatS02(vyv330, vyv331) 248.74/165.23 new_primModNatS02(vyv330, vyv331) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv330), Succ(vyv331)), Succ(vyv331)) 248.74/165.23 new_primModNatS1(Succ(Succ(vyv292000)), Succ(vyv291000)) -> new_primModNatS01(vyv292000, vyv291000, vyv292000, vyv291000) 248.74/165.23 new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Succ(vyv3330)) -> new_primModNatS01(vyv330, vyv331, vyv3320, vyv3330) 248.74/165.23 new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Zero) -> new_primModNatS02(vyv330, vyv331) 248.74/165.23 new_esEs(Pos(Succ(vyv24100))) -> new_primEqInt(Pos(Succ(vyv24100))) 248.74/165.23 new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) 248.74/165.23 new_primMinusNatS2(Succ(vyv3100), Succ(vyv3110)) -> new_primMinusNatS2(vyv3100, vyv3110) 248.74/165.23 new_primModNatS1(Succ(Zero), Succ(vyv291000)) -> Succ(Zero) 248.74/165.23 new_primModNatS1(Zero, vyv29100) -> Zero 248.74/165.23 new_primModNatS01(vyv330, vyv331, Zero, Succ(vyv3330)) -> Succ(Succ(vyv330)) 248.74/165.23 new_primMinusNatS2(Zero, Zero) -> Zero 248.74/165.23 new_primMinusNatS2(Zero, Succ(vyv3110)) -> Zero 248.74/165.23 new_primMinusNatS2(Succ(vyv3100), Zero) -> Succ(vyv3100) 248.74/165.23 new_primEqInt(Pos(Succ(vyv242000))) -> False 248.74/165.23 new_primEqInt(Pos(Zero)) -> True 248.74/165.23 248.74/165.23 248.74/165.23 ---------------------------------------- 248.74/165.23 248.74/165.23 (500) 248.74/165.23 Obligation: 248.74/165.23 Q DP problem: 248.74/165.23 The TRS P consists of the following rules: 248.74/165.23 248.74/165.23 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(x0, Zero, x0, Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) 248.74/165.23 new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 248.74/165.23 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 248.74/165.23 248.74/165.23 The TRS R consists of the following rules: 248.74/165.23 248.74/165.23 new_primModNatS1(Succ(Succ(vyv292000)), Succ(vyv291000)) -> new_primModNatS01(vyv292000, vyv291000, vyv292000, vyv291000) 248.74/165.23 new_primModNatS01(vyv330, vyv331, Zero, Zero) -> new_primModNatS02(vyv330, vyv331) 248.74/165.23 new_primModNatS02(vyv330, vyv331) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv330), Succ(vyv331)), Succ(vyv331)) 248.74/165.23 new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Succ(vyv3330)) -> new_primModNatS01(vyv330, vyv331, vyv3320, vyv3330) 248.74/165.23 new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Zero) -> new_primModNatS02(vyv330, vyv331) 248.74/165.23 new_primModNatS01(vyv330, vyv331, Zero, Succ(vyv3330)) -> Succ(Succ(vyv330)) 248.74/165.23 new_primMinusNatS2(Succ(vyv3100), Succ(vyv3110)) -> new_primMinusNatS2(vyv3100, vyv3110) 248.74/165.23 new_primModNatS1(Succ(Zero), Succ(vyv291000)) -> Succ(Zero) 248.74/165.23 new_primModNatS1(Zero, vyv29100) -> Zero 248.74/165.23 new_primMinusNatS2(Zero, Zero) -> Zero 248.74/165.23 new_primMinusNatS2(Zero, Succ(vyv3110)) -> Zero 248.74/165.23 new_primMinusNatS2(Succ(vyv3100), Zero) -> Succ(vyv3100) 248.74/165.23 new_esEs(Pos(Succ(vyv24100))) -> new_primEqInt(Pos(Succ(vyv24100))) 248.74/165.23 new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) 248.74/165.23 new_primEqInt(Pos(Zero)) -> True 248.74/165.23 new_primEqInt(Pos(Succ(vyv242000))) -> False 248.74/165.23 248.74/165.23 The set Q consists of the following terms: 248.74/165.23 248.74/165.23 new_primModNatS1(Succ(Zero), Succ(x0)) 248.74/165.23 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 248.74/165.23 new_primEqInt(Pos(Zero)) 248.74/165.23 new_primModNatS02(x0, x1) 248.74/165.23 new_primModNatS01(x0, x1, Succ(x2), Zero) 248.74/165.23 new_primModNatS01(x0, x1, Zero, Succ(x2)) 248.74/165.23 new_primMinusNatS2(Zero, Zero) 248.74/165.23 new_esEs(Neg(Succ(x0))) 248.74/165.23 new_primMinusNatS2(Zero, Succ(x0)) 248.74/165.23 new_primModNatS1(Succ(Zero), Zero) 248.74/165.23 new_esEs(Pos(Zero)) 248.74/165.23 new_primEqInt(Neg(Succ(x0))) 248.74/165.23 new_primMinusNatS2(Succ(x0), Zero) 248.74/165.23 new_primEqInt(Neg(Zero)) 248.74/165.23 new_primModNatS01(x0, x1, Zero, Zero) 248.74/165.23 new_primEqInt(Pos(Succ(x0))) 248.74/165.23 new_primMinusNatS2(Succ(x0), Succ(x1)) 248.74/165.23 new_primModNatS1(Succ(Succ(x0)), Zero) 248.74/165.23 new_primModNatS1(Zero, x0) 248.74/165.23 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 248.74/165.23 new_esEs(Neg(Zero)) 248.74/165.23 new_esEs(Pos(Succ(x0))) 248.74/165.23 248.74/165.23 We have to consider all minimal (P,Q,R)-chains. 248.74/165.23 ---------------------------------------- 248.74/165.23 248.74/165.23 (501) DependencyGraphProof (EQUIVALENT) 248.74/165.23 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 0 SCCs with 3 less nodes. 248.74/165.23 ---------------------------------------- 248.74/165.23 248.74/165.23 (502) 248.74/165.23 TRUE 248.74/165.23 248.74/165.23 ---------------------------------------- 248.74/165.23 248.74/165.23 (503) 248.74/165.23 Obligation: 248.74/165.23 Q DP problem: 248.74/165.23 The TRS P consists of the following rules: 248.74/165.23 248.74/165.23 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) 248.74/165.23 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x3)))), Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))) 248.74/165.23 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 248.74/165.23 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) 248.74/165.23 248.74/165.23 The TRS R consists of the following rules: 248.74/165.23 248.74/165.23 new_primModNatS1(Succ(Succ(vyv292000)), Succ(vyv291000)) -> new_primModNatS01(vyv292000, vyv291000, vyv292000, vyv291000) 248.74/165.23 new_primModNatS01(vyv330, vyv331, Zero, Zero) -> new_primModNatS02(vyv330, vyv331) 248.74/165.23 new_primModNatS02(vyv330, vyv331) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv330), Succ(vyv331)), Succ(vyv331)) 248.74/165.23 new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Succ(vyv3330)) -> new_primModNatS01(vyv330, vyv331, vyv3320, vyv3330) 248.74/165.23 new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Zero) -> new_primModNatS02(vyv330, vyv331) 248.74/165.23 new_primModNatS01(vyv330, vyv331, Zero, Succ(vyv3330)) -> Succ(Succ(vyv330)) 248.74/165.23 new_primMinusNatS2(Succ(vyv3100), Succ(vyv3110)) -> new_primMinusNatS2(vyv3100, vyv3110) 248.74/165.23 new_primModNatS1(Succ(Zero), Succ(vyv291000)) -> Succ(Zero) 248.74/165.23 new_primModNatS1(Zero, vyv29100) -> Zero 248.74/165.23 new_primMinusNatS2(Zero, Zero) -> Zero 248.74/165.23 new_primMinusNatS2(Zero, Succ(vyv3110)) -> Zero 248.74/165.23 new_primMinusNatS2(Succ(vyv3100), Zero) -> Succ(vyv3100) 248.74/165.23 new_esEs(Pos(Succ(vyv24100))) -> new_primEqInt(Pos(Succ(vyv24100))) 248.74/165.23 new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) 248.74/165.23 new_primEqInt(Pos(Zero)) -> True 248.74/165.23 new_primEqInt(Pos(Succ(vyv242000))) -> False 248.74/165.23 248.74/165.23 The set Q consists of the following terms: 248.74/165.23 248.74/165.23 new_primModNatS1(Succ(Zero), Succ(x0)) 248.74/165.23 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 248.74/165.23 new_primEqInt(Pos(Zero)) 248.74/165.23 new_primModNatS02(x0, x1) 248.74/165.23 new_primModNatS01(x0, x1, Succ(x2), Zero) 248.74/165.23 new_primModNatS01(x0, x1, Zero, Succ(x2)) 248.74/165.23 new_primMinusNatS2(Zero, Zero) 248.74/165.23 new_esEs(Neg(Succ(x0))) 248.74/165.23 new_primMinusNatS2(Zero, Succ(x0)) 248.74/165.23 new_primModNatS1(Succ(Zero), Zero) 248.74/165.23 new_esEs(Pos(Zero)) 248.74/165.23 new_primEqInt(Neg(Succ(x0))) 248.74/165.23 new_primMinusNatS2(Succ(x0), Zero) 248.74/165.23 new_primEqInt(Neg(Zero)) 248.74/165.23 new_primModNatS01(x0, x1, Zero, Zero) 248.74/165.23 new_primEqInt(Pos(Succ(x0))) 248.74/165.23 new_primMinusNatS2(Succ(x0), Succ(x1)) 248.74/165.23 new_primModNatS1(Succ(Succ(x0)), Zero) 248.74/165.23 new_primModNatS1(Zero, x0) 248.74/165.23 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 248.74/165.23 new_esEs(Neg(Zero)) 248.74/165.23 new_esEs(Pos(Succ(x0))) 248.74/165.23 248.74/165.23 We have to consider all minimal (P,Q,R)-chains. 248.74/165.23 ---------------------------------------- 248.74/165.23 248.74/165.23 (504) QReductionProof (EQUIVALENT) 248.74/165.23 We deleted the following terms from Q as they contain symbols which do neither occur in P nor in R.[THIEMANN]. 248.74/165.23 248.74/165.23 new_esEs(Neg(Succ(x0))) 248.74/165.23 new_primEqInt(Neg(Succ(x0))) 248.74/165.23 new_primEqInt(Neg(Zero)) 248.74/165.23 new_esEs(Neg(Zero)) 248.74/165.23 248.74/165.23 248.74/165.23 ---------------------------------------- 248.74/165.23 248.74/165.23 (505) 248.74/165.23 Obligation: 248.74/165.23 Q DP problem: 248.74/165.23 The TRS P consists of the following rules: 248.74/165.23 248.74/165.23 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) 248.74/165.23 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x3)))), Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))) 248.74/165.23 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 248.74/165.23 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) 248.74/165.23 248.74/165.23 The TRS R consists of the following rules: 248.74/165.23 248.74/165.23 new_primModNatS1(Succ(Succ(vyv292000)), Succ(vyv291000)) -> new_primModNatS01(vyv292000, vyv291000, vyv292000, vyv291000) 248.74/165.23 new_primModNatS01(vyv330, vyv331, Zero, Zero) -> new_primModNatS02(vyv330, vyv331) 248.74/165.23 new_primModNatS02(vyv330, vyv331) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv330), Succ(vyv331)), Succ(vyv331)) 248.74/165.23 new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Succ(vyv3330)) -> new_primModNatS01(vyv330, vyv331, vyv3320, vyv3330) 248.74/165.23 new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Zero) -> new_primModNatS02(vyv330, vyv331) 248.74/165.23 new_primModNatS01(vyv330, vyv331, Zero, Succ(vyv3330)) -> Succ(Succ(vyv330)) 248.74/165.23 new_primMinusNatS2(Succ(vyv3100), Succ(vyv3110)) -> new_primMinusNatS2(vyv3100, vyv3110) 248.74/165.23 new_primModNatS1(Succ(Zero), Succ(vyv291000)) -> Succ(Zero) 248.74/165.23 new_primModNatS1(Zero, vyv29100) -> Zero 248.74/165.23 new_primMinusNatS2(Zero, Zero) -> Zero 248.74/165.23 new_primMinusNatS2(Zero, Succ(vyv3110)) -> Zero 248.74/165.23 new_primMinusNatS2(Succ(vyv3100), Zero) -> Succ(vyv3100) 248.74/165.23 new_esEs(Pos(Succ(vyv24100))) -> new_primEqInt(Pos(Succ(vyv24100))) 248.74/165.23 new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) 248.74/165.23 new_primEqInt(Pos(Zero)) -> True 248.74/165.23 new_primEqInt(Pos(Succ(vyv242000))) -> False 248.74/165.23 248.74/165.23 The set Q consists of the following terms: 248.74/165.23 248.74/165.23 new_primModNatS1(Succ(Zero), Succ(x0)) 248.74/165.23 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 248.74/165.23 new_primEqInt(Pos(Zero)) 248.74/165.23 new_primModNatS02(x0, x1) 248.74/165.23 new_primModNatS01(x0, x1, Succ(x2), Zero) 248.74/165.23 new_primModNatS01(x0, x1, Zero, Succ(x2)) 248.74/165.23 new_primMinusNatS2(Zero, Zero) 248.74/165.23 new_primMinusNatS2(Zero, Succ(x0)) 248.74/165.23 new_primModNatS1(Succ(Zero), Zero) 248.74/165.23 new_esEs(Pos(Zero)) 248.74/165.23 new_primMinusNatS2(Succ(x0), Zero) 248.74/165.23 new_primModNatS01(x0, x1, Zero, Zero) 248.74/165.23 new_primEqInt(Pos(Succ(x0))) 248.74/165.23 new_primMinusNatS2(Succ(x0), Succ(x1)) 248.74/165.23 new_primModNatS1(Succ(Succ(x0)), Zero) 248.74/165.23 new_primModNatS1(Zero, x0) 248.74/165.23 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 248.74/165.23 new_esEs(Pos(Succ(x0))) 248.74/165.23 248.74/165.23 We have to consider all (P,Q,R)-chains. 248.74/165.23 ---------------------------------------- 248.74/165.23 248.74/165.23 (506) InductionCalculusProof (EQUIVALENT) 248.74/165.23 Note that final constraints are written in bold face. 248.74/165.23 248.74/165.23 248.74/165.23 248.74/165.23 For Pair new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) the following chains were created: 248.74/165.23 *We consider the chain new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))), new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x4)))), Pos(Succ(Succ(Succ(x5))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x4)))), Pos(new_primModNatS01(Succ(x5), Succ(x4), x5, x4))) which results in the following constraint: 248.74/165.23 248.74/165.23 (1) (new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2))))))=new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x4)))), Pos(Succ(Succ(Succ(x5))))) ==> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2))))))) 248.74/165.23 248.74/165.23 248.74/165.23 248.74/165.23 We simplified constraint (1) using rules (I), (II), (IV), (VII) which results in the following new constraint: 248.74/165.23 248.74/165.23 (2) (Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))=x34 & new_esEs(x34)=False ==> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2))))))) 248.74/165.23 248.74/165.23 248.74/165.23 248.74/165.23 We simplified constraint (2) using rule (V) (with possible (I) afterwards) using induction on new_esEs(x34)=False which results in the following new constraints: 248.74/165.23 248.74/165.23 (3) (new_primEqInt(Pos(Succ(x35)))=False & Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))=Pos(Succ(x35)) ==> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2))))))) 248.74/165.23 248.74/165.23 (4) (new_primEqInt(Pos(Zero))=False & Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))=Pos(Zero) ==> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2))))))) 248.74/165.23 248.74/165.23 248.74/165.23 248.74/165.23 We simplified constraint (3) using rules (I), (II), (VII) which results in the following new constraint: 248.74/165.23 248.74/165.23 (5) (Pos(Succ(x35))=x36 & new_primEqInt(x36)=False & Succ(Succ(x2))=x37 & Succ(Succ(x3))=x38 & new_primModNatS01(x37, x38, x2, x3)=Succ(x35) ==> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2))))))) 248.74/165.23 248.74/165.23 248.74/165.23 248.74/165.23 We simplified constraint (4) using rules (I), (II), (VII) which results in the following new constraint: 248.74/165.23 248.74/165.23 (6) (Pos(Zero)=x78 & new_primEqInt(x78)=False & Succ(Succ(x2))=x79 & Succ(Succ(x3))=x80 & new_primModNatS01(x79, x80, x2, x3)=Zero ==> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2))))))) 248.74/165.23 248.74/165.23 248.74/165.23 248.74/165.23 We simplified constraint (5) using rule (V) (with possible (I) afterwards) using induction on new_primEqInt(x36)=False which results in the following new constraint: 248.74/165.23 248.74/165.23 (7) (False=False & Pos(Succ(x35))=Pos(Succ(x39)) & Succ(Succ(x2))=x37 & Succ(Succ(x3))=x38 & new_primModNatS01(x37, x38, x2, x3)=Succ(x35) ==> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2))))))) 248.74/165.23 248.74/165.23 248.74/165.23 248.74/165.23 We simplified constraint (7) using rules (I), (II), (IV) which results in the following new constraint: 248.74/165.23 248.74/165.23 (8) (Succ(Succ(x2))=x37 & Succ(Succ(x3))=x38 & new_primModNatS01(x37, x38, x2, x3)=Succ(x35) ==> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2))))))) 248.74/165.23 248.74/165.23 248.74/165.23 248.74/165.23 We simplified constraint (8) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS01(x37, x38, x2, x3)=Succ(x35) which results in the following new constraints: 248.74/165.23 248.74/165.23 (9) (new_primModNatS02(x41, x40)=Succ(x35) & Succ(Succ(Zero))=x41 & Succ(Succ(Zero))=x40 ==> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(Succ(Zero)), Succ(Succ(Zero)), Zero, Zero))), Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(Zero))))))) 248.74/165.23 248.74/165.23 (10) (new_primModNatS01(x45, x44, x43, x42)=Succ(x35) & Succ(Succ(Succ(x43)))=x45 & Succ(Succ(Succ(x42)))=x44 & (\/x46:new_primModNatS01(x45, x44, x43, x42)=Succ(x46) & Succ(Succ(x43))=x45 & Succ(Succ(x42))=x44 ==> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x43))))), Pos(Succ(Succ(Succ(Succ(x42))))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(Succ(x43)), Succ(Succ(x42)), x43, x42))), Pos(Succ(Succ(Succ(Succ(x42))))), Pos(Succ(Succ(Succ(Succ(x43))))))) ==> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Succ(x43)))))), Pos(Succ(Succ(Succ(Succ(Succ(x42)))))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(Succ(Succ(x43))), Succ(Succ(Succ(x42))), Succ(x43), Succ(x42)))), Pos(Succ(Succ(Succ(Succ(Succ(x42)))))), Pos(Succ(Succ(Succ(Succ(Succ(x43)))))))) 248.74/165.23 248.74/165.23 (11) (new_primModNatS02(x49, x48)=Succ(x35) & Succ(Succ(Succ(x47)))=x49 & Succ(Succ(Zero))=x48 ==> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Succ(x47)))))), Pos(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(Succ(Succ(x47))), Succ(Succ(Zero)), Succ(x47), Zero))), Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(Succ(x47)))))))) 248.74/165.23 248.74/165.23 (12) (Succ(Succ(x52))=Succ(x35) & Succ(Succ(Zero))=x52 & Succ(Succ(Succ(x50)))=x51 ==> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(Succ(x50)))))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(Succ(Zero)), Succ(Succ(Succ(x50))), Zero, Succ(x50)))), Pos(Succ(Succ(Succ(Succ(Succ(x50)))))), Pos(Succ(Succ(Succ(Succ(Zero))))))) 248.74/165.23 248.74/165.23 248.74/165.23 248.74/165.23 We simplified constraint (9) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS02(x41, x40)=Succ(x35) which results in the following new constraint: 248.74/165.23 248.74/165.23 (13) (new_primModNatS1(new_primMinusNatS2(Succ(x54), Succ(x53)), Succ(x53))=Succ(x35) & Succ(Succ(Zero))=x54 & Succ(Succ(Zero))=x53 ==> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(Succ(Zero)), Succ(Succ(Zero)), Zero, Zero))), Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(Zero))))))) 248.74/165.23 248.74/165.23 248.74/165.23 248.74/165.23 We simplified constraint (10) using rule (IV) which results in the following new constraint: 248.74/165.23 248.74/165.23 (14) (new_primModNatS01(x45, x44, x43, x42)=Succ(x35) & Succ(Succ(Succ(x43)))=x45 & Succ(Succ(Succ(x42)))=x44 ==> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Succ(x43)))))), Pos(Succ(Succ(Succ(Succ(Succ(x42)))))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(Succ(Succ(x43))), Succ(Succ(Succ(x42))), Succ(x43), Succ(x42)))), Pos(Succ(Succ(Succ(Succ(Succ(x42)))))), Pos(Succ(Succ(Succ(Succ(Succ(x43)))))))) 248.74/165.23 248.74/165.23 248.74/165.23 248.74/165.23 We simplified constraint (11) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS02(x49, x48)=Succ(x35) which results in the following new constraint: 248.74/165.23 248.74/165.23 (15) (new_primModNatS1(new_primMinusNatS2(Succ(x73), Succ(x72)), Succ(x72))=Succ(x35) & Succ(Succ(Succ(x47)))=x73 & Succ(Succ(Zero))=x72 ==> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Succ(x47)))))), Pos(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(Succ(Succ(x47))), Succ(Succ(Zero)), Succ(x47), Zero))), Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(Succ(x47)))))))) 248.74/165.23 248.74/165.23 248.74/165.23 248.74/165.23 We simplified constraint (12) using rules (I), (II), (IV) which results in the following new constraint: 248.74/165.23 248.74/165.23 (16) (new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(Succ(x50)))))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(Succ(Zero)), Succ(Succ(Succ(x50))), Zero, Succ(x50)))), Pos(Succ(Succ(Succ(Succ(Succ(x50)))))), Pos(Succ(Succ(Succ(Succ(Zero))))))) 248.74/165.23 248.74/165.23 248.74/165.23 248.74/165.23 We simplified constraint (13) using rules (III), (IV), (VII) which results in the following new constraint: 248.74/165.23 248.74/165.23 (17) (new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(Succ(Zero)), Succ(Succ(Zero)), Zero, Zero))), Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(Zero))))))) 248.74/165.23 248.74/165.23 248.74/165.23 248.74/165.23 We simplified constraint (14) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS01(x45, x44, x43, x42)=Succ(x35) which results in the following new constraints: 248.74/165.23 248.74/165.23 (18) (new_primModNatS02(x60, x59)=Succ(x35) & Succ(Succ(Succ(Zero)))=x60 & Succ(Succ(Succ(Zero)))=x59 ==> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Zero))), Succ(Zero), Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))))) 248.74/165.23 248.74/165.23 (19) (new_primModNatS01(x64, x63, x62, x61)=Succ(x35) & Succ(Succ(Succ(Succ(x62))))=x64 & Succ(Succ(Succ(Succ(x61))))=x63 & (\/x65:new_primModNatS01(x64, x63, x62, x61)=Succ(x65) & Succ(Succ(Succ(x62)))=x64 & Succ(Succ(Succ(x61)))=x63 ==> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Succ(x62)))))), Pos(Succ(Succ(Succ(Succ(Succ(x61)))))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(Succ(Succ(x62))), Succ(Succ(Succ(x61))), Succ(x62), Succ(x61)))), Pos(Succ(Succ(Succ(Succ(Succ(x61)))))), Pos(Succ(Succ(Succ(Succ(Succ(x62)))))))) ==> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Succ(Succ(x62))))))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x61))))))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(Succ(Succ(Succ(x62)))), Succ(Succ(Succ(Succ(x61)))), Succ(Succ(x62)), Succ(Succ(x61))))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x61))))))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x62))))))))) 248.74/165.23 248.74/165.23 (20) (new_primModNatS02(x68, x67)=Succ(x35) & Succ(Succ(Succ(Succ(x66))))=x68 & Succ(Succ(Succ(Zero)))=x67 ==> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Succ(Succ(x66))))))), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(Succ(Succ(Succ(x66)))), Succ(Succ(Succ(Zero))), Succ(Succ(x66)), Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x66))))))))) 248.74/165.23 248.74/165.23 (21) (Succ(Succ(x71))=Succ(x35) & Succ(Succ(Succ(Zero)))=x71 & Succ(Succ(Succ(Succ(x69))))=x70 ==> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x69))))))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Succ(x69)))), Succ(Zero), Succ(Succ(x69))))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x69))))))), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))))) 248.74/165.23 248.74/165.23 248.74/165.23 248.74/165.23 We simplified constraint (18) using rules (III), (IV) which results in the following new constraint: 248.74/165.23 248.74/165.23 (22) (new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Zero))), Succ(Zero), Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))))) 248.74/165.23 248.74/165.23 248.74/165.23 248.74/165.23 We simplified constraint (19) using rules (III), (IV) which results in the following new constraint: 248.74/165.23 248.74/165.23 (23) (new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Succ(Succ(x62))))))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x61))))))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(Succ(Succ(Succ(x62)))), Succ(Succ(Succ(Succ(x61)))), Succ(Succ(x62)), Succ(Succ(x61))))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x61))))))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x62))))))))) 248.74/165.23 248.74/165.23 248.74/165.23 248.74/165.23 We simplified constraint (20) using rules (III), (IV) which results in the following new constraint: 248.74/165.23 248.74/165.23 (24) (new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Succ(Succ(x66))))))), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(Succ(Succ(Succ(x66)))), Succ(Succ(Succ(Zero))), Succ(Succ(x66)), Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x66))))))))) 248.74/165.23 248.74/165.23 248.74/165.23 248.74/165.23 We simplified constraint (21) using rules (I), (II), (IV) which results in the following new constraint: 248.74/165.23 248.74/165.23 (25) (new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x69))))))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Succ(x69)))), Succ(Zero), Succ(Succ(x69))))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x69))))))), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))))) 248.74/165.23 248.74/165.23 248.74/165.23 248.74/165.23 We simplified constraint (15) using rules (III), (IV), (VII) which results in the following new constraint: 248.74/165.23 248.74/165.23 (26) (new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Succ(x47)))))), Pos(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(Succ(Succ(x47))), Succ(Succ(Zero)), Succ(x47), Zero))), Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(Succ(x47)))))))) 248.74/165.23 248.74/165.23 248.74/165.23 248.74/165.23 We simplified constraint (6) using rule (V) (with possible (I) afterwards) using induction on new_primEqInt(x78)=False which results in the following new constraint: 248.74/165.23 248.74/165.23 (27) (False=False & Pos(Zero)=Pos(Succ(x81)) & Succ(Succ(x2))=x79 & Succ(Succ(x3))=x80 & new_primModNatS01(x79, x80, x2, x3)=Zero ==> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2))))))) 248.74/165.23 248.74/165.23 248.74/165.23 248.74/165.23 We solved constraint (27) using rules (I), (II). 248.74/165.23 248.74/165.23 248.74/165.23 248.74/165.23 248.74/165.23 For Pair new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x3)))), Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))) the following chains were created: 248.74/165.23 *We consider the chain new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x10)))), Pos(Succ(Succ(Succ(x11))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x10)))), Pos(new_primModNatS01(Succ(x11), Succ(x10), x11, x10))), new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x12))))), Pos(Succ(Succ(Succ(Succ(x13)))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(Succ(x12)), Succ(Succ(x13)), x12, x13))), Pos(Succ(Succ(Succ(Succ(x13))))), Pos(Succ(Succ(Succ(Succ(x12)))))) which results in the following constraint: 248.74/165.23 248.74/165.23 (1) (new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x10)))), Pos(new_primModNatS01(Succ(x11), Succ(x10), x11, x10)))=new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x12))))), Pos(Succ(Succ(Succ(Succ(x13)))))) ==> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x10)))), Pos(Succ(Succ(Succ(x11)))))_>=_new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x10)))), Pos(new_primModNatS01(Succ(x11), Succ(x10), x11, x10)))) 248.74/165.23 248.74/165.23 248.74/165.23 248.74/165.23 We simplified constraint (1) using rules (I), (II), (III), (VII) which results in the following new constraint: 248.74/165.23 248.74/165.23 (2) (Succ(x11)=x82 & Succ(Succ(x12))=x83 & Succ(x12)=x84 & new_primModNatS01(x82, x83, x11, x84)=Succ(Succ(Succ(Succ(x13)))) ==> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x12))))), Pos(Succ(Succ(Succ(x11)))))_>=_new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x12))))), Pos(new_primModNatS01(Succ(x11), Succ(Succ(x12)), x11, Succ(x12))))) 248.74/165.23 248.74/165.23 248.74/165.23 248.74/165.23 We simplified constraint (2) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS01(x82, x83, x11, x84)=Succ(Succ(Succ(Succ(x13)))) which results in the following new constraints: 248.74/165.23 248.74/165.23 (3) (new_primModNatS02(x86, x85)=Succ(Succ(Succ(Succ(x13)))) & Succ(Zero)=x86 & Succ(Succ(x12))=x85 & Succ(x12)=Zero ==> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x12))))), Pos(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x12))))), Pos(new_primModNatS01(Succ(Zero), Succ(Succ(x12)), Zero, Succ(x12))))) 248.74/165.23 248.74/165.23 (4) (new_primModNatS01(x90, x89, x88, x87)=Succ(Succ(Succ(Succ(x13)))) & Succ(Succ(x88))=x90 & Succ(Succ(x12))=x89 & Succ(x12)=Succ(x87) & (\/x91,x92:new_primModNatS01(x90, x89, x88, x87)=Succ(Succ(Succ(Succ(x91)))) & Succ(x88)=x90 & Succ(Succ(x92))=x89 & Succ(x92)=x87 ==> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x92))))), Pos(Succ(Succ(Succ(x88)))))_>=_new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x92))))), Pos(new_primModNatS01(Succ(x88), Succ(Succ(x92)), x88, Succ(x92))))) ==> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x12))))), Pos(Succ(Succ(Succ(Succ(x88))))))_>=_new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x12))))), Pos(new_primModNatS01(Succ(Succ(x88)), Succ(Succ(x12)), Succ(x88), Succ(x12))))) 248.74/165.23 248.74/165.23 (5) (new_primModNatS02(x95, x94)=Succ(Succ(Succ(Succ(x13)))) & Succ(Succ(x93))=x95 & Succ(Succ(x12))=x94 & Succ(x12)=Zero ==> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x12))))), Pos(Succ(Succ(Succ(Succ(x93))))))_>=_new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x12))))), Pos(new_primModNatS01(Succ(Succ(x93)), Succ(Succ(x12)), Succ(x93), Succ(x12))))) 248.74/165.23 248.74/165.23 (6) (Succ(Succ(x98))=Succ(Succ(Succ(Succ(x13)))) & Succ(Zero)=x98 & Succ(Succ(x12))=x97 & Succ(x12)=Succ(x96) ==> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x12))))), Pos(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x12))))), Pos(new_primModNatS01(Succ(Zero), Succ(Succ(x12)), Zero, Succ(x12))))) 248.74/165.23 248.74/165.23 248.74/165.23 248.74/165.23 We solved constraint (3) using rules (I), (II).We simplified constraint (4) using rules (I), (II), (III), (IV) which results in the following new constraint: 248.74/165.23 248.74/165.23 (7) (new_primModNatS01(x90, x89, x88, x87)=Succ(Succ(Succ(Succ(x13)))) & Succ(Succ(x88))=x90 & Succ(Succ(x87))=x89 ==> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x87))))), Pos(Succ(Succ(Succ(Succ(x88))))))_>=_new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x87))))), Pos(new_primModNatS01(Succ(Succ(x88)), Succ(Succ(x87)), Succ(x88), Succ(x87))))) 248.74/165.23 248.74/165.23 248.74/165.23 248.74/165.23 We solved constraint (5) using rules (I), (II).We solved constraint (6) using rules (I), (II), (III), (IV).We simplified constraint (7) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS01(x90, x89, x88, x87)=Succ(Succ(Succ(Succ(x13)))) which results in the following new constraints: 248.74/165.23 248.74/165.23 (8) (new_primModNatS02(x100, x99)=Succ(Succ(Succ(Succ(x13)))) & Succ(Succ(Zero))=x100 & Succ(Succ(Zero))=x99 ==> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(new_primModNatS01(Succ(Succ(Zero)), Succ(Succ(Zero)), Succ(Zero), Succ(Zero))))) 248.74/165.23 248.74/165.23 (9) (new_primModNatS01(x104, x103, x102, x101)=Succ(Succ(Succ(Succ(x13)))) & Succ(Succ(Succ(x102)))=x104 & Succ(Succ(Succ(x101)))=x103 & (\/x105:new_primModNatS01(x104, x103, x102, x101)=Succ(Succ(Succ(Succ(x105)))) & Succ(Succ(x102))=x104 & Succ(Succ(x101))=x103 ==> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x101))))), Pos(Succ(Succ(Succ(Succ(x102))))))_>=_new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x101))))), Pos(new_primModNatS01(Succ(Succ(x102)), Succ(Succ(x101)), Succ(x102), Succ(x101))))) ==> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(Succ(x101)))))), Pos(Succ(Succ(Succ(Succ(Succ(x102)))))))_>=_new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Succ(x101)))))), Pos(new_primModNatS01(Succ(Succ(Succ(x102))), Succ(Succ(Succ(x101))), Succ(Succ(x102)), Succ(Succ(x101)))))) 248.74/165.23 248.74/165.23 (10) (new_primModNatS02(x108, x107)=Succ(Succ(Succ(Succ(x13)))) & Succ(Succ(Succ(x106)))=x108 & Succ(Succ(Zero))=x107 ==> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(Succ(x106)))))))_>=_new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(new_primModNatS01(Succ(Succ(Succ(x106))), Succ(Succ(Zero)), Succ(Succ(x106)), Succ(Zero))))) 248.74/165.23 248.74/165.23 (11) (Succ(Succ(x111))=Succ(Succ(Succ(Succ(x13)))) & Succ(Succ(Zero))=x111 & Succ(Succ(Succ(x109)))=x110 ==> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(Succ(x109)))))), Pos(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Succ(x109)))))), Pos(new_primModNatS01(Succ(Succ(Zero)), Succ(Succ(Succ(x109))), Succ(Zero), Succ(Succ(x109)))))) 248.74/165.23 248.74/165.23 248.74/165.23 248.74/165.23 We simplified constraint (8) using rules (III), (IV) which results in the following new constraint: 248.74/165.23 248.74/165.23 (12) (new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(new_primModNatS01(Succ(Succ(Zero)), Succ(Succ(Zero)), Succ(Zero), Succ(Zero))))) 248.74/165.23 248.74/165.23 248.74/165.23 248.74/165.23 We simplified constraint (9) using rules (III), (IV) which results in the following new constraint: 248.74/165.23 248.74/165.23 (13) (new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(Succ(x101)))))), Pos(Succ(Succ(Succ(Succ(Succ(x102)))))))_>=_new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Succ(x101)))))), Pos(new_primModNatS01(Succ(Succ(Succ(x102))), Succ(Succ(Succ(x101))), Succ(Succ(x102)), Succ(Succ(x101)))))) 248.74/165.23 248.74/165.23 248.74/165.23 248.74/165.23 We simplified constraint (10) using rules (III), (IV) which results in the following new constraint: 248.74/165.23 248.74/165.23 (14) (new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(Succ(x106)))))))_>=_new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(new_primModNatS01(Succ(Succ(Succ(x106))), Succ(Succ(Zero)), Succ(Succ(x106)), Succ(Zero))))) 248.74/165.23 248.74/165.23 248.74/165.23 248.74/165.23 We simplified constraint (11) using rules (I), (II), (III), (IV) which results in the following new constraint: 248.74/165.23 248.74/165.23 (15) (new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(Succ(x109)))))), Pos(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Succ(x109)))))), Pos(new_primModNatS01(Succ(Succ(Zero)), Succ(Succ(Succ(x109))), Succ(Zero), Succ(Succ(x109)))))) 248.74/165.23 248.74/165.23 248.74/165.23 248.74/165.23 248.74/165.23 *We consider the chain new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x16)))), Pos(Succ(Succ(Succ(x17))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x16)))), Pos(new_primModNatS01(Succ(x17), Succ(x16), x17, x16))), new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x18)))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x18))))), Pos(Succ(Succ(Succ(Zero))))) which results in the following constraint: 248.74/165.23 248.74/165.23 (1) (new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x16)))), Pos(new_primModNatS01(Succ(x17), Succ(x16), x17, x16)))=new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x18)))))) ==> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x16)))), Pos(Succ(Succ(Succ(x17)))))_>=_new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x16)))), Pos(new_primModNatS01(Succ(x17), Succ(x16), x17, x16)))) 248.74/165.23 248.74/165.23 248.74/165.23 248.74/165.23 We simplified constraint (1) using rules (I), (II), (III), (VII) which results in the following new constraint: 248.74/165.23 248.74/165.23 (2) (Succ(x17)=x112 & Succ(Zero)=x113 & Zero=x114 & new_primModNatS01(x112, x113, x17, x114)=Succ(Succ(Succ(Succ(x18)))) ==> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(x17)))))_>=_new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS01(Succ(x17), Succ(Zero), x17, Zero)))) 248.74/165.23 248.74/165.23 248.74/165.23 248.74/165.23 We simplified constraint (2) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS01(x112, x113, x17, x114)=Succ(Succ(Succ(Succ(x18)))) which results in the following new constraints: 248.74/165.23 248.74/165.23 (3) (new_primModNatS02(x116, x115)=Succ(Succ(Succ(Succ(x18)))) & Succ(Zero)=x116 & Succ(Zero)=x115 & Zero=Zero ==> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS01(Succ(Zero), Succ(Zero), Zero, Zero)))) 248.74/165.23 248.74/165.23 (4) (new_primModNatS01(x120, x119, x118, x117)=Succ(Succ(Succ(Succ(x18)))) & Succ(Succ(x118))=x120 & Succ(Zero)=x119 & Zero=Succ(x117) & (\/x121:new_primModNatS01(x120, x119, x118, x117)=Succ(Succ(Succ(Succ(x121)))) & Succ(x118)=x120 & Succ(Zero)=x119 & Zero=x117 ==> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(x118)))))_>=_new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS01(Succ(x118), Succ(Zero), x118, Zero)))) ==> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x118))))))_>=_new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS01(Succ(Succ(x118)), Succ(Zero), Succ(x118), Zero)))) 248.74/165.23 248.74/165.23 (5) (new_primModNatS02(x124, x123)=Succ(Succ(Succ(Succ(x18)))) & Succ(Succ(x122))=x124 & Succ(Zero)=x123 & Zero=Zero ==> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x122))))))_>=_new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS01(Succ(Succ(x122)), Succ(Zero), Succ(x122), Zero)))) 248.74/165.23 248.74/165.23 (6) (Succ(Succ(x127))=Succ(Succ(Succ(Succ(x18)))) & Succ(Zero)=x127 & Succ(Zero)=x126 & Zero=Succ(x125) ==> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS01(Succ(Zero), Succ(Zero), Zero, Zero)))) 248.74/165.23 248.74/165.23 248.74/165.23 248.74/165.23 We simplified constraint (3) using rules (I), (II) which results in the following new constraint: 248.74/165.23 248.74/165.23 (7) (new_primModNatS02(x116, x115)=Succ(Succ(Succ(Succ(x18)))) & Succ(Zero)=x116 & Succ(Zero)=x115 ==> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS01(Succ(Zero), Succ(Zero), Zero, Zero)))) 248.74/165.23 248.74/165.23 248.74/165.23 248.74/165.23 We solved constraint (4) using rules (I), (II).We simplified constraint (5) using rules (I), (II) which results in the following new constraint: 248.74/165.23 248.74/165.23 (8) (new_primModNatS02(x124, x123)=Succ(Succ(Succ(Succ(x18)))) & Succ(Succ(x122))=x124 & Succ(Zero)=x123 ==> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x122))))))_>=_new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS01(Succ(Succ(x122)), Succ(Zero), Succ(x122), Zero)))) 248.74/165.23 248.74/165.23 248.74/165.23 248.74/165.23 We solved constraint (6) using rules (I), (II).We simplified constraint (7) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS02(x116, x115)=Succ(Succ(Succ(Succ(x18)))) which results in the following new constraint: 248.74/165.23 248.74/165.23 (9) (new_primModNatS1(new_primMinusNatS2(Succ(x129), Succ(x128)), Succ(x128))=Succ(Succ(Succ(Succ(x18)))) & Succ(Zero)=x129 & Succ(Zero)=x128 ==> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS01(Succ(Zero), Succ(Zero), Zero, Zero)))) 248.74/165.23 248.74/165.23 248.74/165.23 248.74/165.23 We simplified constraint (9) using rules (III), (IV), (VII) which results in the following new constraint: 248.74/165.23 248.74/165.23 (10) (new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS01(Succ(Zero), Succ(Zero), Zero, Zero)))) 248.74/165.23 248.74/165.23 248.74/165.23 248.74/165.23 We simplified constraint (8) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS02(x124, x123)=Succ(Succ(Succ(Succ(x18)))) which results in the following new constraint: 248.74/165.23 248.74/165.23 (11) (new_primModNatS1(new_primMinusNatS2(Succ(x135), Succ(x134)), Succ(x134))=Succ(Succ(Succ(Succ(x18)))) & Succ(Succ(x122))=x135 & Succ(Zero)=x134 ==> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x122))))))_>=_new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS01(Succ(Succ(x122)), Succ(Zero), Succ(x122), Zero)))) 248.87/165.23 248.87/165.23 248.87/165.23 248.87/165.23 We simplified constraint (11) using rules (III), (IV), (VII) which results in the following new constraint: 248.87/165.23 248.87/165.23 (12) (new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x122))))))_>=_new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS01(Succ(Succ(x122)), Succ(Zero), Succ(x122), Zero)))) 248.87/165.23 248.87/165.23 248.87/165.23 248.87/165.23 248.87/165.23 *We consider the chain new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x19)))), Pos(Succ(Succ(Succ(x20))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x19)))), Pos(new_primModNatS01(Succ(x20), Succ(x19), x20, x19))), new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x21))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x21), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x21)))))) which results in the following constraint: 248.87/165.23 248.87/165.23 (1) (new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x19)))), Pos(new_primModNatS01(Succ(x20), Succ(x19), x20, x19)))=new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x21))))), Pos(Succ(Succ(Succ(Zero))))) ==> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x19)))), Pos(Succ(Succ(Succ(x20)))))_>=_new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x19)))), Pos(new_primModNatS01(Succ(x20), Succ(x19), x20, x19)))) 248.87/165.23 248.87/165.23 248.87/165.23 248.87/165.23 We simplified constraint (1) using rules (I), (II), (III), (VII) which results in the following new constraint: 248.87/165.23 248.87/165.23 (2) (Succ(x20)=x140 & Succ(Succ(x21))=x141 & Succ(x21)=x142 & new_primModNatS01(x140, x141, x20, x142)=Succ(Succ(Succ(Zero))) ==> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x21))))), Pos(Succ(Succ(Succ(x20)))))_>=_new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x21))))), Pos(new_primModNatS01(Succ(x20), Succ(Succ(x21)), x20, Succ(x21))))) 248.87/165.23 248.87/165.23 248.87/165.23 248.87/165.23 We simplified constraint (2) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS01(x140, x141, x20, x142)=Succ(Succ(Succ(Zero))) which results in the following new constraints: 248.87/165.23 248.87/165.23 (3) (new_primModNatS02(x144, x143)=Succ(Succ(Succ(Zero))) & Succ(Zero)=x144 & Succ(Succ(x21))=x143 & Succ(x21)=Zero ==> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x21))))), Pos(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x21))))), Pos(new_primModNatS01(Succ(Zero), Succ(Succ(x21)), Zero, Succ(x21))))) 248.87/165.23 248.87/165.23 (4) (new_primModNatS01(x148, x147, x146, x145)=Succ(Succ(Succ(Zero))) & Succ(Succ(x146))=x148 & Succ(Succ(x21))=x147 & Succ(x21)=Succ(x145) & (\/x149:new_primModNatS01(x148, x147, x146, x145)=Succ(Succ(Succ(Zero))) & Succ(x146)=x148 & Succ(Succ(x149))=x147 & Succ(x149)=x145 ==> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x149))))), Pos(Succ(Succ(Succ(x146)))))_>=_new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x149))))), Pos(new_primModNatS01(Succ(x146), Succ(Succ(x149)), x146, Succ(x149))))) ==> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x21))))), Pos(Succ(Succ(Succ(Succ(x146))))))_>=_new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x21))))), Pos(new_primModNatS01(Succ(Succ(x146)), Succ(Succ(x21)), Succ(x146), Succ(x21))))) 248.87/165.23 248.87/165.23 (5) (new_primModNatS02(x152, x151)=Succ(Succ(Succ(Zero))) & Succ(Succ(x150))=x152 & Succ(Succ(x21))=x151 & Succ(x21)=Zero ==> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x21))))), Pos(Succ(Succ(Succ(Succ(x150))))))_>=_new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x21))))), Pos(new_primModNatS01(Succ(Succ(x150)), Succ(Succ(x21)), Succ(x150), Succ(x21))))) 248.87/165.23 248.87/165.23 (6) (Succ(Succ(x155))=Succ(Succ(Succ(Zero))) & Succ(Zero)=x155 & Succ(Succ(x21))=x154 & Succ(x21)=Succ(x153) ==> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x21))))), Pos(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x21))))), Pos(new_primModNatS01(Succ(Zero), Succ(Succ(x21)), Zero, Succ(x21))))) 248.87/165.23 248.87/165.23 248.87/165.23 248.87/165.23 We solved constraint (3) using rules (I), (II).We simplified constraint (4) using rules (I), (II), (III), (IV) which results in the following new constraint: 248.87/165.23 248.87/165.23 (7) (new_primModNatS01(x148, x147, x146, x145)=Succ(Succ(Succ(Zero))) & Succ(Succ(x146))=x148 & Succ(Succ(x145))=x147 ==> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x145))))), Pos(Succ(Succ(Succ(Succ(x146))))))_>=_new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x145))))), Pos(new_primModNatS01(Succ(Succ(x146)), Succ(Succ(x145)), Succ(x146), Succ(x145))))) 248.87/165.23 248.87/165.23 248.87/165.23 248.87/165.23 We solved constraint (5) using rules (I), (II).We simplified constraint (6) using rules (I), (II), (III), (IV) which results in the following new constraint: 248.87/165.23 248.87/165.23 (8) (new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x21))))), Pos(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x21))))), Pos(new_primModNatS01(Succ(Zero), Succ(Succ(x21)), Zero, Succ(x21))))) 248.87/165.23 248.87/165.23 248.87/165.23 248.87/165.23 We simplified constraint (7) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS01(x148, x147, x146, x145)=Succ(Succ(Succ(Zero))) which results in the following new constraints: 248.87/165.23 248.87/165.23 (9) (new_primModNatS02(x157, x156)=Succ(Succ(Succ(Zero))) & Succ(Succ(Zero))=x157 & Succ(Succ(Zero))=x156 ==> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(new_primModNatS01(Succ(Succ(Zero)), Succ(Succ(Zero)), Succ(Zero), Succ(Zero))))) 248.87/165.23 248.87/165.23 (10) (new_primModNatS01(x161, x160, x159, x158)=Succ(Succ(Succ(Zero))) & Succ(Succ(Succ(x159)))=x161 & Succ(Succ(Succ(x158)))=x160 & (new_primModNatS01(x161, x160, x159, x158)=Succ(Succ(Succ(Zero))) & Succ(Succ(x159))=x161 & Succ(Succ(x158))=x160 ==> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x158))))), Pos(Succ(Succ(Succ(Succ(x159))))))_>=_new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x158))))), Pos(new_primModNatS01(Succ(Succ(x159)), Succ(Succ(x158)), Succ(x159), Succ(x158))))) ==> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(Succ(x158)))))), Pos(Succ(Succ(Succ(Succ(Succ(x159)))))))_>=_new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Succ(x158)))))), Pos(new_primModNatS01(Succ(Succ(Succ(x159))), Succ(Succ(Succ(x158))), Succ(Succ(x159)), Succ(Succ(x158)))))) 248.87/165.23 248.87/165.23 (11) (new_primModNatS02(x164, x163)=Succ(Succ(Succ(Zero))) & Succ(Succ(Succ(x162)))=x164 & Succ(Succ(Zero))=x163 ==> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(Succ(x162)))))))_>=_new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(new_primModNatS01(Succ(Succ(Succ(x162))), Succ(Succ(Zero)), Succ(Succ(x162)), Succ(Zero))))) 248.87/165.23 248.87/165.23 (12) (Succ(Succ(x167))=Succ(Succ(Succ(Zero))) & Succ(Succ(Zero))=x167 & Succ(Succ(Succ(x165)))=x166 ==> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(Succ(x165)))))), Pos(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Succ(x165)))))), Pos(new_primModNatS01(Succ(Succ(Zero)), Succ(Succ(Succ(x165))), Succ(Zero), Succ(Succ(x165)))))) 248.87/165.23 248.87/165.23 248.87/165.23 248.87/165.23 We simplified constraint (9) using rules (III), (IV) which results in the following new constraint: 248.87/165.23 248.87/165.23 (13) (new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(new_primModNatS01(Succ(Succ(Zero)), Succ(Succ(Zero)), Succ(Zero), Succ(Zero))))) 248.87/165.23 248.87/165.23 248.87/165.23 248.87/165.23 We simplified constraint (10) using rules (III), (IV) which results in the following new constraint: 248.87/165.23 248.87/165.23 (14) (new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(Succ(x158)))))), Pos(Succ(Succ(Succ(Succ(Succ(x159)))))))_>=_new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Succ(x158)))))), Pos(new_primModNatS01(Succ(Succ(Succ(x159))), Succ(Succ(Succ(x158))), Succ(Succ(x159)), Succ(Succ(x158)))))) 248.87/165.23 248.87/165.23 248.87/165.23 248.87/165.23 We simplified constraint (11) using rules (III), (IV) which results in the following new constraint: 248.87/165.23 248.87/165.23 (15) (new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(Succ(x162)))))))_>=_new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(new_primModNatS01(Succ(Succ(Succ(x162))), Succ(Succ(Zero)), Succ(Succ(x162)), Succ(Zero))))) 248.87/165.23 248.87/165.23 248.87/165.23 248.87/165.23 We solved constraint (12) using rules (I), (II), (III), (IV). 248.87/165.23 248.87/165.23 248.87/165.23 248.87/165.23 248.87/165.23 For Pair new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) the following chains were created: 248.87/165.23 *We consider the chain new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x23)))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x23))))), Pos(Succ(Succ(Succ(Zero))))), new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x24)))), Pos(Succ(Succ(Succ(x25))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x24)))), Pos(new_primModNatS01(Succ(x25), Succ(x24), x25, x24))) which results in the following constraint: 248.87/165.23 248.87/165.23 (1) (new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x23))))), Pos(Succ(Succ(Succ(Zero)))))=new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x24)))), Pos(Succ(Succ(Succ(x25))))) ==> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x23))))))_>=_new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x23))))), Pos(Succ(Succ(Succ(Zero)))))) 248.87/165.23 248.87/165.23 248.87/165.23 248.87/165.23 We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: 248.87/165.23 248.87/165.23 (2) (new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x23))))))_>=_new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x23))))), Pos(Succ(Succ(Succ(Zero)))))) 248.87/165.23 248.87/165.23 248.87/165.23 248.87/165.23 248.87/165.23 248.87/165.23 248.87/165.23 248.87/165.23 248.87/165.23 For Pair new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) the following chains were created: 248.87/165.23 *We consider the chain new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x29))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x29), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x29)))))), new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x30)))), Pos(Succ(Succ(Succ(x31))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x30)))), Pos(new_primModNatS01(Succ(x31), Succ(x30), x31, x30))) which results in the following constraint: 248.87/165.23 248.87/165.23 (1) (new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x29), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x29))))))=new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x30)))), Pos(Succ(Succ(Succ(x31))))) ==> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x29))))), Pos(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x29), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x29))))))) 248.87/165.23 248.87/165.23 248.87/165.23 248.87/165.23 We simplified constraint (1) using rules (I), (II), (IV), (VII) which results in the following new constraint: 248.87/165.23 248.87/165.23 (2) (Pos(new_primModNatS1(Succ(x29), Succ(Succ(Zero))))=x168 & new_esEs(x168)=False ==> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x29))))), Pos(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x29), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x29))))))) 248.87/165.23 248.87/165.23 248.87/165.23 248.87/165.23 We simplified constraint (2) using rule (V) (with possible (I) afterwards) using induction on new_esEs(x168)=False which results in the following new constraints: 248.87/165.23 248.87/165.23 (3) (new_primEqInt(Pos(Succ(x169)))=False & Pos(new_primModNatS1(Succ(x29), Succ(Succ(Zero))))=Pos(Succ(x169)) ==> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x29))))), Pos(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x29), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x29))))))) 248.87/165.23 248.87/165.23 (4) (new_primEqInt(Pos(Zero))=False & Pos(new_primModNatS1(Succ(x29), Succ(Succ(Zero))))=Pos(Zero) ==> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x29))))), Pos(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x29), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x29))))))) 248.87/165.23 248.87/165.23 248.87/165.23 248.87/165.23 We simplified constraint (3) using rules (I), (II), (VII) which results in the following new constraint: 248.87/165.23 248.87/165.23 (5) (Pos(Succ(x169))=x170 & new_primEqInt(x170)=False & Succ(x29)=x171 & Succ(Succ(Zero))=x172 & new_primModNatS1(x171, x172)=Succ(x169) ==> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x29))))), Pos(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x29), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x29))))))) 248.87/165.23 248.87/165.23 248.87/165.23 248.87/165.23 We simplified constraint (4) using rules (I), (II), (VII) which results in the following new constraint: 248.87/165.23 248.87/165.23 (6) (Pos(Zero)=x195 & new_primEqInt(x195)=False & Succ(x29)=x196 & Succ(Succ(Zero))=x197 & new_primModNatS1(x196, x197)=Zero ==> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x29))))), Pos(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x29), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x29))))))) 248.87/165.23 248.87/165.23 248.87/165.23 248.87/165.23 We simplified constraint (5) using rule (V) (with possible (I) afterwards) using induction on new_primEqInt(x170)=False which results in the following new constraint: 248.87/165.23 248.87/165.23 (7) (False=False & Pos(Succ(x169))=Pos(Succ(x173)) & Succ(x29)=x171 & Succ(Succ(Zero))=x172 & new_primModNatS1(x171, x172)=Succ(x169) ==> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x29))))), Pos(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x29), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x29))))))) 248.87/165.23 248.87/165.23 248.87/165.23 248.87/165.23 We simplified constraint (7) using rules (I), (II), (IV) which results in the following new constraint: 248.87/165.23 248.87/165.23 (8) (Succ(x29)=x171 & Succ(Succ(Zero))=x172 & new_primModNatS1(x171, x172)=Succ(x169) ==> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x29))))), Pos(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x29), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x29))))))) 248.87/165.23 248.87/165.23 248.87/165.23 248.87/165.23 We simplified constraint (8) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS1(x171, x172)=Succ(x169) which results in the following new constraints: 248.87/165.23 248.87/165.23 (9) (new_primModNatS01(x175, x174, x175, x174)=Succ(x169) & Succ(x29)=Succ(Succ(x175)) & Succ(Succ(Zero))=Succ(x174) ==> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x29))))), Pos(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x29), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x29))))))) 248.87/165.23 248.87/165.23 (10) (Succ(Zero)=Succ(x169) & Succ(x29)=Succ(Zero) & Succ(Succ(Zero))=Succ(x176) ==> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x29))))), Pos(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x29), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x29))))))) 248.87/165.23 248.87/165.23 248.87/165.23 248.87/165.23 We simplified constraint (9) using rules (I), (II), (III), (VII) which results in the following new constraint: 248.87/165.23 248.87/165.23 (11) (x175=x178 & x174=x179 & new_primModNatS01(x175, x174, x178, x179)=Succ(x169) & Succ(Zero)=x174 ==> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Succ(x175)))))), Pos(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(Succ(x175)), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(Succ(x175)))))))) 248.87/165.23 248.87/165.23 248.87/165.23 248.87/165.23 We simplified constraint (10) using rules (I), (II), (III), (IV) which results in the following new constraint: 248.87/165.23 248.87/165.23 (12) (new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(Zero), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(Zero))))))) 248.87/165.23 248.87/165.23 248.87/165.23 248.87/165.23 We simplified constraint (11) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS01(x175, x174, x178, x179)=Succ(x169) which results in the following new constraints: 248.87/165.23 248.87/165.23 (13) (new_primModNatS02(x181, x180)=Succ(x169) & x181=Zero & x180=Zero & Succ(Zero)=x180 ==> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Succ(x181)))))), Pos(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(Succ(x181)), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(Succ(x181)))))))) 248.87/165.23 248.87/165.23 (14) (new_primModNatS01(x185, x184, x183, x182)=Succ(x169) & x185=Succ(x183) & x184=Succ(x182) & Succ(Zero)=x184 & (\/x186:new_primModNatS01(x185, x184, x183, x182)=Succ(x186) & x185=x183 & x184=x182 & Succ(Zero)=x184 ==> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Succ(x185)))))), Pos(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(Succ(x185)), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(Succ(x185)))))))) ==> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Succ(x185)))))), Pos(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(Succ(x185)), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(Succ(x185)))))))) 248.87/165.23 248.87/165.23 (15) (new_primModNatS02(x189, x188)=Succ(x169) & x189=Succ(x187) & x188=Zero & Succ(Zero)=x188 ==> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Succ(x189)))))), Pos(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(Succ(x189)), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(Succ(x189)))))))) 248.87/165.23 248.87/165.23 (16) (Succ(Succ(x192))=Succ(x169) & x192=Zero & x191=Succ(x190) & Succ(Zero)=x191 ==> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Succ(x192)))))), Pos(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(Succ(x192)), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(Succ(x192)))))))) 248.87/165.23 248.87/165.23 248.87/165.23 248.87/165.23 We solved constraint (13) using rules (I), (II), (III).We simplified constraint (14) using rules (I), (II), (III), (IV), (VII) which results in the following new constraint: 248.87/165.23 248.87/165.23 (17) (new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Succ(Succ(x183))))))), Pos(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(Succ(Succ(x183))), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x183))))))))) 248.87/165.23 248.87/165.23 248.87/165.23 248.87/165.23 We solved constraint (15) using rules (I), (II), (III).We simplified constraint (16) using rules (I), (II), (III), (IV) which results in the following new constraint: 248.87/165.23 248.87/165.23 (18) (new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(Succ(Zero)), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))))) 248.87/165.23 248.87/165.23 248.87/165.23 248.87/165.23 We simplified constraint (6) using rule (V) (with possible (I) afterwards) using induction on new_primEqInt(x195)=False which results in the following new constraint: 248.87/165.23 248.87/165.23 (19) (False=False & Pos(Zero)=Pos(Succ(x198)) & Succ(x29)=x196 & Succ(Succ(Zero))=x197 & new_primModNatS1(x196, x197)=Zero ==> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x29))))), Pos(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x29), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x29))))))) 248.87/165.23 248.87/165.23 248.87/165.23 248.87/165.23 We solved constraint (19) using rules (I), (II). 248.87/165.23 248.87/165.23 248.87/165.23 248.87/165.23 248.87/165.23 To summarize, we get the following constraints P__>=_ for the following pairs. 248.87/165.23 248.87/165.23 *new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) 248.87/165.23 248.87/165.23 *(new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x69))))))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Succ(x69)))), Succ(Zero), Succ(Succ(x69))))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x69))))))), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))))) 248.87/165.23 248.87/165.23 248.87/165.23 *(new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(Succ(x50)))))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(Succ(Zero)), Succ(Succ(Succ(x50))), Zero, Succ(x50)))), Pos(Succ(Succ(Succ(Succ(Succ(x50)))))), Pos(Succ(Succ(Succ(Succ(Zero))))))) 248.87/165.23 248.87/165.23 248.87/165.23 *(new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(Succ(Zero)), Succ(Succ(Zero)), Zero, Zero))), Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(Zero))))))) 248.87/165.23 248.87/165.23 248.87/165.23 *(new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Zero))), Succ(Zero), Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))))) 248.87/165.23 248.87/165.23 248.87/165.23 *(new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Succ(Succ(x62))))))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x61))))))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(Succ(Succ(Succ(x62)))), Succ(Succ(Succ(Succ(x61)))), Succ(Succ(x62)), Succ(Succ(x61))))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x61))))))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x62))))))))) 248.87/165.23 248.87/165.23 248.87/165.23 *(new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Succ(Succ(x66))))))), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(Succ(Succ(Succ(x66)))), Succ(Succ(Succ(Zero))), Succ(Succ(x66)), Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x66))))))))) 248.87/165.23 248.87/165.23 248.87/165.23 *(new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Succ(x47)))))), Pos(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(Succ(Succ(x47))), Succ(Succ(Zero)), Succ(x47), Zero))), Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(Succ(x47)))))))) 248.87/165.23 248.87/165.23 248.87/165.23 248.87/165.23 248.87/165.23 *new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x3)))), Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))) 248.87/165.23 248.87/165.23 *(new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(Succ(x109)))))), Pos(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Succ(x109)))))), Pos(new_primModNatS01(Succ(Succ(Zero)), Succ(Succ(Succ(x109))), Succ(Zero), Succ(Succ(x109)))))) 248.87/165.23 248.87/165.23 248.87/165.23 *(new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(new_primModNatS01(Succ(Succ(Zero)), Succ(Succ(Zero)), Succ(Zero), Succ(Zero))))) 248.87/165.23 248.87/165.23 248.87/165.23 *(new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(Succ(x101)))))), Pos(Succ(Succ(Succ(Succ(Succ(x102)))))))_>=_new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Succ(x101)))))), Pos(new_primModNatS01(Succ(Succ(Succ(x102))), Succ(Succ(Succ(x101))), Succ(Succ(x102)), Succ(Succ(x101)))))) 248.87/165.23 248.87/165.23 248.87/165.23 *(new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(Succ(x106)))))))_>=_new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(new_primModNatS01(Succ(Succ(Succ(x106))), Succ(Succ(Zero)), Succ(Succ(x106)), Succ(Zero))))) 248.87/165.23 248.87/165.23 248.87/165.23 *(new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS01(Succ(Zero), Succ(Zero), Zero, Zero)))) 248.87/165.23 248.87/165.23 248.87/165.23 *(new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x122))))))_>=_new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS01(Succ(Succ(x122)), Succ(Zero), Succ(x122), Zero)))) 248.87/165.23 248.87/165.23 248.87/165.23 *(new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x21))))), Pos(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x21))))), Pos(new_primModNatS01(Succ(Zero), Succ(Succ(x21)), Zero, Succ(x21))))) 248.87/165.23 248.87/165.23 248.87/165.23 *(new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(new_primModNatS01(Succ(Succ(Zero)), Succ(Succ(Zero)), Succ(Zero), Succ(Zero))))) 248.87/165.23 248.87/165.23 248.87/165.23 *(new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(Succ(x158)))))), Pos(Succ(Succ(Succ(Succ(Succ(x159)))))))_>=_new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Succ(x158)))))), Pos(new_primModNatS01(Succ(Succ(Succ(x159))), Succ(Succ(Succ(x158))), Succ(Succ(x159)), Succ(Succ(x158)))))) 248.87/165.23 248.87/165.23 248.87/165.23 *(new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(Succ(x162)))))))_>=_new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(new_primModNatS01(Succ(Succ(Succ(x162))), Succ(Succ(Zero)), Succ(Succ(x162)), Succ(Zero))))) 248.87/165.23 248.87/165.23 248.87/165.23 248.87/165.23 248.87/165.23 *new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 248.87/165.23 248.87/165.23 *(new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x23))))))_>=_new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x23))))), Pos(Succ(Succ(Succ(Zero)))))) 248.87/165.23 248.87/165.23 248.87/165.23 248.87/165.23 248.87/165.23 *new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) 248.87/165.23 248.87/165.23 *(new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(Succ(Zero)), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))))) 248.87/165.23 248.87/165.23 248.87/165.23 *(new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(Zero), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(Zero))))))) 248.87/165.23 248.87/165.23 248.87/165.23 *(new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Succ(Succ(x183))))))), Pos(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(Succ(Succ(x183))), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x183))))))))) 248.87/165.23 248.87/165.23 248.87/165.23 248.87/165.23 248.87/165.23 248.87/165.23 248.87/165.23 248.87/165.23 248.87/165.23 The constraints for P_> respective P_bound are constructed from P__>=_ where we just replace every occurence of "t _>=_ s" in P__>=_ by "t > s" respective "t _>=_ c". Here c stands for the fresh constant used for P_bound. 248.87/165.23 ---------------------------------------- 248.87/165.23 248.87/165.23 (507) 248.87/165.23 Obligation: 248.87/165.23 Q DP problem: 248.87/165.23 The TRS P consists of the following rules: 248.87/165.23 248.87/165.23 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) 248.87/165.23 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x3)))), Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))) 248.87/165.23 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 248.87/165.23 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) 248.87/165.23 248.87/165.23 The TRS R consists of the following rules: 248.87/165.23 248.87/165.23 new_primModNatS1(Succ(Succ(vyv292000)), Succ(vyv291000)) -> new_primModNatS01(vyv292000, vyv291000, vyv292000, vyv291000) 248.87/165.23 new_primModNatS01(vyv330, vyv331, Zero, Zero) -> new_primModNatS02(vyv330, vyv331) 248.87/165.23 new_primModNatS02(vyv330, vyv331) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv330), Succ(vyv331)), Succ(vyv331)) 248.87/165.23 new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Succ(vyv3330)) -> new_primModNatS01(vyv330, vyv331, vyv3320, vyv3330) 248.87/165.23 new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Zero) -> new_primModNatS02(vyv330, vyv331) 248.87/165.23 new_primModNatS01(vyv330, vyv331, Zero, Succ(vyv3330)) -> Succ(Succ(vyv330)) 248.87/165.23 new_primMinusNatS2(Succ(vyv3100), Succ(vyv3110)) -> new_primMinusNatS2(vyv3100, vyv3110) 248.87/165.23 new_primModNatS1(Succ(Zero), Succ(vyv291000)) -> Succ(Zero) 248.87/165.23 new_primModNatS1(Zero, vyv29100) -> Zero 248.87/165.23 new_primMinusNatS2(Zero, Zero) -> Zero 248.87/165.23 new_primMinusNatS2(Zero, Succ(vyv3110)) -> Zero 248.87/165.23 new_primMinusNatS2(Succ(vyv3100), Zero) -> Succ(vyv3100) 248.87/165.23 new_esEs(Pos(Succ(vyv24100))) -> new_primEqInt(Pos(Succ(vyv24100))) 248.87/165.23 new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) 248.87/165.23 new_primEqInt(Pos(Zero)) -> True 248.87/165.23 new_primEqInt(Pos(Succ(vyv242000))) -> False 248.87/165.23 248.87/165.23 The set Q consists of the following terms: 248.87/165.23 248.87/165.23 new_primModNatS1(Succ(Zero), Succ(x0)) 248.87/165.23 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 248.87/165.23 new_primEqInt(Pos(Zero)) 248.87/165.23 new_primModNatS02(x0, x1) 248.87/165.23 new_primModNatS01(x0, x1, Succ(x2), Zero) 248.87/165.23 new_primModNatS01(x0, x1, Zero, Succ(x2)) 248.87/165.23 new_primMinusNatS2(Zero, Zero) 248.87/165.23 new_esEs(Neg(Succ(x0))) 248.87/165.23 new_primMinusNatS2(Zero, Succ(x0)) 248.87/165.23 new_primModNatS1(Succ(Zero), Zero) 248.87/165.23 new_esEs(Pos(Zero)) 248.87/165.23 new_primEqInt(Neg(Succ(x0))) 248.87/165.23 new_primMinusNatS2(Succ(x0), Zero) 248.87/165.23 new_primEqInt(Neg(Zero)) 248.87/165.23 new_primModNatS01(x0, x1, Zero, Zero) 248.87/165.23 new_primEqInt(Pos(Succ(x0))) 248.87/165.23 new_primMinusNatS2(Succ(x0), Succ(x1)) 248.87/165.23 new_primModNatS1(Succ(Succ(x0)), Zero) 248.87/165.23 new_primModNatS1(Zero, x0) 248.87/165.23 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 248.87/165.23 new_esEs(Neg(Zero)) 248.87/165.23 new_esEs(Pos(Succ(x0))) 248.87/165.23 248.87/165.23 We have to consider all minimal (P,Q,R)-chains. 248.87/165.23 ---------------------------------------- 248.87/165.23 248.87/165.23 (508) TransformationProof (EQUIVALENT) 248.87/165.23 By narrowing [LPAR04] the rule new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x3)))), Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))) at position [1,0] we obtained the following new rules [LPAR04]: 248.87/165.23 248.87/165.23 (new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS02(Succ(Zero), Succ(Zero)))),new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS02(Succ(Zero), Succ(Zero))))) 248.87/165.23 (new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))),new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)))) 248.87/165.23 (new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Zero)))),new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Zero))))) 248.87/165.23 (new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))),new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))))) 248.87/165.23 248.87/165.23 248.87/165.23 ---------------------------------------- 248.87/165.23 248.87/165.23 (509) 248.87/165.23 Obligation: 248.87/165.23 Q DP problem: 248.87/165.23 The TRS P consists of the following rules: 248.87/165.23 248.87/165.23 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) 248.87/165.23 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 248.87/165.23 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) 248.87/165.23 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS02(Succ(Zero), Succ(Zero)))) 248.87/165.23 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 248.87/165.23 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Zero)))) 248.87/165.23 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 248.87/165.23 248.87/165.23 The TRS R consists of the following rules: 248.87/165.23 248.87/165.23 new_primModNatS1(Succ(Succ(vyv292000)), Succ(vyv291000)) -> new_primModNatS01(vyv292000, vyv291000, vyv292000, vyv291000) 248.87/165.23 new_primModNatS01(vyv330, vyv331, Zero, Zero) -> new_primModNatS02(vyv330, vyv331) 248.87/165.23 new_primModNatS02(vyv330, vyv331) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv330), Succ(vyv331)), Succ(vyv331)) 248.87/165.23 new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Succ(vyv3330)) -> new_primModNatS01(vyv330, vyv331, vyv3320, vyv3330) 248.87/165.23 new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Zero) -> new_primModNatS02(vyv330, vyv331) 248.87/165.23 new_primModNatS01(vyv330, vyv331, Zero, Succ(vyv3330)) -> Succ(Succ(vyv330)) 248.87/165.23 new_primMinusNatS2(Succ(vyv3100), Succ(vyv3110)) -> new_primMinusNatS2(vyv3100, vyv3110) 248.87/165.23 new_primModNatS1(Succ(Zero), Succ(vyv291000)) -> Succ(Zero) 248.87/165.23 new_primModNatS1(Zero, vyv29100) -> Zero 248.87/165.23 new_primMinusNatS2(Zero, Zero) -> Zero 248.87/165.23 new_primMinusNatS2(Zero, Succ(vyv3110)) -> Zero 248.87/165.23 new_primMinusNatS2(Succ(vyv3100), Zero) -> Succ(vyv3100) 248.87/165.23 new_esEs(Pos(Succ(vyv24100))) -> new_primEqInt(Pos(Succ(vyv24100))) 248.87/165.23 new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) 248.87/165.23 new_primEqInt(Pos(Zero)) -> True 248.87/165.23 new_primEqInt(Pos(Succ(vyv242000))) -> False 248.87/165.23 248.87/165.23 The set Q consists of the following terms: 248.87/165.23 248.87/165.23 new_primModNatS1(Succ(Zero), Succ(x0)) 248.87/165.23 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 248.87/165.23 new_primEqInt(Pos(Zero)) 248.87/165.23 new_primModNatS02(x0, x1) 248.87/165.23 new_primModNatS01(x0, x1, Succ(x2), Zero) 248.87/165.23 new_primModNatS01(x0, x1, Zero, Succ(x2)) 248.87/165.23 new_primMinusNatS2(Zero, Zero) 248.87/165.23 new_esEs(Neg(Succ(x0))) 248.87/165.23 new_primMinusNatS2(Zero, Succ(x0)) 248.87/165.23 new_primModNatS1(Succ(Zero), Zero) 248.87/165.23 new_esEs(Pos(Zero)) 248.87/165.23 new_primEqInt(Neg(Succ(x0))) 248.87/165.23 new_primMinusNatS2(Succ(x0), Zero) 248.87/165.23 new_primEqInt(Neg(Zero)) 248.87/165.23 new_primModNatS01(x0, x1, Zero, Zero) 248.87/165.23 new_primEqInt(Pos(Succ(x0))) 248.87/165.23 new_primMinusNatS2(Succ(x0), Succ(x1)) 248.87/165.23 new_primModNatS1(Succ(Succ(x0)), Zero) 248.87/165.23 new_primModNatS1(Zero, x0) 248.87/165.23 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 248.87/165.23 new_esEs(Neg(Zero)) 248.87/165.23 new_esEs(Pos(Succ(x0))) 248.87/165.23 248.87/165.23 We have to consider all minimal (P,Q,R)-chains. 248.87/165.23 ---------------------------------------- 248.87/165.23 248.87/165.23 (510) DependencyGraphProof (EQUIVALENT) 248.87/165.23 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 2 SCCs with 1 less node. 248.87/165.23 ---------------------------------------- 248.87/165.23 248.87/165.23 (511) 248.87/165.23 Complex Obligation (AND) 248.87/165.23 248.87/165.23 ---------------------------------------- 248.87/165.23 248.87/165.23 (512) 248.87/165.23 Obligation: 248.87/165.23 Q DP problem: 248.87/165.23 The TRS P consists of the following rules: 248.87/165.23 248.87/165.23 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 248.87/165.23 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) 248.87/165.23 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Zero)))) 248.87/165.23 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 248.87/165.23 248.87/165.23 The TRS R consists of the following rules: 248.87/165.23 248.87/165.23 new_primModNatS1(Succ(Succ(vyv292000)), Succ(vyv291000)) -> new_primModNatS01(vyv292000, vyv291000, vyv292000, vyv291000) 248.87/165.23 new_primModNatS01(vyv330, vyv331, Zero, Zero) -> new_primModNatS02(vyv330, vyv331) 248.87/165.23 new_primModNatS02(vyv330, vyv331) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv330), Succ(vyv331)), Succ(vyv331)) 248.87/165.23 new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Succ(vyv3330)) -> new_primModNatS01(vyv330, vyv331, vyv3320, vyv3330) 248.87/165.23 new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Zero) -> new_primModNatS02(vyv330, vyv331) 248.87/165.23 new_primModNatS01(vyv330, vyv331, Zero, Succ(vyv3330)) -> Succ(Succ(vyv330)) 248.87/165.23 new_primMinusNatS2(Succ(vyv3100), Succ(vyv3110)) -> new_primMinusNatS2(vyv3100, vyv3110) 248.87/165.23 new_primModNatS1(Succ(Zero), Succ(vyv291000)) -> Succ(Zero) 248.87/165.23 new_primModNatS1(Zero, vyv29100) -> Zero 248.87/165.23 new_primMinusNatS2(Zero, Zero) -> Zero 248.87/165.23 new_primMinusNatS2(Zero, Succ(vyv3110)) -> Zero 248.87/165.23 new_primMinusNatS2(Succ(vyv3100), Zero) -> Succ(vyv3100) 248.87/165.23 new_esEs(Pos(Succ(vyv24100))) -> new_primEqInt(Pos(Succ(vyv24100))) 248.87/165.23 new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) 248.87/165.23 new_primEqInt(Pos(Zero)) -> True 248.87/165.23 new_primEqInt(Pos(Succ(vyv242000))) -> False 248.87/165.23 248.87/165.23 The set Q consists of the following terms: 248.87/165.23 248.87/165.23 new_primModNatS1(Succ(Zero), Succ(x0)) 248.87/165.23 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 248.87/165.23 new_primEqInt(Pos(Zero)) 248.87/165.23 new_primModNatS02(x0, x1) 248.87/165.23 new_primModNatS01(x0, x1, Succ(x2), Zero) 248.87/165.23 new_primModNatS01(x0, x1, Zero, Succ(x2)) 248.87/165.23 new_primMinusNatS2(Zero, Zero) 248.87/165.23 new_esEs(Neg(Succ(x0))) 248.87/165.23 new_primMinusNatS2(Zero, Succ(x0)) 248.87/165.23 new_primModNatS1(Succ(Zero), Zero) 248.87/165.23 new_esEs(Pos(Zero)) 248.87/165.23 new_primEqInt(Neg(Succ(x0))) 248.87/165.23 new_primMinusNatS2(Succ(x0), Zero) 248.87/165.23 new_primEqInt(Neg(Zero)) 248.87/165.23 new_primModNatS01(x0, x1, Zero, Zero) 248.87/165.23 new_primEqInt(Pos(Succ(x0))) 248.87/165.23 new_primMinusNatS2(Succ(x0), Succ(x1)) 248.87/165.23 new_primModNatS1(Succ(Succ(x0)), Zero) 248.87/165.23 new_primModNatS1(Zero, x0) 248.87/165.23 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 248.87/165.23 new_esEs(Neg(Zero)) 248.87/165.23 new_esEs(Pos(Succ(x0))) 248.87/165.23 248.87/165.23 We have to consider all minimal (P,Q,R)-chains. 248.87/165.23 ---------------------------------------- 248.87/165.23 248.87/165.23 (513) TransformationProof (EQUIVALENT) 248.87/165.23 By rewriting [LPAR04] the rule new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Zero)))) at position [1,0] we obtained the following new rules [LPAR04]: 248.87/165.23 248.87/165.23 (new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(Succ(x2))), Succ(Succ(Zero))), Succ(Succ(Zero))))),new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(Succ(x2))), Succ(Succ(Zero))), Succ(Succ(Zero)))))) 248.87/165.23 248.87/165.23 248.87/165.23 ---------------------------------------- 248.87/165.23 248.87/165.23 (514) 248.87/165.23 Obligation: 248.87/165.23 Q DP problem: 248.87/165.23 The TRS P consists of the following rules: 248.87/165.23 248.87/165.23 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 248.87/165.23 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) 248.87/165.23 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 248.87/165.23 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(Succ(x2))), Succ(Succ(Zero))), Succ(Succ(Zero))))) 248.87/165.23 248.87/165.23 The TRS R consists of the following rules: 248.87/165.23 248.87/165.23 new_primModNatS1(Succ(Succ(vyv292000)), Succ(vyv291000)) -> new_primModNatS01(vyv292000, vyv291000, vyv292000, vyv291000) 248.87/165.23 new_primModNatS01(vyv330, vyv331, Zero, Zero) -> new_primModNatS02(vyv330, vyv331) 248.87/165.23 new_primModNatS02(vyv330, vyv331) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv330), Succ(vyv331)), Succ(vyv331)) 248.87/165.23 new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Succ(vyv3330)) -> new_primModNatS01(vyv330, vyv331, vyv3320, vyv3330) 248.87/165.23 new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Zero) -> new_primModNatS02(vyv330, vyv331) 248.87/165.23 new_primModNatS01(vyv330, vyv331, Zero, Succ(vyv3330)) -> Succ(Succ(vyv330)) 248.87/165.23 new_primMinusNatS2(Succ(vyv3100), Succ(vyv3110)) -> new_primMinusNatS2(vyv3100, vyv3110) 248.87/165.23 new_primModNatS1(Succ(Zero), Succ(vyv291000)) -> Succ(Zero) 248.87/165.23 new_primModNatS1(Zero, vyv29100) -> Zero 248.87/165.23 new_primMinusNatS2(Zero, Zero) -> Zero 248.87/165.23 new_primMinusNatS2(Zero, Succ(vyv3110)) -> Zero 248.87/165.23 new_primMinusNatS2(Succ(vyv3100), Zero) -> Succ(vyv3100) 248.87/165.23 new_esEs(Pos(Succ(vyv24100))) -> new_primEqInt(Pos(Succ(vyv24100))) 248.87/165.23 new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) 248.87/165.23 new_primEqInt(Pos(Zero)) -> True 248.87/165.23 new_primEqInt(Pos(Succ(vyv242000))) -> False 248.87/165.23 248.87/165.23 The set Q consists of the following terms: 248.87/165.23 248.87/165.23 new_primModNatS1(Succ(Zero), Succ(x0)) 248.87/165.23 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 248.87/165.23 new_primEqInt(Pos(Zero)) 248.87/165.23 new_primModNatS02(x0, x1) 248.87/165.23 new_primModNatS01(x0, x1, Succ(x2), Zero) 248.87/165.23 new_primModNatS01(x0, x1, Zero, Succ(x2)) 248.87/165.23 new_primMinusNatS2(Zero, Zero) 248.87/165.23 new_esEs(Neg(Succ(x0))) 248.87/165.23 new_primMinusNatS2(Zero, Succ(x0)) 248.87/165.23 new_primModNatS1(Succ(Zero), Zero) 248.87/165.23 new_esEs(Pos(Zero)) 248.87/165.23 new_primEqInt(Neg(Succ(x0))) 248.87/165.23 new_primMinusNatS2(Succ(x0), Zero) 248.87/165.23 new_primEqInt(Neg(Zero)) 248.87/165.23 new_primModNatS01(x0, x1, Zero, Zero) 248.87/165.23 new_primEqInt(Pos(Succ(x0))) 248.87/165.23 new_primMinusNatS2(Succ(x0), Succ(x1)) 248.87/165.23 new_primModNatS1(Succ(Succ(x0)), Zero) 248.87/165.23 new_primModNatS1(Zero, x0) 248.87/165.23 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 248.87/165.23 new_esEs(Neg(Zero)) 248.87/165.23 new_esEs(Pos(Succ(x0))) 248.87/165.23 248.87/165.23 We have to consider all minimal (P,Q,R)-chains. 248.87/165.23 ---------------------------------------- 248.87/165.23 248.87/165.23 (515) TransformationProof (EQUIVALENT) 248.87/165.23 By rewriting [LPAR04] the rule new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(Succ(x2))), Succ(Succ(Zero))), Succ(Succ(Zero))))) at position [1,0,0] we obtained the following new rules [LPAR04]: 248.87/165.23 248.87/165.23 (new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Succ(Zero))))),new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Succ(Zero)))))) 248.87/165.23 248.87/165.23 248.87/165.23 ---------------------------------------- 248.87/165.23 248.87/165.23 (516) 248.87/165.23 Obligation: 248.87/165.23 Q DP problem: 248.87/165.23 The TRS P consists of the following rules: 248.87/165.23 248.87/165.23 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 248.87/165.23 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) 248.87/165.23 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 248.87/165.23 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Succ(Zero))))) 248.87/165.23 248.87/165.23 The TRS R consists of the following rules: 248.87/165.23 248.87/165.23 new_primModNatS1(Succ(Succ(vyv292000)), Succ(vyv291000)) -> new_primModNatS01(vyv292000, vyv291000, vyv292000, vyv291000) 248.87/165.23 new_primModNatS01(vyv330, vyv331, Zero, Zero) -> new_primModNatS02(vyv330, vyv331) 248.87/165.23 new_primModNatS02(vyv330, vyv331) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv330), Succ(vyv331)), Succ(vyv331)) 248.87/165.23 new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Succ(vyv3330)) -> new_primModNatS01(vyv330, vyv331, vyv3320, vyv3330) 248.87/165.23 new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Zero) -> new_primModNatS02(vyv330, vyv331) 248.87/165.23 new_primModNatS01(vyv330, vyv331, Zero, Succ(vyv3330)) -> Succ(Succ(vyv330)) 248.87/165.23 new_primMinusNatS2(Succ(vyv3100), Succ(vyv3110)) -> new_primMinusNatS2(vyv3100, vyv3110) 248.87/165.23 new_primModNatS1(Succ(Zero), Succ(vyv291000)) -> Succ(Zero) 248.87/165.23 new_primModNatS1(Zero, vyv29100) -> Zero 248.87/165.23 new_primMinusNatS2(Zero, Zero) -> Zero 248.87/165.23 new_primMinusNatS2(Zero, Succ(vyv3110)) -> Zero 248.87/165.23 new_primMinusNatS2(Succ(vyv3100), Zero) -> Succ(vyv3100) 248.87/165.23 new_esEs(Pos(Succ(vyv24100))) -> new_primEqInt(Pos(Succ(vyv24100))) 248.87/165.23 new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) 248.87/165.23 new_primEqInt(Pos(Zero)) -> True 248.87/165.23 new_primEqInt(Pos(Succ(vyv242000))) -> False 248.87/165.23 248.87/165.23 The set Q consists of the following terms: 248.87/165.23 248.87/165.23 new_primModNatS1(Succ(Zero), Succ(x0)) 248.87/165.23 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 248.87/165.23 new_primEqInt(Pos(Zero)) 248.87/165.23 new_primModNatS02(x0, x1) 248.87/165.23 new_primModNatS01(x0, x1, Succ(x2), Zero) 248.87/165.23 new_primModNatS01(x0, x1, Zero, Succ(x2)) 248.87/165.23 new_primMinusNatS2(Zero, Zero) 248.87/165.23 new_esEs(Neg(Succ(x0))) 248.87/165.23 new_primMinusNatS2(Zero, Succ(x0)) 248.87/165.23 new_primModNatS1(Succ(Zero), Zero) 248.87/165.23 new_esEs(Pos(Zero)) 248.87/165.23 new_primEqInt(Neg(Succ(x0))) 248.87/165.23 new_primMinusNatS2(Succ(x0), Zero) 248.87/165.23 new_primEqInt(Neg(Zero)) 248.87/165.23 new_primModNatS01(x0, x1, Zero, Zero) 248.87/165.23 new_primEqInt(Pos(Succ(x0))) 248.87/165.23 new_primMinusNatS2(Succ(x0), Succ(x1)) 248.87/165.23 new_primModNatS1(Succ(Succ(x0)), Zero) 248.87/165.23 new_primModNatS1(Zero, x0) 248.87/165.23 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 248.87/165.23 new_esEs(Neg(Zero)) 248.87/165.23 new_esEs(Pos(Succ(x0))) 248.87/165.23 248.87/165.23 We have to consider all minimal (P,Q,R)-chains. 248.87/165.23 ---------------------------------------- 248.87/165.23 248.87/165.23 (517) TransformationProof (EQUIVALENT) 248.87/165.23 By rewriting [LPAR04] the rule new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Succ(Zero))))) at position [1,0,0] we obtained the following new rules [LPAR04]: 248.87/165.23 248.87/165.23 (new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Succ(Zero))))),new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Succ(Zero)))))) 248.87/165.23 248.87/165.23 248.87/165.23 ---------------------------------------- 248.87/165.23 248.87/165.23 (518) 248.87/165.23 Obligation: 248.87/165.23 Q DP problem: 248.87/165.23 The TRS P consists of the following rules: 248.87/165.23 248.87/165.23 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 248.87/165.23 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) 248.87/165.23 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 248.87/165.23 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Succ(Zero))))) 248.87/165.23 248.87/165.23 The TRS R consists of the following rules: 248.87/165.23 248.87/165.23 new_primModNatS1(Succ(Succ(vyv292000)), Succ(vyv291000)) -> new_primModNatS01(vyv292000, vyv291000, vyv292000, vyv291000) 248.87/165.23 new_primModNatS01(vyv330, vyv331, Zero, Zero) -> new_primModNatS02(vyv330, vyv331) 248.87/165.23 new_primModNatS02(vyv330, vyv331) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv330), Succ(vyv331)), Succ(vyv331)) 248.87/165.23 new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Succ(vyv3330)) -> new_primModNatS01(vyv330, vyv331, vyv3320, vyv3330) 248.87/165.23 new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Zero) -> new_primModNatS02(vyv330, vyv331) 248.87/165.23 new_primModNatS01(vyv330, vyv331, Zero, Succ(vyv3330)) -> Succ(Succ(vyv330)) 248.87/165.23 new_primMinusNatS2(Succ(vyv3100), Succ(vyv3110)) -> new_primMinusNatS2(vyv3100, vyv3110) 248.87/165.23 new_primModNatS1(Succ(Zero), Succ(vyv291000)) -> Succ(Zero) 248.87/165.23 new_primModNatS1(Zero, vyv29100) -> Zero 248.87/165.23 new_primMinusNatS2(Zero, Zero) -> Zero 248.87/165.23 new_primMinusNatS2(Zero, Succ(vyv3110)) -> Zero 248.87/165.23 new_primMinusNatS2(Succ(vyv3100), Zero) -> Succ(vyv3100) 248.87/165.23 new_esEs(Pos(Succ(vyv24100))) -> new_primEqInt(Pos(Succ(vyv24100))) 248.87/165.23 new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) 248.87/165.23 new_primEqInt(Pos(Zero)) -> True 248.87/165.23 new_primEqInt(Pos(Succ(vyv242000))) -> False 248.87/165.23 248.87/165.23 The set Q consists of the following terms: 248.87/165.23 248.87/165.23 new_primModNatS1(Succ(Zero), Succ(x0)) 248.87/165.23 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 248.87/165.23 new_primEqInt(Pos(Zero)) 248.87/165.23 new_primModNatS02(x0, x1) 248.87/165.23 new_primModNatS01(x0, x1, Succ(x2), Zero) 248.87/165.23 new_primModNatS01(x0, x1, Zero, Succ(x2)) 248.87/165.23 new_primMinusNatS2(Zero, Zero) 248.87/165.23 new_esEs(Neg(Succ(x0))) 248.87/165.23 new_primMinusNatS2(Zero, Succ(x0)) 248.87/165.23 new_primModNatS1(Succ(Zero), Zero) 248.87/165.23 new_esEs(Pos(Zero)) 248.87/165.23 new_primEqInt(Neg(Succ(x0))) 248.87/165.23 new_primMinusNatS2(Succ(x0), Zero) 248.87/165.23 new_primEqInt(Neg(Zero)) 248.87/165.23 new_primModNatS01(x0, x1, Zero, Zero) 248.87/165.23 new_primEqInt(Pos(Succ(x0))) 248.87/165.23 new_primMinusNatS2(Succ(x0), Succ(x1)) 248.87/165.23 new_primModNatS1(Succ(Succ(x0)), Zero) 248.87/165.23 new_primModNatS1(Zero, x0) 248.87/165.23 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 248.87/165.23 new_esEs(Neg(Zero)) 248.87/165.23 new_esEs(Pos(Succ(x0))) 248.87/165.23 248.87/165.23 We have to consider all minimal (P,Q,R)-chains. 248.87/165.23 ---------------------------------------- 248.87/165.23 248.87/165.23 (519) TransformationProof (EQUIVALENT) 248.87/165.23 By rewriting [LPAR04] the rule new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Succ(Zero))))) at position [1,0,0] we obtained the following new rules [LPAR04]: 248.87/165.23 248.87/165.23 (new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))),new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))))) 248.87/165.23 248.87/165.23 248.87/165.23 ---------------------------------------- 248.87/165.23 248.87/165.23 (520) 248.87/165.23 Obligation: 248.87/165.23 Q DP problem: 248.87/165.23 The TRS P consists of the following rules: 248.87/165.23 248.87/165.23 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 248.87/165.23 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) 248.87/165.23 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 248.87/165.23 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 248.87/165.23 248.87/165.23 The TRS R consists of the following rules: 248.87/165.23 248.87/165.23 new_primModNatS1(Succ(Succ(vyv292000)), Succ(vyv291000)) -> new_primModNatS01(vyv292000, vyv291000, vyv292000, vyv291000) 248.87/165.23 new_primModNatS01(vyv330, vyv331, Zero, Zero) -> new_primModNatS02(vyv330, vyv331) 248.87/165.23 new_primModNatS02(vyv330, vyv331) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv330), Succ(vyv331)), Succ(vyv331)) 248.87/165.23 new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Succ(vyv3330)) -> new_primModNatS01(vyv330, vyv331, vyv3320, vyv3330) 248.87/165.23 new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Zero) -> new_primModNatS02(vyv330, vyv331) 248.87/165.23 new_primModNatS01(vyv330, vyv331, Zero, Succ(vyv3330)) -> Succ(Succ(vyv330)) 248.87/165.23 new_primMinusNatS2(Succ(vyv3100), Succ(vyv3110)) -> new_primMinusNatS2(vyv3100, vyv3110) 248.87/165.23 new_primModNatS1(Succ(Zero), Succ(vyv291000)) -> Succ(Zero) 248.87/165.23 new_primModNatS1(Zero, vyv29100) -> Zero 248.87/165.23 new_primMinusNatS2(Zero, Zero) -> Zero 248.87/165.23 new_primMinusNatS2(Zero, Succ(vyv3110)) -> Zero 248.87/165.23 new_primMinusNatS2(Succ(vyv3100), Zero) -> Succ(vyv3100) 248.87/165.23 new_esEs(Pos(Succ(vyv24100))) -> new_primEqInt(Pos(Succ(vyv24100))) 248.87/165.23 new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) 248.87/165.23 new_primEqInt(Pos(Zero)) -> True 248.87/165.23 new_primEqInt(Pos(Succ(vyv242000))) -> False 248.87/165.23 248.87/165.23 The set Q consists of the following terms: 248.87/165.23 248.87/165.23 new_primModNatS1(Succ(Zero), Succ(x0)) 248.87/165.23 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 248.87/165.23 new_primEqInt(Pos(Zero)) 248.87/165.23 new_primModNatS02(x0, x1) 248.87/165.23 new_primModNatS01(x0, x1, Succ(x2), Zero) 248.87/165.23 new_primModNatS01(x0, x1, Zero, Succ(x2)) 248.87/165.23 new_primMinusNatS2(Zero, Zero) 248.87/165.23 new_esEs(Neg(Succ(x0))) 248.87/165.23 new_primMinusNatS2(Zero, Succ(x0)) 248.87/165.23 new_primModNatS1(Succ(Zero), Zero) 248.87/165.23 new_esEs(Pos(Zero)) 248.87/165.23 new_primEqInt(Neg(Succ(x0))) 248.87/165.23 new_primMinusNatS2(Succ(x0), Zero) 248.87/165.23 new_primEqInt(Neg(Zero)) 248.87/165.23 new_primModNatS01(x0, x1, Zero, Zero) 248.87/165.23 new_primEqInt(Pos(Succ(x0))) 248.87/165.23 new_primMinusNatS2(Succ(x0), Succ(x1)) 248.87/165.23 new_primModNatS1(Succ(Succ(x0)), Zero) 248.87/165.23 new_primModNatS1(Zero, x0) 248.87/165.23 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 248.87/165.23 new_esEs(Neg(Zero)) 248.87/165.23 new_esEs(Pos(Succ(x0))) 248.87/165.23 248.87/165.23 We have to consider all minimal (P,Q,R)-chains. 248.87/165.23 ---------------------------------------- 248.87/165.23 248.87/165.23 (521) QReductionProof (EQUIVALENT) 248.87/165.23 We deleted the following terms from Q as they contain symbols which do neither occur in P nor in R.[THIEMANN]. 248.87/165.23 248.87/165.23 new_esEs(Neg(Succ(x0))) 248.87/165.23 new_primEqInt(Neg(Succ(x0))) 248.87/165.23 new_primEqInt(Neg(Zero)) 248.87/165.23 new_esEs(Neg(Zero)) 248.87/165.23 248.87/165.23 248.87/165.23 ---------------------------------------- 248.87/165.23 248.87/165.23 (522) 248.87/165.23 Obligation: 248.87/165.23 Q DP problem: 248.87/165.23 The TRS P consists of the following rules: 248.87/165.23 248.87/165.23 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 248.87/165.23 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) 248.87/165.23 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 248.87/165.23 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 248.87/165.23 248.87/165.23 The TRS R consists of the following rules: 248.87/165.23 248.87/165.23 new_primModNatS1(Succ(Succ(vyv292000)), Succ(vyv291000)) -> new_primModNatS01(vyv292000, vyv291000, vyv292000, vyv291000) 248.87/165.23 new_primModNatS01(vyv330, vyv331, Zero, Zero) -> new_primModNatS02(vyv330, vyv331) 248.87/165.23 new_primModNatS02(vyv330, vyv331) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv330), Succ(vyv331)), Succ(vyv331)) 248.87/165.23 new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Succ(vyv3330)) -> new_primModNatS01(vyv330, vyv331, vyv3320, vyv3330) 248.87/165.23 new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Zero) -> new_primModNatS02(vyv330, vyv331) 248.87/165.23 new_primModNatS01(vyv330, vyv331, Zero, Succ(vyv3330)) -> Succ(Succ(vyv330)) 248.87/165.23 new_primMinusNatS2(Succ(vyv3100), Succ(vyv3110)) -> new_primMinusNatS2(vyv3100, vyv3110) 248.87/165.23 new_primModNatS1(Succ(Zero), Succ(vyv291000)) -> Succ(Zero) 248.87/165.23 new_primModNatS1(Zero, vyv29100) -> Zero 248.87/165.23 new_primMinusNatS2(Zero, Zero) -> Zero 248.87/165.23 new_primMinusNatS2(Zero, Succ(vyv3110)) -> Zero 248.87/165.23 new_primMinusNatS2(Succ(vyv3100), Zero) -> Succ(vyv3100) 248.87/165.23 new_esEs(Pos(Succ(vyv24100))) -> new_primEqInt(Pos(Succ(vyv24100))) 248.87/165.23 new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) 248.87/165.23 new_primEqInt(Pos(Zero)) -> True 248.87/165.23 new_primEqInt(Pos(Succ(vyv242000))) -> False 248.87/165.23 248.87/165.23 The set Q consists of the following terms: 248.87/165.23 248.87/165.23 new_primModNatS1(Succ(Zero), Succ(x0)) 248.87/165.23 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 248.87/165.23 new_primEqInt(Pos(Zero)) 248.87/165.23 new_primModNatS02(x0, x1) 248.87/165.23 new_primModNatS01(x0, x1, Succ(x2), Zero) 248.87/165.23 new_primModNatS01(x0, x1, Zero, Succ(x2)) 248.87/165.23 new_primMinusNatS2(Zero, Zero) 248.87/165.23 new_primMinusNatS2(Zero, Succ(x0)) 248.87/165.23 new_primModNatS1(Succ(Zero), Zero) 248.87/165.23 new_esEs(Pos(Zero)) 248.87/165.23 new_primMinusNatS2(Succ(x0), Zero) 248.87/165.23 new_primModNatS01(x0, x1, Zero, Zero) 248.87/165.23 new_primEqInt(Pos(Succ(x0))) 248.87/165.23 new_primMinusNatS2(Succ(x0), Succ(x1)) 248.87/165.23 new_primModNatS1(Succ(Succ(x0)), Zero) 248.87/165.23 new_primModNatS1(Zero, x0) 248.87/165.23 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 248.87/165.23 new_esEs(Pos(Succ(x0))) 248.87/165.23 248.87/165.23 We have to consider all (P,Q,R)-chains. 248.87/165.23 ---------------------------------------- 248.87/165.23 248.87/165.23 (523) InductionCalculusProof (EQUIVALENT) 248.87/165.23 Note that final constraints are written in bold face. 248.87/165.23 248.87/165.23 248.87/165.23 248.87/165.23 For Pair new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) the following chains were created: 248.87/165.23 *We consider the chain new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x1))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x1))))), Pos(Succ(Succ(Succ(Zero))))), new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) which results in the following constraint: 248.87/165.23 248.87/165.23 (1) (new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x1))))), Pos(Succ(Succ(Succ(Zero)))))=new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) ==> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x1))))), Pos(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x1))))), Pos(Succ(Succ(Succ(Zero)))))) 248.87/165.23 248.87/165.23 248.87/165.23 248.87/165.23 We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: 248.87/165.23 248.87/165.23 (2) (new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x1))))), Pos(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x1))))), Pos(Succ(Succ(Succ(Zero)))))) 248.87/165.23 248.87/165.23 248.87/165.23 248.87/165.23 248.87/165.23 248.87/165.23 248.87/165.23 248.87/165.23 248.87/165.23 For Pair new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) the following chains were created: 248.87/165.23 *We consider the chain new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x8))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x8), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x8)))))), new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x9)))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x9), Succ(Succ(Zero))))) which results in the following constraint: 248.87/165.23 248.87/165.23 (1) (new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x8), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x8))))))=new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x9)))))) ==> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x8))))), Pos(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x8), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x8))))))) 248.87/165.23 248.87/165.23 248.87/165.23 248.87/165.23 We simplified constraint (1) using rules (I), (II), (IV), (VII) which results in the following new constraint: 248.87/165.23 248.87/165.23 (2) (Pos(new_primModNatS1(Succ(x8), Succ(Succ(Zero))))=x20 & new_esEs(x20)=False ==> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x8))))), Pos(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x8), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x8))))))) 248.87/165.23 248.87/165.23 248.87/165.23 248.87/165.23 We simplified constraint (2) using rule (V) (with possible (I) afterwards) using induction on new_esEs(x20)=False which results in the following new constraints: 248.87/165.23 248.87/165.23 (3) (new_primEqInt(Pos(Succ(x21)))=False & Pos(new_primModNatS1(Succ(x8), Succ(Succ(Zero))))=Pos(Succ(x21)) ==> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x8))))), Pos(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x8), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x8))))))) 248.87/165.23 248.87/165.23 (4) (new_primEqInt(Pos(Zero))=False & Pos(new_primModNatS1(Succ(x8), Succ(Succ(Zero))))=Pos(Zero) ==> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x8))))), Pos(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x8), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x8))))))) 248.87/165.23 248.87/165.23 248.87/165.23 248.87/165.23 We simplified constraint (3) using rules (I), (II), (VII) which results in the following new constraint: 248.87/165.23 248.87/165.23 (5) (Pos(Succ(x21))=x22 & new_primEqInt(x22)=False & Succ(x8)=x23 & Succ(Succ(Zero))=x24 & new_primModNatS1(x23, x24)=Succ(x21) ==> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x8))))), Pos(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x8), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x8))))))) 248.87/165.23 248.87/165.23 248.87/165.23 248.87/165.23 We simplified constraint (4) using rules (I), (II), (VII) which results in the following new constraint: 248.87/165.23 248.87/165.23 (6) (Pos(Zero)=x47 & new_primEqInt(x47)=False & Succ(x8)=x48 & Succ(Succ(Zero))=x49 & new_primModNatS1(x48, x49)=Zero ==> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x8))))), Pos(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x8), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x8))))))) 248.87/165.23 248.87/165.23 248.87/165.23 248.87/165.23 We simplified constraint (5) using rule (V) (with possible (I) afterwards) using induction on new_primEqInt(x22)=False which results in the following new constraint: 248.87/165.23 248.87/165.23 (7) (False=False & Pos(Succ(x21))=Pos(Succ(x25)) & Succ(x8)=x23 & Succ(Succ(Zero))=x24 & new_primModNatS1(x23, x24)=Succ(x21) ==> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x8))))), Pos(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x8), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x8))))))) 248.87/165.23 248.87/165.23 248.87/165.23 248.87/165.23 We simplified constraint (7) using rules (I), (II), (IV) which results in the following new constraint: 248.87/165.23 248.87/165.23 (8) (Succ(x8)=x23 & Succ(Succ(Zero))=x24 & new_primModNatS1(x23, x24)=Succ(x21) ==> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x8))))), Pos(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x8), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x8))))))) 248.87/165.23 248.87/165.23 248.87/165.23 248.87/165.23 We simplified constraint (8) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS1(x23, x24)=Succ(x21) which results in the following new constraints: 248.87/165.23 248.87/165.23 (9) (new_primModNatS01(x27, x26, x27, x26)=Succ(x21) & Succ(x8)=Succ(Succ(x27)) & Succ(Succ(Zero))=Succ(x26) ==> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x8))))), Pos(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x8), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x8))))))) 248.87/165.23 248.87/165.23 (10) (Succ(Zero)=Succ(x21) & Succ(x8)=Succ(Zero) & Succ(Succ(Zero))=Succ(x28) ==> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x8))))), Pos(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x8), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x8))))))) 248.87/165.23 248.87/165.23 248.87/165.23 248.87/165.23 We simplified constraint (9) using rules (I), (II), (III), (VII) which results in the following new constraint: 248.87/165.23 248.87/165.23 (11) (x27=x30 & x26=x31 & new_primModNatS01(x27, x26, x30, x31)=Succ(x21) & Succ(Zero)=x26 ==> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Succ(x27)))))), Pos(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(Succ(x27)), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(Succ(x27)))))))) 248.87/165.23 248.87/165.23 248.87/165.23 248.87/165.23 We simplified constraint (10) using rules (I), (II), (III), (IV) which results in the following new constraint: 248.87/165.23 248.87/165.23 (12) (new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(Zero), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(Zero))))))) 248.87/165.23 248.87/165.23 248.87/165.23 248.87/165.23 We simplified constraint (11) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS01(x27, x26, x30, x31)=Succ(x21) which results in the following new constraints: 248.87/165.23 248.87/165.23 (13) (new_primModNatS02(x33, x32)=Succ(x21) & x33=Zero & x32=Zero & Succ(Zero)=x32 ==> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Succ(x33)))))), Pos(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(Succ(x33)), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(Succ(x33)))))))) 248.87/165.23 248.87/165.23 (14) (new_primModNatS01(x37, x36, x35, x34)=Succ(x21) & x37=Succ(x35) & x36=Succ(x34) & Succ(Zero)=x36 & (\/x38:new_primModNatS01(x37, x36, x35, x34)=Succ(x38) & x37=x35 & x36=x34 & Succ(Zero)=x36 ==> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Succ(x37)))))), Pos(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(Succ(x37)), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(Succ(x37)))))))) ==> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Succ(x37)))))), Pos(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(Succ(x37)), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(Succ(x37)))))))) 248.87/165.23 248.87/165.23 (15) (new_primModNatS02(x41, x40)=Succ(x21) & x41=Succ(x39) & x40=Zero & Succ(Zero)=x40 ==> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Succ(x41)))))), Pos(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(Succ(x41)), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(Succ(x41)))))))) 248.87/165.23 248.87/165.23 (16) (Succ(Succ(x44))=Succ(x21) & x44=Zero & x43=Succ(x42) & Succ(Zero)=x43 ==> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Succ(x44)))))), Pos(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(Succ(x44)), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(Succ(x44)))))))) 248.87/165.23 248.87/165.23 248.87/165.23 248.87/165.23 We solved constraint (13) using rules (I), (II), (III).We simplified constraint (14) using rules (I), (II), (III), (IV), (VII) which results in the following new constraint: 248.87/165.23 248.87/165.23 (17) (new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Succ(Succ(x35))))))), Pos(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(Succ(Succ(x35))), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x35))))))))) 248.87/165.23 248.87/165.23 248.87/165.23 248.87/165.23 We solved constraint (15) using rules (I), (II), (III).We simplified constraint (16) using rules (I), (II), (III), (IV) which results in the following new constraint: 248.87/165.23 248.87/165.23 (18) (new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(Succ(Zero)), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))))) 248.87/165.23 248.87/165.23 248.87/165.23 248.87/165.23 We simplified constraint (6) using rule (V) (with possible (I) afterwards) using induction on new_primEqInt(x47)=False which results in the following new constraint: 248.87/165.23 248.87/165.23 (19) (False=False & Pos(Zero)=Pos(Succ(x50)) & Succ(x8)=x48 & Succ(Succ(Zero))=x49 & new_primModNatS1(x48, x49)=Zero ==> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x8))))), Pos(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x8), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x8))))))) 248.87/165.23 248.87/165.23 248.87/165.23 248.87/165.23 We solved constraint (19) using rules (I), (II). 248.87/165.23 248.87/165.23 248.87/165.23 248.87/165.23 248.87/165.23 For Pair new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) the following chains were created: 248.87/165.23 *We consider the chain new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x10)))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x10))))), Pos(Succ(Succ(Succ(Zero))))), new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x11))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x11))))), Pos(Succ(Succ(Succ(Zero))))) which results in the following constraint: 248.87/165.23 248.87/165.23 (1) (new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x10))))), Pos(Succ(Succ(Succ(Zero)))))=new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x11))))), Pos(Succ(Succ(Succ(Zero))))) ==> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x10))))))_>=_new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x10))))), Pos(Succ(Succ(Succ(Zero)))))) 248.87/165.23 248.87/165.23 248.87/165.23 248.87/165.23 We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: 248.87/165.23 248.87/165.23 (2) (new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x10))))))_>=_new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x10))))), Pos(Succ(Succ(Succ(Zero)))))) 248.87/165.23 248.87/165.23 248.87/165.23 248.87/165.23 248.87/165.23 248.87/165.23 248.87/165.23 248.87/165.23 248.87/165.23 For Pair new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) the following chains were created: 248.87/165.23 *We consider the chain new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x17)))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x17), Succ(Succ(Zero))))), new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x18)))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x18))))), Pos(Succ(Succ(Succ(Zero))))) which results in the following constraint: 248.87/165.23 248.87/165.23 (1) (new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x17), Succ(Succ(Zero)))))=new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x18)))))) ==> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x17))))))_>=_new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x17), Succ(Succ(Zero)))))) 248.87/165.23 248.87/165.23 248.87/165.23 248.87/165.23 We simplified constraint (1) using rules (I), (II), (VII) which results in the following new constraint: 248.87/165.23 248.87/165.23 (2) (Succ(x17)=x51 & Succ(Succ(Zero))=x52 & new_primModNatS1(x51, x52)=Succ(Succ(Succ(Succ(x18)))) ==> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x17))))))_>=_new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x17), Succ(Succ(Zero)))))) 248.87/165.23 248.87/165.23 248.87/165.23 248.87/165.23 We simplified constraint (2) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS1(x51, x52)=Succ(Succ(Succ(Succ(x18)))) which results in the following new constraints: 248.87/165.23 248.87/165.23 (3) (new_primModNatS01(x54, x53, x54, x53)=Succ(Succ(Succ(Succ(x18)))) & Succ(x17)=Succ(Succ(x54)) & Succ(Succ(Zero))=Succ(x53) ==> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x17))))))_>=_new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x17), Succ(Succ(Zero)))))) 248.87/165.23 248.87/165.23 (4) (Succ(Zero)=Succ(Succ(Succ(Succ(x18)))) & Succ(x17)=Succ(Zero) & Succ(Succ(Zero))=Succ(x55) ==> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x17))))))_>=_new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x17), Succ(Succ(Zero)))))) 248.87/165.23 248.87/165.23 248.87/165.23 248.87/165.23 We simplified constraint (3) using rules (I), (II), (III), (VII) which results in the following new constraint: 248.87/165.23 248.87/165.23 (5) (x54=x57 & x53=x58 & new_primModNatS01(x54, x53, x57, x58)=Succ(Succ(Succ(Succ(x18)))) & Succ(Zero)=x53 ==> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(Succ(x54)))))))_>=_new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(Succ(x54)), Succ(Succ(Zero)))))) 248.87/165.23 248.87/165.23 248.87/165.23 248.87/165.23 We solved constraint (4) using rules (I), (II).We simplified constraint (5) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS01(x54, x53, x57, x58)=Succ(Succ(Succ(Succ(x18)))) which results in the following new constraints: 248.87/165.23 248.87/165.23 (6) (new_primModNatS02(x60, x59)=Succ(Succ(Succ(Succ(x18)))) & x60=Zero & x59=Zero & Succ(Zero)=x59 ==> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(Succ(x60)))))))_>=_new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(Succ(x60)), Succ(Succ(Zero)))))) 248.87/165.23 248.87/165.23 (7) (new_primModNatS01(x64, x63, x62, x61)=Succ(Succ(Succ(Succ(x18)))) & x64=Succ(x62) & x63=Succ(x61) & Succ(Zero)=x63 & (\/x65:new_primModNatS01(x64, x63, x62, x61)=Succ(Succ(Succ(Succ(x65)))) & x64=x62 & x63=x61 & Succ(Zero)=x63 ==> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(Succ(x64)))))))_>=_new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(Succ(x64)), Succ(Succ(Zero)))))) ==> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(Succ(x64)))))))_>=_new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(Succ(x64)), Succ(Succ(Zero)))))) 248.87/165.23 248.87/165.23 (8) (new_primModNatS02(x68, x67)=Succ(Succ(Succ(Succ(x18)))) & x68=Succ(x66) & x67=Zero & Succ(Zero)=x67 ==> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(Succ(x68)))))))_>=_new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(Succ(x68)), Succ(Succ(Zero)))))) 248.87/165.23 248.87/165.23 (9) (Succ(Succ(x71))=Succ(Succ(Succ(Succ(x18)))) & x71=Zero & x70=Succ(x69) & Succ(Zero)=x70 ==> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(Succ(x71)))))))_>=_new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(Succ(x71)), Succ(Succ(Zero)))))) 248.87/165.23 248.87/165.23 248.87/165.23 248.87/165.23 We solved constraint (6) using rules (I), (II), (III).We simplified constraint (7) using rules (I), (II), (III), (IV), (VII) which results in the following new constraint: 248.87/165.23 248.87/165.23 (10) (new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x62))))))))_>=_new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(Succ(Succ(x62))), Succ(Succ(Zero)))))) 248.87/165.23 248.87/165.23 248.87/165.23 248.87/165.23 We solved constraint (8) using rules (I), (II), (III).We solved constraint (9) using rules (I), (II), (III), (IV). 248.87/165.23 248.87/165.23 248.87/165.23 248.87/165.23 248.87/165.23 To summarize, we get the following constraints P__>=_ for the following pairs. 248.87/165.23 248.87/165.23 *new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 248.87/165.23 248.87/165.23 *(new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x1))))), Pos(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x1))))), Pos(Succ(Succ(Succ(Zero)))))) 248.87/165.23 248.87/165.23 248.87/165.23 248.87/165.23 248.87/165.23 *new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) 248.87/165.23 248.87/165.23 *(new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(Succ(Zero)), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))))) 248.87/165.23 248.87/165.23 248.87/165.23 *(new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(Zero), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(Zero))))))) 248.87/165.23 248.87/165.23 248.87/165.23 *(new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Succ(Succ(x35))))))), Pos(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(Succ(Succ(x35))), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x35))))))))) 248.87/165.23 248.87/165.23 248.87/165.23 248.87/165.23 248.87/165.23 *new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 248.87/165.23 248.87/165.23 *(new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x10))))))_>=_new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x10))))), Pos(Succ(Succ(Succ(Zero)))))) 248.87/165.23 248.87/165.23 248.87/165.23 248.87/165.23 248.87/165.23 *new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 248.87/165.23 248.87/165.23 *(new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x62))))))))_>=_new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(Succ(Succ(x62))), Succ(Succ(Zero)))))) 248.87/165.23 248.87/165.23 248.87/165.23 248.87/165.23 248.87/165.23 248.87/165.23 248.87/165.23 248.87/165.23 248.87/165.23 The constraints for P_> respective P_bound are constructed from P__>=_ where we just replace every occurence of "t _>=_ s" in P__>=_ by "t > s" respective "t _>=_ c". Here c stands for the fresh constant used for P_bound. 248.87/165.23 ---------------------------------------- 248.87/165.23 248.87/165.23 (524) 248.87/165.23 Obligation: 248.87/165.23 Q DP problem: 248.87/165.23 The TRS P consists of the following rules: 248.87/165.23 248.87/165.23 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 248.87/165.23 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) 248.87/165.23 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 248.87/165.23 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 248.87/165.23 248.87/165.23 The TRS R consists of the following rules: 248.87/165.23 248.87/165.23 new_primModNatS1(Succ(Succ(vyv292000)), Succ(vyv291000)) -> new_primModNatS01(vyv292000, vyv291000, vyv292000, vyv291000) 248.87/165.23 new_primModNatS01(vyv330, vyv331, Zero, Zero) -> new_primModNatS02(vyv330, vyv331) 248.87/165.23 new_primModNatS02(vyv330, vyv331) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv330), Succ(vyv331)), Succ(vyv331)) 248.87/165.23 new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Succ(vyv3330)) -> new_primModNatS01(vyv330, vyv331, vyv3320, vyv3330) 248.87/165.23 new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Zero) -> new_primModNatS02(vyv330, vyv331) 248.87/165.23 new_primModNatS01(vyv330, vyv331, Zero, Succ(vyv3330)) -> Succ(Succ(vyv330)) 248.87/165.23 new_primMinusNatS2(Succ(vyv3100), Succ(vyv3110)) -> new_primMinusNatS2(vyv3100, vyv3110) 248.87/165.23 new_primModNatS1(Succ(Zero), Succ(vyv291000)) -> Succ(Zero) 248.87/165.23 new_primModNatS1(Zero, vyv29100) -> Zero 248.87/165.23 new_primMinusNatS2(Zero, Zero) -> Zero 248.87/165.23 new_primMinusNatS2(Zero, Succ(vyv3110)) -> Zero 248.87/165.23 new_primMinusNatS2(Succ(vyv3100), Zero) -> Succ(vyv3100) 248.87/165.23 new_esEs(Pos(Succ(vyv24100))) -> new_primEqInt(Pos(Succ(vyv24100))) 248.87/165.23 new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) 248.87/165.23 new_primEqInt(Pos(Zero)) -> True 248.87/165.23 new_primEqInt(Pos(Succ(vyv242000))) -> False 248.87/165.23 248.87/165.23 The set Q consists of the following terms: 248.87/165.23 248.87/165.23 new_primModNatS1(Succ(Zero), Succ(x0)) 248.87/165.23 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 248.87/165.23 new_primEqInt(Pos(Zero)) 248.87/165.23 new_primModNatS02(x0, x1) 248.87/165.23 new_primModNatS01(x0, x1, Succ(x2), Zero) 248.87/165.23 new_primModNatS01(x0, x1, Zero, Succ(x2)) 248.87/165.23 new_primMinusNatS2(Zero, Zero) 248.87/165.23 new_esEs(Neg(Succ(x0))) 248.87/165.23 new_primMinusNatS2(Zero, Succ(x0)) 248.87/165.23 new_primModNatS1(Succ(Zero), Zero) 248.87/165.23 new_esEs(Pos(Zero)) 248.87/165.23 new_primEqInt(Neg(Succ(x0))) 248.87/165.23 new_primMinusNatS2(Succ(x0), Zero) 248.87/165.23 new_primEqInt(Neg(Zero)) 248.87/165.23 new_primModNatS01(x0, x1, Zero, Zero) 248.87/165.23 new_primEqInt(Pos(Succ(x0))) 248.87/165.23 new_primMinusNatS2(Succ(x0), Succ(x1)) 248.87/165.23 new_primModNatS1(Succ(Succ(x0)), Zero) 248.87/165.23 new_primModNatS1(Zero, x0) 248.87/165.23 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 248.87/165.23 new_esEs(Neg(Zero)) 248.87/165.23 new_esEs(Pos(Succ(x0))) 248.87/165.23 248.87/165.23 We have to consider all minimal (P,Q,R)-chains. 248.87/165.23 ---------------------------------------- 248.87/165.23 248.87/165.23 (525) 248.87/165.23 Obligation: 248.87/165.23 Q DP problem: 248.87/165.23 The TRS P consists of the following rules: 248.87/165.23 248.87/165.23 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 248.87/165.23 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) 248.87/165.23 248.87/165.23 The TRS R consists of the following rules: 248.87/165.23 248.87/165.23 new_primModNatS1(Succ(Succ(vyv292000)), Succ(vyv291000)) -> new_primModNatS01(vyv292000, vyv291000, vyv292000, vyv291000) 248.87/165.23 new_primModNatS01(vyv330, vyv331, Zero, Zero) -> new_primModNatS02(vyv330, vyv331) 248.87/165.23 new_primModNatS02(vyv330, vyv331) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv330), Succ(vyv331)), Succ(vyv331)) 248.87/165.23 new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Succ(vyv3330)) -> new_primModNatS01(vyv330, vyv331, vyv3320, vyv3330) 248.87/165.23 new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Zero) -> new_primModNatS02(vyv330, vyv331) 248.87/165.23 new_primModNatS01(vyv330, vyv331, Zero, Succ(vyv3330)) -> Succ(Succ(vyv330)) 248.87/165.23 new_primMinusNatS2(Succ(vyv3100), Succ(vyv3110)) -> new_primMinusNatS2(vyv3100, vyv3110) 248.87/165.23 new_primModNatS1(Succ(Zero), Succ(vyv291000)) -> Succ(Zero) 248.87/165.23 new_primModNatS1(Zero, vyv29100) -> Zero 248.87/165.23 new_primMinusNatS2(Zero, Zero) -> Zero 248.87/165.23 new_primMinusNatS2(Zero, Succ(vyv3110)) -> Zero 248.87/165.23 new_primMinusNatS2(Succ(vyv3100), Zero) -> Succ(vyv3100) 248.87/165.23 new_esEs(Pos(Succ(vyv24100))) -> new_primEqInt(Pos(Succ(vyv24100))) 248.87/165.23 new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) 248.87/165.23 new_primEqInt(Pos(Zero)) -> True 248.87/165.23 new_primEqInt(Pos(Succ(vyv242000))) -> False 248.87/165.23 248.87/165.23 The set Q consists of the following terms: 248.87/165.23 248.87/165.23 new_primModNatS1(Succ(Zero), Succ(x0)) 248.87/165.23 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 248.87/165.23 new_primEqInt(Pos(Zero)) 248.87/165.23 new_primModNatS02(x0, x1) 248.87/165.23 new_primModNatS01(x0, x1, Succ(x2), Zero) 248.87/165.23 new_primModNatS01(x0, x1, Zero, Succ(x2)) 248.87/165.23 new_primMinusNatS2(Zero, Zero) 248.87/165.23 new_esEs(Neg(Succ(x0))) 248.87/165.23 new_primMinusNatS2(Zero, Succ(x0)) 248.87/165.23 new_primModNatS1(Succ(Zero), Zero) 248.87/165.23 new_esEs(Pos(Zero)) 248.87/165.23 new_primEqInt(Neg(Succ(x0))) 248.87/165.23 new_primMinusNatS2(Succ(x0), Zero) 248.87/165.23 new_primEqInt(Neg(Zero)) 248.87/165.23 new_primModNatS01(x0, x1, Zero, Zero) 248.87/165.23 new_primEqInt(Pos(Succ(x0))) 248.87/165.23 new_primMinusNatS2(Succ(x0), Succ(x1)) 248.87/165.23 new_primModNatS1(Succ(Succ(x0)), Zero) 248.87/165.23 new_primModNatS1(Zero, x0) 248.87/165.23 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 248.87/165.23 new_esEs(Neg(Zero)) 248.87/165.23 new_esEs(Pos(Succ(x0))) 248.87/165.23 248.87/165.23 We have to consider all minimal (P,Q,R)-chains. 248.87/165.23 ---------------------------------------- 248.87/165.23 248.87/165.23 (526) QReductionProof (EQUIVALENT) 248.87/165.23 We deleted the following terms from Q as they contain symbols which do neither occur in P nor in R.[THIEMANN]. 248.87/165.24 248.87/165.24 new_esEs(Neg(Succ(x0))) 248.87/165.24 new_primEqInt(Neg(Succ(x0))) 248.87/165.24 new_primEqInt(Neg(Zero)) 248.87/165.24 new_esEs(Neg(Zero)) 248.87/165.24 248.87/165.24 248.87/165.24 ---------------------------------------- 248.87/165.24 248.87/165.24 (527) 248.87/165.24 Obligation: 248.87/165.24 Q DP problem: 248.87/165.24 The TRS P consists of the following rules: 248.87/165.24 248.87/165.24 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 248.87/165.24 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) 248.87/165.24 248.87/165.24 The TRS R consists of the following rules: 248.87/165.24 248.87/165.24 new_primModNatS1(Succ(Succ(vyv292000)), Succ(vyv291000)) -> new_primModNatS01(vyv292000, vyv291000, vyv292000, vyv291000) 248.87/165.24 new_primModNatS01(vyv330, vyv331, Zero, Zero) -> new_primModNatS02(vyv330, vyv331) 248.87/165.24 new_primModNatS02(vyv330, vyv331) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv330), Succ(vyv331)), Succ(vyv331)) 248.87/165.24 new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Succ(vyv3330)) -> new_primModNatS01(vyv330, vyv331, vyv3320, vyv3330) 248.87/165.24 new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Zero) -> new_primModNatS02(vyv330, vyv331) 248.87/165.24 new_primModNatS01(vyv330, vyv331, Zero, Succ(vyv3330)) -> Succ(Succ(vyv330)) 248.87/165.24 new_primMinusNatS2(Succ(vyv3100), Succ(vyv3110)) -> new_primMinusNatS2(vyv3100, vyv3110) 248.87/165.24 new_primModNatS1(Succ(Zero), Succ(vyv291000)) -> Succ(Zero) 248.87/165.24 new_primModNatS1(Zero, vyv29100) -> Zero 248.87/165.24 new_primMinusNatS2(Zero, Zero) -> Zero 248.87/165.24 new_primMinusNatS2(Zero, Succ(vyv3110)) -> Zero 248.87/165.24 new_primMinusNatS2(Succ(vyv3100), Zero) -> Succ(vyv3100) 248.87/165.24 new_esEs(Pos(Succ(vyv24100))) -> new_primEqInt(Pos(Succ(vyv24100))) 248.87/165.24 new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) 248.87/165.24 new_primEqInt(Pos(Zero)) -> True 248.87/165.24 new_primEqInt(Pos(Succ(vyv242000))) -> False 248.87/165.24 248.87/165.24 The set Q consists of the following terms: 248.87/165.24 248.87/165.24 new_primModNatS1(Succ(Zero), Succ(x0)) 248.87/165.24 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 248.87/165.24 new_primEqInt(Pos(Zero)) 248.87/165.24 new_primModNatS02(x0, x1) 248.87/165.24 new_primModNatS01(x0, x1, Succ(x2), Zero) 248.87/165.24 new_primModNatS01(x0, x1, Zero, Succ(x2)) 248.87/165.24 new_primMinusNatS2(Zero, Zero) 248.87/165.24 new_primMinusNatS2(Zero, Succ(x0)) 248.87/165.24 new_primModNatS1(Succ(Zero), Zero) 248.87/165.24 new_esEs(Pos(Zero)) 248.87/165.24 new_primMinusNatS2(Succ(x0), Zero) 248.87/165.24 new_primModNatS01(x0, x1, Zero, Zero) 248.87/165.24 new_primEqInt(Pos(Succ(x0))) 248.87/165.24 new_primMinusNatS2(Succ(x0), Succ(x1)) 248.87/165.24 new_primModNatS1(Succ(Succ(x0)), Zero) 248.87/165.24 new_primModNatS1(Zero, x0) 248.87/165.24 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 248.87/165.24 new_esEs(Pos(Succ(x0))) 248.87/165.24 248.87/165.24 We have to consider all (P,Q,R)-chains. 248.87/165.24 ---------------------------------------- 248.87/165.24 248.87/165.24 (528) InductionCalculusProof (EQUIVALENT) 248.87/165.24 Note that final constraints are written in bold face. 248.87/165.24 248.87/165.24 248.87/165.24 248.87/165.24 For Pair new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) the following chains were created: 248.87/165.24 *We consider the chain new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(new_primModNatS01(Succ(Succ(x3)), Succ(Succ(x2)), x3, x2))), new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x4))))), Pos(Succ(Succ(Succ(Succ(x5)))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(Succ(x4)), Succ(Succ(x5)), x4, x5))), Pos(Succ(Succ(Succ(Succ(x5))))), Pos(Succ(Succ(Succ(Succ(x4)))))) which results in the following constraint: 248.87/165.24 248.87/165.24 (1) (new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(new_primModNatS01(Succ(Succ(x3)), Succ(Succ(x2)), x3, x2)))=new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x4))))), Pos(Succ(Succ(Succ(Succ(x5)))))) ==> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))))_>=_new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(new_primModNatS01(Succ(Succ(x3)), Succ(Succ(x2)), x3, x2)))) 248.87/165.24 248.87/165.24 248.87/165.24 248.87/165.24 We simplified constraint (1) using rules (I), (II), (IV), (VII) which results in the following new constraint: 248.87/165.24 248.87/165.24 (2) (Succ(Succ(x3))=x12 & Succ(Succ(x2))=x13 & new_primModNatS01(x12, x13, x3, x2)=Succ(Succ(Succ(Succ(x5)))) ==> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))))_>=_new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(new_primModNatS01(Succ(Succ(x3)), Succ(Succ(x2)), x3, x2)))) 248.87/165.24 248.87/165.24 248.87/165.24 248.87/165.24 We simplified constraint (2) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS01(x12, x13, x3, x2)=Succ(Succ(Succ(Succ(x5)))) which results in the following new constraints: 248.87/165.24 248.87/165.24 (3) (new_primModNatS02(x15, x14)=Succ(Succ(Succ(Succ(x5)))) & Succ(Succ(Zero))=x15 & Succ(Succ(Zero))=x14 ==> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(new_primModNatS01(Succ(Succ(Zero)), Succ(Succ(Zero)), Zero, Zero)))) 248.87/165.24 248.87/165.24 (4) (new_primModNatS01(x19, x18, x17, x16)=Succ(Succ(Succ(Succ(x5)))) & Succ(Succ(Succ(x17)))=x19 & Succ(Succ(Succ(x16)))=x18 & (\/x20:new_primModNatS01(x19, x18, x17, x16)=Succ(Succ(Succ(Succ(x20)))) & Succ(Succ(x17))=x19 & Succ(Succ(x16))=x18 ==> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x16))))), Pos(Succ(Succ(Succ(Succ(x17))))))_>=_new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x16))))), Pos(new_primModNatS01(Succ(Succ(x17)), Succ(Succ(x16)), x17, x16)))) ==> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(Succ(x16)))))), Pos(Succ(Succ(Succ(Succ(Succ(x17)))))))_>=_new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Succ(x16)))))), Pos(new_primModNatS01(Succ(Succ(Succ(x17))), Succ(Succ(Succ(x16))), Succ(x17), Succ(x16))))) 248.87/165.24 248.87/165.24 (5) (new_primModNatS02(x23, x22)=Succ(Succ(Succ(Succ(x5)))) & Succ(Succ(Succ(x21)))=x23 & Succ(Succ(Zero))=x22 ==> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(Succ(x21)))))))_>=_new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(new_primModNatS01(Succ(Succ(Succ(x21))), Succ(Succ(Zero)), Succ(x21), Zero)))) 248.87/165.24 248.87/165.24 (6) (Succ(Succ(x26))=Succ(Succ(Succ(Succ(x5)))) & Succ(Succ(Zero))=x26 & Succ(Succ(Succ(x24)))=x25 ==> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(Succ(x24)))))), Pos(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Succ(x24)))))), Pos(new_primModNatS01(Succ(Succ(Zero)), Succ(Succ(Succ(x24))), Zero, Succ(x24))))) 248.87/165.24 248.87/165.24 248.87/165.24 248.87/165.24 We simplified constraint (3) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS02(x15, x14)=Succ(Succ(Succ(Succ(x5)))) which results in the following new constraint: 248.87/165.24 248.87/165.24 (7) (new_primModNatS1(new_primMinusNatS2(Succ(x28), Succ(x27)), Succ(x27))=Succ(Succ(Succ(Succ(x5)))) & Succ(Succ(Zero))=x28 & Succ(Succ(Zero))=x27 ==> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(new_primModNatS01(Succ(Succ(Zero)), Succ(Succ(Zero)), Zero, Zero)))) 248.87/165.24 248.87/165.24 248.87/165.24 248.87/165.24 We simplified constraint (4) using rule (IV) which results in the following new constraint: 248.87/165.24 248.87/165.24 (8) (new_primModNatS01(x19, x18, x17, x16)=Succ(Succ(Succ(Succ(x5)))) & Succ(Succ(Succ(x17)))=x19 & Succ(Succ(Succ(x16)))=x18 ==> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(Succ(x16)))))), Pos(Succ(Succ(Succ(Succ(Succ(x17)))))))_>=_new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Succ(x16)))))), Pos(new_primModNatS01(Succ(Succ(Succ(x17))), Succ(Succ(Succ(x16))), Succ(x17), Succ(x16))))) 248.87/165.24 248.87/165.24 248.87/165.24 248.87/165.24 We simplified constraint (5) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS02(x23, x22)=Succ(Succ(Succ(Succ(x5)))) which results in the following new constraint: 248.87/165.24 248.87/165.24 (9) (new_primModNatS1(new_primMinusNatS2(Succ(x47), Succ(x46)), Succ(x46))=Succ(Succ(Succ(Succ(x5)))) & Succ(Succ(Succ(x21)))=x47 & Succ(Succ(Zero))=x46 ==> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(Succ(x21)))))))_>=_new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(new_primModNatS01(Succ(Succ(Succ(x21))), Succ(Succ(Zero)), Succ(x21), Zero)))) 248.87/165.24 248.87/165.24 248.87/165.24 248.87/165.24 We simplified constraint (6) using rules (I), (II), (III), (IV) which results in the following new constraint: 248.87/165.24 248.87/165.24 (10) (new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(Succ(x24)))))), Pos(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Succ(x24)))))), Pos(new_primModNatS01(Succ(Succ(Zero)), Succ(Succ(Succ(x24))), Zero, Succ(x24))))) 248.87/165.24 248.87/165.24 248.87/165.24 248.87/165.24 We simplified constraint (7) using rules (III), (IV), (VII) which results in the following new constraint: 248.87/165.24 248.87/165.24 (11) (new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(new_primModNatS01(Succ(Succ(Zero)), Succ(Succ(Zero)), Zero, Zero)))) 248.87/165.24 248.87/165.24 248.87/165.24 248.87/165.24 We simplified constraint (8) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS01(x19, x18, x17, x16)=Succ(Succ(Succ(Succ(x5)))) which results in the following new constraints: 248.87/165.24 248.87/165.24 (12) (new_primModNatS02(x34, x33)=Succ(Succ(Succ(Succ(x5)))) & Succ(Succ(Succ(Zero)))=x34 & Succ(Succ(Succ(Zero)))=x33 ==> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(new_primModNatS01(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Zero))), Succ(Zero), Succ(Zero))))) 248.87/165.24 248.87/165.24 (13) (new_primModNatS01(x38, x37, x36, x35)=Succ(Succ(Succ(Succ(x5)))) & Succ(Succ(Succ(Succ(x36))))=x38 & Succ(Succ(Succ(Succ(x35))))=x37 & (\/x39:new_primModNatS01(x38, x37, x36, x35)=Succ(Succ(Succ(Succ(x39)))) & Succ(Succ(Succ(x36)))=x38 & Succ(Succ(Succ(x35)))=x37 ==> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(Succ(x35)))))), Pos(Succ(Succ(Succ(Succ(Succ(x36)))))))_>=_new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Succ(x35)))))), Pos(new_primModNatS01(Succ(Succ(Succ(x36))), Succ(Succ(Succ(x35))), Succ(x36), Succ(x35))))) ==> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(Succ(Succ(x35))))))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x36))))))))_>=_new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Succ(Succ(x35))))))), Pos(new_primModNatS01(Succ(Succ(Succ(Succ(x36)))), Succ(Succ(Succ(Succ(x35)))), Succ(Succ(x36)), Succ(Succ(x35)))))) 248.87/165.24 248.87/165.24 (14) (new_primModNatS02(x42, x41)=Succ(Succ(Succ(Succ(x5)))) & Succ(Succ(Succ(Succ(x40))))=x42 & Succ(Succ(Succ(Zero)))=x41 ==> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x40))))))))_>=_new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(new_primModNatS01(Succ(Succ(Succ(Succ(x40)))), Succ(Succ(Succ(Zero))), Succ(Succ(x40)), Succ(Zero))))) 248.87/165.24 248.87/165.24 (15) (Succ(Succ(x45))=Succ(Succ(Succ(Succ(x5)))) & Succ(Succ(Succ(Zero)))=x45 & Succ(Succ(Succ(Succ(x43))))=x44 ==> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(Succ(Succ(x43))))))), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Succ(Succ(x43))))))), Pos(new_primModNatS01(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Succ(x43)))), Succ(Zero), Succ(Succ(x43)))))) 248.87/165.24 248.87/165.24 248.87/165.24 248.87/165.24 We simplified constraint (12) using rules (III), (IV) which results in the following new constraint: 248.87/165.24 248.87/165.24 (16) (new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(new_primModNatS01(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Zero))), Succ(Zero), Succ(Zero))))) 248.87/165.24 248.87/165.24 248.87/165.24 248.87/165.24 We simplified constraint (13) using rules (III), (IV) which results in the following new constraint: 248.87/165.24 248.87/165.24 (17) (new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(Succ(Succ(x35))))))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x36))))))))_>=_new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Succ(Succ(x35))))))), Pos(new_primModNatS01(Succ(Succ(Succ(Succ(x36)))), Succ(Succ(Succ(Succ(x35)))), Succ(Succ(x36)), Succ(Succ(x35)))))) 248.87/165.24 248.87/165.24 248.87/165.24 248.87/165.24 We simplified constraint (14) using rules (III), (IV) which results in the following new constraint: 248.87/165.24 248.87/165.24 (18) (new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x40))))))))_>=_new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(new_primModNatS01(Succ(Succ(Succ(Succ(x40)))), Succ(Succ(Succ(Zero))), Succ(Succ(x40)), Succ(Zero))))) 248.87/165.24 248.87/165.24 248.87/165.24 248.87/165.24 We simplified constraint (15) using rules (I), (II), (III), (IV) which results in the following new constraint: 248.87/165.24 248.87/165.24 (19) (new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(Succ(Succ(x43))))))), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Succ(Succ(x43))))))), Pos(new_primModNatS01(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Succ(x43)))), Succ(Zero), Succ(Succ(x43)))))) 248.87/165.24 248.87/165.24 248.87/165.24 248.87/165.24 We simplified constraint (9) using rules (III), (IV), (VII) which results in the following new constraint: 248.87/165.24 248.87/165.24 (20) (new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(Succ(x21)))))))_>=_new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(new_primModNatS01(Succ(Succ(Succ(x21))), Succ(Succ(Zero)), Succ(x21), Zero)))) 248.87/165.24 248.87/165.24 248.87/165.24 248.87/165.24 248.87/165.24 248.87/165.24 248.87/165.24 248.87/165.24 248.87/165.24 For Pair new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) the following chains were created: 248.87/165.24 *We consider the chain new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x6))))), Pos(Succ(Succ(Succ(Succ(x7)))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(Succ(x6)), Succ(Succ(x7)), x6, x7))), Pos(Succ(Succ(Succ(Succ(x7))))), Pos(Succ(Succ(Succ(Succ(x6)))))), new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x8))))), Pos(Succ(Succ(Succ(Succ(x9)))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x8))))), Pos(new_primModNatS01(Succ(Succ(x9)), Succ(Succ(x8)), x9, x8))) which results in the following constraint: 248.87/165.24 248.87/165.24 (1) (new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(Succ(x6)), Succ(Succ(x7)), x6, x7))), Pos(Succ(Succ(Succ(Succ(x7))))), Pos(Succ(Succ(Succ(Succ(x6))))))=new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x8))))), Pos(Succ(Succ(Succ(Succ(x9)))))) ==> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x6))))), Pos(Succ(Succ(Succ(Succ(x7))))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(Succ(x6)), Succ(Succ(x7)), x6, x7))), Pos(Succ(Succ(Succ(Succ(x7))))), Pos(Succ(Succ(Succ(Succ(x6))))))) 248.87/165.24 248.87/165.24 248.87/165.24 248.87/165.24 We simplified constraint (1) using rules (I), (II), (IV), (VII) which results in the following new constraint: 248.87/165.24 248.87/165.24 (2) (Pos(new_primModNatS01(Succ(Succ(x6)), Succ(Succ(x7)), x6, x7))=x52 & new_esEs(x52)=False ==> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x6))))), Pos(Succ(Succ(Succ(Succ(x7))))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(Succ(x6)), Succ(Succ(x7)), x6, x7))), Pos(Succ(Succ(Succ(Succ(x7))))), Pos(Succ(Succ(Succ(Succ(x6))))))) 248.87/165.24 248.87/165.24 248.87/165.24 248.87/165.24 We simplified constraint (2) using rule (V) (with possible (I) afterwards) using induction on new_esEs(x52)=False which results in the following new constraints: 248.87/165.24 248.87/165.24 (3) (new_primEqInt(Pos(Succ(x53)))=False & Pos(new_primModNatS01(Succ(Succ(x6)), Succ(Succ(x7)), x6, x7))=Pos(Succ(x53)) ==> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x6))))), Pos(Succ(Succ(Succ(Succ(x7))))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(Succ(x6)), Succ(Succ(x7)), x6, x7))), Pos(Succ(Succ(Succ(Succ(x7))))), Pos(Succ(Succ(Succ(Succ(x6))))))) 248.87/165.24 248.87/165.24 (4) (new_primEqInt(Pos(Zero))=False & Pos(new_primModNatS01(Succ(Succ(x6)), Succ(Succ(x7)), x6, x7))=Pos(Zero) ==> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x6))))), Pos(Succ(Succ(Succ(Succ(x7))))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(Succ(x6)), Succ(Succ(x7)), x6, x7))), Pos(Succ(Succ(Succ(Succ(x7))))), Pos(Succ(Succ(Succ(Succ(x6))))))) 248.87/165.24 248.87/165.24 248.87/165.24 248.87/165.24 We simplified constraint (3) using rules (I), (II), (VII) which results in the following new constraint: 248.87/165.24 248.87/165.24 (5) (Pos(Succ(x53))=x54 & new_primEqInt(x54)=False & Succ(Succ(x6))=x55 & Succ(Succ(x7))=x56 & new_primModNatS01(x55, x56, x6, x7)=Succ(x53) ==> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x6))))), Pos(Succ(Succ(Succ(Succ(x7))))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(Succ(x6)), Succ(Succ(x7)), x6, x7))), Pos(Succ(Succ(Succ(Succ(x7))))), Pos(Succ(Succ(Succ(Succ(x6))))))) 248.87/165.24 248.87/165.24 248.87/165.24 248.87/165.24 We simplified constraint (4) using rules (I), (II), (VII) which results in the following new constraint: 248.87/165.24 248.87/165.24 (6) (Pos(Zero)=x96 & new_primEqInt(x96)=False & Succ(Succ(x6))=x97 & Succ(Succ(x7))=x98 & new_primModNatS01(x97, x98, x6, x7)=Zero ==> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x6))))), Pos(Succ(Succ(Succ(Succ(x7))))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(Succ(x6)), Succ(Succ(x7)), x6, x7))), Pos(Succ(Succ(Succ(Succ(x7))))), Pos(Succ(Succ(Succ(Succ(x6))))))) 248.87/165.24 248.87/165.24 248.87/165.24 248.87/165.24 We simplified constraint (5) using rule (V) (with possible (I) afterwards) using induction on new_primEqInt(x54)=False which results in the following new constraint: 248.87/165.24 248.87/165.24 (7) (False=False & Pos(Succ(x53))=Pos(Succ(x57)) & Succ(Succ(x6))=x55 & Succ(Succ(x7))=x56 & new_primModNatS01(x55, x56, x6, x7)=Succ(x53) ==> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x6))))), Pos(Succ(Succ(Succ(Succ(x7))))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(Succ(x6)), Succ(Succ(x7)), x6, x7))), Pos(Succ(Succ(Succ(Succ(x7))))), Pos(Succ(Succ(Succ(Succ(x6))))))) 248.87/165.24 248.87/165.24 248.87/165.24 248.87/165.24 We simplified constraint (7) using rules (I), (II), (IV) which results in the following new constraint: 248.87/165.24 248.87/165.24 (8) (Succ(Succ(x6))=x55 & Succ(Succ(x7))=x56 & new_primModNatS01(x55, x56, x6, x7)=Succ(x53) ==> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x6))))), Pos(Succ(Succ(Succ(Succ(x7))))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(Succ(x6)), Succ(Succ(x7)), x6, x7))), Pos(Succ(Succ(Succ(Succ(x7))))), Pos(Succ(Succ(Succ(Succ(x6))))))) 248.87/165.24 248.87/165.24 248.87/165.24 248.87/165.24 We simplified constraint (8) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS01(x55, x56, x6, x7)=Succ(x53) which results in the following new constraints: 248.87/165.24 248.87/165.24 (9) (new_primModNatS02(x59, x58)=Succ(x53) & Succ(Succ(Zero))=x59 & Succ(Succ(Zero))=x58 ==> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(Succ(Zero)), Succ(Succ(Zero)), Zero, Zero))), Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(Zero))))))) 248.87/165.24 248.87/165.24 (10) (new_primModNatS01(x63, x62, x61, x60)=Succ(x53) & Succ(Succ(Succ(x61)))=x63 & Succ(Succ(Succ(x60)))=x62 & (\/x64:new_primModNatS01(x63, x62, x61, x60)=Succ(x64) & Succ(Succ(x61))=x63 & Succ(Succ(x60))=x62 ==> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x61))))), Pos(Succ(Succ(Succ(Succ(x60))))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(Succ(x61)), Succ(Succ(x60)), x61, x60))), Pos(Succ(Succ(Succ(Succ(x60))))), Pos(Succ(Succ(Succ(Succ(x61))))))) ==> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Succ(x61)))))), Pos(Succ(Succ(Succ(Succ(Succ(x60)))))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(Succ(Succ(x61))), Succ(Succ(Succ(x60))), Succ(x61), Succ(x60)))), Pos(Succ(Succ(Succ(Succ(Succ(x60)))))), Pos(Succ(Succ(Succ(Succ(Succ(x61)))))))) 248.87/165.24 248.87/165.24 (11) (new_primModNatS02(x67, x66)=Succ(x53) & Succ(Succ(Succ(x65)))=x67 & Succ(Succ(Zero))=x66 ==> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Succ(x65)))))), Pos(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(Succ(Succ(x65))), Succ(Succ(Zero)), Succ(x65), Zero))), Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(Succ(x65)))))))) 248.87/165.24 248.87/165.24 (12) (Succ(Succ(x70))=Succ(x53) & Succ(Succ(Zero))=x70 & Succ(Succ(Succ(x68)))=x69 ==> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(Succ(x68)))))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(Succ(Zero)), Succ(Succ(Succ(x68))), Zero, Succ(x68)))), Pos(Succ(Succ(Succ(Succ(Succ(x68)))))), Pos(Succ(Succ(Succ(Succ(Zero))))))) 248.87/165.24 248.87/165.24 248.87/165.24 248.87/165.24 We simplified constraint (9) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS02(x59, x58)=Succ(x53) which results in the following new constraint: 248.87/165.24 248.87/165.24 (13) (new_primModNatS1(new_primMinusNatS2(Succ(x72), Succ(x71)), Succ(x71))=Succ(x53) & Succ(Succ(Zero))=x72 & Succ(Succ(Zero))=x71 ==> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(Succ(Zero)), Succ(Succ(Zero)), Zero, Zero))), Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(Zero))))))) 248.87/165.24 248.87/165.24 248.87/165.24 248.87/165.24 We simplified constraint (10) using rule (IV) which results in the following new constraint: 248.87/165.24 248.87/165.24 (14) (new_primModNatS01(x63, x62, x61, x60)=Succ(x53) & Succ(Succ(Succ(x61)))=x63 & Succ(Succ(Succ(x60)))=x62 ==> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Succ(x61)))))), Pos(Succ(Succ(Succ(Succ(Succ(x60)))))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(Succ(Succ(x61))), Succ(Succ(Succ(x60))), Succ(x61), Succ(x60)))), Pos(Succ(Succ(Succ(Succ(Succ(x60)))))), Pos(Succ(Succ(Succ(Succ(Succ(x61)))))))) 248.87/165.24 248.87/165.24 248.87/165.24 248.87/165.24 We simplified constraint (11) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS02(x67, x66)=Succ(x53) which results in the following new constraint: 248.87/165.24 248.87/165.24 (15) (new_primModNatS1(new_primMinusNatS2(Succ(x91), Succ(x90)), Succ(x90))=Succ(x53) & Succ(Succ(Succ(x65)))=x91 & Succ(Succ(Zero))=x90 ==> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Succ(x65)))))), Pos(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(Succ(Succ(x65))), Succ(Succ(Zero)), Succ(x65), Zero))), Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(Succ(x65)))))))) 248.87/165.24 248.87/165.24 248.87/165.24 248.87/165.24 We simplified constraint (12) using rules (I), (II), (IV) which results in the following new constraint: 248.87/165.24 248.87/165.24 (16) (new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(Succ(x68)))))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(Succ(Zero)), Succ(Succ(Succ(x68))), Zero, Succ(x68)))), Pos(Succ(Succ(Succ(Succ(Succ(x68)))))), Pos(Succ(Succ(Succ(Succ(Zero))))))) 248.87/165.24 248.87/165.24 248.87/165.24 248.87/165.24 We simplified constraint (13) using rules (III), (IV), (VII) which results in the following new constraint: 248.87/165.24 248.87/165.24 (17) (new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(Succ(Zero)), Succ(Succ(Zero)), Zero, Zero))), Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(Zero))))))) 248.87/165.24 248.87/165.24 248.87/165.24 248.87/165.24 We simplified constraint (14) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS01(x63, x62, x61, x60)=Succ(x53) which results in the following new constraints: 248.87/165.24 248.87/165.24 (18) (new_primModNatS02(x78, x77)=Succ(x53) & Succ(Succ(Succ(Zero)))=x78 & Succ(Succ(Succ(Zero)))=x77 ==> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Zero))), Succ(Zero), Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))))) 248.87/165.24 248.87/165.24 (19) (new_primModNatS01(x82, x81, x80, x79)=Succ(x53) & Succ(Succ(Succ(Succ(x80))))=x82 & Succ(Succ(Succ(Succ(x79))))=x81 & (\/x83:new_primModNatS01(x82, x81, x80, x79)=Succ(x83) & Succ(Succ(Succ(x80)))=x82 & Succ(Succ(Succ(x79)))=x81 ==> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Succ(x80)))))), Pos(Succ(Succ(Succ(Succ(Succ(x79)))))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(Succ(Succ(x80))), Succ(Succ(Succ(x79))), Succ(x80), Succ(x79)))), Pos(Succ(Succ(Succ(Succ(Succ(x79)))))), Pos(Succ(Succ(Succ(Succ(Succ(x80)))))))) ==> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Succ(Succ(x80))))))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x79))))))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(Succ(Succ(Succ(x80)))), Succ(Succ(Succ(Succ(x79)))), Succ(Succ(x80)), Succ(Succ(x79))))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x79))))))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x80))))))))) 248.87/165.24 248.87/165.24 (20) (new_primModNatS02(x86, x85)=Succ(x53) & Succ(Succ(Succ(Succ(x84))))=x86 & Succ(Succ(Succ(Zero)))=x85 ==> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Succ(Succ(x84))))))), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(Succ(Succ(Succ(x84)))), Succ(Succ(Succ(Zero))), Succ(Succ(x84)), Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x84))))))))) 248.87/165.24 248.87/165.24 (21) (Succ(Succ(x89))=Succ(x53) & Succ(Succ(Succ(Zero)))=x89 & Succ(Succ(Succ(Succ(x87))))=x88 ==> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x87))))))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Succ(x87)))), Succ(Zero), Succ(Succ(x87))))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x87))))))), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))))) 248.87/165.24 248.87/165.24 248.87/165.24 248.87/165.24 We simplified constraint (18) using rules (III), (IV) which results in the following new constraint: 248.87/165.24 248.87/165.24 (22) (new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Zero))), Succ(Zero), Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))))) 248.87/165.24 248.87/165.24 248.87/165.24 248.87/165.24 We simplified constraint (19) using rules (III), (IV) which results in the following new constraint: 248.87/165.24 248.87/165.24 (23) (new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Succ(Succ(x80))))))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x79))))))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(Succ(Succ(Succ(x80)))), Succ(Succ(Succ(Succ(x79)))), Succ(Succ(x80)), Succ(Succ(x79))))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x79))))))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x80))))))))) 248.87/165.24 248.87/165.24 248.87/165.24 248.87/165.24 We simplified constraint (20) using rules (III), (IV) which results in the following new constraint: 248.87/165.24 248.87/165.24 (24) (new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Succ(Succ(x84))))))), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(Succ(Succ(Succ(x84)))), Succ(Succ(Succ(Zero))), Succ(Succ(x84)), Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x84))))))))) 248.87/165.24 248.87/165.24 248.87/165.24 248.87/165.24 We simplified constraint (21) using rules (I), (II), (IV) which results in the following new constraint: 248.87/165.24 248.87/165.24 (25) (new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x87))))))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Succ(x87)))), Succ(Zero), Succ(Succ(x87))))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x87))))))), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))))) 248.87/165.24 248.87/165.24 248.87/165.24 248.87/165.24 We simplified constraint (15) using rules (III), (IV), (VII) which results in the following new constraint: 248.87/165.24 248.87/165.24 (26) (new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Succ(x65)))))), Pos(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(Succ(Succ(x65))), Succ(Succ(Zero)), Succ(x65), Zero))), Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(Succ(x65)))))))) 248.87/165.24 248.87/165.24 248.87/165.24 248.87/165.24 We simplified constraint (6) using rule (V) (with possible (I) afterwards) using induction on new_primEqInt(x96)=False which results in the following new constraint: 248.87/165.24 248.87/165.24 (27) (False=False & Pos(Zero)=Pos(Succ(x99)) & Succ(Succ(x6))=x97 & Succ(Succ(x7))=x98 & new_primModNatS01(x97, x98, x6, x7)=Zero ==> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x6))))), Pos(Succ(Succ(Succ(Succ(x7))))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(Succ(x6)), Succ(Succ(x7)), x6, x7))), Pos(Succ(Succ(Succ(Succ(x7))))), Pos(Succ(Succ(Succ(Succ(x6))))))) 248.87/165.24 248.87/165.24 248.87/165.24 248.87/165.24 We solved constraint (27) using rules (I), (II). 248.87/165.24 248.87/165.24 248.87/165.24 248.87/165.24 248.87/165.24 To summarize, we get the following constraints P__>=_ for the following pairs. 248.87/165.24 248.87/165.24 *new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 248.87/165.24 248.87/165.24 *(new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(Succ(Succ(x43))))))), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Succ(Succ(x43))))))), Pos(new_primModNatS01(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Succ(x43)))), Succ(Zero), Succ(Succ(x43)))))) 248.87/165.24 248.87/165.24 248.87/165.24 *(new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(Succ(x24)))))), Pos(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Succ(x24)))))), Pos(new_primModNatS01(Succ(Succ(Zero)), Succ(Succ(Succ(x24))), Zero, Succ(x24))))) 248.87/165.24 248.87/165.24 248.87/165.24 *(new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(new_primModNatS01(Succ(Succ(Zero)), Succ(Succ(Zero)), Zero, Zero)))) 248.87/165.24 248.87/165.24 248.87/165.24 *(new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(new_primModNatS01(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Zero))), Succ(Zero), Succ(Zero))))) 248.87/165.24 248.87/165.24 248.87/165.24 *(new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(Succ(Succ(x35))))))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x36))))))))_>=_new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Succ(Succ(x35))))))), Pos(new_primModNatS01(Succ(Succ(Succ(Succ(x36)))), Succ(Succ(Succ(Succ(x35)))), Succ(Succ(x36)), Succ(Succ(x35)))))) 248.87/165.24 248.87/165.24 248.87/165.24 *(new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x40))))))))_>=_new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(new_primModNatS01(Succ(Succ(Succ(Succ(x40)))), Succ(Succ(Succ(Zero))), Succ(Succ(x40)), Succ(Zero))))) 248.87/165.24 248.87/165.24 248.87/165.24 *(new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(Succ(x21)))))))_>=_new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(new_primModNatS01(Succ(Succ(Succ(x21))), Succ(Succ(Zero)), Succ(x21), Zero)))) 248.87/165.24 248.87/165.24 248.87/165.24 248.87/165.24 248.87/165.24 *new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) 248.87/165.24 248.87/165.24 *(new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x87))))))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Succ(x87)))), Succ(Zero), Succ(Succ(x87))))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x87))))))), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))))) 248.87/165.24 248.87/165.24 248.87/165.24 *(new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(Succ(x68)))))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(Succ(Zero)), Succ(Succ(Succ(x68))), Zero, Succ(x68)))), Pos(Succ(Succ(Succ(Succ(Succ(x68)))))), Pos(Succ(Succ(Succ(Succ(Zero))))))) 248.87/165.24 248.87/165.24 248.87/165.24 *(new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(Succ(Zero)), Succ(Succ(Zero)), Zero, Zero))), Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(Zero))))))) 248.87/165.24 248.87/165.24 248.87/165.24 *(new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Zero))), Succ(Zero), Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))))) 248.87/165.24 248.87/165.24 248.87/165.24 *(new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Succ(Succ(x80))))))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x79))))))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(Succ(Succ(Succ(x80)))), Succ(Succ(Succ(Succ(x79)))), Succ(Succ(x80)), Succ(Succ(x79))))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x79))))))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x80))))))))) 248.87/165.24 248.87/165.24 248.87/165.24 *(new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Succ(Succ(x84))))))), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(Succ(Succ(Succ(x84)))), Succ(Succ(Succ(Zero))), Succ(Succ(x84)), Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x84))))))))) 248.87/165.24 248.87/165.24 248.87/165.24 *(new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Succ(x65)))))), Pos(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(Succ(Succ(x65))), Succ(Succ(Zero)), Succ(x65), Zero))), Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(Succ(x65)))))))) 248.87/165.24 248.87/165.24 248.87/165.24 248.87/165.24 248.87/165.24 248.87/165.24 248.87/165.24 248.87/165.24 248.87/165.24 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. 248.87/165.24 ---------------------------------------- 248.87/165.24 248.87/165.24 (529) 248.87/165.24 Obligation: 248.87/165.24 Q DP problem: 248.87/165.24 The TRS P consists of the following rules: 248.87/165.24 248.87/165.24 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 248.87/165.24 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) 248.87/165.24 248.87/165.24 The TRS R consists of the following rules: 248.87/165.24 248.87/165.24 new_primModNatS1(Succ(Succ(vyv292000)), Succ(vyv291000)) -> new_primModNatS01(vyv292000, vyv291000, vyv292000, vyv291000) 248.87/165.24 new_primModNatS01(vyv330, vyv331, Zero, Zero) -> new_primModNatS02(vyv330, vyv331) 248.87/165.24 new_primModNatS02(vyv330, vyv331) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv330), Succ(vyv331)), Succ(vyv331)) 248.87/165.24 new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Succ(vyv3330)) -> new_primModNatS01(vyv330, vyv331, vyv3320, vyv3330) 248.87/165.24 new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Zero) -> new_primModNatS02(vyv330, vyv331) 248.87/165.24 new_primModNatS01(vyv330, vyv331, Zero, Succ(vyv3330)) -> Succ(Succ(vyv330)) 248.87/165.24 new_primMinusNatS2(Succ(vyv3100), Succ(vyv3110)) -> new_primMinusNatS2(vyv3100, vyv3110) 248.87/165.24 new_primModNatS1(Succ(Zero), Succ(vyv291000)) -> Succ(Zero) 248.87/165.24 new_primModNatS1(Zero, vyv29100) -> Zero 248.87/165.24 new_primMinusNatS2(Zero, Zero) -> Zero 248.87/165.24 new_primMinusNatS2(Zero, Succ(vyv3110)) -> Zero 248.87/165.24 new_primMinusNatS2(Succ(vyv3100), Zero) -> Succ(vyv3100) 248.87/165.24 new_esEs(Pos(Succ(vyv24100))) -> new_primEqInt(Pos(Succ(vyv24100))) 248.87/165.24 new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) 248.87/165.24 new_primEqInt(Pos(Zero)) -> True 248.87/165.24 new_primEqInt(Pos(Succ(vyv242000))) -> False 248.87/165.24 248.87/165.24 The set Q consists of the following terms: 248.87/165.24 248.87/165.24 new_primModNatS1(Succ(Zero), Succ(x0)) 248.87/165.24 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 248.87/165.24 new_primEqInt(Pos(Zero)) 248.87/165.24 new_primModNatS02(x0, x1) 248.87/165.24 new_primModNatS01(x0, x1, Succ(x2), Zero) 248.87/165.24 new_primModNatS01(x0, x1, Zero, Succ(x2)) 248.87/165.24 new_primMinusNatS2(Zero, Zero) 248.87/165.24 new_esEs(Neg(Succ(x0))) 248.87/165.24 new_primMinusNatS2(Zero, Succ(x0)) 248.87/165.24 new_primModNatS1(Succ(Zero), Zero) 248.87/165.24 new_esEs(Pos(Zero)) 248.87/165.24 new_primEqInt(Neg(Succ(x0))) 248.87/165.24 new_primMinusNatS2(Succ(x0), Zero) 248.87/165.24 new_primEqInt(Neg(Zero)) 248.87/165.24 new_primModNatS01(x0, x1, Zero, Zero) 248.87/165.24 new_primEqInt(Pos(Succ(x0))) 248.87/165.24 new_primMinusNatS2(Succ(x0), Succ(x1)) 248.87/165.24 new_primModNatS1(Succ(Succ(x0)), Zero) 248.87/165.24 new_primModNatS1(Zero, x0) 248.87/165.24 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 248.87/165.24 new_esEs(Neg(Zero)) 248.87/165.24 new_esEs(Pos(Succ(x0))) 248.87/165.24 248.87/165.24 We have to consider all minimal (P,Q,R)-chains. 248.87/165.24 ---------------------------------------- 248.87/165.24 248.87/165.24 (530) 248.87/165.24 Obligation: 248.87/165.24 Q DP problem: 248.87/165.24 The TRS P consists of the following rules: 248.87/165.24 248.87/165.24 new_gcd0Gcd'1(False, Neg(Succ(x1)), Neg(x0)) -> new_gcd0Gcd'0(Neg(Succ(x1)), Neg(new_primModNatS1(x0, x1))) 248.87/165.24 new_gcd0Gcd'0(Neg(x0), Neg(Succ(x1))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(x0, x1))), Neg(Succ(x1)), Neg(x0)) 248.87/165.24 248.87/165.24 The TRS R consists of the following rules: 248.87/165.24 248.87/165.24 new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Succ(vyv3330)) -> new_primModNatS01(vyv330, vyv331, vyv3320, vyv3330) 248.87/165.24 new_primModNatS1(Succ(Succ(vyv292000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv292000), Zero) 248.87/165.24 new_primModNatS1(Succ(Zero), Succ(vyv291000)) -> Succ(Zero) 248.87/165.24 new_primMinusNatS2(Zero, Zero) -> Zero 248.87/165.24 new_primEqInt(Neg(Zero)) -> True 248.87/165.24 new_primMinusNatS2(Succ(vyv3100), Succ(vyv3110)) -> new_primMinusNatS2(vyv3100, vyv3110) 248.87/165.24 new_primModNatS01(vyv330, vyv331, Zero, Succ(vyv3330)) -> Succ(Succ(vyv330)) 248.87/165.24 new_primModNatS1(Succ(Succ(vyv292000)), Succ(vyv291000)) -> new_primModNatS01(vyv292000, vyv291000, vyv292000, vyv291000) 248.87/165.24 new_primMinusNatS0(vyv270000) -> Succ(vyv270000) 248.87/165.24 new_esEs(Neg(Succ(vyv24100))) -> new_primEqInt(Neg(Succ(vyv24100))) 248.87/165.24 new_rem(Neg(vyv2920), Neg(Succ(vyv29100))) -> Neg(new_primModNatS1(vyv2920, vyv29100)) 248.87/165.24 new_primModNatS1(Zero, vyv29100) -> Zero 248.87/165.24 new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) 248.87/165.24 new_rem(Pos(vyv2920), Pos(Succ(vyv29100))) -> Pos(new_primModNatS1(vyv2920, vyv29100)) 248.87/165.24 new_primMinusNatS2(Zero, Succ(vyv3110)) -> Zero 248.87/165.24 new_error -> error([]) 248.87/165.24 new_primEqInt(Pos(Succ(vyv242000))) -> False 248.87/165.24 new_primEqInt(Pos(Zero)) -> True 248.87/165.24 new_esEs(Pos(Succ(vyv24100))) -> new_primEqInt(Pos(Succ(vyv24100))) 248.87/165.24 new_primEqInt(Neg(Succ(vyv242000))) -> False 248.87/165.24 new_rem(Neg(vyv2920), Neg(Zero)) -> new_error 248.87/165.24 new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) 248.87/165.24 new_rem(Pos(vyv2920), Neg(Zero)) -> new_error 248.87/165.24 new_rem(Neg(vyv2920), Pos(Zero)) -> new_error 248.87/165.24 new_primModNatS01(vyv330, vyv331, Zero, Zero) -> new_primModNatS02(vyv330, vyv331) 248.87/165.24 new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Zero) -> new_primModNatS02(vyv330, vyv331) 248.87/165.24 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 248.87/165.24 new_primModNatS02(vyv330, vyv331) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv330), Succ(vyv331)), Succ(vyv331)) 248.87/165.24 new_rem(Pos(vyv2920), Neg(Succ(vyv29100))) -> Pos(new_primModNatS1(vyv2920, vyv29100)) 248.87/165.24 new_primMinusNatS1 -> Zero 248.87/165.24 new_primMinusNatS2(Succ(vyv3100), Zero) -> Succ(vyv3100) 248.87/165.24 new_rem(Neg(vyv2920), Pos(Succ(vyv29100))) -> Neg(new_primModNatS1(vyv2920, vyv29100)) 248.87/165.24 new_rem(Pos(vyv2920), Pos(Zero)) -> new_error 248.87/165.24 248.87/165.24 The set Q consists of the following terms: 248.87/165.24 248.87/165.24 new_rem(Pos(x0), Pos(Succ(x1))) 248.87/165.24 new_primModNatS1(Succ(Zero), Succ(x0)) 248.87/165.24 new_primMinusNatS1 248.87/165.24 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 248.87/165.24 new_primEqInt(Pos(Zero)) 248.87/165.24 new_rem(Pos(x0), Neg(Succ(x1))) 248.87/165.24 new_rem(Neg(x0), Pos(Succ(x1))) 248.87/165.24 new_primModNatS02(x0, x1) 248.87/165.24 new_primModNatS01(x0, x1, Succ(x2), Zero) 248.87/165.24 new_primModNatS01(x0, x1, Zero, Succ(x2)) 248.87/165.24 new_primMinusNatS2(Zero, Zero) 248.87/165.24 new_rem(Pos(x0), Neg(Zero)) 248.87/165.24 new_rem(Neg(x0), Pos(Zero)) 248.87/165.24 new_esEs(Neg(Succ(x0))) 248.87/165.24 new_primMinusNatS2(Zero, Succ(x0)) 248.87/165.24 new_error 248.87/165.24 new_primModNatS1(Succ(Zero), Zero) 248.87/165.24 new_esEs(Pos(Zero)) 248.87/165.24 new_primEqInt(Neg(Succ(x0))) 248.87/165.24 new_primMinusNatS2(Succ(x0), Zero) 248.87/165.24 new_primEqInt(Neg(Zero)) 248.87/165.24 new_primMinusNatS0(x0) 248.87/165.24 new_rem(Neg(x0), Neg(Succ(x1))) 248.87/165.24 new_primModNatS01(x0, x1, Zero, Zero) 248.87/165.24 new_primEqInt(Pos(Succ(x0))) 248.87/165.24 new_primMinusNatS2(Succ(x0), Succ(x1)) 248.87/165.24 new_primModNatS1(Succ(Succ(x0)), Zero) 248.87/165.24 new_rem(Pos(x0), Pos(Zero)) 248.87/165.24 new_primModNatS1(Zero, x0) 248.87/165.24 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 248.87/165.24 new_esEs(Neg(Zero)) 248.87/165.24 new_esEs(Pos(Succ(x0))) 248.87/165.24 new_rem(Neg(x0), Neg(Zero)) 248.87/165.24 248.87/165.24 We have to consider all minimal (P,Q,R)-chains. 248.87/165.24 ---------------------------------------- 248.87/165.24 248.87/165.24 (531) UsableRulesProof (EQUIVALENT) 248.87/165.24 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. 248.87/165.24 ---------------------------------------- 248.87/165.24 248.87/165.24 (532) 248.87/165.24 Obligation: 248.87/165.24 Q DP problem: 248.87/165.24 The TRS P consists of the following rules: 248.87/165.24 248.87/165.24 new_gcd0Gcd'1(False, Neg(Succ(x1)), Neg(x0)) -> new_gcd0Gcd'0(Neg(Succ(x1)), Neg(new_primModNatS1(x0, x1))) 248.87/165.24 new_gcd0Gcd'0(Neg(x0), Neg(Succ(x1))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(x0, x1))), Neg(Succ(x1)), Neg(x0)) 248.87/165.24 248.87/165.24 The TRS R consists of the following rules: 248.87/165.24 248.87/165.24 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 248.87/165.24 new_primModNatS1(Succ(Succ(vyv292000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv292000), Zero) 248.87/165.24 new_primModNatS1(Succ(Zero), Succ(vyv291000)) -> Succ(Zero) 248.87/165.24 new_primModNatS01(vyv330, vyv331, Zero, Zero) -> new_primModNatS02(vyv330, vyv331) 248.87/165.24 new_primModNatS02(vyv330, vyv331) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv330), Succ(vyv331)), Succ(vyv331)) 248.87/165.24 new_primModNatS1(Succ(Succ(vyv292000)), Succ(vyv291000)) -> new_primModNatS01(vyv292000, vyv291000, vyv292000, vyv291000) 248.87/165.24 new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Succ(vyv3330)) -> new_primModNatS01(vyv330, vyv331, vyv3320, vyv3330) 248.87/165.24 new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Zero) -> new_primModNatS02(vyv330, vyv331) 248.87/165.24 new_primModNatS1(Zero, vyv29100) -> Zero 248.87/165.24 new_esEs(Neg(Succ(vyv24100))) -> new_primEqInt(Neg(Succ(vyv24100))) 248.87/165.24 new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) 248.87/165.24 new_primEqInt(Neg(Zero)) -> True 248.87/165.24 new_primEqInt(Neg(Succ(vyv242000))) -> False 248.87/165.24 new_primMinusNatS2(Succ(vyv3100), Succ(vyv3110)) -> new_primMinusNatS2(vyv3100, vyv3110) 248.87/165.24 new_primModNatS01(vyv330, vyv331, Zero, Succ(vyv3330)) -> Succ(Succ(vyv330)) 248.87/165.24 new_primMinusNatS2(Zero, Zero) -> Zero 248.87/165.24 new_primMinusNatS2(Zero, Succ(vyv3110)) -> Zero 248.87/165.24 new_primMinusNatS2(Succ(vyv3100), Zero) -> Succ(vyv3100) 248.87/165.24 new_primMinusNatS1 -> Zero 248.87/165.24 new_primMinusNatS0(vyv270000) -> Succ(vyv270000) 248.87/165.24 248.87/165.24 The set Q consists of the following terms: 248.87/165.24 248.87/165.24 new_rem(Pos(x0), Pos(Succ(x1))) 248.87/165.24 new_primModNatS1(Succ(Zero), Succ(x0)) 248.87/165.24 new_primMinusNatS1 248.87/165.24 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 248.87/165.24 new_primEqInt(Pos(Zero)) 248.87/165.24 new_rem(Pos(x0), Neg(Succ(x1))) 248.87/165.24 new_rem(Neg(x0), Pos(Succ(x1))) 248.87/165.24 new_primModNatS02(x0, x1) 248.87/165.24 new_primModNatS01(x0, x1, Succ(x2), Zero) 248.87/165.24 new_primModNatS01(x0, x1, Zero, Succ(x2)) 248.87/165.24 new_primMinusNatS2(Zero, Zero) 248.87/165.24 new_rem(Pos(x0), Neg(Zero)) 248.87/165.24 new_rem(Neg(x0), Pos(Zero)) 248.87/165.24 new_esEs(Neg(Succ(x0))) 248.87/165.24 new_primMinusNatS2(Zero, Succ(x0)) 248.87/165.24 new_error 248.87/165.24 new_primModNatS1(Succ(Zero), Zero) 248.87/165.24 new_esEs(Pos(Zero)) 248.87/165.24 new_primEqInt(Neg(Succ(x0))) 248.87/165.24 new_primMinusNatS2(Succ(x0), Zero) 248.87/165.24 new_primEqInt(Neg(Zero)) 248.87/165.24 new_primMinusNatS0(x0) 248.87/165.24 new_rem(Neg(x0), Neg(Succ(x1))) 248.87/165.24 new_primModNatS01(x0, x1, Zero, Zero) 248.87/165.24 new_primEqInt(Pos(Succ(x0))) 248.87/165.24 new_primMinusNatS2(Succ(x0), Succ(x1)) 248.87/165.24 new_primModNatS1(Succ(Succ(x0)), Zero) 248.87/165.24 new_rem(Pos(x0), Pos(Zero)) 248.87/165.24 new_primModNatS1(Zero, x0) 248.87/165.24 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 248.87/165.24 new_esEs(Neg(Zero)) 248.87/165.24 new_esEs(Pos(Succ(x0))) 248.87/165.24 new_rem(Neg(x0), Neg(Zero)) 248.87/165.24 248.87/165.24 We have to consider all minimal (P,Q,R)-chains. 248.87/165.24 ---------------------------------------- 248.87/165.24 248.87/165.24 (533) QReductionProof (EQUIVALENT) 248.87/165.24 We deleted the following terms from Q as each root-symbol of these terms does neither occur in P nor in R.[THIEMANN]. 248.87/165.24 248.87/165.24 new_rem(Pos(x0), Pos(Succ(x1))) 248.87/165.24 new_rem(Pos(x0), Neg(Succ(x1))) 248.87/165.24 new_rem(Neg(x0), Pos(Succ(x1))) 248.87/165.24 new_rem(Pos(x0), Neg(Zero)) 248.87/165.24 new_rem(Neg(x0), Pos(Zero)) 248.87/165.24 new_error 248.87/165.24 new_rem(Neg(x0), Neg(Succ(x1))) 248.87/165.24 new_rem(Pos(x0), Pos(Zero)) 248.87/165.24 new_rem(Neg(x0), Neg(Zero)) 248.87/165.24 248.87/165.24 248.87/165.24 ---------------------------------------- 248.87/165.24 248.87/165.24 (534) 248.87/165.24 Obligation: 248.87/165.24 Q DP problem: 248.87/165.24 The TRS P consists of the following rules: 248.87/165.24 248.87/165.24 new_gcd0Gcd'1(False, Neg(Succ(x1)), Neg(x0)) -> new_gcd0Gcd'0(Neg(Succ(x1)), Neg(new_primModNatS1(x0, x1))) 248.87/165.24 new_gcd0Gcd'0(Neg(x0), Neg(Succ(x1))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(x0, x1))), Neg(Succ(x1)), Neg(x0)) 248.87/165.24 248.87/165.24 The TRS R consists of the following rules: 248.87/165.24 248.87/165.24 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 248.87/165.24 new_primModNatS1(Succ(Succ(vyv292000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv292000), Zero) 248.87/165.24 new_primModNatS1(Succ(Zero), Succ(vyv291000)) -> Succ(Zero) 248.87/165.24 new_primModNatS01(vyv330, vyv331, Zero, Zero) -> new_primModNatS02(vyv330, vyv331) 248.87/165.24 new_primModNatS02(vyv330, vyv331) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv330), Succ(vyv331)), Succ(vyv331)) 248.87/165.24 new_primModNatS1(Succ(Succ(vyv292000)), Succ(vyv291000)) -> new_primModNatS01(vyv292000, vyv291000, vyv292000, vyv291000) 248.87/165.24 new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Succ(vyv3330)) -> new_primModNatS01(vyv330, vyv331, vyv3320, vyv3330) 248.87/165.24 new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Zero) -> new_primModNatS02(vyv330, vyv331) 248.87/165.24 new_primModNatS1(Zero, vyv29100) -> Zero 248.87/165.24 new_esEs(Neg(Succ(vyv24100))) -> new_primEqInt(Neg(Succ(vyv24100))) 248.87/165.24 new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) 248.87/165.24 new_primEqInt(Neg(Zero)) -> True 248.87/165.24 new_primEqInt(Neg(Succ(vyv242000))) -> False 248.87/165.24 new_primMinusNatS2(Succ(vyv3100), Succ(vyv3110)) -> new_primMinusNatS2(vyv3100, vyv3110) 248.87/165.24 new_primModNatS01(vyv330, vyv331, Zero, Succ(vyv3330)) -> Succ(Succ(vyv330)) 248.87/165.24 new_primMinusNatS2(Zero, Zero) -> Zero 248.87/165.24 new_primMinusNatS2(Zero, Succ(vyv3110)) -> Zero 248.87/165.24 new_primMinusNatS2(Succ(vyv3100), Zero) -> Succ(vyv3100) 248.87/165.24 new_primMinusNatS1 -> Zero 248.87/165.24 new_primMinusNatS0(vyv270000) -> Succ(vyv270000) 248.87/165.24 248.87/165.24 The set Q consists of the following terms: 248.87/165.24 248.87/165.24 new_primModNatS1(Succ(Zero), Succ(x0)) 248.87/165.24 new_primMinusNatS1 248.87/165.24 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 248.87/165.24 new_primEqInt(Pos(Zero)) 248.87/165.24 new_primModNatS02(x0, x1) 248.87/165.24 new_primModNatS01(x0, x1, Succ(x2), Zero) 248.87/165.24 new_primModNatS01(x0, x1, Zero, Succ(x2)) 248.87/165.24 new_primMinusNatS2(Zero, Zero) 248.87/165.24 new_esEs(Neg(Succ(x0))) 248.87/165.24 new_primMinusNatS2(Zero, Succ(x0)) 248.87/165.24 new_primModNatS1(Succ(Zero), Zero) 248.87/165.24 new_esEs(Pos(Zero)) 248.87/165.24 new_primEqInt(Neg(Succ(x0))) 248.87/165.24 new_primMinusNatS2(Succ(x0), Zero) 248.87/165.24 new_primEqInt(Neg(Zero)) 248.87/165.24 new_primMinusNatS0(x0) 248.87/165.24 new_primModNatS01(x0, x1, Zero, Zero) 248.87/165.24 new_primEqInt(Pos(Succ(x0))) 248.87/165.24 new_primMinusNatS2(Succ(x0), Succ(x1)) 248.87/165.24 new_primModNatS1(Succ(Succ(x0)), Zero) 248.87/165.24 new_primModNatS1(Zero, x0) 248.87/165.24 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 248.87/165.24 new_esEs(Neg(Zero)) 248.87/165.24 new_esEs(Pos(Succ(x0))) 248.87/165.24 248.87/165.24 We have to consider all minimal (P,Q,R)-chains. 248.87/165.24 ---------------------------------------- 248.87/165.24 248.87/165.24 (535) TransformationProof (EQUIVALENT) 248.87/165.24 By narrowing [LPAR04] the rule new_gcd0Gcd'1(False, Neg(Succ(x1)), Neg(x0)) -> new_gcd0Gcd'0(Neg(Succ(x1)), Neg(new_primModNatS1(x0, x1))) at position [1,0] we obtained the following new rules [LPAR04]: 248.87/165.24 248.87/165.24 (new_gcd0Gcd'1(False, Neg(Succ(Zero)), Neg(Succ(Zero))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS1, Zero))),new_gcd0Gcd'1(False, Neg(Succ(Zero)), Neg(Succ(Zero))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS1, Zero)))) 248.87/165.24 (new_gcd0Gcd'1(False, Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero))),new_gcd0Gcd'1(False, Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero)))) 248.87/165.24 (new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Neg(Succ(Zero))),new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Neg(Succ(Zero)))) 248.87/165.24 (new_gcd0Gcd'1(False, Neg(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x1))), Neg(new_primModNatS01(x0, x1, x0, x1))),new_gcd0Gcd'1(False, Neg(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x1))), Neg(new_primModNatS01(x0, x1, x0, x1)))) 248.87/165.24 (new_gcd0Gcd'1(False, Neg(Succ(x0)), Neg(Zero)) -> new_gcd0Gcd'0(Neg(Succ(x0)), Neg(Zero)),new_gcd0Gcd'1(False, Neg(Succ(x0)), Neg(Zero)) -> new_gcd0Gcd'0(Neg(Succ(x0)), Neg(Zero))) 248.87/165.24 248.87/165.24 248.87/165.24 ---------------------------------------- 248.87/165.24 248.87/165.24 (536) 248.87/165.24 Obligation: 248.87/165.24 Q DP problem: 248.87/165.24 The TRS P consists of the following rules: 248.87/165.24 248.87/165.24 new_gcd0Gcd'0(Neg(x0), Neg(Succ(x1))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(x0, x1))), Neg(Succ(x1)), Neg(x0)) 248.87/165.24 new_gcd0Gcd'1(False, Neg(Succ(Zero)), Neg(Succ(Zero))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS1, Zero))) 248.87/165.24 new_gcd0Gcd'1(False, Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero))) 248.87/165.24 new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 248.87/165.24 new_gcd0Gcd'1(False, Neg(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x1))), Neg(new_primModNatS01(x0, x1, x0, x1))) 248.87/165.24 new_gcd0Gcd'1(False, Neg(Succ(x0)), Neg(Zero)) -> new_gcd0Gcd'0(Neg(Succ(x0)), Neg(Zero)) 248.87/165.24 248.87/165.24 The TRS R consists of the following rules: 248.87/165.24 248.87/165.24 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 248.87/165.24 new_primModNatS1(Succ(Succ(vyv292000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv292000), Zero) 248.87/165.24 new_primModNatS1(Succ(Zero), Succ(vyv291000)) -> Succ(Zero) 248.87/165.24 new_primModNatS01(vyv330, vyv331, Zero, Zero) -> new_primModNatS02(vyv330, vyv331) 248.87/165.24 new_primModNatS02(vyv330, vyv331) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv330), Succ(vyv331)), Succ(vyv331)) 248.87/165.24 new_primModNatS1(Succ(Succ(vyv292000)), Succ(vyv291000)) -> new_primModNatS01(vyv292000, vyv291000, vyv292000, vyv291000) 248.87/165.24 new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Succ(vyv3330)) -> new_primModNatS01(vyv330, vyv331, vyv3320, vyv3330) 248.87/165.24 new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Zero) -> new_primModNatS02(vyv330, vyv331) 248.87/165.24 new_primModNatS1(Zero, vyv29100) -> Zero 248.87/165.24 new_esEs(Neg(Succ(vyv24100))) -> new_primEqInt(Neg(Succ(vyv24100))) 248.87/165.24 new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) 248.87/165.24 new_primEqInt(Neg(Zero)) -> True 248.87/165.24 new_primEqInt(Neg(Succ(vyv242000))) -> False 248.87/165.24 new_primMinusNatS2(Succ(vyv3100), Succ(vyv3110)) -> new_primMinusNatS2(vyv3100, vyv3110) 248.87/165.24 new_primModNatS01(vyv330, vyv331, Zero, Succ(vyv3330)) -> Succ(Succ(vyv330)) 248.87/165.24 new_primMinusNatS2(Zero, Zero) -> Zero 248.87/165.24 new_primMinusNatS2(Zero, Succ(vyv3110)) -> Zero 248.87/165.24 new_primMinusNatS2(Succ(vyv3100), Zero) -> Succ(vyv3100) 248.87/165.24 new_primMinusNatS1 -> Zero 248.87/165.24 new_primMinusNatS0(vyv270000) -> Succ(vyv270000) 248.87/165.24 248.87/165.24 The set Q consists of the following terms: 248.87/165.24 248.87/165.24 new_primModNatS1(Succ(Zero), Succ(x0)) 248.87/165.24 new_primMinusNatS1 248.87/165.24 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 248.87/165.24 new_primEqInt(Pos(Zero)) 248.87/165.24 new_primModNatS02(x0, x1) 248.87/165.24 new_primModNatS01(x0, x1, Succ(x2), Zero) 248.87/165.24 new_primModNatS01(x0, x1, Zero, Succ(x2)) 248.87/165.24 new_primMinusNatS2(Zero, Zero) 248.87/165.24 new_esEs(Neg(Succ(x0))) 248.87/165.24 new_primMinusNatS2(Zero, Succ(x0)) 248.87/165.24 new_primModNatS1(Succ(Zero), Zero) 248.87/165.24 new_esEs(Pos(Zero)) 248.87/165.24 new_primEqInt(Neg(Succ(x0))) 248.87/165.24 new_primMinusNatS2(Succ(x0), Zero) 248.87/165.24 new_primEqInt(Neg(Zero)) 248.87/165.24 new_primMinusNatS0(x0) 248.87/165.24 new_primModNatS01(x0, x1, Zero, Zero) 248.87/165.24 new_primEqInt(Pos(Succ(x0))) 248.87/165.24 new_primMinusNatS2(Succ(x0), Succ(x1)) 248.87/165.24 new_primModNatS1(Succ(Succ(x0)), Zero) 248.87/165.24 new_primModNatS1(Zero, x0) 248.87/165.24 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 248.87/165.24 new_esEs(Neg(Zero)) 248.87/165.24 new_esEs(Pos(Succ(x0))) 248.87/165.24 248.87/165.24 We have to consider all minimal (P,Q,R)-chains. 248.87/165.24 ---------------------------------------- 248.87/165.24 248.87/165.24 (537) DependencyGraphProof (EQUIVALENT) 248.87/165.24 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. 248.87/165.24 ---------------------------------------- 248.87/165.24 248.87/165.24 (538) 248.87/165.24 Obligation: 248.87/165.24 Q DP problem: 248.87/165.24 The TRS P consists of the following rules: 248.87/165.24 248.87/165.24 new_gcd0Gcd'1(False, Neg(Succ(Zero)), Neg(Succ(Zero))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS1, Zero))) 248.87/165.24 new_gcd0Gcd'0(Neg(x0), Neg(Succ(x1))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(x0, x1))), Neg(Succ(x1)), Neg(x0)) 248.87/165.24 new_gcd0Gcd'1(False, Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero))) 248.87/165.24 new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 248.87/165.24 new_gcd0Gcd'1(False, Neg(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x1))), Neg(new_primModNatS01(x0, x1, x0, x1))) 248.87/165.24 248.87/165.24 The TRS R consists of the following rules: 248.87/165.24 248.87/165.24 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 248.87/165.24 new_primModNatS1(Succ(Succ(vyv292000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv292000), Zero) 248.87/165.24 new_primModNatS1(Succ(Zero), Succ(vyv291000)) -> Succ(Zero) 248.87/165.24 new_primModNatS01(vyv330, vyv331, Zero, Zero) -> new_primModNatS02(vyv330, vyv331) 248.87/165.24 new_primModNatS02(vyv330, vyv331) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv330), Succ(vyv331)), Succ(vyv331)) 248.87/165.24 new_primModNatS1(Succ(Succ(vyv292000)), Succ(vyv291000)) -> new_primModNatS01(vyv292000, vyv291000, vyv292000, vyv291000) 248.87/165.24 new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Succ(vyv3330)) -> new_primModNatS01(vyv330, vyv331, vyv3320, vyv3330) 248.87/165.24 new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Zero) -> new_primModNatS02(vyv330, vyv331) 248.87/165.24 new_primModNatS1(Zero, vyv29100) -> Zero 248.87/165.24 new_esEs(Neg(Succ(vyv24100))) -> new_primEqInt(Neg(Succ(vyv24100))) 248.87/165.24 new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) 248.87/165.24 new_primEqInt(Neg(Zero)) -> True 248.87/165.24 new_primEqInt(Neg(Succ(vyv242000))) -> False 248.87/165.24 new_primMinusNatS2(Succ(vyv3100), Succ(vyv3110)) -> new_primMinusNatS2(vyv3100, vyv3110) 248.87/165.24 new_primModNatS01(vyv330, vyv331, Zero, Succ(vyv3330)) -> Succ(Succ(vyv330)) 248.87/165.24 new_primMinusNatS2(Zero, Zero) -> Zero 248.87/165.24 new_primMinusNatS2(Zero, Succ(vyv3110)) -> Zero 248.87/165.24 new_primMinusNatS2(Succ(vyv3100), Zero) -> Succ(vyv3100) 248.87/165.24 new_primMinusNatS1 -> Zero 248.87/165.24 new_primMinusNatS0(vyv270000) -> Succ(vyv270000) 248.87/165.24 248.87/165.24 The set Q consists of the following terms: 248.87/165.24 248.87/165.24 new_primModNatS1(Succ(Zero), Succ(x0)) 248.87/165.24 new_primMinusNatS1 248.87/165.24 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 248.87/165.24 new_primEqInt(Pos(Zero)) 248.87/165.24 new_primModNatS02(x0, x1) 248.87/165.24 new_primModNatS01(x0, x1, Succ(x2), Zero) 248.87/165.24 new_primModNatS01(x0, x1, Zero, Succ(x2)) 248.87/165.24 new_primMinusNatS2(Zero, Zero) 248.87/165.24 new_esEs(Neg(Succ(x0))) 248.87/165.24 new_primMinusNatS2(Zero, Succ(x0)) 248.87/165.24 new_primModNatS1(Succ(Zero), Zero) 248.87/165.24 new_esEs(Pos(Zero)) 248.87/165.24 new_primEqInt(Neg(Succ(x0))) 248.87/165.24 new_primMinusNatS2(Succ(x0), Zero) 248.87/165.24 new_primEqInt(Neg(Zero)) 248.87/165.24 new_primMinusNatS0(x0) 248.87/165.24 new_primModNatS01(x0, x1, Zero, Zero) 248.87/165.24 new_primEqInt(Pos(Succ(x0))) 248.87/165.24 new_primMinusNatS2(Succ(x0), Succ(x1)) 248.87/165.24 new_primModNatS1(Succ(Succ(x0)), Zero) 248.87/165.24 new_primModNatS1(Zero, x0) 248.87/165.24 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 248.87/165.24 new_esEs(Neg(Zero)) 248.87/165.24 new_esEs(Pos(Succ(x0))) 248.87/165.24 248.87/165.24 We have to consider all minimal (P,Q,R)-chains. 248.87/165.24 ---------------------------------------- 248.87/165.24 248.87/165.24 (539) TransformationProof (EQUIVALENT) 248.87/165.24 By rewriting [LPAR04] the rule new_gcd0Gcd'1(False, Neg(Succ(Zero)), Neg(Succ(Zero))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS1, Zero))) at position [1,0,0] we obtained the following new rules [LPAR04]: 248.87/165.24 248.87/165.24 (new_gcd0Gcd'1(False, Neg(Succ(Zero)), Neg(Succ(Zero))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Neg(new_primModNatS1(Zero, Zero))),new_gcd0Gcd'1(False, Neg(Succ(Zero)), Neg(Succ(Zero))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Neg(new_primModNatS1(Zero, Zero)))) 248.87/165.24 248.87/165.24 248.87/165.24 ---------------------------------------- 248.87/165.24 248.87/165.24 (540) 248.87/165.24 Obligation: 248.87/165.24 Q DP problem: 248.87/165.24 The TRS P consists of the following rules: 248.87/165.24 248.87/165.24 new_gcd0Gcd'0(Neg(x0), Neg(Succ(x1))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(x0, x1))), Neg(Succ(x1)), Neg(x0)) 248.87/165.24 new_gcd0Gcd'1(False, Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero))) 248.87/165.24 new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 248.87/165.24 new_gcd0Gcd'1(False, Neg(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x1))), Neg(new_primModNatS01(x0, x1, x0, x1))) 248.87/165.24 new_gcd0Gcd'1(False, Neg(Succ(Zero)), Neg(Succ(Zero))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Neg(new_primModNatS1(Zero, Zero))) 248.87/165.24 248.87/165.24 The TRS R consists of the following rules: 248.87/165.24 248.87/165.24 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 248.87/165.24 new_primModNatS1(Succ(Succ(vyv292000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv292000), Zero) 248.87/165.24 new_primModNatS1(Succ(Zero), Succ(vyv291000)) -> Succ(Zero) 248.87/165.24 new_primModNatS01(vyv330, vyv331, Zero, Zero) -> new_primModNatS02(vyv330, vyv331) 248.87/165.24 new_primModNatS02(vyv330, vyv331) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv330), Succ(vyv331)), Succ(vyv331)) 248.87/165.24 new_primModNatS1(Succ(Succ(vyv292000)), Succ(vyv291000)) -> new_primModNatS01(vyv292000, vyv291000, vyv292000, vyv291000) 248.87/165.24 new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Succ(vyv3330)) -> new_primModNatS01(vyv330, vyv331, vyv3320, vyv3330) 248.87/165.24 new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Zero) -> new_primModNatS02(vyv330, vyv331) 248.87/165.24 new_primModNatS1(Zero, vyv29100) -> Zero 248.87/165.24 new_esEs(Neg(Succ(vyv24100))) -> new_primEqInt(Neg(Succ(vyv24100))) 248.87/165.24 new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) 248.87/165.24 new_primEqInt(Neg(Zero)) -> True 248.87/165.24 new_primEqInt(Neg(Succ(vyv242000))) -> False 248.87/165.24 new_primMinusNatS2(Succ(vyv3100), Succ(vyv3110)) -> new_primMinusNatS2(vyv3100, vyv3110) 248.87/165.24 new_primModNatS01(vyv330, vyv331, Zero, Succ(vyv3330)) -> Succ(Succ(vyv330)) 248.87/165.24 new_primMinusNatS2(Zero, Zero) -> Zero 248.87/165.24 new_primMinusNatS2(Zero, Succ(vyv3110)) -> Zero 248.87/165.24 new_primMinusNatS2(Succ(vyv3100), Zero) -> Succ(vyv3100) 248.87/165.24 new_primMinusNatS1 -> Zero 248.87/165.24 new_primMinusNatS0(vyv270000) -> Succ(vyv270000) 248.87/165.24 248.87/165.24 The set Q consists of the following terms: 248.87/165.24 248.87/165.24 new_primModNatS1(Succ(Zero), Succ(x0)) 248.87/165.24 new_primMinusNatS1 248.87/165.24 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 248.87/165.24 new_primEqInt(Pos(Zero)) 248.87/165.24 new_primModNatS02(x0, x1) 248.87/165.24 new_primModNatS01(x0, x1, Succ(x2), Zero) 248.87/165.24 new_primModNatS01(x0, x1, Zero, Succ(x2)) 248.87/165.24 new_primMinusNatS2(Zero, Zero) 248.87/165.24 new_esEs(Neg(Succ(x0))) 248.87/165.24 new_primMinusNatS2(Zero, Succ(x0)) 248.87/165.24 new_primModNatS1(Succ(Zero), Zero) 248.87/165.24 new_esEs(Pos(Zero)) 248.87/165.24 new_primEqInt(Neg(Succ(x0))) 248.87/165.24 new_primMinusNatS2(Succ(x0), Zero) 248.87/165.24 new_primEqInt(Neg(Zero)) 248.87/165.24 new_primMinusNatS0(x0) 248.87/165.24 new_primModNatS01(x0, x1, Zero, Zero) 248.87/165.24 new_primEqInt(Pos(Succ(x0))) 248.87/165.24 new_primMinusNatS2(Succ(x0), Succ(x1)) 248.87/165.24 new_primModNatS1(Succ(Succ(x0)), Zero) 248.87/165.24 new_primModNatS1(Zero, x0) 248.87/165.24 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 248.87/165.24 new_esEs(Neg(Zero)) 248.87/165.24 new_esEs(Pos(Succ(x0))) 248.87/165.24 248.87/165.24 We have to consider all minimal (P,Q,R)-chains. 248.87/165.24 ---------------------------------------- 248.87/165.24 248.87/165.24 (541) DependencyGraphProof (EQUIVALENT) 248.87/165.24 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. 248.87/165.24 ---------------------------------------- 248.87/165.24 248.87/165.24 (542) 248.87/165.24 Obligation: 248.87/165.24 Q DP problem: 248.87/165.24 The TRS P consists of the following rules: 248.87/165.24 248.87/165.24 new_gcd0Gcd'1(False, Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero))) 248.87/165.24 new_gcd0Gcd'0(Neg(x0), Neg(Succ(x1))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(x0, x1))), Neg(Succ(x1)), Neg(x0)) 248.87/165.24 new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 248.87/165.24 new_gcd0Gcd'1(False, Neg(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x1))), Neg(new_primModNatS01(x0, x1, x0, x1))) 248.87/165.24 248.87/165.24 The TRS R consists of the following rules: 248.87/165.24 248.87/165.24 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 248.87/165.24 new_primModNatS1(Succ(Succ(vyv292000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv292000), Zero) 248.87/165.24 new_primModNatS1(Succ(Zero), Succ(vyv291000)) -> Succ(Zero) 248.87/165.24 new_primModNatS01(vyv330, vyv331, Zero, Zero) -> new_primModNatS02(vyv330, vyv331) 248.87/165.24 new_primModNatS02(vyv330, vyv331) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv330), Succ(vyv331)), Succ(vyv331)) 248.87/165.24 new_primModNatS1(Succ(Succ(vyv292000)), Succ(vyv291000)) -> new_primModNatS01(vyv292000, vyv291000, vyv292000, vyv291000) 248.87/165.24 new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Succ(vyv3330)) -> new_primModNatS01(vyv330, vyv331, vyv3320, vyv3330) 248.87/165.24 new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Zero) -> new_primModNatS02(vyv330, vyv331) 248.87/165.24 new_primModNatS1(Zero, vyv29100) -> Zero 248.87/165.24 new_esEs(Neg(Succ(vyv24100))) -> new_primEqInt(Neg(Succ(vyv24100))) 248.87/165.24 new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) 248.87/165.24 new_primEqInt(Neg(Zero)) -> True 248.87/165.24 new_primEqInt(Neg(Succ(vyv242000))) -> False 248.87/165.24 new_primMinusNatS2(Succ(vyv3100), Succ(vyv3110)) -> new_primMinusNatS2(vyv3100, vyv3110) 248.87/165.24 new_primModNatS01(vyv330, vyv331, Zero, Succ(vyv3330)) -> Succ(Succ(vyv330)) 248.87/165.24 new_primMinusNatS2(Zero, Zero) -> Zero 248.87/165.24 new_primMinusNatS2(Zero, Succ(vyv3110)) -> Zero 248.87/165.24 new_primMinusNatS2(Succ(vyv3100), Zero) -> Succ(vyv3100) 248.87/165.24 new_primMinusNatS1 -> Zero 248.87/165.24 new_primMinusNatS0(vyv270000) -> Succ(vyv270000) 248.87/165.24 248.87/165.24 The set Q consists of the following terms: 248.87/165.24 248.87/165.24 new_primModNatS1(Succ(Zero), Succ(x0)) 248.87/165.24 new_primMinusNatS1 248.87/165.24 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 248.87/165.24 new_primEqInt(Pos(Zero)) 248.87/165.24 new_primModNatS02(x0, x1) 248.87/165.24 new_primModNatS01(x0, x1, Succ(x2), Zero) 248.87/165.24 new_primModNatS01(x0, x1, Zero, Succ(x2)) 248.87/165.24 new_primMinusNatS2(Zero, Zero) 248.87/165.24 new_esEs(Neg(Succ(x0))) 248.87/165.24 new_primMinusNatS2(Zero, Succ(x0)) 248.87/165.24 new_primModNatS1(Succ(Zero), Zero) 248.87/165.24 new_esEs(Pos(Zero)) 248.87/165.24 new_primEqInt(Neg(Succ(x0))) 248.87/165.24 new_primMinusNatS2(Succ(x0), Zero) 248.87/165.24 new_primEqInt(Neg(Zero)) 248.87/165.24 new_primMinusNatS0(x0) 248.87/165.24 new_primModNatS01(x0, x1, Zero, Zero) 248.87/165.24 new_primEqInt(Pos(Succ(x0))) 248.87/165.24 new_primMinusNatS2(Succ(x0), Succ(x1)) 248.87/165.24 new_primModNatS1(Succ(Succ(x0)), Zero) 248.87/165.24 new_primModNatS1(Zero, x0) 248.87/165.24 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 248.87/165.24 new_esEs(Neg(Zero)) 248.87/165.24 new_esEs(Pos(Succ(x0))) 248.87/165.24 248.87/165.24 We have to consider all minimal (P,Q,R)-chains. 248.87/165.24 ---------------------------------------- 248.87/165.24 248.87/165.24 (543) TransformationProof (EQUIVALENT) 248.87/165.24 By rewriting [LPAR04] the rule new_gcd0Gcd'1(False, Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero))) at position [1,0,0] we obtained the following new rules [LPAR04]: 248.87/165.24 248.87/165.24 (new_gcd0Gcd'1(False, Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))),new_gcd0Gcd'1(False, Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero)))) 248.87/165.24 248.87/165.24 248.87/165.24 ---------------------------------------- 248.87/165.24 248.87/165.24 (544) 248.87/165.24 Obligation: 248.87/165.24 Q DP problem: 248.87/165.24 The TRS P consists of the following rules: 248.87/165.24 248.87/165.24 new_gcd0Gcd'0(Neg(x0), Neg(Succ(x1))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(x0, x1))), Neg(Succ(x1)), Neg(x0)) 248.87/165.24 new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 248.87/165.24 new_gcd0Gcd'1(False, Neg(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x1))), Neg(new_primModNatS01(x0, x1, x0, x1))) 248.87/165.24 new_gcd0Gcd'1(False, Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 248.87/165.24 248.87/165.24 The TRS R consists of the following rules: 248.87/165.24 248.87/165.24 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 248.87/165.24 new_primModNatS1(Succ(Succ(vyv292000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv292000), Zero) 248.87/165.24 new_primModNatS1(Succ(Zero), Succ(vyv291000)) -> Succ(Zero) 248.87/165.24 new_primModNatS01(vyv330, vyv331, Zero, Zero) -> new_primModNatS02(vyv330, vyv331) 248.87/165.24 new_primModNatS02(vyv330, vyv331) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv330), Succ(vyv331)), Succ(vyv331)) 248.87/165.24 new_primModNatS1(Succ(Succ(vyv292000)), Succ(vyv291000)) -> new_primModNatS01(vyv292000, vyv291000, vyv292000, vyv291000) 248.87/165.24 new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Succ(vyv3330)) -> new_primModNatS01(vyv330, vyv331, vyv3320, vyv3330) 248.87/165.24 new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Zero) -> new_primModNatS02(vyv330, vyv331) 248.87/165.24 new_primModNatS1(Zero, vyv29100) -> Zero 248.87/165.24 new_esEs(Neg(Succ(vyv24100))) -> new_primEqInt(Neg(Succ(vyv24100))) 248.87/165.24 new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) 248.87/165.24 new_primEqInt(Neg(Zero)) -> True 248.87/165.24 new_primEqInt(Neg(Succ(vyv242000))) -> False 248.87/165.24 new_primMinusNatS2(Succ(vyv3100), Succ(vyv3110)) -> new_primMinusNatS2(vyv3100, vyv3110) 248.87/165.24 new_primModNatS01(vyv330, vyv331, Zero, Succ(vyv3330)) -> Succ(Succ(vyv330)) 248.87/165.24 new_primMinusNatS2(Zero, Zero) -> Zero 248.87/165.24 new_primMinusNatS2(Zero, Succ(vyv3110)) -> Zero 248.87/165.24 new_primMinusNatS2(Succ(vyv3100), Zero) -> Succ(vyv3100) 248.87/165.24 new_primMinusNatS1 -> Zero 248.87/165.24 new_primMinusNatS0(vyv270000) -> Succ(vyv270000) 248.87/165.24 248.87/165.24 The set Q consists of the following terms: 248.87/165.24 248.87/165.24 new_primModNatS1(Succ(Zero), Succ(x0)) 248.87/165.24 new_primMinusNatS1 248.87/165.24 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 248.87/165.24 new_primEqInt(Pos(Zero)) 248.87/165.24 new_primModNatS02(x0, x1) 248.87/165.24 new_primModNatS01(x0, x1, Succ(x2), Zero) 248.87/165.24 new_primModNatS01(x0, x1, Zero, Succ(x2)) 248.87/165.24 new_primMinusNatS2(Zero, Zero) 248.87/165.24 new_esEs(Neg(Succ(x0))) 248.87/165.24 new_primMinusNatS2(Zero, Succ(x0)) 248.87/165.24 new_primModNatS1(Succ(Zero), Zero) 248.87/165.24 new_esEs(Pos(Zero)) 248.87/165.24 new_primEqInt(Neg(Succ(x0))) 248.87/165.24 new_primMinusNatS2(Succ(x0), Zero) 248.87/165.24 new_primEqInt(Neg(Zero)) 248.87/165.24 new_primMinusNatS0(x0) 248.87/165.24 new_primModNatS01(x0, x1, Zero, Zero) 248.87/165.24 new_primEqInt(Pos(Succ(x0))) 248.87/165.24 new_primMinusNatS2(Succ(x0), Succ(x1)) 248.87/165.24 new_primModNatS1(Succ(Succ(x0)), Zero) 248.87/165.24 new_primModNatS1(Zero, x0) 248.87/165.24 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 248.87/165.24 new_esEs(Neg(Zero)) 248.87/165.24 new_esEs(Pos(Succ(x0))) 248.87/165.24 248.87/165.24 We have to consider all minimal (P,Q,R)-chains. 248.87/165.24 ---------------------------------------- 248.87/165.24 248.87/165.24 (545) TransformationProof (EQUIVALENT) 248.87/165.24 By narrowing [LPAR04] the rule new_gcd0Gcd'0(Neg(x0), Neg(Succ(x1))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(x0, x1))), Neg(Succ(x1)), Neg(x0)) at position [0] we obtained the following new rules [LPAR04]: 248.87/165.24 248.87/165.24 (new_gcd0Gcd'0(Neg(Succ(Zero)), Neg(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS1, Zero))), Neg(Succ(Zero)), Neg(Succ(Zero))),new_gcd0Gcd'0(Neg(Succ(Zero)), Neg(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS1, Zero))), Neg(Succ(Zero)), Neg(Succ(Zero)))) 248.87/165.24 (new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))),new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero))), Neg(Succ(Zero)), Neg(Succ(Succ(x0))))) 248.87/165.24 (new_gcd0Gcd'0(Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'1(new_esEs(Neg(Succ(Zero))), Neg(Succ(Succ(x0))), Neg(Succ(Zero))),new_gcd0Gcd'0(Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'1(new_esEs(Neg(Succ(Zero))), Neg(Succ(Succ(x0))), Neg(Succ(Zero)))) 248.87/165.24 (new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(x0, x1, x0, x1))), Neg(Succ(Succ(x1))), Neg(Succ(Succ(x0)))),new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(x0, x1, x0, x1))), Neg(Succ(Succ(x1))), Neg(Succ(Succ(x0))))) 248.87/165.24 (new_gcd0Gcd'0(Neg(Zero), Neg(Succ(x0))) -> new_gcd0Gcd'1(new_esEs(Neg(Zero)), Neg(Succ(x0)), Neg(Zero)),new_gcd0Gcd'0(Neg(Zero), Neg(Succ(x0))) -> new_gcd0Gcd'1(new_esEs(Neg(Zero)), Neg(Succ(x0)), Neg(Zero))) 248.87/165.24 248.87/165.24 248.87/165.24 ---------------------------------------- 248.87/165.24 248.87/165.24 (546) 248.87/165.24 Obligation: 248.87/165.24 Q DP problem: 248.87/165.24 The TRS P consists of the following rules: 248.87/165.24 248.87/165.24 new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 248.87/165.24 new_gcd0Gcd'1(False, Neg(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x1))), Neg(new_primModNatS01(x0, x1, x0, x1))) 248.87/165.24 new_gcd0Gcd'1(False, Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 248.87/165.24 new_gcd0Gcd'0(Neg(Succ(Zero)), Neg(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS1, Zero))), Neg(Succ(Zero)), Neg(Succ(Zero))) 248.87/165.24 new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) 248.87/165.24 new_gcd0Gcd'0(Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'1(new_esEs(Neg(Succ(Zero))), Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 248.87/165.24 new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(x0, x1, x0, x1))), Neg(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) 248.87/165.24 new_gcd0Gcd'0(Neg(Zero), Neg(Succ(x0))) -> new_gcd0Gcd'1(new_esEs(Neg(Zero)), Neg(Succ(x0)), Neg(Zero)) 248.87/165.24 248.87/165.24 The TRS R consists of the following rules: 248.87/165.24 248.87/165.24 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 248.87/165.24 new_primModNatS1(Succ(Succ(vyv292000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv292000), Zero) 248.87/165.24 new_primModNatS1(Succ(Zero), Succ(vyv291000)) -> Succ(Zero) 248.87/165.24 new_primModNatS01(vyv330, vyv331, Zero, Zero) -> new_primModNatS02(vyv330, vyv331) 248.87/165.24 new_primModNatS02(vyv330, vyv331) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv330), Succ(vyv331)), Succ(vyv331)) 248.87/165.24 new_primModNatS1(Succ(Succ(vyv292000)), Succ(vyv291000)) -> new_primModNatS01(vyv292000, vyv291000, vyv292000, vyv291000) 248.87/165.24 new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Succ(vyv3330)) -> new_primModNatS01(vyv330, vyv331, vyv3320, vyv3330) 248.87/165.24 new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Zero) -> new_primModNatS02(vyv330, vyv331) 248.87/165.24 new_primModNatS1(Zero, vyv29100) -> Zero 248.87/165.24 new_esEs(Neg(Succ(vyv24100))) -> new_primEqInt(Neg(Succ(vyv24100))) 248.87/165.24 new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) 248.87/165.24 new_primEqInt(Neg(Zero)) -> True 248.87/165.24 new_primEqInt(Neg(Succ(vyv242000))) -> False 248.87/165.24 new_primMinusNatS2(Succ(vyv3100), Succ(vyv3110)) -> new_primMinusNatS2(vyv3100, vyv3110) 248.87/165.24 new_primModNatS01(vyv330, vyv331, Zero, Succ(vyv3330)) -> Succ(Succ(vyv330)) 248.87/165.24 new_primMinusNatS2(Zero, Zero) -> Zero 248.87/165.24 new_primMinusNatS2(Zero, Succ(vyv3110)) -> Zero 248.87/165.24 new_primMinusNatS2(Succ(vyv3100), Zero) -> Succ(vyv3100) 248.87/165.24 new_primMinusNatS1 -> Zero 248.87/165.24 new_primMinusNatS0(vyv270000) -> Succ(vyv270000) 248.87/165.24 248.87/165.24 The set Q consists of the following terms: 248.87/165.24 248.87/165.24 new_primModNatS1(Succ(Zero), Succ(x0)) 248.87/165.24 new_primMinusNatS1 248.87/165.24 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 248.87/165.24 new_primEqInt(Pos(Zero)) 248.87/165.24 new_primModNatS02(x0, x1) 248.87/165.24 new_primModNatS01(x0, x1, Succ(x2), Zero) 248.87/165.24 new_primModNatS01(x0, x1, Zero, Succ(x2)) 248.87/165.24 new_primMinusNatS2(Zero, Zero) 248.87/165.24 new_esEs(Neg(Succ(x0))) 248.87/165.24 new_primMinusNatS2(Zero, Succ(x0)) 248.87/165.24 new_primModNatS1(Succ(Zero), Zero) 248.87/165.24 new_esEs(Pos(Zero)) 248.87/165.24 new_primEqInt(Neg(Succ(x0))) 248.87/165.24 new_primMinusNatS2(Succ(x0), Zero) 248.87/165.24 new_primEqInt(Neg(Zero)) 248.87/165.24 new_primMinusNatS0(x0) 248.87/165.24 new_primModNatS01(x0, x1, Zero, Zero) 248.87/165.24 new_primEqInt(Pos(Succ(x0))) 248.87/165.24 new_primMinusNatS2(Succ(x0), Succ(x1)) 248.87/165.24 new_primModNatS1(Succ(Succ(x0)), Zero) 248.87/165.24 new_primModNatS1(Zero, x0) 248.87/165.24 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 248.87/165.24 new_esEs(Neg(Zero)) 248.87/165.24 new_esEs(Pos(Succ(x0))) 248.87/165.24 248.87/165.24 We have to consider all minimal (P,Q,R)-chains. 248.87/165.24 ---------------------------------------- 248.87/165.24 248.87/165.24 (547) DependencyGraphProof (EQUIVALENT) 248.87/165.24 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 2 SCCs with 2 less nodes. 248.87/165.24 ---------------------------------------- 248.87/165.24 248.87/165.24 (548) 248.87/165.24 Complex Obligation (AND) 248.87/165.24 248.87/165.24 ---------------------------------------- 248.87/165.24 248.87/165.24 (549) 248.87/165.24 Obligation: 248.87/165.24 Q DP problem: 248.87/165.24 The TRS P consists of the following rules: 248.87/165.24 248.87/165.24 new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) 248.87/165.24 new_gcd0Gcd'1(False, Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 248.87/165.24 new_gcd0Gcd'0(Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'1(new_esEs(Neg(Succ(Zero))), Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 248.87/165.24 new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 248.87/165.24 248.87/165.24 The TRS R consists of the following rules: 248.87/165.24 248.87/165.24 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 248.87/165.24 new_primModNatS1(Succ(Succ(vyv292000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv292000), Zero) 248.87/165.24 new_primModNatS1(Succ(Zero), Succ(vyv291000)) -> Succ(Zero) 248.87/165.24 new_primModNatS01(vyv330, vyv331, Zero, Zero) -> new_primModNatS02(vyv330, vyv331) 248.87/165.24 new_primModNatS02(vyv330, vyv331) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv330), Succ(vyv331)), Succ(vyv331)) 248.87/165.24 new_primModNatS1(Succ(Succ(vyv292000)), Succ(vyv291000)) -> new_primModNatS01(vyv292000, vyv291000, vyv292000, vyv291000) 248.87/165.24 new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Succ(vyv3330)) -> new_primModNatS01(vyv330, vyv331, vyv3320, vyv3330) 248.87/165.24 new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Zero) -> new_primModNatS02(vyv330, vyv331) 248.87/165.24 new_primModNatS1(Zero, vyv29100) -> Zero 248.87/165.24 new_esEs(Neg(Succ(vyv24100))) -> new_primEqInt(Neg(Succ(vyv24100))) 248.87/165.24 new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) 248.87/165.24 new_primEqInt(Neg(Zero)) -> True 248.87/165.24 new_primEqInt(Neg(Succ(vyv242000))) -> False 248.87/165.24 new_primMinusNatS2(Succ(vyv3100), Succ(vyv3110)) -> new_primMinusNatS2(vyv3100, vyv3110) 248.87/165.24 new_primModNatS01(vyv330, vyv331, Zero, Succ(vyv3330)) -> Succ(Succ(vyv330)) 248.87/165.24 new_primMinusNatS2(Zero, Zero) -> Zero 248.87/165.24 new_primMinusNatS2(Zero, Succ(vyv3110)) -> Zero 248.87/165.24 new_primMinusNatS2(Succ(vyv3100), Zero) -> Succ(vyv3100) 248.87/165.24 new_primMinusNatS1 -> Zero 248.87/165.24 new_primMinusNatS0(vyv270000) -> Succ(vyv270000) 248.87/165.24 248.87/165.24 The set Q consists of the following terms: 248.87/165.24 248.87/165.24 new_primModNatS1(Succ(Zero), Succ(x0)) 248.87/165.24 new_primMinusNatS1 248.87/165.24 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 248.87/165.24 new_primEqInt(Pos(Zero)) 248.87/165.24 new_primModNatS02(x0, x1) 248.87/165.24 new_primModNatS01(x0, x1, Succ(x2), Zero) 248.87/165.24 new_primModNatS01(x0, x1, Zero, Succ(x2)) 248.87/165.24 new_primMinusNatS2(Zero, Zero) 248.87/165.24 new_esEs(Neg(Succ(x0))) 248.87/165.24 new_primMinusNatS2(Zero, Succ(x0)) 248.87/165.24 new_primModNatS1(Succ(Zero), Zero) 248.87/165.24 new_esEs(Pos(Zero)) 248.87/165.24 new_primEqInt(Neg(Succ(x0))) 248.87/165.24 new_primMinusNatS2(Succ(x0), Zero) 248.87/165.24 new_primEqInt(Neg(Zero)) 248.87/165.24 new_primMinusNatS0(x0) 248.87/165.24 new_primModNatS01(x0, x1, Zero, Zero) 248.87/165.24 new_primEqInt(Pos(Succ(x0))) 248.87/165.24 new_primMinusNatS2(Succ(x0), Succ(x1)) 248.87/165.24 new_primModNatS1(Succ(Succ(x0)), Zero) 248.87/165.24 new_primModNatS1(Zero, x0) 248.87/165.24 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 248.87/165.24 new_esEs(Neg(Zero)) 248.87/165.24 new_esEs(Pos(Succ(x0))) 248.87/165.24 248.87/165.24 We have to consider all minimal (P,Q,R)-chains. 248.87/165.24 ---------------------------------------- 248.87/165.24 248.87/165.24 (550) UsableRulesProof (EQUIVALENT) 248.87/165.24 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. 248.87/165.24 ---------------------------------------- 248.87/165.24 248.87/165.24 (551) 248.87/165.24 Obligation: 248.87/165.24 Q DP problem: 248.87/165.24 The TRS P consists of the following rules: 248.87/165.24 248.87/165.24 new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) 248.87/165.24 new_gcd0Gcd'1(False, Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 248.87/165.24 new_gcd0Gcd'0(Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'1(new_esEs(Neg(Succ(Zero))), Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 248.87/165.24 new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 248.87/165.24 248.87/165.24 The TRS R consists of the following rules: 248.87/165.24 248.87/165.24 new_esEs(Neg(Succ(vyv24100))) -> new_primEqInt(Neg(Succ(vyv24100))) 248.87/165.24 new_primEqInt(Neg(Succ(vyv242000))) -> False 248.87/165.24 new_primModNatS1(Succ(Succ(vyv292000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv292000), Zero) 248.87/165.24 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 248.87/165.24 new_primMinusNatS0(vyv270000) -> Succ(vyv270000) 248.87/165.24 new_primModNatS1(Zero, vyv29100) -> Zero 248.87/165.24 new_primMinusNatS1 -> Zero 248.87/165.24 new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) 248.87/165.24 new_primEqInt(Neg(Zero)) -> True 248.87/165.24 248.87/165.24 The set Q consists of the following terms: 248.87/165.24 248.87/165.24 new_primModNatS1(Succ(Zero), Succ(x0)) 248.87/165.24 new_primMinusNatS1 248.87/165.24 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 248.87/165.24 new_primEqInt(Pos(Zero)) 248.87/165.24 new_primModNatS02(x0, x1) 248.87/165.24 new_primModNatS01(x0, x1, Succ(x2), Zero) 248.87/165.24 new_primModNatS01(x0, x1, Zero, Succ(x2)) 248.87/165.24 new_primMinusNatS2(Zero, Zero) 248.87/165.24 new_esEs(Neg(Succ(x0))) 248.87/165.24 new_primMinusNatS2(Zero, Succ(x0)) 248.87/165.24 new_primModNatS1(Succ(Zero), Zero) 248.87/165.24 new_esEs(Pos(Zero)) 248.87/165.24 new_primEqInt(Neg(Succ(x0))) 248.87/165.24 new_primMinusNatS2(Succ(x0), Zero) 248.87/165.24 new_primEqInt(Neg(Zero)) 248.87/165.24 new_primMinusNatS0(x0) 248.87/165.24 new_primModNatS01(x0, x1, Zero, Zero) 248.87/165.24 new_primEqInt(Pos(Succ(x0))) 248.87/165.24 new_primMinusNatS2(Succ(x0), Succ(x1)) 248.87/165.24 new_primModNatS1(Succ(Succ(x0)), Zero) 248.87/165.24 new_primModNatS1(Zero, x0) 248.87/165.24 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 248.87/165.24 new_esEs(Neg(Zero)) 248.87/165.24 new_esEs(Pos(Succ(x0))) 248.87/165.24 248.87/165.24 We have to consider all minimal (P,Q,R)-chains. 248.87/165.24 ---------------------------------------- 248.87/165.24 248.87/165.24 (552) QReductionProof (EQUIVALENT) 248.87/165.24 We deleted the following terms from Q as each root-symbol of these terms does neither occur in P nor in R.[THIEMANN]. 248.87/165.24 248.87/165.24 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 248.87/165.24 new_primModNatS02(x0, x1) 248.87/165.24 new_primModNatS01(x0, x1, Succ(x2), Zero) 248.87/165.24 new_primModNatS01(x0, x1, Zero, Succ(x2)) 248.87/165.24 new_primMinusNatS2(Zero, Zero) 248.87/165.24 new_primMinusNatS2(Zero, Succ(x0)) 248.87/165.24 new_primMinusNatS2(Succ(x0), Zero) 248.87/165.24 new_primModNatS01(x0, x1, Zero, Zero) 248.87/165.24 new_primMinusNatS2(Succ(x0), Succ(x1)) 248.87/165.24 248.87/165.24 248.87/165.24 ---------------------------------------- 248.87/165.24 248.87/165.24 (553) 248.87/165.24 Obligation: 248.87/165.24 Q DP problem: 248.87/165.24 The TRS P consists of the following rules: 248.87/165.24 248.87/165.24 new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) 248.87/165.24 new_gcd0Gcd'1(False, Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 248.87/165.24 new_gcd0Gcd'0(Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'1(new_esEs(Neg(Succ(Zero))), Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 248.87/165.24 new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 248.87/165.24 248.87/165.24 The TRS R consists of the following rules: 248.87/165.24 248.87/165.24 new_esEs(Neg(Succ(vyv24100))) -> new_primEqInt(Neg(Succ(vyv24100))) 248.87/165.24 new_primEqInt(Neg(Succ(vyv242000))) -> False 248.87/165.24 new_primModNatS1(Succ(Succ(vyv292000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv292000), Zero) 248.87/165.24 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 248.87/165.24 new_primMinusNatS0(vyv270000) -> Succ(vyv270000) 248.87/165.24 new_primModNatS1(Zero, vyv29100) -> Zero 248.87/165.24 new_primMinusNatS1 -> Zero 248.87/165.24 new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) 248.87/165.24 new_primEqInt(Neg(Zero)) -> True 248.87/165.24 248.87/165.24 The set Q consists of the following terms: 248.87/165.24 248.87/165.24 new_primModNatS1(Succ(Zero), Succ(x0)) 248.87/165.24 new_primMinusNatS1 248.87/165.24 new_primEqInt(Pos(Zero)) 248.87/165.24 new_esEs(Neg(Succ(x0))) 248.87/165.24 new_primModNatS1(Succ(Zero), Zero) 248.87/165.24 new_esEs(Pos(Zero)) 248.87/165.24 new_primEqInt(Neg(Succ(x0))) 248.87/165.24 new_primEqInt(Neg(Zero)) 248.87/165.24 new_primMinusNatS0(x0) 248.87/165.24 new_primEqInt(Pos(Succ(x0))) 248.87/165.24 new_primModNatS1(Succ(Succ(x0)), Zero) 248.87/165.24 new_primModNatS1(Zero, x0) 248.87/165.24 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 248.87/165.24 new_esEs(Neg(Zero)) 248.87/165.24 new_esEs(Pos(Succ(x0))) 248.87/165.24 248.87/165.24 We have to consider all minimal (P,Q,R)-chains. 248.87/165.24 ---------------------------------------- 248.87/165.24 248.87/165.24 (554) TransformationProof (EQUIVALENT) 248.87/165.24 By rewriting [LPAR04] the rule new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) at position [0,0,0,0] we obtained the following new rules [LPAR04]: 248.87/165.24 248.87/165.24 (new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))),new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(Succ(Succ(x0))))) 248.87/165.24 248.87/165.24 248.87/165.24 ---------------------------------------- 248.87/165.24 248.87/165.24 (555) 248.87/165.24 Obligation: 248.87/165.24 Q DP problem: 248.87/165.24 The TRS P consists of the following rules: 248.87/165.24 248.87/165.24 new_gcd0Gcd'1(False, Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 248.87/165.24 new_gcd0Gcd'0(Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'1(new_esEs(Neg(Succ(Zero))), Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 248.87/165.24 new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 248.87/165.24 new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) 248.87/165.24 248.87/165.24 The TRS R consists of the following rules: 248.87/165.24 248.87/165.24 new_esEs(Neg(Succ(vyv24100))) -> new_primEqInt(Neg(Succ(vyv24100))) 248.87/165.24 new_primEqInt(Neg(Succ(vyv242000))) -> False 248.87/165.24 new_primModNatS1(Succ(Succ(vyv292000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv292000), Zero) 248.87/165.24 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 248.87/165.24 new_primMinusNatS0(vyv270000) -> Succ(vyv270000) 248.87/165.24 new_primModNatS1(Zero, vyv29100) -> Zero 248.87/165.24 new_primMinusNatS1 -> Zero 248.87/165.24 new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) 248.87/165.24 new_primEqInt(Neg(Zero)) -> True 248.87/165.24 248.87/165.24 The set Q consists of the following terms: 248.87/165.24 248.87/165.24 new_primModNatS1(Succ(Zero), Succ(x0)) 248.87/165.24 new_primMinusNatS1 248.87/165.24 new_primEqInt(Pos(Zero)) 248.87/165.24 new_esEs(Neg(Succ(x0))) 248.87/165.24 new_primModNatS1(Succ(Zero), Zero) 248.87/165.24 new_esEs(Pos(Zero)) 248.87/165.24 new_primEqInt(Neg(Succ(x0))) 248.87/165.24 new_primEqInt(Neg(Zero)) 248.87/165.24 new_primMinusNatS0(x0) 248.87/165.24 new_primEqInt(Pos(Succ(x0))) 248.87/165.24 new_primModNatS1(Succ(Succ(x0)), Zero) 248.87/165.24 new_primModNatS1(Zero, x0) 248.87/165.24 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 248.87/165.24 new_esEs(Neg(Zero)) 248.87/165.24 new_esEs(Pos(Succ(x0))) 248.87/165.24 248.87/165.24 We have to consider all minimal (P,Q,R)-chains. 248.87/165.24 ---------------------------------------- 248.87/165.24 248.87/165.24 (556) TransformationProof (EQUIVALENT) 248.87/165.24 By rewriting [LPAR04] the rule new_gcd0Gcd'0(Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'1(new_esEs(Neg(Succ(Zero))), Neg(Succ(Succ(x0))), Neg(Succ(Zero))) at position [0] we obtained the following new rules [LPAR04]: 248.87/165.24 248.87/165.24 (new_gcd0Gcd'0(Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'1(new_primEqInt(Neg(Succ(Zero))), Neg(Succ(Succ(x0))), Neg(Succ(Zero))),new_gcd0Gcd'0(Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'1(new_primEqInt(Neg(Succ(Zero))), Neg(Succ(Succ(x0))), Neg(Succ(Zero)))) 248.87/165.24 248.87/165.24 248.87/165.24 ---------------------------------------- 248.87/165.24 248.87/165.24 (557) 248.87/165.24 Obligation: 248.87/165.24 Q DP problem: 248.87/165.24 The TRS P consists of the following rules: 248.87/165.24 248.87/165.24 new_gcd0Gcd'1(False, Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 248.87/165.24 new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 248.87/165.24 new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) 248.87/165.24 new_gcd0Gcd'0(Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'1(new_primEqInt(Neg(Succ(Zero))), Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 248.87/165.24 248.87/165.24 The TRS R consists of the following rules: 248.87/165.24 248.87/165.24 new_esEs(Neg(Succ(vyv24100))) -> new_primEqInt(Neg(Succ(vyv24100))) 248.87/165.24 new_primEqInt(Neg(Succ(vyv242000))) -> False 248.87/165.24 new_primModNatS1(Succ(Succ(vyv292000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv292000), Zero) 248.87/165.24 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 248.87/165.24 new_primMinusNatS0(vyv270000) -> Succ(vyv270000) 248.87/165.24 new_primModNatS1(Zero, vyv29100) -> Zero 248.87/165.24 new_primMinusNatS1 -> Zero 248.87/165.24 new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) 248.87/165.24 new_primEqInt(Neg(Zero)) -> True 248.87/165.24 248.87/165.24 The set Q consists of the following terms: 248.87/165.24 248.87/165.24 new_primModNatS1(Succ(Zero), Succ(x0)) 248.87/165.24 new_primMinusNatS1 248.87/165.24 new_primEqInt(Pos(Zero)) 248.87/165.24 new_esEs(Neg(Succ(x0))) 248.87/165.24 new_primModNatS1(Succ(Zero), Zero) 248.87/165.24 new_esEs(Pos(Zero)) 248.87/165.24 new_primEqInt(Neg(Succ(x0))) 248.87/165.24 new_primEqInt(Neg(Zero)) 248.87/165.24 new_primMinusNatS0(x0) 248.87/165.24 new_primEqInt(Pos(Succ(x0))) 248.87/165.24 new_primModNatS1(Succ(Succ(x0)), Zero) 248.87/165.24 new_primModNatS1(Zero, x0) 248.87/165.24 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 248.87/165.24 new_esEs(Neg(Zero)) 248.87/165.24 new_esEs(Pos(Succ(x0))) 248.87/165.24 248.87/165.24 We have to consider all minimal (P,Q,R)-chains. 248.87/165.24 ---------------------------------------- 248.87/165.24 248.87/165.24 (558) TransformationProof (EQUIVALENT) 248.87/165.24 By rewriting [LPAR04] the rule new_gcd0Gcd'0(Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'1(new_primEqInt(Neg(Succ(Zero))), Neg(Succ(Succ(x0))), Neg(Succ(Zero))) at position [0] we obtained the following new rules [LPAR04]: 248.87/165.24 248.87/165.24 (new_gcd0Gcd'0(Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))),new_gcd0Gcd'0(Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Neg(Succ(Zero)))) 248.87/165.24 248.87/165.24 248.87/165.24 ---------------------------------------- 248.87/165.24 248.87/165.24 (559) 248.87/165.24 Obligation: 248.87/165.24 Q DP problem: 248.87/165.24 The TRS P consists of the following rules: 248.87/165.24 248.87/165.24 new_gcd0Gcd'1(False, Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 248.87/165.24 new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 248.87/165.24 new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) 248.87/165.24 new_gcd0Gcd'0(Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 248.87/165.24 248.87/165.24 The TRS R consists of the following rules: 248.87/165.24 248.87/165.24 new_esEs(Neg(Succ(vyv24100))) -> new_primEqInt(Neg(Succ(vyv24100))) 248.87/165.24 new_primEqInt(Neg(Succ(vyv242000))) -> False 248.87/165.24 new_primModNatS1(Succ(Succ(vyv292000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv292000), Zero) 248.87/165.24 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 248.87/165.24 new_primMinusNatS0(vyv270000) -> Succ(vyv270000) 248.87/165.24 new_primModNatS1(Zero, vyv29100) -> Zero 248.87/165.24 new_primMinusNatS1 -> Zero 248.87/165.24 new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) 248.87/165.24 new_primEqInt(Neg(Zero)) -> True 248.87/165.24 248.87/165.24 The set Q consists of the following terms: 248.87/165.24 248.87/165.24 new_primModNatS1(Succ(Zero), Succ(x0)) 248.87/165.24 new_primMinusNatS1 248.87/165.24 new_primEqInt(Pos(Zero)) 248.87/165.24 new_esEs(Neg(Succ(x0))) 248.87/165.24 new_primModNatS1(Succ(Zero), Zero) 248.87/165.24 new_esEs(Pos(Zero)) 248.87/165.24 new_primEqInt(Neg(Succ(x0))) 248.87/165.24 new_primEqInt(Neg(Zero)) 248.87/165.24 new_primMinusNatS0(x0) 248.87/165.24 new_primEqInt(Pos(Succ(x0))) 248.87/165.24 new_primModNatS1(Succ(Succ(x0)), Zero) 248.87/165.24 new_primModNatS1(Zero, x0) 248.87/165.24 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 248.87/165.24 new_esEs(Neg(Zero)) 248.87/165.24 new_esEs(Pos(Succ(x0))) 248.87/165.24 248.87/165.24 We have to consider all minimal (P,Q,R)-chains. 248.87/165.24 ---------------------------------------- 248.87/165.24 248.87/165.24 (560) TransformationProof (EQUIVALENT) 248.87/165.24 By narrowing [LPAR04] the rule new_gcd0Gcd'1(False, Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) at position [1,0] we obtained the following new rules [LPAR04]: 248.87/165.24 248.87/165.24 (new_gcd0Gcd'1(False, Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero))),new_gcd0Gcd'1(False, Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero)))) 248.87/165.24 (new_gcd0Gcd'1(False, Neg(Succ(Zero)), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS1, Zero))),new_gcd0Gcd'1(False, Neg(Succ(Zero)), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS1, Zero)))) 248.87/165.24 248.87/165.24 248.87/165.24 ---------------------------------------- 248.87/165.24 248.87/165.24 (561) 248.87/165.24 Obligation: 248.87/165.24 Q DP problem: 248.87/165.24 The TRS P consists of the following rules: 248.87/165.24 248.87/165.24 new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 248.87/165.24 new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) 248.87/165.24 new_gcd0Gcd'0(Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 248.87/165.24 new_gcd0Gcd'1(False, Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero))) 248.87/165.24 new_gcd0Gcd'1(False, Neg(Succ(Zero)), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS1, Zero))) 248.87/165.24 248.87/165.24 The TRS R consists of the following rules: 248.87/165.24 248.87/165.24 new_esEs(Neg(Succ(vyv24100))) -> new_primEqInt(Neg(Succ(vyv24100))) 248.87/165.24 new_primEqInt(Neg(Succ(vyv242000))) -> False 248.87/165.24 new_primModNatS1(Succ(Succ(vyv292000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv292000), Zero) 248.87/165.24 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 248.87/165.24 new_primMinusNatS0(vyv270000) -> Succ(vyv270000) 248.87/165.24 new_primModNatS1(Zero, vyv29100) -> Zero 248.87/165.24 new_primMinusNatS1 -> Zero 248.87/165.24 new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) 248.87/165.24 new_primEqInt(Neg(Zero)) -> True 248.87/165.24 248.87/165.24 The set Q consists of the following terms: 248.87/165.24 248.87/165.24 new_primModNatS1(Succ(Zero), Succ(x0)) 248.87/165.24 new_primMinusNatS1 248.87/165.24 new_primEqInt(Pos(Zero)) 248.87/165.24 new_esEs(Neg(Succ(x0))) 248.87/165.24 new_primModNatS1(Succ(Zero), Zero) 248.87/165.24 new_esEs(Pos(Zero)) 248.87/165.24 new_primEqInt(Neg(Succ(x0))) 248.87/165.24 new_primEqInt(Neg(Zero)) 248.87/165.24 new_primMinusNatS0(x0) 248.87/165.24 new_primEqInt(Pos(Succ(x0))) 248.87/165.24 new_primModNatS1(Succ(Succ(x0)), Zero) 248.87/165.24 new_primModNatS1(Zero, x0) 248.87/165.24 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 248.87/165.24 new_esEs(Neg(Zero)) 248.87/165.24 new_esEs(Pos(Succ(x0))) 248.87/165.24 248.87/165.24 We have to consider all minimal (P,Q,R)-chains. 248.87/165.24 ---------------------------------------- 248.87/165.24 248.87/165.24 (562) TransformationProof (EQUIVALENT) 248.87/165.24 By rewriting [LPAR04] the rule new_gcd0Gcd'1(False, Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero))) at position [1,0,0] we obtained the following new rules [LPAR04]: 248.87/165.24 248.87/165.24 (new_gcd0Gcd'1(False, Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))),new_gcd0Gcd'1(False, Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero)))) 248.87/165.24 248.87/165.24 248.87/165.24 ---------------------------------------- 248.87/165.24 248.87/165.24 (563) 248.87/165.24 Obligation: 248.87/165.24 Q DP problem: 248.87/165.24 The TRS P consists of the following rules: 248.87/165.24 248.87/165.24 new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 248.87/165.24 new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) 248.87/165.24 new_gcd0Gcd'0(Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 248.87/165.24 new_gcd0Gcd'1(False, Neg(Succ(Zero)), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS1, Zero))) 248.87/165.24 new_gcd0Gcd'1(False, Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 248.87/165.24 248.87/165.24 The TRS R consists of the following rules: 248.87/165.24 248.87/165.24 new_esEs(Neg(Succ(vyv24100))) -> new_primEqInt(Neg(Succ(vyv24100))) 248.87/165.24 new_primEqInt(Neg(Succ(vyv242000))) -> False 248.87/165.24 new_primModNatS1(Succ(Succ(vyv292000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv292000), Zero) 248.87/165.24 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 248.87/165.24 new_primMinusNatS0(vyv270000) -> Succ(vyv270000) 248.87/165.24 new_primModNatS1(Zero, vyv29100) -> Zero 248.87/165.24 new_primMinusNatS1 -> Zero 248.87/165.24 new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) 248.87/165.24 new_primEqInt(Neg(Zero)) -> True 248.87/165.24 248.87/165.24 The set Q consists of the following terms: 248.87/165.24 248.87/165.24 new_primModNatS1(Succ(Zero), Succ(x0)) 248.87/165.24 new_primMinusNatS1 248.87/165.24 new_primEqInt(Pos(Zero)) 248.87/165.24 new_esEs(Neg(Succ(x0))) 248.87/165.24 new_primModNatS1(Succ(Zero), Zero) 248.87/165.24 new_esEs(Pos(Zero)) 248.87/165.24 new_primEqInt(Neg(Succ(x0))) 248.87/165.24 new_primEqInt(Neg(Zero)) 248.87/165.24 new_primMinusNatS0(x0) 248.87/165.24 new_primEqInt(Pos(Succ(x0))) 248.87/165.24 new_primModNatS1(Succ(Succ(x0)), Zero) 248.87/165.24 new_primModNatS1(Zero, x0) 248.87/165.24 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 248.87/165.24 new_esEs(Neg(Zero)) 248.87/165.24 new_esEs(Pos(Succ(x0))) 248.87/165.24 248.87/165.24 We have to consider all minimal (P,Q,R)-chains. 248.87/165.24 ---------------------------------------- 248.87/165.24 248.87/165.24 (564) TransformationProof (EQUIVALENT) 248.87/165.24 By rewriting [LPAR04] the rule new_gcd0Gcd'1(False, Neg(Succ(Zero)), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS1, Zero))) at position [1,0,0] we obtained the following new rules [LPAR04]: 248.87/165.24 248.87/165.24 (new_gcd0Gcd'1(False, Neg(Succ(Zero)), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Neg(new_primModNatS1(Zero, Zero))),new_gcd0Gcd'1(False, Neg(Succ(Zero)), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Neg(new_primModNatS1(Zero, Zero)))) 248.87/165.24 248.87/165.24 248.87/165.24 ---------------------------------------- 248.87/165.24 248.87/165.24 (565) 248.87/165.24 Obligation: 248.87/165.24 Q DP problem: 248.87/165.24 The TRS P consists of the following rules: 248.87/165.24 248.87/165.24 new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 248.87/165.24 new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) 248.87/165.24 new_gcd0Gcd'0(Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 248.87/165.24 new_gcd0Gcd'1(False, Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 248.87/165.24 new_gcd0Gcd'1(False, Neg(Succ(Zero)), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Neg(new_primModNatS1(Zero, Zero))) 248.87/165.24 248.87/165.24 The TRS R consists of the following rules: 248.87/165.24 248.87/165.24 new_esEs(Neg(Succ(vyv24100))) -> new_primEqInt(Neg(Succ(vyv24100))) 248.87/165.24 new_primEqInt(Neg(Succ(vyv242000))) -> False 248.87/165.24 new_primModNatS1(Succ(Succ(vyv292000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv292000), Zero) 248.87/165.24 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 248.87/165.24 new_primMinusNatS0(vyv270000) -> Succ(vyv270000) 248.87/165.24 new_primModNatS1(Zero, vyv29100) -> Zero 248.87/165.24 new_primMinusNatS1 -> Zero 248.87/165.24 new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) 248.87/165.24 new_primEqInt(Neg(Zero)) -> True 248.87/165.24 248.87/165.24 The set Q consists of the following terms: 248.87/165.24 248.87/165.24 new_primModNatS1(Succ(Zero), Succ(x0)) 248.87/165.24 new_primMinusNatS1 248.87/165.24 new_primEqInt(Pos(Zero)) 248.87/165.24 new_esEs(Neg(Succ(x0))) 248.87/165.24 new_primModNatS1(Succ(Zero), Zero) 248.87/165.24 new_esEs(Pos(Zero)) 248.87/165.24 new_primEqInt(Neg(Succ(x0))) 248.87/165.24 new_primEqInt(Neg(Zero)) 248.87/165.24 new_primMinusNatS0(x0) 248.87/165.24 new_primEqInt(Pos(Succ(x0))) 248.87/165.24 new_primModNatS1(Succ(Succ(x0)), Zero) 248.87/165.24 new_primModNatS1(Zero, x0) 248.87/165.24 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 248.87/165.24 new_esEs(Neg(Zero)) 248.87/165.24 new_esEs(Pos(Succ(x0))) 248.87/165.24 248.87/165.24 We have to consider all minimal (P,Q,R)-chains. 248.87/165.24 ---------------------------------------- 248.87/165.24 248.87/165.24 (566) DependencyGraphProof (EQUIVALENT) 248.87/165.24 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. 248.87/165.24 ---------------------------------------- 248.87/165.24 248.87/165.24 (567) 248.87/165.24 Obligation: 248.87/165.24 Q DP problem: 248.87/165.24 The TRS P consists of the following rules: 248.87/165.24 248.87/165.24 new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) 248.87/165.24 new_gcd0Gcd'1(False, Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 248.87/165.24 new_gcd0Gcd'0(Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 248.87/165.24 new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 248.87/165.24 248.87/165.24 The TRS R consists of the following rules: 248.87/165.24 248.87/165.24 new_esEs(Neg(Succ(vyv24100))) -> new_primEqInt(Neg(Succ(vyv24100))) 248.87/165.24 new_primEqInt(Neg(Succ(vyv242000))) -> False 248.87/165.24 new_primModNatS1(Succ(Succ(vyv292000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv292000), Zero) 248.87/165.24 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 248.87/165.24 new_primMinusNatS0(vyv270000) -> Succ(vyv270000) 248.87/165.24 new_primModNatS1(Zero, vyv29100) -> Zero 248.87/165.24 new_primMinusNatS1 -> Zero 248.87/165.24 new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) 248.87/165.24 new_primEqInt(Neg(Zero)) -> True 248.87/165.24 248.87/165.24 The set Q consists of the following terms: 248.87/165.24 248.87/165.24 new_primModNatS1(Succ(Zero), Succ(x0)) 248.87/165.24 new_primMinusNatS1 248.87/165.24 new_primEqInt(Pos(Zero)) 248.87/165.24 new_esEs(Neg(Succ(x0))) 248.87/165.24 new_primModNatS1(Succ(Zero), Zero) 248.87/165.24 new_esEs(Pos(Zero)) 248.87/165.24 new_primEqInt(Neg(Succ(x0))) 248.87/165.24 new_primEqInt(Neg(Zero)) 248.87/165.24 new_primMinusNatS0(x0) 248.87/165.24 new_primEqInt(Pos(Succ(x0))) 248.87/165.24 new_primModNatS1(Succ(Succ(x0)), Zero) 248.87/165.24 new_primModNatS1(Zero, x0) 248.87/165.24 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 248.87/165.24 new_esEs(Neg(Zero)) 248.87/165.24 new_esEs(Pos(Succ(x0))) 248.87/165.24 248.87/165.24 We have to consider all minimal (P,Q,R)-chains. 248.87/165.24 ---------------------------------------- 248.87/165.24 248.87/165.24 (568) TransformationProof (EQUIVALENT) 248.87/165.24 By narrowing [LPAR04] the rule new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) at position [0] we obtained the following new rules [LPAR04]: 248.87/165.24 248.87/165.24 (new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero))), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))),new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero))), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0)))))) 248.87/165.24 (new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS1, Zero))), Neg(Succ(Zero)), Neg(Succ(Succ(Zero)))),new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS1, Zero))), Neg(Succ(Zero)), Neg(Succ(Succ(Zero))))) 248.87/165.24 248.87/165.24 248.87/165.24 ---------------------------------------- 248.87/165.24 248.87/165.24 (569) 248.87/165.24 Obligation: 248.87/165.24 Q DP problem: 248.87/165.24 The TRS P consists of the following rules: 248.87/165.24 248.87/165.24 new_gcd0Gcd'1(False, Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 248.87/165.24 new_gcd0Gcd'0(Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 248.87/165.24 new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 248.87/165.24 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero))), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) 248.87/165.24 new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS1, Zero))), Neg(Succ(Zero)), Neg(Succ(Succ(Zero)))) 248.87/165.24 248.87/165.24 The TRS R consists of the following rules: 248.87/165.24 248.87/165.24 new_esEs(Neg(Succ(vyv24100))) -> new_primEqInt(Neg(Succ(vyv24100))) 248.87/165.24 new_primEqInt(Neg(Succ(vyv242000))) -> False 248.87/165.24 new_primModNatS1(Succ(Succ(vyv292000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv292000), Zero) 248.87/165.24 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 248.87/165.24 new_primMinusNatS0(vyv270000) -> Succ(vyv270000) 248.87/165.24 new_primModNatS1(Zero, vyv29100) -> Zero 248.87/165.24 new_primMinusNatS1 -> Zero 248.87/165.24 new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) 248.87/165.24 new_primEqInt(Neg(Zero)) -> True 248.87/165.24 248.87/165.24 The set Q consists of the following terms: 248.87/165.24 248.87/165.24 new_primModNatS1(Succ(Zero), Succ(x0)) 248.87/165.24 new_primMinusNatS1 248.87/165.24 new_primEqInt(Pos(Zero)) 248.87/165.24 new_esEs(Neg(Succ(x0))) 248.87/165.24 new_primModNatS1(Succ(Zero), Zero) 248.87/165.24 new_esEs(Pos(Zero)) 248.87/165.24 new_primEqInt(Neg(Succ(x0))) 248.87/165.24 new_primEqInt(Neg(Zero)) 248.87/165.24 new_primMinusNatS0(x0) 248.87/165.24 new_primEqInt(Pos(Succ(x0))) 248.87/165.24 new_primModNatS1(Succ(Succ(x0)), Zero) 248.87/165.24 new_primModNatS1(Zero, x0) 248.87/165.24 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 248.87/165.24 new_esEs(Neg(Zero)) 248.87/165.24 new_esEs(Pos(Succ(x0))) 248.87/165.24 248.87/165.24 We have to consider all minimal (P,Q,R)-chains. 248.87/165.24 ---------------------------------------- 248.87/165.24 248.87/165.24 (570) DependencyGraphProof (EQUIVALENT) 248.87/165.24 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. 248.87/165.24 ---------------------------------------- 248.87/165.24 248.87/165.24 (571) 248.87/165.24 Obligation: 248.87/165.24 Q DP problem: 248.87/165.24 The TRS P consists of the following rules: 248.87/165.24 248.87/165.24 new_gcd0Gcd'0(Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 248.87/165.24 new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 248.87/165.24 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero))), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) 248.87/165.24 new_gcd0Gcd'1(False, Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 248.87/165.24 248.87/165.24 The TRS R consists of the following rules: 248.87/165.24 248.87/165.24 new_esEs(Neg(Succ(vyv24100))) -> new_primEqInt(Neg(Succ(vyv24100))) 248.87/165.24 new_primEqInt(Neg(Succ(vyv242000))) -> False 248.87/165.24 new_primModNatS1(Succ(Succ(vyv292000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv292000), Zero) 248.87/165.24 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 248.87/165.24 new_primMinusNatS0(vyv270000) -> Succ(vyv270000) 248.87/165.24 new_primModNatS1(Zero, vyv29100) -> Zero 248.87/165.24 new_primMinusNatS1 -> Zero 248.87/165.24 new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) 248.87/165.24 new_primEqInt(Neg(Zero)) -> True 248.87/165.24 248.87/165.24 The set Q consists of the following terms: 248.87/165.24 248.87/165.24 new_primModNatS1(Succ(Zero), Succ(x0)) 248.87/165.24 new_primMinusNatS1 248.87/165.24 new_primEqInt(Pos(Zero)) 248.87/165.24 new_esEs(Neg(Succ(x0))) 248.87/165.24 new_primModNatS1(Succ(Zero), Zero) 248.87/165.24 new_esEs(Pos(Zero)) 248.87/165.24 new_primEqInt(Neg(Succ(x0))) 248.87/165.24 new_primEqInt(Neg(Zero)) 248.87/165.24 new_primMinusNatS0(x0) 248.87/165.24 new_primEqInt(Pos(Succ(x0))) 248.87/165.24 new_primModNatS1(Succ(Succ(x0)), Zero) 248.87/165.24 new_primModNatS1(Zero, x0) 248.87/165.24 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 248.87/165.24 new_esEs(Neg(Zero)) 248.87/165.24 new_esEs(Pos(Succ(x0))) 248.87/165.24 248.87/165.24 We have to consider all minimal (P,Q,R)-chains. 248.87/165.24 ---------------------------------------- 248.87/165.24 248.87/165.24 (572) TransformationProof (EQUIVALENT) 248.87/165.24 By rewriting [LPAR04] the rule new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero))), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) at position [0,0,0,0] we obtained the following new rules [LPAR04]: 248.87/165.24 248.87/165.24 (new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))),new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0)))))) 248.87/165.24 248.87/165.24 248.87/165.24 ---------------------------------------- 248.87/165.24 248.87/165.24 (573) 248.87/165.24 Obligation: 248.87/165.24 Q DP problem: 248.87/165.24 The TRS P consists of the following rules: 248.87/165.24 248.87/165.24 new_gcd0Gcd'0(Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 248.87/165.24 new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 248.87/165.24 new_gcd0Gcd'1(False, Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 248.87/165.24 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) 248.87/165.24 248.87/165.24 The TRS R consists of the following rules: 248.87/165.24 248.87/165.24 new_esEs(Neg(Succ(vyv24100))) -> new_primEqInt(Neg(Succ(vyv24100))) 248.87/165.24 new_primEqInt(Neg(Succ(vyv242000))) -> False 248.87/165.24 new_primModNatS1(Succ(Succ(vyv292000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv292000), Zero) 248.87/165.24 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 248.87/165.24 new_primMinusNatS0(vyv270000) -> Succ(vyv270000) 248.87/165.24 new_primModNatS1(Zero, vyv29100) -> Zero 248.87/165.24 new_primMinusNatS1 -> Zero 248.87/165.24 new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) 248.87/165.24 new_primEqInt(Neg(Zero)) -> True 248.87/165.24 248.87/165.24 The set Q consists of the following terms: 248.87/165.24 248.87/165.24 new_primModNatS1(Succ(Zero), Succ(x0)) 248.87/165.24 new_primMinusNatS1 248.87/165.24 new_primEqInt(Pos(Zero)) 248.87/165.24 new_esEs(Neg(Succ(x0))) 248.87/165.24 new_primModNatS1(Succ(Zero), Zero) 248.87/165.24 new_esEs(Pos(Zero)) 248.87/165.24 new_primEqInt(Neg(Succ(x0))) 248.87/165.24 new_primEqInt(Neg(Zero)) 248.87/165.24 new_primMinusNatS0(x0) 248.87/165.24 new_primEqInt(Pos(Succ(x0))) 248.87/165.24 new_primModNatS1(Succ(Succ(x0)), Zero) 248.87/165.24 new_primModNatS1(Zero, x0) 248.87/165.24 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 248.87/165.24 new_esEs(Neg(Zero)) 248.87/165.24 new_esEs(Pos(Succ(x0))) 248.87/165.24 248.87/165.24 We have to consider all minimal (P,Q,R)-chains. 248.87/165.24 ---------------------------------------- 248.87/165.24 248.87/165.24 (574) TransformationProof (EQUIVALENT) 248.87/165.24 By narrowing [LPAR04] the rule new_gcd0Gcd'1(False, Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) at position [1,0] we obtained the following new rules [LPAR04]: 248.87/165.24 248.87/165.24 (new_gcd0Gcd'1(False, Neg(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero))),new_gcd0Gcd'1(False, Neg(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero)))) 248.87/165.24 (new_gcd0Gcd'1(False, Neg(Succ(Zero)), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS1, Zero))),new_gcd0Gcd'1(False, Neg(Succ(Zero)), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS1, Zero)))) 248.87/165.24 248.87/165.24 248.87/165.24 ---------------------------------------- 248.87/165.24 248.87/165.24 (575) 248.87/165.24 Obligation: 248.87/165.24 Q DP problem: 248.87/165.24 The TRS P consists of the following rules: 248.87/165.24 248.87/165.24 new_gcd0Gcd'0(Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 248.87/165.24 new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 248.87/165.24 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) 248.87/165.24 new_gcd0Gcd'1(False, Neg(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero))) 248.87/165.24 new_gcd0Gcd'1(False, Neg(Succ(Zero)), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS1, Zero))) 248.87/165.24 248.87/165.24 The TRS R consists of the following rules: 248.87/165.24 248.87/165.24 new_esEs(Neg(Succ(vyv24100))) -> new_primEqInt(Neg(Succ(vyv24100))) 248.87/165.24 new_primEqInt(Neg(Succ(vyv242000))) -> False 248.87/165.24 new_primModNatS1(Succ(Succ(vyv292000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv292000), Zero) 248.87/165.24 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 248.87/165.24 new_primMinusNatS0(vyv270000) -> Succ(vyv270000) 248.87/165.24 new_primModNatS1(Zero, vyv29100) -> Zero 248.87/165.24 new_primMinusNatS1 -> Zero 248.87/165.24 new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) 248.87/165.24 new_primEqInt(Neg(Zero)) -> True 248.87/165.24 248.87/165.24 The set Q consists of the following terms: 248.87/165.24 248.87/165.24 new_primModNatS1(Succ(Zero), Succ(x0)) 248.87/165.24 new_primMinusNatS1 248.87/165.24 new_primEqInt(Pos(Zero)) 248.87/165.24 new_esEs(Neg(Succ(x0))) 248.87/165.24 new_primModNatS1(Succ(Zero), Zero) 248.87/165.24 new_esEs(Pos(Zero)) 248.87/165.24 new_primEqInt(Neg(Succ(x0))) 248.87/165.24 new_primEqInt(Neg(Zero)) 248.87/165.24 new_primMinusNatS0(x0) 248.87/165.24 new_primEqInt(Pos(Succ(x0))) 248.87/165.24 new_primModNatS1(Succ(Succ(x0)), Zero) 248.87/165.24 new_primModNatS1(Zero, x0) 248.87/165.24 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 248.87/165.24 new_esEs(Neg(Zero)) 248.87/165.24 new_esEs(Pos(Succ(x0))) 248.87/165.24 248.87/165.24 We have to consider all minimal (P,Q,R)-chains. 248.87/165.24 ---------------------------------------- 248.87/165.24 248.87/165.24 (576) TransformationProof (EQUIVALENT) 248.87/165.24 By rewriting [LPAR04] the rule new_gcd0Gcd'1(False, Neg(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero))) at position [1,0,0] we obtained the following new rules [LPAR04]: 248.87/165.24 248.87/165.24 (new_gcd0Gcd'1(False, Neg(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))),new_gcd0Gcd'1(False, Neg(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero)))) 248.87/165.24 248.87/165.24 248.87/165.24 ---------------------------------------- 248.87/165.24 248.87/165.24 (577) 248.87/165.24 Obligation: 248.87/165.24 Q DP problem: 248.87/165.24 The TRS P consists of the following rules: 248.87/165.24 248.87/165.24 new_gcd0Gcd'0(Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 248.87/165.24 new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 248.87/165.24 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) 248.87/165.24 new_gcd0Gcd'1(False, Neg(Succ(Zero)), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS1, Zero))) 248.87/165.24 new_gcd0Gcd'1(False, Neg(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 248.87/165.24 248.87/165.24 The TRS R consists of the following rules: 248.87/165.24 248.87/165.24 new_esEs(Neg(Succ(vyv24100))) -> new_primEqInt(Neg(Succ(vyv24100))) 248.87/165.24 new_primEqInt(Neg(Succ(vyv242000))) -> False 248.87/165.24 new_primModNatS1(Succ(Succ(vyv292000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv292000), Zero) 248.87/165.24 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 248.87/165.24 new_primMinusNatS0(vyv270000) -> Succ(vyv270000) 248.87/165.24 new_primModNatS1(Zero, vyv29100) -> Zero 248.87/165.24 new_primMinusNatS1 -> Zero 248.87/165.24 new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) 248.87/165.24 new_primEqInt(Neg(Zero)) -> True 248.87/165.24 248.87/165.24 The set Q consists of the following terms: 248.87/165.24 248.87/165.24 new_primModNatS1(Succ(Zero), Succ(x0)) 248.87/165.24 new_primMinusNatS1 248.87/165.24 new_primEqInt(Pos(Zero)) 248.87/165.24 new_esEs(Neg(Succ(x0))) 248.87/165.24 new_primModNatS1(Succ(Zero), Zero) 248.87/165.24 new_esEs(Pos(Zero)) 248.87/165.24 new_primEqInt(Neg(Succ(x0))) 248.87/165.24 new_primEqInt(Neg(Zero)) 248.87/165.24 new_primMinusNatS0(x0) 248.87/165.24 new_primEqInt(Pos(Succ(x0))) 248.87/165.24 new_primModNatS1(Succ(Succ(x0)), Zero) 248.87/165.24 new_primModNatS1(Zero, x0) 248.87/165.24 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 248.87/165.24 new_esEs(Neg(Zero)) 248.87/165.24 new_esEs(Pos(Succ(x0))) 248.87/165.24 248.87/165.24 We have to consider all minimal (P,Q,R)-chains. 248.87/165.24 ---------------------------------------- 248.87/165.24 248.87/165.24 (578) TransformationProof (EQUIVALENT) 248.87/165.24 By rewriting [LPAR04] the rule new_gcd0Gcd'1(False, Neg(Succ(Zero)), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS1, Zero))) at position [1,0,0] we obtained the following new rules [LPAR04]: 248.87/165.24 248.87/165.24 (new_gcd0Gcd'1(False, Neg(Succ(Zero)), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Neg(new_primModNatS1(Zero, Zero))),new_gcd0Gcd'1(False, Neg(Succ(Zero)), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Neg(new_primModNatS1(Zero, Zero)))) 248.87/165.24 248.87/165.24 248.87/165.24 ---------------------------------------- 248.87/165.24 248.87/165.24 (579) 248.87/165.24 Obligation: 248.87/165.24 Q DP problem: 248.87/165.24 The TRS P consists of the following rules: 248.87/165.24 248.87/165.24 new_gcd0Gcd'0(Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 248.87/165.24 new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 248.87/165.24 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) 248.87/165.25 new_gcd0Gcd'1(False, Neg(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 248.87/165.25 new_gcd0Gcd'1(False, Neg(Succ(Zero)), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Neg(new_primModNatS1(Zero, Zero))) 248.87/165.25 248.87/165.25 The TRS R consists of the following rules: 248.87/165.25 248.87/165.25 new_esEs(Neg(Succ(vyv24100))) -> new_primEqInt(Neg(Succ(vyv24100))) 248.87/165.25 new_primEqInt(Neg(Succ(vyv242000))) -> False 248.87/165.25 new_primModNatS1(Succ(Succ(vyv292000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv292000), Zero) 248.87/165.25 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 248.87/165.25 new_primMinusNatS0(vyv270000) -> Succ(vyv270000) 248.87/165.25 new_primModNatS1(Zero, vyv29100) -> Zero 248.87/165.25 new_primMinusNatS1 -> Zero 248.87/165.25 new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) 248.87/165.25 new_primEqInt(Neg(Zero)) -> True 248.87/165.25 248.87/165.25 The set Q consists of the following terms: 248.87/165.25 248.87/165.25 new_primModNatS1(Succ(Zero), Succ(x0)) 248.87/165.25 new_primMinusNatS1 248.87/165.25 new_primEqInt(Pos(Zero)) 248.87/165.25 new_esEs(Neg(Succ(x0))) 248.87/165.25 new_primModNatS1(Succ(Zero), Zero) 248.87/165.25 new_esEs(Pos(Zero)) 248.87/165.25 new_primEqInt(Neg(Succ(x0))) 248.87/165.25 new_primEqInt(Neg(Zero)) 248.87/165.25 new_primMinusNatS0(x0) 248.87/165.25 new_primEqInt(Pos(Succ(x0))) 248.87/165.25 new_primModNatS1(Succ(Succ(x0)), Zero) 248.87/165.25 new_primModNatS1(Zero, x0) 248.87/165.25 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 248.87/165.25 new_esEs(Neg(Zero)) 248.87/165.25 new_esEs(Pos(Succ(x0))) 248.87/165.25 248.87/165.25 We have to consider all minimal (P,Q,R)-chains. 248.87/165.25 ---------------------------------------- 248.87/165.25 248.87/165.25 (580) DependencyGraphProof (EQUIVALENT) 248.87/165.25 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. 248.87/165.25 ---------------------------------------- 248.87/165.25 248.87/165.25 (581) 248.87/165.25 Obligation: 248.87/165.25 Q DP problem: 248.87/165.25 The TRS P consists of the following rules: 248.87/165.25 248.87/165.25 new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 248.87/165.25 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) 248.87/165.25 new_gcd0Gcd'1(False, Neg(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 248.87/165.25 new_gcd0Gcd'0(Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 248.87/165.25 248.87/165.25 The TRS R consists of the following rules: 248.87/165.25 248.87/165.25 new_esEs(Neg(Succ(vyv24100))) -> new_primEqInt(Neg(Succ(vyv24100))) 248.87/165.25 new_primEqInt(Neg(Succ(vyv242000))) -> False 248.87/165.25 new_primModNatS1(Succ(Succ(vyv292000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv292000), Zero) 248.87/165.25 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 248.87/165.25 new_primMinusNatS0(vyv270000) -> Succ(vyv270000) 248.87/165.25 new_primModNatS1(Zero, vyv29100) -> Zero 248.87/165.25 new_primMinusNatS1 -> Zero 248.87/165.25 new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) 248.87/165.25 new_primEqInt(Neg(Zero)) -> True 248.87/165.25 248.87/165.25 The set Q consists of the following terms: 248.87/165.25 248.87/165.25 new_primModNatS1(Succ(Zero), Succ(x0)) 248.87/165.25 new_primMinusNatS1 248.87/165.25 new_primEqInt(Pos(Zero)) 248.87/165.25 new_esEs(Neg(Succ(x0))) 248.87/165.25 new_primModNatS1(Succ(Zero), Zero) 248.87/165.25 new_esEs(Pos(Zero)) 248.87/165.25 new_primEqInt(Neg(Succ(x0))) 248.87/165.25 new_primEqInt(Neg(Zero)) 248.87/165.25 new_primMinusNatS0(x0) 248.87/165.25 new_primEqInt(Pos(Succ(x0))) 248.87/165.25 new_primModNatS1(Succ(Succ(x0)), Zero) 248.87/165.25 new_primModNatS1(Zero, x0) 248.87/165.25 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 248.87/165.25 new_esEs(Neg(Zero)) 248.87/165.25 new_esEs(Pos(Succ(x0))) 248.87/165.25 248.87/165.25 We have to consider all minimal (P,Q,R)-chains. 248.87/165.25 ---------------------------------------- 248.87/165.25 248.87/165.25 (582) TransformationProof (EQUIVALENT) 248.87/165.25 By narrowing [LPAR04] the rule new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) at position [0] we obtained the following new rules [LPAR04]: 248.87/165.25 248.87/165.25 (new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero))), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))),new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero))), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0))))))) 248.87/165.25 (new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS1, Zero))), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(Zero))))),new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS1, Zero))), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(Zero)))))) 248.87/165.25 248.87/165.25 248.87/165.25 ---------------------------------------- 248.87/165.25 248.87/165.25 (583) 248.87/165.25 Obligation: 248.87/165.25 Q DP problem: 248.87/165.25 The TRS P consists of the following rules: 248.87/165.25 248.87/165.25 new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 248.87/165.25 new_gcd0Gcd'1(False, Neg(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 248.87/165.25 new_gcd0Gcd'0(Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 248.87/165.25 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero))), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))) 248.87/165.25 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS1, Zero))), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(Zero))))) 248.87/165.25 248.87/165.25 The TRS R consists of the following rules: 248.87/165.25 248.87/165.25 new_esEs(Neg(Succ(vyv24100))) -> new_primEqInt(Neg(Succ(vyv24100))) 248.87/165.25 new_primEqInt(Neg(Succ(vyv242000))) -> False 248.87/165.25 new_primModNatS1(Succ(Succ(vyv292000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv292000), Zero) 248.87/165.25 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 248.87/165.25 new_primMinusNatS0(vyv270000) -> Succ(vyv270000) 248.87/165.25 new_primModNatS1(Zero, vyv29100) -> Zero 248.87/165.25 new_primMinusNatS1 -> Zero 248.87/165.25 new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) 248.87/165.25 new_primEqInt(Neg(Zero)) -> True 248.87/165.25 248.87/165.25 The set Q consists of the following terms: 248.87/165.25 248.87/165.25 new_primModNatS1(Succ(Zero), Succ(x0)) 248.87/165.25 new_primMinusNatS1 248.87/165.25 new_primEqInt(Pos(Zero)) 248.87/165.25 new_esEs(Neg(Succ(x0))) 248.87/165.25 new_primModNatS1(Succ(Zero), Zero) 248.87/165.25 new_esEs(Pos(Zero)) 248.87/165.25 new_primEqInt(Neg(Succ(x0))) 248.87/165.25 new_primEqInt(Neg(Zero)) 248.87/165.25 new_primMinusNatS0(x0) 248.87/165.25 new_primEqInt(Pos(Succ(x0))) 248.87/165.25 new_primModNatS1(Succ(Succ(x0)), Zero) 248.87/165.25 new_primModNatS1(Zero, x0) 248.87/165.25 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 248.87/165.25 new_esEs(Neg(Zero)) 248.87/165.25 new_esEs(Pos(Succ(x0))) 248.87/165.25 248.87/165.25 We have to consider all minimal (P,Q,R)-chains. 248.87/165.25 ---------------------------------------- 248.87/165.25 248.87/165.25 (584) DependencyGraphProof (EQUIVALENT) 248.87/165.25 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. 248.87/165.25 ---------------------------------------- 248.87/165.25 248.87/165.25 (585) 248.87/165.25 Obligation: 248.87/165.25 Q DP problem: 248.87/165.25 The TRS P consists of the following rules: 248.87/165.25 248.87/165.25 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero))), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))) 248.87/165.25 new_gcd0Gcd'1(False, Neg(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 248.87/165.25 new_gcd0Gcd'0(Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 248.87/165.25 new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 248.87/165.25 248.87/165.25 The TRS R consists of the following rules: 248.87/165.25 248.87/165.25 new_esEs(Neg(Succ(vyv24100))) -> new_primEqInt(Neg(Succ(vyv24100))) 248.87/165.25 new_primEqInt(Neg(Succ(vyv242000))) -> False 248.87/165.25 new_primModNatS1(Succ(Succ(vyv292000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv292000), Zero) 248.87/165.25 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 248.87/165.25 new_primMinusNatS0(vyv270000) -> Succ(vyv270000) 248.87/165.25 new_primModNatS1(Zero, vyv29100) -> Zero 248.87/165.25 new_primMinusNatS1 -> Zero 248.87/165.25 new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) 248.87/165.25 new_primEqInt(Neg(Zero)) -> True 248.87/165.25 248.87/165.25 The set Q consists of the following terms: 248.87/165.25 248.87/165.25 new_primModNatS1(Succ(Zero), Succ(x0)) 248.87/165.25 new_primMinusNatS1 248.87/165.25 new_primEqInt(Pos(Zero)) 248.87/165.25 new_esEs(Neg(Succ(x0))) 248.87/165.25 new_primModNatS1(Succ(Zero), Zero) 248.87/165.25 new_esEs(Pos(Zero)) 248.87/165.25 new_primEqInt(Neg(Succ(x0))) 248.87/165.25 new_primEqInt(Neg(Zero)) 248.87/165.25 new_primMinusNatS0(x0) 248.87/165.25 new_primEqInt(Pos(Succ(x0))) 248.87/165.25 new_primModNatS1(Succ(Succ(x0)), Zero) 248.87/165.25 new_primModNatS1(Zero, x0) 248.87/165.25 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 248.87/165.25 new_esEs(Neg(Zero)) 248.87/165.25 new_esEs(Pos(Succ(x0))) 248.87/165.25 248.87/165.25 We have to consider all minimal (P,Q,R)-chains. 248.87/165.25 ---------------------------------------- 248.87/165.25 248.87/165.25 (586) TransformationProof (EQUIVALENT) 248.87/165.25 By rewriting [LPAR04] the rule new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero))), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))) at position [0,0,0,0] we obtained the following new rules [LPAR04]: 248.87/165.25 248.87/165.25 (new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))),new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0))))))) 248.87/165.25 248.87/165.25 248.87/165.25 ---------------------------------------- 248.87/165.25 248.87/165.25 (587) 248.87/165.25 Obligation: 248.87/165.25 Q DP problem: 248.87/165.25 The TRS P consists of the following rules: 248.87/165.25 248.87/165.25 new_gcd0Gcd'1(False, Neg(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 248.87/165.25 new_gcd0Gcd'0(Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 248.87/165.25 new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 248.87/165.25 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))) 248.87/165.25 248.87/165.25 The TRS R consists of the following rules: 248.87/165.25 248.87/165.25 new_esEs(Neg(Succ(vyv24100))) -> new_primEqInt(Neg(Succ(vyv24100))) 248.87/165.25 new_primEqInt(Neg(Succ(vyv242000))) -> False 248.87/165.25 new_primModNatS1(Succ(Succ(vyv292000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv292000), Zero) 248.87/165.25 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 248.87/165.25 new_primMinusNatS0(vyv270000) -> Succ(vyv270000) 248.87/165.25 new_primModNatS1(Zero, vyv29100) -> Zero 248.87/165.25 new_primMinusNatS1 -> Zero 248.87/165.25 new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) 248.87/165.25 new_primEqInt(Neg(Zero)) -> True 248.87/165.25 248.87/165.25 The set Q consists of the following terms: 248.87/165.25 248.87/165.25 new_primModNatS1(Succ(Zero), Succ(x0)) 248.87/165.25 new_primMinusNatS1 248.87/165.25 new_primEqInt(Pos(Zero)) 248.87/165.25 new_esEs(Neg(Succ(x0))) 248.87/165.25 new_primModNatS1(Succ(Zero), Zero) 248.87/165.25 new_esEs(Pos(Zero)) 248.87/165.25 new_primEqInt(Neg(Succ(x0))) 248.87/165.25 new_primEqInt(Neg(Zero)) 248.87/165.25 new_primMinusNatS0(x0) 248.87/165.25 new_primEqInt(Pos(Succ(x0))) 248.87/165.25 new_primModNatS1(Succ(Succ(x0)), Zero) 248.87/165.25 new_primModNatS1(Zero, x0) 248.87/165.25 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 248.87/165.25 new_esEs(Neg(Zero)) 248.87/165.25 new_esEs(Pos(Succ(x0))) 248.87/165.25 248.87/165.25 We have to consider all minimal (P,Q,R)-chains. 248.87/165.25 ---------------------------------------- 248.87/165.25 248.87/165.25 (588) QDPSizeChangeProof (EQUIVALENT) 248.87/165.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. 248.87/165.25 248.87/165.25 Order:Polynomial interpretation [POLO]: 248.87/165.25 248.87/165.25 POL(False) = 1 248.87/165.25 POL(Neg(x_1)) = x_1 248.87/165.25 POL(Succ(x_1)) = 1 + x_1 248.87/165.25 POL(Zero) = 1 248.87/165.25 POL(new_primMinusNatS0(x_1)) = 1 + x_1 248.87/165.25 POL(new_primMinusNatS1) = 1 248.87/165.25 POL(new_primModNatS1(x_1, x_2)) = x_1 248.87/165.25 248.87/165.25 248.87/165.25 248.87/165.25 248.87/165.25 From the DPs we obtained the following set of size-change graphs: 248.87/165.25 *new_gcd0Gcd'0(Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) (allowed arguments on rhs = {2, 3}) 248.87/165.25 The graph contains the following edges 2 >= 2, 1 >= 3 248.87/165.25 248.87/165.25 248.87/165.25 *new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))) (allowed arguments on rhs = {2, 3}) 248.87/165.25 The graph contains the following edges 2 >= 2, 1 >= 3 248.87/165.25 248.87/165.25 248.87/165.25 *new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) (allowed arguments on rhs = {1, 2}) 248.87/165.25 The graph contains the following edges 2 >= 1, 3 >= 2 248.87/165.25 248.87/165.25 248.87/165.25 *new_gcd0Gcd'1(False, Neg(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) (allowed arguments on rhs = {1, 2}) 248.87/165.25 The graph contains the following edges 2 >= 1, 3 > 2 248.87/165.25 248.87/165.25 248.87/165.25 248.87/165.25 We oriented the following set of usable rules [AAECC05,FROCOS05]. 248.87/165.25 248.87/165.25 new_primModNatS1(Zero, vyv29100) -> Zero 248.87/165.25 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 248.87/165.25 new_primModNatS1(Succ(Succ(vyv292000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv292000), Zero) 248.87/165.25 new_primMinusNatS1 -> Zero 248.87/165.25 new_primMinusNatS0(vyv270000) -> Succ(vyv270000) 248.87/165.25 248.87/165.25 ---------------------------------------- 248.87/165.25 248.87/165.25 (589) 248.87/165.25 YES 248.87/165.25 248.87/165.25 ---------------------------------------- 248.87/165.25 248.87/165.25 (590) 248.87/165.25 Obligation: 248.87/165.25 Q DP problem: 248.87/165.25 The TRS P consists of the following rules: 248.87/165.25 248.87/165.25 new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(x0, x1, x0, x1))), Neg(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) 248.87/165.25 new_gcd0Gcd'1(False, Neg(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x1))), Neg(new_primModNatS01(x0, x1, x0, x1))) 248.87/165.25 248.87/165.25 The TRS R consists of the following rules: 248.87/165.25 248.87/165.25 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 248.87/165.25 new_primModNatS1(Succ(Succ(vyv292000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv292000), Zero) 248.87/165.25 new_primModNatS1(Succ(Zero), Succ(vyv291000)) -> Succ(Zero) 248.87/165.25 new_primModNatS01(vyv330, vyv331, Zero, Zero) -> new_primModNatS02(vyv330, vyv331) 248.87/165.25 new_primModNatS02(vyv330, vyv331) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv330), Succ(vyv331)), Succ(vyv331)) 248.87/165.25 new_primModNatS1(Succ(Succ(vyv292000)), Succ(vyv291000)) -> new_primModNatS01(vyv292000, vyv291000, vyv292000, vyv291000) 248.87/165.25 new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Succ(vyv3330)) -> new_primModNatS01(vyv330, vyv331, vyv3320, vyv3330) 248.87/165.25 new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Zero) -> new_primModNatS02(vyv330, vyv331) 248.87/165.25 new_primModNatS1(Zero, vyv29100) -> Zero 248.87/165.25 new_esEs(Neg(Succ(vyv24100))) -> new_primEqInt(Neg(Succ(vyv24100))) 248.87/165.25 new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) 248.87/165.25 new_primEqInt(Neg(Zero)) -> True 248.87/165.25 new_primEqInt(Neg(Succ(vyv242000))) -> False 248.87/165.25 new_primMinusNatS2(Succ(vyv3100), Succ(vyv3110)) -> new_primMinusNatS2(vyv3100, vyv3110) 248.87/165.25 new_primModNatS01(vyv330, vyv331, Zero, Succ(vyv3330)) -> Succ(Succ(vyv330)) 248.87/165.25 new_primMinusNatS2(Zero, Zero) -> Zero 248.87/165.25 new_primMinusNatS2(Zero, Succ(vyv3110)) -> Zero 248.87/165.25 new_primMinusNatS2(Succ(vyv3100), Zero) -> Succ(vyv3100) 248.87/165.25 new_primMinusNatS1 -> Zero 248.87/165.25 new_primMinusNatS0(vyv270000) -> Succ(vyv270000) 248.87/165.25 248.87/165.25 The set Q consists of the following terms: 248.87/165.25 248.87/165.25 new_primModNatS1(Succ(Zero), Succ(x0)) 248.87/165.25 new_primMinusNatS1 248.87/165.25 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 248.87/165.25 new_primEqInt(Pos(Zero)) 248.87/165.25 new_primModNatS02(x0, x1) 248.87/165.25 new_primModNatS01(x0, x1, Succ(x2), Zero) 248.87/165.25 new_primModNatS01(x0, x1, Zero, Succ(x2)) 248.87/165.25 new_primMinusNatS2(Zero, Zero) 248.87/165.25 new_esEs(Neg(Succ(x0))) 248.87/165.25 new_primMinusNatS2(Zero, Succ(x0)) 248.87/165.25 new_primModNatS1(Succ(Zero), Zero) 248.87/165.25 new_esEs(Pos(Zero)) 248.87/165.25 new_primEqInt(Neg(Succ(x0))) 248.87/165.25 new_primMinusNatS2(Succ(x0), Zero) 248.87/165.25 new_primEqInt(Neg(Zero)) 248.87/165.25 new_primMinusNatS0(x0) 248.87/165.25 new_primModNatS01(x0, x1, Zero, Zero) 248.87/165.25 new_primEqInt(Pos(Succ(x0))) 248.87/165.25 new_primMinusNatS2(Succ(x0), Succ(x1)) 248.87/165.25 new_primModNatS1(Succ(Succ(x0)), Zero) 248.87/165.25 new_primModNatS1(Zero, x0) 248.87/165.25 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 248.87/165.25 new_esEs(Neg(Zero)) 248.87/165.25 new_esEs(Pos(Succ(x0))) 248.87/165.25 248.87/165.25 We have to consider all minimal (P,Q,R)-chains. 248.87/165.25 ---------------------------------------- 248.87/165.25 248.87/165.25 (591) UsableRulesProof (EQUIVALENT) 248.87/165.25 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. 248.87/165.25 ---------------------------------------- 248.87/165.25 248.87/165.25 (592) 248.87/165.25 Obligation: 248.87/165.25 Q DP problem: 248.87/165.25 The TRS P consists of the following rules: 248.87/165.25 248.87/165.25 new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(x0, x1, x0, x1))), Neg(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) 248.87/165.25 new_gcd0Gcd'1(False, Neg(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x1))), Neg(new_primModNatS01(x0, x1, x0, x1))) 248.87/165.25 248.87/165.25 The TRS R consists of the following rules: 248.87/165.25 248.87/165.25 new_primModNatS1(Succ(Succ(vyv292000)), Succ(vyv291000)) -> new_primModNatS01(vyv292000, vyv291000, vyv292000, vyv291000) 248.87/165.25 new_primModNatS01(vyv330, vyv331, Zero, Zero) -> new_primModNatS02(vyv330, vyv331) 248.87/165.25 new_primModNatS02(vyv330, vyv331) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv330), Succ(vyv331)), Succ(vyv331)) 248.87/165.25 new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Succ(vyv3330)) -> new_primModNatS01(vyv330, vyv331, vyv3320, vyv3330) 248.87/165.25 new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Zero) -> new_primModNatS02(vyv330, vyv331) 248.87/165.25 new_primModNatS01(vyv330, vyv331, Zero, Succ(vyv3330)) -> Succ(Succ(vyv330)) 248.87/165.25 new_primMinusNatS2(Succ(vyv3100), Succ(vyv3110)) -> new_primMinusNatS2(vyv3100, vyv3110) 248.87/165.25 new_primModNatS1(Succ(Zero), Succ(vyv291000)) -> Succ(Zero) 248.87/165.25 new_primModNatS1(Zero, vyv29100) -> Zero 248.87/165.25 new_primMinusNatS2(Zero, Zero) -> Zero 248.87/165.25 new_primMinusNatS2(Zero, Succ(vyv3110)) -> Zero 248.87/165.25 new_primMinusNatS2(Succ(vyv3100), Zero) -> Succ(vyv3100) 248.87/165.25 new_esEs(Neg(Succ(vyv24100))) -> new_primEqInt(Neg(Succ(vyv24100))) 248.87/165.25 new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) 248.87/165.25 new_primEqInt(Neg(Zero)) -> True 248.87/165.25 new_primEqInt(Neg(Succ(vyv242000))) -> False 248.87/165.25 248.87/165.25 The set Q consists of the following terms: 248.87/165.25 248.87/165.25 new_primModNatS1(Succ(Zero), Succ(x0)) 248.87/165.25 new_primMinusNatS1 248.87/165.25 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 248.87/165.25 new_primEqInt(Pos(Zero)) 248.87/165.25 new_primModNatS02(x0, x1) 248.87/165.25 new_primModNatS01(x0, x1, Succ(x2), Zero) 248.87/165.25 new_primModNatS01(x0, x1, Zero, Succ(x2)) 248.87/165.25 new_primMinusNatS2(Zero, Zero) 248.87/165.25 new_esEs(Neg(Succ(x0))) 248.87/165.25 new_primMinusNatS2(Zero, Succ(x0)) 248.87/165.25 new_primModNatS1(Succ(Zero), Zero) 248.87/165.25 new_esEs(Pos(Zero)) 248.87/165.25 new_primEqInt(Neg(Succ(x0))) 248.87/165.25 new_primMinusNatS2(Succ(x0), Zero) 248.87/165.25 new_primEqInt(Neg(Zero)) 248.87/165.25 new_primMinusNatS0(x0) 248.87/165.25 new_primModNatS01(x0, x1, Zero, Zero) 248.87/165.25 new_primEqInt(Pos(Succ(x0))) 248.87/165.25 new_primMinusNatS2(Succ(x0), Succ(x1)) 248.87/165.25 new_primModNatS1(Succ(Succ(x0)), Zero) 248.87/165.25 new_primModNatS1(Zero, x0) 248.87/165.25 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 248.87/165.25 new_esEs(Neg(Zero)) 248.87/165.25 new_esEs(Pos(Succ(x0))) 248.87/165.25 248.87/165.25 We have to consider all minimal (P,Q,R)-chains. 248.87/165.25 ---------------------------------------- 248.87/165.25 248.87/165.25 (593) QReductionProof (EQUIVALENT) 248.87/165.25 We deleted the following terms from Q as each root-symbol of these terms does neither occur in P nor in R.[THIEMANN]. 248.87/165.25 248.87/165.25 new_primMinusNatS1 248.87/165.25 new_primMinusNatS0(x0) 248.87/165.25 248.87/165.25 248.87/165.25 ---------------------------------------- 248.87/165.25 248.87/165.25 (594) 248.87/165.25 Obligation: 248.87/165.25 Q DP problem: 248.87/165.25 The TRS P consists of the following rules: 248.87/165.25 248.87/165.25 new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(x0, x1, x0, x1))), Neg(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) 248.87/165.25 new_gcd0Gcd'1(False, Neg(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x1))), Neg(new_primModNatS01(x0, x1, x0, x1))) 248.87/165.25 248.87/165.25 The TRS R consists of the following rules: 248.87/165.25 248.87/165.25 new_primModNatS1(Succ(Succ(vyv292000)), Succ(vyv291000)) -> new_primModNatS01(vyv292000, vyv291000, vyv292000, vyv291000) 248.87/165.25 new_primModNatS01(vyv330, vyv331, Zero, Zero) -> new_primModNatS02(vyv330, vyv331) 248.87/165.25 new_primModNatS02(vyv330, vyv331) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv330), Succ(vyv331)), Succ(vyv331)) 248.87/165.25 new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Succ(vyv3330)) -> new_primModNatS01(vyv330, vyv331, vyv3320, vyv3330) 248.87/165.25 new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Zero) -> new_primModNatS02(vyv330, vyv331) 248.87/165.25 new_primModNatS01(vyv330, vyv331, Zero, Succ(vyv3330)) -> Succ(Succ(vyv330)) 248.87/165.25 new_primMinusNatS2(Succ(vyv3100), Succ(vyv3110)) -> new_primMinusNatS2(vyv3100, vyv3110) 248.87/165.25 new_primModNatS1(Succ(Zero), Succ(vyv291000)) -> Succ(Zero) 248.87/165.25 new_primModNatS1(Zero, vyv29100) -> Zero 248.87/165.25 new_primMinusNatS2(Zero, Zero) -> Zero 248.87/165.25 new_primMinusNatS2(Zero, Succ(vyv3110)) -> Zero 248.87/165.25 new_primMinusNatS2(Succ(vyv3100), Zero) -> Succ(vyv3100) 248.87/165.25 new_esEs(Neg(Succ(vyv24100))) -> new_primEqInt(Neg(Succ(vyv24100))) 248.87/165.25 new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) 248.87/165.25 new_primEqInt(Neg(Zero)) -> True 248.87/165.25 new_primEqInt(Neg(Succ(vyv242000))) -> False 248.87/165.25 248.87/165.25 The set Q consists of the following terms: 248.87/165.25 248.87/165.25 new_primModNatS1(Succ(Zero), Succ(x0)) 248.87/165.25 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 248.87/165.25 new_primEqInt(Pos(Zero)) 248.87/165.25 new_primModNatS02(x0, x1) 248.87/165.25 new_primModNatS01(x0, x1, Succ(x2), Zero) 248.87/165.25 new_primModNatS01(x0, x1, Zero, Succ(x2)) 248.87/165.25 new_primMinusNatS2(Zero, Zero) 248.87/165.25 new_esEs(Neg(Succ(x0))) 248.87/165.25 new_primMinusNatS2(Zero, Succ(x0)) 248.87/165.25 new_primModNatS1(Succ(Zero), Zero) 248.87/165.25 new_esEs(Pos(Zero)) 248.87/165.25 new_primEqInt(Neg(Succ(x0))) 248.87/165.25 new_primMinusNatS2(Succ(x0), Zero) 248.87/165.25 new_primEqInt(Neg(Zero)) 248.87/165.25 new_primModNatS01(x0, x1, Zero, Zero) 248.87/165.25 new_primEqInt(Pos(Succ(x0))) 248.87/165.25 new_primMinusNatS2(Succ(x0), Succ(x1)) 248.87/165.25 new_primModNatS1(Succ(Succ(x0)), Zero) 248.87/165.25 new_primModNatS1(Zero, x0) 248.87/165.25 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 248.87/165.25 new_esEs(Neg(Zero)) 248.87/165.25 new_esEs(Pos(Succ(x0))) 248.87/165.25 248.87/165.25 We have to consider all minimal (P,Q,R)-chains. 248.87/165.25 ---------------------------------------- 248.87/165.25 248.87/165.25 (595) TransformationProof (EQUIVALENT) 248.87/165.25 By narrowing [LPAR04] the rule new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(x0, x1, x0, x1))), Neg(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) at position [0] we obtained the following new rules [LPAR04]: 248.87/165.25 248.87/165.25 (new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS02(Zero, Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))),new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS02(Zero, Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))))) 248.87/165.25 (new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))),new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2)))))) 248.87/165.25 (new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS02(Succ(x2), Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))),new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS02(Succ(x2), Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))))) 248.87/165.25 (new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Neg(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))),new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Neg(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))))) 248.87/165.25 248.87/165.25 248.87/165.25 ---------------------------------------- 248.87/165.25 248.87/165.25 (596) 248.87/165.25 Obligation: 248.87/165.25 Q DP problem: 248.87/165.25 The TRS P consists of the following rules: 248.87/165.25 248.87/165.25 new_gcd0Gcd'1(False, Neg(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x1))), Neg(new_primModNatS01(x0, x1, x0, x1))) 248.87/165.25 new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS02(Zero, Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) 248.87/165.25 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) 248.87/165.25 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS02(Succ(x2), Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) 248.87/165.25 new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Neg(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 248.87/165.25 248.87/165.25 The TRS R consists of the following rules: 248.87/165.25 248.87/165.25 new_primModNatS1(Succ(Succ(vyv292000)), Succ(vyv291000)) -> new_primModNatS01(vyv292000, vyv291000, vyv292000, vyv291000) 248.87/165.25 new_primModNatS01(vyv330, vyv331, Zero, Zero) -> new_primModNatS02(vyv330, vyv331) 248.87/165.25 new_primModNatS02(vyv330, vyv331) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv330), Succ(vyv331)), Succ(vyv331)) 248.87/165.25 new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Succ(vyv3330)) -> new_primModNatS01(vyv330, vyv331, vyv3320, vyv3330) 248.87/165.25 new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Zero) -> new_primModNatS02(vyv330, vyv331) 248.87/165.25 new_primModNatS01(vyv330, vyv331, Zero, Succ(vyv3330)) -> Succ(Succ(vyv330)) 248.87/165.25 new_primMinusNatS2(Succ(vyv3100), Succ(vyv3110)) -> new_primMinusNatS2(vyv3100, vyv3110) 248.87/165.25 new_primModNatS1(Succ(Zero), Succ(vyv291000)) -> Succ(Zero) 248.87/165.25 new_primModNatS1(Zero, vyv29100) -> Zero 248.87/165.25 new_primMinusNatS2(Zero, Zero) -> Zero 248.87/165.25 new_primMinusNatS2(Zero, Succ(vyv3110)) -> Zero 248.87/165.25 new_primMinusNatS2(Succ(vyv3100), Zero) -> Succ(vyv3100) 248.87/165.25 new_esEs(Neg(Succ(vyv24100))) -> new_primEqInt(Neg(Succ(vyv24100))) 248.87/165.25 new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) 248.87/165.25 new_primEqInt(Neg(Zero)) -> True 248.87/165.25 new_primEqInt(Neg(Succ(vyv242000))) -> False 248.87/165.25 248.87/165.25 The set Q consists of the following terms: 248.87/165.25 248.87/165.25 new_primModNatS1(Succ(Zero), Succ(x0)) 248.87/165.25 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 248.87/165.25 new_primEqInt(Pos(Zero)) 248.87/165.25 new_primModNatS02(x0, x1) 248.87/165.25 new_primModNatS01(x0, x1, Succ(x2), Zero) 248.87/165.25 new_primModNatS01(x0, x1, Zero, Succ(x2)) 248.87/165.25 new_primMinusNatS2(Zero, Zero) 248.87/165.25 new_esEs(Neg(Succ(x0))) 248.87/165.25 new_primMinusNatS2(Zero, Succ(x0)) 248.87/165.25 new_primModNatS1(Succ(Zero), Zero) 248.87/165.25 new_esEs(Pos(Zero)) 248.87/165.25 new_primEqInt(Neg(Succ(x0))) 248.87/165.25 new_primMinusNatS2(Succ(x0), Zero) 248.87/165.25 new_primEqInt(Neg(Zero)) 248.87/165.25 new_primModNatS01(x0, x1, Zero, Zero) 248.87/165.25 new_primEqInt(Pos(Succ(x0))) 248.87/165.25 new_primMinusNatS2(Succ(x0), Succ(x1)) 248.87/165.25 new_primModNatS1(Succ(Succ(x0)), Zero) 248.87/165.25 new_primModNatS1(Zero, x0) 248.87/165.25 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 248.87/165.25 new_esEs(Neg(Zero)) 248.87/165.25 new_esEs(Pos(Succ(x0))) 248.87/165.25 248.87/165.25 We have to consider all minimal (P,Q,R)-chains. 248.87/165.25 ---------------------------------------- 248.87/165.25 248.87/165.25 (597) TransformationProof (EQUIVALENT) 248.87/165.25 By rewriting [LPAR04] the rule new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS02(Zero, Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) at position [0,0,0] we obtained the following new rules [LPAR04]: 248.87/165.25 248.87/165.25 (new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Zero), Succ(Zero)), Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))),new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Zero), Succ(Zero)), Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))))) 248.87/165.25 248.87/165.25 248.87/165.25 ---------------------------------------- 248.87/165.25 248.87/165.25 (598) 248.87/165.25 Obligation: 248.87/165.25 Q DP problem: 248.87/165.25 The TRS P consists of the following rules: 248.87/165.25 248.87/165.25 new_gcd0Gcd'1(False, Neg(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x1))), Neg(new_primModNatS01(x0, x1, x0, x1))) 248.87/165.25 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) 248.87/165.25 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS02(Succ(x2), Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) 248.87/165.25 new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Neg(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 248.87/165.25 new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Zero), Succ(Zero)), Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) 248.87/165.25 248.87/165.25 The TRS R consists of the following rules: 248.87/165.25 248.87/165.25 new_primModNatS1(Succ(Succ(vyv292000)), Succ(vyv291000)) -> new_primModNatS01(vyv292000, vyv291000, vyv292000, vyv291000) 248.87/165.25 new_primModNatS01(vyv330, vyv331, Zero, Zero) -> new_primModNatS02(vyv330, vyv331) 248.87/165.25 new_primModNatS02(vyv330, vyv331) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv330), Succ(vyv331)), Succ(vyv331)) 248.87/165.25 new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Succ(vyv3330)) -> new_primModNatS01(vyv330, vyv331, vyv3320, vyv3330) 248.87/165.25 new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Zero) -> new_primModNatS02(vyv330, vyv331) 248.87/165.25 new_primModNatS01(vyv330, vyv331, Zero, Succ(vyv3330)) -> Succ(Succ(vyv330)) 248.87/165.25 new_primMinusNatS2(Succ(vyv3100), Succ(vyv3110)) -> new_primMinusNatS2(vyv3100, vyv3110) 248.87/165.25 new_primModNatS1(Succ(Zero), Succ(vyv291000)) -> Succ(Zero) 248.87/165.25 new_primModNatS1(Zero, vyv29100) -> Zero 248.87/165.25 new_primMinusNatS2(Zero, Zero) -> Zero 248.87/165.25 new_primMinusNatS2(Zero, Succ(vyv3110)) -> Zero 248.87/165.25 new_primMinusNatS2(Succ(vyv3100), Zero) -> Succ(vyv3100) 248.87/165.25 new_esEs(Neg(Succ(vyv24100))) -> new_primEqInt(Neg(Succ(vyv24100))) 248.87/165.25 new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) 248.87/165.25 new_primEqInt(Neg(Zero)) -> True 248.87/165.25 new_primEqInt(Neg(Succ(vyv242000))) -> False 248.87/165.25 248.87/165.25 The set Q consists of the following terms: 248.87/165.25 248.87/165.25 new_primModNatS1(Succ(Zero), Succ(x0)) 248.87/165.25 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 248.87/165.25 new_primEqInt(Pos(Zero)) 248.87/165.25 new_primModNatS02(x0, x1) 248.87/165.25 new_primModNatS01(x0, x1, Succ(x2), Zero) 248.87/165.25 new_primModNatS01(x0, x1, Zero, Succ(x2)) 248.87/165.25 new_primMinusNatS2(Zero, Zero) 248.87/165.25 new_esEs(Neg(Succ(x0))) 248.87/165.25 new_primMinusNatS2(Zero, Succ(x0)) 248.87/165.25 new_primModNatS1(Succ(Zero), Zero) 248.87/165.25 new_esEs(Pos(Zero)) 248.87/165.25 new_primEqInt(Neg(Succ(x0))) 248.87/165.25 new_primMinusNatS2(Succ(x0), Zero) 248.87/165.25 new_primEqInt(Neg(Zero)) 248.87/165.25 new_primModNatS01(x0, x1, Zero, Zero) 248.87/165.25 new_primEqInt(Pos(Succ(x0))) 248.87/165.25 new_primMinusNatS2(Succ(x0), Succ(x1)) 248.87/165.25 new_primModNatS1(Succ(Succ(x0)), Zero) 248.87/165.25 new_primModNatS1(Zero, x0) 248.87/165.25 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 248.87/165.25 new_esEs(Neg(Zero)) 248.87/165.25 new_esEs(Pos(Succ(x0))) 248.87/165.25 248.87/165.25 We have to consider all minimal (P,Q,R)-chains. 248.87/165.25 ---------------------------------------- 248.87/165.25 248.87/165.25 (599) TransformationProof (EQUIVALENT) 248.87/165.25 By rewriting [LPAR04] the rule new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS02(Succ(x2), Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) at position [0,0,0] we obtained the following new rules [LPAR04]: 248.87/165.25 248.87/165.25 (new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))),new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))))) 248.87/165.25 248.87/165.25 248.87/165.25 ---------------------------------------- 248.87/165.25 248.87/165.25 (600) 248.87/165.25 Obligation: 248.87/165.25 Q DP problem: 248.87/165.25 The TRS P consists of the following rules: 248.87/165.25 248.87/165.25 new_gcd0Gcd'1(False, Neg(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x1))), Neg(new_primModNatS01(x0, x1, x0, x1))) 248.87/165.25 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) 248.87/165.25 new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Neg(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 248.87/165.25 new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Zero), Succ(Zero)), Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) 248.87/165.25 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) 248.87/165.25 248.87/165.25 The TRS R consists of the following rules: 248.87/165.25 248.87/165.25 new_primModNatS1(Succ(Succ(vyv292000)), Succ(vyv291000)) -> new_primModNatS01(vyv292000, vyv291000, vyv292000, vyv291000) 248.87/165.25 new_primModNatS01(vyv330, vyv331, Zero, Zero) -> new_primModNatS02(vyv330, vyv331) 248.87/165.25 new_primModNatS02(vyv330, vyv331) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv330), Succ(vyv331)), Succ(vyv331)) 248.87/165.25 new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Succ(vyv3330)) -> new_primModNatS01(vyv330, vyv331, vyv3320, vyv3330) 248.87/165.25 new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Zero) -> new_primModNatS02(vyv330, vyv331) 248.87/165.25 new_primModNatS01(vyv330, vyv331, Zero, Succ(vyv3330)) -> Succ(Succ(vyv330)) 248.87/165.25 new_primMinusNatS2(Succ(vyv3100), Succ(vyv3110)) -> new_primMinusNatS2(vyv3100, vyv3110) 248.87/165.25 new_primModNatS1(Succ(Zero), Succ(vyv291000)) -> Succ(Zero) 248.87/165.25 new_primModNatS1(Zero, vyv29100) -> Zero 248.87/165.25 new_primMinusNatS2(Zero, Zero) -> Zero 248.87/165.25 new_primMinusNatS2(Zero, Succ(vyv3110)) -> Zero 248.87/165.25 new_primMinusNatS2(Succ(vyv3100), Zero) -> Succ(vyv3100) 248.87/165.25 new_esEs(Neg(Succ(vyv24100))) -> new_primEqInt(Neg(Succ(vyv24100))) 248.87/165.25 new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) 248.87/165.25 new_primEqInt(Neg(Zero)) -> True 248.87/165.25 new_primEqInt(Neg(Succ(vyv242000))) -> False 248.87/165.25 248.87/165.25 The set Q consists of the following terms: 248.87/165.25 248.87/165.25 new_primModNatS1(Succ(Zero), Succ(x0)) 248.87/165.25 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 248.87/165.25 new_primEqInt(Pos(Zero)) 248.87/165.25 new_primModNatS02(x0, x1) 248.87/165.25 new_primModNatS01(x0, x1, Succ(x2), Zero) 248.87/165.25 new_primModNatS01(x0, x1, Zero, Succ(x2)) 248.87/165.25 new_primMinusNatS2(Zero, Zero) 248.87/165.25 new_esEs(Neg(Succ(x0))) 248.87/165.25 new_primMinusNatS2(Zero, Succ(x0)) 248.87/165.25 new_primModNatS1(Succ(Zero), Zero) 248.87/165.25 new_esEs(Pos(Zero)) 248.87/165.25 new_primEqInt(Neg(Succ(x0))) 248.87/165.25 new_primMinusNatS2(Succ(x0), Zero) 248.87/165.25 new_primEqInt(Neg(Zero)) 248.87/165.25 new_primModNatS01(x0, x1, Zero, Zero) 248.87/165.25 new_primEqInt(Pos(Succ(x0))) 248.87/165.25 new_primMinusNatS2(Succ(x0), Succ(x1)) 248.87/165.25 new_primModNatS1(Succ(Succ(x0)), Zero) 248.87/165.25 new_primModNatS1(Zero, x0) 248.87/165.25 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 248.87/165.25 new_esEs(Neg(Zero)) 248.87/165.25 new_esEs(Pos(Succ(x0))) 248.87/165.25 248.87/165.25 We have to consider all minimal (P,Q,R)-chains. 248.87/165.25 ---------------------------------------- 248.87/165.25 248.87/165.25 (601) TransformationProof (EQUIVALENT) 248.87/165.25 By rewriting [LPAR04] the rule new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Neg(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) at position [0] we obtained the following new rules [LPAR04]: 248.87/165.25 248.87/165.25 (new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_primEqInt(Neg(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))),new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_primEqInt(Neg(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))))) 248.87/165.25 248.87/165.25 248.87/165.25 ---------------------------------------- 248.87/165.25 248.87/165.25 (602) 248.87/165.25 Obligation: 248.87/165.25 Q DP problem: 248.87/165.25 The TRS P consists of the following rules: 248.87/165.25 248.87/165.25 new_gcd0Gcd'1(False, Neg(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x1))), Neg(new_primModNatS01(x0, x1, x0, x1))) 248.87/165.25 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) 248.87/165.25 new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Zero), Succ(Zero)), Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) 248.87/165.25 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) 248.87/165.25 new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_primEqInt(Neg(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 248.87/165.25 248.87/165.25 The TRS R consists of the following rules: 248.87/165.25 248.87/165.25 new_primModNatS1(Succ(Succ(vyv292000)), Succ(vyv291000)) -> new_primModNatS01(vyv292000, vyv291000, vyv292000, vyv291000) 248.87/165.25 new_primModNatS01(vyv330, vyv331, Zero, Zero) -> new_primModNatS02(vyv330, vyv331) 248.87/165.25 new_primModNatS02(vyv330, vyv331) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv330), Succ(vyv331)), Succ(vyv331)) 248.87/165.25 new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Succ(vyv3330)) -> new_primModNatS01(vyv330, vyv331, vyv3320, vyv3330) 248.87/165.25 new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Zero) -> new_primModNatS02(vyv330, vyv331) 248.87/165.25 new_primModNatS01(vyv330, vyv331, Zero, Succ(vyv3330)) -> Succ(Succ(vyv330)) 248.87/165.25 new_primMinusNatS2(Succ(vyv3100), Succ(vyv3110)) -> new_primMinusNatS2(vyv3100, vyv3110) 248.87/165.25 new_primModNatS1(Succ(Zero), Succ(vyv291000)) -> Succ(Zero) 248.87/165.25 new_primModNatS1(Zero, vyv29100) -> Zero 248.87/165.25 new_primMinusNatS2(Zero, Zero) -> Zero 248.87/165.25 new_primMinusNatS2(Zero, Succ(vyv3110)) -> Zero 248.87/165.25 new_primMinusNatS2(Succ(vyv3100), Zero) -> Succ(vyv3100) 248.87/165.25 new_esEs(Neg(Succ(vyv24100))) -> new_primEqInt(Neg(Succ(vyv24100))) 248.87/165.25 new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) 248.87/165.25 new_primEqInt(Neg(Zero)) -> True 248.87/165.25 new_primEqInt(Neg(Succ(vyv242000))) -> False 248.87/165.25 248.87/165.25 The set Q consists of the following terms: 248.87/165.25 248.87/165.25 new_primModNatS1(Succ(Zero), Succ(x0)) 248.87/165.25 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 248.87/165.25 new_primEqInt(Pos(Zero)) 248.87/165.25 new_primModNatS02(x0, x1) 248.87/165.25 new_primModNatS01(x0, x1, Succ(x2), Zero) 248.87/165.25 new_primModNatS01(x0, x1, Zero, Succ(x2)) 248.87/165.25 new_primMinusNatS2(Zero, Zero) 248.87/165.25 new_esEs(Neg(Succ(x0))) 248.87/165.25 new_primMinusNatS2(Zero, Succ(x0)) 248.87/165.25 new_primModNatS1(Succ(Zero), Zero) 248.87/165.25 new_esEs(Pos(Zero)) 248.87/165.25 new_primEqInt(Neg(Succ(x0))) 248.87/165.25 new_primMinusNatS2(Succ(x0), Zero) 248.87/165.25 new_primEqInt(Neg(Zero)) 248.87/165.25 new_primModNatS01(x0, x1, Zero, Zero) 248.87/165.25 new_primEqInt(Pos(Succ(x0))) 248.87/165.25 new_primMinusNatS2(Succ(x0), Succ(x1)) 248.87/165.25 new_primModNatS1(Succ(Succ(x0)), Zero) 248.87/165.25 new_primModNatS1(Zero, x0) 248.87/165.25 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 248.87/165.25 new_esEs(Neg(Zero)) 248.87/165.25 new_esEs(Pos(Succ(x0))) 248.87/165.25 248.87/165.25 We have to consider all minimal (P,Q,R)-chains. 248.87/165.25 ---------------------------------------- 248.87/165.25 248.87/165.25 (603) TransformationProof (EQUIVALENT) 248.87/165.25 By rewriting [LPAR04] the rule new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Zero), Succ(Zero)), Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) at position [0,0,0,0] we obtained the following new rules [LPAR04]: 248.87/165.25 248.87/165.25 (new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS2(Zero, Zero), Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))),new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS2(Zero, Zero), Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))))) 248.87/165.25 248.87/165.25 248.87/165.25 ---------------------------------------- 248.87/165.25 248.87/165.25 (604) 248.87/165.25 Obligation: 248.87/165.25 Q DP problem: 248.87/165.25 The TRS P consists of the following rules: 248.87/165.25 248.87/165.25 new_gcd0Gcd'1(False, Neg(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x1))), Neg(new_primModNatS01(x0, x1, x0, x1))) 248.87/165.25 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) 248.87/165.25 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) 248.87/165.25 new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_primEqInt(Neg(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 248.87/165.25 new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS2(Zero, Zero), Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) 248.87/165.25 248.87/165.25 The TRS R consists of the following rules: 248.87/165.25 248.87/165.25 new_primModNatS1(Succ(Succ(vyv292000)), Succ(vyv291000)) -> new_primModNatS01(vyv292000, vyv291000, vyv292000, vyv291000) 248.87/165.25 new_primModNatS01(vyv330, vyv331, Zero, Zero) -> new_primModNatS02(vyv330, vyv331) 248.87/165.25 new_primModNatS02(vyv330, vyv331) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv330), Succ(vyv331)), Succ(vyv331)) 248.87/165.25 new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Succ(vyv3330)) -> new_primModNatS01(vyv330, vyv331, vyv3320, vyv3330) 248.87/165.25 new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Zero) -> new_primModNatS02(vyv330, vyv331) 248.87/165.25 new_primModNatS01(vyv330, vyv331, Zero, Succ(vyv3330)) -> Succ(Succ(vyv330)) 248.87/165.25 new_primMinusNatS2(Succ(vyv3100), Succ(vyv3110)) -> new_primMinusNatS2(vyv3100, vyv3110) 248.87/165.25 new_primModNatS1(Succ(Zero), Succ(vyv291000)) -> Succ(Zero) 248.87/165.25 new_primModNatS1(Zero, vyv29100) -> Zero 248.87/165.25 new_primMinusNatS2(Zero, Zero) -> Zero 248.87/165.25 new_primMinusNatS2(Zero, Succ(vyv3110)) -> Zero 248.87/165.25 new_primMinusNatS2(Succ(vyv3100), Zero) -> Succ(vyv3100) 248.87/165.25 new_esEs(Neg(Succ(vyv24100))) -> new_primEqInt(Neg(Succ(vyv24100))) 248.87/165.25 new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) 248.87/165.25 new_primEqInt(Neg(Zero)) -> True 248.87/165.25 new_primEqInt(Neg(Succ(vyv242000))) -> False 248.87/165.25 248.87/165.25 The set Q consists of the following terms: 248.87/165.25 248.87/165.25 new_primModNatS1(Succ(Zero), Succ(x0)) 248.87/165.25 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 248.87/165.25 new_primEqInt(Pos(Zero)) 248.87/165.25 new_primModNatS02(x0, x1) 248.87/165.25 new_primModNatS01(x0, x1, Succ(x2), Zero) 248.87/165.25 new_primModNatS01(x0, x1, Zero, Succ(x2)) 248.87/165.25 new_primMinusNatS2(Zero, Zero) 248.87/165.25 new_esEs(Neg(Succ(x0))) 248.87/165.25 new_primMinusNatS2(Zero, Succ(x0)) 248.87/165.25 new_primModNatS1(Succ(Zero), Zero) 248.87/165.25 new_esEs(Pos(Zero)) 248.87/165.25 new_primEqInt(Neg(Succ(x0))) 248.87/165.25 new_primMinusNatS2(Succ(x0), Zero) 248.87/165.25 new_primEqInt(Neg(Zero)) 248.87/165.25 new_primModNatS01(x0, x1, Zero, Zero) 248.87/165.25 new_primEqInt(Pos(Succ(x0))) 248.87/165.25 new_primMinusNatS2(Succ(x0), Succ(x1)) 248.87/165.25 new_primModNatS1(Succ(Succ(x0)), Zero) 248.87/165.25 new_primModNatS1(Zero, x0) 248.87/165.25 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 248.87/165.25 new_esEs(Neg(Zero)) 248.87/165.25 new_esEs(Pos(Succ(x0))) 248.87/165.25 248.87/165.25 We have to consider all minimal (P,Q,R)-chains. 248.87/165.25 ---------------------------------------- 248.87/165.25 248.87/165.25 (605) TransformationProof (EQUIVALENT) 248.87/165.25 By rewriting [LPAR04] the rule new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) at position [0,0,0,0] we obtained the following new rules [LPAR04]: 248.87/165.25 248.87/165.25 (new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))),new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))))) 248.87/165.25 248.87/165.25 248.87/165.25 ---------------------------------------- 248.87/165.25 248.87/165.25 (606) 248.87/165.25 Obligation: 248.87/165.25 Q DP problem: 248.87/165.25 The TRS P consists of the following rules: 248.87/165.25 248.87/165.25 new_gcd0Gcd'1(False, Neg(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x1))), Neg(new_primModNatS01(x0, x1, x0, x1))) 248.87/165.25 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) 248.87/165.25 new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_primEqInt(Neg(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 248.87/165.25 new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS2(Zero, Zero), Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) 248.87/165.25 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) 248.87/165.25 248.87/165.25 The TRS R consists of the following rules: 248.87/165.25 248.87/165.25 new_primModNatS1(Succ(Succ(vyv292000)), Succ(vyv291000)) -> new_primModNatS01(vyv292000, vyv291000, vyv292000, vyv291000) 248.87/165.25 new_primModNatS01(vyv330, vyv331, Zero, Zero) -> new_primModNatS02(vyv330, vyv331) 248.87/165.25 new_primModNatS02(vyv330, vyv331) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv330), Succ(vyv331)), Succ(vyv331)) 248.87/165.25 new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Succ(vyv3330)) -> new_primModNatS01(vyv330, vyv331, vyv3320, vyv3330) 248.87/165.25 new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Zero) -> new_primModNatS02(vyv330, vyv331) 248.87/165.25 new_primModNatS01(vyv330, vyv331, Zero, Succ(vyv3330)) -> Succ(Succ(vyv330)) 248.87/165.25 new_primMinusNatS2(Succ(vyv3100), Succ(vyv3110)) -> new_primMinusNatS2(vyv3100, vyv3110) 248.87/165.25 new_primModNatS1(Succ(Zero), Succ(vyv291000)) -> Succ(Zero) 248.87/165.25 new_primModNatS1(Zero, vyv29100) -> Zero 248.87/165.25 new_primMinusNatS2(Zero, Zero) -> Zero 248.87/165.25 new_primMinusNatS2(Zero, Succ(vyv3110)) -> Zero 248.87/165.25 new_primMinusNatS2(Succ(vyv3100), Zero) -> Succ(vyv3100) 248.87/165.25 new_esEs(Neg(Succ(vyv24100))) -> new_primEqInt(Neg(Succ(vyv24100))) 248.87/165.25 new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) 248.87/165.25 new_primEqInt(Neg(Zero)) -> True 248.87/165.25 new_primEqInt(Neg(Succ(vyv242000))) -> False 248.87/165.25 248.87/165.25 The set Q consists of the following terms: 248.87/165.25 248.87/165.25 new_primModNatS1(Succ(Zero), Succ(x0)) 248.87/165.25 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 248.87/165.25 new_primEqInt(Pos(Zero)) 248.87/165.25 new_primModNatS02(x0, x1) 248.87/165.25 new_primModNatS01(x0, x1, Succ(x2), Zero) 248.87/165.25 new_primModNatS01(x0, x1, Zero, Succ(x2)) 248.87/165.25 new_primMinusNatS2(Zero, Zero) 248.87/165.25 new_esEs(Neg(Succ(x0))) 248.87/165.25 new_primMinusNatS2(Zero, Succ(x0)) 248.87/165.25 new_primModNatS1(Succ(Zero), Zero) 248.87/165.25 new_esEs(Pos(Zero)) 248.87/165.25 new_primEqInt(Neg(Succ(x0))) 248.87/165.25 new_primMinusNatS2(Succ(x0), Zero) 248.87/165.25 new_primEqInt(Neg(Zero)) 248.87/165.25 new_primModNatS01(x0, x1, Zero, Zero) 248.87/165.25 new_primEqInt(Pos(Succ(x0))) 248.87/165.25 new_primMinusNatS2(Succ(x0), Succ(x1)) 248.87/165.25 new_primModNatS1(Succ(Succ(x0)), Zero) 248.87/165.25 new_primModNatS1(Zero, x0) 248.87/165.25 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 248.87/165.25 new_esEs(Neg(Zero)) 248.87/165.25 new_esEs(Pos(Succ(x0))) 248.87/165.25 248.87/165.25 We have to consider all minimal (P,Q,R)-chains. 248.87/165.25 ---------------------------------------- 248.87/165.25 248.87/165.25 (607) TransformationProof (EQUIVALENT) 248.87/165.25 By rewriting [LPAR04] the rule new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_primEqInt(Neg(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) at position [0] we obtained the following new rules [LPAR04]: 248.87/165.25 248.87/165.25 (new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))),new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))))) 248.87/165.25 248.87/165.25 248.87/165.25 ---------------------------------------- 248.87/165.25 248.87/165.25 (608) 248.87/165.25 Obligation: 248.87/165.25 Q DP problem: 248.87/165.25 The TRS P consists of the following rules: 248.87/165.25 248.87/165.25 new_gcd0Gcd'1(False, Neg(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x1))), Neg(new_primModNatS01(x0, x1, x0, x1))) 248.87/165.25 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) 248.87/165.25 new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS2(Zero, Zero), Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) 248.87/165.25 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) 248.87/165.25 new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 248.87/165.25 248.87/165.25 The TRS R consists of the following rules: 248.87/165.25 248.87/165.25 new_primModNatS1(Succ(Succ(vyv292000)), Succ(vyv291000)) -> new_primModNatS01(vyv292000, vyv291000, vyv292000, vyv291000) 248.87/165.25 new_primModNatS01(vyv330, vyv331, Zero, Zero) -> new_primModNatS02(vyv330, vyv331) 248.87/165.25 new_primModNatS02(vyv330, vyv331) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv330), Succ(vyv331)), Succ(vyv331)) 248.87/165.25 new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Succ(vyv3330)) -> new_primModNatS01(vyv330, vyv331, vyv3320, vyv3330) 248.87/165.25 new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Zero) -> new_primModNatS02(vyv330, vyv331) 248.87/165.25 new_primModNatS01(vyv330, vyv331, Zero, Succ(vyv3330)) -> Succ(Succ(vyv330)) 248.87/165.25 new_primMinusNatS2(Succ(vyv3100), Succ(vyv3110)) -> new_primMinusNatS2(vyv3100, vyv3110) 248.87/165.25 new_primModNatS1(Succ(Zero), Succ(vyv291000)) -> Succ(Zero) 248.87/165.25 new_primModNatS1(Zero, vyv29100) -> Zero 248.87/165.25 new_primMinusNatS2(Zero, Zero) -> Zero 248.87/165.25 new_primMinusNatS2(Zero, Succ(vyv3110)) -> Zero 248.87/165.25 new_primMinusNatS2(Succ(vyv3100), Zero) -> Succ(vyv3100) 248.87/165.25 new_esEs(Neg(Succ(vyv24100))) -> new_primEqInt(Neg(Succ(vyv24100))) 248.87/165.25 new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) 248.87/165.25 new_primEqInt(Neg(Zero)) -> True 248.87/165.25 new_primEqInt(Neg(Succ(vyv242000))) -> False 248.87/165.25 248.87/165.25 The set Q consists of the following terms: 248.87/165.25 248.87/165.25 new_primModNatS1(Succ(Zero), Succ(x0)) 248.87/165.25 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 248.87/165.25 new_primEqInt(Pos(Zero)) 248.87/165.25 new_primModNatS02(x0, x1) 248.87/165.25 new_primModNatS01(x0, x1, Succ(x2), Zero) 248.87/165.25 new_primModNatS01(x0, x1, Zero, Succ(x2)) 248.87/165.25 new_primMinusNatS2(Zero, Zero) 248.87/165.25 new_esEs(Neg(Succ(x0))) 248.87/165.25 new_primMinusNatS2(Zero, Succ(x0)) 248.87/165.25 new_primModNatS1(Succ(Zero), Zero) 248.87/165.25 new_esEs(Pos(Zero)) 248.87/165.25 new_primEqInt(Neg(Succ(x0))) 248.87/165.25 new_primMinusNatS2(Succ(x0), Zero) 248.87/165.25 new_primEqInt(Neg(Zero)) 248.87/165.25 new_primModNatS01(x0, x1, Zero, Zero) 248.87/165.25 new_primEqInt(Pos(Succ(x0))) 248.87/165.25 new_primMinusNatS2(Succ(x0), Succ(x1)) 248.87/165.25 new_primModNatS1(Succ(Succ(x0)), Zero) 248.87/165.25 new_primModNatS1(Zero, x0) 248.87/165.25 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 248.87/165.25 new_esEs(Neg(Zero)) 248.87/165.25 new_esEs(Pos(Succ(x0))) 248.87/165.25 248.87/165.25 We have to consider all minimal (P,Q,R)-chains. 248.87/165.25 ---------------------------------------- 248.87/165.25 248.87/165.25 (609) TransformationProof (EQUIVALENT) 248.87/165.25 By rewriting [LPAR04] the rule new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS2(Zero, Zero), Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) at position [0,0,0,0] we obtained the following new rules [LPAR04]: 248.87/165.25 248.87/165.25 (new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Zero, Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))),new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Zero, Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))))) 248.87/165.25 248.87/165.25 248.87/165.25 ---------------------------------------- 248.87/165.25 248.87/165.25 (610) 248.87/165.25 Obligation: 248.87/165.25 Q DP problem: 248.87/165.25 The TRS P consists of the following rules: 248.87/165.25 248.87/165.25 new_gcd0Gcd'1(False, Neg(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x1))), Neg(new_primModNatS01(x0, x1, x0, x1))) 248.87/165.25 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) 248.87/165.25 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) 248.87/165.25 new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 248.87/165.25 new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Zero, Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) 248.87/165.25 248.87/165.25 The TRS R consists of the following rules: 248.87/165.25 248.87/165.25 new_primModNatS1(Succ(Succ(vyv292000)), Succ(vyv291000)) -> new_primModNatS01(vyv292000, vyv291000, vyv292000, vyv291000) 248.87/165.25 new_primModNatS01(vyv330, vyv331, Zero, Zero) -> new_primModNatS02(vyv330, vyv331) 248.87/165.25 new_primModNatS02(vyv330, vyv331) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv330), Succ(vyv331)), Succ(vyv331)) 248.87/165.25 new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Succ(vyv3330)) -> new_primModNatS01(vyv330, vyv331, vyv3320, vyv3330) 248.87/165.25 new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Zero) -> new_primModNatS02(vyv330, vyv331) 248.87/165.25 new_primModNatS01(vyv330, vyv331, Zero, Succ(vyv3330)) -> Succ(Succ(vyv330)) 248.87/165.25 new_primMinusNatS2(Succ(vyv3100), Succ(vyv3110)) -> new_primMinusNatS2(vyv3100, vyv3110) 248.87/165.25 new_primModNatS1(Succ(Zero), Succ(vyv291000)) -> Succ(Zero) 248.87/165.25 new_primModNatS1(Zero, vyv29100) -> Zero 248.87/165.25 new_primMinusNatS2(Zero, Zero) -> Zero 248.87/165.25 new_primMinusNatS2(Zero, Succ(vyv3110)) -> Zero 248.87/165.25 new_primMinusNatS2(Succ(vyv3100), Zero) -> Succ(vyv3100) 248.87/165.25 new_esEs(Neg(Succ(vyv24100))) -> new_primEqInt(Neg(Succ(vyv24100))) 248.87/165.25 new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) 248.87/165.25 new_primEqInt(Neg(Zero)) -> True 248.87/165.25 new_primEqInt(Neg(Succ(vyv242000))) -> False 248.87/165.25 248.87/165.25 The set Q consists of the following terms: 248.87/165.25 248.87/165.25 new_primModNatS1(Succ(Zero), Succ(x0)) 248.87/165.25 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 248.87/165.25 new_primEqInt(Pos(Zero)) 248.87/165.25 new_primModNatS02(x0, x1) 248.87/165.25 new_primModNatS01(x0, x1, Succ(x2), Zero) 248.87/165.25 new_primModNatS01(x0, x1, Zero, Succ(x2)) 248.87/165.25 new_primMinusNatS2(Zero, Zero) 248.87/165.25 new_esEs(Neg(Succ(x0))) 248.87/165.25 new_primMinusNatS2(Zero, Succ(x0)) 248.87/165.25 new_primModNatS1(Succ(Zero), Zero) 248.87/165.25 new_esEs(Pos(Zero)) 248.87/165.25 new_primEqInt(Neg(Succ(x0))) 248.87/165.25 new_primMinusNatS2(Succ(x0), Zero) 248.87/165.25 new_primEqInt(Neg(Zero)) 248.87/165.25 new_primModNatS01(x0, x1, Zero, Zero) 248.87/165.25 new_primEqInt(Pos(Succ(x0))) 248.87/165.25 new_primMinusNatS2(Succ(x0), Succ(x1)) 248.87/165.25 new_primModNatS1(Succ(Succ(x0)), Zero) 248.87/165.25 new_primModNatS1(Zero, x0) 248.87/165.25 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 248.87/165.25 new_esEs(Neg(Zero)) 248.87/165.25 new_esEs(Pos(Succ(x0))) 248.87/165.25 248.87/165.25 We have to consider all minimal (P,Q,R)-chains. 248.87/165.25 ---------------------------------------- 248.87/165.25 248.87/165.25 (611) TransformationProof (EQUIVALENT) 248.87/165.25 By rewriting [LPAR04] the rule new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) at position [0,0,0,0] we obtained the following new rules [LPAR04]: 248.87/165.25 248.87/165.25 (new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))),new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))))) 248.87/165.25 248.87/165.25 248.87/165.25 ---------------------------------------- 248.87/165.25 248.87/165.25 (612) 248.87/165.25 Obligation: 248.87/165.25 Q DP problem: 248.87/165.25 The TRS P consists of the following rules: 248.87/165.25 248.87/165.25 new_gcd0Gcd'1(False, Neg(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x1))), Neg(new_primModNatS01(x0, x1, x0, x1))) 248.87/165.25 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) 248.87/165.25 new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 248.87/165.25 new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Zero, Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) 248.87/165.25 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) 248.87/165.25 248.87/165.25 The TRS R consists of the following rules: 248.87/165.25 248.87/165.25 new_primModNatS1(Succ(Succ(vyv292000)), Succ(vyv291000)) -> new_primModNatS01(vyv292000, vyv291000, vyv292000, vyv291000) 248.87/165.25 new_primModNatS01(vyv330, vyv331, Zero, Zero) -> new_primModNatS02(vyv330, vyv331) 248.87/165.25 new_primModNatS02(vyv330, vyv331) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv330), Succ(vyv331)), Succ(vyv331)) 248.87/165.25 new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Succ(vyv3330)) -> new_primModNatS01(vyv330, vyv331, vyv3320, vyv3330) 248.87/165.25 new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Zero) -> new_primModNatS02(vyv330, vyv331) 248.87/165.25 new_primModNatS01(vyv330, vyv331, Zero, Succ(vyv3330)) -> Succ(Succ(vyv330)) 248.87/165.25 new_primMinusNatS2(Succ(vyv3100), Succ(vyv3110)) -> new_primMinusNatS2(vyv3100, vyv3110) 248.87/165.25 new_primModNatS1(Succ(Zero), Succ(vyv291000)) -> Succ(Zero) 248.87/165.25 new_primModNatS1(Zero, vyv29100) -> Zero 248.87/165.25 new_primMinusNatS2(Zero, Zero) -> Zero 248.87/165.25 new_primMinusNatS2(Zero, Succ(vyv3110)) -> Zero 248.87/165.25 new_primMinusNatS2(Succ(vyv3100), Zero) -> Succ(vyv3100) 248.87/165.25 new_esEs(Neg(Succ(vyv24100))) -> new_primEqInt(Neg(Succ(vyv24100))) 248.87/165.25 new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) 248.87/165.25 new_primEqInt(Neg(Zero)) -> True 248.87/165.25 new_primEqInt(Neg(Succ(vyv242000))) -> False 248.87/165.25 248.87/165.25 The set Q consists of the following terms: 248.87/165.25 248.87/165.25 new_primModNatS1(Succ(Zero), Succ(x0)) 248.87/165.25 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 248.87/165.25 new_primEqInt(Pos(Zero)) 248.87/165.25 new_primModNatS02(x0, x1) 248.87/165.25 new_primModNatS01(x0, x1, Succ(x2), Zero) 248.87/165.25 new_primModNatS01(x0, x1, Zero, Succ(x2)) 248.87/165.25 new_primMinusNatS2(Zero, Zero) 248.87/165.25 new_esEs(Neg(Succ(x0))) 248.87/165.25 new_primMinusNatS2(Zero, Succ(x0)) 248.87/165.25 new_primModNatS1(Succ(Zero), Zero) 248.87/165.25 new_esEs(Pos(Zero)) 248.87/165.25 new_primEqInt(Neg(Succ(x0))) 248.87/165.25 new_primMinusNatS2(Succ(x0), Zero) 248.87/165.25 new_primEqInt(Neg(Zero)) 248.87/165.25 new_primModNatS01(x0, x1, Zero, Zero) 248.87/165.25 new_primEqInt(Pos(Succ(x0))) 248.87/165.25 new_primMinusNatS2(Succ(x0), Succ(x1)) 248.87/165.25 new_primModNatS1(Succ(Succ(x0)), Zero) 248.87/165.25 new_primModNatS1(Zero, x0) 248.87/165.25 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 248.87/165.25 new_esEs(Neg(Zero)) 248.87/165.25 new_esEs(Pos(Succ(x0))) 248.87/165.25 248.87/165.25 We have to consider all minimal (P,Q,R)-chains. 248.87/165.25 ---------------------------------------- 248.87/165.25 248.87/165.25 (613) TransformationProof (EQUIVALENT) 248.87/165.25 By rewriting [LPAR04] the rule new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Zero, Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) at position [0,0,0] we obtained the following new rules [LPAR04]: 248.87/165.25 248.87/165.25 (new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Neg(Zero)), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))),new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Neg(Zero)), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))))) 248.87/165.25 248.87/165.25 248.87/165.25 ---------------------------------------- 248.87/165.25 248.87/165.25 (614) 248.87/165.25 Obligation: 248.87/165.25 Q DP problem: 248.87/165.25 The TRS P consists of the following rules: 248.87/165.25 248.87/165.25 new_gcd0Gcd'1(False, Neg(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x1))), Neg(new_primModNatS01(x0, x1, x0, x1))) 248.87/165.25 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) 248.87/165.25 new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 248.87/165.25 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) 248.87/165.25 new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Neg(Zero)), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) 248.87/165.25 248.87/165.25 The TRS R consists of the following rules: 248.87/165.25 248.87/165.25 new_primModNatS1(Succ(Succ(vyv292000)), Succ(vyv291000)) -> new_primModNatS01(vyv292000, vyv291000, vyv292000, vyv291000) 248.87/165.25 new_primModNatS01(vyv330, vyv331, Zero, Zero) -> new_primModNatS02(vyv330, vyv331) 248.87/165.25 new_primModNatS02(vyv330, vyv331) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv330), Succ(vyv331)), Succ(vyv331)) 248.87/165.25 new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Succ(vyv3330)) -> new_primModNatS01(vyv330, vyv331, vyv3320, vyv3330) 248.87/165.25 new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Zero) -> new_primModNatS02(vyv330, vyv331) 248.87/165.25 new_primModNatS01(vyv330, vyv331, Zero, Succ(vyv3330)) -> Succ(Succ(vyv330)) 248.87/165.25 new_primMinusNatS2(Succ(vyv3100), Succ(vyv3110)) -> new_primMinusNatS2(vyv3100, vyv3110) 248.87/165.25 new_primModNatS1(Succ(Zero), Succ(vyv291000)) -> Succ(Zero) 248.87/165.25 new_primModNatS1(Zero, vyv29100) -> Zero 248.87/165.25 new_primMinusNatS2(Zero, Zero) -> Zero 248.87/165.25 new_primMinusNatS2(Zero, Succ(vyv3110)) -> Zero 248.87/165.25 new_primMinusNatS2(Succ(vyv3100), Zero) -> Succ(vyv3100) 248.87/165.25 new_esEs(Neg(Succ(vyv24100))) -> new_primEqInt(Neg(Succ(vyv24100))) 248.87/165.25 new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) 248.87/165.25 new_primEqInt(Neg(Zero)) -> True 248.87/165.25 new_primEqInt(Neg(Succ(vyv242000))) -> False 248.87/165.25 248.87/165.25 The set Q consists of the following terms: 248.87/165.25 248.87/165.25 new_primModNatS1(Succ(Zero), Succ(x0)) 248.87/165.25 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 248.87/165.25 new_primEqInt(Pos(Zero)) 248.87/165.25 new_primModNatS02(x0, x1) 248.87/165.25 new_primModNatS01(x0, x1, Succ(x2), Zero) 248.87/165.25 new_primModNatS01(x0, x1, Zero, Succ(x2)) 248.87/165.25 new_primMinusNatS2(Zero, Zero) 248.87/165.25 new_esEs(Neg(Succ(x0))) 248.87/165.25 new_primMinusNatS2(Zero, Succ(x0)) 248.87/165.25 new_primModNatS1(Succ(Zero), Zero) 248.87/165.25 new_esEs(Pos(Zero)) 248.87/165.25 new_primEqInt(Neg(Succ(x0))) 248.87/165.25 new_primMinusNatS2(Succ(x0), Zero) 248.87/165.25 new_primEqInt(Neg(Zero)) 248.87/165.25 new_primModNatS01(x0, x1, Zero, Zero) 248.87/165.25 new_primEqInt(Pos(Succ(x0))) 248.87/165.25 new_primMinusNatS2(Succ(x0), Succ(x1)) 248.87/165.25 new_primModNatS1(Succ(Succ(x0)), Zero) 248.87/165.25 new_primModNatS1(Zero, x0) 248.87/165.25 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 248.87/165.25 new_esEs(Neg(Zero)) 248.87/165.25 new_esEs(Pos(Succ(x0))) 248.87/165.25 248.87/165.25 We have to consider all minimal (P,Q,R)-chains. 248.87/165.25 ---------------------------------------- 248.87/165.25 248.87/165.25 (615) DependencyGraphProof (EQUIVALENT) 248.87/165.25 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. 248.87/165.25 ---------------------------------------- 248.87/165.25 248.87/165.25 (616) 248.87/165.25 Obligation: 248.87/165.25 Q DP problem: 248.87/165.25 The TRS P consists of the following rules: 248.87/165.25 248.87/165.25 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) 248.87/165.25 new_gcd0Gcd'1(False, Neg(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x1))), Neg(new_primModNatS01(x0, x1, x0, x1))) 248.87/165.25 new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 248.87/165.25 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) 248.87/165.25 248.87/165.25 The TRS R consists of the following rules: 248.87/165.25 248.87/165.25 new_primModNatS1(Succ(Succ(vyv292000)), Succ(vyv291000)) -> new_primModNatS01(vyv292000, vyv291000, vyv292000, vyv291000) 248.87/165.25 new_primModNatS01(vyv330, vyv331, Zero, Zero) -> new_primModNatS02(vyv330, vyv331) 248.87/165.25 new_primModNatS02(vyv330, vyv331) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv330), Succ(vyv331)), Succ(vyv331)) 248.87/165.25 new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Succ(vyv3330)) -> new_primModNatS01(vyv330, vyv331, vyv3320, vyv3330) 248.87/165.25 new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Zero) -> new_primModNatS02(vyv330, vyv331) 248.87/165.25 new_primModNatS01(vyv330, vyv331, Zero, Succ(vyv3330)) -> Succ(Succ(vyv330)) 248.87/165.25 new_primMinusNatS2(Succ(vyv3100), Succ(vyv3110)) -> new_primMinusNatS2(vyv3100, vyv3110) 248.87/165.25 new_primModNatS1(Succ(Zero), Succ(vyv291000)) -> Succ(Zero) 248.87/165.25 new_primModNatS1(Zero, vyv29100) -> Zero 248.87/165.25 new_primMinusNatS2(Zero, Zero) -> Zero 248.87/165.25 new_primMinusNatS2(Zero, Succ(vyv3110)) -> Zero 248.87/165.25 new_primMinusNatS2(Succ(vyv3100), Zero) -> Succ(vyv3100) 248.87/165.25 new_esEs(Neg(Succ(vyv24100))) -> new_primEqInt(Neg(Succ(vyv24100))) 248.87/165.25 new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) 248.87/165.25 new_primEqInt(Neg(Zero)) -> True 248.87/165.25 new_primEqInt(Neg(Succ(vyv242000))) -> False 248.87/165.25 248.87/165.25 The set Q consists of the following terms: 248.87/165.25 248.87/165.25 new_primModNatS1(Succ(Zero), Succ(x0)) 248.87/165.25 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 248.87/165.25 new_primEqInt(Pos(Zero)) 248.87/165.25 new_primModNatS02(x0, x1) 248.87/165.25 new_primModNatS01(x0, x1, Succ(x2), Zero) 248.87/165.25 new_primModNatS01(x0, x1, Zero, Succ(x2)) 248.87/165.25 new_primMinusNatS2(Zero, Zero) 248.87/165.25 new_esEs(Neg(Succ(x0))) 248.87/165.25 new_primMinusNatS2(Zero, Succ(x0)) 248.87/165.25 new_primModNatS1(Succ(Zero), Zero) 248.87/165.25 new_esEs(Pos(Zero)) 248.87/165.25 new_primEqInt(Neg(Succ(x0))) 248.87/165.25 new_primMinusNatS2(Succ(x0), Zero) 248.87/165.25 new_primEqInt(Neg(Zero)) 248.87/165.25 new_primModNatS01(x0, x1, Zero, Zero) 248.87/165.25 new_primEqInt(Pos(Succ(x0))) 248.87/165.25 new_primMinusNatS2(Succ(x0), Succ(x1)) 248.87/165.25 new_primModNatS1(Succ(Succ(x0)), Zero) 248.87/165.25 new_primModNatS1(Zero, x0) 248.87/165.25 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 248.87/165.25 new_esEs(Neg(Zero)) 248.87/165.25 new_esEs(Pos(Succ(x0))) 248.87/165.25 248.87/165.25 We have to consider all minimal (P,Q,R)-chains. 248.87/165.25 ---------------------------------------- 248.87/165.25 248.87/165.25 (617) TransformationProof (EQUIVALENT) 248.87/165.25 By narrowing [LPAR04] the rule new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) at position [0] we obtained the following new rules [LPAR04]: 248.87/165.25 248.87/165.25 (new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS02(Succ(Zero), Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))),new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS02(Succ(Zero), Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))))) 248.87/165.25 (new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))),new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2))))))) 248.87/165.25 (new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))),new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))))) 248.87/165.25 (new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Neg(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))),new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Neg(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))))) 248.87/165.25 248.87/165.25 248.87/165.25 ---------------------------------------- 248.87/165.25 248.87/165.25 (618) 248.87/165.25 Obligation: 248.87/165.25 Q DP problem: 248.87/165.25 The TRS P consists of the following rules: 248.87/165.25 248.87/165.25 new_gcd0Gcd'1(False, Neg(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x1))), Neg(new_primModNatS01(x0, x1, x0, x1))) 248.87/165.25 new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 248.87/165.25 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) 248.87/165.25 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS02(Succ(Zero), Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) 248.87/165.25 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) 248.87/165.25 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) 248.87/165.25 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Neg(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) 248.87/165.25 248.87/165.25 The TRS R consists of the following rules: 248.87/165.25 248.87/165.25 new_primModNatS1(Succ(Succ(vyv292000)), Succ(vyv291000)) -> new_primModNatS01(vyv292000, vyv291000, vyv292000, vyv291000) 248.87/165.25 new_primModNatS01(vyv330, vyv331, Zero, Zero) -> new_primModNatS02(vyv330, vyv331) 248.87/165.25 new_primModNatS02(vyv330, vyv331) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv330), Succ(vyv331)), Succ(vyv331)) 248.87/165.25 new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Succ(vyv3330)) -> new_primModNatS01(vyv330, vyv331, vyv3320, vyv3330) 248.87/165.25 new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Zero) -> new_primModNatS02(vyv330, vyv331) 248.87/165.25 new_primModNatS01(vyv330, vyv331, Zero, Succ(vyv3330)) -> Succ(Succ(vyv330)) 248.87/165.25 new_primMinusNatS2(Succ(vyv3100), Succ(vyv3110)) -> new_primMinusNatS2(vyv3100, vyv3110) 248.87/165.25 new_primModNatS1(Succ(Zero), Succ(vyv291000)) -> Succ(Zero) 248.87/165.25 new_primModNatS1(Zero, vyv29100) -> Zero 248.87/165.25 new_primMinusNatS2(Zero, Zero) -> Zero 248.87/165.25 new_primMinusNatS2(Zero, Succ(vyv3110)) -> Zero 248.87/165.25 new_primMinusNatS2(Succ(vyv3100), Zero) -> Succ(vyv3100) 248.87/165.25 new_esEs(Neg(Succ(vyv24100))) -> new_primEqInt(Neg(Succ(vyv24100))) 248.87/165.25 new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) 248.87/165.25 new_primEqInt(Neg(Zero)) -> True 248.87/165.25 new_primEqInt(Neg(Succ(vyv242000))) -> False 248.87/165.25 248.87/165.25 The set Q consists of the following terms: 248.87/165.25 248.87/165.25 new_primModNatS1(Succ(Zero), Succ(x0)) 248.87/165.25 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 248.87/165.25 new_primEqInt(Pos(Zero)) 248.87/165.25 new_primModNatS02(x0, x1) 248.87/165.25 new_primModNatS01(x0, x1, Succ(x2), Zero) 248.87/165.25 new_primModNatS01(x0, x1, Zero, Succ(x2)) 248.87/165.25 new_primMinusNatS2(Zero, Zero) 248.87/165.25 new_esEs(Neg(Succ(x0))) 248.87/165.25 new_primMinusNatS2(Zero, Succ(x0)) 248.87/165.25 new_primModNatS1(Succ(Zero), Zero) 248.87/165.25 new_esEs(Pos(Zero)) 248.87/165.25 new_primEqInt(Neg(Succ(x0))) 248.87/165.25 new_primMinusNatS2(Succ(x0), Zero) 248.87/165.25 new_primEqInt(Neg(Zero)) 248.87/165.25 new_primModNatS01(x0, x1, Zero, Zero) 248.87/165.25 new_primEqInt(Pos(Succ(x0))) 248.87/165.25 new_primMinusNatS2(Succ(x0), Succ(x1)) 248.87/165.25 new_primModNatS1(Succ(Succ(x0)), Zero) 248.87/165.25 new_primModNatS1(Zero, x0) 248.87/165.25 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 248.87/165.25 new_esEs(Neg(Zero)) 248.87/165.25 new_esEs(Pos(Succ(x0))) 248.87/165.25 248.87/165.25 We have to consider all minimal (P,Q,R)-chains. 248.87/165.25 ---------------------------------------- 248.87/165.25 248.87/165.25 (619) TransformationProof (EQUIVALENT) 248.87/165.25 By rewriting [LPAR04] the rule new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS02(Succ(Zero), Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) at position [0,0,0] we obtained the following new rules [LPAR04]: 248.87/165.25 248.87/165.25 (new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(Zero)), Succ(Succ(Zero))), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))),new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(Zero)), Succ(Succ(Zero))), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))))) 248.87/165.25 248.87/165.25 248.87/165.25 ---------------------------------------- 248.87/165.25 248.87/165.25 (620) 248.87/165.25 Obligation: 248.87/165.25 Q DP problem: 248.87/165.25 The TRS P consists of the following rules: 248.87/165.25 248.87/165.25 new_gcd0Gcd'1(False, Neg(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x1))), Neg(new_primModNatS01(x0, x1, x0, x1))) 248.87/165.25 new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 248.87/165.25 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) 248.87/165.25 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) 248.87/165.25 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) 248.87/165.25 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Neg(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) 248.87/165.25 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(Zero)), Succ(Succ(Zero))), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) 248.87/165.25 248.87/165.25 The TRS R consists of the following rules: 248.87/165.25 248.87/165.25 new_primModNatS1(Succ(Succ(vyv292000)), Succ(vyv291000)) -> new_primModNatS01(vyv292000, vyv291000, vyv292000, vyv291000) 248.87/165.25 new_primModNatS01(vyv330, vyv331, Zero, Zero) -> new_primModNatS02(vyv330, vyv331) 248.87/165.25 new_primModNatS02(vyv330, vyv331) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv330), Succ(vyv331)), Succ(vyv331)) 248.87/165.25 new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Succ(vyv3330)) -> new_primModNatS01(vyv330, vyv331, vyv3320, vyv3330) 248.87/165.25 new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Zero) -> new_primModNatS02(vyv330, vyv331) 248.87/165.25 new_primModNatS01(vyv330, vyv331, Zero, Succ(vyv3330)) -> Succ(Succ(vyv330)) 248.87/165.25 new_primMinusNatS2(Succ(vyv3100), Succ(vyv3110)) -> new_primMinusNatS2(vyv3100, vyv3110) 248.87/165.25 new_primModNatS1(Succ(Zero), Succ(vyv291000)) -> Succ(Zero) 248.87/165.25 new_primModNatS1(Zero, vyv29100) -> Zero 248.87/165.25 new_primMinusNatS2(Zero, Zero) -> Zero 248.87/165.25 new_primMinusNatS2(Zero, Succ(vyv3110)) -> Zero 248.87/165.25 new_primMinusNatS2(Succ(vyv3100), Zero) -> Succ(vyv3100) 248.87/165.25 new_esEs(Neg(Succ(vyv24100))) -> new_primEqInt(Neg(Succ(vyv24100))) 248.87/165.25 new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) 248.87/165.25 new_primEqInt(Neg(Zero)) -> True 248.87/165.25 new_primEqInt(Neg(Succ(vyv242000))) -> False 248.87/165.25 248.87/165.25 The set Q consists of the following terms: 248.87/165.25 248.87/165.25 new_primModNatS1(Succ(Zero), Succ(x0)) 248.87/165.25 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 248.87/165.25 new_primEqInt(Pos(Zero)) 248.87/165.25 new_primModNatS02(x0, x1) 248.87/165.25 new_primModNatS01(x0, x1, Succ(x2), Zero) 248.87/165.25 new_primModNatS01(x0, x1, Zero, Succ(x2)) 248.87/165.25 new_primMinusNatS2(Zero, Zero) 248.87/165.25 new_esEs(Neg(Succ(x0))) 248.87/165.25 new_primMinusNatS2(Zero, Succ(x0)) 248.87/165.25 new_primModNatS1(Succ(Zero), Zero) 248.87/165.25 new_esEs(Pos(Zero)) 248.87/165.25 new_primEqInt(Neg(Succ(x0))) 248.87/165.25 new_primMinusNatS2(Succ(x0), Zero) 248.87/165.25 new_primEqInt(Neg(Zero)) 248.87/165.25 new_primModNatS01(x0, x1, Zero, Zero) 248.87/165.25 new_primEqInt(Pos(Succ(x0))) 248.87/165.25 new_primMinusNatS2(Succ(x0), Succ(x1)) 248.87/165.25 new_primModNatS1(Succ(Succ(x0)), Zero) 248.87/165.25 new_primModNatS1(Zero, x0) 248.87/165.25 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 248.87/165.25 new_esEs(Neg(Zero)) 248.87/165.25 new_esEs(Pos(Succ(x0))) 248.87/165.25 248.87/165.25 We have to consider all minimal (P,Q,R)-chains. 248.87/165.25 ---------------------------------------- 248.87/165.25 248.87/165.25 (621) TransformationProof (EQUIVALENT) 248.87/165.25 By rewriting [LPAR04] the rule new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) at position [0,0,0] we obtained the following new rules [LPAR04]: 248.87/165.25 248.87/165.25 (new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(Succ(x2))), Succ(Succ(Zero))), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))),new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(Succ(x2))), Succ(Succ(Zero))), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))))) 248.87/165.25 248.87/165.25 248.87/165.25 ---------------------------------------- 248.87/165.25 248.87/165.25 (622) 248.87/165.25 Obligation: 248.87/165.25 Q DP problem: 248.87/165.25 The TRS P consists of the following rules: 248.87/165.25 248.87/165.25 new_gcd0Gcd'1(False, Neg(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x1))), Neg(new_primModNatS01(x0, x1, x0, x1))) 248.87/165.25 new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 248.87/165.25 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) 248.87/165.25 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) 248.87/165.25 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Neg(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) 248.87/165.25 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(Zero)), Succ(Succ(Zero))), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) 248.87/165.25 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(Succ(x2))), Succ(Succ(Zero))), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) 248.87/165.25 248.87/165.25 The TRS R consists of the following rules: 248.87/165.25 248.87/165.25 new_primModNatS1(Succ(Succ(vyv292000)), Succ(vyv291000)) -> new_primModNatS01(vyv292000, vyv291000, vyv292000, vyv291000) 248.87/165.25 new_primModNatS01(vyv330, vyv331, Zero, Zero) -> new_primModNatS02(vyv330, vyv331) 248.87/165.25 new_primModNatS02(vyv330, vyv331) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv330), Succ(vyv331)), Succ(vyv331)) 248.87/165.25 new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Succ(vyv3330)) -> new_primModNatS01(vyv330, vyv331, vyv3320, vyv3330) 248.87/165.25 new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Zero) -> new_primModNatS02(vyv330, vyv331) 248.87/165.25 new_primModNatS01(vyv330, vyv331, Zero, Succ(vyv3330)) -> Succ(Succ(vyv330)) 248.87/165.25 new_primMinusNatS2(Succ(vyv3100), Succ(vyv3110)) -> new_primMinusNatS2(vyv3100, vyv3110) 248.87/165.25 new_primModNatS1(Succ(Zero), Succ(vyv291000)) -> Succ(Zero) 248.87/165.25 new_primModNatS1(Zero, vyv29100) -> Zero 248.87/165.25 new_primMinusNatS2(Zero, Zero) -> Zero 248.87/165.25 new_primMinusNatS2(Zero, Succ(vyv3110)) -> Zero 248.87/165.25 new_primMinusNatS2(Succ(vyv3100), Zero) -> Succ(vyv3100) 248.87/165.25 new_esEs(Neg(Succ(vyv24100))) -> new_primEqInt(Neg(Succ(vyv24100))) 248.87/165.25 new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) 248.87/165.25 new_primEqInt(Neg(Zero)) -> True 248.87/165.25 new_primEqInt(Neg(Succ(vyv242000))) -> False 248.87/165.25 248.87/165.25 The set Q consists of the following terms: 248.87/165.25 248.87/165.25 new_primModNatS1(Succ(Zero), Succ(x0)) 248.87/165.25 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 248.87/165.25 new_primEqInt(Pos(Zero)) 248.87/165.25 new_primModNatS02(x0, x1) 248.87/165.25 new_primModNatS01(x0, x1, Succ(x2), Zero) 248.87/165.25 new_primModNatS01(x0, x1, Zero, Succ(x2)) 248.87/165.25 new_primMinusNatS2(Zero, Zero) 248.87/165.25 new_esEs(Neg(Succ(x0))) 248.87/165.25 new_primMinusNatS2(Zero, Succ(x0)) 248.87/165.25 new_primModNatS1(Succ(Zero), Zero) 248.87/165.25 new_esEs(Pos(Zero)) 248.87/165.25 new_primEqInt(Neg(Succ(x0))) 248.87/165.25 new_primMinusNatS2(Succ(x0), Zero) 248.87/165.25 new_primEqInt(Neg(Zero)) 248.87/165.25 new_primModNatS01(x0, x1, Zero, Zero) 248.87/165.25 new_primEqInt(Pos(Succ(x0))) 248.87/165.25 new_primMinusNatS2(Succ(x0), Succ(x1)) 248.87/165.25 new_primModNatS1(Succ(Succ(x0)), Zero) 248.87/165.25 new_primModNatS1(Zero, x0) 248.87/165.25 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 248.87/165.25 new_esEs(Neg(Zero)) 248.87/165.25 new_esEs(Pos(Succ(x0))) 248.87/165.25 248.87/165.25 We have to consider all minimal (P,Q,R)-chains. 248.87/165.25 ---------------------------------------- 248.87/165.25 248.87/165.25 (623) TransformationProof (EQUIVALENT) 248.87/165.25 By rewriting [LPAR04] the rule new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Neg(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) at position [0] we obtained the following new rules [LPAR04]: 248.87/165.25 248.87/165.25 (new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_primEqInt(Neg(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))),new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_primEqInt(Neg(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))))) 248.87/165.25 248.87/165.25 248.87/165.25 ---------------------------------------- 248.87/165.25 248.87/165.25 (624) 248.87/165.25 Obligation: 248.87/165.25 Q DP problem: 248.87/165.25 The TRS P consists of the following rules: 248.87/165.25 248.87/165.25 new_gcd0Gcd'1(False, Neg(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x1))), Neg(new_primModNatS01(x0, x1, x0, x1))) 248.87/165.25 new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 248.87/165.25 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) 248.87/165.25 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) 248.87/165.25 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(Zero)), Succ(Succ(Zero))), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) 248.87/165.25 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(Succ(x2))), Succ(Succ(Zero))), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) 248.87/165.25 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_primEqInt(Neg(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) 248.87/165.25 248.87/165.25 The TRS R consists of the following rules: 248.87/165.25 248.87/165.25 new_primModNatS1(Succ(Succ(vyv292000)), Succ(vyv291000)) -> new_primModNatS01(vyv292000, vyv291000, vyv292000, vyv291000) 248.87/165.25 new_primModNatS01(vyv330, vyv331, Zero, Zero) -> new_primModNatS02(vyv330, vyv331) 248.87/165.25 new_primModNatS02(vyv330, vyv331) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv330), Succ(vyv331)), Succ(vyv331)) 248.87/165.25 new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Succ(vyv3330)) -> new_primModNatS01(vyv330, vyv331, vyv3320, vyv3330) 248.87/165.25 new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Zero) -> new_primModNatS02(vyv330, vyv331) 248.87/165.25 new_primModNatS01(vyv330, vyv331, Zero, Succ(vyv3330)) -> Succ(Succ(vyv330)) 248.87/165.25 new_primMinusNatS2(Succ(vyv3100), Succ(vyv3110)) -> new_primMinusNatS2(vyv3100, vyv3110) 248.87/165.25 new_primModNatS1(Succ(Zero), Succ(vyv291000)) -> Succ(Zero) 248.87/165.25 new_primModNatS1(Zero, vyv29100) -> Zero 248.87/165.25 new_primMinusNatS2(Zero, Zero) -> Zero 248.87/165.25 new_primMinusNatS2(Zero, Succ(vyv3110)) -> Zero 248.87/165.25 new_primMinusNatS2(Succ(vyv3100), Zero) -> Succ(vyv3100) 248.87/165.25 new_esEs(Neg(Succ(vyv24100))) -> new_primEqInt(Neg(Succ(vyv24100))) 248.87/165.25 new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) 248.87/165.25 new_primEqInt(Neg(Zero)) -> True 248.87/165.25 new_primEqInt(Neg(Succ(vyv242000))) -> False 248.87/165.25 248.87/165.25 The set Q consists of the following terms: 248.87/165.25 248.87/165.25 new_primModNatS1(Succ(Zero), Succ(x0)) 248.87/165.25 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 248.87/165.25 new_primEqInt(Pos(Zero)) 248.87/165.25 new_primModNatS02(x0, x1) 248.87/165.25 new_primModNatS01(x0, x1, Succ(x2), Zero) 248.87/165.25 new_primModNatS01(x0, x1, Zero, Succ(x2)) 248.87/165.25 new_primMinusNatS2(Zero, Zero) 248.87/165.25 new_esEs(Neg(Succ(x0))) 248.87/165.25 new_primMinusNatS2(Zero, Succ(x0)) 248.87/165.25 new_primModNatS1(Succ(Zero), Zero) 248.87/165.25 new_esEs(Pos(Zero)) 248.87/165.25 new_primEqInt(Neg(Succ(x0))) 248.87/165.25 new_primMinusNatS2(Succ(x0), Zero) 248.87/165.25 new_primEqInt(Neg(Zero)) 248.87/165.25 new_primModNatS01(x0, x1, Zero, Zero) 248.87/165.25 new_primEqInt(Pos(Succ(x0))) 248.87/165.25 new_primMinusNatS2(Succ(x0), Succ(x1)) 248.87/165.25 new_primModNatS1(Succ(Succ(x0)), Zero) 248.87/165.25 new_primModNatS1(Zero, x0) 248.87/165.25 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 248.87/165.25 new_esEs(Neg(Zero)) 248.87/165.25 new_esEs(Pos(Succ(x0))) 248.87/165.25 248.87/165.25 We have to consider all minimal (P,Q,R)-chains. 248.87/165.25 ---------------------------------------- 248.87/165.25 248.87/165.25 (625) TransformationProof (EQUIVALENT) 248.87/165.25 By rewriting [LPAR04] the rule new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(Zero)), Succ(Succ(Zero))), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) at position [0,0,0,0] we obtained the following new rules [LPAR04]: 248.87/165.25 248.87/165.25 (new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Zero), Succ(Zero)), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))),new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Zero), Succ(Zero)), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))))) 248.87/165.25 248.87/165.25 248.87/165.25 ---------------------------------------- 248.87/165.25 248.87/165.25 (626) 248.87/165.25 Obligation: 248.87/165.25 Q DP problem: 248.87/165.25 The TRS P consists of the following rules: 248.87/165.25 248.87/165.25 new_gcd0Gcd'1(False, Neg(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x1))), Neg(new_primModNatS01(x0, x1, x0, x1))) 248.87/165.25 new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 248.87/165.25 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) 248.87/165.25 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) 248.87/165.25 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(Succ(x2))), Succ(Succ(Zero))), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) 248.87/165.25 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_primEqInt(Neg(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) 248.87/165.25 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Zero), Succ(Zero)), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) 248.87/165.25 248.87/165.25 The TRS R consists of the following rules: 248.87/165.25 248.87/165.25 new_primModNatS1(Succ(Succ(vyv292000)), Succ(vyv291000)) -> new_primModNatS01(vyv292000, vyv291000, vyv292000, vyv291000) 248.87/165.25 new_primModNatS01(vyv330, vyv331, Zero, Zero) -> new_primModNatS02(vyv330, vyv331) 248.87/165.25 new_primModNatS02(vyv330, vyv331) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv330), Succ(vyv331)), Succ(vyv331)) 248.87/165.25 new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Succ(vyv3330)) -> new_primModNatS01(vyv330, vyv331, vyv3320, vyv3330) 248.87/165.25 new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Zero) -> new_primModNatS02(vyv330, vyv331) 248.87/165.25 new_primModNatS01(vyv330, vyv331, Zero, Succ(vyv3330)) -> Succ(Succ(vyv330)) 248.87/165.25 new_primMinusNatS2(Succ(vyv3100), Succ(vyv3110)) -> new_primMinusNatS2(vyv3100, vyv3110) 248.87/165.25 new_primModNatS1(Succ(Zero), Succ(vyv291000)) -> Succ(Zero) 248.87/165.25 new_primModNatS1(Zero, vyv29100) -> Zero 248.87/165.25 new_primMinusNatS2(Zero, Zero) -> Zero 248.87/165.25 new_primMinusNatS2(Zero, Succ(vyv3110)) -> Zero 248.87/165.25 new_primMinusNatS2(Succ(vyv3100), Zero) -> Succ(vyv3100) 248.87/165.25 new_esEs(Neg(Succ(vyv24100))) -> new_primEqInt(Neg(Succ(vyv24100))) 248.87/165.25 new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) 248.87/165.25 new_primEqInt(Neg(Zero)) -> True 248.87/165.25 new_primEqInt(Neg(Succ(vyv242000))) -> False 248.87/165.25 248.87/165.25 The set Q consists of the following terms: 248.87/165.25 248.87/165.25 new_primModNatS1(Succ(Zero), Succ(x0)) 248.87/165.25 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 248.87/165.25 new_primEqInt(Pos(Zero)) 248.87/165.25 new_primModNatS02(x0, x1) 248.87/165.25 new_primModNatS01(x0, x1, Succ(x2), Zero) 248.87/165.25 new_primModNatS01(x0, x1, Zero, Succ(x2)) 248.87/165.25 new_primMinusNatS2(Zero, Zero) 248.87/165.25 new_esEs(Neg(Succ(x0))) 248.87/165.25 new_primMinusNatS2(Zero, Succ(x0)) 248.87/165.25 new_primModNatS1(Succ(Zero), Zero) 248.87/165.25 new_esEs(Pos(Zero)) 248.87/165.25 new_primEqInt(Neg(Succ(x0))) 248.87/165.25 new_primMinusNatS2(Succ(x0), Zero) 248.87/165.25 new_primEqInt(Neg(Zero)) 248.87/165.25 new_primModNatS01(x0, x1, Zero, Zero) 248.87/165.25 new_primEqInt(Pos(Succ(x0))) 248.87/165.25 new_primMinusNatS2(Succ(x0), Succ(x1)) 248.87/165.25 new_primModNatS1(Succ(Succ(x0)), Zero) 248.87/165.25 new_primModNatS1(Zero, x0) 248.87/165.25 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 248.87/165.25 new_esEs(Neg(Zero)) 248.87/165.25 new_esEs(Pos(Succ(x0))) 248.87/165.25 248.87/165.25 We have to consider all minimal (P,Q,R)-chains. 248.87/165.25 ---------------------------------------- 248.87/165.25 248.87/165.25 (627) TransformationProof (EQUIVALENT) 248.87/165.25 By rewriting [LPAR04] the rule new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(Succ(x2))), Succ(Succ(Zero))), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) at position [0,0,0,0] we obtained the following new rules [LPAR04]: 248.87/165.25 248.87/165.25 (new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))),new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))))) 248.87/165.25 248.87/165.25 248.87/165.25 ---------------------------------------- 248.87/165.25 248.87/165.25 (628) 248.87/165.25 Obligation: 248.87/165.25 Q DP problem: 248.87/165.25 The TRS P consists of the following rules: 248.87/165.25 248.87/165.25 new_gcd0Gcd'1(False, Neg(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x1))), Neg(new_primModNatS01(x0, x1, x0, x1))) 248.87/165.25 new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 248.87/165.25 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) 248.87/165.25 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) 248.87/165.25 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_primEqInt(Neg(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) 248.87/165.25 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Zero), Succ(Zero)), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) 248.87/165.25 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) 248.87/165.25 248.87/165.25 The TRS R consists of the following rules: 248.87/165.25 248.87/165.25 new_primModNatS1(Succ(Succ(vyv292000)), Succ(vyv291000)) -> new_primModNatS01(vyv292000, vyv291000, vyv292000, vyv291000) 248.87/165.25 new_primModNatS01(vyv330, vyv331, Zero, Zero) -> new_primModNatS02(vyv330, vyv331) 248.87/165.25 new_primModNatS02(vyv330, vyv331) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv330), Succ(vyv331)), Succ(vyv331)) 248.87/165.25 new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Succ(vyv3330)) -> new_primModNatS01(vyv330, vyv331, vyv3320, vyv3330) 248.87/165.25 new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Zero) -> new_primModNatS02(vyv330, vyv331) 248.87/165.25 new_primModNatS01(vyv330, vyv331, Zero, Succ(vyv3330)) -> Succ(Succ(vyv330)) 248.87/165.25 new_primMinusNatS2(Succ(vyv3100), Succ(vyv3110)) -> new_primMinusNatS2(vyv3100, vyv3110) 248.87/165.25 new_primModNatS1(Succ(Zero), Succ(vyv291000)) -> Succ(Zero) 248.87/165.25 new_primModNatS1(Zero, vyv29100) -> Zero 248.87/165.25 new_primMinusNatS2(Zero, Zero) -> Zero 248.87/165.25 new_primMinusNatS2(Zero, Succ(vyv3110)) -> Zero 248.87/165.25 new_primMinusNatS2(Succ(vyv3100), Zero) -> Succ(vyv3100) 248.87/165.25 new_esEs(Neg(Succ(vyv24100))) -> new_primEqInt(Neg(Succ(vyv24100))) 248.87/165.25 new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) 248.87/165.25 new_primEqInt(Neg(Zero)) -> True 248.87/165.25 new_primEqInt(Neg(Succ(vyv242000))) -> False 248.87/165.25 248.87/165.25 The set Q consists of the following terms: 248.87/165.25 248.87/165.25 new_primModNatS1(Succ(Zero), Succ(x0)) 248.87/165.25 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 248.87/165.25 new_primEqInt(Pos(Zero)) 248.87/165.25 new_primModNatS02(x0, x1) 248.87/165.25 new_primModNatS01(x0, x1, Succ(x2), Zero) 248.87/165.25 new_primModNatS01(x0, x1, Zero, Succ(x2)) 248.87/165.25 new_primMinusNatS2(Zero, Zero) 248.87/165.25 new_esEs(Neg(Succ(x0))) 248.87/165.25 new_primMinusNatS2(Zero, Succ(x0)) 248.87/165.25 new_primModNatS1(Succ(Zero), Zero) 248.87/165.25 new_esEs(Pos(Zero)) 248.87/165.25 new_primEqInt(Neg(Succ(x0))) 248.87/165.25 new_primMinusNatS2(Succ(x0), Zero) 248.87/165.25 new_primEqInt(Neg(Zero)) 248.87/165.25 new_primModNatS01(x0, x1, Zero, Zero) 248.87/165.25 new_primEqInt(Pos(Succ(x0))) 248.87/165.25 new_primMinusNatS2(Succ(x0), Succ(x1)) 248.87/165.25 new_primModNatS1(Succ(Succ(x0)), Zero) 248.87/165.25 new_primModNatS1(Zero, x0) 248.87/165.25 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 248.87/165.25 new_esEs(Neg(Zero)) 248.87/165.25 new_esEs(Pos(Succ(x0))) 248.87/165.25 248.87/165.25 We have to consider all minimal (P,Q,R)-chains. 248.87/165.25 ---------------------------------------- 248.87/165.25 248.87/165.25 (629) TransformationProof (EQUIVALENT) 248.87/165.25 By rewriting [LPAR04] the rule new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_primEqInt(Neg(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) at position [0] we obtained the following new rules [LPAR04]: 248.87/165.25 248.87/165.25 (new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))),new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))))) 248.87/165.25 248.87/165.25 248.87/165.25 ---------------------------------------- 248.87/165.25 248.87/165.25 (630) 248.87/165.25 Obligation: 248.87/165.25 Q DP problem: 248.87/165.25 The TRS P consists of the following rules: 248.87/165.25 248.87/165.25 new_gcd0Gcd'1(False, Neg(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x1))), Neg(new_primModNatS01(x0, x1, x0, x1))) 248.87/165.25 new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 248.87/165.25 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) 248.87/165.25 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) 248.87/165.25 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Zero), Succ(Zero)), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) 248.87/165.25 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) 248.87/165.25 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) 248.87/165.25 248.87/165.25 The TRS R consists of the following rules: 248.87/165.25 248.87/165.25 new_primModNatS1(Succ(Succ(vyv292000)), Succ(vyv291000)) -> new_primModNatS01(vyv292000, vyv291000, vyv292000, vyv291000) 248.87/165.25 new_primModNatS01(vyv330, vyv331, Zero, Zero) -> new_primModNatS02(vyv330, vyv331) 248.87/165.25 new_primModNatS02(vyv330, vyv331) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv330), Succ(vyv331)), Succ(vyv331)) 248.87/165.25 new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Succ(vyv3330)) -> new_primModNatS01(vyv330, vyv331, vyv3320, vyv3330) 248.87/165.25 new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Zero) -> new_primModNatS02(vyv330, vyv331) 248.87/165.25 new_primModNatS01(vyv330, vyv331, Zero, Succ(vyv3330)) -> Succ(Succ(vyv330)) 248.87/165.25 new_primMinusNatS2(Succ(vyv3100), Succ(vyv3110)) -> new_primMinusNatS2(vyv3100, vyv3110) 248.87/165.25 new_primModNatS1(Succ(Zero), Succ(vyv291000)) -> Succ(Zero) 248.87/165.25 new_primModNatS1(Zero, vyv29100) -> Zero 248.87/165.25 new_primMinusNatS2(Zero, Zero) -> Zero 248.87/165.25 new_primMinusNatS2(Zero, Succ(vyv3110)) -> Zero 248.87/165.25 new_primMinusNatS2(Succ(vyv3100), Zero) -> Succ(vyv3100) 248.87/165.25 new_esEs(Neg(Succ(vyv24100))) -> new_primEqInt(Neg(Succ(vyv24100))) 248.87/165.25 new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) 248.87/165.25 new_primEqInt(Neg(Zero)) -> True 248.87/165.25 new_primEqInt(Neg(Succ(vyv242000))) -> False 248.87/165.25 248.87/165.25 The set Q consists of the following terms: 248.87/165.25 248.87/165.25 new_primModNatS1(Succ(Zero), Succ(x0)) 248.87/165.25 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 248.87/165.25 new_primEqInt(Pos(Zero)) 248.87/165.25 new_primModNatS02(x0, x1) 248.87/165.25 new_primModNatS01(x0, x1, Succ(x2), Zero) 248.87/165.25 new_primModNatS01(x0, x1, Zero, Succ(x2)) 248.87/165.25 new_primMinusNatS2(Zero, Zero) 248.87/165.25 new_esEs(Neg(Succ(x0))) 248.87/165.25 new_primMinusNatS2(Zero, Succ(x0)) 248.87/165.25 new_primModNatS1(Succ(Zero), Zero) 248.87/165.25 new_esEs(Pos(Zero)) 248.87/165.25 new_primEqInt(Neg(Succ(x0))) 248.87/165.25 new_primMinusNatS2(Succ(x0), Zero) 248.87/165.25 new_primEqInt(Neg(Zero)) 248.87/165.25 new_primModNatS01(x0, x1, Zero, Zero) 248.87/165.25 new_primEqInt(Pos(Succ(x0))) 248.87/165.25 new_primMinusNatS2(Succ(x0), Succ(x1)) 248.87/165.25 new_primModNatS1(Succ(Succ(x0)), Zero) 248.87/165.25 new_primModNatS1(Zero, x0) 248.87/165.25 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 248.87/165.25 new_esEs(Neg(Zero)) 248.87/165.25 new_esEs(Pos(Succ(x0))) 248.87/165.25 248.87/165.25 We have to consider all minimal (P,Q,R)-chains. 248.87/165.25 ---------------------------------------- 248.87/165.25 248.87/165.25 (631) TransformationProof (EQUIVALENT) 248.87/165.25 By rewriting [LPAR04] the rule new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Zero), Succ(Zero)), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) at position [0,0,0,0] we obtained the following new rules [LPAR04]: 248.87/165.25 248.87/165.25 (new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS2(Zero, Zero), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))),new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS2(Zero, Zero), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))))) 248.87/165.25 248.87/165.25 248.87/165.25 ---------------------------------------- 248.87/165.25 248.87/165.25 (632) 248.87/165.25 Obligation: 248.87/165.25 Q DP problem: 248.87/165.25 The TRS P consists of the following rules: 248.87/165.25 248.87/165.25 new_gcd0Gcd'1(False, Neg(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x1))), Neg(new_primModNatS01(x0, x1, x0, x1))) 248.87/165.25 new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 248.87/165.25 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) 248.87/165.25 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) 248.87/165.25 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) 248.87/165.25 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) 248.87/165.25 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS2(Zero, Zero), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) 248.87/165.25 248.87/165.25 The TRS R consists of the following rules: 248.87/165.25 248.87/165.25 new_primModNatS1(Succ(Succ(vyv292000)), Succ(vyv291000)) -> new_primModNatS01(vyv292000, vyv291000, vyv292000, vyv291000) 248.87/165.25 new_primModNatS01(vyv330, vyv331, Zero, Zero) -> new_primModNatS02(vyv330, vyv331) 248.87/165.25 new_primModNatS02(vyv330, vyv331) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv330), Succ(vyv331)), Succ(vyv331)) 248.87/165.25 new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Succ(vyv3330)) -> new_primModNatS01(vyv330, vyv331, vyv3320, vyv3330) 248.87/165.25 new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Zero) -> new_primModNatS02(vyv330, vyv331) 248.87/165.25 new_primModNatS01(vyv330, vyv331, Zero, Succ(vyv3330)) -> Succ(Succ(vyv330)) 248.87/165.25 new_primMinusNatS2(Succ(vyv3100), Succ(vyv3110)) -> new_primMinusNatS2(vyv3100, vyv3110) 248.87/165.25 new_primModNatS1(Succ(Zero), Succ(vyv291000)) -> Succ(Zero) 248.87/165.25 new_primModNatS1(Zero, vyv29100) -> Zero 248.87/165.25 new_primMinusNatS2(Zero, Zero) -> Zero 248.87/165.25 new_primMinusNatS2(Zero, Succ(vyv3110)) -> Zero 248.87/165.25 new_primMinusNatS2(Succ(vyv3100), Zero) -> Succ(vyv3100) 248.87/165.25 new_esEs(Neg(Succ(vyv24100))) -> new_primEqInt(Neg(Succ(vyv24100))) 248.87/165.25 new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) 248.87/165.25 new_primEqInt(Neg(Zero)) -> True 248.87/165.25 new_primEqInt(Neg(Succ(vyv242000))) -> False 248.87/165.25 248.87/165.25 The set Q consists of the following terms: 248.87/165.25 248.87/165.25 new_primModNatS1(Succ(Zero), Succ(x0)) 248.87/165.25 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 248.87/165.25 new_primEqInt(Pos(Zero)) 248.87/165.25 new_primModNatS02(x0, x1) 248.87/165.25 new_primModNatS01(x0, x1, Succ(x2), Zero) 248.87/165.25 new_primModNatS01(x0, x1, Zero, Succ(x2)) 248.87/165.25 new_primMinusNatS2(Zero, Zero) 248.87/165.25 new_esEs(Neg(Succ(x0))) 248.87/165.25 new_primMinusNatS2(Zero, Succ(x0)) 248.87/165.25 new_primModNatS1(Succ(Zero), Zero) 248.87/165.25 new_esEs(Pos(Zero)) 248.87/165.25 new_primEqInt(Neg(Succ(x0))) 248.87/165.25 new_primMinusNatS2(Succ(x0), Zero) 248.87/165.25 new_primEqInt(Neg(Zero)) 248.87/165.25 new_primModNatS01(x0, x1, Zero, Zero) 248.87/165.25 new_primEqInt(Pos(Succ(x0))) 248.87/165.25 new_primMinusNatS2(Succ(x0), Succ(x1)) 248.87/165.25 new_primModNatS1(Succ(Succ(x0)), Zero) 248.87/165.25 new_primModNatS1(Zero, x0) 248.87/165.25 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 248.87/165.25 new_esEs(Neg(Zero)) 248.87/165.25 new_esEs(Pos(Succ(x0))) 248.87/165.25 248.87/165.25 We have to consider all minimal (P,Q,R)-chains. 248.87/165.25 ---------------------------------------- 248.87/165.25 248.87/165.25 (633) TransformationProof (EQUIVALENT) 248.87/165.25 By rewriting [LPAR04] the rule new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) at position [0,0,0,0] we obtained the following new rules [LPAR04]: 248.87/165.25 248.87/165.25 (new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))),new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))))) 248.87/165.25 248.87/165.25 248.87/165.25 ---------------------------------------- 248.87/165.25 248.87/165.25 (634) 248.87/165.25 Obligation: 248.87/165.25 Q DP problem: 248.87/165.25 The TRS P consists of the following rules: 248.87/165.25 248.87/165.25 new_gcd0Gcd'1(False, Neg(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x1))), Neg(new_primModNatS01(x0, x1, x0, x1))) 248.87/165.25 new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 248.87/165.25 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) 248.87/165.25 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) 248.87/165.25 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) 248.87/165.25 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS2(Zero, Zero), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) 248.87/165.25 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) 248.87/165.25 248.87/165.25 The TRS R consists of the following rules: 248.87/165.25 248.87/165.25 new_primModNatS1(Succ(Succ(vyv292000)), Succ(vyv291000)) -> new_primModNatS01(vyv292000, vyv291000, vyv292000, vyv291000) 248.87/165.25 new_primModNatS01(vyv330, vyv331, Zero, Zero) -> new_primModNatS02(vyv330, vyv331) 248.87/165.25 new_primModNatS02(vyv330, vyv331) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv330), Succ(vyv331)), Succ(vyv331)) 248.87/165.25 new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Succ(vyv3330)) -> new_primModNatS01(vyv330, vyv331, vyv3320, vyv3330) 248.87/165.25 new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Zero) -> new_primModNatS02(vyv330, vyv331) 248.87/165.25 new_primModNatS01(vyv330, vyv331, Zero, Succ(vyv3330)) -> Succ(Succ(vyv330)) 248.87/165.25 new_primMinusNatS2(Succ(vyv3100), Succ(vyv3110)) -> new_primMinusNatS2(vyv3100, vyv3110) 248.87/165.25 new_primModNatS1(Succ(Zero), Succ(vyv291000)) -> Succ(Zero) 248.87/165.25 new_primModNatS1(Zero, vyv29100) -> Zero 248.87/165.25 new_primMinusNatS2(Zero, Zero) -> Zero 248.87/165.25 new_primMinusNatS2(Zero, Succ(vyv3110)) -> Zero 248.87/165.25 new_primMinusNatS2(Succ(vyv3100), Zero) -> Succ(vyv3100) 248.87/165.25 new_esEs(Neg(Succ(vyv24100))) -> new_primEqInt(Neg(Succ(vyv24100))) 248.87/165.25 new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) 248.87/165.25 new_primEqInt(Neg(Zero)) -> True 248.87/165.25 new_primEqInt(Neg(Succ(vyv242000))) -> False 248.87/165.25 248.87/165.25 The set Q consists of the following terms: 248.87/165.25 248.87/165.25 new_primModNatS1(Succ(Zero), Succ(x0)) 248.87/165.25 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 248.87/165.25 new_primEqInt(Pos(Zero)) 248.87/165.25 new_primModNatS02(x0, x1) 248.87/165.25 new_primModNatS01(x0, x1, Succ(x2), Zero) 248.87/165.25 new_primModNatS01(x0, x1, Zero, Succ(x2)) 248.87/165.25 new_primMinusNatS2(Zero, Zero) 248.87/165.25 new_esEs(Neg(Succ(x0))) 248.87/165.25 new_primMinusNatS2(Zero, Succ(x0)) 248.87/165.25 new_primModNatS1(Succ(Zero), Zero) 248.87/165.25 new_esEs(Pos(Zero)) 248.87/165.25 new_primEqInt(Neg(Succ(x0))) 248.87/165.25 new_primMinusNatS2(Succ(x0), Zero) 248.87/165.25 new_primEqInt(Neg(Zero)) 248.87/165.25 new_primModNatS01(x0, x1, Zero, Zero) 248.87/165.25 new_primEqInt(Pos(Succ(x0))) 248.87/165.25 new_primMinusNatS2(Succ(x0), Succ(x1)) 248.87/165.25 new_primModNatS1(Succ(Succ(x0)), Zero) 248.87/165.25 new_primModNatS1(Zero, x0) 248.87/165.25 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 248.87/165.25 new_esEs(Neg(Zero)) 248.87/165.25 new_esEs(Pos(Succ(x0))) 248.87/165.25 248.87/165.25 We have to consider all minimal (P,Q,R)-chains. 248.87/165.25 ---------------------------------------- 248.87/165.25 248.87/165.25 (635) TransformationProof (EQUIVALENT) 248.87/165.25 By rewriting [LPAR04] the rule new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS2(Zero, Zero), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) at position [0,0,0,0] we obtained the following new rules [LPAR04]: 248.87/165.25 248.87/165.25 (new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Zero, Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))),new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Zero, Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))))) 248.87/165.25 248.87/165.25 248.87/165.25 ---------------------------------------- 248.87/165.25 248.87/165.25 (636) 248.87/165.25 Obligation: 248.87/165.25 Q DP problem: 248.87/165.25 The TRS P consists of the following rules: 248.87/165.25 248.87/165.25 new_gcd0Gcd'1(False, Neg(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x1))), Neg(new_primModNatS01(x0, x1, x0, x1))) 248.87/165.25 new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 248.87/165.25 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) 248.87/165.25 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) 248.87/165.25 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) 248.87/165.25 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) 248.87/165.25 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Zero, Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) 248.87/165.25 248.87/165.25 The TRS R consists of the following rules: 248.87/165.25 248.87/165.25 new_primModNatS1(Succ(Succ(vyv292000)), Succ(vyv291000)) -> new_primModNatS01(vyv292000, vyv291000, vyv292000, vyv291000) 248.87/165.25 new_primModNatS01(vyv330, vyv331, Zero, Zero) -> new_primModNatS02(vyv330, vyv331) 248.87/165.25 new_primModNatS02(vyv330, vyv331) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv330), Succ(vyv331)), Succ(vyv331)) 248.87/165.25 new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Succ(vyv3330)) -> new_primModNatS01(vyv330, vyv331, vyv3320, vyv3330) 248.87/165.25 new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Zero) -> new_primModNatS02(vyv330, vyv331) 248.87/165.25 new_primModNatS01(vyv330, vyv331, Zero, Succ(vyv3330)) -> Succ(Succ(vyv330)) 248.87/165.25 new_primMinusNatS2(Succ(vyv3100), Succ(vyv3110)) -> new_primMinusNatS2(vyv3100, vyv3110) 248.87/165.25 new_primModNatS1(Succ(Zero), Succ(vyv291000)) -> Succ(Zero) 248.87/165.25 new_primModNatS1(Zero, vyv29100) -> Zero 248.87/165.25 new_primMinusNatS2(Zero, Zero) -> Zero 248.87/165.25 new_primMinusNatS2(Zero, Succ(vyv3110)) -> Zero 248.87/165.25 new_primMinusNatS2(Succ(vyv3100), Zero) -> Succ(vyv3100) 248.87/165.25 new_esEs(Neg(Succ(vyv24100))) -> new_primEqInt(Neg(Succ(vyv24100))) 248.87/165.25 new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) 248.87/165.25 new_primEqInt(Neg(Zero)) -> True 248.87/165.25 new_primEqInt(Neg(Succ(vyv242000))) -> False 248.87/165.25 248.87/165.25 The set Q consists of the following terms: 248.87/165.25 248.87/165.25 new_primModNatS1(Succ(Zero), Succ(x0)) 248.87/165.25 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 248.87/165.25 new_primEqInt(Pos(Zero)) 248.87/165.25 new_primModNatS02(x0, x1) 248.87/165.25 new_primModNatS01(x0, x1, Succ(x2), Zero) 248.87/165.25 new_primModNatS01(x0, x1, Zero, Succ(x2)) 248.87/165.25 new_primMinusNatS2(Zero, Zero) 248.87/165.25 new_esEs(Neg(Succ(x0))) 248.87/165.25 new_primMinusNatS2(Zero, Succ(x0)) 248.87/165.25 new_primModNatS1(Succ(Zero), Zero) 248.87/165.25 new_esEs(Pos(Zero)) 248.87/165.25 new_primEqInt(Neg(Succ(x0))) 248.87/165.25 new_primMinusNatS2(Succ(x0), Zero) 248.87/165.25 new_primEqInt(Neg(Zero)) 248.87/165.25 new_primModNatS01(x0, x1, Zero, Zero) 248.87/165.25 new_primEqInt(Pos(Succ(x0))) 248.87/165.25 new_primMinusNatS2(Succ(x0), Succ(x1)) 248.87/165.25 new_primModNatS1(Succ(Succ(x0)), Zero) 248.87/165.25 new_primModNatS1(Zero, x0) 248.87/165.25 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 248.87/165.25 new_esEs(Neg(Zero)) 248.87/165.25 new_esEs(Pos(Succ(x0))) 248.87/165.25 248.87/165.25 We have to consider all minimal (P,Q,R)-chains. 248.87/165.25 ---------------------------------------- 248.87/165.25 248.87/165.25 (637) TransformationProof (EQUIVALENT) 248.87/165.25 By rewriting [LPAR04] the rule new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) at position [0,0,0,0] we obtained the following new rules [LPAR04]: 248.87/165.25 248.87/165.25 (new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))),new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))))) 248.87/165.25 248.87/165.25 248.87/165.25 ---------------------------------------- 248.87/165.25 248.87/165.25 (638) 248.87/165.25 Obligation: 248.87/165.25 Q DP problem: 248.87/165.25 The TRS P consists of the following rules: 248.87/165.25 248.87/165.25 new_gcd0Gcd'1(False, Neg(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x1))), Neg(new_primModNatS01(x0, x1, x0, x1))) 248.87/165.25 new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 248.87/165.26 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) 248.87/165.26 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) 248.87/165.26 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) 248.87/165.26 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Zero, Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) 248.87/165.26 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) 248.87/165.26 248.87/165.26 The TRS R consists of the following rules: 248.87/165.26 248.87/165.26 new_primModNatS1(Succ(Succ(vyv292000)), Succ(vyv291000)) -> new_primModNatS01(vyv292000, vyv291000, vyv292000, vyv291000) 248.87/165.26 new_primModNatS01(vyv330, vyv331, Zero, Zero) -> new_primModNatS02(vyv330, vyv331) 248.87/165.26 new_primModNatS02(vyv330, vyv331) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv330), Succ(vyv331)), Succ(vyv331)) 248.87/165.26 new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Succ(vyv3330)) -> new_primModNatS01(vyv330, vyv331, vyv3320, vyv3330) 248.87/165.26 new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Zero) -> new_primModNatS02(vyv330, vyv331) 248.87/165.26 new_primModNatS01(vyv330, vyv331, Zero, Succ(vyv3330)) -> Succ(Succ(vyv330)) 248.87/165.26 new_primMinusNatS2(Succ(vyv3100), Succ(vyv3110)) -> new_primMinusNatS2(vyv3100, vyv3110) 248.87/165.26 new_primModNatS1(Succ(Zero), Succ(vyv291000)) -> Succ(Zero) 248.87/165.26 new_primModNatS1(Zero, vyv29100) -> Zero 248.87/165.26 new_primMinusNatS2(Zero, Zero) -> Zero 248.87/165.26 new_primMinusNatS2(Zero, Succ(vyv3110)) -> Zero 248.87/165.26 new_primMinusNatS2(Succ(vyv3100), Zero) -> Succ(vyv3100) 248.87/165.26 new_esEs(Neg(Succ(vyv24100))) -> new_primEqInt(Neg(Succ(vyv24100))) 248.87/165.26 new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) 248.87/165.26 new_primEqInt(Neg(Zero)) -> True 248.87/165.26 new_primEqInt(Neg(Succ(vyv242000))) -> False 248.87/165.26 248.87/165.26 The set Q consists of the following terms: 248.87/165.26 248.87/165.26 new_primModNatS1(Succ(Zero), Succ(x0)) 248.87/165.26 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 248.87/165.26 new_primEqInt(Pos(Zero)) 248.87/165.26 new_primModNatS02(x0, x1) 248.87/165.26 new_primModNatS01(x0, x1, Succ(x2), Zero) 248.87/165.26 new_primModNatS01(x0, x1, Zero, Succ(x2)) 248.87/165.26 new_primMinusNatS2(Zero, Zero) 248.87/165.26 new_esEs(Neg(Succ(x0))) 248.87/165.26 new_primMinusNatS2(Zero, Succ(x0)) 248.87/165.26 new_primModNatS1(Succ(Zero), Zero) 248.87/165.26 new_esEs(Pos(Zero)) 248.87/165.26 new_primEqInt(Neg(Succ(x0))) 248.87/165.26 new_primMinusNatS2(Succ(x0), Zero) 248.87/165.26 new_primEqInt(Neg(Zero)) 248.87/165.26 new_primModNatS01(x0, x1, Zero, Zero) 248.87/165.26 new_primEqInt(Pos(Succ(x0))) 248.87/165.26 new_primMinusNatS2(Succ(x0), Succ(x1)) 248.87/165.26 new_primModNatS1(Succ(Succ(x0)), Zero) 248.87/165.26 new_primModNatS1(Zero, x0) 248.87/165.26 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 248.87/165.26 new_esEs(Neg(Zero)) 248.87/165.26 new_esEs(Pos(Succ(x0))) 248.87/165.26 248.87/165.26 We have to consider all minimal (P,Q,R)-chains. 248.87/165.26 ---------------------------------------- 248.87/165.26 248.87/165.26 (639) TransformationProof (EQUIVALENT) 248.87/165.26 By rewriting [LPAR04] the rule new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Zero, Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) at position [0,0,0] we obtained the following new rules [LPAR04]: 248.87/165.26 248.87/165.26 (new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(Zero)), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))),new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(Zero)), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))))) 248.87/165.26 248.87/165.26 248.87/165.26 ---------------------------------------- 248.87/165.26 248.87/165.26 (640) 248.87/165.26 Obligation: 248.87/165.26 Q DP problem: 248.87/165.26 The TRS P consists of the following rules: 248.87/165.26 248.87/165.26 new_gcd0Gcd'1(False, Neg(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x1))), Neg(new_primModNatS01(x0, x1, x0, x1))) 248.87/165.26 new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 248.87/165.26 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) 248.87/165.26 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) 248.87/165.26 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) 248.87/165.26 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) 248.87/165.26 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(Zero)), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) 248.87/165.26 248.87/165.26 The TRS R consists of the following rules: 248.87/165.26 248.87/165.26 new_primModNatS1(Succ(Succ(vyv292000)), Succ(vyv291000)) -> new_primModNatS01(vyv292000, vyv291000, vyv292000, vyv291000) 248.87/165.26 new_primModNatS01(vyv330, vyv331, Zero, Zero) -> new_primModNatS02(vyv330, vyv331) 248.87/165.26 new_primModNatS02(vyv330, vyv331) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv330), Succ(vyv331)), Succ(vyv331)) 248.87/165.26 new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Succ(vyv3330)) -> new_primModNatS01(vyv330, vyv331, vyv3320, vyv3330) 248.87/165.26 new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Zero) -> new_primModNatS02(vyv330, vyv331) 248.87/165.26 new_primModNatS01(vyv330, vyv331, Zero, Succ(vyv3330)) -> Succ(Succ(vyv330)) 248.87/165.26 new_primMinusNatS2(Succ(vyv3100), Succ(vyv3110)) -> new_primMinusNatS2(vyv3100, vyv3110) 248.87/165.26 new_primModNatS1(Succ(Zero), Succ(vyv291000)) -> Succ(Zero) 248.87/165.26 new_primModNatS1(Zero, vyv29100) -> Zero 248.87/165.26 new_primMinusNatS2(Zero, Zero) -> Zero 248.87/165.26 new_primMinusNatS2(Zero, Succ(vyv3110)) -> Zero 248.87/165.26 new_primMinusNatS2(Succ(vyv3100), Zero) -> Succ(vyv3100) 248.87/165.26 new_esEs(Neg(Succ(vyv24100))) -> new_primEqInt(Neg(Succ(vyv24100))) 248.87/165.26 new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) 248.87/165.26 new_primEqInt(Neg(Zero)) -> True 248.87/165.26 new_primEqInt(Neg(Succ(vyv242000))) -> False 248.87/165.26 248.87/165.26 The set Q consists of the following terms: 248.87/165.26 248.87/165.26 new_primModNatS1(Succ(Zero), Succ(x0)) 248.87/165.26 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 248.87/165.26 new_primEqInt(Pos(Zero)) 248.87/165.26 new_primModNatS02(x0, x1) 248.87/165.26 new_primModNatS01(x0, x1, Succ(x2), Zero) 248.87/165.26 new_primModNatS01(x0, x1, Zero, Succ(x2)) 248.87/165.26 new_primMinusNatS2(Zero, Zero) 248.87/165.26 new_esEs(Neg(Succ(x0))) 248.87/165.26 new_primMinusNatS2(Zero, Succ(x0)) 248.87/165.26 new_primModNatS1(Succ(Zero), Zero) 248.87/165.26 new_esEs(Pos(Zero)) 248.87/165.26 new_primEqInt(Neg(Succ(x0))) 248.87/165.26 new_primMinusNatS2(Succ(x0), Zero) 248.87/165.26 new_primEqInt(Neg(Zero)) 248.87/165.26 new_primModNatS01(x0, x1, Zero, Zero) 248.87/165.26 new_primEqInt(Pos(Succ(x0))) 248.87/165.26 new_primMinusNatS2(Succ(x0), Succ(x1)) 248.87/165.26 new_primModNatS1(Succ(Succ(x0)), Zero) 248.87/165.26 new_primModNatS1(Zero, x0) 248.87/165.26 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 248.87/165.26 new_esEs(Neg(Zero)) 248.87/165.26 new_esEs(Pos(Succ(x0))) 248.87/165.26 248.87/165.26 We have to consider all minimal (P,Q,R)-chains. 248.87/165.26 ---------------------------------------- 248.87/165.26 248.87/165.26 (641) DependencyGraphProof (EQUIVALENT) 248.87/165.26 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. 248.87/165.26 ---------------------------------------- 248.87/165.26 248.87/165.26 (642) 248.87/165.26 Obligation: 248.87/165.26 Q DP problem: 248.87/165.26 The TRS P consists of the following rules: 248.87/165.26 248.87/165.26 new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 248.87/165.26 new_gcd0Gcd'1(False, Neg(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x1))), Neg(new_primModNatS01(x0, x1, x0, x1))) 248.87/165.26 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) 248.87/165.26 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) 248.87/165.26 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) 248.87/165.26 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) 248.87/165.26 248.87/165.26 The TRS R consists of the following rules: 248.87/165.26 248.87/165.26 new_primModNatS1(Succ(Succ(vyv292000)), Succ(vyv291000)) -> new_primModNatS01(vyv292000, vyv291000, vyv292000, vyv291000) 248.87/165.26 new_primModNatS01(vyv330, vyv331, Zero, Zero) -> new_primModNatS02(vyv330, vyv331) 248.87/165.26 new_primModNatS02(vyv330, vyv331) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv330), Succ(vyv331)), Succ(vyv331)) 248.87/165.26 new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Succ(vyv3330)) -> new_primModNatS01(vyv330, vyv331, vyv3320, vyv3330) 248.87/165.26 new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Zero) -> new_primModNatS02(vyv330, vyv331) 248.87/165.26 new_primModNatS01(vyv330, vyv331, Zero, Succ(vyv3330)) -> Succ(Succ(vyv330)) 248.87/165.26 new_primMinusNatS2(Succ(vyv3100), Succ(vyv3110)) -> new_primMinusNatS2(vyv3100, vyv3110) 248.87/165.26 new_primModNatS1(Succ(Zero), Succ(vyv291000)) -> Succ(Zero) 248.87/165.26 new_primModNatS1(Zero, vyv29100) -> Zero 248.87/165.26 new_primMinusNatS2(Zero, Zero) -> Zero 248.87/165.26 new_primMinusNatS2(Zero, Succ(vyv3110)) -> Zero 248.87/165.26 new_primMinusNatS2(Succ(vyv3100), Zero) -> Succ(vyv3100) 248.87/165.26 new_esEs(Neg(Succ(vyv24100))) -> new_primEqInt(Neg(Succ(vyv24100))) 248.87/165.26 new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) 248.87/165.26 new_primEqInt(Neg(Zero)) -> True 248.87/165.26 new_primEqInt(Neg(Succ(vyv242000))) -> False 248.87/165.26 248.87/165.26 The set Q consists of the following terms: 248.87/165.26 248.87/165.26 new_primModNatS1(Succ(Zero), Succ(x0)) 248.87/165.26 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 248.87/165.26 new_primEqInt(Pos(Zero)) 248.87/165.26 new_primModNatS02(x0, x1) 248.87/165.26 new_primModNatS01(x0, x1, Succ(x2), Zero) 248.87/165.26 new_primModNatS01(x0, x1, Zero, Succ(x2)) 248.87/165.26 new_primMinusNatS2(Zero, Zero) 248.87/165.26 new_esEs(Neg(Succ(x0))) 248.87/165.26 new_primMinusNatS2(Zero, Succ(x0)) 248.87/165.26 new_primModNatS1(Succ(Zero), Zero) 248.87/165.26 new_esEs(Pos(Zero)) 248.87/165.26 new_primEqInt(Neg(Succ(x0))) 248.87/165.26 new_primMinusNatS2(Succ(x0), Zero) 248.87/165.26 new_primEqInt(Neg(Zero)) 248.87/165.26 new_primModNatS01(x0, x1, Zero, Zero) 248.87/165.26 new_primEqInt(Pos(Succ(x0))) 248.87/165.26 new_primMinusNatS2(Succ(x0), Succ(x1)) 248.87/165.26 new_primModNatS1(Succ(Succ(x0)), Zero) 248.87/165.26 new_primModNatS1(Zero, x0) 248.87/165.26 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 248.87/165.26 new_esEs(Neg(Zero)) 248.87/165.26 new_esEs(Pos(Succ(x0))) 248.87/165.26 248.87/165.26 We have to consider all minimal (P,Q,R)-chains. 248.87/165.26 ---------------------------------------- 248.87/165.26 248.87/165.26 (643) TransformationProof (EQUIVALENT) 248.87/165.26 By narrowing [LPAR04] the rule new_gcd0Gcd'1(False, Neg(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x1))), Neg(new_primModNatS01(x0, x1, x0, x1))) at position [1,0] we obtained the following new rules [LPAR04]: 248.87/165.26 248.87/165.26 (new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Neg(new_primModNatS02(Zero, Zero))),new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Neg(new_primModNatS02(Zero, Zero)))) 248.92/165.26 (new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x3)))), Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))),new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x3)))), Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3)))) 248.92/165.26 (new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Neg(new_primModNatS02(Succ(x2), Zero))),new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Neg(new_primModNatS02(Succ(x2), Zero)))) 248.92/165.26 (new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))),new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))))) 248.92/165.26 248.92/165.26 248.92/165.26 ---------------------------------------- 248.92/165.26 248.92/165.26 (644) 248.92/165.26 Obligation: 248.92/165.26 Q DP problem: 248.92/165.26 The TRS P consists of the following rules: 248.92/165.26 248.92/165.26 new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 248.92/165.26 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) 248.92/165.26 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) 248.92/165.26 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) 248.92/165.26 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) 248.92/165.26 new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Neg(new_primModNatS02(Zero, Zero))) 248.92/165.26 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x3)))), Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))) 248.92/165.26 new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Neg(new_primModNatS02(Succ(x2), Zero))) 248.92/165.26 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 248.92/165.26 248.92/165.26 The TRS R consists of the following rules: 248.92/165.26 248.92/165.26 new_primModNatS1(Succ(Succ(vyv292000)), Succ(vyv291000)) -> new_primModNatS01(vyv292000, vyv291000, vyv292000, vyv291000) 248.92/165.26 new_primModNatS01(vyv330, vyv331, Zero, Zero) -> new_primModNatS02(vyv330, vyv331) 248.92/165.26 new_primModNatS02(vyv330, vyv331) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv330), Succ(vyv331)), Succ(vyv331)) 248.92/165.26 new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Succ(vyv3330)) -> new_primModNatS01(vyv330, vyv331, vyv3320, vyv3330) 248.92/165.26 new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Zero) -> new_primModNatS02(vyv330, vyv331) 248.92/165.26 new_primModNatS01(vyv330, vyv331, Zero, Succ(vyv3330)) -> Succ(Succ(vyv330)) 248.92/165.26 new_primMinusNatS2(Succ(vyv3100), Succ(vyv3110)) -> new_primMinusNatS2(vyv3100, vyv3110) 248.92/165.26 new_primModNatS1(Succ(Zero), Succ(vyv291000)) -> Succ(Zero) 248.92/165.26 new_primModNatS1(Zero, vyv29100) -> Zero 248.92/165.26 new_primMinusNatS2(Zero, Zero) -> Zero 248.92/165.26 new_primMinusNatS2(Zero, Succ(vyv3110)) -> Zero 248.92/165.26 new_primMinusNatS2(Succ(vyv3100), Zero) -> Succ(vyv3100) 248.92/165.26 new_esEs(Neg(Succ(vyv24100))) -> new_primEqInt(Neg(Succ(vyv24100))) 248.92/165.26 new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) 248.92/165.26 new_primEqInt(Neg(Zero)) -> True 248.92/165.26 new_primEqInt(Neg(Succ(vyv242000))) -> False 248.92/165.26 248.92/165.26 The set Q consists of the following terms: 248.92/165.26 248.92/165.26 new_primModNatS1(Succ(Zero), Succ(x0)) 248.92/165.26 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 248.92/165.26 new_primEqInt(Pos(Zero)) 248.92/165.26 new_primModNatS02(x0, x1) 248.92/165.26 new_primModNatS01(x0, x1, Succ(x2), Zero) 248.92/165.26 new_primModNatS01(x0, x1, Zero, Succ(x2)) 248.92/165.26 new_primMinusNatS2(Zero, Zero) 248.92/165.26 new_esEs(Neg(Succ(x0))) 248.92/165.26 new_primMinusNatS2(Zero, Succ(x0)) 248.92/165.26 new_primModNatS1(Succ(Zero), Zero) 248.92/165.26 new_esEs(Pos(Zero)) 248.92/165.26 new_primEqInt(Neg(Succ(x0))) 248.92/165.26 new_primMinusNatS2(Succ(x0), Zero) 248.92/165.26 new_primEqInt(Neg(Zero)) 248.92/165.26 new_primModNatS01(x0, x1, Zero, Zero) 248.92/165.26 new_primEqInt(Pos(Succ(x0))) 248.92/165.26 new_primMinusNatS2(Succ(x0), Succ(x1)) 248.92/165.26 new_primModNatS1(Succ(Succ(x0)), Zero) 248.92/165.26 new_primModNatS1(Zero, x0) 248.92/165.26 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 248.92/165.26 new_esEs(Neg(Zero)) 248.92/165.26 new_esEs(Pos(Succ(x0))) 248.92/165.26 248.92/165.26 We have to consider all minimal (P,Q,R)-chains. 248.92/165.26 ---------------------------------------- 248.92/165.26 248.92/165.26 (645) DependencyGraphProof (EQUIVALENT) 248.92/165.26 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 2 SCCs with 1 less node. 248.92/165.26 ---------------------------------------- 248.92/165.26 248.92/165.26 (646) 248.92/165.26 Complex Obligation (AND) 248.92/165.26 248.92/165.26 ---------------------------------------- 248.92/165.26 248.92/165.26 (647) 248.92/165.26 Obligation: 248.92/165.26 Q DP problem: 248.92/165.26 The TRS P consists of the following rules: 248.92/165.26 248.92/165.26 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 248.92/165.26 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) 248.92/165.26 new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Neg(new_primModNatS02(Succ(x2), Zero))) 248.92/165.26 new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 248.92/165.26 248.92/165.26 The TRS R consists of the following rules: 248.92/165.26 248.92/165.26 new_primModNatS1(Succ(Succ(vyv292000)), Succ(vyv291000)) -> new_primModNatS01(vyv292000, vyv291000, vyv292000, vyv291000) 248.92/165.26 new_primModNatS01(vyv330, vyv331, Zero, Zero) -> new_primModNatS02(vyv330, vyv331) 248.92/165.26 new_primModNatS02(vyv330, vyv331) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv330), Succ(vyv331)), Succ(vyv331)) 248.92/165.26 new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Succ(vyv3330)) -> new_primModNatS01(vyv330, vyv331, vyv3320, vyv3330) 248.92/165.26 new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Zero) -> new_primModNatS02(vyv330, vyv331) 248.92/165.26 new_primModNatS01(vyv330, vyv331, Zero, Succ(vyv3330)) -> Succ(Succ(vyv330)) 248.92/165.26 new_primMinusNatS2(Succ(vyv3100), Succ(vyv3110)) -> new_primMinusNatS2(vyv3100, vyv3110) 248.92/165.26 new_primModNatS1(Succ(Zero), Succ(vyv291000)) -> Succ(Zero) 248.92/165.26 new_primModNatS1(Zero, vyv29100) -> Zero 248.92/165.26 new_primMinusNatS2(Zero, Zero) -> Zero 248.92/165.26 new_primMinusNatS2(Zero, Succ(vyv3110)) -> Zero 248.92/165.26 new_primMinusNatS2(Succ(vyv3100), Zero) -> Succ(vyv3100) 248.92/165.26 new_esEs(Neg(Succ(vyv24100))) -> new_primEqInt(Neg(Succ(vyv24100))) 248.92/165.26 new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) 248.92/165.26 new_primEqInt(Neg(Zero)) -> True 248.92/165.26 new_primEqInt(Neg(Succ(vyv242000))) -> False 248.92/165.26 248.92/165.26 The set Q consists of the following terms: 248.92/165.26 248.92/165.26 new_primModNatS1(Succ(Zero), Succ(x0)) 248.92/165.26 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 248.92/165.26 new_primEqInt(Pos(Zero)) 248.92/165.26 new_primModNatS02(x0, x1) 248.92/165.26 new_primModNatS01(x0, x1, Succ(x2), Zero) 248.92/165.26 new_primModNatS01(x0, x1, Zero, Succ(x2)) 248.92/165.26 new_primMinusNatS2(Zero, Zero) 248.92/165.26 new_esEs(Neg(Succ(x0))) 248.92/165.26 new_primMinusNatS2(Zero, Succ(x0)) 248.92/165.26 new_primModNatS1(Succ(Zero), Zero) 248.92/165.26 new_esEs(Pos(Zero)) 248.92/165.26 new_primEqInt(Neg(Succ(x0))) 248.92/165.26 new_primMinusNatS2(Succ(x0), Zero) 248.92/165.26 new_primEqInt(Neg(Zero)) 248.92/165.26 new_primModNatS01(x0, x1, Zero, Zero) 248.92/165.26 new_primEqInt(Pos(Succ(x0))) 248.92/165.26 new_primMinusNatS2(Succ(x0), Succ(x1)) 248.92/165.26 new_primModNatS1(Succ(Succ(x0)), Zero) 248.92/165.26 new_primModNatS1(Zero, x0) 248.92/165.26 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 248.92/165.26 new_esEs(Neg(Zero)) 248.92/165.26 new_esEs(Pos(Succ(x0))) 248.92/165.26 248.92/165.26 We have to consider all minimal (P,Q,R)-chains. 248.92/165.26 ---------------------------------------- 248.92/165.26 248.92/165.26 (648) TransformationProof (EQUIVALENT) 248.92/165.26 By rewriting [LPAR04] the rule new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Neg(new_primModNatS02(Succ(x2), Zero))) at position [1,0] we obtained the following new rules [LPAR04]: 248.92/165.26 248.92/165.26 (new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Zero)))),new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Zero))))) 248.92/165.26 248.92/165.26 248.92/165.26 ---------------------------------------- 248.92/165.26 248.92/165.26 (649) 248.92/165.26 Obligation: 248.92/165.26 Q DP problem: 248.92/165.26 The TRS P consists of the following rules: 248.92/165.26 248.92/165.26 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 248.92/165.26 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) 248.92/165.26 new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 248.92/165.26 new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Zero)))) 248.92/165.26 248.92/165.26 The TRS R consists of the following rules: 248.92/165.26 248.92/165.26 new_primModNatS1(Succ(Succ(vyv292000)), Succ(vyv291000)) -> new_primModNatS01(vyv292000, vyv291000, vyv292000, vyv291000) 248.92/165.26 new_primModNatS01(vyv330, vyv331, Zero, Zero) -> new_primModNatS02(vyv330, vyv331) 248.92/165.26 new_primModNatS02(vyv330, vyv331) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv330), Succ(vyv331)), Succ(vyv331)) 248.92/165.26 new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Succ(vyv3330)) -> new_primModNatS01(vyv330, vyv331, vyv3320, vyv3330) 248.92/165.26 new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Zero) -> new_primModNatS02(vyv330, vyv331) 248.92/165.26 new_primModNatS01(vyv330, vyv331, Zero, Succ(vyv3330)) -> Succ(Succ(vyv330)) 248.92/165.26 new_primMinusNatS2(Succ(vyv3100), Succ(vyv3110)) -> new_primMinusNatS2(vyv3100, vyv3110) 248.92/165.26 new_primModNatS1(Succ(Zero), Succ(vyv291000)) -> Succ(Zero) 248.92/165.26 new_primModNatS1(Zero, vyv29100) -> Zero 248.92/165.26 new_primMinusNatS2(Zero, Zero) -> Zero 248.92/165.26 new_primMinusNatS2(Zero, Succ(vyv3110)) -> Zero 248.92/165.26 new_primMinusNatS2(Succ(vyv3100), Zero) -> Succ(vyv3100) 248.92/165.26 new_esEs(Neg(Succ(vyv24100))) -> new_primEqInt(Neg(Succ(vyv24100))) 248.92/165.26 new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) 248.92/165.26 new_primEqInt(Neg(Zero)) -> True 248.92/165.26 new_primEqInt(Neg(Succ(vyv242000))) -> False 248.92/165.26 248.92/165.26 The set Q consists of the following terms: 248.92/165.26 248.92/165.26 new_primModNatS1(Succ(Zero), Succ(x0)) 248.92/165.26 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 248.92/165.26 new_primEqInt(Pos(Zero)) 248.92/165.26 new_primModNatS02(x0, x1) 248.92/165.26 new_primModNatS01(x0, x1, Succ(x2), Zero) 248.92/165.26 new_primModNatS01(x0, x1, Zero, Succ(x2)) 248.92/165.26 new_primMinusNatS2(Zero, Zero) 248.92/165.26 new_esEs(Neg(Succ(x0))) 248.92/165.26 new_primMinusNatS2(Zero, Succ(x0)) 248.92/165.26 new_primModNatS1(Succ(Zero), Zero) 248.92/165.26 new_esEs(Pos(Zero)) 248.92/165.26 new_primEqInt(Neg(Succ(x0))) 248.92/165.26 new_primMinusNatS2(Succ(x0), Zero) 248.92/165.26 new_primEqInt(Neg(Zero)) 248.92/165.26 new_primModNatS01(x0, x1, Zero, Zero) 248.92/165.26 new_primEqInt(Pos(Succ(x0))) 248.92/165.26 new_primMinusNatS2(Succ(x0), Succ(x1)) 248.92/165.26 new_primModNatS1(Succ(Succ(x0)), Zero) 248.92/165.26 new_primModNatS1(Zero, x0) 248.92/165.26 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 248.92/165.26 new_esEs(Neg(Zero)) 248.92/165.26 new_esEs(Pos(Succ(x0))) 248.92/165.26 248.92/165.26 We have to consider all minimal (P,Q,R)-chains. 248.92/165.26 ---------------------------------------- 248.92/165.26 248.92/165.26 (650) TransformationProof (EQUIVALENT) 248.92/165.26 By rewriting [LPAR04] the rule new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Zero)))) at position [1,0,0] we obtained the following new rules [LPAR04]: 248.92/165.26 248.92/165.26 (new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Zero)))),new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Zero))))) 248.92/165.26 248.92/165.26 248.92/165.26 ---------------------------------------- 248.92/165.26 248.92/165.26 (651) 248.92/165.26 Obligation: 248.92/165.26 Q DP problem: 248.92/165.26 The TRS P consists of the following rules: 248.92/165.26 248.92/165.26 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 248.92/165.26 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) 248.92/165.26 new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 248.92/165.26 new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Zero)))) 248.92/165.26 248.92/165.26 The TRS R consists of the following rules: 248.92/165.26 248.92/165.26 new_primModNatS1(Succ(Succ(vyv292000)), Succ(vyv291000)) -> new_primModNatS01(vyv292000, vyv291000, vyv292000, vyv291000) 248.92/165.26 new_primModNatS01(vyv330, vyv331, Zero, Zero) -> new_primModNatS02(vyv330, vyv331) 248.92/165.26 new_primModNatS02(vyv330, vyv331) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv330), Succ(vyv331)), Succ(vyv331)) 248.92/165.26 new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Succ(vyv3330)) -> new_primModNatS01(vyv330, vyv331, vyv3320, vyv3330) 248.92/165.26 new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Zero) -> new_primModNatS02(vyv330, vyv331) 248.92/165.26 new_primModNatS01(vyv330, vyv331, Zero, Succ(vyv3330)) -> Succ(Succ(vyv330)) 248.92/165.26 new_primMinusNatS2(Succ(vyv3100), Succ(vyv3110)) -> new_primMinusNatS2(vyv3100, vyv3110) 248.92/165.26 new_primModNatS1(Succ(Zero), Succ(vyv291000)) -> Succ(Zero) 248.92/165.26 new_primModNatS1(Zero, vyv29100) -> Zero 248.92/165.26 new_primMinusNatS2(Zero, Zero) -> Zero 248.92/165.26 new_primMinusNatS2(Zero, Succ(vyv3110)) -> Zero 248.92/165.26 new_primMinusNatS2(Succ(vyv3100), Zero) -> Succ(vyv3100) 248.92/165.26 new_esEs(Neg(Succ(vyv24100))) -> new_primEqInt(Neg(Succ(vyv24100))) 248.92/165.26 new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) 248.92/165.26 new_primEqInt(Neg(Zero)) -> True 248.92/165.26 new_primEqInt(Neg(Succ(vyv242000))) -> False 248.92/165.26 248.92/165.26 The set Q consists of the following terms: 248.92/165.26 248.92/165.26 new_primModNatS1(Succ(Zero), Succ(x0)) 248.92/165.26 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 248.92/165.26 new_primEqInt(Pos(Zero)) 248.92/165.26 new_primModNatS02(x0, x1) 248.92/165.26 new_primModNatS01(x0, x1, Succ(x2), Zero) 248.92/165.26 new_primModNatS01(x0, x1, Zero, Succ(x2)) 248.92/165.26 new_primMinusNatS2(Zero, Zero) 248.92/165.26 new_esEs(Neg(Succ(x0))) 248.92/165.26 new_primMinusNatS2(Zero, Succ(x0)) 248.92/165.26 new_primModNatS1(Succ(Zero), Zero) 248.92/165.26 new_esEs(Pos(Zero)) 248.92/165.26 new_primEqInt(Neg(Succ(x0))) 248.92/165.26 new_primMinusNatS2(Succ(x0), Zero) 248.92/165.26 new_primEqInt(Neg(Zero)) 248.92/165.26 new_primModNatS01(x0, x1, Zero, Zero) 248.92/165.26 new_primEqInt(Pos(Succ(x0))) 248.92/165.26 new_primMinusNatS2(Succ(x0), Succ(x1)) 248.92/165.26 new_primModNatS1(Succ(Succ(x0)), Zero) 248.92/165.26 new_primModNatS1(Zero, x0) 248.92/165.26 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 248.92/165.26 new_esEs(Neg(Zero)) 248.92/165.26 new_esEs(Pos(Succ(x0))) 248.92/165.26 248.92/165.26 We have to consider all minimal (P,Q,R)-chains. 248.92/165.26 ---------------------------------------- 248.92/165.26 248.92/165.26 (652) TransformationProof (EQUIVALENT) 248.92/165.26 By rewriting [LPAR04] the rule new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Zero)))) at position [1,0,0] we obtained the following new rules [LPAR04]: 248.92/165.26 248.92/165.26 (new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))),new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero))))) 248.92/165.26 248.92/165.26 248.92/165.26 ---------------------------------------- 248.92/165.26 248.92/165.26 (653) 248.92/165.26 Obligation: 248.92/165.26 Q DP problem: 248.92/165.26 The TRS P consists of the following rules: 248.92/165.26 248.92/165.26 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 248.92/165.26 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) 248.92/165.26 new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 248.92/165.26 new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 248.92/165.26 248.92/165.26 The TRS R consists of the following rules: 248.92/165.26 248.92/165.26 new_primModNatS1(Succ(Succ(vyv292000)), Succ(vyv291000)) -> new_primModNatS01(vyv292000, vyv291000, vyv292000, vyv291000) 248.92/165.26 new_primModNatS01(vyv330, vyv331, Zero, Zero) -> new_primModNatS02(vyv330, vyv331) 248.92/165.26 new_primModNatS02(vyv330, vyv331) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv330), Succ(vyv331)), Succ(vyv331)) 248.92/165.26 new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Succ(vyv3330)) -> new_primModNatS01(vyv330, vyv331, vyv3320, vyv3330) 248.92/165.26 new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Zero) -> new_primModNatS02(vyv330, vyv331) 248.92/165.26 new_primModNatS01(vyv330, vyv331, Zero, Succ(vyv3330)) -> Succ(Succ(vyv330)) 248.92/165.26 new_primMinusNatS2(Succ(vyv3100), Succ(vyv3110)) -> new_primMinusNatS2(vyv3100, vyv3110) 248.92/165.26 new_primModNatS1(Succ(Zero), Succ(vyv291000)) -> Succ(Zero) 248.92/165.26 new_primModNatS1(Zero, vyv29100) -> Zero 248.92/165.26 new_primMinusNatS2(Zero, Zero) -> Zero 248.92/165.26 new_primMinusNatS2(Zero, Succ(vyv3110)) -> Zero 248.92/165.26 new_primMinusNatS2(Succ(vyv3100), Zero) -> Succ(vyv3100) 248.92/165.26 new_esEs(Neg(Succ(vyv24100))) -> new_primEqInt(Neg(Succ(vyv24100))) 248.92/165.26 new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) 248.92/165.26 new_primEqInt(Neg(Zero)) -> True 248.92/165.26 new_primEqInt(Neg(Succ(vyv242000))) -> False 248.92/165.26 248.92/165.26 The set Q consists of the following terms: 248.92/165.26 248.92/165.26 new_primModNatS1(Succ(Zero), Succ(x0)) 248.92/165.26 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 248.92/165.26 new_primEqInt(Pos(Zero)) 248.92/165.26 new_primModNatS02(x0, x1) 248.92/165.26 new_primModNatS01(x0, x1, Succ(x2), Zero) 248.92/165.26 new_primModNatS01(x0, x1, Zero, Succ(x2)) 248.92/165.26 new_primMinusNatS2(Zero, Zero) 248.92/165.26 new_esEs(Neg(Succ(x0))) 248.92/165.26 new_primMinusNatS2(Zero, Succ(x0)) 248.92/165.26 new_primModNatS1(Succ(Zero), Zero) 248.92/165.26 new_esEs(Pos(Zero)) 248.92/165.26 new_primEqInt(Neg(Succ(x0))) 248.92/165.26 new_primMinusNatS2(Succ(x0), Zero) 248.92/165.26 new_primEqInt(Neg(Zero)) 248.92/165.26 new_primModNatS01(x0, x1, Zero, Zero) 248.92/165.26 new_primEqInt(Pos(Succ(x0))) 248.92/165.26 new_primMinusNatS2(Succ(x0), Succ(x1)) 248.92/165.26 new_primModNatS1(Succ(Succ(x0)), Zero) 248.92/165.26 new_primModNatS1(Zero, x0) 248.92/165.26 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 248.92/165.26 new_esEs(Neg(Zero)) 248.92/165.26 new_esEs(Pos(Succ(x0))) 248.92/165.26 248.92/165.26 We have to consider all minimal (P,Q,R)-chains. 248.92/165.26 ---------------------------------------- 248.92/165.26 248.92/165.26 (654) TransformationProof (EQUIVALENT) 248.92/165.26 By narrowing [LPAR04] the rule new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) at position [0] we obtained the following new rules [LPAR04]: 248.92/165.26 248.92/165.26 (new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(x0, Zero, x0, Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0)))))),new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(x0, Zero, x0, Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0))))))) 248.92/165.26 (new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Neg(Succ(Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero))))),new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Neg(Succ(Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero)))))) 248.92/165.26 248.92/165.26 248.92/165.26 ---------------------------------------- 248.92/165.26 248.92/165.26 (655) 248.92/165.26 Obligation: 248.92/165.26 Q DP problem: 248.92/165.26 The TRS P consists of the following rules: 248.92/165.26 248.92/165.26 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 248.92/165.26 new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 248.92/165.26 new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 248.92/165.26 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(x0, Zero, x0, Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0)))))) 248.92/165.26 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Neg(Succ(Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero))))) 248.92/165.26 248.92/165.26 The TRS R consists of the following rules: 248.92/165.26 248.92/165.26 new_primModNatS1(Succ(Succ(vyv292000)), Succ(vyv291000)) -> new_primModNatS01(vyv292000, vyv291000, vyv292000, vyv291000) 248.92/165.26 new_primModNatS01(vyv330, vyv331, Zero, Zero) -> new_primModNatS02(vyv330, vyv331) 248.92/165.26 new_primModNatS02(vyv330, vyv331) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv330), Succ(vyv331)), Succ(vyv331)) 248.92/165.26 new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Succ(vyv3330)) -> new_primModNatS01(vyv330, vyv331, vyv3320, vyv3330) 248.92/165.26 new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Zero) -> new_primModNatS02(vyv330, vyv331) 248.92/165.26 new_primModNatS01(vyv330, vyv331, Zero, Succ(vyv3330)) -> Succ(Succ(vyv330)) 248.92/165.26 new_primMinusNatS2(Succ(vyv3100), Succ(vyv3110)) -> new_primMinusNatS2(vyv3100, vyv3110) 248.92/165.26 new_primModNatS1(Succ(Zero), Succ(vyv291000)) -> Succ(Zero) 248.92/165.26 new_primModNatS1(Zero, vyv29100) -> Zero 248.92/165.26 new_primMinusNatS2(Zero, Zero) -> Zero 248.92/165.26 new_primMinusNatS2(Zero, Succ(vyv3110)) -> Zero 248.92/165.26 new_primMinusNatS2(Succ(vyv3100), Zero) -> Succ(vyv3100) 248.92/165.26 new_esEs(Neg(Succ(vyv24100))) -> new_primEqInt(Neg(Succ(vyv24100))) 248.92/165.26 new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) 248.92/165.26 new_primEqInt(Neg(Zero)) -> True 248.92/165.26 new_primEqInt(Neg(Succ(vyv242000))) -> False 248.92/165.26 248.92/165.26 The set Q consists of the following terms: 248.92/165.26 248.92/165.26 new_primModNatS1(Succ(Zero), Succ(x0)) 248.92/165.26 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 248.92/165.26 new_primEqInt(Pos(Zero)) 248.92/165.26 new_primModNatS02(x0, x1) 248.92/165.26 new_primModNatS01(x0, x1, Succ(x2), Zero) 248.92/165.26 new_primModNatS01(x0, x1, Zero, Succ(x2)) 248.92/165.26 new_primMinusNatS2(Zero, Zero) 248.92/165.26 new_esEs(Neg(Succ(x0))) 248.92/165.26 new_primMinusNatS2(Zero, Succ(x0)) 248.92/165.26 new_primModNatS1(Succ(Zero), Zero) 248.92/165.26 new_esEs(Pos(Zero)) 248.92/165.26 new_primEqInt(Neg(Succ(x0))) 248.92/165.26 new_primMinusNatS2(Succ(x0), Zero) 248.92/165.26 new_primEqInt(Neg(Zero)) 248.92/165.26 new_primModNatS01(x0, x1, Zero, Zero) 248.92/165.26 new_primEqInt(Pos(Succ(x0))) 248.92/165.26 new_primMinusNatS2(Succ(x0), Succ(x1)) 248.92/165.26 new_primModNatS1(Succ(Succ(x0)), Zero) 248.92/165.26 new_primModNatS1(Zero, x0) 248.92/165.26 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 248.92/165.26 new_esEs(Neg(Zero)) 248.92/165.26 new_esEs(Pos(Succ(x0))) 248.92/165.26 248.92/165.26 We have to consider all minimal (P,Q,R)-chains. 248.92/165.26 ---------------------------------------- 248.92/165.26 248.92/165.26 (656) TransformationProof (EQUIVALENT) 248.92/165.26 By rewriting [LPAR04] the rule new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Neg(Succ(Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero))))) at position [0] we obtained the following new rules [LPAR04]: 248.92/165.26 248.92/165.26 (new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_primEqInt(Neg(Succ(Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero))))),new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_primEqInt(Neg(Succ(Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero)))))) 248.92/165.26 248.92/165.26 248.92/165.26 ---------------------------------------- 248.92/165.26 248.92/165.26 (657) 248.92/165.26 Obligation: 248.92/165.26 Q DP problem: 248.92/165.26 The TRS P consists of the following rules: 248.92/165.26 248.92/165.26 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 248.92/165.26 new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 248.92/165.26 new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 248.92/165.26 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(x0, Zero, x0, Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0)))))) 248.92/165.26 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_primEqInt(Neg(Succ(Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero))))) 248.92/165.26 248.92/165.26 The TRS R consists of the following rules: 248.92/165.26 248.92/165.26 new_primModNatS1(Succ(Succ(vyv292000)), Succ(vyv291000)) -> new_primModNatS01(vyv292000, vyv291000, vyv292000, vyv291000) 248.92/165.26 new_primModNatS01(vyv330, vyv331, Zero, Zero) -> new_primModNatS02(vyv330, vyv331) 248.92/165.26 new_primModNatS02(vyv330, vyv331) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv330), Succ(vyv331)), Succ(vyv331)) 248.92/165.26 new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Succ(vyv3330)) -> new_primModNatS01(vyv330, vyv331, vyv3320, vyv3330) 248.92/165.26 new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Zero) -> new_primModNatS02(vyv330, vyv331) 248.92/165.26 new_primModNatS01(vyv330, vyv331, Zero, Succ(vyv3330)) -> Succ(Succ(vyv330)) 248.92/165.26 new_primMinusNatS2(Succ(vyv3100), Succ(vyv3110)) -> new_primMinusNatS2(vyv3100, vyv3110) 248.92/165.26 new_primModNatS1(Succ(Zero), Succ(vyv291000)) -> Succ(Zero) 248.92/165.26 new_primModNatS1(Zero, vyv29100) -> Zero 248.92/165.26 new_primMinusNatS2(Zero, Zero) -> Zero 248.92/165.26 new_primMinusNatS2(Zero, Succ(vyv3110)) -> Zero 248.92/165.26 new_primMinusNatS2(Succ(vyv3100), Zero) -> Succ(vyv3100) 248.92/165.26 new_esEs(Neg(Succ(vyv24100))) -> new_primEqInt(Neg(Succ(vyv24100))) 248.92/165.26 new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) 248.92/165.26 new_primEqInt(Neg(Zero)) -> True 248.92/165.26 new_primEqInt(Neg(Succ(vyv242000))) -> False 248.92/165.26 248.92/165.26 The set Q consists of the following terms: 248.92/165.26 248.92/165.26 new_primModNatS1(Succ(Zero), Succ(x0)) 248.92/165.26 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 248.92/165.26 new_primEqInt(Pos(Zero)) 248.92/165.26 new_primModNatS02(x0, x1) 248.92/165.26 new_primModNatS01(x0, x1, Succ(x2), Zero) 248.92/165.26 new_primModNatS01(x0, x1, Zero, Succ(x2)) 248.92/165.26 new_primMinusNatS2(Zero, Zero) 248.92/165.26 new_esEs(Neg(Succ(x0))) 248.92/165.26 new_primMinusNatS2(Zero, Succ(x0)) 248.92/165.26 new_primModNatS1(Succ(Zero), Zero) 248.92/165.26 new_esEs(Pos(Zero)) 248.92/165.26 new_primEqInt(Neg(Succ(x0))) 248.92/165.26 new_primMinusNatS2(Succ(x0), Zero) 248.92/165.26 new_primEqInt(Neg(Zero)) 248.92/165.26 new_primModNatS01(x0, x1, Zero, Zero) 248.92/165.26 new_primEqInt(Pos(Succ(x0))) 248.92/165.26 new_primMinusNatS2(Succ(x0), Succ(x1)) 248.92/165.26 new_primModNatS1(Succ(Succ(x0)), Zero) 248.92/165.26 new_primModNatS1(Zero, x0) 248.92/165.26 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 248.92/165.26 new_esEs(Neg(Zero)) 248.92/165.26 new_esEs(Pos(Succ(x0))) 248.92/165.26 248.92/165.26 We have to consider all minimal (P,Q,R)-chains. 248.92/165.26 ---------------------------------------- 248.92/165.26 248.92/165.26 (658) TransformationProof (EQUIVALENT) 248.92/165.26 By rewriting [LPAR04] the rule new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_primEqInt(Neg(Succ(Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero))))) at position [0] we obtained the following new rules [LPAR04]: 248.92/165.26 248.92/165.26 (new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero))))),new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero)))))) 248.92/165.26 248.92/165.26 248.92/165.26 ---------------------------------------- 248.92/165.26 248.92/165.26 (659) 248.92/165.26 Obligation: 248.92/165.26 Q DP problem: 248.92/165.26 The TRS P consists of the following rules: 248.92/165.26 248.92/165.26 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 248.92/165.26 new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 248.92/165.26 new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 248.92/165.26 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(x0, Zero, x0, Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0)))))) 248.92/165.26 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero))))) 248.92/165.26 248.92/165.26 The TRS R consists of the following rules: 248.92/165.26 248.92/165.26 new_primModNatS1(Succ(Succ(vyv292000)), Succ(vyv291000)) -> new_primModNatS01(vyv292000, vyv291000, vyv292000, vyv291000) 248.92/165.26 new_primModNatS01(vyv330, vyv331, Zero, Zero) -> new_primModNatS02(vyv330, vyv331) 248.92/165.26 new_primModNatS02(vyv330, vyv331) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv330), Succ(vyv331)), Succ(vyv331)) 248.92/165.26 new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Succ(vyv3330)) -> new_primModNatS01(vyv330, vyv331, vyv3320, vyv3330) 248.92/165.26 new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Zero) -> new_primModNatS02(vyv330, vyv331) 248.92/165.26 new_primModNatS01(vyv330, vyv331, Zero, Succ(vyv3330)) -> Succ(Succ(vyv330)) 248.92/165.26 new_primMinusNatS2(Succ(vyv3100), Succ(vyv3110)) -> new_primMinusNatS2(vyv3100, vyv3110) 248.92/165.26 new_primModNatS1(Succ(Zero), Succ(vyv291000)) -> Succ(Zero) 248.92/165.26 new_primModNatS1(Zero, vyv29100) -> Zero 248.92/165.26 new_primMinusNatS2(Zero, Zero) -> Zero 248.92/165.26 new_primMinusNatS2(Zero, Succ(vyv3110)) -> Zero 248.92/165.26 new_primMinusNatS2(Succ(vyv3100), Zero) -> Succ(vyv3100) 248.92/165.26 new_esEs(Neg(Succ(vyv24100))) -> new_primEqInt(Neg(Succ(vyv24100))) 248.92/165.26 new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) 248.92/165.26 new_primEqInt(Neg(Zero)) -> True 248.92/165.26 new_primEqInt(Neg(Succ(vyv242000))) -> False 248.92/165.26 248.92/165.26 The set Q consists of the following terms: 248.92/165.26 248.92/165.26 new_primModNatS1(Succ(Zero), Succ(x0)) 248.92/165.26 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 248.92/165.26 new_primEqInt(Pos(Zero)) 248.92/165.26 new_primModNatS02(x0, x1) 248.92/165.26 new_primModNatS01(x0, x1, Succ(x2), Zero) 248.92/165.26 new_primModNatS01(x0, x1, Zero, Succ(x2)) 248.92/165.26 new_primMinusNatS2(Zero, Zero) 248.92/165.26 new_esEs(Neg(Succ(x0))) 248.92/165.26 new_primMinusNatS2(Zero, Succ(x0)) 248.92/165.26 new_primModNatS1(Succ(Zero), Zero) 248.92/165.26 new_esEs(Pos(Zero)) 248.92/165.26 new_primEqInt(Neg(Succ(x0))) 248.92/165.26 new_primMinusNatS2(Succ(x0), Zero) 248.92/165.26 new_primEqInt(Neg(Zero)) 248.92/165.26 new_primModNatS01(x0, x1, Zero, Zero) 248.92/165.26 new_primEqInt(Pos(Succ(x0))) 248.92/165.26 new_primMinusNatS2(Succ(x0), Succ(x1)) 248.92/165.26 new_primModNatS1(Succ(Succ(x0)), Zero) 248.92/165.26 new_primModNatS1(Zero, x0) 248.92/165.26 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 248.92/165.26 new_esEs(Neg(Zero)) 248.92/165.26 new_esEs(Pos(Succ(x0))) 248.92/165.26 248.92/165.26 We have to consider all minimal (P,Q,R)-chains. 248.92/165.26 ---------------------------------------- 248.92/165.26 248.92/165.26 (660) TransformationProof (EQUIVALENT) 248.92/165.26 By narrowing [LPAR04] the rule new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) at position [1,0] we obtained the following new rules [LPAR04]: 248.92/165.26 248.92/165.26 (new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Neg(new_primModNatS01(x0, Zero, x0, Zero))),new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Neg(new_primModNatS01(x0, Zero, x0, Zero)))) 248.92/165.26 (new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Neg(Succ(Zero))),new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Neg(Succ(Zero)))) 248.92/165.26 248.92/165.26 248.92/165.26 ---------------------------------------- 248.92/165.26 248.92/165.26 (661) 248.92/165.26 Obligation: 248.92/165.26 Q DP problem: 248.92/165.26 The TRS P consists of the following rules: 248.92/165.26 248.92/165.26 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 248.92/165.26 new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 248.92/165.26 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(x0, Zero, x0, Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0)))))) 248.92/165.26 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero))))) 248.92/165.26 new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Neg(new_primModNatS01(x0, Zero, x0, Zero))) 248.92/165.26 new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Neg(Succ(Zero))) 248.92/165.26 248.92/165.26 The TRS R consists of the following rules: 248.92/165.26 248.92/165.26 new_primModNatS1(Succ(Succ(vyv292000)), Succ(vyv291000)) -> new_primModNatS01(vyv292000, vyv291000, vyv292000, vyv291000) 248.92/165.26 new_primModNatS01(vyv330, vyv331, Zero, Zero) -> new_primModNatS02(vyv330, vyv331) 248.92/165.26 new_primModNatS02(vyv330, vyv331) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv330), Succ(vyv331)), Succ(vyv331)) 248.92/165.26 new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Succ(vyv3330)) -> new_primModNatS01(vyv330, vyv331, vyv3320, vyv3330) 248.92/165.26 new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Zero) -> new_primModNatS02(vyv330, vyv331) 248.92/165.26 new_primModNatS01(vyv330, vyv331, Zero, Succ(vyv3330)) -> Succ(Succ(vyv330)) 248.92/165.26 new_primMinusNatS2(Succ(vyv3100), Succ(vyv3110)) -> new_primMinusNatS2(vyv3100, vyv3110) 248.92/165.26 new_primModNatS1(Succ(Zero), Succ(vyv291000)) -> Succ(Zero) 248.92/165.26 new_primModNatS1(Zero, vyv29100) -> Zero 248.92/165.26 new_primMinusNatS2(Zero, Zero) -> Zero 248.92/165.26 new_primMinusNatS2(Zero, Succ(vyv3110)) -> Zero 248.92/165.26 new_primMinusNatS2(Succ(vyv3100), Zero) -> Succ(vyv3100) 248.92/165.26 new_esEs(Neg(Succ(vyv24100))) -> new_primEqInt(Neg(Succ(vyv24100))) 248.92/165.26 new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) 248.92/165.26 new_primEqInt(Neg(Zero)) -> True 248.92/165.26 new_primEqInt(Neg(Succ(vyv242000))) -> False 248.92/165.26 248.92/165.26 The set Q consists of the following terms: 248.92/165.26 248.92/165.26 new_primModNatS1(Succ(Zero), Succ(x0)) 248.92/165.26 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 248.92/165.26 new_primEqInt(Pos(Zero)) 248.92/165.26 new_primModNatS02(x0, x1) 248.92/165.26 new_primModNatS01(x0, x1, Succ(x2), Zero) 248.92/165.26 new_primModNatS01(x0, x1, Zero, Succ(x2)) 248.92/165.26 new_primMinusNatS2(Zero, Zero) 248.92/165.26 new_esEs(Neg(Succ(x0))) 248.92/165.26 new_primMinusNatS2(Zero, Succ(x0)) 248.92/165.26 new_primModNatS1(Succ(Zero), Zero) 248.92/165.26 new_esEs(Pos(Zero)) 248.92/165.26 new_primEqInt(Neg(Succ(x0))) 248.92/165.26 new_primMinusNatS2(Succ(x0), Zero) 248.92/165.26 new_primEqInt(Neg(Zero)) 248.92/165.26 new_primModNatS01(x0, x1, Zero, Zero) 248.92/165.26 new_primEqInt(Pos(Succ(x0))) 248.92/165.26 new_primMinusNatS2(Succ(x0), Succ(x1)) 248.92/165.26 new_primModNatS1(Succ(Succ(x0)), Zero) 248.92/165.26 new_primModNatS1(Zero, x0) 248.92/165.26 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 248.92/165.26 new_esEs(Neg(Zero)) 248.92/165.26 new_esEs(Pos(Succ(x0))) 248.92/165.26 248.92/165.26 We have to consider all minimal (P,Q,R)-chains. 248.92/165.26 ---------------------------------------- 248.92/165.26 248.92/165.26 (662) DependencyGraphProof (EQUIVALENT) 248.92/165.26 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 2 less nodes. 248.92/165.26 ---------------------------------------- 248.92/165.26 248.92/165.26 (663) 248.92/165.26 Obligation: 248.92/165.26 Q DP problem: 248.92/165.26 The TRS P consists of the following rules: 248.92/165.26 248.92/165.26 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(x0, Zero, x0, Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0)))))) 248.92/165.26 new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Neg(new_primModNatS01(x0, Zero, x0, Zero))) 248.92/165.26 new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 248.92/165.26 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 248.92/165.26 248.92/165.26 The TRS R consists of the following rules: 248.92/165.26 248.92/165.26 new_primModNatS1(Succ(Succ(vyv292000)), Succ(vyv291000)) -> new_primModNatS01(vyv292000, vyv291000, vyv292000, vyv291000) 248.92/165.26 new_primModNatS01(vyv330, vyv331, Zero, Zero) -> new_primModNatS02(vyv330, vyv331) 248.92/165.26 new_primModNatS02(vyv330, vyv331) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv330), Succ(vyv331)), Succ(vyv331)) 248.92/165.26 new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Succ(vyv3330)) -> new_primModNatS01(vyv330, vyv331, vyv3320, vyv3330) 248.92/165.26 new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Zero) -> new_primModNatS02(vyv330, vyv331) 248.92/165.26 new_primModNatS01(vyv330, vyv331, Zero, Succ(vyv3330)) -> Succ(Succ(vyv330)) 248.92/165.26 new_primMinusNatS2(Succ(vyv3100), Succ(vyv3110)) -> new_primMinusNatS2(vyv3100, vyv3110) 248.92/165.26 new_primModNatS1(Succ(Zero), Succ(vyv291000)) -> Succ(Zero) 248.92/165.26 new_primModNatS1(Zero, vyv29100) -> Zero 248.92/165.26 new_primMinusNatS2(Zero, Zero) -> Zero 248.92/165.26 new_primMinusNatS2(Zero, Succ(vyv3110)) -> Zero 248.92/165.26 new_primMinusNatS2(Succ(vyv3100), Zero) -> Succ(vyv3100) 248.92/165.26 new_esEs(Neg(Succ(vyv24100))) -> new_primEqInt(Neg(Succ(vyv24100))) 248.92/165.26 new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) 248.92/165.26 new_primEqInt(Neg(Zero)) -> True 248.92/165.26 new_primEqInt(Neg(Succ(vyv242000))) -> False 248.92/165.26 248.92/165.26 The set Q consists of the following terms: 248.92/165.26 248.92/165.26 new_primModNatS1(Succ(Zero), Succ(x0)) 248.92/165.26 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 248.92/165.26 new_primEqInt(Pos(Zero)) 248.92/165.26 new_primModNatS02(x0, x1) 248.92/165.26 new_primModNatS01(x0, x1, Succ(x2), Zero) 248.92/165.26 new_primModNatS01(x0, x1, Zero, Succ(x2)) 248.92/165.26 new_primMinusNatS2(Zero, Zero) 248.92/165.26 new_esEs(Neg(Succ(x0))) 248.92/165.26 new_primMinusNatS2(Zero, Succ(x0)) 248.92/165.26 new_primModNatS1(Succ(Zero), Zero) 248.92/165.26 new_esEs(Pos(Zero)) 248.92/165.26 new_primEqInt(Neg(Succ(x0))) 248.92/165.26 new_primMinusNatS2(Succ(x0), Zero) 248.92/165.26 new_primEqInt(Neg(Zero)) 248.92/165.26 new_primModNatS01(x0, x1, Zero, Zero) 248.92/165.26 new_primEqInt(Pos(Succ(x0))) 248.92/165.26 new_primMinusNatS2(Succ(x0), Succ(x1)) 248.92/165.26 new_primModNatS1(Succ(Succ(x0)), Zero) 248.92/165.26 new_primModNatS1(Zero, x0) 248.92/165.26 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 248.92/165.26 new_esEs(Neg(Zero)) 248.92/165.26 new_esEs(Pos(Succ(x0))) 248.92/165.26 248.92/165.26 We have to consider all minimal (P,Q,R)-chains. 248.92/165.26 ---------------------------------------- 248.92/165.26 248.92/165.26 (664) QDPOrderProof (EQUIVALENT) 248.92/165.26 We use the reduction pair processor [LPAR04,JAR06]. 248.92/165.26 248.92/165.26 248.92/165.26 The following pairs can be oriented strictly and are deleted. 248.92/165.26 248.92/165.26 new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Neg(new_primModNatS01(x0, Zero, x0, Zero))) 248.92/165.26 The remaining pairs can at least be oriented weakly. 248.92/165.26 Used ordering: Polynomial interpretation [POLO]: 248.92/165.26 248.92/165.26 POL(False) = 1 248.92/165.26 POL(Neg(x_1)) = 2*x_1 248.92/165.26 POL(Succ(x_1)) = 1 + x_1 248.92/165.26 POL(True) = 1 248.92/165.26 POL(Zero) = 0 248.92/165.26 POL(new_esEs(x_1)) = 1 248.92/165.26 POL(new_gcd0Gcd'0(x_1, x_2)) = 2 + x_1 + x_2 248.92/165.26 POL(new_gcd0Gcd'1(x_1, x_2, x_3)) = 2*x_1 + x_2 + x_3 248.92/165.26 POL(new_primEqInt(x_1)) = 1 248.92/165.26 POL(new_primMinusNatS2(x_1, x_2)) = x_1 248.92/165.26 POL(new_primModNatS01(x_1, x_2, x_3, x_4)) = 2 + x_1 248.92/165.26 POL(new_primModNatS02(x_1, x_2)) = 2 + x_1 248.92/165.26 POL(new_primModNatS1(x_1, x_2)) = x_1 248.92/165.26 248.92/165.26 The following usable rules [FROCOS05] with respect to the argument filtering of the ordering [JAR06] were oriented: 248.92/165.26 248.92/165.26 new_primModNatS01(vyv330, vyv331, Zero, Zero) -> new_primModNatS02(vyv330, vyv331) 248.92/165.26 new_primModNatS02(vyv330, vyv331) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv330), Succ(vyv331)), Succ(vyv331)) 248.92/165.26 new_primModNatS1(Succ(Succ(vyv292000)), Succ(vyv291000)) -> new_primModNatS01(vyv292000, vyv291000, vyv292000, vyv291000) 248.92/165.26 new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Succ(vyv3330)) -> new_primModNatS01(vyv330, vyv331, vyv3320, vyv3330) 248.92/165.26 new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Zero) -> new_primModNatS02(vyv330, vyv331) 248.92/165.26 new_esEs(Neg(Succ(vyv24100))) -> new_primEqInt(Neg(Succ(vyv24100))) 248.92/165.26 new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) 248.92/165.26 new_primMinusNatS2(Succ(vyv3100), Succ(vyv3110)) -> new_primMinusNatS2(vyv3100, vyv3110) 248.92/165.26 new_primModNatS1(Succ(Zero), Succ(vyv291000)) -> Succ(Zero) 248.92/165.26 new_primModNatS1(Zero, vyv29100) -> Zero 248.92/165.26 new_primModNatS01(vyv330, vyv331, Zero, Succ(vyv3330)) -> Succ(Succ(vyv330)) 248.92/165.26 new_primMinusNatS2(Zero, Zero) -> Zero 248.92/165.26 new_primMinusNatS2(Zero, Succ(vyv3110)) -> Zero 248.92/165.26 new_primMinusNatS2(Succ(vyv3100), Zero) -> Succ(vyv3100) 248.92/165.26 new_primEqInt(Neg(Succ(vyv242000))) -> False 248.92/165.26 new_primEqInt(Neg(Zero)) -> True 248.92/165.26 248.92/165.26 248.92/165.26 ---------------------------------------- 248.92/165.26 248.92/165.26 (665) 248.92/165.26 Obligation: 248.92/165.26 Q DP problem: 248.92/165.26 The TRS P consists of the following rules: 248.92/165.26 248.92/165.26 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(x0, Zero, x0, Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0)))))) 248.92/165.26 new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 248.92/165.26 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 248.92/165.26 248.92/165.26 The TRS R consists of the following rules: 248.92/165.26 248.92/165.26 new_primModNatS1(Succ(Succ(vyv292000)), Succ(vyv291000)) -> new_primModNatS01(vyv292000, vyv291000, vyv292000, vyv291000) 248.92/165.26 new_primModNatS01(vyv330, vyv331, Zero, Zero) -> new_primModNatS02(vyv330, vyv331) 248.92/165.26 new_primModNatS02(vyv330, vyv331) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv330), Succ(vyv331)), Succ(vyv331)) 248.92/165.26 new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Succ(vyv3330)) -> new_primModNatS01(vyv330, vyv331, vyv3320, vyv3330) 248.92/165.26 new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Zero) -> new_primModNatS02(vyv330, vyv331) 248.92/165.26 new_primModNatS01(vyv330, vyv331, Zero, Succ(vyv3330)) -> Succ(Succ(vyv330)) 248.92/165.26 new_primMinusNatS2(Succ(vyv3100), Succ(vyv3110)) -> new_primMinusNatS2(vyv3100, vyv3110) 248.92/165.26 new_primModNatS1(Succ(Zero), Succ(vyv291000)) -> Succ(Zero) 248.92/165.26 new_primModNatS1(Zero, vyv29100) -> Zero 248.92/165.26 new_primMinusNatS2(Zero, Zero) -> Zero 248.92/165.26 new_primMinusNatS2(Zero, Succ(vyv3110)) -> Zero 248.92/165.26 new_primMinusNatS2(Succ(vyv3100), Zero) -> Succ(vyv3100) 248.92/165.26 new_esEs(Neg(Succ(vyv24100))) -> new_primEqInt(Neg(Succ(vyv24100))) 248.92/165.26 new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) 248.92/165.26 new_primEqInt(Neg(Zero)) -> True 248.92/165.26 new_primEqInt(Neg(Succ(vyv242000))) -> False 248.92/165.26 248.92/165.26 The set Q consists of the following terms: 248.92/165.26 248.92/165.26 new_primModNatS1(Succ(Zero), Succ(x0)) 248.92/165.26 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 248.92/165.26 new_primEqInt(Pos(Zero)) 248.92/165.26 new_primModNatS02(x0, x1) 248.92/165.26 new_primModNatS01(x0, x1, Succ(x2), Zero) 248.92/165.26 new_primModNatS01(x0, x1, Zero, Succ(x2)) 248.92/165.26 new_primMinusNatS2(Zero, Zero) 248.92/165.26 new_esEs(Neg(Succ(x0))) 248.92/165.26 new_primMinusNatS2(Zero, Succ(x0)) 248.92/165.26 new_primModNatS1(Succ(Zero), Zero) 248.92/165.26 new_esEs(Pos(Zero)) 248.92/165.26 new_primEqInt(Neg(Succ(x0))) 248.92/165.26 new_primMinusNatS2(Succ(x0), Zero) 248.92/165.26 new_primEqInt(Neg(Zero)) 248.92/165.26 new_primModNatS01(x0, x1, Zero, Zero) 248.92/165.26 new_primEqInt(Pos(Succ(x0))) 248.92/165.26 new_primMinusNatS2(Succ(x0), Succ(x1)) 248.92/165.26 new_primModNatS1(Succ(Succ(x0)), Zero) 248.92/165.26 new_primModNatS1(Zero, x0) 248.92/165.26 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 248.92/165.26 new_esEs(Neg(Zero)) 248.92/165.26 new_esEs(Pos(Succ(x0))) 248.92/165.26 248.92/165.26 We have to consider all minimal (P,Q,R)-chains. 248.92/165.26 ---------------------------------------- 248.92/165.26 248.92/165.26 (666) DependencyGraphProof (EQUIVALENT) 248.92/165.26 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 0 SCCs with 3 less nodes. 248.92/165.26 ---------------------------------------- 248.92/165.26 248.92/165.26 (667) 248.92/165.26 TRUE 248.92/165.26 248.92/165.26 ---------------------------------------- 248.92/165.26 248.92/165.26 (668) 248.92/165.26 Obligation: 248.92/165.26 Q DP problem: 248.92/165.26 The TRS P consists of the following rules: 248.92/165.26 248.92/165.26 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) 248.92/165.26 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x3)))), Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))) 248.92/165.26 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) 248.92/165.26 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) 248.92/165.26 248.92/165.26 The TRS R consists of the following rules: 248.92/165.26 248.92/165.26 new_primModNatS1(Succ(Succ(vyv292000)), Succ(vyv291000)) -> new_primModNatS01(vyv292000, vyv291000, vyv292000, vyv291000) 248.92/165.26 new_primModNatS01(vyv330, vyv331, Zero, Zero) -> new_primModNatS02(vyv330, vyv331) 248.92/165.26 new_primModNatS02(vyv330, vyv331) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv330), Succ(vyv331)), Succ(vyv331)) 248.92/165.26 new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Succ(vyv3330)) -> new_primModNatS01(vyv330, vyv331, vyv3320, vyv3330) 248.92/165.26 new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Zero) -> new_primModNatS02(vyv330, vyv331) 248.92/165.26 new_primModNatS01(vyv330, vyv331, Zero, Succ(vyv3330)) -> Succ(Succ(vyv330)) 248.92/165.26 new_primMinusNatS2(Succ(vyv3100), Succ(vyv3110)) -> new_primMinusNatS2(vyv3100, vyv3110) 248.92/165.26 new_primModNatS1(Succ(Zero), Succ(vyv291000)) -> Succ(Zero) 248.92/165.26 new_primModNatS1(Zero, vyv29100) -> Zero 248.92/165.26 new_primMinusNatS2(Zero, Zero) -> Zero 248.92/165.26 new_primMinusNatS2(Zero, Succ(vyv3110)) -> Zero 248.92/165.26 new_primMinusNatS2(Succ(vyv3100), Zero) -> Succ(vyv3100) 248.92/165.26 new_esEs(Neg(Succ(vyv24100))) -> new_primEqInt(Neg(Succ(vyv24100))) 248.92/165.26 new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) 248.92/165.26 new_primEqInt(Neg(Zero)) -> True 248.92/165.26 new_primEqInt(Neg(Succ(vyv242000))) -> False 248.92/165.26 248.92/165.26 The set Q consists of the following terms: 248.92/165.26 248.92/165.26 new_primModNatS1(Succ(Zero), Succ(x0)) 248.92/165.26 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 248.92/165.26 new_primEqInt(Pos(Zero)) 248.92/165.26 new_primModNatS02(x0, x1) 248.92/165.26 new_primModNatS01(x0, x1, Succ(x2), Zero) 248.92/165.26 new_primModNatS01(x0, x1, Zero, Succ(x2)) 248.92/165.26 new_primMinusNatS2(Zero, Zero) 248.92/165.26 new_esEs(Neg(Succ(x0))) 248.92/165.26 new_primMinusNatS2(Zero, Succ(x0)) 248.92/165.26 new_primModNatS1(Succ(Zero), Zero) 248.92/165.26 new_esEs(Pos(Zero)) 248.92/165.26 new_primEqInt(Neg(Succ(x0))) 248.92/165.26 new_primMinusNatS2(Succ(x0), Zero) 248.92/165.26 new_primEqInt(Neg(Zero)) 248.92/165.26 new_primModNatS01(x0, x1, Zero, Zero) 248.92/165.26 new_primEqInt(Pos(Succ(x0))) 248.92/165.26 new_primMinusNatS2(Succ(x0), Succ(x1)) 248.92/165.26 new_primModNatS1(Succ(Succ(x0)), Zero) 248.92/165.26 new_primModNatS1(Zero, x0) 248.92/165.26 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 248.92/165.26 new_esEs(Neg(Zero)) 248.92/165.26 new_esEs(Pos(Succ(x0))) 248.92/165.26 248.92/165.26 We have to consider all minimal (P,Q,R)-chains. 248.92/165.26 ---------------------------------------- 248.92/165.26 248.92/165.26 (669) TransformationProof (EQUIVALENT) 248.92/165.26 By narrowing [LPAR04] the rule new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x3)))), Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))) at position [1,0] we obtained the following new rules [LPAR04]: 248.92/165.26 248.92/165.26 (new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS02(Succ(Zero), Succ(Zero)))),new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS02(Succ(Zero), Succ(Zero))))) 248.92/165.26 (new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x3))))), Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))),new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x3))))), Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)))) 248.92/165.26 (new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Zero)))),new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Zero))))) 248.92/165.26 (new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))),new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))))) 248.92/165.26 248.92/165.26 248.92/165.26 ---------------------------------------- 248.92/165.26 248.92/165.26 (670) 248.92/165.26 Obligation: 248.92/165.26 Q DP problem: 248.92/165.26 The TRS P consists of the following rules: 248.92/165.26 248.92/165.26 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) 248.92/165.26 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) 248.92/165.26 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) 248.92/165.26 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS02(Succ(Zero), Succ(Zero)))) 248.92/165.26 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x3))))), Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 248.92/165.26 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Zero)))) 248.92/165.26 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) 248.92/165.26 248.92/165.26 The TRS R consists of the following rules: 248.92/165.26 248.92/165.26 new_primModNatS1(Succ(Succ(vyv292000)), Succ(vyv291000)) -> new_primModNatS01(vyv292000, vyv291000, vyv292000, vyv291000) 248.92/165.26 new_primModNatS01(vyv330, vyv331, Zero, Zero) -> new_primModNatS02(vyv330, vyv331) 248.92/165.26 new_primModNatS02(vyv330, vyv331) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv330), Succ(vyv331)), Succ(vyv331)) 248.92/165.26 new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Succ(vyv3330)) -> new_primModNatS01(vyv330, vyv331, vyv3320, vyv3330) 248.92/165.26 new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Zero) -> new_primModNatS02(vyv330, vyv331) 248.92/165.26 new_primModNatS01(vyv330, vyv331, Zero, Succ(vyv3330)) -> Succ(Succ(vyv330)) 248.92/165.26 new_primMinusNatS2(Succ(vyv3100), Succ(vyv3110)) -> new_primMinusNatS2(vyv3100, vyv3110) 248.92/165.26 new_primModNatS1(Succ(Zero), Succ(vyv291000)) -> Succ(Zero) 248.92/165.26 new_primModNatS1(Zero, vyv29100) -> Zero 248.92/165.26 new_primMinusNatS2(Zero, Zero) -> Zero 248.92/165.26 new_primMinusNatS2(Zero, Succ(vyv3110)) -> Zero 248.92/165.26 new_primMinusNatS2(Succ(vyv3100), Zero) -> Succ(vyv3100) 248.92/165.26 new_esEs(Neg(Succ(vyv24100))) -> new_primEqInt(Neg(Succ(vyv24100))) 248.92/165.26 new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) 248.92/165.26 new_primEqInt(Neg(Zero)) -> True 248.92/165.26 new_primEqInt(Neg(Succ(vyv242000))) -> False 248.92/165.26 248.92/165.26 The set Q consists of the following terms: 248.92/165.26 248.92/165.26 new_primModNatS1(Succ(Zero), Succ(x0)) 248.92/165.26 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 248.92/165.26 new_primEqInt(Pos(Zero)) 248.92/165.26 new_primModNatS02(x0, x1) 248.92/165.26 new_primModNatS01(x0, x1, Succ(x2), Zero) 248.92/165.26 new_primModNatS01(x0, x1, Zero, Succ(x2)) 248.92/165.26 new_primMinusNatS2(Zero, Zero) 248.92/165.26 new_esEs(Neg(Succ(x0))) 248.92/165.26 new_primMinusNatS2(Zero, Succ(x0)) 248.92/165.26 new_primModNatS1(Succ(Zero), Zero) 248.92/165.26 new_esEs(Pos(Zero)) 248.92/165.26 new_primEqInt(Neg(Succ(x0))) 248.92/165.26 new_primMinusNatS2(Succ(x0), Zero) 248.92/165.26 new_primEqInt(Neg(Zero)) 248.92/165.26 new_primModNatS01(x0, x1, Zero, Zero) 248.92/165.26 new_primEqInt(Pos(Succ(x0))) 248.92/165.26 new_primMinusNatS2(Succ(x0), Succ(x1)) 248.92/165.26 new_primModNatS1(Succ(Succ(x0)), Zero) 248.92/165.26 new_primModNatS1(Zero, x0) 248.92/165.26 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 248.92/165.26 new_esEs(Neg(Zero)) 248.92/165.26 new_esEs(Pos(Succ(x0))) 248.92/165.26 248.92/165.26 We have to consider all minimal (P,Q,R)-chains. 248.92/165.26 ---------------------------------------- 248.92/165.26 248.92/165.26 (671) DependencyGraphProof (EQUIVALENT) 248.92/165.26 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 2 SCCs with 1 less node. 248.92/165.26 ---------------------------------------- 248.92/165.26 248.92/165.26 (672) 248.92/165.26 Complex Obligation (AND) 248.92/165.26 248.92/165.26 ---------------------------------------- 248.92/165.26 248.92/165.26 (673) 248.92/165.26 Obligation: 248.92/165.26 Q DP problem: 248.92/165.26 The TRS P consists of the following rules: 248.92/165.26 248.92/165.26 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) 248.92/165.26 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) 248.92/165.26 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Zero)))) 248.92/165.26 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) 248.92/165.26 248.92/165.26 The TRS R consists of the following rules: 248.92/165.26 248.92/165.26 new_primModNatS1(Succ(Succ(vyv292000)), Succ(vyv291000)) -> new_primModNatS01(vyv292000, vyv291000, vyv292000, vyv291000) 248.92/165.26 new_primModNatS01(vyv330, vyv331, Zero, Zero) -> new_primModNatS02(vyv330, vyv331) 248.92/165.26 new_primModNatS02(vyv330, vyv331) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv330), Succ(vyv331)), Succ(vyv331)) 248.92/165.26 new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Succ(vyv3330)) -> new_primModNatS01(vyv330, vyv331, vyv3320, vyv3330) 248.92/165.26 new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Zero) -> new_primModNatS02(vyv330, vyv331) 248.92/165.26 new_primModNatS01(vyv330, vyv331, Zero, Succ(vyv3330)) -> Succ(Succ(vyv330)) 248.92/165.26 new_primMinusNatS2(Succ(vyv3100), Succ(vyv3110)) -> new_primMinusNatS2(vyv3100, vyv3110) 248.92/165.26 new_primModNatS1(Succ(Zero), Succ(vyv291000)) -> Succ(Zero) 248.92/165.26 new_primModNatS1(Zero, vyv29100) -> Zero 248.92/165.26 new_primMinusNatS2(Zero, Zero) -> Zero 248.92/165.26 new_primMinusNatS2(Zero, Succ(vyv3110)) -> Zero 248.92/165.26 new_primMinusNatS2(Succ(vyv3100), Zero) -> Succ(vyv3100) 248.92/165.26 new_esEs(Neg(Succ(vyv24100))) -> new_primEqInt(Neg(Succ(vyv24100))) 248.92/165.26 new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) 248.92/165.26 new_primEqInt(Neg(Zero)) -> True 248.92/165.26 new_primEqInt(Neg(Succ(vyv242000))) -> False 248.92/165.26 248.92/165.26 The set Q consists of the following terms: 248.92/165.26 248.92/165.26 new_primModNatS1(Succ(Zero), Succ(x0)) 248.92/165.26 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 248.92/165.26 new_primEqInt(Pos(Zero)) 248.92/165.26 new_primModNatS02(x0, x1) 248.92/165.26 new_primModNatS01(x0, x1, Succ(x2), Zero) 248.92/165.26 new_primModNatS01(x0, x1, Zero, Succ(x2)) 248.92/165.26 new_primMinusNatS2(Zero, Zero) 248.92/165.26 new_esEs(Neg(Succ(x0))) 248.92/165.26 new_primMinusNatS2(Zero, Succ(x0)) 248.92/165.26 new_primModNatS1(Succ(Zero), Zero) 248.92/165.26 new_esEs(Pos(Zero)) 248.92/165.26 new_primEqInt(Neg(Succ(x0))) 248.92/165.26 new_primMinusNatS2(Succ(x0), Zero) 248.92/165.26 new_primEqInt(Neg(Zero)) 248.92/165.26 new_primModNatS01(x0, x1, Zero, Zero) 248.92/165.26 new_primEqInt(Pos(Succ(x0))) 248.92/165.26 new_primMinusNatS2(Succ(x0), Succ(x1)) 248.92/165.26 new_primModNatS1(Succ(Succ(x0)), Zero) 248.92/165.26 new_primModNatS1(Zero, x0) 248.92/165.26 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 248.92/165.26 new_esEs(Neg(Zero)) 248.92/165.26 new_esEs(Pos(Succ(x0))) 248.92/165.26 248.92/165.26 We have to consider all minimal (P,Q,R)-chains. 248.92/165.26 ---------------------------------------- 248.92/165.26 248.92/165.26 (674) TransformationProof (EQUIVALENT) 248.92/165.26 By rewriting [LPAR04] the rule new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Zero)))) at position [1,0] we obtained the following new rules [LPAR04]: 248.92/165.26 248.92/165.26 (new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(Succ(x2))), Succ(Succ(Zero))), Succ(Succ(Zero))))),new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(Succ(x2))), Succ(Succ(Zero))), Succ(Succ(Zero)))))) 248.92/165.26 248.92/165.26 248.92/165.26 ---------------------------------------- 248.92/165.26 248.92/165.26 (675) 248.92/165.26 Obligation: 248.92/165.26 Q DP problem: 248.92/165.26 The TRS P consists of the following rules: 248.92/165.26 248.92/165.26 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) 248.92/165.26 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) 248.92/165.26 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) 248.92/165.26 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(Succ(x2))), Succ(Succ(Zero))), Succ(Succ(Zero))))) 248.92/165.26 248.92/165.26 The TRS R consists of the following rules: 248.92/165.26 248.92/165.26 new_primModNatS1(Succ(Succ(vyv292000)), Succ(vyv291000)) -> new_primModNatS01(vyv292000, vyv291000, vyv292000, vyv291000) 248.92/165.26 new_primModNatS01(vyv330, vyv331, Zero, Zero) -> new_primModNatS02(vyv330, vyv331) 248.92/165.26 new_primModNatS02(vyv330, vyv331) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv330), Succ(vyv331)), Succ(vyv331)) 248.92/165.26 new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Succ(vyv3330)) -> new_primModNatS01(vyv330, vyv331, vyv3320, vyv3330) 248.92/165.26 new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Zero) -> new_primModNatS02(vyv330, vyv331) 248.92/165.26 new_primModNatS01(vyv330, vyv331, Zero, Succ(vyv3330)) -> Succ(Succ(vyv330)) 248.92/165.26 new_primMinusNatS2(Succ(vyv3100), Succ(vyv3110)) -> new_primMinusNatS2(vyv3100, vyv3110) 248.92/165.26 new_primModNatS1(Succ(Zero), Succ(vyv291000)) -> Succ(Zero) 248.92/165.26 new_primModNatS1(Zero, vyv29100) -> Zero 248.92/165.26 new_primMinusNatS2(Zero, Zero) -> Zero 248.92/165.26 new_primMinusNatS2(Zero, Succ(vyv3110)) -> Zero 248.92/165.26 new_primMinusNatS2(Succ(vyv3100), Zero) -> Succ(vyv3100) 248.92/165.26 new_esEs(Neg(Succ(vyv24100))) -> new_primEqInt(Neg(Succ(vyv24100))) 248.92/165.26 new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) 248.92/165.26 new_primEqInt(Neg(Zero)) -> True 248.92/165.26 new_primEqInt(Neg(Succ(vyv242000))) -> False 248.92/165.26 248.92/165.26 The set Q consists of the following terms: 248.92/165.26 248.92/165.26 new_primModNatS1(Succ(Zero), Succ(x0)) 248.92/165.26 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 248.92/165.26 new_primEqInt(Pos(Zero)) 248.92/165.26 new_primModNatS02(x0, x1) 248.92/165.26 new_primModNatS01(x0, x1, Succ(x2), Zero) 248.92/165.26 new_primModNatS01(x0, x1, Zero, Succ(x2)) 248.92/165.26 new_primMinusNatS2(Zero, Zero) 248.92/165.26 new_esEs(Neg(Succ(x0))) 248.92/165.26 new_primMinusNatS2(Zero, Succ(x0)) 248.92/165.26 new_primModNatS1(Succ(Zero), Zero) 248.92/165.26 new_esEs(Pos(Zero)) 248.92/165.26 new_primEqInt(Neg(Succ(x0))) 248.92/165.26 new_primMinusNatS2(Succ(x0), Zero) 248.92/165.26 new_primEqInt(Neg(Zero)) 248.92/165.26 new_primModNatS01(x0, x1, Zero, Zero) 248.92/165.26 new_primEqInt(Pos(Succ(x0))) 248.92/165.26 new_primMinusNatS2(Succ(x0), Succ(x1)) 248.92/165.26 new_primModNatS1(Succ(Succ(x0)), Zero) 248.92/165.26 new_primModNatS1(Zero, x0) 248.92/165.26 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 248.92/165.26 new_esEs(Neg(Zero)) 248.92/165.26 new_esEs(Pos(Succ(x0))) 248.92/165.26 248.92/165.26 We have to consider all minimal (P,Q,R)-chains. 248.92/165.26 ---------------------------------------- 248.92/165.26 248.92/165.26 (676) TransformationProof (EQUIVALENT) 248.92/165.26 By rewriting [LPAR04] the rule new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(Succ(x2))), Succ(Succ(Zero))), Succ(Succ(Zero))))) at position [1,0,0] we obtained the following new rules [LPAR04]: 248.92/165.26 248.92/165.26 (new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Succ(Zero))))),new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Succ(Zero)))))) 248.92/165.26 248.92/165.26 248.92/165.26 ---------------------------------------- 248.92/165.26 248.92/165.26 (677) 248.92/165.26 Obligation: 248.92/165.26 Q DP problem: 248.92/165.26 The TRS P consists of the following rules: 248.92/165.26 248.92/165.26 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) 248.92/165.26 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) 248.92/165.26 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) 248.92/165.26 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Succ(Zero))))) 248.92/165.26 248.92/165.26 The TRS R consists of the following rules: 248.92/165.26 248.92/165.26 new_primModNatS1(Succ(Succ(vyv292000)), Succ(vyv291000)) -> new_primModNatS01(vyv292000, vyv291000, vyv292000, vyv291000) 248.92/165.26 new_primModNatS01(vyv330, vyv331, Zero, Zero) -> new_primModNatS02(vyv330, vyv331) 248.92/165.26 new_primModNatS02(vyv330, vyv331) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv330), Succ(vyv331)), Succ(vyv331)) 248.92/165.26 new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Succ(vyv3330)) -> new_primModNatS01(vyv330, vyv331, vyv3320, vyv3330) 248.92/165.26 new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Zero) -> new_primModNatS02(vyv330, vyv331) 248.92/165.26 new_primModNatS01(vyv330, vyv331, Zero, Succ(vyv3330)) -> Succ(Succ(vyv330)) 248.92/165.26 new_primMinusNatS2(Succ(vyv3100), Succ(vyv3110)) -> new_primMinusNatS2(vyv3100, vyv3110) 248.92/165.26 new_primModNatS1(Succ(Zero), Succ(vyv291000)) -> Succ(Zero) 248.92/165.26 new_primModNatS1(Zero, vyv29100) -> Zero 248.92/165.26 new_primMinusNatS2(Zero, Zero) -> Zero 248.92/165.26 new_primMinusNatS2(Zero, Succ(vyv3110)) -> Zero 248.92/165.26 new_primMinusNatS2(Succ(vyv3100), Zero) -> Succ(vyv3100) 248.92/165.26 new_esEs(Neg(Succ(vyv24100))) -> new_primEqInt(Neg(Succ(vyv24100))) 248.92/165.26 new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) 248.92/165.26 new_primEqInt(Neg(Zero)) -> True 248.92/165.26 new_primEqInt(Neg(Succ(vyv242000))) -> False 248.92/165.26 248.92/165.26 The set Q consists of the following terms: 248.92/165.26 248.92/165.26 new_primModNatS1(Succ(Zero), Succ(x0)) 248.92/165.26 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 248.92/165.26 new_primEqInt(Pos(Zero)) 248.92/165.26 new_primModNatS02(x0, x1) 248.92/165.26 new_primModNatS01(x0, x1, Succ(x2), Zero) 248.92/165.26 new_primModNatS01(x0, x1, Zero, Succ(x2)) 248.92/165.26 new_primMinusNatS2(Zero, Zero) 248.92/165.26 new_esEs(Neg(Succ(x0))) 248.92/165.26 new_primMinusNatS2(Zero, Succ(x0)) 248.92/165.26 new_primModNatS1(Succ(Zero), Zero) 248.92/165.26 new_esEs(Pos(Zero)) 248.92/165.26 new_primEqInt(Neg(Succ(x0))) 248.92/165.26 new_primMinusNatS2(Succ(x0), Zero) 248.92/165.26 new_primEqInt(Neg(Zero)) 248.92/165.26 new_primModNatS01(x0, x1, Zero, Zero) 248.92/165.26 new_primEqInt(Pos(Succ(x0))) 248.92/165.26 new_primMinusNatS2(Succ(x0), Succ(x1)) 248.92/165.26 new_primModNatS1(Succ(Succ(x0)), Zero) 248.92/165.26 new_primModNatS1(Zero, x0) 248.92/165.26 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 248.92/165.26 new_esEs(Neg(Zero)) 248.92/165.26 new_esEs(Pos(Succ(x0))) 248.92/165.26 248.92/165.26 We have to consider all minimal (P,Q,R)-chains. 248.92/165.26 ---------------------------------------- 248.92/165.26 248.92/165.26 (678) TransformationProof (EQUIVALENT) 248.92/165.26 By rewriting [LPAR04] the rule new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Succ(Zero))))) at position [1,0,0] we obtained the following new rules [LPAR04]: 248.92/165.26 248.92/165.26 (new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Succ(Zero))))),new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Succ(Zero)))))) 248.92/165.26 248.92/165.26 248.92/165.26 ---------------------------------------- 248.92/165.26 248.92/165.26 (679) 248.92/165.26 Obligation: 248.92/165.26 Q DP problem: 248.92/165.26 The TRS P consists of the following rules: 248.92/165.26 248.92/165.26 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) 248.92/165.26 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) 248.92/165.26 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) 248.92/165.26 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Succ(Zero))))) 248.92/165.26 248.92/165.26 The TRS R consists of the following rules: 248.92/165.26 248.92/165.26 new_primModNatS1(Succ(Succ(vyv292000)), Succ(vyv291000)) -> new_primModNatS01(vyv292000, vyv291000, vyv292000, vyv291000) 248.92/165.26 new_primModNatS01(vyv330, vyv331, Zero, Zero) -> new_primModNatS02(vyv330, vyv331) 248.92/165.26 new_primModNatS02(vyv330, vyv331) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv330), Succ(vyv331)), Succ(vyv331)) 248.92/165.26 new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Succ(vyv3330)) -> new_primModNatS01(vyv330, vyv331, vyv3320, vyv3330) 248.92/165.26 new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Zero) -> new_primModNatS02(vyv330, vyv331) 248.92/165.26 new_primModNatS01(vyv330, vyv331, Zero, Succ(vyv3330)) -> Succ(Succ(vyv330)) 248.92/165.26 new_primMinusNatS2(Succ(vyv3100), Succ(vyv3110)) -> new_primMinusNatS2(vyv3100, vyv3110) 248.92/165.26 new_primModNatS1(Succ(Zero), Succ(vyv291000)) -> Succ(Zero) 248.92/165.26 new_primModNatS1(Zero, vyv29100) -> Zero 248.92/165.26 new_primMinusNatS2(Zero, Zero) -> Zero 248.92/165.26 new_primMinusNatS2(Zero, Succ(vyv3110)) -> Zero 248.92/165.26 new_primMinusNatS2(Succ(vyv3100), Zero) -> Succ(vyv3100) 248.92/165.26 new_esEs(Neg(Succ(vyv24100))) -> new_primEqInt(Neg(Succ(vyv24100))) 248.92/165.26 new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) 248.92/165.26 new_primEqInt(Neg(Zero)) -> True 248.92/165.26 new_primEqInt(Neg(Succ(vyv242000))) -> False 248.92/165.26 248.92/165.26 The set Q consists of the following terms: 248.92/165.26 248.92/165.26 new_primModNatS1(Succ(Zero), Succ(x0)) 248.92/165.26 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 248.92/165.26 new_primEqInt(Pos(Zero)) 248.92/165.26 new_primModNatS02(x0, x1) 248.92/165.26 new_primModNatS01(x0, x1, Succ(x2), Zero) 248.92/165.26 new_primModNatS01(x0, x1, Zero, Succ(x2)) 248.92/165.26 new_primMinusNatS2(Zero, Zero) 248.92/165.26 new_esEs(Neg(Succ(x0))) 248.92/165.26 new_primMinusNatS2(Zero, Succ(x0)) 248.92/165.26 new_primModNatS1(Succ(Zero), Zero) 248.92/165.26 new_esEs(Pos(Zero)) 248.92/165.26 new_primEqInt(Neg(Succ(x0))) 248.92/165.26 new_primMinusNatS2(Succ(x0), Zero) 248.92/165.26 new_primEqInt(Neg(Zero)) 248.92/165.26 new_primModNatS01(x0, x1, Zero, Zero) 248.92/165.26 new_primEqInt(Pos(Succ(x0))) 248.92/165.26 new_primMinusNatS2(Succ(x0), Succ(x1)) 248.92/165.26 new_primModNatS1(Succ(Succ(x0)), Zero) 248.92/165.26 new_primModNatS1(Zero, x0) 248.92/165.26 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 248.92/165.26 new_esEs(Neg(Zero)) 248.92/165.26 new_esEs(Pos(Succ(x0))) 248.92/165.26 248.92/165.26 We have to consider all minimal (P,Q,R)-chains. 248.92/165.26 ---------------------------------------- 248.92/165.26 248.92/165.26 (680) TransformationProof (EQUIVALENT) 248.92/165.26 By rewriting [LPAR04] the rule new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Succ(Zero))))) at position [1,0,0] we obtained the following new rules [LPAR04]: 248.92/165.26 248.92/165.26 (new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))),new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))))) 248.92/165.26 248.92/165.26 248.92/165.26 ---------------------------------------- 248.92/165.26 248.92/165.26 (681) 248.92/165.26 Obligation: 248.92/165.26 Q DP problem: 248.92/165.26 The TRS P consists of the following rules: 248.92/165.26 248.92/165.26 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) 248.92/165.26 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) 248.92/165.26 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) 248.92/165.26 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 248.92/165.26 248.92/165.26 The TRS R consists of the following rules: 248.92/165.26 248.92/165.26 new_primModNatS1(Succ(Succ(vyv292000)), Succ(vyv291000)) -> new_primModNatS01(vyv292000, vyv291000, vyv292000, vyv291000) 248.92/165.26 new_primModNatS01(vyv330, vyv331, Zero, Zero) -> new_primModNatS02(vyv330, vyv331) 248.92/165.26 new_primModNatS02(vyv330, vyv331) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv330), Succ(vyv331)), Succ(vyv331)) 248.92/165.26 new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Succ(vyv3330)) -> new_primModNatS01(vyv330, vyv331, vyv3320, vyv3330) 248.92/165.26 new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Zero) -> new_primModNatS02(vyv330, vyv331) 248.92/165.26 new_primModNatS01(vyv330, vyv331, Zero, Succ(vyv3330)) -> Succ(Succ(vyv330)) 248.92/165.26 new_primMinusNatS2(Succ(vyv3100), Succ(vyv3110)) -> new_primMinusNatS2(vyv3100, vyv3110) 248.92/165.26 new_primModNatS1(Succ(Zero), Succ(vyv291000)) -> Succ(Zero) 248.92/165.26 new_primModNatS1(Zero, vyv29100) -> Zero 248.92/165.26 new_primMinusNatS2(Zero, Zero) -> Zero 248.92/165.26 new_primMinusNatS2(Zero, Succ(vyv3110)) -> Zero 248.92/165.26 new_primMinusNatS2(Succ(vyv3100), Zero) -> Succ(vyv3100) 248.92/165.26 new_esEs(Neg(Succ(vyv24100))) -> new_primEqInt(Neg(Succ(vyv24100))) 248.92/165.26 new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) 248.92/165.26 new_primEqInt(Neg(Zero)) -> True 248.92/165.26 new_primEqInt(Neg(Succ(vyv242000))) -> False 248.92/165.26 248.92/165.26 The set Q consists of the following terms: 248.92/165.26 248.92/165.26 new_primModNatS1(Succ(Zero), Succ(x0)) 248.92/165.26 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 248.92/165.26 new_primEqInt(Pos(Zero)) 248.92/165.26 new_primModNatS02(x0, x1) 248.92/165.26 new_primModNatS01(x0, x1, Succ(x2), Zero) 248.92/165.26 new_primModNatS01(x0, x1, Zero, Succ(x2)) 248.92/165.26 new_primMinusNatS2(Zero, Zero) 248.92/165.26 new_esEs(Neg(Succ(x0))) 248.92/165.26 new_primMinusNatS2(Zero, Succ(x0)) 248.92/165.26 new_primModNatS1(Succ(Zero), Zero) 248.92/165.26 new_esEs(Pos(Zero)) 248.92/165.26 new_primEqInt(Neg(Succ(x0))) 248.92/165.26 new_primMinusNatS2(Succ(x0), Zero) 248.92/165.26 new_primEqInt(Neg(Zero)) 248.92/165.26 new_primModNatS01(x0, x1, Zero, Zero) 248.92/165.26 new_primEqInt(Pos(Succ(x0))) 248.92/165.26 new_primMinusNatS2(Succ(x0), Succ(x1)) 248.92/165.26 new_primModNatS1(Succ(Succ(x0)), Zero) 248.92/165.26 new_primModNatS1(Zero, x0) 248.92/165.26 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 248.92/165.26 new_esEs(Neg(Zero)) 248.92/165.26 new_esEs(Pos(Succ(x0))) 248.92/165.26 248.92/165.26 We have to consider all minimal (P,Q,R)-chains. 248.92/165.26 ---------------------------------------- 248.92/165.26 248.92/165.26 (682) QReductionProof (EQUIVALENT) 248.92/165.26 We deleted the following terms from Q as they contain symbols which do neither occur in P nor in R.[THIEMANN]. 248.92/165.26 248.92/165.26 new_primEqInt(Pos(Zero)) 248.92/165.26 new_esEs(Pos(Zero)) 248.92/165.26 new_primEqInt(Pos(Succ(x0))) 248.92/165.26 new_esEs(Pos(Succ(x0))) 248.92/165.26 248.92/165.26 248.92/165.26 ---------------------------------------- 248.92/165.26 248.92/165.26 (683) 248.92/165.26 Obligation: 248.92/165.26 Q DP problem: 248.92/165.26 The TRS P consists of the following rules: 248.92/165.26 248.92/165.26 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) 248.92/165.26 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) 248.92/165.26 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) 248.92/165.26 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 248.92/165.26 248.92/165.26 The TRS R consists of the following rules: 248.92/165.26 248.92/165.26 new_primModNatS1(Succ(Succ(vyv292000)), Succ(vyv291000)) -> new_primModNatS01(vyv292000, vyv291000, vyv292000, vyv291000) 248.92/165.26 new_primModNatS01(vyv330, vyv331, Zero, Zero) -> new_primModNatS02(vyv330, vyv331) 248.92/165.26 new_primModNatS02(vyv330, vyv331) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv330), Succ(vyv331)), Succ(vyv331)) 248.92/165.26 new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Succ(vyv3330)) -> new_primModNatS01(vyv330, vyv331, vyv3320, vyv3330) 248.92/165.26 new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Zero) -> new_primModNatS02(vyv330, vyv331) 248.92/165.26 new_primModNatS01(vyv330, vyv331, Zero, Succ(vyv3330)) -> Succ(Succ(vyv330)) 248.92/165.26 new_primMinusNatS2(Succ(vyv3100), Succ(vyv3110)) -> new_primMinusNatS2(vyv3100, vyv3110) 248.92/165.26 new_primModNatS1(Succ(Zero), Succ(vyv291000)) -> Succ(Zero) 248.92/165.26 new_primModNatS1(Zero, vyv29100) -> Zero 248.92/165.26 new_primMinusNatS2(Zero, Zero) -> Zero 248.92/165.26 new_primMinusNatS2(Zero, Succ(vyv3110)) -> Zero 248.92/165.26 new_primMinusNatS2(Succ(vyv3100), Zero) -> Succ(vyv3100) 248.92/165.26 new_esEs(Neg(Succ(vyv24100))) -> new_primEqInt(Neg(Succ(vyv24100))) 248.92/165.26 new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) 248.92/165.26 new_primEqInt(Neg(Zero)) -> True 248.92/165.26 new_primEqInt(Neg(Succ(vyv242000))) -> False 248.92/165.26 248.92/165.26 The set Q consists of the following terms: 248.92/165.26 248.92/165.26 new_primModNatS1(Succ(Zero), Succ(x0)) 248.92/165.26 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 248.92/165.26 new_primModNatS02(x0, x1) 248.92/165.26 new_primModNatS01(x0, x1, Succ(x2), Zero) 248.92/165.26 new_primModNatS01(x0, x1, Zero, Succ(x2)) 248.92/165.26 new_primMinusNatS2(Zero, Zero) 248.92/165.26 new_esEs(Neg(Succ(x0))) 248.92/165.26 new_primMinusNatS2(Zero, Succ(x0)) 248.92/165.26 new_primModNatS1(Succ(Zero), Zero) 248.92/165.26 new_primEqInt(Neg(Succ(x0))) 248.92/165.26 new_primMinusNatS2(Succ(x0), Zero) 248.92/165.26 new_primEqInt(Neg(Zero)) 248.92/165.26 new_primModNatS01(x0, x1, Zero, Zero) 248.92/165.26 new_primMinusNatS2(Succ(x0), Succ(x1)) 248.92/165.26 new_primModNatS1(Succ(Succ(x0)), Zero) 248.92/165.26 new_primModNatS1(Zero, x0) 248.92/165.26 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 248.92/165.26 new_esEs(Neg(Zero)) 248.92/165.26 248.92/165.26 We have to consider all (P,Q,R)-chains. 248.92/165.26 ---------------------------------------- 248.92/165.26 248.92/165.26 (684) InductionCalculusProof (EQUIVALENT) 248.92/165.26 Note that final constraints are written in bold face. 248.92/165.26 248.92/165.26 248.92/165.26 248.92/165.26 For Pair new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) the following chains were created: 248.92/165.26 *We consider the chain new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x1))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x1))))), Neg(Succ(Succ(Succ(Zero))))), new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) which results in the following constraint: 248.92/165.26 248.92/165.26 (1) (new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x1))))), Neg(Succ(Succ(Succ(Zero)))))=new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) ==> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x1))))), Neg(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x1))))), Neg(Succ(Succ(Succ(Zero)))))) 248.92/165.26 248.92/165.26 248.92/165.26 248.92/165.26 We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: 248.92/165.26 248.92/165.26 (2) (new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x1))))), Neg(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x1))))), Neg(Succ(Succ(Succ(Zero)))))) 248.92/165.26 248.92/165.26 248.92/165.26 248.92/165.26 248.92/165.26 248.92/165.26 248.92/165.26 248.92/165.26 248.92/165.26 For Pair new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) the following chains were created: 248.92/165.26 *We consider the chain new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x8))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x8), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x8)))))), new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x9)))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(x9), Succ(Succ(Zero))))) which results in the following constraint: 248.92/165.26 248.92/165.26 (1) (new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x8), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x8))))))=new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x9)))))) ==> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x8))))), Neg(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x8), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x8))))))) 248.92/165.26 248.92/165.26 248.92/165.26 248.92/165.26 We simplified constraint (1) using rules (I), (II), (IV), (VII) which results in the following new constraint: 248.92/165.26 248.92/165.26 (2) (Neg(new_primModNatS1(Succ(x8), Succ(Succ(Zero))))=x20 & new_esEs(x20)=False ==> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x8))))), Neg(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x8), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x8))))))) 248.92/165.26 248.92/165.26 248.92/165.26 248.92/165.26 We simplified constraint (2) using rule (V) (with possible (I) afterwards) using induction on new_esEs(x20)=False which results in the following new constraints: 248.92/165.26 248.92/165.26 (3) (new_primEqInt(Neg(Succ(x21)))=False & Neg(new_primModNatS1(Succ(x8), Succ(Succ(Zero))))=Neg(Succ(x21)) ==> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x8))))), Neg(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x8), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x8))))))) 248.92/165.26 248.92/165.26 (4) (new_primEqInt(Neg(Zero))=False & Neg(new_primModNatS1(Succ(x8), Succ(Succ(Zero))))=Neg(Zero) ==> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x8))))), Neg(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x8), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x8))))))) 248.92/165.26 248.92/165.26 248.92/165.26 248.92/165.26 We simplified constraint (3) using rules (I), (II), (VII) which results in the following new constraint: 248.92/165.26 248.92/165.26 (5) (Neg(Succ(x21))=x22 & new_primEqInt(x22)=False & Succ(x8)=x23 & Succ(Succ(Zero))=x24 & new_primModNatS1(x23, x24)=Succ(x21) ==> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x8))))), Neg(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x8), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x8))))))) 248.92/165.26 248.92/165.26 248.92/165.26 248.92/165.26 We simplified constraint (4) using rules (I), (II), (VII) which results in the following new constraint: 248.92/165.26 248.92/165.26 (6) (Neg(Zero)=x47 & new_primEqInt(x47)=False & Succ(x8)=x48 & Succ(Succ(Zero))=x49 & new_primModNatS1(x48, x49)=Zero ==> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x8))))), Neg(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x8), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x8))))))) 248.92/165.26 248.92/165.26 248.92/165.26 248.92/165.26 We simplified constraint (5) using rule (V) (with possible (I) afterwards) using induction on new_primEqInt(x22)=False which results in the following new constraint: 248.92/165.26 248.92/165.26 (7) (False=False & Neg(Succ(x21))=Neg(Succ(x25)) & Succ(x8)=x23 & Succ(Succ(Zero))=x24 & new_primModNatS1(x23, x24)=Succ(x21) ==> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x8))))), Neg(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x8), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x8))))))) 248.92/165.26 248.92/165.26 248.92/165.26 248.92/165.26 We simplified constraint (7) using rules (I), (II), (IV) which results in the following new constraint: 248.92/165.26 248.92/165.26 (8) (Succ(x8)=x23 & Succ(Succ(Zero))=x24 & new_primModNatS1(x23, x24)=Succ(x21) ==> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x8))))), Neg(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x8), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x8))))))) 248.92/165.26 248.92/165.26 248.92/165.26 248.92/165.26 We simplified constraint (8) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS1(x23, x24)=Succ(x21) which results in the following new constraints: 248.92/165.26 248.92/165.26 (9) (new_primModNatS01(x27, x26, x27, x26)=Succ(x21) & Succ(x8)=Succ(Succ(x27)) & Succ(Succ(Zero))=Succ(x26) ==> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x8))))), Neg(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x8), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x8))))))) 248.92/165.26 248.92/165.26 (10) (Succ(Zero)=Succ(x21) & Succ(x8)=Succ(Zero) & Succ(Succ(Zero))=Succ(x28) ==> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x8))))), Neg(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x8), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x8))))))) 248.92/165.26 248.92/165.26 248.92/165.26 248.92/165.26 We simplified constraint (9) using rules (I), (II), (III), (VII) which results in the following new constraint: 248.92/165.26 248.92/165.26 (11) (x27=x30 & x26=x31 & new_primModNatS01(x27, x26, x30, x31)=Succ(x21) & Succ(Zero)=x26 ==> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Succ(x27)))))), Neg(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(Succ(x27)), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(Succ(x27)))))))) 248.92/165.26 248.92/165.26 248.92/165.26 248.92/165.26 We simplified constraint (10) using rules (I), (II), (III), (IV) which results in the following new constraint: 248.92/165.26 248.92/165.26 (12) (new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(Zero), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(Zero))))))) 248.92/165.26 248.92/165.26 248.92/165.26 248.92/165.26 We simplified constraint (11) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS01(x27, x26, x30, x31)=Succ(x21) which results in the following new constraints: 248.92/165.26 248.92/165.26 (13) (new_primModNatS02(x33, x32)=Succ(x21) & x33=Zero & x32=Zero & Succ(Zero)=x32 ==> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Succ(x33)))))), Neg(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(Succ(x33)), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(Succ(x33)))))))) 248.92/165.26 248.92/165.26 (14) (new_primModNatS01(x37, x36, x35, x34)=Succ(x21) & x37=Succ(x35) & x36=Succ(x34) & Succ(Zero)=x36 & (\/x38:new_primModNatS01(x37, x36, x35, x34)=Succ(x38) & x37=x35 & x36=x34 & Succ(Zero)=x36 ==> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Succ(x37)))))), Neg(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(Succ(x37)), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(Succ(x37)))))))) ==> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Succ(x37)))))), Neg(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(Succ(x37)), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(Succ(x37)))))))) 248.92/165.26 248.92/165.26 (15) (new_primModNatS02(x41, x40)=Succ(x21) & x41=Succ(x39) & x40=Zero & Succ(Zero)=x40 ==> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Succ(x41)))))), Neg(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(Succ(x41)), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(Succ(x41)))))))) 248.92/165.26 248.92/165.26 (16) (Succ(Succ(x44))=Succ(x21) & x44=Zero & x43=Succ(x42) & Succ(Zero)=x43 ==> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Succ(x44)))))), Neg(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(Succ(x44)), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(Succ(x44)))))))) 248.92/165.26 248.92/165.26 248.92/165.26 248.92/165.26 We solved constraint (13) using rules (I), (II), (III).We simplified constraint (14) using rules (I), (II), (III), (IV), (VII) which results in the following new constraint: 248.92/165.26 248.92/165.26 (17) (new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Succ(Succ(x35))))))), Neg(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(Succ(Succ(x35))), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x35))))))))) 248.92/165.26 248.92/165.26 248.92/165.26 248.92/165.26 We solved constraint (15) using rules (I), (II), (III).We simplified constraint (16) using rules (I), (II), (III), (IV) which results in the following new constraint: 248.92/165.26 248.92/165.26 (18) (new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(Succ(Zero)), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))))) 248.92/165.26 248.92/165.26 248.92/165.26 248.92/165.26 We simplified constraint (6) using rule (V) (with possible (I) afterwards) using induction on new_primEqInt(x47)=False which results in the following new constraint: 248.92/165.26 248.92/165.26 (19) (False=False & Neg(Zero)=Neg(Succ(x50)) & Succ(x8)=x48 & Succ(Succ(Zero))=x49 & new_primModNatS1(x48, x49)=Zero ==> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x8))))), Neg(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x8), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x8))))))) 248.92/165.26 248.92/165.26 248.92/165.26 248.92/165.26 We solved constraint (19) using rules (I), (II). 248.92/165.26 248.92/165.26 248.92/165.26 248.92/165.26 248.92/165.26 For Pair new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) the following chains were created: 248.92/165.26 *We consider the chain new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x10)))))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x10))))), Neg(Succ(Succ(Succ(Zero))))), new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x11))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x11))))), Neg(Succ(Succ(Succ(Zero))))) which results in the following constraint: 248.92/165.26 248.92/165.26 (1) (new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x10))))), Neg(Succ(Succ(Succ(Zero)))))=new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x11))))), Neg(Succ(Succ(Succ(Zero))))) ==> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x10))))))_>=_new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x10))))), Neg(Succ(Succ(Succ(Zero)))))) 248.92/165.26 248.92/165.26 248.92/165.26 248.92/165.26 We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: 248.92/165.26 248.92/165.26 (2) (new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x10))))))_>=_new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x10))))), Neg(Succ(Succ(Succ(Zero)))))) 248.92/165.26 248.92/165.26 248.92/165.26 248.92/165.26 248.92/165.26 248.92/165.26 248.92/165.26 248.92/165.26 248.92/165.26 For Pair new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) the following chains were created: 248.92/165.26 *We consider the chain new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x17)))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(x17), Succ(Succ(Zero))))), new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x18)))))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x18))))), Neg(Succ(Succ(Succ(Zero))))) which results in the following constraint: 248.92/165.26 248.92/165.26 (1) (new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(x17), Succ(Succ(Zero)))))=new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x18)))))) ==> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x17))))))_>=_new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(x17), Succ(Succ(Zero)))))) 248.92/165.26 248.92/165.26 248.92/165.26 248.92/165.26 We simplified constraint (1) using rules (I), (II), (VII) which results in the following new constraint: 248.92/165.26 248.92/165.26 (2) (Succ(x17)=x51 & Succ(Succ(Zero))=x52 & new_primModNatS1(x51, x52)=Succ(Succ(Succ(Succ(x18)))) ==> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x17))))))_>=_new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(x17), Succ(Succ(Zero)))))) 248.92/165.26 248.92/165.26 248.92/165.26 248.92/165.26 We simplified constraint (2) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS1(x51, x52)=Succ(Succ(Succ(Succ(x18)))) which results in the following new constraints: 248.92/165.26 248.92/165.26 (3) (new_primModNatS01(x54, x53, x54, x53)=Succ(Succ(Succ(Succ(x18)))) & Succ(x17)=Succ(Succ(x54)) & Succ(Succ(Zero))=Succ(x53) ==> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x17))))))_>=_new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(x17), Succ(Succ(Zero)))))) 248.92/165.26 248.92/165.26 (4) (Succ(Zero)=Succ(Succ(Succ(Succ(x18)))) & Succ(x17)=Succ(Zero) & Succ(Succ(Zero))=Succ(x55) ==> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x17))))))_>=_new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(x17), Succ(Succ(Zero)))))) 248.92/165.26 248.92/165.26 248.92/165.26 248.92/165.26 We simplified constraint (3) using rules (I), (II), (III), (VII) which results in the following new constraint: 248.92/165.26 248.92/165.26 (5) (x54=x57 & x53=x58 & new_primModNatS01(x54, x53, x57, x58)=Succ(Succ(Succ(Succ(x18)))) & Succ(Zero)=x53 ==> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(Succ(x54)))))))_>=_new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(Succ(x54)), Succ(Succ(Zero)))))) 248.92/165.26 248.92/165.26 248.92/165.26 248.92/165.26 We solved constraint (4) using rules (I), (II).We simplified constraint (5) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS01(x54, x53, x57, x58)=Succ(Succ(Succ(Succ(x18)))) which results in the following new constraints: 248.92/165.26 248.92/165.26 (6) (new_primModNatS02(x60, x59)=Succ(Succ(Succ(Succ(x18)))) & x60=Zero & x59=Zero & Succ(Zero)=x59 ==> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(Succ(x60)))))))_>=_new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(Succ(x60)), Succ(Succ(Zero)))))) 248.92/165.26 248.92/165.26 (7) (new_primModNatS01(x64, x63, x62, x61)=Succ(Succ(Succ(Succ(x18)))) & x64=Succ(x62) & x63=Succ(x61) & Succ(Zero)=x63 & (\/x65:new_primModNatS01(x64, x63, x62, x61)=Succ(Succ(Succ(Succ(x65)))) & x64=x62 & x63=x61 & Succ(Zero)=x63 ==> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(Succ(x64)))))))_>=_new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(Succ(x64)), Succ(Succ(Zero)))))) ==> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(Succ(x64)))))))_>=_new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(Succ(x64)), Succ(Succ(Zero)))))) 248.92/165.26 248.92/165.26 (8) (new_primModNatS02(x68, x67)=Succ(Succ(Succ(Succ(x18)))) & x68=Succ(x66) & x67=Zero & Succ(Zero)=x67 ==> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(Succ(x68)))))))_>=_new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(Succ(x68)), Succ(Succ(Zero)))))) 248.92/165.26 248.92/165.26 (9) (Succ(Succ(x71))=Succ(Succ(Succ(Succ(x18)))) & x71=Zero & x70=Succ(x69) & Succ(Zero)=x70 ==> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(Succ(x71)))))))_>=_new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(Succ(x71)), Succ(Succ(Zero)))))) 248.92/165.26 248.92/165.26 248.92/165.26 248.92/165.26 We solved constraint (6) using rules (I), (II), (III).We simplified constraint (7) using rules (I), (II), (III), (IV), (VII) which results in the following new constraint: 248.92/165.26 248.92/165.26 (10) (new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x62))))))))_>=_new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(Succ(Succ(x62))), Succ(Succ(Zero)))))) 248.92/165.26 248.92/165.26 248.92/165.26 248.92/165.26 We solved constraint (8) using rules (I), (II), (III).We solved constraint (9) using rules (I), (II), (III), (IV). 248.92/165.26 248.92/165.26 248.92/165.26 248.92/165.26 248.92/165.26 To summarize, we get the following constraints P__>=_ for the following pairs. 248.92/165.26 248.92/165.26 *new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) 248.92/165.26 248.92/165.26 *(new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x1))))), Neg(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x1))))), Neg(Succ(Succ(Succ(Zero)))))) 248.92/165.26 248.92/165.26 248.92/165.26 248.92/165.26 248.92/165.26 *new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) 248.92/165.26 248.92/165.26 *(new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(Succ(Zero)), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))))) 248.92/165.26 248.92/165.26 248.92/165.26 *(new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(Zero), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(Zero))))))) 248.92/165.26 248.92/165.26 248.92/165.26 *(new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Succ(Succ(x35))))))), Neg(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(Succ(Succ(x35))), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x35))))))))) 248.92/165.26 248.92/165.26 248.92/165.26 248.92/165.26 248.92/165.26 *new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) 248.92/165.26 248.92/165.26 *(new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x10))))))_>=_new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x10))))), Neg(Succ(Succ(Succ(Zero)))))) 248.92/165.26 248.92/165.26 248.92/165.26 248.92/165.26 248.92/165.26 *new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 248.92/165.26 248.92/165.26 *(new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x62))))))))_>=_new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(Succ(Succ(x62))), Succ(Succ(Zero)))))) 248.92/165.26 248.92/165.26 248.92/165.26 248.92/165.26 248.92/165.26 248.92/165.26 248.92/165.26 248.92/165.26 248.92/165.26 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. 248.92/165.26 ---------------------------------------- 248.92/165.26 248.92/165.26 (685) 248.92/165.26 Obligation: 248.92/165.26 Q DP problem: 248.92/165.26 The TRS P consists of the following rules: 248.92/165.26 248.92/165.26 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) 248.92/165.26 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) 248.92/165.26 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) 248.92/165.26 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 248.92/165.26 248.92/165.26 The TRS R consists of the following rules: 248.92/165.26 248.92/165.26 new_primModNatS1(Succ(Succ(vyv292000)), Succ(vyv291000)) -> new_primModNatS01(vyv292000, vyv291000, vyv292000, vyv291000) 248.92/165.26 new_primModNatS01(vyv330, vyv331, Zero, Zero) -> new_primModNatS02(vyv330, vyv331) 248.92/165.26 new_primModNatS02(vyv330, vyv331) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv330), Succ(vyv331)), Succ(vyv331)) 248.92/165.26 new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Succ(vyv3330)) -> new_primModNatS01(vyv330, vyv331, vyv3320, vyv3330) 248.92/165.26 new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Zero) -> new_primModNatS02(vyv330, vyv331) 248.92/165.26 new_primModNatS01(vyv330, vyv331, Zero, Succ(vyv3330)) -> Succ(Succ(vyv330)) 248.92/165.26 new_primMinusNatS2(Succ(vyv3100), Succ(vyv3110)) -> new_primMinusNatS2(vyv3100, vyv3110) 248.92/165.26 new_primModNatS1(Succ(Zero), Succ(vyv291000)) -> Succ(Zero) 248.92/165.26 new_primModNatS1(Zero, vyv29100) -> Zero 248.92/165.26 new_primMinusNatS2(Zero, Zero) -> Zero 248.92/165.26 new_primMinusNatS2(Zero, Succ(vyv3110)) -> Zero 248.92/165.26 new_primMinusNatS2(Succ(vyv3100), Zero) -> Succ(vyv3100) 248.92/165.26 new_esEs(Neg(Succ(vyv24100))) -> new_primEqInt(Neg(Succ(vyv24100))) 248.92/165.26 new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) 248.92/165.26 new_primEqInt(Neg(Zero)) -> True 248.92/165.26 new_primEqInt(Neg(Succ(vyv242000))) -> False 248.92/165.26 248.92/165.26 The set Q consists of the following terms: 248.92/165.26 248.92/165.26 new_primModNatS1(Succ(Zero), Succ(x0)) 248.92/165.26 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 248.92/165.26 new_primEqInt(Pos(Zero)) 248.92/165.26 new_primModNatS02(x0, x1) 248.92/165.26 new_primModNatS01(x0, x1, Succ(x2), Zero) 248.92/165.26 new_primModNatS01(x0, x1, Zero, Succ(x2)) 248.92/165.26 new_primMinusNatS2(Zero, Zero) 248.92/165.26 new_esEs(Neg(Succ(x0))) 248.92/165.26 new_primMinusNatS2(Zero, Succ(x0)) 248.92/165.26 new_primModNatS1(Succ(Zero), Zero) 248.92/165.26 new_esEs(Pos(Zero)) 248.92/165.26 new_primEqInt(Neg(Succ(x0))) 248.92/165.26 new_primMinusNatS2(Succ(x0), Zero) 248.92/165.26 new_primEqInt(Neg(Zero)) 248.92/165.26 new_primModNatS01(x0, x1, Zero, Zero) 248.92/165.26 new_primEqInt(Pos(Succ(x0))) 248.92/165.26 new_primMinusNatS2(Succ(x0), Succ(x1)) 248.92/165.26 new_primModNatS1(Succ(Succ(x0)), Zero) 248.92/165.26 new_primModNatS1(Zero, x0) 248.92/165.26 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 248.92/165.26 new_esEs(Neg(Zero)) 248.92/165.26 new_esEs(Pos(Succ(x0))) 248.92/165.26 248.92/165.26 We have to consider all minimal (P,Q,R)-chains. 248.92/165.26 ---------------------------------------- 248.92/165.26 248.92/165.26 (686) 248.92/165.26 Obligation: 248.92/165.26 Q DP problem: 248.92/165.26 The TRS P consists of the following rules: 248.92/165.26 248.92/165.26 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x3))))), Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 248.92/165.26 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) 248.92/165.26 248.92/165.26 The TRS R consists of the following rules: 248.92/165.26 248.92/165.26 new_primModNatS1(Succ(Succ(vyv292000)), Succ(vyv291000)) -> new_primModNatS01(vyv292000, vyv291000, vyv292000, vyv291000) 248.92/165.26 new_primModNatS01(vyv330, vyv331, Zero, Zero) -> new_primModNatS02(vyv330, vyv331) 248.92/165.26 new_primModNatS02(vyv330, vyv331) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv330), Succ(vyv331)), Succ(vyv331)) 248.92/165.26 new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Succ(vyv3330)) -> new_primModNatS01(vyv330, vyv331, vyv3320, vyv3330) 248.92/165.26 new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Zero) -> new_primModNatS02(vyv330, vyv331) 248.92/165.26 new_primModNatS01(vyv330, vyv331, Zero, Succ(vyv3330)) -> Succ(Succ(vyv330)) 248.92/165.26 new_primMinusNatS2(Succ(vyv3100), Succ(vyv3110)) -> new_primMinusNatS2(vyv3100, vyv3110) 248.92/165.26 new_primModNatS1(Succ(Zero), Succ(vyv291000)) -> Succ(Zero) 248.92/165.26 new_primModNatS1(Zero, vyv29100) -> Zero 248.92/165.26 new_primMinusNatS2(Zero, Zero) -> Zero 248.92/165.26 new_primMinusNatS2(Zero, Succ(vyv3110)) -> Zero 248.92/165.26 new_primMinusNatS2(Succ(vyv3100), Zero) -> Succ(vyv3100) 248.92/165.26 new_esEs(Neg(Succ(vyv24100))) -> new_primEqInt(Neg(Succ(vyv24100))) 248.92/165.26 new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) 248.92/165.26 new_primEqInt(Neg(Zero)) -> True 248.92/165.26 new_primEqInt(Neg(Succ(vyv242000))) -> False 248.92/165.26 248.92/165.26 The set Q consists of the following terms: 248.92/165.26 248.92/165.26 new_primModNatS1(Succ(Zero), Succ(x0)) 248.92/165.26 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 248.92/165.26 new_primEqInt(Pos(Zero)) 248.92/165.26 new_primModNatS02(x0, x1) 248.92/165.26 new_primModNatS01(x0, x1, Succ(x2), Zero) 248.92/165.26 new_primModNatS01(x0, x1, Zero, Succ(x2)) 248.92/165.26 new_primMinusNatS2(Zero, Zero) 248.92/165.26 new_esEs(Neg(Succ(x0))) 248.92/165.26 new_primMinusNatS2(Zero, Succ(x0)) 248.92/165.26 new_primModNatS1(Succ(Zero), Zero) 248.92/165.26 new_esEs(Pos(Zero)) 248.92/165.26 new_primEqInt(Neg(Succ(x0))) 248.92/165.26 new_primMinusNatS2(Succ(x0), Zero) 248.92/165.26 new_primEqInt(Neg(Zero)) 248.92/165.26 new_primModNatS01(x0, x1, Zero, Zero) 248.92/165.26 new_primEqInt(Pos(Succ(x0))) 248.92/165.26 new_primMinusNatS2(Succ(x0), Succ(x1)) 248.92/165.26 new_primModNatS1(Succ(Succ(x0)), Zero) 248.92/165.26 new_primModNatS1(Zero, x0) 248.92/165.26 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 248.92/165.26 new_esEs(Neg(Zero)) 248.92/165.26 new_esEs(Pos(Succ(x0))) 248.92/165.26 248.92/165.26 We have to consider all minimal (P,Q,R)-chains. 248.92/165.26 ---------------------------------------- 248.92/165.26 248.92/165.26 (687) QReductionProof (EQUIVALENT) 248.92/165.26 We deleted the following terms from Q as they contain symbols which do neither occur in P nor in R.[THIEMANN]. 248.92/165.26 248.92/165.26 new_primEqInt(Pos(Zero)) 248.92/165.26 new_esEs(Pos(Zero)) 248.92/165.26 new_primEqInt(Pos(Succ(x0))) 248.92/165.26 new_esEs(Pos(Succ(x0))) 248.92/165.26 248.92/165.26 248.92/165.26 ---------------------------------------- 248.92/165.26 248.92/165.26 (688) 248.92/165.26 Obligation: 248.92/165.26 Q DP problem: 248.92/165.26 The TRS P consists of the following rules: 248.92/165.26 248.92/165.26 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x3))))), Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 248.92/165.26 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) 248.92/165.26 248.92/165.26 The TRS R consists of the following rules: 248.92/165.26 248.92/165.26 new_primModNatS1(Succ(Succ(vyv292000)), Succ(vyv291000)) -> new_primModNatS01(vyv292000, vyv291000, vyv292000, vyv291000) 248.92/165.26 new_primModNatS01(vyv330, vyv331, Zero, Zero) -> new_primModNatS02(vyv330, vyv331) 248.92/165.26 new_primModNatS02(vyv330, vyv331) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv330), Succ(vyv331)), Succ(vyv331)) 248.92/165.26 new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Succ(vyv3330)) -> new_primModNatS01(vyv330, vyv331, vyv3320, vyv3330) 248.92/165.26 new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Zero) -> new_primModNatS02(vyv330, vyv331) 248.92/165.26 new_primModNatS01(vyv330, vyv331, Zero, Succ(vyv3330)) -> Succ(Succ(vyv330)) 248.92/165.26 new_primMinusNatS2(Succ(vyv3100), Succ(vyv3110)) -> new_primMinusNatS2(vyv3100, vyv3110) 248.92/165.26 new_primModNatS1(Succ(Zero), Succ(vyv291000)) -> Succ(Zero) 248.92/165.26 new_primModNatS1(Zero, vyv29100) -> Zero 248.92/165.26 new_primMinusNatS2(Zero, Zero) -> Zero 248.92/165.26 new_primMinusNatS2(Zero, Succ(vyv3110)) -> Zero 248.92/165.26 new_primMinusNatS2(Succ(vyv3100), Zero) -> Succ(vyv3100) 248.92/165.26 new_esEs(Neg(Succ(vyv24100))) -> new_primEqInt(Neg(Succ(vyv24100))) 248.92/165.26 new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) 248.92/165.26 new_primEqInt(Neg(Zero)) -> True 248.92/165.26 new_primEqInt(Neg(Succ(vyv242000))) -> False 248.92/165.26 248.92/165.26 The set Q consists of the following terms: 248.92/165.26 248.92/165.26 new_primModNatS1(Succ(Zero), Succ(x0)) 248.92/165.26 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 248.92/165.26 new_primModNatS02(x0, x1) 248.92/165.26 new_primModNatS01(x0, x1, Succ(x2), Zero) 248.92/165.26 new_primModNatS01(x0, x1, Zero, Succ(x2)) 248.92/165.26 new_primMinusNatS2(Zero, Zero) 248.92/165.26 new_esEs(Neg(Succ(x0))) 248.92/165.26 new_primMinusNatS2(Zero, Succ(x0)) 248.92/165.26 new_primModNatS1(Succ(Zero), Zero) 248.92/165.26 new_primEqInt(Neg(Succ(x0))) 248.92/165.26 new_primMinusNatS2(Succ(x0), Zero) 248.92/165.26 new_primEqInt(Neg(Zero)) 248.92/165.26 new_primModNatS01(x0, x1, Zero, Zero) 248.92/165.26 new_primMinusNatS2(Succ(x0), Succ(x1)) 248.92/165.26 new_primModNatS1(Succ(Succ(x0)), Zero) 248.92/165.26 new_primModNatS1(Zero, x0) 248.92/165.26 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 248.92/165.26 new_esEs(Neg(Zero)) 248.92/165.26 248.92/165.26 We have to consider all (P,Q,R)-chains. 248.92/165.26 ---------------------------------------- 248.92/165.26 248.92/165.26 (689) InductionCalculusProof (EQUIVALENT) 248.92/165.26 Note that final constraints are written in bold face. 248.92/165.26 248.92/165.26 248.92/165.26 248.92/165.26 For Pair new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x3))))), Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) the following chains were created: 248.92/165.26 *We consider the chain new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(new_primModNatS01(Succ(Succ(x3)), Succ(Succ(x2)), x3, x2))), new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x4))))), Neg(Succ(Succ(Succ(Succ(x5)))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(Succ(x4)), Succ(Succ(x5)), x4, x5))), Neg(Succ(Succ(Succ(Succ(x5))))), Neg(Succ(Succ(Succ(Succ(x4)))))) which results in the following constraint: 248.92/165.26 248.92/165.26 (1) (new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(new_primModNatS01(Succ(Succ(x3)), Succ(Succ(x2)), x3, x2)))=new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x4))))), Neg(Succ(Succ(Succ(Succ(x5)))))) ==> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))))_>=_new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(new_primModNatS01(Succ(Succ(x3)), Succ(Succ(x2)), x3, x2)))) 248.92/165.27 248.92/165.27 248.92/165.27 248.92/165.27 We simplified constraint (1) using rules (I), (II), (IV), (VII) which results in the following new constraint: 248.92/165.27 248.92/165.27 (2) (Succ(Succ(x3))=x12 & Succ(Succ(x2))=x13 & new_primModNatS01(x12, x13, x3, x2)=Succ(Succ(Succ(Succ(x5)))) ==> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))))_>=_new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(new_primModNatS01(Succ(Succ(x3)), Succ(Succ(x2)), x3, x2)))) 248.92/165.27 248.92/165.27 248.92/165.27 248.92/165.27 We simplified constraint (2) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS01(x12, x13, x3, x2)=Succ(Succ(Succ(Succ(x5)))) which results in the following new constraints: 248.92/165.27 248.92/165.27 (3) (new_primModNatS02(x15, x14)=Succ(Succ(Succ(Succ(x5)))) & Succ(Succ(Zero))=x15 & Succ(Succ(Zero))=x14 ==> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Zero))))), Neg(new_primModNatS01(Succ(Succ(Zero)), Succ(Succ(Zero)), Zero, Zero)))) 248.92/165.27 248.92/165.27 (4) (new_primModNatS01(x19, x18, x17, x16)=Succ(Succ(Succ(Succ(x5)))) & Succ(Succ(Succ(x17)))=x19 & Succ(Succ(Succ(x16)))=x18 & (\/x20:new_primModNatS01(x19, x18, x17, x16)=Succ(Succ(Succ(Succ(x20)))) & Succ(Succ(x17))=x19 & Succ(Succ(x16))=x18 ==> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x16))))), Neg(Succ(Succ(Succ(Succ(x17))))))_>=_new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x16))))), Neg(new_primModNatS01(Succ(Succ(x17)), Succ(Succ(x16)), x17, x16)))) ==> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(Succ(x16)))))), Neg(Succ(Succ(Succ(Succ(Succ(x17)))))))_>=_new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Succ(x16)))))), Neg(new_primModNatS01(Succ(Succ(Succ(x17))), Succ(Succ(Succ(x16))), Succ(x17), Succ(x16))))) 248.92/165.27 248.92/165.27 (5) (new_primModNatS02(x23, x22)=Succ(Succ(Succ(Succ(x5)))) & Succ(Succ(Succ(x21)))=x23 & Succ(Succ(Zero))=x22 ==> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(Succ(x21)))))))_>=_new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Zero))))), Neg(new_primModNatS01(Succ(Succ(Succ(x21))), Succ(Succ(Zero)), Succ(x21), Zero)))) 248.92/165.27 248.92/165.27 (6) (Succ(Succ(x26))=Succ(Succ(Succ(Succ(x5)))) & Succ(Succ(Zero))=x26 & Succ(Succ(Succ(x24)))=x25 ==> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(Succ(x24)))))), Neg(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Succ(x24)))))), Neg(new_primModNatS01(Succ(Succ(Zero)), Succ(Succ(Succ(x24))), Zero, Succ(x24))))) 248.92/165.27 248.92/165.27 248.92/165.27 248.92/165.27 We simplified constraint (3) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS02(x15, x14)=Succ(Succ(Succ(Succ(x5)))) which results in the following new constraint: 248.92/165.27 248.92/165.27 (7) (new_primModNatS1(new_primMinusNatS2(Succ(x28), Succ(x27)), Succ(x27))=Succ(Succ(Succ(Succ(x5)))) & Succ(Succ(Zero))=x28 & Succ(Succ(Zero))=x27 ==> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Zero))))), Neg(new_primModNatS01(Succ(Succ(Zero)), Succ(Succ(Zero)), Zero, Zero)))) 248.92/165.27 248.92/165.27 248.92/165.27 248.92/165.27 We simplified constraint (4) using rule (IV) which results in the following new constraint: 248.92/165.27 248.92/165.27 (8) (new_primModNatS01(x19, x18, x17, x16)=Succ(Succ(Succ(Succ(x5)))) & Succ(Succ(Succ(x17)))=x19 & Succ(Succ(Succ(x16)))=x18 ==> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(Succ(x16)))))), Neg(Succ(Succ(Succ(Succ(Succ(x17)))))))_>=_new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Succ(x16)))))), Neg(new_primModNatS01(Succ(Succ(Succ(x17))), Succ(Succ(Succ(x16))), Succ(x17), Succ(x16))))) 248.92/165.27 248.92/165.27 248.92/165.27 248.92/165.27 We simplified constraint (5) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS02(x23, x22)=Succ(Succ(Succ(Succ(x5)))) which results in the following new constraint: 248.92/165.27 248.92/165.27 (9) (new_primModNatS1(new_primMinusNatS2(Succ(x47), Succ(x46)), Succ(x46))=Succ(Succ(Succ(Succ(x5)))) & Succ(Succ(Succ(x21)))=x47 & Succ(Succ(Zero))=x46 ==> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(Succ(x21)))))))_>=_new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Zero))))), Neg(new_primModNatS01(Succ(Succ(Succ(x21))), Succ(Succ(Zero)), Succ(x21), Zero)))) 248.92/165.27 248.92/165.27 248.92/165.27 248.92/165.27 We simplified constraint (6) using rules (I), (II), (III), (IV) which results in the following new constraint: 248.92/165.27 248.92/165.27 (10) (new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(Succ(x24)))))), Neg(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Succ(x24)))))), Neg(new_primModNatS01(Succ(Succ(Zero)), Succ(Succ(Succ(x24))), Zero, Succ(x24))))) 248.92/165.27 248.92/165.27 248.92/165.27 248.92/165.27 We simplified constraint (7) using rules (III), (IV), (VII) which results in the following new constraint: 248.92/165.27 248.92/165.27 (11) (new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Zero))))), Neg(new_primModNatS01(Succ(Succ(Zero)), Succ(Succ(Zero)), Zero, Zero)))) 248.92/165.27 248.92/165.27 248.92/165.27 248.92/165.27 We simplified constraint (8) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS01(x19, x18, x17, x16)=Succ(Succ(Succ(Succ(x5)))) which results in the following new constraints: 248.92/165.27 248.92/165.27 (12) (new_primModNatS02(x34, x33)=Succ(Succ(Succ(Succ(x5)))) & Succ(Succ(Succ(Zero)))=x34 & Succ(Succ(Succ(Zero)))=x33 ==> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(new_primModNatS01(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Zero))), Succ(Zero), Succ(Zero))))) 248.92/165.27 248.92/165.27 (13) (new_primModNatS01(x38, x37, x36, x35)=Succ(Succ(Succ(Succ(x5)))) & Succ(Succ(Succ(Succ(x36))))=x38 & Succ(Succ(Succ(Succ(x35))))=x37 & (\/x39:new_primModNatS01(x38, x37, x36, x35)=Succ(Succ(Succ(Succ(x39)))) & Succ(Succ(Succ(x36)))=x38 & Succ(Succ(Succ(x35)))=x37 ==> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(Succ(x35)))))), Neg(Succ(Succ(Succ(Succ(Succ(x36)))))))_>=_new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Succ(x35)))))), Neg(new_primModNatS01(Succ(Succ(Succ(x36))), Succ(Succ(Succ(x35))), Succ(x36), Succ(x35))))) ==> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(Succ(Succ(x35))))))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x36))))))))_>=_new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Succ(Succ(x35))))))), Neg(new_primModNatS01(Succ(Succ(Succ(Succ(x36)))), Succ(Succ(Succ(Succ(x35)))), Succ(Succ(x36)), Succ(Succ(x35)))))) 248.92/165.27 248.92/165.27 (14) (new_primModNatS02(x42, x41)=Succ(Succ(Succ(Succ(x5)))) & Succ(Succ(Succ(Succ(x40))))=x42 & Succ(Succ(Succ(Zero)))=x41 ==> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x40))))))))_>=_new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(new_primModNatS01(Succ(Succ(Succ(Succ(x40)))), Succ(Succ(Succ(Zero))), Succ(Succ(x40)), Succ(Zero))))) 248.92/165.27 248.92/165.27 (15) (Succ(Succ(x45))=Succ(Succ(Succ(Succ(x5)))) & Succ(Succ(Succ(Zero)))=x45 & Succ(Succ(Succ(Succ(x43))))=x44 ==> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(Succ(Succ(x43))))))), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Succ(Succ(x43))))))), Neg(new_primModNatS01(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Succ(x43)))), Succ(Zero), Succ(Succ(x43)))))) 248.92/165.27 248.92/165.27 248.92/165.27 248.92/165.27 We simplified constraint (12) using rules (III), (IV) which results in the following new constraint: 248.92/165.27 248.92/165.27 (16) (new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(new_primModNatS01(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Zero))), Succ(Zero), Succ(Zero))))) 248.92/165.27 248.92/165.27 248.92/165.27 248.92/165.27 We simplified constraint (13) using rules (III), (IV) which results in the following new constraint: 248.92/165.27 248.92/165.27 (17) (new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(Succ(Succ(x35))))))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x36))))))))_>=_new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Succ(Succ(x35))))))), Neg(new_primModNatS01(Succ(Succ(Succ(Succ(x36)))), Succ(Succ(Succ(Succ(x35)))), Succ(Succ(x36)), Succ(Succ(x35)))))) 248.92/165.27 248.92/165.27 248.92/165.27 248.92/165.27 We simplified constraint (14) using rules (III), (IV) which results in the following new constraint: 248.92/165.27 248.92/165.27 (18) (new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x40))))))))_>=_new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(new_primModNatS01(Succ(Succ(Succ(Succ(x40)))), Succ(Succ(Succ(Zero))), Succ(Succ(x40)), Succ(Zero))))) 248.92/165.27 248.92/165.27 248.92/165.27 248.92/165.27 We simplified constraint (15) using rules (I), (II), (III), (IV) which results in the following new constraint: 248.92/165.27 248.92/165.27 (19) (new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(Succ(Succ(x43))))))), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Succ(Succ(x43))))))), Neg(new_primModNatS01(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Succ(x43)))), Succ(Zero), Succ(Succ(x43)))))) 248.92/165.27 248.92/165.27 248.92/165.27 248.92/165.27 We simplified constraint (9) using rules (III), (IV), (VII) which results in the following new constraint: 248.92/165.27 248.92/165.27 (20) (new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(Succ(x21)))))))_>=_new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Zero))))), Neg(new_primModNatS01(Succ(Succ(Succ(x21))), Succ(Succ(Zero)), Succ(x21), Zero)))) 248.92/165.27 248.92/165.27 248.92/165.27 248.92/165.27 248.92/165.27 248.92/165.27 248.92/165.27 248.92/165.27 248.92/165.27 For Pair new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) the following chains were created: 248.92/165.27 *We consider the chain new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x6))))), Neg(Succ(Succ(Succ(Succ(x7)))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(Succ(x6)), Succ(Succ(x7)), x6, x7))), Neg(Succ(Succ(Succ(Succ(x7))))), Neg(Succ(Succ(Succ(Succ(x6)))))), new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x8))))), Neg(Succ(Succ(Succ(Succ(x9)))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x8))))), Neg(new_primModNatS01(Succ(Succ(x9)), Succ(Succ(x8)), x9, x8))) which results in the following constraint: 248.92/165.27 248.92/165.27 (1) (new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(Succ(x6)), Succ(Succ(x7)), x6, x7))), Neg(Succ(Succ(Succ(Succ(x7))))), Neg(Succ(Succ(Succ(Succ(x6))))))=new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x8))))), Neg(Succ(Succ(Succ(Succ(x9)))))) ==> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x6))))), Neg(Succ(Succ(Succ(Succ(x7))))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(Succ(x6)), Succ(Succ(x7)), x6, x7))), Neg(Succ(Succ(Succ(Succ(x7))))), Neg(Succ(Succ(Succ(Succ(x6))))))) 248.92/165.27 248.92/165.27 248.92/165.27 248.92/165.27 We simplified constraint (1) using rules (I), (II), (IV), (VII) which results in the following new constraint: 248.92/165.27 248.92/165.27 (2) (Neg(new_primModNatS01(Succ(Succ(x6)), Succ(Succ(x7)), x6, x7))=x52 & new_esEs(x52)=False ==> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x6))))), Neg(Succ(Succ(Succ(Succ(x7))))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(Succ(x6)), Succ(Succ(x7)), x6, x7))), Neg(Succ(Succ(Succ(Succ(x7))))), Neg(Succ(Succ(Succ(Succ(x6))))))) 248.92/165.27 248.92/165.27 248.92/165.27 248.92/165.27 We simplified constraint (2) using rule (V) (with possible (I) afterwards) using induction on new_esEs(x52)=False which results in the following new constraints: 248.92/165.27 248.92/165.27 (3) (new_primEqInt(Neg(Succ(x53)))=False & Neg(new_primModNatS01(Succ(Succ(x6)), Succ(Succ(x7)), x6, x7))=Neg(Succ(x53)) ==> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x6))))), Neg(Succ(Succ(Succ(Succ(x7))))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(Succ(x6)), Succ(Succ(x7)), x6, x7))), Neg(Succ(Succ(Succ(Succ(x7))))), Neg(Succ(Succ(Succ(Succ(x6))))))) 248.92/165.27 248.92/165.27 (4) (new_primEqInt(Neg(Zero))=False & Neg(new_primModNatS01(Succ(Succ(x6)), Succ(Succ(x7)), x6, x7))=Neg(Zero) ==> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x6))))), Neg(Succ(Succ(Succ(Succ(x7))))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(Succ(x6)), Succ(Succ(x7)), x6, x7))), Neg(Succ(Succ(Succ(Succ(x7))))), Neg(Succ(Succ(Succ(Succ(x6))))))) 248.92/165.27 248.92/165.27 248.92/165.27 248.92/165.27 We simplified constraint (3) using rules (I), (II), (VII) which results in the following new constraint: 248.92/165.27 248.92/165.27 (5) (Neg(Succ(x53))=x54 & new_primEqInt(x54)=False & Succ(Succ(x6))=x55 & Succ(Succ(x7))=x56 & new_primModNatS01(x55, x56, x6, x7)=Succ(x53) ==> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x6))))), Neg(Succ(Succ(Succ(Succ(x7))))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(Succ(x6)), Succ(Succ(x7)), x6, x7))), Neg(Succ(Succ(Succ(Succ(x7))))), Neg(Succ(Succ(Succ(Succ(x6))))))) 248.92/165.27 248.92/165.27 248.92/165.27 248.92/165.27 We simplified constraint (4) using rules (I), (II), (VII) which results in the following new constraint: 248.92/165.27 248.92/165.27 (6) (Neg(Zero)=x96 & new_primEqInt(x96)=False & Succ(Succ(x6))=x97 & Succ(Succ(x7))=x98 & new_primModNatS01(x97, x98, x6, x7)=Zero ==> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x6))))), Neg(Succ(Succ(Succ(Succ(x7))))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(Succ(x6)), Succ(Succ(x7)), x6, x7))), Neg(Succ(Succ(Succ(Succ(x7))))), Neg(Succ(Succ(Succ(Succ(x6))))))) 248.92/165.27 248.92/165.27 248.92/165.27 248.92/165.27 We simplified constraint (5) using rule (V) (with possible (I) afterwards) using induction on new_primEqInt(x54)=False which results in the following new constraint: 248.92/165.27 248.92/165.27 (7) (False=False & Neg(Succ(x53))=Neg(Succ(x57)) & Succ(Succ(x6))=x55 & Succ(Succ(x7))=x56 & new_primModNatS01(x55, x56, x6, x7)=Succ(x53) ==> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x6))))), Neg(Succ(Succ(Succ(Succ(x7))))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(Succ(x6)), Succ(Succ(x7)), x6, x7))), Neg(Succ(Succ(Succ(Succ(x7))))), Neg(Succ(Succ(Succ(Succ(x6))))))) 248.92/165.27 248.92/165.27 248.92/165.27 248.92/165.27 We simplified constraint (7) using rules (I), (II), (IV) which results in the following new constraint: 248.92/165.27 248.92/165.27 (8) (Succ(Succ(x6))=x55 & Succ(Succ(x7))=x56 & new_primModNatS01(x55, x56, x6, x7)=Succ(x53) ==> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x6))))), Neg(Succ(Succ(Succ(Succ(x7))))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(Succ(x6)), Succ(Succ(x7)), x6, x7))), Neg(Succ(Succ(Succ(Succ(x7))))), Neg(Succ(Succ(Succ(Succ(x6))))))) 248.92/165.27 248.92/165.27 248.92/165.27 248.92/165.27 We simplified constraint (8) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS01(x55, x56, x6, x7)=Succ(x53) which results in the following new constraints: 248.92/165.27 248.92/165.27 (9) (new_primModNatS02(x59, x58)=Succ(x53) & Succ(Succ(Zero))=x59 & Succ(Succ(Zero))=x58 ==> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(Succ(Zero)), Succ(Succ(Zero)), Zero, Zero))), Neg(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(Zero))))))) 248.92/165.27 248.92/165.27 (10) (new_primModNatS01(x63, x62, x61, x60)=Succ(x53) & Succ(Succ(Succ(x61)))=x63 & Succ(Succ(Succ(x60)))=x62 & (\/x64:new_primModNatS01(x63, x62, x61, x60)=Succ(x64) & Succ(Succ(x61))=x63 & Succ(Succ(x60))=x62 ==> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x61))))), Neg(Succ(Succ(Succ(Succ(x60))))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(Succ(x61)), Succ(Succ(x60)), x61, x60))), Neg(Succ(Succ(Succ(Succ(x60))))), Neg(Succ(Succ(Succ(Succ(x61))))))) ==> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Succ(x61)))))), Neg(Succ(Succ(Succ(Succ(Succ(x60)))))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(Succ(Succ(x61))), Succ(Succ(Succ(x60))), Succ(x61), Succ(x60)))), Neg(Succ(Succ(Succ(Succ(Succ(x60)))))), Neg(Succ(Succ(Succ(Succ(Succ(x61)))))))) 248.92/165.27 248.92/165.27 (11) (new_primModNatS02(x67, x66)=Succ(x53) & Succ(Succ(Succ(x65)))=x67 & Succ(Succ(Zero))=x66 ==> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Succ(x65)))))), Neg(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(Succ(Succ(x65))), Succ(Succ(Zero)), Succ(x65), Zero))), Neg(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(Succ(x65)))))))) 248.92/165.27 248.92/165.27 (12) (Succ(Succ(x70))=Succ(x53) & Succ(Succ(Zero))=x70 & Succ(Succ(Succ(x68)))=x69 ==> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(Succ(x68)))))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(Succ(Zero)), Succ(Succ(Succ(x68))), Zero, Succ(x68)))), Neg(Succ(Succ(Succ(Succ(Succ(x68)))))), Neg(Succ(Succ(Succ(Succ(Zero))))))) 248.92/165.27 248.92/165.27 248.92/165.27 248.92/165.27 We simplified constraint (9) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS02(x59, x58)=Succ(x53) which results in the following new constraint: 248.92/165.27 248.92/165.27 (13) (new_primModNatS1(new_primMinusNatS2(Succ(x72), Succ(x71)), Succ(x71))=Succ(x53) & Succ(Succ(Zero))=x72 & Succ(Succ(Zero))=x71 ==> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(Succ(Zero)), Succ(Succ(Zero)), Zero, Zero))), Neg(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(Zero))))))) 248.92/165.27 248.92/165.27 248.92/165.27 248.92/165.27 We simplified constraint (10) using rule (IV) which results in the following new constraint: 248.92/165.27 248.92/165.27 (14) (new_primModNatS01(x63, x62, x61, x60)=Succ(x53) & Succ(Succ(Succ(x61)))=x63 & Succ(Succ(Succ(x60)))=x62 ==> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Succ(x61)))))), Neg(Succ(Succ(Succ(Succ(Succ(x60)))))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(Succ(Succ(x61))), Succ(Succ(Succ(x60))), Succ(x61), Succ(x60)))), Neg(Succ(Succ(Succ(Succ(Succ(x60)))))), Neg(Succ(Succ(Succ(Succ(Succ(x61)))))))) 248.92/165.27 248.92/165.27 248.92/165.27 248.92/165.27 We simplified constraint (11) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS02(x67, x66)=Succ(x53) which results in the following new constraint: 248.92/165.27 248.92/165.27 (15) (new_primModNatS1(new_primMinusNatS2(Succ(x91), Succ(x90)), Succ(x90))=Succ(x53) & Succ(Succ(Succ(x65)))=x91 & Succ(Succ(Zero))=x90 ==> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Succ(x65)))))), Neg(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(Succ(Succ(x65))), Succ(Succ(Zero)), Succ(x65), Zero))), Neg(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(Succ(x65)))))))) 248.92/165.27 248.92/165.27 248.92/165.27 248.92/165.27 We simplified constraint (12) using rules (I), (II), (IV) which results in the following new constraint: 248.92/165.27 248.92/165.27 (16) (new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(Succ(x68)))))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(Succ(Zero)), Succ(Succ(Succ(x68))), Zero, Succ(x68)))), Neg(Succ(Succ(Succ(Succ(Succ(x68)))))), Neg(Succ(Succ(Succ(Succ(Zero))))))) 248.92/165.27 248.92/165.27 248.92/165.27 248.92/165.27 We simplified constraint (13) using rules (III), (IV), (VII) which results in the following new constraint: 248.92/165.27 248.92/165.27 (17) (new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(Succ(Zero)), Succ(Succ(Zero)), Zero, Zero))), Neg(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(Zero))))))) 248.92/165.27 248.92/165.27 248.92/165.27 248.92/165.27 We simplified constraint (14) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS01(x63, x62, x61, x60)=Succ(x53) which results in the following new constraints: 248.92/165.27 248.92/165.27 (18) (new_primModNatS02(x78, x77)=Succ(x53) & Succ(Succ(Succ(Zero)))=x78 & Succ(Succ(Succ(Zero)))=x77 ==> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Zero))), Succ(Zero), Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))))) 248.92/165.27 248.92/165.27 (19) (new_primModNatS01(x82, x81, x80, x79)=Succ(x53) & Succ(Succ(Succ(Succ(x80))))=x82 & Succ(Succ(Succ(Succ(x79))))=x81 & (\/x83:new_primModNatS01(x82, x81, x80, x79)=Succ(x83) & Succ(Succ(Succ(x80)))=x82 & Succ(Succ(Succ(x79)))=x81 ==> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Succ(x80)))))), Neg(Succ(Succ(Succ(Succ(Succ(x79)))))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(Succ(Succ(x80))), Succ(Succ(Succ(x79))), Succ(x80), Succ(x79)))), Neg(Succ(Succ(Succ(Succ(Succ(x79)))))), Neg(Succ(Succ(Succ(Succ(Succ(x80)))))))) ==> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Succ(Succ(x80))))))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x79))))))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(Succ(Succ(Succ(x80)))), Succ(Succ(Succ(Succ(x79)))), Succ(Succ(x80)), Succ(Succ(x79))))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x79))))))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x80))))))))) 248.92/165.27 248.92/165.27 (20) (new_primModNatS02(x86, x85)=Succ(x53) & Succ(Succ(Succ(Succ(x84))))=x86 & Succ(Succ(Succ(Zero)))=x85 ==> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Succ(Succ(x84))))))), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(Succ(Succ(Succ(x84)))), Succ(Succ(Succ(Zero))), Succ(Succ(x84)), Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x84))))))))) 248.92/165.27 248.92/165.27 (21) (Succ(Succ(x89))=Succ(x53) & Succ(Succ(Succ(Zero)))=x89 & Succ(Succ(Succ(Succ(x87))))=x88 ==> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x87))))))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Succ(x87)))), Succ(Zero), Succ(Succ(x87))))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x87))))))), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))))) 248.92/165.27 248.92/165.27 248.92/165.27 248.92/165.27 We simplified constraint (18) using rules (III), (IV) which results in the following new constraint: 248.92/165.27 248.92/165.27 (22) (new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Zero))), Succ(Zero), Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))))) 248.92/165.27 248.92/165.27 248.92/165.27 248.92/165.27 We simplified constraint (19) using rules (III), (IV) which results in the following new constraint: 248.92/165.27 248.92/165.27 (23) (new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Succ(Succ(x80))))))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x79))))))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(Succ(Succ(Succ(x80)))), Succ(Succ(Succ(Succ(x79)))), Succ(Succ(x80)), Succ(Succ(x79))))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x79))))))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x80))))))))) 248.92/165.27 248.92/165.27 248.92/165.27 248.92/165.27 We simplified constraint (20) using rules (III), (IV) which results in the following new constraint: 248.92/165.27 248.92/165.27 (24) (new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Succ(Succ(x84))))))), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(Succ(Succ(Succ(x84)))), Succ(Succ(Succ(Zero))), Succ(Succ(x84)), Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x84))))))))) 248.92/165.27 248.92/165.27 248.92/165.27 248.92/165.27 We simplified constraint (21) using rules (I), (II), (IV) which results in the following new constraint: 248.92/165.27 248.92/165.27 (25) (new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x87))))))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Succ(x87)))), Succ(Zero), Succ(Succ(x87))))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x87))))))), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))))) 248.92/165.27 248.92/165.27 248.92/165.27 248.92/165.27 We simplified constraint (15) using rules (III), (IV), (VII) which results in the following new constraint: 248.92/165.27 248.92/165.27 (26) (new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Succ(x65)))))), Neg(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(Succ(Succ(x65))), Succ(Succ(Zero)), Succ(x65), Zero))), Neg(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(Succ(x65)))))))) 248.92/165.27 248.92/165.27 248.92/165.27 248.92/165.27 We simplified constraint (6) using rule (V) (with possible (I) afterwards) using induction on new_primEqInt(x96)=False which results in the following new constraint: 248.92/165.27 248.92/165.27 (27) (False=False & Neg(Zero)=Neg(Succ(x99)) & Succ(Succ(x6))=x97 & Succ(Succ(x7))=x98 & new_primModNatS01(x97, x98, x6, x7)=Zero ==> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x6))))), Neg(Succ(Succ(Succ(Succ(x7))))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(Succ(x6)), Succ(Succ(x7)), x6, x7))), Neg(Succ(Succ(Succ(Succ(x7))))), Neg(Succ(Succ(Succ(Succ(x6))))))) 248.92/165.27 248.92/165.27 248.92/165.27 248.92/165.27 We solved constraint (27) using rules (I), (II). 248.92/165.27 248.92/165.27 248.92/165.27 248.92/165.27 248.92/165.27 To summarize, we get the following constraints P__>=_ for the following pairs. 248.92/165.27 248.92/165.27 *new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x3))))), Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 248.92/165.27 248.92/165.27 *(new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(Succ(Succ(x43))))))), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Succ(Succ(x43))))))), Neg(new_primModNatS01(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Succ(x43)))), Succ(Zero), Succ(Succ(x43)))))) 248.92/165.27 248.92/165.27 248.92/165.27 *(new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(Succ(x24)))))), Neg(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Succ(x24)))))), Neg(new_primModNatS01(Succ(Succ(Zero)), Succ(Succ(Succ(x24))), Zero, Succ(x24))))) 248.92/165.27 248.92/165.27 248.92/165.27 *(new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Zero))))), Neg(new_primModNatS01(Succ(Succ(Zero)), Succ(Succ(Zero)), Zero, Zero)))) 248.92/165.27 248.92/165.27 248.92/165.27 *(new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(new_primModNatS01(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Zero))), Succ(Zero), Succ(Zero))))) 248.92/165.27 248.92/165.27 248.92/165.27 *(new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(Succ(Succ(x35))))))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x36))))))))_>=_new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Succ(Succ(x35))))))), Neg(new_primModNatS01(Succ(Succ(Succ(Succ(x36)))), Succ(Succ(Succ(Succ(x35)))), Succ(Succ(x36)), Succ(Succ(x35)))))) 248.92/165.27 248.92/165.27 248.92/165.27 *(new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x40))))))))_>=_new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(new_primModNatS01(Succ(Succ(Succ(Succ(x40)))), Succ(Succ(Succ(Zero))), Succ(Succ(x40)), Succ(Zero))))) 248.92/165.27 248.92/165.27 248.92/165.27 *(new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(Succ(x21)))))))_>=_new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Zero))))), Neg(new_primModNatS01(Succ(Succ(Succ(x21))), Succ(Succ(Zero)), Succ(x21), Zero)))) 248.92/165.27 248.92/165.27 248.92/165.27 248.92/165.27 248.92/165.27 *new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) 248.92/165.27 248.92/165.27 *(new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x87))))))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Succ(x87)))), Succ(Zero), Succ(Succ(x87))))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x87))))))), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))))) 248.92/165.27 248.92/165.27 248.92/165.27 *(new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(Succ(x68)))))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(Succ(Zero)), Succ(Succ(Succ(x68))), Zero, Succ(x68)))), Neg(Succ(Succ(Succ(Succ(Succ(x68)))))), Neg(Succ(Succ(Succ(Succ(Zero))))))) 248.92/165.27 248.92/165.27 248.92/165.27 *(new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(Succ(Zero)), Succ(Succ(Zero)), Zero, Zero))), Neg(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(Zero))))))) 248.92/165.27 248.92/165.27 248.92/165.27 *(new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Zero))), Succ(Zero), Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))))) 248.92/165.27 248.92/165.27 248.92/165.27 *(new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Succ(Succ(x80))))))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x79))))))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(Succ(Succ(Succ(x80)))), Succ(Succ(Succ(Succ(x79)))), Succ(Succ(x80)), Succ(Succ(x79))))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x79))))))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x80))))))))) 248.92/165.27 248.92/165.27 248.92/165.27 *(new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Succ(Succ(x84))))))), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(Succ(Succ(Succ(x84)))), Succ(Succ(Succ(Zero))), Succ(Succ(x84)), Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x84))))))))) 248.92/165.27 248.92/165.27 248.92/165.27 *(new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Succ(x65)))))), Neg(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(Succ(Succ(x65))), Succ(Succ(Zero)), Succ(x65), Zero))), Neg(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(Succ(x65)))))))) 248.92/165.27 248.92/165.27 248.92/165.27 248.92/165.27 248.92/165.27 248.92/165.27 248.92/165.27 248.92/165.27 248.92/165.27 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. 248.92/165.27 ---------------------------------------- 248.92/165.27 248.92/165.27 (690) 248.92/165.27 Obligation: 248.92/165.27 Q DP problem: 248.92/165.27 The TRS P consists of the following rules: 248.92/165.27 248.92/165.27 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x3))))), Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 248.92/165.27 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) 248.92/165.27 248.92/165.27 The TRS R consists of the following rules: 248.92/165.27 248.92/165.27 new_primModNatS1(Succ(Succ(vyv292000)), Succ(vyv291000)) -> new_primModNatS01(vyv292000, vyv291000, vyv292000, vyv291000) 248.92/165.27 new_primModNatS01(vyv330, vyv331, Zero, Zero) -> new_primModNatS02(vyv330, vyv331) 248.92/165.27 new_primModNatS02(vyv330, vyv331) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv330), Succ(vyv331)), Succ(vyv331)) 248.92/165.27 new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Succ(vyv3330)) -> new_primModNatS01(vyv330, vyv331, vyv3320, vyv3330) 248.92/165.27 new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Zero) -> new_primModNatS02(vyv330, vyv331) 248.92/165.27 new_primModNatS01(vyv330, vyv331, Zero, Succ(vyv3330)) -> Succ(Succ(vyv330)) 248.92/165.27 new_primMinusNatS2(Succ(vyv3100), Succ(vyv3110)) -> new_primMinusNatS2(vyv3100, vyv3110) 248.92/165.27 new_primModNatS1(Succ(Zero), Succ(vyv291000)) -> Succ(Zero) 248.92/165.27 new_primModNatS1(Zero, vyv29100) -> Zero 248.92/165.27 new_primMinusNatS2(Zero, Zero) -> Zero 248.92/165.27 new_primMinusNatS2(Zero, Succ(vyv3110)) -> Zero 248.92/165.27 new_primMinusNatS2(Succ(vyv3100), Zero) -> Succ(vyv3100) 248.92/165.27 new_esEs(Neg(Succ(vyv24100))) -> new_primEqInt(Neg(Succ(vyv24100))) 248.92/165.27 new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) 248.92/165.27 new_primEqInt(Neg(Zero)) -> True 248.92/165.27 new_primEqInt(Neg(Succ(vyv242000))) -> False 248.92/165.27 248.92/165.27 The set Q consists of the following terms: 248.92/165.27 248.92/165.27 new_primModNatS1(Succ(Zero), Succ(x0)) 248.92/165.27 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 248.92/165.27 new_primEqInt(Pos(Zero)) 248.92/165.27 new_primModNatS02(x0, x1) 248.92/165.27 new_primModNatS01(x0, x1, Succ(x2), Zero) 248.92/165.27 new_primModNatS01(x0, x1, Zero, Succ(x2)) 248.92/165.27 new_primMinusNatS2(Zero, Zero) 248.92/165.27 new_esEs(Neg(Succ(x0))) 248.92/165.27 new_primMinusNatS2(Zero, Succ(x0)) 248.92/165.27 new_primModNatS1(Succ(Zero), Zero) 248.92/165.27 new_esEs(Pos(Zero)) 248.92/165.27 new_primEqInt(Neg(Succ(x0))) 248.92/165.27 new_primMinusNatS2(Succ(x0), Zero) 248.92/165.27 new_primEqInt(Neg(Zero)) 248.92/165.27 new_primModNatS01(x0, x1, Zero, Zero) 248.92/165.27 new_primEqInt(Pos(Succ(x0))) 248.92/165.27 new_primMinusNatS2(Succ(x0), Succ(x1)) 248.92/165.27 new_primModNatS1(Succ(Succ(x0)), Zero) 248.92/165.27 new_primModNatS1(Zero, x0) 248.92/165.27 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 248.92/165.27 new_esEs(Neg(Zero)) 248.92/165.27 new_esEs(Pos(Succ(x0))) 248.92/165.27 248.92/165.27 We have to consider all minimal (P,Q,R)-chains. 248.92/165.27 ---------------------------------------- 248.92/165.27 248.92/165.27 (691) 248.92/165.27 Obligation: 248.92/165.27 Q DP problem: 248.92/165.27 The TRS P consists of the following rules: 248.92/165.27 248.92/165.27 new_primDivNatS(Succ(Succ(vyv270000)), Succ(vyv284000)) -> new_primDivNatS0(vyv270000, vyv284000, vyv270000, vyv284000) 248.92/165.27 new_primDivNatS0(vyv310, vyv311, Zero, Zero) -> new_primDivNatS00(vyv310, vyv311) 248.92/165.27 new_primDivNatS(Succ(Succ(vyv270000)), Zero) -> new_primDivNatS(new_primMinusNatS0(vyv270000), Zero) 248.92/165.27 new_primDivNatS0(vyv310, vyv311, Succ(vyv3120), Succ(vyv3130)) -> new_primDivNatS0(vyv310, vyv311, vyv3120, vyv3130) 248.92/165.27 new_primDivNatS0(vyv310, vyv311, Succ(vyv3120), Zero) -> new_primDivNatS(new_primMinusNatS2(vyv310, vyv311), Succ(vyv311)) 248.92/165.27 new_primDivNatS00(vyv310, vyv311) -> new_primDivNatS(new_primMinusNatS2(vyv310, vyv311), Succ(vyv311)) 248.92/165.27 new_primDivNatS(Succ(Zero), Zero) -> new_primDivNatS(new_primMinusNatS1, Zero) 248.92/165.27 248.92/165.27 The TRS R consists of the following rules: 248.92/165.27 248.92/165.27 new_primMinusNatS1 -> Zero 248.92/165.27 new_primMinusNatS2(Succ(vyv3100), Zero) -> Succ(vyv3100) 248.92/165.27 new_primMinusNatS2(Zero, Zero) -> Zero 248.92/165.27 new_primMinusNatS2(Succ(vyv3100), Succ(vyv3110)) -> new_primMinusNatS2(vyv3100, vyv3110) 248.92/165.27 new_primMinusNatS2(Zero, Succ(vyv3110)) -> Zero 248.92/165.27 new_primMinusNatS0(vyv270000) -> Succ(vyv270000) 248.92/165.27 248.92/165.27 The set Q consists of the following terms: 248.92/165.27 248.92/165.27 new_primMinusNatS2(Succ(x0), Zero) 248.92/165.27 new_primMinusNatS0(x0) 248.92/165.27 new_primMinusNatS2(Zero, Zero) 248.92/165.27 new_primMinusNatS1 248.92/165.27 new_primMinusNatS2(Zero, Succ(x0)) 248.92/165.27 new_primMinusNatS2(Succ(x0), Succ(x1)) 248.92/165.27 248.92/165.27 We have to consider all minimal (P,Q,R)-chains. 248.92/165.27 ---------------------------------------- 248.92/165.27 248.92/165.27 (692) DependencyGraphProof (EQUIVALENT) 248.92/165.27 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 2 SCCs with 1 less node. 248.92/165.27 ---------------------------------------- 248.92/165.27 248.92/165.27 (693) 248.92/165.27 Complex Obligation (AND) 248.92/165.27 248.92/165.27 ---------------------------------------- 248.92/165.27 248.92/165.27 (694) 248.92/165.27 Obligation: 248.92/165.27 Q DP problem: 248.92/165.27 The TRS P consists of the following rules: 248.92/165.27 248.92/165.27 new_primDivNatS(Succ(Succ(vyv270000)), Zero) -> new_primDivNatS(new_primMinusNatS0(vyv270000), Zero) 248.92/165.27 248.92/165.27 The TRS R consists of the following rules: 248.92/165.27 248.92/165.27 new_primMinusNatS1 -> Zero 248.92/165.27 new_primMinusNatS2(Succ(vyv3100), Zero) -> Succ(vyv3100) 248.92/165.27 new_primMinusNatS2(Zero, Zero) -> Zero 248.92/165.27 new_primMinusNatS2(Succ(vyv3100), Succ(vyv3110)) -> new_primMinusNatS2(vyv3100, vyv3110) 248.92/165.27 new_primMinusNatS2(Zero, Succ(vyv3110)) -> Zero 248.92/165.27 new_primMinusNatS0(vyv270000) -> Succ(vyv270000) 248.92/165.27 248.92/165.27 The set Q consists of the following terms: 248.92/165.27 248.92/165.27 new_primMinusNatS2(Succ(x0), Zero) 248.92/165.27 new_primMinusNatS0(x0) 248.92/165.27 new_primMinusNatS2(Zero, Zero) 248.92/165.27 new_primMinusNatS1 248.92/165.27 new_primMinusNatS2(Zero, Succ(x0)) 248.92/165.27 new_primMinusNatS2(Succ(x0), Succ(x1)) 248.92/165.27 248.92/165.27 We have to consider all minimal (P,Q,R)-chains. 248.92/165.27 ---------------------------------------- 248.92/165.27 248.92/165.27 (695) MRRProof (EQUIVALENT) 248.92/165.27 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. 248.92/165.27 248.92/165.27 Strictly oriented dependency pairs: 248.92/165.27 248.92/165.27 new_primDivNatS(Succ(Succ(vyv270000)), Zero) -> new_primDivNatS(new_primMinusNatS0(vyv270000), Zero) 248.92/165.27 248.92/165.27 Strictly oriented rules of the TRS R: 248.92/165.27 248.92/165.27 new_primMinusNatS2(Succ(vyv3100), Zero) -> Succ(vyv3100) 248.92/165.27 new_primMinusNatS2(Zero, Zero) -> Zero 248.92/165.27 new_primMinusNatS2(Succ(vyv3100), Succ(vyv3110)) -> new_primMinusNatS2(vyv3100, vyv3110) 248.92/165.27 new_primMinusNatS2(Zero, Succ(vyv3110)) -> Zero 248.92/165.27 248.92/165.27 Used ordering: Polynomial interpretation [POLO]: 248.92/165.27 248.92/165.27 POL(Succ(x_1)) = 1 + x_1 248.92/165.27 POL(Zero) = 2 248.92/165.27 POL(new_primDivNatS(x_1, x_2)) = x_1 + x_2 248.92/165.27 POL(new_primMinusNatS0(x_1)) = 1 + x_1 248.92/165.27 POL(new_primMinusNatS1) = 2 248.92/165.27 POL(new_primMinusNatS2(x_1, x_2)) = 1 + 2*x_1 + 2*x_2 248.92/165.27 248.92/165.27 248.92/165.27 ---------------------------------------- 248.92/165.27 248.92/165.27 (696) 248.92/165.27 Obligation: 248.92/165.27 Q DP problem: 248.92/165.27 P is empty. 248.92/165.27 The TRS R consists of the following rules: 248.92/165.27 248.92/165.27 new_primMinusNatS1 -> Zero 248.92/165.27 new_primMinusNatS0(vyv270000) -> Succ(vyv270000) 248.92/165.27 248.92/165.27 The set Q consists of the following terms: 248.92/165.27 248.92/165.27 new_primMinusNatS2(Succ(x0), Zero) 248.92/165.27 new_primMinusNatS0(x0) 248.92/165.27 new_primMinusNatS2(Zero, Zero) 248.92/165.27 new_primMinusNatS1 248.92/165.27 new_primMinusNatS2(Zero, Succ(x0)) 248.92/165.27 new_primMinusNatS2(Succ(x0), Succ(x1)) 248.92/165.27 248.92/165.27 We have to consider all minimal (P,Q,R)-chains. 248.92/165.27 ---------------------------------------- 248.92/165.27 248.92/165.27 (697) PisEmptyProof (EQUIVALENT) 248.92/165.27 The TRS P is empty. Hence, there is no (P,Q,R) chain. 248.92/165.27 ---------------------------------------- 248.92/165.27 248.92/165.27 (698) 248.92/165.27 YES 248.92/165.27 248.92/165.27 ---------------------------------------- 248.92/165.27 248.92/165.27 (699) 248.92/165.27 Obligation: 248.92/165.27 Q DP problem: 248.92/165.27 The TRS P consists of the following rules: 248.92/165.27 248.92/165.27 new_primDivNatS0(vyv310, vyv311, Zero, Zero) -> new_primDivNatS00(vyv310, vyv311) 248.92/165.27 new_primDivNatS00(vyv310, vyv311) -> new_primDivNatS(new_primMinusNatS2(vyv310, vyv311), Succ(vyv311)) 248.92/165.27 new_primDivNatS(Succ(Succ(vyv270000)), Succ(vyv284000)) -> new_primDivNatS0(vyv270000, vyv284000, vyv270000, vyv284000) 248.92/165.27 new_primDivNatS0(vyv310, vyv311, Succ(vyv3120), Succ(vyv3130)) -> new_primDivNatS0(vyv310, vyv311, vyv3120, vyv3130) 248.92/165.27 new_primDivNatS0(vyv310, vyv311, Succ(vyv3120), Zero) -> new_primDivNatS(new_primMinusNatS2(vyv310, vyv311), Succ(vyv311)) 248.92/165.27 248.92/165.27 The TRS R consists of the following rules: 248.92/165.27 248.92/165.27 new_primMinusNatS1 -> Zero 248.92/165.27 new_primMinusNatS2(Succ(vyv3100), Zero) -> Succ(vyv3100) 248.92/165.27 new_primMinusNatS2(Zero, Zero) -> Zero 248.92/165.27 new_primMinusNatS2(Succ(vyv3100), Succ(vyv3110)) -> new_primMinusNatS2(vyv3100, vyv3110) 248.92/165.27 new_primMinusNatS2(Zero, Succ(vyv3110)) -> Zero 248.92/165.27 new_primMinusNatS0(vyv270000) -> Succ(vyv270000) 248.92/165.27 248.92/165.27 The set Q consists of the following terms: 248.92/165.27 248.92/165.27 new_primMinusNatS2(Succ(x0), Zero) 248.92/165.27 new_primMinusNatS0(x0) 248.92/165.27 new_primMinusNatS2(Zero, Zero) 248.92/165.27 new_primMinusNatS1 248.92/165.27 new_primMinusNatS2(Zero, Succ(x0)) 248.92/165.27 new_primMinusNatS2(Succ(x0), Succ(x1)) 248.92/165.27 248.92/165.27 We have to consider all minimal (P,Q,R)-chains. 248.92/165.27 ---------------------------------------- 248.92/165.27 248.92/165.27 (700) QDPSizeChangeProof (EQUIVALENT) 248.92/165.27 We used the following order together with the size-change analysis [AAECC05] to show that there are no infinite chains for this DP problem. 248.92/165.27 248.92/165.27 Order:Polynomial interpretation [POLO]: 248.92/165.27 248.92/165.27 POL(Succ(x_1)) = 1 + x_1 248.92/165.27 POL(Zero) = 1 248.92/165.27 POL(new_primMinusNatS2(x_1, x_2)) = x_1 248.92/165.27 248.92/165.27 248.92/165.27 248.92/165.27 248.92/165.27 From the DPs we obtained the following set of size-change graphs: 248.92/165.27 *new_primDivNatS00(vyv310, vyv311) -> new_primDivNatS(new_primMinusNatS2(vyv310, vyv311), Succ(vyv311)) (allowed arguments on rhs = {1, 2}) 248.92/165.27 The graph contains the following edges 1 >= 1 248.92/165.27 248.92/165.27 248.92/165.27 *new_primDivNatS(Succ(Succ(vyv270000)), Succ(vyv284000)) -> new_primDivNatS0(vyv270000, vyv284000, vyv270000, vyv284000) (allowed arguments on rhs = {1, 2, 3, 4}) 248.92/165.27 The graph contains the following edges 1 > 1, 2 > 2, 1 > 3, 2 > 4 248.92/165.27 248.92/165.27 248.92/165.27 *new_primDivNatS0(vyv310, vyv311, Succ(vyv3120), Succ(vyv3130)) -> new_primDivNatS0(vyv310, vyv311, vyv3120, vyv3130) (allowed arguments on rhs = {1, 2, 3, 4}) 248.92/165.27 The graph contains the following edges 1 >= 1, 2 >= 2, 3 > 3, 4 > 4 248.92/165.27 248.92/165.27 248.92/165.27 *new_primDivNatS0(vyv310, vyv311, Zero, Zero) -> new_primDivNatS00(vyv310, vyv311) (allowed arguments on rhs = {1, 2}) 248.92/165.27 The graph contains the following edges 1 >= 1, 2 >= 2 248.92/165.27 248.92/165.27 248.92/165.27 *new_primDivNatS0(vyv310, vyv311, Succ(vyv3120), Zero) -> new_primDivNatS(new_primMinusNatS2(vyv310, vyv311), Succ(vyv311)) (allowed arguments on rhs = {1, 2}) 248.92/165.27 The graph contains the following edges 1 >= 1 248.92/165.27 248.92/165.27 248.92/165.27 248.92/165.27 We oriented the following set of usable rules [AAECC05,FROCOS05]. 248.92/165.27 248.92/165.27 new_primMinusNatS2(Zero, Zero) -> Zero 248.92/165.27 new_primMinusNatS2(Zero, Succ(vyv3110)) -> Zero 248.92/165.27 new_primMinusNatS2(Succ(vyv3100), Zero) -> Succ(vyv3100) 248.92/165.27 new_primMinusNatS2(Succ(vyv3100), Succ(vyv3110)) -> new_primMinusNatS2(vyv3100, vyv3110) 248.92/165.27 248.92/165.27 ---------------------------------------- 248.92/165.27 248.92/165.27 (701) 248.92/165.27 YES 248.92/165.27 248.92/165.27 ---------------------------------------- 248.92/165.27 248.92/165.27 (702) 248.92/165.27 Obligation: 248.92/165.27 Q DP problem: 248.92/165.27 The TRS P consists of the following rules: 248.92/165.27 248.92/165.27 new_pr2F31(Succ(vyv4000), Succ(vyv5000), vyv3) -> new_pr2F31(vyv4000, vyv5000, vyv3) 248.92/165.27 248.92/165.27 R is empty. 248.92/165.27 Q is empty. 248.92/165.27 We have to consider all minimal (P,Q,R)-chains. 248.92/165.27 ---------------------------------------- 248.92/165.27 248.92/165.27 (703) QDPSizeChangeProof (EQUIVALENT) 248.92/165.27 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. 248.92/165.27 248.92/165.27 From the DPs we obtained the following set of size-change graphs: 248.92/165.27 *new_pr2F31(Succ(vyv4000), Succ(vyv5000), vyv3) -> new_pr2F31(vyv4000, vyv5000, vyv3) 248.92/165.27 The graph contains the following edges 1 > 1, 2 > 2, 3 >= 3 248.92/165.27 248.92/165.27 248.92/165.27 ---------------------------------------- 248.92/165.27 248.92/165.27 (704) 248.92/165.27 YES 248.92/165.27 248.92/165.27 ---------------------------------------- 248.92/165.27 248.92/165.27 (705) 248.92/165.27 Obligation: 248.92/165.27 Q DP problem: 248.92/165.27 The TRS P consists of the following rules: 248.92/165.27 248.92/165.27 new_primMulNat(Succ(vyv23900), Succ(vyv23800)) -> new_primMulNat(vyv23900, Succ(vyv23800)) 248.92/165.27 248.92/165.27 R is empty. 248.92/165.27 Q is empty. 248.92/165.27 We have to consider all minimal (P,Q,R)-chains. 248.92/165.27 ---------------------------------------- 248.92/165.27 248.92/165.27 (706) QDPSizeChangeProof (EQUIVALENT) 248.92/165.27 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. 248.92/165.27 248.92/165.27 From the DPs we obtained the following set of size-change graphs: 248.92/165.27 *new_primMulNat(Succ(vyv23900), Succ(vyv23800)) -> new_primMulNat(vyv23900, Succ(vyv23800)) 248.92/165.27 The graph contains the following edges 1 > 1, 2 >= 2 248.92/165.27 248.92/165.27 248.92/165.27 ---------------------------------------- 248.92/165.27 248.92/165.27 (707) 248.92/165.27 YES 248.92/165.27 248.92/165.27 ---------------------------------------- 248.92/165.27 248.92/165.27 (708) 248.92/165.27 Obligation: 248.92/165.27 Q DP problem: 248.92/165.27 The TRS P consists of the following rules: 248.92/165.27 248.92/165.27 new_pr2F0G10(vyv248, vyv249, vyv250, Succ(Succ(vyv25100)), bb) -> new_pr2F0G10(vyv248, vyv249, vyv250, vyv25100, bb) 248.92/165.27 new_pr2F0(vyv183, Neg(Zero), vyv187, h) -> new_pr2F0G(vyv187, new_sr0(vyv183, h), new_primQuotInt0(Zero, new_fromInt0), h) 248.92/165.27 new_pr2F0G11(vyv238, vyv239, vyv240, bc) -> new_pr2F1(vyv239, vyv240, new_fromInt, vyv238, bc) 248.92/165.27 new_pr2F0G(vyv187, vyv183, Neg(Succ(Zero)), h) -> new_pr2F0G11(vyv187, vyv183, Zero, h) 248.92/165.27 new_pr2F0G(vyv187, vyv183, Neg(Zero), h) -> new_pr2F0G(vyv187, new_sr0(vyv183, h), new_primQuotInt0(Zero, new_fromInt0), h) 248.92/165.27 new_pr2F0G10(vyv248, vyv249, vyv250, Zero, bb) -> new_pr2F0G(vyv248, new_sr3(vyv249, bb), new_primQuotInt0(Succ(vyv250), new_fromInt0), bb) 248.92/165.27 new_pr2F0G(vyv187, vyv183, Pos(Succ(Succ(vyv222000))), h) -> new_pr2F0G1(vyv187, vyv183, Succ(vyv222000), vyv222000, h) 248.92/165.27 new_pr2F0(vyv183, Pos(Succ(Zero)), vyv187, h) -> new_pr2F(vyv183, Zero, new_fromInt, vyv187, h) 248.92/165.27 new_pr2F0G1(vyv226, vyv227, vyv228, Succ(Zero), ba) -> new_pr2F(vyv227, vyv228, new_fromInt, vyv226, ba) 248.92/165.27 new_pr2F0(vyv183, Neg(Succ(Succ(vyv222000))), vyv187, h) -> new_pr2F0G10(vyv187, vyv183, Succ(vyv222000), vyv222000, h) 248.92/165.27 new_pr2F0(vyv183, Neg(Succ(Zero)), vyv187, h) -> new_pr2F0G11(vyv187, vyv183, Zero, h) 248.92/165.27 new_pr2F0G10(vyv248, vyv249, vyv250, Succ(Zero), bb) -> new_pr2F0G11(vyv248, vyv249, vyv250, bb) 248.92/165.27 new_pr2F0G(vyv187, vyv183, Pos(Succ(Zero)), h) -> new_pr2F(vyv183, Zero, new_fromInt, vyv187, h) 248.92/165.27 new_pr2F0G(vyv187, vyv183, Pos(Zero), h) -> new_pr2F0G(vyv187, new_sr(vyv183, h), new_primQuotInt(Zero, new_fromInt0), h) 248.92/165.27 new_pr2F0G(vyv187, vyv183, Neg(Succ(Succ(vyv222000))), h) -> new_pr2F0G10(vyv187, vyv183, Succ(vyv222000), vyv222000, h) 248.92/165.27 new_pr2F3(False, vyv227, vyv228, vyv244, vyv226, ba) -> new_pr2F0(vyv227, new_ms(vyv228, vyv244), new_sr2(vyv227, vyv226, ba), ba) 248.92/165.27 new_pr2F0(vyv183, Pos(Succ(Succ(vyv222000))), vyv187, h) -> new_pr2F0G1(vyv187, vyv183, Succ(vyv222000), vyv222000, h) 248.92/165.27 new_pr2F0G1(vyv226, vyv227, vyv228, Zero, ba) -> new_pr2F0G(vyv226, new_sr1(vyv227, ba), new_primQuotInt(Succ(vyv228), new_fromInt0), ba) 248.92/165.27 new_pr2F1(vyv239, vyv240, vyv243, vyv238, bc) -> new_pr2F30(new_esEs(new_ms0(vyv240, vyv243)), vyv239, vyv240, vyv243, vyv238, bc) 248.92/165.27 new_pr2F(vyv227, vyv228, vyv244, vyv226, ba) -> new_pr2F3(new_esEs(new_ms(vyv228, vyv244)), vyv227, vyv228, vyv244, vyv226, ba) 248.92/165.27 new_pr2F0G1(vyv226, vyv227, vyv228, Succ(Succ(vyv22900)), ba) -> new_pr2F0G1(vyv226, vyv227, vyv228, vyv22900, ba) 248.92/165.27 new_pr2F30(False, vyv239, vyv240, vyv243, vyv238, bc) -> new_pr2F0(vyv239, new_ms0(vyv240, vyv243), new_sr4(vyv239, vyv238, bc), bc) 248.92/165.27 new_pr2F0(vyv183, Pos(Zero), vyv187, h) -> new_pr2F0G(vyv187, new_sr(vyv183, h), new_primQuotInt(Zero, new_fromInt0), h) 248.92/165.27 248.92/165.27 The TRS R consists of the following rules: 248.92/165.27 248.92/165.27 new_sr2(vyv227, vyv226, ty_Int) -> new_sr14(vyv227, vyv226) 248.92/165.27 new_quot2(vyv266, vyv267, vyv264, vyv265, ty_Int) -> new_quot0(new_sr14(vyv266, vyv267), new_sr14(vyv264, vyv265), new_sr14(vyv266, vyv267)) 248.92/165.27 new_sr(vyv183, ty_Int) -> new_sr6(vyv183) 248.92/165.27 new_sr11(vyv239, vyv238) -> error([]) 248.92/165.27 new_primPlusNat0(Zero, Zero) -> Zero 248.92/165.27 new_sr1(vyv227, ty_Int) -> new_sr6(vyv227) 248.92/165.27 new_abs(Neg(Zero)) -> Neg(Zero) 248.92/165.27 new_esEs2(vyv2391, vyv2381, ty_Int) -> new_esEs(new_sr14(vyv2391, vyv2381)) 248.92/165.27 new_gcd0Gcd'10(True, vyv272, vyv271) -> new_abs(vyv272) 248.92/165.27 new_sr8(vyv239, vyv238) -> error([]) 248.92/165.27 new_sr1(vyv227, ty_Integer) -> new_sr7(vyv227) 248.92/165.27 new_primDivNatS1(Zero, vyv28400) -> Zero 248.92/165.27 new_sr(vyv183, app(ty_Ratio, bd)) -> new_sr5(vyv183, bd) 248.92/165.27 new_primDivNatS1(Succ(Succ(vyv270000)), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS0(vyv270000), Zero)) 248.92/165.27 new_sr(vyv183, ty_Integer) -> new_sr7(vyv183) 248.92/165.27 new_gcd0Gcd'11(True, vyv291, vyv292) -> vyv291 248.92/165.27 new_primMinusNatS2(Zero, Succ(vyv3110)) -> Zero 248.92/165.27 new_primMinusNat0(Succ(vyv2280), Succ(vyv244000)) -> new_primMinusNat0(vyv2280, vyv244000) 248.92/165.27 new_sr1(vyv227, app(ty_Ratio, be)) -> new_sr5(vyv227, be) 248.92/165.27 new_esEs0(vyv1831, ty_Int) -> new_esEs(new_sr6(vyv1831)) 248.92/165.27 new_primEqInt(Pos(Succ(vyv242000))) -> False 248.92/165.27 new_ms(vyv228, Neg(vyv2440)) -> Pos(new_primPlusNat0(Succ(vyv228), vyv2440)) 248.92/165.27 new_sr(vyv183, ty_Float) -> new_sr10(vyv183) 248.92/165.27 new_sr2(vyv227, vyv226, ty_Double) -> new_sr11(vyv227, vyv226) 248.92/165.27 new_abs(Neg(Succ(vyv27100))) -> Pos(Succ(vyv27100)) 248.92/165.27 new_gcd1(True, vyv272, vyv271) -> new_error 248.92/165.27 new_sr4(vyv239, vyv238, app(ty_Ratio, bf)) -> new_sr12(vyv239, vyv238, bf) 248.92/165.27 new_primMulNat1(Succ(vyv18300)) -> new_primPlusNat0(new_primMulNat2(vyv18300), Succ(vyv18300)) 248.92/165.27 new_sr3(vyv249, ty_Float) -> new_sr10(vyv249) 248.92/165.27 new_ms(vyv228, Pos(Succ(vyv24400))) -> new_primMinusNat0(vyv228, vyv24400) 248.92/165.27 new_primDivNatS02(vyv310, vyv311, Zero, Zero) -> new_primDivNatS01(vyv310, vyv311) 248.92/165.27 new_primMinusNatS1 -> Zero 248.92/165.27 new_sr4(vyv239, vyv238, ty_Integer) -> new_sr8(vyv239, vyv238) 248.92/165.27 new_primMinusNatS2(Succ(vyv3100), Zero) -> Succ(vyv3100) 248.92/165.27 new_sr0(vyv183, ty_Double) -> new_sr9(vyv183) 248.92/165.27 new_sr0(vyv183, ty_Int) -> new_sr6(vyv183) 248.92/165.27 new_primPlusNat0(Succ(vyv4000), Succ(vyv5000)) -> Succ(Succ(new_primPlusNat0(vyv4000, vyv5000))) 248.92/165.27 new_sr7(vyv183) -> error([]) 248.92/165.27 new_sr5(:%(vyv1830, vyv1831), bd) -> new_reduce2Reduce1(vyv1830, vyv1830, vyv1831, vyv1831, new_esEs0(vyv1831, bd), bd) 248.92/165.27 new_sr14(Pos(vyv2390), Neg(vyv2380)) -> Neg(new_primMulNat0(vyv2390, vyv2380)) 248.92/165.27 new_sr14(Neg(vyv2390), Pos(vyv2380)) -> Neg(new_primMulNat0(vyv2390, vyv2380)) 248.92/165.27 new_sr0(vyv183, ty_Integer) -> new_sr7(vyv183) 248.92/165.27 new_primMulNat2(Succ(vyv183000)) -> new_primPlusNat0(new_primMulNat3(vyv183000), Succ(Succ(vyv183000))) 248.92/165.27 new_sr14(Neg(vyv2390), Neg(vyv2380)) -> Pos(new_primMulNat0(vyv2390, vyv2380)) 248.92/165.27 new_gcd1(False, vyv272, vyv271) -> new_gcd0(vyv272, vyv271) 248.92/165.27 new_sr4(vyv239, vyv238, ty_Int) -> new_sr14(vyv239, vyv238) 248.92/165.27 new_primDivNatS1(Succ(Zero), Succ(vyv284000)) -> Zero 248.92/165.27 new_primMulNat4(Succ(vyv18300000)) -> new_primPlusNat0(new_primMulNat0(vyv18300000, Succ(Succ(Succ(Succ(vyv18300000))))), Succ(Succ(Succ(Succ(vyv18300000))))) 248.92/165.27 new_primModNatS01(vyv330, vyv331, Zero, Succ(vyv3330)) -> Succ(Succ(vyv330)) 248.92/165.27 new_primModNatS1(Succ(Succ(vyv292000)), Succ(vyv291000)) -> new_primModNatS01(vyv292000, vyv291000, vyv292000, vyv291000) 248.92/165.27 new_primDivNatS02(vyv310, vyv311, Succ(vyv3120), Zero) -> new_primDivNatS01(vyv310, vyv311) 248.92/165.27 new_primDivNatS01(vyv310, vyv311) -> Succ(new_primDivNatS1(new_primMinusNatS2(vyv310, vyv311), Succ(vyv311))) 248.92/165.27 new_primDivNatS02(vyv310, vyv311, Zero, Succ(vyv3130)) -> Zero 248.92/165.27 new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) 248.92/165.27 new_esEs(Pos(Succ(vyv24100))) -> new_primEqInt(Pos(Succ(vyv24100))) 248.92/165.27 new_ms(vyv228, Pos(Zero)) -> Pos(Succ(vyv228)) 248.92/165.27 new_primMinusNat0(Zero, Zero) -> Pos(Zero) 248.92/165.27 new_sr1(vyv227, ty_Float) -> new_sr10(vyv227) 248.92/165.27 new_sr2(vyv227, vyv226, ty_Integer) -> new_sr8(vyv227, vyv226) 248.92/165.27 new_sr10(vyv183) -> error([]) 248.92/165.27 new_rem(Pos(vyv2920), Neg(Zero)) -> new_error 248.92/165.27 new_rem(Neg(vyv2920), Pos(Zero)) -> new_error 248.92/165.27 new_primModNatS01(vyv330, vyv331, Zero, Zero) -> new_primModNatS02(vyv330, vyv331) 248.92/165.27 new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) 248.92/165.27 new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Zero) -> new_primModNatS02(vyv330, vyv331) 248.92/165.27 new_primModNatS02(vyv330, vyv331) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv330), Succ(vyv331)), Succ(vyv331)) 248.92/165.27 new_reduce2Reduce1(vyv264, vyv265, vyv266, vyv267, False, bh) -> :%(new_quot1(vyv264, vyv265, vyv266, vyv267, bh), new_quot2(vyv266, vyv267, vyv264, vyv265, bh)) 248.92/165.27 new_rem(Pos(vyv2920), Neg(Succ(vyv29100))) -> Pos(new_primModNatS1(vyv2920, vyv29100)) 248.92/165.27 new_primDivNatS02(vyv310, vyv311, Succ(vyv3120), Succ(vyv3130)) -> new_primDivNatS02(vyv310, vyv311, vyv3120, vyv3130) 248.92/165.27 new_primMulNat0(Succ(vyv23900), Zero) -> Zero 248.92/165.27 new_primMulNat0(Zero, Succ(vyv23800)) -> Zero 248.92/165.27 new_primQuotInt0(vyv2700, Neg(Zero)) -> new_error 248.92/165.27 new_quot0(Neg(vyv2700), vyv272, vyv271) -> new_primQuotInt0(vyv2700, new_gcd(vyv272, vyv271)) 248.92/165.27 new_primQuotInt(vyv2700, Neg(Zero)) -> new_error 248.92/165.27 new_sr13(vyv239, vyv238) -> error([]) 248.92/165.27 new_rem(Neg(vyv2920), Pos(Succ(vyv29100))) -> Neg(new_primModNatS1(vyv2920, vyv29100)) 248.92/165.27 new_sr4(vyv239, vyv238, ty_Double) -> new_sr11(vyv239, vyv238) 248.92/165.27 new_primMulNat4(Zero) -> Zero 248.92/165.27 new_quot1(vyv264, vyv265, vyv266, vyv267, ty_Int) -> new_quot0(new_sr14(vyv264, vyv265), new_sr14(vyv264, vyv265), new_sr14(vyv266, vyv267)) 248.92/165.27 new_sr9(vyv183) -> error([]) 248.92/165.27 new_gcd0Gcd'10(False, vyv272, vyv271) -> new_gcd0Gcd'00(new_abs(vyv272), new_abs(vyv271)) 248.92/165.27 new_primPlusNat0(Succ(vyv4000), Zero) -> Succ(vyv4000) 248.92/165.27 new_primPlusNat0(Zero, Succ(vyv5000)) -> Succ(vyv5000) 248.92/165.27 new_primMulNat0(Zero, Zero) -> Zero 248.92/165.27 new_primQuotInt(vyv2700, Pos(Succ(vyv28400))) -> Pos(new_primDivNatS1(vyv2700, vyv28400)) 248.92/165.27 new_sr3(vyv249, ty_Double) -> new_sr9(vyv249) 248.92/165.27 new_primMulNat3(Succ(vyv1830000)) -> new_primPlusNat0(new_primMulNat4(vyv1830000), Succ(Succ(Succ(vyv1830000)))) 248.92/165.27 new_esEs(Neg(Succ(vyv24100))) -> new_primEqInt(Neg(Succ(vyv24100))) 248.92/165.27 new_esEs1(Integer(vyv2690)) -> new_primEqInt(vyv2690) 248.92/165.27 new_primMulNat0(Succ(vyv23900), Succ(vyv23800)) -> new_primPlusNat0(new_primMulNat0(vyv23900, Succ(vyv23800)), Succ(vyv23800)) 248.92/165.27 new_quot0(Pos(vyv2700), vyv272, vyv271) -> new_primQuotInt(vyv2700, new_gcd(vyv272, vyv271)) 248.92/165.27 new_sr6(Neg(vyv1830)) -> Pos(new_primMulNat1(vyv1830)) 248.92/165.27 new_primQuotInt(vyv2700, Pos(Zero)) -> new_error 248.92/165.27 new_rem(Pos(vyv2920), Pos(Succ(vyv29100))) -> Pos(new_primModNatS1(vyv2920, vyv29100)) 248.92/165.27 new_abs(Pos(Succ(vyv27100))) -> Pos(Succ(vyv27100)) 248.92/165.27 new_primEqInt(Pos(Zero)) -> True 248.92/165.27 new_primMulNat1(Zero) -> Zero 248.92/165.27 new_quot1(vyv264, vyv265, vyv266, vyv267, ty_Integer) -> new_quot(new_sr8(vyv264, vyv265), new_sr8(vyv264, vyv265), new_sr8(vyv266, vyv267)) 248.92/165.27 new_gcd(vyv272, vyv271) -> new_gcd2(new_esEs(vyv272), vyv272, vyv271) 248.92/165.27 new_rem(Neg(vyv2920), Neg(Zero)) -> new_error 248.92/165.27 new_sr2(vyv227, vyv226, ty_Float) -> new_sr13(vyv227, vyv226) 248.92/165.27 new_gcd2(True, vyv272, vyv271) -> new_gcd1(new_esEs(vyv271), vyv272, vyv271) 248.92/165.27 new_primMinusNat0(Zero, Succ(vyv244000)) -> Neg(Succ(vyv244000)) 248.92/165.27 new_primQuotInt0(vyv2700, Pos(Succ(vyv28700))) -> Neg(new_primDivNatS1(vyv2700, vyv28700)) 248.92/165.27 new_ms0(vyv240, Neg(Zero)) -> Neg(Succ(vyv240)) 248.92/165.27 new_gcd0Gcd'00(vyv292, vyv291) -> new_gcd0Gcd'11(new_esEs(new_rem(vyv292, vyv291)), vyv291, vyv292) 248.92/165.27 new_fromInt -> Pos(Succ(Zero)) 248.92/165.27 new_sr6(Pos(vyv1830)) -> Pos(new_primMulNat1(vyv1830)) 248.92/165.27 new_abs(Pos(Zero)) -> Pos(Zero) 248.92/165.27 new_primMulNat2(Zero) -> Zero 248.92/165.27 new_sr12(:%(vyv2390, vyv2391), :%(vyv2380, vyv2381), bf) -> new_reduce2Reduce1(vyv2390, vyv2380, vyv2391, vyv2381, new_esEs2(vyv2391, vyv2381, bf), bf) 248.92/165.27 new_primMinusNat0(Succ(vyv2280), Zero) -> Pos(Succ(vyv2280)) 248.92/165.27 new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Succ(vyv3330)) -> new_primModNatS01(vyv330, vyv331, vyv3320, vyv3330) 248.92/165.27 new_quot(vyv273, vyv275, vyv274) -> error([]) 248.92/165.27 new_sr3(vyv249, ty_Int) -> new_sr6(vyv249) 248.92/165.27 new_primModNatS1(Succ(Succ(vyv292000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv292000), Zero) 248.92/165.27 new_reduce2Reduce1(vyv264, vyv265, vyv266, vyv267, True, bh) -> error([]) 248.92/165.27 new_primModNatS1(Succ(Zero), Succ(vyv291000)) -> Succ(Zero) 248.92/165.27 new_primDivNatS1(Succ(Succ(vyv270000)), Succ(vyv284000)) -> new_primDivNatS02(vyv270000, vyv284000, vyv270000, vyv284000) 248.92/165.27 new_primMinusNatS2(Zero, Zero) -> Zero 248.92/165.27 new_sr0(vyv183, ty_Float) -> new_sr10(vyv183) 248.92/165.27 new_primEqInt(Neg(Zero)) -> True 248.92/165.27 new_primQuotInt(vyv2700, Neg(Succ(vyv28400))) -> Neg(new_primDivNatS1(vyv2700, vyv28400)) 248.92/165.27 new_quot2(vyv266, vyv267, vyv264, vyv265, ty_Integer) -> new_quot(new_sr8(vyv266, vyv267), new_sr8(vyv264, vyv265), new_sr8(vyv266, vyv267)) 248.92/165.27 new_primMinusNatS2(Succ(vyv3100), Succ(vyv3110)) -> new_primMinusNatS2(vyv3100, vyv3110) 248.92/165.27 new_esEs0(vyv1831, ty_Integer) -> new_esEs1(new_sr7(vyv1831)) 248.92/165.27 new_primMinusNatS0(vyv270000) -> Succ(vyv270000) 248.92/165.27 new_primMulNat3(Zero) -> Zero 248.92/165.27 new_ms0(vyv240, Pos(vyv2430)) -> Neg(new_primPlusNat0(Succ(vyv240), vyv2430)) 248.92/165.27 new_primQuotInt0(vyv2700, Neg(Succ(vyv28700))) -> Pos(new_primDivNatS1(vyv2700, vyv28700)) 248.92/165.27 new_sr2(vyv227, vyv226, app(ty_Ratio, be)) -> new_sr12(vyv227, vyv226, be) 248.92/165.27 new_sr1(vyv227, ty_Double) -> new_sr9(vyv227) 248.92/165.27 new_rem(Neg(vyv2920), Neg(Succ(vyv29100))) -> Neg(new_primModNatS1(vyv2920, vyv29100)) 248.92/165.27 new_sr3(vyv249, ty_Integer) -> new_sr7(vyv249) 248.92/165.27 new_primModNatS1(Zero, vyv29100) -> Zero 248.92/165.27 new_sr(vyv183, ty_Double) -> new_sr9(vyv183) 248.92/165.27 new_primDivNatS1(Succ(Zero), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS1, Zero)) 248.92/165.27 new_sr3(vyv249, app(ty_Ratio, bg)) -> new_sr5(vyv249, bg) 248.92/165.27 new_error -> error([]) 248.92/165.27 new_primEqInt(Neg(Succ(vyv242000))) -> False 248.92/165.27 new_fromInt0 -> Pos(Succ(Succ(Zero))) 248.92/165.27 new_gcd2(False, vyv272, vyv271) -> new_gcd0(vyv272, vyv271) 248.92/165.27 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 248.92/165.27 new_sr14(Pos(vyv2390), Pos(vyv2380)) -> Pos(new_primMulNat0(vyv2390, vyv2380)) 248.92/165.27 new_ms0(vyv240, Neg(Succ(vyv24300))) -> new_primMinusNat0(vyv24300, vyv240) 248.92/165.27 new_sr0(vyv183, app(ty_Ratio, bd)) -> new_sr5(vyv183, bd) 248.92/165.27 new_gcd0(vyv272, vyv271) -> new_gcd0Gcd'10(new_esEs(new_abs(vyv271)), vyv272, vyv271) 248.92/165.27 new_primQuotInt0(vyv2700, Pos(Zero)) -> new_error 248.92/165.27 new_sr4(vyv239, vyv238, ty_Float) -> new_sr13(vyv239, vyv238) 248.92/165.27 new_esEs2(vyv2391, vyv2381, ty_Integer) -> new_esEs1(new_sr8(vyv2391, vyv2381)) 248.92/165.27 new_gcd0Gcd'11(False, vyv291, vyv292) -> new_gcd0Gcd'00(vyv291, new_rem(vyv292, vyv291)) 248.92/165.27 new_rem(Pos(vyv2920), Pos(Zero)) -> new_error 248.92/165.27 248.92/165.27 The set Q consists of the following terms: 248.92/165.27 248.92/165.27 new_rem(Pos(x0), Pos(Succ(x1))) 248.92/165.27 new_quot1(x0, x1, x2, x3, ty_Integer) 248.92/165.27 new_primModNatS1(Succ(Zero), Succ(x0)) 248.92/165.27 new_ms0(x0, Pos(x1)) 248.92/165.27 new_sr(x0, app(ty_Ratio, x1)) 248.92/165.27 new_primMulNat4(Zero) 248.92/165.27 new_gcd1(False, x0, x1) 248.92/165.27 new_primEqInt(Pos(Zero)) 248.92/165.27 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 248.92/165.27 new_rem(Pos(x0), Neg(Succ(x1))) 248.92/165.27 new_rem(Neg(x0), Pos(Succ(x1))) 248.92/165.27 new_sr10(x0) 248.92/165.27 new_quot1(x0, x1, x2, x3, ty_Int) 248.92/165.27 new_sr0(x0, app(ty_Ratio, x1)) 248.92/165.27 new_quot2(x0, x1, x2, x3, ty_Integer) 248.92/165.27 new_primModNatS01(x0, x1, Succ(x2), Zero) 248.92/165.27 new_sr3(x0, ty_Integer) 248.92/165.27 new_primMulNat3(Zero) 248.92/165.27 new_primDivNatS02(x0, x1, Succ(x2), Zero) 248.92/165.27 new_sr(x0, ty_Float) 248.92/165.27 new_quot2(x0, x1, x2, x3, ty_Int) 248.92/165.27 new_gcd2(False, x0, x1) 248.92/165.27 new_primDivNatS1(Succ(Zero), Zero) 248.92/165.27 new_sr0(x0, ty_Double) 248.92/165.27 new_esEs0(x0, ty_Int) 248.92/165.27 new_sr14(Pos(x0), Pos(x1)) 248.92/165.27 new_sr3(x0, ty_Int) 248.92/165.27 new_primMulNat0(Zero, Zero) 248.92/165.27 new_sr4(x0, x1, ty_Double) 248.92/165.27 new_primPlusNat0(Succ(x0), Zero) 248.92/165.27 new_fromInt0 248.92/165.27 new_fromInt 248.92/165.27 new_primMulNat2(Zero) 248.92/165.27 new_sr11(x0, x1) 248.92/165.27 new_primModNatS01(x0, x1, Zero, Zero) 248.92/165.27 new_esEs2(x0, x1, ty_Int) 248.92/165.27 new_gcd1(True, x0, x1) 248.92/165.27 new_sr13(x0, x1) 248.92/165.27 new_sr14(Pos(x0), Neg(x1)) 248.92/165.27 new_sr14(Neg(x0), Pos(x1)) 248.92/165.27 new_primDivNatS1(Succ(Succ(x0)), Succ(x1)) 248.92/165.27 new_sr1(x0, ty_Int) 248.92/165.27 new_primModNatS1(Zero, x0) 248.92/165.27 new_esEs(Pos(Succ(x0))) 248.92/165.27 new_primMulNat3(Succ(x0)) 248.92/165.27 new_sr1(x0, app(ty_Ratio, x1)) 248.92/165.27 new_primQuotInt(x0, Neg(Succ(x1))) 248.92/165.27 new_reduce2Reduce1(x0, x1, x2, x3, False, x4) 248.92/165.27 new_primMinusNat0(Zero, Zero) 248.92/165.27 new_primDivNatS1(Zero, x0) 248.92/165.27 new_primDivNatS02(x0, x1, Succ(x2), Succ(x3)) 248.92/165.27 new_primModNatS02(x0, x1) 248.92/165.27 new_primDivNatS1(Succ(Zero), Succ(x0)) 248.92/165.27 new_sr6(Neg(x0)) 248.92/165.27 new_gcd0Gcd'10(True, x0, x1) 248.92/165.27 new_primMulNat0(Succ(x0), Succ(x1)) 248.92/165.27 new_abs(Neg(Zero)) 248.92/165.27 new_ms(x0, Neg(x1)) 248.92/165.27 new_rem(Pos(x0), Neg(Zero)) 248.92/165.27 new_rem(Neg(x0), Pos(Zero)) 248.92/165.27 new_primMinusNatS2(Zero, Succ(x0)) 248.92/165.27 new_esEs(Neg(Succ(x0))) 248.92/165.27 new_error 248.92/165.27 new_primModNatS1(Succ(Zero), Zero) 248.92/165.27 new_primMulNat0(Zero, Succ(x0)) 248.92/165.27 new_sr3(x0, ty_Float) 248.92/165.27 new_quot(x0, x1, x2) 248.92/165.27 new_gcd2(True, x0, x1) 248.92/165.27 new_gcd0Gcd'11(True, x0, x1) 248.92/165.27 new_primEqInt(Neg(Zero)) 248.92/165.27 new_sr2(x0, x1, ty_Double) 248.92/165.27 new_primMulNat0(Succ(x0), Zero) 248.92/165.27 new_quot0(Neg(x0), x1, x2) 248.92/165.27 new_primMinusNatS2(Succ(x0), Succ(x1)) 248.92/165.27 new_sr4(x0, x1, app(ty_Ratio, x2)) 248.92/165.27 new_sr8(x0, x1) 248.92/165.27 new_primDivNatS01(x0, x1) 248.92/165.27 new_primDivNatS02(x0, x1, Zero, Succ(x2)) 248.92/165.27 new_primPlusNat0(Succ(x0), Succ(x1)) 248.92/165.27 new_sr1(x0, ty_Integer) 248.92/165.27 new_primPlusNat0(Zero, Zero) 248.92/165.27 new_sr1(x0, ty_Float) 248.92/165.27 new_primMinusNat0(Succ(x0), Succ(x1)) 248.92/165.27 new_sr12(:%(x0, x1), :%(x2, x3), x4) 248.92/165.27 new_abs(Neg(Succ(x0))) 248.92/165.27 new_sr1(x0, ty_Double) 248.92/165.27 new_sr3(x0, app(ty_Ratio, x1)) 248.92/165.27 new_sr7(x0) 248.92/165.27 new_gcd0(x0, x1) 248.92/165.27 new_sr(x0, ty_Integer) 248.92/165.27 new_sr0(x0, ty_Int) 248.92/165.27 new_primQuotInt0(x0, Pos(Succ(x1))) 248.92/165.27 new_sr4(x0, x1, ty_Integer) 248.92/165.27 new_sr5(:%(x0, x1), x2) 248.92/165.27 new_primMinusNatS2(Zero, Zero) 248.92/165.27 new_primMulNat1(Succ(x0)) 248.92/165.27 new_sr0(x0, ty_Integer) 248.92/165.27 new_ms(x0, Pos(Zero)) 248.92/165.27 new_abs(Pos(Succ(x0))) 248.92/165.27 new_sr4(x0, x1, ty_Int) 248.92/165.27 new_esEs(Pos(Zero)) 248.92/165.27 new_primQuotInt0(x0, Pos(Zero)) 248.92/165.27 new_sr(x0, ty_Int) 248.92/165.27 new_primEqInt(Neg(Succ(x0))) 248.92/165.27 new_primQuotInt(x0, Neg(Zero)) 248.92/165.27 new_primQuotInt0(x0, Neg(Zero)) 248.92/165.27 new_primQuotInt0(x0, Neg(Succ(x1))) 248.92/165.27 new_gcd(x0, x1) 248.92/165.27 new_quot0(Pos(x0), x1, x2) 248.92/165.27 new_primMinusNatS0(x0) 248.92/165.27 new_primPlusNat0(Zero, Succ(x0)) 248.92/165.27 new_sr2(x0, x1, app(ty_Ratio, x2)) 248.92/165.27 new_sr2(x0, x1, ty_Int) 248.92/165.27 new_primQuotInt(x0, Pos(Succ(x1))) 248.92/165.27 new_primDivNatS1(Succ(Succ(x0)), Zero) 248.92/165.27 new_rem(Pos(x0), Pos(Zero)) 248.92/165.27 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 248.92/165.27 new_primDivNatS02(x0, x1, Zero, Zero) 248.92/165.27 new_abs(Pos(Zero)) 248.92/165.27 new_gcd0Gcd'10(False, x0, x1) 248.92/165.27 new_ms(x0, Pos(Succ(x1))) 248.92/165.27 new_primMinusNatS1 248.92/165.27 new_esEs1(Integer(x0)) 248.92/165.27 new_ms0(x0, Neg(Zero)) 248.92/165.27 new_primMinusNat0(Succ(x0), Zero) 248.92/165.27 new_ms0(x0, Neg(Succ(x1))) 248.92/165.27 new_sr2(x0, x1, ty_Integer) 248.92/165.27 new_primModNatS01(x0, x1, Zero, Succ(x2)) 248.92/165.27 new_primMulNat2(Succ(x0)) 248.92/165.27 new_sr0(x0, ty_Float) 248.92/165.27 new_sr14(Neg(x0), Neg(x1)) 248.92/165.27 new_sr2(x0, x1, ty_Float) 248.92/165.27 new_primMinusNatS2(Succ(x0), Zero) 248.92/165.27 new_sr4(x0, x1, ty_Float) 248.92/165.27 new_sr6(Pos(x0)) 248.92/165.27 new_esEs2(x0, x1, ty_Integer) 248.92/165.27 new_primMulNat4(Succ(x0)) 248.92/165.27 new_rem(Neg(x0), Neg(Succ(x1))) 248.92/165.27 new_primEqInt(Pos(Succ(x0))) 248.92/165.27 new_primQuotInt(x0, Pos(Zero)) 248.92/165.27 new_gcd0Gcd'11(False, x0, x1) 248.92/165.27 new_sr9(x0) 248.92/165.27 new_primModNatS1(Succ(Succ(x0)), Zero) 248.92/165.27 new_sr(x0, ty_Double) 248.92/165.27 new_esEs0(x0, ty_Integer) 248.92/165.27 new_gcd0Gcd'00(x0, x1) 248.92/165.27 new_reduce2Reduce1(x0, x1, x2, x3, True, x4) 248.92/165.27 new_sr3(x0, ty_Double) 248.92/165.27 new_esEs(Neg(Zero)) 248.92/165.27 new_primMulNat1(Zero) 248.92/165.27 new_primMinusNat0(Zero, Succ(x0)) 248.92/165.27 new_rem(Neg(x0), Neg(Zero)) 248.92/165.27 248.92/165.27 We have to consider all minimal (P,Q,R)-chains. 248.92/165.27 ---------------------------------------- 248.92/165.27 248.92/165.27 (709) TransformationProof (EQUIVALENT) 248.92/165.27 By rewriting [LPAR04] the rule new_pr2F0(vyv183, Neg(Zero), vyv187, h) -> new_pr2F0G(vyv187, new_sr0(vyv183, h), new_primQuotInt0(Zero, new_fromInt0), h) at position [2,1] we obtained the following new rules [LPAR04]: 248.92/165.27 248.92/165.27 (new_pr2F0(vyv183, Neg(Zero), vyv187, h) -> new_pr2F0G(vyv187, new_sr0(vyv183, h), new_primQuotInt0(Zero, Pos(Succ(Succ(Zero)))), h),new_pr2F0(vyv183, Neg(Zero), vyv187, h) -> new_pr2F0G(vyv187, new_sr0(vyv183, h), new_primQuotInt0(Zero, Pos(Succ(Succ(Zero)))), h)) 248.92/165.27 248.92/165.27 248.92/165.27 ---------------------------------------- 248.92/165.27 248.92/165.27 (710) 248.92/165.27 Obligation: 248.92/165.27 Q DP problem: 248.92/165.27 The TRS P consists of the following rules: 248.92/165.27 248.92/165.27 new_pr2F0G10(vyv248, vyv249, vyv250, Succ(Succ(vyv25100)), bb) -> new_pr2F0G10(vyv248, vyv249, vyv250, vyv25100, bb) 248.92/165.27 new_pr2F0G11(vyv238, vyv239, vyv240, bc) -> new_pr2F1(vyv239, vyv240, new_fromInt, vyv238, bc) 248.92/165.27 new_pr2F0G(vyv187, vyv183, Neg(Succ(Zero)), h) -> new_pr2F0G11(vyv187, vyv183, Zero, h) 248.92/165.27 new_pr2F0G(vyv187, vyv183, Neg(Zero), h) -> new_pr2F0G(vyv187, new_sr0(vyv183, h), new_primQuotInt0(Zero, new_fromInt0), h) 248.92/165.27 new_pr2F0G10(vyv248, vyv249, vyv250, Zero, bb) -> new_pr2F0G(vyv248, new_sr3(vyv249, bb), new_primQuotInt0(Succ(vyv250), new_fromInt0), bb) 248.92/165.27 new_pr2F0G(vyv187, vyv183, Pos(Succ(Succ(vyv222000))), h) -> new_pr2F0G1(vyv187, vyv183, Succ(vyv222000), vyv222000, h) 248.92/165.27 new_pr2F0(vyv183, Pos(Succ(Zero)), vyv187, h) -> new_pr2F(vyv183, Zero, new_fromInt, vyv187, h) 248.92/165.27 new_pr2F0G1(vyv226, vyv227, vyv228, Succ(Zero), ba) -> new_pr2F(vyv227, vyv228, new_fromInt, vyv226, ba) 248.92/165.27 new_pr2F0(vyv183, Neg(Succ(Succ(vyv222000))), vyv187, h) -> new_pr2F0G10(vyv187, vyv183, Succ(vyv222000), vyv222000, h) 248.92/165.27 new_pr2F0(vyv183, Neg(Succ(Zero)), vyv187, h) -> new_pr2F0G11(vyv187, vyv183, Zero, h) 248.92/165.27 new_pr2F0G10(vyv248, vyv249, vyv250, Succ(Zero), bb) -> new_pr2F0G11(vyv248, vyv249, vyv250, bb) 248.92/165.27 new_pr2F0G(vyv187, vyv183, Pos(Succ(Zero)), h) -> new_pr2F(vyv183, Zero, new_fromInt, vyv187, h) 248.92/165.27 new_pr2F0G(vyv187, vyv183, Pos(Zero), h) -> new_pr2F0G(vyv187, new_sr(vyv183, h), new_primQuotInt(Zero, new_fromInt0), h) 248.92/165.27 new_pr2F0G(vyv187, vyv183, Neg(Succ(Succ(vyv222000))), h) -> new_pr2F0G10(vyv187, vyv183, Succ(vyv222000), vyv222000, h) 248.92/165.27 new_pr2F3(False, vyv227, vyv228, vyv244, vyv226, ba) -> new_pr2F0(vyv227, new_ms(vyv228, vyv244), new_sr2(vyv227, vyv226, ba), ba) 248.92/165.27 new_pr2F0(vyv183, Pos(Succ(Succ(vyv222000))), vyv187, h) -> new_pr2F0G1(vyv187, vyv183, Succ(vyv222000), vyv222000, h) 248.92/165.27 new_pr2F0G1(vyv226, vyv227, vyv228, Zero, ba) -> new_pr2F0G(vyv226, new_sr1(vyv227, ba), new_primQuotInt(Succ(vyv228), new_fromInt0), ba) 248.92/165.27 new_pr2F1(vyv239, vyv240, vyv243, vyv238, bc) -> new_pr2F30(new_esEs(new_ms0(vyv240, vyv243)), vyv239, vyv240, vyv243, vyv238, bc) 248.92/165.27 new_pr2F(vyv227, vyv228, vyv244, vyv226, ba) -> new_pr2F3(new_esEs(new_ms(vyv228, vyv244)), vyv227, vyv228, vyv244, vyv226, ba) 248.92/165.27 new_pr2F0G1(vyv226, vyv227, vyv228, Succ(Succ(vyv22900)), ba) -> new_pr2F0G1(vyv226, vyv227, vyv228, vyv22900, ba) 248.92/165.27 new_pr2F30(False, vyv239, vyv240, vyv243, vyv238, bc) -> new_pr2F0(vyv239, new_ms0(vyv240, vyv243), new_sr4(vyv239, vyv238, bc), bc) 248.92/165.27 new_pr2F0(vyv183, Pos(Zero), vyv187, h) -> new_pr2F0G(vyv187, new_sr(vyv183, h), new_primQuotInt(Zero, new_fromInt0), h) 248.92/165.27 new_pr2F0(vyv183, Neg(Zero), vyv187, h) -> new_pr2F0G(vyv187, new_sr0(vyv183, h), new_primQuotInt0(Zero, Pos(Succ(Succ(Zero)))), h) 248.92/165.27 248.92/165.27 The TRS R consists of the following rules: 248.92/165.27 248.92/165.27 new_sr2(vyv227, vyv226, ty_Int) -> new_sr14(vyv227, vyv226) 248.92/165.27 new_quot2(vyv266, vyv267, vyv264, vyv265, ty_Int) -> new_quot0(new_sr14(vyv266, vyv267), new_sr14(vyv264, vyv265), new_sr14(vyv266, vyv267)) 248.92/165.27 new_sr(vyv183, ty_Int) -> new_sr6(vyv183) 248.92/165.27 new_sr11(vyv239, vyv238) -> error([]) 248.92/165.27 new_primPlusNat0(Zero, Zero) -> Zero 248.92/165.27 new_sr1(vyv227, ty_Int) -> new_sr6(vyv227) 248.92/165.27 new_abs(Neg(Zero)) -> Neg(Zero) 248.92/165.27 new_esEs2(vyv2391, vyv2381, ty_Int) -> new_esEs(new_sr14(vyv2391, vyv2381)) 248.92/165.27 new_gcd0Gcd'10(True, vyv272, vyv271) -> new_abs(vyv272) 248.92/165.27 new_sr8(vyv239, vyv238) -> error([]) 248.92/165.27 new_sr1(vyv227, ty_Integer) -> new_sr7(vyv227) 248.92/165.27 new_primDivNatS1(Zero, vyv28400) -> Zero 248.92/165.27 new_sr(vyv183, app(ty_Ratio, bd)) -> new_sr5(vyv183, bd) 248.92/165.27 new_primDivNatS1(Succ(Succ(vyv270000)), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS0(vyv270000), Zero)) 248.92/165.27 new_sr(vyv183, ty_Integer) -> new_sr7(vyv183) 248.92/165.27 new_gcd0Gcd'11(True, vyv291, vyv292) -> vyv291 248.92/165.27 new_primMinusNatS2(Zero, Succ(vyv3110)) -> Zero 248.92/165.27 new_primMinusNat0(Succ(vyv2280), Succ(vyv244000)) -> new_primMinusNat0(vyv2280, vyv244000) 248.92/165.27 new_sr1(vyv227, app(ty_Ratio, be)) -> new_sr5(vyv227, be) 248.92/165.27 new_esEs0(vyv1831, ty_Int) -> new_esEs(new_sr6(vyv1831)) 248.92/165.27 new_primEqInt(Pos(Succ(vyv242000))) -> False 248.92/165.27 new_ms(vyv228, Neg(vyv2440)) -> Pos(new_primPlusNat0(Succ(vyv228), vyv2440)) 248.92/165.27 new_sr(vyv183, ty_Float) -> new_sr10(vyv183) 248.92/165.27 new_sr2(vyv227, vyv226, ty_Double) -> new_sr11(vyv227, vyv226) 248.92/165.27 new_abs(Neg(Succ(vyv27100))) -> Pos(Succ(vyv27100)) 248.92/165.27 new_gcd1(True, vyv272, vyv271) -> new_error 248.92/165.27 new_sr4(vyv239, vyv238, app(ty_Ratio, bf)) -> new_sr12(vyv239, vyv238, bf) 248.92/165.27 new_primMulNat1(Succ(vyv18300)) -> new_primPlusNat0(new_primMulNat2(vyv18300), Succ(vyv18300)) 248.92/165.27 new_sr3(vyv249, ty_Float) -> new_sr10(vyv249) 248.92/165.27 new_ms(vyv228, Pos(Succ(vyv24400))) -> new_primMinusNat0(vyv228, vyv24400) 248.92/165.27 new_primDivNatS02(vyv310, vyv311, Zero, Zero) -> new_primDivNatS01(vyv310, vyv311) 248.92/165.27 new_primMinusNatS1 -> Zero 248.92/165.27 new_sr4(vyv239, vyv238, ty_Integer) -> new_sr8(vyv239, vyv238) 248.92/165.27 new_primMinusNatS2(Succ(vyv3100), Zero) -> Succ(vyv3100) 248.92/165.27 new_sr0(vyv183, ty_Double) -> new_sr9(vyv183) 248.92/165.27 new_sr0(vyv183, ty_Int) -> new_sr6(vyv183) 248.92/165.27 new_primPlusNat0(Succ(vyv4000), Succ(vyv5000)) -> Succ(Succ(new_primPlusNat0(vyv4000, vyv5000))) 248.92/165.27 new_sr7(vyv183) -> error([]) 248.92/165.27 new_sr5(:%(vyv1830, vyv1831), bd) -> new_reduce2Reduce1(vyv1830, vyv1830, vyv1831, vyv1831, new_esEs0(vyv1831, bd), bd) 248.92/165.27 new_sr14(Pos(vyv2390), Neg(vyv2380)) -> Neg(new_primMulNat0(vyv2390, vyv2380)) 248.92/165.27 new_sr14(Neg(vyv2390), Pos(vyv2380)) -> Neg(new_primMulNat0(vyv2390, vyv2380)) 248.92/165.27 new_sr0(vyv183, ty_Integer) -> new_sr7(vyv183) 248.92/165.27 new_primMulNat2(Succ(vyv183000)) -> new_primPlusNat0(new_primMulNat3(vyv183000), Succ(Succ(vyv183000))) 248.92/165.27 new_sr14(Neg(vyv2390), Neg(vyv2380)) -> Pos(new_primMulNat0(vyv2390, vyv2380)) 248.92/165.27 new_gcd1(False, vyv272, vyv271) -> new_gcd0(vyv272, vyv271) 248.92/165.27 new_sr4(vyv239, vyv238, ty_Int) -> new_sr14(vyv239, vyv238) 248.92/165.27 new_primDivNatS1(Succ(Zero), Succ(vyv284000)) -> Zero 248.92/165.27 new_primMulNat4(Succ(vyv18300000)) -> new_primPlusNat0(new_primMulNat0(vyv18300000, Succ(Succ(Succ(Succ(vyv18300000))))), Succ(Succ(Succ(Succ(vyv18300000))))) 248.92/165.27 new_primModNatS01(vyv330, vyv331, Zero, Succ(vyv3330)) -> Succ(Succ(vyv330)) 248.92/165.27 new_primModNatS1(Succ(Succ(vyv292000)), Succ(vyv291000)) -> new_primModNatS01(vyv292000, vyv291000, vyv292000, vyv291000) 248.92/165.27 new_primDivNatS02(vyv310, vyv311, Succ(vyv3120), Zero) -> new_primDivNatS01(vyv310, vyv311) 248.92/165.27 new_primDivNatS01(vyv310, vyv311) -> Succ(new_primDivNatS1(new_primMinusNatS2(vyv310, vyv311), Succ(vyv311))) 248.92/165.27 new_primDivNatS02(vyv310, vyv311, Zero, Succ(vyv3130)) -> Zero 248.92/165.27 new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) 248.92/165.27 new_esEs(Pos(Succ(vyv24100))) -> new_primEqInt(Pos(Succ(vyv24100))) 248.92/165.27 new_ms(vyv228, Pos(Zero)) -> Pos(Succ(vyv228)) 248.92/165.27 new_primMinusNat0(Zero, Zero) -> Pos(Zero) 248.92/165.27 new_sr1(vyv227, ty_Float) -> new_sr10(vyv227) 248.92/165.27 new_sr2(vyv227, vyv226, ty_Integer) -> new_sr8(vyv227, vyv226) 248.92/165.27 new_sr10(vyv183) -> error([]) 248.92/165.27 new_rem(Pos(vyv2920), Neg(Zero)) -> new_error 248.92/165.27 new_rem(Neg(vyv2920), Pos(Zero)) -> new_error 248.92/165.27 new_primModNatS01(vyv330, vyv331, Zero, Zero) -> new_primModNatS02(vyv330, vyv331) 248.92/165.27 new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) 248.92/165.27 new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Zero) -> new_primModNatS02(vyv330, vyv331) 248.92/165.27 new_primModNatS02(vyv330, vyv331) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv330), Succ(vyv331)), Succ(vyv331)) 248.92/165.27 new_reduce2Reduce1(vyv264, vyv265, vyv266, vyv267, False, bh) -> :%(new_quot1(vyv264, vyv265, vyv266, vyv267, bh), new_quot2(vyv266, vyv267, vyv264, vyv265, bh)) 248.92/165.27 new_rem(Pos(vyv2920), Neg(Succ(vyv29100))) -> Pos(new_primModNatS1(vyv2920, vyv29100)) 248.92/165.27 new_primDivNatS02(vyv310, vyv311, Succ(vyv3120), Succ(vyv3130)) -> new_primDivNatS02(vyv310, vyv311, vyv3120, vyv3130) 248.92/165.27 new_primMulNat0(Succ(vyv23900), Zero) -> Zero 248.92/165.27 new_primMulNat0(Zero, Succ(vyv23800)) -> Zero 248.92/165.27 new_primQuotInt0(vyv2700, Neg(Zero)) -> new_error 248.92/165.27 new_quot0(Neg(vyv2700), vyv272, vyv271) -> new_primQuotInt0(vyv2700, new_gcd(vyv272, vyv271)) 248.92/165.27 new_primQuotInt(vyv2700, Neg(Zero)) -> new_error 248.92/165.27 new_sr13(vyv239, vyv238) -> error([]) 248.92/165.27 new_rem(Neg(vyv2920), Pos(Succ(vyv29100))) -> Neg(new_primModNatS1(vyv2920, vyv29100)) 248.92/165.27 new_sr4(vyv239, vyv238, ty_Double) -> new_sr11(vyv239, vyv238) 248.92/165.27 new_primMulNat4(Zero) -> Zero 248.92/165.27 new_quot1(vyv264, vyv265, vyv266, vyv267, ty_Int) -> new_quot0(new_sr14(vyv264, vyv265), new_sr14(vyv264, vyv265), new_sr14(vyv266, vyv267)) 248.92/165.27 new_sr9(vyv183) -> error([]) 248.92/165.27 new_gcd0Gcd'10(False, vyv272, vyv271) -> new_gcd0Gcd'00(new_abs(vyv272), new_abs(vyv271)) 248.92/165.27 new_primPlusNat0(Succ(vyv4000), Zero) -> Succ(vyv4000) 248.92/165.27 new_primPlusNat0(Zero, Succ(vyv5000)) -> Succ(vyv5000) 248.92/165.27 new_primMulNat0(Zero, Zero) -> Zero 248.92/165.27 new_primQuotInt(vyv2700, Pos(Succ(vyv28400))) -> Pos(new_primDivNatS1(vyv2700, vyv28400)) 248.92/165.27 new_sr3(vyv249, ty_Double) -> new_sr9(vyv249) 248.92/165.27 new_primMulNat3(Succ(vyv1830000)) -> new_primPlusNat0(new_primMulNat4(vyv1830000), Succ(Succ(Succ(vyv1830000)))) 248.92/165.27 new_esEs(Neg(Succ(vyv24100))) -> new_primEqInt(Neg(Succ(vyv24100))) 248.92/165.27 new_esEs1(Integer(vyv2690)) -> new_primEqInt(vyv2690) 248.92/165.27 new_primMulNat0(Succ(vyv23900), Succ(vyv23800)) -> new_primPlusNat0(new_primMulNat0(vyv23900, Succ(vyv23800)), Succ(vyv23800)) 248.92/165.27 new_quot0(Pos(vyv2700), vyv272, vyv271) -> new_primQuotInt(vyv2700, new_gcd(vyv272, vyv271)) 248.92/165.27 new_sr6(Neg(vyv1830)) -> Pos(new_primMulNat1(vyv1830)) 248.92/165.27 new_primQuotInt(vyv2700, Pos(Zero)) -> new_error 248.92/165.27 new_rem(Pos(vyv2920), Pos(Succ(vyv29100))) -> Pos(new_primModNatS1(vyv2920, vyv29100)) 248.92/165.27 new_abs(Pos(Succ(vyv27100))) -> Pos(Succ(vyv27100)) 248.92/165.27 new_primEqInt(Pos(Zero)) -> True 248.92/165.27 new_primMulNat1(Zero) -> Zero 248.92/165.27 new_quot1(vyv264, vyv265, vyv266, vyv267, ty_Integer) -> new_quot(new_sr8(vyv264, vyv265), new_sr8(vyv264, vyv265), new_sr8(vyv266, vyv267)) 248.92/165.27 new_gcd(vyv272, vyv271) -> new_gcd2(new_esEs(vyv272), vyv272, vyv271) 248.92/165.27 new_rem(Neg(vyv2920), Neg(Zero)) -> new_error 248.92/165.27 new_sr2(vyv227, vyv226, ty_Float) -> new_sr13(vyv227, vyv226) 248.92/165.27 new_gcd2(True, vyv272, vyv271) -> new_gcd1(new_esEs(vyv271), vyv272, vyv271) 248.92/165.27 new_primMinusNat0(Zero, Succ(vyv244000)) -> Neg(Succ(vyv244000)) 248.92/165.27 new_primQuotInt0(vyv2700, Pos(Succ(vyv28700))) -> Neg(new_primDivNatS1(vyv2700, vyv28700)) 248.92/165.27 new_ms0(vyv240, Neg(Zero)) -> Neg(Succ(vyv240)) 248.92/165.27 new_gcd0Gcd'00(vyv292, vyv291) -> new_gcd0Gcd'11(new_esEs(new_rem(vyv292, vyv291)), vyv291, vyv292) 248.92/165.27 new_fromInt -> Pos(Succ(Zero)) 248.92/165.27 new_sr6(Pos(vyv1830)) -> Pos(new_primMulNat1(vyv1830)) 248.92/165.27 new_abs(Pos(Zero)) -> Pos(Zero) 248.92/165.27 new_primMulNat2(Zero) -> Zero 248.92/165.27 new_sr12(:%(vyv2390, vyv2391), :%(vyv2380, vyv2381), bf) -> new_reduce2Reduce1(vyv2390, vyv2380, vyv2391, vyv2381, new_esEs2(vyv2391, vyv2381, bf), bf) 248.92/165.27 new_primMinusNat0(Succ(vyv2280), Zero) -> Pos(Succ(vyv2280)) 248.92/165.27 new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Succ(vyv3330)) -> new_primModNatS01(vyv330, vyv331, vyv3320, vyv3330) 248.92/165.27 new_quot(vyv273, vyv275, vyv274) -> error([]) 248.92/165.27 new_sr3(vyv249, ty_Int) -> new_sr6(vyv249) 248.92/165.27 new_primModNatS1(Succ(Succ(vyv292000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv292000), Zero) 248.92/165.27 new_reduce2Reduce1(vyv264, vyv265, vyv266, vyv267, True, bh) -> error([]) 248.92/165.27 new_primModNatS1(Succ(Zero), Succ(vyv291000)) -> Succ(Zero) 248.92/165.27 new_primDivNatS1(Succ(Succ(vyv270000)), Succ(vyv284000)) -> new_primDivNatS02(vyv270000, vyv284000, vyv270000, vyv284000) 248.92/165.27 new_primMinusNatS2(Zero, Zero) -> Zero 248.92/165.27 new_sr0(vyv183, ty_Float) -> new_sr10(vyv183) 248.92/165.27 new_primEqInt(Neg(Zero)) -> True 248.92/165.27 new_primQuotInt(vyv2700, Neg(Succ(vyv28400))) -> Neg(new_primDivNatS1(vyv2700, vyv28400)) 248.92/165.27 new_quot2(vyv266, vyv267, vyv264, vyv265, ty_Integer) -> new_quot(new_sr8(vyv266, vyv267), new_sr8(vyv264, vyv265), new_sr8(vyv266, vyv267)) 248.92/165.27 new_primMinusNatS2(Succ(vyv3100), Succ(vyv3110)) -> new_primMinusNatS2(vyv3100, vyv3110) 248.92/165.27 new_esEs0(vyv1831, ty_Integer) -> new_esEs1(new_sr7(vyv1831)) 248.92/165.27 new_primMinusNatS0(vyv270000) -> Succ(vyv270000) 248.92/165.27 new_primMulNat3(Zero) -> Zero 248.92/165.27 new_ms0(vyv240, Pos(vyv2430)) -> Neg(new_primPlusNat0(Succ(vyv240), vyv2430)) 248.92/165.27 new_primQuotInt0(vyv2700, Neg(Succ(vyv28700))) -> Pos(new_primDivNatS1(vyv2700, vyv28700)) 248.92/165.27 new_sr2(vyv227, vyv226, app(ty_Ratio, be)) -> new_sr12(vyv227, vyv226, be) 248.92/165.27 new_sr1(vyv227, ty_Double) -> new_sr9(vyv227) 248.92/165.27 new_rem(Neg(vyv2920), Neg(Succ(vyv29100))) -> Neg(new_primModNatS1(vyv2920, vyv29100)) 248.92/165.27 new_sr3(vyv249, ty_Integer) -> new_sr7(vyv249) 248.92/165.27 new_primModNatS1(Zero, vyv29100) -> Zero 248.92/165.27 new_sr(vyv183, ty_Double) -> new_sr9(vyv183) 248.92/165.27 new_primDivNatS1(Succ(Zero), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS1, Zero)) 248.92/165.27 new_sr3(vyv249, app(ty_Ratio, bg)) -> new_sr5(vyv249, bg) 248.92/165.27 new_error -> error([]) 248.92/165.27 new_primEqInt(Neg(Succ(vyv242000))) -> False 248.92/165.27 new_fromInt0 -> Pos(Succ(Succ(Zero))) 248.92/165.27 new_gcd2(False, vyv272, vyv271) -> new_gcd0(vyv272, vyv271) 248.92/165.27 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 248.92/165.27 new_sr14(Pos(vyv2390), Pos(vyv2380)) -> Pos(new_primMulNat0(vyv2390, vyv2380)) 248.92/165.27 new_ms0(vyv240, Neg(Succ(vyv24300))) -> new_primMinusNat0(vyv24300, vyv240) 248.92/165.27 new_sr0(vyv183, app(ty_Ratio, bd)) -> new_sr5(vyv183, bd) 248.92/165.27 new_gcd0(vyv272, vyv271) -> new_gcd0Gcd'10(new_esEs(new_abs(vyv271)), vyv272, vyv271) 248.92/165.27 new_primQuotInt0(vyv2700, Pos(Zero)) -> new_error 248.92/165.27 new_sr4(vyv239, vyv238, ty_Float) -> new_sr13(vyv239, vyv238) 248.92/165.27 new_esEs2(vyv2391, vyv2381, ty_Integer) -> new_esEs1(new_sr8(vyv2391, vyv2381)) 248.92/165.27 new_gcd0Gcd'11(False, vyv291, vyv292) -> new_gcd0Gcd'00(vyv291, new_rem(vyv292, vyv291)) 248.92/165.27 new_rem(Pos(vyv2920), Pos(Zero)) -> new_error 248.92/165.27 248.92/165.27 The set Q consists of the following terms: 248.92/165.27 248.92/165.27 new_rem(Pos(x0), Pos(Succ(x1))) 248.92/165.27 new_quot1(x0, x1, x2, x3, ty_Integer) 248.92/165.27 new_primModNatS1(Succ(Zero), Succ(x0)) 248.92/165.27 new_ms0(x0, Pos(x1)) 248.92/165.27 new_sr(x0, app(ty_Ratio, x1)) 248.92/165.27 new_primMulNat4(Zero) 248.92/165.27 new_gcd1(False, x0, x1) 248.92/165.27 new_primEqInt(Pos(Zero)) 248.92/165.27 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 248.92/165.27 new_rem(Pos(x0), Neg(Succ(x1))) 248.92/165.27 new_rem(Neg(x0), Pos(Succ(x1))) 248.92/165.27 new_sr10(x0) 248.92/165.27 new_quot1(x0, x1, x2, x3, ty_Int) 248.92/165.27 new_sr0(x0, app(ty_Ratio, x1)) 248.92/165.27 new_quot2(x0, x1, x2, x3, ty_Integer) 248.92/165.27 new_primModNatS01(x0, x1, Succ(x2), Zero) 248.92/165.27 new_sr3(x0, ty_Integer) 248.92/165.27 new_primMulNat3(Zero) 248.92/165.27 new_primDivNatS02(x0, x1, Succ(x2), Zero) 248.92/165.27 new_sr(x0, ty_Float) 248.92/165.27 new_quot2(x0, x1, x2, x3, ty_Int) 248.92/165.27 new_gcd2(False, x0, x1) 248.92/165.27 new_primDivNatS1(Succ(Zero), Zero) 248.92/165.27 new_sr0(x0, ty_Double) 248.92/165.27 new_esEs0(x0, ty_Int) 248.92/165.27 new_sr14(Pos(x0), Pos(x1)) 248.92/165.27 new_sr3(x0, ty_Int) 248.92/165.27 new_primMulNat0(Zero, Zero) 248.92/165.27 new_sr4(x0, x1, ty_Double) 248.92/165.27 new_primPlusNat0(Succ(x0), Zero) 248.92/165.27 new_fromInt0 248.92/165.27 new_fromInt 248.92/165.27 new_primMulNat2(Zero) 248.92/165.27 new_sr11(x0, x1) 248.92/165.27 new_primModNatS01(x0, x1, Zero, Zero) 248.92/165.27 new_esEs2(x0, x1, ty_Int) 248.92/165.27 new_gcd1(True, x0, x1) 248.92/165.27 new_sr13(x0, x1) 248.92/165.27 new_sr14(Pos(x0), Neg(x1)) 248.92/165.27 new_sr14(Neg(x0), Pos(x1)) 248.92/165.27 new_primDivNatS1(Succ(Succ(x0)), Succ(x1)) 248.92/165.27 new_sr1(x0, ty_Int) 248.92/165.27 new_primModNatS1(Zero, x0) 248.92/165.27 new_esEs(Pos(Succ(x0))) 248.92/165.27 new_primMulNat3(Succ(x0)) 248.92/165.27 new_sr1(x0, app(ty_Ratio, x1)) 248.92/165.27 new_primQuotInt(x0, Neg(Succ(x1))) 248.92/165.27 new_reduce2Reduce1(x0, x1, x2, x3, False, x4) 248.92/165.27 new_primMinusNat0(Zero, Zero) 248.92/165.27 new_primDivNatS1(Zero, x0) 248.92/165.27 new_primDivNatS02(x0, x1, Succ(x2), Succ(x3)) 248.92/165.27 new_primModNatS02(x0, x1) 248.92/165.27 new_primDivNatS1(Succ(Zero), Succ(x0)) 248.92/165.27 new_sr6(Neg(x0)) 248.92/165.27 new_gcd0Gcd'10(True, x0, x1) 248.92/165.27 new_primMulNat0(Succ(x0), Succ(x1)) 248.92/165.27 new_abs(Neg(Zero)) 248.92/165.27 new_ms(x0, Neg(x1)) 248.92/165.27 new_rem(Pos(x0), Neg(Zero)) 248.92/165.27 new_rem(Neg(x0), Pos(Zero)) 248.92/165.27 new_primMinusNatS2(Zero, Succ(x0)) 248.92/165.27 new_esEs(Neg(Succ(x0))) 248.92/165.27 new_error 248.92/165.27 new_primModNatS1(Succ(Zero), Zero) 248.92/165.27 new_primMulNat0(Zero, Succ(x0)) 248.92/165.27 new_sr3(x0, ty_Float) 248.92/165.27 new_quot(x0, x1, x2) 248.92/165.27 new_gcd2(True, x0, x1) 248.92/165.27 new_gcd0Gcd'11(True, x0, x1) 248.92/165.27 new_primEqInt(Neg(Zero)) 248.92/165.27 new_sr2(x0, x1, ty_Double) 248.92/165.27 new_primMulNat0(Succ(x0), Zero) 248.92/165.27 new_quot0(Neg(x0), x1, x2) 248.92/165.27 new_primMinusNatS2(Succ(x0), Succ(x1)) 248.92/165.27 new_sr4(x0, x1, app(ty_Ratio, x2)) 248.92/165.27 new_sr8(x0, x1) 248.92/165.27 new_primDivNatS01(x0, x1) 248.92/165.27 new_primDivNatS02(x0, x1, Zero, Succ(x2)) 248.92/165.27 new_primPlusNat0(Succ(x0), Succ(x1)) 248.92/165.27 new_sr1(x0, ty_Integer) 248.92/165.27 new_primPlusNat0(Zero, Zero) 248.92/165.27 new_sr1(x0, ty_Float) 248.92/165.27 new_primMinusNat0(Succ(x0), Succ(x1)) 248.92/165.27 new_sr12(:%(x0, x1), :%(x2, x3), x4) 248.92/165.27 new_abs(Neg(Succ(x0))) 248.92/165.27 new_sr1(x0, ty_Double) 248.92/165.27 new_sr3(x0, app(ty_Ratio, x1)) 248.92/165.27 new_sr7(x0) 248.92/165.27 new_gcd0(x0, x1) 248.92/165.27 new_sr(x0, ty_Integer) 248.92/165.27 new_sr0(x0, ty_Int) 248.92/165.27 new_primQuotInt0(x0, Pos(Succ(x1))) 248.92/165.27 new_sr4(x0, x1, ty_Integer) 248.92/165.27 new_sr5(:%(x0, x1), x2) 248.92/165.27 new_primMinusNatS2(Zero, Zero) 248.92/165.27 new_primMulNat1(Succ(x0)) 248.92/165.27 new_sr0(x0, ty_Integer) 248.92/165.27 new_ms(x0, Pos(Zero)) 248.92/165.27 new_abs(Pos(Succ(x0))) 248.92/165.27 new_sr4(x0, x1, ty_Int) 248.92/165.27 new_esEs(Pos(Zero)) 248.92/165.27 new_primQuotInt0(x0, Pos(Zero)) 248.92/165.27 new_sr(x0, ty_Int) 248.92/165.27 new_primEqInt(Neg(Succ(x0))) 248.92/165.27 new_primQuotInt(x0, Neg(Zero)) 248.92/165.27 new_primQuotInt0(x0, Neg(Zero)) 248.92/165.27 new_primQuotInt0(x0, Neg(Succ(x1))) 248.92/165.27 new_gcd(x0, x1) 248.92/165.27 new_quot0(Pos(x0), x1, x2) 248.92/165.27 new_primMinusNatS0(x0) 248.92/165.27 new_primPlusNat0(Zero, Succ(x0)) 248.92/165.27 new_sr2(x0, x1, app(ty_Ratio, x2)) 248.92/165.27 new_sr2(x0, x1, ty_Int) 248.92/165.27 new_primQuotInt(x0, Pos(Succ(x1))) 248.92/165.27 new_primDivNatS1(Succ(Succ(x0)), Zero) 248.92/165.27 new_rem(Pos(x0), Pos(Zero)) 248.92/165.27 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 248.92/165.27 new_primDivNatS02(x0, x1, Zero, Zero) 248.92/165.27 new_abs(Pos(Zero)) 248.92/165.27 new_gcd0Gcd'10(False, x0, x1) 248.92/165.27 new_ms(x0, Pos(Succ(x1))) 248.92/165.27 new_primMinusNatS1 248.92/165.27 new_esEs1(Integer(x0)) 248.92/165.27 new_ms0(x0, Neg(Zero)) 248.92/165.27 new_primMinusNat0(Succ(x0), Zero) 248.92/165.27 new_ms0(x0, Neg(Succ(x1))) 248.92/165.27 new_sr2(x0, x1, ty_Integer) 248.92/165.27 new_primModNatS01(x0, x1, Zero, Succ(x2)) 248.92/165.27 new_primMulNat2(Succ(x0)) 248.92/165.27 new_sr0(x0, ty_Float) 248.92/165.27 new_sr14(Neg(x0), Neg(x1)) 248.92/165.27 new_sr2(x0, x1, ty_Float) 248.92/165.27 new_primMinusNatS2(Succ(x0), Zero) 248.92/165.27 new_sr4(x0, x1, ty_Float) 248.92/165.27 new_sr6(Pos(x0)) 248.92/165.27 new_esEs2(x0, x1, ty_Integer) 248.92/165.27 new_primMulNat4(Succ(x0)) 248.92/165.27 new_rem(Neg(x0), Neg(Succ(x1))) 248.92/165.27 new_primEqInt(Pos(Succ(x0))) 248.92/165.27 new_primQuotInt(x0, Pos(Zero)) 248.92/165.27 new_gcd0Gcd'11(False, x0, x1) 248.92/165.27 new_sr9(x0) 248.92/165.27 new_primModNatS1(Succ(Succ(x0)), Zero) 248.92/165.27 new_sr(x0, ty_Double) 248.92/165.27 new_esEs0(x0, ty_Integer) 248.92/165.27 new_gcd0Gcd'00(x0, x1) 248.92/165.27 new_reduce2Reduce1(x0, x1, x2, x3, True, x4) 248.92/165.27 new_sr3(x0, ty_Double) 248.92/165.27 new_esEs(Neg(Zero)) 248.92/165.27 new_primMulNat1(Zero) 248.92/165.27 new_primMinusNat0(Zero, Succ(x0)) 248.92/165.27 new_rem(Neg(x0), Neg(Zero)) 248.92/165.27 248.92/165.27 We have to consider all minimal (P,Q,R)-chains. 248.92/165.27 ---------------------------------------- 248.92/165.27 248.92/165.27 (711) TransformationProof (EQUIVALENT) 248.92/165.27 By rewriting [LPAR04] the rule new_pr2F0G11(vyv238, vyv239, vyv240, bc) -> new_pr2F1(vyv239, vyv240, new_fromInt, vyv238, bc) at position [2] we obtained the following new rules [LPAR04]: 248.92/165.27 248.92/165.27 (new_pr2F0G11(vyv238, vyv239, vyv240, bc) -> new_pr2F1(vyv239, vyv240, Pos(Succ(Zero)), vyv238, bc),new_pr2F0G11(vyv238, vyv239, vyv240, bc) -> new_pr2F1(vyv239, vyv240, Pos(Succ(Zero)), vyv238, bc)) 248.92/165.27 248.92/165.27 248.92/165.27 ---------------------------------------- 248.92/165.27 248.92/165.27 (712) 248.92/165.27 Obligation: 248.92/165.27 Q DP problem: 248.92/165.27 The TRS P consists of the following rules: 248.92/165.27 248.92/165.27 new_pr2F0G10(vyv248, vyv249, vyv250, Succ(Succ(vyv25100)), bb) -> new_pr2F0G10(vyv248, vyv249, vyv250, vyv25100, bb) 248.92/165.27 new_pr2F0G(vyv187, vyv183, Neg(Succ(Zero)), h) -> new_pr2F0G11(vyv187, vyv183, Zero, h) 248.92/165.27 new_pr2F0G(vyv187, vyv183, Neg(Zero), h) -> new_pr2F0G(vyv187, new_sr0(vyv183, h), new_primQuotInt0(Zero, new_fromInt0), h) 248.92/165.27 new_pr2F0G10(vyv248, vyv249, vyv250, Zero, bb) -> new_pr2F0G(vyv248, new_sr3(vyv249, bb), new_primQuotInt0(Succ(vyv250), new_fromInt0), bb) 248.92/165.27 new_pr2F0G(vyv187, vyv183, Pos(Succ(Succ(vyv222000))), h) -> new_pr2F0G1(vyv187, vyv183, Succ(vyv222000), vyv222000, h) 248.92/165.27 new_pr2F0(vyv183, Pos(Succ(Zero)), vyv187, h) -> new_pr2F(vyv183, Zero, new_fromInt, vyv187, h) 248.92/165.27 new_pr2F0G1(vyv226, vyv227, vyv228, Succ(Zero), ba) -> new_pr2F(vyv227, vyv228, new_fromInt, vyv226, ba) 248.92/165.27 new_pr2F0(vyv183, Neg(Succ(Succ(vyv222000))), vyv187, h) -> new_pr2F0G10(vyv187, vyv183, Succ(vyv222000), vyv222000, h) 248.92/165.27 new_pr2F0(vyv183, Neg(Succ(Zero)), vyv187, h) -> new_pr2F0G11(vyv187, vyv183, Zero, h) 248.92/165.27 new_pr2F0G10(vyv248, vyv249, vyv250, Succ(Zero), bb) -> new_pr2F0G11(vyv248, vyv249, vyv250, bb) 248.92/165.27 new_pr2F0G(vyv187, vyv183, Pos(Succ(Zero)), h) -> new_pr2F(vyv183, Zero, new_fromInt, vyv187, h) 248.92/165.27 new_pr2F0G(vyv187, vyv183, Pos(Zero), h) -> new_pr2F0G(vyv187, new_sr(vyv183, h), new_primQuotInt(Zero, new_fromInt0), h) 248.92/165.27 new_pr2F0G(vyv187, vyv183, Neg(Succ(Succ(vyv222000))), h) -> new_pr2F0G10(vyv187, vyv183, Succ(vyv222000), vyv222000, h) 248.92/165.27 new_pr2F3(False, vyv227, vyv228, vyv244, vyv226, ba) -> new_pr2F0(vyv227, new_ms(vyv228, vyv244), new_sr2(vyv227, vyv226, ba), ba) 248.92/165.27 new_pr2F0(vyv183, Pos(Succ(Succ(vyv222000))), vyv187, h) -> new_pr2F0G1(vyv187, vyv183, Succ(vyv222000), vyv222000, h) 248.92/165.27 new_pr2F0G1(vyv226, vyv227, vyv228, Zero, ba) -> new_pr2F0G(vyv226, new_sr1(vyv227, ba), new_primQuotInt(Succ(vyv228), new_fromInt0), ba) 248.92/165.27 new_pr2F1(vyv239, vyv240, vyv243, vyv238, bc) -> new_pr2F30(new_esEs(new_ms0(vyv240, vyv243)), vyv239, vyv240, vyv243, vyv238, bc) 248.92/165.27 new_pr2F(vyv227, vyv228, vyv244, vyv226, ba) -> new_pr2F3(new_esEs(new_ms(vyv228, vyv244)), vyv227, vyv228, vyv244, vyv226, ba) 248.92/165.27 new_pr2F0G1(vyv226, vyv227, vyv228, Succ(Succ(vyv22900)), ba) -> new_pr2F0G1(vyv226, vyv227, vyv228, vyv22900, ba) 248.92/165.27 new_pr2F30(False, vyv239, vyv240, vyv243, vyv238, bc) -> new_pr2F0(vyv239, new_ms0(vyv240, vyv243), new_sr4(vyv239, vyv238, bc), bc) 248.92/165.27 new_pr2F0(vyv183, Pos(Zero), vyv187, h) -> new_pr2F0G(vyv187, new_sr(vyv183, h), new_primQuotInt(Zero, new_fromInt0), h) 248.92/165.27 new_pr2F0(vyv183, Neg(Zero), vyv187, h) -> new_pr2F0G(vyv187, new_sr0(vyv183, h), new_primQuotInt0(Zero, Pos(Succ(Succ(Zero)))), h) 248.92/165.27 new_pr2F0G11(vyv238, vyv239, vyv240, bc) -> new_pr2F1(vyv239, vyv240, Pos(Succ(Zero)), vyv238, bc) 248.92/165.27 248.92/165.27 The TRS R consists of the following rules: 248.92/165.27 248.92/165.27 new_sr2(vyv227, vyv226, ty_Int) -> new_sr14(vyv227, vyv226) 248.92/165.27 new_quot2(vyv266, vyv267, vyv264, vyv265, ty_Int) -> new_quot0(new_sr14(vyv266, vyv267), new_sr14(vyv264, vyv265), new_sr14(vyv266, vyv267)) 248.92/165.27 new_sr(vyv183, ty_Int) -> new_sr6(vyv183) 248.92/165.27 new_sr11(vyv239, vyv238) -> error([]) 248.92/165.27 new_primPlusNat0(Zero, Zero) -> Zero 248.92/165.27 new_sr1(vyv227, ty_Int) -> new_sr6(vyv227) 248.92/165.27 new_abs(Neg(Zero)) -> Neg(Zero) 248.92/165.27 new_esEs2(vyv2391, vyv2381, ty_Int) -> new_esEs(new_sr14(vyv2391, vyv2381)) 248.92/165.27 new_gcd0Gcd'10(True, vyv272, vyv271) -> new_abs(vyv272) 248.92/165.27 new_sr8(vyv239, vyv238) -> error([]) 248.92/165.27 new_sr1(vyv227, ty_Integer) -> new_sr7(vyv227) 248.92/165.27 new_primDivNatS1(Zero, vyv28400) -> Zero 248.92/165.27 new_sr(vyv183, app(ty_Ratio, bd)) -> new_sr5(vyv183, bd) 248.92/165.27 new_primDivNatS1(Succ(Succ(vyv270000)), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS0(vyv270000), Zero)) 248.92/165.27 new_sr(vyv183, ty_Integer) -> new_sr7(vyv183) 248.92/165.27 new_gcd0Gcd'11(True, vyv291, vyv292) -> vyv291 248.92/165.27 new_primMinusNatS2(Zero, Succ(vyv3110)) -> Zero 248.92/165.27 new_primMinusNat0(Succ(vyv2280), Succ(vyv244000)) -> new_primMinusNat0(vyv2280, vyv244000) 248.92/165.27 new_sr1(vyv227, app(ty_Ratio, be)) -> new_sr5(vyv227, be) 248.92/165.27 new_esEs0(vyv1831, ty_Int) -> new_esEs(new_sr6(vyv1831)) 248.92/165.27 new_primEqInt(Pos(Succ(vyv242000))) -> False 248.92/165.27 new_ms(vyv228, Neg(vyv2440)) -> Pos(new_primPlusNat0(Succ(vyv228), vyv2440)) 248.92/165.27 new_sr(vyv183, ty_Float) -> new_sr10(vyv183) 248.92/165.27 new_sr2(vyv227, vyv226, ty_Double) -> new_sr11(vyv227, vyv226) 248.92/165.27 new_abs(Neg(Succ(vyv27100))) -> Pos(Succ(vyv27100)) 248.92/165.27 new_gcd1(True, vyv272, vyv271) -> new_error 248.92/165.27 new_sr4(vyv239, vyv238, app(ty_Ratio, bf)) -> new_sr12(vyv239, vyv238, bf) 248.92/165.27 new_primMulNat1(Succ(vyv18300)) -> new_primPlusNat0(new_primMulNat2(vyv18300), Succ(vyv18300)) 248.92/165.27 new_sr3(vyv249, ty_Float) -> new_sr10(vyv249) 248.92/165.27 new_ms(vyv228, Pos(Succ(vyv24400))) -> new_primMinusNat0(vyv228, vyv24400) 248.92/165.27 new_primDivNatS02(vyv310, vyv311, Zero, Zero) -> new_primDivNatS01(vyv310, vyv311) 248.92/165.27 new_primMinusNatS1 -> Zero 248.92/165.27 new_sr4(vyv239, vyv238, ty_Integer) -> new_sr8(vyv239, vyv238) 248.92/165.27 new_primMinusNatS2(Succ(vyv3100), Zero) -> Succ(vyv3100) 248.92/165.27 new_sr0(vyv183, ty_Double) -> new_sr9(vyv183) 248.92/165.27 new_sr0(vyv183, ty_Int) -> new_sr6(vyv183) 248.92/165.27 new_primPlusNat0(Succ(vyv4000), Succ(vyv5000)) -> Succ(Succ(new_primPlusNat0(vyv4000, vyv5000))) 248.92/165.27 new_sr7(vyv183) -> error([]) 248.92/165.27 new_sr5(:%(vyv1830, vyv1831), bd) -> new_reduce2Reduce1(vyv1830, vyv1830, vyv1831, vyv1831, new_esEs0(vyv1831, bd), bd) 248.92/165.27 new_sr14(Pos(vyv2390), Neg(vyv2380)) -> Neg(new_primMulNat0(vyv2390, vyv2380)) 248.92/165.27 new_sr14(Neg(vyv2390), Pos(vyv2380)) -> Neg(new_primMulNat0(vyv2390, vyv2380)) 248.92/165.27 new_sr0(vyv183, ty_Integer) -> new_sr7(vyv183) 248.92/165.27 new_primMulNat2(Succ(vyv183000)) -> new_primPlusNat0(new_primMulNat3(vyv183000), Succ(Succ(vyv183000))) 248.92/165.27 new_sr14(Neg(vyv2390), Neg(vyv2380)) -> Pos(new_primMulNat0(vyv2390, vyv2380)) 248.92/165.27 new_gcd1(False, vyv272, vyv271) -> new_gcd0(vyv272, vyv271) 248.92/165.27 new_sr4(vyv239, vyv238, ty_Int) -> new_sr14(vyv239, vyv238) 248.92/165.27 new_primDivNatS1(Succ(Zero), Succ(vyv284000)) -> Zero 248.92/165.27 new_primMulNat4(Succ(vyv18300000)) -> new_primPlusNat0(new_primMulNat0(vyv18300000, Succ(Succ(Succ(Succ(vyv18300000))))), Succ(Succ(Succ(Succ(vyv18300000))))) 248.92/165.27 new_primModNatS01(vyv330, vyv331, Zero, Succ(vyv3330)) -> Succ(Succ(vyv330)) 248.92/165.27 new_primModNatS1(Succ(Succ(vyv292000)), Succ(vyv291000)) -> new_primModNatS01(vyv292000, vyv291000, vyv292000, vyv291000) 248.92/165.27 new_primDivNatS02(vyv310, vyv311, Succ(vyv3120), Zero) -> new_primDivNatS01(vyv310, vyv311) 248.92/165.27 new_primDivNatS01(vyv310, vyv311) -> Succ(new_primDivNatS1(new_primMinusNatS2(vyv310, vyv311), Succ(vyv311))) 248.92/165.27 new_primDivNatS02(vyv310, vyv311, Zero, Succ(vyv3130)) -> Zero 248.92/165.27 new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) 248.92/165.27 new_esEs(Pos(Succ(vyv24100))) -> new_primEqInt(Pos(Succ(vyv24100))) 248.92/165.27 new_ms(vyv228, Pos(Zero)) -> Pos(Succ(vyv228)) 248.92/165.27 new_primMinusNat0(Zero, Zero) -> Pos(Zero) 248.92/165.27 new_sr1(vyv227, ty_Float) -> new_sr10(vyv227) 248.92/165.27 new_sr2(vyv227, vyv226, ty_Integer) -> new_sr8(vyv227, vyv226) 248.92/165.27 new_sr10(vyv183) -> error([]) 248.92/165.27 new_rem(Pos(vyv2920), Neg(Zero)) -> new_error 248.92/165.27 new_rem(Neg(vyv2920), Pos(Zero)) -> new_error 248.92/165.27 new_primModNatS01(vyv330, vyv331, Zero, Zero) -> new_primModNatS02(vyv330, vyv331) 248.92/165.27 new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) 248.92/165.27 new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Zero) -> new_primModNatS02(vyv330, vyv331) 248.92/165.27 new_primModNatS02(vyv330, vyv331) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv330), Succ(vyv331)), Succ(vyv331)) 248.92/165.27 new_reduce2Reduce1(vyv264, vyv265, vyv266, vyv267, False, bh) -> :%(new_quot1(vyv264, vyv265, vyv266, vyv267, bh), new_quot2(vyv266, vyv267, vyv264, vyv265, bh)) 248.92/165.27 new_rem(Pos(vyv2920), Neg(Succ(vyv29100))) -> Pos(new_primModNatS1(vyv2920, vyv29100)) 248.92/165.27 new_primDivNatS02(vyv310, vyv311, Succ(vyv3120), Succ(vyv3130)) -> new_primDivNatS02(vyv310, vyv311, vyv3120, vyv3130) 248.92/165.27 new_primMulNat0(Succ(vyv23900), Zero) -> Zero 248.92/165.27 new_primMulNat0(Zero, Succ(vyv23800)) -> Zero 248.92/165.27 new_primQuotInt0(vyv2700, Neg(Zero)) -> new_error 248.92/165.27 new_quot0(Neg(vyv2700), vyv272, vyv271) -> new_primQuotInt0(vyv2700, new_gcd(vyv272, vyv271)) 248.92/165.27 new_primQuotInt(vyv2700, Neg(Zero)) -> new_error 248.92/165.27 new_sr13(vyv239, vyv238) -> error([]) 248.92/165.27 new_rem(Neg(vyv2920), Pos(Succ(vyv29100))) -> Neg(new_primModNatS1(vyv2920, vyv29100)) 248.92/165.27 new_sr4(vyv239, vyv238, ty_Double) -> new_sr11(vyv239, vyv238) 248.92/165.27 new_primMulNat4(Zero) -> Zero 248.92/165.27 new_quot1(vyv264, vyv265, vyv266, vyv267, ty_Int) -> new_quot0(new_sr14(vyv264, vyv265), new_sr14(vyv264, vyv265), new_sr14(vyv266, vyv267)) 248.92/165.27 new_sr9(vyv183) -> error([]) 248.92/165.27 new_gcd0Gcd'10(False, vyv272, vyv271) -> new_gcd0Gcd'00(new_abs(vyv272), new_abs(vyv271)) 248.92/165.27 new_primPlusNat0(Succ(vyv4000), Zero) -> Succ(vyv4000) 248.92/165.27 new_primPlusNat0(Zero, Succ(vyv5000)) -> Succ(vyv5000) 248.92/165.27 new_primMulNat0(Zero, Zero) -> Zero 248.92/165.27 new_primQuotInt(vyv2700, Pos(Succ(vyv28400))) -> Pos(new_primDivNatS1(vyv2700, vyv28400)) 248.92/165.27 new_sr3(vyv249, ty_Double) -> new_sr9(vyv249) 248.92/165.27 new_primMulNat3(Succ(vyv1830000)) -> new_primPlusNat0(new_primMulNat4(vyv1830000), Succ(Succ(Succ(vyv1830000)))) 248.92/165.27 new_esEs(Neg(Succ(vyv24100))) -> new_primEqInt(Neg(Succ(vyv24100))) 248.92/165.27 new_esEs1(Integer(vyv2690)) -> new_primEqInt(vyv2690) 248.92/165.27 new_primMulNat0(Succ(vyv23900), Succ(vyv23800)) -> new_primPlusNat0(new_primMulNat0(vyv23900, Succ(vyv23800)), Succ(vyv23800)) 248.92/165.27 new_quot0(Pos(vyv2700), vyv272, vyv271) -> new_primQuotInt(vyv2700, new_gcd(vyv272, vyv271)) 248.92/165.27 new_sr6(Neg(vyv1830)) -> Pos(new_primMulNat1(vyv1830)) 248.92/165.27 new_primQuotInt(vyv2700, Pos(Zero)) -> new_error 248.92/165.27 new_rem(Pos(vyv2920), Pos(Succ(vyv29100))) -> Pos(new_primModNatS1(vyv2920, vyv29100)) 248.92/165.27 new_abs(Pos(Succ(vyv27100))) -> Pos(Succ(vyv27100)) 248.92/165.27 new_primEqInt(Pos(Zero)) -> True 248.92/165.27 new_primMulNat1(Zero) -> Zero 248.92/165.27 new_quot1(vyv264, vyv265, vyv266, vyv267, ty_Integer) -> new_quot(new_sr8(vyv264, vyv265), new_sr8(vyv264, vyv265), new_sr8(vyv266, vyv267)) 248.92/165.27 new_gcd(vyv272, vyv271) -> new_gcd2(new_esEs(vyv272), vyv272, vyv271) 248.92/165.27 new_rem(Neg(vyv2920), Neg(Zero)) -> new_error 248.92/165.27 new_sr2(vyv227, vyv226, ty_Float) -> new_sr13(vyv227, vyv226) 248.92/165.27 new_gcd2(True, vyv272, vyv271) -> new_gcd1(new_esEs(vyv271), vyv272, vyv271) 248.92/165.27 new_primMinusNat0(Zero, Succ(vyv244000)) -> Neg(Succ(vyv244000)) 248.92/165.27 new_primQuotInt0(vyv2700, Pos(Succ(vyv28700))) -> Neg(new_primDivNatS1(vyv2700, vyv28700)) 248.92/165.27 new_ms0(vyv240, Neg(Zero)) -> Neg(Succ(vyv240)) 248.92/165.27 new_gcd0Gcd'00(vyv292, vyv291) -> new_gcd0Gcd'11(new_esEs(new_rem(vyv292, vyv291)), vyv291, vyv292) 248.92/165.27 new_fromInt -> Pos(Succ(Zero)) 248.92/165.27 new_sr6(Pos(vyv1830)) -> Pos(new_primMulNat1(vyv1830)) 248.92/165.27 new_abs(Pos(Zero)) -> Pos(Zero) 248.92/165.27 new_primMulNat2(Zero) -> Zero 248.92/165.27 new_sr12(:%(vyv2390, vyv2391), :%(vyv2380, vyv2381), bf) -> new_reduce2Reduce1(vyv2390, vyv2380, vyv2391, vyv2381, new_esEs2(vyv2391, vyv2381, bf), bf) 248.92/165.27 new_primMinusNat0(Succ(vyv2280), Zero) -> Pos(Succ(vyv2280)) 248.92/165.27 new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Succ(vyv3330)) -> new_primModNatS01(vyv330, vyv331, vyv3320, vyv3330) 248.92/165.27 new_quot(vyv273, vyv275, vyv274) -> error([]) 248.92/165.27 new_sr3(vyv249, ty_Int) -> new_sr6(vyv249) 248.92/165.27 new_primModNatS1(Succ(Succ(vyv292000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv292000), Zero) 248.92/165.27 new_reduce2Reduce1(vyv264, vyv265, vyv266, vyv267, True, bh) -> error([]) 248.92/165.27 new_primModNatS1(Succ(Zero), Succ(vyv291000)) -> Succ(Zero) 248.92/165.27 new_primDivNatS1(Succ(Succ(vyv270000)), Succ(vyv284000)) -> new_primDivNatS02(vyv270000, vyv284000, vyv270000, vyv284000) 248.92/165.27 new_primMinusNatS2(Zero, Zero) -> Zero 248.92/165.27 new_sr0(vyv183, ty_Float) -> new_sr10(vyv183) 248.92/165.27 new_primEqInt(Neg(Zero)) -> True 248.92/165.27 new_primQuotInt(vyv2700, Neg(Succ(vyv28400))) -> Neg(new_primDivNatS1(vyv2700, vyv28400)) 248.92/165.27 new_quot2(vyv266, vyv267, vyv264, vyv265, ty_Integer) -> new_quot(new_sr8(vyv266, vyv267), new_sr8(vyv264, vyv265), new_sr8(vyv266, vyv267)) 248.92/165.27 new_primMinusNatS2(Succ(vyv3100), Succ(vyv3110)) -> new_primMinusNatS2(vyv3100, vyv3110) 248.92/165.27 new_esEs0(vyv1831, ty_Integer) -> new_esEs1(new_sr7(vyv1831)) 248.92/165.27 new_primMinusNatS0(vyv270000) -> Succ(vyv270000) 248.92/165.27 new_primMulNat3(Zero) -> Zero 248.92/165.27 new_ms0(vyv240, Pos(vyv2430)) -> Neg(new_primPlusNat0(Succ(vyv240), vyv2430)) 248.92/165.27 new_primQuotInt0(vyv2700, Neg(Succ(vyv28700))) -> Pos(new_primDivNatS1(vyv2700, vyv28700)) 248.92/165.27 new_sr2(vyv227, vyv226, app(ty_Ratio, be)) -> new_sr12(vyv227, vyv226, be) 248.92/165.27 new_sr1(vyv227, ty_Double) -> new_sr9(vyv227) 248.92/165.27 new_rem(Neg(vyv2920), Neg(Succ(vyv29100))) -> Neg(new_primModNatS1(vyv2920, vyv29100)) 248.92/165.27 new_sr3(vyv249, ty_Integer) -> new_sr7(vyv249) 248.92/165.27 new_primModNatS1(Zero, vyv29100) -> Zero 248.92/165.27 new_sr(vyv183, ty_Double) -> new_sr9(vyv183) 248.92/165.27 new_primDivNatS1(Succ(Zero), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS1, Zero)) 248.92/165.27 new_sr3(vyv249, app(ty_Ratio, bg)) -> new_sr5(vyv249, bg) 248.92/165.27 new_error -> error([]) 248.92/165.27 new_primEqInt(Neg(Succ(vyv242000))) -> False 248.92/165.27 new_fromInt0 -> Pos(Succ(Succ(Zero))) 248.92/165.27 new_gcd2(False, vyv272, vyv271) -> new_gcd0(vyv272, vyv271) 248.92/165.27 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 248.92/165.27 new_sr14(Pos(vyv2390), Pos(vyv2380)) -> Pos(new_primMulNat0(vyv2390, vyv2380)) 248.92/165.27 new_ms0(vyv240, Neg(Succ(vyv24300))) -> new_primMinusNat0(vyv24300, vyv240) 248.92/165.27 new_sr0(vyv183, app(ty_Ratio, bd)) -> new_sr5(vyv183, bd) 248.92/165.27 new_gcd0(vyv272, vyv271) -> new_gcd0Gcd'10(new_esEs(new_abs(vyv271)), vyv272, vyv271) 248.92/165.27 new_primQuotInt0(vyv2700, Pos(Zero)) -> new_error 248.92/165.27 new_sr4(vyv239, vyv238, ty_Float) -> new_sr13(vyv239, vyv238) 248.92/165.27 new_esEs2(vyv2391, vyv2381, ty_Integer) -> new_esEs1(new_sr8(vyv2391, vyv2381)) 248.92/165.27 new_gcd0Gcd'11(False, vyv291, vyv292) -> new_gcd0Gcd'00(vyv291, new_rem(vyv292, vyv291)) 248.92/165.27 new_rem(Pos(vyv2920), Pos(Zero)) -> new_error 248.92/165.27 248.92/165.27 The set Q consists of the following terms: 248.92/165.27 248.92/165.27 new_rem(Pos(x0), Pos(Succ(x1))) 248.92/165.27 new_quot1(x0, x1, x2, x3, ty_Integer) 248.92/165.27 new_primModNatS1(Succ(Zero), Succ(x0)) 248.92/165.27 new_ms0(x0, Pos(x1)) 248.92/165.27 new_sr(x0, app(ty_Ratio, x1)) 248.92/165.27 new_primMulNat4(Zero) 248.92/165.27 new_gcd1(False, x0, x1) 248.92/165.27 new_primEqInt(Pos(Zero)) 248.92/165.27 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 248.92/165.27 new_rem(Pos(x0), Neg(Succ(x1))) 248.92/165.27 new_rem(Neg(x0), Pos(Succ(x1))) 248.92/165.27 new_sr10(x0) 248.92/165.27 new_quot1(x0, x1, x2, x3, ty_Int) 248.92/165.27 new_sr0(x0, app(ty_Ratio, x1)) 248.92/165.27 new_quot2(x0, x1, x2, x3, ty_Integer) 248.92/165.27 new_primModNatS01(x0, x1, Succ(x2), Zero) 248.92/165.27 new_sr3(x0, ty_Integer) 248.92/165.27 new_primMulNat3(Zero) 248.92/165.27 new_primDivNatS02(x0, x1, Succ(x2), Zero) 248.92/165.27 new_sr(x0, ty_Float) 248.92/165.27 new_quot2(x0, x1, x2, x3, ty_Int) 248.92/165.27 new_gcd2(False, x0, x1) 248.92/165.27 new_primDivNatS1(Succ(Zero), Zero) 248.92/165.27 new_sr0(x0, ty_Double) 248.92/165.27 new_esEs0(x0, ty_Int) 248.92/165.27 new_sr14(Pos(x0), Pos(x1)) 248.92/165.27 new_sr3(x0, ty_Int) 248.92/165.27 new_primMulNat0(Zero, Zero) 248.92/165.27 new_sr4(x0, x1, ty_Double) 248.92/165.27 new_primPlusNat0(Succ(x0), Zero) 248.92/165.27 new_fromInt0 248.92/165.27 new_fromInt 248.92/165.27 new_primMulNat2(Zero) 248.92/165.27 new_sr11(x0, x1) 248.92/165.27 new_primModNatS01(x0, x1, Zero, Zero) 248.92/165.27 new_esEs2(x0, x1, ty_Int) 248.92/165.27 new_gcd1(True, x0, x1) 248.92/165.27 new_sr13(x0, x1) 248.92/165.27 new_sr14(Pos(x0), Neg(x1)) 248.92/165.27 new_sr14(Neg(x0), Pos(x1)) 248.92/165.27 new_primDivNatS1(Succ(Succ(x0)), Succ(x1)) 248.92/165.27 new_sr1(x0, ty_Int) 248.92/165.27 new_primModNatS1(Zero, x0) 248.92/165.27 new_esEs(Pos(Succ(x0))) 248.92/165.27 new_primMulNat3(Succ(x0)) 248.92/165.27 new_sr1(x0, app(ty_Ratio, x1)) 248.92/165.27 new_primQuotInt(x0, Neg(Succ(x1))) 248.92/165.27 new_reduce2Reduce1(x0, x1, x2, x3, False, x4) 248.92/165.27 new_primMinusNat0(Zero, Zero) 248.92/165.27 new_primDivNatS1(Zero, x0) 248.92/165.27 new_primDivNatS02(x0, x1, Succ(x2), Succ(x3)) 248.92/165.27 new_primModNatS02(x0, x1) 248.92/165.27 new_primDivNatS1(Succ(Zero), Succ(x0)) 248.92/165.27 new_sr6(Neg(x0)) 248.92/165.27 new_gcd0Gcd'10(True, x0, x1) 248.92/165.27 new_primMulNat0(Succ(x0), Succ(x1)) 248.92/165.27 new_abs(Neg(Zero)) 248.92/165.27 new_ms(x0, Neg(x1)) 248.92/165.27 new_rem(Pos(x0), Neg(Zero)) 248.92/165.27 new_rem(Neg(x0), Pos(Zero)) 248.92/165.27 new_primMinusNatS2(Zero, Succ(x0)) 248.92/165.27 new_esEs(Neg(Succ(x0))) 248.92/165.27 new_error 248.92/165.27 new_primModNatS1(Succ(Zero), Zero) 248.92/165.27 new_primMulNat0(Zero, Succ(x0)) 248.92/165.27 new_sr3(x0, ty_Float) 248.92/165.27 new_quot(x0, x1, x2) 248.92/165.27 new_gcd2(True, x0, x1) 248.92/165.27 new_gcd0Gcd'11(True, x0, x1) 248.92/165.27 new_primEqInt(Neg(Zero)) 248.92/165.27 new_sr2(x0, x1, ty_Double) 248.92/165.27 new_primMulNat0(Succ(x0), Zero) 248.92/165.27 new_quot0(Neg(x0), x1, x2) 248.92/165.27 new_primMinusNatS2(Succ(x0), Succ(x1)) 248.92/165.27 new_sr4(x0, x1, app(ty_Ratio, x2)) 248.92/165.27 new_sr8(x0, x1) 248.92/165.27 new_primDivNatS01(x0, x1) 248.92/165.27 new_primDivNatS02(x0, x1, Zero, Succ(x2)) 248.92/165.27 new_primPlusNat0(Succ(x0), Succ(x1)) 248.92/165.27 new_sr1(x0, ty_Integer) 248.92/165.27 new_primPlusNat0(Zero, Zero) 248.92/165.27 new_sr1(x0, ty_Float) 248.92/165.27 new_primMinusNat0(Succ(x0), Succ(x1)) 248.92/165.27 new_sr12(:%(x0, x1), :%(x2, x3), x4) 248.92/165.27 new_abs(Neg(Succ(x0))) 248.92/165.27 new_sr1(x0, ty_Double) 248.92/165.27 new_sr3(x0, app(ty_Ratio, x1)) 248.92/165.27 new_sr7(x0) 248.92/165.27 new_gcd0(x0, x1) 248.92/165.27 new_sr(x0, ty_Integer) 248.92/165.27 new_sr0(x0, ty_Int) 248.92/165.27 new_primQuotInt0(x0, Pos(Succ(x1))) 248.92/165.27 new_sr4(x0, x1, ty_Integer) 248.92/165.27 new_sr5(:%(x0, x1), x2) 248.92/165.27 new_primMinusNatS2(Zero, Zero) 248.92/165.27 new_primMulNat1(Succ(x0)) 248.92/165.27 new_sr0(x0, ty_Integer) 248.92/165.27 new_ms(x0, Pos(Zero)) 248.92/165.27 new_abs(Pos(Succ(x0))) 248.92/165.27 new_sr4(x0, x1, ty_Int) 248.92/165.27 new_esEs(Pos(Zero)) 248.92/165.27 new_primQuotInt0(x0, Pos(Zero)) 248.92/165.27 new_sr(x0, ty_Int) 248.92/165.27 new_primEqInt(Neg(Succ(x0))) 248.92/165.27 new_primQuotInt(x0, Neg(Zero)) 248.92/165.27 new_primQuotInt0(x0, Neg(Zero)) 248.92/165.27 new_primQuotInt0(x0, Neg(Succ(x1))) 248.92/165.27 new_gcd(x0, x1) 248.92/165.27 new_quot0(Pos(x0), x1, x2) 248.92/165.27 new_primMinusNatS0(x0) 248.92/165.27 new_primPlusNat0(Zero, Succ(x0)) 248.92/165.27 new_sr2(x0, x1, app(ty_Ratio, x2)) 248.92/165.27 new_sr2(x0, x1, ty_Int) 248.92/165.27 new_primQuotInt(x0, Pos(Succ(x1))) 248.92/165.27 new_primDivNatS1(Succ(Succ(x0)), Zero) 248.92/165.27 new_rem(Pos(x0), Pos(Zero)) 248.92/165.27 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 248.92/165.27 new_primDivNatS02(x0, x1, Zero, Zero) 248.92/165.27 new_abs(Pos(Zero)) 248.92/165.27 new_gcd0Gcd'10(False, x0, x1) 248.92/165.27 new_ms(x0, Pos(Succ(x1))) 248.92/165.27 new_primMinusNatS1 248.92/165.27 new_esEs1(Integer(x0)) 248.92/165.27 new_ms0(x0, Neg(Zero)) 248.92/165.27 new_primMinusNat0(Succ(x0), Zero) 248.92/165.27 new_ms0(x0, Neg(Succ(x1))) 248.92/165.27 new_sr2(x0, x1, ty_Integer) 248.92/165.27 new_primModNatS01(x0, x1, Zero, Succ(x2)) 248.92/165.27 new_primMulNat2(Succ(x0)) 248.92/165.27 new_sr0(x0, ty_Float) 248.92/165.27 new_sr14(Neg(x0), Neg(x1)) 248.92/165.27 new_sr2(x0, x1, ty_Float) 248.92/165.27 new_primMinusNatS2(Succ(x0), Zero) 248.92/165.27 new_sr4(x0, x1, ty_Float) 248.92/165.27 new_sr6(Pos(x0)) 248.92/165.27 new_esEs2(x0, x1, ty_Integer) 248.92/165.27 new_primMulNat4(Succ(x0)) 248.92/165.27 new_rem(Neg(x0), Neg(Succ(x1))) 248.92/165.27 new_primEqInt(Pos(Succ(x0))) 248.92/165.27 new_primQuotInt(x0, Pos(Zero)) 248.92/165.27 new_gcd0Gcd'11(False, x0, x1) 248.92/165.27 new_sr9(x0) 248.92/165.27 new_primModNatS1(Succ(Succ(x0)), Zero) 248.92/165.27 new_sr(x0, ty_Double) 248.92/165.27 new_esEs0(x0, ty_Integer) 248.92/165.27 new_gcd0Gcd'00(x0, x1) 248.92/165.27 new_reduce2Reduce1(x0, x1, x2, x3, True, x4) 248.92/165.27 new_sr3(x0, ty_Double) 248.92/165.27 new_esEs(Neg(Zero)) 248.92/165.27 new_primMulNat1(Zero) 248.92/165.27 new_primMinusNat0(Zero, Succ(x0)) 248.92/165.27 new_rem(Neg(x0), Neg(Zero)) 248.92/165.27 248.92/165.27 We have to consider all minimal (P,Q,R)-chains. 248.92/165.27 ---------------------------------------- 248.92/165.27 248.92/165.27 (713) TransformationProof (EQUIVALENT) 248.92/165.27 By rewriting [LPAR04] the rule new_pr2F0G(vyv187, vyv183, Neg(Zero), h) -> new_pr2F0G(vyv187, new_sr0(vyv183, h), new_primQuotInt0(Zero, new_fromInt0), h) at position [2,1] we obtained the following new rules [LPAR04]: 248.92/165.27 248.92/165.27 (new_pr2F0G(vyv187, vyv183, Neg(Zero), h) -> new_pr2F0G(vyv187, new_sr0(vyv183, h), new_primQuotInt0(Zero, Pos(Succ(Succ(Zero)))), h),new_pr2F0G(vyv187, vyv183, Neg(Zero), h) -> new_pr2F0G(vyv187, new_sr0(vyv183, h), new_primQuotInt0(Zero, Pos(Succ(Succ(Zero)))), h)) 248.92/165.27 248.92/165.27 248.92/165.27 ---------------------------------------- 248.92/165.27 248.92/165.27 (714) 248.92/165.27 Obligation: 248.92/165.27 Q DP problem: 248.92/165.27 The TRS P consists of the following rules: 248.92/165.27 248.92/165.27 new_pr2F0G10(vyv248, vyv249, vyv250, Succ(Succ(vyv25100)), bb) -> new_pr2F0G10(vyv248, vyv249, vyv250, vyv25100, bb) 248.92/165.27 new_pr2F0G(vyv187, vyv183, Neg(Succ(Zero)), h) -> new_pr2F0G11(vyv187, vyv183, Zero, h) 248.92/165.27 new_pr2F0G10(vyv248, vyv249, vyv250, Zero, bb) -> new_pr2F0G(vyv248, new_sr3(vyv249, bb), new_primQuotInt0(Succ(vyv250), new_fromInt0), bb) 248.92/165.27 new_pr2F0G(vyv187, vyv183, Pos(Succ(Succ(vyv222000))), h) -> new_pr2F0G1(vyv187, vyv183, Succ(vyv222000), vyv222000, h) 248.92/165.27 new_pr2F0(vyv183, Pos(Succ(Zero)), vyv187, h) -> new_pr2F(vyv183, Zero, new_fromInt, vyv187, h) 248.92/165.27 new_pr2F0G1(vyv226, vyv227, vyv228, Succ(Zero), ba) -> new_pr2F(vyv227, vyv228, new_fromInt, vyv226, ba) 248.92/165.27 new_pr2F0(vyv183, Neg(Succ(Succ(vyv222000))), vyv187, h) -> new_pr2F0G10(vyv187, vyv183, Succ(vyv222000), vyv222000, h) 248.92/165.27 new_pr2F0(vyv183, Neg(Succ(Zero)), vyv187, h) -> new_pr2F0G11(vyv187, vyv183, Zero, h) 248.92/165.27 new_pr2F0G10(vyv248, vyv249, vyv250, Succ(Zero), bb) -> new_pr2F0G11(vyv248, vyv249, vyv250, bb) 248.92/165.27 new_pr2F0G(vyv187, vyv183, Pos(Succ(Zero)), h) -> new_pr2F(vyv183, Zero, new_fromInt, vyv187, h) 248.92/165.27 new_pr2F0G(vyv187, vyv183, Pos(Zero), h) -> new_pr2F0G(vyv187, new_sr(vyv183, h), new_primQuotInt(Zero, new_fromInt0), h) 248.92/165.27 new_pr2F0G(vyv187, vyv183, Neg(Succ(Succ(vyv222000))), h) -> new_pr2F0G10(vyv187, vyv183, Succ(vyv222000), vyv222000, h) 248.92/165.27 new_pr2F3(False, vyv227, vyv228, vyv244, vyv226, ba) -> new_pr2F0(vyv227, new_ms(vyv228, vyv244), new_sr2(vyv227, vyv226, ba), ba) 248.92/165.27 new_pr2F0(vyv183, Pos(Succ(Succ(vyv222000))), vyv187, h) -> new_pr2F0G1(vyv187, vyv183, Succ(vyv222000), vyv222000, h) 248.92/165.27 new_pr2F0G1(vyv226, vyv227, vyv228, Zero, ba) -> new_pr2F0G(vyv226, new_sr1(vyv227, ba), new_primQuotInt(Succ(vyv228), new_fromInt0), ba) 248.92/165.27 new_pr2F1(vyv239, vyv240, vyv243, vyv238, bc) -> new_pr2F30(new_esEs(new_ms0(vyv240, vyv243)), vyv239, vyv240, vyv243, vyv238, bc) 248.92/165.27 new_pr2F(vyv227, vyv228, vyv244, vyv226, ba) -> new_pr2F3(new_esEs(new_ms(vyv228, vyv244)), vyv227, vyv228, vyv244, vyv226, ba) 248.92/165.27 new_pr2F0G1(vyv226, vyv227, vyv228, Succ(Succ(vyv22900)), ba) -> new_pr2F0G1(vyv226, vyv227, vyv228, vyv22900, ba) 248.92/165.27 new_pr2F30(False, vyv239, vyv240, vyv243, vyv238, bc) -> new_pr2F0(vyv239, new_ms0(vyv240, vyv243), new_sr4(vyv239, vyv238, bc), bc) 248.92/165.27 new_pr2F0(vyv183, Pos(Zero), vyv187, h) -> new_pr2F0G(vyv187, new_sr(vyv183, h), new_primQuotInt(Zero, new_fromInt0), h) 248.92/165.27 new_pr2F0(vyv183, Neg(Zero), vyv187, h) -> new_pr2F0G(vyv187, new_sr0(vyv183, h), new_primQuotInt0(Zero, Pos(Succ(Succ(Zero)))), h) 248.92/165.27 new_pr2F0G11(vyv238, vyv239, vyv240, bc) -> new_pr2F1(vyv239, vyv240, Pos(Succ(Zero)), vyv238, bc) 248.92/165.27 new_pr2F0G(vyv187, vyv183, Neg(Zero), h) -> new_pr2F0G(vyv187, new_sr0(vyv183, h), new_primQuotInt0(Zero, Pos(Succ(Succ(Zero)))), h) 248.92/165.27 248.92/165.27 The TRS R consists of the following rules: 248.92/165.27 248.92/165.27 new_sr2(vyv227, vyv226, ty_Int) -> new_sr14(vyv227, vyv226) 248.92/165.27 new_quot2(vyv266, vyv267, vyv264, vyv265, ty_Int) -> new_quot0(new_sr14(vyv266, vyv267), new_sr14(vyv264, vyv265), new_sr14(vyv266, vyv267)) 248.92/165.27 new_sr(vyv183, ty_Int) -> new_sr6(vyv183) 248.92/165.27 new_sr11(vyv239, vyv238) -> error([]) 248.92/165.27 new_primPlusNat0(Zero, Zero) -> Zero 248.92/165.27 new_sr1(vyv227, ty_Int) -> new_sr6(vyv227) 248.92/165.27 new_abs(Neg(Zero)) -> Neg(Zero) 248.92/165.27 new_esEs2(vyv2391, vyv2381, ty_Int) -> new_esEs(new_sr14(vyv2391, vyv2381)) 248.92/165.27 new_gcd0Gcd'10(True, vyv272, vyv271) -> new_abs(vyv272) 248.92/165.27 new_sr8(vyv239, vyv238) -> error([]) 248.92/165.27 new_sr1(vyv227, ty_Integer) -> new_sr7(vyv227) 248.92/165.27 new_primDivNatS1(Zero, vyv28400) -> Zero 248.92/165.27 new_sr(vyv183, app(ty_Ratio, bd)) -> new_sr5(vyv183, bd) 248.92/165.27 new_primDivNatS1(Succ(Succ(vyv270000)), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS0(vyv270000), Zero)) 248.92/165.27 new_sr(vyv183, ty_Integer) -> new_sr7(vyv183) 248.92/165.27 new_gcd0Gcd'11(True, vyv291, vyv292) -> vyv291 248.92/165.27 new_primMinusNatS2(Zero, Succ(vyv3110)) -> Zero 248.92/165.27 new_primMinusNat0(Succ(vyv2280), Succ(vyv244000)) -> new_primMinusNat0(vyv2280, vyv244000) 248.92/165.27 new_sr1(vyv227, app(ty_Ratio, be)) -> new_sr5(vyv227, be) 248.92/165.27 new_esEs0(vyv1831, ty_Int) -> new_esEs(new_sr6(vyv1831)) 248.92/165.27 new_primEqInt(Pos(Succ(vyv242000))) -> False 248.92/165.27 new_ms(vyv228, Neg(vyv2440)) -> Pos(new_primPlusNat0(Succ(vyv228), vyv2440)) 248.92/165.27 new_sr(vyv183, ty_Float) -> new_sr10(vyv183) 248.92/165.27 new_sr2(vyv227, vyv226, ty_Double) -> new_sr11(vyv227, vyv226) 248.92/165.27 new_abs(Neg(Succ(vyv27100))) -> Pos(Succ(vyv27100)) 248.92/165.27 new_gcd1(True, vyv272, vyv271) -> new_error 248.92/165.27 new_sr4(vyv239, vyv238, app(ty_Ratio, bf)) -> new_sr12(vyv239, vyv238, bf) 248.92/165.27 new_primMulNat1(Succ(vyv18300)) -> new_primPlusNat0(new_primMulNat2(vyv18300), Succ(vyv18300)) 248.92/165.27 new_sr3(vyv249, ty_Float) -> new_sr10(vyv249) 248.92/165.27 new_ms(vyv228, Pos(Succ(vyv24400))) -> new_primMinusNat0(vyv228, vyv24400) 248.92/165.27 new_primDivNatS02(vyv310, vyv311, Zero, Zero) -> new_primDivNatS01(vyv310, vyv311) 248.92/165.27 new_primMinusNatS1 -> Zero 248.92/165.27 new_sr4(vyv239, vyv238, ty_Integer) -> new_sr8(vyv239, vyv238) 248.92/165.27 new_primMinusNatS2(Succ(vyv3100), Zero) -> Succ(vyv3100) 248.92/165.27 new_sr0(vyv183, ty_Double) -> new_sr9(vyv183) 248.92/165.27 new_sr0(vyv183, ty_Int) -> new_sr6(vyv183) 248.92/165.27 new_primPlusNat0(Succ(vyv4000), Succ(vyv5000)) -> Succ(Succ(new_primPlusNat0(vyv4000, vyv5000))) 248.92/165.27 new_sr7(vyv183) -> error([]) 248.92/165.27 new_sr5(:%(vyv1830, vyv1831), bd) -> new_reduce2Reduce1(vyv1830, vyv1830, vyv1831, vyv1831, new_esEs0(vyv1831, bd), bd) 248.92/165.27 new_sr14(Pos(vyv2390), Neg(vyv2380)) -> Neg(new_primMulNat0(vyv2390, vyv2380)) 248.92/165.27 new_sr14(Neg(vyv2390), Pos(vyv2380)) -> Neg(new_primMulNat0(vyv2390, vyv2380)) 248.92/165.27 new_sr0(vyv183, ty_Integer) -> new_sr7(vyv183) 248.92/165.27 new_primMulNat2(Succ(vyv183000)) -> new_primPlusNat0(new_primMulNat3(vyv183000), Succ(Succ(vyv183000))) 248.92/165.27 new_sr14(Neg(vyv2390), Neg(vyv2380)) -> Pos(new_primMulNat0(vyv2390, vyv2380)) 248.92/165.27 new_gcd1(False, vyv272, vyv271) -> new_gcd0(vyv272, vyv271) 248.92/165.27 new_sr4(vyv239, vyv238, ty_Int) -> new_sr14(vyv239, vyv238) 248.92/165.27 new_primDivNatS1(Succ(Zero), Succ(vyv284000)) -> Zero 248.92/165.27 new_primMulNat4(Succ(vyv18300000)) -> new_primPlusNat0(new_primMulNat0(vyv18300000, Succ(Succ(Succ(Succ(vyv18300000))))), Succ(Succ(Succ(Succ(vyv18300000))))) 248.92/165.27 new_primModNatS01(vyv330, vyv331, Zero, Succ(vyv3330)) -> Succ(Succ(vyv330)) 248.92/165.27 new_primModNatS1(Succ(Succ(vyv292000)), Succ(vyv291000)) -> new_primModNatS01(vyv292000, vyv291000, vyv292000, vyv291000) 248.92/165.27 new_primDivNatS02(vyv310, vyv311, Succ(vyv3120), Zero) -> new_primDivNatS01(vyv310, vyv311) 248.92/165.27 new_primDivNatS01(vyv310, vyv311) -> Succ(new_primDivNatS1(new_primMinusNatS2(vyv310, vyv311), Succ(vyv311))) 248.92/165.27 new_primDivNatS02(vyv310, vyv311, Zero, Succ(vyv3130)) -> Zero 248.92/165.27 new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) 248.92/165.27 new_esEs(Pos(Succ(vyv24100))) -> new_primEqInt(Pos(Succ(vyv24100))) 248.92/165.27 new_ms(vyv228, Pos(Zero)) -> Pos(Succ(vyv228)) 248.92/165.27 new_primMinusNat0(Zero, Zero) -> Pos(Zero) 248.92/165.27 new_sr1(vyv227, ty_Float) -> new_sr10(vyv227) 248.92/165.27 new_sr2(vyv227, vyv226, ty_Integer) -> new_sr8(vyv227, vyv226) 248.92/165.27 new_sr10(vyv183) -> error([]) 248.92/165.27 new_rem(Pos(vyv2920), Neg(Zero)) -> new_error 248.92/165.27 new_rem(Neg(vyv2920), Pos(Zero)) -> new_error 248.92/165.27 new_primModNatS01(vyv330, vyv331, Zero, Zero) -> new_primModNatS02(vyv330, vyv331) 248.92/165.27 new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) 248.92/165.27 new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Zero) -> new_primModNatS02(vyv330, vyv331) 248.92/165.27 new_primModNatS02(vyv330, vyv331) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv330), Succ(vyv331)), Succ(vyv331)) 248.92/165.27 new_reduce2Reduce1(vyv264, vyv265, vyv266, vyv267, False, bh) -> :%(new_quot1(vyv264, vyv265, vyv266, vyv267, bh), new_quot2(vyv266, vyv267, vyv264, vyv265, bh)) 248.92/165.27 new_rem(Pos(vyv2920), Neg(Succ(vyv29100))) -> Pos(new_primModNatS1(vyv2920, vyv29100)) 248.92/165.27 new_primDivNatS02(vyv310, vyv311, Succ(vyv3120), Succ(vyv3130)) -> new_primDivNatS02(vyv310, vyv311, vyv3120, vyv3130) 248.92/165.27 new_primMulNat0(Succ(vyv23900), Zero) -> Zero 248.92/165.27 new_primMulNat0(Zero, Succ(vyv23800)) -> Zero 248.92/165.27 new_primQuotInt0(vyv2700, Neg(Zero)) -> new_error 248.92/165.27 new_quot0(Neg(vyv2700), vyv272, vyv271) -> new_primQuotInt0(vyv2700, new_gcd(vyv272, vyv271)) 248.92/165.27 new_primQuotInt(vyv2700, Neg(Zero)) -> new_error 248.92/165.27 new_sr13(vyv239, vyv238) -> error([]) 248.92/165.27 new_rem(Neg(vyv2920), Pos(Succ(vyv29100))) -> Neg(new_primModNatS1(vyv2920, vyv29100)) 248.92/165.27 new_sr4(vyv239, vyv238, ty_Double) -> new_sr11(vyv239, vyv238) 248.92/165.27 new_primMulNat4(Zero) -> Zero 248.92/165.27 new_quot1(vyv264, vyv265, vyv266, vyv267, ty_Int) -> new_quot0(new_sr14(vyv264, vyv265), new_sr14(vyv264, vyv265), new_sr14(vyv266, vyv267)) 248.92/165.27 new_sr9(vyv183) -> error([]) 248.92/165.27 new_gcd0Gcd'10(False, vyv272, vyv271) -> new_gcd0Gcd'00(new_abs(vyv272), new_abs(vyv271)) 248.92/165.27 new_primPlusNat0(Succ(vyv4000), Zero) -> Succ(vyv4000) 248.92/165.27 new_primPlusNat0(Zero, Succ(vyv5000)) -> Succ(vyv5000) 248.92/165.27 new_primMulNat0(Zero, Zero) -> Zero 248.92/165.27 new_primQuotInt(vyv2700, Pos(Succ(vyv28400))) -> Pos(new_primDivNatS1(vyv2700, vyv28400)) 248.92/165.27 new_sr3(vyv249, ty_Double) -> new_sr9(vyv249) 248.92/165.27 new_primMulNat3(Succ(vyv1830000)) -> new_primPlusNat0(new_primMulNat4(vyv1830000), Succ(Succ(Succ(vyv1830000)))) 248.92/165.27 new_esEs(Neg(Succ(vyv24100))) -> new_primEqInt(Neg(Succ(vyv24100))) 248.92/165.27 new_esEs1(Integer(vyv2690)) -> new_primEqInt(vyv2690) 248.92/165.27 new_primMulNat0(Succ(vyv23900), Succ(vyv23800)) -> new_primPlusNat0(new_primMulNat0(vyv23900, Succ(vyv23800)), Succ(vyv23800)) 248.92/165.27 new_quot0(Pos(vyv2700), vyv272, vyv271) -> new_primQuotInt(vyv2700, new_gcd(vyv272, vyv271)) 248.92/165.27 new_sr6(Neg(vyv1830)) -> Pos(new_primMulNat1(vyv1830)) 248.92/165.27 new_primQuotInt(vyv2700, Pos(Zero)) -> new_error 248.92/165.27 new_rem(Pos(vyv2920), Pos(Succ(vyv29100))) -> Pos(new_primModNatS1(vyv2920, vyv29100)) 248.92/165.27 new_abs(Pos(Succ(vyv27100))) -> Pos(Succ(vyv27100)) 248.92/165.27 new_primEqInt(Pos(Zero)) -> True 248.92/165.27 new_primMulNat1(Zero) -> Zero 248.92/165.27 new_quot1(vyv264, vyv265, vyv266, vyv267, ty_Integer) -> new_quot(new_sr8(vyv264, vyv265), new_sr8(vyv264, vyv265), new_sr8(vyv266, vyv267)) 248.92/165.27 new_gcd(vyv272, vyv271) -> new_gcd2(new_esEs(vyv272), vyv272, vyv271) 248.92/165.27 new_rem(Neg(vyv2920), Neg(Zero)) -> new_error 248.92/165.27 new_sr2(vyv227, vyv226, ty_Float) -> new_sr13(vyv227, vyv226) 248.92/165.27 new_gcd2(True, vyv272, vyv271) -> new_gcd1(new_esEs(vyv271), vyv272, vyv271) 248.92/165.27 new_primMinusNat0(Zero, Succ(vyv244000)) -> Neg(Succ(vyv244000)) 248.92/165.27 new_primQuotInt0(vyv2700, Pos(Succ(vyv28700))) -> Neg(new_primDivNatS1(vyv2700, vyv28700)) 248.92/165.27 new_ms0(vyv240, Neg(Zero)) -> Neg(Succ(vyv240)) 248.92/165.27 new_gcd0Gcd'00(vyv292, vyv291) -> new_gcd0Gcd'11(new_esEs(new_rem(vyv292, vyv291)), vyv291, vyv292) 248.92/165.27 new_fromInt -> Pos(Succ(Zero)) 248.92/165.27 new_sr6(Pos(vyv1830)) -> Pos(new_primMulNat1(vyv1830)) 248.92/165.27 new_abs(Pos(Zero)) -> Pos(Zero) 248.92/165.27 new_primMulNat2(Zero) -> Zero 248.92/165.27 new_sr12(:%(vyv2390, vyv2391), :%(vyv2380, vyv2381), bf) -> new_reduce2Reduce1(vyv2390, vyv2380, vyv2391, vyv2381, new_esEs2(vyv2391, vyv2381, bf), bf) 248.92/165.27 new_primMinusNat0(Succ(vyv2280), Zero) -> Pos(Succ(vyv2280)) 248.92/165.27 new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Succ(vyv3330)) -> new_primModNatS01(vyv330, vyv331, vyv3320, vyv3330) 248.92/165.27 new_quot(vyv273, vyv275, vyv274) -> error([]) 248.92/165.27 new_sr3(vyv249, ty_Int) -> new_sr6(vyv249) 248.92/165.27 new_primModNatS1(Succ(Succ(vyv292000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv292000), Zero) 248.92/165.27 new_reduce2Reduce1(vyv264, vyv265, vyv266, vyv267, True, bh) -> error([]) 248.92/165.27 new_primModNatS1(Succ(Zero), Succ(vyv291000)) -> Succ(Zero) 248.92/165.27 new_primDivNatS1(Succ(Succ(vyv270000)), Succ(vyv284000)) -> new_primDivNatS02(vyv270000, vyv284000, vyv270000, vyv284000) 248.92/165.27 new_primMinusNatS2(Zero, Zero) -> Zero 248.92/165.27 new_sr0(vyv183, ty_Float) -> new_sr10(vyv183) 248.92/165.27 new_primEqInt(Neg(Zero)) -> True 248.92/165.27 new_primQuotInt(vyv2700, Neg(Succ(vyv28400))) -> Neg(new_primDivNatS1(vyv2700, vyv28400)) 248.92/165.27 new_quot2(vyv266, vyv267, vyv264, vyv265, ty_Integer) -> new_quot(new_sr8(vyv266, vyv267), new_sr8(vyv264, vyv265), new_sr8(vyv266, vyv267)) 248.92/165.27 new_primMinusNatS2(Succ(vyv3100), Succ(vyv3110)) -> new_primMinusNatS2(vyv3100, vyv3110) 248.92/165.27 new_esEs0(vyv1831, ty_Integer) -> new_esEs1(new_sr7(vyv1831)) 248.92/165.27 new_primMinusNatS0(vyv270000) -> Succ(vyv270000) 248.92/165.27 new_primMulNat3(Zero) -> Zero 248.92/165.27 new_ms0(vyv240, Pos(vyv2430)) -> Neg(new_primPlusNat0(Succ(vyv240), vyv2430)) 248.92/165.27 new_primQuotInt0(vyv2700, Neg(Succ(vyv28700))) -> Pos(new_primDivNatS1(vyv2700, vyv28700)) 248.92/165.27 new_sr2(vyv227, vyv226, app(ty_Ratio, be)) -> new_sr12(vyv227, vyv226, be) 248.92/165.27 new_sr1(vyv227, ty_Double) -> new_sr9(vyv227) 248.92/165.27 new_rem(Neg(vyv2920), Neg(Succ(vyv29100))) -> Neg(new_primModNatS1(vyv2920, vyv29100)) 248.92/165.27 new_sr3(vyv249, ty_Integer) -> new_sr7(vyv249) 248.92/165.27 new_primModNatS1(Zero, vyv29100) -> Zero 248.92/165.27 new_sr(vyv183, ty_Double) -> new_sr9(vyv183) 248.92/165.27 new_primDivNatS1(Succ(Zero), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS1, Zero)) 248.92/165.27 new_sr3(vyv249, app(ty_Ratio, bg)) -> new_sr5(vyv249, bg) 248.92/165.27 new_error -> error([]) 248.92/165.27 new_primEqInt(Neg(Succ(vyv242000))) -> False 248.92/165.27 new_fromInt0 -> Pos(Succ(Succ(Zero))) 248.92/165.27 new_gcd2(False, vyv272, vyv271) -> new_gcd0(vyv272, vyv271) 248.92/165.27 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 248.92/165.27 new_sr14(Pos(vyv2390), Pos(vyv2380)) -> Pos(new_primMulNat0(vyv2390, vyv2380)) 248.92/165.27 new_ms0(vyv240, Neg(Succ(vyv24300))) -> new_primMinusNat0(vyv24300, vyv240) 248.92/165.27 new_sr0(vyv183, app(ty_Ratio, bd)) -> new_sr5(vyv183, bd) 248.92/165.27 new_gcd0(vyv272, vyv271) -> new_gcd0Gcd'10(new_esEs(new_abs(vyv271)), vyv272, vyv271) 248.92/165.27 new_primQuotInt0(vyv2700, Pos(Zero)) -> new_error 248.92/165.27 new_sr4(vyv239, vyv238, ty_Float) -> new_sr13(vyv239, vyv238) 248.92/165.27 new_esEs2(vyv2391, vyv2381, ty_Integer) -> new_esEs1(new_sr8(vyv2391, vyv2381)) 248.92/165.27 new_gcd0Gcd'11(False, vyv291, vyv292) -> new_gcd0Gcd'00(vyv291, new_rem(vyv292, vyv291)) 248.92/165.27 new_rem(Pos(vyv2920), Pos(Zero)) -> new_error 248.92/165.27 248.92/165.27 The set Q consists of the following terms: 248.92/165.27 248.92/165.27 new_rem(Pos(x0), Pos(Succ(x1))) 248.92/165.27 new_quot1(x0, x1, x2, x3, ty_Integer) 248.92/165.27 new_primModNatS1(Succ(Zero), Succ(x0)) 248.92/165.27 new_ms0(x0, Pos(x1)) 248.92/165.27 new_sr(x0, app(ty_Ratio, x1)) 248.92/165.27 new_primMulNat4(Zero) 248.92/165.27 new_gcd1(False, x0, x1) 248.92/165.27 new_primEqInt(Pos(Zero)) 248.92/165.27 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 248.92/165.27 new_rem(Pos(x0), Neg(Succ(x1))) 248.92/165.27 new_rem(Neg(x0), Pos(Succ(x1))) 248.92/165.27 new_sr10(x0) 248.92/165.27 new_quot1(x0, x1, x2, x3, ty_Int) 248.92/165.27 new_sr0(x0, app(ty_Ratio, x1)) 248.92/165.27 new_quot2(x0, x1, x2, x3, ty_Integer) 248.92/165.27 new_primModNatS01(x0, x1, Succ(x2), Zero) 248.92/165.27 new_sr3(x0, ty_Integer) 248.92/165.27 new_primMulNat3(Zero) 248.92/165.27 new_primDivNatS02(x0, x1, Succ(x2), Zero) 248.92/165.27 new_sr(x0, ty_Float) 248.92/165.27 new_quot2(x0, x1, x2, x3, ty_Int) 248.92/165.27 new_gcd2(False, x0, x1) 248.92/165.27 new_primDivNatS1(Succ(Zero), Zero) 248.92/165.27 new_sr0(x0, ty_Double) 248.92/165.27 new_esEs0(x0, ty_Int) 248.92/165.27 new_sr14(Pos(x0), Pos(x1)) 248.92/165.27 new_sr3(x0, ty_Int) 248.92/165.27 new_primMulNat0(Zero, Zero) 248.92/165.27 new_sr4(x0, x1, ty_Double) 248.92/165.27 new_primPlusNat0(Succ(x0), Zero) 248.92/165.27 new_fromInt0 248.92/165.27 new_fromInt 248.92/165.27 new_primMulNat2(Zero) 248.92/165.27 new_sr11(x0, x1) 248.92/165.27 new_primModNatS01(x0, x1, Zero, Zero) 248.92/165.27 new_esEs2(x0, x1, ty_Int) 248.92/165.27 new_gcd1(True, x0, x1) 248.92/165.27 new_sr13(x0, x1) 248.92/165.27 new_sr14(Pos(x0), Neg(x1)) 248.92/165.27 new_sr14(Neg(x0), Pos(x1)) 248.92/165.27 new_primDivNatS1(Succ(Succ(x0)), Succ(x1)) 248.92/165.27 new_sr1(x0, ty_Int) 248.92/165.27 new_primModNatS1(Zero, x0) 248.92/165.27 new_esEs(Pos(Succ(x0))) 248.92/165.27 new_primMulNat3(Succ(x0)) 248.92/165.27 new_sr1(x0, app(ty_Ratio, x1)) 248.92/165.27 new_primQuotInt(x0, Neg(Succ(x1))) 248.92/165.27 new_reduce2Reduce1(x0, x1, x2, x3, False, x4) 248.92/165.27 new_primMinusNat0(Zero, Zero) 248.92/165.27 new_primDivNatS1(Zero, x0) 248.92/165.27 new_primDivNatS02(x0, x1, Succ(x2), Succ(x3)) 248.92/165.27 new_primModNatS02(x0, x1) 248.92/165.27 new_primDivNatS1(Succ(Zero), Succ(x0)) 248.92/165.27 new_sr6(Neg(x0)) 248.92/165.27 new_gcd0Gcd'10(True, x0, x1) 248.92/165.27 new_primMulNat0(Succ(x0), Succ(x1)) 248.92/165.27 new_abs(Neg(Zero)) 248.92/165.27 new_ms(x0, Neg(x1)) 248.92/165.27 new_rem(Pos(x0), Neg(Zero)) 248.92/165.27 new_rem(Neg(x0), Pos(Zero)) 248.92/165.27 new_primMinusNatS2(Zero, Succ(x0)) 248.92/165.27 new_esEs(Neg(Succ(x0))) 248.92/165.27 new_error 248.92/165.27 new_primModNatS1(Succ(Zero), Zero) 248.92/165.27 new_primMulNat0(Zero, Succ(x0)) 248.92/165.27 new_sr3(x0, ty_Float) 248.92/165.27 new_quot(x0, x1, x2) 248.92/165.27 new_gcd2(True, x0, x1) 248.92/165.27 new_gcd0Gcd'11(True, x0, x1) 248.92/165.27 new_primEqInt(Neg(Zero)) 248.92/165.27 new_sr2(x0, x1, ty_Double) 248.92/165.27 new_primMulNat0(Succ(x0), Zero) 248.92/165.27 new_quot0(Neg(x0), x1, x2) 248.92/165.27 new_primMinusNatS2(Succ(x0), Succ(x1)) 248.92/165.27 new_sr4(x0, x1, app(ty_Ratio, x2)) 248.92/165.27 new_sr8(x0, x1) 248.92/165.27 new_primDivNatS01(x0, x1) 248.92/165.27 new_primDivNatS02(x0, x1, Zero, Succ(x2)) 248.92/165.27 new_primPlusNat0(Succ(x0), Succ(x1)) 248.92/165.27 new_sr1(x0, ty_Integer) 248.92/165.27 new_primPlusNat0(Zero, Zero) 248.92/165.27 new_sr1(x0, ty_Float) 248.92/165.27 new_primMinusNat0(Succ(x0), Succ(x1)) 248.92/165.27 new_sr12(:%(x0, x1), :%(x2, x3), x4) 248.92/165.27 new_abs(Neg(Succ(x0))) 248.92/165.27 new_sr1(x0, ty_Double) 248.92/165.27 new_sr3(x0, app(ty_Ratio, x1)) 248.92/165.28 new_sr7(x0) 248.92/165.28 new_gcd0(x0, x1) 248.92/165.28 new_sr(x0, ty_Integer) 248.92/165.28 new_sr0(x0, ty_Int) 248.92/165.28 new_primQuotInt0(x0, Pos(Succ(x1))) 248.92/165.28 new_sr4(x0, x1, ty_Integer) 248.92/165.28 new_sr5(:%(x0, x1), x2) 248.92/165.28 new_primMinusNatS2(Zero, Zero) 248.92/165.28 new_primMulNat1(Succ(x0)) 248.92/165.28 new_sr0(x0, ty_Integer) 248.92/165.28 new_ms(x0, Pos(Zero)) 248.92/165.28 new_abs(Pos(Succ(x0))) 248.92/165.28 new_sr4(x0, x1, ty_Int) 248.92/165.28 new_esEs(Pos(Zero)) 248.92/165.28 new_primQuotInt0(x0, Pos(Zero)) 248.92/165.28 new_sr(x0, ty_Int) 248.92/165.28 new_primEqInt(Neg(Succ(x0))) 248.92/165.28 new_primQuotInt(x0, Neg(Zero)) 248.92/165.28 new_primQuotInt0(x0, Neg(Zero)) 248.92/165.28 new_primQuotInt0(x0, Neg(Succ(x1))) 248.92/165.28 new_gcd(x0, x1) 248.92/165.28 new_quot0(Pos(x0), x1, x2) 248.92/165.28 new_primMinusNatS0(x0) 248.92/165.28 new_primPlusNat0(Zero, Succ(x0)) 248.92/165.28 new_sr2(x0, x1, app(ty_Ratio, x2)) 248.92/165.28 new_sr2(x0, x1, ty_Int) 248.92/165.28 new_primQuotInt(x0, Pos(Succ(x1))) 248.92/165.28 new_primDivNatS1(Succ(Succ(x0)), Zero) 248.92/165.28 new_rem(Pos(x0), Pos(Zero)) 248.92/165.28 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 248.92/165.28 new_primDivNatS02(x0, x1, Zero, Zero) 248.92/165.28 new_abs(Pos(Zero)) 248.92/165.28 new_gcd0Gcd'10(False, x0, x1) 248.92/165.28 new_ms(x0, Pos(Succ(x1))) 248.92/165.28 new_primMinusNatS1 248.92/165.28 new_esEs1(Integer(x0)) 248.92/165.28 new_ms0(x0, Neg(Zero)) 248.92/165.28 new_primMinusNat0(Succ(x0), Zero) 248.92/165.28 new_ms0(x0, Neg(Succ(x1))) 248.92/165.28 new_sr2(x0, x1, ty_Integer) 248.92/165.28 new_primModNatS01(x0, x1, Zero, Succ(x2)) 248.92/165.28 new_primMulNat2(Succ(x0)) 248.92/165.28 new_sr0(x0, ty_Float) 248.92/165.28 new_sr14(Neg(x0), Neg(x1)) 248.92/165.28 new_sr2(x0, x1, ty_Float) 248.92/165.28 new_primMinusNatS2(Succ(x0), Zero) 248.92/165.28 new_sr4(x0, x1, ty_Float) 248.92/165.28 new_sr6(Pos(x0)) 248.92/165.28 new_esEs2(x0, x1, ty_Integer) 248.92/165.28 new_primMulNat4(Succ(x0)) 248.92/165.28 new_rem(Neg(x0), Neg(Succ(x1))) 248.92/165.28 new_primEqInt(Pos(Succ(x0))) 248.92/165.28 new_primQuotInt(x0, Pos(Zero)) 248.92/165.28 new_gcd0Gcd'11(False, x0, x1) 248.92/165.28 new_sr9(x0) 248.92/165.28 new_primModNatS1(Succ(Succ(x0)), Zero) 248.92/165.28 new_sr(x0, ty_Double) 248.92/165.28 new_esEs0(x0, ty_Integer) 248.92/165.28 new_gcd0Gcd'00(x0, x1) 248.92/165.28 new_reduce2Reduce1(x0, x1, x2, x3, True, x4) 248.92/165.28 new_sr3(x0, ty_Double) 248.92/165.28 new_esEs(Neg(Zero)) 248.92/165.28 new_primMulNat1(Zero) 248.92/165.28 new_primMinusNat0(Zero, Succ(x0)) 248.92/165.28 new_rem(Neg(x0), Neg(Zero)) 248.92/165.28 248.92/165.28 We have to consider all minimal (P,Q,R)-chains. 248.92/165.28 ---------------------------------------- 248.92/165.28 248.92/165.28 (715) TransformationProof (EQUIVALENT) 248.92/165.28 By rewriting [LPAR04] the rule new_pr2F0G10(vyv248, vyv249, vyv250, Zero, bb) -> new_pr2F0G(vyv248, new_sr3(vyv249, bb), new_primQuotInt0(Succ(vyv250), new_fromInt0), bb) at position [2,1] we obtained the following new rules [LPAR04]: 248.92/165.28 248.92/165.28 (new_pr2F0G10(vyv248, vyv249, vyv250, Zero, bb) -> new_pr2F0G(vyv248, new_sr3(vyv249, bb), new_primQuotInt0(Succ(vyv250), Pos(Succ(Succ(Zero)))), bb),new_pr2F0G10(vyv248, vyv249, vyv250, Zero, bb) -> new_pr2F0G(vyv248, new_sr3(vyv249, bb), new_primQuotInt0(Succ(vyv250), Pos(Succ(Succ(Zero)))), bb)) 248.92/165.28 248.92/165.28 248.92/165.28 ---------------------------------------- 248.92/165.28 248.92/165.28 (716) 248.92/165.28 Obligation: 248.92/165.28 Q DP problem: 248.92/165.28 The TRS P consists of the following rules: 248.92/165.28 248.92/165.28 new_pr2F0G10(vyv248, vyv249, vyv250, Succ(Succ(vyv25100)), bb) -> new_pr2F0G10(vyv248, vyv249, vyv250, vyv25100, bb) 248.92/165.28 new_pr2F0G(vyv187, vyv183, Neg(Succ(Zero)), h) -> new_pr2F0G11(vyv187, vyv183, Zero, h) 248.92/165.28 new_pr2F0G(vyv187, vyv183, Pos(Succ(Succ(vyv222000))), h) -> new_pr2F0G1(vyv187, vyv183, Succ(vyv222000), vyv222000, h) 248.92/165.28 new_pr2F0(vyv183, Pos(Succ(Zero)), vyv187, h) -> new_pr2F(vyv183, Zero, new_fromInt, vyv187, h) 248.92/165.28 new_pr2F0G1(vyv226, vyv227, vyv228, Succ(Zero), ba) -> new_pr2F(vyv227, vyv228, new_fromInt, vyv226, ba) 248.92/165.28 new_pr2F0(vyv183, Neg(Succ(Succ(vyv222000))), vyv187, h) -> new_pr2F0G10(vyv187, vyv183, Succ(vyv222000), vyv222000, h) 248.92/165.28 new_pr2F0(vyv183, Neg(Succ(Zero)), vyv187, h) -> new_pr2F0G11(vyv187, vyv183, Zero, h) 248.92/165.28 new_pr2F0G10(vyv248, vyv249, vyv250, Succ(Zero), bb) -> new_pr2F0G11(vyv248, vyv249, vyv250, bb) 248.92/165.28 new_pr2F0G(vyv187, vyv183, Pos(Succ(Zero)), h) -> new_pr2F(vyv183, Zero, new_fromInt, vyv187, h) 248.92/165.28 new_pr2F0G(vyv187, vyv183, Pos(Zero), h) -> new_pr2F0G(vyv187, new_sr(vyv183, h), new_primQuotInt(Zero, new_fromInt0), h) 248.92/165.28 new_pr2F0G(vyv187, vyv183, Neg(Succ(Succ(vyv222000))), h) -> new_pr2F0G10(vyv187, vyv183, Succ(vyv222000), vyv222000, h) 248.92/165.28 new_pr2F3(False, vyv227, vyv228, vyv244, vyv226, ba) -> new_pr2F0(vyv227, new_ms(vyv228, vyv244), new_sr2(vyv227, vyv226, ba), ba) 248.92/165.28 new_pr2F0(vyv183, Pos(Succ(Succ(vyv222000))), vyv187, h) -> new_pr2F0G1(vyv187, vyv183, Succ(vyv222000), vyv222000, h) 248.92/165.28 new_pr2F0G1(vyv226, vyv227, vyv228, Zero, ba) -> new_pr2F0G(vyv226, new_sr1(vyv227, ba), new_primQuotInt(Succ(vyv228), new_fromInt0), ba) 248.92/165.28 new_pr2F1(vyv239, vyv240, vyv243, vyv238, bc) -> new_pr2F30(new_esEs(new_ms0(vyv240, vyv243)), vyv239, vyv240, vyv243, vyv238, bc) 248.92/165.28 new_pr2F(vyv227, vyv228, vyv244, vyv226, ba) -> new_pr2F3(new_esEs(new_ms(vyv228, vyv244)), vyv227, vyv228, vyv244, vyv226, ba) 248.92/165.28 new_pr2F0G1(vyv226, vyv227, vyv228, Succ(Succ(vyv22900)), ba) -> new_pr2F0G1(vyv226, vyv227, vyv228, vyv22900, ba) 248.92/165.28 new_pr2F30(False, vyv239, vyv240, vyv243, vyv238, bc) -> new_pr2F0(vyv239, new_ms0(vyv240, vyv243), new_sr4(vyv239, vyv238, bc), bc) 248.92/165.28 new_pr2F0(vyv183, Pos(Zero), vyv187, h) -> new_pr2F0G(vyv187, new_sr(vyv183, h), new_primQuotInt(Zero, new_fromInt0), h) 248.92/165.28 new_pr2F0(vyv183, Neg(Zero), vyv187, h) -> new_pr2F0G(vyv187, new_sr0(vyv183, h), new_primQuotInt0(Zero, Pos(Succ(Succ(Zero)))), h) 248.92/165.28 new_pr2F0G11(vyv238, vyv239, vyv240, bc) -> new_pr2F1(vyv239, vyv240, Pos(Succ(Zero)), vyv238, bc) 248.92/165.28 new_pr2F0G(vyv187, vyv183, Neg(Zero), h) -> new_pr2F0G(vyv187, new_sr0(vyv183, h), new_primQuotInt0(Zero, Pos(Succ(Succ(Zero)))), h) 248.92/165.28 new_pr2F0G10(vyv248, vyv249, vyv250, Zero, bb) -> new_pr2F0G(vyv248, new_sr3(vyv249, bb), new_primQuotInt0(Succ(vyv250), Pos(Succ(Succ(Zero)))), bb) 248.92/165.28 248.92/165.28 The TRS R consists of the following rules: 248.92/165.28 248.92/165.28 new_sr2(vyv227, vyv226, ty_Int) -> new_sr14(vyv227, vyv226) 248.92/165.28 new_quot2(vyv266, vyv267, vyv264, vyv265, ty_Int) -> new_quot0(new_sr14(vyv266, vyv267), new_sr14(vyv264, vyv265), new_sr14(vyv266, vyv267)) 248.92/165.28 new_sr(vyv183, ty_Int) -> new_sr6(vyv183) 248.92/165.28 new_sr11(vyv239, vyv238) -> error([]) 248.92/165.28 new_primPlusNat0(Zero, Zero) -> Zero 248.92/165.28 new_sr1(vyv227, ty_Int) -> new_sr6(vyv227) 248.92/165.28 new_abs(Neg(Zero)) -> Neg(Zero) 248.92/165.28 new_esEs2(vyv2391, vyv2381, ty_Int) -> new_esEs(new_sr14(vyv2391, vyv2381)) 248.92/165.28 new_gcd0Gcd'10(True, vyv272, vyv271) -> new_abs(vyv272) 248.92/165.28 new_sr8(vyv239, vyv238) -> error([]) 248.92/165.28 new_sr1(vyv227, ty_Integer) -> new_sr7(vyv227) 248.92/165.28 new_primDivNatS1(Zero, vyv28400) -> Zero 248.92/165.28 new_sr(vyv183, app(ty_Ratio, bd)) -> new_sr5(vyv183, bd) 248.92/165.28 new_primDivNatS1(Succ(Succ(vyv270000)), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS0(vyv270000), Zero)) 248.92/165.28 new_sr(vyv183, ty_Integer) -> new_sr7(vyv183) 248.92/165.28 new_gcd0Gcd'11(True, vyv291, vyv292) -> vyv291 248.92/165.28 new_primMinusNatS2(Zero, Succ(vyv3110)) -> Zero 248.92/165.28 new_primMinusNat0(Succ(vyv2280), Succ(vyv244000)) -> new_primMinusNat0(vyv2280, vyv244000) 248.92/165.28 new_sr1(vyv227, app(ty_Ratio, be)) -> new_sr5(vyv227, be) 248.92/165.28 new_esEs0(vyv1831, ty_Int) -> new_esEs(new_sr6(vyv1831)) 248.92/165.28 new_primEqInt(Pos(Succ(vyv242000))) -> False 248.92/165.28 new_ms(vyv228, Neg(vyv2440)) -> Pos(new_primPlusNat0(Succ(vyv228), vyv2440)) 248.92/165.28 new_sr(vyv183, ty_Float) -> new_sr10(vyv183) 248.92/165.28 new_sr2(vyv227, vyv226, ty_Double) -> new_sr11(vyv227, vyv226) 248.92/165.28 new_abs(Neg(Succ(vyv27100))) -> Pos(Succ(vyv27100)) 248.92/165.28 new_gcd1(True, vyv272, vyv271) -> new_error 248.92/165.28 new_sr4(vyv239, vyv238, app(ty_Ratio, bf)) -> new_sr12(vyv239, vyv238, bf) 248.92/165.28 new_primMulNat1(Succ(vyv18300)) -> new_primPlusNat0(new_primMulNat2(vyv18300), Succ(vyv18300)) 248.92/165.28 new_sr3(vyv249, ty_Float) -> new_sr10(vyv249) 248.92/165.28 new_ms(vyv228, Pos(Succ(vyv24400))) -> new_primMinusNat0(vyv228, vyv24400) 248.92/165.28 new_primDivNatS02(vyv310, vyv311, Zero, Zero) -> new_primDivNatS01(vyv310, vyv311) 248.92/165.28 new_primMinusNatS1 -> Zero 248.92/165.28 new_sr4(vyv239, vyv238, ty_Integer) -> new_sr8(vyv239, vyv238) 248.92/165.28 new_primMinusNatS2(Succ(vyv3100), Zero) -> Succ(vyv3100) 248.92/165.28 new_sr0(vyv183, ty_Double) -> new_sr9(vyv183) 248.92/165.28 new_sr0(vyv183, ty_Int) -> new_sr6(vyv183) 248.92/165.28 new_primPlusNat0(Succ(vyv4000), Succ(vyv5000)) -> Succ(Succ(new_primPlusNat0(vyv4000, vyv5000))) 248.92/165.28 new_sr7(vyv183) -> error([]) 248.92/165.28 new_sr5(:%(vyv1830, vyv1831), bd) -> new_reduce2Reduce1(vyv1830, vyv1830, vyv1831, vyv1831, new_esEs0(vyv1831, bd), bd) 248.92/165.28 new_sr14(Pos(vyv2390), Neg(vyv2380)) -> Neg(new_primMulNat0(vyv2390, vyv2380)) 248.92/165.28 new_sr14(Neg(vyv2390), Pos(vyv2380)) -> Neg(new_primMulNat0(vyv2390, vyv2380)) 248.92/165.28 new_sr0(vyv183, ty_Integer) -> new_sr7(vyv183) 248.92/165.28 new_primMulNat2(Succ(vyv183000)) -> new_primPlusNat0(new_primMulNat3(vyv183000), Succ(Succ(vyv183000))) 248.92/165.28 new_sr14(Neg(vyv2390), Neg(vyv2380)) -> Pos(new_primMulNat0(vyv2390, vyv2380)) 248.92/165.28 new_gcd1(False, vyv272, vyv271) -> new_gcd0(vyv272, vyv271) 248.92/165.28 new_sr4(vyv239, vyv238, ty_Int) -> new_sr14(vyv239, vyv238) 248.92/165.28 new_primDivNatS1(Succ(Zero), Succ(vyv284000)) -> Zero 248.92/165.28 new_primMulNat4(Succ(vyv18300000)) -> new_primPlusNat0(new_primMulNat0(vyv18300000, Succ(Succ(Succ(Succ(vyv18300000))))), Succ(Succ(Succ(Succ(vyv18300000))))) 248.92/165.28 new_primModNatS01(vyv330, vyv331, Zero, Succ(vyv3330)) -> Succ(Succ(vyv330)) 248.92/165.28 new_primModNatS1(Succ(Succ(vyv292000)), Succ(vyv291000)) -> new_primModNatS01(vyv292000, vyv291000, vyv292000, vyv291000) 248.92/165.28 new_primDivNatS02(vyv310, vyv311, Succ(vyv3120), Zero) -> new_primDivNatS01(vyv310, vyv311) 248.92/165.28 new_primDivNatS01(vyv310, vyv311) -> Succ(new_primDivNatS1(new_primMinusNatS2(vyv310, vyv311), Succ(vyv311))) 248.92/165.28 new_primDivNatS02(vyv310, vyv311, Zero, Succ(vyv3130)) -> Zero 248.92/165.28 new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) 248.92/165.28 new_esEs(Pos(Succ(vyv24100))) -> new_primEqInt(Pos(Succ(vyv24100))) 248.92/165.28 new_ms(vyv228, Pos(Zero)) -> Pos(Succ(vyv228)) 248.92/165.28 new_primMinusNat0(Zero, Zero) -> Pos(Zero) 248.92/165.28 new_sr1(vyv227, ty_Float) -> new_sr10(vyv227) 248.92/165.28 new_sr2(vyv227, vyv226, ty_Integer) -> new_sr8(vyv227, vyv226) 248.92/165.28 new_sr10(vyv183) -> error([]) 248.92/165.28 new_rem(Pos(vyv2920), Neg(Zero)) -> new_error 248.92/165.28 new_rem(Neg(vyv2920), Pos(Zero)) -> new_error 248.92/165.28 new_primModNatS01(vyv330, vyv331, Zero, Zero) -> new_primModNatS02(vyv330, vyv331) 248.92/165.28 new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) 248.92/165.28 new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Zero) -> new_primModNatS02(vyv330, vyv331) 248.92/165.28 new_primModNatS02(vyv330, vyv331) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv330), Succ(vyv331)), Succ(vyv331)) 248.92/165.28 new_reduce2Reduce1(vyv264, vyv265, vyv266, vyv267, False, bh) -> :%(new_quot1(vyv264, vyv265, vyv266, vyv267, bh), new_quot2(vyv266, vyv267, vyv264, vyv265, bh)) 248.92/165.28 new_rem(Pos(vyv2920), Neg(Succ(vyv29100))) -> Pos(new_primModNatS1(vyv2920, vyv29100)) 248.92/165.28 new_primDivNatS02(vyv310, vyv311, Succ(vyv3120), Succ(vyv3130)) -> new_primDivNatS02(vyv310, vyv311, vyv3120, vyv3130) 248.92/165.28 new_primMulNat0(Succ(vyv23900), Zero) -> Zero 248.92/165.28 new_primMulNat0(Zero, Succ(vyv23800)) -> Zero 248.92/165.28 new_primQuotInt0(vyv2700, Neg(Zero)) -> new_error 248.92/165.28 new_quot0(Neg(vyv2700), vyv272, vyv271) -> new_primQuotInt0(vyv2700, new_gcd(vyv272, vyv271)) 248.92/165.28 new_primQuotInt(vyv2700, Neg(Zero)) -> new_error 248.92/165.28 new_sr13(vyv239, vyv238) -> error([]) 248.92/165.28 new_rem(Neg(vyv2920), Pos(Succ(vyv29100))) -> Neg(new_primModNatS1(vyv2920, vyv29100)) 248.92/165.28 new_sr4(vyv239, vyv238, ty_Double) -> new_sr11(vyv239, vyv238) 248.92/165.28 new_primMulNat4(Zero) -> Zero 248.92/165.28 new_quot1(vyv264, vyv265, vyv266, vyv267, ty_Int) -> new_quot0(new_sr14(vyv264, vyv265), new_sr14(vyv264, vyv265), new_sr14(vyv266, vyv267)) 248.92/165.28 new_sr9(vyv183) -> error([]) 248.92/165.28 new_gcd0Gcd'10(False, vyv272, vyv271) -> new_gcd0Gcd'00(new_abs(vyv272), new_abs(vyv271)) 248.92/165.28 new_primPlusNat0(Succ(vyv4000), Zero) -> Succ(vyv4000) 248.92/165.28 new_primPlusNat0(Zero, Succ(vyv5000)) -> Succ(vyv5000) 248.92/165.28 new_primMulNat0(Zero, Zero) -> Zero 248.92/165.28 new_primQuotInt(vyv2700, Pos(Succ(vyv28400))) -> Pos(new_primDivNatS1(vyv2700, vyv28400)) 248.92/165.28 new_sr3(vyv249, ty_Double) -> new_sr9(vyv249) 248.92/165.28 new_primMulNat3(Succ(vyv1830000)) -> new_primPlusNat0(new_primMulNat4(vyv1830000), Succ(Succ(Succ(vyv1830000)))) 248.92/165.28 new_esEs(Neg(Succ(vyv24100))) -> new_primEqInt(Neg(Succ(vyv24100))) 248.92/165.28 new_esEs1(Integer(vyv2690)) -> new_primEqInt(vyv2690) 248.92/165.28 new_primMulNat0(Succ(vyv23900), Succ(vyv23800)) -> new_primPlusNat0(new_primMulNat0(vyv23900, Succ(vyv23800)), Succ(vyv23800)) 248.92/165.28 new_quot0(Pos(vyv2700), vyv272, vyv271) -> new_primQuotInt(vyv2700, new_gcd(vyv272, vyv271)) 248.92/165.28 new_sr6(Neg(vyv1830)) -> Pos(new_primMulNat1(vyv1830)) 248.92/165.28 new_primQuotInt(vyv2700, Pos(Zero)) -> new_error 248.92/165.28 new_rem(Pos(vyv2920), Pos(Succ(vyv29100))) -> Pos(new_primModNatS1(vyv2920, vyv29100)) 248.92/165.28 new_abs(Pos(Succ(vyv27100))) -> Pos(Succ(vyv27100)) 248.92/165.28 new_primEqInt(Pos(Zero)) -> True 248.92/165.28 new_primMulNat1(Zero) -> Zero 248.92/165.28 new_quot1(vyv264, vyv265, vyv266, vyv267, ty_Integer) -> new_quot(new_sr8(vyv264, vyv265), new_sr8(vyv264, vyv265), new_sr8(vyv266, vyv267)) 248.92/165.28 new_gcd(vyv272, vyv271) -> new_gcd2(new_esEs(vyv272), vyv272, vyv271) 248.92/165.28 new_rem(Neg(vyv2920), Neg(Zero)) -> new_error 248.92/165.28 new_sr2(vyv227, vyv226, ty_Float) -> new_sr13(vyv227, vyv226) 248.92/165.28 new_gcd2(True, vyv272, vyv271) -> new_gcd1(new_esEs(vyv271), vyv272, vyv271) 248.92/165.28 new_primMinusNat0(Zero, Succ(vyv244000)) -> Neg(Succ(vyv244000)) 248.92/165.28 new_primQuotInt0(vyv2700, Pos(Succ(vyv28700))) -> Neg(new_primDivNatS1(vyv2700, vyv28700)) 248.92/165.28 new_ms0(vyv240, Neg(Zero)) -> Neg(Succ(vyv240)) 248.92/165.28 new_gcd0Gcd'00(vyv292, vyv291) -> new_gcd0Gcd'11(new_esEs(new_rem(vyv292, vyv291)), vyv291, vyv292) 248.92/165.28 new_fromInt -> Pos(Succ(Zero)) 248.92/165.28 new_sr6(Pos(vyv1830)) -> Pos(new_primMulNat1(vyv1830)) 248.92/165.28 new_abs(Pos(Zero)) -> Pos(Zero) 248.92/165.28 new_primMulNat2(Zero) -> Zero 248.92/165.28 new_sr12(:%(vyv2390, vyv2391), :%(vyv2380, vyv2381), bf) -> new_reduce2Reduce1(vyv2390, vyv2380, vyv2391, vyv2381, new_esEs2(vyv2391, vyv2381, bf), bf) 248.92/165.28 new_primMinusNat0(Succ(vyv2280), Zero) -> Pos(Succ(vyv2280)) 248.92/165.28 new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Succ(vyv3330)) -> new_primModNatS01(vyv330, vyv331, vyv3320, vyv3330) 248.92/165.28 new_quot(vyv273, vyv275, vyv274) -> error([]) 248.92/165.28 new_sr3(vyv249, ty_Int) -> new_sr6(vyv249) 248.92/165.28 new_primModNatS1(Succ(Succ(vyv292000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv292000), Zero) 248.92/165.28 new_reduce2Reduce1(vyv264, vyv265, vyv266, vyv267, True, bh) -> error([]) 248.92/165.28 new_primModNatS1(Succ(Zero), Succ(vyv291000)) -> Succ(Zero) 248.92/165.28 new_primDivNatS1(Succ(Succ(vyv270000)), Succ(vyv284000)) -> new_primDivNatS02(vyv270000, vyv284000, vyv270000, vyv284000) 248.92/165.28 new_primMinusNatS2(Zero, Zero) -> Zero 248.92/165.28 new_sr0(vyv183, ty_Float) -> new_sr10(vyv183) 248.92/165.28 new_primEqInt(Neg(Zero)) -> True 248.92/165.28 new_primQuotInt(vyv2700, Neg(Succ(vyv28400))) -> Neg(new_primDivNatS1(vyv2700, vyv28400)) 248.92/165.28 new_quot2(vyv266, vyv267, vyv264, vyv265, ty_Integer) -> new_quot(new_sr8(vyv266, vyv267), new_sr8(vyv264, vyv265), new_sr8(vyv266, vyv267)) 248.92/165.28 new_primMinusNatS2(Succ(vyv3100), Succ(vyv3110)) -> new_primMinusNatS2(vyv3100, vyv3110) 248.92/165.28 new_esEs0(vyv1831, ty_Integer) -> new_esEs1(new_sr7(vyv1831)) 248.92/165.28 new_primMinusNatS0(vyv270000) -> Succ(vyv270000) 248.92/165.28 new_primMulNat3(Zero) -> Zero 248.92/165.28 new_ms0(vyv240, Pos(vyv2430)) -> Neg(new_primPlusNat0(Succ(vyv240), vyv2430)) 248.92/165.28 new_primQuotInt0(vyv2700, Neg(Succ(vyv28700))) -> Pos(new_primDivNatS1(vyv2700, vyv28700)) 248.92/165.28 new_sr2(vyv227, vyv226, app(ty_Ratio, be)) -> new_sr12(vyv227, vyv226, be) 248.92/165.28 new_sr1(vyv227, ty_Double) -> new_sr9(vyv227) 248.92/165.28 new_rem(Neg(vyv2920), Neg(Succ(vyv29100))) -> Neg(new_primModNatS1(vyv2920, vyv29100)) 248.92/165.28 new_sr3(vyv249, ty_Integer) -> new_sr7(vyv249) 248.92/165.28 new_primModNatS1(Zero, vyv29100) -> Zero 248.92/165.28 new_sr(vyv183, ty_Double) -> new_sr9(vyv183) 248.92/165.28 new_primDivNatS1(Succ(Zero), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS1, Zero)) 248.92/165.28 new_sr3(vyv249, app(ty_Ratio, bg)) -> new_sr5(vyv249, bg) 248.92/165.28 new_error -> error([]) 248.92/165.28 new_primEqInt(Neg(Succ(vyv242000))) -> False 248.92/165.28 new_fromInt0 -> Pos(Succ(Succ(Zero))) 248.92/165.28 new_gcd2(False, vyv272, vyv271) -> new_gcd0(vyv272, vyv271) 248.92/165.28 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 248.92/165.28 new_sr14(Pos(vyv2390), Pos(vyv2380)) -> Pos(new_primMulNat0(vyv2390, vyv2380)) 248.92/165.28 new_ms0(vyv240, Neg(Succ(vyv24300))) -> new_primMinusNat0(vyv24300, vyv240) 248.92/165.28 new_sr0(vyv183, app(ty_Ratio, bd)) -> new_sr5(vyv183, bd) 248.92/165.28 new_gcd0(vyv272, vyv271) -> new_gcd0Gcd'10(new_esEs(new_abs(vyv271)), vyv272, vyv271) 248.92/165.28 new_primQuotInt0(vyv2700, Pos(Zero)) -> new_error 248.92/165.28 new_sr4(vyv239, vyv238, ty_Float) -> new_sr13(vyv239, vyv238) 248.92/165.28 new_esEs2(vyv2391, vyv2381, ty_Integer) -> new_esEs1(new_sr8(vyv2391, vyv2381)) 248.92/165.28 new_gcd0Gcd'11(False, vyv291, vyv292) -> new_gcd0Gcd'00(vyv291, new_rem(vyv292, vyv291)) 248.92/165.28 new_rem(Pos(vyv2920), Pos(Zero)) -> new_error 248.92/165.28 248.92/165.28 The set Q consists of the following terms: 248.92/165.28 248.92/165.28 new_rem(Pos(x0), Pos(Succ(x1))) 248.92/165.28 new_quot1(x0, x1, x2, x3, ty_Integer) 248.92/165.28 new_primModNatS1(Succ(Zero), Succ(x0)) 248.92/165.28 new_ms0(x0, Pos(x1)) 248.92/165.28 new_sr(x0, app(ty_Ratio, x1)) 248.92/165.28 new_primMulNat4(Zero) 248.92/165.28 new_gcd1(False, x0, x1) 248.92/165.28 new_primEqInt(Pos(Zero)) 248.92/165.28 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 248.92/165.28 new_rem(Pos(x0), Neg(Succ(x1))) 248.92/165.28 new_rem(Neg(x0), Pos(Succ(x1))) 248.92/165.28 new_sr10(x0) 248.92/165.28 new_quot1(x0, x1, x2, x3, ty_Int) 248.92/165.28 new_sr0(x0, app(ty_Ratio, x1)) 248.92/165.28 new_quot2(x0, x1, x2, x3, ty_Integer) 248.92/165.28 new_primModNatS01(x0, x1, Succ(x2), Zero) 248.92/165.28 new_sr3(x0, ty_Integer) 248.92/165.28 new_primMulNat3(Zero) 248.92/165.28 new_primDivNatS02(x0, x1, Succ(x2), Zero) 248.92/165.28 new_sr(x0, ty_Float) 248.92/165.28 new_quot2(x0, x1, x2, x3, ty_Int) 248.92/165.28 new_gcd2(False, x0, x1) 248.92/165.28 new_primDivNatS1(Succ(Zero), Zero) 248.92/165.28 new_sr0(x0, ty_Double) 248.92/165.28 new_esEs0(x0, ty_Int) 248.92/165.28 new_sr14(Pos(x0), Pos(x1)) 248.92/165.28 new_sr3(x0, ty_Int) 248.92/165.28 new_primMulNat0(Zero, Zero) 248.92/165.28 new_sr4(x0, x1, ty_Double) 248.92/165.28 new_primPlusNat0(Succ(x0), Zero) 248.92/165.28 new_fromInt0 248.92/165.28 new_fromInt 248.92/165.28 new_primMulNat2(Zero) 248.92/165.28 new_sr11(x0, x1) 248.92/165.28 new_primModNatS01(x0, x1, Zero, Zero) 248.92/165.28 new_esEs2(x0, x1, ty_Int) 248.92/165.28 new_gcd1(True, x0, x1) 248.92/165.28 new_sr13(x0, x1) 248.92/165.28 new_sr14(Pos(x0), Neg(x1)) 248.92/165.28 new_sr14(Neg(x0), Pos(x1)) 248.92/165.28 new_primDivNatS1(Succ(Succ(x0)), Succ(x1)) 248.92/165.28 new_sr1(x0, ty_Int) 248.92/165.28 new_primModNatS1(Zero, x0) 248.92/165.28 new_esEs(Pos(Succ(x0))) 248.92/165.28 new_primMulNat3(Succ(x0)) 248.92/165.28 new_sr1(x0, app(ty_Ratio, x1)) 248.92/165.28 new_primQuotInt(x0, Neg(Succ(x1))) 248.92/165.28 new_reduce2Reduce1(x0, x1, x2, x3, False, x4) 248.92/165.28 new_primMinusNat0(Zero, Zero) 248.92/165.28 new_primDivNatS1(Zero, x0) 248.92/165.28 new_primDivNatS02(x0, x1, Succ(x2), Succ(x3)) 248.92/165.28 new_primModNatS02(x0, x1) 248.92/165.28 new_primDivNatS1(Succ(Zero), Succ(x0)) 248.92/165.28 new_sr6(Neg(x0)) 248.92/165.28 new_gcd0Gcd'10(True, x0, x1) 248.92/165.28 new_primMulNat0(Succ(x0), Succ(x1)) 248.92/165.28 new_abs(Neg(Zero)) 248.92/165.28 new_ms(x0, Neg(x1)) 248.92/165.28 new_rem(Pos(x0), Neg(Zero)) 248.92/165.28 new_rem(Neg(x0), Pos(Zero)) 248.92/165.28 new_primMinusNatS2(Zero, Succ(x0)) 248.92/165.28 new_esEs(Neg(Succ(x0))) 248.92/165.28 new_error 248.92/165.28 new_primModNatS1(Succ(Zero), Zero) 248.92/165.28 new_primMulNat0(Zero, Succ(x0)) 248.92/165.28 new_sr3(x0, ty_Float) 248.92/165.28 new_quot(x0, x1, x2) 248.92/165.28 new_gcd2(True, x0, x1) 248.92/165.28 new_gcd0Gcd'11(True, x0, x1) 248.92/165.28 new_primEqInt(Neg(Zero)) 248.92/165.28 new_sr2(x0, x1, ty_Double) 248.92/165.28 new_primMulNat0(Succ(x0), Zero) 248.92/165.28 new_quot0(Neg(x0), x1, x2) 248.92/165.28 new_primMinusNatS2(Succ(x0), Succ(x1)) 248.92/165.28 new_sr4(x0, x1, app(ty_Ratio, x2)) 248.92/165.28 new_sr8(x0, x1) 248.92/165.28 new_primDivNatS01(x0, x1) 248.92/165.28 new_primDivNatS02(x0, x1, Zero, Succ(x2)) 248.92/165.28 new_primPlusNat0(Succ(x0), Succ(x1)) 248.92/165.28 new_sr1(x0, ty_Integer) 248.92/165.28 new_primPlusNat0(Zero, Zero) 248.92/165.28 new_sr1(x0, ty_Float) 248.92/165.28 new_primMinusNat0(Succ(x0), Succ(x1)) 248.92/165.28 new_sr12(:%(x0, x1), :%(x2, x3), x4) 248.92/165.28 new_abs(Neg(Succ(x0))) 248.92/165.28 new_sr1(x0, ty_Double) 248.92/165.28 new_sr3(x0, app(ty_Ratio, x1)) 248.92/165.28 new_sr7(x0) 248.92/165.28 new_gcd0(x0, x1) 248.92/165.28 new_sr(x0, ty_Integer) 248.92/165.28 new_sr0(x0, ty_Int) 248.92/165.28 new_primQuotInt0(x0, Pos(Succ(x1))) 248.92/165.28 new_sr4(x0, x1, ty_Integer) 248.92/165.28 new_sr5(:%(x0, x1), x2) 248.92/165.28 new_primMinusNatS2(Zero, Zero) 248.92/165.28 new_primMulNat1(Succ(x0)) 248.92/165.28 new_sr0(x0, ty_Integer) 248.92/165.28 new_ms(x0, Pos(Zero)) 248.92/165.28 new_abs(Pos(Succ(x0))) 248.92/165.28 new_sr4(x0, x1, ty_Int) 248.92/165.28 new_esEs(Pos(Zero)) 248.92/165.28 new_primQuotInt0(x0, Pos(Zero)) 248.92/165.28 new_sr(x0, ty_Int) 248.92/165.28 new_primEqInt(Neg(Succ(x0))) 248.92/165.28 new_primQuotInt(x0, Neg(Zero)) 248.92/165.28 new_primQuotInt0(x0, Neg(Zero)) 248.92/165.28 new_primQuotInt0(x0, Neg(Succ(x1))) 248.92/165.28 new_gcd(x0, x1) 248.92/165.28 new_quot0(Pos(x0), x1, x2) 248.92/165.28 new_primMinusNatS0(x0) 248.92/165.28 new_primPlusNat0(Zero, Succ(x0)) 248.92/165.28 new_sr2(x0, x1, app(ty_Ratio, x2)) 248.92/165.28 new_sr2(x0, x1, ty_Int) 248.92/165.28 new_primQuotInt(x0, Pos(Succ(x1))) 248.92/165.28 new_primDivNatS1(Succ(Succ(x0)), Zero) 248.92/165.28 new_rem(Pos(x0), Pos(Zero)) 248.92/165.28 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 248.92/165.28 new_primDivNatS02(x0, x1, Zero, Zero) 248.92/165.28 new_abs(Pos(Zero)) 248.92/165.28 new_gcd0Gcd'10(False, x0, x1) 248.92/165.28 new_ms(x0, Pos(Succ(x1))) 248.92/165.28 new_primMinusNatS1 248.92/165.28 new_esEs1(Integer(x0)) 248.92/165.28 new_ms0(x0, Neg(Zero)) 248.92/165.28 new_primMinusNat0(Succ(x0), Zero) 248.92/165.28 new_ms0(x0, Neg(Succ(x1))) 248.92/165.28 new_sr2(x0, x1, ty_Integer) 248.92/165.28 new_primModNatS01(x0, x1, Zero, Succ(x2)) 248.92/165.28 new_primMulNat2(Succ(x0)) 248.92/165.28 new_sr0(x0, ty_Float) 248.92/165.28 new_sr14(Neg(x0), Neg(x1)) 248.92/165.28 new_sr2(x0, x1, ty_Float) 248.92/165.28 new_primMinusNatS2(Succ(x0), Zero) 248.92/165.28 new_sr4(x0, x1, ty_Float) 248.92/165.28 new_sr6(Pos(x0)) 248.92/165.28 new_esEs2(x0, x1, ty_Integer) 248.92/165.28 new_primMulNat4(Succ(x0)) 248.92/165.28 new_rem(Neg(x0), Neg(Succ(x1))) 248.92/165.28 new_primEqInt(Pos(Succ(x0))) 248.92/165.28 new_primQuotInt(x0, Pos(Zero)) 248.92/165.28 new_gcd0Gcd'11(False, x0, x1) 248.92/165.28 new_sr9(x0) 248.92/165.28 new_primModNatS1(Succ(Succ(x0)), Zero) 248.92/165.28 new_sr(x0, ty_Double) 248.92/165.28 new_esEs0(x0, ty_Integer) 248.92/165.28 new_gcd0Gcd'00(x0, x1) 248.92/165.28 new_reduce2Reduce1(x0, x1, x2, x3, True, x4) 248.92/165.28 new_sr3(x0, ty_Double) 248.92/165.28 new_esEs(Neg(Zero)) 248.92/165.28 new_primMulNat1(Zero) 248.92/165.28 new_primMinusNat0(Zero, Succ(x0)) 248.92/165.28 new_rem(Neg(x0), Neg(Zero)) 248.92/165.28 248.92/165.28 We have to consider all minimal (P,Q,R)-chains. 248.92/165.28 ---------------------------------------- 248.92/165.28 248.92/165.28 (717) TransformationProof (EQUIVALENT) 248.92/165.28 By rewriting [LPAR04] the rule new_pr2F0(vyv183, Pos(Succ(Zero)), vyv187, h) -> new_pr2F(vyv183, Zero, new_fromInt, vyv187, h) at position [2] we obtained the following new rules [LPAR04]: 248.92/165.28 248.92/165.28 (new_pr2F0(vyv183, Pos(Succ(Zero)), vyv187, h) -> new_pr2F(vyv183, Zero, Pos(Succ(Zero)), vyv187, h),new_pr2F0(vyv183, Pos(Succ(Zero)), vyv187, h) -> new_pr2F(vyv183, Zero, Pos(Succ(Zero)), vyv187, h)) 248.92/165.28 248.92/165.28 248.92/165.28 ---------------------------------------- 248.92/165.28 248.92/165.28 (718) 248.92/165.28 Obligation: 248.92/165.28 Q DP problem: 248.92/165.28 The TRS P consists of the following rules: 248.92/165.28 248.92/165.28 new_pr2F0G10(vyv248, vyv249, vyv250, Succ(Succ(vyv25100)), bb) -> new_pr2F0G10(vyv248, vyv249, vyv250, vyv25100, bb) 248.92/165.28 new_pr2F0G(vyv187, vyv183, Neg(Succ(Zero)), h) -> new_pr2F0G11(vyv187, vyv183, Zero, h) 248.92/165.28 new_pr2F0G(vyv187, vyv183, Pos(Succ(Succ(vyv222000))), h) -> new_pr2F0G1(vyv187, vyv183, Succ(vyv222000), vyv222000, h) 248.92/165.28 new_pr2F0G1(vyv226, vyv227, vyv228, Succ(Zero), ba) -> new_pr2F(vyv227, vyv228, new_fromInt, vyv226, ba) 248.92/165.28 new_pr2F0(vyv183, Neg(Succ(Succ(vyv222000))), vyv187, h) -> new_pr2F0G10(vyv187, vyv183, Succ(vyv222000), vyv222000, h) 248.92/165.28 new_pr2F0(vyv183, Neg(Succ(Zero)), vyv187, h) -> new_pr2F0G11(vyv187, vyv183, Zero, h) 248.92/165.28 new_pr2F0G10(vyv248, vyv249, vyv250, Succ(Zero), bb) -> new_pr2F0G11(vyv248, vyv249, vyv250, bb) 248.92/165.28 new_pr2F0G(vyv187, vyv183, Pos(Succ(Zero)), h) -> new_pr2F(vyv183, Zero, new_fromInt, vyv187, h) 248.92/165.28 new_pr2F0G(vyv187, vyv183, Pos(Zero), h) -> new_pr2F0G(vyv187, new_sr(vyv183, h), new_primQuotInt(Zero, new_fromInt0), h) 248.92/165.28 new_pr2F0G(vyv187, vyv183, Neg(Succ(Succ(vyv222000))), h) -> new_pr2F0G10(vyv187, vyv183, Succ(vyv222000), vyv222000, h) 248.92/165.28 new_pr2F3(False, vyv227, vyv228, vyv244, vyv226, ba) -> new_pr2F0(vyv227, new_ms(vyv228, vyv244), new_sr2(vyv227, vyv226, ba), ba) 248.92/165.28 new_pr2F0(vyv183, Pos(Succ(Succ(vyv222000))), vyv187, h) -> new_pr2F0G1(vyv187, vyv183, Succ(vyv222000), vyv222000, h) 248.92/165.28 new_pr2F0G1(vyv226, vyv227, vyv228, Zero, ba) -> new_pr2F0G(vyv226, new_sr1(vyv227, ba), new_primQuotInt(Succ(vyv228), new_fromInt0), ba) 248.92/165.28 new_pr2F1(vyv239, vyv240, vyv243, vyv238, bc) -> new_pr2F30(new_esEs(new_ms0(vyv240, vyv243)), vyv239, vyv240, vyv243, vyv238, bc) 248.92/165.28 new_pr2F(vyv227, vyv228, vyv244, vyv226, ba) -> new_pr2F3(new_esEs(new_ms(vyv228, vyv244)), vyv227, vyv228, vyv244, vyv226, ba) 248.92/165.28 new_pr2F0G1(vyv226, vyv227, vyv228, Succ(Succ(vyv22900)), ba) -> new_pr2F0G1(vyv226, vyv227, vyv228, vyv22900, ba) 248.92/165.28 new_pr2F30(False, vyv239, vyv240, vyv243, vyv238, bc) -> new_pr2F0(vyv239, new_ms0(vyv240, vyv243), new_sr4(vyv239, vyv238, bc), bc) 248.92/165.28 new_pr2F0(vyv183, Pos(Zero), vyv187, h) -> new_pr2F0G(vyv187, new_sr(vyv183, h), new_primQuotInt(Zero, new_fromInt0), h) 248.92/165.28 new_pr2F0(vyv183, Neg(Zero), vyv187, h) -> new_pr2F0G(vyv187, new_sr0(vyv183, h), new_primQuotInt0(Zero, Pos(Succ(Succ(Zero)))), h) 248.92/165.28 new_pr2F0G11(vyv238, vyv239, vyv240, bc) -> new_pr2F1(vyv239, vyv240, Pos(Succ(Zero)), vyv238, bc) 248.92/165.28 new_pr2F0G(vyv187, vyv183, Neg(Zero), h) -> new_pr2F0G(vyv187, new_sr0(vyv183, h), new_primQuotInt0(Zero, Pos(Succ(Succ(Zero)))), h) 248.92/165.28 new_pr2F0G10(vyv248, vyv249, vyv250, Zero, bb) -> new_pr2F0G(vyv248, new_sr3(vyv249, bb), new_primQuotInt0(Succ(vyv250), Pos(Succ(Succ(Zero)))), bb) 248.92/165.28 new_pr2F0(vyv183, Pos(Succ(Zero)), vyv187, h) -> new_pr2F(vyv183, Zero, Pos(Succ(Zero)), vyv187, h) 248.92/165.28 248.92/165.28 The TRS R consists of the following rules: 248.92/165.28 248.92/165.28 new_sr2(vyv227, vyv226, ty_Int) -> new_sr14(vyv227, vyv226) 248.92/165.28 new_quot2(vyv266, vyv267, vyv264, vyv265, ty_Int) -> new_quot0(new_sr14(vyv266, vyv267), new_sr14(vyv264, vyv265), new_sr14(vyv266, vyv267)) 248.92/165.28 new_sr(vyv183, ty_Int) -> new_sr6(vyv183) 248.92/165.28 new_sr11(vyv239, vyv238) -> error([]) 248.92/165.28 new_primPlusNat0(Zero, Zero) -> Zero 248.92/165.28 new_sr1(vyv227, ty_Int) -> new_sr6(vyv227) 248.92/165.28 new_abs(Neg(Zero)) -> Neg(Zero) 248.92/165.28 new_esEs2(vyv2391, vyv2381, ty_Int) -> new_esEs(new_sr14(vyv2391, vyv2381)) 248.92/165.28 new_gcd0Gcd'10(True, vyv272, vyv271) -> new_abs(vyv272) 248.92/165.28 new_sr8(vyv239, vyv238) -> error([]) 248.92/165.28 new_sr1(vyv227, ty_Integer) -> new_sr7(vyv227) 248.92/165.28 new_primDivNatS1(Zero, vyv28400) -> Zero 248.92/165.28 new_sr(vyv183, app(ty_Ratio, bd)) -> new_sr5(vyv183, bd) 248.92/165.28 new_primDivNatS1(Succ(Succ(vyv270000)), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS0(vyv270000), Zero)) 248.92/165.28 new_sr(vyv183, ty_Integer) -> new_sr7(vyv183) 248.92/165.28 new_gcd0Gcd'11(True, vyv291, vyv292) -> vyv291 248.92/165.28 new_primMinusNatS2(Zero, Succ(vyv3110)) -> Zero 248.92/165.28 new_primMinusNat0(Succ(vyv2280), Succ(vyv244000)) -> new_primMinusNat0(vyv2280, vyv244000) 248.92/165.28 new_sr1(vyv227, app(ty_Ratio, be)) -> new_sr5(vyv227, be) 248.92/165.28 new_esEs0(vyv1831, ty_Int) -> new_esEs(new_sr6(vyv1831)) 248.92/165.28 new_primEqInt(Pos(Succ(vyv242000))) -> False 248.92/165.28 new_ms(vyv228, Neg(vyv2440)) -> Pos(new_primPlusNat0(Succ(vyv228), vyv2440)) 248.92/165.28 new_sr(vyv183, ty_Float) -> new_sr10(vyv183) 248.92/165.28 new_sr2(vyv227, vyv226, ty_Double) -> new_sr11(vyv227, vyv226) 248.92/165.28 new_abs(Neg(Succ(vyv27100))) -> Pos(Succ(vyv27100)) 248.92/165.28 new_gcd1(True, vyv272, vyv271) -> new_error 248.92/165.28 new_sr4(vyv239, vyv238, app(ty_Ratio, bf)) -> new_sr12(vyv239, vyv238, bf) 248.92/165.28 new_primMulNat1(Succ(vyv18300)) -> new_primPlusNat0(new_primMulNat2(vyv18300), Succ(vyv18300)) 248.92/165.28 new_sr3(vyv249, ty_Float) -> new_sr10(vyv249) 248.92/165.28 new_ms(vyv228, Pos(Succ(vyv24400))) -> new_primMinusNat0(vyv228, vyv24400) 248.92/165.28 new_primDivNatS02(vyv310, vyv311, Zero, Zero) -> new_primDivNatS01(vyv310, vyv311) 248.92/165.28 new_primMinusNatS1 -> Zero 248.92/165.28 new_sr4(vyv239, vyv238, ty_Integer) -> new_sr8(vyv239, vyv238) 248.92/165.28 new_primMinusNatS2(Succ(vyv3100), Zero) -> Succ(vyv3100) 248.92/165.28 new_sr0(vyv183, ty_Double) -> new_sr9(vyv183) 248.92/165.28 new_sr0(vyv183, ty_Int) -> new_sr6(vyv183) 248.92/165.28 new_primPlusNat0(Succ(vyv4000), Succ(vyv5000)) -> Succ(Succ(new_primPlusNat0(vyv4000, vyv5000))) 248.92/165.28 new_sr7(vyv183) -> error([]) 248.92/165.28 new_sr5(:%(vyv1830, vyv1831), bd) -> new_reduce2Reduce1(vyv1830, vyv1830, vyv1831, vyv1831, new_esEs0(vyv1831, bd), bd) 248.92/165.28 new_sr14(Pos(vyv2390), Neg(vyv2380)) -> Neg(new_primMulNat0(vyv2390, vyv2380)) 248.92/165.28 new_sr14(Neg(vyv2390), Pos(vyv2380)) -> Neg(new_primMulNat0(vyv2390, vyv2380)) 248.92/165.28 new_sr0(vyv183, ty_Integer) -> new_sr7(vyv183) 248.92/165.28 new_primMulNat2(Succ(vyv183000)) -> new_primPlusNat0(new_primMulNat3(vyv183000), Succ(Succ(vyv183000))) 248.92/165.28 new_sr14(Neg(vyv2390), Neg(vyv2380)) -> Pos(new_primMulNat0(vyv2390, vyv2380)) 248.92/165.28 new_gcd1(False, vyv272, vyv271) -> new_gcd0(vyv272, vyv271) 248.92/165.28 new_sr4(vyv239, vyv238, ty_Int) -> new_sr14(vyv239, vyv238) 248.92/165.28 new_primDivNatS1(Succ(Zero), Succ(vyv284000)) -> Zero 248.92/165.28 new_primMulNat4(Succ(vyv18300000)) -> new_primPlusNat0(new_primMulNat0(vyv18300000, Succ(Succ(Succ(Succ(vyv18300000))))), Succ(Succ(Succ(Succ(vyv18300000))))) 248.92/165.28 new_primModNatS01(vyv330, vyv331, Zero, Succ(vyv3330)) -> Succ(Succ(vyv330)) 248.92/165.28 new_primModNatS1(Succ(Succ(vyv292000)), Succ(vyv291000)) -> new_primModNatS01(vyv292000, vyv291000, vyv292000, vyv291000) 248.92/165.28 new_primDivNatS02(vyv310, vyv311, Succ(vyv3120), Zero) -> new_primDivNatS01(vyv310, vyv311) 248.92/165.28 new_primDivNatS01(vyv310, vyv311) -> Succ(new_primDivNatS1(new_primMinusNatS2(vyv310, vyv311), Succ(vyv311))) 248.92/165.28 new_primDivNatS02(vyv310, vyv311, Zero, Succ(vyv3130)) -> Zero 248.92/165.28 new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) 248.92/165.28 new_esEs(Pos(Succ(vyv24100))) -> new_primEqInt(Pos(Succ(vyv24100))) 248.92/165.28 new_ms(vyv228, Pos(Zero)) -> Pos(Succ(vyv228)) 248.92/165.28 new_primMinusNat0(Zero, Zero) -> Pos(Zero) 248.92/165.28 new_sr1(vyv227, ty_Float) -> new_sr10(vyv227) 248.92/165.28 new_sr2(vyv227, vyv226, ty_Integer) -> new_sr8(vyv227, vyv226) 248.92/165.28 new_sr10(vyv183) -> error([]) 248.92/165.28 new_rem(Pos(vyv2920), Neg(Zero)) -> new_error 248.92/165.28 new_rem(Neg(vyv2920), Pos(Zero)) -> new_error 248.92/165.28 new_primModNatS01(vyv330, vyv331, Zero, Zero) -> new_primModNatS02(vyv330, vyv331) 248.92/165.28 new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) 248.92/165.28 new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Zero) -> new_primModNatS02(vyv330, vyv331) 248.92/165.28 new_primModNatS02(vyv330, vyv331) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv330), Succ(vyv331)), Succ(vyv331)) 248.92/165.28 new_reduce2Reduce1(vyv264, vyv265, vyv266, vyv267, False, bh) -> :%(new_quot1(vyv264, vyv265, vyv266, vyv267, bh), new_quot2(vyv266, vyv267, vyv264, vyv265, bh)) 248.92/165.28 new_rem(Pos(vyv2920), Neg(Succ(vyv29100))) -> Pos(new_primModNatS1(vyv2920, vyv29100)) 248.92/165.28 new_primDivNatS02(vyv310, vyv311, Succ(vyv3120), Succ(vyv3130)) -> new_primDivNatS02(vyv310, vyv311, vyv3120, vyv3130) 248.92/165.28 new_primMulNat0(Succ(vyv23900), Zero) -> Zero 248.92/165.28 new_primMulNat0(Zero, Succ(vyv23800)) -> Zero 248.92/165.28 new_primQuotInt0(vyv2700, Neg(Zero)) -> new_error 248.92/165.28 new_quot0(Neg(vyv2700), vyv272, vyv271) -> new_primQuotInt0(vyv2700, new_gcd(vyv272, vyv271)) 248.92/165.28 new_primQuotInt(vyv2700, Neg(Zero)) -> new_error 248.92/165.28 new_sr13(vyv239, vyv238) -> error([]) 248.92/165.28 new_rem(Neg(vyv2920), Pos(Succ(vyv29100))) -> Neg(new_primModNatS1(vyv2920, vyv29100)) 248.92/165.28 new_sr4(vyv239, vyv238, ty_Double) -> new_sr11(vyv239, vyv238) 248.92/165.28 new_primMulNat4(Zero) -> Zero 248.92/165.28 new_quot1(vyv264, vyv265, vyv266, vyv267, ty_Int) -> new_quot0(new_sr14(vyv264, vyv265), new_sr14(vyv264, vyv265), new_sr14(vyv266, vyv267)) 248.92/165.28 new_sr9(vyv183) -> error([]) 248.92/165.28 new_gcd0Gcd'10(False, vyv272, vyv271) -> new_gcd0Gcd'00(new_abs(vyv272), new_abs(vyv271)) 248.92/165.28 new_primPlusNat0(Succ(vyv4000), Zero) -> Succ(vyv4000) 248.92/165.28 new_primPlusNat0(Zero, Succ(vyv5000)) -> Succ(vyv5000) 248.92/165.28 new_primMulNat0(Zero, Zero) -> Zero 248.92/165.28 new_primQuotInt(vyv2700, Pos(Succ(vyv28400))) -> Pos(new_primDivNatS1(vyv2700, vyv28400)) 248.92/165.28 new_sr3(vyv249, ty_Double) -> new_sr9(vyv249) 248.92/165.28 new_primMulNat3(Succ(vyv1830000)) -> new_primPlusNat0(new_primMulNat4(vyv1830000), Succ(Succ(Succ(vyv1830000)))) 248.92/165.28 new_esEs(Neg(Succ(vyv24100))) -> new_primEqInt(Neg(Succ(vyv24100))) 248.92/165.28 new_esEs1(Integer(vyv2690)) -> new_primEqInt(vyv2690) 248.92/165.28 new_primMulNat0(Succ(vyv23900), Succ(vyv23800)) -> new_primPlusNat0(new_primMulNat0(vyv23900, Succ(vyv23800)), Succ(vyv23800)) 248.92/165.28 new_quot0(Pos(vyv2700), vyv272, vyv271) -> new_primQuotInt(vyv2700, new_gcd(vyv272, vyv271)) 248.92/165.28 new_sr6(Neg(vyv1830)) -> Pos(new_primMulNat1(vyv1830)) 248.92/165.28 new_primQuotInt(vyv2700, Pos(Zero)) -> new_error 248.92/165.28 new_rem(Pos(vyv2920), Pos(Succ(vyv29100))) -> Pos(new_primModNatS1(vyv2920, vyv29100)) 248.92/165.28 new_abs(Pos(Succ(vyv27100))) -> Pos(Succ(vyv27100)) 248.92/165.28 new_primEqInt(Pos(Zero)) -> True 248.92/165.28 new_primMulNat1(Zero) -> Zero 248.92/165.28 new_quot1(vyv264, vyv265, vyv266, vyv267, ty_Integer) -> new_quot(new_sr8(vyv264, vyv265), new_sr8(vyv264, vyv265), new_sr8(vyv266, vyv267)) 248.92/165.28 new_gcd(vyv272, vyv271) -> new_gcd2(new_esEs(vyv272), vyv272, vyv271) 248.92/165.28 new_rem(Neg(vyv2920), Neg(Zero)) -> new_error 248.92/165.28 new_sr2(vyv227, vyv226, ty_Float) -> new_sr13(vyv227, vyv226) 248.92/165.28 new_gcd2(True, vyv272, vyv271) -> new_gcd1(new_esEs(vyv271), vyv272, vyv271) 248.92/165.28 new_primMinusNat0(Zero, Succ(vyv244000)) -> Neg(Succ(vyv244000)) 248.92/165.28 new_primQuotInt0(vyv2700, Pos(Succ(vyv28700))) -> Neg(new_primDivNatS1(vyv2700, vyv28700)) 248.92/165.28 new_ms0(vyv240, Neg(Zero)) -> Neg(Succ(vyv240)) 248.92/165.28 new_gcd0Gcd'00(vyv292, vyv291) -> new_gcd0Gcd'11(new_esEs(new_rem(vyv292, vyv291)), vyv291, vyv292) 248.92/165.28 new_fromInt -> Pos(Succ(Zero)) 248.92/165.28 new_sr6(Pos(vyv1830)) -> Pos(new_primMulNat1(vyv1830)) 248.92/165.28 new_abs(Pos(Zero)) -> Pos(Zero) 248.92/165.28 new_primMulNat2(Zero) -> Zero 248.92/165.28 new_sr12(:%(vyv2390, vyv2391), :%(vyv2380, vyv2381), bf) -> new_reduce2Reduce1(vyv2390, vyv2380, vyv2391, vyv2381, new_esEs2(vyv2391, vyv2381, bf), bf) 248.92/165.28 new_primMinusNat0(Succ(vyv2280), Zero) -> Pos(Succ(vyv2280)) 248.92/165.28 new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Succ(vyv3330)) -> new_primModNatS01(vyv330, vyv331, vyv3320, vyv3330) 248.92/165.28 new_quot(vyv273, vyv275, vyv274) -> error([]) 248.92/165.28 new_sr3(vyv249, ty_Int) -> new_sr6(vyv249) 248.92/165.28 new_primModNatS1(Succ(Succ(vyv292000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv292000), Zero) 248.92/165.28 new_reduce2Reduce1(vyv264, vyv265, vyv266, vyv267, True, bh) -> error([]) 248.92/165.28 new_primModNatS1(Succ(Zero), Succ(vyv291000)) -> Succ(Zero) 248.92/165.28 new_primDivNatS1(Succ(Succ(vyv270000)), Succ(vyv284000)) -> new_primDivNatS02(vyv270000, vyv284000, vyv270000, vyv284000) 248.92/165.28 new_primMinusNatS2(Zero, Zero) -> Zero 248.92/165.28 new_sr0(vyv183, ty_Float) -> new_sr10(vyv183) 248.92/165.28 new_primEqInt(Neg(Zero)) -> True 248.92/165.28 new_primQuotInt(vyv2700, Neg(Succ(vyv28400))) -> Neg(new_primDivNatS1(vyv2700, vyv28400)) 248.92/165.28 new_quot2(vyv266, vyv267, vyv264, vyv265, ty_Integer) -> new_quot(new_sr8(vyv266, vyv267), new_sr8(vyv264, vyv265), new_sr8(vyv266, vyv267)) 248.92/165.28 new_primMinusNatS2(Succ(vyv3100), Succ(vyv3110)) -> new_primMinusNatS2(vyv3100, vyv3110) 248.92/165.28 new_esEs0(vyv1831, ty_Integer) -> new_esEs1(new_sr7(vyv1831)) 248.92/165.28 new_primMinusNatS0(vyv270000) -> Succ(vyv270000) 248.92/165.28 new_primMulNat3(Zero) -> Zero 248.92/165.28 new_ms0(vyv240, Pos(vyv2430)) -> Neg(new_primPlusNat0(Succ(vyv240), vyv2430)) 248.92/165.28 new_primQuotInt0(vyv2700, Neg(Succ(vyv28700))) -> Pos(new_primDivNatS1(vyv2700, vyv28700)) 248.92/165.28 new_sr2(vyv227, vyv226, app(ty_Ratio, be)) -> new_sr12(vyv227, vyv226, be) 248.92/165.28 new_sr1(vyv227, ty_Double) -> new_sr9(vyv227) 248.92/165.28 new_rem(Neg(vyv2920), Neg(Succ(vyv29100))) -> Neg(new_primModNatS1(vyv2920, vyv29100)) 248.92/165.28 new_sr3(vyv249, ty_Integer) -> new_sr7(vyv249) 248.92/165.28 new_primModNatS1(Zero, vyv29100) -> Zero 248.92/165.28 new_sr(vyv183, ty_Double) -> new_sr9(vyv183) 248.92/165.28 new_primDivNatS1(Succ(Zero), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS1, Zero)) 248.92/165.28 new_sr3(vyv249, app(ty_Ratio, bg)) -> new_sr5(vyv249, bg) 248.92/165.28 new_error -> error([]) 248.92/165.28 new_primEqInt(Neg(Succ(vyv242000))) -> False 248.92/165.28 new_fromInt0 -> Pos(Succ(Succ(Zero))) 248.92/165.28 new_gcd2(False, vyv272, vyv271) -> new_gcd0(vyv272, vyv271) 248.92/165.28 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 248.92/165.28 new_sr14(Pos(vyv2390), Pos(vyv2380)) -> Pos(new_primMulNat0(vyv2390, vyv2380)) 248.92/165.28 new_ms0(vyv240, Neg(Succ(vyv24300))) -> new_primMinusNat0(vyv24300, vyv240) 248.92/165.28 new_sr0(vyv183, app(ty_Ratio, bd)) -> new_sr5(vyv183, bd) 248.92/165.28 new_gcd0(vyv272, vyv271) -> new_gcd0Gcd'10(new_esEs(new_abs(vyv271)), vyv272, vyv271) 248.92/165.28 new_primQuotInt0(vyv2700, Pos(Zero)) -> new_error 248.92/165.28 new_sr4(vyv239, vyv238, ty_Float) -> new_sr13(vyv239, vyv238) 248.92/165.28 new_esEs2(vyv2391, vyv2381, ty_Integer) -> new_esEs1(new_sr8(vyv2391, vyv2381)) 248.92/165.28 new_gcd0Gcd'11(False, vyv291, vyv292) -> new_gcd0Gcd'00(vyv291, new_rem(vyv292, vyv291)) 248.92/165.28 new_rem(Pos(vyv2920), Pos(Zero)) -> new_error 248.92/165.28 248.92/165.28 The set Q consists of the following terms: 248.92/165.28 248.92/165.28 new_rem(Pos(x0), Pos(Succ(x1))) 248.92/165.28 new_quot1(x0, x1, x2, x3, ty_Integer) 248.92/165.28 new_primModNatS1(Succ(Zero), Succ(x0)) 248.92/165.28 new_ms0(x0, Pos(x1)) 248.92/165.28 new_sr(x0, app(ty_Ratio, x1)) 248.92/165.28 new_primMulNat4(Zero) 248.92/165.28 new_gcd1(False, x0, x1) 248.92/165.28 new_primEqInt(Pos(Zero)) 248.92/165.28 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 248.92/165.28 new_rem(Pos(x0), Neg(Succ(x1))) 248.92/165.28 new_rem(Neg(x0), Pos(Succ(x1))) 248.92/165.28 new_sr10(x0) 248.92/165.28 new_quot1(x0, x1, x2, x3, ty_Int) 248.92/165.28 new_sr0(x0, app(ty_Ratio, x1)) 248.92/165.28 new_quot2(x0, x1, x2, x3, ty_Integer) 248.92/165.28 new_primModNatS01(x0, x1, Succ(x2), Zero) 248.92/165.28 new_sr3(x0, ty_Integer) 248.92/165.28 new_primMulNat3(Zero) 248.92/165.28 new_primDivNatS02(x0, x1, Succ(x2), Zero) 248.92/165.28 new_sr(x0, ty_Float) 248.92/165.28 new_quot2(x0, x1, x2, x3, ty_Int) 248.92/165.28 new_gcd2(False, x0, x1) 248.92/165.28 new_primDivNatS1(Succ(Zero), Zero) 248.92/165.28 new_sr0(x0, ty_Double) 248.92/165.28 new_esEs0(x0, ty_Int) 248.92/165.28 new_sr14(Pos(x0), Pos(x1)) 248.92/165.28 new_sr3(x0, ty_Int) 248.92/165.28 new_primMulNat0(Zero, Zero) 248.92/165.28 new_sr4(x0, x1, ty_Double) 248.92/165.28 new_primPlusNat0(Succ(x0), Zero) 248.92/165.28 new_fromInt0 248.92/165.28 new_fromInt 248.92/165.28 new_primMulNat2(Zero) 248.92/165.28 new_sr11(x0, x1) 248.92/165.28 new_primModNatS01(x0, x1, Zero, Zero) 248.92/165.28 new_esEs2(x0, x1, ty_Int) 248.92/165.28 new_gcd1(True, x0, x1) 248.92/165.28 new_sr13(x0, x1) 248.92/165.28 new_sr14(Pos(x0), Neg(x1)) 248.92/165.28 new_sr14(Neg(x0), Pos(x1)) 248.92/165.28 new_primDivNatS1(Succ(Succ(x0)), Succ(x1)) 248.92/165.28 new_sr1(x0, ty_Int) 248.92/165.28 new_primModNatS1(Zero, x0) 248.92/165.28 new_esEs(Pos(Succ(x0))) 248.92/165.28 new_primMulNat3(Succ(x0)) 248.92/165.28 new_sr1(x0, app(ty_Ratio, x1)) 248.92/165.28 new_primQuotInt(x0, Neg(Succ(x1))) 248.92/165.28 new_reduce2Reduce1(x0, x1, x2, x3, False, x4) 248.92/165.28 new_primMinusNat0(Zero, Zero) 248.92/165.28 new_primDivNatS1(Zero, x0) 248.92/165.28 new_primDivNatS02(x0, x1, Succ(x2), Succ(x3)) 248.92/165.28 new_primModNatS02(x0, x1) 248.92/165.28 new_primDivNatS1(Succ(Zero), Succ(x0)) 248.92/165.28 new_sr6(Neg(x0)) 248.92/165.28 new_gcd0Gcd'10(True, x0, x1) 248.92/165.28 new_primMulNat0(Succ(x0), Succ(x1)) 248.92/165.28 new_abs(Neg(Zero)) 248.92/165.28 new_ms(x0, Neg(x1)) 248.92/165.28 new_rem(Pos(x0), Neg(Zero)) 248.92/165.28 new_rem(Neg(x0), Pos(Zero)) 248.92/165.28 new_primMinusNatS2(Zero, Succ(x0)) 248.92/165.28 new_esEs(Neg(Succ(x0))) 248.92/165.28 new_error 248.92/165.28 new_primModNatS1(Succ(Zero), Zero) 248.92/165.28 new_primMulNat0(Zero, Succ(x0)) 248.92/165.28 new_sr3(x0, ty_Float) 248.92/165.28 new_quot(x0, x1, x2) 248.92/165.28 new_gcd2(True, x0, x1) 248.92/165.28 new_gcd0Gcd'11(True, x0, x1) 248.92/165.28 new_primEqInt(Neg(Zero)) 248.92/165.28 new_sr2(x0, x1, ty_Double) 248.92/165.28 new_primMulNat0(Succ(x0), Zero) 248.92/165.28 new_quot0(Neg(x0), x1, x2) 248.92/165.28 new_primMinusNatS2(Succ(x0), Succ(x1)) 248.92/165.28 new_sr4(x0, x1, app(ty_Ratio, x2)) 248.92/165.28 new_sr8(x0, x1) 248.92/165.28 new_primDivNatS01(x0, x1) 248.92/165.28 new_primDivNatS02(x0, x1, Zero, Succ(x2)) 248.92/165.28 new_primPlusNat0(Succ(x0), Succ(x1)) 248.92/165.28 new_sr1(x0, ty_Integer) 248.92/165.28 new_primPlusNat0(Zero, Zero) 248.92/165.28 new_sr1(x0, ty_Float) 248.92/165.28 new_primMinusNat0(Succ(x0), Succ(x1)) 248.92/165.28 new_sr12(:%(x0, x1), :%(x2, x3), x4) 248.92/165.28 new_abs(Neg(Succ(x0))) 248.92/165.28 new_sr1(x0, ty_Double) 248.92/165.28 new_sr3(x0, app(ty_Ratio, x1)) 248.92/165.28 new_sr7(x0) 248.92/165.28 new_gcd0(x0, x1) 248.92/165.28 new_sr(x0, ty_Integer) 248.92/165.28 new_sr0(x0, ty_Int) 248.92/165.28 new_primQuotInt0(x0, Pos(Succ(x1))) 248.92/165.28 new_sr4(x0, x1, ty_Integer) 248.92/165.28 new_sr5(:%(x0, x1), x2) 248.92/165.28 new_primMinusNatS2(Zero, Zero) 248.92/165.28 new_primMulNat1(Succ(x0)) 248.92/165.28 new_sr0(x0, ty_Integer) 248.92/165.28 new_ms(x0, Pos(Zero)) 248.92/165.28 new_abs(Pos(Succ(x0))) 248.92/165.28 new_sr4(x0, x1, ty_Int) 248.92/165.28 new_esEs(Pos(Zero)) 248.92/165.28 new_primQuotInt0(x0, Pos(Zero)) 248.92/165.28 new_sr(x0, ty_Int) 248.92/165.28 new_primEqInt(Neg(Succ(x0))) 248.92/165.28 new_primQuotInt(x0, Neg(Zero)) 248.92/165.28 new_primQuotInt0(x0, Neg(Zero)) 248.92/165.28 new_primQuotInt0(x0, Neg(Succ(x1))) 248.92/165.28 new_gcd(x0, x1) 248.92/165.28 new_quot0(Pos(x0), x1, x2) 248.92/165.28 new_primMinusNatS0(x0) 248.92/165.28 new_primPlusNat0(Zero, Succ(x0)) 248.92/165.28 new_sr2(x0, x1, app(ty_Ratio, x2)) 248.92/165.28 new_sr2(x0, x1, ty_Int) 248.92/165.28 new_primQuotInt(x0, Pos(Succ(x1))) 248.92/165.28 new_primDivNatS1(Succ(Succ(x0)), Zero) 248.92/165.28 new_rem(Pos(x0), Pos(Zero)) 248.92/165.28 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 248.92/165.28 new_primDivNatS02(x0, x1, Zero, Zero) 248.92/165.28 new_abs(Pos(Zero)) 248.92/165.28 new_gcd0Gcd'10(False, x0, x1) 248.92/165.28 new_ms(x0, Pos(Succ(x1))) 248.92/165.28 new_primMinusNatS1 248.92/165.28 new_esEs1(Integer(x0)) 248.92/165.28 new_ms0(x0, Neg(Zero)) 248.92/165.28 new_primMinusNat0(Succ(x0), Zero) 248.92/165.28 new_ms0(x0, Neg(Succ(x1))) 248.92/165.28 new_sr2(x0, x1, ty_Integer) 248.92/165.28 new_primModNatS01(x0, x1, Zero, Succ(x2)) 248.92/165.28 new_primMulNat2(Succ(x0)) 248.92/165.28 new_sr0(x0, ty_Float) 248.92/165.28 new_sr14(Neg(x0), Neg(x1)) 248.92/165.28 new_sr2(x0, x1, ty_Float) 248.92/165.28 new_primMinusNatS2(Succ(x0), Zero) 248.92/165.28 new_sr4(x0, x1, ty_Float) 248.92/165.28 new_sr6(Pos(x0)) 248.92/165.28 new_esEs2(x0, x1, ty_Integer) 248.92/165.28 new_primMulNat4(Succ(x0)) 248.92/165.28 new_rem(Neg(x0), Neg(Succ(x1))) 248.92/165.28 new_primEqInt(Pos(Succ(x0))) 248.92/165.28 new_primQuotInt(x0, Pos(Zero)) 248.92/165.28 new_gcd0Gcd'11(False, x0, x1) 248.92/165.28 new_sr9(x0) 248.92/165.28 new_primModNatS1(Succ(Succ(x0)), Zero) 248.92/165.28 new_sr(x0, ty_Double) 248.92/165.28 new_esEs0(x0, ty_Integer) 248.92/165.28 new_gcd0Gcd'00(x0, x1) 248.92/165.28 new_reduce2Reduce1(x0, x1, x2, x3, True, x4) 248.92/165.28 new_sr3(x0, ty_Double) 248.92/165.28 new_esEs(Neg(Zero)) 248.92/165.28 new_primMulNat1(Zero) 248.92/165.28 new_primMinusNat0(Zero, Succ(x0)) 248.92/165.28 new_rem(Neg(x0), Neg(Zero)) 248.92/165.28 248.92/165.28 We have to consider all minimal (P,Q,R)-chains. 248.92/165.28 ---------------------------------------- 248.92/165.28 248.92/165.28 (719) TransformationProof (EQUIVALENT) 248.92/165.28 By rewriting [LPAR04] the rule new_pr2F0G1(vyv226, vyv227, vyv228, Succ(Zero), ba) -> new_pr2F(vyv227, vyv228, new_fromInt, vyv226, ba) at position [2] we obtained the following new rules [LPAR04]: 248.92/165.28 248.92/165.28 (new_pr2F0G1(vyv226, vyv227, vyv228, Succ(Zero), ba) -> new_pr2F(vyv227, vyv228, Pos(Succ(Zero)), vyv226, ba),new_pr2F0G1(vyv226, vyv227, vyv228, Succ(Zero), ba) -> new_pr2F(vyv227, vyv228, Pos(Succ(Zero)), vyv226, ba)) 248.92/165.28 248.92/165.28 248.92/165.28 ---------------------------------------- 248.92/165.28 248.92/165.28 (720) 248.92/165.28 Obligation: 248.92/165.28 Q DP problem: 248.92/165.28 The TRS P consists of the following rules: 248.92/165.28 248.92/165.28 new_pr2F0G10(vyv248, vyv249, vyv250, Succ(Succ(vyv25100)), bb) -> new_pr2F0G10(vyv248, vyv249, vyv250, vyv25100, bb) 248.92/165.28 new_pr2F0G(vyv187, vyv183, Neg(Succ(Zero)), h) -> new_pr2F0G11(vyv187, vyv183, Zero, h) 248.92/165.28 new_pr2F0G(vyv187, vyv183, Pos(Succ(Succ(vyv222000))), h) -> new_pr2F0G1(vyv187, vyv183, Succ(vyv222000), vyv222000, h) 248.92/165.28 new_pr2F0(vyv183, Neg(Succ(Succ(vyv222000))), vyv187, h) -> new_pr2F0G10(vyv187, vyv183, Succ(vyv222000), vyv222000, h) 248.92/165.28 new_pr2F0(vyv183, Neg(Succ(Zero)), vyv187, h) -> new_pr2F0G11(vyv187, vyv183, Zero, h) 248.92/165.28 new_pr2F0G10(vyv248, vyv249, vyv250, Succ(Zero), bb) -> new_pr2F0G11(vyv248, vyv249, vyv250, bb) 248.92/165.28 new_pr2F0G(vyv187, vyv183, Pos(Succ(Zero)), h) -> new_pr2F(vyv183, Zero, new_fromInt, vyv187, h) 248.92/165.28 new_pr2F0G(vyv187, vyv183, Pos(Zero), h) -> new_pr2F0G(vyv187, new_sr(vyv183, h), new_primQuotInt(Zero, new_fromInt0), h) 248.92/165.28 new_pr2F0G(vyv187, vyv183, Neg(Succ(Succ(vyv222000))), h) -> new_pr2F0G10(vyv187, vyv183, Succ(vyv222000), vyv222000, h) 248.92/165.28 new_pr2F3(False, vyv227, vyv228, vyv244, vyv226, ba) -> new_pr2F0(vyv227, new_ms(vyv228, vyv244), new_sr2(vyv227, vyv226, ba), ba) 248.92/165.28 new_pr2F0(vyv183, Pos(Succ(Succ(vyv222000))), vyv187, h) -> new_pr2F0G1(vyv187, vyv183, Succ(vyv222000), vyv222000, h) 248.92/165.28 new_pr2F0G1(vyv226, vyv227, vyv228, Zero, ba) -> new_pr2F0G(vyv226, new_sr1(vyv227, ba), new_primQuotInt(Succ(vyv228), new_fromInt0), ba) 248.92/165.28 new_pr2F1(vyv239, vyv240, vyv243, vyv238, bc) -> new_pr2F30(new_esEs(new_ms0(vyv240, vyv243)), vyv239, vyv240, vyv243, vyv238, bc) 248.92/165.28 new_pr2F(vyv227, vyv228, vyv244, vyv226, ba) -> new_pr2F3(new_esEs(new_ms(vyv228, vyv244)), vyv227, vyv228, vyv244, vyv226, ba) 248.92/165.28 new_pr2F0G1(vyv226, vyv227, vyv228, Succ(Succ(vyv22900)), ba) -> new_pr2F0G1(vyv226, vyv227, vyv228, vyv22900, ba) 248.92/165.28 new_pr2F30(False, vyv239, vyv240, vyv243, vyv238, bc) -> new_pr2F0(vyv239, new_ms0(vyv240, vyv243), new_sr4(vyv239, vyv238, bc), bc) 248.92/165.28 new_pr2F0(vyv183, Pos(Zero), vyv187, h) -> new_pr2F0G(vyv187, new_sr(vyv183, h), new_primQuotInt(Zero, new_fromInt0), h) 248.92/165.28 new_pr2F0(vyv183, Neg(Zero), vyv187, h) -> new_pr2F0G(vyv187, new_sr0(vyv183, h), new_primQuotInt0(Zero, Pos(Succ(Succ(Zero)))), h) 248.92/165.28 new_pr2F0G11(vyv238, vyv239, vyv240, bc) -> new_pr2F1(vyv239, vyv240, Pos(Succ(Zero)), vyv238, bc) 248.92/165.28 new_pr2F0G(vyv187, vyv183, Neg(Zero), h) -> new_pr2F0G(vyv187, new_sr0(vyv183, h), new_primQuotInt0(Zero, Pos(Succ(Succ(Zero)))), h) 248.92/165.28 new_pr2F0G10(vyv248, vyv249, vyv250, Zero, bb) -> new_pr2F0G(vyv248, new_sr3(vyv249, bb), new_primQuotInt0(Succ(vyv250), Pos(Succ(Succ(Zero)))), bb) 248.92/165.28 new_pr2F0(vyv183, Pos(Succ(Zero)), vyv187, h) -> new_pr2F(vyv183, Zero, Pos(Succ(Zero)), vyv187, h) 248.92/165.28 new_pr2F0G1(vyv226, vyv227, vyv228, Succ(Zero), ba) -> new_pr2F(vyv227, vyv228, Pos(Succ(Zero)), vyv226, ba) 248.92/165.28 248.92/165.28 The TRS R consists of the following rules: 248.92/165.28 248.92/165.28 new_sr2(vyv227, vyv226, ty_Int) -> new_sr14(vyv227, vyv226) 248.92/165.28 new_quot2(vyv266, vyv267, vyv264, vyv265, ty_Int) -> new_quot0(new_sr14(vyv266, vyv267), new_sr14(vyv264, vyv265), new_sr14(vyv266, vyv267)) 248.92/165.28 new_sr(vyv183, ty_Int) -> new_sr6(vyv183) 248.92/165.28 new_sr11(vyv239, vyv238) -> error([]) 248.92/165.28 new_primPlusNat0(Zero, Zero) -> Zero 248.92/165.28 new_sr1(vyv227, ty_Int) -> new_sr6(vyv227) 248.92/165.28 new_abs(Neg(Zero)) -> Neg(Zero) 248.92/165.28 new_esEs2(vyv2391, vyv2381, ty_Int) -> new_esEs(new_sr14(vyv2391, vyv2381)) 248.92/165.28 new_gcd0Gcd'10(True, vyv272, vyv271) -> new_abs(vyv272) 248.92/165.28 new_sr8(vyv239, vyv238) -> error([]) 248.92/165.28 new_sr1(vyv227, ty_Integer) -> new_sr7(vyv227) 248.92/165.28 new_primDivNatS1(Zero, vyv28400) -> Zero 248.92/165.28 new_sr(vyv183, app(ty_Ratio, bd)) -> new_sr5(vyv183, bd) 248.92/165.28 new_primDivNatS1(Succ(Succ(vyv270000)), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS0(vyv270000), Zero)) 248.92/165.28 new_sr(vyv183, ty_Integer) -> new_sr7(vyv183) 248.92/165.28 new_gcd0Gcd'11(True, vyv291, vyv292) -> vyv291 248.92/165.28 new_primMinusNatS2(Zero, Succ(vyv3110)) -> Zero 248.92/165.28 new_primMinusNat0(Succ(vyv2280), Succ(vyv244000)) -> new_primMinusNat0(vyv2280, vyv244000) 248.92/165.28 new_sr1(vyv227, app(ty_Ratio, be)) -> new_sr5(vyv227, be) 248.92/165.28 new_esEs0(vyv1831, ty_Int) -> new_esEs(new_sr6(vyv1831)) 248.92/165.28 new_primEqInt(Pos(Succ(vyv242000))) -> False 248.92/165.28 new_ms(vyv228, Neg(vyv2440)) -> Pos(new_primPlusNat0(Succ(vyv228), vyv2440)) 248.92/165.28 new_sr(vyv183, ty_Float) -> new_sr10(vyv183) 248.92/165.28 new_sr2(vyv227, vyv226, ty_Double) -> new_sr11(vyv227, vyv226) 248.92/165.28 new_abs(Neg(Succ(vyv27100))) -> Pos(Succ(vyv27100)) 248.92/165.28 new_gcd1(True, vyv272, vyv271) -> new_error 248.92/165.28 new_sr4(vyv239, vyv238, app(ty_Ratio, bf)) -> new_sr12(vyv239, vyv238, bf) 248.92/165.28 new_primMulNat1(Succ(vyv18300)) -> new_primPlusNat0(new_primMulNat2(vyv18300), Succ(vyv18300)) 248.92/165.28 new_sr3(vyv249, ty_Float) -> new_sr10(vyv249) 248.92/165.28 new_ms(vyv228, Pos(Succ(vyv24400))) -> new_primMinusNat0(vyv228, vyv24400) 248.92/165.28 new_primDivNatS02(vyv310, vyv311, Zero, Zero) -> new_primDivNatS01(vyv310, vyv311) 248.92/165.28 new_primMinusNatS1 -> Zero 248.92/165.28 new_sr4(vyv239, vyv238, ty_Integer) -> new_sr8(vyv239, vyv238) 248.92/165.28 new_primMinusNatS2(Succ(vyv3100), Zero) -> Succ(vyv3100) 248.92/165.28 new_sr0(vyv183, ty_Double) -> new_sr9(vyv183) 248.92/165.28 new_sr0(vyv183, ty_Int) -> new_sr6(vyv183) 248.92/165.28 new_primPlusNat0(Succ(vyv4000), Succ(vyv5000)) -> Succ(Succ(new_primPlusNat0(vyv4000, vyv5000))) 248.92/165.28 new_sr7(vyv183) -> error([]) 248.92/165.28 new_sr5(:%(vyv1830, vyv1831), bd) -> new_reduce2Reduce1(vyv1830, vyv1830, vyv1831, vyv1831, new_esEs0(vyv1831, bd), bd) 248.92/165.28 new_sr14(Pos(vyv2390), Neg(vyv2380)) -> Neg(new_primMulNat0(vyv2390, vyv2380)) 248.92/165.28 new_sr14(Neg(vyv2390), Pos(vyv2380)) -> Neg(new_primMulNat0(vyv2390, vyv2380)) 248.92/165.28 new_sr0(vyv183, ty_Integer) -> new_sr7(vyv183) 248.92/165.28 new_primMulNat2(Succ(vyv183000)) -> new_primPlusNat0(new_primMulNat3(vyv183000), Succ(Succ(vyv183000))) 248.92/165.28 new_sr14(Neg(vyv2390), Neg(vyv2380)) -> Pos(new_primMulNat0(vyv2390, vyv2380)) 248.92/165.28 new_gcd1(False, vyv272, vyv271) -> new_gcd0(vyv272, vyv271) 248.92/165.28 new_sr4(vyv239, vyv238, ty_Int) -> new_sr14(vyv239, vyv238) 248.92/165.28 new_primDivNatS1(Succ(Zero), Succ(vyv284000)) -> Zero 248.92/165.28 new_primMulNat4(Succ(vyv18300000)) -> new_primPlusNat0(new_primMulNat0(vyv18300000, Succ(Succ(Succ(Succ(vyv18300000))))), Succ(Succ(Succ(Succ(vyv18300000))))) 248.92/165.28 new_primModNatS01(vyv330, vyv331, Zero, Succ(vyv3330)) -> Succ(Succ(vyv330)) 248.92/165.28 new_primModNatS1(Succ(Succ(vyv292000)), Succ(vyv291000)) -> new_primModNatS01(vyv292000, vyv291000, vyv292000, vyv291000) 248.92/165.28 new_primDivNatS02(vyv310, vyv311, Succ(vyv3120), Zero) -> new_primDivNatS01(vyv310, vyv311) 248.92/165.28 new_primDivNatS01(vyv310, vyv311) -> Succ(new_primDivNatS1(new_primMinusNatS2(vyv310, vyv311), Succ(vyv311))) 248.92/165.28 new_primDivNatS02(vyv310, vyv311, Zero, Succ(vyv3130)) -> Zero 248.92/165.28 new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) 248.92/165.28 new_esEs(Pos(Succ(vyv24100))) -> new_primEqInt(Pos(Succ(vyv24100))) 248.92/165.28 new_ms(vyv228, Pos(Zero)) -> Pos(Succ(vyv228)) 248.92/165.28 new_primMinusNat0(Zero, Zero) -> Pos(Zero) 248.92/165.28 new_sr1(vyv227, ty_Float) -> new_sr10(vyv227) 248.92/165.28 new_sr2(vyv227, vyv226, ty_Integer) -> new_sr8(vyv227, vyv226) 248.92/165.28 new_sr10(vyv183) -> error([]) 248.92/165.28 new_rem(Pos(vyv2920), Neg(Zero)) -> new_error 248.92/165.28 new_rem(Neg(vyv2920), Pos(Zero)) -> new_error 248.92/165.28 new_primModNatS01(vyv330, vyv331, Zero, Zero) -> new_primModNatS02(vyv330, vyv331) 248.92/165.28 new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) 248.92/165.28 new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Zero) -> new_primModNatS02(vyv330, vyv331) 248.92/165.28 new_primModNatS02(vyv330, vyv331) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv330), Succ(vyv331)), Succ(vyv331)) 248.92/165.28 new_reduce2Reduce1(vyv264, vyv265, vyv266, vyv267, False, bh) -> :%(new_quot1(vyv264, vyv265, vyv266, vyv267, bh), new_quot2(vyv266, vyv267, vyv264, vyv265, bh)) 248.92/165.28 new_rem(Pos(vyv2920), Neg(Succ(vyv29100))) -> Pos(new_primModNatS1(vyv2920, vyv29100)) 248.92/165.28 new_primDivNatS02(vyv310, vyv311, Succ(vyv3120), Succ(vyv3130)) -> new_primDivNatS02(vyv310, vyv311, vyv3120, vyv3130) 248.92/165.28 new_primMulNat0(Succ(vyv23900), Zero) -> Zero 248.92/165.28 new_primMulNat0(Zero, Succ(vyv23800)) -> Zero 248.92/165.28 new_primQuotInt0(vyv2700, Neg(Zero)) -> new_error 248.92/165.28 new_quot0(Neg(vyv2700), vyv272, vyv271) -> new_primQuotInt0(vyv2700, new_gcd(vyv272, vyv271)) 248.92/165.28 new_primQuotInt(vyv2700, Neg(Zero)) -> new_error 248.92/165.28 new_sr13(vyv239, vyv238) -> error([]) 248.92/165.28 new_rem(Neg(vyv2920), Pos(Succ(vyv29100))) -> Neg(new_primModNatS1(vyv2920, vyv29100)) 248.92/165.28 new_sr4(vyv239, vyv238, ty_Double) -> new_sr11(vyv239, vyv238) 248.92/165.28 new_primMulNat4(Zero) -> Zero 248.92/165.28 new_quot1(vyv264, vyv265, vyv266, vyv267, ty_Int) -> new_quot0(new_sr14(vyv264, vyv265), new_sr14(vyv264, vyv265), new_sr14(vyv266, vyv267)) 248.92/165.28 new_sr9(vyv183) -> error([]) 248.92/165.28 new_gcd0Gcd'10(False, vyv272, vyv271) -> new_gcd0Gcd'00(new_abs(vyv272), new_abs(vyv271)) 248.92/165.28 new_primPlusNat0(Succ(vyv4000), Zero) -> Succ(vyv4000) 248.92/165.28 new_primPlusNat0(Zero, Succ(vyv5000)) -> Succ(vyv5000) 248.92/165.28 new_primMulNat0(Zero, Zero) -> Zero 248.92/165.28 new_primQuotInt(vyv2700, Pos(Succ(vyv28400))) -> Pos(new_primDivNatS1(vyv2700, vyv28400)) 248.92/165.28 new_sr3(vyv249, ty_Double) -> new_sr9(vyv249) 248.92/165.28 new_primMulNat3(Succ(vyv1830000)) -> new_primPlusNat0(new_primMulNat4(vyv1830000), Succ(Succ(Succ(vyv1830000)))) 248.92/165.28 new_esEs(Neg(Succ(vyv24100))) -> new_primEqInt(Neg(Succ(vyv24100))) 248.92/165.28 new_esEs1(Integer(vyv2690)) -> new_primEqInt(vyv2690) 248.92/165.28 new_primMulNat0(Succ(vyv23900), Succ(vyv23800)) -> new_primPlusNat0(new_primMulNat0(vyv23900, Succ(vyv23800)), Succ(vyv23800)) 248.92/165.28 new_quot0(Pos(vyv2700), vyv272, vyv271) -> new_primQuotInt(vyv2700, new_gcd(vyv272, vyv271)) 248.92/165.28 new_sr6(Neg(vyv1830)) -> Pos(new_primMulNat1(vyv1830)) 248.92/165.28 new_primQuotInt(vyv2700, Pos(Zero)) -> new_error 248.92/165.28 new_rem(Pos(vyv2920), Pos(Succ(vyv29100))) -> Pos(new_primModNatS1(vyv2920, vyv29100)) 248.92/165.28 new_abs(Pos(Succ(vyv27100))) -> Pos(Succ(vyv27100)) 248.92/165.28 new_primEqInt(Pos(Zero)) -> True 248.92/165.28 new_primMulNat1(Zero) -> Zero 248.92/165.28 new_quot1(vyv264, vyv265, vyv266, vyv267, ty_Integer) -> new_quot(new_sr8(vyv264, vyv265), new_sr8(vyv264, vyv265), new_sr8(vyv266, vyv267)) 248.92/165.28 new_gcd(vyv272, vyv271) -> new_gcd2(new_esEs(vyv272), vyv272, vyv271) 248.92/165.28 new_rem(Neg(vyv2920), Neg(Zero)) -> new_error 248.92/165.28 new_sr2(vyv227, vyv226, ty_Float) -> new_sr13(vyv227, vyv226) 248.92/165.28 new_gcd2(True, vyv272, vyv271) -> new_gcd1(new_esEs(vyv271), vyv272, vyv271) 248.92/165.28 new_primMinusNat0(Zero, Succ(vyv244000)) -> Neg(Succ(vyv244000)) 248.92/165.28 new_primQuotInt0(vyv2700, Pos(Succ(vyv28700))) -> Neg(new_primDivNatS1(vyv2700, vyv28700)) 248.92/165.28 new_ms0(vyv240, Neg(Zero)) -> Neg(Succ(vyv240)) 248.92/165.28 new_gcd0Gcd'00(vyv292, vyv291) -> new_gcd0Gcd'11(new_esEs(new_rem(vyv292, vyv291)), vyv291, vyv292) 248.92/165.28 new_fromInt -> Pos(Succ(Zero)) 248.92/165.28 new_sr6(Pos(vyv1830)) -> Pos(new_primMulNat1(vyv1830)) 248.92/165.28 new_abs(Pos(Zero)) -> Pos(Zero) 248.92/165.28 new_primMulNat2(Zero) -> Zero 248.92/165.28 new_sr12(:%(vyv2390, vyv2391), :%(vyv2380, vyv2381), bf) -> new_reduce2Reduce1(vyv2390, vyv2380, vyv2391, vyv2381, new_esEs2(vyv2391, vyv2381, bf), bf) 248.92/165.28 new_primMinusNat0(Succ(vyv2280), Zero) -> Pos(Succ(vyv2280)) 248.92/165.28 new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Succ(vyv3330)) -> new_primModNatS01(vyv330, vyv331, vyv3320, vyv3330) 248.92/165.28 new_quot(vyv273, vyv275, vyv274) -> error([]) 248.92/165.28 new_sr3(vyv249, ty_Int) -> new_sr6(vyv249) 248.92/165.28 new_primModNatS1(Succ(Succ(vyv292000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv292000), Zero) 248.92/165.28 new_reduce2Reduce1(vyv264, vyv265, vyv266, vyv267, True, bh) -> error([]) 248.92/165.28 new_primModNatS1(Succ(Zero), Succ(vyv291000)) -> Succ(Zero) 248.92/165.28 new_primDivNatS1(Succ(Succ(vyv270000)), Succ(vyv284000)) -> new_primDivNatS02(vyv270000, vyv284000, vyv270000, vyv284000) 248.92/165.28 new_primMinusNatS2(Zero, Zero) -> Zero 248.92/165.28 new_sr0(vyv183, ty_Float) -> new_sr10(vyv183) 248.92/165.28 new_primEqInt(Neg(Zero)) -> True 248.92/165.28 new_primQuotInt(vyv2700, Neg(Succ(vyv28400))) -> Neg(new_primDivNatS1(vyv2700, vyv28400)) 248.92/165.28 new_quot2(vyv266, vyv267, vyv264, vyv265, ty_Integer) -> new_quot(new_sr8(vyv266, vyv267), new_sr8(vyv264, vyv265), new_sr8(vyv266, vyv267)) 248.92/165.28 new_primMinusNatS2(Succ(vyv3100), Succ(vyv3110)) -> new_primMinusNatS2(vyv3100, vyv3110) 248.92/165.28 new_esEs0(vyv1831, ty_Integer) -> new_esEs1(new_sr7(vyv1831)) 248.92/165.28 new_primMinusNatS0(vyv270000) -> Succ(vyv270000) 248.92/165.28 new_primMulNat3(Zero) -> Zero 248.92/165.28 new_ms0(vyv240, Pos(vyv2430)) -> Neg(new_primPlusNat0(Succ(vyv240), vyv2430)) 248.92/165.28 new_primQuotInt0(vyv2700, Neg(Succ(vyv28700))) -> Pos(new_primDivNatS1(vyv2700, vyv28700)) 248.92/165.28 new_sr2(vyv227, vyv226, app(ty_Ratio, be)) -> new_sr12(vyv227, vyv226, be) 248.92/165.28 new_sr1(vyv227, ty_Double) -> new_sr9(vyv227) 248.92/165.28 new_rem(Neg(vyv2920), Neg(Succ(vyv29100))) -> Neg(new_primModNatS1(vyv2920, vyv29100)) 248.92/165.28 new_sr3(vyv249, ty_Integer) -> new_sr7(vyv249) 248.92/165.28 new_primModNatS1(Zero, vyv29100) -> Zero 248.92/165.28 new_sr(vyv183, ty_Double) -> new_sr9(vyv183) 248.92/165.28 new_primDivNatS1(Succ(Zero), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS1, Zero)) 248.92/165.28 new_sr3(vyv249, app(ty_Ratio, bg)) -> new_sr5(vyv249, bg) 248.92/165.28 new_error -> error([]) 248.92/165.28 new_primEqInt(Neg(Succ(vyv242000))) -> False 248.92/165.28 new_fromInt0 -> Pos(Succ(Succ(Zero))) 248.92/165.28 new_gcd2(False, vyv272, vyv271) -> new_gcd0(vyv272, vyv271) 248.92/165.28 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 248.92/165.28 new_sr14(Pos(vyv2390), Pos(vyv2380)) -> Pos(new_primMulNat0(vyv2390, vyv2380)) 248.92/165.28 new_ms0(vyv240, Neg(Succ(vyv24300))) -> new_primMinusNat0(vyv24300, vyv240) 248.92/165.28 new_sr0(vyv183, app(ty_Ratio, bd)) -> new_sr5(vyv183, bd) 248.92/165.28 new_gcd0(vyv272, vyv271) -> new_gcd0Gcd'10(new_esEs(new_abs(vyv271)), vyv272, vyv271) 248.92/165.28 new_primQuotInt0(vyv2700, Pos(Zero)) -> new_error 248.92/165.28 new_sr4(vyv239, vyv238, ty_Float) -> new_sr13(vyv239, vyv238) 248.92/165.28 new_esEs2(vyv2391, vyv2381, ty_Integer) -> new_esEs1(new_sr8(vyv2391, vyv2381)) 248.92/165.28 new_gcd0Gcd'11(False, vyv291, vyv292) -> new_gcd0Gcd'00(vyv291, new_rem(vyv292, vyv291)) 248.92/165.28 new_rem(Pos(vyv2920), Pos(Zero)) -> new_error 248.92/165.28 248.92/165.28 The set Q consists of the following terms: 248.92/165.28 248.92/165.28 new_rem(Pos(x0), Pos(Succ(x1))) 248.92/165.28 new_quot1(x0, x1, x2, x3, ty_Integer) 248.92/165.28 new_primModNatS1(Succ(Zero), Succ(x0)) 248.92/165.28 new_ms0(x0, Pos(x1)) 248.92/165.28 new_sr(x0, app(ty_Ratio, x1)) 248.92/165.28 new_primMulNat4(Zero) 248.92/165.28 new_gcd1(False, x0, x1) 248.92/165.28 new_primEqInt(Pos(Zero)) 248.92/165.28 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 248.92/165.28 new_rem(Pos(x0), Neg(Succ(x1))) 248.92/165.28 new_rem(Neg(x0), Pos(Succ(x1))) 248.92/165.28 new_sr10(x0) 248.92/165.28 new_quot1(x0, x1, x2, x3, ty_Int) 248.92/165.28 new_sr0(x0, app(ty_Ratio, x1)) 248.92/165.28 new_quot2(x0, x1, x2, x3, ty_Integer) 248.92/165.28 new_primModNatS01(x0, x1, Succ(x2), Zero) 248.92/165.28 new_sr3(x0, ty_Integer) 248.92/165.28 new_primMulNat3(Zero) 248.92/165.28 new_primDivNatS02(x0, x1, Succ(x2), Zero) 248.92/165.28 new_sr(x0, ty_Float) 248.92/165.28 new_quot2(x0, x1, x2, x3, ty_Int) 248.92/165.28 new_gcd2(False, x0, x1) 248.92/165.28 new_primDivNatS1(Succ(Zero), Zero) 248.92/165.28 new_sr0(x0, ty_Double) 248.92/165.28 new_esEs0(x0, ty_Int) 248.92/165.28 new_sr14(Pos(x0), Pos(x1)) 248.92/165.28 new_sr3(x0, ty_Int) 248.92/165.28 new_primMulNat0(Zero, Zero) 248.92/165.28 new_sr4(x0, x1, ty_Double) 248.92/165.28 new_primPlusNat0(Succ(x0), Zero) 248.92/165.28 new_fromInt0 248.92/165.28 new_fromInt 248.92/165.28 new_primMulNat2(Zero) 248.92/165.28 new_sr11(x0, x1) 248.92/165.28 new_primModNatS01(x0, x1, Zero, Zero) 248.92/165.28 new_esEs2(x0, x1, ty_Int) 248.92/165.28 new_gcd1(True, x0, x1) 248.92/165.28 new_sr13(x0, x1) 248.92/165.28 new_sr14(Pos(x0), Neg(x1)) 248.92/165.28 new_sr14(Neg(x0), Pos(x1)) 248.92/165.28 new_primDivNatS1(Succ(Succ(x0)), Succ(x1)) 248.92/165.28 new_sr1(x0, ty_Int) 248.92/165.28 new_primModNatS1(Zero, x0) 248.92/165.28 new_esEs(Pos(Succ(x0))) 248.92/165.28 new_primMulNat3(Succ(x0)) 248.92/165.28 new_sr1(x0, app(ty_Ratio, x1)) 248.92/165.28 new_primQuotInt(x0, Neg(Succ(x1))) 248.92/165.28 new_reduce2Reduce1(x0, x1, x2, x3, False, x4) 248.92/165.28 new_primMinusNat0(Zero, Zero) 248.92/165.28 new_primDivNatS1(Zero, x0) 248.92/165.28 new_primDivNatS02(x0, x1, Succ(x2), Succ(x3)) 248.92/165.28 new_primModNatS02(x0, x1) 248.92/165.28 new_primDivNatS1(Succ(Zero), Succ(x0)) 248.92/165.28 new_sr6(Neg(x0)) 248.92/165.28 new_gcd0Gcd'10(True, x0, x1) 248.92/165.28 new_primMulNat0(Succ(x0), Succ(x1)) 248.92/165.28 new_abs(Neg(Zero)) 248.92/165.28 new_ms(x0, Neg(x1)) 248.92/165.28 new_rem(Pos(x0), Neg(Zero)) 248.92/165.28 new_rem(Neg(x0), Pos(Zero)) 248.92/165.28 new_primMinusNatS2(Zero, Succ(x0)) 248.92/165.28 new_esEs(Neg(Succ(x0))) 248.92/165.28 new_error 248.92/165.28 new_primModNatS1(Succ(Zero), Zero) 248.92/165.28 new_primMulNat0(Zero, Succ(x0)) 248.92/165.28 new_sr3(x0, ty_Float) 248.92/165.28 new_quot(x0, x1, x2) 248.92/165.28 new_gcd2(True, x0, x1) 248.92/165.28 new_gcd0Gcd'11(True, x0, x1) 248.92/165.28 new_primEqInt(Neg(Zero)) 248.92/165.28 new_sr2(x0, x1, ty_Double) 248.92/165.28 new_primMulNat0(Succ(x0), Zero) 248.92/165.28 new_quot0(Neg(x0), x1, x2) 248.92/165.28 new_primMinusNatS2(Succ(x0), Succ(x1)) 248.92/165.28 new_sr4(x0, x1, app(ty_Ratio, x2)) 248.92/165.28 new_sr8(x0, x1) 248.92/165.28 new_primDivNatS01(x0, x1) 248.92/165.28 new_primDivNatS02(x0, x1, Zero, Succ(x2)) 248.92/165.28 new_primPlusNat0(Succ(x0), Succ(x1)) 248.92/165.28 new_sr1(x0, ty_Integer) 248.92/165.28 new_primPlusNat0(Zero, Zero) 248.92/165.28 new_sr1(x0, ty_Float) 248.92/165.28 new_primMinusNat0(Succ(x0), Succ(x1)) 248.92/165.28 new_sr12(:%(x0, x1), :%(x2, x3), x4) 248.92/165.28 new_abs(Neg(Succ(x0))) 248.92/165.28 new_sr1(x0, ty_Double) 248.92/165.28 new_sr3(x0, app(ty_Ratio, x1)) 248.92/165.28 new_sr7(x0) 248.92/165.28 new_gcd0(x0, x1) 248.92/165.28 new_sr(x0, ty_Integer) 248.92/165.28 new_sr0(x0, ty_Int) 248.92/165.28 new_primQuotInt0(x0, Pos(Succ(x1))) 248.92/165.28 new_sr4(x0, x1, ty_Integer) 248.92/165.28 new_sr5(:%(x0, x1), x2) 248.92/165.28 new_primMinusNatS2(Zero, Zero) 248.92/165.28 new_primMulNat1(Succ(x0)) 248.92/165.28 new_sr0(x0, ty_Integer) 248.92/165.28 new_ms(x0, Pos(Zero)) 248.92/165.28 new_abs(Pos(Succ(x0))) 248.92/165.28 new_sr4(x0, x1, ty_Int) 248.92/165.28 new_esEs(Pos(Zero)) 248.92/165.28 new_primQuotInt0(x0, Pos(Zero)) 248.92/165.28 new_sr(x0, ty_Int) 248.92/165.28 new_primEqInt(Neg(Succ(x0))) 248.92/165.28 new_primQuotInt(x0, Neg(Zero)) 248.92/165.28 new_primQuotInt0(x0, Neg(Zero)) 248.92/165.28 new_primQuotInt0(x0, Neg(Succ(x1))) 248.92/165.28 new_gcd(x0, x1) 248.92/165.28 new_quot0(Pos(x0), x1, x2) 248.92/165.28 new_primMinusNatS0(x0) 248.92/165.28 new_primPlusNat0(Zero, Succ(x0)) 248.92/165.28 new_sr2(x0, x1, app(ty_Ratio, x2)) 248.92/165.28 new_sr2(x0, x1, ty_Int) 248.92/165.28 new_primQuotInt(x0, Pos(Succ(x1))) 248.92/165.28 new_primDivNatS1(Succ(Succ(x0)), Zero) 248.92/165.28 new_rem(Pos(x0), Pos(Zero)) 248.92/165.28 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 248.92/165.28 new_primDivNatS02(x0, x1, Zero, Zero) 248.92/165.28 new_abs(Pos(Zero)) 248.92/165.28 new_gcd0Gcd'10(False, x0, x1) 248.92/165.28 new_ms(x0, Pos(Succ(x1))) 248.92/165.28 new_primMinusNatS1 248.92/165.28 new_esEs1(Integer(x0)) 248.92/165.28 new_ms0(x0, Neg(Zero)) 248.92/165.28 new_primMinusNat0(Succ(x0), Zero) 248.92/165.28 new_ms0(x0, Neg(Succ(x1))) 248.92/165.28 new_sr2(x0, x1, ty_Integer) 248.92/165.28 new_primModNatS01(x0, x1, Zero, Succ(x2)) 248.92/165.28 new_primMulNat2(Succ(x0)) 248.92/165.28 new_sr0(x0, ty_Float) 248.92/165.28 new_sr14(Neg(x0), Neg(x1)) 248.92/165.28 new_sr2(x0, x1, ty_Float) 248.92/165.28 new_primMinusNatS2(Succ(x0), Zero) 248.92/165.28 new_sr4(x0, x1, ty_Float) 248.92/165.28 new_sr6(Pos(x0)) 248.92/165.28 new_esEs2(x0, x1, ty_Integer) 248.92/165.28 new_primMulNat4(Succ(x0)) 248.92/165.28 new_rem(Neg(x0), Neg(Succ(x1))) 248.92/165.28 new_primEqInt(Pos(Succ(x0))) 248.92/165.28 new_primQuotInt(x0, Pos(Zero)) 248.92/165.28 new_gcd0Gcd'11(False, x0, x1) 248.92/165.28 new_sr9(x0) 248.92/165.28 new_primModNatS1(Succ(Succ(x0)), Zero) 248.92/165.28 new_sr(x0, ty_Double) 248.92/165.28 new_esEs0(x0, ty_Integer) 248.92/165.28 new_gcd0Gcd'00(x0, x1) 248.92/165.28 new_reduce2Reduce1(x0, x1, x2, x3, True, x4) 248.92/165.28 new_sr3(x0, ty_Double) 248.92/165.28 new_esEs(Neg(Zero)) 248.92/165.28 new_primMulNat1(Zero) 248.92/165.28 new_primMinusNat0(Zero, Succ(x0)) 248.92/165.28 new_rem(Neg(x0), Neg(Zero)) 248.92/165.28 248.92/165.28 We have to consider all minimal (P,Q,R)-chains. 248.92/165.28 ---------------------------------------- 248.92/165.28 248.92/165.28 (721) TransformationProof (EQUIVALENT) 248.92/165.28 By rewriting [LPAR04] the rule new_pr2F0G(vyv187, vyv183, Pos(Succ(Zero)), h) -> new_pr2F(vyv183, Zero, new_fromInt, vyv187, h) at position [2] we obtained the following new rules [LPAR04]: 248.92/165.28 248.92/165.28 (new_pr2F0G(vyv187, vyv183, Pos(Succ(Zero)), h) -> new_pr2F(vyv183, Zero, Pos(Succ(Zero)), vyv187, h),new_pr2F0G(vyv187, vyv183, Pos(Succ(Zero)), h) -> new_pr2F(vyv183, Zero, Pos(Succ(Zero)), vyv187, h)) 248.92/165.28 248.92/165.28 248.92/165.28 ---------------------------------------- 248.92/165.28 248.92/165.28 (722) 248.92/165.28 Obligation: 248.92/165.28 Q DP problem: 248.92/165.28 The TRS P consists of the following rules: 248.92/165.28 248.92/165.28 new_pr2F0G10(vyv248, vyv249, vyv250, Succ(Succ(vyv25100)), bb) -> new_pr2F0G10(vyv248, vyv249, vyv250, vyv25100, bb) 248.92/165.28 new_pr2F0G(vyv187, vyv183, Neg(Succ(Zero)), h) -> new_pr2F0G11(vyv187, vyv183, Zero, h) 248.92/165.28 new_pr2F0G(vyv187, vyv183, Pos(Succ(Succ(vyv222000))), h) -> new_pr2F0G1(vyv187, vyv183, Succ(vyv222000), vyv222000, h) 248.92/165.28 new_pr2F0(vyv183, Neg(Succ(Succ(vyv222000))), vyv187, h) -> new_pr2F0G10(vyv187, vyv183, Succ(vyv222000), vyv222000, h) 248.92/165.28 new_pr2F0(vyv183, Neg(Succ(Zero)), vyv187, h) -> new_pr2F0G11(vyv187, vyv183, Zero, h) 248.92/165.28 new_pr2F0G10(vyv248, vyv249, vyv250, Succ(Zero), bb) -> new_pr2F0G11(vyv248, vyv249, vyv250, bb) 248.92/165.28 new_pr2F0G(vyv187, vyv183, Pos(Zero), h) -> new_pr2F0G(vyv187, new_sr(vyv183, h), new_primQuotInt(Zero, new_fromInt0), h) 248.92/165.28 new_pr2F0G(vyv187, vyv183, Neg(Succ(Succ(vyv222000))), h) -> new_pr2F0G10(vyv187, vyv183, Succ(vyv222000), vyv222000, h) 248.92/165.28 new_pr2F3(False, vyv227, vyv228, vyv244, vyv226, ba) -> new_pr2F0(vyv227, new_ms(vyv228, vyv244), new_sr2(vyv227, vyv226, ba), ba) 248.92/165.28 new_pr2F0(vyv183, Pos(Succ(Succ(vyv222000))), vyv187, h) -> new_pr2F0G1(vyv187, vyv183, Succ(vyv222000), vyv222000, h) 248.92/165.28 new_pr2F0G1(vyv226, vyv227, vyv228, Zero, ba) -> new_pr2F0G(vyv226, new_sr1(vyv227, ba), new_primQuotInt(Succ(vyv228), new_fromInt0), ba) 248.92/165.28 new_pr2F1(vyv239, vyv240, vyv243, vyv238, bc) -> new_pr2F30(new_esEs(new_ms0(vyv240, vyv243)), vyv239, vyv240, vyv243, vyv238, bc) 248.92/165.28 new_pr2F(vyv227, vyv228, vyv244, vyv226, ba) -> new_pr2F3(new_esEs(new_ms(vyv228, vyv244)), vyv227, vyv228, vyv244, vyv226, ba) 248.92/165.28 new_pr2F0G1(vyv226, vyv227, vyv228, Succ(Succ(vyv22900)), ba) -> new_pr2F0G1(vyv226, vyv227, vyv228, vyv22900, ba) 248.92/165.28 new_pr2F30(False, vyv239, vyv240, vyv243, vyv238, bc) -> new_pr2F0(vyv239, new_ms0(vyv240, vyv243), new_sr4(vyv239, vyv238, bc), bc) 248.92/165.28 new_pr2F0(vyv183, Pos(Zero), vyv187, h) -> new_pr2F0G(vyv187, new_sr(vyv183, h), new_primQuotInt(Zero, new_fromInt0), h) 248.92/165.28 new_pr2F0(vyv183, Neg(Zero), vyv187, h) -> new_pr2F0G(vyv187, new_sr0(vyv183, h), new_primQuotInt0(Zero, Pos(Succ(Succ(Zero)))), h) 248.92/165.28 new_pr2F0G11(vyv238, vyv239, vyv240, bc) -> new_pr2F1(vyv239, vyv240, Pos(Succ(Zero)), vyv238, bc) 248.92/165.28 new_pr2F0G(vyv187, vyv183, Neg(Zero), h) -> new_pr2F0G(vyv187, new_sr0(vyv183, h), new_primQuotInt0(Zero, Pos(Succ(Succ(Zero)))), h) 248.92/165.28 new_pr2F0G10(vyv248, vyv249, vyv250, Zero, bb) -> new_pr2F0G(vyv248, new_sr3(vyv249, bb), new_primQuotInt0(Succ(vyv250), Pos(Succ(Succ(Zero)))), bb) 248.92/165.28 new_pr2F0(vyv183, Pos(Succ(Zero)), vyv187, h) -> new_pr2F(vyv183, Zero, Pos(Succ(Zero)), vyv187, h) 248.92/165.28 new_pr2F0G1(vyv226, vyv227, vyv228, Succ(Zero), ba) -> new_pr2F(vyv227, vyv228, Pos(Succ(Zero)), vyv226, ba) 248.92/165.28 new_pr2F0G(vyv187, vyv183, Pos(Succ(Zero)), h) -> new_pr2F(vyv183, Zero, Pos(Succ(Zero)), vyv187, h) 248.92/165.28 248.92/165.28 The TRS R consists of the following rules: 248.92/165.28 248.92/165.28 new_sr2(vyv227, vyv226, ty_Int) -> new_sr14(vyv227, vyv226) 248.92/165.28 new_quot2(vyv266, vyv267, vyv264, vyv265, ty_Int) -> new_quot0(new_sr14(vyv266, vyv267), new_sr14(vyv264, vyv265), new_sr14(vyv266, vyv267)) 248.92/165.28 new_sr(vyv183, ty_Int) -> new_sr6(vyv183) 248.92/165.28 new_sr11(vyv239, vyv238) -> error([]) 248.92/165.28 new_primPlusNat0(Zero, Zero) -> Zero 248.92/165.28 new_sr1(vyv227, ty_Int) -> new_sr6(vyv227) 248.92/165.28 new_abs(Neg(Zero)) -> Neg(Zero) 248.92/165.28 new_esEs2(vyv2391, vyv2381, ty_Int) -> new_esEs(new_sr14(vyv2391, vyv2381)) 248.92/165.28 new_gcd0Gcd'10(True, vyv272, vyv271) -> new_abs(vyv272) 248.92/165.28 new_sr8(vyv239, vyv238) -> error([]) 248.92/165.28 new_sr1(vyv227, ty_Integer) -> new_sr7(vyv227) 248.92/165.28 new_primDivNatS1(Zero, vyv28400) -> Zero 248.92/165.28 new_sr(vyv183, app(ty_Ratio, bd)) -> new_sr5(vyv183, bd) 248.92/165.28 new_primDivNatS1(Succ(Succ(vyv270000)), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS0(vyv270000), Zero)) 248.92/165.28 new_sr(vyv183, ty_Integer) -> new_sr7(vyv183) 248.92/165.28 new_gcd0Gcd'11(True, vyv291, vyv292) -> vyv291 248.92/165.28 new_primMinusNatS2(Zero, Succ(vyv3110)) -> Zero 248.92/165.28 new_primMinusNat0(Succ(vyv2280), Succ(vyv244000)) -> new_primMinusNat0(vyv2280, vyv244000) 248.92/165.28 new_sr1(vyv227, app(ty_Ratio, be)) -> new_sr5(vyv227, be) 248.92/165.28 new_esEs0(vyv1831, ty_Int) -> new_esEs(new_sr6(vyv1831)) 248.92/165.28 new_primEqInt(Pos(Succ(vyv242000))) -> False 248.92/165.28 new_ms(vyv228, Neg(vyv2440)) -> Pos(new_primPlusNat0(Succ(vyv228), vyv2440)) 248.92/165.28 new_sr(vyv183, ty_Float) -> new_sr10(vyv183) 248.92/165.28 new_sr2(vyv227, vyv226, ty_Double) -> new_sr11(vyv227, vyv226) 248.92/165.28 new_abs(Neg(Succ(vyv27100))) -> Pos(Succ(vyv27100)) 248.92/165.28 new_gcd1(True, vyv272, vyv271) -> new_error 248.92/165.28 new_sr4(vyv239, vyv238, app(ty_Ratio, bf)) -> new_sr12(vyv239, vyv238, bf) 248.92/165.28 new_primMulNat1(Succ(vyv18300)) -> new_primPlusNat0(new_primMulNat2(vyv18300), Succ(vyv18300)) 248.92/165.28 new_sr3(vyv249, ty_Float) -> new_sr10(vyv249) 248.92/165.28 new_ms(vyv228, Pos(Succ(vyv24400))) -> new_primMinusNat0(vyv228, vyv24400) 248.92/165.28 new_primDivNatS02(vyv310, vyv311, Zero, Zero) -> new_primDivNatS01(vyv310, vyv311) 248.92/165.28 new_primMinusNatS1 -> Zero 248.92/165.28 new_sr4(vyv239, vyv238, ty_Integer) -> new_sr8(vyv239, vyv238) 248.92/165.28 new_primMinusNatS2(Succ(vyv3100), Zero) -> Succ(vyv3100) 248.92/165.28 new_sr0(vyv183, ty_Double) -> new_sr9(vyv183) 248.92/165.28 new_sr0(vyv183, ty_Int) -> new_sr6(vyv183) 248.92/165.28 new_primPlusNat0(Succ(vyv4000), Succ(vyv5000)) -> Succ(Succ(new_primPlusNat0(vyv4000, vyv5000))) 248.92/165.28 new_sr7(vyv183) -> error([]) 248.92/165.28 new_sr5(:%(vyv1830, vyv1831), bd) -> new_reduce2Reduce1(vyv1830, vyv1830, vyv1831, vyv1831, new_esEs0(vyv1831, bd), bd) 248.92/165.28 new_sr14(Pos(vyv2390), Neg(vyv2380)) -> Neg(new_primMulNat0(vyv2390, vyv2380)) 248.92/165.28 new_sr14(Neg(vyv2390), Pos(vyv2380)) -> Neg(new_primMulNat0(vyv2390, vyv2380)) 248.92/165.28 new_sr0(vyv183, ty_Integer) -> new_sr7(vyv183) 248.92/165.28 new_primMulNat2(Succ(vyv183000)) -> new_primPlusNat0(new_primMulNat3(vyv183000), Succ(Succ(vyv183000))) 248.92/165.28 new_sr14(Neg(vyv2390), Neg(vyv2380)) -> Pos(new_primMulNat0(vyv2390, vyv2380)) 248.92/165.28 new_gcd1(False, vyv272, vyv271) -> new_gcd0(vyv272, vyv271) 248.92/165.28 new_sr4(vyv239, vyv238, ty_Int) -> new_sr14(vyv239, vyv238) 248.92/165.28 new_primDivNatS1(Succ(Zero), Succ(vyv284000)) -> Zero 248.92/165.28 new_primMulNat4(Succ(vyv18300000)) -> new_primPlusNat0(new_primMulNat0(vyv18300000, Succ(Succ(Succ(Succ(vyv18300000))))), Succ(Succ(Succ(Succ(vyv18300000))))) 248.92/165.28 new_primModNatS01(vyv330, vyv331, Zero, Succ(vyv3330)) -> Succ(Succ(vyv330)) 248.92/165.28 new_primModNatS1(Succ(Succ(vyv292000)), Succ(vyv291000)) -> new_primModNatS01(vyv292000, vyv291000, vyv292000, vyv291000) 248.92/165.28 new_primDivNatS02(vyv310, vyv311, Succ(vyv3120), Zero) -> new_primDivNatS01(vyv310, vyv311) 248.92/165.28 new_primDivNatS01(vyv310, vyv311) -> Succ(new_primDivNatS1(new_primMinusNatS2(vyv310, vyv311), Succ(vyv311))) 248.92/165.28 new_primDivNatS02(vyv310, vyv311, Zero, Succ(vyv3130)) -> Zero 248.92/165.28 new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) 248.92/165.28 new_esEs(Pos(Succ(vyv24100))) -> new_primEqInt(Pos(Succ(vyv24100))) 248.92/165.28 new_ms(vyv228, Pos(Zero)) -> Pos(Succ(vyv228)) 248.92/165.28 new_primMinusNat0(Zero, Zero) -> Pos(Zero) 248.92/165.28 new_sr1(vyv227, ty_Float) -> new_sr10(vyv227) 248.92/165.28 new_sr2(vyv227, vyv226, ty_Integer) -> new_sr8(vyv227, vyv226) 248.92/165.28 new_sr10(vyv183) -> error([]) 248.92/165.28 new_rem(Pos(vyv2920), Neg(Zero)) -> new_error 248.92/165.28 new_rem(Neg(vyv2920), Pos(Zero)) -> new_error 248.92/165.28 new_primModNatS01(vyv330, vyv331, Zero, Zero) -> new_primModNatS02(vyv330, vyv331) 248.92/165.28 new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) 248.92/165.28 new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Zero) -> new_primModNatS02(vyv330, vyv331) 248.92/165.28 new_primModNatS02(vyv330, vyv331) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv330), Succ(vyv331)), Succ(vyv331)) 248.92/165.28 new_reduce2Reduce1(vyv264, vyv265, vyv266, vyv267, False, bh) -> :%(new_quot1(vyv264, vyv265, vyv266, vyv267, bh), new_quot2(vyv266, vyv267, vyv264, vyv265, bh)) 248.92/165.28 new_rem(Pos(vyv2920), Neg(Succ(vyv29100))) -> Pos(new_primModNatS1(vyv2920, vyv29100)) 248.92/165.28 new_primDivNatS02(vyv310, vyv311, Succ(vyv3120), Succ(vyv3130)) -> new_primDivNatS02(vyv310, vyv311, vyv3120, vyv3130) 248.92/165.28 new_primMulNat0(Succ(vyv23900), Zero) -> Zero 248.92/165.28 new_primMulNat0(Zero, Succ(vyv23800)) -> Zero 248.92/165.28 new_primQuotInt0(vyv2700, Neg(Zero)) -> new_error 248.92/165.28 new_quot0(Neg(vyv2700), vyv272, vyv271) -> new_primQuotInt0(vyv2700, new_gcd(vyv272, vyv271)) 248.92/165.28 new_primQuotInt(vyv2700, Neg(Zero)) -> new_error 248.92/165.28 new_sr13(vyv239, vyv238) -> error([]) 248.92/165.28 new_rem(Neg(vyv2920), Pos(Succ(vyv29100))) -> Neg(new_primModNatS1(vyv2920, vyv29100)) 248.92/165.28 new_sr4(vyv239, vyv238, ty_Double) -> new_sr11(vyv239, vyv238) 248.92/165.28 new_primMulNat4(Zero) -> Zero 248.92/165.28 new_quot1(vyv264, vyv265, vyv266, vyv267, ty_Int) -> new_quot0(new_sr14(vyv264, vyv265), new_sr14(vyv264, vyv265), new_sr14(vyv266, vyv267)) 248.92/165.28 new_sr9(vyv183) -> error([]) 248.92/165.28 new_gcd0Gcd'10(False, vyv272, vyv271) -> new_gcd0Gcd'00(new_abs(vyv272), new_abs(vyv271)) 248.92/165.28 new_primPlusNat0(Succ(vyv4000), Zero) -> Succ(vyv4000) 248.92/165.28 new_primPlusNat0(Zero, Succ(vyv5000)) -> Succ(vyv5000) 248.92/165.28 new_primMulNat0(Zero, Zero) -> Zero 248.92/165.28 new_primQuotInt(vyv2700, Pos(Succ(vyv28400))) -> Pos(new_primDivNatS1(vyv2700, vyv28400)) 248.92/165.28 new_sr3(vyv249, ty_Double) -> new_sr9(vyv249) 248.92/165.28 new_primMulNat3(Succ(vyv1830000)) -> new_primPlusNat0(new_primMulNat4(vyv1830000), Succ(Succ(Succ(vyv1830000)))) 248.92/165.28 new_esEs(Neg(Succ(vyv24100))) -> new_primEqInt(Neg(Succ(vyv24100))) 248.92/165.28 new_esEs1(Integer(vyv2690)) -> new_primEqInt(vyv2690) 248.92/165.28 new_primMulNat0(Succ(vyv23900), Succ(vyv23800)) -> new_primPlusNat0(new_primMulNat0(vyv23900, Succ(vyv23800)), Succ(vyv23800)) 248.92/165.28 new_quot0(Pos(vyv2700), vyv272, vyv271) -> new_primQuotInt(vyv2700, new_gcd(vyv272, vyv271)) 248.92/165.28 new_sr6(Neg(vyv1830)) -> Pos(new_primMulNat1(vyv1830)) 248.92/165.28 new_primQuotInt(vyv2700, Pos(Zero)) -> new_error 248.92/165.28 new_rem(Pos(vyv2920), Pos(Succ(vyv29100))) -> Pos(new_primModNatS1(vyv2920, vyv29100)) 248.92/165.28 new_abs(Pos(Succ(vyv27100))) -> Pos(Succ(vyv27100)) 248.92/165.28 new_primEqInt(Pos(Zero)) -> True 248.92/165.28 new_primMulNat1(Zero) -> Zero 248.92/165.28 new_quot1(vyv264, vyv265, vyv266, vyv267, ty_Integer) -> new_quot(new_sr8(vyv264, vyv265), new_sr8(vyv264, vyv265), new_sr8(vyv266, vyv267)) 248.92/165.28 new_gcd(vyv272, vyv271) -> new_gcd2(new_esEs(vyv272), vyv272, vyv271) 248.92/165.28 new_rem(Neg(vyv2920), Neg(Zero)) -> new_error 248.92/165.28 new_sr2(vyv227, vyv226, ty_Float) -> new_sr13(vyv227, vyv226) 248.92/165.28 new_gcd2(True, vyv272, vyv271) -> new_gcd1(new_esEs(vyv271), vyv272, vyv271) 248.92/165.28 new_primMinusNat0(Zero, Succ(vyv244000)) -> Neg(Succ(vyv244000)) 248.92/165.28 new_primQuotInt0(vyv2700, Pos(Succ(vyv28700))) -> Neg(new_primDivNatS1(vyv2700, vyv28700)) 248.92/165.28 new_ms0(vyv240, Neg(Zero)) -> Neg(Succ(vyv240)) 248.92/165.28 new_gcd0Gcd'00(vyv292, vyv291) -> new_gcd0Gcd'11(new_esEs(new_rem(vyv292, vyv291)), vyv291, vyv292) 248.92/165.28 new_fromInt -> Pos(Succ(Zero)) 248.92/165.28 new_sr6(Pos(vyv1830)) -> Pos(new_primMulNat1(vyv1830)) 248.92/165.28 new_abs(Pos(Zero)) -> Pos(Zero) 248.92/165.28 new_primMulNat2(Zero) -> Zero 248.92/165.28 new_sr12(:%(vyv2390, vyv2391), :%(vyv2380, vyv2381), bf) -> new_reduce2Reduce1(vyv2390, vyv2380, vyv2391, vyv2381, new_esEs2(vyv2391, vyv2381, bf), bf) 248.92/165.28 new_primMinusNat0(Succ(vyv2280), Zero) -> Pos(Succ(vyv2280)) 248.92/165.28 new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Succ(vyv3330)) -> new_primModNatS01(vyv330, vyv331, vyv3320, vyv3330) 248.92/165.28 new_quot(vyv273, vyv275, vyv274) -> error([]) 248.92/165.28 new_sr3(vyv249, ty_Int) -> new_sr6(vyv249) 248.92/165.28 new_primModNatS1(Succ(Succ(vyv292000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv292000), Zero) 248.92/165.28 new_reduce2Reduce1(vyv264, vyv265, vyv266, vyv267, True, bh) -> error([]) 248.92/165.28 new_primModNatS1(Succ(Zero), Succ(vyv291000)) -> Succ(Zero) 248.92/165.28 new_primDivNatS1(Succ(Succ(vyv270000)), Succ(vyv284000)) -> new_primDivNatS02(vyv270000, vyv284000, vyv270000, vyv284000) 248.92/165.28 new_primMinusNatS2(Zero, Zero) -> Zero 248.92/165.28 new_sr0(vyv183, ty_Float) -> new_sr10(vyv183) 248.92/165.28 new_primEqInt(Neg(Zero)) -> True 248.92/165.28 new_primQuotInt(vyv2700, Neg(Succ(vyv28400))) -> Neg(new_primDivNatS1(vyv2700, vyv28400)) 248.92/165.28 new_quot2(vyv266, vyv267, vyv264, vyv265, ty_Integer) -> new_quot(new_sr8(vyv266, vyv267), new_sr8(vyv264, vyv265), new_sr8(vyv266, vyv267)) 248.92/165.28 new_primMinusNatS2(Succ(vyv3100), Succ(vyv3110)) -> new_primMinusNatS2(vyv3100, vyv3110) 248.92/165.28 new_esEs0(vyv1831, ty_Integer) -> new_esEs1(new_sr7(vyv1831)) 248.92/165.28 new_primMinusNatS0(vyv270000) -> Succ(vyv270000) 248.92/165.28 new_primMulNat3(Zero) -> Zero 248.92/165.28 new_ms0(vyv240, Pos(vyv2430)) -> Neg(new_primPlusNat0(Succ(vyv240), vyv2430)) 248.92/165.28 new_primQuotInt0(vyv2700, Neg(Succ(vyv28700))) -> Pos(new_primDivNatS1(vyv2700, vyv28700)) 248.92/165.28 new_sr2(vyv227, vyv226, app(ty_Ratio, be)) -> new_sr12(vyv227, vyv226, be) 248.92/165.28 new_sr1(vyv227, ty_Double) -> new_sr9(vyv227) 248.92/165.28 new_rem(Neg(vyv2920), Neg(Succ(vyv29100))) -> Neg(new_primModNatS1(vyv2920, vyv29100)) 248.92/165.28 new_sr3(vyv249, ty_Integer) -> new_sr7(vyv249) 248.92/165.28 new_primModNatS1(Zero, vyv29100) -> Zero 248.92/165.28 new_sr(vyv183, ty_Double) -> new_sr9(vyv183) 248.92/165.28 new_primDivNatS1(Succ(Zero), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS1, Zero)) 248.92/165.28 new_sr3(vyv249, app(ty_Ratio, bg)) -> new_sr5(vyv249, bg) 248.92/165.28 new_error -> error([]) 248.92/165.28 new_primEqInt(Neg(Succ(vyv242000))) -> False 248.92/165.28 new_fromInt0 -> Pos(Succ(Succ(Zero))) 248.92/165.28 new_gcd2(False, vyv272, vyv271) -> new_gcd0(vyv272, vyv271) 248.92/165.28 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 248.92/165.28 new_sr14(Pos(vyv2390), Pos(vyv2380)) -> Pos(new_primMulNat0(vyv2390, vyv2380)) 248.92/165.28 new_ms0(vyv240, Neg(Succ(vyv24300))) -> new_primMinusNat0(vyv24300, vyv240) 248.92/165.28 new_sr0(vyv183, app(ty_Ratio, bd)) -> new_sr5(vyv183, bd) 248.92/165.28 new_gcd0(vyv272, vyv271) -> new_gcd0Gcd'10(new_esEs(new_abs(vyv271)), vyv272, vyv271) 248.92/165.28 new_primQuotInt0(vyv2700, Pos(Zero)) -> new_error 248.92/165.28 new_sr4(vyv239, vyv238, ty_Float) -> new_sr13(vyv239, vyv238) 248.92/165.28 new_esEs2(vyv2391, vyv2381, ty_Integer) -> new_esEs1(new_sr8(vyv2391, vyv2381)) 248.92/165.28 new_gcd0Gcd'11(False, vyv291, vyv292) -> new_gcd0Gcd'00(vyv291, new_rem(vyv292, vyv291)) 248.92/165.28 new_rem(Pos(vyv2920), Pos(Zero)) -> new_error 248.92/165.28 248.92/165.28 The set Q consists of the following terms: 248.92/165.28 248.92/165.28 new_rem(Pos(x0), Pos(Succ(x1))) 248.92/165.28 new_quot1(x0, x1, x2, x3, ty_Integer) 248.92/165.28 new_primModNatS1(Succ(Zero), Succ(x0)) 248.92/165.28 new_ms0(x0, Pos(x1)) 248.92/165.28 new_sr(x0, app(ty_Ratio, x1)) 248.92/165.28 new_primMulNat4(Zero) 248.92/165.28 new_gcd1(False, x0, x1) 248.92/165.28 new_primEqInt(Pos(Zero)) 248.92/165.28 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 248.92/165.28 new_rem(Pos(x0), Neg(Succ(x1))) 248.92/165.28 new_rem(Neg(x0), Pos(Succ(x1))) 248.92/165.28 new_sr10(x0) 248.92/165.28 new_quot1(x0, x1, x2, x3, ty_Int) 248.92/165.28 new_sr0(x0, app(ty_Ratio, x1)) 248.92/165.28 new_quot2(x0, x1, x2, x3, ty_Integer) 248.92/165.28 new_primModNatS01(x0, x1, Succ(x2), Zero) 248.92/165.28 new_sr3(x0, ty_Integer) 248.92/165.28 new_primMulNat3(Zero) 248.92/165.28 new_primDivNatS02(x0, x1, Succ(x2), Zero) 248.92/165.28 new_sr(x0, ty_Float) 248.92/165.28 new_quot2(x0, x1, x2, x3, ty_Int) 248.92/165.28 new_gcd2(False, x0, x1) 248.92/165.28 new_primDivNatS1(Succ(Zero), Zero) 248.92/165.28 new_sr0(x0, ty_Double) 248.92/165.28 new_esEs0(x0, ty_Int) 248.92/165.28 new_sr14(Pos(x0), Pos(x1)) 248.92/165.28 new_sr3(x0, ty_Int) 248.92/165.28 new_primMulNat0(Zero, Zero) 248.92/165.28 new_sr4(x0, x1, ty_Double) 248.92/165.28 new_primPlusNat0(Succ(x0), Zero) 248.92/165.28 new_fromInt0 248.92/165.28 new_fromInt 248.92/165.28 new_primMulNat2(Zero) 248.92/165.28 new_sr11(x0, x1) 248.92/165.28 new_primModNatS01(x0, x1, Zero, Zero) 248.92/165.28 new_esEs2(x0, x1, ty_Int) 248.92/165.28 new_gcd1(True, x0, x1) 248.92/165.28 new_sr13(x0, x1) 248.92/165.28 new_sr14(Pos(x0), Neg(x1)) 248.92/165.28 new_sr14(Neg(x0), Pos(x1)) 248.92/165.28 new_primDivNatS1(Succ(Succ(x0)), Succ(x1)) 248.92/165.28 new_sr1(x0, ty_Int) 248.92/165.28 new_primModNatS1(Zero, x0) 248.92/165.28 new_esEs(Pos(Succ(x0))) 248.92/165.28 new_primMulNat3(Succ(x0)) 248.92/165.28 new_sr1(x0, app(ty_Ratio, x1)) 248.92/165.28 new_primQuotInt(x0, Neg(Succ(x1))) 248.92/165.28 new_reduce2Reduce1(x0, x1, x2, x3, False, x4) 248.92/165.28 new_primMinusNat0(Zero, Zero) 248.92/165.28 new_primDivNatS1(Zero, x0) 248.92/165.28 new_primDivNatS02(x0, x1, Succ(x2), Succ(x3)) 248.92/165.28 new_primModNatS02(x0, x1) 248.92/165.28 new_primDivNatS1(Succ(Zero), Succ(x0)) 248.92/165.28 new_sr6(Neg(x0)) 248.92/165.28 new_gcd0Gcd'10(True, x0, x1) 248.92/165.28 new_primMulNat0(Succ(x0), Succ(x1)) 248.92/165.28 new_abs(Neg(Zero)) 248.92/165.28 new_ms(x0, Neg(x1)) 248.92/165.28 new_rem(Pos(x0), Neg(Zero)) 248.92/165.28 new_rem(Neg(x0), Pos(Zero)) 248.92/165.28 new_primMinusNatS2(Zero, Succ(x0)) 248.92/165.28 new_esEs(Neg(Succ(x0))) 248.92/165.28 new_error 248.92/165.28 new_primModNatS1(Succ(Zero), Zero) 248.92/165.28 new_primMulNat0(Zero, Succ(x0)) 248.92/165.28 new_sr3(x0, ty_Float) 248.92/165.28 new_quot(x0, x1, x2) 248.92/165.28 new_gcd2(True, x0, x1) 248.92/165.28 new_gcd0Gcd'11(True, x0, x1) 248.92/165.28 new_primEqInt(Neg(Zero)) 248.92/165.28 new_sr2(x0, x1, ty_Double) 248.92/165.28 new_primMulNat0(Succ(x0), Zero) 248.92/165.28 new_quot0(Neg(x0), x1, x2) 248.92/165.28 new_primMinusNatS2(Succ(x0), Succ(x1)) 248.92/165.28 new_sr4(x0, x1, app(ty_Ratio, x2)) 248.92/165.28 new_sr8(x0, x1) 248.92/165.28 new_primDivNatS01(x0, x1) 248.92/165.28 new_primDivNatS02(x0, x1, Zero, Succ(x2)) 248.92/165.28 new_primPlusNat0(Succ(x0), Succ(x1)) 248.92/165.28 new_sr1(x0, ty_Integer) 248.92/165.28 new_primPlusNat0(Zero, Zero) 248.92/165.28 new_sr1(x0, ty_Float) 248.92/165.28 new_primMinusNat0(Succ(x0), Succ(x1)) 248.92/165.28 new_sr12(:%(x0, x1), :%(x2, x3), x4) 248.92/165.28 new_abs(Neg(Succ(x0))) 248.92/165.28 new_sr1(x0, ty_Double) 248.92/165.28 new_sr3(x0, app(ty_Ratio, x1)) 248.92/165.28 new_sr7(x0) 248.92/165.28 new_gcd0(x0, x1) 248.92/165.28 new_sr(x0, ty_Integer) 248.92/165.28 new_sr0(x0, ty_Int) 248.92/165.28 new_primQuotInt0(x0, Pos(Succ(x1))) 248.92/165.28 new_sr4(x0, x1, ty_Integer) 248.92/165.28 new_sr5(:%(x0, x1), x2) 248.92/165.28 new_primMinusNatS2(Zero, Zero) 248.92/165.28 new_primMulNat1(Succ(x0)) 248.92/165.28 new_sr0(x0, ty_Integer) 248.92/165.28 new_ms(x0, Pos(Zero)) 248.92/165.28 new_abs(Pos(Succ(x0))) 248.92/165.28 new_sr4(x0, x1, ty_Int) 248.92/165.28 new_esEs(Pos(Zero)) 248.92/165.28 new_primQuotInt0(x0, Pos(Zero)) 248.92/165.28 new_sr(x0, ty_Int) 248.92/165.28 new_primEqInt(Neg(Succ(x0))) 248.92/165.28 new_primQuotInt(x0, Neg(Zero)) 248.92/165.28 new_primQuotInt0(x0, Neg(Zero)) 248.92/165.28 new_primQuotInt0(x0, Neg(Succ(x1))) 248.92/165.28 new_gcd(x0, x1) 248.92/165.28 new_quot0(Pos(x0), x1, x2) 248.92/165.28 new_primMinusNatS0(x0) 248.92/165.28 new_primPlusNat0(Zero, Succ(x0)) 248.92/165.28 new_sr2(x0, x1, app(ty_Ratio, x2)) 248.92/165.28 new_sr2(x0, x1, ty_Int) 248.92/165.28 new_primQuotInt(x0, Pos(Succ(x1))) 248.92/165.28 new_primDivNatS1(Succ(Succ(x0)), Zero) 248.92/165.28 new_rem(Pos(x0), Pos(Zero)) 248.92/165.28 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 248.92/165.28 new_primDivNatS02(x0, x1, Zero, Zero) 248.92/165.28 new_abs(Pos(Zero)) 248.92/165.28 new_gcd0Gcd'10(False, x0, x1) 248.92/165.28 new_ms(x0, Pos(Succ(x1))) 248.92/165.28 new_primMinusNatS1 248.92/165.28 new_esEs1(Integer(x0)) 248.92/165.28 new_ms0(x0, Neg(Zero)) 248.92/165.28 new_primMinusNat0(Succ(x0), Zero) 248.92/165.28 new_ms0(x0, Neg(Succ(x1))) 248.92/165.28 new_sr2(x0, x1, ty_Integer) 248.92/165.28 new_primModNatS01(x0, x1, Zero, Succ(x2)) 248.92/165.28 new_primMulNat2(Succ(x0)) 248.92/165.28 new_sr0(x0, ty_Float) 248.92/165.28 new_sr14(Neg(x0), Neg(x1)) 248.92/165.28 new_sr2(x0, x1, ty_Float) 248.92/165.28 new_primMinusNatS2(Succ(x0), Zero) 248.92/165.28 new_sr4(x0, x1, ty_Float) 248.92/165.28 new_sr6(Pos(x0)) 248.92/165.28 new_esEs2(x0, x1, ty_Integer) 248.92/165.28 new_primMulNat4(Succ(x0)) 248.92/165.28 new_rem(Neg(x0), Neg(Succ(x1))) 248.92/165.28 new_primEqInt(Pos(Succ(x0))) 248.92/165.28 new_primQuotInt(x0, Pos(Zero)) 248.92/165.28 new_gcd0Gcd'11(False, x0, x1) 248.92/165.28 new_sr9(x0) 248.92/165.28 new_primModNatS1(Succ(Succ(x0)), Zero) 248.92/165.28 new_sr(x0, ty_Double) 248.92/165.28 new_esEs0(x0, ty_Integer) 248.92/165.28 new_gcd0Gcd'00(x0, x1) 248.92/165.28 new_reduce2Reduce1(x0, x1, x2, x3, True, x4) 248.92/165.28 new_sr3(x0, ty_Double) 248.92/165.28 new_esEs(Neg(Zero)) 248.92/165.28 new_primMulNat1(Zero) 248.92/165.28 new_primMinusNat0(Zero, Succ(x0)) 248.92/165.28 new_rem(Neg(x0), Neg(Zero)) 248.92/165.28 248.92/165.28 We have to consider all minimal (P,Q,R)-chains. 248.92/165.28 ---------------------------------------- 248.92/165.28 248.92/165.28 (723) UsableRulesProof (EQUIVALENT) 248.92/165.28 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. 248.92/165.28 ---------------------------------------- 248.92/165.28 248.92/165.28 (724) 248.92/165.28 Obligation: 248.92/165.28 Q DP problem: 248.92/165.28 The TRS P consists of the following rules: 248.92/165.28 248.92/165.28 new_pr2F0G10(vyv248, vyv249, vyv250, Succ(Succ(vyv25100)), bb) -> new_pr2F0G10(vyv248, vyv249, vyv250, vyv25100, bb) 248.92/165.28 new_pr2F0G(vyv187, vyv183, Neg(Succ(Zero)), h) -> new_pr2F0G11(vyv187, vyv183, Zero, h) 248.92/165.28 new_pr2F0G(vyv187, vyv183, Pos(Succ(Succ(vyv222000))), h) -> new_pr2F0G1(vyv187, vyv183, Succ(vyv222000), vyv222000, h) 248.92/165.28 new_pr2F0(vyv183, Neg(Succ(Succ(vyv222000))), vyv187, h) -> new_pr2F0G10(vyv187, vyv183, Succ(vyv222000), vyv222000, h) 248.92/165.28 new_pr2F0(vyv183, Neg(Succ(Zero)), vyv187, h) -> new_pr2F0G11(vyv187, vyv183, Zero, h) 248.92/165.28 new_pr2F0G10(vyv248, vyv249, vyv250, Succ(Zero), bb) -> new_pr2F0G11(vyv248, vyv249, vyv250, bb) 248.92/165.28 new_pr2F0G(vyv187, vyv183, Pos(Zero), h) -> new_pr2F0G(vyv187, new_sr(vyv183, h), new_primQuotInt(Zero, new_fromInt0), h) 248.92/165.28 new_pr2F0G(vyv187, vyv183, Neg(Succ(Succ(vyv222000))), h) -> new_pr2F0G10(vyv187, vyv183, Succ(vyv222000), vyv222000, h) 248.92/165.28 new_pr2F3(False, vyv227, vyv228, vyv244, vyv226, ba) -> new_pr2F0(vyv227, new_ms(vyv228, vyv244), new_sr2(vyv227, vyv226, ba), ba) 248.92/165.28 new_pr2F0(vyv183, Pos(Succ(Succ(vyv222000))), vyv187, h) -> new_pr2F0G1(vyv187, vyv183, Succ(vyv222000), vyv222000, h) 248.92/165.28 new_pr2F0G1(vyv226, vyv227, vyv228, Zero, ba) -> new_pr2F0G(vyv226, new_sr1(vyv227, ba), new_primQuotInt(Succ(vyv228), new_fromInt0), ba) 248.92/165.28 new_pr2F1(vyv239, vyv240, vyv243, vyv238, bc) -> new_pr2F30(new_esEs(new_ms0(vyv240, vyv243)), vyv239, vyv240, vyv243, vyv238, bc) 248.92/165.28 new_pr2F(vyv227, vyv228, vyv244, vyv226, ba) -> new_pr2F3(new_esEs(new_ms(vyv228, vyv244)), vyv227, vyv228, vyv244, vyv226, ba) 248.92/165.28 new_pr2F0G1(vyv226, vyv227, vyv228, Succ(Succ(vyv22900)), ba) -> new_pr2F0G1(vyv226, vyv227, vyv228, vyv22900, ba) 248.92/165.28 new_pr2F30(False, vyv239, vyv240, vyv243, vyv238, bc) -> new_pr2F0(vyv239, new_ms0(vyv240, vyv243), new_sr4(vyv239, vyv238, bc), bc) 248.92/165.28 new_pr2F0(vyv183, Pos(Zero), vyv187, h) -> new_pr2F0G(vyv187, new_sr(vyv183, h), new_primQuotInt(Zero, new_fromInt0), h) 248.92/165.28 new_pr2F0(vyv183, Neg(Zero), vyv187, h) -> new_pr2F0G(vyv187, new_sr0(vyv183, h), new_primQuotInt0(Zero, Pos(Succ(Succ(Zero)))), h) 248.92/165.28 new_pr2F0G11(vyv238, vyv239, vyv240, bc) -> new_pr2F1(vyv239, vyv240, Pos(Succ(Zero)), vyv238, bc) 248.92/165.28 new_pr2F0G(vyv187, vyv183, Neg(Zero), h) -> new_pr2F0G(vyv187, new_sr0(vyv183, h), new_primQuotInt0(Zero, Pos(Succ(Succ(Zero)))), h) 248.92/165.28 new_pr2F0G10(vyv248, vyv249, vyv250, Zero, bb) -> new_pr2F0G(vyv248, new_sr3(vyv249, bb), new_primQuotInt0(Succ(vyv250), Pos(Succ(Succ(Zero)))), bb) 248.92/165.28 new_pr2F0(vyv183, Pos(Succ(Zero)), vyv187, h) -> new_pr2F(vyv183, Zero, Pos(Succ(Zero)), vyv187, h) 248.92/165.28 new_pr2F0G1(vyv226, vyv227, vyv228, Succ(Zero), ba) -> new_pr2F(vyv227, vyv228, Pos(Succ(Zero)), vyv226, ba) 248.92/165.28 new_pr2F0G(vyv187, vyv183, Pos(Succ(Zero)), h) -> new_pr2F(vyv183, Zero, Pos(Succ(Zero)), vyv187, h) 248.92/165.28 248.92/165.28 The TRS R consists of the following rules: 248.92/165.28 248.92/165.28 new_sr3(vyv249, ty_Float) -> new_sr10(vyv249) 248.92/165.28 new_sr3(vyv249, ty_Double) -> new_sr9(vyv249) 248.92/165.28 new_sr3(vyv249, ty_Int) -> new_sr6(vyv249) 248.92/165.28 new_sr3(vyv249, ty_Integer) -> new_sr7(vyv249) 248.92/165.28 new_sr3(vyv249, app(ty_Ratio, bg)) -> new_sr5(vyv249, bg) 248.92/165.28 new_primQuotInt0(vyv2700, Pos(Succ(vyv28700))) -> Neg(new_primDivNatS1(vyv2700, vyv28700)) 248.92/165.28 new_primDivNatS1(Zero, vyv28400) -> Zero 248.92/165.28 new_primDivNatS1(Succ(Succ(vyv270000)), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS0(vyv270000), Zero)) 248.92/165.28 new_primDivNatS1(Succ(Zero), Succ(vyv284000)) -> Zero 248.92/165.28 new_primDivNatS1(Succ(Succ(vyv270000)), Succ(vyv284000)) -> new_primDivNatS02(vyv270000, vyv284000, vyv270000, vyv284000) 248.92/165.28 new_primDivNatS1(Succ(Zero), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS1, Zero)) 248.92/165.28 new_primMinusNatS1 -> Zero 248.92/165.28 new_primDivNatS02(vyv310, vyv311, Zero, Zero) -> new_primDivNatS01(vyv310, vyv311) 248.92/165.28 new_primDivNatS02(vyv310, vyv311, Succ(vyv3120), Zero) -> new_primDivNatS01(vyv310, vyv311) 248.92/165.28 new_primDivNatS02(vyv310, vyv311, Zero, Succ(vyv3130)) -> Zero 248.92/165.28 new_primDivNatS02(vyv310, vyv311, Succ(vyv3120), Succ(vyv3130)) -> new_primDivNatS02(vyv310, vyv311, vyv3120, vyv3130) 248.92/165.28 new_primDivNatS01(vyv310, vyv311) -> Succ(new_primDivNatS1(new_primMinusNatS2(vyv310, vyv311), Succ(vyv311))) 248.92/165.28 new_primMinusNatS2(Zero, Succ(vyv3110)) -> Zero 248.92/165.28 new_primMinusNatS2(Succ(vyv3100), Zero) -> Succ(vyv3100) 248.92/165.28 new_primMinusNatS2(Zero, Zero) -> Zero 248.92/165.28 new_primMinusNatS2(Succ(vyv3100), Succ(vyv3110)) -> new_primMinusNatS2(vyv3100, vyv3110) 248.92/165.28 new_primMinusNatS0(vyv270000) -> Succ(vyv270000) 248.92/165.28 new_sr5(:%(vyv1830, vyv1831), bd) -> new_reduce2Reduce1(vyv1830, vyv1830, vyv1831, vyv1831, new_esEs0(vyv1831, bd), bd) 248.92/165.28 new_esEs0(vyv1831, ty_Int) -> new_esEs(new_sr6(vyv1831)) 248.92/165.28 new_esEs0(vyv1831, ty_Integer) -> new_esEs1(new_sr7(vyv1831)) 248.92/165.28 new_reduce2Reduce1(vyv264, vyv265, vyv266, vyv267, False, bh) -> :%(new_quot1(vyv264, vyv265, vyv266, vyv267, bh), new_quot2(vyv266, vyv267, vyv264, vyv265, bh)) 248.92/165.28 new_reduce2Reduce1(vyv264, vyv265, vyv266, vyv267, True, bh) -> error([]) 248.92/165.28 new_quot1(vyv264, vyv265, vyv266, vyv267, ty_Int) -> new_quot0(new_sr14(vyv264, vyv265), new_sr14(vyv264, vyv265), new_sr14(vyv266, vyv267)) 248.92/165.28 new_quot1(vyv264, vyv265, vyv266, vyv267, ty_Integer) -> new_quot(new_sr8(vyv264, vyv265), new_sr8(vyv264, vyv265), new_sr8(vyv266, vyv267)) 248.92/165.28 new_quot2(vyv266, vyv267, vyv264, vyv265, ty_Int) -> new_quot0(new_sr14(vyv266, vyv267), new_sr14(vyv264, vyv265), new_sr14(vyv266, vyv267)) 248.92/165.28 new_quot2(vyv266, vyv267, vyv264, vyv265, ty_Integer) -> new_quot(new_sr8(vyv266, vyv267), new_sr8(vyv264, vyv265), new_sr8(vyv266, vyv267)) 248.92/165.28 new_sr8(vyv239, vyv238) -> error([]) 248.92/165.28 new_quot(vyv273, vyv275, vyv274) -> error([]) 248.92/165.28 new_sr14(Pos(vyv2390), Neg(vyv2380)) -> Neg(new_primMulNat0(vyv2390, vyv2380)) 248.92/165.28 new_sr14(Neg(vyv2390), Pos(vyv2380)) -> Neg(new_primMulNat0(vyv2390, vyv2380)) 248.92/165.28 new_sr14(Neg(vyv2390), Neg(vyv2380)) -> Pos(new_primMulNat0(vyv2390, vyv2380)) 248.92/165.28 new_sr14(Pos(vyv2390), Pos(vyv2380)) -> Pos(new_primMulNat0(vyv2390, vyv2380)) 248.92/165.28 new_quot0(Neg(vyv2700), vyv272, vyv271) -> new_primQuotInt0(vyv2700, new_gcd(vyv272, vyv271)) 248.92/165.28 new_quot0(Pos(vyv2700), vyv272, vyv271) -> new_primQuotInt(vyv2700, new_gcd(vyv272, vyv271)) 248.92/165.28 new_gcd(vyv272, vyv271) -> new_gcd2(new_esEs(vyv272), vyv272, vyv271) 248.92/165.28 new_primQuotInt(vyv2700, Neg(Zero)) -> new_error 248.92/165.28 new_primQuotInt(vyv2700, Pos(Succ(vyv28400))) -> Pos(new_primDivNatS1(vyv2700, vyv28400)) 248.92/165.28 new_primQuotInt(vyv2700, Pos(Zero)) -> new_error 248.92/165.28 new_primQuotInt(vyv2700, Neg(Succ(vyv28400))) -> Neg(new_primDivNatS1(vyv2700, vyv28400)) 248.92/165.28 new_error -> error([]) 248.92/165.28 new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) 248.92/165.28 new_esEs(Pos(Succ(vyv24100))) -> new_primEqInt(Pos(Succ(vyv24100))) 248.92/165.28 new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) 248.92/165.28 new_esEs(Neg(Succ(vyv24100))) -> new_primEqInt(Neg(Succ(vyv24100))) 248.92/165.28 new_gcd2(True, vyv272, vyv271) -> new_gcd1(new_esEs(vyv271), vyv272, vyv271) 248.92/165.28 new_gcd2(False, vyv272, vyv271) -> new_gcd0(vyv272, vyv271) 248.92/165.28 new_gcd0(vyv272, vyv271) -> new_gcd0Gcd'10(new_esEs(new_abs(vyv271)), vyv272, vyv271) 248.92/165.28 new_abs(Neg(Zero)) -> Neg(Zero) 248.92/165.28 new_abs(Neg(Succ(vyv27100))) -> Pos(Succ(vyv27100)) 248.92/165.28 new_abs(Pos(Succ(vyv27100))) -> Pos(Succ(vyv27100)) 248.92/165.28 new_abs(Pos(Zero)) -> Pos(Zero) 248.92/165.28 new_gcd0Gcd'10(True, vyv272, vyv271) -> new_abs(vyv272) 248.92/165.28 new_gcd0Gcd'10(False, vyv272, vyv271) -> new_gcd0Gcd'00(new_abs(vyv272), new_abs(vyv271)) 248.92/165.28 new_gcd0Gcd'11(False, vyv291, vyv292) -> new_gcd0Gcd'00(vyv291, new_rem(vyv292, vyv291)) 248.92/165.28 new_gcd0Gcd'00(vyv292, vyv291) -> new_gcd0Gcd'11(new_esEs(new_rem(vyv292, vyv291)), vyv291, vyv292) 248.92/165.28 new_rem(Pos(vyv2920), Neg(Zero)) -> new_error 248.92/165.28 new_rem(Neg(vyv2920), Pos(Zero)) -> new_error 248.92/165.28 new_rem(Pos(vyv2920), Neg(Succ(vyv29100))) -> Pos(new_primModNatS1(vyv2920, vyv29100)) 248.92/165.28 new_rem(Neg(vyv2920), Pos(Succ(vyv29100))) -> Neg(new_primModNatS1(vyv2920, vyv29100)) 248.92/165.28 new_rem(Pos(vyv2920), Pos(Succ(vyv29100))) -> Pos(new_primModNatS1(vyv2920, vyv29100)) 248.92/165.28 new_rem(Neg(vyv2920), Neg(Zero)) -> new_error 248.92/165.28 new_rem(Neg(vyv2920), Neg(Succ(vyv29100))) -> Neg(new_primModNatS1(vyv2920, vyv29100)) 248.92/165.28 new_rem(Pos(vyv2920), Pos(Zero)) -> new_error 248.92/165.28 new_gcd0Gcd'11(True, vyv291, vyv292) -> vyv291 248.92/165.28 new_primModNatS1(Succ(Zero), Succ(vyv291000)) -> Succ(Zero) 248.92/165.28 new_primModNatS1(Zero, vyv29100) -> Zero 248.92/165.28 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 248.92/165.28 new_primModNatS1(Succ(Succ(vyv292000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv292000), Zero) 248.92/165.28 new_primModNatS01(vyv330, vyv331, Zero, Zero) -> new_primModNatS02(vyv330, vyv331) 248.92/165.28 new_primModNatS02(vyv330, vyv331) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv330), Succ(vyv331)), Succ(vyv331)) 248.92/165.28 new_primModNatS1(Succ(Succ(vyv292000)), Succ(vyv291000)) -> new_primModNatS01(vyv292000, vyv291000, vyv292000, vyv291000) 248.92/165.28 new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Zero) -> new_primModNatS02(vyv330, vyv331) 248.92/165.28 new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Succ(vyv3330)) -> new_primModNatS01(vyv330, vyv331, vyv3320, vyv3330) 248.92/165.28 new_primModNatS01(vyv330, vyv331, Zero, Succ(vyv3330)) -> Succ(Succ(vyv330)) 248.92/165.28 new_gcd1(True, vyv272, vyv271) -> new_error 248.92/165.28 new_gcd1(False, vyv272, vyv271) -> new_gcd0(vyv272, vyv271) 248.92/165.28 new_primEqInt(Neg(Succ(vyv242000))) -> False 248.92/165.28 new_primEqInt(Pos(Zero)) -> True 248.92/165.28 new_primEqInt(Pos(Succ(vyv242000))) -> False 248.92/165.28 new_primEqInt(Neg(Zero)) -> True 248.92/165.28 new_primQuotInt0(vyv2700, Neg(Zero)) -> new_error 248.92/165.28 new_primQuotInt0(vyv2700, Neg(Succ(vyv28700))) -> Pos(new_primDivNatS1(vyv2700, vyv28700)) 248.92/165.28 new_primQuotInt0(vyv2700, Pos(Zero)) -> new_error 248.92/165.28 new_primMulNat0(Succ(vyv23900), Zero) -> Zero 248.92/165.28 new_primMulNat0(Zero, Succ(vyv23800)) -> Zero 248.92/165.28 new_primMulNat0(Zero, Zero) -> Zero 248.92/165.28 new_primMulNat0(Succ(vyv23900), Succ(vyv23800)) -> new_primPlusNat0(new_primMulNat0(vyv23900, Succ(vyv23800)), Succ(vyv23800)) 248.92/165.28 new_primPlusNat0(Succ(vyv4000), Succ(vyv5000)) -> Succ(Succ(new_primPlusNat0(vyv4000, vyv5000))) 248.92/165.28 new_primPlusNat0(Zero, Succ(vyv5000)) -> Succ(vyv5000) 248.92/165.28 new_primPlusNat0(Zero, Zero) -> Zero 248.92/165.28 new_primPlusNat0(Succ(vyv4000), Zero) -> Succ(vyv4000) 248.92/165.28 new_sr7(vyv183) -> error([]) 248.92/165.28 new_esEs1(Integer(vyv2690)) -> new_primEqInt(vyv2690) 248.92/165.28 new_sr6(Neg(vyv1830)) -> Pos(new_primMulNat1(vyv1830)) 248.92/165.28 new_sr6(Pos(vyv1830)) -> Pos(new_primMulNat1(vyv1830)) 248.92/165.28 new_primMulNat1(Succ(vyv18300)) -> new_primPlusNat0(new_primMulNat2(vyv18300), Succ(vyv18300)) 248.92/165.28 new_primMulNat1(Zero) -> Zero 248.92/165.28 new_primMulNat2(Succ(vyv183000)) -> new_primPlusNat0(new_primMulNat3(vyv183000), Succ(Succ(vyv183000))) 248.92/165.28 new_primMulNat2(Zero) -> Zero 248.92/165.28 new_primMulNat3(Succ(vyv1830000)) -> new_primPlusNat0(new_primMulNat4(vyv1830000), Succ(Succ(Succ(vyv1830000)))) 248.92/165.28 new_primMulNat3(Zero) -> Zero 248.92/165.28 new_primMulNat4(Succ(vyv18300000)) -> new_primPlusNat0(new_primMulNat0(vyv18300000, Succ(Succ(Succ(Succ(vyv18300000))))), Succ(Succ(Succ(Succ(vyv18300000))))) 248.92/165.28 new_primMulNat4(Zero) -> Zero 248.92/165.28 new_sr9(vyv183) -> error([]) 248.92/165.28 new_sr10(vyv183) -> error([]) 248.92/165.28 new_sr0(vyv183, ty_Double) -> new_sr9(vyv183) 248.92/165.28 new_sr0(vyv183, ty_Int) -> new_sr6(vyv183) 248.92/165.28 new_sr0(vyv183, ty_Integer) -> new_sr7(vyv183) 248.92/165.28 new_sr0(vyv183, ty_Float) -> new_sr10(vyv183) 248.92/165.28 new_sr0(vyv183, app(ty_Ratio, bd)) -> new_sr5(vyv183, bd) 248.92/165.28 new_sr(vyv183, ty_Int) -> new_sr6(vyv183) 248.92/165.28 new_sr(vyv183, app(ty_Ratio, bd)) -> new_sr5(vyv183, bd) 248.92/165.28 new_sr(vyv183, ty_Integer) -> new_sr7(vyv183) 248.92/165.28 new_sr(vyv183, ty_Float) -> new_sr10(vyv183) 248.92/165.28 new_sr(vyv183, ty_Double) -> new_sr9(vyv183) 248.92/165.28 new_fromInt0 -> Pos(Succ(Succ(Zero))) 248.92/165.28 new_ms0(vyv240, Neg(Zero)) -> Neg(Succ(vyv240)) 248.92/165.28 new_ms0(vyv240, Pos(vyv2430)) -> Neg(new_primPlusNat0(Succ(vyv240), vyv2430)) 248.92/165.28 new_ms0(vyv240, Neg(Succ(vyv24300))) -> new_primMinusNat0(vyv24300, vyv240) 248.92/165.28 new_sr4(vyv239, vyv238, app(ty_Ratio, bf)) -> new_sr12(vyv239, vyv238, bf) 248.92/165.28 new_sr4(vyv239, vyv238, ty_Integer) -> new_sr8(vyv239, vyv238) 248.92/165.28 new_sr4(vyv239, vyv238, ty_Int) -> new_sr14(vyv239, vyv238) 248.92/165.28 new_sr4(vyv239, vyv238, ty_Double) -> new_sr11(vyv239, vyv238) 248.92/165.28 new_sr4(vyv239, vyv238, ty_Float) -> new_sr13(vyv239, vyv238) 248.92/165.28 new_sr13(vyv239, vyv238) -> error([]) 248.92/165.28 new_sr11(vyv239, vyv238) -> error([]) 248.92/165.28 new_sr12(:%(vyv2390, vyv2391), :%(vyv2380, vyv2381), bf) -> new_reduce2Reduce1(vyv2390, vyv2380, vyv2391, vyv2381, new_esEs2(vyv2391, vyv2381, bf), bf) 248.92/165.28 new_esEs2(vyv2391, vyv2381, ty_Int) -> new_esEs(new_sr14(vyv2391, vyv2381)) 248.92/165.28 new_esEs2(vyv2391, vyv2381, ty_Integer) -> new_esEs1(new_sr8(vyv2391, vyv2381)) 248.92/165.28 new_primMinusNat0(Succ(vyv2280), Succ(vyv244000)) -> new_primMinusNat0(vyv2280, vyv244000) 248.92/165.28 new_primMinusNat0(Zero, Zero) -> Pos(Zero) 248.92/165.28 new_primMinusNat0(Zero, Succ(vyv244000)) -> Neg(Succ(vyv244000)) 248.92/165.28 new_primMinusNat0(Succ(vyv2280), Zero) -> Pos(Succ(vyv2280)) 248.92/165.28 new_ms(vyv228, Neg(vyv2440)) -> Pos(new_primPlusNat0(Succ(vyv228), vyv2440)) 248.92/165.28 new_ms(vyv228, Pos(Succ(vyv24400))) -> new_primMinusNat0(vyv228, vyv24400) 248.92/165.28 new_ms(vyv228, Pos(Zero)) -> Pos(Succ(vyv228)) 248.92/165.28 new_sr1(vyv227, ty_Int) -> new_sr6(vyv227) 248.92/165.28 new_sr1(vyv227, ty_Integer) -> new_sr7(vyv227) 248.92/165.28 new_sr1(vyv227, app(ty_Ratio, be)) -> new_sr5(vyv227, be) 248.92/165.28 new_sr1(vyv227, ty_Float) -> new_sr10(vyv227) 248.92/165.28 new_sr1(vyv227, ty_Double) -> new_sr9(vyv227) 248.92/165.28 new_sr2(vyv227, vyv226, ty_Int) -> new_sr14(vyv227, vyv226) 248.92/165.28 new_sr2(vyv227, vyv226, ty_Double) -> new_sr11(vyv227, vyv226) 248.92/165.28 new_sr2(vyv227, vyv226, ty_Integer) -> new_sr8(vyv227, vyv226) 248.92/165.28 new_sr2(vyv227, vyv226, ty_Float) -> new_sr13(vyv227, vyv226) 248.92/165.28 new_sr2(vyv227, vyv226, app(ty_Ratio, be)) -> new_sr12(vyv227, vyv226, be) 248.92/165.28 248.92/165.28 The set Q consists of the following terms: 248.92/165.28 248.92/165.28 new_rem(Pos(x0), Pos(Succ(x1))) 248.92/165.28 new_quot1(x0, x1, x2, x3, ty_Integer) 248.92/165.28 new_primModNatS1(Succ(Zero), Succ(x0)) 248.92/165.28 new_ms0(x0, Pos(x1)) 248.92/165.28 new_sr(x0, app(ty_Ratio, x1)) 248.92/165.28 new_primMulNat4(Zero) 248.92/165.28 new_gcd1(False, x0, x1) 248.92/165.28 new_primEqInt(Pos(Zero)) 248.92/165.28 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 248.92/165.28 new_rem(Pos(x0), Neg(Succ(x1))) 248.92/165.28 new_rem(Neg(x0), Pos(Succ(x1))) 248.92/165.28 new_sr10(x0) 248.92/165.28 new_quot1(x0, x1, x2, x3, ty_Int) 248.92/165.28 new_sr0(x0, app(ty_Ratio, x1)) 248.92/165.28 new_quot2(x0, x1, x2, x3, ty_Integer) 248.92/165.28 new_primModNatS01(x0, x1, Succ(x2), Zero) 248.92/165.28 new_sr3(x0, ty_Integer) 248.92/165.28 new_primMulNat3(Zero) 248.92/165.28 new_primDivNatS02(x0, x1, Succ(x2), Zero) 248.92/165.28 new_sr(x0, ty_Float) 248.92/165.28 new_quot2(x0, x1, x2, x3, ty_Int) 248.92/165.28 new_gcd2(False, x0, x1) 248.92/165.28 new_primDivNatS1(Succ(Zero), Zero) 248.92/165.28 new_sr0(x0, ty_Double) 248.92/165.28 new_esEs0(x0, ty_Int) 248.92/165.28 new_sr14(Pos(x0), Pos(x1)) 248.92/165.28 new_sr3(x0, ty_Int) 248.92/165.28 new_primMulNat0(Zero, Zero) 248.92/165.28 new_sr4(x0, x1, ty_Double) 248.92/165.28 new_primPlusNat0(Succ(x0), Zero) 248.92/165.28 new_fromInt0 248.92/165.28 new_fromInt 248.92/165.28 new_primMulNat2(Zero) 248.92/165.28 new_sr11(x0, x1) 248.92/165.28 new_primModNatS01(x0, x1, Zero, Zero) 248.92/165.28 new_esEs2(x0, x1, ty_Int) 248.92/165.28 new_gcd1(True, x0, x1) 248.92/165.28 new_sr13(x0, x1) 248.92/165.28 new_sr14(Pos(x0), Neg(x1)) 248.92/165.28 new_sr14(Neg(x0), Pos(x1)) 248.92/165.28 new_primDivNatS1(Succ(Succ(x0)), Succ(x1)) 248.92/165.28 new_sr1(x0, ty_Int) 248.92/165.28 new_primModNatS1(Zero, x0) 248.92/165.28 new_esEs(Pos(Succ(x0))) 248.92/165.28 new_primMulNat3(Succ(x0)) 248.92/165.28 new_sr1(x0, app(ty_Ratio, x1)) 248.92/165.28 new_primQuotInt(x0, Neg(Succ(x1))) 248.92/165.28 new_reduce2Reduce1(x0, x1, x2, x3, False, x4) 248.92/165.28 new_primMinusNat0(Zero, Zero) 248.92/165.28 new_primDivNatS1(Zero, x0) 248.92/165.28 new_primDivNatS02(x0, x1, Succ(x2), Succ(x3)) 248.92/165.28 new_primModNatS02(x0, x1) 248.92/165.28 new_primDivNatS1(Succ(Zero), Succ(x0)) 248.92/165.28 new_sr6(Neg(x0)) 248.92/165.28 new_gcd0Gcd'10(True, x0, x1) 248.92/165.28 new_primMulNat0(Succ(x0), Succ(x1)) 248.92/165.28 new_abs(Neg(Zero)) 248.92/165.28 new_ms(x0, Neg(x1)) 248.92/165.28 new_rem(Pos(x0), Neg(Zero)) 248.92/165.28 new_rem(Neg(x0), Pos(Zero)) 248.92/165.28 new_primMinusNatS2(Zero, Succ(x0)) 248.92/165.28 new_esEs(Neg(Succ(x0))) 248.92/165.28 new_error 248.92/165.28 new_primModNatS1(Succ(Zero), Zero) 248.92/165.28 new_primMulNat0(Zero, Succ(x0)) 248.92/165.28 new_sr3(x0, ty_Float) 248.92/165.28 new_quot(x0, x1, x2) 248.92/165.28 new_gcd2(True, x0, x1) 248.92/165.28 new_gcd0Gcd'11(True, x0, x1) 248.92/165.28 new_primEqInt(Neg(Zero)) 248.92/165.28 new_sr2(x0, x1, ty_Double) 248.92/165.28 new_primMulNat0(Succ(x0), Zero) 248.92/165.28 new_quot0(Neg(x0), x1, x2) 248.92/165.28 new_primMinusNatS2(Succ(x0), Succ(x1)) 248.92/165.28 new_sr4(x0, x1, app(ty_Ratio, x2)) 248.92/165.28 new_sr8(x0, x1) 248.92/165.28 new_primDivNatS01(x0, x1) 248.92/165.28 new_primDivNatS02(x0, x1, Zero, Succ(x2)) 248.92/165.28 new_primPlusNat0(Succ(x0), Succ(x1)) 248.92/165.28 new_sr1(x0, ty_Integer) 248.92/165.28 new_primPlusNat0(Zero, Zero) 248.92/165.28 new_sr1(x0, ty_Float) 248.92/165.28 new_primMinusNat0(Succ(x0), Succ(x1)) 248.92/165.28 new_sr12(:%(x0, x1), :%(x2, x3), x4) 248.92/165.28 new_abs(Neg(Succ(x0))) 248.92/165.28 new_sr1(x0, ty_Double) 248.92/165.28 new_sr3(x0, app(ty_Ratio, x1)) 248.92/165.28 new_sr7(x0) 248.92/165.28 new_gcd0(x0, x1) 248.92/165.28 new_sr(x0, ty_Integer) 248.92/165.28 new_sr0(x0, ty_Int) 248.92/165.28 new_primQuotInt0(x0, Pos(Succ(x1))) 248.92/165.28 new_sr4(x0, x1, ty_Integer) 248.92/165.28 new_sr5(:%(x0, x1), x2) 248.92/165.28 new_primMinusNatS2(Zero, Zero) 248.92/165.28 new_primMulNat1(Succ(x0)) 248.92/165.28 new_sr0(x0, ty_Integer) 248.92/165.28 new_ms(x0, Pos(Zero)) 248.92/165.28 new_abs(Pos(Succ(x0))) 248.92/165.28 new_sr4(x0, x1, ty_Int) 248.92/165.28 new_esEs(Pos(Zero)) 248.92/165.28 new_primQuotInt0(x0, Pos(Zero)) 248.92/165.28 new_sr(x0, ty_Int) 248.92/165.28 new_primEqInt(Neg(Succ(x0))) 248.92/165.28 new_primQuotInt(x0, Neg(Zero)) 248.92/165.28 new_primQuotInt0(x0, Neg(Zero)) 248.92/165.28 new_primQuotInt0(x0, Neg(Succ(x1))) 248.92/165.28 new_gcd(x0, x1) 248.92/165.28 new_quot0(Pos(x0), x1, x2) 248.92/165.28 new_primMinusNatS0(x0) 248.92/165.28 new_primPlusNat0(Zero, Succ(x0)) 248.92/165.28 new_sr2(x0, x1, app(ty_Ratio, x2)) 248.92/165.28 new_sr2(x0, x1, ty_Int) 248.92/165.28 new_primQuotInt(x0, Pos(Succ(x1))) 248.92/165.28 new_primDivNatS1(Succ(Succ(x0)), Zero) 248.92/165.28 new_rem(Pos(x0), Pos(Zero)) 248.92/165.28 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 248.92/165.28 new_primDivNatS02(x0, x1, Zero, Zero) 248.92/165.28 new_abs(Pos(Zero)) 248.92/165.28 new_gcd0Gcd'10(False, x0, x1) 248.92/165.28 new_ms(x0, Pos(Succ(x1))) 248.92/165.28 new_primMinusNatS1 248.92/165.28 new_esEs1(Integer(x0)) 248.92/165.28 new_ms0(x0, Neg(Zero)) 248.92/165.28 new_primMinusNat0(Succ(x0), Zero) 248.92/165.28 new_ms0(x0, Neg(Succ(x1))) 248.92/165.28 new_sr2(x0, x1, ty_Integer) 248.92/165.28 new_primModNatS01(x0, x1, Zero, Succ(x2)) 248.92/165.28 new_primMulNat2(Succ(x0)) 248.92/165.28 new_sr0(x0, ty_Float) 248.92/165.28 new_sr14(Neg(x0), Neg(x1)) 248.92/165.28 new_sr2(x0, x1, ty_Float) 248.92/165.28 new_primMinusNatS2(Succ(x0), Zero) 248.92/165.28 new_sr4(x0, x1, ty_Float) 248.92/165.28 new_sr6(Pos(x0)) 248.92/165.28 new_esEs2(x0, x1, ty_Integer) 248.92/165.28 new_primMulNat4(Succ(x0)) 248.92/165.28 new_rem(Neg(x0), Neg(Succ(x1))) 248.92/165.28 new_primEqInt(Pos(Succ(x0))) 248.92/165.28 new_primQuotInt(x0, Pos(Zero)) 248.92/165.28 new_gcd0Gcd'11(False, x0, x1) 248.92/165.28 new_sr9(x0) 248.92/165.28 new_primModNatS1(Succ(Succ(x0)), Zero) 248.92/165.28 new_sr(x0, ty_Double) 248.92/165.28 new_esEs0(x0, ty_Integer) 248.92/165.28 new_gcd0Gcd'00(x0, x1) 248.92/165.28 new_reduce2Reduce1(x0, x1, x2, x3, True, x4) 248.92/165.28 new_sr3(x0, ty_Double) 248.92/165.28 new_esEs(Neg(Zero)) 248.92/165.28 new_primMulNat1(Zero) 248.92/165.28 new_primMinusNat0(Zero, Succ(x0)) 248.92/165.28 new_rem(Neg(x0), Neg(Zero)) 248.92/165.28 248.92/165.28 We have to consider all minimal (P,Q,R)-chains. 248.92/165.28 ---------------------------------------- 248.92/165.28 248.92/165.28 (725) QReductionProof (EQUIVALENT) 248.92/165.28 We deleted the following terms from Q as each root-symbol of these terms does neither occur in P nor in R.[THIEMANN]. 248.92/165.28 248.92/165.28 new_fromInt 248.92/165.28 248.92/165.28 248.92/165.28 ---------------------------------------- 248.92/165.28 248.92/165.28 (726) 248.92/165.28 Obligation: 248.92/165.28 Q DP problem: 248.92/165.28 The TRS P consists of the following rules: 248.92/165.28 248.92/165.28 new_pr2F0G10(vyv248, vyv249, vyv250, Succ(Succ(vyv25100)), bb) -> new_pr2F0G10(vyv248, vyv249, vyv250, vyv25100, bb) 248.92/165.28 new_pr2F0G(vyv187, vyv183, Neg(Succ(Zero)), h) -> new_pr2F0G11(vyv187, vyv183, Zero, h) 248.92/165.28 new_pr2F0G(vyv187, vyv183, Pos(Succ(Succ(vyv222000))), h) -> new_pr2F0G1(vyv187, vyv183, Succ(vyv222000), vyv222000, h) 248.92/165.28 new_pr2F0(vyv183, Neg(Succ(Succ(vyv222000))), vyv187, h) -> new_pr2F0G10(vyv187, vyv183, Succ(vyv222000), vyv222000, h) 248.92/165.28 new_pr2F0(vyv183, Neg(Succ(Zero)), vyv187, h) -> new_pr2F0G11(vyv187, vyv183, Zero, h) 248.92/165.28 new_pr2F0G10(vyv248, vyv249, vyv250, Succ(Zero), bb) -> new_pr2F0G11(vyv248, vyv249, vyv250, bb) 248.92/165.28 new_pr2F0G(vyv187, vyv183, Pos(Zero), h) -> new_pr2F0G(vyv187, new_sr(vyv183, h), new_primQuotInt(Zero, new_fromInt0), h) 248.92/165.28 new_pr2F0G(vyv187, vyv183, Neg(Succ(Succ(vyv222000))), h) -> new_pr2F0G10(vyv187, vyv183, Succ(vyv222000), vyv222000, h) 248.92/165.28 new_pr2F3(False, vyv227, vyv228, vyv244, vyv226, ba) -> new_pr2F0(vyv227, new_ms(vyv228, vyv244), new_sr2(vyv227, vyv226, ba), ba) 248.92/165.28 new_pr2F0(vyv183, Pos(Succ(Succ(vyv222000))), vyv187, h) -> new_pr2F0G1(vyv187, vyv183, Succ(vyv222000), vyv222000, h) 248.92/165.28 new_pr2F0G1(vyv226, vyv227, vyv228, Zero, ba) -> new_pr2F0G(vyv226, new_sr1(vyv227, ba), new_primQuotInt(Succ(vyv228), new_fromInt0), ba) 248.92/165.28 new_pr2F1(vyv239, vyv240, vyv243, vyv238, bc) -> new_pr2F30(new_esEs(new_ms0(vyv240, vyv243)), vyv239, vyv240, vyv243, vyv238, bc) 248.92/165.28 new_pr2F(vyv227, vyv228, vyv244, vyv226, ba) -> new_pr2F3(new_esEs(new_ms(vyv228, vyv244)), vyv227, vyv228, vyv244, vyv226, ba) 248.92/165.28 new_pr2F0G1(vyv226, vyv227, vyv228, Succ(Succ(vyv22900)), ba) -> new_pr2F0G1(vyv226, vyv227, vyv228, vyv22900, ba) 248.92/165.28 new_pr2F30(False, vyv239, vyv240, vyv243, vyv238, bc) -> new_pr2F0(vyv239, new_ms0(vyv240, vyv243), new_sr4(vyv239, vyv238, bc), bc) 248.92/165.28 new_pr2F0(vyv183, Pos(Zero), vyv187, h) -> new_pr2F0G(vyv187, new_sr(vyv183, h), new_primQuotInt(Zero, new_fromInt0), h) 248.92/165.28 new_pr2F0(vyv183, Neg(Zero), vyv187, h) -> new_pr2F0G(vyv187, new_sr0(vyv183, h), new_primQuotInt0(Zero, Pos(Succ(Succ(Zero)))), h) 248.92/165.28 new_pr2F0G11(vyv238, vyv239, vyv240, bc) -> new_pr2F1(vyv239, vyv240, Pos(Succ(Zero)), vyv238, bc) 248.92/165.28 new_pr2F0G(vyv187, vyv183, Neg(Zero), h) -> new_pr2F0G(vyv187, new_sr0(vyv183, h), new_primQuotInt0(Zero, Pos(Succ(Succ(Zero)))), h) 248.92/165.28 new_pr2F0G10(vyv248, vyv249, vyv250, Zero, bb) -> new_pr2F0G(vyv248, new_sr3(vyv249, bb), new_primQuotInt0(Succ(vyv250), Pos(Succ(Succ(Zero)))), bb) 248.92/165.28 new_pr2F0(vyv183, Pos(Succ(Zero)), vyv187, h) -> new_pr2F(vyv183, Zero, Pos(Succ(Zero)), vyv187, h) 248.92/165.28 new_pr2F0G1(vyv226, vyv227, vyv228, Succ(Zero), ba) -> new_pr2F(vyv227, vyv228, Pos(Succ(Zero)), vyv226, ba) 248.92/165.28 new_pr2F0G(vyv187, vyv183, Pos(Succ(Zero)), h) -> new_pr2F(vyv183, Zero, Pos(Succ(Zero)), vyv187, h) 248.92/165.28 248.92/165.28 The TRS R consists of the following rules: 248.92/165.28 248.92/165.28 new_sr3(vyv249, ty_Float) -> new_sr10(vyv249) 248.92/165.28 new_sr3(vyv249, ty_Double) -> new_sr9(vyv249) 248.92/165.28 new_sr3(vyv249, ty_Int) -> new_sr6(vyv249) 248.92/165.28 new_sr3(vyv249, ty_Integer) -> new_sr7(vyv249) 248.92/165.28 new_sr3(vyv249, app(ty_Ratio, bg)) -> new_sr5(vyv249, bg) 248.92/165.28 new_primQuotInt0(vyv2700, Pos(Succ(vyv28700))) -> Neg(new_primDivNatS1(vyv2700, vyv28700)) 248.92/165.28 new_primDivNatS1(Zero, vyv28400) -> Zero 248.92/165.28 new_primDivNatS1(Succ(Succ(vyv270000)), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS0(vyv270000), Zero)) 248.92/165.28 new_primDivNatS1(Succ(Zero), Succ(vyv284000)) -> Zero 248.92/165.28 new_primDivNatS1(Succ(Succ(vyv270000)), Succ(vyv284000)) -> new_primDivNatS02(vyv270000, vyv284000, vyv270000, vyv284000) 248.92/165.28 new_primDivNatS1(Succ(Zero), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS1, Zero)) 248.92/165.28 new_primMinusNatS1 -> Zero 248.92/165.28 new_primDivNatS02(vyv310, vyv311, Zero, Zero) -> new_primDivNatS01(vyv310, vyv311) 248.92/165.28 new_primDivNatS02(vyv310, vyv311, Succ(vyv3120), Zero) -> new_primDivNatS01(vyv310, vyv311) 248.92/165.28 new_primDivNatS02(vyv310, vyv311, Zero, Succ(vyv3130)) -> Zero 248.92/165.28 new_primDivNatS02(vyv310, vyv311, Succ(vyv3120), Succ(vyv3130)) -> new_primDivNatS02(vyv310, vyv311, vyv3120, vyv3130) 248.92/165.28 new_primDivNatS01(vyv310, vyv311) -> Succ(new_primDivNatS1(new_primMinusNatS2(vyv310, vyv311), Succ(vyv311))) 248.92/165.28 new_primMinusNatS2(Zero, Succ(vyv3110)) -> Zero 248.92/165.28 new_primMinusNatS2(Succ(vyv3100), Zero) -> Succ(vyv3100) 248.92/165.28 new_primMinusNatS2(Zero, Zero) -> Zero 248.92/165.28 new_primMinusNatS2(Succ(vyv3100), Succ(vyv3110)) -> new_primMinusNatS2(vyv3100, vyv3110) 248.92/165.28 new_primMinusNatS0(vyv270000) -> Succ(vyv270000) 248.92/165.28 new_sr5(:%(vyv1830, vyv1831), bd) -> new_reduce2Reduce1(vyv1830, vyv1830, vyv1831, vyv1831, new_esEs0(vyv1831, bd), bd) 248.92/165.28 new_esEs0(vyv1831, ty_Int) -> new_esEs(new_sr6(vyv1831)) 248.92/165.28 new_esEs0(vyv1831, ty_Integer) -> new_esEs1(new_sr7(vyv1831)) 248.92/165.28 new_reduce2Reduce1(vyv264, vyv265, vyv266, vyv267, False, bh) -> :%(new_quot1(vyv264, vyv265, vyv266, vyv267, bh), new_quot2(vyv266, vyv267, vyv264, vyv265, bh)) 248.92/165.28 new_reduce2Reduce1(vyv264, vyv265, vyv266, vyv267, True, bh) -> error([]) 248.92/165.28 new_quot1(vyv264, vyv265, vyv266, vyv267, ty_Int) -> new_quot0(new_sr14(vyv264, vyv265), new_sr14(vyv264, vyv265), new_sr14(vyv266, vyv267)) 248.92/165.28 new_quot1(vyv264, vyv265, vyv266, vyv267, ty_Integer) -> new_quot(new_sr8(vyv264, vyv265), new_sr8(vyv264, vyv265), new_sr8(vyv266, vyv267)) 248.92/165.28 new_quot2(vyv266, vyv267, vyv264, vyv265, ty_Int) -> new_quot0(new_sr14(vyv266, vyv267), new_sr14(vyv264, vyv265), new_sr14(vyv266, vyv267)) 248.92/165.28 new_quot2(vyv266, vyv267, vyv264, vyv265, ty_Integer) -> new_quot(new_sr8(vyv266, vyv267), new_sr8(vyv264, vyv265), new_sr8(vyv266, vyv267)) 248.92/165.28 new_sr8(vyv239, vyv238) -> error([]) 248.92/165.28 new_quot(vyv273, vyv275, vyv274) -> error([]) 248.92/165.28 new_sr14(Pos(vyv2390), Neg(vyv2380)) -> Neg(new_primMulNat0(vyv2390, vyv2380)) 248.92/165.28 new_sr14(Neg(vyv2390), Pos(vyv2380)) -> Neg(new_primMulNat0(vyv2390, vyv2380)) 248.92/165.28 new_sr14(Neg(vyv2390), Neg(vyv2380)) -> Pos(new_primMulNat0(vyv2390, vyv2380)) 248.92/165.29 new_sr14(Pos(vyv2390), Pos(vyv2380)) -> Pos(new_primMulNat0(vyv2390, vyv2380)) 248.92/165.29 new_quot0(Neg(vyv2700), vyv272, vyv271) -> new_primQuotInt0(vyv2700, new_gcd(vyv272, vyv271)) 248.92/165.29 new_quot0(Pos(vyv2700), vyv272, vyv271) -> new_primQuotInt(vyv2700, new_gcd(vyv272, vyv271)) 248.92/165.29 new_gcd(vyv272, vyv271) -> new_gcd2(new_esEs(vyv272), vyv272, vyv271) 248.92/165.29 new_primQuotInt(vyv2700, Neg(Zero)) -> new_error 248.92/165.29 new_primQuotInt(vyv2700, Pos(Succ(vyv28400))) -> Pos(new_primDivNatS1(vyv2700, vyv28400)) 248.92/165.29 new_primQuotInt(vyv2700, Pos(Zero)) -> new_error 248.92/165.29 new_primQuotInt(vyv2700, Neg(Succ(vyv28400))) -> Neg(new_primDivNatS1(vyv2700, vyv28400)) 248.92/165.29 new_error -> error([]) 248.92/165.29 new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) 248.92/165.29 new_esEs(Pos(Succ(vyv24100))) -> new_primEqInt(Pos(Succ(vyv24100))) 248.92/165.29 new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) 248.92/165.29 new_esEs(Neg(Succ(vyv24100))) -> new_primEqInt(Neg(Succ(vyv24100))) 248.92/165.29 new_gcd2(True, vyv272, vyv271) -> new_gcd1(new_esEs(vyv271), vyv272, vyv271) 248.92/165.29 new_gcd2(False, vyv272, vyv271) -> new_gcd0(vyv272, vyv271) 248.92/165.29 new_gcd0(vyv272, vyv271) -> new_gcd0Gcd'10(new_esEs(new_abs(vyv271)), vyv272, vyv271) 248.92/165.29 new_abs(Neg(Zero)) -> Neg(Zero) 248.92/165.29 new_abs(Neg(Succ(vyv27100))) -> Pos(Succ(vyv27100)) 248.92/165.29 new_abs(Pos(Succ(vyv27100))) -> Pos(Succ(vyv27100)) 248.92/165.29 new_abs(Pos(Zero)) -> Pos(Zero) 248.92/165.29 new_gcd0Gcd'10(True, vyv272, vyv271) -> new_abs(vyv272) 248.92/165.29 new_gcd0Gcd'10(False, vyv272, vyv271) -> new_gcd0Gcd'00(new_abs(vyv272), new_abs(vyv271)) 248.92/165.29 new_gcd0Gcd'11(False, vyv291, vyv292) -> new_gcd0Gcd'00(vyv291, new_rem(vyv292, vyv291)) 248.92/165.29 new_gcd0Gcd'00(vyv292, vyv291) -> new_gcd0Gcd'11(new_esEs(new_rem(vyv292, vyv291)), vyv291, vyv292) 248.92/165.29 new_rem(Pos(vyv2920), Neg(Zero)) -> new_error 248.92/165.29 new_rem(Neg(vyv2920), Pos(Zero)) -> new_error 248.92/165.29 new_rem(Pos(vyv2920), Neg(Succ(vyv29100))) -> Pos(new_primModNatS1(vyv2920, vyv29100)) 248.92/165.29 new_rem(Neg(vyv2920), Pos(Succ(vyv29100))) -> Neg(new_primModNatS1(vyv2920, vyv29100)) 248.92/165.29 new_rem(Pos(vyv2920), Pos(Succ(vyv29100))) -> Pos(new_primModNatS1(vyv2920, vyv29100)) 248.92/165.29 new_rem(Neg(vyv2920), Neg(Zero)) -> new_error 248.92/165.29 new_rem(Neg(vyv2920), Neg(Succ(vyv29100))) -> Neg(new_primModNatS1(vyv2920, vyv29100)) 248.92/165.29 new_rem(Pos(vyv2920), Pos(Zero)) -> new_error 248.92/165.29 new_gcd0Gcd'11(True, vyv291, vyv292) -> vyv291 248.92/165.29 new_primModNatS1(Succ(Zero), Succ(vyv291000)) -> Succ(Zero) 248.92/165.29 new_primModNatS1(Zero, vyv29100) -> Zero 248.92/165.29 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 248.92/165.29 new_primModNatS1(Succ(Succ(vyv292000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv292000), Zero) 248.92/165.29 new_primModNatS01(vyv330, vyv331, Zero, Zero) -> new_primModNatS02(vyv330, vyv331) 248.92/165.29 new_primModNatS02(vyv330, vyv331) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv330), Succ(vyv331)), Succ(vyv331)) 248.92/165.29 new_primModNatS1(Succ(Succ(vyv292000)), Succ(vyv291000)) -> new_primModNatS01(vyv292000, vyv291000, vyv292000, vyv291000) 248.92/165.29 new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Zero) -> new_primModNatS02(vyv330, vyv331) 248.92/165.29 new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Succ(vyv3330)) -> new_primModNatS01(vyv330, vyv331, vyv3320, vyv3330) 248.92/165.29 new_primModNatS01(vyv330, vyv331, Zero, Succ(vyv3330)) -> Succ(Succ(vyv330)) 248.92/165.29 new_gcd1(True, vyv272, vyv271) -> new_error 248.92/165.29 new_gcd1(False, vyv272, vyv271) -> new_gcd0(vyv272, vyv271) 248.92/165.29 new_primEqInt(Neg(Succ(vyv242000))) -> False 248.92/165.29 new_primEqInt(Pos(Zero)) -> True 248.92/165.29 new_primEqInt(Pos(Succ(vyv242000))) -> False 248.92/165.29 new_primEqInt(Neg(Zero)) -> True 248.92/165.29 new_primQuotInt0(vyv2700, Neg(Zero)) -> new_error 248.92/165.29 new_primQuotInt0(vyv2700, Neg(Succ(vyv28700))) -> Pos(new_primDivNatS1(vyv2700, vyv28700)) 248.92/165.29 new_primQuotInt0(vyv2700, Pos(Zero)) -> new_error 248.92/165.29 new_primMulNat0(Succ(vyv23900), Zero) -> Zero 248.92/165.29 new_primMulNat0(Zero, Succ(vyv23800)) -> Zero 248.92/165.29 new_primMulNat0(Zero, Zero) -> Zero 248.92/165.29 new_primMulNat0(Succ(vyv23900), Succ(vyv23800)) -> new_primPlusNat0(new_primMulNat0(vyv23900, Succ(vyv23800)), Succ(vyv23800)) 248.92/165.29 new_primPlusNat0(Succ(vyv4000), Succ(vyv5000)) -> Succ(Succ(new_primPlusNat0(vyv4000, vyv5000))) 248.92/165.29 new_primPlusNat0(Zero, Succ(vyv5000)) -> Succ(vyv5000) 248.92/165.29 new_primPlusNat0(Zero, Zero) -> Zero 248.92/165.29 new_primPlusNat0(Succ(vyv4000), Zero) -> Succ(vyv4000) 248.92/165.29 new_sr7(vyv183) -> error([]) 248.92/165.29 new_esEs1(Integer(vyv2690)) -> new_primEqInt(vyv2690) 248.92/165.29 new_sr6(Neg(vyv1830)) -> Pos(new_primMulNat1(vyv1830)) 248.92/165.29 new_sr6(Pos(vyv1830)) -> Pos(new_primMulNat1(vyv1830)) 248.92/165.29 new_primMulNat1(Succ(vyv18300)) -> new_primPlusNat0(new_primMulNat2(vyv18300), Succ(vyv18300)) 248.92/165.29 new_primMulNat1(Zero) -> Zero 248.92/165.29 new_primMulNat2(Succ(vyv183000)) -> new_primPlusNat0(new_primMulNat3(vyv183000), Succ(Succ(vyv183000))) 248.92/165.29 new_primMulNat2(Zero) -> Zero 248.92/165.29 new_primMulNat3(Succ(vyv1830000)) -> new_primPlusNat0(new_primMulNat4(vyv1830000), Succ(Succ(Succ(vyv1830000)))) 248.92/165.29 new_primMulNat3(Zero) -> Zero 248.92/165.29 new_primMulNat4(Succ(vyv18300000)) -> new_primPlusNat0(new_primMulNat0(vyv18300000, Succ(Succ(Succ(Succ(vyv18300000))))), Succ(Succ(Succ(Succ(vyv18300000))))) 248.92/165.29 new_primMulNat4(Zero) -> Zero 248.92/165.29 new_sr9(vyv183) -> error([]) 248.92/165.29 new_sr10(vyv183) -> error([]) 248.92/165.29 new_sr0(vyv183, ty_Double) -> new_sr9(vyv183) 248.92/165.29 new_sr0(vyv183, ty_Int) -> new_sr6(vyv183) 248.92/165.29 new_sr0(vyv183, ty_Integer) -> new_sr7(vyv183) 248.92/165.29 new_sr0(vyv183, ty_Float) -> new_sr10(vyv183) 248.92/165.29 new_sr0(vyv183, app(ty_Ratio, bd)) -> new_sr5(vyv183, bd) 248.92/165.29 new_sr(vyv183, ty_Int) -> new_sr6(vyv183) 248.92/165.29 new_sr(vyv183, app(ty_Ratio, bd)) -> new_sr5(vyv183, bd) 248.92/165.29 new_sr(vyv183, ty_Integer) -> new_sr7(vyv183) 248.92/165.29 new_sr(vyv183, ty_Float) -> new_sr10(vyv183) 248.92/165.29 new_sr(vyv183, ty_Double) -> new_sr9(vyv183) 248.92/165.29 new_fromInt0 -> Pos(Succ(Succ(Zero))) 248.92/165.29 new_ms0(vyv240, Neg(Zero)) -> Neg(Succ(vyv240)) 248.92/165.29 new_ms0(vyv240, Pos(vyv2430)) -> Neg(new_primPlusNat0(Succ(vyv240), vyv2430)) 248.92/165.29 new_ms0(vyv240, Neg(Succ(vyv24300))) -> new_primMinusNat0(vyv24300, vyv240) 248.92/165.29 new_sr4(vyv239, vyv238, app(ty_Ratio, bf)) -> new_sr12(vyv239, vyv238, bf) 248.92/165.29 new_sr4(vyv239, vyv238, ty_Integer) -> new_sr8(vyv239, vyv238) 248.92/165.29 new_sr4(vyv239, vyv238, ty_Int) -> new_sr14(vyv239, vyv238) 248.92/165.29 new_sr4(vyv239, vyv238, ty_Double) -> new_sr11(vyv239, vyv238) 248.92/165.29 new_sr4(vyv239, vyv238, ty_Float) -> new_sr13(vyv239, vyv238) 248.92/165.29 new_sr13(vyv239, vyv238) -> error([]) 248.92/165.29 new_sr11(vyv239, vyv238) -> error([]) 248.92/165.29 new_sr12(:%(vyv2390, vyv2391), :%(vyv2380, vyv2381), bf) -> new_reduce2Reduce1(vyv2390, vyv2380, vyv2391, vyv2381, new_esEs2(vyv2391, vyv2381, bf), bf) 248.92/165.29 new_esEs2(vyv2391, vyv2381, ty_Int) -> new_esEs(new_sr14(vyv2391, vyv2381)) 248.92/165.29 new_esEs2(vyv2391, vyv2381, ty_Integer) -> new_esEs1(new_sr8(vyv2391, vyv2381)) 248.92/165.29 new_primMinusNat0(Succ(vyv2280), Succ(vyv244000)) -> new_primMinusNat0(vyv2280, vyv244000) 248.92/165.29 new_primMinusNat0(Zero, Zero) -> Pos(Zero) 248.92/165.29 new_primMinusNat0(Zero, Succ(vyv244000)) -> Neg(Succ(vyv244000)) 248.92/165.29 new_primMinusNat0(Succ(vyv2280), Zero) -> Pos(Succ(vyv2280)) 248.92/165.29 new_ms(vyv228, Neg(vyv2440)) -> Pos(new_primPlusNat0(Succ(vyv228), vyv2440)) 248.92/165.29 new_ms(vyv228, Pos(Succ(vyv24400))) -> new_primMinusNat0(vyv228, vyv24400) 248.92/165.29 new_ms(vyv228, Pos(Zero)) -> Pos(Succ(vyv228)) 248.92/165.29 new_sr1(vyv227, ty_Int) -> new_sr6(vyv227) 248.92/165.29 new_sr1(vyv227, ty_Integer) -> new_sr7(vyv227) 248.92/165.29 new_sr1(vyv227, app(ty_Ratio, be)) -> new_sr5(vyv227, be) 248.92/165.29 new_sr1(vyv227, ty_Float) -> new_sr10(vyv227) 248.92/165.29 new_sr1(vyv227, ty_Double) -> new_sr9(vyv227) 248.92/165.29 new_sr2(vyv227, vyv226, ty_Int) -> new_sr14(vyv227, vyv226) 248.92/165.29 new_sr2(vyv227, vyv226, ty_Double) -> new_sr11(vyv227, vyv226) 248.92/165.29 new_sr2(vyv227, vyv226, ty_Integer) -> new_sr8(vyv227, vyv226) 248.92/165.29 new_sr2(vyv227, vyv226, ty_Float) -> new_sr13(vyv227, vyv226) 248.92/165.29 new_sr2(vyv227, vyv226, app(ty_Ratio, be)) -> new_sr12(vyv227, vyv226, be) 248.92/165.29 248.92/165.29 The set Q consists of the following terms: 248.92/165.29 248.92/165.29 new_rem(Pos(x0), Pos(Succ(x1))) 248.92/165.29 new_quot1(x0, x1, x2, x3, ty_Integer) 248.92/165.29 new_primModNatS1(Succ(Zero), Succ(x0)) 248.92/165.29 new_ms0(x0, Pos(x1)) 248.92/165.29 new_sr(x0, app(ty_Ratio, x1)) 248.92/165.29 new_primMulNat4(Zero) 248.92/165.29 new_gcd1(False, x0, x1) 248.92/165.29 new_primEqInt(Pos(Zero)) 248.92/165.29 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 248.92/165.29 new_rem(Pos(x0), Neg(Succ(x1))) 248.92/165.29 new_rem(Neg(x0), Pos(Succ(x1))) 248.92/165.29 new_sr10(x0) 248.92/165.29 new_quot1(x0, x1, x2, x3, ty_Int) 248.92/165.29 new_sr0(x0, app(ty_Ratio, x1)) 248.92/165.29 new_quot2(x0, x1, x2, x3, ty_Integer) 248.92/165.29 new_primModNatS01(x0, x1, Succ(x2), Zero) 248.92/165.29 new_sr3(x0, ty_Integer) 248.92/165.29 new_primMulNat3(Zero) 248.92/165.29 new_primDivNatS02(x0, x1, Succ(x2), Zero) 248.92/165.29 new_sr(x0, ty_Float) 248.92/165.29 new_quot2(x0, x1, x2, x3, ty_Int) 248.92/165.29 new_gcd2(False, x0, x1) 248.92/165.29 new_primDivNatS1(Succ(Zero), Zero) 248.92/165.29 new_sr0(x0, ty_Double) 248.92/165.29 new_esEs0(x0, ty_Int) 248.92/165.29 new_sr14(Pos(x0), Pos(x1)) 248.92/165.29 new_sr3(x0, ty_Int) 248.92/165.29 new_primMulNat0(Zero, Zero) 248.92/165.29 new_sr4(x0, x1, ty_Double) 248.92/165.29 new_primPlusNat0(Succ(x0), Zero) 248.92/165.29 new_fromInt0 248.92/165.29 new_primMulNat2(Zero) 248.92/165.29 new_sr11(x0, x1) 248.92/165.29 new_primModNatS01(x0, x1, Zero, Zero) 248.92/165.29 new_esEs2(x0, x1, ty_Int) 248.92/165.29 new_gcd1(True, x0, x1) 248.92/165.29 new_sr13(x0, x1) 248.92/165.29 new_sr14(Pos(x0), Neg(x1)) 248.92/165.29 new_sr14(Neg(x0), Pos(x1)) 248.92/165.29 new_primDivNatS1(Succ(Succ(x0)), Succ(x1)) 248.92/165.29 new_sr1(x0, ty_Int) 248.92/165.29 new_primModNatS1(Zero, x0) 248.92/165.29 new_esEs(Pos(Succ(x0))) 248.92/165.29 new_primMulNat3(Succ(x0)) 248.92/165.29 new_sr1(x0, app(ty_Ratio, x1)) 248.92/165.29 new_primQuotInt(x0, Neg(Succ(x1))) 248.92/165.29 new_reduce2Reduce1(x0, x1, x2, x3, False, x4) 248.92/165.29 new_primMinusNat0(Zero, Zero) 248.92/165.29 new_primDivNatS1(Zero, x0) 248.92/165.29 new_primDivNatS02(x0, x1, Succ(x2), Succ(x3)) 248.92/165.29 new_primModNatS02(x0, x1) 248.92/165.29 new_primDivNatS1(Succ(Zero), Succ(x0)) 248.92/165.29 new_sr6(Neg(x0)) 248.92/165.29 new_gcd0Gcd'10(True, x0, x1) 248.92/165.29 new_primMulNat0(Succ(x0), Succ(x1)) 248.92/165.29 new_abs(Neg(Zero)) 248.92/165.29 new_ms(x0, Neg(x1)) 248.92/165.29 new_rem(Pos(x0), Neg(Zero)) 248.92/165.29 new_rem(Neg(x0), Pos(Zero)) 248.92/165.29 new_primMinusNatS2(Zero, Succ(x0)) 248.92/165.29 new_esEs(Neg(Succ(x0))) 248.92/165.29 new_error 248.92/165.29 new_primModNatS1(Succ(Zero), Zero) 248.92/165.29 new_primMulNat0(Zero, Succ(x0)) 248.92/165.29 new_sr3(x0, ty_Float) 248.92/165.29 new_quot(x0, x1, x2) 248.92/165.29 new_gcd2(True, x0, x1) 248.92/165.29 new_gcd0Gcd'11(True, x0, x1) 248.92/165.29 new_primEqInt(Neg(Zero)) 248.92/165.29 new_sr2(x0, x1, ty_Double) 248.92/165.29 new_primMulNat0(Succ(x0), Zero) 248.92/165.29 new_quot0(Neg(x0), x1, x2) 248.92/165.29 new_primMinusNatS2(Succ(x0), Succ(x1)) 248.92/165.29 new_sr4(x0, x1, app(ty_Ratio, x2)) 248.92/165.29 new_sr8(x0, x1) 248.92/165.29 new_primDivNatS01(x0, x1) 248.92/165.29 new_primDivNatS02(x0, x1, Zero, Succ(x2)) 248.92/165.29 new_primPlusNat0(Succ(x0), Succ(x1)) 248.92/165.29 new_sr1(x0, ty_Integer) 248.92/165.29 new_primPlusNat0(Zero, Zero) 248.92/165.29 new_sr1(x0, ty_Float) 248.92/165.29 new_primMinusNat0(Succ(x0), Succ(x1)) 248.92/165.29 new_sr12(:%(x0, x1), :%(x2, x3), x4) 248.92/165.29 new_abs(Neg(Succ(x0))) 248.92/165.29 new_sr1(x0, ty_Double) 248.92/165.29 new_sr3(x0, app(ty_Ratio, x1)) 248.92/165.29 new_sr7(x0) 248.92/165.29 new_gcd0(x0, x1) 248.92/165.29 new_sr(x0, ty_Integer) 248.92/165.29 new_sr0(x0, ty_Int) 248.92/165.29 new_primQuotInt0(x0, Pos(Succ(x1))) 248.92/165.29 new_sr4(x0, x1, ty_Integer) 248.92/165.29 new_sr5(:%(x0, x1), x2) 248.92/165.29 new_primMinusNatS2(Zero, Zero) 248.92/165.29 new_primMulNat1(Succ(x0)) 248.92/165.29 new_sr0(x0, ty_Integer) 248.92/165.29 new_ms(x0, Pos(Zero)) 248.92/165.29 new_abs(Pos(Succ(x0))) 248.92/165.29 new_sr4(x0, x1, ty_Int) 248.92/165.29 new_esEs(Pos(Zero)) 248.92/165.29 new_primQuotInt0(x0, Pos(Zero)) 248.92/165.29 new_sr(x0, ty_Int) 248.92/165.29 new_primEqInt(Neg(Succ(x0))) 248.92/165.29 new_primQuotInt(x0, Neg(Zero)) 248.92/165.29 new_primQuotInt0(x0, Neg(Zero)) 248.92/165.29 new_primQuotInt0(x0, Neg(Succ(x1))) 248.92/165.29 new_gcd(x0, x1) 248.92/165.29 new_quot0(Pos(x0), x1, x2) 248.92/165.29 new_primMinusNatS0(x0) 248.92/165.29 new_primPlusNat0(Zero, Succ(x0)) 248.92/165.29 new_sr2(x0, x1, app(ty_Ratio, x2)) 248.92/165.29 new_sr2(x0, x1, ty_Int) 248.92/165.29 new_primQuotInt(x0, Pos(Succ(x1))) 248.92/165.29 new_primDivNatS1(Succ(Succ(x0)), Zero) 248.92/165.29 new_rem(Pos(x0), Pos(Zero)) 248.92/165.29 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 248.92/165.29 new_primDivNatS02(x0, x1, Zero, Zero) 248.92/165.29 new_abs(Pos(Zero)) 248.92/165.29 new_gcd0Gcd'10(False, x0, x1) 248.92/165.29 new_ms(x0, Pos(Succ(x1))) 248.92/165.29 new_primMinusNatS1 248.92/165.29 new_esEs1(Integer(x0)) 248.92/165.29 new_ms0(x0, Neg(Zero)) 248.92/165.29 new_primMinusNat0(Succ(x0), Zero) 248.92/165.29 new_ms0(x0, Neg(Succ(x1))) 248.92/165.29 new_sr2(x0, x1, ty_Integer) 248.92/165.29 new_primModNatS01(x0, x1, Zero, Succ(x2)) 248.92/165.29 new_primMulNat2(Succ(x0)) 248.92/165.29 new_sr0(x0, ty_Float) 248.92/165.29 new_sr14(Neg(x0), Neg(x1)) 248.92/165.29 new_sr2(x0, x1, ty_Float) 248.92/165.29 new_primMinusNatS2(Succ(x0), Zero) 248.92/165.29 new_sr4(x0, x1, ty_Float) 248.92/165.29 new_sr6(Pos(x0)) 248.92/165.29 new_esEs2(x0, x1, ty_Integer) 248.92/165.29 new_primMulNat4(Succ(x0)) 248.92/165.29 new_rem(Neg(x0), Neg(Succ(x1))) 248.92/165.29 new_primEqInt(Pos(Succ(x0))) 248.92/165.29 new_primQuotInt(x0, Pos(Zero)) 248.92/165.29 new_gcd0Gcd'11(False, x0, x1) 248.92/165.29 new_sr9(x0) 248.92/165.29 new_primModNatS1(Succ(Succ(x0)), Zero) 248.92/165.29 new_sr(x0, ty_Double) 248.92/165.29 new_esEs0(x0, ty_Integer) 248.92/165.29 new_gcd0Gcd'00(x0, x1) 248.92/165.29 new_reduce2Reduce1(x0, x1, x2, x3, True, x4) 248.92/165.29 new_sr3(x0, ty_Double) 248.92/165.29 new_esEs(Neg(Zero)) 248.92/165.29 new_primMulNat1(Zero) 248.92/165.29 new_primMinusNat0(Zero, Succ(x0)) 248.92/165.29 new_rem(Neg(x0), Neg(Zero)) 248.92/165.29 248.92/165.29 We have to consider all minimal (P,Q,R)-chains. 248.92/165.29 ---------------------------------------- 248.92/165.29 248.92/165.29 (727) TransformationProof (EQUIVALENT) 248.92/165.29 By rewriting [LPAR04] the rule new_pr2F0G(vyv187, vyv183, Pos(Zero), h) -> new_pr2F0G(vyv187, new_sr(vyv183, h), new_primQuotInt(Zero, new_fromInt0), h) at position [2,1] we obtained the following new rules [LPAR04]: 248.92/165.29 248.92/165.29 (new_pr2F0G(vyv187, vyv183, Pos(Zero), h) -> new_pr2F0G(vyv187, new_sr(vyv183, h), new_primQuotInt(Zero, Pos(Succ(Succ(Zero)))), h),new_pr2F0G(vyv187, vyv183, Pos(Zero), h) -> new_pr2F0G(vyv187, new_sr(vyv183, h), new_primQuotInt(Zero, Pos(Succ(Succ(Zero)))), h)) 248.92/165.29 248.92/165.29 248.92/165.29 ---------------------------------------- 248.92/165.29 248.92/165.29 (728) 248.92/165.29 Obligation: 248.92/165.29 Q DP problem: 248.92/165.29 The TRS P consists of the following rules: 248.92/165.29 248.92/165.29 new_pr2F0G10(vyv248, vyv249, vyv250, Succ(Succ(vyv25100)), bb) -> new_pr2F0G10(vyv248, vyv249, vyv250, vyv25100, bb) 248.92/165.29 new_pr2F0G(vyv187, vyv183, Neg(Succ(Zero)), h) -> new_pr2F0G11(vyv187, vyv183, Zero, h) 248.92/165.29 new_pr2F0G(vyv187, vyv183, Pos(Succ(Succ(vyv222000))), h) -> new_pr2F0G1(vyv187, vyv183, Succ(vyv222000), vyv222000, h) 248.92/165.29 new_pr2F0(vyv183, Neg(Succ(Succ(vyv222000))), vyv187, h) -> new_pr2F0G10(vyv187, vyv183, Succ(vyv222000), vyv222000, h) 248.92/165.29 new_pr2F0(vyv183, Neg(Succ(Zero)), vyv187, h) -> new_pr2F0G11(vyv187, vyv183, Zero, h) 248.92/165.29 new_pr2F0G10(vyv248, vyv249, vyv250, Succ(Zero), bb) -> new_pr2F0G11(vyv248, vyv249, vyv250, bb) 248.92/165.29 new_pr2F0G(vyv187, vyv183, Neg(Succ(Succ(vyv222000))), h) -> new_pr2F0G10(vyv187, vyv183, Succ(vyv222000), vyv222000, h) 248.92/165.29 new_pr2F3(False, vyv227, vyv228, vyv244, vyv226, ba) -> new_pr2F0(vyv227, new_ms(vyv228, vyv244), new_sr2(vyv227, vyv226, ba), ba) 248.92/165.29 new_pr2F0(vyv183, Pos(Succ(Succ(vyv222000))), vyv187, h) -> new_pr2F0G1(vyv187, vyv183, Succ(vyv222000), vyv222000, h) 248.92/165.29 new_pr2F0G1(vyv226, vyv227, vyv228, Zero, ba) -> new_pr2F0G(vyv226, new_sr1(vyv227, ba), new_primQuotInt(Succ(vyv228), new_fromInt0), ba) 248.92/165.29 new_pr2F1(vyv239, vyv240, vyv243, vyv238, bc) -> new_pr2F30(new_esEs(new_ms0(vyv240, vyv243)), vyv239, vyv240, vyv243, vyv238, bc) 248.92/165.29 new_pr2F(vyv227, vyv228, vyv244, vyv226, ba) -> new_pr2F3(new_esEs(new_ms(vyv228, vyv244)), vyv227, vyv228, vyv244, vyv226, ba) 248.92/165.29 new_pr2F0G1(vyv226, vyv227, vyv228, Succ(Succ(vyv22900)), ba) -> new_pr2F0G1(vyv226, vyv227, vyv228, vyv22900, ba) 248.92/165.29 new_pr2F30(False, vyv239, vyv240, vyv243, vyv238, bc) -> new_pr2F0(vyv239, new_ms0(vyv240, vyv243), new_sr4(vyv239, vyv238, bc), bc) 248.92/165.29 new_pr2F0(vyv183, Pos(Zero), vyv187, h) -> new_pr2F0G(vyv187, new_sr(vyv183, h), new_primQuotInt(Zero, new_fromInt0), h) 248.92/165.29 new_pr2F0(vyv183, Neg(Zero), vyv187, h) -> new_pr2F0G(vyv187, new_sr0(vyv183, h), new_primQuotInt0(Zero, Pos(Succ(Succ(Zero)))), h) 248.92/165.29 new_pr2F0G11(vyv238, vyv239, vyv240, bc) -> new_pr2F1(vyv239, vyv240, Pos(Succ(Zero)), vyv238, bc) 248.92/165.29 new_pr2F0G(vyv187, vyv183, Neg(Zero), h) -> new_pr2F0G(vyv187, new_sr0(vyv183, h), new_primQuotInt0(Zero, Pos(Succ(Succ(Zero)))), h) 248.92/165.29 new_pr2F0G10(vyv248, vyv249, vyv250, Zero, bb) -> new_pr2F0G(vyv248, new_sr3(vyv249, bb), new_primQuotInt0(Succ(vyv250), Pos(Succ(Succ(Zero)))), bb) 248.92/165.29 new_pr2F0(vyv183, Pos(Succ(Zero)), vyv187, h) -> new_pr2F(vyv183, Zero, Pos(Succ(Zero)), vyv187, h) 248.92/165.29 new_pr2F0G1(vyv226, vyv227, vyv228, Succ(Zero), ba) -> new_pr2F(vyv227, vyv228, Pos(Succ(Zero)), vyv226, ba) 248.92/165.29 new_pr2F0G(vyv187, vyv183, Pos(Succ(Zero)), h) -> new_pr2F(vyv183, Zero, Pos(Succ(Zero)), vyv187, h) 248.92/165.29 new_pr2F0G(vyv187, vyv183, Pos(Zero), h) -> new_pr2F0G(vyv187, new_sr(vyv183, h), new_primQuotInt(Zero, Pos(Succ(Succ(Zero)))), h) 248.92/165.29 248.92/165.29 The TRS R consists of the following rules: 248.92/165.29 248.92/165.29 new_sr3(vyv249, ty_Float) -> new_sr10(vyv249) 248.92/165.29 new_sr3(vyv249, ty_Double) -> new_sr9(vyv249) 248.92/165.29 new_sr3(vyv249, ty_Int) -> new_sr6(vyv249) 248.92/165.29 new_sr3(vyv249, ty_Integer) -> new_sr7(vyv249) 248.92/165.29 new_sr3(vyv249, app(ty_Ratio, bg)) -> new_sr5(vyv249, bg) 248.92/165.29 new_primQuotInt0(vyv2700, Pos(Succ(vyv28700))) -> Neg(new_primDivNatS1(vyv2700, vyv28700)) 248.92/165.29 new_primDivNatS1(Zero, vyv28400) -> Zero 248.92/165.29 new_primDivNatS1(Succ(Succ(vyv270000)), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS0(vyv270000), Zero)) 248.92/165.29 new_primDivNatS1(Succ(Zero), Succ(vyv284000)) -> Zero 248.92/165.29 new_primDivNatS1(Succ(Succ(vyv270000)), Succ(vyv284000)) -> new_primDivNatS02(vyv270000, vyv284000, vyv270000, vyv284000) 248.92/165.29 new_primDivNatS1(Succ(Zero), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS1, Zero)) 248.92/165.29 new_primMinusNatS1 -> Zero 248.92/165.29 new_primDivNatS02(vyv310, vyv311, Zero, Zero) -> new_primDivNatS01(vyv310, vyv311) 248.92/165.29 new_primDivNatS02(vyv310, vyv311, Succ(vyv3120), Zero) -> new_primDivNatS01(vyv310, vyv311) 248.92/165.29 new_primDivNatS02(vyv310, vyv311, Zero, Succ(vyv3130)) -> Zero 248.92/165.29 new_primDivNatS02(vyv310, vyv311, Succ(vyv3120), Succ(vyv3130)) -> new_primDivNatS02(vyv310, vyv311, vyv3120, vyv3130) 248.92/165.29 new_primDivNatS01(vyv310, vyv311) -> Succ(new_primDivNatS1(new_primMinusNatS2(vyv310, vyv311), Succ(vyv311))) 248.92/165.29 new_primMinusNatS2(Zero, Succ(vyv3110)) -> Zero 248.92/165.29 new_primMinusNatS2(Succ(vyv3100), Zero) -> Succ(vyv3100) 248.92/165.29 new_primMinusNatS2(Zero, Zero) -> Zero 248.92/165.29 new_primMinusNatS2(Succ(vyv3100), Succ(vyv3110)) -> new_primMinusNatS2(vyv3100, vyv3110) 248.92/165.29 new_primMinusNatS0(vyv270000) -> Succ(vyv270000) 248.92/165.29 new_sr5(:%(vyv1830, vyv1831), bd) -> new_reduce2Reduce1(vyv1830, vyv1830, vyv1831, vyv1831, new_esEs0(vyv1831, bd), bd) 248.92/165.29 new_esEs0(vyv1831, ty_Int) -> new_esEs(new_sr6(vyv1831)) 248.92/165.29 new_esEs0(vyv1831, ty_Integer) -> new_esEs1(new_sr7(vyv1831)) 248.92/165.29 new_reduce2Reduce1(vyv264, vyv265, vyv266, vyv267, False, bh) -> :%(new_quot1(vyv264, vyv265, vyv266, vyv267, bh), new_quot2(vyv266, vyv267, vyv264, vyv265, bh)) 248.92/165.29 new_reduce2Reduce1(vyv264, vyv265, vyv266, vyv267, True, bh) -> error([]) 248.92/165.29 new_quot1(vyv264, vyv265, vyv266, vyv267, ty_Int) -> new_quot0(new_sr14(vyv264, vyv265), new_sr14(vyv264, vyv265), new_sr14(vyv266, vyv267)) 248.92/165.29 new_quot1(vyv264, vyv265, vyv266, vyv267, ty_Integer) -> new_quot(new_sr8(vyv264, vyv265), new_sr8(vyv264, vyv265), new_sr8(vyv266, vyv267)) 248.92/165.29 new_quot2(vyv266, vyv267, vyv264, vyv265, ty_Int) -> new_quot0(new_sr14(vyv266, vyv267), new_sr14(vyv264, vyv265), new_sr14(vyv266, vyv267)) 248.92/165.29 new_quot2(vyv266, vyv267, vyv264, vyv265, ty_Integer) -> new_quot(new_sr8(vyv266, vyv267), new_sr8(vyv264, vyv265), new_sr8(vyv266, vyv267)) 248.92/165.29 new_sr8(vyv239, vyv238) -> error([]) 248.92/165.29 new_quot(vyv273, vyv275, vyv274) -> error([]) 248.92/165.29 new_sr14(Pos(vyv2390), Neg(vyv2380)) -> Neg(new_primMulNat0(vyv2390, vyv2380)) 248.92/165.29 new_sr14(Neg(vyv2390), Pos(vyv2380)) -> Neg(new_primMulNat0(vyv2390, vyv2380)) 248.92/165.29 new_sr14(Neg(vyv2390), Neg(vyv2380)) -> Pos(new_primMulNat0(vyv2390, vyv2380)) 248.92/165.29 new_sr14(Pos(vyv2390), Pos(vyv2380)) -> Pos(new_primMulNat0(vyv2390, vyv2380)) 248.92/165.29 new_quot0(Neg(vyv2700), vyv272, vyv271) -> new_primQuotInt0(vyv2700, new_gcd(vyv272, vyv271)) 248.92/165.29 new_quot0(Pos(vyv2700), vyv272, vyv271) -> new_primQuotInt(vyv2700, new_gcd(vyv272, vyv271)) 248.92/165.29 new_gcd(vyv272, vyv271) -> new_gcd2(new_esEs(vyv272), vyv272, vyv271) 248.92/165.29 new_primQuotInt(vyv2700, Neg(Zero)) -> new_error 248.92/165.29 new_primQuotInt(vyv2700, Pos(Succ(vyv28400))) -> Pos(new_primDivNatS1(vyv2700, vyv28400)) 248.92/165.29 new_primQuotInt(vyv2700, Pos(Zero)) -> new_error 248.92/165.29 new_primQuotInt(vyv2700, Neg(Succ(vyv28400))) -> Neg(new_primDivNatS1(vyv2700, vyv28400)) 248.92/165.29 new_error -> error([]) 248.92/165.29 new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) 248.92/165.29 new_esEs(Pos(Succ(vyv24100))) -> new_primEqInt(Pos(Succ(vyv24100))) 248.92/165.29 new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) 248.92/165.29 new_esEs(Neg(Succ(vyv24100))) -> new_primEqInt(Neg(Succ(vyv24100))) 248.92/165.29 new_gcd2(True, vyv272, vyv271) -> new_gcd1(new_esEs(vyv271), vyv272, vyv271) 248.92/165.29 new_gcd2(False, vyv272, vyv271) -> new_gcd0(vyv272, vyv271) 248.92/165.29 new_gcd0(vyv272, vyv271) -> new_gcd0Gcd'10(new_esEs(new_abs(vyv271)), vyv272, vyv271) 248.92/165.29 new_abs(Neg(Zero)) -> Neg(Zero) 248.92/165.29 new_abs(Neg(Succ(vyv27100))) -> Pos(Succ(vyv27100)) 248.92/165.29 new_abs(Pos(Succ(vyv27100))) -> Pos(Succ(vyv27100)) 248.92/165.29 new_abs(Pos(Zero)) -> Pos(Zero) 248.92/165.29 new_gcd0Gcd'10(True, vyv272, vyv271) -> new_abs(vyv272) 248.92/165.29 new_gcd0Gcd'10(False, vyv272, vyv271) -> new_gcd0Gcd'00(new_abs(vyv272), new_abs(vyv271)) 248.92/165.29 new_gcd0Gcd'11(False, vyv291, vyv292) -> new_gcd0Gcd'00(vyv291, new_rem(vyv292, vyv291)) 248.92/165.29 new_gcd0Gcd'00(vyv292, vyv291) -> new_gcd0Gcd'11(new_esEs(new_rem(vyv292, vyv291)), vyv291, vyv292) 248.92/165.29 new_rem(Pos(vyv2920), Neg(Zero)) -> new_error 248.92/165.29 new_rem(Neg(vyv2920), Pos(Zero)) -> new_error 248.92/165.29 new_rem(Pos(vyv2920), Neg(Succ(vyv29100))) -> Pos(new_primModNatS1(vyv2920, vyv29100)) 248.92/165.29 new_rem(Neg(vyv2920), Pos(Succ(vyv29100))) -> Neg(new_primModNatS1(vyv2920, vyv29100)) 248.92/165.29 new_rem(Pos(vyv2920), Pos(Succ(vyv29100))) -> Pos(new_primModNatS1(vyv2920, vyv29100)) 248.92/165.29 new_rem(Neg(vyv2920), Neg(Zero)) -> new_error 248.92/165.29 new_rem(Neg(vyv2920), Neg(Succ(vyv29100))) -> Neg(new_primModNatS1(vyv2920, vyv29100)) 248.92/165.29 new_rem(Pos(vyv2920), Pos(Zero)) -> new_error 248.92/165.29 new_gcd0Gcd'11(True, vyv291, vyv292) -> vyv291 248.92/165.29 new_primModNatS1(Succ(Zero), Succ(vyv291000)) -> Succ(Zero) 248.92/165.29 new_primModNatS1(Zero, vyv29100) -> Zero 248.92/165.29 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 248.92/165.29 new_primModNatS1(Succ(Succ(vyv292000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv292000), Zero) 248.92/165.29 new_primModNatS01(vyv330, vyv331, Zero, Zero) -> new_primModNatS02(vyv330, vyv331) 248.92/165.29 new_primModNatS02(vyv330, vyv331) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv330), Succ(vyv331)), Succ(vyv331)) 248.92/165.29 new_primModNatS1(Succ(Succ(vyv292000)), Succ(vyv291000)) -> new_primModNatS01(vyv292000, vyv291000, vyv292000, vyv291000) 248.92/165.29 new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Zero) -> new_primModNatS02(vyv330, vyv331) 248.92/165.29 new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Succ(vyv3330)) -> new_primModNatS01(vyv330, vyv331, vyv3320, vyv3330) 248.92/165.29 new_primModNatS01(vyv330, vyv331, Zero, Succ(vyv3330)) -> Succ(Succ(vyv330)) 248.92/165.29 new_gcd1(True, vyv272, vyv271) -> new_error 248.92/165.29 new_gcd1(False, vyv272, vyv271) -> new_gcd0(vyv272, vyv271) 248.92/165.29 new_primEqInt(Neg(Succ(vyv242000))) -> False 248.92/165.29 new_primEqInt(Pos(Zero)) -> True 248.92/165.29 new_primEqInt(Pos(Succ(vyv242000))) -> False 248.92/165.29 new_primEqInt(Neg(Zero)) -> True 248.92/165.29 new_primQuotInt0(vyv2700, Neg(Zero)) -> new_error 248.92/165.29 new_primQuotInt0(vyv2700, Neg(Succ(vyv28700))) -> Pos(new_primDivNatS1(vyv2700, vyv28700)) 248.92/165.29 new_primQuotInt0(vyv2700, Pos(Zero)) -> new_error 248.92/165.29 new_primMulNat0(Succ(vyv23900), Zero) -> Zero 248.92/165.29 new_primMulNat0(Zero, Succ(vyv23800)) -> Zero 248.92/165.29 new_primMulNat0(Zero, Zero) -> Zero 248.92/165.29 new_primMulNat0(Succ(vyv23900), Succ(vyv23800)) -> new_primPlusNat0(new_primMulNat0(vyv23900, Succ(vyv23800)), Succ(vyv23800)) 248.92/165.29 new_primPlusNat0(Succ(vyv4000), Succ(vyv5000)) -> Succ(Succ(new_primPlusNat0(vyv4000, vyv5000))) 248.92/165.29 new_primPlusNat0(Zero, Succ(vyv5000)) -> Succ(vyv5000) 248.92/165.29 new_primPlusNat0(Zero, Zero) -> Zero 248.92/165.29 new_primPlusNat0(Succ(vyv4000), Zero) -> Succ(vyv4000) 248.92/165.29 new_sr7(vyv183) -> error([]) 248.92/165.29 new_esEs1(Integer(vyv2690)) -> new_primEqInt(vyv2690) 248.92/165.29 new_sr6(Neg(vyv1830)) -> Pos(new_primMulNat1(vyv1830)) 248.92/165.29 new_sr6(Pos(vyv1830)) -> Pos(new_primMulNat1(vyv1830)) 248.92/165.29 new_primMulNat1(Succ(vyv18300)) -> new_primPlusNat0(new_primMulNat2(vyv18300), Succ(vyv18300)) 248.92/165.29 new_primMulNat1(Zero) -> Zero 248.92/165.29 new_primMulNat2(Succ(vyv183000)) -> new_primPlusNat0(new_primMulNat3(vyv183000), Succ(Succ(vyv183000))) 248.92/165.29 new_primMulNat2(Zero) -> Zero 248.92/165.29 new_primMulNat3(Succ(vyv1830000)) -> new_primPlusNat0(new_primMulNat4(vyv1830000), Succ(Succ(Succ(vyv1830000)))) 248.92/165.29 new_primMulNat3(Zero) -> Zero 248.92/165.29 new_primMulNat4(Succ(vyv18300000)) -> new_primPlusNat0(new_primMulNat0(vyv18300000, Succ(Succ(Succ(Succ(vyv18300000))))), Succ(Succ(Succ(Succ(vyv18300000))))) 248.92/165.29 new_primMulNat4(Zero) -> Zero 248.92/165.29 new_sr9(vyv183) -> error([]) 248.92/165.29 new_sr10(vyv183) -> error([]) 248.92/165.29 new_sr0(vyv183, ty_Double) -> new_sr9(vyv183) 248.92/165.29 new_sr0(vyv183, ty_Int) -> new_sr6(vyv183) 248.92/165.29 new_sr0(vyv183, ty_Integer) -> new_sr7(vyv183) 248.92/165.29 new_sr0(vyv183, ty_Float) -> new_sr10(vyv183) 248.92/165.29 new_sr0(vyv183, app(ty_Ratio, bd)) -> new_sr5(vyv183, bd) 248.92/165.29 new_sr(vyv183, ty_Int) -> new_sr6(vyv183) 248.92/165.29 new_sr(vyv183, app(ty_Ratio, bd)) -> new_sr5(vyv183, bd) 248.92/165.29 new_sr(vyv183, ty_Integer) -> new_sr7(vyv183) 248.92/165.29 new_sr(vyv183, ty_Float) -> new_sr10(vyv183) 248.92/165.29 new_sr(vyv183, ty_Double) -> new_sr9(vyv183) 248.92/165.29 new_fromInt0 -> Pos(Succ(Succ(Zero))) 248.92/165.29 new_ms0(vyv240, Neg(Zero)) -> Neg(Succ(vyv240)) 248.92/165.29 new_ms0(vyv240, Pos(vyv2430)) -> Neg(new_primPlusNat0(Succ(vyv240), vyv2430)) 248.92/165.29 new_ms0(vyv240, Neg(Succ(vyv24300))) -> new_primMinusNat0(vyv24300, vyv240) 248.92/165.29 new_sr4(vyv239, vyv238, app(ty_Ratio, bf)) -> new_sr12(vyv239, vyv238, bf) 248.92/165.29 new_sr4(vyv239, vyv238, ty_Integer) -> new_sr8(vyv239, vyv238) 248.92/165.29 new_sr4(vyv239, vyv238, ty_Int) -> new_sr14(vyv239, vyv238) 248.92/165.29 new_sr4(vyv239, vyv238, ty_Double) -> new_sr11(vyv239, vyv238) 248.92/165.29 new_sr4(vyv239, vyv238, ty_Float) -> new_sr13(vyv239, vyv238) 248.92/165.29 new_sr13(vyv239, vyv238) -> error([]) 248.92/165.29 new_sr11(vyv239, vyv238) -> error([]) 248.92/165.29 new_sr12(:%(vyv2390, vyv2391), :%(vyv2380, vyv2381), bf) -> new_reduce2Reduce1(vyv2390, vyv2380, vyv2391, vyv2381, new_esEs2(vyv2391, vyv2381, bf), bf) 248.92/165.29 new_esEs2(vyv2391, vyv2381, ty_Int) -> new_esEs(new_sr14(vyv2391, vyv2381)) 248.92/165.29 new_esEs2(vyv2391, vyv2381, ty_Integer) -> new_esEs1(new_sr8(vyv2391, vyv2381)) 248.92/165.29 new_primMinusNat0(Succ(vyv2280), Succ(vyv244000)) -> new_primMinusNat0(vyv2280, vyv244000) 248.92/165.29 new_primMinusNat0(Zero, Zero) -> Pos(Zero) 248.92/165.29 new_primMinusNat0(Zero, Succ(vyv244000)) -> Neg(Succ(vyv244000)) 248.92/165.29 new_primMinusNat0(Succ(vyv2280), Zero) -> Pos(Succ(vyv2280)) 248.92/165.29 new_ms(vyv228, Neg(vyv2440)) -> Pos(new_primPlusNat0(Succ(vyv228), vyv2440)) 248.92/165.29 new_ms(vyv228, Pos(Succ(vyv24400))) -> new_primMinusNat0(vyv228, vyv24400) 248.92/165.29 new_ms(vyv228, Pos(Zero)) -> Pos(Succ(vyv228)) 248.92/165.29 new_sr1(vyv227, ty_Int) -> new_sr6(vyv227) 248.92/165.29 new_sr1(vyv227, ty_Integer) -> new_sr7(vyv227) 248.92/165.29 new_sr1(vyv227, app(ty_Ratio, be)) -> new_sr5(vyv227, be) 248.92/165.29 new_sr1(vyv227, ty_Float) -> new_sr10(vyv227) 248.92/165.29 new_sr1(vyv227, ty_Double) -> new_sr9(vyv227) 248.92/165.29 new_sr2(vyv227, vyv226, ty_Int) -> new_sr14(vyv227, vyv226) 248.92/165.29 new_sr2(vyv227, vyv226, ty_Double) -> new_sr11(vyv227, vyv226) 248.92/165.29 new_sr2(vyv227, vyv226, ty_Integer) -> new_sr8(vyv227, vyv226) 248.92/165.29 new_sr2(vyv227, vyv226, ty_Float) -> new_sr13(vyv227, vyv226) 248.92/165.29 new_sr2(vyv227, vyv226, app(ty_Ratio, be)) -> new_sr12(vyv227, vyv226, be) 248.92/165.29 248.92/165.29 The set Q consists of the following terms: 248.92/165.29 248.92/165.29 new_rem(Pos(x0), Pos(Succ(x1))) 248.92/165.29 new_quot1(x0, x1, x2, x3, ty_Integer) 248.92/165.29 new_primModNatS1(Succ(Zero), Succ(x0)) 248.92/165.29 new_ms0(x0, Pos(x1)) 248.92/165.29 new_sr(x0, app(ty_Ratio, x1)) 248.92/165.29 new_primMulNat4(Zero) 248.92/165.29 new_gcd1(False, x0, x1) 248.92/165.29 new_primEqInt(Pos(Zero)) 248.92/165.29 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 248.92/165.29 new_rem(Pos(x0), Neg(Succ(x1))) 248.92/165.29 new_rem(Neg(x0), Pos(Succ(x1))) 248.92/165.29 new_sr10(x0) 248.92/165.29 new_quot1(x0, x1, x2, x3, ty_Int) 248.92/165.29 new_sr0(x0, app(ty_Ratio, x1)) 248.92/165.29 new_quot2(x0, x1, x2, x3, ty_Integer) 248.92/165.29 new_primModNatS01(x0, x1, Succ(x2), Zero) 248.92/165.29 new_sr3(x0, ty_Integer) 248.92/165.29 new_primMulNat3(Zero) 248.92/165.29 new_primDivNatS02(x0, x1, Succ(x2), Zero) 248.92/165.29 new_sr(x0, ty_Float) 248.92/165.29 new_quot2(x0, x1, x2, x3, ty_Int) 248.92/165.29 new_gcd2(False, x0, x1) 248.92/165.29 new_primDivNatS1(Succ(Zero), Zero) 248.92/165.29 new_sr0(x0, ty_Double) 248.92/165.29 new_esEs0(x0, ty_Int) 248.92/165.29 new_sr14(Pos(x0), Pos(x1)) 248.92/165.29 new_sr3(x0, ty_Int) 248.92/165.29 new_primMulNat0(Zero, Zero) 248.92/165.29 new_sr4(x0, x1, ty_Double) 248.92/165.29 new_primPlusNat0(Succ(x0), Zero) 248.92/165.29 new_fromInt0 248.92/165.29 new_primMulNat2(Zero) 248.92/165.29 new_sr11(x0, x1) 248.92/165.29 new_primModNatS01(x0, x1, Zero, Zero) 248.92/165.29 new_esEs2(x0, x1, ty_Int) 248.92/165.29 new_gcd1(True, x0, x1) 248.92/165.29 new_sr13(x0, x1) 248.92/165.29 new_sr14(Pos(x0), Neg(x1)) 248.92/165.29 new_sr14(Neg(x0), Pos(x1)) 248.92/165.29 new_primDivNatS1(Succ(Succ(x0)), Succ(x1)) 248.92/165.29 new_sr1(x0, ty_Int) 248.92/165.29 new_primModNatS1(Zero, x0) 248.92/165.29 new_esEs(Pos(Succ(x0))) 248.92/165.29 new_primMulNat3(Succ(x0)) 248.92/165.29 new_sr1(x0, app(ty_Ratio, x1)) 248.92/165.29 new_primQuotInt(x0, Neg(Succ(x1))) 248.92/165.29 new_reduce2Reduce1(x0, x1, x2, x3, False, x4) 248.92/165.29 new_primMinusNat0(Zero, Zero) 248.92/165.29 new_primDivNatS1(Zero, x0) 248.92/165.29 new_primDivNatS02(x0, x1, Succ(x2), Succ(x3)) 248.92/165.29 new_primModNatS02(x0, x1) 248.92/165.29 new_primDivNatS1(Succ(Zero), Succ(x0)) 248.92/165.29 new_sr6(Neg(x0)) 248.92/165.29 new_gcd0Gcd'10(True, x0, x1) 248.92/165.29 new_primMulNat0(Succ(x0), Succ(x1)) 248.92/165.29 new_abs(Neg(Zero)) 248.92/165.29 new_ms(x0, Neg(x1)) 248.92/165.29 new_rem(Pos(x0), Neg(Zero)) 248.92/165.29 new_rem(Neg(x0), Pos(Zero)) 248.92/165.29 new_primMinusNatS2(Zero, Succ(x0)) 248.92/165.29 new_esEs(Neg(Succ(x0))) 248.92/165.29 new_error 248.92/165.29 new_primModNatS1(Succ(Zero), Zero) 248.92/165.29 new_primMulNat0(Zero, Succ(x0)) 248.92/165.29 new_sr3(x0, ty_Float) 248.92/165.29 new_quot(x0, x1, x2) 248.92/165.29 new_gcd2(True, x0, x1) 248.92/165.29 new_gcd0Gcd'11(True, x0, x1) 248.92/165.29 new_primEqInt(Neg(Zero)) 248.92/165.29 new_sr2(x0, x1, ty_Double) 248.92/165.29 new_primMulNat0(Succ(x0), Zero) 248.92/165.29 new_quot0(Neg(x0), x1, x2) 248.92/165.29 new_primMinusNatS2(Succ(x0), Succ(x1)) 248.92/165.29 new_sr4(x0, x1, app(ty_Ratio, x2)) 248.92/165.29 new_sr8(x0, x1) 248.92/165.29 new_primDivNatS01(x0, x1) 248.92/165.29 new_primDivNatS02(x0, x1, Zero, Succ(x2)) 248.92/165.29 new_primPlusNat0(Succ(x0), Succ(x1)) 248.92/165.29 new_sr1(x0, ty_Integer) 248.92/165.29 new_primPlusNat0(Zero, Zero) 248.92/165.29 new_sr1(x0, ty_Float) 248.92/165.29 new_primMinusNat0(Succ(x0), Succ(x1)) 248.92/165.29 new_sr12(:%(x0, x1), :%(x2, x3), x4) 248.92/165.29 new_abs(Neg(Succ(x0))) 248.92/165.29 new_sr1(x0, ty_Double) 248.92/165.29 new_sr3(x0, app(ty_Ratio, x1)) 248.92/165.29 new_sr7(x0) 248.92/165.29 new_gcd0(x0, x1) 248.92/165.29 new_sr(x0, ty_Integer) 248.92/165.29 new_sr0(x0, ty_Int) 248.92/165.29 new_primQuotInt0(x0, Pos(Succ(x1))) 248.92/165.29 new_sr4(x0, x1, ty_Integer) 248.92/165.29 new_sr5(:%(x0, x1), x2) 248.92/165.29 new_primMinusNatS2(Zero, Zero) 248.92/165.29 new_primMulNat1(Succ(x0)) 248.92/165.29 new_sr0(x0, ty_Integer) 248.92/165.29 new_ms(x0, Pos(Zero)) 248.92/165.29 new_abs(Pos(Succ(x0))) 248.92/165.29 new_sr4(x0, x1, ty_Int) 248.92/165.29 new_esEs(Pos(Zero)) 248.92/165.29 new_primQuotInt0(x0, Pos(Zero)) 248.92/165.29 new_sr(x0, ty_Int) 248.92/165.29 new_primEqInt(Neg(Succ(x0))) 248.92/165.29 new_primQuotInt(x0, Neg(Zero)) 248.92/165.29 new_primQuotInt0(x0, Neg(Zero)) 248.92/165.29 new_primQuotInt0(x0, Neg(Succ(x1))) 248.92/165.29 new_gcd(x0, x1) 248.92/165.29 new_quot0(Pos(x0), x1, x2) 248.92/165.29 new_primMinusNatS0(x0) 248.92/165.29 new_primPlusNat0(Zero, Succ(x0)) 248.92/165.29 new_sr2(x0, x1, app(ty_Ratio, x2)) 248.92/165.29 new_sr2(x0, x1, ty_Int) 248.92/165.29 new_primQuotInt(x0, Pos(Succ(x1))) 248.92/165.29 new_primDivNatS1(Succ(Succ(x0)), Zero) 248.92/165.29 new_rem(Pos(x0), Pos(Zero)) 248.92/165.29 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 248.92/165.29 new_primDivNatS02(x0, x1, Zero, Zero) 248.92/165.29 new_abs(Pos(Zero)) 248.92/165.29 new_gcd0Gcd'10(False, x0, x1) 248.92/165.29 new_ms(x0, Pos(Succ(x1))) 248.92/165.29 new_primMinusNatS1 248.92/165.29 new_esEs1(Integer(x0)) 248.92/165.29 new_ms0(x0, Neg(Zero)) 248.92/165.29 new_primMinusNat0(Succ(x0), Zero) 248.92/165.29 new_ms0(x0, Neg(Succ(x1))) 248.92/165.29 new_sr2(x0, x1, ty_Integer) 248.92/165.29 new_primModNatS01(x0, x1, Zero, Succ(x2)) 248.92/165.29 new_primMulNat2(Succ(x0)) 248.92/165.29 new_sr0(x0, ty_Float) 248.92/165.29 new_sr14(Neg(x0), Neg(x1)) 248.92/165.29 new_sr2(x0, x1, ty_Float) 248.92/165.29 new_primMinusNatS2(Succ(x0), Zero) 248.92/165.29 new_sr4(x0, x1, ty_Float) 248.92/165.29 new_sr6(Pos(x0)) 248.92/165.29 new_esEs2(x0, x1, ty_Integer) 248.92/165.29 new_primMulNat4(Succ(x0)) 248.92/165.29 new_rem(Neg(x0), Neg(Succ(x1))) 248.92/165.29 new_primEqInt(Pos(Succ(x0))) 248.92/165.29 new_primQuotInt(x0, Pos(Zero)) 248.92/165.29 new_gcd0Gcd'11(False, x0, x1) 248.92/165.29 new_sr9(x0) 248.92/165.29 new_primModNatS1(Succ(Succ(x0)), Zero) 248.92/165.29 new_sr(x0, ty_Double) 248.92/165.29 new_esEs0(x0, ty_Integer) 248.92/165.29 new_gcd0Gcd'00(x0, x1) 248.92/165.29 new_reduce2Reduce1(x0, x1, x2, x3, True, x4) 248.92/165.29 new_sr3(x0, ty_Double) 248.92/165.29 new_esEs(Neg(Zero)) 248.92/165.29 new_primMulNat1(Zero) 248.92/165.29 new_primMinusNat0(Zero, Succ(x0)) 248.92/165.29 new_rem(Neg(x0), Neg(Zero)) 248.92/165.29 248.92/165.29 We have to consider all minimal (P,Q,R)-chains. 248.92/165.29 ---------------------------------------- 248.92/165.29 248.92/165.29 (729) TransformationProof (EQUIVALENT) 248.92/165.29 By rewriting [LPAR04] the rule new_pr2F0G1(vyv226, vyv227, vyv228, Zero, ba) -> new_pr2F0G(vyv226, new_sr1(vyv227, ba), new_primQuotInt(Succ(vyv228), new_fromInt0), ba) at position [2,1] we obtained the following new rules [LPAR04]: 248.92/165.29 248.92/165.29 (new_pr2F0G1(vyv226, vyv227, vyv228, Zero, ba) -> new_pr2F0G(vyv226, new_sr1(vyv227, ba), new_primQuotInt(Succ(vyv228), Pos(Succ(Succ(Zero)))), ba),new_pr2F0G1(vyv226, vyv227, vyv228, Zero, ba) -> new_pr2F0G(vyv226, new_sr1(vyv227, ba), new_primQuotInt(Succ(vyv228), Pos(Succ(Succ(Zero)))), ba)) 248.92/165.29 248.92/165.29 248.92/165.29 ---------------------------------------- 248.92/165.29 248.92/165.29 (730) 248.92/165.29 Obligation: 248.92/165.29 Q DP problem: 248.92/165.29 The TRS P consists of the following rules: 248.92/165.29 248.92/165.29 new_pr2F0G10(vyv248, vyv249, vyv250, Succ(Succ(vyv25100)), bb) -> new_pr2F0G10(vyv248, vyv249, vyv250, vyv25100, bb) 248.92/165.29 new_pr2F0G(vyv187, vyv183, Neg(Succ(Zero)), h) -> new_pr2F0G11(vyv187, vyv183, Zero, h) 248.92/165.29 new_pr2F0G(vyv187, vyv183, Pos(Succ(Succ(vyv222000))), h) -> new_pr2F0G1(vyv187, vyv183, Succ(vyv222000), vyv222000, h) 248.92/165.29 new_pr2F0(vyv183, Neg(Succ(Succ(vyv222000))), vyv187, h) -> new_pr2F0G10(vyv187, vyv183, Succ(vyv222000), vyv222000, h) 248.92/165.29 new_pr2F0(vyv183, Neg(Succ(Zero)), vyv187, h) -> new_pr2F0G11(vyv187, vyv183, Zero, h) 248.92/165.29 new_pr2F0G10(vyv248, vyv249, vyv250, Succ(Zero), bb) -> new_pr2F0G11(vyv248, vyv249, vyv250, bb) 248.92/165.29 new_pr2F0G(vyv187, vyv183, Neg(Succ(Succ(vyv222000))), h) -> new_pr2F0G10(vyv187, vyv183, Succ(vyv222000), vyv222000, h) 248.92/165.29 new_pr2F3(False, vyv227, vyv228, vyv244, vyv226, ba) -> new_pr2F0(vyv227, new_ms(vyv228, vyv244), new_sr2(vyv227, vyv226, ba), ba) 248.92/165.29 new_pr2F0(vyv183, Pos(Succ(Succ(vyv222000))), vyv187, h) -> new_pr2F0G1(vyv187, vyv183, Succ(vyv222000), vyv222000, h) 248.92/165.29 new_pr2F1(vyv239, vyv240, vyv243, vyv238, bc) -> new_pr2F30(new_esEs(new_ms0(vyv240, vyv243)), vyv239, vyv240, vyv243, vyv238, bc) 248.92/165.29 new_pr2F(vyv227, vyv228, vyv244, vyv226, ba) -> new_pr2F3(new_esEs(new_ms(vyv228, vyv244)), vyv227, vyv228, vyv244, vyv226, ba) 248.92/165.29 new_pr2F0G1(vyv226, vyv227, vyv228, Succ(Succ(vyv22900)), ba) -> new_pr2F0G1(vyv226, vyv227, vyv228, vyv22900, ba) 248.92/165.29 new_pr2F30(False, vyv239, vyv240, vyv243, vyv238, bc) -> new_pr2F0(vyv239, new_ms0(vyv240, vyv243), new_sr4(vyv239, vyv238, bc), bc) 248.92/165.29 new_pr2F0(vyv183, Pos(Zero), vyv187, h) -> new_pr2F0G(vyv187, new_sr(vyv183, h), new_primQuotInt(Zero, new_fromInt0), h) 248.92/165.29 new_pr2F0(vyv183, Neg(Zero), vyv187, h) -> new_pr2F0G(vyv187, new_sr0(vyv183, h), new_primQuotInt0(Zero, Pos(Succ(Succ(Zero)))), h) 248.92/165.29 new_pr2F0G11(vyv238, vyv239, vyv240, bc) -> new_pr2F1(vyv239, vyv240, Pos(Succ(Zero)), vyv238, bc) 248.92/165.29 new_pr2F0G(vyv187, vyv183, Neg(Zero), h) -> new_pr2F0G(vyv187, new_sr0(vyv183, h), new_primQuotInt0(Zero, Pos(Succ(Succ(Zero)))), h) 248.92/165.29 new_pr2F0G10(vyv248, vyv249, vyv250, Zero, bb) -> new_pr2F0G(vyv248, new_sr3(vyv249, bb), new_primQuotInt0(Succ(vyv250), Pos(Succ(Succ(Zero)))), bb) 248.92/165.29 new_pr2F0(vyv183, Pos(Succ(Zero)), vyv187, h) -> new_pr2F(vyv183, Zero, Pos(Succ(Zero)), vyv187, h) 248.92/165.29 new_pr2F0G1(vyv226, vyv227, vyv228, Succ(Zero), ba) -> new_pr2F(vyv227, vyv228, Pos(Succ(Zero)), vyv226, ba) 248.92/165.29 new_pr2F0G(vyv187, vyv183, Pos(Succ(Zero)), h) -> new_pr2F(vyv183, Zero, Pos(Succ(Zero)), vyv187, h) 248.92/165.29 new_pr2F0G(vyv187, vyv183, Pos(Zero), h) -> new_pr2F0G(vyv187, new_sr(vyv183, h), new_primQuotInt(Zero, Pos(Succ(Succ(Zero)))), h) 248.92/165.29 new_pr2F0G1(vyv226, vyv227, vyv228, Zero, ba) -> new_pr2F0G(vyv226, new_sr1(vyv227, ba), new_primQuotInt(Succ(vyv228), Pos(Succ(Succ(Zero)))), ba) 248.92/165.29 248.92/165.29 The TRS R consists of the following rules: 248.92/165.29 248.92/165.29 new_sr3(vyv249, ty_Float) -> new_sr10(vyv249) 248.92/165.29 new_sr3(vyv249, ty_Double) -> new_sr9(vyv249) 248.92/165.29 new_sr3(vyv249, ty_Int) -> new_sr6(vyv249) 248.92/165.29 new_sr3(vyv249, ty_Integer) -> new_sr7(vyv249) 248.92/165.29 new_sr3(vyv249, app(ty_Ratio, bg)) -> new_sr5(vyv249, bg) 248.92/165.29 new_primQuotInt0(vyv2700, Pos(Succ(vyv28700))) -> Neg(new_primDivNatS1(vyv2700, vyv28700)) 248.92/165.29 new_primDivNatS1(Zero, vyv28400) -> Zero 248.92/165.29 new_primDivNatS1(Succ(Succ(vyv270000)), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS0(vyv270000), Zero)) 248.92/165.29 new_primDivNatS1(Succ(Zero), Succ(vyv284000)) -> Zero 248.92/165.29 new_primDivNatS1(Succ(Succ(vyv270000)), Succ(vyv284000)) -> new_primDivNatS02(vyv270000, vyv284000, vyv270000, vyv284000) 248.92/165.29 new_primDivNatS1(Succ(Zero), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS1, Zero)) 248.92/165.29 new_primMinusNatS1 -> Zero 248.92/165.29 new_primDivNatS02(vyv310, vyv311, Zero, Zero) -> new_primDivNatS01(vyv310, vyv311) 248.92/165.29 new_primDivNatS02(vyv310, vyv311, Succ(vyv3120), Zero) -> new_primDivNatS01(vyv310, vyv311) 248.92/165.29 new_primDivNatS02(vyv310, vyv311, Zero, Succ(vyv3130)) -> Zero 248.92/165.29 new_primDivNatS02(vyv310, vyv311, Succ(vyv3120), Succ(vyv3130)) -> new_primDivNatS02(vyv310, vyv311, vyv3120, vyv3130) 248.92/165.29 new_primDivNatS01(vyv310, vyv311) -> Succ(new_primDivNatS1(new_primMinusNatS2(vyv310, vyv311), Succ(vyv311))) 248.92/165.29 new_primMinusNatS2(Zero, Succ(vyv3110)) -> Zero 248.92/165.29 new_primMinusNatS2(Succ(vyv3100), Zero) -> Succ(vyv3100) 248.92/165.29 new_primMinusNatS2(Zero, Zero) -> Zero 248.92/165.29 new_primMinusNatS2(Succ(vyv3100), Succ(vyv3110)) -> new_primMinusNatS2(vyv3100, vyv3110) 248.92/165.29 new_primMinusNatS0(vyv270000) -> Succ(vyv270000) 248.92/165.29 new_sr5(:%(vyv1830, vyv1831), bd) -> new_reduce2Reduce1(vyv1830, vyv1830, vyv1831, vyv1831, new_esEs0(vyv1831, bd), bd) 248.92/165.29 new_esEs0(vyv1831, ty_Int) -> new_esEs(new_sr6(vyv1831)) 248.92/165.29 new_esEs0(vyv1831, ty_Integer) -> new_esEs1(new_sr7(vyv1831)) 248.92/165.29 new_reduce2Reduce1(vyv264, vyv265, vyv266, vyv267, False, bh) -> :%(new_quot1(vyv264, vyv265, vyv266, vyv267, bh), new_quot2(vyv266, vyv267, vyv264, vyv265, bh)) 248.92/165.29 new_reduce2Reduce1(vyv264, vyv265, vyv266, vyv267, True, bh) -> error([]) 248.92/165.29 new_quot1(vyv264, vyv265, vyv266, vyv267, ty_Int) -> new_quot0(new_sr14(vyv264, vyv265), new_sr14(vyv264, vyv265), new_sr14(vyv266, vyv267)) 248.92/165.29 new_quot1(vyv264, vyv265, vyv266, vyv267, ty_Integer) -> new_quot(new_sr8(vyv264, vyv265), new_sr8(vyv264, vyv265), new_sr8(vyv266, vyv267)) 248.92/165.29 new_quot2(vyv266, vyv267, vyv264, vyv265, ty_Int) -> new_quot0(new_sr14(vyv266, vyv267), new_sr14(vyv264, vyv265), new_sr14(vyv266, vyv267)) 248.92/165.29 new_quot2(vyv266, vyv267, vyv264, vyv265, ty_Integer) -> new_quot(new_sr8(vyv266, vyv267), new_sr8(vyv264, vyv265), new_sr8(vyv266, vyv267)) 248.92/165.29 new_sr8(vyv239, vyv238) -> error([]) 248.92/165.29 new_quot(vyv273, vyv275, vyv274) -> error([]) 248.92/165.29 new_sr14(Pos(vyv2390), Neg(vyv2380)) -> Neg(new_primMulNat0(vyv2390, vyv2380)) 248.92/165.29 new_sr14(Neg(vyv2390), Pos(vyv2380)) -> Neg(new_primMulNat0(vyv2390, vyv2380)) 248.92/165.29 new_sr14(Neg(vyv2390), Neg(vyv2380)) -> Pos(new_primMulNat0(vyv2390, vyv2380)) 248.92/165.29 new_sr14(Pos(vyv2390), Pos(vyv2380)) -> Pos(new_primMulNat0(vyv2390, vyv2380)) 248.92/165.29 new_quot0(Neg(vyv2700), vyv272, vyv271) -> new_primQuotInt0(vyv2700, new_gcd(vyv272, vyv271)) 248.92/165.29 new_quot0(Pos(vyv2700), vyv272, vyv271) -> new_primQuotInt(vyv2700, new_gcd(vyv272, vyv271)) 248.92/165.29 new_gcd(vyv272, vyv271) -> new_gcd2(new_esEs(vyv272), vyv272, vyv271) 248.92/165.29 new_primQuotInt(vyv2700, Neg(Zero)) -> new_error 248.92/165.29 new_primQuotInt(vyv2700, Pos(Succ(vyv28400))) -> Pos(new_primDivNatS1(vyv2700, vyv28400)) 248.92/165.29 new_primQuotInt(vyv2700, Pos(Zero)) -> new_error 248.92/165.29 new_primQuotInt(vyv2700, Neg(Succ(vyv28400))) -> Neg(new_primDivNatS1(vyv2700, vyv28400)) 248.92/165.29 new_error -> error([]) 248.92/165.29 new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) 248.92/165.29 new_esEs(Pos(Succ(vyv24100))) -> new_primEqInt(Pos(Succ(vyv24100))) 248.92/165.29 new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) 248.92/165.29 new_esEs(Neg(Succ(vyv24100))) -> new_primEqInt(Neg(Succ(vyv24100))) 248.92/165.29 new_gcd2(True, vyv272, vyv271) -> new_gcd1(new_esEs(vyv271), vyv272, vyv271) 248.92/165.29 new_gcd2(False, vyv272, vyv271) -> new_gcd0(vyv272, vyv271) 248.92/165.29 new_gcd0(vyv272, vyv271) -> new_gcd0Gcd'10(new_esEs(new_abs(vyv271)), vyv272, vyv271) 248.92/165.29 new_abs(Neg(Zero)) -> Neg(Zero) 248.92/165.29 new_abs(Neg(Succ(vyv27100))) -> Pos(Succ(vyv27100)) 248.92/165.29 new_abs(Pos(Succ(vyv27100))) -> Pos(Succ(vyv27100)) 248.92/165.29 new_abs(Pos(Zero)) -> Pos(Zero) 248.92/165.29 new_gcd0Gcd'10(True, vyv272, vyv271) -> new_abs(vyv272) 248.92/165.29 new_gcd0Gcd'10(False, vyv272, vyv271) -> new_gcd0Gcd'00(new_abs(vyv272), new_abs(vyv271)) 248.92/165.29 new_gcd0Gcd'11(False, vyv291, vyv292) -> new_gcd0Gcd'00(vyv291, new_rem(vyv292, vyv291)) 248.92/165.29 new_gcd0Gcd'00(vyv292, vyv291) -> new_gcd0Gcd'11(new_esEs(new_rem(vyv292, vyv291)), vyv291, vyv292) 248.92/165.29 new_rem(Pos(vyv2920), Neg(Zero)) -> new_error 248.92/165.29 new_rem(Neg(vyv2920), Pos(Zero)) -> new_error 248.92/165.29 new_rem(Pos(vyv2920), Neg(Succ(vyv29100))) -> Pos(new_primModNatS1(vyv2920, vyv29100)) 248.92/165.29 new_rem(Neg(vyv2920), Pos(Succ(vyv29100))) -> Neg(new_primModNatS1(vyv2920, vyv29100)) 248.92/165.29 new_rem(Pos(vyv2920), Pos(Succ(vyv29100))) -> Pos(new_primModNatS1(vyv2920, vyv29100)) 248.92/165.29 new_rem(Neg(vyv2920), Neg(Zero)) -> new_error 248.92/165.29 new_rem(Neg(vyv2920), Neg(Succ(vyv29100))) -> Neg(new_primModNatS1(vyv2920, vyv29100)) 248.92/165.29 new_rem(Pos(vyv2920), Pos(Zero)) -> new_error 248.92/165.29 new_gcd0Gcd'11(True, vyv291, vyv292) -> vyv291 248.92/165.29 new_primModNatS1(Succ(Zero), Succ(vyv291000)) -> Succ(Zero) 248.92/165.29 new_primModNatS1(Zero, vyv29100) -> Zero 248.92/165.29 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 248.92/165.29 new_primModNatS1(Succ(Succ(vyv292000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv292000), Zero) 248.92/165.29 new_primModNatS01(vyv330, vyv331, Zero, Zero) -> new_primModNatS02(vyv330, vyv331) 248.92/165.29 new_primModNatS02(vyv330, vyv331) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv330), Succ(vyv331)), Succ(vyv331)) 248.92/165.29 new_primModNatS1(Succ(Succ(vyv292000)), Succ(vyv291000)) -> new_primModNatS01(vyv292000, vyv291000, vyv292000, vyv291000) 248.92/165.29 new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Zero) -> new_primModNatS02(vyv330, vyv331) 248.92/165.29 new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Succ(vyv3330)) -> new_primModNatS01(vyv330, vyv331, vyv3320, vyv3330) 248.92/165.29 new_primModNatS01(vyv330, vyv331, Zero, Succ(vyv3330)) -> Succ(Succ(vyv330)) 248.92/165.29 new_gcd1(True, vyv272, vyv271) -> new_error 248.92/165.29 new_gcd1(False, vyv272, vyv271) -> new_gcd0(vyv272, vyv271) 248.92/165.29 new_primEqInt(Neg(Succ(vyv242000))) -> False 248.92/165.29 new_primEqInt(Pos(Zero)) -> True 248.92/165.29 new_primEqInt(Pos(Succ(vyv242000))) -> False 248.92/165.29 new_primEqInt(Neg(Zero)) -> True 248.92/165.29 new_primQuotInt0(vyv2700, Neg(Zero)) -> new_error 248.92/165.29 new_primQuotInt0(vyv2700, Neg(Succ(vyv28700))) -> Pos(new_primDivNatS1(vyv2700, vyv28700)) 248.92/165.29 new_primQuotInt0(vyv2700, Pos(Zero)) -> new_error 248.92/165.29 new_primMulNat0(Succ(vyv23900), Zero) -> Zero 248.92/165.29 new_primMulNat0(Zero, Succ(vyv23800)) -> Zero 248.92/165.29 new_primMulNat0(Zero, Zero) -> Zero 248.92/165.29 new_primMulNat0(Succ(vyv23900), Succ(vyv23800)) -> new_primPlusNat0(new_primMulNat0(vyv23900, Succ(vyv23800)), Succ(vyv23800)) 248.92/165.29 new_primPlusNat0(Succ(vyv4000), Succ(vyv5000)) -> Succ(Succ(new_primPlusNat0(vyv4000, vyv5000))) 248.92/165.29 new_primPlusNat0(Zero, Succ(vyv5000)) -> Succ(vyv5000) 248.92/165.29 new_primPlusNat0(Zero, Zero) -> Zero 248.92/165.29 new_primPlusNat0(Succ(vyv4000), Zero) -> Succ(vyv4000) 248.92/165.29 new_sr7(vyv183) -> error([]) 248.92/165.29 new_esEs1(Integer(vyv2690)) -> new_primEqInt(vyv2690) 248.92/165.29 new_sr6(Neg(vyv1830)) -> Pos(new_primMulNat1(vyv1830)) 248.92/165.29 new_sr6(Pos(vyv1830)) -> Pos(new_primMulNat1(vyv1830)) 248.92/165.29 new_primMulNat1(Succ(vyv18300)) -> new_primPlusNat0(new_primMulNat2(vyv18300), Succ(vyv18300)) 248.92/165.29 new_primMulNat1(Zero) -> Zero 248.92/165.29 new_primMulNat2(Succ(vyv183000)) -> new_primPlusNat0(new_primMulNat3(vyv183000), Succ(Succ(vyv183000))) 248.92/165.29 new_primMulNat2(Zero) -> Zero 248.92/165.29 new_primMulNat3(Succ(vyv1830000)) -> new_primPlusNat0(new_primMulNat4(vyv1830000), Succ(Succ(Succ(vyv1830000)))) 248.92/165.29 new_primMulNat3(Zero) -> Zero 248.92/165.29 new_primMulNat4(Succ(vyv18300000)) -> new_primPlusNat0(new_primMulNat0(vyv18300000, Succ(Succ(Succ(Succ(vyv18300000))))), Succ(Succ(Succ(Succ(vyv18300000))))) 248.92/165.29 new_primMulNat4(Zero) -> Zero 248.92/165.29 new_sr9(vyv183) -> error([]) 248.92/165.29 new_sr10(vyv183) -> error([]) 248.92/165.29 new_sr0(vyv183, ty_Double) -> new_sr9(vyv183) 248.92/165.29 new_sr0(vyv183, ty_Int) -> new_sr6(vyv183) 248.92/165.29 new_sr0(vyv183, ty_Integer) -> new_sr7(vyv183) 248.92/165.29 new_sr0(vyv183, ty_Float) -> new_sr10(vyv183) 248.92/165.29 new_sr0(vyv183, app(ty_Ratio, bd)) -> new_sr5(vyv183, bd) 248.92/165.29 new_sr(vyv183, ty_Int) -> new_sr6(vyv183) 248.92/165.29 new_sr(vyv183, app(ty_Ratio, bd)) -> new_sr5(vyv183, bd) 248.92/165.29 new_sr(vyv183, ty_Integer) -> new_sr7(vyv183) 248.92/165.29 new_sr(vyv183, ty_Float) -> new_sr10(vyv183) 248.92/165.29 new_sr(vyv183, ty_Double) -> new_sr9(vyv183) 248.92/165.29 new_fromInt0 -> Pos(Succ(Succ(Zero))) 248.92/165.29 new_ms0(vyv240, Neg(Zero)) -> Neg(Succ(vyv240)) 248.92/165.29 new_ms0(vyv240, Pos(vyv2430)) -> Neg(new_primPlusNat0(Succ(vyv240), vyv2430)) 248.92/165.29 new_ms0(vyv240, Neg(Succ(vyv24300))) -> new_primMinusNat0(vyv24300, vyv240) 248.92/165.29 new_sr4(vyv239, vyv238, app(ty_Ratio, bf)) -> new_sr12(vyv239, vyv238, bf) 248.92/165.29 new_sr4(vyv239, vyv238, ty_Integer) -> new_sr8(vyv239, vyv238) 248.92/165.29 new_sr4(vyv239, vyv238, ty_Int) -> new_sr14(vyv239, vyv238) 248.92/165.29 new_sr4(vyv239, vyv238, ty_Double) -> new_sr11(vyv239, vyv238) 248.92/165.29 new_sr4(vyv239, vyv238, ty_Float) -> new_sr13(vyv239, vyv238) 248.92/165.29 new_sr13(vyv239, vyv238) -> error([]) 248.92/165.29 new_sr11(vyv239, vyv238) -> error([]) 248.92/165.29 new_sr12(:%(vyv2390, vyv2391), :%(vyv2380, vyv2381), bf) -> new_reduce2Reduce1(vyv2390, vyv2380, vyv2391, vyv2381, new_esEs2(vyv2391, vyv2381, bf), bf) 248.92/165.29 new_esEs2(vyv2391, vyv2381, ty_Int) -> new_esEs(new_sr14(vyv2391, vyv2381)) 248.92/165.29 new_esEs2(vyv2391, vyv2381, ty_Integer) -> new_esEs1(new_sr8(vyv2391, vyv2381)) 248.92/165.29 new_primMinusNat0(Succ(vyv2280), Succ(vyv244000)) -> new_primMinusNat0(vyv2280, vyv244000) 248.92/165.29 new_primMinusNat0(Zero, Zero) -> Pos(Zero) 248.92/165.29 new_primMinusNat0(Zero, Succ(vyv244000)) -> Neg(Succ(vyv244000)) 248.92/165.29 new_primMinusNat0(Succ(vyv2280), Zero) -> Pos(Succ(vyv2280)) 248.92/165.29 new_ms(vyv228, Neg(vyv2440)) -> Pos(new_primPlusNat0(Succ(vyv228), vyv2440)) 248.92/165.29 new_ms(vyv228, Pos(Succ(vyv24400))) -> new_primMinusNat0(vyv228, vyv24400) 248.92/165.29 new_ms(vyv228, Pos(Zero)) -> Pos(Succ(vyv228)) 248.92/165.29 new_sr1(vyv227, ty_Int) -> new_sr6(vyv227) 248.92/165.29 new_sr1(vyv227, ty_Integer) -> new_sr7(vyv227) 248.92/165.29 new_sr1(vyv227, app(ty_Ratio, be)) -> new_sr5(vyv227, be) 248.92/165.29 new_sr1(vyv227, ty_Float) -> new_sr10(vyv227) 248.92/165.29 new_sr1(vyv227, ty_Double) -> new_sr9(vyv227) 248.92/165.29 new_sr2(vyv227, vyv226, ty_Int) -> new_sr14(vyv227, vyv226) 248.92/165.29 new_sr2(vyv227, vyv226, ty_Double) -> new_sr11(vyv227, vyv226) 248.92/165.29 new_sr2(vyv227, vyv226, ty_Integer) -> new_sr8(vyv227, vyv226) 248.92/165.29 new_sr2(vyv227, vyv226, ty_Float) -> new_sr13(vyv227, vyv226) 248.92/165.29 new_sr2(vyv227, vyv226, app(ty_Ratio, be)) -> new_sr12(vyv227, vyv226, be) 248.92/165.29 248.92/165.29 The set Q consists of the following terms: 248.92/165.29 248.92/165.29 new_rem(Pos(x0), Pos(Succ(x1))) 248.92/165.29 new_quot1(x0, x1, x2, x3, ty_Integer) 248.92/165.29 new_primModNatS1(Succ(Zero), Succ(x0)) 248.92/165.29 new_ms0(x0, Pos(x1)) 248.92/165.29 new_sr(x0, app(ty_Ratio, x1)) 248.92/165.29 new_primMulNat4(Zero) 248.92/165.29 new_gcd1(False, x0, x1) 248.92/165.29 new_primEqInt(Pos(Zero)) 248.92/165.29 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 248.92/165.29 new_rem(Pos(x0), Neg(Succ(x1))) 248.92/165.29 new_rem(Neg(x0), Pos(Succ(x1))) 248.92/165.29 new_sr10(x0) 248.92/165.29 new_quot1(x0, x1, x2, x3, ty_Int) 248.92/165.29 new_sr0(x0, app(ty_Ratio, x1)) 248.92/165.29 new_quot2(x0, x1, x2, x3, ty_Integer) 248.92/165.29 new_primModNatS01(x0, x1, Succ(x2), Zero) 248.92/165.29 new_sr3(x0, ty_Integer) 248.92/165.29 new_primMulNat3(Zero) 248.92/165.29 new_primDivNatS02(x0, x1, Succ(x2), Zero) 248.92/165.29 new_sr(x0, ty_Float) 248.92/165.29 new_quot2(x0, x1, x2, x3, ty_Int) 248.92/165.29 new_gcd2(False, x0, x1) 248.92/165.29 new_primDivNatS1(Succ(Zero), Zero) 248.92/165.29 new_sr0(x0, ty_Double) 248.92/165.29 new_esEs0(x0, ty_Int) 248.92/165.29 new_sr14(Pos(x0), Pos(x1)) 248.92/165.29 new_sr3(x0, ty_Int) 248.92/165.29 new_primMulNat0(Zero, Zero) 248.92/165.29 new_sr4(x0, x1, ty_Double) 248.92/165.29 new_primPlusNat0(Succ(x0), Zero) 248.92/165.29 new_fromInt0 248.92/165.29 new_primMulNat2(Zero) 248.92/165.29 new_sr11(x0, x1) 248.92/165.29 new_primModNatS01(x0, x1, Zero, Zero) 248.92/165.29 new_esEs2(x0, x1, ty_Int) 248.92/165.29 new_gcd1(True, x0, x1) 248.92/165.29 new_sr13(x0, x1) 248.92/165.29 new_sr14(Pos(x0), Neg(x1)) 248.92/165.29 new_sr14(Neg(x0), Pos(x1)) 248.92/165.29 new_primDivNatS1(Succ(Succ(x0)), Succ(x1)) 248.92/165.29 new_sr1(x0, ty_Int) 248.92/165.29 new_primModNatS1(Zero, x0) 248.92/165.29 new_esEs(Pos(Succ(x0))) 248.92/165.29 new_primMulNat3(Succ(x0)) 248.92/165.29 new_sr1(x0, app(ty_Ratio, x1)) 248.92/165.29 new_primQuotInt(x0, Neg(Succ(x1))) 248.92/165.29 new_reduce2Reduce1(x0, x1, x2, x3, False, x4) 248.92/165.29 new_primMinusNat0(Zero, Zero) 248.92/165.29 new_primDivNatS1(Zero, x0) 248.92/165.29 new_primDivNatS02(x0, x1, Succ(x2), Succ(x3)) 248.92/165.29 new_primModNatS02(x0, x1) 248.92/165.29 new_primDivNatS1(Succ(Zero), Succ(x0)) 248.92/165.29 new_sr6(Neg(x0)) 248.92/165.29 new_gcd0Gcd'10(True, x0, x1) 248.92/165.29 new_primMulNat0(Succ(x0), Succ(x1)) 248.92/165.29 new_abs(Neg(Zero)) 248.92/165.29 new_ms(x0, Neg(x1)) 248.92/165.29 new_rem(Pos(x0), Neg(Zero)) 248.92/165.29 new_rem(Neg(x0), Pos(Zero)) 248.92/165.29 new_primMinusNatS2(Zero, Succ(x0)) 248.92/165.29 new_esEs(Neg(Succ(x0))) 248.92/165.29 new_error 248.92/165.29 new_primModNatS1(Succ(Zero), Zero) 248.92/165.29 new_primMulNat0(Zero, Succ(x0)) 248.92/165.29 new_sr3(x0, ty_Float) 248.92/165.29 new_quot(x0, x1, x2) 248.92/165.29 new_gcd2(True, x0, x1) 248.92/165.29 new_gcd0Gcd'11(True, x0, x1) 248.92/165.29 new_primEqInt(Neg(Zero)) 248.92/165.29 new_sr2(x0, x1, ty_Double) 248.92/165.29 new_primMulNat0(Succ(x0), Zero) 248.92/165.29 new_quot0(Neg(x0), x1, x2) 248.92/165.29 new_primMinusNatS2(Succ(x0), Succ(x1)) 248.92/165.29 new_sr4(x0, x1, app(ty_Ratio, x2)) 248.92/165.29 new_sr8(x0, x1) 248.92/165.29 new_primDivNatS01(x0, x1) 248.92/165.29 new_primDivNatS02(x0, x1, Zero, Succ(x2)) 248.92/165.29 new_primPlusNat0(Succ(x0), Succ(x1)) 248.92/165.29 new_sr1(x0, ty_Integer) 248.92/165.29 new_primPlusNat0(Zero, Zero) 248.92/165.29 new_sr1(x0, ty_Float) 248.92/165.29 new_primMinusNat0(Succ(x0), Succ(x1)) 248.92/165.29 new_sr12(:%(x0, x1), :%(x2, x3), x4) 248.92/165.29 new_abs(Neg(Succ(x0))) 248.92/165.29 new_sr1(x0, ty_Double) 248.92/165.29 new_sr3(x0, app(ty_Ratio, x1)) 248.92/165.29 new_sr7(x0) 248.92/165.29 new_gcd0(x0, x1) 248.92/165.29 new_sr(x0, ty_Integer) 248.92/165.29 new_sr0(x0, ty_Int) 248.92/165.29 new_primQuotInt0(x0, Pos(Succ(x1))) 248.92/165.29 new_sr4(x0, x1, ty_Integer) 248.92/165.29 new_sr5(:%(x0, x1), x2) 248.92/165.29 new_primMinusNatS2(Zero, Zero) 248.92/165.29 new_primMulNat1(Succ(x0)) 248.92/165.29 new_sr0(x0, ty_Integer) 248.92/165.29 new_ms(x0, Pos(Zero)) 248.92/165.29 new_abs(Pos(Succ(x0))) 248.92/165.29 new_sr4(x0, x1, ty_Int) 248.92/165.29 new_esEs(Pos(Zero)) 248.92/165.29 new_primQuotInt0(x0, Pos(Zero)) 248.92/165.29 new_sr(x0, ty_Int) 248.92/165.29 new_primEqInt(Neg(Succ(x0))) 248.92/165.29 new_primQuotInt(x0, Neg(Zero)) 248.92/165.29 new_primQuotInt0(x0, Neg(Zero)) 248.92/165.29 new_primQuotInt0(x0, Neg(Succ(x1))) 248.92/165.29 new_gcd(x0, x1) 248.92/165.29 new_quot0(Pos(x0), x1, x2) 248.92/165.29 new_primMinusNatS0(x0) 248.92/165.29 new_primPlusNat0(Zero, Succ(x0)) 248.92/165.29 new_sr2(x0, x1, app(ty_Ratio, x2)) 248.92/165.29 new_sr2(x0, x1, ty_Int) 248.92/165.29 new_primQuotInt(x0, Pos(Succ(x1))) 248.92/165.29 new_primDivNatS1(Succ(Succ(x0)), Zero) 248.92/165.29 new_rem(Pos(x0), Pos(Zero)) 248.92/165.29 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 248.92/165.29 new_primDivNatS02(x0, x1, Zero, Zero) 248.92/165.29 new_abs(Pos(Zero)) 248.92/165.29 new_gcd0Gcd'10(False, x0, x1) 248.92/165.29 new_ms(x0, Pos(Succ(x1))) 248.92/165.29 new_primMinusNatS1 248.92/165.29 new_esEs1(Integer(x0)) 248.92/165.29 new_ms0(x0, Neg(Zero)) 248.92/165.29 new_primMinusNat0(Succ(x0), Zero) 248.92/165.29 new_ms0(x0, Neg(Succ(x1))) 248.92/165.29 new_sr2(x0, x1, ty_Integer) 248.92/165.29 new_primModNatS01(x0, x1, Zero, Succ(x2)) 248.92/165.29 new_primMulNat2(Succ(x0)) 248.92/165.29 new_sr0(x0, ty_Float) 248.92/165.29 new_sr14(Neg(x0), Neg(x1)) 248.92/165.29 new_sr2(x0, x1, ty_Float) 248.92/165.29 new_primMinusNatS2(Succ(x0), Zero) 248.92/165.29 new_sr4(x0, x1, ty_Float) 248.92/165.29 new_sr6(Pos(x0)) 248.92/165.29 new_esEs2(x0, x1, ty_Integer) 248.92/165.29 new_primMulNat4(Succ(x0)) 248.92/165.29 new_rem(Neg(x0), Neg(Succ(x1))) 248.92/165.29 new_primEqInt(Pos(Succ(x0))) 248.92/165.29 new_primQuotInt(x0, Pos(Zero)) 248.92/165.29 new_gcd0Gcd'11(False, x0, x1) 248.92/165.29 new_sr9(x0) 248.92/165.29 new_primModNatS1(Succ(Succ(x0)), Zero) 248.92/165.29 new_sr(x0, ty_Double) 248.92/165.29 new_esEs0(x0, ty_Integer) 248.92/165.29 new_gcd0Gcd'00(x0, x1) 248.92/165.29 new_reduce2Reduce1(x0, x1, x2, x3, True, x4) 248.92/165.29 new_sr3(x0, ty_Double) 248.92/165.29 new_esEs(Neg(Zero)) 248.92/165.29 new_primMulNat1(Zero) 248.92/165.29 new_primMinusNat0(Zero, Succ(x0)) 248.92/165.29 new_rem(Neg(x0), Neg(Zero)) 248.92/165.29 248.92/165.29 We have to consider all minimal (P,Q,R)-chains. 248.92/165.29 ---------------------------------------- 248.92/165.29 248.92/165.29 (731) TransformationProof (EQUIVALENT) 248.92/165.29 By rewriting [LPAR04] the rule new_pr2F0(vyv183, Pos(Zero), vyv187, h) -> new_pr2F0G(vyv187, new_sr(vyv183, h), new_primQuotInt(Zero, new_fromInt0), h) at position [2,1] we obtained the following new rules [LPAR04]: 248.92/165.29 248.92/165.29 (new_pr2F0(vyv183, Pos(Zero), vyv187, h) -> new_pr2F0G(vyv187, new_sr(vyv183, h), new_primQuotInt(Zero, Pos(Succ(Succ(Zero)))), h),new_pr2F0(vyv183, Pos(Zero), vyv187, h) -> new_pr2F0G(vyv187, new_sr(vyv183, h), new_primQuotInt(Zero, Pos(Succ(Succ(Zero)))), h)) 248.92/165.29 248.92/165.29 248.92/165.29 ---------------------------------------- 248.92/165.29 248.92/165.29 (732) 248.92/165.29 Obligation: 248.92/165.29 Q DP problem: 248.92/165.29 The TRS P consists of the following rules: 248.92/165.29 248.92/165.29 new_pr2F0G10(vyv248, vyv249, vyv250, Succ(Succ(vyv25100)), bb) -> new_pr2F0G10(vyv248, vyv249, vyv250, vyv25100, bb) 248.92/165.29 new_pr2F0G(vyv187, vyv183, Neg(Succ(Zero)), h) -> new_pr2F0G11(vyv187, vyv183, Zero, h) 248.92/165.29 new_pr2F0G(vyv187, vyv183, Pos(Succ(Succ(vyv222000))), h) -> new_pr2F0G1(vyv187, vyv183, Succ(vyv222000), vyv222000, h) 248.92/165.29 new_pr2F0(vyv183, Neg(Succ(Succ(vyv222000))), vyv187, h) -> new_pr2F0G10(vyv187, vyv183, Succ(vyv222000), vyv222000, h) 248.92/165.29 new_pr2F0(vyv183, Neg(Succ(Zero)), vyv187, h) -> new_pr2F0G11(vyv187, vyv183, Zero, h) 248.92/165.29 new_pr2F0G10(vyv248, vyv249, vyv250, Succ(Zero), bb) -> new_pr2F0G11(vyv248, vyv249, vyv250, bb) 248.92/165.29 new_pr2F0G(vyv187, vyv183, Neg(Succ(Succ(vyv222000))), h) -> new_pr2F0G10(vyv187, vyv183, Succ(vyv222000), vyv222000, h) 248.92/165.29 new_pr2F3(False, vyv227, vyv228, vyv244, vyv226, ba) -> new_pr2F0(vyv227, new_ms(vyv228, vyv244), new_sr2(vyv227, vyv226, ba), ba) 248.92/165.29 new_pr2F0(vyv183, Pos(Succ(Succ(vyv222000))), vyv187, h) -> new_pr2F0G1(vyv187, vyv183, Succ(vyv222000), vyv222000, h) 248.92/165.29 new_pr2F1(vyv239, vyv240, vyv243, vyv238, bc) -> new_pr2F30(new_esEs(new_ms0(vyv240, vyv243)), vyv239, vyv240, vyv243, vyv238, bc) 248.92/165.29 new_pr2F(vyv227, vyv228, vyv244, vyv226, ba) -> new_pr2F3(new_esEs(new_ms(vyv228, vyv244)), vyv227, vyv228, vyv244, vyv226, ba) 248.92/165.29 new_pr2F0G1(vyv226, vyv227, vyv228, Succ(Succ(vyv22900)), ba) -> new_pr2F0G1(vyv226, vyv227, vyv228, vyv22900, ba) 248.92/165.29 new_pr2F30(False, vyv239, vyv240, vyv243, vyv238, bc) -> new_pr2F0(vyv239, new_ms0(vyv240, vyv243), new_sr4(vyv239, vyv238, bc), bc) 248.92/165.29 new_pr2F0(vyv183, Neg(Zero), vyv187, h) -> new_pr2F0G(vyv187, new_sr0(vyv183, h), new_primQuotInt0(Zero, Pos(Succ(Succ(Zero)))), h) 248.92/165.29 new_pr2F0G11(vyv238, vyv239, vyv240, bc) -> new_pr2F1(vyv239, vyv240, Pos(Succ(Zero)), vyv238, bc) 248.92/165.29 new_pr2F0G(vyv187, vyv183, Neg(Zero), h) -> new_pr2F0G(vyv187, new_sr0(vyv183, h), new_primQuotInt0(Zero, Pos(Succ(Succ(Zero)))), h) 248.92/165.29 new_pr2F0G10(vyv248, vyv249, vyv250, Zero, bb) -> new_pr2F0G(vyv248, new_sr3(vyv249, bb), new_primQuotInt0(Succ(vyv250), Pos(Succ(Succ(Zero)))), bb) 248.92/165.29 new_pr2F0(vyv183, Pos(Succ(Zero)), vyv187, h) -> new_pr2F(vyv183, Zero, Pos(Succ(Zero)), vyv187, h) 248.92/165.29 new_pr2F0G1(vyv226, vyv227, vyv228, Succ(Zero), ba) -> new_pr2F(vyv227, vyv228, Pos(Succ(Zero)), vyv226, ba) 248.92/165.29 new_pr2F0G(vyv187, vyv183, Pos(Succ(Zero)), h) -> new_pr2F(vyv183, Zero, Pos(Succ(Zero)), vyv187, h) 248.92/165.29 new_pr2F0G(vyv187, vyv183, Pos(Zero), h) -> new_pr2F0G(vyv187, new_sr(vyv183, h), new_primQuotInt(Zero, Pos(Succ(Succ(Zero)))), h) 248.92/165.29 new_pr2F0G1(vyv226, vyv227, vyv228, Zero, ba) -> new_pr2F0G(vyv226, new_sr1(vyv227, ba), new_primQuotInt(Succ(vyv228), Pos(Succ(Succ(Zero)))), ba) 248.92/165.29 new_pr2F0(vyv183, Pos(Zero), vyv187, h) -> new_pr2F0G(vyv187, new_sr(vyv183, h), new_primQuotInt(Zero, Pos(Succ(Succ(Zero)))), h) 248.92/165.29 248.92/165.29 The TRS R consists of the following rules: 248.92/165.29 248.92/165.29 new_sr3(vyv249, ty_Float) -> new_sr10(vyv249) 248.92/165.29 new_sr3(vyv249, ty_Double) -> new_sr9(vyv249) 248.92/165.29 new_sr3(vyv249, ty_Int) -> new_sr6(vyv249) 248.92/165.29 new_sr3(vyv249, ty_Integer) -> new_sr7(vyv249) 248.92/165.29 new_sr3(vyv249, app(ty_Ratio, bg)) -> new_sr5(vyv249, bg) 248.92/165.29 new_primQuotInt0(vyv2700, Pos(Succ(vyv28700))) -> Neg(new_primDivNatS1(vyv2700, vyv28700)) 248.92/165.29 new_primDivNatS1(Zero, vyv28400) -> Zero 248.92/165.29 new_primDivNatS1(Succ(Succ(vyv270000)), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS0(vyv270000), Zero)) 248.92/165.29 new_primDivNatS1(Succ(Zero), Succ(vyv284000)) -> Zero 248.92/165.29 new_primDivNatS1(Succ(Succ(vyv270000)), Succ(vyv284000)) -> new_primDivNatS02(vyv270000, vyv284000, vyv270000, vyv284000) 248.92/165.29 new_primDivNatS1(Succ(Zero), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS1, Zero)) 248.92/165.29 new_primMinusNatS1 -> Zero 248.92/165.29 new_primDivNatS02(vyv310, vyv311, Zero, Zero) -> new_primDivNatS01(vyv310, vyv311) 248.92/165.29 new_primDivNatS02(vyv310, vyv311, Succ(vyv3120), Zero) -> new_primDivNatS01(vyv310, vyv311) 248.92/165.29 new_primDivNatS02(vyv310, vyv311, Zero, Succ(vyv3130)) -> Zero 248.92/165.29 new_primDivNatS02(vyv310, vyv311, Succ(vyv3120), Succ(vyv3130)) -> new_primDivNatS02(vyv310, vyv311, vyv3120, vyv3130) 248.92/165.29 new_primDivNatS01(vyv310, vyv311) -> Succ(new_primDivNatS1(new_primMinusNatS2(vyv310, vyv311), Succ(vyv311))) 248.92/165.29 new_primMinusNatS2(Zero, Succ(vyv3110)) -> Zero 248.92/165.29 new_primMinusNatS2(Succ(vyv3100), Zero) -> Succ(vyv3100) 248.92/165.29 new_primMinusNatS2(Zero, Zero) -> Zero 248.92/165.29 new_primMinusNatS2(Succ(vyv3100), Succ(vyv3110)) -> new_primMinusNatS2(vyv3100, vyv3110) 248.92/165.29 new_primMinusNatS0(vyv270000) -> Succ(vyv270000) 248.92/165.29 new_sr5(:%(vyv1830, vyv1831), bd) -> new_reduce2Reduce1(vyv1830, vyv1830, vyv1831, vyv1831, new_esEs0(vyv1831, bd), bd) 248.92/165.29 new_esEs0(vyv1831, ty_Int) -> new_esEs(new_sr6(vyv1831)) 248.92/165.29 new_esEs0(vyv1831, ty_Integer) -> new_esEs1(new_sr7(vyv1831)) 248.92/165.29 new_reduce2Reduce1(vyv264, vyv265, vyv266, vyv267, False, bh) -> :%(new_quot1(vyv264, vyv265, vyv266, vyv267, bh), new_quot2(vyv266, vyv267, vyv264, vyv265, bh)) 248.92/165.29 new_reduce2Reduce1(vyv264, vyv265, vyv266, vyv267, True, bh) -> error([]) 248.92/165.29 new_quot1(vyv264, vyv265, vyv266, vyv267, ty_Int) -> new_quot0(new_sr14(vyv264, vyv265), new_sr14(vyv264, vyv265), new_sr14(vyv266, vyv267)) 248.92/165.29 new_quot1(vyv264, vyv265, vyv266, vyv267, ty_Integer) -> new_quot(new_sr8(vyv264, vyv265), new_sr8(vyv264, vyv265), new_sr8(vyv266, vyv267)) 248.92/165.29 new_quot2(vyv266, vyv267, vyv264, vyv265, ty_Int) -> new_quot0(new_sr14(vyv266, vyv267), new_sr14(vyv264, vyv265), new_sr14(vyv266, vyv267)) 248.92/165.29 new_quot2(vyv266, vyv267, vyv264, vyv265, ty_Integer) -> new_quot(new_sr8(vyv266, vyv267), new_sr8(vyv264, vyv265), new_sr8(vyv266, vyv267)) 248.92/165.29 new_sr8(vyv239, vyv238) -> error([]) 248.92/165.29 new_quot(vyv273, vyv275, vyv274) -> error([]) 248.92/165.29 new_sr14(Pos(vyv2390), Neg(vyv2380)) -> Neg(new_primMulNat0(vyv2390, vyv2380)) 248.92/165.29 new_sr14(Neg(vyv2390), Pos(vyv2380)) -> Neg(new_primMulNat0(vyv2390, vyv2380)) 248.92/165.29 new_sr14(Neg(vyv2390), Neg(vyv2380)) -> Pos(new_primMulNat0(vyv2390, vyv2380)) 248.92/165.29 new_sr14(Pos(vyv2390), Pos(vyv2380)) -> Pos(new_primMulNat0(vyv2390, vyv2380)) 248.92/165.29 new_quot0(Neg(vyv2700), vyv272, vyv271) -> new_primQuotInt0(vyv2700, new_gcd(vyv272, vyv271)) 248.92/165.29 new_quot0(Pos(vyv2700), vyv272, vyv271) -> new_primQuotInt(vyv2700, new_gcd(vyv272, vyv271)) 248.92/165.29 new_gcd(vyv272, vyv271) -> new_gcd2(new_esEs(vyv272), vyv272, vyv271) 248.92/165.29 new_primQuotInt(vyv2700, Neg(Zero)) -> new_error 248.92/165.29 new_primQuotInt(vyv2700, Pos(Succ(vyv28400))) -> Pos(new_primDivNatS1(vyv2700, vyv28400)) 248.92/165.29 new_primQuotInt(vyv2700, Pos(Zero)) -> new_error 248.92/165.29 new_primQuotInt(vyv2700, Neg(Succ(vyv28400))) -> Neg(new_primDivNatS1(vyv2700, vyv28400)) 248.92/165.29 new_error -> error([]) 248.92/165.29 new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) 248.92/165.29 new_esEs(Pos(Succ(vyv24100))) -> new_primEqInt(Pos(Succ(vyv24100))) 248.92/165.29 new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) 248.92/165.29 new_esEs(Neg(Succ(vyv24100))) -> new_primEqInt(Neg(Succ(vyv24100))) 248.92/165.29 new_gcd2(True, vyv272, vyv271) -> new_gcd1(new_esEs(vyv271), vyv272, vyv271) 248.92/165.29 new_gcd2(False, vyv272, vyv271) -> new_gcd0(vyv272, vyv271) 248.92/165.29 new_gcd0(vyv272, vyv271) -> new_gcd0Gcd'10(new_esEs(new_abs(vyv271)), vyv272, vyv271) 248.92/165.29 new_abs(Neg(Zero)) -> Neg(Zero) 248.92/165.29 new_abs(Neg(Succ(vyv27100))) -> Pos(Succ(vyv27100)) 248.92/165.29 new_abs(Pos(Succ(vyv27100))) -> Pos(Succ(vyv27100)) 248.92/165.29 new_abs(Pos(Zero)) -> Pos(Zero) 248.92/165.29 new_gcd0Gcd'10(True, vyv272, vyv271) -> new_abs(vyv272) 248.92/165.29 new_gcd0Gcd'10(False, vyv272, vyv271) -> new_gcd0Gcd'00(new_abs(vyv272), new_abs(vyv271)) 248.92/165.29 new_gcd0Gcd'11(False, vyv291, vyv292) -> new_gcd0Gcd'00(vyv291, new_rem(vyv292, vyv291)) 248.92/165.29 new_gcd0Gcd'00(vyv292, vyv291) -> new_gcd0Gcd'11(new_esEs(new_rem(vyv292, vyv291)), vyv291, vyv292) 248.92/165.29 new_rem(Pos(vyv2920), Neg(Zero)) -> new_error 248.92/165.29 new_rem(Neg(vyv2920), Pos(Zero)) -> new_error 248.92/165.29 new_rem(Pos(vyv2920), Neg(Succ(vyv29100))) -> Pos(new_primModNatS1(vyv2920, vyv29100)) 248.92/165.29 new_rem(Neg(vyv2920), Pos(Succ(vyv29100))) -> Neg(new_primModNatS1(vyv2920, vyv29100)) 248.92/165.29 new_rem(Pos(vyv2920), Pos(Succ(vyv29100))) -> Pos(new_primModNatS1(vyv2920, vyv29100)) 248.92/165.29 new_rem(Neg(vyv2920), Neg(Zero)) -> new_error 248.92/165.29 new_rem(Neg(vyv2920), Neg(Succ(vyv29100))) -> Neg(new_primModNatS1(vyv2920, vyv29100)) 248.92/165.29 new_rem(Pos(vyv2920), Pos(Zero)) -> new_error 248.92/165.29 new_gcd0Gcd'11(True, vyv291, vyv292) -> vyv291 248.92/165.29 new_primModNatS1(Succ(Zero), Succ(vyv291000)) -> Succ(Zero) 248.92/165.29 new_primModNatS1(Zero, vyv29100) -> Zero 248.92/165.29 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 248.92/165.29 new_primModNatS1(Succ(Succ(vyv292000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv292000), Zero) 248.92/165.29 new_primModNatS01(vyv330, vyv331, Zero, Zero) -> new_primModNatS02(vyv330, vyv331) 248.92/165.29 new_primModNatS02(vyv330, vyv331) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv330), Succ(vyv331)), Succ(vyv331)) 248.92/165.29 new_primModNatS1(Succ(Succ(vyv292000)), Succ(vyv291000)) -> new_primModNatS01(vyv292000, vyv291000, vyv292000, vyv291000) 248.92/165.29 new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Zero) -> new_primModNatS02(vyv330, vyv331) 248.92/165.29 new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Succ(vyv3330)) -> new_primModNatS01(vyv330, vyv331, vyv3320, vyv3330) 248.92/165.29 new_primModNatS01(vyv330, vyv331, Zero, Succ(vyv3330)) -> Succ(Succ(vyv330)) 248.92/165.29 new_gcd1(True, vyv272, vyv271) -> new_error 248.92/165.29 new_gcd1(False, vyv272, vyv271) -> new_gcd0(vyv272, vyv271) 248.92/165.29 new_primEqInt(Neg(Succ(vyv242000))) -> False 248.92/165.29 new_primEqInt(Pos(Zero)) -> True 248.92/165.29 new_primEqInt(Pos(Succ(vyv242000))) -> False 248.92/165.29 new_primEqInt(Neg(Zero)) -> True 248.92/165.29 new_primQuotInt0(vyv2700, Neg(Zero)) -> new_error 248.92/165.29 new_primQuotInt0(vyv2700, Neg(Succ(vyv28700))) -> Pos(new_primDivNatS1(vyv2700, vyv28700)) 248.92/165.29 new_primQuotInt0(vyv2700, Pos(Zero)) -> new_error 248.92/165.29 new_primMulNat0(Succ(vyv23900), Zero) -> Zero 248.92/165.29 new_primMulNat0(Zero, Succ(vyv23800)) -> Zero 248.92/165.29 new_primMulNat0(Zero, Zero) -> Zero 248.92/165.29 new_primMulNat0(Succ(vyv23900), Succ(vyv23800)) -> new_primPlusNat0(new_primMulNat0(vyv23900, Succ(vyv23800)), Succ(vyv23800)) 248.92/165.29 new_primPlusNat0(Succ(vyv4000), Succ(vyv5000)) -> Succ(Succ(new_primPlusNat0(vyv4000, vyv5000))) 248.92/165.29 new_primPlusNat0(Zero, Succ(vyv5000)) -> Succ(vyv5000) 248.92/165.29 new_primPlusNat0(Zero, Zero) -> Zero 248.92/165.29 new_primPlusNat0(Succ(vyv4000), Zero) -> Succ(vyv4000) 248.92/165.29 new_sr7(vyv183) -> error([]) 248.92/165.29 new_esEs1(Integer(vyv2690)) -> new_primEqInt(vyv2690) 248.92/165.29 new_sr6(Neg(vyv1830)) -> Pos(new_primMulNat1(vyv1830)) 248.92/165.29 new_sr6(Pos(vyv1830)) -> Pos(new_primMulNat1(vyv1830)) 248.92/165.29 new_primMulNat1(Succ(vyv18300)) -> new_primPlusNat0(new_primMulNat2(vyv18300), Succ(vyv18300)) 248.92/165.29 new_primMulNat1(Zero) -> Zero 248.92/165.29 new_primMulNat2(Succ(vyv183000)) -> new_primPlusNat0(new_primMulNat3(vyv183000), Succ(Succ(vyv183000))) 248.92/165.29 new_primMulNat2(Zero) -> Zero 248.92/165.29 new_primMulNat3(Succ(vyv1830000)) -> new_primPlusNat0(new_primMulNat4(vyv1830000), Succ(Succ(Succ(vyv1830000)))) 248.92/165.29 new_primMulNat3(Zero) -> Zero 248.92/165.29 new_primMulNat4(Succ(vyv18300000)) -> new_primPlusNat0(new_primMulNat0(vyv18300000, Succ(Succ(Succ(Succ(vyv18300000))))), Succ(Succ(Succ(Succ(vyv18300000))))) 248.92/165.29 new_primMulNat4(Zero) -> Zero 248.92/165.29 new_sr9(vyv183) -> error([]) 248.92/165.29 new_sr10(vyv183) -> error([]) 248.92/165.29 new_sr0(vyv183, ty_Double) -> new_sr9(vyv183) 248.92/165.29 new_sr0(vyv183, ty_Int) -> new_sr6(vyv183) 248.92/165.29 new_sr0(vyv183, ty_Integer) -> new_sr7(vyv183) 248.92/165.29 new_sr0(vyv183, ty_Float) -> new_sr10(vyv183) 248.92/165.29 new_sr0(vyv183, app(ty_Ratio, bd)) -> new_sr5(vyv183, bd) 248.92/165.29 new_sr(vyv183, ty_Int) -> new_sr6(vyv183) 248.92/165.29 new_sr(vyv183, app(ty_Ratio, bd)) -> new_sr5(vyv183, bd) 248.92/165.29 new_sr(vyv183, ty_Integer) -> new_sr7(vyv183) 248.92/165.29 new_sr(vyv183, ty_Float) -> new_sr10(vyv183) 248.92/165.29 new_sr(vyv183, ty_Double) -> new_sr9(vyv183) 248.92/165.29 new_fromInt0 -> Pos(Succ(Succ(Zero))) 248.92/165.29 new_ms0(vyv240, Neg(Zero)) -> Neg(Succ(vyv240)) 248.92/165.29 new_ms0(vyv240, Pos(vyv2430)) -> Neg(new_primPlusNat0(Succ(vyv240), vyv2430)) 248.92/165.29 new_ms0(vyv240, Neg(Succ(vyv24300))) -> new_primMinusNat0(vyv24300, vyv240) 248.92/165.29 new_sr4(vyv239, vyv238, app(ty_Ratio, bf)) -> new_sr12(vyv239, vyv238, bf) 248.92/165.29 new_sr4(vyv239, vyv238, ty_Integer) -> new_sr8(vyv239, vyv238) 248.92/165.29 new_sr4(vyv239, vyv238, ty_Int) -> new_sr14(vyv239, vyv238) 248.92/165.29 new_sr4(vyv239, vyv238, ty_Double) -> new_sr11(vyv239, vyv238) 248.92/165.29 new_sr4(vyv239, vyv238, ty_Float) -> new_sr13(vyv239, vyv238) 248.92/165.29 new_sr13(vyv239, vyv238) -> error([]) 248.92/165.29 new_sr11(vyv239, vyv238) -> error([]) 248.92/165.29 new_sr12(:%(vyv2390, vyv2391), :%(vyv2380, vyv2381), bf) -> new_reduce2Reduce1(vyv2390, vyv2380, vyv2391, vyv2381, new_esEs2(vyv2391, vyv2381, bf), bf) 248.92/165.29 new_esEs2(vyv2391, vyv2381, ty_Int) -> new_esEs(new_sr14(vyv2391, vyv2381)) 248.92/165.29 new_esEs2(vyv2391, vyv2381, ty_Integer) -> new_esEs1(new_sr8(vyv2391, vyv2381)) 248.92/165.29 new_primMinusNat0(Succ(vyv2280), Succ(vyv244000)) -> new_primMinusNat0(vyv2280, vyv244000) 248.92/165.29 new_primMinusNat0(Zero, Zero) -> Pos(Zero) 248.92/165.29 new_primMinusNat0(Zero, Succ(vyv244000)) -> Neg(Succ(vyv244000)) 248.92/165.29 new_primMinusNat0(Succ(vyv2280), Zero) -> Pos(Succ(vyv2280)) 248.92/165.29 new_ms(vyv228, Neg(vyv2440)) -> Pos(new_primPlusNat0(Succ(vyv228), vyv2440)) 248.92/165.29 new_ms(vyv228, Pos(Succ(vyv24400))) -> new_primMinusNat0(vyv228, vyv24400) 248.92/165.29 new_ms(vyv228, Pos(Zero)) -> Pos(Succ(vyv228)) 248.92/165.29 new_sr1(vyv227, ty_Int) -> new_sr6(vyv227) 248.92/165.29 new_sr1(vyv227, ty_Integer) -> new_sr7(vyv227) 248.92/165.29 new_sr1(vyv227, app(ty_Ratio, be)) -> new_sr5(vyv227, be) 248.92/165.29 new_sr1(vyv227, ty_Float) -> new_sr10(vyv227) 248.92/165.29 new_sr1(vyv227, ty_Double) -> new_sr9(vyv227) 248.92/165.29 new_sr2(vyv227, vyv226, ty_Int) -> new_sr14(vyv227, vyv226) 248.92/165.29 new_sr2(vyv227, vyv226, ty_Double) -> new_sr11(vyv227, vyv226) 248.92/165.29 new_sr2(vyv227, vyv226, ty_Integer) -> new_sr8(vyv227, vyv226) 248.92/165.29 new_sr2(vyv227, vyv226, ty_Float) -> new_sr13(vyv227, vyv226) 248.92/165.29 new_sr2(vyv227, vyv226, app(ty_Ratio, be)) -> new_sr12(vyv227, vyv226, be) 248.92/165.29 248.92/165.29 The set Q consists of the following terms: 248.92/165.29 248.92/165.29 new_rem(Pos(x0), Pos(Succ(x1))) 248.92/165.29 new_quot1(x0, x1, x2, x3, ty_Integer) 248.92/165.29 new_primModNatS1(Succ(Zero), Succ(x0)) 248.92/165.29 new_ms0(x0, Pos(x1)) 248.92/165.29 new_sr(x0, app(ty_Ratio, x1)) 248.92/165.29 new_primMulNat4(Zero) 248.92/165.29 new_gcd1(False, x0, x1) 248.92/165.29 new_primEqInt(Pos(Zero)) 248.92/165.29 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 248.92/165.29 new_rem(Pos(x0), Neg(Succ(x1))) 248.92/165.29 new_rem(Neg(x0), Pos(Succ(x1))) 248.92/165.29 new_sr10(x0) 248.92/165.29 new_quot1(x0, x1, x2, x3, ty_Int) 248.92/165.29 new_sr0(x0, app(ty_Ratio, x1)) 248.92/165.29 new_quot2(x0, x1, x2, x3, ty_Integer) 248.92/165.29 new_primModNatS01(x0, x1, Succ(x2), Zero) 248.92/165.29 new_sr3(x0, ty_Integer) 248.92/165.29 new_primMulNat3(Zero) 248.92/165.29 new_primDivNatS02(x0, x1, Succ(x2), Zero) 248.92/165.29 new_sr(x0, ty_Float) 248.92/165.29 new_quot2(x0, x1, x2, x3, ty_Int) 248.92/165.29 new_gcd2(False, x0, x1) 248.92/165.29 new_primDivNatS1(Succ(Zero), Zero) 248.92/165.29 new_sr0(x0, ty_Double) 248.92/165.29 new_esEs0(x0, ty_Int) 248.92/165.29 new_sr14(Pos(x0), Pos(x1)) 248.92/165.29 new_sr3(x0, ty_Int) 248.92/165.29 new_primMulNat0(Zero, Zero) 248.92/165.29 new_sr4(x0, x1, ty_Double) 248.92/165.29 new_primPlusNat0(Succ(x0), Zero) 248.92/165.29 new_fromInt0 248.92/165.29 new_primMulNat2(Zero) 248.92/165.29 new_sr11(x0, x1) 248.92/165.29 new_primModNatS01(x0, x1, Zero, Zero) 248.92/165.29 new_esEs2(x0, x1, ty_Int) 248.92/165.29 new_gcd1(True, x0, x1) 248.92/165.29 new_sr13(x0, x1) 248.92/165.29 new_sr14(Pos(x0), Neg(x1)) 248.92/165.29 new_sr14(Neg(x0), Pos(x1)) 248.92/165.29 new_primDivNatS1(Succ(Succ(x0)), Succ(x1)) 248.92/165.29 new_sr1(x0, ty_Int) 248.92/165.29 new_primModNatS1(Zero, x0) 248.92/165.29 new_esEs(Pos(Succ(x0))) 248.92/165.29 new_primMulNat3(Succ(x0)) 248.92/165.29 new_sr1(x0, app(ty_Ratio, x1)) 248.92/165.29 new_primQuotInt(x0, Neg(Succ(x1))) 248.92/165.29 new_reduce2Reduce1(x0, x1, x2, x3, False, x4) 248.92/165.29 new_primMinusNat0(Zero, Zero) 248.92/165.29 new_primDivNatS1(Zero, x0) 248.92/165.29 new_primDivNatS02(x0, x1, Succ(x2), Succ(x3)) 248.92/165.29 new_primModNatS02(x0, x1) 248.92/165.29 new_primDivNatS1(Succ(Zero), Succ(x0)) 248.92/165.29 new_sr6(Neg(x0)) 248.92/165.29 new_gcd0Gcd'10(True, x0, x1) 248.92/165.29 new_primMulNat0(Succ(x0), Succ(x1)) 248.92/165.29 new_abs(Neg(Zero)) 248.92/165.29 new_ms(x0, Neg(x1)) 248.92/165.29 new_rem(Pos(x0), Neg(Zero)) 248.92/165.29 new_rem(Neg(x0), Pos(Zero)) 248.92/165.29 new_primMinusNatS2(Zero, Succ(x0)) 248.92/165.29 new_esEs(Neg(Succ(x0))) 248.92/165.29 new_error 248.92/165.29 new_primModNatS1(Succ(Zero), Zero) 248.92/165.29 new_primMulNat0(Zero, Succ(x0)) 248.92/165.29 new_sr3(x0, ty_Float) 248.92/165.29 new_quot(x0, x1, x2) 248.92/165.29 new_gcd2(True, x0, x1) 248.92/165.29 new_gcd0Gcd'11(True, x0, x1) 248.92/165.29 new_primEqInt(Neg(Zero)) 248.92/165.29 new_sr2(x0, x1, ty_Double) 248.92/165.29 new_primMulNat0(Succ(x0), Zero) 248.92/165.29 new_quot0(Neg(x0), x1, x2) 248.92/165.29 new_primMinusNatS2(Succ(x0), Succ(x1)) 248.92/165.29 new_sr4(x0, x1, app(ty_Ratio, x2)) 248.92/165.29 new_sr8(x0, x1) 248.92/165.29 new_primDivNatS01(x0, x1) 248.92/165.29 new_primDivNatS02(x0, x1, Zero, Succ(x2)) 248.92/165.29 new_primPlusNat0(Succ(x0), Succ(x1)) 248.92/165.29 new_sr1(x0, ty_Integer) 248.92/165.29 new_primPlusNat0(Zero, Zero) 248.92/165.29 new_sr1(x0, ty_Float) 248.92/165.29 new_primMinusNat0(Succ(x0), Succ(x1)) 248.92/165.29 new_sr12(:%(x0, x1), :%(x2, x3), x4) 248.92/165.29 new_abs(Neg(Succ(x0))) 248.92/165.29 new_sr1(x0, ty_Double) 248.92/165.29 new_sr3(x0, app(ty_Ratio, x1)) 248.92/165.29 new_sr7(x0) 248.92/165.29 new_gcd0(x0, x1) 248.92/165.29 new_sr(x0, ty_Integer) 248.92/165.29 new_sr0(x0, ty_Int) 248.92/165.29 new_primQuotInt0(x0, Pos(Succ(x1))) 248.92/165.29 new_sr4(x0, x1, ty_Integer) 248.92/165.29 new_sr5(:%(x0, x1), x2) 248.92/165.29 new_primMinusNatS2(Zero, Zero) 248.92/165.29 new_primMulNat1(Succ(x0)) 248.92/165.29 new_sr0(x0, ty_Integer) 248.92/165.29 new_ms(x0, Pos(Zero)) 248.92/165.29 new_abs(Pos(Succ(x0))) 248.92/165.29 new_sr4(x0, x1, ty_Int) 248.92/165.29 new_esEs(Pos(Zero)) 248.92/165.29 new_primQuotInt0(x0, Pos(Zero)) 248.92/165.29 new_sr(x0, ty_Int) 248.92/165.29 new_primEqInt(Neg(Succ(x0))) 248.92/165.29 new_primQuotInt(x0, Neg(Zero)) 248.92/165.29 new_primQuotInt0(x0, Neg(Zero)) 248.92/165.29 new_primQuotInt0(x0, Neg(Succ(x1))) 248.92/165.29 new_gcd(x0, x1) 248.92/165.29 new_quot0(Pos(x0), x1, x2) 248.92/165.29 new_primMinusNatS0(x0) 248.92/165.29 new_primPlusNat0(Zero, Succ(x0)) 248.92/165.29 new_sr2(x0, x1, app(ty_Ratio, x2)) 248.92/165.29 new_sr2(x0, x1, ty_Int) 248.92/165.29 new_primQuotInt(x0, Pos(Succ(x1))) 248.92/165.29 new_primDivNatS1(Succ(Succ(x0)), Zero) 248.92/165.29 new_rem(Pos(x0), Pos(Zero)) 248.92/165.29 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 248.92/165.29 new_primDivNatS02(x0, x1, Zero, Zero) 248.92/165.29 new_abs(Pos(Zero)) 248.92/165.29 new_gcd0Gcd'10(False, x0, x1) 248.92/165.29 new_ms(x0, Pos(Succ(x1))) 248.92/165.29 new_primMinusNatS1 248.92/165.29 new_esEs1(Integer(x0)) 248.92/165.29 new_ms0(x0, Neg(Zero)) 248.92/165.29 new_primMinusNat0(Succ(x0), Zero) 248.92/165.29 new_ms0(x0, Neg(Succ(x1))) 248.92/165.29 new_sr2(x0, x1, ty_Integer) 248.92/165.29 new_primModNatS01(x0, x1, Zero, Succ(x2)) 248.92/165.29 new_primMulNat2(Succ(x0)) 248.92/165.29 new_sr0(x0, ty_Float) 248.92/165.29 new_sr14(Neg(x0), Neg(x1)) 248.92/165.29 new_sr2(x0, x1, ty_Float) 248.92/165.29 new_primMinusNatS2(Succ(x0), Zero) 248.92/165.29 new_sr4(x0, x1, ty_Float) 248.92/165.29 new_sr6(Pos(x0)) 248.92/165.29 new_esEs2(x0, x1, ty_Integer) 248.92/165.29 new_primMulNat4(Succ(x0)) 248.92/165.29 new_rem(Neg(x0), Neg(Succ(x1))) 248.92/165.29 new_primEqInt(Pos(Succ(x0))) 248.92/165.29 new_primQuotInt(x0, Pos(Zero)) 248.92/165.29 new_gcd0Gcd'11(False, x0, x1) 248.92/165.29 new_sr9(x0) 248.92/165.29 new_primModNatS1(Succ(Succ(x0)), Zero) 248.92/165.29 new_sr(x0, ty_Double) 248.92/165.29 new_esEs0(x0, ty_Integer) 248.92/165.29 new_gcd0Gcd'00(x0, x1) 248.92/165.29 new_reduce2Reduce1(x0, x1, x2, x3, True, x4) 248.92/165.29 new_sr3(x0, ty_Double) 248.92/165.29 new_esEs(Neg(Zero)) 248.92/165.29 new_primMulNat1(Zero) 248.92/165.29 new_primMinusNat0(Zero, Succ(x0)) 248.92/165.29 new_rem(Neg(x0), Neg(Zero)) 248.92/165.29 248.92/165.29 We have to consider all minimal (P,Q,R)-chains. 248.92/165.29 ---------------------------------------- 248.92/165.29 248.92/165.29 (733) UsableRulesProof (EQUIVALENT) 248.92/165.29 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. 248.92/165.29 ---------------------------------------- 248.92/165.29 248.92/165.29 (734) 248.92/165.29 Obligation: 248.92/165.29 Q DP problem: 248.92/165.29 The TRS P consists of the following rules: 248.92/165.29 248.92/165.29 new_pr2F0G10(vyv248, vyv249, vyv250, Succ(Succ(vyv25100)), bb) -> new_pr2F0G10(vyv248, vyv249, vyv250, vyv25100, bb) 248.92/165.29 new_pr2F0G(vyv187, vyv183, Neg(Succ(Zero)), h) -> new_pr2F0G11(vyv187, vyv183, Zero, h) 248.92/165.29 new_pr2F0G(vyv187, vyv183, Pos(Succ(Succ(vyv222000))), h) -> new_pr2F0G1(vyv187, vyv183, Succ(vyv222000), vyv222000, h) 248.92/165.29 new_pr2F0(vyv183, Neg(Succ(Succ(vyv222000))), vyv187, h) -> new_pr2F0G10(vyv187, vyv183, Succ(vyv222000), vyv222000, h) 248.92/165.29 new_pr2F0(vyv183, Neg(Succ(Zero)), vyv187, h) -> new_pr2F0G11(vyv187, vyv183, Zero, h) 248.92/165.29 new_pr2F0G10(vyv248, vyv249, vyv250, Succ(Zero), bb) -> new_pr2F0G11(vyv248, vyv249, vyv250, bb) 248.92/165.29 new_pr2F0G(vyv187, vyv183, Neg(Succ(Succ(vyv222000))), h) -> new_pr2F0G10(vyv187, vyv183, Succ(vyv222000), vyv222000, h) 248.92/165.29 new_pr2F3(False, vyv227, vyv228, vyv244, vyv226, ba) -> new_pr2F0(vyv227, new_ms(vyv228, vyv244), new_sr2(vyv227, vyv226, ba), ba) 248.92/165.29 new_pr2F0(vyv183, Pos(Succ(Succ(vyv222000))), vyv187, h) -> new_pr2F0G1(vyv187, vyv183, Succ(vyv222000), vyv222000, h) 248.92/165.29 new_pr2F1(vyv239, vyv240, vyv243, vyv238, bc) -> new_pr2F30(new_esEs(new_ms0(vyv240, vyv243)), vyv239, vyv240, vyv243, vyv238, bc) 248.92/165.29 new_pr2F(vyv227, vyv228, vyv244, vyv226, ba) -> new_pr2F3(new_esEs(new_ms(vyv228, vyv244)), vyv227, vyv228, vyv244, vyv226, ba) 248.92/165.29 new_pr2F0G1(vyv226, vyv227, vyv228, Succ(Succ(vyv22900)), ba) -> new_pr2F0G1(vyv226, vyv227, vyv228, vyv22900, ba) 248.92/165.29 new_pr2F30(False, vyv239, vyv240, vyv243, vyv238, bc) -> new_pr2F0(vyv239, new_ms0(vyv240, vyv243), new_sr4(vyv239, vyv238, bc), bc) 248.92/165.29 new_pr2F0(vyv183, Neg(Zero), vyv187, h) -> new_pr2F0G(vyv187, new_sr0(vyv183, h), new_primQuotInt0(Zero, Pos(Succ(Succ(Zero)))), h) 248.92/165.29 new_pr2F0G11(vyv238, vyv239, vyv240, bc) -> new_pr2F1(vyv239, vyv240, Pos(Succ(Zero)), vyv238, bc) 248.92/165.29 new_pr2F0G(vyv187, vyv183, Neg(Zero), h) -> new_pr2F0G(vyv187, new_sr0(vyv183, h), new_primQuotInt0(Zero, Pos(Succ(Succ(Zero)))), h) 248.92/165.29 new_pr2F0G10(vyv248, vyv249, vyv250, Zero, bb) -> new_pr2F0G(vyv248, new_sr3(vyv249, bb), new_primQuotInt0(Succ(vyv250), Pos(Succ(Succ(Zero)))), bb) 248.92/165.29 new_pr2F0(vyv183, Pos(Succ(Zero)), vyv187, h) -> new_pr2F(vyv183, Zero, Pos(Succ(Zero)), vyv187, h) 248.92/165.29 new_pr2F0G1(vyv226, vyv227, vyv228, Succ(Zero), ba) -> new_pr2F(vyv227, vyv228, Pos(Succ(Zero)), vyv226, ba) 248.92/165.29 new_pr2F0G(vyv187, vyv183, Pos(Succ(Zero)), h) -> new_pr2F(vyv183, Zero, Pos(Succ(Zero)), vyv187, h) 248.92/165.29 new_pr2F0G(vyv187, vyv183, Pos(Zero), h) -> new_pr2F0G(vyv187, new_sr(vyv183, h), new_primQuotInt(Zero, Pos(Succ(Succ(Zero)))), h) 248.92/165.29 new_pr2F0G1(vyv226, vyv227, vyv228, Zero, ba) -> new_pr2F0G(vyv226, new_sr1(vyv227, ba), new_primQuotInt(Succ(vyv228), Pos(Succ(Succ(Zero)))), ba) 248.92/165.29 new_pr2F0(vyv183, Pos(Zero), vyv187, h) -> new_pr2F0G(vyv187, new_sr(vyv183, h), new_primQuotInt(Zero, Pos(Succ(Succ(Zero)))), h) 248.92/165.29 248.92/165.29 The TRS R consists of the following rules: 248.92/165.29 248.92/165.29 new_sr(vyv183, ty_Int) -> new_sr6(vyv183) 248.92/165.29 new_sr(vyv183, app(ty_Ratio, bd)) -> new_sr5(vyv183, bd) 248.92/165.29 new_sr(vyv183, ty_Integer) -> new_sr7(vyv183) 248.92/165.29 new_sr(vyv183, ty_Float) -> new_sr10(vyv183) 248.92/165.29 new_sr(vyv183, ty_Double) -> new_sr9(vyv183) 248.92/165.29 new_primQuotInt(vyv2700, Pos(Succ(vyv28400))) -> Pos(new_primDivNatS1(vyv2700, vyv28400)) 248.92/165.29 new_primDivNatS1(Zero, vyv28400) -> Zero 248.92/165.29 new_primDivNatS1(Succ(Succ(vyv270000)), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS0(vyv270000), Zero)) 248.92/165.29 new_primDivNatS1(Succ(Zero), Succ(vyv284000)) -> Zero 248.92/165.29 new_primDivNatS1(Succ(Succ(vyv270000)), Succ(vyv284000)) -> new_primDivNatS02(vyv270000, vyv284000, vyv270000, vyv284000) 248.92/165.29 new_primDivNatS1(Succ(Zero), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS1, Zero)) 248.92/165.29 new_primMinusNatS1 -> Zero 248.92/165.29 new_primDivNatS02(vyv310, vyv311, Zero, Zero) -> new_primDivNatS01(vyv310, vyv311) 248.92/165.29 new_primDivNatS02(vyv310, vyv311, Succ(vyv3120), Zero) -> new_primDivNatS01(vyv310, vyv311) 248.92/165.29 new_primDivNatS02(vyv310, vyv311, Zero, Succ(vyv3130)) -> Zero 248.92/165.29 new_primDivNatS02(vyv310, vyv311, Succ(vyv3120), Succ(vyv3130)) -> new_primDivNatS02(vyv310, vyv311, vyv3120, vyv3130) 248.92/165.29 new_primDivNatS01(vyv310, vyv311) -> Succ(new_primDivNatS1(new_primMinusNatS2(vyv310, vyv311), Succ(vyv311))) 248.92/165.29 new_primMinusNatS2(Zero, Succ(vyv3110)) -> Zero 248.92/165.29 new_primMinusNatS2(Succ(vyv3100), Zero) -> Succ(vyv3100) 248.92/165.29 new_primMinusNatS2(Zero, Zero) -> Zero 248.92/165.29 new_primMinusNatS2(Succ(vyv3100), Succ(vyv3110)) -> new_primMinusNatS2(vyv3100, vyv3110) 248.92/165.29 new_primMinusNatS0(vyv270000) -> Succ(vyv270000) 248.92/165.29 new_sr9(vyv183) -> error([]) 248.92/165.29 new_sr10(vyv183) -> error([]) 248.92/165.29 new_sr7(vyv183) -> error([]) 248.92/165.29 new_sr5(:%(vyv1830, vyv1831), bd) -> new_reduce2Reduce1(vyv1830, vyv1830, vyv1831, vyv1831, new_esEs0(vyv1831, bd), bd) 248.92/165.29 new_esEs0(vyv1831, ty_Int) -> new_esEs(new_sr6(vyv1831)) 248.92/165.29 new_esEs0(vyv1831, ty_Integer) -> new_esEs1(new_sr7(vyv1831)) 248.92/165.29 new_reduce2Reduce1(vyv264, vyv265, vyv266, vyv267, False, bh) -> :%(new_quot1(vyv264, vyv265, vyv266, vyv267, bh), new_quot2(vyv266, vyv267, vyv264, vyv265, bh)) 248.92/165.29 new_reduce2Reduce1(vyv264, vyv265, vyv266, vyv267, True, bh) -> error([]) 248.92/165.29 new_quot1(vyv264, vyv265, vyv266, vyv267, ty_Int) -> new_quot0(new_sr14(vyv264, vyv265), new_sr14(vyv264, vyv265), new_sr14(vyv266, vyv267)) 248.92/165.29 new_quot1(vyv264, vyv265, vyv266, vyv267, ty_Integer) -> new_quot(new_sr8(vyv264, vyv265), new_sr8(vyv264, vyv265), new_sr8(vyv266, vyv267)) 248.92/165.29 new_quot2(vyv266, vyv267, vyv264, vyv265, ty_Int) -> new_quot0(new_sr14(vyv266, vyv267), new_sr14(vyv264, vyv265), new_sr14(vyv266, vyv267)) 248.92/165.29 new_quot2(vyv266, vyv267, vyv264, vyv265, ty_Integer) -> new_quot(new_sr8(vyv266, vyv267), new_sr8(vyv264, vyv265), new_sr8(vyv266, vyv267)) 248.92/165.29 new_sr8(vyv239, vyv238) -> error([]) 248.92/165.29 new_quot(vyv273, vyv275, vyv274) -> error([]) 248.92/165.29 new_sr14(Pos(vyv2390), Neg(vyv2380)) -> Neg(new_primMulNat0(vyv2390, vyv2380)) 248.92/165.29 new_sr14(Neg(vyv2390), Pos(vyv2380)) -> Neg(new_primMulNat0(vyv2390, vyv2380)) 248.92/165.29 new_sr14(Neg(vyv2390), Neg(vyv2380)) -> Pos(new_primMulNat0(vyv2390, vyv2380)) 248.92/165.29 new_sr14(Pos(vyv2390), Pos(vyv2380)) -> Pos(new_primMulNat0(vyv2390, vyv2380)) 248.92/165.29 new_quot0(Neg(vyv2700), vyv272, vyv271) -> new_primQuotInt0(vyv2700, new_gcd(vyv272, vyv271)) 248.92/165.29 new_quot0(Pos(vyv2700), vyv272, vyv271) -> new_primQuotInt(vyv2700, new_gcd(vyv272, vyv271)) 248.92/165.29 new_gcd(vyv272, vyv271) -> new_gcd2(new_esEs(vyv272), vyv272, vyv271) 248.92/165.29 new_primQuotInt(vyv2700, Neg(Zero)) -> new_error 248.92/165.29 new_primQuotInt(vyv2700, Pos(Zero)) -> new_error 248.92/165.29 new_primQuotInt(vyv2700, Neg(Succ(vyv28400))) -> Neg(new_primDivNatS1(vyv2700, vyv28400)) 248.92/165.29 new_error -> error([]) 248.92/165.29 new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) 248.92/165.29 new_esEs(Pos(Succ(vyv24100))) -> new_primEqInt(Pos(Succ(vyv24100))) 248.92/165.29 new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) 248.92/165.29 new_esEs(Neg(Succ(vyv24100))) -> new_primEqInt(Neg(Succ(vyv24100))) 248.92/165.29 new_gcd2(True, vyv272, vyv271) -> new_gcd1(new_esEs(vyv271), vyv272, vyv271) 248.92/165.29 new_gcd2(False, vyv272, vyv271) -> new_gcd0(vyv272, vyv271) 248.92/165.29 new_gcd0(vyv272, vyv271) -> new_gcd0Gcd'10(new_esEs(new_abs(vyv271)), vyv272, vyv271) 248.92/165.29 new_abs(Neg(Zero)) -> Neg(Zero) 248.92/165.29 new_abs(Neg(Succ(vyv27100))) -> Pos(Succ(vyv27100)) 248.92/165.29 new_abs(Pos(Succ(vyv27100))) -> Pos(Succ(vyv27100)) 248.92/165.29 new_abs(Pos(Zero)) -> Pos(Zero) 248.92/165.29 new_gcd0Gcd'10(True, vyv272, vyv271) -> new_abs(vyv272) 248.92/165.29 new_gcd0Gcd'10(False, vyv272, vyv271) -> new_gcd0Gcd'00(new_abs(vyv272), new_abs(vyv271)) 248.92/165.29 new_gcd0Gcd'00(vyv292, vyv291) -> new_gcd0Gcd'11(new_esEs(new_rem(vyv292, vyv291)), vyv291, vyv292) 248.92/165.29 new_gcd0Gcd'11(False, vyv291, vyv292) -> new_gcd0Gcd'00(vyv291, new_rem(vyv292, vyv291)) 248.92/165.29 new_rem(Pos(vyv2920), Neg(Zero)) -> new_error 248.92/165.29 new_rem(Neg(vyv2920), Pos(Zero)) -> new_error 248.92/165.29 new_rem(Pos(vyv2920), Neg(Succ(vyv29100))) -> Pos(new_primModNatS1(vyv2920, vyv29100)) 248.92/165.29 new_rem(Neg(vyv2920), Pos(Succ(vyv29100))) -> Neg(new_primModNatS1(vyv2920, vyv29100)) 248.92/165.29 new_rem(Pos(vyv2920), Pos(Succ(vyv29100))) -> Pos(new_primModNatS1(vyv2920, vyv29100)) 248.92/165.29 new_rem(Neg(vyv2920), Neg(Zero)) -> new_error 248.92/165.29 new_rem(Neg(vyv2920), Neg(Succ(vyv29100))) -> Neg(new_primModNatS1(vyv2920, vyv29100)) 248.92/165.29 new_rem(Pos(vyv2920), Pos(Zero)) -> new_error 248.92/165.29 new_gcd0Gcd'11(True, vyv291, vyv292) -> vyv291 248.92/165.29 new_primModNatS1(Succ(Zero), Succ(vyv291000)) -> Succ(Zero) 248.92/165.29 new_primModNatS1(Zero, vyv29100) -> Zero 248.92/165.29 new_primModNatS1(Succ(Succ(vyv292000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv292000), Zero) 248.92/165.29 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 248.92/165.29 new_primModNatS1(Succ(Succ(vyv292000)), Succ(vyv291000)) -> new_primModNatS01(vyv292000, vyv291000, vyv292000, vyv291000) 248.92/165.29 new_primModNatS01(vyv330, vyv331, Zero, Zero) -> new_primModNatS02(vyv330, vyv331) 248.92/165.29 new_primModNatS02(vyv330, vyv331) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv330), Succ(vyv331)), Succ(vyv331)) 248.92/165.29 new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Zero) -> new_primModNatS02(vyv330, vyv331) 248.92/165.29 new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Succ(vyv3330)) -> new_primModNatS01(vyv330, vyv331, vyv3320, vyv3330) 248.92/165.29 new_primModNatS01(vyv330, vyv331, Zero, Succ(vyv3330)) -> Succ(Succ(vyv330)) 248.92/165.29 new_gcd1(True, vyv272, vyv271) -> new_error 248.92/165.29 new_gcd1(False, vyv272, vyv271) -> new_gcd0(vyv272, vyv271) 248.92/165.29 new_primEqInt(Neg(Succ(vyv242000))) -> False 248.92/165.29 new_primEqInt(Pos(Zero)) -> True 248.92/165.29 new_primEqInt(Pos(Succ(vyv242000))) -> False 248.92/165.29 new_primEqInt(Neg(Zero)) -> True 248.92/165.29 new_primQuotInt0(vyv2700, Pos(Succ(vyv28700))) -> Neg(new_primDivNatS1(vyv2700, vyv28700)) 248.92/165.29 new_primQuotInt0(vyv2700, Neg(Zero)) -> new_error 248.92/165.29 new_primQuotInt0(vyv2700, Neg(Succ(vyv28700))) -> Pos(new_primDivNatS1(vyv2700, vyv28700)) 248.92/165.29 new_primQuotInt0(vyv2700, Pos(Zero)) -> new_error 248.92/165.29 new_primMulNat0(Succ(vyv23900), Zero) -> Zero 248.92/165.29 new_primMulNat0(Zero, Succ(vyv23800)) -> Zero 248.92/165.29 new_primMulNat0(Zero, Zero) -> Zero 248.92/165.29 new_primMulNat0(Succ(vyv23900), Succ(vyv23800)) -> new_primPlusNat0(new_primMulNat0(vyv23900, Succ(vyv23800)), Succ(vyv23800)) 248.92/165.29 new_primPlusNat0(Succ(vyv4000), Succ(vyv5000)) -> Succ(Succ(new_primPlusNat0(vyv4000, vyv5000))) 248.92/165.29 new_primPlusNat0(Zero, Succ(vyv5000)) -> Succ(vyv5000) 248.92/165.29 new_primPlusNat0(Zero, Zero) -> Zero 248.92/165.29 new_primPlusNat0(Succ(vyv4000), Zero) -> Succ(vyv4000) 248.92/165.29 new_esEs1(Integer(vyv2690)) -> new_primEqInt(vyv2690) 248.92/165.29 new_sr6(Neg(vyv1830)) -> Pos(new_primMulNat1(vyv1830)) 248.92/165.29 new_sr6(Pos(vyv1830)) -> Pos(new_primMulNat1(vyv1830)) 248.92/165.29 new_primMulNat1(Succ(vyv18300)) -> new_primPlusNat0(new_primMulNat2(vyv18300), Succ(vyv18300)) 248.92/165.29 new_primMulNat1(Zero) -> Zero 248.92/165.29 new_primMulNat2(Succ(vyv183000)) -> new_primPlusNat0(new_primMulNat3(vyv183000), Succ(Succ(vyv183000))) 248.92/165.29 new_primMulNat2(Zero) -> Zero 248.92/165.29 new_primMulNat3(Succ(vyv1830000)) -> new_primPlusNat0(new_primMulNat4(vyv1830000), Succ(Succ(Succ(vyv1830000)))) 248.92/165.29 new_primMulNat3(Zero) -> Zero 248.92/165.29 new_primMulNat4(Succ(vyv18300000)) -> new_primPlusNat0(new_primMulNat0(vyv18300000, Succ(Succ(Succ(Succ(vyv18300000))))), Succ(Succ(Succ(Succ(vyv18300000))))) 248.92/165.29 new_primMulNat4(Zero) -> Zero 248.92/165.29 new_sr1(vyv227, ty_Int) -> new_sr6(vyv227) 248.92/165.29 new_sr1(vyv227, ty_Integer) -> new_sr7(vyv227) 248.92/165.29 new_sr1(vyv227, app(ty_Ratio, be)) -> new_sr5(vyv227, be) 248.92/165.29 new_sr1(vyv227, ty_Float) -> new_sr10(vyv227) 248.92/165.29 new_sr1(vyv227, ty_Double) -> new_sr9(vyv227) 248.92/165.29 new_sr3(vyv249, ty_Float) -> new_sr10(vyv249) 248.92/165.29 new_sr3(vyv249, ty_Double) -> new_sr9(vyv249) 248.92/165.29 new_sr3(vyv249, ty_Int) -> new_sr6(vyv249) 248.92/165.29 new_sr3(vyv249, ty_Integer) -> new_sr7(vyv249) 248.92/165.29 new_sr3(vyv249, app(ty_Ratio, bg)) -> new_sr5(vyv249, bg) 248.92/165.29 new_sr0(vyv183, ty_Double) -> new_sr9(vyv183) 248.92/165.29 new_sr0(vyv183, ty_Int) -> new_sr6(vyv183) 248.92/165.29 new_sr0(vyv183, ty_Integer) -> new_sr7(vyv183) 248.92/165.29 new_sr0(vyv183, ty_Float) -> new_sr10(vyv183) 248.92/165.29 new_sr0(vyv183, app(ty_Ratio, bd)) -> new_sr5(vyv183, bd) 248.92/165.29 new_ms0(vyv240, Neg(Zero)) -> Neg(Succ(vyv240)) 248.92/165.29 new_ms0(vyv240, Pos(vyv2430)) -> Neg(new_primPlusNat0(Succ(vyv240), vyv2430)) 248.92/165.29 new_ms0(vyv240, Neg(Succ(vyv24300))) -> new_primMinusNat0(vyv24300, vyv240) 248.92/165.29 new_sr4(vyv239, vyv238, app(ty_Ratio, bf)) -> new_sr12(vyv239, vyv238, bf) 248.92/165.29 new_sr4(vyv239, vyv238, ty_Integer) -> new_sr8(vyv239, vyv238) 248.92/165.29 new_sr4(vyv239, vyv238, ty_Int) -> new_sr14(vyv239, vyv238) 248.92/165.29 new_sr4(vyv239, vyv238, ty_Double) -> new_sr11(vyv239, vyv238) 248.92/165.29 new_sr4(vyv239, vyv238, ty_Float) -> new_sr13(vyv239, vyv238) 248.92/165.29 new_sr13(vyv239, vyv238) -> error([]) 248.92/165.29 new_sr11(vyv239, vyv238) -> error([]) 248.92/165.29 new_sr12(:%(vyv2390, vyv2391), :%(vyv2380, vyv2381), bf) -> new_reduce2Reduce1(vyv2390, vyv2380, vyv2391, vyv2381, new_esEs2(vyv2391, vyv2381, bf), bf) 248.92/165.29 new_esEs2(vyv2391, vyv2381, ty_Int) -> new_esEs(new_sr14(vyv2391, vyv2381)) 248.92/165.29 new_esEs2(vyv2391, vyv2381, ty_Integer) -> new_esEs1(new_sr8(vyv2391, vyv2381)) 248.92/165.29 new_primMinusNat0(Succ(vyv2280), Succ(vyv244000)) -> new_primMinusNat0(vyv2280, vyv244000) 248.92/165.29 new_primMinusNat0(Zero, Zero) -> Pos(Zero) 248.92/165.29 new_primMinusNat0(Zero, Succ(vyv244000)) -> Neg(Succ(vyv244000)) 248.92/165.29 new_primMinusNat0(Succ(vyv2280), Zero) -> Pos(Succ(vyv2280)) 248.92/165.29 new_ms(vyv228, Neg(vyv2440)) -> Pos(new_primPlusNat0(Succ(vyv228), vyv2440)) 248.92/165.29 new_ms(vyv228, Pos(Succ(vyv24400))) -> new_primMinusNat0(vyv228, vyv24400) 248.92/165.29 new_ms(vyv228, Pos(Zero)) -> Pos(Succ(vyv228)) 248.92/165.29 new_sr2(vyv227, vyv226, ty_Int) -> new_sr14(vyv227, vyv226) 248.92/165.29 new_sr2(vyv227, vyv226, ty_Double) -> new_sr11(vyv227, vyv226) 248.92/165.29 new_sr2(vyv227, vyv226, ty_Integer) -> new_sr8(vyv227, vyv226) 248.92/165.29 new_sr2(vyv227, vyv226, ty_Float) -> new_sr13(vyv227, vyv226) 248.92/165.29 new_sr2(vyv227, vyv226, app(ty_Ratio, be)) -> new_sr12(vyv227, vyv226, be) 248.92/165.29 248.92/165.29 The set Q consists of the following terms: 248.92/165.29 248.92/165.29 new_rem(Pos(x0), Pos(Succ(x1))) 248.92/165.29 new_quot1(x0, x1, x2, x3, ty_Integer) 248.92/165.29 new_primModNatS1(Succ(Zero), Succ(x0)) 248.92/165.29 new_ms0(x0, Pos(x1)) 248.92/165.29 new_sr(x0, app(ty_Ratio, x1)) 248.92/165.29 new_primMulNat4(Zero) 248.92/165.29 new_gcd1(False, x0, x1) 248.92/165.29 new_primEqInt(Pos(Zero)) 248.92/165.29 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 248.92/165.29 new_rem(Pos(x0), Neg(Succ(x1))) 248.92/165.29 new_rem(Neg(x0), Pos(Succ(x1))) 248.92/165.29 new_sr10(x0) 248.92/165.29 new_quot1(x0, x1, x2, x3, ty_Int) 248.92/165.29 new_sr0(x0, app(ty_Ratio, x1)) 248.92/165.29 new_quot2(x0, x1, x2, x3, ty_Integer) 248.92/165.29 new_primModNatS01(x0, x1, Succ(x2), Zero) 248.92/165.29 new_sr3(x0, ty_Integer) 248.92/165.29 new_primMulNat3(Zero) 248.92/165.29 new_primDivNatS02(x0, x1, Succ(x2), Zero) 248.92/165.29 new_sr(x0, ty_Float) 248.92/165.29 new_quot2(x0, x1, x2, x3, ty_Int) 248.92/165.29 new_gcd2(False, x0, x1) 248.92/165.29 new_primDivNatS1(Succ(Zero), Zero) 248.92/165.29 new_sr0(x0, ty_Double) 248.92/165.29 new_esEs0(x0, ty_Int) 248.92/165.29 new_sr14(Pos(x0), Pos(x1)) 248.92/165.29 new_sr3(x0, ty_Int) 248.92/165.29 new_primMulNat0(Zero, Zero) 248.92/165.29 new_sr4(x0, x1, ty_Double) 248.92/165.29 new_primPlusNat0(Succ(x0), Zero) 248.92/165.29 new_fromInt0 248.92/165.29 new_primMulNat2(Zero) 248.92/165.29 new_sr11(x0, x1) 248.92/165.29 new_primModNatS01(x0, x1, Zero, Zero) 248.92/165.29 new_esEs2(x0, x1, ty_Int) 248.92/165.29 new_gcd1(True, x0, x1) 248.92/165.29 new_sr13(x0, x1) 248.92/165.29 new_sr14(Pos(x0), Neg(x1)) 248.92/165.29 new_sr14(Neg(x0), Pos(x1)) 248.92/165.29 new_primDivNatS1(Succ(Succ(x0)), Succ(x1)) 248.92/165.29 new_sr1(x0, ty_Int) 248.92/165.29 new_primModNatS1(Zero, x0) 248.92/165.29 new_esEs(Pos(Succ(x0))) 248.92/165.29 new_primMulNat3(Succ(x0)) 248.92/165.29 new_sr1(x0, app(ty_Ratio, x1)) 248.92/165.29 new_primQuotInt(x0, Neg(Succ(x1))) 248.92/165.29 new_reduce2Reduce1(x0, x1, x2, x3, False, x4) 248.92/165.29 new_primMinusNat0(Zero, Zero) 248.92/165.29 new_primDivNatS1(Zero, x0) 248.92/165.29 new_primDivNatS02(x0, x1, Succ(x2), Succ(x3)) 248.92/165.29 new_primModNatS02(x0, x1) 248.92/165.29 new_primDivNatS1(Succ(Zero), Succ(x0)) 248.92/165.29 new_sr6(Neg(x0)) 248.92/165.29 new_gcd0Gcd'10(True, x0, x1) 248.92/165.29 new_primMulNat0(Succ(x0), Succ(x1)) 248.92/165.29 new_abs(Neg(Zero)) 248.92/165.29 new_ms(x0, Neg(x1)) 248.92/165.29 new_rem(Pos(x0), Neg(Zero)) 248.92/165.29 new_rem(Neg(x0), Pos(Zero)) 248.92/165.29 new_primMinusNatS2(Zero, Succ(x0)) 248.92/165.29 new_esEs(Neg(Succ(x0))) 248.92/165.29 new_error 248.92/165.29 new_primModNatS1(Succ(Zero), Zero) 248.92/165.29 new_primMulNat0(Zero, Succ(x0)) 248.92/165.29 new_sr3(x0, ty_Float) 248.92/165.29 new_quot(x0, x1, x2) 248.92/165.29 new_gcd2(True, x0, x1) 248.92/165.29 new_gcd0Gcd'11(True, x0, x1) 248.92/165.29 new_primEqInt(Neg(Zero)) 248.92/165.29 new_sr2(x0, x1, ty_Double) 248.92/165.29 new_primMulNat0(Succ(x0), Zero) 248.92/165.29 new_quot0(Neg(x0), x1, x2) 248.92/165.29 new_primMinusNatS2(Succ(x0), Succ(x1)) 248.92/165.29 new_sr4(x0, x1, app(ty_Ratio, x2)) 248.92/165.29 new_sr8(x0, x1) 248.92/165.29 new_primDivNatS01(x0, x1) 248.92/165.29 new_primDivNatS02(x0, x1, Zero, Succ(x2)) 248.92/165.29 new_primPlusNat0(Succ(x0), Succ(x1)) 248.92/165.29 new_sr1(x0, ty_Integer) 248.92/165.29 new_primPlusNat0(Zero, Zero) 248.92/165.29 new_sr1(x0, ty_Float) 248.92/165.29 new_primMinusNat0(Succ(x0), Succ(x1)) 248.92/165.29 new_sr12(:%(x0, x1), :%(x2, x3), x4) 248.92/165.29 new_abs(Neg(Succ(x0))) 248.92/165.29 new_sr1(x0, ty_Double) 248.92/165.29 new_sr3(x0, app(ty_Ratio, x1)) 248.92/165.29 new_sr7(x0) 248.92/165.29 new_gcd0(x0, x1) 248.92/165.29 new_sr(x0, ty_Integer) 248.92/165.29 new_sr0(x0, ty_Int) 248.92/165.29 new_primQuotInt0(x0, Pos(Succ(x1))) 248.92/165.29 new_sr4(x0, x1, ty_Integer) 248.92/165.29 new_sr5(:%(x0, x1), x2) 248.92/165.29 new_primMinusNatS2(Zero, Zero) 248.92/165.29 new_primMulNat1(Succ(x0)) 248.92/165.29 new_sr0(x0, ty_Integer) 248.92/165.29 new_ms(x0, Pos(Zero)) 248.92/165.29 new_abs(Pos(Succ(x0))) 248.92/165.29 new_sr4(x0, x1, ty_Int) 248.92/165.29 new_esEs(Pos(Zero)) 248.92/165.29 new_primQuotInt0(x0, Pos(Zero)) 248.92/165.29 new_sr(x0, ty_Int) 248.92/165.29 new_primEqInt(Neg(Succ(x0))) 248.92/165.29 new_primQuotInt(x0, Neg(Zero)) 248.92/165.29 new_primQuotInt0(x0, Neg(Zero)) 248.92/165.29 new_primQuotInt0(x0, Neg(Succ(x1))) 248.92/165.29 new_gcd(x0, x1) 248.92/165.29 new_quot0(Pos(x0), x1, x2) 248.92/165.29 new_primMinusNatS0(x0) 248.92/165.29 new_primPlusNat0(Zero, Succ(x0)) 248.92/165.29 new_sr2(x0, x1, app(ty_Ratio, x2)) 248.92/165.29 new_sr2(x0, x1, ty_Int) 248.92/165.29 new_primQuotInt(x0, Pos(Succ(x1))) 248.92/165.29 new_primDivNatS1(Succ(Succ(x0)), Zero) 248.92/165.29 new_rem(Pos(x0), Pos(Zero)) 248.92/165.29 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 248.92/165.29 new_primDivNatS02(x0, x1, Zero, Zero) 248.92/165.29 new_abs(Pos(Zero)) 248.92/165.29 new_gcd0Gcd'10(False, x0, x1) 248.92/165.29 new_ms(x0, Pos(Succ(x1))) 248.92/165.29 new_primMinusNatS1 248.92/165.29 new_esEs1(Integer(x0)) 248.92/165.29 new_ms0(x0, Neg(Zero)) 248.92/165.29 new_primMinusNat0(Succ(x0), Zero) 248.92/165.29 new_ms0(x0, Neg(Succ(x1))) 248.92/165.29 new_sr2(x0, x1, ty_Integer) 248.92/165.29 new_primModNatS01(x0, x1, Zero, Succ(x2)) 248.92/165.29 new_primMulNat2(Succ(x0)) 248.92/165.29 new_sr0(x0, ty_Float) 248.92/165.29 new_sr14(Neg(x0), Neg(x1)) 248.92/165.29 new_sr2(x0, x1, ty_Float) 248.92/165.29 new_primMinusNatS2(Succ(x0), Zero) 248.92/165.29 new_sr4(x0, x1, ty_Float) 248.92/165.29 new_sr6(Pos(x0)) 248.92/165.29 new_esEs2(x0, x1, ty_Integer) 248.92/165.29 new_primMulNat4(Succ(x0)) 248.92/165.29 new_rem(Neg(x0), Neg(Succ(x1))) 248.92/165.29 new_primEqInt(Pos(Succ(x0))) 248.92/165.29 new_primQuotInt(x0, Pos(Zero)) 248.92/165.29 new_gcd0Gcd'11(False, x0, x1) 248.92/165.29 new_sr9(x0) 248.92/165.29 new_primModNatS1(Succ(Succ(x0)), Zero) 248.92/165.29 new_sr(x0, ty_Double) 248.92/165.29 new_esEs0(x0, ty_Integer) 248.92/165.29 new_gcd0Gcd'00(x0, x1) 248.92/165.29 new_reduce2Reduce1(x0, x1, x2, x3, True, x4) 248.92/165.29 new_sr3(x0, ty_Double) 248.92/165.29 new_esEs(Neg(Zero)) 248.92/165.29 new_primMulNat1(Zero) 248.92/165.29 new_primMinusNat0(Zero, Succ(x0)) 248.92/165.29 new_rem(Neg(x0), Neg(Zero)) 248.92/165.29 248.92/165.29 We have to consider all minimal (P,Q,R)-chains. 248.92/165.29 ---------------------------------------- 248.92/165.29 248.92/165.29 (735) QReductionProof (EQUIVALENT) 248.92/165.29 We deleted the following terms from Q as each root-symbol of these terms does neither occur in P nor in R.[THIEMANN]. 248.92/165.29 248.92/165.29 new_fromInt0 248.92/165.29 248.92/165.29 248.92/165.29 ---------------------------------------- 248.92/165.29 248.92/165.29 (736) 248.92/165.29 Obligation: 248.92/165.29 Q DP problem: 248.92/165.29 The TRS P consists of the following rules: 248.92/165.29 248.92/165.29 new_pr2F0G10(vyv248, vyv249, vyv250, Succ(Succ(vyv25100)), bb) -> new_pr2F0G10(vyv248, vyv249, vyv250, vyv25100, bb) 248.92/165.29 new_pr2F0G(vyv187, vyv183, Neg(Succ(Zero)), h) -> new_pr2F0G11(vyv187, vyv183, Zero, h) 248.92/165.29 new_pr2F0G(vyv187, vyv183, Pos(Succ(Succ(vyv222000))), h) -> new_pr2F0G1(vyv187, vyv183, Succ(vyv222000), vyv222000, h) 248.92/165.29 new_pr2F0(vyv183, Neg(Succ(Succ(vyv222000))), vyv187, h) -> new_pr2F0G10(vyv187, vyv183, Succ(vyv222000), vyv222000, h) 248.92/165.29 new_pr2F0(vyv183, Neg(Succ(Zero)), vyv187, h) -> new_pr2F0G11(vyv187, vyv183, Zero, h) 248.92/165.29 new_pr2F0G10(vyv248, vyv249, vyv250, Succ(Zero), bb) -> new_pr2F0G11(vyv248, vyv249, vyv250, bb) 248.92/165.29 new_pr2F0G(vyv187, vyv183, Neg(Succ(Succ(vyv222000))), h) -> new_pr2F0G10(vyv187, vyv183, Succ(vyv222000), vyv222000, h) 248.92/165.29 new_pr2F3(False, vyv227, vyv228, vyv244, vyv226, ba) -> new_pr2F0(vyv227, new_ms(vyv228, vyv244), new_sr2(vyv227, vyv226, ba), ba) 248.92/165.29 new_pr2F0(vyv183, Pos(Succ(Succ(vyv222000))), vyv187, h) -> new_pr2F0G1(vyv187, vyv183, Succ(vyv222000), vyv222000, h) 248.92/165.29 new_pr2F1(vyv239, vyv240, vyv243, vyv238, bc) -> new_pr2F30(new_esEs(new_ms0(vyv240, vyv243)), vyv239, vyv240, vyv243, vyv238, bc) 248.92/165.29 new_pr2F(vyv227, vyv228, vyv244, vyv226, ba) -> new_pr2F3(new_esEs(new_ms(vyv228, vyv244)), vyv227, vyv228, vyv244, vyv226, ba) 248.92/165.29 new_pr2F0G1(vyv226, vyv227, vyv228, Succ(Succ(vyv22900)), ba) -> new_pr2F0G1(vyv226, vyv227, vyv228, vyv22900, ba) 248.92/165.29 new_pr2F30(False, vyv239, vyv240, vyv243, vyv238, bc) -> new_pr2F0(vyv239, new_ms0(vyv240, vyv243), new_sr4(vyv239, vyv238, bc), bc) 248.92/165.29 new_pr2F0(vyv183, Neg(Zero), vyv187, h) -> new_pr2F0G(vyv187, new_sr0(vyv183, h), new_primQuotInt0(Zero, Pos(Succ(Succ(Zero)))), h) 248.92/165.29 new_pr2F0G11(vyv238, vyv239, vyv240, bc) -> new_pr2F1(vyv239, vyv240, Pos(Succ(Zero)), vyv238, bc) 248.92/165.29 new_pr2F0G(vyv187, vyv183, Neg(Zero), h) -> new_pr2F0G(vyv187, new_sr0(vyv183, h), new_primQuotInt0(Zero, Pos(Succ(Succ(Zero)))), h) 248.92/165.29 new_pr2F0G10(vyv248, vyv249, vyv250, Zero, bb) -> new_pr2F0G(vyv248, new_sr3(vyv249, bb), new_primQuotInt0(Succ(vyv250), Pos(Succ(Succ(Zero)))), bb) 248.92/165.29 new_pr2F0(vyv183, Pos(Succ(Zero)), vyv187, h) -> new_pr2F(vyv183, Zero, Pos(Succ(Zero)), vyv187, h) 248.92/165.29 new_pr2F0G1(vyv226, vyv227, vyv228, Succ(Zero), ba) -> new_pr2F(vyv227, vyv228, Pos(Succ(Zero)), vyv226, ba) 248.92/165.29 new_pr2F0G(vyv187, vyv183, Pos(Succ(Zero)), h) -> new_pr2F(vyv183, Zero, Pos(Succ(Zero)), vyv187, h) 248.92/165.29 new_pr2F0G(vyv187, vyv183, Pos(Zero), h) -> new_pr2F0G(vyv187, new_sr(vyv183, h), new_primQuotInt(Zero, Pos(Succ(Succ(Zero)))), h) 248.92/165.29 new_pr2F0G1(vyv226, vyv227, vyv228, Zero, ba) -> new_pr2F0G(vyv226, new_sr1(vyv227, ba), new_primQuotInt(Succ(vyv228), Pos(Succ(Succ(Zero)))), ba) 248.92/165.29 new_pr2F0(vyv183, Pos(Zero), vyv187, h) -> new_pr2F0G(vyv187, new_sr(vyv183, h), new_primQuotInt(Zero, Pos(Succ(Succ(Zero)))), h) 248.92/165.29 248.92/165.29 The TRS R consists of the following rules: 248.92/165.29 248.92/165.29 new_sr(vyv183, ty_Int) -> new_sr6(vyv183) 248.92/165.29 new_sr(vyv183, app(ty_Ratio, bd)) -> new_sr5(vyv183, bd) 248.92/165.29 new_sr(vyv183, ty_Integer) -> new_sr7(vyv183) 248.92/165.29 new_sr(vyv183, ty_Float) -> new_sr10(vyv183) 248.92/165.29 new_sr(vyv183, ty_Double) -> new_sr9(vyv183) 248.92/165.29 new_primQuotInt(vyv2700, Pos(Succ(vyv28400))) -> Pos(new_primDivNatS1(vyv2700, vyv28400)) 248.92/165.29 new_primDivNatS1(Zero, vyv28400) -> Zero 248.92/165.29 new_primDivNatS1(Succ(Succ(vyv270000)), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS0(vyv270000), Zero)) 248.92/165.29 new_primDivNatS1(Succ(Zero), Succ(vyv284000)) -> Zero 248.92/165.29 new_primDivNatS1(Succ(Succ(vyv270000)), Succ(vyv284000)) -> new_primDivNatS02(vyv270000, vyv284000, vyv270000, vyv284000) 248.92/165.29 new_primDivNatS1(Succ(Zero), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS1, Zero)) 248.92/165.29 new_primMinusNatS1 -> Zero 248.92/165.29 new_primDivNatS02(vyv310, vyv311, Zero, Zero) -> new_primDivNatS01(vyv310, vyv311) 248.92/165.29 new_primDivNatS02(vyv310, vyv311, Succ(vyv3120), Zero) -> new_primDivNatS01(vyv310, vyv311) 248.92/165.29 new_primDivNatS02(vyv310, vyv311, Zero, Succ(vyv3130)) -> Zero 248.92/165.29 new_primDivNatS02(vyv310, vyv311, Succ(vyv3120), Succ(vyv3130)) -> new_primDivNatS02(vyv310, vyv311, vyv3120, vyv3130) 248.92/165.29 new_primDivNatS01(vyv310, vyv311) -> Succ(new_primDivNatS1(new_primMinusNatS2(vyv310, vyv311), Succ(vyv311))) 248.92/165.29 new_primMinusNatS2(Zero, Succ(vyv3110)) -> Zero 248.92/165.29 new_primMinusNatS2(Succ(vyv3100), Zero) -> Succ(vyv3100) 248.92/165.29 new_primMinusNatS2(Zero, Zero) -> Zero 248.92/165.29 new_primMinusNatS2(Succ(vyv3100), Succ(vyv3110)) -> new_primMinusNatS2(vyv3100, vyv3110) 248.92/165.29 new_primMinusNatS0(vyv270000) -> Succ(vyv270000) 248.92/165.29 new_sr9(vyv183) -> error([]) 248.92/165.29 new_sr10(vyv183) -> error([]) 248.92/165.29 new_sr7(vyv183) -> error([]) 248.92/165.29 new_sr5(:%(vyv1830, vyv1831), bd) -> new_reduce2Reduce1(vyv1830, vyv1830, vyv1831, vyv1831, new_esEs0(vyv1831, bd), bd) 248.92/165.29 new_esEs0(vyv1831, ty_Int) -> new_esEs(new_sr6(vyv1831)) 248.92/165.29 new_esEs0(vyv1831, ty_Integer) -> new_esEs1(new_sr7(vyv1831)) 248.92/165.29 new_reduce2Reduce1(vyv264, vyv265, vyv266, vyv267, False, bh) -> :%(new_quot1(vyv264, vyv265, vyv266, vyv267, bh), new_quot2(vyv266, vyv267, vyv264, vyv265, bh)) 248.92/165.29 new_reduce2Reduce1(vyv264, vyv265, vyv266, vyv267, True, bh) -> error([]) 248.92/165.29 new_quot1(vyv264, vyv265, vyv266, vyv267, ty_Int) -> new_quot0(new_sr14(vyv264, vyv265), new_sr14(vyv264, vyv265), new_sr14(vyv266, vyv267)) 248.92/165.29 new_quot1(vyv264, vyv265, vyv266, vyv267, ty_Integer) -> new_quot(new_sr8(vyv264, vyv265), new_sr8(vyv264, vyv265), new_sr8(vyv266, vyv267)) 248.92/165.29 new_quot2(vyv266, vyv267, vyv264, vyv265, ty_Int) -> new_quot0(new_sr14(vyv266, vyv267), new_sr14(vyv264, vyv265), new_sr14(vyv266, vyv267)) 248.92/165.29 new_quot2(vyv266, vyv267, vyv264, vyv265, ty_Integer) -> new_quot(new_sr8(vyv266, vyv267), new_sr8(vyv264, vyv265), new_sr8(vyv266, vyv267)) 248.92/165.29 new_sr8(vyv239, vyv238) -> error([]) 248.92/165.29 new_quot(vyv273, vyv275, vyv274) -> error([]) 248.92/165.29 new_sr14(Pos(vyv2390), Neg(vyv2380)) -> Neg(new_primMulNat0(vyv2390, vyv2380)) 248.92/165.29 new_sr14(Neg(vyv2390), Pos(vyv2380)) -> Neg(new_primMulNat0(vyv2390, vyv2380)) 248.92/165.29 new_sr14(Neg(vyv2390), Neg(vyv2380)) -> Pos(new_primMulNat0(vyv2390, vyv2380)) 248.92/165.29 new_sr14(Pos(vyv2390), Pos(vyv2380)) -> Pos(new_primMulNat0(vyv2390, vyv2380)) 248.92/165.29 new_quot0(Neg(vyv2700), vyv272, vyv271) -> new_primQuotInt0(vyv2700, new_gcd(vyv272, vyv271)) 248.92/165.29 new_quot0(Pos(vyv2700), vyv272, vyv271) -> new_primQuotInt(vyv2700, new_gcd(vyv272, vyv271)) 248.92/165.29 new_gcd(vyv272, vyv271) -> new_gcd2(new_esEs(vyv272), vyv272, vyv271) 248.92/165.29 new_primQuotInt(vyv2700, Neg(Zero)) -> new_error 248.92/165.29 new_primQuotInt(vyv2700, Pos(Zero)) -> new_error 248.92/165.29 new_primQuotInt(vyv2700, Neg(Succ(vyv28400))) -> Neg(new_primDivNatS1(vyv2700, vyv28400)) 248.92/165.29 new_error -> error([]) 248.92/165.29 new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) 248.92/165.29 new_esEs(Pos(Succ(vyv24100))) -> new_primEqInt(Pos(Succ(vyv24100))) 248.92/165.29 new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) 248.92/165.29 new_esEs(Neg(Succ(vyv24100))) -> new_primEqInt(Neg(Succ(vyv24100))) 248.92/165.29 new_gcd2(True, vyv272, vyv271) -> new_gcd1(new_esEs(vyv271), vyv272, vyv271) 248.92/165.29 new_gcd2(False, vyv272, vyv271) -> new_gcd0(vyv272, vyv271) 248.92/165.29 new_gcd0(vyv272, vyv271) -> new_gcd0Gcd'10(new_esEs(new_abs(vyv271)), vyv272, vyv271) 248.92/165.29 new_abs(Neg(Zero)) -> Neg(Zero) 248.92/165.29 new_abs(Neg(Succ(vyv27100))) -> Pos(Succ(vyv27100)) 248.92/165.29 new_abs(Pos(Succ(vyv27100))) -> Pos(Succ(vyv27100)) 248.92/165.29 new_abs(Pos(Zero)) -> Pos(Zero) 248.92/165.29 new_gcd0Gcd'10(True, vyv272, vyv271) -> new_abs(vyv272) 248.92/165.29 new_gcd0Gcd'10(False, vyv272, vyv271) -> new_gcd0Gcd'00(new_abs(vyv272), new_abs(vyv271)) 248.92/165.29 new_gcd0Gcd'00(vyv292, vyv291) -> new_gcd0Gcd'11(new_esEs(new_rem(vyv292, vyv291)), vyv291, vyv292) 248.92/165.29 new_gcd0Gcd'11(False, vyv291, vyv292) -> new_gcd0Gcd'00(vyv291, new_rem(vyv292, vyv291)) 248.92/165.29 new_rem(Pos(vyv2920), Neg(Zero)) -> new_error 248.92/165.29 new_rem(Neg(vyv2920), Pos(Zero)) -> new_error 248.92/165.29 new_rem(Pos(vyv2920), Neg(Succ(vyv29100))) -> Pos(new_primModNatS1(vyv2920, vyv29100)) 248.92/165.29 new_rem(Neg(vyv2920), Pos(Succ(vyv29100))) -> Neg(new_primModNatS1(vyv2920, vyv29100)) 248.92/165.29 new_rem(Pos(vyv2920), Pos(Succ(vyv29100))) -> Pos(new_primModNatS1(vyv2920, vyv29100)) 248.92/165.29 new_rem(Neg(vyv2920), Neg(Zero)) -> new_error 248.92/165.29 new_rem(Neg(vyv2920), Neg(Succ(vyv29100))) -> Neg(new_primModNatS1(vyv2920, vyv29100)) 248.92/165.29 new_rem(Pos(vyv2920), Pos(Zero)) -> new_error 248.92/165.29 new_gcd0Gcd'11(True, vyv291, vyv292) -> vyv291 248.92/165.29 new_primModNatS1(Succ(Zero), Succ(vyv291000)) -> Succ(Zero) 248.92/165.29 new_primModNatS1(Zero, vyv29100) -> Zero 248.92/165.29 new_primModNatS1(Succ(Succ(vyv292000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv292000), Zero) 248.92/165.29 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 248.92/165.29 new_primModNatS1(Succ(Succ(vyv292000)), Succ(vyv291000)) -> new_primModNatS01(vyv292000, vyv291000, vyv292000, vyv291000) 248.92/165.29 new_primModNatS01(vyv330, vyv331, Zero, Zero) -> new_primModNatS02(vyv330, vyv331) 248.92/165.29 new_primModNatS02(vyv330, vyv331) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv330), Succ(vyv331)), Succ(vyv331)) 248.92/165.29 new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Zero) -> new_primModNatS02(vyv330, vyv331) 248.92/165.29 new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Succ(vyv3330)) -> new_primModNatS01(vyv330, vyv331, vyv3320, vyv3330) 248.92/165.29 new_primModNatS01(vyv330, vyv331, Zero, Succ(vyv3330)) -> Succ(Succ(vyv330)) 248.92/165.29 new_gcd1(True, vyv272, vyv271) -> new_error 248.92/165.29 new_gcd1(False, vyv272, vyv271) -> new_gcd0(vyv272, vyv271) 248.92/165.29 new_primEqInt(Neg(Succ(vyv242000))) -> False 248.92/165.29 new_primEqInt(Pos(Zero)) -> True 248.92/165.29 new_primEqInt(Pos(Succ(vyv242000))) -> False 248.92/165.29 new_primEqInt(Neg(Zero)) -> True 248.92/165.29 new_primQuotInt0(vyv2700, Pos(Succ(vyv28700))) -> Neg(new_primDivNatS1(vyv2700, vyv28700)) 248.92/165.29 new_primQuotInt0(vyv2700, Neg(Zero)) -> new_error 248.92/165.29 new_primQuotInt0(vyv2700, Neg(Succ(vyv28700))) -> Pos(new_primDivNatS1(vyv2700, vyv28700)) 248.92/165.29 new_primQuotInt0(vyv2700, Pos(Zero)) -> new_error 248.92/165.29 new_primMulNat0(Succ(vyv23900), Zero) -> Zero 248.92/165.29 new_primMulNat0(Zero, Succ(vyv23800)) -> Zero 248.92/165.29 new_primMulNat0(Zero, Zero) -> Zero 248.92/165.29 new_primMulNat0(Succ(vyv23900), Succ(vyv23800)) -> new_primPlusNat0(new_primMulNat0(vyv23900, Succ(vyv23800)), Succ(vyv23800)) 248.92/165.29 new_primPlusNat0(Succ(vyv4000), Succ(vyv5000)) -> Succ(Succ(new_primPlusNat0(vyv4000, vyv5000))) 248.92/165.29 new_primPlusNat0(Zero, Succ(vyv5000)) -> Succ(vyv5000) 248.92/165.29 new_primPlusNat0(Zero, Zero) -> Zero 248.92/165.29 new_primPlusNat0(Succ(vyv4000), Zero) -> Succ(vyv4000) 248.92/165.29 new_esEs1(Integer(vyv2690)) -> new_primEqInt(vyv2690) 248.92/165.29 new_sr6(Neg(vyv1830)) -> Pos(new_primMulNat1(vyv1830)) 248.92/165.29 new_sr6(Pos(vyv1830)) -> Pos(new_primMulNat1(vyv1830)) 248.92/165.29 new_primMulNat1(Succ(vyv18300)) -> new_primPlusNat0(new_primMulNat2(vyv18300), Succ(vyv18300)) 248.92/165.29 new_primMulNat1(Zero) -> Zero 248.92/165.29 new_primMulNat2(Succ(vyv183000)) -> new_primPlusNat0(new_primMulNat3(vyv183000), Succ(Succ(vyv183000))) 248.92/165.29 new_primMulNat2(Zero) -> Zero 248.92/165.29 new_primMulNat3(Succ(vyv1830000)) -> new_primPlusNat0(new_primMulNat4(vyv1830000), Succ(Succ(Succ(vyv1830000)))) 248.92/165.29 new_primMulNat3(Zero) -> Zero 248.92/165.29 new_primMulNat4(Succ(vyv18300000)) -> new_primPlusNat0(new_primMulNat0(vyv18300000, Succ(Succ(Succ(Succ(vyv18300000))))), Succ(Succ(Succ(Succ(vyv18300000))))) 248.92/165.29 new_primMulNat4(Zero) -> Zero 248.92/165.29 new_sr1(vyv227, ty_Int) -> new_sr6(vyv227) 248.92/165.29 new_sr1(vyv227, ty_Integer) -> new_sr7(vyv227) 248.92/165.29 new_sr1(vyv227, app(ty_Ratio, be)) -> new_sr5(vyv227, be) 248.92/165.29 new_sr1(vyv227, ty_Float) -> new_sr10(vyv227) 248.92/165.29 new_sr1(vyv227, ty_Double) -> new_sr9(vyv227) 248.92/165.29 new_sr3(vyv249, ty_Float) -> new_sr10(vyv249) 248.92/165.29 new_sr3(vyv249, ty_Double) -> new_sr9(vyv249) 248.92/165.29 new_sr3(vyv249, ty_Int) -> new_sr6(vyv249) 248.92/165.29 new_sr3(vyv249, ty_Integer) -> new_sr7(vyv249) 248.92/165.29 new_sr3(vyv249, app(ty_Ratio, bg)) -> new_sr5(vyv249, bg) 248.92/165.29 new_sr0(vyv183, ty_Double) -> new_sr9(vyv183) 248.92/165.29 new_sr0(vyv183, ty_Int) -> new_sr6(vyv183) 248.92/165.29 new_sr0(vyv183, ty_Integer) -> new_sr7(vyv183) 248.92/165.29 new_sr0(vyv183, ty_Float) -> new_sr10(vyv183) 248.92/165.29 new_sr0(vyv183, app(ty_Ratio, bd)) -> new_sr5(vyv183, bd) 248.92/165.29 new_ms0(vyv240, Neg(Zero)) -> Neg(Succ(vyv240)) 248.92/165.29 new_ms0(vyv240, Pos(vyv2430)) -> Neg(new_primPlusNat0(Succ(vyv240), vyv2430)) 248.92/165.29 new_ms0(vyv240, Neg(Succ(vyv24300))) -> new_primMinusNat0(vyv24300, vyv240) 248.92/165.29 new_sr4(vyv239, vyv238, app(ty_Ratio, bf)) -> new_sr12(vyv239, vyv238, bf) 248.92/165.29 new_sr4(vyv239, vyv238, ty_Integer) -> new_sr8(vyv239, vyv238) 248.92/165.29 new_sr4(vyv239, vyv238, ty_Int) -> new_sr14(vyv239, vyv238) 248.92/165.29 new_sr4(vyv239, vyv238, ty_Double) -> new_sr11(vyv239, vyv238) 248.92/165.29 new_sr4(vyv239, vyv238, ty_Float) -> new_sr13(vyv239, vyv238) 248.92/165.29 new_sr13(vyv239, vyv238) -> error([]) 248.92/165.29 new_sr11(vyv239, vyv238) -> error([]) 248.92/165.29 new_sr12(:%(vyv2390, vyv2391), :%(vyv2380, vyv2381), bf) -> new_reduce2Reduce1(vyv2390, vyv2380, vyv2391, vyv2381, new_esEs2(vyv2391, vyv2381, bf), bf) 248.92/165.29 new_esEs2(vyv2391, vyv2381, ty_Int) -> new_esEs(new_sr14(vyv2391, vyv2381)) 248.92/165.29 new_esEs2(vyv2391, vyv2381, ty_Integer) -> new_esEs1(new_sr8(vyv2391, vyv2381)) 248.92/165.29 new_primMinusNat0(Succ(vyv2280), Succ(vyv244000)) -> new_primMinusNat0(vyv2280, vyv244000) 248.92/165.29 new_primMinusNat0(Zero, Zero) -> Pos(Zero) 248.92/165.29 new_primMinusNat0(Zero, Succ(vyv244000)) -> Neg(Succ(vyv244000)) 248.92/165.29 new_primMinusNat0(Succ(vyv2280), Zero) -> Pos(Succ(vyv2280)) 248.92/165.29 new_ms(vyv228, Neg(vyv2440)) -> Pos(new_primPlusNat0(Succ(vyv228), vyv2440)) 248.92/165.29 new_ms(vyv228, Pos(Succ(vyv24400))) -> new_primMinusNat0(vyv228, vyv24400) 248.92/165.29 new_ms(vyv228, Pos(Zero)) -> Pos(Succ(vyv228)) 248.92/165.29 new_sr2(vyv227, vyv226, ty_Int) -> new_sr14(vyv227, vyv226) 248.92/165.29 new_sr2(vyv227, vyv226, ty_Double) -> new_sr11(vyv227, vyv226) 248.92/165.29 new_sr2(vyv227, vyv226, ty_Integer) -> new_sr8(vyv227, vyv226) 248.92/165.29 new_sr2(vyv227, vyv226, ty_Float) -> new_sr13(vyv227, vyv226) 248.92/165.29 new_sr2(vyv227, vyv226, app(ty_Ratio, be)) -> new_sr12(vyv227, vyv226, be) 248.92/165.29 248.92/165.29 The set Q consists of the following terms: 248.92/165.29 248.92/165.29 new_rem(Pos(x0), Pos(Succ(x1))) 248.92/165.29 new_quot1(x0, x1, x2, x3, ty_Integer) 248.92/165.29 new_primModNatS1(Succ(Zero), Succ(x0)) 248.92/165.29 new_ms0(x0, Pos(x1)) 248.92/165.29 new_sr(x0, app(ty_Ratio, x1)) 248.92/165.29 new_primMulNat4(Zero) 248.92/165.29 new_gcd1(False, x0, x1) 248.92/165.29 new_primEqInt(Pos(Zero)) 248.92/165.29 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 248.92/165.29 new_rem(Pos(x0), Neg(Succ(x1))) 248.92/165.29 new_rem(Neg(x0), Pos(Succ(x1))) 248.92/165.29 new_sr10(x0) 248.92/165.29 new_quot1(x0, x1, x2, x3, ty_Int) 248.92/165.29 new_sr0(x0, app(ty_Ratio, x1)) 248.92/165.29 new_quot2(x0, x1, x2, x3, ty_Integer) 248.92/165.29 new_primModNatS01(x0, x1, Succ(x2), Zero) 248.92/165.29 new_sr3(x0, ty_Integer) 248.92/165.29 new_primMulNat3(Zero) 248.92/165.29 new_primDivNatS02(x0, x1, Succ(x2), Zero) 248.92/165.29 new_sr(x0, ty_Float) 248.92/165.29 new_quot2(x0, x1, x2, x3, ty_Int) 248.92/165.29 new_gcd2(False, x0, x1) 248.92/165.29 new_primDivNatS1(Succ(Zero), Zero) 248.92/165.29 new_sr0(x0, ty_Double) 248.92/165.29 new_esEs0(x0, ty_Int) 248.92/165.29 new_sr14(Pos(x0), Pos(x1)) 248.92/165.29 new_sr3(x0, ty_Int) 248.92/165.29 new_primMulNat0(Zero, Zero) 248.92/165.29 new_sr4(x0, x1, ty_Double) 248.92/165.29 new_primPlusNat0(Succ(x0), Zero) 248.92/165.29 new_primMulNat2(Zero) 248.92/165.29 new_sr11(x0, x1) 248.92/165.29 new_primModNatS01(x0, x1, Zero, Zero) 248.92/165.29 new_esEs2(x0, x1, ty_Int) 248.92/165.29 new_gcd1(True, x0, x1) 248.92/165.29 new_sr13(x0, x1) 248.92/165.29 new_sr14(Pos(x0), Neg(x1)) 248.92/165.29 new_sr14(Neg(x0), Pos(x1)) 248.92/165.29 new_primDivNatS1(Succ(Succ(x0)), Succ(x1)) 248.92/165.29 new_sr1(x0, ty_Int) 248.92/165.29 new_primModNatS1(Zero, x0) 248.92/165.29 new_esEs(Pos(Succ(x0))) 248.92/165.29 new_primMulNat3(Succ(x0)) 248.92/165.29 new_sr1(x0, app(ty_Ratio, x1)) 248.92/165.29 new_primQuotInt(x0, Neg(Succ(x1))) 248.92/165.29 new_reduce2Reduce1(x0, x1, x2, x3, False, x4) 248.92/165.29 new_primMinusNat0(Zero, Zero) 248.92/165.29 new_primDivNatS1(Zero, x0) 248.92/165.29 new_primDivNatS02(x0, x1, Succ(x2), Succ(x3)) 248.92/165.29 new_primModNatS02(x0, x1) 248.92/165.29 new_primDivNatS1(Succ(Zero), Succ(x0)) 248.92/165.29 new_sr6(Neg(x0)) 248.92/165.29 new_gcd0Gcd'10(True, x0, x1) 248.92/165.29 new_primMulNat0(Succ(x0), Succ(x1)) 248.92/165.29 new_abs(Neg(Zero)) 248.92/165.29 new_ms(x0, Neg(x1)) 248.92/165.29 new_rem(Pos(x0), Neg(Zero)) 248.92/165.29 new_rem(Neg(x0), Pos(Zero)) 248.92/165.29 new_primMinusNatS2(Zero, Succ(x0)) 248.92/165.29 new_esEs(Neg(Succ(x0))) 248.92/165.29 new_error 248.92/165.29 new_primModNatS1(Succ(Zero), Zero) 248.92/165.29 new_primMulNat0(Zero, Succ(x0)) 248.92/165.29 new_sr3(x0, ty_Float) 248.92/165.29 new_quot(x0, x1, x2) 248.92/165.29 new_gcd2(True, x0, x1) 248.92/165.29 new_gcd0Gcd'11(True, x0, x1) 248.92/165.29 new_primEqInt(Neg(Zero)) 248.92/165.29 new_sr2(x0, x1, ty_Double) 248.92/165.29 new_primMulNat0(Succ(x0), Zero) 248.92/165.29 new_quot0(Neg(x0), x1, x2) 248.92/165.29 new_primMinusNatS2(Succ(x0), Succ(x1)) 248.92/165.29 new_sr4(x0, x1, app(ty_Ratio, x2)) 248.92/165.29 new_sr8(x0, x1) 248.92/165.29 new_primDivNatS01(x0, x1) 248.92/165.29 new_primDivNatS02(x0, x1, Zero, Succ(x2)) 248.92/165.29 new_primPlusNat0(Succ(x0), Succ(x1)) 248.92/165.29 new_sr1(x0, ty_Integer) 248.92/165.29 new_primPlusNat0(Zero, Zero) 248.92/165.29 new_sr1(x0, ty_Float) 248.92/165.29 new_primMinusNat0(Succ(x0), Succ(x1)) 248.92/165.29 new_sr12(:%(x0, x1), :%(x2, x3), x4) 248.92/165.29 new_abs(Neg(Succ(x0))) 248.92/165.29 new_sr1(x0, ty_Double) 248.92/165.29 new_sr3(x0, app(ty_Ratio, x1)) 248.92/165.29 new_sr7(x0) 248.92/165.30 new_gcd0(x0, x1) 248.92/165.30 new_sr(x0, ty_Integer) 248.92/165.30 new_sr0(x0, ty_Int) 248.92/165.30 new_primQuotInt0(x0, Pos(Succ(x1))) 248.92/165.30 new_sr4(x0, x1, ty_Integer) 248.92/165.30 new_sr5(:%(x0, x1), x2) 248.92/165.30 new_primMinusNatS2(Zero, Zero) 248.92/165.30 new_primMulNat1(Succ(x0)) 248.92/165.30 new_sr0(x0, ty_Integer) 248.92/165.30 new_ms(x0, Pos(Zero)) 248.92/165.30 new_abs(Pos(Succ(x0))) 248.92/165.30 new_sr4(x0, x1, ty_Int) 248.92/165.30 new_esEs(Pos(Zero)) 248.92/165.30 new_primQuotInt0(x0, Pos(Zero)) 248.92/165.30 new_sr(x0, ty_Int) 248.92/165.30 new_primEqInt(Neg(Succ(x0))) 248.92/165.30 new_primQuotInt(x0, Neg(Zero)) 248.92/165.30 new_primQuotInt0(x0, Neg(Zero)) 248.92/165.30 new_primQuotInt0(x0, Neg(Succ(x1))) 248.92/165.30 new_gcd(x0, x1) 248.92/165.30 new_quot0(Pos(x0), x1, x2) 248.92/165.30 new_primMinusNatS0(x0) 248.92/165.30 new_primPlusNat0(Zero, Succ(x0)) 248.92/165.30 new_sr2(x0, x1, app(ty_Ratio, x2)) 248.92/165.30 new_sr2(x0, x1, ty_Int) 248.92/165.30 new_primQuotInt(x0, Pos(Succ(x1))) 248.92/165.30 new_primDivNatS1(Succ(Succ(x0)), Zero) 248.92/165.30 new_rem(Pos(x0), Pos(Zero)) 248.92/165.30 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 248.92/165.30 new_primDivNatS02(x0, x1, Zero, Zero) 248.92/165.30 new_abs(Pos(Zero)) 248.92/165.30 new_gcd0Gcd'10(False, x0, x1) 248.92/165.30 new_ms(x0, Pos(Succ(x1))) 248.92/165.30 new_primMinusNatS1 248.92/165.30 new_esEs1(Integer(x0)) 248.92/165.30 new_ms0(x0, Neg(Zero)) 248.92/165.30 new_primMinusNat0(Succ(x0), Zero) 248.92/165.30 new_ms0(x0, Neg(Succ(x1))) 248.92/165.30 new_sr2(x0, x1, ty_Integer) 248.92/165.30 new_primModNatS01(x0, x1, Zero, Succ(x2)) 248.92/165.30 new_primMulNat2(Succ(x0)) 248.92/165.30 new_sr0(x0, ty_Float) 248.92/165.30 new_sr14(Neg(x0), Neg(x1)) 248.92/165.30 new_sr2(x0, x1, ty_Float) 248.92/165.30 new_primMinusNatS2(Succ(x0), Zero) 248.92/165.30 new_sr4(x0, x1, ty_Float) 248.92/165.30 new_sr6(Pos(x0)) 248.92/165.30 new_esEs2(x0, x1, ty_Integer) 248.92/165.30 new_primMulNat4(Succ(x0)) 248.92/165.30 new_rem(Neg(x0), Neg(Succ(x1))) 248.92/165.30 new_primEqInt(Pos(Succ(x0))) 248.92/165.30 new_primQuotInt(x0, Pos(Zero)) 248.92/165.30 new_gcd0Gcd'11(False, x0, x1) 248.92/165.30 new_sr9(x0) 248.92/165.30 new_primModNatS1(Succ(Succ(x0)), Zero) 248.92/165.30 new_sr(x0, ty_Double) 248.92/165.30 new_esEs0(x0, ty_Integer) 248.92/165.30 new_gcd0Gcd'00(x0, x1) 248.92/165.30 new_reduce2Reduce1(x0, x1, x2, x3, True, x4) 248.92/165.30 new_sr3(x0, ty_Double) 248.92/165.30 new_esEs(Neg(Zero)) 248.92/165.30 new_primMulNat1(Zero) 248.92/165.30 new_primMinusNat0(Zero, Succ(x0)) 248.92/165.30 new_rem(Neg(x0), Neg(Zero)) 248.92/165.30 248.92/165.30 We have to consider all minimal (P,Q,R)-chains. 248.92/165.30 ---------------------------------------- 248.92/165.30 248.92/165.30 (737) TransformationProof (EQUIVALENT) 248.92/165.30 By rewriting [LPAR04] the rule new_pr2F0(vyv183, Neg(Zero), vyv187, h) -> new_pr2F0G(vyv187, new_sr0(vyv183, h), new_primQuotInt0(Zero, Pos(Succ(Succ(Zero)))), h) at position [2] we obtained the following new rules [LPAR04]: 248.92/165.30 248.92/165.30 (new_pr2F0(vyv183, Neg(Zero), vyv187, h) -> new_pr2F0G(vyv187, new_sr0(vyv183, h), Neg(new_primDivNatS1(Zero, Succ(Zero))), h),new_pr2F0(vyv183, Neg(Zero), vyv187, h) -> new_pr2F0G(vyv187, new_sr0(vyv183, h), Neg(new_primDivNatS1(Zero, Succ(Zero))), h)) 248.92/165.30 248.92/165.30 248.92/165.30 ---------------------------------------- 248.92/165.30 248.92/165.30 (738) 248.92/165.30 Obligation: 248.92/165.30 Q DP problem: 248.92/165.30 The TRS P consists of the following rules: 248.92/165.30 248.92/165.30 new_pr2F0G10(vyv248, vyv249, vyv250, Succ(Succ(vyv25100)), bb) -> new_pr2F0G10(vyv248, vyv249, vyv250, vyv25100, bb) 248.92/165.30 new_pr2F0G(vyv187, vyv183, Neg(Succ(Zero)), h) -> new_pr2F0G11(vyv187, vyv183, Zero, h) 248.92/165.30 new_pr2F0G(vyv187, vyv183, Pos(Succ(Succ(vyv222000))), h) -> new_pr2F0G1(vyv187, vyv183, Succ(vyv222000), vyv222000, h) 248.92/165.30 new_pr2F0(vyv183, Neg(Succ(Succ(vyv222000))), vyv187, h) -> new_pr2F0G10(vyv187, vyv183, Succ(vyv222000), vyv222000, h) 248.92/165.30 new_pr2F0(vyv183, Neg(Succ(Zero)), vyv187, h) -> new_pr2F0G11(vyv187, vyv183, Zero, h) 248.92/165.30 new_pr2F0G10(vyv248, vyv249, vyv250, Succ(Zero), bb) -> new_pr2F0G11(vyv248, vyv249, vyv250, bb) 248.92/165.30 new_pr2F0G(vyv187, vyv183, Neg(Succ(Succ(vyv222000))), h) -> new_pr2F0G10(vyv187, vyv183, Succ(vyv222000), vyv222000, h) 248.92/165.30 new_pr2F3(False, vyv227, vyv228, vyv244, vyv226, ba) -> new_pr2F0(vyv227, new_ms(vyv228, vyv244), new_sr2(vyv227, vyv226, ba), ba) 248.92/165.30 new_pr2F0(vyv183, Pos(Succ(Succ(vyv222000))), vyv187, h) -> new_pr2F0G1(vyv187, vyv183, Succ(vyv222000), vyv222000, h) 248.92/165.30 new_pr2F1(vyv239, vyv240, vyv243, vyv238, bc) -> new_pr2F30(new_esEs(new_ms0(vyv240, vyv243)), vyv239, vyv240, vyv243, vyv238, bc) 248.92/165.30 new_pr2F(vyv227, vyv228, vyv244, vyv226, ba) -> new_pr2F3(new_esEs(new_ms(vyv228, vyv244)), vyv227, vyv228, vyv244, vyv226, ba) 248.92/165.30 new_pr2F0G1(vyv226, vyv227, vyv228, Succ(Succ(vyv22900)), ba) -> new_pr2F0G1(vyv226, vyv227, vyv228, vyv22900, ba) 248.92/165.30 new_pr2F30(False, vyv239, vyv240, vyv243, vyv238, bc) -> new_pr2F0(vyv239, new_ms0(vyv240, vyv243), new_sr4(vyv239, vyv238, bc), bc) 248.92/165.30 new_pr2F0G11(vyv238, vyv239, vyv240, bc) -> new_pr2F1(vyv239, vyv240, Pos(Succ(Zero)), vyv238, bc) 248.92/165.30 new_pr2F0G(vyv187, vyv183, Neg(Zero), h) -> new_pr2F0G(vyv187, new_sr0(vyv183, h), new_primQuotInt0(Zero, Pos(Succ(Succ(Zero)))), h) 248.92/165.30 new_pr2F0G10(vyv248, vyv249, vyv250, Zero, bb) -> new_pr2F0G(vyv248, new_sr3(vyv249, bb), new_primQuotInt0(Succ(vyv250), Pos(Succ(Succ(Zero)))), bb) 248.92/165.30 new_pr2F0(vyv183, Pos(Succ(Zero)), vyv187, h) -> new_pr2F(vyv183, Zero, Pos(Succ(Zero)), vyv187, h) 248.92/165.30 new_pr2F0G1(vyv226, vyv227, vyv228, Succ(Zero), ba) -> new_pr2F(vyv227, vyv228, Pos(Succ(Zero)), vyv226, ba) 248.92/165.30 new_pr2F0G(vyv187, vyv183, Pos(Succ(Zero)), h) -> new_pr2F(vyv183, Zero, Pos(Succ(Zero)), vyv187, h) 248.92/165.30 new_pr2F0G(vyv187, vyv183, Pos(Zero), h) -> new_pr2F0G(vyv187, new_sr(vyv183, h), new_primQuotInt(Zero, Pos(Succ(Succ(Zero)))), h) 248.92/165.30 new_pr2F0G1(vyv226, vyv227, vyv228, Zero, ba) -> new_pr2F0G(vyv226, new_sr1(vyv227, ba), new_primQuotInt(Succ(vyv228), Pos(Succ(Succ(Zero)))), ba) 248.92/165.30 new_pr2F0(vyv183, Pos(Zero), vyv187, h) -> new_pr2F0G(vyv187, new_sr(vyv183, h), new_primQuotInt(Zero, Pos(Succ(Succ(Zero)))), h) 248.92/165.30 new_pr2F0(vyv183, Neg(Zero), vyv187, h) -> new_pr2F0G(vyv187, new_sr0(vyv183, h), Neg(new_primDivNatS1(Zero, Succ(Zero))), h) 248.92/165.30 248.92/165.30 The TRS R consists of the following rules: 248.92/165.30 248.92/165.30 new_sr(vyv183, ty_Int) -> new_sr6(vyv183) 248.92/165.30 new_sr(vyv183, app(ty_Ratio, bd)) -> new_sr5(vyv183, bd) 248.92/165.30 new_sr(vyv183, ty_Integer) -> new_sr7(vyv183) 248.92/165.30 new_sr(vyv183, ty_Float) -> new_sr10(vyv183) 248.92/165.30 new_sr(vyv183, ty_Double) -> new_sr9(vyv183) 248.92/165.30 new_primQuotInt(vyv2700, Pos(Succ(vyv28400))) -> Pos(new_primDivNatS1(vyv2700, vyv28400)) 248.92/165.30 new_primDivNatS1(Zero, vyv28400) -> Zero 248.92/165.30 new_primDivNatS1(Succ(Succ(vyv270000)), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS0(vyv270000), Zero)) 248.92/165.30 new_primDivNatS1(Succ(Zero), Succ(vyv284000)) -> Zero 248.92/165.30 new_primDivNatS1(Succ(Succ(vyv270000)), Succ(vyv284000)) -> new_primDivNatS02(vyv270000, vyv284000, vyv270000, vyv284000) 248.92/165.30 new_primDivNatS1(Succ(Zero), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS1, Zero)) 248.92/165.30 new_primMinusNatS1 -> Zero 248.92/165.30 new_primDivNatS02(vyv310, vyv311, Zero, Zero) -> new_primDivNatS01(vyv310, vyv311) 248.92/165.30 new_primDivNatS02(vyv310, vyv311, Succ(vyv3120), Zero) -> new_primDivNatS01(vyv310, vyv311) 248.92/165.30 new_primDivNatS02(vyv310, vyv311, Zero, Succ(vyv3130)) -> Zero 248.92/165.30 new_primDivNatS02(vyv310, vyv311, Succ(vyv3120), Succ(vyv3130)) -> new_primDivNatS02(vyv310, vyv311, vyv3120, vyv3130) 248.92/165.30 new_primDivNatS01(vyv310, vyv311) -> Succ(new_primDivNatS1(new_primMinusNatS2(vyv310, vyv311), Succ(vyv311))) 248.92/165.30 new_primMinusNatS2(Zero, Succ(vyv3110)) -> Zero 248.92/165.30 new_primMinusNatS2(Succ(vyv3100), Zero) -> Succ(vyv3100) 248.92/165.30 new_primMinusNatS2(Zero, Zero) -> Zero 248.92/165.30 new_primMinusNatS2(Succ(vyv3100), Succ(vyv3110)) -> new_primMinusNatS2(vyv3100, vyv3110) 248.92/165.30 new_primMinusNatS0(vyv270000) -> Succ(vyv270000) 248.92/165.30 new_sr9(vyv183) -> error([]) 248.92/165.30 new_sr10(vyv183) -> error([]) 248.92/165.30 new_sr7(vyv183) -> error([]) 248.92/165.30 new_sr5(:%(vyv1830, vyv1831), bd) -> new_reduce2Reduce1(vyv1830, vyv1830, vyv1831, vyv1831, new_esEs0(vyv1831, bd), bd) 248.92/165.30 new_esEs0(vyv1831, ty_Int) -> new_esEs(new_sr6(vyv1831)) 248.92/165.30 new_esEs0(vyv1831, ty_Integer) -> new_esEs1(new_sr7(vyv1831)) 248.92/165.30 new_reduce2Reduce1(vyv264, vyv265, vyv266, vyv267, False, bh) -> :%(new_quot1(vyv264, vyv265, vyv266, vyv267, bh), new_quot2(vyv266, vyv267, vyv264, vyv265, bh)) 248.92/165.30 new_reduce2Reduce1(vyv264, vyv265, vyv266, vyv267, True, bh) -> error([]) 248.92/165.30 new_quot1(vyv264, vyv265, vyv266, vyv267, ty_Int) -> new_quot0(new_sr14(vyv264, vyv265), new_sr14(vyv264, vyv265), new_sr14(vyv266, vyv267)) 248.92/165.30 new_quot1(vyv264, vyv265, vyv266, vyv267, ty_Integer) -> new_quot(new_sr8(vyv264, vyv265), new_sr8(vyv264, vyv265), new_sr8(vyv266, vyv267)) 248.92/165.30 new_quot2(vyv266, vyv267, vyv264, vyv265, ty_Int) -> new_quot0(new_sr14(vyv266, vyv267), new_sr14(vyv264, vyv265), new_sr14(vyv266, vyv267)) 248.92/165.30 new_quot2(vyv266, vyv267, vyv264, vyv265, ty_Integer) -> new_quot(new_sr8(vyv266, vyv267), new_sr8(vyv264, vyv265), new_sr8(vyv266, vyv267)) 248.92/165.30 new_sr8(vyv239, vyv238) -> error([]) 248.92/165.30 new_quot(vyv273, vyv275, vyv274) -> error([]) 248.92/165.30 new_sr14(Pos(vyv2390), Neg(vyv2380)) -> Neg(new_primMulNat0(vyv2390, vyv2380)) 248.92/165.30 new_sr14(Neg(vyv2390), Pos(vyv2380)) -> Neg(new_primMulNat0(vyv2390, vyv2380)) 248.92/165.30 new_sr14(Neg(vyv2390), Neg(vyv2380)) -> Pos(new_primMulNat0(vyv2390, vyv2380)) 248.92/165.30 new_sr14(Pos(vyv2390), Pos(vyv2380)) -> Pos(new_primMulNat0(vyv2390, vyv2380)) 248.92/165.30 new_quot0(Neg(vyv2700), vyv272, vyv271) -> new_primQuotInt0(vyv2700, new_gcd(vyv272, vyv271)) 248.92/165.30 new_quot0(Pos(vyv2700), vyv272, vyv271) -> new_primQuotInt(vyv2700, new_gcd(vyv272, vyv271)) 248.92/165.30 new_gcd(vyv272, vyv271) -> new_gcd2(new_esEs(vyv272), vyv272, vyv271) 248.92/165.30 new_primQuotInt(vyv2700, Neg(Zero)) -> new_error 248.92/165.30 new_primQuotInt(vyv2700, Pos(Zero)) -> new_error 248.92/165.30 new_primQuotInt(vyv2700, Neg(Succ(vyv28400))) -> Neg(new_primDivNatS1(vyv2700, vyv28400)) 248.92/165.30 new_error -> error([]) 248.92/165.30 new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) 248.92/165.30 new_esEs(Pos(Succ(vyv24100))) -> new_primEqInt(Pos(Succ(vyv24100))) 248.92/165.30 new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) 248.92/165.30 new_esEs(Neg(Succ(vyv24100))) -> new_primEqInt(Neg(Succ(vyv24100))) 248.92/165.30 new_gcd2(True, vyv272, vyv271) -> new_gcd1(new_esEs(vyv271), vyv272, vyv271) 248.92/165.30 new_gcd2(False, vyv272, vyv271) -> new_gcd0(vyv272, vyv271) 248.92/165.30 new_gcd0(vyv272, vyv271) -> new_gcd0Gcd'10(new_esEs(new_abs(vyv271)), vyv272, vyv271) 248.92/165.30 new_abs(Neg(Zero)) -> Neg(Zero) 248.92/165.30 new_abs(Neg(Succ(vyv27100))) -> Pos(Succ(vyv27100)) 248.92/165.30 new_abs(Pos(Succ(vyv27100))) -> Pos(Succ(vyv27100)) 248.92/165.30 new_abs(Pos(Zero)) -> Pos(Zero) 248.92/165.30 new_gcd0Gcd'10(True, vyv272, vyv271) -> new_abs(vyv272) 248.92/165.30 new_gcd0Gcd'10(False, vyv272, vyv271) -> new_gcd0Gcd'00(new_abs(vyv272), new_abs(vyv271)) 248.92/165.30 new_gcd0Gcd'00(vyv292, vyv291) -> new_gcd0Gcd'11(new_esEs(new_rem(vyv292, vyv291)), vyv291, vyv292) 248.92/165.30 new_gcd0Gcd'11(False, vyv291, vyv292) -> new_gcd0Gcd'00(vyv291, new_rem(vyv292, vyv291)) 248.92/165.30 new_rem(Pos(vyv2920), Neg(Zero)) -> new_error 248.92/165.30 new_rem(Neg(vyv2920), Pos(Zero)) -> new_error 248.92/165.30 new_rem(Pos(vyv2920), Neg(Succ(vyv29100))) -> Pos(new_primModNatS1(vyv2920, vyv29100)) 248.92/165.30 new_rem(Neg(vyv2920), Pos(Succ(vyv29100))) -> Neg(new_primModNatS1(vyv2920, vyv29100)) 248.92/165.30 new_rem(Pos(vyv2920), Pos(Succ(vyv29100))) -> Pos(new_primModNatS1(vyv2920, vyv29100)) 248.92/165.30 new_rem(Neg(vyv2920), Neg(Zero)) -> new_error 248.92/165.30 new_rem(Neg(vyv2920), Neg(Succ(vyv29100))) -> Neg(new_primModNatS1(vyv2920, vyv29100)) 248.92/165.30 new_rem(Pos(vyv2920), Pos(Zero)) -> new_error 248.92/165.30 new_gcd0Gcd'11(True, vyv291, vyv292) -> vyv291 248.92/165.30 new_primModNatS1(Succ(Zero), Succ(vyv291000)) -> Succ(Zero) 248.92/165.30 new_primModNatS1(Zero, vyv29100) -> Zero 248.92/165.30 new_primModNatS1(Succ(Succ(vyv292000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv292000), Zero) 248.92/165.30 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 248.92/165.30 new_primModNatS1(Succ(Succ(vyv292000)), Succ(vyv291000)) -> new_primModNatS01(vyv292000, vyv291000, vyv292000, vyv291000) 248.92/165.30 new_primModNatS01(vyv330, vyv331, Zero, Zero) -> new_primModNatS02(vyv330, vyv331) 248.92/165.30 new_primModNatS02(vyv330, vyv331) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv330), Succ(vyv331)), Succ(vyv331)) 248.92/165.30 new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Zero) -> new_primModNatS02(vyv330, vyv331) 248.92/165.30 new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Succ(vyv3330)) -> new_primModNatS01(vyv330, vyv331, vyv3320, vyv3330) 248.92/165.30 new_primModNatS01(vyv330, vyv331, Zero, Succ(vyv3330)) -> Succ(Succ(vyv330)) 248.92/165.30 new_gcd1(True, vyv272, vyv271) -> new_error 248.92/165.30 new_gcd1(False, vyv272, vyv271) -> new_gcd0(vyv272, vyv271) 248.92/165.30 new_primEqInt(Neg(Succ(vyv242000))) -> False 248.92/165.30 new_primEqInt(Pos(Zero)) -> True 248.92/165.30 new_primEqInt(Pos(Succ(vyv242000))) -> False 248.92/165.30 new_primEqInt(Neg(Zero)) -> True 248.92/165.30 new_primQuotInt0(vyv2700, Pos(Succ(vyv28700))) -> Neg(new_primDivNatS1(vyv2700, vyv28700)) 248.92/165.30 new_primQuotInt0(vyv2700, Neg(Zero)) -> new_error 248.92/165.30 new_primQuotInt0(vyv2700, Neg(Succ(vyv28700))) -> Pos(new_primDivNatS1(vyv2700, vyv28700)) 248.92/165.30 new_primQuotInt0(vyv2700, Pos(Zero)) -> new_error 248.92/165.30 new_primMulNat0(Succ(vyv23900), Zero) -> Zero 248.92/165.30 new_primMulNat0(Zero, Succ(vyv23800)) -> Zero 248.92/165.30 new_primMulNat0(Zero, Zero) -> Zero 248.92/165.30 new_primMulNat0(Succ(vyv23900), Succ(vyv23800)) -> new_primPlusNat0(new_primMulNat0(vyv23900, Succ(vyv23800)), Succ(vyv23800)) 248.92/165.30 new_primPlusNat0(Succ(vyv4000), Succ(vyv5000)) -> Succ(Succ(new_primPlusNat0(vyv4000, vyv5000))) 248.92/165.30 new_primPlusNat0(Zero, Succ(vyv5000)) -> Succ(vyv5000) 248.92/165.30 new_primPlusNat0(Zero, Zero) -> Zero 248.92/165.30 new_primPlusNat0(Succ(vyv4000), Zero) -> Succ(vyv4000) 248.92/165.30 new_esEs1(Integer(vyv2690)) -> new_primEqInt(vyv2690) 248.92/165.30 new_sr6(Neg(vyv1830)) -> Pos(new_primMulNat1(vyv1830)) 248.92/165.30 new_sr6(Pos(vyv1830)) -> Pos(new_primMulNat1(vyv1830)) 248.92/165.30 new_primMulNat1(Succ(vyv18300)) -> new_primPlusNat0(new_primMulNat2(vyv18300), Succ(vyv18300)) 248.92/165.30 new_primMulNat1(Zero) -> Zero 248.92/165.30 new_primMulNat2(Succ(vyv183000)) -> new_primPlusNat0(new_primMulNat3(vyv183000), Succ(Succ(vyv183000))) 248.92/165.30 new_primMulNat2(Zero) -> Zero 248.92/165.30 new_primMulNat3(Succ(vyv1830000)) -> new_primPlusNat0(new_primMulNat4(vyv1830000), Succ(Succ(Succ(vyv1830000)))) 248.92/165.30 new_primMulNat3(Zero) -> Zero 248.92/165.30 new_primMulNat4(Succ(vyv18300000)) -> new_primPlusNat0(new_primMulNat0(vyv18300000, Succ(Succ(Succ(Succ(vyv18300000))))), Succ(Succ(Succ(Succ(vyv18300000))))) 248.92/165.30 new_primMulNat4(Zero) -> Zero 248.92/165.30 new_sr1(vyv227, ty_Int) -> new_sr6(vyv227) 248.92/165.30 new_sr1(vyv227, ty_Integer) -> new_sr7(vyv227) 248.92/165.30 new_sr1(vyv227, app(ty_Ratio, be)) -> new_sr5(vyv227, be) 248.92/165.30 new_sr1(vyv227, ty_Float) -> new_sr10(vyv227) 248.92/165.30 new_sr1(vyv227, ty_Double) -> new_sr9(vyv227) 248.92/165.30 new_sr3(vyv249, ty_Float) -> new_sr10(vyv249) 248.92/165.30 new_sr3(vyv249, ty_Double) -> new_sr9(vyv249) 248.92/165.30 new_sr3(vyv249, ty_Int) -> new_sr6(vyv249) 248.92/165.30 new_sr3(vyv249, ty_Integer) -> new_sr7(vyv249) 248.92/165.30 new_sr3(vyv249, app(ty_Ratio, bg)) -> new_sr5(vyv249, bg) 248.92/165.30 new_sr0(vyv183, ty_Double) -> new_sr9(vyv183) 248.92/165.30 new_sr0(vyv183, ty_Int) -> new_sr6(vyv183) 248.92/165.30 new_sr0(vyv183, ty_Integer) -> new_sr7(vyv183) 248.92/165.30 new_sr0(vyv183, ty_Float) -> new_sr10(vyv183) 248.92/165.30 new_sr0(vyv183, app(ty_Ratio, bd)) -> new_sr5(vyv183, bd) 248.92/165.30 new_ms0(vyv240, Neg(Zero)) -> Neg(Succ(vyv240)) 248.92/165.30 new_ms0(vyv240, Pos(vyv2430)) -> Neg(new_primPlusNat0(Succ(vyv240), vyv2430)) 248.92/165.30 new_ms0(vyv240, Neg(Succ(vyv24300))) -> new_primMinusNat0(vyv24300, vyv240) 248.92/165.30 new_sr4(vyv239, vyv238, app(ty_Ratio, bf)) -> new_sr12(vyv239, vyv238, bf) 248.92/165.30 new_sr4(vyv239, vyv238, ty_Integer) -> new_sr8(vyv239, vyv238) 248.92/165.30 new_sr4(vyv239, vyv238, ty_Int) -> new_sr14(vyv239, vyv238) 248.92/165.30 new_sr4(vyv239, vyv238, ty_Double) -> new_sr11(vyv239, vyv238) 248.92/165.30 new_sr4(vyv239, vyv238, ty_Float) -> new_sr13(vyv239, vyv238) 248.92/165.30 new_sr13(vyv239, vyv238) -> error([]) 248.92/165.30 new_sr11(vyv239, vyv238) -> error([]) 248.92/165.30 new_sr12(:%(vyv2390, vyv2391), :%(vyv2380, vyv2381), bf) -> new_reduce2Reduce1(vyv2390, vyv2380, vyv2391, vyv2381, new_esEs2(vyv2391, vyv2381, bf), bf) 248.92/165.30 new_esEs2(vyv2391, vyv2381, ty_Int) -> new_esEs(new_sr14(vyv2391, vyv2381)) 248.92/165.30 new_esEs2(vyv2391, vyv2381, ty_Integer) -> new_esEs1(new_sr8(vyv2391, vyv2381)) 248.92/165.30 new_primMinusNat0(Succ(vyv2280), Succ(vyv244000)) -> new_primMinusNat0(vyv2280, vyv244000) 248.92/165.30 new_primMinusNat0(Zero, Zero) -> Pos(Zero) 248.92/165.30 new_primMinusNat0(Zero, Succ(vyv244000)) -> Neg(Succ(vyv244000)) 248.92/165.30 new_primMinusNat0(Succ(vyv2280), Zero) -> Pos(Succ(vyv2280)) 248.92/165.30 new_ms(vyv228, Neg(vyv2440)) -> Pos(new_primPlusNat0(Succ(vyv228), vyv2440)) 248.92/165.30 new_ms(vyv228, Pos(Succ(vyv24400))) -> new_primMinusNat0(vyv228, vyv24400) 248.92/165.30 new_ms(vyv228, Pos(Zero)) -> Pos(Succ(vyv228)) 248.92/165.30 new_sr2(vyv227, vyv226, ty_Int) -> new_sr14(vyv227, vyv226) 248.92/165.30 new_sr2(vyv227, vyv226, ty_Double) -> new_sr11(vyv227, vyv226) 248.92/165.30 new_sr2(vyv227, vyv226, ty_Integer) -> new_sr8(vyv227, vyv226) 248.92/165.30 new_sr2(vyv227, vyv226, ty_Float) -> new_sr13(vyv227, vyv226) 248.92/165.30 new_sr2(vyv227, vyv226, app(ty_Ratio, be)) -> new_sr12(vyv227, vyv226, be) 248.92/165.30 248.92/165.30 The set Q consists of the following terms: 248.92/165.30 248.92/165.30 new_rem(Pos(x0), Pos(Succ(x1))) 248.92/165.30 new_quot1(x0, x1, x2, x3, ty_Integer) 248.92/165.30 new_primModNatS1(Succ(Zero), Succ(x0)) 248.92/165.30 new_ms0(x0, Pos(x1)) 248.92/165.30 new_sr(x0, app(ty_Ratio, x1)) 248.92/165.30 new_primMulNat4(Zero) 248.92/165.30 new_gcd1(False, x0, x1) 248.92/165.30 new_primEqInt(Pos(Zero)) 248.92/165.30 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 248.92/165.30 new_rem(Pos(x0), Neg(Succ(x1))) 248.92/165.30 new_rem(Neg(x0), Pos(Succ(x1))) 248.92/165.30 new_sr10(x0) 248.92/165.30 new_quot1(x0, x1, x2, x3, ty_Int) 248.92/165.30 new_sr0(x0, app(ty_Ratio, x1)) 248.92/165.30 new_quot2(x0, x1, x2, x3, ty_Integer) 248.92/165.30 new_primModNatS01(x0, x1, Succ(x2), Zero) 248.92/165.30 new_sr3(x0, ty_Integer) 248.92/165.30 new_primMulNat3(Zero) 248.92/165.30 new_primDivNatS02(x0, x1, Succ(x2), Zero) 248.92/165.30 new_sr(x0, ty_Float) 248.92/165.30 new_quot2(x0, x1, x2, x3, ty_Int) 248.92/165.30 new_gcd2(False, x0, x1) 248.92/165.30 new_primDivNatS1(Succ(Zero), Zero) 248.92/165.30 new_sr0(x0, ty_Double) 248.92/165.30 new_esEs0(x0, ty_Int) 248.92/165.30 new_sr14(Pos(x0), Pos(x1)) 248.92/165.30 new_sr3(x0, ty_Int) 248.92/165.30 new_primMulNat0(Zero, Zero) 248.92/165.30 new_sr4(x0, x1, ty_Double) 248.92/165.30 new_primPlusNat0(Succ(x0), Zero) 248.92/165.30 new_primMulNat2(Zero) 248.92/165.30 new_sr11(x0, x1) 248.92/165.30 new_primModNatS01(x0, x1, Zero, Zero) 248.92/165.30 new_esEs2(x0, x1, ty_Int) 248.92/165.30 new_gcd1(True, x0, x1) 248.92/165.30 new_sr13(x0, x1) 248.92/165.30 new_sr14(Pos(x0), Neg(x1)) 248.92/165.30 new_sr14(Neg(x0), Pos(x1)) 248.92/165.30 new_primDivNatS1(Succ(Succ(x0)), Succ(x1)) 248.92/165.30 new_sr1(x0, ty_Int) 248.92/165.30 new_primModNatS1(Zero, x0) 248.92/165.30 new_esEs(Pos(Succ(x0))) 248.92/165.30 new_primMulNat3(Succ(x0)) 248.92/165.30 new_sr1(x0, app(ty_Ratio, x1)) 248.92/165.30 new_primQuotInt(x0, Neg(Succ(x1))) 248.92/165.30 new_reduce2Reduce1(x0, x1, x2, x3, False, x4) 248.92/165.30 new_primMinusNat0(Zero, Zero) 248.92/165.30 new_primDivNatS1(Zero, x0) 248.92/165.30 new_primDivNatS02(x0, x1, Succ(x2), Succ(x3)) 248.92/165.30 new_primModNatS02(x0, x1) 248.92/165.30 new_primDivNatS1(Succ(Zero), Succ(x0)) 248.92/165.30 new_sr6(Neg(x0)) 248.92/165.30 new_gcd0Gcd'10(True, x0, x1) 248.92/165.30 new_primMulNat0(Succ(x0), Succ(x1)) 248.92/165.30 new_abs(Neg(Zero)) 248.92/165.30 new_ms(x0, Neg(x1)) 248.92/165.30 new_rem(Pos(x0), Neg(Zero)) 248.92/165.30 new_rem(Neg(x0), Pos(Zero)) 248.92/165.30 new_primMinusNatS2(Zero, Succ(x0)) 248.92/165.30 new_esEs(Neg(Succ(x0))) 248.92/165.30 new_error 248.92/165.30 new_primModNatS1(Succ(Zero), Zero) 248.92/165.30 new_primMulNat0(Zero, Succ(x0)) 248.92/165.30 new_sr3(x0, ty_Float) 248.92/165.30 new_quot(x0, x1, x2) 248.92/165.30 new_gcd2(True, x0, x1) 248.92/165.30 new_gcd0Gcd'11(True, x0, x1) 248.92/165.30 new_primEqInt(Neg(Zero)) 248.92/165.30 new_sr2(x0, x1, ty_Double) 248.92/165.30 new_primMulNat0(Succ(x0), Zero) 248.92/165.30 new_quot0(Neg(x0), x1, x2) 248.92/165.30 new_primMinusNatS2(Succ(x0), Succ(x1)) 248.92/165.30 new_sr4(x0, x1, app(ty_Ratio, x2)) 248.92/165.30 new_sr8(x0, x1) 248.92/165.30 new_primDivNatS01(x0, x1) 248.92/165.30 new_primDivNatS02(x0, x1, Zero, Succ(x2)) 248.92/165.30 new_primPlusNat0(Succ(x0), Succ(x1)) 248.92/165.30 new_sr1(x0, ty_Integer) 248.92/165.30 new_primPlusNat0(Zero, Zero) 248.92/165.30 new_sr1(x0, ty_Float) 248.92/165.30 new_primMinusNat0(Succ(x0), Succ(x1)) 248.92/165.30 new_sr12(:%(x0, x1), :%(x2, x3), x4) 248.92/165.30 new_abs(Neg(Succ(x0))) 248.92/165.30 new_sr1(x0, ty_Double) 248.92/165.30 new_sr3(x0, app(ty_Ratio, x1)) 248.92/165.30 new_sr7(x0) 248.92/165.30 new_gcd0(x0, x1) 248.92/165.30 new_sr(x0, ty_Integer) 248.92/165.30 new_sr0(x0, ty_Int) 248.92/165.30 new_primQuotInt0(x0, Pos(Succ(x1))) 248.92/165.30 new_sr4(x0, x1, ty_Integer) 248.92/165.30 new_sr5(:%(x0, x1), x2) 248.92/165.30 new_primMinusNatS2(Zero, Zero) 248.92/165.30 new_primMulNat1(Succ(x0)) 248.92/165.30 new_sr0(x0, ty_Integer) 248.92/165.30 new_ms(x0, Pos(Zero)) 248.92/165.30 new_abs(Pos(Succ(x0))) 248.92/165.30 new_sr4(x0, x1, ty_Int) 248.92/165.30 new_esEs(Pos(Zero)) 248.92/165.30 new_primQuotInt0(x0, Pos(Zero)) 248.92/165.30 new_sr(x0, ty_Int) 248.92/165.30 new_primEqInt(Neg(Succ(x0))) 248.92/165.30 new_primQuotInt(x0, Neg(Zero)) 248.92/165.30 new_primQuotInt0(x0, Neg(Zero)) 248.92/165.30 new_primQuotInt0(x0, Neg(Succ(x1))) 248.92/165.30 new_gcd(x0, x1) 248.92/165.30 new_quot0(Pos(x0), x1, x2) 248.92/165.30 new_primMinusNatS0(x0) 248.92/165.30 new_primPlusNat0(Zero, Succ(x0)) 248.92/165.30 new_sr2(x0, x1, app(ty_Ratio, x2)) 248.92/165.30 new_sr2(x0, x1, ty_Int) 248.92/165.30 new_primQuotInt(x0, Pos(Succ(x1))) 248.92/165.30 new_primDivNatS1(Succ(Succ(x0)), Zero) 248.92/165.30 new_rem(Pos(x0), Pos(Zero)) 248.92/165.30 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 248.92/165.30 new_primDivNatS02(x0, x1, Zero, Zero) 248.92/165.30 new_abs(Pos(Zero)) 248.92/165.30 new_gcd0Gcd'10(False, x0, x1) 248.92/165.30 new_ms(x0, Pos(Succ(x1))) 248.92/165.30 new_primMinusNatS1 248.92/165.30 new_esEs1(Integer(x0)) 248.92/165.30 new_ms0(x0, Neg(Zero)) 248.92/165.30 new_primMinusNat0(Succ(x0), Zero) 248.92/165.30 new_ms0(x0, Neg(Succ(x1))) 248.92/165.30 new_sr2(x0, x1, ty_Integer) 248.92/165.30 new_primModNatS01(x0, x1, Zero, Succ(x2)) 248.92/165.30 new_primMulNat2(Succ(x0)) 248.92/165.30 new_sr0(x0, ty_Float) 248.92/165.30 new_sr14(Neg(x0), Neg(x1)) 248.92/165.30 new_sr2(x0, x1, ty_Float) 248.92/165.30 new_primMinusNatS2(Succ(x0), Zero) 248.92/165.30 new_sr4(x0, x1, ty_Float) 248.92/165.30 new_sr6(Pos(x0)) 248.92/165.30 new_esEs2(x0, x1, ty_Integer) 248.92/165.30 new_primMulNat4(Succ(x0)) 248.92/165.30 new_rem(Neg(x0), Neg(Succ(x1))) 248.92/165.30 new_primEqInt(Pos(Succ(x0))) 248.92/165.30 new_primQuotInt(x0, Pos(Zero)) 248.92/165.30 new_gcd0Gcd'11(False, x0, x1) 248.92/165.30 new_sr9(x0) 248.92/165.30 new_primModNatS1(Succ(Succ(x0)), Zero) 248.92/165.30 new_sr(x0, ty_Double) 248.92/165.30 new_esEs0(x0, ty_Integer) 248.92/165.30 new_gcd0Gcd'00(x0, x1) 248.92/165.30 new_reduce2Reduce1(x0, x1, x2, x3, True, x4) 248.92/165.30 new_sr3(x0, ty_Double) 248.92/165.30 new_esEs(Neg(Zero)) 248.92/165.30 new_primMulNat1(Zero) 248.92/165.30 new_primMinusNat0(Zero, Succ(x0)) 248.92/165.30 new_rem(Neg(x0), Neg(Zero)) 248.92/165.30 248.92/165.30 We have to consider all minimal (P,Q,R)-chains. 248.92/165.30 ---------------------------------------- 248.92/165.30 248.92/165.30 (739) TransformationProof (EQUIVALENT) 248.92/165.30 By rewriting [LPAR04] the rule new_pr2F0G(vyv187, vyv183, Neg(Zero), h) -> new_pr2F0G(vyv187, new_sr0(vyv183, h), new_primQuotInt0(Zero, Pos(Succ(Succ(Zero)))), h) at position [2] we obtained the following new rules [LPAR04]: 248.92/165.30 248.92/165.30 (new_pr2F0G(vyv187, vyv183, Neg(Zero), h) -> new_pr2F0G(vyv187, new_sr0(vyv183, h), Neg(new_primDivNatS1(Zero, Succ(Zero))), h),new_pr2F0G(vyv187, vyv183, Neg(Zero), h) -> new_pr2F0G(vyv187, new_sr0(vyv183, h), Neg(new_primDivNatS1(Zero, Succ(Zero))), h)) 248.92/165.30 248.92/165.30 248.92/165.30 ---------------------------------------- 248.92/165.30 248.92/165.30 (740) 248.92/165.30 Obligation: 248.92/165.30 Q DP problem: 248.92/165.30 The TRS P consists of the following rules: 248.92/165.30 248.92/165.30 new_pr2F0G10(vyv248, vyv249, vyv250, Succ(Succ(vyv25100)), bb) -> new_pr2F0G10(vyv248, vyv249, vyv250, vyv25100, bb) 248.92/165.30 new_pr2F0G(vyv187, vyv183, Neg(Succ(Zero)), h) -> new_pr2F0G11(vyv187, vyv183, Zero, h) 248.92/165.30 new_pr2F0G(vyv187, vyv183, Pos(Succ(Succ(vyv222000))), h) -> new_pr2F0G1(vyv187, vyv183, Succ(vyv222000), vyv222000, h) 248.92/165.30 new_pr2F0(vyv183, Neg(Succ(Succ(vyv222000))), vyv187, h) -> new_pr2F0G10(vyv187, vyv183, Succ(vyv222000), vyv222000, h) 248.92/165.30 new_pr2F0(vyv183, Neg(Succ(Zero)), vyv187, h) -> new_pr2F0G11(vyv187, vyv183, Zero, h) 248.92/165.30 new_pr2F0G10(vyv248, vyv249, vyv250, Succ(Zero), bb) -> new_pr2F0G11(vyv248, vyv249, vyv250, bb) 248.92/165.30 new_pr2F0G(vyv187, vyv183, Neg(Succ(Succ(vyv222000))), h) -> new_pr2F0G10(vyv187, vyv183, Succ(vyv222000), vyv222000, h) 248.92/165.30 new_pr2F3(False, vyv227, vyv228, vyv244, vyv226, ba) -> new_pr2F0(vyv227, new_ms(vyv228, vyv244), new_sr2(vyv227, vyv226, ba), ba) 248.92/165.30 new_pr2F0(vyv183, Pos(Succ(Succ(vyv222000))), vyv187, h) -> new_pr2F0G1(vyv187, vyv183, Succ(vyv222000), vyv222000, h) 248.92/165.30 new_pr2F1(vyv239, vyv240, vyv243, vyv238, bc) -> new_pr2F30(new_esEs(new_ms0(vyv240, vyv243)), vyv239, vyv240, vyv243, vyv238, bc) 248.92/165.30 new_pr2F(vyv227, vyv228, vyv244, vyv226, ba) -> new_pr2F3(new_esEs(new_ms(vyv228, vyv244)), vyv227, vyv228, vyv244, vyv226, ba) 248.92/165.30 new_pr2F0G1(vyv226, vyv227, vyv228, Succ(Succ(vyv22900)), ba) -> new_pr2F0G1(vyv226, vyv227, vyv228, vyv22900, ba) 248.92/165.30 new_pr2F30(False, vyv239, vyv240, vyv243, vyv238, bc) -> new_pr2F0(vyv239, new_ms0(vyv240, vyv243), new_sr4(vyv239, vyv238, bc), bc) 248.92/165.30 new_pr2F0G11(vyv238, vyv239, vyv240, bc) -> new_pr2F1(vyv239, vyv240, Pos(Succ(Zero)), vyv238, bc) 248.92/165.30 new_pr2F0G10(vyv248, vyv249, vyv250, Zero, bb) -> new_pr2F0G(vyv248, new_sr3(vyv249, bb), new_primQuotInt0(Succ(vyv250), Pos(Succ(Succ(Zero)))), bb) 248.92/165.30 new_pr2F0(vyv183, Pos(Succ(Zero)), vyv187, h) -> new_pr2F(vyv183, Zero, Pos(Succ(Zero)), vyv187, h) 248.92/165.30 new_pr2F0G1(vyv226, vyv227, vyv228, Succ(Zero), ba) -> new_pr2F(vyv227, vyv228, Pos(Succ(Zero)), vyv226, ba) 248.92/165.30 new_pr2F0G(vyv187, vyv183, Pos(Succ(Zero)), h) -> new_pr2F(vyv183, Zero, Pos(Succ(Zero)), vyv187, h) 248.92/165.30 new_pr2F0G(vyv187, vyv183, Pos(Zero), h) -> new_pr2F0G(vyv187, new_sr(vyv183, h), new_primQuotInt(Zero, Pos(Succ(Succ(Zero)))), h) 248.92/165.30 new_pr2F0G1(vyv226, vyv227, vyv228, Zero, ba) -> new_pr2F0G(vyv226, new_sr1(vyv227, ba), new_primQuotInt(Succ(vyv228), Pos(Succ(Succ(Zero)))), ba) 248.92/165.30 new_pr2F0(vyv183, Pos(Zero), vyv187, h) -> new_pr2F0G(vyv187, new_sr(vyv183, h), new_primQuotInt(Zero, Pos(Succ(Succ(Zero)))), h) 248.92/165.30 new_pr2F0(vyv183, Neg(Zero), vyv187, h) -> new_pr2F0G(vyv187, new_sr0(vyv183, h), Neg(new_primDivNatS1(Zero, Succ(Zero))), h) 248.92/165.30 new_pr2F0G(vyv187, vyv183, Neg(Zero), h) -> new_pr2F0G(vyv187, new_sr0(vyv183, h), Neg(new_primDivNatS1(Zero, Succ(Zero))), h) 248.92/165.30 248.92/165.30 The TRS R consists of the following rules: 248.92/165.30 248.92/165.30 new_sr(vyv183, ty_Int) -> new_sr6(vyv183) 248.92/165.30 new_sr(vyv183, app(ty_Ratio, bd)) -> new_sr5(vyv183, bd) 248.92/165.30 new_sr(vyv183, ty_Integer) -> new_sr7(vyv183) 248.92/165.30 new_sr(vyv183, ty_Float) -> new_sr10(vyv183) 248.92/165.30 new_sr(vyv183, ty_Double) -> new_sr9(vyv183) 248.92/165.30 new_primQuotInt(vyv2700, Pos(Succ(vyv28400))) -> Pos(new_primDivNatS1(vyv2700, vyv28400)) 248.92/165.30 new_primDivNatS1(Zero, vyv28400) -> Zero 248.92/165.30 new_primDivNatS1(Succ(Succ(vyv270000)), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS0(vyv270000), Zero)) 248.92/165.30 new_primDivNatS1(Succ(Zero), Succ(vyv284000)) -> Zero 248.92/165.30 new_primDivNatS1(Succ(Succ(vyv270000)), Succ(vyv284000)) -> new_primDivNatS02(vyv270000, vyv284000, vyv270000, vyv284000) 248.92/165.30 new_primDivNatS1(Succ(Zero), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS1, Zero)) 248.92/165.30 new_primMinusNatS1 -> Zero 248.92/165.30 new_primDivNatS02(vyv310, vyv311, Zero, Zero) -> new_primDivNatS01(vyv310, vyv311) 248.92/165.30 new_primDivNatS02(vyv310, vyv311, Succ(vyv3120), Zero) -> new_primDivNatS01(vyv310, vyv311) 248.92/165.30 new_primDivNatS02(vyv310, vyv311, Zero, Succ(vyv3130)) -> Zero 248.92/165.30 new_primDivNatS02(vyv310, vyv311, Succ(vyv3120), Succ(vyv3130)) -> new_primDivNatS02(vyv310, vyv311, vyv3120, vyv3130) 248.92/165.30 new_primDivNatS01(vyv310, vyv311) -> Succ(new_primDivNatS1(new_primMinusNatS2(vyv310, vyv311), Succ(vyv311))) 248.92/165.30 new_primMinusNatS2(Zero, Succ(vyv3110)) -> Zero 248.92/165.30 new_primMinusNatS2(Succ(vyv3100), Zero) -> Succ(vyv3100) 248.92/165.30 new_primMinusNatS2(Zero, Zero) -> Zero 248.92/165.30 new_primMinusNatS2(Succ(vyv3100), Succ(vyv3110)) -> new_primMinusNatS2(vyv3100, vyv3110) 248.92/165.30 new_primMinusNatS0(vyv270000) -> Succ(vyv270000) 248.92/165.30 new_sr9(vyv183) -> error([]) 248.92/165.30 new_sr10(vyv183) -> error([]) 248.92/165.30 new_sr7(vyv183) -> error([]) 248.92/165.30 new_sr5(:%(vyv1830, vyv1831), bd) -> new_reduce2Reduce1(vyv1830, vyv1830, vyv1831, vyv1831, new_esEs0(vyv1831, bd), bd) 248.92/165.30 new_esEs0(vyv1831, ty_Int) -> new_esEs(new_sr6(vyv1831)) 248.92/165.30 new_esEs0(vyv1831, ty_Integer) -> new_esEs1(new_sr7(vyv1831)) 248.92/165.30 new_reduce2Reduce1(vyv264, vyv265, vyv266, vyv267, False, bh) -> :%(new_quot1(vyv264, vyv265, vyv266, vyv267, bh), new_quot2(vyv266, vyv267, vyv264, vyv265, bh)) 248.92/165.30 new_reduce2Reduce1(vyv264, vyv265, vyv266, vyv267, True, bh) -> error([]) 248.92/165.30 new_quot1(vyv264, vyv265, vyv266, vyv267, ty_Int) -> new_quot0(new_sr14(vyv264, vyv265), new_sr14(vyv264, vyv265), new_sr14(vyv266, vyv267)) 248.92/165.30 new_quot1(vyv264, vyv265, vyv266, vyv267, ty_Integer) -> new_quot(new_sr8(vyv264, vyv265), new_sr8(vyv264, vyv265), new_sr8(vyv266, vyv267)) 248.92/165.30 new_quot2(vyv266, vyv267, vyv264, vyv265, ty_Int) -> new_quot0(new_sr14(vyv266, vyv267), new_sr14(vyv264, vyv265), new_sr14(vyv266, vyv267)) 248.92/165.30 new_quot2(vyv266, vyv267, vyv264, vyv265, ty_Integer) -> new_quot(new_sr8(vyv266, vyv267), new_sr8(vyv264, vyv265), new_sr8(vyv266, vyv267)) 248.92/165.30 new_sr8(vyv239, vyv238) -> error([]) 248.92/165.30 new_quot(vyv273, vyv275, vyv274) -> error([]) 248.92/165.30 new_sr14(Pos(vyv2390), Neg(vyv2380)) -> Neg(new_primMulNat0(vyv2390, vyv2380)) 248.92/165.30 new_sr14(Neg(vyv2390), Pos(vyv2380)) -> Neg(new_primMulNat0(vyv2390, vyv2380)) 248.92/165.30 new_sr14(Neg(vyv2390), Neg(vyv2380)) -> Pos(new_primMulNat0(vyv2390, vyv2380)) 248.92/165.30 new_sr14(Pos(vyv2390), Pos(vyv2380)) -> Pos(new_primMulNat0(vyv2390, vyv2380)) 248.92/165.30 new_quot0(Neg(vyv2700), vyv272, vyv271) -> new_primQuotInt0(vyv2700, new_gcd(vyv272, vyv271)) 248.92/165.30 new_quot0(Pos(vyv2700), vyv272, vyv271) -> new_primQuotInt(vyv2700, new_gcd(vyv272, vyv271)) 248.92/165.30 new_gcd(vyv272, vyv271) -> new_gcd2(new_esEs(vyv272), vyv272, vyv271) 248.92/165.30 new_primQuotInt(vyv2700, Neg(Zero)) -> new_error 248.92/165.30 new_primQuotInt(vyv2700, Pos(Zero)) -> new_error 248.92/165.30 new_primQuotInt(vyv2700, Neg(Succ(vyv28400))) -> Neg(new_primDivNatS1(vyv2700, vyv28400)) 248.92/165.30 new_error -> error([]) 248.92/165.30 new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) 248.92/165.30 new_esEs(Pos(Succ(vyv24100))) -> new_primEqInt(Pos(Succ(vyv24100))) 248.92/165.30 new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) 248.92/165.30 new_esEs(Neg(Succ(vyv24100))) -> new_primEqInt(Neg(Succ(vyv24100))) 248.92/165.30 new_gcd2(True, vyv272, vyv271) -> new_gcd1(new_esEs(vyv271), vyv272, vyv271) 248.92/165.30 new_gcd2(False, vyv272, vyv271) -> new_gcd0(vyv272, vyv271) 248.92/165.30 new_gcd0(vyv272, vyv271) -> new_gcd0Gcd'10(new_esEs(new_abs(vyv271)), vyv272, vyv271) 248.92/165.30 new_abs(Neg(Zero)) -> Neg(Zero) 248.92/165.30 new_abs(Neg(Succ(vyv27100))) -> Pos(Succ(vyv27100)) 248.92/165.30 new_abs(Pos(Succ(vyv27100))) -> Pos(Succ(vyv27100)) 248.92/165.30 new_abs(Pos(Zero)) -> Pos(Zero) 248.92/165.30 new_gcd0Gcd'10(True, vyv272, vyv271) -> new_abs(vyv272) 248.92/165.30 new_gcd0Gcd'10(False, vyv272, vyv271) -> new_gcd0Gcd'00(new_abs(vyv272), new_abs(vyv271)) 248.92/165.30 new_gcd0Gcd'00(vyv292, vyv291) -> new_gcd0Gcd'11(new_esEs(new_rem(vyv292, vyv291)), vyv291, vyv292) 248.92/165.30 new_gcd0Gcd'11(False, vyv291, vyv292) -> new_gcd0Gcd'00(vyv291, new_rem(vyv292, vyv291)) 248.92/165.30 new_rem(Pos(vyv2920), Neg(Zero)) -> new_error 248.92/165.30 new_rem(Neg(vyv2920), Pos(Zero)) -> new_error 248.92/165.30 new_rem(Pos(vyv2920), Neg(Succ(vyv29100))) -> Pos(new_primModNatS1(vyv2920, vyv29100)) 248.92/165.30 new_rem(Neg(vyv2920), Pos(Succ(vyv29100))) -> Neg(new_primModNatS1(vyv2920, vyv29100)) 248.92/165.30 new_rem(Pos(vyv2920), Pos(Succ(vyv29100))) -> Pos(new_primModNatS1(vyv2920, vyv29100)) 248.92/165.30 new_rem(Neg(vyv2920), Neg(Zero)) -> new_error 248.92/165.30 new_rem(Neg(vyv2920), Neg(Succ(vyv29100))) -> Neg(new_primModNatS1(vyv2920, vyv29100)) 248.92/165.30 new_rem(Pos(vyv2920), Pos(Zero)) -> new_error 248.92/165.30 new_gcd0Gcd'11(True, vyv291, vyv292) -> vyv291 248.92/165.30 new_primModNatS1(Succ(Zero), Succ(vyv291000)) -> Succ(Zero) 248.92/165.30 new_primModNatS1(Zero, vyv29100) -> Zero 248.92/165.30 new_primModNatS1(Succ(Succ(vyv292000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv292000), Zero) 248.92/165.30 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 248.92/165.30 new_primModNatS1(Succ(Succ(vyv292000)), Succ(vyv291000)) -> new_primModNatS01(vyv292000, vyv291000, vyv292000, vyv291000) 248.92/165.30 new_primModNatS01(vyv330, vyv331, Zero, Zero) -> new_primModNatS02(vyv330, vyv331) 248.92/165.30 new_primModNatS02(vyv330, vyv331) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv330), Succ(vyv331)), Succ(vyv331)) 248.92/165.30 new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Zero) -> new_primModNatS02(vyv330, vyv331) 248.92/165.30 new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Succ(vyv3330)) -> new_primModNatS01(vyv330, vyv331, vyv3320, vyv3330) 248.92/165.30 new_primModNatS01(vyv330, vyv331, Zero, Succ(vyv3330)) -> Succ(Succ(vyv330)) 248.92/165.30 new_gcd1(True, vyv272, vyv271) -> new_error 248.92/165.30 new_gcd1(False, vyv272, vyv271) -> new_gcd0(vyv272, vyv271) 248.92/165.30 new_primEqInt(Neg(Succ(vyv242000))) -> False 248.92/165.30 new_primEqInt(Pos(Zero)) -> True 248.92/165.30 new_primEqInt(Pos(Succ(vyv242000))) -> False 248.92/165.30 new_primEqInt(Neg(Zero)) -> True 248.92/165.30 new_primQuotInt0(vyv2700, Pos(Succ(vyv28700))) -> Neg(new_primDivNatS1(vyv2700, vyv28700)) 248.92/165.30 new_primQuotInt0(vyv2700, Neg(Zero)) -> new_error 248.92/165.30 new_primQuotInt0(vyv2700, Neg(Succ(vyv28700))) -> Pos(new_primDivNatS1(vyv2700, vyv28700)) 248.92/165.30 new_primQuotInt0(vyv2700, Pos(Zero)) -> new_error 248.92/165.30 new_primMulNat0(Succ(vyv23900), Zero) -> Zero 248.92/165.30 new_primMulNat0(Zero, Succ(vyv23800)) -> Zero 248.92/165.30 new_primMulNat0(Zero, Zero) -> Zero 248.92/165.30 new_primMulNat0(Succ(vyv23900), Succ(vyv23800)) -> new_primPlusNat0(new_primMulNat0(vyv23900, Succ(vyv23800)), Succ(vyv23800)) 248.92/165.30 new_primPlusNat0(Succ(vyv4000), Succ(vyv5000)) -> Succ(Succ(new_primPlusNat0(vyv4000, vyv5000))) 248.92/165.30 new_primPlusNat0(Zero, Succ(vyv5000)) -> Succ(vyv5000) 248.92/165.30 new_primPlusNat0(Zero, Zero) -> Zero 248.92/165.30 new_primPlusNat0(Succ(vyv4000), Zero) -> Succ(vyv4000) 248.92/165.30 new_esEs1(Integer(vyv2690)) -> new_primEqInt(vyv2690) 248.92/165.30 new_sr6(Neg(vyv1830)) -> Pos(new_primMulNat1(vyv1830)) 248.92/165.30 new_sr6(Pos(vyv1830)) -> Pos(new_primMulNat1(vyv1830)) 248.92/165.30 new_primMulNat1(Succ(vyv18300)) -> new_primPlusNat0(new_primMulNat2(vyv18300), Succ(vyv18300)) 248.92/165.30 new_primMulNat1(Zero) -> Zero 248.92/165.30 new_primMulNat2(Succ(vyv183000)) -> new_primPlusNat0(new_primMulNat3(vyv183000), Succ(Succ(vyv183000))) 248.92/165.30 new_primMulNat2(Zero) -> Zero 248.92/165.30 new_primMulNat3(Succ(vyv1830000)) -> new_primPlusNat0(new_primMulNat4(vyv1830000), Succ(Succ(Succ(vyv1830000)))) 248.92/165.30 new_primMulNat3(Zero) -> Zero 248.92/165.30 new_primMulNat4(Succ(vyv18300000)) -> new_primPlusNat0(new_primMulNat0(vyv18300000, Succ(Succ(Succ(Succ(vyv18300000))))), Succ(Succ(Succ(Succ(vyv18300000))))) 248.92/165.30 new_primMulNat4(Zero) -> Zero 248.92/165.30 new_sr1(vyv227, ty_Int) -> new_sr6(vyv227) 248.92/165.30 new_sr1(vyv227, ty_Integer) -> new_sr7(vyv227) 248.92/165.30 new_sr1(vyv227, app(ty_Ratio, be)) -> new_sr5(vyv227, be) 248.92/165.30 new_sr1(vyv227, ty_Float) -> new_sr10(vyv227) 248.92/165.30 new_sr1(vyv227, ty_Double) -> new_sr9(vyv227) 248.92/165.30 new_sr3(vyv249, ty_Float) -> new_sr10(vyv249) 248.92/165.30 new_sr3(vyv249, ty_Double) -> new_sr9(vyv249) 248.92/165.30 new_sr3(vyv249, ty_Int) -> new_sr6(vyv249) 248.92/165.30 new_sr3(vyv249, ty_Integer) -> new_sr7(vyv249) 248.92/165.30 new_sr3(vyv249, app(ty_Ratio, bg)) -> new_sr5(vyv249, bg) 248.92/165.30 new_sr0(vyv183, ty_Double) -> new_sr9(vyv183) 248.92/165.30 new_sr0(vyv183, ty_Int) -> new_sr6(vyv183) 248.92/165.30 new_sr0(vyv183, ty_Integer) -> new_sr7(vyv183) 248.92/165.30 new_sr0(vyv183, ty_Float) -> new_sr10(vyv183) 248.92/165.30 new_sr0(vyv183, app(ty_Ratio, bd)) -> new_sr5(vyv183, bd) 248.92/165.30 new_ms0(vyv240, Neg(Zero)) -> Neg(Succ(vyv240)) 248.92/165.30 new_ms0(vyv240, Pos(vyv2430)) -> Neg(new_primPlusNat0(Succ(vyv240), vyv2430)) 248.92/165.30 new_ms0(vyv240, Neg(Succ(vyv24300))) -> new_primMinusNat0(vyv24300, vyv240) 248.92/165.30 new_sr4(vyv239, vyv238, app(ty_Ratio, bf)) -> new_sr12(vyv239, vyv238, bf) 248.92/165.30 new_sr4(vyv239, vyv238, ty_Integer) -> new_sr8(vyv239, vyv238) 248.92/165.30 new_sr4(vyv239, vyv238, ty_Int) -> new_sr14(vyv239, vyv238) 248.92/165.30 new_sr4(vyv239, vyv238, ty_Double) -> new_sr11(vyv239, vyv238) 248.92/165.30 new_sr4(vyv239, vyv238, ty_Float) -> new_sr13(vyv239, vyv238) 248.92/165.30 new_sr13(vyv239, vyv238) -> error([]) 248.92/165.30 new_sr11(vyv239, vyv238) -> error([]) 248.92/165.30 new_sr12(:%(vyv2390, vyv2391), :%(vyv2380, vyv2381), bf) -> new_reduce2Reduce1(vyv2390, vyv2380, vyv2391, vyv2381, new_esEs2(vyv2391, vyv2381, bf), bf) 248.92/165.30 new_esEs2(vyv2391, vyv2381, ty_Int) -> new_esEs(new_sr14(vyv2391, vyv2381)) 248.92/165.30 new_esEs2(vyv2391, vyv2381, ty_Integer) -> new_esEs1(new_sr8(vyv2391, vyv2381)) 248.92/165.30 new_primMinusNat0(Succ(vyv2280), Succ(vyv244000)) -> new_primMinusNat0(vyv2280, vyv244000) 248.92/165.30 new_primMinusNat0(Zero, Zero) -> Pos(Zero) 248.92/165.30 new_primMinusNat0(Zero, Succ(vyv244000)) -> Neg(Succ(vyv244000)) 248.92/165.30 new_primMinusNat0(Succ(vyv2280), Zero) -> Pos(Succ(vyv2280)) 248.92/165.30 new_ms(vyv228, Neg(vyv2440)) -> Pos(new_primPlusNat0(Succ(vyv228), vyv2440)) 248.92/165.30 new_ms(vyv228, Pos(Succ(vyv24400))) -> new_primMinusNat0(vyv228, vyv24400) 248.92/165.30 new_ms(vyv228, Pos(Zero)) -> Pos(Succ(vyv228)) 248.92/165.30 new_sr2(vyv227, vyv226, ty_Int) -> new_sr14(vyv227, vyv226) 248.92/165.30 new_sr2(vyv227, vyv226, ty_Double) -> new_sr11(vyv227, vyv226) 248.92/165.30 new_sr2(vyv227, vyv226, ty_Integer) -> new_sr8(vyv227, vyv226) 248.92/165.30 new_sr2(vyv227, vyv226, ty_Float) -> new_sr13(vyv227, vyv226) 248.92/165.30 new_sr2(vyv227, vyv226, app(ty_Ratio, be)) -> new_sr12(vyv227, vyv226, be) 248.92/165.30 248.92/165.30 The set Q consists of the following terms: 248.92/165.30 248.92/165.30 new_rem(Pos(x0), Pos(Succ(x1))) 248.92/165.30 new_quot1(x0, x1, x2, x3, ty_Integer) 248.92/165.30 new_primModNatS1(Succ(Zero), Succ(x0)) 248.92/165.30 new_ms0(x0, Pos(x1)) 248.92/165.30 new_sr(x0, app(ty_Ratio, x1)) 248.92/165.30 new_primMulNat4(Zero) 248.92/165.30 new_gcd1(False, x0, x1) 248.92/165.30 new_primEqInt(Pos(Zero)) 248.92/165.30 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 248.92/165.30 new_rem(Pos(x0), Neg(Succ(x1))) 248.92/165.30 new_rem(Neg(x0), Pos(Succ(x1))) 248.92/165.30 new_sr10(x0) 248.92/165.30 new_quot1(x0, x1, x2, x3, ty_Int) 248.92/165.30 new_sr0(x0, app(ty_Ratio, x1)) 248.92/165.30 new_quot2(x0, x1, x2, x3, ty_Integer) 248.92/165.30 new_primModNatS01(x0, x1, Succ(x2), Zero) 248.92/165.30 new_sr3(x0, ty_Integer) 248.92/165.30 new_primMulNat3(Zero) 248.92/165.30 new_primDivNatS02(x0, x1, Succ(x2), Zero) 248.92/165.30 new_sr(x0, ty_Float) 248.92/165.30 new_quot2(x0, x1, x2, x3, ty_Int) 248.92/165.30 new_gcd2(False, x0, x1) 248.92/165.30 new_primDivNatS1(Succ(Zero), Zero) 248.92/165.30 new_sr0(x0, ty_Double) 248.92/165.30 new_esEs0(x0, ty_Int) 248.92/165.30 new_sr14(Pos(x0), Pos(x1)) 248.92/165.30 new_sr3(x0, ty_Int) 248.92/165.30 new_primMulNat0(Zero, Zero) 248.92/165.30 new_sr4(x0, x1, ty_Double) 248.92/165.30 new_primPlusNat0(Succ(x0), Zero) 248.92/165.30 new_primMulNat2(Zero) 248.92/165.30 new_sr11(x0, x1) 248.92/165.30 new_primModNatS01(x0, x1, Zero, Zero) 248.92/165.30 new_esEs2(x0, x1, ty_Int) 248.92/165.30 new_gcd1(True, x0, x1) 248.92/165.30 new_sr13(x0, x1) 248.92/165.30 new_sr14(Pos(x0), Neg(x1)) 248.92/165.30 new_sr14(Neg(x0), Pos(x1)) 248.92/165.30 new_primDivNatS1(Succ(Succ(x0)), Succ(x1)) 248.92/165.30 new_sr1(x0, ty_Int) 248.92/165.30 new_primModNatS1(Zero, x0) 248.92/165.30 new_esEs(Pos(Succ(x0))) 248.92/165.30 new_primMulNat3(Succ(x0)) 248.92/165.30 new_sr1(x0, app(ty_Ratio, x1)) 248.92/165.30 new_primQuotInt(x0, Neg(Succ(x1))) 248.92/165.30 new_reduce2Reduce1(x0, x1, x2, x3, False, x4) 248.92/165.30 new_primMinusNat0(Zero, Zero) 248.92/165.30 new_primDivNatS1(Zero, x0) 248.92/165.30 new_primDivNatS02(x0, x1, Succ(x2), Succ(x3)) 248.92/165.30 new_primModNatS02(x0, x1) 248.92/165.30 new_primDivNatS1(Succ(Zero), Succ(x0)) 248.92/165.30 new_sr6(Neg(x0)) 248.92/165.30 new_gcd0Gcd'10(True, x0, x1) 248.92/165.30 new_primMulNat0(Succ(x0), Succ(x1)) 248.92/165.30 new_abs(Neg(Zero)) 248.92/165.30 new_ms(x0, Neg(x1)) 248.92/165.30 new_rem(Pos(x0), Neg(Zero)) 248.92/165.30 new_rem(Neg(x0), Pos(Zero)) 248.92/165.30 new_primMinusNatS2(Zero, Succ(x0)) 248.92/165.30 new_esEs(Neg(Succ(x0))) 248.92/165.30 new_error 248.92/165.30 new_primModNatS1(Succ(Zero), Zero) 248.92/165.30 new_primMulNat0(Zero, Succ(x0)) 248.92/165.30 new_sr3(x0, ty_Float) 248.92/165.30 new_quot(x0, x1, x2) 248.92/165.30 new_gcd2(True, x0, x1) 248.92/165.30 new_gcd0Gcd'11(True, x0, x1) 248.92/165.30 new_primEqInt(Neg(Zero)) 248.92/165.30 new_sr2(x0, x1, ty_Double) 248.92/165.30 new_primMulNat0(Succ(x0), Zero) 248.92/165.30 new_quot0(Neg(x0), x1, x2) 248.92/165.30 new_primMinusNatS2(Succ(x0), Succ(x1)) 248.92/165.30 new_sr4(x0, x1, app(ty_Ratio, x2)) 248.92/165.30 new_sr8(x0, x1) 248.92/165.30 new_primDivNatS01(x0, x1) 248.92/165.30 new_primDivNatS02(x0, x1, Zero, Succ(x2)) 248.92/165.30 new_primPlusNat0(Succ(x0), Succ(x1)) 248.92/165.30 new_sr1(x0, ty_Integer) 248.92/165.30 new_primPlusNat0(Zero, Zero) 248.92/165.30 new_sr1(x0, ty_Float) 248.92/165.30 new_primMinusNat0(Succ(x0), Succ(x1)) 248.92/165.30 new_sr12(:%(x0, x1), :%(x2, x3), x4) 248.92/165.30 new_abs(Neg(Succ(x0))) 248.92/165.30 new_sr1(x0, ty_Double) 248.92/165.30 new_sr3(x0, app(ty_Ratio, x1)) 248.92/165.30 new_sr7(x0) 248.92/165.30 new_gcd0(x0, x1) 248.92/165.30 new_sr(x0, ty_Integer) 248.92/165.30 new_sr0(x0, ty_Int) 248.92/165.30 new_primQuotInt0(x0, Pos(Succ(x1))) 248.92/165.30 new_sr4(x0, x1, ty_Integer) 248.92/165.30 new_sr5(:%(x0, x1), x2) 248.92/165.30 new_primMinusNatS2(Zero, Zero) 248.92/165.30 new_primMulNat1(Succ(x0)) 248.92/165.30 new_sr0(x0, ty_Integer) 248.92/165.30 new_ms(x0, Pos(Zero)) 248.92/165.30 new_abs(Pos(Succ(x0))) 248.92/165.30 new_sr4(x0, x1, ty_Int) 248.92/165.30 new_esEs(Pos(Zero)) 248.92/165.30 new_primQuotInt0(x0, Pos(Zero)) 248.92/165.30 new_sr(x0, ty_Int) 248.92/165.30 new_primEqInt(Neg(Succ(x0))) 248.92/165.30 new_primQuotInt(x0, Neg(Zero)) 248.92/165.30 new_primQuotInt0(x0, Neg(Zero)) 248.92/165.30 new_primQuotInt0(x0, Neg(Succ(x1))) 248.92/165.30 new_gcd(x0, x1) 248.92/165.30 new_quot0(Pos(x0), x1, x2) 248.92/165.30 new_primMinusNatS0(x0) 248.92/165.30 new_primPlusNat0(Zero, Succ(x0)) 248.92/165.30 new_sr2(x0, x1, app(ty_Ratio, x2)) 248.92/165.30 new_sr2(x0, x1, ty_Int) 248.92/165.30 new_primQuotInt(x0, Pos(Succ(x1))) 248.92/165.30 new_primDivNatS1(Succ(Succ(x0)), Zero) 248.92/165.30 new_rem(Pos(x0), Pos(Zero)) 248.92/165.30 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 248.92/165.30 new_primDivNatS02(x0, x1, Zero, Zero) 248.92/165.30 new_abs(Pos(Zero)) 248.92/165.30 new_gcd0Gcd'10(False, x0, x1) 248.92/165.30 new_ms(x0, Pos(Succ(x1))) 248.92/165.30 new_primMinusNatS1 248.92/165.30 new_esEs1(Integer(x0)) 248.92/165.30 new_ms0(x0, Neg(Zero)) 248.92/165.30 new_primMinusNat0(Succ(x0), Zero) 248.92/165.30 new_ms0(x0, Neg(Succ(x1))) 248.92/165.30 new_sr2(x0, x1, ty_Integer) 248.92/165.30 new_primModNatS01(x0, x1, Zero, Succ(x2)) 248.92/165.30 new_primMulNat2(Succ(x0)) 248.92/165.30 new_sr0(x0, ty_Float) 248.92/165.30 new_sr14(Neg(x0), Neg(x1)) 248.92/165.30 new_sr2(x0, x1, ty_Float) 248.92/165.30 new_primMinusNatS2(Succ(x0), Zero) 248.92/165.30 new_sr4(x0, x1, ty_Float) 248.92/165.30 new_sr6(Pos(x0)) 248.92/165.30 new_esEs2(x0, x1, ty_Integer) 248.92/165.30 new_primMulNat4(Succ(x0)) 248.92/165.30 new_rem(Neg(x0), Neg(Succ(x1))) 248.92/165.30 new_primEqInt(Pos(Succ(x0))) 248.92/165.30 new_primQuotInt(x0, Pos(Zero)) 248.92/165.30 new_gcd0Gcd'11(False, x0, x1) 248.92/165.30 new_sr9(x0) 248.92/165.30 new_primModNatS1(Succ(Succ(x0)), Zero) 248.92/165.30 new_sr(x0, ty_Double) 248.92/165.30 new_esEs0(x0, ty_Integer) 248.92/165.30 new_gcd0Gcd'00(x0, x1) 248.92/165.30 new_reduce2Reduce1(x0, x1, x2, x3, True, x4) 248.92/165.30 new_sr3(x0, ty_Double) 248.92/165.30 new_esEs(Neg(Zero)) 248.92/165.30 new_primMulNat1(Zero) 248.92/165.30 new_primMinusNat0(Zero, Succ(x0)) 248.92/165.30 new_rem(Neg(x0), Neg(Zero)) 248.92/165.30 248.92/165.30 We have to consider all minimal (P,Q,R)-chains. 248.92/165.30 ---------------------------------------- 248.92/165.30 248.92/165.30 (741) TransformationProof (EQUIVALENT) 248.92/165.30 By rewriting [LPAR04] the rule new_pr2F0G10(vyv248, vyv249, vyv250, Zero, bb) -> new_pr2F0G(vyv248, new_sr3(vyv249, bb), new_primQuotInt0(Succ(vyv250), Pos(Succ(Succ(Zero)))), bb) at position [2] we obtained the following new rules [LPAR04]: 248.92/165.30 248.92/165.30 (new_pr2F0G10(vyv248, vyv249, vyv250, Zero, bb) -> new_pr2F0G(vyv248, new_sr3(vyv249, bb), Neg(new_primDivNatS1(Succ(vyv250), Succ(Zero))), bb),new_pr2F0G10(vyv248, vyv249, vyv250, Zero, bb) -> new_pr2F0G(vyv248, new_sr3(vyv249, bb), Neg(new_primDivNatS1(Succ(vyv250), Succ(Zero))), bb)) 248.92/165.30 248.92/165.30 248.92/165.30 ---------------------------------------- 248.92/165.30 248.92/165.30 (742) 248.92/165.30 Obligation: 248.92/165.30 Q DP problem: 248.92/165.30 The TRS P consists of the following rules: 248.92/165.30 248.92/165.30 new_pr2F0G10(vyv248, vyv249, vyv250, Succ(Succ(vyv25100)), bb) -> new_pr2F0G10(vyv248, vyv249, vyv250, vyv25100, bb) 248.92/165.30 new_pr2F0G(vyv187, vyv183, Neg(Succ(Zero)), h) -> new_pr2F0G11(vyv187, vyv183, Zero, h) 248.92/165.30 new_pr2F0G(vyv187, vyv183, Pos(Succ(Succ(vyv222000))), h) -> new_pr2F0G1(vyv187, vyv183, Succ(vyv222000), vyv222000, h) 248.92/165.30 new_pr2F0(vyv183, Neg(Succ(Succ(vyv222000))), vyv187, h) -> new_pr2F0G10(vyv187, vyv183, Succ(vyv222000), vyv222000, h) 248.92/165.30 new_pr2F0(vyv183, Neg(Succ(Zero)), vyv187, h) -> new_pr2F0G11(vyv187, vyv183, Zero, h) 248.92/165.30 new_pr2F0G10(vyv248, vyv249, vyv250, Succ(Zero), bb) -> new_pr2F0G11(vyv248, vyv249, vyv250, bb) 248.92/165.30 new_pr2F0G(vyv187, vyv183, Neg(Succ(Succ(vyv222000))), h) -> new_pr2F0G10(vyv187, vyv183, Succ(vyv222000), vyv222000, h) 248.92/165.30 new_pr2F3(False, vyv227, vyv228, vyv244, vyv226, ba) -> new_pr2F0(vyv227, new_ms(vyv228, vyv244), new_sr2(vyv227, vyv226, ba), ba) 248.92/165.30 new_pr2F0(vyv183, Pos(Succ(Succ(vyv222000))), vyv187, h) -> new_pr2F0G1(vyv187, vyv183, Succ(vyv222000), vyv222000, h) 248.92/165.30 new_pr2F1(vyv239, vyv240, vyv243, vyv238, bc) -> new_pr2F30(new_esEs(new_ms0(vyv240, vyv243)), vyv239, vyv240, vyv243, vyv238, bc) 248.92/165.30 new_pr2F(vyv227, vyv228, vyv244, vyv226, ba) -> new_pr2F3(new_esEs(new_ms(vyv228, vyv244)), vyv227, vyv228, vyv244, vyv226, ba) 248.92/165.30 new_pr2F0G1(vyv226, vyv227, vyv228, Succ(Succ(vyv22900)), ba) -> new_pr2F0G1(vyv226, vyv227, vyv228, vyv22900, ba) 248.92/165.30 new_pr2F30(False, vyv239, vyv240, vyv243, vyv238, bc) -> new_pr2F0(vyv239, new_ms0(vyv240, vyv243), new_sr4(vyv239, vyv238, bc), bc) 248.92/165.30 new_pr2F0G11(vyv238, vyv239, vyv240, bc) -> new_pr2F1(vyv239, vyv240, Pos(Succ(Zero)), vyv238, bc) 248.92/165.30 new_pr2F0(vyv183, Pos(Succ(Zero)), vyv187, h) -> new_pr2F(vyv183, Zero, Pos(Succ(Zero)), vyv187, h) 248.92/165.30 new_pr2F0G1(vyv226, vyv227, vyv228, Succ(Zero), ba) -> new_pr2F(vyv227, vyv228, Pos(Succ(Zero)), vyv226, ba) 248.92/165.30 new_pr2F0G(vyv187, vyv183, Pos(Succ(Zero)), h) -> new_pr2F(vyv183, Zero, Pos(Succ(Zero)), vyv187, h) 248.92/165.30 new_pr2F0G(vyv187, vyv183, Pos(Zero), h) -> new_pr2F0G(vyv187, new_sr(vyv183, h), new_primQuotInt(Zero, Pos(Succ(Succ(Zero)))), h) 248.92/165.30 new_pr2F0G1(vyv226, vyv227, vyv228, Zero, ba) -> new_pr2F0G(vyv226, new_sr1(vyv227, ba), new_primQuotInt(Succ(vyv228), Pos(Succ(Succ(Zero)))), ba) 248.92/165.30 new_pr2F0(vyv183, Pos(Zero), vyv187, h) -> new_pr2F0G(vyv187, new_sr(vyv183, h), new_primQuotInt(Zero, Pos(Succ(Succ(Zero)))), h) 248.92/165.30 new_pr2F0(vyv183, Neg(Zero), vyv187, h) -> new_pr2F0G(vyv187, new_sr0(vyv183, h), Neg(new_primDivNatS1(Zero, Succ(Zero))), h) 248.92/165.30 new_pr2F0G(vyv187, vyv183, Neg(Zero), h) -> new_pr2F0G(vyv187, new_sr0(vyv183, h), Neg(new_primDivNatS1(Zero, Succ(Zero))), h) 248.92/165.30 new_pr2F0G10(vyv248, vyv249, vyv250, Zero, bb) -> new_pr2F0G(vyv248, new_sr3(vyv249, bb), Neg(new_primDivNatS1(Succ(vyv250), Succ(Zero))), bb) 248.92/165.30 248.92/165.30 The TRS R consists of the following rules: 248.92/165.30 248.92/165.30 new_sr(vyv183, ty_Int) -> new_sr6(vyv183) 248.92/165.30 new_sr(vyv183, app(ty_Ratio, bd)) -> new_sr5(vyv183, bd) 248.92/165.30 new_sr(vyv183, ty_Integer) -> new_sr7(vyv183) 248.92/165.30 new_sr(vyv183, ty_Float) -> new_sr10(vyv183) 248.92/165.30 new_sr(vyv183, ty_Double) -> new_sr9(vyv183) 248.92/165.30 new_primQuotInt(vyv2700, Pos(Succ(vyv28400))) -> Pos(new_primDivNatS1(vyv2700, vyv28400)) 248.92/165.30 new_primDivNatS1(Zero, vyv28400) -> Zero 248.92/165.30 new_primDivNatS1(Succ(Succ(vyv270000)), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS0(vyv270000), Zero)) 248.92/165.30 new_primDivNatS1(Succ(Zero), Succ(vyv284000)) -> Zero 248.92/165.30 new_primDivNatS1(Succ(Succ(vyv270000)), Succ(vyv284000)) -> new_primDivNatS02(vyv270000, vyv284000, vyv270000, vyv284000) 248.92/165.30 new_primDivNatS1(Succ(Zero), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS1, Zero)) 248.92/165.30 new_primMinusNatS1 -> Zero 248.92/165.30 new_primDivNatS02(vyv310, vyv311, Zero, Zero) -> new_primDivNatS01(vyv310, vyv311) 248.92/165.30 new_primDivNatS02(vyv310, vyv311, Succ(vyv3120), Zero) -> new_primDivNatS01(vyv310, vyv311) 248.92/165.30 new_primDivNatS02(vyv310, vyv311, Zero, Succ(vyv3130)) -> Zero 248.92/165.30 new_primDivNatS02(vyv310, vyv311, Succ(vyv3120), Succ(vyv3130)) -> new_primDivNatS02(vyv310, vyv311, vyv3120, vyv3130) 248.92/165.30 new_primDivNatS01(vyv310, vyv311) -> Succ(new_primDivNatS1(new_primMinusNatS2(vyv310, vyv311), Succ(vyv311))) 248.92/165.30 new_primMinusNatS2(Zero, Succ(vyv3110)) -> Zero 248.92/165.30 new_primMinusNatS2(Succ(vyv3100), Zero) -> Succ(vyv3100) 248.92/165.30 new_primMinusNatS2(Zero, Zero) -> Zero 248.92/165.30 new_primMinusNatS2(Succ(vyv3100), Succ(vyv3110)) -> new_primMinusNatS2(vyv3100, vyv3110) 248.92/165.30 new_primMinusNatS0(vyv270000) -> Succ(vyv270000) 248.92/165.30 new_sr9(vyv183) -> error([]) 248.92/165.30 new_sr10(vyv183) -> error([]) 248.92/165.30 new_sr7(vyv183) -> error([]) 248.92/165.30 new_sr5(:%(vyv1830, vyv1831), bd) -> new_reduce2Reduce1(vyv1830, vyv1830, vyv1831, vyv1831, new_esEs0(vyv1831, bd), bd) 248.92/165.30 new_esEs0(vyv1831, ty_Int) -> new_esEs(new_sr6(vyv1831)) 248.92/165.30 new_esEs0(vyv1831, ty_Integer) -> new_esEs1(new_sr7(vyv1831)) 248.92/165.30 new_reduce2Reduce1(vyv264, vyv265, vyv266, vyv267, False, bh) -> :%(new_quot1(vyv264, vyv265, vyv266, vyv267, bh), new_quot2(vyv266, vyv267, vyv264, vyv265, bh)) 248.92/165.30 new_reduce2Reduce1(vyv264, vyv265, vyv266, vyv267, True, bh) -> error([]) 248.92/165.30 new_quot1(vyv264, vyv265, vyv266, vyv267, ty_Int) -> new_quot0(new_sr14(vyv264, vyv265), new_sr14(vyv264, vyv265), new_sr14(vyv266, vyv267)) 248.92/165.30 new_quot1(vyv264, vyv265, vyv266, vyv267, ty_Integer) -> new_quot(new_sr8(vyv264, vyv265), new_sr8(vyv264, vyv265), new_sr8(vyv266, vyv267)) 248.92/165.30 new_quot2(vyv266, vyv267, vyv264, vyv265, ty_Int) -> new_quot0(new_sr14(vyv266, vyv267), new_sr14(vyv264, vyv265), new_sr14(vyv266, vyv267)) 248.92/165.30 new_quot2(vyv266, vyv267, vyv264, vyv265, ty_Integer) -> new_quot(new_sr8(vyv266, vyv267), new_sr8(vyv264, vyv265), new_sr8(vyv266, vyv267)) 248.92/165.30 new_sr8(vyv239, vyv238) -> error([]) 248.92/165.30 new_quot(vyv273, vyv275, vyv274) -> error([]) 248.92/165.30 new_sr14(Pos(vyv2390), Neg(vyv2380)) -> Neg(new_primMulNat0(vyv2390, vyv2380)) 248.92/165.30 new_sr14(Neg(vyv2390), Pos(vyv2380)) -> Neg(new_primMulNat0(vyv2390, vyv2380)) 248.92/165.30 new_sr14(Neg(vyv2390), Neg(vyv2380)) -> Pos(new_primMulNat0(vyv2390, vyv2380)) 248.92/165.30 new_sr14(Pos(vyv2390), Pos(vyv2380)) -> Pos(new_primMulNat0(vyv2390, vyv2380)) 248.92/165.30 new_quot0(Neg(vyv2700), vyv272, vyv271) -> new_primQuotInt0(vyv2700, new_gcd(vyv272, vyv271)) 248.92/165.30 new_quot0(Pos(vyv2700), vyv272, vyv271) -> new_primQuotInt(vyv2700, new_gcd(vyv272, vyv271)) 248.92/165.30 new_gcd(vyv272, vyv271) -> new_gcd2(new_esEs(vyv272), vyv272, vyv271) 248.92/165.30 new_primQuotInt(vyv2700, Neg(Zero)) -> new_error 248.92/165.30 new_primQuotInt(vyv2700, Pos(Zero)) -> new_error 248.92/165.30 new_primQuotInt(vyv2700, Neg(Succ(vyv28400))) -> Neg(new_primDivNatS1(vyv2700, vyv28400)) 248.92/165.30 new_error -> error([]) 248.92/165.30 new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) 248.92/165.30 new_esEs(Pos(Succ(vyv24100))) -> new_primEqInt(Pos(Succ(vyv24100))) 248.92/165.30 new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) 248.92/165.30 new_esEs(Neg(Succ(vyv24100))) -> new_primEqInt(Neg(Succ(vyv24100))) 248.92/165.30 new_gcd2(True, vyv272, vyv271) -> new_gcd1(new_esEs(vyv271), vyv272, vyv271) 248.92/165.30 new_gcd2(False, vyv272, vyv271) -> new_gcd0(vyv272, vyv271) 248.92/165.30 new_gcd0(vyv272, vyv271) -> new_gcd0Gcd'10(new_esEs(new_abs(vyv271)), vyv272, vyv271) 248.92/165.30 new_abs(Neg(Zero)) -> Neg(Zero) 248.92/165.30 new_abs(Neg(Succ(vyv27100))) -> Pos(Succ(vyv27100)) 248.92/165.30 new_abs(Pos(Succ(vyv27100))) -> Pos(Succ(vyv27100)) 248.92/165.30 new_abs(Pos(Zero)) -> Pos(Zero) 248.92/165.30 new_gcd0Gcd'10(True, vyv272, vyv271) -> new_abs(vyv272) 248.92/165.30 new_gcd0Gcd'10(False, vyv272, vyv271) -> new_gcd0Gcd'00(new_abs(vyv272), new_abs(vyv271)) 248.92/165.30 new_gcd0Gcd'00(vyv292, vyv291) -> new_gcd0Gcd'11(new_esEs(new_rem(vyv292, vyv291)), vyv291, vyv292) 248.92/165.30 new_gcd0Gcd'11(False, vyv291, vyv292) -> new_gcd0Gcd'00(vyv291, new_rem(vyv292, vyv291)) 248.92/165.30 new_rem(Pos(vyv2920), Neg(Zero)) -> new_error 248.92/165.30 new_rem(Neg(vyv2920), Pos(Zero)) -> new_error 248.92/165.30 new_rem(Pos(vyv2920), Neg(Succ(vyv29100))) -> Pos(new_primModNatS1(vyv2920, vyv29100)) 248.92/165.30 new_rem(Neg(vyv2920), Pos(Succ(vyv29100))) -> Neg(new_primModNatS1(vyv2920, vyv29100)) 248.92/165.30 new_rem(Pos(vyv2920), Pos(Succ(vyv29100))) -> Pos(new_primModNatS1(vyv2920, vyv29100)) 248.92/165.30 new_rem(Neg(vyv2920), Neg(Zero)) -> new_error 248.92/165.30 new_rem(Neg(vyv2920), Neg(Succ(vyv29100))) -> Neg(new_primModNatS1(vyv2920, vyv29100)) 248.92/165.30 new_rem(Pos(vyv2920), Pos(Zero)) -> new_error 248.92/165.30 new_gcd0Gcd'11(True, vyv291, vyv292) -> vyv291 248.92/165.30 new_primModNatS1(Succ(Zero), Succ(vyv291000)) -> Succ(Zero) 248.92/165.30 new_primModNatS1(Zero, vyv29100) -> Zero 248.92/165.30 new_primModNatS1(Succ(Succ(vyv292000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv292000), Zero) 248.92/165.30 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 248.92/165.30 new_primModNatS1(Succ(Succ(vyv292000)), Succ(vyv291000)) -> new_primModNatS01(vyv292000, vyv291000, vyv292000, vyv291000) 248.92/165.30 new_primModNatS01(vyv330, vyv331, Zero, Zero) -> new_primModNatS02(vyv330, vyv331) 248.92/165.30 new_primModNatS02(vyv330, vyv331) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv330), Succ(vyv331)), Succ(vyv331)) 248.92/165.30 new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Zero) -> new_primModNatS02(vyv330, vyv331) 248.92/165.30 new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Succ(vyv3330)) -> new_primModNatS01(vyv330, vyv331, vyv3320, vyv3330) 248.92/165.30 new_primModNatS01(vyv330, vyv331, Zero, Succ(vyv3330)) -> Succ(Succ(vyv330)) 248.92/165.30 new_gcd1(True, vyv272, vyv271) -> new_error 248.92/165.30 new_gcd1(False, vyv272, vyv271) -> new_gcd0(vyv272, vyv271) 248.92/165.30 new_primEqInt(Neg(Succ(vyv242000))) -> False 248.92/165.30 new_primEqInt(Pos(Zero)) -> True 248.92/165.30 new_primEqInt(Pos(Succ(vyv242000))) -> False 248.92/165.30 new_primEqInt(Neg(Zero)) -> True 248.92/165.30 new_primQuotInt0(vyv2700, Pos(Succ(vyv28700))) -> Neg(new_primDivNatS1(vyv2700, vyv28700)) 248.92/165.30 new_primQuotInt0(vyv2700, Neg(Zero)) -> new_error 248.92/165.30 new_primQuotInt0(vyv2700, Neg(Succ(vyv28700))) -> Pos(new_primDivNatS1(vyv2700, vyv28700)) 248.92/165.30 new_primQuotInt0(vyv2700, Pos(Zero)) -> new_error 248.92/165.30 new_primMulNat0(Succ(vyv23900), Zero) -> Zero 248.92/165.30 new_primMulNat0(Zero, Succ(vyv23800)) -> Zero 248.92/165.30 new_primMulNat0(Zero, Zero) -> Zero 248.92/165.30 new_primMulNat0(Succ(vyv23900), Succ(vyv23800)) -> new_primPlusNat0(new_primMulNat0(vyv23900, Succ(vyv23800)), Succ(vyv23800)) 248.92/165.30 new_primPlusNat0(Succ(vyv4000), Succ(vyv5000)) -> Succ(Succ(new_primPlusNat0(vyv4000, vyv5000))) 248.92/165.30 new_primPlusNat0(Zero, Succ(vyv5000)) -> Succ(vyv5000) 248.92/165.30 new_primPlusNat0(Zero, Zero) -> Zero 248.92/165.30 new_primPlusNat0(Succ(vyv4000), Zero) -> Succ(vyv4000) 248.92/165.30 new_esEs1(Integer(vyv2690)) -> new_primEqInt(vyv2690) 248.92/165.30 new_sr6(Neg(vyv1830)) -> Pos(new_primMulNat1(vyv1830)) 248.92/165.30 new_sr6(Pos(vyv1830)) -> Pos(new_primMulNat1(vyv1830)) 248.92/165.30 new_primMulNat1(Succ(vyv18300)) -> new_primPlusNat0(new_primMulNat2(vyv18300), Succ(vyv18300)) 248.92/165.30 new_primMulNat1(Zero) -> Zero 248.92/165.30 new_primMulNat2(Succ(vyv183000)) -> new_primPlusNat0(new_primMulNat3(vyv183000), Succ(Succ(vyv183000))) 248.92/165.30 new_primMulNat2(Zero) -> Zero 248.92/165.30 new_primMulNat3(Succ(vyv1830000)) -> new_primPlusNat0(new_primMulNat4(vyv1830000), Succ(Succ(Succ(vyv1830000)))) 248.92/165.30 new_primMulNat3(Zero) -> Zero 248.92/165.30 new_primMulNat4(Succ(vyv18300000)) -> new_primPlusNat0(new_primMulNat0(vyv18300000, Succ(Succ(Succ(Succ(vyv18300000))))), Succ(Succ(Succ(Succ(vyv18300000))))) 248.92/165.30 new_primMulNat4(Zero) -> Zero 248.92/165.30 new_sr1(vyv227, ty_Int) -> new_sr6(vyv227) 248.92/165.30 new_sr1(vyv227, ty_Integer) -> new_sr7(vyv227) 248.92/165.30 new_sr1(vyv227, app(ty_Ratio, be)) -> new_sr5(vyv227, be) 248.92/165.30 new_sr1(vyv227, ty_Float) -> new_sr10(vyv227) 248.92/165.30 new_sr1(vyv227, ty_Double) -> new_sr9(vyv227) 248.92/165.30 new_sr3(vyv249, ty_Float) -> new_sr10(vyv249) 248.92/165.30 new_sr3(vyv249, ty_Double) -> new_sr9(vyv249) 248.92/165.30 new_sr3(vyv249, ty_Int) -> new_sr6(vyv249) 248.92/165.30 new_sr3(vyv249, ty_Integer) -> new_sr7(vyv249) 248.92/165.30 new_sr3(vyv249, app(ty_Ratio, bg)) -> new_sr5(vyv249, bg) 248.92/165.30 new_sr0(vyv183, ty_Double) -> new_sr9(vyv183) 248.92/165.30 new_sr0(vyv183, ty_Int) -> new_sr6(vyv183) 248.92/165.30 new_sr0(vyv183, ty_Integer) -> new_sr7(vyv183) 248.92/165.30 new_sr0(vyv183, ty_Float) -> new_sr10(vyv183) 248.92/165.30 new_sr0(vyv183, app(ty_Ratio, bd)) -> new_sr5(vyv183, bd) 248.92/165.30 new_ms0(vyv240, Neg(Zero)) -> Neg(Succ(vyv240)) 248.92/165.30 new_ms0(vyv240, Pos(vyv2430)) -> Neg(new_primPlusNat0(Succ(vyv240), vyv2430)) 248.92/165.30 new_ms0(vyv240, Neg(Succ(vyv24300))) -> new_primMinusNat0(vyv24300, vyv240) 248.92/165.30 new_sr4(vyv239, vyv238, app(ty_Ratio, bf)) -> new_sr12(vyv239, vyv238, bf) 248.92/165.30 new_sr4(vyv239, vyv238, ty_Integer) -> new_sr8(vyv239, vyv238) 248.92/165.30 new_sr4(vyv239, vyv238, ty_Int) -> new_sr14(vyv239, vyv238) 248.92/165.30 new_sr4(vyv239, vyv238, ty_Double) -> new_sr11(vyv239, vyv238) 248.92/165.30 new_sr4(vyv239, vyv238, ty_Float) -> new_sr13(vyv239, vyv238) 248.92/165.30 new_sr13(vyv239, vyv238) -> error([]) 248.92/165.30 new_sr11(vyv239, vyv238) -> error([]) 248.92/165.30 new_sr12(:%(vyv2390, vyv2391), :%(vyv2380, vyv2381), bf) -> new_reduce2Reduce1(vyv2390, vyv2380, vyv2391, vyv2381, new_esEs2(vyv2391, vyv2381, bf), bf) 248.92/165.30 new_esEs2(vyv2391, vyv2381, ty_Int) -> new_esEs(new_sr14(vyv2391, vyv2381)) 248.92/165.30 new_esEs2(vyv2391, vyv2381, ty_Integer) -> new_esEs1(new_sr8(vyv2391, vyv2381)) 248.92/165.30 new_primMinusNat0(Succ(vyv2280), Succ(vyv244000)) -> new_primMinusNat0(vyv2280, vyv244000) 248.92/165.30 new_primMinusNat0(Zero, Zero) -> Pos(Zero) 248.92/165.30 new_primMinusNat0(Zero, Succ(vyv244000)) -> Neg(Succ(vyv244000)) 248.92/165.30 new_primMinusNat0(Succ(vyv2280), Zero) -> Pos(Succ(vyv2280)) 248.92/165.30 new_ms(vyv228, Neg(vyv2440)) -> Pos(new_primPlusNat0(Succ(vyv228), vyv2440)) 248.92/165.30 new_ms(vyv228, Pos(Succ(vyv24400))) -> new_primMinusNat0(vyv228, vyv24400) 248.92/165.30 new_ms(vyv228, Pos(Zero)) -> Pos(Succ(vyv228)) 248.92/165.30 new_sr2(vyv227, vyv226, ty_Int) -> new_sr14(vyv227, vyv226) 248.92/165.30 new_sr2(vyv227, vyv226, ty_Double) -> new_sr11(vyv227, vyv226) 248.92/165.30 new_sr2(vyv227, vyv226, ty_Integer) -> new_sr8(vyv227, vyv226) 248.92/165.30 new_sr2(vyv227, vyv226, ty_Float) -> new_sr13(vyv227, vyv226) 248.92/165.30 new_sr2(vyv227, vyv226, app(ty_Ratio, be)) -> new_sr12(vyv227, vyv226, be) 248.92/165.30 248.92/165.30 The set Q consists of the following terms: 248.92/165.30 248.92/165.30 new_rem(Pos(x0), Pos(Succ(x1))) 248.92/165.30 new_quot1(x0, x1, x2, x3, ty_Integer) 248.92/165.30 new_primModNatS1(Succ(Zero), Succ(x0)) 248.92/165.30 new_ms0(x0, Pos(x1)) 248.92/165.30 new_sr(x0, app(ty_Ratio, x1)) 248.92/165.30 new_primMulNat4(Zero) 248.92/165.30 new_gcd1(False, x0, x1) 248.92/165.30 new_primEqInt(Pos(Zero)) 248.92/165.30 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 248.92/165.30 new_rem(Pos(x0), Neg(Succ(x1))) 248.92/165.30 new_rem(Neg(x0), Pos(Succ(x1))) 248.92/165.30 new_sr10(x0) 248.92/165.30 new_quot1(x0, x1, x2, x3, ty_Int) 248.92/165.30 new_sr0(x0, app(ty_Ratio, x1)) 248.92/165.30 new_quot2(x0, x1, x2, x3, ty_Integer) 248.92/165.30 new_primModNatS01(x0, x1, Succ(x2), Zero) 248.92/165.30 new_sr3(x0, ty_Integer) 248.92/165.30 new_primMulNat3(Zero) 248.92/165.30 new_primDivNatS02(x0, x1, Succ(x2), Zero) 248.92/165.30 new_sr(x0, ty_Float) 248.92/165.30 new_quot2(x0, x1, x2, x3, ty_Int) 248.92/165.30 new_gcd2(False, x0, x1) 248.92/165.30 new_primDivNatS1(Succ(Zero), Zero) 248.92/165.30 new_sr0(x0, ty_Double) 248.92/165.30 new_esEs0(x0, ty_Int) 248.92/165.30 new_sr14(Pos(x0), Pos(x1)) 248.92/165.30 new_sr3(x0, ty_Int) 248.92/165.30 new_primMulNat0(Zero, Zero) 248.92/165.30 new_sr4(x0, x1, ty_Double) 248.92/165.30 new_primPlusNat0(Succ(x0), Zero) 248.92/165.30 new_primMulNat2(Zero) 248.92/165.30 new_sr11(x0, x1) 248.92/165.30 new_primModNatS01(x0, x1, Zero, Zero) 248.92/165.30 new_esEs2(x0, x1, ty_Int) 248.92/165.30 new_gcd1(True, x0, x1) 248.92/165.30 new_sr13(x0, x1) 248.92/165.30 new_sr14(Pos(x0), Neg(x1)) 248.92/165.30 new_sr14(Neg(x0), Pos(x1)) 248.92/165.30 new_primDivNatS1(Succ(Succ(x0)), Succ(x1)) 248.92/165.30 new_sr1(x0, ty_Int) 248.92/165.30 new_primModNatS1(Zero, x0) 248.92/165.30 new_esEs(Pos(Succ(x0))) 248.92/165.30 new_primMulNat3(Succ(x0)) 248.92/165.30 new_sr1(x0, app(ty_Ratio, x1)) 248.92/165.30 new_primQuotInt(x0, Neg(Succ(x1))) 248.92/165.30 new_reduce2Reduce1(x0, x1, x2, x3, False, x4) 248.92/165.30 new_primMinusNat0(Zero, Zero) 248.92/165.30 new_primDivNatS1(Zero, x0) 248.92/165.30 new_primDivNatS02(x0, x1, Succ(x2), Succ(x3)) 248.92/165.30 new_primModNatS02(x0, x1) 248.92/165.30 new_primDivNatS1(Succ(Zero), Succ(x0)) 248.92/165.30 new_sr6(Neg(x0)) 248.92/165.30 new_gcd0Gcd'10(True, x0, x1) 248.92/165.30 new_primMulNat0(Succ(x0), Succ(x1)) 248.92/165.30 new_abs(Neg(Zero)) 248.92/165.30 new_ms(x0, Neg(x1)) 248.92/165.30 new_rem(Pos(x0), Neg(Zero)) 248.92/165.30 new_rem(Neg(x0), Pos(Zero)) 248.92/165.30 new_primMinusNatS2(Zero, Succ(x0)) 248.92/165.30 new_esEs(Neg(Succ(x0))) 248.92/165.30 new_error 248.92/165.30 new_primModNatS1(Succ(Zero), Zero) 248.92/165.30 new_primMulNat0(Zero, Succ(x0)) 248.92/165.30 new_sr3(x0, ty_Float) 248.92/165.30 new_quot(x0, x1, x2) 248.92/165.30 new_gcd2(True, x0, x1) 248.92/165.30 new_gcd0Gcd'11(True, x0, x1) 248.92/165.30 new_primEqInt(Neg(Zero)) 248.92/165.30 new_sr2(x0, x1, ty_Double) 248.92/165.30 new_primMulNat0(Succ(x0), Zero) 248.92/165.30 new_quot0(Neg(x0), x1, x2) 248.92/165.30 new_primMinusNatS2(Succ(x0), Succ(x1)) 248.92/165.30 new_sr4(x0, x1, app(ty_Ratio, x2)) 248.92/165.30 new_sr8(x0, x1) 248.92/165.30 new_primDivNatS01(x0, x1) 248.92/165.30 new_primDivNatS02(x0, x1, Zero, Succ(x2)) 248.92/165.30 new_primPlusNat0(Succ(x0), Succ(x1)) 248.92/165.30 new_sr1(x0, ty_Integer) 248.92/165.30 new_primPlusNat0(Zero, Zero) 248.92/165.30 new_sr1(x0, ty_Float) 248.92/165.30 new_primMinusNat0(Succ(x0), Succ(x1)) 248.92/165.30 new_sr12(:%(x0, x1), :%(x2, x3), x4) 248.92/165.30 new_abs(Neg(Succ(x0))) 248.92/165.30 new_sr1(x0, ty_Double) 248.92/165.30 new_sr3(x0, app(ty_Ratio, x1)) 248.92/165.30 new_sr7(x0) 248.92/165.30 new_gcd0(x0, x1) 248.92/165.30 new_sr(x0, ty_Integer) 248.92/165.30 new_sr0(x0, ty_Int) 248.92/165.30 new_primQuotInt0(x0, Pos(Succ(x1))) 248.92/165.30 new_sr4(x0, x1, ty_Integer) 248.92/165.30 new_sr5(:%(x0, x1), x2) 248.92/165.30 new_primMinusNatS2(Zero, Zero) 248.92/165.30 new_primMulNat1(Succ(x0)) 248.92/165.30 new_sr0(x0, ty_Integer) 248.92/165.30 new_ms(x0, Pos(Zero)) 248.92/165.30 new_abs(Pos(Succ(x0))) 248.92/165.30 new_sr4(x0, x1, ty_Int) 248.92/165.30 new_esEs(Pos(Zero)) 248.92/165.30 new_primQuotInt0(x0, Pos(Zero)) 248.92/165.30 new_sr(x0, ty_Int) 248.92/165.30 new_primEqInt(Neg(Succ(x0))) 248.92/165.30 new_primQuotInt(x0, Neg(Zero)) 248.92/165.30 new_primQuotInt0(x0, Neg(Zero)) 248.92/165.30 new_primQuotInt0(x0, Neg(Succ(x1))) 248.92/165.30 new_gcd(x0, x1) 248.92/165.30 new_quot0(Pos(x0), x1, x2) 248.92/165.30 new_primMinusNatS0(x0) 248.92/165.30 new_primPlusNat0(Zero, Succ(x0)) 248.92/165.30 new_sr2(x0, x1, app(ty_Ratio, x2)) 248.92/165.30 new_sr2(x0, x1, ty_Int) 248.92/165.30 new_primQuotInt(x0, Pos(Succ(x1))) 248.92/165.30 new_primDivNatS1(Succ(Succ(x0)), Zero) 248.92/165.30 new_rem(Pos(x0), Pos(Zero)) 248.92/165.30 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 248.92/165.30 new_primDivNatS02(x0, x1, Zero, Zero) 248.92/165.30 new_abs(Pos(Zero)) 248.92/165.30 new_gcd0Gcd'10(False, x0, x1) 248.92/165.30 new_ms(x0, Pos(Succ(x1))) 248.92/165.30 new_primMinusNatS1 248.92/165.30 new_esEs1(Integer(x0)) 248.92/165.30 new_ms0(x0, Neg(Zero)) 248.92/165.30 new_primMinusNat0(Succ(x0), Zero) 248.92/165.30 new_ms0(x0, Neg(Succ(x1))) 248.92/165.30 new_sr2(x0, x1, ty_Integer) 248.92/165.30 new_primModNatS01(x0, x1, Zero, Succ(x2)) 248.92/165.30 new_primMulNat2(Succ(x0)) 248.92/165.30 new_sr0(x0, ty_Float) 248.92/165.30 new_sr14(Neg(x0), Neg(x1)) 248.92/165.30 new_sr2(x0, x1, ty_Float) 248.92/165.30 new_primMinusNatS2(Succ(x0), Zero) 248.92/165.30 new_sr4(x0, x1, ty_Float) 248.92/165.30 new_sr6(Pos(x0)) 248.92/165.30 new_esEs2(x0, x1, ty_Integer) 248.92/165.30 new_primMulNat4(Succ(x0)) 248.92/165.30 new_rem(Neg(x0), Neg(Succ(x1))) 248.92/165.30 new_primEqInt(Pos(Succ(x0))) 248.92/165.30 new_primQuotInt(x0, Pos(Zero)) 248.92/165.30 new_gcd0Gcd'11(False, x0, x1) 248.92/165.30 new_sr9(x0) 248.92/165.30 new_primModNatS1(Succ(Succ(x0)), Zero) 248.92/165.30 new_sr(x0, ty_Double) 248.92/165.30 new_esEs0(x0, ty_Integer) 248.92/165.30 new_gcd0Gcd'00(x0, x1) 248.92/165.30 new_reduce2Reduce1(x0, x1, x2, x3, True, x4) 248.92/165.30 new_sr3(x0, ty_Double) 248.92/165.30 new_esEs(Neg(Zero)) 248.92/165.30 new_primMulNat1(Zero) 248.92/165.30 new_primMinusNat0(Zero, Succ(x0)) 248.92/165.30 new_rem(Neg(x0), Neg(Zero)) 248.92/165.30 248.92/165.30 We have to consider all minimal (P,Q,R)-chains. 248.92/165.30 ---------------------------------------- 248.92/165.30 248.92/165.30 (743) TransformationProof (EQUIVALENT) 248.92/165.30 By rewriting [LPAR04] the rule new_pr2F0G(vyv187, vyv183, Pos(Zero), h) -> new_pr2F0G(vyv187, new_sr(vyv183, h), new_primQuotInt(Zero, Pos(Succ(Succ(Zero)))), h) at position [2] we obtained the following new rules [LPAR04]: 248.92/165.30 248.92/165.30 (new_pr2F0G(vyv187, vyv183, Pos(Zero), h) -> new_pr2F0G(vyv187, new_sr(vyv183, h), Pos(new_primDivNatS1(Zero, Succ(Zero))), h),new_pr2F0G(vyv187, vyv183, Pos(Zero), h) -> new_pr2F0G(vyv187, new_sr(vyv183, h), Pos(new_primDivNatS1(Zero, Succ(Zero))), h)) 248.92/165.30 248.92/165.30 248.92/165.30 ---------------------------------------- 248.92/165.30 248.92/165.30 (744) 248.92/165.30 Obligation: 248.92/165.30 Q DP problem: 248.92/165.30 The TRS P consists of the following rules: 248.92/165.30 248.92/165.30 new_pr2F0G10(vyv248, vyv249, vyv250, Succ(Succ(vyv25100)), bb) -> new_pr2F0G10(vyv248, vyv249, vyv250, vyv25100, bb) 248.92/165.30 new_pr2F0G(vyv187, vyv183, Neg(Succ(Zero)), h) -> new_pr2F0G11(vyv187, vyv183, Zero, h) 248.92/165.30 new_pr2F0G(vyv187, vyv183, Pos(Succ(Succ(vyv222000))), h) -> new_pr2F0G1(vyv187, vyv183, Succ(vyv222000), vyv222000, h) 248.92/165.30 new_pr2F0(vyv183, Neg(Succ(Succ(vyv222000))), vyv187, h) -> new_pr2F0G10(vyv187, vyv183, Succ(vyv222000), vyv222000, h) 248.92/165.30 new_pr2F0(vyv183, Neg(Succ(Zero)), vyv187, h) -> new_pr2F0G11(vyv187, vyv183, Zero, h) 248.92/165.30 new_pr2F0G10(vyv248, vyv249, vyv250, Succ(Zero), bb) -> new_pr2F0G11(vyv248, vyv249, vyv250, bb) 248.92/165.30 new_pr2F0G(vyv187, vyv183, Neg(Succ(Succ(vyv222000))), h) -> new_pr2F0G10(vyv187, vyv183, Succ(vyv222000), vyv222000, h) 248.92/165.30 new_pr2F3(False, vyv227, vyv228, vyv244, vyv226, ba) -> new_pr2F0(vyv227, new_ms(vyv228, vyv244), new_sr2(vyv227, vyv226, ba), ba) 248.92/165.30 new_pr2F0(vyv183, Pos(Succ(Succ(vyv222000))), vyv187, h) -> new_pr2F0G1(vyv187, vyv183, Succ(vyv222000), vyv222000, h) 248.92/165.30 new_pr2F1(vyv239, vyv240, vyv243, vyv238, bc) -> new_pr2F30(new_esEs(new_ms0(vyv240, vyv243)), vyv239, vyv240, vyv243, vyv238, bc) 248.92/165.30 new_pr2F(vyv227, vyv228, vyv244, vyv226, ba) -> new_pr2F3(new_esEs(new_ms(vyv228, vyv244)), vyv227, vyv228, vyv244, vyv226, ba) 248.92/165.30 new_pr2F0G1(vyv226, vyv227, vyv228, Succ(Succ(vyv22900)), ba) -> new_pr2F0G1(vyv226, vyv227, vyv228, vyv22900, ba) 248.92/165.30 new_pr2F30(False, vyv239, vyv240, vyv243, vyv238, bc) -> new_pr2F0(vyv239, new_ms0(vyv240, vyv243), new_sr4(vyv239, vyv238, bc), bc) 248.92/165.30 new_pr2F0G11(vyv238, vyv239, vyv240, bc) -> new_pr2F1(vyv239, vyv240, Pos(Succ(Zero)), vyv238, bc) 248.92/165.30 new_pr2F0(vyv183, Pos(Succ(Zero)), vyv187, h) -> new_pr2F(vyv183, Zero, Pos(Succ(Zero)), vyv187, h) 248.92/165.30 new_pr2F0G1(vyv226, vyv227, vyv228, Succ(Zero), ba) -> new_pr2F(vyv227, vyv228, Pos(Succ(Zero)), vyv226, ba) 248.92/165.30 new_pr2F0G(vyv187, vyv183, Pos(Succ(Zero)), h) -> new_pr2F(vyv183, Zero, Pos(Succ(Zero)), vyv187, h) 248.92/165.30 new_pr2F0G1(vyv226, vyv227, vyv228, Zero, ba) -> new_pr2F0G(vyv226, new_sr1(vyv227, ba), new_primQuotInt(Succ(vyv228), Pos(Succ(Succ(Zero)))), ba) 248.92/165.30 new_pr2F0(vyv183, Pos(Zero), vyv187, h) -> new_pr2F0G(vyv187, new_sr(vyv183, h), new_primQuotInt(Zero, Pos(Succ(Succ(Zero)))), h) 248.92/165.30 new_pr2F0(vyv183, Neg(Zero), vyv187, h) -> new_pr2F0G(vyv187, new_sr0(vyv183, h), Neg(new_primDivNatS1(Zero, Succ(Zero))), h) 248.92/165.30 new_pr2F0G(vyv187, vyv183, Neg(Zero), h) -> new_pr2F0G(vyv187, new_sr0(vyv183, h), Neg(new_primDivNatS1(Zero, Succ(Zero))), h) 248.92/165.30 new_pr2F0G10(vyv248, vyv249, vyv250, Zero, bb) -> new_pr2F0G(vyv248, new_sr3(vyv249, bb), Neg(new_primDivNatS1(Succ(vyv250), Succ(Zero))), bb) 248.92/165.30 new_pr2F0G(vyv187, vyv183, Pos(Zero), h) -> new_pr2F0G(vyv187, new_sr(vyv183, h), Pos(new_primDivNatS1(Zero, Succ(Zero))), h) 248.92/165.30 248.92/165.30 The TRS R consists of the following rules: 248.92/165.30 248.92/165.30 new_sr(vyv183, ty_Int) -> new_sr6(vyv183) 248.92/165.30 new_sr(vyv183, app(ty_Ratio, bd)) -> new_sr5(vyv183, bd) 248.92/165.30 new_sr(vyv183, ty_Integer) -> new_sr7(vyv183) 248.92/165.30 new_sr(vyv183, ty_Float) -> new_sr10(vyv183) 248.92/165.30 new_sr(vyv183, ty_Double) -> new_sr9(vyv183) 248.92/165.30 new_primQuotInt(vyv2700, Pos(Succ(vyv28400))) -> Pos(new_primDivNatS1(vyv2700, vyv28400)) 248.92/165.30 new_primDivNatS1(Zero, vyv28400) -> Zero 248.92/165.30 new_primDivNatS1(Succ(Succ(vyv270000)), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS0(vyv270000), Zero)) 248.92/165.30 new_primDivNatS1(Succ(Zero), Succ(vyv284000)) -> Zero 248.92/165.30 new_primDivNatS1(Succ(Succ(vyv270000)), Succ(vyv284000)) -> new_primDivNatS02(vyv270000, vyv284000, vyv270000, vyv284000) 248.92/165.30 new_primDivNatS1(Succ(Zero), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS1, Zero)) 248.92/165.30 new_primMinusNatS1 -> Zero 248.92/165.30 new_primDivNatS02(vyv310, vyv311, Zero, Zero) -> new_primDivNatS01(vyv310, vyv311) 248.92/165.30 new_primDivNatS02(vyv310, vyv311, Succ(vyv3120), Zero) -> new_primDivNatS01(vyv310, vyv311) 248.92/165.30 new_primDivNatS02(vyv310, vyv311, Zero, Succ(vyv3130)) -> Zero 248.92/165.30 new_primDivNatS02(vyv310, vyv311, Succ(vyv3120), Succ(vyv3130)) -> new_primDivNatS02(vyv310, vyv311, vyv3120, vyv3130) 248.92/165.30 new_primDivNatS01(vyv310, vyv311) -> Succ(new_primDivNatS1(new_primMinusNatS2(vyv310, vyv311), Succ(vyv311))) 248.92/165.30 new_primMinusNatS2(Zero, Succ(vyv3110)) -> Zero 248.92/165.30 new_primMinusNatS2(Succ(vyv3100), Zero) -> Succ(vyv3100) 248.92/165.30 new_primMinusNatS2(Zero, Zero) -> Zero 248.92/165.30 new_primMinusNatS2(Succ(vyv3100), Succ(vyv3110)) -> new_primMinusNatS2(vyv3100, vyv3110) 248.92/165.30 new_primMinusNatS0(vyv270000) -> Succ(vyv270000) 248.92/165.30 new_sr9(vyv183) -> error([]) 248.92/165.30 new_sr10(vyv183) -> error([]) 248.92/165.30 new_sr7(vyv183) -> error([]) 248.92/165.30 new_sr5(:%(vyv1830, vyv1831), bd) -> new_reduce2Reduce1(vyv1830, vyv1830, vyv1831, vyv1831, new_esEs0(vyv1831, bd), bd) 248.92/165.30 new_esEs0(vyv1831, ty_Int) -> new_esEs(new_sr6(vyv1831)) 248.92/165.30 new_esEs0(vyv1831, ty_Integer) -> new_esEs1(new_sr7(vyv1831)) 248.92/165.30 new_reduce2Reduce1(vyv264, vyv265, vyv266, vyv267, False, bh) -> :%(new_quot1(vyv264, vyv265, vyv266, vyv267, bh), new_quot2(vyv266, vyv267, vyv264, vyv265, bh)) 248.92/165.30 new_reduce2Reduce1(vyv264, vyv265, vyv266, vyv267, True, bh) -> error([]) 248.92/165.30 new_quot1(vyv264, vyv265, vyv266, vyv267, ty_Int) -> new_quot0(new_sr14(vyv264, vyv265), new_sr14(vyv264, vyv265), new_sr14(vyv266, vyv267)) 248.92/165.30 new_quot1(vyv264, vyv265, vyv266, vyv267, ty_Integer) -> new_quot(new_sr8(vyv264, vyv265), new_sr8(vyv264, vyv265), new_sr8(vyv266, vyv267)) 248.92/165.30 new_quot2(vyv266, vyv267, vyv264, vyv265, ty_Int) -> new_quot0(new_sr14(vyv266, vyv267), new_sr14(vyv264, vyv265), new_sr14(vyv266, vyv267)) 248.92/165.30 new_quot2(vyv266, vyv267, vyv264, vyv265, ty_Integer) -> new_quot(new_sr8(vyv266, vyv267), new_sr8(vyv264, vyv265), new_sr8(vyv266, vyv267)) 248.92/165.30 new_sr8(vyv239, vyv238) -> error([]) 248.92/165.30 new_quot(vyv273, vyv275, vyv274) -> error([]) 248.92/165.30 new_sr14(Pos(vyv2390), Neg(vyv2380)) -> Neg(new_primMulNat0(vyv2390, vyv2380)) 248.92/165.30 new_sr14(Neg(vyv2390), Pos(vyv2380)) -> Neg(new_primMulNat0(vyv2390, vyv2380)) 248.92/165.30 new_sr14(Neg(vyv2390), Neg(vyv2380)) -> Pos(new_primMulNat0(vyv2390, vyv2380)) 248.92/165.30 new_sr14(Pos(vyv2390), Pos(vyv2380)) -> Pos(new_primMulNat0(vyv2390, vyv2380)) 248.92/165.30 new_quot0(Neg(vyv2700), vyv272, vyv271) -> new_primQuotInt0(vyv2700, new_gcd(vyv272, vyv271)) 248.92/165.30 new_quot0(Pos(vyv2700), vyv272, vyv271) -> new_primQuotInt(vyv2700, new_gcd(vyv272, vyv271)) 248.92/165.30 new_gcd(vyv272, vyv271) -> new_gcd2(new_esEs(vyv272), vyv272, vyv271) 248.92/165.30 new_primQuotInt(vyv2700, Neg(Zero)) -> new_error 248.92/165.30 new_primQuotInt(vyv2700, Pos(Zero)) -> new_error 248.92/165.30 new_primQuotInt(vyv2700, Neg(Succ(vyv28400))) -> Neg(new_primDivNatS1(vyv2700, vyv28400)) 248.92/165.30 new_error -> error([]) 248.92/165.30 new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) 248.92/165.30 new_esEs(Pos(Succ(vyv24100))) -> new_primEqInt(Pos(Succ(vyv24100))) 248.92/165.30 new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) 248.92/165.30 new_esEs(Neg(Succ(vyv24100))) -> new_primEqInt(Neg(Succ(vyv24100))) 248.92/165.30 new_gcd2(True, vyv272, vyv271) -> new_gcd1(new_esEs(vyv271), vyv272, vyv271) 248.92/165.30 new_gcd2(False, vyv272, vyv271) -> new_gcd0(vyv272, vyv271) 248.92/165.30 new_gcd0(vyv272, vyv271) -> new_gcd0Gcd'10(new_esEs(new_abs(vyv271)), vyv272, vyv271) 248.92/165.30 new_abs(Neg(Zero)) -> Neg(Zero) 248.92/165.30 new_abs(Neg(Succ(vyv27100))) -> Pos(Succ(vyv27100)) 248.92/165.30 new_abs(Pos(Succ(vyv27100))) -> Pos(Succ(vyv27100)) 248.92/165.30 new_abs(Pos(Zero)) -> Pos(Zero) 248.92/165.30 new_gcd0Gcd'10(True, vyv272, vyv271) -> new_abs(vyv272) 248.92/165.30 new_gcd0Gcd'10(False, vyv272, vyv271) -> new_gcd0Gcd'00(new_abs(vyv272), new_abs(vyv271)) 248.92/165.30 new_gcd0Gcd'00(vyv292, vyv291) -> new_gcd0Gcd'11(new_esEs(new_rem(vyv292, vyv291)), vyv291, vyv292) 248.92/165.30 new_gcd0Gcd'11(False, vyv291, vyv292) -> new_gcd0Gcd'00(vyv291, new_rem(vyv292, vyv291)) 248.92/165.30 new_rem(Pos(vyv2920), Neg(Zero)) -> new_error 248.92/165.30 new_rem(Neg(vyv2920), Pos(Zero)) -> new_error 248.92/165.30 new_rem(Pos(vyv2920), Neg(Succ(vyv29100))) -> Pos(new_primModNatS1(vyv2920, vyv29100)) 248.92/165.30 new_rem(Neg(vyv2920), Pos(Succ(vyv29100))) -> Neg(new_primModNatS1(vyv2920, vyv29100)) 248.92/165.30 new_rem(Pos(vyv2920), Pos(Succ(vyv29100))) -> Pos(new_primModNatS1(vyv2920, vyv29100)) 248.92/165.30 new_rem(Neg(vyv2920), Neg(Zero)) -> new_error 248.92/165.30 new_rem(Neg(vyv2920), Neg(Succ(vyv29100))) -> Neg(new_primModNatS1(vyv2920, vyv29100)) 248.92/165.30 new_rem(Pos(vyv2920), Pos(Zero)) -> new_error 248.92/165.30 new_gcd0Gcd'11(True, vyv291, vyv292) -> vyv291 248.92/165.30 new_primModNatS1(Succ(Zero), Succ(vyv291000)) -> Succ(Zero) 248.92/165.30 new_primModNatS1(Zero, vyv29100) -> Zero 248.92/165.30 new_primModNatS1(Succ(Succ(vyv292000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv292000), Zero) 248.92/165.30 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 248.92/165.30 new_primModNatS1(Succ(Succ(vyv292000)), Succ(vyv291000)) -> new_primModNatS01(vyv292000, vyv291000, vyv292000, vyv291000) 248.92/165.30 new_primModNatS01(vyv330, vyv331, Zero, Zero) -> new_primModNatS02(vyv330, vyv331) 248.92/165.30 new_primModNatS02(vyv330, vyv331) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv330), Succ(vyv331)), Succ(vyv331)) 248.92/165.30 new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Zero) -> new_primModNatS02(vyv330, vyv331) 248.92/165.30 new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Succ(vyv3330)) -> new_primModNatS01(vyv330, vyv331, vyv3320, vyv3330) 248.92/165.30 new_primModNatS01(vyv330, vyv331, Zero, Succ(vyv3330)) -> Succ(Succ(vyv330)) 248.92/165.30 new_gcd1(True, vyv272, vyv271) -> new_error 248.92/165.30 new_gcd1(False, vyv272, vyv271) -> new_gcd0(vyv272, vyv271) 248.92/165.30 new_primEqInt(Neg(Succ(vyv242000))) -> False 248.92/165.30 new_primEqInt(Pos(Zero)) -> True 248.92/165.30 new_primEqInt(Pos(Succ(vyv242000))) -> False 248.92/165.30 new_primEqInt(Neg(Zero)) -> True 248.92/165.30 new_primQuotInt0(vyv2700, Pos(Succ(vyv28700))) -> Neg(new_primDivNatS1(vyv2700, vyv28700)) 248.92/165.30 new_primQuotInt0(vyv2700, Neg(Zero)) -> new_error 248.92/165.30 new_primQuotInt0(vyv2700, Neg(Succ(vyv28700))) -> Pos(new_primDivNatS1(vyv2700, vyv28700)) 248.92/165.30 new_primQuotInt0(vyv2700, Pos(Zero)) -> new_error 248.92/165.30 new_primMulNat0(Succ(vyv23900), Zero) -> Zero 248.92/165.30 new_primMulNat0(Zero, Succ(vyv23800)) -> Zero 248.92/165.30 new_primMulNat0(Zero, Zero) -> Zero 248.92/165.30 new_primMulNat0(Succ(vyv23900), Succ(vyv23800)) -> new_primPlusNat0(new_primMulNat0(vyv23900, Succ(vyv23800)), Succ(vyv23800)) 248.92/165.30 new_primPlusNat0(Succ(vyv4000), Succ(vyv5000)) -> Succ(Succ(new_primPlusNat0(vyv4000, vyv5000))) 248.92/165.30 new_primPlusNat0(Zero, Succ(vyv5000)) -> Succ(vyv5000) 248.92/165.30 new_primPlusNat0(Zero, Zero) -> Zero 248.92/165.30 new_primPlusNat0(Succ(vyv4000), Zero) -> Succ(vyv4000) 248.92/165.30 new_esEs1(Integer(vyv2690)) -> new_primEqInt(vyv2690) 248.92/165.30 new_sr6(Neg(vyv1830)) -> Pos(new_primMulNat1(vyv1830)) 248.92/165.30 new_sr6(Pos(vyv1830)) -> Pos(new_primMulNat1(vyv1830)) 248.92/165.30 new_primMulNat1(Succ(vyv18300)) -> new_primPlusNat0(new_primMulNat2(vyv18300), Succ(vyv18300)) 248.92/165.30 new_primMulNat1(Zero) -> Zero 248.92/165.30 new_primMulNat2(Succ(vyv183000)) -> new_primPlusNat0(new_primMulNat3(vyv183000), Succ(Succ(vyv183000))) 248.92/165.30 new_primMulNat2(Zero) -> Zero 248.92/165.30 new_primMulNat3(Succ(vyv1830000)) -> new_primPlusNat0(new_primMulNat4(vyv1830000), Succ(Succ(Succ(vyv1830000)))) 248.92/165.30 new_primMulNat3(Zero) -> Zero 248.92/165.30 new_primMulNat4(Succ(vyv18300000)) -> new_primPlusNat0(new_primMulNat0(vyv18300000, Succ(Succ(Succ(Succ(vyv18300000))))), Succ(Succ(Succ(Succ(vyv18300000))))) 248.92/165.30 new_primMulNat4(Zero) -> Zero 248.92/165.30 new_sr1(vyv227, ty_Int) -> new_sr6(vyv227) 248.92/165.30 new_sr1(vyv227, ty_Integer) -> new_sr7(vyv227) 248.92/165.30 new_sr1(vyv227, app(ty_Ratio, be)) -> new_sr5(vyv227, be) 248.92/165.30 new_sr1(vyv227, ty_Float) -> new_sr10(vyv227) 248.92/165.30 new_sr1(vyv227, ty_Double) -> new_sr9(vyv227) 248.92/165.30 new_sr3(vyv249, ty_Float) -> new_sr10(vyv249) 248.92/165.30 new_sr3(vyv249, ty_Double) -> new_sr9(vyv249) 248.92/165.30 new_sr3(vyv249, ty_Int) -> new_sr6(vyv249) 248.92/165.30 new_sr3(vyv249, ty_Integer) -> new_sr7(vyv249) 248.92/165.30 new_sr3(vyv249, app(ty_Ratio, bg)) -> new_sr5(vyv249, bg) 248.92/165.30 new_sr0(vyv183, ty_Double) -> new_sr9(vyv183) 248.92/165.30 new_sr0(vyv183, ty_Int) -> new_sr6(vyv183) 248.92/165.30 new_sr0(vyv183, ty_Integer) -> new_sr7(vyv183) 248.92/165.30 new_sr0(vyv183, ty_Float) -> new_sr10(vyv183) 248.92/165.30 new_sr0(vyv183, app(ty_Ratio, bd)) -> new_sr5(vyv183, bd) 248.92/165.30 new_ms0(vyv240, Neg(Zero)) -> Neg(Succ(vyv240)) 248.92/165.30 new_ms0(vyv240, Pos(vyv2430)) -> Neg(new_primPlusNat0(Succ(vyv240), vyv2430)) 248.92/165.30 new_ms0(vyv240, Neg(Succ(vyv24300))) -> new_primMinusNat0(vyv24300, vyv240) 248.92/165.30 new_sr4(vyv239, vyv238, app(ty_Ratio, bf)) -> new_sr12(vyv239, vyv238, bf) 248.92/165.30 new_sr4(vyv239, vyv238, ty_Integer) -> new_sr8(vyv239, vyv238) 248.92/165.30 new_sr4(vyv239, vyv238, ty_Int) -> new_sr14(vyv239, vyv238) 248.92/165.30 new_sr4(vyv239, vyv238, ty_Double) -> new_sr11(vyv239, vyv238) 248.92/165.30 new_sr4(vyv239, vyv238, ty_Float) -> new_sr13(vyv239, vyv238) 248.92/165.30 new_sr13(vyv239, vyv238) -> error([]) 248.92/165.30 new_sr11(vyv239, vyv238) -> error([]) 248.92/165.30 new_sr12(:%(vyv2390, vyv2391), :%(vyv2380, vyv2381), bf) -> new_reduce2Reduce1(vyv2390, vyv2380, vyv2391, vyv2381, new_esEs2(vyv2391, vyv2381, bf), bf) 248.92/165.30 new_esEs2(vyv2391, vyv2381, ty_Int) -> new_esEs(new_sr14(vyv2391, vyv2381)) 248.92/165.30 new_esEs2(vyv2391, vyv2381, ty_Integer) -> new_esEs1(new_sr8(vyv2391, vyv2381)) 248.92/165.30 new_primMinusNat0(Succ(vyv2280), Succ(vyv244000)) -> new_primMinusNat0(vyv2280, vyv244000) 248.92/165.30 new_primMinusNat0(Zero, Zero) -> Pos(Zero) 248.92/165.30 new_primMinusNat0(Zero, Succ(vyv244000)) -> Neg(Succ(vyv244000)) 248.92/165.30 new_primMinusNat0(Succ(vyv2280), Zero) -> Pos(Succ(vyv2280)) 248.92/165.30 new_ms(vyv228, Neg(vyv2440)) -> Pos(new_primPlusNat0(Succ(vyv228), vyv2440)) 248.92/165.30 new_ms(vyv228, Pos(Succ(vyv24400))) -> new_primMinusNat0(vyv228, vyv24400) 248.92/165.30 new_ms(vyv228, Pos(Zero)) -> Pos(Succ(vyv228)) 248.92/165.30 new_sr2(vyv227, vyv226, ty_Int) -> new_sr14(vyv227, vyv226) 248.92/165.30 new_sr2(vyv227, vyv226, ty_Double) -> new_sr11(vyv227, vyv226) 248.92/165.30 new_sr2(vyv227, vyv226, ty_Integer) -> new_sr8(vyv227, vyv226) 248.92/165.30 new_sr2(vyv227, vyv226, ty_Float) -> new_sr13(vyv227, vyv226) 248.92/165.30 new_sr2(vyv227, vyv226, app(ty_Ratio, be)) -> new_sr12(vyv227, vyv226, be) 248.92/165.30 248.92/165.30 The set Q consists of the following terms: 248.92/165.30 248.92/165.30 new_rem(Pos(x0), Pos(Succ(x1))) 248.92/165.30 new_quot1(x0, x1, x2, x3, ty_Integer) 248.92/165.30 new_primModNatS1(Succ(Zero), Succ(x0)) 248.92/165.30 new_ms0(x0, Pos(x1)) 248.92/165.30 new_sr(x0, app(ty_Ratio, x1)) 248.92/165.30 new_primMulNat4(Zero) 248.92/165.30 new_gcd1(False, x0, x1) 248.92/165.30 new_primEqInt(Pos(Zero)) 248.92/165.30 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 248.92/165.30 new_rem(Pos(x0), Neg(Succ(x1))) 248.92/165.30 new_rem(Neg(x0), Pos(Succ(x1))) 248.92/165.30 new_sr10(x0) 248.92/165.30 new_quot1(x0, x1, x2, x3, ty_Int) 248.92/165.30 new_sr0(x0, app(ty_Ratio, x1)) 248.92/165.30 new_quot2(x0, x1, x2, x3, ty_Integer) 248.92/165.30 new_primModNatS01(x0, x1, Succ(x2), Zero) 248.92/165.30 new_sr3(x0, ty_Integer) 248.92/165.30 new_primMulNat3(Zero) 248.92/165.30 new_primDivNatS02(x0, x1, Succ(x2), Zero) 248.92/165.30 new_sr(x0, ty_Float) 248.92/165.30 new_quot2(x0, x1, x2, x3, ty_Int) 248.92/165.30 new_gcd2(False, x0, x1) 248.92/165.30 new_primDivNatS1(Succ(Zero), Zero) 248.92/165.30 new_sr0(x0, ty_Double) 248.92/165.30 new_esEs0(x0, ty_Int) 248.92/165.30 new_sr14(Pos(x0), Pos(x1)) 248.92/165.30 new_sr3(x0, ty_Int) 248.92/165.30 new_primMulNat0(Zero, Zero) 248.92/165.30 new_sr4(x0, x1, ty_Double) 248.92/165.30 new_primPlusNat0(Succ(x0), Zero) 248.92/165.30 new_primMulNat2(Zero) 248.92/165.30 new_sr11(x0, x1) 248.92/165.30 new_primModNatS01(x0, x1, Zero, Zero) 248.92/165.30 new_esEs2(x0, x1, ty_Int) 248.92/165.30 new_gcd1(True, x0, x1) 248.92/165.30 new_sr13(x0, x1) 248.92/165.30 new_sr14(Pos(x0), Neg(x1)) 248.92/165.30 new_sr14(Neg(x0), Pos(x1)) 248.92/165.30 new_primDivNatS1(Succ(Succ(x0)), Succ(x1)) 248.92/165.30 new_sr1(x0, ty_Int) 248.92/165.30 new_primModNatS1(Zero, x0) 248.92/165.30 new_esEs(Pos(Succ(x0))) 248.92/165.30 new_primMulNat3(Succ(x0)) 248.92/165.30 new_sr1(x0, app(ty_Ratio, x1)) 248.92/165.30 new_primQuotInt(x0, Neg(Succ(x1))) 248.92/165.30 new_reduce2Reduce1(x0, x1, x2, x3, False, x4) 248.92/165.30 new_primMinusNat0(Zero, Zero) 248.92/165.30 new_primDivNatS1(Zero, x0) 248.92/165.30 new_primDivNatS02(x0, x1, Succ(x2), Succ(x3)) 248.92/165.30 new_primModNatS02(x0, x1) 248.92/165.30 new_primDivNatS1(Succ(Zero), Succ(x0)) 248.92/165.30 new_sr6(Neg(x0)) 248.92/165.30 new_gcd0Gcd'10(True, x0, x1) 248.92/165.30 new_primMulNat0(Succ(x0), Succ(x1)) 248.92/165.30 new_abs(Neg(Zero)) 248.92/165.30 new_ms(x0, Neg(x1)) 248.92/165.30 new_rem(Pos(x0), Neg(Zero)) 248.92/165.30 new_rem(Neg(x0), Pos(Zero)) 248.92/165.30 new_primMinusNatS2(Zero, Succ(x0)) 248.92/165.30 new_esEs(Neg(Succ(x0))) 248.92/165.30 new_error 248.92/165.30 new_primModNatS1(Succ(Zero), Zero) 248.92/165.30 new_primMulNat0(Zero, Succ(x0)) 248.92/165.30 new_sr3(x0, ty_Float) 248.92/165.30 new_quot(x0, x1, x2) 248.92/165.30 new_gcd2(True, x0, x1) 248.92/165.30 new_gcd0Gcd'11(True, x0, x1) 248.92/165.30 new_primEqInt(Neg(Zero)) 248.92/165.30 new_sr2(x0, x1, ty_Double) 248.92/165.30 new_primMulNat0(Succ(x0), Zero) 248.92/165.30 new_quot0(Neg(x0), x1, x2) 248.92/165.30 new_primMinusNatS2(Succ(x0), Succ(x1)) 248.92/165.30 new_sr4(x0, x1, app(ty_Ratio, x2)) 248.92/165.30 new_sr8(x0, x1) 248.92/165.30 new_primDivNatS01(x0, x1) 248.92/165.30 new_primDivNatS02(x0, x1, Zero, Succ(x2)) 248.92/165.30 new_primPlusNat0(Succ(x0), Succ(x1)) 248.92/165.30 new_sr1(x0, ty_Integer) 248.92/165.30 new_primPlusNat0(Zero, Zero) 248.92/165.30 new_sr1(x0, ty_Float) 248.92/165.30 new_primMinusNat0(Succ(x0), Succ(x1)) 248.92/165.30 new_sr12(:%(x0, x1), :%(x2, x3), x4) 248.92/165.30 new_abs(Neg(Succ(x0))) 248.92/165.30 new_sr1(x0, ty_Double) 248.92/165.30 new_sr3(x0, app(ty_Ratio, x1)) 248.92/165.30 new_sr7(x0) 248.92/165.30 new_gcd0(x0, x1) 248.92/165.30 new_sr(x0, ty_Integer) 248.92/165.30 new_sr0(x0, ty_Int) 248.92/165.30 new_primQuotInt0(x0, Pos(Succ(x1))) 248.92/165.30 new_sr4(x0, x1, ty_Integer) 248.92/165.30 new_sr5(:%(x0, x1), x2) 248.92/165.30 new_primMinusNatS2(Zero, Zero) 248.92/165.30 new_primMulNat1(Succ(x0)) 248.92/165.30 new_sr0(x0, ty_Integer) 248.92/165.30 new_ms(x0, Pos(Zero)) 248.92/165.30 new_abs(Pos(Succ(x0))) 248.92/165.30 new_sr4(x0, x1, ty_Int) 248.92/165.30 new_esEs(Pos(Zero)) 248.92/165.30 new_primQuotInt0(x0, Pos(Zero)) 248.92/165.30 new_sr(x0, ty_Int) 248.92/165.30 new_primEqInt(Neg(Succ(x0))) 248.92/165.30 new_primQuotInt(x0, Neg(Zero)) 248.92/165.30 new_primQuotInt0(x0, Neg(Zero)) 248.92/165.30 new_primQuotInt0(x0, Neg(Succ(x1))) 248.92/165.30 new_gcd(x0, x1) 248.92/165.30 new_quot0(Pos(x0), x1, x2) 248.92/165.30 new_primMinusNatS0(x0) 248.92/165.30 new_primPlusNat0(Zero, Succ(x0)) 248.92/165.30 new_sr2(x0, x1, app(ty_Ratio, x2)) 248.92/165.30 new_sr2(x0, x1, ty_Int) 248.92/165.30 new_primQuotInt(x0, Pos(Succ(x1))) 248.92/165.30 new_primDivNatS1(Succ(Succ(x0)), Zero) 248.92/165.30 new_rem(Pos(x0), Pos(Zero)) 248.92/165.30 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 248.92/165.30 new_primDivNatS02(x0, x1, Zero, Zero) 248.92/165.30 new_abs(Pos(Zero)) 248.92/165.30 new_gcd0Gcd'10(False, x0, x1) 248.92/165.30 new_ms(x0, Pos(Succ(x1))) 248.92/165.30 new_primMinusNatS1 248.92/165.30 new_esEs1(Integer(x0)) 248.92/165.30 new_ms0(x0, Neg(Zero)) 248.92/165.30 new_primMinusNat0(Succ(x0), Zero) 248.92/165.30 new_ms0(x0, Neg(Succ(x1))) 248.92/165.30 new_sr2(x0, x1, ty_Integer) 248.92/165.30 new_primModNatS01(x0, x1, Zero, Succ(x2)) 248.92/165.30 new_primMulNat2(Succ(x0)) 248.92/165.30 new_sr0(x0, ty_Float) 248.92/165.30 new_sr14(Neg(x0), Neg(x1)) 248.92/165.30 new_sr2(x0, x1, ty_Float) 248.92/165.30 new_primMinusNatS2(Succ(x0), Zero) 248.92/165.30 new_sr4(x0, x1, ty_Float) 248.92/165.30 new_sr6(Pos(x0)) 248.92/165.30 new_esEs2(x0, x1, ty_Integer) 248.92/165.30 new_primMulNat4(Succ(x0)) 248.92/165.30 new_rem(Neg(x0), Neg(Succ(x1))) 248.92/165.30 new_primEqInt(Pos(Succ(x0))) 248.92/165.30 new_primQuotInt(x0, Pos(Zero)) 248.92/165.30 new_gcd0Gcd'11(False, x0, x1) 248.92/165.30 new_sr9(x0) 248.92/165.30 new_primModNatS1(Succ(Succ(x0)), Zero) 248.92/165.30 new_sr(x0, ty_Double) 248.92/165.30 new_esEs0(x0, ty_Integer) 248.92/165.30 new_gcd0Gcd'00(x0, x1) 248.92/165.30 new_reduce2Reduce1(x0, x1, x2, x3, True, x4) 248.92/165.30 new_sr3(x0, ty_Double) 248.92/165.30 new_esEs(Neg(Zero)) 248.92/165.30 new_primMulNat1(Zero) 248.92/165.30 new_primMinusNat0(Zero, Succ(x0)) 248.92/165.30 new_rem(Neg(x0), Neg(Zero)) 248.92/165.30 248.92/165.30 We have to consider all minimal (P,Q,R)-chains. 248.92/165.30 ---------------------------------------- 248.92/165.30 248.92/165.30 (745) TransformationProof (EQUIVALENT) 248.92/165.30 By rewriting [LPAR04] the rule new_pr2F0G1(vyv226, vyv227, vyv228, Zero, ba) -> new_pr2F0G(vyv226, new_sr1(vyv227, ba), new_primQuotInt(Succ(vyv228), Pos(Succ(Succ(Zero)))), ba) at position [2] we obtained the following new rules [LPAR04]: 248.92/165.30 248.92/165.30 (new_pr2F0G1(vyv226, vyv227, vyv228, Zero, ba) -> new_pr2F0G(vyv226, new_sr1(vyv227, ba), Pos(new_primDivNatS1(Succ(vyv228), Succ(Zero))), ba),new_pr2F0G1(vyv226, vyv227, vyv228, Zero, ba) -> new_pr2F0G(vyv226, new_sr1(vyv227, ba), Pos(new_primDivNatS1(Succ(vyv228), Succ(Zero))), ba)) 248.92/165.30 248.92/165.30 248.92/165.30 ---------------------------------------- 248.92/165.30 248.92/165.30 (746) 248.92/165.30 Obligation: 248.92/165.30 Q DP problem: 248.92/165.30 The TRS P consists of the following rules: 248.92/165.30 248.92/165.30 new_pr2F0G10(vyv248, vyv249, vyv250, Succ(Succ(vyv25100)), bb) -> new_pr2F0G10(vyv248, vyv249, vyv250, vyv25100, bb) 248.92/165.30 new_pr2F0G(vyv187, vyv183, Neg(Succ(Zero)), h) -> new_pr2F0G11(vyv187, vyv183, Zero, h) 248.92/165.30 new_pr2F0G(vyv187, vyv183, Pos(Succ(Succ(vyv222000))), h) -> new_pr2F0G1(vyv187, vyv183, Succ(vyv222000), vyv222000, h) 248.92/165.30 new_pr2F0(vyv183, Neg(Succ(Succ(vyv222000))), vyv187, h) -> new_pr2F0G10(vyv187, vyv183, Succ(vyv222000), vyv222000, h) 248.92/165.30 new_pr2F0(vyv183, Neg(Succ(Zero)), vyv187, h) -> new_pr2F0G11(vyv187, vyv183, Zero, h) 248.92/165.30 new_pr2F0G10(vyv248, vyv249, vyv250, Succ(Zero), bb) -> new_pr2F0G11(vyv248, vyv249, vyv250, bb) 248.92/165.30 new_pr2F0G(vyv187, vyv183, Neg(Succ(Succ(vyv222000))), h) -> new_pr2F0G10(vyv187, vyv183, Succ(vyv222000), vyv222000, h) 248.92/165.30 new_pr2F3(False, vyv227, vyv228, vyv244, vyv226, ba) -> new_pr2F0(vyv227, new_ms(vyv228, vyv244), new_sr2(vyv227, vyv226, ba), ba) 248.92/165.30 new_pr2F0(vyv183, Pos(Succ(Succ(vyv222000))), vyv187, h) -> new_pr2F0G1(vyv187, vyv183, Succ(vyv222000), vyv222000, h) 248.92/165.30 new_pr2F1(vyv239, vyv240, vyv243, vyv238, bc) -> new_pr2F30(new_esEs(new_ms0(vyv240, vyv243)), vyv239, vyv240, vyv243, vyv238, bc) 248.92/165.30 new_pr2F(vyv227, vyv228, vyv244, vyv226, ba) -> new_pr2F3(new_esEs(new_ms(vyv228, vyv244)), vyv227, vyv228, vyv244, vyv226, ba) 248.92/165.30 new_pr2F0G1(vyv226, vyv227, vyv228, Succ(Succ(vyv22900)), ba) -> new_pr2F0G1(vyv226, vyv227, vyv228, vyv22900, ba) 248.92/165.30 new_pr2F30(False, vyv239, vyv240, vyv243, vyv238, bc) -> new_pr2F0(vyv239, new_ms0(vyv240, vyv243), new_sr4(vyv239, vyv238, bc), bc) 248.92/165.30 new_pr2F0G11(vyv238, vyv239, vyv240, bc) -> new_pr2F1(vyv239, vyv240, Pos(Succ(Zero)), vyv238, bc) 248.92/165.30 new_pr2F0(vyv183, Pos(Succ(Zero)), vyv187, h) -> new_pr2F(vyv183, Zero, Pos(Succ(Zero)), vyv187, h) 248.92/165.30 new_pr2F0G1(vyv226, vyv227, vyv228, Succ(Zero), ba) -> new_pr2F(vyv227, vyv228, Pos(Succ(Zero)), vyv226, ba) 248.92/165.30 new_pr2F0G(vyv187, vyv183, Pos(Succ(Zero)), h) -> new_pr2F(vyv183, Zero, Pos(Succ(Zero)), vyv187, h) 248.92/165.30 new_pr2F0(vyv183, Pos(Zero), vyv187, h) -> new_pr2F0G(vyv187, new_sr(vyv183, h), new_primQuotInt(Zero, Pos(Succ(Succ(Zero)))), h) 248.92/165.30 new_pr2F0(vyv183, Neg(Zero), vyv187, h) -> new_pr2F0G(vyv187, new_sr0(vyv183, h), Neg(new_primDivNatS1(Zero, Succ(Zero))), h) 248.92/165.30 new_pr2F0G(vyv187, vyv183, Neg(Zero), h) -> new_pr2F0G(vyv187, new_sr0(vyv183, h), Neg(new_primDivNatS1(Zero, Succ(Zero))), h) 248.92/165.30 new_pr2F0G10(vyv248, vyv249, vyv250, Zero, bb) -> new_pr2F0G(vyv248, new_sr3(vyv249, bb), Neg(new_primDivNatS1(Succ(vyv250), Succ(Zero))), bb) 248.92/165.30 new_pr2F0G(vyv187, vyv183, Pos(Zero), h) -> new_pr2F0G(vyv187, new_sr(vyv183, h), Pos(new_primDivNatS1(Zero, Succ(Zero))), h) 248.92/165.30 new_pr2F0G1(vyv226, vyv227, vyv228, Zero, ba) -> new_pr2F0G(vyv226, new_sr1(vyv227, ba), Pos(new_primDivNatS1(Succ(vyv228), Succ(Zero))), ba) 248.92/165.30 248.92/165.30 The TRS R consists of the following rules: 248.92/165.30 248.92/165.30 new_sr(vyv183, ty_Int) -> new_sr6(vyv183) 248.92/165.30 new_sr(vyv183, app(ty_Ratio, bd)) -> new_sr5(vyv183, bd) 248.92/165.30 new_sr(vyv183, ty_Integer) -> new_sr7(vyv183) 248.92/165.30 new_sr(vyv183, ty_Float) -> new_sr10(vyv183) 248.92/165.30 new_sr(vyv183, ty_Double) -> new_sr9(vyv183) 248.92/165.30 new_primQuotInt(vyv2700, Pos(Succ(vyv28400))) -> Pos(new_primDivNatS1(vyv2700, vyv28400)) 248.92/165.30 new_primDivNatS1(Zero, vyv28400) -> Zero 248.92/165.30 new_primDivNatS1(Succ(Succ(vyv270000)), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS0(vyv270000), Zero)) 248.92/165.30 new_primDivNatS1(Succ(Zero), Succ(vyv284000)) -> Zero 248.92/165.30 new_primDivNatS1(Succ(Succ(vyv270000)), Succ(vyv284000)) -> new_primDivNatS02(vyv270000, vyv284000, vyv270000, vyv284000) 248.92/165.30 new_primDivNatS1(Succ(Zero), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS1, Zero)) 248.92/165.30 new_primMinusNatS1 -> Zero 248.92/165.30 new_primDivNatS02(vyv310, vyv311, Zero, Zero) -> new_primDivNatS01(vyv310, vyv311) 248.92/165.30 new_primDivNatS02(vyv310, vyv311, Succ(vyv3120), Zero) -> new_primDivNatS01(vyv310, vyv311) 248.92/165.30 new_primDivNatS02(vyv310, vyv311, Zero, Succ(vyv3130)) -> Zero 248.92/165.30 new_primDivNatS02(vyv310, vyv311, Succ(vyv3120), Succ(vyv3130)) -> new_primDivNatS02(vyv310, vyv311, vyv3120, vyv3130) 248.92/165.30 new_primDivNatS01(vyv310, vyv311) -> Succ(new_primDivNatS1(new_primMinusNatS2(vyv310, vyv311), Succ(vyv311))) 248.92/165.30 new_primMinusNatS2(Zero, Succ(vyv3110)) -> Zero 248.92/165.30 new_primMinusNatS2(Succ(vyv3100), Zero) -> Succ(vyv3100) 248.92/165.30 new_primMinusNatS2(Zero, Zero) -> Zero 248.92/165.30 new_primMinusNatS2(Succ(vyv3100), Succ(vyv3110)) -> new_primMinusNatS2(vyv3100, vyv3110) 248.92/165.30 new_primMinusNatS0(vyv270000) -> Succ(vyv270000) 248.92/165.30 new_sr9(vyv183) -> error([]) 248.92/165.30 new_sr10(vyv183) -> error([]) 248.92/165.30 new_sr7(vyv183) -> error([]) 248.92/165.30 new_sr5(:%(vyv1830, vyv1831), bd) -> new_reduce2Reduce1(vyv1830, vyv1830, vyv1831, vyv1831, new_esEs0(vyv1831, bd), bd) 248.92/165.30 new_esEs0(vyv1831, ty_Int) -> new_esEs(new_sr6(vyv1831)) 248.92/165.30 new_esEs0(vyv1831, ty_Integer) -> new_esEs1(new_sr7(vyv1831)) 248.92/165.30 new_reduce2Reduce1(vyv264, vyv265, vyv266, vyv267, False, bh) -> :%(new_quot1(vyv264, vyv265, vyv266, vyv267, bh), new_quot2(vyv266, vyv267, vyv264, vyv265, bh)) 248.92/165.30 new_reduce2Reduce1(vyv264, vyv265, vyv266, vyv267, True, bh) -> error([]) 248.92/165.30 new_quot1(vyv264, vyv265, vyv266, vyv267, ty_Int) -> new_quot0(new_sr14(vyv264, vyv265), new_sr14(vyv264, vyv265), new_sr14(vyv266, vyv267)) 248.92/165.30 new_quot1(vyv264, vyv265, vyv266, vyv267, ty_Integer) -> new_quot(new_sr8(vyv264, vyv265), new_sr8(vyv264, vyv265), new_sr8(vyv266, vyv267)) 248.92/165.30 new_quot2(vyv266, vyv267, vyv264, vyv265, ty_Int) -> new_quot0(new_sr14(vyv266, vyv267), new_sr14(vyv264, vyv265), new_sr14(vyv266, vyv267)) 248.92/165.30 new_quot2(vyv266, vyv267, vyv264, vyv265, ty_Integer) -> new_quot(new_sr8(vyv266, vyv267), new_sr8(vyv264, vyv265), new_sr8(vyv266, vyv267)) 248.92/165.30 new_sr8(vyv239, vyv238) -> error([]) 248.92/165.30 new_quot(vyv273, vyv275, vyv274) -> error([]) 248.92/165.30 new_sr14(Pos(vyv2390), Neg(vyv2380)) -> Neg(new_primMulNat0(vyv2390, vyv2380)) 248.92/165.30 new_sr14(Neg(vyv2390), Pos(vyv2380)) -> Neg(new_primMulNat0(vyv2390, vyv2380)) 248.92/165.30 new_sr14(Neg(vyv2390), Neg(vyv2380)) -> Pos(new_primMulNat0(vyv2390, vyv2380)) 248.92/165.30 new_sr14(Pos(vyv2390), Pos(vyv2380)) -> Pos(new_primMulNat0(vyv2390, vyv2380)) 248.92/165.30 new_quot0(Neg(vyv2700), vyv272, vyv271) -> new_primQuotInt0(vyv2700, new_gcd(vyv272, vyv271)) 248.92/165.30 new_quot0(Pos(vyv2700), vyv272, vyv271) -> new_primQuotInt(vyv2700, new_gcd(vyv272, vyv271)) 248.92/165.30 new_gcd(vyv272, vyv271) -> new_gcd2(new_esEs(vyv272), vyv272, vyv271) 248.92/165.30 new_primQuotInt(vyv2700, Neg(Zero)) -> new_error 248.92/165.30 new_primQuotInt(vyv2700, Pos(Zero)) -> new_error 248.92/165.30 new_primQuotInt(vyv2700, Neg(Succ(vyv28400))) -> Neg(new_primDivNatS1(vyv2700, vyv28400)) 248.92/165.30 new_error -> error([]) 248.92/165.30 new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) 248.92/165.30 new_esEs(Pos(Succ(vyv24100))) -> new_primEqInt(Pos(Succ(vyv24100))) 248.92/165.30 new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) 248.92/165.30 new_esEs(Neg(Succ(vyv24100))) -> new_primEqInt(Neg(Succ(vyv24100))) 248.92/165.30 new_gcd2(True, vyv272, vyv271) -> new_gcd1(new_esEs(vyv271), vyv272, vyv271) 248.92/165.30 new_gcd2(False, vyv272, vyv271) -> new_gcd0(vyv272, vyv271) 248.92/165.30 new_gcd0(vyv272, vyv271) -> new_gcd0Gcd'10(new_esEs(new_abs(vyv271)), vyv272, vyv271) 248.92/165.30 new_abs(Neg(Zero)) -> Neg(Zero) 248.92/165.30 new_abs(Neg(Succ(vyv27100))) -> Pos(Succ(vyv27100)) 248.92/165.30 new_abs(Pos(Succ(vyv27100))) -> Pos(Succ(vyv27100)) 248.92/165.30 new_abs(Pos(Zero)) -> Pos(Zero) 248.92/165.30 new_gcd0Gcd'10(True, vyv272, vyv271) -> new_abs(vyv272) 248.92/165.30 new_gcd0Gcd'10(False, vyv272, vyv271) -> new_gcd0Gcd'00(new_abs(vyv272), new_abs(vyv271)) 248.92/165.30 new_gcd0Gcd'00(vyv292, vyv291) -> new_gcd0Gcd'11(new_esEs(new_rem(vyv292, vyv291)), vyv291, vyv292) 248.92/165.30 new_gcd0Gcd'11(False, vyv291, vyv292) -> new_gcd0Gcd'00(vyv291, new_rem(vyv292, vyv291)) 248.92/165.30 new_rem(Pos(vyv2920), Neg(Zero)) -> new_error 248.92/165.30 new_rem(Neg(vyv2920), Pos(Zero)) -> new_error 248.92/165.30 new_rem(Pos(vyv2920), Neg(Succ(vyv29100))) -> Pos(new_primModNatS1(vyv2920, vyv29100)) 248.92/165.30 new_rem(Neg(vyv2920), Pos(Succ(vyv29100))) -> Neg(new_primModNatS1(vyv2920, vyv29100)) 248.92/165.30 new_rem(Pos(vyv2920), Pos(Succ(vyv29100))) -> Pos(new_primModNatS1(vyv2920, vyv29100)) 248.92/165.30 new_rem(Neg(vyv2920), Neg(Zero)) -> new_error 248.92/165.30 new_rem(Neg(vyv2920), Neg(Succ(vyv29100))) -> Neg(new_primModNatS1(vyv2920, vyv29100)) 248.92/165.30 new_rem(Pos(vyv2920), Pos(Zero)) -> new_error 248.92/165.30 new_gcd0Gcd'11(True, vyv291, vyv292) -> vyv291 248.92/165.30 new_primModNatS1(Succ(Zero), Succ(vyv291000)) -> Succ(Zero) 248.92/165.30 new_primModNatS1(Zero, vyv29100) -> Zero 248.92/165.30 new_primModNatS1(Succ(Succ(vyv292000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv292000), Zero) 248.92/165.30 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 248.92/165.30 new_primModNatS1(Succ(Succ(vyv292000)), Succ(vyv291000)) -> new_primModNatS01(vyv292000, vyv291000, vyv292000, vyv291000) 248.92/165.30 new_primModNatS01(vyv330, vyv331, Zero, Zero) -> new_primModNatS02(vyv330, vyv331) 248.92/165.30 new_primModNatS02(vyv330, vyv331) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv330), Succ(vyv331)), Succ(vyv331)) 248.92/165.30 new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Zero) -> new_primModNatS02(vyv330, vyv331) 248.92/165.30 new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Succ(vyv3330)) -> new_primModNatS01(vyv330, vyv331, vyv3320, vyv3330) 248.92/165.30 new_primModNatS01(vyv330, vyv331, Zero, Succ(vyv3330)) -> Succ(Succ(vyv330)) 248.92/165.30 new_gcd1(True, vyv272, vyv271) -> new_error 248.92/165.30 new_gcd1(False, vyv272, vyv271) -> new_gcd0(vyv272, vyv271) 248.92/165.30 new_primEqInt(Neg(Succ(vyv242000))) -> False 248.92/165.30 new_primEqInt(Pos(Zero)) -> True 248.92/165.30 new_primEqInt(Pos(Succ(vyv242000))) -> False 248.92/165.30 new_primEqInt(Neg(Zero)) -> True 248.92/165.30 new_primQuotInt0(vyv2700, Pos(Succ(vyv28700))) -> Neg(new_primDivNatS1(vyv2700, vyv28700)) 248.92/165.30 new_primQuotInt0(vyv2700, Neg(Zero)) -> new_error 248.92/165.30 new_primQuotInt0(vyv2700, Neg(Succ(vyv28700))) -> Pos(new_primDivNatS1(vyv2700, vyv28700)) 248.92/165.30 new_primQuotInt0(vyv2700, Pos(Zero)) -> new_error 248.92/165.30 new_primMulNat0(Succ(vyv23900), Zero) -> Zero 248.92/165.30 new_primMulNat0(Zero, Succ(vyv23800)) -> Zero 248.92/165.30 new_primMulNat0(Zero, Zero) -> Zero 248.92/165.30 new_primMulNat0(Succ(vyv23900), Succ(vyv23800)) -> new_primPlusNat0(new_primMulNat0(vyv23900, Succ(vyv23800)), Succ(vyv23800)) 248.92/165.30 new_primPlusNat0(Succ(vyv4000), Succ(vyv5000)) -> Succ(Succ(new_primPlusNat0(vyv4000, vyv5000))) 248.92/165.30 new_primPlusNat0(Zero, Succ(vyv5000)) -> Succ(vyv5000) 248.92/165.30 new_primPlusNat0(Zero, Zero) -> Zero 248.92/165.30 new_primPlusNat0(Succ(vyv4000), Zero) -> Succ(vyv4000) 248.92/165.30 new_esEs1(Integer(vyv2690)) -> new_primEqInt(vyv2690) 248.92/165.30 new_sr6(Neg(vyv1830)) -> Pos(new_primMulNat1(vyv1830)) 248.92/165.30 new_sr6(Pos(vyv1830)) -> Pos(new_primMulNat1(vyv1830)) 248.92/165.30 new_primMulNat1(Succ(vyv18300)) -> new_primPlusNat0(new_primMulNat2(vyv18300), Succ(vyv18300)) 248.92/165.30 new_primMulNat1(Zero) -> Zero 248.92/165.30 new_primMulNat2(Succ(vyv183000)) -> new_primPlusNat0(new_primMulNat3(vyv183000), Succ(Succ(vyv183000))) 248.92/165.30 new_primMulNat2(Zero) -> Zero 248.92/165.30 new_primMulNat3(Succ(vyv1830000)) -> new_primPlusNat0(new_primMulNat4(vyv1830000), Succ(Succ(Succ(vyv1830000)))) 248.92/165.30 new_primMulNat3(Zero) -> Zero 248.92/165.30 new_primMulNat4(Succ(vyv18300000)) -> new_primPlusNat0(new_primMulNat0(vyv18300000, Succ(Succ(Succ(Succ(vyv18300000))))), Succ(Succ(Succ(Succ(vyv18300000))))) 248.92/165.30 new_primMulNat4(Zero) -> Zero 248.92/165.30 new_sr1(vyv227, ty_Int) -> new_sr6(vyv227) 248.92/165.30 new_sr1(vyv227, ty_Integer) -> new_sr7(vyv227) 248.92/165.30 new_sr1(vyv227, app(ty_Ratio, be)) -> new_sr5(vyv227, be) 248.92/165.30 new_sr1(vyv227, ty_Float) -> new_sr10(vyv227) 248.92/165.30 new_sr1(vyv227, ty_Double) -> new_sr9(vyv227) 248.92/165.30 new_sr3(vyv249, ty_Float) -> new_sr10(vyv249) 248.92/165.30 new_sr3(vyv249, ty_Double) -> new_sr9(vyv249) 248.92/165.30 new_sr3(vyv249, ty_Int) -> new_sr6(vyv249) 248.92/165.30 new_sr3(vyv249, ty_Integer) -> new_sr7(vyv249) 248.92/165.30 new_sr3(vyv249, app(ty_Ratio, bg)) -> new_sr5(vyv249, bg) 248.92/165.30 new_sr0(vyv183, ty_Double) -> new_sr9(vyv183) 248.92/165.30 new_sr0(vyv183, ty_Int) -> new_sr6(vyv183) 248.92/165.30 new_sr0(vyv183, ty_Integer) -> new_sr7(vyv183) 248.92/165.30 new_sr0(vyv183, ty_Float) -> new_sr10(vyv183) 248.92/165.30 new_sr0(vyv183, app(ty_Ratio, bd)) -> new_sr5(vyv183, bd) 248.92/165.30 new_ms0(vyv240, Neg(Zero)) -> Neg(Succ(vyv240)) 248.92/165.30 new_ms0(vyv240, Pos(vyv2430)) -> Neg(new_primPlusNat0(Succ(vyv240), vyv2430)) 248.92/165.30 new_ms0(vyv240, Neg(Succ(vyv24300))) -> new_primMinusNat0(vyv24300, vyv240) 248.92/165.30 new_sr4(vyv239, vyv238, app(ty_Ratio, bf)) -> new_sr12(vyv239, vyv238, bf) 248.92/165.30 new_sr4(vyv239, vyv238, ty_Integer) -> new_sr8(vyv239, vyv238) 248.92/165.30 new_sr4(vyv239, vyv238, ty_Int) -> new_sr14(vyv239, vyv238) 248.92/165.30 new_sr4(vyv239, vyv238, ty_Double) -> new_sr11(vyv239, vyv238) 248.92/165.30 new_sr4(vyv239, vyv238, ty_Float) -> new_sr13(vyv239, vyv238) 248.92/165.30 new_sr13(vyv239, vyv238) -> error([]) 248.92/165.30 new_sr11(vyv239, vyv238) -> error([]) 248.92/165.30 new_sr12(:%(vyv2390, vyv2391), :%(vyv2380, vyv2381), bf) -> new_reduce2Reduce1(vyv2390, vyv2380, vyv2391, vyv2381, new_esEs2(vyv2391, vyv2381, bf), bf) 248.92/165.30 new_esEs2(vyv2391, vyv2381, ty_Int) -> new_esEs(new_sr14(vyv2391, vyv2381)) 248.92/165.30 new_esEs2(vyv2391, vyv2381, ty_Integer) -> new_esEs1(new_sr8(vyv2391, vyv2381)) 248.92/165.30 new_primMinusNat0(Succ(vyv2280), Succ(vyv244000)) -> new_primMinusNat0(vyv2280, vyv244000) 248.92/165.30 new_primMinusNat0(Zero, Zero) -> Pos(Zero) 248.92/165.30 new_primMinusNat0(Zero, Succ(vyv244000)) -> Neg(Succ(vyv244000)) 248.92/165.30 new_primMinusNat0(Succ(vyv2280), Zero) -> Pos(Succ(vyv2280)) 248.92/165.30 new_ms(vyv228, Neg(vyv2440)) -> Pos(new_primPlusNat0(Succ(vyv228), vyv2440)) 248.92/165.30 new_ms(vyv228, Pos(Succ(vyv24400))) -> new_primMinusNat0(vyv228, vyv24400) 248.92/165.30 new_ms(vyv228, Pos(Zero)) -> Pos(Succ(vyv228)) 248.92/165.30 new_sr2(vyv227, vyv226, ty_Int) -> new_sr14(vyv227, vyv226) 248.92/165.30 new_sr2(vyv227, vyv226, ty_Double) -> new_sr11(vyv227, vyv226) 248.92/165.30 new_sr2(vyv227, vyv226, ty_Integer) -> new_sr8(vyv227, vyv226) 248.92/165.30 new_sr2(vyv227, vyv226, ty_Float) -> new_sr13(vyv227, vyv226) 248.92/165.30 new_sr2(vyv227, vyv226, app(ty_Ratio, be)) -> new_sr12(vyv227, vyv226, be) 248.92/165.30 248.92/165.30 The set Q consists of the following terms: 248.92/165.30 248.92/165.30 new_rem(Pos(x0), Pos(Succ(x1))) 248.92/165.30 new_quot1(x0, x1, x2, x3, ty_Integer) 248.92/165.30 new_primModNatS1(Succ(Zero), Succ(x0)) 248.92/165.30 new_ms0(x0, Pos(x1)) 248.92/165.30 new_sr(x0, app(ty_Ratio, x1)) 248.92/165.30 new_primMulNat4(Zero) 248.92/165.30 new_gcd1(False, x0, x1) 248.92/165.30 new_primEqInt(Pos(Zero)) 248.92/165.30 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 248.92/165.30 new_rem(Pos(x0), Neg(Succ(x1))) 248.92/165.30 new_rem(Neg(x0), Pos(Succ(x1))) 248.92/165.30 new_sr10(x0) 248.92/165.30 new_quot1(x0, x1, x2, x3, ty_Int) 248.92/165.30 new_sr0(x0, app(ty_Ratio, x1)) 248.92/165.30 new_quot2(x0, x1, x2, x3, ty_Integer) 248.92/165.30 new_primModNatS01(x0, x1, Succ(x2), Zero) 248.92/165.30 new_sr3(x0, ty_Integer) 248.92/165.30 new_primMulNat3(Zero) 248.92/165.30 new_primDivNatS02(x0, x1, Succ(x2), Zero) 248.92/165.30 new_sr(x0, ty_Float) 248.92/165.30 new_quot2(x0, x1, x2, x3, ty_Int) 248.92/165.30 new_gcd2(False, x0, x1) 248.92/165.30 new_primDivNatS1(Succ(Zero), Zero) 248.92/165.30 new_sr0(x0, ty_Double) 248.92/165.30 new_esEs0(x0, ty_Int) 248.92/165.30 new_sr14(Pos(x0), Pos(x1)) 248.92/165.30 new_sr3(x0, ty_Int) 248.92/165.30 new_primMulNat0(Zero, Zero) 248.92/165.30 new_sr4(x0, x1, ty_Double) 248.92/165.30 new_primPlusNat0(Succ(x0), Zero) 248.92/165.30 new_primMulNat2(Zero) 248.92/165.30 new_sr11(x0, x1) 248.92/165.30 new_primModNatS01(x0, x1, Zero, Zero) 248.92/165.30 new_esEs2(x0, x1, ty_Int) 248.92/165.30 new_gcd1(True, x0, x1) 248.92/165.30 new_sr13(x0, x1) 248.92/165.30 new_sr14(Pos(x0), Neg(x1)) 248.92/165.30 new_sr14(Neg(x0), Pos(x1)) 248.92/165.30 new_primDivNatS1(Succ(Succ(x0)), Succ(x1)) 248.92/165.30 new_sr1(x0, ty_Int) 248.92/165.30 new_primModNatS1(Zero, x0) 248.92/165.30 new_esEs(Pos(Succ(x0))) 248.92/165.30 new_primMulNat3(Succ(x0)) 248.92/165.30 new_sr1(x0, app(ty_Ratio, x1)) 248.92/165.30 new_primQuotInt(x0, Neg(Succ(x1))) 248.92/165.30 new_reduce2Reduce1(x0, x1, x2, x3, False, x4) 248.92/165.30 new_primMinusNat0(Zero, Zero) 248.92/165.30 new_primDivNatS1(Zero, x0) 248.92/165.30 new_primDivNatS02(x0, x1, Succ(x2), Succ(x3)) 248.92/165.30 new_primModNatS02(x0, x1) 248.92/165.30 new_primDivNatS1(Succ(Zero), Succ(x0)) 248.92/165.30 new_sr6(Neg(x0)) 248.92/165.30 new_gcd0Gcd'10(True, x0, x1) 248.92/165.30 new_primMulNat0(Succ(x0), Succ(x1)) 248.92/165.30 new_abs(Neg(Zero)) 248.92/165.30 new_ms(x0, Neg(x1)) 248.92/165.30 new_rem(Pos(x0), Neg(Zero)) 248.92/165.30 new_rem(Neg(x0), Pos(Zero)) 248.92/165.30 new_primMinusNatS2(Zero, Succ(x0)) 248.92/165.30 new_esEs(Neg(Succ(x0))) 248.92/165.30 new_error 248.92/165.30 new_primModNatS1(Succ(Zero), Zero) 248.92/165.30 new_primMulNat0(Zero, Succ(x0)) 248.92/165.30 new_sr3(x0, ty_Float) 248.92/165.30 new_quot(x0, x1, x2) 248.92/165.30 new_gcd2(True, x0, x1) 248.92/165.30 new_gcd0Gcd'11(True, x0, x1) 248.92/165.30 new_primEqInt(Neg(Zero)) 248.92/165.30 new_sr2(x0, x1, ty_Double) 248.92/165.30 new_primMulNat0(Succ(x0), Zero) 248.92/165.30 new_quot0(Neg(x0), x1, x2) 248.92/165.30 new_primMinusNatS2(Succ(x0), Succ(x1)) 248.92/165.30 new_sr4(x0, x1, app(ty_Ratio, x2)) 248.92/165.30 new_sr8(x0, x1) 248.92/165.30 new_primDivNatS01(x0, x1) 248.92/165.30 new_primDivNatS02(x0, x1, Zero, Succ(x2)) 248.92/165.30 new_primPlusNat0(Succ(x0), Succ(x1)) 248.92/165.30 new_sr1(x0, ty_Integer) 248.92/165.30 new_primPlusNat0(Zero, Zero) 248.92/165.30 new_sr1(x0, ty_Float) 248.92/165.30 new_primMinusNat0(Succ(x0), Succ(x1)) 248.92/165.30 new_sr12(:%(x0, x1), :%(x2, x3), x4) 248.92/165.30 new_abs(Neg(Succ(x0))) 248.92/165.30 new_sr1(x0, ty_Double) 248.92/165.30 new_sr3(x0, app(ty_Ratio, x1)) 248.92/165.30 new_sr7(x0) 248.92/165.30 new_gcd0(x0, x1) 248.92/165.30 new_sr(x0, ty_Integer) 248.92/165.30 new_sr0(x0, ty_Int) 248.92/165.30 new_primQuotInt0(x0, Pos(Succ(x1))) 248.92/165.30 new_sr4(x0, x1, ty_Integer) 248.92/165.30 new_sr5(:%(x0, x1), x2) 248.92/165.30 new_primMinusNatS2(Zero, Zero) 248.92/165.30 new_primMulNat1(Succ(x0)) 248.92/165.30 new_sr0(x0, ty_Integer) 248.92/165.30 new_ms(x0, Pos(Zero)) 248.92/165.30 new_abs(Pos(Succ(x0))) 248.92/165.30 new_sr4(x0, x1, ty_Int) 248.92/165.30 new_esEs(Pos(Zero)) 248.92/165.30 new_primQuotInt0(x0, Pos(Zero)) 248.92/165.30 new_sr(x0, ty_Int) 248.92/165.30 new_primEqInt(Neg(Succ(x0))) 248.92/165.30 new_primQuotInt(x0, Neg(Zero)) 248.92/165.30 new_primQuotInt0(x0, Neg(Zero)) 248.92/165.30 new_primQuotInt0(x0, Neg(Succ(x1))) 248.92/165.30 new_gcd(x0, x1) 248.92/165.30 new_quot0(Pos(x0), x1, x2) 248.92/165.30 new_primMinusNatS0(x0) 248.92/165.30 new_primPlusNat0(Zero, Succ(x0)) 248.92/165.30 new_sr2(x0, x1, app(ty_Ratio, x2)) 248.92/165.30 new_sr2(x0, x1, ty_Int) 248.92/165.30 new_primQuotInt(x0, Pos(Succ(x1))) 248.92/165.30 new_primDivNatS1(Succ(Succ(x0)), Zero) 248.92/165.30 new_rem(Pos(x0), Pos(Zero)) 248.92/165.30 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 248.92/165.30 new_primDivNatS02(x0, x1, Zero, Zero) 248.92/165.30 new_abs(Pos(Zero)) 248.92/165.30 new_gcd0Gcd'10(False, x0, x1) 248.92/165.30 new_ms(x0, Pos(Succ(x1))) 248.92/165.30 new_primMinusNatS1 248.92/165.30 new_esEs1(Integer(x0)) 248.92/165.30 new_ms0(x0, Neg(Zero)) 248.92/165.30 new_primMinusNat0(Succ(x0), Zero) 248.92/165.30 new_ms0(x0, Neg(Succ(x1))) 248.92/165.30 new_sr2(x0, x1, ty_Integer) 248.92/165.30 new_primModNatS01(x0, x1, Zero, Succ(x2)) 248.92/165.30 new_primMulNat2(Succ(x0)) 248.92/165.30 new_sr0(x0, ty_Float) 248.92/165.30 new_sr14(Neg(x0), Neg(x1)) 248.92/165.30 new_sr2(x0, x1, ty_Float) 248.92/165.30 new_primMinusNatS2(Succ(x0), Zero) 248.92/165.30 new_sr4(x0, x1, ty_Float) 248.92/165.30 new_sr6(Pos(x0)) 248.92/165.30 new_esEs2(x0, x1, ty_Integer) 248.92/165.30 new_primMulNat4(Succ(x0)) 248.92/165.30 new_rem(Neg(x0), Neg(Succ(x1))) 248.92/165.30 new_primEqInt(Pos(Succ(x0))) 248.92/165.30 new_primQuotInt(x0, Pos(Zero)) 248.92/165.30 new_gcd0Gcd'11(False, x0, x1) 248.92/165.30 new_sr9(x0) 248.92/165.30 new_primModNatS1(Succ(Succ(x0)), Zero) 248.92/165.30 new_sr(x0, ty_Double) 248.92/165.30 new_esEs0(x0, ty_Integer) 248.92/165.30 new_gcd0Gcd'00(x0, x1) 248.92/165.30 new_reduce2Reduce1(x0, x1, x2, x3, True, x4) 248.92/165.30 new_sr3(x0, ty_Double) 248.92/165.30 new_esEs(Neg(Zero)) 248.92/165.30 new_primMulNat1(Zero) 248.92/165.30 new_primMinusNat0(Zero, Succ(x0)) 248.92/165.30 new_rem(Neg(x0), Neg(Zero)) 248.92/165.30 248.92/165.30 We have to consider all minimal (P,Q,R)-chains. 248.92/165.30 ---------------------------------------- 248.92/165.30 248.92/165.30 (747) TransformationProof (EQUIVALENT) 248.92/165.30 By rewriting [LPAR04] the rule new_pr2F0(vyv183, Pos(Zero), vyv187, h) -> new_pr2F0G(vyv187, new_sr(vyv183, h), new_primQuotInt(Zero, Pos(Succ(Succ(Zero)))), h) at position [2] we obtained the following new rules [LPAR04]: 248.92/165.30 248.92/165.30 (new_pr2F0(vyv183, Pos(Zero), vyv187, h) -> new_pr2F0G(vyv187, new_sr(vyv183, h), Pos(new_primDivNatS1(Zero, Succ(Zero))), h),new_pr2F0(vyv183, Pos(Zero), vyv187, h) -> new_pr2F0G(vyv187, new_sr(vyv183, h), Pos(new_primDivNatS1(Zero, Succ(Zero))), h)) 248.92/165.30 248.92/165.30 248.92/165.30 ---------------------------------------- 248.92/165.30 248.92/165.30 (748) 248.92/165.30 Obligation: 248.92/165.30 Q DP problem: 248.92/165.30 The TRS P consists of the following rules: 248.92/165.30 248.92/165.30 new_pr2F0G10(vyv248, vyv249, vyv250, Succ(Succ(vyv25100)), bb) -> new_pr2F0G10(vyv248, vyv249, vyv250, vyv25100, bb) 248.92/165.30 new_pr2F0G(vyv187, vyv183, Neg(Succ(Zero)), h) -> new_pr2F0G11(vyv187, vyv183, Zero, h) 248.92/165.30 new_pr2F0G(vyv187, vyv183, Pos(Succ(Succ(vyv222000))), h) -> new_pr2F0G1(vyv187, vyv183, Succ(vyv222000), vyv222000, h) 248.92/165.30 new_pr2F0(vyv183, Neg(Succ(Succ(vyv222000))), vyv187, h) -> new_pr2F0G10(vyv187, vyv183, Succ(vyv222000), vyv222000, h) 248.92/165.30 new_pr2F0(vyv183, Neg(Succ(Zero)), vyv187, h) -> new_pr2F0G11(vyv187, vyv183, Zero, h) 248.92/165.30 new_pr2F0G10(vyv248, vyv249, vyv250, Succ(Zero), bb) -> new_pr2F0G11(vyv248, vyv249, vyv250, bb) 248.92/165.30 new_pr2F0G(vyv187, vyv183, Neg(Succ(Succ(vyv222000))), h) -> new_pr2F0G10(vyv187, vyv183, Succ(vyv222000), vyv222000, h) 248.92/165.30 new_pr2F3(False, vyv227, vyv228, vyv244, vyv226, ba) -> new_pr2F0(vyv227, new_ms(vyv228, vyv244), new_sr2(vyv227, vyv226, ba), ba) 248.92/165.30 new_pr2F0(vyv183, Pos(Succ(Succ(vyv222000))), vyv187, h) -> new_pr2F0G1(vyv187, vyv183, Succ(vyv222000), vyv222000, h) 248.92/165.30 new_pr2F1(vyv239, vyv240, vyv243, vyv238, bc) -> new_pr2F30(new_esEs(new_ms0(vyv240, vyv243)), vyv239, vyv240, vyv243, vyv238, bc) 248.92/165.30 new_pr2F(vyv227, vyv228, vyv244, vyv226, ba) -> new_pr2F3(new_esEs(new_ms(vyv228, vyv244)), vyv227, vyv228, vyv244, vyv226, ba) 248.92/165.30 new_pr2F0G1(vyv226, vyv227, vyv228, Succ(Succ(vyv22900)), ba) -> new_pr2F0G1(vyv226, vyv227, vyv228, vyv22900, ba) 248.92/165.30 new_pr2F30(False, vyv239, vyv240, vyv243, vyv238, bc) -> new_pr2F0(vyv239, new_ms0(vyv240, vyv243), new_sr4(vyv239, vyv238, bc), bc) 248.92/165.30 new_pr2F0G11(vyv238, vyv239, vyv240, bc) -> new_pr2F1(vyv239, vyv240, Pos(Succ(Zero)), vyv238, bc) 248.92/165.30 new_pr2F0(vyv183, Pos(Succ(Zero)), vyv187, h) -> new_pr2F(vyv183, Zero, Pos(Succ(Zero)), vyv187, h) 248.92/165.30 new_pr2F0G1(vyv226, vyv227, vyv228, Succ(Zero), ba) -> new_pr2F(vyv227, vyv228, Pos(Succ(Zero)), vyv226, ba) 248.92/165.30 new_pr2F0G(vyv187, vyv183, Pos(Succ(Zero)), h) -> new_pr2F(vyv183, Zero, Pos(Succ(Zero)), vyv187, h) 248.92/165.30 new_pr2F0(vyv183, Neg(Zero), vyv187, h) -> new_pr2F0G(vyv187, new_sr0(vyv183, h), Neg(new_primDivNatS1(Zero, Succ(Zero))), h) 248.92/165.30 new_pr2F0G(vyv187, vyv183, Neg(Zero), h) -> new_pr2F0G(vyv187, new_sr0(vyv183, h), Neg(new_primDivNatS1(Zero, Succ(Zero))), h) 248.92/165.30 new_pr2F0G10(vyv248, vyv249, vyv250, Zero, bb) -> new_pr2F0G(vyv248, new_sr3(vyv249, bb), Neg(new_primDivNatS1(Succ(vyv250), Succ(Zero))), bb) 248.92/165.30 new_pr2F0G(vyv187, vyv183, Pos(Zero), h) -> new_pr2F0G(vyv187, new_sr(vyv183, h), Pos(new_primDivNatS1(Zero, Succ(Zero))), h) 248.92/165.30 new_pr2F0G1(vyv226, vyv227, vyv228, Zero, ba) -> new_pr2F0G(vyv226, new_sr1(vyv227, ba), Pos(new_primDivNatS1(Succ(vyv228), Succ(Zero))), ba) 248.92/165.30 new_pr2F0(vyv183, Pos(Zero), vyv187, h) -> new_pr2F0G(vyv187, new_sr(vyv183, h), Pos(new_primDivNatS1(Zero, Succ(Zero))), h) 248.92/165.30 248.92/165.30 The TRS R consists of the following rules: 248.92/165.30 248.92/165.30 new_sr(vyv183, ty_Int) -> new_sr6(vyv183) 248.92/165.30 new_sr(vyv183, app(ty_Ratio, bd)) -> new_sr5(vyv183, bd) 248.92/165.30 new_sr(vyv183, ty_Integer) -> new_sr7(vyv183) 248.92/165.30 new_sr(vyv183, ty_Float) -> new_sr10(vyv183) 248.92/165.30 new_sr(vyv183, ty_Double) -> new_sr9(vyv183) 248.92/165.30 new_primQuotInt(vyv2700, Pos(Succ(vyv28400))) -> Pos(new_primDivNatS1(vyv2700, vyv28400)) 248.92/165.30 new_primDivNatS1(Zero, vyv28400) -> Zero 248.92/165.30 new_primDivNatS1(Succ(Succ(vyv270000)), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS0(vyv270000), Zero)) 248.92/165.30 new_primDivNatS1(Succ(Zero), Succ(vyv284000)) -> Zero 248.92/165.30 new_primDivNatS1(Succ(Succ(vyv270000)), Succ(vyv284000)) -> new_primDivNatS02(vyv270000, vyv284000, vyv270000, vyv284000) 248.92/165.30 new_primDivNatS1(Succ(Zero), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS1, Zero)) 248.92/165.30 new_primMinusNatS1 -> Zero 248.92/165.30 new_primDivNatS02(vyv310, vyv311, Zero, Zero) -> new_primDivNatS01(vyv310, vyv311) 248.92/165.30 new_primDivNatS02(vyv310, vyv311, Succ(vyv3120), Zero) -> new_primDivNatS01(vyv310, vyv311) 248.92/165.30 new_primDivNatS02(vyv310, vyv311, Zero, Succ(vyv3130)) -> Zero 248.92/165.30 new_primDivNatS02(vyv310, vyv311, Succ(vyv3120), Succ(vyv3130)) -> new_primDivNatS02(vyv310, vyv311, vyv3120, vyv3130) 248.92/165.30 new_primDivNatS01(vyv310, vyv311) -> Succ(new_primDivNatS1(new_primMinusNatS2(vyv310, vyv311), Succ(vyv311))) 248.92/165.30 new_primMinusNatS2(Zero, Succ(vyv3110)) -> Zero 248.92/165.30 new_primMinusNatS2(Succ(vyv3100), Zero) -> Succ(vyv3100) 248.92/165.30 new_primMinusNatS2(Zero, Zero) -> Zero 248.92/165.30 new_primMinusNatS2(Succ(vyv3100), Succ(vyv3110)) -> new_primMinusNatS2(vyv3100, vyv3110) 248.92/165.30 new_primMinusNatS0(vyv270000) -> Succ(vyv270000) 248.92/165.30 new_sr9(vyv183) -> error([]) 248.92/165.30 new_sr10(vyv183) -> error([]) 248.92/165.30 new_sr7(vyv183) -> error([]) 248.92/165.30 new_sr5(:%(vyv1830, vyv1831), bd) -> new_reduce2Reduce1(vyv1830, vyv1830, vyv1831, vyv1831, new_esEs0(vyv1831, bd), bd) 248.92/165.30 new_esEs0(vyv1831, ty_Int) -> new_esEs(new_sr6(vyv1831)) 248.92/165.30 new_esEs0(vyv1831, ty_Integer) -> new_esEs1(new_sr7(vyv1831)) 248.92/165.30 new_reduce2Reduce1(vyv264, vyv265, vyv266, vyv267, False, bh) -> :%(new_quot1(vyv264, vyv265, vyv266, vyv267, bh), new_quot2(vyv266, vyv267, vyv264, vyv265, bh)) 248.92/165.30 new_reduce2Reduce1(vyv264, vyv265, vyv266, vyv267, True, bh) -> error([]) 248.92/165.30 new_quot1(vyv264, vyv265, vyv266, vyv267, ty_Int) -> new_quot0(new_sr14(vyv264, vyv265), new_sr14(vyv264, vyv265), new_sr14(vyv266, vyv267)) 248.92/165.30 new_quot1(vyv264, vyv265, vyv266, vyv267, ty_Integer) -> new_quot(new_sr8(vyv264, vyv265), new_sr8(vyv264, vyv265), new_sr8(vyv266, vyv267)) 248.92/165.30 new_quot2(vyv266, vyv267, vyv264, vyv265, ty_Int) -> new_quot0(new_sr14(vyv266, vyv267), new_sr14(vyv264, vyv265), new_sr14(vyv266, vyv267)) 248.92/165.30 new_quot2(vyv266, vyv267, vyv264, vyv265, ty_Integer) -> new_quot(new_sr8(vyv266, vyv267), new_sr8(vyv264, vyv265), new_sr8(vyv266, vyv267)) 248.92/165.30 new_sr8(vyv239, vyv238) -> error([]) 248.92/165.30 new_quot(vyv273, vyv275, vyv274) -> error([]) 248.92/165.30 new_sr14(Pos(vyv2390), Neg(vyv2380)) -> Neg(new_primMulNat0(vyv2390, vyv2380)) 248.92/165.30 new_sr14(Neg(vyv2390), Pos(vyv2380)) -> Neg(new_primMulNat0(vyv2390, vyv2380)) 248.92/165.30 new_sr14(Neg(vyv2390), Neg(vyv2380)) -> Pos(new_primMulNat0(vyv2390, vyv2380)) 248.92/165.30 new_sr14(Pos(vyv2390), Pos(vyv2380)) -> Pos(new_primMulNat0(vyv2390, vyv2380)) 248.92/165.30 new_quot0(Neg(vyv2700), vyv272, vyv271) -> new_primQuotInt0(vyv2700, new_gcd(vyv272, vyv271)) 248.92/165.30 new_quot0(Pos(vyv2700), vyv272, vyv271) -> new_primQuotInt(vyv2700, new_gcd(vyv272, vyv271)) 248.92/165.30 new_gcd(vyv272, vyv271) -> new_gcd2(new_esEs(vyv272), vyv272, vyv271) 248.92/165.30 new_primQuotInt(vyv2700, Neg(Zero)) -> new_error 248.92/165.30 new_primQuotInt(vyv2700, Pos(Zero)) -> new_error 248.92/165.30 new_primQuotInt(vyv2700, Neg(Succ(vyv28400))) -> Neg(new_primDivNatS1(vyv2700, vyv28400)) 248.92/165.30 new_error -> error([]) 248.92/165.30 new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) 248.92/165.30 new_esEs(Pos(Succ(vyv24100))) -> new_primEqInt(Pos(Succ(vyv24100))) 248.92/165.30 new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) 248.92/165.30 new_esEs(Neg(Succ(vyv24100))) -> new_primEqInt(Neg(Succ(vyv24100))) 248.92/165.30 new_gcd2(True, vyv272, vyv271) -> new_gcd1(new_esEs(vyv271), vyv272, vyv271) 248.92/165.30 new_gcd2(False, vyv272, vyv271) -> new_gcd0(vyv272, vyv271) 248.92/165.30 new_gcd0(vyv272, vyv271) -> new_gcd0Gcd'10(new_esEs(new_abs(vyv271)), vyv272, vyv271) 248.92/165.30 new_abs(Neg(Zero)) -> Neg(Zero) 248.92/165.30 new_abs(Neg(Succ(vyv27100))) -> Pos(Succ(vyv27100)) 248.92/165.30 new_abs(Pos(Succ(vyv27100))) -> Pos(Succ(vyv27100)) 248.92/165.30 new_abs(Pos(Zero)) -> Pos(Zero) 248.92/165.30 new_gcd0Gcd'10(True, vyv272, vyv271) -> new_abs(vyv272) 248.92/165.30 new_gcd0Gcd'10(False, vyv272, vyv271) -> new_gcd0Gcd'00(new_abs(vyv272), new_abs(vyv271)) 248.92/165.30 new_gcd0Gcd'00(vyv292, vyv291) -> new_gcd0Gcd'11(new_esEs(new_rem(vyv292, vyv291)), vyv291, vyv292) 248.92/165.31 new_gcd0Gcd'11(False, vyv291, vyv292) -> new_gcd0Gcd'00(vyv291, new_rem(vyv292, vyv291)) 248.92/165.31 new_rem(Pos(vyv2920), Neg(Zero)) -> new_error 248.92/165.31 new_rem(Neg(vyv2920), Pos(Zero)) -> new_error 248.92/165.31 new_rem(Pos(vyv2920), Neg(Succ(vyv29100))) -> Pos(new_primModNatS1(vyv2920, vyv29100)) 248.92/165.31 new_rem(Neg(vyv2920), Pos(Succ(vyv29100))) -> Neg(new_primModNatS1(vyv2920, vyv29100)) 248.92/165.31 new_rem(Pos(vyv2920), Pos(Succ(vyv29100))) -> Pos(new_primModNatS1(vyv2920, vyv29100)) 248.92/165.31 new_rem(Neg(vyv2920), Neg(Zero)) -> new_error 248.92/165.31 new_rem(Neg(vyv2920), Neg(Succ(vyv29100))) -> Neg(new_primModNatS1(vyv2920, vyv29100)) 248.92/165.31 new_rem(Pos(vyv2920), Pos(Zero)) -> new_error 248.92/165.31 new_gcd0Gcd'11(True, vyv291, vyv292) -> vyv291 248.92/165.31 new_primModNatS1(Succ(Zero), Succ(vyv291000)) -> Succ(Zero) 248.92/165.31 new_primModNatS1(Zero, vyv29100) -> Zero 248.92/165.31 new_primModNatS1(Succ(Succ(vyv292000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv292000), Zero) 248.92/165.31 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 248.92/165.31 new_primModNatS1(Succ(Succ(vyv292000)), Succ(vyv291000)) -> new_primModNatS01(vyv292000, vyv291000, vyv292000, vyv291000) 248.92/165.31 new_primModNatS01(vyv330, vyv331, Zero, Zero) -> new_primModNatS02(vyv330, vyv331) 248.92/165.31 new_primModNatS02(vyv330, vyv331) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv330), Succ(vyv331)), Succ(vyv331)) 248.92/165.31 new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Zero) -> new_primModNatS02(vyv330, vyv331) 248.92/165.31 new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Succ(vyv3330)) -> new_primModNatS01(vyv330, vyv331, vyv3320, vyv3330) 248.92/165.31 new_primModNatS01(vyv330, vyv331, Zero, Succ(vyv3330)) -> Succ(Succ(vyv330)) 248.92/165.31 new_gcd1(True, vyv272, vyv271) -> new_error 248.92/165.31 new_gcd1(False, vyv272, vyv271) -> new_gcd0(vyv272, vyv271) 248.92/165.31 new_primEqInt(Neg(Succ(vyv242000))) -> False 248.92/165.31 new_primEqInt(Pos(Zero)) -> True 248.92/165.31 new_primEqInt(Pos(Succ(vyv242000))) -> False 248.92/165.31 new_primEqInt(Neg(Zero)) -> True 248.92/165.31 new_primQuotInt0(vyv2700, Pos(Succ(vyv28700))) -> Neg(new_primDivNatS1(vyv2700, vyv28700)) 248.92/165.31 new_primQuotInt0(vyv2700, Neg(Zero)) -> new_error 248.92/165.31 new_primQuotInt0(vyv2700, Neg(Succ(vyv28700))) -> Pos(new_primDivNatS1(vyv2700, vyv28700)) 248.92/165.31 new_primQuotInt0(vyv2700, Pos(Zero)) -> new_error 248.92/165.31 new_primMulNat0(Succ(vyv23900), Zero) -> Zero 248.92/165.31 new_primMulNat0(Zero, Succ(vyv23800)) -> Zero 248.92/165.31 new_primMulNat0(Zero, Zero) -> Zero 248.92/165.31 new_primMulNat0(Succ(vyv23900), Succ(vyv23800)) -> new_primPlusNat0(new_primMulNat0(vyv23900, Succ(vyv23800)), Succ(vyv23800)) 248.92/165.31 new_primPlusNat0(Succ(vyv4000), Succ(vyv5000)) -> Succ(Succ(new_primPlusNat0(vyv4000, vyv5000))) 248.92/165.31 new_primPlusNat0(Zero, Succ(vyv5000)) -> Succ(vyv5000) 248.92/165.31 new_primPlusNat0(Zero, Zero) -> Zero 248.92/165.31 new_primPlusNat0(Succ(vyv4000), Zero) -> Succ(vyv4000) 248.92/165.31 new_esEs1(Integer(vyv2690)) -> new_primEqInt(vyv2690) 248.92/165.31 new_sr6(Neg(vyv1830)) -> Pos(new_primMulNat1(vyv1830)) 248.92/165.31 new_sr6(Pos(vyv1830)) -> Pos(new_primMulNat1(vyv1830)) 248.92/165.31 new_primMulNat1(Succ(vyv18300)) -> new_primPlusNat0(new_primMulNat2(vyv18300), Succ(vyv18300)) 248.92/165.31 new_primMulNat1(Zero) -> Zero 248.92/165.31 new_primMulNat2(Succ(vyv183000)) -> new_primPlusNat0(new_primMulNat3(vyv183000), Succ(Succ(vyv183000))) 248.92/165.31 new_primMulNat2(Zero) -> Zero 248.92/165.31 new_primMulNat3(Succ(vyv1830000)) -> new_primPlusNat0(new_primMulNat4(vyv1830000), Succ(Succ(Succ(vyv1830000)))) 248.92/165.31 new_primMulNat3(Zero) -> Zero 248.92/165.31 new_primMulNat4(Succ(vyv18300000)) -> new_primPlusNat0(new_primMulNat0(vyv18300000, Succ(Succ(Succ(Succ(vyv18300000))))), Succ(Succ(Succ(Succ(vyv18300000))))) 248.92/165.31 new_primMulNat4(Zero) -> Zero 248.92/165.31 new_sr1(vyv227, ty_Int) -> new_sr6(vyv227) 248.92/165.31 new_sr1(vyv227, ty_Integer) -> new_sr7(vyv227) 248.92/165.31 new_sr1(vyv227, app(ty_Ratio, be)) -> new_sr5(vyv227, be) 248.92/165.31 new_sr1(vyv227, ty_Float) -> new_sr10(vyv227) 248.92/165.31 new_sr1(vyv227, ty_Double) -> new_sr9(vyv227) 248.92/165.31 new_sr3(vyv249, ty_Float) -> new_sr10(vyv249) 248.92/165.31 new_sr3(vyv249, ty_Double) -> new_sr9(vyv249) 248.92/165.31 new_sr3(vyv249, ty_Int) -> new_sr6(vyv249) 248.92/165.31 new_sr3(vyv249, ty_Integer) -> new_sr7(vyv249) 248.92/165.31 new_sr3(vyv249, app(ty_Ratio, bg)) -> new_sr5(vyv249, bg) 248.92/165.31 new_sr0(vyv183, ty_Double) -> new_sr9(vyv183) 248.92/165.31 new_sr0(vyv183, ty_Int) -> new_sr6(vyv183) 248.92/165.31 new_sr0(vyv183, ty_Integer) -> new_sr7(vyv183) 248.92/165.31 new_sr0(vyv183, ty_Float) -> new_sr10(vyv183) 248.92/165.31 new_sr0(vyv183, app(ty_Ratio, bd)) -> new_sr5(vyv183, bd) 248.92/165.31 new_ms0(vyv240, Neg(Zero)) -> Neg(Succ(vyv240)) 248.92/165.31 new_ms0(vyv240, Pos(vyv2430)) -> Neg(new_primPlusNat0(Succ(vyv240), vyv2430)) 248.92/165.31 new_ms0(vyv240, Neg(Succ(vyv24300))) -> new_primMinusNat0(vyv24300, vyv240) 248.92/165.31 new_sr4(vyv239, vyv238, app(ty_Ratio, bf)) -> new_sr12(vyv239, vyv238, bf) 248.92/165.31 new_sr4(vyv239, vyv238, ty_Integer) -> new_sr8(vyv239, vyv238) 248.92/165.31 new_sr4(vyv239, vyv238, ty_Int) -> new_sr14(vyv239, vyv238) 248.92/165.31 new_sr4(vyv239, vyv238, ty_Double) -> new_sr11(vyv239, vyv238) 248.92/165.31 new_sr4(vyv239, vyv238, ty_Float) -> new_sr13(vyv239, vyv238) 248.92/165.31 new_sr13(vyv239, vyv238) -> error([]) 248.92/165.31 new_sr11(vyv239, vyv238) -> error([]) 248.92/165.31 new_sr12(:%(vyv2390, vyv2391), :%(vyv2380, vyv2381), bf) -> new_reduce2Reduce1(vyv2390, vyv2380, vyv2391, vyv2381, new_esEs2(vyv2391, vyv2381, bf), bf) 248.92/165.31 new_esEs2(vyv2391, vyv2381, ty_Int) -> new_esEs(new_sr14(vyv2391, vyv2381)) 248.92/165.31 new_esEs2(vyv2391, vyv2381, ty_Integer) -> new_esEs1(new_sr8(vyv2391, vyv2381)) 248.92/165.31 new_primMinusNat0(Succ(vyv2280), Succ(vyv244000)) -> new_primMinusNat0(vyv2280, vyv244000) 248.92/165.31 new_primMinusNat0(Zero, Zero) -> Pos(Zero) 248.92/165.31 new_primMinusNat0(Zero, Succ(vyv244000)) -> Neg(Succ(vyv244000)) 248.92/165.31 new_primMinusNat0(Succ(vyv2280), Zero) -> Pos(Succ(vyv2280)) 248.92/165.31 new_ms(vyv228, Neg(vyv2440)) -> Pos(new_primPlusNat0(Succ(vyv228), vyv2440)) 248.92/165.31 new_ms(vyv228, Pos(Succ(vyv24400))) -> new_primMinusNat0(vyv228, vyv24400) 248.92/165.31 new_ms(vyv228, Pos(Zero)) -> Pos(Succ(vyv228)) 248.92/165.31 new_sr2(vyv227, vyv226, ty_Int) -> new_sr14(vyv227, vyv226) 248.92/165.31 new_sr2(vyv227, vyv226, ty_Double) -> new_sr11(vyv227, vyv226) 248.92/165.31 new_sr2(vyv227, vyv226, ty_Integer) -> new_sr8(vyv227, vyv226) 248.92/165.31 new_sr2(vyv227, vyv226, ty_Float) -> new_sr13(vyv227, vyv226) 248.92/165.31 new_sr2(vyv227, vyv226, app(ty_Ratio, be)) -> new_sr12(vyv227, vyv226, be) 248.92/165.31 248.92/165.31 The set Q consists of the following terms: 248.92/165.31 248.92/165.31 new_rem(Pos(x0), Pos(Succ(x1))) 248.92/165.31 new_quot1(x0, x1, x2, x3, ty_Integer) 248.92/165.31 new_primModNatS1(Succ(Zero), Succ(x0)) 248.92/165.31 new_ms0(x0, Pos(x1)) 248.92/165.31 new_sr(x0, app(ty_Ratio, x1)) 248.92/165.31 new_primMulNat4(Zero) 248.92/165.31 new_gcd1(False, x0, x1) 248.92/165.31 new_primEqInt(Pos(Zero)) 248.92/165.31 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 248.92/165.31 new_rem(Pos(x0), Neg(Succ(x1))) 248.92/165.31 new_rem(Neg(x0), Pos(Succ(x1))) 248.92/165.31 new_sr10(x0) 248.92/165.31 new_quot1(x0, x1, x2, x3, ty_Int) 248.92/165.31 new_sr0(x0, app(ty_Ratio, x1)) 248.92/165.31 new_quot2(x0, x1, x2, x3, ty_Integer) 248.92/165.31 new_primModNatS01(x0, x1, Succ(x2), Zero) 248.92/165.31 new_sr3(x0, ty_Integer) 248.92/165.31 new_primMulNat3(Zero) 248.92/165.31 new_primDivNatS02(x0, x1, Succ(x2), Zero) 248.92/165.31 new_sr(x0, ty_Float) 248.92/165.31 new_quot2(x0, x1, x2, x3, ty_Int) 248.92/165.31 new_gcd2(False, x0, x1) 248.92/165.31 new_primDivNatS1(Succ(Zero), Zero) 248.92/165.31 new_sr0(x0, ty_Double) 248.92/165.31 new_esEs0(x0, ty_Int) 248.92/165.31 new_sr14(Pos(x0), Pos(x1)) 248.92/165.31 new_sr3(x0, ty_Int) 248.92/165.31 new_primMulNat0(Zero, Zero) 248.92/165.31 new_sr4(x0, x1, ty_Double) 248.92/165.31 new_primPlusNat0(Succ(x0), Zero) 248.92/165.31 new_primMulNat2(Zero) 248.92/165.31 new_sr11(x0, x1) 248.92/165.31 new_primModNatS01(x0, x1, Zero, Zero) 248.92/165.31 new_esEs2(x0, x1, ty_Int) 248.92/165.31 new_gcd1(True, x0, x1) 248.92/165.31 new_sr13(x0, x1) 248.92/165.31 new_sr14(Pos(x0), Neg(x1)) 248.92/165.31 new_sr14(Neg(x0), Pos(x1)) 248.92/165.31 new_primDivNatS1(Succ(Succ(x0)), Succ(x1)) 248.92/165.31 new_sr1(x0, ty_Int) 248.92/165.31 new_primModNatS1(Zero, x0) 248.92/165.31 new_esEs(Pos(Succ(x0))) 248.92/165.31 new_primMulNat3(Succ(x0)) 248.92/165.31 new_sr1(x0, app(ty_Ratio, x1)) 248.92/165.31 new_primQuotInt(x0, Neg(Succ(x1))) 248.92/165.31 new_reduce2Reduce1(x0, x1, x2, x3, False, x4) 248.92/165.31 new_primMinusNat0(Zero, Zero) 248.92/165.31 new_primDivNatS1(Zero, x0) 248.92/165.31 new_primDivNatS02(x0, x1, Succ(x2), Succ(x3)) 248.92/165.31 new_primModNatS02(x0, x1) 248.92/165.31 new_primDivNatS1(Succ(Zero), Succ(x0)) 248.92/165.31 new_sr6(Neg(x0)) 248.92/165.31 new_gcd0Gcd'10(True, x0, x1) 248.92/165.31 new_primMulNat0(Succ(x0), Succ(x1)) 248.92/165.31 new_abs(Neg(Zero)) 248.92/165.31 new_ms(x0, Neg(x1)) 248.92/165.31 new_rem(Pos(x0), Neg(Zero)) 248.92/165.31 new_rem(Neg(x0), Pos(Zero)) 248.92/165.31 new_primMinusNatS2(Zero, Succ(x0)) 248.92/165.31 new_esEs(Neg(Succ(x0))) 248.92/165.31 new_error 248.92/165.31 new_primModNatS1(Succ(Zero), Zero) 248.92/165.31 new_primMulNat0(Zero, Succ(x0)) 248.92/165.31 new_sr3(x0, ty_Float) 248.92/165.31 new_quot(x0, x1, x2) 248.92/165.31 new_gcd2(True, x0, x1) 248.92/165.31 new_gcd0Gcd'11(True, x0, x1) 248.92/165.31 new_primEqInt(Neg(Zero)) 248.92/165.31 new_sr2(x0, x1, ty_Double) 248.92/165.31 new_primMulNat0(Succ(x0), Zero) 248.92/165.31 new_quot0(Neg(x0), x1, x2) 248.92/165.31 new_primMinusNatS2(Succ(x0), Succ(x1)) 248.92/165.31 new_sr4(x0, x1, app(ty_Ratio, x2)) 248.92/165.31 new_sr8(x0, x1) 248.92/165.31 new_primDivNatS01(x0, x1) 248.92/165.31 new_primDivNatS02(x0, x1, Zero, Succ(x2)) 248.92/165.31 new_primPlusNat0(Succ(x0), Succ(x1)) 248.92/165.31 new_sr1(x0, ty_Integer) 248.92/165.31 new_primPlusNat0(Zero, Zero) 248.92/165.31 new_sr1(x0, ty_Float) 248.92/165.31 new_primMinusNat0(Succ(x0), Succ(x1)) 248.92/165.31 new_sr12(:%(x0, x1), :%(x2, x3), x4) 248.92/165.31 new_abs(Neg(Succ(x0))) 248.92/165.31 new_sr1(x0, ty_Double) 248.92/165.31 new_sr3(x0, app(ty_Ratio, x1)) 248.92/165.31 new_sr7(x0) 248.92/165.31 new_gcd0(x0, x1) 248.92/165.31 new_sr(x0, ty_Integer) 248.92/165.31 new_sr0(x0, ty_Int) 248.92/165.31 new_primQuotInt0(x0, Pos(Succ(x1))) 248.92/165.31 new_sr4(x0, x1, ty_Integer) 248.92/165.31 new_sr5(:%(x0, x1), x2) 248.92/165.31 new_primMinusNatS2(Zero, Zero) 248.92/165.31 new_primMulNat1(Succ(x0)) 248.92/165.31 new_sr0(x0, ty_Integer) 248.92/165.31 new_ms(x0, Pos(Zero)) 248.92/165.31 new_abs(Pos(Succ(x0))) 248.92/165.31 new_sr4(x0, x1, ty_Int) 248.92/165.31 new_esEs(Pos(Zero)) 248.92/165.31 new_primQuotInt0(x0, Pos(Zero)) 248.92/165.31 new_sr(x0, ty_Int) 248.92/165.31 new_primEqInt(Neg(Succ(x0))) 248.92/165.31 new_primQuotInt(x0, Neg(Zero)) 248.92/165.31 new_primQuotInt0(x0, Neg(Zero)) 248.92/165.31 new_primQuotInt0(x0, Neg(Succ(x1))) 248.92/165.31 new_gcd(x0, x1) 248.92/165.31 new_quot0(Pos(x0), x1, x2) 248.92/165.31 new_primMinusNatS0(x0) 248.92/165.31 new_primPlusNat0(Zero, Succ(x0)) 248.92/165.31 new_sr2(x0, x1, app(ty_Ratio, x2)) 248.92/165.31 new_sr2(x0, x1, ty_Int) 248.92/165.31 new_primQuotInt(x0, Pos(Succ(x1))) 248.92/165.31 new_primDivNatS1(Succ(Succ(x0)), Zero) 248.92/165.31 new_rem(Pos(x0), Pos(Zero)) 248.92/165.31 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 248.92/165.31 new_primDivNatS02(x0, x1, Zero, Zero) 248.92/165.31 new_abs(Pos(Zero)) 248.92/165.31 new_gcd0Gcd'10(False, x0, x1) 248.92/165.31 new_ms(x0, Pos(Succ(x1))) 248.92/165.31 new_primMinusNatS1 248.92/165.31 new_esEs1(Integer(x0)) 248.92/165.31 new_ms0(x0, Neg(Zero)) 248.92/165.31 new_primMinusNat0(Succ(x0), Zero) 248.92/165.31 new_ms0(x0, Neg(Succ(x1))) 248.92/165.31 new_sr2(x0, x1, ty_Integer) 248.92/165.31 new_primModNatS01(x0, x1, Zero, Succ(x2)) 248.92/165.31 new_primMulNat2(Succ(x0)) 248.92/165.31 new_sr0(x0, ty_Float) 248.92/165.31 new_sr14(Neg(x0), Neg(x1)) 248.92/165.31 new_sr2(x0, x1, ty_Float) 248.92/165.31 new_primMinusNatS2(Succ(x0), Zero) 248.92/165.31 new_sr4(x0, x1, ty_Float) 248.92/165.31 new_sr6(Pos(x0)) 248.92/165.31 new_esEs2(x0, x1, ty_Integer) 248.92/165.31 new_primMulNat4(Succ(x0)) 248.92/165.31 new_rem(Neg(x0), Neg(Succ(x1))) 248.92/165.31 new_primEqInt(Pos(Succ(x0))) 248.92/165.31 new_primQuotInt(x0, Pos(Zero)) 248.92/165.31 new_gcd0Gcd'11(False, x0, x1) 248.92/165.31 new_sr9(x0) 248.92/165.31 new_primModNatS1(Succ(Succ(x0)), Zero) 248.92/165.31 new_sr(x0, ty_Double) 248.92/165.31 new_esEs0(x0, ty_Integer) 248.92/165.31 new_gcd0Gcd'00(x0, x1) 248.92/165.31 new_reduce2Reduce1(x0, x1, x2, x3, True, x4) 248.92/165.31 new_sr3(x0, ty_Double) 248.92/165.31 new_esEs(Neg(Zero)) 248.92/165.31 new_primMulNat1(Zero) 248.92/165.31 new_primMinusNat0(Zero, Succ(x0)) 248.92/165.31 new_rem(Neg(x0), Neg(Zero)) 248.92/165.31 248.92/165.31 We have to consider all minimal (P,Q,R)-chains. 248.92/165.31 ---------------------------------------- 248.92/165.31 248.92/165.31 (749) TransformationProof (EQUIVALENT) 248.92/165.31 By rewriting [LPAR04] the rule new_pr2F0(vyv183, Neg(Zero), vyv187, h) -> new_pr2F0G(vyv187, new_sr0(vyv183, h), Neg(new_primDivNatS1(Zero, Succ(Zero))), h) at position [2,0] we obtained the following new rules [LPAR04]: 248.92/165.31 248.92/165.31 (new_pr2F0(vyv183, Neg(Zero), vyv187, h) -> new_pr2F0G(vyv187, new_sr0(vyv183, h), Neg(Zero), h),new_pr2F0(vyv183, Neg(Zero), vyv187, h) -> new_pr2F0G(vyv187, new_sr0(vyv183, h), Neg(Zero), h)) 248.92/165.31 248.92/165.31 248.92/165.31 ---------------------------------------- 248.92/165.31 248.92/165.31 (750) 248.92/165.31 Obligation: 248.92/165.31 Q DP problem: 248.92/165.31 The TRS P consists of the following rules: 248.92/165.31 248.92/165.31 new_pr2F0G10(vyv248, vyv249, vyv250, Succ(Succ(vyv25100)), bb) -> new_pr2F0G10(vyv248, vyv249, vyv250, vyv25100, bb) 248.92/165.31 new_pr2F0G(vyv187, vyv183, Neg(Succ(Zero)), h) -> new_pr2F0G11(vyv187, vyv183, Zero, h) 248.92/165.31 new_pr2F0G(vyv187, vyv183, Pos(Succ(Succ(vyv222000))), h) -> new_pr2F0G1(vyv187, vyv183, Succ(vyv222000), vyv222000, h) 248.92/165.31 new_pr2F0(vyv183, Neg(Succ(Succ(vyv222000))), vyv187, h) -> new_pr2F0G10(vyv187, vyv183, Succ(vyv222000), vyv222000, h) 248.92/165.31 new_pr2F0(vyv183, Neg(Succ(Zero)), vyv187, h) -> new_pr2F0G11(vyv187, vyv183, Zero, h) 248.92/165.31 new_pr2F0G10(vyv248, vyv249, vyv250, Succ(Zero), bb) -> new_pr2F0G11(vyv248, vyv249, vyv250, bb) 248.92/165.31 new_pr2F0G(vyv187, vyv183, Neg(Succ(Succ(vyv222000))), h) -> new_pr2F0G10(vyv187, vyv183, Succ(vyv222000), vyv222000, h) 248.92/165.31 new_pr2F3(False, vyv227, vyv228, vyv244, vyv226, ba) -> new_pr2F0(vyv227, new_ms(vyv228, vyv244), new_sr2(vyv227, vyv226, ba), ba) 248.92/165.31 new_pr2F0(vyv183, Pos(Succ(Succ(vyv222000))), vyv187, h) -> new_pr2F0G1(vyv187, vyv183, Succ(vyv222000), vyv222000, h) 248.92/165.31 new_pr2F1(vyv239, vyv240, vyv243, vyv238, bc) -> new_pr2F30(new_esEs(new_ms0(vyv240, vyv243)), vyv239, vyv240, vyv243, vyv238, bc) 248.92/165.31 new_pr2F(vyv227, vyv228, vyv244, vyv226, ba) -> new_pr2F3(new_esEs(new_ms(vyv228, vyv244)), vyv227, vyv228, vyv244, vyv226, ba) 248.92/165.31 new_pr2F0G1(vyv226, vyv227, vyv228, Succ(Succ(vyv22900)), ba) -> new_pr2F0G1(vyv226, vyv227, vyv228, vyv22900, ba) 248.92/165.31 new_pr2F30(False, vyv239, vyv240, vyv243, vyv238, bc) -> new_pr2F0(vyv239, new_ms0(vyv240, vyv243), new_sr4(vyv239, vyv238, bc), bc) 248.92/165.31 new_pr2F0G11(vyv238, vyv239, vyv240, bc) -> new_pr2F1(vyv239, vyv240, Pos(Succ(Zero)), vyv238, bc) 248.92/165.31 new_pr2F0(vyv183, Pos(Succ(Zero)), vyv187, h) -> new_pr2F(vyv183, Zero, Pos(Succ(Zero)), vyv187, h) 248.92/165.31 new_pr2F0G1(vyv226, vyv227, vyv228, Succ(Zero), ba) -> new_pr2F(vyv227, vyv228, Pos(Succ(Zero)), vyv226, ba) 248.92/165.31 new_pr2F0G(vyv187, vyv183, Pos(Succ(Zero)), h) -> new_pr2F(vyv183, Zero, Pos(Succ(Zero)), vyv187, h) 248.92/165.31 new_pr2F0G(vyv187, vyv183, Neg(Zero), h) -> new_pr2F0G(vyv187, new_sr0(vyv183, h), Neg(new_primDivNatS1(Zero, Succ(Zero))), h) 248.92/165.31 new_pr2F0G10(vyv248, vyv249, vyv250, Zero, bb) -> new_pr2F0G(vyv248, new_sr3(vyv249, bb), Neg(new_primDivNatS1(Succ(vyv250), Succ(Zero))), bb) 248.92/165.31 new_pr2F0G(vyv187, vyv183, Pos(Zero), h) -> new_pr2F0G(vyv187, new_sr(vyv183, h), Pos(new_primDivNatS1(Zero, Succ(Zero))), h) 248.92/165.31 new_pr2F0G1(vyv226, vyv227, vyv228, Zero, ba) -> new_pr2F0G(vyv226, new_sr1(vyv227, ba), Pos(new_primDivNatS1(Succ(vyv228), Succ(Zero))), ba) 248.92/165.31 new_pr2F0(vyv183, Pos(Zero), vyv187, h) -> new_pr2F0G(vyv187, new_sr(vyv183, h), Pos(new_primDivNatS1(Zero, Succ(Zero))), h) 248.92/165.31 new_pr2F0(vyv183, Neg(Zero), vyv187, h) -> new_pr2F0G(vyv187, new_sr0(vyv183, h), Neg(Zero), h) 248.92/165.31 248.92/165.31 The TRS R consists of the following rules: 248.92/165.31 248.92/165.31 new_sr(vyv183, ty_Int) -> new_sr6(vyv183) 248.92/165.31 new_sr(vyv183, app(ty_Ratio, bd)) -> new_sr5(vyv183, bd) 248.92/165.31 new_sr(vyv183, ty_Integer) -> new_sr7(vyv183) 248.92/165.31 new_sr(vyv183, ty_Float) -> new_sr10(vyv183) 248.92/165.31 new_sr(vyv183, ty_Double) -> new_sr9(vyv183) 248.92/165.31 new_primQuotInt(vyv2700, Pos(Succ(vyv28400))) -> Pos(new_primDivNatS1(vyv2700, vyv28400)) 248.92/165.31 new_primDivNatS1(Zero, vyv28400) -> Zero 248.92/165.31 new_primDivNatS1(Succ(Succ(vyv270000)), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS0(vyv270000), Zero)) 248.92/165.31 new_primDivNatS1(Succ(Zero), Succ(vyv284000)) -> Zero 248.92/165.31 new_primDivNatS1(Succ(Succ(vyv270000)), Succ(vyv284000)) -> new_primDivNatS02(vyv270000, vyv284000, vyv270000, vyv284000) 248.92/165.31 new_primDivNatS1(Succ(Zero), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS1, Zero)) 248.92/165.31 new_primMinusNatS1 -> Zero 248.92/165.31 new_primDivNatS02(vyv310, vyv311, Zero, Zero) -> new_primDivNatS01(vyv310, vyv311) 248.92/165.31 new_primDivNatS02(vyv310, vyv311, Succ(vyv3120), Zero) -> new_primDivNatS01(vyv310, vyv311) 248.92/165.31 new_primDivNatS02(vyv310, vyv311, Zero, Succ(vyv3130)) -> Zero 248.92/165.31 new_primDivNatS02(vyv310, vyv311, Succ(vyv3120), Succ(vyv3130)) -> new_primDivNatS02(vyv310, vyv311, vyv3120, vyv3130) 248.92/165.31 new_primDivNatS01(vyv310, vyv311) -> Succ(new_primDivNatS1(new_primMinusNatS2(vyv310, vyv311), Succ(vyv311))) 248.92/165.31 new_primMinusNatS2(Zero, Succ(vyv3110)) -> Zero 248.92/165.31 new_primMinusNatS2(Succ(vyv3100), Zero) -> Succ(vyv3100) 248.92/165.31 new_primMinusNatS2(Zero, Zero) -> Zero 248.92/165.31 new_primMinusNatS2(Succ(vyv3100), Succ(vyv3110)) -> new_primMinusNatS2(vyv3100, vyv3110) 248.92/165.31 new_primMinusNatS0(vyv270000) -> Succ(vyv270000) 248.92/165.31 new_sr9(vyv183) -> error([]) 248.92/165.31 new_sr10(vyv183) -> error([]) 248.92/165.31 new_sr7(vyv183) -> error([]) 248.92/165.31 new_sr5(:%(vyv1830, vyv1831), bd) -> new_reduce2Reduce1(vyv1830, vyv1830, vyv1831, vyv1831, new_esEs0(vyv1831, bd), bd) 248.92/165.31 new_esEs0(vyv1831, ty_Int) -> new_esEs(new_sr6(vyv1831)) 248.92/165.31 new_esEs0(vyv1831, ty_Integer) -> new_esEs1(new_sr7(vyv1831)) 248.92/165.31 new_reduce2Reduce1(vyv264, vyv265, vyv266, vyv267, False, bh) -> :%(new_quot1(vyv264, vyv265, vyv266, vyv267, bh), new_quot2(vyv266, vyv267, vyv264, vyv265, bh)) 248.92/165.31 new_reduce2Reduce1(vyv264, vyv265, vyv266, vyv267, True, bh) -> error([]) 248.92/165.31 new_quot1(vyv264, vyv265, vyv266, vyv267, ty_Int) -> new_quot0(new_sr14(vyv264, vyv265), new_sr14(vyv264, vyv265), new_sr14(vyv266, vyv267)) 248.92/165.31 new_quot1(vyv264, vyv265, vyv266, vyv267, ty_Integer) -> new_quot(new_sr8(vyv264, vyv265), new_sr8(vyv264, vyv265), new_sr8(vyv266, vyv267)) 248.92/165.31 new_quot2(vyv266, vyv267, vyv264, vyv265, ty_Int) -> new_quot0(new_sr14(vyv266, vyv267), new_sr14(vyv264, vyv265), new_sr14(vyv266, vyv267)) 248.92/165.31 new_quot2(vyv266, vyv267, vyv264, vyv265, ty_Integer) -> new_quot(new_sr8(vyv266, vyv267), new_sr8(vyv264, vyv265), new_sr8(vyv266, vyv267)) 248.92/165.31 new_sr8(vyv239, vyv238) -> error([]) 248.92/165.31 new_quot(vyv273, vyv275, vyv274) -> error([]) 248.92/165.31 new_sr14(Pos(vyv2390), Neg(vyv2380)) -> Neg(new_primMulNat0(vyv2390, vyv2380)) 248.92/165.31 new_sr14(Neg(vyv2390), Pos(vyv2380)) -> Neg(new_primMulNat0(vyv2390, vyv2380)) 248.92/165.31 new_sr14(Neg(vyv2390), Neg(vyv2380)) -> Pos(new_primMulNat0(vyv2390, vyv2380)) 248.92/165.31 new_sr14(Pos(vyv2390), Pos(vyv2380)) -> Pos(new_primMulNat0(vyv2390, vyv2380)) 248.92/165.31 new_quot0(Neg(vyv2700), vyv272, vyv271) -> new_primQuotInt0(vyv2700, new_gcd(vyv272, vyv271)) 248.92/165.31 new_quot0(Pos(vyv2700), vyv272, vyv271) -> new_primQuotInt(vyv2700, new_gcd(vyv272, vyv271)) 248.92/165.31 new_gcd(vyv272, vyv271) -> new_gcd2(new_esEs(vyv272), vyv272, vyv271) 248.92/165.31 new_primQuotInt(vyv2700, Neg(Zero)) -> new_error 248.92/165.31 new_primQuotInt(vyv2700, Pos(Zero)) -> new_error 248.92/165.31 new_primQuotInt(vyv2700, Neg(Succ(vyv28400))) -> Neg(new_primDivNatS1(vyv2700, vyv28400)) 248.92/165.31 new_error -> error([]) 248.92/165.31 new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) 248.92/165.31 new_esEs(Pos(Succ(vyv24100))) -> new_primEqInt(Pos(Succ(vyv24100))) 248.92/165.31 new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) 248.92/165.31 new_esEs(Neg(Succ(vyv24100))) -> new_primEqInt(Neg(Succ(vyv24100))) 248.92/165.31 new_gcd2(True, vyv272, vyv271) -> new_gcd1(new_esEs(vyv271), vyv272, vyv271) 248.92/165.31 new_gcd2(False, vyv272, vyv271) -> new_gcd0(vyv272, vyv271) 248.92/165.31 new_gcd0(vyv272, vyv271) -> new_gcd0Gcd'10(new_esEs(new_abs(vyv271)), vyv272, vyv271) 248.92/165.31 new_abs(Neg(Zero)) -> Neg(Zero) 248.92/165.31 new_abs(Neg(Succ(vyv27100))) -> Pos(Succ(vyv27100)) 248.92/165.31 new_abs(Pos(Succ(vyv27100))) -> Pos(Succ(vyv27100)) 248.92/165.31 new_abs(Pos(Zero)) -> Pos(Zero) 248.92/165.31 new_gcd0Gcd'10(True, vyv272, vyv271) -> new_abs(vyv272) 248.92/165.31 new_gcd0Gcd'10(False, vyv272, vyv271) -> new_gcd0Gcd'00(new_abs(vyv272), new_abs(vyv271)) 248.92/165.31 new_gcd0Gcd'00(vyv292, vyv291) -> new_gcd0Gcd'11(new_esEs(new_rem(vyv292, vyv291)), vyv291, vyv292) 248.92/165.31 new_gcd0Gcd'11(False, vyv291, vyv292) -> new_gcd0Gcd'00(vyv291, new_rem(vyv292, vyv291)) 248.92/165.31 new_rem(Pos(vyv2920), Neg(Zero)) -> new_error 248.92/165.31 new_rem(Neg(vyv2920), Pos(Zero)) -> new_error 248.92/165.31 new_rem(Pos(vyv2920), Neg(Succ(vyv29100))) -> Pos(new_primModNatS1(vyv2920, vyv29100)) 248.92/165.31 new_rem(Neg(vyv2920), Pos(Succ(vyv29100))) -> Neg(new_primModNatS1(vyv2920, vyv29100)) 248.92/165.31 new_rem(Pos(vyv2920), Pos(Succ(vyv29100))) -> Pos(new_primModNatS1(vyv2920, vyv29100)) 248.92/165.31 new_rem(Neg(vyv2920), Neg(Zero)) -> new_error 248.92/165.31 new_rem(Neg(vyv2920), Neg(Succ(vyv29100))) -> Neg(new_primModNatS1(vyv2920, vyv29100)) 248.92/165.31 new_rem(Pos(vyv2920), Pos(Zero)) -> new_error 248.92/165.31 new_gcd0Gcd'11(True, vyv291, vyv292) -> vyv291 248.92/165.31 new_primModNatS1(Succ(Zero), Succ(vyv291000)) -> Succ(Zero) 248.92/165.31 new_primModNatS1(Zero, vyv29100) -> Zero 248.92/165.31 new_primModNatS1(Succ(Succ(vyv292000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv292000), Zero) 248.92/165.31 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 248.92/165.31 new_primModNatS1(Succ(Succ(vyv292000)), Succ(vyv291000)) -> new_primModNatS01(vyv292000, vyv291000, vyv292000, vyv291000) 248.92/165.31 new_primModNatS01(vyv330, vyv331, Zero, Zero) -> new_primModNatS02(vyv330, vyv331) 248.92/165.31 new_primModNatS02(vyv330, vyv331) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv330), Succ(vyv331)), Succ(vyv331)) 248.92/165.31 new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Zero) -> new_primModNatS02(vyv330, vyv331) 248.92/165.31 new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Succ(vyv3330)) -> new_primModNatS01(vyv330, vyv331, vyv3320, vyv3330) 248.92/165.31 new_primModNatS01(vyv330, vyv331, Zero, Succ(vyv3330)) -> Succ(Succ(vyv330)) 248.92/165.31 new_gcd1(True, vyv272, vyv271) -> new_error 248.92/165.31 new_gcd1(False, vyv272, vyv271) -> new_gcd0(vyv272, vyv271) 248.92/165.31 new_primEqInt(Neg(Succ(vyv242000))) -> False 248.92/165.31 new_primEqInt(Pos(Zero)) -> True 248.92/165.31 new_primEqInt(Pos(Succ(vyv242000))) -> False 248.92/165.31 new_primEqInt(Neg(Zero)) -> True 248.92/165.31 new_primQuotInt0(vyv2700, Pos(Succ(vyv28700))) -> Neg(new_primDivNatS1(vyv2700, vyv28700)) 248.92/165.31 new_primQuotInt0(vyv2700, Neg(Zero)) -> new_error 248.92/165.31 new_primQuotInt0(vyv2700, Neg(Succ(vyv28700))) -> Pos(new_primDivNatS1(vyv2700, vyv28700)) 248.92/165.31 new_primQuotInt0(vyv2700, Pos(Zero)) -> new_error 248.92/165.31 new_primMulNat0(Succ(vyv23900), Zero) -> Zero 248.92/165.31 new_primMulNat0(Zero, Succ(vyv23800)) -> Zero 248.92/165.31 new_primMulNat0(Zero, Zero) -> Zero 248.92/165.31 new_primMulNat0(Succ(vyv23900), Succ(vyv23800)) -> new_primPlusNat0(new_primMulNat0(vyv23900, Succ(vyv23800)), Succ(vyv23800)) 248.92/165.31 new_primPlusNat0(Succ(vyv4000), Succ(vyv5000)) -> Succ(Succ(new_primPlusNat0(vyv4000, vyv5000))) 248.92/165.31 new_primPlusNat0(Zero, Succ(vyv5000)) -> Succ(vyv5000) 248.92/165.31 new_primPlusNat0(Zero, Zero) -> Zero 248.92/165.31 new_primPlusNat0(Succ(vyv4000), Zero) -> Succ(vyv4000) 248.92/165.31 new_esEs1(Integer(vyv2690)) -> new_primEqInt(vyv2690) 248.92/165.31 new_sr6(Neg(vyv1830)) -> Pos(new_primMulNat1(vyv1830)) 248.92/165.31 new_sr6(Pos(vyv1830)) -> Pos(new_primMulNat1(vyv1830)) 248.92/165.31 new_primMulNat1(Succ(vyv18300)) -> new_primPlusNat0(new_primMulNat2(vyv18300), Succ(vyv18300)) 248.92/165.31 new_primMulNat1(Zero) -> Zero 248.92/165.31 new_primMulNat2(Succ(vyv183000)) -> new_primPlusNat0(new_primMulNat3(vyv183000), Succ(Succ(vyv183000))) 248.92/165.31 new_primMulNat2(Zero) -> Zero 248.92/165.31 new_primMulNat3(Succ(vyv1830000)) -> new_primPlusNat0(new_primMulNat4(vyv1830000), Succ(Succ(Succ(vyv1830000)))) 248.92/165.31 new_primMulNat3(Zero) -> Zero 248.92/165.31 new_primMulNat4(Succ(vyv18300000)) -> new_primPlusNat0(new_primMulNat0(vyv18300000, Succ(Succ(Succ(Succ(vyv18300000))))), Succ(Succ(Succ(Succ(vyv18300000))))) 248.92/165.31 new_primMulNat4(Zero) -> Zero 248.92/165.31 new_sr1(vyv227, ty_Int) -> new_sr6(vyv227) 248.92/165.31 new_sr1(vyv227, ty_Integer) -> new_sr7(vyv227) 248.92/165.31 new_sr1(vyv227, app(ty_Ratio, be)) -> new_sr5(vyv227, be) 248.92/165.31 new_sr1(vyv227, ty_Float) -> new_sr10(vyv227) 248.92/165.31 new_sr1(vyv227, ty_Double) -> new_sr9(vyv227) 248.92/165.31 new_sr3(vyv249, ty_Float) -> new_sr10(vyv249) 248.92/165.31 new_sr3(vyv249, ty_Double) -> new_sr9(vyv249) 248.92/165.31 new_sr3(vyv249, ty_Int) -> new_sr6(vyv249) 248.92/165.31 new_sr3(vyv249, ty_Integer) -> new_sr7(vyv249) 248.92/165.31 new_sr3(vyv249, app(ty_Ratio, bg)) -> new_sr5(vyv249, bg) 248.92/165.31 new_sr0(vyv183, ty_Double) -> new_sr9(vyv183) 248.92/165.31 new_sr0(vyv183, ty_Int) -> new_sr6(vyv183) 248.92/165.31 new_sr0(vyv183, ty_Integer) -> new_sr7(vyv183) 248.92/165.31 new_sr0(vyv183, ty_Float) -> new_sr10(vyv183) 248.92/165.31 new_sr0(vyv183, app(ty_Ratio, bd)) -> new_sr5(vyv183, bd) 248.92/165.31 new_ms0(vyv240, Neg(Zero)) -> Neg(Succ(vyv240)) 248.92/165.31 new_ms0(vyv240, Pos(vyv2430)) -> Neg(new_primPlusNat0(Succ(vyv240), vyv2430)) 248.92/165.31 new_ms0(vyv240, Neg(Succ(vyv24300))) -> new_primMinusNat0(vyv24300, vyv240) 248.92/165.31 new_sr4(vyv239, vyv238, app(ty_Ratio, bf)) -> new_sr12(vyv239, vyv238, bf) 248.92/165.31 new_sr4(vyv239, vyv238, ty_Integer) -> new_sr8(vyv239, vyv238) 248.92/165.31 new_sr4(vyv239, vyv238, ty_Int) -> new_sr14(vyv239, vyv238) 248.92/165.31 new_sr4(vyv239, vyv238, ty_Double) -> new_sr11(vyv239, vyv238) 248.92/165.31 new_sr4(vyv239, vyv238, ty_Float) -> new_sr13(vyv239, vyv238) 248.92/165.31 new_sr13(vyv239, vyv238) -> error([]) 248.92/165.31 new_sr11(vyv239, vyv238) -> error([]) 248.92/165.31 new_sr12(:%(vyv2390, vyv2391), :%(vyv2380, vyv2381), bf) -> new_reduce2Reduce1(vyv2390, vyv2380, vyv2391, vyv2381, new_esEs2(vyv2391, vyv2381, bf), bf) 248.92/165.31 new_esEs2(vyv2391, vyv2381, ty_Int) -> new_esEs(new_sr14(vyv2391, vyv2381)) 248.92/165.31 new_esEs2(vyv2391, vyv2381, ty_Integer) -> new_esEs1(new_sr8(vyv2391, vyv2381)) 248.92/165.31 new_primMinusNat0(Succ(vyv2280), Succ(vyv244000)) -> new_primMinusNat0(vyv2280, vyv244000) 248.92/165.31 new_primMinusNat0(Zero, Zero) -> Pos(Zero) 248.92/165.31 new_primMinusNat0(Zero, Succ(vyv244000)) -> Neg(Succ(vyv244000)) 248.92/165.31 new_primMinusNat0(Succ(vyv2280), Zero) -> Pos(Succ(vyv2280)) 248.92/165.31 new_ms(vyv228, Neg(vyv2440)) -> Pos(new_primPlusNat0(Succ(vyv228), vyv2440)) 248.92/165.31 new_ms(vyv228, Pos(Succ(vyv24400))) -> new_primMinusNat0(vyv228, vyv24400) 248.92/165.31 new_ms(vyv228, Pos(Zero)) -> Pos(Succ(vyv228)) 248.92/165.31 new_sr2(vyv227, vyv226, ty_Int) -> new_sr14(vyv227, vyv226) 248.92/165.31 new_sr2(vyv227, vyv226, ty_Double) -> new_sr11(vyv227, vyv226) 248.92/165.31 new_sr2(vyv227, vyv226, ty_Integer) -> new_sr8(vyv227, vyv226) 248.92/165.31 new_sr2(vyv227, vyv226, ty_Float) -> new_sr13(vyv227, vyv226) 248.92/165.31 new_sr2(vyv227, vyv226, app(ty_Ratio, be)) -> new_sr12(vyv227, vyv226, be) 248.92/165.31 248.92/165.31 The set Q consists of the following terms: 248.92/165.31 248.92/165.31 new_rem(Pos(x0), Pos(Succ(x1))) 248.92/165.31 new_quot1(x0, x1, x2, x3, ty_Integer) 248.92/165.31 new_primModNatS1(Succ(Zero), Succ(x0)) 248.92/165.31 new_ms0(x0, Pos(x1)) 248.92/165.31 new_sr(x0, app(ty_Ratio, x1)) 248.92/165.31 new_primMulNat4(Zero) 248.92/165.31 new_gcd1(False, x0, x1) 248.92/165.31 new_primEqInt(Pos(Zero)) 248.92/165.31 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 248.92/165.31 new_rem(Pos(x0), Neg(Succ(x1))) 248.92/165.31 new_rem(Neg(x0), Pos(Succ(x1))) 248.92/165.31 new_sr10(x0) 248.92/165.31 new_quot1(x0, x1, x2, x3, ty_Int) 248.92/165.31 new_sr0(x0, app(ty_Ratio, x1)) 248.92/165.31 new_quot2(x0, x1, x2, x3, ty_Integer) 248.92/165.31 new_primModNatS01(x0, x1, Succ(x2), Zero) 248.92/165.31 new_sr3(x0, ty_Integer) 248.92/165.31 new_primMulNat3(Zero) 248.92/165.31 new_primDivNatS02(x0, x1, Succ(x2), Zero) 248.92/165.31 new_sr(x0, ty_Float) 248.92/165.31 new_quot2(x0, x1, x2, x3, ty_Int) 248.92/165.31 new_gcd2(False, x0, x1) 248.92/165.31 new_primDivNatS1(Succ(Zero), Zero) 248.92/165.31 new_sr0(x0, ty_Double) 248.92/165.31 new_esEs0(x0, ty_Int) 248.92/165.31 new_sr14(Pos(x0), Pos(x1)) 248.92/165.31 new_sr3(x0, ty_Int) 248.92/165.31 new_primMulNat0(Zero, Zero) 248.92/165.31 new_sr4(x0, x1, ty_Double) 248.92/165.31 new_primPlusNat0(Succ(x0), Zero) 248.92/165.31 new_primMulNat2(Zero) 248.92/165.31 new_sr11(x0, x1) 248.92/165.31 new_primModNatS01(x0, x1, Zero, Zero) 248.92/165.31 new_esEs2(x0, x1, ty_Int) 248.92/165.31 new_gcd1(True, x0, x1) 248.92/165.31 new_sr13(x0, x1) 248.92/165.31 new_sr14(Pos(x0), Neg(x1)) 248.92/165.31 new_sr14(Neg(x0), Pos(x1)) 248.92/165.31 new_primDivNatS1(Succ(Succ(x0)), Succ(x1)) 248.92/165.31 new_sr1(x0, ty_Int) 248.92/165.31 new_primModNatS1(Zero, x0) 248.92/165.31 new_esEs(Pos(Succ(x0))) 248.92/165.31 new_primMulNat3(Succ(x0)) 248.92/165.31 new_sr1(x0, app(ty_Ratio, x1)) 248.92/165.31 new_primQuotInt(x0, Neg(Succ(x1))) 248.92/165.31 new_reduce2Reduce1(x0, x1, x2, x3, False, x4) 248.92/165.31 new_primMinusNat0(Zero, Zero) 248.92/165.31 new_primDivNatS1(Zero, x0) 248.92/165.31 new_primDivNatS02(x0, x1, Succ(x2), Succ(x3)) 248.92/165.31 new_primModNatS02(x0, x1) 248.92/165.31 new_primDivNatS1(Succ(Zero), Succ(x0)) 248.92/165.31 new_sr6(Neg(x0)) 248.92/165.31 new_gcd0Gcd'10(True, x0, x1) 248.92/165.31 new_primMulNat0(Succ(x0), Succ(x1)) 248.92/165.31 new_abs(Neg(Zero)) 248.92/165.31 new_ms(x0, Neg(x1)) 248.92/165.31 new_rem(Pos(x0), Neg(Zero)) 248.92/165.31 new_rem(Neg(x0), Pos(Zero)) 248.92/165.31 new_primMinusNatS2(Zero, Succ(x0)) 248.92/165.31 new_esEs(Neg(Succ(x0))) 248.92/165.31 new_error 248.92/165.31 new_primModNatS1(Succ(Zero), Zero) 248.92/165.31 new_primMulNat0(Zero, Succ(x0)) 248.92/165.31 new_sr3(x0, ty_Float) 248.92/165.31 new_quot(x0, x1, x2) 248.92/165.31 new_gcd2(True, x0, x1) 248.92/165.31 new_gcd0Gcd'11(True, x0, x1) 248.92/165.31 new_primEqInt(Neg(Zero)) 248.92/165.31 new_sr2(x0, x1, ty_Double) 248.92/165.31 new_primMulNat0(Succ(x0), Zero) 248.92/165.31 new_quot0(Neg(x0), x1, x2) 248.92/165.31 new_primMinusNatS2(Succ(x0), Succ(x1)) 248.92/165.31 new_sr4(x0, x1, app(ty_Ratio, x2)) 248.92/165.31 new_sr8(x0, x1) 248.92/165.31 new_primDivNatS01(x0, x1) 248.92/165.31 new_primDivNatS02(x0, x1, Zero, Succ(x2)) 248.92/165.31 new_primPlusNat0(Succ(x0), Succ(x1)) 248.92/165.31 new_sr1(x0, ty_Integer) 248.92/165.31 new_primPlusNat0(Zero, Zero) 248.92/165.31 new_sr1(x0, ty_Float) 248.92/165.31 new_primMinusNat0(Succ(x0), Succ(x1)) 248.92/165.31 new_sr12(:%(x0, x1), :%(x2, x3), x4) 248.92/165.31 new_abs(Neg(Succ(x0))) 248.92/165.31 new_sr1(x0, ty_Double) 248.92/165.31 new_sr3(x0, app(ty_Ratio, x1)) 248.92/165.31 new_sr7(x0) 248.92/165.31 new_gcd0(x0, x1) 248.92/165.31 new_sr(x0, ty_Integer) 248.92/165.31 new_sr0(x0, ty_Int) 248.92/165.31 new_primQuotInt0(x0, Pos(Succ(x1))) 248.92/165.31 new_sr4(x0, x1, ty_Integer) 248.92/165.31 new_sr5(:%(x0, x1), x2) 248.92/165.31 new_primMinusNatS2(Zero, Zero) 248.92/165.31 new_primMulNat1(Succ(x0)) 248.92/165.31 new_sr0(x0, ty_Integer) 248.92/165.31 new_ms(x0, Pos(Zero)) 248.92/165.31 new_abs(Pos(Succ(x0))) 248.92/165.31 new_sr4(x0, x1, ty_Int) 248.92/165.31 new_esEs(Pos(Zero)) 248.92/165.31 new_primQuotInt0(x0, Pos(Zero)) 248.92/165.31 new_sr(x0, ty_Int) 248.92/165.31 new_primEqInt(Neg(Succ(x0))) 248.92/165.31 new_primQuotInt(x0, Neg(Zero)) 248.92/165.31 new_primQuotInt0(x0, Neg(Zero)) 248.92/165.31 new_primQuotInt0(x0, Neg(Succ(x1))) 248.92/165.31 new_gcd(x0, x1) 248.92/165.31 new_quot0(Pos(x0), x1, x2) 248.92/165.31 new_primMinusNatS0(x0) 248.92/165.31 new_primPlusNat0(Zero, Succ(x0)) 248.92/165.31 new_sr2(x0, x1, app(ty_Ratio, x2)) 248.92/165.31 new_sr2(x0, x1, ty_Int) 248.92/165.31 new_primQuotInt(x0, Pos(Succ(x1))) 248.92/165.31 new_primDivNatS1(Succ(Succ(x0)), Zero) 248.92/165.31 new_rem(Pos(x0), Pos(Zero)) 248.92/165.31 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 248.92/165.31 new_primDivNatS02(x0, x1, Zero, Zero) 248.92/165.31 new_abs(Pos(Zero)) 248.92/165.31 new_gcd0Gcd'10(False, x0, x1) 248.92/165.31 new_ms(x0, Pos(Succ(x1))) 248.92/165.31 new_primMinusNatS1 248.92/165.31 new_esEs1(Integer(x0)) 248.92/165.31 new_ms0(x0, Neg(Zero)) 248.92/165.31 new_primMinusNat0(Succ(x0), Zero) 248.92/165.31 new_ms0(x0, Neg(Succ(x1))) 248.92/165.31 new_sr2(x0, x1, ty_Integer) 248.92/165.31 new_primModNatS01(x0, x1, Zero, Succ(x2)) 248.92/165.31 new_primMulNat2(Succ(x0)) 248.92/165.31 new_sr0(x0, ty_Float) 248.92/165.31 new_sr14(Neg(x0), Neg(x1)) 248.92/165.31 new_sr2(x0, x1, ty_Float) 248.92/165.31 new_primMinusNatS2(Succ(x0), Zero) 248.92/165.31 new_sr4(x0, x1, ty_Float) 248.92/165.31 new_sr6(Pos(x0)) 248.92/165.31 new_esEs2(x0, x1, ty_Integer) 248.92/165.31 new_primMulNat4(Succ(x0)) 248.92/165.31 new_rem(Neg(x0), Neg(Succ(x1))) 248.92/165.31 new_primEqInt(Pos(Succ(x0))) 248.92/165.31 new_primQuotInt(x0, Pos(Zero)) 248.92/165.31 new_gcd0Gcd'11(False, x0, x1) 248.92/165.31 new_sr9(x0) 248.92/165.31 new_primModNatS1(Succ(Succ(x0)), Zero) 248.92/165.31 new_sr(x0, ty_Double) 248.92/165.31 new_esEs0(x0, ty_Integer) 248.92/165.31 new_gcd0Gcd'00(x0, x1) 248.92/165.31 new_reduce2Reduce1(x0, x1, x2, x3, True, x4) 248.92/165.31 new_sr3(x0, ty_Double) 248.92/165.31 new_esEs(Neg(Zero)) 248.92/165.31 new_primMulNat1(Zero) 248.92/165.31 new_primMinusNat0(Zero, Succ(x0)) 248.92/165.31 new_rem(Neg(x0), Neg(Zero)) 248.92/165.31 248.92/165.31 We have to consider all minimal (P,Q,R)-chains. 248.92/165.31 ---------------------------------------- 248.92/165.31 248.92/165.31 (751) TransformationProof (EQUIVALENT) 248.92/165.31 By rewriting [LPAR04] the rule new_pr2F0G(vyv187, vyv183, Neg(Zero), h) -> new_pr2F0G(vyv187, new_sr0(vyv183, h), Neg(new_primDivNatS1(Zero, Succ(Zero))), h) at position [2,0] we obtained the following new rules [LPAR04]: 248.92/165.31 248.92/165.31 (new_pr2F0G(vyv187, vyv183, Neg(Zero), h) -> new_pr2F0G(vyv187, new_sr0(vyv183, h), Neg(Zero), h),new_pr2F0G(vyv187, vyv183, Neg(Zero), h) -> new_pr2F0G(vyv187, new_sr0(vyv183, h), Neg(Zero), h)) 248.92/165.31 248.92/165.31 248.92/165.31 ---------------------------------------- 248.92/165.31 248.92/165.31 (752) 248.92/165.31 Obligation: 248.92/165.31 Q DP problem: 248.92/165.31 The TRS P consists of the following rules: 248.92/165.31 248.92/165.31 new_pr2F0G10(vyv248, vyv249, vyv250, Succ(Succ(vyv25100)), bb) -> new_pr2F0G10(vyv248, vyv249, vyv250, vyv25100, bb) 248.92/165.31 new_pr2F0G(vyv187, vyv183, Neg(Succ(Zero)), h) -> new_pr2F0G11(vyv187, vyv183, Zero, h) 248.92/165.31 new_pr2F0G(vyv187, vyv183, Pos(Succ(Succ(vyv222000))), h) -> new_pr2F0G1(vyv187, vyv183, Succ(vyv222000), vyv222000, h) 248.92/165.31 new_pr2F0(vyv183, Neg(Succ(Succ(vyv222000))), vyv187, h) -> new_pr2F0G10(vyv187, vyv183, Succ(vyv222000), vyv222000, h) 248.92/165.31 new_pr2F0(vyv183, Neg(Succ(Zero)), vyv187, h) -> new_pr2F0G11(vyv187, vyv183, Zero, h) 248.92/165.31 new_pr2F0G10(vyv248, vyv249, vyv250, Succ(Zero), bb) -> new_pr2F0G11(vyv248, vyv249, vyv250, bb) 248.92/165.31 new_pr2F0G(vyv187, vyv183, Neg(Succ(Succ(vyv222000))), h) -> new_pr2F0G10(vyv187, vyv183, Succ(vyv222000), vyv222000, h) 248.92/165.31 new_pr2F3(False, vyv227, vyv228, vyv244, vyv226, ba) -> new_pr2F0(vyv227, new_ms(vyv228, vyv244), new_sr2(vyv227, vyv226, ba), ba) 248.92/165.31 new_pr2F0(vyv183, Pos(Succ(Succ(vyv222000))), vyv187, h) -> new_pr2F0G1(vyv187, vyv183, Succ(vyv222000), vyv222000, h) 248.92/165.31 new_pr2F1(vyv239, vyv240, vyv243, vyv238, bc) -> new_pr2F30(new_esEs(new_ms0(vyv240, vyv243)), vyv239, vyv240, vyv243, vyv238, bc) 248.92/165.31 new_pr2F(vyv227, vyv228, vyv244, vyv226, ba) -> new_pr2F3(new_esEs(new_ms(vyv228, vyv244)), vyv227, vyv228, vyv244, vyv226, ba) 248.92/165.31 new_pr2F0G1(vyv226, vyv227, vyv228, Succ(Succ(vyv22900)), ba) -> new_pr2F0G1(vyv226, vyv227, vyv228, vyv22900, ba) 248.92/165.31 new_pr2F30(False, vyv239, vyv240, vyv243, vyv238, bc) -> new_pr2F0(vyv239, new_ms0(vyv240, vyv243), new_sr4(vyv239, vyv238, bc), bc) 248.92/165.31 new_pr2F0G11(vyv238, vyv239, vyv240, bc) -> new_pr2F1(vyv239, vyv240, Pos(Succ(Zero)), vyv238, bc) 248.92/165.31 new_pr2F0(vyv183, Pos(Succ(Zero)), vyv187, h) -> new_pr2F(vyv183, Zero, Pos(Succ(Zero)), vyv187, h) 248.92/165.31 new_pr2F0G1(vyv226, vyv227, vyv228, Succ(Zero), ba) -> new_pr2F(vyv227, vyv228, Pos(Succ(Zero)), vyv226, ba) 248.92/165.31 new_pr2F0G(vyv187, vyv183, Pos(Succ(Zero)), h) -> new_pr2F(vyv183, Zero, Pos(Succ(Zero)), vyv187, h) 248.92/165.31 new_pr2F0G10(vyv248, vyv249, vyv250, Zero, bb) -> new_pr2F0G(vyv248, new_sr3(vyv249, bb), Neg(new_primDivNatS1(Succ(vyv250), Succ(Zero))), bb) 248.92/165.31 new_pr2F0G(vyv187, vyv183, Pos(Zero), h) -> new_pr2F0G(vyv187, new_sr(vyv183, h), Pos(new_primDivNatS1(Zero, Succ(Zero))), h) 248.92/165.31 new_pr2F0G1(vyv226, vyv227, vyv228, Zero, ba) -> new_pr2F0G(vyv226, new_sr1(vyv227, ba), Pos(new_primDivNatS1(Succ(vyv228), Succ(Zero))), ba) 248.92/165.31 new_pr2F0(vyv183, Pos(Zero), vyv187, h) -> new_pr2F0G(vyv187, new_sr(vyv183, h), Pos(new_primDivNatS1(Zero, Succ(Zero))), h) 248.92/165.31 new_pr2F0(vyv183, Neg(Zero), vyv187, h) -> new_pr2F0G(vyv187, new_sr0(vyv183, h), Neg(Zero), h) 248.92/165.31 new_pr2F0G(vyv187, vyv183, Neg(Zero), h) -> new_pr2F0G(vyv187, new_sr0(vyv183, h), Neg(Zero), h) 248.92/165.31 248.92/165.31 The TRS R consists of the following rules: 248.92/165.31 248.92/165.31 new_sr(vyv183, ty_Int) -> new_sr6(vyv183) 248.92/165.31 new_sr(vyv183, app(ty_Ratio, bd)) -> new_sr5(vyv183, bd) 248.92/165.31 new_sr(vyv183, ty_Integer) -> new_sr7(vyv183) 248.92/165.31 new_sr(vyv183, ty_Float) -> new_sr10(vyv183) 248.92/165.31 new_sr(vyv183, ty_Double) -> new_sr9(vyv183) 248.92/165.31 new_primQuotInt(vyv2700, Pos(Succ(vyv28400))) -> Pos(new_primDivNatS1(vyv2700, vyv28400)) 248.92/165.31 new_primDivNatS1(Zero, vyv28400) -> Zero 248.92/165.31 new_primDivNatS1(Succ(Succ(vyv270000)), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS0(vyv270000), Zero)) 248.92/165.31 new_primDivNatS1(Succ(Zero), Succ(vyv284000)) -> Zero 248.92/165.31 new_primDivNatS1(Succ(Succ(vyv270000)), Succ(vyv284000)) -> new_primDivNatS02(vyv270000, vyv284000, vyv270000, vyv284000) 248.92/165.31 new_primDivNatS1(Succ(Zero), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS1, Zero)) 248.92/165.31 new_primMinusNatS1 -> Zero 248.92/165.31 new_primDivNatS02(vyv310, vyv311, Zero, Zero) -> new_primDivNatS01(vyv310, vyv311) 248.92/165.31 new_primDivNatS02(vyv310, vyv311, Succ(vyv3120), Zero) -> new_primDivNatS01(vyv310, vyv311) 248.92/165.31 new_primDivNatS02(vyv310, vyv311, Zero, Succ(vyv3130)) -> Zero 248.92/165.31 new_primDivNatS02(vyv310, vyv311, Succ(vyv3120), Succ(vyv3130)) -> new_primDivNatS02(vyv310, vyv311, vyv3120, vyv3130) 248.92/165.31 new_primDivNatS01(vyv310, vyv311) -> Succ(new_primDivNatS1(new_primMinusNatS2(vyv310, vyv311), Succ(vyv311))) 248.92/165.31 new_primMinusNatS2(Zero, Succ(vyv3110)) -> Zero 248.92/165.31 new_primMinusNatS2(Succ(vyv3100), Zero) -> Succ(vyv3100) 248.92/165.31 new_primMinusNatS2(Zero, Zero) -> Zero 248.92/165.31 new_primMinusNatS2(Succ(vyv3100), Succ(vyv3110)) -> new_primMinusNatS2(vyv3100, vyv3110) 248.92/165.31 new_primMinusNatS0(vyv270000) -> Succ(vyv270000) 248.92/165.31 new_sr9(vyv183) -> error([]) 248.92/165.31 new_sr10(vyv183) -> error([]) 248.92/165.31 new_sr7(vyv183) -> error([]) 248.92/165.31 new_sr5(:%(vyv1830, vyv1831), bd) -> new_reduce2Reduce1(vyv1830, vyv1830, vyv1831, vyv1831, new_esEs0(vyv1831, bd), bd) 248.92/165.31 new_esEs0(vyv1831, ty_Int) -> new_esEs(new_sr6(vyv1831)) 248.92/165.31 new_esEs0(vyv1831, ty_Integer) -> new_esEs1(new_sr7(vyv1831)) 248.92/165.31 new_reduce2Reduce1(vyv264, vyv265, vyv266, vyv267, False, bh) -> :%(new_quot1(vyv264, vyv265, vyv266, vyv267, bh), new_quot2(vyv266, vyv267, vyv264, vyv265, bh)) 248.92/165.31 new_reduce2Reduce1(vyv264, vyv265, vyv266, vyv267, True, bh) -> error([]) 248.92/165.31 new_quot1(vyv264, vyv265, vyv266, vyv267, ty_Int) -> new_quot0(new_sr14(vyv264, vyv265), new_sr14(vyv264, vyv265), new_sr14(vyv266, vyv267)) 248.92/165.31 new_quot1(vyv264, vyv265, vyv266, vyv267, ty_Integer) -> new_quot(new_sr8(vyv264, vyv265), new_sr8(vyv264, vyv265), new_sr8(vyv266, vyv267)) 248.92/165.31 new_quot2(vyv266, vyv267, vyv264, vyv265, ty_Int) -> new_quot0(new_sr14(vyv266, vyv267), new_sr14(vyv264, vyv265), new_sr14(vyv266, vyv267)) 248.92/165.31 new_quot2(vyv266, vyv267, vyv264, vyv265, ty_Integer) -> new_quot(new_sr8(vyv266, vyv267), new_sr8(vyv264, vyv265), new_sr8(vyv266, vyv267)) 248.92/165.31 new_sr8(vyv239, vyv238) -> error([]) 248.92/165.31 new_quot(vyv273, vyv275, vyv274) -> error([]) 248.92/165.31 new_sr14(Pos(vyv2390), Neg(vyv2380)) -> Neg(new_primMulNat0(vyv2390, vyv2380)) 248.92/165.31 new_sr14(Neg(vyv2390), Pos(vyv2380)) -> Neg(new_primMulNat0(vyv2390, vyv2380)) 248.92/165.31 new_sr14(Neg(vyv2390), Neg(vyv2380)) -> Pos(new_primMulNat0(vyv2390, vyv2380)) 248.92/165.31 new_sr14(Pos(vyv2390), Pos(vyv2380)) -> Pos(new_primMulNat0(vyv2390, vyv2380)) 248.92/165.31 new_quot0(Neg(vyv2700), vyv272, vyv271) -> new_primQuotInt0(vyv2700, new_gcd(vyv272, vyv271)) 248.92/165.31 new_quot0(Pos(vyv2700), vyv272, vyv271) -> new_primQuotInt(vyv2700, new_gcd(vyv272, vyv271)) 248.92/165.31 new_gcd(vyv272, vyv271) -> new_gcd2(new_esEs(vyv272), vyv272, vyv271) 248.92/165.31 new_primQuotInt(vyv2700, Neg(Zero)) -> new_error 248.92/165.31 new_primQuotInt(vyv2700, Pos(Zero)) -> new_error 248.92/165.31 new_primQuotInt(vyv2700, Neg(Succ(vyv28400))) -> Neg(new_primDivNatS1(vyv2700, vyv28400)) 248.92/165.31 new_error -> error([]) 248.92/165.31 new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) 248.92/165.31 new_esEs(Pos(Succ(vyv24100))) -> new_primEqInt(Pos(Succ(vyv24100))) 248.92/165.31 new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) 248.92/165.31 new_esEs(Neg(Succ(vyv24100))) -> new_primEqInt(Neg(Succ(vyv24100))) 248.92/165.31 new_gcd2(True, vyv272, vyv271) -> new_gcd1(new_esEs(vyv271), vyv272, vyv271) 248.92/165.31 new_gcd2(False, vyv272, vyv271) -> new_gcd0(vyv272, vyv271) 248.92/165.31 new_gcd0(vyv272, vyv271) -> new_gcd0Gcd'10(new_esEs(new_abs(vyv271)), vyv272, vyv271) 248.92/165.31 new_abs(Neg(Zero)) -> Neg(Zero) 248.92/165.31 new_abs(Neg(Succ(vyv27100))) -> Pos(Succ(vyv27100)) 248.92/165.31 new_abs(Pos(Succ(vyv27100))) -> Pos(Succ(vyv27100)) 248.92/165.31 new_abs(Pos(Zero)) -> Pos(Zero) 248.92/165.31 new_gcd0Gcd'10(True, vyv272, vyv271) -> new_abs(vyv272) 248.92/165.31 new_gcd0Gcd'10(False, vyv272, vyv271) -> new_gcd0Gcd'00(new_abs(vyv272), new_abs(vyv271)) 248.92/165.31 new_gcd0Gcd'00(vyv292, vyv291) -> new_gcd0Gcd'11(new_esEs(new_rem(vyv292, vyv291)), vyv291, vyv292) 248.92/165.31 new_gcd0Gcd'11(False, vyv291, vyv292) -> new_gcd0Gcd'00(vyv291, new_rem(vyv292, vyv291)) 248.92/165.31 new_rem(Pos(vyv2920), Neg(Zero)) -> new_error 248.92/165.31 new_rem(Neg(vyv2920), Pos(Zero)) -> new_error 248.92/165.31 new_rem(Pos(vyv2920), Neg(Succ(vyv29100))) -> Pos(new_primModNatS1(vyv2920, vyv29100)) 248.92/165.31 new_rem(Neg(vyv2920), Pos(Succ(vyv29100))) -> Neg(new_primModNatS1(vyv2920, vyv29100)) 248.92/165.31 new_rem(Pos(vyv2920), Pos(Succ(vyv29100))) -> Pos(new_primModNatS1(vyv2920, vyv29100)) 248.92/165.31 new_rem(Neg(vyv2920), Neg(Zero)) -> new_error 248.92/165.31 new_rem(Neg(vyv2920), Neg(Succ(vyv29100))) -> Neg(new_primModNatS1(vyv2920, vyv29100)) 248.92/165.31 new_rem(Pos(vyv2920), Pos(Zero)) -> new_error 248.92/165.31 new_gcd0Gcd'11(True, vyv291, vyv292) -> vyv291 248.92/165.31 new_primModNatS1(Succ(Zero), Succ(vyv291000)) -> Succ(Zero) 248.92/165.31 new_primModNatS1(Zero, vyv29100) -> Zero 248.92/165.31 new_primModNatS1(Succ(Succ(vyv292000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv292000), Zero) 248.92/165.31 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 248.92/165.31 new_primModNatS1(Succ(Succ(vyv292000)), Succ(vyv291000)) -> new_primModNatS01(vyv292000, vyv291000, vyv292000, vyv291000) 248.92/165.31 new_primModNatS01(vyv330, vyv331, Zero, Zero) -> new_primModNatS02(vyv330, vyv331) 248.92/165.31 new_primModNatS02(vyv330, vyv331) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv330), Succ(vyv331)), Succ(vyv331)) 248.92/165.31 new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Zero) -> new_primModNatS02(vyv330, vyv331) 248.92/165.31 new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Succ(vyv3330)) -> new_primModNatS01(vyv330, vyv331, vyv3320, vyv3330) 248.92/165.31 new_primModNatS01(vyv330, vyv331, Zero, Succ(vyv3330)) -> Succ(Succ(vyv330)) 248.92/165.31 new_gcd1(True, vyv272, vyv271) -> new_error 248.92/165.31 new_gcd1(False, vyv272, vyv271) -> new_gcd0(vyv272, vyv271) 248.92/165.31 new_primEqInt(Neg(Succ(vyv242000))) -> False 248.92/165.31 new_primEqInt(Pos(Zero)) -> True 248.92/165.31 new_primEqInt(Pos(Succ(vyv242000))) -> False 248.92/165.31 new_primEqInt(Neg(Zero)) -> True 248.92/165.31 new_primQuotInt0(vyv2700, Pos(Succ(vyv28700))) -> Neg(new_primDivNatS1(vyv2700, vyv28700)) 248.92/165.31 new_primQuotInt0(vyv2700, Neg(Zero)) -> new_error 248.92/165.31 new_primQuotInt0(vyv2700, Neg(Succ(vyv28700))) -> Pos(new_primDivNatS1(vyv2700, vyv28700)) 248.92/165.31 new_primQuotInt0(vyv2700, Pos(Zero)) -> new_error 248.92/165.31 new_primMulNat0(Succ(vyv23900), Zero) -> Zero 248.92/165.31 new_primMulNat0(Zero, Succ(vyv23800)) -> Zero 248.92/165.31 new_primMulNat0(Zero, Zero) -> Zero 248.92/165.31 new_primMulNat0(Succ(vyv23900), Succ(vyv23800)) -> new_primPlusNat0(new_primMulNat0(vyv23900, Succ(vyv23800)), Succ(vyv23800)) 248.92/165.31 new_primPlusNat0(Succ(vyv4000), Succ(vyv5000)) -> Succ(Succ(new_primPlusNat0(vyv4000, vyv5000))) 248.92/165.31 new_primPlusNat0(Zero, Succ(vyv5000)) -> Succ(vyv5000) 248.92/165.31 new_primPlusNat0(Zero, Zero) -> Zero 248.92/165.31 new_primPlusNat0(Succ(vyv4000), Zero) -> Succ(vyv4000) 248.92/165.31 new_esEs1(Integer(vyv2690)) -> new_primEqInt(vyv2690) 248.92/165.31 new_sr6(Neg(vyv1830)) -> Pos(new_primMulNat1(vyv1830)) 248.92/165.31 new_sr6(Pos(vyv1830)) -> Pos(new_primMulNat1(vyv1830)) 248.92/165.31 new_primMulNat1(Succ(vyv18300)) -> new_primPlusNat0(new_primMulNat2(vyv18300), Succ(vyv18300)) 248.92/165.31 new_primMulNat1(Zero) -> Zero 248.92/165.31 new_primMulNat2(Succ(vyv183000)) -> new_primPlusNat0(new_primMulNat3(vyv183000), Succ(Succ(vyv183000))) 248.92/165.31 new_primMulNat2(Zero) -> Zero 248.92/165.31 new_primMulNat3(Succ(vyv1830000)) -> new_primPlusNat0(new_primMulNat4(vyv1830000), Succ(Succ(Succ(vyv1830000)))) 248.92/165.31 new_primMulNat3(Zero) -> Zero 248.92/165.31 new_primMulNat4(Succ(vyv18300000)) -> new_primPlusNat0(new_primMulNat0(vyv18300000, Succ(Succ(Succ(Succ(vyv18300000))))), Succ(Succ(Succ(Succ(vyv18300000))))) 248.92/165.31 new_primMulNat4(Zero) -> Zero 248.92/165.31 new_sr1(vyv227, ty_Int) -> new_sr6(vyv227) 248.92/165.31 new_sr1(vyv227, ty_Integer) -> new_sr7(vyv227) 248.92/165.31 new_sr1(vyv227, app(ty_Ratio, be)) -> new_sr5(vyv227, be) 248.92/165.31 new_sr1(vyv227, ty_Float) -> new_sr10(vyv227) 248.92/165.31 new_sr1(vyv227, ty_Double) -> new_sr9(vyv227) 248.92/165.31 new_sr3(vyv249, ty_Float) -> new_sr10(vyv249) 248.92/165.31 new_sr3(vyv249, ty_Double) -> new_sr9(vyv249) 248.92/165.31 new_sr3(vyv249, ty_Int) -> new_sr6(vyv249) 248.92/165.31 new_sr3(vyv249, ty_Integer) -> new_sr7(vyv249) 248.92/165.31 new_sr3(vyv249, app(ty_Ratio, bg)) -> new_sr5(vyv249, bg) 248.92/165.31 new_sr0(vyv183, ty_Double) -> new_sr9(vyv183) 248.92/165.31 new_sr0(vyv183, ty_Int) -> new_sr6(vyv183) 248.92/165.31 new_sr0(vyv183, ty_Integer) -> new_sr7(vyv183) 248.92/165.31 new_sr0(vyv183, ty_Float) -> new_sr10(vyv183) 248.92/165.31 new_sr0(vyv183, app(ty_Ratio, bd)) -> new_sr5(vyv183, bd) 248.92/165.31 new_ms0(vyv240, Neg(Zero)) -> Neg(Succ(vyv240)) 248.92/165.31 new_ms0(vyv240, Pos(vyv2430)) -> Neg(new_primPlusNat0(Succ(vyv240), vyv2430)) 248.92/165.31 new_ms0(vyv240, Neg(Succ(vyv24300))) -> new_primMinusNat0(vyv24300, vyv240) 248.92/165.31 new_sr4(vyv239, vyv238, app(ty_Ratio, bf)) -> new_sr12(vyv239, vyv238, bf) 248.92/165.31 new_sr4(vyv239, vyv238, ty_Integer) -> new_sr8(vyv239, vyv238) 248.92/165.31 new_sr4(vyv239, vyv238, ty_Int) -> new_sr14(vyv239, vyv238) 248.92/165.31 new_sr4(vyv239, vyv238, ty_Double) -> new_sr11(vyv239, vyv238) 248.92/165.31 new_sr4(vyv239, vyv238, ty_Float) -> new_sr13(vyv239, vyv238) 248.92/165.31 new_sr13(vyv239, vyv238) -> error([]) 248.92/165.31 new_sr11(vyv239, vyv238) -> error([]) 248.92/165.31 new_sr12(:%(vyv2390, vyv2391), :%(vyv2380, vyv2381), bf) -> new_reduce2Reduce1(vyv2390, vyv2380, vyv2391, vyv2381, new_esEs2(vyv2391, vyv2381, bf), bf) 248.92/165.31 new_esEs2(vyv2391, vyv2381, ty_Int) -> new_esEs(new_sr14(vyv2391, vyv2381)) 248.92/165.31 new_esEs2(vyv2391, vyv2381, ty_Integer) -> new_esEs1(new_sr8(vyv2391, vyv2381)) 248.92/165.31 new_primMinusNat0(Succ(vyv2280), Succ(vyv244000)) -> new_primMinusNat0(vyv2280, vyv244000) 248.92/165.31 new_primMinusNat0(Zero, Zero) -> Pos(Zero) 248.92/165.31 new_primMinusNat0(Zero, Succ(vyv244000)) -> Neg(Succ(vyv244000)) 248.92/165.31 new_primMinusNat0(Succ(vyv2280), Zero) -> Pos(Succ(vyv2280)) 248.92/165.31 new_ms(vyv228, Neg(vyv2440)) -> Pos(new_primPlusNat0(Succ(vyv228), vyv2440)) 248.92/165.31 new_ms(vyv228, Pos(Succ(vyv24400))) -> new_primMinusNat0(vyv228, vyv24400) 248.92/165.31 new_ms(vyv228, Pos(Zero)) -> Pos(Succ(vyv228)) 248.92/165.31 new_sr2(vyv227, vyv226, ty_Int) -> new_sr14(vyv227, vyv226) 248.92/165.31 new_sr2(vyv227, vyv226, ty_Double) -> new_sr11(vyv227, vyv226) 248.92/165.31 new_sr2(vyv227, vyv226, ty_Integer) -> new_sr8(vyv227, vyv226) 248.92/165.31 new_sr2(vyv227, vyv226, ty_Float) -> new_sr13(vyv227, vyv226) 248.92/165.31 new_sr2(vyv227, vyv226, app(ty_Ratio, be)) -> new_sr12(vyv227, vyv226, be) 248.92/165.31 248.92/165.31 The set Q consists of the following terms: 248.92/165.31 248.92/165.31 new_rem(Pos(x0), Pos(Succ(x1))) 248.92/165.31 new_quot1(x0, x1, x2, x3, ty_Integer) 248.92/165.31 new_primModNatS1(Succ(Zero), Succ(x0)) 248.92/165.31 new_ms0(x0, Pos(x1)) 248.92/165.31 new_sr(x0, app(ty_Ratio, x1)) 248.92/165.31 new_primMulNat4(Zero) 248.92/165.31 new_gcd1(False, x0, x1) 248.92/165.31 new_primEqInt(Pos(Zero)) 248.92/165.31 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 248.92/165.31 new_rem(Pos(x0), Neg(Succ(x1))) 248.92/165.31 new_rem(Neg(x0), Pos(Succ(x1))) 248.92/165.31 new_sr10(x0) 248.92/165.31 new_quot1(x0, x1, x2, x3, ty_Int) 248.92/165.31 new_sr0(x0, app(ty_Ratio, x1)) 248.92/165.31 new_quot2(x0, x1, x2, x3, ty_Integer) 248.92/165.31 new_primModNatS01(x0, x1, Succ(x2), Zero) 248.92/165.31 new_sr3(x0, ty_Integer) 248.92/165.31 new_primMulNat3(Zero) 248.92/165.31 new_primDivNatS02(x0, x1, Succ(x2), Zero) 248.92/165.31 new_sr(x0, ty_Float) 248.92/165.31 new_quot2(x0, x1, x2, x3, ty_Int) 248.92/165.31 new_gcd2(False, x0, x1) 248.92/165.31 new_primDivNatS1(Succ(Zero), Zero) 248.92/165.31 new_sr0(x0, ty_Double) 248.92/165.31 new_esEs0(x0, ty_Int) 248.92/165.31 new_sr14(Pos(x0), Pos(x1)) 248.92/165.31 new_sr3(x0, ty_Int) 248.92/165.31 new_primMulNat0(Zero, Zero) 248.92/165.31 new_sr4(x0, x1, ty_Double) 248.92/165.31 new_primPlusNat0(Succ(x0), Zero) 248.92/165.31 new_primMulNat2(Zero) 248.92/165.31 new_sr11(x0, x1) 248.92/165.31 new_primModNatS01(x0, x1, Zero, Zero) 248.92/165.31 new_esEs2(x0, x1, ty_Int) 248.92/165.31 new_gcd1(True, x0, x1) 248.92/165.31 new_sr13(x0, x1) 248.92/165.31 new_sr14(Pos(x0), Neg(x1)) 248.92/165.31 new_sr14(Neg(x0), Pos(x1)) 248.92/165.31 new_primDivNatS1(Succ(Succ(x0)), Succ(x1)) 248.92/165.31 new_sr1(x0, ty_Int) 248.92/165.31 new_primModNatS1(Zero, x0) 248.92/165.31 new_esEs(Pos(Succ(x0))) 248.92/165.31 new_primMulNat3(Succ(x0)) 248.92/165.31 new_sr1(x0, app(ty_Ratio, x1)) 248.92/165.31 new_primQuotInt(x0, Neg(Succ(x1))) 248.92/165.31 new_reduce2Reduce1(x0, x1, x2, x3, False, x4) 248.92/165.31 new_primMinusNat0(Zero, Zero) 248.92/165.31 new_primDivNatS1(Zero, x0) 248.92/165.31 new_primDivNatS02(x0, x1, Succ(x2), Succ(x3)) 248.92/165.31 new_primModNatS02(x0, x1) 248.92/165.31 new_primDivNatS1(Succ(Zero), Succ(x0)) 248.92/165.31 new_sr6(Neg(x0)) 248.92/165.31 new_gcd0Gcd'10(True, x0, x1) 248.92/165.31 new_primMulNat0(Succ(x0), Succ(x1)) 248.92/165.31 new_abs(Neg(Zero)) 248.92/165.31 new_ms(x0, Neg(x1)) 248.92/165.31 new_rem(Pos(x0), Neg(Zero)) 248.92/165.31 new_rem(Neg(x0), Pos(Zero)) 248.92/165.31 new_primMinusNatS2(Zero, Succ(x0)) 248.92/165.31 new_esEs(Neg(Succ(x0))) 248.92/165.31 new_error 248.92/165.31 new_primModNatS1(Succ(Zero), Zero) 248.92/165.31 new_primMulNat0(Zero, Succ(x0)) 248.92/165.31 new_sr3(x0, ty_Float) 248.92/165.31 new_quot(x0, x1, x2) 248.92/165.31 new_gcd2(True, x0, x1) 248.92/165.31 new_gcd0Gcd'11(True, x0, x1) 248.92/165.31 new_primEqInt(Neg(Zero)) 248.92/165.31 new_sr2(x0, x1, ty_Double) 248.92/165.31 new_primMulNat0(Succ(x0), Zero) 248.92/165.31 new_quot0(Neg(x0), x1, x2) 248.92/165.31 new_primMinusNatS2(Succ(x0), Succ(x1)) 248.92/165.31 new_sr4(x0, x1, app(ty_Ratio, x2)) 248.92/165.31 new_sr8(x0, x1) 248.92/165.31 new_primDivNatS01(x0, x1) 248.92/165.31 new_primDivNatS02(x0, x1, Zero, Succ(x2)) 248.92/165.31 new_primPlusNat0(Succ(x0), Succ(x1)) 248.92/165.31 new_sr1(x0, ty_Integer) 248.92/165.31 new_primPlusNat0(Zero, Zero) 248.92/165.31 new_sr1(x0, ty_Float) 248.92/165.31 new_primMinusNat0(Succ(x0), Succ(x1)) 248.92/165.31 new_sr12(:%(x0, x1), :%(x2, x3), x4) 248.92/165.31 new_abs(Neg(Succ(x0))) 248.92/165.31 new_sr1(x0, ty_Double) 248.92/165.31 new_sr3(x0, app(ty_Ratio, x1)) 248.92/165.31 new_sr7(x0) 248.92/165.31 new_gcd0(x0, x1) 248.92/165.31 new_sr(x0, ty_Integer) 248.92/165.31 new_sr0(x0, ty_Int) 248.92/165.31 new_primQuotInt0(x0, Pos(Succ(x1))) 248.92/165.31 new_sr4(x0, x1, ty_Integer) 248.92/165.31 new_sr5(:%(x0, x1), x2) 248.92/165.31 new_primMinusNatS2(Zero, Zero) 248.92/165.31 new_primMulNat1(Succ(x0)) 248.92/165.31 new_sr0(x0, ty_Integer) 248.92/165.31 new_ms(x0, Pos(Zero)) 248.92/165.31 new_abs(Pos(Succ(x0))) 248.92/165.31 new_sr4(x0, x1, ty_Int) 248.92/165.31 new_esEs(Pos(Zero)) 248.92/165.31 new_primQuotInt0(x0, Pos(Zero)) 248.92/165.31 new_sr(x0, ty_Int) 248.92/165.31 new_primEqInt(Neg(Succ(x0))) 248.92/165.31 new_primQuotInt(x0, Neg(Zero)) 248.92/165.31 new_primQuotInt0(x0, Neg(Zero)) 248.92/165.31 new_primQuotInt0(x0, Neg(Succ(x1))) 248.92/165.31 new_gcd(x0, x1) 248.92/165.31 new_quot0(Pos(x0), x1, x2) 248.92/165.31 new_primMinusNatS0(x0) 248.92/165.31 new_primPlusNat0(Zero, Succ(x0)) 248.92/165.31 new_sr2(x0, x1, app(ty_Ratio, x2)) 248.92/165.31 new_sr2(x0, x1, ty_Int) 248.92/165.31 new_primQuotInt(x0, Pos(Succ(x1))) 248.92/165.31 new_primDivNatS1(Succ(Succ(x0)), Zero) 248.92/165.31 new_rem(Pos(x0), Pos(Zero)) 248.92/165.31 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 248.92/165.31 new_primDivNatS02(x0, x1, Zero, Zero) 248.92/165.31 new_abs(Pos(Zero)) 248.92/165.31 new_gcd0Gcd'10(False, x0, x1) 248.92/165.31 new_ms(x0, Pos(Succ(x1))) 248.92/165.31 new_primMinusNatS1 248.92/165.31 new_esEs1(Integer(x0)) 248.92/165.31 new_ms0(x0, Neg(Zero)) 248.92/165.31 new_primMinusNat0(Succ(x0), Zero) 248.92/165.31 new_ms0(x0, Neg(Succ(x1))) 248.92/165.31 new_sr2(x0, x1, ty_Integer) 248.92/165.31 new_primModNatS01(x0, x1, Zero, Succ(x2)) 248.92/165.31 new_primMulNat2(Succ(x0)) 248.92/165.31 new_sr0(x0, ty_Float) 248.92/165.31 new_sr14(Neg(x0), Neg(x1)) 248.92/165.31 new_sr2(x0, x1, ty_Float) 248.92/165.31 new_primMinusNatS2(Succ(x0), Zero) 248.92/165.31 new_sr4(x0, x1, ty_Float) 248.92/165.31 new_sr6(Pos(x0)) 248.92/165.31 new_esEs2(x0, x1, ty_Integer) 248.92/165.31 new_primMulNat4(Succ(x0)) 248.92/165.31 new_rem(Neg(x0), Neg(Succ(x1))) 248.92/165.31 new_primEqInt(Pos(Succ(x0))) 248.92/165.31 new_primQuotInt(x0, Pos(Zero)) 248.92/165.31 new_gcd0Gcd'11(False, x0, x1) 248.92/165.31 new_sr9(x0) 248.92/165.31 new_primModNatS1(Succ(Succ(x0)), Zero) 248.92/165.31 new_sr(x0, ty_Double) 248.92/165.31 new_esEs0(x0, ty_Integer) 248.92/165.31 new_gcd0Gcd'00(x0, x1) 248.92/165.31 new_reduce2Reduce1(x0, x1, x2, x3, True, x4) 248.92/165.31 new_sr3(x0, ty_Double) 248.92/165.31 new_esEs(Neg(Zero)) 248.92/165.31 new_primMulNat1(Zero) 248.92/165.31 new_primMinusNat0(Zero, Succ(x0)) 248.92/165.31 new_rem(Neg(x0), Neg(Zero)) 248.92/165.31 248.92/165.31 We have to consider all minimal (P,Q,R)-chains. 248.92/165.31 ---------------------------------------- 248.92/165.31 248.92/165.31 (753) DependencyGraphProof (EQUIVALENT) 248.92/165.31 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 2 SCCs with 1 less node. 248.92/165.31 ---------------------------------------- 248.92/165.31 248.92/165.31 (754) 248.92/165.31 Complex Obligation (AND) 248.92/165.31 248.92/165.31 ---------------------------------------- 248.92/165.31 248.92/165.31 (755) 248.92/165.31 Obligation: 248.92/165.31 Q DP problem: 248.92/165.31 The TRS P consists of the following rules: 248.92/165.31 248.92/165.31 new_pr2F0G(vyv187, vyv183, Neg(Zero), h) -> new_pr2F0G(vyv187, new_sr0(vyv183, h), Neg(Zero), h) 248.92/165.31 248.92/165.31 The TRS R consists of the following rules: 248.92/165.31 248.92/165.31 new_sr(vyv183, ty_Int) -> new_sr6(vyv183) 248.92/165.31 new_sr(vyv183, app(ty_Ratio, bd)) -> new_sr5(vyv183, bd) 248.92/165.31 new_sr(vyv183, ty_Integer) -> new_sr7(vyv183) 248.92/165.31 new_sr(vyv183, ty_Float) -> new_sr10(vyv183) 248.92/165.31 new_sr(vyv183, ty_Double) -> new_sr9(vyv183) 248.92/165.31 new_primQuotInt(vyv2700, Pos(Succ(vyv28400))) -> Pos(new_primDivNatS1(vyv2700, vyv28400)) 248.92/165.31 new_primDivNatS1(Zero, vyv28400) -> Zero 248.92/165.31 new_primDivNatS1(Succ(Succ(vyv270000)), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS0(vyv270000), Zero)) 248.92/165.31 new_primDivNatS1(Succ(Zero), Succ(vyv284000)) -> Zero 248.92/165.31 new_primDivNatS1(Succ(Succ(vyv270000)), Succ(vyv284000)) -> new_primDivNatS02(vyv270000, vyv284000, vyv270000, vyv284000) 248.92/165.31 new_primDivNatS1(Succ(Zero), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS1, Zero)) 248.92/165.31 new_primMinusNatS1 -> Zero 248.92/165.31 new_primDivNatS02(vyv310, vyv311, Zero, Zero) -> new_primDivNatS01(vyv310, vyv311) 248.92/165.31 new_primDivNatS02(vyv310, vyv311, Succ(vyv3120), Zero) -> new_primDivNatS01(vyv310, vyv311) 248.92/165.31 new_primDivNatS02(vyv310, vyv311, Zero, Succ(vyv3130)) -> Zero 248.92/165.31 new_primDivNatS02(vyv310, vyv311, Succ(vyv3120), Succ(vyv3130)) -> new_primDivNatS02(vyv310, vyv311, vyv3120, vyv3130) 248.92/165.31 new_primDivNatS01(vyv310, vyv311) -> Succ(new_primDivNatS1(new_primMinusNatS2(vyv310, vyv311), Succ(vyv311))) 248.92/165.31 new_primMinusNatS2(Zero, Succ(vyv3110)) -> Zero 248.92/165.31 new_primMinusNatS2(Succ(vyv3100), Zero) -> Succ(vyv3100) 248.92/165.31 new_primMinusNatS2(Zero, Zero) -> Zero 248.92/165.31 new_primMinusNatS2(Succ(vyv3100), Succ(vyv3110)) -> new_primMinusNatS2(vyv3100, vyv3110) 248.92/165.31 new_primMinusNatS0(vyv270000) -> Succ(vyv270000) 248.92/165.31 new_sr9(vyv183) -> error([]) 248.92/165.31 new_sr10(vyv183) -> error([]) 248.92/165.31 new_sr7(vyv183) -> error([]) 248.92/165.31 new_sr5(:%(vyv1830, vyv1831), bd) -> new_reduce2Reduce1(vyv1830, vyv1830, vyv1831, vyv1831, new_esEs0(vyv1831, bd), bd) 248.92/165.31 new_esEs0(vyv1831, ty_Int) -> new_esEs(new_sr6(vyv1831)) 248.92/165.31 new_esEs0(vyv1831, ty_Integer) -> new_esEs1(new_sr7(vyv1831)) 248.92/165.31 new_reduce2Reduce1(vyv264, vyv265, vyv266, vyv267, False, bh) -> :%(new_quot1(vyv264, vyv265, vyv266, vyv267, bh), new_quot2(vyv266, vyv267, vyv264, vyv265, bh)) 248.92/165.31 new_reduce2Reduce1(vyv264, vyv265, vyv266, vyv267, True, bh) -> error([]) 248.92/165.31 new_quot1(vyv264, vyv265, vyv266, vyv267, ty_Int) -> new_quot0(new_sr14(vyv264, vyv265), new_sr14(vyv264, vyv265), new_sr14(vyv266, vyv267)) 248.92/165.31 new_quot1(vyv264, vyv265, vyv266, vyv267, ty_Integer) -> new_quot(new_sr8(vyv264, vyv265), new_sr8(vyv264, vyv265), new_sr8(vyv266, vyv267)) 248.92/165.31 new_quot2(vyv266, vyv267, vyv264, vyv265, ty_Int) -> new_quot0(new_sr14(vyv266, vyv267), new_sr14(vyv264, vyv265), new_sr14(vyv266, vyv267)) 248.92/165.31 new_quot2(vyv266, vyv267, vyv264, vyv265, ty_Integer) -> new_quot(new_sr8(vyv266, vyv267), new_sr8(vyv264, vyv265), new_sr8(vyv266, vyv267)) 248.92/165.31 new_sr8(vyv239, vyv238) -> error([]) 248.92/165.31 new_quot(vyv273, vyv275, vyv274) -> error([]) 248.92/165.31 new_sr14(Pos(vyv2390), Neg(vyv2380)) -> Neg(new_primMulNat0(vyv2390, vyv2380)) 248.92/165.31 new_sr14(Neg(vyv2390), Pos(vyv2380)) -> Neg(new_primMulNat0(vyv2390, vyv2380)) 248.92/165.31 new_sr14(Neg(vyv2390), Neg(vyv2380)) -> Pos(new_primMulNat0(vyv2390, vyv2380)) 248.92/165.31 new_sr14(Pos(vyv2390), Pos(vyv2380)) -> Pos(new_primMulNat0(vyv2390, vyv2380)) 248.92/165.31 new_quot0(Neg(vyv2700), vyv272, vyv271) -> new_primQuotInt0(vyv2700, new_gcd(vyv272, vyv271)) 248.92/165.31 new_quot0(Pos(vyv2700), vyv272, vyv271) -> new_primQuotInt(vyv2700, new_gcd(vyv272, vyv271)) 248.92/165.31 new_gcd(vyv272, vyv271) -> new_gcd2(new_esEs(vyv272), vyv272, vyv271) 248.92/165.31 new_primQuotInt(vyv2700, Neg(Zero)) -> new_error 248.92/165.31 new_primQuotInt(vyv2700, Pos(Zero)) -> new_error 248.92/165.31 new_primQuotInt(vyv2700, Neg(Succ(vyv28400))) -> Neg(new_primDivNatS1(vyv2700, vyv28400)) 248.92/165.31 new_error -> error([]) 248.92/165.31 new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) 248.92/165.31 new_esEs(Pos(Succ(vyv24100))) -> new_primEqInt(Pos(Succ(vyv24100))) 248.92/165.31 new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) 248.92/165.31 new_esEs(Neg(Succ(vyv24100))) -> new_primEqInt(Neg(Succ(vyv24100))) 248.92/165.31 new_gcd2(True, vyv272, vyv271) -> new_gcd1(new_esEs(vyv271), vyv272, vyv271) 248.92/165.31 new_gcd2(False, vyv272, vyv271) -> new_gcd0(vyv272, vyv271) 248.92/165.31 new_gcd0(vyv272, vyv271) -> new_gcd0Gcd'10(new_esEs(new_abs(vyv271)), vyv272, vyv271) 248.92/165.31 new_abs(Neg(Zero)) -> Neg(Zero) 248.92/165.31 new_abs(Neg(Succ(vyv27100))) -> Pos(Succ(vyv27100)) 248.92/165.31 new_abs(Pos(Succ(vyv27100))) -> Pos(Succ(vyv27100)) 248.92/165.31 new_abs(Pos(Zero)) -> Pos(Zero) 248.92/165.31 new_gcd0Gcd'10(True, vyv272, vyv271) -> new_abs(vyv272) 248.92/165.31 new_gcd0Gcd'10(False, vyv272, vyv271) -> new_gcd0Gcd'00(new_abs(vyv272), new_abs(vyv271)) 248.92/165.31 new_gcd0Gcd'00(vyv292, vyv291) -> new_gcd0Gcd'11(new_esEs(new_rem(vyv292, vyv291)), vyv291, vyv292) 248.92/165.31 new_gcd0Gcd'11(False, vyv291, vyv292) -> new_gcd0Gcd'00(vyv291, new_rem(vyv292, vyv291)) 248.92/165.31 new_rem(Pos(vyv2920), Neg(Zero)) -> new_error 248.92/165.31 new_rem(Neg(vyv2920), Pos(Zero)) -> new_error 248.92/165.31 new_rem(Pos(vyv2920), Neg(Succ(vyv29100))) -> Pos(new_primModNatS1(vyv2920, vyv29100)) 248.92/165.31 new_rem(Neg(vyv2920), Pos(Succ(vyv29100))) -> Neg(new_primModNatS1(vyv2920, vyv29100)) 248.92/165.31 new_rem(Pos(vyv2920), Pos(Succ(vyv29100))) -> Pos(new_primModNatS1(vyv2920, vyv29100)) 248.92/165.31 new_rem(Neg(vyv2920), Neg(Zero)) -> new_error 248.92/165.31 new_rem(Neg(vyv2920), Neg(Succ(vyv29100))) -> Neg(new_primModNatS1(vyv2920, vyv29100)) 248.92/165.31 new_rem(Pos(vyv2920), Pos(Zero)) -> new_error 248.92/165.31 new_gcd0Gcd'11(True, vyv291, vyv292) -> vyv291 248.92/165.31 new_primModNatS1(Succ(Zero), Succ(vyv291000)) -> Succ(Zero) 248.92/165.31 new_primModNatS1(Zero, vyv29100) -> Zero 248.92/165.31 new_primModNatS1(Succ(Succ(vyv292000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv292000), Zero) 248.92/165.31 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 248.92/165.31 new_primModNatS1(Succ(Succ(vyv292000)), Succ(vyv291000)) -> new_primModNatS01(vyv292000, vyv291000, vyv292000, vyv291000) 248.92/165.31 new_primModNatS01(vyv330, vyv331, Zero, Zero) -> new_primModNatS02(vyv330, vyv331) 248.92/165.31 new_primModNatS02(vyv330, vyv331) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv330), Succ(vyv331)), Succ(vyv331)) 248.92/165.31 new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Zero) -> new_primModNatS02(vyv330, vyv331) 248.92/165.31 new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Succ(vyv3330)) -> new_primModNatS01(vyv330, vyv331, vyv3320, vyv3330) 248.92/165.31 new_primModNatS01(vyv330, vyv331, Zero, Succ(vyv3330)) -> Succ(Succ(vyv330)) 248.92/165.31 new_gcd1(True, vyv272, vyv271) -> new_error 248.92/165.31 new_gcd1(False, vyv272, vyv271) -> new_gcd0(vyv272, vyv271) 248.92/165.31 new_primEqInt(Neg(Succ(vyv242000))) -> False 248.92/165.31 new_primEqInt(Pos(Zero)) -> True 248.92/165.31 new_primEqInt(Pos(Succ(vyv242000))) -> False 248.92/165.31 new_primEqInt(Neg(Zero)) -> True 248.92/165.31 new_primQuotInt0(vyv2700, Pos(Succ(vyv28700))) -> Neg(new_primDivNatS1(vyv2700, vyv28700)) 248.92/165.31 new_primQuotInt0(vyv2700, Neg(Zero)) -> new_error 248.92/165.31 new_primQuotInt0(vyv2700, Neg(Succ(vyv28700))) -> Pos(new_primDivNatS1(vyv2700, vyv28700)) 248.92/165.31 new_primQuotInt0(vyv2700, Pos(Zero)) -> new_error 248.92/165.31 new_primMulNat0(Succ(vyv23900), Zero) -> Zero 248.92/165.31 new_primMulNat0(Zero, Succ(vyv23800)) -> Zero 248.92/165.31 new_primMulNat0(Zero, Zero) -> Zero 248.92/165.31 new_primMulNat0(Succ(vyv23900), Succ(vyv23800)) -> new_primPlusNat0(new_primMulNat0(vyv23900, Succ(vyv23800)), Succ(vyv23800)) 248.92/165.31 new_primPlusNat0(Succ(vyv4000), Succ(vyv5000)) -> Succ(Succ(new_primPlusNat0(vyv4000, vyv5000))) 248.92/165.31 new_primPlusNat0(Zero, Succ(vyv5000)) -> Succ(vyv5000) 248.92/165.31 new_primPlusNat0(Zero, Zero) -> Zero 248.92/165.31 new_primPlusNat0(Succ(vyv4000), Zero) -> Succ(vyv4000) 248.92/165.31 new_esEs1(Integer(vyv2690)) -> new_primEqInt(vyv2690) 248.92/165.31 new_sr6(Neg(vyv1830)) -> Pos(new_primMulNat1(vyv1830)) 248.92/165.31 new_sr6(Pos(vyv1830)) -> Pos(new_primMulNat1(vyv1830)) 248.92/165.31 new_primMulNat1(Succ(vyv18300)) -> new_primPlusNat0(new_primMulNat2(vyv18300), Succ(vyv18300)) 248.92/165.31 new_primMulNat1(Zero) -> Zero 248.92/165.31 new_primMulNat2(Succ(vyv183000)) -> new_primPlusNat0(new_primMulNat3(vyv183000), Succ(Succ(vyv183000))) 248.92/165.31 new_primMulNat2(Zero) -> Zero 248.92/165.31 new_primMulNat3(Succ(vyv1830000)) -> new_primPlusNat0(new_primMulNat4(vyv1830000), Succ(Succ(Succ(vyv1830000)))) 248.92/165.31 new_primMulNat3(Zero) -> Zero 248.92/165.31 new_primMulNat4(Succ(vyv18300000)) -> new_primPlusNat0(new_primMulNat0(vyv18300000, Succ(Succ(Succ(Succ(vyv18300000))))), Succ(Succ(Succ(Succ(vyv18300000))))) 248.92/165.31 new_primMulNat4(Zero) -> Zero 248.92/165.31 new_sr1(vyv227, ty_Int) -> new_sr6(vyv227) 248.92/165.31 new_sr1(vyv227, ty_Integer) -> new_sr7(vyv227) 248.92/165.31 new_sr1(vyv227, app(ty_Ratio, be)) -> new_sr5(vyv227, be) 248.92/165.31 new_sr1(vyv227, ty_Float) -> new_sr10(vyv227) 248.92/165.31 new_sr1(vyv227, ty_Double) -> new_sr9(vyv227) 248.92/165.31 new_sr3(vyv249, ty_Float) -> new_sr10(vyv249) 248.92/165.31 new_sr3(vyv249, ty_Double) -> new_sr9(vyv249) 248.92/165.31 new_sr3(vyv249, ty_Int) -> new_sr6(vyv249) 248.92/165.31 new_sr3(vyv249, ty_Integer) -> new_sr7(vyv249) 248.92/165.31 new_sr3(vyv249, app(ty_Ratio, bg)) -> new_sr5(vyv249, bg) 248.92/165.31 new_sr0(vyv183, ty_Double) -> new_sr9(vyv183) 248.92/165.31 new_sr0(vyv183, ty_Int) -> new_sr6(vyv183) 248.92/165.31 new_sr0(vyv183, ty_Integer) -> new_sr7(vyv183) 248.92/165.31 new_sr0(vyv183, ty_Float) -> new_sr10(vyv183) 248.92/165.31 new_sr0(vyv183, app(ty_Ratio, bd)) -> new_sr5(vyv183, bd) 248.92/165.31 new_ms0(vyv240, Neg(Zero)) -> Neg(Succ(vyv240)) 248.92/165.31 new_ms0(vyv240, Pos(vyv2430)) -> Neg(new_primPlusNat0(Succ(vyv240), vyv2430)) 248.92/165.31 new_ms0(vyv240, Neg(Succ(vyv24300))) -> new_primMinusNat0(vyv24300, vyv240) 248.92/165.31 new_sr4(vyv239, vyv238, app(ty_Ratio, bf)) -> new_sr12(vyv239, vyv238, bf) 248.92/165.31 new_sr4(vyv239, vyv238, ty_Integer) -> new_sr8(vyv239, vyv238) 248.92/165.31 new_sr4(vyv239, vyv238, ty_Int) -> new_sr14(vyv239, vyv238) 248.92/165.31 new_sr4(vyv239, vyv238, ty_Double) -> new_sr11(vyv239, vyv238) 248.92/165.31 new_sr4(vyv239, vyv238, ty_Float) -> new_sr13(vyv239, vyv238) 248.92/165.31 new_sr13(vyv239, vyv238) -> error([]) 248.92/165.31 new_sr11(vyv239, vyv238) -> error([]) 248.92/165.31 new_sr12(:%(vyv2390, vyv2391), :%(vyv2380, vyv2381), bf) -> new_reduce2Reduce1(vyv2390, vyv2380, vyv2391, vyv2381, new_esEs2(vyv2391, vyv2381, bf), bf) 248.92/165.31 new_esEs2(vyv2391, vyv2381, ty_Int) -> new_esEs(new_sr14(vyv2391, vyv2381)) 248.92/165.31 new_esEs2(vyv2391, vyv2381, ty_Integer) -> new_esEs1(new_sr8(vyv2391, vyv2381)) 248.92/165.31 new_primMinusNat0(Succ(vyv2280), Succ(vyv244000)) -> new_primMinusNat0(vyv2280, vyv244000) 248.92/165.31 new_primMinusNat0(Zero, Zero) -> Pos(Zero) 248.92/165.31 new_primMinusNat0(Zero, Succ(vyv244000)) -> Neg(Succ(vyv244000)) 248.92/165.31 new_primMinusNat0(Succ(vyv2280), Zero) -> Pos(Succ(vyv2280)) 248.92/165.31 new_ms(vyv228, Neg(vyv2440)) -> Pos(new_primPlusNat0(Succ(vyv228), vyv2440)) 248.92/165.31 new_ms(vyv228, Pos(Succ(vyv24400))) -> new_primMinusNat0(vyv228, vyv24400) 248.92/165.31 new_ms(vyv228, Pos(Zero)) -> Pos(Succ(vyv228)) 248.92/165.31 new_sr2(vyv227, vyv226, ty_Int) -> new_sr14(vyv227, vyv226) 248.92/165.31 new_sr2(vyv227, vyv226, ty_Double) -> new_sr11(vyv227, vyv226) 248.92/165.31 new_sr2(vyv227, vyv226, ty_Integer) -> new_sr8(vyv227, vyv226) 248.92/165.31 new_sr2(vyv227, vyv226, ty_Float) -> new_sr13(vyv227, vyv226) 248.92/165.31 new_sr2(vyv227, vyv226, app(ty_Ratio, be)) -> new_sr12(vyv227, vyv226, be) 248.92/165.31 248.92/165.31 The set Q consists of the following terms: 248.92/165.31 248.92/165.31 new_rem(Pos(x0), Pos(Succ(x1))) 248.92/165.31 new_quot1(x0, x1, x2, x3, ty_Integer) 248.92/165.31 new_primModNatS1(Succ(Zero), Succ(x0)) 248.92/165.31 new_ms0(x0, Pos(x1)) 248.92/165.31 new_sr(x0, app(ty_Ratio, x1)) 248.92/165.31 new_primMulNat4(Zero) 248.92/165.31 new_gcd1(False, x0, x1) 248.92/165.31 new_primEqInt(Pos(Zero)) 248.92/165.31 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 248.92/165.31 new_rem(Pos(x0), Neg(Succ(x1))) 248.92/165.31 new_rem(Neg(x0), Pos(Succ(x1))) 248.92/165.31 new_sr10(x0) 248.92/165.31 new_quot1(x0, x1, x2, x3, ty_Int) 248.92/165.31 new_sr0(x0, app(ty_Ratio, x1)) 248.92/165.31 new_quot2(x0, x1, x2, x3, ty_Integer) 248.92/165.31 new_primModNatS01(x0, x1, Succ(x2), Zero) 248.92/165.31 new_sr3(x0, ty_Integer) 248.92/165.31 new_primMulNat3(Zero) 248.92/165.31 new_primDivNatS02(x0, x1, Succ(x2), Zero) 248.92/165.31 new_sr(x0, ty_Float) 248.92/165.31 new_quot2(x0, x1, x2, x3, ty_Int) 248.92/165.31 new_gcd2(False, x0, x1) 248.92/165.31 new_primDivNatS1(Succ(Zero), Zero) 248.92/165.31 new_sr0(x0, ty_Double) 248.92/165.31 new_esEs0(x0, ty_Int) 248.92/165.31 new_sr14(Pos(x0), Pos(x1)) 248.92/165.31 new_sr3(x0, ty_Int) 248.92/165.31 new_primMulNat0(Zero, Zero) 248.92/165.31 new_sr4(x0, x1, ty_Double) 248.92/165.31 new_primPlusNat0(Succ(x0), Zero) 248.92/165.31 new_primMulNat2(Zero) 248.92/165.31 new_sr11(x0, x1) 248.92/165.31 new_primModNatS01(x0, x1, Zero, Zero) 248.92/165.31 new_esEs2(x0, x1, ty_Int) 248.92/165.31 new_gcd1(True, x0, x1) 248.92/165.31 new_sr13(x0, x1) 248.92/165.31 new_sr14(Pos(x0), Neg(x1)) 248.92/165.31 new_sr14(Neg(x0), Pos(x1)) 248.92/165.31 new_primDivNatS1(Succ(Succ(x0)), Succ(x1)) 248.92/165.31 new_sr1(x0, ty_Int) 248.92/165.31 new_primModNatS1(Zero, x0) 248.92/165.31 new_esEs(Pos(Succ(x0))) 248.92/165.31 new_primMulNat3(Succ(x0)) 248.92/165.31 new_sr1(x0, app(ty_Ratio, x1)) 248.92/165.31 new_primQuotInt(x0, Neg(Succ(x1))) 248.92/165.31 new_reduce2Reduce1(x0, x1, x2, x3, False, x4) 248.92/165.31 new_primMinusNat0(Zero, Zero) 248.92/165.31 new_primDivNatS1(Zero, x0) 248.92/165.31 new_primDivNatS02(x0, x1, Succ(x2), Succ(x3)) 248.92/165.31 new_primModNatS02(x0, x1) 248.92/165.31 new_primDivNatS1(Succ(Zero), Succ(x0)) 248.92/165.31 new_sr6(Neg(x0)) 248.92/165.31 new_gcd0Gcd'10(True, x0, x1) 248.92/165.31 new_primMulNat0(Succ(x0), Succ(x1)) 248.92/165.31 new_abs(Neg(Zero)) 248.92/165.31 new_ms(x0, Neg(x1)) 248.92/165.31 new_rem(Pos(x0), Neg(Zero)) 248.92/165.31 new_rem(Neg(x0), Pos(Zero)) 248.92/165.31 new_primMinusNatS2(Zero, Succ(x0)) 248.92/165.31 new_esEs(Neg(Succ(x0))) 248.92/165.31 new_error 248.92/165.31 new_primModNatS1(Succ(Zero), Zero) 248.92/165.31 new_primMulNat0(Zero, Succ(x0)) 248.92/165.31 new_sr3(x0, ty_Float) 248.92/165.31 new_quot(x0, x1, x2) 248.92/165.31 new_gcd2(True, x0, x1) 248.92/165.31 new_gcd0Gcd'11(True, x0, x1) 248.92/165.31 new_primEqInt(Neg(Zero)) 248.92/165.31 new_sr2(x0, x1, ty_Double) 248.92/165.31 new_primMulNat0(Succ(x0), Zero) 248.92/165.31 new_quot0(Neg(x0), x1, x2) 248.92/165.31 new_primMinusNatS2(Succ(x0), Succ(x1)) 248.92/165.31 new_sr4(x0, x1, app(ty_Ratio, x2)) 248.92/165.31 new_sr8(x0, x1) 248.92/165.31 new_primDivNatS01(x0, x1) 248.92/165.31 new_primDivNatS02(x0, x1, Zero, Succ(x2)) 248.92/165.31 new_primPlusNat0(Succ(x0), Succ(x1)) 248.92/165.31 new_sr1(x0, ty_Integer) 248.92/165.31 new_primPlusNat0(Zero, Zero) 248.92/165.31 new_sr1(x0, ty_Float) 248.92/165.31 new_primMinusNat0(Succ(x0), Succ(x1)) 248.92/165.31 new_sr12(:%(x0, x1), :%(x2, x3), x4) 248.92/165.31 new_abs(Neg(Succ(x0))) 248.92/165.31 new_sr1(x0, ty_Double) 248.92/165.31 new_sr3(x0, app(ty_Ratio, x1)) 248.92/165.31 new_sr7(x0) 248.92/165.31 new_gcd0(x0, x1) 248.92/165.31 new_sr(x0, ty_Integer) 248.92/165.31 new_sr0(x0, ty_Int) 248.92/165.31 new_primQuotInt0(x0, Pos(Succ(x1))) 248.92/165.31 new_sr4(x0, x1, ty_Integer) 248.92/165.31 new_sr5(:%(x0, x1), x2) 248.92/165.31 new_primMinusNatS2(Zero, Zero) 248.92/165.31 new_primMulNat1(Succ(x0)) 248.92/165.31 new_sr0(x0, ty_Integer) 248.92/165.31 new_ms(x0, Pos(Zero)) 248.92/165.31 new_abs(Pos(Succ(x0))) 248.92/165.31 new_sr4(x0, x1, ty_Int) 248.92/165.31 new_esEs(Pos(Zero)) 248.92/165.31 new_primQuotInt0(x0, Pos(Zero)) 248.92/165.31 new_sr(x0, ty_Int) 248.92/165.31 new_primEqInt(Neg(Succ(x0))) 248.92/165.31 new_primQuotInt(x0, Neg(Zero)) 248.92/165.31 new_primQuotInt0(x0, Neg(Zero)) 248.92/165.31 new_primQuotInt0(x0, Neg(Succ(x1))) 248.92/165.31 new_gcd(x0, x1) 248.92/165.31 new_quot0(Pos(x0), x1, x2) 248.92/165.31 new_primMinusNatS0(x0) 248.92/165.31 new_primPlusNat0(Zero, Succ(x0)) 248.92/165.31 new_sr2(x0, x1, app(ty_Ratio, x2)) 248.92/165.31 new_sr2(x0, x1, ty_Int) 248.92/165.31 new_primQuotInt(x0, Pos(Succ(x1))) 248.92/165.31 new_primDivNatS1(Succ(Succ(x0)), Zero) 248.92/165.31 new_rem(Pos(x0), Pos(Zero)) 248.92/165.31 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 248.92/165.31 new_primDivNatS02(x0, x1, Zero, Zero) 248.92/165.31 new_abs(Pos(Zero)) 248.92/165.31 new_gcd0Gcd'10(False, x0, x1) 248.92/165.31 new_ms(x0, Pos(Succ(x1))) 248.92/165.31 new_primMinusNatS1 248.92/165.31 new_esEs1(Integer(x0)) 248.92/165.31 new_ms0(x0, Neg(Zero)) 248.92/165.31 new_primMinusNat0(Succ(x0), Zero) 248.92/165.31 new_ms0(x0, Neg(Succ(x1))) 248.92/165.31 new_sr2(x0, x1, ty_Integer) 248.92/165.31 new_primModNatS01(x0, x1, Zero, Succ(x2)) 248.92/165.31 new_primMulNat2(Succ(x0)) 248.92/165.31 new_sr0(x0, ty_Float) 248.92/165.31 new_sr14(Neg(x0), Neg(x1)) 248.92/165.31 new_sr2(x0, x1, ty_Float) 248.92/165.31 new_primMinusNatS2(Succ(x0), Zero) 248.92/165.31 new_sr4(x0, x1, ty_Float) 248.92/165.31 new_sr6(Pos(x0)) 248.92/165.31 new_esEs2(x0, x1, ty_Integer) 248.92/165.31 new_primMulNat4(Succ(x0)) 248.92/165.31 new_rem(Neg(x0), Neg(Succ(x1))) 248.92/165.31 new_primEqInt(Pos(Succ(x0))) 248.92/165.31 new_primQuotInt(x0, Pos(Zero)) 248.92/165.31 new_gcd0Gcd'11(False, x0, x1) 248.92/165.31 new_sr9(x0) 248.92/165.31 new_primModNatS1(Succ(Succ(x0)), Zero) 248.92/165.31 new_sr(x0, ty_Double) 248.92/165.31 new_esEs0(x0, ty_Integer) 248.92/165.31 new_gcd0Gcd'00(x0, x1) 248.92/165.31 new_reduce2Reduce1(x0, x1, x2, x3, True, x4) 248.92/165.31 new_sr3(x0, ty_Double) 248.92/165.31 new_esEs(Neg(Zero)) 248.92/165.31 new_primMulNat1(Zero) 248.92/165.31 new_primMinusNat0(Zero, Succ(x0)) 248.92/165.31 new_rem(Neg(x0), Neg(Zero)) 248.92/165.31 248.92/165.31 We have to consider all minimal (P,Q,R)-chains. 248.92/165.31 ---------------------------------------- 248.92/165.31 248.92/165.31 (756) UsableRulesProof (EQUIVALENT) 248.92/165.31 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. 248.92/165.31 ---------------------------------------- 248.92/165.31 248.92/165.31 (757) 248.92/165.31 Obligation: 248.92/165.31 Q DP problem: 248.92/165.31 The TRS P consists of the following rules: 248.92/165.31 248.92/165.31 new_pr2F0G(vyv187, vyv183, Neg(Zero), h) -> new_pr2F0G(vyv187, new_sr0(vyv183, h), Neg(Zero), h) 248.92/165.31 248.92/165.31 The TRS R consists of the following rules: 248.92/165.31 248.92/165.31 new_sr0(vyv183, ty_Double) -> new_sr9(vyv183) 248.92/165.31 new_sr0(vyv183, ty_Int) -> new_sr6(vyv183) 248.92/165.31 new_sr0(vyv183, ty_Integer) -> new_sr7(vyv183) 248.92/165.31 new_sr0(vyv183, ty_Float) -> new_sr10(vyv183) 248.92/165.31 new_sr0(vyv183, app(ty_Ratio, bd)) -> new_sr5(vyv183, bd) 248.92/165.31 new_sr5(:%(vyv1830, vyv1831), bd) -> new_reduce2Reduce1(vyv1830, vyv1830, vyv1831, vyv1831, new_esEs0(vyv1831, bd), bd) 248.92/165.31 new_esEs0(vyv1831, ty_Int) -> new_esEs(new_sr6(vyv1831)) 248.92/165.31 new_esEs0(vyv1831, ty_Integer) -> new_esEs1(new_sr7(vyv1831)) 248.92/165.31 new_reduce2Reduce1(vyv264, vyv265, vyv266, vyv267, False, bh) -> :%(new_quot1(vyv264, vyv265, vyv266, vyv267, bh), new_quot2(vyv266, vyv267, vyv264, vyv265, bh)) 248.92/165.31 new_reduce2Reduce1(vyv264, vyv265, vyv266, vyv267, True, bh) -> error([]) 248.92/165.31 new_quot1(vyv264, vyv265, vyv266, vyv267, ty_Int) -> new_quot0(new_sr14(vyv264, vyv265), new_sr14(vyv264, vyv265), new_sr14(vyv266, vyv267)) 248.92/165.31 new_quot1(vyv264, vyv265, vyv266, vyv267, ty_Integer) -> new_quot(new_sr8(vyv264, vyv265), new_sr8(vyv264, vyv265), new_sr8(vyv266, vyv267)) 248.92/165.31 new_quot2(vyv266, vyv267, vyv264, vyv265, ty_Int) -> new_quot0(new_sr14(vyv266, vyv267), new_sr14(vyv264, vyv265), new_sr14(vyv266, vyv267)) 248.92/165.31 new_quot2(vyv266, vyv267, vyv264, vyv265, ty_Integer) -> new_quot(new_sr8(vyv266, vyv267), new_sr8(vyv264, vyv265), new_sr8(vyv266, vyv267)) 248.92/165.31 new_sr8(vyv239, vyv238) -> error([]) 248.92/165.31 new_quot(vyv273, vyv275, vyv274) -> error([]) 248.92/165.31 new_sr14(Pos(vyv2390), Neg(vyv2380)) -> Neg(new_primMulNat0(vyv2390, vyv2380)) 248.92/165.31 new_sr14(Neg(vyv2390), Pos(vyv2380)) -> Neg(new_primMulNat0(vyv2390, vyv2380)) 248.92/165.31 new_sr14(Neg(vyv2390), Neg(vyv2380)) -> Pos(new_primMulNat0(vyv2390, vyv2380)) 248.92/165.31 new_sr14(Pos(vyv2390), Pos(vyv2380)) -> Pos(new_primMulNat0(vyv2390, vyv2380)) 248.92/165.31 new_quot0(Neg(vyv2700), vyv272, vyv271) -> new_primQuotInt0(vyv2700, new_gcd(vyv272, vyv271)) 248.92/165.31 new_quot0(Pos(vyv2700), vyv272, vyv271) -> new_primQuotInt(vyv2700, new_gcd(vyv272, vyv271)) 248.92/165.31 new_gcd(vyv272, vyv271) -> new_gcd2(new_esEs(vyv272), vyv272, vyv271) 248.92/165.31 new_primQuotInt(vyv2700, Pos(Succ(vyv28400))) -> Pos(new_primDivNatS1(vyv2700, vyv28400)) 248.92/165.31 new_primQuotInt(vyv2700, Neg(Zero)) -> new_error 248.92/165.31 new_primQuotInt(vyv2700, Pos(Zero)) -> new_error 248.92/165.31 new_primQuotInt(vyv2700, Neg(Succ(vyv28400))) -> Neg(new_primDivNatS1(vyv2700, vyv28400)) 248.92/165.31 new_primDivNatS1(Zero, vyv28400) -> Zero 248.92/165.31 new_primDivNatS1(Succ(Succ(vyv270000)), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS0(vyv270000), Zero)) 248.92/165.31 new_primDivNatS1(Succ(Zero), Succ(vyv284000)) -> Zero 248.92/165.31 new_primDivNatS1(Succ(Succ(vyv270000)), Succ(vyv284000)) -> new_primDivNatS02(vyv270000, vyv284000, vyv270000, vyv284000) 248.92/165.31 new_primDivNatS1(Succ(Zero), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS1, Zero)) 248.92/165.31 new_primMinusNatS1 -> Zero 248.92/165.31 new_primDivNatS02(vyv310, vyv311, Zero, Zero) -> new_primDivNatS01(vyv310, vyv311) 248.92/165.31 new_primDivNatS02(vyv310, vyv311, Succ(vyv3120), Zero) -> new_primDivNatS01(vyv310, vyv311) 248.92/165.31 new_primDivNatS02(vyv310, vyv311, Zero, Succ(vyv3130)) -> Zero 248.92/165.31 new_primDivNatS02(vyv310, vyv311, Succ(vyv3120), Succ(vyv3130)) -> new_primDivNatS02(vyv310, vyv311, vyv3120, vyv3130) 248.92/165.31 new_primDivNatS01(vyv310, vyv311) -> Succ(new_primDivNatS1(new_primMinusNatS2(vyv310, vyv311), Succ(vyv311))) 248.92/165.31 new_primMinusNatS2(Zero, Succ(vyv3110)) -> Zero 248.92/165.31 new_primMinusNatS2(Succ(vyv3100), Zero) -> Succ(vyv3100) 248.92/165.31 new_primMinusNatS2(Zero, Zero) -> Zero 248.92/165.31 new_primMinusNatS2(Succ(vyv3100), Succ(vyv3110)) -> new_primMinusNatS2(vyv3100, vyv3110) 248.92/165.31 new_primMinusNatS0(vyv270000) -> Succ(vyv270000) 248.92/165.31 new_error -> error([]) 248.92/165.31 new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) 248.92/165.31 new_esEs(Pos(Succ(vyv24100))) -> new_primEqInt(Pos(Succ(vyv24100))) 248.92/165.31 new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) 248.92/165.31 new_esEs(Neg(Succ(vyv24100))) -> new_primEqInt(Neg(Succ(vyv24100))) 248.92/165.31 new_gcd2(True, vyv272, vyv271) -> new_gcd1(new_esEs(vyv271), vyv272, vyv271) 248.92/165.31 new_gcd2(False, vyv272, vyv271) -> new_gcd0(vyv272, vyv271) 248.92/165.31 new_gcd0(vyv272, vyv271) -> new_gcd0Gcd'10(new_esEs(new_abs(vyv271)), vyv272, vyv271) 248.92/165.31 new_abs(Neg(Zero)) -> Neg(Zero) 248.92/165.31 new_abs(Neg(Succ(vyv27100))) -> Pos(Succ(vyv27100)) 248.92/165.31 new_abs(Pos(Succ(vyv27100))) -> Pos(Succ(vyv27100)) 248.92/165.31 new_abs(Pos(Zero)) -> Pos(Zero) 248.92/165.31 new_gcd0Gcd'10(True, vyv272, vyv271) -> new_abs(vyv272) 248.92/165.31 new_gcd0Gcd'10(False, vyv272, vyv271) -> new_gcd0Gcd'00(new_abs(vyv272), new_abs(vyv271)) 248.92/165.31 new_gcd0Gcd'11(False, vyv291, vyv292) -> new_gcd0Gcd'00(vyv291, new_rem(vyv292, vyv291)) 248.92/165.31 new_gcd0Gcd'00(vyv292, vyv291) -> new_gcd0Gcd'11(new_esEs(new_rem(vyv292, vyv291)), vyv291, vyv292) 248.92/165.31 new_rem(Pos(vyv2920), Neg(Zero)) -> new_error 248.92/165.31 new_rem(Neg(vyv2920), Pos(Zero)) -> new_error 248.92/165.31 new_rem(Pos(vyv2920), Neg(Succ(vyv29100))) -> Pos(new_primModNatS1(vyv2920, vyv29100)) 248.92/165.31 new_rem(Neg(vyv2920), Pos(Succ(vyv29100))) -> Neg(new_primModNatS1(vyv2920, vyv29100)) 248.92/165.31 new_rem(Pos(vyv2920), Pos(Succ(vyv29100))) -> Pos(new_primModNatS1(vyv2920, vyv29100)) 248.92/165.31 new_rem(Neg(vyv2920), Neg(Zero)) -> new_error 248.92/165.31 new_rem(Neg(vyv2920), Neg(Succ(vyv29100))) -> Neg(new_primModNatS1(vyv2920, vyv29100)) 248.92/165.31 new_rem(Pos(vyv2920), Pos(Zero)) -> new_error 248.92/165.31 new_gcd0Gcd'11(True, vyv291, vyv292) -> vyv291 248.92/165.31 new_primModNatS1(Succ(Zero), Succ(vyv291000)) -> Succ(Zero) 248.92/165.31 new_primModNatS1(Zero, vyv29100) -> Zero 248.92/165.31 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 248.92/165.31 new_primModNatS1(Succ(Succ(vyv292000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv292000), Zero) 248.92/165.31 new_primModNatS1(Succ(Succ(vyv292000)), Succ(vyv291000)) -> new_primModNatS01(vyv292000, vyv291000, vyv292000, vyv291000) 248.92/165.31 new_primModNatS01(vyv330, vyv331, Zero, Zero) -> new_primModNatS02(vyv330, vyv331) 248.92/165.31 new_primModNatS02(vyv330, vyv331) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv330), Succ(vyv331)), Succ(vyv331)) 248.92/165.31 new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Zero) -> new_primModNatS02(vyv330, vyv331) 248.92/165.31 new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Succ(vyv3330)) -> new_primModNatS01(vyv330, vyv331, vyv3320, vyv3330) 248.92/165.31 new_primModNatS01(vyv330, vyv331, Zero, Succ(vyv3330)) -> Succ(Succ(vyv330)) 248.92/165.31 new_gcd1(True, vyv272, vyv271) -> new_error 248.92/165.31 new_gcd1(False, vyv272, vyv271) -> new_gcd0(vyv272, vyv271) 248.92/165.31 new_primEqInt(Neg(Succ(vyv242000))) -> False 248.92/165.31 new_primEqInt(Pos(Zero)) -> True 248.92/165.31 new_primEqInt(Pos(Succ(vyv242000))) -> False 248.92/165.31 new_primEqInt(Neg(Zero)) -> True 248.92/165.31 new_primQuotInt0(vyv2700, Pos(Succ(vyv28700))) -> Neg(new_primDivNatS1(vyv2700, vyv28700)) 248.92/165.31 new_primQuotInt0(vyv2700, Neg(Zero)) -> new_error 248.92/165.31 new_primQuotInt0(vyv2700, Neg(Succ(vyv28700))) -> Pos(new_primDivNatS1(vyv2700, vyv28700)) 248.92/165.31 new_primQuotInt0(vyv2700, Pos(Zero)) -> new_error 248.92/165.31 new_primMulNat0(Succ(vyv23900), Zero) -> Zero 248.92/165.31 new_primMulNat0(Zero, Succ(vyv23800)) -> Zero 248.92/165.31 new_primMulNat0(Zero, Zero) -> Zero 248.92/165.31 new_primMulNat0(Succ(vyv23900), Succ(vyv23800)) -> new_primPlusNat0(new_primMulNat0(vyv23900, Succ(vyv23800)), Succ(vyv23800)) 248.92/165.31 new_primPlusNat0(Succ(vyv4000), Succ(vyv5000)) -> Succ(Succ(new_primPlusNat0(vyv4000, vyv5000))) 248.92/165.31 new_primPlusNat0(Zero, Succ(vyv5000)) -> Succ(vyv5000) 248.92/165.31 new_primPlusNat0(Zero, Zero) -> Zero 248.92/165.31 new_primPlusNat0(Succ(vyv4000), Zero) -> Succ(vyv4000) 248.92/165.31 new_sr7(vyv183) -> error([]) 248.92/165.31 new_esEs1(Integer(vyv2690)) -> new_primEqInt(vyv2690) 248.92/165.31 new_sr6(Neg(vyv1830)) -> Pos(new_primMulNat1(vyv1830)) 248.92/165.31 new_sr6(Pos(vyv1830)) -> Pos(new_primMulNat1(vyv1830)) 248.92/165.31 new_primMulNat1(Succ(vyv18300)) -> new_primPlusNat0(new_primMulNat2(vyv18300), Succ(vyv18300)) 248.92/165.31 new_primMulNat1(Zero) -> Zero 248.92/165.31 new_primMulNat2(Succ(vyv183000)) -> new_primPlusNat0(new_primMulNat3(vyv183000), Succ(Succ(vyv183000))) 248.92/165.31 new_primMulNat2(Zero) -> Zero 248.92/165.31 new_primMulNat3(Succ(vyv1830000)) -> new_primPlusNat0(new_primMulNat4(vyv1830000), Succ(Succ(Succ(vyv1830000)))) 248.92/165.31 new_primMulNat3(Zero) -> Zero 248.92/165.31 new_primMulNat4(Succ(vyv18300000)) -> new_primPlusNat0(new_primMulNat0(vyv18300000, Succ(Succ(Succ(Succ(vyv18300000))))), Succ(Succ(Succ(Succ(vyv18300000))))) 248.92/165.31 new_primMulNat4(Zero) -> Zero 248.92/165.31 new_sr10(vyv183) -> error([]) 248.92/165.31 new_sr9(vyv183) -> error([]) 248.92/165.31 248.92/165.31 The set Q consists of the following terms: 248.92/165.31 248.92/165.31 new_rem(Pos(x0), Pos(Succ(x1))) 248.92/165.31 new_quot1(x0, x1, x2, x3, ty_Integer) 248.92/165.31 new_primModNatS1(Succ(Zero), Succ(x0)) 248.92/165.31 new_ms0(x0, Pos(x1)) 248.92/165.31 new_sr(x0, app(ty_Ratio, x1)) 248.92/165.31 new_primMulNat4(Zero) 248.92/165.31 new_gcd1(False, x0, x1) 248.92/165.31 new_primEqInt(Pos(Zero)) 248.92/165.31 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 248.92/165.31 new_rem(Pos(x0), Neg(Succ(x1))) 248.92/165.31 new_rem(Neg(x0), Pos(Succ(x1))) 248.92/165.31 new_sr10(x0) 248.92/165.31 new_quot1(x0, x1, x2, x3, ty_Int) 248.92/165.31 new_sr0(x0, app(ty_Ratio, x1)) 248.92/165.31 new_quot2(x0, x1, x2, x3, ty_Integer) 248.92/165.31 new_primModNatS01(x0, x1, Succ(x2), Zero) 248.92/165.31 new_sr3(x0, ty_Integer) 248.92/165.31 new_primMulNat3(Zero) 248.92/165.31 new_primDivNatS02(x0, x1, Succ(x2), Zero) 248.92/165.31 new_sr(x0, ty_Float) 248.92/165.31 new_quot2(x0, x1, x2, x3, ty_Int) 248.92/165.31 new_gcd2(False, x0, x1) 248.92/165.31 new_primDivNatS1(Succ(Zero), Zero) 248.92/165.31 new_sr0(x0, ty_Double) 248.92/165.31 new_esEs0(x0, ty_Int) 248.92/165.31 new_sr14(Pos(x0), Pos(x1)) 248.92/165.31 new_sr3(x0, ty_Int) 248.92/165.31 new_primMulNat0(Zero, Zero) 248.92/165.31 new_sr4(x0, x1, ty_Double) 248.92/165.31 new_primPlusNat0(Succ(x0), Zero) 248.92/165.31 new_primMulNat2(Zero) 248.92/165.31 new_sr11(x0, x1) 248.92/165.31 new_primModNatS01(x0, x1, Zero, Zero) 248.92/165.31 new_esEs2(x0, x1, ty_Int) 248.92/165.31 new_gcd1(True, x0, x1) 248.92/165.31 new_sr13(x0, x1) 248.92/165.31 new_sr14(Pos(x0), Neg(x1)) 248.92/165.31 new_sr14(Neg(x0), Pos(x1)) 248.92/165.31 new_primDivNatS1(Succ(Succ(x0)), Succ(x1)) 248.92/165.31 new_sr1(x0, ty_Int) 248.92/165.31 new_primModNatS1(Zero, x0) 248.92/165.31 new_esEs(Pos(Succ(x0))) 248.92/165.31 new_primMulNat3(Succ(x0)) 248.92/165.31 new_sr1(x0, app(ty_Ratio, x1)) 248.92/165.31 new_primQuotInt(x0, Neg(Succ(x1))) 248.92/165.31 new_reduce2Reduce1(x0, x1, x2, x3, False, x4) 248.92/165.31 new_primMinusNat0(Zero, Zero) 248.92/165.31 new_primDivNatS1(Zero, x0) 248.92/165.31 new_primDivNatS02(x0, x1, Succ(x2), Succ(x3)) 248.92/165.31 new_primModNatS02(x0, x1) 248.92/165.31 new_primDivNatS1(Succ(Zero), Succ(x0)) 248.92/165.31 new_sr6(Neg(x0)) 248.92/165.31 new_gcd0Gcd'10(True, x0, x1) 248.92/165.31 new_primMulNat0(Succ(x0), Succ(x1)) 248.92/165.31 new_abs(Neg(Zero)) 248.92/165.31 new_ms(x0, Neg(x1)) 248.92/165.31 new_rem(Pos(x0), Neg(Zero)) 248.92/165.31 new_rem(Neg(x0), Pos(Zero)) 248.92/165.31 new_primMinusNatS2(Zero, Succ(x0)) 248.92/165.31 new_esEs(Neg(Succ(x0))) 248.92/165.31 new_error 248.92/165.31 new_primModNatS1(Succ(Zero), Zero) 248.92/165.31 new_primMulNat0(Zero, Succ(x0)) 248.92/165.31 new_sr3(x0, ty_Float) 248.92/165.31 new_quot(x0, x1, x2) 248.92/165.31 new_gcd2(True, x0, x1) 248.92/165.31 new_gcd0Gcd'11(True, x0, x1) 248.92/165.31 new_primEqInt(Neg(Zero)) 248.92/165.31 new_sr2(x0, x1, ty_Double) 248.92/165.31 new_primMulNat0(Succ(x0), Zero) 248.92/165.31 new_quot0(Neg(x0), x1, x2) 248.92/165.31 new_primMinusNatS2(Succ(x0), Succ(x1)) 248.92/165.31 new_sr4(x0, x1, app(ty_Ratio, x2)) 248.92/165.31 new_sr8(x0, x1) 248.92/165.31 new_primDivNatS01(x0, x1) 248.92/165.31 new_primDivNatS02(x0, x1, Zero, Succ(x2)) 248.92/165.31 new_primPlusNat0(Succ(x0), Succ(x1)) 248.92/165.31 new_sr1(x0, ty_Integer) 248.92/165.31 new_primPlusNat0(Zero, Zero) 248.92/165.31 new_sr1(x0, ty_Float) 248.92/165.31 new_primMinusNat0(Succ(x0), Succ(x1)) 248.92/165.31 new_sr12(:%(x0, x1), :%(x2, x3), x4) 248.92/165.31 new_abs(Neg(Succ(x0))) 248.92/165.31 new_sr1(x0, ty_Double) 248.92/165.31 new_sr3(x0, app(ty_Ratio, x1)) 248.92/165.31 new_sr7(x0) 248.92/165.31 new_gcd0(x0, x1) 248.92/165.31 new_sr(x0, ty_Integer) 248.92/165.31 new_sr0(x0, ty_Int) 248.92/165.31 new_primQuotInt0(x0, Pos(Succ(x1))) 248.92/165.31 new_sr4(x0, x1, ty_Integer) 248.92/165.31 new_sr5(:%(x0, x1), x2) 248.92/165.31 new_primMinusNatS2(Zero, Zero) 248.92/165.31 new_primMulNat1(Succ(x0)) 248.92/165.31 new_sr0(x0, ty_Integer) 248.92/165.31 new_ms(x0, Pos(Zero)) 248.92/165.31 new_abs(Pos(Succ(x0))) 248.92/165.31 new_sr4(x0, x1, ty_Int) 248.92/165.31 new_esEs(Pos(Zero)) 248.92/165.31 new_primQuotInt0(x0, Pos(Zero)) 248.92/165.31 new_sr(x0, ty_Int) 248.92/165.31 new_primEqInt(Neg(Succ(x0))) 248.92/165.31 new_primQuotInt(x0, Neg(Zero)) 248.92/165.31 new_primQuotInt0(x0, Neg(Zero)) 248.92/165.31 new_primQuotInt0(x0, Neg(Succ(x1))) 248.92/165.31 new_gcd(x0, x1) 248.92/165.31 new_quot0(Pos(x0), x1, x2) 248.92/165.31 new_primMinusNatS0(x0) 248.92/165.31 new_primPlusNat0(Zero, Succ(x0)) 248.92/165.31 new_sr2(x0, x1, app(ty_Ratio, x2)) 248.92/165.31 new_sr2(x0, x1, ty_Int) 248.92/165.31 new_primQuotInt(x0, Pos(Succ(x1))) 248.92/165.31 new_primDivNatS1(Succ(Succ(x0)), Zero) 248.92/165.31 new_rem(Pos(x0), Pos(Zero)) 248.92/165.31 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 248.92/165.31 new_primDivNatS02(x0, x1, Zero, Zero) 248.92/165.31 new_abs(Pos(Zero)) 248.92/165.31 new_gcd0Gcd'10(False, x0, x1) 248.92/165.31 new_ms(x0, Pos(Succ(x1))) 248.92/165.31 new_primMinusNatS1 248.92/165.31 new_esEs1(Integer(x0)) 248.92/165.31 new_ms0(x0, Neg(Zero)) 248.92/165.31 new_primMinusNat0(Succ(x0), Zero) 248.92/165.31 new_ms0(x0, Neg(Succ(x1))) 248.92/165.31 new_sr2(x0, x1, ty_Integer) 248.92/165.31 new_primModNatS01(x0, x1, Zero, Succ(x2)) 248.92/165.31 new_primMulNat2(Succ(x0)) 248.92/165.31 new_sr0(x0, ty_Float) 248.92/165.31 new_sr14(Neg(x0), Neg(x1)) 248.92/165.31 new_sr2(x0, x1, ty_Float) 248.92/165.31 new_primMinusNatS2(Succ(x0), Zero) 248.92/165.31 new_sr4(x0, x1, ty_Float) 248.92/165.31 new_sr6(Pos(x0)) 248.92/165.31 new_esEs2(x0, x1, ty_Integer) 248.92/165.31 new_primMulNat4(Succ(x0)) 248.92/165.31 new_rem(Neg(x0), Neg(Succ(x1))) 248.92/165.31 new_primEqInt(Pos(Succ(x0))) 248.92/165.31 new_primQuotInt(x0, Pos(Zero)) 248.92/165.31 new_gcd0Gcd'11(False, x0, x1) 248.92/165.31 new_sr9(x0) 248.92/165.31 new_primModNatS1(Succ(Succ(x0)), Zero) 248.92/165.31 new_sr(x0, ty_Double) 248.92/165.31 new_esEs0(x0, ty_Integer) 248.92/165.31 new_gcd0Gcd'00(x0, x1) 248.92/165.31 new_reduce2Reduce1(x0, x1, x2, x3, True, x4) 248.92/165.31 new_sr3(x0, ty_Double) 248.92/165.31 new_esEs(Neg(Zero)) 248.92/165.31 new_primMulNat1(Zero) 248.92/165.31 new_primMinusNat0(Zero, Succ(x0)) 248.92/165.31 new_rem(Neg(x0), Neg(Zero)) 248.92/165.31 248.92/165.31 We have to consider all minimal (P,Q,R)-chains. 248.92/165.31 ---------------------------------------- 248.92/165.31 248.92/165.31 (758) QReductionProof (EQUIVALENT) 248.92/165.31 We deleted the following terms from Q as each root-symbol of these terms does neither occur in P nor in R.[THIEMANN]. 248.92/165.31 248.92/165.31 new_ms0(x0, Pos(x1)) 248.92/165.31 new_sr(x0, app(ty_Ratio, x1)) 248.92/165.31 new_sr3(x0, ty_Integer) 248.92/165.31 new_sr(x0, ty_Float) 248.92/165.31 new_sr3(x0, ty_Int) 248.92/165.31 new_sr4(x0, x1, ty_Double) 248.92/165.31 new_sr11(x0, x1) 248.92/165.31 new_esEs2(x0, x1, ty_Int) 248.92/165.31 new_sr13(x0, x1) 248.92/165.31 new_sr1(x0, ty_Int) 248.92/165.31 new_sr1(x0, app(ty_Ratio, x1)) 248.92/165.31 new_primMinusNat0(Zero, Zero) 248.92/165.31 new_ms(x0, Neg(x1)) 248.92/165.31 new_sr3(x0, ty_Float) 248.92/165.31 new_sr2(x0, x1, ty_Double) 248.92/165.31 new_sr4(x0, x1, app(ty_Ratio, x2)) 248.92/165.31 new_sr1(x0, ty_Integer) 248.92/165.31 new_sr1(x0, ty_Float) 248.92/165.31 new_primMinusNat0(Succ(x0), Succ(x1)) 248.92/165.31 new_sr12(:%(x0, x1), :%(x2, x3), x4) 248.92/165.31 new_sr1(x0, ty_Double) 248.92/165.31 new_sr3(x0, app(ty_Ratio, x1)) 248.92/165.31 new_sr(x0, ty_Integer) 248.92/165.31 new_sr4(x0, x1, ty_Integer) 248.92/165.31 new_ms(x0, Pos(Zero)) 248.92/165.31 new_sr4(x0, x1, ty_Int) 248.92/165.31 new_sr(x0, ty_Int) 248.92/165.31 new_sr2(x0, x1, app(ty_Ratio, x2)) 248.92/165.31 new_sr2(x0, x1, ty_Int) 248.92/165.31 new_ms(x0, Pos(Succ(x1))) 248.92/165.31 new_ms0(x0, Neg(Zero)) 248.92/165.31 new_primMinusNat0(Succ(x0), Zero) 248.92/165.31 new_ms0(x0, Neg(Succ(x1))) 248.92/165.31 new_sr2(x0, x1, ty_Integer) 248.92/165.31 new_sr2(x0, x1, ty_Float) 248.92/165.31 new_sr4(x0, x1, ty_Float) 248.92/165.31 new_esEs2(x0, x1, ty_Integer) 248.92/165.31 new_sr(x0, ty_Double) 248.92/165.31 new_sr3(x0, ty_Double) 248.92/165.31 new_primMinusNat0(Zero, Succ(x0)) 248.92/165.31 248.92/165.31 248.92/165.31 ---------------------------------------- 248.92/165.31 248.92/165.31 (759) 248.92/165.31 Obligation: 248.92/165.31 Q DP problem: 248.92/165.31 The TRS P consists of the following rules: 248.92/165.31 248.92/165.31 new_pr2F0G(vyv187, vyv183, Neg(Zero), h) -> new_pr2F0G(vyv187, new_sr0(vyv183, h), Neg(Zero), h) 248.92/165.31 248.92/165.31 The TRS R consists of the following rules: 248.92/165.31 248.92/165.31 new_sr0(vyv183, ty_Double) -> new_sr9(vyv183) 248.92/165.31 new_sr0(vyv183, ty_Int) -> new_sr6(vyv183) 248.92/165.31 new_sr0(vyv183, ty_Integer) -> new_sr7(vyv183) 248.92/165.31 new_sr0(vyv183, ty_Float) -> new_sr10(vyv183) 248.92/165.31 new_sr0(vyv183, app(ty_Ratio, bd)) -> new_sr5(vyv183, bd) 248.92/165.31 new_sr5(:%(vyv1830, vyv1831), bd) -> new_reduce2Reduce1(vyv1830, vyv1830, vyv1831, vyv1831, new_esEs0(vyv1831, bd), bd) 248.92/165.31 new_esEs0(vyv1831, ty_Int) -> new_esEs(new_sr6(vyv1831)) 248.92/165.31 new_esEs0(vyv1831, ty_Integer) -> new_esEs1(new_sr7(vyv1831)) 248.92/165.31 new_reduce2Reduce1(vyv264, vyv265, vyv266, vyv267, False, bh) -> :%(new_quot1(vyv264, vyv265, vyv266, vyv267, bh), new_quot2(vyv266, vyv267, vyv264, vyv265, bh)) 248.92/165.31 new_reduce2Reduce1(vyv264, vyv265, vyv266, vyv267, True, bh) -> error([]) 248.92/165.31 new_quot1(vyv264, vyv265, vyv266, vyv267, ty_Int) -> new_quot0(new_sr14(vyv264, vyv265), new_sr14(vyv264, vyv265), new_sr14(vyv266, vyv267)) 248.92/165.31 new_quot1(vyv264, vyv265, vyv266, vyv267, ty_Integer) -> new_quot(new_sr8(vyv264, vyv265), new_sr8(vyv264, vyv265), new_sr8(vyv266, vyv267)) 248.92/165.31 new_quot2(vyv266, vyv267, vyv264, vyv265, ty_Int) -> new_quot0(new_sr14(vyv266, vyv267), new_sr14(vyv264, vyv265), new_sr14(vyv266, vyv267)) 248.92/165.31 new_quot2(vyv266, vyv267, vyv264, vyv265, ty_Integer) -> new_quot(new_sr8(vyv266, vyv267), new_sr8(vyv264, vyv265), new_sr8(vyv266, vyv267)) 248.92/165.31 new_sr8(vyv239, vyv238) -> error([]) 248.92/165.31 new_quot(vyv273, vyv275, vyv274) -> error([]) 248.92/165.31 new_sr14(Pos(vyv2390), Neg(vyv2380)) -> Neg(new_primMulNat0(vyv2390, vyv2380)) 248.92/165.31 new_sr14(Neg(vyv2390), Pos(vyv2380)) -> Neg(new_primMulNat0(vyv2390, vyv2380)) 248.92/165.31 new_sr14(Neg(vyv2390), Neg(vyv2380)) -> Pos(new_primMulNat0(vyv2390, vyv2380)) 248.92/165.31 new_sr14(Pos(vyv2390), Pos(vyv2380)) -> Pos(new_primMulNat0(vyv2390, vyv2380)) 248.92/165.31 new_quot0(Neg(vyv2700), vyv272, vyv271) -> new_primQuotInt0(vyv2700, new_gcd(vyv272, vyv271)) 248.92/165.31 new_quot0(Pos(vyv2700), vyv272, vyv271) -> new_primQuotInt(vyv2700, new_gcd(vyv272, vyv271)) 248.92/165.31 new_gcd(vyv272, vyv271) -> new_gcd2(new_esEs(vyv272), vyv272, vyv271) 248.92/165.31 new_primQuotInt(vyv2700, Pos(Succ(vyv28400))) -> Pos(new_primDivNatS1(vyv2700, vyv28400)) 248.92/165.31 new_primQuotInt(vyv2700, Neg(Zero)) -> new_error 248.92/165.31 new_primQuotInt(vyv2700, Pos(Zero)) -> new_error 248.92/165.31 new_primQuotInt(vyv2700, Neg(Succ(vyv28400))) -> Neg(new_primDivNatS1(vyv2700, vyv28400)) 248.92/165.31 new_primDivNatS1(Zero, vyv28400) -> Zero 248.92/165.31 new_primDivNatS1(Succ(Succ(vyv270000)), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS0(vyv270000), Zero)) 248.92/165.31 new_primDivNatS1(Succ(Zero), Succ(vyv284000)) -> Zero 248.92/165.31 new_primDivNatS1(Succ(Succ(vyv270000)), Succ(vyv284000)) -> new_primDivNatS02(vyv270000, vyv284000, vyv270000, vyv284000) 248.92/165.31 new_primDivNatS1(Succ(Zero), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS1, Zero)) 248.92/165.31 new_primMinusNatS1 -> Zero 248.92/165.31 new_primDivNatS02(vyv310, vyv311, Zero, Zero) -> new_primDivNatS01(vyv310, vyv311) 248.92/165.31 new_primDivNatS02(vyv310, vyv311, Succ(vyv3120), Zero) -> new_primDivNatS01(vyv310, vyv311) 248.92/165.31 new_primDivNatS02(vyv310, vyv311, Zero, Succ(vyv3130)) -> Zero 248.92/165.31 new_primDivNatS02(vyv310, vyv311, Succ(vyv3120), Succ(vyv3130)) -> new_primDivNatS02(vyv310, vyv311, vyv3120, vyv3130) 248.92/165.31 new_primDivNatS01(vyv310, vyv311) -> Succ(new_primDivNatS1(new_primMinusNatS2(vyv310, vyv311), Succ(vyv311))) 248.92/165.31 new_primMinusNatS2(Zero, Succ(vyv3110)) -> Zero 248.92/165.31 new_primMinusNatS2(Succ(vyv3100), Zero) -> Succ(vyv3100) 248.92/165.31 new_primMinusNatS2(Zero, Zero) -> Zero 248.92/165.31 new_primMinusNatS2(Succ(vyv3100), Succ(vyv3110)) -> new_primMinusNatS2(vyv3100, vyv3110) 248.92/165.31 new_primMinusNatS0(vyv270000) -> Succ(vyv270000) 248.92/165.31 new_error -> error([]) 248.92/165.31 new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) 248.92/165.31 new_esEs(Pos(Succ(vyv24100))) -> new_primEqInt(Pos(Succ(vyv24100))) 248.92/165.31 new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) 248.92/165.31 new_esEs(Neg(Succ(vyv24100))) -> new_primEqInt(Neg(Succ(vyv24100))) 248.92/165.31 new_gcd2(True, vyv272, vyv271) -> new_gcd1(new_esEs(vyv271), vyv272, vyv271) 248.92/165.31 new_gcd2(False, vyv272, vyv271) -> new_gcd0(vyv272, vyv271) 248.92/165.31 new_gcd0(vyv272, vyv271) -> new_gcd0Gcd'10(new_esEs(new_abs(vyv271)), vyv272, vyv271) 248.92/165.31 new_abs(Neg(Zero)) -> Neg(Zero) 248.92/165.31 new_abs(Neg(Succ(vyv27100))) -> Pos(Succ(vyv27100)) 248.92/165.31 new_abs(Pos(Succ(vyv27100))) -> Pos(Succ(vyv27100)) 248.92/165.31 new_abs(Pos(Zero)) -> Pos(Zero) 248.92/165.31 new_gcd0Gcd'10(True, vyv272, vyv271) -> new_abs(vyv272) 248.92/165.31 new_gcd0Gcd'10(False, vyv272, vyv271) -> new_gcd0Gcd'00(new_abs(vyv272), new_abs(vyv271)) 248.92/165.31 new_gcd0Gcd'11(False, vyv291, vyv292) -> new_gcd0Gcd'00(vyv291, new_rem(vyv292, vyv291)) 248.92/165.31 new_gcd0Gcd'00(vyv292, vyv291) -> new_gcd0Gcd'11(new_esEs(new_rem(vyv292, vyv291)), vyv291, vyv292) 248.92/165.31 new_rem(Pos(vyv2920), Neg(Zero)) -> new_error 248.92/165.31 new_rem(Neg(vyv2920), Pos(Zero)) -> new_error 248.92/165.31 new_rem(Pos(vyv2920), Neg(Succ(vyv29100))) -> Pos(new_primModNatS1(vyv2920, vyv29100)) 248.92/165.31 new_rem(Neg(vyv2920), Pos(Succ(vyv29100))) -> Neg(new_primModNatS1(vyv2920, vyv29100)) 248.92/165.31 new_rem(Pos(vyv2920), Pos(Succ(vyv29100))) -> Pos(new_primModNatS1(vyv2920, vyv29100)) 248.92/165.31 new_rem(Neg(vyv2920), Neg(Zero)) -> new_error 248.92/165.31 new_rem(Neg(vyv2920), Neg(Succ(vyv29100))) -> Neg(new_primModNatS1(vyv2920, vyv29100)) 248.92/165.31 new_rem(Pos(vyv2920), Pos(Zero)) -> new_error 248.92/165.31 new_gcd0Gcd'11(True, vyv291, vyv292) -> vyv291 248.92/165.31 new_primModNatS1(Succ(Zero), Succ(vyv291000)) -> Succ(Zero) 248.92/165.31 new_primModNatS1(Zero, vyv29100) -> Zero 248.92/165.31 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 248.92/165.31 new_primModNatS1(Succ(Succ(vyv292000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv292000), Zero) 248.92/165.31 new_primModNatS1(Succ(Succ(vyv292000)), Succ(vyv291000)) -> new_primModNatS01(vyv292000, vyv291000, vyv292000, vyv291000) 248.92/165.31 new_primModNatS01(vyv330, vyv331, Zero, Zero) -> new_primModNatS02(vyv330, vyv331) 248.92/165.31 new_primModNatS02(vyv330, vyv331) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv330), Succ(vyv331)), Succ(vyv331)) 248.92/165.31 new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Zero) -> new_primModNatS02(vyv330, vyv331) 248.92/165.31 new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Succ(vyv3330)) -> new_primModNatS01(vyv330, vyv331, vyv3320, vyv3330) 248.92/165.31 new_primModNatS01(vyv330, vyv331, Zero, Succ(vyv3330)) -> Succ(Succ(vyv330)) 248.92/165.31 new_gcd1(True, vyv272, vyv271) -> new_error 248.92/165.31 new_gcd1(False, vyv272, vyv271) -> new_gcd0(vyv272, vyv271) 248.92/165.31 new_primEqInt(Neg(Succ(vyv242000))) -> False 248.92/165.31 new_primEqInt(Pos(Zero)) -> True 248.92/165.31 new_primEqInt(Pos(Succ(vyv242000))) -> False 248.92/165.31 new_primEqInt(Neg(Zero)) -> True 248.92/165.31 new_primQuotInt0(vyv2700, Pos(Succ(vyv28700))) -> Neg(new_primDivNatS1(vyv2700, vyv28700)) 248.92/165.31 new_primQuotInt0(vyv2700, Neg(Zero)) -> new_error 248.92/165.31 new_primQuotInt0(vyv2700, Neg(Succ(vyv28700))) -> Pos(new_primDivNatS1(vyv2700, vyv28700)) 248.92/165.31 new_primQuotInt0(vyv2700, Pos(Zero)) -> new_error 248.92/165.31 new_primMulNat0(Succ(vyv23900), Zero) -> Zero 248.92/165.31 new_primMulNat0(Zero, Succ(vyv23800)) -> Zero 248.92/165.31 new_primMulNat0(Zero, Zero) -> Zero 248.92/165.31 new_primMulNat0(Succ(vyv23900), Succ(vyv23800)) -> new_primPlusNat0(new_primMulNat0(vyv23900, Succ(vyv23800)), Succ(vyv23800)) 248.92/165.31 new_primPlusNat0(Succ(vyv4000), Succ(vyv5000)) -> Succ(Succ(new_primPlusNat0(vyv4000, vyv5000))) 248.92/165.31 new_primPlusNat0(Zero, Succ(vyv5000)) -> Succ(vyv5000) 248.92/165.31 new_primPlusNat0(Zero, Zero) -> Zero 248.92/165.31 new_primPlusNat0(Succ(vyv4000), Zero) -> Succ(vyv4000) 248.92/165.31 new_sr7(vyv183) -> error([]) 248.92/165.31 new_esEs1(Integer(vyv2690)) -> new_primEqInt(vyv2690) 248.92/165.31 new_sr6(Neg(vyv1830)) -> Pos(new_primMulNat1(vyv1830)) 248.92/165.31 new_sr6(Pos(vyv1830)) -> Pos(new_primMulNat1(vyv1830)) 248.92/165.31 new_primMulNat1(Succ(vyv18300)) -> new_primPlusNat0(new_primMulNat2(vyv18300), Succ(vyv18300)) 248.92/165.31 new_primMulNat1(Zero) -> Zero 248.92/165.31 new_primMulNat2(Succ(vyv183000)) -> new_primPlusNat0(new_primMulNat3(vyv183000), Succ(Succ(vyv183000))) 248.92/165.31 new_primMulNat2(Zero) -> Zero 248.92/165.31 new_primMulNat3(Succ(vyv1830000)) -> new_primPlusNat0(new_primMulNat4(vyv1830000), Succ(Succ(Succ(vyv1830000)))) 248.92/165.31 new_primMulNat3(Zero) -> Zero 248.92/165.31 new_primMulNat4(Succ(vyv18300000)) -> new_primPlusNat0(new_primMulNat0(vyv18300000, Succ(Succ(Succ(Succ(vyv18300000))))), Succ(Succ(Succ(Succ(vyv18300000))))) 248.92/165.31 new_primMulNat4(Zero) -> Zero 248.92/165.31 new_sr10(vyv183) -> error([]) 248.92/165.31 new_sr9(vyv183) -> error([]) 248.92/165.31 248.92/165.31 The set Q consists of the following terms: 248.92/165.31 248.92/165.31 new_rem(Pos(x0), Pos(Succ(x1))) 248.92/165.31 new_quot1(x0, x1, x2, x3, ty_Integer) 248.92/165.31 new_primModNatS1(Succ(Zero), Succ(x0)) 248.92/165.31 new_primMulNat4(Zero) 248.92/165.31 new_gcd1(False, x0, x1) 248.92/165.31 new_primEqInt(Pos(Zero)) 248.92/165.31 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 248.92/165.31 new_rem(Pos(x0), Neg(Succ(x1))) 248.92/165.31 new_rem(Neg(x0), Pos(Succ(x1))) 248.92/165.31 new_sr10(x0) 248.92/165.31 new_quot1(x0, x1, x2, x3, ty_Int) 248.92/165.31 new_sr0(x0, app(ty_Ratio, x1)) 248.92/165.31 new_quot2(x0, x1, x2, x3, ty_Integer) 248.92/165.31 new_primModNatS01(x0, x1, Succ(x2), Zero) 248.92/165.31 new_primMulNat3(Zero) 248.92/165.31 new_primDivNatS02(x0, x1, Succ(x2), Zero) 248.92/165.31 new_quot2(x0, x1, x2, x3, ty_Int) 248.92/165.31 new_gcd2(False, x0, x1) 248.92/165.31 new_primDivNatS1(Succ(Zero), Zero) 248.92/165.31 new_sr0(x0, ty_Double) 248.92/165.31 new_esEs0(x0, ty_Int) 248.92/165.31 new_sr14(Pos(x0), Pos(x1)) 248.92/165.31 new_primMulNat0(Zero, Zero) 248.92/165.31 new_primPlusNat0(Succ(x0), Zero) 248.92/165.31 new_primMulNat2(Zero) 248.92/165.31 new_primModNatS01(x0, x1, Zero, Zero) 248.92/165.31 new_gcd1(True, x0, x1) 248.92/165.31 new_sr14(Pos(x0), Neg(x1)) 248.92/165.31 new_sr14(Neg(x0), Pos(x1)) 248.92/165.31 new_primDivNatS1(Succ(Succ(x0)), Succ(x1)) 248.92/165.31 new_primModNatS1(Zero, x0) 248.92/165.31 new_esEs(Pos(Succ(x0))) 248.92/165.31 new_primMulNat3(Succ(x0)) 248.92/165.31 new_primQuotInt(x0, Neg(Succ(x1))) 248.92/165.31 new_reduce2Reduce1(x0, x1, x2, x3, False, x4) 248.92/165.31 new_primDivNatS1(Zero, x0) 248.92/165.31 new_primDivNatS02(x0, x1, Succ(x2), Succ(x3)) 248.92/165.31 new_primModNatS02(x0, x1) 248.92/165.31 new_primDivNatS1(Succ(Zero), Succ(x0)) 248.92/165.31 new_sr6(Neg(x0)) 248.92/165.31 new_gcd0Gcd'10(True, x0, x1) 248.92/165.31 new_primMulNat0(Succ(x0), Succ(x1)) 248.92/165.31 new_abs(Neg(Zero)) 248.92/165.31 new_rem(Pos(x0), Neg(Zero)) 248.92/165.31 new_rem(Neg(x0), Pos(Zero)) 248.92/165.31 new_primMinusNatS2(Zero, Succ(x0)) 248.92/165.31 new_esEs(Neg(Succ(x0))) 248.92/165.31 new_error 248.92/165.31 new_primModNatS1(Succ(Zero), Zero) 248.92/165.31 new_primMulNat0(Zero, Succ(x0)) 248.92/165.31 new_quot(x0, x1, x2) 248.92/165.31 new_gcd2(True, x0, x1) 248.92/165.31 new_gcd0Gcd'11(True, x0, x1) 248.92/165.31 new_primEqInt(Neg(Zero)) 248.92/165.31 new_primMulNat0(Succ(x0), Zero) 248.92/165.31 new_quot0(Neg(x0), x1, x2) 248.92/165.31 new_primMinusNatS2(Succ(x0), Succ(x1)) 248.92/165.31 new_sr8(x0, x1) 248.92/165.31 new_primDivNatS01(x0, x1) 248.92/165.31 new_primDivNatS02(x0, x1, Zero, Succ(x2)) 248.92/165.31 new_primPlusNat0(Succ(x0), Succ(x1)) 248.92/165.31 new_primPlusNat0(Zero, Zero) 248.92/165.31 new_abs(Neg(Succ(x0))) 248.92/165.31 new_sr7(x0) 248.92/165.31 new_gcd0(x0, x1) 248.92/165.31 new_sr0(x0, ty_Int) 248.92/165.31 new_primQuotInt0(x0, Pos(Succ(x1))) 248.92/165.31 new_sr5(:%(x0, x1), x2) 248.92/165.31 new_primMinusNatS2(Zero, Zero) 248.92/165.31 new_primMulNat1(Succ(x0)) 248.92/165.31 new_sr0(x0, ty_Integer) 248.92/165.31 new_abs(Pos(Succ(x0))) 248.92/165.31 new_esEs(Pos(Zero)) 248.92/165.31 new_primQuotInt0(x0, Pos(Zero)) 248.92/165.31 new_primEqInt(Neg(Succ(x0))) 248.92/165.31 new_primQuotInt(x0, Neg(Zero)) 248.92/165.31 new_primQuotInt0(x0, Neg(Zero)) 248.92/165.31 new_primQuotInt0(x0, Neg(Succ(x1))) 248.92/165.31 new_gcd(x0, x1) 248.92/165.31 new_quot0(Pos(x0), x1, x2) 248.92/165.31 new_primMinusNatS0(x0) 248.92/165.31 new_primPlusNat0(Zero, Succ(x0)) 248.92/165.31 new_primQuotInt(x0, Pos(Succ(x1))) 248.92/165.31 new_primDivNatS1(Succ(Succ(x0)), Zero) 248.92/165.31 new_rem(Pos(x0), Pos(Zero)) 248.92/165.31 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 248.92/165.31 new_primDivNatS02(x0, x1, Zero, Zero) 248.92/165.31 new_abs(Pos(Zero)) 248.92/165.31 new_gcd0Gcd'10(False, x0, x1) 248.92/165.31 new_primMinusNatS1 248.92/165.31 new_esEs1(Integer(x0)) 248.92/165.31 new_primModNatS01(x0, x1, Zero, Succ(x2)) 248.92/165.31 new_primMulNat2(Succ(x0)) 248.92/165.31 new_sr0(x0, ty_Float) 248.92/165.31 new_sr14(Neg(x0), Neg(x1)) 248.92/165.31 new_primMinusNatS2(Succ(x0), Zero) 248.92/165.31 new_sr6(Pos(x0)) 248.92/165.31 new_primMulNat4(Succ(x0)) 248.92/165.31 new_rem(Neg(x0), Neg(Succ(x1))) 248.92/165.31 new_primEqInt(Pos(Succ(x0))) 248.92/165.31 new_primQuotInt(x0, Pos(Zero)) 248.92/165.31 new_gcd0Gcd'11(False, x0, x1) 248.92/165.31 new_sr9(x0) 248.92/165.31 new_primModNatS1(Succ(Succ(x0)), Zero) 248.92/165.31 new_esEs0(x0, ty_Integer) 248.92/165.31 new_gcd0Gcd'00(x0, x1) 248.92/165.31 new_reduce2Reduce1(x0, x1, x2, x3, True, x4) 248.92/165.31 new_esEs(Neg(Zero)) 248.92/165.31 new_primMulNat1(Zero) 248.92/165.31 new_rem(Neg(x0), Neg(Zero)) 248.92/165.31 248.92/165.31 We have to consider all minimal (P,Q,R)-chains. 248.92/165.31 ---------------------------------------- 248.92/165.31 248.92/165.31 (760) MNOCProof (EQUIVALENT) 248.92/165.31 We use the modular non-overlap check [FROCOS05] to decrease Q to the empty set. 248.92/165.31 ---------------------------------------- 248.92/165.31 248.92/165.31 (761) 248.92/165.31 Obligation: 248.92/165.31 Q DP problem: 248.92/165.31 The TRS P consists of the following rules: 248.92/165.31 248.92/165.31 new_pr2F0G(vyv187, vyv183, Neg(Zero), h) -> new_pr2F0G(vyv187, new_sr0(vyv183, h), Neg(Zero), h) 248.92/165.31 248.92/165.31 The TRS R consists of the following rules: 248.92/165.31 248.92/165.31 new_sr0(vyv183, ty_Double) -> new_sr9(vyv183) 248.92/165.31 new_sr0(vyv183, ty_Int) -> new_sr6(vyv183) 248.92/165.31 new_sr0(vyv183, ty_Integer) -> new_sr7(vyv183) 248.92/165.31 new_sr0(vyv183, ty_Float) -> new_sr10(vyv183) 248.92/165.31 new_sr0(vyv183, app(ty_Ratio, bd)) -> new_sr5(vyv183, bd) 248.92/165.31 new_sr5(:%(vyv1830, vyv1831), bd) -> new_reduce2Reduce1(vyv1830, vyv1830, vyv1831, vyv1831, new_esEs0(vyv1831, bd), bd) 248.92/165.31 new_esEs0(vyv1831, ty_Int) -> new_esEs(new_sr6(vyv1831)) 248.92/165.31 new_esEs0(vyv1831, ty_Integer) -> new_esEs1(new_sr7(vyv1831)) 248.92/165.31 new_reduce2Reduce1(vyv264, vyv265, vyv266, vyv267, False, bh) -> :%(new_quot1(vyv264, vyv265, vyv266, vyv267, bh), new_quot2(vyv266, vyv267, vyv264, vyv265, bh)) 248.92/165.31 new_reduce2Reduce1(vyv264, vyv265, vyv266, vyv267, True, bh) -> error([]) 248.92/165.31 new_quot1(vyv264, vyv265, vyv266, vyv267, ty_Int) -> new_quot0(new_sr14(vyv264, vyv265), new_sr14(vyv264, vyv265), new_sr14(vyv266, vyv267)) 248.92/165.31 new_quot1(vyv264, vyv265, vyv266, vyv267, ty_Integer) -> new_quot(new_sr8(vyv264, vyv265), new_sr8(vyv264, vyv265), new_sr8(vyv266, vyv267)) 248.92/165.31 new_quot2(vyv266, vyv267, vyv264, vyv265, ty_Int) -> new_quot0(new_sr14(vyv266, vyv267), new_sr14(vyv264, vyv265), new_sr14(vyv266, vyv267)) 248.92/165.31 new_quot2(vyv266, vyv267, vyv264, vyv265, ty_Integer) -> new_quot(new_sr8(vyv266, vyv267), new_sr8(vyv264, vyv265), new_sr8(vyv266, vyv267)) 248.92/165.31 new_sr8(vyv239, vyv238) -> error([]) 248.92/165.31 new_quot(vyv273, vyv275, vyv274) -> error([]) 248.92/165.31 new_sr14(Pos(vyv2390), Neg(vyv2380)) -> Neg(new_primMulNat0(vyv2390, vyv2380)) 248.92/165.31 new_sr14(Neg(vyv2390), Pos(vyv2380)) -> Neg(new_primMulNat0(vyv2390, vyv2380)) 248.92/165.31 new_sr14(Neg(vyv2390), Neg(vyv2380)) -> Pos(new_primMulNat0(vyv2390, vyv2380)) 248.92/165.31 new_sr14(Pos(vyv2390), Pos(vyv2380)) -> Pos(new_primMulNat0(vyv2390, vyv2380)) 248.92/165.31 new_quot0(Neg(vyv2700), vyv272, vyv271) -> new_primQuotInt0(vyv2700, new_gcd(vyv272, vyv271)) 248.92/165.31 new_quot0(Pos(vyv2700), vyv272, vyv271) -> new_primQuotInt(vyv2700, new_gcd(vyv272, vyv271)) 248.92/165.31 new_gcd(vyv272, vyv271) -> new_gcd2(new_esEs(vyv272), vyv272, vyv271) 248.92/165.31 new_primQuotInt(vyv2700, Pos(Succ(vyv28400))) -> Pos(new_primDivNatS1(vyv2700, vyv28400)) 248.92/165.31 new_primQuotInt(vyv2700, Neg(Zero)) -> new_error 248.92/165.31 new_primQuotInt(vyv2700, Pos(Zero)) -> new_error 248.92/165.31 new_primQuotInt(vyv2700, Neg(Succ(vyv28400))) -> Neg(new_primDivNatS1(vyv2700, vyv28400)) 248.92/165.31 new_primDivNatS1(Zero, vyv28400) -> Zero 248.92/165.31 new_primDivNatS1(Succ(Succ(vyv270000)), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS0(vyv270000), Zero)) 248.92/165.31 new_primDivNatS1(Succ(Zero), Succ(vyv284000)) -> Zero 248.92/165.31 new_primDivNatS1(Succ(Succ(vyv270000)), Succ(vyv284000)) -> new_primDivNatS02(vyv270000, vyv284000, vyv270000, vyv284000) 248.92/165.31 new_primDivNatS1(Succ(Zero), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS1, Zero)) 248.92/165.31 new_primMinusNatS1 -> Zero 248.92/165.31 new_primDivNatS02(vyv310, vyv311, Zero, Zero) -> new_primDivNatS01(vyv310, vyv311) 248.92/165.31 new_primDivNatS02(vyv310, vyv311, Succ(vyv3120), Zero) -> new_primDivNatS01(vyv310, vyv311) 248.92/165.31 new_primDivNatS02(vyv310, vyv311, Zero, Succ(vyv3130)) -> Zero 248.92/165.31 new_primDivNatS02(vyv310, vyv311, Succ(vyv3120), Succ(vyv3130)) -> new_primDivNatS02(vyv310, vyv311, vyv3120, vyv3130) 248.92/165.31 new_primDivNatS01(vyv310, vyv311) -> Succ(new_primDivNatS1(new_primMinusNatS2(vyv310, vyv311), Succ(vyv311))) 248.92/165.31 new_primMinusNatS2(Zero, Succ(vyv3110)) -> Zero 248.92/165.31 new_primMinusNatS2(Succ(vyv3100), Zero) -> Succ(vyv3100) 248.92/165.31 new_primMinusNatS2(Zero, Zero) -> Zero 248.92/165.31 new_primMinusNatS2(Succ(vyv3100), Succ(vyv3110)) -> new_primMinusNatS2(vyv3100, vyv3110) 248.92/165.31 new_primMinusNatS0(vyv270000) -> Succ(vyv270000) 248.92/165.31 new_error -> error([]) 248.92/165.31 new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) 248.92/165.31 new_esEs(Pos(Succ(vyv24100))) -> new_primEqInt(Pos(Succ(vyv24100))) 248.92/165.31 new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) 248.92/165.31 new_esEs(Neg(Succ(vyv24100))) -> new_primEqInt(Neg(Succ(vyv24100))) 248.92/165.31 new_gcd2(True, vyv272, vyv271) -> new_gcd1(new_esEs(vyv271), vyv272, vyv271) 248.92/165.31 new_gcd2(False, vyv272, vyv271) -> new_gcd0(vyv272, vyv271) 248.92/165.31 new_gcd0(vyv272, vyv271) -> new_gcd0Gcd'10(new_esEs(new_abs(vyv271)), vyv272, vyv271) 248.92/165.31 new_abs(Neg(Zero)) -> Neg(Zero) 248.92/165.31 new_abs(Neg(Succ(vyv27100))) -> Pos(Succ(vyv27100)) 248.92/165.31 new_abs(Pos(Succ(vyv27100))) -> Pos(Succ(vyv27100)) 248.92/165.31 new_abs(Pos(Zero)) -> Pos(Zero) 248.92/165.31 new_gcd0Gcd'10(True, vyv272, vyv271) -> new_abs(vyv272) 248.92/165.31 new_gcd0Gcd'10(False, vyv272, vyv271) -> new_gcd0Gcd'00(new_abs(vyv272), new_abs(vyv271)) 248.92/165.31 new_gcd0Gcd'11(False, vyv291, vyv292) -> new_gcd0Gcd'00(vyv291, new_rem(vyv292, vyv291)) 248.92/165.31 new_gcd0Gcd'00(vyv292, vyv291) -> new_gcd0Gcd'11(new_esEs(new_rem(vyv292, vyv291)), vyv291, vyv292) 248.92/165.31 new_rem(Pos(vyv2920), Neg(Zero)) -> new_error 248.92/165.31 new_rem(Neg(vyv2920), Pos(Zero)) -> new_error 248.92/165.31 new_rem(Pos(vyv2920), Neg(Succ(vyv29100))) -> Pos(new_primModNatS1(vyv2920, vyv29100)) 248.92/165.31 new_rem(Neg(vyv2920), Pos(Succ(vyv29100))) -> Neg(new_primModNatS1(vyv2920, vyv29100)) 248.92/165.31 new_rem(Pos(vyv2920), Pos(Succ(vyv29100))) -> Pos(new_primModNatS1(vyv2920, vyv29100)) 248.92/165.31 new_rem(Neg(vyv2920), Neg(Zero)) -> new_error 248.92/165.31 new_rem(Neg(vyv2920), Neg(Succ(vyv29100))) -> Neg(new_primModNatS1(vyv2920, vyv29100)) 248.92/165.31 new_rem(Pos(vyv2920), Pos(Zero)) -> new_error 248.92/165.31 new_gcd0Gcd'11(True, vyv291, vyv292) -> vyv291 248.92/165.31 new_primModNatS1(Succ(Zero), Succ(vyv291000)) -> Succ(Zero) 248.92/165.31 new_primModNatS1(Zero, vyv29100) -> Zero 248.92/165.31 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 248.92/165.31 new_primModNatS1(Succ(Succ(vyv292000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv292000), Zero) 248.92/165.31 new_primModNatS1(Succ(Succ(vyv292000)), Succ(vyv291000)) -> new_primModNatS01(vyv292000, vyv291000, vyv292000, vyv291000) 248.92/165.31 new_primModNatS01(vyv330, vyv331, Zero, Zero) -> new_primModNatS02(vyv330, vyv331) 248.92/165.31 new_primModNatS02(vyv330, vyv331) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv330), Succ(vyv331)), Succ(vyv331)) 248.92/165.31 new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Zero) -> new_primModNatS02(vyv330, vyv331) 248.92/165.31 new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Succ(vyv3330)) -> new_primModNatS01(vyv330, vyv331, vyv3320, vyv3330) 248.92/165.31 new_primModNatS01(vyv330, vyv331, Zero, Succ(vyv3330)) -> Succ(Succ(vyv330)) 248.92/165.31 new_gcd1(True, vyv272, vyv271) -> new_error 248.92/165.31 new_gcd1(False, vyv272, vyv271) -> new_gcd0(vyv272, vyv271) 248.92/165.31 new_primEqInt(Neg(Succ(vyv242000))) -> False 248.92/165.31 new_primEqInt(Pos(Zero)) -> True 248.92/165.31 new_primEqInt(Pos(Succ(vyv242000))) -> False 248.92/165.31 new_primEqInt(Neg(Zero)) -> True 248.92/165.31 new_primQuotInt0(vyv2700, Pos(Succ(vyv28700))) -> Neg(new_primDivNatS1(vyv2700, vyv28700)) 248.92/165.31 new_primQuotInt0(vyv2700, Neg(Zero)) -> new_error 248.92/165.31 new_primQuotInt0(vyv2700, Neg(Succ(vyv28700))) -> Pos(new_primDivNatS1(vyv2700, vyv28700)) 248.92/165.31 new_primQuotInt0(vyv2700, Pos(Zero)) -> new_error 248.92/165.31 new_primMulNat0(Succ(vyv23900), Zero) -> Zero 248.92/165.31 new_primMulNat0(Zero, Succ(vyv23800)) -> Zero 248.92/165.31 new_primMulNat0(Zero, Zero) -> Zero 248.92/165.31 new_primMulNat0(Succ(vyv23900), Succ(vyv23800)) -> new_primPlusNat0(new_primMulNat0(vyv23900, Succ(vyv23800)), Succ(vyv23800)) 248.92/165.31 new_primPlusNat0(Succ(vyv4000), Succ(vyv5000)) -> Succ(Succ(new_primPlusNat0(vyv4000, vyv5000))) 248.92/165.31 new_primPlusNat0(Zero, Succ(vyv5000)) -> Succ(vyv5000) 248.92/165.32 new_primPlusNat0(Zero, Zero) -> Zero 248.92/165.32 new_primPlusNat0(Succ(vyv4000), Zero) -> Succ(vyv4000) 248.92/165.32 new_sr7(vyv183) -> error([]) 248.92/165.32 new_esEs1(Integer(vyv2690)) -> new_primEqInt(vyv2690) 248.92/165.32 new_sr6(Neg(vyv1830)) -> Pos(new_primMulNat1(vyv1830)) 248.92/165.32 new_sr6(Pos(vyv1830)) -> Pos(new_primMulNat1(vyv1830)) 248.92/165.32 new_primMulNat1(Succ(vyv18300)) -> new_primPlusNat0(new_primMulNat2(vyv18300), Succ(vyv18300)) 248.92/165.32 new_primMulNat1(Zero) -> Zero 248.92/165.32 new_primMulNat2(Succ(vyv183000)) -> new_primPlusNat0(new_primMulNat3(vyv183000), Succ(Succ(vyv183000))) 248.92/165.32 new_primMulNat2(Zero) -> Zero 248.92/165.32 new_primMulNat3(Succ(vyv1830000)) -> new_primPlusNat0(new_primMulNat4(vyv1830000), Succ(Succ(Succ(vyv1830000)))) 248.92/165.32 new_primMulNat3(Zero) -> Zero 248.92/165.32 new_primMulNat4(Succ(vyv18300000)) -> new_primPlusNat0(new_primMulNat0(vyv18300000, Succ(Succ(Succ(Succ(vyv18300000))))), Succ(Succ(Succ(Succ(vyv18300000))))) 248.92/165.32 new_primMulNat4(Zero) -> Zero 248.92/165.32 new_sr10(vyv183) -> error([]) 248.92/165.32 new_sr9(vyv183) -> error([]) 248.92/165.32 248.92/165.32 Q is empty. 248.92/165.32 We have to consider all (P,Q,R)-chains. 248.92/165.32 ---------------------------------------- 248.92/165.32 248.92/165.32 (762) NonTerminationLoopProof (COMPLETE) 248.92/165.32 We used the non-termination processor [FROCOS05] to show that the DP problem is infinite. 248.92/165.32 Found a loop by semiunifying a rule from P directly. 248.92/165.32 248.92/165.32 s = new_pr2F0G(vyv187, vyv183, Neg(Zero), h) evaluates to t =new_pr2F0G(vyv187, new_sr0(vyv183, h), Neg(Zero), h) 248.92/165.32 248.92/165.32 Thus s starts an infinite chain as s semiunifies with t with the following substitutions: 248.92/165.32 * Matcher: [vyv183 / new_sr0(vyv183, h)] 248.92/165.32 * Semiunifier: [ ] 248.92/165.32 248.92/165.32 -------------------------------------------------------------------------------- 248.92/165.32 Rewriting sequence 248.92/165.32 248.92/165.32 The DP semiunifies directly so there is only one rewrite step from new_pr2F0G(vyv187, vyv183, Neg(Zero), h) to new_pr2F0G(vyv187, new_sr0(vyv183, h), Neg(Zero), h). 248.92/165.32 248.92/165.32 248.92/165.32 248.92/165.32 248.92/165.32 ---------------------------------------- 248.92/165.32 248.92/165.32 (763) 248.92/165.32 NO 248.92/165.32 248.92/165.32 ---------------------------------------- 248.92/165.32 248.92/165.32 (764) 248.92/165.32 Obligation: 248.92/165.32 Q DP problem: 248.92/165.32 The TRS P consists of the following rules: 248.92/165.32 248.92/165.32 new_pr2F0G10(vyv248, vyv249, vyv250, Succ(Zero), bb) -> new_pr2F0G11(vyv248, vyv249, vyv250, bb) 248.92/165.32 new_pr2F0G11(vyv238, vyv239, vyv240, bc) -> new_pr2F1(vyv239, vyv240, Pos(Succ(Zero)), vyv238, bc) 248.92/165.32 new_pr2F1(vyv239, vyv240, vyv243, vyv238, bc) -> new_pr2F30(new_esEs(new_ms0(vyv240, vyv243)), vyv239, vyv240, vyv243, vyv238, bc) 248.92/165.32 new_pr2F30(False, vyv239, vyv240, vyv243, vyv238, bc) -> new_pr2F0(vyv239, new_ms0(vyv240, vyv243), new_sr4(vyv239, vyv238, bc), bc) 248.92/165.32 new_pr2F0(vyv183, Neg(Succ(Succ(vyv222000))), vyv187, h) -> new_pr2F0G10(vyv187, vyv183, Succ(vyv222000), vyv222000, h) 248.92/165.32 new_pr2F0G10(vyv248, vyv249, vyv250, Succ(Succ(vyv25100)), bb) -> new_pr2F0G10(vyv248, vyv249, vyv250, vyv25100, bb) 248.92/165.32 new_pr2F0G10(vyv248, vyv249, vyv250, Zero, bb) -> new_pr2F0G(vyv248, new_sr3(vyv249, bb), Neg(new_primDivNatS1(Succ(vyv250), Succ(Zero))), bb) 248.92/165.32 new_pr2F0G(vyv187, vyv183, Neg(Succ(Zero)), h) -> new_pr2F0G11(vyv187, vyv183, Zero, h) 248.92/165.32 new_pr2F0G(vyv187, vyv183, Neg(Succ(Succ(vyv222000))), h) -> new_pr2F0G10(vyv187, vyv183, Succ(vyv222000), vyv222000, h) 248.92/165.32 new_pr2F0(vyv183, Neg(Succ(Zero)), vyv187, h) -> new_pr2F0G11(vyv187, vyv183, Zero, h) 248.92/165.32 new_pr2F0(vyv183, Pos(Succ(Succ(vyv222000))), vyv187, h) -> new_pr2F0G1(vyv187, vyv183, Succ(vyv222000), vyv222000, h) 248.92/165.32 new_pr2F0G1(vyv226, vyv227, vyv228, Succ(Succ(vyv22900)), ba) -> new_pr2F0G1(vyv226, vyv227, vyv228, vyv22900, ba) 248.92/165.32 new_pr2F0G1(vyv226, vyv227, vyv228, Succ(Zero), ba) -> new_pr2F(vyv227, vyv228, Pos(Succ(Zero)), vyv226, ba) 248.92/165.32 new_pr2F(vyv227, vyv228, vyv244, vyv226, ba) -> new_pr2F3(new_esEs(new_ms(vyv228, vyv244)), vyv227, vyv228, vyv244, vyv226, ba) 248.92/165.32 new_pr2F3(False, vyv227, vyv228, vyv244, vyv226, ba) -> new_pr2F0(vyv227, new_ms(vyv228, vyv244), new_sr2(vyv227, vyv226, ba), ba) 248.92/165.32 new_pr2F0(vyv183, Pos(Succ(Zero)), vyv187, h) -> new_pr2F(vyv183, Zero, Pos(Succ(Zero)), vyv187, h) 248.92/165.32 new_pr2F0(vyv183, Pos(Zero), vyv187, h) -> new_pr2F0G(vyv187, new_sr(vyv183, h), Pos(new_primDivNatS1(Zero, Succ(Zero))), h) 248.92/165.32 new_pr2F0G(vyv187, vyv183, Pos(Succ(Succ(vyv222000))), h) -> new_pr2F0G1(vyv187, vyv183, Succ(vyv222000), vyv222000, h) 248.92/165.32 new_pr2F0G1(vyv226, vyv227, vyv228, Zero, ba) -> new_pr2F0G(vyv226, new_sr1(vyv227, ba), Pos(new_primDivNatS1(Succ(vyv228), Succ(Zero))), ba) 248.92/165.32 new_pr2F0G(vyv187, vyv183, Pos(Succ(Zero)), h) -> new_pr2F(vyv183, Zero, Pos(Succ(Zero)), vyv187, h) 248.92/165.32 new_pr2F0G(vyv187, vyv183, Pos(Zero), h) -> new_pr2F0G(vyv187, new_sr(vyv183, h), Pos(new_primDivNatS1(Zero, Succ(Zero))), h) 248.92/165.32 248.92/165.32 The TRS R consists of the following rules: 248.92/165.32 248.92/165.32 new_sr(vyv183, ty_Int) -> new_sr6(vyv183) 248.92/165.32 new_sr(vyv183, app(ty_Ratio, bd)) -> new_sr5(vyv183, bd) 248.92/165.32 new_sr(vyv183, ty_Integer) -> new_sr7(vyv183) 248.92/165.32 new_sr(vyv183, ty_Float) -> new_sr10(vyv183) 248.92/165.32 new_sr(vyv183, ty_Double) -> new_sr9(vyv183) 248.92/165.32 new_primQuotInt(vyv2700, Pos(Succ(vyv28400))) -> Pos(new_primDivNatS1(vyv2700, vyv28400)) 248.92/165.32 new_primDivNatS1(Zero, vyv28400) -> Zero 248.92/165.32 new_primDivNatS1(Succ(Succ(vyv270000)), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS0(vyv270000), Zero)) 248.92/165.32 new_primDivNatS1(Succ(Zero), Succ(vyv284000)) -> Zero 248.92/165.32 new_primDivNatS1(Succ(Succ(vyv270000)), Succ(vyv284000)) -> new_primDivNatS02(vyv270000, vyv284000, vyv270000, vyv284000) 248.92/165.32 new_primDivNatS1(Succ(Zero), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS1, Zero)) 248.92/165.32 new_primMinusNatS1 -> Zero 248.92/165.32 new_primDivNatS02(vyv310, vyv311, Zero, Zero) -> new_primDivNatS01(vyv310, vyv311) 248.92/165.32 new_primDivNatS02(vyv310, vyv311, Succ(vyv3120), Zero) -> new_primDivNatS01(vyv310, vyv311) 248.92/165.32 new_primDivNatS02(vyv310, vyv311, Zero, Succ(vyv3130)) -> Zero 248.92/165.32 new_primDivNatS02(vyv310, vyv311, Succ(vyv3120), Succ(vyv3130)) -> new_primDivNatS02(vyv310, vyv311, vyv3120, vyv3130) 248.92/165.32 new_primDivNatS01(vyv310, vyv311) -> Succ(new_primDivNatS1(new_primMinusNatS2(vyv310, vyv311), Succ(vyv311))) 248.92/165.32 new_primMinusNatS2(Zero, Succ(vyv3110)) -> Zero 248.92/165.32 new_primMinusNatS2(Succ(vyv3100), Zero) -> Succ(vyv3100) 248.92/165.32 new_primMinusNatS2(Zero, Zero) -> Zero 248.92/165.32 new_primMinusNatS2(Succ(vyv3100), Succ(vyv3110)) -> new_primMinusNatS2(vyv3100, vyv3110) 248.92/165.32 new_primMinusNatS0(vyv270000) -> Succ(vyv270000) 248.92/165.32 new_sr9(vyv183) -> error([]) 248.92/165.32 new_sr10(vyv183) -> error([]) 248.92/165.32 new_sr7(vyv183) -> error([]) 248.92/165.32 new_sr5(:%(vyv1830, vyv1831), bd) -> new_reduce2Reduce1(vyv1830, vyv1830, vyv1831, vyv1831, new_esEs0(vyv1831, bd), bd) 248.92/165.32 new_esEs0(vyv1831, ty_Int) -> new_esEs(new_sr6(vyv1831)) 248.92/165.32 new_esEs0(vyv1831, ty_Integer) -> new_esEs1(new_sr7(vyv1831)) 248.92/165.32 new_reduce2Reduce1(vyv264, vyv265, vyv266, vyv267, False, bh) -> :%(new_quot1(vyv264, vyv265, vyv266, vyv267, bh), new_quot2(vyv266, vyv267, vyv264, vyv265, bh)) 248.92/165.32 new_reduce2Reduce1(vyv264, vyv265, vyv266, vyv267, True, bh) -> error([]) 248.92/165.32 new_quot1(vyv264, vyv265, vyv266, vyv267, ty_Int) -> new_quot0(new_sr14(vyv264, vyv265), new_sr14(vyv264, vyv265), new_sr14(vyv266, vyv267)) 248.92/165.32 new_quot1(vyv264, vyv265, vyv266, vyv267, ty_Integer) -> new_quot(new_sr8(vyv264, vyv265), new_sr8(vyv264, vyv265), new_sr8(vyv266, vyv267)) 248.92/165.32 new_quot2(vyv266, vyv267, vyv264, vyv265, ty_Int) -> new_quot0(new_sr14(vyv266, vyv267), new_sr14(vyv264, vyv265), new_sr14(vyv266, vyv267)) 248.92/165.32 new_quot2(vyv266, vyv267, vyv264, vyv265, ty_Integer) -> new_quot(new_sr8(vyv266, vyv267), new_sr8(vyv264, vyv265), new_sr8(vyv266, vyv267)) 248.92/165.32 new_sr8(vyv239, vyv238) -> error([]) 248.92/165.32 new_quot(vyv273, vyv275, vyv274) -> error([]) 248.92/165.32 new_sr14(Pos(vyv2390), Neg(vyv2380)) -> Neg(new_primMulNat0(vyv2390, vyv2380)) 248.92/165.32 new_sr14(Neg(vyv2390), Pos(vyv2380)) -> Neg(new_primMulNat0(vyv2390, vyv2380)) 248.92/165.32 new_sr14(Neg(vyv2390), Neg(vyv2380)) -> Pos(new_primMulNat0(vyv2390, vyv2380)) 248.92/165.32 new_sr14(Pos(vyv2390), Pos(vyv2380)) -> Pos(new_primMulNat0(vyv2390, vyv2380)) 248.92/165.32 new_quot0(Neg(vyv2700), vyv272, vyv271) -> new_primQuotInt0(vyv2700, new_gcd(vyv272, vyv271)) 248.92/165.32 new_quot0(Pos(vyv2700), vyv272, vyv271) -> new_primQuotInt(vyv2700, new_gcd(vyv272, vyv271)) 248.92/165.32 new_gcd(vyv272, vyv271) -> new_gcd2(new_esEs(vyv272), vyv272, vyv271) 248.92/165.32 new_primQuotInt(vyv2700, Neg(Zero)) -> new_error 248.92/165.32 new_primQuotInt(vyv2700, Pos(Zero)) -> new_error 248.92/165.32 new_primQuotInt(vyv2700, Neg(Succ(vyv28400))) -> Neg(new_primDivNatS1(vyv2700, vyv28400)) 248.92/165.32 new_error -> error([]) 248.92/165.32 new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) 248.92/165.32 new_esEs(Pos(Succ(vyv24100))) -> new_primEqInt(Pos(Succ(vyv24100))) 248.92/165.32 new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) 248.92/165.32 new_esEs(Neg(Succ(vyv24100))) -> new_primEqInt(Neg(Succ(vyv24100))) 248.92/165.32 new_gcd2(True, vyv272, vyv271) -> new_gcd1(new_esEs(vyv271), vyv272, vyv271) 248.92/165.32 new_gcd2(False, vyv272, vyv271) -> new_gcd0(vyv272, vyv271) 248.92/165.32 new_gcd0(vyv272, vyv271) -> new_gcd0Gcd'10(new_esEs(new_abs(vyv271)), vyv272, vyv271) 248.92/165.32 new_abs(Neg(Zero)) -> Neg(Zero) 248.92/165.32 new_abs(Neg(Succ(vyv27100))) -> Pos(Succ(vyv27100)) 248.92/165.32 new_abs(Pos(Succ(vyv27100))) -> Pos(Succ(vyv27100)) 248.92/165.32 new_abs(Pos(Zero)) -> Pos(Zero) 248.92/165.32 new_gcd0Gcd'10(True, vyv272, vyv271) -> new_abs(vyv272) 248.92/165.32 new_gcd0Gcd'10(False, vyv272, vyv271) -> new_gcd0Gcd'00(new_abs(vyv272), new_abs(vyv271)) 248.92/165.32 new_gcd0Gcd'00(vyv292, vyv291) -> new_gcd0Gcd'11(new_esEs(new_rem(vyv292, vyv291)), vyv291, vyv292) 248.92/165.32 new_gcd0Gcd'11(False, vyv291, vyv292) -> new_gcd0Gcd'00(vyv291, new_rem(vyv292, vyv291)) 248.92/165.32 new_rem(Pos(vyv2920), Neg(Zero)) -> new_error 248.92/165.32 new_rem(Neg(vyv2920), Pos(Zero)) -> new_error 248.92/165.32 new_rem(Pos(vyv2920), Neg(Succ(vyv29100))) -> Pos(new_primModNatS1(vyv2920, vyv29100)) 248.92/165.32 new_rem(Neg(vyv2920), Pos(Succ(vyv29100))) -> Neg(new_primModNatS1(vyv2920, vyv29100)) 248.92/165.32 new_rem(Pos(vyv2920), Pos(Succ(vyv29100))) -> Pos(new_primModNatS1(vyv2920, vyv29100)) 248.92/165.32 new_rem(Neg(vyv2920), Neg(Zero)) -> new_error 248.92/165.32 new_rem(Neg(vyv2920), Neg(Succ(vyv29100))) -> Neg(new_primModNatS1(vyv2920, vyv29100)) 248.92/165.32 new_rem(Pos(vyv2920), Pos(Zero)) -> new_error 248.92/165.32 new_gcd0Gcd'11(True, vyv291, vyv292) -> vyv291 248.92/165.32 new_primModNatS1(Succ(Zero), Succ(vyv291000)) -> Succ(Zero) 248.92/165.32 new_primModNatS1(Zero, vyv29100) -> Zero 248.92/165.32 new_primModNatS1(Succ(Succ(vyv292000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv292000), Zero) 248.92/165.32 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 248.92/165.32 new_primModNatS1(Succ(Succ(vyv292000)), Succ(vyv291000)) -> new_primModNatS01(vyv292000, vyv291000, vyv292000, vyv291000) 248.92/165.32 new_primModNatS01(vyv330, vyv331, Zero, Zero) -> new_primModNatS02(vyv330, vyv331) 248.92/165.32 new_primModNatS02(vyv330, vyv331) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv330), Succ(vyv331)), Succ(vyv331)) 248.92/165.32 new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Zero) -> new_primModNatS02(vyv330, vyv331) 248.92/165.32 new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Succ(vyv3330)) -> new_primModNatS01(vyv330, vyv331, vyv3320, vyv3330) 248.92/165.32 new_primModNatS01(vyv330, vyv331, Zero, Succ(vyv3330)) -> Succ(Succ(vyv330)) 248.92/165.32 new_gcd1(True, vyv272, vyv271) -> new_error 248.92/165.32 new_gcd1(False, vyv272, vyv271) -> new_gcd0(vyv272, vyv271) 248.92/165.32 new_primEqInt(Neg(Succ(vyv242000))) -> False 248.92/165.32 new_primEqInt(Pos(Zero)) -> True 248.92/165.32 new_primEqInt(Pos(Succ(vyv242000))) -> False 248.92/165.32 new_primEqInt(Neg(Zero)) -> True 248.92/165.32 new_primQuotInt0(vyv2700, Pos(Succ(vyv28700))) -> Neg(new_primDivNatS1(vyv2700, vyv28700)) 248.92/165.32 new_primQuotInt0(vyv2700, Neg(Zero)) -> new_error 248.92/165.32 new_primQuotInt0(vyv2700, Neg(Succ(vyv28700))) -> Pos(new_primDivNatS1(vyv2700, vyv28700)) 248.92/165.32 new_primQuotInt0(vyv2700, Pos(Zero)) -> new_error 248.92/165.32 new_primMulNat0(Succ(vyv23900), Zero) -> Zero 248.92/165.32 new_primMulNat0(Zero, Succ(vyv23800)) -> Zero 248.92/165.32 new_primMulNat0(Zero, Zero) -> Zero 248.92/165.32 new_primMulNat0(Succ(vyv23900), Succ(vyv23800)) -> new_primPlusNat0(new_primMulNat0(vyv23900, Succ(vyv23800)), Succ(vyv23800)) 248.92/165.32 new_primPlusNat0(Succ(vyv4000), Succ(vyv5000)) -> Succ(Succ(new_primPlusNat0(vyv4000, vyv5000))) 248.92/165.32 new_primPlusNat0(Zero, Succ(vyv5000)) -> Succ(vyv5000) 248.92/165.32 new_primPlusNat0(Zero, Zero) -> Zero 248.92/165.32 new_primPlusNat0(Succ(vyv4000), Zero) -> Succ(vyv4000) 248.92/165.32 new_esEs1(Integer(vyv2690)) -> new_primEqInt(vyv2690) 248.92/165.32 new_sr6(Neg(vyv1830)) -> Pos(new_primMulNat1(vyv1830)) 248.92/165.32 new_sr6(Pos(vyv1830)) -> Pos(new_primMulNat1(vyv1830)) 248.92/165.32 new_primMulNat1(Succ(vyv18300)) -> new_primPlusNat0(new_primMulNat2(vyv18300), Succ(vyv18300)) 248.92/165.32 new_primMulNat1(Zero) -> Zero 248.92/165.32 new_primMulNat2(Succ(vyv183000)) -> new_primPlusNat0(new_primMulNat3(vyv183000), Succ(Succ(vyv183000))) 248.92/165.32 new_primMulNat2(Zero) -> Zero 248.92/165.32 new_primMulNat3(Succ(vyv1830000)) -> new_primPlusNat0(new_primMulNat4(vyv1830000), Succ(Succ(Succ(vyv1830000)))) 248.92/165.32 new_primMulNat3(Zero) -> Zero 248.92/165.32 new_primMulNat4(Succ(vyv18300000)) -> new_primPlusNat0(new_primMulNat0(vyv18300000, Succ(Succ(Succ(Succ(vyv18300000))))), Succ(Succ(Succ(Succ(vyv18300000))))) 248.92/165.32 new_primMulNat4(Zero) -> Zero 248.92/165.32 new_sr1(vyv227, ty_Int) -> new_sr6(vyv227) 248.92/165.32 new_sr1(vyv227, ty_Integer) -> new_sr7(vyv227) 248.92/165.32 new_sr1(vyv227, app(ty_Ratio, be)) -> new_sr5(vyv227, be) 248.92/165.32 new_sr1(vyv227, ty_Float) -> new_sr10(vyv227) 248.92/165.32 new_sr1(vyv227, ty_Double) -> new_sr9(vyv227) 248.92/165.32 new_sr3(vyv249, ty_Float) -> new_sr10(vyv249) 248.92/165.32 new_sr3(vyv249, ty_Double) -> new_sr9(vyv249) 248.92/165.32 new_sr3(vyv249, ty_Int) -> new_sr6(vyv249) 248.92/165.32 new_sr3(vyv249, ty_Integer) -> new_sr7(vyv249) 248.92/165.32 new_sr3(vyv249, app(ty_Ratio, bg)) -> new_sr5(vyv249, bg) 248.92/165.32 new_sr0(vyv183, ty_Double) -> new_sr9(vyv183) 248.92/165.32 new_sr0(vyv183, ty_Int) -> new_sr6(vyv183) 248.92/165.32 new_sr0(vyv183, ty_Integer) -> new_sr7(vyv183) 248.92/165.32 new_sr0(vyv183, ty_Float) -> new_sr10(vyv183) 248.92/165.32 new_sr0(vyv183, app(ty_Ratio, bd)) -> new_sr5(vyv183, bd) 248.92/165.32 new_ms0(vyv240, Neg(Zero)) -> Neg(Succ(vyv240)) 248.92/165.32 new_ms0(vyv240, Pos(vyv2430)) -> Neg(new_primPlusNat0(Succ(vyv240), vyv2430)) 248.92/165.32 new_ms0(vyv240, Neg(Succ(vyv24300))) -> new_primMinusNat0(vyv24300, vyv240) 248.92/165.32 new_sr4(vyv239, vyv238, app(ty_Ratio, bf)) -> new_sr12(vyv239, vyv238, bf) 248.92/165.32 new_sr4(vyv239, vyv238, ty_Integer) -> new_sr8(vyv239, vyv238) 248.92/165.32 new_sr4(vyv239, vyv238, ty_Int) -> new_sr14(vyv239, vyv238) 248.92/165.32 new_sr4(vyv239, vyv238, ty_Double) -> new_sr11(vyv239, vyv238) 248.92/165.32 new_sr4(vyv239, vyv238, ty_Float) -> new_sr13(vyv239, vyv238) 248.92/165.32 new_sr13(vyv239, vyv238) -> error([]) 248.92/165.32 new_sr11(vyv239, vyv238) -> error([]) 248.92/165.32 new_sr12(:%(vyv2390, vyv2391), :%(vyv2380, vyv2381), bf) -> new_reduce2Reduce1(vyv2390, vyv2380, vyv2391, vyv2381, new_esEs2(vyv2391, vyv2381, bf), bf) 248.92/165.32 new_esEs2(vyv2391, vyv2381, ty_Int) -> new_esEs(new_sr14(vyv2391, vyv2381)) 248.92/165.32 new_esEs2(vyv2391, vyv2381, ty_Integer) -> new_esEs1(new_sr8(vyv2391, vyv2381)) 248.92/165.32 new_primMinusNat0(Succ(vyv2280), Succ(vyv244000)) -> new_primMinusNat0(vyv2280, vyv244000) 248.92/165.32 new_primMinusNat0(Zero, Zero) -> Pos(Zero) 248.92/165.32 new_primMinusNat0(Zero, Succ(vyv244000)) -> Neg(Succ(vyv244000)) 248.92/165.32 new_primMinusNat0(Succ(vyv2280), Zero) -> Pos(Succ(vyv2280)) 248.92/165.32 new_ms(vyv228, Neg(vyv2440)) -> Pos(new_primPlusNat0(Succ(vyv228), vyv2440)) 248.92/165.32 new_ms(vyv228, Pos(Succ(vyv24400))) -> new_primMinusNat0(vyv228, vyv24400) 248.92/165.32 new_ms(vyv228, Pos(Zero)) -> Pos(Succ(vyv228)) 248.92/165.32 new_sr2(vyv227, vyv226, ty_Int) -> new_sr14(vyv227, vyv226) 248.92/165.32 new_sr2(vyv227, vyv226, ty_Double) -> new_sr11(vyv227, vyv226) 248.92/165.32 new_sr2(vyv227, vyv226, ty_Integer) -> new_sr8(vyv227, vyv226) 248.92/165.32 new_sr2(vyv227, vyv226, ty_Float) -> new_sr13(vyv227, vyv226) 248.92/165.32 new_sr2(vyv227, vyv226, app(ty_Ratio, be)) -> new_sr12(vyv227, vyv226, be) 248.92/165.32 248.92/165.32 The set Q consists of the following terms: 248.92/165.32 248.92/165.32 new_rem(Pos(x0), Pos(Succ(x1))) 248.92/165.32 new_quot1(x0, x1, x2, x3, ty_Integer) 248.92/165.32 new_primModNatS1(Succ(Zero), Succ(x0)) 248.92/165.32 new_ms0(x0, Pos(x1)) 248.92/165.32 new_sr(x0, app(ty_Ratio, x1)) 248.92/165.32 new_primMulNat4(Zero) 248.92/165.32 new_gcd1(False, x0, x1) 248.92/165.32 new_primEqInt(Pos(Zero)) 248.92/165.32 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 248.92/165.32 new_rem(Pos(x0), Neg(Succ(x1))) 248.92/165.32 new_rem(Neg(x0), Pos(Succ(x1))) 248.92/165.32 new_sr10(x0) 248.92/165.32 new_quot1(x0, x1, x2, x3, ty_Int) 248.92/165.32 new_sr0(x0, app(ty_Ratio, x1)) 248.92/165.32 new_quot2(x0, x1, x2, x3, ty_Integer) 248.92/165.32 new_primModNatS01(x0, x1, Succ(x2), Zero) 248.92/165.32 new_sr3(x0, ty_Integer) 248.92/165.32 new_primMulNat3(Zero) 248.92/165.32 new_primDivNatS02(x0, x1, Succ(x2), Zero) 248.92/165.32 new_sr(x0, ty_Float) 248.92/165.32 new_quot2(x0, x1, x2, x3, ty_Int) 248.92/165.32 new_gcd2(False, x0, x1) 248.92/165.32 new_primDivNatS1(Succ(Zero), Zero) 248.92/165.32 new_sr0(x0, ty_Double) 248.92/165.32 new_esEs0(x0, ty_Int) 248.92/165.32 new_sr14(Pos(x0), Pos(x1)) 248.92/165.32 new_sr3(x0, ty_Int) 248.92/165.32 new_primMulNat0(Zero, Zero) 248.92/165.32 new_sr4(x0, x1, ty_Double) 248.92/165.32 new_primPlusNat0(Succ(x0), Zero) 248.92/165.32 new_primMulNat2(Zero) 248.92/165.32 new_sr11(x0, x1) 248.92/165.32 new_primModNatS01(x0, x1, Zero, Zero) 248.92/165.32 new_esEs2(x0, x1, ty_Int) 248.92/165.32 new_gcd1(True, x0, x1) 248.92/165.32 new_sr13(x0, x1) 248.92/165.32 new_sr14(Pos(x0), Neg(x1)) 248.92/165.32 new_sr14(Neg(x0), Pos(x1)) 248.92/165.32 new_primDivNatS1(Succ(Succ(x0)), Succ(x1)) 248.92/165.32 new_sr1(x0, ty_Int) 248.92/165.32 new_primModNatS1(Zero, x0) 248.92/165.32 new_esEs(Pos(Succ(x0))) 248.92/165.32 new_primMulNat3(Succ(x0)) 248.92/165.32 new_sr1(x0, app(ty_Ratio, x1)) 248.92/165.32 new_primQuotInt(x0, Neg(Succ(x1))) 248.92/165.32 new_reduce2Reduce1(x0, x1, x2, x3, False, x4) 248.92/165.32 new_primMinusNat0(Zero, Zero) 248.92/165.32 new_primDivNatS1(Zero, x0) 248.92/165.32 new_primDivNatS02(x0, x1, Succ(x2), Succ(x3)) 248.92/165.32 new_primModNatS02(x0, x1) 248.92/165.32 new_primDivNatS1(Succ(Zero), Succ(x0)) 248.92/165.32 new_sr6(Neg(x0)) 248.92/165.32 new_gcd0Gcd'10(True, x0, x1) 248.92/165.32 new_primMulNat0(Succ(x0), Succ(x1)) 248.92/165.32 new_abs(Neg(Zero)) 248.92/165.32 new_ms(x0, Neg(x1)) 248.92/165.32 new_rem(Pos(x0), Neg(Zero)) 248.92/165.32 new_rem(Neg(x0), Pos(Zero)) 248.92/165.32 new_primMinusNatS2(Zero, Succ(x0)) 248.92/165.32 new_esEs(Neg(Succ(x0))) 248.92/165.32 new_error 248.92/165.32 new_primModNatS1(Succ(Zero), Zero) 248.92/165.32 new_primMulNat0(Zero, Succ(x0)) 248.92/165.32 new_sr3(x0, ty_Float) 248.92/165.32 new_quot(x0, x1, x2) 248.92/165.32 new_gcd2(True, x0, x1) 248.92/165.32 new_gcd0Gcd'11(True, x0, x1) 248.92/165.32 new_primEqInt(Neg(Zero)) 248.92/165.32 new_sr2(x0, x1, ty_Double) 248.92/165.32 new_primMulNat0(Succ(x0), Zero) 248.92/165.32 new_quot0(Neg(x0), x1, x2) 248.92/165.32 new_primMinusNatS2(Succ(x0), Succ(x1)) 248.92/165.32 new_sr4(x0, x1, app(ty_Ratio, x2)) 248.92/165.32 new_sr8(x0, x1) 248.92/165.32 new_primDivNatS01(x0, x1) 248.92/165.32 new_primDivNatS02(x0, x1, Zero, Succ(x2)) 248.92/165.32 new_primPlusNat0(Succ(x0), Succ(x1)) 248.92/165.32 new_sr1(x0, ty_Integer) 248.92/165.32 new_primPlusNat0(Zero, Zero) 248.92/165.32 new_sr1(x0, ty_Float) 248.92/165.32 new_primMinusNat0(Succ(x0), Succ(x1)) 248.92/165.32 new_sr12(:%(x0, x1), :%(x2, x3), x4) 248.92/165.32 new_abs(Neg(Succ(x0))) 248.92/165.32 new_sr1(x0, ty_Double) 248.92/165.32 new_sr3(x0, app(ty_Ratio, x1)) 248.92/165.32 new_sr7(x0) 248.92/165.32 new_gcd0(x0, x1) 248.92/165.32 new_sr(x0, ty_Integer) 248.92/165.32 new_sr0(x0, ty_Int) 248.92/165.32 new_primQuotInt0(x0, Pos(Succ(x1))) 248.92/165.32 new_sr4(x0, x1, ty_Integer) 248.92/165.32 new_sr5(:%(x0, x1), x2) 248.92/165.32 new_primMinusNatS2(Zero, Zero) 248.92/165.32 new_primMulNat1(Succ(x0)) 248.92/165.32 new_sr0(x0, ty_Integer) 248.92/165.32 new_ms(x0, Pos(Zero)) 248.92/165.32 new_abs(Pos(Succ(x0))) 248.92/165.32 new_sr4(x0, x1, ty_Int) 248.92/165.32 new_esEs(Pos(Zero)) 248.92/165.32 new_primQuotInt0(x0, Pos(Zero)) 248.92/165.32 new_sr(x0, ty_Int) 248.92/165.32 new_primEqInt(Neg(Succ(x0))) 248.92/165.32 new_primQuotInt(x0, Neg(Zero)) 248.92/165.32 new_primQuotInt0(x0, Neg(Zero)) 248.92/165.32 new_primQuotInt0(x0, Neg(Succ(x1))) 248.92/165.32 new_gcd(x0, x1) 248.92/165.32 new_quot0(Pos(x0), x1, x2) 248.92/165.32 new_primMinusNatS0(x0) 248.92/165.32 new_primPlusNat0(Zero, Succ(x0)) 248.92/165.32 new_sr2(x0, x1, app(ty_Ratio, x2)) 248.92/165.32 new_sr2(x0, x1, ty_Int) 248.92/165.32 new_primQuotInt(x0, Pos(Succ(x1))) 248.92/165.32 new_primDivNatS1(Succ(Succ(x0)), Zero) 248.92/165.32 new_rem(Pos(x0), Pos(Zero)) 248.92/165.32 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 248.92/165.32 new_primDivNatS02(x0, x1, Zero, Zero) 248.92/165.32 new_abs(Pos(Zero)) 248.92/165.32 new_gcd0Gcd'10(False, x0, x1) 248.92/165.32 new_ms(x0, Pos(Succ(x1))) 248.92/165.32 new_primMinusNatS1 248.92/165.32 new_esEs1(Integer(x0)) 248.92/165.32 new_ms0(x0, Neg(Zero)) 248.92/165.32 new_primMinusNat0(Succ(x0), Zero) 248.92/165.32 new_ms0(x0, Neg(Succ(x1))) 248.92/165.32 new_sr2(x0, x1, ty_Integer) 248.92/165.32 new_primModNatS01(x0, x1, Zero, Succ(x2)) 248.92/165.32 new_primMulNat2(Succ(x0)) 248.92/165.32 new_sr0(x0, ty_Float) 248.92/165.32 new_sr14(Neg(x0), Neg(x1)) 248.92/165.32 new_sr2(x0, x1, ty_Float) 248.92/165.32 new_primMinusNatS2(Succ(x0), Zero) 248.92/165.32 new_sr4(x0, x1, ty_Float) 248.92/165.32 new_sr6(Pos(x0)) 248.92/165.32 new_esEs2(x0, x1, ty_Integer) 248.92/165.32 new_primMulNat4(Succ(x0)) 248.92/165.32 new_rem(Neg(x0), Neg(Succ(x1))) 248.92/165.32 new_primEqInt(Pos(Succ(x0))) 248.92/165.32 new_primQuotInt(x0, Pos(Zero)) 248.92/165.32 new_gcd0Gcd'11(False, x0, x1) 248.92/165.32 new_sr9(x0) 248.92/165.32 new_primModNatS1(Succ(Succ(x0)), Zero) 248.92/165.32 new_sr(x0, ty_Double) 248.92/165.32 new_esEs0(x0, ty_Integer) 248.92/165.32 new_gcd0Gcd'00(x0, x1) 248.92/165.32 new_reduce2Reduce1(x0, x1, x2, x3, True, x4) 248.92/165.32 new_sr3(x0, ty_Double) 248.92/165.32 new_esEs(Neg(Zero)) 248.92/165.32 new_primMulNat1(Zero) 248.92/165.32 new_primMinusNat0(Zero, Succ(x0)) 248.92/165.32 new_rem(Neg(x0), Neg(Zero)) 248.92/165.32 248.92/165.32 We have to consider all minimal (P,Q,R)-chains. 248.92/165.32 ---------------------------------------- 248.92/165.32 248.92/165.32 (765) UsableRulesProof (EQUIVALENT) 248.92/165.32 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. 248.92/165.32 ---------------------------------------- 248.92/165.32 248.92/165.32 (766) 248.92/165.32 Obligation: 248.92/165.32 Q DP problem: 248.92/165.32 The TRS P consists of the following rules: 248.92/165.32 248.92/165.32 new_pr2F0G10(vyv248, vyv249, vyv250, Succ(Zero), bb) -> new_pr2F0G11(vyv248, vyv249, vyv250, bb) 248.92/165.32 new_pr2F0G11(vyv238, vyv239, vyv240, bc) -> new_pr2F1(vyv239, vyv240, Pos(Succ(Zero)), vyv238, bc) 248.92/165.32 new_pr2F1(vyv239, vyv240, vyv243, vyv238, bc) -> new_pr2F30(new_esEs(new_ms0(vyv240, vyv243)), vyv239, vyv240, vyv243, vyv238, bc) 248.92/165.32 new_pr2F30(False, vyv239, vyv240, vyv243, vyv238, bc) -> new_pr2F0(vyv239, new_ms0(vyv240, vyv243), new_sr4(vyv239, vyv238, bc), bc) 248.92/165.32 new_pr2F0(vyv183, Neg(Succ(Succ(vyv222000))), vyv187, h) -> new_pr2F0G10(vyv187, vyv183, Succ(vyv222000), vyv222000, h) 248.92/165.32 new_pr2F0G10(vyv248, vyv249, vyv250, Succ(Succ(vyv25100)), bb) -> new_pr2F0G10(vyv248, vyv249, vyv250, vyv25100, bb) 248.92/165.32 new_pr2F0G10(vyv248, vyv249, vyv250, Zero, bb) -> new_pr2F0G(vyv248, new_sr3(vyv249, bb), Neg(new_primDivNatS1(Succ(vyv250), Succ(Zero))), bb) 248.92/165.32 new_pr2F0G(vyv187, vyv183, Neg(Succ(Zero)), h) -> new_pr2F0G11(vyv187, vyv183, Zero, h) 248.92/165.32 new_pr2F0G(vyv187, vyv183, Neg(Succ(Succ(vyv222000))), h) -> new_pr2F0G10(vyv187, vyv183, Succ(vyv222000), vyv222000, h) 248.92/165.32 new_pr2F0(vyv183, Neg(Succ(Zero)), vyv187, h) -> new_pr2F0G11(vyv187, vyv183, Zero, h) 248.92/165.32 new_pr2F0(vyv183, Pos(Succ(Succ(vyv222000))), vyv187, h) -> new_pr2F0G1(vyv187, vyv183, Succ(vyv222000), vyv222000, h) 248.92/165.32 new_pr2F0G1(vyv226, vyv227, vyv228, Succ(Succ(vyv22900)), ba) -> new_pr2F0G1(vyv226, vyv227, vyv228, vyv22900, ba) 248.92/165.32 new_pr2F0G1(vyv226, vyv227, vyv228, Succ(Zero), ba) -> new_pr2F(vyv227, vyv228, Pos(Succ(Zero)), vyv226, ba) 248.92/165.32 new_pr2F(vyv227, vyv228, vyv244, vyv226, ba) -> new_pr2F3(new_esEs(new_ms(vyv228, vyv244)), vyv227, vyv228, vyv244, vyv226, ba) 248.92/165.32 new_pr2F3(False, vyv227, vyv228, vyv244, vyv226, ba) -> new_pr2F0(vyv227, new_ms(vyv228, vyv244), new_sr2(vyv227, vyv226, ba), ba) 248.92/165.32 new_pr2F0(vyv183, Pos(Succ(Zero)), vyv187, h) -> new_pr2F(vyv183, Zero, Pos(Succ(Zero)), vyv187, h) 248.92/165.32 new_pr2F0(vyv183, Pos(Zero), vyv187, h) -> new_pr2F0G(vyv187, new_sr(vyv183, h), Pos(new_primDivNatS1(Zero, Succ(Zero))), h) 248.92/165.32 new_pr2F0G(vyv187, vyv183, Pos(Succ(Succ(vyv222000))), h) -> new_pr2F0G1(vyv187, vyv183, Succ(vyv222000), vyv222000, h) 248.92/165.32 new_pr2F0G1(vyv226, vyv227, vyv228, Zero, ba) -> new_pr2F0G(vyv226, new_sr1(vyv227, ba), Pos(new_primDivNatS1(Succ(vyv228), Succ(Zero))), ba) 248.92/165.32 new_pr2F0G(vyv187, vyv183, Pos(Succ(Zero)), h) -> new_pr2F(vyv183, Zero, Pos(Succ(Zero)), vyv187, h) 248.92/165.32 new_pr2F0G(vyv187, vyv183, Pos(Zero), h) -> new_pr2F0G(vyv187, new_sr(vyv183, h), Pos(new_primDivNatS1(Zero, Succ(Zero))), h) 248.92/165.32 248.92/165.32 The TRS R consists of the following rules: 248.92/165.32 248.92/165.32 new_sr(vyv183, ty_Int) -> new_sr6(vyv183) 248.92/165.32 new_sr(vyv183, app(ty_Ratio, bd)) -> new_sr5(vyv183, bd) 248.92/165.32 new_sr(vyv183, ty_Integer) -> new_sr7(vyv183) 248.92/165.32 new_sr(vyv183, ty_Float) -> new_sr10(vyv183) 248.92/165.32 new_sr(vyv183, ty_Double) -> new_sr9(vyv183) 248.92/165.32 new_primDivNatS1(Zero, vyv28400) -> Zero 248.92/165.32 new_sr9(vyv183) -> error([]) 248.92/165.32 new_sr10(vyv183) -> error([]) 248.92/165.32 new_sr7(vyv183) -> error([]) 248.92/165.32 new_sr5(:%(vyv1830, vyv1831), bd) -> new_reduce2Reduce1(vyv1830, vyv1830, vyv1831, vyv1831, new_esEs0(vyv1831, bd), bd) 248.92/165.32 new_esEs0(vyv1831, ty_Int) -> new_esEs(new_sr6(vyv1831)) 248.92/165.32 new_esEs0(vyv1831, ty_Integer) -> new_esEs1(new_sr7(vyv1831)) 248.92/165.32 new_reduce2Reduce1(vyv264, vyv265, vyv266, vyv267, False, bh) -> :%(new_quot1(vyv264, vyv265, vyv266, vyv267, bh), new_quot2(vyv266, vyv267, vyv264, vyv265, bh)) 248.92/165.32 new_reduce2Reduce1(vyv264, vyv265, vyv266, vyv267, True, bh) -> error([]) 248.92/165.32 new_quot1(vyv264, vyv265, vyv266, vyv267, ty_Int) -> new_quot0(new_sr14(vyv264, vyv265), new_sr14(vyv264, vyv265), new_sr14(vyv266, vyv267)) 248.92/165.32 new_quot1(vyv264, vyv265, vyv266, vyv267, ty_Integer) -> new_quot(new_sr8(vyv264, vyv265), new_sr8(vyv264, vyv265), new_sr8(vyv266, vyv267)) 248.92/165.32 new_quot2(vyv266, vyv267, vyv264, vyv265, ty_Int) -> new_quot0(new_sr14(vyv266, vyv267), new_sr14(vyv264, vyv265), new_sr14(vyv266, vyv267)) 248.92/165.32 new_quot2(vyv266, vyv267, vyv264, vyv265, ty_Integer) -> new_quot(new_sr8(vyv266, vyv267), new_sr8(vyv264, vyv265), new_sr8(vyv266, vyv267)) 248.92/165.32 new_sr8(vyv239, vyv238) -> error([]) 248.92/165.32 new_quot(vyv273, vyv275, vyv274) -> error([]) 248.92/165.32 new_sr14(Pos(vyv2390), Neg(vyv2380)) -> Neg(new_primMulNat0(vyv2390, vyv2380)) 248.92/165.32 new_sr14(Neg(vyv2390), Pos(vyv2380)) -> Neg(new_primMulNat0(vyv2390, vyv2380)) 248.92/165.32 new_sr14(Neg(vyv2390), Neg(vyv2380)) -> Pos(new_primMulNat0(vyv2390, vyv2380)) 248.92/165.32 new_sr14(Pos(vyv2390), Pos(vyv2380)) -> Pos(new_primMulNat0(vyv2390, vyv2380)) 248.92/165.32 new_quot0(Neg(vyv2700), vyv272, vyv271) -> new_primQuotInt0(vyv2700, new_gcd(vyv272, vyv271)) 248.92/165.32 new_quot0(Pos(vyv2700), vyv272, vyv271) -> new_primQuotInt(vyv2700, new_gcd(vyv272, vyv271)) 248.92/165.32 new_gcd(vyv272, vyv271) -> new_gcd2(new_esEs(vyv272), vyv272, vyv271) 248.92/165.32 new_primQuotInt(vyv2700, Pos(Succ(vyv28400))) -> Pos(new_primDivNatS1(vyv2700, vyv28400)) 248.92/165.32 new_primQuotInt(vyv2700, Neg(Zero)) -> new_error 248.92/165.32 new_primQuotInt(vyv2700, Pos(Zero)) -> new_error 248.92/165.32 new_primQuotInt(vyv2700, Neg(Succ(vyv28400))) -> Neg(new_primDivNatS1(vyv2700, vyv28400)) 248.92/165.32 new_primDivNatS1(Succ(Succ(vyv270000)), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS0(vyv270000), Zero)) 248.92/165.32 new_primDivNatS1(Succ(Zero), Succ(vyv284000)) -> Zero 248.92/165.32 new_primDivNatS1(Succ(Succ(vyv270000)), Succ(vyv284000)) -> new_primDivNatS02(vyv270000, vyv284000, vyv270000, vyv284000) 248.92/165.32 new_primDivNatS1(Succ(Zero), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS1, Zero)) 248.92/165.32 new_primMinusNatS1 -> Zero 248.92/165.32 new_primDivNatS02(vyv310, vyv311, Zero, Zero) -> new_primDivNatS01(vyv310, vyv311) 248.92/165.32 new_primDivNatS02(vyv310, vyv311, Succ(vyv3120), Zero) -> new_primDivNatS01(vyv310, vyv311) 248.92/165.32 new_primDivNatS02(vyv310, vyv311, Zero, Succ(vyv3130)) -> Zero 248.92/165.32 new_primDivNatS02(vyv310, vyv311, Succ(vyv3120), Succ(vyv3130)) -> new_primDivNatS02(vyv310, vyv311, vyv3120, vyv3130) 248.92/165.32 new_primDivNatS01(vyv310, vyv311) -> Succ(new_primDivNatS1(new_primMinusNatS2(vyv310, vyv311), Succ(vyv311))) 248.92/165.32 new_primMinusNatS2(Zero, Succ(vyv3110)) -> Zero 248.92/165.32 new_primMinusNatS2(Succ(vyv3100), Zero) -> Succ(vyv3100) 248.92/165.32 new_primMinusNatS2(Zero, Zero) -> Zero 248.92/165.32 new_primMinusNatS2(Succ(vyv3100), Succ(vyv3110)) -> new_primMinusNatS2(vyv3100, vyv3110) 248.92/165.32 new_primMinusNatS0(vyv270000) -> Succ(vyv270000) 248.92/165.32 new_error -> error([]) 248.92/165.32 new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) 248.92/165.32 new_esEs(Pos(Succ(vyv24100))) -> new_primEqInt(Pos(Succ(vyv24100))) 248.92/165.32 new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) 248.92/165.32 new_esEs(Neg(Succ(vyv24100))) -> new_primEqInt(Neg(Succ(vyv24100))) 248.92/165.32 new_gcd2(True, vyv272, vyv271) -> new_gcd1(new_esEs(vyv271), vyv272, vyv271) 248.92/165.32 new_gcd2(False, vyv272, vyv271) -> new_gcd0(vyv272, vyv271) 248.92/165.32 new_gcd0(vyv272, vyv271) -> new_gcd0Gcd'10(new_esEs(new_abs(vyv271)), vyv272, vyv271) 248.92/165.32 new_abs(Neg(Zero)) -> Neg(Zero) 248.92/165.32 new_abs(Neg(Succ(vyv27100))) -> Pos(Succ(vyv27100)) 248.92/165.32 new_abs(Pos(Succ(vyv27100))) -> Pos(Succ(vyv27100)) 248.92/165.32 new_abs(Pos(Zero)) -> Pos(Zero) 248.92/165.32 new_gcd0Gcd'10(True, vyv272, vyv271) -> new_abs(vyv272) 248.92/165.32 new_gcd0Gcd'10(False, vyv272, vyv271) -> new_gcd0Gcd'00(new_abs(vyv272), new_abs(vyv271)) 248.92/165.32 new_gcd0Gcd'11(False, vyv291, vyv292) -> new_gcd0Gcd'00(vyv291, new_rem(vyv292, vyv291)) 248.92/165.32 new_gcd0Gcd'00(vyv292, vyv291) -> new_gcd0Gcd'11(new_esEs(new_rem(vyv292, vyv291)), vyv291, vyv292) 248.92/165.32 new_rem(Pos(vyv2920), Neg(Zero)) -> new_error 248.92/165.32 new_rem(Neg(vyv2920), Pos(Zero)) -> new_error 248.92/165.32 new_rem(Pos(vyv2920), Neg(Succ(vyv29100))) -> Pos(new_primModNatS1(vyv2920, vyv29100)) 248.92/165.32 new_rem(Neg(vyv2920), Pos(Succ(vyv29100))) -> Neg(new_primModNatS1(vyv2920, vyv29100)) 248.92/165.32 new_rem(Pos(vyv2920), Pos(Succ(vyv29100))) -> Pos(new_primModNatS1(vyv2920, vyv29100)) 248.92/165.32 new_rem(Neg(vyv2920), Neg(Zero)) -> new_error 248.92/165.32 new_rem(Neg(vyv2920), Neg(Succ(vyv29100))) -> Neg(new_primModNatS1(vyv2920, vyv29100)) 248.92/165.32 new_rem(Pos(vyv2920), Pos(Zero)) -> new_error 248.92/165.32 new_gcd0Gcd'11(True, vyv291, vyv292) -> vyv291 248.92/165.32 new_primModNatS1(Succ(Zero), Succ(vyv291000)) -> Succ(Zero) 248.92/165.32 new_primModNatS1(Zero, vyv29100) -> Zero 248.92/165.32 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 248.92/165.32 new_primModNatS1(Succ(Succ(vyv292000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv292000), Zero) 248.92/165.32 new_primModNatS1(Succ(Succ(vyv292000)), Succ(vyv291000)) -> new_primModNatS01(vyv292000, vyv291000, vyv292000, vyv291000) 248.92/165.32 new_primModNatS01(vyv330, vyv331, Zero, Zero) -> new_primModNatS02(vyv330, vyv331) 248.92/165.32 new_primModNatS02(vyv330, vyv331) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv330), Succ(vyv331)), Succ(vyv331)) 248.92/165.32 new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Zero) -> new_primModNatS02(vyv330, vyv331) 248.92/165.32 new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Succ(vyv3330)) -> new_primModNatS01(vyv330, vyv331, vyv3320, vyv3330) 248.92/165.32 new_primModNatS01(vyv330, vyv331, Zero, Succ(vyv3330)) -> Succ(Succ(vyv330)) 248.92/165.32 new_gcd1(True, vyv272, vyv271) -> new_error 248.92/165.32 new_gcd1(False, vyv272, vyv271) -> new_gcd0(vyv272, vyv271) 248.92/165.32 new_primEqInt(Neg(Succ(vyv242000))) -> False 248.92/165.32 new_primEqInt(Pos(Zero)) -> True 248.92/165.32 new_primEqInt(Pos(Succ(vyv242000))) -> False 248.92/165.32 new_primEqInt(Neg(Zero)) -> True 248.92/165.32 new_primQuotInt0(vyv2700, Pos(Succ(vyv28700))) -> Neg(new_primDivNatS1(vyv2700, vyv28700)) 248.92/165.32 new_primQuotInt0(vyv2700, Neg(Zero)) -> new_error 248.92/165.32 new_primQuotInt0(vyv2700, Neg(Succ(vyv28700))) -> Pos(new_primDivNatS1(vyv2700, vyv28700)) 248.92/165.32 new_primQuotInt0(vyv2700, Pos(Zero)) -> new_error 248.92/165.32 new_primMulNat0(Succ(vyv23900), Zero) -> Zero 248.92/165.32 new_primMulNat0(Zero, Succ(vyv23800)) -> Zero 248.92/165.32 new_primMulNat0(Zero, Zero) -> Zero 248.92/165.32 new_primMulNat0(Succ(vyv23900), Succ(vyv23800)) -> new_primPlusNat0(new_primMulNat0(vyv23900, Succ(vyv23800)), Succ(vyv23800)) 248.92/165.32 new_primPlusNat0(Succ(vyv4000), Succ(vyv5000)) -> Succ(Succ(new_primPlusNat0(vyv4000, vyv5000))) 248.92/165.32 new_primPlusNat0(Zero, Succ(vyv5000)) -> Succ(vyv5000) 248.92/165.32 new_primPlusNat0(Zero, Zero) -> Zero 248.92/165.32 new_primPlusNat0(Succ(vyv4000), Zero) -> Succ(vyv4000) 248.92/165.32 new_esEs1(Integer(vyv2690)) -> new_primEqInt(vyv2690) 248.92/165.32 new_sr6(Neg(vyv1830)) -> Pos(new_primMulNat1(vyv1830)) 248.92/165.32 new_sr6(Pos(vyv1830)) -> Pos(new_primMulNat1(vyv1830)) 248.92/165.32 new_primMulNat1(Succ(vyv18300)) -> new_primPlusNat0(new_primMulNat2(vyv18300), Succ(vyv18300)) 248.92/165.32 new_primMulNat1(Zero) -> Zero 248.92/165.32 new_primMulNat2(Succ(vyv183000)) -> new_primPlusNat0(new_primMulNat3(vyv183000), Succ(Succ(vyv183000))) 248.92/165.32 new_primMulNat2(Zero) -> Zero 248.92/165.32 new_primMulNat3(Succ(vyv1830000)) -> new_primPlusNat0(new_primMulNat4(vyv1830000), Succ(Succ(Succ(vyv1830000)))) 248.92/165.32 new_primMulNat3(Zero) -> Zero 248.92/165.32 new_primMulNat4(Succ(vyv18300000)) -> new_primPlusNat0(new_primMulNat0(vyv18300000, Succ(Succ(Succ(Succ(vyv18300000))))), Succ(Succ(Succ(Succ(vyv18300000))))) 248.92/165.32 new_primMulNat4(Zero) -> Zero 248.92/165.32 new_sr1(vyv227, ty_Int) -> new_sr6(vyv227) 248.92/165.32 new_sr1(vyv227, ty_Integer) -> new_sr7(vyv227) 248.92/165.32 new_sr1(vyv227, app(ty_Ratio, be)) -> new_sr5(vyv227, be) 248.92/165.32 new_sr1(vyv227, ty_Float) -> new_sr10(vyv227) 248.92/165.32 new_sr1(vyv227, ty_Double) -> new_sr9(vyv227) 248.92/165.32 new_ms(vyv228, Neg(vyv2440)) -> Pos(new_primPlusNat0(Succ(vyv228), vyv2440)) 248.92/165.32 new_ms(vyv228, Pos(Succ(vyv24400))) -> new_primMinusNat0(vyv228, vyv24400) 248.92/165.32 new_ms(vyv228, Pos(Zero)) -> Pos(Succ(vyv228)) 248.92/165.32 new_sr2(vyv227, vyv226, ty_Int) -> new_sr14(vyv227, vyv226) 248.92/165.32 new_sr2(vyv227, vyv226, ty_Double) -> new_sr11(vyv227, vyv226) 248.92/165.32 new_sr2(vyv227, vyv226, ty_Integer) -> new_sr8(vyv227, vyv226) 248.92/165.32 new_sr2(vyv227, vyv226, ty_Float) -> new_sr13(vyv227, vyv226) 248.92/165.32 new_sr2(vyv227, vyv226, app(ty_Ratio, be)) -> new_sr12(vyv227, vyv226, be) 248.92/165.32 new_sr12(:%(vyv2390, vyv2391), :%(vyv2380, vyv2381), bf) -> new_reduce2Reduce1(vyv2390, vyv2380, vyv2391, vyv2381, new_esEs2(vyv2391, vyv2381, bf), bf) 248.92/165.32 new_esEs2(vyv2391, vyv2381, ty_Int) -> new_esEs(new_sr14(vyv2391, vyv2381)) 248.92/165.32 new_esEs2(vyv2391, vyv2381, ty_Integer) -> new_esEs1(new_sr8(vyv2391, vyv2381)) 248.92/165.32 new_sr13(vyv239, vyv238) -> error([]) 248.92/165.32 new_sr11(vyv239, vyv238) -> error([]) 248.92/165.32 new_primMinusNat0(Succ(vyv2280), Succ(vyv244000)) -> new_primMinusNat0(vyv2280, vyv244000) 248.92/165.32 new_primMinusNat0(Zero, Zero) -> Pos(Zero) 248.92/165.32 new_primMinusNat0(Zero, Succ(vyv244000)) -> Neg(Succ(vyv244000)) 248.92/165.32 new_primMinusNat0(Succ(vyv2280), Zero) -> Pos(Succ(vyv2280)) 248.92/165.32 new_sr3(vyv249, ty_Float) -> new_sr10(vyv249) 248.92/165.32 new_sr3(vyv249, ty_Double) -> new_sr9(vyv249) 248.92/165.32 new_sr3(vyv249, ty_Int) -> new_sr6(vyv249) 248.92/165.32 new_sr3(vyv249, ty_Integer) -> new_sr7(vyv249) 248.92/165.32 new_sr3(vyv249, app(ty_Ratio, bg)) -> new_sr5(vyv249, bg) 248.92/165.32 new_ms0(vyv240, Neg(Zero)) -> Neg(Succ(vyv240)) 248.92/165.32 new_ms0(vyv240, Pos(vyv2430)) -> Neg(new_primPlusNat0(Succ(vyv240), vyv2430)) 248.92/165.32 new_ms0(vyv240, Neg(Succ(vyv24300))) -> new_primMinusNat0(vyv24300, vyv240) 248.92/165.32 new_sr4(vyv239, vyv238, app(ty_Ratio, bf)) -> new_sr12(vyv239, vyv238, bf) 248.92/165.32 new_sr4(vyv239, vyv238, ty_Integer) -> new_sr8(vyv239, vyv238) 248.92/165.32 new_sr4(vyv239, vyv238, ty_Int) -> new_sr14(vyv239, vyv238) 248.92/165.32 new_sr4(vyv239, vyv238, ty_Double) -> new_sr11(vyv239, vyv238) 248.92/165.32 new_sr4(vyv239, vyv238, ty_Float) -> new_sr13(vyv239, vyv238) 248.92/165.32 248.92/165.32 The set Q consists of the following terms: 248.92/165.32 248.92/165.32 new_rem(Pos(x0), Pos(Succ(x1))) 248.92/165.32 new_quot1(x0, x1, x2, x3, ty_Integer) 248.92/165.32 new_primModNatS1(Succ(Zero), Succ(x0)) 248.92/165.32 new_ms0(x0, Pos(x1)) 248.92/165.32 new_sr(x0, app(ty_Ratio, x1)) 248.92/165.32 new_primMulNat4(Zero) 248.92/165.32 new_gcd1(False, x0, x1) 248.92/165.32 new_primEqInt(Pos(Zero)) 248.92/165.32 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 248.92/165.32 new_rem(Pos(x0), Neg(Succ(x1))) 248.92/165.32 new_rem(Neg(x0), Pos(Succ(x1))) 248.92/165.32 new_sr10(x0) 248.92/165.32 new_quot1(x0, x1, x2, x3, ty_Int) 248.92/165.32 new_sr0(x0, app(ty_Ratio, x1)) 248.92/165.32 new_quot2(x0, x1, x2, x3, ty_Integer) 248.92/165.32 new_primModNatS01(x0, x1, Succ(x2), Zero) 248.92/165.32 new_sr3(x0, ty_Integer) 248.92/165.32 new_primMulNat3(Zero) 248.92/165.32 new_primDivNatS02(x0, x1, Succ(x2), Zero) 248.92/165.32 new_sr(x0, ty_Float) 248.92/165.32 new_quot2(x0, x1, x2, x3, ty_Int) 248.92/165.32 new_gcd2(False, x0, x1) 248.92/165.32 new_primDivNatS1(Succ(Zero), Zero) 248.92/165.32 new_sr0(x0, ty_Double) 248.92/165.32 new_esEs0(x0, ty_Int) 248.92/165.32 new_sr14(Pos(x0), Pos(x1)) 248.92/165.32 new_sr3(x0, ty_Int) 248.92/165.32 new_primMulNat0(Zero, Zero) 248.92/165.32 new_sr4(x0, x1, ty_Double) 248.92/165.32 new_primPlusNat0(Succ(x0), Zero) 248.92/165.32 new_primMulNat2(Zero) 248.92/165.32 new_sr11(x0, x1) 248.92/165.32 new_primModNatS01(x0, x1, Zero, Zero) 248.92/165.32 new_esEs2(x0, x1, ty_Int) 248.92/165.32 new_gcd1(True, x0, x1) 248.92/165.32 new_sr13(x0, x1) 248.92/165.32 new_sr14(Pos(x0), Neg(x1)) 248.92/165.32 new_sr14(Neg(x0), Pos(x1)) 248.92/165.32 new_primDivNatS1(Succ(Succ(x0)), Succ(x1)) 248.92/165.32 new_sr1(x0, ty_Int) 248.92/165.32 new_primModNatS1(Zero, x0) 248.92/165.32 new_esEs(Pos(Succ(x0))) 248.92/165.32 new_primMulNat3(Succ(x0)) 248.92/165.32 new_sr1(x0, app(ty_Ratio, x1)) 248.92/165.32 new_primQuotInt(x0, Neg(Succ(x1))) 248.92/165.32 new_reduce2Reduce1(x0, x1, x2, x3, False, x4) 248.92/165.32 new_primMinusNat0(Zero, Zero) 248.92/165.32 new_primDivNatS1(Zero, x0) 248.92/165.32 new_primDivNatS02(x0, x1, Succ(x2), Succ(x3)) 248.92/165.32 new_primModNatS02(x0, x1) 248.92/165.32 new_primDivNatS1(Succ(Zero), Succ(x0)) 248.92/165.32 new_sr6(Neg(x0)) 248.92/165.32 new_gcd0Gcd'10(True, x0, x1) 248.92/165.32 new_primMulNat0(Succ(x0), Succ(x1)) 248.92/165.32 new_abs(Neg(Zero)) 248.92/165.32 new_ms(x0, Neg(x1)) 248.92/165.32 new_rem(Pos(x0), Neg(Zero)) 248.92/165.32 new_rem(Neg(x0), Pos(Zero)) 248.92/165.32 new_primMinusNatS2(Zero, Succ(x0)) 248.92/165.32 new_esEs(Neg(Succ(x0))) 248.92/165.32 new_error 248.92/165.32 new_primModNatS1(Succ(Zero), Zero) 248.92/165.32 new_primMulNat0(Zero, Succ(x0)) 248.92/165.32 new_sr3(x0, ty_Float) 248.92/165.32 new_quot(x0, x1, x2) 248.92/165.32 new_gcd2(True, x0, x1) 248.92/165.32 new_gcd0Gcd'11(True, x0, x1) 248.92/165.32 new_primEqInt(Neg(Zero)) 248.92/165.32 new_sr2(x0, x1, ty_Double) 248.92/165.32 new_primMulNat0(Succ(x0), Zero) 248.92/165.32 new_quot0(Neg(x0), x1, x2) 248.92/165.32 new_primMinusNatS2(Succ(x0), Succ(x1)) 248.92/165.32 new_sr4(x0, x1, app(ty_Ratio, x2)) 248.92/165.32 new_sr8(x0, x1) 248.92/165.32 new_primDivNatS01(x0, x1) 248.92/165.32 new_primDivNatS02(x0, x1, Zero, Succ(x2)) 248.92/165.32 new_primPlusNat0(Succ(x0), Succ(x1)) 248.92/165.32 new_sr1(x0, ty_Integer) 248.92/165.32 new_primPlusNat0(Zero, Zero) 248.92/165.32 new_sr1(x0, ty_Float) 248.92/165.32 new_primMinusNat0(Succ(x0), Succ(x1)) 248.92/165.32 new_sr12(:%(x0, x1), :%(x2, x3), x4) 248.92/165.32 new_abs(Neg(Succ(x0))) 248.92/165.32 new_sr1(x0, ty_Double) 248.92/165.32 new_sr3(x0, app(ty_Ratio, x1)) 248.92/165.32 new_sr7(x0) 248.92/165.32 new_gcd0(x0, x1) 248.92/165.32 new_sr(x0, ty_Integer) 248.92/165.32 new_sr0(x0, ty_Int) 248.92/165.32 new_primQuotInt0(x0, Pos(Succ(x1))) 248.92/165.32 new_sr4(x0, x1, ty_Integer) 248.92/165.32 new_sr5(:%(x0, x1), x2) 248.92/165.32 new_primMinusNatS2(Zero, Zero) 248.92/165.32 new_primMulNat1(Succ(x0)) 248.92/165.32 new_sr0(x0, ty_Integer) 248.92/165.32 new_ms(x0, Pos(Zero)) 248.92/165.32 new_abs(Pos(Succ(x0))) 248.92/165.32 new_sr4(x0, x1, ty_Int) 248.92/165.32 new_esEs(Pos(Zero)) 248.92/165.32 new_primQuotInt0(x0, Pos(Zero)) 248.92/165.32 new_sr(x0, ty_Int) 248.92/165.32 new_primEqInt(Neg(Succ(x0))) 248.92/165.32 new_primQuotInt(x0, Neg(Zero)) 248.92/165.32 new_primQuotInt0(x0, Neg(Zero)) 248.92/165.32 new_primQuotInt0(x0, Neg(Succ(x1))) 248.92/165.32 new_gcd(x0, x1) 248.92/165.32 new_quot0(Pos(x0), x1, x2) 248.92/165.32 new_primMinusNatS0(x0) 248.92/165.32 new_primPlusNat0(Zero, Succ(x0)) 248.92/165.32 new_sr2(x0, x1, app(ty_Ratio, x2)) 248.92/165.32 new_sr2(x0, x1, ty_Int) 248.92/165.32 new_primQuotInt(x0, Pos(Succ(x1))) 248.92/165.32 new_primDivNatS1(Succ(Succ(x0)), Zero) 248.92/165.32 new_rem(Pos(x0), Pos(Zero)) 248.92/165.32 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 248.92/165.32 new_primDivNatS02(x0, x1, Zero, Zero) 248.92/165.32 new_abs(Pos(Zero)) 248.92/165.32 new_gcd0Gcd'10(False, x0, x1) 248.92/165.32 new_ms(x0, Pos(Succ(x1))) 248.92/165.32 new_primMinusNatS1 248.92/165.32 new_esEs1(Integer(x0)) 248.92/165.32 new_ms0(x0, Neg(Zero)) 248.92/165.32 new_primMinusNat0(Succ(x0), Zero) 248.92/165.32 new_ms0(x0, Neg(Succ(x1))) 248.92/165.32 new_sr2(x0, x1, ty_Integer) 248.92/165.32 new_primModNatS01(x0, x1, Zero, Succ(x2)) 248.92/165.32 new_primMulNat2(Succ(x0)) 248.92/165.32 new_sr0(x0, ty_Float) 248.92/165.32 new_sr14(Neg(x0), Neg(x1)) 248.92/165.32 new_sr2(x0, x1, ty_Float) 248.92/165.32 new_primMinusNatS2(Succ(x0), Zero) 248.92/165.32 new_sr4(x0, x1, ty_Float) 248.92/165.32 new_sr6(Pos(x0)) 248.92/165.32 new_esEs2(x0, x1, ty_Integer) 248.92/165.32 new_primMulNat4(Succ(x0)) 248.92/165.32 new_rem(Neg(x0), Neg(Succ(x1))) 248.92/165.32 new_primEqInt(Pos(Succ(x0))) 248.92/165.32 new_primQuotInt(x0, Pos(Zero)) 248.92/165.32 new_gcd0Gcd'11(False, x0, x1) 248.92/165.32 new_sr9(x0) 248.92/165.32 new_primModNatS1(Succ(Succ(x0)), Zero) 248.92/165.32 new_sr(x0, ty_Double) 248.92/165.32 new_esEs0(x0, ty_Integer) 248.92/165.32 new_gcd0Gcd'00(x0, x1) 248.92/165.32 new_reduce2Reduce1(x0, x1, x2, x3, True, x4) 248.92/165.32 new_sr3(x0, ty_Double) 248.92/165.32 new_esEs(Neg(Zero)) 248.92/165.32 new_primMulNat1(Zero) 248.92/165.32 new_primMinusNat0(Zero, Succ(x0)) 248.92/165.32 new_rem(Neg(x0), Neg(Zero)) 248.92/165.32 248.92/165.32 We have to consider all minimal (P,Q,R)-chains. 248.92/165.32 ---------------------------------------- 248.92/165.32 248.92/165.32 (767) QReductionProof (EQUIVALENT) 248.92/165.32 We deleted the following terms from Q as each root-symbol of these terms does neither occur in P nor in R.[THIEMANN]. 248.92/165.32 248.92/165.32 new_sr0(x0, app(ty_Ratio, x1)) 248.92/165.32 new_sr0(x0, ty_Double) 248.92/165.32 new_sr0(x0, ty_Int) 248.92/165.32 new_sr0(x0, ty_Integer) 248.92/165.32 new_sr0(x0, ty_Float) 248.92/165.32 248.92/165.32 248.92/165.32 ---------------------------------------- 248.92/165.32 248.92/165.32 (768) 248.92/165.32 Obligation: 248.92/165.32 Q DP problem: 248.92/165.32 The TRS P consists of the following rules: 248.92/165.32 248.92/165.32 new_pr2F0G10(vyv248, vyv249, vyv250, Succ(Zero), bb) -> new_pr2F0G11(vyv248, vyv249, vyv250, bb) 248.92/165.32 new_pr2F0G11(vyv238, vyv239, vyv240, bc) -> new_pr2F1(vyv239, vyv240, Pos(Succ(Zero)), vyv238, bc) 248.92/165.32 new_pr2F1(vyv239, vyv240, vyv243, vyv238, bc) -> new_pr2F30(new_esEs(new_ms0(vyv240, vyv243)), vyv239, vyv240, vyv243, vyv238, bc) 248.92/165.32 new_pr2F30(False, vyv239, vyv240, vyv243, vyv238, bc) -> new_pr2F0(vyv239, new_ms0(vyv240, vyv243), new_sr4(vyv239, vyv238, bc), bc) 248.92/165.32 new_pr2F0(vyv183, Neg(Succ(Succ(vyv222000))), vyv187, h) -> new_pr2F0G10(vyv187, vyv183, Succ(vyv222000), vyv222000, h) 248.92/165.32 new_pr2F0G10(vyv248, vyv249, vyv250, Succ(Succ(vyv25100)), bb) -> new_pr2F0G10(vyv248, vyv249, vyv250, vyv25100, bb) 248.92/165.32 new_pr2F0G10(vyv248, vyv249, vyv250, Zero, bb) -> new_pr2F0G(vyv248, new_sr3(vyv249, bb), Neg(new_primDivNatS1(Succ(vyv250), Succ(Zero))), bb) 248.92/165.32 new_pr2F0G(vyv187, vyv183, Neg(Succ(Zero)), h) -> new_pr2F0G11(vyv187, vyv183, Zero, h) 248.92/165.32 new_pr2F0G(vyv187, vyv183, Neg(Succ(Succ(vyv222000))), h) -> new_pr2F0G10(vyv187, vyv183, Succ(vyv222000), vyv222000, h) 248.92/165.32 new_pr2F0(vyv183, Neg(Succ(Zero)), vyv187, h) -> new_pr2F0G11(vyv187, vyv183, Zero, h) 248.92/165.32 new_pr2F0(vyv183, Pos(Succ(Succ(vyv222000))), vyv187, h) -> new_pr2F0G1(vyv187, vyv183, Succ(vyv222000), vyv222000, h) 248.92/165.32 new_pr2F0G1(vyv226, vyv227, vyv228, Succ(Succ(vyv22900)), ba) -> new_pr2F0G1(vyv226, vyv227, vyv228, vyv22900, ba) 248.92/165.32 new_pr2F0G1(vyv226, vyv227, vyv228, Succ(Zero), ba) -> new_pr2F(vyv227, vyv228, Pos(Succ(Zero)), vyv226, ba) 248.92/165.32 new_pr2F(vyv227, vyv228, vyv244, vyv226, ba) -> new_pr2F3(new_esEs(new_ms(vyv228, vyv244)), vyv227, vyv228, vyv244, vyv226, ba) 248.92/165.32 new_pr2F3(False, vyv227, vyv228, vyv244, vyv226, ba) -> new_pr2F0(vyv227, new_ms(vyv228, vyv244), new_sr2(vyv227, vyv226, ba), ba) 248.92/165.32 new_pr2F0(vyv183, Pos(Succ(Zero)), vyv187, h) -> new_pr2F(vyv183, Zero, Pos(Succ(Zero)), vyv187, h) 248.92/165.32 new_pr2F0(vyv183, Pos(Zero), vyv187, h) -> new_pr2F0G(vyv187, new_sr(vyv183, h), Pos(new_primDivNatS1(Zero, Succ(Zero))), h) 248.92/165.32 new_pr2F0G(vyv187, vyv183, Pos(Succ(Succ(vyv222000))), h) -> new_pr2F0G1(vyv187, vyv183, Succ(vyv222000), vyv222000, h) 248.92/165.32 new_pr2F0G1(vyv226, vyv227, vyv228, Zero, ba) -> new_pr2F0G(vyv226, new_sr1(vyv227, ba), Pos(new_primDivNatS1(Succ(vyv228), Succ(Zero))), ba) 248.92/165.32 new_pr2F0G(vyv187, vyv183, Pos(Succ(Zero)), h) -> new_pr2F(vyv183, Zero, Pos(Succ(Zero)), vyv187, h) 248.92/165.32 new_pr2F0G(vyv187, vyv183, Pos(Zero), h) -> new_pr2F0G(vyv187, new_sr(vyv183, h), Pos(new_primDivNatS1(Zero, Succ(Zero))), h) 248.92/165.32 248.92/165.32 The TRS R consists of the following rules: 248.92/165.32 248.92/165.32 new_sr(vyv183, ty_Int) -> new_sr6(vyv183) 248.92/165.32 new_sr(vyv183, app(ty_Ratio, bd)) -> new_sr5(vyv183, bd) 248.92/165.32 new_sr(vyv183, ty_Integer) -> new_sr7(vyv183) 248.92/165.32 new_sr(vyv183, ty_Float) -> new_sr10(vyv183) 248.92/165.32 new_sr(vyv183, ty_Double) -> new_sr9(vyv183) 248.92/165.32 new_primDivNatS1(Zero, vyv28400) -> Zero 248.92/165.32 new_sr9(vyv183) -> error([]) 248.92/165.32 new_sr10(vyv183) -> error([]) 248.92/165.32 new_sr7(vyv183) -> error([]) 248.92/165.32 new_sr5(:%(vyv1830, vyv1831), bd) -> new_reduce2Reduce1(vyv1830, vyv1830, vyv1831, vyv1831, new_esEs0(vyv1831, bd), bd) 248.92/165.32 new_esEs0(vyv1831, ty_Int) -> new_esEs(new_sr6(vyv1831)) 248.92/165.32 new_esEs0(vyv1831, ty_Integer) -> new_esEs1(new_sr7(vyv1831)) 248.92/165.32 new_reduce2Reduce1(vyv264, vyv265, vyv266, vyv267, False, bh) -> :%(new_quot1(vyv264, vyv265, vyv266, vyv267, bh), new_quot2(vyv266, vyv267, vyv264, vyv265, bh)) 248.92/165.32 new_reduce2Reduce1(vyv264, vyv265, vyv266, vyv267, True, bh) -> error([]) 248.92/165.32 new_quot1(vyv264, vyv265, vyv266, vyv267, ty_Int) -> new_quot0(new_sr14(vyv264, vyv265), new_sr14(vyv264, vyv265), new_sr14(vyv266, vyv267)) 248.92/165.32 new_quot1(vyv264, vyv265, vyv266, vyv267, ty_Integer) -> new_quot(new_sr8(vyv264, vyv265), new_sr8(vyv264, vyv265), new_sr8(vyv266, vyv267)) 248.92/165.32 new_quot2(vyv266, vyv267, vyv264, vyv265, ty_Int) -> new_quot0(new_sr14(vyv266, vyv267), new_sr14(vyv264, vyv265), new_sr14(vyv266, vyv267)) 248.92/165.32 new_quot2(vyv266, vyv267, vyv264, vyv265, ty_Integer) -> new_quot(new_sr8(vyv266, vyv267), new_sr8(vyv264, vyv265), new_sr8(vyv266, vyv267)) 248.92/165.32 new_sr8(vyv239, vyv238) -> error([]) 248.92/165.32 new_quot(vyv273, vyv275, vyv274) -> error([]) 248.92/165.32 new_sr14(Pos(vyv2390), Neg(vyv2380)) -> Neg(new_primMulNat0(vyv2390, vyv2380)) 248.92/165.32 new_sr14(Neg(vyv2390), Pos(vyv2380)) -> Neg(new_primMulNat0(vyv2390, vyv2380)) 248.92/165.32 new_sr14(Neg(vyv2390), Neg(vyv2380)) -> Pos(new_primMulNat0(vyv2390, vyv2380)) 248.92/165.32 new_sr14(Pos(vyv2390), Pos(vyv2380)) -> Pos(new_primMulNat0(vyv2390, vyv2380)) 248.92/165.32 new_quot0(Neg(vyv2700), vyv272, vyv271) -> new_primQuotInt0(vyv2700, new_gcd(vyv272, vyv271)) 248.92/165.32 new_quot0(Pos(vyv2700), vyv272, vyv271) -> new_primQuotInt(vyv2700, new_gcd(vyv272, vyv271)) 248.92/165.32 new_gcd(vyv272, vyv271) -> new_gcd2(new_esEs(vyv272), vyv272, vyv271) 248.92/165.32 new_primQuotInt(vyv2700, Pos(Succ(vyv28400))) -> Pos(new_primDivNatS1(vyv2700, vyv28400)) 248.92/165.32 new_primQuotInt(vyv2700, Neg(Zero)) -> new_error 248.92/165.32 new_primQuotInt(vyv2700, Pos(Zero)) -> new_error 248.92/165.32 new_primQuotInt(vyv2700, Neg(Succ(vyv28400))) -> Neg(new_primDivNatS1(vyv2700, vyv28400)) 248.92/165.32 new_primDivNatS1(Succ(Succ(vyv270000)), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS0(vyv270000), Zero)) 248.92/165.32 new_primDivNatS1(Succ(Zero), Succ(vyv284000)) -> Zero 248.92/165.32 new_primDivNatS1(Succ(Succ(vyv270000)), Succ(vyv284000)) -> new_primDivNatS02(vyv270000, vyv284000, vyv270000, vyv284000) 248.92/165.32 new_primDivNatS1(Succ(Zero), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS1, Zero)) 248.92/165.32 new_primMinusNatS1 -> Zero 248.92/165.32 new_primDivNatS02(vyv310, vyv311, Zero, Zero) -> new_primDivNatS01(vyv310, vyv311) 248.92/165.32 new_primDivNatS02(vyv310, vyv311, Succ(vyv3120), Zero) -> new_primDivNatS01(vyv310, vyv311) 248.92/165.32 new_primDivNatS02(vyv310, vyv311, Zero, Succ(vyv3130)) -> Zero 248.92/165.32 new_primDivNatS02(vyv310, vyv311, Succ(vyv3120), Succ(vyv3130)) -> new_primDivNatS02(vyv310, vyv311, vyv3120, vyv3130) 248.92/165.32 new_primDivNatS01(vyv310, vyv311) -> Succ(new_primDivNatS1(new_primMinusNatS2(vyv310, vyv311), Succ(vyv311))) 248.92/165.32 new_primMinusNatS2(Zero, Succ(vyv3110)) -> Zero 248.92/165.32 new_primMinusNatS2(Succ(vyv3100), Zero) -> Succ(vyv3100) 248.92/165.32 new_primMinusNatS2(Zero, Zero) -> Zero 248.92/165.32 new_primMinusNatS2(Succ(vyv3100), Succ(vyv3110)) -> new_primMinusNatS2(vyv3100, vyv3110) 248.92/165.32 new_primMinusNatS0(vyv270000) -> Succ(vyv270000) 248.92/165.32 new_error -> error([]) 248.92/165.32 new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) 248.92/165.32 new_esEs(Pos(Succ(vyv24100))) -> new_primEqInt(Pos(Succ(vyv24100))) 248.92/165.32 new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) 248.92/165.32 new_esEs(Neg(Succ(vyv24100))) -> new_primEqInt(Neg(Succ(vyv24100))) 248.92/165.32 new_gcd2(True, vyv272, vyv271) -> new_gcd1(new_esEs(vyv271), vyv272, vyv271) 248.92/165.32 new_gcd2(False, vyv272, vyv271) -> new_gcd0(vyv272, vyv271) 248.92/165.32 new_gcd0(vyv272, vyv271) -> new_gcd0Gcd'10(new_esEs(new_abs(vyv271)), vyv272, vyv271) 248.92/165.32 new_abs(Neg(Zero)) -> Neg(Zero) 248.92/165.32 new_abs(Neg(Succ(vyv27100))) -> Pos(Succ(vyv27100)) 248.92/165.32 new_abs(Pos(Succ(vyv27100))) -> Pos(Succ(vyv27100)) 248.92/165.32 new_abs(Pos(Zero)) -> Pos(Zero) 248.92/165.32 new_gcd0Gcd'10(True, vyv272, vyv271) -> new_abs(vyv272) 248.92/165.32 new_gcd0Gcd'10(False, vyv272, vyv271) -> new_gcd0Gcd'00(new_abs(vyv272), new_abs(vyv271)) 248.92/165.32 new_gcd0Gcd'11(False, vyv291, vyv292) -> new_gcd0Gcd'00(vyv291, new_rem(vyv292, vyv291)) 248.92/165.32 new_gcd0Gcd'00(vyv292, vyv291) -> new_gcd0Gcd'11(new_esEs(new_rem(vyv292, vyv291)), vyv291, vyv292) 248.92/165.32 new_rem(Pos(vyv2920), Neg(Zero)) -> new_error 248.92/165.32 new_rem(Neg(vyv2920), Pos(Zero)) -> new_error 248.92/165.32 new_rem(Pos(vyv2920), Neg(Succ(vyv29100))) -> Pos(new_primModNatS1(vyv2920, vyv29100)) 248.92/165.32 new_rem(Neg(vyv2920), Pos(Succ(vyv29100))) -> Neg(new_primModNatS1(vyv2920, vyv29100)) 248.92/165.32 new_rem(Pos(vyv2920), Pos(Succ(vyv29100))) -> Pos(new_primModNatS1(vyv2920, vyv29100)) 248.92/165.32 new_rem(Neg(vyv2920), Neg(Zero)) -> new_error 248.92/165.32 new_rem(Neg(vyv2920), Neg(Succ(vyv29100))) -> Neg(new_primModNatS1(vyv2920, vyv29100)) 248.92/165.32 new_rem(Pos(vyv2920), Pos(Zero)) -> new_error 248.92/165.32 new_gcd0Gcd'11(True, vyv291, vyv292) -> vyv291 248.92/165.32 new_primModNatS1(Succ(Zero), Succ(vyv291000)) -> Succ(Zero) 248.92/165.32 new_primModNatS1(Zero, vyv29100) -> Zero 248.92/165.32 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 248.92/165.32 new_primModNatS1(Succ(Succ(vyv292000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv292000), Zero) 248.92/165.32 new_primModNatS1(Succ(Succ(vyv292000)), Succ(vyv291000)) -> new_primModNatS01(vyv292000, vyv291000, vyv292000, vyv291000) 248.92/165.32 new_primModNatS01(vyv330, vyv331, Zero, Zero) -> new_primModNatS02(vyv330, vyv331) 248.92/165.32 new_primModNatS02(vyv330, vyv331) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv330), Succ(vyv331)), Succ(vyv331)) 248.92/165.32 new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Zero) -> new_primModNatS02(vyv330, vyv331) 248.92/165.32 new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Succ(vyv3330)) -> new_primModNatS01(vyv330, vyv331, vyv3320, vyv3330) 248.92/165.32 new_primModNatS01(vyv330, vyv331, Zero, Succ(vyv3330)) -> Succ(Succ(vyv330)) 248.92/165.32 new_gcd1(True, vyv272, vyv271) -> new_error 248.92/165.32 new_gcd1(False, vyv272, vyv271) -> new_gcd0(vyv272, vyv271) 248.92/165.32 new_primEqInt(Neg(Succ(vyv242000))) -> False 248.92/165.32 new_primEqInt(Pos(Zero)) -> True 248.92/165.32 new_primEqInt(Pos(Succ(vyv242000))) -> False 248.92/165.32 new_primEqInt(Neg(Zero)) -> True 248.92/165.32 new_primQuotInt0(vyv2700, Pos(Succ(vyv28700))) -> Neg(new_primDivNatS1(vyv2700, vyv28700)) 248.92/165.32 new_primQuotInt0(vyv2700, Neg(Zero)) -> new_error 248.92/165.32 new_primQuotInt0(vyv2700, Neg(Succ(vyv28700))) -> Pos(new_primDivNatS1(vyv2700, vyv28700)) 248.92/165.32 new_primQuotInt0(vyv2700, Pos(Zero)) -> new_error 248.92/165.32 new_primMulNat0(Succ(vyv23900), Zero) -> Zero 248.92/165.32 new_primMulNat0(Zero, Succ(vyv23800)) -> Zero 248.92/165.32 new_primMulNat0(Zero, Zero) -> Zero 248.92/165.32 new_primMulNat0(Succ(vyv23900), Succ(vyv23800)) -> new_primPlusNat0(new_primMulNat0(vyv23900, Succ(vyv23800)), Succ(vyv23800)) 248.92/165.32 new_primPlusNat0(Succ(vyv4000), Succ(vyv5000)) -> Succ(Succ(new_primPlusNat0(vyv4000, vyv5000))) 248.92/165.32 new_primPlusNat0(Zero, Succ(vyv5000)) -> Succ(vyv5000) 248.92/165.32 new_primPlusNat0(Zero, Zero) -> Zero 248.92/165.32 new_primPlusNat0(Succ(vyv4000), Zero) -> Succ(vyv4000) 248.92/165.32 new_esEs1(Integer(vyv2690)) -> new_primEqInt(vyv2690) 248.92/165.32 new_sr6(Neg(vyv1830)) -> Pos(new_primMulNat1(vyv1830)) 248.92/165.32 new_sr6(Pos(vyv1830)) -> Pos(new_primMulNat1(vyv1830)) 248.92/165.32 new_primMulNat1(Succ(vyv18300)) -> new_primPlusNat0(new_primMulNat2(vyv18300), Succ(vyv18300)) 248.92/165.32 new_primMulNat1(Zero) -> Zero 248.92/165.32 new_primMulNat2(Succ(vyv183000)) -> new_primPlusNat0(new_primMulNat3(vyv183000), Succ(Succ(vyv183000))) 248.92/165.32 new_primMulNat2(Zero) -> Zero 248.92/165.32 new_primMulNat3(Succ(vyv1830000)) -> new_primPlusNat0(new_primMulNat4(vyv1830000), Succ(Succ(Succ(vyv1830000)))) 248.92/165.32 new_primMulNat3(Zero) -> Zero 248.92/165.32 new_primMulNat4(Succ(vyv18300000)) -> new_primPlusNat0(new_primMulNat0(vyv18300000, Succ(Succ(Succ(Succ(vyv18300000))))), Succ(Succ(Succ(Succ(vyv18300000))))) 248.92/165.32 new_primMulNat4(Zero) -> Zero 248.92/165.32 new_sr1(vyv227, ty_Int) -> new_sr6(vyv227) 248.92/165.32 new_sr1(vyv227, ty_Integer) -> new_sr7(vyv227) 248.92/165.32 new_sr1(vyv227, app(ty_Ratio, be)) -> new_sr5(vyv227, be) 248.92/165.32 new_sr1(vyv227, ty_Float) -> new_sr10(vyv227) 248.92/165.32 new_sr1(vyv227, ty_Double) -> new_sr9(vyv227) 248.92/165.32 new_ms(vyv228, Neg(vyv2440)) -> Pos(new_primPlusNat0(Succ(vyv228), vyv2440)) 248.92/165.32 new_ms(vyv228, Pos(Succ(vyv24400))) -> new_primMinusNat0(vyv228, vyv24400) 248.92/165.32 new_ms(vyv228, Pos(Zero)) -> Pos(Succ(vyv228)) 248.92/165.32 new_sr2(vyv227, vyv226, ty_Int) -> new_sr14(vyv227, vyv226) 248.92/165.32 new_sr2(vyv227, vyv226, ty_Double) -> new_sr11(vyv227, vyv226) 248.92/165.32 new_sr2(vyv227, vyv226, ty_Integer) -> new_sr8(vyv227, vyv226) 248.92/165.32 new_sr2(vyv227, vyv226, ty_Float) -> new_sr13(vyv227, vyv226) 248.92/165.32 new_sr2(vyv227, vyv226, app(ty_Ratio, be)) -> new_sr12(vyv227, vyv226, be) 248.92/165.32 new_sr12(:%(vyv2390, vyv2391), :%(vyv2380, vyv2381), bf) -> new_reduce2Reduce1(vyv2390, vyv2380, vyv2391, vyv2381, new_esEs2(vyv2391, vyv2381, bf), bf) 248.92/165.32 new_esEs2(vyv2391, vyv2381, ty_Int) -> new_esEs(new_sr14(vyv2391, vyv2381)) 248.92/165.32 new_esEs2(vyv2391, vyv2381, ty_Integer) -> new_esEs1(new_sr8(vyv2391, vyv2381)) 248.92/165.32 new_sr13(vyv239, vyv238) -> error([]) 248.92/165.32 new_sr11(vyv239, vyv238) -> error([]) 248.92/165.32 new_primMinusNat0(Succ(vyv2280), Succ(vyv244000)) -> new_primMinusNat0(vyv2280, vyv244000) 248.92/165.32 new_primMinusNat0(Zero, Zero) -> Pos(Zero) 248.92/165.32 new_primMinusNat0(Zero, Succ(vyv244000)) -> Neg(Succ(vyv244000)) 248.92/165.32 new_primMinusNat0(Succ(vyv2280), Zero) -> Pos(Succ(vyv2280)) 248.92/165.32 new_sr3(vyv249, ty_Float) -> new_sr10(vyv249) 248.92/165.32 new_sr3(vyv249, ty_Double) -> new_sr9(vyv249) 248.92/165.32 new_sr3(vyv249, ty_Int) -> new_sr6(vyv249) 248.92/165.32 new_sr3(vyv249, ty_Integer) -> new_sr7(vyv249) 248.92/165.32 new_sr3(vyv249, app(ty_Ratio, bg)) -> new_sr5(vyv249, bg) 248.92/165.32 new_ms0(vyv240, Neg(Zero)) -> Neg(Succ(vyv240)) 248.92/165.32 new_ms0(vyv240, Pos(vyv2430)) -> Neg(new_primPlusNat0(Succ(vyv240), vyv2430)) 248.92/165.32 new_ms0(vyv240, Neg(Succ(vyv24300))) -> new_primMinusNat0(vyv24300, vyv240) 248.92/165.32 new_sr4(vyv239, vyv238, app(ty_Ratio, bf)) -> new_sr12(vyv239, vyv238, bf) 248.92/165.32 new_sr4(vyv239, vyv238, ty_Integer) -> new_sr8(vyv239, vyv238) 248.92/165.32 new_sr4(vyv239, vyv238, ty_Int) -> new_sr14(vyv239, vyv238) 248.92/165.32 new_sr4(vyv239, vyv238, ty_Double) -> new_sr11(vyv239, vyv238) 248.92/165.32 new_sr4(vyv239, vyv238, ty_Float) -> new_sr13(vyv239, vyv238) 248.92/165.32 248.92/165.32 The set Q consists of the following terms: 248.92/165.32 248.92/165.32 new_rem(Pos(x0), Pos(Succ(x1))) 248.92/165.32 new_quot1(x0, x1, x2, x3, ty_Integer) 248.92/165.32 new_primModNatS1(Succ(Zero), Succ(x0)) 248.92/165.32 new_ms0(x0, Pos(x1)) 248.92/165.32 new_sr(x0, app(ty_Ratio, x1)) 248.92/165.32 new_primMulNat4(Zero) 248.92/165.32 new_gcd1(False, x0, x1) 248.92/165.32 new_primEqInt(Pos(Zero)) 248.92/165.32 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 248.92/165.32 new_rem(Pos(x0), Neg(Succ(x1))) 248.92/165.32 new_rem(Neg(x0), Pos(Succ(x1))) 248.92/165.32 new_sr10(x0) 248.92/165.32 new_quot1(x0, x1, x2, x3, ty_Int) 248.92/165.32 new_quot2(x0, x1, x2, x3, ty_Integer) 248.92/165.32 new_primModNatS01(x0, x1, Succ(x2), Zero) 248.92/165.32 new_sr3(x0, ty_Integer) 248.92/165.32 new_primMulNat3(Zero) 248.92/165.32 new_primDivNatS02(x0, x1, Succ(x2), Zero) 248.92/165.32 new_sr(x0, ty_Float) 248.92/165.32 new_quot2(x0, x1, x2, x3, ty_Int) 248.92/165.32 new_gcd2(False, x0, x1) 248.92/165.32 new_primDivNatS1(Succ(Zero), Zero) 248.92/165.32 new_esEs0(x0, ty_Int) 248.92/165.32 new_sr14(Pos(x0), Pos(x1)) 248.92/165.32 new_sr3(x0, ty_Int) 248.92/165.32 new_primMulNat0(Zero, Zero) 248.92/165.32 new_sr4(x0, x1, ty_Double) 248.92/165.32 new_primPlusNat0(Succ(x0), Zero) 248.92/165.32 new_primMulNat2(Zero) 248.92/165.32 new_sr11(x0, x1) 248.92/165.32 new_primModNatS01(x0, x1, Zero, Zero) 248.92/165.32 new_esEs2(x0, x1, ty_Int) 248.92/165.32 new_gcd1(True, x0, x1) 248.92/165.32 new_sr13(x0, x1) 248.92/165.32 new_sr14(Pos(x0), Neg(x1)) 248.92/165.32 new_sr14(Neg(x0), Pos(x1)) 248.92/165.32 new_primDivNatS1(Succ(Succ(x0)), Succ(x1)) 248.92/165.32 new_sr1(x0, ty_Int) 248.92/165.32 new_primModNatS1(Zero, x0) 248.92/165.32 new_esEs(Pos(Succ(x0))) 248.92/165.32 new_primMulNat3(Succ(x0)) 248.92/165.32 new_sr1(x0, app(ty_Ratio, x1)) 248.92/165.32 new_primQuotInt(x0, Neg(Succ(x1))) 248.92/165.32 new_reduce2Reduce1(x0, x1, x2, x3, False, x4) 248.92/165.32 new_primMinusNat0(Zero, Zero) 248.92/165.32 new_primDivNatS1(Zero, x0) 248.92/165.32 new_primDivNatS02(x0, x1, Succ(x2), Succ(x3)) 248.92/165.32 new_primModNatS02(x0, x1) 248.92/165.32 new_primDivNatS1(Succ(Zero), Succ(x0)) 248.92/165.32 new_sr6(Neg(x0)) 248.92/165.32 new_gcd0Gcd'10(True, x0, x1) 248.92/165.32 new_primMulNat0(Succ(x0), Succ(x1)) 248.92/165.32 new_abs(Neg(Zero)) 248.92/165.32 new_ms(x0, Neg(x1)) 248.92/165.32 new_rem(Pos(x0), Neg(Zero)) 248.92/165.32 new_rem(Neg(x0), Pos(Zero)) 248.92/165.32 new_primMinusNatS2(Zero, Succ(x0)) 248.92/165.32 new_esEs(Neg(Succ(x0))) 248.92/165.32 new_error 248.92/165.32 new_primModNatS1(Succ(Zero), Zero) 248.92/165.32 new_primMulNat0(Zero, Succ(x0)) 248.92/165.32 new_sr3(x0, ty_Float) 248.92/165.32 new_quot(x0, x1, x2) 248.92/165.32 new_gcd2(True, x0, x1) 248.92/165.32 new_gcd0Gcd'11(True, x0, x1) 248.92/165.32 new_primEqInt(Neg(Zero)) 248.92/165.32 new_sr2(x0, x1, ty_Double) 248.92/165.32 new_primMulNat0(Succ(x0), Zero) 248.92/165.32 new_quot0(Neg(x0), x1, x2) 248.92/165.32 new_primMinusNatS2(Succ(x0), Succ(x1)) 248.92/165.32 new_sr4(x0, x1, app(ty_Ratio, x2)) 248.92/165.32 new_sr8(x0, x1) 248.92/165.32 new_primDivNatS01(x0, x1) 248.92/165.32 new_primDivNatS02(x0, x1, Zero, Succ(x2)) 248.92/165.32 new_primPlusNat0(Succ(x0), Succ(x1)) 248.92/165.32 new_sr1(x0, ty_Integer) 248.92/165.32 new_primPlusNat0(Zero, Zero) 248.92/165.32 new_sr1(x0, ty_Float) 248.92/165.32 new_primMinusNat0(Succ(x0), Succ(x1)) 248.92/165.32 new_sr12(:%(x0, x1), :%(x2, x3), x4) 248.92/165.32 new_abs(Neg(Succ(x0))) 248.92/165.32 new_sr1(x0, ty_Double) 248.92/165.32 new_sr3(x0, app(ty_Ratio, x1)) 248.92/165.32 new_sr7(x0) 248.92/165.32 new_gcd0(x0, x1) 248.92/165.32 new_sr(x0, ty_Integer) 248.92/165.32 new_primQuotInt0(x0, Pos(Succ(x1))) 248.92/165.32 new_sr4(x0, x1, ty_Integer) 248.92/165.32 new_sr5(:%(x0, x1), x2) 248.92/165.32 new_primMinusNatS2(Zero, Zero) 248.92/165.32 new_primMulNat1(Succ(x0)) 248.92/165.32 new_ms(x0, Pos(Zero)) 248.92/165.32 new_abs(Pos(Succ(x0))) 248.92/165.32 new_sr4(x0, x1, ty_Int) 248.92/165.32 new_esEs(Pos(Zero)) 248.92/165.32 new_primQuotInt0(x0, Pos(Zero)) 248.92/165.32 new_sr(x0, ty_Int) 248.92/165.32 new_primEqInt(Neg(Succ(x0))) 248.92/165.32 new_primQuotInt(x0, Neg(Zero)) 248.92/165.32 new_primQuotInt0(x0, Neg(Zero)) 248.92/165.32 new_primQuotInt0(x0, Neg(Succ(x1))) 248.92/165.32 new_gcd(x0, x1) 248.92/165.32 new_quot0(Pos(x0), x1, x2) 248.92/165.32 new_primMinusNatS0(x0) 248.92/165.32 new_primPlusNat0(Zero, Succ(x0)) 248.92/165.32 new_sr2(x0, x1, app(ty_Ratio, x2)) 248.92/165.32 new_sr2(x0, x1, ty_Int) 248.92/165.32 new_primQuotInt(x0, Pos(Succ(x1))) 248.92/165.32 new_primDivNatS1(Succ(Succ(x0)), Zero) 248.92/165.32 new_rem(Pos(x0), Pos(Zero)) 248.92/165.32 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 248.92/165.32 new_primDivNatS02(x0, x1, Zero, Zero) 248.92/165.32 new_abs(Pos(Zero)) 248.92/165.32 new_gcd0Gcd'10(False, x0, x1) 248.92/165.32 new_ms(x0, Pos(Succ(x1))) 248.92/165.32 new_primMinusNatS1 248.92/165.32 new_esEs1(Integer(x0)) 248.92/165.32 new_ms0(x0, Neg(Zero)) 248.92/165.32 new_primMinusNat0(Succ(x0), Zero) 248.92/165.32 new_ms0(x0, Neg(Succ(x1))) 248.92/165.32 new_sr2(x0, x1, ty_Integer) 248.92/165.32 new_primModNatS01(x0, x1, Zero, Succ(x2)) 248.92/165.32 new_primMulNat2(Succ(x0)) 248.92/165.32 new_sr14(Neg(x0), Neg(x1)) 248.92/165.32 new_sr2(x0, x1, ty_Float) 248.92/165.32 new_primMinusNatS2(Succ(x0), Zero) 248.92/165.32 new_sr4(x0, x1, ty_Float) 248.92/165.32 new_sr6(Pos(x0)) 248.92/165.32 new_esEs2(x0, x1, ty_Integer) 248.92/165.32 new_primMulNat4(Succ(x0)) 248.92/165.32 new_rem(Neg(x0), Neg(Succ(x1))) 248.92/165.32 new_primEqInt(Pos(Succ(x0))) 248.92/165.32 new_primQuotInt(x0, Pos(Zero)) 248.92/165.32 new_gcd0Gcd'11(False, x0, x1) 248.92/165.32 new_sr9(x0) 248.92/165.32 new_primModNatS1(Succ(Succ(x0)), Zero) 248.92/165.32 new_sr(x0, ty_Double) 248.92/165.32 new_esEs0(x0, ty_Integer) 248.92/165.32 new_gcd0Gcd'00(x0, x1) 248.92/165.32 new_reduce2Reduce1(x0, x1, x2, x3, True, x4) 248.92/165.32 new_sr3(x0, ty_Double) 248.92/165.32 new_esEs(Neg(Zero)) 248.92/165.32 new_primMulNat1(Zero) 248.92/165.32 new_primMinusNat0(Zero, Succ(x0)) 248.92/165.32 new_rem(Neg(x0), Neg(Zero)) 248.92/165.32 248.92/165.32 We have to consider all minimal (P,Q,R)-chains. 248.92/165.32 ---------------------------------------- 248.92/165.32 248.92/165.32 (769) TransformationProof (EQUIVALENT) 248.92/165.32 By rewriting [LPAR04] the rule new_pr2F0(vyv183, Pos(Zero), vyv187, h) -> new_pr2F0G(vyv187, new_sr(vyv183, h), Pos(new_primDivNatS1(Zero, Succ(Zero))), h) at position [2,0] we obtained the following new rules [LPAR04]: 248.92/165.32 248.92/165.32 (new_pr2F0(vyv183, Pos(Zero), vyv187, h) -> new_pr2F0G(vyv187, new_sr(vyv183, h), Pos(Zero), h),new_pr2F0(vyv183, Pos(Zero), vyv187, h) -> new_pr2F0G(vyv187, new_sr(vyv183, h), Pos(Zero), h)) 248.92/165.32 248.92/165.32 248.92/165.32 ---------------------------------------- 248.92/165.32 248.92/165.32 (770) 248.92/165.32 Obligation: 248.92/165.32 Q DP problem: 248.92/165.32 The TRS P consists of the following rules: 248.92/165.32 248.92/165.32 new_pr2F0G10(vyv248, vyv249, vyv250, Succ(Zero), bb) -> new_pr2F0G11(vyv248, vyv249, vyv250, bb) 248.92/165.32 new_pr2F0G11(vyv238, vyv239, vyv240, bc) -> new_pr2F1(vyv239, vyv240, Pos(Succ(Zero)), vyv238, bc) 248.92/165.32 new_pr2F1(vyv239, vyv240, vyv243, vyv238, bc) -> new_pr2F30(new_esEs(new_ms0(vyv240, vyv243)), vyv239, vyv240, vyv243, vyv238, bc) 248.92/165.32 new_pr2F30(False, vyv239, vyv240, vyv243, vyv238, bc) -> new_pr2F0(vyv239, new_ms0(vyv240, vyv243), new_sr4(vyv239, vyv238, bc), bc) 248.92/165.32 new_pr2F0(vyv183, Neg(Succ(Succ(vyv222000))), vyv187, h) -> new_pr2F0G10(vyv187, vyv183, Succ(vyv222000), vyv222000, h) 248.92/165.32 new_pr2F0G10(vyv248, vyv249, vyv250, Succ(Succ(vyv25100)), bb) -> new_pr2F0G10(vyv248, vyv249, vyv250, vyv25100, bb) 248.92/165.32 new_pr2F0G10(vyv248, vyv249, vyv250, Zero, bb) -> new_pr2F0G(vyv248, new_sr3(vyv249, bb), Neg(new_primDivNatS1(Succ(vyv250), Succ(Zero))), bb) 248.92/165.32 new_pr2F0G(vyv187, vyv183, Neg(Succ(Zero)), h) -> new_pr2F0G11(vyv187, vyv183, Zero, h) 248.92/165.32 new_pr2F0G(vyv187, vyv183, Neg(Succ(Succ(vyv222000))), h) -> new_pr2F0G10(vyv187, vyv183, Succ(vyv222000), vyv222000, h) 248.92/165.32 new_pr2F0(vyv183, Neg(Succ(Zero)), vyv187, h) -> new_pr2F0G11(vyv187, vyv183, Zero, h) 248.92/165.32 new_pr2F0(vyv183, Pos(Succ(Succ(vyv222000))), vyv187, h) -> new_pr2F0G1(vyv187, vyv183, Succ(vyv222000), vyv222000, h) 248.92/165.32 new_pr2F0G1(vyv226, vyv227, vyv228, Succ(Succ(vyv22900)), ba) -> new_pr2F0G1(vyv226, vyv227, vyv228, vyv22900, ba) 248.92/165.32 new_pr2F0G1(vyv226, vyv227, vyv228, Succ(Zero), ba) -> new_pr2F(vyv227, vyv228, Pos(Succ(Zero)), vyv226, ba) 248.92/165.32 new_pr2F(vyv227, vyv228, vyv244, vyv226, ba) -> new_pr2F3(new_esEs(new_ms(vyv228, vyv244)), vyv227, vyv228, vyv244, vyv226, ba) 248.92/165.32 new_pr2F3(False, vyv227, vyv228, vyv244, vyv226, ba) -> new_pr2F0(vyv227, new_ms(vyv228, vyv244), new_sr2(vyv227, vyv226, ba), ba) 248.92/165.32 new_pr2F0(vyv183, Pos(Succ(Zero)), vyv187, h) -> new_pr2F(vyv183, Zero, Pos(Succ(Zero)), vyv187, h) 248.92/165.32 new_pr2F0G(vyv187, vyv183, Pos(Succ(Succ(vyv222000))), h) -> new_pr2F0G1(vyv187, vyv183, Succ(vyv222000), vyv222000, h) 248.92/165.32 new_pr2F0G1(vyv226, vyv227, vyv228, Zero, ba) -> new_pr2F0G(vyv226, new_sr1(vyv227, ba), Pos(new_primDivNatS1(Succ(vyv228), Succ(Zero))), ba) 248.92/165.32 new_pr2F0G(vyv187, vyv183, Pos(Succ(Zero)), h) -> new_pr2F(vyv183, Zero, Pos(Succ(Zero)), vyv187, h) 248.92/165.32 new_pr2F0G(vyv187, vyv183, Pos(Zero), h) -> new_pr2F0G(vyv187, new_sr(vyv183, h), Pos(new_primDivNatS1(Zero, Succ(Zero))), h) 248.92/165.32 new_pr2F0(vyv183, Pos(Zero), vyv187, h) -> new_pr2F0G(vyv187, new_sr(vyv183, h), Pos(Zero), h) 248.92/165.32 248.92/165.32 The TRS R consists of the following rules: 248.92/165.32 248.92/165.32 new_sr(vyv183, ty_Int) -> new_sr6(vyv183) 248.92/165.32 new_sr(vyv183, app(ty_Ratio, bd)) -> new_sr5(vyv183, bd) 248.92/165.32 new_sr(vyv183, ty_Integer) -> new_sr7(vyv183) 248.92/165.32 new_sr(vyv183, ty_Float) -> new_sr10(vyv183) 248.92/165.32 new_sr(vyv183, ty_Double) -> new_sr9(vyv183) 248.92/165.32 new_primDivNatS1(Zero, vyv28400) -> Zero 248.92/165.32 new_sr9(vyv183) -> error([]) 248.92/165.32 new_sr10(vyv183) -> error([]) 248.92/165.32 new_sr7(vyv183) -> error([]) 248.92/165.32 new_sr5(:%(vyv1830, vyv1831), bd) -> new_reduce2Reduce1(vyv1830, vyv1830, vyv1831, vyv1831, new_esEs0(vyv1831, bd), bd) 248.92/165.32 new_esEs0(vyv1831, ty_Int) -> new_esEs(new_sr6(vyv1831)) 248.92/165.32 new_esEs0(vyv1831, ty_Integer) -> new_esEs1(new_sr7(vyv1831)) 248.92/165.32 new_reduce2Reduce1(vyv264, vyv265, vyv266, vyv267, False, bh) -> :%(new_quot1(vyv264, vyv265, vyv266, vyv267, bh), new_quot2(vyv266, vyv267, vyv264, vyv265, bh)) 248.92/165.32 new_reduce2Reduce1(vyv264, vyv265, vyv266, vyv267, True, bh) -> error([]) 248.92/165.32 new_quot1(vyv264, vyv265, vyv266, vyv267, ty_Int) -> new_quot0(new_sr14(vyv264, vyv265), new_sr14(vyv264, vyv265), new_sr14(vyv266, vyv267)) 248.92/165.32 new_quot1(vyv264, vyv265, vyv266, vyv267, ty_Integer) -> new_quot(new_sr8(vyv264, vyv265), new_sr8(vyv264, vyv265), new_sr8(vyv266, vyv267)) 248.92/165.32 new_quot2(vyv266, vyv267, vyv264, vyv265, ty_Int) -> new_quot0(new_sr14(vyv266, vyv267), new_sr14(vyv264, vyv265), new_sr14(vyv266, vyv267)) 248.92/165.32 new_quot2(vyv266, vyv267, vyv264, vyv265, ty_Integer) -> new_quot(new_sr8(vyv266, vyv267), new_sr8(vyv264, vyv265), new_sr8(vyv266, vyv267)) 248.92/165.32 new_sr8(vyv239, vyv238) -> error([]) 248.92/165.32 new_quot(vyv273, vyv275, vyv274) -> error([]) 248.92/165.32 new_sr14(Pos(vyv2390), Neg(vyv2380)) -> Neg(new_primMulNat0(vyv2390, vyv2380)) 248.92/165.32 new_sr14(Neg(vyv2390), Pos(vyv2380)) -> Neg(new_primMulNat0(vyv2390, vyv2380)) 248.92/165.32 new_sr14(Neg(vyv2390), Neg(vyv2380)) -> Pos(new_primMulNat0(vyv2390, vyv2380)) 248.92/165.32 new_sr14(Pos(vyv2390), Pos(vyv2380)) -> Pos(new_primMulNat0(vyv2390, vyv2380)) 248.92/165.32 new_quot0(Neg(vyv2700), vyv272, vyv271) -> new_primQuotInt0(vyv2700, new_gcd(vyv272, vyv271)) 248.92/165.32 new_quot0(Pos(vyv2700), vyv272, vyv271) -> new_primQuotInt(vyv2700, new_gcd(vyv272, vyv271)) 248.92/165.32 new_gcd(vyv272, vyv271) -> new_gcd2(new_esEs(vyv272), vyv272, vyv271) 248.92/165.32 new_primQuotInt(vyv2700, Pos(Succ(vyv28400))) -> Pos(new_primDivNatS1(vyv2700, vyv28400)) 248.92/165.32 new_primQuotInt(vyv2700, Neg(Zero)) -> new_error 248.92/165.32 new_primQuotInt(vyv2700, Pos(Zero)) -> new_error 248.92/165.32 new_primQuotInt(vyv2700, Neg(Succ(vyv28400))) -> Neg(new_primDivNatS1(vyv2700, vyv28400)) 248.92/165.32 new_primDivNatS1(Succ(Succ(vyv270000)), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS0(vyv270000), Zero)) 248.92/165.32 new_primDivNatS1(Succ(Zero), Succ(vyv284000)) -> Zero 248.92/165.32 new_primDivNatS1(Succ(Succ(vyv270000)), Succ(vyv284000)) -> new_primDivNatS02(vyv270000, vyv284000, vyv270000, vyv284000) 248.92/165.32 new_primDivNatS1(Succ(Zero), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS1, Zero)) 248.92/165.32 new_primMinusNatS1 -> Zero 248.92/165.32 new_primDivNatS02(vyv310, vyv311, Zero, Zero) -> new_primDivNatS01(vyv310, vyv311) 248.92/165.32 new_primDivNatS02(vyv310, vyv311, Succ(vyv3120), Zero) -> new_primDivNatS01(vyv310, vyv311) 248.92/165.32 new_primDivNatS02(vyv310, vyv311, Zero, Succ(vyv3130)) -> Zero 248.92/165.32 new_primDivNatS02(vyv310, vyv311, Succ(vyv3120), Succ(vyv3130)) -> new_primDivNatS02(vyv310, vyv311, vyv3120, vyv3130) 248.92/165.32 new_primDivNatS01(vyv310, vyv311) -> Succ(new_primDivNatS1(new_primMinusNatS2(vyv310, vyv311), Succ(vyv311))) 248.92/165.32 new_primMinusNatS2(Zero, Succ(vyv3110)) -> Zero 248.92/165.32 new_primMinusNatS2(Succ(vyv3100), Zero) -> Succ(vyv3100) 248.92/165.32 new_primMinusNatS2(Zero, Zero) -> Zero 248.92/165.32 new_primMinusNatS2(Succ(vyv3100), Succ(vyv3110)) -> new_primMinusNatS2(vyv3100, vyv3110) 248.92/165.32 new_primMinusNatS0(vyv270000) -> Succ(vyv270000) 248.92/165.32 new_error -> error([]) 248.92/165.32 new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) 248.92/165.32 new_esEs(Pos(Succ(vyv24100))) -> new_primEqInt(Pos(Succ(vyv24100))) 248.92/165.32 new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) 248.92/165.32 new_esEs(Neg(Succ(vyv24100))) -> new_primEqInt(Neg(Succ(vyv24100))) 248.92/165.32 new_gcd2(True, vyv272, vyv271) -> new_gcd1(new_esEs(vyv271), vyv272, vyv271) 248.92/165.32 new_gcd2(False, vyv272, vyv271) -> new_gcd0(vyv272, vyv271) 248.92/165.32 new_gcd0(vyv272, vyv271) -> new_gcd0Gcd'10(new_esEs(new_abs(vyv271)), vyv272, vyv271) 248.92/165.32 new_abs(Neg(Zero)) -> Neg(Zero) 248.92/165.32 new_abs(Neg(Succ(vyv27100))) -> Pos(Succ(vyv27100)) 248.92/165.32 new_abs(Pos(Succ(vyv27100))) -> Pos(Succ(vyv27100)) 248.92/165.32 new_abs(Pos(Zero)) -> Pos(Zero) 248.92/165.32 new_gcd0Gcd'10(True, vyv272, vyv271) -> new_abs(vyv272) 248.92/165.32 new_gcd0Gcd'10(False, vyv272, vyv271) -> new_gcd0Gcd'00(new_abs(vyv272), new_abs(vyv271)) 248.92/165.32 new_gcd0Gcd'11(False, vyv291, vyv292) -> new_gcd0Gcd'00(vyv291, new_rem(vyv292, vyv291)) 248.92/165.32 new_gcd0Gcd'00(vyv292, vyv291) -> new_gcd0Gcd'11(new_esEs(new_rem(vyv292, vyv291)), vyv291, vyv292) 248.92/165.32 new_rem(Pos(vyv2920), Neg(Zero)) -> new_error 248.92/165.32 new_rem(Neg(vyv2920), Pos(Zero)) -> new_error 248.92/165.32 new_rem(Pos(vyv2920), Neg(Succ(vyv29100))) -> Pos(new_primModNatS1(vyv2920, vyv29100)) 248.92/165.32 new_rem(Neg(vyv2920), Pos(Succ(vyv29100))) -> Neg(new_primModNatS1(vyv2920, vyv29100)) 248.92/165.32 new_rem(Pos(vyv2920), Pos(Succ(vyv29100))) -> Pos(new_primModNatS1(vyv2920, vyv29100)) 248.92/165.32 new_rem(Neg(vyv2920), Neg(Zero)) -> new_error 248.92/165.32 new_rem(Neg(vyv2920), Neg(Succ(vyv29100))) -> Neg(new_primModNatS1(vyv2920, vyv29100)) 248.92/165.32 new_rem(Pos(vyv2920), Pos(Zero)) -> new_error 248.92/165.32 new_gcd0Gcd'11(True, vyv291, vyv292) -> vyv291 248.92/165.32 new_primModNatS1(Succ(Zero), Succ(vyv291000)) -> Succ(Zero) 248.92/165.32 new_primModNatS1(Zero, vyv29100) -> Zero 248.92/165.32 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 248.92/165.32 new_primModNatS1(Succ(Succ(vyv292000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv292000), Zero) 248.92/165.32 new_primModNatS1(Succ(Succ(vyv292000)), Succ(vyv291000)) -> new_primModNatS01(vyv292000, vyv291000, vyv292000, vyv291000) 248.92/165.32 new_primModNatS01(vyv330, vyv331, Zero, Zero) -> new_primModNatS02(vyv330, vyv331) 248.92/165.32 new_primModNatS02(vyv330, vyv331) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv330), Succ(vyv331)), Succ(vyv331)) 248.92/165.32 new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Zero) -> new_primModNatS02(vyv330, vyv331) 248.92/165.32 new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Succ(vyv3330)) -> new_primModNatS01(vyv330, vyv331, vyv3320, vyv3330) 248.92/165.32 new_primModNatS01(vyv330, vyv331, Zero, Succ(vyv3330)) -> Succ(Succ(vyv330)) 248.92/165.32 new_gcd1(True, vyv272, vyv271) -> new_error 248.92/165.32 new_gcd1(False, vyv272, vyv271) -> new_gcd0(vyv272, vyv271) 248.92/165.32 new_primEqInt(Neg(Succ(vyv242000))) -> False 248.92/165.32 new_primEqInt(Pos(Zero)) -> True 248.92/165.32 new_primEqInt(Pos(Succ(vyv242000))) -> False 248.92/165.32 new_primEqInt(Neg(Zero)) -> True 248.92/165.32 new_primQuotInt0(vyv2700, Pos(Succ(vyv28700))) -> Neg(new_primDivNatS1(vyv2700, vyv28700)) 248.92/165.32 new_primQuotInt0(vyv2700, Neg(Zero)) -> new_error 248.92/165.32 new_primQuotInt0(vyv2700, Neg(Succ(vyv28700))) -> Pos(new_primDivNatS1(vyv2700, vyv28700)) 248.92/165.32 new_primQuotInt0(vyv2700, Pos(Zero)) -> new_error 248.92/165.32 new_primMulNat0(Succ(vyv23900), Zero) -> Zero 248.92/165.32 new_primMulNat0(Zero, Succ(vyv23800)) -> Zero 248.92/165.32 new_primMulNat0(Zero, Zero) -> Zero 248.92/165.32 new_primMulNat0(Succ(vyv23900), Succ(vyv23800)) -> new_primPlusNat0(new_primMulNat0(vyv23900, Succ(vyv23800)), Succ(vyv23800)) 248.92/165.32 new_primPlusNat0(Succ(vyv4000), Succ(vyv5000)) -> Succ(Succ(new_primPlusNat0(vyv4000, vyv5000))) 248.92/165.32 new_primPlusNat0(Zero, Succ(vyv5000)) -> Succ(vyv5000) 248.92/165.32 new_primPlusNat0(Zero, Zero) -> Zero 248.92/165.32 new_primPlusNat0(Succ(vyv4000), Zero) -> Succ(vyv4000) 248.92/165.32 new_esEs1(Integer(vyv2690)) -> new_primEqInt(vyv2690) 248.92/165.32 new_sr6(Neg(vyv1830)) -> Pos(new_primMulNat1(vyv1830)) 248.92/165.32 new_sr6(Pos(vyv1830)) -> Pos(new_primMulNat1(vyv1830)) 248.92/165.32 new_primMulNat1(Succ(vyv18300)) -> new_primPlusNat0(new_primMulNat2(vyv18300), Succ(vyv18300)) 248.92/165.32 new_primMulNat1(Zero) -> Zero 248.92/165.32 new_primMulNat2(Succ(vyv183000)) -> new_primPlusNat0(new_primMulNat3(vyv183000), Succ(Succ(vyv183000))) 248.92/165.32 new_primMulNat2(Zero) -> Zero 248.92/165.32 new_primMulNat3(Succ(vyv1830000)) -> new_primPlusNat0(new_primMulNat4(vyv1830000), Succ(Succ(Succ(vyv1830000)))) 248.92/165.32 new_primMulNat3(Zero) -> Zero 248.92/165.32 new_primMulNat4(Succ(vyv18300000)) -> new_primPlusNat0(new_primMulNat0(vyv18300000, Succ(Succ(Succ(Succ(vyv18300000))))), Succ(Succ(Succ(Succ(vyv18300000))))) 248.92/165.32 new_primMulNat4(Zero) -> Zero 248.92/165.32 new_sr1(vyv227, ty_Int) -> new_sr6(vyv227) 248.92/165.32 new_sr1(vyv227, ty_Integer) -> new_sr7(vyv227) 248.92/165.32 new_sr1(vyv227, app(ty_Ratio, be)) -> new_sr5(vyv227, be) 248.92/165.32 new_sr1(vyv227, ty_Float) -> new_sr10(vyv227) 248.92/165.32 new_sr1(vyv227, ty_Double) -> new_sr9(vyv227) 248.92/165.32 new_ms(vyv228, Neg(vyv2440)) -> Pos(new_primPlusNat0(Succ(vyv228), vyv2440)) 248.92/165.32 new_ms(vyv228, Pos(Succ(vyv24400))) -> new_primMinusNat0(vyv228, vyv24400) 248.92/165.32 new_ms(vyv228, Pos(Zero)) -> Pos(Succ(vyv228)) 248.92/165.32 new_sr2(vyv227, vyv226, ty_Int) -> new_sr14(vyv227, vyv226) 248.92/165.32 new_sr2(vyv227, vyv226, ty_Double) -> new_sr11(vyv227, vyv226) 248.92/165.32 new_sr2(vyv227, vyv226, ty_Integer) -> new_sr8(vyv227, vyv226) 248.92/165.32 new_sr2(vyv227, vyv226, ty_Float) -> new_sr13(vyv227, vyv226) 248.92/165.32 new_sr2(vyv227, vyv226, app(ty_Ratio, be)) -> new_sr12(vyv227, vyv226, be) 248.92/165.32 new_sr12(:%(vyv2390, vyv2391), :%(vyv2380, vyv2381), bf) -> new_reduce2Reduce1(vyv2390, vyv2380, vyv2391, vyv2381, new_esEs2(vyv2391, vyv2381, bf), bf) 248.92/165.32 new_esEs2(vyv2391, vyv2381, ty_Int) -> new_esEs(new_sr14(vyv2391, vyv2381)) 248.92/165.32 new_esEs2(vyv2391, vyv2381, ty_Integer) -> new_esEs1(new_sr8(vyv2391, vyv2381)) 248.92/165.32 new_sr13(vyv239, vyv238) -> error([]) 248.92/165.32 new_sr11(vyv239, vyv238) -> error([]) 248.92/165.32 new_primMinusNat0(Succ(vyv2280), Succ(vyv244000)) -> new_primMinusNat0(vyv2280, vyv244000) 248.92/165.32 new_primMinusNat0(Zero, Zero) -> Pos(Zero) 248.92/165.32 new_primMinusNat0(Zero, Succ(vyv244000)) -> Neg(Succ(vyv244000)) 248.92/165.32 new_primMinusNat0(Succ(vyv2280), Zero) -> Pos(Succ(vyv2280)) 248.92/165.32 new_sr3(vyv249, ty_Float) -> new_sr10(vyv249) 248.92/165.32 new_sr3(vyv249, ty_Double) -> new_sr9(vyv249) 248.92/165.32 new_sr3(vyv249, ty_Int) -> new_sr6(vyv249) 248.92/165.32 new_sr3(vyv249, ty_Integer) -> new_sr7(vyv249) 248.92/165.32 new_sr3(vyv249, app(ty_Ratio, bg)) -> new_sr5(vyv249, bg) 248.92/165.32 new_ms0(vyv240, Neg(Zero)) -> Neg(Succ(vyv240)) 248.92/165.32 new_ms0(vyv240, Pos(vyv2430)) -> Neg(new_primPlusNat0(Succ(vyv240), vyv2430)) 248.92/165.32 new_ms0(vyv240, Neg(Succ(vyv24300))) -> new_primMinusNat0(vyv24300, vyv240) 248.92/165.32 new_sr4(vyv239, vyv238, app(ty_Ratio, bf)) -> new_sr12(vyv239, vyv238, bf) 248.92/165.32 new_sr4(vyv239, vyv238, ty_Integer) -> new_sr8(vyv239, vyv238) 248.92/165.32 new_sr4(vyv239, vyv238, ty_Int) -> new_sr14(vyv239, vyv238) 248.92/165.32 new_sr4(vyv239, vyv238, ty_Double) -> new_sr11(vyv239, vyv238) 248.92/165.32 new_sr4(vyv239, vyv238, ty_Float) -> new_sr13(vyv239, vyv238) 248.92/165.32 248.92/165.32 The set Q consists of the following terms: 248.92/165.32 248.92/165.32 new_rem(Pos(x0), Pos(Succ(x1))) 248.92/165.32 new_quot1(x0, x1, x2, x3, ty_Integer) 248.92/165.32 new_primModNatS1(Succ(Zero), Succ(x0)) 248.92/165.32 new_ms0(x0, Pos(x1)) 248.92/165.32 new_sr(x0, app(ty_Ratio, x1)) 248.92/165.32 new_primMulNat4(Zero) 248.92/165.32 new_gcd1(False, x0, x1) 248.92/165.32 new_primEqInt(Pos(Zero)) 248.92/165.32 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 248.92/165.32 new_rem(Pos(x0), Neg(Succ(x1))) 248.92/165.32 new_rem(Neg(x0), Pos(Succ(x1))) 248.92/165.32 new_sr10(x0) 248.92/165.32 new_quot1(x0, x1, x2, x3, ty_Int) 248.92/165.32 new_quot2(x0, x1, x2, x3, ty_Integer) 248.92/165.32 new_primModNatS01(x0, x1, Succ(x2), Zero) 248.92/165.32 new_sr3(x0, ty_Integer) 248.92/165.32 new_primMulNat3(Zero) 248.92/165.32 new_primDivNatS02(x0, x1, Succ(x2), Zero) 248.92/165.32 new_sr(x0, ty_Float) 248.92/165.32 new_quot2(x0, x1, x2, x3, ty_Int) 248.92/165.32 new_gcd2(False, x0, x1) 248.92/165.32 new_primDivNatS1(Succ(Zero), Zero) 248.92/165.32 new_esEs0(x0, ty_Int) 248.92/165.32 new_sr14(Pos(x0), Pos(x1)) 248.92/165.32 new_sr3(x0, ty_Int) 248.92/165.32 new_primMulNat0(Zero, Zero) 248.92/165.32 new_sr4(x0, x1, ty_Double) 248.92/165.32 new_primPlusNat0(Succ(x0), Zero) 248.92/165.32 new_primMulNat2(Zero) 248.92/165.32 new_sr11(x0, x1) 248.92/165.32 new_primModNatS01(x0, x1, Zero, Zero) 248.92/165.32 new_esEs2(x0, x1, ty_Int) 248.92/165.32 new_gcd1(True, x0, x1) 248.92/165.32 new_sr13(x0, x1) 248.92/165.32 new_sr14(Pos(x0), Neg(x1)) 248.92/165.32 new_sr14(Neg(x0), Pos(x1)) 248.92/165.32 new_primDivNatS1(Succ(Succ(x0)), Succ(x1)) 248.92/165.32 new_sr1(x0, ty_Int) 248.92/165.32 new_primModNatS1(Zero, x0) 248.92/165.32 new_esEs(Pos(Succ(x0))) 248.92/165.32 new_primMulNat3(Succ(x0)) 248.92/165.32 new_sr1(x0, app(ty_Ratio, x1)) 248.92/165.32 new_primQuotInt(x0, Neg(Succ(x1))) 248.92/165.32 new_reduce2Reduce1(x0, x1, x2, x3, False, x4) 248.92/165.32 new_primMinusNat0(Zero, Zero) 248.92/165.32 new_primDivNatS1(Zero, x0) 248.92/165.32 new_primDivNatS02(x0, x1, Succ(x2), Succ(x3)) 248.92/165.32 new_primModNatS02(x0, x1) 248.92/165.32 new_primDivNatS1(Succ(Zero), Succ(x0)) 248.92/165.32 new_sr6(Neg(x0)) 248.92/165.32 new_gcd0Gcd'10(True, x0, x1) 248.92/165.32 new_primMulNat0(Succ(x0), Succ(x1)) 248.92/165.32 new_abs(Neg(Zero)) 248.92/165.32 new_ms(x0, Neg(x1)) 248.92/165.32 new_rem(Pos(x0), Neg(Zero)) 248.92/165.32 new_rem(Neg(x0), Pos(Zero)) 248.92/165.32 new_primMinusNatS2(Zero, Succ(x0)) 248.92/165.32 new_esEs(Neg(Succ(x0))) 248.92/165.32 new_error 248.92/165.32 new_primModNatS1(Succ(Zero), Zero) 248.92/165.32 new_primMulNat0(Zero, Succ(x0)) 248.92/165.32 new_sr3(x0, ty_Float) 248.92/165.32 new_quot(x0, x1, x2) 248.92/165.32 new_gcd2(True, x0, x1) 248.92/165.32 new_gcd0Gcd'11(True, x0, x1) 248.92/165.32 new_primEqInt(Neg(Zero)) 248.92/165.32 new_sr2(x0, x1, ty_Double) 248.92/165.32 new_primMulNat0(Succ(x0), Zero) 248.92/165.32 new_quot0(Neg(x0), x1, x2) 248.92/165.32 new_primMinusNatS2(Succ(x0), Succ(x1)) 248.92/165.32 new_sr4(x0, x1, app(ty_Ratio, x2)) 248.92/165.32 new_sr8(x0, x1) 248.92/165.32 new_primDivNatS01(x0, x1) 248.92/165.32 new_primDivNatS02(x0, x1, Zero, Succ(x2)) 248.92/165.32 new_primPlusNat0(Succ(x0), Succ(x1)) 248.92/165.32 new_sr1(x0, ty_Integer) 248.92/165.32 new_primPlusNat0(Zero, Zero) 248.92/165.32 new_sr1(x0, ty_Float) 248.92/165.32 new_primMinusNat0(Succ(x0), Succ(x1)) 248.92/165.32 new_sr12(:%(x0, x1), :%(x2, x3), x4) 248.92/165.32 new_abs(Neg(Succ(x0))) 248.92/165.32 new_sr1(x0, ty_Double) 248.92/165.32 new_sr3(x0, app(ty_Ratio, x1)) 248.92/165.32 new_sr7(x0) 248.92/165.32 new_gcd0(x0, x1) 248.92/165.32 new_sr(x0, ty_Integer) 248.92/165.32 new_primQuotInt0(x0, Pos(Succ(x1))) 248.92/165.32 new_sr4(x0, x1, ty_Integer) 248.92/165.32 new_sr5(:%(x0, x1), x2) 248.92/165.32 new_primMinusNatS2(Zero, Zero) 248.92/165.32 new_primMulNat1(Succ(x0)) 248.92/165.32 new_ms(x0, Pos(Zero)) 248.92/165.32 new_abs(Pos(Succ(x0))) 248.92/165.32 new_sr4(x0, x1, ty_Int) 248.92/165.32 new_esEs(Pos(Zero)) 248.92/165.32 new_primQuotInt0(x0, Pos(Zero)) 248.92/165.32 new_sr(x0, ty_Int) 248.92/165.32 new_primEqInt(Neg(Succ(x0))) 248.92/165.32 new_primQuotInt(x0, Neg(Zero)) 248.92/165.32 new_primQuotInt0(x0, Neg(Zero)) 248.92/165.32 new_primQuotInt0(x0, Neg(Succ(x1))) 248.92/165.32 new_gcd(x0, x1) 248.92/165.32 new_quot0(Pos(x0), x1, x2) 248.92/165.32 new_primMinusNatS0(x0) 248.92/165.32 new_primPlusNat0(Zero, Succ(x0)) 248.92/165.32 new_sr2(x0, x1, app(ty_Ratio, x2)) 248.92/165.32 new_sr2(x0, x1, ty_Int) 248.92/165.32 new_primQuotInt(x0, Pos(Succ(x1))) 248.92/165.32 new_primDivNatS1(Succ(Succ(x0)), Zero) 248.92/165.32 new_rem(Pos(x0), Pos(Zero)) 248.92/165.32 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 248.92/165.32 new_primDivNatS02(x0, x1, Zero, Zero) 248.92/165.32 new_abs(Pos(Zero)) 248.92/165.32 new_gcd0Gcd'10(False, x0, x1) 248.92/165.32 new_ms(x0, Pos(Succ(x1))) 248.92/165.32 new_primMinusNatS1 248.92/165.32 new_esEs1(Integer(x0)) 248.92/165.32 new_ms0(x0, Neg(Zero)) 248.92/165.32 new_primMinusNat0(Succ(x0), Zero) 248.92/165.32 new_ms0(x0, Neg(Succ(x1))) 248.92/165.32 new_sr2(x0, x1, ty_Integer) 248.92/165.32 new_primModNatS01(x0, x1, Zero, Succ(x2)) 248.92/165.32 new_primMulNat2(Succ(x0)) 248.92/165.32 new_sr14(Neg(x0), Neg(x1)) 248.92/165.32 new_sr2(x0, x1, ty_Float) 248.92/165.32 new_primMinusNatS2(Succ(x0), Zero) 248.92/165.32 new_sr4(x0, x1, ty_Float) 248.92/165.32 new_sr6(Pos(x0)) 248.92/165.32 new_esEs2(x0, x1, ty_Integer) 248.92/165.32 new_primMulNat4(Succ(x0)) 248.92/165.32 new_rem(Neg(x0), Neg(Succ(x1))) 248.92/165.32 new_primEqInt(Pos(Succ(x0))) 248.92/165.32 new_primQuotInt(x0, Pos(Zero)) 248.92/165.32 new_gcd0Gcd'11(False, x0, x1) 248.92/165.32 new_sr9(x0) 248.92/165.32 new_primModNatS1(Succ(Succ(x0)), Zero) 248.92/165.32 new_sr(x0, ty_Double) 248.92/165.32 new_esEs0(x0, ty_Integer) 248.92/165.32 new_gcd0Gcd'00(x0, x1) 248.92/165.32 new_reduce2Reduce1(x0, x1, x2, x3, True, x4) 248.92/165.32 new_sr3(x0, ty_Double) 248.92/165.32 new_esEs(Neg(Zero)) 248.92/165.32 new_primMulNat1(Zero) 248.92/165.32 new_primMinusNat0(Zero, Succ(x0)) 248.92/165.32 new_rem(Neg(x0), Neg(Zero)) 248.92/165.32 248.92/165.32 We have to consider all minimal (P,Q,R)-chains. 248.92/165.32 ---------------------------------------- 248.92/165.32 248.92/165.32 (771) TransformationProof (EQUIVALENT) 248.92/165.32 By rewriting [LPAR04] the rule new_pr2F0G(vyv187, vyv183, Pos(Zero), h) -> new_pr2F0G(vyv187, new_sr(vyv183, h), Pos(new_primDivNatS1(Zero, Succ(Zero))), h) at position [2,0] we obtained the following new rules [LPAR04]: 248.92/165.32 248.92/165.32 (new_pr2F0G(vyv187, vyv183, Pos(Zero), h) -> new_pr2F0G(vyv187, new_sr(vyv183, h), Pos(Zero), h),new_pr2F0G(vyv187, vyv183, Pos(Zero), h) -> new_pr2F0G(vyv187, new_sr(vyv183, h), Pos(Zero), h)) 248.92/165.32 248.92/165.32 248.92/165.32 ---------------------------------------- 248.92/165.32 248.92/165.32 (772) 248.92/165.32 Obligation: 248.92/165.32 Q DP problem: 248.92/165.32 The TRS P consists of the following rules: 248.92/165.32 248.92/165.32 new_pr2F0G10(vyv248, vyv249, vyv250, Succ(Zero), bb) -> new_pr2F0G11(vyv248, vyv249, vyv250, bb) 248.92/165.32 new_pr2F0G11(vyv238, vyv239, vyv240, bc) -> new_pr2F1(vyv239, vyv240, Pos(Succ(Zero)), vyv238, bc) 248.92/165.32 new_pr2F1(vyv239, vyv240, vyv243, vyv238, bc) -> new_pr2F30(new_esEs(new_ms0(vyv240, vyv243)), vyv239, vyv240, vyv243, vyv238, bc) 248.92/165.32 new_pr2F30(False, vyv239, vyv240, vyv243, vyv238, bc) -> new_pr2F0(vyv239, new_ms0(vyv240, vyv243), new_sr4(vyv239, vyv238, bc), bc) 248.92/165.32 new_pr2F0(vyv183, Neg(Succ(Succ(vyv222000))), vyv187, h) -> new_pr2F0G10(vyv187, vyv183, Succ(vyv222000), vyv222000, h) 248.92/165.32 new_pr2F0G10(vyv248, vyv249, vyv250, Succ(Succ(vyv25100)), bb) -> new_pr2F0G10(vyv248, vyv249, vyv250, vyv25100, bb) 248.92/165.32 new_pr2F0G10(vyv248, vyv249, vyv250, Zero, bb) -> new_pr2F0G(vyv248, new_sr3(vyv249, bb), Neg(new_primDivNatS1(Succ(vyv250), Succ(Zero))), bb) 248.92/165.32 new_pr2F0G(vyv187, vyv183, Neg(Succ(Zero)), h) -> new_pr2F0G11(vyv187, vyv183, Zero, h) 248.92/165.32 new_pr2F0G(vyv187, vyv183, Neg(Succ(Succ(vyv222000))), h) -> new_pr2F0G10(vyv187, vyv183, Succ(vyv222000), vyv222000, h) 248.92/165.32 new_pr2F0(vyv183, Neg(Succ(Zero)), vyv187, h) -> new_pr2F0G11(vyv187, vyv183, Zero, h) 248.92/165.32 new_pr2F0(vyv183, Pos(Succ(Succ(vyv222000))), vyv187, h) -> new_pr2F0G1(vyv187, vyv183, Succ(vyv222000), vyv222000, h) 248.92/165.32 new_pr2F0G1(vyv226, vyv227, vyv228, Succ(Succ(vyv22900)), ba) -> new_pr2F0G1(vyv226, vyv227, vyv228, vyv22900, ba) 248.92/165.32 new_pr2F0G1(vyv226, vyv227, vyv228, Succ(Zero), ba) -> new_pr2F(vyv227, vyv228, Pos(Succ(Zero)), vyv226, ba) 248.92/165.32 new_pr2F(vyv227, vyv228, vyv244, vyv226, ba) -> new_pr2F3(new_esEs(new_ms(vyv228, vyv244)), vyv227, vyv228, vyv244, vyv226, ba) 248.92/165.32 new_pr2F3(False, vyv227, vyv228, vyv244, vyv226, ba) -> new_pr2F0(vyv227, new_ms(vyv228, vyv244), new_sr2(vyv227, vyv226, ba), ba) 248.92/165.32 new_pr2F0(vyv183, Pos(Succ(Zero)), vyv187, h) -> new_pr2F(vyv183, Zero, Pos(Succ(Zero)), vyv187, h) 248.92/165.32 new_pr2F0G(vyv187, vyv183, Pos(Succ(Succ(vyv222000))), h) -> new_pr2F0G1(vyv187, vyv183, Succ(vyv222000), vyv222000, h) 248.92/165.32 new_pr2F0G1(vyv226, vyv227, vyv228, Zero, ba) -> new_pr2F0G(vyv226, new_sr1(vyv227, ba), Pos(new_primDivNatS1(Succ(vyv228), Succ(Zero))), ba) 248.92/165.32 new_pr2F0G(vyv187, vyv183, Pos(Succ(Zero)), h) -> new_pr2F(vyv183, Zero, Pos(Succ(Zero)), vyv187, h) 248.92/165.32 new_pr2F0(vyv183, Pos(Zero), vyv187, h) -> new_pr2F0G(vyv187, new_sr(vyv183, h), Pos(Zero), h) 248.92/165.32 new_pr2F0G(vyv187, vyv183, Pos(Zero), h) -> new_pr2F0G(vyv187, new_sr(vyv183, h), Pos(Zero), h) 248.92/165.32 248.92/165.32 The TRS R consists of the following rules: 248.92/165.32 248.92/165.32 new_sr(vyv183, ty_Int) -> new_sr6(vyv183) 248.92/165.32 new_sr(vyv183, app(ty_Ratio, bd)) -> new_sr5(vyv183, bd) 248.92/165.32 new_sr(vyv183, ty_Integer) -> new_sr7(vyv183) 248.92/165.32 new_sr(vyv183, ty_Float) -> new_sr10(vyv183) 248.92/165.32 new_sr(vyv183, ty_Double) -> new_sr9(vyv183) 248.92/165.32 new_primDivNatS1(Zero, vyv28400) -> Zero 248.92/165.32 new_sr9(vyv183) -> error([]) 248.92/165.32 new_sr10(vyv183) -> error([]) 248.92/165.32 new_sr7(vyv183) -> error([]) 248.92/165.32 new_sr5(:%(vyv1830, vyv1831), bd) -> new_reduce2Reduce1(vyv1830, vyv1830, vyv1831, vyv1831, new_esEs0(vyv1831, bd), bd) 248.92/165.32 new_esEs0(vyv1831, ty_Int) -> new_esEs(new_sr6(vyv1831)) 248.92/165.32 new_esEs0(vyv1831, ty_Integer) -> new_esEs1(new_sr7(vyv1831)) 248.92/165.32 new_reduce2Reduce1(vyv264, vyv265, vyv266, vyv267, False, bh) -> :%(new_quot1(vyv264, vyv265, vyv266, vyv267, bh), new_quot2(vyv266, vyv267, vyv264, vyv265, bh)) 248.92/165.32 new_reduce2Reduce1(vyv264, vyv265, vyv266, vyv267, True, bh) -> error([]) 248.92/165.32 new_quot1(vyv264, vyv265, vyv266, vyv267, ty_Int) -> new_quot0(new_sr14(vyv264, vyv265), new_sr14(vyv264, vyv265), new_sr14(vyv266, vyv267)) 248.92/165.32 new_quot1(vyv264, vyv265, vyv266, vyv267, ty_Integer) -> new_quot(new_sr8(vyv264, vyv265), new_sr8(vyv264, vyv265), new_sr8(vyv266, vyv267)) 248.92/165.32 new_quot2(vyv266, vyv267, vyv264, vyv265, ty_Int) -> new_quot0(new_sr14(vyv266, vyv267), new_sr14(vyv264, vyv265), new_sr14(vyv266, vyv267)) 248.92/165.32 new_quot2(vyv266, vyv267, vyv264, vyv265, ty_Integer) -> new_quot(new_sr8(vyv266, vyv267), new_sr8(vyv264, vyv265), new_sr8(vyv266, vyv267)) 248.92/165.32 new_sr8(vyv239, vyv238) -> error([]) 248.92/165.32 new_quot(vyv273, vyv275, vyv274) -> error([]) 248.92/165.32 new_sr14(Pos(vyv2390), Neg(vyv2380)) -> Neg(new_primMulNat0(vyv2390, vyv2380)) 248.92/165.32 new_sr14(Neg(vyv2390), Pos(vyv2380)) -> Neg(new_primMulNat0(vyv2390, vyv2380)) 248.92/165.32 new_sr14(Neg(vyv2390), Neg(vyv2380)) -> Pos(new_primMulNat0(vyv2390, vyv2380)) 248.92/165.32 new_sr14(Pos(vyv2390), Pos(vyv2380)) -> Pos(new_primMulNat0(vyv2390, vyv2380)) 248.92/165.32 new_quot0(Neg(vyv2700), vyv272, vyv271) -> new_primQuotInt0(vyv2700, new_gcd(vyv272, vyv271)) 248.92/165.32 new_quot0(Pos(vyv2700), vyv272, vyv271) -> new_primQuotInt(vyv2700, new_gcd(vyv272, vyv271)) 248.92/165.32 new_gcd(vyv272, vyv271) -> new_gcd2(new_esEs(vyv272), vyv272, vyv271) 248.92/165.32 new_primQuotInt(vyv2700, Pos(Succ(vyv28400))) -> Pos(new_primDivNatS1(vyv2700, vyv28400)) 248.92/165.32 new_primQuotInt(vyv2700, Neg(Zero)) -> new_error 248.92/165.32 new_primQuotInt(vyv2700, Pos(Zero)) -> new_error 248.92/165.32 new_primQuotInt(vyv2700, Neg(Succ(vyv28400))) -> Neg(new_primDivNatS1(vyv2700, vyv28400)) 248.92/165.32 new_primDivNatS1(Succ(Succ(vyv270000)), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS0(vyv270000), Zero)) 248.92/165.32 new_primDivNatS1(Succ(Zero), Succ(vyv284000)) -> Zero 248.92/165.32 new_primDivNatS1(Succ(Succ(vyv270000)), Succ(vyv284000)) -> new_primDivNatS02(vyv270000, vyv284000, vyv270000, vyv284000) 248.92/165.32 new_primDivNatS1(Succ(Zero), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS1, Zero)) 248.92/165.32 new_primMinusNatS1 -> Zero 248.92/165.32 new_primDivNatS02(vyv310, vyv311, Zero, Zero) -> new_primDivNatS01(vyv310, vyv311) 248.92/165.32 new_primDivNatS02(vyv310, vyv311, Succ(vyv3120), Zero) -> new_primDivNatS01(vyv310, vyv311) 248.92/165.32 new_primDivNatS02(vyv310, vyv311, Zero, Succ(vyv3130)) -> Zero 248.92/165.32 new_primDivNatS02(vyv310, vyv311, Succ(vyv3120), Succ(vyv3130)) -> new_primDivNatS02(vyv310, vyv311, vyv3120, vyv3130) 248.92/165.32 new_primDivNatS01(vyv310, vyv311) -> Succ(new_primDivNatS1(new_primMinusNatS2(vyv310, vyv311), Succ(vyv311))) 248.92/165.32 new_primMinusNatS2(Zero, Succ(vyv3110)) -> Zero 248.92/165.32 new_primMinusNatS2(Succ(vyv3100), Zero) -> Succ(vyv3100) 248.92/165.32 new_primMinusNatS2(Zero, Zero) -> Zero 248.92/165.32 new_primMinusNatS2(Succ(vyv3100), Succ(vyv3110)) -> new_primMinusNatS2(vyv3100, vyv3110) 248.92/165.32 new_primMinusNatS0(vyv270000) -> Succ(vyv270000) 248.92/165.32 new_error -> error([]) 248.92/165.32 new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) 248.92/165.32 new_esEs(Pos(Succ(vyv24100))) -> new_primEqInt(Pos(Succ(vyv24100))) 248.92/165.32 new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) 248.92/165.32 new_esEs(Neg(Succ(vyv24100))) -> new_primEqInt(Neg(Succ(vyv24100))) 248.92/165.32 new_gcd2(True, vyv272, vyv271) -> new_gcd1(new_esEs(vyv271), vyv272, vyv271) 248.92/165.32 new_gcd2(False, vyv272, vyv271) -> new_gcd0(vyv272, vyv271) 248.92/165.32 new_gcd0(vyv272, vyv271) -> new_gcd0Gcd'10(new_esEs(new_abs(vyv271)), vyv272, vyv271) 248.92/165.32 new_abs(Neg(Zero)) -> Neg(Zero) 248.92/165.32 new_abs(Neg(Succ(vyv27100))) -> Pos(Succ(vyv27100)) 248.92/165.32 new_abs(Pos(Succ(vyv27100))) -> Pos(Succ(vyv27100)) 248.92/165.32 new_abs(Pos(Zero)) -> Pos(Zero) 248.92/165.32 new_gcd0Gcd'10(True, vyv272, vyv271) -> new_abs(vyv272) 248.92/165.32 new_gcd0Gcd'10(False, vyv272, vyv271) -> new_gcd0Gcd'00(new_abs(vyv272), new_abs(vyv271)) 248.92/165.32 new_gcd0Gcd'11(False, vyv291, vyv292) -> new_gcd0Gcd'00(vyv291, new_rem(vyv292, vyv291)) 248.92/165.32 new_gcd0Gcd'00(vyv292, vyv291) -> new_gcd0Gcd'11(new_esEs(new_rem(vyv292, vyv291)), vyv291, vyv292) 248.92/165.32 new_rem(Pos(vyv2920), Neg(Zero)) -> new_error 248.92/165.32 new_rem(Neg(vyv2920), Pos(Zero)) -> new_error 248.92/165.32 new_rem(Pos(vyv2920), Neg(Succ(vyv29100))) -> Pos(new_primModNatS1(vyv2920, vyv29100)) 248.92/165.32 new_rem(Neg(vyv2920), Pos(Succ(vyv29100))) -> Neg(new_primModNatS1(vyv2920, vyv29100)) 248.92/165.32 new_rem(Pos(vyv2920), Pos(Succ(vyv29100))) -> Pos(new_primModNatS1(vyv2920, vyv29100)) 248.92/165.32 new_rem(Neg(vyv2920), Neg(Zero)) -> new_error 248.92/165.32 new_rem(Neg(vyv2920), Neg(Succ(vyv29100))) -> Neg(new_primModNatS1(vyv2920, vyv29100)) 248.92/165.32 new_rem(Pos(vyv2920), Pos(Zero)) -> new_error 248.92/165.32 new_gcd0Gcd'11(True, vyv291, vyv292) -> vyv291 248.92/165.32 new_primModNatS1(Succ(Zero), Succ(vyv291000)) -> Succ(Zero) 248.92/165.32 new_primModNatS1(Zero, vyv29100) -> Zero 248.92/165.32 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 248.92/165.32 new_primModNatS1(Succ(Succ(vyv292000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv292000), Zero) 248.92/165.32 new_primModNatS1(Succ(Succ(vyv292000)), Succ(vyv291000)) -> new_primModNatS01(vyv292000, vyv291000, vyv292000, vyv291000) 248.92/165.32 new_primModNatS01(vyv330, vyv331, Zero, Zero) -> new_primModNatS02(vyv330, vyv331) 248.92/165.32 new_primModNatS02(vyv330, vyv331) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv330), Succ(vyv331)), Succ(vyv331)) 248.92/165.32 new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Zero) -> new_primModNatS02(vyv330, vyv331) 248.92/165.32 new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Succ(vyv3330)) -> new_primModNatS01(vyv330, vyv331, vyv3320, vyv3330) 248.92/165.32 new_primModNatS01(vyv330, vyv331, Zero, Succ(vyv3330)) -> Succ(Succ(vyv330)) 248.92/165.32 new_gcd1(True, vyv272, vyv271) -> new_error 248.92/165.32 new_gcd1(False, vyv272, vyv271) -> new_gcd0(vyv272, vyv271) 248.92/165.32 new_primEqInt(Neg(Succ(vyv242000))) -> False 248.92/165.32 new_primEqInt(Pos(Zero)) -> True 248.92/165.32 new_primEqInt(Pos(Succ(vyv242000))) -> False 248.92/165.32 new_primEqInt(Neg(Zero)) -> True 248.92/165.32 new_primQuotInt0(vyv2700, Pos(Succ(vyv28700))) -> Neg(new_primDivNatS1(vyv2700, vyv28700)) 248.92/165.32 new_primQuotInt0(vyv2700, Neg(Zero)) -> new_error 248.92/165.32 new_primQuotInt0(vyv2700, Neg(Succ(vyv28700))) -> Pos(new_primDivNatS1(vyv2700, vyv28700)) 248.92/165.32 new_primQuotInt0(vyv2700, Pos(Zero)) -> new_error 248.92/165.32 new_primMulNat0(Succ(vyv23900), Zero) -> Zero 248.92/165.32 new_primMulNat0(Zero, Succ(vyv23800)) -> Zero 248.92/165.32 new_primMulNat0(Zero, Zero) -> Zero 248.92/165.32 new_primMulNat0(Succ(vyv23900), Succ(vyv23800)) -> new_primPlusNat0(new_primMulNat0(vyv23900, Succ(vyv23800)), Succ(vyv23800)) 248.92/165.32 new_primPlusNat0(Succ(vyv4000), Succ(vyv5000)) -> Succ(Succ(new_primPlusNat0(vyv4000, vyv5000))) 248.92/165.32 new_primPlusNat0(Zero, Succ(vyv5000)) -> Succ(vyv5000) 248.92/165.32 new_primPlusNat0(Zero, Zero) -> Zero 248.92/165.32 new_primPlusNat0(Succ(vyv4000), Zero) -> Succ(vyv4000) 248.92/165.32 new_esEs1(Integer(vyv2690)) -> new_primEqInt(vyv2690) 248.92/165.32 new_sr6(Neg(vyv1830)) -> Pos(new_primMulNat1(vyv1830)) 248.92/165.32 new_sr6(Pos(vyv1830)) -> Pos(new_primMulNat1(vyv1830)) 248.92/165.32 new_primMulNat1(Succ(vyv18300)) -> new_primPlusNat0(new_primMulNat2(vyv18300), Succ(vyv18300)) 248.92/165.32 new_primMulNat1(Zero) -> Zero 248.92/165.32 new_primMulNat2(Succ(vyv183000)) -> new_primPlusNat0(new_primMulNat3(vyv183000), Succ(Succ(vyv183000))) 248.92/165.32 new_primMulNat2(Zero) -> Zero 248.92/165.32 new_primMulNat3(Succ(vyv1830000)) -> new_primPlusNat0(new_primMulNat4(vyv1830000), Succ(Succ(Succ(vyv1830000)))) 248.92/165.32 new_primMulNat3(Zero) -> Zero 248.92/165.32 new_primMulNat4(Succ(vyv18300000)) -> new_primPlusNat0(new_primMulNat0(vyv18300000, Succ(Succ(Succ(Succ(vyv18300000))))), Succ(Succ(Succ(Succ(vyv18300000))))) 248.92/165.32 new_primMulNat4(Zero) -> Zero 248.92/165.32 new_sr1(vyv227, ty_Int) -> new_sr6(vyv227) 248.92/165.32 new_sr1(vyv227, ty_Integer) -> new_sr7(vyv227) 248.92/165.32 new_sr1(vyv227, app(ty_Ratio, be)) -> new_sr5(vyv227, be) 248.92/165.32 new_sr1(vyv227, ty_Float) -> new_sr10(vyv227) 248.92/165.32 new_sr1(vyv227, ty_Double) -> new_sr9(vyv227) 248.92/165.32 new_ms(vyv228, Neg(vyv2440)) -> Pos(new_primPlusNat0(Succ(vyv228), vyv2440)) 248.92/165.32 new_ms(vyv228, Pos(Succ(vyv24400))) -> new_primMinusNat0(vyv228, vyv24400) 248.92/165.32 new_ms(vyv228, Pos(Zero)) -> Pos(Succ(vyv228)) 248.92/165.32 new_sr2(vyv227, vyv226, ty_Int) -> new_sr14(vyv227, vyv226) 248.92/165.32 new_sr2(vyv227, vyv226, ty_Double) -> new_sr11(vyv227, vyv226) 248.92/165.32 new_sr2(vyv227, vyv226, ty_Integer) -> new_sr8(vyv227, vyv226) 248.92/165.32 new_sr2(vyv227, vyv226, ty_Float) -> new_sr13(vyv227, vyv226) 248.92/165.32 new_sr2(vyv227, vyv226, app(ty_Ratio, be)) -> new_sr12(vyv227, vyv226, be) 248.92/165.32 new_sr12(:%(vyv2390, vyv2391), :%(vyv2380, vyv2381), bf) -> new_reduce2Reduce1(vyv2390, vyv2380, vyv2391, vyv2381, new_esEs2(vyv2391, vyv2381, bf), bf) 248.92/165.32 new_esEs2(vyv2391, vyv2381, ty_Int) -> new_esEs(new_sr14(vyv2391, vyv2381)) 248.92/165.32 new_esEs2(vyv2391, vyv2381, ty_Integer) -> new_esEs1(new_sr8(vyv2391, vyv2381)) 248.92/165.32 new_sr13(vyv239, vyv238) -> error([]) 248.92/165.32 new_sr11(vyv239, vyv238) -> error([]) 248.92/165.32 new_primMinusNat0(Succ(vyv2280), Succ(vyv244000)) -> new_primMinusNat0(vyv2280, vyv244000) 248.92/165.32 new_primMinusNat0(Zero, Zero) -> Pos(Zero) 248.92/165.32 new_primMinusNat0(Zero, Succ(vyv244000)) -> Neg(Succ(vyv244000)) 248.92/165.32 new_primMinusNat0(Succ(vyv2280), Zero) -> Pos(Succ(vyv2280)) 248.92/165.32 new_sr3(vyv249, ty_Float) -> new_sr10(vyv249) 248.92/165.32 new_sr3(vyv249, ty_Double) -> new_sr9(vyv249) 248.92/165.32 new_sr3(vyv249, ty_Int) -> new_sr6(vyv249) 248.92/165.32 new_sr3(vyv249, ty_Integer) -> new_sr7(vyv249) 248.92/165.32 new_sr3(vyv249, app(ty_Ratio, bg)) -> new_sr5(vyv249, bg) 248.92/165.32 new_ms0(vyv240, Neg(Zero)) -> Neg(Succ(vyv240)) 248.92/165.32 new_ms0(vyv240, Pos(vyv2430)) -> Neg(new_primPlusNat0(Succ(vyv240), vyv2430)) 248.92/165.32 new_ms0(vyv240, Neg(Succ(vyv24300))) -> new_primMinusNat0(vyv24300, vyv240) 248.92/165.32 new_sr4(vyv239, vyv238, app(ty_Ratio, bf)) -> new_sr12(vyv239, vyv238, bf) 248.92/165.32 new_sr4(vyv239, vyv238, ty_Integer) -> new_sr8(vyv239, vyv238) 248.92/165.32 new_sr4(vyv239, vyv238, ty_Int) -> new_sr14(vyv239, vyv238) 248.92/165.32 new_sr4(vyv239, vyv238, ty_Double) -> new_sr11(vyv239, vyv238) 248.92/165.32 new_sr4(vyv239, vyv238, ty_Float) -> new_sr13(vyv239, vyv238) 248.92/165.32 248.92/165.32 The set Q consists of the following terms: 248.92/165.32 248.92/165.32 new_rem(Pos(x0), Pos(Succ(x1))) 248.92/165.32 new_quot1(x0, x1, x2, x3, ty_Integer) 248.92/165.32 new_primModNatS1(Succ(Zero), Succ(x0)) 248.92/165.32 new_ms0(x0, Pos(x1)) 248.92/165.32 new_sr(x0, app(ty_Ratio, x1)) 248.92/165.32 new_primMulNat4(Zero) 248.92/165.32 new_gcd1(False, x0, x1) 248.92/165.32 new_primEqInt(Pos(Zero)) 248.92/165.32 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 248.92/165.32 new_rem(Pos(x0), Neg(Succ(x1))) 248.92/165.32 new_rem(Neg(x0), Pos(Succ(x1))) 248.92/165.32 new_sr10(x0) 248.92/165.32 new_quot1(x0, x1, x2, x3, ty_Int) 248.92/165.32 new_quot2(x0, x1, x2, x3, ty_Integer) 248.92/165.32 new_primModNatS01(x0, x1, Succ(x2), Zero) 248.92/165.32 new_sr3(x0, ty_Integer) 248.92/165.32 new_primMulNat3(Zero) 248.92/165.32 new_primDivNatS02(x0, x1, Succ(x2), Zero) 248.92/165.32 new_sr(x0, ty_Float) 248.92/165.32 new_quot2(x0, x1, x2, x3, ty_Int) 248.92/165.32 new_gcd2(False, x0, x1) 248.92/165.32 new_primDivNatS1(Succ(Zero), Zero) 248.92/165.32 new_esEs0(x0, ty_Int) 248.92/165.32 new_sr14(Pos(x0), Pos(x1)) 248.92/165.32 new_sr3(x0, ty_Int) 248.92/165.32 new_primMulNat0(Zero, Zero) 248.92/165.32 new_sr4(x0, x1, ty_Double) 248.92/165.32 new_primPlusNat0(Succ(x0), Zero) 248.92/165.32 new_primMulNat2(Zero) 248.92/165.32 new_sr11(x0, x1) 248.92/165.32 new_primModNatS01(x0, x1, Zero, Zero) 248.92/165.32 new_esEs2(x0, x1, ty_Int) 248.92/165.32 new_gcd1(True, x0, x1) 248.92/165.32 new_sr13(x0, x1) 248.92/165.32 new_sr14(Pos(x0), Neg(x1)) 248.92/165.32 new_sr14(Neg(x0), Pos(x1)) 248.92/165.32 new_primDivNatS1(Succ(Succ(x0)), Succ(x1)) 248.92/165.32 new_sr1(x0, ty_Int) 248.92/165.32 new_primModNatS1(Zero, x0) 248.92/165.32 new_esEs(Pos(Succ(x0))) 248.92/165.32 new_primMulNat3(Succ(x0)) 248.92/165.32 new_sr1(x0, app(ty_Ratio, x1)) 248.92/165.32 new_primQuotInt(x0, Neg(Succ(x1))) 248.92/165.32 new_reduce2Reduce1(x0, x1, x2, x3, False, x4) 248.92/165.32 new_primMinusNat0(Zero, Zero) 248.92/165.32 new_primDivNatS1(Zero, x0) 248.92/165.32 new_primDivNatS02(x0, x1, Succ(x2), Succ(x3)) 248.92/165.32 new_primModNatS02(x0, x1) 248.92/165.32 new_primDivNatS1(Succ(Zero), Succ(x0)) 248.92/165.32 new_sr6(Neg(x0)) 248.92/165.32 new_gcd0Gcd'10(True, x0, x1) 248.92/165.32 new_primMulNat0(Succ(x0), Succ(x1)) 248.92/165.32 new_abs(Neg(Zero)) 248.92/165.32 new_ms(x0, Neg(x1)) 248.92/165.32 new_rem(Pos(x0), Neg(Zero)) 248.92/165.32 new_rem(Neg(x0), Pos(Zero)) 248.92/165.32 new_primMinusNatS2(Zero, Succ(x0)) 248.92/165.32 new_esEs(Neg(Succ(x0))) 248.92/165.32 new_error 248.92/165.32 new_primModNatS1(Succ(Zero), Zero) 248.92/165.32 new_primMulNat0(Zero, Succ(x0)) 248.92/165.32 new_sr3(x0, ty_Float) 248.92/165.32 new_quot(x0, x1, x2) 248.92/165.32 new_gcd2(True, x0, x1) 248.92/165.32 new_gcd0Gcd'11(True, x0, x1) 248.92/165.32 new_primEqInt(Neg(Zero)) 248.92/165.32 new_sr2(x0, x1, ty_Double) 248.92/165.32 new_primMulNat0(Succ(x0), Zero) 248.92/165.32 new_quot0(Neg(x0), x1, x2) 248.92/165.32 new_primMinusNatS2(Succ(x0), Succ(x1)) 248.92/165.32 new_sr4(x0, x1, app(ty_Ratio, x2)) 248.92/165.32 new_sr8(x0, x1) 248.92/165.32 new_primDivNatS01(x0, x1) 248.92/165.32 new_primDivNatS02(x0, x1, Zero, Succ(x2)) 248.92/165.32 new_primPlusNat0(Succ(x0), Succ(x1)) 248.92/165.32 new_sr1(x0, ty_Integer) 248.92/165.32 new_primPlusNat0(Zero, Zero) 248.92/165.32 new_sr1(x0, ty_Float) 248.92/165.32 new_primMinusNat0(Succ(x0), Succ(x1)) 248.92/165.32 new_sr12(:%(x0, x1), :%(x2, x3), x4) 248.92/165.32 new_abs(Neg(Succ(x0))) 248.92/165.32 new_sr1(x0, ty_Double) 248.92/165.32 new_sr3(x0, app(ty_Ratio, x1)) 248.92/165.32 new_sr7(x0) 248.92/165.32 new_gcd0(x0, x1) 248.92/165.32 new_sr(x0, ty_Integer) 248.92/165.32 new_primQuotInt0(x0, Pos(Succ(x1))) 248.92/165.32 new_sr4(x0, x1, ty_Integer) 248.92/165.32 new_sr5(:%(x0, x1), x2) 248.92/165.32 new_primMinusNatS2(Zero, Zero) 248.92/165.32 new_primMulNat1(Succ(x0)) 248.92/165.32 new_ms(x0, Pos(Zero)) 248.92/165.32 new_abs(Pos(Succ(x0))) 248.92/165.32 new_sr4(x0, x1, ty_Int) 248.92/165.32 new_esEs(Pos(Zero)) 248.92/165.32 new_primQuotInt0(x0, Pos(Zero)) 248.92/165.32 new_sr(x0, ty_Int) 248.92/165.32 new_primEqInt(Neg(Succ(x0))) 248.92/165.32 new_primQuotInt(x0, Neg(Zero)) 248.92/165.32 new_primQuotInt0(x0, Neg(Zero)) 248.92/165.32 new_primQuotInt0(x0, Neg(Succ(x1))) 248.92/165.32 new_gcd(x0, x1) 248.92/165.32 new_quot0(Pos(x0), x1, x2) 248.92/165.32 new_primMinusNatS0(x0) 248.92/165.32 new_primPlusNat0(Zero, Succ(x0)) 248.92/165.32 new_sr2(x0, x1, app(ty_Ratio, x2)) 248.92/165.32 new_sr2(x0, x1, ty_Int) 248.92/165.32 new_primQuotInt(x0, Pos(Succ(x1))) 248.92/165.32 new_primDivNatS1(Succ(Succ(x0)), Zero) 248.92/165.32 new_rem(Pos(x0), Pos(Zero)) 248.92/165.32 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 248.92/165.32 new_primDivNatS02(x0, x1, Zero, Zero) 248.92/165.32 new_abs(Pos(Zero)) 248.92/165.32 new_gcd0Gcd'10(False, x0, x1) 248.92/165.32 new_ms(x0, Pos(Succ(x1))) 248.95/165.32 new_primMinusNatS1 248.95/165.32 new_esEs1(Integer(x0)) 248.95/165.32 new_ms0(x0, Neg(Zero)) 248.95/165.32 new_primMinusNat0(Succ(x0), Zero) 248.95/165.32 new_ms0(x0, Neg(Succ(x1))) 248.95/165.32 new_sr2(x0, x1, ty_Integer) 248.95/165.32 new_primModNatS01(x0, x1, Zero, Succ(x2)) 248.95/165.32 new_primMulNat2(Succ(x0)) 248.95/165.32 new_sr14(Neg(x0), Neg(x1)) 248.95/165.32 new_sr2(x0, x1, ty_Float) 248.95/165.32 new_primMinusNatS2(Succ(x0), Zero) 248.95/165.32 new_sr4(x0, x1, ty_Float) 248.95/165.32 new_sr6(Pos(x0)) 248.95/165.32 new_esEs2(x0, x1, ty_Integer) 248.95/165.32 new_primMulNat4(Succ(x0)) 248.95/165.32 new_rem(Neg(x0), Neg(Succ(x1))) 248.95/165.32 new_primEqInt(Pos(Succ(x0))) 248.95/165.32 new_primQuotInt(x0, Pos(Zero)) 248.95/165.32 new_gcd0Gcd'11(False, x0, x1) 248.95/165.32 new_sr9(x0) 248.95/165.32 new_primModNatS1(Succ(Succ(x0)), Zero) 248.95/165.32 new_sr(x0, ty_Double) 248.95/165.32 new_esEs0(x0, ty_Integer) 248.95/165.32 new_gcd0Gcd'00(x0, x1) 248.95/165.32 new_reduce2Reduce1(x0, x1, x2, x3, True, x4) 248.95/165.32 new_sr3(x0, ty_Double) 248.95/165.32 new_esEs(Neg(Zero)) 248.95/165.32 new_primMulNat1(Zero) 248.95/165.32 new_primMinusNat0(Zero, Succ(x0)) 248.95/165.32 new_rem(Neg(x0), Neg(Zero)) 248.95/165.32 248.95/165.32 We have to consider all minimal (P,Q,R)-chains. 248.95/165.32 ---------------------------------------- 248.95/165.32 248.95/165.32 (773) DependencyGraphProof (EQUIVALENT) 248.95/165.32 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 2 SCCs with 1 less node. 248.95/165.32 ---------------------------------------- 248.95/165.32 248.95/165.32 (774) 248.95/165.32 Complex Obligation (AND) 248.95/165.32 248.95/165.32 ---------------------------------------- 248.95/165.32 248.95/165.32 (775) 248.95/165.32 Obligation: 248.95/165.32 Q DP problem: 248.95/165.32 The TRS P consists of the following rules: 248.95/165.32 248.95/165.32 new_pr2F0G(vyv187, vyv183, Pos(Zero), h) -> new_pr2F0G(vyv187, new_sr(vyv183, h), Pos(Zero), h) 248.95/165.32 248.95/165.32 The TRS R consists of the following rules: 248.95/165.32 248.95/165.32 new_sr(vyv183, ty_Int) -> new_sr6(vyv183) 248.95/165.32 new_sr(vyv183, app(ty_Ratio, bd)) -> new_sr5(vyv183, bd) 248.95/165.32 new_sr(vyv183, ty_Integer) -> new_sr7(vyv183) 248.95/165.32 new_sr(vyv183, ty_Float) -> new_sr10(vyv183) 248.95/165.32 new_sr(vyv183, ty_Double) -> new_sr9(vyv183) 248.95/165.32 new_primDivNatS1(Zero, vyv28400) -> Zero 248.95/165.32 new_sr9(vyv183) -> error([]) 248.95/165.32 new_sr10(vyv183) -> error([]) 248.95/165.32 new_sr7(vyv183) -> error([]) 248.95/165.32 new_sr5(:%(vyv1830, vyv1831), bd) -> new_reduce2Reduce1(vyv1830, vyv1830, vyv1831, vyv1831, new_esEs0(vyv1831, bd), bd) 248.95/165.32 new_esEs0(vyv1831, ty_Int) -> new_esEs(new_sr6(vyv1831)) 248.95/165.32 new_esEs0(vyv1831, ty_Integer) -> new_esEs1(new_sr7(vyv1831)) 248.95/165.32 new_reduce2Reduce1(vyv264, vyv265, vyv266, vyv267, False, bh) -> :%(new_quot1(vyv264, vyv265, vyv266, vyv267, bh), new_quot2(vyv266, vyv267, vyv264, vyv265, bh)) 248.95/165.32 new_reduce2Reduce1(vyv264, vyv265, vyv266, vyv267, True, bh) -> error([]) 248.95/165.32 new_quot1(vyv264, vyv265, vyv266, vyv267, ty_Int) -> new_quot0(new_sr14(vyv264, vyv265), new_sr14(vyv264, vyv265), new_sr14(vyv266, vyv267)) 248.95/165.32 new_quot1(vyv264, vyv265, vyv266, vyv267, ty_Integer) -> new_quot(new_sr8(vyv264, vyv265), new_sr8(vyv264, vyv265), new_sr8(vyv266, vyv267)) 248.95/165.32 new_quot2(vyv266, vyv267, vyv264, vyv265, ty_Int) -> new_quot0(new_sr14(vyv266, vyv267), new_sr14(vyv264, vyv265), new_sr14(vyv266, vyv267)) 248.95/165.32 new_quot2(vyv266, vyv267, vyv264, vyv265, ty_Integer) -> new_quot(new_sr8(vyv266, vyv267), new_sr8(vyv264, vyv265), new_sr8(vyv266, vyv267)) 248.95/165.32 new_sr8(vyv239, vyv238) -> error([]) 248.95/165.32 new_quot(vyv273, vyv275, vyv274) -> error([]) 248.95/165.32 new_sr14(Pos(vyv2390), Neg(vyv2380)) -> Neg(new_primMulNat0(vyv2390, vyv2380)) 248.95/165.32 new_sr14(Neg(vyv2390), Pos(vyv2380)) -> Neg(new_primMulNat0(vyv2390, vyv2380)) 248.95/165.32 new_sr14(Neg(vyv2390), Neg(vyv2380)) -> Pos(new_primMulNat0(vyv2390, vyv2380)) 248.95/165.32 new_sr14(Pos(vyv2390), Pos(vyv2380)) -> Pos(new_primMulNat0(vyv2390, vyv2380)) 248.95/165.32 new_quot0(Neg(vyv2700), vyv272, vyv271) -> new_primQuotInt0(vyv2700, new_gcd(vyv272, vyv271)) 248.95/165.32 new_quot0(Pos(vyv2700), vyv272, vyv271) -> new_primQuotInt(vyv2700, new_gcd(vyv272, vyv271)) 248.95/165.32 new_gcd(vyv272, vyv271) -> new_gcd2(new_esEs(vyv272), vyv272, vyv271) 248.95/165.32 new_primQuotInt(vyv2700, Pos(Succ(vyv28400))) -> Pos(new_primDivNatS1(vyv2700, vyv28400)) 248.95/165.32 new_primQuotInt(vyv2700, Neg(Zero)) -> new_error 248.95/165.32 new_primQuotInt(vyv2700, Pos(Zero)) -> new_error 248.95/165.32 new_primQuotInt(vyv2700, Neg(Succ(vyv28400))) -> Neg(new_primDivNatS1(vyv2700, vyv28400)) 248.95/165.32 new_primDivNatS1(Succ(Succ(vyv270000)), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS0(vyv270000), Zero)) 248.95/165.32 new_primDivNatS1(Succ(Zero), Succ(vyv284000)) -> Zero 248.95/165.32 new_primDivNatS1(Succ(Succ(vyv270000)), Succ(vyv284000)) -> new_primDivNatS02(vyv270000, vyv284000, vyv270000, vyv284000) 248.95/165.32 new_primDivNatS1(Succ(Zero), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS1, Zero)) 248.95/165.32 new_primMinusNatS1 -> Zero 248.95/165.32 new_primDivNatS02(vyv310, vyv311, Zero, Zero) -> new_primDivNatS01(vyv310, vyv311) 248.95/165.32 new_primDivNatS02(vyv310, vyv311, Succ(vyv3120), Zero) -> new_primDivNatS01(vyv310, vyv311) 248.95/165.32 new_primDivNatS02(vyv310, vyv311, Zero, Succ(vyv3130)) -> Zero 248.95/165.32 new_primDivNatS02(vyv310, vyv311, Succ(vyv3120), Succ(vyv3130)) -> new_primDivNatS02(vyv310, vyv311, vyv3120, vyv3130) 248.95/165.32 new_primDivNatS01(vyv310, vyv311) -> Succ(new_primDivNatS1(new_primMinusNatS2(vyv310, vyv311), Succ(vyv311))) 248.95/165.32 new_primMinusNatS2(Zero, Succ(vyv3110)) -> Zero 248.95/165.32 new_primMinusNatS2(Succ(vyv3100), Zero) -> Succ(vyv3100) 248.95/165.32 new_primMinusNatS2(Zero, Zero) -> Zero 248.95/165.32 new_primMinusNatS2(Succ(vyv3100), Succ(vyv3110)) -> new_primMinusNatS2(vyv3100, vyv3110) 248.95/165.32 new_primMinusNatS0(vyv270000) -> Succ(vyv270000) 248.95/165.32 new_error -> error([]) 248.95/165.32 new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) 248.95/165.32 new_esEs(Pos(Succ(vyv24100))) -> new_primEqInt(Pos(Succ(vyv24100))) 248.95/165.32 new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) 248.95/165.32 new_esEs(Neg(Succ(vyv24100))) -> new_primEqInt(Neg(Succ(vyv24100))) 248.95/165.32 new_gcd2(True, vyv272, vyv271) -> new_gcd1(new_esEs(vyv271), vyv272, vyv271) 248.95/165.32 new_gcd2(False, vyv272, vyv271) -> new_gcd0(vyv272, vyv271) 248.95/165.32 new_gcd0(vyv272, vyv271) -> new_gcd0Gcd'10(new_esEs(new_abs(vyv271)), vyv272, vyv271) 248.95/165.32 new_abs(Neg(Zero)) -> Neg(Zero) 248.95/165.32 new_abs(Neg(Succ(vyv27100))) -> Pos(Succ(vyv27100)) 248.95/165.32 new_abs(Pos(Succ(vyv27100))) -> Pos(Succ(vyv27100)) 248.95/165.32 new_abs(Pos(Zero)) -> Pos(Zero) 248.95/165.32 new_gcd0Gcd'10(True, vyv272, vyv271) -> new_abs(vyv272) 248.95/165.32 new_gcd0Gcd'10(False, vyv272, vyv271) -> new_gcd0Gcd'00(new_abs(vyv272), new_abs(vyv271)) 248.95/165.32 new_gcd0Gcd'11(False, vyv291, vyv292) -> new_gcd0Gcd'00(vyv291, new_rem(vyv292, vyv291)) 248.95/165.32 new_gcd0Gcd'00(vyv292, vyv291) -> new_gcd0Gcd'11(new_esEs(new_rem(vyv292, vyv291)), vyv291, vyv292) 248.95/165.32 new_rem(Pos(vyv2920), Neg(Zero)) -> new_error 248.95/165.32 new_rem(Neg(vyv2920), Pos(Zero)) -> new_error 248.95/165.32 new_rem(Pos(vyv2920), Neg(Succ(vyv29100))) -> Pos(new_primModNatS1(vyv2920, vyv29100)) 248.95/165.32 new_rem(Neg(vyv2920), Pos(Succ(vyv29100))) -> Neg(new_primModNatS1(vyv2920, vyv29100)) 248.95/165.32 new_rem(Pos(vyv2920), Pos(Succ(vyv29100))) -> Pos(new_primModNatS1(vyv2920, vyv29100)) 248.95/165.32 new_rem(Neg(vyv2920), Neg(Zero)) -> new_error 248.95/165.32 new_rem(Neg(vyv2920), Neg(Succ(vyv29100))) -> Neg(new_primModNatS1(vyv2920, vyv29100)) 248.95/165.32 new_rem(Pos(vyv2920), Pos(Zero)) -> new_error 248.95/165.32 new_gcd0Gcd'11(True, vyv291, vyv292) -> vyv291 248.95/165.32 new_primModNatS1(Succ(Zero), Succ(vyv291000)) -> Succ(Zero) 248.95/165.32 new_primModNatS1(Zero, vyv29100) -> Zero 248.95/165.32 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 248.95/165.32 new_primModNatS1(Succ(Succ(vyv292000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv292000), Zero) 248.95/165.32 new_primModNatS1(Succ(Succ(vyv292000)), Succ(vyv291000)) -> new_primModNatS01(vyv292000, vyv291000, vyv292000, vyv291000) 248.95/165.32 new_primModNatS01(vyv330, vyv331, Zero, Zero) -> new_primModNatS02(vyv330, vyv331) 248.95/165.32 new_primModNatS02(vyv330, vyv331) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv330), Succ(vyv331)), Succ(vyv331)) 248.95/165.32 new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Zero) -> new_primModNatS02(vyv330, vyv331) 248.95/165.32 new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Succ(vyv3330)) -> new_primModNatS01(vyv330, vyv331, vyv3320, vyv3330) 248.95/165.32 new_primModNatS01(vyv330, vyv331, Zero, Succ(vyv3330)) -> Succ(Succ(vyv330)) 248.95/165.32 new_gcd1(True, vyv272, vyv271) -> new_error 248.95/165.32 new_gcd1(False, vyv272, vyv271) -> new_gcd0(vyv272, vyv271) 248.95/165.32 new_primEqInt(Neg(Succ(vyv242000))) -> False 248.95/165.32 new_primEqInt(Pos(Zero)) -> True 248.95/165.32 new_primEqInt(Pos(Succ(vyv242000))) -> False 248.95/165.32 new_primEqInt(Neg(Zero)) -> True 248.95/165.32 new_primQuotInt0(vyv2700, Pos(Succ(vyv28700))) -> Neg(new_primDivNatS1(vyv2700, vyv28700)) 248.95/165.32 new_primQuotInt0(vyv2700, Neg(Zero)) -> new_error 248.95/165.32 new_primQuotInt0(vyv2700, Neg(Succ(vyv28700))) -> Pos(new_primDivNatS1(vyv2700, vyv28700)) 248.95/165.32 new_primQuotInt0(vyv2700, Pos(Zero)) -> new_error 248.95/165.32 new_primMulNat0(Succ(vyv23900), Zero) -> Zero 248.95/165.32 new_primMulNat0(Zero, Succ(vyv23800)) -> Zero 248.95/165.32 new_primMulNat0(Zero, Zero) -> Zero 248.95/165.32 new_primMulNat0(Succ(vyv23900), Succ(vyv23800)) -> new_primPlusNat0(new_primMulNat0(vyv23900, Succ(vyv23800)), Succ(vyv23800)) 248.95/165.32 new_primPlusNat0(Succ(vyv4000), Succ(vyv5000)) -> Succ(Succ(new_primPlusNat0(vyv4000, vyv5000))) 248.95/165.32 new_primPlusNat0(Zero, Succ(vyv5000)) -> Succ(vyv5000) 248.95/165.32 new_primPlusNat0(Zero, Zero) -> Zero 248.95/165.32 new_primPlusNat0(Succ(vyv4000), Zero) -> Succ(vyv4000) 248.95/165.32 new_esEs1(Integer(vyv2690)) -> new_primEqInt(vyv2690) 248.95/165.32 new_sr6(Neg(vyv1830)) -> Pos(new_primMulNat1(vyv1830)) 248.95/165.32 new_sr6(Pos(vyv1830)) -> Pos(new_primMulNat1(vyv1830)) 248.95/165.32 new_primMulNat1(Succ(vyv18300)) -> new_primPlusNat0(new_primMulNat2(vyv18300), Succ(vyv18300)) 248.95/165.32 new_primMulNat1(Zero) -> Zero 248.95/165.32 new_primMulNat2(Succ(vyv183000)) -> new_primPlusNat0(new_primMulNat3(vyv183000), Succ(Succ(vyv183000))) 248.95/165.32 new_primMulNat2(Zero) -> Zero 248.95/165.32 new_primMulNat3(Succ(vyv1830000)) -> new_primPlusNat0(new_primMulNat4(vyv1830000), Succ(Succ(Succ(vyv1830000)))) 248.95/165.32 new_primMulNat3(Zero) -> Zero 248.95/165.32 new_primMulNat4(Succ(vyv18300000)) -> new_primPlusNat0(new_primMulNat0(vyv18300000, Succ(Succ(Succ(Succ(vyv18300000))))), Succ(Succ(Succ(Succ(vyv18300000))))) 248.95/165.32 new_primMulNat4(Zero) -> Zero 248.95/165.32 new_sr1(vyv227, ty_Int) -> new_sr6(vyv227) 248.95/165.32 new_sr1(vyv227, ty_Integer) -> new_sr7(vyv227) 248.95/165.32 new_sr1(vyv227, app(ty_Ratio, be)) -> new_sr5(vyv227, be) 248.95/165.32 new_sr1(vyv227, ty_Float) -> new_sr10(vyv227) 248.95/165.32 new_sr1(vyv227, ty_Double) -> new_sr9(vyv227) 248.95/165.32 new_ms(vyv228, Neg(vyv2440)) -> Pos(new_primPlusNat0(Succ(vyv228), vyv2440)) 248.95/165.32 new_ms(vyv228, Pos(Succ(vyv24400))) -> new_primMinusNat0(vyv228, vyv24400) 248.95/165.32 new_ms(vyv228, Pos(Zero)) -> Pos(Succ(vyv228)) 248.95/165.32 new_sr2(vyv227, vyv226, ty_Int) -> new_sr14(vyv227, vyv226) 248.95/165.32 new_sr2(vyv227, vyv226, ty_Double) -> new_sr11(vyv227, vyv226) 248.95/165.32 new_sr2(vyv227, vyv226, ty_Integer) -> new_sr8(vyv227, vyv226) 248.95/165.32 new_sr2(vyv227, vyv226, ty_Float) -> new_sr13(vyv227, vyv226) 248.95/165.32 new_sr2(vyv227, vyv226, app(ty_Ratio, be)) -> new_sr12(vyv227, vyv226, be) 248.95/165.32 new_sr12(:%(vyv2390, vyv2391), :%(vyv2380, vyv2381), bf) -> new_reduce2Reduce1(vyv2390, vyv2380, vyv2391, vyv2381, new_esEs2(vyv2391, vyv2381, bf), bf) 248.95/165.32 new_esEs2(vyv2391, vyv2381, ty_Int) -> new_esEs(new_sr14(vyv2391, vyv2381)) 248.95/165.32 new_esEs2(vyv2391, vyv2381, ty_Integer) -> new_esEs1(new_sr8(vyv2391, vyv2381)) 248.95/165.32 new_sr13(vyv239, vyv238) -> error([]) 248.95/165.32 new_sr11(vyv239, vyv238) -> error([]) 248.95/165.32 new_primMinusNat0(Succ(vyv2280), Succ(vyv244000)) -> new_primMinusNat0(vyv2280, vyv244000) 248.95/165.32 new_primMinusNat0(Zero, Zero) -> Pos(Zero) 248.95/165.32 new_primMinusNat0(Zero, Succ(vyv244000)) -> Neg(Succ(vyv244000)) 248.95/165.32 new_primMinusNat0(Succ(vyv2280), Zero) -> Pos(Succ(vyv2280)) 248.95/165.32 new_sr3(vyv249, ty_Float) -> new_sr10(vyv249) 248.95/165.32 new_sr3(vyv249, ty_Double) -> new_sr9(vyv249) 248.95/165.32 new_sr3(vyv249, ty_Int) -> new_sr6(vyv249) 248.95/165.32 new_sr3(vyv249, ty_Integer) -> new_sr7(vyv249) 248.95/165.32 new_sr3(vyv249, app(ty_Ratio, bg)) -> new_sr5(vyv249, bg) 248.95/165.32 new_ms0(vyv240, Neg(Zero)) -> Neg(Succ(vyv240)) 248.95/165.32 new_ms0(vyv240, Pos(vyv2430)) -> Neg(new_primPlusNat0(Succ(vyv240), vyv2430)) 248.95/165.32 new_ms0(vyv240, Neg(Succ(vyv24300))) -> new_primMinusNat0(vyv24300, vyv240) 248.95/165.32 new_sr4(vyv239, vyv238, app(ty_Ratio, bf)) -> new_sr12(vyv239, vyv238, bf) 248.95/165.32 new_sr4(vyv239, vyv238, ty_Integer) -> new_sr8(vyv239, vyv238) 248.95/165.32 new_sr4(vyv239, vyv238, ty_Int) -> new_sr14(vyv239, vyv238) 248.95/165.32 new_sr4(vyv239, vyv238, ty_Double) -> new_sr11(vyv239, vyv238) 248.95/165.32 new_sr4(vyv239, vyv238, ty_Float) -> new_sr13(vyv239, vyv238) 248.95/165.32 248.95/165.32 The set Q consists of the following terms: 248.95/165.32 248.95/165.32 new_rem(Pos(x0), Pos(Succ(x1))) 248.95/165.32 new_quot1(x0, x1, x2, x3, ty_Integer) 248.95/165.32 new_primModNatS1(Succ(Zero), Succ(x0)) 248.95/165.32 new_ms0(x0, Pos(x1)) 248.95/165.32 new_sr(x0, app(ty_Ratio, x1)) 248.95/165.32 new_primMulNat4(Zero) 248.95/165.32 new_gcd1(False, x0, x1) 248.95/165.32 new_primEqInt(Pos(Zero)) 248.95/165.32 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 248.95/165.32 new_rem(Pos(x0), Neg(Succ(x1))) 248.95/165.32 new_rem(Neg(x0), Pos(Succ(x1))) 248.95/165.32 new_sr10(x0) 248.95/165.32 new_quot1(x0, x1, x2, x3, ty_Int) 248.95/165.33 new_quot2(x0, x1, x2, x3, ty_Integer) 248.95/165.33 new_primModNatS01(x0, x1, Succ(x2), Zero) 248.95/165.33 new_sr3(x0, ty_Integer) 248.95/165.33 new_primMulNat3(Zero) 248.95/165.33 new_primDivNatS02(x0, x1, Succ(x2), Zero) 248.95/165.33 new_sr(x0, ty_Float) 248.95/165.33 new_quot2(x0, x1, x2, x3, ty_Int) 248.95/165.33 new_gcd2(False, x0, x1) 248.95/165.33 new_primDivNatS1(Succ(Zero), Zero) 248.95/165.33 new_esEs0(x0, ty_Int) 248.95/165.33 new_sr14(Pos(x0), Pos(x1)) 248.95/165.33 new_sr3(x0, ty_Int) 248.95/165.33 new_primMulNat0(Zero, Zero) 248.95/165.33 new_sr4(x0, x1, ty_Double) 248.95/165.33 new_primPlusNat0(Succ(x0), Zero) 248.95/165.33 new_primMulNat2(Zero) 248.95/165.33 new_sr11(x0, x1) 248.95/165.33 new_primModNatS01(x0, x1, Zero, Zero) 248.95/165.33 new_esEs2(x0, x1, ty_Int) 248.95/165.33 new_gcd1(True, x0, x1) 248.95/165.33 new_sr13(x0, x1) 248.95/165.33 new_sr14(Pos(x0), Neg(x1)) 248.95/165.33 new_sr14(Neg(x0), Pos(x1)) 248.95/165.33 new_primDivNatS1(Succ(Succ(x0)), Succ(x1)) 248.95/165.33 new_sr1(x0, ty_Int) 248.95/165.33 new_primModNatS1(Zero, x0) 248.95/165.33 new_esEs(Pos(Succ(x0))) 248.95/165.33 new_primMulNat3(Succ(x0)) 248.95/165.33 new_sr1(x0, app(ty_Ratio, x1)) 248.95/165.33 new_primQuotInt(x0, Neg(Succ(x1))) 248.95/165.33 new_reduce2Reduce1(x0, x1, x2, x3, False, x4) 248.95/165.33 new_primMinusNat0(Zero, Zero) 248.95/165.33 new_primDivNatS1(Zero, x0) 248.95/165.33 new_primDivNatS02(x0, x1, Succ(x2), Succ(x3)) 248.95/165.33 new_primModNatS02(x0, x1) 248.95/165.33 new_primDivNatS1(Succ(Zero), Succ(x0)) 248.95/165.33 new_sr6(Neg(x0)) 248.95/165.33 new_gcd0Gcd'10(True, x0, x1) 248.95/165.33 new_primMulNat0(Succ(x0), Succ(x1)) 248.95/165.33 new_abs(Neg(Zero)) 248.95/165.33 new_ms(x0, Neg(x1)) 248.95/165.33 new_rem(Pos(x0), Neg(Zero)) 248.95/165.33 new_rem(Neg(x0), Pos(Zero)) 248.95/165.33 new_primMinusNatS2(Zero, Succ(x0)) 248.95/165.33 new_esEs(Neg(Succ(x0))) 248.95/165.33 new_error 248.95/165.33 new_primModNatS1(Succ(Zero), Zero) 248.95/165.33 new_primMulNat0(Zero, Succ(x0)) 248.95/165.33 new_sr3(x0, ty_Float) 248.95/165.33 new_quot(x0, x1, x2) 248.95/165.33 new_gcd2(True, x0, x1) 248.95/165.33 new_gcd0Gcd'11(True, x0, x1) 248.95/165.33 new_primEqInt(Neg(Zero)) 248.95/165.33 new_sr2(x0, x1, ty_Double) 248.95/165.33 new_primMulNat0(Succ(x0), Zero) 248.95/165.33 new_quot0(Neg(x0), x1, x2) 248.95/165.33 new_primMinusNatS2(Succ(x0), Succ(x1)) 248.95/165.33 new_sr4(x0, x1, app(ty_Ratio, x2)) 248.95/165.33 new_sr8(x0, x1) 248.95/165.33 new_primDivNatS01(x0, x1) 248.95/165.33 new_primDivNatS02(x0, x1, Zero, Succ(x2)) 248.95/165.33 new_primPlusNat0(Succ(x0), Succ(x1)) 248.95/165.33 new_sr1(x0, ty_Integer) 248.95/165.33 new_primPlusNat0(Zero, Zero) 248.95/165.33 new_sr1(x0, ty_Float) 248.95/165.33 new_primMinusNat0(Succ(x0), Succ(x1)) 248.95/165.33 new_sr12(:%(x0, x1), :%(x2, x3), x4) 248.95/165.33 new_abs(Neg(Succ(x0))) 248.95/165.33 new_sr1(x0, ty_Double) 248.95/165.33 new_sr3(x0, app(ty_Ratio, x1)) 248.95/165.33 new_sr7(x0) 248.95/165.33 new_gcd0(x0, x1) 248.95/165.33 new_sr(x0, ty_Integer) 248.95/165.33 new_primQuotInt0(x0, Pos(Succ(x1))) 248.95/165.33 new_sr4(x0, x1, ty_Integer) 248.95/165.33 new_sr5(:%(x0, x1), x2) 248.95/165.33 new_primMinusNatS2(Zero, Zero) 248.95/165.33 new_primMulNat1(Succ(x0)) 248.95/165.33 new_ms(x0, Pos(Zero)) 248.95/165.33 new_abs(Pos(Succ(x0))) 248.95/165.33 new_sr4(x0, x1, ty_Int) 248.95/165.33 new_esEs(Pos(Zero)) 248.95/165.33 new_primQuotInt0(x0, Pos(Zero)) 248.95/165.33 new_sr(x0, ty_Int) 248.95/165.33 new_primEqInt(Neg(Succ(x0))) 248.95/165.33 new_primQuotInt(x0, Neg(Zero)) 248.95/165.33 new_primQuotInt0(x0, Neg(Zero)) 248.95/165.33 new_primQuotInt0(x0, Neg(Succ(x1))) 248.95/165.33 new_gcd(x0, x1) 248.95/165.33 new_quot0(Pos(x0), x1, x2) 248.95/165.33 new_primMinusNatS0(x0) 248.95/165.33 new_primPlusNat0(Zero, Succ(x0)) 248.95/165.33 new_sr2(x0, x1, app(ty_Ratio, x2)) 248.95/165.33 new_sr2(x0, x1, ty_Int) 248.95/165.33 new_primQuotInt(x0, Pos(Succ(x1))) 248.95/165.33 new_primDivNatS1(Succ(Succ(x0)), Zero) 248.95/165.33 new_rem(Pos(x0), Pos(Zero)) 248.95/165.33 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 248.95/165.33 new_primDivNatS02(x0, x1, Zero, Zero) 248.95/165.33 new_abs(Pos(Zero)) 248.95/165.33 new_gcd0Gcd'10(False, x0, x1) 248.95/165.33 new_ms(x0, Pos(Succ(x1))) 248.95/165.33 new_primMinusNatS1 248.95/165.33 new_esEs1(Integer(x0)) 248.95/165.33 new_ms0(x0, Neg(Zero)) 248.95/165.33 new_primMinusNat0(Succ(x0), Zero) 248.95/165.33 new_ms0(x0, Neg(Succ(x1))) 248.95/165.33 new_sr2(x0, x1, ty_Integer) 248.95/165.33 new_primModNatS01(x0, x1, Zero, Succ(x2)) 248.95/165.33 new_primMulNat2(Succ(x0)) 248.95/165.33 new_sr14(Neg(x0), Neg(x1)) 248.95/165.33 new_sr2(x0, x1, ty_Float) 248.95/165.33 new_primMinusNatS2(Succ(x0), Zero) 248.95/165.33 new_sr4(x0, x1, ty_Float) 248.95/165.33 new_sr6(Pos(x0)) 248.95/165.33 new_esEs2(x0, x1, ty_Integer) 248.95/165.33 new_primMulNat4(Succ(x0)) 248.95/165.33 new_rem(Neg(x0), Neg(Succ(x1))) 248.95/165.33 new_primEqInt(Pos(Succ(x0))) 248.95/165.33 new_primQuotInt(x0, Pos(Zero)) 248.95/165.33 new_gcd0Gcd'11(False, x0, x1) 248.95/165.33 new_sr9(x0) 248.95/165.33 new_primModNatS1(Succ(Succ(x0)), Zero) 248.95/165.33 new_sr(x0, ty_Double) 248.95/165.33 new_esEs0(x0, ty_Integer) 248.95/165.33 new_gcd0Gcd'00(x0, x1) 248.95/165.33 new_reduce2Reduce1(x0, x1, x2, x3, True, x4) 248.95/165.33 new_sr3(x0, ty_Double) 248.95/165.33 new_esEs(Neg(Zero)) 248.95/165.33 new_primMulNat1(Zero) 248.95/165.33 new_primMinusNat0(Zero, Succ(x0)) 248.95/165.33 new_rem(Neg(x0), Neg(Zero)) 248.95/165.33 248.95/165.33 We have to consider all minimal (P,Q,R)-chains. 248.95/165.33 ---------------------------------------- 248.95/165.33 248.95/165.33 (776) UsableRulesProof (EQUIVALENT) 248.95/165.33 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. 248.95/165.33 ---------------------------------------- 248.95/165.33 248.95/165.33 (777) 248.95/165.33 Obligation: 248.95/165.33 Q DP problem: 248.95/165.33 The TRS P consists of the following rules: 248.95/165.33 248.95/165.33 new_pr2F0G(vyv187, vyv183, Pos(Zero), h) -> new_pr2F0G(vyv187, new_sr(vyv183, h), Pos(Zero), h) 248.95/165.33 248.95/165.33 The TRS R consists of the following rules: 248.95/165.33 248.95/165.33 new_sr(vyv183, ty_Int) -> new_sr6(vyv183) 248.95/165.33 new_sr(vyv183, app(ty_Ratio, bd)) -> new_sr5(vyv183, bd) 248.95/165.33 new_sr(vyv183, ty_Integer) -> new_sr7(vyv183) 248.95/165.33 new_sr(vyv183, ty_Float) -> new_sr10(vyv183) 248.95/165.33 new_sr(vyv183, ty_Double) -> new_sr9(vyv183) 248.95/165.33 new_sr9(vyv183) -> error([]) 248.95/165.33 new_sr10(vyv183) -> error([]) 248.95/165.33 new_sr7(vyv183) -> error([]) 248.95/165.33 new_sr5(:%(vyv1830, vyv1831), bd) -> new_reduce2Reduce1(vyv1830, vyv1830, vyv1831, vyv1831, new_esEs0(vyv1831, bd), bd) 248.95/165.33 new_esEs0(vyv1831, ty_Int) -> new_esEs(new_sr6(vyv1831)) 248.95/165.33 new_esEs0(vyv1831, ty_Integer) -> new_esEs1(new_sr7(vyv1831)) 248.95/165.33 new_reduce2Reduce1(vyv264, vyv265, vyv266, vyv267, False, bh) -> :%(new_quot1(vyv264, vyv265, vyv266, vyv267, bh), new_quot2(vyv266, vyv267, vyv264, vyv265, bh)) 248.95/165.33 new_reduce2Reduce1(vyv264, vyv265, vyv266, vyv267, True, bh) -> error([]) 248.95/165.33 new_quot1(vyv264, vyv265, vyv266, vyv267, ty_Int) -> new_quot0(new_sr14(vyv264, vyv265), new_sr14(vyv264, vyv265), new_sr14(vyv266, vyv267)) 248.95/165.33 new_quot1(vyv264, vyv265, vyv266, vyv267, ty_Integer) -> new_quot(new_sr8(vyv264, vyv265), new_sr8(vyv264, vyv265), new_sr8(vyv266, vyv267)) 248.95/165.33 new_quot2(vyv266, vyv267, vyv264, vyv265, ty_Int) -> new_quot0(new_sr14(vyv266, vyv267), new_sr14(vyv264, vyv265), new_sr14(vyv266, vyv267)) 248.95/165.33 new_quot2(vyv266, vyv267, vyv264, vyv265, ty_Integer) -> new_quot(new_sr8(vyv266, vyv267), new_sr8(vyv264, vyv265), new_sr8(vyv266, vyv267)) 248.95/165.33 new_sr8(vyv239, vyv238) -> error([]) 248.95/165.33 new_quot(vyv273, vyv275, vyv274) -> error([]) 248.95/165.33 new_sr14(Pos(vyv2390), Neg(vyv2380)) -> Neg(new_primMulNat0(vyv2390, vyv2380)) 248.95/165.33 new_sr14(Neg(vyv2390), Pos(vyv2380)) -> Neg(new_primMulNat0(vyv2390, vyv2380)) 248.95/165.33 new_sr14(Neg(vyv2390), Neg(vyv2380)) -> Pos(new_primMulNat0(vyv2390, vyv2380)) 248.95/165.33 new_sr14(Pos(vyv2390), Pos(vyv2380)) -> Pos(new_primMulNat0(vyv2390, vyv2380)) 248.95/165.33 new_quot0(Neg(vyv2700), vyv272, vyv271) -> new_primQuotInt0(vyv2700, new_gcd(vyv272, vyv271)) 248.95/165.33 new_quot0(Pos(vyv2700), vyv272, vyv271) -> new_primQuotInt(vyv2700, new_gcd(vyv272, vyv271)) 248.95/165.33 new_gcd(vyv272, vyv271) -> new_gcd2(new_esEs(vyv272), vyv272, vyv271) 248.95/165.33 new_primQuotInt(vyv2700, Pos(Succ(vyv28400))) -> Pos(new_primDivNatS1(vyv2700, vyv28400)) 248.95/165.33 new_primQuotInt(vyv2700, Neg(Zero)) -> new_error 248.95/165.33 new_primQuotInt(vyv2700, Pos(Zero)) -> new_error 248.95/165.33 new_primQuotInt(vyv2700, Neg(Succ(vyv28400))) -> Neg(new_primDivNatS1(vyv2700, vyv28400)) 248.95/165.33 new_primDivNatS1(Zero, vyv28400) -> Zero 248.95/165.33 new_primDivNatS1(Succ(Succ(vyv270000)), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS0(vyv270000), Zero)) 248.95/165.33 new_primDivNatS1(Succ(Zero), Succ(vyv284000)) -> Zero 248.95/165.33 new_primDivNatS1(Succ(Succ(vyv270000)), Succ(vyv284000)) -> new_primDivNatS02(vyv270000, vyv284000, vyv270000, vyv284000) 248.95/165.33 new_primDivNatS1(Succ(Zero), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS1, Zero)) 248.95/165.33 new_primMinusNatS1 -> Zero 248.95/165.33 new_primDivNatS02(vyv310, vyv311, Zero, Zero) -> new_primDivNatS01(vyv310, vyv311) 248.95/165.33 new_primDivNatS02(vyv310, vyv311, Succ(vyv3120), Zero) -> new_primDivNatS01(vyv310, vyv311) 248.95/165.33 new_primDivNatS02(vyv310, vyv311, Zero, Succ(vyv3130)) -> Zero 248.95/165.33 new_primDivNatS02(vyv310, vyv311, Succ(vyv3120), Succ(vyv3130)) -> new_primDivNatS02(vyv310, vyv311, vyv3120, vyv3130) 248.95/165.33 new_primDivNatS01(vyv310, vyv311) -> Succ(new_primDivNatS1(new_primMinusNatS2(vyv310, vyv311), Succ(vyv311))) 248.95/165.33 new_primMinusNatS2(Zero, Succ(vyv3110)) -> Zero 248.95/165.33 new_primMinusNatS2(Succ(vyv3100), Zero) -> Succ(vyv3100) 248.95/165.33 new_primMinusNatS2(Zero, Zero) -> Zero 248.95/165.33 new_primMinusNatS2(Succ(vyv3100), Succ(vyv3110)) -> new_primMinusNatS2(vyv3100, vyv3110) 248.95/165.33 new_primMinusNatS0(vyv270000) -> Succ(vyv270000) 248.95/165.33 new_error -> error([]) 248.95/165.33 new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) 248.95/165.33 new_esEs(Pos(Succ(vyv24100))) -> new_primEqInt(Pos(Succ(vyv24100))) 248.95/165.33 new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) 248.95/165.33 new_esEs(Neg(Succ(vyv24100))) -> new_primEqInt(Neg(Succ(vyv24100))) 248.95/165.33 new_gcd2(True, vyv272, vyv271) -> new_gcd1(new_esEs(vyv271), vyv272, vyv271) 248.95/165.33 new_gcd2(False, vyv272, vyv271) -> new_gcd0(vyv272, vyv271) 248.95/165.33 new_gcd0(vyv272, vyv271) -> new_gcd0Gcd'10(new_esEs(new_abs(vyv271)), vyv272, vyv271) 248.95/165.33 new_abs(Neg(Zero)) -> Neg(Zero) 248.95/165.33 new_abs(Neg(Succ(vyv27100))) -> Pos(Succ(vyv27100)) 248.95/165.33 new_abs(Pos(Succ(vyv27100))) -> Pos(Succ(vyv27100)) 248.95/165.33 new_abs(Pos(Zero)) -> Pos(Zero) 248.95/165.33 new_gcd0Gcd'10(True, vyv272, vyv271) -> new_abs(vyv272) 248.95/165.33 new_gcd0Gcd'10(False, vyv272, vyv271) -> new_gcd0Gcd'00(new_abs(vyv272), new_abs(vyv271)) 248.95/165.33 new_gcd0Gcd'00(vyv292, vyv291) -> new_gcd0Gcd'11(new_esEs(new_rem(vyv292, vyv291)), vyv291, vyv292) 248.95/165.33 new_gcd0Gcd'11(False, vyv291, vyv292) -> new_gcd0Gcd'00(vyv291, new_rem(vyv292, vyv291)) 248.95/165.33 new_rem(Pos(vyv2920), Neg(Zero)) -> new_error 248.95/165.33 new_rem(Neg(vyv2920), Pos(Zero)) -> new_error 248.95/165.33 new_rem(Pos(vyv2920), Neg(Succ(vyv29100))) -> Pos(new_primModNatS1(vyv2920, vyv29100)) 248.95/165.33 new_rem(Neg(vyv2920), Pos(Succ(vyv29100))) -> Neg(new_primModNatS1(vyv2920, vyv29100)) 248.95/165.33 new_rem(Pos(vyv2920), Pos(Succ(vyv29100))) -> Pos(new_primModNatS1(vyv2920, vyv29100)) 248.95/165.33 new_rem(Neg(vyv2920), Neg(Zero)) -> new_error 248.95/165.33 new_rem(Neg(vyv2920), Neg(Succ(vyv29100))) -> Neg(new_primModNatS1(vyv2920, vyv29100)) 248.95/165.33 new_rem(Pos(vyv2920), Pos(Zero)) -> new_error 248.95/165.33 new_gcd0Gcd'11(True, vyv291, vyv292) -> vyv291 248.95/165.33 new_primModNatS1(Succ(Zero), Succ(vyv291000)) -> Succ(Zero) 248.95/165.33 new_primModNatS1(Zero, vyv29100) -> Zero 248.95/165.33 new_primModNatS1(Succ(Succ(vyv292000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv292000), Zero) 248.95/165.33 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 248.95/165.33 new_primModNatS1(Succ(Succ(vyv292000)), Succ(vyv291000)) -> new_primModNatS01(vyv292000, vyv291000, vyv292000, vyv291000) 248.95/165.33 new_primModNatS01(vyv330, vyv331, Zero, Zero) -> new_primModNatS02(vyv330, vyv331) 248.95/165.33 new_primModNatS02(vyv330, vyv331) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv330), Succ(vyv331)), Succ(vyv331)) 248.95/165.33 new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Zero) -> new_primModNatS02(vyv330, vyv331) 248.95/165.33 new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Succ(vyv3330)) -> new_primModNatS01(vyv330, vyv331, vyv3320, vyv3330) 248.95/165.33 new_primModNatS01(vyv330, vyv331, Zero, Succ(vyv3330)) -> Succ(Succ(vyv330)) 248.95/165.33 new_gcd1(True, vyv272, vyv271) -> new_error 248.95/165.33 new_gcd1(False, vyv272, vyv271) -> new_gcd0(vyv272, vyv271) 248.95/165.33 new_primEqInt(Neg(Succ(vyv242000))) -> False 248.95/165.33 new_primEqInt(Pos(Zero)) -> True 248.95/165.33 new_primEqInt(Pos(Succ(vyv242000))) -> False 248.95/165.33 new_primEqInt(Neg(Zero)) -> True 248.95/165.33 new_primQuotInt0(vyv2700, Pos(Succ(vyv28700))) -> Neg(new_primDivNatS1(vyv2700, vyv28700)) 248.95/165.33 new_primQuotInt0(vyv2700, Neg(Zero)) -> new_error 248.95/165.33 new_primQuotInt0(vyv2700, Neg(Succ(vyv28700))) -> Pos(new_primDivNatS1(vyv2700, vyv28700)) 248.95/165.33 new_primQuotInt0(vyv2700, Pos(Zero)) -> new_error 248.95/165.33 new_primMulNat0(Succ(vyv23900), Zero) -> Zero 248.95/165.33 new_primMulNat0(Zero, Succ(vyv23800)) -> Zero 248.95/165.33 new_primMulNat0(Zero, Zero) -> Zero 248.95/165.33 new_primMulNat0(Succ(vyv23900), Succ(vyv23800)) -> new_primPlusNat0(new_primMulNat0(vyv23900, Succ(vyv23800)), Succ(vyv23800)) 248.95/165.33 new_primPlusNat0(Succ(vyv4000), Succ(vyv5000)) -> Succ(Succ(new_primPlusNat0(vyv4000, vyv5000))) 248.95/165.33 new_primPlusNat0(Zero, Succ(vyv5000)) -> Succ(vyv5000) 248.95/165.33 new_primPlusNat0(Zero, Zero) -> Zero 248.95/165.33 new_primPlusNat0(Succ(vyv4000), Zero) -> Succ(vyv4000) 248.95/165.33 new_esEs1(Integer(vyv2690)) -> new_primEqInt(vyv2690) 248.95/165.33 new_sr6(Neg(vyv1830)) -> Pos(new_primMulNat1(vyv1830)) 248.95/165.33 new_sr6(Pos(vyv1830)) -> Pos(new_primMulNat1(vyv1830)) 248.95/165.33 new_primMulNat1(Succ(vyv18300)) -> new_primPlusNat0(new_primMulNat2(vyv18300), Succ(vyv18300)) 248.95/165.33 new_primMulNat1(Zero) -> Zero 248.95/165.33 new_primMulNat2(Succ(vyv183000)) -> new_primPlusNat0(new_primMulNat3(vyv183000), Succ(Succ(vyv183000))) 248.95/165.33 new_primMulNat2(Zero) -> Zero 248.95/165.33 new_primMulNat3(Succ(vyv1830000)) -> new_primPlusNat0(new_primMulNat4(vyv1830000), Succ(Succ(Succ(vyv1830000)))) 248.95/165.33 new_primMulNat3(Zero) -> Zero 248.95/165.33 new_primMulNat4(Succ(vyv18300000)) -> new_primPlusNat0(new_primMulNat0(vyv18300000, Succ(Succ(Succ(Succ(vyv18300000))))), Succ(Succ(Succ(Succ(vyv18300000))))) 248.95/165.33 new_primMulNat4(Zero) -> Zero 248.95/165.33 248.95/165.33 The set Q consists of the following terms: 248.95/165.33 248.95/165.33 new_rem(Pos(x0), Pos(Succ(x1))) 248.95/165.33 new_quot1(x0, x1, x2, x3, ty_Integer) 248.95/165.33 new_primModNatS1(Succ(Zero), Succ(x0)) 248.95/165.33 new_ms0(x0, Pos(x1)) 248.95/165.33 new_sr(x0, app(ty_Ratio, x1)) 248.95/165.33 new_primMulNat4(Zero) 248.95/165.33 new_gcd1(False, x0, x1) 248.95/165.33 new_primEqInt(Pos(Zero)) 248.95/165.33 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 248.95/165.33 new_rem(Pos(x0), Neg(Succ(x1))) 248.95/165.33 new_rem(Neg(x0), Pos(Succ(x1))) 248.95/165.33 new_sr10(x0) 248.95/165.33 new_quot1(x0, x1, x2, x3, ty_Int) 248.95/165.33 new_quot2(x0, x1, x2, x3, ty_Integer) 248.95/165.33 new_primModNatS01(x0, x1, Succ(x2), Zero) 248.95/165.33 new_sr3(x0, ty_Integer) 248.95/165.33 new_primMulNat3(Zero) 248.95/165.33 new_primDivNatS02(x0, x1, Succ(x2), Zero) 248.95/165.33 new_sr(x0, ty_Float) 248.95/165.33 new_quot2(x0, x1, x2, x3, ty_Int) 248.95/165.33 new_gcd2(False, x0, x1) 248.95/165.33 new_primDivNatS1(Succ(Zero), Zero) 248.95/165.33 new_esEs0(x0, ty_Int) 248.95/165.33 new_sr14(Pos(x0), Pos(x1)) 248.95/165.33 new_sr3(x0, ty_Int) 248.95/165.33 new_primMulNat0(Zero, Zero) 248.95/165.33 new_sr4(x0, x1, ty_Double) 248.95/165.33 new_primPlusNat0(Succ(x0), Zero) 248.95/165.33 new_primMulNat2(Zero) 248.95/165.33 new_sr11(x0, x1) 248.95/165.33 new_primModNatS01(x0, x1, Zero, Zero) 248.95/165.33 new_esEs2(x0, x1, ty_Int) 248.95/165.33 new_gcd1(True, x0, x1) 248.95/165.33 new_sr13(x0, x1) 248.95/165.33 new_sr14(Pos(x0), Neg(x1)) 248.95/165.33 new_sr14(Neg(x0), Pos(x1)) 248.95/165.33 new_primDivNatS1(Succ(Succ(x0)), Succ(x1)) 248.95/165.33 new_sr1(x0, ty_Int) 248.95/165.33 new_primModNatS1(Zero, x0) 248.95/165.33 new_esEs(Pos(Succ(x0))) 248.95/165.33 new_primMulNat3(Succ(x0)) 248.95/165.33 new_sr1(x0, app(ty_Ratio, x1)) 248.95/165.33 new_primQuotInt(x0, Neg(Succ(x1))) 248.95/165.33 new_reduce2Reduce1(x0, x1, x2, x3, False, x4) 248.95/165.33 new_primMinusNat0(Zero, Zero) 248.95/165.33 new_primDivNatS1(Zero, x0) 248.95/165.33 new_primDivNatS02(x0, x1, Succ(x2), Succ(x3)) 248.95/165.33 new_primModNatS02(x0, x1) 248.95/165.33 new_primDivNatS1(Succ(Zero), Succ(x0)) 248.95/165.33 new_sr6(Neg(x0)) 248.95/165.33 new_gcd0Gcd'10(True, x0, x1) 248.95/165.33 new_primMulNat0(Succ(x0), Succ(x1)) 248.95/165.33 new_abs(Neg(Zero)) 248.95/165.33 new_ms(x0, Neg(x1)) 248.95/165.33 new_rem(Pos(x0), Neg(Zero)) 248.95/165.33 new_rem(Neg(x0), Pos(Zero)) 248.95/165.33 new_primMinusNatS2(Zero, Succ(x0)) 248.95/165.33 new_esEs(Neg(Succ(x0))) 248.95/165.33 new_error 248.95/165.33 new_primModNatS1(Succ(Zero), Zero) 248.95/165.33 new_primMulNat0(Zero, Succ(x0)) 248.95/165.33 new_sr3(x0, ty_Float) 248.95/165.33 new_quot(x0, x1, x2) 248.95/165.33 new_gcd2(True, x0, x1) 248.95/165.33 new_gcd0Gcd'11(True, x0, x1) 248.95/165.33 new_primEqInt(Neg(Zero)) 248.95/165.33 new_sr2(x0, x1, ty_Double) 248.95/165.33 new_primMulNat0(Succ(x0), Zero) 248.95/165.33 new_quot0(Neg(x0), x1, x2) 248.95/165.33 new_primMinusNatS2(Succ(x0), Succ(x1)) 248.95/165.33 new_sr4(x0, x1, app(ty_Ratio, x2)) 248.95/165.33 new_sr8(x0, x1) 248.95/165.33 new_primDivNatS01(x0, x1) 248.95/165.33 new_primDivNatS02(x0, x1, Zero, Succ(x2)) 248.95/165.33 new_primPlusNat0(Succ(x0), Succ(x1)) 248.95/165.33 new_sr1(x0, ty_Integer) 248.95/165.33 new_primPlusNat0(Zero, Zero) 248.95/165.33 new_sr1(x0, ty_Float) 248.95/165.33 new_primMinusNat0(Succ(x0), Succ(x1)) 248.95/165.33 new_sr12(:%(x0, x1), :%(x2, x3), x4) 248.95/165.33 new_abs(Neg(Succ(x0))) 248.95/165.33 new_sr1(x0, ty_Double) 248.95/165.33 new_sr3(x0, app(ty_Ratio, x1)) 248.95/165.33 new_sr7(x0) 248.95/165.33 new_gcd0(x0, x1) 248.95/165.33 new_sr(x0, ty_Integer) 248.95/165.33 new_primQuotInt0(x0, Pos(Succ(x1))) 248.95/165.33 new_sr4(x0, x1, ty_Integer) 248.95/165.33 new_sr5(:%(x0, x1), x2) 248.95/165.33 new_primMinusNatS2(Zero, Zero) 248.95/165.33 new_primMulNat1(Succ(x0)) 248.95/165.33 new_ms(x0, Pos(Zero)) 248.95/165.33 new_abs(Pos(Succ(x0))) 248.95/165.33 new_sr4(x0, x1, ty_Int) 248.95/165.33 new_esEs(Pos(Zero)) 248.95/165.33 new_primQuotInt0(x0, Pos(Zero)) 248.95/165.33 new_sr(x0, ty_Int) 248.95/165.33 new_primEqInt(Neg(Succ(x0))) 248.95/165.33 new_primQuotInt(x0, Neg(Zero)) 248.95/165.33 new_primQuotInt0(x0, Neg(Zero)) 248.95/165.33 new_primQuotInt0(x0, Neg(Succ(x1))) 248.95/165.33 new_gcd(x0, x1) 248.95/165.33 new_quot0(Pos(x0), x1, x2) 248.95/165.33 new_primMinusNatS0(x0) 248.95/165.33 new_primPlusNat0(Zero, Succ(x0)) 248.95/165.33 new_sr2(x0, x1, app(ty_Ratio, x2)) 248.95/165.33 new_sr2(x0, x1, ty_Int) 248.95/165.33 new_primQuotInt(x0, Pos(Succ(x1))) 248.95/165.33 new_primDivNatS1(Succ(Succ(x0)), Zero) 248.95/165.33 new_rem(Pos(x0), Pos(Zero)) 248.95/165.33 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 248.95/165.33 new_primDivNatS02(x0, x1, Zero, Zero) 248.95/165.33 new_abs(Pos(Zero)) 248.95/165.33 new_gcd0Gcd'10(False, x0, x1) 248.95/165.33 new_ms(x0, Pos(Succ(x1))) 248.95/165.33 new_primMinusNatS1 248.95/165.33 new_esEs1(Integer(x0)) 248.95/165.33 new_ms0(x0, Neg(Zero)) 248.95/165.33 new_primMinusNat0(Succ(x0), Zero) 248.95/165.33 new_ms0(x0, Neg(Succ(x1))) 248.95/165.33 new_sr2(x0, x1, ty_Integer) 248.95/165.33 new_primModNatS01(x0, x1, Zero, Succ(x2)) 248.95/165.33 new_primMulNat2(Succ(x0)) 248.95/165.33 new_sr14(Neg(x0), Neg(x1)) 248.95/165.33 new_sr2(x0, x1, ty_Float) 248.95/165.33 new_primMinusNatS2(Succ(x0), Zero) 248.95/165.33 new_sr4(x0, x1, ty_Float) 248.95/165.33 new_sr6(Pos(x0)) 248.95/165.33 new_esEs2(x0, x1, ty_Integer) 248.95/165.33 new_primMulNat4(Succ(x0)) 248.95/165.33 new_rem(Neg(x0), Neg(Succ(x1))) 248.95/165.33 new_primEqInt(Pos(Succ(x0))) 248.95/165.33 new_primQuotInt(x0, Pos(Zero)) 248.95/165.33 new_gcd0Gcd'11(False, x0, x1) 248.95/165.33 new_sr9(x0) 248.95/165.33 new_primModNatS1(Succ(Succ(x0)), Zero) 248.95/165.33 new_sr(x0, ty_Double) 248.95/165.33 new_esEs0(x0, ty_Integer) 248.95/165.33 new_gcd0Gcd'00(x0, x1) 248.95/165.33 new_reduce2Reduce1(x0, x1, x2, x3, True, x4) 248.95/165.33 new_sr3(x0, ty_Double) 248.95/165.33 new_esEs(Neg(Zero)) 248.95/165.33 new_primMulNat1(Zero) 248.95/165.33 new_primMinusNat0(Zero, Succ(x0)) 248.95/165.33 new_rem(Neg(x0), Neg(Zero)) 248.95/165.33 248.95/165.33 We have to consider all minimal (P,Q,R)-chains. 248.95/165.33 ---------------------------------------- 248.95/165.33 248.95/165.33 (778) QReductionProof (EQUIVALENT) 248.95/165.33 We deleted the following terms from Q as each root-symbol of these terms does neither occur in P nor in R.[THIEMANN]. 248.95/165.33 248.95/165.33 new_ms0(x0, Pos(x1)) 248.95/165.33 new_sr3(x0, ty_Integer) 248.95/165.33 new_sr3(x0, ty_Int) 248.95/165.33 new_sr4(x0, x1, ty_Double) 248.95/165.33 new_sr11(x0, x1) 248.95/165.33 new_esEs2(x0, x1, ty_Int) 248.95/165.33 new_sr13(x0, x1) 248.95/165.33 new_sr1(x0, ty_Int) 248.95/165.33 new_sr1(x0, app(ty_Ratio, x1)) 248.95/165.33 new_primMinusNat0(Zero, Zero) 248.95/165.33 new_ms(x0, Neg(x1)) 248.95/165.33 new_sr3(x0, ty_Float) 248.95/165.33 new_sr2(x0, x1, ty_Double) 248.95/165.33 new_sr4(x0, x1, app(ty_Ratio, x2)) 248.95/165.33 new_sr1(x0, ty_Integer) 248.95/165.33 new_sr1(x0, ty_Float) 248.95/165.33 new_primMinusNat0(Succ(x0), Succ(x1)) 248.95/165.33 new_sr12(:%(x0, x1), :%(x2, x3), x4) 248.95/165.33 new_sr1(x0, ty_Double) 248.95/165.33 new_sr3(x0, app(ty_Ratio, x1)) 248.95/165.33 new_sr4(x0, x1, ty_Integer) 248.95/165.33 new_ms(x0, Pos(Zero)) 248.95/165.33 new_sr4(x0, x1, ty_Int) 248.95/165.33 new_sr2(x0, x1, app(ty_Ratio, x2)) 248.95/165.33 new_sr2(x0, x1, ty_Int) 248.95/165.33 new_ms(x0, Pos(Succ(x1))) 248.95/165.33 new_ms0(x0, Neg(Zero)) 248.95/165.33 new_primMinusNat0(Succ(x0), Zero) 248.95/165.33 new_ms0(x0, Neg(Succ(x1))) 248.95/165.33 new_sr2(x0, x1, ty_Integer) 248.95/165.33 new_sr2(x0, x1, ty_Float) 248.95/165.33 new_sr4(x0, x1, ty_Float) 248.95/165.33 new_esEs2(x0, x1, ty_Integer) 248.95/165.33 new_sr3(x0, ty_Double) 248.95/165.33 new_primMinusNat0(Zero, Succ(x0)) 248.95/165.33 248.95/165.33 248.95/165.33 ---------------------------------------- 248.95/165.33 248.95/165.33 (779) 248.95/165.33 Obligation: 248.95/165.33 Q DP problem: 248.95/165.33 The TRS P consists of the following rules: 248.95/165.33 248.95/165.33 new_pr2F0G(vyv187, vyv183, Pos(Zero), h) -> new_pr2F0G(vyv187, new_sr(vyv183, h), Pos(Zero), h) 248.95/165.33 248.95/165.33 The TRS R consists of the following rules: 248.95/165.33 248.95/165.33 new_sr(vyv183, ty_Int) -> new_sr6(vyv183) 248.95/165.33 new_sr(vyv183, app(ty_Ratio, bd)) -> new_sr5(vyv183, bd) 248.95/165.33 new_sr(vyv183, ty_Integer) -> new_sr7(vyv183) 248.95/165.33 new_sr(vyv183, ty_Float) -> new_sr10(vyv183) 248.95/165.33 new_sr(vyv183, ty_Double) -> new_sr9(vyv183) 248.95/165.33 new_sr9(vyv183) -> error([]) 248.95/165.33 new_sr10(vyv183) -> error([]) 248.95/165.33 new_sr7(vyv183) -> error([]) 248.95/165.33 new_sr5(:%(vyv1830, vyv1831), bd) -> new_reduce2Reduce1(vyv1830, vyv1830, vyv1831, vyv1831, new_esEs0(vyv1831, bd), bd) 248.95/165.33 new_esEs0(vyv1831, ty_Int) -> new_esEs(new_sr6(vyv1831)) 248.95/165.33 new_esEs0(vyv1831, ty_Integer) -> new_esEs1(new_sr7(vyv1831)) 248.95/165.33 new_reduce2Reduce1(vyv264, vyv265, vyv266, vyv267, False, bh) -> :%(new_quot1(vyv264, vyv265, vyv266, vyv267, bh), new_quot2(vyv266, vyv267, vyv264, vyv265, bh)) 248.95/165.33 new_reduce2Reduce1(vyv264, vyv265, vyv266, vyv267, True, bh) -> error([]) 248.95/165.33 new_quot1(vyv264, vyv265, vyv266, vyv267, ty_Int) -> new_quot0(new_sr14(vyv264, vyv265), new_sr14(vyv264, vyv265), new_sr14(vyv266, vyv267)) 248.95/165.33 new_quot1(vyv264, vyv265, vyv266, vyv267, ty_Integer) -> new_quot(new_sr8(vyv264, vyv265), new_sr8(vyv264, vyv265), new_sr8(vyv266, vyv267)) 248.95/165.33 new_quot2(vyv266, vyv267, vyv264, vyv265, ty_Int) -> new_quot0(new_sr14(vyv266, vyv267), new_sr14(vyv264, vyv265), new_sr14(vyv266, vyv267)) 248.95/165.33 new_quot2(vyv266, vyv267, vyv264, vyv265, ty_Integer) -> new_quot(new_sr8(vyv266, vyv267), new_sr8(vyv264, vyv265), new_sr8(vyv266, vyv267)) 248.95/165.33 new_sr8(vyv239, vyv238) -> error([]) 248.95/165.33 new_quot(vyv273, vyv275, vyv274) -> error([]) 248.95/165.33 new_sr14(Pos(vyv2390), Neg(vyv2380)) -> Neg(new_primMulNat0(vyv2390, vyv2380)) 248.95/165.33 new_sr14(Neg(vyv2390), Pos(vyv2380)) -> Neg(new_primMulNat0(vyv2390, vyv2380)) 248.95/165.33 new_sr14(Neg(vyv2390), Neg(vyv2380)) -> Pos(new_primMulNat0(vyv2390, vyv2380)) 248.95/165.33 new_sr14(Pos(vyv2390), Pos(vyv2380)) -> Pos(new_primMulNat0(vyv2390, vyv2380)) 248.95/165.33 new_quot0(Neg(vyv2700), vyv272, vyv271) -> new_primQuotInt0(vyv2700, new_gcd(vyv272, vyv271)) 248.95/165.33 new_quot0(Pos(vyv2700), vyv272, vyv271) -> new_primQuotInt(vyv2700, new_gcd(vyv272, vyv271)) 248.95/165.33 new_gcd(vyv272, vyv271) -> new_gcd2(new_esEs(vyv272), vyv272, vyv271) 248.95/165.33 new_primQuotInt(vyv2700, Pos(Succ(vyv28400))) -> Pos(new_primDivNatS1(vyv2700, vyv28400)) 248.95/165.33 new_primQuotInt(vyv2700, Neg(Zero)) -> new_error 248.95/165.33 new_primQuotInt(vyv2700, Pos(Zero)) -> new_error 248.95/165.33 new_primQuotInt(vyv2700, Neg(Succ(vyv28400))) -> Neg(new_primDivNatS1(vyv2700, vyv28400)) 248.95/165.33 new_primDivNatS1(Zero, vyv28400) -> Zero 248.95/165.33 new_primDivNatS1(Succ(Succ(vyv270000)), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS0(vyv270000), Zero)) 248.95/165.33 new_primDivNatS1(Succ(Zero), Succ(vyv284000)) -> Zero 248.95/165.33 new_primDivNatS1(Succ(Succ(vyv270000)), Succ(vyv284000)) -> new_primDivNatS02(vyv270000, vyv284000, vyv270000, vyv284000) 248.95/165.33 new_primDivNatS1(Succ(Zero), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS1, Zero)) 248.95/165.33 new_primMinusNatS1 -> Zero 248.95/165.33 new_primDivNatS02(vyv310, vyv311, Zero, Zero) -> new_primDivNatS01(vyv310, vyv311) 248.95/165.33 new_primDivNatS02(vyv310, vyv311, Succ(vyv3120), Zero) -> new_primDivNatS01(vyv310, vyv311) 248.95/165.33 new_primDivNatS02(vyv310, vyv311, Zero, Succ(vyv3130)) -> Zero 248.95/165.33 new_primDivNatS02(vyv310, vyv311, Succ(vyv3120), Succ(vyv3130)) -> new_primDivNatS02(vyv310, vyv311, vyv3120, vyv3130) 248.95/165.33 new_primDivNatS01(vyv310, vyv311) -> Succ(new_primDivNatS1(new_primMinusNatS2(vyv310, vyv311), Succ(vyv311))) 248.95/165.33 new_primMinusNatS2(Zero, Succ(vyv3110)) -> Zero 248.95/165.33 new_primMinusNatS2(Succ(vyv3100), Zero) -> Succ(vyv3100) 248.95/165.33 new_primMinusNatS2(Zero, Zero) -> Zero 248.95/165.33 new_primMinusNatS2(Succ(vyv3100), Succ(vyv3110)) -> new_primMinusNatS2(vyv3100, vyv3110) 248.95/165.33 new_primMinusNatS0(vyv270000) -> Succ(vyv270000) 248.95/165.33 new_error -> error([]) 248.95/165.33 new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) 248.95/165.33 new_esEs(Pos(Succ(vyv24100))) -> new_primEqInt(Pos(Succ(vyv24100))) 248.95/165.33 new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) 248.95/165.33 new_esEs(Neg(Succ(vyv24100))) -> new_primEqInt(Neg(Succ(vyv24100))) 248.95/165.33 new_gcd2(True, vyv272, vyv271) -> new_gcd1(new_esEs(vyv271), vyv272, vyv271) 248.95/165.33 new_gcd2(False, vyv272, vyv271) -> new_gcd0(vyv272, vyv271) 248.95/165.33 new_gcd0(vyv272, vyv271) -> new_gcd0Gcd'10(new_esEs(new_abs(vyv271)), vyv272, vyv271) 248.95/165.33 new_abs(Neg(Zero)) -> Neg(Zero) 248.95/165.33 new_abs(Neg(Succ(vyv27100))) -> Pos(Succ(vyv27100)) 248.95/165.33 new_abs(Pos(Succ(vyv27100))) -> Pos(Succ(vyv27100)) 248.95/165.33 new_abs(Pos(Zero)) -> Pos(Zero) 248.95/165.33 new_gcd0Gcd'10(True, vyv272, vyv271) -> new_abs(vyv272) 248.95/165.33 new_gcd0Gcd'10(False, vyv272, vyv271) -> new_gcd0Gcd'00(new_abs(vyv272), new_abs(vyv271)) 248.95/165.33 new_gcd0Gcd'00(vyv292, vyv291) -> new_gcd0Gcd'11(new_esEs(new_rem(vyv292, vyv291)), vyv291, vyv292) 248.95/165.33 new_gcd0Gcd'11(False, vyv291, vyv292) -> new_gcd0Gcd'00(vyv291, new_rem(vyv292, vyv291)) 248.95/165.33 new_rem(Pos(vyv2920), Neg(Zero)) -> new_error 248.95/165.33 new_rem(Neg(vyv2920), Pos(Zero)) -> new_error 248.95/165.33 new_rem(Pos(vyv2920), Neg(Succ(vyv29100))) -> Pos(new_primModNatS1(vyv2920, vyv29100)) 248.95/165.33 new_rem(Neg(vyv2920), Pos(Succ(vyv29100))) -> Neg(new_primModNatS1(vyv2920, vyv29100)) 248.95/165.33 new_rem(Pos(vyv2920), Pos(Succ(vyv29100))) -> Pos(new_primModNatS1(vyv2920, vyv29100)) 248.95/165.33 new_rem(Neg(vyv2920), Neg(Zero)) -> new_error 248.95/165.33 new_rem(Neg(vyv2920), Neg(Succ(vyv29100))) -> Neg(new_primModNatS1(vyv2920, vyv29100)) 248.95/165.33 new_rem(Pos(vyv2920), Pos(Zero)) -> new_error 248.95/165.33 new_gcd0Gcd'11(True, vyv291, vyv292) -> vyv291 248.95/165.33 new_primModNatS1(Succ(Zero), Succ(vyv291000)) -> Succ(Zero) 248.95/165.33 new_primModNatS1(Zero, vyv29100) -> Zero 248.95/165.33 new_primModNatS1(Succ(Succ(vyv292000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv292000), Zero) 248.95/165.33 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 248.95/165.33 new_primModNatS1(Succ(Succ(vyv292000)), Succ(vyv291000)) -> new_primModNatS01(vyv292000, vyv291000, vyv292000, vyv291000) 248.95/165.33 new_primModNatS01(vyv330, vyv331, Zero, Zero) -> new_primModNatS02(vyv330, vyv331) 248.95/165.33 new_primModNatS02(vyv330, vyv331) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv330), Succ(vyv331)), Succ(vyv331)) 248.95/165.33 new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Zero) -> new_primModNatS02(vyv330, vyv331) 248.95/165.33 new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Succ(vyv3330)) -> new_primModNatS01(vyv330, vyv331, vyv3320, vyv3330) 248.95/165.33 new_primModNatS01(vyv330, vyv331, Zero, Succ(vyv3330)) -> Succ(Succ(vyv330)) 248.95/165.33 new_gcd1(True, vyv272, vyv271) -> new_error 248.95/165.33 new_gcd1(False, vyv272, vyv271) -> new_gcd0(vyv272, vyv271) 248.95/165.33 new_primEqInt(Neg(Succ(vyv242000))) -> False 248.95/165.33 new_primEqInt(Pos(Zero)) -> True 248.95/165.33 new_primEqInt(Pos(Succ(vyv242000))) -> False 248.95/165.33 new_primEqInt(Neg(Zero)) -> True 248.95/165.33 new_primQuotInt0(vyv2700, Pos(Succ(vyv28700))) -> Neg(new_primDivNatS1(vyv2700, vyv28700)) 248.95/165.33 new_primQuotInt0(vyv2700, Neg(Zero)) -> new_error 248.95/165.33 new_primQuotInt0(vyv2700, Neg(Succ(vyv28700))) -> Pos(new_primDivNatS1(vyv2700, vyv28700)) 248.95/165.33 new_primQuotInt0(vyv2700, Pos(Zero)) -> new_error 248.95/165.33 new_primMulNat0(Succ(vyv23900), Zero) -> Zero 248.95/165.33 new_primMulNat0(Zero, Succ(vyv23800)) -> Zero 248.95/165.33 new_primMulNat0(Zero, Zero) -> Zero 248.95/165.33 new_primMulNat0(Succ(vyv23900), Succ(vyv23800)) -> new_primPlusNat0(new_primMulNat0(vyv23900, Succ(vyv23800)), Succ(vyv23800)) 248.95/165.33 new_primPlusNat0(Succ(vyv4000), Succ(vyv5000)) -> Succ(Succ(new_primPlusNat0(vyv4000, vyv5000))) 248.95/165.33 new_primPlusNat0(Zero, Succ(vyv5000)) -> Succ(vyv5000) 248.95/165.33 new_primPlusNat0(Zero, Zero) -> Zero 248.95/165.33 new_primPlusNat0(Succ(vyv4000), Zero) -> Succ(vyv4000) 248.95/165.33 new_esEs1(Integer(vyv2690)) -> new_primEqInt(vyv2690) 248.95/165.33 new_sr6(Neg(vyv1830)) -> Pos(new_primMulNat1(vyv1830)) 248.95/165.33 new_sr6(Pos(vyv1830)) -> Pos(new_primMulNat1(vyv1830)) 248.95/165.33 new_primMulNat1(Succ(vyv18300)) -> new_primPlusNat0(new_primMulNat2(vyv18300), Succ(vyv18300)) 248.95/165.33 new_primMulNat1(Zero) -> Zero 248.95/165.33 new_primMulNat2(Succ(vyv183000)) -> new_primPlusNat0(new_primMulNat3(vyv183000), Succ(Succ(vyv183000))) 248.95/165.33 new_primMulNat2(Zero) -> Zero 248.95/165.33 new_primMulNat3(Succ(vyv1830000)) -> new_primPlusNat0(new_primMulNat4(vyv1830000), Succ(Succ(Succ(vyv1830000)))) 248.95/165.33 new_primMulNat3(Zero) -> Zero 248.95/165.33 new_primMulNat4(Succ(vyv18300000)) -> new_primPlusNat0(new_primMulNat0(vyv18300000, Succ(Succ(Succ(Succ(vyv18300000))))), Succ(Succ(Succ(Succ(vyv18300000))))) 248.95/165.33 new_primMulNat4(Zero) -> Zero 248.95/165.33 248.95/165.33 The set Q consists of the following terms: 248.95/165.33 248.95/165.33 new_rem(Pos(x0), Pos(Succ(x1))) 248.95/165.33 new_quot1(x0, x1, x2, x3, ty_Integer) 248.95/165.33 new_primModNatS1(Succ(Zero), Succ(x0)) 248.95/165.33 new_sr(x0, app(ty_Ratio, x1)) 248.95/165.33 new_primMulNat4(Zero) 248.95/165.33 new_gcd1(False, x0, x1) 248.95/165.33 new_primEqInt(Pos(Zero)) 248.95/165.33 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 248.95/165.33 new_rem(Pos(x0), Neg(Succ(x1))) 248.95/165.33 new_rem(Neg(x0), Pos(Succ(x1))) 248.95/165.33 new_sr10(x0) 248.95/165.33 new_quot1(x0, x1, x2, x3, ty_Int) 248.95/165.33 new_quot2(x0, x1, x2, x3, ty_Integer) 248.95/165.33 new_primModNatS01(x0, x1, Succ(x2), Zero) 248.95/165.33 new_primMulNat3(Zero) 248.95/165.33 new_primDivNatS02(x0, x1, Succ(x2), Zero) 248.95/165.33 new_sr(x0, ty_Float) 248.95/165.33 new_quot2(x0, x1, x2, x3, ty_Int) 248.95/165.33 new_gcd2(False, x0, x1) 248.95/165.33 new_primDivNatS1(Succ(Zero), Zero) 248.95/165.33 new_esEs0(x0, ty_Int) 248.95/165.33 new_sr14(Pos(x0), Pos(x1)) 248.95/165.33 new_primMulNat0(Zero, Zero) 248.95/165.33 new_primPlusNat0(Succ(x0), Zero) 248.95/165.33 new_primMulNat2(Zero) 248.95/165.33 new_primModNatS01(x0, x1, Zero, Zero) 248.95/165.33 new_gcd1(True, x0, x1) 248.95/165.33 new_sr14(Pos(x0), Neg(x1)) 248.95/165.33 new_sr14(Neg(x0), Pos(x1)) 248.95/165.33 new_primDivNatS1(Succ(Succ(x0)), Succ(x1)) 248.95/165.33 new_primModNatS1(Zero, x0) 248.95/165.33 new_esEs(Pos(Succ(x0))) 248.95/165.33 new_primMulNat3(Succ(x0)) 248.95/165.33 new_primQuotInt(x0, Neg(Succ(x1))) 248.95/165.33 new_reduce2Reduce1(x0, x1, x2, x3, False, x4) 248.95/165.33 new_primDivNatS1(Zero, x0) 248.95/165.33 new_primDivNatS02(x0, x1, Succ(x2), Succ(x3)) 248.95/165.33 new_primModNatS02(x0, x1) 248.95/165.33 new_primDivNatS1(Succ(Zero), Succ(x0)) 248.95/165.33 new_sr6(Neg(x0)) 248.95/165.33 new_gcd0Gcd'10(True, x0, x1) 248.95/165.33 new_primMulNat0(Succ(x0), Succ(x1)) 248.95/165.33 new_abs(Neg(Zero)) 248.95/165.33 new_rem(Pos(x0), Neg(Zero)) 248.95/165.33 new_rem(Neg(x0), Pos(Zero)) 248.95/165.33 new_primMinusNatS2(Zero, Succ(x0)) 248.95/165.33 new_esEs(Neg(Succ(x0))) 248.95/165.33 new_error 248.95/165.33 new_primModNatS1(Succ(Zero), Zero) 248.95/165.33 new_primMulNat0(Zero, Succ(x0)) 248.95/165.33 new_quot(x0, x1, x2) 248.95/165.33 new_gcd2(True, x0, x1) 248.95/165.33 new_gcd0Gcd'11(True, x0, x1) 248.95/165.33 new_primEqInt(Neg(Zero)) 248.95/165.33 new_primMulNat0(Succ(x0), Zero) 248.95/165.33 new_quot0(Neg(x0), x1, x2) 248.95/165.33 new_primMinusNatS2(Succ(x0), Succ(x1)) 248.95/165.33 new_sr8(x0, x1) 248.95/165.33 new_primDivNatS01(x0, x1) 248.95/165.33 new_primDivNatS02(x0, x1, Zero, Succ(x2)) 248.95/165.33 new_primPlusNat0(Succ(x0), Succ(x1)) 248.95/165.33 new_primPlusNat0(Zero, Zero) 248.95/165.33 new_abs(Neg(Succ(x0))) 248.95/165.33 new_sr7(x0) 248.95/165.33 new_gcd0(x0, x1) 248.95/165.33 new_sr(x0, ty_Integer) 248.95/165.33 new_primQuotInt0(x0, Pos(Succ(x1))) 248.95/165.33 new_sr5(:%(x0, x1), x2) 248.95/165.33 new_primMinusNatS2(Zero, Zero) 248.95/165.33 new_primMulNat1(Succ(x0)) 248.95/165.33 new_abs(Pos(Succ(x0))) 248.95/165.33 new_esEs(Pos(Zero)) 248.95/165.33 new_primQuotInt0(x0, Pos(Zero)) 248.95/165.33 new_sr(x0, ty_Int) 248.95/165.33 new_primEqInt(Neg(Succ(x0))) 248.95/165.33 new_primQuotInt(x0, Neg(Zero)) 248.95/165.33 new_primQuotInt0(x0, Neg(Zero)) 248.95/165.33 new_primQuotInt0(x0, Neg(Succ(x1))) 248.95/165.33 new_gcd(x0, x1) 248.95/165.33 new_quot0(Pos(x0), x1, x2) 248.95/165.33 new_primMinusNatS0(x0) 248.95/165.33 new_primPlusNat0(Zero, Succ(x0)) 248.95/165.33 new_primQuotInt(x0, Pos(Succ(x1))) 248.95/165.33 new_primDivNatS1(Succ(Succ(x0)), Zero) 248.95/165.33 new_rem(Pos(x0), Pos(Zero)) 248.95/165.33 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 248.95/165.33 new_primDivNatS02(x0, x1, Zero, Zero) 248.95/165.33 new_abs(Pos(Zero)) 248.95/165.33 new_gcd0Gcd'10(False, x0, x1) 248.95/165.33 new_primMinusNatS1 248.95/165.33 new_esEs1(Integer(x0)) 248.95/165.33 new_primModNatS01(x0, x1, Zero, Succ(x2)) 248.95/165.33 new_primMulNat2(Succ(x0)) 248.95/165.33 new_sr14(Neg(x0), Neg(x1)) 248.95/165.33 new_primMinusNatS2(Succ(x0), Zero) 248.95/165.33 new_sr6(Pos(x0)) 248.95/165.33 new_primMulNat4(Succ(x0)) 248.95/165.33 new_rem(Neg(x0), Neg(Succ(x1))) 248.95/165.33 new_primEqInt(Pos(Succ(x0))) 248.95/165.33 new_primQuotInt(x0, Pos(Zero)) 248.95/165.33 new_gcd0Gcd'11(False, x0, x1) 248.95/165.33 new_sr9(x0) 248.95/165.33 new_primModNatS1(Succ(Succ(x0)), Zero) 248.95/165.33 new_sr(x0, ty_Double) 248.95/165.33 new_esEs0(x0, ty_Integer) 248.95/165.33 new_gcd0Gcd'00(x0, x1) 248.95/165.33 new_reduce2Reduce1(x0, x1, x2, x3, True, x4) 248.95/165.33 new_esEs(Neg(Zero)) 248.95/165.33 new_primMulNat1(Zero) 248.95/165.33 new_rem(Neg(x0), Neg(Zero)) 248.95/165.33 248.95/165.33 We have to consider all minimal (P,Q,R)-chains. 248.95/165.33 ---------------------------------------- 248.95/165.33 248.95/165.33 (780) MNOCProof (EQUIVALENT) 248.95/165.33 We use the modular non-overlap check [FROCOS05] to decrease Q to the empty set. 248.95/165.33 ---------------------------------------- 248.95/165.33 248.95/165.33 (781) 248.95/165.33 Obligation: 248.95/165.33 Q DP problem: 248.95/165.33 The TRS P consists of the following rules: 248.95/165.33 248.95/165.33 new_pr2F0G(vyv187, vyv183, Pos(Zero), h) -> new_pr2F0G(vyv187, new_sr(vyv183, h), Pos(Zero), h) 248.95/165.33 248.95/165.33 The TRS R consists of the following rules: 248.95/165.33 248.95/165.33 new_sr(vyv183, ty_Int) -> new_sr6(vyv183) 248.95/165.33 new_sr(vyv183, app(ty_Ratio, bd)) -> new_sr5(vyv183, bd) 248.95/165.33 new_sr(vyv183, ty_Integer) -> new_sr7(vyv183) 248.95/165.33 new_sr(vyv183, ty_Float) -> new_sr10(vyv183) 248.95/165.33 new_sr(vyv183, ty_Double) -> new_sr9(vyv183) 248.95/165.33 new_sr9(vyv183) -> error([]) 248.95/165.33 new_sr10(vyv183) -> error([]) 248.95/165.33 new_sr7(vyv183) -> error([]) 248.95/165.33 new_sr5(:%(vyv1830, vyv1831), bd) -> new_reduce2Reduce1(vyv1830, vyv1830, vyv1831, vyv1831, new_esEs0(vyv1831, bd), bd) 248.95/165.33 new_esEs0(vyv1831, ty_Int) -> new_esEs(new_sr6(vyv1831)) 248.95/165.33 new_esEs0(vyv1831, ty_Integer) -> new_esEs1(new_sr7(vyv1831)) 248.95/165.33 new_reduce2Reduce1(vyv264, vyv265, vyv266, vyv267, False, bh) -> :%(new_quot1(vyv264, vyv265, vyv266, vyv267, bh), new_quot2(vyv266, vyv267, vyv264, vyv265, bh)) 248.95/165.33 new_reduce2Reduce1(vyv264, vyv265, vyv266, vyv267, True, bh) -> error([]) 248.95/165.33 new_quot1(vyv264, vyv265, vyv266, vyv267, ty_Int) -> new_quot0(new_sr14(vyv264, vyv265), new_sr14(vyv264, vyv265), new_sr14(vyv266, vyv267)) 248.95/165.33 new_quot1(vyv264, vyv265, vyv266, vyv267, ty_Integer) -> new_quot(new_sr8(vyv264, vyv265), new_sr8(vyv264, vyv265), new_sr8(vyv266, vyv267)) 248.95/165.33 new_quot2(vyv266, vyv267, vyv264, vyv265, ty_Int) -> new_quot0(new_sr14(vyv266, vyv267), new_sr14(vyv264, vyv265), new_sr14(vyv266, vyv267)) 248.95/165.33 new_quot2(vyv266, vyv267, vyv264, vyv265, ty_Integer) -> new_quot(new_sr8(vyv266, vyv267), new_sr8(vyv264, vyv265), new_sr8(vyv266, vyv267)) 248.95/165.33 new_sr8(vyv239, vyv238) -> error([]) 248.95/165.33 new_quot(vyv273, vyv275, vyv274) -> error([]) 248.95/165.33 new_sr14(Pos(vyv2390), Neg(vyv2380)) -> Neg(new_primMulNat0(vyv2390, vyv2380)) 248.95/165.33 new_sr14(Neg(vyv2390), Pos(vyv2380)) -> Neg(new_primMulNat0(vyv2390, vyv2380)) 248.95/165.33 new_sr14(Neg(vyv2390), Neg(vyv2380)) -> Pos(new_primMulNat0(vyv2390, vyv2380)) 248.95/165.33 new_sr14(Pos(vyv2390), Pos(vyv2380)) -> Pos(new_primMulNat0(vyv2390, vyv2380)) 248.95/165.33 new_quot0(Neg(vyv2700), vyv272, vyv271) -> new_primQuotInt0(vyv2700, new_gcd(vyv272, vyv271)) 248.95/165.33 new_quot0(Pos(vyv2700), vyv272, vyv271) -> new_primQuotInt(vyv2700, new_gcd(vyv272, vyv271)) 248.95/165.33 new_gcd(vyv272, vyv271) -> new_gcd2(new_esEs(vyv272), vyv272, vyv271) 248.95/165.33 new_primQuotInt(vyv2700, Pos(Succ(vyv28400))) -> Pos(new_primDivNatS1(vyv2700, vyv28400)) 248.95/165.33 new_primQuotInt(vyv2700, Neg(Zero)) -> new_error 248.95/165.33 new_primQuotInt(vyv2700, Pos(Zero)) -> new_error 248.95/165.33 new_primQuotInt(vyv2700, Neg(Succ(vyv28400))) -> Neg(new_primDivNatS1(vyv2700, vyv28400)) 248.95/165.33 new_primDivNatS1(Zero, vyv28400) -> Zero 248.95/165.33 new_primDivNatS1(Succ(Succ(vyv270000)), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS0(vyv270000), Zero)) 248.95/165.33 new_primDivNatS1(Succ(Zero), Succ(vyv284000)) -> Zero 248.95/165.33 new_primDivNatS1(Succ(Succ(vyv270000)), Succ(vyv284000)) -> new_primDivNatS02(vyv270000, vyv284000, vyv270000, vyv284000) 248.95/165.33 new_primDivNatS1(Succ(Zero), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS1, Zero)) 248.95/165.33 new_primMinusNatS1 -> Zero 248.95/165.33 new_primDivNatS02(vyv310, vyv311, Zero, Zero) -> new_primDivNatS01(vyv310, vyv311) 248.95/165.33 new_primDivNatS02(vyv310, vyv311, Succ(vyv3120), Zero) -> new_primDivNatS01(vyv310, vyv311) 248.95/165.33 new_primDivNatS02(vyv310, vyv311, Zero, Succ(vyv3130)) -> Zero 248.95/165.33 new_primDivNatS02(vyv310, vyv311, Succ(vyv3120), Succ(vyv3130)) -> new_primDivNatS02(vyv310, vyv311, vyv3120, vyv3130) 248.95/165.33 new_primDivNatS01(vyv310, vyv311) -> Succ(new_primDivNatS1(new_primMinusNatS2(vyv310, vyv311), Succ(vyv311))) 248.95/165.33 new_primMinusNatS2(Zero, Succ(vyv3110)) -> Zero 248.95/165.33 new_primMinusNatS2(Succ(vyv3100), Zero) -> Succ(vyv3100) 248.95/165.33 new_primMinusNatS2(Zero, Zero) -> Zero 248.95/165.33 new_primMinusNatS2(Succ(vyv3100), Succ(vyv3110)) -> new_primMinusNatS2(vyv3100, vyv3110) 248.95/165.33 new_primMinusNatS0(vyv270000) -> Succ(vyv270000) 248.95/165.33 new_error -> error([]) 248.95/165.33 new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) 248.95/165.33 new_esEs(Pos(Succ(vyv24100))) -> new_primEqInt(Pos(Succ(vyv24100))) 248.95/165.33 new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) 248.95/165.33 new_esEs(Neg(Succ(vyv24100))) -> new_primEqInt(Neg(Succ(vyv24100))) 248.95/165.33 new_gcd2(True, vyv272, vyv271) -> new_gcd1(new_esEs(vyv271), vyv272, vyv271) 248.95/165.33 new_gcd2(False, vyv272, vyv271) -> new_gcd0(vyv272, vyv271) 248.95/165.33 new_gcd0(vyv272, vyv271) -> new_gcd0Gcd'10(new_esEs(new_abs(vyv271)), vyv272, vyv271) 248.95/165.33 new_abs(Neg(Zero)) -> Neg(Zero) 248.95/165.33 new_abs(Neg(Succ(vyv27100))) -> Pos(Succ(vyv27100)) 248.95/165.33 new_abs(Pos(Succ(vyv27100))) -> Pos(Succ(vyv27100)) 248.95/165.33 new_abs(Pos(Zero)) -> Pos(Zero) 248.95/165.33 new_gcd0Gcd'10(True, vyv272, vyv271) -> new_abs(vyv272) 248.95/165.33 new_gcd0Gcd'10(False, vyv272, vyv271) -> new_gcd0Gcd'00(new_abs(vyv272), new_abs(vyv271)) 248.95/165.33 new_gcd0Gcd'00(vyv292, vyv291) -> new_gcd0Gcd'11(new_esEs(new_rem(vyv292, vyv291)), vyv291, vyv292) 248.95/165.33 new_gcd0Gcd'11(False, vyv291, vyv292) -> new_gcd0Gcd'00(vyv291, new_rem(vyv292, vyv291)) 248.95/165.33 new_rem(Pos(vyv2920), Neg(Zero)) -> new_error 248.95/165.33 new_rem(Neg(vyv2920), Pos(Zero)) -> new_error 248.95/165.33 new_rem(Pos(vyv2920), Neg(Succ(vyv29100))) -> Pos(new_primModNatS1(vyv2920, vyv29100)) 248.95/165.33 new_rem(Neg(vyv2920), Pos(Succ(vyv29100))) -> Neg(new_primModNatS1(vyv2920, vyv29100)) 248.95/165.33 new_rem(Pos(vyv2920), Pos(Succ(vyv29100))) -> Pos(new_primModNatS1(vyv2920, vyv29100)) 248.95/165.33 new_rem(Neg(vyv2920), Neg(Zero)) -> new_error 248.95/165.33 new_rem(Neg(vyv2920), Neg(Succ(vyv29100))) -> Neg(new_primModNatS1(vyv2920, vyv29100)) 248.95/165.33 new_rem(Pos(vyv2920), Pos(Zero)) -> new_error 248.95/165.33 new_gcd0Gcd'11(True, vyv291, vyv292) -> vyv291 248.95/165.33 new_primModNatS1(Succ(Zero), Succ(vyv291000)) -> Succ(Zero) 248.95/165.33 new_primModNatS1(Zero, vyv29100) -> Zero 248.95/165.33 new_primModNatS1(Succ(Succ(vyv292000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv292000), Zero) 248.95/165.33 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 248.95/165.33 new_primModNatS1(Succ(Succ(vyv292000)), Succ(vyv291000)) -> new_primModNatS01(vyv292000, vyv291000, vyv292000, vyv291000) 248.95/165.33 new_primModNatS01(vyv330, vyv331, Zero, Zero) -> new_primModNatS02(vyv330, vyv331) 248.95/165.33 new_primModNatS02(vyv330, vyv331) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv330), Succ(vyv331)), Succ(vyv331)) 248.95/165.33 new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Zero) -> new_primModNatS02(vyv330, vyv331) 248.95/165.33 new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Succ(vyv3330)) -> new_primModNatS01(vyv330, vyv331, vyv3320, vyv3330) 248.95/165.33 new_primModNatS01(vyv330, vyv331, Zero, Succ(vyv3330)) -> Succ(Succ(vyv330)) 248.95/165.33 new_gcd1(True, vyv272, vyv271) -> new_error 248.95/165.33 new_gcd1(False, vyv272, vyv271) -> new_gcd0(vyv272, vyv271) 248.95/165.33 new_primEqInt(Neg(Succ(vyv242000))) -> False 248.95/165.33 new_primEqInt(Pos(Zero)) -> True 248.95/165.33 new_primEqInt(Pos(Succ(vyv242000))) -> False 248.95/165.33 new_primEqInt(Neg(Zero)) -> True 248.95/165.33 new_primQuotInt0(vyv2700, Pos(Succ(vyv28700))) -> Neg(new_primDivNatS1(vyv2700, vyv28700)) 248.95/165.33 new_primQuotInt0(vyv2700, Neg(Zero)) -> new_error 248.95/165.33 new_primQuotInt0(vyv2700, Neg(Succ(vyv28700))) -> Pos(new_primDivNatS1(vyv2700, vyv28700)) 248.95/165.33 new_primQuotInt0(vyv2700, Pos(Zero)) -> new_error 248.95/165.33 new_primMulNat0(Succ(vyv23900), Zero) -> Zero 248.95/165.33 new_primMulNat0(Zero, Succ(vyv23800)) -> Zero 248.95/165.33 new_primMulNat0(Zero, Zero) -> Zero 248.95/165.33 new_primMulNat0(Succ(vyv23900), Succ(vyv23800)) -> new_primPlusNat0(new_primMulNat0(vyv23900, Succ(vyv23800)), Succ(vyv23800)) 248.95/165.33 new_primPlusNat0(Succ(vyv4000), Succ(vyv5000)) -> Succ(Succ(new_primPlusNat0(vyv4000, vyv5000))) 248.95/165.33 new_primPlusNat0(Zero, Succ(vyv5000)) -> Succ(vyv5000) 248.95/165.33 new_primPlusNat0(Zero, Zero) -> Zero 248.95/165.33 new_primPlusNat0(Succ(vyv4000), Zero) -> Succ(vyv4000) 248.95/165.33 new_esEs1(Integer(vyv2690)) -> new_primEqInt(vyv2690) 248.95/165.33 new_sr6(Neg(vyv1830)) -> Pos(new_primMulNat1(vyv1830)) 248.95/165.33 new_sr6(Pos(vyv1830)) -> Pos(new_primMulNat1(vyv1830)) 248.95/165.33 new_primMulNat1(Succ(vyv18300)) -> new_primPlusNat0(new_primMulNat2(vyv18300), Succ(vyv18300)) 248.95/165.33 new_primMulNat1(Zero) -> Zero 248.95/165.33 new_primMulNat2(Succ(vyv183000)) -> new_primPlusNat0(new_primMulNat3(vyv183000), Succ(Succ(vyv183000))) 248.95/165.33 new_primMulNat2(Zero) -> Zero 248.95/165.33 new_primMulNat3(Succ(vyv1830000)) -> new_primPlusNat0(new_primMulNat4(vyv1830000), Succ(Succ(Succ(vyv1830000)))) 248.95/165.33 new_primMulNat3(Zero) -> Zero 248.95/165.33 new_primMulNat4(Succ(vyv18300000)) -> new_primPlusNat0(new_primMulNat0(vyv18300000, Succ(Succ(Succ(Succ(vyv18300000))))), Succ(Succ(Succ(Succ(vyv18300000))))) 248.95/165.33 new_primMulNat4(Zero) -> Zero 248.95/165.33 248.95/165.33 Q is empty. 248.95/165.33 We have to consider all (P,Q,R)-chains. 248.95/165.33 ---------------------------------------- 248.95/165.33 248.95/165.33 (782) NonTerminationLoopProof (COMPLETE) 248.95/165.33 We used the non-termination processor [FROCOS05] to show that the DP problem is infinite. 248.95/165.33 Found a loop by semiunifying a rule from P directly. 248.95/165.33 248.95/165.33 s = new_pr2F0G(vyv187, vyv183, Pos(Zero), h) evaluates to t =new_pr2F0G(vyv187, new_sr(vyv183, h), Pos(Zero), h) 248.95/165.33 248.95/165.33 Thus s starts an infinite chain as s semiunifies with t with the following substitutions: 248.95/165.33 * Matcher: [vyv183 / new_sr(vyv183, h)] 248.95/165.33 * Semiunifier: [ ] 248.95/165.33 248.95/165.33 -------------------------------------------------------------------------------- 248.95/165.33 Rewriting sequence 248.95/165.33 248.95/165.33 The DP semiunifies directly so there is only one rewrite step from new_pr2F0G(vyv187, vyv183, Pos(Zero), h) to new_pr2F0G(vyv187, new_sr(vyv183, h), Pos(Zero), h). 248.95/165.33 248.95/165.33 248.95/165.33 248.95/165.33 248.95/165.33 ---------------------------------------- 248.95/165.33 248.95/165.33 (783) 248.95/165.33 NO 248.95/165.33 248.95/165.33 ---------------------------------------- 248.95/165.33 248.95/165.33 (784) 248.95/165.33 Obligation: 248.95/165.33 Q DP problem: 248.95/165.33 The TRS P consists of the following rules: 248.95/165.33 248.95/165.33 new_pr2F0G11(vyv238, vyv239, vyv240, bc) -> new_pr2F1(vyv239, vyv240, Pos(Succ(Zero)), vyv238, bc) 248.95/165.33 new_pr2F1(vyv239, vyv240, vyv243, vyv238, bc) -> new_pr2F30(new_esEs(new_ms0(vyv240, vyv243)), vyv239, vyv240, vyv243, vyv238, bc) 248.95/165.33 new_pr2F30(False, vyv239, vyv240, vyv243, vyv238, bc) -> new_pr2F0(vyv239, new_ms0(vyv240, vyv243), new_sr4(vyv239, vyv238, bc), bc) 248.95/165.33 new_pr2F0(vyv183, Neg(Succ(Succ(vyv222000))), vyv187, h) -> new_pr2F0G10(vyv187, vyv183, Succ(vyv222000), vyv222000, h) 248.95/165.33 new_pr2F0G10(vyv248, vyv249, vyv250, Succ(Succ(vyv25100)), bb) -> new_pr2F0G10(vyv248, vyv249, vyv250, vyv25100, bb) 248.95/165.33 new_pr2F0G10(vyv248, vyv249, vyv250, Succ(Zero), bb) -> new_pr2F0G11(vyv248, vyv249, vyv250, bb) 248.95/165.33 new_pr2F0G10(vyv248, vyv249, vyv250, Zero, bb) -> new_pr2F0G(vyv248, new_sr3(vyv249, bb), Neg(new_primDivNatS1(Succ(vyv250), Succ(Zero))), bb) 248.95/165.33 new_pr2F0G(vyv187, vyv183, Neg(Succ(Zero)), h) -> new_pr2F0G11(vyv187, vyv183, Zero, h) 248.95/165.33 new_pr2F0G(vyv187, vyv183, Neg(Succ(Succ(vyv222000))), h) -> new_pr2F0G10(vyv187, vyv183, Succ(vyv222000), vyv222000, h) 248.95/165.33 new_pr2F0(vyv183, Neg(Succ(Zero)), vyv187, h) -> new_pr2F0G11(vyv187, vyv183, Zero, h) 248.95/165.33 new_pr2F0(vyv183, Pos(Succ(Succ(vyv222000))), vyv187, h) -> new_pr2F0G1(vyv187, vyv183, Succ(vyv222000), vyv222000, h) 248.95/165.33 new_pr2F0G1(vyv226, vyv227, vyv228, Succ(Succ(vyv22900)), ba) -> new_pr2F0G1(vyv226, vyv227, vyv228, vyv22900, ba) 248.95/165.33 new_pr2F0G1(vyv226, vyv227, vyv228, Succ(Zero), ba) -> new_pr2F(vyv227, vyv228, Pos(Succ(Zero)), vyv226, ba) 248.95/165.33 new_pr2F(vyv227, vyv228, vyv244, vyv226, ba) -> new_pr2F3(new_esEs(new_ms(vyv228, vyv244)), vyv227, vyv228, vyv244, vyv226, ba) 248.95/165.33 new_pr2F3(False, vyv227, vyv228, vyv244, vyv226, ba) -> new_pr2F0(vyv227, new_ms(vyv228, vyv244), new_sr2(vyv227, vyv226, ba), ba) 248.95/165.33 new_pr2F0(vyv183, Pos(Succ(Zero)), vyv187, h) -> new_pr2F(vyv183, Zero, Pos(Succ(Zero)), vyv187, h) 248.95/165.33 new_pr2F0G1(vyv226, vyv227, vyv228, Zero, ba) -> new_pr2F0G(vyv226, new_sr1(vyv227, ba), Pos(new_primDivNatS1(Succ(vyv228), Succ(Zero))), ba) 248.95/165.33 new_pr2F0G(vyv187, vyv183, Pos(Succ(Succ(vyv222000))), h) -> new_pr2F0G1(vyv187, vyv183, Succ(vyv222000), vyv222000, h) 248.95/165.33 new_pr2F0G(vyv187, vyv183, Pos(Succ(Zero)), h) -> new_pr2F(vyv183, Zero, Pos(Succ(Zero)), vyv187, h) 248.95/165.33 248.95/165.33 The TRS R consists of the following rules: 248.95/165.33 248.95/165.33 new_sr(vyv183, ty_Int) -> new_sr6(vyv183) 248.95/165.33 new_sr(vyv183, app(ty_Ratio, bd)) -> new_sr5(vyv183, bd) 248.95/165.33 new_sr(vyv183, ty_Integer) -> new_sr7(vyv183) 248.95/165.33 new_sr(vyv183, ty_Float) -> new_sr10(vyv183) 248.95/165.33 new_sr(vyv183, ty_Double) -> new_sr9(vyv183) 248.95/165.33 new_primDivNatS1(Zero, vyv28400) -> Zero 248.95/165.33 new_sr9(vyv183) -> error([]) 248.95/165.33 new_sr10(vyv183) -> error([]) 248.95/165.33 new_sr7(vyv183) -> error([]) 248.95/165.33 new_sr5(:%(vyv1830, vyv1831), bd) -> new_reduce2Reduce1(vyv1830, vyv1830, vyv1831, vyv1831, new_esEs0(vyv1831, bd), bd) 248.95/165.33 new_esEs0(vyv1831, ty_Int) -> new_esEs(new_sr6(vyv1831)) 248.95/165.33 new_esEs0(vyv1831, ty_Integer) -> new_esEs1(new_sr7(vyv1831)) 248.95/165.33 new_reduce2Reduce1(vyv264, vyv265, vyv266, vyv267, False, bh) -> :%(new_quot1(vyv264, vyv265, vyv266, vyv267, bh), new_quot2(vyv266, vyv267, vyv264, vyv265, bh)) 248.95/165.33 new_reduce2Reduce1(vyv264, vyv265, vyv266, vyv267, True, bh) -> error([]) 248.95/165.33 new_quot1(vyv264, vyv265, vyv266, vyv267, ty_Int) -> new_quot0(new_sr14(vyv264, vyv265), new_sr14(vyv264, vyv265), new_sr14(vyv266, vyv267)) 248.95/165.33 new_quot1(vyv264, vyv265, vyv266, vyv267, ty_Integer) -> new_quot(new_sr8(vyv264, vyv265), new_sr8(vyv264, vyv265), new_sr8(vyv266, vyv267)) 248.95/165.33 new_quot2(vyv266, vyv267, vyv264, vyv265, ty_Int) -> new_quot0(new_sr14(vyv266, vyv267), new_sr14(vyv264, vyv265), new_sr14(vyv266, vyv267)) 248.95/165.33 new_quot2(vyv266, vyv267, vyv264, vyv265, ty_Integer) -> new_quot(new_sr8(vyv266, vyv267), new_sr8(vyv264, vyv265), new_sr8(vyv266, vyv267)) 248.95/165.33 new_sr8(vyv239, vyv238) -> error([]) 248.95/165.33 new_quot(vyv273, vyv275, vyv274) -> error([]) 248.95/165.33 new_sr14(Pos(vyv2390), Neg(vyv2380)) -> Neg(new_primMulNat0(vyv2390, vyv2380)) 248.95/165.33 new_sr14(Neg(vyv2390), Pos(vyv2380)) -> Neg(new_primMulNat0(vyv2390, vyv2380)) 248.95/165.33 new_sr14(Neg(vyv2390), Neg(vyv2380)) -> Pos(new_primMulNat0(vyv2390, vyv2380)) 248.95/165.33 new_sr14(Pos(vyv2390), Pos(vyv2380)) -> Pos(new_primMulNat0(vyv2390, vyv2380)) 248.95/165.33 new_quot0(Neg(vyv2700), vyv272, vyv271) -> new_primQuotInt0(vyv2700, new_gcd(vyv272, vyv271)) 248.95/165.33 new_quot0(Pos(vyv2700), vyv272, vyv271) -> new_primQuotInt(vyv2700, new_gcd(vyv272, vyv271)) 248.95/165.33 new_gcd(vyv272, vyv271) -> new_gcd2(new_esEs(vyv272), vyv272, vyv271) 248.95/165.33 new_primQuotInt(vyv2700, Pos(Succ(vyv28400))) -> Pos(new_primDivNatS1(vyv2700, vyv28400)) 248.95/165.33 new_primQuotInt(vyv2700, Neg(Zero)) -> new_error 248.95/165.33 new_primQuotInt(vyv2700, Pos(Zero)) -> new_error 248.95/165.33 new_primQuotInt(vyv2700, Neg(Succ(vyv28400))) -> Neg(new_primDivNatS1(vyv2700, vyv28400)) 248.95/165.33 new_primDivNatS1(Succ(Succ(vyv270000)), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS0(vyv270000), Zero)) 248.95/165.33 new_primDivNatS1(Succ(Zero), Succ(vyv284000)) -> Zero 248.95/165.33 new_primDivNatS1(Succ(Succ(vyv270000)), Succ(vyv284000)) -> new_primDivNatS02(vyv270000, vyv284000, vyv270000, vyv284000) 248.95/165.33 new_primDivNatS1(Succ(Zero), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS1, Zero)) 248.95/165.33 new_primMinusNatS1 -> Zero 248.95/165.33 new_primDivNatS02(vyv310, vyv311, Zero, Zero) -> new_primDivNatS01(vyv310, vyv311) 248.95/165.33 new_primDivNatS02(vyv310, vyv311, Succ(vyv3120), Zero) -> new_primDivNatS01(vyv310, vyv311) 248.95/165.33 new_primDivNatS02(vyv310, vyv311, Zero, Succ(vyv3130)) -> Zero 248.95/165.33 new_primDivNatS02(vyv310, vyv311, Succ(vyv3120), Succ(vyv3130)) -> new_primDivNatS02(vyv310, vyv311, vyv3120, vyv3130) 248.95/165.33 new_primDivNatS01(vyv310, vyv311) -> Succ(new_primDivNatS1(new_primMinusNatS2(vyv310, vyv311), Succ(vyv311))) 248.95/165.33 new_primMinusNatS2(Zero, Succ(vyv3110)) -> Zero 248.95/165.33 new_primMinusNatS2(Succ(vyv3100), Zero) -> Succ(vyv3100) 248.95/165.33 new_primMinusNatS2(Zero, Zero) -> Zero 248.95/165.33 new_primMinusNatS2(Succ(vyv3100), Succ(vyv3110)) -> new_primMinusNatS2(vyv3100, vyv3110) 248.95/165.33 new_primMinusNatS0(vyv270000) -> Succ(vyv270000) 248.95/165.33 new_error -> error([]) 248.95/165.33 new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) 248.95/165.33 new_esEs(Pos(Succ(vyv24100))) -> new_primEqInt(Pos(Succ(vyv24100))) 248.95/165.33 new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) 248.95/165.33 new_esEs(Neg(Succ(vyv24100))) -> new_primEqInt(Neg(Succ(vyv24100))) 248.95/165.33 new_gcd2(True, vyv272, vyv271) -> new_gcd1(new_esEs(vyv271), vyv272, vyv271) 248.95/165.33 new_gcd2(False, vyv272, vyv271) -> new_gcd0(vyv272, vyv271) 248.95/165.33 new_gcd0(vyv272, vyv271) -> new_gcd0Gcd'10(new_esEs(new_abs(vyv271)), vyv272, vyv271) 248.95/165.33 new_abs(Neg(Zero)) -> Neg(Zero) 248.95/165.33 new_abs(Neg(Succ(vyv27100))) -> Pos(Succ(vyv27100)) 248.95/165.33 new_abs(Pos(Succ(vyv27100))) -> Pos(Succ(vyv27100)) 248.95/165.33 new_abs(Pos(Zero)) -> Pos(Zero) 248.95/165.33 new_gcd0Gcd'10(True, vyv272, vyv271) -> new_abs(vyv272) 248.95/165.33 new_gcd0Gcd'10(False, vyv272, vyv271) -> new_gcd0Gcd'00(new_abs(vyv272), new_abs(vyv271)) 248.95/165.33 new_gcd0Gcd'11(False, vyv291, vyv292) -> new_gcd0Gcd'00(vyv291, new_rem(vyv292, vyv291)) 248.95/165.33 new_gcd0Gcd'00(vyv292, vyv291) -> new_gcd0Gcd'11(new_esEs(new_rem(vyv292, vyv291)), vyv291, vyv292) 248.95/165.33 new_rem(Pos(vyv2920), Neg(Zero)) -> new_error 248.95/165.33 new_rem(Neg(vyv2920), Pos(Zero)) -> new_error 248.95/165.33 new_rem(Pos(vyv2920), Neg(Succ(vyv29100))) -> Pos(new_primModNatS1(vyv2920, vyv29100)) 248.95/165.33 new_rem(Neg(vyv2920), Pos(Succ(vyv29100))) -> Neg(new_primModNatS1(vyv2920, vyv29100)) 248.95/165.33 new_rem(Pos(vyv2920), Pos(Succ(vyv29100))) -> Pos(new_primModNatS1(vyv2920, vyv29100)) 248.95/165.33 new_rem(Neg(vyv2920), Neg(Zero)) -> new_error 248.95/165.33 new_rem(Neg(vyv2920), Neg(Succ(vyv29100))) -> Neg(new_primModNatS1(vyv2920, vyv29100)) 248.95/165.33 new_rem(Pos(vyv2920), Pos(Zero)) -> new_error 248.95/165.33 new_gcd0Gcd'11(True, vyv291, vyv292) -> vyv291 248.95/165.33 new_primModNatS1(Succ(Zero), Succ(vyv291000)) -> Succ(Zero) 248.95/165.33 new_primModNatS1(Zero, vyv29100) -> Zero 248.95/165.33 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 248.95/165.33 new_primModNatS1(Succ(Succ(vyv292000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv292000), Zero) 248.95/165.33 new_primModNatS1(Succ(Succ(vyv292000)), Succ(vyv291000)) -> new_primModNatS01(vyv292000, vyv291000, vyv292000, vyv291000) 248.95/165.33 new_primModNatS01(vyv330, vyv331, Zero, Zero) -> new_primModNatS02(vyv330, vyv331) 248.95/165.33 new_primModNatS02(vyv330, vyv331) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv330), Succ(vyv331)), Succ(vyv331)) 248.95/165.33 new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Zero) -> new_primModNatS02(vyv330, vyv331) 248.95/165.33 new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Succ(vyv3330)) -> new_primModNatS01(vyv330, vyv331, vyv3320, vyv3330) 248.95/165.33 new_primModNatS01(vyv330, vyv331, Zero, Succ(vyv3330)) -> Succ(Succ(vyv330)) 248.95/165.33 new_gcd1(True, vyv272, vyv271) -> new_error 248.95/165.33 new_gcd1(False, vyv272, vyv271) -> new_gcd0(vyv272, vyv271) 248.95/165.33 new_primEqInt(Neg(Succ(vyv242000))) -> False 248.95/165.33 new_primEqInt(Pos(Zero)) -> True 248.95/165.33 new_primEqInt(Pos(Succ(vyv242000))) -> False 248.95/165.33 new_primEqInt(Neg(Zero)) -> True 248.95/165.33 new_primQuotInt0(vyv2700, Pos(Succ(vyv28700))) -> Neg(new_primDivNatS1(vyv2700, vyv28700)) 248.95/165.33 new_primQuotInt0(vyv2700, Neg(Zero)) -> new_error 248.95/165.33 new_primQuotInt0(vyv2700, Neg(Succ(vyv28700))) -> Pos(new_primDivNatS1(vyv2700, vyv28700)) 248.95/165.33 new_primQuotInt0(vyv2700, Pos(Zero)) -> new_error 248.95/165.33 new_primMulNat0(Succ(vyv23900), Zero) -> Zero 248.95/165.33 new_primMulNat0(Zero, Succ(vyv23800)) -> Zero 248.95/165.33 new_primMulNat0(Zero, Zero) -> Zero 248.95/165.33 new_primMulNat0(Succ(vyv23900), Succ(vyv23800)) -> new_primPlusNat0(new_primMulNat0(vyv23900, Succ(vyv23800)), Succ(vyv23800)) 248.95/165.33 new_primPlusNat0(Succ(vyv4000), Succ(vyv5000)) -> Succ(Succ(new_primPlusNat0(vyv4000, vyv5000))) 248.95/165.33 new_primPlusNat0(Zero, Succ(vyv5000)) -> Succ(vyv5000) 248.95/165.33 new_primPlusNat0(Zero, Zero) -> Zero 248.95/165.33 new_primPlusNat0(Succ(vyv4000), Zero) -> Succ(vyv4000) 248.95/165.33 new_esEs1(Integer(vyv2690)) -> new_primEqInt(vyv2690) 248.95/165.33 new_sr6(Neg(vyv1830)) -> Pos(new_primMulNat1(vyv1830)) 248.95/165.33 new_sr6(Pos(vyv1830)) -> Pos(new_primMulNat1(vyv1830)) 248.95/165.33 new_primMulNat1(Succ(vyv18300)) -> new_primPlusNat0(new_primMulNat2(vyv18300), Succ(vyv18300)) 248.95/165.33 new_primMulNat1(Zero) -> Zero 248.95/165.33 new_primMulNat2(Succ(vyv183000)) -> new_primPlusNat0(new_primMulNat3(vyv183000), Succ(Succ(vyv183000))) 248.95/165.33 new_primMulNat2(Zero) -> Zero 248.95/165.33 new_primMulNat3(Succ(vyv1830000)) -> new_primPlusNat0(new_primMulNat4(vyv1830000), Succ(Succ(Succ(vyv1830000)))) 248.95/165.33 new_primMulNat3(Zero) -> Zero 248.95/165.33 new_primMulNat4(Succ(vyv18300000)) -> new_primPlusNat0(new_primMulNat0(vyv18300000, Succ(Succ(Succ(Succ(vyv18300000))))), Succ(Succ(Succ(Succ(vyv18300000))))) 248.95/165.33 new_primMulNat4(Zero) -> Zero 248.95/165.33 new_sr1(vyv227, ty_Int) -> new_sr6(vyv227) 248.95/165.33 new_sr1(vyv227, ty_Integer) -> new_sr7(vyv227) 248.95/165.33 new_sr1(vyv227, app(ty_Ratio, be)) -> new_sr5(vyv227, be) 248.95/165.33 new_sr1(vyv227, ty_Float) -> new_sr10(vyv227) 248.95/165.33 new_sr1(vyv227, ty_Double) -> new_sr9(vyv227) 248.95/165.33 new_ms(vyv228, Neg(vyv2440)) -> Pos(new_primPlusNat0(Succ(vyv228), vyv2440)) 248.95/165.33 new_ms(vyv228, Pos(Succ(vyv24400))) -> new_primMinusNat0(vyv228, vyv24400) 248.95/165.33 new_ms(vyv228, Pos(Zero)) -> Pos(Succ(vyv228)) 248.95/165.33 new_sr2(vyv227, vyv226, ty_Int) -> new_sr14(vyv227, vyv226) 248.95/165.33 new_sr2(vyv227, vyv226, ty_Double) -> new_sr11(vyv227, vyv226) 248.95/165.33 new_sr2(vyv227, vyv226, ty_Integer) -> new_sr8(vyv227, vyv226) 248.95/165.33 new_sr2(vyv227, vyv226, ty_Float) -> new_sr13(vyv227, vyv226) 248.95/165.33 new_sr2(vyv227, vyv226, app(ty_Ratio, be)) -> new_sr12(vyv227, vyv226, be) 248.95/165.33 new_sr12(:%(vyv2390, vyv2391), :%(vyv2380, vyv2381), bf) -> new_reduce2Reduce1(vyv2390, vyv2380, vyv2391, vyv2381, new_esEs2(vyv2391, vyv2381, bf), bf) 248.95/165.33 new_esEs2(vyv2391, vyv2381, ty_Int) -> new_esEs(new_sr14(vyv2391, vyv2381)) 248.95/165.33 new_esEs2(vyv2391, vyv2381, ty_Integer) -> new_esEs1(new_sr8(vyv2391, vyv2381)) 248.95/165.33 new_sr13(vyv239, vyv238) -> error([]) 248.95/165.33 new_sr11(vyv239, vyv238) -> error([]) 248.95/165.33 new_primMinusNat0(Succ(vyv2280), Succ(vyv244000)) -> new_primMinusNat0(vyv2280, vyv244000) 248.95/165.33 new_primMinusNat0(Zero, Zero) -> Pos(Zero) 248.95/165.33 new_primMinusNat0(Zero, Succ(vyv244000)) -> Neg(Succ(vyv244000)) 248.95/165.33 new_primMinusNat0(Succ(vyv2280), Zero) -> Pos(Succ(vyv2280)) 248.95/165.33 new_sr3(vyv249, ty_Float) -> new_sr10(vyv249) 248.95/165.33 new_sr3(vyv249, ty_Double) -> new_sr9(vyv249) 248.95/165.33 new_sr3(vyv249, ty_Int) -> new_sr6(vyv249) 248.95/165.33 new_sr3(vyv249, ty_Integer) -> new_sr7(vyv249) 248.95/165.33 new_sr3(vyv249, app(ty_Ratio, bg)) -> new_sr5(vyv249, bg) 248.95/165.33 new_ms0(vyv240, Neg(Zero)) -> Neg(Succ(vyv240)) 248.95/165.33 new_ms0(vyv240, Pos(vyv2430)) -> Neg(new_primPlusNat0(Succ(vyv240), vyv2430)) 248.95/165.33 new_ms0(vyv240, Neg(Succ(vyv24300))) -> new_primMinusNat0(vyv24300, vyv240) 248.95/165.33 new_sr4(vyv239, vyv238, app(ty_Ratio, bf)) -> new_sr12(vyv239, vyv238, bf) 248.95/165.33 new_sr4(vyv239, vyv238, ty_Integer) -> new_sr8(vyv239, vyv238) 248.95/165.33 new_sr4(vyv239, vyv238, ty_Int) -> new_sr14(vyv239, vyv238) 248.95/165.33 new_sr4(vyv239, vyv238, ty_Double) -> new_sr11(vyv239, vyv238) 248.95/165.33 new_sr4(vyv239, vyv238, ty_Float) -> new_sr13(vyv239, vyv238) 248.95/165.33 248.95/165.33 The set Q consists of the following terms: 248.95/165.33 248.95/165.33 new_rem(Pos(x0), Pos(Succ(x1))) 248.95/165.33 new_quot1(x0, x1, x2, x3, ty_Integer) 248.95/165.33 new_primModNatS1(Succ(Zero), Succ(x0)) 248.95/165.33 new_ms0(x0, Pos(x1)) 248.95/165.33 new_sr(x0, app(ty_Ratio, x1)) 248.95/165.33 new_primMulNat4(Zero) 248.95/165.33 new_gcd1(False, x0, x1) 248.95/165.33 new_primEqInt(Pos(Zero)) 248.95/165.33 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 248.95/165.33 new_rem(Pos(x0), Neg(Succ(x1))) 248.95/165.33 new_rem(Neg(x0), Pos(Succ(x1))) 248.95/165.33 new_sr10(x0) 248.95/165.33 new_quot1(x0, x1, x2, x3, ty_Int) 248.95/165.33 new_quot2(x0, x1, x2, x3, ty_Integer) 248.95/165.33 new_primModNatS01(x0, x1, Succ(x2), Zero) 248.95/165.33 new_sr3(x0, ty_Integer) 248.95/165.33 new_primMulNat3(Zero) 248.95/165.33 new_primDivNatS02(x0, x1, Succ(x2), Zero) 248.95/165.33 new_sr(x0, ty_Float) 248.95/165.33 new_quot2(x0, x1, x2, x3, ty_Int) 248.95/165.33 new_gcd2(False, x0, x1) 248.95/165.33 new_primDivNatS1(Succ(Zero), Zero) 248.95/165.33 new_esEs0(x0, ty_Int) 248.95/165.33 new_sr14(Pos(x0), Pos(x1)) 248.95/165.33 new_sr3(x0, ty_Int) 248.95/165.33 new_primMulNat0(Zero, Zero) 248.95/165.33 new_sr4(x0, x1, ty_Double) 248.95/165.33 new_primPlusNat0(Succ(x0), Zero) 248.95/165.33 new_primMulNat2(Zero) 248.95/165.33 new_sr11(x0, x1) 248.95/165.33 new_primModNatS01(x0, x1, Zero, Zero) 248.95/165.33 new_esEs2(x0, x1, ty_Int) 248.95/165.33 new_gcd1(True, x0, x1) 248.95/165.33 new_sr13(x0, x1) 248.95/165.33 new_sr14(Pos(x0), Neg(x1)) 248.95/165.33 new_sr14(Neg(x0), Pos(x1)) 248.95/165.33 new_primDivNatS1(Succ(Succ(x0)), Succ(x1)) 248.95/165.33 new_sr1(x0, ty_Int) 248.95/165.33 new_primModNatS1(Zero, x0) 248.95/165.33 new_esEs(Pos(Succ(x0))) 248.95/165.33 new_primMulNat3(Succ(x0)) 248.95/165.33 new_sr1(x0, app(ty_Ratio, x1)) 248.95/165.33 new_primQuotInt(x0, Neg(Succ(x1))) 248.95/165.33 new_reduce2Reduce1(x0, x1, x2, x3, False, x4) 248.95/165.33 new_primMinusNat0(Zero, Zero) 248.95/165.33 new_primDivNatS1(Zero, x0) 248.95/165.33 new_primDivNatS02(x0, x1, Succ(x2), Succ(x3)) 248.95/165.33 new_primModNatS02(x0, x1) 248.95/165.33 new_primDivNatS1(Succ(Zero), Succ(x0)) 248.95/165.33 new_sr6(Neg(x0)) 248.95/165.33 new_gcd0Gcd'10(True, x0, x1) 248.95/165.33 new_primMulNat0(Succ(x0), Succ(x1)) 248.95/165.33 new_abs(Neg(Zero)) 248.95/165.33 new_ms(x0, Neg(x1)) 248.95/165.33 new_rem(Pos(x0), Neg(Zero)) 248.95/165.33 new_rem(Neg(x0), Pos(Zero)) 248.95/165.33 new_primMinusNatS2(Zero, Succ(x0)) 248.95/165.33 new_esEs(Neg(Succ(x0))) 248.95/165.33 new_error 248.95/165.33 new_primModNatS1(Succ(Zero), Zero) 248.95/165.33 new_primMulNat0(Zero, Succ(x0)) 248.95/165.33 new_sr3(x0, ty_Float) 248.95/165.33 new_quot(x0, x1, x2) 248.95/165.33 new_gcd2(True, x0, x1) 248.95/165.33 new_gcd0Gcd'11(True, x0, x1) 248.95/165.33 new_primEqInt(Neg(Zero)) 248.95/165.33 new_sr2(x0, x1, ty_Double) 248.95/165.33 new_primMulNat0(Succ(x0), Zero) 248.95/165.33 new_quot0(Neg(x0), x1, x2) 248.95/165.33 new_primMinusNatS2(Succ(x0), Succ(x1)) 248.95/165.33 new_sr4(x0, x1, app(ty_Ratio, x2)) 248.95/165.33 new_sr8(x0, x1) 248.95/165.33 new_primDivNatS01(x0, x1) 248.95/165.33 new_primDivNatS02(x0, x1, Zero, Succ(x2)) 248.95/165.33 new_primPlusNat0(Succ(x0), Succ(x1)) 248.95/165.33 new_sr1(x0, ty_Integer) 248.95/165.33 new_primPlusNat0(Zero, Zero) 248.95/165.33 new_sr1(x0, ty_Float) 248.95/165.33 new_primMinusNat0(Succ(x0), Succ(x1)) 248.95/165.33 new_sr12(:%(x0, x1), :%(x2, x3), x4) 248.95/165.33 new_abs(Neg(Succ(x0))) 248.95/165.33 new_sr1(x0, ty_Double) 248.95/165.33 new_sr3(x0, app(ty_Ratio, x1)) 248.95/165.33 new_sr7(x0) 248.95/165.33 new_gcd0(x0, x1) 248.95/165.33 new_sr(x0, ty_Integer) 248.95/165.33 new_primQuotInt0(x0, Pos(Succ(x1))) 248.95/165.33 new_sr4(x0, x1, ty_Integer) 248.95/165.33 new_sr5(:%(x0, x1), x2) 248.95/165.33 new_primMinusNatS2(Zero, Zero) 248.95/165.33 new_primMulNat1(Succ(x0)) 248.95/165.33 new_ms(x0, Pos(Zero)) 248.95/165.33 new_abs(Pos(Succ(x0))) 248.95/165.33 new_sr4(x0, x1, ty_Int) 248.95/165.33 new_esEs(Pos(Zero)) 248.95/165.33 new_primQuotInt0(x0, Pos(Zero)) 248.95/165.33 new_sr(x0, ty_Int) 248.95/165.33 new_primEqInt(Neg(Succ(x0))) 248.95/165.33 new_primQuotInt(x0, Neg(Zero)) 248.95/165.33 new_primQuotInt0(x0, Neg(Zero)) 248.95/165.33 new_primQuotInt0(x0, Neg(Succ(x1))) 248.95/165.33 new_gcd(x0, x1) 248.95/165.33 new_quot0(Pos(x0), x1, x2) 248.95/165.33 new_primMinusNatS0(x0) 248.95/165.33 new_primPlusNat0(Zero, Succ(x0)) 248.95/165.33 new_sr2(x0, x1, app(ty_Ratio, x2)) 248.95/165.33 new_sr2(x0, x1, ty_Int) 248.95/165.33 new_primQuotInt(x0, Pos(Succ(x1))) 248.95/165.33 new_primDivNatS1(Succ(Succ(x0)), Zero) 248.95/165.33 new_rem(Pos(x0), Pos(Zero)) 248.95/165.33 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 248.95/165.33 new_primDivNatS02(x0, x1, Zero, Zero) 248.95/165.33 new_abs(Pos(Zero)) 248.95/165.33 new_gcd0Gcd'10(False, x0, x1) 248.95/165.33 new_ms(x0, Pos(Succ(x1))) 248.95/165.33 new_primMinusNatS1 248.95/165.33 new_esEs1(Integer(x0)) 248.95/165.33 new_ms0(x0, Neg(Zero)) 248.95/165.33 new_primMinusNat0(Succ(x0), Zero) 248.95/165.33 new_ms0(x0, Neg(Succ(x1))) 248.95/165.33 new_sr2(x0, x1, ty_Integer) 248.95/165.33 new_primModNatS01(x0, x1, Zero, Succ(x2)) 248.95/165.33 new_primMulNat2(Succ(x0)) 248.95/165.33 new_sr14(Neg(x0), Neg(x1)) 248.95/165.33 new_sr2(x0, x1, ty_Float) 248.95/165.33 new_primMinusNatS2(Succ(x0), Zero) 248.95/165.33 new_sr4(x0, x1, ty_Float) 248.95/165.33 new_sr6(Pos(x0)) 248.95/165.33 new_esEs2(x0, x1, ty_Integer) 248.95/165.33 new_primMulNat4(Succ(x0)) 248.95/165.33 new_rem(Neg(x0), Neg(Succ(x1))) 248.95/165.33 new_primEqInt(Pos(Succ(x0))) 248.95/165.33 new_primQuotInt(x0, Pos(Zero)) 248.95/165.33 new_gcd0Gcd'11(False, x0, x1) 248.95/165.33 new_sr9(x0) 248.95/165.33 new_primModNatS1(Succ(Succ(x0)), Zero) 248.95/165.33 new_sr(x0, ty_Double) 248.95/165.33 new_esEs0(x0, ty_Integer) 248.95/165.33 new_gcd0Gcd'00(x0, x1) 248.95/165.33 new_reduce2Reduce1(x0, x1, x2, x3, True, x4) 248.95/165.33 new_sr3(x0, ty_Double) 248.95/165.33 new_esEs(Neg(Zero)) 248.95/165.33 new_primMulNat1(Zero) 248.95/165.33 new_primMinusNat0(Zero, Succ(x0)) 248.95/165.33 new_rem(Neg(x0), Neg(Zero)) 248.95/165.33 248.95/165.33 We have to consider all minimal (P,Q,R)-chains. 248.95/165.33 ---------------------------------------- 248.95/165.33 248.95/165.33 (785) UsableRulesProof (EQUIVALENT) 248.95/165.33 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. 248.95/165.33 ---------------------------------------- 248.95/165.33 248.95/165.33 (786) 248.95/165.33 Obligation: 248.95/165.33 Q DP problem: 248.95/165.33 The TRS P consists of the following rules: 248.95/165.33 248.95/165.33 new_pr2F0G11(vyv238, vyv239, vyv240, bc) -> new_pr2F1(vyv239, vyv240, Pos(Succ(Zero)), vyv238, bc) 248.95/165.33 new_pr2F1(vyv239, vyv240, vyv243, vyv238, bc) -> new_pr2F30(new_esEs(new_ms0(vyv240, vyv243)), vyv239, vyv240, vyv243, vyv238, bc) 248.95/165.33 new_pr2F30(False, vyv239, vyv240, vyv243, vyv238, bc) -> new_pr2F0(vyv239, new_ms0(vyv240, vyv243), new_sr4(vyv239, vyv238, bc), bc) 248.95/165.33 new_pr2F0(vyv183, Neg(Succ(Succ(vyv222000))), vyv187, h) -> new_pr2F0G10(vyv187, vyv183, Succ(vyv222000), vyv222000, h) 248.95/165.33 new_pr2F0G10(vyv248, vyv249, vyv250, Succ(Succ(vyv25100)), bb) -> new_pr2F0G10(vyv248, vyv249, vyv250, vyv25100, bb) 248.95/165.33 new_pr2F0G10(vyv248, vyv249, vyv250, Succ(Zero), bb) -> new_pr2F0G11(vyv248, vyv249, vyv250, bb) 248.95/165.33 new_pr2F0G10(vyv248, vyv249, vyv250, Zero, bb) -> new_pr2F0G(vyv248, new_sr3(vyv249, bb), Neg(new_primDivNatS1(Succ(vyv250), Succ(Zero))), bb) 248.95/165.33 new_pr2F0G(vyv187, vyv183, Neg(Succ(Zero)), h) -> new_pr2F0G11(vyv187, vyv183, Zero, h) 248.95/165.33 new_pr2F0G(vyv187, vyv183, Neg(Succ(Succ(vyv222000))), h) -> new_pr2F0G10(vyv187, vyv183, Succ(vyv222000), vyv222000, h) 248.95/165.33 new_pr2F0(vyv183, Neg(Succ(Zero)), vyv187, h) -> new_pr2F0G11(vyv187, vyv183, Zero, h) 248.95/165.33 new_pr2F0(vyv183, Pos(Succ(Succ(vyv222000))), vyv187, h) -> new_pr2F0G1(vyv187, vyv183, Succ(vyv222000), vyv222000, h) 248.95/165.33 new_pr2F0G1(vyv226, vyv227, vyv228, Succ(Succ(vyv22900)), ba) -> new_pr2F0G1(vyv226, vyv227, vyv228, vyv22900, ba) 248.95/165.33 new_pr2F0G1(vyv226, vyv227, vyv228, Succ(Zero), ba) -> new_pr2F(vyv227, vyv228, Pos(Succ(Zero)), vyv226, ba) 248.95/165.33 new_pr2F(vyv227, vyv228, vyv244, vyv226, ba) -> new_pr2F3(new_esEs(new_ms(vyv228, vyv244)), vyv227, vyv228, vyv244, vyv226, ba) 248.95/165.33 new_pr2F3(False, vyv227, vyv228, vyv244, vyv226, ba) -> new_pr2F0(vyv227, new_ms(vyv228, vyv244), new_sr2(vyv227, vyv226, ba), ba) 248.95/165.33 new_pr2F0(vyv183, Pos(Succ(Zero)), vyv187, h) -> new_pr2F(vyv183, Zero, Pos(Succ(Zero)), vyv187, h) 248.95/165.33 new_pr2F0G1(vyv226, vyv227, vyv228, Zero, ba) -> new_pr2F0G(vyv226, new_sr1(vyv227, ba), Pos(new_primDivNatS1(Succ(vyv228), Succ(Zero))), ba) 248.95/165.33 new_pr2F0G(vyv187, vyv183, Pos(Succ(Succ(vyv222000))), h) -> new_pr2F0G1(vyv187, vyv183, Succ(vyv222000), vyv222000, h) 248.95/165.33 new_pr2F0G(vyv187, vyv183, Pos(Succ(Zero)), h) -> new_pr2F(vyv183, Zero, Pos(Succ(Zero)), vyv187, h) 248.95/165.33 248.95/165.33 The TRS R consists of the following rules: 248.95/165.33 248.95/165.33 new_sr1(vyv227, ty_Int) -> new_sr6(vyv227) 248.95/165.33 new_sr1(vyv227, ty_Integer) -> new_sr7(vyv227) 248.95/165.33 new_sr1(vyv227, app(ty_Ratio, be)) -> new_sr5(vyv227, be) 248.95/165.33 new_sr1(vyv227, ty_Float) -> new_sr10(vyv227) 248.95/165.33 new_sr1(vyv227, ty_Double) -> new_sr9(vyv227) 248.95/165.33 new_primDivNatS1(Succ(Zero), Succ(vyv284000)) -> Zero 248.95/165.33 new_primDivNatS1(Succ(Succ(vyv270000)), Succ(vyv284000)) -> new_primDivNatS02(vyv270000, vyv284000, vyv270000, vyv284000) 248.95/165.33 new_primDivNatS02(vyv310, vyv311, Zero, Zero) -> new_primDivNatS01(vyv310, vyv311) 248.95/165.33 new_primDivNatS02(vyv310, vyv311, Succ(vyv3120), Zero) -> new_primDivNatS01(vyv310, vyv311) 248.95/165.33 new_primDivNatS02(vyv310, vyv311, Zero, Succ(vyv3130)) -> Zero 248.95/165.33 new_primDivNatS02(vyv310, vyv311, Succ(vyv3120), Succ(vyv3130)) -> new_primDivNatS02(vyv310, vyv311, vyv3120, vyv3130) 248.95/165.33 new_primDivNatS01(vyv310, vyv311) -> Succ(new_primDivNatS1(new_primMinusNatS2(vyv310, vyv311), Succ(vyv311))) 248.95/165.33 new_primMinusNatS2(Zero, Succ(vyv3110)) -> Zero 248.95/165.33 new_primMinusNatS2(Succ(vyv3100), Zero) -> Succ(vyv3100) 248.95/165.33 new_primMinusNatS2(Zero, Zero) -> Zero 248.95/165.33 new_primMinusNatS2(Succ(vyv3100), Succ(vyv3110)) -> new_primMinusNatS2(vyv3100, vyv3110) 248.95/165.33 new_primDivNatS1(Zero, vyv28400) -> Zero 248.95/165.33 new_sr9(vyv183) -> error([]) 248.95/165.33 new_sr10(vyv183) -> error([]) 248.95/165.33 new_sr5(:%(vyv1830, vyv1831), bd) -> new_reduce2Reduce1(vyv1830, vyv1830, vyv1831, vyv1831, new_esEs0(vyv1831, bd), bd) 248.95/165.33 new_esEs0(vyv1831, ty_Int) -> new_esEs(new_sr6(vyv1831)) 248.95/165.33 new_esEs0(vyv1831, ty_Integer) -> new_esEs1(new_sr7(vyv1831)) 248.95/165.33 new_reduce2Reduce1(vyv264, vyv265, vyv266, vyv267, False, bh) -> :%(new_quot1(vyv264, vyv265, vyv266, vyv267, bh), new_quot2(vyv266, vyv267, vyv264, vyv265, bh)) 248.95/165.33 new_reduce2Reduce1(vyv264, vyv265, vyv266, vyv267, True, bh) -> error([]) 248.95/165.33 new_quot1(vyv264, vyv265, vyv266, vyv267, ty_Int) -> new_quot0(new_sr14(vyv264, vyv265), new_sr14(vyv264, vyv265), new_sr14(vyv266, vyv267)) 248.95/165.33 new_quot1(vyv264, vyv265, vyv266, vyv267, ty_Integer) -> new_quot(new_sr8(vyv264, vyv265), new_sr8(vyv264, vyv265), new_sr8(vyv266, vyv267)) 248.95/165.33 new_quot2(vyv266, vyv267, vyv264, vyv265, ty_Int) -> new_quot0(new_sr14(vyv266, vyv267), new_sr14(vyv264, vyv265), new_sr14(vyv266, vyv267)) 248.95/165.33 new_quot2(vyv266, vyv267, vyv264, vyv265, ty_Integer) -> new_quot(new_sr8(vyv266, vyv267), new_sr8(vyv264, vyv265), new_sr8(vyv266, vyv267)) 248.95/165.33 new_sr8(vyv239, vyv238) -> error([]) 248.95/165.33 new_quot(vyv273, vyv275, vyv274) -> error([]) 248.95/165.33 new_sr14(Pos(vyv2390), Neg(vyv2380)) -> Neg(new_primMulNat0(vyv2390, vyv2380)) 248.95/165.33 new_sr14(Neg(vyv2390), Pos(vyv2380)) -> Neg(new_primMulNat0(vyv2390, vyv2380)) 248.95/165.33 new_sr14(Neg(vyv2390), Neg(vyv2380)) -> Pos(new_primMulNat0(vyv2390, vyv2380)) 248.95/165.33 new_sr14(Pos(vyv2390), Pos(vyv2380)) -> Pos(new_primMulNat0(vyv2390, vyv2380)) 248.95/165.33 new_quot0(Neg(vyv2700), vyv272, vyv271) -> new_primQuotInt0(vyv2700, new_gcd(vyv272, vyv271)) 248.95/165.33 new_quot0(Pos(vyv2700), vyv272, vyv271) -> new_primQuotInt(vyv2700, new_gcd(vyv272, vyv271)) 248.95/165.33 new_gcd(vyv272, vyv271) -> new_gcd2(new_esEs(vyv272), vyv272, vyv271) 248.95/165.33 new_primQuotInt(vyv2700, Pos(Succ(vyv28400))) -> Pos(new_primDivNatS1(vyv2700, vyv28400)) 248.95/165.33 new_primQuotInt(vyv2700, Neg(Zero)) -> new_error 248.95/165.33 new_primQuotInt(vyv2700, Pos(Zero)) -> new_error 248.95/165.33 new_primQuotInt(vyv2700, Neg(Succ(vyv28400))) -> Neg(new_primDivNatS1(vyv2700, vyv28400)) 248.95/165.33 new_primDivNatS1(Succ(Succ(vyv270000)), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS0(vyv270000), Zero)) 248.95/165.33 new_primDivNatS1(Succ(Zero), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS1, Zero)) 248.95/165.33 new_primMinusNatS1 -> Zero 248.95/165.33 new_primMinusNatS0(vyv270000) -> Succ(vyv270000) 248.95/165.33 new_error -> error([]) 248.95/165.33 new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) 248.95/165.33 new_esEs(Pos(Succ(vyv24100))) -> new_primEqInt(Pos(Succ(vyv24100))) 248.95/165.33 new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) 248.95/165.33 new_esEs(Neg(Succ(vyv24100))) -> new_primEqInt(Neg(Succ(vyv24100))) 248.95/165.33 new_gcd2(True, vyv272, vyv271) -> new_gcd1(new_esEs(vyv271), vyv272, vyv271) 248.95/165.33 new_gcd2(False, vyv272, vyv271) -> new_gcd0(vyv272, vyv271) 248.95/165.33 new_gcd0(vyv272, vyv271) -> new_gcd0Gcd'10(new_esEs(new_abs(vyv271)), vyv272, vyv271) 248.95/165.33 new_abs(Neg(Zero)) -> Neg(Zero) 248.95/165.33 new_abs(Neg(Succ(vyv27100))) -> Pos(Succ(vyv27100)) 248.95/165.33 new_abs(Pos(Succ(vyv27100))) -> Pos(Succ(vyv27100)) 248.95/165.33 new_abs(Pos(Zero)) -> Pos(Zero) 248.95/165.33 new_gcd0Gcd'10(True, vyv272, vyv271) -> new_abs(vyv272) 248.95/165.33 new_gcd0Gcd'10(False, vyv272, vyv271) -> new_gcd0Gcd'00(new_abs(vyv272), new_abs(vyv271)) 248.95/165.33 new_gcd0Gcd'00(vyv292, vyv291) -> new_gcd0Gcd'11(new_esEs(new_rem(vyv292, vyv291)), vyv291, vyv292) 248.95/165.33 new_gcd0Gcd'11(False, vyv291, vyv292) -> new_gcd0Gcd'00(vyv291, new_rem(vyv292, vyv291)) 248.95/165.33 new_rem(Pos(vyv2920), Neg(Zero)) -> new_error 248.95/165.33 new_rem(Neg(vyv2920), Pos(Zero)) -> new_error 248.95/165.33 new_rem(Pos(vyv2920), Neg(Succ(vyv29100))) -> Pos(new_primModNatS1(vyv2920, vyv29100)) 248.95/165.33 new_rem(Neg(vyv2920), Pos(Succ(vyv29100))) -> Neg(new_primModNatS1(vyv2920, vyv29100)) 248.95/165.33 new_rem(Pos(vyv2920), Pos(Succ(vyv29100))) -> Pos(new_primModNatS1(vyv2920, vyv29100)) 248.95/165.33 new_rem(Neg(vyv2920), Neg(Zero)) -> new_error 248.95/165.33 new_rem(Neg(vyv2920), Neg(Succ(vyv29100))) -> Neg(new_primModNatS1(vyv2920, vyv29100)) 248.95/165.33 new_rem(Pos(vyv2920), Pos(Zero)) -> new_error 248.95/165.33 new_gcd0Gcd'11(True, vyv291, vyv292) -> vyv291 248.95/165.33 new_primModNatS1(Succ(Zero), Succ(vyv291000)) -> Succ(Zero) 248.95/165.33 new_primModNatS1(Zero, vyv29100) -> Zero 248.95/165.33 new_primModNatS1(Succ(Succ(vyv292000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv292000), Zero) 248.95/165.33 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 248.95/165.33 new_primModNatS1(Succ(Succ(vyv292000)), Succ(vyv291000)) -> new_primModNatS01(vyv292000, vyv291000, vyv292000, vyv291000) 248.95/165.33 new_primModNatS01(vyv330, vyv331, Zero, Zero) -> new_primModNatS02(vyv330, vyv331) 248.95/165.33 new_primModNatS02(vyv330, vyv331) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv330), Succ(vyv331)), Succ(vyv331)) 248.95/165.33 new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Zero) -> new_primModNatS02(vyv330, vyv331) 248.95/165.33 new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Succ(vyv3330)) -> new_primModNatS01(vyv330, vyv331, vyv3320, vyv3330) 248.95/165.33 new_primModNatS01(vyv330, vyv331, Zero, Succ(vyv3330)) -> Succ(Succ(vyv330)) 248.95/165.33 new_gcd1(True, vyv272, vyv271) -> new_error 248.95/165.33 new_gcd1(False, vyv272, vyv271) -> new_gcd0(vyv272, vyv271) 248.95/165.33 new_primEqInt(Neg(Succ(vyv242000))) -> False 248.95/165.33 new_primEqInt(Pos(Zero)) -> True 248.95/165.33 new_primEqInt(Pos(Succ(vyv242000))) -> False 248.95/165.33 new_primEqInt(Neg(Zero)) -> True 248.95/165.33 new_primQuotInt0(vyv2700, Pos(Succ(vyv28700))) -> Neg(new_primDivNatS1(vyv2700, vyv28700)) 248.95/165.33 new_primQuotInt0(vyv2700, Neg(Zero)) -> new_error 248.95/165.33 new_primQuotInt0(vyv2700, Neg(Succ(vyv28700))) -> Pos(new_primDivNatS1(vyv2700, vyv28700)) 248.95/165.33 new_primQuotInt0(vyv2700, Pos(Zero)) -> new_error 248.95/165.33 new_primMulNat0(Succ(vyv23900), Zero) -> Zero 248.95/165.33 new_primMulNat0(Zero, Succ(vyv23800)) -> Zero 248.95/165.33 new_primMulNat0(Zero, Zero) -> Zero 248.95/165.33 new_primMulNat0(Succ(vyv23900), Succ(vyv23800)) -> new_primPlusNat0(new_primMulNat0(vyv23900, Succ(vyv23800)), Succ(vyv23800)) 248.95/165.33 new_primPlusNat0(Succ(vyv4000), Succ(vyv5000)) -> Succ(Succ(new_primPlusNat0(vyv4000, vyv5000))) 248.95/165.33 new_primPlusNat0(Zero, Succ(vyv5000)) -> Succ(vyv5000) 248.95/165.33 new_primPlusNat0(Zero, Zero) -> Zero 248.95/165.33 new_primPlusNat0(Succ(vyv4000), Zero) -> Succ(vyv4000) 248.95/165.33 new_sr7(vyv183) -> error([]) 248.95/165.33 new_esEs1(Integer(vyv2690)) -> new_primEqInt(vyv2690) 248.95/165.33 new_sr6(Neg(vyv1830)) -> Pos(new_primMulNat1(vyv1830)) 248.95/165.33 new_sr6(Pos(vyv1830)) -> Pos(new_primMulNat1(vyv1830)) 248.95/165.33 new_primMulNat1(Succ(vyv18300)) -> new_primPlusNat0(new_primMulNat2(vyv18300), Succ(vyv18300)) 248.95/165.33 new_primMulNat1(Zero) -> Zero 248.95/165.33 new_primMulNat2(Succ(vyv183000)) -> new_primPlusNat0(new_primMulNat3(vyv183000), Succ(Succ(vyv183000))) 248.95/165.33 new_primMulNat2(Zero) -> Zero 248.95/165.33 new_primMulNat3(Succ(vyv1830000)) -> new_primPlusNat0(new_primMulNat4(vyv1830000), Succ(Succ(Succ(vyv1830000)))) 248.95/165.33 new_primMulNat3(Zero) -> Zero 248.95/165.33 new_primMulNat4(Succ(vyv18300000)) -> new_primPlusNat0(new_primMulNat0(vyv18300000, Succ(Succ(Succ(Succ(vyv18300000))))), Succ(Succ(Succ(Succ(vyv18300000))))) 248.95/165.33 new_primMulNat4(Zero) -> Zero 248.95/165.33 new_ms(vyv228, Neg(vyv2440)) -> Pos(new_primPlusNat0(Succ(vyv228), vyv2440)) 248.95/165.33 new_ms(vyv228, Pos(Succ(vyv24400))) -> new_primMinusNat0(vyv228, vyv24400) 248.95/165.33 new_ms(vyv228, Pos(Zero)) -> Pos(Succ(vyv228)) 248.95/165.33 new_sr2(vyv227, vyv226, ty_Int) -> new_sr14(vyv227, vyv226) 248.95/165.33 new_sr2(vyv227, vyv226, ty_Double) -> new_sr11(vyv227, vyv226) 248.95/165.33 new_sr2(vyv227, vyv226, ty_Integer) -> new_sr8(vyv227, vyv226) 248.95/165.33 new_sr2(vyv227, vyv226, ty_Float) -> new_sr13(vyv227, vyv226) 248.95/165.33 new_sr2(vyv227, vyv226, app(ty_Ratio, be)) -> new_sr12(vyv227, vyv226, be) 248.95/165.33 new_sr12(:%(vyv2390, vyv2391), :%(vyv2380, vyv2381), bf) -> new_reduce2Reduce1(vyv2390, vyv2380, vyv2391, vyv2381, new_esEs2(vyv2391, vyv2381, bf), bf) 248.95/165.33 new_esEs2(vyv2391, vyv2381, ty_Int) -> new_esEs(new_sr14(vyv2391, vyv2381)) 248.95/165.33 new_esEs2(vyv2391, vyv2381, ty_Integer) -> new_esEs1(new_sr8(vyv2391, vyv2381)) 248.95/165.33 new_sr13(vyv239, vyv238) -> error([]) 248.95/165.33 new_sr11(vyv239, vyv238) -> error([]) 248.95/165.33 new_primMinusNat0(Succ(vyv2280), Succ(vyv244000)) -> new_primMinusNat0(vyv2280, vyv244000) 248.95/165.33 new_primMinusNat0(Zero, Zero) -> Pos(Zero) 248.95/165.33 new_primMinusNat0(Zero, Succ(vyv244000)) -> Neg(Succ(vyv244000)) 248.95/165.33 new_primMinusNat0(Succ(vyv2280), Zero) -> Pos(Succ(vyv2280)) 248.95/165.33 new_sr3(vyv249, ty_Float) -> new_sr10(vyv249) 248.95/165.33 new_sr3(vyv249, ty_Double) -> new_sr9(vyv249) 248.95/165.33 new_sr3(vyv249, ty_Int) -> new_sr6(vyv249) 248.95/165.33 new_sr3(vyv249, ty_Integer) -> new_sr7(vyv249) 248.95/165.33 new_sr3(vyv249, app(ty_Ratio, bg)) -> new_sr5(vyv249, bg) 248.95/165.33 new_ms0(vyv240, Neg(Zero)) -> Neg(Succ(vyv240)) 248.95/165.33 new_ms0(vyv240, Pos(vyv2430)) -> Neg(new_primPlusNat0(Succ(vyv240), vyv2430)) 248.95/165.33 new_ms0(vyv240, Neg(Succ(vyv24300))) -> new_primMinusNat0(vyv24300, vyv240) 248.95/165.33 new_sr4(vyv239, vyv238, app(ty_Ratio, bf)) -> new_sr12(vyv239, vyv238, bf) 248.95/165.33 new_sr4(vyv239, vyv238, ty_Integer) -> new_sr8(vyv239, vyv238) 248.95/165.33 new_sr4(vyv239, vyv238, ty_Int) -> new_sr14(vyv239, vyv238) 248.95/165.33 new_sr4(vyv239, vyv238, ty_Double) -> new_sr11(vyv239, vyv238) 248.95/165.33 new_sr4(vyv239, vyv238, ty_Float) -> new_sr13(vyv239, vyv238) 248.95/165.33 248.95/165.33 The set Q consists of the following terms: 248.95/165.33 248.95/165.33 new_rem(Pos(x0), Pos(Succ(x1))) 248.95/165.33 new_quot1(x0, x1, x2, x3, ty_Integer) 248.95/165.33 new_primModNatS1(Succ(Zero), Succ(x0)) 248.95/165.33 new_ms0(x0, Pos(x1)) 248.95/165.33 new_sr(x0, app(ty_Ratio, x1)) 248.95/165.33 new_primMulNat4(Zero) 248.95/165.33 new_gcd1(False, x0, x1) 248.95/165.33 new_primEqInt(Pos(Zero)) 248.95/165.33 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 248.95/165.33 new_rem(Pos(x0), Neg(Succ(x1))) 248.95/165.33 new_rem(Neg(x0), Pos(Succ(x1))) 248.95/165.33 new_sr10(x0) 248.95/165.33 new_quot1(x0, x1, x2, x3, ty_Int) 248.95/165.33 new_quot2(x0, x1, x2, x3, ty_Integer) 248.95/165.33 new_primModNatS01(x0, x1, Succ(x2), Zero) 248.95/165.33 new_sr3(x0, ty_Integer) 248.95/165.33 new_primMulNat3(Zero) 248.95/165.33 new_primDivNatS02(x0, x1, Succ(x2), Zero) 248.95/165.33 new_sr(x0, ty_Float) 248.95/165.33 new_quot2(x0, x1, x2, x3, ty_Int) 248.95/165.33 new_gcd2(False, x0, x1) 248.95/165.33 new_primDivNatS1(Succ(Zero), Zero) 248.95/165.33 new_esEs0(x0, ty_Int) 248.95/165.33 new_sr14(Pos(x0), Pos(x1)) 248.95/165.33 new_sr3(x0, ty_Int) 248.95/165.33 new_primMulNat0(Zero, Zero) 248.95/165.33 new_sr4(x0, x1, ty_Double) 248.95/165.33 new_primPlusNat0(Succ(x0), Zero) 248.95/165.33 new_primMulNat2(Zero) 248.95/165.33 new_sr11(x0, x1) 248.95/165.33 new_primModNatS01(x0, x1, Zero, Zero) 248.95/165.33 new_esEs2(x0, x1, ty_Int) 248.95/165.33 new_gcd1(True, x0, x1) 248.95/165.33 new_sr13(x0, x1) 248.95/165.33 new_sr14(Pos(x0), Neg(x1)) 248.95/165.33 new_sr14(Neg(x0), Pos(x1)) 248.95/165.33 new_primDivNatS1(Succ(Succ(x0)), Succ(x1)) 248.95/165.33 new_sr1(x0, ty_Int) 248.95/165.33 new_primModNatS1(Zero, x0) 248.95/165.33 new_esEs(Pos(Succ(x0))) 248.95/165.33 new_primMulNat3(Succ(x0)) 248.95/165.33 new_sr1(x0, app(ty_Ratio, x1)) 248.95/165.33 new_primQuotInt(x0, Neg(Succ(x1))) 248.95/165.33 new_reduce2Reduce1(x0, x1, x2, x3, False, x4) 248.95/165.33 new_primMinusNat0(Zero, Zero) 248.95/165.33 new_primDivNatS1(Zero, x0) 248.95/165.33 new_primDivNatS02(x0, x1, Succ(x2), Succ(x3)) 248.95/165.33 new_primModNatS02(x0, x1) 248.95/165.33 new_primDivNatS1(Succ(Zero), Succ(x0)) 248.95/165.33 new_sr6(Neg(x0)) 248.95/165.33 new_gcd0Gcd'10(True, x0, x1) 248.95/165.33 new_primMulNat0(Succ(x0), Succ(x1)) 248.95/165.33 new_abs(Neg(Zero)) 248.95/165.33 new_ms(x0, Neg(x1)) 248.95/165.33 new_rem(Pos(x0), Neg(Zero)) 248.95/165.33 new_rem(Neg(x0), Pos(Zero)) 248.95/165.33 new_primMinusNatS2(Zero, Succ(x0)) 248.95/165.33 new_esEs(Neg(Succ(x0))) 248.95/165.33 new_error 248.95/165.33 new_primModNatS1(Succ(Zero), Zero) 248.95/165.33 new_primMulNat0(Zero, Succ(x0)) 248.95/165.33 new_sr3(x0, ty_Float) 248.95/165.33 new_quot(x0, x1, x2) 248.95/165.33 new_gcd2(True, x0, x1) 248.95/165.33 new_gcd0Gcd'11(True, x0, x1) 248.95/165.33 new_primEqInt(Neg(Zero)) 248.95/165.33 new_sr2(x0, x1, ty_Double) 248.95/165.33 new_primMulNat0(Succ(x0), Zero) 248.95/165.33 new_quot0(Neg(x0), x1, x2) 248.95/165.33 new_primMinusNatS2(Succ(x0), Succ(x1)) 248.95/165.33 new_sr4(x0, x1, app(ty_Ratio, x2)) 248.95/165.33 new_sr8(x0, x1) 248.95/165.33 new_primDivNatS01(x0, x1) 248.95/165.33 new_primDivNatS02(x0, x1, Zero, Succ(x2)) 248.95/165.33 new_primPlusNat0(Succ(x0), Succ(x1)) 248.95/165.33 new_sr1(x0, ty_Integer) 248.95/165.33 new_primPlusNat0(Zero, Zero) 248.95/165.33 new_sr1(x0, ty_Float) 248.95/165.33 new_primMinusNat0(Succ(x0), Succ(x1)) 248.95/165.33 new_sr12(:%(x0, x1), :%(x2, x3), x4) 248.95/165.33 new_abs(Neg(Succ(x0))) 248.95/165.33 new_sr1(x0, ty_Double) 248.95/165.33 new_sr3(x0, app(ty_Ratio, x1)) 248.95/165.33 new_sr7(x0) 248.95/165.33 new_gcd0(x0, x1) 248.95/165.33 new_sr(x0, ty_Integer) 248.95/165.33 new_primQuotInt0(x0, Pos(Succ(x1))) 248.95/165.33 new_sr4(x0, x1, ty_Integer) 248.95/165.33 new_sr5(:%(x0, x1), x2) 248.95/165.33 new_primMinusNatS2(Zero, Zero) 248.95/165.33 new_primMulNat1(Succ(x0)) 248.95/165.33 new_ms(x0, Pos(Zero)) 248.95/165.33 new_abs(Pos(Succ(x0))) 248.95/165.33 new_sr4(x0, x1, ty_Int) 248.95/165.33 new_esEs(Pos(Zero)) 248.95/165.33 new_primQuotInt0(x0, Pos(Zero)) 248.95/165.33 new_sr(x0, ty_Int) 248.95/165.33 new_primEqInt(Neg(Succ(x0))) 248.95/165.33 new_primQuotInt(x0, Neg(Zero)) 248.95/165.33 new_primQuotInt0(x0, Neg(Zero)) 248.95/165.33 new_primQuotInt0(x0, Neg(Succ(x1))) 248.95/165.33 new_gcd(x0, x1) 248.95/165.33 new_quot0(Pos(x0), x1, x2) 248.95/165.33 new_primMinusNatS0(x0) 248.95/165.33 new_primPlusNat0(Zero, Succ(x0)) 248.95/165.33 new_sr2(x0, x1, app(ty_Ratio, x2)) 248.95/165.33 new_sr2(x0, x1, ty_Int) 248.95/165.33 new_primQuotInt(x0, Pos(Succ(x1))) 248.95/165.33 new_primDivNatS1(Succ(Succ(x0)), Zero) 248.95/165.33 new_rem(Pos(x0), Pos(Zero)) 248.95/165.33 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 248.95/165.33 new_primDivNatS02(x0, x1, Zero, Zero) 248.95/165.33 new_abs(Pos(Zero)) 248.95/165.33 new_gcd0Gcd'10(False, x0, x1) 248.95/165.33 new_ms(x0, Pos(Succ(x1))) 248.95/165.33 new_primMinusNatS1 248.95/165.33 new_esEs1(Integer(x0)) 248.95/165.33 new_ms0(x0, Neg(Zero)) 248.95/165.33 new_primMinusNat0(Succ(x0), Zero) 248.95/165.33 new_ms0(x0, Neg(Succ(x1))) 248.95/165.33 new_sr2(x0, x1, ty_Integer) 248.95/165.33 new_primModNatS01(x0, x1, Zero, Succ(x2)) 248.95/165.33 new_primMulNat2(Succ(x0)) 248.95/165.33 new_sr14(Neg(x0), Neg(x1)) 248.95/165.33 new_sr2(x0, x1, ty_Float) 248.95/165.33 new_primMinusNatS2(Succ(x0), Zero) 248.95/165.33 new_sr4(x0, x1, ty_Float) 248.95/165.33 new_sr6(Pos(x0)) 248.95/165.33 new_esEs2(x0, x1, ty_Integer) 248.95/165.33 new_primMulNat4(Succ(x0)) 248.95/165.33 new_rem(Neg(x0), Neg(Succ(x1))) 248.95/165.33 new_primEqInt(Pos(Succ(x0))) 248.95/165.33 new_primQuotInt(x0, Pos(Zero)) 248.95/165.33 new_gcd0Gcd'11(False, x0, x1) 248.95/165.33 new_sr9(x0) 248.95/165.33 new_primModNatS1(Succ(Succ(x0)), Zero) 248.95/165.33 new_sr(x0, ty_Double) 248.95/165.33 new_esEs0(x0, ty_Integer) 248.95/165.33 new_gcd0Gcd'00(x0, x1) 248.95/165.33 new_reduce2Reduce1(x0, x1, x2, x3, True, x4) 248.95/165.33 new_sr3(x0, ty_Double) 248.95/165.33 new_esEs(Neg(Zero)) 248.95/165.33 new_primMulNat1(Zero) 248.95/165.33 new_primMinusNat0(Zero, Succ(x0)) 248.95/165.33 new_rem(Neg(x0), Neg(Zero)) 248.95/165.33 248.95/165.33 We have to consider all minimal (P,Q,R)-chains. 248.95/165.33 ---------------------------------------- 248.95/165.33 248.95/165.33 (787) QReductionProof (EQUIVALENT) 248.95/165.33 We deleted the following terms from Q as each root-symbol of these terms does neither occur in P nor in R.[THIEMANN]. 248.95/165.33 248.95/165.33 new_sr(x0, app(ty_Ratio, x1)) 248.95/165.33 new_sr(x0, ty_Float) 248.95/165.33 new_sr(x0, ty_Integer) 248.95/165.33 new_sr(x0, ty_Int) 248.95/165.33 new_sr(x0, ty_Double) 248.95/165.33 248.95/165.33 248.95/165.33 ---------------------------------------- 248.95/165.33 248.95/165.33 (788) 248.95/165.33 Obligation: 248.95/165.33 Q DP problem: 248.95/165.33 The TRS P consists of the following rules: 248.95/165.33 248.95/165.33 new_pr2F0G11(vyv238, vyv239, vyv240, bc) -> new_pr2F1(vyv239, vyv240, Pos(Succ(Zero)), vyv238, bc) 248.95/165.33 new_pr2F1(vyv239, vyv240, vyv243, vyv238, bc) -> new_pr2F30(new_esEs(new_ms0(vyv240, vyv243)), vyv239, vyv240, vyv243, vyv238, bc) 248.95/165.33 new_pr2F30(False, vyv239, vyv240, vyv243, vyv238, bc) -> new_pr2F0(vyv239, new_ms0(vyv240, vyv243), new_sr4(vyv239, vyv238, bc), bc) 248.95/165.33 new_pr2F0(vyv183, Neg(Succ(Succ(vyv222000))), vyv187, h) -> new_pr2F0G10(vyv187, vyv183, Succ(vyv222000), vyv222000, h) 248.95/165.33 new_pr2F0G10(vyv248, vyv249, vyv250, Succ(Succ(vyv25100)), bb) -> new_pr2F0G10(vyv248, vyv249, vyv250, vyv25100, bb) 248.95/165.33 new_pr2F0G10(vyv248, vyv249, vyv250, Succ(Zero), bb) -> new_pr2F0G11(vyv248, vyv249, vyv250, bb) 248.95/165.33 new_pr2F0G10(vyv248, vyv249, vyv250, Zero, bb) -> new_pr2F0G(vyv248, new_sr3(vyv249, bb), Neg(new_primDivNatS1(Succ(vyv250), Succ(Zero))), bb) 248.95/165.33 new_pr2F0G(vyv187, vyv183, Neg(Succ(Zero)), h) -> new_pr2F0G11(vyv187, vyv183, Zero, h) 248.95/165.33 new_pr2F0G(vyv187, vyv183, Neg(Succ(Succ(vyv222000))), h) -> new_pr2F0G10(vyv187, vyv183, Succ(vyv222000), vyv222000, h) 248.95/165.33 new_pr2F0(vyv183, Neg(Succ(Zero)), vyv187, h) -> new_pr2F0G11(vyv187, vyv183, Zero, h) 248.95/165.33 new_pr2F0(vyv183, Pos(Succ(Succ(vyv222000))), vyv187, h) -> new_pr2F0G1(vyv187, vyv183, Succ(vyv222000), vyv222000, h) 248.95/165.33 new_pr2F0G1(vyv226, vyv227, vyv228, Succ(Succ(vyv22900)), ba) -> new_pr2F0G1(vyv226, vyv227, vyv228, vyv22900, ba) 248.95/165.33 new_pr2F0G1(vyv226, vyv227, vyv228, Succ(Zero), ba) -> new_pr2F(vyv227, vyv228, Pos(Succ(Zero)), vyv226, ba) 248.95/165.33 new_pr2F(vyv227, vyv228, vyv244, vyv226, ba) -> new_pr2F3(new_esEs(new_ms(vyv228, vyv244)), vyv227, vyv228, vyv244, vyv226, ba) 248.95/165.33 new_pr2F3(False, vyv227, vyv228, vyv244, vyv226, ba) -> new_pr2F0(vyv227, new_ms(vyv228, vyv244), new_sr2(vyv227, vyv226, ba), ba) 248.95/165.33 new_pr2F0(vyv183, Pos(Succ(Zero)), vyv187, h) -> new_pr2F(vyv183, Zero, Pos(Succ(Zero)), vyv187, h) 248.95/165.33 new_pr2F0G1(vyv226, vyv227, vyv228, Zero, ba) -> new_pr2F0G(vyv226, new_sr1(vyv227, ba), Pos(new_primDivNatS1(Succ(vyv228), Succ(Zero))), ba) 248.95/165.33 new_pr2F0G(vyv187, vyv183, Pos(Succ(Succ(vyv222000))), h) -> new_pr2F0G1(vyv187, vyv183, Succ(vyv222000), vyv222000, h) 248.95/165.33 new_pr2F0G(vyv187, vyv183, Pos(Succ(Zero)), h) -> new_pr2F(vyv183, Zero, Pos(Succ(Zero)), vyv187, h) 248.95/165.33 248.95/165.33 The TRS R consists of the following rules: 248.95/165.33 248.95/165.33 new_sr1(vyv227, ty_Int) -> new_sr6(vyv227) 248.95/165.33 new_sr1(vyv227, ty_Integer) -> new_sr7(vyv227) 248.95/165.33 new_sr1(vyv227, app(ty_Ratio, be)) -> new_sr5(vyv227, be) 248.95/165.33 new_sr1(vyv227, ty_Float) -> new_sr10(vyv227) 248.95/165.33 new_sr1(vyv227, ty_Double) -> new_sr9(vyv227) 248.95/165.33 new_primDivNatS1(Succ(Zero), Succ(vyv284000)) -> Zero 248.95/165.33 new_primDivNatS1(Succ(Succ(vyv270000)), Succ(vyv284000)) -> new_primDivNatS02(vyv270000, vyv284000, vyv270000, vyv284000) 248.95/165.33 new_primDivNatS02(vyv310, vyv311, Zero, Zero) -> new_primDivNatS01(vyv310, vyv311) 248.95/165.33 new_primDivNatS02(vyv310, vyv311, Succ(vyv3120), Zero) -> new_primDivNatS01(vyv310, vyv311) 248.95/165.33 new_primDivNatS02(vyv310, vyv311, Zero, Succ(vyv3130)) -> Zero 248.95/165.33 new_primDivNatS02(vyv310, vyv311, Succ(vyv3120), Succ(vyv3130)) -> new_primDivNatS02(vyv310, vyv311, vyv3120, vyv3130) 248.95/165.33 new_primDivNatS01(vyv310, vyv311) -> Succ(new_primDivNatS1(new_primMinusNatS2(vyv310, vyv311), Succ(vyv311))) 248.95/165.33 new_primMinusNatS2(Zero, Succ(vyv3110)) -> Zero 248.95/165.33 new_primMinusNatS2(Succ(vyv3100), Zero) -> Succ(vyv3100) 248.95/165.33 new_primMinusNatS2(Zero, Zero) -> Zero 248.95/165.33 new_primMinusNatS2(Succ(vyv3100), Succ(vyv3110)) -> new_primMinusNatS2(vyv3100, vyv3110) 248.95/165.33 new_primDivNatS1(Zero, vyv28400) -> Zero 248.95/165.33 new_sr9(vyv183) -> error([]) 248.95/165.33 new_sr10(vyv183) -> error([]) 248.95/165.33 new_sr5(:%(vyv1830, vyv1831), bd) -> new_reduce2Reduce1(vyv1830, vyv1830, vyv1831, vyv1831, new_esEs0(vyv1831, bd), bd) 248.95/165.33 new_esEs0(vyv1831, ty_Int) -> new_esEs(new_sr6(vyv1831)) 248.95/165.33 new_esEs0(vyv1831, ty_Integer) -> new_esEs1(new_sr7(vyv1831)) 248.95/165.33 new_reduce2Reduce1(vyv264, vyv265, vyv266, vyv267, False, bh) -> :%(new_quot1(vyv264, vyv265, vyv266, vyv267, bh), new_quot2(vyv266, vyv267, vyv264, vyv265, bh)) 248.95/165.33 new_reduce2Reduce1(vyv264, vyv265, vyv266, vyv267, True, bh) -> error([]) 248.95/165.33 new_quot1(vyv264, vyv265, vyv266, vyv267, ty_Int) -> new_quot0(new_sr14(vyv264, vyv265), new_sr14(vyv264, vyv265), new_sr14(vyv266, vyv267)) 248.95/165.33 new_quot1(vyv264, vyv265, vyv266, vyv267, ty_Integer) -> new_quot(new_sr8(vyv264, vyv265), new_sr8(vyv264, vyv265), new_sr8(vyv266, vyv267)) 248.95/165.33 new_quot2(vyv266, vyv267, vyv264, vyv265, ty_Int) -> new_quot0(new_sr14(vyv266, vyv267), new_sr14(vyv264, vyv265), new_sr14(vyv266, vyv267)) 248.95/165.33 new_quot2(vyv266, vyv267, vyv264, vyv265, ty_Integer) -> new_quot(new_sr8(vyv266, vyv267), new_sr8(vyv264, vyv265), new_sr8(vyv266, vyv267)) 248.95/165.33 new_sr8(vyv239, vyv238) -> error([]) 248.95/165.33 new_quot(vyv273, vyv275, vyv274) -> error([]) 248.95/165.33 new_sr14(Pos(vyv2390), Neg(vyv2380)) -> Neg(new_primMulNat0(vyv2390, vyv2380)) 248.95/165.33 new_sr14(Neg(vyv2390), Pos(vyv2380)) -> Neg(new_primMulNat0(vyv2390, vyv2380)) 248.95/165.33 new_sr14(Neg(vyv2390), Neg(vyv2380)) -> Pos(new_primMulNat0(vyv2390, vyv2380)) 248.95/165.33 new_sr14(Pos(vyv2390), Pos(vyv2380)) -> Pos(new_primMulNat0(vyv2390, vyv2380)) 248.95/165.33 new_quot0(Neg(vyv2700), vyv272, vyv271) -> new_primQuotInt0(vyv2700, new_gcd(vyv272, vyv271)) 248.95/165.33 new_quot0(Pos(vyv2700), vyv272, vyv271) -> new_primQuotInt(vyv2700, new_gcd(vyv272, vyv271)) 248.95/165.33 new_gcd(vyv272, vyv271) -> new_gcd2(new_esEs(vyv272), vyv272, vyv271) 248.95/165.33 new_primQuotInt(vyv2700, Pos(Succ(vyv28400))) -> Pos(new_primDivNatS1(vyv2700, vyv28400)) 248.95/165.33 new_primQuotInt(vyv2700, Neg(Zero)) -> new_error 248.95/165.33 new_primQuotInt(vyv2700, Pos(Zero)) -> new_error 248.95/165.33 new_primQuotInt(vyv2700, Neg(Succ(vyv28400))) -> Neg(new_primDivNatS1(vyv2700, vyv28400)) 248.95/165.33 new_primDivNatS1(Succ(Succ(vyv270000)), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS0(vyv270000), Zero)) 248.95/165.33 new_primDivNatS1(Succ(Zero), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS1, Zero)) 248.95/165.33 new_primMinusNatS1 -> Zero 248.95/165.33 new_primMinusNatS0(vyv270000) -> Succ(vyv270000) 248.95/165.33 new_error -> error([]) 248.95/165.33 new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) 248.95/165.33 new_esEs(Pos(Succ(vyv24100))) -> new_primEqInt(Pos(Succ(vyv24100))) 248.95/165.33 new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) 248.95/165.33 new_esEs(Neg(Succ(vyv24100))) -> new_primEqInt(Neg(Succ(vyv24100))) 248.95/165.33 new_gcd2(True, vyv272, vyv271) -> new_gcd1(new_esEs(vyv271), vyv272, vyv271) 248.95/165.33 new_gcd2(False, vyv272, vyv271) -> new_gcd0(vyv272, vyv271) 248.95/165.33 new_gcd0(vyv272, vyv271) -> new_gcd0Gcd'10(new_esEs(new_abs(vyv271)), vyv272, vyv271) 248.95/165.33 new_abs(Neg(Zero)) -> Neg(Zero) 248.95/165.33 new_abs(Neg(Succ(vyv27100))) -> Pos(Succ(vyv27100)) 248.95/165.33 new_abs(Pos(Succ(vyv27100))) -> Pos(Succ(vyv27100)) 248.95/165.33 new_abs(Pos(Zero)) -> Pos(Zero) 248.95/165.33 new_gcd0Gcd'10(True, vyv272, vyv271) -> new_abs(vyv272) 248.95/165.33 new_gcd0Gcd'10(False, vyv272, vyv271) -> new_gcd0Gcd'00(new_abs(vyv272), new_abs(vyv271)) 248.95/165.33 new_gcd0Gcd'00(vyv292, vyv291) -> new_gcd0Gcd'11(new_esEs(new_rem(vyv292, vyv291)), vyv291, vyv292) 248.95/165.33 new_gcd0Gcd'11(False, vyv291, vyv292) -> new_gcd0Gcd'00(vyv291, new_rem(vyv292, vyv291)) 248.95/165.33 new_rem(Pos(vyv2920), Neg(Zero)) -> new_error 248.95/165.33 new_rem(Neg(vyv2920), Pos(Zero)) -> new_error 248.95/165.33 new_rem(Pos(vyv2920), Neg(Succ(vyv29100))) -> Pos(new_primModNatS1(vyv2920, vyv29100)) 248.95/165.33 new_rem(Neg(vyv2920), Pos(Succ(vyv29100))) -> Neg(new_primModNatS1(vyv2920, vyv29100)) 248.95/165.33 new_rem(Pos(vyv2920), Pos(Succ(vyv29100))) -> Pos(new_primModNatS1(vyv2920, vyv29100)) 248.95/165.33 new_rem(Neg(vyv2920), Neg(Zero)) -> new_error 248.95/165.33 new_rem(Neg(vyv2920), Neg(Succ(vyv29100))) -> Neg(new_primModNatS1(vyv2920, vyv29100)) 248.95/165.33 new_rem(Pos(vyv2920), Pos(Zero)) -> new_error 248.95/165.33 new_gcd0Gcd'11(True, vyv291, vyv292) -> vyv291 248.95/165.33 new_primModNatS1(Succ(Zero), Succ(vyv291000)) -> Succ(Zero) 248.95/165.33 new_primModNatS1(Zero, vyv29100) -> Zero 248.95/165.33 new_primModNatS1(Succ(Succ(vyv292000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv292000), Zero) 248.95/165.33 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 248.95/165.33 new_primModNatS1(Succ(Succ(vyv292000)), Succ(vyv291000)) -> new_primModNatS01(vyv292000, vyv291000, vyv292000, vyv291000) 248.95/165.33 new_primModNatS01(vyv330, vyv331, Zero, Zero) -> new_primModNatS02(vyv330, vyv331) 248.95/165.33 new_primModNatS02(vyv330, vyv331) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv330), Succ(vyv331)), Succ(vyv331)) 248.95/165.33 new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Zero) -> new_primModNatS02(vyv330, vyv331) 248.95/165.33 new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Succ(vyv3330)) -> new_primModNatS01(vyv330, vyv331, vyv3320, vyv3330) 248.95/165.33 new_primModNatS01(vyv330, vyv331, Zero, Succ(vyv3330)) -> Succ(Succ(vyv330)) 248.95/165.33 new_gcd1(True, vyv272, vyv271) -> new_error 248.95/165.33 new_gcd1(False, vyv272, vyv271) -> new_gcd0(vyv272, vyv271) 248.95/165.33 new_primEqInt(Neg(Succ(vyv242000))) -> False 248.95/165.33 new_primEqInt(Pos(Zero)) -> True 248.95/165.33 new_primEqInt(Pos(Succ(vyv242000))) -> False 248.95/165.33 new_primEqInt(Neg(Zero)) -> True 248.95/165.33 new_primQuotInt0(vyv2700, Pos(Succ(vyv28700))) -> Neg(new_primDivNatS1(vyv2700, vyv28700)) 248.95/165.33 new_primQuotInt0(vyv2700, Neg(Zero)) -> new_error 248.95/165.33 new_primQuotInt0(vyv2700, Neg(Succ(vyv28700))) -> Pos(new_primDivNatS1(vyv2700, vyv28700)) 248.95/165.33 new_primQuotInt0(vyv2700, Pos(Zero)) -> new_error 248.95/165.33 new_primMulNat0(Succ(vyv23900), Zero) -> Zero 248.95/165.33 new_primMulNat0(Zero, Succ(vyv23800)) -> Zero 248.95/165.33 new_primMulNat0(Zero, Zero) -> Zero 248.95/165.33 new_primMulNat0(Succ(vyv23900), Succ(vyv23800)) -> new_primPlusNat0(new_primMulNat0(vyv23900, Succ(vyv23800)), Succ(vyv23800)) 248.95/165.33 new_primPlusNat0(Succ(vyv4000), Succ(vyv5000)) -> Succ(Succ(new_primPlusNat0(vyv4000, vyv5000))) 248.95/165.33 new_primPlusNat0(Zero, Succ(vyv5000)) -> Succ(vyv5000) 248.95/165.33 new_primPlusNat0(Zero, Zero) -> Zero 248.95/165.33 new_primPlusNat0(Succ(vyv4000), Zero) -> Succ(vyv4000) 248.95/165.33 new_sr7(vyv183) -> error([]) 248.95/165.33 new_esEs1(Integer(vyv2690)) -> new_primEqInt(vyv2690) 248.95/165.33 new_sr6(Neg(vyv1830)) -> Pos(new_primMulNat1(vyv1830)) 248.95/165.33 new_sr6(Pos(vyv1830)) -> Pos(new_primMulNat1(vyv1830)) 248.95/165.33 new_primMulNat1(Succ(vyv18300)) -> new_primPlusNat0(new_primMulNat2(vyv18300), Succ(vyv18300)) 248.95/165.33 new_primMulNat1(Zero) -> Zero 248.95/165.33 new_primMulNat2(Succ(vyv183000)) -> new_primPlusNat0(new_primMulNat3(vyv183000), Succ(Succ(vyv183000))) 248.95/165.33 new_primMulNat2(Zero) -> Zero 248.95/165.33 new_primMulNat3(Succ(vyv1830000)) -> new_primPlusNat0(new_primMulNat4(vyv1830000), Succ(Succ(Succ(vyv1830000)))) 248.95/165.33 new_primMulNat3(Zero) -> Zero 248.95/165.33 new_primMulNat4(Succ(vyv18300000)) -> new_primPlusNat0(new_primMulNat0(vyv18300000, Succ(Succ(Succ(Succ(vyv18300000))))), Succ(Succ(Succ(Succ(vyv18300000))))) 248.95/165.33 new_primMulNat4(Zero) -> Zero 248.95/165.33 new_ms(vyv228, Neg(vyv2440)) -> Pos(new_primPlusNat0(Succ(vyv228), vyv2440)) 248.95/165.33 new_ms(vyv228, Pos(Succ(vyv24400))) -> new_primMinusNat0(vyv228, vyv24400) 248.95/165.33 new_ms(vyv228, Pos(Zero)) -> Pos(Succ(vyv228)) 248.95/165.33 new_sr2(vyv227, vyv226, ty_Int) -> new_sr14(vyv227, vyv226) 248.95/165.33 new_sr2(vyv227, vyv226, ty_Double) -> new_sr11(vyv227, vyv226) 248.95/165.33 new_sr2(vyv227, vyv226, ty_Integer) -> new_sr8(vyv227, vyv226) 248.95/165.33 new_sr2(vyv227, vyv226, ty_Float) -> new_sr13(vyv227, vyv226) 248.95/165.33 new_sr2(vyv227, vyv226, app(ty_Ratio, be)) -> new_sr12(vyv227, vyv226, be) 248.95/165.33 new_sr12(:%(vyv2390, vyv2391), :%(vyv2380, vyv2381), bf) -> new_reduce2Reduce1(vyv2390, vyv2380, vyv2391, vyv2381, new_esEs2(vyv2391, vyv2381, bf), bf) 248.95/165.33 new_esEs2(vyv2391, vyv2381, ty_Int) -> new_esEs(new_sr14(vyv2391, vyv2381)) 248.95/165.33 new_esEs2(vyv2391, vyv2381, ty_Integer) -> new_esEs1(new_sr8(vyv2391, vyv2381)) 248.95/165.33 new_sr13(vyv239, vyv238) -> error([]) 248.95/165.33 new_sr11(vyv239, vyv238) -> error([]) 248.95/165.33 new_primMinusNat0(Succ(vyv2280), Succ(vyv244000)) -> new_primMinusNat0(vyv2280, vyv244000) 248.95/165.33 new_primMinusNat0(Zero, Zero) -> Pos(Zero) 248.95/165.33 new_primMinusNat0(Zero, Succ(vyv244000)) -> Neg(Succ(vyv244000)) 248.95/165.33 new_primMinusNat0(Succ(vyv2280), Zero) -> Pos(Succ(vyv2280)) 248.95/165.33 new_sr3(vyv249, ty_Float) -> new_sr10(vyv249) 248.95/165.33 new_sr3(vyv249, ty_Double) -> new_sr9(vyv249) 248.95/165.33 new_sr3(vyv249, ty_Int) -> new_sr6(vyv249) 248.95/165.33 new_sr3(vyv249, ty_Integer) -> new_sr7(vyv249) 248.95/165.33 new_sr3(vyv249, app(ty_Ratio, bg)) -> new_sr5(vyv249, bg) 248.95/165.33 new_ms0(vyv240, Neg(Zero)) -> Neg(Succ(vyv240)) 248.95/165.33 new_ms0(vyv240, Pos(vyv2430)) -> Neg(new_primPlusNat0(Succ(vyv240), vyv2430)) 248.95/165.33 new_ms0(vyv240, Neg(Succ(vyv24300))) -> new_primMinusNat0(vyv24300, vyv240) 248.95/165.33 new_sr4(vyv239, vyv238, app(ty_Ratio, bf)) -> new_sr12(vyv239, vyv238, bf) 248.95/165.33 new_sr4(vyv239, vyv238, ty_Integer) -> new_sr8(vyv239, vyv238) 248.95/165.33 new_sr4(vyv239, vyv238, ty_Int) -> new_sr14(vyv239, vyv238) 248.95/165.33 new_sr4(vyv239, vyv238, ty_Double) -> new_sr11(vyv239, vyv238) 248.95/165.33 new_sr4(vyv239, vyv238, ty_Float) -> new_sr13(vyv239, vyv238) 248.95/165.33 248.95/165.33 The set Q consists of the following terms: 248.95/165.33 248.95/165.33 new_rem(Pos(x0), Pos(Succ(x1))) 248.95/165.33 new_quot1(x0, x1, x2, x3, ty_Integer) 248.95/165.33 new_primModNatS1(Succ(Zero), Succ(x0)) 248.95/165.33 new_ms0(x0, Pos(x1)) 248.95/165.33 new_primMulNat4(Zero) 248.95/165.33 new_gcd1(False, x0, x1) 248.95/165.33 new_primEqInt(Pos(Zero)) 248.95/165.33 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 248.95/165.33 new_rem(Pos(x0), Neg(Succ(x1))) 248.95/165.33 new_rem(Neg(x0), Pos(Succ(x1))) 248.95/165.33 new_sr10(x0) 248.95/165.33 new_quot1(x0, x1, x2, x3, ty_Int) 248.95/165.33 new_quot2(x0, x1, x2, x3, ty_Integer) 248.95/165.33 new_primModNatS01(x0, x1, Succ(x2), Zero) 248.95/165.33 new_sr3(x0, ty_Integer) 248.95/165.33 new_primMulNat3(Zero) 248.95/165.33 new_primDivNatS02(x0, x1, Succ(x2), Zero) 248.95/165.33 new_quot2(x0, x1, x2, x3, ty_Int) 248.95/165.33 new_gcd2(False, x0, x1) 248.95/165.33 new_primDivNatS1(Succ(Zero), Zero) 248.95/165.33 new_esEs0(x0, ty_Int) 248.95/165.33 new_sr14(Pos(x0), Pos(x1)) 248.95/165.33 new_sr3(x0, ty_Int) 248.95/165.33 new_primMulNat0(Zero, Zero) 248.95/165.33 new_sr4(x0, x1, ty_Double) 248.95/165.33 new_primPlusNat0(Succ(x0), Zero) 248.95/165.33 new_primMulNat2(Zero) 248.95/165.33 new_sr11(x0, x1) 248.95/165.33 new_primModNatS01(x0, x1, Zero, Zero) 248.95/165.33 new_esEs2(x0, x1, ty_Int) 248.95/165.33 new_gcd1(True, x0, x1) 248.95/165.33 new_sr13(x0, x1) 248.95/165.33 new_sr14(Pos(x0), Neg(x1)) 248.95/165.33 new_sr14(Neg(x0), Pos(x1)) 248.95/165.33 new_primDivNatS1(Succ(Succ(x0)), Succ(x1)) 248.95/165.33 new_sr1(x0, ty_Int) 248.95/165.33 new_primModNatS1(Zero, x0) 248.95/165.33 new_esEs(Pos(Succ(x0))) 248.95/165.33 new_primMulNat3(Succ(x0)) 248.95/165.33 new_sr1(x0, app(ty_Ratio, x1)) 248.95/165.33 new_primQuotInt(x0, Neg(Succ(x1))) 248.95/165.33 new_reduce2Reduce1(x0, x1, x2, x3, False, x4) 248.95/165.33 new_primMinusNat0(Zero, Zero) 248.95/165.33 new_primDivNatS1(Zero, x0) 248.95/165.33 new_primDivNatS02(x0, x1, Succ(x2), Succ(x3)) 248.95/165.33 new_primModNatS02(x0, x1) 248.95/165.33 new_primDivNatS1(Succ(Zero), Succ(x0)) 248.95/165.33 new_sr6(Neg(x0)) 248.95/165.33 new_gcd0Gcd'10(True, x0, x1) 248.95/165.33 new_primMulNat0(Succ(x0), Succ(x1)) 248.95/165.33 new_abs(Neg(Zero)) 248.95/165.33 new_ms(x0, Neg(x1)) 248.95/165.33 new_rem(Pos(x0), Neg(Zero)) 248.95/165.33 new_rem(Neg(x0), Pos(Zero)) 248.95/165.33 new_primMinusNatS2(Zero, Succ(x0)) 248.95/165.33 new_esEs(Neg(Succ(x0))) 248.95/165.33 new_error 248.95/165.33 new_primModNatS1(Succ(Zero), Zero) 248.95/165.33 new_primMulNat0(Zero, Succ(x0)) 248.95/165.33 new_sr3(x0, ty_Float) 248.95/165.33 new_quot(x0, x1, x2) 248.95/165.33 new_gcd2(True, x0, x1) 248.95/165.33 new_gcd0Gcd'11(True, x0, x1) 248.95/165.33 new_primEqInt(Neg(Zero)) 248.95/165.33 new_sr2(x0, x1, ty_Double) 248.95/165.33 new_primMulNat0(Succ(x0), Zero) 248.95/165.33 new_quot0(Neg(x0), x1, x2) 248.95/165.33 new_primMinusNatS2(Succ(x0), Succ(x1)) 248.95/165.33 new_sr4(x0, x1, app(ty_Ratio, x2)) 248.95/165.33 new_sr8(x0, x1) 248.95/165.33 new_primDivNatS01(x0, x1) 248.95/165.33 new_primDivNatS02(x0, x1, Zero, Succ(x2)) 248.95/165.33 new_primPlusNat0(Succ(x0), Succ(x1)) 248.95/165.33 new_sr1(x0, ty_Integer) 248.95/165.33 new_primPlusNat0(Zero, Zero) 248.95/165.33 new_sr1(x0, ty_Float) 248.95/165.33 new_primMinusNat0(Succ(x0), Succ(x1)) 248.95/165.33 new_sr12(:%(x0, x1), :%(x2, x3), x4) 248.95/165.33 new_abs(Neg(Succ(x0))) 248.95/165.33 new_sr1(x0, ty_Double) 248.95/165.33 new_sr3(x0, app(ty_Ratio, x1)) 248.95/165.33 new_sr7(x0) 248.95/165.33 new_gcd0(x0, x1) 248.95/165.33 new_primQuotInt0(x0, Pos(Succ(x1))) 248.95/165.33 new_sr4(x0, x1, ty_Integer) 248.95/165.33 new_sr5(:%(x0, x1), x2) 248.95/165.33 new_primMinusNatS2(Zero, Zero) 248.95/165.33 new_primMulNat1(Succ(x0)) 248.95/165.33 new_ms(x0, Pos(Zero)) 248.95/165.33 new_abs(Pos(Succ(x0))) 248.95/165.33 new_sr4(x0, x1, ty_Int) 248.95/165.33 new_esEs(Pos(Zero)) 248.95/165.33 new_primQuotInt0(x0, Pos(Zero)) 248.95/165.33 new_primEqInt(Neg(Succ(x0))) 248.95/165.33 new_primQuotInt(x0, Neg(Zero)) 248.95/165.33 new_primQuotInt0(x0, Neg(Zero)) 248.95/165.33 new_primQuotInt0(x0, Neg(Succ(x1))) 248.95/165.33 new_gcd(x0, x1) 248.95/165.33 new_quot0(Pos(x0), x1, x2) 248.95/165.33 new_primMinusNatS0(x0) 248.95/165.33 new_primPlusNat0(Zero, Succ(x0)) 248.95/165.33 new_sr2(x0, x1, app(ty_Ratio, x2)) 248.95/165.33 new_sr2(x0, x1, ty_Int) 248.95/165.33 new_primQuotInt(x0, Pos(Succ(x1))) 248.95/165.33 new_primDivNatS1(Succ(Succ(x0)), Zero) 248.95/165.33 new_rem(Pos(x0), Pos(Zero)) 248.95/165.33 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 248.95/165.33 new_primDivNatS02(x0, x1, Zero, Zero) 248.95/165.33 new_abs(Pos(Zero)) 248.95/165.33 new_gcd0Gcd'10(False, x0, x1) 248.95/165.33 new_ms(x0, Pos(Succ(x1))) 248.95/165.33 new_primMinusNatS1 248.95/165.33 new_esEs1(Integer(x0)) 248.95/165.33 new_ms0(x0, Neg(Zero)) 248.95/165.33 new_primMinusNat0(Succ(x0), Zero) 248.95/165.33 new_ms0(x0, Neg(Succ(x1))) 248.95/165.33 new_sr2(x0, x1, ty_Integer) 248.95/165.33 new_primModNatS01(x0, x1, Zero, Succ(x2)) 248.95/165.33 new_primMulNat2(Succ(x0)) 248.95/165.33 new_sr14(Neg(x0), Neg(x1)) 248.95/165.33 new_sr2(x0, x1, ty_Float) 248.95/165.33 new_primMinusNatS2(Succ(x0), Zero) 248.95/165.33 new_sr4(x0, x1, ty_Float) 248.95/165.33 new_sr6(Pos(x0)) 248.95/165.33 new_esEs2(x0, x1, ty_Integer) 248.95/165.33 new_primMulNat4(Succ(x0)) 248.95/165.33 new_rem(Neg(x0), Neg(Succ(x1))) 248.95/165.33 new_primEqInt(Pos(Succ(x0))) 248.95/165.33 new_primQuotInt(x0, Pos(Zero)) 248.95/165.33 new_gcd0Gcd'11(False, x0, x1) 248.95/165.33 new_sr9(x0) 248.95/165.33 new_primModNatS1(Succ(Succ(x0)), Zero) 248.95/165.33 new_esEs0(x0, ty_Integer) 248.95/165.33 new_gcd0Gcd'00(x0, x1) 248.95/165.33 new_reduce2Reduce1(x0, x1, x2, x3, True, x4) 248.95/165.33 new_sr3(x0, ty_Double) 248.95/165.33 new_esEs(Neg(Zero)) 248.95/165.33 new_primMulNat1(Zero) 248.95/165.33 new_primMinusNat0(Zero, Succ(x0)) 248.95/165.33 new_rem(Neg(x0), Neg(Zero)) 248.95/165.33 248.95/165.33 We have to consider all minimal (P,Q,R)-chains. 248.95/165.33 ---------------------------------------- 248.95/165.33 248.95/165.33 (789) TransformationProof (EQUIVALENT) 248.95/165.33 By instantiating [LPAR04] the rule new_pr2F1(vyv239, vyv240, vyv243, vyv238, bc) -> new_pr2F30(new_esEs(new_ms0(vyv240, vyv243)), vyv239, vyv240, vyv243, vyv238, bc) we obtained the following new rules [LPAR04]: 248.95/165.33 248.95/165.33 (new_pr2F1(z1, z2, Pos(Succ(Zero)), z0, z3) -> new_pr2F30(new_esEs(new_ms0(z2, Pos(Succ(Zero)))), z1, z2, Pos(Succ(Zero)), z0, z3),new_pr2F1(z1, z2, Pos(Succ(Zero)), z0, z3) -> new_pr2F30(new_esEs(new_ms0(z2, Pos(Succ(Zero)))), z1, z2, Pos(Succ(Zero)), z0, z3)) 248.95/165.33 248.95/165.33 248.95/165.33 ---------------------------------------- 248.95/165.33 248.95/165.33 (790) 248.95/165.33 Obligation: 248.95/165.33 Q DP problem: 248.95/165.33 The TRS P consists of the following rules: 248.95/165.33 248.95/165.33 new_pr2F0G11(vyv238, vyv239, vyv240, bc) -> new_pr2F1(vyv239, vyv240, Pos(Succ(Zero)), vyv238, bc) 248.95/165.33 new_pr2F30(False, vyv239, vyv240, vyv243, vyv238, bc) -> new_pr2F0(vyv239, new_ms0(vyv240, vyv243), new_sr4(vyv239, vyv238, bc), bc) 248.95/165.33 new_pr2F0(vyv183, Neg(Succ(Succ(vyv222000))), vyv187, h) -> new_pr2F0G10(vyv187, vyv183, Succ(vyv222000), vyv222000, h) 248.95/165.33 new_pr2F0G10(vyv248, vyv249, vyv250, Succ(Succ(vyv25100)), bb) -> new_pr2F0G10(vyv248, vyv249, vyv250, vyv25100, bb) 248.95/165.33 new_pr2F0G10(vyv248, vyv249, vyv250, Succ(Zero), bb) -> new_pr2F0G11(vyv248, vyv249, vyv250, bb) 248.95/165.33 new_pr2F0G10(vyv248, vyv249, vyv250, Zero, bb) -> new_pr2F0G(vyv248, new_sr3(vyv249, bb), Neg(new_primDivNatS1(Succ(vyv250), Succ(Zero))), bb) 248.95/165.33 new_pr2F0G(vyv187, vyv183, Neg(Succ(Zero)), h) -> new_pr2F0G11(vyv187, vyv183, Zero, h) 248.95/165.33 new_pr2F0G(vyv187, vyv183, Neg(Succ(Succ(vyv222000))), h) -> new_pr2F0G10(vyv187, vyv183, Succ(vyv222000), vyv222000, h) 248.95/165.33 new_pr2F0(vyv183, Neg(Succ(Zero)), vyv187, h) -> new_pr2F0G11(vyv187, vyv183, Zero, h) 248.95/165.33 new_pr2F0(vyv183, Pos(Succ(Succ(vyv222000))), vyv187, h) -> new_pr2F0G1(vyv187, vyv183, Succ(vyv222000), vyv222000, h) 248.95/165.33 new_pr2F0G1(vyv226, vyv227, vyv228, Succ(Succ(vyv22900)), ba) -> new_pr2F0G1(vyv226, vyv227, vyv228, vyv22900, ba) 248.95/165.33 new_pr2F0G1(vyv226, vyv227, vyv228, Succ(Zero), ba) -> new_pr2F(vyv227, vyv228, Pos(Succ(Zero)), vyv226, ba) 248.95/165.33 new_pr2F(vyv227, vyv228, vyv244, vyv226, ba) -> new_pr2F3(new_esEs(new_ms(vyv228, vyv244)), vyv227, vyv228, vyv244, vyv226, ba) 248.95/165.33 new_pr2F3(False, vyv227, vyv228, vyv244, vyv226, ba) -> new_pr2F0(vyv227, new_ms(vyv228, vyv244), new_sr2(vyv227, vyv226, ba), ba) 248.95/165.33 new_pr2F0(vyv183, Pos(Succ(Zero)), vyv187, h) -> new_pr2F(vyv183, Zero, Pos(Succ(Zero)), vyv187, h) 248.95/165.33 new_pr2F0G1(vyv226, vyv227, vyv228, Zero, ba) -> new_pr2F0G(vyv226, new_sr1(vyv227, ba), Pos(new_primDivNatS1(Succ(vyv228), Succ(Zero))), ba) 248.95/165.33 new_pr2F0G(vyv187, vyv183, Pos(Succ(Succ(vyv222000))), h) -> new_pr2F0G1(vyv187, vyv183, Succ(vyv222000), vyv222000, h) 248.95/165.33 new_pr2F0G(vyv187, vyv183, Pos(Succ(Zero)), h) -> new_pr2F(vyv183, Zero, Pos(Succ(Zero)), vyv187, h) 248.95/165.33 new_pr2F1(z1, z2, Pos(Succ(Zero)), z0, z3) -> new_pr2F30(new_esEs(new_ms0(z2, Pos(Succ(Zero)))), z1, z2, Pos(Succ(Zero)), z0, z3) 248.95/165.33 248.95/165.33 The TRS R consists of the following rules: 248.95/165.33 248.95/165.33 new_sr1(vyv227, ty_Int) -> new_sr6(vyv227) 248.95/165.33 new_sr1(vyv227, ty_Integer) -> new_sr7(vyv227) 248.95/165.33 new_sr1(vyv227, app(ty_Ratio, be)) -> new_sr5(vyv227, be) 248.95/165.33 new_sr1(vyv227, ty_Float) -> new_sr10(vyv227) 248.95/165.33 new_sr1(vyv227, ty_Double) -> new_sr9(vyv227) 248.95/165.33 new_primDivNatS1(Succ(Zero), Succ(vyv284000)) -> Zero 248.95/165.33 new_primDivNatS1(Succ(Succ(vyv270000)), Succ(vyv284000)) -> new_primDivNatS02(vyv270000, vyv284000, vyv270000, vyv284000) 248.95/165.33 new_primDivNatS02(vyv310, vyv311, Zero, Zero) -> new_primDivNatS01(vyv310, vyv311) 248.95/165.33 new_primDivNatS02(vyv310, vyv311, Succ(vyv3120), Zero) -> new_primDivNatS01(vyv310, vyv311) 248.95/165.33 new_primDivNatS02(vyv310, vyv311, Zero, Succ(vyv3130)) -> Zero 248.95/165.33 new_primDivNatS02(vyv310, vyv311, Succ(vyv3120), Succ(vyv3130)) -> new_primDivNatS02(vyv310, vyv311, vyv3120, vyv3130) 248.95/165.33 new_primDivNatS01(vyv310, vyv311) -> Succ(new_primDivNatS1(new_primMinusNatS2(vyv310, vyv311), Succ(vyv311))) 248.95/165.33 new_primMinusNatS2(Zero, Succ(vyv3110)) -> Zero 248.95/165.33 new_primMinusNatS2(Succ(vyv3100), Zero) -> Succ(vyv3100) 248.95/165.33 new_primMinusNatS2(Zero, Zero) -> Zero 248.95/165.33 new_primMinusNatS2(Succ(vyv3100), Succ(vyv3110)) -> new_primMinusNatS2(vyv3100, vyv3110) 248.95/165.33 new_primDivNatS1(Zero, vyv28400) -> Zero 248.95/165.33 new_sr9(vyv183) -> error([]) 248.95/165.33 new_sr10(vyv183) -> error([]) 248.95/165.33 new_sr5(:%(vyv1830, vyv1831), bd) -> new_reduce2Reduce1(vyv1830, vyv1830, vyv1831, vyv1831, new_esEs0(vyv1831, bd), bd) 248.95/165.33 new_esEs0(vyv1831, ty_Int) -> new_esEs(new_sr6(vyv1831)) 248.95/165.33 new_esEs0(vyv1831, ty_Integer) -> new_esEs1(new_sr7(vyv1831)) 248.95/165.33 new_reduce2Reduce1(vyv264, vyv265, vyv266, vyv267, False, bh) -> :%(new_quot1(vyv264, vyv265, vyv266, vyv267, bh), new_quot2(vyv266, vyv267, vyv264, vyv265, bh)) 248.95/165.33 new_reduce2Reduce1(vyv264, vyv265, vyv266, vyv267, True, bh) -> error([]) 248.95/165.33 new_quot1(vyv264, vyv265, vyv266, vyv267, ty_Int) -> new_quot0(new_sr14(vyv264, vyv265), new_sr14(vyv264, vyv265), new_sr14(vyv266, vyv267)) 248.95/165.33 new_quot1(vyv264, vyv265, vyv266, vyv267, ty_Integer) -> new_quot(new_sr8(vyv264, vyv265), new_sr8(vyv264, vyv265), new_sr8(vyv266, vyv267)) 248.95/165.33 new_quot2(vyv266, vyv267, vyv264, vyv265, ty_Int) -> new_quot0(new_sr14(vyv266, vyv267), new_sr14(vyv264, vyv265), new_sr14(vyv266, vyv267)) 248.95/165.33 new_quot2(vyv266, vyv267, vyv264, vyv265, ty_Integer) -> new_quot(new_sr8(vyv266, vyv267), new_sr8(vyv264, vyv265), new_sr8(vyv266, vyv267)) 248.95/165.33 new_sr8(vyv239, vyv238) -> error([]) 248.95/165.33 new_quot(vyv273, vyv275, vyv274) -> error([]) 248.95/165.33 new_sr14(Pos(vyv2390), Neg(vyv2380)) -> Neg(new_primMulNat0(vyv2390, vyv2380)) 248.95/165.33 new_sr14(Neg(vyv2390), Pos(vyv2380)) -> Neg(new_primMulNat0(vyv2390, vyv2380)) 248.95/165.33 new_sr14(Neg(vyv2390), Neg(vyv2380)) -> Pos(new_primMulNat0(vyv2390, vyv2380)) 248.95/165.33 new_sr14(Pos(vyv2390), Pos(vyv2380)) -> Pos(new_primMulNat0(vyv2390, vyv2380)) 248.95/165.33 new_quot0(Neg(vyv2700), vyv272, vyv271) -> new_primQuotInt0(vyv2700, new_gcd(vyv272, vyv271)) 248.95/165.33 new_quot0(Pos(vyv2700), vyv272, vyv271) -> new_primQuotInt(vyv2700, new_gcd(vyv272, vyv271)) 248.95/165.33 new_gcd(vyv272, vyv271) -> new_gcd2(new_esEs(vyv272), vyv272, vyv271) 248.95/165.33 new_primQuotInt(vyv2700, Pos(Succ(vyv28400))) -> Pos(new_primDivNatS1(vyv2700, vyv28400)) 248.95/165.33 new_primQuotInt(vyv2700, Neg(Zero)) -> new_error 248.95/165.33 new_primQuotInt(vyv2700, Pos(Zero)) -> new_error 248.95/165.33 new_primQuotInt(vyv2700, Neg(Succ(vyv28400))) -> Neg(new_primDivNatS1(vyv2700, vyv28400)) 248.95/165.33 new_primDivNatS1(Succ(Succ(vyv270000)), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS0(vyv270000), Zero)) 248.95/165.33 new_primDivNatS1(Succ(Zero), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS1, Zero)) 248.95/165.33 new_primMinusNatS1 -> Zero 248.95/165.33 new_primMinusNatS0(vyv270000) -> Succ(vyv270000) 248.95/165.33 new_error -> error([]) 248.95/165.33 new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) 248.95/165.33 new_esEs(Pos(Succ(vyv24100))) -> new_primEqInt(Pos(Succ(vyv24100))) 248.95/165.33 new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) 248.95/165.33 new_esEs(Neg(Succ(vyv24100))) -> new_primEqInt(Neg(Succ(vyv24100))) 248.95/165.33 new_gcd2(True, vyv272, vyv271) -> new_gcd1(new_esEs(vyv271), vyv272, vyv271) 248.95/165.33 new_gcd2(False, vyv272, vyv271) -> new_gcd0(vyv272, vyv271) 248.95/165.33 new_gcd0(vyv272, vyv271) -> new_gcd0Gcd'10(new_esEs(new_abs(vyv271)), vyv272, vyv271) 248.95/165.33 new_abs(Neg(Zero)) -> Neg(Zero) 248.95/165.33 new_abs(Neg(Succ(vyv27100))) -> Pos(Succ(vyv27100)) 248.95/165.33 new_abs(Pos(Succ(vyv27100))) -> Pos(Succ(vyv27100)) 248.95/165.33 new_abs(Pos(Zero)) -> Pos(Zero) 248.95/165.33 new_gcd0Gcd'10(True, vyv272, vyv271) -> new_abs(vyv272) 248.95/165.33 new_gcd0Gcd'10(False, vyv272, vyv271) -> new_gcd0Gcd'00(new_abs(vyv272), new_abs(vyv271)) 248.95/165.33 new_gcd0Gcd'00(vyv292, vyv291) -> new_gcd0Gcd'11(new_esEs(new_rem(vyv292, vyv291)), vyv291, vyv292) 248.95/165.33 new_gcd0Gcd'11(False, vyv291, vyv292) -> new_gcd0Gcd'00(vyv291, new_rem(vyv292, vyv291)) 248.95/165.33 new_rem(Pos(vyv2920), Neg(Zero)) -> new_error 248.95/165.33 new_rem(Neg(vyv2920), Pos(Zero)) -> new_error 248.95/165.33 new_rem(Pos(vyv2920), Neg(Succ(vyv29100))) -> Pos(new_primModNatS1(vyv2920, vyv29100)) 248.95/165.33 new_rem(Neg(vyv2920), Pos(Succ(vyv29100))) -> Neg(new_primModNatS1(vyv2920, vyv29100)) 248.95/165.33 new_rem(Pos(vyv2920), Pos(Succ(vyv29100))) -> Pos(new_primModNatS1(vyv2920, vyv29100)) 248.95/165.33 new_rem(Neg(vyv2920), Neg(Zero)) -> new_error 248.95/165.33 new_rem(Neg(vyv2920), Neg(Succ(vyv29100))) -> Neg(new_primModNatS1(vyv2920, vyv29100)) 248.95/165.33 new_rem(Pos(vyv2920), Pos(Zero)) -> new_error 248.95/165.33 new_gcd0Gcd'11(True, vyv291, vyv292) -> vyv291 248.95/165.33 new_primModNatS1(Succ(Zero), Succ(vyv291000)) -> Succ(Zero) 248.95/165.33 new_primModNatS1(Zero, vyv29100) -> Zero 248.95/165.33 new_primModNatS1(Succ(Succ(vyv292000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv292000), Zero) 248.95/165.34 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 248.95/165.34 new_primModNatS1(Succ(Succ(vyv292000)), Succ(vyv291000)) -> new_primModNatS01(vyv292000, vyv291000, vyv292000, vyv291000) 248.95/165.34 new_primModNatS01(vyv330, vyv331, Zero, Zero) -> new_primModNatS02(vyv330, vyv331) 248.95/165.34 new_primModNatS02(vyv330, vyv331) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv330), Succ(vyv331)), Succ(vyv331)) 248.95/165.34 new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Zero) -> new_primModNatS02(vyv330, vyv331) 248.95/165.34 new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Succ(vyv3330)) -> new_primModNatS01(vyv330, vyv331, vyv3320, vyv3330) 248.95/165.34 new_primModNatS01(vyv330, vyv331, Zero, Succ(vyv3330)) -> Succ(Succ(vyv330)) 248.95/165.34 new_gcd1(True, vyv272, vyv271) -> new_error 248.95/165.34 new_gcd1(False, vyv272, vyv271) -> new_gcd0(vyv272, vyv271) 248.95/165.34 new_primEqInt(Neg(Succ(vyv242000))) -> False 248.95/165.34 new_primEqInt(Pos(Zero)) -> True 248.95/165.34 new_primEqInt(Pos(Succ(vyv242000))) -> False 248.95/165.34 new_primEqInt(Neg(Zero)) -> True 248.95/165.34 new_primQuotInt0(vyv2700, Pos(Succ(vyv28700))) -> Neg(new_primDivNatS1(vyv2700, vyv28700)) 248.95/165.34 new_primQuotInt0(vyv2700, Neg(Zero)) -> new_error 248.95/165.34 new_primQuotInt0(vyv2700, Neg(Succ(vyv28700))) -> Pos(new_primDivNatS1(vyv2700, vyv28700)) 248.95/165.34 new_primQuotInt0(vyv2700, Pos(Zero)) -> new_error 248.95/165.34 new_primMulNat0(Succ(vyv23900), Zero) -> Zero 248.95/165.34 new_primMulNat0(Zero, Succ(vyv23800)) -> Zero 248.95/165.34 new_primMulNat0(Zero, Zero) -> Zero 248.95/165.34 new_primMulNat0(Succ(vyv23900), Succ(vyv23800)) -> new_primPlusNat0(new_primMulNat0(vyv23900, Succ(vyv23800)), Succ(vyv23800)) 248.95/165.34 new_primPlusNat0(Succ(vyv4000), Succ(vyv5000)) -> Succ(Succ(new_primPlusNat0(vyv4000, vyv5000))) 248.95/165.34 new_primPlusNat0(Zero, Succ(vyv5000)) -> Succ(vyv5000) 248.95/165.34 new_primPlusNat0(Zero, Zero) -> Zero 248.95/165.34 new_primPlusNat0(Succ(vyv4000), Zero) -> Succ(vyv4000) 248.95/165.34 new_sr7(vyv183) -> error([]) 248.95/165.34 new_esEs1(Integer(vyv2690)) -> new_primEqInt(vyv2690) 248.95/165.34 new_sr6(Neg(vyv1830)) -> Pos(new_primMulNat1(vyv1830)) 248.95/165.34 new_sr6(Pos(vyv1830)) -> Pos(new_primMulNat1(vyv1830)) 248.95/165.34 new_primMulNat1(Succ(vyv18300)) -> new_primPlusNat0(new_primMulNat2(vyv18300), Succ(vyv18300)) 248.95/165.34 new_primMulNat1(Zero) -> Zero 248.95/165.34 new_primMulNat2(Succ(vyv183000)) -> new_primPlusNat0(new_primMulNat3(vyv183000), Succ(Succ(vyv183000))) 248.95/165.34 new_primMulNat2(Zero) -> Zero 248.95/165.34 new_primMulNat3(Succ(vyv1830000)) -> new_primPlusNat0(new_primMulNat4(vyv1830000), Succ(Succ(Succ(vyv1830000)))) 248.95/165.34 new_primMulNat3(Zero) -> Zero 248.95/165.34 new_primMulNat4(Succ(vyv18300000)) -> new_primPlusNat0(new_primMulNat0(vyv18300000, Succ(Succ(Succ(Succ(vyv18300000))))), Succ(Succ(Succ(Succ(vyv18300000))))) 248.95/165.34 new_primMulNat4(Zero) -> Zero 248.95/165.34 new_ms(vyv228, Neg(vyv2440)) -> Pos(new_primPlusNat0(Succ(vyv228), vyv2440)) 248.95/165.34 new_ms(vyv228, Pos(Succ(vyv24400))) -> new_primMinusNat0(vyv228, vyv24400) 248.95/165.34 new_ms(vyv228, Pos(Zero)) -> Pos(Succ(vyv228)) 248.95/165.34 new_sr2(vyv227, vyv226, ty_Int) -> new_sr14(vyv227, vyv226) 248.95/165.34 new_sr2(vyv227, vyv226, ty_Double) -> new_sr11(vyv227, vyv226) 248.95/165.34 new_sr2(vyv227, vyv226, ty_Integer) -> new_sr8(vyv227, vyv226) 248.95/165.34 new_sr2(vyv227, vyv226, ty_Float) -> new_sr13(vyv227, vyv226) 248.95/165.34 new_sr2(vyv227, vyv226, app(ty_Ratio, be)) -> new_sr12(vyv227, vyv226, be) 248.95/165.34 new_sr12(:%(vyv2390, vyv2391), :%(vyv2380, vyv2381), bf) -> new_reduce2Reduce1(vyv2390, vyv2380, vyv2391, vyv2381, new_esEs2(vyv2391, vyv2381, bf), bf) 248.95/165.34 new_esEs2(vyv2391, vyv2381, ty_Int) -> new_esEs(new_sr14(vyv2391, vyv2381)) 248.95/165.34 new_esEs2(vyv2391, vyv2381, ty_Integer) -> new_esEs1(new_sr8(vyv2391, vyv2381)) 248.95/165.34 new_sr13(vyv239, vyv238) -> error([]) 248.95/165.34 new_sr11(vyv239, vyv238) -> error([]) 248.95/165.34 new_primMinusNat0(Succ(vyv2280), Succ(vyv244000)) -> new_primMinusNat0(vyv2280, vyv244000) 248.95/165.34 new_primMinusNat0(Zero, Zero) -> Pos(Zero) 248.95/165.34 new_primMinusNat0(Zero, Succ(vyv244000)) -> Neg(Succ(vyv244000)) 248.95/165.34 new_primMinusNat0(Succ(vyv2280), Zero) -> Pos(Succ(vyv2280)) 248.95/165.34 new_sr3(vyv249, ty_Float) -> new_sr10(vyv249) 248.95/165.34 new_sr3(vyv249, ty_Double) -> new_sr9(vyv249) 248.95/165.34 new_sr3(vyv249, ty_Int) -> new_sr6(vyv249) 248.95/165.34 new_sr3(vyv249, ty_Integer) -> new_sr7(vyv249) 248.95/165.34 new_sr3(vyv249, app(ty_Ratio, bg)) -> new_sr5(vyv249, bg) 248.95/165.34 new_ms0(vyv240, Neg(Zero)) -> Neg(Succ(vyv240)) 248.95/165.34 new_ms0(vyv240, Pos(vyv2430)) -> Neg(new_primPlusNat0(Succ(vyv240), vyv2430)) 248.95/165.34 new_ms0(vyv240, Neg(Succ(vyv24300))) -> new_primMinusNat0(vyv24300, vyv240) 248.95/165.34 new_sr4(vyv239, vyv238, app(ty_Ratio, bf)) -> new_sr12(vyv239, vyv238, bf) 248.95/165.34 new_sr4(vyv239, vyv238, ty_Integer) -> new_sr8(vyv239, vyv238) 248.95/165.34 new_sr4(vyv239, vyv238, ty_Int) -> new_sr14(vyv239, vyv238) 248.95/165.34 new_sr4(vyv239, vyv238, ty_Double) -> new_sr11(vyv239, vyv238) 248.95/165.34 new_sr4(vyv239, vyv238, ty_Float) -> new_sr13(vyv239, vyv238) 248.95/165.34 248.95/165.34 The set Q consists of the following terms: 248.95/165.34 248.95/165.34 new_rem(Pos(x0), Pos(Succ(x1))) 248.95/165.34 new_quot1(x0, x1, x2, x3, ty_Integer) 248.95/165.34 new_primModNatS1(Succ(Zero), Succ(x0)) 248.95/165.34 new_ms0(x0, Pos(x1)) 248.95/165.34 new_primMulNat4(Zero) 248.95/165.34 new_gcd1(False, x0, x1) 248.95/165.34 new_primEqInt(Pos(Zero)) 248.95/165.34 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 248.95/165.34 new_rem(Pos(x0), Neg(Succ(x1))) 248.95/165.34 new_rem(Neg(x0), Pos(Succ(x1))) 248.95/165.34 new_sr10(x0) 248.95/165.34 new_quot1(x0, x1, x2, x3, ty_Int) 248.95/165.34 new_quot2(x0, x1, x2, x3, ty_Integer) 248.95/165.34 new_primModNatS01(x0, x1, Succ(x2), Zero) 248.95/165.34 new_sr3(x0, ty_Integer) 248.95/165.34 new_primMulNat3(Zero) 248.95/165.34 new_primDivNatS02(x0, x1, Succ(x2), Zero) 248.95/165.34 new_quot2(x0, x1, x2, x3, ty_Int) 248.95/165.34 new_gcd2(False, x0, x1) 248.95/165.34 new_primDivNatS1(Succ(Zero), Zero) 248.95/165.34 new_esEs0(x0, ty_Int) 248.95/165.34 new_sr14(Pos(x0), Pos(x1)) 248.95/165.34 new_sr3(x0, ty_Int) 248.95/165.34 new_primMulNat0(Zero, Zero) 248.95/165.34 new_sr4(x0, x1, ty_Double) 248.95/165.34 new_primPlusNat0(Succ(x0), Zero) 248.95/165.34 new_primMulNat2(Zero) 248.95/165.34 new_sr11(x0, x1) 248.95/165.34 new_primModNatS01(x0, x1, Zero, Zero) 248.95/165.34 new_esEs2(x0, x1, ty_Int) 248.95/165.34 new_gcd1(True, x0, x1) 248.95/165.34 new_sr13(x0, x1) 248.95/165.34 new_sr14(Pos(x0), Neg(x1)) 248.95/165.34 new_sr14(Neg(x0), Pos(x1)) 248.95/165.34 new_primDivNatS1(Succ(Succ(x0)), Succ(x1)) 248.95/165.34 new_sr1(x0, ty_Int) 248.95/165.34 new_primModNatS1(Zero, x0) 248.95/165.34 new_esEs(Pos(Succ(x0))) 248.95/165.34 new_primMulNat3(Succ(x0)) 248.95/165.34 new_sr1(x0, app(ty_Ratio, x1)) 248.95/165.34 new_primQuotInt(x0, Neg(Succ(x1))) 248.95/165.34 new_reduce2Reduce1(x0, x1, x2, x3, False, x4) 248.95/165.34 new_primMinusNat0(Zero, Zero) 248.95/165.34 new_primDivNatS1(Zero, x0) 248.95/165.34 new_primDivNatS02(x0, x1, Succ(x2), Succ(x3)) 248.95/165.34 new_primModNatS02(x0, x1) 248.95/165.34 new_primDivNatS1(Succ(Zero), Succ(x0)) 248.95/165.34 new_sr6(Neg(x0)) 248.95/165.34 new_gcd0Gcd'10(True, x0, x1) 248.95/165.34 new_primMulNat0(Succ(x0), Succ(x1)) 248.95/165.34 new_abs(Neg(Zero)) 248.95/165.34 new_ms(x0, Neg(x1)) 248.95/165.34 new_rem(Pos(x0), Neg(Zero)) 248.95/165.34 new_rem(Neg(x0), Pos(Zero)) 248.95/165.34 new_primMinusNatS2(Zero, Succ(x0)) 248.95/165.34 new_esEs(Neg(Succ(x0))) 248.95/165.34 new_error 248.95/165.34 new_primModNatS1(Succ(Zero), Zero) 248.95/165.34 new_primMulNat0(Zero, Succ(x0)) 248.95/165.34 new_sr3(x0, ty_Float) 248.95/165.34 new_quot(x0, x1, x2) 248.95/165.34 new_gcd2(True, x0, x1) 248.95/165.34 new_gcd0Gcd'11(True, x0, x1) 248.95/165.34 new_primEqInt(Neg(Zero)) 248.95/165.34 new_sr2(x0, x1, ty_Double) 248.95/165.34 new_primMulNat0(Succ(x0), Zero) 248.95/165.34 new_quot0(Neg(x0), x1, x2) 248.95/165.34 new_primMinusNatS2(Succ(x0), Succ(x1)) 248.95/165.34 new_sr4(x0, x1, app(ty_Ratio, x2)) 248.95/165.34 new_sr8(x0, x1) 248.95/165.34 new_primDivNatS01(x0, x1) 248.95/165.34 new_primDivNatS02(x0, x1, Zero, Succ(x2)) 248.95/165.34 new_primPlusNat0(Succ(x0), Succ(x1)) 248.95/165.34 new_sr1(x0, ty_Integer) 248.95/165.34 new_primPlusNat0(Zero, Zero) 248.95/165.34 new_sr1(x0, ty_Float) 248.95/165.34 new_primMinusNat0(Succ(x0), Succ(x1)) 248.95/165.34 new_sr12(:%(x0, x1), :%(x2, x3), x4) 248.95/165.34 new_abs(Neg(Succ(x0))) 248.95/165.34 new_sr1(x0, ty_Double) 248.95/165.34 new_sr3(x0, app(ty_Ratio, x1)) 248.95/165.34 new_sr7(x0) 248.95/165.34 new_gcd0(x0, x1) 248.95/165.34 new_primQuotInt0(x0, Pos(Succ(x1))) 248.95/165.34 new_sr4(x0, x1, ty_Integer) 248.95/165.34 new_sr5(:%(x0, x1), x2) 248.95/165.34 new_primMinusNatS2(Zero, Zero) 248.95/165.34 new_primMulNat1(Succ(x0)) 248.95/165.34 new_ms(x0, Pos(Zero)) 248.95/165.34 new_abs(Pos(Succ(x0))) 248.95/165.34 new_sr4(x0, x1, ty_Int) 248.95/165.34 new_esEs(Pos(Zero)) 248.95/165.34 new_primQuotInt0(x0, Pos(Zero)) 248.95/165.34 new_primEqInt(Neg(Succ(x0))) 248.95/165.34 new_primQuotInt(x0, Neg(Zero)) 248.95/165.34 new_primQuotInt0(x0, Neg(Zero)) 248.95/165.34 new_primQuotInt0(x0, Neg(Succ(x1))) 248.95/165.34 new_gcd(x0, x1) 248.95/165.34 new_quot0(Pos(x0), x1, x2) 248.95/165.34 new_primMinusNatS0(x0) 248.95/165.34 new_primPlusNat0(Zero, Succ(x0)) 248.95/165.34 new_sr2(x0, x1, app(ty_Ratio, x2)) 248.95/165.34 new_sr2(x0, x1, ty_Int) 248.95/165.34 new_primQuotInt(x0, Pos(Succ(x1))) 248.95/165.34 new_primDivNatS1(Succ(Succ(x0)), Zero) 248.95/165.34 new_rem(Pos(x0), Pos(Zero)) 248.95/165.34 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 248.95/165.34 new_primDivNatS02(x0, x1, Zero, Zero) 248.95/165.34 new_abs(Pos(Zero)) 248.95/165.34 new_gcd0Gcd'10(False, x0, x1) 248.95/165.34 new_ms(x0, Pos(Succ(x1))) 248.95/165.34 new_primMinusNatS1 248.95/165.34 new_esEs1(Integer(x0)) 248.95/165.34 new_ms0(x0, Neg(Zero)) 248.95/165.34 new_primMinusNat0(Succ(x0), Zero) 248.95/165.34 new_ms0(x0, Neg(Succ(x1))) 248.95/165.34 new_sr2(x0, x1, ty_Integer) 248.95/165.34 new_primModNatS01(x0, x1, Zero, Succ(x2)) 248.95/165.34 new_primMulNat2(Succ(x0)) 248.95/165.34 new_sr14(Neg(x0), Neg(x1)) 248.95/165.34 new_sr2(x0, x1, ty_Float) 248.95/165.34 new_primMinusNatS2(Succ(x0), Zero) 248.95/165.34 new_sr4(x0, x1, ty_Float) 248.95/165.34 new_sr6(Pos(x0)) 248.95/165.34 new_esEs2(x0, x1, ty_Integer) 248.95/165.34 new_primMulNat4(Succ(x0)) 248.95/165.34 new_rem(Neg(x0), Neg(Succ(x1))) 248.95/165.34 new_primEqInt(Pos(Succ(x0))) 248.95/165.34 new_primQuotInt(x0, Pos(Zero)) 248.95/165.34 new_gcd0Gcd'11(False, x0, x1) 248.95/165.34 new_sr9(x0) 248.95/165.34 new_primModNatS1(Succ(Succ(x0)), Zero) 248.95/165.34 new_esEs0(x0, ty_Integer) 248.95/165.34 new_gcd0Gcd'00(x0, x1) 248.95/165.34 new_reduce2Reduce1(x0, x1, x2, x3, True, x4) 248.95/165.34 new_sr3(x0, ty_Double) 248.95/165.34 new_esEs(Neg(Zero)) 248.95/165.34 new_primMulNat1(Zero) 248.95/165.34 new_primMinusNat0(Zero, Succ(x0)) 248.95/165.34 new_rem(Neg(x0), Neg(Zero)) 248.95/165.34 248.95/165.34 We have to consider all minimal (P,Q,R)-chains. 248.95/165.34 ---------------------------------------- 248.95/165.34 248.95/165.34 (791) TransformationProof (EQUIVALENT) 248.95/165.34 By rewriting [LPAR04] the rule new_pr2F1(z1, z2, Pos(Succ(Zero)), z0, z3) -> new_pr2F30(new_esEs(new_ms0(z2, Pos(Succ(Zero)))), z1, z2, Pos(Succ(Zero)), z0, z3) at position [0,0] we obtained the following new rules [LPAR04]: 248.95/165.34 248.95/165.34 (new_pr2F1(z1, z2, Pos(Succ(Zero)), z0, z3) -> new_pr2F30(new_esEs(Neg(new_primPlusNat0(Succ(z2), Succ(Zero)))), z1, z2, Pos(Succ(Zero)), z0, z3),new_pr2F1(z1, z2, Pos(Succ(Zero)), z0, z3) -> new_pr2F30(new_esEs(Neg(new_primPlusNat0(Succ(z2), Succ(Zero)))), z1, z2, Pos(Succ(Zero)), z0, z3)) 248.95/165.34 248.95/165.34 248.95/165.34 ---------------------------------------- 248.95/165.34 248.95/165.34 (792) 248.95/165.34 Obligation: 248.95/165.34 Q DP problem: 248.95/165.34 The TRS P consists of the following rules: 248.95/165.34 248.95/165.34 new_pr2F0G11(vyv238, vyv239, vyv240, bc) -> new_pr2F1(vyv239, vyv240, Pos(Succ(Zero)), vyv238, bc) 248.95/165.34 new_pr2F30(False, vyv239, vyv240, vyv243, vyv238, bc) -> new_pr2F0(vyv239, new_ms0(vyv240, vyv243), new_sr4(vyv239, vyv238, bc), bc) 248.95/165.34 new_pr2F0(vyv183, Neg(Succ(Succ(vyv222000))), vyv187, h) -> new_pr2F0G10(vyv187, vyv183, Succ(vyv222000), vyv222000, h) 248.95/165.34 new_pr2F0G10(vyv248, vyv249, vyv250, Succ(Succ(vyv25100)), bb) -> new_pr2F0G10(vyv248, vyv249, vyv250, vyv25100, bb) 248.95/165.34 new_pr2F0G10(vyv248, vyv249, vyv250, Succ(Zero), bb) -> new_pr2F0G11(vyv248, vyv249, vyv250, bb) 248.95/165.34 new_pr2F0G10(vyv248, vyv249, vyv250, Zero, bb) -> new_pr2F0G(vyv248, new_sr3(vyv249, bb), Neg(new_primDivNatS1(Succ(vyv250), Succ(Zero))), bb) 248.95/165.34 new_pr2F0G(vyv187, vyv183, Neg(Succ(Zero)), h) -> new_pr2F0G11(vyv187, vyv183, Zero, h) 248.95/165.34 new_pr2F0G(vyv187, vyv183, Neg(Succ(Succ(vyv222000))), h) -> new_pr2F0G10(vyv187, vyv183, Succ(vyv222000), vyv222000, h) 248.95/165.34 new_pr2F0(vyv183, Neg(Succ(Zero)), vyv187, h) -> new_pr2F0G11(vyv187, vyv183, Zero, h) 248.95/165.34 new_pr2F0(vyv183, Pos(Succ(Succ(vyv222000))), vyv187, h) -> new_pr2F0G1(vyv187, vyv183, Succ(vyv222000), vyv222000, h) 248.95/165.34 new_pr2F0G1(vyv226, vyv227, vyv228, Succ(Succ(vyv22900)), ba) -> new_pr2F0G1(vyv226, vyv227, vyv228, vyv22900, ba) 248.95/165.34 new_pr2F0G1(vyv226, vyv227, vyv228, Succ(Zero), ba) -> new_pr2F(vyv227, vyv228, Pos(Succ(Zero)), vyv226, ba) 248.95/165.34 new_pr2F(vyv227, vyv228, vyv244, vyv226, ba) -> new_pr2F3(new_esEs(new_ms(vyv228, vyv244)), vyv227, vyv228, vyv244, vyv226, ba) 248.95/165.34 new_pr2F3(False, vyv227, vyv228, vyv244, vyv226, ba) -> new_pr2F0(vyv227, new_ms(vyv228, vyv244), new_sr2(vyv227, vyv226, ba), ba) 248.95/165.34 new_pr2F0(vyv183, Pos(Succ(Zero)), vyv187, h) -> new_pr2F(vyv183, Zero, Pos(Succ(Zero)), vyv187, h) 248.95/165.34 new_pr2F0G1(vyv226, vyv227, vyv228, Zero, ba) -> new_pr2F0G(vyv226, new_sr1(vyv227, ba), Pos(new_primDivNatS1(Succ(vyv228), Succ(Zero))), ba) 248.95/165.34 new_pr2F0G(vyv187, vyv183, Pos(Succ(Succ(vyv222000))), h) -> new_pr2F0G1(vyv187, vyv183, Succ(vyv222000), vyv222000, h) 248.95/165.34 new_pr2F0G(vyv187, vyv183, Pos(Succ(Zero)), h) -> new_pr2F(vyv183, Zero, Pos(Succ(Zero)), vyv187, h) 248.95/165.34 new_pr2F1(z1, z2, Pos(Succ(Zero)), z0, z3) -> new_pr2F30(new_esEs(Neg(new_primPlusNat0(Succ(z2), Succ(Zero)))), z1, z2, Pos(Succ(Zero)), z0, z3) 248.95/165.34 248.95/165.34 The TRS R consists of the following rules: 248.95/165.34 248.95/165.34 new_sr1(vyv227, ty_Int) -> new_sr6(vyv227) 248.95/165.34 new_sr1(vyv227, ty_Integer) -> new_sr7(vyv227) 248.95/165.34 new_sr1(vyv227, app(ty_Ratio, be)) -> new_sr5(vyv227, be) 248.95/165.34 new_sr1(vyv227, ty_Float) -> new_sr10(vyv227) 248.95/165.34 new_sr1(vyv227, ty_Double) -> new_sr9(vyv227) 248.95/165.34 new_primDivNatS1(Succ(Zero), Succ(vyv284000)) -> Zero 248.95/165.34 new_primDivNatS1(Succ(Succ(vyv270000)), Succ(vyv284000)) -> new_primDivNatS02(vyv270000, vyv284000, vyv270000, vyv284000) 248.95/165.34 new_primDivNatS02(vyv310, vyv311, Zero, Zero) -> new_primDivNatS01(vyv310, vyv311) 248.95/165.34 new_primDivNatS02(vyv310, vyv311, Succ(vyv3120), Zero) -> new_primDivNatS01(vyv310, vyv311) 248.95/165.34 new_primDivNatS02(vyv310, vyv311, Zero, Succ(vyv3130)) -> Zero 248.95/165.34 new_primDivNatS02(vyv310, vyv311, Succ(vyv3120), Succ(vyv3130)) -> new_primDivNatS02(vyv310, vyv311, vyv3120, vyv3130) 248.95/165.34 new_primDivNatS01(vyv310, vyv311) -> Succ(new_primDivNatS1(new_primMinusNatS2(vyv310, vyv311), Succ(vyv311))) 248.95/165.34 new_primMinusNatS2(Zero, Succ(vyv3110)) -> Zero 248.95/165.34 new_primMinusNatS2(Succ(vyv3100), Zero) -> Succ(vyv3100) 248.95/165.34 new_primMinusNatS2(Zero, Zero) -> Zero 248.95/165.34 new_primMinusNatS2(Succ(vyv3100), Succ(vyv3110)) -> new_primMinusNatS2(vyv3100, vyv3110) 248.95/165.34 new_primDivNatS1(Zero, vyv28400) -> Zero 248.95/165.34 new_sr9(vyv183) -> error([]) 248.95/165.34 new_sr10(vyv183) -> error([]) 248.95/165.34 new_sr5(:%(vyv1830, vyv1831), bd) -> new_reduce2Reduce1(vyv1830, vyv1830, vyv1831, vyv1831, new_esEs0(vyv1831, bd), bd) 248.95/165.34 new_esEs0(vyv1831, ty_Int) -> new_esEs(new_sr6(vyv1831)) 248.95/165.34 new_esEs0(vyv1831, ty_Integer) -> new_esEs1(new_sr7(vyv1831)) 248.95/165.34 new_reduce2Reduce1(vyv264, vyv265, vyv266, vyv267, False, bh) -> :%(new_quot1(vyv264, vyv265, vyv266, vyv267, bh), new_quot2(vyv266, vyv267, vyv264, vyv265, bh)) 248.95/165.34 new_reduce2Reduce1(vyv264, vyv265, vyv266, vyv267, True, bh) -> error([]) 248.95/165.34 new_quot1(vyv264, vyv265, vyv266, vyv267, ty_Int) -> new_quot0(new_sr14(vyv264, vyv265), new_sr14(vyv264, vyv265), new_sr14(vyv266, vyv267)) 248.95/165.34 new_quot1(vyv264, vyv265, vyv266, vyv267, ty_Integer) -> new_quot(new_sr8(vyv264, vyv265), new_sr8(vyv264, vyv265), new_sr8(vyv266, vyv267)) 248.95/165.34 new_quot2(vyv266, vyv267, vyv264, vyv265, ty_Int) -> new_quot0(new_sr14(vyv266, vyv267), new_sr14(vyv264, vyv265), new_sr14(vyv266, vyv267)) 248.95/165.34 new_quot2(vyv266, vyv267, vyv264, vyv265, ty_Integer) -> new_quot(new_sr8(vyv266, vyv267), new_sr8(vyv264, vyv265), new_sr8(vyv266, vyv267)) 248.95/165.34 new_sr8(vyv239, vyv238) -> error([]) 248.95/165.34 new_quot(vyv273, vyv275, vyv274) -> error([]) 248.95/165.34 new_sr14(Pos(vyv2390), Neg(vyv2380)) -> Neg(new_primMulNat0(vyv2390, vyv2380)) 248.95/165.34 new_sr14(Neg(vyv2390), Pos(vyv2380)) -> Neg(new_primMulNat0(vyv2390, vyv2380)) 248.95/165.34 new_sr14(Neg(vyv2390), Neg(vyv2380)) -> Pos(new_primMulNat0(vyv2390, vyv2380)) 248.95/165.34 new_sr14(Pos(vyv2390), Pos(vyv2380)) -> Pos(new_primMulNat0(vyv2390, vyv2380)) 248.95/165.34 new_quot0(Neg(vyv2700), vyv272, vyv271) -> new_primQuotInt0(vyv2700, new_gcd(vyv272, vyv271)) 248.95/165.34 new_quot0(Pos(vyv2700), vyv272, vyv271) -> new_primQuotInt(vyv2700, new_gcd(vyv272, vyv271)) 248.95/165.34 new_gcd(vyv272, vyv271) -> new_gcd2(new_esEs(vyv272), vyv272, vyv271) 248.95/165.34 new_primQuotInt(vyv2700, Pos(Succ(vyv28400))) -> Pos(new_primDivNatS1(vyv2700, vyv28400)) 248.95/165.34 new_primQuotInt(vyv2700, Neg(Zero)) -> new_error 248.95/165.34 new_primQuotInt(vyv2700, Pos(Zero)) -> new_error 248.95/165.34 new_primQuotInt(vyv2700, Neg(Succ(vyv28400))) -> Neg(new_primDivNatS1(vyv2700, vyv28400)) 248.95/165.34 new_primDivNatS1(Succ(Succ(vyv270000)), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS0(vyv270000), Zero)) 248.95/165.34 new_primDivNatS1(Succ(Zero), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS1, Zero)) 248.95/165.34 new_primMinusNatS1 -> Zero 248.95/165.34 new_primMinusNatS0(vyv270000) -> Succ(vyv270000) 248.95/165.34 new_error -> error([]) 248.95/165.34 new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) 248.95/165.34 new_esEs(Pos(Succ(vyv24100))) -> new_primEqInt(Pos(Succ(vyv24100))) 248.95/165.34 new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) 248.95/165.34 new_esEs(Neg(Succ(vyv24100))) -> new_primEqInt(Neg(Succ(vyv24100))) 248.95/165.34 new_gcd2(True, vyv272, vyv271) -> new_gcd1(new_esEs(vyv271), vyv272, vyv271) 248.95/165.34 new_gcd2(False, vyv272, vyv271) -> new_gcd0(vyv272, vyv271) 248.95/165.34 new_gcd0(vyv272, vyv271) -> new_gcd0Gcd'10(new_esEs(new_abs(vyv271)), vyv272, vyv271) 248.95/165.34 new_abs(Neg(Zero)) -> Neg(Zero) 248.95/165.34 new_abs(Neg(Succ(vyv27100))) -> Pos(Succ(vyv27100)) 248.95/165.34 new_abs(Pos(Succ(vyv27100))) -> Pos(Succ(vyv27100)) 248.95/165.34 new_abs(Pos(Zero)) -> Pos(Zero) 248.95/165.34 new_gcd0Gcd'10(True, vyv272, vyv271) -> new_abs(vyv272) 248.95/165.34 new_gcd0Gcd'10(False, vyv272, vyv271) -> new_gcd0Gcd'00(new_abs(vyv272), new_abs(vyv271)) 248.95/165.34 new_gcd0Gcd'00(vyv292, vyv291) -> new_gcd0Gcd'11(new_esEs(new_rem(vyv292, vyv291)), vyv291, vyv292) 248.95/165.34 new_gcd0Gcd'11(False, vyv291, vyv292) -> new_gcd0Gcd'00(vyv291, new_rem(vyv292, vyv291)) 248.95/165.34 new_rem(Pos(vyv2920), Neg(Zero)) -> new_error 248.95/165.34 new_rem(Neg(vyv2920), Pos(Zero)) -> new_error 248.95/165.34 new_rem(Pos(vyv2920), Neg(Succ(vyv29100))) -> Pos(new_primModNatS1(vyv2920, vyv29100)) 248.95/165.34 new_rem(Neg(vyv2920), Pos(Succ(vyv29100))) -> Neg(new_primModNatS1(vyv2920, vyv29100)) 248.95/165.34 new_rem(Pos(vyv2920), Pos(Succ(vyv29100))) -> Pos(new_primModNatS1(vyv2920, vyv29100)) 248.95/165.34 new_rem(Neg(vyv2920), Neg(Zero)) -> new_error 248.95/165.34 new_rem(Neg(vyv2920), Neg(Succ(vyv29100))) -> Neg(new_primModNatS1(vyv2920, vyv29100)) 248.95/165.34 new_rem(Pos(vyv2920), Pos(Zero)) -> new_error 248.95/165.34 new_gcd0Gcd'11(True, vyv291, vyv292) -> vyv291 248.95/165.34 new_primModNatS1(Succ(Zero), Succ(vyv291000)) -> Succ(Zero) 248.95/165.34 new_primModNatS1(Zero, vyv29100) -> Zero 248.95/165.34 new_primModNatS1(Succ(Succ(vyv292000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv292000), Zero) 248.95/165.34 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 248.95/165.34 new_primModNatS1(Succ(Succ(vyv292000)), Succ(vyv291000)) -> new_primModNatS01(vyv292000, vyv291000, vyv292000, vyv291000) 248.95/165.34 new_primModNatS01(vyv330, vyv331, Zero, Zero) -> new_primModNatS02(vyv330, vyv331) 248.95/165.34 new_primModNatS02(vyv330, vyv331) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv330), Succ(vyv331)), Succ(vyv331)) 248.95/165.34 new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Zero) -> new_primModNatS02(vyv330, vyv331) 248.95/165.34 new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Succ(vyv3330)) -> new_primModNatS01(vyv330, vyv331, vyv3320, vyv3330) 248.95/165.34 new_primModNatS01(vyv330, vyv331, Zero, Succ(vyv3330)) -> Succ(Succ(vyv330)) 248.95/165.34 new_gcd1(True, vyv272, vyv271) -> new_error 248.95/165.34 new_gcd1(False, vyv272, vyv271) -> new_gcd0(vyv272, vyv271) 248.95/165.34 new_primEqInt(Neg(Succ(vyv242000))) -> False 248.95/165.34 new_primEqInt(Pos(Zero)) -> True 248.95/165.34 new_primEqInt(Pos(Succ(vyv242000))) -> False 248.95/165.34 new_primEqInt(Neg(Zero)) -> True 248.95/165.34 new_primQuotInt0(vyv2700, Pos(Succ(vyv28700))) -> Neg(new_primDivNatS1(vyv2700, vyv28700)) 248.95/165.34 new_primQuotInt0(vyv2700, Neg(Zero)) -> new_error 248.95/165.34 new_primQuotInt0(vyv2700, Neg(Succ(vyv28700))) -> Pos(new_primDivNatS1(vyv2700, vyv28700)) 248.95/165.34 new_primQuotInt0(vyv2700, Pos(Zero)) -> new_error 248.95/165.34 new_primMulNat0(Succ(vyv23900), Zero) -> Zero 248.95/165.34 new_primMulNat0(Zero, Succ(vyv23800)) -> Zero 248.95/165.34 new_primMulNat0(Zero, Zero) -> Zero 248.95/165.34 new_primMulNat0(Succ(vyv23900), Succ(vyv23800)) -> new_primPlusNat0(new_primMulNat0(vyv23900, Succ(vyv23800)), Succ(vyv23800)) 248.95/165.34 new_primPlusNat0(Succ(vyv4000), Succ(vyv5000)) -> Succ(Succ(new_primPlusNat0(vyv4000, vyv5000))) 248.95/165.34 new_primPlusNat0(Zero, Succ(vyv5000)) -> Succ(vyv5000) 248.95/165.34 new_primPlusNat0(Zero, Zero) -> Zero 248.95/165.34 new_primPlusNat0(Succ(vyv4000), Zero) -> Succ(vyv4000) 248.95/165.34 new_sr7(vyv183) -> error([]) 248.95/165.34 new_esEs1(Integer(vyv2690)) -> new_primEqInt(vyv2690) 248.95/165.34 new_sr6(Neg(vyv1830)) -> Pos(new_primMulNat1(vyv1830)) 248.95/165.34 new_sr6(Pos(vyv1830)) -> Pos(new_primMulNat1(vyv1830)) 248.95/165.34 new_primMulNat1(Succ(vyv18300)) -> new_primPlusNat0(new_primMulNat2(vyv18300), Succ(vyv18300)) 248.95/165.34 new_primMulNat1(Zero) -> Zero 248.95/165.34 new_primMulNat2(Succ(vyv183000)) -> new_primPlusNat0(new_primMulNat3(vyv183000), Succ(Succ(vyv183000))) 248.95/165.34 new_primMulNat2(Zero) -> Zero 248.95/165.34 new_primMulNat3(Succ(vyv1830000)) -> new_primPlusNat0(new_primMulNat4(vyv1830000), Succ(Succ(Succ(vyv1830000)))) 248.95/165.34 new_primMulNat3(Zero) -> Zero 248.95/165.34 new_primMulNat4(Succ(vyv18300000)) -> new_primPlusNat0(new_primMulNat0(vyv18300000, Succ(Succ(Succ(Succ(vyv18300000))))), Succ(Succ(Succ(Succ(vyv18300000))))) 248.95/165.34 new_primMulNat4(Zero) -> Zero 248.95/165.34 new_ms(vyv228, Neg(vyv2440)) -> Pos(new_primPlusNat0(Succ(vyv228), vyv2440)) 248.95/165.34 new_ms(vyv228, Pos(Succ(vyv24400))) -> new_primMinusNat0(vyv228, vyv24400) 248.95/165.34 new_ms(vyv228, Pos(Zero)) -> Pos(Succ(vyv228)) 248.95/165.34 new_sr2(vyv227, vyv226, ty_Int) -> new_sr14(vyv227, vyv226) 248.95/165.34 new_sr2(vyv227, vyv226, ty_Double) -> new_sr11(vyv227, vyv226) 248.95/165.34 new_sr2(vyv227, vyv226, ty_Integer) -> new_sr8(vyv227, vyv226) 248.95/165.34 new_sr2(vyv227, vyv226, ty_Float) -> new_sr13(vyv227, vyv226) 248.95/165.34 new_sr2(vyv227, vyv226, app(ty_Ratio, be)) -> new_sr12(vyv227, vyv226, be) 248.95/165.34 new_sr12(:%(vyv2390, vyv2391), :%(vyv2380, vyv2381), bf) -> new_reduce2Reduce1(vyv2390, vyv2380, vyv2391, vyv2381, new_esEs2(vyv2391, vyv2381, bf), bf) 248.95/165.34 new_esEs2(vyv2391, vyv2381, ty_Int) -> new_esEs(new_sr14(vyv2391, vyv2381)) 248.95/165.34 new_esEs2(vyv2391, vyv2381, ty_Integer) -> new_esEs1(new_sr8(vyv2391, vyv2381)) 248.95/165.34 new_sr13(vyv239, vyv238) -> error([]) 248.95/165.34 new_sr11(vyv239, vyv238) -> error([]) 248.95/165.34 new_primMinusNat0(Succ(vyv2280), Succ(vyv244000)) -> new_primMinusNat0(vyv2280, vyv244000) 248.95/165.34 new_primMinusNat0(Zero, Zero) -> Pos(Zero) 248.95/165.34 new_primMinusNat0(Zero, Succ(vyv244000)) -> Neg(Succ(vyv244000)) 248.95/165.34 new_primMinusNat0(Succ(vyv2280), Zero) -> Pos(Succ(vyv2280)) 248.95/165.34 new_sr3(vyv249, ty_Float) -> new_sr10(vyv249) 248.95/165.34 new_sr3(vyv249, ty_Double) -> new_sr9(vyv249) 248.95/165.34 new_sr3(vyv249, ty_Int) -> new_sr6(vyv249) 248.95/165.34 new_sr3(vyv249, ty_Integer) -> new_sr7(vyv249) 248.95/165.34 new_sr3(vyv249, app(ty_Ratio, bg)) -> new_sr5(vyv249, bg) 248.95/165.34 new_ms0(vyv240, Neg(Zero)) -> Neg(Succ(vyv240)) 248.95/165.34 new_ms0(vyv240, Pos(vyv2430)) -> Neg(new_primPlusNat0(Succ(vyv240), vyv2430)) 248.95/165.34 new_ms0(vyv240, Neg(Succ(vyv24300))) -> new_primMinusNat0(vyv24300, vyv240) 248.95/165.34 new_sr4(vyv239, vyv238, app(ty_Ratio, bf)) -> new_sr12(vyv239, vyv238, bf) 248.95/165.34 new_sr4(vyv239, vyv238, ty_Integer) -> new_sr8(vyv239, vyv238) 248.95/165.34 new_sr4(vyv239, vyv238, ty_Int) -> new_sr14(vyv239, vyv238) 248.95/165.34 new_sr4(vyv239, vyv238, ty_Double) -> new_sr11(vyv239, vyv238) 248.95/165.34 new_sr4(vyv239, vyv238, ty_Float) -> new_sr13(vyv239, vyv238) 248.95/165.34 248.95/165.34 The set Q consists of the following terms: 248.95/165.34 248.95/165.34 new_rem(Pos(x0), Pos(Succ(x1))) 248.95/165.34 new_quot1(x0, x1, x2, x3, ty_Integer) 248.95/165.34 new_primModNatS1(Succ(Zero), Succ(x0)) 248.95/165.34 new_ms0(x0, Pos(x1)) 248.95/165.34 new_primMulNat4(Zero) 248.95/165.34 new_gcd1(False, x0, x1) 248.95/165.34 new_primEqInt(Pos(Zero)) 248.95/165.34 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 248.95/165.34 new_rem(Pos(x0), Neg(Succ(x1))) 248.95/165.34 new_rem(Neg(x0), Pos(Succ(x1))) 248.95/165.34 new_sr10(x0) 248.95/165.34 new_quot1(x0, x1, x2, x3, ty_Int) 248.95/165.34 new_quot2(x0, x1, x2, x3, ty_Integer) 248.95/165.34 new_primModNatS01(x0, x1, Succ(x2), Zero) 248.95/165.34 new_sr3(x0, ty_Integer) 248.95/165.34 new_primMulNat3(Zero) 248.95/165.34 new_primDivNatS02(x0, x1, Succ(x2), Zero) 248.95/165.34 new_quot2(x0, x1, x2, x3, ty_Int) 248.95/165.34 new_gcd2(False, x0, x1) 248.95/165.34 new_primDivNatS1(Succ(Zero), Zero) 248.95/165.34 new_esEs0(x0, ty_Int) 248.95/165.34 new_sr14(Pos(x0), Pos(x1)) 248.95/165.34 new_sr3(x0, ty_Int) 248.95/165.34 new_primMulNat0(Zero, Zero) 248.95/165.34 new_sr4(x0, x1, ty_Double) 248.95/165.34 new_primPlusNat0(Succ(x0), Zero) 248.95/165.34 new_primMulNat2(Zero) 248.95/165.34 new_sr11(x0, x1) 248.95/165.34 new_primModNatS01(x0, x1, Zero, Zero) 248.95/165.34 new_esEs2(x0, x1, ty_Int) 248.95/165.34 new_gcd1(True, x0, x1) 248.95/165.34 new_sr13(x0, x1) 248.95/165.34 new_sr14(Pos(x0), Neg(x1)) 248.95/165.34 new_sr14(Neg(x0), Pos(x1)) 248.95/165.34 new_primDivNatS1(Succ(Succ(x0)), Succ(x1)) 248.95/165.34 new_sr1(x0, ty_Int) 248.95/165.34 new_primModNatS1(Zero, x0) 248.95/165.34 new_esEs(Pos(Succ(x0))) 248.95/165.34 new_primMulNat3(Succ(x0)) 248.95/165.34 new_sr1(x0, app(ty_Ratio, x1)) 248.95/165.34 new_primQuotInt(x0, Neg(Succ(x1))) 248.95/165.34 new_reduce2Reduce1(x0, x1, x2, x3, False, x4) 248.95/165.34 new_primMinusNat0(Zero, Zero) 248.95/165.34 new_primDivNatS1(Zero, x0) 248.95/165.34 new_primDivNatS02(x0, x1, Succ(x2), Succ(x3)) 248.95/165.34 new_primModNatS02(x0, x1) 248.95/165.34 new_primDivNatS1(Succ(Zero), Succ(x0)) 248.95/165.34 new_sr6(Neg(x0)) 248.95/165.34 new_gcd0Gcd'10(True, x0, x1) 248.95/165.34 new_primMulNat0(Succ(x0), Succ(x1)) 248.95/165.34 new_abs(Neg(Zero)) 248.95/165.34 new_ms(x0, Neg(x1)) 248.95/165.34 new_rem(Pos(x0), Neg(Zero)) 248.95/165.34 new_rem(Neg(x0), Pos(Zero)) 248.95/165.34 new_primMinusNatS2(Zero, Succ(x0)) 248.95/165.34 new_esEs(Neg(Succ(x0))) 248.95/165.34 new_error 248.95/165.34 new_primModNatS1(Succ(Zero), Zero) 248.95/165.34 new_primMulNat0(Zero, Succ(x0)) 248.95/165.34 new_sr3(x0, ty_Float) 248.95/165.34 new_quot(x0, x1, x2) 248.95/165.34 new_gcd2(True, x0, x1) 248.95/165.34 new_gcd0Gcd'11(True, x0, x1) 248.95/165.34 new_primEqInt(Neg(Zero)) 248.95/165.34 new_sr2(x0, x1, ty_Double) 248.95/165.34 new_primMulNat0(Succ(x0), Zero) 248.95/165.34 new_quot0(Neg(x0), x1, x2) 248.95/165.34 new_primMinusNatS2(Succ(x0), Succ(x1)) 248.95/165.34 new_sr4(x0, x1, app(ty_Ratio, x2)) 248.95/165.34 new_sr8(x0, x1) 248.95/165.34 new_primDivNatS01(x0, x1) 248.95/165.34 new_primDivNatS02(x0, x1, Zero, Succ(x2)) 248.95/165.34 new_primPlusNat0(Succ(x0), Succ(x1)) 248.95/165.34 new_sr1(x0, ty_Integer) 248.95/165.34 new_primPlusNat0(Zero, Zero) 248.95/165.34 new_sr1(x0, ty_Float) 248.95/165.34 new_primMinusNat0(Succ(x0), Succ(x1)) 248.95/165.34 new_sr12(:%(x0, x1), :%(x2, x3), x4) 248.95/165.34 new_abs(Neg(Succ(x0))) 248.95/165.34 new_sr1(x0, ty_Double) 248.95/165.34 new_sr3(x0, app(ty_Ratio, x1)) 248.95/165.34 new_sr7(x0) 248.95/165.34 new_gcd0(x0, x1) 248.95/165.34 new_primQuotInt0(x0, Pos(Succ(x1))) 248.95/165.34 new_sr4(x0, x1, ty_Integer) 248.95/165.34 new_sr5(:%(x0, x1), x2) 248.95/165.34 new_primMinusNatS2(Zero, Zero) 248.95/165.34 new_primMulNat1(Succ(x0)) 248.95/165.34 new_ms(x0, Pos(Zero)) 248.95/165.34 new_abs(Pos(Succ(x0))) 248.95/165.34 new_sr4(x0, x1, ty_Int) 248.95/165.34 new_esEs(Pos(Zero)) 248.95/165.34 new_primQuotInt0(x0, Pos(Zero)) 248.95/165.34 new_primEqInt(Neg(Succ(x0))) 248.95/165.34 new_primQuotInt(x0, Neg(Zero)) 248.95/165.34 new_primQuotInt0(x0, Neg(Zero)) 248.95/165.34 new_primQuotInt0(x0, Neg(Succ(x1))) 248.95/165.34 new_gcd(x0, x1) 248.95/165.34 new_quot0(Pos(x0), x1, x2) 248.95/165.34 new_primMinusNatS0(x0) 248.95/165.34 new_primPlusNat0(Zero, Succ(x0)) 248.95/165.34 new_sr2(x0, x1, app(ty_Ratio, x2)) 248.95/165.34 new_sr2(x0, x1, ty_Int) 248.95/165.34 new_primQuotInt(x0, Pos(Succ(x1))) 248.95/165.34 new_primDivNatS1(Succ(Succ(x0)), Zero) 248.95/165.34 new_rem(Pos(x0), Pos(Zero)) 248.95/165.34 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 248.95/165.34 new_primDivNatS02(x0, x1, Zero, Zero) 248.95/165.34 new_abs(Pos(Zero)) 248.95/165.34 new_gcd0Gcd'10(False, x0, x1) 248.95/165.34 new_ms(x0, Pos(Succ(x1))) 248.95/165.34 new_primMinusNatS1 248.95/165.34 new_esEs1(Integer(x0)) 248.95/165.34 new_ms0(x0, Neg(Zero)) 248.95/165.34 new_primMinusNat0(Succ(x0), Zero) 248.95/165.34 new_ms0(x0, Neg(Succ(x1))) 248.95/165.34 new_sr2(x0, x1, ty_Integer) 248.95/165.34 new_primModNatS01(x0, x1, Zero, Succ(x2)) 248.95/165.34 new_primMulNat2(Succ(x0)) 248.95/165.34 new_sr14(Neg(x0), Neg(x1)) 248.95/165.34 new_sr2(x0, x1, ty_Float) 248.95/165.34 new_primMinusNatS2(Succ(x0), Zero) 248.95/165.34 new_sr4(x0, x1, ty_Float) 248.95/165.34 new_sr6(Pos(x0)) 248.95/165.34 new_esEs2(x0, x1, ty_Integer) 248.95/165.34 new_primMulNat4(Succ(x0)) 248.95/165.34 new_rem(Neg(x0), Neg(Succ(x1))) 248.95/165.34 new_primEqInt(Pos(Succ(x0))) 248.95/165.34 new_primQuotInt(x0, Pos(Zero)) 248.95/165.34 new_gcd0Gcd'11(False, x0, x1) 248.95/165.34 new_sr9(x0) 248.95/165.34 new_primModNatS1(Succ(Succ(x0)), Zero) 248.95/165.34 new_esEs0(x0, ty_Integer) 248.95/165.34 new_gcd0Gcd'00(x0, x1) 248.95/165.34 new_reduce2Reduce1(x0, x1, x2, x3, True, x4) 248.95/165.34 new_sr3(x0, ty_Double) 248.95/165.34 new_esEs(Neg(Zero)) 248.95/165.34 new_primMulNat1(Zero) 248.95/165.34 new_primMinusNat0(Zero, Succ(x0)) 248.95/165.34 new_rem(Neg(x0), Neg(Zero)) 248.95/165.34 248.95/165.34 We have to consider all minimal (P,Q,R)-chains. 248.95/165.34 ---------------------------------------- 248.95/165.34 248.95/165.34 (793) TransformationProof (EQUIVALENT) 248.95/165.34 By rewriting [LPAR04] the rule new_pr2F1(z1, z2, Pos(Succ(Zero)), z0, z3) -> new_pr2F30(new_esEs(Neg(new_primPlusNat0(Succ(z2), Succ(Zero)))), z1, z2, Pos(Succ(Zero)), z0, z3) at position [0,0,0] we obtained the following new rules [LPAR04]: 248.95/165.34 248.95/165.34 (new_pr2F1(z1, z2, Pos(Succ(Zero)), z0, z3) -> new_pr2F30(new_esEs(Neg(Succ(Succ(new_primPlusNat0(z2, Zero))))), z1, z2, Pos(Succ(Zero)), z0, z3),new_pr2F1(z1, z2, Pos(Succ(Zero)), z0, z3) -> new_pr2F30(new_esEs(Neg(Succ(Succ(new_primPlusNat0(z2, Zero))))), z1, z2, Pos(Succ(Zero)), z0, z3)) 248.95/165.34 248.95/165.34 248.95/165.34 ---------------------------------------- 248.95/165.34 248.95/165.34 (794) 248.95/165.34 Obligation: 248.95/165.34 Q DP problem: 248.95/165.34 The TRS P consists of the following rules: 248.95/165.34 248.95/165.34 new_pr2F0G11(vyv238, vyv239, vyv240, bc) -> new_pr2F1(vyv239, vyv240, Pos(Succ(Zero)), vyv238, bc) 248.95/165.34 new_pr2F30(False, vyv239, vyv240, vyv243, vyv238, bc) -> new_pr2F0(vyv239, new_ms0(vyv240, vyv243), new_sr4(vyv239, vyv238, bc), bc) 248.95/165.34 new_pr2F0(vyv183, Neg(Succ(Succ(vyv222000))), vyv187, h) -> new_pr2F0G10(vyv187, vyv183, Succ(vyv222000), vyv222000, h) 248.95/165.34 new_pr2F0G10(vyv248, vyv249, vyv250, Succ(Succ(vyv25100)), bb) -> new_pr2F0G10(vyv248, vyv249, vyv250, vyv25100, bb) 248.95/165.34 new_pr2F0G10(vyv248, vyv249, vyv250, Succ(Zero), bb) -> new_pr2F0G11(vyv248, vyv249, vyv250, bb) 248.95/165.34 new_pr2F0G10(vyv248, vyv249, vyv250, Zero, bb) -> new_pr2F0G(vyv248, new_sr3(vyv249, bb), Neg(new_primDivNatS1(Succ(vyv250), Succ(Zero))), bb) 248.95/165.34 new_pr2F0G(vyv187, vyv183, Neg(Succ(Zero)), h) -> new_pr2F0G11(vyv187, vyv183, Zero, h) 248.95/165.34 new_pr2F0G(vyv187, vyv183, Neg(Succ(Succ(vyv222000))), h) -> new_pr2F0G10(vyv187, vyv183, Succ(vyv222000), vyv222000, h) 248.95/165.34 new_pr2F0(vyv183, Neg(Succ(Zero)), vyv187, h) -> new_pr2F0G11(vyv187, vyv183, Zero, h) 248.95/165.34 new_pr2F0(vyv183, Pos(Succ(Succ(vyv222000))), vyv187, h) -> new_pr2F0G1(vyv187, vyv183, Succ(vyv222000), vyv222000, h) 248.95/165.34 new_pr2F0G1(vyv226, vyv227, vyv228, Succ(Succ(vyv22900)), ba) -> new_pr2F0G1(vyv226, vyv227, vyv228, vyv22900, ba) 248.95/165.34 new_pr2F0G1(vyv226, vyv227, vyv228, Succ(Zero), ba) -> new_pr2F(vyv227, vyv228, Pos(Succ(Zero)), vyv226, ba) 248.95/165.34 new_pr2F(vyv227, vyv228, vyv244, vyv226, ba) -> new_pr2F3(new_esEs(new_ms(vyv228, vyv244)), vyv227, vyv228, vyv244, vyv226, ba) 248.95/165.34 new_pr2F3(False, vyv227, vyv228, vyv244, vyv226, ba) -> new_pr2F0(vyv227, new_ms(vyv228, vyv244), new_sr2(vyv227, vyv226, ba), ba) 248.95/165.34 new_pr2F0(vyv183, Pos(Succ(Zero)), vyv187, h) -> new_pr2F(vyv183, Zero, Pos(Succ(Zero)), vyv187, h) 248.95/165.34 new_pr2F0G1(vyv226, vyv227, vyv228, Zero, ba) -> new_pr2F0G(vyv226, new_sr1(vyv227, ba), Pos(new_primDivNatS1(Succ(vyv228), Succ(Zero))), ba) 248.95/165.34 new_pr2F0G(vyv187, vyv183, Pos(Succ(Succ(vyv222000))), h) -> new_pr2F0G1(vyv187, vyv183, Succ(vyv222000), vyv222000, h) 248.95/165.34 new_pr2F0G(vyv187, vyv183, Pos(Succ(Zero)), h) -> new_pr2F(vyv183, Zero, Pos(Succ(Zero)), vyv187, h) 248.95/165.34 new_pr2F1(z1, z2, Pos(Succ(Zero)), z0, z3) -> new_pr2F30(new_esEs(Neg(Succ(Succ(new_primPlusNat0(z2, Zero))))), z1, z2, Pos(Succ(Zero)), z0, z3) 248.95/165.34 248.95/165.34 The TRS R consists of the following rules: 248.95/165.34 248.95/165.34 new_sr1(vyv227, ty_Int) -> new_sr6(vyv227) 248.95/165.34 new_sr1(vyv227, ty_Integer) -> new_sr7(vyv227) 248.95/165.34 new_sr1(vyv227, app(ty_Ratio, be)) -> new_sr5(vyv227, be) 248.95/165.34 new_sr1(vyv227, ty_Float) -> new_sr10(vyv227) 248.95/165.34 new_sr1(vyv227, ty_Double) -> new_sr9(vyv227) 248.95/165.34 new_primDivNatS1(Succ(Zero), Succ(vyv284000)) -> Zero 248.95/165.34 new_primDivNatS1(Succ(Succ(vyv270000)), Succ(vyv284000)) -> new_primDivNatS02(vyv270000, vyv284000, vyv270000, vyv284000) 248.95/165.34 new_primDivNatS02(vyv310, vyv311, Zero, Zero) -> new_primDivNatS01(vyv310, vyv311) 248.95/165.34 new_primDivNatS02(vyv310, vyv311, Succ(vyv3120), Zero) -> new_primDivNatS01(vyv310, vyv311) 248.95/165.34 new_primDivNatS02(vyv310, vyv311, Zero, Succ(vyv3130)) -> Zero 248.95/165.34 new_primDivNatS02(vyv310, vyv311, Succ(vyv3120), Succ(vyv3130)) -> new_primDivNatS02(vyv310, vyv311, vyv3120, vyv3130) 248.95/165.34 new_primDivNatS01(vyv310, vyv311) -> Succ(new_primDivNatS1(new_primMinusNatS2(vyv310, vyv311), Succ(vyv311))) 248.95/165.34 new_primMinusNatS2(Zero, Succ(vyv3110)) -> Zero 248.95/165.34 new_primMinusNatS2(Succ(vyv3100), Zero) -> Succ(vyv3100) 248.95/165.34 new_primMinusNatS2(Zero, Zero) -> Zero 248.95/165.34 new_primMinusNatS2(Succ(vyv3100), Succ(vyv3110)) -> new_primMinusNatS2(vyv3100, vyv3110) 248.95/165.34 new_primDivNatS1(Zero, vyv28400) -> Zero 248.95/165.34 new_sr9(vyv183) -> error([]) 248.95/165.34 new_sr10(vyv183) -> error([]) 248.95/165.34 new_sr5(:%(vyv1830, vyv1831), bd) -> new_reduce2Reduce1(vyv1830, vyv1830, vyv1831, vyv1831, new_esEs0(vyv1831, bd), bd) 248.95/165.34 new_esEs0(vyv1831, ty_Int) -> new_esEs(new_sr6(vyv1831)) 248.95/165.34 new_esEs0(vyv1831, ty_Integer) -> new_esEs1(new_sr7(vyv1831)) 248.95/165.34 new_reduce2Reduce1(vyv264, vyv265, vyv266, vyv267, False, bh) -> :%(new_quot1(vyv264, vyv265, vyv266, vyv267, bh), new_quot2(vyv266, vyv267, vyv264, vyv265, bh)) 248.95/165.34 new_reduce2Reduce1(vyv264, vyv265, vyv266, vyv267, True, bh) -> error([]) 248.95/165.34 new_quot1(vyv264, vyv265, vyv266, vyv267, ty_Int) -> new_quot0(new_sr14(vyv264, vyv265), new_sr14(vyv264, vyv265), new_sr14(vyv266, vyv267)) 248.95/165.34 new_quot1(vyv264, vyv265, vyv266, vyv267, ty_Integer) -> new_quot(new_sr8(vyv264, vyv265), new_sr8(vyv264, vyv265), new_sr8(vyv266, vyv267)) 248.95/165.34 new_quot2(vyv266, vyv267, vyv264, vyv265, ty_Int) -> new_quot0(new_sr14(vyv266, vyv267), new_sr14(vyv264, vyv265), new_sr14(vyv266, vyv267)) 248.95/165.34 new_quot2(vyv266, vyv267, vyv264, vyv265, ty_Integer) -> new_quot(new_sr8(vyv266, vyv267), new_sr8(vyv264, vyv265), new_sr8(vyv266, vyv267)) 248.95/165.34 new_sr8(vyv239, vyv238) -> error([]) 248.95/165.34 new_quot(vyv273, vyv275, vyv274) -> error([]) 248.95/165.34 new_sr14(Pos(vyv2390), Neg(vyv2380)) -> Neg(new_primMulNat0(vyv2390, vyv2380)) 248.95/165.34 new_sr14(Neg(vyv2390), Pos(vyv2380)) -> Neg(new_primMulNat0(vyv2390, vyv2380)) 248.95/165.34 new_sr14(Neg(vyv2390), Neg(vyv2380)) -> Pos(new_primMulNat0(vyv2390, vyv2380)) 248.95/165.34 new_sr14(Pos(vyv2390), Pos(vyv2380)) -> Pos(new_primMulNat0(vyv2390, vyv2380)) 248.95/165.34 new_quot0(Neg(vyv2700), vyv272, vyv271) -> new_primQuotInt0(vyv2700, new_gcd(vyv272, vyv271)) 248.95/165.34 new_quot0(Pos(vyv2700), vyv272, vyv271) -> new_primQuotInt(vyv2700, new_gcd(vyv272, vyv271)) 248.95/165.34 new_gcd(vyv272, vyv271) -> new_gcd2(new_esEs(vyv272), vyv272, vyv271) 248.95/165.34 new_primQuotInt(vyv2700, Pos(Succ(vyv28400))) -> Pos(new_primDivNatS1(vyv2700, vyv28400)) 248.95/165.34 new_primQuotInt(vyv2700, Neg(Zero)) -> new_error 248.95/165.34 new_primQuotInt(vyv2700, Pos(Zero)) -> new_error 248.95/165.34 new_primQuotInt(vyv2700, Neg(Succ(vyv28400))) -> Neg(new_primDivNatS1(vyv2700, vyv28400)) 248.95/165.34 new_primDivNatS1(Succ(Succ(vyv270000)), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS0(vyv270000), Zero)) 248.95/165.34 new_primDivNatS1(Succ(Zero), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS1, Zero)) 248.95/165.34 new_primMinusNatS1 -> Zero 248.95/165.34 new_primMinusNatS0(vyv270000) -> Succ(vyv270000) 248.95/165.34 new_error -> error([]) 248.95/165.34 new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) 248.95/165.34 new_esEs(Pos(Succ(vyv24100))) -> new_primEqInt(Pos(Succ(vyv24100))) 248.95/165.34 new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) 248.95/165.34 new_esEs(Neg(Succ(vyv24100))) -> new_primEqInt(Neg(Succ(vyv24100))) 248.95/165.34 new_gcd2(True, vyv272, vyv271) -> new_gcd1(new_esEs(vyv271), vyv272, vyv271) 248.95/165.34 new_gcd2(False, vyv272, vyv271) -> new_gcd0(vyv272, vyv271) 248.95/165.34 new_gcd0(vyv272, vyv271) -> new_gcd0Gcd'10(new_esEs(new_abs(vyv271)), vyv272, vyv271) 248.95/165.34 new_abs(Neg(Zero)) -> Neg(Zero) 248.95/165.34 new_abs(Neg(Succ(vyv27100))) -> Pos(Succ(vyv27100)) 248.95/165.34 new_abs(Pos(Succ(vyv27100))) -> Pos(Succ(vyv27100)) 248.95/165.34 new_abs(Pos(Zero)) -> Pos(Zero) 248.95/165.34 new_gcd0Gcd'10(True, vyv272, vyv271) -> new_abs(vyv272) 248.95/165.34 new_gcd0Gcd'10(False, vyv272, vyv271) -> new_gcd0Gcd'00(new_abs(vyv272), new_abs(vyv271)) 248.95/165.34 new_gcd0Gcd'00(vyv292, vyv291) -> new_gcd0Gcd'11(new_esEs(new_rem(vyv292, vyv291)), vyv291, vyv292) 248.95/165.34 new_gcd0Gcd'11(False, vyv291, vyv292) -> new_gcd0Gcd'00(vyv291, new_rem(vyv292, vyv291)) 248.95/165.34 new_rem(Pos(vyv2920), Neg(Zero)) -> new_error 248.95/165.34 new_rem(Neg(vyv2920), Pos(Zero)) -> new_error 248.95/165.34 new_rem(Pos(vyv2920), Neg(Succ(vyv29100))) -> Pos(new_primModNatS1(vyv2920, vyv29100)) 248.95/165.34 new_rem(Neg(vyv2920), Pos(Succ(vyv29100))) -> Neg(new_primModNatS1(vyv2920, vyv29100)) 248.95/165.34 new_rem(Pos(vyv2920), Pos(Succ(vyv29100))) -> Pos(new_primModNatS1(vyv2920, vyv29100)) 248.95/165.34 new_rem(Neg(vyv2920), Neg(Zero)) -> new_error 248.95/165.34 new_rem(Neg(vyv2920), Neg(Succ(vyv29100))) -> Neg(new_primModNatS1(vyv2920, vyv29100)) 248.95/165.34 new_rem(Pos(vyv2920), Pos(Zero)) -> new_error 248.95/165.34 new_gcd0Gcd'11(True, vyv291, vyv292) -> vyv291 248.95/165.34 new_primModNatS1(Succ(Zero), Succ(vyv291000)) -> Succ(Zero) 248.95/165.34 new_primModNatS1(Zero, vyv29100) -> Zero 248.95/165.34 new_primModNatS1(Succ(Succ(vyv292000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv292000), Zero) 248.95/165.34 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 248.95/165.34 new_primModNatS1(Succ(Succ(vyv292000)), Succ(vyv291000)) -> new_primModNatS01(vyv292000, vyv291000, vyv292000, vyv291000) 248.95/165.34 new_primModNatS01(vyv330, vyv331, Zero, Zero) -> new_primModNatS02(vyv330, vyv331) 248.95/165.34 new_primModNatS02(vyv330, vyv331) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv330), Succ(vyv331)), Succ(vyv331)) 248.95/165.34 new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Zero) -> new_primModNatS02(vyv330, vyv331) 248.95/165.34 new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Succ(vyv3330)) -> new_primModNatS01(vyv330, vyv331, vyv3320, vyv3330) 248.95/165.34 new_primModNatS01(vyv330, vyv331, Zero, Succ(vyv3330)) -> Succ(Succ(vyv330)) 248.95/165.34 new_gcd1(True, vyv272, vyv271) -> new_error 248.95/165.34 new_gcd1(False, vyv272, vyv271) -> new_gcd0(vyv272, vyv271) 248.95/165.34 new_primEqInt(Neg(Succ(vyv242000))) -> False 248.95/165.34 new_primEqInt(Pos(Zero)) -> True 248.95/165.34 new_primEqInt(Pos(Succ(vyv242000))) -> False 248.95/165.34 new_primEqInt(Neg(Zero)) -> True 248.95/165.34 new_primQuotInt0(vyv2700, Pos(Succ(vyv28700))) -> Neg(new_primDivNatS1(vyv2700, vyv28700)) 248.95/165.34 new_primQuotInt0(vyv2700, Neg(Zero)) -> new_error 248.95/165.34 new_primQuotInt0(vyv2700, Neg(Succ(vyv28700))) -> Pos(new_primDivNatS1(vyv2700, vyv28700)) 248.95/165.34 new_primQuotInt0(vyv2700, Pos(Zero)) -> new_error 248.95/165.34 new_primMulNat0(Succ(vyv23900), Zero) -> Zero 248.95/165.34 new_primMulNat0(Zero, Succ(vyv23800)) -> Zero 248.95/165.34 new_primMulNat0(Zero, Zero) -> Zero 248.95/165.34 new_primMulNat0(Succ(vyv23900), Succ(vyv23800)) -> new_primPlusNat0(new_primMulNat0(vyv23900, Succ(vyv23800)), Succ(vyv23800)) 248.95/165.34 new_primPlusNat0(Succ(vyv4000), Succ(vyv5000)) -> Succ(Succ(new_primPlusNat0(vyv4000, vyv5000))) 248.95/165.34 new_primPlusNat0(Zero, Succ(vyv5000)) -> Succ(vyv5000) 248.95/165.34 new_primPlusNat0(Zero, Zero) -> Zero 248.95/165.34 new_primPlusNat0(Succ(vyv4000), Zero) -> Succ(vyv4000) 248.95/165.34 new_sr7(vyv183) -> error([]) 248.95/165.34 new_esEs1(Integer(vyv2690)) -> new_primEqInt(vyv2690) 248.95/165.34 new_sr6(Neg(vyv1830)) -> Pos(new_primMulNat1(vyv1830)) 248.95/165.34 new_sr6(Pos(vyv1830)) -> Pos(new_primMulNat1(vyv1830)) 248.95/165.34 new_primMulNat1(Succ(vyv18300)) -> new_primPlusNat0(new_primMulNat2(vyv18300), Succ(vyv18300)) 248.95/165.34 new_primMulNat1(Zero) -> Zero 248.95/165.34 new_primMulNat2(Succ(vyv183000)) -> new_primPlusNat0(new_primMulNat3(vyv183000), Succ(Succ(vyv183000))) 248.95/165.34 new_primMulNat2(Zero) -> Zero 248.95/165.34 new_primMulNat3(Succ(vyv1830000)) -> new_primPlusNat0(new_primMulNat4(vyv1830000), Succ(Succ(Succ(vyv1830000)))) 248.95/165.34 new_primMulNat3(Zero) -> Zero 248.95/165.34 new_primMulNat4(Succ(vyv18300000)) -> new_primPlusNat0(new_primMulNat0(vyv18300000, Succ(Succ(Succ(Succ(vyv18300000))))), Succ(Succ(Succ(Succ(vyv18300000))))) 248.95/165.34 new_primMulNat4(Zero) -> Zero 248.95/165.34 new_ms(vyv228, Neg(vyv2440)) -> Pos(new_primPlusNat0(Succ(vyv228), vyv2440)) 248.95/165.34 new_ms(vyv228, Pos(Succ(vyv24400))) -> new_primMinusNat0(vyv228, vyv24400) 248.95/165.34 new_ms(vyv228, Pos(Zero)) -> Pos(Succ(vyv228)) 248.95/165.34 new_sr2(vyv227, vyv226, ty_Int) -> new_sr14(vyv227, vyv226) 248.95/165.34 new_sr2(vyv227, vyv226, ty_Double) -> new_sr11(vyv227, vyv226) 248.95/165.34 new_sr2(vyv227, vyv226, ty_Integer) -> new_sr8(vyv227, vyv226) 248.95/165.34 new_sr2(vyv227, vyv226, ty_Float) -> new_sr13(vyv227, vyv226) 248.95/165.34 new_sr2(vyv227, vyv226, app(ty_Ratio, be)) -> new_sr12(vyv227, vyv226, be) 248.95/165.34 new_sr12(:%(vyv2390, vyv2391), :%(vyv2380, vyv2381), bf) -> new_reduce2Reduce1(vyv2390, vyv2380, vyv2391, vyv2381, new_esEs2(vyv2391, vyv2381, bf), bf) 248.95/165.34 new_esEs2(vyv2391, vyv2381, ty_Int) -> new_esEs(new_sr14(vyv2391, vyv2381)) 248.95/165.34 new_esEs2(vyv2391, vyv2381, ty_Integer) -> new_esEs1(new_sr8(vyv2391, vyv2381)) 248.95/165.34 new_sr13(vyv239, vyv238) -> error([]) 248.95/165.34 new_sr11(vyv239, vyv238) -> error([]) 248.95/165.34 new_primMinusNat0(Succ(vyv2280), Succ(vyv244000)) -> new_primMinusNat0(vyv2280, vyv244000) 248.95/165.34 new_primMinusNat0(Zero, Zero) -> Pos(Zero) 248.95/165.34 new_primMinusNat0(Zero, Succ(vyv244000)) -> Neg(Succ(vyv244000)) 248.95/165.34 new_primMinusNat0(Succ(vyv2280), Zero) -> Pos(Succ(vyv2280)) 248.95/165.34 new_sr3(vyv249, ty_Float) -> new_sr10(vyv249) 248.95/165.34 new_sr3(vyv249, ty_Double) -> new_sr9(vyv249) 248.95/165.34 new_sr3(vyv249, ty_Int) -> new_sr6(vyv249) 248.95/165.34 new_sr3(vyv249, ty_Integer) -> new_sr7(vyv249) 248.95/165.34 new_sr3(vyv249, app(ty_Ratio, bg)) -> new_sr5(vyv249, bg) 248.95/165.34 new_ms0(vyv240, Neg(Zero)) -> Neg(Succ(vyv240)) 248.95/165.34 new_ms0(vyv240, Pos(vyv2430)) -> Neg(new_primPlusNat0(Succ(vyv240), vyv2430)) 248.95/165.34 new_ms0(vyv240, Neg(Succ(vyv24300))) -> new_primMinusNat0(vyv24300, vyv240) 248.95/165.34 new_sr4(vyv239, vyv238, app(ty_Ratio, bf)) -> new_sr12(vyv239, vyv238, bf) 248.95/165.34 new_sr4(vyv239, vyv238, ty_Integer) -> new_sr8(vyv239, vyv238) 248.95/165.34 new_sr4(vyv239, vyv238, ty_Int) -> new_sr14(vyv239, vyv238) 248.95/165.34 new_sr4(vyv239, vyv238, ty_Double) -> new_sr11(vyv239, vyv238) 248.95/165.34 new_sr4(vyv239, vyv238, ty_Float) -> new_sr13(vyv239, vyv238) 248.95/165.34 248.95/165.34 The set Q consists of the following terms: 248.95/165.34 248.95/165.34 new_rem(Pos(x0), Pos(Succ(x1))) 248.95/165.34 new_quot1(x0, x1, x2, x3, ty_Integer) 248.95/165.34 new_primModNatS1(Succ(Zero), Succ(x0)) 248.95/165.34 new_ms0(x0, Pos(x1)) 248.95/165.34 new_primMulNat4(Zero) 248.95/165.34 new_gcd1(False, x0, x1) 248.95/165.34 new_primEqInt(Pos(Zero)) 248.95/165.34 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 248.95/165.34 new_rem(Pos(x0), Neg(Succ(x1))) 248.95/165.34 new_rem(Neg(x0), Pos(Succ(x1))) 248.95/165.34 new_sr10(x0) 248.95/165.34 new_quot1(x0, x1, x2, x3, ty_Int) 248.95/165.34 new_quot2(x0, x1, x2, x3, ty_Integer) 248.95/165.34 new_primModNatS01(x0, x1, Succ(x2), Zero) 248.95/165.34 new_sr3(x0, ty_Integer) 248.95/165.34 new_primMulNat3(Zero) 248.95/165.34 new_primDivNatS02(x0, x1, Succ(x2), Zero) 248.95/165.34 new_quot2(x0, x1, x2, x3, ty_Int) 248.95/165.34 new_gcd2(False, x0, x1) 248.95/165.34 new_primDivNatS1(Succ(Zero), Zero) 248.95/165.34 new_esEs0(x0, ty_Int) 248.95/165.34 new_sr14(Pos(x0), Pos(x1)) 248.95/165.34 new_sr3(x0, ty_Int) 248.95/165.34 new_primMulNat0(Zero, Zero) 248.95/165.34 new_sr4(x0, x1, ty_Double) 248.95/165.34 new_primPlusNat0(Succ(x0), Zero) 248.95/165.34 new_primMulNat2(Zero) 248.95/165.34 new_sr11(x0, x1) 248.95/165.34 new_primModNatS01(x0, x1, Zero, Zero) 248.95/165.34 new_esEs2(x0, x1, ty_Int) 248.95/165.34 new_gcd1(True, x0, x1) 248.95/165.34 new_sr13(x0, x1) 248.95/165.34 new_sr14(Pos(x0), Neg(x1)) 248.95/165.34 new_sr14(Neg(x0), Pos(x1)) 248.95/165.34 new_primDivNatS1(Succ(Succ(x0)), Succ(x1)) 248.95/165.34 new_sr1(x0, ty_Int) 248.95/165.34 new_primModNatS1(Zero, x0) 248.95/165.34 new_esEs(Pos(Succ(x0))) 248.95/165.34 new_primMulNat3(Succ(x0)) 248.95/165.34 new_sr1(x0, app(ty_Ratio, x1)) 248.95/165.34 new_primQuotInt(x0, Neg(Succ(x1))) 248.95/165.34 new_reduce2Reduce1(x0, x1, x2, x3, False, x4) 248.95/165.34 new_primMinusNat0(Zero, Zero) 248.95/165.34 new_primDivNatS1(Zero, x0) 248.95/165.34 new_primDivNatS02(x0, x1, Succ(x2), Succ(x3)) 248.95/165.34 new_primModNatS02(x0, x1) 248.95/165.34 new_primDivNatS1(Succ(Zero), Succ(x0)) 248.95/165.34 new_sr6(Neg(x0)) 248.95/165.34 new_gcd0Gcd'10(True, x0, x1) 248.95/165.34 new_primMulNat0(Succ(x0), Succ(x1)) 248.95/165.34 new_abs(Neg(Zero)) 248.95/165.34 new_ms(x0, Neg(x1)) 248.95/165.34 new_rem(Pos(x0), Neg(Zero)) 248.95/165.34 new_rem(Neg(x0), Pos(Zero)) 248.95/165.34 new_primMinusNatS2(Zero, Succ(x0)) 248.95/165.34 new_esEs(Neg(Succ(x0))) 248.95/165.34 new_error 248.95/165.34 new_primModNatS1(Succ(Zero), Zero) 248.95/165.34 new_primMulNat0(Zero, Succ(x0)) 248.95/165.34 new_sr3(x0, ty_Float) 248.95/165.34 new_quot(x0, x1, x2) 248.95/165.34 new_gcd2(True, x0, x1) 248.95/165.34 new_gcd0Gcd'11(True, x0, x1) 248.95/165.34 new_primEqInt(Neg(Zero)) 248.95/165.34 new_sr2(x0, x1, ty_Double) 248.95/165.34 new_primMulNat0(Succ(x0), Zero) 248.95/165.34 new_quot0(Neg(x0), x1, x2) 248.95/165.34 new_primMinusNatS2(Succ(x0), Succ(x1)) 248.95/165.34 new_sr4(x0, x1, app(ty_Ratio, x2)) 248.95/165.34 new_sr8(x0, x1) 248.95/165.34 new_primDivNatS01(x0, x1) 248.95/165.34 new_primDivNatS02(x0, x1, Zero, Succ(x2)) 248.95/165.34 new_primPlusNat0(Succ(x0), Succ(x1)) 248.95/165.34 new_sr1(x0, ty_Integer) 248.95/165.34 new_primPlusNat0(Zero, Zero) 248.95/165.34 new_sr1(x0, ty_Float) 248.95/165.34 new_primMinusNat0(Succ(x0), Succ(x1)) 248.95/165.34 new_sr12(:%(x0, x1), :%(x2, x3), x4) 248.95/165.34 new_abs(Neg(Succ(x0))) 248.95/165.34 new_sr1(x0, ty_Double) 248.95/165.34 new_sr3(x0, app(ty_Ratio, x1)) 248.95/165.34 new_sr7(x0) 248.95/165.34 new_gcd0(x0, x1) 248.95/165.34 new_primQuotInt0(x0, Pos(Succ(x1))) 248.95/165.34 new_sr4(x0, x1, ty_Integer) 248.95/165.34 new_sr5(:%(x0, x1), x2) 248.95/165.34 new_primMinusNatS2(Zero, Zero) 248.95/165.34 new_primMulNat1(Succ(x0)) 248.95/165.34 new_ms(x0, Pos(Zero)) 248.95/165.34 new_abs(Pos(Succ(x0))) 248.95/165.34 new_sr4(x0, x1, ty_Int) 248.95/165.34 new_esEs(Pos(Zero)) 248.95/165.34 new_primQuotInt0(x0, Pos(Zero)) 248.95/165.34 new_primEqInt(Neg(Succ(x0))) 248.95/165.34 new_primQuotInt(x0, Neg(Zero)) 248.95/165.34 new_primQuotInt0(x0, Neg(Zero)) 248.95/165.34 new_primQuotInt0(x0, Neg(Succ(x1))) 248.95/165.34 new_gcd(x0, x1) 248.95/165.34 new_quot0(Pos(x0), x1, x2) 248.95/165.34 new_primMinusNatS0(x0) 248.95/165.34 new_primPlusNat0(Zero, Succ(x0)) 248.95/165.34 new_sr2(x0, x1, app(ty_Ratio, x2)) 248.95/165.34 new_sr2(x0, x1, ty_Int) 248.95/165.34 new_primQuotInt(x0, Pos(Succ(x1))) 248.95/165.34 new_primDivNatS1(Succ(Succ(x0)), Zero) 248.95/165.34 new_rem(Pos(x0), Pos(Zero)) 248.95/165.34 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 248.95/165.34 new_primDivNatS02(x0, x1, Zero, Zero) 248.95/165.34 new_abs(Pos(Zero)) 248.95/165.34 new_gcd0Gcd'10(False, x0, x1) 248.95/165.34 new_ms(x0, Pos(Succ(x1))) 248.95/165.34 new_primMinusNatS1 248.95/165.34 new_esEs1(Integer(x0)) 248.95/165.34 new_ms0(x0, Neg(Zero)) 248.95/165.34 new_primMinusNat0(Succ(x0), Zero) 248.95/165.34 new_ms0(x0, Neg(Succ(x1))) 248.95/165.34 new_sr2(x0, x1, ty_Integer) 248.95/165.34 new_primModNatS01(x0, x1, Zero, Succ(x2)) 248.95/165.34 new_primMulNat2(Succ(x0)) 248.95/165.34 new_sr14(Neg(x0), Neg(x1)) 248.95/165.34 new_sr2(x0, x1, ty_Float) 248.95/165.34 new_primMinusNatS2(Succ(x0), Zero) 248.95/165.34 new_sr4(x0, x1, ty_Float) 248.95/165.34 new_sr6(Pos(x0)) 248.95/165.34 new_esEs2(x0, x1, ty_Integer) 248.95/165.34 new_primMulNat4(Succ(x0)) 248.95/165.34 new_rem(Neg(x0), Neg(Succ(x1))) 248.95/165.34 new_primEqInt(Pos(Succ(x0))) 248.95/165.34 new_primQuotInt(x0, Pos(Zero)) 248.95/165.34 new_gcd0Gcd'11(False, x0, x1) 248.95/165.34 new_sr9(x0) 248.95/165.34 new_primModNatS1(Succ(Succ(x0)), Zero) 248.95/165.34 new_esEs0(x0, ty_Integer) 248.95/165.34 new_gcd0Gcd'00(x0, x1) 248.95/165.34 new_reduce2Reduce1(x0, x1, x2, x3, True, x4) 248.95/165.34 new_sr3(x0, ty_Double) 248.95/165.34 new_esEs(Neg(Zero)) 248.95/165.34 new_primMulNat1(Zero) 248.95/165.34 new_primMinusNat0(Zero, Succ(x0)) 248.95/165.34 new_rem(Neg(x0), Neg(Zero)) 248.95/165.34 248.95/165.34 We have to consider all minimal (P,Q,R)-chains. 248.95/165.34 ---------------------------------------- 248.95/165.34 248.95/165.34 (795) TransformationProof (EQUIVALENT) 248.95/165.34 By rewriting [LPAR04] the rule new_pr2F1(z1, z2, Pos(Succ(Zero)), z0, z3) -> new_pr2F30(new_esEs(Neg(Succ(Succ(new_primPlusNat0(z2, Zero))))), z1, z2, Pos(Succ(Zero)), z0, z3) at position [0] we obtained the following new rules [LPAR04]: 248.95/165.34 248.95/165.34 (new_pr2F1(z1, z2, Pos(Succ(Zero)), z0, z3) -> new_pr2F30(new_primEqInt(Neg(Succ(Succ(new_primPlusNat0(z2, Zero))))), z1, z2, Pos(Succ(Zero)), z0, z3),new_pr2F1(z1, z2, Pos(Succ(Zero)), z0, z3) -> new_pr2F30(new_primEqInt(Neg(Succ(Succ(new_primPlusNat0(z2, Zero))))), z1, z2, Pos(Succ(Zero)), z0, z3)) 248.95/165.34 248.95/165.34 248.95/165.34 ---------------------------------------- 248.95/165.34 248.95/165.34 (796) 248.95/165.34 Obligation: 248.95/165.34 Q DP problem: 248.95/165.34 The TRS P consists of the following rules: 248.95/165.34 248.95/165.34 new_pr2F0G11(vyv238, vyv239, vyv240, bc) -> new_pr2F1(vyv239, vyv240, Pos(Succ(Zero)), vyv238, bc) 248.95/165.34 new_pr2F30(False, vyv239, vyv240, vyv243, vyv238, bc) -> new_pr2F0(vyv239, new_ms0(vyv240, vyv243), new_sr4(vyv239, vyv238, bc), bc) 248.95/165.34 new_pr2F0(vyv183, Neg(Succ(Succ(vyv222000))), vyv187, h) -> new_pr2F0G10(vyv187, vyv183, Succ(vyv222000), vyv222000, h) 248.95/165.34 new_pr2F0G10(vyv248, vyv249, vyv250, Succ(Succ(vyv25100)), bb) -> new_pr2F0G10(vyv248, vyv249, vyv250, vyv25100, bb) 248.95/165.34 new_pr2F0G10(vyv248, vyv249, vyv250, Succ(Zero), bb) -> new_pr2F0G11(vyv248, vyv249, vyv250, bb) 248.95/165.34 new_pr2F0G10(vyv248, vyv249, vyv250, Zero, bb) -> new_pr2F0G(vyv248, new_sr3(vyv249, bb), Neg(new_primDivNatS1(Succ(vyv250), Succ(Zero))), bb) 248.95/165.34 new_pr2F0G(vyv187, vyv183, Neg(Succ(Zero)), h) -> new_pr2F0G11(vyv187, vyv183, Zero, h) 248.95/165.34 new_pr2F0G(vyv187, vyv183, Neg(Succ(Succ(vyv222000))), h) -> new_pr2F0G10(vyv187, vyv183, Succ(vyv222000), vyv222000, h) 248.95/165.34 new_pr2F0(vyv183, Neg(Succ(Zero)), vyv187, h) -> new_pr2F0G11(vyv187, vyv183, Zero, h) 248.95/165.34 new_pr2F0(vyv183, Pos(Succ(Succ(vyv222000))), vyv187, h) -> new_pr2F0G1(vyv187, vyv183, Succ(vyv222000), vyv222000, h) 248.95/165.34 new_pr2F0G1(vyv226, vyv227, vyv228, Succ(Succ(vyv22900)), ba) -> new_pr2F0G1(vyv226, vyv227, vyv228, vyv22900, ba) 248.95/165.34 new_pr2F0G1(vyv226, vyv227, vyv228, Succ(Zero), ba) -> new_pr2F(vyv227, vyv228, Pos(Succ(Zero)), vyv226, ba) 248.95/165.34 new_pr2F(vyv227, vyv228, vyv244, vyv226, ba) -> new_pr2F3(new_esEs(new_ms(vyv228, vyv244)), vyv227, vyv228, vyv244, vyv226, ba) 248.95/165.34 new_pr2F3(False, vyv227, vyv228, vyv244, vyv226, ba) -> new_pr2F0(vyv227, new_ms(vyv228, vyv244), new_sr2(vyv227, vyv226, ba), ba) 248.95/165.34 new_pr2F0(vyv183, Pos(Succ(Zero)), vyv187, h) -> new_pr2F(vyv183, Zero, Pos(Succ(Zero)), vyv187, h) 248.95/165.34 new_pr2F0G1(vyv226, vyv227, vyv228, Zero, ba) -> new_pr2F0G(vyv226, new_sr1(vyv227, ba), Pos(new_primDivNatS1(Succ(vyv228), Succ(Zero))), ba) 248.95/165.34 new_pr2F0G(vyv187, vyv183, Pos(Succ(Succ(vyv222000))), h) -> new_pr2F0G1(vyv187, vyv183, Succ(vyv222000), vyv222000, h) 248.95/165.34 new_pr2F0G(vyv187, vyv183, Pos(Succ(Zero)), h) -> new_pr2F(vyv183, Zero, Pos(Succ(Zero)), vyv187, h) 248.95/165.34 new_pr2F1(z1, z2, Pos(Succ(Zero)), z0, z3) -> new_pr2F30(new_primEqInt(Neg(Succ(Succ(new_primPlusNat0(z2, Zero))))), z1, z2, Pos(Succ(Zero)), z0, z3) 248.95/165.34 248.95/165.34 The TRS R consists of the following rules: 248.95/165.34 248.95/165.34 new_sr1(vyv227, ty_Int) -> new_sr6(vyv227) 248.95/165.34 new_sr1(vyv227, ty_Integer) -> new_sr7(vyv227) 248.95/165.34 new_sr1(vyv227, app(ty_Ratio, be)) -> new_sr5(vyv227, be) 248.95/165.34 new_sr1(vyv227, ty_Float) -> new_sr10(vyv227) 248.95/165.34 new_sr1(vyv227, ty_Double) -> new_sr9(vyv227) 248.95/165.34 new_primDivNatS1(Succ(Zero), Succ(vyv284000)) -> Zero 248.95/165.34 new_primDivNatS1(Succ(Succ(vyv270000)), Succ(vyv284000)) -> new_primDivNatS02(vyv270000, vyv284000, vyv270000, vyv284000) 248.95/165.34 new_primDivNatS02(vyv310, vyv311, Zero, Zero) -> new_primDivNatS01(vyv310, vyv311) 248.95/165.34 new_primDivNatS02(vyv310, vyv311, Succ(vyv3120), Zero) -> new_primDivNatS01(vyv310, vyv311) 248.95/165.34 new_primDivNatS02(vyv310, vyv311, Zero, Succ(vyv3130)) -> Zero 248.95/165.34 new_primDivNatS02(vyv310, vyv311, Succ(vyv3120), Succ(vyv3130)) -> new_primDivNatS02(vyv310, vyv311, vyv3120, vyv3130) 248.95/165.34 new_primDivNatS01(vyv310, vyv311) -> Succ(new_primDivNatS1(new_primMinusNatS2(vyv310, vyv311), Succ(vyv311))) 248.95/165.34 new_primMinusNatS2(Zero, Succ(vyv3110)) -> Zero 248.95/165.34 new_primMinusNatS2(Succ(vyv3100), Zero) -> Succ(vyv3100) 248.95/165.34 new_primMinusNatS2(Zero, Zero) -> Zero 248.95/165.34 new_primMinusNatS2(Succ(vyv3100), Succ(vyv3110)) -> new_primMinusNatS2(vyv3100, vyv3110) 248.95/165.34 new_primDivNatS1(Zero, vyv28400) -> Zero 248.95/165.34 new_sr9(vyv183) -> error([]) 248.95/165.34 new_sr10(vyv183) -> error([]) 248.95/165.34 new_sr5(:%(vyv1830, vyv1831), bd) -> new_reduce2Reduce1(vyv1830, vyv1830, vyv1831, vyv1831, new_esEs0(vyv1831, bd), bd) 248.95/165.34 new_esEs0(vyv1831, ty_Int) -> new_esEs(new_sr6(vyv1831)) 248.95/165.34 new_esEs0(vyv1831, ty_Integer) -> new_esEs1(new_sr7(vyv1831)) 248.95/165.34 new_reduce2Reduce1(vyv264, vyv265, vyv266, vyv267, False, bh) -> :%(new_quot1(vyv264, vyv265, vyv266, vyv267, bh), new_quot2(vyv266, vyv267, vyv264, vyv265, bh)) 248.95/165.34 new_reduce2Reduce1(vyv264, vyv265, vyv266, vyv267, True, bh) -> error([]) 248.95/165.34 new_quot1(vyv264, vyv265, vyv266, vyv267, ty_Int) -> new_quot0(new_sr14(vyv264, vyv265), new_sr14(vyv264, vyv265), new_sr14(vyv266, vyv267)) 248.95/165.34 new_quot1(vyv264, vyv265, vyv266, vyv267, ty_Integer) -> new_quot(new_sr8(vyv264, vyv265), new_sr8(vyv264, vyv265), new_sr8(vyv266, vyv267)) 248.95/165.34 new_quot2(vyv266, vyv267, vyv264, vyv265, ty_Int) -> new_quot0(new_sr14(vyv266, vyv267), new_sr14(vyv264, vyv265), new_sr14(vyv266, vyv267)) 248.95/165.34 new_quot2(vyv266, vyv267, vyv264, vyv265, ty_Integer) -> new_quot(new_sr8(vyv266, vyv267), new_sr8(vyv264, vyv265), new_sr8(vyv266, vyv267)) 248.95/165.34 new_sr8(vyv239, vyv238) -> error([]) 248.95/165.34 new_quot(vyv273, vyv275, vyv274) -> error([]) 248.95/165.34 new_sr14(Pos(vyv2390), Neg(vyv2380)) -> Neg(new_primMulNat0(vyv2390, vyv2380)) 248.95/165.34 new_sr14(Neg(vyv2390), Pos(vyv2380)) -> Neg(new_primMulNat0(vyv2390, vyv2380)) 248.95/165.34 new_sr14(Neg(vyv2390), Neg(vyv2380)) -> Pos(new_primMulNat0(vyv2390, vyv2380)) 248.95/165.34 new_sr14(Pos(vyv2390), Pos(vyv2380)) -> Pos(new_primMulNat0(vyv2390, vyv2380)) 248.95/165.34 new_quot0(Neg(vyv2700), vyv272, vyv271) -> new_primQuotInt0(vyv2700, new_gcd(vyv272, vyv271)) 248.95/165.34 new_quot0(Pos(vyv2700), vyv272, vyv271) -> new_primQuotInt(vyv2700, new_gcd(vyv272, vyv271)) 248.95/165.34 new_gcd(vyv272, vyv271) -> new_gcd2(new_esEs(vyv272), vyv272, vyv271) 248.95/165.34 new_primQuotInt(vyv2700, Pos(Succ(vyv28400))) -> Pos(new_primDivNatS1(vyv2700, vyv28400)) 248.95/165.34 new_primQuotInt(vyv2700, Neg(Zero)) -> new_error 248.95/165.34 new_primQuotInt(vyv2700, Pos(Zero)) -> new_error 248.95/165.34 new_primQuotInt(vyv2700, Neg(Succ(vyv28400))) -> Neg(new_primDivNatS1(vyv2700, vyv28400)) 248.95/165.34 new_primDivNatS1(Succ(Succ(vyv270000)), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS0(vyv270000), Zero)) 248.95/165.34 new_primDivNatS1(Succ(Zero), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS1, Zero)) 248.95/165.34 new_primMinusNatS1 -> Zero 248.95/165.34 new_primMinusNatS0(vyv270000) -> Succ(vyv270000) 248.95/165.34 new_error -> error([]) 248.95/165.34 new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) 248.95/165.34 new_esEs(Pos(Succ(vyv24100))) -> new_primEqInt(Pos(Succ(vyv24100))) 248.95/165.34 new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) 248.95/165.34 new_esEs(Neg(Succ(vyv24100))) -> new_primEqInt(Neg(Succ(vyv24100))) 248.95/165.34 new_gcd2(True, vyv272, vyv271) -> new_gcd1(new_esEs(vyv271), vyv272, vyv271) 248.95/165.34 new_gcd2(False, vyv272, vyv271) -> new_gcd0(vyv272, vyv271) 248.95/165.34 new_gcd0(vyv272, vyv271) -> new_gcd0Gcd'10(new_esEs(new_abs(vyv271)), vyv272, vyv271) 248.95/165.34 new_abs(Neg(Zero)) -> Neg(Zero) 248.95/165.34 new_abs(Neg(Succ(vyv27100))) -> Pos(Succ(vyv27100)) 248.95/165.34 new_abs(Pos(Succ(vyv27100))) -> Pos(Succ(vyv27100)) 248.95/165.34 new_abs(Pos(Zero)) -> Pos(Zero) 248.95/165.34 new_gcd0Gcd'10(True, vyv272, vyv271) -> new_abs(vyv272) 248.95/165.34 new_gcd0Gcd'10(False, vyv272, vyv271) -> new_gcd0Gcd'00(new_abs(vyv272), new_abs(vyv271)) 248.95/165.34 new_gcd0Gcd'00(vyv292, vyv291) -> new_gcd0Gcd'11(new_esEs(new_rem(vyv292, vyv291)), vyv291, vyv292) 248.95/165.34 new_gcd0Gcd'11(False, vyv291, vyv292) -> new_gcd0Gcd'00(vyv291, new_rem(vyv292, vyv291)) 248.95/165.34 new_rem(Pos(vyv2920), Neg(Zero)) -> new_error 248.95/165.34 new_rem(Neg(vyv2920), Pos(Zero)) -> new_error 248.95/165.34 new_rem(Pos(vyv2920), Neg(Succ(vyv29100))) -> Pos(new_primModNatS1(vyv2920, vyv29100)) 248.95/165.34 new_rem(Neg(vyv2920), Pos(Succ(vyv29100))) -> Neg(new_primModNatS1(vyv2920, vyv29100)) 248.95/165.34 new_rem(Pos(vyv2920), Pos(Succ(vyv29100))) -> Pos(new_primModNatS1(vyv2920, vyv29100)) 248.95/165.34 new_rem(Neg(vyv2920), Neg(Zero)) -> new_error 248.95/165.34 new_rem(Neg(vyv2920), Neg(Succ(vyv29100))) -> Neg(new_primModNatS1(vyv2920, vyv29100)) 248.95/165.34 new_rem(Pos(vyv2920), Pos(Zero)) -> new_error 248.95/165.34 new_gcd0Gcd'11(True, vyv291, vyv292) -> vyv291 248.95/165.34 new_primModNatS1(Succ(Zero), Succ(vyv291000)) -> Succ(Zero) 248.95/165.34 new_primModNatS1(Zero, vyv29100) -> Zero 248.95/165.34 new_primModNatS1(Succ(Succ(vyv292000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv292000), Zero) 248.95/165.34 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 248.95/165.34 new_primModNatS1(Succ(Succ(vyv292000)), Succ(vyv291000)) -> new_primModNatS01(vyv292000, vyv291000, vyv292000, vyv291000) 248.95/165.34 new_primModNatS01(vyv330, vyv331, Zero, Zero) -> new_primModNatS02(vyv330, vyv331) 248.95/165.34 new_primModNatS02(vyv330, vyv331) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv330), Succ(vyv331)), Succ(vyv331)) 248.95/165.34 new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Zero) -> new_primModNatS02(vyv330, vyv331) 248.95/165.34 new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Succ(vyv3330)) -> new_primModNatS01(vyv330, vyv331, vyv3320, vyv3330) 248.95/165.34 new_primModNatS01(vyv330, vyv331, Zero, Succ(vyv3330)) -> Succ(Succ(vyv330)) 248.95/165.34 new_gcd1(True, vyv272, vyv271) -> new_error 248.95/165.34 new_gcd1(False, vyv272, vyv271) -> new_gcd0(vyv272, vyv271) 248.95/165.34 new_primEqInt(Neg(Succ(vyv242000))) -> False 248.95/165.34 new_primEqInt(Pos(Zero)) -> True 248.95/165.34 new_primEqInt(Pos(Succ(vyv242000))) -> False 248.95/165.34 new_primEqInt(Neg(Zero)) -> True 248.95/165.34 new_primQuotInt0(vyv2700, Pos(Succ(vyv28700))) -> Neg(new_primDivNatS1(vyv2700, vyv28700)) 248.95/165.34 new_primQuotInt0(vyv2700, Neg(Zero)) -> new_error 248.95/165.34 new_primQuotInt0(vyv2700, Neg(Succ(vyv28700))) -> Pos(new_primDivNatS1(vyv2700, vyv28700)) 248.95/165.34 new_primQuotInt0(vyv2700, Pos(Zero)) -> new_error 248.95/165.34 new_primMulNat0(Succ(vyv23900), Zero) -> Zero 248.95/165.34 new_primMulNat0(Zero, Succ(vyv23800)) -> Zero 248.95/165.34 new_primMulNat0(Zero, Zero) -> Zero 248.95/165.34 new_primMulNat0(Succ(vyv23900), Succ(vyv23800)) -> new_primPlusNat0(new_primMulNat0(vyv23900, Succ(vyv23800)), Succ(vyv23800)) 248.95/165.34 new_primPlusNat0(Succ(vyv4000), Succ(vyv5000)) -> Succ(Succ(new_primPlusNat0(vyv4000, vyv5000))) 248.95/165.34 new_primPlusNat0(Zero, Succ(vyv5000)) -> Succ(vyv5000) 248.95/165.34 new_primPlusNat0(Zero, Zero) -> Zero 248.95/165.34 new_primPlusNat0(Succ(vyv4000), Zero) -> Succ(vyv4000) 248.95/165.34 new_sr7(vyv183) -> error([]) 248.95/165.34 new_esEs1(Integer(vyv2690)) -> new_primEqInt(vyv2690) 248.95/165.34 new_sr6(Neg(vyv1830)) -> Pos(new_primMulNat1(vyv1830)) 248.95/165.34 new_sr6(Pos(vyv1830)) -> Pos(new_primMulNat1(vyv1830)) 248.95/165.34 new_primMulNat1(Succ(vyv18300)) -> new_primPlusNat0(new_primMulNat2(vyv18300), Succ(vyv18300)) 248.95/165.34 new_primMulNat1(Zero) -> Zero 248.95/165.34 new_primMulNat2(Succ(vyv183000)) -> new_primPlusNat0(new_primMulNat3(vyv183000), Succ(Succ(vyv183000))) 248.95/165.34 new_primMulNat2(Zero) -> Zero 248.95/165.34 new_primMulNat3(Succ(vyv1830000)) -> new_primPlusNat0(new_primMulNat4(vyv1830000), Succ(Succ(Succ(vyv1830000)))) 248.95/165.34 new_primMulNat3(Zero) -> Zero 248.95/165.34 new_primMulNat4(Succ(vyv18300000)) -> new_primPlusNat0(new_primMulNat0(vyv18300000, Succ(Succ(Succ(Succ(vyv18300000))))), Succ(Succ(Succ(Succ(vyv18300000))))) 248.95/165.34 new_primMulNat4(Zero) -> Zero 248.95/165.34 new_ms(vyv228, Neg(vyv2440)) -> Pos(new_primPlusNat0(Succ(vyv228), vyv2440)) 248.95/165.34 new_ms(vyv228, Pos(Succ(vyv24400))) -> new_primMinusNat0(vyv228, vyv24400) 248.95/165.34 new_ms(vyv228, Pos(Zero)) -> Pos(Succ(vyv228)) 248.95/165.34 new_sr2(vyv227, vyv226, ty_Int) -> new_sr14(vyv227, vyv226) 248.95/165.34 new_sr2(vyv227, vyv226, ty_Double) -> new_sr11(vyv227, vyv226) 248.95/165.34 new_sr2(vyv227, vyv226, ty_Integer) -> new_sr8(vyv227, vyv226) 248.95/165.34 new_sr2(vyv227, vyv226, ty_Float) -> new_sr13(vyv227, vyv226) 248.95/165.34 new_sr2(vyv227, vyv226, app(ty_Ratio, be)) -> new_sr12(vyv227, vyv226, be) 248.95/165.34 new_sr12(:%(vyv2390, vyv2391), :%(vyv2380, vyv2381), bf) -> new_reduce2Reduce1(vyv2390, vyv2380, vyv2391, vyv2381, new_esEs2(vyv2391, vyv2381, bf), bf) 248.95/165.34 new_esEs2(vyv2391, vyv2381, ty_Int) -> new_esEs(new_sr14(vyv2391, vyv2381)) 248.95/165.34 new_esEs2(vyv2391, vyv2381, ty_Integer) -> new_esEs1(new_sr8(vyv2391, vyv2381)) 248.95/165.34 new_sr13(vyv239, vyv238) -> error([]) 248.95/165.34 new_sr11(vyv239, vyv238) -> error([]) 248.95/165.34 new_primMinusNat0(Succ(vyv2280), Succ(vyv244000)) -> new_primMinusNat0(vyv2280, vyv244000) 248.95/165.34 new_primMinusNat0(Zero, Zero) -> Pos(Zero) 248.95/165.34 new_primMinusNat0(Zero, Succ(vyv244000)) -> Neg(Succ(vyv244000)) 248.95/165.34 new_primMinusNat0(Succ(vyv2280), Zero) -> Pos(Succ(vyv2280)) 248.95/165.34 new_sr3(vyv249, ty_Float) -> new_sr10(vyv249) 248.95/165.34 new_sr3(vyv249, ty_Double) -> new_sr9(vyv249) 248.95/165.34 new_sr3(vyv249, ty_Int) -> new_sr6(vyv249) 248.95/165.34 new_sr3(vyv249, ty_Integer) -> new_sr7(vyv249) 248.95/165.34 new_sr3(vyv249, app(ty_Ratio, bg)) -> new_sr5(vyv249, bg) 248.95/165.34 new_ms0(vyv240, Neg(Zero)) -> Neg(Succ(vyv240)) 248.95/165.34 new_ms0(vyv240, Pos(vyv2430)) -> Neg(new_primPlusNat0(Succ(vyv240), vyv2430)) 248.95/165.34 new_ms0(vyv240, Neg(Succ(vyv24300))) -> new_primMinusNat0(vyv24300, vyv240) 248.95/165.34 new_sr4(vyv239, vyv238, app(ty_Ratio, bf)) -> new_sr12(vyv239, vyv238, bf) 248.95/165.34 new_sr4(vyv239, vyv238, ty_Integer) -> new_sr8(vyv239, vyv238) 248.95/165.34 new_sr4(vyv239, vyv238, ty_Int) -> new_sr14(vyv239, vyv238) 248.95/165.34 new_sr4(vyv239, vyv238, ty_Double) -> new_sr11(vyv239, vyv238) 248.95/165.34 new_sr4(vyv239, vyv238, ty_Float) -> new_sr13(vyv239, vyv238) 248.95/165.34 248.95/165.34 The set Q consists of the following terms: 248.95/165.34 248.95/165.34 new_rem(Pos(x0), Pos(Succ(x1))) 248.95/165.34 new_quot1(x0, x1, x2, x3, ty_Integer) 248.95/165.34 new_primModNatS1(Succ(Zero), Succ(x0)) 248.95/165.34 new_ms0(x0, Pos(x1)) 248.95/165.34 new_primMulNat4(Zero) 248.95/165.34 new_gcd1(False, x0, x1) 248.95/165.34 new_primEqInt(Pos(Zero)) 248.95/165.34 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 248.95/165.34 new_rem(Pos(x0), Neg(Succ(x1))) 248.95/165.34 new_rem(Neg(x0), Pos(Succ(x1))) 248.95/165.34 new_sr10(x0) 248.95/165.34 new_quot1(x0, x1, x2, x3, ty_Int) 248.95/165.34 new_quot2(x0, x1, x2, x3, ty_Integer) 248.95/165.34 new_primModNatS01(x0, x1, Succ(x2), Zero) 248.95/165.34 new_sr3(x0, ty_Integer) 248.95/165.34 new_primMulNat3(Zero) 248.95/165.34 new_primDivNatS02(x0, x1, Succ(x2), Zero) 248.95/165.34 new_quot2(x0, x1, x2, x3, ty_Int) 248.95/165.34 new_gcd2(False, x0, x1) 248.95/165.34 new_primDivNatS1(Succ(Zero), Zero) 248.95/165.34 new_esEs0(x0, ty_Int) 248.95/165.34 new_sr14(Pos(x0), Pos(x1)) 248.95/165.34 new_sr3(x0, ty_Int) 248.95/165.34 new_primMulNat0(Zero, Zero) 248.95/165.34 new_sr4(x0, x1, ty_Double) 248.95/165.34 new_primPlusNat0(Succ(x0), Zero) 248.95/165.34 new_primMulNat2(Zero) 248.95/165.34 new_sr11(x0, x1) 248.95/165.34 new_primModNatS01(x0, x1, Zero, Zero) 248.95/165.34 new_esEs2(x0, x1, ty_Int) 248.95/165.34 new_gcd1(True, x0, x1) 248.95/165.34 new_sr13(x0, x1) 248.95/165.34 new_sr14(Pos(x0), Neg(x1)) 248.95/165.34 new_sr14(Neg(x0), Pos(x1)) 248.95/165.34 new_primDivNatS1(Succ(Succ(x0)), Succ(x1)) 248.95/165.34 new_sr1(x0, ty_Int) 248.95/165.34 new_primModNatS1(Zero, x0) 248.95/165.34 new_esEs(Pos(Succ(x0))) 248.95/165.34 new_primMulNat3(Succ(x0)) 248.95/165.34 new_sr1(x0, app(ty_Ratio, x1)) 248.95/165.34 new_primQuotInt(x0, Neg(Succ(x1))) 248.95/165.34 new_reduce2Reduce1(x0, x1, x2, x3, False, x4) 248.95/165.34 new_primMinusNat0(Zero, Zero) 248.95/165.34 new_primDivNatS1(Zero, x0) 248.95/165.34 new_primDivNatS02(x0, x1, Succ(x2), Succ(x3)) 248.95/165.34 new_primModNatS02(x0, x1) 248.95/165.34 new_primDivNatS1(Succ(Zero), Succ(x0)) 248.95/165.34 new_sr6(Neg(x0)) 248.95/165.34 new_gcd0Gcd'10(True, x0, x1) 248.95/165.34 new_primMulNat0(Succ(x0), Succ(x1)) 248.95/165.34 new_abs(Neg(Zero)) 248.95/165.34 new_ms(x0, Neg(x1)) 248.95/165.34 new_rem(Pos(x0), Neg(Zero)) 248.95/165.34 new_rem(Neg(x0), Pos(Zero)) 248.95/165.34 new_primMinusNatS2(Zero, Succ(x0)) 248.95/165.34 new_esEs(Neg(Succ(x0))) 248.95/165.34 new_error 248.95/165.34 new_primModNatS1(Succ(Zero), Zero) 248.95/165.34 new_primMulNat0(Zero, Succ(x0)) 248.95/165.34 new_sr3(x0, ty_Float) 248.95/165.34 new_quot(x0, x1, x2) 248.95/165.34 new_gcd2(True, x0, x1) 248.95/165.34 new_gcd0Gcd'11(True, x0, x1) 248.95/165.34 new_primEqInt(Neg(Zero)) 248.95/165.34 new_sr2(x0, x1, ty_Double) 248.95/165.34 new_primMulNat0(Succ(x0), Zero) 248.95/165.34 new_quot0(Neg(x0), x1, x2) 248.95/165.34 new_primMinusNatS2(Succ(x0), Succ(x1)) 248.95/165.34 new_sr4(x0, x1, app(ty_Ratio, x2)) 248.95/165.34 new_sr8(x0, x1) 248.95/165.34 new_primDivNatS01(x0, x1) 248.95/165.34 new_primDivNatS02(x0, x1, Zero, Succ(x2)) 248.95/165.34 new_primPlusNat0(Succ(x0), Succ(x1)) 248.95/165.34 new_sr1(x0, ty_Integer) 248.95/165.34 new_primPlusNat0(Zero, Zero) 248.95/165.34 new_sr1(x0, ty_Float) 248.95/165.34 new_primMinusNat0(Succ(x0), Succ(x1)) 248.95/165.34 new_sr12(:%(x0, x1), :%(x2, x3), x4) 248.95/165.34 new_abs(Neg(Succ(x0))) 248.95/165.34 new_sr1(x0, ty_Double) 248.95/165.34 new_sr3(x0, app(ty_Ratio, x1)) 248.95/165.34 new_sr7(x0) 248.95/165.34 new_gcd0(x0, x1) 248.95/165.34 new_primQuotInt0(x0, Pos(Succ(x1))) 248.95/165.34 new_sr4(x0, x1, ty_Integer) 248.95/165.34 new_sr5(:%(x0, x1), x2) 248.95/165.34 new_primMinusNatS2(Zero, Zero) 248.95/165.34 new_primMulNat1(Succ(x0)) 248.95/165.34 new_ms(x0, Pos(Zero)) 248.95/165.34 new_abs(Pos(Succ(x0))) 248.95/165.34 new_sr4(x0, x1, ty_Int) 248.95/165.34 new_esEs(Pos(Zero)) 248.95/165.34 new_primQuotInt0(x0, Pos(Zero)) 248.95/165.34 new_primEqInt(Neg(Succ(x0))) 248.95/165.34 new_primQuotInt(x0, Neg(Zero)) 248.95/165.34 new_primQuotInt0(x0, Neg(Zero)) 248.95/165.34 new_primQuotInt0(x0, Neg(Succ(x1))) 248.95/165.34 new_gcd(x0, x1) 248.95/165.34 new_quot0(Pos(x0), x1, x2) 248.95/165.34 new_primMinusNatS0(x0) 248.95/165.34 new_primPlusNat0(Zero, Succ(x0)) 248.95/165.34 new_sr2(x0, x1, app(ty_Ratio, x2)) 248.95/165.34 new_sr2(x0, x1, ty_Int) 248.95/165.34 new_primQuotInt(x0, Pos(Succ(x1))) 248.95/165.34 new_primDivNatS1(Succ(Succ(x0)), Zero) 248.95/165.34 new_rem(Pos(x0), Pos(Zero)) 248.95/165.34 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 248.95/165.34 new_primDivNatS02(x0, x1, Zero, Zero) 248.95/165.34 new_abs(Pos(Zero)) 248.95/165.34 new_gcd0Gcd'10(False, x0, x1) 248.95/165.34 new_ms(x0, Pos(Succ(x1))) 248.95/165.34 new_primMinusNatS1 248.95/165.34 new_esEs1(Integer(x0)) 248.95/165.34 new_ms0(x0, Neg(Zero)) 248.95/165.34 new_primMinusNat0(Succ(x0), Zero) 248.95/165.34 new_ms0(x0, Neg(Succ(x1))) 248.95/165.34 new_sr2(x0, x1, ty_Integer) 248.95/165.34 new_primModNatS01(x0, x1, Zero, Succ(x2)) 248.95/165.34 new_primMulNat2(Succ(x0)) 248.95/165.34 new_sr14(Neg(x0), Neg(x1)) 248.95/165.34 new_sr2(x0, x1, ty_Float) 248.95/165.34 new_primMinusNatS2(Succ(x0), Zero) 248.95/165.34 new_sr4(x0, x1, ty_Float) 248.95/165.34 new_sr6(Pos(x0)) 248.95/165.34 new_esEs2(x0, x1, ty_Integer) 248.95/165.34 new_primMulNat4(Succ(x0)) 248.95/165.34 new_rem(Neg(x0), Neg(Succ(x1))) 248.95/165.34 new_primEqInt(Pos(Succ(x0))) 248.95/165.34 new_primQuotInt(x0, Pos(Zero)) 248.95/165.34 new_gcd0Gcd'11(False, x0, x1) 248.95/165.34 new_sr9(x0) 248.95/165.34 new_primModNatS1(Succ(Succ(x0)), Zero) 248.95/165.34 new_esEs0(x0, ty_Integer) 248.95/165.34 new_gcd0Gcd'00(x0, x1) 248.95/165.34 new_reduce2Reduce1(x0, x1, x2, x3, True, x4) 248.95/165.34 new_sr3(x0, ty_Double) 248.95/165.34 new_esEs(Neg(Zero)) 248.95/165.34 new_primMulNat1(Zero) 248.95/165.34 new_primMinusNat0(Zero, Succ(x0)) 248.95/165.34 new_rem(Neg(x0), Neg(Zero)) 248.95/165.34 248.95/165.34 We have to consider all minimal (P,Q,R)-chains. 248.95/165.34 ---------------------------------------- 248.95/165.34 248.95/165.34 (797) TransformationProof (EQUIVALENT) 248.95/165.34 By rewriting [LPAR04] the rule new_pr2F1(z1, z2, Pos(Succ(Zero)), z0, z3) -> new_pr2F30(new_primEqInt(Neg(Succ(Succ(new_primPlusNat0(z2, Zero))))), z1, z2, Pos(Succ(Zero)), z0, z3) at position [0] we obtained the following new rules [LPAR04]: 248.95/165.34 248.95/165.34 (new_pr2F1(z1, z2, Pos(Succ(Zero)), z0, z3) -> new_pr2F30(False, z1, z2, Pos(Succ(Zero)), z0, z3),new_pr2F1(z1, z2, Pos(Succ(Zero)), z0, z3) -> new_pr2F30(False, z1, z2, Pos(Succ(Zero)), z0, z3)) 248.95/165.34 248.95/165.34 248.95/165.34 ---------------------------------------- 248.95/165.34 248.95/165.34 (798) 248.95/165.34 Obligation: 248.95/165.34 Q DP problem: 248.95/165.34 The TRS P consists of the following rules: 248.95/165.34 248.95/165.34 new_pr2F0G11(vyv238, vyv239, vyv240, bc) -> new_pr2F1(vyv239, vyv240, Pos(Succ(Zero)), vyv238, bc) 248.95/165.34 new_pr2F30(False, vyv239, vyv240, vyv243, vyv238, bc) -> new_pr2F0(vyv239, new_ms0(vyv240, vyv243), new_sr4(vyv239, vyv238, bc), bc) 248.95/165.34 new_pr2F0(vyv183, Neg(Succ(Succ(vyv222000))), vyv187, h) -> new_pr2F0G10(vyv187, vyv183, Succ(vyv222000), vyv222000, h) 248.95/165.34 new_pr2F0G10(vyv248, vyv249, vyv250, Succ(Succ(vyv25100)), bb) -> new_pr2F0G10(vyv248, vyv249, vyv250, vyv25100, bb) 248.95/165.34 new_pr2F0G10(vyv248, vyv249, vyv250, Succ(Zero), bb) -> new_pr2F0G11(vyv248, vyv249, vyv250, bb) 248.95/165.34 new_pr2F0G10(vyv248, vyv249, vyv250, Zero, bb) -> new_pr2F0G(vyv248, new_sr3(vyv249, bb), Neg(new_primDivNatS1(Succ(vyv250), Succ(Zero))), bb) 248.95/165.34 new_pr2F0G(vyv187, vyv183, Neg(Succ(Zero)), h) -> new_pr2F0G11(vyv187, vyv183, Zero, h) 248.95/165.34 new_pr2F0G(vyv187, vyv183, Neg(Succ(Succ(vyv222000))), h) -> new_pr2F0G10(vyv187, vyv183, Succ(vyv222000), vyv222000, h) 248.95/165.34 new_pr2F0(vyv183, Neg(Succ(Zero)), vyv187, h) -> new_pr2F0G11(vyv187, vyv183, Zero, h) 248.95/165.34 new_pr2F0(vyv183, Pos(Succ(Succ(vyv222000))), vyv187, h) -> new_pr2F0G1(vyv187, vyv183, Succ(vyv222000), vyv222000, h) 248.95/165.34 new_pr2F0G1(vyv226, vyv227, vyv228, Succ(Succ(vyv22900)), ba) -> new_pr2F0G1(vyv226, vyv227, vyv228, vyv22900, ba) 248.95/165.34 new_pr2F0G1(vyv226, vyv227, vyv228, Succ(Zero), ba) -> new_pr2F(vyv227, vyv228, Pos(Succ(Zero)), vyv226, ba) 248.95/165.34 new_pr2F(vyv227, vyv228, vyv244, vyv226, ba) -> new_pr2F3(new_esEs(new_ms(vyv228, vyv244)), vyv227, vyv228, vyv244, vyv226, ba) 248.95/165.34 new_pr2F3(False, vyv227, vyv228, vyv244, vyv226, ba) -> new_pr2F0(vyv227, new_ms(vyv228, vyv244), new_sr2(vyv227, vyv226, ba), ba) 248.95/165.34 new_pr2F0(vyv183, Pos(Succ(Zero)), vyv187, h) -> new_pr2F(vyv183, Zero, Pos(Succ(Zero)), vyv187, h) 248.95/165.34 new_pr2F0G1(vyv226, vyv227, vyv228, Zero, ba) -> new_pr2F0G(vyv226, new_sr1(vyv227, ba), Pos(new_primDivNatS1(Succ(vyv228), Succ(Zero))), ba) 248.95/165.34 new_pr2F0G(vyv187, vyv183, Pos(Succ(Succ(vyv222000))), h) -> new_pr2F0G1(vyv187, vyv183, Succ(vyv222000), vyv222000, h) 248.95/165.34 new_pr2F0G(vyv187, vyv183, Pos(Succ(Zero)), h) -> new_pr2F(vyv183, Zero, Pos(Succ(Zero)), vyv187, h) 248.95/165.34 new_pr2F1(z1, z2, Pos(Succ(Zero)), z0, z3) -> new_pr2F30(False, z1, z2, Pos(Succ(Zero)), z0, z3) 248.95/165.34 248.95/165.34 The TRS R consists of the following rules: 248.95/165.34 248.95/165.34 new_sr1(vyv227, ty_Int) -> new_sr6(vyv227) 248.95/165.34 new_sr1(vyv227, ty_Integer) -> new_sr7(vyv227) 248.95/165.34 new_sr1(vyv227, app(ty_Ratio, be)) -> new_sr5(vyv227, be) 248.95/165.34 new_sr1(vyv227, ty_Float) -> new_sr10(vyv227) 248.95/165.34 new_sr1(vyv227, ty_Double) -> new_sr9(vyv227) 248.95/165.34 new_primDivNatS1(Succ(Zero), Succ(vyv284000)) -> Zero 248.95/165.34 new_primDivNatS1(Succ(Succ(vyv270000)), Succ(vyv284000)) -> new_primDivNatS02(vyv270000, vyv284000, vyv270000, vyv284000) 248.95/165.34 new_primDivNatS02(vyv310, vyv311, Zero, Zero) -> new_primDivNatS01(vyv310, vyv311) 248.95/165.34 new_primDivNatS02(vyv310, vyv311, Succ(vyv3120), Zero) -> new_primDivNatS01(vyv310, vyv311) 248.95/165.34 new_primDivNatS02(vyv310, vyv311, Zero, Succ(vyv3130)) -> Zero 248.95/165.34 new_primDivNatS02(vyv310, vyv311, Succ(vyv3120), Succ(vyv3130)) -> new_primDivNatS02(vyv310, vyv311, vyv3120, vyv3130) 248.95/165.34 new_primDivNatS01(vyv310, vyv311) -> Succ(new_primDivNatS1(new_primMinusNatS2(vyv310, vyv311), Succ(vyv311))) 248.95/165.34 new_primMinusNatS2(Zero, Succ(vyv3110)) -> Zero 248.95/165.34 new_primMinusNatS2(Succ(vyv3100), Zero) -> Succ(vyv3100) 248.95/165.34 new_primMinusNatS2(Zero, Zero) -> Zero 248.95/165.34 new_primMinusNatS2(Succ(vyv3100), Succ(vyv3110)) -> new_primMinusNatS2(vyv3100, vyv3110) 248.95/165.34 new_primDivNatS1(Zero, vyv28400) -> Zero 248.95/165.34 new_sr9(vyv183) -> error([]) 248.95/165.34 new_sr10(vyv183) -> error([]) 248.95/165.34 new_sr5(:%(vyv1830, vyv1831), bd) -> new_reduce2Reduce1(vyv1830, vyv1830, vyv1831, vyv1831, new_esEs0(vyv1831, bd), bd) 248.95/165.34 new_esEs0(vyv1831, ty_Int) -> new_esEs(new_sr6(vyv1831)) 248.95/165.34 new_esEs0(vyv1831, ty_Integer) -> new_esEs1(new_sr7(vyv1831)) 248.95/165.34 new_reduce2Reduce1(vyv264, vyv265, vyv266, vyv267, False, bh) -> :%(new_quot1(vyv264, vyv265, vyv266, vyv267, bh), new_quot2(vyv266, vyv267, vyv264, vyv265, bh)) 248.95/165.34 new_reduce2Reduce1(vyv264, vyv265, vyv266, vyv267, True, bh) -> error([]) 248.95/165.34 new_quot1(vyv264, vyv265, vyv266, vyv267, ty_Int) -> new_quot0(new_sr14(vyv264, vyv265), new_sr14(vyv264, vyv265), new_sr14(vyv266, vyv267)) 248.95/165.34 new_quot1(vyv264, vyv265, vyv266, vyv267, ty_Integer) -> new_quot(new_sr8(vyv264, vyv265), new_sr8(vyv264, vyv265), new_sr8(vyv266, vyv267)) 248.95/165.34 new_quot2(vyv266, vyv267, vyv264, vyv265, ty_Int) -> new_quot0(new_sr14(vyv266, vyv267), new_sr14(vyv264, vyv265), new_sr14(vyv266, vyv267)) 248.95/165.34 new_quot2(vyv266, vyv267, vyv264, vyv265, ty_Integer) -> new_quot(new_sr8(vyv266, vyv267), new_sr8(vyv264, vyv265), new_sr8(vyv266, vyv267)) 248.95/165.34 new_sr8(vyv239, vyv238) -> error([]) 248.95/165.34 new_quot(vyv273, vyv275, vyv274) -> error([]) 248.95/165.34 new_sr14(Pos(vyv2390), Neg(vyv2380)) -> Neg(new_primMulNat0(vyv2390, vyv2380)) 248.95/165.34 new_sr14(Neg(vyv2390), Pos(vyv2380)) -> Neg(new_primMulNat0(vyv2390, vyv2380)) 248.95/165.34 new_sr14(Neg(vyv2390), Neg(vyv2380)) -> Pos(new_primMulNat0(vyv2390, vyv2380)) 248.95/165.34 new_sr14(Pos(vyv2390), Pos(vyv2380)) -> Pos(new_primMulNat0(vyv2390, vyv2380)) 248.95/165.34 new_quot0(Neg(vyv2700), vyv272, vyv271) -> new_primQuotInt0(vyv2700, new_gcd(vyv272, vyv271)) 248.95/165.34 new_quot0(Pos(vyv2700), vyv272, vyv271) -> new_primQuotInt(vyv2700, new_gcd(vyv272, vyv271)) 248.95/165.34 new_gcd(vyv272, vyv271) -> new_gcd2(new_esEs(vyv272), vyv272, vyv271) 248.95/165.34 new_primQuotInt(vyv2700, Pos(Succ(vyv28400))) -> Pos(new_primDivNatS1(vyv2700, vyv28400)) 248.95/165.34 new_primQuotInt(vyv2700, Neg(Zero)) -> new_error 248.95/165.34 new_primQuotInt(vyv2700, Pos(Zero)) -> new_error 248.95/165.34 new_primQuotInt(vyv2700, Neg(Succ(vyv28400))) -> Neg(new_primDivNatS1(vyv2700, vyv28400)) 248.95/165.34 new_primDivNatS1(Succ(Succ(vyv270000)), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS0(vyv270000), Zero)) 248.95/165.34 new_primDivNatS1(Succ(Zero), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS1, Zero)) 248.95/165.34 new_primMinusNatS1 -> Zero 248.95/165.34 new_primMinusNatS0(vyv270000) -> Succ(vyv270000) 248.95/165.34 new_error -> error([]) 248.95/165.34 new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) 248.95/165.34 new_esEs(Pos(Succ(vyv24100))) -> new_primEqInt(Pos(Succ(vyv24100))) 248.95/165.34 new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) 248.95/165.34 new_esEs(Neg(Succ(vyv24100))) -> new_primEqInt(Neg(Succ(vyv24100))) 248.95/165.34 new_gcd2(True, vyv272, vyv271) -> new_gcd1(new_esEs(vyv271), vyv272, vyv271) 248.95/165.34 new_gcd2(False, vyv272, vyv271) -> new_gcd0(vyv272, vyv271) 248.95/165.34 new_gcd0(vyv272, vyv271) -> new_gcd0Gcd'10(new_esEs(new_abs(vyv271)), vyv272, vyv271) 248.95/165.34 new_abs(Neg(Zero)) -> Neg(Zero) 248.95/165.34 new_abs(Neg(Succ(vyv27100))) -> Pos(Succ(vyv27100)) 248.95/165.34 new_abs(Pos(Succ(vyv27100))) -> Pos(Succ(vyv27100)) 248.95/165.34 new_abs(Pos(Zero)) -> Pos(Zero) 248.95/165.34 new_gcd0Gcd'10(True, vyv272, vyv271) -> new_abs(vyv272) 248.95/165.34 new_gcd0Gcd'10(False, vyv272, vyv271) -> new_gcd0Gcd'00(new_abs(vyv272), new_abs(vyv271)) 248.95/165.34 new_gcd0Gcd'00(vyv292, vyv291) -> new_gcd0Gcd'11(new_esEs(new_rem(vyv292, vyv291)), vyv291, vyv292) 248.95/165.34 new_gcd0Gcd'11(False, vyv291, vyv292) -> new_gcd0Gcd'00(vyv291, new_rem(vyv292, vyv291)) 248.95/165.34 new_rem(Pos(vyv2920), Neg(Zero)) -> new_error 248.95/165.34 new_rem(Neg(vyv2920), Pos(Zero)) -> new_error 248.95/165.34 new_rem(Pos(vyv2920), Neg(Succ(vyv29100))) -> Pos(new_primModNatS1(vyv2920, vyv29100)) 248.95/165.34 new_rem(Neg(vyv2920), Pos(Succ(vyv29100))) -> Neg(new_primModNatS1(vyv2920, vyv29100)) 248.95/165.34 new_rem(Pos(vyv2920), Pos(Succ(vyv29100))) -> Pos(new_primModNatS1(vyv2920, vyv29100)) 248.95/165.34 new_rem(Neg(vyv2920), Neg(Zero)) -> new_error 248.95/165.34 new_rem(Neg(vyv2920), Neg(Succ(vyv29100))) -> Neg(new_primModNatS1(vyv2920, vyv29100)) 248.95/165.34 new_rem(Pos(vyv2920), Pos(Zero)) -> new_error 248.95/165.34 new_gcd0Gcd'11(True, vyv291, vyv292) -> vyv291 248.95/165.34 new_primModNatS1(Succ(Zero), Succ(vyv291000)) -> Succ(Zero) 248.95/165.34 new_primModNatS1(Zero, vyv29100) -> Zero 248.95/165.34 new_primModNatS1(Succ(Succ(vyv292000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv292000), Zero) 248.95/165.34 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 248.95/165.34 new_primModNatS1(Succ(Succ(vyv292000)), Succ(vyv291000)) -> new_primModNatS01(vyv292000, vyv291000, vyv292000, vyv291000) 248.95/165.34 new_primModNatS01(vyv330, vyv331, Zero, Zero) -> new_primModNatS02(vyv330, vyv331) 248.95/165.34 new_primModNatS02(vyv330, vyv331) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv330), Succ(vyv331)), Succ(vyv331)) 248.95/165.34 new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Zero) -> new_primModNatS02(vyv330, vyv331) 248.95/165.34 new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Succ(vyv3330)) -> new_primModNatS01(vyv330, vyv331, vyv3320, vyv3330) 248.95/165.34 new_primModNatS01(vyv330, vyv331, Zero, Succ(vyv3330)) -> Succ(Succ(vyv330)) 248.95/165.34 new_gcd1(True, vyv272, vyv271) -> new_error 248.95/165.34 new_gcd1(False, vyv272, vyv271) -> new_gcd0(vyv272, vyv271) 248.95/165.34 new_primEqInt(Neg(Succ(vyv242000))) -> False 248.95/165.34 new_primEqInt(Pos(Zero)) -> True 248.95/165.34 new_primEqInt(Pos(Succ(vyv242000))) -> False 248.95/165.34 new_primEqInt(Neg(Zero)) -> True 248.95/165.34 new_primQuotInt0(vyv2700, Pos(Succ(vyv28700))) -> Neg(new_primDivNatS1(vyv2700, vyv28700)) 248.95/165.34 new_primQuotInt0(vyv2700, Neg(Zero)) -> new_error 248.95/165.34 new_primQuotInt0(vyv2700, Neg(Succ(vyv28700))) -> Pos(new_primDivNatS1(vyv2700, vyv28700)) 248.95/165.34 new_primQuotInt0(vyv2700, Pos(Zero)) -> new_error 248.95/165.34 new_primMulNat0(Succ(vyv23900), Zero) -> Zero 248.95/165.34 new_primMulNat0(Zero, Succ(vyv23800)) -> Zero 248.95/165.34 new_primMulNat0(Zero, Zero) -> Zero 248.95/165.34 new_primMulNat0(Succ(vyv23900), Succ(vyv23800)) -> new_primPlusNat0(new_primMulNat0(vyv23900, Succ(vyv23800)), Succ(vyv23800)) 248.95/165.34 new_primPlusNat0(Succ(vyv4000), Succ(vyv5000)) -> Succ(Succ(new_primPlusNat0(vyv4000, vyv5000))) 248.95/165.34 new_primPlusNat0(Zero, Succ(vyv5000)) -> Succ(vyv5000) 248.95/165.34 new_primPlusNat0(Zero, Zero) -> Zero 248.95/165.34 new_primPlusNat0(Succ(vyv4000), Zero) -> Succ(vyv4000) 248.95/165.34 new_sr7(vyv183) -> error([]) 248.95/165.34 new_esEs1(Integer(vyv2690)) -> new_primEqInt(vyv2690) 248.95/165.34 new_sr6(Neg(vyv1830)) -> Pos(new_primMulNat1(vyv1830)) 248.95/165.34 new_sr6(Pos(vyv1830)) -> Pos(new_primMulNat1(vyv1830)) 248.95/165.34 new_primMulNat1(Succ(vyv18300)) -> new_primPlusNat0(new_primMulNat2(vyv18300), Succ(vyv18300)) 248.95/165.34 new_primMulNat1(Zero) -> Zero 248.95/165.34 new_primMulNat2(Succ(vyv183000)) -> new_primPlusNat0(new_primMulNat3(vyv183000), Succ(Succ(vyv183000))) 248.95/165.34 new_primMulNat2(Zero) -> Zero 248.95/165.34 new_primMulNat3(Succ(vyv1830000)) -> new_primPlusNat0(new_primMulNat4(vyv1830000), Succ(Succ(Succ(vyv1830000)))) 248.95/165.34 new_primMulNat3(Zero) -> Zero 248.95/165.34 new_primMulNat4(Succ(vyv18300000)) -> new_primPlusNat0(new_primMulNat0(vyv18300000, Succ(Succ(Succ(Succ(vyv18300000))))), Succ(Succ(Succ(Succ(vyv18300000))))) 248.95/165.34 new_primMulNat4(Zero) -> Zero 248.95/165.34 new_ms(vyv228, Neg(vyv2440)) -> Pos(new_primPlusNat0(Succ(vyv228), vyv2440)) 248.95/165.34 new_ms(vyv228, Pos(Succ(vyv24400))) -> new_primMinusNat0(vyv228, vyv24400) 248.95/165.34 new_ms(vyv228, Pos(Zero)) -> Pos(Succ(vyv228)) 248.95/165.34 new_sr2(vyv227, vyv226, ty_Int) -> new_sr14(vyv227, vyv226) 248.95/165.34 new_sr2(vyv227, vyv226, ty_Double) -> new_sr11(vyv227, vyv226) 248.95/165.34 new_sr2(vyv227, vyv226, ty_Integer) -> new_sr8(vyv227, vyv226) 248.95/165.34 new_sr2(vyv227, vyv226, ty_Float) -> new_sr13(vyv227, vyv226) 248.95/165.34 new_sr2(vyv227, vyv226, app(ty_Ratio, be)) -> new_sr12(vyv227, vyv226, be) 248.95/165.34 new_sr12(:%(vyv2390, vyv2391), :%(vyv2380, vyv2381), bf) -> new_reduce2Reduce1(vyv2390, vyv2380, vyv2391, vyv2381, new_esEs2(vyv2391, vyv2381, bf), bf) 248.95/165.34 new_esEs2(vyv2391, vyv2381, ty_Int) -> new_esEs(new_sr14(vyv2391, vyv2381)) 248.95/165.34 new_esEs2(vyv2391, vyv2381, ty_Integer) -> new_esEs1(new_sr8(vyv2391, vyv2381)) 248.95/165.34 new_sr13(vyv239, vyv238) -> error([]) 248.95/165.34 new_sr11(vyv239, vyv238) -> error([]) 248.95/165.34 new_primMinusNat0(Succ(vyv2280), Succ(vyv244000)) -> new_primMinusNat0(vyv2280, vyv244000) 248.95/165.34 new_primMinusNat0(Zero, Zero) -> Pos(Zero) 248.95/165.34 new_primMinusNat0(Zero, Succ(vyv244000)) -> Neg(Succ(vyv244000)) 248.95/165.34 new_primMinusNat0(Succ(vyv2280), Zero) -> Pos(Succ(vyv2280)) 248.95/165.34 new_sr3(vyv249, ty_Float) -> new_sr10(vyv249) 248.95/165.34 new_sr3(vyv249, ty_Double) -> new_sr9(vyv249) 248.95/165.34 new_sr3(vyv249, ty_Int) -> new_sr6(vyv249) 248.95/165.34 new_sr3(vyv249, ty_Integer) -> new_sr7(vyv249) 248.95/165.34 new_sr3(vyv249, app(ty_Ratio, bg)) -> new_sr5(vyv249, bg) 248.95/165.34 new_ms0(vyv240, Neg(Zero)) -> Neg(Succ(vyv240)) 248.95/165.34 new_ms0(vyv240, Pos(vyv2430)) -> Neg(new_primPlusNat0(Succ(vyv240), vyv2430)) 248.95/165.34 new_ms0(vyv240, Neg(Succ(vyv24300))) -> new_primMinusNat0(vyv24300, vyv240) 248.95/165.34 new_sr4(vyv239, vyv238, app(ty_Ratio, bf)) -> new_sr12(vyv239, vyv238, bf) 248.95/165.34 new_sr4(vyv239, vyv238, ty_Integer) -> new_sr8(vyv239, vyv238) 248.95/165.34 new_sr4(vyv239, vyv238, ty_Int) -> new_sr14(vyv239, vyv238) 248.95/165.34 new_sr4(vyv239, vyv238, ty_Double) -> new_sr11(vyv239, vyv238) 248.95/165.34 new_sr4(vyv239, vyv238, ty_Float) -> new_sr13(vyv239, vyv238) 248.95/165.34 248.95/165.34 The set Q consists of the following terms: 248.95/165.34 248.95/165.34 new_rem(Pos(x0), Pos(Succ(x1))) 248.95/165.34 new_quot1(x0, x1, x2, x3, ty_Integer) 248.95/165.34 new_primModNatS1(Succ(Zero), Succ(x0)) 248.95/165.34 new_ms0(x0, Pos(x1)) 248.95/165.34 new_primMulNat4(Zero) 248.95/165.34 new_gcd1(False, x0, x1) 248.95/165.34 new_primEqInt(Pos(Zero)) 248.95/165.34 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 248.95/165.34 new_rem(Pos(x0), Neg(Succ(x1))) 248.95/165.34 new_rem(Neg(x0), Pos(Succ(x1))) 248.95/165.34 new_sr10(x0) 248.95/165.34 new_quot1(x0, x1, x2, x3, ty_Int) 248.95/165.34 new_quot2(x0, x1, x2, x3, ty_Integer) 248.95/165.34 new_primModNatS01(x0, x1, Succ(x2), Zero) 248.95/165.34 new_sr3(x0, ty_Integer) 248.95/165.34 new_primMulNat3(Zero) 248.95/165.34 new_primDivNatS02(x0, x1, Succ(x2), Zero) 248.95/165.34 new_quot2(x0, x1, x2, x3, ty_Int) 248.95/165.34 new_gcd2(False, x0, x1) 248.95/165.34 new_primDivNatS1(Succ(Zero), Zero) 248.95/165.34 new_esEs0(x0, ty_Int) 248.95/165.34 new_sr14(Pos(x0), Pos(x1)) 248.95/165.34 new_sr3(x0, ty_Int) 248.95/165.34 new_primMulNat0(Zero, Zero) 248.95/165.34 new_sr4(x0, x1, ty_Double) 248.95/165.34 new_primPlusNat0(Succ(x0), Zero) 248.95/165.34 new_primMulNat2(Zero) 248.95/165.34 new_sr11(x0, x1) 248.95/165.34 new_primModNatS01(x0, x1, Zero, Zero) 248.95/165.34 new_esEs2(x0, x1, ty_Int) 248.95/165.34 new_gcd1(True, x0, x1) 248.95/165.34 new_sr13(x0, x1) 248.95/165.34 new_sr14(Pos(x0), Neg(x1)) 248.95/165.34 new_sr14(Neg(x0), Pos(x1)) 248.95/165.34 new_primDivNatS1(Succ(Succ(x0)), Succ(x1)) 248.95/165.34 new_sr1(x0, ty_Int) 248.95/165.34 new_primModNatS1(Zero, x0) 248.95/165.34 new_esEs(Pos(Succ(x0))) 248.95/165.34 new_primMulNat3(Succ(x0)) 248.95/165.34 new_sr1(x0, app(ty_Ratio, x1)) 248.95/165.34 new_primQuotInt(x0, Neg(Succ(x1))) 248.95/165.34 new_reduce2Reduce1(x0, x1, x2, x3, False, x4) 248.95/165.34 new_primMinusNat0(Zero, Zero) 248.95/165.34 new_primDivNatS1(Zero, x0) 248.95/165.34 new_primDivNatS02(x0, x1, Succ(x2), Succ(x3)) 248.95/165.34 new_primModNatS02(x0, x1) 248.95/165.34 new_primDivNatS1(Succ(Zero), Succ(x0)) 248.95/165.34 new_sr6(Neg(x0)) 248.95/165.34 new_gcd0Gcd'10(True, x0, x1) 248.95/165.34 new_primMulNat0(Succ(x0), Succ(x1)) 248.95/165.34 new_abs(Neg(Zero)) 248.95/165.34 new_ms(x0, Neg(x1)) 248.95/165.34 new_rem(Pos(x0), Neg(Zero)) 248.95/165.34 new_rem(Neg(x0), Pos(Zero)) 248.95/165.34 new_primMinusNatS2(Zero, Succ(x0)) 248.95/165.34 new_esEs(Neg(Succ(x0))) 248.95/165.34 new_error 248.95/165.34 new_primModNatS1(Succ(Zero), Zero) 248.95/165.34 new_primMulNat0(Zero, Succ(x0)) 248.95/165.34 new_sr3(x0, ty_Float) 248.95/165.34 new_quot(x0, x1, x2) 248.95/165.34 new_gcd2(True, x0, x1) 248.95/165.34 new_gcd0Gcd'11(True, x0, x1) 248.95/165.34 new_primEqInt(Neg(Zero)) 248.95/165.34 new_sr2(x0, x1, ty_Double) 248.95/165.34 new_primMulNat0(Succ(x0), Zero) 248.95/165.34 new_quot0(Neg(x0), x1, x2) 248.95/165.34 new_primMinusNatS2(Succ(x0), Succ(x1)) 248.95/165.34 new_sr4(x0, x1, app(ty_Ratio, x2)) 248.95/165.34 new_sr8(x0, x1) 248.95/165.34 new_primDivNatS01(x0, x1) 248.95/165.34 new_primDivNatS02(x0, x1, Zero, Succ(x2)) 248.95/165.34 new_primPlusNat0(Succ(x0), Succ(x1)) 248.95/165.34 new_sr1(x0, ty_Integer) 248.95/165.34 new_primPlusNat0(Zero, Zero) 248.95/165.34 new_sr1(x0, ty_Float) 248.95/165.34 new_primMinusNat0(Succ(x0), Succ(x1)) 248.95/165.34 new_sr12(:%(x0, x1), :%(x2, x3), x4) 248.95/165.34 new_abs(Neg(Succ(x0))) 248.95/165.34 new_sr1(x0, ty_Double) 248.95/165.34 new_sr3(x0, app(ty_Ratio, x1)) 248.95/165.34 new_sr7(x0) 248.95/165.34 new_gcd0(x0, x1) 248.95/165.34 new_primQuotInt0(x0, Pos(Succ(x1))) 248.95/165.34 new_sr4(x0, x1, ty_Integer) 248.95/165.34 new_sr5(:%(x0, x1), x2) 248.95/165.34 new_primMinusNatS2(Zero, Zero) 248.95/165.34 new_primMulNat1(Succ(x0)) 248.95/165.34 new_ms(x0, Pos(Zero)) 248.95/165.34 new_abs(Pos(Succ(x0))) 248.95/165.34 new_sr4(x0, x1, ty_Int) 248.95/165.34 new_esEs(Pos(Zero)) 248.95/165.34 new_primQuotInt0(x0, Pos(Zero)) 248.95/165.34 new_primEqInt(Neg(Succ(x0))) 248.95/165.34 new_primQuotInt(x0, Neg(Zero)) 248.95/165.34 new_primQuotInt0(x0, Neg(Zero)) 248.95/165.34 new_primQuotInt0(x0, Neg(Succ(x1))) 248.95/165.34 new_gcd(x0, x1) 248.95/165.34 new_quot0(Pos(x0), x1, x2) 248.95/165.34 new_primMinusNatS0(x0) 248.95/165.34 new_primPlusNat0(Zero, Succ(x0)) 248.95/165.34 new_sr2(x0, x1, app(ty_Ratio, x2)) 248.95/165.34 new_sr2(x0, x1, ty_Int) 248.95/165.34 new_primQuotInt(x0, Pos(Succ(x1))) 248.95/165.34 new_primDivNatS1(Succ(Succ(x0)), Zero) 248.95/165.34 new_rem(Pos(x0), Pos(Zero)) 248.95/165.34 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 248.95/165.34 new_primDivNatS02(x0, x1, Zero, Zero) 248.95/165.34 new_abs(Pos(Zero)) 248.95/165.34 new_gcd0Gcd'10(False, x0, x1) 248.95/165.34 new_ms(x0, Pos(Succ(x1))) 248.95/165.34 new_primMinusNatS1 248.95/165.34 new_esEs1(Integer(x0)) 248.95/165.34 new_ms0(x0, Neg(Zero)) 248.95/165.34 new_primMinusNat0(Succ(x0), Zero) 248.95/165.34 new_ms0(x0, Neg(Succ(x1))) 248.95/165.34 new_sr2(x0, x1, ty_Integer) 248.95/165.34 new_primModNatS01(x0, x1, Zero, Succ(x2)) 248.95/165.34 new_primMulNat2(Succ(x0)) 248.95/165.34 new_sr14(Neg(x0), Neg(x1)) 248.95/165.34 new_sr2(x0, x1, ty_Float) 248.95/165.34 new_primMinusNatS2(Succ(x0), Zero) 248.95/165.34 new_sr4(x0, x1, ty_Float) 248.95/165.34 new_sr6(Pos(x0)) 248.95/165.34 new_esEs2(x0, x1, ty_Integer) 248.95/165.34 new_primMulNat4(Succ(x0)) 248.95/165.34 new_rem(Neg(x0), Neg(Succ(x1))) 248.95/165.34 new_primEqInt(Pos(Succ(x0))) 248.95/165.34 new_primQuotInt(x0, Pos(Zero)) 248.95/165.34 new_gcd0Gcd'11(False, x0, x1) 248.95/165.34 new_sr9(x0) 248.95/165.34 new_primModNatS1(Succ(Succ(x0)), Zero) 248.95/165.34 new_esEs0(x0, ty_Integer) 248.95/165.34 new_gcd0Gcd'00(x0, x1) 248.95/165.34 new_reduce2Reduce1(x0, x1, x2, x3, True, x4) 248.95/165.34 new_sr3(x0, ty_Double) 248.95/165.34 new_esEs(Neg(Zero)) 248.95/165.34 new_primMulNat1(Zero) 248.95/165.34 new_primMinusNat0(Zero, Succ(x0)) 248.95/165.34 new_rem(Neg(x0), Neg(Zero)) 248.95/165.34 248.95/165.34 We have to consider all minimal (P,Q,R)-chains. 248.95/165.34 ---------------------------------------- 248.95/165.34 248.95/165.34 (799) TransformationProof (EQUIVALENT) 248.95/165.34 By instantiating [LPAR04] the rule new_pr2F30(False, vyv239, vyv240, vyv243, vyv238, bc) -> new_pr2F0(vyv239, new_ms0(vyv240, vyv243), new_sr4(vyv239, vyv238, bc), bc) we obtained the following new rules [LPAR04]: 248.95/165.34 248.95/165.34 (new_pr2F30(False, z0, z1, Pos(Succ(Zero)), z2, z3) -> new_pr2F0(z0, new_ms0(z1, Pos(Succ(Zero))), new_sr4(z0, z2, z3), z3),new_pr2F30(False, z0, z1, Pos(Succ(Zero)), z2, z3) -> new_pr2F0(z0, new_ms0(z1, Pos(Succ(Zero))), new_sr4(z0, z2, z3), z3)) 248.95/165.34 248.95/165.34 248.95/165.34 ---------------------------------------- 248.95/165.34 248.95/165.34 (800) 248.95/165.34 Obligation: 248.95/165.34 Q DP problem: 248.95/165.34 The TRS P consists of the following rules: 248.95/165.34 248.95/165.34 new_pr2F0G11(vyv238, vyv239, vyv240, bc) -> new_pr2F1(vyv239, vyv240, Pos(Succ(Zero)), vyv238, bc) 248.95/165.34 new_pr2F0(vyv183, Neg(Succ(Succ(vyv222000))), vyv187, h) -> new_pr2F0G10(vyv187, vyv183, Succ(vyv222000), vyv222000, h) 248.95/165.34 new_pr2F0G10(vyv248, vyv249, vyv250, Succ(Succ(vyv25100)), bb) -> new_pr2F0G10(vyv248, vyv249, vyv250, vyv25100, bb) 248.95/165.34 new_pr2F0G10(vyv248, vyv249, vyv250, Succ(Zero), bb) -> new_pr2F0G11(vyv248, vyv249, vyv250, bb) 248.95/165.34 new_pr2F0G10(vyv248, vyv249, vyv250, Zero, bb) -> new_pr2F0G(vyv248, new_sr3(vyv249, bb), Neg(new_primDivNatS1(Succ(vyv250), Succ(Zero))), bb) 248.95/165.34 new_pr2F0G(vyv187, vyv183, Neg(Succ(Zero)), h) -> new_pr2F0G11(vyv187, vyv183, Zero, h) 248.95/165.34 new_pr2F0G(vyv187, vyv183, Neg(Succ(Succ(vyv222000))), h) -> new_pr2F0G10(vyv187, vyv183, Succ(vyv222000), vyv222000, h) 248.95/165.34 new_pr2F0(vyv183, Neg(Succ(Zero)), vyv187, h) -> new_pr2F0G11(vyv187, vyv183, Zero, h) 248.95/165.34 new_pr2F0(vyv183, Pos(Succ(Succ(vyv222000))), vyv187, h) -> new_pr2F0G1(vyv187, vyv183, Succ(vyv222000), vyv222000, h) 248.95/165.34 new_pr2F0G1(vyv226, vyv227, vyv228, Succ(Succ(vyv22900)), ba) -> new_pr2F0G1(vyv226, vyv227, vyv228, vyv22900, ba) 248.95/165.34 new_pr2F0G1(vyv226, vyv227, vyv228, Succ(Zero), ba) -> new_pr2F(vyv227, vyv228, Pos(Succ(Zero)), vyv226, ba) 248.95/165.34 new_pr2F(vyv227, vyv228, vyv244, vyv226, ba) -> new_pr2F3(new_esEs(new_ms(vyv228, vyv244)), vyv227, vyv228, vyv244, vyv226, ba) 248.95/165.34 new_pr2F3(False, vyv227, vyv228, vyv244, vyv226, ba) -> new_pr2F0(vyv227, new_ms(vyv228, vyv244), new_sr2(vyv227, vyv226, ba), ba) 248.95/165.34 new_pr2F0(vyv183, Pos(Succ(Zero)), vyv187, h) -> new_pr2F(vyv183, Zero, Pos(Succ(Zero)), vyv187, h) 248.95/165.34 new_pr2F0G1(vyv226, vyv227, vyv228, Zero, ba) -> new_pr2F0G(vyv226, new_sr1(vyv227, ba), Pos(new_primDivNatS1(Succ(vyv228), Succ(Zero))), ba) 248.95/165.34 new_pr2F0G(vyv187, vyv183, Pos(Succ(Succ(vyv222000))), h) -> new_pr2F0G1(vyv187, vyv183, Succ(vyv222000), vyv222000, h) 248.95/165.34 new_pr2F0G(vyv187, vyv183, Pos(Succ(Zero)), h) -> new_pr2F(vyv183, Zero, Pos(Succ(Zero)), vyv187, h) 248.95/165.34 new_pr2F1(z1, z2, Pos(Succ(Zero)), z0, z3) -> new_pr2F30(False, z1, z2, Pos(Succ(Zero)), z0, z3) 248.95/165.34 new_pr2F30(False, z0, z1, Pos(Succ(Zero)), z2, z3) -> new_pr2F0(z0, new_ms0(z1, Pos(Succ(Zero))), new_sr4(z0, z2, z3), z3) 248.95/165.34 248.95/165.34 The TRS R consists of the following rules: 248.95/165.34 248.95/165.34 new_sr1(vyv227, ty_Int) -> new_sr6(vyv227) 248.95/165.34 new_sr1(vyv227, ty_Integer) -> new_sr7(vyv227) 248.95/165.34 new_sr1(vyv227, app(ty_Ratio, be)) -> new_sr5(vyv227, be) 248.95/165.34 new_sr1(vyv227, ty_Float) -> new_sr10(vyv227) 248.95/165.34 new_sr1(vyv227, ty_Double) -> new_sr9(vyv227) 248.95/165.34 new_primDivNatS1(Succ(Zero), Succ(vyv284000)) -> Zero 248.95/165.34 new_primDivNatS1(Succ(Succ(vyv270000)), Succ(vyv284000)) -> new_primDivNatS02(vyv270000, vyv284000, vyv270000, vyv284000) 248.95/165.34 new_primDivNatS02(vyv310, vyv311, Zero, Zero) -> new_primDivNatS01(vyv310, vyv311) 248.95/165.34 new_primDivNatS02(vyv310, vyv311, Succ(vyv3120), Zero) -> new_primDivNatS01(vyv310, vyv311) 248.95/165.34 new_primDivNatS02(vyv310, vyv311, Zero, Succ(vyv3130)) -> Zero 248.95/165.34 new_primDivNatS02(vyv310, vyv311, Succ(vyv3120), Succ(vyv3130)) -> new_primDivNatS02(vyv310, vyv311, vyv3120, vyv3130) 248.95/165.34 new_primDivNatS01(vyv310, vyv311) -> Succ(new_primDivNatS1(new_primMinusNatS2(vyv310, vyv311), Succ(vyv311))) 248.95/165.34 new_primMinusNatS2(Zero, Succ(vyv3110)) -> Zero 248.95/165.34 new_primMinusNatS2(Succ(vyv3100), Zero) -> Succ(vyv3100) 248.95/165.34 new_primMinusNatS2(Zero, Zero) -> Zero 248.95/165.34 new_primMinusNatS2(Succ(vyv3100), Succ(vyv3110)) -> new_primMinusNatS2(vyv3100, vyv3110) 248.95/165.34 new_primDivNatS1(Zero, vyv28400) -> Zero 248.95/165.34 new_sr9(vyv183) -> error([]) 248.95/165.34 new_sr10(vyv183) -> error([]) 248.95/165.34 new_sr5(:%(vyv1830, vyv1831), bd) -> new_reduce2Reduce1(vyv1830, vyv1830, vyv1831, vyv1831, new_esEs0(vyv1831, bd), bd) 248.95/165.34 new_esEs0(vyv1831, ty_Int) -> new_esEs(new_sr6(vyv1831)) 248.95/165.34 new_esEs0(vyv1831, ty_Integer) -> new_esEs1(new_sr7(vyv1831)) 248.95/165.34 new_reduce2Reduce1(vyv264, vyv265, vyv266, vyv267, False, bh) -> :%(new_quot1(vyv264, vyv265, vyv266, vyv267, bh), new_quot2(vyv266, vyv267, vyv264, vyv265, bh)) 248.95/165.34 new_reduce2Reduce1(vyv264, vyv265, vyv266, vyv267, True, bh) -> error([]) 248.95/165.34 new_quot1(vyv264, vyv265, vyv266, vyv267, ty_Int) -> new_quot0(new_sr14(vyv264, vyv265), new_sr14(vyv264, vyv265), new_sr14(vyv266, vyv267)) 248.95/165.34 new_quot1(vyv264, vyv265, vyv266, vyv267, ty_Integer) -> new_quot(new_sr8(vyv264, vyv265), new_sr8(vyv264, vyv265), new_sr8(vyv266, vyv267)) 248.95/165.34 new_quot2(vyv266, vyv267, vyv264, vyv265, ty_Int) -> new_quot0(new_sr14(vyv266, vyv267), new_sr14(vyv264, vyv265), new_sr14(vyv266, vyv267)) 248.95/165.34 new_quot2(vyv266, vyv267, vyv264, vyv265, ty_Integer) -> new_quot(new_sr8(vyv266, vyv267), new_sr8(vyv264, vyv265), new_sr8(vyv266, vyv267)) 248.95/165.34 new_sr8(vyv239, vyv238) -> error([]) 248.95/165.34 new_quot(vyv273, vyv275, vyv274) -> error([]) 248.95/165.34 new_sr14(Pos(vyv2390), Neg(vyv2380)) -> Neg(new_primMulNat0(vyv2390, vyv2380)) 248.95/165.34 new_sr14(Neg(vyv2390), Pos(vyv2380)) -> Neg(new_primMulNat0(vyv2390, vyv2380)) 248.95/165.34 new_sr14(Neg(vyv2390), Neg(vyv2380)) -> Pos(new_primMulNat0(vyv2390, vyv2380)) 248.95/165.34 new_sr14(Pos(vyv2390), Pos(vyv2380)) -> Pos(new_primMulNat0(vyv2390, vyv2380)) 248.95/165.34 new_quot0(Neg(vyv2700), vyv272, vyv271) -> new_primQuotInt0(vyv2700, new_gcd(vyv272, vyv271)) 248.95/165.34 new_quot0(Pos(vyv2700), vyv272, vyv271) -> new_primQuotInt(vyv2700, new_gcd(vyv272, vyv271)) 248.95/165.34 new_gcd(vyv272, vyv271) -> new_gcd2(new_esEs(vyv272), vyv272, vyv271) 248.95/165.34 new_primQuotInt(vyv2700, Pos(Succ(vyv28400))) -> Pos(new_primDivNatS1(vyv2700, vyv28400)) 248.95/165.34 new_primQuotInt(vyv2700, Neg(Zero)) -> new_error 248.95/165.34 new_primQuotInt(vyv2700, Pos(Zero)) -> new_error 248.95/165.34 new_primQuotInt(vyv2700, Neg(Succ(vyv28400))) -> Neg(new_primDivNatS1(vyv2700, vyv28400)) 248.95/165.34 new_primDivNatS1(Succ(Succ(vyv270000)), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS0(vyv270000), Zero)) 248.95/165.34 new_primDivNatS1(Succ(Zero), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS1, Zero)) 248.95/165.34 new_primMinusNatS1 -> Zero 248.95/165.34 new_primMinusNatS0(vyv270000) -> Succ(vyv270000) 248.95/165.34 new_error -> error([]) 248.95/165.34 new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) 248.95/165.34 new_esEs(Pos(Succ(vyv24100))) -> new_primEqInt(Pos(Succ(vyv24100))) 248.95/165.34 new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) 248.95/165.34 new_esEs(Neg(Succ(vyv24100))) -> new_primEqInt(Neg(Succ(vyv24100))) 248.95/165.34 new_gcd2(True, vyv272, vyv271) -> new_gcd1(new_esEs(vyv271), vyv272, vyv271) 248.95/165.34 new_gcd2(False, vyv272, vyv271) -> new_gcd0(vyv272, vyv271) 248.95/165.34 new_gcd0(vyv272, vyv271) -> new_gcd0Gcd'10(new_esEs(new_abs(vyv271)), vyv272, vyv271) 248.95/165.34 new_abs(Neg(Zero)) -> Neg(Zero) 248.95/165.34 new_abs(Neg(Succ(vyv27100))) -> Pos(Succ(vyv27100)) 248.95/165.34 new_abs(Pos(Succ(vyv27100))) -> Pos(Succ(vyv27100)) 248.95/165.34 new_abs(Pos(Zero)) -> Pos(Zero) 248.95/165.34 new_gcd0Gcd'10(True, vyv272, vyv271) -> new_abs(vyv272) 248.95/165.34 new_gcd0Gcd'10(False, vyv272, vyv271) -> new_gcd0Gcd'00(new_abs(vyv272), new_abs(vyv271)) 248.95/165.34 new_gcd0Gcd'00(vyv292, vyv291) -> new_gcd0Gcd'11(new_esEs(new_rem(vyv292, vyv291)), vyv291, vyv292) 248.95/165.34 new_gcd0Gcd'11(False, vyv291, vyv292) -> new_gcd0Gcd'00(vyv291, new_rem(vyv292, vyv291)) 248.95/165.34 new_rem(Pos(vyv2920), Neg(Zero)) -> new_error 248.95/165.34 new_rem(Neg(vyv2920), Pos(Zero)) -> new_error 248.95/165.34 new_rem(Pos(vyv2920), Neg(Succ(vyv29100))) -> Pos(new_primModNatS1(vyv2920, vyv29100)) 248.95/165.34 new_rem(Neg(vyv2920), Pos(Succ(vyv29100))) -> Neg(new_primModNatS1(vyv2920, vyv29100)) 248.95/165.34 new_rem(Pos(vyv2920), Pos(Succ(vyv29100))) -> Pos(new_primModNatS1(vyv2920, vyv29100)) 248.95/165.34 new_rem(Neg(vyv2920), Neg(Zero)) -> new_error 248.95/165.34 new_rem(Neg(vyv2920), Neg(Succ(vyv29100))) -> Neg(new_primModNatS1(vyv2920, vyv29100)) 248.95/165.34 new_rem(Pos(vyv2920), Pos(Zero)) -> new_error 248.95/165.34 new_gcd0Gcd'11(True, vyv291, vyv292) -> vyv291 248.95/165.34 new_primModNatS1(Succ(Zero), Succ(vyv291000)) -> Succ(Zero) 248.95/165.34 new_primModNatS1(Zero, vyv29100) -> Zero 248.95/165.34 new_primModNatS1(Succ(Succ(vyv292000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv292000), Zero) 248.95/165.34 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 248.95/165.34 new_primModNatS1(Succ(Succ(vyv292000)), Succ(vyv291000)) -> new_primModNatS01(vyv292000, vyv291000, vyv292000, vyv291000) 248.95/165.34 new_primModNatS01(vyv330, vyv331, Zero, Zero) -> new_primModNatS02(vyv330, vyv331) 248.95/165.34 new_primModNatS02(vyv330, vyv331) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv330), Succ(vyv331)), Succ(vyv331)) 248.95/165.34 new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Zero) -> new_primModNatS02(vyv330, vyv331) 248.95/165.34 new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Succ(vyv3330)) -> new_primModNatS01(vyv330, vyv331, vyv3320, vyv3330) 248.95/165.34 new_primModNatS01(vyv330, vyv331, Zero, Succ(vyv3330)) -> Succ(Succ(vyv330)) 248.95/165.34 new_gcd1(True, vyv272, vyv271) -> new_error 248.95/165.34 new_gcd1(False, vyv272, vyv271) -> new_gcd0(vyv272, vyv271) 248.95/165.34 new_primEqInt(Neg(Succ(vyv242000))) -> False 248.95/165.34 new_primEqInt(Pos(Zero)) -> True 248.95/165.34 new_primEqInt(Pos(Succ(vyv242000))) -> False 248.95/165.34 new_primEqInt(Neg(Zero)) -> True 248.95/165.34 new_primQuotInt0(vyv2700, Pos(Succ(vyv28700))) -> Neg(new_primDivNatS1(vyv2700, vyv28700)) 248.95/165.34 new_primQuotInt0(vyv2700, Neg(Zero)) -> new_error 248.95/165.34 new_primQuotInt0(vyv2700, Neg(Succ(vyv28700))) -> Pos(new_primDivNatS1(vyv2700, vyv28700)) 248.95/165.34 new_primQuotInt0(vyv2700, Pos(Zero)) -> new_error 248.95/165.34 new_primMulNat0(Succ(vyv23900), Zero) -> Zero 248.95/165.34 new_primMulNat0(Zero, Succ(vyv23800)) -> Zero 248.95/165.34 new_primMulNat0(Zero, Zero) -> Zero 248.95/165.34 new_primMulNat0(Succ(vyv23900), Succ(vyv23800)) -> new_primPlusNat0(new_primMulNat0(vyv23900, Succ(vyv23800)), Succ(vyv23800)) 248.95/165.34 new_primPlusNat0(Succ(vyv4000), Succ(vyv5000)) -> Succ(Succ(new_primPlusNat0(vyv4000, vyv5000))) 248.95/165.34 new_primPlusNat0(Zero, Succ(vyv5000)) -> Succ(vyv5000) 248.95/165.34 new_primPlusNat0(Zero, Zero) -> Zero 248.95/165.34 new_primPlusNat0(Succ(vyv4000), Zero) -> Succ(vyv4000) 248.95/165.34 new_sr7(vyv183) -> error([]) 248.95/165.34 new_esEs1(Integer(vyv2690)) -> new_primEqInt(vyv2690) 248.95/165.34 new_sr6(Neg(vyv1830)) -> Pos(new_primMulNat1(vyv1830)) 248.95/165.34 new_sr6(Pos(vyv1830)) -> Pos(new_primMulNat1(vyv1830)) 248.95/165.34 new_primMulNat1(Succ(vyv18300)) -> new_primPlusNat0(new_primMulNat2(vyv18300), Succ(vyv18300)) 248.95/165.34 new_primMulNat1(Zero) -> Zero 248.95/165.34 new_primMulNat2(Succ(vyv183000)) -> new_primPlusNat0(new_primMulNat3(vyv183000), Succ(Succ(vyv183000))) 248.95/165.34 new_primMulNat2(Zero) -> Zero 248.95/165.34 new_primMulNat3(Succ(vyv1830000)) -> new_primPlusNat0(new_primMulNat4(vyv1830000), Succ(Succ(Succ(vyv1830000)))) 248.95/165.34 new_primMulNat3(Zero) -> Zero 248.95/165.34 new_primMulNat4(Succ(vyv18300000)) -> new_primPlusNat0(new_primMulNat0(vyv18300000, Succ(Succ(Succ(Succ(vyv18300000))))), Succ(Succ(Succ(Succ(vyv18300000))))) 248.95/165.34 new_primMulNat4(Zero) -> Zero 248.95/165.34 new_ms(vyv228, Neg(vyv2440)) -> Pos(new_primPlusNat0(Succ(vyv228), vyv2440)) 248.95/165.34 new_ms(vyv228, Pos(Succ(vyv24400))) -> new_primMinusNat0(vyv228, vyv24400) 248.95/165.34 new_ms(vyv228, Pos(Zero)) -> Pos(Succ(vyv228)) 248.95/165.34 new_sr2(vyv227, vyv226, ty_Int) -> new_sr14(vyv227, vyv226) 248.95/165.34 new_sr2(vyv227, vyv226, ty_Double) -> new_sr11(vyv227, vyv226) 248.95/165.34 new_sr2(vyv227, vyv226, ty_Integer) -> new_sr8(vyv227, vyv226) 248.95/165.34 new_sr2(vyv227, vyv226, ty_Float) -> new_sr13(vyv227, vyv226) 248.95/165.34 new_sr2(vyv227, vyv226, app(ty_Ratio, be)) -> new_sr12(vyv227, vyv226, be) 248.95/165.34 new_sr12(:%(vyv2390, vyv2391), :%(vyv2380, vyv2381), bf) -> new_reduce2Reduce1(vyv2390, vyv2380, vyv2391, vyv2381, new_esEs2(vyv2391, vyv2381, bf), bf) 248.95/165.34 new_esEs2(vyv2391, vyv2381, ty_Int) -> new_esEs(new_sr14(vyv2391, vyv2381)) 248.95/165.34 new_esEs2(vyv2391, vyv2381, ty_Integer) -> new_esEs1(new_sr8(vyv2391, vyv2381)) 248.95/165.34 new_sr13(vyv239, vyv238) -> error([]) 248.95/165.34 new_sr11(vyv239, vyv238) -> error([]) 248.95/165.34 new_primMinusNat0(Succ(vyv2280), Succ(vyv244000)) -> new_primMinusNat0(vyv2280, vyv244000) 248.95/165.34 new_primMinusNat0(Zero, Zero) -> Pos(Zero) 248.95/165.34 new_primMinusNat0(Zero, Succ(vyv244000)) -> Neg(Succ(vyv244000)) 248.95/165.34 new_primMinusNat0(Succ(vyv2280), Zero) -> Pos(Succ(vyv2280)) 248.95/165.34 new_sr3(vyv249, ty_Float) -> new_sr10(vyv249) 248.95/165.34 new_sr3(vyv249, ty_Double) -> new_sr9(vyv249) 248.95/165.34 new_sr3(vyv249, ty_Int) -> new_sr6(vyv249) 248.95/165.34 new_sr3(vyv249, ty_Integer) -> new_sr7(vyv249) 248.95/165.34 new_sr3(vyv249, app(ty_Ratio, bg)) -> new_sr5(vyv249, bg) 248.95/165.34 new_ms0(vyv240, Neg(Zero)) -> Neg(Succ(vyv240)) 248.95/165.34 new_ms0(vyv240, Pos(vyv2430)) -> Neg(new_primPlusNat0(Succ(vyv240), vyv2430)) 248.95/165.34 new_ms0(vyv240, Neg(Succ(vyv24300))) -> new_primMinusNat0(vyv24300, vyv240) 248.95/165.34 new_sr4(vyv239, vyv238, app(ty_Ratio, bf)) -> new_sr12(vyv239, vyv238, bf) 248.95/165.34 new_sr4(vyv239, vyv238, ty_Integer) -> new_sr8(vyv239, vyv238) 248.95/165.34 new_sr4(vyv239, vyv238, ty_Int) -> new_sr14(vyv239, vyv238) 248.95/165.34 new_sr4(vyv239, vyv238, ty_Double) -> new_sr11(vyv239, vyv238) 248.95/165.34 new_sr4(vyv239, vyv238, ty_Float) -> new_sr13(vyv239, vyv238) 248.95/165.34 248.95/165.34 The set Q consists of the following terms: 248.95/165.34 248.95/165.34 new_rem(Pos(x0), Pos(Succ(x1))) 248.95/165.34 new_quot1(x0, x1, x2, x3, ty_Integer) 248.95/165.34 new_primModNatS1(Succ(Zero), Succ(x0)) 248.95/165.34 new_ms0(x0, Pos(x1)) 248.95/165.34 new_primMulNat4(Zero) 248.95/165.34 new_gcd1(False, x0, x1) 248.95/165.34 new_primEqInt(Pos(Zero)) 248.95/165.34 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 248.95/165.34 new_rem(Pos(x0), Neg(Succ(x1))) 248.95/165.34 new_rem(Neg(x0), Pos(Succ(x1))) 248.95/165.34 new_sr10(x0) 248.95/165.34 new_quot1(x0, x1, x2, x3, ty_Int) 248.95/165.34 new_quot2(x0, x1, x2, x3, ty_Integer) 248.95/165.34 new_primModNatS01(x0, x1, Succ(x2), Zero) 248.95/165.34 new_sr3(x0, ty_Integer) 248.95/165.34 new_primMulNat3(Zero) 248.95/165.34 new_primDivNatS02(x0, x1, Succ(x2), Zero) 248.95/165.34 new_quot2(x0, x1, x2, x3, ty_Int) 248.95/165.34 new_gcd2(False, x0, x1) 248.95/165.34 new_primDivNatS1(Succ(Zero), Zero) 248.95/165.34 new_esEs0(x0, ty_Int) 248.95/165.34 new_sr14(Pos(x0), Pos(x1)) 248.95/165.34 new_sr3(x0, ty_Int) 248.95/165.34 new_primMulNat0(Zero, Zero) 248.95/165.34 new_sr4(x0, x1, ty_Double) 248.95/165.34 new_primPlusNat0(Succ(x0), Zero) 248.95/165.34 new_primMulNat2(Zero) 248.95/165.34 new_sr11(x0, x1) 248.95/165.34 new_primModNatS01(x0, x1, Zero, Zero) 248.95/165.34 new_esEs2(x0, x1, ty_Int) 248.95/165.34 new_gcd1(True, x0, x1) 248.95/165.34 new_sr13(x0, x1) 248.95/165.34 new_sr14(Pos(x0), Neg(x1)) 248.95/165.34 new_sr14(Neg(x0), Pos(x1)) 248.95/165.34 new_primDivNatS1(Succ(Succ(x0)), Succ(x1)) 248.95/165.34 new_sr1(x0, ty_Int) 248.95/165.34 new_primModNatS1(Zero, x0) 248.95/165.34 new_esEs(Pos(Succ(x0))) 248.95/165.34 new_primMulNat3(Succ(x0)) 248.95/165.34 new_sr1(x0, app(ty_Ratio, x1)) 248.95/165.34 new_primQuotInt(x0, Neg(Succ(x1))) 248.95/165.34 new_reduce2Reduce1(x0, x1, x2, x3, False, x4) 248.95/165.34 new_primMinusNat0(Zero, Zero) 248.95/165.34 new_primDivNatS1(Zero, x0) 248.95/165.34 new_primDivNatS02(x0, x1, Succ(x2), Succ(x3)) 248.95/165.34 new_primModNatS02(x0, x1) 248.95/165.34 new_primDivNatS1(Succ(Zero), Succ(x0)) 248.95/165.34 new_sr6(Neg(x0)) 248.95/165.34 new_gcd0Gcd'10(True, x0, x1) 248.95/165.34 new_primMulNat0(Succ(x0), Succ(x1)) 248.95/165.34 new_abs(Neg(Zero)) 248.95/165.34 new_ms(x0, Neg(x1)) 248.95/165.34 new_rem(Pos(x0), Neg(Zero)) 248.95/165.34 new_rem(Neg(x0), Pos(Zero)) 248.95/165.34 new_primMinusNatS2(Zero, Succ(x0)) 248.95/165.34 new_esEs(Neg(Succ(x0))) 248.95/165.34 new_error 248.95/165.34 new_primModNatS1(Succ(Zero), Zero) 248.95/165.34 new_primMulNat0(Zero, Succ(x0)) 248.95/165.34 new_sr3(x0, ty_Float) 248.95/165.34 new_quot(x0, x1, x2) 248.95/165.34 new_gcd2(True, x0, x1) 248.95/165.34 new_gcd0Gcd'11(True, x0, x1) 248.95/165.34 new_primEqInt(Neg(Zero)) 248.95/165.34 new_sr2(x0, x1, ty_Double) 248.95/165.34 new_primMulNat0(Succ(x0), Zero) 248.95/165.34 new_quot0(Neg(x0), x1, x2) 248.95/165.34 new_primMinusNatS2(Succ(x0), Succ(x1)) 248.95/165.34 new_sr4(x0, x1, app(ty_Ratio, x2)) 248.95/165.34 new_sr8(x0, x1) 248.95/165.34 new_primDivNatS01(x0, x1) 248.95/165.34 new_primDivNatS02(x0, x1, Zero, Succ(x2)) 248.95/165.34 new_primPlusNat0(Succ(x0), Succ(x1)) 248.95/165.34 new_sr1(x0, ty_Integer) 248.95/165.34 new_primPlusNat0(Zero, Zero) 248.95/165.34 new_sr1(x0, ty_Float) 248.95/165.34 new_primMinusNat0(Succ(x0), Succ(x1)) 248.95/165.34 new_sr12(:%(x0, x1), :%(x2, x3), x4) 248.95/165.34 new_abs(Neg(Succ(x0))) 248.95/165.34 new_sr1(x0, ty_Double) 248.95/165.34 new_sr3(x0, app(ty_Ratio, x1)) 248.95/165.34 new_sr7(x0) 248.95/165.34 new_gcd0(x0, x1) 248.95/165.34 new_primQuotInt0(x0, Pos(Succ(x1))) 248.95/165.34 new_sr4(x0, x1, ty_Integer) 248.95/165.34 new_sr5(:%(x0, x1), x2) 248.95/165.34 new_primMinusNatS2(Zero, Zero) 248.95/165.34 new_primMulNat1(Succ(x0)) 248.95/165.34 new_ms(x0, Pos(Zero)) 248.95/165.34 new_abs(Pos(Succ(x0))) 248.95/165.34 new_sr4(x0, x1, ty_Int) 248.95/165.34 new_esEs(Pos(Zero)) 248.95/165.34 new_primQuotInt0(x0, Pos(Zero)) 248.95/165.34 new_primEqInt(Neg(Succ(x0))) 248.95/165.34 new_primQuotInt(x0, Neg(Zero)) 248.95/165.34 new_primQuotInt0(x0, Neg(Zero)) 248.95/165.34 new_primQuotInt0(x0, Neg(Succ(x1))) 248.95/165.34 new_gcd(x0, x1) 248.95/165.34 new_quot0(Pos(x0), x1, x2) 248.95/165.34 new_primMinusNatS0(x0) 248.95/165.34 new_primPlusNat0(Zero, Succ(x0)) 248.95/165.34 new_sr2(x0, x1, app(ty_Ratio, x2)) 248.95/165.34 new_sr2(x0, x1, ty_Int) 248.95/165.34 new_primQuotInt(x0, Pos(Succ(x1))) 248.95/165.34 new_primDivNatS1(Succ(Succ(x0)), Zero) 248.95/165.34 new_rem(Pos(x0), Pos(Zero)) 248.95/165.34 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 248.95/165.34 new_primDivNatS02(x0, x1, Zero, Zero) 248.95/165.34 new_abs(Pos(Zero)) 248.95/165.34 new_gcd0Gcd'10(False, x0, x1) 248.95/165.34 new_ms(x0, Pos(Succ(x1))) 248.95/165.34 new_primMinusNatS1 248.95/165.34 new_esEs1(Integer(x0)) 248.95/165.34 new_ms0(x0, Neg(Zero)) 248.95/165.34 new_primMinusNat0(Succ(x0), Zero) 248.95/165.34 new_ms0(x0, Neg(Succ(x1))) 248.95/165.34 new_sr2(x0, x1, ty_Integer) 248.95/165.34 new_primModNatS01(x0, x1, Zero, Succ(x2)) 248.95/165.34 new_primMulNat2(Succ(x0)) 248.95/165.34 new_sr14(Neg(x0), Neg(x1)) 248.95/165.34 new_sr2(x0, x1, ty_Float) 248.95/165.34 new_primMinusNatS2(Succ(x0), Zero) 248.95/165.34 new_sr4(x0, x1, ty_Float) 248.95/165.34 new_sr6(Pos(x0)) 248.95/165.34 new_esEs2(x0, x1, ty_Integer) 248.95/165.34 new_primMulNat4(Succ(x0)) 248.95/165.34 new_rem(Neg(x0), Neg(Succ(x1))) 248.95/165.34 new_primEqInt(Pos(Succ(x0))) 248.95/165.34 new_primQuotInt(x0, Pos(Zero)) 248.95/165.34 new_gcd0Gcd'11(False, x0, x1) 248.95/165.34 new_sr9(x0) 248.95/165.34 new_primModNatS1(Succ(Succ(x0)), Zero) 248.95/165.34 new_esEs0(x0, ty_Integer) 248.95/165.34 new_gcd0Gcd'00(x0, x1) 248.95/165.34 new_reduce2Reduce1(x0, x1, x2, x3, True, x4) 248.95/165.34 new_sr3(x0, ty_Double) 248.95/165.34 new_esEs(Neg(Zero)) 248.95/165.34 new_primMulNat1(Zero) 248.95/165.34 new_primMinusNat0(Zero, Succ(x0)) 248.95/165.34 new_rem(Neg(x0), Neg(Zero)) 248.95/165.34 248.95/165.34 We have to consider all minimal (P,Q,R)-chains. 248.95/165.34 ---------------------------------------- 248.95/165.34 248.95/165.34 (801) UsableRulesProof (EQUIVALENT) 248.95/165.34 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. 248.95/165.34 ---------------------------------------- 248.95/165.34 248.95/165.34 (802) 248.95/165.34 Obligation: 248.95/165.34 Q DP problem: 248.95/165.34 The TRS P consists of the following rules: 248.95/165.34 248.95/165.34 new_pr2F0G11(vyv238, vyv239, vyv240, bc) -> new_pr2F1(vyv239, vyv240, Pos(Succ(Zero)), vyv238, bc) 248.95/165.34 new_pr2F0(vyv183, Neg(Succ(Succ(vyv222000))), vyv187, h) -> new_pr2F0G10(vyv187, vyv183, Succ(vyv222000), vyv222000, h) 248.95/165.34 new_pr2F0G10(vyv248, vyv249, vyv250, Succ(Succ(vyv25100)), bb) -> new_pr2F0G10(vyv248, vyv249, vyv250, vyv25100, bb) 248.95/165.34 new_pr2F0G10(vyv248, vyv249, vyv250, Succ(Zero), bb) -> new_pr2F0G11(vyv248, vyv249, vyv250, bb) 248.95/165.34 new_pr2F0G10(vyv248, vyv249, vyv250, Zero, bb) -> new_pr2F0G(vyv248, new_sr3(vyv249, bb), Neg(new_primDivNatS1(Succ(vyv250), Succ(Zero))), bb) 248.95/165.34 new_pr2F0G(vyv187, vyv183, Neg(Succ(Zero)), h) -> new_pr2F0G11(vyv187, vyv183, Zero, h) 248.95/165.34 new_pr2F0G(vyv187, vyv183, Neg(Succ(Succ(vyv222000))), h) -> new_pr2F0G10(vyv187, vyv183, Succ(vyv222000), vyv222000, h) 248.95/165.34 new_pr2F0(vyv183, Neg(Succ(Zero)), vyv187, h) -> new_pr2F0G11(vyv187, vyv183, Zero, h) 248.95/165.34 new_pr2F0(vyv183, Pos(Succ(Succ(vyv222000))), vyv187, h) -> new_pr2F0G1(vyv187, vyv183, Succ(vyv222000), vyv222000, h) 248.95/165.34 new_pr2F0G1(vyv226, vyv227, vyv228, Succ(Succ(vyv22900)), ba) -> new_pr2F0G1(vyv226, vyv227, vyv228, vyv22900, ba) 248.95/165.34 new_pr2F0G1(vyv226, vyv227, vyv228, Succ(Zero), ba) -> new_pr2F(vyv227, vyv228, Pos(Succ(Zero)), vyv226, ba) 248.95/165.34 new_pr2F(vyv227, vyv228, vyv244, vyv226, ba) -> new_pr2F3(new_esEs(new_ms(vyv228, vyv244)), vyv227, vyv228, vyv244, vyv226, ba) 248.95/165.34 new_pr2F3(False, vyv227, vyv228, vyv244, vyv226, ba) -> new_pr2F0(vyv227, new_ms(vyv228, vyv244), new_sr2(vyv227, vyv226, ba), ba) 248.95/165.34 new_pr2F0(vyv183, Pos(Succ(Zero)), vyv187, h) -> new_pr2F(vyv183, Zero, Pos(Succ(Zero)), vyv187, h) 248.95/165.34 new_pr2F0G1(vyv226, vyv227, vyv228, Zero, ba) -> new_pr2F0G(vyv226, new_sr1(vyv227, ba), Pos(new_primDivNatS1(Succ(vyv228), Succ(Zero))), ba) 248.95/165.34 new_pr2F0G(vyv187, vyv183, Pos(Succ(Succ(vyv222000))), h) -> new_pr2F0G1(vyv187, vyv183, Succ(vyv222000), vyv222000, h) 248.95/165.34 new_pr2F0G(vyv187, vyv183, Pos(Succ(Zero)), h) -> new_pr2F(vyv183, Zero, Pos(Succ(Zero)), vyv187, h) 248.95/165.34 new_pr2F1(z1, z2, Pos(Succ(Zero)), z0, z3) -> new_pr2F30(False, z1, z2, Pos(Succ(Zero)), z0, z3) 248.95/165.34 new_pr2F30(False, z0, z1, Pos(Succ(Zero)), z2, z3) -> new_pr2F0(z0, new_ms0(z1, Pos(Succ(Zero))), new_sr4(z0, z2, z3), z3) 248.95/165.34 248.95/165.34 The TRS R consists of the following rules: 248.95/165.34 248.95/165.34 new_ms0(vyv240, Pos(vyv2430)) -> Neg(new_primPlusNat0(Succ(vyv240), vyv2430)) 248.95/165.34 new_sr4(vyv239, vyv238, app(ty_Ratio, bf)) -> new_sr12(vyv239, vyv238, bf) 248.95/165.34 new_sr4(vyv239, vyv238, ty_Integer) -> new_sr8(vyv239, vyv238) 248.95/165.34 new_sr4(vyv239, vyv238, ty_Int) -> new_sr14(vyv239, vyv238) 248.95/165.34 new_sr4(vyv239, vyv238, ty_Double) -> new_sr11(vyv239, vyv238) 248.95/165.34 new_sr4(vyv239, vyv238, ty_Float) -> new_sr13(vyv239, vyv238) 248.95/165.34 new_sr13(vyv239, vyv238) -> error([]) 248.95/165.34 new_sr11(vyv239, vyv238) -> error([]) 248.95/165.34 new_sr14(Pos(vyv2390), Neg(vyv2380)) -> Neg(new_primMulNat0(vyv2390, vyv2380)) 248.95/165.34 new_sr14(Neg(vyv2390), Pos(vyv2380)) -> Neg(new_primMulNat0(vyv2390, vyv2380)) 248.95/165.34 new_sr14(Neg(vyv2390), Neg(vyv2380)) -> Pos(new_primMulNat0(vyv2390, vyv2380)) 248.95/165.34 new_sr14(Pos(vyv2390), Pos(vyv2380)) -> Pos(new_primMulNat0(vyv2390, vyv2380)) 248.95/165.34 new_primMulNat0(Succ(vyv23900), Zero) -> Zero 248.95/165.34 new_primMulNat0(Zero, Succ(vyv23800)) -> Zero 248.95/165.34 new_primMulNat0(Zero, Zero) -> Zero 248.95/165.34 new_primMulNat0(Succ(vyv23900), Succ(vyv23800)) -> new_primPlusNat0(new_primMulNat0(vyv23900, Succ(vyv23800)), Succ(vyv23800)) 248.95/165.34 new_primPlusNat0(Succ(vyv4000), Succ(vyv5000)) -> Succ(Succ(new_primPlusNat0(vyv4000, vyv5000))) 248.95/165.34 new_primPlusNat0(Zero, Succ(vyv5000)) -> Succ(vyv5000) 248.95/165.34 new_primPlusNat0(Zero, Zero) -> Zero 248.95/165.34 new_primPlusNat0(Succ(vyv4000), Zero) -> Succ(vyv4000) 248.95/165.34 new_sr8(vyv239, vyv238) -> error([]) 248.95/165.34 new_sr12(:%(vyv2390, vyv2391), :%(vyv2380, vyv2381), bf) -> new_reduce2Reduce1(vyv2390, vyv2380, vyv2391, vyv2381, new_esEs2(vyv2391, vyv2381, bf), bf) 248.95/165.34 new_esEs2(vyv2391, vyv2381, ty_Int) -> new_esEs(new_sr14(vyv2391, vyv2381)) 248.95/165.34 new_esEs2(vyv2391, vyv2381, ty_Integer) -> new_esEs1(new_sr8(vyv2391, vyv2381)) 248.95/165.34 new_reduce2Reduce1(vyv264, vyv265, vyv266, vyv267, False, bh) -> :%(new_quot1(vyv264, vyv265, vyv266, vyv267, bh), new_quot2(vyv266, vyv267, vyv264, vyv265, bh)) 248.95/165.34 new_reduce2Reduce1(vyv264, vyv265, vyv266, vyv267, True, bh) -> error([]) 248.95/165.34 new_quot1(vyv264, vyv265, vyv266, vyv267, ty_Int) -> new_quot0(new_sr14(vyv264, vyv265), new_sr14(vyv264, vyv265), new_sr14(vyv266, vyv267)) 248.95/165.34 new_quot1(vyv264, vyv265, vyv266, vyv267, ty_Integer) -> new_quot(new_sr8(vyv264, vyv265), new_sr8(vyv264, vyv265), new_sr8(vyv266, vyv267)) 248.95/165.34 new_quot2(vyv266, vyv267, vyv264, vyv265, ty_Int) -> new_quot0(new_sr14(vyv266, vyv267), new_sr14(vyv264, vyv265), new_sr14(vyv266, vyv267)) 248.95/165.34 new_quot2(vyv266, vyv267, vyv264, vyv265, ty_Integer) -> new_quot(new_sr8(vyv266, vyv267), new_sr8(vyv264, vyv265), new_sr8(vyv266, vyv267)) 248.95/165.34 new_quot(vyv273, vyv275, vyv274) -> error([]) 248.95/165.34 new_quot0(Neg(vyv2700), vyv272, vyv271) -> new_primQuotInt0(vyv2700, new_gcd(vyv272, vyv271)) 248.95/165.34 new_quot0(Pos(vyv2700), vyv272, vyv271) -> new_primQuotInt(vyv2700, new_gcd(vyv272, vyv271)) 248.95/165.34 new_gcd(vyv272, vyv271) -> new_gcd2(new_esEs(vyv272), vyv272, vyv271) 248.95/165.34 new_primQuotInt(vyv2700, Pos(Succ(vyv28400))) -> Pos(new_primDivNatS1(vyv2700, vyv28400)) 248.95/165.34 new_primQuotInt(vyv2700, Neg(Zero)) -> new_error 248.95/165.34 new_primQuotInt(vyv2700, Pos(Zero)) -> new_error 248.95/165.34 new_primQuotInt(vyv2700, Neg(Succ(vyv28400))) -> Neg(new_primDivNatS1(vyv2700, vyv28400)) 248.95/165.34 new_primDivNatS1(Succ(Zero), Succ(vyv284000)) -> Zero 248.95/165.34 new_primDivNatS1(Succ(Succ(vyv270000)), Succ(vyv284000)) -> new_primDivNatS02(vyv270000, vyv284000, vyv270000, vyv284000) 248.95/165.34 new_primDivNatS1(Zero, vyv28400) -> Zero 248.95/165.34 new_primDivNatS1(Succ(Succ(vyv270000)), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS0(vyv270000), Zero)) 248.95/165.34 new_primDivNatS1(Succ(Zero), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS1, Zero)) 248.95/165.34 new_primMinusNatS1 -> Zero 248.95/165.34 new_primMinusNatS0(vyv270000) -> Succ(vyv270000) 248.95/165.34 new_primDivNatS02(vyv310, vyv311, Zero, Zero) -> new_primDivNatS01(vyv310, vyv311) 248.95/165.34 new_primDivNatS02(vyv310, vyv311, Succ(vyv3120), Zero) -> new_primDivNatS01(vyv310, vyv311) 248.95/165.34 new_primDivNatS02(vyv310, vyv311, Zero, Succ(vyv3130)) -> Zero 248.95/165.34 new_primDivNatS02(vyv310, vyv311, Succ(vyv3120), Succ(vyv3130)) -> new_primDivNatS02(vyv310, vyv311, vyv3120, vyv3130) 248.95/165.34 new_primDivNatS01(vyv310, vyv311) -> Succ(new_primDivNatS1(new_primMinusNatS2(vyv310, vyv311), Succ(vyv311))) 248.95/165.34 new_primMinusNatS2(Zero, Succ(vyv3110)) -> Zero 248.95/165.34 new_primMinusNatS2(Succ(vyv3100), Zero) -> Succ(vyv3100) 248.95/165.34 new_primMinusNatS2(Zero, Zero) -> Zero 248.95/165.34 new_primMinusNatS2(Succ(vyv3100), Succ(vyv3110)) -> new_primMinusNatS2(vyv3100, vyv3110) 248.95/165.34 new_error -> error([]) 248.95/165.34 new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) 248.95/165.34 new_esEs(Pos(Succ(vyv24100))) -> new_primEqInt(Pos(Succ(vyv24100))) 248.95/165.34 new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) 248.95/165.34 new_esEs(Neg(Succ(vyv24100))) -> new_primEqInt(Neg(Succ(vyv24100))) 248.95/165.34 new_gcd2(True, vyv272, vyv271) -> new_gcd1(new_esEs(vyv271), vyv272, vyv271) 248.95/165.34 new_gcd2(False, vyv272, vyv271) -> new_gcd0(vyv272, vyv271) 248.95/165.35 new_gcd0(vyv272, vyv271) -> new_gcd0Gcd'10(new_esEs(new_abs(vyv271)), vyv272, vyv271) 248.95/165.35 new_abs(Neg(Zero)) -> Neg(Zero) 248.95/165.35 new_abs(Neg(Succ(vyv27100))) -> Pos(Succ(vyv27100)) 248.95/165.35 new_abs(Pos(Succ(vyv27100))) -> Pos(Succ(vyv27100)) 248.95/165.35 new_abs(Pos(Zero)) -> Pos(Zero) 248.95/165.35 new_gcd0Gcd'10(True, vyv272, vyv271) -> new_abs(vyv272) 248.95/165.35 new_gcd0Gcd'10(False, vyv272, vyv271) -> new_gcd0Gcd'00(new_abs(vyv272), new_abs(vyv271)) 248.95/165.35 new_gcd0Gcd'11(False, vyv291, vyv292) -> new_gcd0Gcd'00(vyv291, new_rem(vyv292, vyv291)) 248.95/165.35 new_gcd0Gcd'00(vyv292, vyv291) -> new_gcd0Gcd'11(new_esEs(new_rem(vyv292, vyv291)), vyv291, vyv292) 248.95/165.35 new_rem(Pos(vyv2920), Neg(Zero)) -> new_error 248.95/165.35 new_rem(Neg(vyv2920), Pos(Zero)) -> new_error 248.95/165.35 new_rem(Pos(vyv2920), Neg(Succ(vyv29100))) -> Pos(new_primModNatS1(vyv2920, vyv29100)) 248.95/165.35 new_rem(Neg(vyv2920), Pos(Succ(vyv29100))) -> Neg(new_primModNatS1(vyv2920, vyv29100)) 248.95/165.35 new_rem(Pos(vyv2920), Pos(Succ(vyv29100))) -> Pos(new_primModNatS1(vyv2920, vyv29100)) 248.95/165.35 new_rem(Neg(vyv2920), Neg(Zero)) -> new_error 248.95/165.35 new_rem(Neg(vyv2920), Neg(Succ(vyv29100))) -> Neg(new_primModNatS1(vyv2920, vyv29100)) 248.95/165.35 new_rem(Pos(vyv2920), Pos(Zero)) -> new_error 248.95/165.35 new_gcd0Gcd'11(True, vyv291, vyv292) -> vyv291 248.95/165.35 new_primModNatS1(Succ(Zero), Succ(vyv291000)) -> Succ(Zero) 248.95/165.35 new_primModNatS1(Zero, vyv29100) -> Zero 248.95/165.35 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 248.95/165.35 new_primModNatS1(Succ(Succ(vyv292000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv292000), Zero) 248.95/165.35 new_primModNatS1(Succ(Succ(vyv292000)), Succ(vyv291000)) -> new_primModNatS01(vyv292000, vyv291000, vyv292000, vyv291000) 248.95/165.35 new_primModNatS01(vyv330, vyv331, Zero, Zero) -> new_primModNatS02(vyv330, vyv331) 248.95/165.35 new_primModNatS02(vyv330, vyv331) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv330), Succ(vyv331)), Succ(vyv331)) 248.95/165.35 new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Zero) -> new_primModNatS02(vyv330, vyv331) 248.95/165.35 new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Succ(vyv3330)) -> new_primModNatS01(vyv330, vyv331, vyv3320, vyv3330) 248.95/165.35 new_primModNatS01(vyv330, vyv331, Zero, Succ(vyv3330)) -> Succ(Succ(vyv330)) 248.95/165.35 new_gcd1(True, vyv272, vyv271) -> new_error 248.95/165.35 new_gcd1(False, vyv272, vyv271) -> new_gcd0(vyv272, vyv271) 248.95/165.35 new_primEqInt(Neg(Succ(vyv242000))) -> False 248.95/165.35 new_primEqInt(Pos(Zero)) -> True 248.95/165.35 new_primEqInt(Pos(Succ(vyv242000))) -> False 248.95/165.35 new_primEqInt(Neg(Zero)) -> True 248.95/165.35 new_primQuotInt0(vyv2700, Pos(Succ(vyv28700))) -> Neg(new_primDivNatS1(vyv2700, vyv28700)) 248.95/165.35 new_primQuotInt0(vyv2700, Neg(Zero)) -> new_error 248.95/165.35 new_primQuotInt0(vyv2700, Neg(Succ(vyv28700))) -> Pos(new_primDivNatS1(vyv2700, vyv28700)) 248.95/165.35 new_primQuotInt0(vyv2700, Pos(Zero)) -> new_error 248.95/165.35 new_esEs1(Integer(vyv2690)) -> new_primEqInt(vyv2690) 248.95/165.35 new_sr1(vyv227, ty_Int) -> new_sr6(vyv227) 248.95/165.35 new_sr1(vyv227, ty_Integer) -> new_sr7(vyv227) 248.95/165.35 new_sr1(vyv227, app(ty_Ratio, be)) -> new_sr5(vyv227, be) 248.95/165.35 new_sr1(vyv227, ty_Float) -> new_sr10(vyv227) 248.95/165.35 new_sr1(vyv227, ty_Double) -> new_sr9(vyv227) 248.95/165.35 new_sr9(vyv183) -> error([]) 248.95/165.35 new_sr10(vyv183) -> error([]) 248.95/165.35 new_sr5(:%(vyv1830, vyv1831), bd) -> new_reduce2Reduce1(vyv1830, vyv1830, vyv1831, vyv1831, new_esEs0(vyv1831, bd), bd) 248.95/165.35 new_esEs0(vyv1831, ty_Int) -> new_esEs(new_sr6(vyv1831)) 248.95/165.35 new_esEs0(vyv1831, ty_Integer) -> new_esEs1(new_sr7(vyv1831)) 248.95/165.35 new_sr7(vyv183) -> error([]) 248.95/165.35 new_sr6(Neg(vyv1830)) -> Pos(new_primMulNat1(vyv1830)) 248.95/165.35 new_sr6(Pos(vyv1830)) -> Pos(new_primMulNat1(vyv1830)) 248.95/165.35 new_primMulNat1(Succ(vyv18300)) -> new_primPlusNat0(new_primMulNat2(vyv18300), Succ(vyv18300)) 248.95/165.35 new_primMulNat1(Zero) -> Zero 248.95/165.35 new_primMulNat2(Succ(vyv183000)) -> new_primPlusNat0(new_primMulNat3(vyv183000), Succ(Succ(vyv183000))) 248.95/165.35 new_primMulNat2(Zero) -> Zero 248.95/165.35 new_primMulNat3(Succ(vyv1830000)) -> new_primPlusNat0(new_primMulNat4(vyv1830000), Succ(Succ(Succ(vyv1830000)))) 248.95/165.35 new_primMulNat3(Zero) -> Zero 248.95/165.35 new_primMulNat4(Succ(vyv18300000)) -> new_primPlusNat0(new_primMulNat0(vyv18300000, Succ(Succ(Succ(Succ(vyv18300000))))), Succ(Succ(Succ(Succ(vyv18300000))))) 248.95/165.35 new_primMulNat4(Zero) -> Zero 248.95/165.35 new_ms(vyv228, Neg(vyv2440)) -> Pos(new_primPlusNat0(Succ(vyv228), vyv2440)) 248.95/165.35 new_ms(vyv228, Pos(Succ(vyv24400))) -> new_primMinusNat0(vyv228, vyv24400) 248.95/165.35 new_ms(vyv228, Pos(Zero)) -> Pos(Succ(vyv228)) 248.95/165.35 new_sr2(vyv227, vyv226, ty_Int) -> new_sr14(vyv227, vyv226) 248.95/165.35 new_sr2(vyv227, vyv226, ty_Double) -> new_sr11(vyv227, vyv226) 248.95/165.35 new_sr2(vyv227, vyv226, ty_Integer) -> new_sr8(vyv227, vyv226) 248.95/165.35 new_sr2(vyv227, vyv226, ty_Float) -> new_sr13(vyv227, vyv226) 248.95/165.35 new_sr2(vyv227, vyv226, app(ty_Ratio, be)) -> new_sr12(vyv227, vyv226, be) 248.95/165.35 new_primMinusNat0(Succ(vyv2280), Succ(vyv244000)) -> new_primMinusNat0(vyv2280, vyv244000) 248.95/165.35 new_primMinusNat0(Zero, Zero) -> Pos(Zero) 248.95/165.35 new_primMinusNat0(Zero, Succ(vyv244000)) -> Neg(Succ(vyv244000)) 248.95/165.35 new_primMinusNat0(Succ(vyv2280), Zero) -> Pos(Succ(vyv2280)) 248.95/165.35 new_sr3(vyv249, ty_Float) -> new_sr10(vyv249) 248.95/165.35 new_sr3(vyv249, ty_Double) -> new_sr9(vyv249) 248.95/165.35 new_sr3(vyv249, ty_Int) -> new_sr6(vyv249) 248.95/165.35 new_sr3(vyv249, ty_Integer) -> new_sr7(vyv249) 248.95/165.35 new_sr3(vyv249, app(ty_Ratio, bg)) -> new_sr5(vyv249, bg) 248.95/165.35 248.95/165.35 The set Q consists of the following terms: 248.95/165.35 248.95/165.35 new_rem(Pos(x0), Pos(Succ(x1))) 248.95/165.35 new_quot1(x0, x1, x2, x3, ty_Integer) 248.95/165.35 new_primModNatS1(Succ(Zero), Succ(x0)) 248.95/165.35 new_ms0(x0, Pos(x1)) 248.95/165.35 new_primMulNat4(Zero) 248.95/165.35 new_gcd1(False, x0, x1) 248.95/165.35 new_primEqInt(Pos(Zero)) 248.95/165.35 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 248.95/165.35 new_rem(Pos(x0), Neg(Succ(x1))) 248.95/165.35 new_rem(Neg(x0), Pos(Succ(x1))) 248.95/165.35 new_sr10(x0) 248.95/165.35 new_quot1(x0, x1, x2, x3, ty_Int) 248.95/165.35 new_quot2(x0, x1, x2, x3, ty_Integer) 248.95/165.35 new_primModNatS01(x0, x1, Succ(x2), Zero) 248.95/165.35 new_sr3(x0, ty_Integer) 248.95/165.35 new_primMulNat3(Zero) 248.95/165.35 new_primDivNatS02(x0, x1, Succ(x2), Zero) 248.95/165.35 new_quot2(x0, x1, x2, x3, ty_Int) 248.95/165.35 new_gcd2(False, x0, x1) 248.95/165.35 new_primDivNatS1(Succ(Zero), Zero) 248.95/165.35 new_esEs0(x0, ty_Int) 248.95/165.35 new_sr14(Pos(x0), Pos(x1)) 248.95/165.35 new_sr3(x0, ty_Int) 248.95/165.35 new_primMulNat0(Zero, Zero) 248.95/165.35 new_sr4(x0, x1, ty_Double) 248.95/165.35 new_primPlusNat0(Succ(x0), Zero) 248.95/165.35 new_primMulNat2(Zero) 248.95/165.35 new_sr11(x0, x1) 248.95/165.35 new_primModNatS01(x0, x1, Zero, Zero) 248.95/165.35 new_esEs2(x0, x1, ty_Int) 248.95/165.35 new_gcd1(True, x0, x1) 248.95/165.35 new_sr13(x0, x1) 248.95/165.35 new_sr14(Pos(x0), Neg(x1)) 248.95/165.35 new_sr14(Neg(x0), Pos(x1)) 248.95/165.35 new_primDivNatS1(Succ(Succ(x0)), Succ(x1)) 248.95/165.35 new_sr1(x0, ty_Int) 248.95/165.35 new_primModNatS1(Zero, x0) 248.95/165.35 new_esEs(Pos(Succ(x0))) 248.95/165.35 new_primMulNat3(Succ(x0)) 248.95/165.35 new_sr1(x0, app(ty_Ratio, x1)) 248.95/165.35 new_primQuotInt(x0, Neg(Succ(x1))) 248.95/165.35 new_reduce2Reduce1(x0, x1, x2, x3, False, x4) 248.95/165.35 new_primMinusNat0(Zero, Zero) 248.95/165.35 new_primDivNatS1(Zero, x0) 248.95/165.35 new_primDivNatS02(x0, x1, Succ(x2), Succ(x3)) 248.95/165.35 new_primModNatS02(x0, x1) 248.95/165.35 new_primDivNatS1(Succ(Zero), Succ(x0)) 248.95/165.35 new_sr6(Neg(x0)) 248.95/165.35 new_gcd0Gcd'10(True, x0, x1) 248.95/165.35 new_primMulNat0(Succ(x0), Succ(x1)) 248.95/165.35 new_abs(Neg(Zero)) 248.95/165.35 new_ms(x0, Neg(x1)) 248.95/165.35 new_rem(Pos(x0), Neg(Zero)) 248.95/165.35 new_rem(Neg(x0), Pos(Zero)) 248.95/165.35 new_primMinusNatS2(Zero, Succ(x0)) 248.95/165.35 new_esEs(Neg(Succ(x0))) 248.95/165.35 new_error 248.95/165.35 new_primModNatS1(Succ(Zero), Zero) 248.95/165.35 new_primMulNat0(Zero, Succ(x0)) 248.95/165.35 new_sr3(x0, ty_Float) 248.95/165.35 new_quot(x0, x1, x2) 248.95/165.35 new_gcd2(True, x0, x1) 248.95/165.35 new_gcd0Gcd'11(True, x0, x1) 248.95/165.35 new_primEqInt(Neg(Zero)) 248.95/165.35 new_sr2(x0, x1, ty_Double) 248.95/165.35 new_primMulNat0(Succ(x0), Zero) 248.95/165.35 new_quot0(Neg(x0), x1, x2) 248.95/165.35 new_primMinusNatS2(Succ(x0), Succ(x1)) 248.95/165.35 new_sr4(x0, x1, app(ty_Ratio, x2)) 248.95/165.35 new_sr8(x0, x1) 248.95/165.35 new_primDivNatS01(x0, x1) 248.95/165.35 new_primDivNatS02(x0, x1, Zero, Succ(x2)) 248.95/165.35 new_primPlusNat0(Succ(x0), Succ(x1)) 248.95/165.35 new_sr1(x0, ty_Integer) 248.95/165.35 new_primPlusNat0(Zero, Zero) 248.95/165.35 new_sr1(x0, ty_Float) 248.95/165.35 new_primMinusNat0(Succ(x0), Succ(x1)) 248.95/165.35 new_sr12(:%(x0, x1), :%(x2, x3), x4) 248.95/165.35 new_abs(Neg(Succ(x0))) 248.95/165.35 new_sr1(x0, ty_Double) 248.95/165.35 new_sr3(x0, app(ty_Ratio, x1)) 248.95/165.35 new_sr7(x0) 248.95/165.35 new_gcd0(x0, x1) 248.95/165.35 new_primQuotInt0(x0, Pos(Succ(x1))) 248.95/165.35 new_sr4(x0, x1, ty_Integer) 248.95/165.35 new_sr5(:%(x0, x1), x2) 248.95/165.35 new_primMinusNatS2(Zero, Zero) 248.95/165.35 new_primMulNat1(Succ(x0)) 248.95/165.35 new_ms(x0, Pos(Zero)) 248.95/165.35 new_abs(Pos(Succ(x0))) 248.95/165.35 new_sr4(x0, x1, ty_Int) 248.95/165.35 new_esEs(Pos(Zero)) 248.95/165.35 new_primQuotInt0(x0, Pos(Zero)) 248.95/165.35 new_primEqInt(Neg(Succ(x0))) 248.95/165.35 new_primQuotInt(x0, Neg(Zero)) 248.95/165.35 new_primQuotInt0(x0, Neg(Zero)) 248.95/165.35 new_primQuotInt0(x0, Neg(Succ(x1))) 248.95/165.35 new_gcd(x0, x1) 248.95/165.35 new_quot0(Pos(x0), x1, x2) 248.95/165.35 new_primMinusNatS0(x0) 248.95/165.35 new_primPlusNat0(Zero, Succ(x0)) 248.95/165.35 new_sr2(x0, x1, app(ty_Ratio, x2)) 248.95/165.35 new_sr2(x0, x1, ty_Int) 248.95/165.35 new_primQuotInt(x0, Pos(Succ(x1))) 248.95/165.35 new_primDivNatS1(Succ(Succ(x0)), Zero) 248.95/165.35 new_rem(Pos(x0), Pos(Zero)) 248.95/165.35 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 248.95/165.35 new_primDivNatS02(x0, x1, Zero, Zero) 248.95/165.35 new_abs(Pos(Zero)) 248.95/165.35 new_gcd0Gcd'10(False, x0, x1) 248.95/165.35 new_ms(x0, Pos(Succ(x1))) 248.95/165.35 new_primMinusNatS1 248.95/165.35 new_esEs1(Integer(x0)) 248.95/165.35 new_ms0(x0, Neg(Zero)) 248.95/165.35 new_primMinusNat0(Succ(x0), Zero) 248.95/165.35 new_ms0(x0, Neg(Succ(x1))) 248.95/165.35 new_sr2(x0, x1, ty_Integer) 248.95/165.35 new_primModNatS01(x0, x1, Zero, Succ(x2)) 248.95/165.35 new_primMulNat2(Succ(x0)) 248.95/165.35 new_sr14(Neg(x0), Neg(x1)) 248.95/165.35 new_sr2(x0, x1, ty_Float) 248.95/165.35 new_primMinusNatS2(Succ(x0), Zero) 248.95/165.35 new_sr4(x0, x1, ty_Float) 248.95/165.35 new_sr6(Pos(x0)) 248.95/165.35 new_esEs2(x0, x1, ty_Integer) 248.95/165.35 new_primMulNat4(Succ(x0)) 248.95/165.35 new_rem(Neg(x0), Neg(Succ(x1))) 248.95/165.35 new_primEqInt(Pos(Succ(x0))) 248.95/165.35 new_primQuotInt(x0, Pos(Zero)) 248.95/165.35 new_gcd0Gcd'11(False, x0, x1) 248.95/165.35 new_sr9(x0) 248.95/165.35 new_primModNatS1(Succ(Succ(x0)), Zero) 248.95/165.35 new_esEs0(x0, ty_Integer) 248.95/165.35 new_gcd0Gcd'00(x0, x1) 248.95/165.35 new_reduce2Reduce1(x0, x1, x2, x3, True, x4) 248.95/165.35 new_sr3(x0, ty_Double) 248.95/165.35 new_esEs(Neg(Zero)) 248.95/165.35 new_primMulNat1(Zero) 248.95/165.35 new_primMinusNat0(Zero, Succ(x0)) 248.95/165.35 new_rem(Neg(x0), Neg(Zero)) 248.95/165.35 248.95/165.35 We have to consider all minimal (P,Q,R)-chains. 248.95/165.35 ---------------------------------------- 248.95/165.35 248.95/165.35 (803) TransformationProof (EQUIVALENT) 248.95/165.35 By rewriting [LPAR04] the rule new_pr2F30(False, z0, z1, Pos(Succ(Zero)), z2, z3) -> new_pr2F0(z0, new_ms0(z1, Pos(Succ(Zero))), new_sr4(z0, z2, z3), z3) at position [1] we obtained the following new rules [LPAR04]: 248.95/165.35 248.95/165.35 (new_pr2F30(False, z0, z1, Pos(Succ(Zero)), z2, z3) -> new_pr2F0(z0, Neg(new_primPlusNat0(Succ(z1), Succ(Zero))), new_sr4(z0, z2, z3), z3),new_pr2F30(False, z0, z1, Pos(Succ(Zero)), z2, z3) -> new_pr2F0(z0, Neg(new_primPlusNat0(Succ(z1), Succ(Zero))), new_sr4(z0, z2, z3), z3)) 248.95/165.35 248.95/165.35 248.95/165.35 ---------------------------------------- 248.95/165.35 248.95/165.35 (804) 248.95/165.35 Obligation: 248.95/165.35 Q DP problem: 248.95/165.35 The TRS P consists of the following rules: 248.95/165.35 248.95/165.35 new_pr2F0G11(vyv238, vyv239, vyv240, bc) -> new_pr2F1(vyv239, vyv240, Pos(Succ(Zero)), vyv238, bc) 248.95/165.35 new_pr2F0(vyv183, Neg(Succ(Succ(vyv222000))), vyv187, h) -> new_pr2F0G10(vyv187, vyv183, Succ(vyv222000), vyv222000, h) 248.95/165.35 new_pr2F0G10(vyv248, vyv249, vyv250, Succ(Succ(vyv25100)), bb) -> new_pr2F0G10(vyv248, vyv249, vyv250, vyv25100, bb) 248.95/165.35 new_pr2F0G10(vyv248, vyv249, vyv250, Succ(Zero), bb) -> new_pr2F0G11(vyv248, vyv249, vyv250, bb) 248.95/165.35 new_pr2F0G10(vyv248, vyv249, vyv250, Zero, bb) -> new_pr2F0G(vyv248, new_sr3(vyv249, bb), Neg(new_primDivNatS1(Succ(vyv250), Succ(Zero))), bb) 248.95/165.35 new_pr2F0G(vyv187, vyv183, Neg(Succ(Zero)), h) -> new_pr2F0G11(vyv187, vyv183, Zero, h) 248.95/165.35 new_pr2F0G(vyv187, vyv183, Neg(Succ(Succ(vyv222000))), h) -> new_pr2F0G10(vyv187, vyv183, Succ(vyv222000), vyv222000, h) 248.95/165.35 new_pr2F0(vyv183, Neg(Succ(Zero)), vyv187, h) -> new_pr2F0G11(vyv187, vyv183, Zero, h) 248.95/165.35 new_pr2F0(vyv183, Pos(Succ(Succ(vyv222000))), vyv187, h) -> new_pr2F0G1(vyv187, vyv183, Succ(vyv222000), vyv222000, h) 248.95/165.35 new_pr2F0G1(vyv226, vyv227, vyv228, Succ(Succ(vyv22900)), ba) -> new_pr2F0G1(vyv226, vyv227, vyv228, vyv22900, ba) 248.95/165.35 new_pr2F0G1(vyv226, vyv227, vyv228, Succ(Zero), ba) -> new_pr2F(vyv227, vyv228, Pos(Succ(Zero)), vyv226, ba) 248.95/165.35 new_pr2F(vyv227, vyv228, vyv244, vyv226, ba) -> new_pr2F3(new_esEs(new_ms(vyv228, vyv244)), vyv227, vyv228, vyv244, vyv226, ba) 248.95/165.35 new_pr2F3(False, vyv227, vyv228, vyv244, vyv226, ba) -> new_pr2F0(vyv227, new_ms(vyv228, vyv244), new_sr2(vyv227, vyv226, ba), ba) 248.95/165.35 new_pr2F0(vyv183, Pos(Succ(Zero)), vyv187, h) -> new_pr2F(vyv183, Zero, Pos(Succ(Zero)), vyv187, h) 248.95/165.35 new_pr2F0G1(vyv226, vyv227, vyv228, Zero, ba) -> new_pr2F0G(vyv226, new_sr1(vyv227, ba), Pos(new_primDivNatS1(Succ(vyv228), Succ(Zero))), ba) 248.95/165.35 new_pr2F0G(vyv187, vyv183, Pos(Succ(Succ(vyv222000))), h) -> new_pr2F0G1(vyv187, vyv183, Succ(vyv222000), vyv222000, h) 248.95/165.35 new_pr2F0G(vyv187, vyv183, Pos(Succ(Zero)), h) -> new_pr2F(vyv183, Zero, Pos(Succ(Zero)), vyv187, h) 248.95/165.35 new_pr2F1(z1, z2, Pos(Succ(Zero)), z0, z3) -> new_pr2F30(False, z1, z2, Pos(Succ(Zero)), z0, z3) 248.95/165.35 new_pr2F30(False, z0, z1, Pos(Succ(Zero)), z2, z3) -> new_pr2F0(z0, Neg(new_primPlusNat0(Succ(z1), Succ(Zero))), new_sr4(z0, z2, z3), z3) 248.95/165.35 248.95/165.35 The TRS R consists of the following rules: 248.95/165.35 248.95/165.35 new_ms0(vyv240, Pos(vyv2430)) -> Neg(new_primPlusNat0(Succ(vyv240), vyv2430)) 248.95/165.35 new_sr4(vyv239, vyv238, app(ty_Ratio, bf)) -> new_sr12(vyv239, vyv238, bf) 248.95/165.35 new_sr4(vyv239, vyv238, ty_Integer) -> new_sr8(vyv239, vyv238) 248.95/165.35 new_sr4(vyv239, vyv238, ty_Int) -> new_sr14(vyv239, vyv238) 248.95/165.35 new_sr4(vyv239, vyv238, ty_Double) -> new_sr11(vyv239, vyv238) 248.95/165.35 new_sr4(vyv239, vyv238, ty_Float) -> new_sr13(vyv239, vyv238) 248.95/165.35 new_sr13(vyv239, vyv238) -> error([]) 248.95/165.35 new_sr11(vyv239, vyv238) -> error([]) 248.95/165.35 new_sr14(Pos(vyv2390), Neg(vyv2380)) -> Neg(new_primMulNat0(vyv2390, vyv2380)) 248.95/165.35 new_sr14(Neg(vyv2390), Pos(vyv2380)) -> Neg(new_primMulNat0(vyv2390, vyv2380)) 248.95/165.35 new_sr14(Neg(vyv2390), Neg(vyv2380)) -> Pos(new_primMulNat0(vyv2390, vyv2380)) 248.95/165.35 new_sr14(Pos(vyv2390), Pos(vyv2380)) -> Pos(new_primMulNat0(vyv2390, vyv2380)) 248.95/165.35 new_primMulNat0(Succ(vyv23900), Zero) -> Zero 248.95/165.35 new_primMulNat0(Zero, Succ(vyv23800)) -> Zero 248.95/165.35 new_primMulNat0(Zero, Zero) -> Zero 248.95/165.35 new_primMulNat0(Succ(vyv23900), Succ(vyv23800)) -> new_primPlusNat0(new_primMulNat0(vyv23900, Succ(vyv23800)), Succ(vyv23800)) 248.95/165.35 new_primPlusNat0(Succ(vyv4000), Succ(vyv5000)) -> Succ(Succ(new_primPlusNat0(vyv4000, vyv5000))) 248.95/165.35 new_primPlusNat0(Zero, Succ(vyv5000)) -> Succ(vyv5000) 248.95/165.35 new_primPlusNat0(Zero, Zero) -> Zero 248.95/165.35 new_primPlusNat0(Succ(vyv4000), Zero) -> Succ(vyv4000) 248.95/165.35 new_sr8(vyv239, vyv238) -> error([]) 248.95/165.35 new_sr12(:%(vyv2390, vyv2391), :%(vyv2380, vyv2381), bf) -> new_reduce2Reduce1(vyv2390, vyv2380, vyv2391, vyv2381, new_esEs2(vyv2391, vyv2381, bf), bf) 248.95/165.35 new_esEs2(vyv2391, vyv2381, ty_Int) -> new_esEs(new_sr14(vyv2391, vyv2381)) 248.95/165.35 new_esEs2(vyv2391, vyv2381, ty_Integer) -> new_esEs1(new_sr8(vyv2391, vyv2381)) 248.95/165.35 new_reduce2Reduce1(vyv264, vyv265, vyv266, vyv267, False, bh) -> :%(new_quot1(vyv264, vyv265, vyv266, vyv267, bh), new_quot2(vyv266, vyv267, vyv264, vyv265, bh)) 248.95/165.35 new_reduce2Reduce1(vyv264, vyv265, vyv266, vyv267, True, bh) -> error([]) 248.95/165.35 new_quot1(vyv264, vyv265, vyv266, vyv267, ty_Int) -> new_quot0(new_sr14(vyv264, vyv265), new_sr14(vyv264, vyv265), new_sr14(vyv266, vyv267)) 248.95/165.35 new_quot1(vyv264, vyv265, vyv266, vyv267, ty_Integer) -> new_quot(new_sr8(vyv264, vyv265), new_sr8(vyv264, vyv265), new_sr8(vyv266, vyv267)) 248.95/165.35 new_quot2(vyv266, vyv267, vyv264, vyv265, ty_Int) -> new_quot0(new_sr14(vyv266, vyv267), new_sr14(vyv264, vyv265), new_sr14(vyv266, vyv267)) 248.95/165.35 new_quot2(vyv266, vyv267, vyv264, vyv265, ty_Integer) -> new_quot(new_sr8(vyv266, vyv267), new_sr8(vyv264, vyv265), new_sr8(vyv266, vyv267)) 248.95/165.35 new_quot(vyv273, vyv275, vyv274) -> error([]) 248.95/165.35 new_quot0(Neg(vyv2700), vyv272, vyv271) -> new_primQuotInt0(vyv2700, new_gcd(vyv272, vyv271)) 248.95/165.35 new_quot0(Pos(vyv2700), vyv272, vyv271) -> new_primQuotInt(vyv2700, new_gcd(vyv272, vyv271)) 248.95/165.35 new_gcd(vyv272, vyv271) -> new_gcd2(new_esEs(vyv272), vyv272, vyv271) 248.95/165.35 new_primQuotInt(vyv2700, Pos(Succ(vyv28400))) -> Pos(new_primDivNatS1(vyv2700, vyv28400)) 248.95/165.35 new_primQuotInt(vyv2700, Neg(Zero)) -> new_error 248.95/165.35 new_primQuotInt(vyv2700, Pos(Zero)) -> new_error 248.95/165.35 new_primQuotInt(vyv2700, Neg(Succ(vyv28400))) -> Neg(new_primDivNatS1(vyv2700, vyv28400)) 248.95/165.35 new_primDivNatS1(Succ(Zero), Succ(vyv284000)) -> Zero 248.95/165.35 new_primDivNatS1(Succ(Succ(vyv270000)), Succ(vyv284000)) -> new_primDivNatS02(vyv270000, vyv284000, vyv270000, vyv284000) 248.95/165.35 new_primDivNatS1(Zero, vyv28400) -> Zero 248.95/165.35 new_primDivNatS1(Succ(Succ(vyv270000)), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS0(vyv270000), Zero)) 248.95/165.35 new_primDivNatS1(Succ(Zero), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS1, Zero)) 248.95/165.35 new_primMinusNatS1 -> Zero 248.95/165.35 new_primMinusNatS0(vyv270000) -> Succ(vyv270000) 248.95/165.35 new_primDivNatS02(vyv310, vyv311, Zero, Zero) -> new_primDivNatS01(vyv310, vyv311) 248.95/165.35 new_primDivNatS02(vyv310, vyv311, Succ(vyv3120), Zero) -> new_primDivNatS01(vyv310, vyv311) 248.95/165.35 new_primDivNatS02(vyv310, vyv311, Zero, Succ(vyv3130)) -> Zero 248.95/165.35 new_primDivNatS02(vyv310, vyv311, Succ(vyv3120), Succ(vyv3130)) -> new_primDivNatS02(vyv310, vyv311, vyv3120, vyv3130) 248.95/165.35 new_primDivNatS01(vyv310, vyv311) -> Succ(new_primDivNatS1(new_primMinusNatS2(vyv310, vyv311), Succ(vyv311))) 248.95/165.35 new_primMinusNatS2(Zero, Succ(vyv3110)) -> Zero 248.95/165.35 new_primMinusNatS2(Succ(vyv3100), Zero) -> Succ(vyv3100) 248.95/165.35 new_primMinusNatS2(Zero, Zero) -> Zero 248.95/165.35 new_primMinusNatS2(Succ(vyv3100), Succ(vyv3110)) -> new_primMinusNatS2(vyv3100, vyv3110) 248.95/165.35 new_error -> error([]) 248.95/165.35 new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) 248.95/165.35 new_esEs(Pos(Succ(vyv24100))) -> new_primEqInt(Pos(Succ(vyv24100))) 248.95/165.35 new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) 248.95/165.35 new_esEs(Neg(Succ(vyv24100))) -> new_primEqInt(Neg(Succ(vyv24100))) 248.95/165.35 new_gcd2(True, vyv272, vyv271) -> new_gcd1(new_esEs(vyv271), vyv272, vyv271) 248.95/165.35 new_gcd2(False, vyv272, vyv271) -> new_gcd0(vyv272, vyv271) 248.95/165.35 new_gcd0(vyv272, vyv271) -> new_gcd0Gcd'10(new_esEs(new_abs(vyv271)), vyv272, vyv271) 248.95/165.35 new_abs(Neg(Zero)) -> Neg(Zero) 248.95/165.35 new_abs(Neg(Succ(vyv27100))) -> Pos(Succ(vyv27100)) 248.95/165.35 new_abs(Pos(Succ(vyv27100))) -> Pos(Succ(vyv27100)) 248.95/165.35 new_abs(Pos(Zero)) -> Pos(Zero) 248.95/165.35 new_gcd0Gcd'10(True, vyv272, vyv271) -> new_abs(vyv272) 248.95/165.35 new_gcd0Gcd'10(False, vyv272, vyv271) -> new_gcd0Gcd'00(new_abs(vyv272), new_abs(vyv271)) 248.95/165.35 new_gcd0Gcd'11(False, vyv291, vyv292) -> new_gcd0Gcd'00(vyv291, new_rem(vyv292, vyv291)) 248.95/165.35 new_gcd0Gcd'00(vyv292, vyv291) -> new_gcd0Gcd'11(new_esEs(new_rem(vyv292, vyv291)), vyv291, vyv292) 248.95/165.35 new_rem(Pos(vyv2920), Neg(Zero)) -> new_error 248.95/165.35 new_rem(Neg(vyv2920), Pos(Zero)) -> new_error 248.95/165.35 new_rem(Pos(vyv2920), Neg(Succ(vyv29100))) -> Pos(new_primModNatS1(vyv2920, vyv29100)) 248.95/165.35 new_rem(Neg(vyv2920), Pos(Succ(vyv29100))) -> Neg(new_primModNatS1(vyv2920, vyv29100)) 248.95/165.35 new_rem(Pos(vyv2920), Pos(Succ(vyv29100))) -> Pos(new_primModNatS1(vyv2920, vyv29100)) 248.95/165.35 new_rem(Neg(vyv2920), Neg(Zero)) -> new_error 248.95/165.35 new_rem(Neg(vyv2920), Neg(Succ(vyv29100))) -> Neg(new_primModNatS1(vyv2920, vyv29100)) 248.95/165.35 new_rem(Pos(vyv2920), Pos(Zero)) -> new_error 248.95/165.35 new_gcd0Gcd'11(True, vyv291, vyv292) -> vyv291 248.95/165.35 new_primModNatS1(Succ(Zero), Succ(vyv291000)) -> Succ(Zero) 248.95/165.35 new_primModNatS1(Zero, vyv29100) -> Zero 248.95/165.35 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 248.95/165.35 new_primModNatS1(Succ(Succ(vyv292000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv292000), Zero) 248.95/165.35 new_primModNatS1(Succ(Succ(vyv292000)), Succ(vyv291000)) -> new_primModNatS01(vyv292000, vyv291000, vyv292000, vyv291000) 248.95/165.35 new_primModNatS01(vyv330, vyv331, Zero, Zero) -> new_primModNatS02(vyv330, vyv331) 248.95/165.35 new_primModNatS02(vyv330, vyv331) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv330), Succ(vyv331)), Succ(vyv331)) 248.95/165.35 new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Zero) -> new_primModNatS02(vyv330, vyv331) 248.95/165.35 new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Succ(vyv3330)) -> new_primModNatS01(vyv330, vyv331, vyv3320, vyv3330) 248.95/165.35 new_primModNatS01(vyv330, vyv331, Zero, Succ(vyv3330)) -> Succ(Succ(vyv330)) 248.95/165.35 new_gcd1(True, vyv272, vyv271) -> new_error 248.95/165.35 new_gcd1(False, vyv272, vyv271) -> new_gcd0(vyv272, vyv271) 248.95/165.35 new_primEqInt(Neg(Succ(vyv242000))) -> False 248.95/165.35 new_primEqInt(Pos(Zero)) -> True 248.95/165.35 new_primEqInt(Pos(Succ(vyv242000))) -> False 248.95/165.35 new_primEqInt(Neg(Zero)) -> True 248.95/165.35 new_primQuotInt0(vyv2700, Pos(Succ(vyv28700))) -> Neg(new_primDivNatS1(vyv2700, vyv28700)) 248.95/165.35 new_primQuotInt0(vyv2700, Neg(Zero)) -> new_error 248.95/165.35 new_primQuotInt0(vyv2700, Neg(Succ(vyv28700))) -> Pos(new_primDivNatS1(vyv2700, vyv28700)) 248.95/165.35 new_primQuotInt0(vyv2700, Pos(Zero)) -> new_error 248.95/165.35 new_esEs1(Integer(vyv2690)) -> new_primEqInt(vyv2690) 248.95/165.35 new_sr1(vyv227, ty_Int) -> new_sr6(vyv227) 248.95/165.35 new_sr1(vyv227, ty_Integer) -> new_sr7(vyv227) 248.95/165.35 new_sr1(vyv227, app(ty_Ratio, be)) -> new_sr5(vyv227, be) 248.95/165.35 new_sr1(vyv227, ty_Float) -> new_sr10(vyv227) 248.95/165.35 new_sr1(vyv227, ty_Double) -> new_sr9(vyv227) 248.95/165.35 new_sr9(vyv183) -> error([]) 248.95/165.35 new_sr10(vyv183) -> error([]) 248.95/165.35 new_sr5(:%(vyv1830, vyv1831), bd) -> new_reduce2Reduce1(vyv1830, vyv1830, vyv1831, vyv1831, new_esEs0(vyv1831, bd), bd) 248.95/165.35 new_esEs0(vyv1831, ty_Int) -> new_esEs(new_sr6(vyv1831)) 248.95/165.35 new_esEs0(vyv1831, ty_Integer) -> new_esEs1(new_sr7(vyv1831)) 248.95/165.35 new_sr7(vyv183) -> error([]) 248.95/165.35 new_sr6(Neg(vyv1830)) -> Pos(new_primMulNat1(vyv1830)) 248.95/165.35 new_sr6(Pos(vyv1830)) -> Pos(new_primMulNat1(vyv1830)) 248.95/165.35 new_primMulNat1(Succ(vyv18300)) -> new_primPlusNat0(new_primMulNat2(vyv18300), Succ(vyv18300)) 248.95/165.35 new_primMulNat1(Zero) -> Zero 248.95/165.35 new_primMulNat2(Succ(vyv183000)) -> new_primPlusNat0(new_primMulNat3(vyv183000), Succ(Succ(vyv183000))) 248.95/165.35 new_primMulNat2(Zero) -> Zero 248.95/165.35 new_primMulNat3(Succ(vyv1830000)) -> new_primPlusNat0(new_primMulNat4(vyv1830000), Succ(Succ(Succ(vyv1830000)))) 248.95/165.35 new_primMulNat3(Zero) -> Zero 248.95/165.35 new_primMulNat4(Succ(vyv18300000)) -> new_primPlusNat0(new_primMulNat0(vyv18300000, Succ(Succ(Succ(Succ(vyv18300000))))), Succ(Succ(Succ(Succ(vyv18300000))))) 248.95/165.35 new_primMulNat4(Zero) -> Zero 248.95/165.35 new_ms(vyv228, Neg(vyv2440)) -> Pos(new_primPlusNat0(Succ(vyv228), vyv2440)) 248.95/165.35 new_ms(vyv228, Pos(Succ(vyv24400))) -> new_primMinusNat0(vyv228, vyv24400) 248.95/165.35 new_ms(vyv228, Pos(Zero)) -> Pos(Succ(vyv228)) 248.95/165.35 new_sr2(vyv227, vyv226, ty_Int) -> new_sr14(vyv227, vyv226) 248.95/165.35 new_sr2(vyv227, vyv226, ty_Double) -> new_sr11(vyv227, vyv226) 248.95/165.35 new_sr2(vyv227, vyv226, ty_Integer) -> new_sr8(vyv227, vyv226) 248.95/165.35 new_sr2(vyv227, vyv226, ty_Float) -> new_sr13(vyv227, vyv226) 248.95/165.35 new_sr2(vyv227, vyv226, app(ty_Ratio, be)) -> new_sr12(vyv227, vyv226, be) 248.95/165.35 new_primMinusNat0(Succ(vyv2280), Succ(vyv244000)) -> new_primMinusNat0(vyv2280, vyv244000) 248.95/165.35 new_primMinusNat0(Zero, Zero) -> Pos(Zero) 248.95/165.35 new_primMinusNat0(Zero, Succ(vyv244000)) -> Neg(Succ(vyv244000)) 248.95/165.35 new_primMinusNat0(Succ(vyv2280), Zero) -> Pos(Succ(vyv2280)) 248.95/165.35 new_sr3(vyv249, ty_Float) -> new_sr10(vyv249) 248.95/165.35 new_sr3(vyv249, ty_Double) -> new_sr9(vyv249) 248.95/165.35 new_sr3(vyv249, ty_Int) -> new_sr6(vyv249) 248.95/165.35 new_sr3(vyv249, ty_Integer) -> new_sr7(vyv249) 248.95/165.35 new_sr3(vyv249, app(ty_Ratio, bg)) -> new_sr5(vyv249, bg) 248.95/165.35 248.95/165.35 The set Q consists of the following terms: 248.95/165.35 248.95/165.35 new_rem(Pos(x0), Pos(Succ(x1))) 248.95/165.35 new_quot1(x0, x1, x2, x3, ty_Integer) 248.95/165.35 new_primModNatS1(Succ(Zero), Succ(x0)) 248.95/165.35 new_ms0(x0, Pos(x1)) 248.95/165.35 new_primMulNat4(Zero) 248.95/165.35 new_gcd1(False, x0, x1) 248.95/165.35 new_primEqInt(Pos(Zero)) 248.95/165.35 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 248.95/165.35 new_rem(Pos(x0), Neg(Succ(x1))) 248.95/165.35 new_rem(Neg(x0), Pos(Succ(x1))) 248.95/165.35 new_sr10(x0) 248.95/165.35 new_quot1(x0, x1, x2, x3, ty_Int) 248.95/165.35 new_quot2(x0, x1, x2, x3, ty_Integer) 248.95/165.35 new_primModNatS01(x0, x1, Succ(x2), Zero) 248.95/165.35 new_sr3(x0, ty_Integer) 248.95/165.35 new_primMulNat3(Zero) 248.95/165.35 new_primDivNatS02(x0, x1, Succ(x2), Zero) 248.95/165.35 new_quot2(x0, x1, x2, x3, ty_Int) 248.95/165.35 new_gcd2(False, x0, x1) 248.95/165.35 new_primDivNatS1(Succ(Zero), Zero) 248.95/165.35 new_esEs0(x0, ty_Int) 248.95/165.35 new_sr14(Pos(x0), Pos(x1)) 248.95/165.35 new_sr3(x0, ty_Int) 248.95/165.35 new_primMulNat0(Zero, Zero) 248.95/165.35 new_sr4(x0, x1, ty_Double) 248.95/165.35 new_primPlusNat0(Succ(x0), Zero) 248.95/165.35 new_primMulNat2(Zero) 248.95/165.35 new_sr11(x0, x1) 248.95/165.35 new_primModNatS01(x0, x1, Zero, Zero) 248.95/165.35 new_esEs2(x0, x1, ty_Int) 248.95/165.35 new_gcd1(True, x0, x1) 248.95/165.35 new_sr13(x0, x1) 248.95/165.35 new_sr14(Pos(x0), Neg(x1)) 248.95/165.35 new_sr14(Neg(x0), Pos(x1)) 248.95/165.35 new_primDivNatS1(Succ(Succ(x0)), Succ(x1)) 248.95/165.35 new_sr1(x0, ty_Int) 248.95/165.35 new_primModNatS1(Zero, x0) 248.95/165.35 new_esEs(Pos(Succ(x0))) 248.95/165.35 new_primMulNat3(Succ(x0)) 248.95/165.35 new_sr1(x0, app(ty_Ratio, x1)) 248.95/165.35 new_primQuotInt(x0, Neg(Succ(x1))) 248.95/165.35 new_reduce2Reduce1(x0, x1, x2, x3, False, x4) 248.95/165.35 new_primMinusNat0(Zero, Zero) 248.95/165.35 new_primDivNatS1(Zero, x0) 248.95/165.35 new_primDivNatS02(x0, x1, Succ(x2), Succ(x3)) 248.95/165.35 new_primModNatS02(x0, x1) 248.95/165.35 new_primDivNatS1(Succ(Zero), Succ(x0)) 248.95/165.35 new_sr6(Neg(x0)) 248.95/165.35 new_gcd0Gcd'10(True, x0, x1) 248.95/165.35 new_primMulNat0(Succ(x0), Succ(x1)) 248.95/165.35 new_abs(Neg(Zero)) 248.95/165.35 new_ms(x0, Neg(x1)) 248.95/165.35 new_rem(Pos(x0), Neg(Zero)) 248.95/165.35 new_rem(Neg(x0), Pos(Zero)) 248.95/165.35 new_primMinusNatS2(Zero, Succ(x0)) 248.95/165.35 new_esEs(Neg(Succ(x0))) 248.95/165.35 new_error 248.95/165.35 new_primModNatS1(Succ(Zero), Zero) 248.95/165.35 new_primMulNat0(Zero, Succ(x0)) 248.95/165.35 new_sr3(x0, ty_Float) 248.95/165.35 new_quot(x0, x1, x2) 248.95/165.35 new_gcd2(True, x0, x1) 248.95/165.35 new_gcd0Gcd'11(True, x0, x1) 248.95/165.35 new_primEqInt(Neg(Zero)) 248.95/165.35 new_sr2(x0, x1, ty_Double) 248.95/165.35 new_primMulNat0(Succ(x0), Zero) 248.95/165.35 new_quot0(Neg(x0), x1, x2) 248.95/165.35 new_primMinusNatS2(Succ(x0), Succ(x1)) 248.95/165.35 new_sr4(x0, x1, app(ty_Ratio, x2)) 248.95/165.35 new_sr8(x0, x1) 248.95/165.35 new_primDivNatS01(x0, x1) 248.95/165.35 new_primDivNatS02(x0, x1, Zero, Succ(x2)) 248.95/165.35 new_primPlusNat0(Succ(x0), Succ(x1)) 248.95/165.35 new_sr1(x0, ty_Integer) 248.95/165.35 new_primPlusNat0(Zero, Zero) 248.95/165.35 new_sr1(x0, ty_Float) 248.95/165.35 new_primMinusNat0(Succ(x0), Succ(x1)) 248.95/165.35 new_sr12(:%(x0, x1), :%(x2, x3), x4) 248.95/165.35 new_abs(Neg(Succ(x0))) 248.95/165.35 new_sr1(x0, ty_Double) 248.95/165.35 new_sr3(x0, app(ty_Ratio, x1)) 248.95/165.35 new_sr7(x0) 248.95/165.35 new_gcd0(x0, x1) 248.95/165.35 new_primQuotInt0(x0, Pos(Succ(x1))) 248.95/165.35 new_sr4(x0, x1, ty_Integer) 248.95/165.35 new_sr5(:%(x0, x1), x2) 248.95/165.35 new_primMinusNatS2(Zero, Zero) 248.95/165.35 new_primMulNat1(Succ(x0)) 248.95/165.35 new_ms(x0, Pos(Zero)) 248.95/165.35 new_abs(Pos(Succ(x0))) 248.95/165.35 new_sr4(x0, x1, ty_Int) 248.95/165.35 new_esEs(Pos(Zero)) 248.95/165.35 new_primQuotInt0(x0, Pos(Zero)) 248.95/165.35 new_primEqInt(Neg(Succ(x0))) 248.95/165.35 new_primQuotInt(x0, Neg(Zero)) 248.95/165.35 new_primQuotInt0(x0, Neg(Zero)) 248.95/165.35 new_primQuotInt0(x0, Neg(Succ(x1))) 248.95/165.35 new_gcd(x0, x1) 248.95/165.35 new_quot0(Pos(x0), x1, x2) 248.95/165.35 new_primMinusNatS0(x0) 248.95/165.35 new_primPlusNat0(Zero, Succ(x0)) 248.95/165.35 new_sr2(x0, x1, app(ty_Ratio, x2)) 248.95/165.35 new_sr2(x0, x1, ty_Int) 248.95/165.35 new_primQuotInt(x0, Pos(Succ(x1))) 248.95/165.35 new_primDivNatS1(Succ(Succ(x0)), Zero) 248.95/165.35 new_rem(Pos(x0), Pos(Zero)) 248.95/165.35 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 248.95/165.35 new_primDivNatS02(x0, x1, Zero, Zero) 248.95/165.35 new_abs(Pos(Zero)) 248.95/165.35 new_gcd0Gcd'10(False, x0, x1) 248.95/165.35 new_ms(x0, Pos(Succ(x1))) 248.95/165.35 new_primMinusNatS1 248.95/165.35 new_esEs1(Integer(x0)) 248.95/165.35 new_ms0(x0, Neg(Zero)) 248.95/165.35 new_primMinusNat0(Succ(x0), Zero) 248.95/165.35 new_ms0(x0, Neg(Succ(x1))) 248.95/165.35 new_sr2(x0, x1, ty_Integer) 248.95/165.35 new_primModNatS01(x0, x1, Zero, Succ(x2)) 248.95/165.35 new_primMulNat2(Succ(x0)) 248.95/165.35 new_sr14(Neg(x0), Neg(x1)) 248.95/165.35 new_sr2(x0, x1, ty_Float) 248.95/165.35 new_primMinusNatS2(Succ(x0), Zero) 248.95/165.35 new_sr4(x0, x1, ty_Float) 248.95/165.35 new_sr6(Pos(x0)) 248.95/165.35 new_esEs2(x0, x1, ty_Integer) 248.95/165.35 new_primMulNat4(Succ(x0)) 248.95/165.35 new_rem(Neg(x0), Neg(Succ(x1))) 248.95/165.35 new_primEqInt(Pos(Succ(x0))) 248.95/165.35 new_primQuotInt(x0, Pos(Zero)) 248.95/165.35 new_gcd0Gcd'11(False, x0, x1) 248.95/165.35 new_sr9(x0) 248.95/165.35 new_primModNatS1(Succ(Succ(x0)), Zero) 248.95/165.35 new_esEs0(x0, ty_Integer) 248.95/165.35 new_gcd0Gcd'00(x0, x1) 248.95/165.35 new_reduce2Reduce1(x0, x1, x2, x3, True, x4) 248.95/165.35 new_sr3(x0, ty_Double) 248.95/165.35 new_esEs(Neg(Zero)) 248.95/165.35 new_primMulNat1(Zero) 248.95/165.35 new_primMinusNat0(Zero, Succ(x0)) 248.95/165.35 new_rem(Neg(x0), Neg(Zero)) 248.95/165.35 248.95/165.35 We have to consider all minimal (P,Q,R)-chains. 248.95/165.35 ---------------------------------------- 248.95/165.35 248.95/165.35 (805) DependencyGraphProof (EQUIVALENT) 248.95/165.35 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 2 SCCs. 248.95/165.35 ---------------------------------------- 248.95/165.35 248.95/165.35 (806) 248.95/165.35 Complex Obligation (AND) 248.95/165.35 248.95/165.35 ---------------------------------------- 248.95/165.35 248.95/165.35 (807) 248.95/165.35 Obligation: 248.95/165.35 Q DP problem: 248.95/165.35 The TRS P consists of the following rules: 248.95/165.35 248.95/165.35 new_pr2F1(z1, z2, Pos(Succ(Zero)), z0, z3) -> new_pr2F30(False, z1, z2, Pos(Succ(Zero)), z0, z3) 248.95/165.35 new_pr2F30(False, z0, z1, Pos(Succ(Zero)), z2, z3) -> new_pr2F0(z0, Neg(new_primPlusNat0(Succ(z1), Succ(Zero))), new_sr4(z0, z2, z3), z3) 248.95/165.35 new_pr2F0(vyv183, Neg(Succ(Succ(vyv222000))), vyv187, h) -> new_pr2F0G10(vyv187, vyv183, Succ(vyv222000), vyv222000, h) 248.95/165.35 new_pr2F0G10(vyv248, vyv249, vyv250, Succ(Succ(vyv25100)), bb) -> new_pr2F0G10(vyv248, vyv249, vyv250, vyv25100, bb) 248.95/165.35 new_pr2F0G10(vyv248, vyv249, vyv250, Succ(Zero), bb) -> new_pr2F0G11(vyv248, vyv249, vyv250, bb) 248.95/165.35 new_pr2F0G11(vyv238, vyv239, vyv240, bc) -> new_pr2F1(vyv239, vyv240, Pos(Succ(Zero)), vyv238, bc) 248.95/165.35 new_pr2F0G10(vyv248, vyv249, vyv250, Zero, bb) -> new_pr2F0G(vyv248, new_sr3(vyv249, bb), Neg(new_primDivNatS1(Succ(vyv250), Succ(Zero))), bb) 248.95/165.35 new_pr2F0G(vyv187, vyv183, Neg(Succ(Zero)), h) -> new_pr2F0G11(vyv187, vyv183, Zero, h) 248.95/165.35 new_pr2F0G(vyv187, vyv183, Neg(Succ(Succ(vyv222000))), h) -> new_pr2F0G10(vyv187, vyv183, Succ(vyv222000), vyv222000, h) 248.95/165.35 new_pr2F0(vyv183, Neg(Succ(Zero)), vyv187, h) -> new_pr2F0G11(vyv187, vyv183, Zero, h) 248.95/165.35 248.95/165.35 The TRS R consists of the following rules: 248.95/165.35 248.95/165.35 new_ms0(vyv240, Pos(vyv2430)) -> Neg(new_primPlusNat0(Succ(vyv240), vyv2430)) 248.95/165.35 new_sr4(vyv239, vyv238, app(ty_Ratio, bf)) -> new_sr12(vyv239, vyv238, bf) 248.95/165.35 new_sr4(vyv239, vyv238, ty_Integer) -> new_sr8(vyv239, vyv238) 248.95/165.35 new_sr4(vyv239, vyv238, ty_Int) -> new_sr14(vyv239, vyv238) 248.95/165.35 new_sr4(vyv239, vyv238, ty_Double) -> new_sr11(vyv239, vyv238) 248.95/165.35 new_sr4(vyv239, vyv238, ty_Float) -> new_sr13(vyv239, vyv238) 248.95/165.35 new_sr13(vyv239, vyv238) -> error([]) 248.95/165.35 new_sr11(vyv239, vyv238) -> error([]) 248.95/165.35 new_sr14(Pos(vyv2390), Neg(vyv2380)) -> Neg(new_primMulNat0(vyv2390, vyv2380)) 248.95/165.35 new_sr14(Neg(vyv2390), Pos(vyv2380)) -> Neg(new_primMulNat0(vyv2390, vyv2380)) 248.95/165.35 new_sr14(Neg(vyv2390), Neg(vyv2380)) -> Pos(new_primMulNat0(vyv2390, vyv2380)) 248.95/165.35 new_sr14(Pos(vyv2390), Pos(vyv2380)) -> Pos(new_primMulNat0(vyv2390, vyv2380)) 248.95/165.35 new_primMulNat0(Succ(vyv23900), Zero) -> Zero 248.95/165.35 new_primMulNat0(Zero, Succ(vyv23800)) -> Zero 248.95/165.35 new_primMulNat0(Zero, Zero) -> Zero 248.95/165.35 new_primMulNat0(Succ(vyv23900), Succ(vyv23800)) -> new_primPlusNat0(new_primMulNat0(vyv23900, Succ(vyv23800)), Succ(vyv23800)) 248.95/165.35 new_primPlusNat0(Succ(vyv4000), Succ(vyv5000)) -> Succ(Succ(new_primPlusNat0(vyv4000, vyv5000))) 248.95/165.35 new_primPlusNat0(Zero, Succ(vyv5000)) -> Succ(vyv5000) 248.95/165.35 new_primPlusNat0(Zero, Zero) -> Zero 248.95/165.35 new_primPlusNat0(Succ(vyv4000), Zero) -> Succ(vyv4000) 248.95/165.35 new_sr8(vyv239, vyv238) -> error([]) 248.95/165.35 new_sr12(:%(vyv2390, vyv2391), :%(vyv2380, vyv2381), bf) -> new_reduce2Reduce1(vyv2390, vyv2380, vyv2391, vyv2381, new_esEs2(vyv2391, vyv2381, bf), bf) 248.95/165.35 new_esEs2(vyv2391, vyv2381, ty_Int) -> new_esEs(new_sr14(vyv2391, vyv2381)) 248.95/165.35 new_esEs2(vyv2391, vyv2381, ty_Integer) -> new_esEs1(new_sr8(vyv2391, vyv2381)) 248.95/165.35 new_reduce2Reduce1(vyv264, vyv265, vyv266, vyv267, False, bh) -> :%(new_quot1(vyv264, vyv265, vyv266, vyv267, bh), new_quot2(vyv266, vyv267, vyv264, vyv265, bh)) 248.95/165.35 new_reduce2Reduce1(vyv264, vyv265, vyv266, vyv267, True, bh) -> error([]) 248.95/165.35 new_quot1(vyv264, vyv265, vyv266, vyv267, ty_Int) -> new_quot0(new_sr14(vyv264, vyv265), new_sr14(vyv264, vyv265), new_sr14(vyv266, vyv267)) 248.95/165.35 new_quot1(vyv264, vyv265, vyv266, vyv267, ty_Integer) -> new_quot(new_sr8(vyv264, vyv265), new_sr8(vyv264, vyv265), new_sr8(vyv266, vyv267)) 248.95/165.35 new_quot2(vyv266, vyv267, vyv264, vyv265, ty_Int) -> new_quot0(new_sr14(vyv266, vyv267), new_sr14(vyv264, vyv265), new_sr14(vyv266, vyv267)) 248.95/165.35 new_quot2(vyv266, vyv267, vyv264, vyv265, ty_Integer) -> new_quot(new_sr8(vyv266, vyv267), new_sr8(vyv264, vyv265), new_sr8(vyv266, vyv267)) 248.95/165.35 new_quot(vyv273, vyv275, vyv274) -> error([]) 248.95/165.35 new_quot0(Neg(vyv2700), vyv272, vyv271) -> new_primQuotInt0(vyv2700, new_gcd(vyv272, vyv271)) 248.95/165.35 new_quot0(Pos(vyv2700), vyv272, vyv271) -> new_primQuotInt(vyv2700, new_gcd(vyv272, vyv271)) 248.95/165.35 new_gcd(vyv272, vyv271) -> new_gcd2(new_esEs(vyv272), vyv272, vyv271) 248.95/165.35 new_primQuotInt(vyv2700, Pos(Succ(vyv28400))) -> Pos(new_primDivNatS1(vyv2700, vyv28400)) 248.95/165.35 new_primQuotInt(vyv2700, Neg(Zero)) -> new_error 248.95/165.35 new_primQuotInt(vyv2700, Pos(Zero)) -> new_error 248.95/165.35 new_primQuotInt(vyv2700, Neg(Succ(vyv28400))) -> Neg(new_primDivNatS1(vyv2700, vyv28400)) 248.95/165.35 new_primDivNatS1(Succ(Zero), Succ(vyv284000)) -> Zero 248.95/165.35 new_primDivNatS1(Succ(Succ(vyv270000)), Succ(vyv284000)) -> new_primDivNatS02(vyv270000, vyv284000, vyv270000, vyv284000) 248.95/165.35 new_primDivNatS1(Zero, vyv28400) -> Zero 248.95/165.35 new_primDivNatS1(Succ(Succ(vyv270000)), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS0(vyv270000), Zero)) 248.95/165.35 new_primDivNatS1(Succ(Zero), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS1, Zero)) 248.95/165.35 new_primMinusNatS1 -> Zero 248.95/165.35 new_primMinusNatS0(vyv270000) -> Succ(vyv270000) 248.95/165.35 new_primDivNatS02(vyv310, vyv311, Zero, Zero) -> new_primDivNatS01(vyv310, vyv311) 248.95/165.35 new_primDivNatS02(vyv310, vyv311, Succ(vyv3120), Zero) -> new_primDivNatS01(vyv310, vyv311) 248.95/165.35 new_primDivNatS02(vyv310, vyv311, Zero, Succ(vyv3130)) -> Zero 248.95/165.35 new_primDivNatS02(vyv310, vyv311, Succ(vyv3120), Succ(vyv3130)) -> new_primDivNatS02(vyv310, vyv311, vyv3120, vyv3130) 248.95/165.35 new_primDivNatS01(vyv310, vyv311) -> Succ(new_primDivNatS1(new_primMinusNatS2(vyv310, vyv311), Succ(vyv311))) 248.95/165.35 new_primMinusNatS2(Zero, Succ(vyv3110)) -> Zero 248.95/165.35 new_primMinusNatS2(Succ(vyv3100), Zero) -> Succ(vyv3100) 248.95/165.35 new_primMinusNatS2(Zero, Zero) -> Zero 248.95/165.35 new_primMinusNatS2(Succ(vyv3100), Succ(vyv3110)) -> new_primMinusNatS2(vyv3100, vyv3110) 248.95/165.35 new_error -> error([]) 248.95/165.35 new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) 248.95/165.35 new_esEs(Pos(Succ(vyv24100))) -> new_primEqInt(Pos(Succ(vyv24100))) 248.95/165.35 new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) 248.95/165.35 new_esEs(Neg(Succ(vyv24100))) -> new_primEqInt(Neg(Succ(vyv24100))) 248.95/165.35 new_gcd2(True, vyv272, vyv271) -> new_gcd1(new_esEs(vyv271), vyv272, vyv271) 248.95/165.35 new_gcd2(False, vyv272, vyv271) -> new_gcd0(vyv272, vyv271) 248.95/165.35 new_gcd0(vyv272, vyv271) -> new_gcd0Gcd'10(new_esEs(new_abs(vyv271)), vyv272, vyv271) 248.95/165.35 new_abs(Neg(Zero)) -> Neg(Zero) 248.95/165.35 new_abs(Neg(Succ(vyv27100))) -> Pos(Succ(vyv27100)) 248.95/165.35 new_abs(Pos(Succ(vyv27100))) -> Pos(Succ(vyv27100)) 248.95/165.35 new_abs(Pos(Zero)) -> Pos(Zero) 248.95/165.35 new_gcd0Gcd'10(True, vyv272, vyv271) -> new_abs(vyv272) 248.95/165.35 new_gcd0Gcd'10(False, vyv272, vyv271) -> new_gcd0Gcd'00(new_abs(vyv272), new_abs(vyv271)) 248.95/165.35 new_gcd0Gcd'11(False, vyv291, vyv292) -> new_gcd0Gcd'00(vyv291, new_rem(vyv292, vyv291)) 248.95/165.35 new_gcd0Gcd'00(vyv292, vyv291) -> new_gcd0Gcd'11(new_esEs(new_rem(vyv292, vyv291)), vyv291, vyv292) 248.95/165.35 new_rem(Pos(vyv2920), Neg(Zero)) -> new_error 248.95/165.35 new_rem(Neg(vyv2920), Pos(Zero)) -> new_error 248.95/165.35 new_rem(Pos(vyv2920), Neg(Succ(vyv29100))) -> Pos(new_primModNatS1(vyv2920, vyv29100)) 248.95/165.35 new_rem(Neg(vyv2920), Pos(Succ(vyv29100))) -> Neg(new_primModNatS1(vyv2920, vyv29100)) 248.95/165.35 new_rem(Pos(vyv2920), Pos(Succ(vyv29100))) -> Pos(new_primModNatS1(vyv2920, vyv29100)) 248.95/165.35 new_rem(Neg(vyv2920), Neg(Zero)) -> new_error 248.95/165.35 new_rem(Neg(vyv2920), Neg(Succ(vyv29100))) -> Neg(new_primModNatS1(vyv2920, vyv29100)) 248.95/165.35 new_rem(Pos(vyv2920), Pos(Zero)) -> new_error 248.95/165.35 new_gcd0Gcd'11(True, vyv291, vyv292) -> vyv291 248.95/165.35 new_primModNatS1(Succ(Zero), Succ(vyv291000)) -> Succ(Zero) 248.95/165.35 new_primModNatS1(Zero, vyv29100) -> Zero 248.95/165.35 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 248.95/165.35 new_primModNatS1(Succ(Succ(vyv292000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv292000), Zero) 248.95/165.35 new_primModNatS1(Succ(Succ(vyv292000)), Succ(vyv291000)) -> new_primModNatS01(vyv292000, vyv291000, vyv292000, vyv291000) 248.95/165.35 new_primModNatS01(vyv330, vyv331, Zero, Zero) -> new_primModNatS02(vyv330, vyv331) 248.95/165.35 new_primModNatS02(vyv330, vyv331) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv330), Succ(vyv331)), Succ(vyv331)) 248.95/165.35 new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Zero) -> new_primModNatS02(vyv330, vyv331) 248.95/165.35 new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Succ(vyv3330)) -> new_primModNatS01(vyv330, vyv331, vyv3320, vyv3330) 248.95/165.35 new_primModNatS01(vyv330, vyv331, Zero, Succ(vyv3330)) -> Succ(Succ(vyv330)) 248.95/165.35 new_gcd1(True, vyv272, vyv271) -> new_error 248.95/165.35 new_gcd1(False, vyv272, vyv271) -> new_gcd0(vyv272, vyv271) 248.95/165.35 new_primEqInt(Neg(Succ(vyv242000))) -> False 248.95/165.35 new_primEqInt(Pos(Zero)) -> True 248.95/165.35 new_primEqInt(Pos(Succ(vyv242000))) -> False 248.95/165.35 new_primEqInt(Neg(Zero)) -> True 248.95/165.35 new_primQuotInt0(vyv2700, Pos(Succ(vyv28700))) -> Neg(new_primDivNatS1(vyv2700, vyv28700)) 248.95/165.35 new_primQuotInt0(vyv2700, Neg(Zero)) -> new_error 248.95/165.35 new_primQuotInt0(vyv2700, Neg(Succ(vyv28700))) -> Pos(new_primDivNatS1(vyv2700, vyv28700)) 248.95/165.35 new_primQuotInt0(vyv2700, Pos(Zero)) -> new_error 248.95/165.35 new_esEs1(Integer(vyv2690)) -> new_primEqInt(vyv2690) 248.95/165.35 new_sr1(vyv227, ty_Int) -> new_sr6(vyv227) 248.95/165.35 new_sr1(vyv227, ty_Integer) -> new_sr7(vyv227) 248.95/165.35 new_sr1(vyv227, app(ty_Ratio, be)) -> new_sr5(vyv227, be) 248.95/165.35 new_sr1(vyv227, ty_Float) -> new_sr10(vyv227) 248.95/165.35 new_sr1(vyv227, ty_Double) -> new_sr9(vyv227) 248.95/165.35 new_sr9(vyv183) -> error([]) 248.95/165.35 new_sr10(vyv183) -> error([]) 248.95/165.35 new_sr5(:%(vyv1830, vyv1831), bd) -> new_reduce2Reduce1(vyv1830, vyv1830, vyv1831, vyv1831, new_esEs0(vyv1831, bd), bd) 248.95/165.35 new_esEs0(vyv1831, ty_Int) -> new_esEs(new_sr6(vyv1831)) 248.95/165.35 new_esEs0(vyv1831, ty_Integer) -> new_esEs1(new_sr7(vyv1831)) 248.95/165.35 new_sr7(vyv183) -> error([]) 248.95/165.35 new_sr6(Neg(vyv1830)) -> Pos(new_primMulNat1(vyv1830)) 248.95/165.35 new_sr6(Pos(vyv1830)) -> Pos(new_primMulNat1(vyv1830)) 248.95/165.35 new_primMulNat1(Succ(vyv18300)) -> new_primPlusNat0(new_primMulNat2(vyv18300), Succ(vyv18300)) 248.95/165.35 new_primMulNat1(Zero) -> Zero 248.95/165.35 new_primMulNat2(Succ(vyv183000)) -> new_primPlusNat0(new_primMulNat3(vyv183000), Succ(Succ(vyv183000))) 248.95/165.35 new_primMulNat2(Zero) -> Zero 248.95/165.35 new_primMulNat3(Succ(vyv1830000)) -> new_primPlusNat0(new_primMulNat4(vyv1830000), Succ(Succ(Succ(vyv1830000)))) 248.95/165.35 new_primMulNat3(Zero) -> Zero 248.95/165.35 new_primMulNat4(Succ(vyv18300000)) -> new_primPlusNat0(new_primMulNat0(vyv18300000, Succ(Succ(Succ(Succ(vyv18300000))))), Succ(Succ(Succ(Succ(vyv18300000))))) 248.95/165.35 new_primMulNat4(Zero) -> Zero 248.95/165.35 new_ms(vyv228, Neg(vyv2440)) -> Pos(new_primPlusNat0(Succ(vyv228), vyv2440)) 248.95/165.35 new_ms(vyv228, Pos(Succ(vyv24400))) -> new_primMinusNat0(vyv228, vyv24400) 248.95/165.35 new_ms(vyv228, Pos(Zero)) -> Pos(Succ(vyv228)) 248.95/165.35 new_sr2(vyv227, vyv226, ty_Int) -> new_sr14(vyv227, vyv226) 248.95/165.35 new_sr2(vyv227, vyv226, ty_Double) -> new_sr11(vyv227, vyv226) 248.95/165.35 new_sr2(vyv227, vyv226, ty_Integer) -> new_sr8(vyv227, vyv226) 248.95/165.35 new_sr2(vyv227, vyv226, ty_Float) -> new_sr13(vyv227, vyv226) 248.95/165.35 new_sr2(vyv227, vyv226, app(ty_Ratio, be)) -> new_sr12(vyv227, vyv226, be) 248.95/165.35 new_primMinusNat0(Succ(vyv2280), Succ(vyv244000)) -> new_primMinusNat0(vyv2280, vyv244000) 248.95/165.35 new_primMinusNat0(Zero, Zero) -> Pos(Zero) 248.95/165.35 new_primMinusNat0(Zero, Succ(vyv244000)) -> Neg(Succ(vyv244000)) 248.95/165.35 new_primMinusNat0(Succ(vyv2280), Zero) -> Pos(Succ(vyv2280)) 248.95/165.35 new_sr3(vyv249, ty_Float) -> new_sr10(vyv249) 248.95/165.35 new_sr3(vyv249, ty_Double) -> new_sr9(vyv249) 248.95/165.35 new_sr3(vyv249, ty_Int) -> new_sr6(vyv249) 248.95/165.35 new_sr3(vyv249, ty_Integer) -> new_sr7(vyv249) 248.95/165.35 new_sr3(vyv249, app(ty_Ratio, bg)) -> new_sr5(vyv249, bg) 248.95/165.35 248.95/165.35 The set Q consists of the following terms: 248.95/165.35 248.95/165.35 new_rem(Pos(x0), Pos(Succ(x1))) 248.95/165.35 new_quot1(x0, x1, x2, x3, ty_Integer) 248.95/165.35 new_primModNatS1(Succ(Zero), Succ(x0)) 248.95/165.35 new_ms0(x0, Pos(x1)) 248.95/165.35 new_primMulNat4(Zero) 248.95/165.35 new_gcd1(False, x0, x1) 248.95/165.35 new_primEqInt(Pos(Zero)) 248.95/165.35 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 248.95/165.35 new_rem(Pos(x0), Neg(Succ(x1))) 248.95/165.35 new_rem(Neg(x0), Pos(Succ(x1))) 248.95/165.35 new_sr10(x0) 248.95/165.35 new_quot1(x0, x1, x2, x3, ty_Int) 248.95/165.35 new_quot2(x0, x1, x2, x3, ty_Integer) 248.95/165.35 new_primModNatS01(x0, x1, Succ(x2), Zero) 248.95/165.35 new_sr3(x0, ty_Integer) 248.95/165.35 new_primMulNat3(Zero) 248.95/165.35 new_primDivNatS02(x0, x1, Succ(x2), Zero) 248.95/165.35 new_quot2(x0, x1, x2, x3, ty_Int) 248.95/165.35 new_gcd2(False, x0, x1) 248.95/165.35 new_primDivNatS1(Succ(Zero), Zero) 248.95/165.35 new_esEs0(x0, ty_Int) 248.95/165.35 new_sr14(Pos(x0), Pos(x1)) 248.95/165.35 new_sr3(x0, ty_Int) 248.95/165.35 new_primMulNat0(Zero, Zero) 248.95/165.35 new_sr4(x0, x1, ty_Double) 248.95/165.35 new_primPlusNat0(Succ(x0), Zero) 248.95/165.35 new_primMulNat2(Zero) 248.95/165.35 new_sr11(x0, x1) 248.95/165.35 new_primModNatS01(x0, x1, Zero, Zero) 248.95/165.35 new_esEs2(x0, x1, ty_Int) 248.95/165.35 new_gcd1(True, x0, x1) 248.95/165.35 new_sr13(x0, x1) 248.95/165.35 new_sr14(Pos(x0), Neg(x1)) 248.95/165.35 new_sr14(Neg(x0), Pos(x1)) 248.95/165.35 new_primDivNatS1(Succ(Succ(x0)), Succ(x1)) 248.95/165.35 new_sr1(x0, ty_Int) 248.95/165.35 new_primModNatS1(Zero, x0) 248.95/165.35 new_esEs(Pos(Succ(x0))) 248.95/165.35 new_primMulNat3(Succ(x0)) 248.95/165.35 new_sr1(x0, app(ty_Ratio, x1)) 248.95/165.35 new_primQuotInt(x0, Neg(Succ(x1))) 248.95/165.35 new_reduce2Reduce1(x0, x1, x2, x3, False, x4) 248.95/165.35 new_primMinusNat0(Zero, Zero) 248.95/165.35 new_primDivNatS1(Zero, x0) 248.95/165.35 new_primDivNatS02(x0, x1, Succ(x2), Succ(x3)) 248.95/165.35 new_primModNatS02(x0, x1) 248.95/165.35 new_primDivNatS1(Succ(Zero), Succ(x0)) 248.95/165.35 new_sr6(Neg(x0)) 248.95/165.35 new_gcd0Gcd'10(True, x0, x1) 248.95/165.35 new_primMulNat0(Succ(x0), Succ(x1)) 248.95/165.35 new_abs(Neg(Zero)) 248.95/165.35 new_ms(x0, Neg(x1)) 248.95/165.35 new_rem(Pos(x0), Neg(Zero)) 248.95/165.35 new_rem(Neg(x0), Pos(Zero)) 248.95/165.35 new_primMinusNatS2(Zero, Succ(x0)) 248.95/165.35 new_esEs(Neg(Succ(x0))) 248.95/165.35 new_error 248.95/165.35 new_primModNatS1(Succ(Zero), Zero) 248.95/165.35 new_primMulNat0(Zero, Succ(x0)) 248.95/165.35 new_sr3(x0, ty_Float) 248.95/165.35 new_quot(x0, x1, x2) 248.95/165.35 new_gcd2(True, x0, x1) 248.95/165.35 new_gcd0Gcd'11(True, x0, x1) 248.95/165.35 new_primEqInt(Neg(Zero)) 248.95/165.35 new_sr2(x0, x1, ty_Double) 248.95/165.35 new_primMulNat0(Succ(x0), Zero) 248.95/165.35 new_quot0(Neg(x0), x1, x2) 248.95/165.35 new_primMinusNatS2(Succ(x0), Succ(x1)) 248.95/165.35 new_sr4(x0, x1, app(ty_Ratio, x2)) 248.95/165.35 new_sr8(x0, x1) 248.95/165.35 new_primDivNatS01(x0, x1) 248.95/165.35 new_primDivNatS02(x0, x1, Zero, Succ(x2)) 248.95/165.35 new_primPlusNat0(Succ(x0), Succ(x1)) 248.95/165.35 new_sr1(x0, ty_Integer) 248.95/165.35 new_primPlusNat0(Zero, Zero) 248.95/165.35 new_sr1(x0, ty_Float) 248.95/165.35 new_primMinusNat0(Succ(x0), Succ(x1)) 248.95/165.35 new_sr12(:%(x0, x1), :%(x2, x3), x4) 248.95/165.35 new_abs(Neg(Succ(x0))) 248.95/165.35 new_sr1(x0, ty_Double) 248.95/165.35 new_sr3(x0, app(ty_Ratio, x1)) 248.95/165.35 new_sr7(x0) 248.95/165.35 new_gcd0(x0, x1) 248.95/165.35 new_primQuotInt0(x0, Pos(Succ(x1))) 248.95/165.35 new_sr4(x0, x1, ty_Integer) 248.95/165.35 new_sr5(:%(x0, x1), x2) 248.95/165.35 new_primMinusNatS2(Zero, Zero) 248.95/165.35 new_primMulNat1(Succ(x0)) 248.95/165.35 new_ms(x0, Pos(Zero)) 248.95/165.35 new_abs(Pos(Succ(x0))) 248.95/165.35 new_sr4(x0, x1, ty_Int) 248.95/165.35 new_esEs(Pos(Zero)) 248.95/165.35 new_primQuotInt0(x0, Pos(Zero)) 248.95/165.35 new_primEqInt(Neg(Succ(x0))) 248.95/165.35 new_primQuotInt(x0, Neg(Zero)) 248.95/165.35 new_primQuotInt0(x0, Neg(Zero)) 248.95/165.35 new_primQuotInt0(x0, Neg(Succ(x1))) 248.95/165.35 new_gcd(x0, x1) 248.95/165.35 new_quot0(Pos(x0), x1, x2) 248.95/165.35 new_primMinusNatS0(x0) 248.95/165.35 new_primPlusNat0(Zero, Succ(x0)) 248.95/165.35 new_sr2(x0, x1, app(ty_Ratio, x2)) 248.95/165.35 new_sr2(x0, x1, ty_Int) 248.95/165.35 new_primQuotInt(x0, Pos(Succ(x1))) 248.95/165.35 new_primDivNatS1(Succ(Succ(x0)), Zero) 248.95/165.35 new_rem(Pos(x0), Pos(Zero)) 248.95/165.35 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 248.95/165.35 new_primDivNatS02(x0, x1, Zero, Zero) 248.95/165.35 new_abs(Pos(Zero)) 248.95/165.35 new_gcd0Gcd'10(False, x0, x1) 248.95/165.35 new_ms(x0, Pos(Succ(x1))) 248.95/165.35 new_primMinusNatS1 248.95/165.35 new_esEs1(Integer(x0)) 248.95/165.35 new_ms0(x0, Neg(Zero)) 248.95/165.35 new_primMinusNat0(Succ(x0), Zero) 248.95/165.35 new_ms0(x0, Neg(Succ(x1))) 248.95/165.35 new_sr2(x0, x1, ty_Integer) 248.95/165.35 new_primModNatS01(x0, x1, Zero, Succ(x2)) 248.95/165.35 new_primMulNat2(Succ(x0)) 248.95/165.35 new_sr14(Neg(x0), Neg(x1)) 248.95/165.35 new_sr2(x0, x1, ty_Float) 248.95/165.35 new_primMinusNatS2(Succ(x0), Zero) 248.95/165.35 new_sr4(x0, x1, ty_Float) 248.95/165.35 new_sr6(Pos(x0)) 248.95/165.35 new_esEs2(x0, x1, ty_Integer) 248.95/165.35 new_primMulNat4(Succ(x0)) 248.95/165.35 new_rem(Neg(x0), Neg(Succ(x1))) 248.95/165.35 new_primEqInt(Pos(Succ(x0))) 248.95/165.35 new_primQuotInt(x0, Pos(Zero)) 248.95/165.35 new_gcd0Gcd'11(False, x0, x1) 248.95/165.35 new_sr9(x0) 248.95/165.35 new_primModNatS1(Succ(Succ(x0)), Zero) 248.95/165.35 new_esEs0(x0, ty_Integer) 248.95/165.35 new_gcd0Gcd'00(x0, x1) 248.95/165.35 new_reduce2Reduce1(x0, x1, x2, x3, True, x4) 248.95/165.35 new_sr3(x0, ty_Double) 248.95/165.35 new_esEs(Neg(Zero)) 248.95/165.35 new_primMulNat1(Zero) 248.95/165.35 new_primMinusNat0(Zero, Succ(x0)) 248.95/165.35 new_rem(Neg(x0), Neg(Zero)) 248.95/165.35 248.95/165.35 We have to consider all minimal (P,Q,R)-chains. 248.95/165.35 ---------------------------------------- 248.95/165.35 248.95/165.35 (808) UsableRulesProof (EQUIVALENT) 248.95/165.35 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. 248.95/165.35 ---------------------------------------- 248.95/165.35 248.95/165.35 (809) 248.95/165.35 Obligation: 248.95/165.35 Q DP problem: 248.95/165.35 The TRS P consists of the following rules: 248.95/165.35 248.95/165.35 new_pr2F1(z1, z2, Pos(Succ(Zero)), z0, z3) -> new_pr2F30(False, z1, z2, Pos(Succ(Zero)), z0, z3) 248.95/165.35 new_pr2F30(False, z0, z1, Pos(Succ(Zero)), z2, z3) -> new_pr2F0(z0, Neg(new_primPlusNat0(Succ(z1), Succ(Zero))), new_sr4(z0, z2, z3), z3) 248.95/165.35 new_pr2F0(vyv183, Neg(Succ(Succ(vyv222000))), vyv187, h) -> new_pr2F0G10(vyv187, vyv183, Succ(vyv222000), vyv222000, h) 248.95/165.35 new_pr2F0G10(vyv248, vyv249, vyv250, Succ(Succ(vyv25100)), bb) -> new_pr2F0G10(vyv248, vyv249, vyv250, vyv25100, bb) 248.95/165.35 new_pr2F0G10(vyv248, vyv249, vyv250, Succ(Zero), bb) -> new_pr2F0G11(vyv248, vyv249, vyv250, bb) 248.95/165.35 new_pr2F0G11(vyv238, vyv239, vyv240, bc) -> new_pr2F1(vyv239, vyv240, Pos(Succ(Zero)), vyv238, bc) 248.95/165.35 new_pr2F0G10(vyv248, vyv249, vyv250, Zero, bb) -> new_pr2F0G(vyv248, new_sr3(vyv249, bb), Neg(new_primDivNatS1(Succ(vyv250), Succ(Zero))), bb) 248.95/165.35 new_pr2F0G(vyv187, vyv183, Neg(Succ(Zero)), h) -> new_pr2F0G11(vyv187, vyv183, Zero, h) 248.95/165.35 new_pr2F0G(vyv187, vyv183, Neg(Succ(Succ(vyv222000))), h) -> new_pr2F0G10(vyv187, vyv183, Succ(vyv222000), vyv222000, h) 248.95/165.35 new_pr2F0(vyv183, Neg(Succ(Zero)), vyv187, h) -> new_pr2F0G11(vyv187, vyv183, Zero, h) 248.95/165.35 248.95/165.35 The TRS R consists of the following rules: 248.95/165.35 248.95/165.35 new_sr3(vyv249, ty_Float) -> new_sr10(vyv249) 248.95/165.35 new_sr3(vyv249, ty_Double) -> new_sr9(vyv249) 248.95/165.35 new_sr3(vyv249, ty_Int) -> new_sr6(vyv249) 248.95/165.35 new_sr3(vyv249, ty_Integer) -> new_sr7(vyv249) 248.95/165.35 new_sr3(vyv249, app(ty_Ratio, bg)) -> new_sr5(vyv249, bg) 248.95/165.35 new_primDivNatS1(Succ(Zero), Succ(vyv284000)) -> Zero 248.95/165.35 new_primDivNatS1(Succ(Succ(vyv270000)), Succ(vyv284000)) -> new_primDivNatS02(vyv270000, vyv284000, vyv270000, vyv284000) 248.95/165.35 new_primDivNatS02(vyv310, vyv311, Zero, Zero) -> new_primDivNatS01(vyv310, vyv311) 248.95/165.35 new_primDivNatS02(vyv310, vyv311, Succ(vyv3120), Zero) -> new_primDivNatS01(vyv310, vyv311) 248.95/165.35 new_primDivNatS02(vyv310, vyv311, Zero, Succ(vyv3130)) -> Zero 248.95/165.35 new_primDivNatS02(vyv310, vyv311, Succ(vyv3120), Succ(vyv3130)) -> new_primDivNatS02(vyv310, vyv311, vyv3120, vyv3130) 248.95/165.35 new_primDivNatS01(vyv310, vyv311) -> Succ(new_primDivNatS1(new_primMinusNatS2(vyv310, vyv311), Succ(vyv311))) 248.95/165.35 new_primMinusNatS2(Zero, Succ(vyv3110)) -> Zero 248.95/165.35 new_primMinusNatS2(Succ(vyv3100), Zero) -> Succ(vyv3100) 248.95/165.35 new_primMinusNatS2(Zero, Zero) -> Zero 248.95/165.35 new_primMinusNatS2(Succ(vyv3100), Succ(vyv3110)) -> new_primMinusNatS2(vyv3100, vyv3110) 248.95/165.35 new_primDivNatS1(Zero, vyv28400) -> Zero 248.95/165.35 new_sr5(:%(vyv1830, vyv1831), bd) -> new_reduce2Reduce1(vyv1830, vyv1830, vyv1831, vyv1831, new_esEs0(vyv1831, bd), bd) 248.95/165.35 new_esEs0(vyv1831, ty_Int) -> new_esEs(new_sr6(vyv1831)) 248.95/165.35 new_esEs0(vyv1831, ty_Integer) -> new_esEs1(new_sr7(vyv1831)) 248.95/165.35 new_reduce2Reduce1(vyv264, vyv265, vyv266, vyv267, False, bh) -> :%(new_quot1(vyv264, vyv265, vyv266, vyv267, bh), new_quot2(vyv266, vyv267, vyv264, vyv265, bh)) 248.95/165.35 new_reduce2Reduce1(vyv264, vyv265, vyv266, vyv267, True, bh) -> error([]) 248.95/165.35 new_quot1(vyv264, vyv265, vyv266, vyv267, ty_Int) -> new_quot0(new_sr14(vyv264, vyv265), new_sr14(vyv264, vyv265), new_sr14(vyv266, vyv267)) 248.95/165.35 new_quot1(vyv264, vyv265, vyv266, vyv267, ty_Integer) -> new_quot(new_sr8(vyv264, vyv265), new_sr8(vyv264, vyv265), new_sr8(vyv266, vyv267)) 248.95/165.35 new_quot2(vyv266, vyv267, vyv264, vyv265, ty_Int) -> new_quot0(new_sr14(vyv266, vyv267), new_sr14(vyv264, vyv265), new_sr14(vyv266, vyv267)) 248.95/165.35 new_quot2(vyv266, vyv267, vyv264, vyv265, ty_Integer) -> new_quot(new_sr8(vyv266, vyv267), new_sr8(vyv264, vyv265), new_sr8(vyv266, vyv267)) 248.95/165.35 new_sr8(vyv239, vyv238) -> error([]) 248.95/165.35 new_quot(vyv273, vyv275, vyv274) -> error([]) 248.95/165.35 new_sr14(Pos(vyv2390), Neg(vyv2380)) -> Neg(new_primMulNat0(vyv2390, vyv2380)) 248.95/165.35 new_sr14(Neg(vyv2390), Pos(vyv2380)) -> Neg(new_primMulNat0(vyv2390, vyv2380)) 248.95/165.35 new_sr14(Neg(vyv2390), Neg(vyv2380)) -> Pos(new_primMulNat0(vyv2390, vyv2380)) 248.95/165.35 new_sr14(Pos(vyv2390), Pos(vyv2380)) -> Pos(new_primMulNat0(vyv2390, vyv2380)) 248.95/165.35 new_quot0(Neg(vyv2700), vyv272, vyv271) -> new_primQuotInt0(vyv2700, new_gcd(vyv272, vyv271)) 248.95/165.35 new_quot0(Pos(vyv2700), vyv272, vyv271) -> new_primQuotInt(vyv2700, new_gcd(vyv272, vyv271)) 248.95/165.35 new_gcd(vyv272, vyv271) -> new_gcd2(new_esEs(vyv272), vyv272, vyv271) 248.95/165.35 new_primQuotInt(vyv2700, Pos(Succ(vyv28400))) -> Pos(new_primDivNatS1(vyv2700, vyv28400)) 248.95/165.35 new_primQuotInt(vyv2700, Neg(Zero)) -> new_error 248.95/165.35 new_primQuotInt(vyv2700, Pos(Zero)) -> new_error 248.95/165.35 new_primQuotInt(vyv2700, Neg(Succ(vyv28400))) -> Neg(new_primDivNatS1(vyv2700, vyv28400)) 248.95/165.35 new_primDivNatS1(Succ(Succ(vyv270000)), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS0(vyv270000), Zero)) 248.95/165.35 new_primDivNatS1(Succ(Zero), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS1, Zero)) 248.95/165.35 new_primMinusNatS1 -> Zero 248.95/165.35 new_primMinusNatS0(vyv270000) -> Succ(vyv270000) 248.95/165.35 new_error -> error([]) 248.95/165.35 new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) 248.95/165.35 new_esEs(Pos(Succ(vyv24100))) -> new_primEqInt(Pos(Succ(vyv24100))) 248.95/165.35 new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) 248.95/165.35 new_esEs(Neg(Succ(vyv24100))) -> new_primEqInt(Neg(Succ(vyv24100))) 248.95/165.35 new_gcd2(True, vyv272, vyv271) -> new_gcd1(new_esEs(vyv271), vyv272, vyv271) 248.95/165.35 new_gcd2(False, vyv272, vyv271) -> new_gcd0(vyv272, vyv271) 248.95/165.35 new_gcd0(vyv272, vyv271) -> new_gcd0Gcd'10(new_esEs(new_abs(vyv271)), vyv272, vyv271) 248.95/165.35 new_abs(Neg(Zero)) -> Neg(Zero) 248.95/165.35 new_abs(Neg(Succ(vyv27100))) -> Pos(Succ(vyv27100)) 248.95/165.35 new_abs(Pos(Succ(vyv27100))) -> Pos(Succ(vyv27100)) 248.95/165.35 new_abs(Pos(Zero)) -> Pos(Zero) 248.95/165.35 new_gcd0Gcd'10(True, vyv272, vyv271) -> new_abs(vyv272) 248.95/165.35 new_gcd0Gcd'10(False, vyv272, vyv271) -> new_gcd0Gcd'00(new_abs(vyv272), new_abs(vyv271)) 248.95/165.35 new_gcd0Gcd'11(False, vyv291, vyv292) -> new_gcd0Gcd'00(vyv291, new_rem(vyv292, vyv291)) 248.95/165.35 new_gcd0Gcd'00(vyv292, vyv291) -> new_gcd0Gcd'11(new_esEs(new_rem(vyv292, vyv291)), vyv291, vyv292) 248.95/165.35 new_rem(Pos(vyv2920), Neg(Zero)) -> new_error 248.95/165.35 new_rem(Neg(vyv2920), Pos(Zero)) -> new_error 248.95/165.35 new_rem(Pos(vyv2920), Neg(Succ(vyv29100))) -> Pos(new_primModNatS1(vyv2920, vyv29100)) 248.95/165.35 new_rem(Neg(vyv2920), Pos(Succ(vyv29100))) -> Neg(new_primModNatS1(vyv2920, vyv29100)) 248.95/165.35 new_rem(Pos(vyv2920), Pos(Succ(vyv29100))) -> Pos(new_primModNatS1(vyv2920, vyv29100)) 248.95/165.35 new_rem(Neg(vyv2920), Neg(Zero)) -> new_error 248.95/165.35 new_rem(Neg(vyv2920), Neg(Succ(vyv29100))) -> Neg(new_primModNatS1(vyv2920, vyv29100)) 248.95/165.35 new_rem(Pos(vyv2920), Pos(Zero)) -> new_error 248.95/165.35 new_gcd0Gcd'11(True, vyv291, vyv292) -> vyv291 248.95/165.35 new_primModNatS1(Succ(Zero), Succ(vyv291000)) -> Succ(Zero) 248.95/165.35 new_primModNatS1(Zero, vyv29100) -> Zero 248.95/165.35 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 248.95/165.35 new_primModNatS1(Succ(Succ(vyv292000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv292000), Zero) 248.95/165.35 new_primModNatS1(Succ(Succ(vyv292000)), Succ(vyv291000)) -> new_primModNatS01(vyv292000, vyv291000, vyv292000, vyv291000) 248.95/165.35 new_primModNatS01(vyv330, vyv331, Zero, Zero) -> new_primModNatS02(vyv330, vyv331) 248.95/165.35 new_primModNatS02(vyv330, vyv331) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv330), Succ(vyv331)), Succ(vyv331)) 248.95/165.35 new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Zero) -> new_primModNatS02(vyv330, vyv331) 248.95/165.35 new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Succ(vyv3330)) -> new_primModNatS01(vyv330, vyv331, vyv3320, vyv3330) 248.95/165.35 new_primModNatS01(vyv330, vyv331, Zero, Succ(vyv3330)) -> Succ(Succ(vyv330)) 248.95/165.35 new_gcd1(True, vyv272, vyv271) -> new_error 248.95/165.35 new_gcd1(False, vyv272, vyv271) -> new_gcd0(vyv272, vyv271) 248.95/165.35 new_primEqInt(Neg(Succ(vyv242000))) -> False 248.95/165.35 new_primEqInt(Pos(Zero)) -> True 248.95/165.35 new_primEqInt(Pos(Succ(vyv242000))) -> False 248.95/165.35 new_primEqInt(Neg(Zero)) -> True 248.95/165.35 new_primQuotInt0(vyv2700, Pos(Succ(vyv28700))) -> Neg(new_primDivNatS1(vyv2700, vyv28700)) 248.95/165.35 new_primQuotInt0(vyv2700, Neg(Zero)) -> new_error 248.95/165.35 new_primQuotInt0(vyv2700, Neg(Succ(vyv28700))) -> Pos(new_primDivNatS1(vyv2700, vyv28700)) 248.95/165.35 new_primQuotInt0(vyv2700, Pos(Zero)) -> new_error 248.95/165.35 new_primMulNat0(Succ(vyv23900), Zero) -> Zero 248.95/165.35 new_primMulNat0(Zero, Succ(vyv23800)) -> Zero 248.95/165.35 new_primMulNat0(Zero, Zero) -> Zero 248.95/165.35 new_primMulNat0(Succ(vyv23900), Succ(vyv23800)) -> new_primPlusNat0(new_primMulNat0(vyv23900, Succ(vyv23800)), Succ(vyv23800)) 248.95/165.35 new_primPlusNat0(Succ(vyv4000), Succ(vyv5000)) -> Succ(Succ(new_primPlusNat0(vyv4000, vyv5000))) 248.95/165.35 new_primPlusNat0(Zero, Succ(vyv5000)) -> Succ(vyv5000) 248.95/165.35 new_primPlusNat0(Zero, Zero) -> Zero 248.95/165.35 new_primPlusNat0(Succ(vyv4000), Zero) -> Succ(vyv4000) 248.95/165.35 new_sr7(vyv183) -> error([]) 248.95/165.35 new_esEs1(Integer(vyv2690)) -> new_primEqInt(vyv2690) 248.95/165.35 new_sr6(Neg(vyv1830)) -> Pos(new_primMulNat1(vyv1830)) 248.95/165.35 new_sr6(Pos(vyv1830)) -> Pos(new_primMulNat1(vyv1830)) 248.95/165.35 new_primMulNat1(Succ(vyv18300)) -> new_primPlusNat0(new_primMulNat2(vyv18300), Succ(vyv18300)) 248.95/165.35 new_primMulNat1(Zero) -> Zero 248.95/165.35 new_primMulNat2(Succ(vyv183000)) -> new_primPlusNat0(new_primMulNat3(vyv183000), Succ(Succ(vyv183000))) 248.95/165.35 new_primMulNat2(Zero) -> Zero 248.95/165.35 new_primMulNat3(Succ(vyv1830000)) -> new_primPlusNat0(new_primMulNat4(vyv1830000), Succ(Succ(Succ(vyv1830000)))) 248.95/165.35 new_primMulNat3(Zero) -> Zero 248.95/165.35 new_primMulNat4(Succ(vyv18300000)) -> new_primPlusNat0(new_primMulNat0(vyv18300000, Succ(Succ(Succ(Succ(vyv18300000))))), Succ(Succ(Succ(Succ(vyv18300000))))) 248.95/165.35 new_primMulNat4(Zero) -> Zero 248.95/165.35 new_sr9(vyv183) -> error([]) 248.95/165.35 new_sr10(vyv183) -> error([]) 248.95/165.35 new_sr4(vyv239, vyv238, app(ty_Ratio, bf)) -> new_sr12(vyv239, vyv238, bf) 248.95/165.35 new_sr4(vyv239, vyv238, ty_Integer) -> new_sr8(vyv239, vyv238) 248.95/165.35 new_sr4(vyv239, vyv238, ty_Int) -> new_sr14(vyv239, vyv238) 248.95/165.35 new_sr4(vyv239, vyv238, ty_Double) -> new_sr11(vyv239, vyv238) 248.95/165.35 new_sr4(vyv239, vyv238, ty_Float) -> new_sr13(vyv239, vyv238) 248.95/165.35 new_sr13(vyv239, vyv238) -> error([]) 248.95/165.35 new_sr11(vyv239, vyv238) -> error([]) 248.95/165.35 new_sr12(:%(vyv2390, vyv2391), :%(vyv2380, vyv2381), bf) -> new_reduce2Reduce1(vyv2390, vyv2380, vyv2391, vyv2381, new_esEs2(vyv2391, vyv2381, bf), bf) 248.95/165.35 new_esEs2(vyv2391, vyv2381, ty_Int) -> new_esEs(new_sr14(vyv2391, vyv2381)) 248.95/165.35 new_esEs2(vyv2391, vyv2381, ty_Integer) -> new_esEs1(new_sr8(vyv2391, vyv2381)) 248.95/165.35 248.95/165.35 The set Q consists of the following terms: 248.95/165.35 248.95/165.35 new_rem(Pos(x0), Pos(Succ(x1))) 248.95/165.35 new_quot1(x0, x1, x2, x3, ty_Integer) 248.95/165.35 new_primModNatS1(Succ(Zero), Succ(x0)) 248.95/165.35 new_ms0(x0, Pos(x1)) 248.95/165.35 new_primMulNat4(Zero) 248.95/165.35 new_gcd1(False, x0, x1) 248.95/165.35 new_primEqInt(Pos(Zero)) 248.95/165.35 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 248.95/165.35 new_rem(Pos(x0), Neg(Succ(x1))) 248.95/165.35 new_rem(Neg(x0), Pos(Succ(x1))) 248.95/165.35 new_sr10(x0) 248.95/165.35 new_quot1(x0, x1, x2, x3, ty_Int) 248.95/165.35 new_quot2(x0, x1, x2, x3, ty_Integer) 248.95/165.35 new_primModNatS01(x0, x1, Succ(x2), Zero) 248.95/165.35 new_sr3(x0, ty_Integer) 248.95/165.35 new_primMulNat3(Zero) 248.95/165.35 new_primDivNatS02(x0, x1, Succ(x2), Zero) 248.95/165.35 new_quot2(x0, x1, x2, x3, ty_Int) 248.95/165.35 new_gcd2(False, x0, x1) 248.95/165.35 new_primDivNatS1(Succ(Zero), Zero) 248.95/165.35 new_esEs0(x0, ty_Int) 248.95/165.35 new_sr14(Pos(x0), Pos(x1)) 248.95/165.35 new_sr3(x0, ty_Int) 248.95/165.35 new_primMulNat0(Zero, Zero) 248.95/165.35 new_sr4(x0, x1, ty_Double) 248.95/165.35 new_primPlusNat0(Succ(x0), Zero) 248.95/165.35 new_primMulNat2(Zero) 248.95/165.35 new_sr11(x0, x1) 248.95/165.35 new_primModNatS01(x0, x1, Zero, Zero) 248.95/165.35 new_esEs2(x0, x1, ty_Int) 248.95/165.35 new_gcd1(True, x0, x1) 248.95/165.35 new_sr13(x0, x1) 248.95/165.35 new_sr14(Pos(x0), Neg(x1)) 248.95/165.35 new_sr14(Neg(x0), Pos(x1)) 248.95/165.35 new_primDivNatS1(Succ(Succ(x0)), Succ(x1)) 248.95/165.35 new_sr1(x0, ty_Int) 248.95/165.35 new_primModNatS1(Zero, x0) 248.95/165.35 new_esEs(Pos(Succ(x0))) 248.95/165.35 new_primMulNat3(Succ(x0)) 248.95/165.35 new_sr1(x0, app(ty_Ratio, x1)) 248.95/165.35 new_primQuotInt(x0, Neg(Succ(x1))) 248.95/165.35 new_reduce2Reduce1(x0, x1, x2, x3, False, x4) 248.95/165.35 new_primMinusNat0(Zero, Zero) 248.95/165.35 new_primDivNatS1(Zero, x0) 248.95/165.35 new_primDivNatS02(x0, x1, Succ(x2), Succ(x3)) 248.95/165.35 new_primModNatS02(x0, x1) 248.95/165.35 new_primDivNatS1(Succ(Zero), Succ(x0)) 248.95/165.35 new_sr6(Neg(x0)) 248.95/165.35 new_gcd0Gcd'10(True, x0, x1) 248.95/165.35 new_primMulNat0(Succ(x0), Succ(x1)) 248.95/165.35 new_abs(Neg(Zero)) 248.95/165.35 new_ms(x0, Neg(x1)) 248.95/165.35 new_rem(Pos(x0), Neg(Zero)) 248.95/165.35 new_rem(Neg(x0), Pos(Zero)) 248.95/165.35 new_primMinusNatS2(Zero, Succ(x0)) 248.95/165.35 new_esEs(Neg(Succ(x0))) 248.95/165.35 new_error 248.95/165.35 new_primModNatS1(Succ(Zero), Zero) 248.95/165.35 new_primMulNat0(Zero, Succ(x0)) 248.95/165.35 new_sr3(x0, ty_Float) 248.95/165.35 new_quot(x0, x1, x2) 248.95/165.35 new_gcd2(True, x0, x1) 248.95/165.35 new_gcd0Gcd'11(True, x0, x1) 248.95/165.35 new_primEqInt(Neg(Zero)) 248.95/165.35 new_sr2(x0, x1, ty_Double) 248.95/165.35 new_primMulNat0(Succ(x0), Zero) 248.95/165.35 new_quot0(Neg(x0), x1, x2) 248.95/165.35 new_primMinusNatS2(Succ(x0), Succ(x1)) 248.95/165.35 new_sr4(x0, x1, app(ty_Ratio, x2)) 248.95/165.35 new_sr8(x0, x1) 248.95/165.35 new_primDivNatS01(x0, x1) 248.95/165.35 new_primDivNatS02(x0, x1, Zero, Succ(x2)) 248.95/165.35 new_primPlusNat0(Succ(x0), Succ(x1)) 248.95/165.35 new_sr1(x0, ty_Integer) 248.95/165.35 new_primPlusNat0(Zero, Zero) 248.95/165.35 new_sr1(x0, ty_Float) 248.95/165.35 new_primMinusNat0(Succ(x0), Succ(x1)) 248.95/165.35 new_sr12(:%(x0, x1), :%(x2, x3), x4) 248.95/165.35 new_abs(Neg(Succ(x0))) 248.95/165.35 new_sr1(x0, ty_Double) 248.95/165.35 new_sr3(x0, app(ty_Ratio, x1)) 248.95/165.35 new_sr7(x0) 248.95/165.35 new_gcd0(x0, x1) 248.95/165.35 new_primQuotInt0(x0, Pos(Succ(x1))) 248.95/165.35 new_sr4(x0, x1, ty_Integer) 248.95/165.35 new_sr5(:%(x0, x1), x2) 248.95/165.35 new_primMinusNatS2(Zero, Zero) 248.95/165.35 new_primMulNat1(Succ(x0)) 248.95/165.35 new_ms(x0, Pos(Zero)) 248.95/165.35 new_abs(Pos(Succ(x0))) 248.95/165.35 new_sr4(x0, x1, ty_Int) 248.95/165.35 new_esEs(Pos(Zero)) 248.95/165.35 new_primQuotInt0(x0, Pos(Zero)) 248.95/165.35 new_primEqInt(Neg(Succ(x0))) 248.95/165.35 new_primQuotInt(x0, Neg(Zero)) 248.95/165.35 new_primQuotInt0(x0, Neg(Zero)) 248.95/165.35 new_primQuotInt0(x0, Neg(Succ(x1))) 248.95/165.35 new_gcd(x0, x1) 248.95/165.35 new_quot0(Pos(x0), x1, x2) 248.95/165.35 new_primMinusNatS0(x0) 248.95/165.35 new_primPlusNat0(Zero, Succ(x0)) 248.95/165.35 new_sr2(x0, x1, app(ty_Ratio, x2)) 248.95/165.35 new_sr2(x0, x1, ty_Int) 248.95/165.35 new_primQuotInt(x0, Pos(Succ(x1))) 248.95/165.35 new_primDivNatS1(Succ(Succ(x0)), Zero) 248.95/165.35 new_rem(Pos(x0), Pos(Zero)) 248.95/165.35 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 248.95/165.35 new_primDivNatS02(x0, x1, Zero, Zero) 248.95/165.35 new_abs(Pos(Zero)) 248.95/165.35 new_gcd0Gcd'10(False, x0, x1) 248.95/165.35 new_ms(x0, Pos(Succ(x1))) 248.95/165.35 new_primMinusNatS1 248.95/165.35 new_esEs1(Integer(x0)) 248.95/165.35 new_ms0(x0, Neg(Zero)) 248.95/165.35 new_primMinusNat0(Succ(x0), Zero) 248.95/165.35 new_ms0(x0, Neg(Succ(x1))) 248.95/165.35 new_sr2(x0, x1, ty_Integer) 248.95/165.35 new_primModNatS01(x0, x1, Zero, Succ(x2)) 248.95/165.35 new_primMulNat2(Succ(x0)) 248.95/165.35 new_sr14(Neg(x0), Neg(x1)) 248.95/165.35 new_sr2(x0, x1, ty_Float) 248.95/165.35 new_primMinusNatS2(Succ(x0), Zero) 248.95/165.35 new_sr4(x0, x1, ty_Float) 248.95/165.35 new_sr6(Pos(x0)) 248.95/165.35 new_esEs2(x0, x1, ty_Integer) 248.95/165.35 new_primMulNat4(Succ(x0)) 248.95/165.35 new_rem(Neg(x0), Neg(Succ(x1))) 248.95/165.35 new_primEqInt(Pos(Succ(x0))) 248.95/165.35 new_primQuotInt(x0, Pos(Zero)) 248.95/165.35 new_gcd0Gcd'11(False, x0, x1) 248.95/165.35 new_sr9(x0) 248.95/165.35 new_primModNatS1(Succ(Succ(x0)), Zero) 248.95/165.35 new_esEs0(x0, ty_Integer) 248.95/165.35 new_gcd0Gcd'00(x0, x1) 248.95/165.35 new_reduce2Reduce1(x0, x1, x2, x3, True, x4) 248.95/165.35 new_sr3(x0, ty_Double) 248.95/165.35 new_esEs(Neg(Zero)) 248.95/165.35 new_primMulNat1(Zero) 248.95/165.35 new_primMinusNat0(Zero, Succ(x0)) 248.95/165.35 new_rem(Neg(x0), Neg(Zero)) 248.95/165.35 248.95/165.35 We have to consider all minimal (P,Q,R)-chains. 248.95/165.35 ---------------------------------------- 248.95/165.35 248.95/165.35 (810) QReductionProof (EQUIVALENT) 248.95/165.35 We deleted the following terms from Q as each root-symbol of these terms does neither occur in P nor in R.[THIEMANN]. 248.95/165.35 248.95/165.35 new_ms0(x0, Pos(x1)) 248.95/165.35 new_sr1(x0, ty_Int) 248.95/165.35 new_sr1(x0, app(ty_Ratio, x1)) 248.95/165.35 new_primMinusNat0(Zero, Zero) 248.95/165.35 new_ms(x0, Neg(x1)) 248.95/165.35 new_sr2(x0, x1, ty_Double) 248.95/165.35 new_sr1(x0, ty_Integer) 248.95/165.35 new_sr1(x0, ty_Float) 248.95/165.35 new_primMinusNat0(Succ(x0), Succ(x1)) 248.95/165.35 new_sr1(x0, ty_Double) 248.95/165.35 new_ms(x0, Pos(Zero)) 248.95/165.35 new_sr2(x0, x1, app(ty_Ratio, x2)) 248.95/165.35 new_sr2(x0, x1, ty_Int) 248.95/165.35 new_ms(x0, Pos(Succ(x1))) 248.95/165.35 new_ms0(x0, Neg(Zero)) 248.95/165.35 new_primMinusNat0(Succ(x0), Zero) 248.95/165.35 new_ms0(x0, Neg(Succ(x1))) 248.95/165.35 new_sr2(x0, x1, ty_Integer) 248.95/165.35 new_sr2(x0, x1, ty_Float) 248.95/165.35 new_primMinusNat0(Zero, Succ(x0)) 248.95/165.35 248.95/165.35 248.95/165.35 ---------------------------------------- 248.95/165.35 248.95/165.35 (811) 248.95/165.35 Obligation: 248.95/165.35 Q DP problem: 248.95/165.35 The TRS P consists of the following rules: 248.95/165.35 248.95/165.35 new_pr2F1(z1, z2, Pos(Succ(Zero)), z0, z3) -> new_pr2F30(False, z1, z2, Pos(Succ(Zero)), z0, z3) 248.95/165.35 new_pr2F30(False, z0, z1, Pos(Succ(Zero)), z2, z3) -> new_pr2F0(z0, Neg(new_primPlusNat0(Succ(z1), Succ(Zero))), new_sr4(z0, z2, z3), z3) 248.95/165.35 new_pr2F0(vyv183, Neg(Succ(Succ(vyv222000))), vyv187, h) -> new_pr2F0G10(vyv187, vyv183, Succ(vyv222000), vyv222000, h) 248.95/165.35 new_pr2F0G10(vyv248, vyv249, vyv250, Succ(Succ(vyv25100)), bb) -> new_pr2F0G10(vyv248, vyv249, vyv250, vyv25100, bb) 248.95/165.35 new_pr2F0G10(vyv248, vyv249, vyv250, Succ(Zero), bb) -> new_pr2F0G11(vyv248, vyv249, vyv250, bb) 248.95/165.35 new_pr2F0G11(vyv238, vyv239, vyv240, bc) -> new_pr2F1(vyv239, vyv240, Pos(Succ(Zero)), vyv238, bc) 248.95/165.35 new_pr2F0G10(vyv248, vyv249, vyv250, Zero, bb) -> new_pr2F0G(vyv248, new_sr3(vyv249, bb), Neg(new_primDivNatS1(Succ(vyv250), Succ(Zero))), bb) 248.95/165.35 new_pr2F0G(vyv187, vyv183, Neg(Succ(Zero)), h) -> new_pr2F0G11(vyv187, vyv183, Zero, h) 248.95/165.35 new_pr2F0G(vyv187, vyv183, Neg(Succ(Succ(vyv222000))), h) -> new_pr2F0G10(vyv187, vyv183, Succ(vyv222000), vyv222000, h) 248.95/165.35 new_pr2F0(vyv183, Neg(Succ(Zero)), vyv187, h) -> new_pr2F0G11(vyv187, vyv183, Zero, h) 248.95/165.35 248.95/165.35 The TRS R consists of the following rules: 248.95/165.35 248.95/165.35 new_sr3(vyv249, ty_Float) -> new_sr10(vyv249) 248.95/165.35 new_sr3(vyv249, ty_Double) -> new_sr9(vyv249) 248.95/165.35 new_sr3(vyv249, ty_Int) -> new_sr6(vyv249) 248.95/165.35 new_sr3(vyv249, ty_Integer) -> new_sr7(vyv249) 248.95/165.35 new_sr3(vyv249, app(ty_Ratio, bg)) -> new_sr5(vyv249, bg) 248.95/165.35 new_primDivNatS1(Succ(Zero), Succ(vyv284000)) -> Zero 248.95/165.35 new_primDivNatS1(Succ(Succ(vyv270000)), Succ(vyv284000)) -> new_primDivNatS02(vyv270000, vyv284000, vyv270000, vyv284000) 248.95/165.35 new_primDivNatS02(vyv310, vyv311, Zero, Zero) -> new_primDivNatS01(vyv310, vyv311) 248.95/165.35 new_primDivNatS02(vyv310, vyv311, Succ(vyv3120), Zero) -> new_primDivNatS01(vyv310, vyv311) 248.95/165.35 new_primDivNatS02(vyv310, vyv311, Zero, Succ(vyv3130)) -> Zero 248.95/165.35 new_primDivNatS02(vyv310, vyv311, Succ(vyv3120), Succ(vyv3130)) -> new_primDivNatS02(vyv310, vyv311, vyv3120, vyv3130) 248.95/165.35 new_primDivNatS01(vyv310, vyv311) -> Succ(new_primDivNatS1(new_primMinusNatS2(vyv310, vyv311), Succ(vyv311))) 248.95/165.35 new_primMinusNatS2(Zero, Succ(vyv3110)) -> Zero 248.95/165.35 new_primMinusNatS2(Succ(vyv3100), Zero) -> Succ(vyv3100) 248.95/165.35 new_primMinusNatS2(Zero, Zero) -> Zero 248.95/165.35 new_primMinusNatS2(Succ(vyv3100), Succ(vyv3110)) -> new_primMinusNatS2(vyv3100, vyv3110) 248.95/165.35 new_primDivNatS1(Zero, vyv28400) -> Zero 248.95/165.35 new_sr5(:%(vyv1830, vyv1831), bd) -> new_reduce2Reduce1(vyv1830, vyv1830, vyv1831, vyv1831, new_esEs0(vyv1831, bd), bd) 248.95/165.35 new_esEs0(vyv1831, ty_Int) -> new_esEs(new_sr6(vyv1831)) 248.95/165.35 new_esEs0(vyv1831, ty_Integer) -> new_esEs1(new_sr7(vyv1831)) 248.95/165.35 new_reduce2Reduce1(vyv264, vyv265, vyv266, vyv267, False, bh) -> :%(new_quot1(vyv264, vyv265, vyv266, vyv267, bh), new_quot2(vyv266, vyv267, vyv264, vyv265, bh)) 248.95/165.35 new_reduce2Reduce1(vyv264, vyv265, vyv266, vyv267, True, bh) -> error([]) 248.95/165.35 new_quot1(vyv264, vyv265, vyv266, vyv267, ty_Int) -> new_quot0(new_sr14(vyv264, vyv265), new_sr14(vyv264, vyv265), new_sr14(vyv266, vyv267)) 248.95/165.35 new_quot1(vyv264, vyv265, vyv266, vyv267, ty_Integer) -> new_quot(new_sr8(vyv264, vyv265), new_sr8(vyv264, vyv265), new_sr8(vyv266, vyv267)) 248.95/165.35 new_quot2(vyv266, vyv267, vyv264, vyv265, ty_Int) -> new_quot0(new_sr14(vyv266, vyv267), new_sr14(vyv264, vyv265), new_sr14(vyv266, vyv267)) 248.95/165.35 new_quot2(vyv266, vyv267, vyv264, vyv265, ty_Integer) -> new_quot(new_sr8(vyv266, vyv267), new_sr8(vyv264, vyv265), new_sr8(vyv266, vyv267)) 248.95/165.35 new_sr8(vyv239, vyv238) -> error([]) 248.95/165.35 new_quot(vyv273, vyv275, vyv274) -> error([]) 248.95/165.35 new_sr14(Pos(vyv2390), Neg(vyv2380)) -> Neg(new_primMulNat0(vyv2390, vyv2380)) 248.95/165.35 new_sr14(Neg(vyv2390), Pos(vyv2380)) -> Neg(new_primMulNat0(vyv2390, vyv2380)) 248.95/165.35 new_sr14(Neg(vyv2390), Neg(vyv2380)) -> Pos(new_primMulNat0(vyv2390, vyv2380)) 248.95/165.35 new_sr14(Pos(vyv2390), Pos(vyv2380)) -> Pos(new_primMulNat0(vyv2390, vyv2380)) 248.95/165.35 new_quot0(Neg(vyv2700), vyv272, vyv271) -> new_primQuotInt0(vyv2700, new_gcd(vyv272, vyv271)) 248.95/165.35 new_quot0(Pos(vyv2700), vyv272, vyv271) -> new_primQuotInt(vyv2700, new_gcd(vyv272, vyv271)) 248.95/165.35 new_gcd(vyv272, vyv271) -> new_gcd2(new_esEs(vyv272), vyv272, vyv271) 248.95/165.35 new_primQuotInt(vyv2700, Pos(Succ(vyv28400))) -> Pos(new_primDivNatS1(vyv2700, vyv28400)) 248.95/165.35 new_primQuotInt(vyv2700, Neg(Zero)) -> new_error 248.95/165.35 new_primQuotInt(vyv2700, Pos(Zero)) -> new_error 248.95/165.35 new_primQuotInt(vyv2700, Neg(Succ(vyv28400))) -> Neg(new_primDivNatS1(vyv2700, vyv28400)) 248.95/165.35 new_primDivNatS1(Succ(Succ(vyv270000)), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS0(vyv270000), Zero)) 248.95/165.35 new_primDivNatS1(Succ(Zero), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS1, Zero)) 248.95/165.35 new_primMinusNatS1 -> Zero 248.95/165.35 new_primMinusNatS0(vyv270000) -> Succ(vyv270000) 248.95/165.35 new_error -> error([]) 248.95/165.35 new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) 248.95/165.35 new_esEs(Pos(Succ(vyv24100))) -> new_primEqInt(Pos(Succ(vyv24100))) 248.95/165.35 new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) 248.95/165.35 new_esEs(Neg(Succ(vyv24100))) -> new_primEqInt(Neg(Succ(vyv24100))) 248.95/165.35 new_gcd2(True, vyv272, vyv271) -> new_gcd1(new_esEs(vyv271), vyv272, vyv271) 248.95/165.35 new_gcd2(False, vyv272, vyv271) -> new_gcd0(vyv272, vyv271) 248.95/165.35 new_gcd0(vyv272, vyv271) -> new_gcd0Gcd'10(new_esEs(new_abs(vyv271)), vyv272, vyv271) 248.95/165.35 new_abs(Neg(Zero)) -> Neg(Zero) 248.95/165.35 new_abs(Neg(Succ(vyv27100))) -> Pos(Succ(vyv27100)) 248.95/165.35 new_abs(Pos(Succ(vyv27100))) -> Pos(Succ(vyv27100)) 248.95/165.35 new_abs(Pos(Zero)) -> Pos(Zero) 248.95/165.35 new_gcd0Gcd'10(True, vyv272, vyv271) -> new_abs(vyv272) 248.95/165.35 new_gcd0Gcd'10(False, vyv272, vyv271) -> new_gcd0Gcd'00(new_abs(vyv272), new_abs(vyv271)) 248.95/165.35 new_gcd0Gcd'11(False, vyv291, vyv292) -> new_gcd0Gcd'00(vyv291, new_rem(vyv292, vyv291)) 248.95/165.35 new_gcd0Gcd'00(vyv292, vyv291) -> new_gcd0Gcd'11(new_esEs(new_rem(vyv292, vyv291)), vyv291, vyv292) 248.95/165.35 new_rem(Pos(vyv2920), Neg(Zero)) -> new_error 248.95/165.35 new_rem(Neg(vyv2920), Pos(Zero)) -> new_error 248.95/165.35 new_rem(Pos(vyv2920), Neg(Succ(vyv29100))) -> Pos(new_primModNatS1(vyv2920, vyv29100)) 248.95/165.35 new_rem(Neg(vyv2920), Pos(Succ(vyv29100))) -> Neg(new_primModNatS1(vyv2920, vyv29100)) 248.95/165.35 new_rem(Pos(vyv2920), Pos(Succ(vyv29100))) -> Pos(new_primModNatS1(vyv2920, vyv29100)) 248.95/165.35 new_rem(Neg(vyv2920), Neg(Zero)) -> new_error 248.95/165.35 new_rem(Neg(vyv2920), Neg(Succ(vyv29100))) -> Neg(new_primModNatS1(vyv2920, vyv29100)) 248.95/165.35 new_rem(Pos(vyv2920), Pos(Zero)) -> new_error 248.95/165.35 new_gcd0Gcd'11(True, vyv291, vyv292) -> vyv291 248.95/165.35 new_primModNatS1(Succ(Zero), Succ(vyv291000)) -> Succ(Zero) 248.95/165.35 new_primModNatS1(Zero, vyv29100) -> Zero 248.95/165.35 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 248.95/165.35 new_primModNatS1(Succ(Succ(vyv292000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv292000), Zero) 248.95/165.35 new_primModNatS1(Succ(Succ(vyv292000)), Succ(vyv291000)) -> new_primModNatS01(vyv292000, vyv291000, vyv292000, vyv291000) 248.95/165.35 new_primModNatS01(vyv330, vyv331, Zero, Zero) -> new_primModNatS02(vyv330, vyv331) 248.95/165.35 new_primModNatS02(vyv330, vyv331) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv330), Succ(vyv331)), Succ(vyv331)) 248.95/165.35 new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Zero) -> new_primModNatS02(vyv330, vyv331) 248.95/165.35 new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Succ(vyv3330)) -> new_primModNatS01(vyv330, vyv331, vyv3320, vyv3330) 248.95/165.35 new_primModNatS01(vyv330, vyv331, Zero, Succ(vyv3330)) -> Succ(Succ(vyv330)) 248.95/165.35 new_gcd1(True, vyv272, vyv271) -> new_error 248.95/165.35 new_gcd1(False, vyv272, vyv271) -> new_gcd0(vyv272, vyv271) 248.95/165.35 new_primEqInt(Neg(Succ(vyv242000))) -> False 248.95/165.35 new_primEqInt(Pos(Zero)) -> True 248.95/165.35 new_primEqInt(Pos(Succ(vyv242000))) -> False 248.95/165.35 new_primEqInt(Neg(Zero)) -> True 248.95/165.35 new_primQuotInt0(vyv2700, Pos(Succ(vyv28700))) -> Neg(new_primDivNatS1(vyv2700, vyv28700)) 248.95/165.35 new_primQuotInt0(vyv2700, Neg(Zero)) -> new_error 248.95/165.35 new_primQuotInt0(vyv2700, Neg(Succ(vyv28700))) -> Pos(new_primDivNatS1(vyv2700, vyv28700)) 248.95/165.35 new_primQuotInt0(vyv2700, Pos(Zero)) -> new_error 248.95/165.35 new_primMulNat0(Succ(vyv23900), Zero) -> Zero 248.95/165.35 new_primMulNat0(Zero, Succ(vyv23800)) -> Zero 248.95/165.35 new_primMulNat0(Zero, Zero) -> Zero 248.95/165.35 new_primMulNat0(Succ(vyv23900), Succ(vyv23800)) -> new_primPlusNat0(new_primMulNat0(vyv23900, Succ(vyv23800)), Succ(vyv23800)) 248.95/165.35 new_primPlusNat0(Succ(vyv4000), Succ(vyv5000)) -> Succ(Succ(new_primPlusNat0(vyv4000, vyv5000))) 248.95/165.35 new_primPlusNat0(Zero, Succ(vyv5000)) -> Succ(vyv5000) 248.95/165.35 new_primPlusNat0(Zero, Zero) -> Zero 248.95/165.35 new_primPlusNat0(Succ(vyv4000), Zero) -> Succ(vyv4000) 248.95/165.35 new_sr7(vyv183) -> error([]) 248.95/165.35 new_esEs1(Integer(vyv2690)) -> new_primEqInt(vyv2690) 248.95/165.35 new_sr6(Neg(vyv1830)) -> Pos(new_primMulNat1(vyv1830)) 248.95/165.35 new_sr6(Pos(vyv1830)) -> Pos(new_primMulNat1(vyv1830)) 248.95/165.35 new_primMulNat1(Succ(vyv18300)) -> new_primPlusNat0(new_primMulNat2(vyv18300), Succ(vyv18300)) 248.95/165.35 new_primMulNat1(Zero) -> Zero 248.95/165.35 new_primMulNat2(Succ(vyv183000)) -> new_primPlusNat0(new_primMulNat3(vyv183000), Succ(Succ(vyv183000))) 248.95/165.35 new_primMulNat2(Zero) -> Zero 248.95/165.35 new_primMulNat3(Succ(vyv1830000)) -> new_primPlusNat0(new_primMulNat4(vyv1830000), Succ(Succ(Succ(vyv1830000)))) 248.95/165.35 new_primMulNat3(Zero) -> Zero 248.95/165.35 new_primMulNat4(Succ(vyv18300000)) -> new_primPlusNat0(new_primMulNat0(vyv18300000, Succ(Succ(Succ(Succ(vyv18300000))))), Succ(Succ(Succ(Succ(vyv18300000))))) 248.95/165.35 new_primMulNat4(Zero) -> Zero 248.95/165.35 new_sr9(vyv183) -> error([]) 248.95/165.35 new_sr10(vyv183) -> error([]) 248.95/165.35 new_sr4(vyv239, vyv238, app(ty_Ratio, bf)) -> new_sr12(vyv239, vyv238, bf) 248.95/165.35 new_sr4(vyv239, vyv238, ty_Integer) -> new_sr8(vyv239, vyv238) 248.95/165.35 new_sr4(vyv239, vyv238, ty_Int) -> new_sr14(vyv239, vyv238) 248.95/165.35 new_sr4(vyv239, vyv238, ty_Double) -> new_sr11(vyv239, vyv238) 248.95/165.35 new_sr4(vyv239, vyv238, ty_Float) -> new_sr13(vyv239, vyv238) 248.95/165.35 new_sr13(vyv239, vyv238) -> error([]) 248.95/165.35 new_sr11(vyv239, vyv238) -> error([]) 248.95/165.35 new_sr12(:%(vyv2390, vyv2391), :%(vyv2380, vyv2381), bf) -> new_reduce2Reduce1(vyv2390, vyv2380, vyv2391, vyv2381, new_esEs2(vyv2391, vyv2381, bf), bf) 248.95/165.35 new_esEs2(vyv2391, vyv2381, ty_Int) -> new_esEs(new_sr14(vyv2391, vyv2381)) 248.95/165.35 new_esEs2(vyv2391, vyv2381, ty_Integer) -> new_esEs1(new_sr8(vyv2391, vyv2381)) 248.95/165.35 248.95/165.35 The set Q consists of the following terms: 248.95/165.35 248.95/165.35 new_rem(Pos(x0), Pos(Succ(x1))) 248.95/165.35 new_quot1(x0, x1, x2, x3, ty_Integer) 248.95/165.35 new_primModNatS1(Succ(Zero), Succ(x0)) 248.95/165.35 new_primMulNat4(Zero) 248.95/165.35 new_gcd1(False, x0, x1) 248.95/165.35 new_primEqInt(Pos(Zero)) 248.95/165.35 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 248.95/165.35 new_rem(Pos(x0), Neg(Succ(x1))) 248.95/165.35 new_rem(Neg(x0), Pos(Succ(x1))) 248.95/165.35 new_sr10(x0) 248.95/165.35 new_quot1(x0, x1, x2, x3, ty_Int) 248.95/165.35 new_quot2(x0, x1, x2, x3, ty_Integer) 248.95/165.35 new_primModNatS01(x0, x1, Succ(x2), Zero) 248.95/165.35 new_sr3(x0, ty_Integer) 248.95/165.35 new_primMulNat3(Zero) 248.95/165.35 new_primDivNatS02(x0, x1, Succ(x2), Zero) 248.95/165.35 new_quot2(x0, x1, x2, x3, ty_Int) 248.95/165.35 new_gcd2(False, x0, x1) 248.95/165.35 new_primDivNatS1(Succ(Zero), Zero) 248.95/165.35 new_esEs0(x0, ty_Int) 248.95/165.35 new_sr14(Pos(x0), Pos(x1)) 248.95/165.35 new_sr3(x0, ty_Int) 248.95/165.35 new_primMulNat0(Zero, Zero) 248.95/165.35 new_sr4(x0, x1, ty_Double) 248.95/165.35 new_primPlusNat0(Succ(x0), Zero) 248.95/165.35 new_primMulNat2(Zero) 248.95/165.35 new_sr11(x0, x1) 248.95/165.35 new_primModNatS01(x0, x1, Zero, Zero) 248.95/165.35 new_esEs2(x0, x1, ty_Int) 248.95/165.35 new_gcd1(True, x0, x1) 248.95/165.35 new_sr13(x0, x1) 248.95/165.35 new_sr14(Pos(x0), Neg(x1)) 248.95/165.35 new_sr14(Neg(x0), Pos(x1)) 248.95/165.35 new_primDivNatS1(Succ(Succ(x0)), Succ(x1)) 248.95/165.35 new_primModNatS1(Zero, x0) 248.95/165.35 new_esEs(Pos(Succ(x0))) 248.95/165.35 new_primMulNat3(Succ(x0)) 248.95/165.35 new_primQuotInt(x0, Neg(Succ(x1))) 248.95/165.35 new_reduce2Reduce1(x0, x1, x2, x3, False, x4) 248.95/165.35 new_primDivNatS1(Zero, x0) 248.95/165.35 new_primDivNatS02(x0, x1, Succ(x2), Succ(x3)) 248.95/165.35 new_primModNatS02(x0, x1) 248.95/165.35 new_primDivNatS1(Succ(Zero), Succ(x0)) 248.95/165.35 new_sr6(Neg(x0)) 248.95/165.35 new_gcd0Gcd'10(True, x0, x1) 248.95/165.35 new_primMulNat0(Succ(x0), Succ(x1)) 248.95/165.35 new_abs(Neg(Zero)) 248.95/165.35 new_rem(Pos(x0), Neg(Zero)) 248.95/165.35 new_rem(Neg(x0), Pos(Zero)) 248.95/165.35 new_primMinusNatS2(Zero, Succ(x0)) 248.95/165.35 new_esEs(Neg(Succ(x0))) 248.95/165.35 new_error 248.95/165.35 new_primModNatS1(Succ(Zero), Zero) 248.95/165.35 new_primMulNat0(Zero, Succ(x0)) 248.95/165.35 new_sr3(x0, ty_Float) 248.95/165.35 new_quot(x0, x1, x2) 248.95/165.35 new_gcd2(True, x0, x1) 248.95/165.35 new_gcd0Gcd'11(True, x0, x1) 248.95/165.35 new_primEqInt(Neg(Zero)) 248.95/165.35 new_primMulNat0(Succ(x0), Zero) 248.95/165.35 new_quot0(Neg(x0), x1, x2) 248.95/165.35 new_primMinusNatS2(Succ(x0), Succ(x1)) 248.95/165.35 new_sr4(x0, x1, app(ty_Ratio, x2)) 248.95/165.35 new_sr8(x0, x1) 248.95/165.35 new_primDivNatS01(x0, x1) 248.95/165.35 new_primDivNatS02(x0, x1, Zero, Succ(x2)) 248.95/165.35 new_primPlusNat0(Succ(x0), Succ(x1)) 248.95/165.35 new_primPlusNat0(Zero, Zero) 248.95/165.35 new_sr12(:%(x0, x1), :%(x2, x3), x4) 248.95/165.35 new_abs(Neg(Succ(x0))) 248.95/165.35 new_sr3(x0, app(ty_Ratio, x1)) 248.95/165.35 new_sr7(x0) 248.95/165.35 new_gcd0(x0, x1) 248.95/165.35 new_primQuotInt0(x0, Pos(Succ(x1))) 248.95/165.35 new_sr4(x0, x1, ty_Integer) 248.95/165.35 new_sr5(:%(x0, x1), x2) 248.95/165.35 new_primMinusNatS2(Zero, Zero) 248.95/165.35 new_primMulNat1(Succ(x0)) 248.95/165.35 new_abs(Pos(Succ(x0))) 248.95/165.35 new_sr4(x0, x1, ty_Int) 248.95/165.35 new_esEs(Pos(Zero)) 248.95/165.35 new_primQuotInt0(x0, Pos(Zero)) 248.95/165.35 new_primEqInt(Neg(Succ(x0))) 248.95/165.35 new_primQuotInt(x0, Neg(Zero)) 248.95/165.35 new_primQuotInt0(x0, Neg(Zero)) 248.95/165.35 new_primQuotInt0(x0, Neg(Succ(x1))) 248.95/165.35 new_gcd(x0, x1) 248.95/165.35 new_quot0(Pos(x0), x1, x2) 248.95/165.35 new_primMinusNatS0(x0) 248.95/165.35 new_primPlusNat0(Zero, Succ(x0)) 248.95/165.35 new_primQuotInt(x0, Pos(Succ(x1))) 248.95/165.35 new_primDivNatS1(Succ(Succ(x0)), Zero) 248.95/165.35 new_rem(Pos(x0), Pos(Zero)) 248.95/165.35 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 248.95/165.35 new_primDivNatS02(x0, x1, Zero, Zero) 248.95/165.35 new_abs(Pos(Zero)) 248.95/165.35 new_gcd0Gcd'10(False, x0, x1) 248.95/165.35 new_primMinusNatS1 248.95/165.35 new_esEs1(Integer(x0)) 248.95/165.35 new_primModNatS01(x0, x1, Zero, Succ(x2)) 248.95/165.35 new_primMulNat2(Succ(x0)) 248.95/165.35 new_sr14(Neg(x0), Neg(x1)) 248.95/165.35 new_primMinusNatS2(Succ(x0), Zero) 248.95/165.35 new_sr4(x0, x1, ty_Float) 248.95/165.35 new_sr6(Pos(x0)) 248.95/165.35 new_esEs2(x0, x1, ty_Integer) 248.95/165.35 new_primMulNat4(Succ(x0)) 248.95/165.35 new_rem(Neg(x0), Neg(Succ(x1))) 248.95/165.35 new_primEqInt(Pos(Succ(x0))) 248.95/165.35 new_primQuotInt(x0, Pos(Zero)) 248.95/165.35 new_gcd0Gcd'11(False, x0, x1) 248.95/165.35 new_sr9(x0) 248.95/165.35 new_primModNatS1(Succ(Succ(x0)), Zero) 248.95/165.35 new_esEs0(x0, ty_Integer) 248.95/165.35 new_gcd0Gcd'00(x0, x1) 248.95/165.35 new_reduce2Reduce1(x0, x1, x2, x3, True, x4) 248.95/165.35 new_sr3(x0, ty_Double) 248.95/165.35 new_esEs(Neg(Zero)) 248.95/165.35 new_primMulNat1(Zero) 248.95/165.35 new_rem(Neg(x0), Neg(Zero)) 248.95/165.35 248.95/165.35 We have to consider all minimal (P,Q,R)-chains. 248.95/165.35 ---------------------------------------- 248.95/165.35 248.95/165.35 (812) TransformationProof (EQUIVALENT) 248.95/165.35 By rewriting [LPAR04] the rule new_pr2F30(False, z0, z1, Pos(Succ(Zero)), z2, z3) -> new_pr2F0(z0, Neg(new_primPlusNat0(Succ(z1), Succ(Zero))), new_sr4(z0, z2, z3), z3) at position [1,0] we obtained the following new rules [LPAR04]: 248.95/165.35 248.95/165.35 (new_pr2F30(False, z0, z1, Pos(Succ(Zero)), z2, z3) -> new_pr2F0(z0, Neg(Succ(Succ(new_primPlusNat0(z1, Zero)))), new_sr4(z0, z2, z3), z3),new_pr2F30(False, z0, z1, Pos(Succ(Zero)), z2, z3) -> new_pr2F0(z0, Neg(Succ(Succ(new_primPlusNat0(z1, Zero)))), new_sr4(z0, z2, z3), z3)) 248.95/165.35 248.95/165.35 248.95/165.35 ---------------------------------------- 248.95/165.35 248.95/165.35 (813) 248.95/165.35 Obligation: 248.95/165.35 Q DP problem: 248.95/165.35 The TRS P consists of the following rules: 248.95/165.35 248.95/165.35 new_pr2F1(z1, z2, Pos(Succ(Zero)), z0, z3) -> new_pr2F30(False, z1, z2, Pos(Succ(Zero)), z0, z3) 248.95/165.35 new_pr2F0(vyv183, Neg(Succ(Succ(vyv222000))), vyv187, h) -> new_pr2F0G10(vyv187, vyv183, Succ(vyv222000), vyv222000, h) 248.95/165.35 new_pr2F0G10(vyv248, vyv249, vyv250, Succ(Succ(vyv25100)), bb) -> new_pr2F0G10(vyv248, vyv249, vyv250, vyv25100, bb) 248.95/165.35 new_pr2F0G10(vyv248, vyv249, vyv250, Succ(Zero), bb) -> new_pr2F0G11(vyv248, vyv249, vyv250, bb) 248.95/165.35 new_pr2F0G11(vyv238, vyv239, vyv240, bc) -> new_pr2F1(vyv239, vyv240, Pos(Succ(Zero)), vyv238, bc) 248.95/165.35 new_pr2F0G10(vyv248, vyv249, vyv250, Zero, bb) -> new_pr2F0G(vyv248, new_sr3(vyv249, bb), Neg(new_primDivNatS1(Succ(vyv250), Succ(Zero))), bb) 248.95/165.35 new_pr2F0G(vyv187, vyv183, Neg(Succ(Zero)), h) -> new_pr2F0G11(vyv187, vyv183, Zero, h) 248.95/165.35 new_pr2F0G(vyv187, vyv183, Neg(Succ(Succ(vyv222000))), h) -> new_pr2F0G10(vyv187, vyv183, Succ(vyv222000), vyv222000, h) 248.95/165.35 new_pr2F0(vyv183, Neg(Succ(Zero)), vyv187, h) -> new_pr2F0G11(vyv187, vyv183, Zero, h) 248.95/165.35 new_pr2F30(False, z0, z1, Pos(Succ(Zero)), z2, z3) -> new_pr2F0(z0, Neg(Succ(Succ(new_primPlusNat0(z1, Zero)))), new_sr4(z0, z2, z3), z3) 248.95/165.35 248.95/165.35 The TRS R consists of the following rules: 248.95/165.35 248.95/165.35 new_sr3(vyv249, ty_Float) -> new_sr10(vyv249) 248.95/165.35 new_sr3(vyv249, ty_Double) -> new_sr9(vyv249) 248.95/165.35 new_sr3(vyv249, ty_Int) -> new_sr6(vyv249) 248.95/165.35 new_sr3(vyv249, ty_Integer) -> new_sr7(vyv249) 248.95/165.35 new_sr3(vyv249, app(ty_Ratio, bg)) -> new_sr5(vyv249, bg) 248.95/165.35 new_primDivNatS1(Succ(Zero), Succ(vyv284000)) -> Zero 248.95/165.35 new_primDivNatS1(Succ(Succ(vyv270000)), Succ(vyv284000)) -> new_primDivNatS02(vyv270000, vyv284000, vyv270000, vyv284000) 248.95/165.35 new_primDivNatS02(vyv310, vyv311, Zero, Zero) -> new_primDivNatS01(vyv310, vyv311) 248.95/165.35 new_primDivNatS02(vyv310, vyv311, Succ(vyv3120), Zero) -> new_primDivNatS01(vyv310, vyv311) 248.95/165.35 new_primDivNatS02(vyv310, vyv311, Zero, Succ(vyv3130)) -> Zero 248.95/165.35 new_primDivNatS02(vyv310, vyv311, Succ(vyv3120), Succ(vyv3130)) -> new_primDivNatS02(vyv310, vyv311, vyv3120, vyv3130) 248.95/165.35 new_primDivNatS01(vyv310, vyv311) -> Succ(new_primDivNatS1(new_primMinusNatS2(vyv310, vyv311), Succ(vyv311))) 248.95/165.35 new_primMinusNatS2(Zero, Succ(vyv3110)) -> Zero 248.95/165.35 new_primMinusNatS2(Succ(vyv3100), Zero) -> Succ(vyv3100) 248.95/165.35 new_primMinusNatS2(Zero, Zero) -> Zero 248.95/165.35 new_primMinusNatS2(Succ(vyv3100), Succ(vyv3110)) -> new_primMinusNatS2(vyv3100, vyv3110) 248.95/165.35 new_primDivNatS1(Zero, vyv28400) -> Zero 248.95/165.35 new_sr5(:%(vyv1830, vyv1831), bd) -> new_reduce2Reduce1(vyv1830, vyv1830, vyv1831, vyv1831, new_esEs0(vyv1831, bd), bd) 248.95/165.35 new_esEs0(vyv1831, ty_Int) -> new_esEs(new_sr6(vyv1831)) 248.95/165.35 new_esEs0(vyv1831, ty_Integer) -> new_esEs1(new_sr7(vyv1831)) 248.95/165.35 new_reduce2Reduce1(vyv264, vyv265, vyv266, vyv267, False, bh) -> :%(new_quot1(vyv264, vyv265, vyv266, vyv267, bh), new_quot2(vyv266, vyv267, vyv264, vyv265, bh)) 248.95/165.35 new_reduce2Reduce1(vyv264, vyv265, vyv266, vyv267, True, bh) -> error([]) 248.95/165.35 new_quot1(vyv264, vyv265, vyv266, vyv267, ty_Int) -> new_quot0(new_sr14(vyv264, vyv265), new_sr14(vyv264, vyv265), new_sr14(vyv266, vyv267)) 248.95/165.35 new_quot1(vyv264, vyv265, vyv266, vyv267, ty_Integer) -> new_quot(new_sr8(vyv264, vyv265), new_sr8(vyv264, vyv265), new_sr8(vyv266, vyv267)) 248.95/165.35 new_quot2(vyv266, vyv267, vyv264, vyv265, ty_Int) -> new_quot0(new_sr14(vyv266, vyv267), new_sr14(vyv264, vyv265), new_sr14(vyv266, vyv267)) 248.95/165.35 new_quot2(vyv266, vyv267, vyv264, vyv265, ty_Integer) -> new_quot(new_sr8(vyv266, vyv267), new_sr8(vyv264, vyv265), new_sr8(vyv266, vyv267)) 248.95/165.35 new_sr8(vyv239, vyv238) -> error([]) 248.95/165.35 new_quot(vyv273, vyv275, vyv274) -> error([]) 248.95/165.35 new_sr14(Pos(vyv2390), Neg(vyv2380)) -> Neg(new_primMulNat0(vyv2390, vyv2380)) 248.95/165.35 new_sr14(Neg(vyv2390), Pos(vyv2380)) -> Neg(new_primMulNat0(vyv2390, vyv2380)) 248.95/165.35 new_sr14(Neg(vyv2390), Neg(vyv2380)) -> Pos(new_primMulNat0(vyv2390, vyv2380)) 248.95/165.35 new_sr14(Pos(vyv2390), Pos(vyv2380)) -> Pos(new_primMulNat0(vyv2390, vyv2380)) 248.95/165.35 new_quot0(Neg(vyv2700), vyv272, vyv271) -> new_primQuotInt0(vyv2700, new_gcd(vyv272, vyv271)) 248.95/165.35 new_quot0(Pos(vyv2700), vyv272, vyv271) -> new_primQuotInt(vyv2700, new_gcd(vyv272, vyv271)) 248.95/165.35 new_gcd(vyv272, vyv271) -> new_gcd2(new_esEs(vyv272), vyv272, vyv271) 248.95/165.35 new_primQuotInt(vyv2700, Pos(Succ(vyv28400))) -> Pos(new_primDivNatS1(vyv2700, vyv28400)) 248.95/165.35 new_primQuotInt(vyv2700, Neg(Zero)) -> new_error 248.95/165.35 new_primQuotInt(vyv2700, Pos(Zero)) -> new_error 248.95/165.35 new_primQuotInt(vyv2700, Neg(Succ(vyv28400))) -> Neg(new_primDivNatS1(vyv2700, vyv28400)) 248.95/165.35 new_primDivNatS1(Succ(Succ(vyv270000)), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS0(vyv270000), Zero)) 248.95/165.35 new_primDivNatS1(Succ(Zero), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS1, Zero)) 248.95/165.35 new_primMinusNatS1 -> Zero 248.95/165.35 new_primMinusNatS0(vyv270000) -> Succ(vyv270000) 248.95/165.35 new_error -> error([]) 248.95/165.35 new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) 248.95/165.35 new_esEs(Pos(Succ(vyv24100))) -> new_primEqInt(Pos(Succ(vyv24100))) 248.95/165.35 new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) 248.95/165.35 new_esEs(Neg(Succ(vyv24100))) -> new_primEqInt(Neg(Succ(vyv24100))) 248.95/165.35 new_gcd2(True, vyv272, vyv271) -> new_gcd1(new_esEs(vyv271), vyv272, vyv271) 248.95/165.35 new_gcd2(False, vyv272, vyv271) -> new_gcd0(vyv272, vyv271) 248.95/165.35 new_gcd0(vyv272, vyv271) -> new_gcd0Gcd'10(new_esEs(new_abs(vyv271)), vyv272, vyv271) 248.95/165.35 new_abs(Neg(Zero)) -> Neg(Zero) 248.95/165.35 new_abs(Neg(Succ(vyv27100))) -> Pos(Succ(vyv27100)) 248.95/165.35 new_abs(Pos(Succ(vyv27100))) -> Pos(Succ(vyv27100)) 248.95/165.35 new_abs(Pos(Zero)) -> Pos(Zero) 248.95/165.35 new_gcd0Gcd'10(True, vyv272, vyv271) -> new_abs(vyv272) 248.95/165.35 new_gcd0Gcd'10(False, vyv272, vyv271) -> new_gcd0Gcd'00(new_abs(vyv272), new_abs(vyv271)) 248.95/165.35 new_gcd0Gcd'11(False, vyv291, vyv292) -> new_gcd0Gcd'00(vyv291, new_rem(vyv292, vyv291)) 248.95/165.35 new_gcd0Gcd'00(vyv292, vyv291) -> new_gcd0Gcd'11(new_esEs(new_rem(vyv292, vyv291)), vyv291, vyv292) 248.95/165.35 new_rem(Pos(vyv2920), Neg(Zero)) -> new_error 248.95/165.35 new_rem(Neg(vyv2920), Pos(Zero)) -> new_error 248.95/165.35 new_rem(Pos(vyv2920), Neg(Succ(vyv29100))) -> Pos(new_primModNatS1(vyv2920, vyv29100)) 248.95/165.35 new_rem(Neg(vyv2920), Pos(Succ(vyv29100))) -> Neg(new_primModNatS1(vyv2920, vyv29100)) 248.95/165.35 new_rem(Pos(vyv2920), Pos(Succ(vyv29100))) -> Pos(new_primModNatS1(vyv2920, vyv29100)) 248.95/165.35 new_rem(Neg(vyv2920), Neg(Zero)) -> new_error 248.95/165.35 new_rem(Neg(vyv2920), Neg(Succ(vyv29100))) -> Neg(new_primModNatS1(vyv2920, vyv29100)) 248.95/165.35 new_rem(Pos(vyv2920), Pos(Zero)) -> new_error 248.95/165.35 new_gcd0Gcd'11(True, vyv291, vyv292) -> vyv291 248.95/165.35 new_primModNatS1(Succ(Zero), Succ(vyv291000)) -> Succ(Zero) 248.95/165.35 new_primModNatS1(Zero, vyv29100) -> Zero 248.95/165.35 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 248.95/165.35 new_primModNatS1(Succ(Succ(vyv292000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv292000), Zero) 248.95/165.35 new_primModNatS1(Succ(Succ(vyv292000)), Succ(vyv291000)) -> new_primModNatS01(vyv292000, vyv291000, vyv292000, vyv291000) 248.95/165.35 new_primModNatS01(vyv330, vyv331, Zero, Zero) -> new_primModNatS02(vyv330, vyv331) 248.95/165.35 new_primModNatS02(vyv330, vyv331) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv330), Succ(vyv331)), Succ(vyv331)) 248.95/165.35 new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Zero) -> new_primModNatS02(vyv330, vyv331) 248.95/165.35 new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Succ(vyv3330)) -> new_primModNatS01(vyv330, vyv331, vyv3320, vyv3330) 248.95/165.35 new_primModNatS01(vyv330, vyv331, Zero, Succ(vyv3330)) -> Succ(Succ(vyv330)) 248.95/165.35 new_gcd1(True, vyv272, vyv271) -> new_error 248.95/165.35 new_gcd1(False, vyv272, vyv271) -> new_gcd0(vyv272, vyv271) 248.95/165.35 new_primEqInt(Neg(Succ(vyv242000))) -> False 248.95/165.35 new_primEqInt(Pos(Zero)) -> True 248.95/165.35 new_primEqInt(Pos(Succ(vyv242000))) -> False 248.95/165.35 new_primEqInt(Neg(Zero)) -> True 248.95/165.35 new_primQuotInt0(vyv2700, Pos(Succ(vyv28700))) -> Neg(new_primDivNatS1(vyv2700, vyv28700)) 248.95/165.35 new_primQuotInt0(vyv2700, Neg(Zero)) -> new_error 248.95/165.35 new_primQuotInt0(vyv2700, Neg(Succ(vyv28700))) -> Pos(new_primDivNatS1(vyv2700, vyv28700)) 248.95/165.35 new_primQuotInt0(vyv2700, Pos(Zero)) -> new_error 248.95/165.35 new_primMulNat0(Succ(vyv23900), Zero) -> Zero 248.95/165.35 new_primMulNat0(Zero, Succ(vyv23800)) -> Zero 248.95/165.35 new_primMulNat0(Zero, Zero) -> Zero 248.95/165.35 new_primMulNat0(Succ(vyv23900), Succ(vyv23800)) -> new_primPlusNat0(new_primMulNat0(vyv23900, Succ(vyv23800)), Succ(vyv23800)) 248.95/165.35 new_primPlusNat0(Succ(vyv4000), Succ(vyv5000)) -> Succ(Succ(new_primPlusNat0(vyv4000, vyv5000))) 248.95/165.35 new_primPlusNat0(Zero, Succ(vyv5000)) -> Succ(vyv5000) 248.95/165.35 new_primPlusNat0(Zero, Zero) -> Zero 248.95/165.35 new_primPlusNat0(Succ(vyv4000), Zero) -> Succ(vyv4000) 248.95/165.35 new_sr7(vyv183) -> error([]) 248.95/165.35 new_esEs1(Integer(vyv2690)) -> new_primEqInt(vyv2690) 248.95/165.35 new_sr6(Neg(vyv1830)) -> Pos(new_primMulNat1(vyv1830)) 248.95/165.35 new_sr6(Pos(vyv1830)) -> Pos(new_primMulNat1(vyv1830)) 248.95/165.35 new_primMulNat1(Succ(vyv18300)) -> new_primPlusNat0(new_primMulNat2(vyv18300), Succ(vyv18300)) 248.95/165.35 new_primMulNat1(Zero) -> Zero 248.95/165.35 new_primMulNat2(Succ(vyv183000)) -> new_primPlusNat0(new_primMulNat3(vyv183000), Succ(Succ(vyv183000))) 248.95/165.35 new_primMulNat2(Zero) -> Zero 248.95/165.35 new_primMulNat3(Succ(vyv1830000)) -> new_primPlusNat0(new_primMulNat4(vyv1830000), Succ(Succ(Succ(vyv1830000)))) 248.95/165.35 new_primMulNat3(Zero) -> Zero 248.95/165.35 new_primMulNat4(Succ(vyv18300000)) -> new_primPlusNat0(new_primMulNat0(vyv18300000, Succ(Succ(Succ(Succ(vyv18300000))))), Succ(Succ(Succ(Succ(vyv18300000))))) 248.95/165.35 new_primMulNat4(Zero) -> Zero 248.95/165.35 new_sr9(vyv183) -> error([]) 248.95/165.35 new_sr10(vyv183) -> error([]) 248.95/165.35 new_sr4(vyv239, vyv238, app(ty_Ratio, bf)) -> new_sr12(vyv239, vyv238, bf) 248.95/165.35 new_sr4(vyv239, vyv238, ty_Integer) -> new_sr8(vyv239, vyv238) 248.95/165.35 new_sr4(vyv239, vyv238, ty_Int) -> new_sr14(vyv239, vyv238) 248.95/165.35 new_sr4(vyv239, vyv238, ty_Double) -> new_sr11(vyv239, vyv238) 248.95/165.35 new_sr4(vyv239, vyv238, ty_Float) -> new_sr13(vyv239, vyv238) 248.95/165.35 new_sr13(vyv239, vyv238) -> error([]) 248.95/165.35 new_sr11(vyv239, vyv238) -> error([]) 248.95/165.35 new_sr12(:%(vyv2390, vyv2391), :%(vyv2380, vyv2381), bf) -> new_reduce2Reduce1(vyv2390, vyv2380, vyv2391, vyv2381, new_esEs2(vyv2391, vyv2381, bf), bf) 248.95/165.35 new_esEs2(vyv2391, vyv2381, ty_Int) -> new_esEs(new_sr14(vyv2391, vyv2381)) 248.95/165.35 new_esEs2(vyv2391, vyv2381, ty_Integer) -> new_esEs1(new_sr8(vyv2391, vyv2381)) 248.95/165.35 248.95/165.35 The set Q consists of the following terms: 248.95/165.35 248.95/165.35 new_rem(Pos(x0), Pos(Succ(x1))) 248.95/165.35 new_quot1(x0, x1, x2, x3, ty_Integer) 248.95/165.35 new_primModNatS1(Succ(Zero), Succ(x0)) 248.95/165.35 new_primMulNat4(Zero) 248.95/165.35 new_gcd1(False, x0, x1) 248.95/165.35 new_primEqInt(Pos(Zero)) 248.95/165.35 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 248.95/165.35 new_rem(Pos(x0), Neg(Succ(x1))) 248.95/165.35 new_rem(Neg(x0), Pos(Succ(x1))) 248.95/165.35 new_sr10(x0) 248.95/165.35 new_quot1(x0, x1, x2, x3, ty_Int) 248.95/165.35 new_quot2(x0, x1, x2, x3, ty_Integer) 248.95/165.35 new_primModNatS01(x0, x1, Succ(x2), Zero) 248.95/165.35 new_sr3(x0, ty_Integer) 248.95/165.35 new_primMulNat3(Zero) 248.95/165.35 new_primDivNatS02(x0, x1, Succ(x2), Zero) 248.95/165.35 new_quot2(x0, x1, x2, x3, ty_Int) 248.95/165.35 new_gcd2(False, x0, x1) 248.95/165.35 new_primDivNatS1(Succ(Zero), Zero) 248.95/165.35 new_esEs0(x0, ty_Int) 248.95/165.35 new_sr14(Pos(x0), Pos(x1)) 248.95/165.35 new_sr3(x0, ty_Int) 248.95/165.35 new_primMulNat0(Zero, Zero) 248.95/165.35 new_sr4(x0, x1, ty_Double) 248.95/165.35 new_primPlusNat0(Succ(x0), Zero) 248.95/165.35 new_primMulNat2(Zero) 248.95/165.35 new_sr11(x0, x1) 248.95/165.35 new_primModNatS01(x0, x1, Zero, Zero) 248.95/165.35 new_esEs2(x0, x1, ty_Int) 248.95/165.35 new_gcd1(True, x0, x1) 248.95/165.35 new_sr13(x0, x1) 248.95/165.35 new_sr14(Pos(x0), Neg(x1)) 248.95/165.35 new_sr14(Neg(x0), Pos(x1)) 248.95/165.35 new_primDivNatS1(Succ(Succ(x0)), Succ(x1)) 248.95/165.35 new_primModNatS1(Zero, x0) 248.95/165.35 new_esEs(Pos(Succ(x0))) 248.95/165.35 new_primMulNat3(Succ(x0)) 248.95/165.35 new_primQuotInt(x0, Neg(Succ(x1))) 248.95/165.35 new_reduce2Reduce1(x0, x1, x2, x3, False, x4) 248.95/165.35 new_primDivNatS1(Zero, x0) 248.95/165.35 new_primDivNatS02(x0, x1, Succ(x2), Succ(x3)) 248.95/165.35 new_primModNatS02(x0, x1) 248.95/165.35 new_primDivNatS1(Succ(Zero), Succ(x0)) 248.95/165.35 new_sr6(Neg(x0)) 248.95/165.35 new_gcd0Gcd'10(True, x0, x1) 248.95/165.35 new_primMulNat0(Succ(x0), Succ(x1)) 248.95/165.35 new_abs(Neg(Zero)) 248.95/165.35 new_rem(Pos(x0), Neg(Zero)) 248.95/165.35 new_rem(Neg(x0), Pos(Zero)) 248.95/165.35 new_primMinusNatS2(Zero, Succ(x0)) 248.95/165.35 new_esEs(Neg(Succ(x0))) 248.95/165.35 new_error 248.95/165.35 new_primModNatS1(Succ(Zero), Zero) 248.95/165.35 new_primMulNat0(Zero, Succ(x0)) 248.95/165.35 new_sr3(x0, ty_Float) 248.95/165.35 new_quot(x0, x1, x2) 248.95/165.35 new_gcd2(True, x0, x1) 248.95/165.35 new_gcd0Gcd'11(True, x0, x1) 248.95/165.35 new_primEqInt(Neg(Zero)) 248.95/165.35 new_primMulNat0(Succ(x0), Zero) 248.95/165.35 new_quot0(Neg(x0), x1, x2) 248.95/165.35 new_primMinusNatS2(Succ(x0), Succ(x1)) 248.95/165.35 new_sr4(x0, x1, app(ty_Ratio, x2)) 248.95/165.35 new_sr8(x0, x1) 248.95/165.35 new_primDivNatS01(x0, x1) 248.95/165.35 new_primDivNatS02(x0, x1, Zero, Succ(x2)) 248.95/165.35 new_primPlusNat0(Succ(x0), Succ(x1)) 248.95/165.35 new_primPlusNat0(Zero, Zero) 248.95/165.35 new_sr12(:%(x0, x1), :%(x2, x3), x4) 248.95/165.35 new_abs(Neg(Succ(x0))) 248.95/165.35 new_sr3(x0, app(ty_Ratio, x1)) 248.95/165.35 new_sr7(x0) 248.95/165.35 new_gcd0(x0, x1) 248.95/165.35 new_primQuotInt0(x0, Pos(Succ(x1))) 248.95/165.35 new_sr4(x0, x1, ty_Integer) 248.95/165.35 new_sr5(:%(x0, x1), x2) 248.95/165.35 new_primMinusNatS2(Zero, Zero) 248.95/165.35 new_primMulNat1(Succ(x0)) 248.95/165.35 new_abs(Pos(Succ(x0))) 248.95/165.35 new_sr4(x0, x1, ty_Int) 248.95/165.35 new_esEs(Pos(Zero)) 248.95/165.35 new_primQuotInt0(x0, Pos(Zero)) 248.95/165.35 new_primEqInt(Neg(Succ(x0))) 248.95/165.35 new_primQuotInt(x0, Neg(Zero)) 248.95/165.35 new_primQuotInt0(x0, Neg(Zero)) 248.95/165.35 new_primQuotInt0(x0, Neg(Succ(x1))) 248.95/165.35 new_gcd(x0, x1) 248.95/165.35 new_quot0(Pos(x0), x1, x2) 248.95/165.35 new_primMinusNatS0(x0) 248.95/165.35 new_primPlusNat0(Zero, Succ(x0)) 248.95/165.35 new_primQuotInt(x0, Pos(Succ(x1))) 248.95/165.35 new_primDivNatS1(Succ(Succ(x0)), Zero) 248.95/165.35 new_rem(Pos(x0), Pos(Zero)) 248.95/165.35 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 248.95/165.35 new_primDivNatS02(x0, x1, Zero, Zero) 248.95/165.35 new_abs(Pos(Zero)) 248.95/165.35 new_gcd0Gcd'10(False, x0, x1) 248.95/165.35 new_primMinusNatS1 248.95/165.35 new_esEs1(Integer(x0)) 248.95/165.35 new_primModNatS01(x0, x1, Zero, Succ(x2)) 248.95/165.35 new_primMulNat2(Succ(x0)) 248.95/165.35 new_sr14(Neg(x0), Neg(x1)) 248.95/165.35 new_primMinusNatS2(Succ(x0), Zero) 248.95/165.35 new_sr4(x0, x1, ty_Float) 248.95/165.35 new_sr6(Pos(x0)) 248.95/165.35 new_esEs2(x0, x1, ty_Integer) 248.95/165.35 new_primMulNat4(Succ(x0)) 248.95/165.35 new_rem(Neg(x0), Neg(Succ(x1))) 248.95/165.35 new_primEqInt(Pos(Succ(x0))) 248.95/165.35 new_primQuotInt(x0, Pos(Zero)) 248.95/165.35 new_gcd0Gcd'11(False, x0, x1) 248.95/165.35 new_sr9(x0) 248.95/165.35 new_primModNatS1(Succ(Succ(x0)), Zero) 248.95/165.35 new_esEs0(x0, ty_Integer) 248.95/165.35 new_gcd0Gcd'00(x0, x1) 248.95/165.35 new_reduce2Reduce1(x0, x1, x2, x3, True, x4) 248.95/165.35 new_sr3(x0, ty_Double) 248.95/165.35 new_esEs(Neg(Zero)) 248.95/165.35 new_primMulNat1(Zero) 248.95/165.35 new_rem(Neg(x0), Neg(Zero)) 248.95/165.35 248.95/165.35 We have to consider all minimal (P,Q,R)-chains. 248.95/165.35 ---------------------------------------- 248.95/165.35 248.95/165.35 (814) DependencyGraphProof (EQUIVALENT) 248.95/165.35 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. 248.95/165.35 ---------------------------------------- 248.95/165.35 248.95/165.35 (815) 248.95/165.35 Obligation: 248.95/165.35 Q DP problem: 248.95/165.35 The TRS P consists of the following rules: 248.95/165.35 248.95/165.35 new_pr2F30(False, z0, z1, Pos(Succ(Zero)), z2, z3) -> new_pr2F0(z0, Neg(Succ(Succ(new_primPlusNat0(z1, Zero)))), new_sr4(z0, z2, z3), z3) 248.95/165.35 new_pr2F0(vyv183, Neg(Succ(Succ(vyv222000))), vyv187, h) -> new_pr2F0G10(vyv187, vyv183, Succ(vyv222000), vyv222000, h) 248.95/165.35 new_pr2F0G10(vyv248, vyv249, vyv250, Succ(Succ(vyv25100)), bb) -> new_pr2F0G10(vyv248, vyv249, vyv250, vyv25100, bb) 248.95/165.35 new_pr2F0G10(vyv248, vyv249, vyv250, Succ(Zero), bb) -> new_pr2F0G11(vyv248, vyv249, vyv250, bb) 248.95/165.35 new_pr2F0G11(vyv238, vyv239, vyv240, bc) -> new_pr2F1(vyv239, vyv240, Pos(Succ(Zero)), vyv238, bc) 248.95/165.35 new_pr2F1(z1, z2, Pos(Succ(Zero)), z0, z3) -> new_pr2F30(False, z1, z2, Pos(Succ(Zero)), z0, z3) 248.95/165.35 new_pr2F0G10(vyv248, vyv249, vyv250, Zero, bb) -> new_pr2F0G(vyv248, new_sr3(vyv249, bb), Neg(new_primDivNatS1(Succ(vyv250), Succ(Zero))), bb) 248.95/165.35 new_pr2F0G(vyv187, vyv183, Neg(Succ(Zero)), h) -> new_pr2F0G11(vyv187, vyv183, Zero, h) 248.95/165.35 new_pr2F0G(vyv187, vyv183, Neg(Succ(Succ(vyv222000))), h) -> new_pr2F0G10(vyv187, vyv183, Succ(vyv222000), vyv222000, h) 248.95/165.35 248.95/165.35 The TRS R consists of the following rules: 248.95/165.35 248.95/165.35 new_sr3(vyv249, ty_Float) -> new_sr10(vyv249) 248.95/165.35 new_sr3(vyv249, ty_Double) -> new_sr9(vyv249) 248.95/165.35 new_sr3(vyv249, ty_Int) -> new_sr6(vyv249) 248.95/165.35 new_sr3(vyv249, ty_Integer) -> new_sr7(vyv249) 248.95/165.35 new_sr3(vyv249, app(ty_Ratio, bg)) -> new_sr5(vyv249, bg) 248.95/165.35 new_primDivNatS1(Succ(Zero), Succ(vyv284000)) -> Zero 248.95/165.35 new_primDivNatS1(Succ(Succ(vyv270000)), Succ(vyv284000)) -> new_primDivNatS02(vyv270000, vyv284000, vyv270000, vyv284000) 248.95/165.35 new_primDivNatS02(vyv310, vyv311, Zero, Zero) -> new_primDivNatS01(vyv310, vyv311) 248.95/165.35 new_primDivNatS02(vyv310, vyv311, Succ(vyv3120), Zero) -> new_primDivNatS01(vyv310, vyv311) 248.95/165.35 new_primDivNatS02(vyv310, vyv311, Zero, Succ(vyv3130)) -> Zero 248.95/165.35 new_primDivNatS02(vyv310, vyv311, Succ(vyv3120), Succ(vyv3130)) -> new_primDivNatS02(vyv310, vyv311, vyv3120, vyv3130) 248.95/165.35 new_primDivNatS01(vyv310, vyv311) -> Succ(new_primDivNatS1(new_primMinusNatS2(vyv310, vyv311), Succ(vyv311))) 248.95/165.35 new_primMinusNatS2(Zero, Succ(vyv3110)) -> Zero 248.95/165.35 new_primMinusNatS2(Succ(vyv3100), Zero) -> Succ(vyv3100) 248.95/165.35 new_primMinusNatS2(Zero, Zero) -> Zero 248.95/165.35 new_primMinusNatS2(Succ(vyv3100), Succ(vyv3110)) -> new_primMinusNatS2(vyv3100, vyv3110) 248.95/165.35 new_primDivNatS1(Zero, vyv28400) -> Zero 248.95/165.35 new_sr5(:%(vyv1830, vyv1831), bd) -> new_reduce2Reduce1(vyv1830, vyv1830, vyv1831, vyv1831, new_esEs0(vyv1831, bd), bd) 248.95/165.35 new_esEs0(vyv1831, ty_Int) -> new_esEs(new_sr6(vyv1831)) 248.95/165.35 new_esEs0(vyv1831, ty_Integer) -> new_esEs1(new_sr7(vyv1831)) 248.95/165.35 new_reduce2Reduce1(vyv264, vyv265, vyv266, vyv267, False, bh) -> :%(new_quot1(vyv264, vyv265, vyv266, vyv267, bh), new_quot2(vyv266, vyv267, vyv264, vyv265, bh)) 248.95/165.35 new_reduce2Reduce1(vyv264, vyv265, vyv266, vyv267, True, bh) -> error([]) 248.95/165.35 new_quot1(vyv264, vyv265, vyv266, vyv267, ty_Int) -> new_quot0(new_sr14(vyv264, vyv265), new_sr14(vyv264, vyv265), new_sr14(vyv266, vyv267)) 248.95/165.35 new_quot1(vyv264, vyv265, vyv266, vyv267, ty_Integer) -> new_quot(new_sr8(vyv264, vyv265), new_sr8(vyv264, vyv265), new_sr8(vyv266, vyv267)) 248.95/165.35 new_quot2(vyv266, vyv267, vyv264, vyv265, ty_Int) -> new_quot0(new_sr14(vyv266, vyv267), new_sr14(vyv264, vyv265), new_sr14(vyv266, vyv267)) 248.95/165.35 new_quot2(vyv266, vyv267, vyv264, vyv265, ty_Integer) -> new_quot(new_sr8(vyv266, vyv267), new_sr8(vyv264, vyv265), new_sr8(vyv266, vyv267)) 248.95/165.35 new_sr8(vyv239, vyv238) -> error([]) 248.95/165.35 new_quot(vyv273, vyv275, vyv274) -> error([]) 248.95/165.35 new_sr14(Pos(vyv2390), Neg(vyv2380)) -> Neg(new_primMulNat0(vyv2390, vyv2380)) 248.95/165.35 new_sr14(Neg(vyv2390), Pos(vyv2380)) -> Neg(new_primMulNat0(vyv2390, vyv2380)) 248.95/165.35 new_sr14(Neg(vyv2390), Neg(vyv2380)) -> Pos(new_primMulNat0(vyv2390, vyv2380)) 248.95/165.35 new_sr14(Pos(vyv2390), Pos(vyv2380)) -> Pos(new_primMulNat0(vyv2390, vyv2380)) 248.95/165.35 new_quot0(Neg(vyv2700), vyv272, vyv271) -> new_primQuotInt0(vyv2700, new_gcd(vyv272, vyv271)) 248.95/165.35 new_quot0(Pos(vyv2700), vyv272, vyv271) -> new_primQuotInt(vyv2700, new_gcd(vyv272, vyv271)) 248.95/165.35 new_gcd(vyv272, vyv271) -> new_gcd2(new_esEs(vyv272), vyv272, vyv271) 248.95/165.35 new_primQuotInt(vyv2700, Pos(Succ(vyv28400))) -> Pos(new_primDivNatS1(vyv2700, vyv28400)) 248.95/165.35 new_primQuotInt(vyv2700, Neg(Zero)) -> new_error 248.95/165.35 new_primQuotInt(vyv2700, Pos(Zero)) -> new_error 248.95/165.35 new_primQuotInt(vyv2700, Neg(Succ(vyv28400))) -> Neg(new_primDivNatS1(vyv2700, vyv28400)) 248.95/165.35 new_primDivNatS1(Succ(Succ(vyv270000)), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS0(vyv270000), Zero)) 248.95/165.35 new_primDivNatS1(Succ(Zero), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS1, Zero)) 248.95/165.35 new_primMinusNatS1 -> Zero 248.95/165.35 new_primMinusNatS0(vyv270000) -> Succ(vyv270000) 248.95/165.35 new_error -> error([]) 248.95/165.35 new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) 248.95/165.35 new_esEs(Pos(Succ(vyv24100))) -> new_primEqInt(Pos(Succ(vyv24100))) 248.95/165.35 new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) 248.95/165.35 new_esEs(Neg(Succ(vyv24100))) -> new_primEqInt(Neg(Succ(vyv24100))) 248.95/165.35 new_gcd2(True, vyv272, vyv271) -> new_gcd1(new_esEs(vyv271), vyv272, vyv271) 248.95/165.35 new_gcd2(False, vyv272, vyv271) -> new_gcd0(vyv272, vyv271) 248.95/165.35 new_gcd0(vyv272, vyv271) -> new_gcd0Gcd'10(new_esEs(new_abs(vyv271)), vyv272, vyv271) 248.95/165.35 new_abs(Neg(Zero)) -> Neg(Zero) 248.95/165.35 new_abs(Neg(Succ(vyv27100))) -> Pos(Succ(vyv27100)) 248.95/165.35 new_abs(Pos(Succ(vyv27100))) -> Pos(Succ(vyv27100)) 248.95/165.35 new_abs(Pos(Zero)) -> Pos(Zero) 248.95/165.35 new_gcd0Gcd'10(True, vyv272, vyv271) -> new_abs(vyv272) 248.95/165.35 new_gcd0Gcd'10(False, vyv272, vyv271) -> new_gcd0Gcd'00(new_abs(vyv272), new_abs(vyv271)) 248.95/165.35 new_gcd0Gcd'11(False, vyv291, vyv292) -> new_gcd0Gcd'00(vyv291, new_rem(vyv292, vyv291)) 248.95/165.35 new_gcd0Gcd'00(vyv292, vyv291) -> new_gcd0Gcd'11(new_esEs(new_rem(vyv292, vyv291)), vyv291, vyv292) 248.95/165.35 new_rem(Pos(vyv2920), Neg(Zero)) -> new_error 248.95/165.35 new_rem(Neg(vyv2920), Pos(Zero)) -> new_error 248.95/165.35 new_rem(Pos(vyv2920), Neg(Succ(vyv29100))) -> Pos(new_primModNatS1(vyv2920, vyv29100)) 248.95/165.35 new_rem(Neg(vyv2920), Pos(Succ(vyv29100))) -> Neg(new_primModNatS1(vyv2920, vyv29100)) 248.95/165.35 new_rem(Pos(vyv2920), Pos(Succ(vyv29100))) -> Pos(new_primModNatS1(vyv2920, vyv29100)) 248.95/165.35 new_rem(Neg(vyv2920), Neg(Zero)) -> new_error 248.95/165.35 new_rem(Neg(vyv2920), Neg(Succ(vyv29100))) -> Neg(new_primModNatS1(vyv2920, vyv29100)) 248.95/165.35 new_rem(Pos(vyv2920), Pos(Zero)) -> new_error 248.95/165.35 new_gcd0Gcd'11(True, vyv291, vyv292) -> vyv291 248.95/165.35 new_primModNatS1(Succ(Zero), Succ(vyv291000)) -> Succ(Zero) 248.95/165.35 new_primModNatS1(Zero, vyv29100) -> Zero 248.95/165.35 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 248.95/165.35 new_primModNatS1(Succ(Succ(vyv292000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv292000), Zero) 248.95/165.35 new_primModNatS1(Succ(Succ(vyv292000)), Succ(vyv291000)) -> new_primModNatS01(vyv292000, vyv291000, vyv292000, vyv291000) 248.95/165.35 new_primModNatS01(vyv330, vyv331, Zero, Zero) -> new_primModNatS02(vyv330, vyv331) 248.95/165.35 new_primModNatS02(vyv330, vyv331) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv330), Succ(vyv331)), Succ(vyv331)) 248.95/165.35 new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Zero) -> new_primModNatS02(vyv330, vyv331) 248.95/165.35 new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Succ(vyv3330)) -> new_primModNatS01(vyv330, vyv331, vyv3320, vyv3330) 248.95/165.35 new_primModNatS01(vyv330, vyv331, Zero, Succ(vyv3330)) -> Succ(Succ(vyv330)) 248.95/165.35 new_gcd1(True, vyv272, vyv271) -> new_error 248.95/165.35 new_gcd1(False, vyv272, vyv271) -> new_gcd0(vyv272, vyv271) 248.95/165.35 new_primEqInt(Neg(Succ(vyv242000))) -> False 248.95/165.35 new_primEqInt(Pos(Zero)) -> True 248.95/165.35 new_primEqInt(Pos(Succ(vyv242000))) -> False 248.95/165.35 new_primEqInt(Neg(Zero)) -> True 248.95/165.35 new_primQuotInt0(vyv2700, Pos(Succ(vyv28700))) -> Neg(new_primDivNatS1(vyv2700, vyv28700)) 248.95/165.35 new_primQuotInt0(vyv2700, Neg(Zero)) -> new_error 248.95/165.35 new_primQuotInt0(vyv2700, Neg(Succ(vyv28700))) -> Pos(new_primDivNatS1(vyv2700, vyv28700)) 248.95/165.35 new_primQuotInt0(vyv2700, Pos(Zero)) -> new_error 248.95/165.35 new_primMulNat0(Succ(vyv23900), Zero) -> Zero 248.95/165.35 new_primMulNat0(Zero, Succ(vyv23800)) -> Zero 248.95/165.35 new_primMulNat0(Zero, Zero) -> Zero 248.95/165.35 new_primMulNat0(Succ(vyv23900), Succ(vyv23800)) -> new_primPlusNat0(new_primMulNat0(vyv23900, Succ(vyv23800)), Succ(vyv23800)) 248.95/165.35 new_primPlusNat0(Succ(vyv4000), Succ(vyv5000)) -> Succ(Succ(new_primPlusNat0(vyv4000, vyv5000))) 248.95/165.35 new_primPlusNat0(Zero, Succ(vyv5000)) -> Succ(vyv5000) 248.95/165.35 new_primPlusNat0(Zero, Zero) -> Zero 248.95/165.35 new_primPlusNat0(Succ(vyv4000), Zero) -> Succ(vyv4000) 248.95/165.35 new_sr7(vyv183) -> error([]) 248.95/165.35 new_esEs1(Integer(vyv2690)) -> new_primEqInt(vyv2690) 248.95/165.35 new_sr6(Neg(vyv1830)) -> Pos(new_primMulNat1(vyv1830)) 248.95/165.35 new_sr6(Pos(vyv1830)) -> Pos(new_primMulNat1(vyv1830)) 248.95/165.35 new_primMulNat1(Succ(vyv18300)) -> new_primPlusNat0(new_primMulNat2(vyv18300), Succ(vyv18300)) 248.95/165.35 new_primMulNat1(Zero) -> Zero 248.95/165.35 new_primMulNat2(Succ(vyv183000)) -> new_primPlusNat0(new_primMulNat3(vyv183000), Succ(Succ(vyv183000))) 248.95/165.35 new_primMulNat2(Zero) -> Zero 248.95/165.35 new_primMulNat3(Succ(vyv1830000)) -> new_primPlusNat0(new_primMulNat4(vyv1830000), Succ(Succ(Succ(vyv1830000)))) 248.95/165.35 new_primMulNat3(Zero) -> Zero 248.95/165.35 new_primMulNat4(Succ(vyv18300000)) -> new_primPlusNat0(new_primMulNat0(vyv18300000, Succ(Succ(Succ(Succ(vyv18300000))))), Succ(Succ(Succ(Succ(vyv18300000))))) 248.95/165.35 new_primMulNat4(Zero) -> Zero 248.95/165.35 new_sr9(vyv183) -> error([]) 248.95/165.35 new_sr10(vyv183) -> error([]) 248.95/165.35 new_sr4(vyv239, vyv238, app(ty_Ratio, bf)) -> new_sr12(vyv239, vyv238, bf) 248.95/165.35 new_sr4(vyv239, vyv238, ty_Integer) -> new_sr8(vyv239, vyv238) 248.95/165.35 new_sr4(vyv239, vyv238, ty_Int) -> new_sr14(vyv239, vyv238) 248.95/165.35 new_sr4(vyv239, vyv238, ty_Double) -> new_sr11(vyv239, vyv238) 248.95/165.35 new_sr4(vyv239, vyv238, ty_Float) -> new_sr13(vyv239, vyv238) 248.95/165.35 new_sr13(vyv239, vyv238) -> error([]) 248.95/165.35 new_sr11(vyv239, vyv238) -> error([]) 248.95/165.35 new_sr12(:%(vyv2390, vyv2391), :%(vyv2380, vyv2381), bf) -> new_reduce2Reduce1(vyv2390, vyv2380, vyv2391, vyv2381, new_esEs2(vyv2391, vyv2381, bf), bf) 248.95/165.35 new_esEs2(vyv2391, vyv2381, ty_Int) -> new_esEs(new_sr14(vyv2391, vyv2381)) 248.95/165.35 new_esEs2(vyv2391, vyv2381, ty_Integer) -> new_esEs1(new_sr8(vyv2391, vyv2381)) 248.95/165.35 248.95/165.35 The set Q consists of the following terms: 248.95/165.35 248.95/165.35 new_rem(Pos(x0), Pos(Succ(x1))) 248.95/165.35 new_quot1(x0, x1, x2, x3, ty_Integer) 248.95/165.35 new_primModNatS1(Succ(Zero), Succ(x0)) 248.95/165.35 new_primMulNat4(Zero) 248.95/165.35 new_gcd1(False, x0, x1) 248.95/165.35 new_primEqInt(Pos(Zero)) 248.95/165.35 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 248.95/165.35 new_rem(Pos(x0), Neg(Succ(x1))) 248.95/165.35 new_rem(Neg(x0), Pos(Succ(x1))) 248.95/165.35 new_sr10(x0) 248.95/165.35 new_quot1(x0, x1, x2, x3, ty_Int) 248.95/165.35 new_quot2(x0, x1, x2, x3, ty_Integer) 248.95/165.35 new_primModNatS01(x0, x1, Succ(x2), Zero) 248.95/165.35 new_sr3(x0, ty_Integer) 248.95/165.35 new_primMulNat3(Zero) 248.95/165.35 new_primDivNatS02(x0, x1, Succ(x2), Zero) 248.95/165.35 new_quot2(x0, x1, x2, x3, ty_Int) 248.95/165.35 new_gcd2(False, x0, x1) 248.95/165.35 new_primDivNatS1(Succ(Zero), Zero) 248.95/165.35 new_esEs0(x0, ty_Int) 248.95/165.35 new_sr14(Pos(x0), Pos(x1)) 248.95/165.35 new_sr3(x0, ty_Int) 248.95/165.35 new_primMulNat0(Zero, Zero) 248.95/165.35 new_sr4(x0, x1, ty_Double) 248.95/165.35 new_primPlusNat0(Succ(x0), Zero) 248.95/165.35 new_primMulNat2(Zero) 248.95/165.35 new_sr11(x0, x1) 248.95/165.35 new_primModNatS01(x0, x1, Zero, Zero) 248.95/165.35 new_esEs2(x0, x1, ty_Int) 248.95/165.35 new_gcd1(True, x0, x1) 248.95/165.35 new_sr13(x0, x1) 248.95/165.35 new_sr14(Pos(x0), Neg(x1)) 248.95/165.35 new_sr14(Neg(x0), Pos(x1)) 248.95/165.35 new_primDivNatS1(Succ(Succ(x0)), Succ(x1)) 248.95/165.35 new_primModNatS1(Zero, x0) 248.95/165.35 new_esEs(Pos(Succ(x0))) 248.95/165.35 new_primMulNat3(Succ(x0)) 248.95/165.35 new_primQuotInt(x0, Neg(Succ(x1))) 248.95/165.35 new_reduce2Reduce1(x0, x1, x2, x3, False, x4) 248.95/165.35 new_primDivNatS1(Zero, x0) 248.95/165.35 new_primDivNatS02(x0, x1, Succ(x2), Succ(x3)) 248.95/165.35 new_primModNatS02(x0, x1) 248.95/165.35 new_primDivNatS1(Succ(Zero), Succ(x0)) 248.95/165.35 new_sr6(Neg(x0)) 248.95/165.35 new_gcd0Gcd'10(True, x0, x1) 248.95/165.35 new_primMulNat0(Succ(x0), Succ(x1)) 248.95/165.35 new_abs(Neg(Zero)) 248.95/165.35 new_rem(Pos(x0), Neg(Zero)) 248.95/165.35 new_rem(Neg(x0), Pos(Zero)) 248.95/165.35 new_primMinusNatS2(Zero, Succ(x0)) 248.95/165.35 new_esEs(Neg(Succ(x0))) 248.95/165.35 new_error 248.95/165.35 new_primModNatS1(Succ(Zero), Zero) 248.95/165.35 new_primMulNat0(Zero, Succ(x0)) 248.95/165.35 new_sr3(x0, ty_Float) 248.95/165.35 new_quot(x0, x1, x2) 248.95/165.35 new_gcd2(True, x0, x1) 248.95/165.35 new_gcd0Gcd'11(True, x0, x1) 248.95/165.35 new_primEqInt(Neg(Zero)) 248.95/165.35 new_primMulNat0(Succ(x0), Zero) 248.95/165.35 new_quot0(Neg(x0), x1, x2) 248.95/165.35 new_primMinusNatS2(Succ(x0), Succ(x1)) 248.95/165.35 new_sr4(x0, x1, app(ty_Ratio, x2)) 248.95/165.35 new_sr8(x0, x1) 248.95/165.35 new_primDivNatS01(x0, x1) 248.95/165.35 new_primDivNatS02(x0, x1, Zero, Succ(x2)) 248.95/165.35 new_primPlusNat0(Succ(x0), Succ(x1)) 248.95/165.35 new_primPlusNat0(Zero, Zero) 248.95/165.35 new_sr12(:%(x0, x1), :%(x2, x3), x4) 248.95/165.35 new_abs(Neg(Succ(x0))) 248.95/165.35 new_sr3(x0, app(ty_Ratio, x1)) 248.95/165.35 new_sr7(x0) 248.95/165.35 new_gcd0(x0, x1) 248.95/165.35 new_primQuotInt0(x0, Pos(Succ(x1))) 248.95/165.35 new_sr4(x0, x1, ty_Integer) 248.95/165.35 new_sr5(:%(x0, x1), x2) 248.95/165.35 new_primMinusNatS2(Zero, Zero) 248.95/165.35 new_primMulNat1(Succ(x0)) 248.95/165.35 new_abs(Pos(Succ(x0))) 248.95/165.35 new_sr4(x0, x1, ty_Int) 248.95/165.35 new_esEs(Pos(Zero)) 248.95/165.35 new_primQuotInt0(x0, Pos(Zero)) 248.95/165.35 new_primEqInt(Neg(Succ(x0))) 248.95/165.35 new_primQuotInt(x0, Neg(Zero)) 248.95/165.35 new_primQuotInt0(x0, Neg(Zero)) 248.95/165.35 new_primQuotInt0(x0, Neg(Succ(x1))) 248.95/165.35 new_gcd(x0, x1) 248.95/165.35 new_quot0(Pos(x0), x1, x2) 248.95/165.36 new_primMinusNatS0(x0) 248.95/165.36 new_primPlusNat0(Zero, Succ(x0)) 248.95/165.36 new_primQuotInt(x0, Pos(Succ(x1))) 248.95/165.36 new_primDivNatS1(Succ(Succ(x0)), Zero) 248.95/165.36 new_rem(Pos(x0), Pos(Zero)) 248.95/165.36 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 248.95/165.36 new_primDivNatS02(x0, x1, Zero, Zero) 248.95/165.36 new_abs(Pos(Zero)) 248.95/165.36 new_gcd0Gcd'10(False, x0, x1) 248.95/165.36 new_primMinusNatS1 248.95/165.36 new_esEs1(Integer(x0)) 248.95/165.36 new_primModNatS01(x0, x1, Zero, Succ(x2)) 248.95/165.36 new_primMulNat2(Succ(x0)) 248.95/165.36 new_sr14(Neg(x0), Neg(x1)) 248.95/165.36 new_primMinusNatS2(Succ(x0), Zero) 248.95/165.36 new_sr4(x0, x1, ty_Float) 248.95/165.36 new_sr6(Pos(x0)) 248.95/165.36 new_esEs2(x0, x1, ty_Integer) 248.95/165.36 new_primMulNat4(Succ(x0)) 248.95/165.36 new_rem(Neg(x0), Neg(Succ(x1))) 248.95/165.36 new_primEqInt(Pos(Succ(x0))) 248.95/165.36 new_primQuotInt(x0, Pos(Zero)) 248.95/165.36 new_gcd0Gcd'11(False, x0, x1) 248.95/165.36 new_sr9(x0) 248.95/165.36 new_primModNatS1(Succ(Succ(x0)), Zero) 248.95/165.36 new_esEs0(x0, ty_Integer) 248.95/165.36 new_gcd0Gcd'00(x0, x1) 248.95/165.36 new_reduce2Reduce1(x0, x1, x2, x3, True, x4) 248.95/165.36 new_sr3(x0, ty_Double) 248.95/165.36 new_esEs(Neg(Zero)) 248.95/165.36 new_primMulNat1(Zero) 248.95/165.36 new_rem(Neg(x0), Neg(Zero)) 248.95/165.36 248.95/165.36 We have to consider all minimal (P,Q,R)-chains. 248.95/165.36 ---------------------------------------- 248.95/165.36 248.95/165.36 (816) MNOCProof (EQUIVALENT) 248.95/165.36 We use the modular non-overlap check [FROCOS05] to decrease Q to the empty set. 248.95/165.36 ---------------------------------------- 248.95/165.36 248.95/165.36 (817) 248.95/165.36 Obligation: 248.95/165.36 Q DP problem: 248.95/165.36 The TRS P consists of the following rules: 248.95/165.36 248.95/165.36 new_pr2F30(False, z0, z1, Pos(Succ(Zero)), z2, z3) -> new_pr2F0(z0, Neg(Succ(Succ(new_primPlusNat0(z1, Zero)))), new_sr4(z0, z2, z3), z3) 248.95/165.36 new_pr2F0(vyv183, Neg(Succ(Succ(vyv222000))), vyv187, h) -> new_pr2F0G10(vyv187, vyv183, Succ(vyv222000), vyv222000, h) 248.95/165.36 new_pr2F0G10(vyv248, vyv249, vyv250, Succ(Succ(vyv25100)), bb) -> new_pr2F0G10(vyv248, vyv249, vyv250, vyv25100, bb) 248.95/165.36 new_pr2F0G10(vyv248, vyv249, vyv250, Succ(Zero), bb) -> new_pr2F0G11(vyv248, vyv249, vyv250, bb) 248.95/165.36 new_pr2F0G11(vyv238, vyv239, vyv240, bc) -> new_pr2F1(vyv239, vyv240, Pos(Succ(Zero)), vyv238, bc) 248.95/165.36 new_pr2F1(z1, z2, Pos(Succ(Zero)), z0, z3) -> new_pr2F30(False, z1, z2, Pos(Succ(Zero)), z0, z3) 248.95/165.36 new_pr2F0G10(vyv248, vyv249, vyv250, Zero, bb) -> new_pr2F0G(vyv248, new_sr3(vyv249, bb), Neg(new_primDivNatS1(Succ(vyv250), Succ(Zero))), bb) 248.95/165.36 new_pr2F0G(vyv187, vyv183, Neg(Succ(Zero)), h) -> new_pr2F0G11(vyv187, vyv183, Zero, h) 248.95/165.36 new_pr2F0G(vyv187, vyv183, Neg(Succ(Succ(vyv222000))), h) -> new_pr2F0G10(vyv187, vyv183, Succ(vyv222000), vyv222000, h) 248.95/165.36 248.95/165.36 The TRS R consists of the following rules: 248.95/165.36 248.95/165.36 new_sr3(vyv249, ty_Float) -> new_sr10(vyv249) 248.95/165.36 new_sr3(vyv249, ty_Double) -> new_sr9(vyv249) 248.95/165.36 new_sr3(vyv249, ty_Int) -> new_sr6(vyv249) 248.95/165.36 new_sr3(vyv249, ty_Integer) -> new_sr7(vyv249) 248.95/165.36 new_sr3(vyv249, app(ty_Ratio, bg)) -> new_sr5(vyv249, bg) 248.95/165.36 new_primDivNatS1(Succ(Zero), Succ(vyv284000)) -> Zero 248.95/165.36 new_primDivNatS1(Succ(Succ(vyv270000)), Succ(vyv284000)) -> new_primDivNatS02(vyv270000, vyv284000, vyv270000, vyv284000) 248.95/165.36 new_primDivNatS02(vyv310, vyv311, Zero, Zero) -> new_primDivNatS01(vyv310, vyv311) 248.95/165.36 new_primDivNatS02(vyv310, vyv311, Succ(vyv3120), Zero) -> new_primDivNatS01(vyv310, vyv311) 248.95/165.36 new_primDivNatS02(vyv310, vyv311, Zero, Succ(vyv3130)) -> Zero 248.95/165.36 new_primDivNatS02(vyv310, vyv311, Succ(vyv3120), Succ(vyv3130)) -> new_primDivNatS02(vyv310, vyv311, vyv3120, vyv3130) 248.95/165.36 new_primDivNatS01(vyv310, vyv311) -> Succ(new_primDivNatS1(new_primMinusNatS2(vyv310, vyv311), Succ(vyv311))) 248.95/165.36 new_primMinusNatS2(Zero, Succ(vyv3110)) -> Zero 248.95/165.36 new_primMinusNatS2(Succ(vyv3100), Zero) -> Succ(vyv3100) 248.95/165.36 new_primMinusNatS2(Zero, Zero) -> Zero 248.95/165.36 new_primMinusNatS2(Succ(vyv3100), Succ(vyv3110)) -> new_primMinusNatS2(vyv3100, vyv3110) 248.95/165.36 new_primDivNatS1(Zero, vyv28400) -> Zero 248.95/165.36 new_sr5(:%(vyv1830, vyv1831), bd) -> new_reduce2Reduce1(vyv1830, vyv1830, vyv1831, vyv1831, new_esEs0(vyv1831, bd), bd) 248.95/165.36 new_esEs0(vyv1831, ty_Int) -> new_esEs(new_sr6(vyv1831)) 248.95/165.36 new_esEs0(vyv1831, ty_Integer) -> new_esEs1(new_sr7(vyv1831)) 248.95/165.36 new_reduce2Reduce1(vyv264, vyv265, vyv266, vyv267, False, bh) -> :%(new_quot1(vyv264, vyv265, vyv266, vyv267, bh), new_quot2(vyv266, vyv267, vyv264, vyv265, bh)) 248.95/165.36 new_reduce2Reduce1(vyv264, vyv265, vyv266, vyv267, True, bh) -> error([]) 248.95/165.36 new_quot1(vyv264, vyv265, vyv266, vyv267, ty_Int) -> new_quot0(new_sr14(vyv264, vyv265), new_sr14(vyv264, vyv265), new_sr14(vyv266, vyv267)) 248.95/165.36 new_quot1(vyv264, vyv265, vyv266, vyv267, ty_Integer) -> new_quot(new_sr8(vyv264, vyv265), new_sr8(vyv264, vyv265), new_sr8(vyv266, vyv267)) 248.95/165.36 new_quot2(vyv266, vyv267, vyv264, vyv265, ty_Int) -> new_quot0(new_sr14(vyv266, vyv267), new_sr14(vyv264, vyv265), new_sr14(vyv266, vyv267)) 248.95/165.36 new_quot2(vyv266, vyv267, vyv264, vyv265, ty_Integer) -> new_quot(new_sr8(vyv266, vyv267), new_sr8(vyv264, vyv265), new_sr8(vyv266, vyv267)) 248.95/165.36 new_sr8(vyv239, vyv238) -> error([]) 248.95/165.36 new_quot(vyv273, vyv275, vyv274) -> error([]) 248.95/165.36 new_sr14(Pos(vyv2390), Neg(vyv2380)) -> Neg(new_primMulNat0(vyv2390, vyv2380)) 248.95/165.36 new_sr14(Neg(vyv2390), Pos(vyv2380)) -> Neg(new_primMulNat0(vyv2390, vyv2380)) 248.95/165.36 new_sr14(Neg(vyv2390), Neg(vyv2380)) -> Pos(new_primMulNat0(vyv2390, vyv2380)) 248.95/165.36 new_sr14(Pos(vyv2390), Pos(vyv2380)) -> Pos(new_primMulNat0(vyv2390, vyv2380)) 248.95/165.36 new_quot0(Neg(vyv2700), vyv272, vyv271) -> new_primQuotInt0(vyv2700, new_gcd(vyv272, vyv271)) 248.95/165.36 new_quot0(Pos(vyv2700), vyv272, vyv271) -> new_primQuotInt(vyv2700, new_gcd(vyv272, vyv271)) 248.95/165.36 new_gcd(vyv272, vyv271) -> new_gcd2(new_esEs(vyv272), vyv272, vyv271) 248.95/165.36 new_primQuotInt(vyv2700, Pos(Succ(vyv28400))) -> Pos(new_primDivNatS1(vyv2700, vyv28400)) 248.95/165.36 new_primQuotInt(vyv2700, Neg(Zero)) -> new_error 248.95/165.36 new_primQuotInt(vyv2700, Pos(Zero)) -> new_error 248.95/165.36 new_primQuotInt(vyv2700, Neg(Succ(vyv28400))) -> Neg(new_primDivNatS1(vyv2700, vyv28400)) 248.95/165.36 new_primDivNatS1(Succ(Succ(vyv270000)), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS0(vyv270000), Zero)) 248.95/165.36 new_primDivNatS1(Succ(Zero), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS1, Zero)) 248.95/165.36 new_primMinusNatS1 -> Zero 248.95/165.36 new_primMinusNatS0(vyv270000) -> Succ(vyv270000) 248.95/165.36 new_error -> error([]) 248.95/165.36 new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) 248.95/165.36 new_esEs(Pos(Succ(vyv24100))) -> new_primEqInt(Pos(Succ(vyv24100))) 248.95/165.36 new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) 248.95/165.36 new_esEs(Neg(Succ(vyv24100))) -> new_primEqInt(Neg(Succ(vyv24100))) 248.95/165.36 new_gcd2(True, vyv272, vyv271) -> new_gcd1(new_esEs(vyv271), vyv272, vyv271) 248.95/165.36 new_gcd2(False, vyv272, vyv271) -> new_gcd0(vyv272, vyv271) 248.95/165.36 new_gcd0(vyv272, vyv271) -> new_gcd0Gcd'10(new_esEs(new_abs(vyv271)), vyv272, vyv271) 248.95/165.36 new_abs(Neg(Zero)) -> Neg(Zero) 248.95/165.36 new_abs(Neg(Succ(vyv27100))) -> Pos(Succ(vyv27100)) 248.95/165.36 new_abs(Pos(Succ(vyv27100))) -> Pos(Succ(vyv27100)) 248.95/165.36 new_abs(Pos(Zero)) -> Pos(Zero) 248.95/165.36 new_gcd0Gcd'10(True, vyv272, vyv271) -> new_abs(vyv272) 248.95/165.36 new_gcd0Gcd'10(False, vyv272, vyv271) -> new_gcd0Gcd'00(new_abs(vyv272), new_abs(vyv271)) 248.95/165.36 new_gcd0Gcd'11(False, vyv291, vyv292) -> new_gcd0Gcd'00(vyv291, new_rem(vyv292, vyv291)) 248.95/165.36 new_gcd0Gcd'00(vyv292, vyv291) -> new_gcd0Gcd'11(new_esEs(new_rem(vyv292, vyv291)), vyv291, vyv292) 248.95/165.36 new_rem(Pos(vyv2920), Neg(Zero)) -> new_error 248.95/165.36 new_rem(Neg(vyv2920), Pos(Zero)) -> new_error 248.95/165.36 new_rem(Pos(vyv2920), Neg(Succ(vyv29100))) -> Pos(new_primModNatS1(vyv2920, vyv29100)) 248.95/165.36 new_rem(Neg(vyv2920), Pos(Succ(vyv29100))) -> Neg(new_primModNatS1(vyv2920, vyv29100)) 248.95/165.36 new_rem(Pos(vyv2920), Pos(Succ(vyv29100))) -> Pos(new_primModNatS1(vyv2920, vyv29100)) 248.95/165.36 new_rem(Neg(vyv2920), Neg(Zero)) -> new_error 248.95/165.36 new_rem(Neg(vyv2920), Neg(Succ(vyv29100))) -> Neg(new_primModNatS1(vyv2920, vyv29100)) 248.95/165.36 new_rem(Pos(vyv2920), Pos(Zero)) -> new_error 248.95/165.36 new_gcd0Gcd'11(True, vyv291, vyv292) -> vyv291 248.95/165.36 new_primModNatS1(Succ(Zero), Succ(vyv291000)) -> Succ(Zero) 248.95/165.36 new_primModNatS1(Zero, vyv29100) -> Zero 248.95/165.36 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 248.95/165.36 new_primModNatS1(Succ(Succ(vyv292000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv292000), Zero) 248.95/165.36 new_primModNatS1(Succ(Succ(vyv292000)), Succ(vyv291000)) -> new_primModNatS01(vyv292000, vyv291000, vyv292000, vyv291000) 248.95/165.36 new_primModNatS01(vyv330, vyv331, Zero, Zero) -> new_primModNatS02(vyv330, vyv331) 248.95/165.36 new_primModNatS02(vyv330, vyv331) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv330), Succ(vyv331)), Succ(vyv331)) 248.95/165.36 new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Zero) -> new_primModNatS02(vyv330, vyv331) 248.95/165.36 new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Succ(vyv3330)) -> new_primModNatS01(vyv330, vyv331, vyv3320, vyv3330) 248.95/165.36 new_primModNatS01(vyv330, vyv331, Zero, Succ(vyv3330)) -> Succ(Succ(vyv330)) 248.95/165.36 new_gcd1(True, vyv272, vyv271) -> new_error 248.95/165.36 new_gcd1(False, vyv272, vyv271) -> new_gcd0(vyv272, vyv271) 248.95/165.36 new_primEqInt(Neg(Succ(vyv242000))) -> False 248.95/165.36 new_primEqInt(Pos(Zero)) -> True 248.95/165.36 new_primEqInt(Pos(Succ(vyv242000))) -> False 248.95/165.36 new_primEqInt(Neg(Zero)) -> True 248.95/165.36 new_primQuotInt0(vyv2700, Pos(Succ(vyv28700))) -> Neg(new_primDivNatS1(vyv2700, vyv28700)) 248.95/165.36 new_primQuotInt0(vyv2700, Neg(Zero)) -> new_error 248.95/165.36 new_primQuotInt0(vyv2700, Neg(Succ(vyv28700))) -> Pos(new_primDivNatS1(vyv2700, vyv28700)) 248.95/165.36 new_primQuotInt0(vyv2700, Pos(Zero)) -> new_error 248.95/165.36 new_primMulNat0(Succ(vyv23900), Zero) -> Zero 248.95/165.36 new_primMulNat0(Zero, Succ(vyv23800)) -> Zero 248.95/165.36 new_primMulNat0(Zero, Zero) -> Zero 248.95/165.36 new_primMulNat0(Succ(vyv23900), Succ(vyv23800)) -> new_primPlusNat0(new_primMulNat0(vyv23900, Succ(vyv23800)), Succ(vyv23800)) 248.95/165.36 new_primPlusNat0(Succ(vyv4000), Succ(vyv5000)) -> Succ(Succ(new_primPlusNat0(vyv4000, vyv5000))) 248.95/165.36 new_primPlusNat0(Zero, Succ(vyv5000)) -> Succ(vyv5000) 248.95/165.36 new_primPlusNat0(Zero, Zero) -> Zero 248.95/165.36 new_primPlusNat0(Succ(vyv4000), Zero) -> Succ(vyv4000) 248.95/165.36 new_sr7(vyv183) -> error([]) 248.95/165.36 new_esEs1(Integer(vyv2690)) -> new_primEqInt(vyv2690) 248.95/165.36 new_sr6(Neg(vyv1830)) -> Pos(new_primMulNat1(vyv1830)) 248.95/165.36 new_sr6(Pos(vyv1830)) -> Pos(new_primMulNat1(vyv1830)) 248.95/165.36 new_primMulNat1(Succ(vyv18300)) -> new_primPlusNat0(new_primMulNat2(vyv18300), Succ(vyv18300)) 248.95/165.36 new_primMulNat1(Zero) -> Zero 248.95/165.36 new_primMulNat2(Succ(vyv183000)) -> new_primPlusNat0(new_primMulNat3(vyv183000), Succ(Succ(vyv183000))) 248.95/165.36 new_primMulNat2(Zero) -> Zero 248.95/165.36 new_primMulNat3(Succ(vyv1830000)) -> new_primPlusNat0(new_primMulNat4(vyv1830000), Succ(Succ(Succ(vyv1830000)))) 248.95/165.36 new_primMulNat3(Zero) -> Zero 248.95/165.36 new_primMulNat4(Succ(vyv18300000)) -> new_primPlusNat0(new_primMulNat0(vyv18300000, Succ(Succ(Succ(Succ(vyv18300000))))), Succ(Succ(Succ(Succ(vyv18300000))))) 248.95/165.36 new_primMulNat4(Zero) -> Zero 248.95/165.36 new_sr9(vyv183) -> error([]) 248.95/165.36 new_sr10(vyv183) -> error([]) 248.95/165.36 new_sr4(vyv239, vyv238, app(ty_Ratio, bf)) -> new_sr12(vyv239, vyv238, bf) 248.95/165.36 new_sr4(vyv239, vyv238, ty_Integer) -> new_sr8(vyv239, vyv238) 248.95/165.36 new_sr4(vyv239, vyv238, ty_Int) -> new_sr14(vyv239, vyv238) 248.95/165.36 new_sr4(vyv239, vyv238, ty_Double) -> new_sr11(vyv239, vyv238) 248.95/165.36 new_sr4(vyv239, vyv238, ty_Float) -> new_sr13(vyv239, vyv238) 248.95/165.36 new_sr13(vyv239, vyv238) -> error([]) 248.95/165.36 new_sr11(vyv239, vyv238) -> error([]) 248.95/165.36 new_sr12(:%(vyv2390, vyv2391), :%(vyv2380, vyv2381), bf) -> new_reduce2Reduce1(vyv2390, vyv2380, vyv2391, vyv2381, new_esEs2(vyv2391, vyv2381, bf), bf) 248.95/165.36 new_esEs2(vyv2391, vyv2381, ty_Int) -> new_esEs(new_sr14(vyv2391, vyv2381)) 248.95/165.36 new_esEs2(vyv2391, vyv2381, ty_Integer) -> new_esEs1(new_sr8(vyv2391, vyv2381)) 248.95/165.36 248.95/165.36 Q is empty. 248.95/165.36 We have to consider all (P,Q,R)-chains. 248.95/165.36 ---------------------------------------- 248.95/165.36 248.95/165.36 (818) InductionCalculusProof (EQUIVALENT) 248.95/165.36 Note that final constraints are written in bold face. 248.95/165.36 248.95/165.36 248.95/165.36 248.95/165.36 For Pair new_pr2F30(False, z0, z1, Pos(Succ(Zero)), z2, z3) -> new_pr2F0(z0, Neg(Succ(Succ(new_primPlusNat0(z1, Zero)))), new_sr4(z0, z2, z3), z3) the following chains were created: 248.95/165.36 *We consider the chain new_pr2F30(False, x4, x5, Pos(Succ(Zero)), x6, x7) -> new_pr2F0(x4, Neg(Succ(Succ(new_primPlusNat0(x5, Zero)))), new_sr4(x4, x6, x7), x7), new_pr2F0(x8, Neg(Succ(Succ(x9))), x10, x11) -> new_pr2F0G10(x10, x8, Succ(x9), x9, x11) which results in the following constraint: 248.95/165.36 248.95/165.36 (1) (new_pr2F0(x4, Neg(Succ(Succ(new_primPlusNat0(x5, Zero)))), new_sr4(x4, x6, x7), x7)=new_pr2F0(x8, Neg(Succ(Succ(x9))), x10, x11) ==> new_pr2F30(False, x4, x5, Pos(Succ(Zero)), x6, x7)_>=_new_pr2F0(x4, Neg(Succ(Succ(new_primPlusNat0(x5, Zero)))), new_sr4(x4, x6, x7), x7)) 248.95/165.36 248.95/165.36 248.95/165.36 248.95/165.36 We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: 248.95/165.36 248.95/165.36 (2) (new_pr2F30(False, x4, x5, Pos(Succ(Zero)), x6, x7)_>=_new_pr2F0(x4, Neg(Succ(Succ(new_primPlusNat0(x5, Zero)))), new_sr4(x4, x6, x7), x7)) 248.95/165.36 248.95/165.36 248.95/165.36 248.95/165.36 248.95/165.36 248.95/165.36 248.95/165.36 248.95/165.36 248.95/165.36 For Pair new_pr2F0(vyv183, Neg(Succ(Succ(vyv222000))), vyv187, h) -> new_pr2F0G10(vyv187, vyv183, Succ(vyv222000), vyv222000, h) the following chains were created: 248.95/165.36 *We consider the chain new_pr2F0(x48, Neg(Succ(Succ(x49))), x50, x51) -> new_pr2F0G10(x50, x48, Succ(x49), x49, x51), new_pr2F0G10(x52, x53, x54, Succ(Succ(x55)), x56) -> new_pr2F0G10(x52, x53, x54, x55, x56) which results in the following constraint: 248.95/165.36 248.95/165.36 (1) (new_pr2F0G10(x50, x48, Succ(x49), x49, x51)=new_pr2F0G10(x52, x53, x54, Succ(Succ(x55)), x56) ==> new_pr2F0(x48, Neg(Succ(Succ(x49))), x50, x51)_>=_new_pr2F0G10(x50, x48, Succ(x49), x49, x51)) 248.95/165.36 248.95/165.36 248.95/165.36 248.95/165.36 We simplified constraint (1) using rules (I), (II), (III), (IV) which results in the following new constraint: 248.95/165.36 248.95/165.36 (2) (new_pr2F0(x48, Neg(Succ(Succ(Succ(Succ(x55))))), x50, x51)_>=_new_pr2F0G10(x50, x48, Succ(Succ(Succ(x55))), Succ(Succ(x55)), x51)) 248.95/165.36 248.95/165.36 248.95/165.36 248.95/165.36 248.95/165.36 *We consider the chain new_pr2F0(x57, Neg(Succ(Succ(x58))), x59, x60) -> new_pr2F0G10(x59, x57, Succ(x58), x58, x60), new_pr2F0G10(x61, x62, x63, Succ(Zero), x64) -> new_pr2F0G11(x61, x62, x63, x64) which results in the following constraint: 248.95/165.36 248.95/165.36 (1) (new_pr2F0G10(x59, x57, Succ(x58), x58, x60)=new_pr2F0G10(x61, x62, x63, Succ(Zero), x64) ==> new_pr2F0(x57, Neg(Succ(Succ(x58))), x59, x60)_>=_new_pr2F0G10(x59, x57, Succ(x58), x58, x60)) 248.95/165.36 248.95/165.36 248.95/165.36 248.95/165.36 We simplified constraint (1) using rules (I), (II), (III), (IV) which results in the following new constraint: 248.95/165.36 248.95/165.36 (2) (new_pr2F0(x57, Neg(Succ(Succ(Succ(Zero)))), x59, x60)_>=_new_pr2F0G10(x59, x57, Succ(Succ(Zero)), Succ(Zero), x60)) 248.95/165.36 248.95/165.36 248.95/165.36 248.95/165.36 248.95/165.36 *We consider the chain new_pr2F0(x73, Neg(Succ(Succ(x74))), x75, x76) -> new_pr2F0G10(x75, x73, Succ(x74), x74, x76), new_pr2F0G10(x77, x78, x79, Zero, x80) -> new_pr2F0G(x77, new_sr3(x78, x80), Neg(new_primDivNatS1(Succ(x79), Succ(Zero))), x80) which results in the following constraint: 248.95/165.36 248.95/165.36 (1) (new_pr2F0G10(x75, x73, Succ(x74), x74, x76)=new_pr2F0G10(x77, x78, x79, Zero, x80) ==> new_pr2F0(x73, Neg(Succ(Succ(x74))), x75, x76)_>=_new_pr2F0G10(x75, x73, Succ(x74), x74, x76)) 248.95/165.36 248.95/165.36 248.95/165.36 248.95/165.36 We simplified constraint (1) using rules (I), (II), (III), (IV) which results in the following new constraint: 248.95/165.36 248.95/165.36 (2) (new_pr2F0(x73, Neg(Succ(Succ(Zero))), x75, x76)_>=_new_pr2F0G10(x75, x73, Succ(Zero), Zero, x76)) 248.95/165.36 248.95/165.36 248.95/165.36 248.95/165.36 248.95/165.36 248.95/165.36 248.95/165.36 248.95/165.36 248.95/165.36 For Pair new_pr2F0G10(vyv248, vyv249, vyv250, Succ(Succ(vyv25100)), bb) -> new_pr2F0G10(vyv248, vyv249, vyv250, vyv25100, bb) the following chains were created: 248.95/165.36 *We consider the chain new_pr2F0G10(x99, x100, x101, Succ(Succ(x102)), x103) -> new_pr2F0G10(x99, x100, x101, x102, x103), new_pr2F0G10(x104, x105, x106, Succ(Succ(x107)), x108) -> new_pr2F0G10(x104, x105, x106, x107, x108) which results in the following constraint: 248.95/165.36 248.95/165.36 (1) (new_pr2F0G10(x99, x100, x101, x102, x103)=new_pr2F0G10(x104, x105, x106, Succ(Succ(x107)), x108) ==> new_pr2F0G10(x99, x100, x101, Succ(Succ(x102)), x103)_>=_new_pr2F0G10(x99, x100, x101, x102, x103)) 248.95/165.36 248.95/165.36 248.95/165.36 248.95/165.36 We simplified constraint (1) using rules (I), (II), (III), (IV) which results in the following new constraint: 248.95/165.36 248.95/165.36 (2) (new_pr2F0G10(x99, x100, x101, Succ(Succ(Succ(Succ(x107)))), x103)_>=_new_pr2F0G10(x99, x100, x101, Succ(Succ(x107)), x103)) 248.95/165.36 248.95/165.36 248.95/165.36 248.95/165.36 248.95/165.36 *We consider the chain new_pr2F0G10(x109, x110, x111, Succ(Succ(x112)), x113) -> new_pr2F0G10(x109, x110, x111, x112, x113), new_pr2F0G10(x114, x115, x116, Succ(Zero), x117) -> new_pr2F0G11(x114, x115, x116, x117) which results in the following constraint: 248.95/165.36 248.95/165.36 (1) (new_pr2F0G10(x109, x110, x111, x112, x113)=new_pr2F0G10(x114, x115, x116, Succ(Zero), x117) ==> new_pr2F0G10(x109, x110, x111, Succ(Succ(x112)), x113)_>=_new_pr2F0G10(x109, x110, x111, x112, x113)) 248.95/165.36 248.95/165.36 248.95/165.36 248.95/165.36 We simplified constraint (1) using rules (I), (II), (III), (IV) which results in the following new constraint: 248.95/165.36 248.95/165.36 (2) (new_pr2F0G10(x109, x110, x111, Succ(Succ(Succ(Zero))), x113)_>=_new_pr2F0G10(x109, x110, x111, Succ(Zero), x113)) 248.95/165.36 248.95/165.36 248.95/165.36 248.95/165.36 248.95/165.36 *We consider the chain new_pr2F0G10(x128, x129, x130, Succ(Succ(x131)), x132) -> new_pr2F0G10(x128, x129, x130, x131, x132), new_pr2F0G10(x133, x134, x135, Zero, x136) -> new_pr2F0G(x133, new_sr3(x134, x136), Neg(new_primDivNatS1(Succ(x135), Succ(Zero))), x136) which results in the following constraint: 248.95/165.36 248.95/165.36 (1) (new_pr2F0G10(x128, x129, x130, x131, x132)=new_pr2F0G10(x133, x134, x135, Zero, x136) ==> new_pr2F0G10(x128, x129, x130, Succ(Succ(x131)), x132)_>=_new_pr2F0G10(x128, x129, x130, x131, x132)) 248.95/165.36 248.95/165.36 248.95/165.36 248.95/165.36 We simplified constraint (1) using rules (I), (II), (III), (IV) which results in the following new constraint: 248.95/165.36 248.95/165.36 (2) (new_pr2F0G10(x128, x129, x130, Succ(Succ(Zero)), x132)_>=_new_pr2F0G10(x128, x129, x130, Zero, x132)) 248.95/165.36 248.95/165.36 248.95/165.36 248.95/165.36 248.95/165.36 248.95/165.36 248.95/165.36 248.95/165.36 248.95/165.36 For Pair new_pr2F0G10(vyv248, vyv249, vyv250, Succ(Zero), bb) -> new_pr2F0G11(vyv248, vyv249, vyv250, bb) the following chains were created: 248.95/165.36 *We consider the chain new_pr2F0G10(x163, x164, x165, Succ(Zero), x166) -> new_pr2F0G11(x163, x164, x165, x166), new_pr2F0G11(x167, x168, x169, x170) -> new_pr2F1(x168, x169, Pos(Succ(Zero)), x167, x170) which results in the following constraint: 248.95/165.36 248.95/165.36 (1) (new_pr2F0G11(x163, x164, x165, x166)=new_pr2F0G11(x167, x168, x169, x170) ==> new_pr2F0G10(x163, x164, x165, Succ(Zero), x166)_>=_new_pr2F0G11(x163, x164, x165, x166)) 248.95/165.36 248.95/165.36 248.95/165.36 248.95/165.36 We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: 248.95/165.36 248.95/165.36 (2) (new_pr2F0G10(x163, x164, x165, Succ(Zero), x166)_>=_new_pr2F0G11(x163, x164, x165, x166)) 248.95/165.36 248.95/165.36 248.95/165.36 248.95/165.36 248.95/165.36 248.95/165.36 248.95/165.36 248.95/165.36 248.95/165.36 For Pair new_pr2F0G11(vyv238, vyv239, vyv240, bc) -> new_pr2F1(vyv239, vyv240, Pos(Succ(Zero)), vyv238, bc) the following chains were created: 248.95/165.36 *We consider the chain new_pr2F0G11(x207, x208, x209, x210) -> new_pr2F1(x208, x209, Pos(Succ(Zero)), x207, x210), new_pr2F1(x211, x212, Pos(Succ(Zero)), x213, x214) -> new_pr2F30(False, x211, x212, Pos(Succ(Zero)), x213, x214) which results in the following constraint: 248.95/165.36 248.95/165.36 (1) (new_pr2F1(x208, x209, Pos(Succ(Zero)), x207, x210)=new_pr2F1(x211, x212, Pos(Succ(Zero)), x213, x214) ==> new_pr2F0G11(x207, x208, x209, x210)_>=_new_pr2F1(x208, x209, Pos(Succ(Zero)), x207, x210)) 248.95/165.36 248.95/165.36 248.95/165.36 248.95/165.36 We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: 248.95/165.36 248.95/165.36 (2) (new_pr2F0G11(x207, x208, x209, x210)_>=_new_pr2F1(x208, x209, Pos(Succ(Zero)), x207, x210)) 248.95/165.36 248.95/165.36 248.95/165.36 248.95/165.36 248.95/165.36 248.95/165.36 248.95/165.36 248.95/165.36 248.95/165.36 For Pair new_pr2F1(z1, z2, Pos(Succ(Zero)), z0, z3) -> new_pr2F30(False, z1, z2, Pos(Succ(Zero)), z0, z3) the following chains were created: 248.95/165.36 *We consider the chain new_pr2F1(x227, x228, Pos(Succ(Zero)), x229, x230) -> new_pr2F30(False, x227, x228, Pos(Succ(Zero)), x229, x230), new_pr2F30(False, x231, x232, Pos(Succ(Zero)), x233, x234) -> new_pr2F0(x231, Neg(Succ(Succ(new_primPlusNat0(x232, Zero)))), new_sr4(x231, x233, x234), x234) which results in the following constraint: 248.95/165.36 248.95/165.36 (1) (new_pr2F30(False, x227, x228, Pos(Succ(Zero)), x229, x230)=new_pr2F30(False, x231, x232, Pos(Succ(Zero)), x233, x234) ==> new_pr2F1(x227, x228, Pos(Succ(Zero)), x229, x230)_>=_new_pr2F30(False, x227, x228, Pos(Succ(Zero)), x229, x230)) 248.95/165.36 248.95/165.36 248.95/165.36 248.95/165.36 We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: 248.95/165.36 248.95/165.36 (2) (new_pr2F1(x227, x228, Pos(Succ(Zero)), x229, x230)_>=_new_pr2F30(False, x227, x228, Pos(Succ(Zero)), x229, x230)) 248.95/165.36 248.95/165.36 248.95/165.36 248.95/165.36 248.95/165.36 248.95/165.36 248.95/165.36 248.95/165.36 248.95/165.36 For Pair new_pr2F0G10(vyv248, vyv249, vyv250, Zero, bb) -> new_pr2F0G(vyv248, new_sr3(vyv249, bb), Neg(new_primDivNatS1(Succ(vyv250), Succ(Zero))), bb) the following chains were created: 248.95/165.36 *We consider the chain new_pr2F0G10(x295, x296, x297, Zero, x298) -> new_pr2F0G(x295, new_sr3(x296, x298), Neg(new_primDivNatS1(Succ(x297), Succ(Zero))), x298), new_pr2F0G(x299, x300, Neg(Succ(Zero)), x301) -> new_pr2F0G11(x299, x300, Zero, x301) which results in the following constraint: 248.95/165.36 248.95/165.36 (1) (new_pr2F0G(x295, new_sr3(x296, x298), Neg(new_primDivNatS1(Succ(x297), Succ(Zero))), x298)=new_pr2F0G(x299, x300, Neg(Succ(Zero)), x301) ==> new_pr2F0G10(x295, x296, x297, Zero, x298)_>=_new_pr2F0G(x295, new_sr3(x296, x298), Neg(new_primDivNatS1(Succ(x297), Succ(Zero))), x298)) 248.95/165.36 248.95/165.36 248.95/165.36 248.95/165.36 We simplified constraint (1) using rules (I), (II), (IV), (VII) which results in the following new constraint: 248.95/165.36 248.95/165.36 (2) (Succ(x297)=x390 & Succ(Zero)=x391 & new_primDivNatS1(x390, x391)=Succ(Zero) ==> new_pr2F0G10(x295, x296, x297, Zero, x298)_>=_new_pr2F0G(x295, new_sr3(x296, x298), Neg(new_primDivNatS1(Succ(x297), Succ(Zero))), x298)) 248.95/165.36 248.95/165.36 248.95/165.36 248.95/165.36 We simplified constraint (2) using rule (V) (with possible (I) afterwards) using induction on new_primDivNatS1(x390, x391)=Succ(Zero) which results in the following new constraints: 248.95/165.36 248.95/165.36 (3) (new_primDivNatS02(x394, x393, x394, x393)=Succ(Zero) & Succ(x297)=Succ(Succ(x394)) & Succ(Zero)=Succ(x393) ==> new_pr2F0G10(x295, x296, x297, Zero, x298)_>=_new_pr2F0G(x295, new_sr3(x296, x298), Neg(new_primDivNatS1(Succ(x297), Succ(Zero))), x298)) 248.95/165.36 248.95/165.36 (4) (Succ(new_primDivNatS1(new_primMinusNatS0(x396), Zero))=Succ(Zero) & Succ(x297)=Succ(Succ(x396)) & Succ(Zero)=Zero ==> new_pr2F0G10(x295, x296, x297, Zero, x298)_>=_new_pr2F0G(x295, new_sr3(x296, x298), Neg(new_primDivNatS1(Succ(x297), Succ(Zero))), x298)) 248.95/165.36 248.95/165.36 (5) (Succ(new_primDivNatS1(new_primMinusNatS1, Zero))=Succ(Zero) & Succ(x297)=Succ(Zero) & Succ(Zero)=Zero ==> new_pr2F0G10(x295, x296, x297, Zero, x298)_>=_new_pr2F0G(x295, new_sr3(x296, x298), Neg(new_primDivNatS1(Succ(x297), Succ(Zero))), x298)) 248.95/165.36 248.95/165.36 248.95/165.36 248.95/165.36 We simplified constraint (3) using rules (I), (II), (III), (VII) which results in the following new constraint: 248.95/165.36 248.95/165.36 (6) (x394=x397 & x393=x398 & new_primDivNatS02(x394, x393, x397, x398)=Succ(Zero) & Zero=x393 ==> new_pr2F0G10(x295, x296, Succ(x394), Zero, x298)_>=_new_pr2F0G(x295, new_sr3(x296, x298), Neg(new_primDivNatS1(Succ(Succ(x394)), Succ(Zero))), x298)) 248.95/165.36 248.95/165.36 248.95/165.36 248.95/165.36 We solved constraint (4) using rules (I), (II).We solved constraint (5) using rules (I), (II).We simplified constraint (6) using rule (V) (with possible (I) afterwards) using induction on new_primDivNatS02(x394, x393, x397, x398)=Succ(Zero) which results in the following new constraints: 248.95/165.36 248.95/165.36 (7) (new_primDivNatS01(x400, x399)=Succ(Zero) & x400=Zero & x399=Zero & Zero=x399 ==> new_pr2F0G10(x295, x296, Succ(x400), Zero, x298)_>=_new_pr2F0G(x295, new_sr3(x296, x298), Neg(new_primDivNatS1(Succ(Succ(x400)), Succ(Zero))), x298)) 248.95/165.36 248.95/165.36 (8) (new_primDivNatS01(x403, x402)=Succ(Zero) & x403=Succ(x401) & x402=Zero & Zero=x402 ==> new_pr2F0G10(x295, x296, Succ(x403), Zero, x298)_>=_new_pr2F0G(x295, new_sr3(x296, x298), Neg(new_primDivNatS1(Succ(Succ(x403)), Succ(Zero))), x298)) 248.95/165.36 248.95/165.36 (9) (new_primDivNatS02(x410, x409, x408, x407)=Succ(Zero) & x410=Succ(x408) & x409=Succ(x407) & Zero=x409 & (\/x411,x412,x413:new_primDivNatS02(x410, x409, x408, x407)=Succ(Zero) & x410=x408 & x409=x407 & Zero=x409 ==> new_pr2F0G10(x411, x412, Succ(x410), Zero, x413)_>=_new_pr2F0G(x411, new_sr3(x412, x413), Neg(new_primDivNatS1(Succ(Succ(x410)), Succ(Zero))), x413)) ==> new_pr2F0G10(x295, x296, Succ(x410), Zero, x298)_>=_new_pr2F0G(x295, new_sr3(x296, x298), Neg(new_primDivNatS1(Succ(Succ(x410)), Succ(Zero))), x298)) 248.95/165.36 248.95/165.36 248.95/165.36 248.95/165.36 We simplified constraint (7) using rules (I), (II), (III), (IV), (VII) which results in the following new constraint: 248.95/165.36 248.95/165.36 (10) (new_pr2F0G10(x295, x296, Succ(Zero), Zero, x298)_>=_new_pr2F0G(x295, new_sr3(x296, x298), Neg(new_primDivNatS1(Succ(Succ(Zero)), Succ(Zero))), x298)) 248.95/165.36 248.95/165.36 248.95/165.36 248.95/165.36 We simplified constraint (8) using rules (I), (II), (III), (IV), (VII) which results in the following new constraint: 248.95/165.36 248.95/165.36 (11) (new_pr2F0G10(x295, x296, Succ(Succ(x401)), Zero, x298)_>=_new_pr2F0G(x295, new_sr3(x296, x298), Neg(new_primDivNatS1(Succ(Succ(Succ(x401))), Succ(Zero))), x298)) 248.95/165.36 248.95/165.36 248.95/165.36 248.95/165.36 We solved constraint (9) using rules (I), (II), (III). 248.95/165.36 *We consider the chain new_pr2F0G10(x302, x303, x304, Zero, x305) -> new_pr2F0G(x302, new_sr3(x303, x305), Neg(new_primDivNatS1(Succ(x304), Succ(Zero))), x305), new_pr2F0G(x306, x307, Neg(Succ(Succ(x308))), x309) -> new_pr2F0G10(x306, x307, Succ(x308), x308, x309) which results in the following constraint: 248.95/165.36 248.95/165.36 (1) (new_pr2F0G(x302, new_sr3(x303, x305), Neg(new_primDivNatS1(Succ(x304), Succ(Zero))), x305)=new_pr2F0G(x306, x307, Neg(Succ(Succ(x308))), x309) ==> new_pr2F0G10(x302, x303, x304, Zero, x305)_>=_new_pr2F0G(x302, new_sr3(x303, x305), Neg(new_primDivNatS1(Succ(x304), Succ(Zero))), x305)) 248.95/165.36 248.95/165.36 248.95/165.36 248.95/165.36 We simplified constraint (1) using rules (I), (II), (IV), (VII) which results in the following new constraint: 248.95/165.36 248.95/165.36 (2) (Succ(x304)=x418 & Succ(Zero)=x419 & new_primDivNatS1(x418, x419)=Succ(Succ(x308)) ==> new_pr2F0G10(x302, x303, x304, Zero, x305)_>=_new_pr2F0G(x302, new_sr3(x303, x305), Neg(new_primDivNatS1(Succ(x304), Succ(Zero))), x305)) 248.95/165.36 248.95/165.36 248.95/165.36 248.95/165.36 We simplified constraint (2) using rule (V) (with possible (I) afterwards) using induction on new_primDivNatS1(x418, x419)=Succ(Succ(x308)) which results in the following new constraints: 248.95/165.36 248.95/165.36 (3) (new_primDivNatS02(x422, x421, x422, x421)=Succ(Succ(x308)) & Succ(x304)=Succ(Succ(x422)) & Succ(Zero)=Succ(x421) ==> new_pr2F0G10(x302, x303, x304, Zero, x305)_>=_new_pr2F0G(x302, new_sr3(x303, x305), Neg(new_primDivNatS1(Succ(x304), Succ(Zero))), x305)) 248.95/165.36 248.95/165.36 (4) (Succ(new_primDivNatS1(new_primMinusNatS0(x424), Zero))=Succ(Succ(x308)) & Succ(x304)=Succ(Succ(x424)) & Succ(Zero)=Zero ==> new_pr2F0G10(x302, x303, x304, Zero, x305)_>=_new_pr2F0G(x302, new_sr3(x303, x305), Neg(new_primDivNatS1(Succ(x304), Succ(Zero))), x305)) 248.95/165.36 248.95/165.36 (5) (Succ(new_primDivNatS1(new_primMinusNatS1, Zero))=Succ(Succ(x308)) & Succ(x304)=Succ(Zero) & Succ(Zero)=Zero ==> new_pr2F0G10(x302, x303, x304, Zero, x305)_>=_new_pr2F0G(x302, new_sr3(x303, x305), Neg(new_primDivNatS1(Succ(x304), Succ(Zero))), x305)) 248.95/165.36 248.95/165.36 248.95/165.36 248.95/165.36 We simplified constraint (3) using rules (I), (II), (III), (VII) which results in the following new constraint: 248.95/165.36 248.95/165.36 (6) (x422=x425 & x421=x426 & new_primDivNatS02(x422, x421, x425, x426)=Succ(Succ(x308)) & Zero=x421 ==> new_pr2F0G10(x302, x303, Succ(x422), Zero, x305)_>=_new_pr2F0G(x302, new_sr3(x303, x305), Neg(new_primDivNatS1(Succ(Succ(x422)), Succ(Zero))), x305)) 248.95/165.36 248.95/165.36 248.95/165.36 248.95/165.36 We solved constraint (4) using rules (I), (II).We solved constraint (5) using rules (I), (II).We simplified constraint (6) using rule (V) (with possible (I) afterwards) using induction on new_primDivNatS02(x422, x421, x425, x426)=Succ(Succ(x308)) which results in the following new constraints: 248.95/165.36 248.95/165.36 (7) (new_primDivNatS01(x428, x427)=Succ(Succ(x308)) & x428=Zero & x427=Zero & Zero=x427 ==> new_pr2F0G10(x302, x303, Succ(x428), Zero, x305)_>=_new_pr2F0G(x302, new_sr3(x303, x305), Neg(new_primDivNatS1(Succ(Succ(x428)), Succ(Zero))), x305)) 248.95/165.36 248.95/165.36 (8) (new_primDivNatS01(x431, x430)=Succ(Succ(x308)) & x431=Succ(x429) & x430=Zero & Zero=x430 ==> new_pr2F0G10(x302, x303, Succ(x431), Zero, x305)_>=_new_pr2F0G(x302, new_sr3(x303, x305), Neg(new_primDivNatS1(Succ(Succ(x431)), Succ(Zero))), x305)) 248.95/165.36 248.95/165.36 (9) (new_primDivNatS02(x438, x437, x436, x435)=Succ(Succ(x308)) & x438=Succ(x436) & x437=Succ(x435) & Zero=x437 & (\/x439,x440,x441,x442:new_primDivNatS02(x438, x437, x436, x435)=Succ(Succ(x439)) & x438=x436 & x437=x435 & Zero=x437 ==> new_pr2F0G10(x440, x441, Succ(x438), Zero, x442)_>=_new_pr2F0G(x440, new_sr3(x441, x442), Neg(new_primDivNatS1(Succ(Succ(x438)), Succ(Zero))), x442)) ==> new_pr2F0G10(x302, x303, Succ(x438), Zero, x305)_>=_new_pr2F0G(x302, new_sr3(x303, x305), Neg(new_primDivNatS1(Succ(Succ(x438)), Succ(Zero))), x305)) 248.95/165.36 248.95/165.36 248.95/165.36 248.95/165.36 We simplified constraint (7) using rules (I), (II), (III), (IV), (VII) which results in the following new constraint: 248.95/165.36 248.95/165.36 (10) (new_pr2F0G10(x302, x303, Succ(Zero), Zero, x305)_>=_new_pr2F0G(x302, new_sr3(x303, x305), Neg(new_primDivNatS1(Succ(Succ(Zero)), Succ(Zero))), x305)) 248.95/165.36 248.95/165.36 248.95/165.36 248.95/165.36 We simplified constraint (8) using rules (I), (II), (III), (IV), (VII) which results in the following new constraint: 248.95/165.36 248.95/165.36 (11) (new_pr2F0G10(x302, x303, Succ(Succ(x429)), Zero, x305)_>=_new_pr2F0G(x302, new_sr3(x303, x305), Neg(new_primDivNatS1(Succ(Succ(Succ(x429))), Succ(Zero))), x305)) 248.95/165.36 248.95/165.36 248.95/165.36 248.95/165.36 We solved constraint (9) using rules (I), (II), (III). 248.95/165.36 248.95/165.36 248.95/165.36 248.95/165.36 248.95/165.36 For Pair new_pr2F0G(vyv187, vyv183, Neg(Succ(Zero)), h) -> new_pr2F0G11(vyv187, vyv183, Zero, h) the following chains were created: 248.95/165.36 *We consider the chain new_pr2F0G(x322, x323, Neg(Succ(Zero)), x324) -> new_pr2F0G11(x322, x323, Zero, x324), new_pr2F0G11(x325, x326, x327, x328) -> new_pr2F1(x326, x327, Pos(Succ(Zero)), x325, x328) which results in the following constraint: 248.95/165.36 248.95/165.36 (1) (new_pr2F0G11(x322, x323, Zero, x324)=new_pr2F0G11(x325, x326, x327, x328) ==> new_pr2F0G(x322, x323, Neg(Succ(Zero)), x324)_>=_new_pr2F0G11(x322, x323, Zero, x324)) 248.95/165.36 248.95/165.36 248.95/165.36 248.95/165.36 We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: 248.95/165.36 248.95/165.36 (2) (new_pr2F0G(x322, x323, Neg(Succ(Zero)), x324)_>=_new_pr2F0G11(x322, x323, Zero, x324)) 248.95/165.36 248.95/165.36 248.95/165.36 248.95/165.36 248.95/165.36 248.95/165.36 248.95/165.36 248.95/165.36 248.95/165.36 For Pair new_pr2F0G(vyv187, vyv183, Neg(Succ(Succ(vyv222000))), h) -> new_pr2F0G10(vyv187, vyv183, Succ(vyv222000), vyv222000, h) the following chains were created: 248.95/165.36 *We consider the chain new_pr2F0G(x349, x350, Neg(Succ(Succ(x351))), x352) -> new_pr2F0G10(x349, x350, Succ(x351), x351, x352), new_pr2F0G10(x353, x354, x355, Succ(Succ(x356)), x357) -> new_pr2F0G10(x353, x354, x355, x356, x357) which results in the following constraint: 248.95/165.36 248.95/165.36 (1) (new_pr2F0G10(x349, x350, Succ(x351), x351, x352)=new_pr2F0G10(x353, x354, x355, Succ(Succ(x356)), x357) ==> new_pr2F0G(x349, x350, Neg(Succ(Succ(x351))), x352)_>=_new_pr2F0G10(x349, x350, Succ(x351), x351, x352)) 248.95/165.36 248.95/165.36 248.95/165.36 248.95/165.36 We simplified constraint (1) using rules (I), (II), (III), (IV) which results in the following new constraint: 248.95/165.36 248.95/165.36 (2) (new_pr2F0G(x349, x350, Neg(Succ(Succ(Succ(Succ(x356))))), x352)_>=_new_pr2F0G10(x349, x350, Succ(Succ(Succ(x356))), Succ(Succ(x356)), x352)) 248.95/165.36 248.95/165.36 248.95/165.36 248.95/165.36 248.95/165.36 *We consider the chain new_pr2F0G(x358, x359, Neg(Succ(Succ(x360))), x361) -> new_pr2F0G10(x358, x359, Succ(x360), x360, x361), new_pr2F0G10(x362, x363, x364, Succ(Zero), x365) -> new_pr2F0G11(x362, x363, x364, x365) which results in the following constraint: 248.95/165.36 248.95/165.36 (1) (new_pr2F0G10(x358, x359, Succ(x360), x360, x361)=new_pr2F0G10(x362, x363, x364, Succ(Zero), x365) ==> new_pr2F0G(x358, x359, Neg(Succ(Succ(x360))), x361)_>=_new_pr2F0G10(x358, x359, Succ(x360), x360, x361)) 248.95/165.36 248.95/165.36 248.95/165.36 248.95/165.36 We simplified constraint (1) using rules (I), (II), (III), (IV) which results in the following new constraint: 248.95/165.36 248.95/165.36 (2) (new_pr2F0G(x358, x359, Neg(Succ(Succ(Succ(Zero)))), x361)_>=_new_pr2F0G10(x358, x359, Succ(Succ(Zero)), Succ(Zero), x361)) 248.95/165.36 248.95/165.36 248.95/165.36 248.95/165.36 248.95/165.36 *We consider the chain new_pr2F0G(x374, x375, Neg(Succ(Succ(x376))), x377) -> new_pr2F0G10(x374, x375, Succ(x376), x376, x377), new_pr2F0G10(x378, x379, x380, Zero, x381) -> new_pr2F0G(x378, new_sr3(x379, x381), Neg(new_primDivNatS1(Succ(x380), Succ(Zero))), x381) which results in the following constraint: 248.95/165.36 248.95/165.36 (1) (new_pr2F0G10(x374, x375, Succ(x376), x376, x377)=new_pr2F0G10(x378, x379, x380, Zero, x381) ==> new_pr2F0G(x374, x375, Neg(Succ(Succ(x376))), x377)_>=_new_pr2F0G10(x374, x375, Succ(x376), x376, x377)) 248.95/165.36 248.95/165.36 248.95/165.36 248.95/165.36 We simplified constraint (1) using rules (I), (II), (III), (IV) which results in the following new constraint: 248.95/165.36 248.95/165.36 (2) (new_pr2F0G(x374, x375, Neg(Succ(Succ(Zero))), x377)_>=_new_pr2F0G10(x374, x375, Succ(Zero), Zero, x377)) 248.95/165.36 248.95/165.36 248.95/165.36 248.95/165.36 248.95/165.36 248.95/165.36 248.95/165.36 248.95/165.36 248.95/165.36 To summarize, we get the following constraints P__>=_ for the following pairs. 248.95/165.36 248.95/165.36 *new_pr2F30(False, z0, z1, Pos(Succ(Zero)), z2, z3) -> new_pr2F0(z0, Neg(Succ(Succ(new_primPlusNat0(z1, Zero)))), new_sr4(z0, z2, z3), z3) 248.95/165.36 248.95/165.36 *(new_pr2F30(False, x4, x5, Pos(Succ(Zero)), x6, x7)_>=_new_pr2F0(x4, Neg(Succ(Succ(new_primPlusNat0(x5, Zero)))), new_sr4(x4, x6, x7), x7)) 248.95/165.36 248.95/165.36 248.95/165.36 248.95/165.36 248.95/165.36 *new_pr2F0(vyv183, Neg(Succ(Succ(vyv222000))), vyv187, h) -> new_pr2F0G10(vyv187, vyv183, Succ(vyv222000), vyv222000, h) 248.95/165.36 248.95/165.36 *(new_pr2F0(x48, Neg(Succ(Succ(Succ(Succ(x55))))), x50, x51)_>=_new_pr2F0G10(x50, x48, Succ(Succ(Succ(x55))), Succ(Succ(x55)), x51)) 248.95/165.36 248.95/165.36 248.95/165.36 *(new_pr2F0(x57, Neg(Succ(Succ(Succ(Zero)))), x59, x60)_>=_new_pr2F0G10(x59, x57, Succ(Succ(Zero)), Succ(Zero), x60)) 248.95/165.36 248.95/165.36 248.95/165.36 *(new_pr2F0(x73, Neg(Succ(Succ(Zero))), x75, x76)_>=_new_pr2F0G10(x75, x73, Succ(Zero), Zero, x76)) 248.95/165.36 248.95/165.36 248.95/165.36 248.95/165.36 248.95/165.36 *new_pr2F0G10(vyv248, vyv249, vyv250, Succ(Succ(vyv25100)), bb) -> new_pr2F0G10(vyv248, vyv249, vyv250, vyv25100, bb) 248.95/165.36 248.95/165.36 *(new_pr2F0G10(x99, x100, x101, Succ(Succ(Succ(Succ(x107)))), x103)_>=_new_pr2F0G10(x99, x100, x101, Succ(Succ(x107)), x103)) 248.95/165.36 248.95/165.36 248.95/165.36 *(new_pr2F0G10(x109, x110, x111, Succ(Succ(Succ(Zero))), x113)_>=_new_pr2F0G10(x109, x110, x111, Succ(Zero), x113)) 248.95/165.36 248.95/165.36 248.95/165.36 *(new_pr2F0G10(x128, x129, x130, Succ(Succ(Zero)), x132)_>=_new_pr2F0G10(x128, x129, x130, Zero, x132)) 248.95/165.36 248.95/165.36 248.95/165.36 248.95/165.36 248.95/165.36 *new_pr2F0G10(vyv248, vyv249, vyv250, Succ(Zero), bb) -> new_pr2F0G11(vyv248, vyv249, vyv250, bb) 248.95/165.36 248.95/165.36 *(new_pr2F0G10(x163, x164, x165, Succ(Zero), x166)_>=_new_pr2F0G11(x163, x164, x165, x166)) 248.95/165.36 248.95/165.36 248.95/165.36 248.95/165.36 248.95/165.36 *new_pr2F0G11(vyv238, vyv239, vyv240, bc) -> new_pr2F1(vyv239, vyv240, Pos(Succ(Zero)), vyv238, bc) 248.95/165.36 248.95/165.36 *(new_pr2F0G11(x207, x208, x209, x210)_>=_new_pr2F1(x208, x209, Pos(Succ(Zero)), x207, x210)) 248.95/165.36 248.95/165.36 248.95/165.36 248.95/165.36 248.95/165.36 *new_pr2F1(z1, z2, Pos(Succ(Zero)), z0, z3) -> new_pr2F30(False, z1, z2, Pos(Succ(Zero)), z0, z3) 248.95/165.36 248.95/165.36 *(new_pr2F1(x227, x228, Pos(Succ(Zero)), x229, x230)_>=_new_pr2F30(False, x227, x228, Pos(Succ(Zero)), x229, x230)) 248.95/165.36 248.95/165.36 248.95/165.36 248.95/165.36 248.95/165.36 *new_pr2F0G10(vyv248, vyv249, vyv250, Zero, bb) -> new_pr2F0G(vyv248, new_sr3(vyv249, bb), Neg(new_primDivNatS1(Succ(vyv250), Succ(Zero))), bb) 248.95/165.36 248.95/165.36 *(new_pr2F0G10(x295, x296, Succ(Zero), Zero, x298)_>=_new_pr2F0G(x295, new_sr3(x296, x298), Neg(new_primDivNatS1(Succ(Succ(Zero)), Succ(Zero))), x298)) 248.95/165.36 248.95/165.36 248.95/165.36 *(new_pr2F0G10(x295, x296, Succ(Succ(x401)), Zero, x298)_>=_new_pr2F0G(x295, new_sr3(x296, x298), Neg(new_primDivNatS1(Succ(Succ(Succ(x401))), Succ(Zero))), x298)) 248.95/165.36 248.95/165.36 248.95/165.36 *(new_pr2F0G10(x302, x303, Succ(Zero), Zero, x305)_>=_new_pr2F0G(x302, new_sr3(x303, x305), Neg(new_primDivNatS1(Succ(Succ(Zero)), Succ(Zero))), x305)) 248.95/165.36 248.95/165.36 248.95/165.36 *(new_pr2F0G10(x302, x303, Succ(Succ(x429)), Zero, x305)_>=_new_pr2F0G(x302, new_sr3(x303, x305), Neg(new_primDivNatS1(Succ(Succ(Succ(x429))), Succ(Zero))), x305)) 248.95/165.36 248.95/165.36 248.95/165.36 248.95/165.36 248.95/165.36 *new_pr2F0G(vyv187, vyv183, Neg(Succ(Zero)), h) -> new_pr2F0G11(vyv187, vyv183, Zero, h) 248.95/165.36 248.95/165.36 *(new_pr2F0G(x322, x323, Neg(Succ(Zero)), x324)_>=_new_pr2F0G11(x322, x323, Zero, x324)) 248.95/165.36 248.95/165.36 248.95/165.36 248.95/165.36 248.95/165.36 *new_pr2F0G(vyv187, vyv183, Neg(Succ(Succ(vyv222000))), h) -> new_pr2F0G10(vyv187, vyv183, Succ(vyv222000), vyv222000, h) 248.95/165.36 248.95/165.36 *(new_pr2F0G(x349, x350, Neg(Succ(Succ(Succ(Succ(x356))))), x352)_>=_new_pr2F0G10(x349, x350, Succ(Succ(Succ(x356))), Succ(Succ(x356)), x352)) 248.95/165.36 248.95/165.36 248.95/165.36 *(new_pr2F0G(x358, x359, Neg(Succ(Succ(Succ(Zero)))), x361)_>=_new_pr2F0G10(x358, x359, Succ(Succ(Zero)), Succ(Zero), x361)) 248.95/165.36 248.95/165.36 248.95/165.36 *(new_pr2F0G(x374, x375, Neg(Succ(Succ(Zero))), x377)_>=_new_pr2F0G10(x374, x375, Succ(Zero), Zero, x377)) 248.95/165.36 248.95/165.36 248.95/165.36 248.95/165.36 248.95/165.36 248.95/165.36 248.95/165.36 248.95/165.36 248.95/165.36 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. 248.95/165.36 ---------------------------------------- 248.95/165.36 248.95/165.36 (819) 248.95/165.36 Obligation: 248.95/165.36 Q DP problem: 248.95/165.36 The TRS P consists of the following rules: 248.95/165.36 248.95/165.36 new_pr2F30(False, z0, z1, Pos(Succ(Zero)), z2, z3) -> new_pr2F0(z0, Neg(Succ(Succ(new_primPlusNat0(z1, Zero)))), new_sr4(z0, z2, z3), z3) 248.95/165.36 new_pr2F0(vyv183, Neg(Succ(Succ(vyv222000))), vyv187, h) -> new_pr2F0G10(vyv187, vyv183, Succ(vyv222000), vyv222000, h) 248.95/165.36 new_pr2F0G10(vyv248, vyv249, vyv250, Succ(Succ(vyv25100)), bb) -> new_pr2F0G10(vyv248, vyv249, vyv250, vyv25100, bb) 248.95/165.36 new_pr2F0G10(vyv248, vyv249, vyv250, Succ(Zero), bb) -> new_pr2F0G11(vyv248, vyv249, vyv250, bb) 248.95/165.36 new_pr2F0G11(vyv238, vyv239, vyv240, bc) -> new_pr2F1(vyv239, vyv240, Pos(Succ(Zero)), vyv238, bc) 248.95/165.36 new_pr2F1(z1, z2, Pos(Succ(Zero)), z0, z3) -> new_pr2F30(False, z1, z2, Pos(Succ(Zero)), z0, z3) 248.95/165.36 new_pr2F0G10(vyv248, vyv249, vyv250, Zero, bb) -> new_pr2F0G(vyv248, new_sr3(vyv249, bb), Neg(new_primDivNatS1(Succ(vyv250), Succ(Zero))), bb) 248.95/165.36 new_pr2F0G(vyv187, vyv183, Neg(Succ(Zero)), h) -> new_pr2F0G11(vyv187, vyv183, Zero, h) 248.95/165.36 new_pr2F0G(vyv187, vyv183, Neg(Succ(Succ(vyv222000))), h) -> new_pr2F0G10(vyv187, vyv183, Succ(vyv222000), vyv222000, h) 248.95/165.36 248.95/165.36 The TRS R consists of the following rules: 248.95/165.36 248.95/165.36 new_sr3(vyv249, ty_Float) -> new_sr10(vyv249) 248.95/165.36 new_sr3(vyv249, ty_Double) -> new_sr9(vyv249) 248.95/165.36 new_sr3(vyv249, ty_Int) -> new_sr6(vyv249) 248.95/165.36 new_sr3(vyv249, ty_Integer) -> new_sr7(vyv249) 248.95/165.36 new_sr3(vyv249, app(ty_Ratio, bg)) -> new_sr5(vyv249, bg) 248.95/165.36 new_primDivNatS1(Succ(Zero), Succ(vyv284000)) -> Zero 248.95/165.36 new_primDivNatS1(Succ(Succ(vyv270000)), Succ(vyv284000)) -> new_primDivNatS02(vyv270000, vyv284000, vyv270000, vyv284000) 248.95/165.36 new_primDivNatS02(vyv310, vyv311, Zero, Zero) -> new_primDivNatS01(vyv310, vyv311) 248.95/165.36 new_primDivNatS02(vyv310, vyv311, Succ(vyv3120), Zero) -> new_primDivNatS01(vyv310, vyv311) 248.95/165.36 new_primDivNatS02(vyv310, vyv311, Zero, Succ(vyv3130)) -> Zero 248.95/165.36 new_primDivNatS02(vyv310, vyv311, Succ(vyv3120), Succ(vyv3130)) -> new_primDivNatS02(vyv310, vyv311, vyv3120, vyv3130) 248.95/165.36 new_primDivNatS01(vyv310, vyv311) -> Succ(new_primDivNatS1(new_primMinusNatS2(vyv310, vyv311), Succ(vyv311))) 248.95/165.36 new_primMinusNatS2(Zero, Succ(vyv3110)) -> Zero 248.95/165.36 new_primMinusNatS2(Succ(vyv3100), Zero) -> Succ(vyv3100) 248.95/165.36 new_primMinusNatS2(Zero, Zero) -> Zero 248.95/165.36 new_primMinusNatS2(Succ(vyv3100), Succ(vyv3110)) -> new_primMinusNatS2(vyv3100, vyv3110) 248.95/165.36 new_primDivNatS1(Zero, vyv28400) -> Zero 248.95/165.36 new_sr5(:%(vyv1830, vyv1831), bd) -> new_reduce2Reduce1(vyv1830, vyv1830, vyv1831, vyv1831, new_esEs0(vyv1831, bd), bd) 248.95/165.36 new_esEs0(vyv1831, ty_Int) -> new_esEs(new_sr6(vyv1831)) 248.95/165.36 new_esEs0(vyv1831, ty_Integer) -> new_esEs1(new_sr7(vyv1831)) 248.95/165.36 new_reduce2Reduce1(vyv264, vyv265, vyv266, vyv267, False, bh) -> :%(new_quot1(vyv264, vyv265, vyv266, vyv267, bh), new_quot2(vyv266, vyv267, vyv264, vyv265, bh)) 248.95/165.36 new_reduce2Reduce1(vyv264, vyv265, vyv266, vyv267, True, bh) -> error([]) 248.95/165.36 new_quot1(vyv264, vyv265, vyv266, vyv267, ty_Int) -> new_quot0(new_sr14(vyv264, vyv265), new_sr14(vyv264, vyv265), new_sr14(vyv266, vyv267)) 248.95/165.36 new_quot1(vyv264, vyv265, vyv266, vyv267, ty_Integer) -> new_quot(new_sr8(vyv264, vyv265), new_sr8(vyv264, vyv265), new_sr8(vyv266, vyv267)) 248.95/165.36 new_quot2(vyv266, vyv267, vyv264, vyv265, ty_Int) -> new_quot0(new_sr14(vyv266, vyv267), new_sr14(vyv264, vyv265), new_sr14(vyv266, vyv267)) 248.95/165.36 new_quot2(vyv266, vyv267, vyv264, vyv265, ty_Integer) -> new_quot(new_sr8(vyv266, vyv267), new_sr8(vyv264, vyv265), new_sr8(vyv266, vyv267)) 248.95/165.36 new_sr8(vyv239, vyv238) -> error([]) 248.95/165.36 new_quot(vyv273, vyv275, vyv274) -> error([]) 248.95/165.36 new_sr14(Pos(vyv2390), Neg(vyv2380)) -> Neg(new_primMulNat0(vyv2390, vyv2380)) 248.95/165.36 new_sr14(Neg(vyv2390), Pos(vyv2380)) -> Neg(new_primMulNat0(vyv2390, vyv2380)) 248.95/165.36 new_sr14(Neg(vyv2390), Neg(vyv2380)) -> Pos(new_primMulNat0(vyv2390, vyv2380)) 248.95/165.36 new_sr14(Pos(vyv2390), Pos(vyv2380)) -> Pos(new_primMulNat0(vyv2390, vyv2380)) 248.95/165.36 new_quot0(Neg(vyv2700), vyv272, vyv271) -> new_primQuotInt0(vyv2700, new_gcd(vyv272, vyv271)) 248.95/165.36 new_quot0(Pos(vyv2700), vyv272, vyv271) -> new_primQuotInt(vyv2700, new_gcd(vyv272, vyv271)) 248.95/165.36 new_gcd(vyv272, vyv271) -> new_gcd2(new_esEs(vyv272), vyv272, vyv271) 248.95/165.36 new_primQuotInt(vyv2700, Pos(Succ(vyv28400))) -> Pos(new_primDivNatS1(vyv2700, vyv28400)) 248.95/165.36 new_primQuotInt(vyv2700, Neg(Zero)) -> new_error 248.95/165.36 new_primQuotInt(vyv2700, Pos(Zero)) -> new_error 248.95/165.36 new_primQuotInt(vyv2700, Neg(Succ(vyv28400))) -> Neg(new_primDivNatS1(vyv2700, vyv28400)) 248.95/165.36 new_primDivNatS1(Succ(Succ(vyv270000)), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS0(vyv270000), Zero)) 248.95/165.36 new_primDivNatS1(Succ(Zero), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS1, Zero)) 248.95/165.36 new_primMinusNatS1 -> Zero 248.95/165.36 new_primMinusNatS0(vyv270000) -> Succ(vyv270000) 248.95/165.36 new_error -> error([]) 248.95/165.36 new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) 248.95/165.36 new_esEs(Pos(Succ(vyv24100))) -> new_primEqInt(Pos(Succ(vyv24100))) 248.95/165.36 new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) 248.95/165.36 new_esEs(Neg(Succ(vyv24100))) -> new_primEqInt(Neg(Succ(vyv24100))) 248.95/165.36 new_gcd2(True, vyv272, vyv271) -> new_gcd1(new_esEs(vyv271), vyv272, vyv271) 248.95/165.36 new_gcd2(False, vyv272, vyv271) -> new_gcd0(vyv272, vyv271) 248.95/165.36 new_gcd0(vyv272, vyv271) -> new_gcd0Gcd'10(new_esEs(new_abs(vyv271)), vyv272, vyv271) 248.95/165.36 new_abs(Neg(Zero)) -> Neg(Zero) 248.95/165.36 new_abs(Neg(Succ(vyv27100))) -> Pos(Succ(vyv27100)) 248.95/165.36 new_abs(Pos(Succ(vyv27100))) -> Pos(Succ(vyv27100)) 248.95/165.36 new_abs(Pos(Zero)) -> Pos(Zero) 248.95/165.36 new_gcd0Gcd'10(True, vyv272, vyv271) -> new_abs(vyv272) 248.95/165.36 new_gcd0Gcd'10(False, vyv272, vyv271) -> new_gcd0Gcd'00(new_abs(vyv272), new_abs(vyv271)) 248.95/165.36 new_gcd0Gcd'11(False, vyv291, vyv292) -> new_gcd0Gcd'00(vyv291, new_rem(vyv292, vyv291)) 248.95/165.36 new_gcd0Gcd'00(vyv292, vyv291) -> new_gcd0Gcd'11(new_esEs(new_rem(vyv292, vyv291)), vyv291, vyv292) 248.95/165.36 new_rem(Pos(vyv2920), Neg(Zero)) -> new_error 248.95/165.36 new_rem(Neg(vyv2920), Pos(Zero)) -> new_error 248.95/165.36 new_rem(Pos(vyv2920), Neg(Succ(vyv29100))) -> Pos(new_primModNatS1(vyv2920, vyv29100)) 248.95/165.36 new_rem(Neg(vyv2920), Pos(Succ(vyv29100))) -> Neg(new_primModNatS1(vyv2920, vyv29100)) 248.95/165.36 new_rem(Pos(vyv2920), Pos(Succ(vyv29100))) -> Pos(new_primModNatS1(vyv2920, vyv29100)) 248.95/165.36 new_rem(Neg(vyv2920), Neg(Zero)) -> new_error 248.95/165.36 new_rem(Neg(vyv2920), Neg(Succ(vyv29100))) -> Neg(new_primModNatS1(vyv2920, vyv29100)) 248.95/165.36 new_rem(Pos(vyv2920), Pos(Zero)) -> new_error 248.95/165.36 new_gcd0Gcd'11(True, vyv291, vyv292) -> vyv291 248.95/165.36 new_primModNatS1(Succ(Zero), Succ(vyv291000)) -> Succ(Zero) 248.95/165.36 new_primModNatS1(Zero, vyv29100) -> Zero 248.95/165.36 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 248.95/165.36 new_primModNatS1(Succ(Succ(vyv292000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv292000), Zero) 248.95/165.36 new_primModNatS1(Succ(Succ(vyv292000)), Succ(vyv291000)) -> new_primModNatS01(vyv292000, vyv291000, vyv292000, vyv291000) 248.95/165.36 new_primModNatS01(vyv330, vyv331, Zero, Zero) -> new_primModNatS02(vyv330, vyv331) 248.95/165.36 new_primModNatS02(vyv330, vyv331) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv330), Succ(vyv331)), Succ(vyv331)) 248.95/165.36 new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Zero) -> new_primModNatS02(vyv330, vyv331) 248.95/165.36 new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Succ(vyv3330)) -> new_primModNatS01(vyv330, vyv331, vyv3320, vyv3330) 248.95/165.36 new_primModNatS01(vyv330, vyv331, Zero, Succ(vyv3330)) -> Succ(Succ(vyv330)) 248.95/165.36 new_gcd1(True, vyv272, vyv271) -> new_error 248.95/165.36 new_gcd1(False, vyv272, vyv271) -> new_gcd0(vyv272, vyv271) 248.95/165.36 new_primEqInt(Neg(Succ(vyv242000))) -> False 248.95/165.36 new_primEqInt(Pos(Zero)) -> True 248.95/165.36 new_primEqInt(Pos(Succ(vyv242000))) -> False 248.95/165.36 new_primEqInt(Neg(Zero)) -> True 248.95/165.36 new_primQuotInt0(vyv2700, Pos(Succ(vyv28700))) -> Neg(new_primDivNatS1(vyv2700, vyv28700)) 248.95/165.36 new_primQuotInt0(vyv2700, Neg(Zero)) -> new_error 248.95/165.36 new_primQuotInt0(vyv2700, Neg(Succ(vyv28700))) -> Pos(new_primDivNatS1(vyv2700, vyv28700)) 248.95/165.36 new_primQuotInt0(vyv2700, Pos(Zero)) -> new_error 248.95/165.36 new_primMulNat0(Succ(vyv23900), Zero) -> Zero 248.95/165.36 new_primMulNat0(Zero, Succ(vyv23800)) -> Zero 248.95/165.36 new_primMulNat0(Zero, Zero) -> Zero 248.95/165.36 new_primMulNat0(Succ(vyv23900), Succ(vyv23800)) -> new_primPlusNat0(new_primMulNat0(vyv23900, Succ(vyv23800)), Succ(vyv23800)) 248.95/165.36 new_primPlusNat0(Succ(vyv4000), Succ(vyv5000)) -> Succ(Succ(new_primPlusNat0(vyv4000, vyv5000))) 248.95/165.36 new_primPlusNat0(Zero, Succ(vyv5000)) -> Succ(vyv5000) 248.95/165.36 new_primPlusNat0(Zero, Zero) -> Zero 248.95/165.36 new_primPlusNat0(Succ(vyv4000), Zero) -> Succ(vyv4000) 248.95/165.36 new_sr7(vyv183) -> error([]) 248.95/165.36 new_esEs1(Integer(vyv2690)) -> new_primEqInt(vyv2690) 248.95/165.36 new_sr6(Neg(vyv1830)) -> Pos(new_primMulNat1(vyv1830)) 248.95/165.36 new_sr6(Pos(vyv1830)) -> Pos(new_primMulNat1(vyv1830)) 248.95/165.36 new_primMulNat1(Succ(vyv18300)) -> new_primPlusNat0(new_primMulNat2(vyv18300), Succ(vyv18300)) 248.95/165.36 new_primMulNat1(Zero) -> Zero 248.95/165.36 new_primMulNat2(Succ(vyv183000)) -> new_primPlusNat0(new_primMulNat3(vyv183000), Succ(Succ(vyv183000))) 248.95/165.36 new_primMulNat2(Zero) -> Zero 248.95/165.36 new_primMulNat3(Succ(vyv1830000)) -> new_primPlusNat0(new_primMulNat4(vyv1830000), Succ(Succ(Succ(vyv1830000)))) 248.95/165.36 new_primMulNat3(Zero) -> Zero 248.95/165.36 new_primMulNat4(Succ(vyv18300000)) -> new_primPlusNat0(new_primMulNat0(vyv18300000, Succ(Succ(Succ(Succ(vyv18300000))))), Succ(Succ(Succ(Succ(vyv18300000))))) 248.95/165.36 new_primMulNat4(Zero) -> Zero 248.95/165.36 new_sr9(vyv183) -> error([]) 248.95/165.36 new_sr10(vyv183) -> error([]) 248.95/165.36 new_sr4(vyv239, vyv238, app(ty_Ratio, bf)) -> new_sr12(vyv239, vyv238, bf) 248.95/165.36 new_sr4(vyv239, vyv238, ty_Integer) -> new_sr8(vyv239, vyv238) 248.95/165.36 new_sr4(vyv239, vyv238, ty_Int) -> new_sr14(vyv239, vyv238) 248.95/165.36 new_sr4(vyv239, vyv238, ty_Double) -> new_sr11(vyv239, vyv238) 248.95/165.36 new_sr4(vyv239, vyv238, ty_Float) -> new_sr13(vyv239, vyv238) 248.95/165.36 new_sr13(vyv239, vyv238) -> error([]) 248.95/165.36 new_sr11(vyv239, vyv238) -> error([]) 248.95/165.36 new_sr12(:%(vyv2390, vyv2391), :%(vyv2380, vyv2381), bf) -> new_reduce2Reduce1(vyv2390, vyv2380, vyv2391, vyv2381, new_esEs2(vyv2391, vyv2381, bf), bf) 248.95/165.36 new_esEs2(vyv2391, vyv2381, ty_Int) -> new_esEs(new_sr14(vyv2391, vyv2381)) 248.95/165.36 new_esEs2(vyv2391, vyv2381, ty_Integer) -> new_esEs1(new_sr8(vyv2391, vyv2381)) 248.95/165.36 248.95/165.36 The set Q consists of the following terms: 248.95/165.36 248.95/165.36 new_rem(Pos(x0), Pos(Succ(x1))) 248.95/165.36 new_quot1(x0, x1, x2, x3, ty_Integer) 248.95/165.36 new_primModNatS1(Succ(Zero), Succ(x0)) 248.95/165.36 new_primMulNat4(Zero) 248.95/165.36 new_gcd1(False, x0, x1) 248.95/165.36 new_primEqInt(Pos(Zero)) 248.95/165.36 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 248.95/165.36 new_rem(Pos(x0), Neg(Succ(x1))) 248.95/165.36 new_rem(Neg(x0), Pos(Succ(x1))) 248.95/165.36 new_sr10(x0) 248.95/165.36 new_quot1(x0, x1, x2, x3, ty_Int) 248.95/165.36 new_quot2(x0, x1, x2, x3, ty_Integer) 248.95/165.36 new_primModNatS01(x0, x1, Succ(x2), Zero) 248.95/165.36 new_sr3(x0, ty_Integer) 248.95/165.36 new_primMulNat3(Zero) 248.95/165.36 new_primDivNatS02(x0, x1, Succ(x2), Zero) 248.95/165.36 new_quot2(x0, x1, x2, x3, ty_Int) 248.95/165.36 new_gcd2(False, x0, x1) 248.95/165.36 new_primDivNatS1(Succ(Zero), Zero) 248.95/165.36 new_esEs0(x0, ty_Int) 248.95/165.36 new_sr14(Pos(x0), Pos(x1)) 248.95/165.36 new_sr3(x0, ty_Int) 248.95/165.36 new_primMulNat0(Zero, Zero) 248.95/165.36 new_sr4(x0, x1, ty_Double) 248.95/165.36 new_primPlusNat0(Succ(x0), Zero) 248.95/165.36 new_primMulNat2(Zero) 248.95/165.36 new_sr11(x0, x1) 248.95/165.36 new_primModNatS01(x0, x1, Zero, Zero) 248.95/165.36 new_esEs2(x0, x1, ty_Int) 248.95/165.36 new_gcd1(True, x0, x1) 248.95/165.36 new_sr13(x0, x1) 248.95/165.36 new_sr14(Pos(x0), Neg(x1)) 248.95/165.36 new_sr14(Neg(x0), Pos(x1)) 248.95/165.36 new_primDivNatS1(Succ(Succ(x0)), Succ(x1)) 248.95/165.36 new_primModNatS1(Zero, x0) 248.95/165.36 new_esEs(Pos(Succ(x0))) 248.95/165.36 new_primMulNat3(Succ(x0)) 248.95/165.36 new_primQuotInt(x0, Neg(Succ(x1))) 248.95/165.36 new_reduce2Reduce1(x0, x1, x2, x3, False, x4) 248.95/165.36 new_primDivNatS1(Zero, x0) 248.95/165.36 new_primDivNatS02(x0, x1, Succ(x2), Succ(x3)) 248.95/165.36 new_primModNatS02(x0, x1) 248.95/165.36 new_primDivNatS1(Succ(Zero), Succ(x0)) 248.95/165.36 new_sr6(Neg(x0)) 248.95/165.36 new_gcd0Gcd'10(True, x0, x1) 248.95/165.36 new_primMulNat0(Succ(x0), Succ(x1)) 248.95/165.36 new_abs(Neg(Zero)) 248.95/165.36 new_rem(Pos(x0), Neg(Zero)) 248.95/165.36 new_rem(Neg(x0), Pos(Zero)) 248.95/165.36 new_primMinusNatS2(Zero, Succ(x0)) 248.95/165.36 new_esEs(Neg(Succ(x0))) 248.95/165.36 new_error 248.95/165.36 new_primModNatS1(Succ(Zero), Zero) 248.95/165.36 new_primMulNat0(Zero, Succ(x0)) 248.95/165.36 new_sr3(x0, ty_Float) 248.95/165.36 new_quot(x0, x1, x2) 248.95/165.36 new_gcd2(True, x0, x1) 248.95/165.36 new_gcd0Gcd'11(True, x0, x1) 248.95/165.36 new_primEqInt(Neg(Zero)) 248.95/165.36 new_primMulNat0(Succ(x0), Zero) 248.95/165.36 new_quot0(Neg(x0), x1, x2) 248.95/165.36 new_primMinusNatS2(Succ(x0), Succ(x1)) 248.95/165.36 new_sr4(x0, x1, app(ty_Ratio, x2)) 248.95/165.36 new_sr8(x0, x1) 248.95/165.36 new_primDivNatS01(x0, x1) 248.95/165.36 new_primDivNatS02(x0, x1, Zero, Succ(x2)) 248.95/165.36 new_primPlusNat0(Succ(x0), Succ(x1)) 248.95/165.36 new_primPlusNat0(Zero, Zero) 248.95/165.36 new_sr12(:%(x0, x1), :%(x2, x3), x4) 248.95/165.36 new_abs(Neg(Succ(x0))) 248.95/165.36 new_sr3(x0, app(ty_Ratio, x1)) 248.95/165.36 new_sr7(x0) 248.95/165.36 new_gcd0(x0, x1) 248.95/165.36 new_primQuotInt0(x0, Pos(Succ(x1))) 248.95/165.36 new_sr4(x0, x1, ty_Integer) 248.95/165.36 new_sr5(:%(x0, x1), x2) 248.95/165.36 new_primMinusNatS2(Zero, Zero) 248.95/165.36 new_primMulNat1(Succ(x0)) 248.95/165.36 new_abs(Pos(Succ(x0))) 248.95/165.36 new_sr4(x0, x1, ty_Int) 248.95/165.36 new_esEs(Pos(Zero)) 248.95/165.36 new_primQuotInt0(x0, Pos(Zero)) 248.95/165.36 new_primEqInt(Neg(Succ(x0))) 248.95/165.36 new_primQuotInt(x0, Neg(Zero)) 248.95/165.36 new_primQuotInt0(x0, Neg(Zero)) 248.95/165.36 new_primQuotInt0(x0, Neg(Succ(x1))) 248.95/165.36 new_gcd(x0, x1) 248.95/165.36 new_quot0(Pos(x0), x1, x2) 248.95/165.36 new_primMinusNatS0(x0) 248.95/165.36 new_primPlusNat0(Zero, Succ(x0)) 248.95/165.36 new_primQuotInt(x0, Pos(Succ(x1))) 248.95/165.36 new_primDivNatS1(Succ(Succ(x0)), Zero) 248.95/165.36 new_rem(Pos(x0), Pos(Zero)) 248.95/165.36 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 248.95/165.36 new_primDivNatS02(x0, x1, Zero, Zero) 248.95/165.36 new_abs(Pos(Zero)) 248.95/165.36 new_gcd0Gcd'10(False, x0, x1) 248.95/165.36 new_primMinusNatS1 248.95/165.36 new_esEs1(Integer(x0)) 248.95/165.36 new_primModNatS01(x0, x1, Zero, Succ(x2)) 248.95/165.36 new_primMulNat2(Succ(x0)) 248.95/165.36 new_sr14(Neg(x0), Neg(x1)) 248.95/165.36 new_primMinusNatS2(Succ(x0), Zero) 248.95/165.36 new_sr4(x0, x1, ty_Float) 248.95/165.36 new_sr6(Pos(x0)) 248.95/165.36 new_esEs2(x0, x1, ty_Integer) 248.95/165.36 new_primMulNat4(Succ(x0)) 248.95/165.36 new_rem(Neg(x0), Neg(Succ(x1))) 248.95/165.36 new_primEqInt(Pos(Succ(x0))) 248.95/165.36 new_primQuotInt(x0, Pos(Zero)) 248.95/165.36 new_gcd0Gcd'11(False, x0, x1) 248.95/165.36 new_sr9(x0) 248.95/165.36 new_primModNatS1(Succ(Succ(x0)), Zero) 248.95/165.36 new_esEs0(x0, ty_Integer) 248.95/165.36 new_gcd0Gcd'00(x0, x1) 248.95/165.36 new_reduce2Reduce1(x0, x1, x2, x3, True, x4) 248.95/165.36 new_sr3(x0, ty_Double) 248.95/165.36 new_esEs(Neg(Zero)) 248.95/165.36 new_primMulNat1(Zero) 248.95/165.36 new_rem(Neg(x0), Neg(Zero)) 248.95/165.36 248.95/165.36 We have to consider all minimal (P,Q,R)-chains. 248.95/165.36 ---------------------------------------- 248.95/165.36 248.95/165.36 (820) QDPPairToRuleProof (EQUIVALENT) 248.95/165.36 The dependency pair new_pr2F0G10(vyv248, vyv249, vyv250, Succ(Succ(vyv25100)), bb) -> new_pr2F0G10(vyv248, vyv249, vyv250, vyv25100, bb) was transformed to the following new rules: 248.95/165.36 anew_new_pr2F0G10(Succ(Succ(vyv25100))) -> new_new_pr2F0G10(vyv25100) 248.95/165.36 new_new_pr2F0G10(Succ(Succ(vyv25100))) -> new_new_pr2F0G10(vyv25100) 248.95/165.36 new_new_pr2F0G10(Succ(Zero)) -> cons_new_pr2F0G10(Succ(Zero)) 248.95/165.36 new_new_pr2F0G10(Zero) -> cons_new_pr2F0G10(Zero) 248.95/165.36 248.95/165.36 the following new pairs maintain the fan-in: 248.95/165.36 new_pr2F0(vyv183, Neg(Succ(Succ(vyv222000))), vyv187, h) -> H(vyv187, vyv183, Succ(vyv222000), h, anew_new_pr2F0G10(vyv222000)) 248.95/165.36 new_pr2F0G(vyv187, vyv183, Neg(Succ(Succ(vyv222000))), h) -> H(vyv187, vyv183, Succ(vyv222000), h, anew_new_pr2F0G10(vyv222000)) 248.95/165.36 248.95/165.36 the following new pairs maintain the fan-out: 248.95/165.36 H(vyv248, vyv249, vyv250, bb, cons_new_pr2F0G10(Succ(Zero))) -> new_pr2F0G10(vyv248, vyv249, vyv250, Succ(Zero), bb) 248.95/165.36 H(vyv248, vyv249, vyv250, bb, cons_new_pr2F0G10(Zero)) -> new_pr2F0G10(vyv248, vyv249, vyv250, Zero, bb) 248.95/165.36 248.95/165.36 ---------------------------------------- 248.95/165.36 248.95/165.36 (821) 248.95/165.36 Complex Obligation (AND) 248.95/165.36 248.95/165.36 ---------------------------------------- 248.95/165.36 248.95/165.36 (822) 248.95/165.36 Obligation: 248.95/165.36 Q DP problem: 248.95/165.36 The TRS P consists of the following rules: 248.95/165.36 248.95/165.36 new_pr2F30(False, z0, z1, Pos(Succ(Zero)), z2, z3) -> new_pr2F0(z0, Neg(Succ(Succ(new_primPlusNat0(z1, Zero)))), new_sr4(z0, z2, z3), z3) 248.95/165.36 new_pr2F0(vyv183, Neg(Succ(Succ(vyv222000))), vyv187, h) -> new_pr2F0G10(vyv187, vyv183, Succ(vyv222000), vyv222000, h) 248.95/165.36 new_pr2F0G10(vyv248, vyv249, vyv250, Succ(Zero), bb) -> new_pr2F0G11(vyv248, vyv249, vyv250, bb) 248.95/165.36 new_pr2F0G11(vyv238, vyv239, vyv240, bc) -> new_pr2F1(vyv239, vyv240, Pos(Succ(Zero)), vyv238, bc) 248.95/165.36 new_pr2F1(z1, z2, Pos(Succ(Zero)), z0, z3) -> new_pr2F30(False, z1, z2, Pos(Succ(Zero)), z0, z3) 248.95/165.36 new_pr2F0G10(vyv248, vyv249, vyv250, Zero, bb) -> new_pr2F0G(vyv248, new_sr3(vyv249, bb), Neg(new_primDivNatS1(Succ(vyv250), Succ(Zero))), bb) 248.95/165.36 new_pr2F0G(vyv187, vyv183, Neg(Succ(Zero)), h) -> new_pr2F0G11(vyv187, vyv183, Zero, h) 248.95/165.36 new_pr2F0G(vyv187, vyv183, Neg(Succ(Succ(vyv222000))), h) -> new_pr2F0G10(vyv187, vyv183, Succ(vyv222000), vyv222000, h) 248.95/165.36 new_pr2F0(vyv183, Neg(Succ(Succ(vyv222000))), vyv187, h) -> H(vyv187, vyv183, Succ(vyv222000), h, anew_new_pr2F0G10(vyv222000)) 248.95/165.36 new_pr2F0G(vyv187, vyv183, Neg(Succ(Succ(vyv222000))), h) -> H(vyv187, vyv183, Succ(vyv222000), h, anew_new_pr2F0G10(vyv222000)) 248.95/165.36 H(vyv248, vyv249, vyv250, bb, cons_new_pr2F0G10(Succ(Zero))) -> new_pr2F0G10(vyv248, vyv249, vyv250, Succ(Zero), bb) 248.95/165.36 H(vyv248, vyv249, vyv250, bb, cons_new_pr2F0G10(Zero)) -> new_pr2F0G10(vyv248, vyv249, vyv250, Zero, bb) 248.95/165.36 248.95/165.36 The TRS R consists of the following rules: 248.95/165.36 248.95/165.36 new_sr3(vyv249, ty_Float) -> new_sr10(vyv249) 248.95/165.36 new_sr3(vyv249, ty_Double) -> new_sr9(vyv249) 248.95/165.36 new_sr3(vyv249, ty_Int) -> new_sr6(vyv249) 248.95/165.36 new_sr3(vyv249, ty_Integer) -> new_sr7(vyv249) 248.95/165.36 new_sr3(vyv249, app(ty_Ratio, bg)) -> new_sr5(vyv249, bg) 248.95/165.36 new_primDivNatS1(Succ(Zero), Succ(vyv284000)) -> Zero 248.95/165.36 new_primDivNatS1(Succ(Succ(vyv270000)), Succ(vyv284000)) -> new_primDivNatS02(vyv270000, vyv284000, vyv270000, vyv284000) 248.95/165.36 new_primDivNatS02(vyv310, vyv311, Zero, Zero) -> new_primDivNatS01(vyv310, vyv311) 248.95/165.36 new_primDivNatS02(vyv310, vyv311, Succ(vyv3120), Zero) -> new_primDivNatS01(vyv310, vyv311) 248.95/165.36 new_primDivNatS02(vyv310, vyv311, Zero, Succ(vyv3130)) -> Zero 248.95/165.36 new_primDivNatS02(vyv310, vyv311, Succ(vyv3120), Succ(vyv3130)) -> new_primDivNatS02(vyv310, vyv311, vyv3120, vyv3130) 248.95/165.36 new_primDivNatS01(vyv310, vyv311) -> Succ(new_primDivNatS1(new_primMinusNatS2(vyv310, vyv311), Succ(vyv311))) 248.95/165.36 new_primMinusNatS2(Zero, Succ(vyv3110)) -> Zero 248.95/165.36 new_primMinusNatS2(Succ(vyv3100), Zero) -> Succ(vyv3100) 248.95/165.36 new_primMinusNatS2(Zero, Zero) -> Zero 248.95/165.36 new_primMinusNatS2(Succ(vyv3100), Succ(vyv3110)) -> new_primMinusNatS2(vyv3100, vyv3110) 248.95/165.36 new_primDivNatS1(Zero, vyv28400) -> Zero 248.95/165.36 new_sr5(:%(vyv1830, vyv1831), bd) -> new_reduce2Reduce1(vyv1830, vyv1830, vyv1831, vyv1831, new_esEs0(vyv1831, bd), bd) 248.95/165.36 new_esEs0(vyv1831, ty_Int) -> new_esEs(new_sr6(vyv1831)) 248.95/165.36 new_esEs0(vyv1831, ty_Integer) -> new_esEs1(new_sr7(vyv1831)) 248.95/165.36 new_reduce2Reduce1(vyv264, vyv265, vyv266, vyv267, False, bh) -> :%(new_quot1(vyv264, vyv265, vyv266, vyv267, bh), new_quot2(vyv266, vyv267, vyv264, vyv265, bh)) 248.95/165.36 new_reduce2Reduce1(vyv264, vyv265, vyv266, vyv267, True, bh) -> error([]) 248.95/165.36 new_quot1(vyv264, vyv265, vyv266, vyv267, ty_Int) -> new_quot0(new_sr14(vyv264, vyv265), new_sr14(vyv264, vyv265), new_sr14(vyv266, vyv267)) 248.95/165.36 new_quot1(vyv264, vyv265, vyv266, vyv267, ty_Integer) -> new_quot(new_sr8(vyv264, vyv265), new_sr8(vyv264, vyv265), new_sr8(vyv266, vyv267)) 248.95/165.36 new_quot2(vyv266, vyv267, vyv264, vyv265, ty_Int) -> new_quot0(new_sr14(vyv266, vyv267), new_sr14(vyv264, vyv265), new_sr14(vyv266, vyv267)) 248.95/165.36 new_quot2(vyv266, vyv267, vyv264, vyv265, ty_Integer) -> new_quot(new_sr8(vyv266, vyv267), new_sr8(vyv264, vyv265), new_sr8(vyv266, vyv267)) 248.95/165.36 new_sr8(vyv239, vyv238) -> error([]) 248.95/165.36 new_quot(vyv273, vyv275, vyv274) -> error([]) 248.95/165.36 new_sr14(Pos(vyv2390), Neg(vyv2380)) -> Neg(new_primMulNat0(vyv2390, vyv2380)) 248.95/165.36 new_sr14(Neg(vyv2390), Pos(vyv2380)) -> Neg(new_primMulNat0(vyv2390, vyv2380)) 248.95/165.36 new_sr14(Neg(vyv2390), Neg(vyv2380)) -> Pos(new_primMulNat0(vyv2390, vyv2380)) 248.95/165.36 new_sr14(Pos(vyv2390), Pos(vyv2380)) -> Pos(new_primMulNat0(vyv2390, vyv2380)) 248.95/165.36 new_quot0(Neg(vyv2700), vyv272, vyv271) -> new_primQuotInt0(vyv2700, new_gcd(vyv272, vyv271)) 248.95/165.36 new_quot0(Pos(vyv2700), vyv272, vyv271) -> new_primQuotInt(vyv2700, new_gcd(vyv272, vyv271)) 248.95/165.36 new_gcd(vyv272, vyv271) -> new_gcd2(new_esEs(vyv272), vyv272, vyv271) 248.95/165.36 new_primQuotInt(vyv2700, Pos(Succ(vyv28400))) -> Pos(new_primDivNatS1(vyv2700, vyv28400)) 248.95/165.36 new_primQuotInt(vyv2700, Neg(Zero)) -> new_error 248.95/165.36 new_primQuotInt(vyv2700, Pos(Zero)) -> new_error 248.95/165.36 new_primQuotInt(vyv2700, Neg(Succ(vyv28400))) -> Neg(new_primDivNatS1(vyv2700, vyv28400)) 248.95/165.36 new_primDivNatS1(Succ(Succ(vyv270000)), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS0(vyv270000), Zero)) 248.95/165.36 new_primDivNatS1(Succ(Zero), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS1, Zero)) 248.95/165.36 new_primMinusNatS1 -> Zero 248.95/165.36 new_primMinusNatS0(vyv270000) -> Succ(vyv270000) 248.95/165.36 new_error -> error([]) 248.95/165.36 new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) 248.95/165.36 new_esEs(Pos(Succ(vyv24100))) -> new_primEqInt(Pos(Succ(vyv24100))) 248.95/165.36 new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) 248.95/165.36 new_esEs(Neg(Succ(vyv24100))) -> new_primEqInt(Neg(Succ(vyv24100))) 248.95/165.36 new_gcd2(True, vyv272, vyv271) -> new_gcd1(new_esEs(vyv271), vyv272, vyv271) 248.95/165.36 new_gcd2(False, vyv272, vyv271) -> new_gcd0(vyv272, vyv271) 248.95/165.36 new_gcd0(vyv272, vyv271) -> new_gcd0Gcd'10(new_esEs(new_abs(vyv271)), vyv272, vyv271) 248.95/165.36 new_abs(Neg(Zero)) -> Neg(Zero) 248.95/165.36 new_abs(Neg(Succ(vyv27100))) -> Pos(Succ(vyv27100)) 248.95/165.36 new_abs(Pos(Succ(vyv27100))) -> Pos(Succ(vyv27100)) 248.95/165.36 new_abs(Pos(Zero)) -> Pos(Zero) 248.95/165.36 new_gcd0Gcd'10(True, vyv272, vyv271) -> new_abs(vyv272) 248.95/165.36 new_gcd0Gcd'10(False, vyv272, vyv271) -> new_gcd0Gcd'00(new_abs(vyv272), new_abs(vyv271)) 248.95/165.36 new_gcd0Gcd'11(False, vyv291, vyv292) -> new_gcd0Gcd'00(vyv291, new_rem(vyv292, vyv291)) 248.95/165.36 new_gcd0Gcd'00(vyv292, vyv291) -> new_gcd0Gcd'11(new_esEs(new_rem(vyv292, vyv291)), vyv291, vyv292) 248.95/165.36 new_rem(Pos(vyv2920), Neg(Zero)) -> new_error 248.95/165.36 new_rem(Neg(vyv2920), Pos(Zero)) -> new_error 248.95/165.36 new_rem(Pos(vyv2920), Neg(Succ(vyv29100))) -> Pos(new_primModNatS1(vyv2920, vyv29100)) 248.95/165.36 new_rem(Neg(vyv2920), Pos(Succ(vyv29100))) -> Neg(new_primModNatS1(vyv2920, vyv29100)) 248.95/165.36 new_rem(Pos(vyv2920), Pos(Succ(vyv29100))) -> Pos(new_primModNatS1(vyv2920, vyv29100)) 248.95/165.36 new_rem(Neg(vyv2920), Neg(Zero)) -> new_error 248.95/165.36 new_rem(Neg(vyv2920), Neg(Succ(vyv29100))) -> Neg(new_primModNatS1(vyv2920, vyv29100)) 248.95/165.36 new_rem(Pos(vyv2920), Pos(Zero)) -> new_error 248.95/165.36 new_gcd0Gcd'11(True, vyv291, vyv292) -> vyv291 248.95/165.36 new_primModNatS1(Succ(Zero), Succ(vyv291000)) -> Succ(Zero) 248.95/165.36 new_primModNatS1(Zero, vyv29100) -> Zero 248.95/165.36 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 248.95/165.36 new_primModNatS1(Succ(Succ(vyv292000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv292000), Zero) 248.95/165.36 new_primModNatS1(Succ(Succ(vyv292000)), Succ(vyv291000)) -> new_primModNatS01(vyv292000, vyv291000, vyv292000, vyv291000) 248.95/165.36 new_primModNatS01(vyv330, vyv331, Zero, Zero) -> new_primModNatS02(vyv330, vyv331) 248.95/165.36 new_primModNatS02(vyv330, vyv331) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv330), Succ(vyv331)), Succ(vyv331)) 248.95/165.36 new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Zero) -> new_primModNatS02(vyv330, vyv331) 248.95/165.36 new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Succ(vyv3330)) -> new_primModNatS01(vyv330, vyv331, vyv3320, vyv3330) 248.95/165.36 new_primModNatS01(vyv330, vyv331, Zero, Succ(vyv3330)) -> Succ(Succ(vyv330)) 248.95/165.36 new_gcd1(True, vyv272, vyv271) -> new_error 248.95/165.36 new_gcd1(False, vyv272, vyv271) -> new_gcd0(vyv272, vyv271) 248.95/165.36 new_primEqInt(Neg(Succ(vyv242000))) -> False 248.95/165.36 new_primEqInt(Pos(Zero)) -> True 248.95/165.36 new_primEqInt(Pos(Succ(vyv242000))) -> False 248.95/165.36 new_primEqInt(Neg(Zero)) -> True 248.95/165.36 new_primQuotInt0(vyv2700, Pos(Succ(vyv28700))) -> Neg(new_primDivNatS1(vyv2700, vyv28700)) 248.95/165.36 new_primQuotInt0(vyv2700, Neg(Zero)) -> new_error 248.95/165.36 new_primQuotInt0(vyv2700, Neg(Succ(vyv28700))) -> Pos(new_primDivNatS1(vyv2700, vyv28700)) 248.95/165.36 new_primQuotInt0(vyv2700, Pos(Zero)) -> new_error 248.95/165.36 new_primMulNat0(Succ(vyv23900), Zero) -> Zero 248.95/165.36 new_primMulNat0(Zero, Succ(vyv23800)) -> Zero 248.95/165.36 new_primMulNat0(Zero, Zero) -> Zero 248.95/165.36 new_primMulNat0(Succ(vyv23900), Succ(vyv23800)) -> new_primPlusNat0(new_primMulNat0(vyv23900, Succ(vyv23800)), Succ(vyv23800)) 248.95/165.36 new_primPlusNat0(Succ(vyv4000), Succ(vyv5000)) -> Succ(Succ(new_primPlusNat0(vyv4000, vyv5000))) 248.95/165.36 new_primPlusNat0(Zero, Succ(vyv5000)) -> Succ(vyv5000) 248.95/165.36 new_primPlusNat0(Zero, Zero) -> Zero 248.95/165.36 new_primPlusNat0(Succ(vyv4000), Zero) -> Succ(vyv4000) 248.95/165.36 new_sr7(vyv183) -> error([]) 248.95/165.36 new_esEs1(Integer(vyv2690)) -> new_primEqInt(vyv2690) 248.95/165.36 new_sr6(Neg(vyv1830)) -> Pos(new_primMulNat1(vyv1830)) 248.95/165.36 new_sr6(Pos(vyv1830)) -> Pos(new_primMulNat1(vyv1830)) 248.95/165.36 new_primMulNat1(Succ(vyv18300)) -> new_primPlusNat0(new_primMulNat2(vyv18300), Succ(vyv18300)) 248.95/165.36 new_primMulNat1(Zero) -> Zero 248.95/165.36 new_primMulNat2(Succ(vyv183000)) -> new_primPlusNat0(new_primMulNat3(vyv183000), Succ(Succ(vyv183000))) 248.95/165.36 new_primMulNat2(Zero) -> Zero 248.95/165.36 new_primMulNat3(Succ(vyv1830000)) -> new_primPlusNat0(new_primMulNat4(vyv1830000), Succ(Succ(Succ(vyv1830000)))) 248.95/165.36 new_primMulNat3(Zero) -> Zero 248.95/165.36 new_primMulNat4(Succ(vyv18300000)) -> new_primPlusNat0(new_primMulNat0(vyv18300000, Succ(Succ(Succ(Succ(vyv18300000))))), Succ(Succ(Succ(Succ(vyv18300000))))) 248.95/165.36 new_primMulNat4(Zero) -> Zero 248.95/165.36 new_sr9(vyv183) -> error([]) 248.95/165.36 new_sr10(vyv183) -> error([]) 248.95/165.36 new_sr4(vyv239, vyv238, app(ty_Ratio, bf)) -> new_sr12(vyv239, vyv238, bf) 248.95/165.36 new_sr4(vyv239, vyv238, ty_Integer) -> new_sr8(vyv239, vyv238) 248.95/165.36 new_sr4(vyv239, vyv238, ty_Int) -> new_sr14(vyv239, vyv238) 248.95/165.36 new_sr4(vyv239, vyv238, ty_Double) -> new_sr11(vyv239, vyv238) 248.95/165.36 new_sr4(vyv239, vyv238, ty_Float) -> new_sr13(vyv239, vyv238) 248.95/165.36 new_sr13(vyv239, vyv238) -> error([]) 248.95/165.36 new_sr11(vyv239, vyv238) -> error([]) 248.95/165.36 new_sr12(:%(vyv2390, vyv2391), :%(vyv2380, vyv2381), bf) -> new_reduce2Reduce1(vyv2390, vyv2380, vyv2391, vyv2381, new_esEs2(vyv2391, vyv2381, bf), bf) 248.95/165.36 new_esEs2(vyv2391, vyv2381, ty_Int) -> new_esEs(new_sr14(vyv2391, vyv2381)) 248.95/165.36 new_esEs2(vyv2391, vyv2381, ty_Integer) -> new_esEs1(new_sr8(vyv2391, vyv2381)) 248.95/165.36 anew_new_pr2F0G10(Succ(Succ(vyv25100))) -> new_new_pr2F0G10(vyv25100) 248.95/165.36 new_new_pr2F0G10(Succ(Succ(vyv25100))) -> new_new_pr2F0G10(vyv25100) 248.95/165.36 new_new_pr2F0G10(Succ(Zero)) -> cons_new_pr2F0G10(Succ(Zero)) 248.95/165.36 new_new_pr2F0G10(Zero) -> cons_new_pr2F0G10(Zero) 248.95/165.36 248.95/165.36 The set Q consists of the following terms: 248.95/165.36 248.95/165.36 new_rem(Pos(x0), Pos(Succ(x1))) 248.95/165.36 new_quot1(x0, x1, x2, x3, ty_Integer) 248.95/165.36 new_primModNatS1(Succ(Zero), Succ(x0)) 248.95/165.36 new_primMulNat4(Zero) 248.95/165.36 new_gcd1(False, x0, x1) 248.95/165.36 new_primEqInt(Pos(Zero)) 248.95/165.36 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 248.95/165.36 new_rem(Pos(x0), Neg(Succ(x1))) 248.95/165.36 new_rem(Neg(x0), Pos(Succ(x1))) 248.95/165.36 new_sr10(x0) 248.95/165.36 new_quot1(x0, x1, x2, x3, ty_Int) 248.95/165.36 new_quot2(x0, x1, x2, x3, ty_Integer) 248.95/165.36 new_primModNatS01(x0, x1, Succ(x2), Zero) 248.95/165.36 new_sr3(x0, ty_Integer) 248.95/165.36 new_primMulNat3(Zero) 248.95/165.36 new_primDivNatS02(x0, x1, Succ(x2), Zero) 248.95/165.36 new_quot2(x0, x1, x2, x3, ty_Int) 248.95/165.36 new_gcd2(False, x0, x1) 248.95/165.36 new_primDivNatS1(Succ(Zero), Zero) 248.95/165.36 new_esEs0(x0, ty_Int) 248.95/165.36 new_sr14(Pos(x0), Pos(x1)) 248.95/165.36 new_sr3(x0, ty_Int) 248.95/165.36 new_primMulNat0(Zero, Zero) 248.95/165.36 new_sr4(x0, x1, ty_Double) 248.95/165.36 new_primPlusNat0(Succ(x0), Zero) 248.95/165.36 new_primMulNat2(Zero) 248.95/165.36 new_sr11(x0, x1) 248.95/165.36 new_primModNatS01(x0, x1, Zero, Zero) 248.95/165.36 new_esEs2(x0, x1, ty_Int) 248.95/165.36 new_gcd1(True, x0, x1) 248.95/165.36 new_sr13(x0, x1) 248.95/165.36 new_sr14(Pos(x0), Neg(x1)) 248.95/165.36 new_sr14(Neg(x0), Pos(x1)) 248.95/165.36 new_primDivNatS1(Succ(Succ(x0)), Succ(x1)) 248.95/165.36 new_primModNatS1(Zero, x0) 248.95/165.36 new_esEs(Pos(Succ(x0))) 248.95/165.36 new_primMulNat3(Succ(x0)) 248.95/165.36 new_primQuotInt(x0, Neg(Succ(x1))) 248.95/165.36 new_reduce2Reduce1(x0, x1, x2, x3, False, x4) 248.95/165.36 new_primDivNatS1(Zero, x0) 248.95/165.36 new_primDivNatS02(x0, x1, Succ(x2), Succ(x3)) 248.95/165.36 new_primModNatS02(x0, x1) 248.95/165.36 new_primDivNatS1(Succ(Zero), Succ(x0)) 248.95/165.36 new_sr6(Neg(x0)) 248.95/165.36 new_gcd0Gcd'10(True, x0, x1) 248.95/165.36 new_primMulNat0(Succ(x0), Succ(x1)) 248.95/165.36 new_abs(Neg(Zero)) 248.95/165.36 new_rem(Pos(x0), Neg(Zero)) 248.95/165.36 new_rem(Neg(x0), Pos(Zero)) 248.95/165.36 new_primMinusNatS2(Zero, Succ(x0)) 248.95/165.36 new_esEs(Neg(Succ(x0))) 248.95/165.36 new_error 248.95/165.36 new_primModNatS1(Succ(Zero), Zero) 248.95/165.36 new_primMulNat0(Zero, Succ(x0)) 248.95/165.36 new_sr3(x0, ty_Float) 248.95/165.36 new_quot(x0, x1, x2) 248.95/165.36 new_gcd2(True, x0, x1) 248.95/165.36 new_gcd0Gcd'11(True, x0, x1) 248.95/165.36 new_primEqInt(Neg(Zero)) 248.95/165.36 new_primMulNat0(Succ(x0), Zero) 248.95/165.36 new_quot0(Neg(x0), x1, x2) 248.95/165.36 new_primMinusNatS2(Succ(x0), Succ(x1)) 248.95/165.36 new_sr4(x0, x1, app(ty_Ratio, x2)) 248.95/165.36 new_sr8(x0, x1) 248.95/165.36 new_primDivNatS01(x0, x1) 248.95/165.36 new_primDivNatS02(x0, x1, Zero, Succ(x2)) 248.95/165.36 new_primPlusNat0(Succ(x0), Succ(x1)) 248.95/165.36 new_primPlusNat0(Zero, Zero) 248.95/165.36 new_sr12(:%(x0, x1), :%(x2, x3), x4) 248.95/165.36 new_abs(Neg(Succ(x0))) 248.95/165.36 new_sr3(x0, app(ty_Ratio, x1)) 248.95/165.36 new_sr7(x0) 248.95/165.36 new_gcd0(x0, x1) 248.95/165.36 new_primQuotInt0(x0, Pos(Succ(x1))) 248.95/165.36 new_sr4(x0, x1, ty_Integer) 248.95/165.36 new_sr5(:%(x0, x1), x2) 248.95/165.36 new_primMinusNatS2(Zero, Zero) 248.95/165.36 new_primMulNat1(Succ(x0)) 248.95/165.36 new_abs(Pos(Succ(x0))) 248.95/165.36 new_sr4(x0, x1, ty_Int) 248.95/165.36 new_esEs(Pos(Zero)) 248.95/165.36 new_primQuotInt0(x0, Pos(Zero)) 248.95/165.36 new_primEqInt(Neg(Succ(x0))) 248.95/165.36 new_primQuotInt(x0, Neg(Zero)) 248.95/165.36 new_primQuotInt0(x0, Neg(Zero)) 248.95/165.36 new_primQuotInt0(x0, Neg(Succ(x1))) 248.95/165.36 new_gcd(x0, x1) 248.95/165.36 new_quot0(Pos(x0), x1, x2) 248.95/165.36 new_primMinusNatS0(x0) 248.95/165.36 new_primPlusNat0(Zero, Succ(x0)) 248.95/165.36 new_primQuotInt(x0, Pos(Succ(x1))) 248.95/165.36 new_primDivNatS1(Succ(Succ(x0)), Zero) 248.95/165.36 new_rem(Pos(x0), Pos(Zero)) 248.95/165.36 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 248.95/165.36 new_primDivNatS02(x0, x1, Zero, Zero) 248.95/165.36 new_abs(Pos(Zero)) 248.95/165.36 new_gcd0Gcd'10(False, x0, x1) 248.95/165.36 new_primMinusNatS1 248.95/165.36 new_esEs1(Integer(x0)) 248.95/165.36 new_primModNatS01(x0, x1, Zero, Succ(x2)) 248.95/165.36 new_primMulNat2(Succ(x0)) 248.95/165.36 new_sr14(Neg(x0), Neg(x1)) 248.95/165.36 new_primMinusNatS2(Succ(x0), Zero) 248.95/165.36 new_sr4(x0, x1, ty_Float) 248.95/165.36 new_sr6(Pos(x0)) 248.95/165.36 new_esEs2(x0, x1, ty_Integer) 248.95/165.36 new_primMulNat4(Succ(x0)) 248.95/165.36 new_rem(Neg(x0), Neg(Succ(x1))) 248.95/165.36 new_primEqInt(Pos(Succ(x0))) 248.95/165.36 new_primQuotInt(x0, Pos(Zero)) 248.95/165.36 new_gcd0Gcd'11(False, x0, x1) 248.95/165.36 new_sr9(x0) 248.95/165.36 new_primModNatS1(Succ(Succ(x0)), Zero) 248.95/165.36 new_esEs0(x0, ty_Integer) 248.95/165.36 new_gcd0Gcd'00(x0, x1) 248.95/165.36 new_reduce2Reduce1(x0, x1, x2, x3, True, x4) 248.95/165.36 new_sr3(x0, ty_Double) 248.95/165.36 new_esEs(Neg(Zero)) 248.95/165.36 new_primMulNat1(Zero) 248.95/165.36 new_rem(Neg(x0), Neg(Zero)) 248.95/165.36 new_new_pr2F0G10(Succ(Succ(x0))) 248.95/165.36 anew_new_pr2F0G10(Succ(Succ(x0))) 248.95/165.36 new_new_pr2F0G10(Succ(Zero)) 248.95/165.36 new_new_pr2F0G10(Zero) 248.95/165.36 248.95/165.36 We have to consider all minimal (P,Q,R)-chains. 248.95/165.36 ---------------------------------------- 248.95/165.36 248.95/165.36 (823) MNOCProof (EQUIVALENT) 248.95/165.36 We use the modular non-overlap check [FROCOS05] to decrease Q to the empty set. 248.95/165.36 ---------------------------------------- 248.95/165.36 248.95/165.36 (824) 248.95/165.36 Obligation: 248.95/165.36 Q DP problem: 248.95/165.36 The TRS P consists of the following rules: 248.95/165.36 248.95/165.36 new_pr2F30(False, z0, z1, Pos(Succ(Zero)), z2, z3) -> new_pr2F0(z0, Neg(Succ(Succ(new_primPlusNat0(z1, Zero)))), new_sr4(z0, z2, z3), z3) 248.95/165.36 new_pr2F0(vyv183, Neg(Succ(Succ(vyv222000))), vyv187, h) -> new_pr2F0G10(vyv187, vyv183, Succ(vyv222000), vyv222000, h) 248.95/165.36 new_pr2F0G10(vyv248, vyv249, vyv250, Succ(Zero), bb) -> new_pr2F0G11(vyv248, vyv249, vyv250, bb) 248.95/165.36 new_pr2F0G11(vyv238, vyv239, vyv240, bc) -> new_pr2F1(vyv239, vyv240, Pos(Succ(Zero)), vyv238, bc) 248.95/165.36 new_pr2F1(z1, z2, Pos(Succ(Zero)), z0, z3) -> new_pr2F30(False, z1, z2, Pos(Succ(Zero)), z0, z3) 248.95/165.36 new_pr2F0G10(vyv248, vyv249, vyv250, Zero, bb) -> new_pr2F0G(vyv248, new_sr3(vyv249, bb), Neg(new_primDivNatS1(Succ(vyv250), Succ(Zero))), bb) 248.95/165.36 new_pr2F0G(vyv187, vyv183, Neg(Succ(Zero)), h) -> new_pr2F0G11(vyv187, vyv183, Zero, h) 248.95/165.36 new_pr2F0G(vyv187, vyv183, Neg(Succ(Succ(vyv222000))), h) -> new_pr2F0G10(vyv187, vyv183, Succ(vyv222000), vyv222000, h) 248.95/165.36 new_pr2F0(vyv183, Neg(Succ(Succ(vyv222000))), vyv187, h) -> H(vyv187, vyv183, Succ(vyv222000), h, anew_new_pr2F0G10(vyv222000)) 248.95/165.36 new_pr2F0G(vyv187, vyv183, Neg(Succ(Succ(vyv222000))), h) -> H(vyv187, vyv183, Succ(vyv222000), h, anew_new_pr2F0G10(vyv222000)) 248.95/165.36 H(vyv248, vyv249, vyv250, bb, cons_new_pr2F0G10(Succ(Zero))) -> new_pr2F0G10(vyv248, vyv249, vyv250, Succ(Zero), bb) 248.95/165.36 H(vyv248, vyv249, vyv250, bb, cons_new_pr2F0G10(Zero)) -> new_pr2F0G10(vyv248, vyv249, vyv250, Zero, bb) 248.95/165.36 248.95/165.36 The TRS R consists of the following rules: 248.95/165.36 248.95/165.36 new_sr3(vyv249, ty_Float) -> new_sr10(vyv249) 248.95/165.36 new_sr3(vyv249, ty_Double) -> new_sr9(vyv249) 248.95/165.36 new_sr3(vyv249, ty_Int) -> new_sr6(vyv249) 248.95/165.36 new_sr3(vyv249, ty_Integer) -> new_sr7(vyv249) 248.95/165.36 new_sr3(vyv249, app(ty_Ratio, bg)) -> new_sr5(vyv249, bg) 248.95/165.36 new_primDivNatS1(Succ(Zero), Succ(vyv284000)) -> Zero 248.95/165.36 new_primDivNatS1(Succ(Succ(vyv270000)), Succ(vyv284000)) -> new_primDivNatS02(vyv270000, vyv284000, vyv270000, vyv284000) 248.95/165.36 new_primDivNatS02(vyv310, vyv311, Zero, Zero) -> new_primDivNatS01(vyv310, vyv311) 248.95/165.36 new_primDivNatS02(vyv310, vyv311, Succ(vyv3120), Zero) -> new_primDivNatS01(vyv310, vyv311) 248.95/165.36 new_primDivNatS02(vyv310, vyv311, Zero, Succ(vyv3130)) -> Zero 248.95/165.36 new_primDivNatS02(vyv310, vyv311, Succ(vyv3120), Succ(vyv3130)) -> new_primDivNatS02(vyv310, vyv311, vyv3120, vyv3130) 248.95/165.36 new_primDivNatS01(vyv310, vyv311) -> Succ(new_primDivNatS1(new_primMinusNatS2(vyv310, vyv311), Succ(vyv311))) 248.95/165.36 new_primMinusNatS2(Zero, Succ(vyv3110)) -> Zero 248.95/165.36 new_primMinusNatS2(Succ(vyv3100), Zero) -> Succ(vyv3100) 248.95/165.36 new_primMinusNatS2(Zero, Zero) -> Zero 248.95/165.36 new_primMinusNatS2(Succ(vyv3100), Succ(vyv3110)) -> new_primMinusNatS2(vyv3100, vyv3110) 248.95/165.36 new_primDivNatS1(Zero, vyv28400) -> Zero 248.95/165.36 new_sr5(:%(vyv1830, vyv1831), bd) -> new_reduce2Reduce1(vyv1830, vyv1830, vyv1831, vyv1831, new_esEs0(vyv1831, bd), bd) 248.95/165.36 new_esEs0(vyv1831, ty_Int) -> new_esEs(new_sr6(vyv1831)) 248.95/165.36 new_esEs0(vyv1831, ty_Integer) -> new_esEs1(new_sr7(vyv1831)) 248.95/165.36 new_reduce2Reduce1(vyv264, vyv265, vyv266, vyv267, False, bh) -> :%(new_quot1(vyv264, vyv265, vyv266, vyv267, bh), new_quot2(vyv266, vyv267, vyv264, vyv265, bh)) 248.95/165.36 new_reduce2Reduce1(vyv264, vyv265, vyv266, vyv267, True, bh) -> error([]) 248.95/165.36 new_quot1(vyv264, vyv265, vyv266, vyv267, ty_Int) -> new_quot0(new_sr14(vyv264, vyv265), new_sr14(vyv264, vyv265), new_sr14(vyv266, vyv267)) 248.95/165.36 new_quot1(vyv264, vyv265, vyv266, vyv267, ty_Integer) -> new_quot(new_sr8(vyv264, vyv265), new_sr8(vyv264, vyv265), new_sr8(vyv266, vyv267)) 248.95/165.36 new_quot2(vyv266, vyv267, vyv264, vyv265, ty_Int) -> new_quot0(new_sr14(vyv266, vyv267), new_sr14(vyv264, vyv265), new_sr14(vyv266, vyv267)) 248.95/165.36 new_quot2(vyv266, vyv267, vyv264, vyv265, ty_Integer) -> new_quot(new_sr8(vyv266, vyv267), new_sr8(vyv264, vyv265), new_sr8(vyv266, vyv267)) 248.95/165.36 new_sr8(vyv239, vyv238) -> error([]) 248.95/165.36 new_quot(vyv273, vyv275, vyv274) -> error([]) 248.95/165.36 new_sr14(Pos(vyv2390), Neg(vyv2380)) -> Neg(new_primMulNat0(vyv2390, vyv2380)) 248.95/165.36 new_sr14(Neg(vyv2390), Pos(vyv2380)) -> Neg(new_primMulNat0(vyv2390, vyv2380)) 248.95/165.36 new_sr14(Neg(vyv2390), Neg(vyv2380)) -> Pos(new_primMulNat0(vyv2390, vyv2380)) 248.95/165.36 new_sr14(Pos(vyv2390), Pos(vyv2380)) -> Pos(new_primMulNat0(vyv2390, vyv2380)) 248.95/165.36 new_quot0(Neg(vyv2700), vyv272, vyv271) -> new_primQuotInt0(vyv2700, new_gcd(vyv272, vyv271)) 248.95/165.36 new_quot0(Pos(vyv2700), vyv272, vyv271) -> new_primQuotInt(vyv2700, new_gcd(vyv272, vyv271)) 248.95/165.36 new_gcd(vyv272, vyv271) -> new_gcd2(new_esEs(vyv272), vyv272, vyv271) 248.95/165.36 new_primQuotInt(vyv2700, Pos(Succ(vyv28400))) -> Pos(new_primDivNatS1(vyv2700, vyv28400)) 248.95/165.36 new_primQuotInt(vyv2700, Neg(Zero)) -> new_error 248.95/165.36 new_primQuotInt(vyv2700, Pos(Zero)) -> new_error 248.95/165.36 new_primQuotInt(vyv2700, Neg(Succ(vyv28400))) -> Neg(new_primDivNatS1(vyv2700, vyv28400)) 248.95/165.36 new_primDivNatS1(Succ(Succ(vyv270000)), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS0(vyv270000), Zero)) 248.95/165.36 new_primDivNatS1(Succ(Zero), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS1, Zero)) 248.95/165.36 new_primMinusNatS1 -> Zero 248.95/165.36 new_primMinusNatS0(vyv270000) -> Succ(vyv270000) 248.95/165.36 new_error -> error([]) 248.95/165.36 new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) 248.95/165.36 new_esEs(Pos(Succ(vyv24100))) -> new_primEqInt(Pos(Succ(vyv24100))) 248.95/165.36 new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) 248.95/165.36 new_esEs(Neg(Succ(vyv24100))) -> new_primEqInt(Neg(Succ(vyv24100))) 248.95/165.36 new_gcd2(True, vyv272, vyv271) -> new_gcd1(new_esEs(vyv271), vyv272, vyv271) 248.95/165.36 new_gcd2(False, vyv272, vyv271) -> new_gcd0(vyv272, vyv271) 248.95/165.36 new_gcd0(vyv272, vyv271) -> new_gcd0Gcd'10(new_esEs(new_abs(vyv271)), vyv272, vyv271) 248.95/165.36 new_abs(Neg(Zero)) -> Neg(Zero) 248.95/165.36 new_abs(Neg(Succ(vyv27100))) -> Pos(Succ(vyv27100)) 248.95/165.36 new_abs(Pos(Succ(vyv27100))) -> Pos(Succ(vyv27100)) 248.95/165.36 new_abs(Pos(Zero)) -> Pos(Zero) 248.95/165.36 new_gcd0Gcd'10(True, vyv272, vyv271) -> new_abs(vyv272) 248.95/165.36 new_gcd0Gcd'10(False, vyv272, vyv271) -> new_gcd0Gcd'00(new_abs(vyv272), new_abs(vyv271)) 248.95/165.36 new_gcd0Gcd'11(False, vyv291, vyv292) -> new_gcd0Gcd'00(vyv291, new_rem(vyv292, vyv291)) 248.95/165.36 new_gcd0Gcd'00(vyv292, vyv291) -> new_gcd0Gcd'11(new_esEs(new_rem(vyv292, vyv291)), vyv291, vyv292) 248.95/165.36 new_rem(Pos(vyv2920), Neg(Zero)) -> new_error 248.95/165.36 new_rem(Neg(vyv2920), Pos(Zero)) -> new_error 248.95/165.36 new_rem(Pos(vyv2920), Neg(Succ(vyv29100))) -> Pos(new_primModNatS1(vyv2920, vyv29100)) 248.95/165.36 new_rem(Neg(vyv2920), Pos(Succ(vyv29100))) -> Neg(new_primModNatS1(vyv2920, vyv29100)) 248.95/165.36 new_rem(Pos(vyv2920), Pos(Succ(vyv29100))) -> Pos(new_primModNatS1(vyv2920, vyv29100)) 248.95/165.36 new_rem(Neg(vyv2920), Neg(Zero)) -> new_error 248.95/165.36 new_rem(Neg(vyv2920), Neg(Succ(vyv29100))) -> Neg(new_primModNatS1(vyv2920, vyv29100)) 248.95/165.36 new_rem(Pos(vyv2920), Pos(Zero)) -> new_error 248.95/165.36 new_gcd0Gcd'11(True, vyv291, vyv292) -> vyv291 248.95/165.36 new_primModNatS1(Succ(Zero), Succ(vyv291000)) -> Succ(Zero) 248.95/165.36 new_primModNatS1(Zero, vyv29100) -> Zero 248.95/165.36 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 248.95/165.36 new_primModNatS1(Succ(Succ(vyv292000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv292000), Zero) 248.95/165.36 new_primModNatS1(Succ(Succ(vyv292000)), Succ(vyv291000)) -> new_primModNatS01(vyv292000, vyv291000, vyv292000, vyv291000) 248.95/165.36 new_primModNatS01(vyv330, vyv331, Zero, Zero) -> new_primModNatS02(vyv330, vyv331) 248.95/165.36 new_primModNatS02(vyv330, vyv331) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv330), Succ(vyv331)), Succ(vyv331)) 248.95/165.36 new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Zero) -> new_primModNatS02(vyv330, vyv331) 248.95/165.36 new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Succ(vyv3330)) -> new_primModNatS01(vyv330, vyv331, vyv3320, vyv3330) 248.95/165.36 new_primModNatS01(vyv330, vyv331, Zero, Succ(vyv3330)) -> Succ(Succ(vyv330)) 248.95/165.36 new_gcd1(True, vyv272, vyv271) -> new_error 248.95/165.36 new_gcd1(False, vyv272, vyv271) -> new_gcd0(vyv272, vyv271) 248.95/165.36 new_primEqInt(Neg(Succ(vyv242000))) -> False 248.95/165.36 new_primEqInt(Pos(Zero)) -> True 248.95/165.36 new_primEqInt(Pos(Succ(vyv242000))) -> False 248.95/165.36 new_primEqInt(Neg(Zero)) -> True 248.95/165.36 new_primQuotInt0(vyv2700, Pos(Succ(vyv28700))) -> Neg(new_primDivNatS1(vyv2700, vyv28700)) 248.95/165.36 new_primQuotInt0(vyv2700, Neg(Zero)) -> new_error 248.95/165.36 new_primQuotInt0(vyv2700, Neg(Succ(vyv28700))) -> Pos(new_primDivNatS1(vyv2700, vyv28700)) 248.95/165.36 new_primQuotInt0(vyv2700, Pos(Zero)) -> new_error 248.95/165.36 new_primMulNat0(Succ(vyv23900), Zero) -> Zero 248.95/165.36 new_primMulNat0(Zero, Succ(vyv23800)) -> Zero 248.95/165.36 new_primMulNat0(Zero, Zero) -> Zero 248.95/165.36 new_primMulNat0(Succ(vyv23900), Succ(vyv23800)) -> new_primPlusNat0(new_primMulNat0(vyv23900, Succ(vyv23800)), Succ(vyv23800)) 248.95/165.36 new_primPlusNat0(Succ(vyv4000), Succ(vyv5000)) -> Succ(Succ(new_primPlusNat0(vyv4000, vyv5000))) 248.95/165.36 new_primPlusNat0(Zero, Succ(vyv5000)) -> Succ(vyv5000) 248.95/165.36 new_primPlusNat0(Zero, Zero) -> Zero 248.95/165.36 new_primPlusNat0(Succ(vyv4000), Zero) -> Succ(vyv4000) 248.95/165.36 new_sr7(vyv183) -> error([]) 248.95/165.36 new_esEs1(Integer(vyv2690)) -> new_primEqInt(vyv2690) 248.95/165.36 new_sr6(Neg(vyv1830)) -> Pos(new_primMulNat1(vyv1830)) 248.95/165.36 new_sr6(Pos(vyv1830)) -> Pos(new_primMulNat1(vyv1830)) 248.95/165.36 new_primMulNat1(Succ(vyv18300)) -> new_primPlusNat0(new_primMulNat2(vyv18300), Succ(vyv18300)) 248.95/165.36 new_primMulNat1(Zero) -> Zero 248.95/165.36 new_primMulNat2(Succ(vyv183000)) -> new_primPlusNat0(new_primMulNat3(vyv183000), Succ(Succ(vyv183000))) 248.95/165.36 new_primMulNat2(Zero) -> Zero 248.95/165.36 new_primMulNat3(Succ(vyv1830000)) -> new_primPlusNat0(new_primMulNat4(vyv1830000), Succ(Succ(Succ(vyv1830000)))) 248.95/165.36 new_primMulNat3(Zero) -> Zero 248.95/165.36 new_primMulNat4(Succ(vyv18300000)) -> new_primPlusNat0(new_primMulNat0(vyv18300000, Succ(Succ(Succ(Succ(vyv18300000))))), Succ(Succ(Succ(Succ(vyv18300000))))) 248.95/165.36 new_primMulNat4(Zero) -> Zero 248.95/165.36 new_sr9(vyv183) -> error([]) 248.95/165.36 new_sr10(vyv183) -> error([]) 248.95/165.36 new_sr4(vyv239, vyv238, app(ty_Ratio, bf)) -> new_sr12(vyv239, vyv238, bf) 248.95/165.36 new_sr4(vyv239, vyv238, ty_Integer) -> new_sr8(vyv239, vyv238) 248.95/165.36 new_sr4(vyv239, vyv238, ty_Int) -> new_sr14(vyv239, vyv238) 248.95/165.36 new_sr4(vyv239, vyv238, ty_Double) -> new_sr11(vyv239, vyv238) 248.95/165.36 new_sr4(vyv239, vyv238, ty_Float) -> new_sr13(vyv239, vyv238) 248.95/165.36 new_sr13(vyv239, vyv238) -> error([]) 248.95/165.36 new_sr11(vyv239, vyv238) -> error([]) 248.95/165.36 new_sr12(:%(vyv2390, vyv2391), :%(vyv2380, vyv2381), bf) -> new_reduce2Reduce1(vyv2390, vyv2380, vyv2391, vyv2381, new_esEs2(vyv2391, vyv2381, bf), bf) 248.95/165.36 new_esEs2(vyv2391, vyv2381, ty_Int) -> new_esEs(new_sr14(vyv2391, vyv2381)) 248.95/165.36 new_esEs2(vyv2391, vyv2381, ty_Integer) -> new_esEs1(new_sr8(vyv2391, vyv2381)) 248.95/165.36 anew_new_pr2F0G10(Succ(Succ(vyv25100))) -> new_new_pr2F0G10(vyv25100) 248.95/165.36 new_new_pr2F0G10(Succ(Succ(vyv25100))) -> new_new_pr2F0G10(vyv25100) 248.95/165.36 new_new_pr2F0G10(Succ(Zero)) -> cons_new_pr2F0G10(Succ(Zero)) 248.95/165.36 new_new_pr2F0G10(Zero) -> cons_new_pr2F0G10(Zero) 248.95/165.36 248.95/165.36 Q is empty. 248.95/165.36 We have to consider all (P,Q,R)-chains. 248.95/165.36 ---------------------------------------- 248.95/165.36 248.95/165.36 (825) InductionCalculusProof (EQUIVALENT) 248.95/165.36 Note that final constraints are written in bold face. 248.95/165.36 248.95/165.36 248.95/165.36 248.95/165.36 For Pair new_pr2F30(False, z0, z1, Pos(Succ(Zero)), z2, z3) -> new_pr2F0(z0, Neg(Succ(Succ(new_primPlusNat0(z1, Zero)))), new_sr4(z0, z2, z3), z3) the following chains were created: 248.95/165.36 *We consider the chain new_pr2F30(False, x4, x5, Pos(Succ(Zero)), x6, x7) -> new_pr2F0(x4, Neg(Succ(Succ(new_primPlusNat0(x5, Zero)))), new_sr4(x4, x6, x7), x7), new_pr2F0(x8, Neg(Succ(Succ(x9))), x10, x11) -> new_pr2F0G10(x10, x8, Succ(x9), x9, x11) which results in the following constraint: 248.95/165.36 248.95/165.36 (1) (new_pr2F0(x4, Neg(Succ(Succ(new_primPlusNat0(x5, Zero)))), new_sr4(x4, x6, x7), x7)=new_pr2F0(x8, Neg(Succ(Succ(x9))), x10, x11) ==> new_pr2F30(False, x4, x5, Pos(Succ(Zero)), x6, x7)_>=_new_pr2F0(x4, Neg(Succ(Succ(new_primPlusNat0(x5, Zero)))), new_sr4(x4, x6, x7), x7)) 248.95/165.36 248.95/165.36 248.95/165.36 248.95/165.36 We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: 248.95/165.36 248.95/165.36 (2) (new_pr2F30(False, x4, x5, Pos(Succ(Zero)), x6, x7)_>=_new_pr2F0(x4, Neg(Succ(Succ(new_primPlusNat0(x5, Zero)))), new_sr4(x4, x6, x7), x7)) 248.95/165.36 248.95/165.36 248.95/165.36 248.95/165.36 248.95/165.36 *We consider the chain new_pr2F30(False, x36, x37, Pos(Succ(Zero)), x38, x39) -> new_pr2F0(x36, Neg(Succ(Succ(new_primPlusNat0(x37, Zero)))), new_sr4(x36, x38, x39), x39), new_pr2F0(x40, Neg(Succ(Succ(x41))), x42, x43) -> H(x42, x40, Succ(x41), x43, anew_new_pr2F0G10(x41)) which results in the following constraint: 248.95/165.36 248.95/165.36 (1) (new_pr2F0(x36, Neg(Succ(Succ(new_primPlusNat0(x37, Zero)))), new_sr4(x36, x38, x39), x39)=new_pr2F0(x40, Neg(Succ(Succ(x41))), x42, x43) ==> new_pr2F30(False, x36, x37, Pos(Succ(Zero)), x38, x39)_>=_new_pr2F0(x36, Neg(Succ(Succ(new_primPlusNat0(x37, Zero)))), new_sr4(x36, x38, x39), x39)) 248.95/165.36 248.95/165.36 248.95/165.36 248.95/165.36 We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: 248.95/165.36 248.95/165.36 (2) (new_pr2F30(False, x36, x37, Pos(Succ(Zero)), x38, x39)_>=_new_pr2F0(x36, Neg(Succ(Succ(new_primPlusNat0(x37, Zero)))), new_sr4(x36, x38, x39), x39)) 248.95/165.36 248.95/165.36 248.95/165.36 248.95/165.36 248.95/165.36 248.95/165.36 248.95/165.36 248.95/165.36 248.95/165.36 For Pair new_pr2F0(vyv183, Neg(Succ(Succ(vyv222000))), vyv187, h) -> new_pr2F0G10(vyv187, vyv183, Succ(vyv222000), vyv222000, h) the following chains were created: 248.95/165.36 *We consider the chain new_pr2F0(x64, Neg(Succ(Succ(x65))), x66, x67) -> new_pr2F0G10(x66, x64, Succ(x65), x65, x67), new_pr2F0G10(x68, x69, x70, Succ(Zero), x71) -> new_pr2F0G11(x68, x69, x70, x71) which results in the following constraint: 248.95/165.36 248.95/165.36 (1) (new_pr2F0G10(x66, x64, Succ(x65), x65, x67)=new_pr2F0G10(x68, x69, x70, Succ(Zero), x71) ==> new_pr2F0(x64, Neg(Succ(Succ(x65))), x66, x67)_>=_new_pr2F0G10(x66, x64, Succ(x65), x65, x67)) 248.95/165.36 248.95/165.36 248.95/165.36 248.95/165.36 We simplified constraint (1) using rules (I), (II), (III), (IV) which results in the following new constraint: 248.95/165.36 248.95/165.36 (2) (new_pr2F0(x64, Neg(Succ(Succ(Succ(Zero)))), x66, x67)_>=_new_pr2F0G10(x66, x64, Succ(Succ(Zero)), Succ(Zero), x67)) 248.95/165.36 248.95/165.36 248.95/165.36 248.95/165.36 248.95/165.36 *We consider the chain new_pr2F0(x80, Neg(Succ(Succ(x81))), x82, x83) -> new_pr2F0G10(x82, x80, Succ(x81), x81, x83), new_pr2F0G10(x84, x85, x86, Zero, x87) -> new_pr2F0G(x84, new_sr3(x85, x87), Neg(new_primDivNatS1(Succ(x86), Succ(Zero))), x87) which results in the following constraint: 248.95/165.36 248.95/165.36 (1) (new_pr2F0G10(x82, x80, Succ(x81), x81, x83)=new_pr2F0G10(x84, x85, x86, Zero, x87) ==> new_pr2F0(x80, Neg(Succ(Succ(x81))), x82, x83)_>=_new_pr2F0G10(x82, x80, Succ(x81), x81, x83)) 248.95/165.36 248.95/165.36 248.95/165.36 248.95/165.36 We simplified constraint (1) using rules (I), (II), (III), (IV) which results in the following new constraint: 248.95/165.36 248.95/165.36 (2) (new_pr2F0(x80, Neg(Succ(Succ(Zero))), x82, x83)_>=_new_pr2F0G10(x82, x80, Succ(Zero), Zero, x83)) 248.95/165.36 248.95/165.36 248.95/165.36 248.95/165.36 248.95/165.36 248.95/165.36 248.95/165.36 248.95/165.36 248.95/165.36 For Pair new_pr2F0G10(vyv248, vyv249, vyv250, Succ(Zero), bb) -> new_pr2F0G11(vyv248, vyv249, vyv250, bb) the following chains were created: 248.95/165.36 *We consider the chain new_pr2F0G10(x124, x125, x126, Succ(Zero), x127) -> new_pr2F0G11(x124, x125, x126, x127), new_pr2F0G11(x128, x129, x130, x131) -> new_pr2F1(x129, x130, Pos(Succ(Zero)), x128, x131) which results in the following constraint: 248.95/165.36 248.95/165.36 (1) (new_pr2F0G11(x124, x125, x126, x127)=new_pr2F0G11(x128, x129, x130, x131) ==> new_pr2F0G10(x124, x125, x126, Succ(Zero), x127)_>=_new_pr2F0G11(x124, x125, x126, x127)) 248.95/165.36 248.95/165.36 248.95/165.36 248.95/165.36 We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: 248.95/165.36 248.95/165.36 (2) (new_pr2F0G10(x124, x125, x126, Succ(Zero), x127)_>=_new_pr2F0G11(x124, x125, x126, x127)) 248.95/165.36 248.95/165.36 248.95/165.36 248.95/165.36 248.95/165.36 248.95/165.36 248.95/165.36 248.95/165.36 248.95/165.36 For Pair new_pr2F0G11(vyv238, vyv239, vyv240, bc) -> new_pr2F1(vyv239, vyv240, Pos(Succ(Zero)), vyv238, bc) the following chains were created: 248.95/165.36 *We consider the chain new_pr2F0G11(x180, x181, x182, x183) -> new_pr2F1(x181, x182, Pos(Succ(Zero)), x180, x183), new_pr2F1(x184, x185, Pos(Succ(Zero)), x186, x187) -> new_pr2F30(False, x184, x185, Pos(Succ(Zero)), x186, x187) which results in the following constraint: 248.95/165.36 248.95/165.36 (1) (new_pr2F1(x181, x182, Pos(Succ(Zero)), x180, x183)=new_pr2F1(x184, x185, Pos(Succ(Zero)), x186, x187) ==> new_pr2F0G11(x180, x181, x182, x183)_>=_new_pr2F1(x181, x182, Pos(Succ(Zero)), x180, x183)) 248.95/165.36 248.95/165.36 248.95/165.36 248.95/165.36 We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: 248.95/165.36 248.95/165.36 (2) (new_pr2F0G11(x180, x181, x182, x183)_>=_new_pr2F1(x181, x182, Pos(Succ(Zero)), x180, x183)) 248.95/165.36 248.95/165.36 248.95/165.36 248.95/165.36 248.95/165.36 248.95/165.36 248.95/165.36 248.95/165.36 248.95/165.36 For Pair new_pr2F1(z1, z2, Pos(Succ(Zero)), z0, z3) -> new_pr2F30(False, z1, z2, Pos(Succ(Zero)), z0, z3) the following chains were created: 248.95/165.36 *We consider the chain new_pr2F1(x216, x217, Pos(Succ(Zero)), x218, x219) -> new_pr2F30(False, x216, x217, Pos(Succ(Zero)), x218, x219), new_pr2F30(False, x220, x221, Pos(Succ(Zero)), x222, x223) -> new_pr2F0(x220, Neg(Succ(Succ(new_primPlusNat0(x221, Zero)))), new_sr4(x220, x222, x223), x223) which results in the following constraint: 248.95/165.36 248.95/165.36 (1) (new_pr2F30(False, x216, x217, Pos(Succ(Zero)), x218, x219)=new_pr2F30(False, x220, x221, Pos(Succ(Zero)), x222, x223) ==> new_pr2F1(x216, x217, Pos(Succ(Zero)), x218, x219)_>=_new_pr2F30(False, x216, x217, Pos(Succ(Zero)), x218, x219)) 248.95/165.36 248.95/165.36 248.95/165.36 248.95/165.36 We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: 248.95/165.36 248.95/165.36 (2) (new_pr2F1(x216, x217, Pos(Succ(Zero)), x218, x219)_>=_new_pr2F30(False, x216, x217, Pos(Succ(Zero)), x218, x219)) 248.95/165.36 248.95/165.36 248.95/165.36 248.95/165.36 248.95/165.36 248.95/165.36 248.95/165.36 248.95/165.36 248.95/165.36 For Pair new_pr2F0G10(vyv248, vyv249, vyv250, Zero, bb) -> new_pr2F0G(vyv248, new_sr3(vyv249, bb), Neg(new_primDivNatS1(Succ(vyv250), Succ(Zero))), bb) the following chains were created: 248.95/165.36 *We consider the chain new_pr2F0G10(x292, x293, x294, Zero, x295) -> new_pr2F0G(x292, new_sr3(x293, x295), Neg(new_primDivNatS1(Succ(x294), Succ(Zero))), x295), new_pr2F0G(x296, x297, Neg(Succ(Zero)), x298) -> new_pr2F0G11(x296, x297, Zero, x298) which results in the following constraint: 248.95/165.36 248.95/165.36 (1) (new_pr2F0G(x292, new_sr3(x293, x295), Neg(new_primDivNatS1(Succ(x294), Succ(Zero))), x295)=new_pr2F0G(x296, x297, Neg(Succ(Zero)), x298) ==> new_pr2F0G10(x292, x293, x294, Zero, x295)_>=_new_pr2F0G(x292, new_sr3(x293, x295), Neg(new_primDivNatS1(Succ(x294), Succ(Zero))), x295)) 248.95/165.36 248.95/165.36 248.95/165.36 248.95/165.36 We simplified constraint (1) using rules (I), (II), (IV), (VII) which results in the following new constraint: 248.95/165.36 248.95/165.36 (2) (Succ(x294)=x639 & Succ(Zero)=x640 & new_primDivNatS1(x639, x640)=Succ(Zero) ==> new_pr2F0G10(x292, x293, x294, Zero, x295)_>=_new_pr2F0G(x292, new_sr3(x293, x295), Neg(new_primDivNatS1(Succ(x294), Succ(Zero))), x295)) 248.95/165.36 248.95/165.36 248.95/165.36 248.95/165.36 We simplified constraint (2) using rule (V) (with possible (I) afterwards) using induction on new_primDivNatS1(x639, x640)=Succ(Zero) which results in the following new constraints: 248.95/165.36 248.95/165.36 (3) (new_primDivNatS02(x643, x642, x643, x642)=Succ(Zero) & Succ(x294)=Succ(Succ(x643)) & Succ(Zero)=Succ(x642) ==> new_pr2F0G10(x292, x293, x294, Zero, x295)_>=_new_pr2F0G(x292, new_sr3(x293, x295), Neg(new_primDivNatS1(Succ(x294), Succ(Zero))), x295)) 248.95/165.36 248.95/165.36 (4) (Succ(new_primDivNatS1(new_primMinusNatS0(x645), Zero))=Succ(Zero) & Succ(x294)=Succ(Succ(x645)) & Succ(Zero)=Zero ==> new_pr2F0G10(x292, x293, x294, Zero, x295)_>=_new_pr2F0G(x292, new_sr3(x293, x295), Neg(new_primDivNatS1(Succ(x294), Succ(Zero))), x295)) 248.95/165.36 248.95/165.36 (5) (Succ(new_primDivNatS1(new_primMinusNatS1, Zero))=Succ(Zero) & Succ(x294)=Succ(Zero) & Succ(Zero)=Zero ==> new_pr2F0G10(x292, x293, x294, Zero, x295)_>=_new_pr2F0G(x292, new_sr3(x293, x295), Neg(new_primDivNatS1(Succ(x294), Succ(Zero))), x295)) 248.95/165.36 248.95/165.36 248.95/165.36 248.95/165.36 We simplified constraint (3) using rules (I), (II), (III), (VII) which results in the following new constraint: 248.95/165.36 248.95/165.36 (6) (x643=x646 & x642=x647 & new_primDivNatS02(x643, x642, x646, x647)=Succ(Zero) & Zero=x642 ==> new_pr2F0G10(x292, x293, Succ(x643), Zero, x295)_>=_new_pr2F0G(x292, new_sr3(x293, x295), Neg(new_primDivNatS1(Succ(Succ(x643)), Succ(Zero))), x295)) 248.95/165.36 248.95/165.36 248.95/165.36 248.95/165.36 We solved constraint (4) using rules (I), (II).We solved constraint (5) using rules (I), (II).We simplified constraint (6) using rule (V) (with possible (I) afterwards) using induction on new_primDivNatS02(x643, x642, x646, x647)=Succ(Zero) which results in the following new constraints: 248.95/165.36 248.95/165.36 (7) (new_primDivNatS01(x649, x648)=Succ(Zero) & x649=Zero & x648=Zero & Zero=x648 ==> new_pr2F0G10(x292, x293, Succ(x649), Zero, x295)_>=_new_pr2F0G(x292, new_sr3(x293, x295), Neg(new_primDivNatS1(Succ(Succ(x649)), Succ(Zero))), x295)) 248.95/165.36 248.95/165.36 (8) (new_primDivNatS01(x652, x651)=Succ(Zero) & x652=Succ(x650) & x651=Zero & Zero=x651 ==> new_pr2F0G10(x292, x293, Succ(x652), Zero, x295)_>=_new_pr2F0G(x292, new_sr3(x293, x295), Neg(new_primDivNatS1(Succ(Succ(x652)), Succ(Zero))), x295)) 248.95/165.36 248.95/165.36 (9) (new_primDivNatS02(x659, x658, x657, x656)=Succ(Zero) & x659=Succ(x657) & x658=Succ(x656) & Zero=x658 & (\/x660,x661,x662:new_primDivNatS02(x659, x658, x657, x656)=Succ(Zero) & x659=x657 & x658=x656 & Zero=x658 ==> new_pr2F0G10(x660, x661, Succ(x659), Zero, x662)_>=_new_pr2F0G(x660, new_sr3(x661, x662), Neg(new_primDivNatS1(Succ(Succ(x659)), Succ(Zero))), x662)) ==> new_pr2F0G10(x292, x293, Succ(x659), Zero, x295)_>=_new_pr2F0G(x292, new_sr3(x293, x295), Neg(new_primDivNatS1(Succ(Succ(x659)), Succ(Zero))), x295)) 248.95/165.36 248.95/165.36 248.95/165.36 248.95/165.36 We simplified constraint (7) using rules (I), (II), (III), (IV), (VII) which results in the following new constraint: 248.95/165.36 248.95/165.36 (10) (new_pr2F0G10(x292, x293, Succ(Zero), Zero, x295)_>=_new_pr2F0G(x292, new_sr3(x293, x295), Neg(new_primDivNatS1(Succ(Succ(Zero)), Succ(Zero))), x295)) 248.95/165.36 248.95/165.36 248.95/165.36 248.95/165.36 We simplified constraint (8) using rules (I), (II), (III), (IV), (VII) which results in the following new constraint: 248.95/165.36 248.95/165.36 (11) (new_pr2F0G10(x292, x293, Succ(Succ(x650)), Zero, x295)_>=_new_pr2F0G(x292, new_sr3(x293, x295), Neg(new_primDivNatS1(Succ(Succ(Succ(x650))), Succ(Zero))), x295)) 248.95/165.36 248.95/165.36 248.95/165.36 248.95/165.36 We solved constraint (9) using rules (I), (II), (III). 248.95/165.36 *We consider the chain new_pr2F0G10(x299, x300, x301, Zero, x302) -> new_pr2F0G(x299, new_sr3(x300, x302), Neg(new_primDivNatS1(Succ(x301), Succ(Zero))), x302), new_pr2F0G(x303, x304, Neg(Succ(Succ(x305))), x306) -> new_pr2F0G10(x303, x304, Succ(x305), x305, x306) which results in the following constraint: 248.95/165.36 248.95/165.36 (1) (new_pr2F0G(x299, new_sr3(x300, x302), Neg(new_primDivNatS1(Succ(x301), Succ(Zero))), x302)=new_pr2F0G(x303, x304, Neg(Succ(Succ(x305))), x306) ==> new_pr2F0G10(x299, x300, x301, Zero, x302)_>=_new_pr2F0G(x299, new_sr3(x300, x302), Neg(new_primDivNatS1(Succ(x301), Succ(Zero))), x302)) 248.95/165.36 248.95/165.36 248.95/165.36 248.95/165.36 We simplified constraint (1) using rules (I), (II), (IV), (VII) which results in the following new constraint: 248.95/165.36 248.95/165.36 (2) (Succ(x301)=x667 & Succ(Zero)=x668 & new_primDivNatS1(x667, x668)=Succ(Succ(x305)) ==> new_pr2F0G10(x299, x300, x301, Zero, x302)_>=_new_pr2F0G(x299, new_sr3(x300, x302), Neg(new_primDivNatS1(Succ(x301), Succ(Zero))), x302)) 248.95/165.36 248.95/165.36 248.95/165.36 248.95/165.36 We simplified constraint (2) using rule (V) (with possible (I) afterwards) using induction on new_primDivNatS1(x667, x668)=Succ(Succ(x305)) which results in the following new constraints: 248.95/165.36 248.95/165.36 (3) (new_primDivNatS02(x671, x670, x671, x670)=Succ(Succ(x305)) & Succ(x301)=Succ(Succ(x671)) & Succ(Zero)=Succ(x670) ==> new_pr2F0G10(x299, x300, x301, Zero, x302)_>=_new_pr2F0G(x299, new_sr3(x300, x302), Neg(new_primDivNatS1(Succ(x301), Succ(Zero))), x302)) 248.95/165.36 248.95/165.36 (4) (Succ(new_primDivNatS1(new_primMinusNatS0(x673), Zero))=Succ(Succ(x305)) & Succ(x301)=Succ(Succ(x673)) & Succ(Zero)=Zero ==> new_pr2F0G10(x299, x300, x301, Zero, x302)_>=_new_pr2F0G(x299, new_sr3(x300, x302), Neg(new_primDivNatS1(Succ(x301), Succ(Zero))), x302)) 248.95/165.36 248.95/165.36 (5) (Succ(new_primDivNatS1(new_primMinusNatS1, Zero))=Succ(Succ(x305)) & Succ(x301)=Succ(Zero) & Succ(Zero)=Zero ==> new_pr2F0G10(x299, x300, x301, Zero, x302)_>=_new_pr2F0G(x299, new_sr3(x300, x302), Neg(new_primDivNatS1(Succ(x301), Succ(Zero))), x302)) 248.95/165.36 248.95/165.36 248.95/165.36 248.95/165.36 We simplified constraint (3) using rules (I), (II), (III), (VII) which results in the following new constraint: 248.95/165.36 248.95/165.36 (6) (x671=x674 & x670=x675 & new_primDivNatS02(x671, x670, x674, x675)=Succ(Succ(x305)) & Zero=x670 ==> new_pr2F0G10(x299, x300, Succ(x671), Zero, x302)_>=_new_pr2F0G(x299, new_sr3(x300, x302), Neg(new_primDivNatS1(Succ(Succ(x671)), Succ(Zero))), x302)) 248.95/165.36 248.95/165.36 248.95/165.36 248.95/165.36 We solved constraint (4) using rules (I), (II).We solved constraint (5) using rules (I), (II).We simplified constraint (6) using rule (V) (with possible (I) afterwards) using induction on new_primDivNatS02(x671, x670, x674, x675)=Succ(Succ(x305)) which results in the following new constraints: 248.95/165.36 248.95/165.36 (7) (new_primDivNatS01(x677, x676)=Succ(Succ(x305)) & x677=Zero & x676=Zero & Zero=x676 ==> new_pr2F0G10(x299, x300, Succ(x677), Zero, x302)_>=_new_pr2F0G(x299, new_sr3(x300, x302), Neg(new_primDivNatS1(Succ(Succ(x677)), Succ(Zero))), x302)) 248.95/165.36 248.95/165.36 (8) (new_primDivNatS01(x680, x679)=Succ(Succ(x305)) & x680=Succ(x678) & x679=Zero & Zero=x679 ==> new_pr2F0G10(x299, x300, Succ(x680), Zero, x302)_>=_new_pr2F0G(x299, new_sr3(x300, x302), Neg(new_primDivNatS1(Succ(Succ(x680)), Succ(Zero))), x302)) 248.95/165.36 248.95/165.36 (9) (new_primDivNatS02(x687, x686, x685, x684)=Succ(Succ(x305)) & x687=Succ(x685) & x686=Succ(x684) & Zero=x686 & (\/x688,x689,x690,x691:new_primDivNatS02(x687, x686, x685, x684)=Succ(Succ(x688)) & x687=x685 & x686=x684 & Zero=x686 ==> new_pr2F0G10(x689, x690, Succ(x687), Zero, x691)_>=_new_pr2F0G(x689, new_sr3(x690, x691), Neg(new_primDivNatS1(Succ(Succ(x687)), Succ(Zero))), x691)) ==> new_pr2F0G10(x299, x300, Succ(x687), Zero, x302)_>=_new_pr2F0G(x299, new_sr3(x300, x302), Neg(new_primDivNatS1(Succ(Succ(x687)), Succ(Zero))), x302)) 248.95/165.36 248.95/165.36 248.95/165.36 248.95/165.36 We simplified constraint (7) using rules (I), (II), (III), (IV), (VII) which results in the following new constraint: 248.95/165.36 248.95/165.36 (10) (new_pr2F0G10(x299, x300, Succ(Zero), Zero, x302)_>=_new_pr2F0G(x299, new_sr3(x300, x302), Neg(new_primDivNatS1(Succ(Succ(Zero)), Succ(Zero))), x302)) 248.95/165.36 248.95/165.36 248.95/165.36 248.95/165.36 We simplified constraint (8) using rules (I), (II), (III), (IV), (VII) which results in the following new constraint: 248.95/165.36 248.95/165.36 (11) (new_pr2F0G10(x299, x300, Succ(Succ(x678)), Zero, x302)_>=_new_pr2F0G(x299, new_sr3(x300, x302), Neg(new_primDivNatS1(Succ(Succ(Succ(x678))), Succ(Zero))), x302)) 248.95/165.36 248.95/165.36 248.95/165.36 248.95/165.36 We solved constraint (9) using rules (I), (II), (III). 248.95/165.36 *We consider the chain new_pr2F0G10(x311, x312, x313, Zero, x314) -> new_pr2F0G(x311, new_sr3(x312, x314), Neg(new_primDivNatS1(Succ(x313), Succ(Zero))), x314), new_pr2F0G(x315, x316, Neg(Succ(Succ(x317))), x318) -> H(x315, x316, Succ(x317), x318, anew_new_pr2F0G10(x317)) which results in the following constraint: 248.95/165.36 248.95/165.36 (1) (new_pr2F0G(x311, new_sr3(x312, x314), Neg(new_primDivNatS1(Succ(x313), Succ(Zero))), x314)=new_pr2F0G(x315, x316, Neg(Succ(Succ(x317))), x318) ==> new_pr2F0G10(x311, x312, x313, Zero, x314)_>=_new_pr2F0G(x311, new_sr3(x312, x314), Neg(new_primDivNatS1(Succ(x313), Succ(Zero))), x314)) 248.95/165.36 248.95/165.36 248.95/165.36 248.95/165.36 We simplified constraint (1) using rules (I), (II), (IV), (VII) which results in the following new constraint: 248.95/165.36 248.95/165.36 (2) (Succ(x313)=x696 & Succ(Zero)=x697 & new_primDivNatS1(x696, x697)=Succ(Succ(x317)) ==> new_pr2F0G10(x311, x312, x313, Zero, x314)_>=_new_pr2F0G(x311, new_sr3(x312, x314), Neg(new_primDivNatS1(Succ(x313), Succ(Zero))), x314)) 248.95/165.36 248.95/165.36 248.95/165.36 248.95/165.36 We simplified constraint (2) using rule (V) (with possible (I) afterwards) using induction on new_primDivNatS1(x696, x697)=Succ(Succ(x317)) which results in the following new constraints: 248.95/165.36 248.95/165.36 (3) (new_primDivNatS02(x700, x699, x700, x699)=Succ(Succ(x317)) & Succ(x313)=Succ(Succ(x700)) & Succ(Zero)=Succ(x699) ==> new_pr2F0G10(x311, x312, x313, Zero, x314)_>=_new_pr2F0G(x311, new_sr3(x312, x314), Neg(new_primDivNatS1(Succ(x313), Succ(Zero))), x314)) 248.95/165.36 248.95/165.36 (4) (Succ(new_primDivNatS1(new_primMinusNatS0(x702), Zero))=Succ(Succ(x317)) & Succ(x313)=Succ(Succ(x702)) & Succ(Zero)=Zero ==> new_pr2F0G10(x311, x312, x313, Zero, x314)_>=_new_pr2F0G(x311, new_sr3(x312, x314), Neg(new_primDivNatS1(Succ(x313), Succ(Zero))), x314)) 248.95/165.36 248.95/165.36 (5) (Succ(new_primDivNatS1(new_primMinusNatS1, Zero))=Succ(Succ(x317)) & Succ(x313)=Succ(Zero) & Succ(Zero)=Zero ==> new_pr2F0G10(x311, x312, x313, Zero, x314)_>=_new_pr2F0G(x311, new_sr3(x312, x314), Neg(new_primDivNatS1(Succ(x313), Succ(Zero))), x314)) 248.95/165.36 248.95/165.36 248.95/165.36 248.95/165.36 We simplified constraint (3) using rules (I), (II), (III), (VII) which results in the following new constraint: 248.95/165.36 248.95/165.36 (6) (x700=x703 & x699=x704 & new_primDivNatS02(x700, x699, x703, x704)=Succ(Succ(x317)) & Zero=x699 ==> new_pr2F0G10(x311, x312, Succ(x700), Zero, x314)_>=_new_pr2F0G(x311, new_sr3(x312, x314), Neg(new_primDivNatS1(Succ(Succ(x700)), Succ(Zero))), x314)) 248.95/165.36 248.95/165.36 248.95/165.36 248.95/165.36 We solved constraint (4) using rules (I), (II).We solved constraint (5) using rules (I), (II).We simplified constraint (6) using rule (V) (with possible (I) afterwards) using induction on new_primDivNatS02(x700, x699, x703, x704)=Succ(Succ(x317)) which results in the following new constraints: 248.95/165.36 248.95/165.36 (7) (new_primDivNatS01(x706, x705)=Succ(Succ(x317)) & x706=Zero & x705=Zero & Zero=x705 ==> new_pr2F0G10(x311, x312, Succ(x706), Zero, x314)_>=_new_pr2F0G(x311, new_sr3(x312, x314), Neg(new_primDivNatS1(Succ(Succ(x706)), Succ(Zero))), x314)) 248.95/165.36 248.95/165.36 (8) (new_primDivNatS01(x709, x708)=Succ(Succ(x317)) & x709=Succ(x707) & x708=Zero & Zero=x708 ==> new_pr2F0G10(x311, x312, Succ(x709), Zero, x314)_>=_new_pr2F0G(x311, new_sr3(x312, x314), Neg(new_primDivNatS1(Succ(Succ(x709)), Succ(Zero))), x314)) 248.95/165.36 248.95/165.36 (9) (new_primDivNatS02(x716, x715, x714, x713)=Succ(Succ(x317)) & x716=Succ(x714) & x715=Succ(x713) & Zero=x715 & (\/x717,x718,x719,x720:new_primDivNatS02(x716, x715, x714, x713)=Succ(Succ(x717)) & x716=x714 & x715=x713 & Zero=x715 ==> new_pr2F0G10(x718, x719, Succ(x716), Zero, x720)_>=_new_pr2F0G(x718, new_sr3(x719, x720), Neg(new_primDivNatS1(Succ(Succ(x716)), Succ(Zero))), x720)) ==> new_pr2F0G10(x311, x312, Succ(x716), Zero, x314)_>=_new_pr2F0G(x311, new_sr3(x312, x314), Neg(new_primDivNatS1(Succ(Succ(x716)), Succ(Zero))), x314)) 248.95/165.36 248.95/165.36 248.95/165.36 248.95/165.36 We simplified constraint (7) using rules (I), (II), (III), (IV), (VII) which results in the following new constraint: 248.95/165.36 248.95/165.36 (10) (new_pr2F0G10(x311, x312, Succ(Zero), Zero, x314)_>=_new_pr2F0G(x311, new_sr3(x312, x314), Neg(new_primDivNatS1(Succ(Succ(Zero)), Succ(Zero))), x314)) 248.95/165.36 248.95/165.36 248.95/165.36 248.95/165.36 We simplified constraint (8) using rules (I), (II), (III), (IV), (VII) which results in the following new constraint: 248.95/165.36 248.95/165.36 (11) (new_pr2F0G10(x311, x312, Succ(Succ(x707)), Zero, x314)_>=_new_pr2F0G(x311, new_sr3(x312, x314), Neg(new_primDivNatS1(Succ(Succ(Succ(x707))), Succ(Zero))), x314)) 248.95/165.36 248.95/165.36 248.95/165.36 248.95/165.36 We solved constraint (9) using rules (I), (II), (III). 248.95/165.36 248.95/165.36 248.95/165.36 248.95/165.36 248.95/165.36 For Pair new_pr2F0G(vyv187, vyv183, Neg(Succ(Zero)), h) -> new_pr2F0G11(vyv187, vyv183, Zero, h) the following chains were created: 248.95/165.36 *We consider the chain new_pr2F0G(x336, x337, Neg(Succ(Zero)), x338) -> new_pr2F0G11(x336, x337, Zero, x338), new_pr2F0G11(x339, x340, x341, x342) -> new_pr2F1(x340, x341, Pos(Succ(Zero)), x339, x342) which results in the following constraint: 248.95/165.36 248.95/165.36 (1) (new_pr2F0G11(x336, x337, Zero, x338)=new_pr2F0G11(x339, x340, x341, x342) ==> new_pr2F0G(x336, x337, Neg(Succ(Zero)), x338)_>=_new_pr2F0G11(x336, x337, Zero, x338)) 248.95/165.36 248.95/165.36 248.95/165.36 248.95/165.36 We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: 248.95/165.36 248.95/165.36 (2) (new_pr2F0G(x336, x337, Neg(Succ(Zero)), x338)_>=_new_pr2F0G11(x336, x337, Zero, x338)) 248.95/165.36 248.95/165.36 248.95/165.36 248.95/165.36 248.95/165.36 248.95/165.36 248.95/165.36 248.95/165.36 248.95/165.36 For Pair new_pr2F0G(vyv187, vyv183, Neg(Succ(Succ(vyv222000))), h) -> new_pr2F0G10(vyv187, vyv183, Succ(vyv222000), vyv222000, h) the following chains were created: 248.95/165.36 *We consider the chain new_pr2F0G(x375, x376, Neg(Succ(Succ(x377))), x378) -> new_pr2F0G10(x375, x376, Succ(x377), x377, x378), new_pr2F0G10(x379, x380, x381, Succ(Zero), x382) -> new_pr2F0G11(x379, x380, x381, x382) which results in the following constraint: 248.95/165.36 248.95/165.36 (1) (new_pr2F0G10(x375, x376, Succ(x377), x377, x378)=new_pr2F0G10(x379, x380, x381, Succ(Zero), x382) ==> new_pr2F0G(x375, x376, Neg(Succ(Succ(x377))), x378)_>=_new_pr2F0G10(x375, x376, Succ(x377), x377, x378)) 248.95/165.36 248.95/165.36 248.95/165.36 248.95/165.36 We simplified constraint (1) using rules (I), (II), (III), (IV) which results in the following new constraint: 248.95/165.36 248.95/165.36 (2) (new_pr2F0G(x375, x376, Neg(Succ(Succ(Succ(Zero)))), x378)_>=_new_pr2F0G10(x375, x376, Succ(Succ(Zero)), Succ(Zero), x378)) 248.95/165.36 248.95/165.36 248.95/165.36 248.95/165.36 248.95/165.36 *We consider the chain new_pr2F0G(x391, x392, Neg(Succ(Succ(x393))), x394) -> new_pr2F0G10(x391, x392, Succ(x393), x393, x394), new_pr2F0G10(x395, x396, x397, Zero, x398) -> new_pr2F0G(x395, new_sr3(x396, x398), Neg(new_primDivNatS1(Succ(x397), Succ(Zero))), x398) which results in the following constraint: 248.95/165.36 248.95/165.36 (1) (new_pr2F0G10(x391, x392, Succ(x393), x393, x394)=new_pr2F0G10(x395, x396, x397, Zero, x398) ==> new_pr2F0G(x391, x392, Neg(Succ(Succ(x393))), x394)_>=_new_pr2F0G10(x391, x392, Succ(x393), x393, x394)) 248.95/165.36 248.95/165.36 248.95/165.36 248.95/165.36 We simplified constraint (1) using rules (I), (II), (III), (IV) which results in the following new constraint: 248.95/165.36 248.95/165.36 (2) (new_pr2F0G(x391, x392, Neg(Succ(Succ(Zero))), x394)_>=_new_pr2F0G10(x391, x392, Succ(Zero), Zero, x394)) 248.95/165.36 248.95/165.36 248.95/165.36 248.95/165.36 248.95/165.36 248.95/165.36 248.95/165.36 248.95/165.36 248.95/165.36 For Pair new_pr2F0(vyv183, Neg(Succ(Succ(vyv222000))), vyv187, h) -> H(vyv187, vyv183, Succ(vyv222000), h, anew_new_pr2F0G10(vyv222000)) the following chains were created: 248.95/165.36 *We consider the chain new_pr2F0(x463, Neg(Succ(Succ(x464))), x465, x466) -> H(x465, x463, Succ(x464), x466, anew_new_pr2F0G10(x464)), H(x467, x468, x469, x470, cons_new_pr2F0G10(Succ(Zero))) -> new_pr2F0G10(x467, x468, x469, Succ(Zero), x470) which results in the following constraint: 248.95/165.36 248.95/165.36 (1) (H(x465, x463, Succ(x464), x466, anew_new_pr2F0G10(x464))=H(x467, x468, x469, x470, cons_new_pr2F0G10(Succ(Zero))) ==> new_pr2F0(x463, Neg(Succ(Succ(x464))), x465, x466)_>=_H(x465, x463, Succ(x464), x466, anew_new_pr2F0G10(x464))) 248.95/165.36 248.95/165.36 248.95/165.36 248.95/165.36 We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: 248.95/165.36 248.95/165.36 (2) (anew_new_pr2F0G10(x464)=cons_new_pr2F0G10(Succ(Zero)) ==> new_pr2F0(x463, Neg(Succ(Succ(x464))), x465, x466)_>=_H(x465, x463, Succ(x464), x466, anew_new_pr2F0G10(x464))) 248.95/165.36 248.95/165.36 248.95/165.36 248.95/165.36 We simplified constraint (2) using rule (V) (with possible (I) afterwards) using induction on anew_new_pr2F0G10(x464)=cons_new_pr2F0G10(Succ(Zero)) which results in the following new constraint: 248.95/165.36 248.95/165.36 (3) (new_new_pr2F0G10(x725)=cons_new_pr2F0G10(Succ(Zero)) ==> new_pr2F0(x463, Neg(Succ(Succ(Succ(Succ(x725))))), x465, x466)_>=_H(x465, x463, Succ(Succ(Succ(x725))), x466, anew_new_pr2F0G10(Succ(Succ(x725))))) 248.95/165.36 248.95/165.36 248.95/165.36 248.95/165.36 We simplified constraint (3) using rule (V) (with possible (I) afterwards) using induction on new_new_pr2F0G10(x725)=cons_new_pr2F0G10(Succ(Zero)) which results in the following new constraints: 248.95/165.36 248.95/165.36 (4) (new_new_pr2F0G10(x726)=cons_new_pr2F0G10(Succ(Zero)) & (\/x727,x728,x729:new_new_pr2F0G10(x726)=cons_new_pr2F0G10(Succ(Zero)) ==> new_pr2F0(x727, Neg(Succ(Succ(Succ(Succ(x726))))), x728, x729)_>=_H(x728, x727, Succ(Succ(Succ(x726))), x729, anew_new_pr2F0G10(Succ(Succ(x726))))) ==> new_pr2F0(x463, Neg(Succ(Succ(Succ(Succ(Succ(Succ(x726))))))), x465, x466)_>=_H(x465, x463, Succ(Succ(Succ(Succ(Succ(x726))))), x466, anew_new_pr2F0G10(Succ(Succ(Succ(Succ(x726))))))) 248.95/165.36 248.95/165.36 (5) (cons_new_pr2F0G10(Succ(Zero))=cons_new_pr2F0G10(Succ(Zero)) ==> new_pr2F0(x463, Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), x465, x466)_>=_H(x465, x463, Succ(Succ(Succ(Succ(Zero)))), x466, anew_new_pr2F0G10(Succ(Succ(Succ(Zero)))))) 248.95/165.36 248.95/165.36 (6) (cons_new_pr2F0G10(Zero)=cons_new_pr2F0G10(Succ(Zero)) ==> new_pr2F0(x463, Neg(Succ(Succ(Succ(Succ(Zero))))), x465, x466)_>=_H(x465, x463, Succ(Succ(Succ(Zero))), x466, anew_new_pr2F0G10(Succ(Succ(Zero))))) 248.95/165.36 248.95/165.36 248.95/165.36 248.95/165.36 We simplified constraint (4) using rule (VI) where we applied the induction hypothesis (\/x727,x728,x729:new_new_pr2F0G10(x726)=cons_new_pr2F0G10(Succ(Zero)) ==> new_pr2F0(x727, Neg(Succ(Succ(Succ(Succ(x726))))), x728, x729)_>=_H(x728, x727, Succ(Succ(Succ(x726))), x729, anew_new_pr2F0G10(Succ(Succ(x726))))) with sigma = [x727 / x463, x728 / x465, x729 / x466] which results in the following new constraint: 248.95/165.36 248.95/165.36 (7) (new_pr2F0(x463, Neg(Succ(Succ(Succ(Succ(x726))))), x465, x466)_>=_H(x465, x463, Succ(Succ(Succ(x726))), x466, anew_new_pr2F0G10(Succ(Succ(x726)))) ==> new_pr2F0(x463, Neg(Succ(Succ(Succ(Succ(Succ(Succ(x726))))))), x465, x466)_>=_H(x465, x463, Succ(Succ(Succ(Succ(Succ(x726))))), x466, anew_new_pr2F0G10(Succ(Succ(Succ(Succ(x726))))))) 248.95/165.36 248.95/165.36 248.95/165.36 248.95/165.36 We simplified constraint (5) using rules (I), (II) which results in the following new constraint: 248.95/165.36 248.95/165.36 (8) (new_pr2F0(x463, Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), x465, x466)_>=_H(x465, x463, Succ(Succ(Succ(Succ(Zero)))), x466, anew_new_pr2F0G10(Succ(Succ(Succ(Zero)))))) 248.95/165.36 248.95/165.36 248.95/165.36 248.95/165.36 We solved constraint (6) using rules (I), (II). 248.95/165.36 *We consider the chain new_pr2F0(x471, Neg(Succ(Succ(x472))), x473, x474) -> H(x473, x471, Succ(x472), x474, anew_new_pr2F0G10(x472)), H(x475, x476, x477, x478, cons_new_pr2F0G10(Zero)) -> new_pr2F0G10(x475, x476, x477, Zero, x478) which results in the following constraint: 248.95/165.36 248.95/165.36 (1) (H(x473, x471, Succ(x472), x474, anew_new_pr2F0G10(x472))=H(x475, x476, x477, x478, cons_new_pr2F0G10(Zero)) ==> new_pr2F0(x471, Neg(Succ(Succ(x472))), x473, x474)_>=_H(x473, x471, Succ(x472), x474, anew_new_pr2F0G10(x472))) 248.95/165.36 248.95/165.36 248.95/165.36 248.95/165.36 We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: 248.95/165.36 248.95/165.36 (2) (anew_new_pr2F0G10(x472)=cons_new_pr2F0G10(Zero) ==> new_pr2F0(x471, Neg(Succ(Succ(x472))), x473, x474)_>=_H(x473, x471, Succ(x472), x474, anew_new_pr2F0G10(x472))) 248.95/165.36 248.95/165.36 248.95/165.36 248.95/165.36 We simplified constraint (2) using rule (V) (with possible (I) afterwards) using induction on anew_new_pr2F0G10(x472)=cons_new_pr2F0G10(Zero) which results in the following new constraint: 248.95/165.36 248.95/165.36 (3) (new_new_pr2F0G10(x730)=cons_new_pr2F0G10(Zero) ==> new_pr2F0(x471, Neg(Succ(Succ(Succ(Succ(x730))))), x473, x474)_>=_H(x473, x471, Succ(Succ(Succ(x730))), x474, anew_new_pr2F0G10(Succ(Succ(x730))))) 248.95/165.36 248.95/165.36 248.95/165.36 248.95/165.36 We simplified constraint (3) using rule (V) (with possible (I) afterwards) using induction on new_new_pr2F0G10(x730)=cons_new_pr2F0G10(Zero) which results in the following new constraints: 248.95/165.36 248.95/165.36 (4) (new_new_pr2F0G10(x731)=cons_new_pr2F0G10(Zero) & (\/x732,x733,x734:new_new_pr2F0G10(x731)=cons_new_pr2F0G10(Zero) ==> new_pr2F0(x732, Neg(Succ(Succ(Succ(Succ(x731))))), x733, x734)_>=_H(x733, x732, Succ(Succ(Succ(x731))), x734, anew_new_pr2F0G10(Succ(Succ(x731))))) ==> new_pr2F0(x471, Neg(Succ(Succ(Succ(Succ(Succ(Succ(x731))))))), x473, x474)_>=_H(x473, x471, Succ(Succ(Succ(Succ(Succ(x731))))), x474, anew_new_pr2F0G10(Succ(Succ(Succ(Succ(x731))))))) 248.95/165.36 248.95/165.36 (5) (cons_new_pr2F0G10(Succ(Zero))=cons_new_pr2F0G10(Zero) ==> new_pr2F0(x471, Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), x473, x474)_>=_H(x473, x471, Succ(Succ(Succ(Succ(Zero)))), x474, anew_new_pr2F0G10(Succ(Succ(Succ(Zero)))))) 248.95/165.36 248.95/165.36 (6) (cons_new_pr2F0G10(Zero)=cons_new_pr2F0G10(Zero) ==> new_pr2F0(x471, Neg(Succ(Succ(Succ(Succ(Zero))))), x473, x474)_>=_H(x473, x471, Succ(Succ(Succ(Zero))), x474, anew_new_pr2F0G10(Succ(Succ(Zero))))) 248.95/165.36 248.95/165.36 248.95/165.36 248.95/165.36 We simplified constraint (4) using rule (VI) where we applied the induction hypothesis (\/x732,x733,x734:new_new_pr2F0G10(x731)=cons_new_pr2F0G10(Zero) ==> new_pr2F0(x732, Neg(Succ(Succ(Succ(Succ(x731))))), x733, x734)_>=_H(x733, x732, Succ(Succ(Succ(x731))), x734, anew_new_pr2F0G10(Succ(Succ(x731))))) with sigma = [x732 / x471, x733 / x473, x734 / x474] which results in the following new constraint: 248.95/165.36 248.95/165.36 (7) (new_pr2F0(x471, Neg(Succ(Succ(Succ(Succ(x731))))), x473, x474)_>=_H(x473, x471, Succ(Succ(Succ(x731))), x474, anew_new_pr2F0G10(Succ(Succ(x731)))) ==> new_pr2F0(x471, Neg(Succ(Succ(Succ(Succ(Succ(Succ(x731))))))), x473, x474)_>=_H(x473, x471, Succ(Succ(Succ(Succ(Succ(x731))))), x474, anew_new_pr2F0G10(Succ(Succ(Succ(Succ(x731))))))) 248.95/165.36 248.95/165.36 248.95/165.36 248.95/165.36 We solved constraint (5) using rules (I), (II).We simplified constraint (6) using rules (I), (II) which results in the following new constraint: 248.95/165.36 248.95/165.36 (8) (new_pr2F0(x471, Neg(Succ(Succ(Succ(Succ(Zero))))), x473, x474)_>=_H(x473, x471, Succ(Succ(Succ(Zero))), x474, anew_new_pr2F0G10(Succ(Succ(Zero))))) 248.95/165.36 248.95/165.36 248.95/165.36 248.95/165.36 248.95/165.36 248.95/165.36 248.95/165.36 248.95/165.36 248.95/165.36 For Pair new_pr2F0G(vyv187, vyv183, Neg(Succ(Succ(vyv222000))), h) -> H(vyv187, vyv183, Succ(vyv222000), h, anew_new_pr2F0G10(vyv222000)) the following chains were created: 248.95/165.36 *We consider the chain new_pr2F0G(x519, x520, Neg(Succ(Succ(x521))), x522) -> H(x519, x520, Succ(x521), x522, anew_new_pr2F0G10(x521)), H(x523, x524, x525, x526, cons_new_pr2F0G10(Succ(Zero))) -> new_pr2F0G10(x523, x524, x525, Succ(Zero), x526) which results in the following constraint: 248.95/165.36 248.95/165.36 (1) (H(x519, x520, Succ(x521), x522, anew_new_pr2F0G10(x521))=H(x523, x524, x525, x526, cons_new_pr2F0G10(Succ(Zero))) ==> new_pr2F0G(x519, x520, Neg(Succ(Succ(x521))), x522)_>=_H(x519, x520, Succ(x521), x522, anew_new_pr2F0G10(x521))) 248.95/165.36 248.95/165.36 248.95/165.36 248.95/165.36 We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: 248.95/165.36 248.95/165.36 (2) (anew_new_pr2F0G10(x521)=cons_new_pr2F0G10(Succ(Zero)) ==> new_pr2F0G(x519, x520, Neg(Succ(Succ(x521))), x522)_>=_H(x519, x520, Succ(x521), x522, anew_new_pr2F0G10(x521))) 248.95/165.36 248.95/165.36 248.95/165.36 248.95/165.36 We simplified constraint (2) using rule (V) (with possible (I) afterwards) using induction on anew_new_pr2F0G10(x521)=cons_new_pr2F0G10(Succ(Zero)) which results in the following new constraint: 248.95/165.36 248.95/165.36 (3) (new_new_pr2F0G10(x735)=cons_new_pr2F0G10(Succ(Zero)) ==> new_pr2F0G(x519, x520, Neg(Succ(Succ(Succ(Succ(x735))))), x522)_>=_H(x519, x520, Succ(Succ(Succ(x735))), x522, anew_new_pr2F0G10(Succ(Succ(x735))))) 248.95/165.36 248.95/165.36 248.95/165.36 248.95/165.36 We simplified constraint (3) using rule (V) (with possible (I) afterwards) using induction on new_new_pr2F0G10(x735)=cons_new_pr2F0G10(Succ(Zero)) which results in the following new constraints: 248.95/165.36 248.95/165.36 (4) (new_new_pr2F0G10(x736)=cons_new_pr2F0G10(Succ(Zero)) & (\/x737,x738,x739:new_new_pr2F0G10(x736)=cons_new_pr2F0G10(Succ(Zero)) ==> new_pr2F0G(x737, x738, Neg(Succ(Succ(Succ(Succ(x736))))), x739)_>=_H(x737, x738, Succ(Succ(Succ(x736))), x739, anew_new_pr2F0G10(Succ(Succ(x736))))) ==> new_pr2F0G(x519, x520, Neg(Succ(Succ(Succ(Succ(Succ(Succ(x736))))))), x522)_>=_H(x519, x520, Succ(Succ(Succ(Succ(Succ(x736))))), x522, anew_new_pr2F0G10(Succ(Succ(Succ(Succ(x736))))))) 248.95/165.36 248.95/165.36 (5) (cons_new_pr2F0G10(Succ(Zero))=cons_new_pr2F0G10(Succ(Zero)) ==> new_pr2F0G(x519, x520, Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), x522)_>=_H(x519, x520, Succ(Succ(Succ(Succ(Zero)))), x522, anew_new_pr2F0G10(Succ(Succ(Succ(Zero)))))) 248.95/165.36 248.95/165.36 (6) (cons_new_pr2F0G10(Zero)=cons_new_pr2F0G10(Succ(Zero)) ==> new_pr2F0G(x519, x520, Neg(Succ(Succ(Succ(Succ(Zero))))), x522)_>=_H(x519, x520, Succ(Succ(Succ(Zero))), x522, anew_new_pr2F0G10(Succ(Succ(Zero))))) 248.95/165.36 248.95/165.36 248.95/165.36 248.95/165.36 We simplified constraint (4) using rule (VI) where we applied the induction hypothesis (\/x737,x738,x739:new_new_pr2F0G10(x736)=cons_new_pr2F0G10(Succ(Zero)) ==> new_pr2F0G(x737, x738, Neg(Succ(Succ(Succ(Succ(x736))))), x739)_>=_H(x737, x738, Succ(Succ(Succ(x736))), x739, anew_new_pr2F0G10(Succ(Succ(x736))))) with sigma = [x737 / x519, x738 / x520, x739 / x522] which results in the following new constraint: 248.95/165.36 248.95/165.36 (7) (new_pr2F0G(x519, x520, Neg(Succ(Succ(Succ(Succ(x736))))), x522)_>=_H(x519, x520, Succ(Succ(Succ(x736))), x522, anew_new_pr2F0G10(Succ(Succ(x736)))) ==> new_pr2F0G(x519, x520, Neg(Succ(Succ(Succ(Succ(Succ(Succ(x736))))))), x522)_>=_H(x519, x520, Succ(Succ(Succ(Succ(Succ(x736))))), x522, anew_new_pr2F0G10(Succ(Succ(Succ(Succ(x736))))))) 248.95/165.36 248.95/165.36 248.95/165.36 248.95/165.36 We simplified constraint (5) using rules (I), (II) which results in the following new constraint: 248.95/165.36 248.95/165.36 (8) (new_pr2F0G(x519, x520, Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), x522)_>=_H(x519, x520, Succ(Succ(Succ(Succ(Zero)))), x522, anew_new_pr2F0G10(Succ(Succ(Succ(Zero)))))) 248.95/165.36 248.95/165.36 248.95/165.36 248.95/165.36 We solved constraint (6) using rules (I), (II). 248.95/165.36 *We consider the chain new_pr2F0G(x527, x528, Neg(Succ(Succ(x529))), x530) -> H(x527, x528, Succ(x529), x530, anew_new_pr2F0G10(x529)), H(x531, x532, x533, x534, cons_new_pr2F0G10(Zero)) -> new_pr2F0G10(x531, x532, x533, Zero, x534) which results in the following constraint: 248.95/165.36 248.95/165.36 (1) (H(x527, x528, Succ(x529), x530, anew_new_pr2F0G10(x529))=H(x531, x532, x533, x534, cons_new_pr2F0G10(Zero)) ==> new_pr2F0G(x527, x528, Neg(Succ(Succ(x529))), x530)_>=_H(x527, x528, Succ(x529), x530, anew_new_pr2F0G10(x529))) 248.95/165.36 248.95/165.36 248.95/165.36 248.95/165.36 We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: 248.95/165.36 248.95/165.36 (2) (anew_new_pr2F0G10(x529)=cons_new_pr2F0G10(Zero) ==> new_pr2F0G(x527, x528, Neg(Succ(Succ(x529))), x530)_>=_H(x527, x528, Succ(x529), x530, anew_new_pr2F0G10(x529))) 248.95/165.36 248.95/165.36 248.95/165.36 248.95/165.36 We simplified constraint (2) using rule (V) (with possible (I) afterwards) using induction on anew_new_pr2F0G10(x529)=cons_new_pr2F0G10(Zero) which results in the following new constraint: 248.95/165.36 248.95/165.36 (3) (new_new_pr2F0G10(x740)=cons_new_pr2F0G10(Zero) ==> new_pr2F0G(x527, x528, Neg(Succ(Succ(Succ(Succ(x740))))), x530)_>=_H(x527, x528, Succ(Succ(Succ(x740))), x530, anew_new_pr2F0G10(Succ(Succ(x740))))) 248.95/165.36 248.95/165.36 248.95/165.36 248.95/165.36 We simplified constraint (3) using rule (V) (with possible (I) afterwards) using induction on new_new_pr2F0G10(x740)=cons_new_pr2F0G10(Zero) which results in the following new constraints: 248.95/165.36 248.95/165.36 (4) (new_new_pr2F0G10(x741)=cons_new_pr2F0G10(Zero) & (\/x742,x743,x744:new_new_pr2F0G10(x741)=cons_new_pr2F0G10(Zero) ==> new_pr2F0G(x742, x743, Neg(Succ(Succ(Succ(Succ(x741))))), x744)_>=_H(x742, x743, Succ(Succ(Succ(x741))), x744, anew_new_pr2F0G10(Succ(Succ(x741))))) ==> new_pr2F0G(x527, x528, Neg(Succ(Succ(Succ(Succ(Succ(Succ(x741))))))), x530)_>=_H(x527, x528, Succ(Succ(Succ(Succ(Succ(x741))))), x530, anew_new_pr2F0G10(Succ(Succ(Succ(Succ(x741))))))) 248.95/165.36 248.95/165.36 (5) (cons_new_pr2F0G10(Succ(Zero))=cons_new_pr2F0G10(Zero) ==> new_pr2F0G(x527, x528, Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), x530)_>=_H(x527, x528, Succ(Succ(Succ(Succ(Zero)))), x530, anew_new_pr2F0G10(Succ(Succ(Succ(Zero)))))) 248.95/165.36 248.95/165.36 (6) (cons_new_pr2F0G10(Zero)=cons_new_pr2F0G10(Zero) ==> new_pr2F0G(x527, x528, Neg(Succ(Succ(Succ(Succ(Zero))))), x530)_>=_H(x527, x528, Succ(Succ(Succ(Zero))), x530, anew_new_pr2F0G10(Succ(Succ(Zero))))) 248.95/165.36 248.95/165.36 248.95/165.36 248.95/165.36 We simplified constraint (4) using rule (VI) where we applied the induction hypothesis (\/x742,x743,x744:new_new_pr2F0G10(x741)=cons_new_pr2F0G10(Zero) ==> new_pr2F0G(x742, x743, Neg(Succ(Succ(Succ(Succ(x741))))), x744)_>=_H(x742, x743, Succ(Succ(Succ(x741))), x744, anew_new_pr2F0G10(Succ(Succ(x741))))) with sigma = [x742 / x527, x743 / x528, x744 / x530] which results in the following new constraint: 248.95/165.36 248.95/165.36 (7) (new_pr2F0G(x527, x528, Neg(Succ(Succ(Succ(Succ(x741))))), x530)_>=_H(x527, x528, Succ(Succ(Succ(x741))), x530, anew_new_pr2F0G10(Succ(Succ(x741)))) ==> new_pr2F0G(x527, x528, Neg(Succ(Succ(Succ(Succ(Succ(Succ(x741))))))), x530)_>=_H(x527, x528, Succ(Succ(Succ(Succ(Succ(x741))))), x530, anew_new_pr2F0G10(Succ(Succ(Succ(Succ(x741))))))) 248.95/165.36 248.95/165.36 248.95/165.36 248.95/165.36 We solved constraint (5) using rules (I), (II).We simplified constraint (6) using rules (I), (II) which results in the following new constraint: 248.95/165.36 248.95/165.36 (8) (new_pr2F0G(x527, x528, Neg(Succ(Succ(Succ(Succ(Zero))))), x530)_>=_H(x527, x528, Succ(Succ(Succ(Zero))), x530, anew_new_pr2F0G10(Succ(Succ(Zero))))) 248.95/165.36 248.95/165.36 248.95/165.36 248.95/165.36 248.95/165.36 248.95/165.36 248.95/165.36 248.95/165.36 248.95/165.36 For Pair H(vyv248, vyv249, vyv250, bb, cons_new_pr2F0G10(Succ(Zero))) -> new_pr2F0G10(vyv248, vyv249, vyv250, Succ(Zero), bb) the following chains were created: 248.95/165.36 *We consider the chain H(x543, x544, x545, x546, cons_new_pr2F0G10(Succ(Zero))) -> new_pr2F0G10(x543, x544, x545, Succ(Zero), x546), new_pr2F0G10(x547, x548, x549, Succ(Zero), x550) -> new_pr2F0G11(x547, x548, x549, x550) which results in the following constraint: 248.95/165.36 248.95/165.36 (1) (new_pr2F0G10(x543, x544, x545, Succ(Zero), x546)=new_pr2F0G10(x547, x548, x549, Succ(Zero), x550) ==> H(x543, x544, x545, x546, cons_new_pr2F0G10(Succ(Zero)))_>=_new_pr2F0G10(x543, x544, x545, Succ(Zero), x546)) 248.95/165.36 248.95/165.36 248.95/165.36 248.95/165.36 We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: 248.95/165.36 248.95/165.36 (2) (H(x543, x544, x545, x546, cons_new_pr2F0G10(Succ(Zero)))_>=_new_pr2F0G10(x543, x544, x545, Succ(Zero), x546)) 248.95/165.36 248.95/165.36 248.95/165.36 248.95/165.36 248.95/165.36 248.95/165.36 248.95/165.36 248.95/165.36 248.95/165.36 For Pair H(vyv248, vyv249, vyv250, bb, cons_new_pr2F0G10(Zero)) -> new_pr2F0G10(vyv248, vyv249, vyv250, Zero, bb) the following chains were created: 248.95/165.36 *We consider the chain H(x607, x608, x609, x610, cons_new_pr2F0G10(Zero)) -> new_pr2F0G10(x607, x608, x609, Zero, x610), new_pr2F0G10(x611, x612, x613, Zero, x614) -> new_pr2F0G(x611, new_sr3(x612, x614), Neg(new_primDivNatS1(Succ(x613), Succ(Zero))), x614) which results in the following constraint: 248.95/165.36 248.95/165.36 (1) (new_pr2F0G10(x607, x608, x609, Zero, x610)=new_pr2F0G10(x611, x612, x613, Zero, x614) ==> H(x607, x608, x609, x610, cons_new_pr2F0G10(Zero))_>=_new_pr2F0G10(x607, x608, x609, Zero, x610)) 248.95/165.36 248.95/165.36 248.95/165.36 248.95/165.36 We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: 248.95/165.36 248.95/165.36 (2) (H(x607, x608, x609, x610, cons_new_pr2F0G10(Zero))_>=_new_pr2F0G10(x607, x608, x609, Zero, x610)) 248.95/165.36 248.95/165.36 248.95/165.36 248.95/165.36 248.95/165.36 248.95/165.36 248.95/165.36 248.95/165.36 248.95/165.36 To summarize, we get the following constraints P__>=_ for the following pairs. 248.95/165.36 248.95/165.36 *new_pr2F30(False, z0, z1, Pos(Succ(Zero)), z2, z3) -> new_pr2F0(z0, Neg(Succ(Succ(new_primPlusNat0(z1, Zero)))), new_sr4(z0, z2, z3), z3) 248.95/165.36 248.95/165.36 *(new_pr2F30(False, x4, x5, Pos(Succ(Zero)), x6, x7)_>=_new_pr2F0(x4, Neg(Succ(Succ(new_primPlusNat0(x5, Zero)))), new_sr4(x4, x6, x7), x7)) 248.95/165.36 248.95/165.36 248.95/165.36 *(new_pr2F30(False, x36, x37, Pos(Succ(Zero)), x38, x39)_>=_new_pr2F0(x36, Neg(Succ(Succ(new_primPlusNat0(x37, Zero)))), new_sr4(x36, x38, x39), x39)) 248.95/165.37 248.95/165.37 248.95/165.37 248.95/165.37 248.95/165.37 *new_pr2F0(vyv183, Neg(Succ(Succ(vyv222000))), vyv187, h) -> new_pr2F0G10(vyv187, vyv183, Succ(vyv222000), vyv222000, h) 248.95/165.37 248.95/165.37 *(new_pr2F0(x64, Neg(Succ(Succ(Succ(Zero)))), x66, x67)_>=_new_pr2F0G10(x66, x64, Succ(Succ(Zero)), Succ(Zero), x67)) 248.95/165.37 248.95/165.37 248.95/165.37 *(new_pr2F0(x80, Neg(Succ(Succ(Zero))), x82, x83)_>=_new_pr2F0G10(x82, x80, Succ(Zero), Zero, x83)) 248.95/165.37 248.95/165.37 248.95/165.37 248.95/165.37 248.95/165.37 *new_pr2F0G10(vyv248, vyv249, vyv250, Succ(Zero), bb) -> new_pr2F0G11(vyv248, vyv249, vyv250, bb) 248.95/165.37 248.95/165.37 *(new_pr2F0G10(x124, x125, x126, Succ(Zero), x127)_>=_new_pr2F0G11(x124, x125, x126, x127)) 248.95/165.37 248.95/165.37 248.95/165.37 248.95/165.37 248.95/165.37 *new_pr2F0G11(vyv238, vyv239, vyv240, bc) -> new_pr2F1(vyv239, vyv240, Pos(Succ(Zero)), vyv238, bc) 248.95/165.37 248.95/165.37 *(new_pr2F0G11(x180, x181, x182, x183)_>=_new_pr2F1(x181, x182, Pos(Succ(Zero)), x180, x183)) 248.95/165.37 248.95/165.37 248.95/165.37 248.95/165.37 248.95/165.37 *new_pr2F1(z1, z2, Pos(Succ(Zero)), z0, z3) -> new_pr2F30(False, z1, z2, Pos(Succ(Zero)), z0, z3) 248.95/165.37 248.95/165.37 *(new_pr2F1(x216, x217, Pos(Succ(Zero)), x218, x219)_>=_new_pr2F30(False, x216, x217, Pos(Succ(Zero)), x218, x219)) 248.95/165.37 248.95/165.37 248.95/165.37 248.95/165.37 248.95/165.37 *new_pr2F0G10(vyv248, vyv249, vyv250, Zero, bb) -> new_pr2F0G(vyv248, new_sr3(vyv249, bb), Neg(new_primDivNatS1(Succ(vyv250), Succ(Zero))), bb) 248.95/165.37 248.95/165.37 *(new_pr2F0G10(x292, x293, Succ(Zero), Zero, x295)_>=_new_pr2F0G(x292, new_sr3(x293, x295), Neg(new_primDivNatS1(Succ(Succ(Zero)), Succ(Zero))), x295)) 248.95/165.37 248.95/165.37 248.95/165.37 *(new_pr2F0G10(x292, x293, Succ(Succ(x650)), Zero, x295)_>=_new_pr2F0G(x292, new_sr3(x293, x295), Neg(new_primDivNatS1(Succ(Succ(Succ(x650))), Succ(Zero))), x295)) 248.95/165.37 248.95/165.37 248.95/165.37 *(new_pr2F0G10(x299, x300, Succ(Zero), Zero, x302)_>=_new_pr2F0G(x299, new_sr3(x300, x302), Neg(new_primDivNatS1(Succ(Succ(Zero)), Succ(Zero))), x302)) 248.95/165.37 248.95/165.37 248.95/165.37 *(new_pr2F0G10(x299, x300, Succ(Succ(x678)), Zero, x302)_>=_new_pr2F0G(x299, new_sr3(x300, x302), Neg(new_primDivNatS1(Succ(Succ(Succ(x678))), Succ(Zero))), x302)) 248.95/165.37 248.95/165.37 248.95/165.37 *(new_pr2F0G10(x311, x312, Succ(Zero), Zero, x314)_>=_new_pr2F0G(x311, new_sr3(x312, x314), Neg(new_primDivNatS1(Succ(Succ(Zero)), Succ(Zero))), x314)) 248.95/165.37 248.95/165.37 248.95/165.37 *(new_pr2F0G10(x311, x312, Succ(Succ(x707)), Zero, x314)_>=_new_pr2F0G(x311, new_sr3(x312, x314), Neg(new_primDivNatS1(Succ(Succ(Succ(x707))), Succ(Zero))), x314)) 248.95/165.37 248.95/165.37 248.95/165.37 248.95/165.37 248.95/165.37 *new_pr2F0G(vyv187, vyv183, Neg(Succ(Zero)), h) -> new_pr2F0G11(vyv187, vyv183, Zero, h) 248.95/165.37 248.95/165.37 *(new_pr2F0G(x336, x337, Neg(Succ(Zero)), x338)_>=_new_pr2F0G11(x336, x337, Zero, x338)) 248.95/165.37 248.95/165.37 248.95/165.37 248.95/165.37 248.95/165.37 *new_pr2F0G(vyv187, vyv183, Neg(Succ(Succ(vyv222000))), h) -> new_pr2F0G10(vyv187, vyv183, Succ(vyv222000), vyv222000, h) 248.95/165.37 248.95/165.37 *(new_pr2F0G(x375, x376, Neg(Succ(Succ(Succ(Zero)))), x378)_>=_new_pr2F0G10(x375, x376, Succ(Succ(Zero)), Succ(Zero), x378)) 248.95/165.37 248.95/165.37 248.95/165.37 *(new_pr2F0G(x391, x392, Neg(Succ(Succ(Zero))), x394)_>=_new_pr2F0G10(x391, x392, Succ(Zero), Zero, x394)) 248.95/165.37 248.95/165.37 248.95/165.37 248.95/165.37 248.95/165.37 *new_pr2F0(vyv183, Neg(Succ(Succ(vyv222000))), vyv187, h) -> H(vyv187, vyv183, Succ(vyv222000), h, anew_new_pr2F0G10(vyv222000)) 248.95/165.37 248.95/165.37 *(new_pr2F0(x463, Neg(Succ(Succ(Succ(Succ(x726))))), x465, x466)_>=_H(x465, x463, Succ(Succ(Succ(x726))), x466, anew_new_pr2F0G10(Succ(Succ(x726)))) ==> new_pr2F0(x463, Neg(Succ(Succ(Succ(Succ(Succ(Succ(x726))))))), x465, x466)_>=_H(x465, x463, Succ(Succ(Succ(Succ(Succ(x726))))), x466, anew_new_pr2F0G10(Succ(Succ(Succ(Succ(x726))))))) 248.95/165.37 248.95/165.37 248.95/165.37 *(new_pr2F0(x463, Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), x465, x466)_>=_H(x465, x463, Succ(Succ(Succ(Succ(Zero)))), x466, anew_new_pr2F0G10(Succ(Succ(Succ(Zero)))))) 248.95/165.37 248.95/165.37 248.95/165.37 *(new_pr2F0(x471, Neg(Succ(Succ(Succ(Succ(x731))))), x473, x474)_>=_H(x473, x471, Succ(Succ(Succ(x731))), x474, anew_new_pr2F0G10(Succ(Succ(x731)))) ==> new_pr2F0(x471, Neg(Succ(Succ(Succ(Succ(Succ(Succ(x731))))))), x473, x474)_>=_H(x473, x471, Succ(Succ(Succ(Succ(Succ(x731))))), x474, anew_new_pr2F0G10(Succ(Succ(Succ(Succ(x731))))))) 248.95/165.37 248.95/165.37 248.95/165.37 *(new_pr2F0(x471, Neg(Succ(Succ(Succ(Succ(Zero))))), x473, x474)_>=_H(x473, x471, Succ(Succ(Succ(Zero))), x474, anew_new_pr2F0G10(Succ(Succ(Zero))))) 248.95/165.37 248.95/165.37 248.95/165.37 248.95/165.37 248.95/165.37 *new_pr2F0G(vyv187, vyv183, Neg(Succ(Succ(vyv222000))), h) -> H(vyv187, vyv183, Succ(vyv222000), h, anew_new_pr2F0G10(vyv222000)) 248.95/165.37 248.95/165.37 *(new_pr2F0G(x519, x520, Neg(Succ(Succ(Succ(Succ(x736))))), x522)_>=_H(x519, x520, Succ(Succ(Succ(x736))), x522, anew_new_pr2F0G10(Succ(Succ(x736)))) ==> new_pr2F0G(x519, x520, Neg(Succ(Succ(Succ(Succ(Succ(Succ(x736))))))), x522)_>=_H(x519, x520, Succ(Succ(Succ(Succ(Succ(x736))))), x522, anew_new_pr2F0G10(Succ(Succ(Succ(Succ(x736))))))) 248.95/165.37 248.95/165.37 248.95/165.37 *(new_pr2F0G(x519, x520, Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), x522)_>=_H(x519, x520, Succ(Succ(Succ(Succ(Zero)))), x522, anew_new_pr2F0G10(Succ(Succ(Succ(Zero)))))) 248.95/165.37 248.95/165.37 248.95/165.37 *(new_pr2F0G(x527, x528, Neg(Succ(Succ(Succ(Succ(x741))))), x530)_>=_H(x527, x528, Succ(Succ(Succ(x741))), x530, anew_new_pr2F0G10(Succ(Succ(x741)))) ==> new_pr2F0G(x527, x528, Neg(Succ(Succ(Succ(Succ(Succ(Succ(x741))))))), x530)_>=_H(x527, x528, Succ(Succ(Succ(Succ(Succ(x741))))), x530, anew_new_pr2F0G10(Succ(Succ(Succ(Succ(x741))))))) 248.95/165.37 248.95/165.37 248.95/165.37 *(new_pr2F0G(x527, x528, Neg(Succ(Succ(Succ(Succ(Zero))))), x530)_>=_H(x527, x528, Succ(Succ(Succ(Zero))), x530, anew_new_pr2F0G10(Succ(Succ(Zero))))) 248.95/165.37 248.95/165.37 248.95/165.37 248.95/165.37 248.95/165.37 *H(vyv248, vyv249, vyv250, bb, cons_new_pr2F0G10(Succ(Zero))) -> new_pr2F0G10(vyv248, vyv249, vyv250, Succ(Zero), bb) 248.95/165.37 248.95/165.37 *(H(x543, x544, x545, x546, cons_new_pr2F0G10(Succ(Zero)))_>=_new_pr2F0G10(x543, x544, x545, Succ(Zero), x546)) 248.95/165.37 248.95/165.37 248.95/165.37 248.95/165.37 248.95/165.37 *H(vyv248, vyv249, vyv250, bb, cons_new_pr2F0G10(Zero)) -> new_pr2F0G10(vyv248, vyv249, vyv250, Zero, bb) 248.95/165.37 248.95/165.37 *(H(x607, x608, x609, x610, cons_new_pr2F0G10(Zero))_>=_new_pr2F0G10(x607, x608, x609, Zero, x610)) 248.95/165.37 248.95/165.37 248.95/165.37 248.95/165.37 248.95/165.37 248.95/165.37 248.95/165.37 248.95/165.37 248.95/165.37 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. 248.95/165.37 ---------------------------------------- 248.95/165.37 248.95/165.37 (826) 248.95/165.37 Obligation: 248.95/165.37 Q DP problem: 248.95/165.37 The TRS P consists of the following rules: 248.95/165.37 248.95/165.37 new_pr2F30(False, z0, z1, Pos(Succ(Zero)), z2, z3) -> new_pr2F0(z0, Neg(Succ(Succ(new_primPlusNat0(z1, Zero)))), new_sr4(z0, z2, z3), z3) 248.95/165.37 new_pr2F0(vyv183, Neg(Succ(Succ(vyv222000))), vyv187, h) -> new_pr2F0G10(vyv187, vyv183, Succ(vyv222000), vyv222000, h) 248.95/165.37 new_pr2F0G10(vyv248, vyv249, vyv250, Succ(Zero), bb) -> new_pr2F0G11(vyv248, vyv249, vyv250, bb) 248.95/165.37 new_pr2F0G11(vyv238, vyv239, vyv240, bc) -> new_pr2F1(vyv239, vyv240, Pos(Succ(Zero)), vyv238, bc) 248.95/165.37 new_pr2F1(z1, z2, Pos(Succ(Zero)), z0, z3) -> new_pr2F30(False, z1, z2, Pos(Succ(Zero)), z0, z3) 248.95/165.37 new_pr2F0G10(vyv248, vyv249, vyv250, Zero, bb) -> new_pr2F0G(vyv248, new_sr3(vyv249, bb), Neg(new_primDivNatS1(Succ(vyv250), Succ(Zero))), bb) 248.95/165.37 new_pr2F0G(vyv187, vyv183, Neg(Succ(Zero)), h) -> new_pr2F0G11(vyv187, vyv183, Zero, h) 248.95/165.37 new_pr2F0G(vyv187, vyv183, Neg(Succ(Succ(vyv222000))), h) -> new_pr2F0G10(vyv187, vyv183, Succ(vyv222000), vyv222000, h) 248.95/165.37 new_pr2F0(vyv183, Neg(Succ(Succ(vyv222000))), vyv187, h) -> H(vyv187, vyv183, Succ(vyv222000), h, anew_new_pr2F0G10(vyv222000)) 248.95/165.37 new_pr2F0G(vyv187, vyv183, Neg(Succ(Succ(vyv222000))), h) -> H(vyv187, vyv183, Succ(vyv222000), h, anew_new_pr2F0G10(vyv222000)) 248.95/165.37 H(vyv248, vyv249, vyv250, bb, cons_new_pr2F0G10(Succ(Zero))) -> new_pr2F0G10(vyv248, vyv249, vyv250, Succ(Zero), bb) 248.95/165.37 H(vyv248, vyv249, vyv250, bb, cons_new_pr2F0G10(Zero)) -> new_pr2F0G10(vyv248, vyv249, vyv250, Zero, bb) 248.95/165.37 248.95/165.37 The TRS R consists of the following rules: 248.95/165.37 248.95/165.37 new_sr3(vyv249, ty_Float) -> new_sr10(vyv249) 248.95/165.37 new_sr3(vyv249, ty_Double) -> new_sr9(vyv249) 248.95/165.37 new_sr3(vyv249, ty_Int) -> new_sr6(vyv249) 248.95/165.37 new_sr3(vyv249, ty_Integer) -> new_sr7(vyv249) 248.95/165.37 new_sr3(vyv249, app(ty_Ratio, bg)) -> new_sr5(vyv249, bg) 248.95/165.37 new_primDivNatS1(Succ(Zero), Succ(vyv284000)) -> Zero 248.95/165.37 new_primDivNatS1(Succ(Succ(vyv270000)), Succ(vyv284000)) -> new_primDivNatS02(vyv270000, vyv284000, vyv270000, vyv284000) 248.95/165.37 new_primDivNatS02(vyv310, vyv311, Zero, Zero) -> new_primDivNatS01(vyv310, vyv311) 248.95/165.37 new_primDivNatS02(vyv310, vyv311, Succ(vyv3120), Zero) -> new_primDivNatS01(vyv310, vyv311) 248.95/165.37 new_primDivNatS02(vyv310, vyv311, Zero, Succ(vyv3130)) -> Zero 248.95/165.37 new_primDivNatS02(vyv310, vyv311, Succ(vyv3120), Succ(vyv3130)) -> new_primDivNatS02(vyv310, vyv311, vyv3120, vyv3130) 248.95/165.37 new_primDivNatS01(vyv310, vyv311) -> Succ(new_primDivNatS1(new_primMinusNatS2(vyv310, vyv311), Succ(vyv311))) 248.95/165.37 new_primMinusNatS2(Zero, Succ(vyv3110)) -> Zero 248.95/165.37 new_primMinusNatS2(Succ(vyv3100), Zero) -> Succ(vyv3100) 248.95/165.37 new_primMinusNatS2(Zero, Zero) -> Zero 248.95/165.37 new_primMinusNatS2(Succ(vyv3100), Succ(vyv3110)) -> new_primMinusNatS2(vyv3100, vyv3110) 248.95/165.37 new_primDivNatS1(Zero, vyv28400) -> Zero 248.95/165.37 new_sr5(:%(vyv1830, vyv1831), bd) -> new_reduce2Reduce1(vyv1830, vyv1830, vyv1831, vyv1831, new_esEs0(vyv1831, bd), bd) 248.95/165.37 new_esEs0(vyv1831, ty_Int) -> new_esEs(new_sr6(vyv1831)) 248.95/165.37 new_esEs0(vyv1831, ty_Integer) -> new_esEs1(new_sr7(vyv1831)) 248.95/165.37 new_reduce2Reduce1(vyv264, vyv265, vyv266, vyv267, False, bh) -> :%(new_quot1(vyv264, vyv265, vyv266, vyv267, bh), new_quot2(vyv266, vyv267, vyv264, vyv265, bh)) 248.95/165.37 new_reduce2Reduce1(vyv264, vyv265, vyv266, vyv267, True, bh) -> error([]) 248.95/165.37 new_quot1(vyv264, vyv265, vyv266, vyv267, ty_Int) -> new_quot0(new_sr14(vyv264, vyv265), new_sr14(vyv264, vyv265), new_sr14(vyv266, vyv267)) 248.95/165.37 new_quot1(vyv264, vyv265, vyv266, vyv267, ty_Integer) -> new_quot(new_sr8(vyv264, vyv265), new_sr8(vyv264, vyv265), new_sr8(vyv266, vyv267)) 248.95/165.37 new_quot2(vyv266, vyv267, vyv264, vyv265, ty_Int) -> new_quot0(new_sr14(vyv266, vyv267), new_sr14(vyv264, vyv265), new_sr14(vyv266, vyv267)) 248.95/165.37 new_quot2(vyv266, vyv267, vyv264, vyv265, ty_Integer) -> new_quot(new_sr8(vyv266, vyv267), new_sr8(vyv264, vyv265), new_sr8(vyv266, vyv267)) 248.95/165.37 new_sr8(vyv239, vyv238) -> error([]) 248.95/165.37 new_quot(vyv273, vyv275, vyv274) -> error([]) 248.95/165.37 new_sr14(Pos(vyv2390), Neg(vyv2380)) -> Neg(new_primMulNat0(vyv2390, vyv2380)) 248.95/165.37 new_sr14(Neg(vyv2390), Pos(vyv2380)) -> Neg(new_primMulNat0(vyv2390, vyv2380)) 248.95/165.37 new_sr14(Neg(vyv2390), Neg(vyv2380)) -> Pos(new_primMulNat0(vyv2390, vyv2380)) 248.95/165.37 new_sr14(Pos(vyv2390), Pos(vyv2380)) -> Pos(new_primMulNat0(vyv2390, vyv2380)) 248.95/165.37 new_quot0(Neg(vyv2700), vyv272, vyv271) -> new_primQuotInt0(vyv2700, new_gcd(vyv272, vyv271)) 248.95/165.37 new_quot0(Pos(vyv2700), vyv272, vyv271) -> new_primQuotInt(vyv2700, new_gcd(vyv272, vyv271)) 248.95/165.37 new_gcd(vyv272, vyv271) -> new_gcd2(new_esEs(vyv272), vyv272, vyv271) 248.95/165.37 new_primQuotInt(vyv2700, Pos(Succ(vyv28400))) -> Pos(new_primDivNatS1(vyv2700, vyv28400)) 248.95/165.37 new_primQuotInt(vyv2700, Neg(Zero)) -> new_error 248.95/165.37 new_primQuotInt(vyv2700, Pos(Zero)) -> new_error 248.95/165.37 new_primQuotInt(vyv2700, Neg(Succ(vyv28400))) -> Neg(new_primDivNatS1(vyv2700, vyv28400)) 248.95/165.37 new_primDivNatS1(Succ(Succ(vyv270000)), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS0(vyv270000), Zero)) 248.95/165.37 new_primDivNatS1(Succ(Zero), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS1, Zero)) 248.95/165.37 new_primMinusNatS1 -> Zero 248.95/165.37 new_primMinusNatS0(vyv270000) -> Succ(vyv270000) 248.95/165.37 new_error -> error([]) 248.95/165.37 new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) 248.95/165.37 new_esEs(Pos(Succ(vyv24100))) -> new_primEqInt(Pos(Succ(vyv24100))) 248.95/165.37 new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) 248.95/165.37 new_esEs(Neg(Succ(vyv24100))) -> new_primEqInt(Neg(Succ(vyv24100))) 248.95/165.37 new_gcd2(True, vyv272, vyv271) -> new_gcd1(new_esEs(vyv271), vyv272, vyv271) 248.95/165.37 new_gcd2(False, vyv272, vyv271) -> new_gcd0(vyv272, vyv271) 248.95/165.37 new_gcd0(vyv272, vyv271) -> new_gcd0Gcd'10(new_esEs(new_abs(vyv271)), vyv272, vyv271) 248.95/165.37 new_abs(Neg(Zero)) -> Neg(Zero) 248.95/165.37 new_abs(Neg(Succ(vyv27100))) -> Pos(Succ(vyv27100)) 248.95/165.37 new_abs(Pos(Succ(vyv27100))) -> Pos(Succ(vyv27100)) 248.95/165.37 new_abs(Pos(Zero)) -> Pos(Zero) 248.95/165.37 new_gcd0Gcd'10(True, vyv272, vyv271) -> new_abs(vyv272) 248.95/165.37 new_gcd0Gcd'10(False, vyv272, vyv271) -> new_gcd0Gcd'00(new_abs(vyv272), new_abs(vyv271)) 248.95/165.37 new_gcd0Gcd'11(False, vyv291, vyv292) -> new_gcd0Gcd'00(vyv291, new_rem(vyv292, vyv291)) 248.95/165.37 new_gcd0Gcd'00(vyv292, vyv291) -> new_gcd0Gcd'11(new_esEs(new_rem(vyv292, vyv291)), vyv291, vyv292) 248.95/165.37 new_rem(Pos(vyv2920), Neg(Zero)) -> new_error 248.95/165.37 new_rem(Neg(vyv2920), Pos(Zero)) -> new_error 248.95/165.37 new_rem(Pos(vyv2920), Neg(Succ(vyv29100))) -> Pos(new_primModNatS1(vyv2920, vyv29100)) 248.95/165.37 new_rem(Neg(vyv2920), Pos(Succ(vyv29100))) -> Neg(new_primModNatS1(vyv2920, vyv29100)) 248.95/165.37 new_rem(Pos(vyv2920), Pos(Succ(vyv29100))) -> Pos(new_primModNatS1(vyv2920, vyv29100)) 248.95/165.37 new_rem(Neg(vyv2920), Neg(Zero)) -> new_error 248.95/165.37 new_rem(Neg(vyv2920), Neg(Succ(vyv29100))) -> Neg(new_primModNatS1(vyv2920, vyv29100)) 248.95/165.37 new_rem(Pos(vyv2920), Pos(Zero)) -> new_error 248.95/165.37 new_gcd0Gcd'11(True, vyv291, vyv292) -> vyv291 248.95/165.37 new_primModNatS1(Succ(Zero), Succ(vyv291000)) -> Succ(Zero) 248.95/165.37 new_primModNatS1(Zero, vyv29100) -> Zero 248.95/165.37 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 248.95/165.37 new_primModNatS1(Succ(Succ(vyv292000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv292000), Zero) 248.95/165.37 new_primModNatS1(Succ(Succ(vyv292000)), Succ(vyv291000)) -> new_primModNatS01(vyv292000, vyv291000, vyv292000, vyv291000) 248.95/165.37 new_primModNatS01(vyv330, vyv331, Zero, Zero) -> new_primModNatS02(vyv330, vyv331) 248.95/165.37 new_primModNatS02(vyv330, vyv331) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv330), Succ(vyv331)), Succ(vyv331)) 248.95/165.37 new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Zero) -> new_primModNatS02(vyv330, vyv331) 248.95/165.37 new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Succ(vyv3330)) -> new_primModNatS01(vyv330, vyv331, vyv3320, vyv3330) 248.95/165.37 new_primModNatS01(vyv330, vyv331, Zero, Succ(vyv3330)) -> Succ(Succ(vyv330)) 248.95/165.37 new_gcd1(True, vyv272, vyv271) -> new_error 248.95/165.37 new_gcd1(False, vyv272, vyv271) -> new_gcd0(vyv272, vyv271) 248.95/165.37 new_primEqInt(Neg(Succ(vyv242000))) -> False 248.95/165.37 new_primEqInt(Pos(Zero)) -> True 248.95/165.37 new_primEqInt(Pos(Succ(vyv242000))) -> False 248.95/165.37 new_primEqInt(Neg(Zero)) -> True 248.95/165.37 new_primQuotInt0(vyv2700, Pos(Succ(vyv28700))) -> Neg(new_primDivNatS1(vyv2700, vyv28700)) 248.95/165.37 new_primQuotInt0(vyv2700, Neg(Zero)) -> new_error 248.95/165.37 new_primQuotInt0(vyv2700, Neg(Succ(vyv28700))) -> Pos(new_primDivNatS1(vyv2700, vyv28700)) 248.95/165.37 new_primQuotInt0(vyv2700, Pos(Zero)) -> new_error 248.95/165.37 new_primMulNat0(Succ(vyv23900), Zero) -> Zero 248.95/165.37 new_primMulNat0(Zero, Succ(vyv23800)) -> Zero 248.95/165.37 new_primMulNat0(Zero, Zero) -> Zero 248.95/165.37 new_primMulNat0(Succ(vyv23900), Succ(vyv23800)) -> new_primPlusNat0(new_primMulNat0(vyv23900, Succ(vyv23800)), Succ(vyv23800)) 248.95/165.37 new_primPlusNat0(Succ(vyv4000), Succ(vyv5000)) -> Succ(Succ(new_primPlusNat0(vyv4000, vyv5000))) 248.95/165.37 new_primPlusNat0(Zero, Succ(vyv5000)) -> Succ(vyv5000) 248.95/165.37 new_primPlusNat0(Zero, Zero) -> Zero 248.95/165.37 new_primPlusNat0(Succ(vyv4000), Zero) -> Succ(vyv4000) 248.95/165.37 new_sr7(vyv183) -> error([]) 248.95/165.37 new_esEs1(Integer(vyv2690)) -> new_primEqInt(vyv2690) 248.95/165.37 new_sr6(Neg(vyv1830)) -> Pos(new_primMulNat1(vyv1830)) 248.95/165.37 new_sr6(Pos(vyv1830)) -> Pos(new_primMulNat1(vyv1830)) 248.95/165.37 new_primMulNat1(Succ(vyv18300)) -> new_primPlusNat0(new_primMulNat2(vyv18300), Succ(vyv18300)) 248.95/165.37 new_primMulNat1(Zero) -> Zero 248.95/165.37 new_primMulNat2(Succ(vyv183000)) -> new_primPlusNat0(new_primMulNat3(vyv183000), Succ(Succ(vyv183000))) 248.95/165.37 new_primMulNat2(Zero) -> Zero 248.95/165.37 new_primMulNat3(Succ(vyv1830000)) -> new_primPlusNat0(new_primMulNat4(vyv1830000), Succ(Succ(Succ(vyv1830000)))) 248.95/165.37 new_primMulNat3(Zero) -> Zero 248.95/165.37 new_primMulNat4(Succ(vyv18300000)) -> new_primPlusNat0(new_primMulNat0(vyv18300000, Succ(Succ(Succ(Succ(vyv18300000))))), Succ(Succ(Succ(Succ(vyv18300000))))) 248.95/165.37 new_primMulNat4(Zero) -> Zero 248.95/165.37 new_sr9(vyv183) -> error([]) 248.95/165.37 new_sr10(vyv183) -> error([]) 248.95/165.37 new_sr4(vyv239, vyv238, app(ty_Ratio, bf)) -> new_sr12(vyv239, vyv238, bf) 248.95/165.37 new_sr4(vyv239, vyv238, ty_Integer) -> new_sr8(vyv239, vyv238) 248.95/165.37 new_sr4(vyv239, vyv238, ty_Int) -> new_sr14(vyv239, vyv238) 248.95/165.37 new_sr4(vyv239, vyv238, ty_Double) -> new_sr11(vyv239, vyv238) 248.95/165.37 new_sr4(vyv239, vyv238, ty_Float) -> new_sr13(vyv239, vyv238) 248.95/165.37 new_sr13(vyv239, vyv238) -> error([]) 248.95/165.37 new_sr11(vyv239, vyv238) -> error([]) 248.95/165.37 new_sr12(:%(vyv2390, vyv2391), :%(vyv2380, vyv2381), bf) -> new_reduce2Reduce1(vyv2390, vyv2380, vyv2391, vyv2381, new_esEs2(vyv2391, vyv2381, bf), bf) 248.95/165.37 new_esEs2(vyv2391, vyv2381, ty_Int) -> new_esEs(new_sr14(vyv2391, vyv2381)) 248.95/165.37 new_esEs2(vyv2391, vyv2381, ty_Integer) -> new_esEs1(new_sr8(vyv2391, vyv2381)) 248.95/165.37 anew_new_pr2F0G10(Succ(Succ(vyv25100))) -> new_new_pr2F0G10(vyv25100) 248.95/165.37 new_new_pr2F0G10(Succ(Succ(vyv25100))) -> new_new_pr2F0G10(vyv25100) 248.95/165.37 new_new_pr2F0G10(Succ(Zero)) -> cons_new_pr2F0G10(Succ(Zero)) 248.95/165.37 new_new_pr2F0G10(Zero) -> cons_new_pr2F0G10(Zero) 248.95/165.37 248.95/165.37 The set Q consists of the following terms: 248.95/165.37 248.95/165.37 new_rem(Pos(x0), Pos(Succ(x1))) 248.95/165.37 new_quot1(x0, x1, x2, x3, ty_Integer) 248.95/165.37 new_primModNatS1(Succ(Zero), Succ(x0)) 248.95/165.37 new_primMulNat4(Zero) 248.95/165.37 new_gcd1(False, x0, x1) 248.95/165.37 new_primEqInt(Pos(Zero)) 248.95/165.37 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 248.95/165.37 new_rem(Pos(x0), Neg(Succ(x1))) 248.95/165.37 new_rem(Neg(x0), Pos(Succ(x1))) 248.95/165.37 new_sr10(x0) 248.95/165.37 new_quot1(x0, x1, x2, x3, ty_Int) 248.95/165.37 new_quot2(x0, x1, x2, x3, ty_Integer) 248.95/165.37 new_primModNatS01(x0, x1, Succ(x2), Zero) 248.95/165.37 new_sr3(x0, ty_Integer) 248.95/165.37 new_primMulNat3(Zero) 248.95/165.37 new_primDivNatS02(x0, x1, Succ(x2), Zero) 248.95/165.37 new_quot2(x0, x1, x2, x3, ty_Int) 248.95/165.37 new_gcd2(False, x0, x1) 248.95/165.37 new_primDivNatS1(Succ(Zero), Zero) 248.95/165.37 new_esEs0(x0, ty_Int) 248.95/165.37 new_sr14(Pos(x0), Pos(x1)) 248.95/165.37 new_sr3(x0, ty_Int) 248.95/165.37 new_primMulNat0(Zero, Zero) 248.95/165.37 new_sr4(x0, x1, ty_Double) 248.95/165.37 new_primPlusNat0(Succ(x0), Zero) 248.95/165.37 new_primMulNat2(Zero) 248.95/165.37 new_sr11(x0, x1) 248.95/165.37 new_primModNatS01(x0, x1, Zero, Zero) 248.95/165.37 new_esEs2(x0, x1, ty_Int) 248.95/165.37 new_gcd1(True, x0, x1) 248.95/165.37 new_sr13(x0, x1) 248.95/165.37 new_sr14(Pos(x0), Neg(x1)) 248.95/165.37 new_sr14(Neg(x0), Pos(x1)) 248.95/165.37 new_primDivNatS1(Succ(Succ(x0)), Succ(x1)) 248.95/165.37 new_primModNatS1(Zero, x0) 248.95/165.37 new_esEs(Pos(Succ(x0))) 248.95/165.37 new_primMulNat3(Succ(x0)) 248.95/165.37 new_primQuotInt(x0, Neg(Succ(x1))) 248.95/165.37 new_reduce2Reduce1(x0, x1, x2, x3, False, x4) 248.95/165.37 new_primDivNatS1(Zero, x0) 248.95/165.37 new_primDivNatS02(x0, x1, Succ(x2), Succ(x3)) 248.95/165.37 new_primModNatS02(x0, x1) 248.95/165.37 new_primDivNatS1(Succ(Zero), Succ(x0)) 248.95/165.37 new_sr6(Neg(x0)) 248.95/165.37 new_gcd0Gcd'10(True, x0, x1) 248.95/165.37 new_primMulNat0(Succ(x0), Succ(x1)) 248.95/165.37 new_abs(Neg(Zero)) 248.95/165.37 new_rem(Pos(x0), Neg(Zero)) 248.95/165.37 new_rem(Neg(x0), Pos(Zero)) 248.95/165.37 new_primMinusNatS2(Zero, Succ(x0)) 248.95/165.37 new_esEs(Neg(Succ(x0))) 248.95/165.37 new_error 248.95/165.37 new_primModNatS1(Succ(Zero), Zero) 248.95/165.37 new_primMulNat0(Zero, Succ(x0)) 248.95/165.37 new_sr3(x0, ty_Float) 248.95/165.37 new_quot(x0, x1, x2) 248.95/165.37 new_gcd2(True, x0, x1) 248.95/165.37 new_gcd0Gcd'11(True, x0, x1) 248.95/165.37 new_primEqInt(Neg(Zero)) 248.95/165.37 new_primMulNat0(Succ(x0), Zero) 248.95/165.37 new_quot0(Neg(x0), x1, x2) 248.95/165.37 new_primMinusNatS2(Succ(x0), Succ(x1)) 248.95/165.37 new_sr4(x0, x1, app(ty_Ratio, x2)) 248.95/165.37 new_sr8(x0, x1) 248.95/165.37 new_primDivNatS01(x0, x1) 248.95/165.37 new_primDivNatS02(x0, x1, Zero, Succ(x2)) 248.95/165.37 new_primPlusNat0(Succ(x0), Succ(x1)) 248.95/165.37 new_primPlusNat0(Zero, Zero) 248.95/165.37 new_sr12(:%(x0, x1), :%(x2, x3), x4) 248.95/165.37 new_abs(Neg(Succ(x0))) 248.95/165.37 new_sr3(x0, app(ty_Ratio, x1)) 248.95/165.37 new_sr7(x0) 248.95/165.37 new_gcd0(x0, x1) 248.95/165.37 new_primQuotInt0(x0, Pos(Succ(x1))) 248.95/165.37 new_sr4(x0, x1, ty_Integer) 248.95/165.37 new_sr5(:%(x0, x1), x2) 248.95/165.37 new_primMinusNatS2(Zero, Zero) 248.95/165.37 new_primMulNat1(Succ(x0)) 248.95/165.37 new_abs(Pos(Succ(x0))) 248.95/165.37 new_sr4(x0, x1, ty_Int) 248.95/165.37 new_esEs(Pos(Zero)) 248.95/165.37 new_primQuotInt0(x0, Pos(Zero)) 248.95/165.37 new_primEqInt(Neg(Succ(x0))) 248.95/165.37 new_primQuotInt(x0, Neg(Zero)) 248.95/165.37 new_primQuotInt0(x0, Neg(Zero)) 248.95/165.37 new_primQuotInt0(x0, Neg(Succ(x1))) 248.95/165.37 new_gcd(x0, x1) 248.95/165.37 new_quot0(Pos(x0), x1, x2) 248.95/165.37 new_primMinusNatS0(x0) 248.95/165.37 new_primPlusNat0(Zero, Succ(x0)) 248.95/165.37 new_primQuotInt(x0, Pos(Succ(x1))) 248.95/165.37 new_primDivNatS1(Succ(Succ(x0)), Zero) 248.95/165.37 new_rem(Pos(x0), Pos(Zero)) 248.95/165.37 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 248.95/165.37 new_primDivNatS02(x0, x1, Zero, Zero) 248.95/165.37 new_abs(Pos(Zero)) 248.95/165.37 new_gcd0Gcd'10(False, x0, x1) 248.95/165.37 new_primMinusNatS1 248.95/165.37 new_esEs1(Integer(x0)) 248.95/165.37 new_primModNatS01(x0, x1, Zero, Succ(x2)) 248.95/165.37 new_primMulNat2(Succ(x0)) 248.95/165.37 new_sr14(Neg(x0), Neg(x1)) 248.95/165.37 new_primMinusNatS2(Succ(x0), Zero) 248.95/165.37 new_sr4(x0, x1, ty_Float) 248.95/165.37 new_sr6(Pos(x0)) 248.95/165.37 new_esEs2(x0, x1, ty_Integer) 248.95/165.37 new_primMulNat4(Succ(x0)) 248.95/165.37 new_rem(Neg(x0), Neg(Succ(x1))) 248.95/165.37 new_primEqInt(Pos(Succ(x0))) 248.95/165.37 new_primQuotInt(x0, Pos(Zero)) 248.95/165.37 new_gcd0Gcd'11(False, x0, x1) 248.95/165.37 new_sr9(x0) 248.95/165.37 new_primModNatS1(Succ(Succ(x0)), Zero) 248.95/165.37 new_esEs0(x0, ty_Integer) 248.95/165.37 new_gcd0Gcd'00(x0, x1) 248.95/165.37 new_reduce2Reduce1(x0, x1, x2, x3, True, x4) 248.95/165.37 new_sr3(x0, ty_Double) 248.95/165.37 new_esEs(Neg(Zero)) 248.95/165.37 new_primMulNat1(Zero) 248.95/165.37 new_rem(Neg(x0), Neg(Zero)) 248.95/165.37 new_new_pr2F0G10(Succ(Succ(x0))) 248.95/165.37 anew_new_pr2F0G10(Succ(Succ(x0))) 248.95/165.37 new_new_pr2F0G10(Succ(Zero)) 248.95/165.37 new_new_pr2F0G10(Zero) 248.95/165.37 248.95/165.37 We have to consider all minimal (P,Q,R)-chains. 248.95/165.37 ---------------------------------------- 248.95/165.37 248.95/165.37 (827) TransformationProof (EQUIVALENT) 248.95/165.37 By narrowing [LPAR04] the rule new_pr2F0G10(vyv248, vyv249, vyv250, Zero, bb) -> new_pr2F0G(vyv248, new_sr3(vyv249, bb), Neg(new_primDivNatS1(Succ(vyv250), Succ(Zero))), bb) at position [2,0] we obtained the following new rules [LPAR04]: 248.95/165.37 248.95/165.37 (new_pr2F0G10(y0, y1, Zero, Zero, y3) -> new_pr2F0G(y0, new_sr3(y1, y3), Neg(Zero), y3),new_pr2F0G10(y0, y1, Zero, Zero, y3) -> new_pr2F0G(y0, new_sr3(y1, y3), Neg(Zero), y3)) 248.95/165.37 (new_pr2F0G10(y0, y1, Succ(x0), Zero, y3) -> new_pr2F0G(y0, new_sr3(y1, y3), Neg(new_primDivNatS02(x0, Zero, x0, Zero)), y3),new_pr2F0G10(y0, y1, Succ(x0), Zero, y3) -> new_pr2F0G(y0, new_sr3(y1, y3), Neg(new_primDivNatS02(x0, Zero, x0, Zero)), y3)) 248.95/165.37 248.95/165.37 248.95/165.37 ---------------------------------------- 248.95/165.37 248.95/165.37 (828) 248.95/165.37 Obligation: 248.95/165.37 Q DP problem: 248.95/165.37 The TRS P consists of the following rules: 248.95/165.37 248.95/165.37 new_pr2F30(False, z0, z1, Pos(Succ(Zero)), z2, z3) -> new_pr2F0(z0, Neg(Succ(Succ(new_primPlusNat0(z1, Zero)))), new_sr4(z0, z2, z3), z3) 248.95/165.37 new_pr2F0(vyv183, Neg(Succ(Succ(vyv222000))), vyv187, h) -> new_pr2F0G10(vyv187, vyv183, Succ(vyv222000), vyv222000, h) 248.95/165.37 new_pr2F0G10(vyv248, vyv249, vyv250, Succ(Zero), bb) -> new_pr2F0G11(vyv248, vyv249, vyv250, bb) 248.95/165.37 new_pr2F0G11(vyv238, vyv239, vyv240, bc) -> new_pr2F1(vyv239, vyv240, Pos(Succ(Zero)), vyv238, bc) 248.95/165.37 new_pr2F1(z1, z2, Pos(Succ(Zero)), z0, z3) -> new_pr2F30(False, z1, z2, Pos(Succ(Zero)), z0, z3) 248.95/165.37 new_pr2F0G(vyv187, vyv183, Neg(Succ(Zero)), h) -> new_pr2F0G11(vyv187, vyv183, Zero, h) 248.95/165.37 new_pr2F0G(vyv187, vyv183, Neg(Succ(Succ(vyv222000))), h) -> new_pr2F0G10(vyv187, vyv183, Succ(vyv222000), vyv222000, h) 248.95/165.37 new_pr2F0(vyv183, Neg(Succ(Succ(vyv222000))), vyv187, h) -> H(vyv187, vyv183, Succ(vyv222000), h, anew_new_pr2F0G10(vyv222000)) 248.95/165.37 new_pr2F0G(vyv187, vyv183, Neg(Succ(Succ(vyv222000))), h) -> H(vyv187, vyv183, Succ(vyv222000), h, anew_new_pr2F0G10(vyv222000)) 248.95/165.37 H(vyv248, vyv249, vyv250, bb, cons_new_pr2F0G10(Succ(Zero))) -> new_pr2F0G10(vyv248, vyv249, vyv250, Succ(Zero), bb) 248.95/165.37 H(vyv248, vyv249, vyv250, bb, cons_new_pr2F0G10(Zero)) -> new_pr2F0G10(vyv248, vyv249, vyv250, Zero, bb) 248.95/165.37 new_pr2F0G10(y0, y1, Zero, Zero, y3) -> new_pr2F0G(y0, new_sr3(y1, y3), Neg(Zero), y3) 248.95/165.37 new_pr2F0G10(y0, y1, Succ(x0), Zero, y3) -> new_pr2F0G(y0, new_sr3(y1, y3), Neg(new_primDivNatS02(x0, Zero, x0, Zero)), y3) 248.95/165.37 248.95/165.37 The TRS R consists of the following rules: 248.95/165.37 248.95/165.37 new_sr3(vyv249, ty_Float) -> new_sr10(vyv249) 248.95/165.37 new_sr3(vyv249, ty_Double) -> new_sr9(vyv249) 248.95/165.37 new_sr3(vyv249, ty_Int) -> new_sr6(vyv249) 248.95/165.37 new_sr3(vyv249, ty_Integer) -> new_sr7(vyv249) 248.95/165.37 new_sr3(vyv249, app(ty_Ratio, bg)) -> new_sr5(vyv249, bg) 248.95/165.37 new_primDivNatS1(Succ(Zero), Succ(vyv284000)) -> Zero 248.95/165.37 new_primDivNatS1(Succ(Succ(vyv270000)), Succ(vyv284000)) -> new_primDivNatS02(vyv270000, vyv284000, vyv270000, vyv284000) 248.95/165.37 new_primDivNatS02(vyv310, vyv311, Zero, Zero) -> new_primDivNatS01(vyv310, vyv311) 248.95/165.37 new_primDivNatS02(vyv310, vyv311, Succ(vyv3120), Zero) -> new_primDivNatS01(vyv310, vyv311) 248.95/165.37 new_primDivNatS02(vyv310, vyv311, Zero, Succ(vyv3130)) -> Zero 248.95/165.37 new_primDivNatS02(vyv310, vyv311, Succ(vyv3120), Succ(vyv3130)) -> new_primDivNatS02(vyv310, vyv311, vyv3120, vyv3130) 248.95/165.37 new_primDivNatS01(vyv310, vyv311) -> Succ(new_primDivNatS1(new_primMinusNatS2(vyv310, vyv311), Succ(vyv311))) 248.95/165.37 new_primMinusNatS2(Zero, Succ(vyv3110)) -> Zero 248.95/165.37 new_primMinusNatS2(Succ(vyv3100), Zero) -> Succ(vyv3100) 248.95/165.37 new_primMinusNatS2(Zero, Zero) -> Zero 248.95/165.37 new_primMinusNatS2(Succ(vyv3100), Succ(vyv3110)) -> new_primMinusNatS2(vyv3100, vyv3110) 248.95/165.37 new_primDivNatS1(Zero, vyv28400) -> Zero 248.95/165.37 new_sr5(:%(vyv1830, vyv1831), bd) -> new_reduce2Reduce1(vyv1830, vyv1830, vyv1831, vyv1831, new_esEs0(vyv1831, bd), bd) 248.95/165.37 new_esEs0(vyv1831, ty_Int) -> new_esEs(new_sr6(vyv1831)) 248.95/165.37 new_esEs0(vyv1831, ty_Integer) -> new_esEs1(new_sr7(vyv1831)) 248.95/165.37 new_reduce2Reduce1(vyv264, vyv265, vyv266, vyv267, False, bh) -> :%(new_quot1(vyv264, vyv265, vyv266, vyv267, bh), new_quot2(vyv266, vyv267, vyv264, vyv265, bh)) 248.95/165.37 new_reduce2Reduce1(vyv264, vyv265, vyv266, vyv267, True, bh) -> error([]) 248.95/165.37 new_quot1(vyv264, vyv265, vyv266, vyv267, ty_Int) -> new_quot0(new_sr14(vyv264, vyv265), new_sr14(vyv264, vyv265), new_sr14(vyv266, vyv267)) 248.95/165.37 new_quot1(vyv264, vyv265, vyv266, vyv267, ty_Integer) -> new_quot(new_sr8(vyv264, vyv265), new_sr8(vyv264, vyv265), new_sr8(vyv266, vyv267)) 248.95/165.37 new_quot2(vyv266, vyv267, vyv264, vyv265, ty_Int) -> new_quot0(new_sr14(vyv266, vyv267), new_sr14(vyv264, vyv265), new_sr14(vyv266, vyv267)) 248.95/165.37 new_quot2(vyv266, vyv267, vyv264, vyv265, ty_Integer) -> new_quot(new_sr8(vyv266, vyv267), new_sr8(vyv264, vyv265), new_sr8(vyv266, vyv267)) 248.95/165.37 new_sr8(vyv239, vyv238) -> error([]) 248.95/165.37 new_quot(vyv273, vyv275, vyv274) -> error([]) 248.95/165.37 new_sr14(Pos(vyv2390), Neg(vyv2380)) -> Neg(new_primMulNat0(vyv2390, vyv2380)) 248.95/165.37 new_sr14(Neg(vyv2390), Pos(vyv2380)) -> Neg(new_primMulNat0(vyv2390, vyv2380)) 248.95/165.37 new_sr14(Neg(vyv2390), Neg(vyv2380)) -> Pos(new_primMulNat0(vyv2390, vyv2380)) 248.95/165.37 new_sr14(Pos(vyv2390), Pos(vyv2380)) -> Pos(new_primMulNat0(vyv2390, vyv2380)) 248.95/165.37 new_quot0(Neg(vyv2700), vyv272, vyv271) -> new_primQuotInt0(vyv2700, new_gcd(vyv272, vyv271)) 248.95/165.37 new_quot0(Pos(vyv2700), vyv272, vyv271) -> new_primQuotInt(vyv2700, new_gcd(vyv272, vyv271)) 248.95/165.37 new_gcd(vyv272, vyv271) -> new_gcd2(new_esEs(vyv272), vyv272, vyv271) 248.95/165.37 new_primQuotInt(vyv2700, Pos(Succ(vyv28400))) -> Pos(new_primDivNatS1(vyv2700, vyv28400)) 248.95/165.37 new_primQuotInt(vyv2700, Neg(Zero)) -> new_error 248.95/165.37 new_primQuotInt(vyv2700, Pos(Zero)) -> new_error 248.95/165.37 new_primQuotInt(vyv2700, Neg(Succ(vyv28400))) -> Neg(new_primDivNatS1(vyv2700, vyv28400)) 248.95/165.37 new_primDivNatS1(Succ(Succ(vyv270000)), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS0(vyv270000), Zero)) 248.95/165.37 new_primDivNatS1(Succ(Zero), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS1, Zero)) 248.95/165.37 new_primMinusNatS1 -> Zero 248.95/165.37 new_primMinusNatS0(vyv270000) -> Succ(vyv270000) 248.95/165.37 new_error -> error([]) 248.95/165.37 new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) 248.95/165.37 new_esEs(Pos(Succ(vyv24100))) -> new_primEqInt(Pos(Succ(vyv24100))) 248.95/165.37 new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) 248.95/165.37 new_esEs(Neg(Succ(vyv24100))) -> new_primEqInt(Neg(Succ(vyv24100))) 248.95/165.37 new_gcd2(True, vyv272, vyv271) -> new_gcd1(new_esEs(vyv271), vyv272, vyv271) 248.95/165.37 new_gcd2(False, vyv272, vyv271) -> new_gcd0(vyv272, vyv271) 248.95/165.37 new_gcd0(vyv272, vyv271) -> new_gcd0Gcd'10(new_esEs(new_abs(vyv271)), vyv272, vyv271) 248.95/165.37 new_abs(Neg(Zero)) -> Neg(Zero) 248.95/165.37 new_abs(Neg(Succ(vyv27100))) -> Pos(Succ(vyv27100)) 248.95/165.37 new_abs(Pos(Succ(vyv27100))) -> Pos(Succ(vyv27100)) 248.95/165.37 new_abs(Pos(Zero)) -> Pos(Zero) 248.95/165.37 new_gcd0Gcd'10(True, vyv272, vyv271) -> new_abs(vyv272) 248.95/165.37 new_gcd0Gcd'10(False, vyv272, vyv271) -> new_gcd0Gcd'00(new_abs(vyv272), new_abs(vyv271)) 248.95/165.37 new_gcd0Gcd'11(False, vyv291, vyv292) -> new_gcd0Gcd'00(vyv291, new_rem(vyv292, vyv291)) 248.95/165.37 new_gcd0Gcd'00(vyv292, vyv291) -> new_gcd0Gcd'11(new_esEs(new_rem(vyv292, vyv291)), vyv291, vyv292) 248.95/165.37 new_rem(Pos(vyv2920), Neg(Zero)) -> new_error 248.95/165.37 new_rem(Neg(vyv2920), Pos(Zero)) -> new_error 248.95/165.37 new_rem(Pos(vyv2920), Neg(Succ(vyv29100))) -> Pos(new_primModNatS1(vyv2920, vyv29100)) 248.95/165.37 new_rem(Neg(vyv2920), Pos(Succ(vyv29100))) -> Neg(new_primModNatS1(vyv2920, vyv29100)) 248.95/165.37 new_rem(Pos(vyv2920), Pos(Succ(vyv29100))) -> Pos(new_primModNatS1(vyv2920, vyv29100)) 248.95/165.37 new_rem(Neg(vyv2920), Neg(Zero)) -> new_error 248.95/165.37 new_rem(Neg(vyv2920), Neg(Succ(vyv29100))) -> Neg(new_primModNatS1(vyv2920, vyv29100)) 248.95/165.37 new_rem(Pos(vyv2920), Pos(Zero)) -> new_error 248.95/165.37 new_gcd0Gcd'11(True, vyv291, vyv292) -> vyv291 248.95/165.37 new_primModNatS1(Succ(Zero), Succ(vyv291000)) -> Succ(Zero) 248.95/165.37 new_primModNatS1(Zero, vyv29100) -> Zero 248.95/165.37 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 248.95/165.37 new_primModNatS1(Succ(Succ(vyv292000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv292000), Zero) 248.95/165.37 new_primModNatS1(Succ(Succ(vyv292000)), Succ(vyv291000)) -> new_primModNatS01(vyv292000, vyv291000, vyv292000, vyv291000) 248.95/165.37 new_primModNatS01(vyv330, vyv331, Zero, Zero) -> new_primModNatS02(vyv330, vyv331) 248.95/165.37 new_primModNatS02(vyv330, vyv331) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv330), Succ(vyv331)), Succ(vyv331)) 248.95/165.37 new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Zero) -> new_primModNatS02(vyv330, vyv331) 248.95/165.37 new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Succ(vyv3330)) -> new_primModNatS01(vyv330, vyv331, vyv3320, vyv3330) 248.95/165.37 new_primModNatS01(vyv330, vyv331, Zero, Succ(vyv3330)) -> Succ(Succ(vyv330)) 248.95/165.37 new_gcd1(True, vyv272, vyv271) -> new_error 248.95/165.37 new_gcd1(False, vyv272, vyv271) -> new_gcd0(vyv272, vyv271) 248.95/165.37 new_primEqInt(Neg(Succ(vyv242000))) -> False 248.95/165.37 new_primEqInt(Pos(Zero)) -> True 248.95/165.37 new_primEqInt(Pos(Succ(vyv242000))) -> False 248.95/165.37 new_primEqInt(Neg(Zero)) -> True 248.95/165.37 new_primQuotInt0(vyv2700, Pos(Succ(vyv28700))) -> Neg(new_primDivNatS1(vyv2700, vyv28700)) 248.95/165.37 new_primQuotInt0(vyv2700, Neg(Zero)) -> new_error 248.95/165.37 new_primQuotInt0(vyv2700, Neg(Succ(vyv28700))) -> Pos(new_primDivNatS1(vyv2700, vyv28700)) 248.95/165.37 new_primQuotInt0(vyv2700, Pos(Zero)) -> new_error 248.95/165.37 new_primMulNat0(Succ(vyv23900), Zero) -> Zero 248.95/165.37 new_primMulNat0(Zero, Succ(vyv23800)) -> Zero 248.95/165.37 new_primMulNat0(Zero, Zero) -> Zero 248.95/165.37 new_primMulNat0(Succ(vyv23900), Succ(vyv23800)) -> new_primPlusNat0(new_primMulNat0(vyv23900, Succ(vyv23800)), Succ(vyv23800)) 248.95/165.37 new_primPlusNat0(Succ(vyv4000), Succ(vyv5000)) -> Succ(Succ(new_primPlusNat0(vyv4000, vyv5000))) 248.95/165.37 new_primPlusNat0(Zero, Succ(vyv5000)) -> Succ(vyv5000) 248.95/165.37 new_primPlusNat0(Zero, Zero) -> Zero 248.95/165.37 new_primPlusNat0(Succ(vyv4000), Zero) -> Succ(vyv4000) 248.95/165.37 new_sr7(vyv183) -> error([]) 248.95/165.37 new_esEs1(Integer(vyv2690)) -> new_primEqInt(vyv2690) 248.95/165.37 new_sr6(Neg(vyv1830)) -> Pos(new_primMulNat1(vyv1830)) 248.95/165.37 new_sr6(Pos(vyv1830)) -> Pos(new_primMulNat1(vyv1830)) 248.95/165.37 new_primMulNat1(Succ(vyv18300)) -> new_primPlusNat0(new_primMulNat2(vyv18300), Succ(vyv18300)) 248.95/165.37 new_primMulNat1(Zero) -> Zero 248.95/165.37 new_primMulNat2(Succ(vyv183000)) -> new_primPlusNat0(new_primMulNat3(vyv183000), Succ(Succ(vyv183000))) 248.95/165.37 new_primMulNat2(Zero) -> Zero 248.95/165.37 new_primMulNat3(Succ(vyv1830000)) -> new_primPlusNat0(new_primMulNat4(vyv1830000), Succ(Succ(Succ(vyv1830000)))) 248.95/165.37 new_primMulNat3(Zero) -> Zero 248.95/165.37 new_primMulNat4(Succ(vyv18300000)) -> new_primPlusNat0(new_primMulNat0(vyv18300000, Succ(Succ(Succ(Succ(vyv18300000))))), Succ(Succ(Succ(Succ(vyv18300000))))) 248.95/165.37 new_primMulNat4(Zero) -> Zero 248.95/165.37 new_sr9(vyv183) -> error([]) 248.95/165.37 new_sr10(vyv183) -> error([]) 248.95/165.37 new_sr4(vyv239, vyv238, app(ty_Ratio, bf)) -> new_sr12(vyv239, vyv238, bf) 248.95/165.37 new_sr4(vyv239, vyv238, ty_Integer) -> new_sr8(vyv239, vyv238) 248.95/165.37 new_sr4(vyv239, vyv238, ty_Int) -> new_sr14(vyv239, vyv238) 248.95/165.37 new_sr4(vyv239, vyv238, ty_Double) -> new_sr11(vyv239, vyv238) 248.95/165.37 new_sr4(vyv239, vyv238, ty_Float) -> new_sr13(vyv239, vyv238) 248.95/165.37 new_sr13(vyv239, vyv238) -> error([]) 248.95/165.37 new_sr11(vyv239, vyv238) -> error([]) 248.95/165.37 new_sr12(:%(vyv2390, vyv2391), :%(vyv2380, vyv2381), bf) -> new_reduce2Reduce1(vyv2390, vyv2380, vyv2391, vyv2381, new_esEs2(vyv2391, vyv2381, bf), bf) 248.95/165.37 new_esEs2(vyv2391, vyv2381, ty_Int) -> new_esEs(new_sr14(vyv2391, vyv2381)) 248.95/165.37 new_esEs2(vyv2391, vyv2381, ty_Integer) -> new_esEs1(new_sr8(vyv2391, vyv2381)) 248.95/165.37 anew_new_pr2F0G10(Succ(Succ(vyv25100))) -> new_new_pr2F0G10(vyv25100) 248.95/165.37 new_new_pr2F0G10(Succ(Succ(vyv25100))) -> new_new_pr2F0G10(vyv25100) 248.95/165.37 new_new_pr2F0G10(Succ(Zero)) -> cons_new_pr2F0G10(Succ(Zero)) 248.95/165.37 new_new_pr2F0G10(Zero) -> cons_new_pr2F0G10(Zero) 248.95/165.37 248.95/165.37 The set Q consists of the following terms: 248.95/165.37 248.95/165.37 new_rem(Pos(x0), Pos(Succ(x1))) 248.95/165.37 new_quot1(x0, x1, x2, x3, ty_Integer) 248.95/165.37 new_primModNatS1(Succ(Zero), Succ(x0)) 248.95/165.37 new_primMulNat4(Zero) 248.95/165.37 new_gcd1(False, x0, x1) 248.95/165.37 new_primEqInt(Pos(Zero)) 248.95/165.37 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 248.95/165.37 new_rem(Pos(x0), Neg(Succ(x1))) 248.95/165.37 new_rem(Neg(x0), Pos(Succ(x1))) 248.95/165.37 new_sr10(x0) 248.95/165.37 new_quot1(x0, x1, x2, x3, ty_Int) 248.95/165.37 new_quot2(x0, x1, x2, x3, ty_Integer) 248.95/165.37 new_primModNatS01(x0, x1, Succ(x2), Zero) 248.95/165.37 new_sr3(x0, ty_Integer) 248.95/165.37 new_primMulNat3(Zero) 248.95/165.37 new_primDivNatS02(x0, x1, Succ(x2), Zero) 248.95/165.37 new_quot2(x0, x1, x2, x3, ty_Int) 248.95/165.37 new_gcd2(False, x0, x1) 248.95/165.37 new_primDivNatS1(Succ(Zero), Zero) 248.95/165.37 new_esEs0(x0, ty_Int) 248.95/165.37 new_sr14(Pos(x0), Pos(x1)) 248.95/165.37 new_sr3(x0, ty_Int) 248.95/165.37 new_primMulNat0(Zero, Zero) 248.95/165.37 new_sr4(x0, x1, ty_Double) 248.95/165.37 new_primPlusNat0(Succ(x0), Zero) 248.95/165.37 new_primMulNat2(Zero) 248.95/165.37 new_sr11(x0, x1) 248.95/165.37 new_primModNatS01(x0, x1, Zero, Zero) 248.95/165.37 new_esEs2(x0, x1, ty_Int) 248.95/165.37 new_gcd1(True, x0, x1) 248.95/165.37 new_sr13(x0, x1) 248.95/165.37 new_sr14(Pos(x0), Neg(x1)) 248.95/165.37 new_sr14(Neg(x0), Pos(x1)) 248.95/165.37 new_primDivNatS1(Succ(Succ(x0)), Succ(x1)) 248.95/165.37 new_primModNatS1(Zero, x0) 248.95/165.37 new_esEs(Pos(Succ(x0))) 248.95/165.37 new_primMulNat3(Succ(x0)) 248.95/165.37 new_primQuotInt(x0, Neg(Succ(x1))) 248.95/165.37 new_reduce2Reduce1(x0, x1, x2, x3, False, x4) 248.95/165.37 new_primDivNatS1(Zero, x0) 248.95/165.37 new_primDivNatS02(x0, x1, Succ(x2), Succ(x3)) 248.95/165.37 new_primModNatS02(x0, x1) 248.95/165.37 new_primDivNatS1(Succ(Zero), Succ(x0)) 248.95/165.37 new_sr6(Neg(x0)) 248.95/165.37 new_gcd0Gcd'10(True, x0, x1) 248.95/165.37 new_primMulNat0(Succ(x0), Succ(x1)) 248.95/165.37 new_abs(Neg(Zero)) 248.95/165.37 new_rem(Pos(x0), Neg(Zero)) 248.95/165.37 new_rem(Neg(x0), Pos(Zero)) 248.95/165.37 new_primMinusNatS2(Zero, Succ(x0)) 248.95/165.37 new_esEs(Neg(Succ(x0))) 248.95/165.37 new_error 248.95/165.37 new_primModNatS1(Succ(Zero), Zero) 248.95/165.37 new_primMulNat0(Zero, Succ(x0)) 248.95/165.37 new_sr3(x0, ty_Float) 248.95/165.37 new_quot(x0, x1, x2) 248.95/165.37 new_gcd2(True, x0, x1) 248.95/165.37 new_gcd0Gcd'11(True, x0, x1) 248.95/165.37 new_primEqInt(Neg(Zero)) 248.95/165.37 new_primMulNat0(Succ(x0), Zero) 248.95/165.37 new_quot0(Neg(x0), x1, x2) 248.95/165.37 new_primMinusNatS2(Succ(x0), Succ(x1)) 248.95/165.37 new_sr4(x0, x1, app(ty_Ratio, x2)) 248.95/165.37 new_sr8(x0, x1) 248.95/165.37 new_primDivNatS01(x0, x1) 248.95/165.37 new_primDivNatS02(x0, x1, Zero, Succ(x2)) 248.95/165.37 new_primPlusNat0(Succ(x0), Succ(x1)) 248.95/165.37 new_primPlusNat0(Zero, Zero) 248.95/165.37 new_sr12(:%(x0, x1), :%(x2, x3), x4) 248.95/165.37 new_abs(Neg(Succ(x0))) 248.95/165.37 new_sr3(x0, app(ty_Ratio, x1)) 248.95/165.37 new_sr7(x0) 248.95/165.37 new_gcd0(x0, x1) 248.95/165.37 new_primQuotInt0(x0, Pos(Succ(x1))) 248.95/165.37 new_sr4(x0, x1, ty_Integer) 248.95/165.37 new_sr5(:%(x0, x1), x2) 248.95/165.37 new_primMinusNatS2(Zero, Zero) 248.95/165.37 new_primMulNat1(Succ(x0)) 248.95/165.37 new_abs(Pos(Succ(x0))) 248.95/165.37 new_sr4(x0, x1, ty_Int) 248.95/165.37 new_esEs(Pos(Zero)) 248.95/165.37 new_primQuotInt0(x0, Pos(Zero)) 248.95/165.37 new_primEqInt(Neg(Succ(x0))) 248.95/165.37 new_primQuotInt(x0, Neg(Zero)) 248.95/165.37 new_primQuotInt0(x0, Neg(Zero)) 248.95/165.37 new_primQuotInt0(x0, Neg(Succ(x1))) 248.95/165.37 new_gcd(x0, x1) 248.95/165.37 new_quot0(Pos(x0), x1, x2) 248.95/165.37 new_primMinusNatS0(x0) 248.95/165.37 new_primPlusNat0(Zero, Succ(x0)) 248.95/165.37 new_primQuotInt(x0, Pos(Succ(x1))) 248.95/165.37 new_primDivNatS1(Succ(Succ(x0)), Zero) 248.95/165.37 new_rem(Pos(x0), Pos(Zero)) 248.95/165.37 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 248.95/165.37 new_primDivNatS02(x0, x1, Zero, Zero) 248.95/165.37 new_abs(Pos(Zero)) 248.95/165.37 new_gcd0Gcd'10(False, x0, x1) 248.95/165.37 new_primMinusNatS1 248.95/165.37 new_esEs1(Integer(x0)) 248.95/165.37 new_primModNatS01(x0, x1, Zero, Succ(x2)) 248.95/165.37 new_primMulNat2(Succ(x0)) 248.95/165.37 new_sr14(Neg(x0), Neg(x1)) 248.95/165.37 new_primMinusNatS2(Succ(x0), Zero) 248.95/165.37 new_sr4(x0, x1, ty_Float) 248.95/165.37 new_sr6(Pos(x0)) 248.95/165.37 new_esEs2(x0, x1, ty_Integer) 248.95/165.37 new_primMulNat4(Succ(x0)) 248.95/165.37 new_rem(Neg(x0), Neg(Succ(x1))) 248.95/165.37 new_primEqInt(Pos(Succ(x0))) 248.95/165.37 new_primQuotInt(x0, Pos(Zero)) 248.95/165.37 new_gcd0Gcd'11(False, x0, x1) 248.95/165.37 new_sr9(x0) 248.95/165.37 new_primModNatS1(Succ(Succ(x0)), Zero) 248.95/165.37 new_esEs0(x0, ty_Integer) 248.95/165.37 new_gcd0Gcd'00(x0, x1) 248.95/165.37 new_reduce2Reduce1(x0, x1, x2, x3, True, x4) 248.95/165.37 new_sr3(x0, ty_Double) 248.95/165.37 new_esEs(Neg(Zero)) 248.95/165.37 new_primMulNat1(Zero) 248.95/165.37 new_rem(Neg(x0), Neg(Zero)) 248.95/165.37 new_new_pr2F0G10(Succ(Succ(x0))) 248.95/165.37 anew_new_pr2F0G10(Succ(Succ(x0))) 248.95/165.37 new_new_pr2F0G10(Succ(Zero)) 248.95/165.37 new_new_pr2F0G10(Zero) 248.95/165.37 248.95/165.37 We have to consider all minimal (P,Q,R)-chains. 248.95/165.37 ---------------------------------------- 248.95/165.37 248.95/165.37 (829) DependencyGraphProof (EQUIVALENT) 248.95/165.37 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. 248.95/165.37 ---------------------------------------- 248.95/165.37 248.95/165.37 (830) 248.95/165.37 Obligation: 248.95/165.37 Q DP problem: 248.95/165.37 The TRS P consists of the following rules: 248.95/165.37 248.95/165.37 new_pr2F0(vyv183, Neg(Succ(Succ(vyv222000))), vyv187, h) -> new_pr2F0G10(vyv187, vyv183, Succ(vyv222000), vyv222000, h) 248.95/165.37 new_pr2F0G10(vyv248, vyv249, vyv250, Succ(Zero), bb) -> new_pr2F0G11(vyv248, vyv249, vyv250, bb) 248.95/165.37 new_pr2F0G11(vyv238, vyv239, vyv240, bc) -> new_pr2F1(vyv239, vyv240, Pos(Succ(Zero)), vyv238, bc) 248.95/165.37 new_pr2F1(z1, z2, Pos(Succ(Zero)), z0, z3) -> new_pr2F30(False, z1, z2, Pos(Succ(Zero)), z0, z3) 248.95/165.37 new_pr2F30(False, z0, z1, Pos(Succ(Zero)), z2, z3) -> new_pr2F0(z0, Neg(Succ(Succ(new_primPlusNat0(z1, Zero)))), new_sr4(z0, z2, z3), z3) 248.95/165.37 new_pr2F0(vyv183, Neg(Succ(Succ(vyv222000))), vyv187, h) -> H(vyv187, vyv183, Succ(vyv222000), h, anew_new_pr2F0G10(vyv222000)) 248.95/165.37 H(vyv248, vyv249, vyv250, bb, cons_new_pr2F0G10(Succ(Zero))) -> new_pr2F0G10(vyv248, vyv249, vyv250, Succ(Zero), bb) 248.95/165.37 H(vyv248, vyv249, vyv250, bb, cons_new_pr2F0G10(Zero)) -> new_pr2F0G10(vyv248, vyv249, vyv250, Zero, bb) 248.95/165.37 new_pr2F0G10(y0, y1, Succ(x0), Zero, y3) -> new_pr2F0G(y0, new_sr3(y1, y3), Neg(new_primDivNatS02(x0, Zero, x0, Zero)), y3) 248.95/165.37 new_pr2F0G(vyv187, vyv183, Neg(Succ(Zero)), h) -> new_pr2F0G11(vyv187, vyv183, Zero, h) 248.95/165.37 new_pr2F0G(vyv187, vyv183, Neg(Succ(Succ(vyv222000))), h) -> new_pr2F0G10(vyv187, vyv183, Succ(vyv222000), vyv222000, h) 248.95/165.37 new_pr2F0G(vyv187, vyv183, Neg(Succ(Succ(vyv222000))), h) -> H(vyv187, vyv183, Succ(vyv222000), h, anew_new_pr2F0G10(vyv222000)) 248.95/165.37 248.95/165.37 The TRS R consists of the following rules: 248.95/165.37 248.95/165.37 new_sr3(vyv249, ty_Float) -> new_sr10(vyv249) 248.95/165.37 new_sr3(vyv249, ty_Double) -> new_sr9(vyv249) 248.95/165.37 new_sr3(vyv249, ty_Int) -> new_sr6(vyv249) 248.95/165.37 new_sr3(vyv249, ty_Integer) -> new_sr7(vyv249) 248.95/165.37 new_sr3(vyv249, app(ty_Ratio, bg)) -> new_sr5(vyv249, bg) 248.95/165.37 new_primDivNatS1(Succ(Zero), Succ(vyv284000)) -> Zero 248.95/165.37 new_primDivNatS1(Succ(Succ(vyv270000)), Succ(vyv284000)) -> new_primDivNatS02(vyv270000, vyv284000, vyv270000, vyv284000) 248.95/165.37 new_primDivNatS02(vyv310, vyv311, Zero, Zero) -> new_primDivNatS01(vyv310, vyv311) 248.95/165.37 new_primDivNatS02(vyv310, vyv311, Succ(vyv3120), Zero) -> new_primDivNatS01(vyv310, vyv311) 248.95/165.37 new_primDivNatS02(vyv310, vyv311, Zero, Succ(vyv3130)) -> Zero 248.95/165.37 new_primDivNatS02(vyv310, vyv311, Succ(vyv3120), Succ(vyv3130)) -> new_primDivNatS02(vyv310, vyv311, vyv3120, vyv3130) 248.95/165.37 new_primDivNatS01(vyv310, vyv311) -> Succ(new_primDivNatS1(new_primMinusNatS2(vyv310, vyv311), Succ(vyv311))) 248.95/165.37 new_primMinusNatS2(Zero, Succ(vyv3110)) -> Zero 248.95/165.37 new_primMinusNatS2(Succ(vyv3100), Zero) -> Succ(vyv3100) 248.95/165.37 new_primMinusNatS2(Zero, Zero) -> Zero 248.95/165.37 new_primMinusNatS2(Succ(vyv3100), Succ(vyv3110)) -> new_primMinusNatS2(vyv3100, vyv3110) 248.95/165.37 new_primDivNatS1(Zero, vyv28400) -> Zero 248.95/165.37 new_sr5(:%(vyv1830, vyv1831), bd) -> new_reduce2Reduce1(vyv1830, vyv1830, vyv1831, vyv1831, new_esEs0(vyv1831, bd), bd) 248.95/165.37 new_esEs0(vyv1831, ty_Int) -> new_esEs(new_sr6(vyv1831)) 248.95/165.37 new_esEs0(vyv1831, ty_Integer) -> new_esEs1(new_sr7(vyv1831)) 248.95/165.37 new_reduce2Reduce1(vyv264, vyv265, vyv266, vyv267, False, bh) -> :%(new_quot1(vyv264, vyv265, vyv266, vyv267, bh), new_quot2(vyv266, vyv267, vyv264, vyv265, bh)) 248.95/165.37 new_reduce2Reduce1(vyv264, vyv265, vyv266, vyv267, True, bh) -> error([]) 248.95/165.37 new_quot1(vyv264, vyv265, vyv266, vyv267, ty_Int) -> new_quot0(new_sr14(vyv264, vyv265), new_sr14(vyv264, vyv265), new_sr14(vyv266, vyv267)) 248.95/165.37 new_quot1(vyv264, vyv265, vyv266, vyv267, ty_Integer) -> new_quot(new_sr8(vyv264, vyv265), new_sr8(vyv264, vyv265), new_sr8(vyv266, vyv267)) 248.95/165.37 new_quot2(vyv266, vyv267, vyv264, vyv265, ty_Int) -> new_quot0(new_sr14(vyv266, vyv267), new_sr14(vyv264, vyv265), new_sr14(vyv266, vyv267)) 248.95/165.37 new_quot2(vyv266, vyv267, vyv264, vyv265, ty_Integer) -> new_quot(new_sr8(vyv266, vyv267), new_sr8(vyv264, vyv265), new_sr8(vyv266, vyv267)) 248.95/165.37 new_sr8(vyv239, vyv238) -> error([]) 248.95/165.37 new_quot(vyv273, vyv275, vyv274) -> error([]) 248.95/165.37 new_sr14(Pos(vyv2390), Neg(vyv2380)) -> Neg(new_primMulNat0(vyv2390, vyv2380)) 248.95/165.37 new_sr14(Neg(vyv2390), Pos(vyv2380)) -> Neg(new_primMulNat0(vyv2390, vyv2380)) 248.95/165.37 new_sr14(Neg(vyv2390), Neg(vyv2380)) -> Pos(new_primMulNat0(vyv2390, vyv2380)) 248.95/165.37 new_sr14(Pos(vyv2390), Pos(vyv2380)) -> Pos(new_primMulNat0(vyv2390, vyv2380)) 248.95/165.37 new_quot0(Neg(vyv2700), vyv272, vyv271) -> new_primQuotInt0(vyv2700, new_gcd(vyv272, vyv271)) 248.95/165.37 new_quot0(Pos(vyv2700), vyv272, vyv271) -> new_primQuotInt(vyv2700, new_gcd(vyv272, vyv271)) 248.95/165.37 new_gcd(vyv272, vyv271) -> new_gcd2(new_esEs(vyv272), vyv272, vyv271) 248.95/165.37 new_primQuotInt(vyv2700, Pos(Succ(vyv28400))) -> Pos(new_primDivNatS1(vyv2700, vyv28400)) 248.95/165.37 new_primQuotInt(vyv2700, Neg(Zero)) -> new_error 248.95/165.37 new_primQuotInt(vyv2700, Pos(Zero)) -> new_error 248.95/165.37 new_primQuotInt(vyv2700, Neg(Succ(vyv28400))) -> Neg(new_primDivNatS1(vyv2700, vyv28400)) 248.95/165.37 new_primDivNatS1(Succ(Succ(vyv270000)), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS0(vyv270000), Zero)) 248.95/165.37 new_primDivNatS1(Succ(Zero), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS1, Zero)) 248.95/165.37 new_primMinusNatS1 -> Zero 248.95/165.37 new_primMinusNatS0(vyv270000) -> Succ(vyv270000) 248.95/165.37 new_error -> error([]) 248.95/165.37 new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) 248.95/165.37 new_esEs(Pos(Succ(vyv24100))) -> new_primEqInt(Pos(Succ(vyv24100))) 248.95/165.37 new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) 248.95/165.37 new_esEs(Neg(Succ(vyv24100))) -> new_primEqInt(Neg(Succ(vyv24100))) 248.95/165.37 new_gcd2(True, vyv272, vyv271) -> new_gcd1(new_esEs(vyv271), vyv272, vyv271) 248.95/165.37 new_gcd2(False, vyv272, vyv271) -> new_gcd0(vyv272, vyv271) 248.95/165.37 new_gcd0(vyv272, vyv271) -> new_gcd0Gcd'10(new_esEs(new_abs(vyv271)), vyv272, vyv271) 248.95/165.37 new_abs(Neg(Zero)) -> Neg(Zero) 248.95/165.37 new_abs(Neg(Succ(vyv27100))) -> Pos(Succ(vyv27100)) 248.95/165.37 new_abs(Pos(Succ(vyv27100))) -> Pos(Succ(vyv27100)) 248.95/165.37 new_abs(Pos(Zero)) -> Pos(Zero) 248.95/165.37 new_gcd0Gcd'10(True, vyv272, vyv271) -> new_abs(vyv272) 248.95/165.37 new_gcd0Gcd'10(False, vyv272, vyv271) -> new_gcd0Gcd'00(new_abs(vyv272), new_abs(vyv271)) 248.95/165.37 new_gcd0Gcd'11(False, vyv291, vyv292) -> new_gcd0Gcd'00(vyv291, new_rem(vyv292, vyv291)) 248.95/165.37 new_gcd0Gcd'00(vyv292, vyv291) -> new_gcd0Gcd'11(new_esEs(new_rem(vyv292, vyv291)), vyv291, vyv292) 248.95/165.37 new_rem(Pos(vyv2920), Neg(Zero)) -> new_error 248.95/165.37 new_rem(Neg(vyv2920), Pos(Zero)) -> new_error 248.95/165.37 new_rem(Pos(vyv2920), Neg(Succ(vyv29100))) -> Pos(new_primModNatS1(vyv2920, vyv29100)) 248.95/165.37 new_rem(Neg(vyv2920), Pos(Succ(vyv29100))) -> Neg(new_primModNatS1(vyv2920, vyv29100)) 248.95/165.37 new_rem(Pos(vyv2920), Pos(Succ(vyv29100))) -> Pos(new_primModNatS1(vyv2920, vyv29100)) 248.95/165.37 new_rem(Neg(vyv2920), Neg(Zero)) -> new_error 248.95/165.37 new_rem(Neg(vyv2920), Neg(Succ(vyv29100))) -> Neg(new_primModNatS1(vyv2920, vyv29100)) 248.95/165.37 new_rem(Pos(vyv2920), Pos(Zero)) -> new_error 248.95/165.37 new_gcd0Gcd'11(True, vyv291, vyv292) -> vyv291 248.95/165.37 new_primModNatS1(Succ(Zero), Succ(vyv291000)) -> Succ(Zero) 248.95/165.37 new_primModNatS1(Zero, vyv29100) -> Zero 248.95/165.37 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 248.95/165.37 new_primModNatS1(Succ(Succ(vyv292000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv292000), Zero) 248.95/165.37 new_primModNatS1(Succ(Succ(vyv292000)), Succ(vyv291000)) -> new_primModNatS01(vyv292000, vyv291000, vyv292000, vyv291000) 248.95/165.37 new_primModNatS01(vyv330, vyv331, Zero, Zero) -> new_primModNatS02(vyv330, vyv331) 248.95/165.37 new_primModNatS02(vyv330, vyv331) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv330), Succ(vyv331)), Succ(vyv331)) 248.95/165.37 new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Zero) -> new_primModNatS02(vyv330, vyv331) 248.95/165.37 new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Succ(vyv3330)) -> new_primModNatS01(vyv330, vyv331, vyv3320, vyv3330) 248.95/165.37 new_primModNatS01(vyv330, vyv331, Zero, Succ(vyv3330)) -> Succ(Succ(vyv330)) 248.95/165.37 new_gcd1(True, vyv272, vyv271) -> new_error 248.95/165.37 new_gcd1(False, vyv272, vyv271) -> new_gcd0(vyv272, vyv271) 248.95/165.37 new_primEqInt(Neg(Succ(vyv242000))) -> False 248.95/165.37 new_primEqInt(Pos(Zero)) -> True 248.95/165.37 new_primEqInt(Pos(Succ(vyv242000))) -> False 248.95/165.37 new_primEqInt(Neg(Zero)) -> True 248.95/165.37 new_primQuotInt0(vyv2700, Pos(Succ(vyv28700))) -> Neg(new_primDivNatS1(vyv2700, vyv28700)) 248.95/165.37 new_primQuotInt0(vyv2700, Neg(Zero)) -> new_error 248.95/165.37 new_primQuotInt0(vyv2700, Neg(Succ(vyv28700))) -> Pos(new_primDivNatS1(vyv2700, vyv28700)) 248.95/165.37 new_primQuotInt0(vyv2700, Pos(Zero)) -> new_error 248.95/165.37 new_primMulNat0(Succ(vyv23900), Zero) -> Zero 248.95/165.37 new_primMulNat0(Zero, Succ(vyv23800)) -> Zero 248.95/165.37 new_primMulNat0(Zero, Zero) -> Zero 248.95/165.37 new_primMulNat0(Succ(vyv23900), Succ(vyv23800)) -> new_primPlusNat0(new_primMulNat0(vyv23900, Succ(vyv23800)), Succ(vyv23800)) 248.95/165.37 new_primPlusNat0(Succ(vyv4000), Succ(vyv5000)) -> Succ(Succ(new_primPlusNat0(vyv4000, vyv5000))) 248.95/165.37 new_primPlusNat0(Zero, Succ(vyv5000)) -> Succ(vyv5000) 248.95/165.37 new_primPlusNat0(Zero, Zero) -> Zero 248.95/165.37 new_primPlusNat0(Succ(vyv4000), Zero) -> Succ(vyv4000) 248.95/165.37 new_sr7(vyv183) -> error([]) 248.95/165.37 new_esEs1(Integer(vyv2690)) -> new_primEqInt(vyv2690) 248.95/165.37 new_sr6(Neg(vyv1830)) -> Pos(new_primMulNat1(vyv1830)) 248.95/165.37 new_sr6(Pos(vyv1830)) -> Pos(new_primMulNat1(vyv1830)) 248.95/165.37 new_primMulNat1(Succ(vyv18300)) -> new_primPlusNat0(new_primMulNat2(vyv18300), Succ(vyv18300)) 248.95/165.37 new_primMulNat1(Zero) -> Zero 248.95/165.37 new_primMulNat2(Succ(vyv183000)) -> new_primPlusNat0(new_primMulNat3(vyv183000), Succ(Succ(vyv183000))) 248.95/165.37 new_primMulNat2(Zero) -> Zero 248.95/165.37 new_primMulNat3(Succ(vyv1830000)) -> new_primPlusNat0(new_primMulNat4(vyv1830000), Succ(Succ(Succ(vyv1830000)))) 248.95/165.37 new_primMulNat3(Zero) -> Zero 248.95/165.37 new_primMulNat4(Succ(vyv18300000)) -> new_primPlusNat0(new_primMulNat0(vyv18300000, Succ(Succ(Succ(Succ(vyv18300000))))), Succ(Succ(Succ(Succ(vyv18300000))))) 248.95/165.37 new_primMulNat4(Zero) -> Zero 248.95/165.37 new_sr9(vyv183) -> error([]) 248.95/165.37 new_sr10(vyv183) -> error([]) 248.95/165.37 new_sr4(vyv239, vyv238, app(ty_Ratio, bf)) -> new_sr12(vyv239, vyv238, bf) 248.95/165.37 new_sr4(vyv239, vyv238, ty_Integer) -> new_sr8(vyv239, vyv238) 248.95/165.37 new_sr4(vyv239, vyv238, ty_Int) -> new_sr14(vyv239, vyv238) 248.95/165.37 new_sr4(vyv239, vyv238, ty_Double) -> new_sr11(vyv239, vyv238) 248.95/165.37 new_sr4(vyv239, vyv238, ty_Float) -> new_sr13(vyv239, vyv238) 248.95/165.37 new_sr13(vyv239, vyv238) -> error([]) 248.95/165.37 new_sr11(vyv239, vyv238) -> error([]) 248.95/165.37 new_sr12(:%(vyv2390, vyv2391), :%(vyv2380, vyv2381), bf) -> new_reduce2Reduce1(vyv2390, vyv2380, vyv2391, vyv2381, new_esEs2(vyv2391, vyv2381, bf), bf) 248.95/165.37 new_esEs2(vyv2391, vyv2381, ty_Int) -> new_esEs(new_sr14(vyv2391, vyv2381)) 248.95/165.37 new_esEs2(vyv2391, vyv2381, ty_Integer) -> new_esEs1(new_sr8(vyv2391, vyv2381)) 248.95/165.37 anew_new_pr2F0G10(Succ(Succ(vyv25100))) -> new_new_pr2F0G10(vyv25100) 248.95/165.37 new_new_pr2F0G10(Succ(Succ(vyv25100))) -> new_new_pr2F0G10(vyv25100) 248.95/165.37 new_new_pr2F0G10(Succ(Zero)) -> cons_new_pr2F0G10(Succ(Zero)) 248.95/165.37 new_new_pr2F0G10(Zero) -> cons_new_pr2F0G10(Zero) 248.95/165.37 248.95/165.37 The set Q consists of the following terms: 248.95/165.37 248.95/165.37 new_rem(Pos(x0), Pos(Succ(x1))) 248.95/165.37 new_quot1(x0, x1, x2, x3, ty_Integer) 248.95/165.37 new_primModNatS1(Succ(Zero), Succ(x0)) 248.95/165.37 new_primMulNat4(Zero) 248.95/165.37 new_gcd1(False, x0, x1) 248.95/165.37 new_primEqInt(Pos(Zero)) 248.95/165.37 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 248.95/165.37 new_rem(Pos(x0), Neg(Succ(x1))) 248.95/165.37 new_rem(Neg(x0), Pos(Succ(x1))) 248.95/165.37 new_sr10(x0) 248.95/165.37 new_quot1(x0, x1, x2, x3, ty_Int) 248.95/165.37 new_quot2(x0, x1, x2, x3, ty_Integer) 248.95/165.37 new_primModNatS01(x0, x1, Succ(x2), Zero) 248.95/165.37 new_sr3(x0, ty_Integer) 248.95/165.37 new_primMulNat3(Zero) 248.95/165.37 new_primDivNatS02(x0, x1, Succ(x2), Zero) 248.95/165.37 new_quot2(x0, x1, x2, x3, ty_Int) 248.95/165.37 new_gcd2(False, x0, x1) 248.95/165.37 new_primDivNatS1(Succ(Zero), Zero) 248.95/165.37 new_esEs0(x0, ty_Int) 248.95/165.37 new_sr14(Pos(x0), Pos(x1)) 248.95/165.37 new_sr3(x0, ty_Int) 248.95/165.37 new_primMulNat0(Zero, Zero) 248.95/165.37 new_sr4(x0, x1, ty_Double) 248.95/165.37 new_primPlusNat0(Succ(x0), Zero) 248.95/165.37 new_primMulNat2(Zero) 248.95/165.37 new_sr11(x0, x1) 248.95/165.37 new_primModNatS01(x0, x1, Zero, Zero) 248.95/165.37 new_esEs2(x0, x1, ty_Int) 248.95/165.37 new_gcd1(True, x0, x1) 248.95/165.37 new_sr13(x0, x1) 248.95/165.37 new_sr14(Pos(x0), Neg(x1)) 248.95/165.37 new_sr14(Neg(x0), Pos(x1)) 248.95/165.37 new_primDivNatS1(Succ(Succ(x0)), Succ(x1)) 248.95/165.37 new_primModNatS1(Zero, x0) 248.95/165.37 new_esEs(Pos(Succ(x0))) 248.95/165.37 new_primMulNat3(Succ(x0)) 248.95/165.37 new_primQuotInt(x0, Neg(Succ(x1))) 248.95/165.37 new_reduce2Reduce1(x0, x1, x2, x3, False, x4) 248.95/165.37 new_primDivNatS1(Zero, x0) 248.95/165.37 new_primDivNatS02(x0, x1, Succ(x2), Succ(x3)) 248.95/165.37 new_primModNatS02(x0, x1) 248.95/165.37 new_primDivNatS1(Succ(Zero), Succ(x0)) 248.95/165.37 new_sr6(Neg(x0)) 248.95/165.37 new_gcd0Gcd'10(True, x0, x1) 248.95/165.37 new_primMulNat0(Succ(x0), Succ(x1)) 248.95/165.37 new_abs(Neg(Zero)) 248.95/165.37 new_rem(Pos(x0), Neg(Zero)) 248.95/165.37 new_rem(Neg(x0), Pos(Zero)) 248.95/165.37 new_primMinusNatS2(Zero, Succ(x0)) 248.95/165.37 new_esEs(Neg(Succ(x0))) 248.95/165.37 new_error 248.95/165.37 new_primModNatS1(Succ(Zero), Zero) 248.95/165.37 new_primMulNat0(Zero, Succ(x0)) 248.95/165.37 new_sr3(x0, ty_Float) 248.95/165.37 new_quot(x0, x1, x2) 248.95/165.37 new_gcd2(True, x0, x1) 248.95/165.37 new_gcd0Gcd'11(True, x0, x1) 248.95/165.37 new_primEqInt(Neg(Zero)) 248.95/165.37 new_primMulNat0(Succ(x0), Zero) 248.95/165.37 new_quot0(Neg(x0), x1, x2) 248.95/165.37 new_primMinusNatS2(Succ(x0), Succ(x1)) 248.95/165.37 new_sr4(x0, x1, app(ty_Ratio, x2)) 248.95/165.37 new_sr8(x0, x1) 248.95/165.37 new_primDivNatS01(x0, x1) 248.95/165.37 new_primDivNatS02(x0, x1, Zero, Succ(x2)) 248.95/165.37 new_primPlusNat0(Succ(x0), Succ(x1)) 248.95/165.37 new_primPlusNat0(Zero, Zero) 248.95/165.37 new_sr12(:%(x0, x1), :%(x2, x3), x4) 248.95/165.37 new_abs(Neg(Succ(x0))) 248.95/165.37 new_sr3(x0, app(ty_Ratio, x1)) 248.95/165.37 new_sr7(x0) 248.95/165.37 new_gcd0(x0, x1) 248.95/165.37 new_primQuotInt0(x0, Pos(Succ(x1))) 248.95/165.37 new_sr4(x0, x1, ty_Integer) 248.95/165.37 new_sr5(:%(x0, x1), x2) 248.95/165.37 new_primMinusNatS2(Zero, Zero) 248.95/165.37 new_primMulNat1(Succ(x0)) 248.95/165.37 new_abs(Pos(Succ(x0))) 248.95/165.37 new_sr4(x0, x1, ty_Int) 248.95/165.37 new_esEs(Pos(Zero)) 248.95/165.37 new_primQuotInt0(x0, Pos(Zero)) 248.95/165.37 new_primEqInt(Neg(Succ(x0))) 248.95/165.37 new_primQuotInt(x0, Neg(Zero)) 248.95/165.37 new_primQuotInt0(x0, Neg(Zero)) 248.95/165.37 new_primQuotInt0(x0, Neg(Succ(x1))) 248.95/165.37 new_gcd(x0, x1) 248.95/165.37 new_quot0(Pos(x0), x1, x2) 248.95/165.37 new_primMinusNatS0(x0) 248.95/165.37 new_primPlusNat0(Zero, Succ(x0)) 248.95/165.37 new_primQuotInt(x0, Pos(Succ(x1))) 248.95/165.37 new_primDivNatS1(Succ(Succ(x0)), Zero) 248.95/165.37 new_rem(Pos(x0), Pos(Zero)) 248.95/165.37 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 248.95/165.37 new_primDivNatS02(x0, x1, Zero, Zero) 248.95/165.37 new_abs(Pos(Zero)) 248.95/165.37 new_gcd0Gcd'10(False, x0, x1) 248.95/165.37 new_primMinusNatS1 248.95/165.37 new_esEs1(Integer(x0)) 248.95/165.37 new_primModNatS01(x0, x1, Zero, Succ(x2)) 248.95/165.37 new_primMulNat2(Succ(x0)) 248.95/165.37 new_sr14(Neg(x0), Neg(x1)) 248.95/165.37 new_primMinusNatS2(Succ(x0), Zero) 248.95/165.37 new_sr4(x0, x1, ty_Float) 248.95/165.37 new_sr6(Pos(x0)) 248.95/165.37 new_esEs2(x0, x1, ty_Integer) 248.95/165.37 new_primMulNat4(Succ(x0)) 248.95/165.37 new_rem(Neg(x0), Neg(Succ(x1))) 248.95/165.37 new_primEqInt(Pos(Succ(x0))) 248.95/165.37 new_primQuotInt(x0, Pos(Zero)) 248.95/165.37 new_gcd0Gcd'11(False, x0, x1) 248.95/165.37 new_sr9(x0) 248.95/165.37 new_primModNatS1(Succ(Succ(x0)), Zero) 248.95/165.37 new_esEs0(x0, ty_Integer) 248.95/165.37 new_gcd0Gcd'00(x0, x1) 248.95/165.37 new_reduce2Reduce1(x0, x1, x2, x3, True, x4) 248.95/165.37 new_sr3(x0, ty_Double) 248.95/165.37 new_esEs(Neg(Zero)) 248.95/165.37 new_primMulNat1(Zero) 248.95/165.37 new_rem(Neg(x0), Neg(Zero)) 248.95/165.37 new_new_pr2F0G10(Succ(Succ(x0))) 248.95/165.37 anew_new_pr2F0G10(Succ(Succ(x0))) 248.95/165.37 new_new_pr2F0G10(Succ(Zero)) 248.95/165.37 new_new_pr2F0G10(Zero) 248.95/165.37 248.95/165.37 We have to consider all minimal (P,Q,R)-chains. 248.95/165.37 ---------------------------------------- 248.95/165.37 248.95/165.37 (831) TransformationProof (EQUIVALENT) 248.95/165.37 By narrowing [LPAR04] the rule new_pr2F0(vyv183, Neg(Succ(Succ(vyv222000))), vyv187, h) -> H(vyv187, vyv183, Succ(vyv222000), h, anew_new_pr2F0G10(vyv222000)) at position [4] we obtained the following new rules [LPAR04]: 248.95/165.37 248.95/165.37 (new_pr2F0(y0, Neg(Succ(Succ(Succ(Succ(x0))))), y2, y3) -> H(y2, y0, Succ(Succ(Succ(x0))), y3, new_new_pr2F0G10(x0)),new_pr2F0(y0, Neg(Succ(Succ(Succ(Succ(x0))))), y2, y3) -> H(y2, y0, Succ(Succ(Succ(x0))), y3, new_new_pr2F0G10(x0))) 248.95/165.37 248.95/165.37 248.95/165.37 ---------------------------------------- 248.95/165.37 248.95/165.37 (832) 248.95/165.37 Obligation: 248.95/165.37 Q DP problem: 248.95/165.37 The TRS P consists of the following rules: 248.95/165.37 248.95/165.37 new_pr2F0(vyv183, Neg(Succ(Succ(vyv222000))), vyv187, h) -> new_pr2F0G10(vyv187, vyv183, Succ(vyv222000), vyv222000, h) 248.95/165.37 new_pr2F0G10(vyv248, vyv249, vyv250, Succ(Zero), bb) -> new_pr2F0G11(vyv248, vyv249, vyv250, bb) 248.95/165.37 new_pr2F0G11(vyv238, vyv239, vyv240, bc) -> new_pr2F1(vyv239, vyv240, Pos(Succ(Zero)), vyv238, bc) 248.95/165.37 new_pr2F1(z1, z2, Pos(Succ(Zero)), z0, z3) -> new_pr2F30(False, z1, z2, Pos(Succ(Zero)), z0, z3) 248.95/165.37 new_pr2F30(False, z0, z1, Pos(Succ(Zero)), z2, z3) -> new_pr2F0(z0, Neg(Succ(Succ(new_primPlusNat0(z1, Zero)))), new_sr4(z0, z2, z3), z3) 248.95/165.37 H(vyv248, vyv249, vyv250, bb, cons_new_pr2F0G10(Succ(Zero))) -> new_pr2F0G10(vyv248, vyv249, vyv250, Succ(Zero), bb) 248.95/165.37 H(vyv248, vyv249, vyv250, bb, cons_new_pr2F0G10(Zero)) -> new_pr2F0G10(vyv248, vyv249, vyv250, Zero, bb) 248.95/165.37 new_pr2F0G10(y0, y1, Succ(x0), Zero, y3) -> new_pr2F0G(y0, new_sr3(y1, y3), Neg(new_primDivNatS02(x0, Zero, x0, Zero)), y3) 248.95/165.37 new_pr2F0G(vyv187, vyv183, Neg(Succ(Zero)), h) -> new_pr2F0G11(vyv187, vyv183, Zero, h) 248.95/165.37 new_pr2F0G(vyv187, vyv183, Neg(Succ(Succ(vyv222000))), h) -> new_pr2F0G10(vyv187, vyv183, Succ(vyv222000), vyv222000, h) 248.95/165.37 new_pr2F0G(vyv187, vyv183, Neg(Succ(Succ(vyv222000))), h) -> H(vyv187, vyv183, Succ(vyv222000), h, anew_new_pr2F0G10(vyv222000)) 248.95/165.37 new_pr2F0(y0, Neg(Succ(Succ(Succ(Succ(x0))))), y2, y3) -> H(y2, y0, Succ(Succ(Succ(x0))), y3, new_new_pr2F0G10(x0)) 248.95/165.37 248.95/165.37 The TRS R consists of the following rules: 248.95/165.37 248.95/165.37 new_sr3(vyv249, ty_Float) -> new_sr10(vyv249) 248.95/165.37 new_sr3(vyv249, ty_Double) -> new_sr9(vyv249) 248.95/165.37 new_sr3(vyv249, ty_Int) -> new_sr6(vyv249) 248.95/165.37 new_sr3(vyv249, ty_Integer) -> new_sr7(vyv249) 248.95/165.37 new_sr3(vyv249, app(ty_Ratio, bg)) -> new_sr5(vyv249, bg) 248.95/165.37 new_primDivNatS1(Succ(Zero), Succ(vyv284000)) -> Zero 248.95/165.37 new_primDivNatS1(Succ(Succ(vyv270000)), Succ(vyv284000)) -> new_primDivNatS02(vyv270000, vyv284000, vyv270000, vyv284000) 248.95/165.37 new_primDivNatS02(vyv310, vyv311, Zero, Zero) -> new_primDivNatS01(vyv310, vyv311) 248.95/165.37 new_primDivNatS02(vyv310, vyv311, Succ(vyv3120), Zero) -> new_primDivNatS01(vyv310, vyv311) 248.95/165.37 new_primDivNatS02(vyv310, vyv311, Zero, Succ(vyv3130)) -> Zero 248.95/165.37 new_primDivNatS02(vyv310, vyv311, Succ(vyv3120), Succ(vyv3130)) -> new_primDivNatS02(vyv310, vyv311, vyv3120, vyv3130) 248.95/165.37 new_primDivNatS01(vyv310, vyv311) -> Succ(new_primDivNatS1(new_primMinusNatS2(vyv310, vyv311), Succ(vyv311))) 248.95/165.37 new_primMinusNatS2(Zero, Succ(vyv3110)) -> Zero 248.95/165.37 new_primMinusNatS2(Succ(vyv3100), Zero) -> Succ(vyv3100) 248.95/165.37 new_primMinusNatS2(Zero, Zero) -> Zero 248.95/165.37 new_primMinusNatS2(Succ(vyv3100), Succ(vyv3110)) -> new_primMinusNatS2(vyv3100, vyv3110) 248.95/165.37 new_primDivNatS1(Zero, vyv28400) -> Zero 248.95/165.37 new_sr5(:%(vyv1830, vyv1831), bd) -> new_reduce2Reduce1(vyv1830, vyv1830, vyv1831, vyv1831, new_esEs0(vyv1831, bd), bd) 248.95/165.37 new_esEs0(vyv1831, ty_Int) -> new_esEs(new_sr6(vyv1831)) 248.95/165.37 new_esEs0(vyv1831, ty_Integer) -> new_esEs1(new_sr7(vyv1831)) 248.95/165.37 new_reduce2Reduce1(vyv264, vyv265, vyv266, vyv267, False, bh) -> :%(new_quot1(vyv264, vyv265, vyv266, vyv267, bh), new_quot2(vyv266, vyv267, vyv264, vyv265, bh)) 248.95/165.37 new_reduce2Reduce1(vyv264, vyv265, vyv266, vyv267, True, bh) -> error([]) 248.95/165.37 new_quot1(vyv264, vyv265, vyv266, vyv267, ty_Int) -> new_quot0(new_sr14(vyv264, vyv265), new_sr14(vyv264, vyv265), new_sr14(vyv266, vyv267)) 248.95/165.37 new_quot1(vyv264, vyv265, vyv266, vyv267, ty_Integer) -> new_quot(new_sr8(vyv264, vyv265), new_sr8(vyv264, vyv265), new_sr8(vyv266, vyv267)) 248.95/165.37 new_quot2(vyv266, vyv267, vyv264, vyv265, ty_Int) -> new_quot0(new_sr14(vyv266, vyv267), new_sr14(vyv264, vyv265), new_sr14(vyv266, vyv267)) 248.95/165.37 new_quot2(vyv266, vyv267, vyv264, vyv265, ty_Integer) -> new_quot(new_sr8(vyv266, vyv267), new_sr8(vyv264, vyv265), new_sr8(vyv266, vyv267)) 248.95/165.37 new_sr8(vyv239, vyv238) -> error([]) 248.95/165.37 new_quot(vyv273, vyv275, vyv274) -> error([]) 248.95/165.37 new_sr14(Pos(vyv2390), Neg(vyv2380)) -> Neg(new_primMulNat0(vyv2390, vyv2380)) 248.95/165.37 new_sr14(Neg(vyv2390), Pos(vyv2380)) -> Neg(new_primMulNat0(vyv2390, vyv2380)) 248.95/165.37 new_sr14(Neg(vyv2390), Neg(vyv2380)) -> Pos(new_primMulNat0(vyv2390, vyv2380)) 248.95/165.37 new_sr14(Pos(vyv2390), Pos(vyv2380)) -> Pos(new_primMulNat0(vyv2390, vyv2380)) 248.95/165.37 new_quot0(Neg(vyv2700), vyv272, vyv271) -> new_primQuotInt0(vyv2700, new_gcd(vyv272, vyv271)) 248.95/165.37 new_quot0(Pos(vyv2700), vyv272, vyv271) -> new_primQuotInt(vyv2700, new_gcd(vyv272, vyv271)) 248.95/165.37 new_gcd(vyv272, vyv271) -> new_gcd2(new_esEs(vyv272), vyv272, vyv271) 248.95/165.37 new_primQuotInt(vyv2700, Pos(Succ(vyv28400))) -> Pos(new_primDivNatS1(vyv2700, vyv28400)) 248.95/165.37 new_primQuotInt(vyv2700, Neg(Zero)) -> new_error 248.95/165.37 new_primQuotInt(vyv2700, Pos(Zero)) -> new_error 248.95/165.37 new_primQuotInt(vyv2700, Neg(Succ(vyv28400))) -> Neg(new_primDivNatS1(vyv2700, vyv28400)) 248.95/165.37 new_primDivNatS1(Succ(Succ(vyv270000)), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS0(vyv270000), Zero)) 248.95/165.37 new_primDivNatS1(Succ(Zero), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS1, Zero)) 248.95/165.37 new_primMinusNatS1 -> Zero 248.95/165.37 new_primMinusNatS0(vyv270000) -> Succ(vyv270000) 248.95/165.37 new_error -> error([]) 248.95/165.37 new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) 248.95/165.37 new_esEs(Pos(Succ(vyv24100))) -> new_primEqInt(Pos(Succ(vyv24100))) 248.95/165.37 new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) 248.95/165.37 new_esEs(Neg(Succ(vyv24100))) -> new_primEqInt(Neg(Succ(vyv24100))) 248.95/165.37 new_gcd2(True, vyv272, vyv271) -> new_gcd1(new_esEs(vyv271), vyv272, vyv271) 248.95/165.37 new_gcd2(False, vyv272, vyv271) -> new_gcd0(vyv272, vyv271) 248.95/165.37 new_gcd0(vyv272, vyv271) -> new_gcd0Gcd'10(new_esEs(new_abs(vyv271)), vyv272, vyv271) 248.95/165.37 new_abs(Neg(Zero)) -> Neg(Zero) 248.95/165.37 new_abs(Neg(Succ(vyv27100))) -> Pos(Succ(vyv27100)) 248.95/165.37 new_abs(Pos(Succ(vyv27100))) -> Pos(Succ(vyv27100)) 248.95/165.37 new_abs(Pos(Zero)) -> Pos(Zero) 248.95/165.37 new_gcd0Gcd'10(True, vyv272, vyv271) -> new_abs(vyv272) 248.95/165.37 new_gcd0Gcd'10(False, vyv272, vyv271) -> new_gcd0Gcd'00(new_abs(vyv272), new_abs(vyv271)) 248.95/165.37 new_gcd0Gcd'11(False, vyv291, vyv292) -> new_gcd0Gcd'00(vyv291, new_rem(vyv292, vyv291)) 248.95/165.37 new_gcd0Gcd'00(vyv292, vyv291) -> new_gcd0Gcd'11(new_esEs(new_rem(vyv292, vyv291)), vyv291, vyv292) 248.95/165.37 new_rem(Pos(vyv2920), Neg(Zero)) -> new_error 248.95/165.37 new_rem(Neg(vyv2920), Pos(Zero)) -> new_error 248.95/165.37 new_rem(Pos(vyv2920), Neg(Succ(vyv29100))) -> Pos(new_primModNatS1(vyv2920, vyv29100)) 248.95/165.37 new_rem(Neg(vyv2920), Pos(Succ(vyv29100))) -> Neg(new_primModNatS1(vyv2920, vyv29100)) 248.95/165.37 new_rem(Pos(vyv2920), Pos(Succ(vyv29100))) -> Pos(new_primModNatS1(vyv2920, vyv29100)) 248.95/165.37 new_rem(Neg(vyv2920), Neg(Zero)) -> new_error 248.95/165.37 new_rem(Neg(vyv2920), Neg(Succ(vyv29100))) -> Neg(new_primModNatS1(vyv2920, vyv29100)) 248.95/165.37 new_rem(Pos(vyv2920), Pos(Zero)) -> new_error 248.95/165.37 new_gcd0Gcd'11(True, vyv291, vyv292) -> vyv291 248.95/165.37 new_primModNatS1(Succ(Zero), Succ(vyv291000)) -> Succ(Zero) 248.95/165.37 new_primModNatS1(Zero, vyv29100) -> Zero 248.95/165.37 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 248.95/165.37 new_primModNatS1(Succ(Succ(vyv292000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv292000), Zero) 248.95/165.37 new_primModNatS1(Succ(Succ(vyv292000)), Succ(vyv291000)) -> new_primModNatS01(vyv292000, vyv291000, vyv292000, vyv291000) 248.95/165.37 new_primModNatS01(vyv330, vyv331, Zero, Zero) -> new_primModNatS02(vyv330, vyv331) 248.95/165.37 new_primModNatS02(vyv330, vyv331) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv330), Succ(vyv331)), Succ(vyv331)) 248.95/165.37 new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Zero) -> new_primModNatS02(vyv330, vyv331) 248.95/165.37 new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Succ(vyv3330)) -> new_primModNatS01(vyv330, vyv331, vyv3320, vyv3330) 248.95/165.37 new_primModNatS01(vyv330, vyv331, Zero, Succ(vyv3330)) -> Succ(Succ(vyv330)) 248.95/165.37 new_gcd1(True, vyv272, vyv271) -> new_error 248.95/165.37 new_gcd1(False, vyv272, vyv271) -> new_gcd0(vyv272, vyv271) 248.95/165.37 new_primEqInt(Neg(Succ(vyv242000))) -> False 248.95/165.37 new_primEqInt(Pos(Zero)) -> True 248.95/165.37 new_primEqInt(Pos(Succ(vyv242000))) -> False 248.95/165.37 new_primEqInt(Neg(Zero)) -> True 248.95/165.37 new_primQuotInt0(vyv2700, Pos(Succ(vyv28700))) -> Neg(new_primDivNatS1(vyv2700, vyv28700)) 248.95/165.37 new_primQuotInt0(vyv2700, Neg(Zero)) -> new_error 248.95/165.37 new_primQuotInt0(vyv2700, Neg(Succ(vyv28700))) -> Pos(new_primDivNatS1(vyv2700, vyv28700)) 248.95/165.37 new_primQuotInt0(vyv2700, Pos(Zero)) -> new_error 248.95/165.37 new_primMulNat0(Succ(vyv23900), Zero) -> Zero 248.95/165.37 new_primMulNat0(Zero, Succ(vyv23800)) -> Zero 248.95/165.37 new_primMulNat0(Zero, Zero) -> Zero 248.95/165.37 new_primMulNat0(Succ(vyv23900), Succ(vyv23800)) -> new_primPlusNat0(new_primMulNat0(vyv23900, Succ(vyv23800)), Succ(vyv23800)) 248.95/165.37 new_primPlusNat0(Succ(vyv4000), Succ(vyv5000)) -> Succ(Succ(new_primPlusNat0(vyv4000, vyv5000))) 248.95/165.37 new_primPlusNat0(Zero, Succ(vyv5000)) -> Succ(vyv5000) 248.95/165.37 new_primPlusNat0(Zero, Zero) -> Zero 248.95/165.37 new_primPlusNat0(Succ(vyv4000), Zero) -> Succ(vyv4000) 248.95/165.37 new_sr7(vyv183) -> error([]) 248.95/165.37 new_esEs1(Integer(vyv2690)) -> new_primEqInt(vyv2690) 248.95/165.37 new_sr6(Neg(vyv1830)) -> Pos(new_primMulNat1(vyv1830)) 248.95/165.37 new_sr6(Pos(vyv1830)) -> Pos(new_primMulNat1(vyv1830)) 248.95/165.37 new_primMulNat1(Succ(vyv18300)) -> new_primPlusNat0(new_primMulNat2(vyv18300), Succ(vyv18300)) 248.95/165.37 new_primMulNat1(Zero) -> Zero 248.95/165.37 new_primMulNat2(Succ(vyv183000)) -> new_primPlusNat0(new_primMulNat3(vyv183000), Succ(Succ(vyv183000))) 248.95/165.37 new_primMulNat2(Zero) -> Zero 248.95/165.37 new_primMulNat3(Succ(vyv1830000)) -> new_primPlusNat0(new_primMulNat4(vyv1830000), Succ(Succ(Succ(vyv1830000)))) 248.95/165.37 new_primMulNat3(Zero) -> Zero 248.95/165.37 new_primMulNat4(Succ(vyv18300000)) -> new_primPlusNat0(new_primMulNat0(vyv18300000, Succ(Succ(Succ(Succ(vyv18300000))))), Succ(Succ(Succ(Succ(vyv18300000))))) 248.95/165.37 new_primMulNat4(Zero) -> Zero 248.95/165.37 new_sr9(vyv183) -> error([]) 248.95/165.37 new_sr10(vyv183) -> error([]) 248.95/165.37 new_sr4(vyv239, vyv238, app(ty_Ratio, bf)) -> new_sr12(vyv239, vyv238, bf) 248.95/165.37 new_sr4(vyv239, vyv238, ty_Integer) -> new_sr8(vyv239, vyv238) 248.95/165.37 new_sr4(vyv239, vyv238, ty_Int) -> new_sr14(vyv239, vyv238) 248.95/165.37 new_sr4(vyv239, vyv238, ty_Double) -> new_sr11(vyv239, vyv238) 248.95/165.37 new_sr4(vyv239, vyv238, ty_Float) -> new_sr13(vyv239, vyv238) 248.95/165.37 new_sr13(vyv239, vyv238) -> error([]) 248.95/165.37 new_sr11(vyv239, vyv238) -> error([]) 248.95/165.37 new_sr12(:%(vyv2390, vyv2391), :%(vyv2380, vyv2381), bf) -> new_reduce2Reduce1(vyv2390, vyv2380, vyv2391, vyv2381, new_esEs2(vyv2391, vyv2381, bf), bf) 248.95/165.37 new_esEs2(vyv2391, vyv2381, ty_Int) -> new_esEs(new_sr14(vyv2391, vyv2381)) 248.95/165.37 new_esEs2(vyv2391, vyv2381, ty_Integer) -> new_esEs1(new_sr8(vyv2391, vyv2381)) 248.95/165.37 anew_new_pr2F0G10(Succ(Succ(vyv25100))) -> new_new_pr2F0G10(vyv25100) 248.95/165.37 new_new_pr2F0G10(Succ(Succ(vyv25100))) -> new_new_pr2F0G10(vyv25100) 248.95/165.37 new_new_pr2F0G10(Succ(Zero)) -> cons_new_pr2F0G10(Succ(Zero)) 248.95/165.37 new_new_pr2F0G10(Zero) -> cons_new_pr2F0G10(Zero) 248.95/165.37 248.95/165.37 The set Q consists of the following terms: 248.95/165.37 248.95/165.37 new_rem(Pos(x0), Pos(Succ(x1))) 248.95/165.37 new_quot1(x0, x1, x2, x3, ty_Integer) 248.95/165.37 new_primModNatS1(Succ(Zero), Succ(x0)) 248.95/165.37 new_primMulNat4(Zero) 248.95/165.37 new_gcd1(False, x0, x1) 248.95/165.37 new_primEqInt(Pos(Zero)) 248.95/165.37 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 248.95/165.37 new_rem(Pos(x0), Neg(Succ(x1))) 248.95/165.37 new_rem(Neg(x0), Pos(Succ(x1))) 248.95/165.37 new_sr10(x0) 248.95/165.37 new_quot1(x0, x1, x2, x3, ty_Int) 248.95/165.37 new_quot2(x0, x1, x2, x3, ty_Integer) 248.95/165.37 new_primModNatS01(x0, x1, Succ(x2), Zero) 248.95/165.37 new_sr3(x0, ty_Integer) 248.95/165.37 new_primMulNat3(Zero) 248.95/165.37 new_primDivNatS02(x0, x1, Succ(x2), Zero) 248.95/165.37 new_quot2(x0, x1, x2, x3, ty_Int) 248.95/165.37 new_gcd2(False, x0, x1) 248.95/165.37 new_primDivNatS1(Succ(Zero), Zero) 248.95/165.37 new_esEs0(x0, ty_Int) 248.95/165.37 new_sr14(Pos(x0), Pos(x1)) 248.95/165.37 new_sr3(x0, ty_Int) 248.95/165.37 new_primMulNat0(Zero, Zero) 248.95/165.37 new_sr4(x0, x1, ty_Double) 248.95/165.37 new_primPlusNat0(Succ(x0), Zero) 248.95/165.37 new_primMulNat2(Zero) 248.95/165.37 new_sr11(x0, x1) 248.95/165.37 new_primModNatS01(x0, x1, Zero, Zero) 248.95/165.37 new_esEs2(x0, x1, ty_Int) 248.95/165.37 new_gcd1(True, x0, x1) 248.95/165.37 new_sr13(x0, x1) 248.95/165.37 new_sr14(Pos(x0), Neg(x1)) 248.95/165.37 new_sr14(Neg(x0), Pos(x1)) 248.95/165.37 new_primDivNatS1(Succ(Succ(x0)), Succ(x1)) 248.95/165.37 new_primModNatS1(Zero, x0) 248.95/165.37 new_esEs(Pos(Succ(x0))) 248.95/165.37 new_primMulNat3(Succ(x0)) 248.95/165.37 new_primQuotInt(x0, Neg(Succ(x1))) 248.95/165.37 new_reduce2Reduce1(x0, x1, x2, x3, False, x4) 248.95/165.37 new_primDivNatS1(Zero, x0) 248.95/165.37 new_primDivNatS02(x0, x1, Succ(x2), Succ(x3)) 248.95/165.37 new_primModNatS02(x0, x1) 248.95/165.37 new_primDivNatS1(Succ(Zero), Succ(x0)) 248.95/165.37 new_sr6(Neg(x0)) 248.95/165.37 new_gcd0Gcd'10(True, x0, x1) 248.95/165.37 new_primMulNat0(Succ(x0), Succ(x1)) 248.95/165.37 new_abs(Neg(Zero)) 248.95/165.37 new_rem(Pos(x0), Neg(Zero)) 248.95/165.37 new_rem(Neg(x0), Pos(Zero)) 248.95/165.37 new_primMinusNatS2(Zero, Succ(x0)) 248.95/165.37 new_esEs(Neg(Succ(x0))) 248.95/165.37 new_error 248.95/165.37 new_primModNatS1(Succ(Zero), Zero) 248.95/165.37 new_primMulNat0(Zero, Succ(x0)) 248.95/165.37 new_sr3(x0, ty_Float) 248.95/165.37 new_quot(x0, x1, x2) 248.95/165.37 new_gcd2(True, x0, x1) 248.95/165.37 new_gcd0Gcd'11(True, x0, x1) 248.95/165.37 new_primEqInt(Neg(Zero)) 248.95/165.37 new_primMulNat0(Succ(x0), Zero) 248.95/165.37 new_quot0(Neg(x0), x1, x2) 248.95/165.37 new_primMinusNatS2(Succ(x0), Succ(x1)) 248.95/165.37 new_sr4(x0, x1, app(ty_Ratio, x2)) 248.95/165.37 new_sr8(x0, x1) 248.95/165.37 new_primDivNatS01(x0, x1) 248.95/165.37 new_primDivNatS02(x0, x1, Zero, Succ(x2)) 248.95/165.37 new_primPlusNat0(Succ(x0), Succ(x1)) 248.95/165.37 new_primPlusNat0(Zero, Zero) 248.95/165.37 new_sr12(:%(x0, x1), :%(x2, x3), x4) 248.95/165.37 new_abs(Neg(Succ(x0))) 248.95/165.37 new_sr3(x0, app(ty_Ratio, x1)) 248.95/165.37 new_sr7(x0) 248.95/165.37 new_gcd0(x0, x1) 248.95/165.37 new_primQuotInt0(x0, Pos(Succ(x1))) 248.95/165.37 new_sr4(x0, x1, ty_Integer) 248.95/165.37 new_sr5(:%(x0, x1), x2) 248.95/165.37 new_primMinusNatS2(Zero, Zero) 248.95/165.37 new_primMulNat1(Succ(x0)) 248.95/165.37 new_abs(Pos(Succ(x0))) 248.95/165.37 new_sr4(x0, x1, ty_Int) 248.95/165.37 new_esEs(Pos(Zero)) 248.95/165.37 new_primQuotInt0(x0, Pos(Zero)) 248.95/165.37 new_primEqInt(Neg(Succ(x0))) 248.95/165.37 new_primQuotInt(x0, Neg(Zero)) 248.95/165.37 new_primQuotInt0(x0, Neg(Zero)) 248.95/165.37 new_primQuotInt0(x0, Neg(Succ(x1))) 248.95/165.37 new_gcd(x0, x1) 248.95/165.37 new_quot0(Pos(x0), x1, x2) 248.95/165.37 new_primMinusNatS0(x0) 248.95/165.37 new_primPlusNat0(Zero, Succ(x0)) 248.95/165.37 new_primQuotInt(x0, Pos(Succ(x1))) 248.95/165.37 new_primDivNatS1(Succ(Succ(x0)), Zero) 248.95/165.37 new_rem(Pos(x0), Pos(Zero)) 248.95/165.37 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 248.95/165.37 new_primDivNatS02(x0, x1, Zero, Zero) 248.95/165.37 new_abs(Pos(Zero)) 248.95/165.37 new_gcd0Gcd'10(False, x0, x1) 248.95/165.37 new_primMinusNatS1 248.95/165.37 new_esEs1(Integer(x0)) 248.95/165.37 new_primModNatS01(x0, x1, Zero, Succ(x2)) 248.95/165.37 new_primMulNat2(Succ(x0)) 248.95/165.37 new_sr14(Neg(x0), Neg(x1)) 248.95/165.37 new_primMinusNatS2(Succ(x0), Zero) 248.95/165.37 new_sr4(x0, x1, ty_Float) 248.95/165.37 new_sr6(Pos(x0)) 248.95/165.37 new_esEs2(x0, x1, ty_Integer) 248.95/165.37 new_primMulNat4(Succ(x0)) 248.95/165.37 new_rem(Neg(x0), Neg(Succ(x1))) 248.95/165.37 new_primEqInt(Pos(Succ(x0))) 248.95/165.37 new_primQuotInt(x0, Pos(Zero)) 248.95/165.37 new_gcd0Gcd'11(False, x0, x1) 248.95/165.37 new_sr9(x0) 248.95/165.37 new_primModNatS1(Succ(Succ(x0)), Zero) 248.95/165.37 new_esEs0(x0, ty_Integer) 248.95/165.37 new_gcd0Gcd'00(x0, x1) 248.95/165.37 new_reduce2Reduce1(x0, x1, x2, x3, True, x4) 248.95/165.37 new_sr3(x0, ty_Double) 248.95/165.37 new_esEs(Neg(Zero)) 248.95/165.37 new_primMulNat1(Zero) 248.95/165.37 new_rem(Neg(x0), Neg(Zero)) 248.95/165.37 new_new_pr2F0G10(Succ(Succ(x0))) 248.95/165.37 anew_new_pr2F0G10(Succ(Succ(x0))) 248.95/165.37 new_new_pr2F0G10(Succ(Zero)) 248.95/165.37 new_new_pr2F0G10(Zero) 248.95/165.37 248.95/165.37 We have to consider all minimal (P,Q,R)-chains. 248.95/165.37 ---------------------------------------- 248.95/165.37 248.95/165.37 (833) TransformationProof (EQUIVALENT) 248.95/165.37 By narrowing [LPAR04] the rule new_pr2F0G10(y0, y1, Succ(x0), Zero, y3) -> new_pr2F0G(y0, new_sr3(y1, y3), Neg(new_primDivNatS02(x0, Zero, x0, Zero)), y3) at position [2,0] we obtained the following new rules [LPAR04]: 248.95/165.37 248.95/165.37 (new_pr2F0G10(y0, y1, Succ(Zero), Zero, y3) -> new_pr2F0G(y0, new_sr3(y1, y3), Neg(new_primDivNatS01(Zero, Zero)), y3),new_pr2F0G10(y0, y1, Succ(Zero), Zero, y3) -> new_pr2F0G(y0, new_sr3(y1, y3), Neg(new_primDivNatS01(Zero, Zero)), y3)) 248.95/165.37 (new_pr2F0G10(y0, y1, Succ(Succ(x2)), Zero, y3) -> new_pr2F0G(y0, new_sr3(y1, y3), Neg(new_primDivNatS01(Succ(x2), Zero)), y3),new_pr2F0G10(y0, y1, Succ(Succ(x2)), Zero, y3) -> new_pr2F0G(y0, new_sr3(y1, y3), Neg(new_primDivNatS01(Succ(x2), Zero)), y3)) 248.95/165.37 248.95/165.37 248.95/165.37 ---------------------------------------- 248.95/165.37 248.95/165.37 (834) 248.95/165.37 Obligation: 248.95/165.37 Q DP problem: 248.95/165.37 The TRS P consists of the following rules: 248.95/165.37 248.95/165.37 new_pr2F0(vyv183, Neg(Succ(Succ(vyv222000))), vyv187, h) -> new_pr2F0G10(vyv187, vyv183, Succ(vyv222000), vyv222000, h) 248.95/165.37 new_pr2F0G10(vyv248, vyv249, vyv250, Succ(Zero), bb) -> new_pr2F0G11(vyv248, vyv249, vyv250, bb) 248.95/165.37 new_pr2F0G11(vyv238, vyv239, vyv240, bc) -> new_pr2F1(vyv239, vyv240, Pos(Succ(Zero)), vyv238, bc) 248.95/165.37 new_pr2F1(z1, z2, Pos(Succ(Zero)), z0, z3) -> new_pr2F30(False, z1, z2, Pos(Succ(Zero)), z0, z3) 248.95/165.37 new_pr2F30(False, z0, z1, Pos(Succ(Zero)), z2, z3) -> new_pr2F0(z0, Neg(Succ(Succ(new_primPlusNat0(z1, Zero)))), new_sr4(z0, z2, z3), z3) 248.95/165.37 H(vyv248, vyv249, vyv250, bb, cons_new_pr2F0G10(Succ(Zero))) -> new_pr2F0G10(vyv248, vyv249, vyv250, Succ(Zero), bb) 248.95/165.37 H(vyv248, vyv249, vyv250, bb, cons_new_pr2F0G10(Zero)) -> new_pr2F0G10(vyv248, vyv249, vyv250, Zero, bb) 248.95/165.37 new_pr2F0G(vyv187, vyv183, Neg(Succ(Zero)), h) -> new_pr2F0G11(vyv187, vyv183, Zero, h) 248.95/165.37 new_pr2F0G(vyv187, vyv183, Neg(Succ(Succ(vyv222000))), h) -> new_pr2F0G10(vyv187, vyv183, Succ(vyv222000), vyv222000, h) 248.95/165.37 new_pr2F0G(vyv187, vyv183, Neg(Succ(Succ(vyv222000))), h) -> H(vyv187, vyv183, Succ(vyv222000), h, anew_new_pr2F0G10(vyv222000)) 248.95/165.37 new_pr2F0(y0, Neg(Succ(Succ(Succ(Succ(x0))))), y2, y3) -> H(y2, y0, Succ(Succ(Succ(x0))), y3, new_new_pr2F0G10(x0)) 248.95/165.37 new_pr2F0G10(y0, y1, Succ(Zero), Zero, y3) -> new_pr2F0G(y0, new_sr3(y1, y3), Neg(new_primDivNatS01(Zero, Zero)), y3) 248.95/165.37 new_pr2F0G10(y0, y1, Succ(Succ(x2)), Zero, y3) -> new_pr2F0G(y0, new_sr3(y1, y3), Neg(new_primDivNatS01(Succ(x2), Zero)), y3) 248.95/165.37 248.95/165.37 The TRS R consists of the following rules: 248.95/165.37 248.95/165.37 new_sr3(vyv249, ty_Float) -> new_sr10(vyv249) 248.95/165.37 new_sr3(vyv249, ty_Double) -> new_sr9(vyv249) 248.95/165.37 new_sr3(vyv249, ty_Int) -> new_sr6(vyv249) 248.95/165.37 new_sr3(vyv249, ty_Integer) -> new_sr7(vyv249) 248.95/165.37 new_sr3(vyv249, app(ty_Ratio, bg)) -> new_sr5(vyv249, bg) 248.95/165.37 new_primDivNatS1(Succ(Zero), Succ(vyv284000)) -> Zero 248.95/165.37 new_primDivNatS1(Succ(Succ(vyv270000)), Succ(vyv284000)) -> new_primDivNatS02(vyv270000, vyv284000, vyv270000, vyv284000) 248.95/165.37 new_primDivNatS02(vyv310, vyv311, Zero, Zero) -> new_primDivNatS01(vyv310, vyv311) 248.95/165.37 new_primDivNatS02(vyv310, vyv311, Succ(vyv3120), Zero) -> new_primDivNatS01(vyv310, vyv311) 248.95/165.37 new_primDivNatS02(vyv310, vyv311, Zero, Succ(vyv3130)) -> Zero 248.95/165.37 new_primDivNatS02(vyv310, vyv311, Succ(vyv3120), Succ(vyv3130)) -> new_primDivNatS02(vyv310, vyv311, vyv3120, vyv3130) 248.95/165.37 new_primDivNatS01(vyv310, vyv311) -> Succ(new_primDivNatS1(new_primMinusNatS2(vyv310, vyv311), Succ(vyv311))) 248.95/165.37 new_primMinusNatS2(Zero, Succ(vyv3110)) -> Zero 248.95/165.37 new_primMinusNatS2(Succ(vyv3100), Zero) -> Succ(vyv3100) 248.95/165.37 new_primMinusNatS2(Zero, Zero) -> Zero 248.95/165.37 new_primMinusNatS2(Succ(vyv3100), Succ(vyv3110)) -> new_primMinusNatS2(vyv3100, vyv3110) 248.95/165.37 new_primDivNatS1(Zero, vyv28400) -> Zero 248.95/165.37 new_sr5(:%(vyv1830, vyv1831), bd) -> new_reduce2Reduce1(vyv1830, vyv1830, vyv1831, vyv1831, new_esEs0(vyv1831, bd), bd) 248.95/165.37 new_esEs0(vyv1831, ty_Int) -> new_esEs(new_sr6(vyv1831)) 248.95/165.37 new_esEs0(vyv1831, ty_Integer) -> new_esEs1(new_sr7(vyv1831)) 248.95/165.37 new_reduce2Reduce1(vyv264, vyv265, vyv266, vyv267, False, bh) -> :%(new_quot1(vyv264, vyv265, vyv266, vyv267, bh), new_quot2(vyv266, vyv267, vyv264, vyv265, bh)) 248.95/165.37 new_reduce2Reduce1(vyv264, vyv265, vyv266, vyv267, True, bh) -> error([]) 248.95/165.37 new_quot1(vyv264, vyv265, vyv266, vyv267, ty_Int) -> new_quot0(new_sr14(vyv264, vyv265), new_sr14(vyv264, vyv265), new_sr14(vyv266, vyv267)) 248.95/165.37 new_quot1(vyv264, vyv265, vyv266, vyv267, ty_Integer) -> new_quot(new_sr8(vyv264, vyv265), new_sr8(vyv264, vyv265), new_sr8(vyv266, vyv267)) 248.95/165.37 new_quot2(vyv266, vyv267, vyv264, vyv265, ty_Int) -> new_quot0(new_sr14(vyv266, vyv267), new_sr14(vyv264, vyv265), new_sr14(vyv266, vyv267)) 248.95/165.37 new_quot2(vyv266, vyv267, vyv264, vyv265, ty_Integer) -> new_quot(new_sr8(vyv266, vyv267), new_sr8(vyv264, vyv265), new_sr8(vyv266, vyv267)) 248.95/165.37 new_sr8(vyv239, vyv238) -> error([]) 248.95/165.37 new_quot(vyv273, vyv275, vyv274) -> error([]) 248.95/165.37 new_sr14(Pos(vyv2390), Neg(vyv2380)) -> Neg(new_primMulNat0(vyv2390, vyv2380)) 248.95/165.37 new_sr14(Neg(vyv2390), Pos(vyv2380)) -> Neg(new_primMulNat0(vyv2390, vyv2380)) 248.95/165.37 new_sr14(Neg(vyv2390), Neg(vyv2380)) -> Pos(new_primMulNat0(vyv2390, vyv2380)) 248.95/165.37 new_sr14(Pos(vyv2390), Pos(vyv2380)) -> Pos(new_primMulNat0(vyv2390, vyv2380)) 248.95/165.37 new_quot0(Neg(vyv2700), vyv272, vyv271) -> new_primQuotInt0(vyv2700, new_gcd(vyv272, vyv271)) 248.95/165.37 new_quot0(Pos(vyv2700), vyv272, vyv271) -> new_primQuotInt(vyv2700, new_gcd(vyv272, vyv271)) 248.95/165.37 new_gcd(vyv272, vyv271) -> new_gcd2(new_esEs(vyv272), vyv272, vyv271) 248.95/165.37 new_primQuotInt(vyv2700, Pos(Succ(vyv28400))) -> Pos(new_primDivNatS1(vyv2700, vyv28400)) 248.95/165.37 new_primQuotInt(vyv2700, Neg(Zero)) -> new_error 248.95/165.37 new_primQuotInt(vyv2700, Pos(Zero)) -> new_error 248.95/165.37 new_primQuotInt(vyv2700, Neg(Succ(vyv28400))) -> Neg(new_primDivNatS1(vyv2700, vyv28400)) 248.95/165.37 new_primDivNatS1(Succ(Succ(vyv270000)), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS0(vyv270000), Zero)) 248.95/165.37 new_primDivNatS1(Succ(Zero), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS1, Zero)) 248.95/165.37 new_primMinusNatS1 -> Zero 248.95/165.37 new_primMinusNatS0(vyv270000) -> Succ(vyv270000) 248.95/165.37 new_error -> error([]) 248.95/165.37 new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) 248.95/165.37 new_esEs(Pos(Succ(vyv24100))) -> new_primEqInt(Pos(Succ(vyv24100))) 248.95/165.37 new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) 248.95/165.37 new_esEs(Neg(Succ(vyv24100))) -> new_primEqInt(Neg(Succ(vyv24100))) 248.95/165.37 new_gcd2(True, vyv272, vyv271) -> new_gcd1(new_esEs(vyv271), vyv272, vyv271) 248.95/165.37 new_gcd2(False, vyv272, vyv271) -> new_gcd0(vyv272, vyv271) 248.95/165.37 new_gcd0(vyv272, vyv271) -> new_gcd0Gcd'10(new_esEs(new_abs(vyv271)), vyv272, vyv271) 248.95/165.37 new_abs(Neg(Zero)) -> Neg(Zero) 248.95/165.37 new_abs(Neg(Succ(vyv27100))) -> Pos(Succ(vyv27100)) 248.95/165.37 new_abs(Pos(Succ(vyv27100))) -> Pos(Succ(vyv27100)) 248.95/165.37 new_abs(Pos(Zero)) -> Pos(Zero) 248.95/165.37 new_gcd0Gcd'10(True, vyv272, vyv271) -> new_abs(vyv272) 248.95/165.37 new_gcd0Gcd'10(False, vyv272, vyv271) -> new_gcd0Gcd'00(new_abs(vyv272), new_abs(vyv271)) 248.95/165.37 new_gcd0Gcd'11(False, vyv291, vyv292) -> new_gcd0Gcd'00(vyv291, new_rem(vyv292, vyv291)) 248.95/165.37 new_gcd0Gcd'00(vyv292, vyv291) -> new_gcd0Gcd'11(new_esEs(new_rem(vyv292, vyv291)), vyv291, vyv292) 248.95/165.37 new_rem(Pos(vyv2920), Neg(Zero)) -> new_error 248.95/165.37 new_rem(Neg(vyv2920), Pos(Zero)) -> new_error 248.95/165.37 new_rem(Pos(vyv2920), Neg(Succ(vyv29100))) -> Pos(new_primModNatS1(vyv2920, vyv29100)) 248.95/165.37 new_rem(Neg(vyv2920), Pos(Succ(vyv29100))) -> Neg(new_primModNatS1(vyv2920, vyv29100)) 248.95/165.37 new_rem(Pos(vyv2920), Pos(Succ(vyv29100))) -> Pos(new_primModNatS1(vyv2920, vyv29100)) 248.95/165.37 new_rem(Neg(vyv2920), Neg(Zero)) -> new_error 248.95/165.37 new_rem(Neg(vyv2920), Neg(Succ(vyv29100))) -> Neg(new_primModNatS1(vyv2920, vyv29100)) 248.95/165.37 new_rem(Pos(vyv2920), Pos(Zero)) -> new_error 248.95/165.37 new_gcd0Gcd'11(True, vyv291, vyv292) -> vyv291 248.95/165.37 new_primModNatS1(Succ(Zero), Succ(vyv291000)) -> Succ(Zero) 248.95/165.37 new_primModNatS1(Zero, vyv29100) -> Zero 248.95/165.37 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 248.95/165.37 new_primModNatS1(Succ(Succ(vyv292000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv292000), Zero) 248.95/165.37 new_primModNatS1(Succ(Succ(vyv292000)), Succ(vyv291000)) -> new_primModNatS01(vyv292000, vyv291000, vyv292000, vyv291000) 248.95/165.37 new_primModNatS01(vyv330, vyv331, Zero, Zero) -> new_primModNatS02(vyv330, vyv331) 248.95/165.37 new_primModNatS02(vyv330, vyv331) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv330), Succ(vyv331)), Succ(vyv331)) 248.95/165.37 new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Zero) -> new_primModNatS02(vyv330, vyv331) 248.95/165.37 new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Succ(vyv3330)) -> new_primModNatS01(vyv330, vyv331, vyv3320, vyv3330) 248.95/165.37 new_primModNatS01(vyv330, vyv331, Zero, Succ(vyv3330)) -> Succ(Succ(vyv330)) 248.95/165.37 new_gcd1(True, vyv272, vyv271) -> new_error 248.95/165.37 new_gcd1(False, vyv272, vyv271) -> new_gcd0(vyv272, vyv271) 248.95/165.37 new_primEqInt(Neg(Succ(vyv242000))) -> False 248.95/165.37 new_primEqInt(Pos(Zero)) -> True 248.95/165.37 new_primEqInt(Pos(Succ(vyv242000))) -> False 248.95/165.37 new_primEqInt(Neg(Zero)) -> True 248.95/165.37 new_primQuotInt0(vyv2700, Pos(Succ(vyv28700))) -> Neg(new_primDivNatS1(vyv2700, vyv28700)) 248.95/165.37 new_primQuotInt0(vyv2700, Neg(Zero)) -> new_error 248.95/165.37 new_primQuotInt0(vyv2700, Neg(Succ(vyv28700))) -> Pos(new_primDivNatS1(vyv2700, vyv28700)) 248.95/165.37 new_primQuotInt0(vyv2700, Pos(Zero)) -> new_error 248.95/165.37 new_primMulNat0(Succ(vyv23900), Zero) -> Zero 248.95/165.37 new_primMulNat0(Zero, Succ(vyv23800)) -> Zero 248.95/165.37 new_primMulNat0(Zero, Zero) -> Zero 248.95/165.37 new_primMulNat0(Succ(vyv23900), Succ(vyv23800)) -> new_primPlusNat0(new_primMulNat0(vyv23900, Succ(vyv23800)), Succ(vyv23800)) 248.95/165.37 new_primPlusNat0(Succ(vyv4000), Succ(vyv5000)) -> Succ(Succ(new_primPlusNat0(vyv4000, vyv5000))) 248.95/165.37 new_primPlusNat0(Zero, Succ(vyv5000)) -> Succ(vyv5000) 248.95/165.37 new_primPlusNat0(Zero, Zero) -> Zero 248.95/165.37 new_primPlusNat0(Succ(vyv4000), Zero) -> Succ(vyv4000) 248.95/165.37 new_sr7(vyv183) -> error([]) 248.95/165.37 new_esEs1(Integer(vyv2690)) -> new_primEqInt(vyv2690) 248.95/165.37 new_sr6(Neg(vyv1830)) -> Pos(new_primMulNat1(vyv1830)) 248.95/165.37 new_sr6(Pos(vyv1830)) -> Pos(new_primMulNat1(vyv1830)) 248.95/165.37 new_primMulNat1(Succ(vyv18300)) -> new_primPlusNat0(new_primMulNat2(vyv18300), Succ(vyv18300)) 248.95/165.37 new_primMulNat1(Zero) -> Zero 248.95/165.37 new_primMulNat2(Succ(vyv183000)) -> new_primPlusNat0(new_primMulNat3(vyv183000), Succ(Succ(vyv183000))) 248.95/165.37 new_primMulNat2(Zero) -> Zero 248.95/165.37 new_primMulNat3(Succ(vyv1830000)) -> new_primPlusNat0(new_primMulNat4(vyv1830000), Succ(Succ(Succ(vyv1830000)))) 248.95/165.37 new_primMulNat3(Zero) -> Zero 248.95/165.37 new_primMulNat4(Succ(vyv18300000)) -> new_primPlusNat0(new_primMulNat0(vyv18300000, Succ(Succ(Succ(Succ(vyv18300000))))), Succ(Succ(Succ(Succ(vyv18300000))))) 248.95/165.37 new_primMulNat4(Zero) -> Zero 248.95/165.37 new_sr9(vyv183) -> error([]) 248.95/165.37 new_sr10(vyv183) -> error([]) 248.95/165.37 new_sr4(vyv239, vyv238, app(ty_Ratio, bf)) -> new_sr12(vyv239, vyv238, bf) 248.95/165.37 new_sr4(vyv239, vyv238, ty_Integer) -> new_sr8(vyv239, vyv238) 248.95/165.37 new_sr4(vyv239, vyv238, ty_Int) -> new_sr14(vyv239, vyv238) 248.95/165.37 new_sr4(vyv239, vyv238, ty_Double) -> new_sr11(vyv239, vyv238) 248.95/165.37 new_sr4(vyv239, vyv238, ty_Float) -> new_sr13(vyv239, vyv238) 248.95/165.37 new_sr13(vyv239, vyv238) -> error([]) 248.95/165.37 new_sr11(vyv239, vyv238) -> error([]) 248.95/165.37 new_sr12(:%(vyv2390, vyv2391), :%(vyv2380, vyv2381), bf) -> new_reduce2Reduce1(vyv2390, vyv2380, vyv2391, vyv2381, new_esEs2(vyv2391, vyv2381, bf), bf) 248.95/165.37 new_esEs2(vyv2391, vyv2381, ty_Int) -> new_esEs(new_sr14(vyv2391, vyv2381)) 248.95/165.37 new_esEs2(vyv2391, vyv2381, ty_Integer) -> new_esEs1(new_sr8(vyv2391, vyv2381)) 248.95/165.37 anew_new_pr2F0G10(Succ(Succ(vyv25100))) -> new_new_pr2F0G10(vyv25100) 248.95/165.37 new_new_pr2F0G10(Succ(Succ(vyv25100))) -> new_new_pr2F0G10(vyv25100) 248.95/165.37 new_new_pr2F0G10(Succ(Zero)) -> cons_new_pr2F0G10(Succ(Zero)) 248.95/165.37 new_new_pr2F0G10(Zero) -> cons_new_pr2F0G10(Zero) 248.95/165.37 248.95/165.37 The set Q consists of the following terms: 248.95/165.37 248.95/165.37 new_rem(Pos(x0), Pos(Succ(x1))) 248.95/165.37 new_quot1(x0, x1, x2, x3, ty_Integer) 248.95/165.37 new_primModNatS1(Succ(Zero), Succ(x0)) 248.95/165.37 new_primMulNat4(Zero) 248.95/165.37 new_gcd1(False, x0, x1) 248.95/165.37 new_primEqInt(Pos(Zero)) 248.95/165.37 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 248.95/165.37 new_rem(Pos(x0), Neg(Succ(x1))) 248.95/165.37 new_rem(Neg(x0), Pos(Succ(x1))) 248.95/165.37 new_sr10(x0) 248.95/165.37 new_quot1(x0, x1, x2, x3, ty_Int) 248.95/165.37 new_quot2(x0, x1, x2, x3, ty_Integer) 248.95/165.37 new_primModNatS01(x0, x1, Succ(x2), Zero) 248.95/165.37 new_sr3(x0, ty_Integer) 248.95/165.37 new_primMulNat3(Zero) 248.95/165.37 new_primDivNatS02(x0, x1, Succ(x2), Zero) 248.95/165.37 new_quot2(x0, x1, x2, x3, ty_Int) 248.95/165.37 new_gcd2(False, x0, x1) 248.95/165.37 new_primDivNatS1(Succ(Zero), Zero) 248.95/165.37 new_esEs0(x0, ty_Int) 248.95/165.37 new_sr14(Pos(x0), Pos(x1)) 248.95/165.37 new_sr3(x0, ty_Int) 248.95/165.37 new_primMulNat0(Zero, Zero) 248.95/165.37 new_sr4(x0, x1, ty_Double) 248.95/165.37 new_primPlusNat0(Succ(x0), Zero) 248.95/165.37 new_primMulNat2(Zero) 248.95/165.37 new_sr11(x0, x1) 248.95/165.37 new_primModNatS01(x0, x1, Zero, Zero) 248.95/165.37 new_esEs2(x0, x1, ty_Int) 248.95/165.37 new_gcd1(True, x0, x1) 248.95/165.37 new_sr13(x0, x1) 248.95/165.37 new_sr14(Pos(x0), Neg(x1)) 248.95/165.37 new_sr14(Neg(x0), Pos(x1)) 248.95/165.37 new_primDivNatS1(Succ(Succ(x0)), Succ(x1)) 248.95/165.37 new_primModNatS1(Zero, x0) 248.95/165.37 new_esEs(Pos(Succ(x0))) 248.95/165.37 new_primMulNat3(Succ(x0)) 248.95/165.37 new_primQuotInt(x0, Neg(Succ(x1))) 248.95/165.37 new_reduce2Reduce1(x0, x1, x2, x3, False, x4) 248.95/165.37 new_primDivNatS1(Zero, x0) 248.95/165.37 new_primDivNatS02(x0, x1, Succ(x2), Succ(x3)) 248.95/165.37 new_primModNatS02(x0, x1) 248.95/165.37 new_primDivNatS1(Succ(Zero), Succ(x0)) 248.95/165.37 new_sr6(Neg(x0)) 248.95/165.37 new_gcd0Gcd'10(True, x0, x1) 248.95/165.37 new_primMulNat0(Succ(x0), Succ(x1)) 248.95/165.37 new_abs(Neg(Zero)) 248.95/165.37 new_rem(Pos(x0), Neg(Zero)) 248.95/165.37 new_rem(Neg(x0), Pos(Zero)) 248.95/165.37 new_primMinusNatS2(Zero, Succ(x0)) 248.95/165.37 new_esEs(Neg(Succ(x0))) 248.95/165.37 new_error 248.95/165.37 new_primModNatS1(Succ(Zero), Zero) 248.95/165.37 new_primMulNat0(Zero, Succ(x0)) 248.95/165.37 new_sr3(x0, ty_Float) 248.95/165.37 new_quot(x0, x1, x2) 248.95/165.37 new_gcd2(True, x0, x1) 248.95/165.37 new_gcd0Gcd'11(True, x0, x1) 248.95/165.37 new_primEqInt(Neg(Zero)) 248.95/165.37 new_primMulNat0(Succ(x0), Zero) 248.95/165.37 new_quot0(Neg(x0), x1, x2) 248.95/165.37 new_primMinusNatS2(Succ(x0), Succ(x1)) 248.95/165.37 new_sr4(x0, x1, app(ty_Ratio, x2)) 248.95/165.37 new_sr8(x0, x1) 248.95/165.37 new_primDivNatS01(x0, x1) 248.95/165.37 new_primDivNatS02(x0, x1, Zero, Succ(x2)) 248.95/165.37 new_primPlusNat0(Succ(x0), Succ(x1)) 248.95/165.37 new_primPlusNat0(Zero, Zero) 248.95/165.37 new_sr12(:%(x0, x1), :%(x2, x3), x4) 248.95/165.37 new_abs(Neg(Succ(x0))) 248.95/165.37 new_sr3(x0, app(ty_Ratio, x1)) 248.95/165.37 new_sr7(x0) 248.95/165.37 new_gcd0(x0, x1) 248.95/165.37 new_primQuotInt0(x0, Pos(Succ(x1))) 248.95/165.37 new_sr4(x0, x1, ty_Integer) 248.95/165.37 new_sr5(:%(x0, x1), x2) 248.95/165.37 new_primMinusNatS2(Zero, Zero) 248.95/165.37 new_primMulNat1(Succ(x0)) 248.95/165.37 new_abs(Pos(Succ(x0))) 248.95/165.37 new_sr4(x0, x1, ty_Int) 248.95/165.37 new_esEs(Pos(Zero)) 248.95/165.37 new_primQuotInt0(x0, Pos(Zero)) 248.95/165.37 new_primEqInt(Neg(Succ(x0))) 248.95/165.37 new_primQuotInt(x0, Neg(Zero)) 248.95/165.37 new_primQuotInt0(x0, Neg(Zero)) 248.95/165.37 new_primQuotInt0(x0, Neg(Succ(x1))) 248.95/165.37 new_gcd(x0, x1) 248.95/165.37 new_quot0(Pos(x0), x1, x2) 248.95/165.37 new_primMinusNatS0(x0) 248.95/165.37 new_primPlusNat0(Zero, Succ(x0)) 248.95/165.37 new_primQuotInt(x0, Pos(Succ(x1))) 248.95/165.37 new_primDivNatS1(Succ(Succ(x0)), Zero) 248.95/165.37 new_rem(Pos(x0), Pos(Zero)) 248.95/165.37 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 248.95/165.37 new_primDivNatS02(x0, x1, Zero, Zero) 248.95/165.37 new_abs(Pos(Zero)) 248.95/165.37 new_gcd0Gcd'10(False, x0, x1) 248.95/165.37 new_primMinusNatS1 248.95/165.37 new_esEs1(Integer(x0)) 248.95/165.37 new_primModNatS01(x0, x1, Zero, Succ(x2)) 248.95/165.37 new_primMulNat2(Succ(x0)) 248.95/165.37 new_sr14(Neg(x0), Neg(x1)) 248.95/165.37 new_primMinusNatS2(Succ(x0), Zero) 248.95/165.37 new_sr4(x0, x1, ty_Float) 248.95/165.37 new_sr6(Pos(x0)) 248.95/165.37 new_esEs2(x0, x1, ty_Integer) 248.95/165.37 new_primMulNat4(Succ(x0)) 248.95/165.37 new_rem(Neg(x0), Neg(Succ(x1))) 248.95/165.37 new_primEqInt(Pos(Succ(x0))) 248.95/165.37 new_primQuotInt(x0, Pos(Zero)) 248.95/165.37 new_gcd0Gcd'11(False, x0, x1) 248.95/165.37 new_sr9(x0) 248.95/165.37 new_primModNatS1(Succ(Succ(x0)), Zero) 248.95/165.37 new_esEs0(x0, ty_Integer) 248.95/165.37 new_gcd0Gcd'00(x0, x1) 248.95/165.37 new_reduce2Reduce1(x0, x1, x2, x3, True, x4) 248.95/165.37 new_sr3(x0, ty_Double) 248.95/165.37 new_esEs(Neg(Zero)) 248.95/165.37 new_primMulNat1(Zero) 248.95/165.37 new_rem(Neg(x0), Neg(Zero)) 248.95/165.37 new_new_pr2F0G10(Succ(Succ(x0))) 248.95/165.37 anew_new_pr2F0G10(Succ(Succ(x0))) 248.95/165.37 new_new_pr2F0G10(Succ(Zero)) 248.95/165.37 new_new_pr2F0G10(Zero) 248.95/165.37 248.95/165.37 We have to consider all minimal (P,Q,R)-chains. 248.95/165.37 ---------------------------------------- 248.95/165.37 248.95/165.37 (835) TransformationProof (EQUIVALENT) 248.95/165.37 By rewriting [LPAR04] the rule new_pr2F0G10(y0, y1, Succ(Zero), Zero, y3) -> new_pr2F0G(y0, new_sr3(y1, y3), Neg(new_primDivNatS01(Zero, Zero)), y3) at position [2,0] we obtained the following new rules [LPAR04]: 248.95/165.37 248.95/165.37 (new_pr2F0G10(y0, y1, Succ(Zero), Zero, y3) -> new_pr2F0G(y0, new_sr3(y1, y3), Neg(Succ(new_primDivNatS1(new_primMinusNatS2(Zero, Zero), Succ(Zero)))), y3),new_pr2F0G10(y0, y1, Succ(Zero), Zero, y3) -> new_pr2F0G(y0, new_sr3(y1, y3), Neg(Succ(new_primDivNatS1(new_primMinusNatS2(Zero, Zero), Succ(Zero)))), y3)) 248.95/165.37 248.95/165.37 248.95/165.37 ---------------------------------------- 248.95/165.37 248.95/165.37 (836) 248.95/165.37 Obligation: 248.95/165.37 Q DP problem: 248.95/165.37 The TRS P consists of the following rules: 248.95/165.37 248.95/165.37 new_pr2F0(vyv183, Neg(Succ(Succ(vyv222000))), vyv187, h) -> new_pr2F0G10(vyv187, vyv183, Succ(vyv222000), vyv222000, h) 248.95/165.37 new_pr2F0G10(vyv248, vyv249, vyv250, Succ(Zero), bb) -> new_pr2F0G11(vyv248, vyv249, vyv250, bb) 248.95/165.37 new_pr2F0G11(vyv238, vyv239, vyv240, bc) -> new_pr2F1(vyv239, vyv240, Pos(Succ(Zero)), vyv238, bc) 248.95/165.37 new_pr2F1(z1, z2, Pos(Succ(Zero)), z0, z3) -> new_pr2F30(False, z1, z2, Pos(Succ(Zero)), z0, z3) 248.95/165.37 new_pr2F30(False, z0, z1, Pos(Succ(Zero)), z2, z3) -> new_pr2F0(z0, Neg(Succ(Succ(new_primPlusNat0(z1, Zero)))), new_sr4(z0, z2, z3), z3) 248.95/165.37 H(vyv248, vyv249, vyv250, bb, cons_new_pr2F0G10(Succ(Zero))) -> new_pr2F0G10(vyv248, vyv249, vyv250, Succ(Zero), bb) 248.95/165.37 H(vyv248, vyv249, vyv250, bb, cons_new_pr2F0G10(Zero)) -> new_pr2F0G10(vyv248, vyv249, vyv250, Zero, bb) 248.95/165.37 new_pr2F0G(vyv187, vyv183, Neg(Succ(Zero)), h) -> new_pr2F0G11(vyv187, vyv183, Zero, h) 248.95/165.37 new_pr2F0G(vyv187, vyv183, Neg(Succ(Succ(vyv222000))), h) -> new_pr2F0G10(vyv187, vyv183, Succ(vyv222000), vyv222000, h) 248.95/165.37 new_pr2F0G(vyv187, vyv183, Neg(Succ(Succ(vyv222000))), h) -> H(vyv187, vyv183, Succ(vyv222000), h, anew_new_pr2F0G10(vyv222000)) 248.95/165.37 new_pr2F0(y0, Neg(Succ(Succ(Succ(Succ(x0))))), y2, y3) -> H(y2, y0, Succ(Succ(Succ(x0))), y3, new_new_pr2F0G10(x0)) 248.95/165.37 new_pr2F0G10(y0, y1, Succ(Succ(x2)), Zero, y3) -> new_pr2F0G(y0, new_sr3(y1, y3), Neg(new_primDivNatS01(Succ(x2), Zero)), y3) 248.95/165.37 new_pr2F0G10(y0, y1, Succ(Zero), Zero, y3) -> new_pr2F0G(y0, new_sr3(y1, y3), Neg(Succ(new_primDivNatS1(new_primMinusNatS2(Zero, Zero), Succ(Zero)))), y3) 248.95/165.37 248.95/165.37 The TRS R consists of the following rules: 248.95/165.37 248.95/165.37 new_sr3(vyv249, ty_Float) -> new_sr10(vyv249) 248.95/165.37 new_sr3(vyv249, ty_Double) -> new_sr9(vyv249) 248.95/165.37 new_sr3(vyv249, ty_Int) -> new_sr6(vyv249) 248.95/165.37 new_sr3(vyv249, ty_Integer) -> new_sr7(vyv249) 248.95/165.37 new_sr3(vyv249, app(ty_Ratio, bg)) -> new_sr5(vyv249, bg) 248.95/165.37 new_primDivNatS1(Succ(Zero), Succ(vyv284000)) -> Zero 248.95/165.37 new_primDivNatS1(Succ(Succ(vyv270000)), Succ(vyv284000)) -> new_primDivNatS02(vyv270000, vyv284000, vyv270000, vyv284000) 248.95/165.37 new_primDivNatS02(vyv310, vyv311, Zero, Zero) -> new_primDivNatS01(vyv310, vyv311) 248.95/165.37 new_primDivNatS02(vyv310, vyv311, Succ(vyv3120), Zero) -> new_primDivNatS01(vyv310, vyv311) 248.95/165.37 new_primDivNatS02(vyv310, vyv311, Zero, Succ(vyv3130)) -> Zero 248.95/165.37 new_primDivNatS02(vyv310, vyv311, Succ(vyv3120), Succ(vyv3130)) -> new_primDivNatS02(vyv310, vyv311, vyv3120, vyv3130) 248.95/165.37 new_primDivNatS01(vyv310, vyv311) -> Succ(new_primDivNatS1(new_primMinusNatS2(vyv310, vyv311), Succ(vyv311))) 248.95/165.37 new_primMinusNatS2(Zero, Succ(vyv3110)) -> Zero 248.95/165.37 new_primMinusNatS2(Succ(vyv3100), Zero) -> Succ(vyv3100) 248.95/165.37 new_primMinusNatS2(Zero, Zero) -> Zero 248.95/165.37 new_primMinusNatS2(Succ(vyv3100), Succ(vyv3110)) -> new_primMinusNatS2(vyv3100, vyv3110) 248.95/165.37 new_primDivNatS1(Zero, vyv28400) -> Zero 248.95/165.37 new_sr5(:%(vyv1830, vyv1831), bd) -> new_reduce2Reduce1(vyv1830, vyv1830, vyv1831, vyv1831, new_esEs0(vyv1831, bd), bd) 248.95/165.37 new_esEs0(vyv1831, ty_Int) -> new_esEs(new_sr6(vyv1831)) 248.95/165.37 new_esEs0(vyv1831, ty_Integer) -> new_esEs1(new_sr7(vyv1831)) 248.95/165.37 new_reduce2Reduce1(vyv264, vyv265, vyv266, vyv267, False, bh) -> :%(new_quot1(vyv264, vyv265, vyv266, vyv267, bh), new_quot2(vyv266, vyv267, vyv264, vyv265, bh)) 248.95/165.37 new_reduce2Reduce1(vyv264, vyv265, vyv266, vyv267, True, bh) -> error([]) 248.95/165.37 new_quot1(vyv264, vyv265, vyv266, vyv267, ty_Int) -> new_quot0(new_sr14(vyv264, vyv265), new_sr14(vyv264, vyv265), new_sr14(vyv266, vyv267)) 248.95/165.37 new_quot1(vyv264, vyv265, vyv266, vyv267, ty_Integer) -> new_quot(new_sr8(vyv264, vyv265), new_sr8(vyv264, vyv265), new_sr8(vyv266, vyv267)) 248.95/165.37 new_quot2(vyv266, vyv267, vyv264, vyv265, ty_Int) -> new_quot0(new_sr14(vyv266, vyv267), new_sr14(vyv264, vyv265), new_sr14(vyv266, vyv267)) 248.95/165.37 new_quot2(vyv266, vyv267, vyv264, vyv265, ty_Integer) -> new_quot(new_sr8(vyv266, vyv267), new_sr8(vyv264, vyv265), new_sr8(vyv266, vyv267)) 248.95/165.37 new_sr8(vyv239, vyv238) -> error([]) 248.95/165.37 new_quot(vyv273, vyv275, vyv274) -> error([]) 248.95/165.37 new_sr14(Pos(vyv2390), Neg(vyv2380)) -> Neg(new_primMulNat0(vyv2390, vyv2380)) 248.95/165.37 new_sr14(Neg(vyv2390), Pos(vyv2380)) -> Neg(new_primMulNat0(vyv2390, vyv2380)) 248.95/165.37 new_sr14(Neg(vyv2390), Neg(vyv2380)) -> Pos(new_primMulNat0(vyv2390, vyv2380)) 248.95/165.37 new_sr14(Pos(vyv2390), Pos(vyv2380)) -> Pos(new_primMulNat0(vyv2390, vyv2380)) 248.95/165.37 new_quot0(Neg(vyv2700), vyv272, vyv271) -> new_primQuotInt0(vyv2700, new_gcd(vyv272, vyv271)) 248.95/165.37 new_quot0(Pos(vyv2700), vyv272, vyv271) -> new_primQuotInt(vyv2700, new_gcd(vyv272, vyv271)) 248.95/165.37 new_gcd(vyv272, vyv271) -> new_gcd2(new_esEs(vyv272), vyv272, vyv271) 248.95/165.37 new_primQuotInt(vyv2700, Pos(Succ(vyv28400))) -> Pos(new_primDivNatS1(vyv2700, vyv28400)) 248.95/165.37 new_primQuotInt(vyv2700, Neg(Zero)) -> new_error 248.95/165.37 new_primQuotInt(vyv2700, Pos(Zero)) -> new_error 248.95/165.37 new_primQuotInt(vyv2700, Neg(Succ(vyv28400))) -> Neg(new_primDivNatS1(vyv2700, vyv28400)) 248.95/165.37 new_primDivNatS1(Succ(Succ(vyv270000)), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS0(vyv270000), Zero)) 248.95/165.37 new_primDivNatS1(Succ(Zero), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS1, Zero)) 248.95/165.37 new_primMinusNatS1 -> Zero 248.95/165.37 new_primMinusNatS0(vyv270000) -> Succ(vyv270000) 248.95/165.37 new_error -> error([]) 248.95/165.37 new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) 248.95/165.37 new_esEs(Pos(Succ(vyv24100))) -> new_primEqInt(Pos(Succ(vyv24100))) 248.95/165.37 new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) 248.95/165.37 new_esEs(Neg(Succ(vyv24100))) -> new_primEqInt(Neg(Succ(vyv24100))) 248.95/165.37 new_gcd2(True, vyv272, vyv271) -> new_gcd1(new_esEs(vyv271), vyv272, vyv271) 248.95/165.37 new_gcd2(False, vyv272, vyv271) -> new_gcd0(vyv272, vyv271) 248.95/165.37 new_gcd0(vyv272, vyv271) -> new_gcd0Gcd'10(new_esEs(new_abs(vyv271)), vyv272, vyv271) 248.95/165.37 new_abs(Neg(Zero)) -> Neg(Zero) 248.95/165.37 new_abs(Neg(Succ(vyv27100))) -> Pos(Succ(vyv27100)) 248.95/165.37 new_abs(Pos(Succ(vyv27100))) -> Pos(Succ(vyv27100)) 248.95/165.37 new_abs(Pos(Zero)) -> Pos(Zero) 248.95/165.37 new_gcd0Gcd'10(True, vyv272, vyv271) -> new_abs(vyv272) 248.95/165.37 new_gcd0Gcd'10(False, vyv272, vyv271) -> new_gcd0Gcd'00(new_abs(vyv272), new_abs(vyv271)) 248.95/165.37 new_gcd0Gcd'11(False, vyv291, vyv292) -> new_gcd0Gcd'00(vyv291, new_rem(vyv292, vyv291)) 248.95/165.37 new_gcd0Gcd'00(vyv292, vyv291) -> new_gcd0Gcd'11(new_esEs(new_rem(vyv292, vyv291)), vyv291, vyv292) 248.95/165.37 new_rem(Pos(vyv2920), Neg(Zero)) -> new_error 248.95/165.37 new_rem(Neg(vyv2920), Pos(Zero)) -> new_error 248.95/165.37 new_rem(Pos(vyv2920), Neg(Succ(vyv29100))) -> Pos(new_primModNatS1(vyv2920, vyv29100)) 248.95/165.37 new_rem(Neg(vyv2920), Pos(Succ(vyv29100))) -> Neg(new_primModNatS1(vyv2920, vyv29100)) 248.95/165.37 new_rem(Pos(vyv2920), Pos(Succ(vyv29100))) -> Pos(new_primModNatS1(vyv2920, vyv29100)) 248.95/165.37 new_rem(Neg(vyv2920), Neg(Zero)) -> new_error 248.95/165.37 new_rem(Neg(vyv2920), Neg(Succ(vyv29100))) -> Neg(new_primModNatS1(vyv2920, vyv29100)) 248.95/165.37 new_rem(Pos(vyv2920), Pos(Zero)) -> new_error 248.95/165.37 new_gcd0Gcd'11(True, vyv291, vyv292) -> vyv291 248.95/165.37 new_primModNatS1(Succ(Zero), Succ(vyv291000)) -> Succ(Zero) 248.95/165.37 new_primModNatS1(Zero, vyv29100) -> Zero 248.95/165.37 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 248.95/165.37 new_primModNatS1(Succ(Succ(vyv292000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv292000), Zero) 248.95/165.37 new_primModNatS1(Succ(Succ(vyv292000)), Succ(vyv291000)) -> new_primModNatS01(vyv292000, vyv291000, vyv292000, vyv291000) 248.95/165.37 new_primModNatS01(vyv330, vyv331, Zero, Zero) -> new_primModNatS02(vyv330, vyv331) 248.95/165.37 new_primModNatS02(vyv330, vyv331) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv330), Succ(vyv331)), Succ(vyv331)) 248.95/165.37 new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Zero) -> new_primModNatS02(vyv330, vyv331) 248.95/165.37 new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Succ(vyv3330)) -> new_primModNatS01(vyv330, vyv331, vyv3320, vyv3330) 248.95/165.37 new_primModNatS01(vyv330, vyv331, Zero, Succ(vyv3330)) -> Succ(Succ(vyv330)) 248.95/165.37 new_gcd1(True, vyv272, vyv271) -> new_error 248.95/165.37 new_gcd1(False, vyv272, vyv271) -> new_gcd0(vyv272, vyv271) 248.95/165.37 new_primEqInt(Neg(Succ(vyv242000))) -> False 248.95/165.37 new_primEqInt(Pos(Zero)) -> True 248.95/165.37 new_primEqInt(Pos(Succ(vyv242000))) -> False 248.95/165.37 new_primEqInt(Neg(Zero)) -> True 248.95/165.37 new_primQuotInt0(vyv2700, Pos(Succ(vyv28700))) -> Neg(new_primDivNatS1(vyv2700, vyv28700)) 248.95/165.37 new_primQuotInt0(vyv2700, Neg(Zero)) -> new_error 248.95/165.37 new_primQuotInt0(vyv2700, Neg(Succ(vyv28700))) -> Pos(new_primDivNatS1(vyv2700, vyv28700)) 248.95/165.37 new_primQuotInt0(vyv2700, Pos(Zero)) -> new_error 248.95/165.37 new_primMulNat0(Succ(vyv23900), Zero) -> Zero 248.95/165.37 new_primMulNat0(Zero, Succ(vyv23800)) -> Zero 248.95/165.37 new_primMulNat0(Zero, Zero) -> Zero 248.95/165.37 new_primMulNat0(Succ(vyv23900), Succ(vyv23800)) -> new_primPlusNat0(new_primMulNat0(vyv23900, Succ(vyv23800)), Succ(vyv23800)) 248.95/165.37 new_primPlusNat0(Succ(vyv4000), Succ(vyv5000)) -> Succ(Succ(new_primPlusNat0(vyv4000, vyv5000))) 248.95/165.37 new_primPlusNat0(Zero, Succ(vyv5000)) -> Succ(vyv5000) 248.95/165.37 new_primPlusNat0(Zero, Zero) -> Zero 248.95/165.37 new_primPlusNat0(Succ(vyv4000), Zero) -> Succ(vyv4000) 248.95/165.37 new_sr7(vyv183) -> error([]) 248.95/165.37 new_esEs1(Integer(vyv2690)) -> new_primEqInt(vyv2690) 248.95/165.37 new_sr6(Neg(vyv1830)) -> Pos(new_primMulNat1(vyv1830)) 248.95/165.37 new_sr6(Pos(vyv1830)) -> Pos(new_primMulNat1(vyv1830)) 248.95/165.37 new_primMulNat1(Succ(vyv18300)) -> new_primPlusNat0(new_primMulNat2(vyv18300), Succ(vyv18300)) 248.95/165.37 new_primMulNat1(Zero) -> Zero 248.95/165.37 new_primMulNat2(Succ(vyv183000)) -> new_primPlusNat0(new_primMulNat3(vyv183000), Succ(Succ(vyv183000))) 248.95/165.37 new_primMulNat2(Zero) -> Zero 248.95/165.37 new_primMulNat3(Succ(vyv1830000)) -> new_primPlusNat0(new_primMulNat4(vyv1830000), Succ(Succ(Succ(vyv1830000)))) 248.95/165.37 new_primMulNat3(Zero) -> Zero 248.95/165.37 new_primMulNat4(Succ(vyv18300000)) -> new_primPlusNat0(new_primMulNat0(vyv18300000, Succ(Succ(Succ(Succ(vyv18300000))))), Succ(Succ(Succ(Succ(vyv18300000))))) 248.95/165.37 new_primMulNat4(Zero) -> Zero 248.95/165.37 new_sr9(vyv183) -> error([]) 248.95/165.37 new_sr10(vyv183) -> error([]) 248.95/165.37 new_sr4(vyv239, vyv238, app(ty_Ratio, bf)) -> new_sr12(vyv239, vyv238, bf) 248.95/165.37 new_sr4(vyv239, vyv238, ty_Integer) -> new_sr8(vyv239, vyv238) 248.95/165.37 new_sr4(vyv239, vyv238, ty_Int) -> new_sr14(vyv239, vyv238) 248.95/165.37 new_sr4(vyv239, vyv238, ty_Double) -> new_sr11(vyv239, vyv238) 248.95/165.37 new_sr4(vyv239, vyv238, ty_Float) -> new_sr13(vyv239, vyv238) 248.95/165.37 new_sr13(vyv239, vyv238) -> error([]) 248.95/165.37 new_sr11(vyv239, vyv238) -> error([]) 248.95/165.37 new_sr12(:%(vyv2390, vyv2391), :%(vyv2380, vyv2381), bf) -> new_reduce2Reduce1(vyv2390, vyv2380, vyv2391, vyv2381, new_esEs2(vyv2391, vyv2381, bf), bf) 248.95/165.37 new_esEs2(vyv2391, vyv2381, ty_Int) -> new_esEs(new_sr14(vyv2391, vyv2381)) 248.95/165.37 new_esEs2(vyv2391, vyv2381, ty_Integer) -> new_esEs1(new_sr8(vyv2391, vyv2381)) 248.95/165.37 anew_new_pr2F0G10(Succ(Succ(vyv25100))) -> new_new_pr2F0G10(vyv25100) 248.95/165.37 new_new_pr2F0G10(Succ(Succ(vyv25100))) -> new_new_pr2F0G10(vyv25100) 248.95/165.37 new_new_pr2F0G10(Succ(Zero)) -> cons_new_pr2F0G10(Succ(Zero)) 248.95/165.37 new_new_pr2F0G10(Zero) -> cons_new_pr2F0G10(Zero) 248.95/165.37 248.95/165.37 The set Q consists of the following terms: 248.95/165.37 248.95/165.37 new_rem(Pos(x0), Pos(Succ(x1))) 248.95/165.37 new_quot1(x0, x1, x2, x3, ty_Integer) 248.95/165.37 new_primModNatS1(Succ(Zero), Succ(x0)) 248.95/165.37 new_primMulNat4(Zero) 248.95/165.37 new_gcd1(False, x0, x1) 248.95/165.37 new_primEqInt(Pos(Zero)) 248.95/165.37 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 248.95/165.37 new_rem(Pos(x0), Neg(Succ(x1))) 248.95/165.37 new_rem(Neg(x0), Pos(Succ(x1))) 248.95/165.37 new_sr10(x0) 248.95/165.37 new_quot1(x0, x1, x2, x3, ty_Int) 248.95/165.37 new_quot2(x0, x1, x2, x3, ty_Integer) 248.95/165.37 new_primModNatS01(x0, x1, Succ(x2), Zero) 248.95/165.37 new_sr3(x0, ty_Integer) 248.95/165.37 new_primMulNat3(Zero) 248.95/165.37 new_primDivNatS02(x0, x1, Succ(x2), Zero) 248.95/165.37 new_quot2(x0, x1, x2, x3, ty_Int) 248.95/165.37 new_gcd2(False, x0, x1) 248.95/165.37 new_primDivNatS1(Succ(Zero), Zero) 248.95/165.37 new_esEs0(x0, ty_Int) 248.95/165.37 new_sr14(Pos(x0), Pos(x1)) 248.95/165.37 new_sr3(x0, ty_Int) 248.95/165.37 new_primMulNat0(Zero, Zero) 248.95/165.37 new_sr4(x0, x1, ty_Double) 248.95/165.37 new_primPlusNat0(Succ(x0), Zero) 248.95/165.37 new_primMulNat2(Zero) 248.95/165.37 new_sr11(x0, x1) 248.95/165.37 new_primModNatS01(x0, x1, Zero, Zero) 248.95/165.37 new_esEs2(x0, x1, ty_Int) 248.95/165.37 new_gcd1(True, x0, x1) 248.95/165.37 new_sr13(x0, x1) 248.95/165.37 new_sr14(Pos(x0), Neg(x1)) 248.95/165.37 new_sr14(Neg(x0), Pos(x1)) 248.95/165.37 new_primDivNatS1(Succ(Succ(x0)), Succ(x1)) 248.95/165.37 new_primModNatS1(Zero, x0) 248.95/165.37 new_esEs(Pos(Succ(x0))) 248.95/165.37 new_primMulNat3(Succ(x0)) 248.95/165.37 new_primQuotInt(x0, Neg(Succ(x1))) 248.95/165.37 new_reduce2Reduce1(x0, x1, x2, x3, False, x4) 248.95/165.37 new_primDivNatS1(Zero, x0) 248.95/165.37 new_primDivNatS02(x0, x1, Succ(x2), Succ(x3)) 248.95/165.37 new_primModNatS02(x0, x1) 248.95/165.37 new_primDivNatS1(Succ(Zero), Succ(x0)) 248.95/165.37 new_sr6(Neg(x0)) 248.95/165.37 new_gcd0Gcd'10(True, x0, x1) 248.95/165.37 new_primMulNat0(Succ(x0), Succ(x1)) 248.95/165.37 new_abs(Neg(Zero)) 248.95/165.37 new_rem(Pos(x0), Neg(Zero)) 248.95/165.37 new_rem(Neg(x0), Pos(Zero)) 248.95/165.37 new_primMinusNatS2(Zero, Succ(x0)) 248.95/165.37 new_esEs(Neg(Succ(x0))) 248.95/165.37 new_error 248.95/165.37 new_primModNatS1(Succ(Zero), Zero) 248.95/165.37 new_primMulNat0(Zero, Succ(x0)) 248.95/165.37 new_sr3(x0, ty_Float) 248.95/165.37 new_quot(x0, x1, x2) 248.95/165.37 new_gcd2(True, x0, x1) 248.95/165.37 new_gcd0Gcd'11(True, x0, x1) 248.95/165.37 new_primEqInt(Neg(Zero)) 248.95/165.37 new_primMulNat0(Succ(x0), Zero) 248.95/165.37 new_quot0(Neg(x0), x1, x2) 248.95/165.37 new_primMinusNatS2(Succ(x0), Succ(x1)) 248.95/165.37 new_sr4(x0, x1, app(ty_Ratio, x2)) 248.95/165.37 new_sr8(x0, x1) 248.95/165.37 new_primDivNatS01(x0, x1) 248.95/165.37 new_primDivNatS02(x0, x1, Zero, Succ(x2)) 248.95/165.37 new_primPlusNat0(Succ(x0), Succ(x1)) 248.95/165.37 new_primPlusNat0(Zero, Zero) 248.95/165.37 new_sr12(:%(x0, x1), :%(x2, x3), x4) 248.95/165.37 new_abs(Neg(Succ(x0))) 248.95/165.37 new_sr3(x0, app(ty_Ratio, x1)) 248.95/165.37 new_sr7(x0) 248.95/165.37 new_gcd0(x0, x1) 248.95/165.37 new_primQuotInt0(x0, Pos(Succ(x1))) 248.95/165.37 new_sr4(x0, x1, ty_Integer) 248.95/165.37 new_sr5(:%(x0, x1), x2) 248.95/165.37 new_primMinusNatS2(Zero, Zero) 248.95/165.37 new_primMulNat1(Succ(x0)) 248.95/165.37 new_abs(Pos(Succ(x0))) 248.95/165.37 new_sr4(x0, x1, ty_Int) 248.95/165.37 new_esEs(Pos(Zero)) 248.95/165.37 new_primQuotInt0(x0, Pos(Zero)) 248.95/165.37 new_primEqInt(Neg(Succ(x0))) 248.95/165.37 new_primQuotInt(x0, Neg(Zero)) 248.95/165.37 new_primQuotInt0(x0, Neg(Zero)) 248.95/165.37 new_primQuotInt0(x0, Neg(Succ(x1))) 248.95/165.37 new_gcd(x0, x1) 248.95/165.37 new_quot0(Pos(x0), x1, x2) 248.95/165.37 new_primMinusNatS0(x0) 248.95/165.37 new_primPlusNat0(Zero, Succ(x0)) 248.95/165.37 new_primQuotInt(x0, Pos(Succ(x1))) 248.95/165.37 new_primDivNatS1(Succ(Succ(x0)), Zero) 248.95/165.37 new_rem(Pos(x0), Pos(Zero)) 248.95/165.37 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 248.95/165.37 new_primDivNatS02(x0, x1, Zero, Zero) 248.95/165.37 new_abs(Pos(Zero)) 248.95/165.37 new_gcd0Gcd'10(False, x0, x1) 248.95/165.37 new_primMinusNatS1 248.95/165.37 new_esEs1(Integer(x0)) 248.95/165.37 new_primModNatS01(x0, x1, Zero, Succ(x2)) 248.95/165.37 new_primMulNat2(Succ(x0)) 248.95/165.37 new_sr14(Neg(x0), Neg(x1)) 248.95/165.37 new_primMinusNatS2(Succ(x0), Zero) 248.95/165.37 new_sr4(x0, x1, ty_Float) 248.95/165.37 new_sr6(Pos(x0)) 248.95/165.37 new_esEs2(x0, x1, ty_Integer) 248.95/165.37 new_primMulNat4(Succ(x0)) 248.95/165.37 new_rem(Neg(x0), Neg(Succ(x1))) 248.95/165.37 new_primEqInt(Pos(Succ(x0))) 248.95/165.37 new_primQuotInt(x0, Pos(Zero)) 248.95/165.37 new_gcd0Gcd'11(False, x0, x1) 248.95/165.37 new_sr9(x0) 248.95/165.37 new_primModNatS1(Succ(Succ(x0)), Zero) 248.95/165.37 new_esEs0(x0, ty_Integer) 248.95/165.37 new_gcd0Gcd'00(x0, x1) 248.95/165.37 new_reduce2Reduce1(x0, x1, x2, x3, True, x4) 248.95/165.37 new_sr3(x0, ty_Double) 248.95/165.37 new_esEs(Neg(Zero)) 248.95/165.37 new_primMulNat1(Zero) 248.95/165.37 new_rem(Neg(x0), Neg(Zero)) 248.95/165.37 new_new_pr2F0G10(Succ(Succ(x0))) 248.95/165.37 anew_new_pr2F0G10(Succ(Succ(x0))) 248.95/165.37 new_new_pr2F0G10(Succ(Zero)) 248.95/165.37 new_new_pr2F0G10(Zero) 248.95/165.37 248.95/165.37 We have to consider all minimal (P,Q,R)-chains. 248.95/165.37 ---------------------------------------- 248.95/165.37 248.95/165.37 (837) TransformationProof (EQUIVALENT) 248.95/165.37 By rewriting [LPAR04] the rule new_pr2F0G10(y0, y1, Succ(Succ(x2)), Zero, y3) -> new_pr2F0G(y0, new_sr3(y1, y3), Neg(new_primDivNatS01(Succ(x2), Zero)), y3) at position [2,0] we obtained the following new rules [LPAR04]: 248.95/165.37 248.95/165.37 (new_pr2F0G10(y0, y1, Succ(Succ(x2)), Zero, y3) -> new_pr2F0G(y0, new_sr3(y1, y3), Neg(Succ(new_primDivNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Zero)))), y3),new_pr2F0G10(y0, y1, Succ(Succ(x2)), Zero, y3) -> new_pr2F0G(y0, new_sr3(y1, y3), Neg(Succ(new_primDivNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Zero)))), y3)) 248.95/165.38 248.95/165.38 248.95/165.38 ---------------------------------------- 248.95/165.38 248.95/165.38 (838) 248.95/165.38 Obligation: 248.95/165.38 Q DP problem: 248.95/165.38 The TRS P consists of the following rules: 248.95/165.38 248.95/165.38 new_pr2F0(vyv183, Neg(Succ(Succ(vyv222000))), vyv187, h) -> new_pr2F0G10(vyv187, vyv183, Succ(vyv222000), vyv222000, h) 248.95/165.38 new_pr2F0G10(vyv248, vyv249, vyv250, Succ(Zero), bb) -> new_pr2F0G11(vyv248, vyv249, vyv250, bb) 248.95/165.38 new_pr2F0G11(vyv238, vyv239, vyv240, bc) -> new_pr2F1(vyv239, vyv240, Pos(Succ(Zero)), vyv238, bc) 248.95/165.38 new_pr2F1(z1, z2, Pos(Succ(Zero)), z0, z3) -> new_pr2F30(False, z1, z2, Pos(Succ(Zero)), z0, z3) 248.95/165.38 new_pr2F30(False, z0, z1, Pos(Succ(Zero)), z2, z3) -> new_pr2F0(z0, Neg(Succ(Succ(new_primPlusNat0(z1, Zero)))), new_sr4(z0, z2, z3), z3) 248.95/165.38 H(vyv248, vyv249, vyv250, bb, cons_new_pr2F0G10(Succ(Zero))) -> new_pr2F0G10(vyv248, vyv249, vyv250, Succ(Zero), bb) 248.95/165.38 H(vyv248, vyv249, vyv250, bb, cons_new_pr2F0G10(Zero)) -> new_pr2F0G10(vyv248, vyv249, vyv250, Zero, bb) 248.95/165.38 new_pr2F0G(vyv187, vyv183, Neg(Succ(Zero)), h) -> new_pr2F0G11(vyv187, vyv183, Zero, h) 248.95/165.38 new_pr2F0G(vyv187, vyv183, Neg(Succ(Succ(vyv222000))), h) -> new_pr2F0G10(vyv187, vyv183, Succ(vyv222000), vyv222000, h) 248.95/165.38 new_pr2F0G(vyv187, vyv183, Neg(Succ(Succ(vyv222000))), h) -> H(vyv187, vyv183, Succ(vyv222000), h, anew_new_pr2F0G10(vyv222000)) 248.95/165.38 new_pr2F0(y0, Neg(Succ(Succ(Succ(Succ(x0))))), y2, y3) -> H(y2, y0, Succ(Succ(Succ(x0))), y3, new_new_pr2F0G10(x0)) 248.95/165.38 new_pr2F0G10(y0, y1, Succ(Zero), Zero, y3) -> new_pr2F0G(y0, new_sr3(y1, y3), Neg(Succ(new_primDivNatS1(new_primMinusNatS2(Zero, Zero), Succ(Zero)))), y3) 248.95/165.38 new_pr2F0G10(y0, y1, Succ(Succ(x2)), Zero, y3) -> new_pr2F0G(y0, new_sr3(y1, y3), Neg(Succ(new_primDivNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Zero)))), y3) 248.95/165.38 248.95/165.38 The TRS R consists of the following rules: 248.95/165.38 248.95/165.38 new_sr3(vyv249, ty_Float) -> new_sr10(vyv249) 248.95/165.38 new_sr3(vyv249, ty_Double) -> new_sr9(vyv249) 248.95/165.38 new_sr3(vyv249, ty_Int) -> new_sr6(vyv249) 248.95/165.38 new_sr3(vyv249, ty_Integer) -> new_sr7(vyv249) 248.95/165.38 new_sr3(vyv249, app(ty_Ratio, bg)) -> new_sr5(vyv249, bg) 248.95/165.38 new_primDivNatS1(Succ(Zero), Succ(vyv284000)) -> Zero 248.95/165.38 new_primDivNatS1(Succ(Succ(vyv270000)), Succ(vyv284000)) -> new_primDivNatS02(vyv270000, vyv284000, vyv270000, vyv284000) 248.95/165.38 new_primDivNatS02(vyv310, vyv311, Zero, Zero) -> new_primDivNatS01(vyv310, vyv311) 248.95/165.38 new_primDivNatS02(vyv310, vyv311, Succ(vyv3120), Zero) -> new_primDivNatS01(vyv310, vyv311) 248.95/165.38 new_primDivNatS02(vyv310, vyv311, Zero, Succ(vyv3130)) -> Zero 248.95/165.38 new_primDivNatS02(vyv310, vyv311, Succ(vyv3120), Succ(vyv3130)) -> new_primDivNatS02(vyv310, vyv311, vyv3120, vyv3130) 248.95/165.38 new_primDivNatS01(vyv310, vyv311) -> Succ(new_primDivNatS1(new_primMinusNatS2(vyv310, vyv311), Succ(vyv311))) 248.95/165.38 new_primMinusNatS2(Zero, Succ(vyv3110)) -> Zero 248.95/165.38 new_primMinusNatS2(Succ(vyv3100), Zero) -> Succ(vyv3100) 248.95/165.38 new_primMinusNatS2(Zero, Zero) -> Zero 248.95/165.38 new_primMinusNatS2(Succ(vyv3100), Succ(vyv3110)) -> new_primMinusNatS2(vyv3100, vyv3110) 248.95/165.38 new_primDivNatS1(Zero, vyv28400) -> Zero 248.95/165.38 new_sr5(:%(vyv1830, vyv1831), bd) -> new_reduce2Reduce1(vyv1830, vyv1830, vyv1831, vyv1831, new_esEs0(vyv1831, bd), bd) 248.95/165.38 new_esEs0(vyv1831, ty_Int) -> new_esEs(new_sr6(vyv1831)) 248.95/165.38 new_esEs0(vyv1831, ty_Integer) -> new_esEs1(new_sr7(vyv1831)) 248.95/165.38 new_reduce2Reduce1(vyv264, vyv265, vyv266, vyv267, False, bh) -> :%(new_quot1(vyv264, vyv265, vyv266, vyv267, bh), new_quot2(vyv266, vyv267, vyv264, vyv265, bh)) 248.95/165.38 new_reduce2Reduce1(vyv264, vyv265, vyv266, vyv267, True, bh) -> error([]) 248.95/165.38 new_quot1(vyv264, vyv265, vyv266, vyv267, ty_Int) -> new_quot0(new_sr14(vyv264, vyv265), new_sr14(vyv264, vyv265), new_sr14(vyv266, vyv267)) 248.95/165.38 new_quot1(vyv264, vyv265, vyv266, vyv267, ty_Integer) -> new_quot(new_sr8(vyv264, vyv265), new_sr8(vyv264, vyv265), new_sr8(vyv266, vyv267)) 248.95/165.38 new_quot2(vyv266, vyv267, vyv264, vyv265, ty_Int) -> new_quot0(new_sr14(vyv266, vyv267), new_sr14(vyv264, vyv265), new_sr14(vyv266, vyv267)) 248.95/165.38 new_quot2(vyv266, vyv267, vyv264, vyv265, ty_Integer) -> new_quot(new_sr8(vyv266, vyv267), new_sr8(vyv264, vyv265), new_sr8(vyv266, vyv267)) 248.95/165.38 new_sr8(vyv239, vyv238) -> error([]) 248.95/165.38 new_quot(vyv273, vyv275, vyv274) -> error([]) 248.95/165.38 new_sr14(Pos(vyv2390), Neg(vyv2380)) -> Neg(new_primMulNat0(vyv2390, vyv2380)) 248.95/165.38 new_sr14(Neg(vyv2390), Pos(vyv2380)) -> Neg(new_primMulNat0(vyv2390, vyv2380)) 248.95/165.38 new_sr14(Neg(vyv2390), Neg(vyv2380)) -> Pos(new_primMulNat0(vyv2390, vyv2380)) 248.95/165.38 new_sr14(Pos(vyv2390), Pos(vyv2380)) -> Pos(new_primMulNat0(vyv2390, vyv2380)) 248.95/165.38 new_quot0(Neg(vyv2700), vyv272, vyv271) -> new_primQuotInt0(vyv2700, new_gcd(vyv272, vyv271)) 248.95/165.38 new_quot0(Pos(vyv2700), vyv272, vyv271) -> new_primQuotInt(vyv2700, new_gcd(vyv272, vyv271)) 248.95/165.38 new_gcd(vyv272, vyv271) -> new_gcd2(new_esEs(vyv272), vyv272, vyv271) 248.95/165.38 new_primQuotInt(vyv2700, Pos(Succ(vyv28400))) -> Pos(new_primDivNatS1(vyv2700, vyv28400)) 248.95/165.38 new_primQuotInt(vyv2700, Neg(Zero)) -> new_error 248.95/165.38 new_primQuotInt(vyv2700, Pos(Zero)) -> new_error 248.95/165.38 new_primQuotInt(vyv2700, Neg(Succ(vyv28400))) -> Neg(new_primDivNatS1(vyv2700, vyv28400)) 248.95/165.38 new_primDivNatS1(Succ(Succ(vyv270000)), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS0(vyv270000), Zero)) 248.95/165.38 new_primDivNatS1(Succ(Zero), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS1, Zero)) 248.95/165.38 new_primMinusNatS1 -> Zero 248.95/165.38 new_primMinusNatS0(vyv270000) -> Succ(vyv270000) 248.95/165.38 new_error -> error([]) 248.95/165.38 new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) 248.95/165.38 new_esEs(Pos(Succ(vyv24100))) -> new_primEqInt(Pos(Succ(vyv24100))) 248.95/165.38 new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) 248.95/165.38 new_esEs(Neg(Succ(vyv24100))) -> new_primEqInt(Neg(Succ(vyv24100))) 248.95/165.38 new_gcd2(True, vyv272, vyv271) -> new_gcd1(new_esEs(vyv271), vyv272, vyv271) 248.95/165.38 new_gcd2(False, vyv272, vyv271) -> new_gcd0(vyv272, vyv271) 248.95/165.38 new_gcd0(vyv272, vyv271) -> new_gcd0Gcd'10(new_esEs(new_abs(vyv271)), vyv272, vyv271) 248.95/165.38 new_abs(Neg(Zero)) -> Neg(Zero) 248.95/165.38 new_abs(Neg(Succ(vyv27100))) -> Pos(Succ(vyv27100)) 248.95/165.38 new_abs(Pos(Succ(vyv27100))) -> Pos(Succ(vyv27100)) 248.95/165.38 new_abs(Pos(Zero)) -> Pos(Zero) 248.95/165.38 new_gcd0Gcd'10(True, vyv272, vyv271) -> new_abs(vyv272) 248.95/165.38 new_gcd0Gcd'10(False, vyv272, vyv271) -> new_gcd0Gcd'00(new_abs(vyv272), new_abs(vyv271)) 248.95/165.38 new_gcd0Gcd'11(False, vyv291, vyv292) -> new_gcd0Gcd'00(vyv291, new_rem(vyv292, vyv291)) 248.95/165.38 new_gcd0Gcd'00(vyv292, vyv291) -> new_gcd0Gcd'11(new_esEs(new_rem(vyv292, vyv291)), vyv291, vyv292) 248.95/165.38 new_rem(Pos(vyv2920), Neg(Zero)) -> new_error 248.95/165.38 new_rem(Neg(vyv2920), Pos(Zero)) -> new_error 248.95/165.38 new_rem(Pos(vyv2920), Neg(Succ(vyv29100))) -> Pos(new_primModNatS1(vyv2920, vyv29100)) 248.95/165.38 new_rem(Neg(vyv2920), Pos(Succ(vyv29100))) -> Neg(new_primModNatS1(vyv2920, vyv29100)) 248.95/165.38 new_rem(Pos(vyv2920), Pos(Succ(vyv29100))) -> Pos(new_primModNatS1(vyv2920, vyv29100)) 248.95/165.38 new_rem(Neg(vyv2920), Neg(Zero)) -> new_error 248.95/165.38 new_rem(Neg(vyv2920), Neg(Succ(vyv29100))) -> Neg(new_primModNatS1(vyv2920, vyv29100)) 248.95/165.38 new_rem(Pos(vyv2920), Pos(Zero)) -> new_error 248.95/165.38 new_gcd0Gcd'11(True, vyv291, vyv292) -> vyv291 248.95/165.38 new_primModNatS1(Succ(Zero), Succ(vyv291000)) -> Succ(Zero) 248.95/165.38 new_primModNatS1(Zero, vyv29100) -> Zero 248.95/165.38 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 248.95/165.38 new_primModNatS1(Succ(Succ(vyv292000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv292000), Zero) 248.95/165.38 new_primModNatS1(Succ(Succ(vyv292000)), Succ(vyv291000)) -> new_primModNatS01(vyv292000, vyv291000, vyv292000, vyv291000) 248.95/165.38 new_primModNatS01(vyv330, vyv331, Zero, Zero) -> new_primModNatS02(vyv330, vyv331) 248.95/165.38 new_primModNatS02(vyv330, vyv331) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv330), Succ(vyv331)), Succ(vyv331)) 248.95/165.38 new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Zero) -> new_primModNatS02(vyv330, vyv331) 248.95/165.38 new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Succ(vyv3330)) -> new_primModNatS01(vyv330, vyv331, vyv3320, vyv3330) 248.95/165.38 new_primModNatS01(vyv330, vyv331, Zero, Succ(vyv3330)) -> Succ(Succ(vyv330)) 248.95/165.38 new_gcd1(True, vyv272, vyv271) -> new_error 248.95/165.38 new_gcd1(False, vyv272, vyv271) -> new_gcd0(vyv272, vyv271) 248.95/165.38 new_primEqInt(Neg(Succ(vyv242000))) -> False 248.95/165.38 new_primEqInt(Pos(Zero)) -> True 248.95/165.38 new_primEqInt(Pos(Succ(vyv242000))) -> False 248.95/165.38 new_primEqInt(Neg(Zero)) -> True 248.95/165.38 new_primQuotInt0(vyv2700, Pos(Succ(vyv28700))) -> Neg(new_primDivNatS1(vyv2700, vyv28700)) 248.95/165.38 new_primQuotInt0(vyv2700, Neg(Zero)) -> new_error 248.95/165.38 new_primQuotInt0(vyv2700, Neg(Succ(vyv28700))) -> Pos(new_primDivNatS1(vyv2700, vyv28700)) 248.95/165.38 new_primQuotInt0(vyv2700, Pos(Zero)) -> new_error 248.95/165.38 new_primMulNat0(Succ(vyv23900), Zero) -> Zero 248.95/165.38 new_primMulNat0(Zero, Succ(vyv23800)) -> Zero 248.95/165.38 new_primMulNat0(Zero, Zero) -> Zero 248.95/165.38 new_primMulNat0(Succ(vyv23900), Succ(vyv23800)) -> new_primPlusNat0(new_primMulNat0(vyv23900, Succ(vyv23800)), Succ(vyv23800)) 248.95/165.38 new_primPlusNat0(Succ(vyv4000), Succ(vyv5000)) -> Succ(Succ(new_primPlusNat0(vyv4000, vyv5000))) 248.95/165.38 new_primPlusNat0(Zero, Succ(vyv5000)) -> Succ(vyv5000) 248.95/165.38 new_primPlusNat0(Zero, Zero) -> Zero 248.95/165.38 new_primPlusNat0(Succ(vyv4000), Zero) -> Succ(vyv4000) 248.95/165.38 new_sr7(vyv183) -> error([]) 248.95/165.38 new_esEs1(Integer(vyv2690)) -> new_primEqInt(vyv2690) 248.95/165.38 new_sr6(Neg(vyv1830)) -> Pos(new_primMulNat1(vyv1830)) 248.95/165.38 new_sr6(Pos(vyv1830)) -> Pos(new_primMulNat1(vyv1830)) 248.95/165.38 new_primMulNat1(Succ(vyv18300)) -> new_primPlusNat0(new_primMulNat2(vyv18300), Succ(vyv18300)) 248.95/165.38 new_primMulNat1(Zero) -> Zero 248.95/165.38 new_primMulNat2(Succ(vyv183000)) -> new_primPlusNat0(new_primMulNat3(vyv183000), Succ(Succ(vyv183000))) 248.95/165.38 new_primMulNat2(Zero) -> Zero 248.95/165.38 new_primMulNat3(Succ(vyv1830000)) -> new_primPlusNat0(new_primMulNat4(vyv1830000), Succ(Succ(Succ(vyv1830000)))) 248.95/165.38 new_primMulNat3(Zero) -> Zero 248.95/165.38 new_primMulNat4(Succ(vyv18300000)) -> new_primPlusNat0(new_primMulNat0(vyv18300000, Succ(Succ(Succ(Succ(vyv18300000))))), Succ(Succ(Succ(Succ(vyv18300000))))) 248.95/165.38 new_primMulNat4(Zero) -> Zero 248.95/165.38 new_sr9(vyv183) -> error([]) 248.95/165.38 new_sr10(vyv183) -> error([]) 248.95/165.38 new_sr4(vyv239, vyv238, app(ty_Ratio, bf)) -> new_sr12(vyv239, vyv238, bf) 248.95/165.38 new_sr4(vyv239, vyv238, ty_Integer) -> new_sr8(vyv239, vyv238) 248.95/165.38 new_sr4(vyv239, vyv238, ty_Int) -> new_sr14(vyv239, vyv238) 248.95/165.38 new_sr4(vyv239, vyv238, ty_Double) -> new_sr11(vyv239, vyv238) 248.95/165.38 new_sr4(vyv239, vyv238, ty_Float) -> new_sr13(vyv239, vyv238) 248.95/165.38 new_sr13(vyv239, vyv238) -> error([]) 248.95/165.38 new_sr11(vyv239, vyv238) -> error([]) 248.95/165.38 new_sr12(:%(vyv2390, vyv2391), :%(vyv2380, vyv2381), bf) -> new_reduce2Reduce1(vyv2390, vyv2380, vyv2391, vyv2381, new_esEs2(vyv2391, vyv2381, bf), bf) 248.95/165.38 new_esEs2(vyv2391, vyv2381, ty_Int) -> new_esEs(new_sr14(vyv2391, vyv2381)) 248.95/165.38 new_esEs2(vyv2391, vyv2381, ty_Integer) -> new_esEs1(new_sr8(vyv2391, vyv2381)) 248.95/165.38 anew_new_pr2F0G10(Succ(Succ(vyv25100))) -> new_new_pr2F0G10(vyv25100) 248.95/165.38 new_new_pr2F0G10(Succ(Succ(vyv25100))) -> new_new_pr2F0G10(vyv25100) 248.95/165.38 new_new_pr2F0G10(Succ(Zero)) -> cons_new_pr2F0G10(Succ(Zero)) 248.95/165.38 new_new_pr2F0G10(Zero) -> cons_new_pr2F0G10(Zero) 248.95/165.38 248.95/165.38 The set Q consists of the following terms: 248.95/165.38 248.95/165.38 new_rem(Pos(x0), Pos(Succ(x1))) 248.95/165.38 new_quot1(x0, x1, x2, x3, ty_Integer) 248.95/165.38 new_primModNatS1(Succ(Zero), Succ(x0)) 248.95/165.38 new_primMulNat4(Zero) 248.95/165.38 new_gcd1(False, x0, x1) 248.95/165.38 new_primEqInt(Pos(Zero)) 248.95/165.38 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 248.95/165.38 new_rem(Pos(x0), Neg(Succ(x1))) 248.95/165.38 new_rem(Neg(x0), Pos(Succ(x1))) 248.95/165.38 new_sr10(x0) 248.95/165.38 new_quot1(x0, x1, x2, x3, ty_Int) 248.95/165.38 new_quot2(x0, x1, x2, x3, ty_Integer) 248.95/165.38 new_primModNatS01(x0, x1, Succ(x2), Zero) 248.95/165.38 new_sr3(x0, ty_Integer) 248.95/165.38 new_primMulNat3(Zero) 248.95/165.38 new_primDivNatS02(x0, x1, Succ(x2), Zero) 248.95/165.38 new_quot2(x0, x1, x2, x3, ty_Int) 248.95/165.38 new_gcd2(False, x0, x1) 248.95/165.38 new_primDivNatS1(Succ(Zero), Zero) 248.95/165.38 new_esEs0(x0, ty_Int) 248.95/165.38 new_sr14(Pos(x0), Pos(x1)) 248.95/165.38 new_sr3(x0, ty_Int) 248.95/165.38 new_primMulNat0(Zero, Zero) 248.95/165.38 new_sr4(x0, x1, ty_Double) 248.95/165.38 new_primPlusNat0(Succ(x0), Zero) 248.95/165.38 new_primMulNat2(Zero) 248.95/165.38 new_sr11(x0, x1) 248.95/165.38 new_primModNatS01(x0, x1, Zero, Zero) 248.95/165.38 new_esEs2(x0, x1, ty_Int) 248.95/165.38 new_gcd1(True, x0, x1) 248.95/165.38 new_sr13(x0, x1) 248.95/165.38 new_sr14(Pos(x0), Neg(x1)) 248.95/165.38 new_sr14(Neg(x0), Pos(x1)) 248.95/165.38 new_primDivNatS1(Succ(Succ(x0)), Succ(x1)) 248.95/165.38 new_primModNatS1(Zero, x0) 248.95/165.38 new_esEs(Pos(Succ(x0))) 248.95/165.38 new_primMulNat3(Succ(x0)) 248.95/165.38 new_primQuotInt(x0, Neg(Succ(x1))) 248.95/165.38 new_reduce2Reduce1(x0, x1, x2, x3, False, x4) 248.95/165.38 new_primDivNatS1(Zero, x0) 248.95/165.38 new_primDivNatS02(x0, x1, Succ(x2), Succ(x3)) 248.95/165.38 new_primModNatS02(x0, x1) 248.95/165.38 new_primDivNatS1(Succ(Zero), Succ(x0)) 248.95/165.38 new_sr6(Neg(x0)) 248.95/165.38 new_gcd0Gcd'10(True, x0, x1) 248.95/165.38 new_primMulNat0(Succ(x0), Succ(x1)) 248.95/165.38 new_abs(Neg(Zero)) 248.95/165.38 new_rem(Pos(x0), Neg(Zero)) 248.95/165.38 new_rem(Neg(x0), Pos(Zero)) 248.95/165.38 new_primMinusNatS2(Zero, Succ(x0)) 248.95/165.38 new_esEs(Neg(Succ(x0))) 248.95/165.38 new_error 248.95/165.38 new_primModNatS1(Succ(Zero), Zero) 248.95/165.38 new_primMulNat0(Zero, Succ(x0)) 248.95/165.38 new_sr3(x0, ty_Float) 248.95/165.38 new_quot(x0, x1, x2) 248.95/165.38 new_gcd2(True, x0, x1) 248.95/165.38 new_gcd0Gcd'11(True, x0, x1) 248.95/165.38 new_primEqInt(Neg(Zero)) 248.95/165.38 new_primMulNat0(Succ(x0), Zero) 248.95/165.38 new_quot0(Neg(x0), x1, x2) 248.95/165.38 new_primMinusNatS2(Succ(x0), Succ(x1)) 248.95/165.38 new_sr4(x0, x1, app(ty_Ratio, x2)) 248.95/165.38 new_sr8(x0, x1) 248.95/165.38 new_primDivNatS01(x0, x1) 248.95/165.38 new_primDivNatS02(x0, x1, Zero, Succ(x2)) 248.95/165.38 new_primPlusNat0(Succ(x0), Succ(x1)) 248.95/165.38 new_primPlusNat0(Zero, Zero) 248.95/165.38 new_sr12(:%(x0, x1), :%(x2, x3), x4) 248.95/165.38 new_abs(Neg(Succ(x0))) 248.95/165.38 new_sr3(x0, app(ty_Ratio, x1)) 248.95/165.38 new_sr7(x0) 248.95/165.38 new_gcd0(x0, x1) 248.95/165.38 new_primQuotInt0(x0, Pos(Succ(x1))) 248.95/165.38 new_sr4(x0, x1, ty_Integer) 248.95/165.38 new_sr5(:%(x0, x1), x2) 248.95/165.38 new_primMinusNatS2(Zero, Zero) 248.95/165.38 new_primMulNat1(Succ(x0)) 248.95/165.38 new_abs(Pos(Succ(x0))) 248.95/165.38 new_sr4(x0, x1, ty_Int) 248.95/165.38 new_esEs(Pos(Zero)) 248.95/165.38 new_primQuotInt0(x0, Pos(Zero)) 248.95/165.38 new_primEqInt(Neg(Succ(x0))) 248.95/165.38 new_primQuotInt(x0, Neg(Zero)) 248.95/165.38 new_primQuotInt0(x0, Neg(Zero)) 248.95/165.38 new_primQuotInt0(x0, Neg(Succ(x1))) 248.95/165.38 new_gcd(x0, x1) 248.95/165.38 new_quot0(Pos(x0), x1, x2) 248.95/165.38 new_primMinusNatS0(x0) 248.95/165.38 new_primPlusNat0(Zero, Succ(x0)) 248.95/165.38 new_primQuotInt(x0, Pos(Succ(x1))) 248.95/165.38 new_primDivNatS1(Succ(Succ(x0)), Zero) 248.95/165.38 new_rem(Pos(x0), Pos(Zero)) 248.95/165.38 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 248.95/165.38 new_primDivNatS02(x0, x1, Zero, Zero) 248.95/165.38 new_abs(Pos(Zero)) 248.95/165.38 new_gcd0Gcd'10(False, x0, x1) 248.95/165.38 new_primMinusNatS1 248.95/165.38 new_esEs1(Integer(x0)) 248.95/165.38 new_primModNatS01(x0, x1, Zero, Succ(x2)) 248.95/165.38 new_primMulNat2(Succ(x0)) 248.95/165.38 new_sr14(Neg(x0), Neg(x1)) 248.95/165.38 new_primMinusNatS2(Succ(x0), Zero) 248.95/165.38 new_sr4(x0, x1, ty_Float) 248.95/165.38 new_sr6(Pos(x0)) 248.95/165.38 new_esEs2(x0, x1, ty_Integer) 248.95/165.38 new_primMulNat4(Succ(x0)) 248.95/165.38 new_rem(Neg(x0), Neg(Succ(x1))) 248.95/165.38 new_primEqInt(Pos(Succ(x0))) 248.95/165.38 new_primQuotInt(x0, Pos(Zero)) 248.95/165.38 new_gcd0Gcd'11(False, x0, x1) 248.95/165.38 new_sr9(x0) 248.95/165.38 new_primModNatS1(Succ(Succ(x0)), Zero) 248.95/165.38 new_esEs0(x0, ty_Integer) 248.95/165.38 new_gcd0Gcd'00(x0, x1) 248.95/165.38 new_reduce2Reduce1(x0, x1, x2, x3, True, x4) 248.95/165.38 new_sr3(x0, ty_Double) 248.95/165.38 new_esEs(Neg(Zero)) 248.95/165.38 new_primMulNat1(Zero) 248.95/165.38 new_rem(Neg(x0), Neg(Zero)) 248.95/165.38 new_new_pr2F0G10(Succ(Succ(x0))) 248.95/165.38 anew_new_pr2F0G10(Succ(Succ(x0))) 248.95/165.38 new_new_pr2F0G10(Succ(Zero)) 248.95/165.38 new_new_pr2F0G10(Zero) 248.95/165.38 248.95/165.38 We have to consider all minimal (P,Q,R)-chains. 248.95/165.38 ---------------------------------------- 248.95/165.38 248.95/165.38 (839) TransformationProof (EQUIVALENT) 248.95/165.38 By rewriting [LPAR04] the rule new_pr2F0G10(y0, y1, Succ(Zero), Zero, y3) -> new_pr2F0G(y0, new_sr3(y1, y3), Neg(Succ(new_primDivNatS1(new_primMinusNatS2(Zero, Zero), Succ(Zero)))), y3) at position [2,0,0,0] we obtained the following new rules [LPAR04]: 248.95/165.38 248.95/165.38 (new_pr2F0G10(y0, y1, Succ(Zero), Zero, y3) -> new_pr2F0G(y0, new_sr3(y1, y3), Neg(Succ(new_primDivNatS1(Zero, Succ(Zero)))), y3),new_pr2F0G10(y0, y1, Succ(Zero), Zero, y3) -> new_pr2F0G(y0, new_sr3(y1, y3), Neg(Succ(new_primDivNatS1(Zero, Succ(Zero)))), y3)) 248.95/165.38 248.95/165.38 248.95/165.38 ---------------------------------------- 248.95/165.38 248.95/165.38 (840) 248.95/165.38 Obligation: 248.95/165.38 Q DP problem: 248.95/165.38 The TRS P consists of the following rules: 248.95/165.38 248.95/165.38 new_pr2F0(vyv183, Neg(Succ(Succ(vyv222000))), vyv187, h) -> new_pr2F0G10(vyv187, vyv183, Succ(vyv222000), vyv222000, h) 248.95/165.38 new_pr2F0G10(vyv248, vyv249, vyv250, Succ(Zero), bb) -> new_pr2F0G11(vyv248, vyv249, vyv250, bb) 248.95/165.38 new_pr2F0G11(vyv238, vyv239, vyv240, bc) -> new_pr2F1(vyv239, vyv240, Pos(Succ(Zero)), vyv238, bc) 248.95/165.38 new_pr2F1(z1, z2, Pos(Succ(Zero)), z0, z3) -> new_pr2F30(False, z1, z2, Pos(Succ(Zero)), z0, z3) 248.95/165.38 new_pr2F30(False, z0, z1, Pos(Succ(Zero)), z2, z3) -> new_pr2F0(z0, Neg(Succ(Succ(new_primPlusNat0(z1, Zero)))), new_sr4(z0, z2, z3), z3) 248.95/165.38 H(vyv248, vyv249, vyv250, bb, cons_new_pr2F0G10(Succ(Zero))) -> new_pr2F0G10(vyv248, vyv249, vyv250, Succ(Zero), bb) 248.95/165.38 H(vyv248, vyv249, vyv250, bb, cons_new_pr2F0G10(Zero)) -> new_pr2F0G10(vyv248, vyv249, vyv250, Zero, bb) 248.95/165.38 new_pr2F0G(vyv187, vyv183, Neg(Succ(Zero)), h) -> new_pr2F0G11(vyv187, vyv183, Zero, h) 248.95/165.38 new_pr2F0G(vyv187, vyv183, Neg(Succ(Succ(vyv222000))), h) -> new_pr2F0G10(vyv187, vyv183, Succ(vyv222000), vyv222000, h) 248.95/165.38 new_pr2F0G(vyv187, vyv183, Neg(Succ(Succ(vyv222000))), h) -> H(vyv187, vyv183, Succ(vyv222000), h, anew_new_pr2F0G10(vyv222000)) 248.95/165.38 new_pr2F0(y0, Neg(Succ(Succ(Succ(Succ(x0))))), y2, y3) -> H(y2, y0, Succ(Succ(Succ(x0))), y3, new_new_pr2F0G10(x0)) 248.95/165.38 new_pr2F0G10(y0, y1, Succ(Succ(x2)), Zero, y3) -> new_pr2F0G(y0, new_sr3(y1, y3), Neg(Succ(new_primDivNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Zero)))), y3) 248.95/165.38 new_pr2F0G10(y0, y1, Succ(Zero), Zero, y3) -> new_pr2F0G(y0, new_sr3(y1, y3), Neg(Succ(new_primDivNatS1(Zero, Succ(Zero)))), y3) 248.95/165.38 248.95/165.38 The TRS R consists of the following rules: 248.95/165.38 248.95/165.38 new_sr3(vyv249, ty_Float) -> new_sr10(vyv249) 248.95/165.38 new_sr3(vyv249, ty_Double) -> new_sr9(vyv249) 248.95/165.38 new_sr3(vyv249, ty_Int) -> new_sr6(vyv249) 248.95/165.38 new_sr3(vyv249, ty_Integer) -> new_sr7(vyv249) 248.95/165.38 new_sr3(vyv249, app(ty_Ratio, bg)) -> new_sr5(vyv249, bg) 248.95/165.38 new_primDivNatS1(Succ(Zero), Succ(vyv284000)) -> Zero 248.95/165.38 new_primDivNatS1(Succ(Succ(vyv270000)), Succ(vyv284000)) -> new_primDivNatS02(vyv270000, vyv284000, vyv270000, vyv284000) 248.95/165.38 new_primDivNatS02(vyv310, vyv311, Zero, Zero) -> new_primDivNatS01(vyv310, vyv311) 248.95/165.38 new_primDivNatS02(vyv310, vyv311, Succ(vyv3120), Zero) -> new_primDivNatS01(vyv310, vyv311) 248.95/165.38 new_primDivNatS02(vyv310, vyv311, Zero, Succ(vyv3130)) -> Zero 248.95/165.38 new_primDivNatS02(vyv310, vyv311, Succ(vyv3120), Succ(vyv3130)) -> new_primDivNatS02(vyv310, vyv311, vyv3120, vyv3130) 248.95/165.38 new_primDivNatS01(vyv310, vyv311) -> Succ(new_primDivNatS1(new_primMinusNatS2(vyv310, vyv311), Succ(vyv311))) 248.95/165.38 new_primMinusNatS2(Zero, Succ(vyv3110)) -> Zero 248.95/165.38 new_primMinusNatS2(Succ(vyv3100), Zero) -> Succ(vyv3100) 248.95/165.38 new_primMinusNatS2(Zero, Zero) -> Zero 248.95/165.38 new_primMinusNatS2(Succ(vyv3100), Succ(vyv3110)) -> new_primMinusNatS2(vyv3100, vyv3110) 248.95/165.38 new_primDivNatS1(Zero, vyv28400) -> Zero 248.95/165.38 new_sr5(:%(vyv1830, vyv1831), bd) -> new_reduce2Reduce1(vyv1830, vyv1830, vyv1831, vyv1831, new_esEs0(vyv1831, bd), bd) 248.95/165.38 new_esEs0(vyv1831, ty_Int) -> new_esEs(new_sr6(vyv1831)) 248.95/165.38 new_esEs0(vyv1831, ty_Integer) -> new_esEs1(new_sr7(vyv1831)) 248.95/165.38 new_reduce2Reduce1(vyv264, vyv265, vyv266, vyv267, False, bh) -> :%(new_quot1(vyv264, vyv265, vyv266, vyv267, bh), new_quot2(vyv266, vyv267, vyv264, vyv265, bh)) 248.95/165.38 new_reduce2Reduce1(vyv264, vyv265, vyv266, vyv267, True, bh) -> error([]) 248.95/165.38 new_quot1(vyv264, vyv265, vyv266, vyv267, ty_Int) -> new_quot0(new_sr14(vyv264, vyv265), new_sr14(vyv264, vyv265), new_sr14(vyv266, vyv267)) 248.95/165.38 new_quot1(vyv264, vyv265, vyv266, vyv267, ty_Integer) -> new_quot(new_sr8(vyv264, vyv265), new_sr8(vyv264, vyv265), new_sr8(vyv266, vyv267)) 248.95/165.38 new_quot2(vyv266, vyv267, vyv264, vyv265, ty_Int) -> new_quot0(new_sr14(vyv266, vyv267), new_sr14(vyv264, vyv265), new_sr14(vyv266, vyv267)) 248.95/165.38 new_quot2(vyv266, vyv267, vyv264, vyv265, ty_Integer) -> new_quot(new_sr8(vyv266, vyv267), new_sr8(vyv264, vyv265), new_sr8(vyv266, vyv267)) 248.95/165.38 new_sr8(vyv239, vyv238) -> error([]) 248.95/165.38 new_quot(vyv273, vyv275, vyv274) -> error([]) 248.95/165.38 new_sr14(Pos(vyv2390), Neg(vyv2380)) -> Neg(new_primMulNat0(vyv2390, vyv2380)) 248.95/165.38 new_sr14(Neg(vyv2390), Pos(vyv2380)) -> Neg(new_primMulNat0(vyv2390, vyv2380)) 248.95/165.38 new_sr14(Neg(vyv2390), Neg(vyv2380)) -> Pos(new_primMulNat0(vyv2390, vyv2380)) 248.95/165.38 new_sr14(Pos(vyv2390), Pos(vyv2380)) -> Pos(new_primMulNat0(vyv2390, vyv2380)) 248.95/165.38 new_quot0(Neg(vyv2700), vyv272, vyv271) -> new_primQuotInt0(vyv2700, new_gcd(vyv272, vyv271)) 248.95/165.38 new_quot0(Pos(vyv2700), vyv272, vyv271) -> new_primQuotInt(vyv2700, new_gcd(vyv272, vyv271)) 248.95/165.38 new_gcd(vyv272, vyv271) -> new_gcd2(new_esEs(vyv272), vyv272, vyv271) 248.95/165.38 new_primQuotInt(vyv2700, Pos(Succ(vyv28400))) -> Pos(new_primDivNatS1(vyv2700, vyv28400)) 248.95/165.38 new_primQuotInt(vyv2700, Neg(Zero)) -> new_error 248.95/165.38 new_primQuotInt(vyv2700, Pos(Zero)) -> new_error 248.95/165.38 new_primQuotInt(vyv2700, Neg(Succ(vyv28400))) -> Neg(new_primDivNatS1(vyv2700, vyv28400)) 248.95/165.38 new_primDivNatS1(Succ(Succ(vyv270000)), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS0(vyv270000), Zero)) 248.95/165.38 new_primDivNatS1(Succ(Zero), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS1, Zero)) 248.95/165.38 new_primMinusNatS1 -> Zero 248.95/165.38 new_primMinusNatS0(vyv270000) -> Succ(vyv270000) 248.95/165.38 new_error -> error([]) 248.95/165.38 new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) 248.95/165.38 new_esEs(Pos(Succ(vyv24100))) -> new_primEqInt(Pos(Succ(vyv24100))) 248.95/165.38 new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) 248.95/165.38 new_esEs(Neg(Succ(vyv24100))) -> new_primEqInt(Neg(Succ(vyv24100))) 248.95/165.38 new_gcd2(True, vyv272, vyv271) -> new_gcd1(new_esEs(vyv271), vyv272, vyv271) 248.95/165.38 new_gcd2(False, vyv272, vyv271) -> new_gcd0(vyv272, vyv271) 248.95/165.38 new_gcd0(vyv272, vyv271) -> new_gcd0Gcd'10(new_esEs(new_abs(vyv271)), vyv272, vyv271) 248.95/165.38 new_abs(Neg(Zero)) -> Neg(Zero) 248.95/165.38 new_abs(Neg(Succ(vyv27100))) -> Pos(Succ(vyv27100)) 248.95/165.38 new_abs(Pos(Succ(vyv27100))) -> Pos(Succ(vyv27100)) 248.95/165.38 new_abs(Pos(Zero)) -> Pos(Zero) 248.95/165.38 new_gcd0Gcd'10(True, vyv272, vyv271) -> new_abs(vyv272) 248.95/165.38 new_gcd0Gcd'10(False, vyv272, vyv271) -> new_gcd0Gcd'00(new_abs(vyv272), new_abs(vyv271)) 248.95/165.38 new_gcd0Gcd'11(False, vyv291, vyv292) -> new_gcd0Gcd'00(vyv291, new_rem(vyv292, vyv291)) 248.95/165.38 new_gcd0Gcd'00(vyv292, vyv291) -> new_gcd0Gcd'11(new_esEs(new_rem(vyv292, vyv291)), vyv291, vyv292) 248.95/165.38 new_rem(Pos(vyv2920), Neg(Zero)) -> new_error 248.95/165.38 new_rem(Neg(vyv2920), Pos(Zero)) -> new_error 248.95/165.38 new_rem(Pos(vyv2920), Neg(Succ(vyv29100))) -> Pos(new_primModNatS1(vyv2920, vyv29100)) 248.95/165.38 new_rem(Neg(vyv2920), Pos(Succ(vyv29100))) -> Neg(new_primModNatS1(vyv2920, vyv29100)) 248.95/165.38 new_rem(Pos(vyv2920), Pos(Succ(vyv29100))) -> Pos(new_primModNatS1(vyv2920, vyv29100)) 248.95/165.38 new_rem(Neg(vyv2920), Neg(Zero)) -> new_error 248.95/165.38 new_rem(Neg(vyv2920), Neg(Succ(vyv29100))) -> Neg(new_primModNatS1(vyv2920, vyv29100)) 248.95/165.38 new_rem(Pos(vyv2920), Pos(Zero)) -> new_error 248.95/165.38 new_gcd0Gcd'11(True, vyv291, vyv292) -> vyv291 248.95/165.38 new_primModNatS1(Succ(Zero), Succ(vyv291000)) -> Succ(Zero) 248.95/165.38 new_primModNatS1(Zero, vyv29100) -> Zero 248.95/165.38 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 248.95/165.38 new_primModNatS1(Succ(Succ(vyv292000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv292000), Zero) 248.95/165.38 new_primModNatS1(Succ(Succ(vyv292000)), Succ(vyv291000)) -> new_primModNatS01(vyv292000, vyv291000, vyv292000, vyv291000) 248.95/165.38 new_primModNatS01(vyv330, vyv331, Zero, Zero) -> new_primModNatS02(vyv330, vyv331) 248.95/165.38 new_primModNatS02(vyv330, vyv331) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv330), Succ(vyv331)), Succ(vyv331)) 248.95/165.38 new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Zero) -> new_primModNatS02(vyv330, vyv331) 248.95/165.38 new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Succ(vyv3330)) -> new_primModNatS01(vyv330, vyv331, vyv3320, vyv3330) 248.95/165.38 new_primModNatS01(vyv330, vyv331, Zero, Succ(vyv3330)) -> Succ(Succ(vyv330)) 248.95/165.38 new_gcd1(True, vyv272, vyv271) -> new_error 248.95/165.38 new_gcd1(False, vyv272, vyv271) -> new_gcd0(vyv272, vyv271) 248.95/165.38 new_primEqInt(Neg(Succ(vyv242000))) -> False 248.95/165.38 new_primEqInt(Pos(Zero)) -> True 248.95/165.38 new_primEqInt(Pos(Succ(vyv242000))) -> False 248.95/165.38 new_primEqInt(Neg(Zero)) -> True 248.95/165.38 new_primQuotInt0(vyv2700, Pos(Succ(vyv28700))) -> Neg(new_primDivNatS1(vyv2700, vyv28700)) 248.95/165.38 new_primQuotInt0(vyv2700, Neg(Zero)) -> new_error 248.95/165.38 new_primQuotInt0(vyv2700, Neg(Succ(vyv28700))) -> Pos(new_primDivNatS1(vyv2700, vyv28700)) 248.95/165.38 new_primQuotInt0(vyv2700, Pos(Zero)) -> new_error 248.95/165.38 new_primMulNat0(Succ(vyv23900), Zero) -> Zero 248.95/165.38 new_primMulNat0(Zero, Succ(vyv23800)) -> Zero 248.95/165.38 new_primMulNat0(Zero, Zero) -> Zero 248.95/165.38 new_primMulNat0(Succ(vyv23900), Succ(vyv23800)) -> new_primPlusNat0(new_primMulNat0(vyv23900, Succ(vyv23800)), Succ(vyv23800)) 248.95/165.38 new_primPlusNat0(Succ(vyv4000), Succ(vyv5000)) -> Succ(Succ(new_primPlusNat0(vyv4000, vyv5000))) 248.95/165.38 new_primPlusNat0(Zero, Succ(vyv5000)) -> Succ(vyv5000) 248.95/165.38 new_primPlusNat0(Zero, Zero) -> Zero 248.95/165.38 new_primPlusNat0(Succ(vyv4000), Zero) -> Succ(vyv4000) 248.95/165.38 new_sr7(vyv183) -> error([]) 248.95/165.38 new_esEs1(Integer(vyv2690)) -> new_primEqInt(vyv2690) 248.95/165.38 new_sr6(Neg(vyv1830)) -> Pos(new_primMulNat1(vyv1830)) 248.95/165.38 new_sr6(Pos(vyv1830)) -> Pos(new_primMulNat1(vyv1830)) 248.95/165.38 new_primMulNat1(Succ(vyv18300)) -> new_primPlusNat0(new_primMulNat2(vyv18300), Succ(vyv18300)) 248.95/165.38 new_primMulNat1(Zero) -> Zero 248.95/165.38 new_primMulNat2(Succ(vyv183000)) -> new_primPlusNat0(new_primMulNat3(vyv183000), Succ(Succ(vyv183000))) 248.95/165.38 new_primMulNat2(Zero) -> Zero 248.95/165.38 new_primMulNat3(Succ(vyv1830000)) -> new_primPlusNat0(new_primMulNat4(vyv1830000), Succ(Succ(Succ(vyv1830000)))) 248.95/165.38 new_primMulNat3(Zero) -> Zero 248.95/165.38 new_primMulNat4(Succ(vyv18300000)) -> new_primPlusNat0(new_primMulNat0(vyv18300000, Succ(Succ(Succ(Succ(vyv18300000))))), Succ(Succ(Succ(Succ(vyv18300000))))) 248.95/165.38 new_primMulNat4(Zero) -> Zero 248.95/165.38 new_sr9(vyv183) -> error([]) 248.95/165.38 new_sr10(vyv183) -> error([]) 248.95/165.38 new_sr4(vyv239, vyv238, app(ty_Ratio, bf)) -> new_sr12(vyv239, vyv238, bf) 248.95/165.38 new_sr4(vyv239, vyv238, ty_Integer) -> new_sr8(vyv239, vyv238) 248.95/165.38 new_sr4(vyv239, vyv238, ty_Int) -> new_sr14(vyv239, vyv238) 248.95/165.38 new_sr4(vyv239, vyv238, ty_Double) -> new_sr11(vyv239, vyv238) 248.95/165.38 new_sr4(vyv239, vyv238, ty_Float) -> new_sr13(vyv239, vyv238) 248.95/165.38 new_sr13(vyv239, vyv238) -> error([]) 248.95/165.38 new_sr11(vyv239, vyv238) -> error([]) 248.95/165.38 new_sr12(:%(vyv2390, vyv2391), :%(vyv2380, vyv2381), bf) -> new_reduce2Reduce1(vyv2390, vyv2380, vyv2391, vyv2381, new_esEs2(vyv2391, vyv2381, bf), bf) 248.95/165.38 new_esEs2(vyv2391, vyv2381, ty_Int) -> new_esEs(new_sr14(vyv2391, vyv2381)) 248.95/165.38 new_esEs2(vyv2391, vyv2381, ty_Integer) -> new_esEs1(new_sr8(vyv2391, vyv2381)) 248.95/165.38 anew_new_pr2F0G10(Succ(Succ(vyv25100))) -> new_new_pr2F0G10(vyv25100) 248.95/165.38 new_new_pr2F0G10(Succ(Succ(vyv25100))) -> new_new_pr2F0G10(vyv25100) 248.95/165.38 new_new_pr2F0G10(Succ(Zero)) -> cons_new_pr2F0G10(Succ(Zero)) 248.95/165.38 new_new_pr2F0G10(Zero) -> cons_new_pr2F0G10(Zero) 248.95/165.38 248.95/165.38 The set Q consists of the following terms: 248.95/165.38 248.95/165.38 new_rem(Pos(x0), Pos(Succ(x1))) 248.95/165.38 new_quot1(x0, x1, x2, x3, ty_Integer) 248.95/165.38 new_primModNatS1(Succ(Zero), Succ(x0)) 248.95/165.38 new_primMulNat4(Zero) 248.95/165.38 new_gcd1(False, x0, x1) 248.95/165.38 new_primEqInt(Pos(Zero)) 248.95/165.38 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 248.95/165.38 new_rem(Pos(x0), Neg(Succ(x1))) 248.95/165.38 new_rem(Neg(x0), Pos(Succ(x1))) 248.95/165.38 new_sr10(x0) 248.95/165.38 new_quot1(x0, x1, x2, x3, ty_Int) 248.95/165.38 new_quot2(x0, x1, x2, x3, ty_Integer) 248.95/165.38 new_primModNatS01(x0, x1, Succ(x2), Zero) 248.95/165.38 new_sr3(x0, ty_Integer) 248.95/165.38 new_primMulNat3(Zero) 248.95/165.38 new_primDivNatS02(x0, x1, Succ(x2), Zero) 248.95/165.38 new_quot2(x0, x1, x2, x3, ty_Int) 248.95/165.38 new_gcd2(False, x0, x1) 248.95/165.38 new_primDivNatS1(Succ(Zero), Zero) 248.95/165.38 new_esEs0(x0, ty_Int) 248.95/165.38 new_sr14(Pos(x0), Pos(x1)) 248.95/165.38 new_sr3(x0, ty_Int) 248.95/165.38 new_primMulNat0(Zero, Zero) 248.95/165.38 new_sr4(x0, x1, ty_Double) 248.95/165.38 new_primPlusNat0(Succ(x0), Zero) 248.95/165.38 new_primMulNat2(Zero) 248.95/165.38 new_sr11(x0, x1) 248.95/165.38 new_primModNatS01(x0, x1, Zero, Zero) 248.95/165.38 new_esEs2(x0, x1, ty_Int) 248.95/165.38 new_gcd1(True, x0, x1) 248.95/165.38 new_sr13(x0, x1) 248.95/165.38 new_sr14(Pos(x0), Neg(x1)) 248.95/165.38 new_sr14(Neg(x0), Pos(x1)) 248.95/165.38 new_primDivNatS1(Succ(Succ(x0)), Succ(x1)) 248.95/165.38 new_primModNatS1(Zero, x0) 248.95/165.38 new_esEs(Pos(Succ(x0))) 248.95/165.38 new_primMulNat3(Succ(x0)) 248.95/165.38 new_primQuotInt(x0, Neg(Succ(x1))) 248.95/165.38 new_reduce2Reduce1(x0, x1, x2, x3, False, x4) 248.95/165.38 new_primDivNatS1(Zero, x0) 248.95/165.38 new_primDivNatS02(x0, x1, Succ(x2), Succ(x3)) 248.95/165.38 new_primModNatS02(x0, x1) 248.95/165.38 new_primDivNatS1(Succ(Zero), Succ(x0)) 248.95/165.38 new_sr6(Neg(x0)) 248.95/165.38 new_gcd0Gcd'10(True, x0, x1) 248.95/165.38 new_primMulNat0(Succ(x0), Succ(x1)) 248.95/165.38 new_abs(Neg(Zero)) 248.95/165.38 new_rem(Pos(x0), Neg(Zero)) 248.95/165.38 new_rem(Neg(x0), Pos(Zero)) 248.95/165.38 new_primMinusNatS2(Zero, Succ(x0)) 248.95/165.38 new_esEs(Neg(Succ(x0))) 248.95/165.38 new_error 248.95/165.38 new_primModNatS1(Succ(Zero), Zero) 248.95/165.38 new_primMulNat0(Zero, Succ(x0)) 248.95/165.38 new_sr3(x0, ty_Float) 248.95/165.38 new_quot(x0, x1, x2) 248.95/165.38 new_gcd2(True, x0, x1) 248.95/165.38 new_gcd0Gcd'11(True, x0, x1) 248.95/165.38 new_primEqInt(Neg(Zero)) 248.95/165.38 new_primMulNat0(Succ(x0), Zero) 248.95/165.38 new_quot0(Neg(x0), x1, x2) 248.95/165.38 new_primMinusNatS2(Succ(x0), Succ(x1)) 248.95/165.38 new_sr4(x0, x1, app(ty_Ratio, x2)) 248.95/165.38 new_sr8(x0, x1) 248.95/165.38 new_primDivNatS01(x0, x1) 248.95/165.38 new_primDivNatS02(x0, x1, Zero, Succ(x2)) 248.95/165.38 new_primPlusNat0(Succ(x0), Succ(x1)) 248.95/165.38 new_primPlusNat0(Zero, Zero) 248.95/165.38 new_sr12(:%(x0, x1), :%(x2, x3), x4) 248.95/165.38 new_abs(Neg(Succ(x0))) 248.95/165.38 new_sr3(x0, app(ty_Ratio, x1)) 248.95/165.38 new_sr7(x0) 248.95/165.38 new_gcd0(x0, x1) 248.95/165.38 new_primQuotInt0(x0, Pos(Succ(x1))) 248.95/165.38 new_sr4(x0, x1, ty_Integer) 248.95/165.38 new_sr5(:%(x0, x1), x2) 248.95/165.38 new_primMinusNatS2(Zero, Zero) 248.95/165.38 new_primMulNat1(Succ(x0)) 248.95/165.38 new_abs(Pos(Succ(x0))) 248.95/165.38 new_sr4(x0, x1, ty_Int) 248.95/165.38 new_esEs(Pos(Zero)) 248.95/165.38 new_primQuotInt0(x0, Pos(Zero)) 248.95/165.38 new_primEqInt(Neg(Succ(x0))) 248.95/165.38 new_primQuotInt(x0, Neg(Zero)) 248.95/165.38 new_primQuotInt0(x0, Neg(Zero)) 248.95/165.38 new_primQuotInt0(x0, Neg(Succ(x1))) 248.95/165.38 new_gcd(x0, x1) 248.95/165.38 new_quot0(Pos(x0), x1, x2) 248.95/165.38 new_primMinusNatS0(x0) 248.95/165.38 new_primPlusNat0(Zero, Succ(x0)) 248.95/165.38 new_primQuotInt(x0, Pos(Succ(x1))) 248.95/165.38 new_primDivNatS1(Succ(Succ(x0)), Zero) 248.95/165.38 new_rem(Pos(x0), Pos(Zero)) 248.95/165.38 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 248.95/165.38 new_primDivNatS02(x0, x1, Zero, Zero) 248.95/165.38 new_abs(Pos(Zero)) 248.95/165.38 new_gcd0Gcd'10(False, x0, x1) 248.95/165.38 new_primMinusNatS1 248.95/165.38 new_esEs1(Integer(x0)) 248.95/165.38 new_primModNatS01(x0, x1, Zero, Succ(x2)) 248.95/165.38 new_primMulNat2(Succ(x0)) 248.95/165.38 new_sr14(Neg(x0), Neg(x1)) 248.95/165.38 new_primMinusNatS2(Succ(x0), Zero) 248.95/165.38 new_sr4(x0, x1, ty_Float) 248.95/165.38 new_sr6(Pos(x0)) 248.95/165.38 new_esEs2(x0, x1, ty_Integer) 248.95/165.38 new_primMulNat4(Succ(x0)) 248.95/165.38 new_rem(Neg(x0), Neg(Succ(x1))) 248.95/165.38 new_primEqInt(Pos(Succ(x0))) 248.95/165.38 new_primQuotInt(x0, Pos(Zero)) 248.95/165.38 new_gcd0Gcd'11(False, x0, x1) 248.95/165.38 new_sr9(x0) 248.95/165.38 new_primModNatS1(Succ(Succ(x0)), Zero) 248.95/165.38 new_esEs0(x0, ty_Integer) 248.95/165.38 new_gcd0Gcd'00(x0, x1) 248.95/165.38 new_reduce2Reduce1(x0, x1, x2, x3, True, x4) 248.95/165.38 new_sr3(x0, ty_Double) 248.95/165.38 new_esEs(Neg(Zero)) 248.95/165.38 new_primMulNat1(Zero) 248.95/165.38 new_rem(Neg(x0), Neg(Zero)) 248.95/165.38 new_new_pr2F0G10(Succ(Succ(x0))) 248.95/165.38 anew_new_pr2F0G10(Succ(Succ(x0))) 248.95/165.38 new_new_pr2F0G10(Succ(Zero)) 248.95/165.38 new_new_pr2F0G10(Zero) 248.95/165.38 248.95/165.38 We have to consider all minimal (P,Q,R)-chains. 248.95/165.38 ---------------------------------------- 248.95/165.38 248.95/165.38 (841) TransformationProof (EQUIVALENT) 248.95/165.38 By rewriting [LPAR04] the rule new_pr2F0G10(y0, y1, Succ(Succ(x2)), Zero, y3) -> new_pr2F0G(y0, new_sr3(y1, y3), Neg(Succ(new_primDivNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Zero)))), y3) at position [2,0,0,0] we obtained the following new rules [LPAR04]: 248.95/165.38 248.95/165.38 (new_pr2F0G10(y0, y1, Succ(Succ(x2)), Zero, y3) -> new_pr2F0G(y0, new_sr3(y1, y3), Neg(Succ(new_primDivNatS1(Succ(x2), Succ(Zero)))), y3),new_pr2F0G10(y0, y1, Succ(Succ(x2)), Zero, y3) -> new_pr2F0G(y0, new_sr3(y1, y3), Neg(Succ(new_primDivNatS1(Succ(x2), Succ(Zero)))), y3)) 248.95/165.38 248.95/165.38 248.95/165.38 ---------------------------------------- 248.95/165.38 248.95/165.38 (842) 248.95/165.38 Obligation: 248.95/165.38 Q DP problem: 248.95/165.38 The TRS P consists of the following rules: 248.95/165.38 248.95/165.38 new_pr2F0(vyv183, Neg(Succ(Succ(vyv222000))), vyv187, h) -> new_pr2F0G10(vyv187, vyv183, Succ(vyv222000), vyv222000, h) 248.95/165.38 new_pr2F0G10(vyv248, vyv249, vyv250, Succ(Zero), bb) -> new_pr2F0G11(vyv248, vyv249, vyv250, bb) 248.95/165.38 new_pr2F0G11(vyv238, vyv239, vyv240, bc) -> new_pr2F1(vyv239, vyv240, Pos(Succ(Zero)), vyv238, bc) 248.95/165.38 new_pr2F1(z1, z2, Pos(Succ(Zero)), z0, z3) -> new_pr2F30(False, z1, z2, Pos(Succ(Zero)), z0, z3) 248.95/165.38 new_pr2F30(False, z0, z1, Pos(Succ(Zero)), z2, z3) -> new_pr2F0(z0, Neg(Succ(Succ(new_primPlusNat0(z1, Zero)))), new_sr4(z0, z2, z3), z3) 248.95/165.38 H(vyv248, vyv249, vyv250, bb, cons_new_pr2F0G10(Succ(Zero))) -> new_pr2F0G10(vyv248, vyv249, vyv250, Succ(Zero), bb) 248.95/165.38 H(vyv248, vyv249, vyv250, bb, cons_new_pr2F0G10(Zero)) -> new_pr2F0G10(vyv248, vyv249, vyv250, Zero, bb) 248.95/165.38 new_pr2F0G(vyv187, vyv183, Neg(Succ(Zero)), h) -> new_pr2F0G11(vyv187, vyv183, Zero, h) 248.95/165.38 new_pr2F0G(vyv187, vyv183, Neg(Succ(Succ(vyv222000))), h) -> new_pr2F0G10(vyv187, vyv183, Succ(vyv222000), vyv222000, h) 248.95/165.38 new_pr2F0G(vyv187, vyv183, Neg(Succ(Succ(vyv222000))), h) -> H(vyv187, vyv183, Succ(vyv222000), h, anew_new_pr2F0G10(vyv222000)) 248.95/165.38 new_pr2F0(y0, Neg(Succ(Succ(Succ(Succ(x0))))), y2, y3) -> H(y2, y0, Succ(Succ(Succ(x0))), y3, new_new_pr2F0G10(x0)) 248.95/165.38 new_pr2F0G10(y0, y1, Succ(Zero), Zero, y3) -> new_pr2F0G(y0, new_sr3(y1, y3), Neg(Succ(new_primDivNatS1(Zero, Succ(Zero)))), y3) 248.95/165.38 new_pr2F0G10(y0, y1, Succ(Succ(x2)), Zero, y3) -> new_pr2F0G(y0, new_sr3(y1, y3), Neg(Succ(new_primDivNatS1(Succ(x2), Succ(Zero)))), y3) 248.95/165.38 248.95/165.38 The TRS R consists of the following rules: 248.95/165.38 248.95/165.38 new_sr3(vyv249, ty_Float) -> new_sr10(vyv249) 248.95/165.38 new_sr3(vyv249, ty_Double) -> new_sr9(vyv249) 248.95/165.38 new_sr3(vyv249, ty_Int) -> new_sr6(vyv249) 248.95/165.38 new_sr3(vyv249, ty_Integer) -> new_sr7(vyv249) 248.95/165.38 new_sr3(vyv249, app(ty_Ratio, bg)) -> new_sr5(vyv249, bg) 248.95/165.38 new_primDivNatS1(Succ(Zero), Succ(vyv284000)) -> Zero 248.95/165.38 new_primDivNatS1(Succ(Succ(vyv270000)), Succ(vyv284000)) -> new_primDivNatS02(vyv270000, vyv284000, vyv270000, vyv284000) 248.95/165.38 new_primDivNatS02(vyv310, vyv311, Zero, Zero) -> new_primDivNatS01(vyv310, vyv311) 248.95/165.38 new_primDivNatS02(vyv310, vyv311, Succ(vyv3120), Zero) -> new_primDivNatS01(vyv310, vyv311) 248.95/165.38 new_primDivNatS02(vyv310, vyv311, Zero, Succ(vyv3130)) -> Zero 248.95/165.38 new_primDivNatS02(vyv310, vyv311, Succ(vyv3120), Succ(vyv3130)) -> new_primDivNatS02(vyv310, vyv311, vyv3120, vyv3130) 248.95/165.38 new_primDivNatS01(vyv310, vyv311) -> Succ(new_primDivNatS1(new_primMinusNatS2(vyv310, vyv311), Succ(vyv311))) 248.95/165.38 new_primMinusNatS2(Zero, Succ(vyv3110)) -> Zero 248.95/165.38 new_primMinusNatS2(Succ(vyv3100), Zero) -> Succ(vyv3100) 248.95/165.38 new_primMinusNatS2(Zero, Zero) -> Zero 248.95/165.38 new_primMinusNatS2(Succ(vyv3100), Succ(vyv3110)) -> new_primMinusNatS2(vyv3100, vyv3110) 248.95/165.38 new_primDivNatS1(Zero, vyv28400) -> Zero 248.95/165.38 new_sr5(:%(vyv1830, vyv1831), bd) -> new_reduce2Reduce1(vyv1830, vyv1830, vyv1831, vyv1831, new_esEs0(vyv1831, bd), bd) 248.95/165.38 new_esEs0(vyv1831, ty_Int) -> new_esEs(new_sr6(vyv1831)) 248.95/165.38 new_esEs0(vyv1831, ty_Integer) -> new_esEs1(new_sr7(vyv1831)) 248.95/165.38 new_reduce2Reduce1(vyv264, vyv265, vyv266, vyv267, False, bh) -> :%(new_quot1(vyv264, vyv265, vyv266, vyv267, bh), new_quot2(vyv266, vyv267, vyv264, vyv265, bh)) 248.95/165.38 new_reduce2Reduce1(vyv264, vyv265, vyv266, vyv267, True, bh) -> error([]) 248.95/165.38 new_quot1(vyv264, vyv265, vyv266, vyv267, ty_Int) -> new_quot0(new_sr14(vyv264, vyv265), new_sr14(vyv264, vyv265), new_sr14(vyv266, vyv267)) 248.95/165.38 new_quot1(vyv264, vyv265, vyv266, vyv267, ty_Integer) -> new_quot(new_sr8(vyv264, vyv265), new_sr8(vyv264, vyv265), new_sr8(vyv266, vyv267)) 248.95/165.38 new_quot2(vyv266, vyv267, vyv264, vyv265, ty_Int) -> new_quot0(new_sr14(vyv266, vyv267), new_sr14(vyv264, vyv265), new_sr14(vyv266, vyv267)) 248.95/165.38 new_quot2(vyv266, vyv267, vyv264, vyv265, ty_Integer) -> new_quot(new_sr8(vyv266, vyv267), new_sr8(vyv264, vyv265), new_sr8(vyv266, vyv267)) 248.95/165.38 new_sr8(vyv239, vyv238) -> error([]) 248.95/165.38 new_quot(vyv273, vyv275, vyv274) -> error([]) 248.95/165.38 new_sr14(Pos(vyv2390), Neg(vyv2380)) -> Neg(new_primMulNat0(vyv2390, vyv2380)) 248.95/165.38 new_sr14(Neg(vyv2390), Pos(vyv2380)) -> Neg(new_primMulNat0(vyv2390, vyv2380)) 248.95/165.38 new_sr14(Neg(vyv2390), Neg(vyv2380)) -> Pos(new_primMulNat0(vyv2390, vyv2380)) 248.95/165.38 new_sr14(Pos(vyv2390), Pos(vyv2380)) -> Pos(new_primMulNat0(vyv2390, vyv2380)) 248.95/165.38 new_quot0(Neg(vyv2700), vyv272, vyv271) -> new_primQuotInt0(vyv2700, new_gcd(vyv272, vyv271)) 248.95/165.38 new_quot0(Pos(vyv2700), vyv272, vyv271) -> new_primQuotInt(vyv2700, new_gcd(vyv272, vyv271)) 248.95/165.38 new_gcd(vyv272, vyv271) -> new_gcd2(new_esEs(vyv272), vyv272, vyv271) 248.95/165.38 new_primQuotInt(vyv2700, Pos(Succ(vyv28400))) -> Pos(new_primDivNatS1(vyv2700, vyv28400)) 248.95/165.38 new_primQuotInt(vyv2700, Neg(Zero)) -> new_error 248.95/165.38 new_primQuotInt(vyv2700, Pos(Zero)) -> new_error 248.95/165.38 new_primQuotInt(vyv2700, Neg(Succ(vyv28400))) -> Neg(new_primDivNatS1(vyv2700, vyv28400)) 248.95/165.38 new_primDivNatS1(Succ(Succ(vyv270000)), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS0(vyv270000), Zero)) 248.95/165.38 new_primDivNatS1(Succ(Zero), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS1, Zero)) 248.95/165.38 new_primMinusNatS1 -> Zero 248.95/165.38 new_primMinusNatS0(vyv270000) -> Succ(vyv270000) 248.95/165.38 new_error -> error([]) 248.95/165.38 new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) 248.95/165.38 new_esEs(Pos(Succ(vyv24100))) -> new_primEqInt(Pos(Succ(vyv24100))) 248.95/165.38 new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) 248.95/165.38 new_esEs(Neg(Succ(vyv24100))) -> new_primEqInt(Neg(Succ(vyv24100))) 248.95/165.38 new_gcd2(True, vyv272, vyv271) -> new_gcd1(new_esEs(vyv271), vyv272, vyv271) 248.95/165.38 new_gcd2(False, vyv272, vyv271) -> new_gcd0(vyv272, vyv271) 248.95/165.38 new_gcd0(vyv272, vyv271) -> new_gcd0Gcd'10(new_esEs(new_abs(vyv271)), vyv272, vyv271) 248.95/165.38 new_abs(Neg(Zero)) -> Neg(Zero) 248.95/165.38 new_abs(Neg(Succ(vyv27100))) -> Pos(Succ(vyv27100)) 248.95/165.38 new_abs(Pos(Succ(vyv27100))) -> Pos(Succ(vyv27100)) 248.95/165.38 new_abs(Pos(Zero)) -> Pos(Zero) 248.95/165.38 new_gcd0Gcd'10(True, vyv272, vyv271) -> new_abs(vyv272) 248.95/165.38 new_gcd0Gcd'10(False, vyv272, vyv271) -> new_gcd0Gcd'00(new_abs(vyv272), new_abs(vyv271)) 248.95/165.38 new_gcd0Gcd'11(False, vyv291, vyv292) -> new_gcd0Gcd'00(vyv291, new_rem(vyv292, vyv291)) 248.95/165.38 new_gcd0Gcd'00(vyv292, vyv291) -> new_gcd0Gcd'11(new_esEs(new_rem(vyv292, vyv291)), vyv291, vyv292) 248.95/165.38 new_rem(Pos(vyv2920), Neg(Zero)) -> new_error 248.95/165.38 new_rem(Neg(vyv2920), Pos(Zero)) -> new_error 248.95/165.38 new_rem(Pos(vyv2920), Neg(Succ(vyv29100))) -> Pos(new_primModNatS1(vyv2920, vyv29100)) 248.95/165.38 new_rem(Neg(vyv2920), Pos(Succ(vyv29100))) -> Neg(new_primModNatS1(vyv2920, vyv29100)) 248.95/165.38 new_rem(Pos(vyv2920), Pos(Succ(vyv29100))) -> Pos(new_primModNatS1(vyv2920, vyv29100)) 248.95/165.38 new_rem(Neg(vyv2920), Neg(Zero)) -> new_error 248.95/165.38 new_rem(Neg(vyv2920), Neg(Succ(vyv29100))) -> Neg(new_primModNatS1(vyv2920, vyv29100)) 248.95/165.38 new_rem(Pos(vyv2920), Pos(Zero)) -> new_error 248.95/165.38 new_gcd0Gcd'11(True, vyv291, vyv292) -> vyv291 248.95/165.38 new_primModNatS1(Succ(Zero), Succ(vyv291000)) -> Succ(Zero) 248.95/165.38 new_primModNatS1(Zero, vyv29100) -> Zero 248.95/165.38 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 248.95/165.38 new_primModNatS1(Succ(Succ(vyv292000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv292000), Zero) 248.95/165.38 new_primModNatS1(Succ(Succ(vyv292000)), Succ(vyv291000)) -> new_primModNatS01(vyv292000, vyv291000, vyv292000, vyv291000) 248.95/165.38 new_primModNatS01(vyv330, vyv331, Zero, Zero) -> new_primModNatS02(vyv330, vyv331) 248.95/165.38 new_primModNatS02(vyv330, vyv331) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv330), Succ(vyv331)), Succ(vyv331)) 248.95/165.38 new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Zero) -> new_primModNatS02(vyv330, vyv331) 248.95/165.38 new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Succ(vyv3330)) -> new_primModNatS01(vyv330, vyv331, vyv3320, vyv3330) 248.95/165.38 new_primModNatS01(vyv330, vyv331, Zero, Succ(vyv3330)) -> Succ(Succ(vyv330)) 248.95/165.38 new_gcd1(True, vyv272, vyv271) -> new_error 248.95/165.38 new_gcd1(False, vyv272, vyv271) -> new_gcd0(vyv272, vyv271) 248.95/165.38 new_primEqInt(Neg(Succ(vyv242000))) -> False 248.95/165.38 new_primEqInt(Pos(Zero)) -> True 248.95/165.38 new_primEqInt(Pos(Succ(vyv242000))) -> False 248.95/165.38 new_primEqInt(Neg(Zero)) -> True 248.95/165.38 new_primQuotInt0(vyv2700, Pos(Succ(vyv28700))) -> Neg(new_primDivNatS1(vyv2700, vyv28700)) 248.95/165.38 new_primQuotInt0(vyv2700, Neg(Zero)) -> new_error 248.95/165.38 new_primQuotInt0(vyv2700, Neg(Succ(vyv28700))) -> Pos(new_primDivNatS1(vyv2700, vyv28700)) 248.95/165.38 new_primQuotInt0(vyv2700, Pos(Zero)) -> new_error 248.95/165.38 new_primMulNat0(Succ(vyv23900), Zero) -> Zero 248.95/165.38 new_primMulNat0(Zero, Succ(vyv23800)) -> Zero 248.95/165.38 new_primMulNat0(Zero, Zero) -> Zero 248.95/165.38 new_primMulNat0(Succ(vyv23900), Succ(vyv23800)) -> new_primPlusNat0(new_primMulNat0(vyv23900, Succ(vyv23800)), Succ(vyv23800)) 248.95/165.38 new_primPlusNat0(Succ(vyv4000), Succ(vyv5000)) -> Succ(Succ(new_primPlusNat0(vyv4000, vyv5000))) 248.95/165.38 new_primPlusNat0(Zero, Succ(vyv5000)) -> Succ(vyv5000) 248.95/165.38 new_primPlusNat0(Zero, Zero) -> Zero 248.95/165.38 new_primPlusNat0(Succ(vyv4000), Zero) -> Succ(vyv4000) 248.95/165.38 new_sr7(vyv183) -> error([]) 248.95/165.38 new_esEs1(Integer(vyv2690)) -> new_primEqInt(vyv2690) 248.95/165.38 new_sr6(Neg(vyv1830)) -> Pos(new_primMulNat1(vyv1830)) 248.95/165.38 new_sr6(Pos(vyv1830)) -> Pos(new_primMulNat1(vyv1830)) 248.95/165.38 new_primMulNat1(Succ(vyv18300)) -> new_primPlusNat0(new_primMulNat2(vyv18300), Succ(vyv18300)) 248.95/165.38 new_primMulNat1(Zero) -> Zero 248.95/165.38 new_primMulNat2(Succ(vyv183000)) -> new_primPlusNat0(new_primMulNat3(vyv183000), Succ(Succ(vyv183000))) 248.95/165.38 new_primMulNat2(Zero) -> Zero 248.95/165.38 new_primMulNat3(Succ(vyv1830000)) -> new_primPlusNat0(new_primMulNat4(vyv1830000), Succ(Succ(Succ(vyv1830000)))) 248.95/165.38 new_primMulNat3(Zero) -> Zero 248.95/165.38 new_primMulNat4(Succ(vyv18300000)) -> new_primPlusNat0(new_primMulNat0(vyv18300000, Succ(Succ(Succ(Succ(vyv18300000))))), Succ(Succ(Succ(Succ(vyv18300000))))) 248.95/165.38 new_primMulNat4(Zero) -> Zero 248.95/165.38 new_sr9(vyv183) -> error([]) 248.95/165.38 new_sr10(vyv183) -> error([]) 248.95/165.38 new_sr4(vyv239, vyv238, app(ty_Ratio, bf)) -> new_sr12(vyv239, vyv238, bf) 248.95/165.38 new_sr4(vyv239, vyv238, ty_Integer) -> new_sr8(vyv239, vyv238) 248.95/165.38 new_sr4(vyv239, vyv238, ty_Int) -> new_sr14(vyv239, vyv238) 248.95/165.38 new_sr4(vyv239, vyv238, ty_Double) -> new_sr11(vyv239, vyv238) 248.95/165.38 new_sr4(vyv239, vyv238, ty_Float) -> new_sr13(vyv239, vyv238) 248.95/165.38 new_sr13(vyv239, vyv238) -> error([]) 248.95/165.38 new_sr11(vyv239, vyv238) -> error([]) 248.95/165.38 new_sr12(:%(vyv2390, vyv2391), :%(vyv2380, vyv2381), bf) -> new_reduce2Reduce1(vyv2390, vyv2380, vyv2391, vyv2381, new_esEs2(vyv2391, vyv2381, bf), bf) 248.95/165.38 new_esEs2(vyv2391, vyv2381, ty_Int) -> new_esEs(new_sr14(vyv2391, vyv2381)) 248.95/165.38 new_esEs2(vyv2391, vyv2381, ty_Integer) -> new_esEs1(new_sr8(vyv2391, vyv2381)) 248.95/165.38 anew_new_pr2F0G10(Succ(Succ(vyv25100))) -> new_new_pr2F0G10(vyv25100) 248.95/165.38 new_new_pr2F0G10(Succ(Succ(vyv25100))) -> new_new_pr2F0G10(vyv25100) 248.95/165.38 new_new_pr2F0G10(Succ(Zero)) -> cons_new_pr2F0G10(Succ(Zero)) 248.95/165.38 new_new_pr2F0G10(Zero) -> cons_new_pr2F0G10(Zero) 248.95/165.38 248.95/165.38 The set Q consists of the following terms: 248.95/165.38 248.95/165.38 new_rem(Pos(x0), Pos(Succ(x1))) 248.95/165.38 new_quot1(x0, x1, x2, x3, ty_Integer) 248.95/165.38 new_primModNatS1(Succ(Zero), Succ(x0)) 248.95/165.38 new_primMulNat4(Zero) 248.95/165.38 new_gcd1(False, x0, x1) 248.95/165.38 new_primEqInt(Pos(Zero)) 248.95/165.38 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 248.95/165.38 new_rem(Pos(x0), Neg(Succ(x1))) 248.95/165.38 new_rem(Neg(x0), Pos(Succ(x1))) 248.95/165.38 new_sr10(x0) 248.95/165.38 new_quot1(x0, x1, x2, x3, ty_Int) 248.95/165.38 new_quot2(x0, x1, x2, x3, ty_Integer) 248.95/165.38 new_primModNatS01(x0, x1, Succ(x2), Zero) 248.95/165.38 new_sr3(x0, ty_Integer) 248.95/165.38 new_primMulNat3(Zero) 248.95/165.38 new_primDivNatS02(x0, x1, Succ(x2), Zero) 248.95/165.38 new_quot2(x0, x1, x2, x3, ty_Int) 248.95/165.38 new_gcd2(False, x0, x1) 248.95/165.38 new_primDivNatS1(Succ(Zero), Zero) 248.95/165.38 new_esEs0(x0, ty_Int) 248.95/165.38 new_sr14(Pos(x0), Pos(x1)) 248.95/165.38 new_sr3(x0, ty_Int) 248.95/165.38 new_primMulNat0(Zero, Zero) 248.95/165.38 new_sr4(x0, x1, ty_Double) 248.95/165.38 new_primPlusNat0(Succ(x0), Zero) 248.95/165.38 new_primMulNat2(Zero) 248.95/165.38 new_sr11(x0, x1) 248.95/165.38 new_primModNatS01(x0, x1, Zero, Zero) 248.95/165.38 new_esEs2(x0, x1, ty_Int) 248.95/165.38 new_gcd1(True, x0, x1) 248.95/165.38 new_sr13(x0, x1) 248.95/165.38 new_sr14(Pos(x0), Neg(x1)) 248.95/165.38 new_sr14(Neg(x0), Pos(x1)) 248.95/165.38 new_primDivNatS1(Succ(Succ(x0)), Succ(x1)) 248.95/165.38 new_primModNatS1(Zero, x0) 248.95/165.38 new_esEs(Pos(Succ(x0))) 248.95/165.38 new_primMulNat3(Succ(x0)) 248.95/165.38 new_primQuotInt(x0, Neg(Succ(x1))) 248.95/165.38 new_reduce2Reduce1(x0, x1, x2, x3, False, x4) 248.95/165.38 new_primDivNatS1(Zero, x0) 248.95/165.38 new_primDivNatS02(x0, x1, Succ(x2), Succ(x3)) 248.95/165.38 new_primModNatS02(x0, x1) 248.95/165.38 new_primDivNatS1(Succ(Zero), Succ(x0)) 248.95/165.38 new_sr6(Neg(x0)) 248.95/165.38 new_gcd0Gcd'10(True, x0, x1) 248.95/165.38 new_primMulNat0(Succ(x0), Succ(x1)) 248.95/165.38 new_abs(Neg(Zero)) 248.95/165.38 new_rem(Pos(x0), Neg(Zero)) 248.95/165.38 new_rem(Neg(x0), Pos(Zero)) 248.95/165.38 new_primMinusNatS2(Zero, Succ(x0)) 248.95/165.38 new_esEs(Neg(Succ(x0))) 248.95/165.38 new_error 248.95/165.38 new_primModNatS1(Succ(Zero), Zero) 248.95/165.38 new_primMulNat0(Zero, Succ(x0)) 248.95/165.38 new_sr3(x0, ty_Float) 248.95/165.38 new_quot(x0, x1, x2) 248.95/165.38 new_gcd2(True, x0, x1) 248.95/165.38 new_gcd0Gcd'11(True, x0, x1) 248.95/165.38 new_primEqInt(Neg(Zero)) 248.95/165.38 new_primMulNat0(Succ(x0), Zero) 248.95/165.38 new_quot0(Neg(x0), x1, x2) 248.95/165.38 new_primMinusNatS2(Succ(x0), Succ(x1)) 248.95/165.38 new_sr4(x0, x1, app(ty_Ratio, x2)) 248.95/165.38 new_sr8(x0, x1) 248.95/165.38 new_primDivNatS01(x0, x1) 248.95/165.38 new_primDivNatS02(x0, x1, Zero, Succ(x2)) 248.95/165.38 new_primPlusNat0(Succ(x0), Succ(x1)) 248.95/165.38 new_primPlusNat0(Zero, Zero) 248.95/165.38 new_sr12(:%(x0, x1), :%(x2, x3), x4) 248.95/165.38 new_abs(Neg(Succ(x0))) 248.95/165.38 new_sr3(x0, app(ty_Ratio, x1)) 248.95/165.38 new_sr7(x0) 248.95/165.38 new_gcd0(x0, x1) 248.95/165.38 new_primQuotInt0(x0, Pos(Succ(x1))) 248.95/165.38 new_sr4(x0, x1, ty_Integer) 248.95/165.38 new_sr5(:%(x0, x1), x2) 248.95/165.38 new_primMinusNatS2(Zero, Zero) 248.95/165.38 new_primMulNat1(Succ(x0)) 248.95/165.38 new_abs(Pos(Succ(x0))) 248.95/165.38 new_sr4(x0, x1, ty_Int) 248.95/165.38 new_esEs(Pos(Zero)) 248.95/165.38 new_primQuotInt0(x0, Pos(Zero)) 248.95/165.38 new_primEqInt(Neg(Succ(x0))) 248.95/165.38 new_primQuotInt(x0, Neg(Zero)) 248.95/165.38 new_primQuotInt0(x0, Neg(Zero)) 248.95/165.38 new_primQuotInt0(x0, Neg(Succ(x1))) 248.95/165.38 new_gcd(x0, x1) 248.95/165.38 new_quot0(Pos(x0), x1, x2) 248.95/165.38 new_primMinusNatS0(x0) 248.95/165.38 new_primPlusNat0(Zero, Succ(x0)) 248.95/165.38 new_primQuotInt(x0, Pos(Succ(x1))) 248.95/165.38 new_primDivNatS1(Succ(Succ(x0)), Zero) 248.95/165.38 new_rem(Pos(x0), Pos(Zero)) 248.95/165.38 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 248.95/165.38 new_primDivNatS02(x0, x1, Zero, Zero) 248.95/165.38 new_abs(Pos(Zero)) 248.95/165.38 new_gcd0Gcd'10(False, x0, x1) 248.95/165.38 new_primMinusNatS1 248.95/165.38 new_esEs1(Integer(x0)) 248.95/165.38 new_primModNatS01(x0, x1, Zero, Succ(x2)) 248.95/165.38 new_primMulNat2(Succ(x0)) 248.95/165.38 new_sr14(Neg(x0), Neg(x1)) 248.95/165.38 new_primMinusNatS2(Succ(x0), Zero) 248.95/165.38 new_sr4(x0, x1, ty_Float) 248.95/165.38 new_sr6(Pos(x0)) 248.95/165.38 new_esEs2(x0, x1, ty_Integer) 248.95/165.38 new_primMulNat4(Succ(x0)) 248.95/165.38 new_rem(Neg(x0), Neg(Succ(x1))) 248.95/165.38 new_primEqInt(Pos(Succ(x0))) 248.95/165.38 new_primQuotInt(x0, Pos(Zero)) 248.95/165.38 new_gcd0Gcd'11(False, x0, x1) 248.95/165.38 new_sr9(x0) 248.95/165.38 new_primModNatS1(Succ(Succ(x0)), Zero) 248.95/165.38 new_esEs0(x0, ty_Integer) 248.95/165.38 new_gcd0Gcd'00(x0, x1) 248.95/165.38 new_reduce2Reduce1(x0, x1, x2, x3, True, x4) 248.95/165.38 new_sr3(x0, ty_Double) 248.95/165.38 new_esEs(Neg(Zero)) 248.95/165.38 new_primMulNat1(Zero) 248.95/165.38 new_rem(Neg(x0), Neg(Zero)) 248.95/165.38 new_new_pr2F0G10(Succ(Succ(x0))) 248.95/165.38 anew_new_pr2F0G10(Succ(Succ(x0))) 248.95/165.38 new_new_pr2F0G10(Succ(Zero)) 248.95/165.38 new_new_pr2F0G10(Zero) 248.95/165.38 248.95/165.38 We have to consider all minimal (P,Q,R)-chains. 248.95/165.38 ---------------------------------------- 248.95/165.38 248.95/165.38 (843) TransformationProof (EQUIVALENT) 248.95/165.38 By rewriting [LPAR04] the rule new_pr2F0G10(y0, y1, Succ(Zero), Zero, y3) -> new_pr2F0G(y0, new_sr3(y1, y3), Neg(Succ(new_primDivNatS1(Zero, Succ(Zero)))), y3) at position [2,0,0] we obtained the following new rules [LPAR04]: 248.95/165.38 248.95/165.38 (new_pr2F0G10(y0, y1, Succ(Zero), Zero, y3) -> new_pr2F0G(y0, new_sr3(y1, y3), Neg(Succ(Zero)), y3),new_pr2F0G10(y0, y1, Succ(Zero), Zero, y3) -> new_pr2F0G(y0, new_sr3(y1, y3), Neg(Succ(Zero)), y3)) 248.95/165.38 248.95/165.38 248.95/165.38 ---------------------------------------- 248.95/165.38 248.95/165.38 (844) 248.95/165.38 Obligation: 248.95/165.38 Q DP problem: 248.95/165.38 The TRS P consists of the following rules: 248.95/165.38 248.95/165.38 new_pr2F0(vyv183, Neg(Succ(Succ(vyv222000))), vyv187, h) -> new_pr2F0G10(vyv187, vyv183, Succ(vyv222000), vyv222000, h) 248.95/165.38 new_pr2F0G10(vyv248, vyv249, vyv250, Succ(Zero), bb) -> new_pr2F0G11(vyv248, vyv249, vyv250, bb) 248.95/165.38 new_pr2F0G11(vyv238, vyv239, vyv240, bc) -> new_pr2F1(vyv239, vyv240, Pos(Succ(Zero)), vyv238, bc) 248.95/165.38 new_pr2F1(z1, z2, Pos(Succ(Zero)), z0, z3) -> new_pr2F30(False, z1, z2, Pos(Succ(Zero)), z0, z3) 248.95/165.38 new_pr2F30(False, z0, z1, Pos(Succ(Zero)), z2, z3) -> new_pr2F0(z0, Neg(Succ(Succ(new_primPlusNat0(z1, Zero)))), new_sr4(z0, z2, z3), z3) 248.95/165.38 H(vyv248, vyv249, vyv250, bb, cons_new_pr2F0G10(Succ(Zero))) -> new_pr2F0G10(vyv248, vyv249, vyv250, Succ(Zero), bb) 248.95/165.38 H(vyv248, vyv249, vyv250, bb, cons_new_pr2F0G10(Zero)) -> new_pr2F0G10(vyv248, vyv249, vyv250, Zero, bb) 248.95/165.38 new_pr2F0G(vyv187, vyv183, Neg(Succ(Zero)), h) -> new_pr2F0G11(vyv187, vyv183, Zero, h) 248.95/165.38 new_pr2F0G(vyv187, vyv183, Neg(Succ(Succ(vyv222000))), h) -> new_pr2F0G10(vyv187, vyv183, Succ(vyv222000), vyv222000, h) 248.95/165.38 new_pr2F0G(vyv187, vyv183, Neg(Succ(Succ(vyv222000))), h) -> H(vyv187, vyv183, Succ(vyv222000), h, anew_new_pr2F0G10(vyv222000)) 248.95/165.38 new_pr2F0(y0, Neg(Succ(Succ(Succ(Succ(x0))))), y2, y3) -> H(y2, y0, Succ(Succ(Succ(x0))), y3, new_new_pr2F0G10(x0)) 248.95/165.38 new_pr2F0G10(y0, y1, Succ(Succ(x2)), Zero, y3) -> new_pr2F0G(y0, new_sr3(y1, y3), Neg(Succ(new_primDivNatS1(Succ(x2), Succ(Zero)))), y3) 248.95/165.38 new_pr2F0G10(y0, y1, Succ(Zero), Zero, y3) -> new_pr2F0G(y0, new_sr3(y1, y3), Neg(Succ(Zero)), y3) 248.95/165.38 248.95/165.38 The TRS R consists of the following rules: 248.95/165.38 248.95/165.38 new_sr3(vyv249, ty_Float) -> new_sr10(vyv249) 248.95/165.38 new_sr3(vyv249, ty_Double) -> new_sr9(vyv249) 248.95/165.38 new_sr3(vyv249, ty_Int) -> new_sr6(vyv249) 248.95/165.38 new_sr3(vyv249, ty_Integer) -> new_sr7(vyv249) 248.95/165.38 new_sr3(vyv249, app(ty_Ratio, bg)) -> new_sr5(vyv249, bg) 248.95/165.38 new_primDivNatS1(Succ(Zero), Succ(vyv284000)) -> Zero 248.95/165.38 new_primDivNatS1(Succ(Succ(vyv270000)), Succ(vyv284000)) -> new_primDivNatS02(vyv270000, vyv284000, vyv270000, vyv284000) 248.95/165.38 new_primDivNatS02(vyv310, vyv311, Zero, Zero) -> new_primDivNatS01(vyv310, vyv311) 248.95/165.38 new_primDivNatS02(vyv310, vyv311, Succ(vyv3120), Zero) -> new_primDivNatS01(vyv310, vyv311) 248.95/165.38 new_primDivNatS02(vyv310, vyv311, Zero, Succ(vyv3130)) -> Zero 248.95/165.38 new_primDivNatS02(vyv310, vyv311, Succ(vyv3120), Succ(vyv3130)) -> new_primDivNatS02(vyv310, vyv311, vyv3120, vyv3130) 248.95/165.38 new_primDivNatS01(vyv310, vyv311) -> Succ(new_primDivNatS1(new_primMinusNatS2(vyv310, vyv311), Succ(vyv311))) 248.95/165.38 new_primMinusNatS2(Zero, Succ(vyv3110)) -> Zero 248.95/165.38 new_primMinusNatS2(Succ(vyv3100), Zero) -> Succ(vyv3100) 248.95/165.38 new_primMinusNatS2(Zero, Zero) -> Zero 248.95/165.38 new_primMinusNatS2(Succ(vyv3100), Succ(vyv3110)) -> new_primMinusNatS2(vyv3100, vyv3110) 248.95/165.38 new_primDivNatS1(Zero, vyv28400) -> Zero 248.95/165.38 new_sr5(:%(vyv1830, vyv1831), bd) -> new_reduce2Reduce1(vyv1830, vyv1830, vyv1831, vyv1831, new_esEs0(vyv1831, bd), bd) 248.95/165.38 new_esEs0(vyv1831, ty_Int) -> new_esEs(new_sr6(vyv1831)) 248.95/165.38 new_esEs0(vyv1831, ty_Integer) -> new_esEs1(new_sr7(vyv1831)) 248.95/165.38 new_reduce2Reduce1(vyv264, vyv265, vyv266, vyv267, False, bh) -> :%(new_quot1(vyv264, vyv265, vyv266, vyv267, bh), new_quot2(vyv266, vyv267, vyv264, vyv265, bh)) 248.95/165.38 new_reduce2Reduce1(vyv264, vyv265, vyv266, vyv267, True, bh) -> error([]) 248.95/165.38 new_quot1(vyv264, vyv265, vyv266, vyv267, ty_Int) -> new_quot0(new_sr14(vyv264, vyv265), new_sr14(vyv264, vyv265), new_sr14(vyv266, vyv267)) 248.95/165.38 new_quot1(vyv264, vyv265, vyv266, vyv267, ty_Integer) -> new_quot(new_sr8(vyv264, vyv265), new_sr8(vyv264, vyv265), new_sr8(vyv266, vyv267)) 248.95/165.38 new_quot2(vyv266, vyv267, vyv264, vyv265, ty_Int) -> new_quot0(new_sr14(vyv266, vyv267), new_sr14(vyv264, vyv265), new_sr14(vyv266, vyv267)) 248.95/165.38 new_quot2(vyv266, vyv267, vyv264, vyv265, ty_Integer) -> new_quot(new_sr8(vyv266, vyv267), new_sr8(vyv264, vyv265), new_sr8(vyv266, vyv267)) 248.95/165.38 new_sr8(vyv239, vyv238) -> error([]) 248.95/165.38 new_quot(vyv273, vyv275, vyv274) -> error([]) 248.95/165.38 new_sr14(Pos(vyv2390), Neg(vyv2380)) -> Neg(new_primMulNat0(vyv2390, vyv2380)) 248.95/165.38 new_sr14(Neg(vyv2390), Pos(vyv2380)) -> Neg(new_primMulNat0(vyv2390, vyv2380)) 248.95/165.38 new_sr14(Neg(vyv2390), Neg(vyv2380)) -> Pos(new_primMulNat0(vyv2390, vyv2380)) 248.95/165.38 new_sr14(Pos(vyv2390), Pos(vyv2380)) -> Pos(new_primMulNat0(vyv2390, vyv2380)) 248.95/165.38 new_quot0(Neg(vyv2700), vyv272, vyv271) -> new_primQuotInt0(vyv2700, new_gcd(vyv272, vyv271)) 248.95/165.38 new_quot0(Pos(vyv2700), vyv272, vyv271) -> new_primQuotInt(vyv2700, new_gcd(vyv272, vyv271)) 248.95/165.38 new_gcd(vyv272, vyv271) -> new_gcd2(new_esEs(vyv272), vyv272, vyv271) 248.95/165.38 new_primQuotInt(vyv2700, Pos(Succ(vyv28400))) -> Pos(new_primDivNatS1(vyv2700, vyv28400)) 248.95/165.38 new_primQuotInt(vyv2700, Neg(Zero)) -> new_error 248.95/165.38 new_primQuotInt(vyv2700, Pos(Zero)) -> new_error 248.95/165.38 new_primQuotInt(vyv2700, Neg(Succ(vyv28400))) -> Neg(new_primDivNatS1(vyv2700, vyv28400)) 248.95/165.38 new_primDivNatS1(Succ(Succ(vyv270000)), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS0(vyv270000), Zero)) 248.95/165.38 new_primDivNatS1(Succ(Zero), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS1, Zero)) 248.95/165.38 new_primMinusNatS1 -> Zero 248.95/165.38 new_primMinusNatS0(vyv270000) -> Succ(vyv270000) 248.95/165.38 new_error -> error([]) 248.95/165.38 new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) 248.95/165.38 new_esEs(Pos(Succ(vyv24100))) -> new_primEqInt(Pos(Succ(vyv24100))) 248.95/165.38 new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) 248.95/165.38 new_esEs(Neg(Succ(vyv24100))) -> new_primEqInt(Neg(Succ(vyv24100))) 248.95/165.38 new_gcd2(True, vyv272, vyv271) -> new_gcd1(new_esEs(vyv271), vyv272, vyv271) 248.95/165.38 new_gcd2(False, vyv272, vyv271) -> new_gcd0(vyv272, vyv271) 248.95/165.38 new_gcd0(vyv272, vyv271) -> new_gcd0Gcd'10(new_esEs(new_abs(vyv271)), vyv272, vyv271) 248.95/165.38 new_abs(Neg(Zero)) -> Neg(Zero) 248.95/165.38 new_abs(Neg(Succ(vyv27100))) -> Pos(Succ(vyv27100)) 248.95/165.38 new_abs(Pos(Succ(vyv27100))) -> Pos(Succ(vyv27100)) 248.95/165.38 new_abs(Pos(Zero)) -> Pos(Zero) 248.95/165.38 new_gcd0Gcd'10(True, vyv272, vyv271) -> new_abs(vyv272) 248.95/165.38 new_gcd0Gcd'10(False, vyv272, vyv271) -> new_gcd0Gcd'00(new_abs(vyv272), new_abs(vyv271)) 248.95/165.38 new_gcd0Gcd'11(False, vyv291, vyv292) -> new_gcd0Gcd'00(vyv291, new_rem(vyv292, vyv291)) 248.95/165.38 new_gcd0Gcd'00(vyv292, vyv291) -> new_gcd0Gcd'11(new_esEs(new_rem(vyv292, vyv291)), vyv291, vyv292) 248.95/165.38 new_rem(Pos(vyv2920), Neg(Zero)) -> new_error 248.95/165.38 new_rem(Neg(vyv2920), Pos(Zero)) -> new_error 248.95/165.38 new_rem(Pos(vyv2920), Neg(Succ(vyv29100))) -> Pos(new_primModNatS1(vyv2920, vyv29100)) 248.95/165.38 new_rem(Neg(vyv2920), Pos(Succ(vyv29100))) -> Neg(new_primModNatS1(vyv2920, vyv29100)) 248.95/165.38 new_rem(Pos(vyv2920), Pos(Succ(vyv29100))) -> Pos(new_primModNatS1(vyv2920, vyv29100)) 248.95/165.38 new_rem(Neg(vyv2920), Neg(Zero)) -> new_error 248.95/165.38 new_rem(Neg(vyv2920), Neg(Succ(vyv29100))) -> Neg(new_primModNatS1(vyv2920, vyv29100)) 248.95/165.38 new_rem(Pos(vyv2920), Pos(Zero)) -> new_error 248.95/165.38 new_gcd0Gcd'11(True, vyv291, vyv292) -> vyv291 248.95/165.38 new_primModNatS1(Succ(Zero), Succ(vyv291000)) -> Succ(Zero) 248.95/165.38 new_primModNatS1(Zero, vyv29100) -> Zero 248.95/165.38 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 248.95/165.38 new_primModNatS1(Succ(Succ(vyv292000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv292000), Zero) 248.95/165.38 new_primModNatS1(Succ(Succ(vyv292000)), Succ(vyv291000)) -> new_primModNatS01(vyv292000, vyv291000, vyv292000, vyv291000) 248.95/165.38 new_primModNatS01(vyv330, vyv331, Zero, Zero) -> new_primModNatS02(vyv330, vyv331) 248.95/165.38 new_primModNatS02(vyv330, vyv331) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv330), Succ(vyv331)), Succ(vyv331)) 248.95/165.38 new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Zero) -> new_primModNatS02(vyv330, vyv331) 248.95/165.38 new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Succ(vyv3330)) -> new_primModNatS01(vyv330, vyv331, vyv3320, vyv3330) 248.95/165.38 new_primModNatS01(vyv330, vyv331, Zero, Succ(vyv3330)) -> Succ(Succ(vyv330)) 248.95/165.38 new_gcd1(True, vyv272, vyv271) -> new_error 248.95/165.38 new_gcd1(False, vyv272, vyv271) -> new_gcd0(vyv272, vyv271) 248.95/165.38 new_primEqInt(Neg(Succ(vyv242000))) -> False 248.95/165.38 new_primEqInt(Pos(Zero)) -> True 248.95/165.38 new_primEqInt(Pos(Succ(vyv242000))) -> False 248.95/165.38 new_primEqInt(Neg(Zero)) -> True 248.95/165.38 new_primQuotInt0(vyv2700, Pos(Succ(vyv28700))) -> Neg(new_primDivNatS1(vyv2700, vyv28700)) 248.95/165.38 new_primQuotInt0(vyv2700, Neg(Zero)) -> new_error 248.95/165.38 new_primQuotInt0(vyv2700, Neg(Succ(vyv28700))) -> Pos(new_primDivNatS1(vyv2700, vyv28700)) 248.95/165.38 new_primQuotInt0(vyv2700, Pos(Zero)) -> new_error 248.95/165.38 new_primMulNat0(Succ(vyv23900), Zero) -> Zero 248.95/165.38 new_primMulNat0(Zero, Succ(vyv23800)) -> Zero 248.95/165.38 new_primMulNat0(Zero, Zero) -> Zero 248.95/165.38 new_primMulNat0(Succ(vyv23900), Succ(vyv23800)) -> new_primPlusNat0(new_primMulNat0(vyv23900, Succ(vyv23800)), Succ(vyv23800)) 248.95/165.38 new_primPlusNat0(Succ(vyv4000), Succ(vyv5000)) -> Succ(Succ(new_primPlusNat0(vyv4000, vyv5000))) 248.95/165.38 new_primPlusNat0(Zero, Succ(vyv5000)) -> Succ(vyv5000) 248.95/165.38 new_primPlusNat0(Zero, Zero) -> Zero 248.95/165.38 new_primPlusNat0(Succ(vyv4000), Zero) -> Succ(vyv4000) 248.95/165.38 new_sr7(vyv183) -> error([]) 248.95/165.38 new_esEs1(Integer(vyv2690)) -> new_primEqInt(vyv2690) 248.95/165.38 new_sr6(Neg(vyv1830)) -> Pos(new_primMulNat1(vyv1830)) 248.95/165.38 new_sr6(Pos(vyv1830)) -> Pos(new_primMulNat1(vyv1830)) 248.95/165.38 new_primMulNat1(Succ(vyv18300)) -> new_primPlusNat0(new_primMulNat2(vyv18300), Succ(vyv18300)) 248.95/165.38 new_primMulNat1(Zero) -> Zero 248.95/165.38 new_primMulNat2(Succ(vyv183000)) -> new_primPlusNat0(new_primMulNat3(vyv183000), Succ(Succ(vyv183000))) 248.95/165.38 new_primMulNat2(Zero) -> Zero 248.95/165.38 new_primMulNat3(Succ(vyv1830000)) -> new_primPlusNat0(new_primMulNat4(vyv1830000), Succ(Succ(Succ(vyv1830000)))) 248.95/165.38 new_primMulNat3(Zero) -> Zero 248.95/165.38 new_primMulNat4(Succ(vyv18300000)) -> new_primPlusNat0(new_primMulNat0(vyv18300000, Succ(Succ(Succ(Succ(vyv18300000))))), Succ(Succ(Succ(Succ(vyv18300000))))) 248.95/165.38 new_primMulNat4(Zero) -> Zero 248.95/165.38 new_sr9(vyv183) -> error([]) 248.95/165.38 new_sr10(vyv183) -> error([]) 248.95/165.38 new_sr4(vyv239, vyv238, app(ty_Ratio, bf)) -> new_sr12(vyv239, vyv238, bf) 248.95/165.38 new_sr4(vyv239, vyv238, ty_Integer) -> new_sr8(vyv239, vyv238) 248.95/165.38 new_sr4(vyv239, vyv238, ty_Int) -> new_sr14(vyv239, vyv238) 248.95/165.38 new_sr4(vyv239, vyv238, ty_Double) -> new_sr11(vyv239, vyv238) 248.95/165.38 new_sr4(vyv239, vyv238, ty_Float) -> new_sr13(vyv239, vyv238) 248.95/165.38 new_sr13(vyv239, vyv238) -> error([]) 248.95/165.38 new_sr11(vyv239, vyv238) -> error([]) 248.95/165.38 new_sr12(:%(vyv2390, vyv2391), :%(vyv2380, vyv2381), bf) -> new_reduce2Reduce1(vyv2390, vyv2380, vyv2391, vyv2381, new_esEs2(vyv2391, vyv2381, bf), bf) 248.95/165.38 new_esEs2(vyv2391, vyv2381, ty_Int) -> new_esEs(new_sr14(vyv2391, vyv2381)) 248.95/165.38 new_esEs2(vyv2391, vyv2381, ty_Integer) -> new_esEs1(new_sr8(vyv2391, vyv2381)) 248.95/165.38 anew_new_pr2F0G10(Succ(Succ(vyv25100))) -> new_new_pr2F0G10(vyv25100) 248.95/165.38 new_new_pr2F0G10(Succ(Succ(vyv25100))) -> new_new_pr2F0G10(vyv25100) 248.95/165.38 new_new_pr2F0G10(Succ(Zero)) -> cons_new_pr2F0G10(Succ(Zero)) 248.95/165.38 new_new_pr2F0G10(Zero) -> cons_new_pr2F0G10(Zero) 248.95/165.38 248.95/165.38 The set Q consists of the following terms: 248.95/165.38 248.95/165.38 new_rem(Pos(x0), Pos(Succ(x1))) 248.95/165.38 new_quot1(x0, x1, x2, x3, ty_Integer) 248.95/165.38 new_primModNatS1(Succ(Zero), Succ(x0)) 248.95/165.38 new_primMulNat4(Zero) 248.95/165.38 new_gcd1(False, x0, x1) 248.95/165.38 new_primEqInt(Pos(Zero)) 248.95/165.38 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 248.95/165.38 new_rem(Pos(x0), Neg(Succ(x1))) 248.95/165.38 new_rem(Neg(x0), Pos(Succ(x1))) 248.95/165.38 new_sr10(x0) 248.95/165.38 new_quot1(x0, x1, x2, x3, ty_Int) 248.95/165.38 new_quot2(x0, x1, x2, x3, ty_Integer) 248.95/165.38 new_primModNatS01(x0, x1, Succ(x2), Zero) 248.95/165.38 new_sr3(x0, ty_Integer) 248.95/165.38 new_primMulNat3(Zero) 248.95/165.38 new_primDivNatS02(x0, x1, Succ(x2), Zero) 248.95/165.38 new_quot2(x0, x1, x2, x3, ty_Int) 248.95/165.38 new_gcd2(False, x0, x1) 248.95/165.38 new_primDivNatS1(Succ(Zero), Zero) 248.95/165.38 new_esEs0(x0, ty_Int) 248.95/165.38 new_sr14(Pos(x0), Pos(x1)) 248.95/165.38 new_sr3(x0, ty_Int) 248.95/165.38 new_primMulNat0(Zero, Zero) 248.95/165.38 new_sr4(x0, x1, ty_Double) 248.95/165.38 new_primPlusNat0(Succ(x0), Zero) 248.95/165.38 new_primMulNat2(Zero) 248.95/165.38 new_sr11(x0, x1) 248.95/165.38 new_primModNatS01(x0, x1, Zero, Zero) 248.95/165.38 new_esEs2(x0, x1, ty_Int) 248.95/165.38 new_gcd1(True, x0, x1) 248.95/165.38 new_sr13(x0, x1) 248.95/165.38 new_sr14(Pos(x0), Neg(x1)) 248.95/165.38 new_sr14(Neg(x0), Pos(x1)) 248.95/165.38 new_primDivNatS1(Succ(Succ(x0)), Succ(x1)) 248.95/165.38 new_primModNatS1(Zero, x0) 248.95/165.38 new_esEs(Pos(Succ(x0))) 248.95/165.38 new_primMulNat3(Succ(x0)) 248.95/165.38 new_primQuotInt(x0, Neg(Succ(x1))) 248.95/165.38 new_reduce2Reduce1(x0, x1, x2, x3, False, x4) 248.95/165.38 new_primDivNatS1(Zero, x0) 248.95/165.38 new_primDivNatS02(x0, x1, Succ(x2), Succ(x3)) 248.95/165.38 new_primModNatS02(x0, x1) 248.95/165.38 new_primDivNatS1(Succ(Zero), Succ(x0)) 248.95/165.38 new_sr6(Neg(x0)) 248.95/165.38 new_gcd0Gcd'10(True, x0, x1) 248.95/165.38 new_primMulNat0(Succ(x0), Succ(x1)) 248.95/165.38 new_abs(Neg(Zero)) 248.95/165.38 new_rem(Pos(x0), Neg(Zero)) 248.95/165.38 new_rem(Neg(x0), Pos(Zero)) 248.95/165.38 new_primMinusNatS2(Zero, Succ(x0)) 248.95/165.38 new_esEs(Neg(Succ(x0))) 248.95/165.38 new_error 248.95/165.38 new_primModNatS1(Succ(Zero), Zero) 248.95/165.38 new_primMulNat0(Zero, Succ(x0)) 248.95/165.38 new_sr3(x0, ty_Float) 248.95/165.38 new_quot(x0, x1, x2) 248.95/165.38 new_gcd2(True, x0, x1) 248.95/165.38 new_gcd0Gcd'11(True, x0, x1) 248.95/165.38 new_primEqInt(Neg(Zero)) 248.95/165.38 new_primMulNat0(Succ(x0), Zero) 248.95/165.38 new_quot0(Neg(x0), x1, x2) 248.95/165.38 new_primMinusNatS2(Succ(x0), Succ(x1)) 248.95/165.38 new_sr4(x0, x1, app(ty_Ratio, x2)) 248.95/165.38 new_sr8(x0, x1) 248.95/165.38 new_primDivNatS01(x0, x1) 248.95/165.38 new_primDivNatS02(x0, x1, Zero, Succ(x2)) 248.95/165.38 new_primPlusNat0(Succ(x0), Succ(x1)) 248.95/165.38 new_primPlusNat0(Zero, Zero) 248.95/165.38 new_sr12(:%(x0, x1), :%(x2, x3), x4) 248.95/165.38 new_abs(Neg(Succ(x0))) 248.95/165.38 new_sr3(x0, app(ty_Ratio, x1)) 248.95/165.38 new_sr7(x0) 248.95/165.38 new_gcd0(x0, x1) 248.95/165.38 new_primQuotInt0(x0, Pos(Succ(x1))) 248.95/165.38 new_sr4(x0, x1, ty_Integer) 248.95/165.38 new_sr5(:%(x0, x1), x2) 248.95/165.38 new_primMinusNatS2(Zero, Zero) 248.95/165.38 new_primMulNat1(Succ(x0)) 248.95/165.38 new_abs(Pos(Succ(x0))) 248.95/165.38 new_sr4(x0, x1, ty_Int) 248.95/165.38 new_esEs(Pos(Zero)) 248.95/165.38 new_primQuotInt0(x0, Pos(Zero)) 248.95/165.38 new_primEqInt(Neg(Succ(x0))) 248.95/165.38 new_primQuotInt(x0, Neg(Zero)) 248.95/165.38 new_primQuotInt0(x0, Neg(Zero)) 248.95/165.38 new_primQuotInt0(x0, Neg(Succ(x1))) 248.95/165.38 new_gcd(x0, x1) 248.95/165.38 new_quot0(Pos(x0), x1, x2) 248.95/165.38 new_primMinusNatS0(x0) 248.95/165.38 new_primPlusNat0(Zero, Succ(x0)) 248.95/165.38 new_primQuotInt(x0, Pos(Succ(x1))) 248.95/165.38 new_primDivNatS1(Succ(Succ(x0)), Zero) 248.95/165.38 new_rem(Pos(x0), Pos(Zero)) 248.95/165.38 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 248.95/165.38 new_primDivNatS02(x0, x1, Zero, Zero) 248.95/165.38 new_abs(Pos(Zero)) 248.95/165.38 new_gcd0Gcd'10(False, x0, x1) 248.95/165.38 new_primMinusNatS1 248.95/165.38 new_esEs1(Integer(x0)) 248.95/165.38 new_primModNatS01(x0, x1, Zero, Succ(x2)) 248.95/165.38 new_primMulNat2(Succ(x0)) 248.95/165.38 new_sr14(Neg(x0), Neg(x1)) 248.95/165.38 new_primMinusNatS2(Succ(x0), Zero) 248.95/165.38 new_sr4(x0, x1, ty_Float) 248.95/165.38 new_sr6(Pos(x0)) 248.95/165.38 new_esEs2(x0, x1, ty_Integer) 248.95/165.38 new_primMulNat4(Succ(x0)) 248.95/165.38 new_rem(Neg(x0), Neg(Succ(x1))) 248.95/165.38 new_primEqInt(Pos(Succ(x0))) 248.95/165.38 new_primQuotInt(x0, Pos(Zero)) 248.95/165.38 new_gcd0Gcd'11(False, x0, x1) 248.95/165.38 new_sr9(x0) 248.95/165.38 new_primModNatS1(Succ(Succ(x0)), Zero) 248.95/165.38 new_esEs0(x0, ty_Integer) 248.95/165.38 new_gcd0Gcd'00(x0, x1) 248.95/165.38 new_reduce2Reduce1(x0, x1, x2, x3, True, x4) 248.95/165.38 new_sr3(x0, ty_Double) 248.95/165.38 new_esEs(Neg(Zero)) 248.95/165.38 new_primMulNat1(Zero) 248.95/165.38 new_rem(Neg(x0), Neg(Zero)) 248.95/165.38 new_new_pr2F0G10(Succ(Succ(x0))) 248.95/165.38 anew_new_pr2F0G10(Succ(Succ(x0))) 248.95/165.38 new_new_pr2F0G10(Succ(Zero)) 248.95/165.38 new_new_pr2F0G10(Zero) 248.95/165.38 248.95/165.38 We have to consider all minimal (P,Q,R)-chains. 248.95/165.38 ---------------------------------------- 248.95/165.38 248.95/165.38 (845) TransformationProof (EQUIVALENT) 248.95/165.38 By narrowing [LPAR04] the rule new_pr2F0G(vyv187, vyv183, Neg(Succ(Succ(vyv222000))), h) -> H(vyv187, vyv183, Succ(vyv222000), h, anew_new_pr2F0G10(vyv222000)) at position [4] we obtained the following new rules [LPAR04]: 248.95/165.38 248.95/165.38 (new_pr2F0G(y0, y1, Neg(Succ(Succ(Succ(Succ(x0))))), y3) -> H(y0, y1, Succ(Succ(Succ(x0))), y3, new_new_pr2F0G10(x0)),new_pr2F0G(y0, y1, Neg(Succ(Succ(Succ(Succ(x0))))), y3) -> H(y0, y1, Succ(Succ(Succ(x0))), y3, new_new_pr2F0G10(x0))) 248.95/165.38 248.95/165.38 248.95/165.38 ---------------------------------------- 248.95/165.38 248.95/165.38 (846) 248.95/165.38 Obligation: 248.95/165.38 Q DP problem: 248.95/165.38 The TRS P consists of the following rules: 248.95/165.38 248.95/165.38 new_pr2F0(vyv183, Neg(Succ(Succ(vyv222000))), vyv187, h) -> new_pr2F0G10(vyv187, vyv183, Succ(vyv222000), vyv222000, h) 248.95/165.38 new_pr2F0G10(vyv248, vyv249, vyv250, Succ(Zero), bb) -> new_pr2F0G11(vyv248, vyv249, vyv250, bb) 248.95/165.38 new_pr2F0G11(vyv238, vyv239, vyv240, bc) -> new_pr2F1(vyv239, vyv240, Pos(Succ(Zero)), vyv238, bc) 248.95/165.38 new_pr2F1(z1, z2, Pos(Succ(Zero)), z0, z3) -> new_pr2F30(False, z1, z2, Pos(Succ(Zero)), z0, z3) 248.95/165.38 new_pr2F30(False, z0, z1, Pos(Succ(Zero)), z2, z3) -> new_pr2F0(z0, Neg(Succ(Succ(new_primPlusNat0(z1, Zero)))), new_sr4(z0, z2, z3), z3) 248.95/165.38 H(vyv248, vyv249, vyv250, bb, cons_new_pr2F0G10(Succ(Zero))) -> new_pr2F0G10(vyv248, vyv249, vyv250, Succ(Zero), bb) 248.95/165.38 H(vyv248, vyv249, vyv250, bb, cons_new_pr2F0G10(Zero)) -> new_pr2F0G10(vyv248, vyv249, vyv250, Zero, bb) 248.95/165.38 new_pr2F0G(vyv187, vyv183, Neg(Succ(Zero)), h) -> new_pr2F0G11(vyv187, vyv183, Zero, h) 248.95/165.38 new_pr2F0G(vyv187, vyv183, Neg(Succ(Succ(vyv222000))), h) -> new_pr2F0G10(vyv187, vyv183, Succ(vyv222000), vyv222000, h) 248.95/165.38 new_pr2F0(y0, Neg(Succ(Succ(Succ(Succ(x0))))), y2, y3) -> H(y2, y0, Succ(Succ(Succ(x0))), y3, new_new_pr2F0G10(x0)) 248.95/165.38 new_pr2F0G10(y0, y1, Succ(Succ(x2)), Zero, y3) -> new_pr2F0G(y0, new_sr3(y1, y3), Neg(Succ(new_primDivNatS1(Succ(x2), Succ(Zero)))), y3) 248.95/165.38 new_pr2F0G10(y0, y1, Succ(Zero), Zero, y3) -> new_pr2F0G(y0, new_sr3(y1, y3), Neg(Succ(Zero)), y3) 248.95/165.38 new_pr2F0G(y0, y1, Neg(Succ(Succ(Succ(Succ(x0))))), y3) -> H(y0, y1, Succ(Succ(Succ(x0))), y3, new_new_pr2F0G10(x0)) 248.95/165.38 248.95/165.38 The TRS R consists of the following rules: 248.95/165.38 248.95/165.38 new_sr3(vyv249, ty_Float) -> new_sr10(vyv249) 248.95/165.38 new_sr3(vyv249, ty_Double) -> new_sr9(vyv249) 248.95/165.38 new_sr3(vyv249, ty_Int) -> new_sr6(vyv249) 248.95/165.38 new_sr3(vyv249, ty_Integer) -> new_sr7(vyv249) 248.95/165.38 new_sr3(vyv249, app(ty_Ratio, bg)) -> new_sr5(vyv249, bg) 248.95/165.38 new_primDivNatS1(Succ(Zero), Succ(vyv284000)) -> Zero 248.95/165.38 new_primDivNatS1(Succ(Succ(vyv270000)), Succ(vyv284000)) -> new_primDivNatS02(vyv270000, vyv284000, vyv270000, vyv284000) 248.95/165.38 new_primDivNatS02(vyv310, vyv311, Zero, Zero) -> new_primDivNatS01(vyv310, vyv311) 248.95/165.38 new_primDivNatS02(vyv310, vyv311, Succ(vyv3120), Zero) -> new_primDivNatS01(vyv310, vyv311) 248.95/165.38 new_primDivNatS02(vyv310, vyv311, Zero, Succ(vyv3130)) -> Zero 248.95/165.38 new_primDivNatS02(vyv310, vyv311, Succ(vyv3120), Succ(vyv3130)) -> new_primDivNatS02(vyv310, vyv311, vyv3120, vyv3130) 248.95/165.38 new_primDivNatS01(vyv310, vyv311) -> Succ(new_primDivNatS1(new_primMinusNatS2(vyv310, vyv311), Succ(vyv311))) 248.95/165.38 new_primMinusNatS2(Zero, Succ(vyv3110)) -> Zero 248.95/165.38 new_primMinusNatS2(Succ(vyv3100), Zero) -> Succ(vyv3100) 248.95/165.38 new_primMinusNatS2(Zero, Zero) -> Zero 248.95/165.38 new_primMinusNatS2(Succ(vyv3100), Succ(vyv3110)) -> new_primMinusNatS2(vyv3100, vyv3110) 248.95/165.38 new_primDivNatS1(Zero, vyv28400) -> Zero 248.95/165.38 new_sr5(:%(vyv1830, vyv1831), bd) -> new_reduce2Reduce1(vyv1830, vyv1830, vyv1831, vyv1831, new_esEs0(vyv1831, bd), bd) 248.95/165.38 new_esEs0(vyv1831, ty_Int) -> new_esEs(new_sr6(vyv1831)) 248.95/165.38 new_esEs0(vyv1831, ty_Integer) -> new_esEs1(new_sr7(vyv1831)) 248.95/165.38 new_reduce2Reduce1(vyv264, vyv265, vyv266, vyv267, False, bh) -> :%(new_quot1(vyv264, vyv265, vyv266, vyv267, bh), new_quot2(vyv266, vyv267, vyv264, vyv265, bh)) 248.95/165.38 new_reduce2Reduce1(vyv264, vyv265, vyv266, vyv267, True, bh) -> error([]) 248.95/165.38 new_quot1(vyv264, vyv265, vyv266, vyv267, ty_Int) -> new_quot0(new_sr14(vyv264, vyv265), new_sr14(vyv264, vyv265), new_sr14(vyv266, vyv267)) 248.95/165.38 new_quot1(vyv264, vyv265, vyv266, vyv267, ty_Integer) -> new_quot(new_sr8(vyv264, vyv265), new_sr8(vyv264, vyv265), new_sr8(vyv266, vyv267)) 248.95/165.38 new_quot2(vyv266, vyv267, vyv264, vyv265, ty_Int) -> new_quot0(new_sr14(vyv266, vyv267), new_sr14(vyv264, vyv265), new_sr14(vyv266, vyv267)) 248.95/165.38 new_quot2(vyv266, vyv267, vyv264, vyv265, ty_Integer) -> new_quot(new_sr8(vyv266, vyv267), new_sr8(vyv264, vyv265), new_sr8(vyv266, vyv267)) 248.95/165.38 new_sr8(vyv239, vyv238) -> error([]) 248.95/165.38 new_quot(vyv273, vyv275, vyv274) -> error([]) 248.95/165.38 new_sr14(Pos(vyv2390), Neg(vyv2380)) -> Neg(new_primMulNat0(vyv2390, vyv2380)) 248.95/165.38 new_sr14(Neg(vyv2390), Pos(vyv2380)) -> Neg(new_primMulNat0(vyv2390, vyv2380)) 248.95/165.38 new_sr14(Neg(vyv2390), Neg(vyv2380)) -> Pos(new_primMulNat0(vyv2390, vyv2380)) 248.95/165.38 new_sr14(Pos(vyv2390), Pos(vyv2380)) -> Pos(new_primMulNat0(vyv2390, vyv2380)) 248.95/165.38 new_quot0(Neg(vyv2700), vyv272, vyv271) -> new_primQuotInt0(vyv2700, new_gcd(vyv272, vyv271)) 248.95/165.38 new_quot0(Pos(vyv2700), vyv272, vyv271) -> new_primQuotInt(vyv2700, new_gcd(vyv272, vyv271)) 248.95/165.38 new_gcd(vyv272, vyv271) -> new_gcd2(new_esEs(vyv272), vyv272, vyv271) 248.95/165.38 new_primQuotInt(vyv2700, Pos(Succ(vyv28400))) -> Pos(new_primDivNatS1(vyv2700, vyv28400)) 248.95/165.38 new_primQuotInt(vyv2700, Neg(Zero)) -> new_error 248.95/165.38 new_primQuotInt(vyv2700, Pos(Zero)) -> new_error 248.95/165.38 new_primQuotInt(vyv2700, Neg(Succ(vyv28400))) -> Neg(new_primDivNatS1(vyv2700, vyv28400)) 248.95/165.38 new_primDivNatS1(Succ(Succ(vyv270000)), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS0(vyv270000), Zero)) 248.95/165.38 new_primDivNatS1(Succ(Zero), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS1, Zero)) 248.95/165.38 new_primMinusNatS1 -> Zero 248.95/165.38 new_primMinusNatS0(vyv270000) -> Succ(vyv270000) 248.95/165.38 new_error -> error([]) 248.95/165.38 new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) 248.95/165.38 new_esEs(Pos(Succ(vyv24100))) -> new_primEqInt(Pos(Succ(vyv24100))) 248.95/165.38 new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) 248.95/165.38 new_esEs(Neg(Succ(vyv24100))) -> new_primEqInt(Neg(Succ(vyv24100))) 248.95/165.38 new_gcd2(True, vyv272, vyv271) -> new_gcd1(new_esEs(vyv271), vyv272, vyv271) 248.95/165.38 new_gcd2(False, vyv272, vyv271) -> new_gcd0(vyv272, vyv271) 248.95/165.38 new_gcd0(vyv272, vyv271) -> new_gcd0Gcd'10(new_esEs(new_abs(vyv271)), vyv272, vyv271) 248.95/165.38 new_abs(Neg(Zero)) -> Neg(Zero) 248.95/165.38 new_abs(Neg(Succ(vyv27100))) -> Pos(Succ(vyv27100)) 248.95/165.38 new_abs(Pos(Succ(vyv27100))) -> Pos(Succ(vyv27100)) 248.95/165.38 new_abs(Pos(Zero)) -> Pos(Zero) 248.95/165.38 new_gcd0Gcd'10(True, vyv272, vyv271) -> new_abs(vyv272) 248.95/165.38 new_gcd0Gcd'10(False, vyv272, vyv271) -> new_gcd0Gcd'00(new_abs(vyv272), new_abs(vyv271)) 248.95/165.38 new_gcd0Gcd'11(False, vyv291, vyv292) -> new_gcd0Gcd'00(vyv291, new_rem(vyv292, vyv291)) 248.95/165.38 new_gcd0Gcd'00(vyv292, vyv291) -> new_gcd0Gcd'11(new_esEs(new_rem(vyv292, vyv291)), vyv291, vyv292) 248.95/165.38 new_rem(Pos(vyv2920), Neg(Zero)) -> new_error 248.95/165.38 new_rem(Neg(vyv2920), Pos(Zero)) -> new_error 248.95/165.38 new_rem(Pos(vyv2920), Neg(Succ(vyv29100))) -> Pos(new_primModNatS1(vyv2920, vyv29100)) 248.95/165.38 new_rem(Neg(vyv2920), Pos(Succ(vyv29100))) -> Neg(new_primModNatS1(vyv2920, vyv29100)) 248.95/165.38 new_rem(Pos(vyv2920), Pos(Succ(vyv29100))) -> Pos(new_primModNatS1(vyv2920, vyv29100)) 248.95/165.38 new_rem(Neg(vyv2920), Neg(Zero)) -> new_error 248.95/165.38 new_rem(Neg(vyv2920), Neg(Succ(vyv29100))) -> Neg(new_primModNatS1(vyv2920, vyv29100)) 248.95/165.38 new_rem(Pos(vyv2920), Pos(Zero)) -> new_error 248.95/165.38 new_gcd0Gcd'11(True, vyv291, vyv292) -> vyv291 248.95/165.38 new_primModNatS1(Succ(Zero), Succ(vyv291000)) -> Succ(Zero) 248.95/165.38 new_primModNatS1(Zero, vyv29100) -> Zero 248.95/165.38 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 248.95/165.38 new_primModNatS1(Succ(Succ(vyv292000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv292000), Zero) 248.95/165.38 new_primModNatS1(Succ(Succ(vyv292000)), Succ(vyv291000)) -> new_primModNatS01(vyv292000, vyv291000, vyv292000, vyv291000) 248.95/165.38 new_primModNatS01(vyv330, vyv331, Zero, Zero) -> new_primModNatS02(vyv330, vyv331) 248.95/165.38 new_primModNatS02(vyv330, vyv331) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv330), Succ(vyv331)), Succ(vyv331)) 248.95/165.38 new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Zero) -> new_primModNatS02(vyv330, vyv331) 248.95/165.38 new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Succ(vyv3330)) -> new_primModNatS01(vyv330, vyv331, vyv3320, vyv3330) 248.95/165.38 new_primModNatS01(vyv330, vyv331, Zero, Succ(vyv3330)) -> Succ(Succ(vyv330)) 248.95/165.38 new_gcd1(True, vyv272, vyv271) -> new_error 248.95/165.38 new_gcd1(False, vyv272, vyv271) -> new_gcd0(vyv272, vyv271) 248.95/165.38 new_primEqInt(Neg(Succ(vyv242000))) -> False 248.95/165.38 new_primEqInt(Pos(Zero)) -> True 248.95/165.38 new_primEqInt(Pos(Succ(vyv242000))) -> False 248.95/165.38 new_primEqInt(Neg(Zero)) -> True 248.95/165.38 new_primQuotInt0(vyv2700, Pos(Succ(vyv28700))) -> Neg(new_primDivNatS1(vyv2700, vyv28700)) 248.95/165.38 new_primQuotInt0(vyv2700, Neg(Zero)) -> new_error 248.95/165.38 new_primQuotInt0(vyv2700, Neg(Succ(vyv28700))) -> Pos(new_primDivNatS1(vyv2700, vyv28700)) 248.95/165.38 new_primQuotInt0(vyv2700, Pos(Zero)) -> new_error 248.95/165.38 new_primMulNat0(Succ(vyv23900), Zero) -> Zero 248.95/165.38 new_primMulNat0(Zero, Succ(vyv23800)) -> Zero 248.95/165.38 new_primMulNat0(Zero, Zero) -> Zero 248.95/165.38 new_primMulNat0(Succ(vyv23900), Succ(vyv23800)) -> new_primPlusNat0(new_primMulNat0(vyv23900, Succ(vyv23800)), Succ(vyv23800)) 248.95/165.38 new_primPlusNat0(Succ(vyv4000), Succ(vyv5000)) -> Succ(Succ(new_primPlusNat0(vyv4000, vyv5000))) 248.95/165.38 new_primPlusNat0(Zero, Succ(vyv5000)) -> Succ(vyv5000) 248.95/165.38 new_primPlusNat0(Zero, Zero) -> Zero 248.95/165.38 new_primPlusNat0(Succ(vyv4000), Zero) -> Succ(vyv4000) 248.95/165.38 new_sr7(vyv183) -> error([]) 248.95/165.38 new_esEs1(Integer(vyv2690)) -> new_primEqInt(vyv2690) 248.95/165.38 new_sr6(Neg(vyv1830)) -> Pos(new_primMulNat1(vyv1830)) 248.95/165.38 new_sr6(Pos(vyv1830)) -> Pos(new_primMulNat1(vyv1830)) 248.95/165.38 new_primMulNat1(Succ(vyv18300)) -> new_primPlusNat0(new_primMulNat2(vyv18300), Succ(vyv18300)) 248.95/165.38 new_primMulNat1(Zero) -> Zero 248.95/165.38 new_primMulNat2(Succ(vyv183000)) -> new_primPlusNat0(new_primMulNat3(vyv183000), Succ(Succ(vyv183000))) 248.95/165.38 new_primMulNat2(Zero) -> Zero 248.95/165.38 new_primMulNat3(Succ(vyv1830000)) -> new_primPlusNat0(new_primMulNat4(vyv1830000), Succ(Succ(Succ(vyv1830000)))) 248.95/165.38 new_primMulNat3(Zero) -> Zero 248.95/165.38 new_primMulNat4(Succ(vyv18300000)) -> new_primPlusNat0(new_primMulNat0(vyv18300000, Succ(Succ(Succ(Succ(vyv18300000))))), Succ(Succ(Succ(Succ(vyv18300000))))) 248.95/165.38 new_primMulNat4(Zero) -> Zero 248.95/165.38 new_sr9(vyv183) -> error([]) 248.95/165.38 new_sr10(vyv183) -> error([]) 248.95/165.38 new_sr4(vyv239, vyv238, app(ty_Ratio, bf)) -> new_sr12(vyv239, vyv238, bf) 248.95/165.38 new_sr4(vyv239, vyv238, ty_Integer) -> new_sr8(vyv239, vyv238) 248.95/165.38 new_sr4(vyv239, vyv238, ty_Int) -> new_sr14(vyv239, vyv238) 248.95/165.38 new_sr4(vyv239, vyv238, ty_Double) -> new_sr11(vyv239, vyv238) 248.95/165.38 new_sr4(vyv239, vyv238, ty_Float) -> new_sr13(vyv239, vyv238) 248.95/165.38 new_sr13(vyv239, vyv238) -> error([]) 248.95/165.38 new_sr11(vyv239, vyv238) -> error([]) 248.95/165.38 new_sr12(:%(vyv2390, vyv2391), :%(vyv2380, vyv2381), bf) -> new_reduce2Reduce1(vyv2390, vyv2380, vyv2391, vyv2381, new_esEs2(vyv2391, vyv2381, bf), bf) 248.95/165.38 new_esEs2(vyv2391, vyv2381, ty_Int) -> new_esEs(new_sr14(vyv2391, vyv2381)) 248.95/165.38 new_esEs2(vyv2391, vyv2381, ty_Integer) -> new_esEs1(new_sr8(vyv2391, vyv2381)) 248.95/165.38 anew_new_pr2F0G10(Succ(Succ(vyv25100))) -> new_new_pr2F0G10(vyv25100) 248.95/165.38 new_new_pr2F0G10(Succ(Succ(vyv25100))) -> new_new_pr2F0G10(vyv25100) 248.95/165.38 new_new_pr2F0G10(Succ(Zero)) -> cons_new_pr2F0G10(Succ(Zero)) 248.95/165.38 new_new_pr2F0G10(Zero) -> cons_new_pr2F0G10(Zero) 248.95/165.38 248.95/165.38 The set Q consists of the following terms: 248.95/165.38 248.95/165.38 new_rem(Pos(x0), Pos(Succ(x1))) 248.95/165.38 new_quot1(x0, x1, x2, x3, ty_Integer) 248.95/165.38 new_primModNatS1(Succ(Zero), Succ(x0)) 248.95/165.38 new_primMulNat4(Zero) 248.95/165.38 new_gcd1(False, x0, x1) 248.95/165.38 new_primEqInt(Pos(Zero)) 248.95/165.38 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 248.95/165.38 new_rem(Pos(x0), Neg(Succ(x1))) 248.95/165.38 new_rem(Neg(x0), Pos(Succ(x1))) 248.95/165.38 new_sr10(x0) 248.95/165.38 new_quot1(x0, x1, x2, x3, ty_Int) 248.95/165.38 new_quot2(x0, x1, x2, x3, ty_Integer) 248.95/165.38 new_primModNatS01(x0, x1, Succ(x2), Zero) 248.95/165.38 new_sr3(x0, ty_Integer) 248.95/165.38 new_primMulNat3(Zero) 248.95/165.38 new_primDivNatS02(x0, x1, Succ(x2), Zero) 248.95/165.38 new_quot2(x0, x1, x2, x3, ty_Int) 248.95/165.38 new_gcd2(False, x0, x1) 248.95/165.38 new_primDivNatS1(Succ(Zero), Zero) 248.95/165.38 new_esEs0(x0, ty_Int) 248.95/165.38 new_sr14(Pos(x0), Pos(x1)) 248.95/165.38 new_sr3(x0, ty_Int) 248.95/165.38 new_primMulNat0(Zero, Zero) 248.95/165.38 new_sr4(x0, x1, ty_Double) 248.95/165.38 new_primPlusNat0(Succ(x0), Zero) 248.95/165.38 new_primMulNat2(Zero) 248.95/165.38 new_sr11(x0, x1) 248.95/165.38 new_primModNatS01(x0, x1, Zero, Zero) 248.95/165.38 new_esEs2(x0, x1, ty_Int) 248.95/165.38 new_gcd1(True, x0, x1) 248.95/165.38 new_sr13(x0, x1) 248.95/165.38 new_sr14(Pos(x0), Neg(x1)) 248.95/165.38 new_sr14(Neg(x0), Pos(x1)) 248.95/165.38 new_primDivNatS1(Succ(Succ(x0)), Succ(x1)) 248.95/165.38 new_primModNatS1(Zero, x0) 248.95/165.38 new_esEs(Pos(Succ(x0))) 248.95/165.38 new_primMulNat3(Succ(x0)) 248.95/165.38 new_primQuotInt(x0, Neg(Succ(x1))) 248.95/165.38 new_reduce2Reduce1(x0, x1, x2, x3, False, x4) 248.95/165.38 new_primDivNatS1(Zero, x0) 248.95/165.38 new_primDivNatS02(x0, x1, Succ(x2), Succ(x3)) 248.95/165.38 new_primModNatS02(x0, x1) 248.95/165.38 new_primDivNatS1(Succ(Zero), Succ(x0)) 248.95/165.38 new_sr6(Neg(x0)) 248.95/165.38 new_gcd0Gcd'10(True, x0, x1) 248.95/165.38 new_primMulNat0(Succ(x0), Succ(x1)) 248.95/165.38 new_abs(Neg(Zero)) 248.95/165.38 new_rem(Pos(x0), Neg(Zero)) 248.95/165.38 new_rem(Neg(x0), Pos(Zero)) 248.95/165.38 new_primMinusNatS2(Zero, Succ(x0)) 248.95/165.38 new_esEs(Neg(Succ(x0))) 248.95/165.38 new_error 248.95/165.38 new_primModNatS1(Succ(Zero), Zero) 248.95/165.38 new_primMulNat0(Zero, Succ(x0)) 248.95/165.38 new_sr3(x0, ty_Float) 248.95/165.38 new_quot(x0, x1, x2) 248.95/165.38 new_gcd2(True, x0, x1) 248.95/165.38 new_gcd0Gcd'11(True, x0, x1) 248.95/165.38 new_primEqInt(Neg(Zero)) 248.95/165.38 new_primMulNat0(Succ(x0), Zero) 248.95/165.38 new_quot0(Neg(x0), x1, x2) 248.95/165.38 new_primMinusNatS2(Succ(x0), Succ(x1)) 248.95/165.38 new_sr4(x0, x1, app(ty_Ratio, x2)) 248.95/165.38 new_sr8(x0, x1) 248.95/165.38 new_primDivNatS01(x0, x1) 248.95/165.38 new_primDivNatS02(x0, x1, Zero, Succ(x2)) 248.95/165.38 new_primPlusNat0(Succ(x0), Succ(x1)) 248.95/165.38 new_primPlusNat0(Zero, Zero) 248.95/165.38 new_sr12(:%(x0, x1), :%(x2, x3), x4) 248.95/165.38 new_abs(Neg(Succ(x0))) 248.95/165.38 new_sr3(x0, app(ty_Ratio, x1)) 248.95/165.38 new_sr7(x0) 248.95/165.38 new_gcd0(x0, x1) 248.95/165.38 new_primQuotInt0(x0, Pos(Succ(x1))) 248.95/165.38 new_sr4(x0, x1, ty_Integer) 248.95/165.38 new_sr5(:%(x0, x1), x2) 248.95/165.38 new_primMinusNatS2(Zero, Zero) 248.95/165.38 new_primMulNat1(Succ(x0)) 248.95/165.38 new_abs(Pos(Succ(x0))) 248.95/165.38 new_sr4(x0, x1, ty_Int) 248.95/165.38 new_esEs(Pos(Zero)) 248.95/165.38 new_primQuotInt0(x0, Pos(Zero)) 248.95/165.38 new_primEqInt(Neg(Succ(x0))) 248.95/165.38 new_primQuotInt(x0, Neg(Zero)) 248.95/165.38 new_primQuotInt0(x0, Neg(Zero)) 248.95/165.38 new_primQuotInt0(x0, Neg(Succ(x1))) 248.95/165.38 new_gcd(x0, x1) 248.95/165.38 new_quot0(Pos(x0), x1, x2) 248.95/165.38 new_primMinusNatS0(x0) 248.95/165.38 new_primPlusNat0(Zero, Succ(x0)) 248.95/165.38 new_primQuotInt(x0, Pos(Succ(x1))) 248.95/165.38 new_primDivNatS1(Succ(Succ(x0)), Zero) 248.95/165.38 new_rem(Pos(x0), Pos(Zero)) 248.95/165.38 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 248.95/165.38 new_primDivNatS02(x0, x1, Zero, Zero) 248.95/165.38 new_abs(Pos(Zero)) 248.95/165.38 new_gcd0Gcd'10(False, x0, x1) 248.95/165.38 new_primMinusNatS1 248.95/165.38 new_esEs1(Integer(x0)) 248.95/165.38 new_primModNatS01(x0, x1, Zero, Succ(x2)) 248.95/165.38 new_primMulNat2(Succ(x0)) 248.95/165.38 new_sr14(Neg(x0), Neg(x1)) 248.95/165.38 new_primMinusNatS2(Succ(x0), Zero) 248.95/165.38 new_sr4(x0, x1, ty_Float) 248.95/165.38 new_sr6(Pos(x0)) 248.95/165.38 new_esEs2(x0, x1, ty_Integer) 248.95/165.38 new_primMulNat4(Succ(x0)) 248.95/165.38 new_rem(Neg(x0), Neg(Succ(x1))) 248.95/165.38 new_primEqInt(Pos(Succ(x0))) 248.95/165.38 new_primQuotInt(x0, Pos(Zero)) 248.95/165.38 new_gcd0Gcd'11(False, x0, x1) 248.95/165.38 new_sr9(x0) 248.95/165.38 new_primModNatS1(Succ(Succ(x0)), Zero) 248.95/165.38 new_esEs0(x0, ty_Integer) 248.95/165.38 new_gcd0Gcd'00(x0, x1) 248.95/165.38 new_reduce2Reduce1(x0, x1, x2, x3, True, x4) 248.95/165.38 new_sr3(x0, ty_Double) 248.95/165.38 new_esEs(Neg(Zero)) 248.95/165.38 new_primMulNat1(Zero) 248.95/165.38 new_rem(Neg(x0), Neg(Zero)) 248.95/165.38 new_new_pr2F0G10(Succ(Succ(x0))) 248.95/165.38 anew_new_pr2F0G10(Succ(Succ(x0))) 248.95/165.38 new_new_pr2F0G10(Succ(Zero)) 248.95/165.38 new_new_pr2F0G10(Zero) 248.95/165.38 248.95/165.38 We have to consider all minimal (P,Q,R)-chains. 248.95/165.38 ---------------------------------------- 248.95/165.38 248.95/165.38 (847) UsableRulesProof (EQUIVALENT) 248.95/165.38 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. 248.95/165.38 ---------------------------------------- 248.95/165.38 248.95/165.38 (848) 248.95/165.38 Obligation: 248.95/165.38 Q DP problem: 248.95/165.38 The TRS P consists of the following rules: 248.95/165.38 248.95/165.38 new_pr2F0(vyv183, Neg(Succ(Succ(vyv222000))), vyv187, h) -> new_pr2F0G10(vyv187, vyv183, Succ(vyv222000), vyv222000, h) 248.95/165.38 new_pr2F0G10(vyv248, vyv249, vyv250, Succ(Zero), bb) -> new_pr2F0G11(vyv248, vyv249, vyv250, bb) 248.95/165.38 new_pr2F0G11(vyv238, vyv239, vyv240, bc) -> new_pr2F1(vyv239, vyv240, Pos(Succ(Zero)), vyv238, bc) 248.95/165.38 new_pr2F1(z1, z2, Pos(Succ(Zero)), z0, z3) -> new_pr2F30(False, z1, z2, Pos(Succ(Zero)), z0, z3) 248.95/165.38 new_pr2F30(False, z0, z1, Pos(Succ(Zero)), z2, z3) -> new_pr2F0(z0, Neg(Succ(Succ(new_primPlusNat0(z1, Zero)))), new_sr4(z0, z2, z3), z3) 248.95/165.38 H(vyv248, vyv249, vyv250, bb, cons_new_pr2F0G10(Succ(Zero))) -> new_pr2F0G10(vyv248, vyv249, vyv250, Succ(Zero), bb) 248.95/165.38 H(vyv248, vyv249, vyv250, bb, cons_new_pr2F0G10(Zero)) -> new_pr2F0G10(vyv248, vyv249, vyv250, Zero, bb) 248.95/165.38 new_pr2F0G(vyv187, vyv183, Neg(Succ(Zero)), h) -> new_pr2F0G11(vyv187, vyv183, Zero, h) 248.95/165.38 new_pr2F0G(vyv187, vyv183, Neg(Succ(Succ(vyv222000))), h) -> new_pr2F0G10(vyv187, vyv183, Succ(vyv222000), vyv222000, h) 248.95/165.38 new_pr2F0(y0, Neg(Succ(Succ(Succ(Succ(x0))))), y2, y3) -> H(y2, y0, Succ(Succ(Succ(x0))), y3, new_new_pr2F0G10(x0)) 248.95/165.38 new_pr2F0G10(y0, y1, Succ(Succ(x2)), Zero, y3) -> new_pr2F0G(y0, new_sr3(y1, y3), Neg(Succ(new_primDivNatS1(Succ(x2), Succ(Zero)))), y3) 248.95/165.38 new_pr2F0G10(y0, y1, Succ(Zero), Zero, y3) -> new_pr2F0G(y0, new_sr3(y1, y3), Neg(Succ(Zero)), y3) 248.95/165.38 new_pr2F0G(y0, y1, Neg(Succ(Succ(Succ(Succ(x0))))), y3) -> H(y0, y1, Succ(Succ(Succ(x0))), y3, new_new_pr2F0G10(x0)) 248.95/165.38 248.95/165.38 The TRS R consists of the following rules: 248.95/165.38 248.95/165.38 new_new_pr2F0G10(Succ(Succ(vyv25100))) -> new_new_pr2F0G10(vyv25100) 248.95/165.38 new_new_pr2F0G10(Succ(Zero)) -> cons_new_pr2F0G10(Succ(Zero)) 248.95/165.38 new_new_pr2F0G10(Zero) -> cons_new_pr2F0G10(Zero) 248.95/165.38 new_sr3(vyv249, ty_Float) -> new_sr10(vyv249) 248.95/165.38 new_sr3(vyv249, ty_Double) -> new_sr9(vyv249) 248.95/165.38 new_sr3(vyv249, ty_Int) -> new_sr6(vyv249) 248.95/165.38 new_sr3(vyv249, ty_Integer) -> new_sr7(vyv249) 248.95/165.38 new_sr3(vyv249, app(ty_Ratio, bg)) -> new_sr5(vyv249, bg) 248.95/165.38 new_sr5(:%(vyv1830, vyv1831), bd) -> new_reduce2Reduce1(vyv1830, vyv1830, vyv1831, vyv1831, new_esEs0(vyv1831, bd), bd) 248.95/165.38 new_esEs0(vyv1831, ty_Int) -> new_esEs(new_sr6(vyv1831)) 248.95/165.38 new_esEs0(vyv1831, ty_Integer) -> new_esEs1(new_sr7(vyv1831)) 248.95/165.38 new_reduce2Reduce1(vyv264, vyv265, vyv266, vyv267, False, bh) -> :%(new_quot1(vyv264, vyv265, vyv266, vyv267, bh), new_quot2(vyv266, vyv267, vyv264, vyv265, bh)) 248.95/165.38 new_reduce2Reduce1(vyv264, vyv265, vyv266, vyv267, True, bh) -> error([]) 248.95/165.38 new_quot1(vyv264, vyv265, vyv266, vyv267, ty_Int) -> new_quot0(new_sr14(vyv264, vyv265), new_sr14(vyv264, vyv265), new_sr14(vyv266, vyv267)) 248.95/165.38 new_quot1(vyv264, vyv265, vyv266, vyv267, ty_Integer) -> new_quot(new_sr8(vyv264, vyv265), new_sr8(vyv264, vyv265), new_sr8(vyv266, vyv267)) 248.95/165.38 new_quot2(vyv266, vyv267, vyv264, vyv265, ty_Int) -> new_quot0(new_sr14(vyv266, vyv267), new_sr14(vyv264, vyv265), new_sr14(vyv266, vyv267)) 248.95/165.38 new_quot2(vyv266, vyv267, vyv264, vyv265, ty_Integer) -> new_quot(new_sr8(vyv266, vyv267), new_sr8(vyv264, vyv265), new_sr8(vyv266, vyv267)) 248.95/165.38 new_sr8(vyv239, vyv238) -> error([]) 248.95/165.38 new_quot(vyv273, vyv275, vyv274) -> error([]) 248.95/165.38 new_sr14(Pos(vyv2390), Neg(vyv2380)) -> Neg(new_primMulNat0(vyv2390, vyv2380)) 248.95/165.38 new_sr14(Neg(vyv2390), Pos(vyv2380)) -> Neg(new_primMulNat0(vyv2390, vyv2380)) 248.95/165.38 new_sr14(Neg(vyv2390), Neg(vyv2380)) -> Pos(new_primMulNat0(vyv2390, vyv2380)) 248.95/165.38 new_sr14(Pos(vyv2390), Pos(vyv2380)) -> Pos(new_primMulNat0(vyv2390, vyv2380)) 248.95/165.38 new_quot0(Neg(vyv2700), vyv272, vyv271) -> new_primQuotInt0(vyv2700, new_gcd(vyv272, vyv271)) 248.95/165.38 new_quot0(Pos(vyv2700), vyv272, vyv271) -> new_primQuotInt(vyv2700, new_gcd(vyv272, vyv271)) 248.95/165.38 new_gcd(vyv272, vyv271) -> new_gcd2(new_esEs(vyv272), vyv272, vyv271) 248.95/165.38 new_primQuotInt(vyv2700, Pos(Succ(vyv28400))) -> Pos(new_primDivNatS1(vyv2700, vyv28400)) 248.95/165.38 new_primQuotInt(vyv2700, Neg(Zero)) -> new_error 248.95/165.38 new_primQuotInt(vyv2700, Pos(Zero)) -> new_error 248.95/165.38 new_primQuotInt(vyv2700, Neg(Succ(vyv28400))) -> Neg(new_primDivNatS1(vyv2700, vyv28400)) 248.95/165.38 new_primDivNatS1(Succ(Zero), Succ(vyv284000)) -> Zero 248.95/165.38 new_primDivNatS1(Succ(Succ(vyv270000)), Succ(vyv284000)) -> new_primDivNatS02(vyv270000, vyv284000, vyv270000, vyv284000) 248.95/165.38 new_primDivNatS1(Zero, vyv28400) -> Zero 248.95/165.38 new_primDivNatS1(Succ(Succ(vyv270000)), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS0(vyv270000), Zero)) 248.95/165.38 new_primDivNatS1(Succ(Zero), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS1, Zero)) 248.95/165.38 new_primMinusNatS1 -> Zero 248.95/165.38 new_primMinusNatS0(vyv270000) -> Succ(vyv270000) 248.95/165.38 new_primDivNatS02(vyv310, vyv311, Zero, Zero) -> new_primDivNatS01(vyv310, vyv311) 248.95/165.38 new_primDivNatS02(vyv310, vyv311, Succ(vyv3120), Zero) -> new_primDivNatS01(vyv310, vyv311) 248.95/165.38 new_primDivNatS02(vyv310, vyv311, Zero, Succ(vyv3130)) -> Zero 248.95/165.38 new_primDivNatS02(vyv310, vyv311, Succ(vyv3120), Succ(vyv3130)) -> new_primDivNatS02(vyv310, vyv311, vyv3120, vyv3130) 248.95/165.38 new_primDivNatS01(vyv310, vyv311) -> Succ(new_primDivNatS1(new_primMinusNatS2(vyv310, vyv311), Succ(vyv311))) 248.95/165.38 new_primMinusNatS2(Zero, Succ(vyv3110)) -> Zero 248.95/165.38 new_primMinusNatS2(Succ(vyv3100), Zero) -> Succ(vyv3100) 248.95/165.38 new_primMinusNatS2(Zero, Zero) -> Zero 248.95/165.38 new_primMinusNatS2(Succ(vyv3100), Succ(vyv3110)) -> new_primMinusNatS2(vyv3100, vyv3110) 248.95/165.38 new_error -> error([]) 248.95/165.38 new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) 248.95/165.38 new_esEs(Pos(Succ(vyv24100))) -> new_primEqInt(Pos(Succ(vyv24100))) 248.95/165.38 new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) 248.95/165.38 new_esEs(Neg(Succ(vyv24100))) -> new_primEqInt(Neg(Succ(vyv24100))) 248.95/165.38 new_gcd2(True, vyv272, vyv271) -> new_gcd1(new_esEs(vyv271), vyv272, vyv271) 248.95/165.38 new_gcd2(False, vyv272, vyv271) -> new_gcd0(vyv272, vyv271) 248.95/165.38 new_gcd0(vyv272, vyv271) -> new_gcd0Gcd'10(new_esEs(new_abs(vyv271)), vyv272, vyv271) 248.95/165.38 new_abs(Neg(Zero)) -> Neg(Zero) 248.95/165.38 new_abs(Neg(Succ(vyv27100))) -> Pos(Succ(vyv27100)) 248.95/165.38 new_abs(Pos(Succ(vyv27100))) -> Pos(Succ(vyv27100)) 248.95/165.38 new_abs(Pos(Zero)) -> Pos(Zero) 248.95/165.38 new_gcd0Gcd'10(True, vyv272, vyv271) -> new_abs(vyv272) 248.95/165.38 new_gcd0Gcd'10(False, vyv272, vyv271) -> new_gcd0Gcd'00(new_abs(vyv272), new_abs(vyv271)) 248.95/165.38 new_gcd0Gcd'00(vyv292, vyv291) -> new_gcd0Gcd'11(new_esEs(new_rem(vyv292, vyv291)), vyv291, vyv292) 248.95/165.38 new_gcd0Gcd'11(False, vyv291, vyv292) -> new_gcd0Gcd'00(vyv291, new_rem(vyv292, vyv291)) 248.95/165.38 new_rem(Pos(vyv2920), Neg(Zero)) -> new_error 248.95/165.38 new_rem(Neg(vyv2920), Pos(Zero)) -> new_error 248.95/165.38 new_rem(Pos(vyv2920), Neg(Succ(vyv29100))) -> Pos(new_primModNatS1(vyv2920, vyv29100)) 248.95/165.38 new_rem(Neg(vyv2920), Pos(Succ(vyv29100))) -> Neg(new_primModNatS1(vyv2920, vyv29100)) 248.95/165.38 new_rem(Pos(vyv2920), Pos(Succ(vyv29100))) -> Pos(new_primModNatS1(vyv2920, vyv29100)) 248.95/165.38 new_rem(Neg(vyv2920), Neg(Zero)) -> new_error 248.95/165.38 new_rem(Neg(vyv2920), Neg(Succ(vyv29100))) -> Neg(new_primModNatS1(vyv2920, vyv29100)) 248.95/165.38 new_rem(Pos(vyv2920), Pos(Zero)) -> new_error 248.95/165.38 new_gcd0Gcd'11(True, vyv291, vyv292) -> vyv291 248.95/165.38 new_primModNatS1(Succ(Zero), Succ(vyv291000)) -> Succ(Zero) 248.95/165.38 new_primModNatS1(Zero, vyv29100) -> Zero 248.95/165.38 new_primModNatS1(Succ(Succ(vyv292000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv292000), Zero) 248.95/165.38 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 248.95/165.38 new_primModNatS1(Succ(Succ(vyv292000)), Succ(vyv291000)) -> new_primModNatS01(vyv292000, vyv291000, vyv292000, vyv291000) 248.95/165.38 new_primModNatS01(vyv330, vyv331, Zero, Zero) -> new_primModNatS02(vyv330, vyv331) 248.95/165.38 new_primModNatS02(vyv330, vyv331) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv330), Succ(vyv331)), Succ(vyv331)) 248.95/165.38 new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Zero) -> new_primModNatS02(vyv330, vyv331) 248.95/165.38 new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Succ(vyv3330)) -> new_primModNatS01(vyv330, vyv331, vyv3320, vyv3330) 248.95/165.38 new_primModNatS01(vyv330, vyv331, Zero, Succ(vyv3330)) -> Succ(Succ(vyv330)) 248.95/165.38 new_gcd1(True, vyv272, vyv271) -> new_error 248.95/165.38 new_gcd1(False, vyv272, vyv271) -> new_gcd0(vyv272, vyv271) 248.95/165.38 new_primEqInt(Neg(Succ(vyv242000))) -> False 248.95/165.38 new_primEqInt(Pos(Zero)) -> True 248.95/165.38 new_primEqInt(Pos(Succ(vyv242000))) -> False 248.95/165.38 new_primEqInt(Neg(Zero)) -> True 248.95/165.38 new_primQuotInt0(vyv2700, Pos(Succ(vyv28700))) -> Neg(new_primDivNatS1(vyv2700, vyv28700)) 248.95/165.38 new_primQuotInt0(vyv2700, Neg(Zero)) -> new_error 248.95/165.38 new_primQuotInt0(vyv2700, Neg(Succ(vyv28700))) -> Pos(new_primDivNatS1(vyv2700, vyv28700)) 248.95/165.38 new_primQuotInt0(vyv2700, Pos(Zero)) -> new_error 248.95/165.38 new_primMulNat0(Succ(vyv23900), Zero) -> Zero 248.95/165.38 new_primMulNat0(Zero, Succ(vyv23800)) -> Zero 248.95/165.38 new_primMulNat0(Zero, Zero) -> Zero 248.95/165.38 new_primMulNat0(Succ(vyv23900), Succ(vyv23800)) -> new_primPlusNat0(new_primMulNat0(vyv23900, Succ(vyv23800)), Succ(vyv23800)) 248.95/165.38 new_primPlusNat0(Succ(vyv4000), Succ(vyv5000)) -> Succ(Succ(new_primPlusNat0(vyv4000, vyv5000))) 248.95/165.38 new_primPlusNat0(Zero, Succ(vyv5000)) -> Succ(vyv5000) 248.95/165.38 new_primPlusNat0(Zero, Zero) -> Zero 248.95/165.38 new_primPlusNat0(Succ(vyv4000), Zero) -> Succ(vyv4000) 248.95/165.38 new_sr7(vyv183) -> error([]) 248.95/165.38 new_esEs1(Integer(vyv2690)) -> new_primEqInt(vyv2690) 248.95/165.38 new_sr6(Neg(vyv1830)) -> Pos(new_primMulNat1(vyv1830)) 248.95/165.38 new_sr6(Pos(vyv1830)) -> Pos(new_primMulNat1(vyv1830)) 248.95/165.38 new_primMulNat1(Succ(vyv18300)) -> new_primPlusNat0(new_primMulNat2(vyv18300), Succ(vyv18300)) 248.95/165.38 new_primMulNat1(Zero) -> Zero 248.95/165.38 new_primMulNat2(Succ(vyv183000)) -> new_primPlusNat0(new_primMulNat3(vyv183000), Succ(Succ(vyv183000))) 248.95/165.38 new_primMulNat2(Zero) -> Zero 248.95/165.38 new_primMulNat3(Succ(vyv1830000)) -> new_primPlusNat0(new_primMulNat4(vyv1830000), Succ(Succ(Succ(vyv1830000)))) 248.95/165.38 new_primMulNat3(Zero) -> Zero 248.95/165.38 new_primMulNat4(Succ(vyv18300000)) -> new_primPlusNat0(new_primMulNat0(vyv18300000, Succ(Succ(Succ(Succ(vyv18300000))))), Succ(Succ(Succ(Succ(vyv18300000))))) 248.95/165.38 new_primMulNat4(Zero) -> Zero 248.95/165.38 new_sr9(vyv183) -> error([]) 248.95/165.38 new_sr10(vyv183) -> error([]) 248.95/165.38 new_sr4(vyv239, vyv238, app(ty_Ratio, bf)) -> new_sr12(vyv239, vyv238, bf) 248.95/165.38 new_sr4(vyv239, vyv238, ty_Integer) -> new_sr8(vyv239, vyv238) 248.95/165.38 new_sr4(vyv239, vyv238, ty_Int) -> new_sr14(vyv239, vyv238) 248.95/165.38 new_sr4(vyv239, vyv238, ty_Double) -> new_sr11(vyv239, vyv238) 248.95/165.38 new_sr4(vyv239, vyv238, ty_Float) -> new_sr13(vyv239, vyv238) 248.95/165.38 new_sr13(vyv239, vyv238) -> error([]) 248.95/165.38 new_sr11(vyv239, vyv238) -> error([]) 248.95/165.38 new_sr12(:%(vyv2390, vyv2391), :%(vyv2380, vyv2381), bf) -> new_reduce2Reduce1(vyv2390, vyv2380, vyv2391, vyv2381, new_esEs2(vyv2391, vyv2381, bf), bf) 248.95/165.38 new_esEs2(vyv2391, vyv2381, ty_Int) -> new_esEs(new_sr14(vyv2391, vyv2381)) 248.95/165.38 new_esEs2(vyv2391, vyv2381, ty_Integer) -> new_esEs1(new_sr8(vyv2391, vyv2381)) 248.95/165.38 248.95/165.38 The set Q consists of the following terms: 248.95/165.38 248.95/165.38 new_rem(Pos(x0), Pos(Succ(x1))) 248.95/165.38 new_quot1(x0, x1, x2, x3, ty_Integer) 248.95/165.38 new_primModNatS1(Succ(Zero), Succ(x0)) 248.95/165.38 new_primMulNat4(Zero) 248.95/165.38 new_gcd1(False, x0, x1) 248.95/165.38 new_primEqInt(Pos(Zero)) 248.95/165.38 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 248.95/165.38 new_rem(Pos(x0), Neg(Succ(x1))) 248.95/165.38 new_rem(Neg(x0), Pos(Succ(x1))) 248.95/165.38 new_sr10(x0) 248.95/165.38 new_quot1(x0, x1, x2, x3, ty_Int) 248.95/165.38 new_quot2(x0, x1, x2, x3, ty_Integer) 248.95/165.38 new_primModNatS01(x0, x1, Succ(x2), Zero) 248.95/165.38 new_sr3(x0, ty_Integer) 248.95/165.38 new_primMulNat3(Zero) 248.95/165.38 new_primDivNatS02(x0, x1, Succ(x2), Zero) 248.95/165.38 new_quot2(x0, x1, x2, x3, ty_Int) 248.95/165.38 new_gcd2(False, x0, x1) 248.95/165.38 new_primDivNatS1(Succ(Zero), Zero) 248.95/165.38 new_esEs0(x0, ty_Int) 248.95/165.38 new_sr14(Pos(x0), Pos(x1)) 248.95/165.38 new_sr3(x0, ty_Int) 248.95/165.38 new_primMulNat0(Zero, Zero) 248.95/165.38 new_sr4(x0, x1, ty_Double) 248.95/165.38 new_primPlusNat0(Succ(x0), Zero) 248.95/165.38 new_primMulNat2(Zero) 248.95/165.38 new_sr11(x0, x1) 248.95/165.38 new_primModNatS01(x0, x1, Zero, Zero) 248.95/165.38 new_esEs2(x0, x1, ty_Int) 248.95/165.38 new_gcd1(True, x0, x1) 248.95/165.38 new_sr13(x0, x1) 248.95/165.38 new_sr14(Pos(x0), Neg(x1)) 248.95/165.38 new_sr14(Neg(x0), Pos(x1)) 248.95/165.38 new_primDivNatS1(Succ(Succ(x0)), Succ(x1)) 248.95/165.38 new_primModNatS1(Zero, x0) 248.95/165.38 new_esEs(Pos(Succ(x0))) 248.95/165.38 new_primMulNat3(Succ(x0)) 248.95/165.38 new_primQuotInt(x0, Neg(Succ(x1))) 248.95/165.38 new_reduce2Reduce1(x0, x1, x2, x3, False, x4) 248.95/165.38 new_primDivNatS1(Zero, x0) 248.95/165.38 new_primDivNatS02(x0, x1, Succ(x2), Succ(x3)) 248.95/165.38 new_primModNatS02(x0, x1) 248.95/165.38 new_primDivNatS1(Succ(Zero), Succ(x0)) 248.95/165.38 new_sr6(Neg(x0)) 248.95/165.38 new_gcd0Gcd'10(True, x0, x1) 248.95/165.38 new_primMulNat0(Succ(x0), Succ(x1)) 248.95/165.38 new_abs(Neg(Zero)) 248.95/165.38 new_rem(Pos(x0), Neg(Zero)) 248.95/165.38 new_rem(Neg(x0), Pos(Zero)) 248.95/165.38 new_primMinusNatS2(Zero, Succ(x0)) 248.95/165.38 new_esEs(Neg(Succ(x0))) 248.95/165.38 new_error 248.95/165.38 new_primModNatS1(Succ(Zero), Zero) 248.95/165.38 new_primMulNat0(Zero, Succ(x0)) 248.95/165.38 new_sr3(x0, ty_Float) 248.95/165.38 new_quot(x0, x1, x2) 248.95/165.38 new_gcd2(True, x0, x1) 248.95/165.38 new_gcd0Gcd'11(True, x0, x1) 248.95/165.38 new_primEqInt(Neg(Zero)) 248.95/165.38 new_primMulNat0(Succ(x0), Zero) 248.95/165.38 new_quot0(Neg(x0), x1, x2) 248.95/165.38 new_primMinusNatS2(Succ(x0), Succ(x1)) 248.95/165.38 new_sr4(x0, x1, app(ty_Ratio, x2)) 248.95/165.38 new_sr8(x0, x1) 248.95/165.38 new_primDivNatS01(x0, x1) 248.95/165.38 new_primDivNatS02(x0, x1, Zero, Succ(x2)) 248.95/165.38 new_primPlusNat0(Succ(x0), Succ(x1)) 248.95/165.38 new_primPlusNat0(Zero, Zero) 248.95/165.38 new_sr12(:%(x0, x1), :%(x2, x3), x4) 248.95/165.38 new_abs(Neg(Succ(x0))) 248.95/165.38 new_sr3(x0, app(ty_Ratio, x1)) 248.95/165.38 new_sr7(x0) 248.95/165.38 new_gcd0(x0, x1) 248.95/165.38 new_primQuotInt0(x0, Pos(Succ(x1))) 248.95/165.38 new_sr4(x0, x1, ty_Integer) 248.95/165.38 new_sr5(:%(x0, x1), x2) 248.95/165.38 new_primMinusNatS2(Zero, Zero) 248.95/165.38 new_primMulNat1(Succ(x0)) 248.95/165.38 new_abs(Pos(Succ(x0))) 248.95/165.38 new_sr4(x0, x1, ty_Int) 248.95/165.38 new_esEs(Pos(Zero)) 248.95/165.38 new_primQuotInt0(x0, Pos(Zero)) 248.95/165.38 new_primEqInt(Neg(Succ(x0))) 248.95/165.38 new_primQuotInt(x0, Neg(Zero)) 248.95/165.38 new_primQuotInt0(x0, Neg(Zero)) 248.95/165.38 new_primQuotInt0(x0, Neg(Succ(x1))) 248.95/165.38 new_gcd(x0, x1) 248.95/165.38 new_quot0(Pos(x0), x1, x2) 248.95/165.38 new_primMinusNatS0(x0) 248.95/165.38 new_primPlusNat0(Zero, Succ(x0)) 248.95/165.38 new_primQuotInt(x0, Pos(Succ(x1))) 248.95/165.38 new_primDivNatS1(Succ(Succ(x0)), Zero) 248.95/165.38 new_rem(Pos(x0), Pos(Zero)) 248.95/165.38 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 248.95/165.38 new_primDivNatS02(x0, x1, Zero, Zero) 248.95/165.38 new_abs(Pos(Zero)) 248.95/165.38 new_gcd0Gcd'10(False, x0, x1) 248.95/165.38 new_primMinusNatS1 248.95/165.38 new_esEs1(Integer(x0)) 248.95/165.38 new_primModNatS01(x0, x1, Zero, Succ(x2)) 248.95/165.38 new_primMulNat2(Succ(x0)) 248.95/165.38 new_sr14(Neg(x0), Neg(x1)) 248.95/165.38 new_primMinusNatS2(Succ(x0), Zero) 248.95/165.38 new_sr4(x0, x1, ty_Float) 248.95/165.38 new_sr6(Pos(x0)) 248.95/165.38 new_esEs2(x0, x1, ty_Integer) 248.95/165.38 new_primMulNat4(Succ(x0)) 248.95/165.38 new_rem(Neg(x0), Neg(Succ(x1))) 248.95/165.38 new_primEqInt(Pos(Succ(x0))) 248.95/165.38 new_primQuotInt(x0, Pos(Zero)) 248.95/165.38 new_gcd0Gcd'11(False, x0, x1) 248.95/165.38 new_sr9(x0) 248.95/165.38 new_primModNatS1(Succ(Succ(x0)), Zero) 248.95/165.38 new_esEs0(x0, ty_Integer) 248.95/165.38 new_gcd0Gcd'00(x0, x1) 248.95/165.38 new_reduce2Reduce1(x0, x1, x2, x3, True, x4) 248.95/165.38 new_sr3(x0, ty_Double) 248.95/165.38 new_esEs(Neg(Zero)) 248.95/165.38 new_primMulNat1(Zero) 248.95/165.38 new_rem(Neg(x0), Neg(Zero)) 248.95/165.38 new_new_pr2F0G10(Succ(Succ(x0))) 248.95/165.38 anew_new_pr2F0G10(Succ(Succ(x0))) 248.95/165.38 new_new_pr2F0G10(Succ(Zero)) 248.95/165.38 new_new_pr2F0G10(Zero) 248.95/165.38 248.95/165.38 We have to consider all minimal (P,Q,R)-chains. 248.95/165.38 ---------------------------------------- 248.95/165.38 248.95/165.38 (849) QReductionProof (EQUIVALENT) 248.95/165.38 We deleted the following terms from Q as each root-symbol of these terms does neither occur in P nor in R.[THIEMANN]. 248.95/165.38 248.95/165.38 anew_new_pr2F0G10(Succ(Succ(x0))) 248.95/165.38 248.95/165.38 248.95/165.38 ---------------------------------------- 248.95/165.38 248.95/165.38 (850) 248.95/165.38 Obligation: 248.95/165.38 Q DP problem: 248.95/165.38 The TRS P consists of the following rules: 248.95/165.38 248.95/165.38 new_pr2F0(vyv183, Neg(Succ(Succ(vyv222000))), vyv187, h) -> new_pr2F0G10(vyv187, vyv183, Succ(vyv222000), vyv222000, h) 248.95/165.38 new_pr2F0G10(vyv248, vyv249, vyv250, Succ(Zero), bb) -> new_pr2F0G11(vyv248, vyv249, vyv250, bb) 248.95/165.38 new_pr2F0G11(vyv238, vyv239, vyv240, bc) -> new_pr2F1(vyv239, vyv240, Pos(Succ(Zero)), vyv238, bc) 248.95/165.38 new_pr2F1(z1, z2, Pos(Succ(Zero)), z0, z3) -> new_pr2F30(False, z1, z2, Pos(Succ(Zero)), z0, z3) 248.95/165.38 new_pr2F30(False, z0, z1, Pos(Succ(Zero)), z2, z3) -> new_pr2F0(z0, Neg(Succ(Succ(new_primPlusNat0(z1, Zero)))), new_sr4(z0, z2, z3), z3) 248.95/165.38 H(vyv248, vyv249, vyv250, bb, cons_new_pr2F0G10(Succ(Zero))) -> new_pr2F0G10(vyv248, vyv249, vyv250, Succ(Zero), bb) 248.95/165.38 H(vyv248, vyv249, vyv250, bb, cons_new_pr2F0G10(Zero)) -> new_pr2F0G10(vyv248, vyv249, vyv250, Zero, bb) 248.95/165.38 new_pr2F0G(vyv187, vyv183, Neg(Succ(Zero)), h) -> new_pr2F0G11(vyv187, vyv183, Zero, h) 248.95/165.38 new_pr2F0G(vyv187, vyv183, Neg(Succ(Succ(vyv222000))), h) -> new_pr2F0G10(vyv187, vyv183, Succ(vyv222000), vyv222000, h) 248.95/165.38 new_pr2F0(y0, Neg(Succ(Succ(Succ(Succ(x0))))), y2, y3) -> H(y2, y0, Succ(Succ(Succ(x0))), y3, new_new_pr2F0G10(x0)) 248.95/165.38 new_pr2F0G10(y0, y1, Succ(Succ(x2)), Zero, y3) -> new_pr2F0G(y0, new_sr3(y1, y3), Neg(Succ(new_primDivNatS1(Succ(x2), Succ(Zero)))), y3) 248.95/165.38 new_pr2F0G10(y0, y1, Succ(Zero), Zero, y3) -> new_pr2F0G(y0, new_sr3(y1, y3), Neg(Succ(Zero)), y3) 248.95/165.38 new_pr2F0G(y0, y1, Neg(Succ(Succ(Succ(Succ(x0))))), y3) -> H(y0, y1, Succ(Succ(Succ(x0))), y3, new_new_pr2F0G10(x0)) 248.95/165.38 248.95/165.38 The TRS R consists of the following rules: 248.95/165.38 248.95/165.38 new_new_pr2F0G10(Succ(Succ(vyv25100))) -> new_new_pr2F0G10(vyv25100) 248.95/165.38 new_new_pr2F0G10(Succ(Zero)) -> cons_new_pr2F0G10(Succ(Zero)) 248.95/165.38 new_new_pr2F0G10(Zero) -> cons_new_pr2F0G10(Zero) 248.95/165.38 new_sr3(vyv249, ty_Float) -> new_sr10(vyv249) 248.95/165.38 new_sr3(vyv249, ty_Double) -> new_sr9(vyv249) 248.95/165.38 new_sr3(vyv249, ty_Int) -> new_sr6(vyv249) 248.95/165.38 new_sr3(vyv249, ty_Integer) -> new_sr7(vyv249) 248.95/165.38 new_sr3(vyv249, app(ty_Ratio, bg)) -> new_sr5(vyv249, bg) 248.95/165.38 new_sr5(:%(vyv1830, vyv1831), bd) -> new_reduce2Reduce1(vyv1830, vyv1830, vyv1831, vyv1831, new_esEs0(vyv1831, bd), bd) 248.95/165.38 new_esEs0(vyv1831, ty_Int) -> new_esEs(new_sr6(vyv1831)) 248.95/165.38 new_esEs0(vyv1831, ty_Integer) -> new_esEs1(new_sr7(vyv1831)) 248.95/165.38 new_reduce2Reduce1(vyv264, vyv265, vyv266, vyv267, False, bh) -> :%(new_quot1(vyv264, vyv265, vyv266, vyv267, bh), new_quot2(vyv266, vyv267, vyv264, vyv265, bh)) 248.95/165.38 new_reduce2Reduce1(vyv264, vyv265, vyv266, vyv267, True, bh) -> error([]) 248.95/165.38 new_quot1(vyv264, vyv265, vyv266, vyv267, ty_Int) -> new_quot0(new_sr14(vyv264, vyv265), new_sr14(vyv264, vyv265), new_sr14(vyv266, vyv267)) 248.95/165.38 new_quot1(vyv264, vyv265, vyv266, vyv267, ty_Integer) -> new_quot(new_sr8(vyv264, vyv265), new_sr8(vyv264, vyv265), new_sr8(vyv266, vyv267)) 248.95/165.38 new_quot2(vyv266, vyv267, vyv264, vyv265, ty_Int) -> new_quot0(new_sr14(vyv266, vyv267), new_sr14(vyv264, vyv265), new_sr14(vyv266, vyv267)) 248.95/165.38 new_quot2(vyv266, vyv267, vyv264, vyv265, ty_Integer) -> new_quot(new_sr8(vyv266, vyv267), new_sr8(vyv264, vyv265), new_sr8(vyv266, vyv267)) 248.95/165.38 new_sr8(vyv239, vyv238) -> error([]) 248.95/165.38 new_quot(vyv273, vyv275, vyv274) -> error([]) 248.95/165.38 new_sr14(Pos(vyv2390), Neg(vyv2380)) -> Neg(new_primMulNat0(vyv2390, vyv2380)) 248.95/165.38 new_sr14(Neg(vyv2390), Pos(vyv2380)) -> Neg(new_primMulNat0(vyv2390, vyv2380)) 248.95/165.38 new_sr14(Neg(vyv2390), Neg(vyv2380)) -> Pos(new_primMulNat0(vyv2390, vyv2380)) 248.95/165.38 new_sr14(Pos(vyv2390), Pos(vyv2380)) -> Pos(new_primMulNat0(vyv2390, vyv2380)) 248.95/165.38 new_quot0(Neg(vyv2700), vyv272, vyv271) -> new_primQuotInt0(vyv2700, new_gcd(vyv272, vyv271)) 248.95/165.38 new_quot0(Pos(vyv2700), vyv272, vyv271) -> new_primQuotInt(vyv2700, new_gcd(vyv272, vyv271)) 248.95/165.38 new_gcd(vyv272, vyv271) -> new_gcd2(new_esEs(vyv272), vyv272, vyv271) 248.95/165.38 new_primQuotInt(vyv2700, Pos(Succ(vyv28400))) -> Pos(new_primDivNatS1(vyv2700, vyv28400)) 248.95/165.38 new_primQuotInt(vyv2700, Neg(Zero)) -> new_error 248.95/165.38 new_primQuotInt(vyv2700, Pos(Zero)) -> new_error 248.95/165.38 new_primQuotInt(vyv2700, Neg(Succ(vyv28400))) -> Neg(new_primDivNatS1(vyv2700, vyv28400)) 248.95/165.38 new_primDivNatS1(Succ(Zero), Succ(vyv284000)) -> Zero 248.95/165.38 new_primDivNatS1(Succ(Succ(vyv270000)), Succ(vyv284000)) -> new_primDivNatS02(vyv270000, vyv284000, vyv270000, vyv284000) 248.95/165.38 new_primDivNatS1(Zero, vyv28400) -> Zero 248.95/165.38 new_primDivNatS1(Succ(Succ(vyv270000)), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS0(vyv270000), Zero)) 248.95/165.38 new_primDivNatS1(Succ(Zero), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS1, Zero)) 248.95/165.38 new_primMinusNatS1 -> Zero 248.95/165.38 new_primMinusNatS0(vyv270000) -> Succ(vyv270000) 248.95/165.38 new_primDivNatS02(vyv310, vyv311, Zero, Zero) -> new_primDivNatS01(vyv310, vyv311) 248.95/165.38 new_primDivNatS02(vyv310, vyv311, Succ(vyv3120), Zero) -> new_primDivNatS01(vyv310, vyv311) 248.95/165.38 new_primDivNatS02(vyv310, vyv311, Zero, Succ(vyv3130)) -> Zero 248.95/165.38 new_primDivNatS02(vyv310, vyv311, Succ(vyv3120), Succ(vyv3130)) -> new_primDivNatS02(vyv310, vyv311, vyv3120, vyv3130) 248.95/165.38 new_primDivNatS01(vyv310, vyv311) -> Succ(new_primDivNatS1(new_primMinusNatS2(vyv310, vyv311), Succ(vyv311))) 248.95/165.38 new_primMinusNatS2(Zero, Succ(vyv3110)) -> Zero 248.95/165.38 new_primMinusNatS2(Succ(vyv3100), Zero) -> Succ(vyv3100) 248.95/165.38 new_primMinusNatS2(Zero, Zero) -> Zero 248.95/165.38 new_primMinusNatS2(Succ(vyv3100), Succ(vyv3110)) -> new_primMinusNatS2(vyv3100, vyv3110) 248.95/165.38 new_error -> error([]) 248.95/165.38 new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) 248.95/165.38 new_esEs(Pos(Succ(vyv24100))) -> new_primEqInt(Pos(Succ(vyv24100))) 248.95/165.38 new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) 248.95/165.38 new_esEs(Neg(Succ(vyv24100))) -> new_primEqInt(Neg(Succ(vyv24100))) 248.95/165.38 new_gcd2(True, vyv272, vyv271) -> new_gcd1(new_esEs(vyv271), vyv272, vyv271) 248.95/165.38 new_gcd2(False, vyv272, vyv271) -> new_gcd0(vyv272, vyv271) 248.95/165.38 new_gcd0(vyv272, vyv271) -> new_gcd0Gcd'10(new_esEs(new_abs(vyv271)), vyv272, vyv271) 248.95/165.38 new_abs(Neg(Zero)) -> Neg(Zero) 248.95/165.38 new_abs(Neg(Succ(vyv27100))) -> Pos(Succ(vyv27100)) 248.95/165.38 new_abs(Pos(Succ(vyv27100))) -> Pos(Succ(vyv27100)) 248.95/165.38 new_abs(Pos(Zero)) -> Pos(Zero) 248.95/165.38 new_gcd0Gcd'10(True, vyv272, vyv271) -> new_abs(vyv272) 248.95/165.38 new_gcd0Gcd'10(False, vyv272, vyv271) -> new_gcd0Gcd'00(new_abs(vyv272), new_abs(vyv271)) 248.95/165.38 new_gcd0Gcd'00(vyv292, vyv291) -> new_gcd0Gcd'11(new_esEs(new_rem(vyv292, vyv291)), vyv291, vyv292) 248.95/165.38 new_gcd0Gcd'11(False, vyv291, vyv292) -> new_gcd0Gcd'00(vyv291, new_rem(vyv292, vyv291)) 248.95/165.38 new_rem(Pos(vyv2920), Neg(Zero)) -> new_error 248.95/165.38 new_rem(Neg(vyv2920), Pos(Zero)) -> new_error 248.95/165.38 new_rem(Pos(vyv2920), Neg(Succ(vyv29100))) -> Pos(new_primModNatS1(vyv2920, vyv29100)) 248.95/165.38 new_rem(Neg(vyv2920), Pos(Succ(vyv29100))) -> Neg(new_primModNatS1(vyv2920, vyv29100)) 248.95/165.38 new_rem(Pos(vyv2920), Pos(Succ(vyv29100))) -> Pos(new_primModNatS1(vyv2920, vyv29100)) 248.95/165.38 new_rem(Neg(vyv2920), Neg(Zero)) -> new_error 248.95/165.38 new_rem(Neg(vyv2920), Neg(Succ(vyv29100))) -> Neg(new_primModNatS1(vyv2920, vyv29100)) 248.95/165.38 new_rem(Pos(vyv2920), Pos(Zero)) -> new_error 248.95/165.38 new_gcd0Gcd'11(True, vyv291, vyv292) -> vyv291 248.95/165.38 new_primModNatS1(Succ(Zero), Succ(vyv291000)) -> Succ(Zero) 248.95/165.38 new_primModNatS1(Zero, vyv29100) -> Zero 248.95/165.38 new_primModNatS1(Succ(Succ(vyv292000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv292000), Zero) 248.95/165.38 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 248.95/165.38 new_primModNatS1(Succ(Succ(vyv292000)), Succ(vyv291000)) -> new_primModNatS01(vyv292000, vyv291000, vyv292000, vyv291000) 248.95/165.38 new_primModNatS01(vyv330, vyv331, Zero, Zero) -> new_primModNatS02(vyv330, vyv331) 248.95/165.38 new_primModNatS02(vyv330, vyv331) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv330), Succ(vyv331)), Succ(vyv331)) 248.95/165.38 new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Zero) -> new_primModNatS02(vyv330, vyv331) 248.95/165.38 new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Succ(vyv3330)) -> new_primModNatS01(vyv330, vyv331, vyv3320, vyv3330) 248.95/165.38 new_primModNatS01(vyv330, vyv331, Zero, Succ(vyv3330)) -> Succ(Succ(vyv330)) 248.95/165.38 new_gcd1(True, vyv272, vyv271) -> new_error 248.95/165.38 new_gcd1(False, vyv272, vyv271) -> new_gcd0(vyv272, vyv271) 248.95/165.38 new_primEqInt(Neg(Succ(vyv242000))) -> False 248.95/165.38 new_primEqInt(Pos(Zero)) -> True 248.95/165.38 new_primEqInt(Pos(Succ(vyv242000))) -> False 248.95/165.38 new_primEqInt(Neg(Zero)) -> True 248.95/165.38 new_primQuotInt0(vyv2700, Pos(Succ(vyv28700))) -> Neg(new_primDivNatS1(vyv2700, vyv28700)) 248.95/165.38 new_primQuotInt0(vyv2700, Neg(Zero)) -> new_error 248.95/165.38 new_primQuotInt0(vyv2700, Neg(Succ(vyv28700))) -> Pos(new_primDivNatS1(vyv2700, vyv28700)) 248.95/165.38 new_primQuotInt0(vyv2700, Pos(Zero)) -> new_error 248.95/165.38 new_primMulNat0(Succ(vyv23900), Zero) -> Zero 248.95/165.38 new_primMulNat0(Zero, Succ(vyv23800)) -> Zero 248.95/165.38 new_primMulNat0(Zero, Zero) -> Zero 248.95/165.38 new_primMulNat0(Succ(vyv23900), Succ(vyv23800)) -> new_primPlusNat0(new_primMulNat0(vyv23900, Succ(vyv23800)), Succ(vyv23800)) 248.95/165.38 new_primPlusNat0(Succ(vyv4000), Succ(vyv5000)) -> Succ(Succ(new_primPlusNat0(vyv4000, vyv5000))) 248.95/165.38 new_primPlusNat0(Zero, Succ(vyv5000)) -> Succ(vyv5000) 248.95/165.38 new_primPlusNat0(Zero, Zero) -> Zero 248.95/165.38 new_primPlusNat0(Succ(vyv4000), Zero) -> Succ(vyv4000) 248.95/165.38 new_sr7(vyv183) -> error([]) 248.95/165.38 new_esEs1(Integer(vyv2690)) -> new_primEqInt(vyv2690) 248.95/165.38 new_sr6(Neg(vyv1830)) -> Pos(new_primMulNat1(vyv1830)) 248.95/165.38 new_sr6(Pos(vyv1830)) -> Pos(new_primMulNat1(vyv1830)) 248.95/165.38 new_primMulNat1(Succ(vyv18300)) -> new_primPlusNat0(new_primMulNat2(vyv18300), Succ(vyv18300)) 248.95/165.38 new_primMulNat1(Zero) -> Zero 248.95/165.38 new_primMulNat2(Succ(vyv183000)) -> new_primPlusNat0(new_primMulNat3(vyv183000), Succ(Succ(vyv183000))) 248.95/165.38 new_primMulNat2(Zero) -> Zero 248.95/165.38 new_primMulNat3(Succ(vyv1830000)) -> new_primPlusNat0(new_primMulNat4(vyv1830000), Succ(Succ(Succ(vyv1830000)))) 248.95/165.38 new_primMulNat3(Zero) -> Zero 248.95/165.38 new_primMulNat4(Succ(vyv18300000)) -> new_primPlusNat0(new_primMulNat0(vyv18300000, Succ(Succ(Succ(Succ(vyv18300000))))), Succ(Succ(Succ(Succ(vyv18300000))))) 248.95/165.38 new_primMulNat4(Zero) -> Zero 248.95/165.38 new_sr9(vyv183) -> error([]) 248.95/165.38 new_sr10(vyv183) -> error([]) 248.95/165.38 new_sr4(vyv239, vyv238, app(ty_Ratio, bf)) -> new_sr12(vyv239, vyv238, bf) 248.95/165.38 new_sr4(vyv239, vyv238, ty_Integer) -> new_sr8(vyv239, vyv238) 248.95/165.38 new_sr4(vyv239, vyv238, ty_Int) -> new_sr14(vyv239, vyv238) 248.95/165.38 new_sr4(vyv239, vyv238, ty_Double) -> new_sr11(vyv239, vyv238) 248.95/165.38 new_sr4(vyv239, vyv238, ty_Float) -> new_sr13(vyv239, vyv238) 248.95/165.38 new_sr13(vyv239, vyv238) -> error([]) 248.95/165.38 new_sr11(vyv239, vyv238) -> error([]) 248.95/165.38 new_sr12(:%(vyv2390, vyv2391), :%(vyv2380, vyv2381), bf) -> new_reduce2Reduce1(vyv2390, vyv2380, vyv2391, vyv2381, new_esEs2(vyv2391, vyv2381, bf), bf) 248.95/165.38 new_esEs2(vyv2391, vyv2381, ty_Int) -> new_esEs(new_sr14(vyv2391, vyv2381)) 248.95/165.38 new_esEs2(vyv2391, vyv2381, ty_Integer) -> new_esEs1(new_sr8(vyv2391, vyv2381)) 248.95/165.38 248.95/165.38 The set Q consists of the following terms: 248.95/165.38 248.95/165.38 new_rem(Pos(x0), Pos(Succ(x1))) 248.95/165.38 new_quot1(x0, x1, x2, x3, ty_Integer) 248.95/165.38 new_primModNatS1(Succ(Zero), Succ(x0)) 248.95/165.38 new_primMulNat4(Zero) 248.95/165.38 new_gcd1(False, x0, x1) 248.95/165.38 new_primEqInt(Pos(Zero)) 248.95/165.38 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 248.95/165.38 new_rem(Pos(x0), Neg(Succ(x1))) 248.95/165.38 new_rem(Neg(x0), Pos(Succ(x1))) 248.95/165.38 new_sr10(x0) 248.95/165.38 new_quot1(x0, x1, x2, x3, ty_Int) 248.95/165.38 new_quot2(x0, x1, x2, x3, ty_Integer) 248.95/165.38 new_primModNatS01(x0, x1, Succ(x2), Zero) 248.95/165.38 new_sr3(x0, ty_Integer) 248.95/165.38 new_primMulNat3(Zero) 248.95/165.38 new_primDivNatS02(x0, x1, Succ(x2), Zero) 248.95/165.38 new_quot2(x0, x1, x2, x3, ty_Int) 248.95/165.38 new_gcd2(False, x0, x1) 248.95/165.38 new_primDivNatS1(Succ(Zero), Zero) 248.95/165.38 new_esEs0(x0, ty_Int) 248.95/165.38 new_sr14(Pos(x0), Pos(x1)) 248.95/165.38 new_sr3(x0, ty_Int) 248.95/165.38 new_primMulNat0(Zero, Zero) 248.95/165.38 new_sr4(x0, x1, ty_Double) 248.95/165.38 new_primPlusNat0(Succ(x0), Zero) 248.95/165.38 new_primMulNat2(Zero) 248.95/165.38 new_sr11(x0, x1) 248.95/165.38 new_primModNatS01(x0, x1, Zero, Zero) 248.95/165.38 new_esEs2(x0, x1, ty_Int) 248.95/165.38 new_gcd1(True, x0, x1) 248.95/165.38 new_sr13(x0, x1) 248.95/165.38 new_sr14(Pos(x0), Neg(x1)) 248.95/165.38 new_sr14(Neg(x0), Pos(x1)) 248.95/165.38 new_primDivNatS1(Succ(Succ(x0)), Succ(x1)) 248.95/165.38 new_primModNatS1(Zero, x0) 248.95/165.38 new_esEs(Pos(Succ(x0))) 248.95/165.38 new_primMulNat3(Succ(x0)) 248.95/165.38 new_primQuotInt(x0, Neg(Succ(x1))) 248.95/165.38 new_reduce2Reduce1(x0, x1, x2, x3, False, x4) 248.95/165.38 new_primDivNatS1(Zero, x0) 248.95/165.38 new_primDivNatS02(x0, x1, Succ(x2), Succ(x3)) 248.95/165.38 new_primModNatS02(x0, x1) 248.95/165.38 new_primDivNatS1(Succ(Zero), Succ(x0)) 248.95/165.38 new_sr6(Neg(x0)) 248.95/165.38 new_gcd0Gcd'10(True, x0, x1) 248.95/165.38 new_primMulNat0(Succ(x0), Succ(x1)) 248.95/165.38 new_abs(Neg(Zero)) 248.95/165.38 new_rem(Pos(x0), Neg(Zero)) 248.95/165.38 new_rem(Neg(x0), Pos(Zero)) 248.95/165.38 new_primMinusNatS2(Zero, Succ(x0)) 248.95/165.38 new_esEs(Neg(Succ(x0))) 248.95/165.38 new_error 248.95/165.38 new_primModNatS1(Succ(Zero), Zero) 248.95/165.38 new_primMulNat0(Zero, Succ(x0)) 248.95/165.38 new_sr3(x0, ty_Float) 248.95/165.38 new_quot(x0, x1, x2) 248.95/165.38 new_gcd2(True, x0, x1) 248.95/165.38 new_gcd0Gcd'11(True, x0, x1) 248.95/165.38 new_primEqInt(Neg(Zero)) 248.95/165.38 new_primMulNat0(Succ(x0), Zero) 248.95/165.38 new_quot0(Neg(x0), x1, x2) 248.95/165.38 new_primMinusNatS2(Succ(x0), Succ(x1)) 248.95/165.38 new_sr4(x0, x1, app(ty_Ratio, x2)) 248.95/165.38 new_sr8(x0, x1) 248.95/165.38 new_primDivNatS01(x0, x1) 248.95/165.38 new_primDivNatS02(x0, x1, Zero, Succ(x2)) 248.95/165.38 new_primPlusNat0(Succ(x0), Succ(x1)) 248.95/165.38 new_primPlusNat0(Zero, Zero) 248.95/165.38 new_sr12(:%(x0, x1), :%(x2, x3), x4) 248.95/165.39 new_abs(Neg(Succ(x0))) 248.95/165.39 new_sr3(x0, app(ty_Ratio, x1)) 248.95/165.39 new_sr7(x0) 248.95/165.39 new_gcd0(x0, x1) 248.95/165.39 new_primQuotInt0(x0, Pos(Succ(x1))) 248.95/165.39 new_sr4(x0, x1, ty_Integer) 248.95/165.39 new_sr5(:%(x0, x1), x2) 248.95/165.39 new_primMinusNatS2(Zero, Zero) 248.95/165.39 new_primMulNat1(Succ(x0)) 248.95/165.39 new_abs(Pos(Succ(x0))) 248.95/165.39 new_sr4(x0, x1, ty_Int) 248.95/165.39 new_esEs(Pos(Zero)) 248.95/165.39 new_primQuotInt0(x0, Pos(Zero)) 248.95/165.39 new_primEqInt(Neg(Succ(x0))) 248.95/165.39 new_primQuotInt(x0, Neg(Zero)) 248.95/165.39 new_primQuotInt0(x0, Neg(Zero)) 248.95/165.39 new_primQuotInt0(x0, Neg(Succ(x1))) 248.95/165.39 new_gcd(x0, x1) 248.95/165.39 new_quot0(Pos(x0), x1, x2) 248.95/165.39 new_primMinusNatS0(x0) 248.95/165.39 new_primPlusNat0(Zero, Succ(x0)) 248.95/165.39 new_primQuotInt(x0, Pos(Succ(x1))) 248.95/165.39 new_primDivNatS1(Succ(Succ(x0)), Zero) 248.95/165.39 new_rem(Pos(x0), Pos(Zero)) 248.95/165.39 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 248.95/165.39 new_primDivNatS02(x0, x1, Zero, Zero) 248.95/165.39 new_abs(Pos(Zero)) 248.95/165.39 new_gcd0Gcd'10(False, x0, x1) 248.95/165.39 new_primMinusNatS1 248.95/165.39 new_esEs1(Integer(x0)) 248.95/165.39 new_primModNatS01(x0, x1, Zero, Succ(x2)) 248.95/165.39 new_primMulNat2(Succ(x0)) 248.95/165.39 new_sr14(Neg(x0), Neg(x1)) 248.95/165.39 new_primMinusNatS2(Succ(x0), Zero) 248.95/165.39 new_sr4(x0, x1, ty_Float) 248.95/165.39 new_sr6(Pos(x0)) 248.95/165.39 new_esEs2(x0, x1, ty_Integer) 248.95/165.39 new_primMulNat4(Succ(x0)) 248.95/165.39 new_rem(Neg(x0), Neg(Succ(x1))) 248.95/165.39 new_primEqInt(Pos(Succ(x0))) 248.95/165.39 new_primQuotInt(x0, Pos(Zero)) 248.95/165.39 new_gcd0Gcd'11(False, x0, x1) 248.95/165.39 new_sr9(x0) 248.95/165.39 new_primModNatS1(Succ(Succ(x0)), Zero) 248.95/165.39 new_esEs0(x0, ty_Integer) 248.95/165.39 new_gcd0Gcd'00(x0, x1) 248.95/165.39 new_reduce2Reduce1(x0, x1, x2, x3, True, x4) 248.95/165.39 new_sr3(x0, ty_Double) 248.95/165.39 new_esEs(Neg(Zero)) 248.95/165.39 new_primMulNat1(Zero) 248.95/165.39 new_rem(Neg(x0), Neg(Zero)) 248.95/165.39 new_new_pr2F0G10(Succ(Succ(x0))) 248.95/165.39 new_new_pr2F0G10(Succ(Zero)) 248.95/165.39 new_new_pr2F0G10(Zero) 248.95/165.39 248.95/165.39 We have to consider all minimal (P,Q,R)-chains. 248.95/165.39 ---------------------------------------- 248.95/165.39 248.95/165.39 (851) TransformationProof (EQUIVALENT) 248.95/165.39 By narrowing [LPAR04] the rule new_pr2F0(y0, Neg(Succ(Succ(Succ(Succ(x0))))), y2, y3) -> H(y2, y0, Succ(Succ(Succ(x0))), y3, new_new_pr2F0G10(x0)) at position [4] we obtained the following new rules [LPAR04]: 248.95/165.39 248.95/165.39 (new_pr2F0(y0, Neg(Succ(Succ(Succ(Succ(Succ(Succ(x0))))))), y2, y3) -> H(y2, y0, Succ(Succ(Succ(Succ(Succ(x0))))), y3, new_new_pr2F0G10(x0)),new_pr2F0(y0, Neg(Succ(Succ(Succ(Succ(Succ(Succ(x0))))))), y2, y3) -> H(y2, y0, Succ(Succ(Succ(Succ(Succ(x0))))), y3, new_new_pr2F0G10(x0))) 248.95/165.39 (new_pr2F0(y0, Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), y2, y3) -> H(y2, y0, Succ(Succ(Succ(Succ(Zero)))), y3, cons_new_pr2F0G10(Succ(Zero))),new_pr2F0(y0, Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), y2, y3) -> H(y2, y0, Succ(Succ(Succ(Succ(Zero)))), y3, cons_new_pr2F0G10(Succ(Zero)))) 248.95/165.39 (new_pr2F0(y0, Neg(Succ(Succ(Succ(Succ(Zero))))), y2, y3) -> H(y2, y0, Succ(Succ(Succ(Zero))), y3, cons_new_pr2F0G10(Zero)),new_pr2F0(y0, Neg(Succ(Succ(Succ(Succ(Zero))))), y2, y3) -> H(y2, y0, Succ(Succ(Succ(Zero))), y3, cons_new_pr2F0G10(Zero))) 248.95/165.39 248.95/165.39 248.95/165.39 ---------------------------------------- 248.95/165.39 248.95/165.39 (852) 248.95/165.39 Obligation: 248.95/165.39 Q DP problem: 248.95/165.39 The TRS P consists of the following rules: 248.95/165.39 248.95/165.39 new_pr2F0(vyv183, Neg(Succ(Succ(vyv222000))), vyv187, h) -> new_pr2F0G10(vyv187, vyv183, Succ(vyv222000), vyv222000, h) 248.95/165.39 new_pr2F0G10(vyv248, vyv249, vyv250, Succ(Zero), bb) -> new_pr2F0G11(vyv248, vyv249, vyv250, bb) 248.95/165.39 new_pr2F0G11(vyv238, vyv239, vyv240, bc) -> new_pr2F1(vyv239, vyv240, Pos(Succ(Zero)), vyv238, bc) 248.95/165.39 new_pr2F1(z1, z2, Pos(Succ(Zero)), z0, z3) -> new_pr2F30(False, z1, z2, Pos(Succ(Zero)), z0, z3) 248.95/165.39 new_pr2F30(False, z0, z1, Pos(Succ(Zero)), z2, z3) -> new_pr2F0(z0, Neg(Succ(Succ(new_primPlusNat0(z1, Zero)))), new_sr4(z0, z2, z3), z3) 248.95/165.39 H(vyv248, vyv249, vyv250, bb, cons_new_pr2F0G10(Succ(Zero))) -> new_pr2F0G10(vyv248, vyv249, vyv250, Succ(Zero), bb) 248.95/165.39 H(vyv248, vyv249, vyv250, bb, cons_new_pr2F0G10(Zero)) -> new_pr2F0G10(vyv248, vyv249, vyv250, Zero, bb) 248.95/165.39 new_pr2F0G(vyv187, vyv183, Neg(Succ(Zero)), h) -> new_pr2F0G11(vyv187, vyv183, Zero, h) 248.95/165.39 new_pr2F0G(vyv187, vyv183, Neg(Succ(Succ(vyv222000))), h) -> new_pr2F0G10(vyv187, vyv183, Succ(vyv222000), vyv222000, h) 248.95/165.39 new_pr2F0G10(y0, y1, Succ(Succ(x2)), Zero, y3) -> new_pr2F0G(y0, new_sr3(y1, y3), Neg(Succ(new_primDivNatS1(Succ(x2), Succ(Zero)))), y3) 248.95/165.39 new_pr2F0G10(y0, y1, Succ(Zero), Zero, y3) -> new_pr2F0G(y0, new_sr3(y1, y3), Neg(Succ(Zero)), y3) 248.95/165.39 new_pr2F0G(y0, y1, Neg(Succ(Succ(Succ(Succ(x0))))), y3) -> H(y0, y1, Succ(Succ(Succ(x0))), y3, new_new_pr2F0G10(x0)) 248.95/165.39 new_pr2F0(y0, Neg(Succ(Succ(Succ(Succ(Succ(Succ(x0))))))), y2, y3) -> H(y2, y0, Succ(Succ(Succ(Succ(Succ(x0))))), y3, new_new_pr2F0G10(x0)) 248.95/165.39 new_pr2F0(y0, Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), y2, y3) -> H(y2, y0, Succ(Succ(Succ(Succ(Zero)))), y3, cons_new_pr2F0G10(Succ(Zero))) 248.95/165.39 new_pr2F0(y0, Neg(Succ(Succ(Succ(Succ(Zero))))), y2, y3) -> H(y2, y0, Succ(Succ(Succ(Zero))), y3, cons_new_pr2F0G10(Zero)) 248.95/165.39 248.95/165.39 The TRS R consists of the following rules: 248.95/165.39 248.95/165.39 new_new_pr2F0G10(Succ(Succ(vyv25100))) -> new_new_pr2F0G10(vyv25100) 248.95/165.39 new_new_pr2F0G10(Succ(Zero)) -> cons_new_pr2F0G10(Succ(Zero)) 248.95/165.39 new_new_pr2F0G10(Zero) -> cons_new_pr2F0G10(Zero) 248.95/165.39 new_sr3(vyv249, ty_Float) -> new_sr10(vyv249) 248.95/165.39 new_sr3(vyv249, ty_Double) -> new_sr9(vyv249) 248.95/165.39 new_sr3(vyv249, ty_Int) -> new_sr6(vyv249) 248.95/165.39 new_sr3(vyv249, ty_Integer) -> new_sr7(vyv249) 248.95/165.39 new_sr3(vyv249, app(ty_Ratio, bg)) -> new_sr5(vyv249, bg) 248.95/165.39 new_sr5(:%(vyv1830, vyv1831), bd) -> new_reduce2Reduce1(vyv1830, vyv1830, vyv1831, vyv1831, new_esEs0(vyv1831, bd), bd) 248.95/165.39 new_esEs0(vyv1831, ty_Int) -> new_esEs(new_sr6(vyv1831)) 248.95/165.39 new_esEs0(vyv1831, ty_Integer) -> new_esEs1(new_sr7(vyv1831)) 248.95/165.39 new_reduce2Reduce1(vyv264, vyv265, vyv266, vyv267, False, bh) -> :%(new_quot1(vyv264, vyv265, vyv266, vyv267, bh), new_quot2(vyv266, vyv267, vyv264, vyv265, bh)) 248.95/165.39 new_reduce2Reduce1(vyv264, vyv265, vyv266, vyv267, True, bh) -> error([]) 248.95/165.39 new_quot1(vyv264, vyv265, vyv266, vyv267, ty_Int) -> new_quot0(new_sr14(vyv264, vyv265), new_sr14(vyv264, vyv265), new_sr14(vyv266, vyv267)) 248.95/165.39 new_quot1(vyv264, vyv265, vyv266, vyv267, ty_Integer) -> new_quot(new_sr8(vyv264, vyv265), new_sr8(vyv264, vyv265), new_sr8(vyv266, vyv267)) 248.95/165.39 new_quot2(vyv266, vyv267, vyv264, vyv265, ty_Int) -> new_quot0(new_sr14(vyv266, vyv267), new_sr14(vyv264, vyv265), new_sr14(vyv266, vyv267)) 248.95/165.39 new_quot2(vyv266, vyv267, vyv264, vyv265, ty_Integer) -> new_quot(new_sr8(vyv266, vyv267), new_sr8(vyv264, vyv265), new_sr8(vyv266, vyv267)) 248.95/165.39 new_sr8(vyv239, vyv238) -> error([]) 248.95/165.39 new_quot(vyv273, vyv275, vyv274) -> error([]) 248.95/165.39 new_sr14(Pos(vyv2390), Neg(vyv2380)) -> Neg(new_primMulNat0(vyv2390, vyv2380)) 248.95/165.39 new_sr14(Neg(vyv2390), Pos(vyv2380)) -> Neg(new_primMulNat0(vyv2390, vyv2380)) 248.95/165.39 new_sr14(Neg(vyv2390), Neg(vyv2380)) -> Pos(new_primMulNat0(vyv2390, vyv2380)) 248.95/165.39 new_sr14(Pos(vyv2390), Pos(vyv2380)) -> Pos(new_primMulNat0(vyv2390, vyv2380)) 248.95/165.39 new_quot0(Neg(vyv2700), vyv272, vyv271) -> new_primQuotInt0(vyv2700, new_gcd(vyv272, vyv271)) 248.95/165.39 new_quot0(Pos(vyv2700), vyv272, vyv271) -> new_primQuotInt(vyv2700, new_gcd(vyv272, vyv271)) 248.95/165.39 new_gcd(vyv272, vyv271) -> new_gcd2(new_esEs(vyv272), vyv272, vyv271) 248.95/165.39 new_primQuotInt(vyv2700, Pos(Succ(vyv28400))) -> Pos(new_primDivNatS1(vyv2700, vyv28400)) 248.95/165.39 new_primQuotInt(vyv2700, Neg(Zero)) -> new_error 248.95/165.39 new_primQuotInt(vyv2700, Pos(Zero)) -> new_error 248.95/165.39 new_primQuotInt(vyv2700, Neg(Succ(vyv28400))) -> Neg(new_primDivNatS1(vyv2700, vyv28400)) 248.95/165.39 new_primDivNatS1(Succ(Zero), Succ(vyv284000)) -> Zero 248.95/165.39 new_primDivNatS1(Succ(Succ(vyv270000)), Succ(vyv284000)) -> new_primDivNatS02(vyv270000, vyv284000, vyv270000, vyv284000) 248.95/165.39 new_primDivNatS1(Zero, vyv28400) -> Zero 248.95/165.39 new_primDivNatS1(Succ(Succ(vyv270000)), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS0(vyv270000), Zero)) 248.95/165.39 new_primDivNatS1(Succ(Zero), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS1, Zero)) 248.95/165.39 new_primMinusNatS1 -> Zero 248.95/165.39 new_primMinusNatS0(vyv270000) -> Succ(vyv270000) 248.95/165.39 new_primDivNatS02(vyv310, vyv311, Zero, Zero) -> new_primDivNatS01(vyv310, vyv311) 248.95/165.39 new_primDivNatS02(vyv310, vyv311, Succ(vyv3120), Zero) -> new_primDivNatS01(vyv310, vyv311) 248.95/165.39 new_primDivNatS02(vyv310, vyv311, Zero, Succ(vyv3130)) -> Zero 248.95/165.39 new_primDivNatS02(vyv310, vyv311, Succ(vyv3120), Succ(vyv3130)) -> new_primDivNatS02(vyv310, vyv311, vyv3120, vyv3130) 248.95/165.39 new_primDivNatS01(vyv310, vyv311) -> Succ(new_primDivNatS1(new_primMinusNatS2(vyv310, vyv311), Succ(vyv311))) 248.95/165.39 new_primMinusNatS2(Zero, Succ(vyv3110)) -> Zero 248.95/165.39 new_primMinusNatS2(Succ(vyv3100), Zero) -> Succ(vyv3100) 248.95/165.39 new_primMinusNatS2(Zero, Zero) -> Zero 248.95/165.39 new_primMinusNatS2(Succ(vyv3100), Succ(vyv3110)) -> new_primMinusNatS2(vyv3100, vyv3110) 248.95/165.39 new_error -> error([]) 248.95/165.39 new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) 248.95/165.39 new_esEs(Pos(Succ(vyv24100))) -> new_primEqInt(Pos(Succ(vyv24100))) 248.95/165.39 new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) 248.95/165.39 new_esEs(Neg(Succ(vyv24100))) -> new_primEqInt(Neg(Succ(vyv24100))) 248.95/165.39 new_gcd2(True, vyv272, vyv271) -> new_gcd1(new_esEs(vyv271), vyv272, vyv271) 248.95/165.39 new_gcd2(False, vyv272, vyv271) -> new_gcd0(vyv272, vyv271) 248.95/165.39 new_gcd0(vyv272, vyv271) -> new_gcd0Gcd'10(new_esEs(new_abs(vyv271)), vyv272, vyv271) 248.95/165.39 new_abs(Neg(Zero)) -> Neg(Zero) 248.95/165.39 new_abs(Neg(Succ(vyv27100))) -> Pos(Succ(vyv27100)) 248.95/165.39 new_abs(Pos(Succ(vyv27100))) -> Pos(Succ(vyv27100)) 248.95/165.39 new_abs(Pos(Zero)) -> Pos(Zero) 248.95/165.39 new_gcd0Gcd'10(True, vyv272, vyv271) -> new_abs(vyv272) 248.95/165.39 new_gcd0Gcd'10(False, vyv272, vyv271) -> new_gcd0Gcd'00(new_abs(vyv272), new_abs(vyv271)) 248.95/165.39 new_gcd0Gcd'00(vyv292, vyv291) -> new_gcd0Gcd'11(new_esEs(new_rem(vyv292, vyv291)), vyv291, vyv292) 248.95/165.39 new_gcd0Gcd'11(False, vyv291, vyv292) -> new_gcd0Gcd'00(vyv291, new_rem(vyv292, vyv291)) 248.95/165.39 new_rem(Pos(vyv2920), Neg(Zero)) -> new_error 248.95/165.39 new_rem(Neg(vyv2920), Pos(Zero)) -> new_error 248.95/165.39 new_rem(Pos(vyv2920), Neg(Succ(vyv29100))) -> Pos(new_primModNatS1(vyv2920, vyv29100)) 248.95/165.39 new_rem(Neg(vyv2920), Pos(Succ(vyv29100))) -> Neg(new_primModNatS1(vyv2920, vyv29100)) 248.95/165.39 new_rem(Pos(vyv2920), Pos(Succ(vyv29100))) -> Pos(new_primModNatS1(vyv2920, vyv29100)) 248.95/165.39 new_rem(Neg(vyv2920), Neg(Zero)) -> new_error 248.95/165.39 new_rem(Neg(vyv2920), Neg(Succ(vyv29100))) -> Neg(new_primModNatS1(vyv2920, vyv29100)) 248.95/165.39 new_rem(Pos(vyv2920), Pos(Zero)) -> new_error 248.95/165.39 new_gcd0Gcd'11(True, vyv291, vyv292) -> vyv291 248.95/165.39 new_primModNatS1(Succ(Zero), Succ(vyv291000)) -> Succ(Zero) 248.95/165.39 new_primModNatS1(Zero, vyv29100) -> Zero 248.95/165.39 new_primModNatS1(Succ(Succ(vyv292000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv292000), Zero) 248.95/165.39 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 248.95/165.39 new_primModNatS1(Succ(Succ(vyv292000)), Succ(vyv291000)) -> new_primModNatS01(vyv292000, vyv291000, vyv292000, vyv291000) 248.95/165.39 new_primModNatS01(vyv330, vyv331, Zero, Zero) -> new_primModNatS02(vyv330, vyv331) 248.95/165.39 new_primModNatS02(vyv330, vyv331) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv330), Succ(vyv331)), Succ(vyv331)) 248.95/165.39 new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Zero) -> new_primModNatS02(vyv330, vyv331) 248.95/165.39 new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Succ(vyv3330)) -> new_primModNatS01(vyv330, vyv331, vyv3320, vyv3330) 248.95/165.39 new_primModNatS01(vyv330, vyv331, Zero, Succ(vyv3330)) -> Succ(Succ(vyv330)) 248.95/165.39 new_gcd1(True, vyv272, vyv271) -> new_error 248.95/165.39 new_gcd1(False, vyv272, vyv271) -> new_gcd0(vyv272, vyv271) 248.95/165.39 new_primEqInt(Neg(Succ(vyv242000))) -> False 248.95/165.39 new_primEqInt(Pos(Zero)) -> True 248.95/165.39 new_primEqInt(Pos(Succ(vyv242000))) -> False 248.95/165.39 new_primEqInt(Neg(Zero)) -> True 248.95/165.39 new_primQuotInt0(vyv2700, Pos(Succ(vyv28700))) -> Neg(new_primDivNatS1(vyv2700, vyv28700)) 248.95/165.39 new_primQuotInt0(vyv2700, Neg(Zero)) -> new_error 248.95/165.39 new_primQuotInt0(vyv2700, Neg(Succ(vyv28700))) -> Pos(new_primDivNatS1(vyv2700, vyv28700)) 248.95/165.39 new_primQuotInt0(vyv2700, Pos(Zero)) -> new_error 248.95/165.39 new_primMulNat0(Succ(vyv23900), Zero) -> Zero 248.95/165.39 new_primMulNat0(Zero, Succ(vyv23800)) -> Zero 248.95/165.39 new_primMulNat0(Zero, Zero) -> Zero 248.95/165.39 new_primMulNat0(Succ(vyv23900), Succ(vyv23800)) -> new_primPlusNat0(new_primMulNat0(vyv23900, Succ(vyv23800)), Succ(vyv23800)) 248.95/165.39 new_primPlusNat0(Succ(vyv4000), Succ(vyv5000)) -> Succ(Succ(new_primPlusNat0(vyv4000, vyv5000))) 248.95/165.39 new_primPlusNat0(Zero, Succ(vyv5000)) -> Succ(vyv5000) 248.95/165.39 new_primPlusNat0(Zero, Zero) -> Zero 248.95/165.39 new_primPlusNat0(Succ(vyv4000), Zero) -> Succ(vyv4000) 248.95/165.39 new_sr7(vyv183) -> error([]) 248.95/165.39 new_esEs1(Integer(vyv2690)) -> new_primEqInt(vyv2690) 248.95/165.39 new_sr6(Neg(vyv1830)) -> Pos(new_primMulNat1(vyv1830)) 248.95/165.39 new_sr6(Pos(vyv1830)) -> Pos(new_primMulNat1(vyv1830)) 248.95/165.39 new_primMulNat1(Succ(vyv18300)) -> new_primPlusNat0(new_primMulNat2(vyv18300), Succ(vyv18300)) 248.95/165.39 new_primMulNat1(Zero) -> Zero 248.95/165.39 new_primMulNat2(Succ(vyv183000)) -> new_primPlusNat0(new_primMulNat3(vyv183000), Succ(Succ(vyv183000))) 248.95/165.39 new_primMulNat2(Zero) -> Zero 248.95/165.39 new_primMulNat3(Succ(vyv1830000)) -> new_primPlusNat0(new_primMulNat4(vyv1830000), Succ(Succ(Succ(vyv1830000)))) 248.95/165.39 new_primMulNat3(Zero) -> Zero 248.95/165.39 new_primMulNat4(Succ(vyv18300000)) -> new_primPlusNat0(new_primMulNat0(vyv18300000, Succ(Succ(Succ(Succ(vyv18300000))))), Succ(Succ(Succ(Succ(vyv18300000))))) 248.95/165.39 new_primMulNat4(Zero) -> Zero 248.95/165.39 new_sr9(vyv183) -> error([]) 248.95/165.39 new_sr10(vyv183) -> error([]) 248.95/165.39 new_sr4(vyv239, vyv238, app(ty_Ratio, bf)) -> new_sr12(vyv239, vyv238, bf) 248.95/165.39 new_sr4(vyv239, vyv238, ty_Integer) -> new_sr8(vyv239, vyv238) 248.95/165.39 new_sr4(vyv239, vyv238, ty_Int) -> new_sr14(vyv239, vyv238) 248.95/165.39 new_sr4(vyv239, vyv238, ty_Double) -> new_sr11(vyv239, vyv238) 248.95/165.39 new_sr4(vyv239, vyv238, ty_Float) -> new_sr13(vyv239, vyv238) 248.95/165.39 new_sr13(vyv239, vyv238) -> error([]) 248.95/165.39 new_sr11(vyv239, vyv238) -> error([]) 248.95/165.39 new_sr12(:%(vyv2390, vyv2391), :%(vyv2380, vyv2381), bf) -> new_reduce2Reduce1(vyv2390, vyv2380, vyv2391, vyv2381, new_esEs2(vyv2391, vyv2381, bf), bf) 248.95/165.39 new_esEs2(vyv2391, vyv2381, ty_Int) -> new_esEs(new_sr14(vyv2391, vyv2381)) 248.95/165.39 new_esEs2(vyv2391, vyv2381, ty_Integer) -> new_esEs1(new_sr8(vyv2391, vyv2381)) 248.95/165.39 248.95/165.39 The set Q consists of the following terms: 248.95/165.39 248.95/165.39 new_rem(Pos(x0), Pos(Succ(x1))) 248.95/165.39 new_quot1(x0, x1, x2, x3, ty_Integer) 248.95/165.39 new_primModNatS1(Succ(Zero), Succ(x0)) 248.95/165.39 new_primMulNat4(Zero) 248.95/165.39 new_gcd1(False, x0, x1) 248.95/165.39 new_primEqInt(Pos(Zero)) 248.95/165.39 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 248.95/165.39 new_rem(Pos(x0), Neg(Succ(x1))) 248.95/165.39 new_rem(Neg(x0), Pos(Succ(x1))) 248.95/165.39 new_sr10(x0) 248.95/165.39 new_quot1(x0, x1, x2, x3, ty_Int) 248.95/165.39 new_quot2(x0, x1, x2, x3, ty_Integer) 248.95/165.39 new_primModNatS01(x0, x1, Succ(x2), Zero) 248.95/165.39 new_sr3(x0, ty_Integer) 248.95/165.39 new_primMulNat3(Zero) 248.95/165.39 new_primDivNatS02(x0, x1, Succ(x2), Zero) 248.95/165.39 new_quot2(x0, x1, x2, x3, ty_Int) 248.95/165.39 new_gcd2(False, x0, x1) 248.95/165.39 new_primDivNatS1(Succ(Zero), Zero) 248.95/165.39 new_esEs0(x0, ty_Int) 248.95/165.39 new_sr14(Pos(x0), Pos(x1)) 248.95/165.39 new_sr3(x0, ty_Int) 248.95/165.39 new_primMulNat0(Zero, Zero) 248.95/165.39 new_sr4(x0, x1, ty_Double) 248.95/165.39 new_primPlusNat0(Succ(x0), Zero) 248.95/165.39 new_primMulNat2(Zero) 248.95/165.39 new_sr11(x0, x1) 248.95/165.39 new_primModNatS01(x0, x1, Zero, Zero) 248.95/165.39 new_esEs2(x0, x1, ty_Int) 248.95/165.39 new_gcd1(True, x0, x1) 248.95/165.39 new_sr13(x0, x1) 248.95/165.39 new_sr14(Pos(x0), Neg(x1)) 248.95/165.39 new_sr14(Neg(x0), Pos(x1)) 248.95/165.39 new_primDivNatS1(Succ(Succ(x0)), Succ(x1)) 248.95/165.39 new_primModNatS1(Zero, x0) 248.95/165.39 new_esEs(Pos(Succ(x0))) 248.95/165.39 new_primMulNat3(Succ(x0)) 248.95/165.39 new_primQuotInt(x0, Neg(Succ(x1))) 248.95/165.39 new_reduce2Reduce1(x0, x1, x2, x3, False, x4) 248.95/165.39 new_primDivNatS1(Zero, x0) 248.95/165.39 new_primDivNatS02(x0, x1, Succ(x2), Succ(x3)) 248.95/165.39 new_primModNatS02(x0, x1) 248.95/165.39 new_primDivNatS1(Succ(Zero), Succ(x0)) 248.95/165.39 new_sr6(Neg(x0)) 248.95/165.39 new_gcd0Gcd'10(True, x0, x1) 248.95/165.39 new_primMulNat0(Succ(x0), Succ(x1)) 248.95/165.39 new_abs(Neg(Zero)) 248.95/165.39 new_rem(Pos(x0), Neg(Zero)) 248.95/165.39 new_rem(Neg(x0), Pos(Zero)) 248.95/165.39 new_primMinusNatS2(Zero, Succ(x0)) 248.95/165.39 new_esEs(Neg(Succ(x0))) 248.95/165.39 new_error 248.95/165.39 new_primModNatS1(Succ(Zero), Zero) 248.95/165.39 new_primMulNat0(Zero, Succ(x0)) 248.95/165.39 new_sr3(x0, ty_Float) 248.95/165.39 new_quot(x0, x1, x2) 248.95/165.39 new_gcd2(True, x0, x1) 248.95/165.39 new_gcd0Gcd'11(True, x0, x1) 248.95/165.39 new_primEqInt(Neg(Zero)) 248.95/165.39 new_primMulNat0(Succ(x0), Zero) 248.95/165.39 new_quot0(Neg(x0), x1, x2) 248.95/165.39 new_primMinusNatS2(Succ(x0), Succ(x1)) 248.95/165.39 new_sr4(x0, x1, app(ty_Ratio, x2)) 248.95/165.39 new_sr8(x0, x1) 248.95/165.39 new_primDivNatS01(x0, x1) 248.95/165.39 new_primDivNatS02(x0, x1, Zero, Succ(x2)) 248.95/165.39 new_primPlusNat0(Succ(x0), Succ(x1)) 248.95/165.39 new_primPlusNat0(Zero, Zero) 248.95/165.39 new_sr12(:%(x0, x1), :%(x2, x3), x4) 248.95/165.39 new_abs(Neg(Succ(x0))) 248.95/165.39 new_sr3(x0, app(ty_Ratio, x1)) 248.95/165.39 new_sr7(x0) 248.95/165.39 new_gcd0(x0, x1) 248.95/165.39 new_primQuotInt0(x0, Pos(Succ(x1))) 248.95/165.39 new_sr4(x0, x1, ty_Integer) 248.95/165.39 new_sr5(:%(x0, x1), x2) 248.95/165.39 new_primMinusNatS2(Zero, Zero) 248.95/165.39 new_primMulNat1(Succ(x0)) 248.95/165.39 new_abs(Pos(Succ(x0))) 248.95/165.39 new_sr4(x0, x1, ty_Int) 248.95/165.39 new_esEs(Pos(Zero)) 248.95/165.39 new_primQuotInt0(x0, Pos(Zero)) 248.95/165.39 new_primEqInt(Neg(Succ(x0))) 248.95/165.39 new_primQuotInt(x0, Neg(Zero)) 248.95/165.39 new_primQuotInt0(x0, Neg(Zero)) 248.95/165.39 new_primQuotInt0(x0, Neg(Succ(x1))) 248.95/165.39 new_gcd(x0, x1) 248.95/165.39 new_quot0(Pos(x0), x1, x2) 248.95/165.39 new_primMinusNatS0(x0) 248.95/165.39 new_primPlusNat0(Zero, Succ(x0)) 248.95/165.39 new_primQuotInt(x0, Pos(Succ(x1))) 248.95/165.39 new_primDivNatS1(Succ(Succ(x0)), Zero) 248.95/165.39 new_rem(Pos(x0), Pos(Zero)) 248.95/165.39 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 248.95/165.39 new_primDivNatS02(x0, x1, Zero, Zero) 248.95/165.39 new_abs(Pos(Zero)) 248.95/165.39 new_gcd0Gcd'10(False, x0, x1) 248.95/165.39 new_primMinusNatS1 248.95/165.39 new_esEs1(Integer(x0)) 248.95/165.39 new_primModNatS01(x0, x1, Zero, Succ(x2)) 248.95/165.39 new_primMulNat2(Succ(x0)) 248.95/165.39 new_sr14(Neg(x0), Neg(x1)) 248.95/165.39 new_primMinusNatS2(Succ(x0), Zero) 248.95/165.39 new_sr4(x0, x1, ty_Float) 248.95/165.39 new_sr6(Pos(x0)) 248.95/165.39 new_esEs2(x0, x1, ty_Integer) 248.95/165.39 new_primMulNat4(Succ(x0)) 248.95/165.39 new_rem(Neg(x0), Neg(Succ(x1))) 248.95/165.39 new_primEqInt(Pos(Succ(x0))) 248.95/165.39 new_primQuotInt(x0, Pos(Zero)) 248.95/165.39 new_gcd0Gcd'11(False, x0, x1) 248.95/165.39 new_sr9(x0) 248.95/165.39 new_primModNatS1(Succ(Succ(x0)), Zero) 248.95/165.39 new_esEs0(x0, ty_Integer) 248.95/165.39 new_gcd0Gcd'00(x0, x1) 248.95/165.39 new_reduce2Reduce1(x0, x1, x2, x3, True, x4) 248.95/165.39 new_sr3(x0, ty_Double) 248.95/165.39 new_esEs(Neg(Zero)) 248.95/165.39 new_primMulNat1(Zero) 248.95/165.39 new_rem(Neg(x0), Neg(Zero)) 248.95/165.39 new_new_pr2F0G10(Succ(Succ(x0))) 248.95/165.39 new_new_pr2F0G10(Succ(Zero)) 248.95/165.39 new_new_pr2F0G10(Zero) 248.95/165.39 248.95/165.39 We have to consider all minimal (P,Q,R)-chains. 248.95/165.39 ---------------------------------------- 248.95/165.39 248.95/165.39 (853) TransformationProof (EQUIVALENT) 248.95/165.39 By narrowing [LPAR04] the rule new_pr2F0G10(y0, y1, Succ(Succ(x2)), Zero, y3) -> new_pr2F0G(y0, new_sr3(y1, y3), Neg(Succ(new_primDivNatS1(Succ(x2), Succ(Zero)))), y3) at position [2,0,0] we obtained the following new rules [LPAR04]: 248.95/165.39 248.95/165.39 (new_pr2F0G10(y0, y1, Succ(Succ(Zero)), Zero, y3) -> new_pr2F0G(y0, new_sr3(y1, y3), Neg(Succ(Zero)), y3),new_pr2F0G10(y0, y1, Succ(Succ(Zero)), Zero, y3) -> new_pr2F0G(y0, new_sr3(y1, y3), Neg(Succ(Zero)), y3)) 248.95/165.39 (new_pr2F0G10(y0, y1, Succ(Succ(Succ(x0))), Zero, y3) -> new_pr2F0G(y0, new_sr3(y1, y3), Neg(Succ(new_primDivNatS02(x0, Zero, x0, Zero))), y3),new_pr2F0G10(y0, y1, Succ(Succ(Succ(x0))), Zero, y3) -> new_pr2F0G(y0, new_sr3(y1, y3), Neg(Succ(new_primDivNatS02(x0, Zero, x0, Zero))), y3)) 248.95/165.39 248.95/165.39 248.95/165.39 ---------------------------------------- 248.95/165.39 248.95/165.39 (854) 248.95/165.39 Obligation: 248.95/165.39 Q DP problem: 248.95/165.39 The TRS P consists of the following rules: 248.95/165.39 248.95/165.39 new_pr2F0(vyv183, Neg(Succ(Succ(vyv222000))), vyv187, h) -> new_pr2F0G10(vyv187, vyv183, Succ(vyv222000), vyv222000, h) 248.95/165.39 new_pr2F0G10(vyv248, vyv249, vyv250, Succ(Zero), bb) -> new_pr2F0G11(vyv248, vyv249, vyv250, bb) 248.95/165.39 new_pr2F0G11(vyv238, vyv239, vyv240, bc) -> new_pr2F1(vyv239, vyv240, Pos(Succ(Zero)), vyv238, bc) 248.95/165.39 new_pr2F1(z1, z2, Pos(Succ(Zero)), z0, z3) -> new_pr2F30(False, z1, z2, Pos(Succ(Zero)), z0, z3) 248.95/165.39 new_pr2F30(False, z0, z1, Pos(Succ(Zero)), z2, z3) -> new_pr2F0(z0, Neg(Succ(Succ(new_primPlusNat0(z1, Zero)))), new_sr4(z0, z2, z3), z3) 248.95/165.39 H(vyv248, vyv249, vyv250, bb, cons_new_pr2F0G10(Succ(Zero))) -> new_pr2F0G10(vyv248, vyv249, vyv250, Succ(Zero), bb) 248.95/165.39 H(vyv248, vyv249, vyv250, bb, cons_new_pr2F0G10(Zero)) -> new_pr2F0G10(vyv248, vyv249, vyv250, Zero, bb) 248.95/165.39 new_pr2F0G(vyv187, vyv183, Neg(Succ(Zero)), h) -> new_pr2F0G11(vyv187, vyv183, Zero, h) 248.95/165.39 new_pr2F0G(vyv187, vyv183, Neg(Succ(Succ(vyv222000))), h) -> new_pr2F0G10(vyv187, vyv183, Succ(vyv222000), vyv222000, h) 248.95/165.39 new_pr2F0G10(y0, y1, Succ(Zero), Zero, y3) -> new_pr2F0G(y0, new_sr3(y1, y3), Neg(Succ(Zero)), y3) 248.95/165.39 new_pr2F0G(y0, y1, Neg(Succ(Succ(Succ(Succ(x0))))), y3) -> H(y0, y1, Succ(Succ(Succ(x0))), y3, new_new_pr2F0G10(x0)) 248.95/165.39 new_pr2F0(y0, Neg(Succ(Succ(Succ(Succ(Succ(Succ(x0))))))), y2, y3) -> H(y2, y0, Succ(Succ(Succ(Succ(Succ(x0))))), y3, new_new_pr2F0G10(x0)) 248.95/165.39 new_pr2F0(y0, Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), y2, y3) -> H(y2, y0, Succ(Succ(Succ(Succ(Zero)))), y3, cons_new_pr2F0G10(Succ(Zero))) 248.95/165.39 new_pr2F0(y0, Neg(Succ(Succ(Succ(Succ(Zero))))), y2, y3) -> H(y2, y0, Succ(Succ(Succ(Zero))), y3, cons_new_pr2F0G10(Zero)) 248.95/165.39 new_pr2F0G10(y0, y1, Succ(Succ(Zero)), Zero, y3) -> new_pr2F0G(y0, new_sr3(y1, y3), Neg(Succ(Zero)), y3) 248.95/165.39 new_pr2F0G10(y0, y1, Succ(Succ(Succ(x0))), Zero, y3) -> new_pr2F0G(y0, new_sr3(y1, y3), Neg(Succ(new_primDivNatS02(x0, Zero, x0, Zero))), y3) 248.95/165.39 248.95/165.39 The TRS R consists of the following rules: 248.95/165.39 248.95/165.39 new_new_pr2F0G10(Succ(Succ(vyv25100))) -> new_new_pr2F0G10(vyv25100) 248.95/165.39 new_new_pr2F0G10(Succ(Zero)) -> cons_new_pr2F0G10(Succ(Zero)) 248.95/165.39 new_new_pr2F0G10(Zero) -> cons_new_pr2F0G10(Zero) 248.95/165.39 new_sr3(vyv249, ty_Float) -> new_sr10(vyv249) 248.95/165.39 new_sr3(vyv249, ty_Double) -> new_sr9(vyv249) 248.95/165.39 new_sr3(vyv249, ty_Int) -> new_sr6(vyv249) 248.95/165.39 new_sr3(vyv249, ty_Integer) -> new_sr7(vyv249) 248.95/165.39 new_sr3(vyv249, app(ty_Ratio, bg)) -> new_sr5(vyv249, bg) 248.95/165.39 new_sr5(:%(vyv1830, vyv1831), bd) -> new_reduce2Reduce1(vyv1830, vyv1830, vyv1831, vyv1831, new_esEs0(vyv1831, bd), bd) 248.95/165.39 new_esEs0(vyv1831, ty_Int) -> new_esEs(new_sr6(vyv1831)) 248.95/165.39 new_esEs0(vyv1831, ty_Integer) -> new_esEs1(new_sr7(vyv1831)) 248.95/165.39 new_reduce2Reduce1(vyv264, vyv265, vyv266, vyv267, False, bh) -> :%(new_quot1(vyv264, vyv265, vyv266, vyv267, bh), new_quot2(vyv266, vyv267, vyv264, vyv265, bh)) 248.95/165.39 new_reduce2Reduce1(vyv264, vyv265, vyv266, vyv267, True, bh) -> error([]) 248.95/165.39 new_quot1(vyv264, vyv265, vyv266, vyv267, ty_Int) -> new_quot0(new_sr14(vyv264, vyv265), new_sr14(vyv264, vyv265), new_sr14(vyv266, vyv267)) 248.95/165.39 new_quot1(vyv264, vyv265, vyv266, vyv267, ty_Integer) -> new_quot(new_sr8(vyv264, vyv265), new_sr8(vyv264, vyv265), new_sr8(vyv266, vyv267)) 248.95/165.39 new_quot2(vyv266, vyv267, vyv264, vyv265, ty_Int) -> new_quot0(new_sr14(vyv266, vyv267), new_sr14(vyv264, vyv265), new_sr14(vyv266, vyv267)) 248.95/165.39 new_quot2(vyv266, vyv267, vyv264, vyv265, ty_Integer) -> new_quot(new_sr8(vyv266, vyv267), new_sr8(vyv264, vyv265), new_sr8(vyv266, vyv267)) 248.95/165.39 new_sr8(vyv239, vyv238) -> error([]) 248.95/165.39 new_quot(vyv273, vyv275, vyv274) -> error([]) 248.95/165.39 new_sr14(Pos(vyv2390), Neg(vyv2380)) -> Neg(new_primMulNat0(vyv2390, vyv2380)) 248.95/165.39 new_sr14(Neg(vyv2390), Pos(vyv2380)) -> Neg(new_primMulNat0(vyv2390, vyv2380)) 248.95/165.39 new_sr14(Neg(vyv2390), Neg(vyv2380)) -> Pos(new_primMulNat0(vyv2390, vyv2380)) 248.95/165.39 new_sr14(Pos(vyv2390), Pos(vyv2380)) -> Pos(new_primMulNat0(vyv2390, vyv2380)) 248.95/165.39 new_quot0(Neg(vyv2700), vyv272, vyv271) -> new_primQuotInt0(vyv2700, new_gcd(vyv272, vyv271)) 248.95/165.39 new_quot0(Pos(vyv2700), vyv272, vyv271) -> new_primQuotInt(vyv2700, new_gcd(vyv272, vyv271)) 248.95/165.39 new_gcd(vyv272, vyv271) -> new_gcd2(new_esEs(vyv272), vyv272, vyv271) 248.95/165.39 new_primQuotInt(vyv2700, Pos(Succ(vyv28400))) -> Pos(new_primDivNatS1(vyv2700, vyv28400)) 248.95/165.39 new_primQuotInt(vyv2700, Neg(Zero)) -> new_error 248.95/165.39 new_primQuotInt(vyv2700, Pos(Zero)) -> new_error 248.95/165.39 new_primQuotInt(vyv2700, Neg(Succ(vyv28400))) -> Neg(new_primDivNatS1(vyv2700, vyv28400)) 248.95/165.39 new_primDivNatS1(Succ(Zero), Succ(vyv284000)) -> Zero 248.95/165.39 new_primDivNatS1(Succ(Succ(vyv270000)), Succ(vyv284000)) -> new_primDivNatS02(vyv270000, vyv284000, vyv270000, vyv284000) 248.95/165.39 new_primDivNatS1(Zero, vyv28400) -> Zero 248.95/165.39 new_primDivNatS1(Succ(Succ(vyv270000)), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS0(vyv270000), Zero)) 248.95/165.39 new_primDivNatS1(Succ(Zero), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS1, Zero)) 248.95/165.39 new_primMinusNatS1 -> Zero 248.95/165.39 new_primMinusNatS0(vyv270000) -> Succ(vyv270000) 248.95/165.39 new_primDivNatS02(vyv310, vyv311, Zero, Zero) -> new_primDivNatS01(vyv310, vyv311) 248.95/165.39 new_primDivNatS02(vyv310, vyv311, Succ(vyv3120), Zero) -> new_primDivNatS01(vyv310, vyv311) 248.95/165.39 new_primDivNatS02(vyv310, vyv311, Zero, Succ(vyv3130)) -> Zero 248.95/165.39 new_primDivNatS02(vyv310, vyv311, Succ(vyv3120), Succ(vyv3130)) -> new_primDivNatS02(vyv310, vyv311, vyv3120, vyv3130) 248.95/165.39 new_primDivNatS01(vyv310, vyv311) -> Succ(new_primDivNatS1(new_primMinusNatS2(vyv310, vyv311), Succ(vyv311))) 248.95/165.39 new_primMinusNatS2(Zero, Succ(vyv3110)) -> Zero 248.95/165.39 new_primMinusNatS2(Succ(vyv3100), Zero) -> Succ(vyv3100) 248.95/165.39 new_primMinusNatS2(Zero, Zero) -> Zero 248.95/165.39 new_primMinusNatS2(Succ(vyv3100), Succ(vyv3110)) -> new_primMinusNatS2(vyv3100, vyv3110) 248.95/165.39 new_error -> error([]) 248.95/165.39 new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) 248.95/165.39 new_esEs(Pos(Succ(vyv24100))) -> new_primEqInt(Pos(Succ(vyv24100))) 248.95/165.39 new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) 248.95/165.39 new_esEs(Neg(Succ(vyv24100))) -> new_primEqInt(Neg(Succ(vyv24100))) 248.95/165.39 new_gcd2(True, vyv272, vyv271) -> new_gcd1(new_esEs(vyv271), vyv272, vyv271) 248.95/165.39 new_gcd2(False, vyv272, vyv271) -> new_gcd0(vyv272, vyv271) 248.95/165.39 new_gcd0(vyv272, vyv271) -> new_gcd0Gcd'10(new_esEs(new_abs(vyv271)), vyv272, vyv271) 248.95/165.39 new_abs(Neg(Zero)) -> Neg(Zero) 248.95/165.39 new_abs(Neg(Succ(vyv27100))) -> Pos(Succ(vyv27100)) 248.95/165.39 new_abs(Pos(Succ(vyv27100))) -> Pos(Succ(vyv27100)) 248.95/165.39 new_abs(Pos(Zero)) -> Pos(Zero) 248.95/165.39 new_gcd0Gcd'10(True, vyv272, vyv271) -> new_abs(vyv272) 248.95/165.39 new_gcd0Gcd'10(False, vyv272, vyv271) -> new_gcd0Gcd'00(new_abs(vyv272), new_abs(vyv271)) 248.95/165.39 new_gcd0Gcd'00(vyv292, vyv291) -> new_gcd0Gcd'11(new_esEs(new_rem(vyv292, vyv291)), vyv291, vyv292) 248.95/165.39 new_gcd0Gcd'11(False, vyv291, vyv292) -> new_gcd0Gcd'00(vyv291, new_rem(vyv292, vyv291)) 248.95/165.39 new_rem(Pos(vyv2920), Neg(Zero)) -> new_error 248.95/165.39 new_rem(Neg(vyv2920), Pos(Zero)) -> new_error 248.95/165.39 new_rem(Pos(vyv2920), Neg(Succ(vyv29100))) -> Pos(new_primModNatS1(vyv2920, vyv29100)) 248.95/165.39 new_rem(Neg(vyv2920), Pos(Succ(vyv29100))) -> Neg(new_primModNatS1(vyv2920, vyv29100)) 248.95/165.39 new_rem(Pos(vyv2920), Pos(Succ(vyv29100))) -> Pos(new_primModNatS1(vyv2920, vyv29100)) 248.95/165.39 new_rem(Neg(vyv2920), Neg(Zero)) -> new_error 248.95/165.39 new_rem(Neg(vyv2920), Neg(Succ(vyv29100))) -> Neg(new_primModNatS1(vyv2920, vyv29100)) 248.95/165.39 new_rem(Pos(vyv2920), Pos(Zero)) -> new_error 248.95/165.39 new_gcd0Gcd'11(True, vyv291, vyv292) -> vyv291 248.95/165.39 new_primModNatS1(Succ(Zero), Succ(vyv291000)) -> Succ(Zero) 248.95/165.39 new_primModNatS1(Zero, vyv29100) -> Zero 248.95/165.39 new_primModNatS1(Succ(Succ(vyv292000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv292000), Zero) 248.95/165.39 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 248.95/165.39 new_primModNatS1(Succ(Succ(vyv292000)), Succ(vyv291000)) -> new_primModNatS01(vyv292000, vyv291000, vyv292000, vyv291000) 248.95/165.39 new_primModNatS01(vyv330, vyv331, Zero, Zero) -> new_primModNatS02(vyv330, vyv331) 248.95/165.39 new_primModNatS02(vyv330, vyv331) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv330), Succ(vyv331)), Succ(vyv331)) 248.95/165.39 new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Zero) -> new_primModNatS02(vyv330, vyv331) 248.95/165.39 new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Succ(vyv3330)) -> new_primModNatS01(vyv330, vyv331, vyv3320, vyv3330) 248.95/165.39 new_primModNatS01(vyv330, vyv331, Zero, Succ(vyv3330)) -> Succ(Succ(vyv330)) 248.95/165.39 new_gcd1(True, vyv272, vyv271) -> new_error 248.95/165.39 new_gcd1(False, vyv272, vyv271) -> new_gcd0(vyv272, vyv271) 248.95/165.39 new_primEqInt(Neg(Succ(vyv242000))) -> False 248.95/165.39 new_primEqInt(Pos(Zero)) -> True 248.95/165.39 new_primEqInt(Pos(Succ(vyv242000))) -> False 248.95/165.39 new_primEqInt(Neg(Zero)) -> True 248.95/165.39 new_primQuotInt0(vyv2700, Pos(Succ(vyv28700))) -> Neg(new_primDivNatS1(vyv2700, vyv28700)) 248.95/165.39 new_primQuotInt0(vyv2700, Neg(Zero)) -> new_error 248.95/165.39 new_primQuotInt0(vyv2700, Neg(Succ(vyv28700))) -> Pos(new_primDivNatS1(vyv2700, vyv28700)) 248.95/165.39 new_primQuotInt0(vyv2700, Pos(Zero)) -> new_error 248.95/165.39 new_primMulNat0(Succ(vyv23900), Zero) -> Zero 248.95/165.39 new_primMulNat0(Zero, Succ(vyv23800)) -> Zero 248.95/165.39 new_primMulNat0(Zero, Zero) -> Zero 248.95/165.39 new_primMulNat0(Succ(vyv23900), Succ(vyv23800)) -> new_primPlusNat0(new_primMulNat0(vyv23900, Succ(vyv23800)), Succ(vyv23800)) 248.95/165.39 new_primPlusNat0(Succ(vyv4000), Succ(vyv5000)) -> Succ(Succ(new_primPlusNat0(vyv4000, vyv5000))) 248.95/165.39 new_primPlusNat0(Zero, Succ(vyv5000)) -> Succ(vyv5000) 248.95/165.39 new_primPlusNat0(Zero, Zero) -> Zero 248.95/165.39 new_primPlusNat0(Succ(vyv4000), Zero) -> Succ(vyv4000) 248.95/165.39 new_sr7(vyv183) -> error([]) 248.95/165.39 new_esEs1(Integer(vyv2690)) -> new_primEqInt(vyv2690) 248.95/165.39 new_sr6(Neg(vyv1830)) -> Pos(new_primMulNat1(vyv1830)) 248.95/165.39 new_sr6(Pos(vyv1830)) -> Pos(new_primMulNat1(vyv1830)) 248.95/165.39 new_primMulNat1(Succ(vyv18300)) -> new_primPlusNat0(new_primMulNat2(vyv18300), Succ(vyv18300)) 248.95/165.39 new_primMulNat1(Zero) -> Zero 248.95/165.39 new_primMulNat2(Succ(vyv183000)) -> new_primPlusNat0(new_primMulNat3(vyv183000), Succ(Succ(vyv183000))) 248.95/165.39 new_primMulNat2(Zero) -> Zero 248.95/165.39 new_primMulNat3(Succ(vyv1830000)) -> new_primPlusNat0(new_primMulNat4(vyv1830000), Succ(Succ(Succ(vyv1830000)))) 248.95/165.39 new_primMulNat3(Zero) -> Zero 248.95/165.39 new_primMulNat4(Succ(vyv18300000)) -> new_primPlusNat0(new_primMulNat0(vyv18300000, Succ(Succ(Succ(Succ(vyv18300000))))), Succ(Succ(Succ(Succ(vyv18300000))))) 248.95/165.39 new_primMulNat4(Zero) -> Zero 248.95/165.39 new_sr9(vyv183) -> error([]) 248.95/165.39 new_sr10(vyv183) -> error([]) 248.95/165.39 new_sr4(vyv239, vyv238, app(ty_Ratio, bf)) -> new_sr12(vyv239, vyv238, bf) 248.95/165.39 new_sr4(vyv239, vyv238, ty_Integer) -> new_sr8(vyv239, vyv238) 248.95/165.39 new_sr4(vyv239, vyv238, ty_Int) -> new_sr14(vyv239, vyv238) 248.95/165.39 new_sr4(vyv239, vyv238, ty_Double) -> new_sr11(vyv239, vyv238) 248.95/165.39 new_sr4(vyv239, vyv238, ty_Float) -> new_sr13(vyv239, vyv238) 248.95/165.39 new_sr13(vyv239, vyv238) -> error([]) 248.95/165.39 new_sr11(vyv239, vyv238) -> error([]) 248.95/165.39 new_sr12(:%(vyv2390, vyv2391), :%(vyv2380, vyv2381), bf) -> new_reduce2Reduce1(vyv2390, vyv2380, vyv2391, vyv2381, new_esEs2(vyv2391, vyv2381, bf), bf) 248.95/165.39 new_esEs2(vyv2391, vyv2381, ty_Int) -> new_esEs(new_sr14(vyv2391, vyv2381)) 248.95/165.39 new_esEs2(vyv2391, vyv2381, ty_Integer) -> new_esEs1(new_sr8(vyv2391, vyv2381)) 248.95/165.39 248.95/165.39 The set Q consists of the following terms: 248.95/165.39 248.95/165.39 new_rem(Pos(x0), Pos(Succ(x1))) 248.95/165.39 new_quot1(x0, x1, x2, x3, ty_Integer) 248.95/165.39 new_primModNatS1(Succ(Zero), Succ(x0)) 248.95/165.39 new_primMulNat4(Zero) 248.95/165.39 new_gcd1(False, x0, x1) 248.95/165.39 new_primEqInt(Pos(Zero)) 248.95/165.39 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 248.95/165.39 new_rem(Pos(x0), Neg(Succ(x1))) 248.95/165.39 new_rem(Neg(x0), Pos(Succ(x1))) 248.95/165.39 new_sr10(x0) 248.95/165.39 new_quot1(x0, x1, x2, x3, ty_Int) 248.95/165.39 new_quot2(x0, x1, x2, x3, ty_Integer) 248.95/165.39 new_primModNatS01(x0, x1, Succ(x2), Zero) 248.95/165.39 new_sr3(x0, ty_Integer) 248.95/165.39 new_primMulNat3(Zero) 248.95/165.39 new_primDivNatS02(x0, x1, Succ(x2), Zero) 248.95/165.39 new_quot2(x0, x1, x2, x3, ty_Int) 248.95/165.39 new_gcd2(False, x0, x1) 248.95/165.39 new_primDivNatS1(Succ(Zero), Zero) 248.95/165.39 new_esEs0(x0, ty_Int) 248.95/165.39 new_sr14(Pos(x0), Pos(x1)) 248.95/165.39 new_sr3(x0, ty_Int) 248.95/165.39 new_primMulNat0(Zero, Zero) 248.95/165.39 new_sr4(x0, x1, ty_Double) 248.95/165.39 new_primPlusNat0(Succ(x0), Zero) 248.95/165.39 new_primMulNat2(Zero) 248.95/165.39 new_sr11(x0, x1) 248.95/165.39 new_primModNatS01(x0, x1, Zero, Zero) 248.95/165.39 new_esEs2(x0, x1, ty_Int) 248.95/165.39 new_gcd1(True, x0, x1) 248.95/165.39 new_sr13(x0, x1) 248.95/165.39 new_sr14(Pos(x0), Neg(x1)) 248.95/165.39 new_sr14(Neg(x0), Pos(x1)) 248.95/165.39 new_primDivNatS1(Succ(Succ(x0)), Succ(x1)) 248.95/165.39 new_primModNatS1(Zero, x0) 248.95/165.39 new_esEs(Pos(Succ(x0))) 248.95/165.39 new_primMulNat3(Succ(x0)) 248.95/165.39 new_primQuotInt(x0, Neg(Succ(x1))) 248.95/165.39 new_reduce2Reduce1(x0, x1, x2, x3, False, x4) 248.95/165.39 new_primDivNatS1(Zero, x0) 248.95/165.39 new_primDivNatS02(x0, x1, Succ(x2), Succ(x3)) 248.95/165.39 new_primModNatS02(x0, x1) 248.95/165.39 new_primDivNatS1(Succ(Zero), Succ(x0)) 248.95/165.39 new_sr6(Neg(x0)) 248.95/165.39 new_gcd0Gcd'10(True, x0, x1) 248.95/165.39 new_primMulNat0(Succ(x0), Succ(x1)) 248.95/165.39 new_abs(Neg(Zero)) 248.95/165.39 new_rem(Pos(x0), Neg(Zero)) 248.95/165.39 new_rem(Neg(x0), Pos(Zero)) 248.95/165.39 new_primMinusNatS2(Zero, Succ(x0)) 248.95/165.39 new_esEs(Neg(Succ(x0))) 248.95/165.39 new_error 248.95/165.39 new_primModNatS1(Succ(Zero), Zero) 248.95/165.39 new_primMulNat0(Zero, Succ(x0)) 248.95/165.39 new_sr3(x0, ty_Float) 248.95/165.39 new_quot(x0, x1, x2) 248.95/165.39 new_gcd2(True, x0, x1) 248.95/165.39 new_gcd0Gcd'11(True, x0, x1) 248.95/165.39 new_primEqInt(Neg(Zero)) 248.95/165.39 new_primMulNat0(Succ(x0), Zero) 248.95/165.39 new_quot0(Neg(x0), x1, x2) 248.95/165.39 new_primMinusNatS2(Succ(x0), Succ(x1)) 248.95/165.39 new_sr4(x0, x1, app(ty_Ratio, x2)) 248.95/165.39 new_sr8(x0, x1) 248.95/165.39 new_primDivNatS01(x0, x1) 248.95/165.39 new_primDivNatS02(x0, x1, Zero, Succ(x2)) 248.95/165.39 new_primPlusNat0(Succ(x0), Succ(x1)) 248.95/165.39 new_primPlusNat0(Zero, Zero) 248.95/165.39 new_sr12(:%(x0, x1), :%(x2, x3), x4) 248.95/165.39 new_abs(Neg(Succ(x0))) 248.95/165.39 new_sr3(x0, app(ty_Ratio, x1)) 248.95/165.39 new_sr7(x0) 248.95/165.39 new_gcd0(x0, x1) 248.95/165.39 new_primQuotInt0(x0, Pos(Succ(x1))) 248.95/165.39 new_sr4(x0, x1, ty_Integer) 248.95/165.39 new_sr5(:%(x0, x1), x2) 248.95/165.39 new_primMinusNatS2(Zero, Zero) 248.95/165.39 new_primMulNat1(Succ(x0)) 248.95/165.39 new_abs(Pos(Succ(x0))) 248.95/165.39 new_sr4(x0, x1, ty_Int) 248.95/165.39 new_esEs(Pos(Zero)) 248.95/165.39 new_primQuotInt0(x0, Pos(Zero)) 248.95/165.39 new_primEqInt(Neg(Succ(x0))) 248.95/165.39 new_primQuotInt(x0, Neg(Zero)) 248.95/165.39 new_primQuotInt0(x0, Neg(Zero)) 248.95/165.39 new_primQuotInt0(x0, Neg(Succ(x1))) 248.95/165.39 new_gcd(x0, x1) 248.95/165.39 new_quot0(Pos(x0), x1, x2) 248.95/165.39 new_primMinusNatS0(x0) 248.95/165.39 new_primPlusNat0(Zero, Succ(x0)) 248.95/165.39 new_primQuotInt(x0, Pos(Succ(x1))) 248.95/165.39 new_primDivNatS1(Succ(Succ(x0)), Zero) 248.95/165.39 new_rem(Pos(x0), Pos(Zero)) 248.95/165.39 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 248.95/165.39 new_primDivNatS02(x0, x1, Zero, Zero) 248.95/165.39 new_abs(Pos(Zero)) 248.95/165.39 new_gcd0Gcd'10(False, x0, x1) 248.95/165.39 new_primMinusNatS1 248.95/165.39 new_esEs1(Integer(x0)) 248.95/165.39 new_primModNatS01(x0, x1, Zero, Succ(x2)) 248.95/165.39 new_primMulNat2(Succ(x0)) 248.95/165.39 new_sr14(Neg(x0), Neg(x1)) 248.95/165.39 new_primMinusNatS2(Succ(x0), Zero) 248.95/165.39 new_sr4(x0, x1, ty_Float) 248.95/165.39 new_sr6(Pos(x0)) 248.95/165.39 new_esEs2(x0, x1, ty_Integer) 248.95/165.39 new_primMulNat4(Succ(x0)) 248.95/165.39 new_rem(Neg(x0), Neg(Succ(x1))) 248.95/165.39 new_primEqInt(Pos(Succ(x0))) 248.95/165.39 new_primQuotInt(x0, Pos(Zero)) 248.95/165.39 new_gcd0Gcd'11(False, x0, x1) 248.95/165.39 new_sr9(x0) 248.95/165.39 new_primModNatS1(Succ(Succ(x0)), Zero) 248.95/165.39 new_esEs0(x0, ty_Integer) 248.95/165.39 new_gcd0Gcd'00(x0, x1) 248.95/165.39 new_reduce2Reduce1(x0, x1, x2, x3, True, x4) 248.95/165.39 new_sr3(x0, ty_Double) 248.95/165.39 new_esEs(Neg(Zero)) 248.95/165.39 new_primMulNat1(Zero) 248.95/165.39 new_rem(Neg(x0), Neg(Zero)) 248.95/165.39 new_new_pr2F0G10(Succ(Succ(x0))) 248.95/165.39 new_new_pr2F0G10(Succ(Zero)) 248.95/165.39 new_new_pr2F0G10(Zero) 248.95/165.39 248.95/165.39 We have to consider all minimal (P,Q,R)-chains. 248.95/165.39 ---------------------------------------- 248.95/165.39 248.95/165.39 (855) TransformationProof (EQUIVALENT) 248.95/165.39 By narrowing [LPAR04] the rule new_pr2F0G(y0, y1, Neg(Succ(Succ(Succ(Succ(x0))))), y3) -> H(y0, y1, Succ(Succ(Succ(x0))), y3, new_new_pr2F0G10(x0)) at position [4] we obtained the following new rules [LPAR04]: 248.95/165.39 248.95/165.39 (new_pr2F0G(y0, y1, Neg(Succ(Succ(Succ(Succ(Succ(Succ(x0))))))), y3) -> H(y0, y1, Succ(Succ(Succ(Succ(Succ(x0))))), y3, new_new_pr2F0G10(x0)),new_pr2F0G(y0, y1, Neg(Succ(Succ(Succ(Succ(Succ(Succ(x0))))))), y3) -> H(y0, y1, Succ(Succ(Succ(Succ(Succ(x0))))), y3, new_new_pr2F0G10(x0))) 248.95/165.39 (new_pr2F0G(y0, y1, Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), y3) -> H(y0, y1, Succ(Succ(Succ(Succ(Zero)))), y3, cons_new_pr2F0G10(Succ(Zero))),new_pr2F0G(y0, y1, Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), y3) -> H(y0, y1, Succ(Succ(Succ(Succ(Zero)))), y3, cons_new_pr2F0G10(Succ(Zero)))) 248.95/165.39 (new_pr2F0G(y0, y1, Neg(Succ(Succ(Succ(Succ(Zero))))), y3) -> H(y0, y1, Succ(Succ(Succ(Zero))), y3, cons_new_pr2F0G10(Zero)),new_pr2F0G(y0, y1, Neg(Succ(Succ(Succ(Succ(Zero))))), y3) -> H(y0, y1, Succ(Succ(Succ(Zero))), y3, cons_new_pr2F0G10(Zero))) 248.95/165.39 248.95/165.39 248.95/165.39 ---------------------------------------- 248.95/165.39 248.95/165.39 (856) 248.95/165.39 Obligation: 248.95/165.39 Q DP problem: 248.95/165.39 The TRS P consists of the following rules: 248.95/165.39 248.95/165.39 new_pr2F0(vyv183, Neg(Succ(Succ(vyv222000))), vyv187, h) -> new_pr2F0G10(vyv187, vyv183, Succ(vyv222000), vyv222000, h) 248.95/165.39 new_pr2F0G10(vyv248, vyv249, vyv250, Succ(Zero), bb) -> new_pr2F0G11(vyv248, vyv249, vyv250, bb) 248.95/165.39 new_pr2F0G11(vyv238, vyv239, vyv240, bc) -> new_pr2F1(vyv239, vyv240, Pos(Succ(Zero)), vyv238, bc) 248.95/165.39 new_pr2F1(z1, z2, Pos(Succ(Zero)), z0, z3) -> new_pr2F30(False, z1, z2, Pos(Succ(Zero)), z0, z3) 248.95/165.39 new_pr2F30(False, z0, z1, Pos(Succ(Zero)), z2, z3) -> new_pr2F0(z0, Neg(Succ(Succ(new_primPlusNat0(z1, Zero)))), new_sr4(z0, z2, z3), z3) 248.95/165.39 H(vyv248, vyv249, vyv250, bb, cons_new_pr2F0G10(Succ(Zero))) -> new_pr2F0G10(vyv248, vyv249, vyv250, Succ(Zero), bb) 248.95/165.39 H(vyv248, vyv249, vyv250, bb, cons_new_pr2F0G10(Zero)) -> new_pr2F0G10(vyv248, vyv249, vyv250, Zero, bb) 248.95/165.39 new_pr2F0G(vyv187, vyv183, Neg(Succ(Zero)), h) -> new_pr2F0G11(vyv187, vyv183, Zero, h) 248.95/165.39 new_pr2F0G(vyv187, vyv183, Neg(Succ(Succ(vyv222000))), h) -> new_pr2F0G10(vyv187, vyv183, Succ(vyv222000), vyv222000, h) 248.95/165.39 new_pr2F0G10(y0, y1, Succ(Zero), Zero, y3) -> new_pr2F0G(y0, new_sr3(y1, y3), Neg(Succ(Zero)), y3) 248.95/165.39 new_pr2F0(y0, Neg(Succ(Succ(Succ(Succ(Succ(Succ(x0))))))), y2, y3) -> H(y2, y0, Succ(Succ(Succ(Succ(Succ(x0))))), y3, new_new_pr2F0G10(x0)) 248.95/165.39 new_pr2F0(y0, Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), y2, y3) -> H(y2, y0, Succ(Succ(Succ(Succ(Zero)))), y3, cons_new_pr2F0G10(Succ(Zero))) 248.95/165.39 new_pr2F0(y0, Neg(Succ(Succ(Succ(Succ(Zero))))), y2, y3) -> H(y2, y0, Succ(Succ(Succ(Zero))), y3, cons_new_pr2F0G10(Zero)) 248.95/165.39 new_pr2F0G10(y0, y1, Succ(Succ(Zero)), Zero, y3) -> new_pr2F0G(y0, new_sr3(y1, y3), Neg(Succ(Zero)), y3) 248.95/165.39 new_pr2F0G10(y0, y1, Succ(Succ(Succ(x0))), Zero, y3) -> new_pr2F0G(y0, new_sr3(y1, y3), Neg(Succ(new_primDivNatS02(x0, Zero, x0, Zero))), y3) 248.95/165.39 new_pr2F0G(y0, y1, Neg(Succ(Succ(Succ(Succ(Succ(Succ(x0))))))), y3) -> H(y0, y1, Succ(Succ(Succ(Succ(Succ(x0))))), y3, new_new_pr2F0G10(x0)) 248.95/165.39 new_pr2F0G(y0, y1, Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), y3) -> H(y0, y1, Succ(Succ(Succ(Succ(Zero)))), y3, cons_new_pr2F0G10(Succ(Zero))) 248.95/165.39 new_pr2F0G(y0, y1, Neg(Succ(Succ(Succ(Succ(Zero))))), y3) -> H(y0, y1, Succ(Succ(Succ(Zero))), y3, cons_new_pr2F0G10(Zero)) 248.95/165.39 248.95/165.39 The TRS R consists of the following rules: 248.95/165.39 248.95/165.39 new_new_pr2F0G10(Succ(Succ(vyv25100))) -> new_new_pr2F0G10(vyv25100) 248.95/165.39 new_new_pr2F0G10(Succ(Zero)) -> cons_new_pr2F0G10(Succ(Zero)) 248.95/165.39 new_new_pr2F0G10(Zero) -> cons_new_pr2F0G10(Zero) 248.95/165.39 new_sr3(vyv249, ty_Float) -> new_sr10(vyv249) 248.95/165.39 new_sr3(vyv249, ty_Double) -> new_sr9(vyv249) 248.95/165.39 new_sr3(vyv249, ty_Int) -> new_sr6(vyv249) 248.95/165.39 new_sr3(vyv249, ty_Integer) -> new_sr7(vyv249) 248.95/165.39 new_sr3(vyv249, app(ty_Ratio, bg)) -> new_sr5(vyv249, bg) 248.95/165.39 new_sr5(:%(vyv1830, vyv1831), bd) -> new_reduce2Reduce1(vyv1830, vyv1830, vyv1831, vyv1831, new_esEs0(vyv1831, bd), bd) 248.95/165.39 new_esEs0(vyv1831, ty_Int) -> new_esEs(new_sr6(vyv1831)) 248.95/165.39 new_esEs0(vyv1831, ty_Integer) -> new_esEs1(new_sr7(vyv1831)) 248.95/165.39 new_reduce2Reduce1(vyv264, vyv265, vyv266, vyv267, False, bh) -> :%(new_quot1(vyv264, vyv265, vyv266, vyv267, bh), new_quot2(vyv266, vyv267, vyv264, vyv265, bh)) 248.95/165.39 new_reduce2Reduce1(vyv264, vyv265, vyv266, vyv267, True, bh) -> error([]) 248.95/165.39 new_quot1(vyv264, vyv265, vyv266, vyv267, ty_Int) -> new_quot0(new_sr14(vyv264, vyv265), new_sr14(vyv264, vyv265), new_sr14(vyv266, vyv267)) 248.95/165.39 new_quot1(vyv264, vyv265, vyv266, vyv267, ty_Integer) -> new_quot(new_sr8(vyv264, vyv265), new_sr8(vyv264, vyv265), new_sr8(vyv266, vyv267)) 248.95/165.39 new_quot2(vyv266, vyv267, vyv264, vyv265, ty_Int) -> new_quot0(new_sr14(vyv266, vyv267), new_sr14(vyv264, vyv265), new_sr14(vyv266, vyv267)) 248.95/165.39 new_quot2(vyv266, vyv267, vyv264, vyv265, ty_Integer) -> new_quot(new_sr8(vyv266, vyv267), new_sr8(vyv264, vyv265), new_sr8(vyv266, vyv267)) 248.95/165.39 new_sr8(vyv239, vyv238) -> error([]) 248.95/165.39 new_quot(vyv273, vyv275, vyv274) -> error([]) 248.95/165.39 new_sr14(Pos(vyv2390), Neg(vyv2380)) -> Neg(new_primMulNat0(vyv2390, vyv2380)) 248.95/165.39 new_sr14(Neg(vyv2390), Pos(vyv2380)) -> Neg(new_primMulNat0(vyv2390, vyv2380)) 248.95/165.39 new_sr14(Neg(vyv2390), Neg(vyv2380)) -> Pos(new_primMulNat0(vyv2390, vyv2380)) 248.95/165.39 new_sr14(Pos(vyv2390), Pos(vyv2380)) -> Pos(new_primMulNat0(vyv2390, vyv2380)) 248.95/165.39 new_quot0(Neg(vyv2700), vyv272, vyv271) -> new_primQuotInt0(vyv2700, new_gcd(vyv272, vyv271)) 248.95/165.39 new_quot0(Pos(vyv2700), vyv272, vyv271) -> new_primQuotInt(vyv2700, new_gcd(vyv272, vyv271)) 248.95/165.39 new_gcd(vyv272, vyv271) -> new_gcd2(new_esEs(vyv272), vyv272, vyv271) 248.95/165.39 new_primQuotInt(vyv2700, Pos(Succ(vyv28400))) -> Pos(new_primDivNatS1(vyv2700, vyv28400)) 248.95/165.39 new_primQuotInt(vyv2700, Neg(Zero)) -> new_error 248.95/165.39 new_primQuotInt(vyv2700, Pos(Zero)) -> new_error 248.95/165.39 new_primQuotInt(vyv2700, Neg(Succ(vyv28400))) -> Neg(new_primDivNatS1(vyv2700, vyv28400)) 248.95/165.39 new_primDivNatS1(Succ(Zero), Succ(vyv284000)) -> Zero 248.95/165.39 new_primDivNatS1(Succ(Succ(vyv270000)), Succ(vyv284000)) -> new_primDivNatS02(vyv270000, vyv284000, vyv270000, vyv284000) 248.95/165.39 new_primDivNatS1(Zero, vyv28400) -> Zero 248.95/165.39 new_primDivNatS1(Succ(Succ(vyv270000)), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS0(vyv270000), Zero)) 248.95/165.39 new_primDivNatS1(Succ(Zero), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS1, Zero)) 248.95/165.39 new_primMinusNatS1 -> Zero 248.95/165.39 new_primMinusNatS0(vyv270000) -> Succ(vyv270000) 248.95/165.39 new_primDivNatS02(vyv310, vyv311, Zero, Zero) -> new_primDivNatS01(vyv310, vyv311) 248.95/165.39 new_primDivNatS02(vyv310, vyv311, Succ(vyv3120), Zero) -> new_primDivNatS01(vyv310, vyv311) 248.95/165.39 new_primDivNatS02(vyv310, vyv311, Zero, Succ(vyv3130)) -> Zero 248.95/165.39 new_primDivNatS02(vyv310, vyv311, Succ(vyv3120), Succ(vyv3130)) -> new_primDivNatS02(vyv310, vyv311, vyv3120, vyv3130) 248.95/165.39 new_primDivNatS01(vyv310, vyv311) -> Succ(new_primDivNatS1(new_primMinusNatS2(vyv310, vyv311), Succ(vyv311))) 248.95/165.39 new_primMinusNatS2(Zero, Succ(vyv3110)) -> Zero 248.95/165.39 new_primMinusNatS2(Succ(vyv3100), Zero) -> Succ(vyv3100) 248.95/165.39 new_primMinusNatS2(Zero, Zero) -> Zero 248.95/165.39 new_primMinusNatS2(Succ(vyv3100), Succ(vyv3110)) -> new_primMinusNatS2(vyv3100, vyv3110) 248.95/165.39 new_error -> error([]) 248.95/165.39 new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) 248.95/165.39 new_esEs(Pos(Succ(vyv24100))) -> new_primEqInt(Pos(Succ(vyv24100))) 248.95/165.39 new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) 248.95/165.39 new_esEs(Neg(Succ(vyv24100))) -> new_primEqInt(Neg(Succ(vyv24100))) 248.95/165.39 new_gcd2(True, vyv272, vyv271) -> new_gcd1(new_esEs(vyv271), vyv272, vyv271) 248.95/165.39 new_gcd2(False, vyv272, vyv271) -> new_gcd0(vyv272, vyv271) 248.95/165.39 new_gcd0(vyv272, vyv271) -> new_gcd0Gcd'10(new_esEs(new_abs(vyv271)), vyv272, vyv271) 248.95/165.39 new_abs(Neg(Zero)) -> Neg(Zero) 248.95/165.39 new_abs(Neg(Succ(vyv27100))) -> Pos(Succ(vyv27100)) 248.95/165.39 new_abs(Pos(Succ(vyv27100))) -> Pos(Succ(vyv27100)) 248.95/165.39 new_abs(Pos(Zero)) -> Pos(Zero) 248.95/165.39 new_gcd0Gcd'10(True, vyv272, vyv271) -> new_abs(vyv272) 248.95/165.39 new_gcd0Gcd'10(False, vyv272, vyv271) -> new_gcd0Gcd'00(new_abs(vyv272), new_abs(vyv271)) 248.95/165.39 new_gcd0Gcd'00(vyv292, vyv291) -> new_gcd0Gcd'11(new_esEs(new_rem(vyv292, vyv291)), vyv291, vyv292) 248.95/165.39 new_gcd0Gcd'11(False, vyv291, vyv292) -> new_gcd0Gcd'00(vyv291, new_rem(vyv292, vyv291)) 248.95/165.39 new_rem(Pos(vyv2920), Neg(Zero)) -> new_error 248.95/165.39 new_rem(Neg(vyv2920), Pos(Zero)) -> new_error 248.95/165.39 new_rem(Pos(vyv2920), Neg(Succ(vyv29100))) -> Pos(new_primModNatS1(vyv2920, vyv29100)) 248.95/165.39 new_rem(Neg(vyv2920), Pos(Succ(vyv29100))) -> Neg(new_primModNatS1(vyv2920, vyv29100)) 248.95/165.39 new_rem(Pos(vyv2920), Pos(Succ(vyv29100))) -> Pos(new_primModNatS1(vyv2920, vyv29100)) 248.95/165.39 new_rem(Neg(vyv2920), Neg(Zero)) -> new_error 248.95/165.39 new_rem(Neg(vyv2920), Neg(Succ(vyv29100))) -> Neg(new_primModNatS1(vyv2920, vyv29100)) 248.95/165.39 new_rem(Pos(vyv2920), Pos(Zero)) -> new_error 248.95/165.39 new_gcd0Gcd'11(True, vyv291, vyv292) -> vyv291 248.95/165.39 new_primModNatS1(Succ(Zero), Succ(vyv291000)) -> Succ(Zero) 248.95/165.39 new_primModNatS1(Zero, vyv29100) -> Zero 248.95/165.39 new_primModNatS1(Succ(Succ(vyv292000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv292000), Zero) 248.95/165.39 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 248.95/165.39 new_primModNatS1(Succ(Succ(vyv292000)), Succ(vyv291000)) -> new_primModNatS01(vyv292000, vyv291000, vyv292000, vyv291000) 248.95/165.39 new_primModNatS01(vyv330, vyv331, Zero, Zero) -> new_primModNatS02(vyv330, vyv331) 248.95/165.39 new_primModNatS02(vyv330, vyv331) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv330), Succ(vyv331)), Succ(vyv331)) 248.95/165.39 new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Zero) -> new_primModNatS02(vyv330, vyv331) 248.95/165.39 new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Succ(vyv3330)) -> new_primModNatS01(vyv330, vyv331, vyv3320, vyv3330) 248.95/165.39 new_primModNatS01(vyv330, vyv331, Zero, Succ(vyv3330)) -> Succ(Succ(vyv330)) 248.95/165.39 new_gcd1(True, vyv272, vyv271) -> new_error 248.95/165.39 new_gcd1(False, vyv272, vyv271) -> new_gcd0(vyv272, vyv271) 248.95/165.39 new_primEqInt(Neg(Succ(vyv242000))) -> False 248.95/165.39 new_primEqInt(Pos(Zero)) -> True 248.95/165.39 new_primEqInt(Pos(Succ(vyv242000))) -> False 248.95/165.39 new_primEqInt(Neg(Zero)) -> True 248.95/165.39 new_primQuotInt0(vyv2700, Pos(Succ(vyv28700))) -> Neg(new_primDivNatS1(vyv2700, vyv28700)) 248.95/165.39 new_primQuotInt0(vyv2700, Neg(Zero)) -> new_error 248.95/165.39 new_primQuotInt0(vyv2700, Neg(Succ(vyv28700))) -> Pos(new_primDivNatS1(vyv2700, vyv28700)) 248.95/165.39 new_primQuotInt0(vyv2700, Pos(Zero)) -> new_error 248.95/165.39 new_primMulNat0(Succ(vyv23900), Zero) -> Zero 248.95/165.39 new_primMulNat0(Zero, Succ(vyv23800)) -> Zero 248.95/165.39 new_primMulNat0(Zero, Zero) -> Zero 248.95/165.39 new_primMulNat0(Succ(vyv23900), Succ(vyv23800)) -> new_primPlusNat0(new_primMulNat0(vyv23900, Succ(vyv23800)), Succ(vyv23800)) 248.95/165.39 new_primPlusNat0(Succ(vyv4000), Succ(vyv5000)) -> Succ(Succ(new_primPlusNat0(vyv4000, vyv5000))) 248.95/165.39 new_primPlusNat0(Zero, Succ(vyv5000)) -> Succ(vyv5000) 248.95/165.39 new_primPlusNat0(Zero, Zero) -> Zero 248.95/165.39 new_primPlusNat0(Succ(vyv4000), Zero) -> Succ(vyv4000) 248.95/165.39 new_sr7(vyv183) -> error([]) 248.95/165.39 new_esEs1(Integer(vyv2690)) -> new_primEqInt(vyv2690) 248.95/165.39 new_sr6(Neg(vyv1830)) -> Pos(new_primMulNat1(vyv1830)) 248.95/165.39 new_sr6(Pos(vyv1830)) -> Pos(new_primMulNat1(vyv1830)) 248.95/165.39 new_primMulNat1(Succ(vyv18300)) -> new_primPlusNat0(new_primMulNat2(vyv18300), Succ(vyv18300)) 248.95/165.39 new_primMulNat1(Zero) -> Zero 248.95/165.39 new_primMulNat2(Succ(vyv183000)) -> new_primPlusNat0(new_primMulNat3(vyv183000), Succ(Succ(vyv183000))) 248.95/165.39 new_primMulNat2(Zero) -> Zero 248.95/165.39 new_primMulNat3(Succ(vyv1830000)) -> new_primPlusNat0(new_primMulNat4(vyv1830000), Succ(Succ(Succ(vyv1830000)))) 248.95/165.39 new_primMulNat3(Zero) -> Zero 248.95/165.39 new_primMulNat4(Succ(vyv18300000)) -> new_primPlusNat0(new_primMulNat0(vyv18300000, Succ(Succ(Succ(Succ(vyv18300000))))), Succ(Succ(Succ(Succ(vyv18300000))))) 248.95/165.39 new_primMulNat4(Zero) -> Zero 248.95/165.39 new_sr9(vyv183) -> error([]) 248.95/165.39 new_sr10(vyv183) -> error([]) 248.95/165.39 new_sr4(vyv239, vyv238, app(ty_Ratio, bf)) -> new_sr12(vyv239, vyv238, bf) 248.95/165.39 new_sr4(vyv239, vyv238, ty_Integer) -> new_sr8(vyv239, vyv238) 248.95/165.39 new_sr4(vyv239, vyv238, ty_Int) -> new_sr14(vyv239, vyv238) 248.95/165.39 new_sr4(vyv239, vyv238, ty_Double) -> new_sr11(vyv239, vyv238) 248.95/165.39 new_sr4(vyv239, vyv238, ty_Float) -> new_sr13(vyv239, vyv238) 248.95/165.39 new_sr13(vyv239, vyv238) -> error([]) 248.95/165.39 new_sr11(vyv239, vyv238) -> error([]) 248.95/165.39 new_sr12(:%(vyv2390, vyv2391), :%(vyv2380, vyv2381), bf) -> new_reduce2Reduce1(vyv2390, vyv2380, vyv2391, vyv2381, new_esEs2(vyv2391, vyv2381, bf), bf) 248.95/165.39 new_esEs2(vyv2391, vyv2381, ty_Int) -> new_esEs(new_sr14(vyv2391, vyv2381)) 248.95/165.39 new_esEs2(vyv2391, vyv2381, ty_Integer) -> new_esEs1(new_sr8(vyv2391, vyv2381)) 248.95/165.39 248.95/165.39 The set Q consists of the following terms: 248.95/165.39 248.95/165.39 new_rem(Pos(x0), Pos(Succ(x1))) 248.95/165.39 new_quot1(x0, x1, x2, x3, ty_Integer) 248.95/165.39 new_primModNatS1(Succ(Zero), Succ(x0)) 248.95/165.39 new_primMulNat4(Zero) 248.95/165.39 new_gcd1(False, x0, x1) 248.95/165.39 new_primEqInt(Pos(Zero)) 248.95/165.39 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 248.95/165.39 new_rem(Pos(x0), Neg(Succ(x1))) 248.95/165.39 new_rem(Neg(x0), Pos(Succ(x1))) 248.95/165.39 new_sr10(x0) 248.95/165.39 new_quot1(x0, x1, x2, x3, ty_Int) 248.95/165.39 new_quot2(x0, x1, x2, x3, ty_Integer) 248.95/165.39 new_primModNatS01(x0, x1, Succ(x2), Zero) 248.95/165.39 new_sr3(x0, ty_Integer) 248.95/165.39 new_primMulNat3(Zero) 248.95/165.39 new_primDivNatS02(x0, x1, Succ(x2), Zero) 248.95/165.39 new_quot2(x0, x1, x2, x3, ty_Int) 248.95/165.39 new_gcd2(False, x0, x1) 248.95/165.39 new_primDivNatS1(Succ(Zero), Zero) 248.95/165.39 new_esEs0(x0, ty_Int) 248.95/165.39 new_sr14(Pos(x0), Pos(x1)) 248.95/165.39 new_sr3(x0, ty_Int) 248.95/165.39 new_primMulNat0(Zero, Zero) 248.95/165.39 new_sr4(x0, x1, ty_Double) 248.95/165.39 new_primPlusNat0(Succ(x0), Zero) 248.95/165.39 new_primMulNat2(Zero) 248.95/165.39 new_sr11(x0, x1) 248.95/165.39 new_primModNatS01(x0, x1, Zero, Zero) 248.95/165.39 new_esEs2(x0, x1, ty_Int) 248.95/165.39 new_gcd1(True, x0, x1) 248.95/165.39 new_sr13(x0, x1) 248.95/165.39 new_sr14(Pos(x0), Neg(x1)) 248.95/165.39 new_sr14(Neg(x0), Pos(x1)) 248.95/165.39 new_primDivNatS1(Succ(Succ(x0)), Succ(x1)) 248.95/165.39 new_primModNatS1(Zero, x0) 248.95/165.39 new_esEs(Pos(Succ(x0))) 248.95/165.39 new_primMulNat3(Succ(x0)) 248.95/165.39 new_primQuotInt(x0, Neg(Succ(x1))) 248.95/165.39 new_reduce2Reduce1(x0, x1, x2, x3, False, x4) 248.95/165.39 new_primDivNatS1(Zero, x0) 248.95/165.39 new_primDivNatS02(x0, x1, Succ(x2), Succ(x3)) 248.95/165.39 new_primModNatS02(x0, x1) 248.95/165.39 new_primDivNatS1(Succ(Zero), Succ(x0)) 248.95/165.39 new_sr6(Neg(x0)) 248.95/165.39 new_gcd0Gcd'10(True, x0, x1) 248.95/165.39 new_primMulNat0(Succ(x0), Succ(x1)) 248.95/165.39 new_abs(Neg(Zero)) 248.95/165.39 new_rem(Pos(x0), Neg(Zero)) 248.95/165.39 new_rem(Neg(x0), Pos(Zero)) 248.95/165.39 new_primMinusNatS2(Zero, Succ(x0)) 248.95/165.39 new_esEs(Neg(Succ(x0))) 248.95/165.39 new_error 248.95/165.39 new_primModNatS1(Succ(Zero), Zero) 248.95/165.39 new_primMulNat0(Zero, Succ(x0)) 248.95/165.39 new_sr3(x0, ty_Float) 248.95/165.39 new_quot(x0, x1, x2) 248.95/165.39 new_gcd2(True, x0, x1) 248.95/165.39 new_gcd0Gcd'11(True, x0, x1) 248.95/165.39 new_primEqInt(Neg(Zero)) 248.95/165.39 new_primMulNat0(Succ(x0), Zero) 248.95/165.39 new_quot0(Neg(x0), x1, x2) 248.95/165.39 new_primMinusNatS2(Succ(x0), Succ(x1)) 248.95/165.39 new_sr4(x0, x1, app(ty_Ratio, x2)) 248.95/165.39 new_sr8(x0, x1) 248.95/165.39 new_primDivNatS01(x0, x1) 248.95/165.39 new_primDivNatS02(x0, x1, Zero, Succ(x2)) 248.95/165.39 new_primPlusNat0(Succ(x0), Succ(x1)) 248.95/165.39 new_primPlusNat0(Zero, Zero) 248.95/165.39 new_sr12(:%(x0, x1), :%(x2, x3), x4) 248.95/165.39 new_abs(Neg(Succ(x0))) 248.95/165.39 new_sr3(x0, app(ty_Ratio, x1)) 248.95/165.39 new_sr7(x0) 248.95/165.39 new_gcd0(x0, x1) 248.95/165.39 new_primQuotInt0(x0, Pos(Succ(x1))) 248.95/165.39 new_sr4(x0, x1, ty_Integer) 248.95/165.39 new_sr5(:%(x0, x1), x2) 248.95/165.39 new_primMinusNatS2(Zero, Zero) 248.95/165.39 new_primMulNat1(Succ(x0)) 248.95/165.39 new_abs(Pos(Succ(x0))) 248.95/165.39 new_sr4(x0, x1, ty_Int) 248.95/165.39 new_esEs(Pos(Zero)) 248.95/165.39 new_primQuotInt0(x0, Pos(Zero)) 248.95/165.39 new_primEqInt(Neg(Succ(x0))) 248.95/165.39 new_primQuotInt(x0, Neg(Zero)) 248.95/165.39 new_primQuotInt0(x0, Neg(Zero)) 248.95/165.39 new_primQuotInt0(x0, Neg(Succ(x1))) 248.95/165.39 new_gcd(x0, x1) 248.95/165.39 new_quot0(Pos(x0), x1, x2) 248.95/165.39 new_primMinusNatS0(x0) 248.95/165.39 new_primPlusNat0(Zero, Succ(x0)) 248.95/165.39 new_primQuotInt(x0, Pos(Succ(x1))) 248.95/165.39 new_primDivNatS1(Succ(Succ(x0)), Zero) 248.95/165.39 new_rem(Pos(x0), Pos(Zero)) 248.95/165.39 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 248.95/165.39 new_primDivNatS02(x0, x1, Zero, Zero) 248.95/165.39 new_abs(Pos(Zero)) 248.95/165.39 new_gcd0Gcd'10(False, x0, x1) 248.95/165.39 new_primMinusNatS1 248.95/165.39 new_esEs1(Integer(x0)) 248.95/165.39 new_primModNatS01(x0, x1, Zero, Succ(x2)) 248.95/165.39 new_primMulNat2(Succ(x0)) 248.95/165.39 new_sr14(Neg(x0), Neg(x1)) 248.95/165.39 new_primMinusNatS2(Succ(x0), Zero) 248.95/165.39 new_sr4(x0, x1, ty_Float) 248.95/165.39 new_sr6(Pos(x0)) 248.95/165.39 new_esEs2(x0, x1, ty_Integer) 248.95/165.39 new_primMulNat4(Succ(x0)) 248.95/165.39 new_rem(Neg(x0), Neg(Succ(x1))) 248.95/165.39 new_primEqInt(Pos(Succ(x0))) 248.95/165.39 new_primQuotInt(x0, Pos(Zero)) 248.95/165.39 new_gcd0Gcd'11(False, x0, x1) 248.95/165.39 new_sr9(x0) 248.95/165.39 new_primModNatS1(Succ(Succ(x0)), Zero) 248.95/165.39 new_esEs0(x0, ty_Integer) 248.95/165.39 new_gcd0Gcd'00(x0, x1) 248.95/165.39 new_reduce2Reduce1(x0, x1, x2, x3, True, x4) 248.95/165.39 new_sr3(x0, ty_Double) 248.95/165.39 new_esEs(Neg(Zero)) 248.95/165.39 new_primMulNat1(Zero) 248.95/165.39 new_rem(Neg(x0), Neg(Zero)) 248.95/165.39 new_new_pr2F0G10(Succ(Succ(x0))) 248.95/165.39 new_new_pr2F0G10(Succ(Zero)) 248.95/165.39 new_new_pr2F0G10(Zero) 248.95/165.39 248.95/165.39 We have to consider all minimal (P,Q,R)-chains. 248.95/165.39 ---------------------------------------- 248.95/165.39 248.95/165.39 (857) TransformationProof (EQUIVALENT) 248.95/165.39 By narrowing [LPAR04] the rule new_pr2F0(y0, Neg(Succ(Succ(Succ(Succ(Succ(Succ(x0))))))), y2, y3) -> H(y2, y0, Succ(Succ(Succ(Succ(Succ(x0))))), y3, new_new_pr2F0G10(x0)) at position [4] we obtained the following new rules [LPAR04]: 248.95/165.39 248.95/165.39 (new_pr2F0(y0, Neg(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(x0))))))))), y2, y3) -> H(y2, y0, Succ(Succ(Succ(Succ(Succ(Succ(Succ(x0))))))), y3, new_new_pr2F0G10(x0)),new_pr2F0(y0, Neg(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(x0))))))))), y2, y3) -> H(y2, y0, Succ(Succ(Succ(Succ(Succ(Succ(Succ(x0))))))), y3, new_new_pr2F0G10(x0))) 248.95/165.39 (new_pr2F0(y0, Neg(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))))), y2, y3) -> H(y2, y0, Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))), y3, cons_new_pr2F0G10(Succ(Zero))),new_pr2F0(y0, Neg(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))))), y2, y3) -> H(y2, y0, Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))), y3, cons_new_pr2F0G10(Succ(Zero)))) 248.95/165.39 (new_pr2F0(y0, Neg(Succ(Succ(Succ(Succ(Succ(Succ(Zero))))))), y2, y3) -> H(y2, y0, Succ(Succ(Succ(Succ(Succ(Zero))))), y3, cons_new_pr2F0G10(Zero)),new_pr2F0(y0, Neg(Succ(Succ(Succ(Succ(Succ(Succ(Zero))))))), y2, y3) -> H(y2, y0, Succ(Succ(Succ(Succ(Succ(Zero))))), y3, cons_new_pr2F0G10(Zero))) 248.95/165.39 248.95/165.39 248.95/165.39 ---------------------------------------- 248.95/165.39 248.95/165.39 (858) 248.95/165.39 Obligation: 248.95/165.39 Q DP problem: 248.95/165.39 The TRS P consists of the following rules: 248.95/165.39 248.95/165.39 new_pr2F0(vyv183, Neg(Succ(Succ(vyv222000))), vyv187, h) -> new_pr2F0G10(vyv187, vyv183, Succ(vyv222000), vyv222000, h) 248.95/165.39 new_pr2F0G10(vyv248, vyv249, vyv250, Succ(Zero), bb) -> new_pr2F0G11(vyv248, vyv249, vyv250, bb) 248.95/165.39 new_pr2F0G11(vyv238, vyv239, vyv240, bc) -> new_pr2F1(vyv239, vyv240, Pos(Succ(Zero)), vyv238, bc) 248.95/165.39 new_pr2F1(z1, z2, Pos(Succ(Zero)), z0, z3) -> new_pr2F30(False, z1, z2, Pos(Succ(Zero)), z0, z3) 248.95/165.39 new_pr2F30(False, z0, z1, Pos(Succ(Zero)), z2, z3) -> new_pr2F0(z0, Neg(Succ(Succ(new_primPlusNat0(z1, Zero)))), new_sr4(z0, z2, z3), z3) 248.95/165.39 H(vyv248, vyv249, vyv250, bb, cons_new_pr2F0G10(Succ(Zero))) -> new_pr2F0G10(vyv248, vyv249, vyv250, Succ(Zero), bb) 248.95/165.39 H(vyv248, vyv249, vyv250, bb, cons_new_pr2F0G10(Zero)) -> new_pr2F0G10(vyv248, vyv249, vyv250, Zero, bb) 248.95/165.39 new_pr2F0G(vyv187, vyv183, Neg(Succ(Zero)), h) -> new_pr2F0G11(vyv187, vyv183, Zero, h) 248.95/165.39 new_pr2F0G(vyv187, vyv183, Neg(Succ(Succ(vyv222000))), h) -> new_pr2F0G10(vyv187, vyv183, Succ(vyv222000), vyv222000, h) 248.95/165.39 new_pr2F0G10(y0, y1, Succ(Zero), Zero, y3) -> new_pr2F0G(y0, new_sr3(y1, y3), Neg(Succ(Zero)), y3) 248.95/165.39 new_pr2F0(y0, Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), y2, y3) -> H(y2, y0, Succ(Succ(Succ(Succ(Zero)))), y3, cons_new_pr2F0G10(Succ(Zero))) 248.95/165.39 new_pr2F0(y0, Neg(Succ(Succ(Succ(Succ(Zero))))), y2, y3) -> H(y2, y0, Succ(Succ(Succ(Zero))), y3, cons_new_pr2F0G10(Zero)) 248.95/165.39 new_pr2F0G10(y0, y1, Succ(Succ(Zero)), Zero, y3) -> new_pr2F0G(y0, new_sr3(y1, y3), Neg(Succ(Zero)), y3) 248.95/165.39 new_pr2F0G10(y0, y1, Succ(Succ(Succ(x0))), Zero, y3) -> new_pr2F0G(y0, new_sr3(y1, y3), Neg(Succ(new_primDivNatS02(x0, Zero, x0, Zero))), y3) 248.95/165.39 new_pr2F0G(y0, y1, Neg(Succ(Succ(Succ(Succ(Succ(Succ(x0))))))), y3) -> H(y0, y1, Succ(Succ(Succ(Succ(Succ(x0))))), y3, new_new_pr2F0G10(x0)) 248.95/165.39 new_pr2F0G(y0, y1, Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), y3) -> H(y0, y1, Succ(Succ(Succ(Succ(Zero)))), y3, cons_new_pr2F0G10(Succ(Zero))) 248.95/165.39 new_pr2F0G(y0, y1, Neg(Succ(Succ(Succ(Succ(Zero))))), y3) -> H(y0, y1, Succ(Succ(Succ(Zero))), y3, cons_new_pr2F0G10(Zero)) 248.95/165.39 new_pr2F0(y0, Neg(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(x0))))))))), y2, y3) -> H(y2, y0, Succ(Succ(Succ(Succ(Succ(Succ(Succ(x0))))))), y3, new_new_pr2F0G10(x0)) 248.95/165.39 new_pr2F0(y0, Neg(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))))), y2, y3) -> H(y2, y0, Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))), y3, cons_new_pr2F0G10(Succ(Zero))) 248.95/165.39 new_pr2F0(y0, Neg(Succ(Succ(Succ(Succ(Succ(Succ(Zero))))))), y2, y3) -> H(y2, y0, Succ(Succ(Succ(Succ(Succ(Zero))))), y3, cons_new_pr2F0G10(Zero)) 248.95/165.39 248.95/165.39 The TRS R consists of the following rules: 248.95/165.39 248.95/165.39 new_new_pr2F0G10(Succ(Succ(vyv25100))) -> new_new_pr2F0G10(vyv25100) 248.95/165.39 new_new_pr2F0G10(Succ(Zero)) -> cons_new_pr2F0G10(Succ(Zero)) 248.95/165.39 new_new_pr2F0G10(Zero) -> cons_new_pr2F0G10(Zero) 248.95/165.39 new_sr3(vyv249, ty_Float) -> new_sr10(vyv249) 248.95/165.39 new_sr3(vyv249, ty_Double) -> new_sr9(vyv249) 248.95/165.39 new_sr3(vyv249, ty_Int) -> new_sr6(vyv249) 248.95/165.39 new_sr3(vyv249, ty_Integer) -> new_sr7(vyv249) 248.95/165.39 new_sr3(vyv249, app(ty_Ratio, bg)) -> new_sr5(vyv249, bg) 248.95/165.39 new_sr5(:%(vyv1830, vyv1831), bd) -> new_reduce2Reduce1(vyv1830, vyv1830, vyv1831, vyv1831, new_esEs0(vyv1831, bd), bd) 248.95/165.39 new_esEs0(vyv1831, ty_Int) -> new_esEs(new_sr6(vyv1831)) 248.95/165.39 new_esEs0(vyv1831, ty_Integer) -> new_esEs1(new_sr7(vyv1831)) 248.95/165.39 new_reduce2Reduce1(vyv264, vyv265, vyv266, vyv267, False, bh) -> :%(new_quot1(vyv264, vyv265, vyv266, vyv267, bh), new_quot2(vyv266, vyv267, vyv264, vyv265, bh)) 248.95/165.39 new_reduce2Reduce1(vyv264, vyv265, vyv266, vyv267, True, bh) -> error([]) 248.95/165.39 new_quot1(vyv264, vyv265, vyv266, vyv267, ty_Int) -> new_quot0(new_sr14(vyv264, vyv265), new_sr14(vyv264, vyv265), new_sr14(vyv266, vyv267)) 248.95/165.39 new_quot1(vyv264, vyv265, vyv266, vyv267, ty_Integer) -> new_quot(new_sr8(vyv264, vyv265), new_sr8(vyv264, vyv265), new_sr8(vyv266, vyv267)) 248.95/165.39 new_quot2(vyv266, vyv267, vyv264, vyv265, ty_Int) -> new_quot0(new_sr14(vyv266, vyv267), new_sr14(vyv264, vyv265), new_sr14(vyv266, vyv267)) 248.95/165.39 new_quot2(vyv266, vyv267, vyv264, vyv265, ty_Integer) -> new_quot(new_sr8(vyv266, vyv267), new_sr8(vyv264, vyv265), new_sr8(vyv266, vyv267)) 248.95/165.39 new_sr8(vyv239, vyv238) -> error([]) 248.95/165.39 new_quot(vyv273, vyv275, vyv274) -> error([]) 248.95/165.39 new_sr14(Pos(vyv2390), Neg(vyv2380)) -> Neg(new_primMulNat0(vyv2390, vyv2380)) 248.95/165.39 new_sr14(Neg(vyv2390), Pos(vyv2380)) -> Neg(new_primMulNat0(vyv2390, vyv2380)) 248.95/165.39 new_sr14(Neg(vyv2390), Neg(vyv2380)) -> Pos(new_primMulNat0(vyv2390, vyv2380)) 248.95/165.39 new_sr14(Pos(vyv2390), Pos(vyv2380)) -> Pos(new_primMulNat0(vyv2390, vyv2380)) 248.95/165.39 new_quot0(Neg(vyv2700), vyv272, vyv271) -> new_primQuotInt0(vyv2700, new_gcd(vyv272, vyv271)) 248.95/165.39 new_quot0(Pos(vyv2700), vyv272, vyv271) -> new_primQuotInt(vyv2700, new_gcd(vyv272, vyv271)) 248.95/165.39 new_gcd(vyv272, vyv271) -> new_gcd2(new_esEs(vyv272), vyv272, vyv271) 248.95/165.39 new_primQuotInt(vyv2700, Pos(Succ(vyv28400))) -> Pos(new_primDivNatS1(vyv2700, vyv28400)) 248.95/165.39 new_primQuotInt(vyv2700, Neg(Zero)) -> new_error 248.95/165.39 new_primQuotInt(vyv2700, Pos(Zero)) -> new_error 248.95/165.39 new_primQuotInt(vyv2700, Neg(Succ(vyv28400))) -> Neg(new_primDivNatS1(vyv2700, vyv28400)) 248.95/165.39 new_primDivNatS1(Succ(Zero), Succ(vyv284000)) -> Zero 248.95/165.39 new_primDivNatS1(Succ(Succ(vyv270000)), Succ(vyv284000)) -> new_primDivNatS02(vyv270000, vyv284000, vyv270000, vyv284000) 248.95/165.39 new_primDivNatS1(Zero, vyv28400) -> Zero 248.95/165.39 new_primDivNatS1(Succ(Succ(vyv270000)), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS0(vyv270000), Zero)) 248.95/165.39 new_primDivNatS1(Succ(Zero), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS1, Zero)) 248.95/165.39 new_primMinusNatS1 -> Zero 248.95/165.39 new_primMinusNatS0(vyv270000) -> Succ(vyv270000) 248.95/165.39 new_primDivNatS02(vyv310, vyv311, Zero, Zero) -> new_primDivNatS01(vyv310, vyv311) 248.95/165.39 new_primDivNatS02(vyv310, vyv311, Succ(vyv3120), Zero) -> new_primDivNatS01(vyv310, vyv311) 248.95/165.39 new_primDivNatS02(vyv310, vyv311, Zero, Succ(vyv3130)) -> Zero 248.95/165.39 new_primDivNatS02(vyv310, vyv311, Succ(vyv3120), Succ(vyv3130)) -> new_primDivNatS02(vyv310, vyv311, vyv3120, vyv3130) 248.95/165.39 new_primDivNatS01(vyv310, vyv311) -> Succ(new_primDivNatS1(new_primMinusNatS2(vyv310, vyv311), Succ(vyv311))) 248.95/165.39 new_primMinusNatS2(Zero, Succ(vyv3110)) -> Zero 248.95/165.39 new_primMinusNatS2(Succ(vyv3100), Zero) -> Succ(vyv3100) 248.95/165.39 new_primMinusNatS2(Zero, Zero) -> Zero 248.95/165.39 new_primMinusNatS2(Succ(vyv3100), Succ(vyv3110)) -> new_primMinusNatS2(vyv3100, vyv3110) 248.95/165.39 new_error -> error([]) 248.95/165.39 new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) 248.95/165.39 new_esEs(Pos(Succ(vyv24100))) -> new_primEqInt(Pos(Succ(vyv24100))) 248.95/165.39 new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) 248.95/165.39 new_esEs(Neg(Succ(vyv24100))) -> new_primEqInt(Neg(Succ(vyv24100))) 248.95/165.39 new_gcd2(True, vyv272, vyv271) -> new_gcd1(new_esEs(vyv271), vyv272, vyv271) 248.95/165.39 new_gcd2(False, vyv272, vyv271) -> new_gcd0(vyv272, vyv271) 248.95/165.39 new_gcd0(vyv272, vyv271) -> new_gcd0Gcd'10(new_esEs(new_abs(vyv271)), vyv272, vyv271) 248.95/165.39 new_abs(Neg(Zero)) -> Neg(Zero) 248.95/165.39 new_abs(Neg(Succ(vyv27100))) -> Pos(Succ(vyv27100)) 248.95/165.39 new_abs(Pos(Succ(vyv27100))) -> Pos(Succ(vyv27100)) 248.95/165.39 new_abs(Pos(Zero)) -> Pos(Zero) 248.95/165.39 new_gcd0Gcd'10(True, vyv272, vyv271) -> new_abs(vyv272) 248.95/165.39 new_gcd0Gcd'10(False, vyv272, vyv271) -> new_gcd0Gcd'00(new_abs(vyv272), new_abs(vyv271)) 248.95/165.39 new_gcd0Gcd'00(vyv292, vyv291) -> new_gcd0Gcd'11(new_esEs(new_rem(vyv292, vyv291)), vyv291, vyv292) 248.95/165.39 new_gcd0Gcd'11(False, vyv291, vyv292) -> new_gcd0Gcd'00(vyv291, new_rem(vyv292, vyv291)) 248.95/165.39 new_rem(Pos(vyv2920), Neg(Zero)) -> new_error 248.95/165.39 new_rem(Neg(vyv2920), Pos(Zero)) -> new_error 248.95/165.39 new_rem(Pos(vyv2920), Neg(Succ(vyv29100))) -> Pos(new_primModNatS1(vyv2920, vyv29100)) 248.95/165.39 new_rem(Neg(vyv2920), Pos(Succ(vyv29100))) -> Neg(new_primModNatS1(vyv2920, vyv29100)) 248.95/165.39 new_rem(Pos(vyv2920), Pos(Succ(vyv29100))) -> Pos(new_primModNatS1(vyv2920, vyv29100)) 248.95/165.39 new_rem(Neg(vyv2920), Neg(Zero)) -> new_error 248.95/165.39 new_rem(Neg(vyv2920), Neg(Succ(vyv29100))) -> Neg(new_primModNatS1(vyv2920, vyv29100)) 248.95/165.39 new_rem(Pos(vyv2920), Pos(Zero)) -> new_error 248.95/165.39 new_gcd0Gcd'11(True, vyv291, vyv292) -> vyv291 248.95/165.39 new_primModNatS1(Succ(Zero), Succ(vyv291000)) -> Succ(Zero) 248.95/165.39 new_primModNatS1(Zero, vyv29100) -> Zero 248.95/165.39 new_primModNatS1(Succ(Succ(vyv292000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv292000), Zero) 248.95/165.39 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 248.95/165.39 new_primModNatS1(Succ(Succ(vyv292000)), Succ(vyv291000)) -> new_primModNatS01(vyv292000, vyv291000, vyv292000, vyv291000) 248.95/165.39 new_primModNatS01(vyv330, vyv331, Zero, Zero) -> new_primModNatS02(vyv330, vyv331) 248.95/165.39 new_primModNatS02(vyv330, vyv331) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv330), Succ(vyv331)), Succ(vyv331)) 248.95/165.39 new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Zero) -> new_primModNatS02(vyv330, vyv331) 248.95/165.39 new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Succ(vyv3330)) -> new_primModNatS01(vyv330, vyv331, vyv3320, vyv3330) 248.95/165.39 new_primModNatS01(vyv330, vyv331, Zero, Succ(vyv3330)) -> Succ(Succ(vyv330)) 248.95/165.39 new_gcd1(True, vyv272, vyv271) -> new_error 248.95/165.39 new_gcd1(False, vyv272, vyv271) -> new_gcd0(vyv272, vyv271) 248.95/165.39 new_primEqInt(Neg(Succ(vyv242000))) -> False 248.95/165.39 new_primEqInt(Pos(Zero)) -> True 248.95/165.39 new_primEqInt(Pos(Succ(vyv242000))) -> False 248.95/165.39 new_primEqInt(Neg(Zero)) -> True 248.95/165.39 new_primQuotInt0(vyv2700, Pos(Succ(vyv28700))) -> Neg(new_primDivNatS1(vyv2700, vyv28700)) 248.95/165.39 new_primQuotInt0(vyv2700, Neg(Zero)) -> new_error 248.95/165.39 new_primQuotInt0(vyv2700, Neg(Succ(vyv28700))) -> Pos(new_primDivNatS1(vyv2700, vyv28700)) 248.95/165.39 new_primQuotInt0(vyv2700, Pos(Zero)) -> new_error 248.95/165.39 new_primMulNat0(Succ(vyv23900), Zero) -> Zero 248.95/165.39 new_primMulNat0(Zero, Succ(vyv23800)) -> Zero 248.95/165.39 new_primMulNat0(Zero, Zero) -> Zero 248.95/165.39 new_primMulNat0(Succ(vyv23900), Succ(vyv23800)) -> new_primPlusNat0(new_primMulNat0(vyv23900, Succ(vyv23800)), Succ(vyv23800)) 248.95/165.39 new_primPlusNat0(Succ(vyv4000), Succ(vyv5000)) -> Succ(Succ(new_primPlusNat0(vyv4000, vyv5000))) 248.95/165.39 new_primPlusNat0(Zero, Succ(vyv5000)) -> Succ(vyv5000) 248.95/165.39 new_primPlusNat0(Zero, Zero) -> Zero 248.95/165.39 new_primPlusNat0(Succ(vyv4000), Zero) -> Succ(vyv4000) 248.95/165.39 new_sr7(vyv183) -> error([]) 248.95/165.39 new_esEs1(Integer(vyv2690)) -> new_primEqInt(vyv2690) 248.95/165.39 new_sr6(Neg(vyv1830)) -> Pos(new_primMulNat1(vyv1830)) 248.95/165.39 new_sr6(Pos(vyv1830)) -> Pos(new_primMulNat1(vyv1830)) 248.95/165.39 new_primMulNat1(Succ(vyv18300)) -> new_primPlusNat0(new_primMulNat2(vyv18300), Succ(vyv18300)) 248.95/165.39 new_primMulNat1(Zero) -> Zero 248.95/165.39 new_primMulNat2(Succ(vyv183000)) -> new_primPlusNat0(new_primMulNat3(vyv183000), Succ(Succ(vyv183000))) 248.95/165.39 new_primMulNat2(Zero) -> Zero 248.95/165.39 new_primMulNat3(Succ(vyv1830000)) -> new_primPlusNat0(new_primMulNat4(vyv1830000), Succ(Succ(Succ(vyv1830000)))) 248.95/165.39 new_primMulNat3(Zero) -> Zero 248.95/165.39 new_primMulNat4(Succ(vyv18300000)) -> new_primPlusNat0(new_primMulNat0(vyv18300000, Succ(Succ(Succ(Succ(vyv18300000))))), Succ(Succ(Succ(Succ(vyv18300000))))) 248.95/165.39 new_primMulNat4(Zero) -> Zero 248.95/165.39 new_sr9(vyv183) -> error([]) 248.95/165.39 new_sr10(vyv183) -> error([]) 248.95/165.39 new_sr4(vyv239, vyv238, app(ty_Ratio, bf)) -> new_sr12(vyv239, vyv238, bf) 248.95/165.39 new_sr4(vyv239, vyv238, ty_Integer) -> new_sr8(vyv239, vyv238) 248.95/165.39 new_sr4(vyv239, vyv238, ty_Int) -> new_sr14(vyv239, vyv238) 248.95/165.39 new_sr4(vyv239, vyv238, ty_Double) -> new_sr11(vyv239, vyv238) 248.95/165.39 new_sr4(vyv239, vyv238, ty_Float) -> new_sr13(vyv239, vyv238) 248.95/165.39 new_sr13(vyv239, vyv238) -> error([]) 248.95/165.39 new_sr11(vyv239, vyv238) -> error([]) 248.95/165.39 new_sr12(:%(vyv2390, vyv2391), :%(vyv2380, vyv2381), bf) -> new_reduce2Reduce1(vyv2390, vyv2380, vyv2391, vyv2381, new_esEs2(vyv2391, vyv2381, bf), bf) 248.95/165.39 new_esEs2(vyv2391, vyv2381, ty_Int) -> new_esEs(new_sr14(vyv2391, vyv2381)) 248.95/165.39 new_esEs2(vyv2391, vyv2381, ty_Integer) -> new_esEs1(new_sr8(vyv2391, vyv2381)) 248.95/165.39 248.95/165.39 The set Q consists of the following terms: 248.95/165.39 248.95/165.39 new_rem(Pos(x0), Pos(Succ(x1))) 248.95/165.39 new_quot1(x0, x1, x2, x3, ty_Integer) 248.95/165.39 new_primModNatS1(Succ(Zero), Succ(x0)) 248.95/165.39 new_primMulNat4(Zero) 248.95/165.39 new_gcd1(False, x0, x1) 248.95/165.39 new_primEqInt(Pos(Zero)) 248.95/165.39 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 248.95/165.39 new_rem(Pos(x0), Neg(Succ(x1))) 248.95/165.39 new_rem(Neg(x0), Pos(Succ(x1))) 248.95/165.39 new_sr10(x0) 248.95/165.39 new_quot1(x0, x1, x2, x3, ty_Int) 248.95/165.39 new_quot2(x0, x1, x2, x3, ty_Integer) 248.95/165.39 new_primModNatS01(x0, x1, Succ(x2), Zero) 248.95/165.39 new_sr3(x0, ty_Integer) 248.95/165.39 new_primMulNat3(Zero) 248.95/165.39 new_primDivNatS02(x0, x1, Succ(x2), Zero) 248.95/165.39 new_quot2(x0, x1, x2, x3, ty_Int) 248.95/165.39 new_gcd2(False, x0, x1) 248.95/165.39 new_primDivNatS1(Succ(Zero), Zero) 248.95/165.39 new_esEs0(x0, ty_Int) 248.95/165.39 new_sr14(Pos(x0), Pos(x1)) 248.95/165.39 new_sr3(x0, ty_Int) 248.95/165.39 new_primMulNat0(Zero, Zero) 248.95/165.39 new_sr4(x0, x1, ty_Double) 248.95/165.39 new_primPlusNat0(Succ(x0), Zero) 248.95/165.39 new_primMulNat2(Zero) 248.95/165.39 new_sr11(x0, x1) 248.95/165.39 new_primModNatS01(x0, x1, Zero, Zero) 248.95/165.39 new_esEs2(x0, x1, ty_Int) 248.95/165.39 new_gcd1(True, x0, x1) 248.95/165.39 new_sr13(x0, x1) 248.95/165.39 new_sr14(Pos(x0), Neg(x1)) 248.95/165.39 new_sr14(Neg(x0), Pos(x1)) 248.95/165.39 new_primDivNatS1(Succ(Succ(x0)), Succ(x1)) 248.95/165.39 new_primModNatS1(Zero, x0) 248.95/165.39 new_esEs(Pos(Succ(x0))) 248.95/165.39 new_primMulNat3(Succ(x0)) 248.95/165.39 new_primQuotInt(x0, Neg(Succ(x1))) 248.95/165.39 new_reduce2Reduce1(x0, x1, x2, x3, False, x4) 248.95/165.39 new_primDivNatS1(Zero, x0) 248.95/165.39 new_primDivNatS02(x0, x1, Succ(x2), Succ(x3)) 248.95/165.39 new_primModNatS02(x0, x1) 248.95/165.39 new_primDivNatS1(Succ(Zero), Succ(x0)) 248.95/165.39 new_sr6(Neg(x0)) 248.95/165.39 new_gcd0Gcd'10(True, x0, x1) 248.95/165.39 new_primMulNat0(Succ(x0), Succ(x1)) 248.95/165.39 new_abs(Neg(Zero)) 248.95/165.39 new_rem(Pos(x0), Neg(Zero)) 248.95/165.39 new_rem(Neg(x0), Pos(Zero)) 248.95/165.39 new_primMinusNatS2(Zero, Succ(x0)) 248.95/165.39 new_esEs(Neg(Succ(x0))) 248.95/165.39 new_error 248.95/165.39 new_primModNatS1(Succ(Zero), Zero) 248.95/165.39 new_primMulNat0(Zero, Succ(x0)) 248.95/165.39 new_sr3(x0, ty_Float) 248.95/165.39 new_quot(x0, x1, x2) 248.95/165.39 new_gcd2(True, x0, x1) 248.95/165.39 new_gcd0Gcd'11(True, x0, x1) 248.95/165.39 new_primEqInt(Neg(Zero)) 248.95/165.39 new_primMulNat0(Succ(x0), Zero) 248.95/165.39 new_quot0(Neg(x0), x1, x2) 248.95/165.39 new_primMinusNatS2(Succ(x0), Succ(x1)) 248.95/165.39 new_sr4(x0, x1, app(ty_Ratio, x2)) 248.95/165.39 new_sr8(x0, x1) 248.95/165.39 new_primDivNatS01(x0, x1) 248.95/165.39 new_primDivNatS02(x0, x1, Zero, Succ(x2)) 248.95/165.39 new_primPlusNat0(Succ(x0), Succ(x1)) 248.95/165.39 new_primPlusNat0(Zero, Zero) 248.95/165.39 new_sr12(:%(x0, x1), :%(x2, x3), x4) 248.95/165.39 new_abs(Neg(Succ(x0))) 248.95/165.39 new_sr3(x0, app(ty_Ratio, x1)) 248.95/165.39 new_sr7(x0) 248.95/165.39 new_gcd0(x0, x1) 248.95/165.39 new_primQuotInt0(x0, Pos(Succ(x1))) 248.95/165.39 new_sr4(x0, x1, ty_Integer) 248.95/165.39 new_sr5(:%(x0, x1), x2) 248.95/165.39 new_primMinusNatS2(Zero, Zero) 248.95/165.39 new_primMulNat1(Succ(x0)) 248.95/165.39 new_abs(Pos(Succ(x0))) 248.95/165.39 new_sr4(x0, x1, ty_Int) 248.95/165.39 new_esEs(Pos(Zero)) 248.95/165.39 new_primQuotInt0(x0, Pos(Zero)) 248.95/165.39 new_primEqInt(Neg(Succ(x0))) 248.95/165.39 new_primQuotInt(x0, Neg(Zero)) 248.95/165.39 new_primQuotInt0(x0, Neg(Zero)) 248.95/165.39 new_primQuotInt0(x0, Neg(Succ(x1))) 248.95/165.39 new_gcd(x0, x1) 248.95/165.39 new_quot0(Pos(x0), x1, x2) 248.95/165.39 new_primMinusNatS0(x0) 248.95/165.39 new_primPlusNat0(Zero, Succ(x0)) 248.95/165.39 new_primQuotInt(x0, Pos(Succ(x1))) 248.95/165.39 new_primDivNatS1(Succ(Succ(x0)), Zero) 248.95/165.39 new_rem(Pos(x0), Pos(Zero)) 248.95/165.39 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 248.95/165.39 new_primDivNatS02(x0, x1, Zero, Zero) 248.95/165.39 new_abs(Pos(Zero)) 248.95/165.39 new_gcd0Gcd'10(False, x0, x1) 248.95/165.39 new_primMinusNatS1 248.95/165.39 new_esEs1(Integer(x0)) 248.95/165.39 new_primModNatS01(x0, x1, Zero, Succ(x2)) 248.95/165.39 new_primMulNat2(Succ(x0)) 248.95/165.39 new_sr14(Neg(x0), Neg(x1)) 248.95/165.39 new_primMinusNatS2(Succ(x0), Zero) 248.95/165.39 new_sr4(x0, x1, ty_Float) 248.95/165.39 new_sr6(Pos(x0)) 248.95/165.39 new_esEs2(x0, x1, ty_Integer) 248.95/165.39 new_primMulNat4(Succ(x0)) 248.95/165.39 new_rem(Neg(x0), Neg(Succ(x1))) 248.95/165.39 new_primEqInt(Pos(Succ(x0))) 248.95/165.39 new_primQuotInt(x0, Pos(Zero)) 248.95/165.39 new_gcd0Gcd'11(False, x0, x1) 248.95/165.39 new_sr9(x0) 248.95/165.39 new_primModNatS1(Succ(Succ(x0)), Zero) 248.95/165.39 new_esEs0(x0, ty_Integer) 248.95/165.39 new_gcd0Gcd'00(x0, x1) 248.95/165.39 new_reduce2Reduce1(x0, x1, x2, x3, True, x4) 248.95/165.39 new_sr3(x0, ty_Double) 248.95/165.39 new_esEs(Neg(Zero)) 248.95/165.39 new_primMulNat1(Zero) 248.95/165.39 new_rem(Neg(x0), Neg(Zero)) 248.95/165.39 new_new_pr2F0G10(Succ(Succ(x0))) 248.95/165.39 new_new_pr2F0G10(Succ(Zero)) 248.95/165.39 new_new_pr2F0G10(Zero) 248.95/165.39 248.95/165.39 We have to consider all minimal (P,Q,R)-chains. 248.95/165.39 ---------------------------------------- 248.95/165.39 248.95/165.39 (859) TransformationProof (EQUIVALENT) 248.95/165.39 By narrowing [LPAR04] the rule new_pr2F0G10(y0, y1, Succ(Succ(Succ(x0))), Zero, y3) -> new_pr2F0G(y0, new_sr3(y1, y3), Neg(Succ(new_primDivNatS02(x0, Zero, x0, Zero))), y3) at position [2,0,0] we obtained the following new rules [LPAR04]: 248.95/165.39 248.95/165.39 (new_pr2F0G10(y0, y1, Succ(Succ(Succ(Zero))), Zero, y3) -> new_pr2F0G(y0, new_sr3(y1, y3), Neg(Succ(new_primDivNatS01(Zero, Zero))), y3),new_pr2F0G10(y0, y1, Succ(Succ(Succ(Zero))), Zero, y3) -> new_pr2F0G(y0, new_sr3(y1, y3), Neg(Succ(new_primDivNatS01(Zero, Zero))), y3)) 248.95/165.39 (new_pr2F0G10(y0, y1, Succ(Succ(Succ(Succ(x2)))), Zero, y3) -> new_pr2F0G(y0, new_sr3(y1, y3), Neg(Succ(new_primDivNatS01(Succ(x2), Zero))), y3),new_pr2F0G10(y0, y1, Succ(Succ(Succ(Succ(x2)))), Zero, y3) -> new_pr2F0G(y0, new_sr3(y1, y3), Neg(Succ(new_primDivNatS01(Succ(x2), Zero))), y3)) 248.95/165.39 248.95/165.39 248.95/165.39 ---------------------------------------- 248.95/165.39 248.95/165.39 (860) 248.95/165.39 Obligation: 248.95/165.39 Q DP problem: 248.95/165.39 The TRS P consists of the following rules: 248.95/165.39 248.95/165.39 new_pr2F0(vyv183, Neg(Succ(Succ(vyv222000))), vyv187, h) -> new_pr2F0G10(vyv187, vyv183, Succ(vyv222000), vyv222000, h) 248.95/165.39 new_pr2F0G10(vyv248, vyv249, vyv250, Succ(Zero), bb) -> new_pr2F0G11(vyv248, vyv249, vyv250, bb) 248.95/165.39 new_pr2F0G11(vyv238, vyv239, vyv240, bc) -> new_pr2F1(vyv239, vyv240, Pos(Succ(Zero)), vyv238, bc) 248.95/165.39 new_pr2F1(z1, z2, Pos(Succ(Zero)), z0, z3) -> new_pr2F30(False, z1, z2, Pos(Succ(Zero)), z0, z3) 248.95/165.39 new_pr2F30(False, z0, z1, Pos(Succ(Zero)), z2, z3) -> new_pr2F0(z0, Neg(Succ(Succ(new_primPlusNat0(z1, Zero)))), new_sr4(z0, z2, z3), z3) 248.95/165.39 H(vyv248, vyv249, vyv250, bb, cons_new_pr2F0G10(Succ(Zero))) -> new_pr2F0G10(vyv248, vyv249, vyv250, Succ(Zero), bb) 248.95/165.39 H(vyv248, vyv249, vyv250, bb, cons_new_pr2F0G10(Zero)) -> new_pr2F0G10(vyv248, vyv249, vyv250, Zero, bb) 248.95/165.39 new_pr2F0G(vyv187, vyv183, Neg(Succ(Zero)), h) -> new_pr2F0G11(vyv187, vyv183, Zero, h) 248.95/165.39 new_pr2F0G(vyv187, vyv183, Neg(Succ(Succ(vyv222000))), h) -> new_pr2F0G10(vyv187, vyv183, Succ(vyv222000), vyv222000, h) 248.95/165.39 new_pr2F0G10(y0, y1, Succ(Zero), Zero, y3) -> new_pr2F0G(y0, new_sr3(y1, y3), Neg(Succ(Zero)), y3) 248.95/165.39 new_pr2F0(y0, Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), y2, y3) -> H(y2, y0, Succ(Succ(Succ(Succ(Zero)))), y3, cons_new_pr2F0G10(Succ(Zero))) 248.95/165.39 new_pr2F0(y0, Neg(Succ(Succ(Succ(Succ(Zero))))), y2, y3) -> H(y2, y0, Succ(Succ(Succ(Zero))), y3, cons_new_pr2F0G10(Zero)) 248.95/165.39 new_pr2F0G10(y0, y1, Succ(Succ(Zero)), Zero, y3) -> new_pr2F0G(y0, new_sr3(y1, y3), Neg(Succ(Zero)), y3) 248.95/165.39 new_pr2F0G(y0, y1, Neg(Succ(Succ(Succ(Succ(Succ(Succ(x0))))))), y3) -> H(y0, y1, Succ(Succ(Succ(Succ(Succ(x0))))), y3, new_new_pr2F0G10(x0)) 248.95/165.39 new_pr2F0G(y0, y1, Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), y3) -> H(y0, y1, Succ(Succ(Succ(Succ(Zero)))), y3, cons_new_pr2F0G10(Succ(Zero))) 248.95/165.39 new_pr2F0G(y0, y1, Neg(Succ(Succ(Succ(Succ(Zero))))), y3) -> H(y0, y1, Succ(Succ(Succ(Zero))), y3, cons_new_pr2F0G10(Zero)) 248.95/165.39 new_pr2F0(y0, Neg(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(x0))))))))), y2, y3) -> H(y2, y0, Succ(Succ(Succ(Succ(Succ(Succ(Succ(x0))))))), y3, new_new_pr2F0G10(x0)) 248.95/165.39 new_pr2F0(y0, Neg(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))))), y2, y3) -> H(y2, y0, Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))), y3, cons_new_pr2F0G10(Succ(Zero))) 248.95/165.39 new_pr2F0(y0, Neg(Succ(Succ(Succ(Succ(Succ(Succ(Zero))))))), y2, y3) -> H(y2, y0, Succ(Succ(Succ(Succ(Succ(Zero))))), y3, cons_new_pr2F0G10(Zero)) 248.95/165.39 new_pr2F0G10(y0, y1, Succ(Succ(Succ(Zero))), Zero, y3) -> new_pr2F0G(y0, new_sr3(y1, y3), Neg(Succ(new_primDivNatS01(Zero, Zero))), y3) 248.95/165.39 new_pr2F0G10(y0, y1, Succ(Succ(Succ(Succ(x2)))), Zero, y3) -> new_pr2F0G(y0, new_sr3(y1, y3), Neg(Succ(new_primDivNatS01(Succ(x2), Zero))), y3) 248.95/165.39 248.95/165.39 The TRS R consists of the following rules: 248.95/165.39 248.95/165.39 new_new_pr2F0G10(Succ(Succ(vyv25100))) -> new_new_pr2F0G10(vyv25100) 248.95/165.39 new_new_pr2F0G10(Succ(Zero)) -> cons_new_pr2F0G10(Succ(Zero)) 248.95/165.39 new_new_pr2F0G10(Zero) -> cons_new_pr2F0G10(Zero) 248.95/165.39 new_sr3(vyv249, ty_Float) -> new_sr10(vyv249) 248.95/165.39 new_sr3(vyv249, ty_Double) -> new_sr9(vyv249) 248.95/165.39 new_sr3(vyv249, ty_Int) -> new_sr6(vyv249) 248.95/165.39 new_sr3(vyv249, ty_Integer) -> new_sr7(vyv249) 248.95/165.39 new_sr3(vyv249, app(ty_Ratio, bg)) -> new_sr5(vyv249, bg) 248.95/165.39 new_sr5(:%(vyv1830, vyv1831), bd) -> new_reduce2Reduce1(vyv1830, vyv1830, vyv1831, vyv1831, new_esEs0(vyv1831, bd), bd) 248.95/165.39 new_esEs0(vyv1831, ty_Int) -> new_esEs(new_sr6(vyv1831)) 248.95/165.39 new_esEs0(vyv1831, ty_Integer) -> new_esEs1(new_sr7(vyv1831)) 248.95/165.39 new_reduce2Reduce1(vyv264, vyv265, vyv266, vyv267, False, bh) -> :%(new_quot1(vyv264, vyv265, vyv266, vyv267, bh), new_quot2(vyv266, vyv267, vyv264, vyv265, bh)) 248.95/165.39 new_reduce2Reduce1(vyv264, vyv265, vyv266, vyv267, True, bh) -> error([]) 248.95/165.39 new_quot1(vyv264, vyv265, vyv266, vyv267, ty_Int) -> new_quot0(new_sr14(vyv264, vyv265), new_sr14(vyv264, vyv265), new_sr14(vyv266, vyv267)) 248.95/165.39 new_quot1(vyv264, vyv265, vyv266, vyv267, ty_Integer) -> new_quot(new_sr8(vyv264, vyv265), new_sr8(vyv264, vyv265), new_sr8(vyv266, vyv267)) 248.95/165.39 new_quot2(vyv266, vyv267, vyv264, vyv265, ty_Int) -> new_quot0(new_sr14(vyv266, vyv267), new_sr14(vyv264, vyv265), new_sr14(vyv266, vyv267)) 248.95/165.39 new_quot2(vyv266, vyv267, vyv264, vyv265, ty_Integer) -> new_quot(new_sr8(vyv266, vyv267), new_sr8(vyv264, vyv265), new_sr8(vyv266, vyv267)) 248.95/165.39 new_sr8(vyv239, vyv238) -> error([]) 248.95/165.39 new_quot(vyv273, vyv275, vyv274) -> error([]) 248.95/165.39 new_sr14(Pos(vyv2390), Neg(vyv2380)) -> Neg(new_primMulNat0(vyv2390, vyv2380)) 248.95/165.39 new_sr14(Neg(vyv2390), Pos(vyv2380)) -> Neg(new_primMulNat0(vyv2390, vyv2380)) 248.95/165.39 new_sr14(Neg(vyv2390), Neg(vyv2380)) -> Pos(new_primMulNat0(vyv2390, vyv2380)) 248.95/165.39 new_sr14(Pos(vyv2390), Pos(vyv2380)) -> Pos(new_primMulNat0(vyv2390, vyv2380)) 248.95/165.39 new_quot0(Neg(vyv2700), vyv272, vyv271) -> new_primQuotInt0(vyv2700, new_gcd(vyv272, vyv271)) 248.95/165.39 new_quot0(Pos(vyv2700), vyv272, vyv271) -> new_primQuotInt(vyv2700, new_gcd(vyv272, vyv271)) 248.95/165.39 new_gcd(vyv272, vyv271) -> new_gcd2(new_esEs(vyv272), vyv272, vyv271) 248.95/165.39 new_primQuotInt(vyv2700, Pos(Succ(vyv28400))) -> Pos(new_primDivNatS1(vyv2700, vyv28400)) 248.95/165.39 new_primQuotInt(vyv2700, Neg(Zero)) -> new_error 248.95/165.39 new_primQuotInt(vyv2700, Pos(Zero)) -> new_error 248.95/165.39 new_primQuotInt(vyv2700, Neg(Succ(vyv28400))) -> Neg(new_primDivNatS1(vyv2700, vyv28400)) 248.95/165.39 new_primDivNatS1(Succ(Zero), Succ(vyv284000)) -> Zero 248.95/165.39 new_primDivNatS1(Succ(Succ(vyv270000)), Succ(vyv284000)) -> new_primDivNatS02(vyv270000, vyv284000, vyv270000, vyv284000) 248.95/165.39 new_primDivNatS1(Zero, vyv28400) -> Zero 248.95/165.39 new_primDivNatS1(Succ(Succ(vyv270000)), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS0(vyv270000), Zero)) 248.95/165.39 new_primDivNatS1(Succ(Zero), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS1, Zero)) 248.95/165.39 new_primMinusNatS1 -> Zero 248.95/165.39 new_primMinusNatS0(vyv270000) -> Succ(vyv270000) 248.95/165.39 new_primDivNatS02(vyv310, vyv311, Zero, Zero) -> new_primDivNatS01(vyv310, vyv311) 248.95/165.39 new_primDivNatS02(vyv310, vyv311, Succ(vyv3120), Zero) -> new_primDivNatS01(vyv310, vyv311) 248.95/165.39 new_primDivNatS02(vyv310, vyv311, Zero, Succ(vyv3130)) -> Zero 248.95/165.39 new_primDivNatS02(vyv310, vyv311, Succ(vyv3120), Succ(vyv3130)) -> new_primDivNatS02(vyv310, vyv311, vyv3120, vyv3130) 248.95/165.39 new_primDivNatS01(vyv310, vyv311) -> Succ(new_primDivNatS1(new_primMinusNatS2(vyv310, vyv311), Succ(vyv311))) 248.95/165.39 new_primMinusNatS2(Zero, Succ(vyv3110)) -> Zero 248.95/165.39 new_primMinusNatS2(Succ(vyv3100), Zero) -> Succ(vyv3100) 248.95/165.39 new_primMinusNatS2(Zero, Zero) -> Zero 248.95/165.39 new_primMinusNatS2(Succ(vyv3100), Succ(vyv3110)) -> new_primMinusNatS2(vyv3100, vyv3110) 248.95/165.39 new_error -> error([]) 248.95/165.39 new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) 248.95/165.39 new_esEs(Pos(Succ(vyv24100))) -> new_primEqInt(Pos(Succ(vyv24100))) 248.95/165.39 new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) 248.95/165.39 new_esEs(Neg(Succ(vyv24100))) -> new_primEqInt(Neg(Succ(vyv24100))) 248.95/165.39 new_gcd2(True, vyv272, vyv271) -> new_gcd1(new_esEs(vyv271), vyv272, vyv271) 248.95/165.39 new_gcd2(False, vyv272, vyv271) -> new_gcd0(vyv272, vyv271) 248.95/165.39 new_gcd0(vyv272, vyv271) -> new_gcd0Gcd'10(new_esEs(new_abs(vyv271)), vyv272, vyv271) 248.95/165.39 new_abs(Neg(Zero)) -> Neg(Zero) 248.95/165.39 new_abs(Neg(Succ(vyv27100))) -> Pos(Succ(vyv27100)) 248.95/165.39 new_abs(Pos(Succ(vyv27100))) -> Pos(Succ(vyv27100)) 248.95/165.39 new_abs(Pos(Zero)) -> Pos(Zero) 248.95/165.39 new_gcd0Gcd'10(True, vyv272, vyv271) -> new_abs(vyv272) 248.95/165.39 new_gcd0Gcd'10(False, vyv272, vyv271) -> new_gcd0Gcd'00(new_abs(vyv272), new_abs(vyv271)) 248.95/165.39 new_gcd0Gcd'00(vyv292, vyv291) -> new_gcd0Gcd'11(new_esEs(new_rem(vyv292, vyv291)), vyv291, vyv292) 248.95/165.39 new_gcd0Gcd'11(False, vyv291, vyv292) -> new_gcd0Gcd'00(vyv291, new_rem(vyv292, vyv291)) 248.95/165.39 new_rem(Pos(vyv2920), Neg(Zero)) -> new_error 248.95/165.39 new_rem(Neg(vyv2920), Pos(Zero)) -> new_error 248.95/165.39 new_rem(Pos(vyv2920), Neg(Succ(vyv29100))) -> Pos(new_primModNatS1(vyv2920, vyv29100)) 248.95/165.39 new_rem(Neg(vyv2920), Pos(Succ(vyv29100))) -> Neg(new_primModNatS1(vyv2920, vyv29100)) 248.95/165.39 new_rem(Pos(vyv2920), Pos(Succ(vyv29100))) -> Pos(new_primModNatS1(vyv2920, vyv29100)) 248.95/165.39 new_rem(Neg(vyv2920), Neg(Zero)) -> new_error 248.95/165.39 new_rem(Neg(vyv2920), Neg(Succ(vyv29100))) -> Neg(new_primModNatS1(vyv2920, vyv29100)) 248.95/165.39 new_rem(Pos(vyv2920), Pos(Zero)) -> new_error 248.95/165.39 new_gcd0Gcd'11(True, vyv291, vyv292) -> vyv291 248.95/165.39 new_primModNatS1(Succ(Zero), Succ(vyv291000)) -> Succ(Zero) 248.95/165.39 new_primModNatS1(Zero, vyv29100) -> Zero 248.95/165.39 new_primModNatS1(Succ(Succ(vyv292000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv292000), Zero) 248.95/165.39 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 248.95/165.39 new_primModNatS1(Succ(Succ(vyv292000)), Succ(vyv291000)) -> new_primModNatS01(vyv292000, vyv291000, vyv292000, vyv291000) 248.95/165.39 new_primModNatS01(vyv330, vyv331, Zero, Zero) -> new_primModNatS02(vyv330, vyv331) 248.95/165.39 new_primModNatS02(vyv330, vyv331) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv330), Succ(vyv331)), Succ(vyv331)) 248.95/165.39 new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Zero) -> new_primModNatS02(vyv330, vyv331) 248.95/165.39 new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Succ(vyv3330)) -> new_primModNatS01(vyv330, vyv331, vyv3320, vyv3330) 248.95/165.39 new_primModNatS01(vyv330, vyv331, Zero, Succ(vyv3330)) -> Succ(Succ(vyv330)) 248.95/165.39 new_gcd1(True, vyv272, vyv271) -> new_error 248.95/165.39 new_gcd1(False, vyv272, vyv271) -> new_gcd0(vyv272, vyv271) 248.95/165.39 new_primEqInt(Neg(Succ(vyv242000))) -> False 248.95/165.39 new_primEqInt(Pos(Zero)) -> True 248.95/165.39 new_primEqInt(Pos(Succ(vyv242000))) -> False 248.95/165.39 new_primEqInt(Neg(Zero)) -> True 248.95/165.39 new_primQuotInt0(vyv2700, Pos(Succ(vyv28700))) -> Neg(new_primDivNatS1(vyv2700, vyv28700)) 248.95/165.39 new_primQuotInt0(vyv2700, Neg(Zero)) -> new_error 248.95/165.39 new_primQuotInt0(vyv2700, Neg(Succ(vyv28700))) -> Pos(new_primDivNatS1(vyv2700, vyv28700)) 248.95/165.39 new_primQuotInt0(vyv2700, Pos(Zero)) -> new_error 248.95/165.39 new_primMulNat0(Succ(vyv23900), Zero) -> Zero 248.95/165.39 new_primMulNat0(Zero, Succ(vyv23800)) -> Zero 248.95/165.39 new_primMulNat0(Zero, Zero) -> Zero 248.95/165.39 new_primMulNat0(Succ(vyv23900), Succ(vyv23800)) -> new_primPlusNat0(new_primMulNat0(vyv23900, Succ(vyv23800)), Succ(vyv23800)) 248.95/165.39 new_primPlusNat0(Succ(vyv4000), Succ(vyv5000)) -> Succ(Succ(new_primPlusNat0(vyv4000, vyv5000))) 248.95/165.39 new_primPlusNat0(Zero, Succ(vyv5000)) -> Succ(vyv5000) 248.95/165.39 new_primPlusNat0(Zero, Zero) -> Zero 248.95/165.39 new_primPlusNat0(Succ(vyv4000), Zero) -> Succ(vyv4000) 248.95/165.39 new_sr7(vyv183) -> error([]) 248.95/165.39 new_esEs1(Integer(vyv2690)) -> new_primEqInt(vyv2690) 248.95/165.39 new_sr6(Neg(vyv1830)) -> Pos(new_primMulNat1(vyv1830)) 248.95/165.39 new_sr6(Pos(vyv1830)) -> Pos(new_primMulNat1(vyv1830)) 248.95/165.39 new_primMulNat1(Succ(vyv18300)) -> new_primPlusNat0(new_primMulNat2(vyv18300), Succ(vyv18300)) 248.95/165.39 new_primMulNat1(Zero) -> Zero 248.95/165.39 new_primMulNat2(Succ(vyv183000)) -> new_primPlusNat0(new_primMulNat3(vyv183000), Succ(Succ(vyv183000))) 248.95/165.39 new_primMulNat2(Zero) -> Zero 248.95/165.39 new_primMulNat3(Succ(vyv1830000)) -> new_primPlusNat0(new_primMulNat4(vyv1830000), Succ(Succ(Succ(vyv1830000)))) 248.95/165.39 new_primMulNat3(Zero) -> Zero 248.95/165.39 new_primMulNat4(Succ(vyv18300000)) -> new_primPlusNat0(new_primMulNat0(vyv18300000, Succ(Succ(Succ(Succ(vyv18300000))))), Succ(Succ(Succ(Succ(vyv18300000))))) 248.95/165.39 new_primMulNat4(Zero) -> Zero 248.95/165.39 new_sr9(vyv183) -> error([]) 248.95/165.39 new_sr10(vyv183) -> error([]) 248.95/165.39 new_sr4(vyv239, vyv238, app(ty_Ratio, bf)) -> new_sr12(vyv239, vyv238, bf) 248.95/165.39 new_sr4(vyv239, vyv238, ty_Integer) -> new_sr8(vyv239, vyv238) 248.95/165.39 new_sr4(vyv239, vyv238, ty_Int) -> new_sr14(vyv239, vyv238) 248.95/165.39 new_sr4(vyv239, vyv238, ty_Double) -> new_sr11(vyv239, vyv238) 248.95/165.39 new_sr4(vyv239, vyv238, ty_Float) -> new_sr13(vyv239, vyv238) 248.95/165.39 new_sr13(vyv239, vyv238) -> error([]) 248.95/165.39 new_sr11(vyv239, vyv238) -> error([]) 248.95/165.39 new_sr12(:%(vyv2390, vyv2391), :%(vyv2380, vyv2381), bf) -> new_reduce2Reduce1(vyv2390, vyv2380, vyv2391, vyv2381, new_esEs2(vyv2391, vyv2381, bf), bf) 248.95/165.39 new_esEs2(vyv2391, vyv2381, ty_Int) -> new_esEs(new_sr14(vyv2391, vyv2381)) 248.95/165.39 new_esEs2(vyv2391, vyv2381, ty_Integer) -> new_esEs1(new_sr8(vyv2391, vyv2381)) 248.95/165.39 248.95/165.39 The set Q consists of the following terms: 248.95/165.39 248.95/165.39 new_rem(Pos(x0), Pos(Succ(x1))) 248.95/165.39 new_quot1(x0, x1, x2, x3, ty_Integer) 248.95/165.39 new_primModNatS1(Succ(Zero), Succ(x0)) 248.95/165.39 new_primMulNat4(Zero) 248.95/165.39 new_gcd1(False, x0, x1) 248.95/165.39 new_primEqInt(Pos(Zero)) 248.95/165.39 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 248.95/165.39 new_rem(Pos(x0), Neg(Succ(x1))) 248.95/165.39 new_rem(Neg(x0), Pos(Succ(x1))) 248.95/165.39 new_sr10(x0) 248.95/165.39 new_quot1(x0, x1, x2, x3, ty_Int) 248.95/165.39 new_quot2(x0, x1, x2, x3, ty_Integer) 248.95/165.39 new_primModNatS01(x0, x1, Succ(x2), Zero) 248.95/165.39 new_sr3(x0, ty_Integer) 248.95/165.39 new_primMulNat3(Zero) 248.95/165.39 new_primDivNatS02(x0, x1, Succ(x2), Zero) 248.95/165.39 new_quot2(x0, x1, x2, x3, ty_Int) 248.95/165.39 new_gcd2(False, x0, x1) 248.95/165.39 new_primDivNatS1(Succ(Zero), Zero) 248.95/165.39 new_esEs0(x0, ty_Int) 248.95/165.39 new_sr14(Pos(x0), Pos(x1)) 248.95/165.39 new_sr3(x0, ty_Int) 248.95/165.39 new_primMulNat0(Zero, Zero) 248.95/165.39 new_sr4(x0, x1, ty_Double) 248.95/165.39 new_primPlusNat0(Succ(x0), Zero) 248.95/165.39 new_primMulNat2(Zero) 248.95/165.39 new_sr11(x0, x1) 248.95/165.39 new_primModNatS01(x0, x1, Zero, Zero) 248.95/165.39 new_esEs2(x0, x1, ty_Int) 248.95/165.39 new_gcd1(True, x0, x1) 248.95/165.39 new_sr13(x0, x1) 248.95/165.39 new_sr14(Pos(x0), Neg(x1)) 248.95/165.39 new_sr14(Neg(x0), Pos(x1)) 248.95/165.39 new_primDivNatS1(Succ(Succ(x0)), Succ(x1)) 248.95/165.39 new_primModNatS1(Zero, x0) 248.95/165.39 new_esEs(Pos(Succ(x0))) 248.95/165.39 new_primMulNat3(Succ(x0)) 248.95/165.39 new_primQuotInt(x0, Neg(Succ(x1))) 248.95/165.39 new_reduce2Reduce1(x0, x1, x2, x3, False, x4) 248.95/165.39 new_primDivNatS1(Zero, x0) 248.95/165.39 new_primDivNatS02(x0, x1, Succ(x2), Succ(x3)) 248.95/165.39 new_primModNatS02(x0, x1) 248.95/165.39 new_primDivNatS1(Succ(Zero), Succ(x0)) 248.95/165.39 new_sr6(Neg(x0)) 248.95/165.39 new_gcd0Gcd'10(True, x0, x1) 248.95/165.39 new_primMulNat0(Succ(x0), Succ(x1)) 248.95/165.39 new_abs(Neg(Zero)) 248.95/165.39 new_rem(Pos(x0), Neg(Zero)) 248.95/165.39 new_rem(Neg(x0), Pos(Zero)) 248.95/165.39 new_primMinusNatS2(Zero, Succ(x0)) 248.95/165.39 new_esEs(Neg(Succ(x0))) 248.95/165.39 new_error 248.95/165.39 new_primModNatS1(Succ(Zero), Zero) 248.95/165.39 new_primMulNat0(Zero, Succ(x0)) 248.95/165.39 new_sr3(x0, ty_Float) 248.95/165.39 new_quot(x0, x1, x2) 248.95/165.39 new_gcd2(True, x0, x1) 248.95/165.39 new_gcd0Gcd'11(True, x0, x1) 248.95/165.39 new_primEqInt(Neg(Zero)) 248.95/165.39 new_primMulNat0(Succ(x0), Zero) 248.95/165.39 new_quot0(Neg(x0), x1, x2) 248.95/165.39 new_primMinusNatS2(Succ(x0), Succ(x1)) 248.95/165.39 new_sr4(x0, x1, app(ty_Ratio, x2)) 248.95/165.39 new_sr8(x0, x1) 248.95/165.39 new_primDivNatS01(x0, x1) 248.95/165.39 new_primDivNatS02(x0, x1, Zero, Succ(x2)) 248.95/165.39 new_primPlusNat0(Succ(x0), Succ(x1)) 248.95/165.39 new_primPlusNat0(Zero, Zero) 248.95/165.39 new_sr12(:%(x0, x1), :%(x2, x3), x4) 248.95/165.39 new_abs(Neg(Succ(x0))) 248.95/165.39 new_sr3(x0, app(ty_Ratio, x1)) 248.95/165.39 new_sr7(x0) 248.95/165.39 new_gcd0(x0, x1) 248.95/165.39 new_primQuotInt0(x0, Pos(Succ(x1))) 248.95/165.39 new_sr4(x0, x1, ty_Integer) 248.95/165.39 new_sr5(:%(x0, x1), x2) 248.95/165.39 new_primMinusNatS2(Zero, Zero) 248.95/165.39 new_primMulNat1(Succ(x0)) 248.95/165.39 new_abs(Pos(Succ(x0))) 248.95/165.39 new_sr4(x0, x1, ty_Int) 248.95/165.39 new_esEs(Pos(Zero)) 248.95/165.39 new_primQuotInt0(x0, Pos(Zero)) 248.95/165.39 new_primEqInt(Neg(Succ(x0))) 248.95/165.39 new_primQuotInt(x0, Neg(Zero)) 248.95/165.39 new_primQuotInt0(x0, Neg(Zero)) 248.95/165.39 new_primQuotInt0(x0, Neg(Succ(x1))) 248.95/165.39 new_gcd(x0, x1) 248.95/165.39 new_quot0(Pos(x0), x1, x2) 248.95/165.39 new_primMinusNatS0(x0) 248.95/165.39 new_primPlusNat0(Zero, Succ(x0)) 248.95/165.39 new_primQuotInt(x0, Pos(Succ(x1))) 248.95/165.39 new_primDivNatS1(Succ(Succ(x0)), Zero) 248.95/165.39 new_rem(Pos(x0), Pos(Zero)) 248.95/165.39 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 248.95/165.39 new_primDivNatS02(x0, x1, Zero, Zero) 248.95/165.39 new_abs(Pos(Zero)) 248.95/165.39 new_gcd0Gcd'10(False, x0, x1) 248.95/165.39 new_primMinusNatS1 248.95/165.39 new_esEs1(Integer(x0)) 248.95/165.39 new_primModNatS01(x0, x1, Zero, Succ(x2)) 248.95/165.39 new_primMulNat2(Succ(x0)) 248.95/165.39 new_sr14(Neg(x0), Neg(x1)) 248.95/165.39 new_primMinusNatS2(Succ(x0), Zero) 248.95/165.39 new_sr4(x0, x1, ty_Float) 248.95/165.39 new_sr6(Pos(x0)) 248.95/165.39 new_esEs2(x0, x1, ty_Integer) 248.95/165.39 new_primMulNat4(Succ(x0)) 248.95/165.39 new_rem(Neg(x0), Neg(Succ(x1))) 248.95/165.39 new_primEqInt(Pos(Succ(x0))) 248.95/165.39 new_primQuotInt(x0, Pos(Zero)) 248.95/165.39 new_gcd0Gcd'11(False, x0, x1) 248.95/165.39 new_sr9(x0) 248.95/165.39 new_primModNatS1(Succ(Succ(x0)), Zero) 248.95/165.39 new_esEs0(x0, ty_Integer) 248.95/165.39 new_gcd0Gcd'00(x0, x1) 248.95/165.39 new_reduce2Reduce1(x0, x1, x2, x3, True, x4) 248.95/165.39 new_sr3(x0, ty_Double) 248.95/165.39 new_esEs(Neg(Zero)) 248.95/165.39 new_primMulNat1(Zero) 248.95/165.39 new_rem(Neg(x0), Neg(Zero)) 248.95/165.39 new_new_pr2F0G10(Succ(Succ(x0))) 248.95/165.39 new_new_pr2F0G10(Succ(Zero)) 248.95/165.39 new_new_pr2F0G10(Zero) 248.95/165.39 248.95/165.39 We have to consider all minimal (P,Q,R)-chains. 248.95/165.39 ---------------------------------------- 248.95/165.39 248.95/165.39 (861) TransformationProof (EQUIVALENT) 248.95/165.39 By rewriting [LPAR04] the rule new_pr2F0G10(y0, y1, Succ(Succ(Succ(Zero))), Zero, y3) -> new_pr2F0G(y0, new_sr3(y1, y3), Neg(Succ(new_primDivNatS01(Zero, Zero))), y3) at position [2,0,0] we obtained the following new rules [LPAR04]: 248.95/165.39 248.95/165.39 (new_pr2F0G10(y0, y1, Succ(Succ(Succ(Zero))), Zero, y3) -> new_pr2F0G(y0, new_sr3(y1, y3), Neg(Succ(Succ(new_primDivNatS1(new_primMinusNatS2(Zero, Zero), Succ(Zero))))), y3),new_pr2F0G10(y0, y1, Succ(Succ(Succ(Zero))), Zero, y3) -> new_pr2F0G(y0, new_sr3(y1, y3), Neg(Succ(Succ(new_primDivNatS1(new_primMinusNatS2(Zero, Zero), Succ(Zero))))), y3)) 248.95/165.39 248.95/165.39 248.95/165.39 ---------------------------------------- 248.95/165.39 248.95/165.39 (862) 248.95/165.39 Obligation: 248.95/165.39 Q DP problem: 248.95/165.39 The TRS P consists of the following rules: 248.95/165.39 248.95/165.39 new_pr2F0(vyv183, Neg(Succ(Succ(vyv222000))), vyv187, h) -> new_pr2F0G10(vyv187, vyv183, Succ(vyv222000), vyv222000, h) 248.95/165.39 new_pr2F0G10(vyv248, vyv249, vyv250, Succ(Zero), bb) -> new_pr2F0G11(vyv248, vyv249, vyv250, bb) 248.95/165.39 new_pr2F0G11(vyv238, vyv239, vyv240, bc) -> new_pr2F1(vyv239, vyv240, Pos(Succ(Zero)), vyv238, bc) 248.95/165.39 new_pr2F1(z1, z2, Pos(Succ(Zero)), z0, z3) -> new_pr2F30(False, z1, z2, Pos(Succ(Zero)), z0, z3) 248.95/165.39 new_pr2F30(False, z0, z1, Pos(Succ(Zero)), z2, z3) -> new_pr2F0(z0, Neg(Succ(Succ(new_primPlusNat0(z1, Zero)))), new_sr4(z0, z2, z3), z3) 248.95/165.39 H(vyv248, vyv249, vyv250, bb, cons_new_pr2F0G10(Succ(Zero))) -> new_pr2F0G10(vyv248, vyv249, vyv250, Succ(Zero), bb) 248.95/165.39 H(vyv248, vyv249, vyv250, bb, cons_new_pr2F0G10(Zero)) -> new_pr2F0G10(vyv248, vyv249, vyv250, Zero, bb) 248.95/165.39 new_pr2F0G(vyv187, vyv183, Neg(Succ(Zero)), h) -> new_pr2F0G11(vyv187, vyv183, Zero, h) 248.95/165.39 new_pr2F0G(vyv187, vyv183, Neg(Succ(Succ(vyv222000))), h) -> new_pr2F0G10(vyv187, vyv183, Succ(vyv222000), vyv222000, h) 248.95/165.39 new_pr2F0G10(y0, y1, Succ(Zero), Zero, y3) -> new_pr2F0G(y0, new_sr3(y1, y3), Neg(Succ(Zero)), y3) 248.95/165.39 new_pr2F0(y0, Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), y2, y3) -> H(y2, y0, Succ(Succ(Succ(Succ(Zero)))), y3, cons_new_pr2F0G10(Succ(Zero))) 248.95/165.39 new_pr2F0(y0, Neg(Succ(Succ(Succ(Succ(Zero))))), y2, y3) -> H(y2, y0, Succ(Succ(Succ(Zero))), y3, cons_new_pr2F0G10(Zero)) 248.95/165.39 new_pr2F0G10(y0, y1, Succ(Succ(Zero)), Zero, y3) -> new_pr2F0G(y0, new_sr3(y1, y3), Neg(Succ(Zero)), y3) 248.95/165.39 new_pr2F0G(y0, y1, Neg(Succ(Succ(Succ(Succ(Succ(Succ(x0))))))), y3) -> H(y0, y1, Succ(Succ(Succ(Succ(Succ(x0))))), y3, new_new_pr2F0G10(x0)) 248.95/165.39 new_pr2F0G(y0, y1, Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), y3) -> H(y0, y1, Succ(Succ(Succ(Succ(Zero)))), y3, cons_new_pr2F0G10(Succ(Zero))) 248.95/165.39 new_pr2F0G(y0, y1, Neg(Succ(Succ(Succ(Succ(Zero))))), y3) -> H(y0, y1, Succ(Succ(Succ(Zero))), y3, cons_new_pr2F0G10(Zero)) 248.95/165.39 new_pr2F0(y0, Neg(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(x0))))))))), y2, y3) -> H(y2, y0, Succ(Succ(Succ(Succ(Succ(Succ(Succ(x0))))))), y3, new_new_pr2F0G10(x0)) 248.95/165.39 new_pr2F0(y0, Neg(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))))), y2, y3) -> H(y2, y0, Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))), y3, cons_new_pr2F0G10(Succ(Zero))) 248.95/165.39 new_pr2F0(y0, Neg(Succ(Succ(Succ(Succ(Succ(Succ(Zero))))))), y2, y3) -> H(y2, y0, Succ(Succ(Succ(Succ(Succ(Zero))))), y3, cons_new_pr2F0G10(Zero)) 248.95/165.39 new_pr2F0G10(y0, y1, Succ(Succ(Succ(Succ(x2)))), Zero, y3) -> new_pr2F0G(y0, new_sr3(y1, y3), Neg(Succ(new_primDivNatS01(Succ(x2), Zero))), y3) 248.95/165.39 new_pr2F0G10(y0, y1, Succ(Succ(Succ(Zero))), Zero, y3) -> new_pr2F0G(y0, new_sr3(y1, y3), Neg(Succ(Succ(new_primDivNatS1(new_primMinusNatS2(Zero, Zero), Succ(Zero))))), y3) 248.95/165.39 248.95/165.39 The TRS R consists of the following rules: 248.95/165.39 248.95/165.39 new_new_pr2F0G10(Succ(Succ(vyv25100))) -> new_new_pr2F0G10(vyv25100) 248.95/165.39 new_new_pr2F0G10(Succ(Zero)) -> cons_new_pr2F0G10(Succ(Zero)) 248.95/165.39 new_new_pr2F0G10(Zero) -> cons_new_pr2F0G10(Zero) 248.95/165.39 new_sr3(vyv249, ty_Float) -> new_sr10(vyv249) 248.95/165.39 new_sr3(vyv249, ty_Double) -> new_sr9(vyv249) 248.95/165.39 new_sr3(vyv249, ty_Int) -> new_sr6(vyv249) 248.95/165.39 new_sr3(vyv249, ty_Integer) -> new_sr7(vyv249) 248.95/165.39 new_sr3(vyv249, app(ty_Ratio, bg)) -> new_sr5(vyv249, bg) 248.95/165.39 new_sr5(:%(vyv1830, vyv1831), bd) -> new_reduce2Reduce1(vyv1830, vyv1830, vyv1831, vyv1831, new_esEs0(vyv1831, bd), bd) 248.95/165.39 new_esEs0(vyv1831, ty_Int) -> new_esEs(new_sr6(vyv1831)) 248.95/165.39 new_esEs0(vyv1831, ty_Integer) -> new_esEs1(new_sr7(vyv1831)) 248.95/165.39 new_reduce2Reduce1(vyv264, vyv265, vyv266, vyv267, False, bh) -> :%(new_quot1(vyv264, vyv265, vyv266, vyv267, bh), new_quot2(vyv266, vyv267, vyv264, vyv265, bh)) 248.95/165.39 new_reduce2Reduce1(vyv264, vyv265, vyv266, vyv267, True, bh) -> error([]) 248.95/165.39 new_quot1(vyv264, vyv265, vyv266, vyv267, ty_Int) -> new_quot0(new_sr14(vyv264, vyv265), new_sr14(vyv264, vyv265), new_sr14(vyv266, vyv267)) 248.95/165.39 new_quot1(vyv264, vyv265, vyv266, vyv267, ty_Integer) -> new_quot(new_sr8(vyv264, vyv265), new_sr8(vyv264, vyv265), new_sr8(vyv266, vyv267)) 248.95/165.39 new_quot2(vyv266, vyv267, vyv264, vyv265, ty_Int) -> new_quot0(new_sr14(vyv266, vyv267), new_sr14(vyv264, vyv265), new_sr14(vyv266, vyv267)) 248.95/165.39 new_quot2(vyv266, vyv267, vyv264, vyv265, ty_Integer) -> new_quot(new_sr8(vyv266, vyv267), new_sr8(vyv264, vyv265), new_sr8(vyv266, vyv267)) 248.95/165.39 new_sr8(vyv239, vyv238) -> error([]) 248.95/165.39 new_quot(vyv273, vyv275, vyv274) -> error([]) 248.95/165.39 new_sr14(Pos(vyv2390), Neg(vyv2380)) -> Neg(new_primMulNat0(vyv2390, vyv2380)) 248.95/165.39 new_sr14(Neg(vyv2390), Pos(vyv2380)) -> Neg(new_primMulNat0(vyv2390, vyv2380)) 248.95/165.39 new_sr14(Neg(vyv2390), Neg(vyv2380)) -> Pos(new_primMulNat0(vyv2390, vyv2380)) 248.95/165.39 new_sr14(Pos(vyv2390), Pos(vyv2380)) -> Pos(new_primMulNat0(vyv2390, vyv2380)) 248.95/165.39 new_quot0(Neg(vyv2700), vyv272, vyv271) -> new_primQuotInt0(vyv2700, new_gcd(vyv272, vyv271)) 248.95/165.39 new_quot0(Pos(vyv2700), vyv272, vyv271) -> new_primQuotInt(vyv2700, new_gcd(vyv272, vyv271)) 248.95/165.39 new_gcd(vyv272, vyv271) -> new_gcd2(new_esEs(vyv272), vyv272, vyv271) 248.95/165.39 new_primQuotInt(vyv2700, Pos(Succ(vyv28400))) -> Pos(new_primDivNatS1(vyv2700, vyv28400)) 248.95/165.39 new_primQuotInt(vyv2700, Neg(Zero)) -> new_error 248.95/165.39 new_primQuotInt(vyv2700, Pos(Zero)) -> new_error 248.95/165.39 new_primQuotInt(vyv2700, Neg(Succ(vyv28400))) -> Neg(new_primDivNatS1(vyv2700, vyv28400)) 248.95/165.39 new_primDivNatS1(Succ(Zero), Succ(vyv284000)) -> Zero 248.95/165.39 new_primDivNatS1(Succ(Succ(vyv270000)), Succ(vyv284000)) -> new_primDivNatS02(vyv270000, vyv284000, vyv270000, vyv284000) 248.95/165.39 new_primDivNatS1(Zero, vyv28400) -> Zero 248.95/165.39 new_primDivNatS1(Succ(Succ(vyv270000)), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS0(vyv270000), Zero)) 248.95/165.39 new_primDivNatS1(Succ(Zero), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS1, Zero)) 248.95/165.39 new_primMinusNatS1 -> Zero 248.95/165.39 new_primMinusNatS0(vyv270000) -> Succ(vyv270000) 248.95/165.39 new_primDivNatS02(vyv310, vyv311, Zero, Zero) -> new_primDivNatS01(vyv310, vyv311) 248.95/165.39 new_primDivNatS02(vyv310, vyv311, Succ(vyv3120), Zero) -> new_primDivNatS01(vyv310, vyv311) 248.95/165.39 new_primDivNatS02(vyv310, vyv311, Zero, Succ(vyv3130)) -> Zero 248.95/165.39 new_primDivNatS02(vyv310, vyv311, Succ(vyv3120), Succ(vyv3130)) -> new_primDivNatS02(vyv310, vyv311, vyv3120, vyv3130) 248.95/165.39 new_primDivNatS01(vyv310, vyv311) -> Succ(new_primDivNatS1(new_primMinusNatS2(vyv310, vyv311), Succ(vyv311))) 248.95/165.39 new_primMinusNatS2(Zero, Succ(vyv3110)) -> Zero 248.95/165.39 new_primMinusNatS2(Succ(vyv3100), Zero) -> Succ(vyv3100) 248.95/165.39 new_primMinusNatS2(Zero, Zero) -> Zero 248.95/165.39 new_primMinusNatS2(Succ(vyv3100), Succ(vyv3110)) -> new_primMinusNatS2(vyv3100, vyv3110) 248.95/165.39 new_error -> error([]) 248.95/165.39 new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) 248.95/165.39 new_esEs(Pos(Succ(vyv24100))) -> new_primEqInt(Pos(Succ(vyv24100))) 248.95/165.39 new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) 248.95/165.39 new_esEs(Neg(Succ(vyv24100))) -> new_primEqInt(Neg(Succ(vyv24100))) 248.95/165.39 new_gcd2(True, vyv272, vyv271) -> new_gcd1(new_esEs(vyv271), vyv272, vyv271) 248.95/165.39 new_gcd2(False, vyv272, vyv271) -> new_gcd0(vyv272, vyv271) 248.95/165.39 new_gcd0(vyv272, vyv271) -> new_gcd0Gcd'10(new_esEs(new_abs(vyv271)), vyv272, vyv271) 248.95/165.39 new_abs(Neg(Zero)) -> Neg(Zero) 248.95/165.39 new_abs(Neg(Succ(vyv27100))) -> Pos(Succ(vyv27100)) 248.95/165.39 new_abs(Pos(Succ(vyv27100))) -> Pos(Succ(vyv27100)) 248.95/165.39 new_abs(Pos(Zero)) -> Pos(Zero) 248.95/165.39 new_gcd0Gcd'10(True, vyv272, vyv271) -> new_abs(vyv272) 248.95/165.39 new_gcd0Gcd'10(False, vyv272, vyv271) -> new_gcd0Gcd'00(new_abs(vyv272), new_abs(vyv271)) 248.95/165.39 new_gcd0Gcd'00(vyv292, vyv291) -> new_gcd0Gcd'11(new_esEs(new_rem(vyv292, vyv291)), vyv291, vyv292) 248.95/165.39 new_gcd0Gcd'11(False, vyv291, vyv292) -> new_gcd0Gcd'00(vyv291, new_rem(vyv292, vyv291)) 248.95/165.39 new_rem(Pos(vyv2920), Neg(Zero)) -> new_error 248.95/165.39 new_rem(Neg(vyv2920), Pos(Zero)) -> new_error 248.95/165.39 new_rem(Pos(vyv2920), Neg(Succ(vyv29100))) -> Pos(new_primModNatS1(vyv2920, vyv29100)) 248.95/165.39 new_rem(Neg(vyv2920), Pos(Succ(vyv29100))) -> Neg(new_primModNatS1(vyv2920, vyv29100)) 248.95/165.39 new_rem(Pos(vyv2920), Pos(Succ(vyv29100))) -> Pos(new_primModNatS1(vyv2920, vyv29100)) 248.95/165.39 new_rem(Neg(vyv2920), Neg(Zero)) -> new_error 248.95/165.39 new_rem(Neg(vyv2920), Neg(Succ(vyv29100))) -> Neg(new_primModNatS1(vyv2920, vyv29100)) 248.95/165.39 new_rem(Pos(vyv2920), Pos(Zero)) -> new_error 248.95/165.39 new_gcd0Gcd'11(True, vyv291, vyv292) -> vyv291 248.95/165.39 new_primModNatS1(Succ(Zero), Succ(vyv291000)) -> Succ(Zero) 248.95/165.39 new_primModNatS1(Zero, vyv29100) -> Zero 248.95/165.39 new_primModNatS1(Succ(Succ(vyv292000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv292000), Zero) 248.95/165.39 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 248.95/165.39 new_primModNatS1(Succ(Succ(vyv292000)), Succ(vyv291000)) -> new_primModNatS01(vyv292000, vyv291000, vyv292000, vyv291000) 248.95/165.39 new_primModNatS01(vyv330, vyv331, Zero, Zero) -> new_primModNatS02(vyv330, vyv331) 248.95/165.39 new_primModNatS02(vyv330, vyv331) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv330), Succ(vyv331)), Succ(vyv331)) 248.95/165.39 new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Zero) -> new_primModNatS02(vyv330, vyv331) 248.95/165.39 new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Succ(vyv3330)) -> new_primModNatS01(vyv330, vyv331, vyv3320, vyv3330) 248.95/165.39 new_primModNatS01(vyv330, vyv331, Zero, Succ(vyv3330)) -> Succ(Succ(vyv330)) 248.95/165.39 new_gcd1(True, vyv272, vyv271) -> new_error 248.95/165.39 new_gcd1(False, vyv272, vyv271) -> new_gcd0(vyv272, vyv271) 248.95/165.39 new_primEqInt(Neg(Succ(vyv242000))) -> False 248.95/165.39 new_primEqInt(Pos(Zero)) -> True 248.95/165.39 new_primEqInt(Pos(Succ(vyv242000))) -> False 248.95/165.39 new_primEqInt(Neg(Zero)) -> True 248.95/165.39 new_primQuotInt0(vyv2700, Pos(Succ(vyv28700))) -> Neg(new_primDivNatS1(vyv2700, vyv28700)) 248.95/165.39 new_primQuotInt0(vyv2700, Neg(Zero)) -> new_error 248.95/165.39 new_primQuotInt0(vyv2700, Neg(Succ(vyv28700))) -> Pos(new_primDivNatS1(vyv2700, vyv28700)) 248.95/165.39 new_primQuotInt0(vyv2700, Pos(Zero)) -> new_error 248.95/165.39 new_primMulNat0(Succ(vyv23900), Zero) -> Zero 248.95/165.39 new_primMulNat0(Zero, Succ(vyv23800)) -> Zero 248.95/165.39 new_primMulNat0(Zero, Zero) -> Zero 248.95/165.39 new_primMulNat0(Succ(vyv23900), Succ(vyv23800)) -> new_primPlusNat0(new_primMulNat0(vyv23900, Succ(vyv23800)), Succ(vyv23800)) 248.95/165.39 new_primPlusNat0(Succ(vyv4000), Succ(vyv5000)) -> Succ(Succ(new_primPlusNat0(vyv4000, vyv5000))) 248.95/165.39 new_primPlusNat0(Zero, Succ(vyv5000)) -> Succ(vyv5000) 248.95/165.39 new_primPlusNat0(Zero, Zero) -> Zero 248.95/165.39 new_primPlusNat0(Succ(vyv4000), Zero) -> Succ(vyv4000) 248.95/165.39 new_sr7(vyv183) -> error([]) 248.95/165.39 new_esEs1(Integer(vyv2690)) -> new_primEqInt(vyv2690) 248.95/165.39 new_sr6(Neg(vyv1830)) -> Pos(new_primMulNat1(vyv1830)) 248.95/165.39 new_sr6(Pos(vyv1830)) -> Pos(new_primMulNat1(vyv1830)) 248.95/165.39 new_primMulNat1(Succ(vyv18300)) -> new_primPlusNat0(new_primMulNat2(vyv18300), Succ(vyv18300)) 248.95/165.39 new_primMulNat1(Zero) -> Zero 248.95/165.39 new_primMulNat2(Succ(vyv183000)) -> new_primPlusNat0(new_primMulNat3(vyv183000), Succ(Succ(vyv183000))) 248.95/165.39 new_primMulNat2(Zero) -> Zero 248.95/165.39 new_primMulNat3(Succ(vyv1830000)) -> new_primPlusNat0(new_primMulNat4(vyv1830000), Succ(Succ(Succ(vyv1830000)))) 248.95/165.39 new_primMulNat3(Zero) -> Zero 248.95/165.39 new_primMulNat4(Succ(vyv18300000)) -> new_primPlusNat0(new_primMulNat0(vyv18300000, Succ(Succ(Succ(Succ(vyv18300000))))), Succ(Succ(Succ(Succ(vyv18300000))))) 248.95/165.39 new_primMulNat4(Zero) -> Zero 248.95/165.39 new_sr9(vyv183) -> error([]) 248.95/165.39 new_sr10(vyv183) -> error([]) 248.95/165.39 new_sr4(vyv239, vyv238, app(ty_Ratio, bf)) -> new_sr12(vyv239, vyv238, bf) 248.95/165.39 new_sr4(vyv239, vyv238, ty_Integer) -> new_sr8(vyv239, vyv238) 248.95/165.39 new_sr4(vyv239, vyv238, ty_Int) -> new_sr14(vyv239, vyv238) 248.95/165.39 new_sr4(vyv239, vyv238, ty_Double) -> new_sr11(vyv239, vyv238) 248.95/165.39 new_sr4(vyv239, vyv238, ty_Float) -> new_sr13(vyv239, vyv238) 248.95/165.39 new_sr13(vyv239, vyv238) -> error([]) 248.95/165.39 new_sr11(vyv239, vyv238) -> error([]) 248.95/165.39 new_sr12(:%(vyv2390, vyv2391), :%(vyv2380, vyv2381), bf) -> new_reduce2Reduce1(vyv2390, vyv2380, vyv2391, vyv2381, new_esEs2(vyv2391, vyv2381, bf), bf) 248.95/165.39 new_esEs2(vyv2391, vyv2381, ty_Int) -> new_esEs(new_sr14(vyv2391, vyv2381)) 248.95/165.39 new_esEs2(vyv2391, vyv2381, ty_Integer) -> new_esEs1(new_sr8(vyv2391, vyv2381)) 248.95/165.39 248.95/165.39 The set Q consists of the following terms: 248.95/165.39 248.95/165.39 new_rem(Pos(x0), Pos(Succ(x1))) 248.95/165.39 new_quot1(x0, x1, x2, x3, ty_Integer) 248.95/165.39 new_primModNatS1(Succ(Zero), Succ(x0)) 248.95/165.39 new_primMulNat4(Zero) 248.95/165.39 new_gcd1(False, x0, x1) 248.95/165.39 new_primEqInt(Pos(Zero)) 248.95/165.39 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 248.95/165.39 new_rem(Pos(x0), Neg(Succ(x1))) 248.95/165.39 new_rem(Neg(x0), Pos(Succ(x1))) 248.95/165.39 new_sr10(x0) 248.95/165.39 new_quot1(x0, x1, x2, x3, ty_Int) 248.95/165.39 new_quot2(x0, x1, x2, x3, ty_Integer) 248.95/165.39 new_primModNatS01(x0, x1, Succ(x2), Zero) 248.95/165.39 new_sr3(x0, ty_Integer) 248.95/165.39 new_primMulNat3(Zero) 248.95/165.39 new_primDivNatS02(x0, x1, Succ(x2), Zero) 248.95/165.39 new_quot2(x0, x1, x2, x3, ty_Int) 248.95/165.39 new_gcd2(False, x0, x1) 248.95/165.39 new_primDivNatS1(Succ(Zero), Zero) 248.95/165.39 new_esEs0(x0, ty_Int) 248.95/165.39 new_sr14(Pos(x0), Pos(x1)) 248.95/165.39 new_sr3(x0, ty_Int) 248.95/165.39 new_primMulNat0(Zero, Zero) 248.95/165.39 new_sr4(x0, x1, ty_Double) 248.95/165.39 new_primPlusNat0(Succ(x0), Zero) 248.95/165.39 new_primMulNat2(Zero) 248.95/165.39 new_sr11(x0, x1) 248.95/165.39 new_primModNatS01(x0, x1, Zero, Zero) 248.95/165.39 new_esEs2(x0, x1, ty_Int) 248.95/165.39 new_gcd1(True, x0, x1) 248.95/165.39 new_sr13(x0, x1) 248.95/165.39 new_sr14(Pos(x0), Neg(x1)) 248.95/165.39 new_sr14(Neg(x0), Pos(x1)) 248.95/165.39 new_primDivNatS1(Succ(Succ(x0)), Succ(x1)) 248.95/165.39 new_primModNatS1(Zero, x0) 248.95/165.39 new_esEs(Pos(Succ(x0))) 248.95/165.39 new_primMulNat3(Succ(x0)) 248.95/165.39 new_primQuotInt(x0, Neg(Succ(x1))) 248.95/165.39 new_reduce2Reduce1(x0, x1, x2, x3, False, x4) 248.95/165.39 new_primDivNatS1(Zero, x0) 248.95/165.39 new_primDivNatS02(x0, x1, Succ(x2), Succ(x3)) 248.95/165.39 new_primModNatS02(x0, x1) 248.95/165.39 new_primDivNatS1(Succ(Zero), Succ(x0)) 248.95/165.39 new_sr6(Neg(x0)) 248.95/165.39 new_gcd0Gcd'10(True, x0, x1) 248.95/165.39 new_primMulNat0(Succ(x0), Succ(x1)) 248.95/165.39 new_abs(Neg(Zero)) 248.95/165.39 new_rem(Pos(x0), Neg(Zero)) 248.95/165.39 new_rem(Neg(x0), Pos(Zero)) 248.95/165.39 new_primMinusNatS2(Zero, Succ(x0)) 248.95/165.39 new_esEs(Neg(Succ(x0))) 248.95/165.39 new_error 248.95/165.39 new_primModNatS1(Succ(Zero), Zero) 248.95/165.39 new_primMulNat0(Zero, Succ(x0)) 248.95/165.39 new_sr3(x0, ty_Float) 248.95/165.39 new_quot(x0, x1, x2) 248.95/165.39 new_gcd2(True, x0, x1) 248.95/165.39 new_gcd0Gcd'11(True, x0, x1) 248.95/165.39 new_primEqInt(Neg(Zero)) 248.95/165.39 new_primMulNat0(Succ(x0), Zero) 248.95/165.39 new_quot0(Neg(x0), x1, x2) 248.95/165.39 new_primMinusNatS2(Succ(x0), Succ(x1)) 248.95/165.39 new_sr4(x0, x1, app(ty_Ratio, x2)) 248.95/165.39 new_sr8(x0, x1) 248.95/165.39 new_primDivNatS01(x0, x1) 248.95/165.39 new_primDivNatS02(x0, x1, Zero, Succ(x2)) 248.95/165.39 new_primPlusNat0(Succ(x0), Succ(x1)) 248.95/165.39 new_primPlusNat0(Zero, Zero) 248.95/165.39 new_sr12(:%(x0, x1), :%(x2, x3), x4) 248.95/165.39 new_abs(Neg(Succ(x0))) 248.95/165.39 new_sr3(x0, app(ty_Ratio, x1)) 248.95/165.39 new_sr7(x0) 248.95/165.39 new_gcd0(x0, x1) 248.95/165.39 new_primQuotInt0(x0, Pos(Succ(x1))) 248.95/165.39 new_sr4(x0, x1, ty_Integer) 248.95/165.39 new_sr5(:%(x0, x1), x2) 248.95/165.39 new_primMinusNatS2(Zero, Zero) 248.95/165.39 new_primMulNat1(Succ(x0)) 248.95/165.39 new_abs(Pos(Succ(x0))) 248.95/165.39 new_sr4(x0, x1, ty_Int) 248.95/165.39 new_esEs(Pos(Zero)) 248.95/165.39 new_primQuotInt0(x0, Pos(Zero)) 248.95/165.39 new_primEqInt(Neg(Succ(x0))) 248.95/165.39 new_primQuotInt(x0, Neg(Zero)) 248.95/165.39 new_primQuotInt0(x0, Neg(Zero)) 248.95/165.39 new_primQuotInt0(x0, Neg(Succ(x1))) 248.95/165.39 new_gcd(x0, x1) 248.95/165.39 new_quot0(Pos(x0), x1, x2) 248.95/165.39 new_primMinusNatS0(x0) 248.95/165.39 new_primPlusNat0(Zero, Succ(x0)) 248.95/165.39 new_primQuotInt(x0, Pos(Succ(x1))) 248.95/165.39 new_primDivNatS1(Succ(Succ(x0)), Zero) 248.95/165.39 new_rem(Pos(x0), Pos(Zero)) 248.95/165.39 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 248.95/165.39 new_primDivNatS02(x0, x1, Zero, Zero) 248.95/165.39 new_abs(Pos(Zero)) 248.95/165.39 new_gcd0Gcd'10(False, x0, x1) 248.95/165.39 new_primMinusNatS1 248.95/165.39 new_esEs1(Integer(x0)) 248.95/165.39 new_primModNatS01(x0, x1, Zero, Succ(x2)) 248.95/165.39 new_primMulNat2(Succ(x0)) 248.95/165.39 new_sr14(Neg(x0), Neg(x1)) 248.95/165.39 new_primMinusNatS2(Succ(x0), Zero) 248.95/165.39 new_sr4(x0, x1, ty_Float) 248.95/165.39 new_sr6(Pos(x0)) 248.95/165.39 new_esEs2(x0, x1, ty_Integer) 248.95/165.39 new_primMulNat4(Succ(x0)) 248.95/165.39 new_rem(Neg(x0), Neg(Succ(x1))) 248.95/165.39 new_primEqInt(Pos(Succ(x0))) 248.95/165.39 new_primQuotInt(x0, Pos(Zero)) 248.95/165.39 new_gcd0Gcd'11(False, x0, x1) 248.95/165.39 new_sr9(x0) 248.95/165.39 new_primModNatS1(Succ(Succ(x0)), Zero) 248.95/165.39 new_esEs0(x0, ty_Integer) 248.95/165.39 new_gcd0Gcd'00(x0, x1) 248.95/165.39 new_reduce2Reduce1(x0, x1, x2, x3, True, x4) 248.95/165.39 new_sr3(x0, ty_Double) 248.95/165.39 new_esEs(Neg(Zero)) 248.95/165.39 new_primMulNat1(Zero) 248.95/165.39 new_rem(Neg(x0), Neg(Zero)) 248.95/165.39 new_new_pr2F0G10(Succ(Succ(x0))) 248.95/165.39 new_new_pr2F0G10(Succ(Zero)) 248.95/165.39 new_new_pr2F0G10(Zero) 248.95/165.39 248.95/165.39 We have to consider all minimal (P,Q,R)-chains. 248.95/165.39 ---------------------------------------- 248.95/165.39 248.95/165.39 (863) TransformationProof (EQUIVALENT) 248.95/165.39 By rewriting [LPAR04] the rule new_pr2F0G10(y0, y1, Succ(Succ(Succ(Succ(x2)))), Zero, y3) -> new_pr2F0G(y0, new_sr3(y1, y3), Neg(Succ(new_primDivNatS01(Succ(x2), Zero))), y3) at position [2,0,0] we obtained the following new rules [LPAR04]: 248.95/165.39 248.95/165.39 (new_pr2F0G10(y0, y1, Succ(Succ(Succ(Succ(x2)))), Zero, y3) -> new_pr2F0G(y0, new_sr3(y1, y3), Neg(Succ(Succ(new_primDivNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Zero))))), y3),new_pr2F0G10(y0, y1, Succ(Succ(Succ(Succ(x2)))), Zero, y3) -> new_pr2F0G(y0, new_sr3(y1, y3), Neg(Succ(Succ(new_primDivNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Zero))))), y3)) 248.95/165.39 248.95/165.39 248.95/165.39 ---------------------------------------- 248.95/165.39 248.95/165.39 (864) 248.95/165.39 Obligation: 248.95/165.39 Q DP problem: 248.95/165.39 The TRS P consists of the following rules: 248.95/165.39 248.95/165.39 new_pr2F0(vyv183, Neg(Succ(Succ(vyv222000))), vyv187, h) -> new_pr2F0G10(vyv187, vyv183, Succ(vyv222000), vyv222000, h) 248.95/165.39 new_pr2F0G10(vyv248, vyv249, vyv250, Succ(Zero), bb) -> new_pr2F0G11(vyv248, vyv249, vyv250, bb) 248.95/165.39 new_pr2F0G11(vyv238, vyv239, vyv240, bc) -> new_pr2F1(vyv239, vyv240, Pos(Succ(Zero)), vyv238, bc) 248.95/165.39 new_pr2F1(z1, z2, Pos(Succ(Zero)), z0, z3) -> new_pr2F30(False, z1, z2, Pos(Succ(Zero)), z0, z3) 248.95/165.39 new_pr2F30(False, z0, z1, Pos(Succ(Zero)), z2, z3) -> new_pr2F0(z0, Neg(Succ(Succ(new_primPlusNat0(z1, Zero)))), new_sr4(z0, z2, z3), z3) 248.95/165.39 H(vyv248, vyv249, vyv250, bb, cons_new_pr2F0G10(Succ(Zero))) -> new_pr2F0G10(vyv248, vyv249, vyv250, Succ(Zero), bb) 248.95/165.39 H(vyv248, vyv249, vyv250, bb, cons_new_pr2F0G10(Zero)) -> new_pr2F0G10(vyv248, vyv249, vyv250, Zero, bb) 248.95/165.39 new_pr2F0G(vyv187, vyv183, Neg(Succ(Zero)), h) -> new_pr2F0G11(vyv187, vyv183, Zero, h) 248.95/165.39 new_pr2F0G(vyv187, vyv183, Neg(Succ(Succ(vyv222000))), h) -> new_pr2F0G10(vyv187, vyv183, Succ(vyv222000), vyv222000, h) 248.95/165.39 new_pr2F0G10(y0, y1, Succ(Zero), Zero, y3) -> new_pr2F0G(y0, new_sr3(y1, y3), Neg(Succ(Zero)), y3) 248.95/165.39 new_pr2F0(y0, Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), y2, y3) -> H(y2, y0, Succ(Succ(Succ(Succ(Zero)))), y3, cons_new_pr2F0G10(Succ(Zero))) 248.95/165.39 new_pr2F0(y0, Neg(Succ(Succ(Succ(Succ(Zero))))), y2, y3) -> H(y2, y0, Succ(Succ(Succ(Zero))), y3, cons_new_pr2F0G10(Zero)) 248.95/165.39 new_pr2F0G10(y0, y1, Succ(Succ(Zero)), Zero, y3) -> new_pr2F0G(y0, new_sr3(y1, y3), Neg(Succ(Zero)), y3) 248.95/165.39 new_pr2F0G(y0, y1, Neg(Succ(Succ(Succ(Succ(Succ(Succ(x0))))))), y3) -> H(y0, y1, Succ(Succ(Succ(Succ(Succ(x0))))), y3, new_new_pr2F0G10(x0)) 248.95/165.39 new_pr2F0G(y0, y1, Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), y3) -> H(y0, y1, Succ(Succ(Succ(Succ(Zero)))), y3, cons_new_pr2F0G10(Succ(Zero))) 248.95/165.39 new_pr2F0G(y0, y1, Neg(Succ(Succ(Succ(Succ(Zero))))), y3) -> H(y0, y1, Succ(Succ(Succ(Zero))), y3, cons_new_pr2F0G10(Zero)) 248.95/165.39 new_pr2F0(y0, Neg(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(x0))))))))), y2, y3) -> H(y2, y0, Succ(Succ(Succ(Succ(Succ(Succ(Succ(x0))))))), y3, new_new_pr2F0G10(x0)) 248.95/165.39 new_pr2F0(y0, Neg(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))))), y2, y3) -> H(y2, y0, Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))), y3, cons_new_pr2F0G10(Succ(Zero))) 248.95/165.39 new_pr2F0(y0, Neg(Succ(Succ(Succ(Succ(Succ(Succ(Zero))))))), y2, y3) -> H(y2, y0, Succ(Succ(Succ(Succ(Succ(Zero))))), y3, cons_new_pr2F0G10(Zero)) 248.95/165.39 new_pr2F0G10(y0, y1, Succ(Succ(Succ(Zero))), Zero, y3) -> new_pr2F0G(y0, new_sr3(y1, y3), Neg(Succ(Succ(new_primDivNatS1(new_primMinusNatS2(Zero, Zero), Succ(Zero))))), y3) 248.95/165.39 new_pr2F0G10(y0, y1, Succ(Succ(Succ(Succ(x2)))), Zero, y3) -> new_pr2F0G(y0, new_sr3(y1, y3), Neg(Succ(Succ(new_primDivNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Zero))))), y3) 248.95/165.39 248.95/165.39 The TRS R consists of the following rules: 248.95/165.39 248.95/165.39 new_new_pr2F0G10(Succ(Succ(vyv25100))) -> new_new_pr2F0G10(vyv25100) 248.95/165.39 new_new_pr2F0G10(Succ(Zero)) -> cons_new_pr2F0G10(Succ(Zero)) 248.95/165.39 new_new_pr2F0G10(Zero) -> cons_new_pr2F0G10(Zero) 248.95/165.39 new_sr3(vyv249, ty_Float) -> new_sr10(vyv249) 248.95/165.39 new_sr3(vyv249, ty_Double) -> new_sr9(vyv249) 248.95/165.39 new_sr3(vyv249, ty_Int) -> new_sr6(vyv249) 248.95/165.39 new_sr3(vyv249, ty_Integer) -> new_sr7(vyv249) 248.95/165.39 new_sr3(vyv249, app(ty_Ratio, bg)) -> new_sr5(vyv249, bg) 248.95/165.39 new_sr5(:%(vyv1830, vyv1831), bd) -> new_reduce2Reduce1(vyv1830, vyv1830, vyv1831, vyv1831, new_esEs0(vyv1831, bd), bd) 248.95/165.39 new_esEs0(vyv1831, ty_Int) -> new_esEs(new_sr6(vyv1831)) 248.95/165.39 new_esEs0(vyv1831, ty_Integer) -> new_esEs1(new_sr7(vyv1831)) 248.95/165.39 new_reduce2Reduce1(vyv264, vyv265, vyv266, vyv267, False, bh) -> :%(new_quot1(vyv264, vyv265, vyv266, vyv267, bh), new_quot2(vyv266, vyv267, vyv264, vyv265, bh)) 248.95/165.39 new_reduce2Reduce1(vyv264, vyv265, vyv266, vyv267, True, bh) -> error([]) 248.95/165.39 new_quot1(vyv264, vyv265, vyv266, vyv267, ty_Int) -> new_quot0(new_sr14(vyv264, vyv265), new_sr14(vyv264, vyv265), new_sr14(vyv266, vyv267)) 248.95/165.39 new_quot1(vyv264, vyv265, vyv266, vyv267, ty_Integer) -> new_quot(new_sr8(vyv264, vyv265), new_sr8(vyv264, vyv265), new_sr8(vyv266, vyv267)) 248.95/165.39 new_quot2(vyv266, vyv267, vyv264, vyv265, ty_Int) -> new_quot0(new_sr14(vyv266, vyv267), new_sr14(vyv264, vyv265), new_sr14(vyv266, vyv267)) 248.95/165.39 new_quot2(vyv266, vyv267, vyv264, vyv265, ty_Integer) -> new_quot(new_sr8(vyv266, vyv267), new_sr8(vyv264, vyv265), new_sr8(vyv266, vyv267)) 248.95/165.39 new_sr8(vyv239, vyv238) -> error([]) 248.95/165.39 new_quot(vyv273, vyv275, vyv274) -> error([]) 248.95/165.39 new_sr14(Pos(vyv2390), Neg(vyv2380)) -> Neg(new_primMulNat0(vyv2390, vyv2380)) 248.95/165.39 new_sr14(Neg(vyv2390), Pos(vyv2380)) -> Neg(new_primMulNat0(vyv2390, vyv2380)) 248.95/165.39 new_sr14(Neg(vyv2390), Neg(vyv2380)) -> Pos(new_primMulNat0(vyv2390, vyv2380)) 248.95/165.39 new_sr14(Pos(vyv2390), Pos(vyv2380)) -> Pos(new_primMulNat0(vyv2390, vyv2380)) 248.95/165.39 new_quot0(Neg(vyv2700), vyv272, vyv271) -> new_primQuotInt0(vyv2700, new_gcd(vyv272, vyv271)) 248.95/165.39 new_quot0(Pos(vyv2700), vyv272, vyv271) -> new_primQuotInt(vyv2700, new_gcd(vyv272, vyv271)) 248.95/165.39 new_gcd(vyv272, vyv271) -> new_gcd2(new_esEs(vyv272), vyv272, vyv271) 248.95/165.39 new_primQuotInt(vyv2700, Pos(Succ(vyv28400))) -> Pos(new_primDivNatS1(vyv2700, vyv28400)) 248.95/165.39 new_primQuotInt(vyv2700, Neg(Zero)) -> new_error 248.95/165.39 new_primQuotInt(vyv2700, Pos(Zero)) -> new_error 248.95/165.39 new_primQuotInt(vyv2700, Neg(Succ(vyv28400))) -> Neg(new_primDivNatS1(vyv2700, vyv28400)) 248.95/165.39 new_primDivNatS1(Succ(Zero), Succ(vyv284000)) -> Zero 248.95/165.39 new_primDivNatS1(Succ(Succ(vyv270000)), Succ(vyv284000)) -> new_primDivNatS02(vyv270000, vyv284000, vyv270000, vyv284000) 248.95/165.39 new_primDivNatS1(Zero, vyv28400) -> Zero 248.95/165.39 new_primDivNatS1(Succ(Succ(vyv270000)), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS0(vyv270000), Zero)) 248.95/165.39 new_primDivNatS1(Succ(Zero), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS1, Zero)) 248.95/165.39 new_primMinusNatS1 -> Zero 248.95/165.39 new_primMinusNatS0(vyv270000) -> Succ(vyv270000) 248.95/165.39 new_primDivNatS02(vyv310, vyv311, Zero, Zero) -> new_primDivNatS01(vyv310, vyv311) 248.95/165.39 new_primDivNatS02(vyv310, vyv311, Succ(vyv3120), Zero) -> new_primDivNatS01(vyv310, vyv311) 248.95/165.39 new_primDivNatS02(vyv310, vyv311, Zero, Succ(vyv3130)) -> Zero 248.95/165.39 new_primDivNatS02(vyv310, vyv311, Succ(vyv3120), Succ(vyv3130)) -> new_primDivNatS02(vyv310, vyv311, vyv3120, vyv3130) 248.95/165.39 new_primDivNatS01(vyv310, vyv311) -> Succ(new_primDivNatS1(new_primMinusNatS2(vyv310, vyv311), Succ(vyv311))) 248.95/165.39 new_primMinusNatS2(Zero, Succ(vyv3110)) -> Zero 248.95/165.39 new_primMinusNatS2(Succ(vyv3100), Zero) -> Succ(vyv3100) 248.95/165.39 new_primMinusNatS2(Zero, Zero) -> Zero 248.95/165.39 new_primMinusNatS2(Succ(vyv3100), Succ(vyv3110)) -> new_primMinusNatS2(vyv3100, vyv3110) 248.95/165.39 new_error -> error([]) 248.95/165.39 new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) 248.95/165.39 new_esEs(Pos(Succ(vyv24100))) -> new_primEqInt(Pos(Succ(vyv24100))) 248.95/165.39 new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) 248.95/165.39 new_esEs(Neg(Succ(vyv24100))) -> new_primEqInt(Neg(Succ(vyv24100))) 248.95/165.39 new_gcd2(True, vyv272, vyv271) -> new_gcd1(new_esEs(vyv271), vyv272, vyv271) 248.95/165.39 new_gcd2(False, vyv272, vyv271) -> new_gcd0(vyv272, vyv271) 248.95/165.39 new_gcd0(vyv272, vyv271) -> new_gcd0Gcd'10(new_esEs(new_abs(vyv271)), vyv272, vyv271) 248.95/165.39 new_abs(Neg(Zero)) -> Neg(Zero) 248.95/165.39 new_abs(Neg(Succ(vyv27100))) -> Pos(Succ(vyv27100)) 248.95/165.39 new_abs(Pos(Succ(vyv27100))) -> Pos(Succ(vyv27100)) 248.95/165.39 new_abs(Pos(Zero)) -> Pos(Zero) 248.95/165.39 new_gcd0Gcd'10(True, vyv272, vyv271) -> new_abs(vyv272) 248.95/165.39 new_gcd0Gcd'10(False, vyv272, vyv271) -> new_gcd0Gcd'00(new_abs(vyv272), new_abs(vyv271)) 248.95/165.39 new_gcd0Gcd'00(vyv292, vyv291) -> new_gcd0Gcd'11(new_esEs(new_rem(vyv292, vyv291)), vyv291, vyv292) 248.95/165.39 new_gcd0Gcd'11(False, vyv291, vyv292) -> new_gcd0Gcd'00(vyv291, new_rem(vyv292, vyv291)) 248.95/165.39 new_rem(Pos(vyv2920), Neg(Zero)) -> new_error 248.95/165.39 new_rem(Neg(vyv2920), Pos(Zero)) -> new_error 248.95/165.39 new_rem(Pos(vyv2920), Neg(Succ(vyv29100))) -> Pos(new_primModNatS1(vyv2920, vyv29100)) 248.95/165.39 new_rem(Neg(vyv2920), Pos(Succ(vyv29100))) -> Neg(new_primModNatS1(vyv2920, vyv29100)) 248.95/165.39 new_rem(Pos(vyv2920), Pos(Succ(vyv29100))) -> Pos(new_primModNatS1(vyv2920, vyv29100)) 248.95/165.39 new_rem(Neg(vyv2920), Neg(Zero)) -> new_error 248.95/165.39 new_rem(Neg(vyv2920), Neg(Succ(vyv29100))) -> Neg(new_primModNatS1(vyv2920, vyv29100)) 248.95/165.39 new_rem(Pos(vyv2920), Pos(Zero)) -> new_error 248.95/165.39 new_gcd0Gcd'11(True, vyv291, vyv292) -> vyv291 248.95/165.39 new_primModNatS1(Succ(Zero), Succ(vyv291000)) -> Succ(Zero) 248.95/165.39 new_primModNatS1(Zero, vyv29100) -> Zero 248.95/165.39 new_primModNatS1(Succ(Succ(vyv292000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv292000), Zero) 248.95/165.39 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 248.95/165.40 new_primModNatS1(Succ(Succ(vyv292000)), Succ(vyv291000)) -> new_primModNatS01(vyv292000, vyv291000, vyv292000, vyv291000) 248.95/165.40 new_primModNatS01(vyv330, vyv331, Zero, Zero) -> new_primModNatS02(vyv330, vyv331) 248.95/165.40 new_primModNatS02(vyv330, vyv331) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv330), Succ(vyv331)), Succ(vyv331)) 248.95/165.40 new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Zero) -> new_primModNatS02(vyv330, vyv331) 248.95/165.40 new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Succ(vyv3330)) -> new_primModNatS01(vyv330, vyv331, vyv3320, vyv3330) 248.95/165.40 new_primModNatS01(vyv330, vyv331, Zero, Succ(vyv3330)) -> Succ(Succ(vyv330)) 248.95/165.40 new_gcd1(True, vyv272, vyv271) -> new_error 248.95/165.40 new_gcd1(False, vyv272, vyv271) -> new_gcd0(vyv272, vyv271) 248.95/165.40 new_primEqInt(Neg(Succ(vyv242000))) -> False 248.95/165.40 new_primEqInt(Pos(Zero)) -> True 248.95/165.40 new_primEqInt(Pos(Succ(vyv242000))) -> False 248.95/165.40 new_primEqInt(Neg(Zero)) -> True 248.95/165.40 new_primQuotInt0(vyv2700, Pos(Succ(vyv28700))) -> Neg(new_primDivNatS1(vyv2700, vyv28700)) 248.95/165.40 new_primQuotInt0(vyv2700, Neg(Zero)) -> new_error 248.95/165.40 new_primQuotInt0(vyv2700, Neg(Succ(vyv28700))) -> Pos(new_primDivNatS1(vyv2700, vyv28700)) 248.95/165.40 new_primQuotInt0(vyv2700, Pos(Zero)) -> new_error 248.95/165.40 new_primMulNat0(Succ(vyv23900), Zero) -> Zero 248.95/165.40 new_primMulNat0(Zero, Succ(vyv23800)) -> Zero 248.95/165.40 new_primMulNat0(Zero, Zero) -> Zero 248.95/165.40 new_primMulNat0(Succ(vyv23900), Succ(vyv23800)) -> new_primPlusNat0(new_primMulNat0(vyv23900, Succ(vyv23800)), Succ(vyv23800)) 248.95/165.40 new_primPlusNat0(Succ(vyv4000), Succ(vyv5000)) -> Succ(Succ(new_primPlusNat0(vyv4000, vyv5000))) 248.95/165.40 new_primPlusNat0(Zero, Succ(vyv5000)) -> Succ(vyv5000) 248.95/165.40 new_primPlusNat0(Zero, Zero) -> Zero 248.95/165.40 new_primPlusNat0(Succ(vyv4000), Zero) -> Succ(vyv4000) 248.95/165.40 new_sr7(vyv183) -> error([]) 248.95/165.40 new_esEs1(Integer(vyv2690)) -> new_primEqInt(vyv2690) 248.95/165.40 new_sr6(Neg(vyv1830)) -> Pos(new_primMulNat1(vyv1830)) 248.95/165.40 new_sr6(Pos(vyv1830)) -> Pos(new_primMulNat1(vyv1830)) 248.95/165.40 new_primMulNat1(Succ(vyv18300)) -> new_primPlusNat0(new_primMulNat2(vyv18300), Succ(vyv18300)) 248.95/165.40 new_primMulNat1(Zero) -> Zero 248.95/165.40 new_primMulNat2(Succ(vyv183000)) -> new_primPlusNat0(new_primMulNat3(vyv183000), Succ(Succ(vyv183000))) 248.95/165.40 new_primMulNat2(Zero) -> Zero 248.95/165.40 new_primMulNat3(Succ(vyv1830000)) -> new_primPlusNat0(new_primMulNat4(vyv1830000), Succ(Succ(Succ(vyv1830000)))) 248.95/165.40 new_primMulNat3(Zero) -> Zero 248.95/165.40 new_primMulNat4(Succ(vyv18300000)) -> new_primPlusNat0(new_primMulNat0(vyv18300000, Succ(Succ(Succ(Succ(vyv18300000))))), Succ(Succ(Succ(Succ(vyv18300000))))) 248.95/165.40 new_primMulNat4(Zero) -> Zero 248.95/165.40 new_sr9(vyv183) -> error([]) 248.95/165.40 new_sr10(vyv183) -> error([]) 248.95/165.40 new_sr4(vyv239, vyv238, app(ty_Ratio, bf)) -> new_sr12(vyv239, vyv238, bf) 248.95/165.40 new_sr4(vyv239, vyv238, ty_Integer) -> new_sr8(vyv239, vyv238) 248.95/165.40 new_sr4(vyv239, vyv238, ty_Int) -> new_sr14(vyv239, vyv238) 248.95/165.40 new_sr4(vyv239, vyv238, ty_Double) -> new_sr11(vyv239, vyv238) 248.95/165.40 new_sr4(vyv239, vyv238, ty_Float) -> new_sr13(vyv239, vyv238) 248.95/165.40 new_sr13(vyv239, vyv238) -> error([]) 248.95/165.40 new_sr11(vyv239, vyv238) -> error([]) 248.95/165.40 new_sr12(:%(vyv2390, vyv2391), :%(vyv2380, vyv2381), bf) -> new_reduce2Reduce1(vyv2390, vyv2380, vyv2391, vyv2381, new_esEs2(vyv2391, vyv2381, bf), bf) 248.95/165.40 new_esEs2(vyv2391, vyv2381, ty_Int) -> new_esEs(new_sr14(vyv2391, vyv2381)) 248.95/165.40 new_esEs2(vyv2391, vyv2381, ty_Integer) -> new_esEs1(new_sr8(vyv2391, vyv2381)) 248.95/165.40 248.95/165.40 The set Q consists of the following terms: 248.95/165.40 248.95/165.40 new_rem(Pos(x0), Pos(Succ(x1))) 248.95/165.40 new_quot1(x0, x1, x2, x3, ty_Integer) 248.95/165.40 new_primModNatS1(Succ(Zero), Succ(x0)) 248.95/165.40 new_primMulNat4(Zero) 248.95/165.40 new_gcd1(False, x0, x1) 248.95/165.40 new_primEqInt(Pos(Zero)) 248.95/165.40 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 248.95/165.40 new_rem(Pos(x0), Neg(Succ(x1))) 248.95/165.40 new_rem(Neg(x0), Pos(Succ(x1))) 248.95/165.40 new_sr10(x0) 248.95/165.40 new_quot1(x0, x1, x2, x3, ty_Int) 248.95/165.40 new_quot2(x0, x1, x2, x3, ty_Integer) 248.95/165.40 new_primModNatS01(x0, x1, Succ(x2), Zero) 248.95/165.40 new_sr3(x0, ty_Integer) 248.95/165.40 new_primMulNat3(Zero) 248.95/165.40 new_primDivNatS02(x0, x1, Succ(x2), Zero) 248.95/165.40 new_quot2(x0, x1, x2, x3, ty_Int) 248.95/165.40 new_gcd2(False, x0, x1) 248.95/165.40 new_primDivNatS1(Succ(Zero), Zero) 248.95/165.40 new_esEs0(x0, ty_Int) 248.95/165.40 new_sr14(Pos(x0), Pos(x1)) 248.95/165.40 new_sr3(x0, ty_Int) 248.95/165.40 new_primMulNat0(Zero, Zero) 248.95/165.40 new_sr4(x0, x1, ty_Double) 248.95/165.40 new_primPlusNat0(Succ(x0), Zero) 248.95/165.40 new_primMulNat2(Zero) 248.95/165.40 new_sr11(x0, x1) 248.95/165.40 new_primModNatS01(x0, x1, Zero, Zero) 248.95/165.40 new_esEs2(x0, x1, ty_Int) 248.95/165.40 new_gcd1(True, x0, x1) 248.95/165.40 new_sr13(x0, x1) 248.95/165.40 new_sr14(Pos(x0), Neg(x1)) 248.95/165.40 new_sr14(Neg(x0), Pos(x1)) 248.95/165.40 new_primDivNatS1(Succ(Succ(x0)), Succ(x1)) 248.95/165.40 new_primModNatS1(Zero, x0) 248.95/165.40 new_esEs(Pos(Succ(x0))) 248.95/165.40 new_primMulNat3(Succ(x0)) 248.95/165.40 new_primQuotInt(x0, Neg(Succ(x1))) 248.95/165.40 new_reduce2Reduce1(x0, x1, x2, x3, False, x4) 248.95/165.40 new_primDivNatS1(Zero, x0) 248.95/165.40 new_primDivNatS02(x0, x1, Succ(x2), Succ(x3)) 248.95/165.40 new_primModNatS02(x0, x1) 248.95/165.40 new_primDivNatS1(Succ(Zero), Succ(x0)) 248.95/165.40 new_sr6(Neg(x0)) 248.95/165.40 new_gcd0Gcd'10(True, x0, x1) 248.95/165.40 new_primMulNat0(Succ(x0), Succ(x1)) 248.95/165.40 new_abs(Neg(Zero)) 248.95/165.40 new_rem(Pos(x0), Neg(Zero)) 248.95/165.40 new_rem(Neg(x0), Pos(Zero)) 248.95/165.40 new_primMinusNatS2(Zero, Succ(x0)) 248.95/165.40 new_esEs(Neg(Succ(x0))) 248.95/165.40 new_error 248.95/165.40 new_primModNatS1(Succ(Zero), Zero) 248.95/165.40 new_primMulNat0(Zero, Succ(x0)) 248.95/165.40 new_sr3(x0, ty_Float) 248.95/165.40 new_quot(x0, x1, x2) 248.95/165.40 new_gcd2(True, x0, x1) 248.95/165.40 new_gcd0Gcd'11(True, x0, x1) 248.95/165.40 new_primEqInt(Neg(Zero)) 248.95/165.40 new_primMulNat0(Succ(x0), Zero) 248.95/165.40 new_quot0(Neg(x0), x1, x2) 248.95/165.40 new_primMinusNatS2(Succ(x0), Succ(x1)) 248.95/165.40 new_sr4(x0, x1, app(ty_Ratio, x2)) 248.95/165.40 new_sr8(x0, x1) 248.95/165.40 new_primDivNatS01(x0, x1) 248.95/165.40 new_primDivNatS02(x0, x1, Zero, Succ(x2)) 248.95/165.40 new_primPlusNat0(Succ(x0), Succ(x1)) 248.95/165.40 new_primPlusNat0(Zero, Zero) 248.95/165.40 new_sr12(:%(x0, x1), :%(x2, x3), x4) 248.95/165.40 new_abs(Neg(Succ(x0))) 248.95/165.40 new_sr3(x0, app(ty_Ratio, x1)) 248.95/165.40 new_sr7(x0) 248.95/165.40 new_gcd0(x0, x1) 248.95/165.40 new_primQuotInt0(x0, Pos(Succ(x1))) 248.95/165.40 new_sr4(x0, x1, ty_Integer) 248.95/165.40 new_sr5(:%(x0, x1), x2) 248.95/165.40 new_primMinusNatS2(Zero, Zero) 248.95/165.40 new_primMulNat1(Succ(x0)) 248.95/165.40 new_abs(Pos(Succ(x0))) 248.95/165.40 new_sr4(x0, x1, ty_Int) 248.95/165.40 new_esEs(Pos(Zero)) 248.95/165.40 new_primQuotInt0(x0, Pos(Zero)) 248.95/165.40 new_primEqInt(Neg(Succ(x0))) 248.95/165.40 new_primQuotInt(x0, Neg(Zero)) 248.95/165.40 new_primQuotInt0(x0, Neg(Zero)) 248.95/165.40 new_primQuotInt0(x0, Neg(Succ(x1))) 248.95/165.40 new_gcd(x0, x1) 248.95/165.40 new_quot0(Pos(x0), x1, x2) 248.95/165.40 new_primMinusNatS0(x0) 248.95/165.40 new_primPlusNat0(Zero, Succ(x0)) 248.95/165.40 new_primQuotInt(x0, Pos(Succ(x1))) 248.95/165.40 new_primDivNatS1(Succ(Succ(x0)), Zero) 248.95/165.40 new_rem(Pos(x0), Pos(Zero)) 248.95/165.40 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 248.95/165.40 new_primDivNatS02(x0, x1, Zero, Zero) 248.95/165.40 new_abs(Pos(Zero)) 248.95/165.40 new_gcd0Gcd'10(False, x0, x1) 248.95/165.40 new_primMinusNatS1 248.95/165.40 new_esEs1(Integer(x0)) 248.95/165.40 new_primModNatS01(x0, x1, Zero, Succ(x2)) 248.95/165.40 new_primMulNat2(Succ(x0)) 248.95/165.40 new_sr14(Neg(x0), Neg(x1)) 248.95/165.40 new_primMinusNatS2(Succ(x0), Zero) 248.95/165.40 new_sr4(x0, x1, ty_Float) 248.95/165.40 new_sr6(Pos(x0)) 248.95/165.40 new_esEs2(x0, x1, ty_Integer) 248.95/165.40 new_primMulNat4(Succ(x0)) 248.95/165.40 new_rem(Neg(x0), Neg(Succ(x1))) 248.95/165.40 new_primEqInt(Pos(Succ(x0))) 248.95/165.40 new_primQuotInt(x0, Pos(Zero)) 248.95/165.40 new_gcd0Gcd'11(False, x0, x1) 248.95/165.40 new_sr9(x0) 248.95/165.40 new_primModNatS1(Succ(Succ(x0)), Zero) 248.95/165.40 new_esEs0(x0, ty_Integer) 248.95/165.40 new_gcd0Gcd'00(x0, x1) 248.95/165.40 new_reduce2Reduce1(x0, x1, x2, x3, True, x4) 248.95/165.40 new_sr3(x0, ty_Double) 248.95/165.40 new_esEs(Neg(Zero)) 248.95/165.40 new_primMulNat1(Zero) 248.95/165.40 new_rem(Neg(x0), Neg(Zero)) 248.95/165.40 new_new_pr2F0G10(Succ(Succ(x0))) 248.95/165.40 new_new_pr2F0G10(Succ(Zero)) 248.95/165.40 new_new_pr2F0G10(Zero) 248.95/165.40 248.95/165.40 We have to consider all minimal (P,Q,R)-chains. 248.95/165.40 ---------------------------------------- 248.95/165.40 248.95/165.40 (865) TransformationProof (EQUIVALENT) 248.95/165.40 By rewriting [LPAR04] the rule new_pr2F0G10(y0, y1, Succ(Succ(Succ(Zero))), Zero, y3) -> new_pr2F0G(y0, new_sr3(y1, y3), Neg(Succ(Succ(new_primDivNatS1(new_primMinusNatS2(Zero, Zero), Succ(Zero))))), y3) at position [2,0,0,0,0] we obtained the following new rules [LPAR04]: 248.95/165.40 248.95/165.40 (new_pr2F0G10(y0, y1, Succ(Succ(Succ(Zero))), Zero, y3) -> new_pr2F0G(y0, new_sr3(y1, y3), Neg(Succ(Succ(new_primDivNatS1(Zero, Succ(Zero))))), y3),new_pr2F0G10(y0, y1, Succ(Succ(Succ(Zero))), Zero, y3) -> new_pr2F0G(y0, new_sr3(y1, y3), Neg(Succ(Succ(new_primDivNatS1(Zero, Succ(Zero))))), y3)) 248.95/165.40 248.95/165.40 248.95/165.40 ---------------------------------------- 248.95/165.40 248.95/165.40 (866) 248.95/165.40 Obligation: 248.95/165.40 Q DP problem: 248.95/165.40 The TRS P consists of the following rules: 248.95/165.40 248.95/165.40 new_pr2F0(vyv183, Neg(Succ(Succ(vyv222000))), vyv187, h) -> new_pr2F0G10(vyv187, vyv183, Succ(vyv222000), vyv222000, h) 248.95/165.40 new_pr2F0G10(vyv248, vyv249, vyv250, Succ(Zero), bb) -> new_pr2F0G11(vyv248, vyv249, vyv250, bb) 248.95/165.40 new_pr2F0G11(vyv238, vyv239, vyv240, bc) -> new_pr2F1(vyv239, vyv240, Pos(Succ(Zero)), vyv238, bc) 248.95/165.40 new_pr2F1(z1, z2, Pos(Succ(Zero)), z0, z3) -> new_pr2F30(False, z1, z2, Pos(Succ(Zero)), z0, z3) 248.95/165.40 new_pr2F30(False, z0, z1, Pos(Succ(Zero)), z2, z3) -> new_pr2F0(z0, Neg(Succ(Succ(new_primPlusNat0(z1, Zero)))), new_sr4(z0, z2, z3), z3) 248.95/165.40 H(vyv248, vyv249, vyv250, bb, cons_new_pr2F0G10(Succ(Zero))) -> new_pr2F0G10(vyv248, vyv249, vyv250, Succ(Zero), bb) 248.95/165.40 H(vyv248, vyv249, vyv250, bb, cons_new_pr2F0G10(Zero)) -> new_pr2F0G10(vyv248, vyv249, vyv250, Zero, bb) 248.95/165.40 new_pr2F0G(vyv187, vyv183, Neg(Succ(Zero)), h) -> new_pr2F0G11(vyv187, vyv183, Zero, h) 248.95/165.40 new_pr2F0G(vyv187, vyv183, Neg(Succ(Succ(vyv222000))), h) -> new_pr2F0G10(vyv187, vyv183, Succ(vyv222000), vyv222000, h) 248.95/165.40 new_pr2F0G10(y0, y1, Succ(Zero), Zero, y3) -> new_pr2F0G(y0, new_sr3(y1, y3), Neg(Succ(Zero)), y3) 248.95/165.40 new_pr2F0(y0, Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), y2, y3) -> H(y2, y0, Succ(Succ(Succ(Succ(Zero)))), y3, cons_new_pr2F0G10(Succ(Zero))) 248.95/165.40 new_pr2F0(y0, Neg(Succ(Succ(Succ(Succ(Zero))))), y2, y3) -> H(y2, y0, Succ(Succ(Succ(Zero))), y3, cons_new_pr2F0G10(Zero)) 248.95/165.40 new_pr2F0G10(y0, y1, Succ(Succ(Zero)), Zero, y3) -> new_pr2F0G(y0, new_sr3(y1, y3), Neg(Succ(Zero)), y3) 248.95/165.40 new_pr2F0G(y0, y1, Neg(Succ(Succ(Succ(Succ(Succ(Succ(x0))))))), y3) -> H(y0, y1, Succ(Succ(Succ(Succ(Succ(x0))))), y3, new_new_pr2F0G10(x0)) 248.95/165.40 new_pr2F0G(y0, y1, Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), y3) -> H(y0, y1, Succ(Succ(Succ(Succ(Zero)))), y3, cons_new_pr2F0G10(Succ(Zero))) 248.95/165.40 new_pr2F0G(y0, y1, Neg(Succ(Succ(Succ(Succ(Zero))))), y3) -> H(y0, y1, Succ(Succ(Succ(Zero))), y3, cons_new_pr2F0G10(Zero)) 248.95/165.40 new_pr2F0(y0, Neg(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(x0))))))))), y2, y3) -> H(y2, y0, Succ(Succ(Succ(Succ(Succ(Succ(Succ(x0))))))), y3, new_new_pr2F0G10(x0)) 248.95/165.40 new_pr2F0(y0, Neg(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))))), y2, y3) -> H(y2, y0, Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))), y3, cons_new_pr2F0G10(Succ(Zero))) 248.95/165.40 new_pr2F0(y0, Neg(Succ(Succ(Succ(Succ(Succ(Succ(Zero))))))), y2, y3) -> H(y2, y0, Succ(Succ(Succ(Succ(Succ(Zero))))), y3, cons_new_pr2F0G10(Zero)) 248.95/165.40 new_pr2F0G10(y0, y1, Succ(Succ(Succ(Succ(x2)))), Zero, y3) -> new_pr2F0G(y0, new_sr3(y1, y3), Neg(Succ(Succ(new_primDivNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Zero))))), y3) 248.95/165.40 new_pr2F0G10(y0, y1, Succ(Succ(Succ(Zero))), Zero, y3) -> new_pr2F0G(y0, new_sr3(y1, y3), Neg(Succ(Succ(new_primDivNatS1(Zero, Succ(Zero))))), y3) 248.95/165.40 248.95/165.40 The TRS R consists of the following rules: 248.95/165.40 248.95/165.40 new_new_pr2F0G10(Succ(Succ(vyv25100))) -> new_new_pr2F0G10(vyv25100) 248.95/165.40 new_new_pr2F0G10(Succ(Zero)) -> cons_new_pr2F0G10(Succ(Zero)) 248.95/165.40 new_new_pr2F0G10(Zero) -> cons_new_pr2F0G10(Zero) 248.95/165.40 new_sr3(vyv249, ty_Float) -> new_sr10(vyv249) 248.95/165.40 new_sr3(vyv249, ty_Double) -> new_sr9(vyv249) 248.95/165.40 new_sr3(vyv249, ty_Int) -> new_sr6(vyv249) 248.95/165.40 new_sr3(vyv249, ty_Integer) -> new_sr7(vyv249) 248.95/165.40 new_sr3(vyv249, app(ty_Ratio, bg)) -> new_sr5(vyv249, bg) 248.95/165.40 new_sr5(:%(vyv1830, vyv1831), bd) -> new_reduce2Reduce1(vyv1830, vyv1830, vyv1831, vyv1831, new_esEs0(vyv1831, bd), bd) 248.95/165.40 new_esEs0(vyv1831, ty_Int) -> new_esEs(new_sr6(vyv1831)) 248.95/165.40 new_esEs0(vyv1831, ty_Integer) -> new_esEs1(new_sr7(vyv1831)) 248.95/165.40 new_reduce2Reduce1(vyv264, vyv265, vyv266, vyv267, False, bh) -> :%(new_quot1(vyv264, vyv265, vyv266, vyv267, bh), new_quot2(vyv266, vyv267, vyv264, vyv265, bh)) 248.95/165.40 new_reduce2Reduce1(vyv264, vyv265, vyv266, vyv267, True, bh) -> error([]) 248.95/165.40 new_quot1(vyv264, vyv265, vyv266, vyv267, ty_Int) -> new_quot0(new_sr14(vyv264, vyv265), new_sr14(vyv264, vyv265), new_sr14(vyv266, vyv267)) 248.95/165.40 new_quot1(vyv264, vyv265, vyv266, vyv267, ty_Integer) -> new_quot(new_sr8(vyv264, vyv265), new_sr8(vyv264, vyv265), new_sr8(vyv266, vyv267)) 248.95/165.40 new_quot2(vyv266, vyv267, vyv264, vyv265, ty_Int) -> new_quot0(new_sr14(vyv266, vyv267), new_sr14(vyv264, vyv265), new_sr14(vyv266, vyv267)) 248.95/165.40 new_quot2(vyv266, vyv267, vyv264, vyv265, ty_Integer) -> new_quot(new_sr8(vyv266, vyv267), new_sr8(vyv264, vyv265), new_sr8(vyv266, vyv267)) 248.95/165.40 new_sr8(vyv239, vyv238) -> error([]) 248.95/165.40 new_quot(vyv273, vyv275, vyv274) -> error([]) 248.95/165.40 new_sr14(Pos(vyv2390), Neg(vyv2380)) -> Neg(new_primMulNat0(vyv2390, vyv2380)) 248.95/165.40 new_sr14(Neg(vyv2390), Pos(vyv2380)) -> Neg(new_primMulNat0(vyv2390, vyv2380)) 248.95/165.40 new_sr14(Neg(vyv2390), Neg(vyv2380)) -> Pos(new_primMulNat0(vyv2390, vyv2380)) 248.95/165.40 new_sr14(Pos(vyv2390), Pos(vyv2380)) -> Pos(new_primMulNat0(vyv2390, vyv2380)) 248.95/165.40 new_quot0(Neg(vyv2700), vyv272, vyv271) -> new_primQuotInt0(vyv2700, new_gcd(vyv272, vyv271)) 248.95/165.40 new_quot0(Pos(vyv2700), vyv272, vyv271) -> new_primQuotInt(vyv2700, new_gcd(vyv272, vyv271)) 248.95/165.40 new_gcd(vyv272, vyv271) -> new_gcd2(new_esEs(vyv272), vyv272, vyv271) 248.95/165.40 new_primQuotInt(vyv2700, Pos(Succ(vyv28400))) -> Pos(new_primDivNatS1(vyv2700, vyv28400)) 248.95/165.40 new_primQuotInt(vyv2700, Neg(Zero)) -> new_error 248.95/165.40 new_primQuotInt(vyv2700, Pos(Zero)) -> new_error 248.95/165.40 new_primQuotInt(vyv2700, Neg(Succ(vyv28400))) -> Neg(new_primDivNatS1(vyv2700, vyv28400)) 248.95/165.40 new_primDivNatS1(Succ(Zero), Succ(vyv284000)) -> Zero 248.95/165.40 new_primDivNatS1(Succ(Succ(vyv270000)), Succ(vyv284000)) -> new_primDivNatS02(vyv270000, vyv284000, vyv270000, vyv284000) 248.95/165.40 new_primDivNatS1(Zero, vyv28400) -> Zero 248.95/165.40 new_primDivNatS1(Succ(Succ(vyv270000)), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS0(vyv270000), Zero)) 248.95/165.40 new_primDivNatS1(Succ(Zero), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS1, Zero)) 248.95/165.40 new_primMinusNatS1 -> Zero 248.95/165.40 new_primMinusNatS0(vyv270000) -> Succ(vyv270000) 248.95/165.40 new_primDivNatS02(vyv310, vyv311, Zero, Zero) -> new_primDivNatS01(vyv310, vyv311) 248.95/165.40 new_primDivNatS02(vyv310, vyv311, Succ(vyv3120), Zero) -> new_primDivNatS01(vyv310, vyv311) 248.95/165.40 new_primDivNatS02(vyv310, vyv311, Zero, Succ(vyv3130)) -> Zero 248.95/165.40 new_primDivNatS02(vyv310, vyv311, Succ(vyv3120), Succ(vyv3130)) -> new_primDivNatS02(vyv310, vyv311, vyv3120, vyv3130) 248.95/165.40 new_primDivNatS01(vyv310, vyv311) -> Succ(new_primDivNatS1(new_primMinusNatS2(vyv310, vyv311), Succ(vyv311))) 248.95/165.40 new_primMinusNatS2(Zero, Succ(vyv3110)) -> Zero 248.95/165.40 new_primMinusNatS2(Succ(vyv3100), Zero) -> Succ(vyv3100) 248.95/165.40 new_primMinusNatS2(Zero, Zero) -> Zero 248.95/165.40 new_primMinusNatS2(Succ(vyv3100), Succ(vyv3110)) -> new_primMinusNatS2(vyv3100, vyv3110) 248.95/165.40 new_error -> error([]) 248.95/165.40 new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) 248.95/165.40 new_esEs(Pos(Succ(vyv24100))) -> new_primEqInt(Pos(Succ(vyv24100))) 248.95/165.40 new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) 248.95/165.40 new_esEs(Neg(Succ(vyv24100))) -> new_primEqInt(Neg(Succ(vyv24100))) 248.95/165.40 new_gcd2(True, vyv272, vyv271) -> new_gcd1(new_esEs(vyv271), vyv272, vyv271) 248.95/165.40 new_gcd2(False, vyv272, vyv271) -> new_gcd0(vyv272, vyv271) 248.95/165.40 new_gcd0(vyv272, vyv271) -> new_gcd0Gcd'10(new_esEs(new_abs(vyv271)), vyv272, vyv271) 248.95/165.40 new_abs(Neg(Zero)) -> Neg(Zero) 248.95/165.40 new_abs(Neg(Succ(vyv27100))) -> Pos(Succ(vyv27100)) 248.95/165.40 new_abs(Pos(Succ(vyv27100))) -> Pos(Succ(vyv27100)) 248.95/165.40 new_abs(Pos(Zero)) -> Pos(Zero) 248.95/165.40 new_gcd0Gcd'10(True, vyv272, vyv271) -> new_abs(vyv272) 248.95/165.40 new_gcd0Gcd'10(False, vyv272, vyv271) -> new_gcd0Gcd'00(new_abs(vyv272), new_abs(vyv271)) 248.95/165.40 new_gcd0Gcd'00(vyv292, vyv291) -> new_gcd0Gcd'11(new_esEs(new_rem(vyv292, vyv291)), vyv291, vyv292) 248.95/165.40 new_gcd0Gcd'11(False, vyv291, vyv292) -> new_gcd0Gcd'00(vyv291, new_rem(vyv292, vyv291)) 248.95/165.40 new_rem(Pos(vyv2920), Neg(Zero)) -> new_error 248.95/165.40 new_rem(Neg(vyv2920), Pos(Zero)) -> new_error 248.95/165.40 new_rem(Pos(vyv2920), Neg(Succ(vyv29100))) -> Pos(new_primModNatS1(vyv2920, vyv29100)) 248.95/165.40 new_rem(Neg(vyv2920), Pos(Succ(vyv29100))) -> Neg(new_primModNatS1(vyv2920, vyv29100)) 248.95/165.40 new_rem(Pos(vyv2920), Pos(Succ(vyv29100))) -> Pos(new_primModNatS1(vyv2920, vyv29100)) 248.95/165.40 new_rem(Neg(vyv2920), Neg(Zero)) -> new_error 248.95/165.40 new_rem(Neg(vyv2920), Neg(Succ(vyv29100))) -> Neg(new_primModNatS1(vyv2920, vyv29100)) 248.95/165.40 new_rem(Pos(vyv2920), Pos(Zero)) -> new_error 248.95/165.40 new_gcd0Gcd'11(True, vyv291, vyv292) -> vyv291 248.95/165.40 new_primModNatS1(Succ(Zero), Succ(vyv291000)) -> Succ(Zero) 248.95/165.40 new_primModNatS1(Zero, vyv29100) -> Zero 248.95/165.40 new_primModNatS1(Succ(Succ(vyv292000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv292000), Zero) 248.95/165.40 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 248.95/165.40 new_primModNatS1(Succ(Succ(vyv292000)), Succ(vyv291000)) -> new_primModNatS01(vyv292000, vyv291000, vyv292000, vyv291000) 248.95/165.40 new_primModNatS01(vyv330, vyv331, Zero, Zero) -> new_primModNatS02(vyv330, vyv331) 248.95/165.40 new_primModNatS02(vyv330, vyv331) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv330), Succ(vyv331)), Succ(vyv331)) 248.95/165.40 new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Zero) -> new_primModNatS02(vyv330, vyv331) 248.95/165.40 new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Succ(vyv3330)) -> new_primModNatS01(vyv330, vyv331, vyv3320, vyv3330) 248.95/165.40 new_primModNatS01(vyv330, vyv331, Zero, Succ(vyv3330)) -> Succ(Succ(vyv330)) 248.95/165.40 new_gcd1(True, vyv272, vyv271) -> new_error 248.95/165.40 new_gcd1(False, vyv272, vyv271) -> new_gcd0(vyv272, vyv271) 248.95/165.40 new_primEqInt(Neg(Succ(vyv242000))) -> False 248.95/165.40 new_primEqInt(Pos(Zero)) -> True 248.95/165.40 new_primEqInt(Pos(Succ(vyv242000))) -> False 248.95/165.40 new_primEqInt(Neg(Zero)) -> True 248.95/165.40 new_primQuotInt0(vyv2700, Pos(Succ(vyv28700))) -> Neg(new_primDivNatS1(vyv2700, vyv28700)) 248.95/165.40 new_primQuotInt0(vyv2700, Neg(Zero)) -> new_error 248.95/165.40 new_primQuotInt0(vyv2700, Neg(Succ(vyv28700))) -> Pos(new_primDivNatS1(vyv2700, vyv28700)) 248.95/165.40 new_primQuotInt0(vyv2700, Pos(Zero)) -> new_error 248.95/165.40 new_primMulNat0(Succ(vyv23900), Zero) -> Zero 248.95/165.40 new_primMulNat0(Zero, Succ(vyv23800)) -> Zero 248.95/165.40 new_primMulNat0(Zero, Zero) -> Zero 248.95/165.40 new_primMulNat0(Succ(vyv23900), Succ(vyv23800)) -> new_primPlusNat0(new_primMulNat0(vyv23900, Succ(vyv23800)), Succ(vyv23800)) 248.95/165.40 new_primPlusNat0(Succ(vyv4000), Succ(vyv5000)) -> Succ(Succ(new_primPlusNat0(vyv4000, vyv5000))) 248.95/165.40 new_primPlusNat0(Zero, Succ(vyv5000)) -> Succ(vyv5000) 248.95/165.40 new_primPlusNat0(Zero, Zero) -> Zero 248.95/165.40 new_primPlusNat0(Succ(vyv4000), Zero) -> Succ(vyv4000) 248.95/165.40 new_sr7(vyv183) -> error([]) 248.95/165.40 new_esEs1(Integer(vyv2690)) -> new_primEqInt(vyv2690) 248.95/165.40 new_sr6(Neg(vyv1830)) -> Pos(new_primMulNat1(vyv1830)) 248.95/165.40 new_sr6(Pos(vyv1830)) -> Pos(new_primMulNat1(vyv1830)) 248.95/165.40 new_primMulNat1(Succ(vyv18300)) -> new_primPlusNat0(new_primMulNat2(vyv18300), Succ(vyv18300)) 248.95/165.40 new_primMulNat1(Zero) -> Zero 248.95/165.40 new_primMulNat2(Succ(vyv183000)) -> new_primPlusNat0(new_primMulNat3(vyv183000), Succ(Succ(vyv183000))) 248.95/165.40 new_primMulNat2(Zero) -> Zero 248.95/165.40 new_primMulNat3(Succ(vyv1830000)) -> new_primPlusNat0(new_primMulNat4(vyv1830000), Succ(Succ(Succ(vyv1830000)))) 248.95/165.40 new_primMulNat3(Zero) -> Zero 248.95/165.40 new_primMulNat4(Succ(vyv18300000)) -> new_primPlusNat0(new_primMulNat0(vyv18300000, Succ(Succ(Succ(Succ(vyv18300000))))), Succ(Succ(Succ(Succ(vyv18300000))))) 248.95/165.40 new_primMulNat4(Zero) -> Zero 248.95/165.40 new_sr9(vyv183) -> error([]) 248.95/165.40 new_sr10(vyv183) -> error([]) 248.95/165.40 new_sr4(vyv239, vyv238, app(ty_Ratio, bf)) -> new_sr12(vyv239, vyv238, bf) 248.95/165.40 new_sr4(vyv239, vyv238, ty_Integer) -> new_sr8(vyv239, vyv238) 248.95/165.40 new_sr4(vyv239, vyv238, ty_Int) -> new_sr14(vyv239, vyv238) 248.95/165.40 new_sr4(vyv239, vyv238, ty_Double) -> new_sr11(vyv239, vyv238) 248.95/165.40 new_sr4(vyv239, vyv238, ty_Float) -> new_sr13(vyv239, vyv238) 248.95/165.40 new_sr13(vyv239, vyv238) -> error([]) 248.95/165.40 new_sr11(vyv239, vyv238) -> error([]) 248.95/165.40 new_sr12(:%(vyv2390, vyv2391), :%(vyv2380, vyv2381), bf) -> new_reduce2Reduce1(vyv2390, vyv2380, vyv2391, vyv2381, new_esEs2(vyv2391, vyv2381, bf), bf) 248.95/165.40 new_esEs2(vyv2391, vyv2381, ty_Int) -> new_esEs(new_sr14(vyv2391, vyv2381)) 248.95/165.40 new_esEs2(vyv2391, vyv2381, ty_Integer) -> new_esEs1(new_sr8(vyv2391, vyv2381)) 248.95/165.40 248.95/165.40 The set Q consists of the following terms: 248.95/165.40 248.95/165.40 new_rem(Pos(x0), Pos(Succ(x1))) 248.95/165.40 new_quot1(x0, x1, x2, x3, ty_Integer) 248.95/165.40 new_primModNatS1(Succ(Zero), Succ(x0)) 248.95/165.40 new_primMulNat4(Zero) 248.95/165.40 new_gcd1(False, x0, x1) 248.95/165.40 new_primEqInt(Pos(Zero)) 248.95/165.40 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 248.95/165.40 new_rem(Pos(x0), Neg(Succ(x1))) 248.95/165.40 new_rem(Neg(x0), Pos(Succ(x1))) 248.95/165.40 new_sr10(x0) 248.95/165.40 new_quot1(x0, x1, x2, x3, ty_Int) 248.95/165.40 new_quot2(x0, x1, x2, x3, ty_Integer) 248.95/165.40 new_primModNatS01(x0, x1, Succ(x2), Zero) 248.95/165.40 new_sr3(x0, ty_Integer) 248.95/165.40 new_primMulNat3(Zero) 248.95/165.40 new_primDivNatS02(x0, x1, Succ(x2), Zero) 248.95/165.40 new_quot2(x0, x1, x2, x3, ty_Int) 248.95/165.40 new_gcd2(False, x0, x1) 248.95/165.40 new_primDivNatS1(Succ(Zero), Zero) 248.95/165.40 new_esEs0(x0, ty_Int) 248.95/165.40 new_sr14(Pos(x0), Pos(x1)) 248.95/165.40 new_sr3(x0, ty_Int) 248.95/165.40 new_primMulNat0(Zero, Zero) 248.95/165.40 new_sr4(x0, x1, ty_Double) 248.95/165.40 new_primPlusNat0(Succ(x0), Zero) 248.95/165.40 new_primMulNat2(Zero) 248.95/165.40 new_sr11(x0, x1) 248.95/165.40 new_primModNatS01(x0, x1, Zero, Zero) 248.95/165.40 new_esEs2(x0, x1, ty_Int) 248.95/165.40 new_gcd1(True, x0, x1) 248.95/165.40 new_sr13(x0, x1) 248.95/165.40 new_sr14(Pos(x0), Neg(x1)) 248.95/165.40 new_sr14(Neg(x0), Pos(x1)) 248.95/165.40 new_primDivNatS1(Succ(Succ(x0)), Succ(x1)) 248.95/165.40 new_primModNatS1(Zero, x0) 248.95/165.40 new_esEs(Pos(Succ(x0))) 248.95/165.40 new_primMulNat3(Succ(x0)) 248.95/165.40 new_primQuotInt(x0, Neg(Succ(x1))) 248.95/165.40 new_reduce2Reduce1(x0, x1, x2, x3, False, x4) 248.95/165.40 new_primDivNatS1(Zero, x0) 248.95/165.40 new_primDivNatS02(x0, x1, Succ(x2), Succ(x3)) 248.95/165.40 new_primModNatS02(x0, x1) 248.95/165.40 new_primDivNatS1(Succ(Zero), Succ(x0)) 248.95/165.40 new_sr6(Neg(x0)) 248.95/165.40 new_gcd0Gcd'10(True, x0, x1) 248.95/165.40 new_primMulNat0(Succ(x0), Succ(x1)) 248.95/165.40 new_abs(Neg(Zero)) 248.95/165.40 new_rem(Pos(x0), Neg(Zero)) 248.95/165.40 new_rem(Neg(x0), Pos(Zero)) 248.95/165.40 new_primMinusNatS2(Zero, Succ(x0)) 248.95/165.40 new_esEs(Neg(Succ(x0))) 248.95/165.40 new_error 248.95/165.40 new_primModNatS1(Succ(Zero), Zero) 248.95/165.40 new_primMulNat0(Zero, Succ(x0)) 248.95/165.40 new_sr3(x0, ty_Float) 248.95/165.40 new_quot(x0, x1, x2) 248.95/165.40 new_gcd2(True, x0, x1) 248.95/165.40 new_gcd0Gcd'11(True, x0, x1) 248.95/165.40 new_primEqInt(Neg(Zero)) 248.95/165.40 new_primMulNat0(Succ(x0), Zero) 248.95/165.40 new_quot0(Neg(x0), x1, x2) 248.95/165.40 new_primMinusNatS2(Succ(x0), Succ(x1)) 248.95/165.40 new_sr4(x0, x1, app(ty_Ratio, x2)) 248.95/165.40 new_sr8(x0, x1) 248.95/165.40 new_primDivNatS01(x0, x1) 248.95/165.40 new_primDivNatS02(x0, x1, Zero, Succ(x2)) 248.95/165.40 new_primPlusNat0(Succ(x0), Succ(x1)) 248.95/165.40 new_primPlusNat0(Zero, Zero) 248.95/165.40 new_sr12(:%(x0, x1), :%(x2, x3), x4) 248.95/165.40 new_abs(Neg(Succ(x0))) 248.95/165.40 new_sr3(x0, app(ty_Ratio, x1)) 248.95/165.40 new_sr7(x0) 248.95/165.40 new_gcd0(x0, x1) 248.95/165.40 new_primQuotInt0(x0, Pos(Succ(x1))) 248.95/165.40 new_sr4(x0, x1, ty_Integer) 248.95/165.40 new_sr5(:%(x0, x1), x2) 248.95/165.40 new_primMinusNatS2(Zero, Zero) 248.95/165.40 new_primMulNat1(Succ(x0)) 248.95/165.40 new_abs(Pos(Succ(x0))) 248.95/165.40 new_sr4(x0, x1, ty_Int) 248.95/165.40 new_esEs(Pos(Zero)) 248.95/165.40 new_primQuotInt0(x0, Pos(Zero)) 248.95/165.40 new_primEqInt(Neg(Succ(x0))) 248.95/165.40 new_primQuotInt(x0, Neg(Zero)) 248.95/165.40 new_primQuotInt0(x0, Neg(Zero)) 248.95/165.40 new_primQuotInt0(x0, Neg(Succ(x1))) 248.95/165.40 new_gcd(x0, x1) 248.95/165.40 new_quot0(Pos(x0), x1, x2) 248.95/165.40 new_primMinusNatS0(x0) 248.95/165.40 new_primPlusNat0(Zero, Succ(x0)) 248.95/165.40 new_primQuotInt(x0, Pos(Succ(x1))) 248.95/165.40 new_primDivNatS1(Succ(Succ(x0)), Zero) 248.95/165.40 new_rem(Pos(x0), Pos(Zero)) 248.95/165.40 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 248.95/165.40 new_primDivNatS02(x0, x1, Zero, Zero) 248.95/165.40 new_abs(Pos(Zero)) 248.95/165.40 new_gcd0Gcd'10(False, x0, x1) 248.95/165.40 new_primMinusNatS1 248.95/165.40 new_esEs1(Integer(x0)) 248.95/165.40 new_primModNatS01(x0, x1, Zero, Succ(x2)) 248.95/165.40 new_primMulNat2(Succ(x0)) 248.95/165.40 new_sr14(Neg(x0), Neg(x1)) 248.95/165.40 new_primMinusNatS2(Succ(x0), Zero) 248.95/165.40 new_sr4(x0, x1, ty_Float) 248.95/165.40 new_sr6(Pos(x0)) 248.95/165.40 new_esEs2(x0, x1, ty_Integer) 248.95/165.40 new_primMulNat4(Succ(x0)) 248.95/165.40 new_rem(Neg(x0), Neg(Succ(x1))) 248.95/165.40 new_primEqInt(Pos(Succ(x0))) 248.95/165.40 new_primQuotInt(x0, Pos(Zero)) 248.95/165.40 new_gcd0Gcd'11(False, x0, x1) 248.95/165.40 new_sr9(x0) 248.95/165.40 new_primModNatS1(Succ(Succ(x0)), Zero) 248.95/165.40 new_esEs0(x0, ty_Integer) 248.95/165.40 new_gcd0Gcd'00(x0, x1) 248.95/165.40 new_reduce2Reduce1(x0, x1, x2, x3, True, x4) 248.95/165.40 new_sr3(x0, ty_Double) 248.95/165.40 new_esEs(Neg(Zero)) 248.95/165.40 new_primMulNat1(Zero) 248.95/165.40 new_rem(Neg(x0), Neg(Zero)) 248.95/165.40 new_new_pr2F0G10(Succ(Succ(x0))) 248.95/165.40 new_new_pr2F0G10(Succ(Zero)) 248.95/165.40 new_new_pr2F0G10(Zero) 248.95/165.40 248.95/165.40 We have to consider all minimal (P,Q,R)-chains. 248.95/165.40 ---------------------------------------- 248.95/165.40 248.95/165.40 (867) TransformationProof (EQUIVALENT) 248.95/165.40 By rewriting [LPAR04] the rule new_pr2F0G10(y0, y1, Succ(Succ(Succ(Succ(x2)))), Zero, y3) -> new_pr2F0G(y0, new_sr3(y1, y3), Neg(Succ(Succ(new_primDivNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Zero))))), y3) at position [2,0,0,0,0] we obtained the following new rules [LPAR04]: 248.95/165.40 248.95/165.40 (new_pr2F0G10(y0, y1, Succ(Succ(Succ(Succ(x2)))), Zero, y3) -> new_pr2F0G(y0, new_sr3(y1, y3), Neg(Succ(Succ(new_primDivNatS1(Succ(x2), Succ(Zero))))), y3),new_pr2F0G10(y0, y1, Succ(Succ(Succ(Succ(x2)))), Zero, y3) -> new_pr2F0G(y0, new_sr3(y1, y3), Neg(Succ(Succ(new_primDivNatS1(Succ(x2), Succ(Zero))))), y3)) 248.95/165.40 248.95/165.40 248.95/165.40 ---------------------------------------- 248.95/165.40 248.95/165.40 (868) 248.95/165.40 Obligation: 248.95/165.40 Q DP problem: 248.95/165.40 The TRS P consists of the following rules: 248.95/165.40 248.95/165.40 new_pr2F0(vyv183, Neg(Succ(Succ(vyv222000))), vyv187, h) -> new_pr2F0G10(vyv187, vyv183, Succ(vyv222000), vyv222000, h) 248.95/165.40 new_pr2F0G10(vyv248, vyv249, vyv250, Succ(Zero), bb) -> new_pr2F0G11(vyv248, vyv249, vyv250, bb) 248.95/165.40 new_pr2F0G11(vyv238, vyv239, vyv240, bc) -> new_pr2F1(vyv239, vyv240, Pos(Succ(Zero)), vyv238, bc) 248.95/165.40 new_pr2F1(z1, z2, Pos(Succ(Zero)), z0, z3) -> new_pr2F30(False, z1, z2, Pos(Succ(Zero)), z0, z3) 248.95/165.40 new_pr2F30(False, z0, z1, Pos(Succ(Zero)), z2, z3) -> new_pr2F0(z0, Neg(Succ(Succ(new_primPlusNat0(z1, Zero)))), new_sr4(z0, z2, z3), z3) 248.95/165.40 H(vyv248, vyv249, vyv250, bb, cons_new_pr2F0G10(Succ(Zero))) -> new_pr2F0G10(vyv248, vyv249, vyv250, Succ(Zero), bb) 248.95/165.40 H(vyv248, vyv249, vyv250, bb, cons_new_pr2F0G10(Zero)) -> new_pr2F0G10(vyv248, vyv249, vyv250, Zero, bb) 248.95/165.40 new_pr2F0G(vyv187, vyv183, Neg(Succ(Zero)), h) -> new_pr2F0G11(vyv187, vyv183, Zero, h) 248.95/165.40 new_pr2F0G(vyv187, vyv183, Neg(Succ(Succ(vyv222000))), h) -> new_pr2F0G10(vyv187, vyv183, Succ(vyv222000), vyv222000, h) 248.95/165.40 new_pr2F0G10(y0, y1, Succ(Zero), Zero, y3) -> new_pr2F0G(y0, new_sr3(y1, y3), Neg(Succ(Zero)), y3) 248.95/165.40 new_pr2F0(y0, Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), y2, y3) -> H(y2, y0, Succ(Succ(Succ(Succ(Zero)))), y3, cons_new_pr2F0G10(Succ(Zero))) 248.95/165.40 new_pr2F0(y0, Neg(Succ(Succ(Succ(Succ(Zero))))), y2, y3) -> H(y2, y0, Succ(Succ(Succ(Zero))), y3, cons_new_pr2F0G10(Zero)) 248.95/165.40 new_pr2F0G10(y0, y1, Succ(Succ(Zero)), Zero, y3) -> new_pr2F0G(y0, new_sr3(y1, y3), Neg(Succ(Zero)), y3) 248.95/165.40 new_pr2F0G(y0, y1, Neg(Succ(Succ(Succ(Succ(Succ(Succ(x0))))))), y3) -> H(y0, y1, Succ(Succ(Succ(Succ(Succ(x0))))), y3, new_new_pr2F0G10(x0)) 248.95/165.40 new_pr2F0G(y0, y1, Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), y3) -> H(y0, y1, Succ(Succ(Succ(Succ(Zero)))), y3, cons_new_pr2F0G10(Succ(Zero))) 248.95/165.40 new_pr2F0G(y0, y1, Neg(Succ(Succ(Succ(Succ(Zero))))), y3) -> H(y0, y1, Succ(Succ(Succ(Zero))), y3, cons_new_pr2F0G10(Zero)) 248.95/165.40 new_pr2F0(y0, Neg(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(x0))))))))), y2, y3) -> H(y2, y0, Succ(Succ(Succ(Succ(Succ(Succ(Succ(x0))))))), y3, new_new_pr2F0G10(x0)) 248.95/165.40 new_pr2F0(y0, Neg(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))))), y2, y3) -> H(y2, y0, Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))), y3, cons_new_pr2F0G10(Succ(Zero))) 248.95/165.40 new_pr2F0(y0, Neg(Succ(Succ(Succ(Succ(Succ(Succ(Zero))))))), y2, y3) -> H(y2, y0, Succ(Succ(Succ(Succ(Succ(Zero))))), y3, cons_new_pr2F0G10(Zero)) 248.95/165.40 new_pr2F0G10(y0, y1, Succ(Succ(Succ(Zero))), Zero, y3) -> new_pr2F0G(y0, new_sr3(y1, y3), Neg(Succ(Succ(new_primDivNatS1(Zero, Succ(Zero))))), y3) 248.95/165.40 new_pr2F0G10(y0, y1, Succ(Succ(Succ(Succ(x2)))), Zero, y3) -> new_pr2F0G(y0, new_sr3(y1, y3), Neg(Succ(Succ(new_primDivNatS1(Succ(x2), Succ(Zero))))), y3) 248.95/165.40 248.95/165.40 The TRS R consists of the following rules: 248.95/165.40 248.95/165.40 new_new_pr2F0G10(Succ(Succ(vyv25100))) -> new_new_pr2F0G10(vyv25100) 248.95/165.40 new_new_pr2F0G10(Succ(Zero)) -> cons_new_pr2F0G10(Succ(Zero)) 248.95/165.40 new_new_pr2F0G10(Zero) -> cons_new_pr2F0G10(Zero) 248.95/165.40 new_sr3(vyv249, ty_Float) -> new_sr10(vyv249) 248.95/165.40 new_sr3(vyv249, ty_Double) -> new_sr9(vyv249) 248.95/165.40 new_sr3(vyv249, ty_Int) -> new_sr6(vyv249) 248.95/165.40 new_sr3(vyv249, ty_Integer) -> new_sr7(vyv249) 248.95/165.40 new_sr3(vyv249, app(ty_Ratio, bg)) -> new_sr5(vyv249, bg) 248.95/165.40 new_sr5(:%(vyv1830, vyv1831), bd) -> new_reduce2Reduce1(vyv1830, vyv1830, vyv1831, vyv1831, new_esEs0(vyv1831, bd), bd) 248.95/165.40 new_esEs0(vyv1831, ty_Int) -> new_esEs(new_sr6(vyv1831)) 248.95/165.40 new_esEs0(vyv1831, ty_Integer) -> new_esEs1(new_sr7(vyv1831)) 248.95/165.40 new_reduce2Reduce1(vyv264, vyv265, vyv266, vyv267, False, bh) -> :%(new_quot1(vyv264, vyv265, vyv266, vyv267, bh), new_quot2(vyv266, vyv267, vyv264, vyv265, bh)) 248.95/165.40 new_reduce2Reduce1(vyv264, vyv265, vyv266, vyv267, True, bh) -> error([]) 248.95/165.40 new_quot1(vyv264, vyv265, vyv266, vyv267, ty_Int) -> new_quot0(new_sr14(vyv264, vyv265), new_sr14(vyv264, vyv265), new_sr14(vyv266, vyv267)) 248.95/165.40 new_quot1(vyv264, vyv265, vyv266, vyv267, ty_Integer) -> new_quot(new_sr8(vyv264, vyv265), new_sr8(vyv264, vyv265), new_sr8(vyv266, vyv267)) 248.95/165.40 new_quot2(vyv266, vyv267, vyv264, vyv265, ty_Int) -> new_quot0(new_sr14(vyv266, vyv267), new_sr14(vyv264, vyv265), new_sr14(vyv266, vyv267)) 248.95/165.40 new_quot2(vyv266, vyv267, vyv264, vyv265, ty_Integer) -> new_quot(new_sr8(vyv266, vyv267), new_sr8(vyv264, vyv265), new_sr8(vyv266, vyv267)) 248.95/165.40 new_sr8(vyv239, vyv238) -> error([]) 248.95/165.40 new_quot(vyv273, vyv275, vyv274) -> error([]) 248.95/165.40 new_sr14(Pos(vyv2390), Neg(vyv2380)) -> Neg(new_primMulNat0(vyv2390, vyv2380)) 248.95/165.40 new_sr14(Neg(vyv2390), Pos(vyv2380)) -> Neg(new_primMulNat0(vyv2390, vyv2380)) 248.95/165.40 new_sr14(Neg(vyv2390), Neg(vyv2380)) -> Pos(new_primMulNat0(vyv2390, vyv2380)) 248.95/165.40 new_sr14(Pos(vyv2390), Pos(vyv2380)) -> Pos(new_primMulNat0(vyv2390, vyv2380)) 248.95/165.40 new_quot0(Neg(vyv2700), vyv272, vyv271) -> new_primQuotInt0(vyv2700, new_gcd(vyv272, vyv271)) 248.95/165.40 new_quot0(Pos(vyv2700), vyv272, vyv271) -> new_primQuotInt(vyv2700, new_gcd(vyv272, vyv271)) 248.95/165.40 new_gcd(vyv272, vyv271) -> new_gcd2(new_esEs(vyv272), vyv272, vyv271) 248.95/165.40 new_primQuotInt(vyv2700, Pos(Succ(vyv28400))) -> Pos(new_primDivNatS1(vyv2700, vyv28400)) 248.95/165.40 new_primQuotInt(vyv2700, Neg(Zero)) -> new_error 248.95/165.40 new_primQuotInt(vyv2700, Pos(Zero)) -> new_error 248.95/165.40 new_primQuotInt(vyv2700, Neg(Succ(vyv28400))) -> Neg(new_primDivNatS1(vyv2700, vyv28400)) 248.95/165.40 new_primDivNatS1(Succ(Zero), Succ(vyv284000)) -> Zero 248.95/165.40 new_primDivNatS1(Succ(Succ(vyv270000)), Succ(vyv284000)) -> new_primDivNatS02(vyv270000, vyv284000, vyv270000, vyv284000) 248.95/165.40 new_primDivNatS1(Zero, vyv28400) -> Zero 248.95/165.40 new_primDivNatS1(Succ(Succ(vyv270000)), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS0(vyv270000), Zero)) 248.95/165.40 new_primDivNatS1(Succ(Zero), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS1, Zero)) 248.95/165.40 new_primMinusNatS1 -> Zero 248.95/165.40 new_primMinusNatS0(vyv270000) -> Succ(vyv270000) 248.95/165.40 new_primDivNatS02(vyv310, vyv311, Zero, Zero) -> new_primDivNatS01(vyv310, vyv311) 248.95/165.40 new_primDivNatS02(vyv310, vyv311, Succ(vyv3120), Zero) -> new_primDivNatS01(vyv310, vyv311) 248.95/165.40 new_primDivNatS02(vyv310, vyv311, Zero, Succ(vyv3130)) -> Zero 248.95/165.40 new_primDivNatS02(vyv310, vyv311, Succ(vyv3120), Succ(vyv3130)) -> new_primDivNatS02(vyv310, vyv311, vyv3120, vyv3130) 248.95/165.40 new_primDivNatS01(vyv310, vyv311) -> Succ(new_primDivNatS1(new_primMinusNatS2(vyv310, vyv311), Succ(vyv311))) 248.95/165.40 new_primMinusNatS2(Zero, Succ(vyv3110)) -> Zero 248.95/165.40 new_primMinusNatS2(Succ(vyv3100), Zero) -> Succ(vyv3100) 248.95/165.40 new_primMinusNatS2(Zero, Zero) -> Zero 248.95/165.40 new_primMinusNatS2(Succ(vyv3100), Succ(vyv3110)) -> new_primMinusNatS2(vyv3100, vyv3110) 248.95/165.40 new_error -> error([]) 248.95/165.40 new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) 248.95/165.40 new_esEs(Pos(Succ(vyv24100))) -> new_primEqInt(Pos(Succ(vyv24100))) 248.95/165.40 new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) 248.95/165.40 new_esEs(Neg(Succ(vyv24100))) -> new_primEqInt(Neg(Succ(vyv24100))) 248.95/165.40 new_gcd2(True, vyv272, vyv271) -> new_gcd1(new_esEs(vyv271), vyv272, vyv271) 248.95/165.40 new_gcd2(False, vyv272, vyv271) -> new_gcd0(vyv272, vyv271) 248.95/165.40 new_gcd0(vyv272, vyv271) -> new_gcd0Gcd'10(new_esEs(new_abs(vyv271)), vyv272, vyv271) 248.95/165.40 new_abs(Neg(Zero)) -> Neg(Zero) 248.95/165.40 new_abs(Neg(Succ(vyv27100))) -> Pos(Succ(vyv27100)) 248.95/165.40 new_abs(Pos(Succ(vyv27100))) -> Pos(Succ(vyv27100)) 248.95/165.40 new_abs(Pos(Zero)) -> Pos(Zero) 248.95/165.40 new_gcd0Gcd'10(True, vyv272, vyv271) -> new_abs(vyv272) 248.95/165.40 new_gcd0Gcd'10(False, vyv272, vyv271) -> new_gcd0Gcd'00(new_abs(vyv272), new_abs(vyv271)) 248.95/165.40 new_gcd0Gcd'00(vyv292, vyv291) -> new_gcd0Gcd'11(new_esEs(new_rem(vyv292, vyv291)), vyv291, vyv292) 248.95/165.40 new_gcd0Gcd'11(False, vyv291, vyv292) -> new_gcd0Gcd'00(vyv291, new_rem(vyv292, vyv291)) 248.95/165.40 new_rem(Pos(vyv2920), Neg(Zero)) -> new_error 248.95/165.40 new_rem(Neg(vyv2920), Pos(Zero)) -> new_error 248.95/165.40 new_rem(Pos(vyv2920), Neg(Succ(vyv29100))) -> Pos(new_primModNatS1(vyv2920, vyv29100)) 248.95/165.40 new_rem(Neg(vyv2920), Pos(Succ(vyv29100))) -> Neg(new_primModNatS1(vyv2920, vyv29100)) 248.95/165.40 new_rem(Pos(vyv2920), Pos(Succ(vyv29100))) -> Pos(new_primModNatS1(vyv2920, vyv29100)) 248.95/165.40 new_rem(Neg(vyv2920), Neg(Zero)) -> new_error 248.95/165.40 new_rem(Neg(vyv2920), Neg(Succ(vyv29100))) -> Neg(new_primModNatS1(vyv2920, vyv29100)) 248.95/165.40 new_rem(Pos(vyv2920), Pos(Zero)) -> new_error 248.95/165.40 new_gcd0Gcd'11(True, vyv291, vyv292) -> vyv291 248.95/165.40 new_primModNatS1(Succ(Zero), Succ(vyv291000)) -> Succ(Zero) 248.95/165.40 new_primModNatS1(Zero, vyv29100) -> Zero 248.95/165.40 new_primModNatS1(Succ(Succ(vyv292000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv292000), Zero) 248.95/165.40 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 248.95/165.40 new_primModNatS1(Succ(Succ(vyv292000)), Succ(vyv291000)) -> new_primModNatS01(vyv292000, vyv291000, vyv292000, vyv291000) 248.95/165.40 new_primModNatS01(vyv330, vyv331, Zero, Zero) -> new_primModNatS02(vyv330, vyv331) 248.95/165.40 new_primModNatS02(vyv330, vyv331) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv330), Succ(vyv331)), Succ(vyv331)) 248.95/165.40 new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Zero) -> new_primModNatS02(vyv330, vyv331) 248.95/165.40 new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Succ(vyv3330)) -> new_primModNatS01(vyv330, vyv331, vyv3320, vyv3330) 248.95/165.40 new_primModNatS01(vyv330, vyv331, Zero, Succ(vyv3330)) -> Succ(Succ(vyv330)) 248.95/165.40 new_gcd1(True, vyv272, vyv271) -> new_error 248.95/165.40 new_gcd1(False, vyv272, vyv271) -> new_gcd0(vyv272, vyv271) 248.95/165.40 new_primEqInt(Neg(Succ(vyv242000))) -> False 248.95/165.40 new_primEqInt(Pos(Zero)) -> True 248.95/165.40 new_primEqInt(Pos(Succ(vyv242000))) -> False 248.95/165.40 new_primEqInt(Neg(Zero)) -> True 248.95/165.40 new_primQuotInt0(vyv2700, Pos(Succ(vyv28700))) -> Neg(new_primDivNatS1(vyv2700, vyv28700)) 248.95/165.40 new_primQuotInt0(vyv2700, Neg(Zero)) -> new_error 248.95/165.40 new_primQuotInt0(vyv2700, Neg(Succ(vyv28700))) -> Pos(new_primDivNatS1(vyv2700, vyv28700)) 248.95/165.40 new_primQuotInt0(vyv2700, Pos(Zero)) -> new_error 248.95/165.40 new_primMulNat0(Succ(vyv23900), Zero) -> Zero 248.95/165.40 new_primMulNat0(Zero, Succ(vyv23800)) -> Zero 248.95/165.40 new_primMulNat0(Zero, Zero) -> Zero 248.95/165.40 new_primMulNat0(Succ(vyv23900), Succ(vyv23800)) -> new_primPlusNat0(new_primMulNat0(vyv23900, Succ(vyv23800)), Succ(vyv23800)) 248.95/165.40 new_primPlusNat0(Succ(vyv4000), Succ(vyv5000)) -> Succ(Succ(new_primPlusNat0(vyv4000, vyv5000))) 248.95/165.40 new_primPlusNat0(Zero, Succ(vyv5000)) -> Succ(vyv5000) 248.95/165.40 new_primPlusNat0(Zero, Zero) -> Zero 248.95/165.40 new_primPlusNat0(Succ(vyv4000), Zero) -> Succ(vyv4000) 248.95/165.40 new_sr7(vyv183) -> error([]) 248.95/165.40 new_esEs1(Integer(vyv2690)) -> new_primEqInt(vyv2690) 248.95/165.40 new_sr6(Neg(vyv1830)) -> Pos(new_primMulNat1(vyv1830)) 248.95/165.40 new_sr6(Pos(vyv1830)) -> Pos(new_primMulNat1(vyv1830)) 248.95/165.40 new_primMulNat1(Succ(vyv18300)) -> new_primPlusNat0(new_primMulNat2(vyv18300), Succ(vyv18300)) 248.95/165.40 new_primMulNat1(Zero) -> Zero 248.95/165.40 new_primMulNat2(Succ(vyv183000)) -> new_primPlusNat0(new_primMulNat3(vyv183000), Succ(Succ(vyv183000))) 248.95/165.40 new_primMulNat2(Zero) -> Zero 248.95/165.40 new_primMulNat3(Succ(vyv1830000)) -> new_primPlusNat0(new_primMulNat4(vyv1830000), Succ(Succ(Succ(vyv1830000)))) 248.95/165.40 new_primMulNat3(Zero) -> Zero 248.95/165.40 new_primMulNat4(Succ(vyv18300000)) -> new_primPlusNat0(new_primMulNat0(vyv18300000, Succ(Succ(Succ(Succ(vyv18300000))))), Succ(Succ(Succ(Succ(vyv18300000))))) 248.95/165.40 new_primMulNat4(Zero) -> Zero 248.95/165.40 new_sr9(vyv183) -> error([]) 248.95/165.40 new_sr10(vyv183) -> error([]) 248.95/165.40 new_sr4(vyv239, vyv238, app(ty_Ratio, bf)) -> new_sr12(vyv239, vyv238, bf) 248.95/165.40 new_sr4(vyv239, vyv238, ty_Integer) -> new_sr8(vyv239, vyv238) 248.95/165.40 new_sr4(vyv239, vyv238, ty_Int) -> new_sr14(vyv239, vyv238) 248.95/165.40 new_sr4(vyv239, vyv238, ty_Double) -> new_sr11(vyv239, vyv238) 248.95/165.40 new_sr4(vyv239, vyv238, ty_Float) -> new_sr13(vyv239, vyv238) 248.95/165.40 new_sr13(vyv239, vyv238) -> error([]) 248.95/165.40 new_sr11(vyv239, vyv238) -> error([]) 248.95/165.40 new_sr12(:%(vyv2390, vyv2391), :%(vyv2380, vyv2381), bf) -> new_reduce2Reduce1(vyv2390, vyv2380, vyv2391, vyv2381, new_esEs2(vyv2391, vyv2381, bf), bf) 248.95/165.40 new_esEs2(vyv2391, vyv2381, ty_Int) -> new_esEs(new_sr14(vyv2391, vyv2381)) 248.95/165.40 new_esEs2(vyv2391, vyv2381, ty_Integer) -> new_esEs1(new_sr8(vyv2391, vyv2381)) 248.95/165.40 248.95/165.40 The set Q consists of the following terms: 248.95/165.40 248.95/165.40 new_rem(Pos(x0), Pos(Succ(x1))) 248.95/165.40 new_quot1(x0, x1, x2, x3, ty_Integer) 248.95/165.40 new_primModNatS1(Succ(Zero), Succ(x0)) 248.95/165.40 new_primMulNat4(Zero) 248.95/165.40 new_gcd1(False, x0, x1) 248.95/165.40 new_primEqInt(Pos(Zero)) 248.95/165.40 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 248.95/165.40 new_rem(Pos(x0), Neg(Succ(x1))) 248.95/165.40 new_rem(Neg(x0), Pos(Succ(x1))) 248.95/165.40 new_sr10(x0) 248.95/165.40 new_quot1(x0, x1, x2, x3, ty_Int) 248.95/165.40 new_quot2(x0, x1, x2, x3, ty_Integer) 248.95/165.40 new_primModNatS01(x0, x1, Succ(x2), Zero) 248.95/165.40 new_sr3(x0, ty_Integer) 248.95/165.40 new_primMulNat3(Zero) 248.95/165.40 new_primDivNatS02(x0, x1, Succ(x2), Zero) 248.95/165.40 new_quot2(x0, x1, x2, x3, ty_Int) 248.95/165.40 new_gcd2(False, x0, x1) 248.95/165.40 new_primDivNatS1(Succ(Zero), Zero) 248.95/165.40 new_esEs0(x0, ty_Int) 248.95/165.40 new_sr14(Pos(x0), Pos(x1)) 248.95/165.40 new_sr3(x0, ty_Int) 248.95/165.40 new_primMulNat0(Zero, Zero) 248.95/165.40 new_sr4(x0, x1, ty_Double) 248.95/165.40 new_primPlusNat0(Succ(x0), Zero) 248.95/165.40 new_primMulNat2(Zero) 248.95/165.40 new_sr11(x0, x1) 248.95/165.40 new_primModNatS01(x0, x1, Zero, Zero) 248.95/165.40 new_esEs2(x0, x1, ty_Int) 248.95/165.40 new_gcd1(True, x0, x1) 248.95/165.40 new_sr13(x0, x1) 248.95/165.40 new_sr14(Pos(x0), Neg(x1)) 248.95/165.40 new_sr14(Neg(x0), Pos(x1)) 248.95/165.40 new_primDivNatS1(Succ(Succ(x0)), Succ(x1)) 248.95/165.40 new_primModNatS1(Zero, x0) 248.95/165.40 new_esEs(Pos(Succ(x0))) 248.95/165.40 new_primMulNat3(Succ(x0)) 248.95/165.40 new_primQuotInt(x0, Neg(Succ(x1))) 248.95/165.40 new_reduce2Reduce1(x0, x1, x2, x3, False, x4) 248.95/165.40 new_primDivNatS1(Zero, x0) 248.95/165.40 new_primDivNatS02(x0, x1, Succ(x2), Succ(x3)) 248.95/165.40 new_primModNatS02(x0, x1) 248.95/165.40 new_primDivNatS1(Succ(Zero), Succ(x0)) 248.95/165.40 new_sr6(Neg(x0)) 248.95/165.40 new_gcd0Gcd'10(True, x0, x1) 248.95/165.40 new_primMulNat0(Succ(x0), Succ(x1)) 248.95/165.40 new_abs(Neg(Zero)) 248.95/165.40 new_rem(Pos(x0), Neg(Zero)) 248.95/165.40 new_rem(Neg(x0), Pos(Zero)) 248.95/165.40 new_primMinusNatS2(Zero, Succ(x0)) 248.95/165.40 new_esEs(Neg(Succ(x0))) 248.95/165.40 new_error 248.95/165.40 new_primModNatS1(Succ(Zero), Zero) 248.95/165.40 new_primMulNat0(Zero, Succ(x0)) 248.95/165.40 new_sr3(x0, ty_Float) 248.95/165.40 new_quot(x0, x1, x2) 248.95/165.40 new_gcd2(True, x0, x1) 248.95/165.40 new_gcd0Gcd'11(True, x0, x1) 248.95/165.40 new_primEqInt(Neg(Zero)) 248.95/165.40 new_primMulNat0(Succ(x0), Zero) 248.95/165.40 new_quot0(Neg(x0), x1, x2) 248.95/165.40 new_primMinusNatS2(Succ(x0), Succ(x1)) 248.95/165.40 new_sr4(x0, x1, app(ty_Ratio, x2)) 248.95/165.40 new_sr8(x0, x1) 248.95/165.40 new_primDivNatS01(x0, x1) 248.95/165.40 new_primDivNatS02(x0, x1, Zero, Succ(x2)) 248.95/165.40 new_primPlusNat0(Succ(x0), Succ(x1)) 248.95/165.40 new_primPlusNat0(Zero, Zero) 248.95/165.40 new_sr12(:%(x0, x1), :%(x2, x3), x4) 248.95/165.40 new_abs(Neg(Succ(x0))) 248.95/165.40 new_sr3(x0, app(ty_Ratio, x1)) 248.95/165.40 new_sr7(x0) 248.95/165.40 new_gcd0(x0, x1) 248.95/165.40 new_primQuotInt0(x0, Pos(Succ(x1))) 248.95/165.40 new_sr4(x0, x1, ty_Integer) 248.95/165.40 new_sr5(:%(x0, x1), x2) 248.95/165.40 new_primMinusNatS2(Zero, Zero) 248.95/165.40 new_primMulNat1(Succ(x0)) 248.95/165.40 new_abs(Pos(Succ(x0))) 248.95/165.40 new_sr4(x0, x1, ty_Int) 248.95/165.40 new_esEs(Pos(Zero)) 248.95/165.40 new_primQuotInt0(x0, Pos(Zero)) 248.95/165.40 new_primEqInt(Neg(Succ(x0))) 248.95/165.40 new_primQuotInt(x0, Neg(Zero)) 248.95/165.40 new_primQuotInt0(x0, Neg(Zero)) 248.95/165.40 new_primQuotInt0(x0, Neg(Succ(x1))) 248.95/165.40 new_gcd(x0, x1) 248.95/165.40 new_quot0(Pos(x0), x1, x2) 248.95/165.40 new_primMinusNatS0(x0) 248.95/165.40 new_primPlusNat0(Zero, Succ(x0)) 248.95/165.40 new_primQuotInt(x0, Pos(Succ(x1))) 248.95/165.40 new_primDivNatS1(Succ(Succ(x0)), Zero) 248.95/165.40 new_rem(Pos(x0), Pos(Zero)) 248.95/165.40 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 248.95/165.40 new_primDivNatS02(x0, x1, Zero, Zero) 248.95/165.40 new_abs(Pos(Zero)) 248.95/165.40 new_gcd0Gcd'10(False, x0, x1) 248.95/165.40 new_primMinusNatS1 248.95/165.40 new_esEs1(Integer(x0)) 248.95/165.40 new_primModNatS01(x0, x1, Zero, Succ(x2)) 248.95/165.40 new_primMulNat2(Succ(x0)) 248.95/165.40 new_sr14(Neg(x0), Neg(x1)) 248.95/165.40 new_primMinusNatS2(Succ(x0), Zero) 248.95/165.40 new_sr4(x0, x1, ty_Float) 248.95/165.40 new_sr6(Pos(x0)) 248.95/165.40 new_esEs2(x0, x1, ty_Integer) 248.95/165.40 new_primMulNat4(Succ(x0)) 248.95/165.40 new_rem(Neg(x0), Neg(Succ(x1))) 248.95/165.40 new_primEqInt(Pos(Succ(x0))) 248.95/165.40 new_primQuotInt(x0, Pos(Zero)) 248.95/165.40 new_gcd0Gcd'11(False, x0, x1) 248.95/165.40 new_sr9(x0) 248.95/165.40 new_primModNatS1(Succ(Succ(x0)), Zero) 248.95/165.40 new_esEs0(x0, ty_Integer) 248.95/165.40 new_gcd0Gcd'00(x0, x1) 248.95/165.40 new_reduce2Reduce1(x0, x1, x2, x3, True, x4) 248.95/165.40 new_sr3(x0, ty_Double) 248.95/165.40 new_esEs(Neg(Zero)) 248.95/165.40 new_primMulNat1(Zero) 248.95/165.40 new_rem(Neg(x0), Neg(Zero)) 248.95/165.40 new_new_pr2F0G10(Succ(Succ(x0))) 248.95/165.40 new_new_pr2F0G10(Succ(Zero)) 248.95/165.40 new_new_pr2F0G10(Zero) 248.95/165.40 248.95/165.40 We have to consider all minimal (P,Q,R)-chains. 248.95/165.40 ---------------------------------------- 248.95/165.40 248.95/165.40 (869) TransformationProof (EQUIVALENT) 248.95/165.40 By rewriting [LPAR04] the rule new_pr2F0G10(y0, y1, Succ(Succ(Succ(Zero))), Zero, y3) -> new_pr2F0G(y0, new_sr3(y1, y3), Neg(Succ(Succ(new_primDivNatS1(Zero, Succ(Zero))))), y3) at position [2,0,0,0] we obtained the following new rules [LPAR04]: 248.95/165.40 248.95/165.40 (new_pr2F0G10(y0, y1, Succ(Succ(Succ(Zero))), Zero, y3) -> new_pr2F0G(y0, new_sr3(y1, y3), Neg(Succ(Succ(Zero))), y3),new_pr2F0G10(y0, y1, Succ(Succ(Succ(Zero))), Zero, y3) -> new_pr2F0G(y0, new_sr3(y1, y3), Neg(Succ(Succ(Zero))), y3)) 248.95/165.40 248.95/165.40 248.95/165.40 ---------------------------------------- 248.95/165.40 248.95/165.40 (870) 248.95/165.40 Obligation: 248.95/165.40 Q DP problem: 248.95/165.40 The TRS P consists of the following rules: 248.95/165.40 248.95/165.40 new_pr2F0(vyv183, Neg(Succ(Succ(vyv222000))), vyv187, h) -> new_pr2F0G10(vyv187, vyv183, Succ(vyv222000), vyv222000, h) 248.95/165.40 new_pr2F0G10(vyv248, vyv249, vyv250, Succ(Zero), bb) -> new_pr2F0G11(vyv248, vyv249, vyv250, bb) 248.95/165.40 new_pr2F0G11(vyv238, vyv239, vyv240, bc) -> new_pr2F1(vyv239, vyv240, Pos(Succ(Zero)), vyv238, bc) 248.95/165.40 new_pr2F1(z1, z2, Pos(Succ(Zero)), z0, z3) -> new_pr2F30(False, z1, z2, Pos(Succ(Zero)), z0, z3) 248.95/165.40 new_pr2F30(False, z0, z1, Pos(Succ(Zero)), z2, z3) -> new_pr2F0(z0, Neg(Succ(Succ(new_primPlusNat0(z1, Zero)))), new_sr4(z0, z2, z3), z3) 248.95/165.40 H(vyv248, vyv249, vyv250, bb, cons_new_pr2F0G10(Succ(Zero))) -> new_pr2F0G10(vyv248, vyv249, vyv250, Succ(Zero), bb) 248.95/165.40 H(vyv248, vyv249, vyv250, bb, cons_new_pr2F0G10(Zero)) -> new_pr2F0G10(vyv248, vyv249, vyv250, Zero, bb) 248.95/165.40 new_pr2F0G(vyv187, vyv183, Neg(Succ(Zero)), h) -> new_pr2F0G11(vyv187, vyv183, Zero, h) 248.95/165.40 new_pr2F0G(vyv187, vyv183, Neg(Succ(Succ(vyv222000))), h) -> new_pr2F0G10(vyv187, vyv183, Succ(vyv222000), vyv222000, h) 248.95/165.40 new_pr2F0G10(y0, y1, Succ(Zero), Zero, y3) -> new_pr2F0G(y0, new_sr3(y1, y3), Neg(Succ(Zero)), y3) 248.95/165.40 new_pr2F0(y0, Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), y2, y3) -> H(y2, y0, Succ(Succ(Succ(Succ(Zero)))), y3, cons_new_pr2F0G10(Succ(Zero))) 248.95/165.40 new_pr2F0(y0, Neg(Succ(Succ(Succ(Succ(Zero))))), y2, y3) -> H(y2, y0, Succ(Succ(Succ(Zero))), y3, cons_new_pr2F0G10(Zero)) 248.95/165.40 new_pr2F0G10(y0, y1, Succ(Succ(Zero)), Zero, y3) -> new_pr2F0G(y0, new_sr3(y1, y3), Neg(Succ(Zero)), y3) 248.95/165.40 new_pr2F0G(y0, y1, Neg(Succ(Succ(Succ(Succ(Succ(Succ(x0))))))), y3) -> H(y0, y1, Succ(Succ(Succ(Succ(Succ(x0))))), y3, new_new_pr2F0G10(x0)) 248.95/165.40 new_pr2F0G(y0, y1, Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), y3) -> H(y0, y1, Succ(Succ(Succ(Succ(Zero)))), y3, cons_new_pr2F0G10(Succ(Zero))) 248.95/165.40 new_pr2F0G(y0, y1, Neg(Succ(Succ(Succ(Succ(Zero))))), y3) -> H(y0, y1, Succ(Succ(Succ(Zero))), y3, cons_new_pr2F0G10(Zero)) 248.95/165.40 new_pr2F0(y0, Neg(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(x0))))))))), y2, y3) -> H(y2, y0, Succ(Succ(Succ(Succ(Succ(Succ(Succ(x0))))))), y3, new_new_pr2F0G10(x0)) 248.95/165.40 new_pr2F0(y0, Neg(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))))), y2, y3) -> H(y2, y0, Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))), y3, cons_new_pr2F0G10(Succ(Zero))) 248.95/165.40 new_pr2F0(y0, Neg(Succ(Succ(Succ(Succ(Succ(Succ(Zero))))))), y2, y3) -> H(y2, y0, Succ(Succ(Succ(Succ(Succ(Zero))))), y3, cons_new_pr2F0G10(Zero)) 248.95/165.40 new_pr2F0G10(y0, y1, Succ(Succ(Succ(Succ(x2)))), Zero, y3) -> new_pr2F0G(y0, new_sr3(y1, y3), Neg(Succ(Succ(new_primDivNatS1(Succ(x2), Succ(Zero))))), y3) 248.95/165.40 new_pr2F0G10(y0, y1, Succ(Succ(Succ(Zero))), Zero, y3) -> new_pr2F0G(y0, new_sr3(y1, y3), Neg(Succ(Succ(Zero))), y3) 248.95/165.40 248.95/165.40 The TRS R consists of the following rules: 248.95/165.40 248.95/165.40 new_new_pr2F0G10(Succ(Succ(vyv25100))) -> new_new_pr2F0G10(vyv25100) 248.95/165.40 new_new_pr2F0G10(Succ(Zero)) -> cons_new_pr2F0G10(Succ(Zero)) 248.95/165.40 new_new_pr2F0G10(Zero) -> cons_new_pr2F0G10(Zero) 248.95/165.40 new_sr3(vyv249, ty_Float) -> new_sr10(vyv249) 248.95/165.40 new_sr3(vyv249, ty_Double) -> new_sr9(vyv249) 248.95/165.40 new_sr3(vyv249, ty_Int) -> new_sr6(vyv249) 248.95/165.40 new_sr3(vyv249, ty_Integer) -> new_sr7(vyv249) 248.95/165.40 new_sr3(vyv249, app(ty_Ratio, bg)) -> new_sr5(vyv249, bg) 248.95/165.40 new_sr5(:%(vyv1830, vyv1831), bd) -> new_reduce2Reduce1(vyv1830, vyv1830, vyv1831, vyv1831, new_esEs0(vyv1831, bd), bd) 248.95/165.40 new_esEs0(vyv1831, ty_Int) -> new_esEs(new_sr6(vyv1831)) 248.95/165.40 new_esEs0(vyv1831, ty_Integer) -> new_esEs1(new_sr7(vyv1831)) 248.95/165.40 new_reduce2Reduce1(vyv264, vyv265, vyv266, vyv267, False, bh) -> :%(new_quot1(vyv264, vyv265, vyv266, vyv267, bh), new_quot2(vyv266, vyv267, vyv264, vyv265, bh)) 248.95/165.40 new_reduce2Reduce1(vyv264, vyv265, vyv266, vyv267, True, bh) -> error([]) 248.95/165.40 new_quot1(vyv264, vyv265, vyv266, vyv267, ty_Int) -> new_quot0(new_sr14(vyv264, vyv265), new_sr14(vyv264, vyv265), new_sr14(vyv266, vyv267)) 248.95/165.40 new_quot1(vyv264, vyv265, vyv266, vyv267, ty_Integer) -> new_quot(new_sr8(vyv264, vyv265), new_sr8(vyv264, vyv265), new_sr8(vyv266, vyv267)) 248.95/165.40 new_quot2(vyv266, vyv267, vyv264, vyv265, ty_Int) -> new_quot0(new_sr14(vyv266, vyv267), new_sr14(vyv264, vyv265), new_sr14(vyv266, vyv267)) 248.95/165.40 new_quot2(vyv266, vyv267, vyv264, vyv265, ty_Integer) -> new_quot(new_sr8(vyv266, vyv267), new_sr8(vyv264, vyv265), new_sr8(vyv266, vyv267)) 248.95/165.40 new_sr8(vyv239, vyv238) -> error([]) 248.95/165.40 new_quot(vyv273, vyv275, vyv274) -> error([]) 248.95/165.40 new_sr14(Pos(vyv2390), Neg(vyv2380)) -> Neg(new_primMulNat0(vyv2390, vyv2380)) 248.95/165.40 new_sr14(Neg(vyv2390), Pos(vyv2380)) -> Neg(new_primMulNat0(vyv2390, vyv2380)) 248.95/165.40 new_sr14(Neg(vyv2390), Neg(vyv2380)) -> Pos(new_primMulNat0(vyv2390, vyv2380)) 248.95/165.40 new_sr14(Pos(vyv2390), Pos(vyv2380)) -> Pos(new_primMulNat0(vyv2390, vyv2380)) 248.95/165.40 new_quot0(Neg(vyv2700), vyv272, vyv271) -> new_primQuotInt0(vyv2700, new_gcd(vyv272, vyv271)) 248.95/165.40 new_quot0(Pos(vyv2700), vyv272, vyv271) -> new_primQuotInt(vyv2700, new_gcd(vyv272, vyv271)) 248.95/165.40 new_gcd(vyv272, vyv271) -> new_gcd2(new_esEs(vyv272), vyv272, vyv271) 248.95/165.40 new_primQuotInt(vyv2700, Pos(Succ(vyv28400))) -> Pos(new_primDivNatS1(vyv2700, vyv28400)) 248.95/165.40 new_primQuotInt(vyv2700, Neg(Zero)) -> new_error 248.95/165.40 new_primQuotInt(vyv2700, Pos(Zero)) -> new_error 248.95/165.40 new_primQuotInt(vyv2700, Neg(Succ(vyv28400))) -> Neg(new_primDivNatS1(vyv2700, vyv28400)) 248.95/165.40 new_primDivNatS1(Succ(Zero), Succ(vyv284000)) -> Zero 248.95/165.40 new_primDivNatS1(Succ(Succ(vyv270000)), Succ(vyv284000)) -> new_primDivNatS02(vyv270000, vyv284000, vyv270000, vyv284000) 248.95/165.40 new_primDivNatS1(Zero, vyv28400) -> Zero 248.95/165.40 new_primDivNatS1(Succ(Succ(vyv270000)), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS0(vyv270000), Zero)) 248.95/165.40 new_primDivNatS1(Succ(Zero), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS1, Zero)) 248.95/165.40 new_primMinusNatS1 -> Zero 248.95/165.40 new_primMinusNatS0(vyv270000) -> Succ(vyv270000) 248.95/165.40 new_primDivNatS02(vyv310, vyv311, Zero, Zero) -> new_primDivNatS01(vyv310, vyv311) 248.95/165.40 new_primDivNatS02(vyv310, vyv311, Succ(vyv3120), Zero) -> new_primDivNatS01(vyv310, vyv311) 248.95/165.40 new_primDivNatS02(vyv310, vyv311, Zero, Succ(vyv3130)) -> Zero 248.95/165.40 new_primDivNatS02(vyv310, vyv311, Succ(vyv3120), Succ(vyv3130)) -> new_primDivNatS02(vyv310, vyv311, vyv3120, vyv3130) 248.95/165.40 new_primDivNatS01(vyv310, vyv311) -> Succ(new_primDivNatS1(new_primMinusNatS2(vyv310, vyv311), Succ(vyv311))) 248.95/165.40 new_primMinusNatS2(Zero, Succ(vyv3110)) -> Zero 248.95/165.40 new_primMinusNatS2(Succ(vyv3100), Zero) -> Succ(vyv3100) 248.95/165.40 new_primMinusNatS2(Zero, Zero) -> Zero 248.95/165.40 new_primMinusNatS2(Succ(vyv3100), Succ(vyv3110)) -> new_primMinusNatS2(vyv3100, vyv3110) 248.95/165.40 new_error -> error([]) 248.95/165.40 new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) 248.95/165.40 new_esEs(Pos(Succ(vyv24100))) -> new_primEqInt(Pos(Succ(vyv24100))) 248.95/165.40 new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) 248.95/165.40 new_esEs(Neg(Succ(vyv24100))) -> new_primEqInt(Neg(Succ(vyv24100))) 248.95/165.40 new_gcd2(True, vyv272, vyv271) -> new_gcd1(new_esEs(vyv271), vyv272, vyv271) 248.95/165.40 new_gcd2(False, vyv272, vyv271) -> new_gcd0(vyv272, vyv271) 248.95/165.40 new_gcd0(vyv272, vyv271) -> new_gcd0Gcd'10(new_esEs(new_abs(vyv271)), vyv272, vyv271) 248.95/165.40 new_abs(Neg(Zero)) -> Neg(Zero) 248.95/165.40 new_abs(Neg(Succ(vyv27100))) -> Pos(Succ(vyv27100)) 248.95/165.40 new_abs(Pos(Succ(vyv27100))) -> Pos(Succ(vyv27100)) 248.95/165.40 new_abs(Pos(Zero)) -> Pos(Zero) 248.95/165.40 new_gcd0Gcd'10(True, vyv272, vyv271) -> new_abs(vyv272) 248.95/165.40 new_gcd0Gcd'10(False, vyv272, vyv271) -> new_gcd0Gcd'00(new_abs(vyv272), new_abs(vyv271)) 248.95/165.40 new_gcd0Gcd'00(vyv292, vyv291) -> new_gcd0Gcd'11(new_esEs(new_rem(vyv292, vyv291)), vyv291, vyv292) 248.95/165.40 new_gcd0Gcd'11(False, vyv291, vyv292) -> new_gcd0Gcd'00(vyv291, new_rem(vyv292, vyv291)) 248.95/165.40 new_rem(Pos(vyv2920), Neg(Zero)) -> new_error 248.95/165.40 new_rem(Neg(vyv2920), Pos(Zero)) -> new_error 248.95/165.40 new_rem(Pos(vyv2920), Neg(Succ(vyv29100))) -> Pos(new_primModNatS1(vyv2920, vyv29100)) 248.95/165.40 new_rem(Neg(vyv2920), Pos(Succ(vyv29100))) -> Neg(new_primModNatS1(vyv2920, vyv29100)) 248.95/165.40 new_rem(Pos(vyv2920), Pos(Succ(vyv29100))) -> Pos(new_primModNatS1(vyv2920, vyv29100)) 248.95/165.40 new_rem(Neg(vyv2920), Neg(Zero)) -> new_error 248.95/165.40 new_rem(Neg(vyv2920), Neg(Succ(vyv29100))) -> Neg(new_primModNatS1(vyv2920, vyv29100)) 248.95/165.40 new_rem(Pos(vyv2920), Pos(Zero)) -> new_error 248.95/165.40 new_gcd0Gcd'11(True, vyv291, vyv292) -> vyv291 248.95/165.40 new_primModNatS1(Succ(Zero), Succ(vyv291000)) -> Succ(Zero) 248.95/165.40 new_primModNatS1(Zero, vyv29100) -> Zero 248.95/165.40 new_primModNatS1(Succ(Succ(vyv292000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv292000), Zero) 248.95/165.40 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 248.95/165.40 new_primModNatS1(Succ(Succ(vyv292000)), Succ(vyv291000)) -> new_primModNatS01(vyv292000, vyv291000, vyv292000, vyv291000) 248.95/165.40 new_primModNatS01(vyv330, vyv331, Zero, Zero) -> new_primModNatS02(vyv330, vyv331) 248.95/165.40 new_primModNatS02(vyv330, vyv331) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv330), Succ(vyv331)), Succ(vyv331)) 248.95/165.40 new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Zero) -> new_primModNatS02(vyv330, vyv331) 248.95/165.40 new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Succ(vyv3330)) -> new_primModNatS01(vyv330, vyv331, vyv3320, vyv3330) 248.95/165.40 new_primModNatS01(vyv330, vyv331, Zero, Succ(vyv3330)) -> Succ(Succ(vyv330)) 248.95/165.40 new_gcd1(True, vyv272, vyv271) -> new_error 248.95/165.40 new_gcd1(False, vyv272, vyv271) -> new_gcd0(vyv272, vyv271) 248.95/165.40 new_primEqInt(Neg(Succ(vyv242000))) -> False 248.95/165.40 new_primEqInt(Pos(Zero)) -> True 248.95/165.40 new_primEqInt(Pos(Succ(vyv242000))) -> False 248.95/165.40 new_primEqInt(Neg(Zero)) -> True 248.95/165.40 new_primQuotInt0(vyv2700, Pos(Succ(vyv28700))) -> Neg(new_primDivNatS1(vyv2700, vyv28700)) 248.95/165.40 new_primQuotInt0(vyv2700, Neg(Zero)) -> new_error 248.95/165.40 new_primQuotInt0(vyv2700, Neg(Succ(vyv28700))) -> Pos(new_primDivNatS1(vyv2700, vyv28700)) 248.95/165.40 new_primQuotInt0(vyv2700, Pos(Zero)) -> new_error 248.95/165.40 new_primMulNat0(Succ(vyv23900), Zero) -> Zero 248.95/165.40 new_primMulNat0(Zero, Succ(vyv23800)) -> Zero 248.95/165.40 new_primMulNat0(Zero, Zero) -> Zero 248.95/165.40 new_primMulNat0(Succ(vyv23900), Succ(vyv23800)) -> new_primPlusNat0(new_primMulNat0(vyv23900, Succ(vyv23800)), Succ(vyv23800)) 248.95/165.40 new_primPlusNat0(Succ(vyv4000), Succ(vyv5000)) -> Succ(Succ(new_primPlusNat0(vyv4000, vyv5000))) 248.95/165.40 new_primPlusNat0(Zero, Succ(vyv5000)) -> Succ(vyv5000) 248.95/165.40 new_primPlusNat0(Zero, Zero) -> Zero 248.95/165.40 new_primPlusNat0(Succ(vyv4000), Zero) -> Succ(vyv4000) 248.95/165.40 new_sr7(vyv183) -> error([]) 248.95/165.40 new_esEs1(Integer(vyv2690)) -> new_primEqInt(vyv2690) 248.95/165.40 new_sr6(Neg(vyv1830)) -> Pos(new_primMulNat1(vyv1830)) 248.95/165.40 new_sr6(Pos(vyv1830)) -> Pos(new_primMulNat1(vyv1830)) 248.95/165.40 new_primMulNat1(Succ(vyv18300)) -> new_primPlusNat0(new_primMulNat2(vyv18300), Succ(vyv18300)) 248.95/165.40 new_primMulNat1(Zero) -> Zero 248.95/165.40 new_primMulNat2(Succ(vyv183000)) -> new_primPlusNat0(new_primMulNat3(vyv183000), Succ(Succ(vyv183000))) 248.95/165.40 new_primMulNat2(Zero) -> Zero 248.95/165.40 new_primMulNat3(Succ(vyv1830000)) -> new_primPlusNat0(new_primMulNat4(vyv1830000), Succ(Succ(Succ(vyv1830000)))) 248.95/165.40 new_primMulNat3(Zero) -> Zero 248.95/165.40 new_primMulNat4(Succ(vyv18300000)) -> new_primPlusNat0(new_primMulNat0(vyv18300000, Succ(Succ(Succ(Succ(vyv18300000))))), Succ(Succ(Succ(Succ(vyv18300000))))) 248.95/165.40 new_primMulNat4(Zero) -> Zero 248.95/165.40 new_sr9(vyv183) -> error([]) 248.95/165.40 new_sr10(vyv183) -> error([]) 248.95/165.40 new_sr4(vyv239, vyv238, app(ty_Ratio, bf)) -> new_sr12(vyv239, vyv238, bf) 248.95/165.40 new_sr4(vyv239, vyv238, ty_Integer) -> new_sr8(vyv239, vyv238) 248.95/165.40 new_sr4(vyv239, vyv238, ty_Int) -> new_sr14(vyv239, vyv238) 248.95/165.40 new_sr4(vyv239, vyv238, ty_Double) -> new_sr11(vyv239, vyv238) 248.95/165.40 new_sr4(vyv239, vyv238, ty_Float) -> new_sr13(vyv239, vyv238) 248.95/165.40 new_sr13(vyv239, vyv238) -> error([]) 248.95/165.40 new_sr11(vyv239, vyv238) -> error([]) 248.95/165.40 new_sr12(:%(vyv2390, vyv2391), :%(vyv2380, vyv2381), bf) -> new_reduce2Reduce1(vyv2390, vyv2380, vyv2391, vyv2381, new_esEs2(vyv2391, vyv2381, bf), bf) 248.95/165.40 new_esEs2(vyv2391, vyv2381, ty_Int) -> new_esEs(new_sr14(vyv2391, vyv2381)) 248.95/165.40 new_esEs2(vyv2391, vyv2381, ty_Integer) -> new_esEs1(new_sr8(vyv2391, vyv2381)) 248.95/165.40 248.95/165.40 The set Q consists of the following terms: 248.95/165.40 248.95/165.40 new_rem(Pos(x0), Pos(Succ(x1))) 248.95/165.40 new_quot1(x0, x1, x2, x3, ty_Integer) 248.95/165.40 new_primModNatS1(Succ(Zero), Succ(x0)) 248.95/165.40 new_primMulNat4(Zero) 248.95/165.40 new_gcd1(False, x0, x1) 248.95/165.40 new_primEqInt(Pos(Zero)) 248.95/165.40 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 248.95/165.40 new_rem(Pos(x0), Neg(Succ(x1))) 248.95/165.40 new_rem(Neg(x0), Pos(Succ(x1))) 248.95/165.40 new_sr10(x0) 248.95/165.40 new_quot1(x0, x1, x2, x3, ty_Int) 248.95/165.40 new_quot2(x0, x1, x2, x3, ty_Integer) 248.95/165.40 new_primModNatS01(x0, x1, Succ(x2), Zero) 248.95/165.40 new_sr3(x0, ty_Integer) 248.95/165.40 new_primMulNat3(Zero) 248.95/165.40 new_primDivNatS02(x0, x1, Succ(x2), Zero) 248.95/165.40 new_quot2(x0, x1, x2, x3, ty_Int) 248.95/165.40 new_gcd2(False, x0, x1) 248.95/165.40 new_primDivNatS1(Succ(Zero), Zero) 248.95/165.40 new_esEs0(x0, ty_Int) 248.95/165.40 new_sr14(Pos(x0), Pos(x1)) 248.95/165.40 new_sr3(x0, ty_Int) 248.95/165.40 new_primMulNat0(Zero, Zero) 248.95/165.40 new_sr4(x0, x1, ty_Double) 248.95/165.40 new_primPlusNat0(Succ(x0), Zero) 248.95/165.40 new_primMulNat2(Zero) 248.95/165.40 new_sr11(x0, x1) 248.95/165.40 new_primModNatS01(x0, x1, Zero, Zero) 248.95/165.40 new_esEs2(x0, x1, ty_Int) 248.95/165.40 new_gcd1(True, x0, x1) 248.95/165.40 new_sr13(x0, x1) 248.95/165.40 new_sr14(Pos(x0), Neg(x1)) 248.95/165.40 new_sr14(Neg(x0), Pos(x1)) 248.95/165.40 new_primDivNatS1(Succ(Succ(x0)), Succ(x1)) 248.95/165.40 new_primModNatS1(Zero, x0) 248.95/165.40 new_esEs(Pos(Succ(x0))) 248.95/165.40 new_primMulNat3(Succ(x0)) 248.95/165.40 new_primQuotInt(x0, Neg(Succ(x1))) 248.95/165.40 new_reduce2Reduce1(x0, x1, x2, x3, False, x4) 248.95/165.40 new_primDivNatS1(Zero, x0) 248.95/165.40 new_primDivNatS02(x0, x1, Succ(x2), Succ(x3)) 248.95/165.40 new_primModNatS02(x0, x1) 248.95/165.40 new_primDivNatS1(Succ(Zero), Succ(x0)) 248.95/165.40 new_sr6(Neg(x0)) 248.95/165.40 new_gcd0Gcd'10(True, x0, x1) 248.95/165.40 new_primMulNat0(Succ(x0), Succ(x1)) 248.95/165.40 new_abs(Neg(Zero)) 248.95/165.40 new_rem(Pos(x0), Neg(Zero)) 248.95/165.40 new_rem(Neg(x0), Pos(Zero)) 248.95/165.40 new_primMinusNatS2(Zero, Succ(x0)) 248.95/165.40 new_esEs(Neg(Succ(x0))) 248.95/165.40 new_error 248.95/165.40 new_primModNatS1(Succ(Zero), Zero) 248.95/165.40 new_primMulNat0(Zero, Succ(x0)) 248.95/165.40 new_sr3(x0, ty_Float) 248.95/165.40 new_quot(x0, x1, x2) 248.95/165.40 new_gcd2(True, x0, x1) 248.95/165.40 new_gcd0Gcd'11(True, x0, x1) 248.95/165.40 new_primEqInt(Neg(Zero)) 248.95/165.40 new_primMulNat0(Succ(x0), Zero) 248.95/165.40 new_quot0(Neg(x0), x1, x2) 248.95/165.40 new_primMinusNatS2(Succ(x0), Succ(x1)) 248.95/165.40 new_sr4(x0, x1, app(ty_Ratio, x2)) 248.95/165.40 new_sr8(x0, x1) 248.95/165.40 new_primDivNatS01(x0, x1) 248.95/165.40 new_primDivNatS02(x0, x1, Zero, Succ(x2)) 248.95/165.40 new_primPlusNat0(Succ(x0), Succ(x1)) 248.95/165.40 new_primPlusNat0(Zero, Zero) 248.95/165.40 new_sr12(:%(x0, x1), :%(x2, x3), x4) 248.95/165.40 new_abs(Neg(Succ(x0))) 248.95/165.40 new_sr3(x0, app(ty_Ratio, x1)) 248.95/165.40 new_sr7(x0) 248.95/165.40 new_gcd0(x0, x1) 248.95/165.40 new_primQuotInt0(x0, Pos(Succ(x1))) 248.95/165.40 new_sr4(x0, x1, ty_Integer) 248.95/165.40 new_sr5(:%(x0, x1), x2) 248.95/165.40 new_primMinusNatS2(Zero, Zero) 248.95/165.40 new_primMulNat1(Succ(x0)) 248.95/165.40 new_abs(Pos(Succ(x0))) 248.95/165.40 new_sr4(x0, x1, ty_Int) 248.95/165.40 new_esEs(Pos(Zero)) 248.95/165.40 new_primQuotInt0(x0, Pos(Zero)) 248.95/165.40 new_primEqInt(Neg(Succ(x0))) 248.95/165.40 new_primQuotInt(x0, Neg(Zero)) 248.95/165.40 new_primQuotInt0(x0, Neg(Zero)) 248.95/165.40 new_primQuotInt0(x0, Neg(Succ(x1))) 248.95/165.40 new_gcd(x0, x1) 248.95/165.40 new_quot0(Pos(x0), x1, x2) 248.95/165.40 new_primMinusNatS0(x0) 248.95/165.40 new_primPlusNat0(Zero, Succ(x0)) 248.95/165.40 new_primQuotInt(x0, Pos(Succ(x1))) 248.95/165.40 new_primDivNatS1(Succ(Succ(x0)), Zero) 248.95/165.40 new_rem(Pos(x0), Pos(Zero)) 248.95/165.40 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 248.95/165.40 new_primDivNatS02(x0, x1, Zero, Zero) 248.95/165.40 new_abs(Pos(Zero)) 248.95/165.40 new_gcd0Gcd'10(False, x0, x1) 248.95/165.40 new_primMinusNatS1 248.95/165.40 new_esEs1(Integer(x0)) 248.95/165.40 new_primModNatS01(x0, x1, Zero, Succ(x2)) 248.95/165.40 new_primMulNat2(Succ(x0)) 248.95/165.40 new_sr14(Neg(x0), Neg(x1)) 248.95/165.40 new_primMinusNatS2(Succ(x0), Zero) 248.95/165.40 new_sr4(x0, x1, ty_Float) 248.95/165.40 new_sr6(Pos(x0)) 248.95/165.40 new_esEs2(x0, x1, ty_Integer) 248.95/165.40 new_primMulNat4(Succ(x0)) 248.95/165.40 new_rem(Neg(x0), Neg(Succ(x1))) 248.95/165.40 new_primEqInt(Pos(Succ(x0))) 248.95/165.40 new_primQuotInt(x0, Pos(Zero)) 248.95/165.40 new_gcd0Gcd'11(False, x0, x1) 248.95/165.40 new_sr9(x0) 248.95/165.40 new_primModNatS1(Succ(Succ(x0)), Zero) 248.95/165.40 new_esEs0(x0, ty_Integer) 248.95/165.40 new_gcd0Gcd'00(x0, x1) 248.95/165.40 new_reduce2Reduce1(x0, x1, x2, x3, True, x4) 248.95/165.40 new_sr3(x0, ty_Double) 248.95/165.40 new_esEs(Neg(Zero)) 248.95/165.40 new_primMulNat1(Zero) 248.95/165.40 new_rem(Neg(x0), Neg(Zero)) 248.95/165.40 new_new_pr2F0G10(Succ(Succ(x0))) 248.95/165.40 new_new_pr2F0G10(Succ(Zero)) 248.95/165.40 new_new_pr2F0G10(Zero) 248.95/165.40 248.95/165.40 We have to consider all minimal (P,Q,R)-chains. 248.95/165.40 ---------------------------------------- 248.95/165.40 248.95/165.40 (871) TransformationProof (EQUIVALENT) 248.95/165.40 By narrowing [LPAR04] the rule new_pr2F0G(y0, y1, Neg(Succ(Succ(Succ(Succ(Succ(Succ(x0))))))), y3) -> H(y0, y1, Succ(Succ(Succ(Succ(Succ(x0))))), y3, new_new_pr2F0G10(x0)) at position [4] we obtained the following new rules [LPAR04]: 248.95/165.40 248.95/165.40 (new_pr2F0G(y0, y1, Neg(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(x0))))))))), y3) -> H(y0, y1, Succ(Succ(Succ(Succ(Succ(Succ(Succ(x0))))))), y3, new_new_pr2F0G10(x0)),new_pr2F0G(y0, y1, Neg(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(x0))))))))), y3) -> H(y0, y1, Succ(Succ(Succ(Succ(Succ(Succ(Succ(x0))))))), y3, new_new_pr2F0G10(x0))) 248.95/165.40 (new_pr2F0G(y0, y1, Neg(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))))), y3) -> H(y0, y1, Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))), y3, cons_new_pr2F0G10(Succ(Zero))),new_pr2F0G(y0, y1, Neg(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))))), y3) -> H(y0, y1, Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))), y3, cons_new_pr2F0G10(Succ(Zero)))) 248.95/165.40 (new_pr2F0G(y0, y1, Neg(Succ(Succ(Succ(Succ(Succ(Succ(Zero))))))), y3) -> H(y0, y1, Succ(Succ(Succ(Succ(Succ(Zero))))), y3, cons_new_pr2F0G10(Zero)),new_pr2F0G(y0, y1, Neg(Succ(Succ(Succ(Succ(Succ(Succ(Zero))))))), y3) -> H(y0, y1, Succ(Succ(Succ(Succ(Succ(Zero))))), y3, cons_new_pr2F0G10(Zero))) 248.95/165.40 248.95/165.40 248.95/165.40 ---------------------------------------- 248.95/165.40 248.95/165.40 (872) 248.95/165.40 Obligation: 248.95/165.40 Q DP problem: 248.95/165.40 The TRS P consists of the following rules: 248.95/165.40 248.95/165.40 new_pr2F0(vyv183, Neg(Succ(Succ(vyv222000))), vyv187, h) -> new_pr2F0G10(vyv187, vyv183, Succ(vyv222000), vyv222000, h) 248.95/165.40 new_pr2F0G10(vyv248, vyv249, vyv250, Succ(Zero), bb) -> new_pr2F0G11(vyv248, vyv249, vyv250, bb) 248.95/165.40 new_pr2F0G11(vyv238, vyv239, vyv240, bc) -> new_pr2F1(vyv239, vyv240, Pos(Succ(Zero)), vyv238, bc) 248.95/165.40 new_pr2F1(z1, z2, Pos(Succ(Zero)), z0, z3) -> new_pr2F30(False, z1, z2, Pos(Succ(Zero)), z0, z3) 248.95/165.40 new_pr2F30(False, z0, z1, Pos(Succ(Zero)), z2, z3) -> new_pr2F0(z0, Neg(Succ(Succ(new_primPlusNat0(z1, Zero)))), new_sr4(z0, z2, z3), z3) 248.95/165.40 H(vyv248, vyv249, vyv250, bb, cons_new_pr2F0G10(Succ(Zero))) -> new_pr2F0G10(vyv248, vyv249, vyv250, Succ(Zero), bb) 248.95/165.40 H(vyv248, vyv249, vyv250, bb, cons_new_pr2F0G10(Zero)) -> new_pr2F0G10(vyv248, vyv249, vyv250, Zero, bb) 248.95/165.40 new_pr2F0G(vyv187, vyv183, Neg(Succ(Zero)), h) -> new_pr2F0G11(vyv187, vyv183, Zero, h) 248.95/165.40 new_pr2F0G(vyv187, vyv183, Neg(Succ(Succ(vyv222000))), h) -> new_pr2F0G10(vyv187, vyv183, Succ(vyv222000), vyv222000, h) 248.95/165.40 new_pr2F0G10(y0, y1, Succ(Zero), Zero, y3) -> new_pr2F0G(y0, new_sr3(y1, y3), Neg(Succ(Zero)), y3) 248.95/165.40 new_pr2F0(y0, Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), y2, y3) -> H(y2, y0, Succ(Succ(Succ(Succ(Zero)))), y3, cons_new_pr2F0G10(Succ(Zero))) 248.95/165.40 new_pr2F0(y0, Neg(Succ(Succ(Succ(Succ(Zero))))), y2, y3) -> H(y2, y0, Succ(Succ(Succ(Zero))), y3, cons_new_pr2F0G10(Zero)) 248.95/165.40 new_pr2F0G10(y0, y1, Succ(Succ(Zero)), Zero, y3) -> new_pr2F0G(y0, new_sr3(y1, y3), Neg(Succ(Zero)), y3) 248.95/165.40 new_pr2F0G(y0, y1, Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), y3) -> H(y0, y1, Succ(Succ(Succ(Succ(Zero)))), y3, cons_new_pr2F0G10(Succ(Zero))) 248.95/165.40 new_pr2F0G(y0, y1, Neg(Succ(Succ(Succ(Succ(Zero))))), y3) -> H(y0, y1, Succ(Succ(Succ(Zero))), y3, cons_new_pr2F0G10(Zero)) 248.95/165.40 new_pr2F0(y0, Neg(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(x0))))))))), y2, y3) -> H(y2, y0, Succ(Succ(Succ(Succ(Succ(Succ(Succ(x0))))))), y3, new_new_pr2F0G10(x0)) 248.95/165.40 new_pr2F0(y0, Neg(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))))), y2, y3) -> H(y2, y0, Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))), y3, cons_new_pr2F0G10(Succ(Zero))) 248.95/165.40 new_pr2F0(y0, Neg(Succ(Succ(Succ(Succ(Succ(Succ(Zero))))))), y2, y3) -> H(y2, y0, Succ(Succ(Succ(Succ(Succ(Zero))))), y3, cons_new_pr2F0G10(Zero)) 248.95/165.40 new_pr2F0G10(y0, y1, Succ(Succ(Succ(Succ(x2)))), Zero, y3) -> new_pr2F0G(y0, new_sr3(y1, y3), Neg(Succ(Succ(new_primDivNatS1(Succ(x2), Succ(Zero))))), y3) 248.95/165.40 new_pr2F0G10(y0, y1, Succ(Succ(Succ(Zero))), Zero, y3) -> new_pr2F0G(y0, new_sr3(y1, y3), Neg(Succ(Succ(Zero))), y3) 248.95/165.40 new_pr2F0G(y0, y1, Neg(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(x0))))))))), y3) -> H(y0, y1, Succ(Succ(Succ(Succ(Succ(Succ(Succ(x0))))))), y3, new_new_pr2F0G10(x0)) 248.95/165.40 new_pr2F0G(y0, y1, Neg(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))))), y3) -> H(y0, y1, Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))), y3, cons_new_pr2F0G10(Succ(Zero))) 248.95/165.40 new_pr2F0G(y0, y1, Neg(Succ(Succ(Succ(Succ(Succ(Succ(Zero))))))), y3) -> H(y0, y1, Succ(Succ(Succ(Succ(Succ(Zero))))), y3, cons_new_pr2F0G10(Zero)) 248.95/165.40 248.95/165.40 The TRS R consists of the following rules: 248.95/165.40 248.95/165.40 new_new_pr2F0G10(Succ(Succ(vyv25100))) -> new_new_pr2F0G10(vyv25100) 248.95/165.40 new_new_pr2F0G10(Succ(Zero)) -> cons_new_pr2F0G10(Succ(Zero)) 248.95/165.40 new_new_pr2F0G10(Zero) -> cons_new_pr2F0G10(Zero) 248.95/165.40 new_sr3(vyv249, ty_Float) -> new_sr10(vyv249) 248.95/165.40 new_sr3(vyv249, ty_Double) -> new_sr9(vyv249) 248.95/165.40 new_sr3(vyv249, ty_Int) -> new_sr6(vyv249) 248.95/165.40 new_sr3(vyv249, ty_Integer) -> new_sr7(vyv249) 248.95/165.40 new_sr3(vyv249, app(ty_Ratio, bg)) -> new_sr5(vyv249, bg) 248.95/165.40 new_sr5(:%(vyv1830, vyv1831), bd) -> new_reduce2Reduce1(vyv1830, vyv1830, vyv1831, vyv1831, new_esEs0(vyv1831, bd), bd) 248.95/165.40 new_esEs0(vyv1831, ty_Int) -> new_esEs(new_sr6(vyv1831)) 248.95/165.40 new_esEs0(vyv1831, ty_Integer) -> new_esEs1(new_sr7(vyv1831)) 248.95/165.40 new_reduce2Reduce1(vyv264, vyv265, vyv266, vyv267, False, bh) -> :%(new_quot1(vyv264, vyv265, vyv266, vyv267, bh), new_quot2(vyv266, vyv267, vyv264, vyv265, bh)) 248.95/165.40 new_reduce2Reduce1(vyv264, vyv265, vyv266, vyv267, True, bh) -> error([]) 248.95/165.40 new_quot1(vyv264, vyv265, vyv266, vyv267, ty_Int) -> new_quot0(new_sr14(vyv264, vyv265), new_sr14(vyv264, vyv265), new_sr14(vyv266, vyv267)) 248.95/165.40 new_quot1(vyv264, vyv265, vyv266, vyv267, ty_Integer) -> new_quot(new_sr8(vyv264, vyv265), new_sr8(vyv264, vyv265), new_sr8(vyv266, vyv267)) 248.95/165.40 new_quot2(vyv266, vyv267, vyv264, vyv265, ty_Int) -> new_quot0(new_sr14(vyv266, vyv267), new_sr14(vyv264, vyv265), new_sr14(vyv266, vyv267)) 248.95/165.40 new_quot2(vyv266, vyv267, vyv264, vyv265, ty_Integer) -> new_quot(new_sr8(vyv266, vyv267), new_sr8(vyv264, vyv265), new_sr8(vyv266, vyv267)) 248.95/165.40 new_sr8(vyv239, vyv238) -> error([]) 248.95/165.40 new_quot(vyv273, vyv275, vyv274) -> error([]) 248.95/165.40 new_sr14(Pos(vyv2390), Neg(vyv2380)) -> Neg(new_primMulNat0(vyv2390, vyv2380)) 248.95/165.40 new_sr14(Neg(vyv2390), Pos(vyv2380)) -> Neg(new_primMulNat0(vyv2390, vyv2380)) 248.95/165.40 new_sr14(Neg(vyv2390), Neg(vyv2380)) -> Pos(new_primMulNat0(vyv2390, vyv2380)) 248.95/165.40 new_sr14(Pos(vyv2390), Pos(vyv2380)) -> Pos(new_primMulNat0(vyv2390, vyv2380)) 248.95/165.40 new_quot0(Neg(vyv2700), vyv272, vyv271) -> new_primQuotInt0(vyv2700, new_gcd(vyv272, vyv271)) 248.95/165.40 new_quot0(Pos(vyv2700), vyv272, vyv271) -> new_primQuotInt(vyv2700, new_gcd(vyv272, vyv271)) 248.95/165.40 new_gcd(vyv272, vyv271) -> new_gcd2(new_esEs(vyv272), vyv272, vyv271) 248.95/165.40 new_primQuotInt(vyv2700, Pos(Succ(vyv28400))) -> Pos(new_primDivNatS1(vyv2700, vyv28400)) 248.95/165.40 new_primQuotInt(vyv2700, Neg(Zero)) -> new_error 248.95/165.40 new_primQuotInt(vyv2700, Pos(Zero)) -> new_error 248.95/165.40 new_primQuotInt(vyv2700, Neg(Succ(vyv28400))) -> Neg(new_primDivNatS1(vyv2700, vyv28400)) 248.95/165.40 new_primDivNatS1(Succ(Zero), Succ(vyv284000)) -> Zero 248.95/165.40 new_primDivNatS1(Succ(Succ(vyv270000)), Succ(vyv284000)) -> new_primDivNatS02(vyv270000, vyv284000, vyv270000, vyv284000) 248.95/165.40 new_primDivNatS1(Zero, vyv28400) -> Zero 248.95/165.40 new_primDivNatS1(Succ(Succ(vyv270000)), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS0(vyv270000), Zero)) 248.95/165.40 new_primDivNatS1(Succ(Zero), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS1, Zero)) 248.95/165.40 new_primMinusNatS1 -> Zero 248.95/165.40 new_primMinusNatS0(vyv270000) -> Succ(vyv270000) 248.95/165.40 new_primDivNatS02(vyv310, vyv311, Zero, Zero) -> new_primDivNatS01(vyv310, vyv311) 248.95/165.40 new_primDivNatS02(vyv310, vyv311, Succ(vyv3120), Zero) -> new_primDivNatS01(vyv310, vyv311) 248.95/165.40 new_primDivNatS02(vyv310, vyv311, Zero, Succ(vyv3130)) -> Zero 248.95/165.40 new_primDivNatS02(vyv310, vyv311, Succ(vyv3120), Succ(vyv3130)) -> new_primDivNatS02(vyv310, vyv311, vyv3120, vyv3130) 248.95/165.40 new_primDivNatS01(vyv310, vyv311) -> Succ(new_primDivNatS1(new_primMinusNatS2(vyv310, vyv311), Succ(vyv311))) 248.95/165.40 new_primMinusNatS2(Zero, Succ(vyv3110)) -> Zero 248.95/165.40 new_primMinusNatS2(Succ(vyv3100), Zero) -> Succ(vyv3100) 248.95/165.40 new_primMinusNatS2(Zero, Zero) -> Zero 248.95/165.40 new_primMinusNatS2(Succ(vyv3100), Succ(vyv3110)) -> new_primMinusNatS2(vyv3100, vyv3110) 248.95/165.40 new_error -> error([]) 248.95/165.40 new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) 248.95/165.40 new_esEs(Pos(Succ(vyv24100))) -> new_primEqInt(Pos(Succ(vyv24100))) 248.95/165.40 new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) 248.95/165.40 new_esEs(Neg(Succ(vyv24100))) -> new_primEqInt(Neg(Succ(vyv24100))) 248.95/165.40 new_gcd2(True, vyv272, vyv271) -> new_gcd1(new_esEs(vyv271), vyv272, vyv271) 248.95/165.40 new_gcd2(False, vyv272, vyv271) -> new_gcd0(vyv272, vyv271) 248.95/165.40 new_gcd0(vyv272, vyv271) -> new_gcd0Gcd'10(new_esEs(new_abs(vyv271)), vyv272, vyv271) 248.95/165.40 new_abs(Neg(Zero)) -> Neg(Zero) 248.95/165.40 new_abs(Neg(Succ(vyv27100))) -> Pos(Succ(vyv27100)) 248.95/165.40 new_abs(Pos(Succ(vyv27100))) -> Pos(Succ(vyv27100)) 248.95/165.40 new_abs(Pos(Zero)) -> Pos(Zero) 248.95/165.40 new_gcd0Gcd'10(True, vyv272, vyv271) -> new_abs(vyv272) 248.95/165.40 new_gcd0Gcd'10(False, vyv272, vyv271) -> new_gcd0Gcd'00(new_abs(vyv272), new_abs(vyv271)) 248.95/165.40 new_gcd0Gcd'00(vyv292, vyv291) -> new_gcd0Gcd'11(new_esEs(new_rem(vyv292, vyv291)), vyv291, vyv292) 248.95/165.40 new_gcd0Gcd'11(False, vyv291, vyv292) -> new_gcd0Gcd'00(vyv291, new_rem(vyv292, vyv291)) 248.95/165.40 new_rem(Pos(vyv2920), Neg(Zero)) -> new_error 248.95/165.40 new_rem(Neg(vyv2920), Pos(Zero)) -> new_error 248.95/165.40 new_rem(Pos(vyv2920), Neg(Succ(vyv29100))) -> Pos(new_primModNatS1(vyv2920, vyv29100)) 248.95/165.40 new_rem(Neg(vyv2920), Pos(Succ(vyv29100))) -> Neg(new_primModNatS1(vyv2920, vyv29100)) 248.95/165.40 new_rem(Pos(vyv2920), Pos(Succ(vyv29100))) -> Pos(new_primModNatS1(vyv2920, vyv29100)) 248.95/165.40 new_rem(Neg(vyv2920), Neg(Zero)) -> new_error 248.95/165.40 new_rem(Neg(vyv2920), Neg(Succ(vyv29100))) -> Neg(new_primModNatS1(vyv2920, vyv29100)) 248.95/165.40 new_rem(Pos(vyv2920), Pos(Zero)) -> new_error 248.95/165.40 new_gcd0Gcd'11(True, vyv291, vyv292) -> vyv291 248.95/165.40 new_primModNatS1(Succ(Zero), Succ(vyv291000)) -> Succ(Zero) 248.95/165.40 new_primModNatS1(Zero, vyv29100) -> Zero 248.95/165.40 new_primModNatS1(Succ(Succ(vyv292000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv292000), Zero) 248.95/165.40 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 248.95/165.40 new_primModNatS1(Succ(Succ(vyv292000)), Succ(vyv291000)) -> new_primModNatS01(vyv292000, vyv291000, vyv292000, vyv291000) 248.95/165.40 new_primModNatS01(vyv330, vyv331, Zero, Zero) -> new_primModNatS02(vyv330, vyv331) 248.95/165.40 new_primModNatS02(vyv330, vyv331) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv330), Succ(vyv331)), Succ(vyv331)) 248.95/165.40 new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Zero) -> new_primModNatS02(vyv330, vyv331) 248.95/165.40 new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Succ(vyv3330)) -> new_primModNatS01(vyv330, vyv331, vyv3320, vyv3330) 248.95/165.40 new_primModNatS01(vyv330, vyv331, Zero, Succ(vyv3330)) -> Succ(Succ(vyv330)) 248.95/165.40 new_gcd1(True, vyv272, vyv271) -> new_error 248.95/165.40 new_gcd1(False, vyv272, vyv271) -> new_gcd0(vyv272, vyv271) 248.95/165.40 new_primEqInt(Neg(Succ(vyv242000))) -> False 248.95/165.40 new_primEqInt(Pos(Zero)) -> True 248.95/165.40 new_primEqInt(Pos(Succ(vyv242000))) -> False 248.95/165.40 new_primEqInt(Neg(Zero)) -> True 248.95/165.40 new_primQuotInt0(vyv2700, Pos(Succ(vyv28700))) -> Neg(new_primDivNatS1(vyv2700, vyv28700)) 248.95/165.40 new_primQuotInt0(vyv2700, Neg(Zero)) -> new_error 248.95/165.40 new_primQuotInt0(vyv2700, Neg(Succ(vyv28700))) -> Pos(new_primDivNatS1(vyv2700, vyv28700)) 248.95/165.40 new_primQuotInt0(vyv2700, Pos(Zero)) -> new_error 248.95/165.40 new_primMulNat0(Succ(vyv23900), Zero) -> Zero 248.95/165.40 new_primMulNat0(Zero, Succ(vyv23800)) -> Zero 248.95/165.40 new_primMulNat0(Zero, Zero) -> Zero 248.95/165.40 new_primMulNat0(Succ(vyv23900), Succ(vyv23800)) -> new_primPlusNat0(new_primMulNat0(vyv23900, Succ(vyv23800)), Succ(vyv23800)) 248.95/165.40 new_primPlusNat0(Succ(vyv4000), Succ(vyv5000)) -> Succ(Succ(new_primPlusNat0(vyv4000, vyv5000))) 248.95/165.40 new_primPlusNat0(Zero, Succ(vyv5000)) -> Succ(vyv5000) 248.95/165.40 new_primPlusNat0(Zero, Zero) -> Zero 248.95/165.40 new_primPlusNat0(Succ(vyv4000), Zero) -> Succ(vyv4000) 248.95/165.40 new_sr7(vyv183) -> error([]) 248.95/165.40 new_esEs1(Integer(vyv2690)) -> new_primEqInt(vyv2690) 248.95/165.40 new_sr6(Neg(vyv1830)) -> Pos(new_primMulNat1(vyv1830)) 248.95/165.40 new_sr6(Pos(vyv1830)) -> Pos(new_primMulNat1(vyv1830)) 248.95/165.40 new_primMulNat1(Succ(vyv18300)) -> new_primPlusNat0(new_primMulNat2(vyv18300), Succ(vyv18300)) 248.95/165.40 new_primMulNat1(Zero) -> Zero 248.95/165.40 new_primMulNat2(Succ(vyv183000)) -> new_primPlusNat0(new_primMulNat3(vyv183000), Succ(Succ(vyv183000))) 248.95/165.40 new_primMulNat2(Zero) -> Zero 248.95/165.40 new_primMulNat3(Succ(vyv1830000)) -> new_primPlusNat0(new_primMulNat4(vyv1830000), Succ(Succ(Succ(vyv1830000)))) 248.95/165.40 new_primMulNat3(Zero) -> Zero 248.95/165.40 new_primMulNat4(Succ(vyv18300000)) -> new_primPlusNat0(new_primMulNat0(vyv18300000, Succ(Succ(Succ(Succ(vyv18300000))))), Succ(Succ(Succ(Succ(vyv18300000))))) 248.95/165.40 new_primMulNat4(Zero) -> Zero 248.95/165.40 new_sr9(vyv183) -> error([]) 248.95/165.40 new_sr10(vyv183) -> error([]) 248.95/165.40 new_sr4(vyv239, vyv238, app(ty_Ratio, bf)) -> new_sr12(vyv239, vyv238, bf) 248.95/165.40 new_sr4(vyv239, vyv238, ty_Integer) -> new_sr8(vyv239, vyv238) 248.95/165.40 new_sr4(vyv239, vyv238, ty_Int) -> new_sr14(vyv239, vyv238) 248.95/165.40 new_sr4(vyv239, vyv238, ty_Double) -> new_sr11(vyv239, vyv238) 248.95/165.40 new_sr4(vyv239, vyv238, ty_Float) -> new_sr13(vyv239, vyv238) 248.95/165.40 new_sr13(vyv239, vyv238) -> error([]) 248.95/165.40 new_sr11(vyv239, vyv238) -> error([]) 248.95/165.40 new_sr12(:%(vyv2390, vyv2391), :%(vyv2380, vyv2381), bf) -> new_reduce2Reduce1(vyv2390, vyv2380, vyv2391, vyv2381, new_esEs2(vyv2391, vyv2381, bf), bf) 248.95/165.40 new_esEs2(vyv2391, vyv2381, ty_Int) -> new_esEs(new_sr14(vyv2391, vyv2381)) 248.95/165.40 new_esEs2(vyv2391, vyv2381, ty_Integer) -> new_esEs1(new_sr8(vyv2391, vyv2381)) 248.95/165.40 248.95/165.40 The set Q consists of the following terms: 248.95/165.40 248.95/165.40 new_rem(Pos(x0), Pos(Succ(x1))) 248.95/165.40 new_quot1(x0, x1, x2, x3, ty_Integer) 248.95/165.40 new_primModNatS1(Succ(Zero), Succ(x0)) 248.95/165.40 new_primMulNat4(Zero) 248.95/165.40 new_gcd1(False, x0, x1) 248.95/165.40 new_primEqInt(Pos(Zero)) 248.95/165.40 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 248.95/165.40 new_rem(Pos(x0), Neg(Succ(x1))) 248.95/165.40 new_rem(Neg(x0), Pos(Succ(x1))) 248.95/165.40 new_sr10(x0) 248.95/165.40 new_quot1(x0, x1, x2, x3, ty_Int) 248.95/165.40 new_quot2(x0, x1, x2, x3, ty_Integer) 248.95/165.40 new_primModNatS01(x0, x1, Succ(x2), Zero) 248.95/165.40 new_sr3(x0, ty_Integer) 248.95/165.40 new_primMulNat3(Zero) 248.95/165.40 new_primDivNatS02(x0, x1, Succ(x2), Zero) 248.95/165.40 new_quot2(x0, x1, x2, x3, ty_Int) 248.95/165.40 new_gcd2(False, x0, x1) 248.95/165.40 new_primDivNatS1(Succ(Zero), Zero) 248.95/165.40 new_esEs0(x0, ty_Int) 248.95/165.40 new_sr14(Pos(x0), Pos(x1)) 248.95/165.40 new_sr3(x0, ty_Int) 248.95/165.40 new_primMulNat0(Zero, Zero) 248.95/165.40 new_sr4(x0, x1, ty_Double) 248.95/165.40 new_primPlusNat0(Succ(x0), Zero) 248.95/165.40 new_primMulNat2(Zero) 248.95/165.40 new_sr11(x0, x1) 248.95/165.40 new_primModNatS01(x0, x1, Zero, Zero) 248.95/165.40 new_esEs2(x0, x1, ty_Int) 248.95/165.40 new_gcd1(True, x0, x1) 248.95/165.40 new_sr13(x0, x1) 248.95/165.40 new_sr14(Pos(x0), Neg(x1)) 248.95/165.40 new_sr14(Neg(x0), Pos(x1)) 248.95/165.40 new_primDivNatS1(Succ(Succ(x0)), Succ(x1)) 248.95/165.40 new_primModNatS1(Zero, x0) 248.95/165.40 new_esEs(Pos(Succ(x0))) 248.95/165.40 new_primMulNat3(Succ(x0)) 248.95/165.40 new_primQuotInt(x0, Neg(Succ(x1))) 248.95/165.40 new_reduce2Reduce1(x0, x1, x2, x3, False, x4) 248.95/165.40 new_primDivNatS1(Zero, x0) 248.95/165.40 new_primDivNatS02(x0, x1, Succ(x2), Succ(x3)) 248.95/165.40 new_primModNatS02(x0, x1) 248.95/165.40 new_primDivNatS1(Succ(Zero), Succ(x0)) 248.95/165.40 new_sr6(Neg(x0)) 248.95/165.40 new_gcd0Gcd'10(True, x0, x1) 248.95/165.40 new_primMulNat0(Succ(x0), Succ(x1)) 248.95/165.40 new_abs(Neg(Zero)) 248.95/165.40 new_rem(Pos(x0), Neg(Zero)) 248.95/165.40 new_rem(Neg(x0), Pos(Zero)) 248.95/165.40 new_primMinusNatS2(Zero, Succ(x0)) 248.95/165.40 new_esEs(Neg(Succ(x0))) 248.95/165.40 new_error 248.95/165.40 new_primModNatS1(Succ(Zero), Zero) 248.95/165.40 new_primMulNat0(Zero, Succ(x0)) 248.95/165.40 new_sr3(x0, ty_Float) 248.95/165.40 new_quot(x0, x1, x2) 248.95/165.40 new_gcd2(True, x0, x1) 248.95/165.40 new_gcd0Gcd'11(True, x0, x1) 248.95/165.40 new_primEqInt(Neg(Zero)) 248.95/165.40 new_primMulNat0(Succ(x0), Zero) 248.95/165.40 new_quot0(Neg(x0), x1, x2) 248.95/165.40 new_primMinusNatS2(Succ(x0), Succ(x1)) 248.95/165.40 new_sr4(x0, x1, app(ty_Ratio, x2)) 248.95/165.40 new_sr8(x0, x1) 248.95/165.40 new_primDivNatS01(x0, x1) 248.95/165.40 new_primDivNatS02(x0, x1, Zero, Succ(x2)) 248.95/165.40 new_primPlusNat0(Succ(x0), Succ(x1)) 248.95/165.40 new_primPlusNat0(Zero, Zero) 248.95/165.40 new_sr12(:%(x0, x1), :%(x2, x3), x4) 248.95/165.40 new_abs(Neg(Succ(x0))) 248.95/165.40 new_sr3(x0, app(ty_Ratio, x1)) 248.95/165.40 new_sr7(x0) 248.95/165.40 new_gcd0(x0, x1) 248.95/165.40 new_primQuotInt0(x0, Pos(Succ(x1))) 248.95/165.40 new_sr4(x0, x1, ty_Integer) 248.95/165.40 new_sr5(:%(x0, x1), x2) 248.95/165.40 new_primMinusNatS2(Zero, Zero) 248.95/165.40 new_primMulNat1(Succ(x0)) 248.95/165.40 new_abs(Pos(Succ(x0))) 248.95/165.40 new_sr4(x0, x1, ty_Int) 248.95/165.40 new_esEs(Pos(Zero)) 248.95/165.40 new_primQuotInt0(x0, Pos(Zero)) 248.95/165.40 new_primEqInt(Neg(Succ(x0))) 248.95/165.40 new_primQuotInt(x0, Neg(Zero)) 248.95/165.40 new_primQuotInt0(x0, Neg(Zero)) 248.95/165.40 new_primQuotInt0(x0, Neg(Succ(x1))) 248.95/165.40 new_gcd(x0, x1) 248.95/165.40 new_quot0(Pos(x0), x1, x2) 248.95/165.40 new_primMinusNatS0(x0) 248.95/165.40 new_primPlusNat0(Zero, Succ(x0)) 248.95/165.40 new_primQuotInt(x0, Pos(Succ(x1))) 248.95/165.40 new_primDivNatS1(Succ(Succ(x0)), Zero) 248.95/165.40 new_rem(Pos(x0), Pos(Zero)) 248.95/165.40 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 248.95/165.40 new_primDivNatS02(x0, x1, Zero, Zero) 248.95/165.40 new_abs(Pos(Zero)) 248.95/165.40 new_gcd0Gcd'10(False, x0, x1) 248.95/165.40 new_primMinusNatS1 248.95/165.40 new_esEs1(Integer(x0)) 248.95/165.40 new_primModNatS01(x0, x1, Zero, Succ(x2)) 248.95/165.40 new_primMulNat2(Succ(x0)) 248.95/165.40 new_sr14(Neg(x0), Neg(x1)) 248.95/165.40 new_primMinusNatS2(Succ(x0), Zero) 248.95/165.40 new_sr4(x0, x1, ty_Float) 248.95/165.40 new_sr6(Pos(x0)) 248.95/165.40 new_esEs2(x0, x1, ty_Integer) 248.95/165.40 new_primMulNat4(Succ(x0)) 248.95/165.40 new_rem(Neg(x0), Neg(Succ(x1))) 248.95/165.40 new_primEqInt(Pos(Succ(x0))) 248.95/165.40 new_primQuotInt(x0, Pos(Zero)) 248.95/165.40 new_gcd0Gcd'11(False, x0, x1) 248.95/165.40 new_sr9(x0) 248.95/165.40 new_primModNatS1(Succ(Succ(x0)), Zero) 248.95/165.40 new_esEs0(x0, ty_Integer) 248.95/165.40 new_gcd0Gcd'00(x0, x1) 248.95/165.40 new_reduce2Reduce1(x0, x1, x2, x3, True, x4) 248.95/165.40 new_sr3(x0, ty_Double) 248.95/165.40 new_esEs(Neg(Zero)) 248.95/165.40 new_primMulNat1(Zero) 248.95/165.40 new_rem(Neg(x0), Neg(Zero)) 248.95/165.40 new_new_pr2F0G10(Succ(Succ(x0))) 248.95/165.40 new_new_pr2F0G10(Succ(Zero)) 248.95/165.40 new_new_pr2F0G10(Zero) 248.95/165.40 248.95/165.40 We have to consider all minimal (P,Q,R)-chains. 248.95/165.40 ---------------------------------------- 248.95/165.40 248.95/165.40 (873) TransformationProof (EQUIVALENT) 248.95/165.40 By narrowing [LPAR04] the rule new_pr2F0(y0, Neg(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(x0))))))))), y2, y3) -> H(y2, y0, Succ(Succ(Succ(Succ(Succ(Succ(Succ(x0))))))), y3, new_new_pr2F0G10(x0)) at position [4] we obtained the following new rules [LPAR04]: 248.95/165.40 248.95/165.40 (new_pr2F0(y0, Neg(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(x0))))))))))), y2, y3) -> H(y2, y0, Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(x0))))))))), y3, new_new_pr2F0G10(x0)),new_pr2F0(y0, Neg(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(x0))))))))))), y2, y3) -> H(y2, y0, Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(x0))))))))), y3, new_new_pr2F0G10(x0))) 248.95/165.40 (new_pr2F0(y0, Neg(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))))))), y2, y3) -> H(y2, y0, Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))))), y3, cons_new_pr2F0G10(Succ(Zero))),new_pr2F0(y0, Neg(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))))))), y2, y3) -> H(y2, y0, Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))))), y3, cons_new_pr2F0G10(Succ(Zero)))) 248.95/165.40 (new_pr2F0(y0, Neg(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero))))))))), y2, y3) -> H(y2, y0, Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero))))))), y3, cons_new_pr2F0G10(Zero)),new_pr2F0(y0, Neg(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero))))))))), y2, y3) -> H(y2, y0, Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero))))))), y3, cons_new_pr2F0G10(Zero))) 248.95/165.40 248.95/165.40 248.95/165.40 ---------------------------------------- 248.95/165.40 248.95/165.40 (874) 248.95/165.40 Obligation: 248.95/165.40 Q DP problem: 248.95/165.40 The TRS P consists of the following rules: 248.95/165.40 248.95/165.40 new_pr2F0(vyv183, Neg(Succ(Succ(vyv222000))), vyv187, h) -> new_pr2F0G10(vyv187, vyv183, Succ(vyv222000), vyv222000, h) 248.95/165.40 new_pr2F0G10(vyv248, vyv249, vyv250, Succ(Zero), bb) -> new_pr2F0G11(vyv248, vyv249, vyv250, bb) 248.95/165.40 new_pr2F0G11(vyv238, vyv239, vyv240, bc) -> new_pr2F1(vyv239, vyv240, Pos(Succ(Zero)), vyv238, bc) 248.95/165.40 new_pr2F1(z1, z2, Pos(Succ(Zero)), z0, z3) -> new_pr2F30(False, z1, z2, Pos(Succ(Zero)), z0, z3) 248.95/165.40 new_pr2F30(False, z0, z1, Pos(Succ(Zero)), z2, z3) -> new_pr2F0(z0, Neg(Succ(Succ(new_primPlusNat0(z1, Zero)))), new_sr4(z0, z2, z3), z3) 248.95/165.40 H(vyv248, vyv249, vyv250, bb, cons_new_pr2F0G10(Succ(Zero))) -> new_pr2F0G10(vyv248, vyv249, vyv250, Succ(Zero), bb) 248.95/165.40 H(vyv248, vyv249, vyv250, bb, cons_new_pr2F0G10(Zero)) -> new_pr2F0G10(vyv248, vyv249, vyv250, Zero, bb) 248.95/165.40 new_pr2F0G(vyv187, vyv183, Neg(Succ(Zero)), h) -> new_pr2F0G11(vyv187, vyv183, Zero, h) 248.95/165.40 new_pr2F0G(vyv187, vyv183, Neg(Succ(Succ(vyv222000))), h) -> new_pr2F0G10(vyv187, vyv183, Succ(vyv222000), vyv222000, h) 248.95/165.40 new_pr2F0G10(y0, y1, Succ(Zero), Zero, y3) -> new_pr2F0G(y0, new_sr3(y1, y3), Neg(Succ(Zero)), y3) 248.95/165.40 new_pr2F0(y0, Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), y2, y3) -> H(y2, y0, Succ(Succ(Succ(Succ(Zero)))), y3, cons_new_pr2F0G10(Succ(Zero))) 248.95/165.40 new_pr2F0(y0, Neg(Succ(Succ(Succ(Succ(Zero))))), y2, y3) -> H(y2, y0, Succ(Succ(Succ(Zero))), y3, cons_new_pr2F0G10(Zero)) 248.95/165.40 new_pr2F0G10(y0, y1, Succ(Succ(Zero)), Zero, y3) -> new_pr2F0G(y0, new_sr3(y1, y3), Neg(Succ(Zero)), y3) 248.95/165.40 new_pr2F0G(y0, y1, Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), y3) -> H(y0, y1, Succ(Succ(Succ(Succ(Zero)))), y3, cons_new_pr2F0G10(Succ(Zero))) 248.95/165.40 new_pr2F0G(y0, y1, Neg(Succ(Succ(Succ(Succ(Zero))))), y3) -> H(y0, y1, Succ(Succ(Succ(Zero))), y3, cons_new_pr2F0G10(Zero)) 248.95/165.40 new_pr2F0(y0, Neg(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))))), y2, y3) -> H(y2, y0, Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))), y3, cons_new_pr2F0G10(Succ(Zero))) 248.95/165.40 new_pr2F0(y0, Neg(Succ(Succ(Succ(Succ(Succ(Succ(Zero))))))), y2, y3) -> H(y2, y0, Succ(Succ(Succ(Succ(Succ(Zero))))), y3, cons_new_pr2F0G10(Zero)) 248.95/165.40 new_pr2F0G10(y0, y1, Succ(Succ(Succ(Succ(x2)))), Zero, y3) -> new_pr2F0G(y0, new_sr3(y1, y3), Neg(Succ(Succ(new_primDivNatS1(Succ(x2), Succ(Zero))))), y3) 248.95/165.40 new_pr2F0G10(y0, y1, Succ(Succ(Succ(Zero))), Zero, y3) -> new_pr2F0G(y0, new_sr3(y1, y3), Neg(Succ(Succ(Zero))), y3) 248.95/165.40 new_pr2F0G(y0, y1, Neg(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(x0))))))))), y3) -> H(y0, y1, Succ(Succ(Succ(Succ(Succ(Succ(Succ(x0))))))), y3, new_new_pr2F0G10(x0)) 248.95/165.40 new_pr2F0G(y0, y1, Neg(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))))), y3) -> H(y0, y1, Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))), y3, cons_new_pr2F0G10(Succ(Zero))) 248.95/165.40 new_pr2F0G(y0, y1, Neg(Succ(Succ(Succ(Succ(Succ(Succ(Zero))))))), y3) -> H(y0, y1, Succ(Succ(Succ(Succ(Succ(Zero))))), y3, cons_new_pr2F0G10(Zero)) 248.95/165.40 new_pr2F0(y0, Neg(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(x0))))))))))), y2, y3) -> H(y2, y0, Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(x0))))))))), y3, new_new_pr2F0G10(x0)) 248.95/165.40 new_pr2F0(y0, Neg(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))))))), y2, y3) -> H(y2, y0, Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))))), y3, cons_new_pr2F0G10(Succ(Zero))) 248.95/165.40 new_pr2F0(y0, Neg(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero))))))))), y2, y3) -> H(y2, y0, Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero))))))), y3, cons_new_pr2F0G10(Zero)) 248.95/165.40 248.95/165.40 The TRS R consists of the following rules: 248.95/165.40 248.95/165.40 new_new_pr2F0G10(Succ(Succ(vyv25100))) -> new_new_pr2F0G10(vyv25100) 248.95/165.40 new_new_pr2F0G10(Succ(Zero)) -> cons_new_pr2F0G10(Succ(Zero)) 248.95/165.40 new_new_pr2F0G10(Zero) -> cons_new_pr2F0G10(Zero) 248.95/165.40 new_sr3(vyv249, ty_Float) -> new_sr10(vyv249) 248.95/165.40 new_sr3(vyv249, ty_Double) -> new_sr9(vyv249) 248.95/165.40 new_sr3(vyv249, ty_Int) -> new_sr6(vyv249) 248.95/165.40 new_sr3(vyv249, ty_Integer) -> new_sr7(vyv249) 248.95/165.40 new_sr3(vyv249, app(ty_Ratio, bg)) -> new_sr5(vyv249, bg) 248.95/165.40 new_sr5(:%(vyv1830, vyv1831), bd) -> new_reduce2Reduce1(vyv1830, vyv1830, vyv1831, vyv1831, new_esEs0(vyv1831, bd), bd) 248.95/165.40 new_esEs0(vyv1831, ty_Int) -> new_esEs(new_sr6(vyv1831)) 248.95/165.40 new_esEs0(vyv1831, ty_Integer) -> new_esEs1(new_sr7(vyv1831)) 248.95/165.40 new_reduce2Reduce1(vyv264, vyv265, vyv266, vyv267, False, bh) -> :%(new_quot1(vyv264, vyv265, vyv266, vyv267, bh), new_quot2(vyv266, vyv267, vyv264, vyv265, bh)) 248.95/165.40 new_reduce2Reduce1(vyv264, vyv265, vyv266, vyv267, True, bh) -> error([]) 248.95/165.40 new_quot1(vyv264, vyv265, vyv266, vyv267, ty_Int) -> new_quot0(new_sr14(vyv264, vyv265), new_sr14(vyv264, vyv265), new_sr14(vyv266, vyv267)) 248.95/165.40 new_quot1(vyv264, vyv265, vyv266, vyv267, ty_Integer) -> new_quot(new_sr8(vyv264, vyv265), new_sr8(vyv264, vyv265), new_sr8(vyv266, vyv267)) 248.95/165.40 new_quot2(vyv266, vyv267, vyv264, vyv265, ty_Int) -> new_quot0(new_sr14(vyv266, vyv267), new_sr14(vyv264, vyv265), new_sr14(vyv266, vyv267)) 248.95/165.40 new_quot2(vyv266, vyv267, vyv264, vyv265, ty_Integer) -> new_quot(new_sr8(vyv266, vyv267), new_sr8(vyv264, vyv265), new_sr8(vyv266, vyv267)) 248.95/165.40 new_sr8(vyv239, vyv238) -> error([]) 248.95/165.40 new_quot(vyv273, vyv275, vyv274) -> error([]) 248.95/165.40 new_sr14(Pos(vyv2390), Neg(vyv2380)) -> Neg(new_primMulNat0(vyv2390, vyv2380)) 248.95/165.40 new_sr14(Neg(vyv2390), Pos(vyv2380)) -> Neg(new_primMulNat0(vyv2390, vyv2380)) 248.95/165.40 new_sr14(Neg(vyv2390), Neg(vyv2380)) -> Pos(new_primMulNat0(vyv2390, vyv2380)) 248.95/165.40 new_sr14(Pos(vyv2390), Pos(vyv2380)) -> Pos(new_primMulNat0(vyv2390, vyv2380)) 248.95/165.40 new_quot0(Neg(vyv2700), vyv272, vyv271) -> new_primQuotInt0(vyv2700, new_gcd(vyv272, vyv271)) 248.95/165.40 new_quot0(Pos(vyv2700), vyv272, vyv271) -> new_primQuotInt(vyv2700, new_gcd(vyv272, vyv271)) 248.95/165.40 new_gcd(vyv272, vyv271) -> new_gcd2(new_esEs(vyv272), vyv272, vyv271) 248.95/165.40 new_primQuotInt(vyv2700, Pos(Succ(vyv28400))) -> Pos(new_primDivNatS1(vyv2700, vyv28400)) 248.95/165.40 new_primQuotInt(vyv2700, Neg(Zero)) -> new_error 248.95/165.40 new_primQuotInt(vyv2700, Pos(Zero)) -> new_error 248.95/165.40 new_primQuotInt(vyv2700, Neg(Succ(vyv28400))) -> Neg(new_primDivNatS1(vyv2700, vyv28400)) 248.95/165.40 new_primDivNatS1(Succ(Zero), Succ(vyv284000)) -> Zero 248.95/165.40 new_primDivNatS1(Succ(Succ(vyv270000)), Succ(vyv284000)) -> new_primDivNatS02(vyv270000, vyv284000, vyv270000, vyv284000) 248.95/165.40 new_primDivNatS1(Zero, vyv28400) -> Zero 248.95/165.40 new_primDivNatS1(Succ(Succ(vyv270000)), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS0(vyv270000), Zero)) 248.95/165.40 new_primDivNatS1(Succ(Zero), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS1, Zero)) 248.95/165.40 new_primMinusNatS1 -> Zero 248.95/165.40 new_primMinusNatS0(vyv270000) -> Succ(vyv270000) 248.95/165.40 new_primDivNatS02(vyv310, vyv311, Zero, Zero) -> new_primDivNatS01(vyv310, vyv311) 248.95/165.40 new_primDivNatS02(vyv310, vyv311, Succ(vyv3120), Zero) -> new_primDivNatS01(vyv310, vyv311) 248.95/165.40 new_primDivNatS02(vyv310, vyv311, Zero, Succ(vyv3130)) -> Zero 248.95/165.40 new_primDivNatS02(vyv310, vyv311, Succ(vyv3120), Succ(vyv3130)) -> new_primDivNatS02(vyv310, vyv311, vyv3120, vyv3130) 248.95/165.40 new_primDivNatS01(vyv310, vyv311) -> Succ(new_primDivNatS1(new_primMinusNatS2(vyv310, vyv311), Succ(vyv311))) 248.95/165.40 new_primMinusNatS2(Zero, Succ(vyv3110)) -> Zero 248.95/165.40 new_primMinusNatS2(Succ(vyv3100), Zero) -> Succ(vyv3100) 248.95/165.40 new_primMinusNatS2(Zero, Zero) -> Zero 248.95/165.40 new_primMinusNatS2(Succ(vyv3100), Succ(vyv3110)) -> new_primMinusNatS2(vyv3100, vyv3110) 248.95/165.40 new_error -> error([]) 248.95/165.40 new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) 248.95/165.40 new_esEs(Pos(Succ(vyv24100))) -> new_primEqInt(Pos(Succ(vyv24100))) 248.95/165.40 new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) 248.95/165.40 new_esEs(Neg(Succ(vyv24100))) -> new_primEqInt(Neg(Succ(vyv24100))) 248.95/165.40 new_gcd2(True, vyv272, vyv271) -> new_gcd1(new_esEs(vyv271), vyv272, vyv271) 248.95/165.40 new_gcd2(False, vyv272, vyv271) -> new_gcd0(vyv272, vyv271) 248.95/165.40 new_gcd0(vyv272, vyv271) -> new_gcd0Gcd'10(new_esEs(new_abs(vyv271)), vyv272, vyv271) 248.95/165.40 new_abs(Neg(Zero)) -> Neg(Zero) 248.95/165.40 new_abs(Neg(Succ(vyv27100))) -> Pos(Succ(vyv27100)) 248.95/165.40 new_abs(Pos(Succ(vyv27100))) -> Pos(Succ(vyv27100)) 248.95/165.40 new_abs(Pos(Zero)) -> Pos(Zero) 248.95/165.40 new_gcd0Gcd'10(True, vyv272, vyv271) -> new_abs(vyv272) 248.95/165.40 new_gcd0Gcd'10(False, vyv272, vyv271) -> new_gcd0Gcd'00(new_abs(vyv272), new_abs(vyv271)) 248.95/165.40 new_gcd0Gcd'00(vyv292, vyv291) -> new_gcd0Gcd'11(new_esEs(new_rem(vyv292, vyv291)), vyv291, vyv292) 248.95/165.40 new_gcd0Gcd'11(False, vyv291, vyv292) -> new_gcd0Gcd'00(vyv291, new_rem(vyv292, vyv291)) 248.95/165.40 new_rem(Pos(vyv2920), Neg(Zero)) -> new_error 248.95/165.40 new_rem(Neg(vyv2920), Pos(Zero)) -> new_error 248.95/165.40 new_rem(Pos(vyv2920), Neg(Succ(vyv29100))) -> Pos(new_primModNatS1(vyv2920, vyv29100)) 248.95/165.40 new_rem(Neg(vyv2920), Pos(Succ(vyv29100))) -> Neg(new_primModNatS1(vyv2920, vyv29100)) 248.95/165.40 new_rem(Pos(vyv2920), Pos(Succ(vyv29100))) -> Pos(new_primModNatS1(vyv2920, vyv29100)) 248.95/165.40 new_rem(Neg(vyv2920), Neg(Zero)) -> new_error 248.95/165.40 new_rem(Neg(vyv2920), Neg(Succ(vyv29100))) -> Neg(new_primModNatS1(vyv2920, vyv29100)) 248.95/165.40 new_rem(Pos(vyv2920), Pos(Zero)) -> new_error 248.95/165.40 new_gcd0Gcd'11(True, vyv291, vyv292) -> vyv291 248.95/165.40 new_primModNatS1(Succ(Zero), Succ(vyv291000)) -> Succ(Zero) 248.95/165.40 new_primModNatS1(Zero, vyv29100) -> Zero 248.95/165.40 new_primModNatS1(Succ(Succ(vyv292000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv292000), Zero) 248.95/165.40 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 248.95/165.40 new_primModNatS1(Succ(Succ(vyv292000)), Succ(vyv291000)) -> new_primModNatS01(vyv292000, vyv291000, vyv292000, vyv291000) 248.95/165.40 new_primModNatS01(vyv330, vyv331, Zero, Zero) -> new_primModNatS02(vyv330, vyv331) 248.95/165.40 new_primModNatS02(vyv330, vyv331) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv330), Succ(vyv331)), Succ(vyv331)) 248.95/165.40 new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Zero) -> new_primModNatS02(vyv330, vyv331) 248.95/165.40 new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Succ(vyv3330)) -> new_primModNatS01(vyv330, vyv331, vyv3320, vyv3330) 248.95/165.40 new_primModNatS01(vyv330, vyv331, Zero, Succ(vyv3330)) -> Succ(Succ(vyv330)) 248.95/165.40 new_gcd1(True, vyv272, vyv271) -> new_error 248.95/165.40 new_gcd1(False, vyv272, vyv271) -> new_gcd0(vyv272, vyv271) 248.95/165.40 new_primEqInt(Neg(Succ(vyv242000))) -> False 248.95/165.40 new_primEqInt(Pos(Zero)) -> True 248.95/165.40 new_primEqInt(Pos(Succ(vyv242000))) -> False 248.95/165.40 new_primEqInt(Neg(Zero)) -> True 248.95/165.40 new_primQuotInt0(vyv2700, Pos(Succ(vyv28700))) -> Neg(new_primDivNatS1(vyv2700, vyv28700)) 248.95/165.40 new_primQuotInt0(vyv2700, Neg(Zero)) -> new_error 248.95/165.40 new_primQuotInt0(vyv2700, Neg(Succ(vyv28700))) -> Pos(new_primDivNatS1(vyv2700, vyv28700)) 248.95/165.40 new_primQuotInt0(vyv2700, Pos(Zero)) -> new_error 248.95/165.40 new_primMulNat0(Succ(vyv23900), Zero) -> Zero 248.95/165.40 new_primMulNat0(Zero, Succ(vyv23800)) -> Zero 248.95/165.40 new_primMulNat0(Zero, Zero) -> Zero 248.95/165.40 new_primMulNat0(Succ(vyv23900), Succ(vyv23800)) -> new_primPlusNat0(new_primMulNat0(vyv23900, Succ(vyv23800)), Succ(vyv23800)) 248.95/165.40 new_primPlusNat0(Succ(vyv4000), Succ(vyv5000)) -> Succ(Succ(new_primPlusNat0(vyv4000, vyv5000))) 248.95/165.40 new_primPlusNat0(Zero, Succ(vyv5000)) -> Succ(vyv5000) 248.95/165.40 new_primPlusNat0(Zero, Zero) -> Zero 248.95/165.40 new_primPlusNat0(Succ(vyv4000), Zero) -> Succ(vyv4000) 248.95/165.40 new_sr7(vyv183) -> error([]) 248.95/165.40 new_esEs1(Integer(vyv2690)) -> new_primEqInt(vyv2690) 248.95/165.40 new_sr6(Neg(vyv1830)) -> Pos(new_primMulNat1(vyv1830)) 248.95/165.40 new_sr6(Pos(vyv1830)) -> Pos(new_primMulNat1(vyv1830)) 248.95/165.40 new_primMulNat1(Succ(vyv18300)) -> new_primPlusNat0(new_primMulNat2(vyv18300), Succ(vyv18300)) 248.95/165.40 new_primMulNat1(Zero) -> Zero 248.95/165.40 new_primMulNat2(Succ(vyv183000)) -> new_primPlusNat0(new_primMulNat3(vyv183000), Succ(Succ(vyv183000))) 248.95/165.40 new_primMulNat2(Zero) -> Zero 248.95/165.40 new_primMulNat3(Succ(vyv1830000)) -> new_primPlusNat0(new_primMulNat4(vyv1830000), Succ(Succ(Succ(vyv1830000)))) 248.95/165.40 new_primMulNat3(Zero) -> Zero 248.95/165.40 new_primMulNat4(Succ(vyv18300000)) -> new_primPlusNat0(new_primMulNat0(vyv18300000, Succ(Succ(Succ(Succ(vyv18300000))))), Succ(Succ(Succ(Succ(vyv18300000))))) 248.95/165.40 new_primMulNat4(Zero) -> Zero 248.95/165.40 new_sr9(vyv183) -> error([]) 248.95/165.40 new_sr10(vyv183) -> error([]) 248.95/165.40 new_sr4(vyv239, vyv238, app(ty_Ratio, bf)) -> new_sr12(vyv239, vyv238, bf) 248.95/165.40 new_sr4(vyv239, vyv238, ty_Integer) -> new_sr8(vyv239, vyv238) 248.95/165.40 new_sr4(vyv239, vyv238, ty_Int) -> new_sr14(vyv239, vyv238) 248.95/165.40 new_sr4(vyv239, vyv238, ty_Double) -> new_sr11(vyv239, vyv238) 248.95/165.40 new_sr4(vyv239, vyv238, ty_Float) -> new_sr13(vyv239, vyv238) 248.95/165.40 new_sr13(vyv239, vyv238) -> error([]) 248.95/165.40 new_sr11(vyv239, vyv238) -> error([]) 248.95/165.40 new_sr12(:%(vyv2390, vyv2391), :%(vyv2380, vyv2381), bf) -> new_reduce2Reduce1(vyv2390, vyv2380, vyv2391, vyv2381, new_esEs2(vyv2391, vyv2381, bf), bf) 248.95/165.40 new_esEs2(vyv2391, vyv2381, ty_Int) -> new_esEs(new_sr14(vyv2391, vyv2381)) 248.95/165.40 new_esEs2(vyv2391, vyv2381, ty_Integer) -> new_esEs1(new_sr8(vyv2391, vyv2381)) 248.95/165.40 248.95/165.40 The set Q consists of the following terms: 248.95/165.40 248.95/165.40 new_rem(Pos(x0), Pos(Succ(x1))) 248.95/165.40 new_quot1(x0, x1, x2, x3, ty_Integer) 248.95/165.40 new_primModNatS1(Succ(Zero), Succ(x0)) 248.95/165.40 new_primMulNat4(Zero) 248.95/165.40 new_gcd1(False, x0, x1) 248.95/165.40 new_primEqInt(Pos(Zero)) 248.95/165.40 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 248.95/165.40 new_rem(Pos(x0), Neg(Succ(x1))) 248.95/165.40 new_rem(Neg(x0), Pos(Succ(x1))) 248.95/165.40 new_sr10(x0) 248.95/165.40 new_quot1(x0, x1, x2, x3, ty_Int) 248.95/165.40 new_quot2(x0, x1, x2, x3, ty_Integer) 248.95/165.40 new_primModNatS01(x0, x1, Succ(x2), Zero) 248.95/165.40 new_sr3(x0, ty_Integer) 248.95/165.40 new_primMulNat3(Zero) 248.95/165.40 new_primDivNatS02(x0, x1, Succ(x2), Zero) 248.95/165.40 new_quot2(x0, x1, x2, x3, ty_Int) 248.95/165.40 new_gcd2(False, x0, x1) 248.95/165.40 new_primDivNatS1(Succ(Zero), Zero) 248.95/165.40 new_esEs0(x0, ty_Int) 248.95/165.40 new_sr14(Pos(x0), Pos(x1)) 248.95/165.40 new_sr3(x0, ty_Int) 248.95/165.40 new_primMulNat0(Zero, Zero) 248.95/165.40 new_sr4(x0, x1, ty_Double) 248.95/165.40 new_primPlusNat0(Succ(x0), Zero) 248.95/165.40 new_primMulNat2(Zero) 248.95/165.40 new_sr11(x0, x1) 248.95/165.40 new_primModNatS01(x0, x1, Zero, Zero) 248.95/165.40 new_esEs2(x0, x1, ty_Int) 248.95/165.40 new_gcd1(True, x0, x1) 248.95/165.40 new_sr13(x0, x1) 248.95/165.40 new_sr14(Pos(x0), Neg(x1)) 248.95/165.40 new_sr14(Neg(x0), Pos(x1)) 248.95/165.40 new_primDivNatS1(Succ(Succ(x0)), Succ(x1)) 248.95/165.40 new_primModNatS1(Zero, x0) 248.95/165.40 new_esEs(Pos(Succ(x0))) 248.95/165.40 new_primMulNat3(Succ(x0)) 248.95/165.40 new_primQuotInt(x0, Neg(Succ(x1))) 248.95/165.40 new_reduce2Reduce1(x0, x1, x2, x3, False, x4) 248.95/165.40 new_primDivNatS1(Zero, x0) 248.95/165.40 new_primDivNatS02(x0, x1, Succ(x2), Succ(x3)) 248.95/165.40 new_primModNatS02(x0, x1) 248.95/165.40 new_primDivNatS1(Succ(Zero), Succ(x0)) 248.95/165.40 new_sr6(Neg(x0)) 248.95/165.40 new_gcd0Gcd'10(True, x0, x1) 248.95/165.40 new_primMulNat0(Succ(x0), Succ(x1)) 248.95/165.40 new_abs(Neg(Zero)) 248.95/165.40 new_rem(Pos(x0), Neg(Zero)) 248.95/165.40 new_rem(Neg(x0), Pos(Zero)) 248.95/165.40 new_primMinusNatS2(Zero, Succ(x0)) 248.95/165.40 new_esEs(Neg(Succ(x0))) 248.95/165.40 new_error 248.95/165.40 new_primModNatS1(Succ(Zero), Zero) 248.95/165.40 new_primMulNat0(Zero, Succ(x0)) 248.95/165.40 new_sr3(x0, ty_Float) 248.95/165.40 new_quot(x0, x1, x2) 248.95/165.40 new_gcd2(True, x0, x1) 248.95/165.40 new_gcd0Gcd'11(True, x0, x1) 248.95/165.40 new_primEqInt(Neg(Zero)) 248.95/165.40 new_primMulNat0(Succ(x0), Zero) 248.95/165.40 new_quot0(Neg(x0), x1, x2) 248.95/165.40 new_primMinusNatS2(Succ(x0), Succ(x1)) 248.95/165.40 new_sr4(x0, x1, app(ty_Ratio, x2)) 248.95/165.40 new_sr8(x0, x1) 248.95/165.40 new_primDivNatS01(x0, x1) 248.95/165.40 new_primDivNatS02(x0, x1, Zero, Succ(x2)) 248.95/165.40 new_primPlusNat0(Succ(x0), Succ(x1)) 248.95/165.40 new_primPlusNat0(Zero, Zero) 248.95/165.40 new_sr12(:%(x0, x1), :%(x2, x3), x4) 248.95/165.40 new_abs(Neg(Succ(x0))) 248.95/165.40 new_sr3(x0, app(ty_Ratio, x1)) 248.95/165.40 new_sr7(x0) 248.95/165.40 new_gcd0(x0, x1) 248.95/165.40 new_primQuotInt0(x0, Pos(Succ(x1))) 248.95/165.40 new_sr4(x0, x1, ty_Integer) 248.95/165.40 new_sr5(:%(x0, x1), x2) 248.95/165.40 new_primMinusNatS2(Zero, Zero) 248.95/165.40 new_primMulNat1(Succ(x0)) 248.95/165.40 new_abs(Pos(Succ(x0))) 248.95/165.40 new_sr4(x0, x1, ty_Int) 248.95/165.40 new_esEs(Pos(Zero)) 248.95/165.40 new_primQuotInt0(x0, Pos(Zero)) 248.95/165.40 new_primEqInt(Neg(Succ(x0))) 248.95/165.40 new_primQuotInt(x0, Neg(Zero)) 248.95/165.40 new_primQuotInt0(x0, Neg(Zero)) 248.95/165.40 new_primQuotInt0(x0, Neg(Succ(x1))) 248.95/165.40 new_gcd(x0, x1) 248.95/165.40 new_quot0(Pos(x0), x1, x2) 248.95/165.40 new_primMinusNatS0(x0) 248.95/165.40 new_primPlusNat0(Zero, Succ(x0)) 248.95/165.40 new_primQuotInt(x0, Pos(Succ(x1))) 248.95/165.40 new_primDivNatS1(Succ(Succ(x0)), Zero) 248.95/165.40 new_rem(Pos(x0), Pos(Zero)) 248.95/165.40 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 248.95/165.40 new_primDivNatS02(x0, x1, Zero, Zero) 248.95/165.40 new_abs(Pos(Zero)) 248.95/165.40 new_gcd0Gcd'10(False, x0, x1) 248.95/165.40 new_primMinusNatS1 248.95/165.40 new_esEs1(Integer(x0)) 248.95/165.40 new_primModNatS01(x0, x1, Zero, Succ(x2)) 248.95/165.40 new_primMulNat2(Succ(x0)) 248.95/165.40 new_sr14(Neg(x0), Neg(x1)) 248.95/165.40 new_primMinusNatS2(Succ(x0), Zero) 248.95/165.40 new_sr4(x0, x1, ty_Float) 248.95/165.40 new_sr6(Pos(x0)) 248.95/165.40 new_esEs2(x0, x1, ty_Integer) 248.95/165.40 new_primMulNat4(Succ(x0)) 248.95/165.40 new_rem(Neg(x0), Neg(Succ(x1))) 248.95/165.40 new_primEqInt(Pos(Succ(x0))) 248.95/165.40 new_primQuotInt(x0, Pos(Zero)) 248.95/165.40 new_gcd0Gcd'11(False, x0, x1) 248.95/165.40 new_sr9(x0) 248.95/165.40 new_primModNatS1(Succ(Succ(x0)), Zero) 248.95/165.40 new_esEs0(x0, ty_Integer) 248.95/165.40 new_gcd0Gcd'00(x0, x1) 248.95/165.40 new_reduce2Reduce1(x0, x1, x2, x3, True, x4) 248.95/165.40 new_sr3(x0, ty_Double) 248.95/165.40 new_esEs(Neg(Zero)) 248.95/165.40 new_primMulNat1(Zero) 248.95/165.40 new_rem(Neg(x0), Neg(Zero)) 248.95/165.40 new_new_pr2F0G10(Succ(Succ(x0))) 248.95/165.40 new_new_pr2F0G10(Succ(Zero)) 248.95/165.40 new_new_pr2F0G10(Zero) 248.95/165.40 248.95/165.40 We have to consider all minimal (P,Q,R)-chains. 248.95/165.40 ---------------------------------------- 248.95/165.40 248.95/165.40 (875) TransformationProof (EQUIVALENT) 248.95/165.40 By narrowing [LPAR04] the rule new_pr2F0G(y0, y1, Neg(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(x0))))))))), y3) -> H(y0, y1, Succ(Succ(Succ(Succ(Succ(Succ(Succ(x0))))))), y3, new_new_pr2F0G10(x0)) at position [4] we obtained the following new rules [LPAR04]: 248.95/165.40 248.95/165.40 (new_pr2F0G(y0, y1, Neg(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(x0))))))))))), y3) -> H(y0, y1, Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(x0))))))))), y3, new_new_pr2F0G10(x0)),new_pr2F0G(y0, y1, Neg(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(x0))))))))))), y3) -> H(y0, y1, Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(x0))))))))), y3, new_new_pr2F0G10(x0))) 248.95/165.40 (new_pr2F0G(y0, y1, Neg(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))))))), y3) -> H(y0, y1, Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))))), y3, cons_new_pr2F0G10(Succ(Zero))),new_pr2F0G(y0, y1, Neg(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))))))), y3) -> H(y0, y1, Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))))), y3, cons_new_pr2F0G10(Succ(Zero)))) 248.95/165.40 (new_pr2F0G(y0, y1, Neg(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero))))))))), y3) -> H(y0, y1, Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero))))))), y3, cons_new_pr2F0G10(Zero)),new_pr2F0G(y0, y1, Neg(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero))))))))), y3) -> H(y0, y1, Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero))))))), y3, cons_new_pr2F0G10(Zero))) 248.95/165.40 248.95/165.40 248.95/165.40 ---------------------------------------- 248.95/165.40 248.95/165.40 (876) 248.95/165.40 Obligation: 248.95/165.40 Q DP problem: 248.95/165.40 The TRS P consists of the following rules: 248.95/165.40 248.95/165.40 new_pr2F0(vyv183, Neg(Succ(Succ(vyv222000))), vyv187, h) -> new_pr2F0G10(vyv187, vyv183, Succ(vyv222000), vyv222000, h) 248.95/165.40 new_pr2F0G10(vyv248, vyv249, vyv250, Succ(Zero), bb) -> new_pr2F0G11(vyv248, vyv249, vyv250, bb) 248.95/165.40 new_pr2F0G11(vyv238, vyv239, vyv240, bc) -> new_pr2F1(vyv239, vyv240, Pos(Succ(Zero)), vyv238, bc) 248.95/165.40 new_pr2F1(z1, z2, Pos(Succ(Zero)), z0, z3) -> new_pr2F30(False, z1, z2, Pos(Succ(Zero)), z0, z3) 248.95/165.40 new_pr2F30(False, z0, z1, Pos(Succ(Zero)), z2, z3) -> new_pr2F0(z0, Neg(Succ(Succ(new_primPlusNat0(z1, Zero)))), new_sr4(z0, z2, z3), z3) 248.95/165.40 H(vyv248, vyv249, vyv250, bb, cons_new_pr2F0G10(Succ(Zero))) -> new_pr2F0G10(vyv248, vyv249, vyv250, Succ(Zero), bb) 248.95/165.40 H(vyv248, vyv249, vyv250, bb, cons_new_pr2F0G10(Zero)) -> new_pr2F0G10(vyv248, vyv249, vyv250, Zero, bb) 248.95/165.40 new_pr2F0G(vyv187, vyv183, Neg(Succ(Zero)), h) -> new_pr2F0G11(vyv187, vyv183, Zero, h) 248.95/165.40 new_pr2F0G(vyv187, vyv183, Neg(Succ(Succ(vyv222000))), h) -> new_pr2F0G10(vyv187, vyv183, Succ(vyv222000), vyv222000, h) 248.95/165.40 new_pr2F0G10(y0, y1, Succ(Zero), Zero, y3) -> new_pr2F0G(y0, new_sr3(y1, y3), Neg(Succ(Zero)), y3) 248.95/165.40 new_pr2F0(y0, Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), y2, y3) -> H(y2, y0, Succ(Succ(Succ(Succ(Zero)))), y3, cons_new_pr2F0G10(Succ(Zero))) 248.95/165.40 new_pr2F0(y0, Neg(Succ(Succ(Succ(Succ(Zero))))), y2, y3) -> H(y2, y0, Succ(Succ(Succ(Zero))), y3, cons_new_pr2F0G10(Zero)) 248.95/165.40 new_pr2F0G10(y0, y1, Succ(Succ(Zero)), Zero, y3) -> new_pr2F0G(y0, new_sr3(y1, y3), Neg(Succ(Zero)), y3) 248.95/165.40 new_pr2F0G(y0, y1, Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), y3) -> H(y0, y1, Succ(Succ(Succ(Succ(Zero)))), y3, cons_new_pr2F0G10(Succ(Zero))) 248.95/165.40 new_pr2F0G(y0, y1, Neg(Succ(Succ(Succ(Succ(Zero))))), y3) -> H(y0, y1, Succ(Succ(Succ(Zero))), y3, cons_new_pr2F0G10(Zero)) 248.95/165.40 new_pr2F0(y0, Neg(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))))), y2, y3) -> H(y2, y0, Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))), y3, cons_new_pr2F0G10(Succ(Zero))) 248.95/165.40 new_pr2F0(y0, Neg(Succ(Succ(Succ(Succ(Succ(Succ(Zero))))))), y2, y3) -> H(y2, y0, Succ(Succ(Succ(Succ(Succ(Zero))))), y3, cons_new_pr2F0G10(Zero)) 248.95/165.40 new_pr2F0G10(y0, y1, Succ(Succ(Succ(Succ(x2)))), Zero, y3) -> new_pr2F0G(y0, new_sr3(y1, y3), Neg(Succ(Succ(new_primDivNatS1(Succ(x2), Succ(Zero))))), y3) 248.95/165.40 new_pr2F0G10(y0, y1, Succ(Succ(Succ(Zero))), Zero, y3) -> new_pr2F0G(y0, new_sr3(y1, y3), Neg(Succ(Succ(Zero))), y3) 248.95/165.40 new_pr2F0G(y0, y1, Neg(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))))), y3) -> H(y0, y1, Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))), y3, cons_new_pr2F0G10(Succ(Zero))) 248.95/165.40 new_pr2F0G(y0, y1, Neg(Succ(Succ(Succ(Succ(Succ(Succ(Zero))))))), y3) -> H(y0, y1, Succ(Succ(Succ(Succ(Succ(Zero))))), y3, cons_new_pr2F0G10(Zero)) 248.95/165.40 new_pr2F0(y0, Neg(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(x0))))))))))), y2, y3) -> H(y2, y0, Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(x0))))))))), y3, new_new_pr2F0G10(x0)) 248.95/165.40 new_pr2F0(y0, Neg(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))))))), y2, y3) -> H(y2, y0, Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))))), y3, cons_new_pr2F0G10(Succ(Zero))) 248.95/165.40 new_pr2F0(y0, Neg(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero))))))))), y2, y3) -> H(y2, y0, Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero))))))), y3, cons_new_pr2F0G10(Zero)) 248.95/165.40 new_pr2F0G(y0, y1, Neg(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(x0))))))))))), y3) -> H(y0, y1, Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(x0))))))))), y3, new_new_pr2F0G10(x0)) 248.95/165.40 new_pr2F0G(y0, y1, Neg(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))))))), y3) -> H(y0, y1, Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))))), y3, cons_new_pr2F0G10(Succ(Zero))) 248.95/165.40 new_pr2F0G(y0, y1, Neg(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero))))))))), y3) -> H(y0, y1, Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero))))))), y3, cons_new_pr2F0G10(Zero)) 248.95/165.40 248.95/165.40 The TRS R consists of the following rules: 248.95/165.40 248.95/165.40 new_new_pr2F0G10(Succ(Succ(vyv25100))) -> new_new_pr2F0G10(vyv25100) 248.95/165.40 new_new_pr2F0G10(Succ(Zero)) -> cons_new_pr2F0G10(Succ(Zero)) 248.95/165.40 new_new_pr2F0G10(Zero) -> cons_new_pr2F0G10(Zero) 248.95/165.40 new_sr3(vyv249, ty_Float) -> new_sr10(vyv249) 248.95/165.40 new_sr3(vyv249, ty_Double) -> new_sr9(vyv249) 248.95/165.40 new_sr3(vyv249, ty_Int) -> new_sr6(vyv249) 248.95/165.40 new_sr3(vyv249, ty_Integer) -> new_sr7(vyv249) 248.95/165.40 new_sr3(vyv249, app(ty_Ratio, bg)) -> new_sr5(vyv249, bg) 248.95/165.40 new_sr5(:%(vyv1830, vyv1831), bd) -> new_reduce2Reduce1(vyv1830, vyv1830, vyv1831, vyv1831, new_esEs0(vyv1831, bd), bd) 248.95/165.40 new_esEs0(vyv1831, ty_Int) -> new_esEs(new_sr6(vyv1831)) 248.95/165.40 new_esEs0(vyv1831, ty_Integer) -> new_esEs1(new_sr7(vyv1831)) 248.95/165.40 new_reduce2Reduce1(vyv264, vyv265, vyv266, vyv267, False, bh) -> :%(new_quot1(vyv264, vyv265, vyv266, vyv267, bh), new_quot2(vyv266, vyv267, vyv264, vyv265, bh)) 248.95/165.40 new_reduce2Reduce1(vyv264, vyv265, vyv266, vyv267, True, bh) -> error([]) 248.95/165.40 new_quot1(vyv264, vyv265, vyv266, vyv267, ty_Int) -> new_quot0(new_sr14(vyv264, vyv265), new_sr14(vyv264, vyv265), new_sr14(vyv266, vyv267)) 248.95/165.40 new_quot1(vyv264, vyv265, vyv266, vyv267, ty_Integer) -> new_quot(new_sr8(vyv264, vyv265), new_sr8(vyv264, vyv265), new_sr8(vyv266, vyv267)) 248.95/165.40 new_quot2(vyv266, vyv267, vyv264, vyv265, ty_Int) -> new_quot0(new_sr14(vyv266, vyv267), new_sr14(vyv264, vyv265), new_sr14(vyv266, vyv267)) 248.95/165.40 new_quot2(vyv266, vyv267, vyv264, vyv265, ty_Integer) -> new_quot(new_sr8(vyv266, vyv267), new_sr8(vyv264, vyv265), new_sr8(vyv266, vyv267)) 248.95/165.40 new_sr8(vyv239, vyv238) -> error([]) 248.95/165.40 new_quot(vyv273, vyv275, vyv274) -> error([]) 248.95/165.40 new_sr14(Pos(vyv2390), Neg(vyv2380)) -> Neg(new_primMulNat0(vyv2390, vyv2380)) 248.95/165.40 new_sr14(Neg(vyv2390), Pos(vyv2380)) -> Neg(new_primMulNat0(vyv2390, vyv2380)) 248.95/165.40 new_sr14(Neg(vyv2390), Neg(vyv2380)) -> Pos(new_primMulNat0(vyv2390, vyv2380)) 248.95/165.40 new_sr14(Pos(vyv2390), Pos(vyv2380)) -> Pos(new_primMulNat0(vyv2390, vyv2380)) 248.95/165.40 new_quot0(Neg(vyv2700), vyv272, vyv271) -> new_primQuotInt0(vyv2700, new_gcd(vyv272, vyv271)) 248.95/165.40 new_quot0(Pos(vyv2700), vyv272, vyv271) -> new_primQuotInt(vyv2700, new_gcd(vyv272, vyv271)) 248.95/165.40 new_gcd(vyv272, vyv271) -> new_gcd2(new_esEs(vyv272), vyv272, vyv271) 248.95/165.40 new_primQuotInt(vyv2700, Pos(Succ(vyv28400))) -> Pos(new_primDivNatS1(vyv2700, vyv28400)) 248.95/165.40 new_primQuotInt(vyv2700, Neg(Zero)) -> new_error 248.95/165.40 new_primQuotInt(vyv2700, Pos(Zero)) -> new_error 248.95/165.40 new_primQuotInt(vyv2700, Neg(Succ(vyv28400))) -> Neg(new_primDivNatS1(vyv2700, vyv28400)) 248.95/165.40 new_primDivNatS1(Succ(Zero), Succ(vyv284000)) -> Zero 248.95/165.40 new_primDivNatS1(Succ(Succ(vyv270000)), Succ(vyv284000)) -> new_primDivNatS02(vyv270000, vyv284000, vyv270000, vyv284000) 248.95/165.40 new_primDivNatS1(Zero, vyv28400) -> Zero 248.95/165.40 new_primDivNatS1(Succ(Succ(vyv270000)), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS0(vyv270000), Zero)) 248.95/165.40 new_primDivNatS1(Succ(Zero), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS1, Zero)) 248.95/165.40 new_primMinusNatS1 -> Zero 248.95/165.40 new_primMinusNatS0(vyv270000) -> Succ(vyv270000) 248.95/165.40 new_primDivNatS02(vyv310, vyv311, Zero, Zero) -> new_primDivNatS01(vyv310, vyv311) 248.95/165.40 new_primDivNatS02(vyv310, vyv311, Succ(vyv3120), Zero) -> new_primDivNatS01(vyv310, vyv311) 248.95/165.40 new_primDivNatS02(vyv310, vyv311, Zero, Succ(vyv3130)) -> Zero 248.95/165.40 new_primDivNatS02(vyv310, vyv311, Succ(vyv3120), Succ(vyv3130)) -> new_primDivNatS02(vyv310, vyv311, vyv3120, vyv3130) 248.95/165.40 new_primDivNatS01(vyv310, vyv311) -> Succ(new_primDivNatS1(new_primMinusNatS2(vyv310, vyv311), Succ(vyv311))) 248.95/165.40 new_primMinusNatS2(Zero, Succ(vyv3110)) -> Zero 248.95/165.40 new_primMinusNatS2(Succ(vyv3100), Zero) -> Succ(vyv3100) 248.95/165.40 new_primMinusNatS2(Zero, Zero) -> Zero 248.95/165.40 new_primMinusNatS2(Succ(vyv3100), Succ(vyv3110)) -> new_primMinusNatS2(vyv3100, vyv3110) 248.95/165.40 new_error -> error([]) 248.95/165.40 new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) 248.95/165.40 new_esEs(Pos(Succ(vyv24100))) -> new_primEqInt(Pos(Succ(vyv24100))) 248.95/165.40 new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) 248.95/165.40 new_esEs(Neg(Succ(vyv24100))) -> new_primEqInt(Neg(Succ(vyv24100))) 248.95/165.40 new_gcd2(True, vyv272, vyv271) -> new_gcd1(new_esEs(vyv271), vyv272, vyv271) 248.95/165.40 new_gcd2(False, vyv272, vyv271) -> new_gcd0(vyv272, vyv271) 248.95/165.40 new_gcd0(vyv272, vyv271) -> new_gcd0Gcd'10(new_esEs(new_abs(vyv271)), vyv272, vyv271) 248.95/165.40 new_abs(Neg(Zero)) -> Neg(Zero) 248.95/165.40 new_abs(Neg(Succ(vyv27100))) -> Pos(Succ(vyv27100)) 248.95/165.40 new_abs(Pos(Succ(vyv27100))) -> Pos(Succ(vyv27100)) 248.95/165.40 new_abs(Pos(Zero)) -> Pos(Zero) 248.95/165.40 new_gcd0Gcd'10(True, vyv272, vyv271) -> new_abs(vyv272) 248.95/165.40 new_gcd0Gcd'10(False, vyv272, vyv271) -> new_gcd0Gcd'00(new_abs(vyv272), new_abs(vyv271)) 248.95/165.40 new_gcd0Gcd'00(vyv292, vyv291) -> new_gcd0Gcd'11(new_esEs(new_rem(vyv292, vyv291)), vyv291, vyv292) 248.95/165.40 new_gcd0Gcd'11(False, vyv291, vyv292) -> new_gcd0Gcd'00(vyv291, new_rem(vyv292, vyv291)) 248.95/165.40 new_rem(Pos(vyv2920), Neg(Zero)) -> new_error 248.95/165.40 new_rem(Neg(vyv2920), Pos(Zero)) -> new_error 248.95/165.40 new_rem(Pos(vyv2920), Neg(Succ(vyv29100))) -> Pos(new_primModNatS1(vyv2920, vyv29100)) 248.95/165.40 new_rem(Neg(vyv2920), Pos(Succ(vyv29100))) -> Neg(new_primModNatS1(vyv2920, vyv29100)) 248.95/165.40 new_rem(Pos(vyv2920), Pos(Succ(vyv29100))) -> Pos(new_primModNatS1(vyv2920, vyv29100)) 248.95/165.40 new_rem(Neg(vyv2920), Neg(Zero)) -> new_error 248.95/165.40 new_rem(Neg(vyv2920), Neg(Succ(vyv29100))) -> Neg(new_primModNatS1(vyv2920, vyv29100)) 248.95/165.40 new_rem(Pos(vyv2920), Pos(Zero)) -> new_error 248.95/165.40 new_gcd0Gcd'11(True, vyv291, vyv292) -> vyv291 248.95/165.40 new_primModNatS1(Succ(Zero), Succ(vyv291000)) -> Succ(Zero) 248.95/165.40 new_primModNatS1(Zero, vyv29100) -> Zero 248.95/165.40 new_primModNatS1(Succ(Succ(vyv292000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv292000), Zero) 248.95/165.40 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 248.95/165.40 new_primModNatS1(Succ(Succ(vyv292000)), Succ(vyv291000)) -> new_primModNatS01(vyv292000, vyv291000, vyv292000, vyv291000) 248.95/165.40 new_primModNatS01(vyv330, vyv331, Zero, Zero) -> new_primModNatS02(vyv330, vyv331) 248.95/165.40 new_primModNatS02(vyv330, vyv331) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv330), Succ(vyv331)), Succ(vyv331)) 248.95/165.40 new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Zero) -> new_primModNatS02(vyv330, vyv331) 248.95/165.40 new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Succ(vyv3330)) -> new_primModNatS01(vyv330, vyv331, vyv3320, vyv3330) 248.95/165.40 new_primModNatS01(vyv330, vyv331, Zero, Succ(vyv3330)) -> Succ(Succ(vyv330)) 248.95/165.40 new_gcd1(True, vyv272, vyv271) -> new_error 248.95/165.40 new_gcd1(False, vyv272, vyv271) -> new_gcd0(vyv272, vyv271) 248.95/165.40 new_primEqInt(Neg(Succ(vyv242000))) -> False 248.95/165.40 new_primEqInt(Pos(Zero)) -> True 248.95/165.40 new_primEqInt(Pos(Succ(vyv242000))) -> False 248.95/165.40 new_primEqInt(Neg(Zero)) -> True 248.95/165.40 new_primQuotInt0(vyv2700, Pos(Succ(vyv28700))) -> Neg(new_primDivNatS1(vyv2700, vyv28700)) 248.95/165.40 new_primQuotInt0(vyv2700, Neg(Zero)) -> new_error 248.95/165.40 new_primQuotInt0(vyv2700, Neg(Succ(vyv28700))) -> Pos(new_primDivNatS1(vyv2700, vyv28700)) 248.95/165.40 new_primQuotInt0(vyv2700, Pos(Zero)) -> new_error 248.95/165.40 new_primMulNat0(Succ(vyv23900), Zero) -> Zero 248.95/165.40 new_primMulNat0(Zero, Succ(vyv23800)) -> Zero 248.95/165.40 new_primMulNat0(Zero, Zero) -> Zero 248.95/165.40 new_primMulNat0(Succ(vyv23900), Succ(vyv23800)) -> new_primPlusNat0(new_primMulNat0(vyv23900, Succ(vyv23800)), Succ(vyv23800)) 248.95/165.40 new_primPlusNat0(Succ(vyv4000), Succ(vyv5000)) -> Succ(Succ(new_primPlusNat0(vyv4000, vyv5000))) 248.95/165.40 new_primPlusNat0(Zero, Succ(vyv5000)) -> Succ(vyv5000) 248.95/165.40 new_primPlusNat0(Zero, Zero) -> Zero 248.95/165.40 new_primPlusNat0(Succ(vyv4000), Zero) -> Succ(vyv4000) 248.95/165.40 new_sr7(vyv183) -> error([]) 248.95/165.40 new_esEs1(Integer(vyv2690)) -> new_primEqInt(vyv2690) 248.95/165.40 new_sr6(Neg(vyv1830)) -> Pos(new_primMulNat1(vyv1830)) 248.95/165.40 new_sr6(Pos(vyv1830)) -> Pos(new_primMulNat1(vyv1830)) 248.95/165.40 new_primMulNat1(Succ(vyv18300)) -> new_primPlusNat0(new_primMulNat2(vyv18300), Succ(vyv18300)) 248.95/165.40 new_primMulNat1(Zero) -> Zero 248.95/165.40 new_primMulNat2(Succ(vyv183000)) -> new_primPlusNat0(new_primMulNat3(vyv183000), Succ(Succ(vyv183000))) 248.95/165.40 new_primMulNat2(Zero) -> Zero 248.95/165.40 new_primMulNat3(Succ(vyv1830000)) -> new_primPlusNat0(new_primMulNat4(vyv1830000), Succ(Succ(Succ(vyv1830000)))) 248.95/165.40 new_primMulNat3(Zero) -> Zero 248.95/165.40 new_primMulNat4(Succ(vyv18300000)) -> new_primPlusNat0(new_primMulNat0(vyv18300000, Succ(Succ(Succ(Succ(vyv18300000))))), Succ(Succ(Succ(Succ(vyv18300000))))) 248.95/165.40 new_primMulNat4(Zero) -> Zero 248.95/165.40 new_sr9(vyv183) -> error([]) 248.95/165.40 new_sr10(vyv183) -> error([]) 248.95/165.40 new_sr4(vyv239, vyv238, app(ty_Ratio, bf)) -> new_sr12(vyv239, vyv238, bf) 248.95/165.40 new_sr4(vyv239, vyv238, ty_Integer) -> new_sr8(vyv239, vyv238) 248.95/165.40 new_sr4(vyv239, vyv238, ty_Int) -> new_sr14(vyv239, vyv238) 248.95/165.40 new_sr4(vyv239, vyv238, ty_Double) -> new_sr11(vyv239, vyv238) 248.95/165.40 new_sr4(vyv239, vyv238, ty_Float) -> new_sr13(vyv239, vyv238) 248.95/165.40 new_sr13(vyv239, vyv238) -> error([]) 248.95/165.40 new_sr11(vyv239, vyv238) -> error([]) 248.95/165.40 new_sr12(:%(vyv2390, vyv2391), :%(vyv2380, vyv2381), bf) -> new_reduce2Reduce1(vyv2390, vyv2380, vyv2391, vyv2381, new_esEs2(vyv2391, vyv2381, bf), bf) 248.95/165.40 new_esEs2(vyv2391, vyv2381, ty_Int) -> new_esEs(new_sr14(vyv2391, vyv2381)) 248.95/165.40 new_esEs2(vyv2391, vyv2381, ty_Integer) -> new_esEs1(new_sr8(vyv2391, vyv2381)) 248.95/165.40 248.95/165.40 The set Q consists of the following terms: 248.95/165.40 248.95/165.40 new_rem(Pos(x0), Pos(Succ(x1))) 248.95/165.40 new_quot1(x0, x1, x2, x3, ty_Integer) 248.95/165.40 new_primModNatS1(Succ(Zero), Succ(x0)) 248.95/165.40 new_primMulNat4(Zero) 248.95/165.40 new_gcd1(False, x0, x1) 248.95/165.40 new_primEqInt(Pos(Zero)) 248.95/165.40 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 248.95/165.40 new_rem(Pos(x0), Neg(Succ(x1))) 248.95/165.40 new_rem(Neg(x0), Pos(Succ(x1))) 248.95/165.40 new_sr10(x0) 248.95/165.40 new_quot1(x0, x1, x2, x3, ty_Int) 248.95/165.40 new_quot2(x0, x1, x2, x3, ty_Integer) 248.95/165.40 new_primModNatS01(x0, x1, Succ(x2), Zero) 248.95/165.40 new_sr3(x0, ty_Integer) 248.95/165.40 new_primMulNat3(Zero) 248.95/165.40 new_primDivNatS02(x0, x1, Succ(x2), Zero) 248.95/165.40 new_quot2(x0, x1, x2, x3, ty_Int) 248.95/165.40 new_gcd2(False, x0, x1) 248.95/165.40 new_primDivNatS1(Succ(Zero), Zero) 248.95/165.40 new_esEs0(x0, ty_Int) 248.95/165.40 new_sr14(Pos(x0), Pos(x1)) 248.95/165.40 new_sr3(x0, ty_Int) 248.95/165.40 new_primMulNat0(Zero, Zero) 248.95/165.40 new_sr4(x0, x1, ty_Double) 248.95/165.40 new_primPlusNat0(Succ(x0), Zero) 248.95/165.40 new_primMulNat2(Zero) 248.95/165.40 new_sr11(x0, x1) 248.95/165.40 new_primModNatS01(x0, x1, Zero, Zero) 248.95/165.40 new_esEs2(x0, x1, ty_Int) 248.95/165.40 new_gcd1(True, x0, x1) 248.95/165.40 new_sr13(x0, x1) 248.95/165.40 new_sr14(Pos(x0), Neg(x1)) 248.95/165.40 new_sr14(Neg(x0), Pos(x1)) 248.95/165.40 new_primDivNatS1(Succ(Succ(x0)), Succ(x1)) 248.95/165.40 new_primModNatS1(Zero, x0) 248.95/165.40 new_esEs(Pos(Succ(x0))) 248.95/165.40 new_primMulNat3(Succ(x0)) 248.95/165.40 new_primQuotInt(x0, Neg(Succ(x1))) 248.95/165.40 new_reduce2Reduce1(x0, x1, x2, x3, False, x4) 248.95/165.40 new_primDivNatS1(Zero, x0) 248.95/165.40 new_primDivNatS02(x0, x1, Succ(x2), Succ(x3)) 248.95/165.40 new_primModNatS02(x0, x1) 248.95/165.40 new_primDivNatS1(Succ(Zero), Succ(x0)) 248.95/165.40 new_sr6(Neg(x0)) 248.95/165.40 new_gcd0Gcd'10(True, x0, x1) 248.95/165.40 new_primMulNat0(Succ(x0), Succ(x1)) 248.95/165.40 new_abs(Neg(Zero)) 248.95/165.40 new_rem(Pos(x0), Neg(Zero)) 248.95/165.40 new_rem(Neg(x0), Pos(Zero)) 248.95/165.40 new_primMinusNatS2(Zero, Succ(x0)) 248.95/165.40 new_esEs(Neg(Succ(x0))) 248.95/165.40 new_error 248.95/165.40 new_primModNatS1(Succ(Zero), Zero) 248.95/165.40 new_primMulNat0(Zero, Succ(x0)) 248.95/165.40 new_sr3(x0, ty_Float) 248.95/165.40 new_quot(x0, x1, x2) 248.95/165.40 new_gcd2(True, x0, x1) 248.95/165.40 new_gcd0Gcd'11(True, x0, x1) 248.95/165.40 new_primEqInt(Neg(Zero)) 248.95/165.40 new_primMulNat0(Succ(x0), Zero) 248.95/165.40 new_quot0(Neg(x0), x1, x2) 248.95/165.40 new_primMinusNatS2(Succ(x0), Succ(x1)) 248.95/165.40 new_sr4(x0, x1, app(ty_Ratio, x2)) 248.95/165.40 new_sr8(x0, x1) 248.95/165.40 new_primDivNatS01(x0, x1) 248.95/165.40 new_primDivNatS02(x0, x1, Zero, Succ(x2)) 248.95/165.40 new_primPlusNat0(Succ(x0), Succ(x1)) 248.95/165.40 new_primPlusNat0(Zero, Zero) 248.95/165.40 new_sr12(:%(x0, x1), :%(x2, x3), x4) 248.95/165.40 new_abs(Neg(Succ(x0))) 248.95/165.40 new_sr3(x0, app(ty_Ratio, x1)) 248.95/165.40 new_sr7(x0) 248.95/165.40 new_gcd0(x0, x1) 248.95/165.40 new_primQuotInt0(x0, Pos(Succ(x1))) 248.95/165.40 new_sr4(x0, x1, ty_Integer) 248.95/165.40 new_sr5(:%(x0, x1), x2) 248.95/165.40 new_primMinusNatS2(Zero, Zero) 248.95/165.40 new_primMulNat1(Succ(x0)) 248.95/165.40 new_abs(Pos(Succ(x0))) 248.95/165.40 new_sr4(x0, x1, ty_Int) 248.95/165.40 new_esEs(Pos(Zero)) 248.95/165.40 new_primQuotInt0(x0, Pos(Zero)) 248.95/165.40 new_primEqInt(Neg(Succ(x0))) 248.95/165.40 new_primQuotInt(x0, Neg(Zero)) 248.95/165.40 new_primQuotInt0(x0, Neg(Zero)) 248.95/165.40 new_primQuotInt0(x0, Neg(Succ(x1))) 248.95/165.40 new_gcd(x0, x1) 248.95/165.40 new_quot0(Pos(x0), x1, x2) 248.95/165.40 new_primMinusNatS0(x0) 248.95/165.40 new_primPlusNat0(Zero, Succ(x0)) 248.95/165.40 new_primQuotInt(x0, Pos(Succ(x1))) 248.95/165.41 new_primDivNatS1(Succ(Succ(x0)), Zero) 248.95/165.41 new_rem(Pos(x0), Pos(Zero)) 248.95/165.41 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 248.95/165.41 new_primDivNatS02(x0, x1, Zero, Zero) 248.95/165.41 new_abs(Pos(Zero)) 248.95/165.41 new_gcd0Gcd'10(False, x0, x1) 248.95/165.41 new_primMinusNatS1 248.95/165.41 new_esEs1(Integer(x0)) 248.95/165.41 new_primModNatS01(x0, x1, Zero, Succ(x2)) 248.95/165.41 new_primMulNat2(Succ(x0)) 248.95/165.41 new_sr14(Neg(x0), Neg(x1)) 248.95/165.41 new_primMinusNatS2(Succ(x0), Zero) 248.95/165.41 new_sr4(x0, x1, ty_Float) 248.95/165.41 new_sr6(Pos(x0)) 248.95/165.41 new_esEs2(x0, x1, ty_Integer) 248.95/165.41 new_primMulNat4(Succ(x0)) 248.95/165.41 new_rem(Neg(x0), Neg(Succ(x1))) 248.95/165.41 new_primEqInt(Pos(Succ(x0))) 248.95/165.41 new_primQuotInt(x0, Pos(Zero)) 248.95/165.41 new_gcd0Gcd'11(False, x0, x1) 248.95/165.41 new_sr9(x0) 248.95/165.41 new_primModNatS1(Succ(Succ(x0)), Zero) 248.95/165.41 new_esEs0(x0, ty_Integer) 248.95/165.41 new_gcd0Gcd'00(x0, x1) 248.95/165.41 new_reduce2Reduce1(x0, x1, x2, x3, True, x4) 248.95/165.41 new_sr3(x0, ty_Double) 248.95/165.41 new_esEs(Neg(Zero)) 248.95/165.41 new_primMulNat1(Zero) 248.95/165.41 new_rem(Neg(x0), Neg(Zero)) 248.95/165.41 new_new_pr2F0G10(Succ(Succ(x0))) 248.95/165.41 new_new_pr2F0G10(Succ(Zero)) 248.95/165.41 new_new_pr2F0G10(Zero) 248.95/165.41 248.95/165.41 We have to consider all minimal (P,Q,R)-chains. 248.95/165.41 ---------------------------------------- 248.95/165.41 248.95/165.41 (877) MNOCProof (EQUIVALENT) 248.95/165.41 We use the modular non-overlap check [FROCOS05] to decrease Q to the empty set. 248.95/165.41 ---------------------------------------- 248.95/165.41 248.95/165.41 (878) 248.95/165.41 Obligation: 248.95/165.41 Q DP problem: 248.95/165.41 The TRS P consists of the following rules: 248.95/165.41 248.95/165.41 new_pr2F0(vyv183, Neg(Succ(Succ(vyv222000))), vyv187, h) -> new_pr2F0G10(vyv187, vyv183, Succ(vyv222000), vyv222000, h) 248.95/165.41 new_pr2F0G10(vyv248, vyv249, vyv250, Succ(Zero), bb) -> new_pr2F0G11(vyv248, vyv249, vyv250, bb) 248.95/165.41 new_pr2F0G11(vyv238, vyv239, vyv240, bc) -> new_pr2F1(vyv239, vyv240, Pos(Succ(Zero)), vyv238, bc) 248.95/165.41 new_pr2F1(z1, z2, Pos(Succ(Zero)), z0, z3) -> new_pr2F30(False, z1, z2, Pos(Succ(Zero)), z0, z3) 248.95/165.41 new_pr2F30(False, z0, z1, Pos(Succ(Zero)), z2, z3) -> new_pr2F0(z0, Neg(Succ(Succ(new_primPlusNat0(z1, Zero)))), new_sr4(z0, z2, z3), z3) 248.95/165.41 H(vyv248, vyv249, vyv250, bb, cons_new_pr2F0G10(Succ(Zero))) -> new_pr2F0G10(vyv248, vyv249, vyv250, Succ(Zero), bb) 248.95/165.41 H(vyv248, vyv249, vyv250, bb, cons_new_pr2F0G10(Zero)) -> new_pr2F0G10(vyv248, vyv249, vyv250, Zero, bb) 248.95/165.41 new_pr2F0G(vyv187, vyv183, Neg(Succ(Zero)), h) -> new_pr2F0G11(vyv187, vyv183, Zero, h) 248.95/165.41 new_pr2F0G(vyv187, vyv183, Neg(Succ(Succ(vyv222000))), h) -> new_pr2F0G10(vyv187, vyv183, Succ(vyv222000), vyv222000, h) 248.95/165.41 new_pr2F0G10(y0, y1, Succ(Zero), Zero, y3) -> new_pr2F0G(y0, new_sr3(y1, y3), Neg(Succ(Zero)), y3) 248.95/165.41 new_pr2F0(y0, Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), y2, y3) -> H(y2, y0, Succ(Succ(Succ(Succ(Zero)))), y3, cons_new_pr2F0G10(Succ(Zero))) 248.95/165.41 new_pr2F0(y0, Neg(Succ(Succ(Succ(Succ(Zero))))), y2, y3) -> H(y2, y0, Succ(Succ(Succ(Zero))), y3, cons_new_pr2F0G10(Zero)) 248.95/165.41 new_pr2F0G10(y0, y1, Succ(Succ(Zero)), Zero, y3) -> new_pr2F0G(y0, new_sr3(y1, y3), Neg(Succ(Zero)), y3) 248.95/165.41 new_pr2F0G(y0, y1, Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), y3) -> H(y0, y1, Succ(Succ(Succ(Succ(Zero)))), y3, cons_new_pr2F0G10(Succ(Zero))) 248.95/165.41 new_pr2F0G(y0, y1, Neg(Succ(Succ(Succ(Succ(Zero))))), y3) -> H(y0, y1, Succ(Succ(Succ(Zero))), y3, cons_new_pr2F0G10(Zero)) 248.95/165.41 new_pr2F0(y0, Neg(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))))), y2, y3) -> H(y2, y0, Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))), y3, cons_new_pr2F0G10(Succ(Zero))) 248.95/165.41 new_pr2F0(y0, Neg(Succ(Succ(Succ(Succ(Succ(Succ(Zero))))))), y2, y3) -> H(y2, y0, Succ(Succ(Succ(Succ(Succ(Zero))))), y3, cons_new_pr2F0G10(Zero)) 248.95/165.41 new_pr2F0G10(y0, y1, Succ(Succ(Succ(Succ(x2)))), Zero, y3) -> new_pr2F0G(y0, new_sr3(y1, y3), Neg(Succ(Succ(new_primDivNatS1(Succ(x2), Succ(Zero))))), y3) 248.95/165.41 new_pr2F0G10(y0, y1, Succ(Succ(Succ(Zero))), Zero, y3) -> new_pr2F0G(y0, new_sr3(y1, y3), Neg(Succ(Succ(Zero))), y3) 248.95/165.41 new_pr2F0G(y0, y1, Neg(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))))), y3) -> H(y0, y1, Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))), y3, cons_new_pr2F0G10(Succ(Zero))) 248.95/165.41 new_pr2F0G(y0, y1, Neg(Succ(Succ(Succ(Succ(Succ(Succ(Zero))))))), y3) -> H(y0, y1, Succ(Succ(Succ(Succ(Succ(Zero))))), y3, cons_new_pr2F0G10(Zero)) 248.95/165.41 new_pr2F0(y0, Neg(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(x0))))))))))), y2, y3) -> H(y2, y0, Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(x0))))))))), y3, new_new_pr2F0G10(x0)) 248.95/165.41 new_pr2F0(y0, Neg(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))))))), y2, y3) -> H(y2, y0, Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))))), y3, cons_new_pr2F0G10(Succ(Zero))) 248.95/165.41 new_pr2F0(y0, Neg(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero))))))))), y2, y3) -> H(y2, y0, Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero))))))), y3, cons_new_pr2F0G10(Zero)) 248.95/165.41 new_pr2F0G(y0, y1, Neg(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(x0))))))))))), y3) -> H(y0, y1, Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(x0))))))))), y3, new_new_pr2F0G10(x0)) 248.95/165.41 new_pr2F0G(y0, y1, Neg(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))))))), y3) -> H(y0, y1, Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))))), y3, cons_new_pr2F0G10(Succ(Zero))) 248.95/165.41 new_pr2F0G(y0, y1, Neg(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero))))))))), y3) -> H(y0, y1, Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero))))))), y3, cons_new_pr2F0G10(Zero)) 248.95/165.41 248.95/165.41 The TRS R consists of the following rules: 248.95/165.41 248.95/165.41 new_new_pr2F0G10(Succ(Succ(vyv25100))) -> new_new_pr2F0G10(vyv25100) 248.95/165.41 new_new_pr2F0G10(Succ(Zero)) -> cons_new_pr2F0G10(Succ(Zero)) 248.95/165.41 new_new_pr2F0G10(Zero) -> cons_new_pr2F0G10(Zero) 248.95/165.41 new_sr3(vyv249, ty_Float) -> new_sr10(vyv249) 248.95/165.41 new_sr3(vyv249, ty_Double) -> new_sr9(vyv249) 248.95/165.41 new_sr3(vyv249, ty_Int) -> new_sr6(vyv249) 248.95/165.41 new_sr3(vyv249, ty_Integer) -> new_sr7(vyv249) 248.95/165.41 new_sr3(vyv249, app(ty_Ratio, bg)) -> new_sr5(vyv249, bg) 248.95/165.41 new_sr5(:%(vyv1830, vyv1831), bd) -> new_reduce2Reduce1(vyv1830, vyv1830, vyv1831, vyv1831, new_esEs0(vyv1831, bd), bd) 248.95/165.41 new_esEs0(vyv1831, ty_Int) -> new_esEs(new_sr6(vyv1831)) 248.95/165.41 new_esEs0(vyv1831, ty_Integer) -> new_esEs1(new_sr7(vyv1831)) 248.95/165.41 new_reduce2Reduce1(vyv264, vyv265, vyv266, vyv267, False, bh) -> :%(new_quot1(vyv264, vyv265, vyv266, vyv267, bh), new_quot2(vyv266, vyv267, vyv264, vyv265, bh)) 248.95/165.41 new_reduce2Reduce1(vyv264, vyv265, vyv266, vyv267, True, bh) -> error([]) 248.95/165.41 new_quot1(vyv264, vyv265, vyv266, vyv267, ty_Int) -> new_quot0(new_sr14(vyv264, vyv265), new_sr14(vyv264, vyv265), new_sr14(vyv266, vyv267)) 248.95/165.41 new_quot1(vyv264, vyv265, vyv266, vyv267, ty_Integer) -> new_quot(new_sr8(vyv264, vyv265), new_sr8(vyv264, vyv265), new_sr8(vyv266, vyv267)) 248.95/165.41 new_quot2(vyv266, vyv267, vyv264, vyv265, ty_Int) -> new_quot0(new_sr14(vyv266, vyv267), new_sr14(vyv264, vyv265), new_sr14(vyv266, vyv267)) 248.95/165.41 new_quot2(vyv266, vyv267, vyv264, vyv265, ty_Integer) -> new_quot(new_sr8(vyv266, vyv267), new_sr8(vyv264, vyv265), new_sr8(vyv266, vyv267)) 248.95/165.41 new_sr8(vyv239, vyv238) -> error([]) 248.95/165.41 new_quot(vyv273, vyv275, vyv274) -> error([]) 248.95/165.41 new_sr14(Pos(vyv2390), Neg(vyv2380)) -> Neg(new_primMulNat0(vyv2390, vyv2380)) 248.95/165.41 new_sr14(Neg(vyv2390), Pos(vyv2380)) -> Neg(new_primMulNat0(vyv2390, vyv2380)) 248.95/165.41 new_sr14(Neg(vyv2390), Neg(vyv2380)) -> Pos(new_primMulNat0(vyv2390, vyv2380)) 248.95/165.41 new_sr14(Pos(vyv2390), Pos(vyv2380)) -> Pos(new_primMulNat0(vyv2390, vyv2380)) 248.95/165.41 new_quot0(Neg(vyv2700), vyv272, vyv271) -> new_primQuotInt0(vyv2700, new_gcd(vyv272, vyv271)) 248.95/165.41 new_quot0(Pos(vyv2700), vyv272, vyv271) -> new_primQuotInt(vyv2700, new_gcd(vyv272, vyv271)) 248.95/165.41 new_gcd(vyv272, vyv271) -> new_gcd2(new_esEs(vyv272), vyv272, vyv271) 248.95/165.41 new_primQuotInt(vyv2700, Pos(Succ(vyv28400))) -> Pos(new_primDivNatS1(vyv2700, vyv28400)) 248.95/165.41 new_primQuotInt(vyv2700, Neg(Zero)) -> new_error 248.95/165.41 new_primQuotInt(vyv2700, Pos(Zero)) -> new_error 248.95/165.41 new_primQuotInt(vyv2700, Neg(Succ(vyv28400))) -> Neg(new_primDivNatS1(vyv2700, vyv28400)) 248.95/165.41 new_primDivNatS1(Succ(Zero), Succ(vyv284000)) -> Zero 248.95/165.41 new_primDivNatS1(Succ(Succ(vyv270000)), Succ(vyv284000)) -> new_primDivNatS02(vyv270000, vyv284000, vyv270000, vyv284000) 248.95/165.41 new_primDivNatS1(Zero, vyv28400) -> Zero 248.95/165.41 new_primDivNatS1(Succ(Succ(vyv270000)), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS0(vyv270000), Zero)) 248.95/165.41 new_primDivNatS1(Succ(Zero), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS1, Zero)) 248.95/165.41 new_primMinusNatS1 -> Zero 248.95/165.41 new_primMinusNatS0(vyv270000) -> Succ(vyv270000) 248.95/165.41 new_primDivNatS02(vyv310, vyv311, Zero, Zero) -> new_primDivNatS01(vyv310, vyv311) 248.95/165.41 new_primDivNatS02(vyv310, vyv311, Succ(vyv3120), Zero) -> new_primDivNatS01(vyv310, vyv311) 248.95/165.41 new_primDivNatS02(vyv310, vyv311, Zero, Succ(vyv3130)) -> Zero 248.95/165.41 new_primDivNatS02(vyv310, vyv311, Succ(vyv3120), Succ(vyv3130)) -> new_primDivNatS02(vyv310, vyv311, vyv3120, vyv3130) 248.95/165.41 new_primDivNatS01(vyv310, vyv311) -> Succ(new_primDivNatS1(new_primMinusNatS2(vyv310, vyv311), Succ(vyv311))) 248.95/165.41 new_primMinusNatS2(Zero, Succ(vyv3110)) -> Zero 248.95/165.41 new_primMinusNatS2(Succ(vyv3100), Zero) -> Succ(vyv3100) 248.95/165.41 new_primMinusNatS2(Zero, Zero) -> Zero 248.95/165.41 new_primMinusNatS2(Succ(vyv3100), Succ(vyv3110)) -> new_primMinusNatS2(vyv3100, vyv3110) 248.95/165.41 new_error -> error([]) 248.95/165.41 new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) 248.95/165.41 new_esEs(Pos(Succ(vyv24100))) -> new_primEqInt(Pos(Succ(vyv24100))) 248.95/165.41 new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) 248.95/165.41 new_esEs(Neg(Succ(vyv24100))) -> new_primEqInt(Neg(Succ(vyv24100))) 248.95/165.41 new_gcd2(True, vyv272, vyv271) -> new_gcd1(new_esEs(vyv271), vyv272, vyv271) 248.95/165.41 new_gcd2(False, vyv272, vyv271) -> new_gcd0(vyv272, vyv271) 248.95/165.41 new_gcd0(vyv272, vyv271) -> new_gcd0Gcd'10(new_esEs(new_abs(vyv271)), vyv272, vyv271) 248.95/165.41 new_abs(Neg(Zero)) -> Neg(Zero) 248.95/165.41 new_abs(Neg(Succ(vyv27100))) -> Pos(Succ(vyv27100)) 248.95/165.41 new_abs(Pos(Succ(vyv27100))) -> Pos(Succ(vyv27100)) 248.95/165.41 new_abs(Pos(Zero)) -> Pos(Zero) 248.95/165.41 new_gcd0Gcd'10(True, vyv272, vyv271) -> new_abs(vyv272) 248.95/165.41 new_gcd0Gcd'10(False, vyv272, vyv271) -> new_gcd0Gcd'00(new_abs(vyv272), new_abs(vyv271)) 248.95/165.41 new_gcd0Gcd'00(vyv292, vyv291) -> new_gcd0Gcd'11(new_esEs(new_rem(vyv292, vyv291)), vyv291, vyv292) 248.95/165.41 new_gcd0Gcd'11(False, vyv291, vyv292) -> new_gcd0Gcd'00(vyv291, new_rem(vyv292, vyv291)) 248.95/165.41 new_rem(Pos(vyv2920), Neg(Zero)) -> new_error 248.95/165.41 new_rem(Neg(vyv2920), Pos(Zero)) -> new_error 248.95/165.41 new_rem(Pos(vyv2920), Neg(Succ(vyv29100))) -> Pos(new_primModNatS1(vyv2920, vyv29100)) 248.95/165.41 new_rem(Neg(vyv2920), Pos(Succ(vyv29100))) -> Neg(new_primModNatS1(vyv2920, vyv29100)) 248.95/165.41 new_rem(Pos(vyv2920), Pos(Succ(vyv29100))) -> Pos(new_primModNatS1(vyv2920, vyv29100)) 248.95/165.41 new_rem(Neg(vyv2920), Neg(Zero)) -> new_error 248.95/165.41 new_rem(Neg(vyv2920), Neg(Succ(vyv29100))) -> Neg(new_primModNatS1(vyv2920, vyv29100)) 248.95/165.41 new_rem(Pos(vyv2920), Pos(Zero)) -> new_error 248.95/165.41 new_gcd0Gcd'11(True, vyv291, vyv292) -> vyv291 248.95/165.41 new_primModNatS1(Succ(Zero), Succ(vyv291000)) -> Succ(Zero) 248.95/165.41 new_primModNatS1(Zero, vyv29100) -> Zero 248.95/165.41 new_primModNatS1(Succ(Succ(vyv292000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv292000), Zero) 248.95/165.41 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 248.95/165.41 new_primModNatS1(Succ(Succ(vyv292000)), Succ(vyv291000)) -> new_primModNatS01(vyv292000, vyv291000, vyv292000, vyv291000) 248.95/165.41 new_primModNatS01(vyv330, vyv331, Zero, Zero) -> new_primModNatS02(vyv330, vyv331) 248.95/165.41 new_primModNatS02(vyv330, vyv331) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv330), Succ(vyv331)), Succ(vyv331)) 248.95/165.41 new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Zero) -> new_primModNatS02(vyv330, vyv331) 248.95/165.41 new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Succ(vyv3330)) -> new_primModNatS01(vyv330, vyv331, vyv3320, vyv3330) 248.95/165.41 new_primModNatS01(vyv330, vyv331, Zero, Succ(vyv3330)) -> Succ(Succ(vyv330)) 248.95/165.41 new_gcd1(True, vyv272, vyv271) -> new_error 248.95/165.41 new_gcd1(False, vyv272, vyv271) -> new_gcd0(vyv272, vyv271) 248.95/165.41 new_primEqInt(Neg(Succ(vyv242000))) -> False 248.95/165.41 new_primEqInt(Pos(Zero)) -> True 248.95/165.41 new_primEqInt(Pos(Succ(vyv242000))) -> False 248.95/165.41 new_primEqInt(Neg(Zero)) -> True 248.95/165.41 new_primQuotInt0(vyv2700, Pos(Succ(vyv28700))) -> Neg(new_primDivNatS1(vyv2700, vyv28700)) 248.95/165.41 new_primQuotInt0(vyv2700, Neg(Zero)) -> new_error 248.95/165.41 new_primQuotInt0(vyv2700, Neg(Succ(vyv28700))) -> Pos(new_primDivNatS1(vyv2700, vyv28700)) 248.95/165.41 new_primQuotInt0(vyv2700, Pos(Zero)) -> new_error 248.95/165.41 new_primMulNat0(Succ(vyv23900), Zero) -> Zero 248.95/165.41 new_primMulNat0(Zero, Succ(vyv23800)) -> Zero 248.95/165.41 new_primMulNat0(Zero, Zero) -> Zero 248.95/165.41 new_primMulNat0(Succ(vyv23900), Succ(vyv23800)) -> new_primPlusNat0(new_primMulNat0(vyv23900, Succ(vyv23800)), Succ(vyv23800)) 248.95/165.41 new_primPlusNat0(Succ(vyv4000), Succ(vyv5000)) -> Succ(Succ(new_primPlusNat0(vyv4000, vyv5000))) 248.95/165.41 new_primPlusNat0(Zero, Succ(vyv5000)) -> Succ(vyv5000) 248.95/165.41 new_primPlusNat0(Zero, Zero) -> Zero 248.95/165.41 new_primPlusNat0(Succ(vyv4000), Zero) -> Succ(vyv4000) 248.95/165.41 new_sr7(vyv183) -> error([]) 248.95/165.41 new_esEs1(Integer(vyv2690)) -> new_primEqInt(vyv2690) 248.95/165.41 new_sr6(Neg(vyv1830)) -> Pos(new_primMulNat1(vyv1830)) 248.95/165.41 new_sr6(Pos(vyv1830)) -> Pos(new_primMulNat1(vyv1830)) 248.95/165.41 new_primMulNat1(Succ(vyv18300)) -> new_primPlusNat0(new_primMulNat2(vyv18300), Succ(vyv18300)) 248.95/165.41 new_primMulNat1(Zero) -> Zero 248.95/165.41 new_primMulNat2(Succ(vyv183000)) -> new_primPlusNat0(new_primMulNat3(vyv183000), Succ(Succ(vyv183000))) 248.95/165.41 new_primMulNat2(Zero) -> Zero 248.95/165.41 new_primMulNat3(Succ(vyv1830000)) -> new_primPlusNat0(new_primMulNat4(vyv1830000), Succ(Succ(Succ(vyv1830000)))) 248.95/165.41 new_primMulNat3(Zero) -> Zero 248.95/165.41 new_primMulNat4(Succ(vyv18300000)) -> new_primPlusNat0(new_primMulNat0(vyv18300000, Succ(Succ(Succ(Succ(vyv18300000))))), Succ(Succ(Succ(Succ(vyv18300000))))) 248.95/165.41 new_primMulNat4(Zero) -> Zero 248.95/165.41 new_sr9(vyv183) -> error([]) 248.95/165.41 new_sr10(vyv183) -> error([]) 248.95/165.41 new_sr4(vyv239, vyv238, app(ty_Ratio, bf)) -> new_sr12(vyv239, vyv238, bf) 248.95/165.41 new_sr4(vyv239, vyv238, ty_Integer) -> new_sr8(vyv239, vyv238) 248.95/165.41 new_sr4(vyv239, vyv238, ty_Int) -> new_sr14(vyv239, vyv238) 248.95/165.41 new_sr4(vyv239, vyv238, ty_Double) -> new_sr11(vyv239, vyv238) 248.95/165.41 new_sr4(vyv239, vyv238, ty_Float) -> new_sr13(vyv239, vyv238) 248.95/165.41 new_sr13(vyv239, vyv238) -> error([]) 248.95/165.41 new_sr11(vyv239, vyv238) -> error([]) 248.95/165.41 new_sr12(:%(vyv2390, vyv2391), :%(vyv2380, vyv2381), bf) -> new_reduce2Reduce1(vyv2390, vyv2380, vyv2391, vyv2381, new_esEs2(vyv2391, vyv2381, bf), bf) 248.95/165.41 new_esEs2(vyv2391, vyv2381, ty_Int) -> new_esEs(new_sr14(vyv2391, vyv2381)) 248.95/165.41 new_esEs2(vyv2391, vyv2381, ty_Integer) -> new_esEs1(new_sr8(vyv2391, vyv2381)) 248.95/165.41 248.95/165.41 Q is empty. 248.95/165.41 We have to consider all (P,Q,R)-chains. 248.95/165.41 ---------------------------------------- 248.95/165.41 248.95/165.41 (879) InductionCalculusProof (EQUIVALENT) 248.95/165.41 Note that final constraints are written in bold face. 248.95/165.41 248.95/165.41 248.95/165.41 248.95/165.41 For Pair new_pr2F0(vyv183, Neg(Succ(Succ(vyv222000))), vyv187, h) -> new_pr2F0G10(vyv187, vyv183, Succ(vyv222000), vyv222000, h) the following chains were created: 248.95/165.41 *We consider the chain new_pr2F0(x4, Neg(Succ(Succ(x5))), x6, x7) -> new_pr2F0G10(x6, x4, Succ(x5), x5, x7), new_pr2F0G10(x8, x9, x10, Succ(Zero), x11) -> new_pr2F0G11(x8, x9, x10, x11) which results in the following constraint: 248.95/165.41 248.95/165.41 (1) (new_pr2F0G10(x6, x4, Succ(x5), x5, x7)=new_pr2F0G10(x8, x9, x10, Succ(Zero), x11) ==> new_pr2F0(x4, Neg(Succ(Succ(x5))), x6, x7)_>=_new_pr2F0G10(x6, x4, Succ(x5), x5, x7)) 248.95/165.41 248.95/165.41 248.95/165.41 248.95/165.41 We simplified constraint (1) using rules (I), (II), (III), (IV) which results in the following new constraint: 248.95/165.41 248.95/165.41 (2) (new_pr2F0(x4, Neg(Succ(Succ(Succ(Zero)))), x6, x7)_>=_new_pr2F0G10(x6, x4, Succ(Succ(Zero)), Succ(Zero), x7)) 248.95/165.41 248.95/165.41 248.95/165.41 248.95/165.41 248.95/165.41 *We consider the chain new_pr2F0(x40, Neg(Succ(Succ(x41))), x42, x43) -> new_pr2F0G10(x42, x40, Succ(x41), x41, x43), new_pr2F0G10(x44, x45, Succ(Zero), Zero, x46) -> new_pr2F0G(x44, new_sr3(x45, x46), Neg(Succ(Zero)), x46) which results in the following constraint: 248.95/165.41 248.95/165.41 (1) (new_pr2F0G10(x42, x40, Succ(x41), x41, x43)=new_pr2F0G10(x44, x45, Succ(Zero), Zero, x46) ==> new_pr2F0(x40, Neg(Succ(Succ(x41))), x42, x43)_>=_new_pr2F0G10(x42, x40, Succ(x41), x41, x43)) 248.95/165.41 248.95/165.41 248.95/165.41 248.95/165.41 We simplified constraint (1) using rules (I), (II), (III), (IV) which results in the following new constraint: 248.95/165.41 248.95/165.41 (2) (new_pr2F0(x40, Neg(Succ(Succ(Zero))), x42, x43)_>=_new_pr2F0G10(x42, x40, Succ(Zero), Zero, x43)) 248.95/165.41 248.95/165.41 248.95/165.41 248.95/165.41 248.95/165.41 248.95/165.41 248.95/165.41 248.95/165.41 248.95/165.41 For Pair new_pr2F0G10(vyv248, vyv249, vyv250, Succ(Zero), bb) -> new_pr2F0G11(vyv248, vyv249, vyv250, bb) the following chains were created: 248.95/165.41 *We consider the chain new_pr2F0G10(x123, x124, x125, Succ(Zero), x126) -> new_pr2F0G11(x123, x124, x125, x126), new_pr2F0G11(x127, x128, x129, x130) -> new_pr2F1(x128, x129, Pos(Succ(Zero)), x127, x130) which results in the following constraint: 248.95/165.41 248.95/165.41 (1) (new_pr2F0G11(x123, x124, x125, x126)=new_pr2F0G11(x127, x128, x129, x130) ==> new_pr2F0G10(x123, x124, x125, Succ(Zero), x126)_>=_new_pr2F0G11(x123, x124, x125, x126)) 248.95/165.41 248.95/165.41 248.95/165.41 248.95/165.41 We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: 248.95/165.41 248.95/165.41 (2) (new_pr2F0G10(x123, x124, x125, Succ(Zero), x126)_>=_new_pr2F0G11(x123, x124, x125, x126)) 248.95/165.41 248.95/165.41 248.95/165.41 248.95/165.41 248.95/165.41 248.95/165.41 248.95/165.41 248.95/165.41 248.95/165.41 For Pair new_pr2F0G11(vyv238, vyv239, vyv240, bc) -> new_pr2F1(vyv239, vyv240, Pos(Succ(Zero)), vyv238, bc) the following chains were created: 248.95/165.41 *We consider the chain new_pr2F0G11(x239, x240, x241, x242) -> new_pr2F1(x240, x241, Pos(Succ(Zero)), x239, x242), new_pr2F1(x243, x244, Pos(Succ(Zero)), x245, x246) -> new_pr2F30(False, x243, x244, Pos(Succ(Zero)), x245, x246) which results in the following constraint: 248.95/165.41 248.95/165.41 (1) (new_pr2F1(x240, x241, Pos(Succ(Zero)), x239, x242)=new_pr2F1(x243, x244, Pos(Succ(Zero)), x245, x246) ==> new_pr2F0G11(x239, x240, x241, x242)_>=_new_pr2F1(x240, x241, Pos(Succ(Zero)), x239, x242)) 248.95/165.41 248.95/165.41 248.95/165.41 248.95/165.41 We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: 248.95/165.41 248.95/165.41 (2) (new_pr2F0G11(x239, x240, x241, x242)_>=_new_pr2F1(x240, x241, Pos(Succ(Zero)), x239, x242)) 248.95/165.41 248.95/165.41 248.95/165.41 248.95/165.41 248.95/165.41 248.95/165.41 248.95/165.41 248.95/165.41 248.95/165.41 For Pair new_pr2F1(z1, z2, Pos(Succ(Zero)), z0, z3) -> new_pr2F30(False, z1, z2, Pos(Succ(Zero)), z0, z3) the following chains were created: 248.95/165.41 *We consider the chain new_pr2F1(x355, x356, Pos(Succ(Zero)), x357, x358) -> new_pr2F30(False, x355, x356, Pos(Succ(Zero)), x357, x358), new_pr2F30(False, x359, x360, Pos(Succ(Zero)), x361, x362) -> new_pr2F0(x359, Neg(Succ(Succ(new_primPlusNat0(x360, Zero)))), new_sr4(x359, x361, x362), x362) which results in the following constraint: 248.95/165.41 248.95/165.41 (1) (new_pr2F30(False, x355, x356, Pos(Succ(Zero)), x357, x358)=new_pr2F30(False, x359, x360, Pos(Succ(Zero)), x361, x362) ==> new_pr2F1(x355, x356, Pos(Succ(Zero)), x357, x358)_>=_new_pr2F30(False, x355, x356, Pos(Succ(Zero)), x357, x358)) 248.95/165.41 248.95/165.41 248.95/165.41 248.95/165.41 We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: 248.95/165.41 248.95/165.41 (2) (new_pr2F1(x355, x356, Pos(Succ(Zero)), x357, x358)_>=_new_pr2F30(False, x355, x356, Pos(Succ(Zero)), x357, x358)) 248.95/165.41 248.95/165.41 248.95/165.41 248.95/165.41 248.95/165.41 248.95/165.41 248.95/165.41 248.95/165.41 248.95/165.41 For Pair new_pr2F30(False, z0, z1, Pos(Succ(Zero)), z2, z3) -> new_pr2F0(z0, Neg(Succ(Succ(new_primPlusNat0(z1, Zero)))), new_sr4(z0, z2, z3), z3) the following chains were created: 248.95/165.41 *We consider the chain new_pr2F30(False, x451, x452, Pos(Succ(Zero)), x453, x454) -> new_pr2F0(x451, Neg(Succ(Succ(new_primPlusNat0(x452, Zero)))), new_sr4(x451, x453, x454), x454), new_pr2F0(x455, Neg(Succ(Succ(x456))), x457, x458) -> new_pr2F0G10(x457, x455, Succ(x456), x456, x458) which results in the following constraint: 248.95/165.41 248.95/165.41 (1) (new_pr2F0(x451, Neg(Succ(Succ(new_primPlusNat0(x452, Zero)))), new_sr4(x451, x453, x454), x454)=new_pr2F0(x455, Neg(Succ(Succ(x456))), x457, x458) ==> new_pr2F30(False, x451, x452, Pos(Succ(Zero)), x453, x454)_>=_new_pr2F0(x451, Neg(Succ(Succ(new_primPlusNat0(x452, Zero)))), new_sr4(x451, x453, x454), x454)) 248.95/165.41 248.95/165.41 248.95/165.41 248.95/165.41 We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: 248.95/165.41 248.95/165.41 (2) (new_pr2F30(False, x451, x452, Pos(Succ(Zero)), x453, x454)_>=_new_pr2F0(x451, Neg(Succ(Succ(new_primPlusNat0(x452, Zero)))), new_sr4(x451, x453, x454), x454)) 248.95/165.41 248.95/165.41 248.95/165.41 248.95/165.41 248.95/165.41 *We consider the chain new_pr2F30(False, x495, x496, Pos(Succ(Zero)), x497, x498) -> new_pr2F0(x495, Neg(Succ(Succ(new_primPlusNat0(x496, Zero)))), new_sr4(x495, x497, x498), x498), new_pr2F0(x499, Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), x500, x501) -> H(x500, x499, Succ(Succ(Succ(Succ(Zero)))), x501, cons_new_pr2F0G10(Succ(Zero))) which results in the following constraint: 248.95/165.41 248.95/165.41 (1) (new_pr2F0(x495, Neg(Succ(Succ(new_primPlusNat0(x496, Zero)))), new_sr4(x495, x497, x498), x498)=new_pr2F0(x499, Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), x500, x501) ==> new_pr2F30(False, x495, x496, Pos(Succ(Zero)), x497, x498)_>=_new_pr2F0(x495, Neg(Succ(Succ(new_primPlusNat0(x496, Zero)))), new_sr4(x495, x497, x498), x498)) 248.95/165.41 248.95/165.41 248.95/165.41 248.95/165.41 We simplified constraint (1) using rules (I), (II), (IV), (VII) which results in the following new constraint: 248.95/165.41 248.95/165.41 (2) (Zero=x2657 & new_primPlusNat0(x496, x2657)=Succ(Succ(Succ(Zero))) ==> new_pr2F30(False, x495, x496, Pos(Succ(Zero)), x497, x498)_>=_new_pr2F0(x495, Neg(Succ(Succ(new_primPlusNat0(x496, Zero)))), new_sr4(x495, x497, x498), x498)) 248.95/165.41 248.95/165.41 248.95/165.41 248.95/165.41 We simplified constraint (2) using rule (V) (with possible (I) afterwards) using induction on new_primPlusNat0(x496, x2657)=Succ(Succ(Succ(Zero))) which results in the following new constraints: 248.95/165.41 248.95/165.41 (3) (Succ(Succ(new_primPlusNat0(x2659, x2658)))=Succ(Succ(Succ(Zero))) & Zero=Succ(x2658) & (\/x2660,x2661,x2662:new_primPlusNat0(x2659, x2658)=Succ(Succ(Succ(Zero))) & Zero=x2658 ==> new_pr2F30(False, x2660, x2659, Pos(Succ(Zero)), x2661, x2662)_>=_new_pr2F0(x2660, Neg(Succ(Succ(new_primPlusNat0(x2659, Zero)))), new_sr4(x2660, x2661, x2662), x2662)) ==> new_pr2F30(False, x495, Succ(x2659), Pos(Succ(Zero)), x497, x498)_>=_new_pr2F0(x495, Neg(Succ(Succ(new_primPlusNat0(Succ(x2659), Zero)))), new_sr4(x495, x497, x498), x498)) 248.95/165.41 248.95/165.41 (4) (Succ(x2663)=Succ(Succ(Succ(Zero))) & Zero=Succ(x2663) ==> new_pr2F30(False, x495, Zero, Pos(Succ(Zero)), x497, x498)_>=_new_pr2F0(x495, Neg(Succ(Succ(new_primPlusNat0(Zero, Zero)))), new_sr4(x495, x497, x498), x498)) 248.95/165.41 248.95/165.41 (5) (Succ(x2664)=Succ(Succ(Succ(Zero))) & Zero=Zero ==> new_pr2F30(False, x495, Succ(x2664), Pos(Succ(Zero)), x497, x498)_>=_new_pr2F0(x495, Neg(Succ(Succ(new_primPlusNat0(Succ(x2664), Zero)))), new_sr4(x495, x497, x498), x498)) 248.95/165.41 248.95/165.41 248.95/165.41 248.95/165.41 We solved constraint (3) using rules (I), (II).We solved constraint (4) using rules (I), (II).We simplified constraint (5) using rules (I), (II), (III) which results in the following new constraint: 248.95/165.41 248.95/165.41 (6) (new_pr2F30(False, x495, Succ(Succ(Succ(Zero))), Pos(Succ(Zero)), x497, x498)_>=_new_pr2F0(x495, Neg(Succ(Succ(new_primPlusNat0(Succ(Succ(Succ(Zero))), Zero)))), new_sr4(x495, x497, x498), x498)) 248.95/165.41 248.95/165.41 248.95/165.41 248.95/165.41 248.95/165.41 *We consider the chain new_pr2F30(False, x502, x503, Pos(Succ(Zero)), x504, x505) -> new_pr2F0(x502, Neg(Succ(Succ(new_primPlusNat0(x503, Zero)))), new_sr4(x502, x504, x505), x505), new_pr2F0(x506, Neg(Succ(Succ(Succ(Succ(Zero))))), x507, x508) -> H(x507, x506, Succ(Succ(Succ(Zero))), x508, cons_new_pr2F0G10(Zero)) which results in the following constraint: 248.95/165.41 248.95/165.41 (1) (new_pr2F0(x502, Neg(Succ(Succ(new_primPlusNat0(x503, Zero)))), new_sr4(x502, x504, x505), x505)=new_pr2F0(x506, Neg(Succ(Succ(Succ(Succ(Zero))))), x507, x508) ==> new_pr2F30(False, x502, x503, Pos(Succ(Zero)), x504, x505)_>=_new_pr2F0(x502, Neg(Succ(Succ(new_primPlusNat0(x503, Zero)))), new_sr4(x502, x504, x505), x505)) 248.95/165.41 248.95/165.41 248.95/165.41 248.95/165.41 We simplified constraint (1) using rules (I), (II), (IV), (VII) which results in the following new constraint: 248.95/165.41 248.95/165.41 (2) (Zero=x2665 & new_primPlusNat0(x503, x2665)=Succ(Succ(Zero)) ==> new_pr2F30(False, x502, x503, Pos(Succ(Zero)), x504, x505)_>=_new_pr2F0(x502, Neg(Succ(Succ(new_primPlusNat0(x503, Zero)))), new_sr4(x502, x504, x505), x505)) 248.95/165.41 248.95/165.41 248.95/165.41 248.95/165.41 We simplified constraint (2) using rule (V) (with possible (I) afterwards) using induction on new_primPlusNat0(x503, x2665)=Succ(Succ(Zero)) which results in the following new constraints: 248.95/165.41 248.95/165.41 (3) (Succ(Succ(new_primPlusNat0(x2667, x2666)))=Succ(Succ(Zero)) & Zero=Succ(x2666) & (\/x2668,x2669,x2670:new_primPlusNat0(x2667, x2666)=Succ(Succ(Zero)) & Zero=x2666 ==> new_pr2F30(False, x2668, x2667, Pos(Succ(Zero)), x2669, x2670)_>=_new_pr2F0(x2668, Neg(Succ(Succ(new_primPlusNat0(x2667, Zero)))), new_sr4(x2668, x2669, x2670), x2670)) ==> new_pr2F30(False, x502, Succ(x2667), Pos(Succ(Zero)), x504, x505)_>=_new_pr2F0(x502, Neg(Succ(Succ(new_primPlusNat0(Succ(x2667), Zero)))), new_sr4(x502, x504, x505), x505)) 248.95/165.41 248.95/165.41 (4) (Succ(x2671)=Succ(Succ(Zero)) & Zero=Succ(x2671) ==> new_pr2F30(False, x502, Zero, Pos(Succ(Zero)), x504, x505)_>=_new_pr2F0(x502, Neg(Succ(Succ(new_primPlusNat0(Zero, Zero)))), new_sr4(x502, x504, x505), x505)) 248.95/165.41 248.95/165.41 (5) (Succ(x2672)=Succ(Succ(Zero)) & Zero=Zero ==> new_pr2F30(False, x502, Succ(x2672), Pos(Succ(Zero)), x504, x505)_>=_new_pr2F0(x502, Neg(Succ(Succ(new_primPlusNat0(Succ(x2672), Zero)))), new_sr4(x502, x504, x505), x505)) 248.95/165.41 248.95/165.41 248.95/165.41 248.95/165.41 We solved constraint (3) using rules (I), (II).We solved constraint (4) using rules (I), (II).We simplified constraint (5) using rules (I), (II), (III) which results in the following new constraint: 248.95/165.41 248.95/165.41 (6) (new_pr2F30(False, x502, Succ(Succ(Zero)), Pos(Succ(Zero)), x504, x505)_>=_new_pr2F0(x502, Neg(Succ(Succ(new_primPlusNat0(Succ(Succ(Zero)), Zero)))), new_sr4(x502, x504, x505), x505)) 248.95/165.41 248.95/165.41 248.95/165.41 248.95/165.41 248.95/165.41 *We consider the chain new_pr2F30(False, x521, x522, Pos(Succ(Zero)), x523, x524) -> new_pr2F0(x521, Neg(Succ(Succ(new_primPlusNat0(x522, Zero)))), new_sr4(x521, x523, x524), x524), new_pr2F0(x525, Neg(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))))), x526, x527) -> H(x526, x525, Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))), x527, cons_new_pr2F0G10(Succ(Zero))) which results in the following constraint: 248.95/165.41 248.95/165.41 (1) (new_pr2F0(x521, Neg(Succ(Succ(new_primPlusNat0(x522, Zero)))), new_sr4(x521, x523, x524), x524)=new_pr2F0(x525, Neg(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))))), x526, x527) ==> new_pr2F30(False, x521, x522, Pos(Succ(Zero)), x523, x524)_>=_new_pr2F0(x521, Neg(Succ(Succ(new_primPlusNat0(x522, Zero)))), new_sr4(x521, x523, x524), x524)) 248.95/165.41 248.95/165.41 248.95/165.41 248.95/165.41 We simplified constraint (1) using rules (I), (II), (IV), (VII) which results in the following new constraint: 248.95/165.41 248.95/165.41 (2) (Zero=x2673 & new_primPlusNat0(x522, x2673)=Succ(Succ(Succ(Succ(Succ(Zero))))) ==> new_pr2F30(False, x521, x522, Pos(Succ(Zero)), x523, x524)_>=_new_pr2F0(x521, Neg(Succ(Succ(new_primPlusNat0(x522, Zero)))), new_sr4(x521, x523, x524), x524)) 248.95/165.41 248.95/165.41 248.95/165.41 248.95/165.41 We simplified constraint (2) using rule (V) (with possible (I) afterwards) using induction on new_primPlusNat0(x522, x2673)=Succ(Succ(Succ(Succ(Succ(Zero))))) which results in the following new constraints: 248.95/165.41 248.95/165.41 (3) (Succ(Succ(new_primPlusNat0(x2675, x2674)))=Succ(Succ(Succ(Succ(Succ(Zero))))) & Zero=Succ(x2674) & (\/x2676,x2677,x2678:new_primPlusNat0(x2675, x2674)=Succ(Succ(Succ(Succ(Succ(Zero))))) & Zero=x2674 ==> new_pr2F30(False, x2676, x2675, Pos(Succ(Zero)), x2677, x2678)_>=_new_pr2F0(x2676, Neg(Succ(Succ(new_primPlusNat0(x2675, Zero)))), new_sr4(x2676, x2677, x2678), x2678)) ==> new_pr2F30(False, x521, Succ(x2675), Pos(Succ(Zero)), x523, x524)_>=_new_pr2F0(x521, Neg(Succ(Succ(new_primPlusNat0(Succ(x2675), Zero)))), new_sr4(x521, x523, x524), x524)) 248.95/165.41 248.95/165.41 (4) (Succ(x2679)=Succ(Succ(Succ(Succ(Succ(Zero))))) & Zero=Succ(x2679) ==> new_pr2F30(False, x521, Zero, Pos(Succ(Zero)), x523, x524)_>=_new_pr2F0(x521, Neg(Succ(Succ(new_primPlusNat0(Zero, Zero)))), new_sr4(x521, x523, x524), x524)) 248.95/165.41 248.95/165.41 (5) (Succ(x2680)=Succ(Succ(Succ(Succ(Succ(Zero))))) & Zero=Zero ==> new_pr2F30(False, x521, Succ(x2680), Pos(Succ(Zero)), x523, x524)_>=_new_pr2F0(x521, Neg(Succ(Succ(new_primPlusNat0(Succ(x2680), Zero)))), new_sr4(x521, x523, x524), x524)) 248.95/165.41 248.95/165.41 248.95/165.41 248.95/165.41 We solved constraint (3) using rules (I), (II).We solved constraint (4) using rules (I), (II).We simplified constraint (5) using rules (I), (II), (III) which results in the following new constraint: 248.95/165.41 248.95/165.41 (6) (new_pr2F30(False, x521, Succ(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Zero)), x523, x524)_>=_new_pr2F0(x521, Neg(Succ(Succ(new_primPlusNat0(Succ(Succ(Succ(Succ(Succ(Zero))))), Zero)))), new_sr4(x521, x523, x524), x524)) 248.95/165.41 248.95/165.41 248.95/165.41 248.95/165.41 248.95/165.41 *We consider the chain new_pr2F30(False, x528, x529, Pos(Succ(Zero)), x530, x531) -> new_pr2F0(x528, Neg(Succ(Succ(new_primPlusNat0(x529, Zero)))), new_sr4(x528, x530, x531), x531), new_pr2F0(x532, Neg(Succ(Succ(Succ(Succ(Succ(Succ(Zero))))))), x533, x534) -> H(x533, x532, Succ(Succ(Succ(Succ(Succ(Zero))))), x534, cons_new_pr2F0G10(Zero)) which results in the following constraint: 248.95/165.41 248.95/165.41 (1) (new_pr2F0(x528, Neg(Succ(Succ(new_primPlusNat0(x529, Zero)))), new_sr4(x528, x530, x531), x531)=new_pr2F0(x532, Neg(Succ(Succ(Succ(Succ(Succ(Succ(Zero))))))), x533, x534) ==> new_pr2F30(False, x528, x529, Pos(Succ(Zero)), x530, x531)_>=_new_pr2F0(x528, Neg(Succ(Succ(new_primPlusNat0(x529, Zero)))), new_sr4(x528, x530, x531), x531)) 248.95/165.41 248.95/165.41 248.95/165.41 248.95/165.41 We simplified constraint (1) using rules (I), (II), (IV), (VII) which results in the following new constraint: 248.95/165.41 248.95/165.41 (2) (Zero=x2681 & new_primPlusNat0(x529, x2681)=Succ(Succ(Succ(Succ(Zero)))) ==> new_pr2F30(False, x528, x529, Pos(Succ(Zero)), x530, x531)_>=_new_pr2F0(x528, Neg(Succ(Succ(new_primPlusNat0(x529, Zero)))), new_sr4(x528, x530, x531), x531)) 248.95/165.41 248.95/165.41 248.95/165.41 248.95/165.41 We simplified constraint (2) using rule (V) (with possible (I) afterwards) using induction on new_primPlusNat0(x529, x2681)=Succ(Succ(Succ(Succ(Zero)))) which results in the following new constraints: 248.95/165.41 248.95/165.41 (3) (Succ(Succ(new_primPlusNat0(x2683, x2682)))=Succ(Succ(Succ(Succ(Zero)))) & Zero=Succ(x2682) & (\/x2684,x2685,x2686:new_primPlusNat0(x2683, x2682)=Succ(Succ(Succ(Succ(Zero)))) & Zero=x2682 ==> new_pr2F30(False, x2684, x2683, Pos(Succ(Zero)), x2685, x2686)_>=_new_pr2F0(x2684, Neg(Succ(Succ(new_primPlusNat0(x2683, Zero)))), new_sr4(x2684, x2685, x2686), x2686)) ==> new_pr2F30(False, x528, Succ(x2683), Pos(Succ(Zero)), x530, x531)_>=_new_pr2F0(x528, Neg(Succ(Succ(new_primPlusNat0(Succ(x2683), Zero)))), new_sr4(x528, x530, x531), x531)) 248.95/165.41 248.95/165.41 (4) (Succ(x2687)=Succ(Succ(Succ(Succ(Zero)))) & Zero=Succ(x2687) ==> new_pr2F30(False, x528, Zero, Pos(Succ(Zero)), x530, x531)_>=_new_pr2F0(x528, Neg(Succ(Succ(new_primPlusNat0(Zero, Zero)))), new_sr4(x528, x530, x531), x531)) 248.95/165.41 248.95/165.41 (5) (Succ(x2688)=Succ(Succ(Succ(Succ(Zero)))) & Zero=Zero ==> new_pr2F30(False, x528, Succ(x2688), Pos(Succ(Zero)), x530, x531)_>=_new_pr2F0(x528, Neg(Succ(Succ(new_primPlusNat0(Succ(x2688), Zero)))), new_sr4(x528, x530, x531), x531)) 248.95/165.41 248.95/165.41 248.95/165.41 248.95/165.41 We solved constraint (3) using rules (I), (II).We solved constraint (4) using rules (I), (II).We simplified constraint (5) using rules (I), (II), (III) which results in the following new constraint: 248.95/165.41 248.95/165.41 (6) (new_pr2F30(False, x528, Succ(Succ(Succ(Succ(Zero)))), Pos(Succ(Zero)), x530, x531)_>=_new_pr2F0(x528, Neg(Succ(Succ(new_primPlusNat0(Succ(Succ(Succ(Succ(Zero)))), Zero)))), new_sr4(x528, x530, x531), x531)) 248.95/165.41 248.95/165.41 248.95/165.41 248.95/165.41 248.95/165.41 *We consider the chain new_pr2F30(False, x551, x552, Pos(Succ(Zero)), x553, x554) -> new_pr2F0(x551, Neg(Succ(Succ(new_primPlusNat0(x552, Zero)))), new_sr4(x551, x553, x554), x554), new_pr2F0(x555, Neg(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(x556))))))))))), x557, x558) -> H(x557, x555, Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(x556))))))))), x558, new_new_pr2F0G10(x556)) which results in the following constraint: 248.95/165.41 248.95/165.41 (1) (new_pr2F0(x551, Neg(Succ(Succ(new_primPlusNat0(x552, Zero)))), new_sr4(x551, x553, x554), x554)=new_pr2F0(x555, Neg(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(x556))))))))))), x557, x558) ==> new_pr2F30(False, x551, x552, Pos(Succ(Zero)), x553, x554)_>=_new_pr2F0(x551, Neg(Succ(Succ(new_primPlusNat0(x552, Zero)))), new_sr4(x551, x553, x554), x554)) 248.95/165.41 248.95/165.41 248.95/165.41 248.95/165.41 We simplified constraint (1) using rules (I), (II), (IV), (VII) which results in the following new constraint: 248.95/165.41 248.95/165.41 (2) (Zero=x2689 & new_primPlusNat0(x552, x2689)=Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(x556)))))))) ==> new_pr2F30(False, x551, x552, Pos(Succ(Zero)), x553, x554)_>=_new_pr2F0(x551, Neg(Succ(Succ(new_primPlusNat0(x552, Zero)))), new_sr4(x551, x553, x554), x554)) 248.95/165.41 248.95/165.41 248.95/165.41 248.95/165.41 We simplified constraint (2) using rule (V) (with possible (I) afterwards) using induction on new_primPlusNat0(x552, x2689)=Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(x556)))))))) which results in the following new constraints: 248.95/165.41 248.95/165.41 (3) (Succ(Succ(new_primPlusNat0(x2691, x2690)))=Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(x556)))))))) & Zero=Succ(x2690) & (\/x2692,x2693,x2694,x2695:new_primPlusNat0(x2691, x2690)=Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(x2692)))))))) & Zero=x2690 ==> new_pr2F30(False, x2693, x2691, Pos(Succ(Zero)), x2694, x2695)_>=_new_pr2F0(x2693, Neg(Succ(Succ(new_primPlusNat0(x2691, Zero)))), new_sr4(x2693, x2694, x2695), x2695)) ==> new_pr2F30(False, x551, Succ(x2691), Pos(Succ(Zero)), x553, x554)_>=_new_pr2F0(x551, Neg(Succ(Succ(new_primPlusNat0(Succ(x2691), Zero)))), new_sr4(x551, x553, x554), x554)) 248.95/165.41 248.95/165.41 (4) (Succ(x2696)=Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(x556)))))))) & Zero=Succ(x2696) ==> new_pr2F30(False, x551, Zero, Pos(Succ(Zero)), x553, x554)_>=_new_pr2F0(x551, Neg(Succ(Succ(new_primPlusNat0(Zero, Zero)))), new_sr4(x551, x553, x554), x554)) 248.95/165.41 248.95/165.41 (5) (Succ(x2697)=Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(x556)))))))) & Zero=Zero ==> new_pr2F30(False, x551, Succ(x2697), Pos(Succ(Zero)), x553, x554)_>=_new_pr2F0(x551, Neg(Succ(Succ(new_primPlusNat0(Succ(x2697), Zero)))), new_sr4(x551, x553, x554), x554)) 248.95/165.41 248.95/165.41 248.95/165.41 248.95/165.41 We solved constraint (3) using rules (I), (II).We solved constraint (4) using rules (I), (II).We simplified constraint (5) using rules (I), (II), (III) which results in the following new constraint: 248.95/165.41 248.95/165.41 (6) (new_pr2F30(False, x551, Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(x556)))))))), Pos(Succ(Zero)), x553, x554)_>=_new_pr2F0(x551, Neg(Succ(Succ(new_primPlusNat0(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(x556)))))))), Zero)))), new_sr4(x551, x553, x554), x554)) 248.95/165.41 248.95/165.41 248.95/165.41 248.95/165.41 248.95/165.41 *We consider the chain new_pr2F30(False, x559, x560, Pos(Succ(Zero)), x561, x562) -> new_pr2F0(x559, Neg(Succ(Succ(new_primPlusNat0(x560, Zero)))), new_sr4(x559, x561, x562), x562), new_pr2F0(x563, Neg(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))))))), x564, x565) -> H(x564, x563, Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))))), x565, cons_new_pr2F0G10(Succ(Zero))) which results in the following constraint: 248.95/165.41 248.95/165.41 (1) (new_pr2F0(x559, Neg(Succ(Succ(new_primPlusNat0(x560, Zero)))), new_sr4(x559, x561, x562), x562)=new_pr2F0(x563, Neg(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))))))), x564, x565) ==> new_pr2F30(False, x559, x560, Pos(Succ(Zero)), x561, x562)_>=_new_pr2F0(x559, Neg(Succ(Succ(new_primPlusNat0(x560, Zero)))), new_sr4(x559, x561, x562), x562)) 248.95/165.41 248.95/165.41 248.95/165.41 248.95/165.41 We simplified constraint (1) using rules (I), (II), (IV), (VII) which results in the following new constraint: 248.95/165.41 248.95/165.41 (2) (Zero=x2698 & new_primPlusNat0(x560, x2698)=Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero))))))) ==> new_pr2F30(False, x559, x560, Pos(Succ(Zero)), x561, x562)_>=_new_pr2F0(x559, Neg(Succ(Succ(new_primPlusNat0(x560, Zero)))), new_sr4(x559, x561, x562), x562)) 248.95/165.41 248.95/165.41 248.95/165.41 248.95/165.41 We simplified constraint (2) using rule (V) (with possible (I) afterwards) using induction on new_primPlusNat0(x560, x2698)=Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero))))))) which results in the following new constraints: 248.95/165.41 248.95/165.41 (3) (Succ(Succ(new_primPlusNat0(x2700, x2699)))=Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero))))))) & Zero=Succ(x2699) & (\/x2701,x2702,x2703:new_primPlusNat0(x2700, x2699)=Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero))))))) & Zero=x2699 ==> new_pr2F30(False, x2701, x2700, Pos(Succ(Zero)), x2702, x2703)_>=_new_pr2F0(x2701, Neg(Succ(Succ(new_primPlusNat0(x2700, Zero)))), new_sr4(x2701, x2702, x2703), x2703)) ==> new_pr2F30(False, x559, Succ(x2700), Pos(Succ(Zero)), x561, x562)_>=_new_pr2F0(x559, Neg(Succ(Succ(new_primPlusNat0(Succ(x2700), Zero)))), new_sr4(x559, x561, x562), x562)) 248.95/165.41 248.95/165.41 (4) (Succ(x2704)=Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero))))))) & Zero=Succ(x2704) ==> new_pr2F30(False, x559, Zero, Pos(Succ(Zero)), x561, x562)_>=_new_pr2F0(x559, Neg(Succ(Succ(new_primPlusNat0(Zero, Zero)))), new_sr4(x559, x561, x562), x562)) 248.95/165.41 248.95/165.41 (5) (Succ(x2705)=Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero))))))) & Zero=Zero ==> new_pr2F30(False, x559, Succ(x2705), Pos(Succ(Zero)), x561, x562)_>=_new_pr2F0(x559, Neg(Succ(Succ(new_primPlusNat0(Succ(x2705), Zero)))), new_sr4(x559, x561, x562), x562)) 248.95/165.41 248.95/165.41 248.95/165.41 248.95/165.41 We solved constraint (3) using rules (I), (II).We solved constraint (4) using rules (I), (II).We simplified constraint (5) using rules (I), (II), (III) which results in the following new constraint: 248.95/165.41 248.95/165.41 (6) (new_pr2F30(False, x559, Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero))))))), Pos(Succ(Zero)), x561, x562)_>=_new_pr2F0(x559, Neg(Succ(Succ(new_primPlusNat0(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero))))))), Zero)))), new_sr4(x559, x561, x562), x562)) 248.95/165.41 248.95/165.41 248.95/165.41 248.95/165.41 248.95/165.41 *We consider the chain new_pr2F30(False, x566, x567, Pos(Succ(Zero)), x568, x569) -> new_pr2F0(x566, Neg(Succ(Succ(new_primPlusNat0(x567, Zero)))), new_sr4(x566, x568, x569), x569), new_pr2F0(x570, Neg(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero))))))))), x571, x572) -> H(x571, x570, Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero))))))), x572, cons_new_pr2F0G10(Zero)) which results in the following constraint: 248.95/165.41 248.95/165.41 (1) (new_pr2F0(x566, Neg(Succ(Succ(new_primPlusNat0(x567, Zero)))), new_sr4(x566, x568, x569), x569)=new_pr2F0(x570, Neg(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero))))))))), x571, x572) ==> new_pr2F30(False, x566, x567, Pos(Succ(Zero)), x568, x569)_>=_new_pr2F0(x566, Neg(Succ(Succ(new_primPlusNat0(x567, Zero)))), new_sr4(x566, x568, x569), x569)) 248.95/165.41 248.95/165.41 248.95/165.41 248.95/165.41 We simplified constraint (1) using rules (I), (II), (IV), (VII) which results in the following new constraint: 248.95/165.41 248.95/165.41 (2) (Zero=x2706 & new_primPlusNat0(x567, x2706)=Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))) ==> new_pr2F30(False, x566, x567, Pos(Succ(Zero)), x568, x569)_>=_new_pr2F0(x566, Neg(Succ(Succ(new_primPlusNat0(x567, Zero)))), new_sr4(x566, x568, x569), x569)) 248.95/165.41 248.95/165.41 248.95/165.41 248.95/165.41 We simplified constraint (2) using rule (V) (with possible (I) afterwards) using induction on new_primPlusNat0(x567, x2706)=Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))) which results in the following new constraints: 248.95/165.41 248.95/165.41 (3) (Succ(Succ(new_primPlusNat0(x2708, x2707)))=Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))) & Zero=Succ(x2707) & (\/x2709,x2710,x2711:new_primPlusNat0(x2708, x2707)=Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))) & Zero=x2707 ==> new_pr2F30(False, x2709, x2708, Pos(Succ(Zero)), x2710, x2711)_>=_new_pr2F0(x2709, Neg(Succ(Succ(new_primPlusNat0(x2708, Zero)))), new_sr4(x2709, x2710, x2711), x2711)) ==> new_pr2F30(False, x566, Succ(x2708), Pos(Succ(Zero)), x568, x569)_>=_new_pr2F0(x566, Neg(Succ(Succ(new_primPlusNat0(Succ(x2708), Zero)))), new_sr4(x566, x568, x569), x569)) 248.95/165.41 248.95/165.41 (4) (Succ(x2712)=Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))) & Zero=Succ(x2712) ==> new_pr2F30(False, x566, Zero, Pos(Succ(Zero)), x568, x569)_>=_new_pr2F0(x566, Neg(Succ(Succ(new_primPlusNat0(Zero, Zero)))), new_sr4(x566, x568, x569), x569)) 248.95/165.41 248.95/165.41 (5) (Succ(x2713)=Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))) & Zero=Zero ==> new_pr2F30(False, x566, Succ(x2713), Pos(Succ(Zero)), x568, x569)_>=_new_pr2F0(x566, Neg(Succ(Succ(new_primPlusNat0(Succ(x2713), Zero)))), new_sr4(x566, x568, x569), x569)) 248.95/165.41 248.95/165.41 248.95/165.41 248.95/165.41 We solved constraint (3) using rules (I), (II).We solved constraint (4) using rules (I), (II).We simplified constraint (5) using rules (I), (II), (III) which results in the following new constraint: 248.95/165.41 248.95/165.41 (6) (new_pr2F30(False, x566, Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(Succ(Zero)), x568, x569)_>=_new_pr2F0(x566, Neg(Succ(Succ(new_primPlusNat0(Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))), Zero)))), new_sr4(x566, x568, x569), x569)) 248.95/165.41 248.95/165.41 248.95/165.41 248.95/165.41 248.95/165.41 248.95/165.41 248.95/165.41 248.95/165.41 248.95/165.41 For Pair H(vyv248, vyv249, vyv250, bb, cons_new_pr2F0G10(Succ(Zero))) -> new_pr2F0G10(vyv248, vyv249, vyv250, Succ(Zero), bb) the following chains were created: 248.95/165.41 *We consider the chain H(x589, x590, x591, x592, cons_new_pr2F0G10(Succ(Zero))) -> new_pr2F0G10(x589, x590, x591, Succ(Zero), x592), new_pr2F0G10(x593, x594, x595, Succ(Zero), x596) -> new_pr2F0G11(x593, x594, x595, x596) which results in the following constraint: 248.95/165.41 248.95/165.41 (1) (new_pr2F0G10(x589, x590, x591, Succ(Zero), x592)=new_pr2F0G10(x593, x594, x595, Succ(Zero), x596) ==> H(x589, x590, x591, x592, cons_new_pr2F0G10(Succ(Zero)))_>=_new_pr2F0G10(x589, x590, x591, Succ(Zero), x592)) 248.95/165.41 248.95/165.41 248.95/165.41 248.95/165.41 We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: 248.95/165.41 248.95/165.41 (2) (H(x589, x590, x591, x592, cons_new_pr2F0G10(Succ(Zero)))_>=_new_pr2F0G10(x589, x590, x591, Succ(Zero), x592)) 248.95/165.41 248.95/165.41 248.95/165.41 248.95/165.41 248.95/165.41 248.95/165.41 248.95/165.41 248.95/165.41 248.95/165.41 For Pair H(vyv248, vyv249, vyv250, bb, cons_new_pr2F0G10(Zero)) -> new_pr2F0G10(vyv248, vyv249, vyv250, Zero, bb) the following chains were created: 248.95/165.41 *We consider the chain H(x733, x734, x735, x736, cons_new_pr2F0G10(Zero)) -> new_pr2F0G10(x733, x734, x735, Zero, x736), new_pr2F0G10(x737, x738, Succ(Zero), Zero, x739) -> new_pr2F0G(x737, new_sr3(x738, x739), Neg(Succ(Zero)), x739) which results in the following constraint: 248.95/165.41 248.95/165.41 (1) (new_pr2F0G10(x733, x734, x735, Zero, x736)=new_pr2F0G10(x737, x738, Succ(Zero), Zero, x739) ==> H(x733, x734, x735, x736, cons_new_pr2F0G10(Zero))_>=_new_pr2F0G10(x733, x734, x735, Zero, x736)) 248.95/165.41 248.95/165.41 248.95/165.41 248.95/165.41 We simplified constraint (1) using rules (I), (II), (III), (IV) which results in the following new constraint: 248.95/165.41 248.95/165.41 (2) (H(x733, x734, Succ(Zero), x736, cons_new_pr2F0G10(Zero))_>=_new_pr2F0G10(x733, x734, Succ(Zero), Zero, x736)) 248.95/165.41 248.95/165.41 248.95/165.41 248.95/165.41 248.95/165.41 *We consider the chain H(x748, x749, x750, x751, cons_new_pr2F0G10(Zero)) -> new_pr2F0G10(x748, x749, x750, Zero, x751), new_pr2F0G10(x752, x753, Succ(Succ(Zero)), Zero, x754) -> new_pr2F0G(x752, new_sr3(x753, x754), Neg(Succ(Zero)), x754) which results in the following constraint: 248.95/165.41 248.95/165.41 (1) (new_pr2F0G10(x748, x749, x750, Zero, x751)=new_pr2F0G10(x752, x753, Succ(Succ(Zero)), Zero, x754) ==> H(x748, x749, x750, x751, cons_new_pr2F0G10(Zero))_>=_new_pr2F0G10(x748, x749, x750, Zero, x751)) 248.95/165.41 248.95/165.41 248.95/165.41 248.95/165.41 We simplified constraint (1) using rules (I), (II), (III), (IV) which results in the following new constraint: 248.95/165.41 248.95/165.41 (2) (H(x748, x749, Succ(Succ(Zero)), x751, cons_new_pr2F0G10(Zero))_>=_new_pr2F0G10(x748, x749, Succ(Succ(Zero)), Zero, x751)) 248.95/165.41 248.95/165.41 248.95/165.41 248.95/165.41 248.95/165.41 *We consider the chain H(x771, x772, x773, x774, cons_new_pr2F0G10(Zero)) -> new_pr2F0G10(x771, x772, x773, Zero, x774), new_pr2F0G10(x775, x776, Succ(Succ(Succ(Succ(x777)))), Zero, x778) -> new_pr2F0G(x775, new_sr3(x776, x778), Neg(Succ(Succ(new_primDivNatS1(Succ(x777), Succ(Zero))))), x778) which results in the following constraint: 248.95/165.41 248.95/165.41 (1) (new_pr2F0G10(x771, x772, x773, Zero, x774)=new_pr2F0G10(x775, x776, Succ(Succ(Succ(Succ(x777)))), Zero, x778) ==> H(x771, x772, x773, x774, cons_new_pr2F0G10(Zero))_>=_new_pr2F0G10(x771, x772, x773, Zero, x774)) 248.95/165.41 248.95/165.41 248.95/165.41 248.95/165.41 We simplified constraint (1) using rules (I), (II), (III), (IV) which results in the following new constraint: 248.95/165.41 248.95/165.41 (2) (H(x771, x772, Succ(Succ(Succ(Succ(x777)))), x774, cons_new_pr2F0G10(Zero))_>=_new_pr2F0G10(x771, x772, Succ(Succ(Succ(Succ(x777)))), Zero, x774)) 248.95/165.41 248.95/165.41 248.95/165.41 248.95/165.41 248.95/165.41 *We consider the chain H(x779, x780, x781, x782, cons_new_pr2F0G10(Zero)) -> new_pr2F0G10(x779, x780, x781, Zero, x782), new_pr2F0G10(x783, x784, Succ(Succ(Succ(Zero))), Zero, x785) -> new_pr2F0G(x783, new_sr3(x784, x785), Neg(Succ(Succ(Zero))), x785) which results in the following constraint: 248.95/165.41 248.95/165.41 (1) (new_pr2F0G10(x779, x780, x781, Zero, x782)=new_pr2F0G10(x783, x784, Succ(Succ(Succ(Zero))), Zero, x785) ==> H(x779, x780, x781, x782, cons_new_pr2F0G10(Zero))_>=_new_pr2F0G10(x779, x780, x781, Zero, x782)) 248.95/165.41 248.95/165.41 248.95/165.41 248.95/165.41 We simplified constraint (1) using rules (I), (II), (III), (IV) which results in the following new constraint: 248.95/165.41 248.95/165.41 (2) (H(x779, x780, Succ(Succ(Succ(Zero))), x782, cons_new_pr2F0G10(Zero))_>=_new_pr2F0G10(x779, x780, Succ(Succ(Succ(Zero))), Zero, x782)) 248.95/165.41 248.95/165.41 248.95/165.41 248.95/165.41 248.95/165.41 248.95/165.41 248.95/165.41 248.95/165.41 248.95/165.41 For Pair new_pr2F0G(vyv187, vyv183, Neg(Succ(Zero)), h) -> new_pr2F0G11(vyv187, vyv183, Zero, h) the following chains were created: 248.95/165.41 *We consider the chain new_pr2F0G(x824, x825, Neg(Succ(Zero)), x826) -> new_pr2F0G11(x824, x825, Zero, x826), new_pr2F0G11(x827, x828, x829, x830) -> new_pr2F1(x828, x829, Pos(Succ(Zero)), x827, x830) which results in the following constraint: 248.95/165.41 248.95/165.41 (1) (new_pr2F0G11(x824, x825, Zero, x826)=new_pr2F0G11(x827, x828, x829, x830) ==> new_pr2F0G(x824, x825, Neg(Succ(Zero)), x826)_>=_new_pr2F0G11(x824, x825, Zero, x826)) 248.95/165.41 248.95/165.41 248.95/165.41 248.95/165.41 We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: 248.95/165.41 248.95/165.41 (2) (new_pr2F0G(x824, x825, Neg(Succ(Zero)), x826)_>=_new_pr2F0G11(x824, x825, Zero, x826)) 248.95/165.41 248.95/165.41 248.95/165.41 248.95/165.41 248.95/165.41 248.95/165.41 248.95/165.41 248.95/165.41 248.95/165.41 For Pair new_pr2F0G(vyv187, vyv183, Neg(Succ(Succ(vyv222000))), h) -> new_pr2F0G10(vyv187, vyv183, Succ(vyv222000), vyv222000, h) the following chains were created: 248.95/165.41 *We consider the chain new_pr2F0G(x907, x908, Neg(Succ(Succ(x909))), x910) -> new_pr2F0G10(x907, x908, Succ(x909), x909, x910), new_pr2F0G10(x911, x912, x913, Succ(Zero), x914) -> new_pr2F0G11(x911, x912, x913, x914) which results in the following constraint: 248.95/165.41 248.95/165.41 (1) (new_pr2F0G10(x907, x908, Succ(x909), x909, x910)=new_pr2F0G10(x911, x912, x913, Succ(Zero), x914) ==> new_pr2F0G(x907, x908, Neg(Succ(Succ(x909))), x910)_>=_new_pr2F0G10(x907, x908, Succ(x909), x909, x910)) 248.95/165.41 248.95/165.41 248.95/165.41 248.95/165.41 We simplified constraint (1) using rules (I), (II), (III), (IV) which results in the following new constraint: 248.95/165.41 248.95/165.41 (2) (new_pr2F0G(x907, x908, Neg(Succ(Succ(Succ(Zero)))), x910)_>=_new_pr2F0G10(x907, x908, Succ(Succ(Zero)), Succ(Zero), x910)) 248.95/165.41 248.95/165.41 248.95/165.41 248.95/165.41 248.95/165.41 *We consider the chain new_pr2F0G(x943, x944, Neg(Succ(Succ(x945))), x946) -> new_pr2F0G10(x943, x944, Succ(x945), x945, x946), new_pr2F0G10(x947, x948, Succ(Zero), Zero, x949) -> new_pr2F0G(x947, new_sr3(x948, x949), Neg(Succ(Zero)), x949) which results in the following constraint: 248.95/165.41 248.95/165.41 (1) (new_pr2F0G10(x943, x944, Succ(x945), x945, x946)=new_pr2F0G10(x947, x948, Succ(Zero), Zero, x949) ==> new_pr2F0G(x943, x944, Neg(Succ(Succ(x945))), x946)_>=_new_pr2F0G10(x943, x944, Succ(x945), x945, x946)) 248.95/165.41 248.95/165.41 248.95/165.41 248.95/165.41 We simplified constraint (1) using rules (I), (II), (III), (IV) which results in the following new constraint: 248.95/165.41 248.95/165.41 (2) (new_pr2F0G(x943, x944, Neg(Succ(Succ(Zero))), x946)_>=_new_pr2F0G10(x943, x944, Succ(Zero), Zero, x946)) 248.95/165.41 248.95/165.41 248.95/165.41 248.95/165.41 248.95/165.41 248.95/165.41 248.95/165.41 248.95/165.41 248.95/165.41 For Pair new_pr2F0G10(y0, y1, Succ(Zero), Zero, y3) -> new_pr2F0G(y0, new_sr3(y1, y3), Neg(Succ(Zero)), y3) the following chains were created: 248.95/165.41 *We consider the chain new_pr2F0G10(x1039, x1040, Succ(Zero), Zero, x1041) -> new_pr2F0G(x1039, new_sr3(x1040, x1041), Neg(Succ(Zero)), x1041), new_pr2F0G(x1042, x1043, Neg(Succ(Zero)), x1044) -> new_pr2F0G11(x1042, x1043, Zero, x1044) which results in the following constraint: 248.95/165.41 248.95/165.41 (1) (new_pr2F0G(x1039, new_sr3(x1040, x1041), Neg(Succ(Zero)), x1041)=new_pr2F0G(x1042, x1043, Neg(Succ(Zero)), x1044) ==> new_pr2F0G10(x1039, x1040, Succ(Zero), Zero, x1041)_>=_new_pr2F0G(x1039, new_sr3(x1040, x1041), Neg(Succ(Zero)), x1041)) 248.95/165.41 248.95/165.41 248.95/165.41 248.95/165.41 We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: 248.95/165.41 248.95/165.41 (2) (new_pr2F0G10(x1039, x1040, Succ(Zero), Zero, x1041)_>=_new_pr2F0G(x1039, new_sr3(x1040, x1041), Neg(Succ(Zero)), x1041)) 248.95/165.41 248.95/165.41 248.95/165.41 248.95/165.41 248.95/165.41 248.95/165.41 248.95/165.41 248.95/165.41 248.95/165.41 For Pair new_pr2F0(y0, Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), y2, y3) -> H(y2, y0, Succ(Succ(Succ(Succ(Zero)))), y3, cons_new_pr2F0G10(Succ(Zero))) the following chains were created: 248.95/165.41 *We consider the chain new_pr2F0(x1117, Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), x1118, x1119) -> H(x1118, x1117, Succ(Succ(Succ(Succ(Zero)))), x1119, cons_new_pr2F0G10(Succ(Zero))), H(x1120, x1121, x1122, x1123, cons_new_pr2F0G10(Succ(Zero))) -> new_pr2F0G10(x1120, x1121, x1122, Succ(Zero), x1123) which results in the following constraint: 248.95/165.41 248.95/165.41 (1) (H(x1118, x1117, Succ(Succ(Succ(Succ(Zero)))), x1119, cons_new_pr2F0G10(Succ(Zero)))=H(x1120, x1121, x1122, x1123, cons_new_pr2F0G10(Succ(Zero))) ==> new_pr2F0(x1117, Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), x1118, x1119)_>=_H(x1118, x1117, Succ(Succ(Succ(Succ(Zero)))), x1119, cons_new_pr2F0G10(Succ(Zero)))) 248.95/165.41 248.95/165.41 248.95/165.41 248.95/165.41 We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: 248.95/165.41 248.95/165.41 (2) (new_pr2F0(x1117, Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), x1118, x1119)_>=_H(x1118, x1117, Succ(Succ(Succ(Succ(Zero)))), x1119, cons_new_pr2F0G10(Succ(Zero)))) 248.95/165.41 248.95/165.41 248.95/165.41 248.95/165.41 248.95/165.41 248.95/165.41 248.95/165.41 248.95/165.41 248.95/165.41 For Pair new_pr2F0(y0, Neg(Succ(Succ(Succ(Succ(Zero))))), y2, y3) -> H(y2, y0, Succ(Succ(Succ(Zero))), y3, cons_new_pr2F0G10(Zero)) the following chains were created: 248.95/165.41 *We consider the chain new_pr2F0(x1205, Neg(Succ(Succ(Succ(Succ(Zero))))), x1206, x1207) -> H(x1206, x1205, Succ(Succ(Succ(Zero))), x1207, cons_new_pr2F0G10(Zero)), H(x1208, x1209, x1210, x1211, cons_new_pr2F0G10(Zero)) -> new_pr2F0G10(x1208, x1209, x1210, Zero, x1211) which results in the following constraint: 248.95/165.41 248.95/165.41 (1) (H(x1206, x1205, Succ(Succ(Succ(Zero))), x1207, cons_new_pr2F0G10(Zero))=H(x1208, x1209, x1210, x1211, cons_new_pr2F0G10(Zero)) ==> new_pr2F0(x1205, Neg(Succ(Succ(Succ(Succ(Zero))))), x1206, x1207)_>=_H(x1206, x1205, Succ(Succ(Succ(Zero))), x1207, cons_new_pr2F0G10(Zero))) 248.95/165.41 248.95/165.41 248.95/165.41 248.95/165.41 We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: 248.95/165.41 248.95/165.41 (2) (new_pr2F0(x1205, Neg(Succ(Succ(Succ(Succ(Zero))))), x1206, x1207)_>=_H(x1206, x1205, Succ(Succ(Succ(Zero))), x1207, cons_new_pr2F0G10(Zero))) 248.95/165.41 248.95/165.41 248.95/165.41 248.95/165.41 248.95/165.41 248.95/165.41 248.95/165.41 248.95/165.41 248.95/165.41 For Pair new_pr2F0G10(y0, y1, Succ(Succ(Zero)), Zero, y3) -> new_pr2F0G(y0, new_sr3(y1, y3), Neg(Succ(Zero)), y3) the following chains were created: 248.95/165.41 *We consider the chain new_pr2F0G10(x1293, x1294, Succ(Succ(Zero)), Zero, x1295) -> new_pr2F0G(x1293, new_sr3(x1294, x1295), Neg(Succ(Zero)), x1295), new_pr2F0G(x1296, x1297, Neg(Succ(Zero)), x1298) -> new_pr2F0G11(x1296, x1297, Zero, x1298) which results in the following constraint: 248.95/165.41 248.95/165.41 (1) (new_pr2F0G(x1293, new_sr3(x1294, x1295), Neg(Succ(Zero)), x1295)=new_pr2F0G(x1296, x1297, Neg(Succ(Zero)), x1298) ==> new_pr2F0G10(x1293, x1294, Succ(Succ(Zero)), Zero, x1295)_>=_new_pr2F0G(x1293, new_sr3(x1294, x1295), Neg(Succ(Zero)), x1295)) 248.95/165.41 248.95/165.41 248.95/165.41 248.95/165.41 We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: 248.95/165.41 248.95/165.41 (2) (new_pr2F0G10(x1293, x1294, Succ(Succ(Zero)), Zero, x1295)_>=_new_pr2F0G(x1293, new_sr3(x1294, x1295), Neg(Succ(Zero)), x1295)) 248.95/165.41 248.95/165.41 248.95/165.41 248.95/165.41 248.95/165.41 248.95/165.41 248.95/165.41 248.95/165.41 248.95/165.41 For Pair new_pr2F0G(y0, y1, Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), y3) -> H(y0, y1, Succ(Succ(Succ(Succ(Zero)))), y3, cons_new_pr2F0G10(Succ(Zero))) the following chains were created: 248.95/165.41 *We consider the chain new_pr2F0G(x1371, x1372, Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), x1373) -> H(x1371, x1372, Succ(Succ(Succ(Succ(Zero)))), x1373, cons_new_pr2F0G10(Succ(Zero))), H(x1374, x1375, x1376, x1377, cons_new_pr2F0G10(Succ(Zero))) -> new_pr2F0G10(x1374, x1375, x1376, Succ(Zero), x1377) which results in the following constraint: 248.95/165.41 248.95/165.41 (1) (H(x1371, x1372, Succ(Succ(Succ(Succ(Zero)))), x1373, cons_new_pr2F0G10(Succ(Zero)))=H(x1374, x1375, x1376, x1377, cons_new_pr2F0G10(Succ(Zero))) ==> new_pr2F0G(x1371, x1372, Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), x1373)_>=_H(x1371, x1372, Succ(Succ(Succ(Succ(Zero)))), x1373, cons_new_pr2F0G10(Succ(Zero)))) 248.95/165.41 248.95/165.41 248.95/165.41 248.95/165.41 We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: 248.95/165.41 248.95/165.41 (2) (new_pr2F0G(x1371, x1372, Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), x1373)_>=_H(x1371, x1372, Succ(Succ(Succ(Succ(Zero)))), x1373, cons_new_pr2F0G10(Succ(Zero)))) 248.95/165.41 248.95/165.41 248.95/165.41 248.95/165.41 248.95/165.41 248.95/165.41 248.95/165.41 248.95/165.41 248.95/165.41 For Pair new_pr2F0G(y0, y1, Neg(Succ(Succ(Succ(Succ(Zero))))), y3) -> H(y0, y1, Succ(Succ(Succ(Zero))), y3, cons_new_pr2F0G10(Zero)) the following chains were created: 248.95/165.41 *We consider the chain new_pr2F0G(x1459, x1460, Neg(Succ(Succ(Succ(Succ(Zero))))), x1461) -> H(x1459, x1460, Succ(Succ(Succ(Zero))), x1461, cons_new_pr2F0G10(Zero)), H(x1462, x1463, x1464, x1465, cons_new_pr2F0G10(Zero)) -> new_pr2F0G10(x1462, x1463, x1464, Zero, x1465) which results in the following constraint: 248.95/165.41 248.95/165.41 (1) (H(x1459, x1460, Succ(Succ(Succ(Zero))), x1461, cons_new_pr2F0G10(Zero))=H(x1462, x1463, x1464, x1465, cons_new_pr2F0G10(Zero)) ==> new_pr2F0G(x1459, x1460, Neg(Succ(Succ(Succ(Succ(Zero))))), x1461)_>=_H(x1459, x1460, Succ(Succ(Succ(Zero))), x1461, cons_new_pr2F0G10(Zero))) 248.95/165.41 248.95/165.41 248.95/165.41 248.95/165.41 We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: 248.95/165.41 248.95/165.41 (2) (new_pr2F0G(x1459, x1460, Neg(Succ(Succ(Succ(Succ(Zero))))), x1461)_>=_H(x1459, x1460, Succ(Succ(Succ(Zero))), x1461, cons_new_pr2F0G10(Zero))) 248.95/165.41 248.95/165.41 248.95/165.41 248.95/165.41 248.95/165.41 248.95/165.41 248.95/165.41 248.95/165.41 248.95/165.41 For Pair new_pr2F0(y0, Neg(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))))), y2, y3) -> H(y2, y0, Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))), y3, cons_new_pr2F0G10(Succ(Zero))) the following chains were created: 248.95/165.41 *We consider the chain new_pr2F0(x1541, Neg(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))))), x1542, x1543) -> H(x1542, x1541, Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))), x1543, cons_new_pr2F0G10(Succ(Zero))), H(x1544, x1545, x1546, x1547, cons_new_pr2F0G10(Succ(Zero))) -> new_pr2F0G10(x1544, x1545, x1546, Succ(Zero), x1547) which results in the following constraint: 248.95/165.41 248.95/165.41 (1) (H(x1542, x1541, Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))), x1543, cons_new_pr2F0G10(Succ(Zero)))=H(x1544, x1545, x1546, x1547, cons_new_pr2F0G10(Succ(Zero))) ==> new_pr2F0(x1541, Neg(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))))), x1542, x1543)_>=_H(x1542, x1541, Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))), x1543, cons_new_pr2F0G10(Succ(Zero)))) 248.95/165.41 248.95/165.41 248.95/165.41 248.95/165.41 We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: 248.95/165.41 248.95/165.41 (2) (new_pr2F0(x1541, Neg(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))))), x1542, x1543)_>=_H(x1542, x1541, Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))), x1543, cons_new_pr2F0G10(Succ(Zero)))) 248.95/165.41 248.95/165.41 248.95/165.41 248.95/165.41 248.95/165.41 248.95/165.41 248.95/165.41 248.95/165.41 248.95/165.41 For Pair new_pr2F0(y0, Neg(Succ(Succ(Succ(Succ(Succ(Succ(Zero))))))), y2, y3) -> H(y2, y0, Succ(Succ(Succ(Succ(Succ(Zero))))), y3, cons_new_pr2F0G10(Zero)) the following chains were created: 248.95/165.41 *We consider the chain new_pr2F0(x1629, Neg(Succ(Succ(Succ(Succ(Succ(Succ(Zero))))))), x1630, x1631) -> H(x1630, x1629, Succ(Succ(Succ(Succ(Succ(Zero))))), x1631, cons_new_pr2F0G10(Zero)), H(x1632, x1633, x1634, x1635, cons_new_pr2F0G10(Zero)) -> new_pr2F0G10(x1632, x1633, x1634, Zero, x1635) which results in the following constraint: 248.95/165.41 248.95/165.41 (1) (H(x1630, x1629, Succ(Succ(Succ(Succ(Succ(Zero))))), x1631, cons_new_pr2F0G10(Zero))=H(x1632, x1633, x1634, x1635, cons_new_pr2F0G10(Zero)) ==> new_pr2F0(x1629, Neg(Succ(Succ(Succ(Succ(Succ(Succ(Zero))))))), x1630, x1631)_>=_H(x1630, x1629, Succ(Succ(Succ(Succ(Succ(Zero))))), x1631, cons_new_pr2F0G10(Zero))) 248.95/165.41 248.95/165.41 248.95/165.41 248.95/165.41 We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: 248.95/165.41 248.95/165.41 (2) (new_pr2F0(x1629, Neg(Succ(Succ(Succ(Succ(Succ(Succ(Zero))))))), x1630, x1631)_>=_H(x1630, x1629, Succ(Succ(Succ(Succ(Succ(Zero))))), x1631, cons_new_pr2F0G10(Zero))) 248.95/165.41 248.95/165.41 248.95/165.41 248.95/165.41 248.95/165.41 248.95/165.41 248.95/165.41 248.95/165.41 248.95/165.41 For Pair new_pr2F0G10(y0, y1, Succ(Succ(Succ(Succ(x2)))), Zero, y3) -> new_pr2F0G(y0, new_sr3(y1, y3), Neg(Succ(Succ(new_primDivNatS1(Succ(x2), Succ(Zero))))), y3) the following chains were created: 248.95/165.41 *We consider the chain new_pr2F0G10(x1728, x1729, Succ(Succ(Succ(Succ(x1730)))), Zero, x1731) -> new_pr2F0G(x1728, new_sr3(x1729, x1731), Neg(Succ(Succ(new_primDivNatS1(Succ(x1730), Succ(Zero))))), x1731), new_pr2F0G(x1732, x1733, Neg(Succ(Succ(x1734))), x1735) -> new_pr2F0G10(x1732, x1733, Succ(x1734), x1734, x1735) which results in the following constraint: 248.95/165.41 248.95/165.41 (1) (new_pr2F0G(x1728, new_sr3(x1729, x1731), Neg(Succ(Succ(new_primDivNatS1(Succ(x1730), Succ(Zero))))), x1731)=new_pr2F0G(x1732, x1733, Neg(Succ(Succ(x1734))), x1735) ==> new_pr2F0G10(x1728, x1729, Succ(Succ(Succ(Succ(x1730)))), Zero, x1731)_>=_new_pr2F0G(x1728, new_sr3(x1729, x1731), Neg(Succ(Succ(new_primDivNatS1(Succ(x1730), Succ(Zero))))), x1731)) 248.95/165.41 248.95/165.41 248.95/165.41 248.95/165.41 We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: 248.95/165.41 248.95/165.41 (2) (new_pr2F0G10(x1728, x1729, Succ(Succ(Succ(Succ(x1730)))), Zero, x1731)_>=_new_pr2F0G(x1728, new_sr3(x1729, x1731), Neg(Succ(Succ(new_primDivNatS1(Succ(x1730), Succ(Zero))))), x1731)) 248.95/165.41 248.95/165.41 248.95/165.41 248.95/165.41 248.95/165.41 *We consider the chain new_pr2F0G10(x1752, x1753, Succ(Succ(Succ(Succ(x1754)))), Zero, x1755) -> new_pr2F0G(x1752, new_sr3(x1753, x1755), Neg(Succ(Succ(new_primDivNatS1(Succ(x1754), Succ(Zero))))), x1755), new_pr2F0G(x1756, x1757, Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), x1758) -> H(x1756, x1757, Succ(Succ(Succ(Succ(Zero)))), x1758, cons_new_pr2F0G10(Succ(Zero))) which results in the following constraint: 248.95/165.41 248.95/165.41 (1) (new_pr2F0G(x1752, new_sr3(x1753, x1755), Neg(Succ(Succ(new_primDivNatS1(Succ(x1754), Succ(Zero))))), x1755)=new_pr2F0G(x1756, x1757, Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), x1758) ==> new_pr2F0G10(x1752, x1753, Succ(Succ(Succ(Succ(x1754)))), Zero, x1755)_>=_new_pr2F0G(x1752, new_sr3(x1753, x1755), Neg(Succ(Succ(new_primDivNatS1(Succ(x1754), Succ(Zero))))), x1755)) 248.95/165.41 248.95/165.41 248.95/165.41 248.95/165.41 We simplified constraint (1) using rules (I), (II), (IV), (VII) which results in the following new constraint: 248.95/165.41 248.95/165.41 (2) (Succ(x1754)=x2714 & Succ(Zero)=x2715 & new_primDivNatS1(x2714, x2715)=Succ(Succ(Succ(Zero))) ==> new_pr2F0G10(x1752, x1753, Succ(Succ(Succ(Succ(x1754)))), Zero, x1755)_>=_new_pr2F0G(x1752, new_sr3(x1753, x1755), Neg(Succ(Succ(new_primDivNatS1(Succ(x1754), Succ(Zero))))), x1755)) 248.95/165.41 248.95/165.41 248.95/165.41 248.95/165.41 We simplified constraint (2) using rule (V) (with possible (I) afterwards) using induction on new_primDivNatS1(x2714, x2715)=Succ(Succ(Succ(Zero))) which results in the following new constraints: 248.95/165.41 248.95/165.41 (3) (new_primDivNatS02(x2718, x2717, x2718, x2717)=Succ(Succ(Succ(Zero))) & Succ(x1754)=Succ(Succ(x2718)) & Succ(Zero)=Succ(x2717) ==> new_pr2F0G10(x1752, x1753, Succ(Succ(Succ(Succ(x1754)))), Zero, x1755)_>=_new_pr2F0G(x1752, new_sr3(x1753, x1755), Neg(Succ(Succ(new_primDivNatS1(Succ(x1754), Succ(Zero))))), x1755)) 248.95/165.41 248.95/165.41 (4) (Succ(new_primDivNatS1(new_primMinusNatS0(x2720), Zero))=Succ(Succ(Succ(Zero))) & Succ(x1754)=Succ(Succ(x2720)) & Succ(Zero)=Zero ==> new_pr2F0G10(x1752, x1753, Succ(Succ(Succ(Succ(x1754)))), Zero, x1755)_>=_new_pr2F0G(x1752, new_sr3(x1753, x1755), Neg(Succ(Succ(new_primDivNatS1(Succ(x1754), Succ(Zero))))), x1755)) 248.95/165.41 248.95/165.41 (5) (Succ(new_primDivNatS1(new_primMinusNatS1, Zero))=Succ(Succ(Succ(Zero))) & Succ(x1754)=Succ(Zero) & Succ(Zero)=Zero ==> new_pr2F0G10(x1752, x1753, Succ(Succ(Succ(Succ(x1754)))), Zero, x1755)_>=_new_pr2F0G(x1752, new_sr3(x1753, x1755), Neg(Succ(Succ(new_primDivNatS1(Succ(x1754), Succ(Zero))))), x1755)) 248.95/165.41 248.95/165.41 248.95/165.41 248.95/165.41 We simplified constraint (3) using rules (I), (II), (III), (VII) which results in the following new constraint: 248.95/165.41 248.95/165.41 (6) (x2718=x2721 & x2717=x2722 & new_primDivNatS02(x2718, x2717, x2721, x2722)=Succ(Succ(Succ(Zero))) & Zero=x2717 ==> new_pr2F0G10(x1752, x1753, Succ(Succ(Succ(Succ(Succ(x2718))))), Zero, x1755)_>=_new_pr2F0G(x1752, new_sr3(x1753, x1755), Neg(Succ(Succ(new_primDivNatS1(Succ(Succ(x2718)), Succ(Zero))))), x1755)) 248.95/165.41 248.95/165.41 248.95/165.41 248.95/165.41 We solved constraint (4) using rules (I), (II).We solved constraint (5) using rules (I), (II).We simplified constraint (6) using rule (V) (with possible (I) afterwards) using induction on new_primDivNatS02(x2718, x2717, x2721, x2722)=Succ(Succ(Succ(Zero))) which results in the following new constraints: 248.95/165.41 248.95/165.41 (7) (new_primDivNatS01(x2724, x2723)=Succ(Succ(Succ(Zero))) & x2724=Zero & x2723=Zero & Zero=x2723 ==> new_pr2F0G10(x1752, x1753, Succ(Succ(Succ(Succ(Succ(x2724))))), Zero, x1755)_>=_new_pr2F0G(x1752, new_sr3(x1753, x1755), Neg(Succ(Succ(new_primDivNatS1(Succ(Succ(x2724)), Succ(Zero))))), x1755)) 248.95/165.41 248.95/165.41 (8) (new_primDivNatS01(x2727, x2726)=Succ(Succ(Succ(Zero))) & x2727=Succ(x2725) & x2726=Zero & Zero=x2726 ==> new_pr2F0G10(x1752, x1753, Succ(Succ(Succ(Succ(Succ(x2727))))), Zero, x1755)_>=_new_pr2F0G(x1752, new_sr3(x1753, x1755), Neg(Succ(Succ(new_primDivNatS1(Succ(Succ(x2727)), Succ(Zero))))), x1755)) 248.95/165.41 248.95/165.41 (9) (new_primDivNatS02(x2734, x2733, x2732, x2731)=Succ(Succ(Succ(Zero))) & x2734=Succ(x2732) & x2733=Succ(x2731) & Zero=x2733 & (\/x2735,x2736,x2737:new_primDivNatS02(x2734, x2733, x2732, x2731)=Succ(Succ(Succ(Zero))) & x2734=x2732 & x2733=x2731 & Zero=x2733 ==> new_pr2F0G10(x2735, x2736, Succ(Succ(Succ(Succ(Succ(x2734))))), Zero, x2737)_>=_new_pr2F0G(x2735, new_sr3(x2736, x2737), Neg(Succ(Succ(new_primDivNatS1(Succ(Succ(x2734)), Succ(Zero))))), x2737)) ==> new_pr2F0G10(x1752, x1753, Succ(Succ(Succ(Succ(Succ(x2734))))), Zero, x1755)_>=_new_pr2F0G(x1752, new_sr3(x1753, x1755), Neg(Succ(Succ(new_primDivNatS1(Succ(Succ(x2734)), Succ(Zero))))), x1755)) 248.95/165.41 248.95/165.41 248.95/165.41 248.95/165.41 We simplified constraint (7) using rules (I), (II), (III), (IV), (VII) which results in the following new constraint: 248.95/165.41 248.95/165.41 (10) (new_pr2F0G10(x1752, x1753, Succ(Succ(Succ(Succ(Succ(Zero))))), Zero, x1755)_>=_new_pr2F0G(x1752, new_sr3(x1753, x1755), Neg(Succ(Succ(new_primDivNatS1(Succ(Succ(Zero)), Succ(Zero))))), x1755)) 248.95/165.41 248.95/165.41 248.95/165.41 248.95/165.41 We simplified constraint (8) using rules (I), (II), (III), (IV), (VII) which results in the following new constraint: 248.95/165.41 248.95/165.41 (11) (new_pr2F0G10(x1752, x1753, Succ(Succ(Succ(Succ(Succ(Succ(x2725)))))), Zero, x1755)_>=_new_pr2F0G(x1752, new_sr3(x1753, x1755), Neg(Succ(Succ(new_primDivNatS1(Succ(Succ(Succ(x2725))), Succ(Zero))))), x1755)) 248.95/165.41 248.95/165.41 248.95/165.41 248.95/165.41 We solved constraint (9) using rules (I), (II), (III). 248.95/165.41 *We consider the chain new_pr2F0G10(x1759, x1760, Succ(Succ(Succ(Succ(x1761)))), Zero, x1762) -> new_pr2F0G(x1759, new_sr3(x1760, x1762), Neg(Succ(Succ(new_primDivNatS1(Succ(x1761), Succ(Zero))))), x1762), new_pr2F0G(x1763, x1764, Neg(Succ(Succ(Succ(Succ(Zero))))), x1765) -> H(x1763, x1764, Succ(Succ(Succ(Zero))), x1765, cons_new_pr2F0G10(Zero)) which results in the following constraint: 248.95/165.41 248.95/165.41 (1) (new_pr2F0G(x1759, new_sr3(x1760, x1762), Neg(Succ(Succ(new_primDivNatS1(Succ(x1761), Succ(Zero))))), x1762)=new_pr2F0G(x1763, x1764, Neg(Succ(Succ(Succ(Succ(Zero))))), x1765) ==> new_pr2F0G10(x1759, x1760, Succ(Succ(Succ(Succ(x1761)))), Zero, x1762)_>=_new_pr2F0G(x1759, new_sr3(x1760, x1762), Neg(Succ(Succ(new_primDivNatS1(Succ(x1761), Succ(Zero))))), x1762)) 248.95/165.41 248.95/165.41 248.95/165.41 248.95/165.41 We simplified constraint (1) using rules (I), (II), (IV), (VII) which results in the following new constraint: 248.95/165.41 248.95/165.41 (2) (Succ(x1761)=x2742 & Succ(Zero)=x2743 & new_primDivNatS1(x2742, x2743)=Succ(Succ(Zero)) ==> new_pr2F0G10(x1759, x1760, Succ(Succ(Succ(Succ(x1761)))), Zero, x1762)_>=_new_pr2F0G(x1759, new_sr3(x1760, x1762), Neg(Succ(Succ(new_primDivNatS1(Succ(x1761), Succ(Zero))))), x1762)) 248.95/165.41 248.95/165.41 248.95/165.41 248.95/165.41 We simplified constraint (2) using rule (V) (with possible (I) afterwards) using induction on new_primDivNatS1(x2742, x2743)=Succ(Succ(Zero)) which results in the following new constraints: 248.95/165.41 248.95/165.41 (3) (new_primDivNatS02(x2746, x2745, x2746, x2745)=Succ(Succ(Zero)) & Succ(x1761)=Succ(Succ(x2746)) & Succ(Zero)=Succ(x2745) ==> new_pr2F0G10(x1759, x1760, Succ(Succ(Succ(Succ(x1761)))), Zero, x1762)_>=_new_pr2F0G(x1759, new_sr3(x1760, x1762), Neg(Succ(Succ(new_primDivNatS1(Succ(x1761), Succ(Zero))))), x1762)) 248.95/165.41 248.95/165.41 (4) (Succ(new_primDivNatS1(new_primMinusNatS0(x2748), Zero))=Succ(Succ(Zero)) & Succ(x1761)=Succ(Succ(x2748)) & Succ(Zero)=Zero ==> new_pr2F0G10(x1759, x1760, Succ(Succ(Succ(Succ(x1761)))), Zero, x1762)_>=_new_pr2F0G(x1759, new_sr3(x1760, x1762), Neg(Succ(Succ(new_primDivNatS1(Succ(x1761), Succ(Zero))))), x1762)) 248.95/165.41 248.95/165.41 (5) (Succ(new_primDivNatS1(new_primMinusNatS1, Zero))=Succ(Succ(Zero)) & Succ(x1761)=Succ(Zero) & Succ(Zero)=Zero ==> new_pr2F0G10(x1759, x1760, Succ(Succ(Succ(Succ(x1761)))), Zero, x1762)_>=_new_pr2F0G(x1759, new_sr3(x1760, x1762), Neg(Succ(Succ(new_primDivNatS1(Succ(x1761), Succ(Zero))))), x1762)) 248.95/165.41 248.95/165.41 248.95/165.41 248.95/165.41 We simplified constraint (3) using rules (I), (II), (III), (VII) which results in the following new constraint: 248.95/165.41 248.95/165.41 (6) (x2746=x2749 & x2745=x2750 & new_primDivNatS02(x2746, x2745, x2749, x2750)=Succ(Succ(Zero)) & Zero=x2745 ==> new_pr2F0G10(x1759, x1760, Succ(Succ(Succ(Succ(Succ(x2746))))), Zero, x1762)_>=_new_pr2F0G(x1759, new_sr3(x1760, x1762), Neg(Succ(Succ(new_primDivNatS1(Succ(Succ(x2746)), Succ(Zero))))), x1762)) 248.95/165.41 248.95/165.41 248.95/165.41 248.95/165.41 We solved constraint (4) using rules (I), (II).We solved constraint (5) using rules (I), (II).We simplified constraint (6) using rule (V) (with possible (I) afterwards) using induction on new_primDivNatS02(x2746, x2745, x2749, x2750)=Succ(Succ(Zero)) which results in the following new constraints: 248.95/165.41 248.95/165.41 (7) (new_primDivNatS01(x2752, x2751)=Succ(Succ(Zero)) & x2752=Zero & x2751=Zero & Zero=x2751 ==> new_pr2F0G10(x1759, x1760, Succ(Succ(Succ(Succ(Succ(x2752))))), Zero, x1762)_>=_new_pr2F0G(x1759, new_sr3(x1760, x1762), Neg(Succ(Succ(new_primDivNatS1(Succ(Succ(x2752)), Succ(Zero))))), x1762)) 248.95/165.41 248.95/165.41 (8) (new_primDivNatS01(x2755, x2754)=Succ(Succ(Zero)) & x2755=Succ(x2753) & x2754=Zero & Zero=x2754 ==> new_pr2F0G10(x1759, x1760, Succ(Succ(Succ(Succ(Succ(x2755))))), Zero, x1762)_>=_new_pr2F0G(x1759, new_sr3(x1760, x1762), Neg(Succ(Succ(new_primDivNatS1(Succ(Succ(x2755)), Succ(Zero))))), x1762)) 248.95/165.41 248.95/165.41 (9) (new_primDivNatS02(x2762, x2761, x2760, x2759)=Succ(Succ(Zero)) & x2762=Succ(x2760) & x2761=Succ(x2759) & Zero=x2761 & (\/x2763,x2764,x2765:new_primDivNatS02(x2762, x2761, x2760, x2759)=Succ(Succ(Zero)) & x2762=x2760 & x2761=x2759 & Zero=x2761 ==> new_pr2F0G10(x2763, x2764, Succ(Succ(Succ(Succ(Succ(x2762))))), Zero, x2765)_>=_new_pr2F0G(x2763, new_sr3(x2764, x2765), Neg(Succ(Succ(new_primDivNatS1(Succ(Succ(x2762)), Succ(Zero))))), x2765)) ==> new_pr2F0G10(x1759, x1760, Succ(Succ(Succ(Succ(Succ(x2762))))), Zero, x1762)_>=_new_pr2F0G(x1759, new_sr3(x1760, x1762), Neg(Succ(Succ(new_primDivNatS1(Succ(Succ(x2762)), Succ(Zero))))), x1762)) 248.95/165.41 248.95/165.41 248.95/165.41 248.95/165.41 We simplified constraint (7) using rules (I), (II), (III), (IV), (VII) which results in the following new constraint: 248.95/165.41 248.95/165.41 (10) (new_pr2F0G10(x1759, x1760, Succ(Succ(Succ(Succ(Succ(Zero))))), Zero, x1762)_>=_new_pr2F0G(x1759, new_sr3(x1760, x1762), Neg(Succ(Succ(new_primDivNatS1(Succ(Succ(Zero)), Succ(Zero))))), x1762)) 248.95/165.41 248.95/165.41 248.95/165.41 248.95/165.41 We simplified constraint (8) using rules (I), (II), (III), (IV), (VII) which results in the following new constraint: 248.95/165.41 248.95/165.41 (11) (new_pr2F0G10(x1759, x1760, Succ(Succ(Succ(Succ(Succ(Succ(x2753)))))), Zero, x1762)_>=_new_pr2F0G(x1759, new_sr3(x1760, x1762), Neg(Succ(Succ(new_primDivNatS1(Succ(Succ(Succ(x2753))), Succ(Zero))))), x1762)) 248.95/165.41 248.95/165.41 248.95/165.41 248.95/165.41 We solved constraint (9) using rules (I), (II), (III). 248.95/165.41 *We consider the chain new_pr2F0G10(x1782, x1783, Succ(Succ(Succ(Succ(x1784)))), Zero, x1785) -> new_pr2F0G(x1782, new_sr3(x1783, x1785), Neg(Succ(Succ(new_primDivNatS1(Succ(x1784), Succ(Zero))))), x1785), new_pr2F0G(x1786, x1787, Neg(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))))), x1788) -> H(x1786, x1787, Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))), x1788, cons_new_pr2F0G10(Succ(Zero))) which results in the following constraint: 248.95/165.41 248.95/165.41 (1) (new_pr2F0G(x1782, new_sr3(x1783, x1785), Neg(Succ(Succ(new_primDivNatS1(Succ(x1784), Succ(Zero))))), x1785)=new_pr2F0G(x1786, x1787, Neg(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))))), x1788) ==> new_pr2F0G10(x1782, x1783, Succ(Succ(Succ(Succ(x1784)))), Zero, x1785)_>=_new_pr2F0G(x1782, new_sr3(x1783, x1785), Neg(Succ(Succ(new_primDivNatS1(Succ(x1784), Succ(Zero))))), x1785)) 248.95/165.41 248.95/165.41 248.95/165.41 248.95/165.41 We simplified constraint (1) using rules (I), (II), (IV), (VII) which results in the following new constraint: 248.95/165.41 248.95/165.41 (2) (Succ(x1784)=x2770 & Succ(Zero)=x2771 & new_primDivNatS1(x2770, x2771)=Succ(Succ(Succ(Succ(Succ(Zero))))) ==> new_pr2F0G10(x1782, x1783, Succ(Succ(Succ(Succ(x1784)))), Zero, x1785)_>=_new_pr2F0G(x1782, new_sr3(x1783, x1785), Neg(Succ(Succ(new_primDivNatS1(Succ(x1784), Succ(Zero))))), x1785)) 248.95/165.41 248.95/165.41 248.95/165.41 248.95/165.41 We simplified constraint (2) using rule (V) (with possible (I) afterwards) using induction on new_primDivNatS1(x2770, x2771)=Succ(Succ(Succ(Succ(Succ(Zero))))) which results in the following new constraints: 248.95/165.41 248.95/165.41 (3) (new_primDivNatS02(x2774, x2773, x2774, x2773)=Succ(Succ(Succ(Succ(Succ(Zero))))) & Succ(x1784)=Succ(Succ(x2774)) & Succ(Zero)=Succ(x2773) ==> new_pr2F0G10(x1782, x1783, Succ(Succ(Succ(Succ(x1784)))), Zero, x1785)_>=_new_pr2F0G(x1782, new_sr3(x1783, x1785), Neg(Succ(Succ(new_primDivNatS1(Succ(x1784), Succ(Zero))))), x1785)) 248.95/165.41 248.95/165.41 (4) (Succ(new_primDivNatS1(new_primMinusNatS0(x2776), Zero))=Succ(Succ(Succ(Succ(Succ(Zero))))) & Succ(x1784)=Succ(Succ(x2776)) & Succ(Zero)=Zero ==> new_pr2F0G10(x1782, x1783, Succ(Succ(Succ(Succ(x1784)))), Zero, x1785)_>=_new_pr2F0G(x1782, new_sr3(x1783, x1785), Neg(Succ(Succ(new_primDivNatS1(Succ(x1784), Succ(Zero))))), x1785)) 248.95/165.41 248.95/165.41 (5) (Succ(new_primDivNatS1(new_primMinusNatS1, Zero))=Succ(Succ(Succ(Succ(Succ(Zero))))) & Succ(x1784)=Succ(Zero) & Succ(Zero)=Zero ==> new_pr2F0G10(x1782, x1783, Succ(Succ(Succ(Succ(x1784)))), Zero, x1785)_>=_new_pr2F0G(x1782, new_sr3(x1783, x1785), Neg(Succ(Succ(new_primDivNatS1(Succ(x1784), Succ(Zero))))), x1785)) 248.95/165.41 248.95/165.41 248.95/165.41 248.95/165.41 We simplified constraint (3) using rules (I), (II), (III), (VII) which results in the following new constraint: 248.95/165.41 248.95/165.41 (6) (x2774=x2777 & x2773=x2778 & new_primDivNatS02(x2774, x2773, x2777, x2778)=Succ(Succ(Succ(Succ(Succ(Zero))))) & Zero=x2773 ==> new_pr2F0G10(x1782, x1783, Succ(Succ(Succ(Succ(Succ(x2774))))), Zero, x1785)_>=_new_pr2F0G(x1782, new_sr3(x1783, x1785), Neg(Succ(Succ(new_primDivNatS1(Succ(Succ(x2774)), Succ(Zero))))), x1785)) 248.95/165.41 248.95/165.41 248.95/165.41 248.95/165.41 We solved constraint (4) using rules (I), (II).We solved constraint (5) using rules (I), (II).We simplified constraint (6) using rule (V) (with possible (I) afterwards) using induction on new_primDivNatS02(x2774, x2773, x2777, x2778)=Succ(Succ(Succ(Succ(Succ(Zero))))) which results in the following new constraints: 248.95/165.41 248.95/165.41 (7) (new_primDivNatS01(x2780, x2779)=Succ(Succ(Succ(Succ(Succ(Zero))))) & x2780=Zero & x2779=Zero & Zero=x2779 ==> new_pr2F0G10(x1782, x1783, Succ(Succ(Succ(Succ(Succ(x2780))))), Zero, x1785)_>=_new_pr2F0G(x1782, new_sr3(x1783, x1785), Neg(Succ(Succ(new_primDivNatS1(Succ(Succ(x2780)), Succ(Zero))))), x1785)) 248.95/165.41 248.95/165.41 (8) (new_primDivNatS01(x2783, x2782)=Succ(Succ(Succ(Succ(Succ(Zero))))) & x2783=Succ(x2781) & x2782=Zero & Zero=x2782 ==> new_pr2F0G10(x1782, x1783, Succ(Succ(Succ(Succ(Succ(x2783))))), Zero, x1785)_>=_new_pr2F0G(x1782, new_sr3(x1783, x1785), Neg(Succ(Succ(new_primDivNatS1(Succ(Succ(x2783)), Succ(Zero))))), x1785)) 248.95/165.41 248.95/165.41 (9) (new_primDivNatS02(x2790, x2789, x2788, x2787)=Succ(Succ(Succ(Succ(Succ(Zero))))) & x2790=Succ(x2788) & x2789=Succ(x2787) & Zero=x2789 & (\/x2791,x2792,x2793:new_primDivNatS02(x2790, x2789, x2788, x2787)=Succ(Succ(Succ(Succ(Succ(Zero))))) & x2790=x2788 & x2789=x2787 & Zero=x2789 ==> new_pr2F0G10(x2791, x2792, Succ(Succ(Succ(Succ(Succ(x2790))))), Zero, x2793)_>=_new_pr2F0G(x2791, new_sr3(x2792, x2793), Neg(Succ(Succ(new_primDivNatS1(Succ(Succ(x2790)), Succ(Zero))))), x2793)) ==> new_pr2F0G10(x1782, x1783, Succ(Succ(Succ(Succ(Succ(x2790))))), Zero, x1785)_>=_new_pr2F0G(x1782, new_sr3(x1783, x1785), Neg(Succ(Succ(new_primDivNatS1(Succ(Succ(x2790)), Succ(Zero))))), x1785)) 248.95/165.41 248.95/165.41 248.95/165.41 248.95/165.41 We simplified constraint (7) using rules (I), (II), (III), (IV), (VII) which results in the following new constraint: 248.95/165.41 248.95/165.41 (10) (new_pr2F0G10(x1782, x1783, Succ(Succ(Succ(Succ(Succ(Zero))))), Zero, x1785)_>=_new_pr2F0G(x1782, new_sr3(x1783, x1785), Neg(Succ(Succ(new_primDivNatS1(Succ(Succ(Zero)), Succ(Zero))))), x1785)) 248.95/165.41 248.95/165.41 248.95/165.41 248.95/165.41 We simplified constraint (8) using rules (I), (II), (III), (IV), (VII) which results in the following new constraint: 248.95/165.41 248.95/165.41 (11) (new_pr2F0G10(x1782, x1783, Succ(Succ(Succ(Succ(Succ(Succ(x2781)))))), Zero, x1785)_>=_new_pr2F0G(x1782, new_sr3(x1783, x1785), Neg(Succ(Succ(new_primDivNatS1(Succ(Succ(Succ(x2781))), Succ(Zero))))), x1785)) 248.95/165.41 248.95/165.41 248.95/165.41 248.95/165.41 We solved constraint (9) using rules (I), (II), (III). 248.95/165.41 *We consider the chain new_pr2F0G10(x1789, x1790, Succ(Succ(Succ(Succ(x1791)))), Zero, x1792) -> new_pr2F0G(x1789, new_sr3(x1790, x1792), Neg(Succ(Succ(new_primDivNatS1(Succ(x1791), Succ(Zero))))), x1792), new_pr2F0G(x1793, x1794, Neg(Succ(Succ(Succ(Succ(Succ(Succ(Zero))))))), x1795) -> H(x1793, x1794, Succ(Succ(Succ(Succ(Succ(Zero))))), x1795, cons_new_pr2F0G10(Zero)) which results in the following constraint: 248.95/165.41 248.95/165.41 (1) (new_pr2F0G(x1789, new_sr3(x1790, x1792), Neg(Succ(Succ(new_primDivNatS1(Succ(x1791), Succ(Zero))))), x1792)=new_pr2F0G(x1793, x1794, Neg(Succ(Succ(Succ(Succ(Succ(Succ(Zero))))))), x1795) ==> new_pr2F0G10(x1789, x1790, Succ(Succ(Succ(Succ(x1791)))), Zero, x1792)_>=_new_pr2F0G(x1789, new_sr3(x1790, x1792), Neg(Succ(Succ(new_primDivNatS1(Succ(x1791), Succ(Zero))))), x1792)) 248.95/165.41 248.95/165.41 248.95/165.41 248.95/165.41 We simplified constraint (1) using rules (I), (II), (IV), (VII) which results in the following new constraint: 248.95/165.41 248.95/165.41 (2) (Succ(x1791)=x2798 & Succ(Zero)=x2799 & new_primDivNatS1(x2798, x2799)=Succ(Succ(Succ(Succ(Zero)))) ==> new_pr2F0G10(x1789, x1790, Succ(Succ(Succ(Succ(x1791)))), Zero, x1792)_>=_new_pr2F0G(x1789, new_sr3(x1790, x1792), Neg(Succ(Succ(new_primDivNatS1(Succ(x1791), Succ(Zero))))), x1792)) 248.95/165.41 248.95/165.41 248.95/165.41 248.95/165.41 We simplified constraint (2) using rule (V) (with possible (I) afterwards) using induction on new_primDivNatS1(x2798, x2799)=Succ(Succ(Succ(Succ(Zero)))) which results in the following new constraints: 248.95/165.41 248.95/165.41 (3) (new_primDivNatS02(x2802, x2801, x2802, x2801)=Succ(Succ(Succ(Succ(Zero)))) & Succ(x1791)=Succ(Succ(x2802)) & Succ(Zero)=Succ(x2801) ==> new_pr2F0G10(x1789, x1790, Succ(Succ(Succ(Succ(x1791)))), Zero, x1792)_>=_new_pr2F0G(x1789, new_sr3(x1790, x1792), Neg(Succ(Succ(new_primDivNatS1(Succ(x1791), Succ(Zero))))), x1792)) 248.95/165.41 248.95/165.41 (4) (Succ(new_primDivNatS1(new_primMinusNatS0(x2804), Zero))=Succ(Succ(Succ(Succ(Zero)))) & Succ(x1791)=Succ(Succ(x2804)) & Succ(Zero)=Zero ==> new_pr2F0G10(x1789, x1790, Succ(Succ(Succ(Succ(x1791)))), Zero, x1792)_>=_new_pr2F0G(x1789, new_sr3(x1790, x1792), Neg(Succ(Succ(new_primDivNatS1(Succ(x1791), Succ(Zero))))), x1792)) 248.95/165.41 248.95/165.41 (5) (Succ(new_primDivNatS1(new_primMinusNatS1, Zero))=Succ(Succ(Succ(Succ(Zero)))) & Succ(x1791)=Succ(Zero) & Succ(Zero)=Zero ==> new_pr2F0G10(x1789, x1790, Succ(Succ(Succ(Succ(x1791)))), Zero, x1792)_>=_new_pr2F0G(x1789, new_sr3(x1790, x1792), Neg(Succ(Succ(new_primDivNatS1(Succ(x1791), Succ(Zero))))), x1792)) 248.95/165.41 248.95/165.41 248.95/165.41 248.95/165.41 We simplified constraint (3) using rules (I), (II), (III), (VII) which results in the following new constraint: 248.95/165.41 248.95/165.41 (6) (x2802=x2805 & x2801=x2806 & new_primDivNatS02(x2802, x2801, x2805, x2806)=Succ(Succ(Succ(Succ(Zero)))) & Zero=x2801 ==> new_pr2F0G10(x1789, x1790, Succ(Succ(Succ(Succ(Succ(x2802))))), Zero, x1792)_>=_new_pr2F0G(x1789, new_sr3(x1790, x1792), Neg(Succ(Succ(new_primDivNatS1(Succ(Succ(x2802)), Succ(Zero))))), x1792)) 248.95/165.41 248.95/165.41 248.95/165.41 248.95/165.41 We solved constraint (4) using rules (I), (II).We solved constraint (5) using rules (I), (II).We simplified constraint (6) using rule (V) (with possible (I) afterwards) using induction on new_primDivNatS02(x2802, x2801, x2805, x2806)=Succ(Succ(Succ(Succ(Zero)))) which results in the following new constraints: 248.95/165.41 248.95/165.41 (7) (new_primDivNatS01(x2808, x2807)=Succ(Succ(Succ(Succ(Zero)))) & x2808=Zero & x2807=Zero & Zero=x2807 ==> new_pr2F0G10(x1789, x1790, Succ(Succ(Succ(Succ(Succ(x2808))))), Zero, x1792)_>=_new_pr2F0G(x1789, new_sr3(x1790, x1792), Neg(Succ(Succ(new_primDivNatS1(Succ(Succ(x2808)), Succ(Zero))))), x1792)) 248.95/165.41 248.95/165.41 (8) (new_primDivNatS01(x2811, x2810)=Succ(Succ(Succ(Succ(Zero)))) & x2811=Succ(x2809) & x2810=Zero & Zero=x2810 ==> new_pr2F0G10(x1789, x1790, Succ(Succ(Succ(Succ(Succ(x2811))))), Zero, x1792)_>=_new_pr2F0G(x1789, new_sr3(x1790, x1792), Neg(Succ(Succ(new_primDivNatS1(Succ(Succ(x2811)), Succ(Zero))))), x1792)) 248.95/165.41 248.95/165.41 (9) (new_primDivNatS02(x2818, x2817, x2816, x2815)=Succ(Succ(Succ(Succ(Zero)))) & x2818=Succ(x2816) & x2817=Succ(x2815) & Zero=x2817 & (\/x2819,x2820,x2821:new_primDivNatS02(x2818, x2817, x2816, x2815)=Succ(Succ(Succ(Succ(Zero)))) & x2818=x2816 & x2817=x2815 & Zero=x2817 ==> new_pr2F0G10(x2819, x2820, Succ(Succ(Succ(Succ(Succ(x2818))))), Zero, x2821)_>=_new_pr2F0G(x2819, new_sr3(x2820, x2821), Neg(Succ(Succ(new_primDivNatS1(Succ(Succ(x2818)), Succ(Zero))))), x2821)) ==> new_pr2F0G10(x1789, x1790, Succ(Succ(Succ(Succ(Succ(x2818))))), Zero, x1792)_>=_new_pr2F0G(x1789, new_sr3(x1790, x1792), Neg(Succ(Succ(new_primDivNatS1(Succ(Succ(x2818)), Succ(Zero))))), x1792)) 248.95/165.41 248.95/165.41 248.95/165.41 248.95/165.41 We simplified constraint (7) using rules (I), (II), (III), (IV), (VII) which results in the following new constraint: 248.95/165.41 248.95/165.41 (10) (new_pr2F0G10(x1789, x1790, Succ(Succ(Succ(Succ(Succ(Zero))))), Zero, x1792)_>=_new_pr2F0G(x1789, new_sr3(x1790, x1792), Neg(Succ(Succ(new_primDivNatS1(Succ(Succ(Zero)), Succ(Zero))))), x1792)) 248.95/165.41 248.95/165.41 248.95/165.41 248.95/165.41 We simplified constraint (8) using rules (I), (II), (III), (IV), (VII) which results in the following new constraint: 248.95/165.41 248.95/165.41 (11) (new_pr2F0G10(x1789, x1790, Succ(Succ(Succ(Succ(Succ(Succ(x2809)))))), Zero, x1792)_>=_new_pr2F0G(x1789, new_sr3(x1790, x1792), Neg(Succ(Succ(new_primDivNatS1(Succ(Succ(Succ(x2809))), Succ(Zero))))), x1792)) 248.95/165.41 248.95/165.41 248.95/165.41 248.95/165.41 We solved constraint (9) using rules (I), (II), (III). 248.95/165.41 *We consider the chain new_pr2F0G10(x1808, x1809, Succ(Succ(Succ(Succ(x1810)))), Zero, x1811) -> new_pr2F0G(x1808, new_sr3(x1809, x1811), Neg(Succ(Succ(new_primDivNatS1(Succ(x1810), Succ(Zero))))), x1811), new_pr2F0G(x1812, x1813, Neg(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(x1814))))))))))), x1815) -> H(x1812, x1813, Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(x1814))))))))), x1815, new_new_pr2F0G10(x1814)) which results in the following constraint: 248.95/165.41 248.95/165.41 (1) (new_pr2F0G(x1808, new_sr3(x1809, x1811), Neg(Succ(Succ(new_primDivNatS1(Succ(x1810), Succ(Zero))))), x1811)=new_pr2F0G(x1812, x1813, Neg(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(x1814))))))))))), x1815) ==> new_pr2F0G10(x1808, x1809, Succ(Succ(Succ(Succ(x1810)))), Zero, x1811)_>=_new_pr2F0G(x1808, new_sr3(x1809, x1811), Neg(Succ(Succ(new_primDivNatS1(Succ(x1810), Succ(Zero))))), x1811)) 248.95/165.41 248.95/165.41 248.95/165.41 248.95/165.41 We simplified constraint (1) using rules (I), (II), (IV), (VII) which results in the following new constraint: 248.95/165.41 248.95/165.41 (2) (Succ(x1810)=x2826 & Succ(Zero)=x2827 & new_primDivNatS1(x2826, x2827)=Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(x1814)))))))) ==> new_pr2F0G10(x1808, x1809, Succ(Succ(Succ(Succ(x1810)))), Zero, x1811)_>=_new_pr2F0G(x1808, new_sr3(x1809, x1811), Neg(Succ(Succ(new_primDivNatS1(Succ(x1810), Succ(Zero))))), x1811)) 248.95/165.41 248.95/165.41 248.95/165.41 248.95/165.41 We simplified constraint (2) using rule (V) (with possible (I) afterwards) using induction on new_primDivNatS1(x2826, x2827)=Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(x1814)))))))) which results in the following new constraints: 248.95/165.41 248.95/165.41 (3) (new_primDivNatS02(x2830, x2829, x2830, x2829)=Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(x1814)))))))) & Succ(x1810)=Succ(Succ(x2830)) & Succ(Zero)=Succ(x2829) ==> new_pr2F0G10(x1808, x1809, Succ(Succ(Succ(Succ(x1810)))), Zero, x1811)_>=_new_pr2F0G(x1808, new_sr3(x1809, x1811), Neg(Succ(Succ(new_primDivNatS1(Succ(x1810), Succ(Zero))))), x1811)) 248.95/165.41 248.95/165.41 (4) (Succ(new_primDivNatS1(new_primMinusNatS0(x2832), Zero))=Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(x1814)))))))) & Succ(x1810)=Succ(Succ(x2832)) & Succ(Zero)=Zero ==> new_pr2F0G10(x1808, x1809, Succ(Succ(Succ(Succ(x1810)))), Zero, x1811)_>=_new_pr2F0G(x1808, new_sr3(x1809, x1811), Neg(Succ(Succ(new_primDivNatS1(Succ(x1810), Succ(Zero))))), x1811)) 248.95/165.41 248.95/165.41 (5) (Succ(new_primDivNatS1(new_primMinusNatS1, Zero))=Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(x1814)))))))) & Succ(x1810)=Succ(Zero) & Succ(Zero)=Zero ==> new_pr2F0G10(x1808, x1809, Succ(Succ(Succ(Succ(x1810)))), Zero, x1811)_>=_new_pr2F0G(x1808, new_sr3(x1809, x1811), Neg(Succ(Succ(new_primDivNatS1(Succ(x1810), Succ(Zero))))), x1811)) 248.95/165.41 248.95/165.41 248.95/165.41 248.95/165.41 We simplified constraint (3) using rules (I), (II), (III), (VII) which results in the following new constraint: 248.95/165.41 248.95/165.41 (6) (x2830=x2833 & x2829=x2834 & new_primDivNatS02(x2830, x2829, x2833, x2834)=Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(x1814)))))))) & Zero=x2829 ==> new_pr2F0G10(x1808, x1809, Succ(Succ(Succ(Succ(Succ(x2830))))), Zero, x1811)_>=_new_pr2F0G(x1808, new_sr3(x1809, x1811), Neg(Succ(Succ(new_primDivNatS1(Succ(Succ(x2830)), Succ(Zero))))), x1811)) 248.95/165.41 248.95/165.41 248.95/165.41 248.95/165.41 We solved constraint (4) using rules (I), (II).We solved constraint (5) using rules (I), (II).We simplified constraint (6) using rule (V) (with possible (I) afterwards) using induction on new_primDivNatS02(x2830, x2829, x2833, x2834)=Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(x1814)))))))) which results in the following new constraints: 248.95/165.41 248.95/165.41 (7) (new_primDivNatS01(x2836, x2835)=Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(x1814)))))))) & x2836=Zero & x2835=Zero & Zero=x2835 ==> new_pr2F0G10(x1808, x1809, Succ(Succ(Succ(Succ(Succ(x2836))))), Zero, x1811)_>=_new_pr2F0G(x1808, new_sr3(x1809, x1811), Neg(Succ(Succ(new_primDivNatS1(Succ(Succ(x2836)), Succ(Zero))))), x1811)) 248.95/165.41 248.95/165.41 (8) (new_primDivNatS01(x2839, x2838)=Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(x1814)))))))) & x2839=Succ(x2837) & x2838=Zero & Zero=x2838 ==> new_pr2F0G10(x1808, x1809, Succ(Succ(Succ(Succ(Succ(x2839))))), Zero, x1811)_>=_new_pr2F0G(x1808, new_sr3(x1809, x1811), Neg(Succ(Succ(new_primDivNatS1(Succ(Succ(x2839)), Succ(Zero))))), x1811)) 248.95/165.41 248.95/165.41 (9) (new_primDivNatS02(x2846, x2845, x2844, x2843)=Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(x1814)))))))) & x2846=Succ(x2844) & x2845=Succ(x2843) & Zero=x2845 & (\/x2847,x2848,x2849,x2850:new_primDivNatS02(x2846, x2845, x2844, x2843)=Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(x2847)))))))) & x2846=x2844 & x2845=x2843 & Zero=x2845 ==> new_pr2F0G10(x2848, x2849, Succ(Succ(Succ(Succ(Succ(x2846))))), Zero, x2850)_>=_new_pr2F0G(x2848, new_sr3(x2849, x2850), Neg(Succ(Succ(new_primDivNatS1(Succ(Succ(x2846)), Succ(Zero))))), x2850)) ==> new_pr2F0G10(x1808, x1809, Succ(Succ(Succ(Succ(Succ(x2846))))), Zero, x1811)_>=_new_pr2F0G(x1808, new_sr3(x1809, x1811), Neg(Succ(Succ(new_primDivNatS1(Succ(Succ(x2846)), Succ(Zero))))), x1811)) 248.95/165.41 248.95/165.41 248.95/165.41 248.95/165.41 We simplified constraint (7) using rules (I), (II), (III), (IV), (VII) which results in the following new constraint: 248.95/165.41 248.95/165.41 (10) (new_pr2F0G10(x1808, x1809, Succ(Succ(Succ(Succ(Succ(Zero))))), Zero, x1811)_>=_new_pr2F0G(x1808, new_sr3(x1809, x1811), Neg(Succ(Succ(new_primDivNatS1(Succ(Succ(Zero)), Succ(Zero))))), x1811)) 248.95/165.41 248.95/165.41 248.95/165.41 248.95/165.41 We simplified constraint (8) using rules (I), (II), (III), (IV), (VII) which results in the following new constraint: 248.95/165.41 248.95/165.41 (11) (new_pr2F0G10(x1808, x1809, Succ(Succ(Succ(Succ(Succ(Succ(x2837)))))), Zero, x1811)_>=_new_pr2F0G(x1808, new_sr3(x1809, x1811), Neg(Succ(Succ(new_primDivNatS1(Succ(Succ(Succ(x2837))), Succ(Zero))))), x1811)) 248.95/165.41 248.95/165.41 248.95/165.41 248.95/165.41 We solved constraint (9) using rules (I), (II), (III). 248.95/165.41 *We consider the chain new_pr2F0G10(x1816, x1817, Succ(Succ(Succ(Succ(x1818)))), Zero, x1819) -> new_pr2F0G(x1816, new_sr3(x1817, x1819), Neg(Succ(Succ(new_primDivNatS1(Succ(x1818), Succ(Zero))))), x1819), new_pr2F0G(x1820, x1821, Neg(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))))))), x1822) -> H(x1820, x1821, Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))))), x1822, cons_new_pr2F0G10(Succ(Zero))) which results in the following constraint: 248.95/165.41 248.95/165.41 (1) (new_pr2F0G(x1816, new_sr3(x1817, x1819), Neg(Succ(Succ(new_primDivNatS1(Succ(x1818), Succ(Zero))))), x1819)=new_pr2F0G(x1820, x1821, Neg(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))))))), x1822) ==> new_pr2F0G10(x1816, x1817, Succ(Succ(Succ(Succ(x1818)))), Zero, x1819)_>=_new_pr2F0G(x1816, new_sr3(x1817, x1819), Neg(Succ(Succ(new_primDivNatS1(Succ(x1818), Succ(Zero))))), x1819)) 248.95/165.41 248.95/165.41 248.95/165.41 248.95/165.41 We simplified constraint (1) using rules (I), (II), (IV), (VII) which results in the following new constraint: 248.95/165.41 248.95/165.41 (2) (Succ(x1818)=x2855 & Succ(Zero)=x2856 & new_primDivNatS1(x2855, x2856)=Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero))))))) ==> new_pr2F0G10(x1816, x1817, Succ(Succ(Succ(Succ(x1818)))), Zero, x1819)_>=_new_pr2F0G(x1816, new_sr3(x1817, x1819), Neg(Succ(Succ(new_primDivNatS1(Succ(x1818), Succ(Zero))))), x1819)) 248.95/165.41 248.95/165.41 248.95/165.41 248.95/165.41 We simplified constraint (2) using rule (V) (with possible (I) afterwards) using induction on new_primDivNatS1(x2855, x2856)=Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero))))))) which results in the following new constraints: 248.95/165.41 248.95/165.41 (3) (new_primDivNatS02(x2859, x2858, x2859, x2858)=Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero))))))) & Succ(x1818)=Succ(Succ(x2859)) & Succ(Zero)=Succ(x2858) ==> new_pr2F0G10(x1816, x1817, Succ(Succ(Succ(Succ(x1818)))), Zero, x1819)_>=_new_pr2F0G(x1816, new_sr3(x1817, x1819), Neg(Succ(Succ(new_primDivNatS1(Succ(x1818), Succ(Zero))))), x1819)) 248.95/165.41 248.95/165.41 (4) (Succ(new_primDivNatS1(new_primMinusNatS0(x2861), Zero))=Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero))))))) & Succ(x1818)=Succ(Succ(x2861)) & Succ(Zero)=Zero ==> new_pr2F0G10(x1816, x1817, Succ(Succ(Succ(Succ(x1818)))), Zero, x1819)_>=_new_pr2F0G(x1816, new_sr3(x1817, x1819), Neg(Succ(Succ(new_primDivNatS1(Succ(x1818), Succ(Zero))))), x1819)) 248.95/165.41 248.95/165.41 (5) (Succ(new_primDivNatS1(new_primMinusNatS1, Zero))=Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero))))))) & Succ(x1818)=Succ(Zero) & Succ(Zero)=Zero ==> new_pr2F0G10(x1816, x1817, Succ(Succ(Succ(Succ(x1818)))), Zero, x1819)_>=_new_pr2F0G(x1816, new_sr3(x1817, x1819), Neg(Succ(Succ(new_primDivNatS1(Succ(x1818), Succ(Zero))))), x1819)) 248.95/165.41 248.95/165.41 248.95/165.41 248.95/165.41 We simplified constraint (3) using rules (I), (II), (III), (VII) which results in the following new constraint: 248.95/165.41 248.95/165.41 (6) (x2859=x2862 & x2858=x2863 & new_primDivNatS02(x2859, x2858, x2862, x2863)=Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero))))))) & Zero=x2858 ==> new_pr2F0G10(x1816, x1817, Succ(Succ(Succ(Succ(Succ(x2859))))), Zero, x1819)_>=_new_pr2F0G(x1816, new_sr3(x1817, x1819), Neg(Succ(Succ(new_primDivNatS1(Succ(Succ(x2859)), Succ(Zero))))), x1819)) 248.95/165.41 248.95/165.41 248.95/165.41 248.95/165.41 We solved constraint (4) using rules (I), (II).We solved constraint (5) using rules (I), (II).We simplified constraint (6) using rule (V) (with possible (I) afterwards) using induction on new_primDivNatS02(x2859, x2858, x2862, x2863)=Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero))))))) which results in the following new constraints: 248.95/165.41 248.95/165.41 (7) (new_primDivNatS01(x2865, x2864)=Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero))))))) & x2865=Zero & x2864=Zero & Zero=x2864 ==> new_pr2F0G10(x1816, x1817, Succ(Succ(Succ(Succ(Succ(x2865))))), Zero, x1819)_>=_new_pr2F0G(x1816, new_sr3(x1817, x1819), Neg(Succ(Succ(new_primDivNatS1(Succ(Succ(x2865)), Succ(Zero))))), x1819)) 248.95/165.41 248.95/165.41 (8) (new_primDivNatS01(x2868, x2867)=Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero))))))) & x2868=Succ(x2866) & x2867=Zero & Zero=x2867 ==> new_pr2F0G10(x1816, x1817, Succ(Succ(Succ(Succ(Succ(x2868))))), Zero, x1819)_>=_new_pr2F0G(x1816, new_sr3(x1817, x1819), Neg(Succ(Succ(new_primDivNatS1(Succ(Succ(x2868)), Succ(Zero))))), x1819)) 248.95/165.41 248.95/165.41 (9) (new_primDivNatS02(x2875, x2874, x2873, x2872)=Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero))))))) & x2875=Succ(x2873) & x2874=Succ(x2872) & Zero=x2874 & (\/x2876,x2877,x2878:new_primDivNatS02(x2875, x2874, x2873, x2872)=Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero))))))) & x2875=x2873 & x2874=x2872 & Zero=x2874 ==> new_pr2F0G10(x2876, x2877, Succ(Succ(Succ(Succ(Succ(x2875))))), Zero, x2878)_>=_new_pr2F0G(x2876, new_sr3(x2877, x2878), Neg(Succ(Succ(new_primDivNatS1(Succ(Succ(x2875)), Succ(Zero))))), x2878)) ==> new_pr2F0G10(x1816, x1817, Succ(Succ(Succ(Succ(Succ(x2875))))), Zero, x1819)_>=_new_pr2F0G(x1816, new_sr3(x1817, x1819), Neg(Succ(Succ(new_primDivNatS1(Succ(Succ(x2875)), Succ(Zero))))), x1819)) 248.95/165.41 248.95/165.41 248.95/165.41 248.95/165.41 We simplified constraint (7) using rules (I), (II), (III), (IV), (VII) which results in the following new constraint: 248.95/165.41 248.95/165.41 (10) (new_pr2F0G10(x1816, x1817, Succ(Succ(Succ(Succ(Succ(Zero))))), Zero, x1819)_>=_new_pr2F0G(x1816, new_sr3(x1817, x1819), Neg(Succ(Succ(new_primDivNatS1(Succ(Succ(Zero)), Succ(Zero))))), x1819)) 248.95/165.41 248.95/165.41 248.95/165.41 248.95/165.41 We simplified constraint (8) using rules (I), (II), (III), (IV), (VII) which results in the following new constraint: 248.95/165.41 248.95/165.41 (11) (new_pr2F0G10(x1816, x1817, Succ(Succ(Succ(Succ(Succ(Succ(x2866)))))), Zero, x1819)_>=_new_pr2F0G(x1816, new_sr3(x1817, x1819), Neg(Succ(Succ(new_primDivNatS1(Succ(Succ(Succ(x2866))), Succ(Zero))))), x1819)) 248.95/165.41 248.95/165.41 248.95/165.41 248.95/165.41 We solved constraint (9) using rules (I), (II), (III). 248.95/165.41 *We consider the chain new_pr2F0G10(x1823, x1824, Succ(Succ(Succ(Succ(x1825)))), Zero, x1826) -> new_pr2F0G(x1823, new_sr3(x1824, x1826), Neg(Succ(Succ(new_primDivNatS1(Succ(x1825), Succ(Zero))))), x1826), new_pr2F0G(x1827, x1828, Neg(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero))))))))), x1829) -> H(x1827, x1828, Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero))))))), x1829, cons_new_pr2F0G10(Zero)) which results in the following constraint: 248.95/165.41 248.95/165.41 (1) (new_pr2F0G(x1823, new_sr3(x1824, x1826), Neg(Succ(Succ(new_primDivNatS1(Succ(x1825), Succ(Zero))))), x1826)=new_pr2F0G(x1827, x1828, Neg(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero))))))))), x1829) ==> new_pr2F0G10(x1823, x1824, Succ(Succ(Succ(Succ(x1825)))), Zero, x1826)_>=_new_pr2F0G(x1823, new_sr3(x1824, x1826), Neg(Succ(Succ(new_primDivNatS1(Succ(x1825), Succ(Zero))))), x1826)) 248.95/165.41 248.95/165.41 248.95/165.41 248.95/165.41 We simplified constraint (1) using rules (I), (II), (IV), (VII) which results in the following new constraint: 248.95/165.41 248.95/165.41 (2) (Succ(x1825)=x2883 & Succ(Zero)=x2884 & new_primDivNatS1(x2883, x2884)=Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))) ==> new_pr2F0G10(x1823, x1824, Succ(Succ(Succ(Succ(x1825)))), Zero, x1826)_>=_new_pr2F0G(x1823, new_sr3(x1824, x1826), Neg(Succ(Succ(new_primDivNatS1(Succ(x1825), Succ(Zero))))), x1826)) 248.95/165.41 248.95/165.41 248.95/165.41 248.95/165.41 We simplified constraint (2) using rule (V) (with possible (I) afterwards) using induction on new_primDivNatS1(x2883, x2884)=Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))) which results in the following new constraints: 248.95/165.41 248.95/165.41 (3) (new_primDivNatS02(x2887, x2886, x2887, x2886)=Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))) & Succ(x1825)=Succ(Succ(x2887)) & Succ(Zero)=Succ(x2886) ==> new_pr2F0G10(x1823, x1824, Succ(Succ(Succ(Succ(x1825)))), Zero, x1826)_>=_new_pr2F0G(x1823, new_sr3(x1824, x1826), Neg(Succ(Succ(new_primDivNatS1(Succ(x1825), Succ(Zero))))), x1826)) 248.95/165.41 248.95/165.41 (4) (Succ(new_primDivNatS1(new_primMinusNatS0(x2889), Zero))=Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))) & Succ(x1825)=Succ(Succ(x2889)) & Succ(Zero)=Zero ==> new_pr2F0G10(x1823, x1824, Succ(Succ(Succ(Succ(x1825)))), Zero, x1826)_>=_new_pr2F0G(x1823, new_sr3(x1824, x1826), Neg(Succ(Succ(new_primDivNatS1(Succ(x1825), Succ(Zero))))), x1826)) 248.95/165.41 248.95/165.41 (5) (Succ(new_primDivNatS1(new_primMinusNatS1, Zero))=Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))) & Succ(x1825)=Succ(Zero) & Succ(Zero)=Zero ==> new_pr2F0G10(x1823, x1824, Succ(Succ(Succ(Succ(x1825)))), Zero, x1826)_>=_new_pr2F0G(x1823, new_sr3(x1824, x1826), Neg(Succ(Succ(new_primDivNatS1(Succ(x1825), Succ(Zero))))), x1826)) 248.95/165.41 248.95/165.41 248.95/165.41 248.95/165.41 We simplified constraint (3) using rules (I), (II), (III), (VII) which results in the following new constraint: 248.95/165.41 248.95/165.41 (6) (x2887=x2890 & x2886=x2891 & new_primDivNatS02(x2887, x2886, x2890, x2891)=Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))) & Zero=x2886 ==> new_pr2F0G10(x1823, x1824, Succ(Succ(Succ(Succ(Succ(x2887))))), Zero, x1826)_>=_new_pr2F0G(x1823, new_sr3(x1824, x1826), Neg(Succ(Succ(new_primDivNatS1(Succ(Succ(x2887)), Succ(Zero))))), x1826)) 248.95/165.41 248.95/165.41 248.95/165.41 248.95/165.41 We solved constraint (4) using rules (I), (II).We solved constraint (5) using rules (I), (II).We simplified constraint (6) using rule (V) (with possible (I) afterwards) using induction on new_primDivNatS02(x2887, x2886, x2890, x2891)=Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))) which results in the following new constraints: 248.95/165.41 248.95/165.41 (7) (new_primDivNatS01(x2893, x2892)=Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))) & x2893=Zero & x2892=Zero & Zero=x2892 ==> new_pr2F0G10(x1823, x1824, Succ(Succ(Succ(Succ(Succ(x2893))))), Zero, x1826)_>=_new_pr2F0G(x1823, new_sr3(x1824, x1826), Neg(Succ(Succ(new_primDivNatS1(Succ(Succ(x2893)), Succ(Zero))))), x1826)) 248.95/165.41 248.95/165.41 (8) (new_primDivNatS01(x2896, x2895)=Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))) & x2896=Succ(x2894) & x2895=Zero & Zero=x2895 ==> new_pr2F0G10(x1823, x1824, Succ(Succ(Succ(Succ(Succ(x2896))))), Zero, x1826)_>=_new_pr2F0G(x1823, new_sr3(x1824, x1826), Neg(Succ(Succ(new_primDivNatS1(Succ(Succ(x2896)), Succ(Zero))))), x1826)) 248.95/165.41 248.95/165.41 (9) (new_primDivNatS02(x2903, x2902, x2901, x2900)=Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))) & x2903=Succ(x2901) & x2902=Succ(x2900) & Zero=x2902 & (\/x2904,x2905,x2906:new_primDivNatS02(x2903, x2902, x2901, x2900)=Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))) & x2903=x2901 & x2902=x2900 & Zero=x2902 ==> new_pr2F0G10(x2904, x2905, Succ(Succ(Succ(Succ(Succ(x2903))))), Zero, x2906)_>=_new_pr2F0G(x2904, new_sr3(x2905, x2906), Neg(Succ(Succ(new_primDivNatS1(Succ(Succ(x2903)), Succ(Zero))))), x2906)) ==> new_pr2F0G10(x1823, x1824, Succ(Succ(Succ(Succ(Succ(x2903))))), Zero, x1826)_>=_new_pr2F0G(x1823, new_sr3(x1824, x1826), Neg(Succ(Succ(new_primDivNatS1(Succ(Succ(x2903)), Succ(Zero))))), x1826)) 248.95/165.41 248.95/165.41 248.95/165.41 248.95/165.41 We simplified constraint (7) using rules (I), (II), (III), (IV), (VII) which results in the following new constraint: 248.95/165.41 248.95/165.41 (10) (new_pr2F0G10(x1823, x1824, Succ(Succ(Succ(Succ(Succ(Zero))))), Zero, x1826)_>=_new_pr2F0G(x1823, new_sr3(x1824, x1826), Neg(Succ(Succ(new_primDivNatS1(Succ(Succ(Zero)), Succ(Zero))))), x1826)) 248.95/165.41 248.95/165.41 248.95/165.41 248.95/165.41 We simplified constraint (8) using rules (I), (II), (III), (IV), (VII) which results in the following new constraint: 248.95/165.41 248.95/165.41 (11) (new_pr2F0G10(x1823, x1824, Succ(Succ(Succ(Succ(Succ(Succ(x2894)))))), Zero, x1826)_>=_new_pr2F0G(x1823, new_sr3(x1824, x1826), Neg(Succ(Succ(new_primDivNatS1(Succ(Succ(Succ(x2894))), Succ(Zero))))), x1826)) 248.95/165.41 248.95/165.41 248.95/165.41 248.95/165.41 We solved constraint (9) using rules (I), (II), (III). 248.95/165.41 248.95/165.41 248.95/165.41 248.95/165.41 248.95/165.41 For Pair new_pr2F0G10(y0, y1, Succ(Succ(Succ(Zero))), Zero, y3) -> new_pr2F0G(y0, new_sr3(y1, y3), Neg(Succ(Succ(Zero))), y3) the following chains were created: 248.95/165.41 *We consider the chain new_pr2F0G10(x1854, x1855, Succ(Succ(Succ(Zero))), Zero, x1856) -> new_pr2F0G(x1854, new_sr3(x1855, x1856), Neg(Succ(Succ(Zero))), x1856), new_pr2F0G(x1857, x1858, Neg(Succ(Succ(x1859))), x1860) -> new_pr2F0G10(x1857, x1858, Succ(x1859), x1859, x1860) which results in the following constraint: 248.95/165.41 248.95/165.41 (1) (new_pr2F0G(x1854, new_sr3(x1855, x1856), Neg(Succ(Succ(Zero))), x1856)=new_pr2F0G(x1857, x1858, Neg(Succ(Succ(x1859))), x1860) ==> new_pr2F0G10(x1854, x1855, Succ(Succ(Succ(Zero))), Zero, x1856)_>=_new_pr2F0G(x1854, new_sr3(x1855, x1856), Neg(Succ(Succ(Zero))), x1856)) 248.95/165.41 248.95/165.41 248.95/165.41 248.95/165.41 We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: 248.95/165.41 248.95/165.41 (2) (new_pr2F0G10(x1854, x1855, Succ(Succ(Succ(Zero))), Zero, x1856)_>=_new_pr2F0G(x1854, new_sr3(x1855, x1856), Neg(Succ(Succ(Zero))), x1856)) 248.95/165.41 248.95/165.41 248.95/165.41 248.95/165.41 248.95/165.41 248.95/165.41 248.95/165.41 248.95/165.41 248.95/165.41 For Pair new_pr2F0G(y0, y1, Neg(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))))), y3) -> H(y0, y1, Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))), y3, cons_new_pr2F0G10(Succ(Zero))) the following chains were created: 248.95/165.41 *We consider the chain new_pr2F0G(x1930, x1931, Neg(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))))), x1932) -> H(x1930, x1931, Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))), x1932, cons_new_pr2F0G10(Succ(Zero))), H(x1933, x1934, x1935, x1936, cons_new_pr2F0G10(Succ(Zero))) -> new_pr2F0G10(x1933, x1934, x1935, Succ(Zero), x1936) which results in the following constraint: 248.95/165.41 248.95/165.41 (1) (H(x1930, x1931, Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))), x1932, cons_new_pr2F0G10(Succ(Zero)))=H(x1933, x1934, x1935, x1936, cons_new_pr2F0G10(Succ(Zero))) ==> new_pr2F0G(x1930, x1931, Neg(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))))), x1932)_>=_H(x1930, x1931, Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))), x1932, cons_new_pr2F0G10(Succ(Zero)))) 248.95/165.41 248.95/165.41 248.95/165.41 248.95/165.41 We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: 248.95/165.41 248.95/165.41 (2) (new_pr2F0G(x1930, x1931, Neg(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))))), x1932)_>=_H(x1930, x1931, Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))), x1932, cons_new_pr2F0G10(Succ(Zero)))) 248.95/165.41 248.95/165.41 248.95/165.41 248.95/165.41 248.95/165.41 248.95/165.41 248.95/165.41 248.95/165.41 248.95/165.41 For Pair new_pr2F0G(y0, y1, Neg(Succ(Succ(Succ(Succ(Succ(Succ(Zero))))))), y3) -> H(y0, y1, Succ(Succ(Succ(Succ(Succ(Zero))))), y3, cons_new_pr2F0G10(Zero)) the following chains were created: 248.95/165.41 *We consider the chain new_pr2F0G(x2018, x2019, Neg(Succ(Succ(Succ(Succ(Succ(Succ(Zero))))))), x2020) -> H(x2018, x2019, Succ(Succ(Succ(Succ(Succ(Zero))))), x2020, cons_new_pr2F0G10(Zero)), H(x2021, x2022, x2023, x2024, cons_new_pr2F0G10(Zero)) -> new_pr2F0G10(x2021, x2022, x2023, Zero, x2024) which results in the following constraint: 248.95/165.41 248.95/165.41 (1) (H(x2018, x2019, Succ(Succ(Succ(Succ(Succ(Zero))))), x2020, cons_new_pr2F0G10(Zero))=H(x2021, x2022, x2023, x2024, cons_new_pr2F0G10(Zero)) ==> new_pr2F0G(x2018, x2019, Neg(Succ(Succ(Succ(Succ(Succ(Succ(Zero))))))), x2020)_>=_H(x2018, x2019, Succ(Succ(Succ(Succ(Succ(Zero))))), x2020, cons_new_pr2F0G10(Zero))) 248.95/165.41 248.95/165.41 248.95/165.41 248.95/165.41 We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: 248.95/165.41 248.95/165.41 (2) (new_pr2F0G(x2018, x2019, Neg(Succ(Succ(Succ(Succ(Succ(Succ(Zero))))))), x2020)_>=_H(x2018, x2019, Succ(Succ(Succ(Succ(Succ(Zero))))), x2020, cons_new_pr2F0G10(Zero))) 248.95/165.41 248.95/165.41 248.95/165.41 248.95/165.41 248.95/165.41 248.95/165.41 248.95/165.41 248.95/165.41 248.95/165.41 For Pair new_pr2F0(y0, Neg(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(x0))))))))))), y2, y3) -> H(y2, y0, Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(x0))))))))), y3, new_new_pr2F0G10(x0)) the following chains were created: 248.95/165.41 *We consider the chain new_pr2F0(x2105, Neg(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(x2106))))))))))), x2107, x2108) -> H(x2107, x2105, Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(x2106))))))))), x2108, new_new_pr2F0G10(x2106)), H(x2109, x2110, x2111, x2112, cons_new_pr2F0G10(Succ(Zero))) -> new_pr2F0G10(x2109, x2110, x2111, Succ(Zero), x2112) which results in the following constraint: 248.95/165.41 248.95/165.41 (1) (H(x2107, x2105, Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(x2106))))))))), x2108, new_new_pr2F0G10(x2106))=H(x2109, x2110, x2111, x2112, cons_new_pr2F0G10(Succ(Zero))) ==> new_pr2F0(x2105, Neg(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(x2106))))))))))), x2107, x2108)_>=_H(x2107, x2105, Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(x2106))))))))), x2108, new_new_pr2F0G10(x2106))) 248.95/165.41 248.95/165.41 248.95/165.41 248.95/165.41 We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: 248.95/165.41 248.95/165.41 (2) (new_new_pr2F0G10(x2106)=cons_new_pr2F0G10(Succ(Zero)) ==> new_pr2F0(x2105, Neg(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(x2106))))))))))), x2107, x2108)_>=_H(x2107, x2105, Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(x2106))))))))), x2108, new_new_pr2F0G10(x2106))) 248.95/165.41 248.95/165.41 248.95/165.41 248.95/165.41 We simplified constraint (2) using rule (V) (with possible (I) afterwards) using induction on new_new_pr2F0G10(x2106)=cons_new_pr2F0G10(Succ(Zero)) which results in the following new constraints: 248.95/165.41 248.95/165.41 (3) (new_new_pr2F0G10(x2911)=cons_new_pr2F0G10(Succ(Zero)) & (\/x2912,x2913,x2914:new_new_pr2F0G10(x2911)=cons_new_pr2F0G10(Succ(Zero)) ==> new_pr2F0(x2912, Neg(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(x2911))))))))))), x2913, x2914)_>=_H(x2913, x2912, Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(x2911))))))))), x2914, new_new_pr2F0G10(x2911))) ==> new_pr2F0(x2105, Neg(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(x2911))))))))))))), x2107, x2108)_>=_H(x2107, x2105, Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(x2911))))))))))), x2108, new_new_pr2F0G10(Succ(Succ(x2911))))) 248.95/165.41 248.95/165.41 (4) (cons_new_pr2F0G10(Succ(Zero))=cons_new_pr2F0G10(Succ(Zero)) ==> new_pr2F0(x2105, Neg(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))))))))), x2107, x2108)_>=_H(x2107, x2105, Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))))))), x2108, new_new_pr2F0G10(Succ(Zero)))) 248.95/165.41 248.95/165.41 (5) (cons_new_pr2F0G10(Zero)=cons_new_pr2F0G10(Succ(Zero)) ==> new_pr2F0(x2105, Neg(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero))))))))))), x2107, x2108)_>=_H(x2107, x2105, Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero))))))))), x2108, new_new_pr2F0G10(Zero))) 248.95/165.41 248.95/165.41 248.95/165.41 248.95/165.41 We simplified constraint (3) using rule (VI) where we applied the induction hypothesis (\/x2912,x2913,x2914:new_new_pr2F0G10(x2911)=cons_new_pr2F0G10(Succ(Zero)) ==> new_pr2F0(x2912, Neg(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(x2911))))))))))), x2913, x2914)_>=_H(x2913, x2912, Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(x2911))))))))), x2914, new_new_pr2F0G10(x2911))) with sigma = [x2912 / x2105, x2913 / x2107, x2914 / x2108] which results in the following new constraint: 248.95/165.41 248.95/165.41 (6) (new_pr2F0(x2105, Neg(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(x2911))))))))))), x2107, x2108)_>=_H(x2107, x2105, Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(x2911))))))))), x2108, new_new_pr2F0G10(x2911)) ==> new_pr2F0(x2105, Neg(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(x2911))))))))))))), x2107, x2108)_>=_H(x2107, x2105, Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(x2911))))))))))), x2108, new_new_pr2F0G10(Succ(Succ(x2911))))) 248.95/165.41 248.95/165.41 248.95/165.41 248.95/165.41 We simplified constraint (4) using rules (I), (II) which results in the following new constraint: 248.95/165.41 248.95/165.41 (7) (new_pr2F0(x2105, Neg(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))))))))), x2107, x2108)_>=_H(x2107, x2105, Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))))))), x2108, new_new_pr2F0G10(Succ(Zero)))) 248.95/165.41 248.95/165.41 248.95/165.41 248.95/165.41 We solved constraint (5) using rules (I), (II). 248.95/165.41 *We consider the chain new_pr2F0(x2113, Neg(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(x2114))))))))))), x2115, x2116) -> H(x2115, x2113, Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(x2114))))))))), x2116, new_new_pr2F0G10(x2114)), H(x2117, x2118, x2119, x2120, cons_new_pr2F0G10(Zero)) -> new_pr2F0G10(x2117, x2118, x2119, Zero, x2120) which results in the following constraint: 248.95/165.41 248.95/165.41 (1) (H(x2115, x2113, Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(x2114))))))))), x2116, new_new_pr2F0G10(x2114))=H(x2117, x2118, x2119, x2120, cons_new_pr2F0G10(Zero)) ==> new_pr2F0(x2113, Neg(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(x2114))))))))))), x2115, x2116)_>=_H(x2115, x2113, Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(x2114))))))))), x2116, new_new_pr2F0G10(x2114))) 248.95/165.41 248.95/165.41 248.95/165.41 248.95/165.41 We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: 248.95/165.41 248.95/165.41 (2) (new_new_pr2F0G10(x2114)=cons_new_pr2F0G10(Zero) ==> new_pr2F0(x2113, Neg(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(x2114))))))))))), x2115, x2116)_>=_H(x2115, x2113, Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(x2114))))))))), x2116, new_new_pr2F0G10(x2114))) 248.95/165.41 248.95/165.41 248.95/165.41 248.95/165.41 We simplified constraint (2) using rule (V) (with possible (I) afterwards) using induction on new_new_pr2F0G10(x2114)=cons_new_pr2F0G10(Zero) which results in the following new constraints: 248.95/165.41 248.95/165.41 (3) (new_new_pr2F0G10(x2915)=cons_new_pr2F0G10(Zero) & (\/x2916,x2917,x2918:new_new_pr2F0G10(x2915)=cons_new_pr2F0G10(Zero) ==> new_pr2F0(x2916, Neg(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(x2915))))))))))), x2917, x2918)_>=_H(x2917, x2916, Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(x2915))))))))), x2918, new_new_pr2F0G10(x2915))) ==> new_pr2F0(x2113, Neg(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(x2915))))))))))))), x2115, x2116)_>=_H(x2115, x2113, Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(x2915))))))))))), x2116, new_new_pr2F0G10(Succ(Succ(x2915))))) 248.95/165.41 248.95/165.41 (4) (cons_new_pr2F0G10(Succ(Zero))=cons_new_pr2F0G10(Zero) ==> new_pr2F0(x2113, Neg(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))))))))), x2115, x2116)_>=_H(x2115, x2113, Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))))))), x2116, new_new_pr2F0G10(Succ(Zero)))) 248.95/165.41 248.95/165.41 (5) (cons_new_pr2F0G10(Zero)=cons_new_pr2F0G10(Zero) ==> new_pr2F0(x2113, Neg(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero))))))))))), x2115, x2116)_>=_H(x2115, x2113, Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero))))))))), x2116, new_new_pr2F0G10(Zero))) 248.95/165.41 248.95/165.41 248.95/165.41 248.95/165.41 We simplified constraint (3) using rule (VI) where we applied the induction hypothesis (\/x2916,x2917,x2918:new_new_pr2F0G10(x2915)=cons_new_pr2F0G10(Zero) ==> new_pr2F0(x2916, Neg(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(x2915))))))))))), x2917, x2918)_>=_H(x2917, x2916, Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(x2915))))))))), x2918, new_new_pr2F0G10(x2915))) with sigma = [x2916 / x2113, x2917 / x2115, x2918 / x2116] which results in the following new constraint: 248.95/165.41 248.95/165.41 (6) (new_pr2F0(x2113, Neg(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(x2915))))))))))), x2115, x2116)_>=_H(x2115, x2113, Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(x2915))))))))), x2116, new_new_pr2F0G10(x2915)) ==> new_pr2F0(x2113, Neg(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(x2915))))))))))))), x2115, x2116)_>=_H(x2115, x2113, Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(x2915))))))))))), x2116, new_new_pr2F0G10(Succ(Succ(x2915))))) 248.95/165.41 248.95/165.41 248.95/165.41 248.95/165.41 We solved constraint (4) using rules (I), (II).We simplified constraint (5) using rules (I), (II) which results in the following new constraint: 248.95/165.41 248.95/165.41 (7) (new_pr2F0(x2113, Neg(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero))))))))))), x2115, x2116)_>=_H(x2115, x2113, Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero))))))))), x2116, new_new_pr2F0G10(Zero))) 248.95/165.41 248.95/165.41 248.95/165.41 248.95/165.41 248.95/165.41 248.95/165.41 248.95/165.41 248.95/165.41 248.95/165.41 For Pair new_pr2F0(y0, Neg(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))))))), y2, y3) -> H(y2, y0, Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))))), y3, cons_new_pr2F0G10(Succ(Zero))) the following chains were created: 248.95/165.41 *We consider the chain new_pr2F0(x2216, Neg(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))))))), x2217, x2218) -> H(x2217, x2216, Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))))), x2218, cons_new_pr2F0G10(Succ(Zero))), H(x2219, x2220, x2221, x2222, cons_new_pr2F0G10(Succ(Zero))) -> new_pr2F0G10(x2219, x2220, x2221, Succ(Zero), x2222) which results in the following constraint: 248.95/165.41 248.95/165.41 (1) (H(x2217, x2216, Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))))), x2218, cons_new_pr2F0G10(Succ(Zero)))=H(x2219, x2220, x2221, x2222, cons_new_pr2F0G10(Succ(Zero))) ==> new_pr2F0(x2216, Neg(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))))))), x2217, x2218)_>=_H(x2217, x2216, Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))))), x2218, cons_new_pr2F0G10(Succ(Zero)))) 248.95/165.41 248.95/165.41 248.95/165.41 248.95/165.41 We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: 248.95/165.41 248.95/165.41 (2) (new_pr2F0(x2216, Neg(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))))))), x2217, x2218)_>=_H(x2217, x2216, Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))))), x2218, cons_new_pr2F0G10(Succ(Zero)))) 248.95/165.41 248.95/165.41 248.95/165.41 248.95/165.41 248.95/165.41 248.95/165.41 248.95/165.41 248.95/165.41 248.95/165.41 For Pair new_pr2F0(y0, Neg(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero))))))))), y2, y3) -> H(y2, y0, Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero))))))), y3, cons_new_pr2F0G10(Zero)) the following chains were created: 248.95/165.41 *We consider the chain new_pr2F0(x2304, Neg(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero))))))))), x2305, x2306) -> H(x2305, x2304, Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero))))))), x2306, cons_new_pr2F0G10(Zero)), H(x2307, x2308, x2309, x2310, cons_new_pr2F0G10(Zero)) -> new_pr2F0G10(x2307, x2308, x2309, Zero, x2310) which results in the following constraint: 248.95/165.41 248.95/165.41 (1) (H(x2305, x2304, Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero))))))), x2306, cons_new_pr2F0G10(Zero))=H(x2307, x2308, x2309, x2310, cons_new_pr2F0G10(Zero)) ==> new_pr2F0(x2304, Neg(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero))))))))), x2305, x2306)_>=_H(x2305, x2304, Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero))))))), x2306, cons_new_pr2F0G10(Zero))) 248.95/165.41 248.95/165.41 248.95/165.41 248.95/165.41 We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: 248.95/165.41 248.95/165.41 (2) (new_pr2F0(x2304, Neg(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero))))))))), x2305, x2306)_>=_H(x2305, x2304, Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero))))))), x2306, cons_new_pr2F0G10(Zero))) 248.95/165.41 248.95/165.41 248.95/165.41 248.95/165.41 248.95/165.41 248.95/165.41 248.95/165.41 248.95/165.41 248.95/165.41 For Pair new_pr2F0G(y0, y1, Neg(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(x0))))))))))), y3) -> H(y0, y1, Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(x0))))))))), y3, new_new_pr2F0G10(x0)) the following chains were created: 248.95/165.41 *We consider the chain new_pr2F0G(x2391, x2392, Neg(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(x2393))))))))))), x2394) -> H(x2391, x2392, Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(x2393))))))))), x2394, new_new_pr2F0G10(x2393)), H(x2395, x2396, x2397, x2398, cons_new_pr2F0G10(Succ(Zero))) -> new_pr2F0G10(x2395, x2396, x2397, Succ(Zero), x2398) which results in the following constraint: 248.95/165.41 248.95/165.41 (1) (H(x2391, x2392, Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(x2393))))))))), x2394, new_new_pr2F0G10(x2393))=H(x2395, x2396, x2397, x2398, cons_new_pr2F0G10(Succ(Zero))) ==> new_pr2F0G(x2391, x2392, Neg(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(x2393))))))))))), x2394)_>=_H(x2391, x2392, Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(x2393))))))))), x2394, new_new_pr2F0G10(x2393))) 248.95/165.41 248.95/165.41 248.95/165.41 248.95/165.41 We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: 248.95/165.41 248.95/165.41 (2) (new_new_pr2F0G10(x2393)=cons_new_pr2F0G10(Succ(Zero)) ==> new_pr2F0G(x2391, x2392, Neg(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(x2393))))))))))), x2394)_>=_H(x2391, x2392, Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(x2393))))))))), x2394, new_new_pr2F0G10(x2393))) 248.95/165.41 248.95/165.41 248.95/165.41 248.95/165.41 We simplified constraint (2) using rule (V) (with possible (I) afterwards) using induction on new_new_pr2F0G10(x2393)=cons_new_pr2F0G10(Succ(Zero)) which results in the following new constraints: 248.95/165.41 248.95/165.41 (3) (new_new_pr2F0G10(x2919)=cons_new_pr2F0G10(Succ(Zero)) & (\/x2920,x2921,x2922:new_new_pr2F0G10(x2919)=cons_new_pr2F0G10(Succ(Zero)) ==> new_pr2F0G(x2920, x2921, Neg(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(x2919))))))))))), x2922)_>=_H(x2920, x2921, Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(x2919))))))))), x2922, new_new_pr2F0G10(x2919))) ==> new_pr2F0G(x2391, x2392, Neg(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(x2919))))))))))))), x2394)_>=_H(x2391, x2392, Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(x2919))))))))))), x2394, new_new_pr2F0G10(Succ(Succ(x2919))))) 248.95/165.41 248.95/165.41 (4) (cons_new_pr2F0G10(Succ(Zero))=cons_new_pr2F0G10(Succ(Zero)) ==> new_pr2F0G(x2391, x2392, Neg(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))))))))), x2394)_>=_H(x2391, x2392, Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))))))), x2394, new_new_pr2F0G10(Succ(Zero)))) 248.95/165.41 248.95/165.41 (5) (cons_new_pr2F0G10(Zero)=cons_new_pr2F0G10(Succ(Zero)) ==> new_pr2F0G(x2391, x2392, Neg(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero))))))))))), x2394)_>=_H(x2391, x2392, Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero))))))))), x2394, new_new_pr2F0G10(Zero))) 248.95/165.41 248.95/165.41 248.95/165.41 248.95/165.41 We simplified constraint (3) using rule (VI) where we applied the induction hypothesis (\/x2920,x2921,x2922:new_new_pr2F0G10(x2919)=cons_new_pr2F0G10(Succ(Zero)) ==> new_pr2F0G(x2920, x2921, Neg(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(x2919))))))))))), x2922)_>=_H(x2920, x2921, Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(x2919))))))))), x2922, new_new_pr2F0G10(x2919))) with sigma = [x2920 / x2391, x2921 / x2392, x2922 / x2394] which results in the following new constraint: 248.95/165.41 248.95/165.41 (6) (new_pr2F0G(x2391, x2392, Neg(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(x2919))))))))))), x2394)_>=_H(x2391, x2392, Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(x2919))))))))), x2394, new_new_pr2F0G10(x2919)) ==> new_pr2F0G(x2391, x2392, Neg(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(x2919))))))))))))), x2394)_>=_H(x2391, x2392, Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(x2919))))))))))), x2394, new_new_pr2F0G10(Succ(Succ(x2919))))) 248.95/165.41 248.95/165.41 248.95/165.41 248.95/165.41 We simplified constraint (4) using rules (I), (II) which results in the following new constraint: 248.95/165.41 248.95/165.41 (7) (new_pr2F0G(x2391, x2392, Neg(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))))))))), x2394)_>=_H(x2391, x2392, Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))))))), x2394, new_new_pr2F0G10(Succ(Zero)))) 248.95/165.41 248.95/165.41 248.95/165.41 248.95/165.41 We solved constraint (5) using rules (I), (II). 248.95/165.41 *We consider the chain new_pr2F0G(x2399, x2400, Neg(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(x2401))))))))))), x2402) -> H(x2399, x2400, Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(x2401))))))))), x2402, new_new_pr2F0G10(x2401)), H(x2403, x2404, x2405, x2406, cons_new_pr2F0G10(Zero)) -> new_pr2F0G10(x2403, x2404, x2405, Zero, x2406) which results in the following constraint: 248.95/165.41 248.95/165.41 (1) (H(x2399, x2400, Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(x2401))))))))), x2402, new_new_pr2F0G10(x2401))=H(x2403, x2404, x2405, x2406, cons_new_pr2F0G10(Zero)) ==> new_pr2F0G(x2399, x2400, Neg(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(x2401))))))))))), x2402)_>=_H(x2399, x2400, Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(x2401))))))))), x2402, new_new_pr2F0G10(x2401))) 248.95/165.41 248.95/165.41 248.95/165.41 248.95/165.41 We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: 248.95/165.41 248.95/165.41 (2) (new_new_pr2F0G10(x2401)=cons_new_pr2F0G10(Zero) ==> new_pr2F0G(x2399, x2400, Neg(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(x2401))))))))))), x2402)_>=_H(x2399, x2400, Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(x2401))))))))), x2402, new_new_pr2F0G10(x2401))) 248.95/165.41 248.95/165.41 248.95/165.41 248.95/165.41 We simplified constraint (2) using rule (V) (with possible (I) afterwards) using induction on new_new_pr2F0G10(x2401)=cons_new_pr2F0G10(Zero) which results in the following new constraints: 248.95/165.41 248.95/165.41 (3) (new_new_pr2F0G10(x2923)=cons_new_pr2F0G10(Zero) & (\/x2924,x2925,x2926:new_new_pr2F0G10(x2923)=cons_new_pr2F0G10(Zero) ==> new_pr2F0G(x2924, x2925, Neg(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(x2923))))))))))), x2926)_>=_H(x2924, x2925, Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(x2923))))))))), x2926, new_new_pr2F0G10(x2923))) ==> new_pr2F0G(x2399, x2400, Neg(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(x2923))))))))))))), x2402)_>=_H(x2399, x2400, Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(x2923))))))))))), x2402, new_new_pr2F0G10(Succ(Succ(x2923))))) 248.95/165.41 248.95/165.41 (4) (cons_new_pr2F0G10(Succ(Zero))=cons_new_pr2F0G10(Zero) ==> new_pr2F0G(x2399, x2400, Neg(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))))))))), x2402)_>=_H(x2399, x2400, Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))))))), x2402, new_new_pr2F0G10(Succ(Zero)))) 248.95/165.41 248.95/165.41 (5) (cons_new_pr2F0G10(Zero)=cons_new_pr2F0G10(Zero) ==> new_pr2F0G(x2399, x2400, Neg(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero))))))))))), x2402)_>=_H(x2399, x2400, Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero))))))))), x2402, new_new_pr2F0G10(Zero))) 248.95/165.41 248.95/165.41 248.95/165.41 248.95/165.41 We simplified constraint (3) using rule (VI) where we applied the induction hypothesis (\/x2924,x2925,x2926:new_new_pr2F0G10(x2923)=cons_new_pr2F0G10(Zero) ==> new_pr2F0G(x2924, x2925, Neg(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(x2923))))))))))), x2926)_>=_H(x2924, x2925, Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(x2923))))))))), x2926, new_new_pr2F0G10(x2923))) with sigma = [x2924 / x2399, x2925 / x2400, x2926 / x2402] which results in the following new constraint: 248.95/165.41 248.95/165.41 (6) (new_pr2F0G(x2399, x2400, Neg(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(x2923))))))))))), x2402)_>=_H(x2399, x2400, Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(x2923))))))))), x2402, new_new_pr2F0G10(x2923)) ==> new_pr2F0G(x2399, x2400, Neg(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(x2923))))))))))))), x2402)_>=_H(x2399, x2400, Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(x2923))))))))))), x2402, new_new_pr2F0G10(Succ(Succ(x2923))))) 248.95/165.41 248.95/165.41 248.95/165.41 248.95/165.41 We solved constraint (4) using rules (I), (II).We simplified constraint (5) using rules (I), (II) which results in the following new constraint: 248.95/165.41 248.95/165.41 (7) (new_pr2F0G(x2399, x2400, Neg(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero))))))))))), x2402)_>=_H(x2399, x2400, Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero))))))))), x2402, new_new_pr2F0G10(Zero))) 248.95/165.41 248.95/165.41 248.95/165.41 248.95/165.41 248.95/165.41 248.95/165.41 248.95/165.41 248.95/165.41 248.95/165.41 For Pair new_pr2F0G(y0, y1, Neg(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))))))), y3) -> H(y0, y1, Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))))), y3, cons_new_pr2F0G10(Succ(Zero))) the following chains were created: 248.95/165.41 *We consider the chain new_pr2F0G(x2502, x2503, Neg(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))))))), x2504) -> H(x2502, x2503, Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))))), x2504, cons_new_pr2F0G10(Succ(Zero))), H(x2505, x2506, x2507, x2508, cons_new_pr2F0G10(Succ(Zero))) -> new_pr2F0G10(x2505, x2506, x2507, Succ(Zero), x2508) which results in the following constraint: 248.95/165.41 248.95/165.41 (1) (H(x2502, x2503, Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))))), x2504, cons_new_pr2F0G10(Succ(Zero)))=H(x2505, x2506, x2507, x2508, cons_new_pr2F0G10(Succ(Zero))) ==> new_pr2F0G(x2502, x2503, Neg(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))))))), x2504)_>=_H(x2502, x2503, Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))))), x2504, cons_new_pr2F0G10(Succ(Zero)))) 248.95/165.41 248.95/165.41 248.95/165.41 248.95/165.41 We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: 248.95/165.41 248.95/165.41 (2) (new_pr2F0G(x2502, x2503, Neg(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))))))), x2504)_>=_H(x2502, x2503, Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))))), x2504, cons_new_pr2F0G10(Succ(Zero)))) 248.95/165.41 248.95/165.41 248.95/165.41 248.95/165.41 248.95/165.41 248.95/165.41 248.95/165.41 248.95/165.41 248.95/165.41 For Pair new_pr2F0G(y0, y1, Neg(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero))))))))), y3) -> H(y0, y1, Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero))))))), y3, cons_new_pr2F0G10(Zero)) the following chains were created: 248.95/165.41 *We consider the chain new_pr2F0G(x2590, x2591, Neg(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero))))))))), x2592) -> H(x2590, x2591, Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero))))))), x2592, cons_new_pr2F0G10(Zero)), H(x2593, x2594, x2595, x2596, cons_new_pr2F0G10(Zero)) -> new_pr2F0G10(x2593, x2594, x2595, Zero, x2596) which results in the following constraint: 248.95/165.41 248.95/165.41 (1) (H(x2590, x2591, Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero))))))), x2592, cons_new_pr2F0G10(Zero))=H(x2593, x2594, x2595, x2596, cons_new_pr2F0G10(Zero)) ==> new_pr2F0G(x2590, x2591, Neg(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero))))))))), x2592)_>=_H(x2590, x2591, Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero))))))), x2592, cons_new_pr2F0G10(Zero))) 248.95/165.41 248.95/165.41 248.95/165.41 248.95/165.41 We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: 248.95/165.41 248.95/165.41 (2) (new_pr2F0G(x2590, x2591, Neg(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero))))))))), x2592)_>=_H(x2590, x2591, Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero))))))), x2592, cons_new_pr2F0G10(Zero))) 248.95/165.41 248.95/165.41 248.95/165.41 248.95/165.41 248.95/165.41 248.95/165.41 248.95/165.41 248.95/165.41 248.95/165.41 To summarize, we get the following constraints P__>=_ for the following pairs. 248.95/165.41 248.95/165.41 *new_pr2F0(vyv183, Neg(Succ(Succ(vyv222000))), vyv187, h) -> new_pr2F0G10(vyv187, vyv183, Succ(vyv222000), vyv222000, h) 248.95/165.41 248.95/165.41 *(new_pr2F0(x4, Neg(Succ(Succ(Succ(Zero)))), x6, x7)_>=_new_pr2F0G10(x6, x4, Succ(Succ(Zero)), Succ(Zero), x7)) 248.95/165.41 248.95/165.41 248.95/165.41 *(new_pr2F0(x40, Neg(Succ(Succ(Zero))), x42, x43)_>=_new_pr2F0G10(x42, x40, Succ(Zero), Zero, x43)) 248.95/165.41 248.95/165.41 248.95/165.41 248.95/165.41 248.95/165.41 *new_pr2F0G10(vyv248, vyv249, vyv250, Succ(Zero), bb) -> new_pr2F0G11(vyv248, vyv249, vyv250, bb) 248.95/165.41 248.95/165.41 *(new_pr2F0G10(x123, x124, x125, Succ(Zero), x126)_>=_new_pr2F0G11(x123, x124, x125, x126)) 248.95/165.41 248.95/165.41 248.95/165.41 248.95/165.41 248.95/165.41 *new_pr2F0G11(vyv238, vyv239, vyv240, bc) -> new_pr2F1(vyv239, vyv240, Pos(Succ(Zero)), vyv238, bc) 248.95/165.41 248.95/165.41 *(new_pr2F0G11(x239, x240, x241, x242)_>=_new_pr2F1(x240, x241, Pos(Succ(Zero)), x239, x242)) 248.95/165.41 248.95/165.41 248.95/165.41 248.95/165.41 248.95/165.41 *new_pr2F1(z1, z2, Pos(Succ(Zero)), z0, z3) -> new_pr2F30(False, z1, z2, Pos(Succ(Zero)), z0, z3) 248.95/165.41 248.95/165.41 *(new_pr2F1(x355, x356, Pos(Succ(Zero)), x357, x358)_>=_new_pr2F30(False, x355, x356, Pos(Succ(Zero)), x357, x358)) 248.95/165.41 248.95/165.41 248.95/165.41 248.95/165.41 248.95/165.41 *new_pr2F30(False, z0, z1, Pos(Succ(Zero)), z2, z3) -> new_pr2F0(z0, Neg(Succ(Succ(new_primPlusNat0(z1, Zero)))), new_sr4(z0, z2, z3), z3) 248.95/165.41 248.95/165.41 *(new_pr2F30(False, x451, x452, Pos(Succ(Zero)), x453, x454)_>=_new_pr2F0(x451, Neg(Succ(Succ(new_primPlusNat0(x452, Zero)))), new_sr4(x451, x453, x454), x454)) 248.95/165.41 248.95/165.41 248.95/165.41 *(new_pr2F30(False, x495, Succ(Succ(Succ(Zero))), Pos(Succ(Zero)), x497, x498)_>=_new_pr2F0(x495, Neg(Succ(Succ(new_primPlusNat0(Succ(Succ(Succ(Zero))), Zero)))), new_sr4(x495, x497, x498), x498)) 248.95/165.41 248.95/165.41 248.95/165.41 *(new_pr2F30(False, x502, Succ(Succ(Zero)), Pos(Succ(Zero)), x504, x505)_>=_new_pr2F0(x502, Neg(Succ(Succ(new_primPlusNat0(Succ(Succ(Zero)), Zero)))), new_sr4(x502, x504, x505), x505)) 248.95/165.41 248.95/165.41 248.95/165.41 *(new_pr2F30(False, x521, Succ(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Zero)), x523, x524)_>=_new_pr2F0(x521, Neg(Succ(Succ(new_primPlusNat0(Succ(Succ(Succ(Succ(Succ(Zero))))), Zero)))), new_sr4(x521, x523, x524), x524)) 248.95/165.41 248.95/165.41 248.95/165.41 *(new_pr2F30(False, x528, Succ(Succ(Succ(Succ(Zero)))), Pos(Succ(Zero)), x530, x531)_>=_new_pr2F0(x528, Neg(Succ(Succ(new_primPlusNat0(Succ(Succ(Succ(Succ(Zero)))), Zero)))), new_sr4(x528, x530, x531), x531)) 248.95/165.41 248.95/165.41 248.95/165.41 *(new_pr2F30(False, x551, Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(x556)))))))), Pos(Succ(Zero)), x553, x554)_>=_new_pr2F0(x551, Neg(Succ(Succ(new_primPlusNat0(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(x556)))))))), Zero)))), new_sr4(x551, x553, x554), x554)) 248.95/165.41 248.95/165.41 248.95/165.41 *(new_pr2F30(False, x559, Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero))))))), Pos(Succ(Zero)), x561, x562)_>=_new_pr2F0(x559, Neg(Succ(Succ(new_primPlusNat0(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero))))))), Zero)))), new_sr4(x559, x561, x562), x562)) 248.95/165.41 248.95/165.41 248.95/165.41 *(new_pr2F30(False, x566, Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(Succ(Zero)), x568, x569)_>=_new_pr2F0(x566, Neg(Succ(Succ(new_primPlusNat0(Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))), Zero)))), new_sr4(x566, x568, x569), x569)) 248.95/165.41 248.95/165.41 248.95/165.41 248.95/165.41 248.95/165.41 *H(vyv248, vyv249, vyv250, bb, cons_new_pr2F0G10(Succ(Zero))) -> new_pr2F0G10(vyv248, vyv249, vyv250, Succ(Zero), bb) 248.95/165.41 248.95/165.41 *(H(x589, x590, x591, x592, cons_new_pr2F0G10(Succ(Zero)))_>=_new_pr2F0G10(x589, x590, x591, Succ(Zero), x592)) 248.95/165.41 248.95/165.41 248.95/165.41 248.95/165.41 248.95/165.41 *H(vyv248, vyv249, vyv250, bb, cons_new_pr2F0G10(Zero)) -> new_pr2F0G10(vyv248, vyv249, vyv250, Zero, bb) 248.95/165.41 248.95/165.41 *(H(x733, x734, Succ(Zero), x736, cons_new_pr2F0G10(Zero))_>=_new_pr2F0G10(x733, x734, Succ(Zero), Zero, x736)) 248.95/165.41 248.95/165.41 248.95/165.41 *(H(x748, x749, Succ(Succ(Zero)), x751, cons_new_pr2F0G10(Zero))_>=_new_pr2F0G10(x748, x749, Succ(Succ(Zero)), Zero, x751)) 248.95/165.41 248.95/165.41 248.95/165.41 *(H(x771, x772, Succ(Succ(Succ(Succ(x777)))), x774, cons_new_pr2F0G10(Zero))_>=_new_pr2F0G10(x771, x772, Succ(Succ(Succ(Succ(x777)))), Zero, x774)) 248.95/165.41 248.95/165.41 248.95/165.41 *(H(x779, x780, Succ(Succ(Succ(Zero))), x782, cons_new_pr2F0G10(Zero))_>=_new_pr2F0G10(x779, x780, Succ(Succ(Succ(Zero))), Zero, x782)) 248.95/165.41 248.95/165.41 248.95/165.41 248.95/165.41 248.95/165.41 *new_pr2F0G(vyv187, vyv183, Neg(Succ(Zero)), h) -> new_pr2F0G11(vyv187, vyv183, Zero, h) 248.95/165.41 248.95/165.41 *(new_pr2F0G(x824, x825, Neg(Succ(Zero)), x826)_>=_new_pr2F0G11(x824, x825, Zero, x826)) 248.95/165.41 248.95/165.41 248.95/165.41 248.95/165.41 248.95/165.41 *new_pr2F0G(vyv187, vyv183, Neg(Succ(Succ(vyv222000))), h) -> new_pr2F0G10(vyv187, vyv183, Succ(vyv222000), vyv222000, h) 248.95/165.41 248.95/165.41 *(new_pr2F0G(x907, x908, Neg(Succ(Succ(Succ(Zero)))), x910)_>=_new_pr2F0G10(x907, x908, Succ(Succ(Zero)), Succ(Zero), x910)) 248.95/165.41 248.95/165.41 248.95/165.41 *(new_pr2F0G(x943, x944, Neg(Succ(Succ(Zero))), x946)_>=_new_pr2F0G10(x943, x944, Succ(Zero), Zero, x946)) 248.95/165.41 248.95/165.41 248.95/165.41 248.95/165.41 248.95/165.41 *new_pr2F0G10(y0, y1, Succ(Zero), Zero, y3) -> new_pr2F0G(y0, new_sr3(y1, y3), Neg(Succ(Zero)), y3) 248.95/165.41 248.95/165.41 *(new_pr2F0G10(x1039, x1040, Succ(Zero), Zero, x1041)_>=_new_pr2F0G(x1039, new_sr3(x1040, x1041), Neg(Succ(Zero)), x1041)) 248.95/165.41 248.95/165.41 248.95/165.41 248.95/165.41 248.95/165.41 *new_pr2F0(y0, Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), y2, y3) -> H(y2, y0, Succ(Succ(Succ(Succ(Zero)))), y3, cons_new_pr2F0G10(Succ(Zero))) 248.95/165.41 248.95/165.41 *(new_pr2F0(x1117, Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), x1118, x1119)_>=_H(x1118, x1117, Succ(Succ(Succ(Succ(Zero)))), x1119, cons_new_pr2F0G10(Succ(Zero)))) 248.95/165.41 248.95/165.41 248.95/165.41 248.95/165.41 248.95/165.41 *new_pr2F0(y0, Neg(Succ(Succ(Succ(Succ(Zero))))), y2, y3) -> H(y2, y0, Succ(Succ(Succ(Zero))), y3, cons_new_pr2F0G10(Zero)) 248.95/165.41 248.95/165.41 *(new_pr2F0(x1205, Neg(Succ(Succ(Succ(Succ(Zero))))), x1206, x1207)_>=_H(x1206, x1205, Succ(Succ(Succ(Zero))), x1207, cons_new_pr2F0G10(Zero))) 248.95/165.41 248.95/165.41 248.95/165.41 248.95/165.41 248.95/165.41 *new_pr2F0G10(y0, y1, Succ(Succ(Zero)), Zero, y3) -> new_pr2F0G(y0, new_sr3(y1, y3), Neg(Succ(Zero)), y3) 248.95/165.41 248.95/165.41 *(new_pr2F0G10(x1293, x1294, Succ(Succ(Zero)), Zero, x1295)_>=_new_pr2F0G(x1293, new_sr3(x1294, x1295), Neg(Succ(Zero)), x1295)) 248.95/165.41 248.95/165.41 248.95/165.41 248.95/165.41 248.95/165.41 *new_pr2F0G(y0, y1, Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), y3) -> H(y0, y1, Succ(Succ(Succ(Succ(Zero)))), y3, cons_new_pr2F0G10(Succ(Zero))) 248.95/165.41 248.95/165.41 *(new_pr2F0G(x1371, x1372, Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), x1373)_>=_H(x1371, x1372, Succ(Succ(Succ(Succ(Zero)))), x1373, cons_new_pr2F0G10(Succ(Zero)))) 248.95/165.41 248.95/165.41 248.95/165.41 248.95/165.41 248.95/165.41 *new_pr2F0G(y0, y1, Neg(Succ(Succ(Succ(Succ(Zero))))), y3) -> H(y0, y1, Succ(Succ(Succ(Zero))), y3, cons_new_pr2F0G10(Zero)) 248.95/165.41 248.95/165.41 *(new_pr2F0G(x1459, x1460, Neg(Succ(Succ(Succ(Succ(Zero))))), x1461)_>=_H(x1459, x1460, Succ(Succ(Succ(Zero))), x1461, cons_new_pr2F0G10(Zero))) 248.95/165.41 248.95/165.41 248.95/165.41 248.95/165.41 248.95/165.41 *new_pr2F0(y0, Neg(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))))), y2, y3) -> H(y2, y0, Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))), y3, cons_new_pr2F0G10(Succ(Zero))) 248.95/165.41 248.95/165.41 *(new_pr2F0(x1541, Neg(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))))), x1542, x1543)_>=_H(x1542, x1541, Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))), x1543, cons_new_pr2F0G10(Succ(Zero)))) 248.95/165.41 248.95/165.41 248.95/165.41 248.95/165.41 248.95/165.41 *new_pr2F0(y0, Neg(Succ(Succ(Succ(Succ(Succ(Succ(Zero))))))), y2, y3) -> H(y2, y0, Succ(Succ(Succ(Succ(Succ(Zero))))), y3, cons_new_pr2F0G10(Zero)) 248.95/165.41 248.95/165.41 *(new_pr2F0(x1629, Neg(Succ(Succ(Succ(Succ(Succ(Succ(Zero))))))), x1630, x1631)_>=_H(x1630, x1629, Succ(Succ(Succ(Succ(Succ(Zero))))), x1631, cons_new_pr2F0G10(Zero))) 248.95/165.41 248.95/165.41 248.95/165.41 248.95/165.41 248.95/165.41 *new_pr2F0G10(y0, y1, Succ(Succ(Succ(Succ(x2)))), Zero, y3) -> new_pr2F0G(y0, new_sr3(y1, y3), Neg(Succ(Succ(new_primDivNatS1(Succ(x2), Succ(Zero))))), y3) 248.95/165.41 248.95/165.41 *(new_pr2F0G10(x1728, x1729, Succ(Succ(Succ(Succ(x1730)))), Zero, x1731)_>=_new_pr2F0G(x1728, new_sr3(x1729, x1731), Neg(Succ(Succ(new_primDivNatS1(Succ(x1730), Succ(Zero))))), x1731)) 248.95/165.41 248.95/165.41 248.95/165.41 *(new_pr2F0G10(x1752, x1753, Succ(Succ(Succ(Succ(Succ(Zero))))), Zero, x1755)_>=_new_pr2F0G(x1752, new_sr3(x1753, x1755), Neg(Succ(Succ(new_primDivNatS1(Succ(Succ(Zero)), Succ(Zero))))), x1755)) 248.95/165.41 248.95/165.41 248.95/165.41 *(new_pr2F0G10(x1752, x1753, Succ(Succ(Succ(Succ(Succ(Succ(x2725)))))), Zero, x1755)_>=_new_pr2F0G(x1752, new_sr3(x1753, x1755), Neg(Succ(Succ(new_primDivNatS1(Succ(Succ(Succ(x2725))), Succ(Zero))))), x1755)) 248.95/165.41 248.95/165.41 248.95/165.41 *(new_pr2F0G10(x1759, x1760, Succ(Succ(Succ(Succ(Succ(Zero))))), Zero, x1762)_>=_new_pr2F0G(x1759, new_sr3(x1760, x1762), Neg(Succ(Succ(new_primDivNatS1(Succ(Succ(Zero)), Succ(Zero))))), x1762)) 248.95/165.41 248.95/165.41 248.95/165.41 *(new_pr2F0G10(x1759, x1760, Succ(Succ(Succ(Succ(Succ(Succ(x2753)))))), Zero, x1762)_>=_new_pr2F0G(x1759, new_sr3(x1760, x1762), Neg(Succ(Succ(new_primDivNatS1(Succ(Succ(Succ(x2753))), Succ(Zero))))), x1762)) 248.95/165.41 248.95/165.41 248.95/165.41 *(new_pr2F0G10(x1782, x1783, Succ(Succ(Succ(Succ(Succ(Zero))))), Zero, x1785)_>=_new_pr2F0G(x1782, new_sr3(x1783, x1785), Neg(Succ(Succ(new_primDivNatS1(Succ(Succ(Zero)), Succ(Zero))))), x1785)) 248.95/165.41 248.95/165.41 248.95/165.41 *(new_pr2F0G10(x1782, x1783, Succ(Succ(Succ(Succ(Succ(Succ(x2781)))))), Zero, x1785)_>=_new_pr2F0G(x1782, new_sr3(x1783, x1785), Neg(Succ(Succ(new_primDivNatS1(Succ(Succ(Succ(x2781))), Succ(Zero))))), x1785)) 248.95/165.41 248.95/165.41 248.95/165.41 *(new_pr2F0G10(x1789, x1790, Succ(Succ(Succ(Succ(Succ(Zero))))), Zero, x1792)_>=_new_pr2F0G(x1789, new_sr3(x1790, x1792), Neg(Succ(Succ(new_primDivNatS1(Succ(Succ(Zero)), Succ(Zero))))), x1792)) 248.95/165.41 248.95/165.41 248.95/165.41 *(new_pr2F0G10(x1789, x1790, Succ(Succ(Succ(Succ(Succ(Succ(x2809)))))), Zero, x1792)_>=_new_pr2F0G(x1789, new_sr3(x1790, x1792), Neg(Succ(Succ(new_primDivNatS1(Succ(Succ(Succ(x2809))), Succ(Zero))))), x1792)) 248.95/165.41 248.95/165.41 248.95/165.41 *(new_pr2F0G10(x1808, x1809, Succ(Succ(Succ(Succ(Succ(Zero))))), Zero, x1811)_>=_new_pr2F0G(x1808, new_sr3(x1809, x1811), Neg(Succ(Succ(new_primDivNatS1(Succ(Succ(Zero)), Succ(Zero))))), x1811)) 248.95/165.41 248.95/165.41 248.95/165.41 *(new_pr2F0G10(x1808, x1809, Succ(Succ(Succ(Succ(Succ(Succ(x2837)))))), Zero, x1811)_>=_new_pr2F0G(x1808, new_sr3(x1809, x1811), Neg(Succ(Succ(new_primDivNatS1(Succ(Succ(Succ(x2837))), Succ(Zero))))), x1811)) 248.95/165.41 248.95/165.41 248.95/165.41 *(new_pr2F0G10(x1816, x1817, Succ(Succ(Succ(Succ(Succ(Zero))))), Zero, x1819)_>=_new_pr2F0G(x1816, new_sr3(x1817, x1819), Neg(Succ(Succ(new_primDivNatS1(Succ(Succ(Zero)), Succ(Zero))))), x1819)) 248.95/165.41 248.95/165.41 248.95/165.41 *(new_pr2F0G10(x1816, x1817, Succ(Succ(Succ(Succ(Succ(Succ(x2866)))))), Zero, x1819)_>=_new_pr2F0G(x1816, new_sr3(x1817, x1819), Neg(Succ(Succ(new_primDivNatS1(Succ(Succ(Succ(x2866))), Succ(Zero))))), x1819)) 248.95/165.41 248.95/165.41 248.95/165.41 *(new_pr2F0G10(x1823, x1824, Succ(Succ(Succ(Succ(Succ(Zero))))), Zero, x1826)_>=_new_pr2F0G(x1823, new_sr3(x1824, x1826), Neg(Succ(Succ(new_primDivNatS1(Succ(Succ(Zero)), Succ(Zero))))), x1826)) 248.95/165.41 248.95/165.41 248.95/165.41 *(new_pr2F0G10(x1823, x1824, Succ(Succ(Succ(Succ(Succ(Succ(x2894)))))), Zero, x1826)_>=_new_pr2F0G(x1823, new_sr3(x1824, x1826), Neg(Succ(Succ(new_primDivNatS1(Succ(Succ(Succ(x2894))), Succ(Zero))))), x1826)) 248.95/165.41 248.95/165.41 248.95/165.41 248.95/165.41 248.95/165.41 *new_pr2F0G10(y0, y1, Succ(Succ(Succ(Zero))), Zero, y3) -> new_pr2F0G(y0, new_sr3(y1, y3), Neg(Succ(Succ(Zero))), y3) 248.95/165.41 248.95/165.41 *(new_pr2F0G10(x1854, x1855, Succ(Succ(Succ(Zero))), Zero, x1856)_>=_new_pr2F0G(x1854, new_sr3(x1855, x1856), Neg(Succ(Succ(Zero))), x1856)) 248.95/165.41 248.95/165.41 248.95/165.41 248.95/165.41 248.95/165.41 *new_pr2F0G(y0, y1, Neg(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))))), y3) -> H(y0, y1, Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))), y3, cons_new_pr2F0G10(Succ(Zero))) 248.95/165.41 248.95/165.41 *(new_pr2F0G(x1930, x1931, Neg(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))))), x1932)_>=_H(x1930, x1931, Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))), x1932, cons_new_pr2F0G10(Succ(Zero)))) 248.95/165.41 248.95/165.41 248.95/165.41 248.95/165.41 248.95/165.41 *new_pr2F0G(y0, y1, Neg(Succ(Succ(Succ(Succ(Succ(Succ(Zero))))))), y3) -> H(y0, y1, Succ(Succ(Succ(Succ(Succ(Zero))))), y3, cons_new_pr2F0G10(Zero)) 248.95/165.41 248.95/165.41 *(new_pr2F0G(x2018, x2019, Neg(Succ(Succ(Succ(Succ(Succ(Succ(Zero))))))), x2020)_>=_H(x2018, x2019, Succ(Succ(Succ(Succ(Succ(Zero))))), x2020, cons_new_pr2F0G10(Zero))) 248.95/165.41 248.95/165.41 248.95/165.41 248.95/165.41 248.95/165.41 *new_pr2F0(y0, Neg(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(x0))))))))))), y2, y3) -> H(y2, y0, Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(x0))))))))), y3, new_new_pr2F0G10(x0)) 248.95/165.41 248.95/165.41 *(new_pr2F0(x2105, Neg(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(x2911))))))))))), x2107, x2108)_>=_H(x2107, x2105, Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(x2911))))))))), x2108, new_new_pr2F0G10(x2911)) ==> new_pr2F0(x2105, Neg(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(x2911))))))))))))), x2107, x2108)_>=_H(x2107, x2105, Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(x2911))))))))))), x2108, new_new_pr2F0G10(Succ(Succ(x2911))))) 248.95/165.41 248.95/165.41 248.95/165.41 *(new_pr2F0(x2105, Neg(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))))))))), x2107, x2108)_>=_H(x2107, x2105, Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))))))), x2108, new_new_pr2F0G10(Succ(Zero)))) 248.95/165.41 248.95/165.41 248.95/165.41 *(new_pr2F0(x2113, Neg(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(x2915))))))))))), x2115, x2116)_>=_H(x2115, x2113, Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(x2915))))))))), x2116, new_new_pr2F0G10(x2915)) ==> new_pr2F0(x2113, Neg(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(x2915))))))))))))), x2115, x2116)_>=_H(x2115, x2113, Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(x2915))))))))))), x2116, new_new_pr2F0G10(Succ(Succ(x2915))))) 248.95/165.41 248.95/165.41 248.95/165.41 *(new_pr2F0(x2113, Neg(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero))))))))))), x2115, x2116)_>=_H(x2115, x2113, Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero))))))))), x2116, new_new_pr2F0G10(Zero))) 248.95/165.41 248.95/165.41 248.95/165.41 248.95/165.41 248.95/165.41 *new_pr2F0(y0, Neg(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))))))), y2, y3) -> H(y2, y0, Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))))), y3, cons_new_pr2F0G10(Succ(Zero))) 248.95/165.41 248.95/165.41 *(new_pr2F0(x2216, Neg(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))))))), x2217, x2218)_>=_H(x2217, x2216, Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))))), x2218, cons_new_pr2F0G10(Succ(Zero)))) 248.95/165.41 248.95/165.41 248.95/165.41 248.95/165.41 248.95/165.41 *new_pr2F0(y0, Neg(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero))))))))), y2, y3) -> H(y2, y0, Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero))))))), y3, cons_new_pr2F0G10(Zero)) 248.95/165.41 248.95/165.41 *(new_pr2F0(x2304, Neg(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero))))))))), x2305, x2306)_>=_H(x2305, x2304, Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero))))))), x2306, cons_new_pr2F0G10(Zero))) 248.95/165.41 248.95/165.41 248.95/165.41 248.95/165.41 248.95/165.41 *new_pr2F0G(y0, y1, Neg(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(x0))))))))))), y3) -> H(y0, y1, Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(x0))))))))), y3, new_new_pr2F0G10(x0)) 248.95/165.41 248.95/165.41 *(new_pr2F0G(x2391, x2392, Neg(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(x2919))))))))))), x2394)_>=_H(x2391, x2392, Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(x2919))))))))), x2394, new_new_pr2F0G10(x2919)) ==> new_pr2F0G(x2391, x2392, Neg(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(x2919))))))))))))), x2394)_>=_H(x2391, x2392, Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(x2919))))))))))), x2394, new_new_pr2F0G10(Succ(Succ(x2919))))) 248.95/165.41 248.95/165.41 248.95/165.41 *(new_pr2F0G(x2391, x2392, Neg(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))))))))), x2394)_>=_H(x2391, x2392, Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))))))), x2394, new_new_pr2F0G10(Succ(Zero)))) 248.95/165.41 248.95/165.41 248.95/165.41 *(new_pr2F0G(x2399, x2400, Neg(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(x2923))))))))))), x2402)_>=_H(x2399, x2400, Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(x2923))))))))), x2402, new_new_pr2F0G10(x2923)) ==> new_pr2F0G(x2399, x2400, Neg(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(x2923))))))))))))), x2402)_>=_H(x2399, x2400, Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(x2923))))))))))), x2402, new_new_pr2F0G10(Succ(Succ(x2923))))) 248.95/165.41 248.95/165.41 248.95/165.41 *(new_pr2F0G(x2399, x2400, Neg(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero))))))))))), x2402)_>=_H(x2399, x2400, Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero))))))))), x2402, new_new_pr2F0G10(Zero))) 248.95/165.41 248.95/165.41 248.95/165.41 248.95/165.41 248.95/165.41 *new_pr2F0G(y0, y1, Neg(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))))))), y3) -> H(y0, y1, Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))))), y3, cons_new_pr2F0G10(Succ(Zero))) 248.95/165.41 248.95/165.41 *(new_pr2F0G(x2502, x2503, Neg(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))))))), x2504)_>=_H(x2502, x2503, Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))))), x2504, cons_new_pr2F0G10(Succ(Zero)))) 248.95/165.41 248.95/165.41 248.95/165.41 248.95/165.41 248.95/165.41 *new_pr2F0G(y0, y1, Neg(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero))))))))), y3) -> H(y0, y1, Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero))))))), y3, cons_new_pr2F0G10(Zero)) 248.95/165.41 248.95/165.41 *(new_pr2F0G(x2590, x2591, Neg(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero))))))))), x2592)_>=_H(x2590, x2591, Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero))))))), x2592, cons_new_pr2F0G10(Zero))) 248.95/165.41 248.95/165.41 248.95/165.41 248.95/165.41 248.95/165.41 248.95/165.41 248.95/165.41 248.95/165.41 248.95/165.41 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. 248.95/165.41 ---------------------------------------- 248.95/165.41 248.95/165.41 (880) 248.95/165.41 Obligation: 248.95/165.41 Q DP problem: 248.95/165.41 The TRS P consists of the following rules: 248.95/165.41 248.95/165.41 new_pr2F0(vyv183, Neg(Succ(Succ(vyv222000))), vyv187, h) -> new_pr2F0G10(vyv187, vyv183, Succ(vyv222000), vyv222000, h) 248.95/165.41 new_pr2F0G10(vyv248, vyv249, vyv250, Succ(Zero), bb) -> new_pr2F0G11(vyv248, vyv249, vyv250, bb) 248.95/165.41 new_pr2F0G11(vyv238, vyv239, vyv240, bc) -> new_pr2F1(vyv239, vyv240, Pos(Succ(Zero)), vyv238, bc) 248.95/165.41 new_pr2F1(z1, z2, Pos(Succ(Zero)), z0, z3) -> new_pr2F30(False, z1, z2, Pos(Succ(Zero)), z0, z3) 248.95/165.41 new_pr2F30(False, z0, z1, Pos(Succ(Zero)), z2, z3) -> new_pr2F0(z0, Neg(Succ(Succ(new_primPlusNat0(z1, Zero)))), new_sr4(z0, z2, z3), z3) 248.95/165.41 H(vyv248, vyv249, vyv250, bb, cons_new_pr2F0G10(Succ(Zero))) -> new_pr2F0G10(vyv248, vyv249, vyv250, Succ(Zero), bb) 248.95/165.41 H(vyv248, vyv249, vyv250, bb, cons_new_pr2F0G10(Zero)) -> new_pr2F0G10(vyv248, vyv249, vyv250, Zero, bb) 248.95/165.41 new_pr2F0G(vyv187, vyv183, Neg(Succ(Zero)), h) -> new_pr2F0G11(vyv187, vyv183, Zero, h) 248.95/165.41 new_pr2F0G(vyv187, vyv183, Neg(Succ(Succ(vyv222000))), h) -> new_pr2F0G10(vyv187, vyv183, Succ(vyv222000), vyv222000, h) 248.95/165.41 new_pr2F0G10(y0, y1, Succ(Zero), Zero, y3) -> new_pr2F0G(y0, new_sr3(y1, y3), Neg(Succ(Zero)), y3) 248.95/165.41 new_pr2F0(y0, Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), y2, y3) -> H(y2, y0, Succ(Succ(Succ(Succ(Zero)))), y3, cons_new_pr2F0G10(Succ(Zero))) 248.95/165.41 new_pr2F0(y0, Neg(Succ(Succ(Succ(Succ(Zero))))), y2, y3) -> H(y2, y0, Succ(Succ(Succ(Zero))), y3, cons_new_pr2F0G10(Zero)) 248.95/165.41 new_pr2F0G10(y0, y1, Succ(Succ(Zero)), Zero, y3) -> new_pr2F0G(y0, new_sr3(y1, y3), Neg(Succ(Zero)), y3) 248.95/165.41 new_pr2F0G(y0, y1, Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), y3) -> H(y0, y1, Succ(Succ(Succ(Succ(Zero)))), y3, cons_new_pr2F0G10(Succ(Zero))) 248.95/165.41 new_pr2F0G(y0, y1, Neg(Succ(Succ(Succ(Succ(Zero))))), y3) -> H(y0, y1, Succ(Succ(Succ(Zero))), y3, cons_new_pr2F0G10(Zero)) 248.95/165.41 new_pr2F0(y0, Neg(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))))), y2, y3) -> H(y2, y0, Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))), y3, cons_new_pr2F0G10(Succ(Zero))) 248.95/165.41 new_pr2F0(y0, Neg(Succ(Succ(Succ(Succ(Succ(Succ(Zero))))))), y2, y3) -> H(y2, y0, Succ(Succ(Succ(Succ(Succ(Zero))))), y3, cons_new_pr2F0G10(Zero)) 248.95/165.41 new_pr2F0G10(y0, y1, Succ(Succ(Succ(Succ(x2)))), Zero, y3) -> new_pr2F0G(y0, new_sr3(y1, y3), Neg(Succ(Succ(new_primDivNatS1(Succ(x2), Succ(Zero))))), y3) 248.95/165.41 new_pr2F0G10(y0, y1, Succ(Succ(Succ(Zero))), Zero, y3) -> new_pr2F0G(y0, new_sr3(y1, y3), Neg(Succ(Succ(Zero))), y3) 248.95/165.41 new_pr2F0G(y0, y1, Neg(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))))), y3) -> H(y0, y1, Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))), y3, cons_new_pr2F0G10(Succ(Zero))) 248.95/165.41 new_pr2F0G(y0, y1, Neg(Succ(Succ(Succ(Succ(Succ(Succ(Zero))))))), y3) -> H(y0, y1, Succ(Succ(Succ(Succ(Succ(Zero))))), y3, cons_new_pr2F0G10(Zero)) 248.95/165.41 new_pr2F0(y0, Neg(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(x0))))))))))), y2, y3) -> H(y2, y0, Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(x0))))))))), y3, new_new_pr2F0G10(x0)) 248.95/165.41 new_pr2F0(y0, Neg(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))))))), y2, y3) -> H(y2, y0, Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))))), y3, cons_new_pr2F0G10(Succ(Zero))) 248.95/165.41 new_pr2F0(y0, Neg(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero))))))))), y2, y3) -> H(y2, y0, Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero))))))), y3, cons_new_pr2F0G10(Zero)) 248.95/165.41 new_pr2F0G(y0, y1, Neg(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(x0))))))))))), y3) -> H(y0, y1, Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(x0))))))))), y3, new_new_pr2F0G10(x0)) 248.95/165.41 new_pr2F0G(y0, y1, Neg(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))))))), y3) -> H(y0, y1, Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))))), y3, cons_new_pr2F0G10(Succ(Zero))) 248.95/165.41 new_pr2F0G(y0, y1, Neg(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero))))))))), y3) -> H(y0, y1, Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero))))))), y3, cons_new_pr2F0G10(Zero)) 248.95/165.41 248.95/165.41 The TRS R consists of the following rules: 248.95/165.41 248.95/165.41 new_new_pr2F0G10(Succ(Succ(vyv25100))) -> new_new_pr2F0G10(vyv25100) 248.95/165.41 new_new_pr2F0G10(Succ(Zero)) -> cons_new_pr2F0G10(Succ(Zero)) 248.95/165.41 new_new_pr2F0G10(Zero) -> cons_new_pr2F0G10(Zero) 248.95/165.41 new_sr3(vyv249, ty_Float) -> new_sr10(vyv249) 248.95/165.41 new_sr3(vyv249, ty_Double) -> new_sr9(vyv249) 248.95/165.41 new_sr3(vyv249, ty_Int) -> new_sr6(vyv249) 248.95/165.41 new_sr3(vyv249, ty_Integer) -> new_sr7(vyv249) 248.95/165.41 new_sr3(vyv249, app(ty_Ratio, bg)) -> new_sr5(vyv249, bg) 248.95/165.41 new_sr5(:%(vyv1830, vyv1831), bd) -> new_reduce2Reduce1(vyv1830, vyv1830, vyv1831, vyv1831, new_esEs0(vyv1831, bd), bd) 248.95/165.41 new_esEs0(vyv1831, ty_Int) -> new_esEs(new_sr6(vyv1831)) 248.95/165.41 new_esEs0(vyv1831, ty_Integer) -> new_esEs1(new_sr7(vyv1831)) 248.95/165.41 new_reduce2Reduce1(vyv264, vyv265, vyv266, vyv267, False, bh) -> :%(new_quot1(vyv264, vyv265, vyv266, vyv267, bh), new_quot2(vyv266, vyv267, vyv264, vyv265, bh)) 248.95/165.41 new_reduce2Reduce1(vyv264, vyv265, vyv266, vyv267, True, bh) -> error([]) 248.95/165.41 new_quot1(vyv264, vyv265, vyv266, vyv267, ty_Int) -> new_quot0(new_sr14(vyv264, vyv265), new_sr14(vyv264, vyv265), new_sr14(vyv266, vyv267)) 248.95/165.41 new_quot1(vyv264, vyv265, vyv266, vyv267, ty_Integer) -> new_quot(new_sr8(vyv264, vyv265), new_sr8(vyv264, vyv265), new_sr8(vyv266, vyv267)) 248.95/165.41 new_quot2(vyv266, vyv267, vyv264, vyv265, ty_Int) -> new_quot0(new_sr14(vyv266, vyv267), new_sr14(vyv264, vyv265), new_sr14(vyv266, vyv267)) 248.95/165.41 new_quot2(vyv266, vyv267, vyv264, vyv265, ty_Integer) -> new_quot(new_sr8(vyv266, vyv267), new_sr8(vyv264, vyv265), new_sr8(vyv266, vyv267)) 248.95/165.41 new_sr8(vyv239, vyv238) -> error([]) 248.95/165.41 new_quot(vyv273, vyv275, vyv274) -> error([]) 248.95/165.41 new_sr14(Pos(vyv2390), Neg(vyv2380)) -> Neg(new_primMulNat0(vyv2390, vyv2380)) 248.95/165.41 new_sr14(Neg(vyv2390), Pos(vyv2380)) -> Neg(new_primMulNat0(vyv2390, vyv2380)) 248.95/165.41 new_sr14(Neg(vyv2390), Neg(vyv2380)) -> Pos(new_primMulNat0(vyv2390, vyv2380)) 248.95/165.41 new_sr14(Pos(vyv2390), Pos(vyv2380)) -> Pos(new_primMulNat0(vyv2390, vyv2380)) 248.95/165.41 new_quot0(Neg(vyv2700), vyv272, vyv271) -> new_primQuotInt0(vyv2700, new_gcd(vyv272, vyv271)) 248.95/165.41 new_quot0(Pos(vyv2700), vyv272, vyv271) -> new_primQuotInt(vyv2700, new_gcd(vyv272, vyv271)) 248.95/165.41 new_gcd(vyv272, vyv271) -> new_gcd2(new_esEs(vyv272), vyv272, vyv271) 248.95/165.41 new_primQuotInt(vyv2700, Pos(Succ(vyv28400))) -> Pos(new_primDivNatS1(vyv2700, vyv28400)) 248.95/165.41 new_primQuotInt(vyv2700, Neg(Zero)) -> new_error 248.95/165.41 new_primQuotInt(vyv2700, Pos(Zero)) -> new_error 248.95/165.41 new_primQuotInt(vyv2700, Neg(Succ(vyv28400))) -> Neg(new_primDivNatS1(vyv2700, vyv28400)) 248.95/165.41 new_primDivNatS1(Succ(Zero), Succ(vyv284000)) -> Zero 248.95/165.41 new_primDivNatS1(Succ(Succ(vyv270000)), Succ(vyv284000)) -> new_primDivNatS02(vyv270000, vyv284000, vyv270000, vyv284000) 248.95/165.41 new_primDivNatS1(Zero, vyv28400) -> Zero 248.95/165.41 new_primDivNatS1(Succ(Succ(vyv270000)), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS0(vyv270000), Zero)) 248.95/165.41 new_primDivNatS1(Succ(Zero), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS1, Zero)) 248.95/165.41 new_primMinusNatS1 -> Zero 248.95/165.41 new_primMinusNatS0(vyv270000) -> Succ(vyv270000) 248.95/165.41 new_primDivNatS02(vyv310, vyv311, Zero, Zero) -> new_primDivNatS01(vyv310, vyv311) 248.95/165.41 new_primDivNatS02(vyv310, vyv311, Succ(vyv3120), Zero) -> new_primDivNatS01(vyv310, vyv311) 248.95/165.41 new_primDivNatS02(vyv310, vyv311, Zero, Succ(vyv3130)) -> Zero 248.95/165.41 new_primDivNatS02(vyv310, vyv311, Succ(vyv3120), Succ(vyv3130)) -> new_primDivNatS02(vyv310, vyv311, vyv3120, vyv3130) 248.95/165.41 new_primDivNatS01(vyv310, vyv311) -> Succ(new_primDivNatS1(new_primMinusNatS2(vyv310, vyv311), Succ(vyv311))) 248.95/165.41 new_primMinusNatS2(Zero, Succ(vyv3110)) -> Zero 248.95/165.41 new_primMinusNatS2(Succ(vyv3100), Zero) -> Succ(vyv3100) 248.95/165.41 new_primMinusNatS2(Zero, Zero) -> Zero 248.95/165.41 new_primMinusNatS2(Succ(vyv3100), Succ(vyv3110)) -> new_primMinusNatS2(vyv3100, vyv3110) 248.95/165.41 new_error -> error([]) 248.95/165.41 new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) 248.95/165.41 new_esEs(Pos(Succ(vyv24100))) -> new_primEqInt(Pos(Succ(vyv24100))) 248.95/165.41 new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) 248.95/165.41 new_esEs(Neg(Succ(vyv24100))) -> new_primEqInt(Neg(Succ(vyv24100))) 248.95/165.41 new_gcd2(True, vyv272, vyv271) -> new_gcd1(new_esEs(vyv271), vyv272, vyv271) 248.95/165.41 new_gcd2(False, vyv272, vyv271) -> new_gcd0(vyv272, vyv271) 248.95/165.41 new_gcd0(vyv272, vyv271) -> new_gcd0Gcd'10(new_esEs(new_abs(vyv271)), vyv272, vyv271) 248.95/165.41 new_abs(Neg(Zero)) -> Neg(Zero) 248.95/165.41 new_abs(Neg(Succ(vyv27100))) -> Pos(Succ(vyv27100)) 248.95/165.41 new_abs(Pos(Succ(vyv27100))) -> Pos(Succ(vyv27100)) 248.95/165.41 new_abs(Pos(Zero)) -> Pos(Zero) 248.95/165.41 new_gcd0Gcd'10(True, vyv272, vyv271) -> new_abs(vyv272) 248.95/165.41 new_gcd0Gcd'10(False, vyv272, vyv271) -> new_gcd0Gcd'00(new_abs(vyv272), new_abs(vyv271)) 248.95/165.41 new_gcd0Gcd'00(vyv292, vyv291) -> new_gcd0Gcd'11(new_esEs(new_rem(vyv292, vyv291)), vyv291, vyv292) 248.95/165.41 new_gcd0Gcd'11(False, vyv291, vyv292) -> new_gcd0Gcd'00(vyv291, new_rem(vyv292, vyv291)) 248.95/165.41 new_rem(Pos(vyv2920), Neg(Zero)) -> new_error 248.95/165.41 new_rem(Neg(vyv2920), Pos(Zero)) -> new_error 248.95/165.41 new_rem(Pos(vyv2920), Neg(Succ(vyv29100))) -> Pos(new_primModNatS1(vyv2920, vyv29100)) 248.95/165.41 new_rem(Neg(vyv2920), Pos(Succ(vyv29100))) -> Neg(new_primModNatS1(vyv2920, vyv29100)) 248.95/165.41 new_rem(Pos(vyv2920), Pos(Succ(vyv29100))) -> Pos(new_primModNatS1(vyv2920, vyv29100)) 248.95/165.41 new_rem(Neg(vyv2920), Neg(Zero)) -> new_error 248.95/165.41 new_rem(Neg(vyv2920), Neg(Succ(vyv29100))) -> Neg(new_primModNatS1(vyv2920, vyv29100)) 248.95/165.41 new_rem(Pos(vyv2920), Pos(Zero)) -> new_error 248.95/165.41 new_gcd0Gcd'11(True, vyv291, vyv292) -> vyv291 248.95/165.41 new_primModNatS1(Succ(Zero), Succ(vyv291000)) -> Succ(Zero) 248.95/165.41 new_primModNatS1(Zero, vyv29100) -> Zero 248.95/165.41 new_primModNatS1(Succ(Succ(vyv292000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv292000), Zero) 248.95/165.41 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 248.95/165.41 new_primModNatS1(Succ(Succ(vyv292000)), Succ(vyv291000)) -> new_primModNatS01(vyv292000, vyv291000, vyv292000, vyv291000) 248.95/165.41 new_primModNatS01(vyv330, vyv331, Zero, Zero) -> new_primModNatS02(vyv330, vyv331) 248.95/165.41 new_primModNatS02(vyv330, vyv331) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv330), Succ(vyv331)), Succ(vyv331)) 248.95/165.41 new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Zero) -> new_primModNatS02(vyv330, vyv331) 248.95/165.41 new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Succ(vyv3330)) -> new_primModNatS01(vyv330, vyv331, vyv3320, vyv3330) 248.95/165.41 new_primModNatS01(vyv330, vyv331, Zero, Succ(vyv3330)) -> Succ(Succ(vyv330)) 248.95/165.41 new_gcd1(True, vyv272, vyv271) -> new_error 248.95/165.41 new_gcd1(False, vyv272, vyv271) -> new_gcd0(vyv272, vyv271) 248.95/165.41 new_primEqInt(Neg(Succ(vyv242000))) -> False 248.95/165.42 new_primEqInt(Pos(Zero)) -> True 248.95/165.42 new_primEqInt(Pos(Succ(vyv242000))) -> False 248.95/165.42 new_primEqInt(Neg(Zero)) -> True 248.95/165.42 new_primQuotInt0(vyv2700, Pos(Succ(vyv28700))) -> Neg(new_primDivNatS1(vyv2700, vyv28700)) 248.95/165.42 new_primQuotInt0(vyv2700, Neg(Zero)) -> new_error 248.95/165.42 new_primQuotInt0(vyv2700, Neg(Succ(vyv28700))) -> Pos(new_primDivNatS1(vyv2700, vyv28700)) 248.95/165.42 new_primQuotInt0(vyv2700, Pos(Zero)) -> new_error 248.95/165.42 new_primMulNat0(Succ(vyv23900), Zero) -> Zero 248.95/165.42 new_primMulNat0(Zero, Succ(vyv23800)) -> Zero 248.95/165.42 new_primMulNat0(Zero, Zero) -> Zero 248.95/165.42 new_primMulNat0(Succ(vyv23900), Succ(vyv23800)) -> new_primPlusNat0(new_primMulNat0(vyv23900, Succ(vyv23800)), Succ(vyv23800)) 248.95/165.42 new_primPlusNat0(Succ(vyv4000), Succ(vyv5000)) -> Succ(Succ(new_primPlusNat0(vyv4000, vyv5000))) 248.95/165.42 new_primPlusNat0(Zero, Succ(vyv5000)) -> Succ(vyv5000) 248.95/165.42 new_primPlusNat0(Zero, Zero) -> Zero 248.95/165.42 new_primPlusNat0(Succ(vyv4000), Zero) -> Succ(vyv4000) 248.95/165.42 new_sr7(vyv183) -> error([]) 248.95/165.42 new_esEs1(Integer(vyv2690)) -> new_primEqInt(vyv2690) 248.95/165.42 new_sr6(Neg(vyv1830)) -> Pos(new_primMulNat1(vyv1830)) 248.95/165.42 new_sr6(Pos(vyv1830)) -> Pos(new_primMulNat1(vyv1830)) 248.95/165.42 new_primMulNat1(Succ(vyv18300)) -> new_primPlusNat0(new_primMulNat2(vyv18300), Succ(vyv18300)) 248.95/165.42 new_primMulNat1(Zero) -> Zero 248.95/165.42 new_primMulNat2(Succ(vyv183000)) -> new_primPlusNat0(new_primMulNat3(vyv183000), Succ(Succ(vyv183000))) 248.95/165.42 new_primMulNat2(Zero) -> Zero 248.95/165.42 new_primMulNat3(Succ(vyv1830000)) -> new_primPlusNat0(new_primMulNat4(vyv1830000), Succ(Succ(Succ(vyv1830000)))) 248.95/165.42 new_primMulNat3(Zero) -> Zero 248.95/165.42 new_primMulNat4(Succ(vyv18300000)) -> new_primPlusNat0(new_primMulNat0(vyv18300000, Succ(Succ(Succ(Succ(vyv18300000))))), Succ(Succ(Succ(Succ(vyv18300000))))) 248.95/165.42 new_primMulNat4(Zero) -> Zero 248.95/165.42 new_sr9(vyv183) -> error([]) 248.95/165.42 new_sr10(vyv183) -> error([]) 248.95/165.42 new_sr4(vyv239, vyv238, app(ty_Ratio, bf)) -> new_sr12(vyv239, vyv238, bf) 248.95/165.42 new_sr4(vyv239, vyv238, ty_Integer) -> new_sr8(vyv239, vyv238) 248.95/165.42 new_sr4(vyv239, vyv238, ty_Int) -> new_sr14(vyv239, vyv238) 248.95/165.42 new_sr4(vyv239, vyv238, ty_Double) -> new_sr11(vyv239, vyv238) 248.95/165.42 new_sr4(vyv239, vyv238, ty_Float) -> new_sr13(vyv239, vyv238) 248.95/165.42 new_sr13(vyv239, vyv238) -> error([]) 248.95/165.42 new_sr11(vyv239, vyv238) -> error([]) 248.95/165.42 new_sr12(:%(vyv2390, vyv2391), :%(vyv2380, vyv2381), bf) -> new_reduce2Reduce1(vyv2390, vyv2380, vyv2391, vyv2381, new_esEs2(vyv2391, vyv2381, bf), bf) 248.95/165.42 new_esEs2(vyv2391, vyv2381, ty_Int) -> new_esEs(new_sr14(vyv2391, vyv2381)) 248.95/165.42 new_esEs2(vyv2391, vyv2381, ty_Integer) -> new_esEs1(new_sr8(vyv2391, vyv2381)) 248.95/165.42 248.95/165.42 The set Q consists of the following terms: 248.95/165.42 248.95/165.42 new_rem(Pos(x0), Pos(Succ(x1))) 248.95/165.42 new_quot1(x0, x1, x2, x3, ty_Integer) 248.95/165.42 new_primModNatS1(Succ(Zero), Succ(x0)) 248.95/165.42 new_primMulNat4(Zero) 248.95/165.42 new_gcd1(False, x0, x1) 248.95/165.42 new_primEqInt(Pos(Zero)) 248.95/165.42 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 248.95/165.42 new_rem(Pos(x0), Neg(Succ(x1))) 248.95/165.42 new_rem(Neg(x0), Pos(Succ(x1))) 248.95/165.42 new_sr10(x0) 248.95/165.42 new_quot1(x0, x1, x2, x3, ty_Int) 248.95/165.42 new_quot2(x0, x1, x2, x3, ty_Integer) 248.95/165.42 new_primModNatS01(x0, x1, Succ(x2), Zero) 248.95/165.42 new_sr3(x0, ty_Integer) 248.95/165.42 new_primMulNat3(Zero) 248.95/165.42 new_primDivNatS02(x0, x1, Succ(x2), Zero) 248.95/165.42 new_quot2(x0, x1, x2, x3, ty_Int) 248.95/165.42 new_gcd2(False, x0, x1) 248.95/165.42 new_primDivNatS1(Succ(Zero), Zero) 248.95/165.42 new_esEs0(x0, ty_Int) 248.95/165.42 new_sr14(Pos(x0), Pos(x1)) 248.95/165.42 new_sr3(x0, ty_Int) 248.95/165.42 new_primMulNat0(Zero, Zero) 248.95/165.42 new_sr4(x0, x1, ty_Double) 248.95/165.42 new_primPlusNat0(Succ(x0), Zero) 248.95/165.42 new_primMulNat2(Zero) 248.95/165.42 new_sr11(x0, x1) 248.95/165.42 new_primModNatS01(x0, x1, Zero, Zero) 248.95/165.42 new_esEs2(x0, x1, ty_Int) 248.95/165.42 new_gcd1(True, x0, x1) 248.95/165.42 new_sr13(x0, x1) 248.95/165.42 new_sr14(Pos(x0), Neg(x1)) 248.95/165.42 new_sr14(Neg(x0), Pos(x1)) 248.95/165.42 new_primDivNatS1(Succ(Succ(x0)), Succ(x1)) 248.95/165.42 new_primModNatS1(Zero, x0) 248.95/165.42 new_esEs(Pos(Succ(x0))) 248.95/165.42 new_primMulNat3(Succ(x0)) 248.95/165.42 new_primQuotInt(x0, Neg(Succ(x1))) 248.95/165.42 new_reduce2Reduce1(x0, x1, x2, x3, False, x4) 248.95/165.42 new_primDivNatS1(Zero, x0) 248.95/165.42 new_primDivNatS02(x0, x1, Succ(x2), Succ(x3)) 248.95/165.42 new_primModNatS02(x0, x1) 248.95/165.42 new_primDivNatS1(Succ(Zero), Succ(x0)) 248.95/165.42 new_sr6(Neg(x0)) 248.95/165.42 new_gcd0Gcd'10(True, x0, x1) 248.95/165.42 new_primMulNat0(Succ(x0), Succ(x1)) 248.95/165.42 new_abs(Neg(Zero)) 248.95/165.42 new_rem(Pos(x0), Neg(Zero)) 248.95/165.42 new_rem(Neg(x0), Pos(Zero)) 248.95/165.42 new_primMinusNatS2(Zero, Succ(x0)) 248.95/165.42 new_esEs(Neg(Succ(x0))) 248.95/165.42 new_error 248.95/165.42 new_primModNatS1(Succ(Zero), Zero) 248.95/165.42 new_primMulNat0(Zero, Succ(x0)) 248.95/165.42 new_sr3(x0, ty_Float) 248.95/165.42 new_quot(x0, x1, x2) 248.95/165.42 new_gcd2(True, x0, x1) 248.95/165.42 new_gcd0Gcd'11(True, x0, x1) 248.95/165.42 new_primEqInt(Neg(Zero)) 248.95/165.42 new_primMulNat0(Succ(x0), Zero) 248.95/165.42 new_quot0(Neg(x0), x1, x2) 248.95/165.42 new_primMinusNatS2(Succ(x0), Succ(x1)) 248.95/165.42 new_sr4(x0, x1, app(ty_Ratio, x2)) 248.95/165.42 new_sr8(x0, x1) 248.95/165.42 new_primDivNatS01(x0, x1) 248.95/165.42 new_primDivNatS02(x0, x1, Zero, Succ(x2)) 248.95/165.42 new_primPlusNat0(Succ(x0), Succ(x1)) 248.95/165.42 new_primPlusNat0(Zero, Zero) 248.95/165.42 new_sr12(:%(x0, x1), :%(x2, x3), x4) 248.95/165.42 new_abs(Neg(Succ(x0))) 248.95/165.42 new_sr3(x0, app(ty_Ratio, x1)) 248.95/165.42 new_sr7(x0) 248.95/165.42 new_gcd0(x0, x1) 248.95/165.42 new_primQuotInt0(x0, Pos(Succ(x1))) 248.95/165.42 new_sr4(x0, x1, ty_Integer) 248.95/165.42 new_sr5(:%(x0, x1), x2) 248.95/165.42 new_primMinusNatS2(Zero, Zero) 248.95/165.42 new_primMulNat1(Succ(x0)) 248.95/165.42 new_abs(Pos(Succ(x0))) 248.95/165.42 new_sr4(x0, x1, ty_Int) 248.95/165.42 new_esEs(Pos(Zero)) 248.95/165.42 new_primQuotInt0(x0, Pos(Zero)) 248.95/165.42 new_primEqInt(Neg(Succ(x0))) 248.95/165.42 new_primQuotInt(x0, Neg(Zero)) 248.95/165.42 new_primQuotInt0(x0, Neg(Zero)) 248.95/165.42 new_primQuotInt0(x0, Neg(Succ(x1))) 248.95/165.42 new_gcd(x0, x1) 248.95/165.42 new_quot0(Pos(x0), x1, x2) 248.95/165.42 new_primMinusNatS0(x0) 248.95/165.42 new_primPlusNat0(Zero, Succ(x0)) 248.95/165.42 new_primQuotInt(x0, Pos(Succ(x1))) 248.95/165.42 new_primDivNatS1(Succ(Succ(x0)), Zero) 248.95/165.42 new_rem(Pos(x0), Pos(Zero)) 248.95/165.42 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 248.95/165.42 new_primDivNatS02(x0, x1, Zero, Zero) 248.95/165.42 new_abs(Pos(Zero)) 248.95/165.42 new_gcd0Gcd'10(False, x0, x1) 248.95/165.42 new_primMinusNatS1 248.95/165.42 new_esEs1(Integer(x0)) 248.95/165.42 new_primModNatS01(x0, x1, Zero, Succ(x2)) 248.95/165.42 new_primMulNat2(Succ(x0)) 248.95/165.42 new_sr14(Neg(x0), Neg(x1)) 248.95/165.42 new_primMinusNatS2(Succ(x0), Zero) 248.95/165.42 new_sr4(x0, x1, ty_Float) 248.95/165.42 new_sr6(Pos(x0)) 248.95/165.42 new_esEs2(x0, x1, ty_Integer) 248.95/165.42 new_primMulNat4(Succ(x0)) 248.95/165.42 new_rem(Neg(x0), Neg(Succ(x1))) 248.95/165.42 new_primEqInt(Pos(Succ(x0))) 248.95/165.42 new_primQuotInt(x0, Pos(Zero)) 248.95/165.42 new_gcd0Gcd'11(False, x0, x1) 248.95/165.42 new_sr9(x0) 248.95/165.42 new_primModNatS1(Succ(Succ(x0)), Zero) 248.95/165.42 new_esEs0(x0, ty_Integer) 248.95/165.42 new_gcd0Gcd'00(x0, x1) 248.95/165.42 new_reduce2Reduce1(x0, x1, x2, x3, True, x4) 248.95/165.42 new_sr3(x0, ty_Double) 248.95/165.42 new_esEs(Neg(Zero)) 248.95/165.42 new_primMulNat1(Zero) 248.95/165.42 new_rem(Neg(x0), Neg(Zero)) 248.95/165.42 new_new_pr2F0G10(Succ(Succ(x0))) 248.95/165.42 new_new_pr2F0G10(Succ(Zero)) 248.95/165.42 new_new_pr2F0G10(Zero) 248.95/165.42 248.95/165.42 We have to consider all minimal (P,Q,R)-chains. 248.95/165.42 ---------------------------------------- 248.95/165.42 248.95/165.42 (881) 248.95/165.42 Obligation: 248.95/165.42 Q DP problem: 248.95/165.42 The TRS P consists of the following rules: 248.95/165.42 248.95/165.42 new_pr2F0G10(vyv248, vyv249, vyv250, Succ(Succ(vyv25100)), bb) -> new_pr2F0G10(vyv248, vyv249, vyv250, vyv25100, bb) 248.95/165.42 248.95/165.42 R is empty. 248.95/165.42 Q is empty. 248.95/165.42 We have to consider all minimal (P,Q,R)-chains. 248.95/165.42 ---------------------------------------- 248.95/165.42 248.95/165.42 (882) QDPSizeChangeProof (EQUIVALENT) 248.95/165.42 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. 248.95/165.42 248.95/165.42 From the DPs we obtained the following set of size-change graphs: 248.95/165.42 *new_pr2F0G10(vyv248, vyv249, vyv250, Succ(Succ(vyv25100)), bb) -> new_pr2F0G10(vyv248, vyv249, vyv250, vyv25100, bb) 248.95/165.42 The graph contains the following edges 1 >= 1, 2 >= 2, 3 >= 3, 4 > 4, 5 >= 5 248.95/165.42 248.95/165.42 248.95/165.42 ---------------------------------------- 248.95/165.42 248.95/165.42 (883) 248.95/165.42 YES 248.95/165.42 248.95/165.42 ---------------------------------------- 248.95/165.42 248.95/165.42 (884) 248.95/165.42 Obligation: 248.95/165.42 Q DP problem: 248.95/165.42 The TRS P consists of the following rules: 248.95/165.42 248.95/165.42 new_pr2F0(vyv183, Pos(Succ(Succ(vyv222000))), vyv187, h) -> new_pr2F0G1(vyv187, vyv183, Succ(vyv222000), vyv222000, h) 248.95/165.42 new_pr2F0G1(vyv226, vyv227, vyv228, Succ(Succ(vyv22900)), ba) -> new_pr2F0G1(vyv226, vyv227, vyv228, vyv22900, ba) 248.95/165.42 new_pr2F0G1(vyv226, vyv227, vyv228, Succ(Zero), ba) -> new_pr2F(vyv227, vyv228, Pos(Succ(Zero)), vyv226, ba) 248.95/165.42 new_pr2F(vyv227, vyv228, vyv244, vyv226, ba) -> new_pr2F3(new_esEs(new_ms(vyv228, vyv244)), vyv227, vyv228, vyv244, vyv226, ba) 248.95/165.42 new_pr2F3(False, vyv227, vyv228, vyv244, vyv226, ba) -> new_pr2F0(vyv227, new_ms(vyv228, vyv244), new_sr2(vyv227, vyv226, ba), ba) 248.95/165.42 new_pr2F0(vyv183, Pos(Succ(Zero)), vyv187, h) -> new_pr2F(vyv183, Zero, Pos(Succ(Zero)), vyv187, h) 248.95/165.42 new_pr2F0G1(vyv226, vyv227, vyv228, Zero, ba) -> new_pr2F0G(vyv226, new_sr1(vyv227, ba), Pos(new_primDivNatS1(Succ(vyv228), Succ(Zero))), ba) 248.95/165.42 new_pr2F0G(vyv187, vyv183, Pos(Succ(Succ(vyv222000))), h) -> new_pr2F0G1(vyv187, vyv183, Succ(vyv222000), vyv222000, h) 248.95/165.42 new_pr2F0G(vyv187, vyv183, Pos(Succ(Zero)), h) -> new_pr2F(vyv183, Zero, Pos(Succ(Zero)), vyv187, h) 248.95/165.42 248.95/165.42 The TRS R consists of the following rules: 248.95/165.42 248.95/165.42 new_ms0(vyv240, Pos(vyv2430)) -> Neg(new_primPlusNat0(Succ(vyv240), vyv2430)) 248.95/165.42 new_sr4(vyv239, vyv238, app(ty_Ratio, bf)) -> new_sr12(vyv239, vyv238, bf) 248.95/165.42 new_sr4(vyv239, vyv238, ty_Integer) -> new_sr8(vyv239, vyv238) 248.95/165.42 new_sr4(vyv239, vyv238, ty_Int) -> new_sr14(vyv239, vyv238) 248.95/165.42 new_sr4(vyv239, vyv238, ty_Double) -> new_sr11(vyv239, vyv238) 248.95/165.42 new_sr4(vyv239, vyv238, ty_Float) -> new_sr13(vyv239, vyv238) 248.95/165.42 new_sr13(vyv239, vyv238) -> error([]) 248.95/165.42 new_sr11(vyv239, vyv238) -> error([]) 248.95/165.42 new_sr14(Pos(vyv2390), Neg(vyv2380)) -> Neg(new_primMulNat0(vyv2390, vyv2380)) 248.95/165.42 new_sr14(Neg(vyv2390), Pos(vyv2380)) -> Neg(new_primMulNat0(vyv2390, vyv2380)) 248.95/165.42 new_sr14(Neg(vyv2390), Neg(vyv2380)) -> Pos(new_primMulNat0(vyv2390, vyv2380)) 248.95/165.42 new_sr14(Pos(vyv2390), Pos(vyv2380)) -> Pos(new_primMulNat0(vyv2390, vyv2380)) 248.95/165.42 new_primMulNat0(Succ(vyv23900), Zero) -> Zero 248.95/165.42 new_primMulNat0(Zero, Succ(vyv23800)) -> Zero 248.95/165.42 new_primMulNat0(Zero, Zero) -> Zero 248.95/165.42 new_primMulNat0(Succ(vyv23900), Succ(vyv23800)) -> new_primPlusNat0(new_primMulNat0(vyv23900, Succ(vyv23800)), Succ(vyv23800)) 248.95/165.42 new_primPlusNat0(Succ(vyv4000), Succ(vyv5000)) -> Succ(Succ(new_primPlusNat0(vyv4000, vyv5000))) 248.95/165.42 new_primPlusNat0(Zero, Succ(vyv5000)) -> Succ(vyv5000) 248.95/165.42 new_primPlusNat0(Zero, Zero) -> Zero 248.95/165.42 new_primPlusNat0(Succ(vyv4000), Zero) -> Succ(vyv4000) 248.95/165.42 new_sr8(vyv239, vyv238) -> error([]) 248.95/165.42 new_sr12(:%(vyv2390, vyv2391), :%(vyv2380, vyv2381), bf) -> new_reduce2Reduce1(vyv2390, vyv2380, vyv2391, vyv2381, new_esEs2(vyv2391, vyv2381, bf), bf) 248.95/165.42 new_esEs2(vyv2391, vyv2381, ty_Int) -> new_esEs(new_sr14(vyv2391, vyv2381)) 248.95/165.42 new_esEs2(vyv2391, vyv2381, ty_Integer) -> new_esEs1(new_sr8(vyv2391, vyv2381)) 248.95/165.42 new_reduce2Reduce1(vyv264, vyv265, vyv266, vyv267, False, bh) -> :%(new_quot1(vyv264, vyv265, vyv266, vyv267, bh), new_quot2(vyv266, vyv267, vyv264, vyv265, bh)) 248.95/165.42 new_reduce2Reduce1(vyv264, vyv265, vyv266, vyv267, True, bh) -> error([]) 248.95/165.42 new_quot1(vyv264, vyv265, vyv266, vyv267, ty_Int) -> new_quot0(new_sr14(vyv264, vyv265), new_sr14(vyv264, vyv265), new_sr14(vyv266, vyv267)) 248.95/165.42 new_quot1(vyv264, vyv265, vyv266, vyv267, ty_Integer) -> new_quot(new_sr8(vyv264, vyv265), new_sr8(vyv264, vyv265), new_sr8(vyv266, vyv267)) 248.95/165.42 new_quot2(vyv266, vyv267, vyv264, vyv265, ty_Int) -> new_quot0(new_sr14(vyv266, vyv267), new_sr14(vyv264, vyv265), new_sr14(vyv266, vyv267)) 248.95/165.42 new_quot2(vyv266, vyv267, vyv264, vyv265, ty_Integer) -> new_quot(new_sr8(vyv266, vyv267), new_sr8(vyv264, vyv265), new_sr8(vyv266, vyv267)) 248.95/165.42 new_quot(vyv273, vyv275, vyv274) -> error([]) 248.95/165.42 new_quot0(Neg(vyv2700), vyv272, vyv271) -> new_primQuotInt0(vyv2700, new_gcd(vyv272, vyv271)) 248.95/165.42 new_quot0(Pos(vyv2700), vyv272, vyv271) -> new_primQuotInt(vyv2700, new_gcd(vyv272, vyv271)) 248.95/165.42 new_gcd(vyv272, vyv271) -> new_gcd2(new_esEs(vyv272), vyv272, vyv271) 248.95/165.42 new_primQuotInt(vyv2700, Pos(Succ(vyv28400))) -> Pos(new_primDivNatS1(vyv2700, vyv28400)) 248.95/165.42 new_primQuotInt(vyv2700, Neg(Zero)) -> new_error 248.95/165.42 new_primQuotInt(vyv2700, Pos(Zero)) -> new_error 248.95/165.42 new_primQuotInt(vyv2700, Neg(Succ(vyv28400))) -> Neg(new_primDivNatS1(vyv2700, vyv28400)) 248.95/165.42 new_primDivNatS1(Succ(Zero), Succ(vyv284000)) -> Zero 248.95/165.42 new_primDivNatS1(Succ(Succ(vyv270000)), Succ(vyv284000)) -> new_primDivNatS02(vyv270000, vyv284000, vyv270000, vyv284000) 248.95/165.42 new_primDivNatS1(Zero, vyv28400) -> Zero 248.95/165.42 new_primDivNatS1(Succ(Succ(vyv270000)), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS0(vyv270000), Zero)) 248.95/165.42 new_primDivNatS1(Succ(Zero), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS1, Zero)) 248.95/165.42 new_primMinusNatS1 -> Zero 248.95/165.42 new_primMinusNatS0(vyv270000) -> Succ(vyv270000) 248.95/165.42 new_primDivNatS02(vyv310, vyv311, Zero, Zero) -> new_primDivNatS01(vyv310, vyv311) 248.95/165.42 new_primDivNatS02(vyv310, vyv311, Succ(vyv3120), Zero) -> new_primDivNatS01(vyv310, vyv311) 248.95/165.42 new_primDivNatS02(vyv310, vyv311, Zero, Succ(vyv3130)) -> Zero 248.95/165.42 new_primDivNatS02(vyv310, vyv311, Succ(vyv3120), Succ(vyv3130)) -> new_primDivNatS02(vyv310, vyv311, vyv3120, vyv3130) 248.95/165.42 new_primDivNatS01(vyv310, vyv311) -> Succ(new_primDivNatS1(new_primMinusNatS2(vyv310, vyv311), Succ(vyv311))) 248.95/165.42 new_primMinusNatS2(Zero, Succ(vyv3110)) -> Zero 248.95/165.42 new_primMinusNatS2(Succ(vyv3100), Zero) -> Succ(vyv3100) 248.95/165.42 new_primMinusNatS2(Zero, Zero) -> Zero 248.95/165.42 new_primMinusNatS2(Succ(vyv3100), Succ(vyv3110)) -> new_primMinusNatS2(vyv3100, vyv3110) 248.95/165.42 new_error -> error([]) 248.95/165.42 new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) 248.95/165.42 new_esEs(Pos(Succ(vyv24100))) -> new_primEqInt(Pos(Succ(vyv24100))) 248.95/165.42 new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) 248.95/165.42 new_esEs(Neg(Succ(vyv24100))) -> new_primEqInt(Neg(Succ(vyv24100))) 248.95/165.42 new_gcd2(True, vyv272, vyv271) -> new_gcd1(new_esEs(vyv271), vyv272, vyv271) 248.95/165.42 new_gcd2(False, vyv272, vyv271) -> new_gcd0(vyv272, vyv271) 248.95/165.42 new_gcd0(vyv272, vyv271) -> new_gcd0Gcd'10(new_esEs(new_abs(vyv271)), vyv272, vyv271) 248.95/165.42 new_abs(Neg(Zero)) -> Neg(Zero) 248.95/165.42 new_abs(Neg(Succ(vyv27100))) -> Pos(Succ(vyv27100)) 248.95/165.42 new_abs(Pos(Succ(vyv27100))) -> Pos(Succ(vyv27100)) 248.95/165.42 new_abs(Pos(Zero)) -> Pos(Zero) 248.95/165.42 new_gcd0Gcd'10(True, vyv272, vyv271) -> new_abs(vyv272) 248.95/165.42 new_gcd0Gcd'10(False, vyv272, vyv271) -> new_gcd0Gcd'00(new_abs(vyv272), new_abs(vyv271)) 248.95/165.42 new_gcd0Gcd'11(False, vyv291, vyv292) -> new_gcd0Gcd'00(vyv291, new_rem(vyv292, vyv291)) 248.95/165.42 new_gcd0Gcd'00(vyv292, vyv291) -> new_gcd0Gcd'11(new_esEs(new_rem(vyv292, vyv291)), vyv291, vyv292) 248.95/165.42 new_rem(Pos(vyv2920), Neg(Zero)) -> new_error 248.95/165.42 new_rem(Neg(vyv2920), Pos(Zero)) -> new_error 248.95/165.42 new_rem(Pos(vyv2920), Neg(Succ(vyv29100))) -> Pos(new_primModNatS1(vyv2920, vyv29100)) 248.95/165.42 new_rem(Neg(vyv2920), Pos(Succ(vyv29100))) -> Neg(new_primModNatS1(vyv2920, vyv29100)) 248.95/165.42 new_rem(Pos(vyv2920), Pos(Succ(vyv29100))) -> Pos(new_primModNatS1(vyv2920, vyv29100)) 248.95/165.42 new_rem(Neg(vyv2920), Neg(Zero)) -> new_error 248.95/165.42 new_rem(Neg(vyv2920), Neg(Succ(vyv29100))) -> Neg(new_primModNatS1(vyv2920, vyv29100)) 248.95/165.42 new_rem(Pos(vyv2920), Pos(Zero)) -> new_error 248.95/165.42 new_gcd0Gcd'11(True, vyv291, vyv292) -> vyv291 248.95/165.42 new_primModNatS1(Succ(Zero), Succ(vyv291000)) -> Succ(Zero) 248.95/165.42 new_primModNatS1(Zero, vyv29100) -> Zero 248.95/165.42 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 248.95/165.42 new_primModNatS1(Succ(Succ(vyv292000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv292000), Zero) 248.95/165.42 new_primModNatS1(Succ(Succ(vyv292000)), Succ(vyv291000)) -> new_primModNatS01(vyv292000, vyv291000, vyv292000, vyv291000) 248.95/165.42 new_primModNatS01(vyv330, vyv331, Zero, Zero) -> new_primModNatS02(vyv330, vyv331) 248.95/165.42 new_primModNatS02(vyv330, vyv331) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv330), Succ(vyv331)), Succ(vyv331)) 248.95/165.42 new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Zero) -> new_primModNatS02(vyv330, vyv331) 248.95/165.42 new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Succ(vyv3330)) -> new_primModNatS01(vyv330, vyv331, vyv3320, vyv3330) 248.95/165.42 new_primModNatS01(vyv330, vyv331, Zero, Succ(vyv3330)) -> Succ(Succ(vyv330)) 248.95/165.42 new_gcd1(True, vyv272, vyv271) -> new_error 248.95/165.42 new_gcd1(False, vyv272, vyv271) -> new_gcd0(vyv272, vyv271) 248.95/165.42 new_primEqInt(Neg(Succ(vyv242000))) -> False 248.95/165.42 new_primEqInt(Pos(Zero)) -> True 248.95/165.42 new_primEqInt(Pos(Succ(vyv242000))) -> False 248.95/165.42 new_primEqInt(Neg(Zero)) -> True 248.95/165.42 new_primQuotInt0(vyv2700, Pos(Succ(vyv28700))) -> Neg(new_primDivNatS1(vyv2700, vyv28700)) 248.95/165.42 new_primQuotInt0(vyv2700, Neg(Zero)) -> new_error 248.95/165.42 new_primQuotInt0(vyv2700, Neg(Succ(vyv28700))) -> Pos(new_primDivNatS1(vyv2700, vyv28700)) 248.95/165.42 new_primQuotInt0(vyv2700, Pos(Zero)) -> new_error 248.95/165.42 new_esEs1(Integer(vyv2690)) -> new_primEqInt(vyv2690) 248.95/165.42 new_sr1(vyv227, ty_Int) -> new_sr6(vyv227) 248.95/165.42 new_sr1(vyv227, ty_Integer) -> new_sr7(vyv227) 248.95/165.42 new_sr1(vyv227, app(ty_Ratio, be)) -> new_sr5(vyv227, be) 248.95/165.42 new_sr1(vyv227, ty_Float) -> new_sr10(vyv227) 248.95/165.42 new_sr1(vyv227, ty_Double) -> new_sr9(vyv227) 248.95/165.42 new_sr9(vyv183) -> error([]) 248.95/165.42 new_sr10(vyv183) -> error([]) 248.95/165.42 new_sr5(:%(vyv1830, vyv1831), bd) -> new_reduce2Reduce1(vyv1830, vyv1830, vyv1831, vyv1831, new_esEs0(vyv1831, bd), bd) 248.95/165.42 new_esEs0(vyv1831, ty_Int) -> new_esEs(new_sr6(vyv1831)) 248.95/165.42 new_esEs0(vyv1831, ty_Integer) -> new_esEs1(new_sr7(vyv1831)) 248.95/165.42 new_sr7(vyv183) -> error([]) 248.95/165.42 new_sr6(Neg(vyv1830)) -> Pos(new_primMulNat1(vyv1830)) 248.95/165.42 new_sr6(Pos(vyv1830)) -> Pos(new_primMulNat1(vyv1830)) 248.95/165.42 new_primMulNat1(Succ(vyv18300)) -> new_primPlusNat0(new_primMulNat2(vyv18300), Succ(vyv18300)) 248.95/165.42 new_primMulNat1(Zero) -> Zero 248.95/165.42 new_primMulNat2(Succ(vyv183000)) -> new_primPlusNat0(new_primMulNat3(vyv183000), Succ(Succ(vyv183000))) 248.95/165.42 new_primMulNat2(Zero) -> Zero 248.95/165.42 new_primMulNat3(Succ(vyv1830000)) -> new_primPlusNat0(new_primMulNat4(vyv1830000), Succ(Succ(Succ(vyv1830000)))) 248.95/165.42 new_primMulNat3(Zero) -> Zero 248.95/165.42 new_primMulNat4(Succ(vyv18300000)) -> new_primPlusNat0(new_primMulNat0(vyv18300000, Succ(Succ(Succ(Succ(vyv18300000))))), Succ(Succ(Succ(Succ(vyv18300000))))) 248.95/165.42 new_primMulNat4(Zero) -> Zero 248.95/165.42 new_ms(vyv228, Neg(vyv2440)) -> Pos(new_primPlusNat0(Succ(vyv228), vyv2440)) 248.95/165.42 new_ms(vyv228, Pos(Succ(vyv24400))) -> new_primMinusNat0(vyv228, vyv24400) 248.95/165.42 new_ms(vyv228, Pos(Zero)) -> Pos(Succ(vyv228)) 248.95/165.42 new_sr2(vyv227, vyv226, ty_Int) -> new_sr14(vyv227, vyv226) 248.95/165.42 new_sr2(vyv227, vyv226, ty_Double) -> new_sr11(vyv227, vyv226) 248.95/165.42 new_sr2(vyv227, vyv226, ty_Integer) -> new_sr8(vyv227, vyv226) 248.95/165.42 new_sr2(vyv227, vyv226, ty_Float) -> new_sr13(vyv227, vyv226) 248.95/165.42 new_sr2(vyv227, vyv226, app(ty_Ratio, be)) -> new_sr12(vyv227, vyv226, be) 248.95/165.42 new_primMinusNat0(Succ(vyv2280), Succ(vyv244000)) -> new_primMinusNat0(vyv2280, vyv244000) 248.95/165.42 new_primMinusNat0(Zero, Zero) -> Pos(Zero) 248.95/165.42 new_primMinusNat0(Zero, Succ(vyv244000)) -> Neg(Succ(vyv244000)) 248.95/165.42 new_primMinusNat0(Succ(vyv2280), Zero) -> Pos(Succ(vyv2280)) 248.95/165.42 new_sr3(vyv249, ty_Float) -> new_sr10(vyv249) 248.95/165.42 new_sr3(vyv249, ty_Double) -> new_sr9(vyv249) 248.95/165.42 new_sr3(vyv249, ty_Int) -> new_sr6(vyv249) 248.95/165.42 new_sr3(vyv249, ty_Integer) -> new_sr7(vyv249) 248.95/165.42 new_sr3(vyv249, app(ty_Ratio, bg)) -> new_sr5(vyv249, bg) 248.95/165.42 248.95/165.42 The set Q consists of the following terms: 248.95/165.42 248.95/165.42 new_rem(Pos(x0), Pos(Succ(x1))) 248.95/165.42 new_quot1(x0, x1, x2, x3, ty_Integer) 248.95/165.42 new_primModNatS1(Succ(Zero), Succ(x0)) 248.95/165.42 new_ms0(x0, Pos(x1)) 248.95/165.42 new_primMulNat4(Zero) 248.95/165.42 new_gcd1(False, x0, x1) 248.95/165.42 new_primEqInt(Pos(Zero)) 248.95/165.42 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 248.95/165.42 new_rem(Pos(x0), Neg(Succ(x1))) 248.95/165.42 new_rem(Neg(x0), Pos(Succ(x1))) 248.95/165.42 new_sr10(x0) 248.95/165.42 new_quot1(x0, x1, x2, x3, ty_Int) 248.95/165.42 new_quot2(x0, x1, x2, x3, ty_Integer) 248.95/165.42 new_primModNatS01(x0, x1, Succ(x2), Zero) 248.95/165.42 new_sr3(x0, ty_Integer) 248.95/165.42 new_primMulNat3(Zero) 248.95/165.42 new_primDivNatS02(x0, x1, Succ(x2), Zero) 248.95/165.42 new_quot2(x0, x1, x2, x3, ty_Int) 248.95/165.42 new_gcd2(False, x0, x1) 248.95/165.42 new_primDivNatS1(Succ(Zero), Zero) 248.95/165.42 new_esEs0(x0, ty_Int) 248.95/165.42 new_sr14(Pos(x0), Pos(x1)) 248.95/165.42 new_sr3(x0, ty_Int) 248.95/165.42 new_primMulNat0(Zero, Zero) 248.95/165.42 new_sr4(x0, x1, ty_Double) 248.95/165.42 new_primPlusNat0(Succ(x0), Zero) 248.95/165.42 new_primMulNat2(Zero) 248.95/165.42 new_sr11(x0, x1) 248.95/165.42 new_primModNatS01(x0, x1, Zero, Zero) 248.95/165.42 new_esEs2(x0, x1, ty_Int) 248.95/165.42 new_gcd1(True, x0, x1) 248.95/165.42 new_sr13(x0, x1) 248.95/165.42 new_sr14(Pos(x0), Neg(x1)) 248.95/165.42 new_sr14(Neg(x0), Pos(x1)) 248.95/165.42 new_primDivNatS1(Succ(Succ(x0)), Succ(x1)) 248.95/165.42 new_sr1(x0, ty_Int) 248.95/165.42 new_primModNatS1(Zero, x0) 248.95/165.42 new_esEs(Pos(Succ(x0))) 248.95/165.42 new_primMulNat3(Succ(x0)) 248.95/165.42 new_sr1(x0, app(ty_Ratio, x1)) 248.95/165.42 new_primQuotInt(x0, Neg(Succ(x1))) 248.95/165.42 new_reduce2Reduce1(x0, x1, x2, x3, False, x4) 248.95/165.42 new_primMinusNat0(Zero, Zero) 248.95/165.42 new_primDivNatS1(Zero, x0) 248.95/165.42 new_primDivNatS02(x0, x1, Succ(x2), Succ(x3)) 248.95/165.42 new_primModNatS02(x0, x1) 248.95/165.42 new_primDivNatS1(Succ(Zero), Succ(x0)) 248.95/165.42 new_sr6(Neg(x0)) 248.95/165.42 new_gcd0Gcd'10(True, x0, x1) 248.95/165.42 new_primMulNat0(Succ(x0), Succ(x1)) 248.95/165.42 new_abs(Neg(Zero)) 248.95/165.42 new_ms(x0, Neg(x1)) 248.95/165.42 new_rem(Pos(x0), Neg(Zero)) 248.95/165.42 new_rem(Neg(x0), Pos(Zero)) 248.95/165.42 new_primMinusNatS2(Zero, Succ(x0)) 248.95/165.42 new_esEs(Neg(Succ(x0))) 248.95/165.42 new_error 248.95/165.42 new_primModNatS1(Succ(Zero), Zero) 248.95/165.42 new_primMulNat0(Zero, Succ(x0)) 248.95/165.42 new_sr3(x0, ty_Float) 248.95/165.42 new_quot(x0, x1, x2) 248.95/165.42 new_gcd2(True, x0, x1) 248.95/165.42 new_gcd0Gcd'11(True, x0, x1) 248.95/165.42 new_primEqInt(Neg(Zero)) 248.95/165.42 new_sr2(x0, x1, ty_Double) 248.95/165.42 new_primMulNat0(Succ(x0), Zero) 248.95/165.42 new_quot0(Neg(x0), x1, x2) 248.95/165.42 new_primMinusNatS2(Succ(x0), Succ(x1)) 248.95/165.42 new_sr4(x0, x1, app(ty_Ratio, x2)) 248.95/165.42 new_sr8(x0, x1) 248.95/165.42 new_primDivNatS01(x0, x1) 248.95/165.42 new_primDivNatS02(x0, x1, Zero, Succ(x2)) 248.95/165.42 new_primPlusNat0(Succ(x0), Succ(x1)) 248.95/165.42 new_sr1(x0, ty_Integer) 248.95/165.42 new_primPlusNat0(Zero, Zero) 248.95/165.42 new_sr1(x0, ty_Float) 248.95/165.42 new_primMinusNat0(Succ(x0), Succ(x1)) 248.95/165.42 new_sr12(:%(x0, x1), :%(x2, x3), x4) 248.95/165.42 new_abs(Neg(Succ(x0))) 248.95/165.42 new_sr1(x0, ty_Double) 248.95/165.42 new_sr3(x0, app(ty_Ratio, x1)) 248.95/165.42 new_sr7(x0) 248.95/165.42 new_gcd0(x0, x1) 248.95/165.42 new_primQuotInt0(x0, Pos(Succ(x1))) 248.95/165.42 new_sr4(x0, x1, ty_Integer) 248.95/165.42 new_sr5(:%(x0, x1), x2) 248.95/165.42 new_primMinusNatS2(Zero, Zero) 248.95/165.42 new_primMulNat1(Succ(x0)) 248.95/165.42 new_ms(x0, Pos(Zero)) 248.95/165.42 new_abs(Pos(Succ(x0))) 248.95/165.42 new_sr4(x0, x1, ty_Int) 248.95/165.42 new_esEs(Pos(Zero)) 248.95/165.42 new_primQuotInt0(x0, Pos(Zero)) 248.95/165.42 new_primEqInt(Neg(Succ(x0))) 248.95/165.42 new_primQuotInt(x0, Neg(Zero)) 248.95/165.42 new_primQuotInt0(x0, Neg(Zero)) 248.95/165.42 new_primQuotInt0(x0, Neg(Succ(x1))) 248.95/165.42 new_gcd(x0, x1) 248.95/165.42 new_quot0(Pos(x0), x1, x2) 248.95/165.42 new_primMinusNatS0(x0) 248.95/165.42 new_primPlusNat0(Zero, Succ(x0)) 248.95/165.42 new_sr2(x0, x1, app(ty_Ratio, x2)) 248.95/165.42 new_sr2(x0, x1, ty_Int) 248.95/165.42 new_primQuotInt(x0, Pos(Succ(x1))) 248.95/165.42 new_primDivNatS1(Succ(Succ(x0)), Zero) 248.95/165.42 new_rem(Pos(x0), Pos(Zero)) 248.95/165.42 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 248.95/165.42 new_primDivNatS02(x0, x1, Zero, Zero) 248.95/165.42 new_abs(Pos(Zero)) 248.95/165.42 new_gcd0Gcd'10(False, x0, x1) 248.95/165.42 new_ms(x0, Pos(Succ(x1))) 248.95/165.42 new_primMinusNatS1 248.95/165.42 new_esEs1(Integer(x0)) 248.95/165.42 new_ms0(x0, Neg(Zero)) 248.95/165.42 new_primMinusNat0(Succ(x0), Zero) 248.95/165.42 new_ms0(x0, Neg(Succ(x1))) 248.95/165.42 new_sr2(x0, x1, ty_Integer) 248.95/165.42 new_primModNatS01(x0, x1, Zero, Succ(x2)) 248.95/165.42 new_primMulNat2(Succ(x0)) 248.95/165.42 new_sr14(Neg(x0), Neg(x1)) 248.95/165.42 new_sr2(x0, x1, ty_Float) 248.95/165.42 new_primMinusNatS2(Succ(x0), Zero) 248.95/165.42 new_sr4(x0, x1, ty_Float) 248.95/165.42 new_sr6(Pos(x0)) 248.95/165.42 new_esEs2(x0, x1, ty_Integer) 248.95/165.42 new_primMulNat4(Succ(x0)) 248.95/165.42 new_rem(Neg(x0), Neg(Succ(x1))) 248.95/165.42 new_primEqInt(Pos(Succ(x0))) 248.95/165.42 new_primQuotInt(x0, Pos(Zero)) 248.95/165.42 new_gcd0Gcd'11(False, x0, x1) 248.95/165.42 new_sr9(x0) 248.95/165.42 new_primModNatS1(Succ(Succ(x0)), Zero) 248.95/165.42 new_esEs0(x0, ty_Integer) 248.95/165.42 new_gcd0Gcd'00(x0, x1) 248.95/165.42 new_reduce2Reduce1(x0, x1, x2, x3, True, x4) 248.95/165.42 new_sr3(x0, ty_Double) 248.95/165.42 new_esEs(Neg(Zero)) 248.95/165.42 new_primMulNat1(Zero) 248.95/165.42 new_primMinusNat0(Zero, Succ(x0)) 248.95/165.42 new_rem(Neg(x0), Neg(Zero)) 248.95/165.42 248.95/165.42 We have to consider all minimal (P,Q,R)-chains. 248.95/165.42 ---------------------------------------- 248.95/165.42 248.95/165.42 (885) UsableRulesProof (EQUIVALENT) 248.95/165.42 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. 248.95/165.42 ---------------------------------------- 248.95/165.42 248.95/165.42 (886) 248.95/165.42 Obligation: 248.95/165.42 Q DP problem: 248.95/165.42 The TRS P consists of the following rules: 248.95/165.42 248.95/165.42 new_pr2F0(vyv183, Pos(Succ(Succ(vyv222000))), vyv187, h) -> new_pr2F0G1(vyv187, vyv183, Succ(vyv222000), vyv222000, h) 248.95/165.42 new_pr2F0G1(vyv226, vyv227, vyv228, Succ(Succ(vyv22900)), ba) -> new_pr2F0G1(vyv226, vyv227, vyv228, vyv22900, ba) 248.95/165.42 new_pr2F0G1(vyv226, vyv227, vyv228, Succ(Zero), ba) -> new_pr2F(vyv227, vyv228, Pos(Succ(Zero)), vyv226, ba) 248.95/165.42 new_pr2F(vyv227, vyv228, vyv244, vyv226, ba) -> new_pr2F3(new_esEs(new_ms(vyv228, vyv244)), vyv227, vyv228, vyv244, vyv226, ba) 248.95/165.42 new_pr2F3(False, vyv227, vyv228, vyv244, vyv226, ba) -> new_pr2F0(vyv227, new_ms(vyv228, vyv244), new_sr2(vyv227, vyv226, ba), ba) 248.95/165.42 new_pr2F0(vyv183, Pos(Succ(Zero)), vyv187, h) -> new_pr2F(vyv183, Zero, Pos(Succ(Zero)), vyv187, h) 248.95/165.42 new_pr2F0G1(vyv226, vyv227, vyv228, Zero, ba) -> new_pr2F0G(vyv226, new_sr1(vyv227, ba), Pos(new_primDivNatS1(Succ(vyv228), Succ(Zero))), ba) 248.95/165.42 new_pr2F0G(vyv187, vyv183, Pos(Succ(Succ(vyv222000))), h) -> new_pr2F0G1(vyv187, vyv183, Succ(vyv222000), vyv222000, h) 248.95/165.42 new_pr2F0G(vyv187, vyv183, Pos(Succ(Zero)), h) -> new_pr2F(vyv183, Zero, Pos(Succ(Zero)), vyv187, h) 248.95/165.42 248.95/165.42 The TRS R consists of the following rules: 248.95/165.42 248.95/165.42 new_sr1(vyv227, ty_Int) -> new_sr6(vyv227) 248.95/165.42 new_sr1(vyv227, ty_Integer) -> new_sr7(vyv227) 248.95/165.42 new_sr1(vyv227, app(ty_Ratio, be)) -> new_sr5(vyv227, be) 248.95/165.42 new_sr1(vyv227, ty_Float) -> new_sr10(vyv227) 248.95/165.42 new_sr1(vyv227, ty_Double) -> new_sr9(vyv227) 248.95/165.42 new_primDivNatS1(Succ(Zero), Succ(vyv284000)) -> Zero 248.95/165.42 new_primDivNatS1(Succ(Succ(vyv270000)), Succ(vyv284000)) -> new_primDivNatS02(vyv270000, vyv284000, vyv270000, vyv284000) 248.95/165.42 new_primDivNatS02(vyv310, vyv311, Zero, Zero) -> new_primDivNatS01(vyv310, vyv311) 248.95/165.42 new_primDivNatS02(vyv310, vyv311, Succ(vyv3120), Zero) -> new_primDivNatS01(vyv310, vyv311) 248.95/165.42 new_primDivNatS02(vyv310, vyv311, Zero, Succ(vyv3130)) -> Zero 248.95/165.42 new_primDivNatS02(vyv310, vyv311, Succ(vyv3120), Succ(vyv3130)) -> new_primDivNatS02(vyv310, vyv311, vyv3120, vyv3130) 248.95/165.42 new_primDivNatS01(vyv310, vyv311) -> Succ(new_primDivNatS1(new_primMinusNatS2(vyv310, vyv311), Succ(vyv311))) 248.95/165.42 new_primMinusNatS2(Zero, Succ(vyv3110)) -> Zero 248.95/165.42 new_primMinusNatS2(Succ(vyv3100), Zero) -> Succ(vyv3100) 248.95/165.42 new_primMinusNatS2(Zero, Zero) -> Zero 248.95/165.42 new_primMinusNatS2(Succ(vyv3100), Succ(vyv3110)) -> new_primMinusNatS2(vyv3100, vyv3110) 248.95/165.42 new_primDivNatS1(Zero, vyv28400) -> Zero 248.95/165.42 new_sr9(vyv183) -> error([]) 248.95/165.42 new_sr10(vyv183) -> error([]) 248.95/165.42 new_sr5(:%(vyv1830, vyv1831), bd) -> new_reduce2Reduce1(vyv1830, vyv1830, vyv1831, vyv1831, new_esEs0(vyv1831, bd), bd) 248.95/165.42 new_esEs0(vyv1831, ty_Int) -> new_esEs(new_sr6(vyv1831)) 248.95/165.42 new_esEs0(vyv1831, ty_Integer) -> new_esEs1(new_sr7(vyv1831)) 248.95/165.42 new_reduce2Reduce1(vyv264, vyv265, vyv266, vyv267, False, bh) -> :%(new_quot1(vyv264, vyv265, vyv266, vyv267, bh), new_quot2(vyv266, vyv267, vyv264, vyv265, bh)) 248.95/165.42 new_reduce2Reduce1(vyv264, vyv265, vyv266, vyv267, True, bh) -> error([]) 248.95/165.42 new_quot1(vyv264, vyv265, vyv266, vyv267, ty_Int) -> new_quot0(new_sr14(vyv264, vyv265), new_sr14(vyv264, vyv265), new_sr14(vyv266, vyv267)) 248.95/165.42 new_quot1(vyv264, vyv265, vyv266, vyv267, ty_Integer) -> new_quot(new_sr8(vyv264, vyv265), new_sr8(vyv264, vyv265), new_sr8(vyv266, vyv267)) 248.95/165.42 new_quot2(vyv266, vyv267, vyv264, vyv265, ty_Int) -> new_quot0(new_sr14(vyv266, vyv267), new_sr14(vyv264, vyv265), new_sr14(vyv266, vyv267)) 248.95/165.42 new_quot2(vyv266, vyv267, vyv264, vyv265, ty_Integer) -> new_quot(new_sr8(vyv266, vyv267), new_sr8(vyv264, vyv265), new_sr8(vyv266, vyv267)) 248.95/165.42 new_sr8(vyv239, vyv238) -> error([]) 248.95/165.42 new_quot(vyv273, vyv275, vyv274) -> error([]) 248.95/165.42 new_sr14(Pos(vyv2390), Neg(vyv2380)) -> Neg(new_primMulNat0(vyv2390, vyv2380)) 248.95/165.42 new_sr14(Neg(vyv2390), Pos(vyv2380)) -> Neg(new_primMulNat0(vyv2390, vyv2380)) 248.95/165.42 new_sr14(Neg(vyv2390), Neg(vyv2380)) -> Pos(new_primMulNat0(vyv2390, vyv2380)) 248.95/165.42 new_sr14(Pos(vyv2390), Pos(vyv2380)) -> Pos(new_primMulNat0(vyv2390, vyv2380)) 248.95/165.42 new_quot0(Neg(vyv2700), vyv272, vyv271) -> new_primQuotInt0(vyv2700, new_gcd(vyv272, vyv271)) 248.95/165.42 new_quot0(Pos(vyv2700), vyv272, vyv271) -> new_primQuotInt(vyv2700, new_gcd(vyv272, vyv271)) 248.95/165.42 new_gcd(vyv272, vyv271) -> new_gcd2(new_esEs(vyv272), vyv272, vyv271) 248.95/165.42 new_primQuotInt(vyv2700, Pos(Succ(vyv28400))) -> Pos(new_primDivNatS1(vyv2700, vyv28400)) 248.95/165.42 new_primQuotInt(vyv2700, Neg(Zero)) -> new_error 248.95/165.42 new_primQuotInt(vyv2700, Pos(Zero)) -> new_error 248.95/165.42 new_primQuotInt(vyv2700, Neg(Succ(vyv28400))) -> Neg(new_primDivNatS1(vyv2700, vyv28400)) 248.95/165.42 new_primDivNatS1(Succ(Succ(vyv270000)), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS0(vyv270000), Zero)) 248.95/165.42 new_primDivNatS1(Succ(Zero), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS1, Zero)) 248.95/165.42 new_primMinusNatS1 -> Zero 248.95/165.42 new_primMinusNatS0(vyv270000) -> Succ(vyv270000) 248.95/165.42 new_error -> error([]) 248.95/165.42 new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) 248.95/165.42 new_esEs(Pos(Succ(vyv24100))) -> new_primEqInt(Pos(Succ(vyv24100))) 248.95/165.42 new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) 248.95/165.42 new_esEs(Neg(Succ(vyv24100))) -> new_primEqInt(Neg(Succ(vyv24100))) 248.95/165.42 new_gcd2(True, vyv272, vyv271) -> new_gcd1(new_esEs(vyv271), vyv272, vyv271) 248.95/165.42 new_gcd2(False, vyv272, vyv271) -> new_gcd0(vyv272, vyv271) 248.95/165.42 new_gcd0(vyv272, vyv271) -> new_gcd0Gcd'10(new_esEs(new_abs(vyv271)), vyv272, vyv271) 248.95/165.42 new_abs(Neg(Zero)) -> Neg(Zero) 248.95/165.42 new_abs(Neg(Succ(vyv27100))) -> Pos(Succ(vyv27100)) 248.95/165.42 new_abs(Pos(Succ(vyv27100))) -> Pos(Succ(vyv27100)) 248.95/165.42 new_abs(Pos(Zero)) -> Pos(Zero) 248.95/165.42 new_gcd0Gcd'10(True, vyv272, vyv271) -> new_abs(vyv272) 248.95/165.42 new_gcd0Gcd'10(False, vyv272, vyv271) -> new_gcd0Gcd'00(new_abs(vyv272), new_abs(vyv271)) 248.95/165.42 new_gcd0Gcd'11(False, vyv291, vyv292) -> new_gcd0Gcd'00(vyv291, new_rem(vyv292, vyv291)) 248.95/165.42 new_gcd0Gcd'00(vyv292, vyv291) -> new_gcd0Gcd'11(new_esEs(new_rem(vyv292, vyv291)), vyv291, vyv292) 248.95/165.42 new_rem(Pos(vyv2920), Neg(Zero)) -> new_error 248.95/165.42 new_rem(Neg(vyv2920), Pos(Zero)) -> new_error 248.95/165.42 new_rem(Pos(vyv2920), Neg(Succ(vyv29100))) -> Pos(new_primModNatS1(vyv2920, vyv29100)) 248.95/165.42 new_rem(Neg(vyv2920), Pos(Succ(vyv29100))) -> Neg(new_primModNatS1(vyv2920, vyv29100)) 248.95/165.42 new_rem(Pos(vyv2920), Pos(Succ(vyv29100))) -> Pos(new_primModNatS1(vyv2920, vyv29100)) 248.95/165.42 new_rem(Neg(vyv2920), Neg(Zero)) -> new_error 248.95/165.42 new_rem(Neg(vyv2920), Neg(Succ(vyv29100))) -> Neg(new_primModNatS1(vyv2920, vyv29100)) 248.95/165.42 new_rem(Pos(vyv2920), Pos(Zero)) -> new_error 248.95/165.42 new_gcd0Gcd'11(True, vyv291, vyv292) -> vyv291 248.95/165.42 new_primModNatS1(Succ(Zero), Succ(vyv291000)) -> Succ(Zero) 248.95/165.42 new_primModNatS1(Zero, vyv29100) -> Zero 248.95/165.42 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 248.95/165.42 new_primModNatS1(Succ(Succ(vyv292000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv292000), Zero) 248.95/165.42 new_primModNatS1(Succ(Succ(vyv292000)), Succ(vyv291000)) -> new_primModNatS01(vyv292000, vyv291000, vyv292000, vyv291000) 248.95/165.42 new_primModNatS01(vyv330, vyv331, Zero, Zero) -> new_primModNatS02(vyv330, vyv331) 248.95/165.42 new_primModNatS02(vyv330, vyv331) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv330), Succ(vyv331)), Succ(vyv331)) 248.95/165.42 new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Zero) -> new_primModNatS02(vyv330, vyv331) 248.95/165.42 new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Succ(vyv3330)) -> new_primModNatS01(vyv330, vyv331, vyv3320, vyv3330) 248.95/165.42 new_primModNatS01(vyv330, vyv331, Zero, Succ(vyv3330)) -> Succ(Succ(vyv330)) 248.95/165.42 new_gcd1(True, vyv272, vyv271) -> new_error 248.95/165.42 new_gcd1(False, vyv272, vyv271) -> new_gcd0(vyv272, vyv271) 248.95/165.42 new_primEqInt(Neg(Succ(vyv242000))) -> False 248.95/165.42 new_primEqInt(Pos(Zero)) -> True 248.95/165.42 new_primEqInt(Pos(Succ(vyv242000))) -> False 248.95/165.42 new_primEqInt(Neg(Zero)) -> True 248.95/165.42 new_primQuotInt0(vyv2700, Pos(Succ(vyv28700))) -> Neg(new_primDivNatS1(vyv2700, vyv28700)) 248.95/165.42 new_primQuotInt0(vyv2700, Neg(Zero)) -> new_error 248.95/165.42 new_primQuotInt0(vyv2700, Neg(Succ(vyv28700))) -> Pos(new_primDivNatS1(vyv2700, vyv28700)) 248.95/165.42 new_primQuotInt0(vyv2700, Pos(Zero)) -> new_error 248.95/165.42 new_primMulNat0(Succ(vyv23900), Zero) -> Zero 248.95/165.42 new_primMulNat0(Zero, Succ(vyv23800)) -> Zero 248.95/165.42 new_primMulNat0(Zero, Zero) -> Zero 248.95/165.42 new_primMulNat0(Succ(vyv23900), Succ(vyv23800)) -> new_primPlusNat0(new_primMulNat0(vyv23900, Succ(vyv23800)), Succ(vyv23800)) 248.95/165.42 new_primPlusNat0(Succ(vyv4000), Succ(vyv5000)) -> Succ(Succ(new_primPlusNat0(vyv4000, vyv5000))) 248.95/165.42 new_primPlusNat0(Zero, Succ(vyv5000)) -> Succ(vyv5000) 248.95/165.42 new_primPlusNat0(Zero, Zero) -> Zero 248.95/165.42 new_primPlusNat0(Succ(vyv4000), Zero) -> Succ(vyv4000) 248.95/165.42 new_sr7(vyv183) -> error([]) 248.95/165.42 new_esEs1(Integer(vyv2690)) -> new_primEqInt(vyv2690) 248.95/165.42 new_sr6(Neg(vyv1830)) -> Pos(new_primMulNat1(vyv1830)) 248.95/165.42 new_sr6(Pos(vyv1830)) -> Pos(new_primMulNat1(vyv1830)) 248.95/165.42 new_primMulNat1(Succ(vyv18300)) -> new_primPlusNat0(new_primMulNat2(vyv18300), Succ(vyv18300)) 248.95/165.42 new_primMulNat1(Zero) -> Zero 248.95/165.42 new_primMulNat2(Succ(vyv183000)) -> new_primPlusNat0(new_primMulNat3(vyv183000), Succ(Succ(vyv183000))) 248.95/165.42 new_primMulNat2(Zero) -> Zero 248.95/165.42 new_primMulNat3(Succ(vyv1830000)) -> new_primPlusNat0(new_primMulNat4(vyv1830000), Succ(Succ(Succ(vyv1830000)))) 248.95/165.42 new_primMulNat3(Zero) -> Zero 248.95/165.42 new_primMulNat4(Succ(vyv18300000)) -> new_primPlusNat0(new_primMulNat0(vyv18300000, Succ(Succ(Succ(Succ(vyv18300000))))), Succ(Succ(Succ(Succ(vyv18300000))))) 248.95/165.42 new_primMulNat4(Zero) -> Zero 248.95/165.42 new_ms(vyv228, Neg(vyv2440)) -> Pos(new_primPlusNat0(Succ(vyv228), vyv2440)) 248.95/165.42 new_ms(vyv228, Pos(Succ(vyv24400))) -> new_primMinusNat0(vyv228, vyv24400) 248.95/165.42 new_ms(vyv228, Pos(Zero)) -> Pos(Succ(vyv228)) 248.95/165.42 new_sr2(vyv227, vyv226, ty_Int) -> new_sr14(vyv227, vyv226) 248.95/165.42 new_sr2(vyv227, vyv226, ty_Double) -> new_sr11(vyv227, vyv226) 248.95/165.42 new_sr2(vyv227, vyv226, ty_Integer) -> new_sr8(vyv227, vyv226) 248.95/165.42 new_sr2(vyv227, vyv226, ty_Float) -> new_sr13(vyv227, vyv226) 248.95/165.42 new_sr2(vyv227, vyv226, app(ty_Ratio, be)) -> new_sr12(vyv227, vyv226, be) 248.95/165.42 new_sr12(:%(vyv2390, vyv2391), :%(vyv2380, vyv2381), bf) -> new_reduce2Reduce1(vyv2390, vyv2380, vyv2391, vyv2381, new_esEs2(vyv2391, vyv2381, bf), bf) 248.95/165.42 new_esEs2(vyv2391, vyv2381, ty_Int) -> new_esEs(new_sr14(vyv2391, vyv2381)) 248.95/165.42 new_esEs2(vyv2391, vyv2381, ty_Integer) -> new_esEs1(new_sr8(vyv2391, vyv2381)) 248.95/165.42 new_sr13(vyv239, vyv238) -> error([]) 248.95/165.42 new_sr11(vyv239, vyv238) -> error([]) 248.95/165.42 new_primMinusNat0(Succ(vyv2280), Succ(vyv244000)) -> new_primMinusNat0(vyv2280, vyv244000) 248.95/165.42 new_primMinusNat0(Zero, Zero) -> Pos(Zero) 248.95/165.42 new_primMinusNat0(Zero, Succ(vyv244000)) -> Neg(Succ(vyv244000)) 248.95/165.42 new_primMinusNat0(Succ(vyv2280), Zero) -> Pos(Succ(vyv2280)) 248.95/165.42 248.95/165.42 The set Q consists of the following terms: 248.95/165.42 248.95/165.42 new_rem(Pos(x0), Pos(Succ(x1))) 248.95/165.42 new_quot1(x0, x1, x2, x3, ty_Integer) 248.95/165.42 new_primModNatS1(Succ(Zero), Succ(x0)) 248.95/165.42 new_ms0(x0, Pos(x1)) 248.95/165.42 new_primMulNat4(Zero) 248.95/165.42 new_gcd1(False, x0, x1) 248.95/165.42 new_primEqInt(Pos(Zero)) 248.95/165.42 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 248.95/165.42 new_rem(Pos(x0), Neg(Succ(x1))) 248.95/165.42 new_rem(Neg(x0), Pos(Succ(x1))) 248.95/165.42 new_sr10(x0) 248.95/165.42 new_quot1(x0, x1, x2, x3, ty_Int) 248.95/165.42 new_quot2(x0, x1, x2, x3, ty_Integer) 248.95/165.42 new_primModNatS01(x0, x1, Succ(x2), Zero) 248.95/165.42 new_sr3(x0, ty_Integer) 248.95/165.42 new_primMulNat3(Zero) 248.95/165.42 new_primDivNatS02(x0, x1, Succ(x2), Zero) 248.95/165.42 new_quot2(x0, x1, x2, x3, ty_Int) 248.95/165.42 new_gcd2(False, x0, x1) 248.95/165.42 new_primDivNatS1(Succ(Zero), Zero) 248.95/165.42 new_esEs0(x0, ty_Int) 248.95/165.42 new_sr14(Pos(x0), Pos(x1)) 248.95/165.42 new_sr3(x0, ty_Int) 248.95/165.42 new_primMulNat0(Zero, Zero) 248.95/165.42 new_sr4(x0, x1, ty_Double) 248.95/165.42 new_primPlusNat0(Succ(x0), Zero) 248.95/165.42 new_primMulNat2(Zero) 248.95/165.42 new_sr11(x0, x1) 248.95/165.42 new_primModNatS01(x0, x1, Zero, Zero) 248.95/165.42 new_esEs2(x0, x1, ty_Int) 248.95/165.42 new_gcd1(True, x0, x1) 248.95/165.42 new_sr13(x0, x1) 248.95/165.42 new_sr14(Pos(x0), Neg(x1)) 248.95/165.42 new_sr14(Neg(x0), Pos(x1)) 248.95/165.42 new_primDivNatS1(Succ(Succ(x0)), Succ(x1)) 248.95/165.42 new_sr1(x0, ty_Int) 248.95/165.42 new_primModNatS1(Zero, x0) 248.95/165.42 new_esEs(Pos(Succ(x0))) 248.95/165.42 new_primMulNat3(Succ(x0)) 248.95/165.42 new_sr1(x0, app(ty_Ratio, x1)) 248.95/165.42 new_primQuotInt(x0, Neg(Succ(x1))) 248.95/165.42 new_reduce2Reduce1(x0, x1, x2, x3, False, x4) 248.95/165.42 new_primMinusNat0(Zero, Zero) 248.95/165.42 new_primDivNatS1(Zero, x0) 248.95/165.42 new_primDivNatS02(x0, x1, Succ(x2), Succ(x3)) 248.95/165.42 new_primModNatS02(x0, x1) 248.95/165.42 new_primDivNatS1(Succ(Zero), Succ(x0)) 248.95/165.42 new_sr6(Neg(x0)) 248.95/165.42 new_gcd0Gcd'10(True, x0, x1) 248.95/165.42 new_primMulNat0(Succ(x0), Succ(x1)) 248.95/165.42 new_abs(Neg(Zero)) 248.95/165.42 new_ms(x0, Neg(x1)) 248.95/165.42 new_rem(Pos(x0), Neg(Zero)) 248.95/165.42 new_rem(Neg(x0), Pos(Zero)) 248.95/165.42 new_primMinusNatS2(Zero, Succ(x0)) 248.95/165.42 new_esEs(Neg(Succ(x0))) 248.95/165.42 new_error 248.95/165.42 new_primModNatS1(Succ(Zero), Zero) 248.95/165.42 new_primMulNat0(Zero, Succ(x0)) 248.95/165.42 new_sr3(x0, ty_Float) 248.95/165.42 new_quot(x0, x1, x2) 248.95/165.42 new_gcd2(True, x0, x1) 248.95/165.42 new_gcd0Gcd'11(True, x0, x1) 248.95/165.42 new_primEqInt(Neg(Zero)) 248.95/165.42 new_sr2(x0, x1, ty_Double) 248.95/165.42 new_primMulNat0(Succ(x0), Zero) 248.95/165.42 new_quot0(Neg(x0), x1, x2) 248.95/165.42 new_primMinusNatS2(Succ(x0), Succ(x1)) 248.95/165.42 new_sr4(x0, x1, app(ty_Ratio, x2)) 248.95/165.42 new_sr8(x0, x1) 248.95/165.42 new_primDivNatS01(x0, x1) 248.95/165.42 new_primDivNatS02(x0, x1, Zero, Succ(x2)) 248.95/165.42 new_primPlusNat0(Succ(x0), Succ(x1)) 248.95/165.42 new_sr1(x0, ty_Integer) 248.95/165.42 new_primPlusNat0(Zero, Zero) 248.95/165.42 new_sr1(x0, ty_Float) 248.95/165.42 new_primMinusNat0(Succ(x0), Succ(x1)) 248.95/165.42 new_sr12(:%(x0, x1), :%(x2, x3), x4) 248.95/165.42 new_abs(Neg(Succ(x0))) 248.95/165.42 new_sr1(x0, ty_Double) 248.95/165.42 new_sr3(x0, app(ty_Ratio, x1)) 248.95/165.42 new_sr7(x0) 248.95/165.42 new_gcd0(x0, x1) 248.95/165.42 new_primQuotInt0(x0, Pos(Succ(x1))) 248.95/165.42 new_sr4(x0, x1, ty_Integer) 248.95/165.42 new_sr5(:%(x0, x1), x2) 248.95/165.42 new_primMinusNatS2(Zero, Zero) 248.95/165.42 new_primMulNat1(Succ(x0)) 248.95/165.42 new_ms(x0, Pos(Zero)) 248.95/165.42 new_abs(Pos(Succ(x0))) 248.95/165.42 new_sr4(x0, x1, ty_Int) 248.95/165.42 new_esEs(Pos(Zero)) 248.95/165.42 new_primQuotInt0(x0, Pos(Zero)) 248.95/165.42 new_primEqInt(Neg(Succ(x0))) 248.95/165.42 new_primQuotInt(x0, Neg(Zero)) 248.95/165.42 new_primQuotInt0(x0, Neg(Zero)) 248.95/165.42 new_primQuotInt0(x0, Neg(Succ(x1))) 248.95/165.42 new_gcd(x0, x1) 248.95/165.42 new_quot0(Pos(x0), x1, x2) 248.95/165.42 new_primMinusNatS0(x0) 248.95/165.42 new_primPlusNat0(Zero, Succ(x0)) 248.95/165.42 new_sr2(x0, x1, app(ty_Ratio, x2)) 248.95/165.42 new_sr2(x0, x1, ty_Int) 248.95/165.42 new_primQuotInt(x0, Pos(Succ(x1))) 248.95/165.42 new_primDivNatS1(Succ(Succ(x0)), Zero) 248.95/165.42 new_rem(Pos(x0), Pos(Zero)) 248.95/165.42 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 248.95/165.42 new_primDivNatS02(x0, x1, Zero, Zero) 248.95/165.42 new_abs(Pos(Zero)) 248.95/165.42 new_gcd0Gcd'10(False, x0, x1) 248.95/165.42 new_ms(x0, Pos(Succ(x1))) 248.95/165.42 new_primMinusNatS1 248.95/165.42 new_esEs1(Integer(x0)) 248.95/165.42 new_ms0(x0, Neg(Zero)) 248.95/165.42 new_primMinusNat0(Succ(x0), Zero) 248.95/165.42 new_ms0(x0, Neg(Succ(x1))) 248.95/165.42 new_sr2(x0, x1, ty_Integer) 248.95/165.42 new_primModNatS01(x0, x1, Zero, Succ(x2)) 248.95/165.42 new_primMulNat2(Succ(x0)) 248.95/165.42 new_sr14(Neg(x0), Neg(x1)) 248.95/165.42 new_sr2(x0, x1, ty_Float) 248.95/165.42 new_primMinusNatS2(Succ(x0), Zero) 248.95/165.42 new_sr4(x0, x1, ty_Float) 248.95/165.42 new_sr6(Pos(x0)) 248.95/165.42 new_esEs2(x0, x1, ty_Integer) 248.95/165.42 new_primMulNat4(Succ(x0)) 248.95/165.42 new_rem(Neg(x0), Neg(Succ(x1))) 248.95/165.42 new_primEqInt(Pos(Succ(x0))) 248.95/165.42 new_primQuotInt(x0, Pos(Zero)) 248.95/165.42 new_gcd0Gcd'11(False, x0, x1) 248.95/165.42 new_sr9(x0) 248.95/165.42 new_primModNatS1(Succ(Succ(x0)), Zero) 248.95/165.42 new_esEs0(x0, ty_Integer) 248.95/165.42 new_gcd0Gcd'00(x0, x1) 248.95/165.42 new_reduce2Reduce1(x0, x1, x2, x3, True, x4) 248.95/165.42 new_sr3(x0, ty_Double) 248.95/165.42 new_esEs(Neg(Zero)) 248.95/165.42 new_primMulNat1(Zero) 248.95/165.42 new_primMinusNat0(Zero, Succ(x0)) 248.95/165.42 new_rem(Neg(x0), Neg(Zero)) 248.95/165.42 248.95/165.42 We have to consider all minimal (P,Q,R)-chains. 248.95/165.42 ---------------------------------------- 248.95/165.42 248.95/165.42 (887) QReductionProof (EQUIVALENT) 248.95/165.42 We deleted the following terms from Q as each root-symbol of these terms does neither occur in P nor in R.[THIEMANN]. 248.95/165.42 248.95/165.42 new_ms0(x0, Pos(x1)) 248.95/165.42 new_sr3(x0, ty_Integer) 248.95/165.42 new_sr3(x0, ty_Int) 248.95/165.42 new_sr4(x0, x1, ty_Double) 248.95/165.42 new_sr3(x0, ty_Float) 248.95/165.42 new_sr4(x0, x1, app(ty_Ratio, x2)) 248.95/165.42 new_sr3(x0, app(ty_Ratio, x1)) 248.95/165.42 new_sr4(x0, x1, ty_Integer) 248.95/165.42 new_sr4(x0, x1, ty_Int) 248.95/165.42 new_ms0(x0, Neg(Zero)) 248.95/165.42 new_ms0(x0, Neg(Succ(x1))) 248.95/165.42 new_sr4(x0, x1, ty_Float) 248.95/165.42 new_sr3(x0, ty_Double) 248.95/165.42 248.95/165.42 248.95/165.42 ---------------------------------------- 248.95/165.42 248.95/165.42 (888) 248.95/165.42 Obligation: 248.95/165.42 Q DP problem: 248.95/165.42 The TRS P consists of the following rules: 248.95/165.42 248.95/165.42 new_pr2F0(vyv183, Pos(Succ(Succ(vyv222000))), vyv187, h) -> new_pr2F0G1(vyv187, vyv183, Succ(vyv222000), vyv222000, h) 248.95/165.42 new_pr2F0G1(vyv226, vyv227, vyv228, Succ(Succ(vyv22900)), ba) -> new_pr2F0G1(vyv226, vyv227, vyv228, vyv22900, ba) 248.95/165.42 new_pr2F0G1(vyv226, vyv227, vyv228, Succ(Zero), ba) -> new_pr2F(vyv227, vyv228, Pos(Succ(Zero)), vyv226, ba) 248.95/165.42 new_pr2F(vyv227, vyv228, vyv244, vyv226, ba) -> new_pr2F3(new_esEs(new_ms(vyv228, vyv244)), vyv227, vyv228, vyv244, vyv226, ba) 248.95/165.42 new_pr2F3(False, vyv227, vyv228, vyv244, vyv226, ba) -> new_pr2F0(vyv227, new_ms(vyv228, vyv244), new_sr2(vyv227, vyv226, ba), ba) 248.95/165.42 new_pr2F0(vyv183, Pos(Succ(Zero)), vyv187, h) -> new_pr2F(vyv183, Zero, Pos(Succ(Zero)), vyv187, h) 248.95/165.42 new_pr2F0G1(vyv226, vyv227, vyv228, Zero, ba) -> new_pr2F0G(vyv226, new_sr1(vyv227, ba), Pos(new_primDivNatS1(Succ(vyv228), Succ(Zero))), ba) 248.95/165.42 new_pr2F0G(vyv187, vyv183, Pos(Succ(Succ(vyv222000))), h) -> new_pr2F0G1(vyv187, vyv183, Succ(vyv222000), vyv222000, h) 248.95/165.42 new_pr2F0G(vyv187, vyv183, Pos(Succ(Zero)), h) -> new_pr2F(vyv183, Zero, Pos(Succ(Zero)), vyv187, h) 248.95/165.42 248.95/165.42 The TRS R consists of the following rules: 248.95/165.42 248.95/165.42 new_sr1(vyv227, ty_Int) -> new_sr6(vyv227) 248.95/165.42 new_sr1(vyv227, ty_Integer) -> new_sr7(vyv227) 248.95/165.42 new_sr1(vyv227, app(ty_Ratio, be)) -> new_sr5(vyv227, be) 248.95/165.42 new_sr1(vyv227, ty_Float) -> new_sr10(vyv227) 248.95/165.42 new_sr1(vyv227, ty_Double) -> new_sr9(vyv227) 248.95/165.42 new_primDivNatS1(Succ(Zero), Succ(vyv284000)) -> Zero 248.95/165.42 new_primDivNatS1(Succ(Succ(vyv270000)), Succ(vyv284000)) -> new_primDivNatS02(vyv270000, vyv284000, vyv270000, vyv284000) 248.95/165.42 new_primDivNatS02(vyv310, vyv311, Zero, Zero) -> new_primDivNatS01(vyv310, vyv311) 248.95/165.42 new_primDivNatS02(vyv310, vyv311, Succ(vyv3120), Zero) -> new_primDivNatS01(vyv310, vyv311) 248.95/165.42 new_primDivNatS02(vyv310, vyv311, Zero, Succ(vyv3130)) -> Zero 248.95/165.42 new_primDivNatS02(vyv310, vyv311, Succ(vyv3120), Succ(vyv3130)) -> new_primDivNatS02(vyv310, vyv311, vyv3120, vyv3130) 248.95/165.42 new_primDivNatS01(vyv310, vyv311) -> Succ(new_primDivNatS1(new_primMinusNatS2(vyv310, vyv311), Succ(vyv311))) 248.95/165.42 new_primMinusNatS2(Zero, Succ(vyv3110)) -> Zero 248.95/165.42 new_primMinusNatS2(Succ(vyv3100), Zero) -> Succ(vyv3100) 248.95/165.42 new_primMinusNatS2(Zero, Zero) -> Zero 248.95/165.42 new_primMinusNatS2(Succ(vyv3100), Succ(vyv3110)) -> new_primMinusNatS2(vyv3100, vyv3110) 248.95/165.42 new_primDivNatS1(Zero, vyv28400) -> Zero 248.95/165.42 new_sr9(vyv183) -> error([]) 248.95/165.42 new_sr10(vyv183) -> error([]) 248.95/165.42 new_sr5(:%(vyv1830, vyv1831), bd) -> new_reduce2Reduce1(vyv1830, vyv1830, vyv1831, vyv1831, new_esEs0(vyv1831, bd), bd) 248.95/165.42 new_esEs0(vyv1831, ty_Int) -> new_esEs(new_sr6(vyv1831)) 248.95/165.42 new_esEs0(vyv1831, ty_Integer) -> new_esEs1(new_sr7(vyv1831)) 248.95/165.42 new_reduce2Reduce1(vyv264, vyv265, vyv266, vyv267, False, bh) -> :%(new_quot1(vyv264, vyv265, vyv266, vyv267, bh), new_quot2(vyv266, vyv267, vyv264, vyv265, bh)) 248.95/165.42 new_reduce2Reduce1(vyv264, vyv265, vyv266, vyv267, True, bh) -> error([]) 248.95/165.42 new_quot1(vyv264, vyv265, vyv266, vyv267, ty_Int) -> new_quot0(new_sr14(vyv264, vyv265), new_sr14(vyv264, vyv265), new_sr14(vyv266, vyv267)) 248.95/165.42 new_quot1(vyv264, vyv265, vyv266, vyv267, ty_Integer) -> new_quot(new_sr8(vyv264, vyv265), new_sr8(vyv264, vyv265), new_sr8(vyv266, vyv267)) 248.95/165.42 new_quot2(vyv266, vyv267, vyv264, vyv265, ty_Int) -> new_quot0(new_sr14(vyv266, vyv267), new_sr14(vyv264, vyv265), new_sr14(vyv266, vyv267)) 248.95/165.42 new_quot2(vyv266, vyv267, vyv264, vyv265, ty_Integer) -> new_quot(new_sr8(vyv266, vyv267), new_sr8(vyv264, vyv265), new_sr8(vyv266, vyv267)) 248.95/165.42 new_sr8(vyv239, vyv238) -> error([]) 248.95/165.42 new_quot(vyv273, vyv275, vyv274) -> error([]) 248.95/165.42 new_sr14(Pos(vyv2390), Neg(vyv2380)) -> Neg(new_primMulNat0(vyv2390, vyv2380)) 248.95/165.42 new_sr14(Neg(vyv2390), Pos(vyv2380)) -> Neg(new_primMulNat0(vyv2390, vyv2380)) 248.95/165.42 new_sr14(Neg(vyv2390), Neg(vyv2380)) -> Pos(new_primMulNat0(vyv2390, vyv2380)) 248.95/165.42 new_sr14(Pos(vyv2390), Pos(vyv2380)) -> Pos(new_primMulNat0(vyv2390, vyv2380)) 248.95/165.42 new_quot0(Neg(vyv2700), vyv272, vyv271) -> new_primQuotInt0(vyv2700, new_gcd(vyv272, vyv271)) 248.95/165.42 new_quot0(Pos(vyv2700), vyv272, vyv271) -> new_primQuotInt(vyv2700, new_gcd(vyv272, vyv271)) 248.95/165.42 new_gcd(vyv272, vyv271) -> new_gcd2(new_esEs(vyv272), vyv272, vyv271) 248.95/165.42 new_primQuotInt(vyv2700, Pos(Succ(vyv28400))) -> Pos(new_primDivNatS1(vyv2700, vyv28400)) 248.95/165.42 new_primQuotInt(vyv2700, Neg(Zero)) -> new_error 248.95/165.42 new_primQuotInt(vyv2700, Pos(Zero)) -> new_error 248.95/165.42 new_primQuotInt(vyv2700, Neg(Succ(vyv28400))) -> Neg(new_primDivNatS1(vyv2700, vyv28400)) 248.95/165.42 new_primDivNatS1(Succ(Succ(vyv270000)), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS0(vyv270000), Zero)) 248.95/165.42 new_primDivNatS1(Succ(Zero), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS1, Zero)) 248.95/165.42 new_primMinusNatS1 -> Zero 248.95/165.42 new_primMinusNatS0(vyv270000) -> Succ(vyv270000) 248.95/165.42 new_error -> error([]) 248.95/165.42 new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) 248.95/165.42 new_esEs(Pos(Succ(vyv24100))) -> new_primEqInt(Pos(Succ(vyv24100))) 248.95/165.42 new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) 248.95/165.42 new_esEs(Neg(Succ(vyv24100))) -> new_primEqInt(Neg(Succ(vyv24100))) 248.95/165.42 new_gcd2(True, vyv272, vyv271) -> new_gcd1(new_esEs(vyv271), vyv272, vyv271) 248.95/165.42 new_gcd2(False, vyv272, vyv271) -> new_gcd0(vyv272, vyv271) 248.95/165.42 new_gcd0(vyv272, vyv271) -> new_gcd0Gcd'10(new_esEs(new_abs(vyv271)), vyv272, vyv271) 248.95/165.42 new_abs(Neg(Zero)) -> Neg(Zero) 248.95/165.42 new_abs(Neg(Succ(vyv27100))) -> Pos(Succ(vyv27100)) 248.95/165.42 new_abs(Pos(Succ(vyv27100))) -> Pos(Succ(vyv27100)) 248.95/165.42 new_abs(Pos(Zero)) -> Pos(Zero) 248.95/165.42 new_gcd0Gcd'10(True, vyv272, vyv271) -> new_abs(vyv272) 248.95/165.42 new_gcd0Gcd'10(False, vyv272, vyv271) -> new_gcd0Gcd'00(new_abs(vyv272), new_abs(vyv271)) 248.95/165.42 new_gcd0Gcd'11(False, vyv291, vyv292) -> new_gcd0Gcd'00(vyv291, new_rem(vyv292, vyv291)) 248.95/165.42 new_gcd0Gcd'00(vyv292, vyv291) -> new_gcd0Gcd'11(new_esEs(new_rem(vyv292, vyv291)), vyv291, vyv292) 248.95/165.42 new_rem(Pos(vyv2920), Neg(Zero)) -> new_error 248.95/165.42 new_rem(Neg(vyv2920), Pos(Zero)) -> new_error 248.95/165.42 new_rem(Pos(vyv2920), Neg(Succ(vyv29100))) -> Pos(new_primModNatS1(vyv2920, vyv29100)) 248.95/165.42 new_rem(Neg(vyv2920), Pos(Succ(vyv29100))) -> Neg(new_primModNatS1(vyv2920, vyv29100)) 248.95/165.42 new_rem(Pos(vyv2920), Pos(Succ(vyv29100))) -> Pos(new_primModNatS1(vyv2920, vyv29100)) 248.95/165.42 new_rem(Neg(vyv2920), Neg(Zero)) -> new_error 248.95/165.42 new_rem(Neg(vyv2920), Neg(Succ(vyv29100))) -> Neg(new_primModNatS1(vyv2920, vyv29100)) 248.95/165.42 new_rem(Pos(vyv2920), Pos(Zero)) -> new_error 248.95/165.42 new_gcd0Gcd'11(True, vyv291, vyv292) -> vyv291 248.95/165.42 new_primModNatS1(Succ(Zero), Succ(vyv291000)) -> Succ(Zero) 248.95/165.42 new_primModNatS1(Zero, vyv29100) -> Zero 248.95/165.42 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 248.95/165.42 new_primModNatS1(Succ(Succ(vyv292000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv292000), Zero) 248.95/165.42 new_primModNatS1(Succ(Succ(vyv292000)), Succ(vyv291000)) -> new_primModNatS01(vyv292000, vyv291000, vyv292000, vyv291000) 248.95/165.42 new_primModNatS01(vyv330, vyv331, Zero, Zero) -> new_primModNatS02(vyv330, vyv331) 248.95/165.42 new_primModNatS02(vyv330, vyv331) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv330), Succ(vyv331)), Succ(vyv331)) 248.95/165.42 new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Zero) -> new_primModNatS02(vyv330, vyv331) 248.95/165.42 new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Succ(vyv3330)) -> new_primModNatS01(vyv330, vyv331, vyv3320, vyv3330) 248.95/165.42 new_primModNatS01(vyv330, vyv331, Zero, Succ(vyv3330)) -> Succ(Succ(vyv330)) 248.95/165.42 new_gcd1(True, vyv272, vyv271) -> new_error 248.95/165.42 new_gcd1(False, vyv272, vyv271) -> new_gcd0(vyv272, vyv271) 248.95/165.42 new_primEqInt(Neg(Succ(vyv242000))) -> False 248.95/165.42 new_primEqInt(Pos(Zero)) -> True 248.95/165.42 new_primEqInt(Pos(Succ(vyv242000))) -> False 248.95/165.42 new_primEqInt(Neg(Zero)) -> True 248.95/165.42 new_primQuotInt0(vyv2700, Pos(Succ(vyv28700))) -> Neg(new_primDivNatS1(vyv2700, vyv28700)) 248.95/165.42 new_primQuotInt0(vyv2700, Neg(Zero)) -> new_error 248.95/165.42 new_primQuotInt0(vyv2700, Neg(Succ(vyv28700))) -> Pos(new_primDivNatS1(vyv2700, vyv28700)) 248.95/165.42 new_primQuotInt0(vyv2700, Pos(Zero)) -> new_error 248.95/165.42 new_primMulNat0(Succ(vyv23900), Zero) -> Zero 248.95/165.42 new_primMulNat0(Zero, Succ(vyv23800)) -> Zero 248.95/165.42 new_primMulNat0(Zero, Zero) -> Zero 248.95/165.42 new_primMulNat0(Succ(vyv23900), Succ(vyv23800)) -> new_primPlusNat0(new_primMulNat0(vyv23900, Succ(vyv23800)), Succ(vyv23800)) 248.95/165.42 new_primPlusNat0(Succ(vyv4000), Succ(vyv5000)) -> Succ(Succ(new_primPlusNat0(vyv4000, vyv5000))) 248.95/165.42 new_primPlusNat0(Zero, Succ(vyv5000)) -> Succ(vyv5000) 248.95/165.42 new_primPlusNat0(Zero, Zero) -> Zero 248.95/165.42 new_primPlusNat0(Succ(vyv4000), Zero) -> Succ(vyv4000) 248.95/165.42 new_sr7(vyv183) -> error([]) 248.95/165.42 new_esEs1(Integer(vyv2690)) -> new_primEqInt(vyv2690) 248.95/165.42 new_sr6(Neg(vyv1830)) -> Pos(new_primMulNat1(vyv1830)) 248.95/165.42 new_sr6(Pos(vyv1830)) -> Pos(new_primMulNat1(vyv1830)) 248.95/165.42 new_primMulNat1(Succ(vyv18300)) -> new_primPlusNat0(new_primMulNat2(vyv18300), Succ(vyv18300)) 248.95/165.42 new_primMulNat1(Zero) -> Zero 248.95/165.42 new_primMulNat2(Succ(vyv183000)) -> new_primPlusNat0(new_primMulNat3(vyv183000), Succ(Succ(vyv183000))) 248.95/165.42 new_primMulNat2(Zero) -> Zero 248.95/165.42 new_primMulNat3(Succ(vyv1830000)) -> new_primPlusNat0(new_primMulNat4(vyv1830000), Succ(Succ(Succ(vyv1830000)))) 248.95/165.42 new_primMulNat3(Zero) -> Zero 248.95/165.42 new_primMulNat4(Succ(vyv18300000)) -> new_primPlusNat0(new_primMulNat0(vyv18300000, Succ(Succ(Succ(Succ(vyv18300000))))), Succ(Succ(Succ(Succ(vyv18300000))))) 248.95/165.42 new_primMulNat4(Zero) -> Zero 248.95/165.42 new_ms(vyv228, Neg(vyv2440)) -> Pos(new_primPlusNat0(Succ(vyv228), vyv2440)) 248.95/165.42 new_ms(vyv228, Pos(Succ(vyv24400))) -> new_primMinusNat0(vyv228, vyv24400) 248.95/165.42 new_ms(vyv228, Pos(Zero)) -> Pos(Succ(vyv228)) 248.95/165.42 new_sr2(vyv227, vyv226, ty_Int) -> new_sr14(vyv227, vyv226) 248.95/165.42 new_sr2(vyv227, vyv226, ty_Double) -> new_sr11(vyv227, vyv226) 248.95/165.42 new_sr2(vyv227, vyv226, ty_Integer) -> new_sr8(vyv227, vyv226) 248.95/165.42 new_sr2(vyv227, vyv226, ty_Float) -> new_sr13(vyv227, vyv226) 248.95/165.42 new_sr2(vyv227, vyv226, app(ty_Ratio, be)) -> new_sr12(vyv227, vyv226, be) 248.95/165.42 new_sr12(:%(vyv2390, vyv2391), :%(vyv2380, vyv2381), bf) -> new_reduce2Reduce1(vyv2390, vyv2380, vyv2391, vyv2381, new_esEs2(vyv2391, vyv2381, bf), bf) 248.95/165.42 new_esEs2(vyv2391, vyv2381, ty_Int) -> new_esEs(new_sr14(vyv2391, vyv2381)) 248.95/165.42 new_esEs2(vyv2391, vyv2381, ty_Integer) -> new_esEs1(new_sr8(vyv2391, vyv2381)) 248.95/165.42 new_sr13(vyv239, vyv238) -> error([]) 248.95/165.42 new_sr11(vyv239, vyv238) -> error([]) 248.95/165.42 new_primMinusNat0(Succ(vyv2280), Succ(vyv244000)) -> new_primMinusNat0(vyv2280, vyv244000) 248.95/165.42 new_primMinusNat0(Zero, Zero) -> Pos(Zero) 248.95/165.42 new_primMinusNat0(Zero, Succ(vyv244000)) -> Neg(Succ(vyv244000)) 248.95/165.42 new_primMinusNat0(Succ(vyv2280), Zero) -> Pos(Succ(vyv2280)) 248.95/165.42 248.95/165.42 The set Q consists of the following terms: 248.95/165.42 248.95/165.42 new_rem(Pos(x0), Pos(Succ(x1))) 248.95/165.42 new_quot1(x0, x1, x2, x3, ty_Integer) 248.95/165.42 new_primModNatS1(Succ(Zero), Succ(x0)) 248.95/165.42 new_primMulNat4(Zero) 248.95/165.42 new_gcd1(False, x0, x1) 248.95/165.42 new_primEqInt(Pos(Zero)) 248.95/165.42 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 248.95/165.42 new_rem(Pos(x0), Neg(Succ(x1))) 248.95/165.42 new_rem(Neg(x0), Pos(Succ(x1))) 248.95/165.42 new_sr10(x0) 248.95/165.42 new_quot1(x0, x1, x2, x3, ty_Int) 248.95/165.42 new_quot2(x0, x1, x2, x3, ty_Integer) 248.95/165.42 new_primModNatS01(x0, x1, Succ(x2), Zero) 248.95/165.42 new_primMulNat3(Zero) 248.95/165.42 new_primDivNatS02(x0, x1, Succ(x2), Zero) 248.95/165.42 new_quot2(x0, x1, x2, x3, ty_Int) 248.95/165.42 new_gcd2(False, x0, x1) 248.95/165.42 new_primDivNatS1(Succ(Zero), Zero) 248.95/165.42 new_esEs0(x0, ty_Int) 248.95/165.42 new_sr14(Pos(x0), Pos(x1)) 248.95/165.42 new_primMulNat0(Zero, Zero) 248.95/165.42 new_primPlusNat0(Succ(x0), Zero) 248.95/165.42 new_primMulNat2(Zero) 248.95/165.42 new_sr11(x0, x1) 248.95/165.42 new_primModNatS01(x0, x1, Zero, Zero) 248.95/165.42 new_esEs2(x0, x1, ty_Int) 248.95/165.42 new_gcd1(True, x0, x1) 248.95/165.42 new_sr13(x0, x1) 248.95/165.42 new_sr14(Pos(x0), Neg(x1)) 248.95/165.42 new_sr14(Neg(x0), Pos(x1)) 248.95/165.42 new_primDivNatS1(Succ(Succ(x0)), Succ(x1)) 248.95/165.42 new_sr1(x0, ty_Int) 248.95/165.42 new_primModNatS1(Zero, x0) 248.95/165.42 new_esEs(Pos(Succ(x0))) 248.95/165.42 new_primMulNat3(Succ(x0)) 248.95/165.42 new_sr1(x0, app(ty_Ratio, x1)) 248.95/165.42 new_primQuotInt(x0, Neg(Succ(x1))) 248.95/165.42 new_reduce2Reduce1(x0, x1, x2, x3, False, x4) 248.95/165.42 new_primMinusNat0(Zero, Zero) 248.95/165.42 new_primDivNatS1(Zero, x0) 248.95/165.42 new_primDivNatS02(x0, x1, Succ(x2), Succ(x3)) 248.95/165.42 new_primModNatS02(x0, x1) 248.95/165.42 new_primDivNatS1(Succ(Zero), Succ(x0)) 248.95/165.42 new_sr6(Neg(x0)) 248.95/165.42 new_gcd0Gcd'10(True, x0, x1) 248.95/165.42 new_primMulNat0(Succ(x0), Succ(x1)) 248.95/165.42 new_abs(Neg(Zero)) 248.95/165.42 new_ms(x0, Neg(x1)) 248.95/165.42 new_rem(Pos(x0), Neg(Zero)) 248.95/165.42 new_rem(Neg(x0), Pos(Zero)) 248.95/165.42 new_primMinusNatS2(Zero, Succ(x0)) 248.95/165.42 new_esEs(Neg(Succ(x0))) 248.95/165.42 new_error 248.95/165.42 new_primModNatS1(Succ(Zero), Zero) 248.95/165.42 new_primMulNat0(Zero, Succ(x0)) 248.95/165.42 new_quot(x0, x1, x2) 248.95/165.42 new_gcd2(True, x0, x1) 248.95/165.42 new_gcd0Gcd'11(True, x0, x1) 248.95/165.42 new_primEqInt(Neg(Zero)) 248.95/165.42 new_sr2(x0, x1, ty_Double) 248.95/165.42 new_primMulNat0(Succ(x0), Zero) 248.95/165.42 new_quot0(Neg(x0), x1, x2) 248.95/165.42 new_primMinusNatS2(Succ(x0), Succ(x1)) 248.95/165.42 new_sr8(x0, x1) 248.95/165.42 new_primDivNatS01(x0, x1) 248.95/165.42 new_primDivNatS02(x0, x1, Zero, Succ(x2)) 248.95/165.42 new_primPlusNat0(Succ(x0), Succ(x1)) 248.95/165.42 new_sr1(x0, ty_Integer) 248.95/165.42 new_primPlusNat0(Zero, Zero) 248.95/165.42 new_sr1(x0, ty_Float) 248.95/165.42 new_primMinusNat0(Succ(x0), Succ(x1)) 248.95/165.42 new_sr12(:%(x0, x1), :%(x2, x3), x4) 248.95/165.42 new_abs(Neg(Succ(x0))) 248.95/165.42 new_sr1(x0, ty_Double) 248.95/165.42 new_sr7(x0) 248.95/165.42 new_gcd0(x0, x1) 248.95/165.42 new_primQuotInt0(x0, Pos(Succ(x1))) 248.95/165.42 new_sr5(:%(x0, x1), x2) 248.95/165.42 new_primMinusNatS2(Zero, Zero) 248.95/165.42 new_primMulNat1(Succ(x0)) 248.95/165.42 new_ms(x0, Pos(Zero)) 248.95/165.42 new_abs(Pos(Succ(x0))) 248.95/165.42 new_esEs(Pos(Zero)) 248.95/165.42 new_primQuotInt0(x0, Pos(Zero)) 248.95/165.42 new_primEqInt(Neg(Succ(x0))) 248.95/165.42 new_primQuotInt(x0, Neg(Zero)) 248.95/165.42 new_primQuotInt0(x0, Neg(Zero)) 248.95/165.42 new_primQuotInt0(x0, Neg(Succ(x1))) 248.95/165.42 new_gcd(x0, x1) 248.95/165.42 new_quot0(Pos(x0), x1, x2) 248.95/165.42 new_primMinusNatS0(x0) 248.95/165.42 new_primPlusNat0(Zero, Succ(x0)) 248.95/165.42 new_sr2(x0, x1, app(ty_Ratio, x2)) 248.95/165.42 new_sr2(x0, x1, ty_Int) 248.95/165.42 new_primQuotInt(x0, Pos(Succ(x1))) 248.95/165.42 new_primDivNatS1(Succ(Succ(x0)), Zero) 248.95/165.42 new_rem(Pos(x0), Pos(Zero)) 248.95/165.42 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 248.95/165.42 new_primDivNatS02(x0, x1, Zero, Zero) 248.95/165.42 new_abs(Pos(Zero)) 248.95/165.42 new_gcd0Gcd'10(False, x0, x1) 248.95/165.42 new_ms(x0, Pos(Succ(x1))) 248.95/165.42 new_primMinusNatS1 248.95/165.42 new_esEs1(Integer(x0)) 248.95/165.42 new_primMinusNat0(Succ(x0), Zero) 248.95/165.42 new_sr2(x0, x1, ty_Integer) 248.95/165.42 new_primModNatS01(x0, x1, Zero, Succ(x2)) 248.95/165.42 new_primMulNat2(Succ(x0)) 248.95/165.42 new_sr14(Neg(x0), Neg(x1)) 248.95/165.42 new_sr2(x0, x1, ty_Float) 248.95/165.42 new_primMinusNatS2(Succ(x0), Zero) 248.95/165.42 new_sr6(Pos(x0)) 248.95/165.42 new_esEs2(x0, x1, ty_Integer) 248.95/165.42 new_primMulNat4(Succ(x0)) 248.95/165.42 new_rem(Neg(x0), Neg(Succ(x1))) 248.95/165.42 new_primEqInt(Pos(Succ(x0))) 248.95/165.42 new_primQuotInt(x0, Pos(Zero)) 248.95/165.42 new_gcd0Gcd'11(False, x0, x1) 248.95/165.42 new_sr9(x0) 248.95/165.42 new_primModNatS1(Succ(Succ(x0)), Zero) 248.95/165.42 new_esEs0(x0, ty_Integer) 248.95/165.42 new_gcd0Gcd'00(x0, x1) 248.95/165.42 new_reduce2Reduce1(x0, x1, x2, x3, True, x4) 248.95/165.42 new_esEs(Neg(Zero)) 248.95/165.42 new_primMulNat1(Zero) 248.95/165.42 new_primMinusNat0(Zero, Succ(x0)) 248.95/165.42 new_rem(Neg(x0), Neg(Zero)) 248.95/165.42 248.95/165.42 We have to consider all minimal (P,Q,R)-chains. 248.95/165.42 ---------------------------------------- 248.95/165.42 248.95/165.42 (889) TransformationProof (EQUIVALENT) 248.95/165.42 By instantiating [LPAR04] the rule new_pr2F(vyv227, vyv228, vyv244, vyv226, ba) -> new_pr2F3(new_esEs(new_ms(vyv228, vyv244)), vyv227, vyv228, vyv244, vyv226, ba) we obtained the following new rules [LPAR04]: 248.95/165.42 248.95/165.42 (new_pr2F(z1, z2, Pos(Succ(Zero)), z0, z3) -> new_pr2F3(new_esEs(new_ms(z2, Pos(Succ(Zero)))), z1, z2, Pos(Succ(Zero)), z0, z3),new_pr2F(z1, z2, Pos(Succ(Zero)), z0, z3) -> new_pr2F3(new_esEs(new_ms(z2, Pos(Succ(Zero)))), z1, z2, Pos(Succ(Zero)), z0, z3)) 248.95/165.42 (new_pr2F(z0, Zero, Pos(Succ(Zero)), z1, z2) -> new_pr2F3(new_esEs(new_ms(Zero, Pos(Succ(Zero)))), z0, Zero, Pos(Succ(Zero)), z1, z2),new_pr2F(z0, Zero, Pos(Succ(Zero)), z1, z2) -> new_pr2F3(new_esEs(new_ms(Zero, Pos(Succ(Zero)))), z0, Zero, Pos(Succ(Zero)), z1, z2)) 248.95/165.42 248.95/165.42 248.95/165.42 ---------------------------------------- 248.95/165.42 248.95/165.42 (890) 248.95/165.42 Obligation: 248.95/165.42 Q DP problem: 248.95/165.42 The TRS P consists of the following rules: 248.95/165.42 248.95/165.42 new_pr2F0(vyv183, Pos(Succ(Succ(vyv222000))), vyv187, h) -> new_pr2F0G1(vyv187, vyv183, Succ(vyv222000), vyv222000, h) 248.95/165.42 new_pr2F0G1(vyv226, vyv227, vyv228, Succ(Succ(vyv22900)), ba) -> new_pr2F0G1(vyv226, vyv227, vyv228, vyv22900, ba) 248.95/165.42 new_pr2F0G1(vyv226, vyv227, vyv228, Succ(Zero), ba) -> new_pr2F(vyv227, vyv228, Pos(Succ(Zero)), vyv226, ba) 248.95/165.42 new_pr2F3(False, vyv227, vyv228, vyv244, vyv226, ba) -> new_pr2F0(vyv227, new_ms(vyv228, vyv244), new_sr2(vyv227, vyv226, ba), ba) 248.95/165.42 new_pr2F0(vyv183, Pos(Succ(Zero)), vyv187, h) -> new_pr2F(vyv183, Zero, Pos(Succ(Zero)), vyv187, h) 248.95/165.42 new_pr2F0G1(vyv226, vyv227, vyv228, Zero, ba) -> new_pr2F0G(vyv226, new_sr1(vyv227, ba), Pos(new_primDivNatS1(Succ(vyv228), Succ(Zero))), ba) 248.95/165.42 new_pr2F0G(vyv187, vyv183, Pos(Succ(Succ(vyv222000))), h) -> new_pr2F0G1(vyv187, vyv183, Succ(vyv222000), vyv222000, h) 248.95/165.42 new_pr2F0G(vyv187, vyv183, Pos(Succ(Zero)), h) -> new_pr2F(vyv183, Zero, Pos(Succ(Zero)), vyv187, h) 248.95/165.42 new_pr2F(z1, z2, Pos(Succ(Zero)), z0, z3) -> new_pr2F3(new_esEs(new_ms(z2, Pos(Succ(Zero)))), z1, z2, Pos(Succ(Zero)), z0, z3) 248.95/165.42 new_pr2F(z0, Zero, Pos(Succ(Zero)), z1, z2) -> new_pr2F3(new_esEs(new_ms(Zero, Pos(Succ(Zero)))), z0, Zero, Pos(Succ(Zero)), z1, z2) 248.95/165.42 248.95/165.42 The TRS R consists of the following rules: 248.95/165.42 248.95/165.42 new_sr1(vyv227, ty_Int) -> new_sr6(vyv227) 248.95/165.42 new_sr1(vyv227, ty_Integer) -> new_sr7(vyv227) 248.95/165.42 new_sr1(vyv227, app(ty_Ratio, be)) -> new_sr5(vyv227, be) 248.95/165.42 new_sr1(vyv227, ty_Float) -> new_sr10(vyv227) 248.95/165.42 new_sr1(vyv227, ty_Double) -> new_sr9(vyv227) 248.95/165.42 new_primDivNatS1(Succ(Zero), Succ(vyv284000)) -> Zero 248.95/165.42 new_primDivNatS1(Succ(Succ(vyv270000)), Succ(vyv284000)) -> new_primDivNatS02(vyv270000, vyv284000, vyv270000, vyv284000) 248.95/165.42 new_primDivNatS02(vyv310, vyv311, Zero, Zero) -> new_primDivNatS01(vyv310, vyv311) 248.95/165.42 new_primDivNatS02(vyv310, vyv311, Succ(vyv3120), Zero) -> new_primDivNatS01(vyv310, vyv311) 248.95/165.42 new_primDivNatS02(vyv310, vyv311, Zero, Succ(vyv3130)) -> Zero 248.95/165.42 new_primDivNatS02(vyv310, vyv311, Succ(vyv3120), Succ(vyv3130)) -> new_primDivNatS02(vyv310, vyv311, vyv3120, vyv3130) 248.95/165.42 new_primDivNatS01(vyv310, vyv311) -> Succ(new_primDivNatS1(new_primMinusNatS2(vyv310, vyv311), Succ(vyv311))) 248.95/165.42 new_primMinusNatS2(Zero, Succ(vyv3110)) -> Zero 248.95/165.42 new_primMinusNatS2(Succ(vyv3100), Zero) -> Succ(vyv3100) 248.95/165.42 new_primMinusNatS2(Zero, Zero) -> Zero 248.95/165.42 new_primMinusNatS2(Succ(vyv3100), Succ(vyv3110)) -> new_primMinusNatS2(vyv3100, vyv3110) 248.95/165.42 new_primDivNatS1(Zero, vyv28400) -> Zero 248.95/165.42 new_sr9(vyv183) -> error([]) 248.95/165.42 new_sr10(vyv183) -> error([]) 248.95/165.42 new_sr5(:%(vyv1830, vyv1831), bd) -> new_reduce2Reduce1(vyv1830, vyv1830, vyv1831, vyv1831, new_esEs0(vyv1831, bd), bd) 248.95/165.42 new_esEs0(vyv1831, ty_Int) -> new_esEs(new_sr6(vyv1831)) 248.95/165.42 new_esEs0(vyv1831, ty_Integer) -> new_esEs1(new_sr7(vyv1831)) 248.95/165.42 new_reduce2Reduce1(vyv264, vyv265, vyv266, vyv267, False, bh) -> :%(new_quot1(vyv264, vyv265, vyv266, vyv267, bh), new_quot2(vyv266, vyv267, vyv264, vyv265, bh)) 248.95/165.42 new_reduce2Reduce1(vyv264, vyv265, vyv266, vyv267, True, bh) -> error([]) 248.95/165.42 new_quot1(vyv264, vyv265, vyv266, vyv267, ty_Int) -> new_quot0(new_sr14(vyv264, vyv265), new_sr14(vyv264, vyv265), new_sr14(vyv266, vyv267)) 248.95/165.42 new_quot1(vyv264, vyv265, vyv266, vyv267, ty_Integer) -> new_quot(new_sr8(vyv264, vyv265), new_sr8(vyv264, vyv265), new_sr8(vyv266, vyv267)) 248.95/165.42 new_quot2(vyv266, vyv267, vyv264, vyv265, ty_Int) -> new_quot0(new_sr14(vyv266, vyv267), new_sr14(vyv264, vyv265), new_sr14(vyv266, vyv267)) 248.95/165.42 new_quot2(vyv266, vyv267, vyv264, vyv265, ty_Integer) -> new_quot(new_sr8(vyv266, vyv267), new_sr8(vyv264, vyv265), new_sr8(vyv266, vyv267)) 248.95/165.42 new_sr8(vyv239, vyv238) -> error([]) 248.95/165.42 new_quot(vyv273, vyv275, vyv274) -> error([]) 248.95/165.42 new_sr14(Pos(vyv2390), Neg(vyv2380)) -> Neg(new_primMulNat0(vyv2390, vyv2380)) 248.95/165.42 new_sr14(Neg(vyv2390), Pos(vyv2380)) -> Neg(new_primMulNat0(vyv2390, vyv2380)) 248.95/165.42 new_sr14(Neg(vyv2390), Neg(vyv2380)) -> Pos(new_primMulNat0(vyv2390, vyv2380)) 248.95/165.42 new_sr14(Pos(vyv2390), Pos(vyv2380)) -> Pos(new_primMulNat0(vyv2390, vyv2380)) 248.95/165.42 new_quot0(Neg(vyv2700), vyv272, vyv271) -> new_primQuotInt0(vyv2700, new_gcd(vyv272, vyv271)) 248.95/165.42 new_quot0(Pos(vyv2700), vyv272, vyv271) -> new_primQuotInt(vyv2700, new_gcd(vyv272, vyv271)) 248.95/165.42 new_gcd(vyv272, vyv271) -> new_gcd2(new_esEs(vyv272), vyv272, vyv271) 248.95/165.42 new_primQuotInt(vyv2700, Pos(Succ(vyv28400))) -> Pos(new_primDivNatS1(vyv2700, vyv28400)) 248.95/165.42 new_primQuotInt(vyv2700, Neg(Zero)) -> new_error 248.95/165.42 new_primQuotInt(vyv2700, Pos(Zero)) -> new_error 248.95/165.42 new_primQuotInt(vyv2700, Neg(Succ(vyv28400))) -> Neg(new_primDivNatS1(vyv2700, vyv28400)) 248.95/165.42 new_primDivNatS1(Succ(Succ(vyv270000)), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS0(vyv270000), Zero)) 248.95/165.42 new_primDivNatS1(Succ(Zero), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS1, Zero)) 248.95/165.42 new_primMinusNatS1 -> Zero 248.95/165.42 new_primMinusNatS0(vyv270000) -> Succ(vyv270000) 248.95/165.42 new_error -> error([]) 248.95/165.42 new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) 248.95/165.42 new_esEs(Pos(Succ(vyv24100))) -> new_primEqInt(Pos(Succ(vyv24100))) 248.95/165.42 new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) 248.95/165.42 new_esEs(Neg(Succ(vyv24100))) -> new_primEqInt(Neg(Succ(vyv24100))) 248.95/165.42 new_gcd2(True, vyv272, vyv271) -> new_gcd1(new_esEs(vyv271), vyv272, vyv271) 248.95/165.42 new_gcd2(False, vyv272, vyv271) -> new_gcd0(vyv272, vyv271) 248.95/165.42 new_gcd0(vyv272, vyv271) -> new_gcd0Gcd'10(new_esEs(new_abs(vyv271)), vyv272, vyv271) 248.95/165.42 new_abs(Neg(Zero)) -> Neg(Zero) 248.95/165.42 new_abs(Neg(Succ(vyv27100))) -> Pos(Succ(vyv27100)) 248.95/165.42 new_abs(Pos(Succ(vyv27100))) -> Pos(Succ(vyv27100)) 248.95/165.42 new_abs(Pos(Zero)) -> Pos(Zero) 248.95/165.42 new_gcd0Gcd'10(True, vyv272, vyv271) -> new_abs(vyv272) 248.95/165.42 new_gcd0Gcd'10(False, vyv272, vyv271) -> new_gcd0Gcd'00(new_abs(vyv272), new_abs(vyv271)) 248.95/165.42 new_gcd0Gcd'11(False, vyv291, vyv292) -> new_gcd0Gcd'00(vyv291, new_rem(vyv292, vyv291)) 248.95/165.42 new_gcd0Gcd'00(vyv292, vyv291) -> new_gcd0Gcd'11(new_esEs(new_rem(vyv292, vyv291)), vyv291, vyv292) 248.95/165.42 new_rem(Pos(vyv2920), Neg(Zero)) -> new_error 248.95/165.42 new_rem(Neg(vyv2920), Pos(Zero)) -> new_error 248.95/165.42 new_rem(Pos(vyv2920), Neg(Succ(vyv29100))) -> Pos(new_primModNatS1(vyv2920, vyv29100)) 248.95/165.42 new_rem(Neg(vyv2920), Pos(Succ(vyv29100))) -> Neg(new_primModNatS1(vyv2920, vyv29100)) 248.95/165.42 new_rem(Pos(vyv2920), Pos(Succ(vyv29100))) -> Pos(new_primModNatS1(vyv2920, vyv29100)) 248.95/165.42 new_rem(Neg(vyv2920), Neg(Zero)) -> new_error 248.95/165.42 new_rem(Neg(vyv2920), Neg(Succ(vyv29100))) -> Neg(new_primModNatS1(vyv2920, vyv29100)) 248.95/165.42 new_rem(Pos(vyv2920), Pos(Zero)) -> new_error 248.95/165.42 new_gcd0Gcd'11(True, vyv291, vyv292) -> vyv291 248.95/165.42 new_primModNatS1(Succ(Zero), Succ(vyv291000)) -> Succ(Zero) 248.95/165.42 new_primModNatS1(Zero, vyv29100) -> Zero 248.95/165.42 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 248.95/165.42 new_primModNatS1(Succ(Succ(vyv292000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv292000), Zero) 248.95/165.42 new_primModNatS1(Succ(Succ(vyv292000)), Succ(vyv291000)) -> new_primModNatS01(vyv292000, vyv291000, vyv292000, vyv291000) 248.95/165.42 new_primModNatS01(vyv330, vyv331, Zero, Zero) -> new_primModNatS02(vyv330, vyv331) 248.95/165.42 new_primModNatS02(vyv330, vyv331) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv330), Succ(vyv331)), Succ(vyv331)) 248.95/165.42 new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Zero) -> new_primModNatS02(vyv330, vyv331) 248.95/165.42 new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Succ(vyv3330)) -> new_primModNatS01(vyv330, vyv331, vyv3320, vyv3330) 248.95/165.42 new_primModNatS01(vyv330, vyv331, Zero, Succ(vyv3330)) -> Succ(Succ(vyv330)) 248.95/165.42 new_gcd1(True, vyv272, vyv271) -> new_error 248.95/165.42 new_gcd1(False, vyv272, vyv271) -> new_gcd0(vyv272, vyv271) 248.95/165.42 new_primEqInt(Neg(Succ(vyv242000))) -> False 248.95/165.42 new_primEqInt(Pos(Zero)) -> True 248.95/165.42 new_primEqInt(Pos(Succ(vyv242000))) -> False 248.95/165.42 new_primEqInt(Neg(Zero)) -> True 248.95/165.42 new_primQuotInt0(vyv2700, Pos(Succ(vyv28700))) -> Neg(new_primDivNatS1(vyv2700, vyv28700)) 248.95/165.42 new_primQuotInt0(vyv2700, Neg(Zero)) -> new_error 248.95/165.42 new_primQuotInt0(vyv2700, Neg(Succ(vyv28700))) -> Pos(new_primDivNatS1(vyv2700, vyv28700)) 248.95/165.42 new_primQuotInt0(vyv2700, Pos(Zero)) -> new_error 248.95/165.42 new_primMulNat0(Succ(vyv23900), Zero) -> Zero 248.95/165.42 new_primMulNat0(Zero, Succ(vyv23800)) -> Zero 248.95/165.42 new_primMulNat0(Zero, Zero) -> Zero 248.95/165.42 new_primMulNat0(Succ(vyv23900), Succ(vyv23800)) -> new_primPlusNat0(new_primMulNat0(vyv23900, Succ(vyv23800)), Succ(vyv23800)) 248.95/165.42 new_primPlusNat0(Succ(vyv4000), Succ(vyv5000)) -> Succ(Succ(new_primPlusNat0(vyv4000, vyv5000))) 248.95/165.42 new_primPlusNat0(Zero, Succ(vyv5000)) -> Succ(vyv5000) 248.95/165.42 new_primPlusNat0(Zero, Zero) -> Zero 248.95/165.42 new_primPlusNat0(Succ(vyv4000), Zero) -> Succ(vyv4000) 248.95/165.42 new_sr7(vyv183) -> error([]) 248.95/165.42 new_esEs1(Integer(vyv2690)) -> new_primEqInt(vyv2690) 248.95/165.42 new_sr6(Neg(vyv1830)) -> Pos(new_primMulNat1(vyv1830)) 248.95/165.42 new_sr6(Pos(vyv1830)) -> Pos(new_primMulNat1(vyv1830)) 248.95/165.42 new_primMulNat1(Succ(vyv18300)) -> new_primPlusNat0(new_primMulNat2(vyv18300), Succ(vyv18300)) 248.95/165.42 new_primMulNat1(Zero) -> Zero 248.95/165.42 new_primMulNat2(Succ(vyv183000)) -> new_primPlusNat0(new_primMulNat3(vyv183000), Succ(Succ(vyv183000))) 248.95/165.42 new_primMulNat2(Zero) -> Zero 248.95/165.42 new_primMulNat3(Succ(vyv1830000)) -> new_primPlusNat0(new_primMulNat4(vyv1830000), Succ(Succ(Succ(vyv1830000)))) 248.95/165.42 new_primMulNat3(Zero) -> Zero 248.95/165.42 new_primMulNat4(Succ(vyv18300000)) -> new_primPlusNat0(new_primMulNat0(vyv18300000, Succ(Succ(Succ(Succ(vyv18300000))))), Succ(Succ(Succ(Succ(vyv18300000))))) 248.95/165.42 new_primMulNat4(Zero) -> Zero 248.95/165.42 new_ms(vyv228, Neg(vyv2440)) -> Pos(new_primPlusNat0(Succ(vyv228), vyv2440)) 248.95/165.42 new_ms(vyv228, Pos(Succ(vyv24400))) -> new_primMinusNat0(vyv228, vyv24400) 248.95/165.42 new_ms(vyv228, Pos(Zero)) -> Pos(Succ(vyv228)) 248.95/165.42 new_sr2(vyv227, vyv226, ty_Int) -> new_sr14(vyv227, vyv226) 248.95/165.42 new_sr2(vyv227, vyv226, ty_Double) -> new_sr11(vyv227, vyv226) 248.95/165.42 new_sr2(vyv227, vyv226, ty_Integer) -> new_sr8(vyv227, vyv226) 248.95/165.42 new_sr2(vyv227, vyv226, ty_Float) -> new_sr13(vyv227, vyv226) 248.95/165.42 new_sr2(vyv227, vyv226, app(ty_Ratio, be)) -> new_sr12(vyv227, vyv226, be) 248.95/165.42 new_sr12(:%(vyv2390, vyv2391), :%(vyv2380, vyv2381), bf) -> new_reduce2Reduce1(vyv2390, vyv2380, vyv2391, vyv2381, new_esEs2(vyv2391, vyv2381, bf), bf) 248.95/165.42 new_esEs2(vyv2391, vyv2381, ty_Int) -> new_esEs(new_sr14(vyv2391, vyv2381)) 248.95/165.42 new_esEs2(vyv2391, vyv2381, ty_Integer) -> new_esEs1(new_sr8(vyv2391, vyv2381)) 248.95/165.42 new_sr13(vyv239, vyv238) -> error([]) 248.95/165.42 new_sr11(vyv239, vyv238) -> error([]) 248.95/165.42 new_primMinusNat0(Succ(vyv2280), Succ(vyv244000)) -> new_primMinusNat0(vyv2280, vyv244000) 248.95/165.42 new_primMinusNat0(Zero, Zero) -> Pos(Zero) 248.95/165.42 new_primMinusNat0(Zero, Succ(vyv244000)) -> Neg(Succ(vyv244000)) 248.95/165.42 new_primMinusNat0(Succ(vyv2280), Zero) -> Pos(Succ(vyv2280)) 248.95/165.42 248.95/165.42 The set Q consists of the following terms: 248.95/165.42 248.95/165.42 new_rem(Pos(x0), Pos(Succ(x1))) 248.95/165.42 new_quot1(x0, x1, x2, x3, ty_Integer) 248.95/165.42 new_primModNatS1(Succ(Zero), Succ(x0)) 248.95/165.42 new_primMulNat4(Zero) 248.95/165.42 new_gcd1(False, x0, x1) 248.95/165.42 new_primEqInt(Pos(Zero)) 248.95/165.42 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 248.95/165.42 new_rem(Pos(x0), Neg(Succ(x1))) 248.95/165.42 new_rem(Neg(x0), Pos(Succ(x1))) 248.95/165.42 new_sr10(x0) 248.95/165.42 new_quot1(x0, x1, x2, x3, ty_Int) 248.95/165.42 new_quot2(x0, x1, x2, x3, ty_Integer) 248.95/165.42 new_primModNatS01(x0, x1, Succ(x2), Zero) 248.95/165.42 new_primMulNat3(Zero) 248.95/165.42 new_primDivNatS02(x0, x1, Succ(x2), Zero) 248.95/165.42 new_quot2(x0, x1, x2, x3, ty_Int) 248.95/165.42 new_gcd2(False, x0, x1) 248.95/165.42 new_primDivNatS1(Succ(Zero), Zero) 248.95/165.42 new_esEs0(x0, ty_Int) 248.95/165.42 new_sr14(Pos(x0), Pos(x1)) 248.95/165.42 new_primMulNat0(Zero, Zero) 248.95/165.42 new_primPlusNat0(Succ(x0), Zero) 248.95/165.42 new_primMulNat2(Zero) 248.95/165.42 new_sr11(x0, x1) 248.95/165.42 new_primModNatS01(x0, x1, Zero, Zero) 248.95/165.42 new_esEs2(x0, x1, ty_Int) 248.95/165.42 new_gcd1(True, x0, x1) 248.95/165.42 new_sr13(x0, x1) 248.95/165.42 new_sr14(Pos(x0), Neg(x1)) 248.95/165.42 new_sr14(Neg(x0), Pos(x1)) 248.95/165.42 new_primDivNatS1(Succ(Succ(x0)), Succ(x1)) 248.95/165.42 new_sr1(x0, ty_Int) 248.95/165.42 new_primModNatS1(Zero, x0) 248.95/165.42 new_esEs(Pos(Succ(x0))) 248.95/165.42 new_primMulNat3(Succ(x0)) 248.95/165.42 new_sr1(x0, app(ty_Ratio, x1)) 248.95/165.42 new_primQuotInt(x0, Neg(Succ(x1))) 248.95/165.42 new_reduce2Reduce1(x0, x1, x2, x3, False, x4) 248.95/165.42 new_primMinusNat0(Zero, Zero) 248.95/165.42 new_primDivNatS1(Zero, x0) 248.95/165.42 new_primDivNatS02(x0, x1, Succ(x2), Succ(x3)) 248.95/165.42 new_primModNatS02(x0, x1) 248.95/165.42 new_primDivNatS1(Succ(Zero), Succ(x0)) 248.95/165.42 new_sr6(Neg(x0)) 248.95/165.42 new_gcd0Gcd'10(True, x0, x1) 248.95/165.42 new_primMulNat0(Succ(x0), Succ(x1)) 248.95/165.42 new_abs(Neg(Zero)) 248.95/165.42 new_ms(x0, Neg(x1)) 248.95/165.42 new_rem(Pos(x0), Neg(Zero)) 248.95/165.42 new_rem(Neg(x0), Pos(Zero)) 248.95/165.42 new_primMinusNatS2(Zero, Succ(x0)) 248.95/165.42 new_esEs(Neg(Succ(x0))) 248.95/165.42 new_error 248.95/165.42 new_primModNatS1(Succ(Zero), Zero) 248.95/165.42 new_primMulNat0(Zero, Succ(x0)) 248.95/165.42 new_quot(x0, x1, x2) 248.95/165.42 new_gcd2(True, x0, x1) 248.95/165.42 new_gcd0Gcd'11(True, x0, x1) 248.95/165.42 new_primEqInt(Neg(Zero)) 248.95/165.42 new_sr2(x0, x1, ty_Double) 248.95/165.42 new_primMulNat0(Succ(x0), Zero) 248.95/165.42 new_quot0(Neg(x0), x1, x2) 248.95/165.42 new_primMinusNatS2(Succ(x0), Succ(x1)) 248.95/165.42 new_sr8(x0, x1) 248.95/165.42 new_primDivNatS01(x0, x1) 248.95/165.42 new_primDivNatS02(x0, x1, Zero, Succ(x2)) 248.95/165.42 new_primPlusNat0(Succ(x0), Succ(x1)) 248.95/165.42 new_sr1(x0, ty_Integer) 248.95/165.42 new_primPlusNat0(Zero, Zero) 248.95/165.42 new_sr1(x0, ty_Float) 248.95/165.42 new_primMinusNat0(Succ(x0), Succ(x1)) 248.95/165.42 new_sr12(:%(x0, x1), :%(x2, x3), x4) 248.95/165.42 new_abs(Neg(Succ(x0))) 248.95/165.42 new_sr1(x0, ty_Double) 248.95/165.42 new_sr7(x0) 248.95/165.42 new_gcd0(x0, x1) 248.95/165.42 new_primQuotInt0(x0, Pos(Succ(x1))) 248.95/165.42 new_sr5(:%(x0, x1), x2) 248.95/165.42 new_primMinusNatS2(Zero, Zero) 248.95/165.42 new_primMulNat1(Succ(x0)) 248.95/165.42 new_ms(x0, Pos(Zero)) 248.95/165.42 new_abs(Pos(Succ(x0))) 248.95/165.42 new_esEs(Pos(Zero)) 248.95/165.42 new_primQuotInt0(x0, Pos(Zero)) 248.95/165.42 new_primEqInt(Neg(Succ(x0))) 248.95/165.42 new_primQuotInt(x0, Neg(Zero)) 248.95/165.42 new_primQuotInt0(x0, Neg(Zero)) 248.95/165.42 new_primQuotInt0(x0, Neg(Succ(x1))) 248.95/165.42 new_gcd(x0, x1) 248.95/165.42 new_quot0(Pos(x0), x1, x2) 248.95/165.42 new_primMinusNatS0(x0) 248.95/165.42 new_primPlusNat0(Zero, Succ(x0)) 248.95/165.42 new_sr2(x0, x1, app(ty_Ratio, x2)) 248.95/165.42 new_sr2(x0, x1, ty_Int) 248.95/165.42 new_primQuotInt(x0, Pos(Succ(x1))) 248.95/165.42 new_primDivNatS1(Succ(Succ(x0)), Zero) 248.95/165.42 new_rem(Pos(x0), Pos(Zero)) 248.95/165.42 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 248.95/165.42 new_primDivNatS02(x0, x1, Zero, Zero) 248.95/165.42 new_abs(Pos(Zero)) 248.95/165.42 new_gcd0Gcd'10(False, x0, x1) 248.95/165.42 new_ms(x0, Pos(Succ(x1))) 248.95/165.42 new_primMinusNatS1 248.95/165.42 new_esEs1(Integer(x0)) 248.95/165.42 new_primMinusNat0(Succ(x0), Zero) 248.95/165.42 new_sr2(x0, x1, ty_Integer) 248.95/165.42 new_primModNatS01(x0, x1, Zero, Succ(x2)) 248.95/165.42 new_primMulNat2(Succ(x0)) 248.95/165.42 new_sr14(Neg(x0), Neg(x1)) 248.95/165.42 new_sr2(x0, x1, ty_Float) 248.95/165.42 new_primMinusNatS2(Succ(x0), Zero) 248.95/165.42 new_sr6(Pos(x0)) 248.95/165.42 new_esEs2(x0, x1, ty_Integer) 248.95/165.42 new_primMulNat4(Succ(x0)) 248.95/165.42 new_rem(Neg(x0), Neg(Succ(x1))) 248.95/165.42 new_primEqInt(Pos(Succ(x0))) 248.95/165.42 new_primQuotInt(x0, Pos(Zero)) 248.95/165.42 new_gcd0Gcd'11(False, x0, x1) 248.95/165.42 new_sr9(x0) 248.95/165.42 new_primModNatS1(Succ(Succ(x0)), Zero) 248.95/165.42 new_esEs0(x0, ty_Integer) 248.95/165.42 new_gcd0Gcd'00(x0, x1) 248.95/165.42 new_reduce2Reduce1(x0, x1, x2, x3, True, x4) 248.95/165.42 new_esEs(Neg(Zero)) 248.95/165.42 new_primMulNat1(Zero) 248.95/165.42 new_primMinusNat0(Zero, Succ(x0)) 248.95/165.42 new_rem(Neg(x0), Neg(Zero)) 248.95/165.42 248.95/165.42 We have to consider all minimal (P,Q,R)-chains. 248.95/165.42 ---------------------------------------- 248.95/165.42 248.95/165.42 (891) TransformationProof (EQUIVALENT) 248.95/165.42 By rewriting [LPAR04] the rule new_pr2F(z1, z2, Pos(Succ(Zero)), z0, z3) -> new_pr2F3(new_esEs(new_ms(z2, Pos(Succ(Zero)))), z1, z2, Pos(Succ(Zero)), z0, z3) at position [0,0] we obtained the following new rules [LPAR04]: 248.95/165.42 248.95/165.42 (new_pr2F(z1, z2, Pos(Succ(Zero)), z0, z3) -> new_pr2F3(new_esEs(new_primMinusNat0(z2, Zero)), z1, z2, Pos(Succ(Zero)), z0, z3),new_pr2F(z1, z2, Pos(Succ(Zero)), z0, z3) -> new_pr2F3(new_esEs(new_primMinusNat0(z2, Zero)), z1, z2, Pos(Succ(Zero)), z0, z3)) 248.95/165.42 248.95/165.42 248.95/165.42 ---------------------------------------- 248.95/165.42 248.95/165.42 (892) 248.95/165.42 Obligation: 248.95/165.42 Q DP problem: 248.95/165.42 The TRS P consists of the following rules: 248.95/165.42 248.95/165.42 new_pr2F0(vyv183, Pos(Succ(Succ(vyv222000))), vyv187, h) -> new_pr2F0G1(vyv187, vyv183, Succ(vyv222000), vyv222000, h) 248.95/165.42 new_pr2F0G1(vyv226, vyv227, vyv228, Succ(Succ(vyv22900)), ba) -> new_pr2F0G1(vyv226, vyv227, vyv228, vyv22900, ba) 248.95/165.42 new_pr2F0G1(vyv226, vyv227, vyv228, Succ(Zero), ba) -> new_pr2F(vyv227, vyv228, Pos(Succ(Zero)), vyv226, ba) 248.95/165.42 new_pr2F3(False, vyv227, vyv228, vyv244, vyv226, ba) -> new_pr2F0(vyv227, new_ms(vyv228, vyv244), new_sr2(vyv227, vyv226, ba), ba) 248.95/165.42 new_pr2F0(vyv183, Pos(Succ(Zero)), vyv187, h) -> new_pr2F(vyv183, Zero, Pos(Succ(Zero)), vyv187, h) 248.95/165.42 new_pr2F0G1(vyv226, vyv227, vyv228, Zero, ba) -> new_pr2F0G(vyv226, new_sr1(vyv227, ba), Pos(new_primDivNatS1(Succ(vyv228), Succ(Zero))), ba) 248.95/165.42 new_pr2F0G(vyv187, vyv183, Pos(Succ(Succ(vyv222000))), h) -> new_pr2F0G1(vyv187, vyv183, Succ(vyv222000), vyv222000, h) 248.95/165.42 new_pr2F0G(vyv187, vyv183, Pos(Succ(Zero)), h) -> new_pr2F(vyv183, Zero, Pos(Succ(Zero)), vyv187, h) 248.95/165.42 new_pr2F(z0, Zero, Pos(Succ(Zero)), z1, z2) -> new_pr2F3(new_esEs(new_ms(Zero, Pos(Succ(Zero)))), z0, Zero, Pos(Succ(Zero)), z1, z2) 248.95/165.42 new_pr2F(z1, z2, Pos(Succ(Zero)), z0, z3) -> new_pr2F3(new_esEs(new_primMinusNat0(z2, Zero)), z1, z2, Pos(Succ(Zero)), z0, z3) 248.95/165.42 248.95/165.42 The TRS R consists of the following rules: 248.95/165.42 248.95/165.42 new_sr1(vyv227, ty_Int) -> new_sr6(vyv227) 248.95/165.42 new_sr1(vyv227, ty_Integer) -> new_sr7(vyv227) 248.95/165.42 new_sr1(vyv227, app(ty_Ratio, be)) -> new_sr5(vyv227, be) 248.95/165.42 new_sr1(vyv227, ty_Float) -> new_sr10(vyv227) 248.95/165.42 new_sr1(vyv227, ty_Double) -> new_sr9(vyv227) 248.95/165.42 new_primDivNatS1(Succ(Zero), Succ(vyv284000)) -> Zero 248.95/165.42 new_primDivNatS1(Succ(Succ(vyv270000)), Succ(vyv284000)) -> new_primDivNatS02(vyv270000, vyv284000, vyv270000, vyv284000) 248.95/165.42 new_primDivNatS02(vyv310, vyv311, Zero, Zero) -> new_primDivNatS01(vyv310, vyv311) 248.95/165.42 new_primDivNatS02(vyv310, vyv311, Succ(vyv3120), Zero) -> new_primDivNatS01(vyv310, vyv311) 248.95/165.42 new_primDivNatS02(vyv310, vyv311, Zero, Succ(vyv3130)) -> Zero 248.95/165.42 new_primDivNatS02(vyv310, vyv311, Succ(vyv3120), Succ(vyv3130)) -> new_primDivNatS02(vyv310, vyv311, vyv3120, vyv3130) 248.95/165.42 new_primDivNatS01(vyv310, vyv311) -> Succ(new_primDivNatS1(new_primMinusNatS2(vyv310, vyv311), Succ(vyv311))) 248.95/165.42 new_primMinusNatS2(Zero, Succ(vyv3110)) -> Zero 248.95/165.42 new_primMinusNatS2(Succ(vyv3100), Zero) -> Succ(vyv3100) 248.95/165.42 new_primMinusNatS2(Zero, Zero) -> Zero 248.95/165.42 new_primMinusNatS2(Succ(vyv3100), Succ(vyv3110)) -> new_primMinusNatS2(vyv3100, vyv3110) 248.95/165.42 new_primDivNatS1(Zero, vyv28400) -> Zero 248.95/165.42 new_sr9(vyv183) -> error([]) 248.95/165.42 new_sr10(vyv183) -> error([]) 248.95/165.42 new_sr5(:%(vyv1830, vyv1831), bd) -> new_reduce2Reduce1(vyv1830, vyv1830, vyv1831, vyv1831, new_esEs0(vyv1831, bd), bd) 248.95/165.42 new_esEs0(vyv1831, ty_Int) -> new_esEs(new_sr6(vyv1831)) 248.95/165.42 new_esEs0(vyv1831, ty_Integer) -> new_esEs1(new_sr7(vyv1831)) 248.95/165.42 new_reduce2Reduce1(vyv264, vyv265, vyv266, vyv267, False, bh) -> :%(new_quot1(vyv264, vyv265, vyv266, vyv267, bh), new_quot2(vyv266, vyv267, vyv264, vyv265, bh)) 248.95/165.42 new_reduce2Reduce1(vyv264, vyv265, vyv266, vyv267, True, bh) -> error([]) 248.95/165.42 new_quot1(vyv264, vyv265, vyv266, vyv267, ty_Int) -> new_quot0(new_sr14(vyv264, vyv265), new_sr14(vyv264, vyv265), new_sr14(vyv266, vyv267)) 248.95/165.42 new_quot1(vyv264, vyv265, vyv266, vyv267, ty_Integer) -> new_quot(new_sr8(vyv264, vyv265), new_sr8(vyv264, vyv265), new_sr8(vyv266, vyv267)) 248.95/165.42 new_quot2(vyv266, vyv267, vyv264, vyv265, ty_Int) -> new_quot0(new_sr14(vyv266, vyv267), new_sr14(vyv264, vyv265), new_sr14(vyv266, vyv267)) 248.95/165.42 new_quot2(vyv266, vyv267, vyv264, vyv265, ty_Integer) -> new_quot(new_sr8(vyv266, vyv267), new_sr8(vyv264, vyv265), new_sr8(vyv266, vyv267)) 248.95/165.42 new_sr8(vyv239, vyv238) -> error([]) 248.95/165.42 new_quot(vyv273, vyv275, vyv274) -> error([]) 248.95/165.42 new_sr14(Pos(vyv2390), Neg(vyv2380)) -> Neg(new_primMulNat0(vyv2390, vyv2380)) 248.95/165.42 new_sr14(Neg(vyv2390), Pos(vyv2380)) -> Neg(new_primMulNat0(vyv2390, vyv2380)) 248.95/165.42 new_sr14(Neg(vyv2390), Neg(vyv2380)) -> Pos(new_primMulNat0(vyv2390, vyv2380)) 248.95/165.42 new_sr14(Pos(vyv2390), Pos(vyv2380)) -> Pos(new_primMulNat0(vyv2390, vyv2380)) 248.95/165.42 new_quot0(Neg(vyv2700), vyv272, vyv271) -> new_primQuotInt0(vyv2700, new_gcd(vyv272, vyv271)) 248.95/165.42 new_quot0(Pos(vyv2700), vyv272, vyv271) -> new_primQuotInt(vyv2700, new_gcd(vyv272, vyv271)) 248.95/165.42 new_gcd(vyv272, vyv271) -> new_gcd2(new_esEs(vyv272), vyv272, vyv271) 248.95/165.42 new_primQuotInt(vyv2700, Pos(Succ(vyv28400))) -> Pos(new_primDivNatS1(vyv2700, vyv28400)) 248.95/165.42 new_primQuotInt(vyv2700, Neg(Zero)) -> new_error 248.95/165.42 new_primQuotInt(vyv2700, Pos(Zero)) -> new_error 248.95/165.42 new_primQuotInt(vyv2700, Neg(Succ(vyv28400))) -> Neg(new_primDivNatS1(vyv2700, vyv28400)) 248.95/165.42 new_primDivNatS1(Succ(Succ(vyv270000)), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS0(vyv270000), Zero)) 248.95/165.42 new_primDivNatS1(Succ(Zero), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS1, Zero)) 248.95/165.42 new_primMinusNatS1 -> Zero 248.95/165.42 new_primMinusNatS0(vyv270000) -> Succ(vyv270000) 248.95/165.42 new_error -> error([]) 248.95/165.42 new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) 248.95/165.42 new_esEs(Pos(Succ(vyv24100))) -> new_primEqInt(Pos(Succ(vyv24100))) 248.95/165.42 new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) 248.95/165.42 new_esEs(Neg(Succ(vyv24100))) -> new_primEqInt(Neg(Succ(vyv24100))) 248.95/165.42 new_gcd2(True, vyv272, vyv271) -> new_gcd1(new_esEs(vyv271), vyv272, vyv271) 248.95/165.42 new_gcd2(False, vyv272, vyv271) -> new_gcd0(vyv272, vyv271) 248.95/165.42 new_gcd0(vyv272, vyv271) -> new_gcd0Gcd'10(new_esEs(new_abs(vyv271)), vyv272, vyv271) 248.95/165.42 new_abs(Neg(Zero)) -> Neg(Zero) 248.95/165.42 new_abs(Neg(Succ(vyv27100))) -> Pos(Succ(vyv27100)) 248.95/165.42 new_abs(Pos(Succ(vyv27100))) -> Pos(Succ(vyv27100)) 248.95/165.42 new_abs(Pos(Zero)) -> Pos(Zero) 248.95/165.42 new_gcd0Gcd'10(True, vyv272, vyv271) -> new_abs(vyv272) 248.95/165.42 new_gcd0Gcd'10(False, vyv272, vyv271) -> new_gcd0Gcd'00(new_abs(vyv272), new_abs(vyv271)) 248.95/165.42 new_gcd0Gcd'11(False, vyv291, vyv292) -> new_gcd0Gcd'00(vyv291, new_rem(vyv292, vyv291)) 248.95/165.42 new_gcd0Gcd'00(vyv292, vyv291) -> new_gcd0Gcd'11(new_esEs(new_rem(vyv292, vyv291)), vyv291, vyv292) 248.95/165.42 new_rem(Pos(vyv2920), Neg(Zero)) -> new_error 248.95/165.42 new_rem(Neg(vyv2920), Pos(Zero)) -> new_error 248.95/165.42 new_rem(Pos(vyv2920), Neg(Succ(vyv29100))) -> Pos(new_primModNatS1(vyv2920, vyv29100)) 248.95/165.42 new_rem(Neg(vyv2920), Pos(Succ(vyv29100))) -> Neg(new_primModNatS1(vyv2920, vyv29100)) 248.95/165.42 new_rem(Pos(vyv2920), Pos(Succ(vyv29100))) -> Pos(new_primModNatS1(vyv2920, vyv29100)) 248.95/165.42 new_rem(Neg(vyv2920), Neg(Zero)) -> new_error 248.95/165.42 new_rem(Neg(vyv2920), Neg(Succ(vyv29100))) -> Neg(new_primModNatS1(vyv2920, vyv29100)) 248.95/165.42 new_rem(Pos(vyv2920), Pos(Zero)) -> new_error 248.95/165.42 new_gcd0Gcd'11(True, vyv291, vyv292) -> vyv291 248.95/165.42 new_primModNatS1(Succ(Zero), Succ(vyv291000)) -> Succ(Zero) 248.95/165.42 new_primModNatS1(Zero, vyv29100) -> Zero 248.95/165.42 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 248.95/165.42 new_primModNatS1(Succ(Succ(vyv292000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv292000), Zero) 248.95/165.42 new_primModNatS1(Succ(Succ(vyv292000)), Succ(vyv291000)) -> new_primModNatS01(vyv292000, vyv291000, vyv292000, vyv291000) 248.95/165.42 new_primModNatS01(vyv330, vyv331, Zero, Zero) -> new_primModNatS02(vyv330, vyv331) 248.95/165.42 new_primModNatS02(vyv330, vyv331) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv330), Succ(vyv331)), Succ(vyv331)) 248.95/165.42 new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Zero) -> new_primModNatS02(vyv330, vyv331) 248.95/165.42 new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Succ(vyv3330)) -> new_primModNatS01(vyv330, vyv331, vyv3320, vyv3330) 248.95/165.42 new_primModNatS01(vyv330, vyv331, Zero, Succ(vyv3330)) -> Succ(Succ(vyv330)) 248.95/165.42 new_gcd1(True, vyv272, vyv271) -> new_error 248.95/165.42 new_gcd1(False, vyv272, vyv271) -> new_gcd0(vyv272, vyv271) 248.95/165.42 new_primEqInt(Neg(Succ(vyv242000))) -> False 248.95/165.42 new_primEqInt(Pos(Zero)) -> True 248.95/165.42 new_primEqInt(Pos(Succ(vyv242000))) -> False 248.95/165.42 new_primEqInt(Neg(Zero)) -> True 248.95/165.42 new_primQuotInt0(vyv2700, Pos(Succ(vyv28700))) -> Neg(new_primDivNatS1(vyv2700, vyv28700)) 248.95/165.42 new_primQuotInt0(vyv2700, Neg(Zero)) -> new_error 248.95/165.42 new_primQuotInt0(vyv2700, Neg(Succ(vyv28700))) -> Pos(new_primDivNatS1(vyv2700, vyv28700)) 248.95/165.42 new_primQuotInt0(vyv2700, Pos(Zero)) -> new_error 248.95/165.42 new_primMulNat0(Succ(vyv23900), Zero) -> Zero 248.95/165.42 new_primMulNat0(Zero, Succ(vyv23800)) -> Zero 248.95/165.42 new_primMulNat0(Zero, Zero) -> Zero 248.95/165.42 new_primMulNat0(Succ(vyv23900), Succ(vyv23800)) -> new_primPlusNat0(new_primMulNat0(vyv23900, Succ(vyv23800)), Succ(vyv23800)) 248.95/165.42 new_primPlusNat0(Succ(vyv4000), Succ(vyv5000)) -> Succ(Succ(new_primPlusNat0(vyv4000, vyv5000))) 248.95/165.42 new_primPlusNat0(Zero, Succ(vyv5000)) -> Succ(vyv5000) 248.95/165.42 new_primPlusNat0(Zero, Zero) -> Zero 248.95/165.42 new_primPlusNat0(Succ(vyv4000), Zero) -> Succ(vyv4000) 248.95/165.42 new_sr7(vyv183) -> error([]) 248.95/165.42 new_esEs1(Integer(vyv2690)) -> new_primEqInt(vyv2690) 248.95/165.42 new_sr6(Neg(vyv1830)) -> Pos(new_primMulNat1(vyv1830)) 248.95/165.42 new_sr6(Pos(vyv1830)) -> Pos(new_primMulNat1(vyv1830)) 248.95/165.42 new_primMulNat1(Succ(vyv18300)) -> new_primPlusNat0(new_primMulNat2(vyv18300), Succ(vyv18300)) 248.95/165.42 new_primMulNat1(Zero) -> Zero 248.95/165.42 new_primMulNat2(Succ(vyv183000)) -> new_primPlusNat0(new_primMulNat3(vyv183000), Succ(Succ(vyv183000))) 248.95/165.42 new_primMulNat2(Zero) -> Zero 248.95/165.42 new_primMulNat3(Succ(vyv1830000)) -> new_primPlusNat0(new_primMulNat4(vyv1830000), Succ(Succ(Succ(vyv1830000)))) 248.95/165.42 new_primMulNat3(Zero) -> Zero 248.95/165.42 new_primMulNat4(Succ(vyv18300000)) -> new_primPlusNat0(new_primMulNat0(vyv18300000, Succ(Succ(Succ(Succ(vyv18300000))))), Succ(Succ(Succ(Succ(vyv18300000))))) 248.95/165.42 new_primMulNat4(Zero) -> Zero 248.95/165.42 new_ms(vyv228, Neg(vyv2440)) -> Pos(new_primPlusNat0(Succ(vyv228), vyv2440)) 248.95/165.42 new_ms(vyv228, Pos(Succ(vyv24400))) -> new_primMinusNat0(vyv228, vyv24400) 248.95/165.42 new_ms(vyv228, Pos(Zero)) -> Pos(Succ(vyv228)) 248.95/165.42 new_sr2(vyv227, vyv226, ty_Int) -> new_sr14(vyv227, vyv226) 248.95/165.42 new_sr2(vyv227, vyv226, ty_Double) -> new_sr11(vyv227, vyv226) 248.95/165.42 new_sr2(vyv227, vyv226, ty_Integer) -> new_sr8(vyv227, vyv226) 248.95/165.42 new_sr2(vyv227, vyv226, ty_Float) -> new_sr13(vyv227, vyv226) 248.95/165.42 new_sr2(vyv227, vyv226, app(ty_Ratio, be)) -> new_sr12(vyv227, vyv226, be) 248.95/165.42 new_sr12(:%(vyv2390, vyv2391), :%(vyv2380, vyv2381), bf) -> new_reduce2Reduce1(vyv2390, vyv2380, vyv2391, vyv2381, new_esEs2(vyv2391, vyv2381, bf), bf) 248.95/165.42 new_esEs2(vyv2391, vyv2381, ty_Int) -> new_esEs(new_sr14(vyv2391, vyv2381)) 248.95/165.42 new_esEs2(vyv2391, vyv2381, ty_Integer) -> new_esEs1(new_sr8(vyv2391, vyv2381)) 248.95/165.42 new_sr13(vyv239, vyv238) -> error([]) 248.95/165.42 new_sr11(vyv239, vyv238) -> error([]) 248.95/165.42 new_primMinusNat0(Succ(vyv2280), Succ(vyv244000)) -> new_primMinusNat0(vyv2280, vyv244000) 248.95/165.42 new_primMinusNat0(Zero, Zero) -> Pos(Zero) 248.95/165.42 new_primMinusNat0(Zero, Succ(vyv244000)) -> Neg(Succ(vyv244000)) 248.95/165.42 new_primMinusNat0(Succ(vyv2280), Zero) -> Pos(Succ(vyv2280)) 248.95/165.42 248.95/165.42 The set Q consists of the following terms: 248.95/165.42 248.95/165.42 new_rem(Pos(x0), Pos(Succ(x1))) 248.95/165.42 new_quot1(x0, x1, x2, x3, ty_Integer) 248.95/165.42 new_primModNatS1(Succ(Zero), Succ(x0)) 248.95/165.42 new_primMulNat4(Zero) 248.95/165.42 new_gcd1(False, x0, x1) 248.95/165.42 new_primEqInt(Pos(Zero)) 248.95/165.42 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 248.95/165.42 new_rem(Pos(x0), Neg(Succ(x1))) 248.95/165.42 new_rem(Neg(x0), Pos(Succ(x1))) 248.95/165.42 new_sr10(x0) 248.95/165.42 new_quot1(x0, x1, x2, x3, ty_Int) 248.95/165.42 new_quot2(x0, x1, x2, x3, ty_Integer) 248.95/165.42 new_primModNatS01(x0, x1, Succ(x2), Zero) 248.95/165.42 new_primMulNat3(Zero) 248.95/165.42 new_primDivNatS02(x0, x1, Succ(x2), Zero) 248.95/165.42 new_quot2(x0, x1, x2, x3, ty_Int) 248.95/165.42 new_gcd2(False, x0, x1) 248.95/165.42 new_primDivNatS1(Succ(Zero), Zero) 248.95/165.42 new_esEs0(x0, ty_Int) 248.95/165.42 new_sr14(Pos(x0), Pos(x1)) 248.95/165.42 new_primMulNat0(Zero, Zero) 248.95/165.42 new_primPlusNat0(Succ(x0), Zero) 248.95/165.42 new_primMulNat2(Zero) 248.95/165.42 new_sr11(x0, x1) 248.95/165.42 new_primModNatS01(x0, x1, Zero, Zero) 248.95/165.42 new_esEs2(x0, x1, ty_Int) 248.95/165.42 new_gcd1(True, x0, x1) 248.95/165.42 new_sr13(x0, x1) 248.95/165.42 new_sr14(Pos(x0), Neg(x1)) 248.95/165.42 new_sr14(Neg(x0), Pos(x1)) 248.95/165.42 new_primDivNatS1(Succ(Succ(x0)), Succ(x1)) 248.95/165.42 new_sr1(x0, ty_Int) 248.95/165.42 new_primModNatS1(Zero, x0) 248.95/165.42 new_esEs(Pos(Succ(x0))) 248.95/165.42 new_primMulNat3(Succ(x0)) 248.95/165.42 new_sr1(x0, app(ty_Ratio, x1)) 248.95/165.42 new_primQuotInt(x0, Neg(Succ(x1))) 248.95/165.42 new_reduce2Reduce1(x0, x1, x2, x3, False, x4) 248.95/165.42 new_primMinusNat0(Zero, Zero) 248.95/165.42 new_primDivNatS1(Zero, x0) 248.95/165.42 new_primDivNatS02(x0, x1, Succ(x2), Succ(x3)) 248.95/165.42 new_primModNatS02(x0, x1) 248.95/165.42 new_primDivNatS1(Succ(Zero), Succ(x0)) 248.95/165.42 new_sr6(Neg(x0)) 248.95/165.42 new_gcd0Gcd'10(True, x0, x1) 248.95/165.42 new_primMulNat0(Succ(x0), Succ(x1)) 248.95/165.42 new_abs(Neg(Zero)) 248.95/165.42 new_ms(x0, Neg(x1)) 248.95/165.42 new_rem(Pos(x0), Neg(Zero)) 248.95/165.42 new_rem(Neg(x0), Pos(Zero)) 248.95/165.42 new_primMinusNatS2(Zero, Succ(x0)) 248.95/165.42 new_esEs(Neg(Succ(x0))) 248.95/165.42 new_error 248.95/165.42 new_primModNatS1(Succ(Zero), Zero) 248.95/165.42 new_primMulNat0(Zero, Succ(x0)) 248.95/165.42 new_quot(x0, x1, x2) 248.95/165.42 new_gcd2(True, x0, x1) 248.95/165.42 new_gcd0Gcd'11(True, x0, x1) 248.95/165.42 new_primEqInt(Neg(Zero)) 248.95/165.42 new_sr2(x0, x1, ty_Double) 248.95/165.42 new_primMulNat0(Succ(x0), Zero) 248.95/165.42 new_quot0(Neg(x0), x1, x2) 248.95/165.42 new_primMinusNatS2(Succ(x0), Succ(x1)) 248.95/165.42 new_sr8(x0, x1) 248.95/165.42 new_primDivNatS01(x0, x1) 248.95/165.42 new_primDivNatS02(x0, x1, Zero, Succ(x2)) 248.95/165.42 new_primPlusNat0(Succ(x0), Succ(x1)) 248.95/165.42 new_sr1(x0, ty_Integer) 248.95/165.42 new_primPlusNat0(Zero, Zero) 248.95/165.42 new_sr1(x0, ty_Float) 248.95/165.42 new_primMinusNat0(Succ(x0), Succ(x1)) 248.95/165.42 new_sr12(:%(x0, x1), :%(x2, x3), x4) 248.95/165.42 new_abs(Neg(Succ(x0))) 248.95/165.42 new_sr1(x0, ty_Double) 248.95/165.42 new_sr7(x0) 248.95/165.42 new_gcd0(x0, x1) 248.95/165.42 new_primQuotInt0(x0, Pos(Succ(x1))) 248.95/165.42 new_sr5(:%(x0, x1), x2) 248.95/165.42 new_primMinusNatS2(Zero, Zero) 248.95/165.42 new_primMulNat1(Succ(x0)) 248.95/165.42 new_ms(x0, Pos(Zero)) 248.95/165.42 new_abs(Pos(Succ(x0))) 248.95/165.42 new_esEs(Pos(Zero)) 248.95/165.42 new_primQuotInt0(x0, Pos(Zero)) 248.95/165.42 new_primEqInt(Neg(Succ(x0))) 248.95/165.42 new_primQuotInt(x0, Neg(Zero)) 248.95/165.42 new_primQuotInt0(x0, Neg(Zero)) 248.95/165.42 new_primQuotInt0(x0, Neg(Succ(x1))) 248.95/165.42 new_gcd(x0, x1) 248.95/165.42 new_quot0(Pos(x0), x1, x2) 248.95/165.42 new_primMinusNatS0(x0) 248.95/165.42 new_primPlusNat0(Zero, Succ(x0)) 248.95/165.42 new_sr2(x0, x1, app(ty_Ratio, x2)) 248.95/165.42 new_sr2(x0, x1, ty_Int) 248.95/165.42 new_primQuotInt(x0, Pos(Succ(x1))) 248.95/165.42 new_primDivNatS1(Succ(Succ(x0)), Zero) 248.95/165.42 new_rem(Pos(x0), Pos(Zero)) 248.95/165.42 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 248.95/165.42 new_primDivNatS02(x0, x1, Zero, Zero) 248.95/165.42 new_abs(Pos(Zero)) 248.95/165.42 new_gcd0Gcd'10(False, x0, x1) 248.95/165.42 new_ms(x0, Pos(Succ(x1))) 248.95/165.42 new_primMinusNatS1 248.95/165.42 new_esEs1(Integer(x0)) 248.95/165.42 new_primMinusNat0(Succ(x0), Zero) 248.95/165.42 new_sr2(x0, x1, ty_Integer) 248.95/165.42 new_primModNatS01(x0, x1, Zero, Succ(x2)) 248.95/165.42 new_primMulNat2(Succ(x0)) 248.95/165.42 new_sr14(Neg(x0), Neg(x1)) 248.95/165.42 new_sr2(x0, x1, ty_Float) 248.95/165.42 new_primMinusNatS2(Succ(x0), Zero) 248.95/165.42 new_sr6(Pos(x0)) 248.95/165.42 new_esEs2(x0, x1, ty_Integer) 248.95/165.42 new_primMulNat4(Succ(x0)) 248.95/165.42 new_rem(Neg(x0), Neg(Succ(x1))) 248.95/165.42 new_primEqInt(Pos(Succ(x0))) 248.95/165.42 new_primQuotInt(x0, Pos(Zero)) 248.95/165.42 new_gcd0Gcd'11(False, x0, x1) 248.95/165.42 new_sr9(x0) 248.95/165.42 new_primModNatS1(Succ(Succ(x0)), Zero) 248.95/165.42 new_esEs0(x0, ty_Integer) 248.95/165.42 new_gcd0Gcd'00(x0, x1) 248.95/165.42 new_reduce2Reduce1(x0, x1, x2, x3, True, x4) 248.95/165.42 new_esEs(Neg(Zero)) 248.95/165.42 new_primMulNat1(Zero) 248.95/165.42 new_primMinusNat0(Zero, Succ(x0)) 248.95/165.42 new_rem(Neg(x0), Neg(Zero)) 248.95/165.42 248.95/165.42 We have to consider all minimal (P,Q,R)-chains. 248.95/165.42 ---------------------------------------- 248.95/165.42 248.95/165.42 (893) TransformationProof (EQUIVALENT) 248.95/165.42 By rewriting [LPAR04] the rule new_pr2F(z0, Zero, Pos(Succ(Zero)), z1, z2) -> new_pr2F3(new_esEs(new_ms(Zero, Pos(Succ(Zero)))), z0, Zero, Pos(Succ(Zero)), z1, z2) at position [0,0] we obtained the following new rules [LPAR04]: 248.95/165.42 248.95/165.42 (new_pr2F(z0, Zero, Pos(Succ(Zero)), z1, z2) -> new_pr2F3(new_esEs(new_primMinusNat0(Zero, Zero)), z0, Zero, Pos(Succ(Zero)), z1, z2),new_pr2F(z0, Zero, Pos(Succ(Zero)), z1, z2) -> new_pr2F3(new_esEs(new_primMinusNat0(Zero, Zero)), z0, Zero, Pos(Succ(Zero)), z1, z2)) 248.95/165.42 248.95/165.42 248.95/165.42 ---------------------------------------- 248.95/165.42 248.95/165.42 (894) 248.95/165.42 Obligation: 248.95/165.42 Q DP problem: 248.95/165.42 The TRS P consists of the following rules: 248.95/165.42 248.95/165.42 new_pr2F0(vyv183, Pos(Succ(Succ(vyv222000))), vyv187, h) -> new_pr2F0G1(vyv187, vyv183, Succ(vyv222000), vyv222000, h) 248.95/165.42 new_pr2F0G1(vyv226, vyv227, vyv228, Succ(Succ(vyv22900)), ba) -> new_pr2F0G1(vyv226, vyv227, vyv228, vyv22900, ba) 248.95/165.42 new_pr2F0G1(vyv226, vyv227, vyv228, Succ(Zero), ba) -> new_pr2F(vyv227, vyv228, Pos(Succ(Zero)), vyv226, ba) 248.95/165.42 new_pr2F3(False, vyv227, vyv228, vyv244, vyv226, ba) -> new_pr2F0(vyv227, new_ms(vyv228, vyv244), new_sr2(vyv227, vyv226, ba), ba) 248.95/165.42 new_pr2F0(vyv183, Pos(Succ(Zero)), vyv187, h) -> new_pr2F(vyv183, Zero, Pos(Succ(Zero)), vyv187, h) 248.95/165.42 new_pr2F0G1(vyv226, vyv227, vyv228, Zero, ba) -> new_pr2F0G(vyv226, new_sr1(vyv227, ba), Pos(new_primDivNatS1(Succ(vyv228), Succ(Zero))), ba) 248.95/165.42 new_pr2F0G(vyv187, vyv183, Pos(Succ(Succ(vyv222000))), h) -> new_pr2F0G1(vyv187, vyv183, Succ(vyv222000), vyv222000, h) 248.95/165.42 new_pr2F0G(vyv187, vyv183, Pos(Succ(Zero)), h) -> new_pr2F(vyv183, Zero, Pos(Succ(Zero)), vyv187, h) 248.95/165.42 new_pr2F(z1, z2, Pos(Succ(Zero)), z0, z3) -> new_pr2F3(new_esEs(new_primMinusNat0(z2, Zero)), z1, z2, Pos(Succ(Zero)), z0, z3) 248.95/165.42 new_pr2F(z0, Zero, Pos(Succ(Zero)), z1, z2) -> new_pr2F3(new_esEs(new_primMinusNat0(Zero, Zero)), z0, Zero, Pos(Succ(Zero)), z1, z2) 248.95/165.42 248.95/165.42 The TRS R consists of the following rules: 248.95/165.42 248.95/165.42 new_sr1(vyv227, ty_Int) -> new_sr6(vyv227) 248.95/165.42 new_sr1(vyv227, ty_Integer) -> new_sr7(vyv227) 248.95/165.42 new_sr1(vyv227, app(ty_Ratio, be)) -> new_sr5(vyv227, be) 248.95/165.42 new_sr1(vyv227, ty_Float) -> new_sr10(vyv227) 248.95/165.42 new_sr1(vyv227, ty_Double) -> new_sr9(vyv227) 248.95/165.42 new_primDivNatS1(Succ(Zero), Succ(vyv284000)) -> Zero 248.95/165.42 new_primDivNatS1(Succ(Succ(vyv270000)), Succ(vyv284000)) -> new_primDivNatS02(vyv270000, vyv284000, vyv270000, vyv284000) 248.95/165.42 new_primDivNatS02(vyv310, vyv311, Zero, Zero) -> new_primDivNatS01(vyv310, vyv311) 248.95/165.42 new_primDivNatS02(vyv310, vyv311, Succ(vyv3120), Zero) -> new_primDivNatS01(vyv310, vyv311) 248.95/165.42 new_primDivNatS02(vyv310, vyv311, Zero, Succ(vyv3130)) -> Zero 248.95/165.42 new_primDivNatS02(vyv310, vyv311, Succ(vyv3120), Succ(vyv3130)) -> new_primDivNatS02(vyv310, vyv311, vyv3120, vyv3130) 248.95/165.42 new_primDivNatS01(vyv310, vyv311) -> Succ(new_primDivNatS1(new_primMinusNatS2(vyv310, vyv311), Succ(vyv311))) 248.95/165.42 new_primMinusNatS2(Zero, Succ(vyv3110)) -> Zero 248.95/165.42 new_primMinusNatS2(Succ(vyv3100), Zero) -> Succ(vyv3100) 248.95/165.42 new_primMinusNatS2(Zero, Zero) -> Zero 248.95/165.42 new_primMinusNatS2(Succ(vyv3100), Succ(vyv3110)) -> new_primMinusNatS2(vyv3100, vyv3110) 248.95/165.42 new_primDivNatS1(Zero, vyv28400) -> Zero 248.95/165.42 new_sr9(vyv183) -> error([]) 248.95/165.42 new_sr10(vyv183) -> error([]) 248.95/165.42 new_sr5(:%(vyv1830, vyv1831), bd) -> new_reduce2Reduce1(vyv1830, vyv1830, vyv1831, vyv1831, new_esEs0(vyv1831, bd), bd) 248.95/165.42 new_esEs0(vyv1831, ty_Int) -> new_esEs(new_sr6(vyv1831)) 248.95/165.42 new_esEs0(vyv1831, ty_Integer) -> new_esEs1(new_sr7(vyv1831)) 248.95/165.42 new_reduce2Reduce1(vyv264, vyv265, vyv266, vyv267, False, bh) -> :%(new_quot1(vyv264, vyv265, vyv266, vyv267, bh), new_quot2(vyv266, vyv267, vyv264, vyv265, bh)) 248.95/165.42 new_reduce2Reduce1(vyv264, vyv265, vyv266, vyv267, True, bh) -> error([]) 248.95/165.42 new_quot1(vyv264, vyv265, vyv266, vyv267, ty_Int) -> new_quot0(new_sr14(vyv264, vyv265), new_sr14(vyv264, vyv265), new_sr14(vyv266, vyv267)) 248.95/165.42 new_quot1(vyv264, vyv265, vyv266, vyv267, ty_Integer) -> new_quot(new_sr8(vyv264, vyv265), new_sr8(vyv264, vyv265), new_sr8(vyv266, vyv267)) 248.95/165.42 new_quot2(vyv266, vyv267, vyv264, vyv265, ty_Int) -> new_quot0(new_sr14(vyv266, vyv267), new_sr14(vyv264, vyv265), new_sr14(vyv266, vyv267)) 248.95/165.42 new_quot2(vyv266, vyv267, vyv264, vyv265, ty_Integer) -> new_quot(new_sr8(vyv266, vyv267), new_sr8(vyv264, vyv265), new_sr8(vyv266, vyv267)) 248.95/165.42 new_sr8(vyv239, vyv238) -> error([]) 248.95/165.42 new_quot(vyv273, vyv275, vyv274) -> error([]) 248.95/165.42 new_sr14(Pos(vyv2390), Neg(vyv2380)) -> Neg(new_primMulNat0(vyv2390, vyv2380)) 248.95/165.42 new_sr14(Neg(vyv2390), Pos(vyv2380)) -> Neg(new_primMulNat0(vyv2390, vyv2380)) 248.95/165.42 new_sr14(Neg(vyv2390), Neg(vyv2380)) -> Pos(new_primMulNat0(vyv2390, vyv2380)) 248.95/165.42 new_sr14(Pos(vyv2390), Pos(vyv2380)) -> Pos(new_primMulNat0(vyv2390, vyv2380)) 248.95/165.42 new_quot0(Neg(vyv2700), vyv272, vyv271) -> new_primQuotInt0(vyv2700, new_gcd(vyv272, vyv271)) 248.95/165.42 new_quot0(Pos(vyv2700), vyv272, vyv271) -> new_primQuotInt(vyv2700, new_gcd(vyv272, vyv271)) 248.95/165.42 new_gcd(vyv272, vyv271) -> new_gcd2(new_esEs(vyv272), vyv272, vyv271) 248.95/165.42 new_primQuotInt(vyv2700, Pos(Succ(vyv28400))) -> Pos(new_primDivNatS1(vyv2700, vyv28400)) 248.95/165.42 new_primQuotInt(vyv2700, Neg(Zero)) -> new_error 248.95/165.42 new_primQuotInt(vyv2700, Pos(Zero)) -> new_error 248.95/165.42 new_primQuotInt(vyv2700, Neg(Succ(vyv28400))) -> Neg(new_primDivNatS1(vyv2700, vyv28400)) 248.95/165.42 new_primDivNatS1(Succ(Succ(vyv270000)), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS0(vyv270000), Zero)) 248.95/165.42 new_primDivNatS1(Succ(Zero), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS1, Zero)) 248.95/165.42 new_primMinusNatS1 -> Zero 248.95/165.42 new_primMinusNatS0(vyv270000) -> Succ(vyv270000) 248.95/165.42 new_error -> error([]) 248.95/165.42 new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) 248.95/165.42 new_esEs(Pos(Succ(vyv24100))) -> new_primEqInt(Pos(Succ(vyv24100))) 248.95/165.42 new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) 248.95/165.42 new_esEs(Neg(Succ(vyv24100))) -> new_primEqInt(Neg(Succ(vyv24100))) 248.95/165.42 new_gcd2(True, vyv272, vyv271) -> new_gcd1(new_esEs(vyv271), vyv272, vyv271) 248.95/165.42 new_gcd2(False, vyv272, vyv271) -> new_gcd0(vyv272, vyv271) 248.95/165.42 new_gcd0(vyv272, vyv271) -> new_gcd0Gcd'10(new_esEs(new_abs(vyv271)), vyv272, vyv271) 248.95/165.42 new_abs(Neg(Zero)) -> Neg(Zero) 248.95/165.42 new_abs(Neg(Succ(vyv27100))) -> Pos(Succ(vyv27100)) 248.95/165.42 new_abs(Pos(Succ(vyv27100))) -> Pos(Succ(vyv27100)) 248.95/165.42 new_abs(Pos(Zero)) -> Pos(Zero) 248.95/165.42 new_gcd0Gcd'10(True, vyv272, vyv271) -> new_abs(vyv272) 248.95/165.42 new_gcd0Gcd'10(False, vyv272, vyv271) -> new_gcd0Gcd'00(new_abs(vyv272), new_abs(vyv271)) 248.95/165.42 new_gcd0Gcd'11(False, vyv291, vyv292) -> new_gcd0Gcd'00(vyv291, new_rem(vyv292, vyv291)) 248.95/165.42 new_gcd0Gcd'00(vyv292, vyv291) -> new_gcd0Gcd'11(new_esEs(new_rem(vyv292, vyv291)), vyv291, vyv292) 248.95/165.42 new_rem(Pos(vyv2920), Neg(Zero)) -> new_error 248.95/165.42 new_rem(Neg(vyv2920), Pos(Zero)) -> new_error 248.95/165.42 new_rem(Pos(vyv2920), Neg(Succ(vyv29100))) -> Pos(new_primModNatS1(vyv2920, vyv29100)) 248.95/165.42 new_rem(Neg(vyv2920), Pos(Succ(vyv29100))) -> Neg(new_primModNatS1(vyv2920, vyv29100)) 248.95/165.42 new_rem(Pos(vyv2920), Pos(Succ(vyv29100))) -> Pos(new_primModNatS1(vyv2920, vyv29100)) 248.95/165.42 new_rem(Neg(vyv2920), Neg(Zero)) -> new_error 248.95/165.42 new_rem(Neg(vyv2920), Neg(Succ(vyv29100))) -> Neg(new_primModNatS1(vyv2920, vyv29100)) 248.95/165.42 new_rem(Pos(vyv2920), Pos(Zero)) -> new_error 248.95/165.42 new_gcd0Gcd'11(True, vyv291, vyv292) -> vyv291 248.95/165.42 new_primModNatS1(Succ(Zero), Succ(vyv291000)) -> Succ(Zero) 248.95/165.42 new_primModNatS1(Zero, vyv29100) -> Zero 248.95/165.42 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 248.95/165.42 new_primModNatS1(Succ(Succ(vyv292000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv292000), Zero) 248.95/165.42 new_primModNatS1(Succ(Succ(vyv292000)), Succ(vyv291000)) -> new_primModNatS01(vyv292000, vyv291000, vyv292000, vyv291000) 248.95/165.42 new_primModNatS01(vyv330, vyv331, Zero, Zero) -> new_primModNatS02(vyv330, vyv331) 248.95/165.42 new_primModNatS02(vyv330, vyv331) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv330), Succ(vyv331)), Succ(vyv331)) 248.95/165.42 new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Zero) -> new_primModNatS02(vyv330, vyv331) 248.95/165.42 new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Succ(vyv3330)) -> new_primModNatS01(vyv330, vyv331, vyv3320, vyv3330) 248.95/165.42 new_primModNatS01(vyv330, vyv331, Zero, Succ(vyv3330)) -> Succ(Succ(vyv330)) 248.95/165.42 new_gcd1(True, vyv272, vyv271) -> new_error 248.95/165.42 new_gcd1(False, vyv272, vyv271) -> new_gcd0(vyv272, vyv271) 248.95/165.42 new_primEqInt(Neg(Succ(vyv242000))) -> False 248.95/165.42 new_primEqInt(Pos(Zero)) -> True 248.95/165.42 new_primEqInt(Pos(Succ(vyv242000))) -> False 248.95/165.42 new_primEqInt(Neg(Zero)) -> True 248.95/165.42 new_primQuotInt0(vyv2700, Pos(Succ(vyv28700))) -> Neg(new_primDivNatS1(vyv2700, vyv28700)) 248.95/165.42 new_primQuotInt0(vyv2700, Neg(Zero)) -> new_error 248.95/165.42 new_primQuotInt0(vyv2700, Neg(Succ(vyv28700))) -> Pos(new_primDivNatS1(vyv2700, vyv28700)) 248.95/165.42 new_primQuotInt0(vyv2700, Pos(Zero)) -> new_error 248.95/165.42 new_primMulNat0(Succ(vyv23900), Zero) -> Zero 248.95/165.42 new_primMulNat0(Zero, Succ(vyv23800)) -> Zero 248.95/165.42 new_primMulNat0(Zero, Zero) -> Zero 248.95/165.42 new_primMulNat0(Succ(vyv23900), Succ(vyv23800)) -> new_primPlusNat0(new_primMulNat0(vyv23900, Succ(vyv23800)), Succ(vyv23800)) 248.95/165.42 new_primPlusNat0(Succ(vyv4000), Succ(vyv5000)) -> Succ(Succ(new_primPlusNat0(vyv4000, vyv5000))) 248.95/165.42 new_primPlusNat0(Zero, Succ(vyv5000)) -> Succ(vyv5000) 248.95/165.42 new_primPlusNat0(Zero, Zero) -> Zero 248.95/165.42 new_primPlusNat0(Succ(vyv4000), Zero) -> Succ(vyv4000) 248.95/165.42 new_sr7(vyv183) -> error([]) 248.95/165.42 new_esEs1(Integer(vyv2690)) -> new_primEqInt(vyv2690) 248.95/165.42 new_sr6(Neg(vyv1830)) -> Pos(new_primMulNat1(vyv1830)) 248.95/165.42 new_sr6(Pos(vyv1830)) -> Pos(new_primMulNat1(vyv1830)) 248.95/165.42 new_primMulNat1(Succ(vyv18300)) -> new_primPlusNat0(new_primMulNat2(vyv18300), Succ(vyv18300)) 248.95/165.42 new_primMulNat1(Zero) -> Zero 248.95/165.42 new_primMulNat2(Succ(vyv183000)) -> new_primPlusNat0(new_primMulNat3(vyv183000), Succ(Succ(vyv183000))) 248.95/165.42 new_primMulNat2(Zero) -> Zero 248.95/165.42 new_primMulNat3(Succ(vyv1830000)) -> new_primPlusNat0(new_primMulNat4(vyv1830000), Succ(Succ(Succ(vyv1830000)))) 248.95/165.42 new_primMulNat3(Zero) -> Zero 248.95/165.42 new_primMulNat4(Succ(vyv18300000)) -> new_primPlusNat0(new_primMulNat0(vyv18300000, Succ(Succ(Succ(Succ(vyv18300000))))), Succ(Succ(Succ(Succ(vyv18300000))))) 248.95/165.42 new_primMulNat4(Zero) -> Zero 248.95/165.42 new_ms(vyv228, Neg(vyv2440)) -> Pos(new_primPlusNat0(Succ(vyv228), vyv2440)) 248.95/165.42 new_ms(vyv228, Pos(Succ(vyv24400))) -> new_primMinusNat0(vyv228, vyv24400) 248.95/165.42 new_ms(vyv228, Pos(Zero)) -> Pos(Succ(vyv228)) 248.95/165.42 new_sr2(vyv227, vyv226, ty_Int) -> new_sr14(vyv227, vyv226) 248.95/165.42 new_sr2(vyv227, vyv226, ty_Double) -> new_sr11(vyv227, vyv226) 248.95/165.42 new_sr2(vyv227, vyv226, ty_Integer) -> new_sr8(vyv227, vyv226) 248.95/165.42 new_sr2(vyv227, vyv226, ty_Float) -> new_sr13(vyv227, vyv226) 248.95/165.42 new_sr2(vyv227, vyv226, app(ty_Ratio, be)) -> new_sr12(vyv227, vyv226, be) 248.95/165.42 new_sr12(:%(vyv2390, vyv2391), :%(vyv2380, vyv2381), bf) -> new_reduce2Reduce1(vyv2390, vyv2380, vyv2391, vyv2381, new_esEs2(vyv2391, vyv2381, bf), bf) 248.95/165.42 new_esEs2(vyv2391, vyv2381, ty_Int) -> new_esEs(new_sr14(vyv2391, vyv2381)) 248.95/165.42 new_esEs2(vyv2391, vyv2381, ty_Integer) -> new_esEs1(new_sr8(vyv2391, vyv2381)) 248.95/165.42 new_sr13(vyv239, vyv238) -> error([]) 248.95/165.42 new_sr11(vyv239, vyv238) -> error([]) 248.95/165.42 new_primMinusNat0(Succ(vyv2280), Succ(vyv244000)) -> new_primMinusNat0(vyv2280, vyv244000) 248.95/165.42 new_primMinusNat0(Zero, Zero) -> Pos(Zero) 248.95/165.42 new_primMinusNat0(Zero, Succ(vyv244000)) -> Neg(Succ(vyv244000)) 248.95/165.42 new_primMinusNat0(Succ(vyv2280), Zero) -> Pos(Succ(vyv2280)) 248.95/165.42 248.95/165.42 The set Q consists of the following terms: 248.95/165.42 248.95/165.42 new_rem(Pos(x0), Pos(Succ(x1))) 248.95/165.42 new_quot1(x0, x1, x2, x3, ty_Integer) 248.95/165.42 new_primModNatS1(Succ(Zero), Succ(x0)) 248.95/165.42 new_primMulNat4(Zero) 248.95/165.42 new_gcd1(False, x0, x1) 248.95/165.42 new_primEqInt(Pos(Zero)) 248.95/165.42 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 248.95/165.42 new_rem(Pos(x0), Neg(Succ(x1))) 248.95/165.42 new_rem(Neg(x0), Pos(Succ(x1))) 248.95/165.42 new_sr10(x0) 248.95/165.42 new_quot1(x0, x1, x2, x3, ty_Int) 248.95/165.42 new_quot2(x0, x1, x2, x3, ty_Integer) 248.95/165.42 new_primModNatS01(x0, x1, Succ(x2), Zero) 248.95/165.42 new_primMulNat3(Zero) 248.95/165.42 new_primDivNatS02(x0, x1, Succ(x2), Zero) 248.95/165.42 new_quot2(x0, x1, x2, x3, ty_Int) 248.95/165.42 new_gcd2(False, x0, x1) 248.95/165.42 new_primDivNatS1(Succ(Zero), Zero) 248.95/165.42 new_esEs0(x0, ty_Int) 248.95/165.42 new_sr14(Pos(x0), Pos(x1)) 248.95/165.42 new_primMulNat0(Zero, Zero) 248.95/165.42 new_primPlusNat0(Succ(x0), Zero) 248.95/165.42 new_primMulNat2(Zero) 248.95/165.42 new_sr11(x0, x1) 248.95/165.42 new_primModNatS01(x0, x1, Zero, Zero) 248.95/165.42 new_esEs2(x0, x1, ty_Int) 248.95/165.42 new_gcd1(True, x0, x1) 248.95/165.42 new_sr13(x0, x1) 248.95/165.42 new_sr14(Pos(x0), Neg(x1)) 248.95/165.42 new_sr14(Neg(x0), Pos(x1)) 248.95/165.42 new_primDivNatS1(Succ(Succ(x0)), Succ(x1)) 248.95/165.42 new_sr1(x0, ty_Int) 248.95/165.42 new_primModNatS1(Zero, x0) 248.95/165.42 new_esEs(Pos(Succ(x0))) 248.95/165.42 new_primMulNat3(Succ(x0)) 248.95/165.42 new_sr1(x0, app(ty_Ratio, x1)) 248.95/165.42 new_primQuotInt(x0, Neg(Succ(x1))) 248.95/165.42 new_reduce2Reduce1(x0, x1, x2, x3, False, x4) 248.95/165.42 new_primMinusNat0(Zero, Zero) 248.95/165.42 new_primDivNatS1(Zero, x0) 248.95/165.42 new_primDivNatS02(x0, x1, Succ(x2), Succ(x3)) 248.95/165.42 new_primModNatS02(x0, x1) 248.95/165.42 new_primDivNatS1(Succ(Zero), Succ(x0)) 248.95/165.42 new_sr6(Neg(x0)) 248.95/165.42 new_gcd0Gcd'10(True, x0, x1) 248.95/165.42 new_primMulNat0(Succ(x0), Succ(x1)) 248.95/165.42 new_abs(Neg(Zero)) 248.95/165.42 new_ms(x0, Neg(x1)) 248.95/165.42 new_rem(Pos(x0), Neg(Zero)) 248.95/165.42 new_rem(Neg(x0), Pos(Zero)) 248.95/165.42 new_primMinusNatS2(Zero, Succ(x0)) 248.95/165.42 new_esEs(Neg(Succ(x0))) 248.95/165.42 new_error 248.95/165.42 new_primModNatS1(Succ(Zero), Zero) 248.95/165.42 new_primMulNat0(Zero, Succ(x0)) 248.95/165.42 new_quot(x0, x1, x2) 248.95/165.42 new_gcd2(True, x0, x1) 248.95/165.42 new_gcd0Gcd'11(True, x0, x1) 248.95/165.42 new_primEqInt(Neg(Zero)) 248.95/165.42 new_sr2(x0, x1, ty_Double) 248.95/165.42 new_primMulNat0(Succ(x0), Zero) 248.95/165.42 new_quot0(Neg(x0), x1, x2) 248.95/165.42 new_primMinusNatS2(Succ(x0), Succ(x1)) 248.95/165.42 new_sr8(x0, x1) 248.95/165.42 new_primDivNatS01(x0, x1) 248.95/165.42 new_primDivNatS02(x0, x1, Zero, Succ(x2)) 248.95/165.42 new_primPlusNat0(Succ(x0), Succ(x1)) 248.95/165.42 new_sr1(x0, ty_Integer) 248.95/165.42 new_primPlusNat0(Zero, Zero) 248.95/165.42 new_sr1(x0, ty_Float) 248.95/165.42 new_primMinusNat0(Succ(x0), Succ(x1)) 248.95/165.42 new_sr12(:%(x0, x1), :%(x2, x3), x4) 248.95/165.42 new_abs(Neg(Succ(x0))) 248.95/165.42 new_sr1(x0, ty_Double) 248.95/165.42 new_sr7(x0) 248.95/165.42 new_gcd0(x0, x1) 248.95/165.42 new_primQuotInt0(x0, Pos(Succ(x1))) 248.95/165.42 new_sr5(:%(x0, x1), x2) 248.95/165.42 new_primMinusNatS2(Zero, Zero) 248.95/165.42 new_primMulNat1(Succ(x0)) 248.95/165.42 new_ms(x0, Pos(Zero)) 248.95/165.42 new_abs(Pos(Succ(x0))) 248.95/165.42 new_esEs(Pos(Zero)) 248.95/165.42 new_primQuotInt0(x0, Pos(Zero)) 248.95/165.42 new_primEqInt(Neg(Succ(x0))) 248.95/165.42 new_primQuotInt(x0, Neg(Zero)) 248.95/165.42 new_primQuotInt0(x0, Neg(Zero)) 248.95/165.42 new_primQuotInt0(x0, Neg(Succ(x1))) 248.95/165.42 new_gcd(x0, x1) 248.95/165.42 new_quot0(Pos(x0), x1, x2) 248.95/165.42 new_primMinusNatS0(x0) 248.95/165.42 new_primPlusNat0(Zero, Succ(x0)) 248.95/165.42 new_sr2(x0, x1, app(ty_Ratio, x2)) 248.95/165.42 new_sr2(x0, x1, ty_Int) 248.95/165.42 new_primQuotInt(x0, Pos(Succ(x1))) 248.95/165.42 new_primDivNatS1(Succ(Succ(x0)), Zero) 248.95/165.42 new_rem(Pos(x0), Pos(Zero)) 248.95/165.42 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 248.95/165.42 new_primDivNatS02(x0, x1, Zero, Zero) 248.95/165.42 new_abs(Pos(Zero)) 248.95/165.42 new_gcd0Gcd'10(False, x0, x1) 248.95/165.42 new_ms(x0, Pos(Succ(x1))) 248.95/165.42 new_primMinusNatS1 248.95/165.42 new_esEs1(Integer(x0)) 248.95/165.42 new_primMinusNat0(Succ(x0), Zero) 248.95/165.42 new_sr2(x0, x1, ty_Integer) 248.95/165.43 new_primModNatS01(x0, x1, Zero, Succ(x2)) 248.95/165.43 new_primMulNat2(Succ(x0)) 248.95/165.43 new_sr14(Neg(x0), Neg(x1)) 248.95/165.43 new_sr2(x0, x1, ty_Float) 248.95/165.43 new_primMinusNatS2(Succ(x0), Zero) 248.95/165.43 new_sr6(Pos(x0)) 248.95/165.43 new_esEs2(x0, x1, ty_Integer) 248.95/165.43 new_primMulNat4(Succ(x0)) 248.95/165.43 new_rem(Neg(x0), Neg(Succ(x1))) 248.95/165.43 new_primEqInt(Pos(Succ(x0))) 248.95/165.43 new_primQuotInt(x0, Pos(Zero)) 248.95/165.43 new_gcd0Gcd'11(False, x0, x1) 248.95/165.43 new_sr9(x0) 248.95/165.43 new_primModNatS1(Succ(Succ(x0)), Zero) 248.95/165.43 new_esEs0(x0, ty_Integer) 248.95/165.43 new_gcd0Gcd'00(x0, x1) 248.95/165.43 new_reduce2Reduce1(x0, x1, x2, x3, True, x4) 248.95/165.43 new_esEs(Neg(Zero)) 248.95/165.43 new_primMulNat1(Zero) 248.95/165.43 new_primMinusNat0(Zero, Succ(x0)) 248.95/165.43 new_rem(Neg(x0), Neg(Zero)) 248.95/165.43 248.95/165.43 We have to consider all minimal (P,Q,R)-chains. 248.95/165.43 ---------------------------------------- 248.95/165.43 248.95/165.43 (895) TransformationProof (EQUIVALENT) 248.95/165.43 By rewriting [LPAR04] the rule new_pr2F(z0, Zero, Pos(Succ(Zero)), z1, z2) -> new_pr2F3(new_esEs(new_primMinusNat0(Zero, Zero)), z0, Zero, Pos(Succ(Zero)), z1, z2) at position [0,0] we obtained the following new rules [LPAR04]: 248.95/165.43 248.95/165.43 (new_pr2F(z0, Zero, Pos(Succ(Zero)), z1, z2) -> new_pr2F3(new_esEs(Pos(Zero)), z0, Zero, Pos(Succ(Zero)), z1, z2),new_pr2F(z0, Zero, Pos(Succ(Zero)), z1, z2) -> new_pr2F3(new_esEs(Pos(Zero)), z0, Zero, Pos(Succ(Zero)), z1, z2)) 248.95/165.43 248.95/165.43 248.95/165.43 ---------------------------------------- 248.95/165.43 248.95/165.43 (896) 248.95/165.43 Obligation: 248.95/165.43 Q DP problem: 248.95/165.43 The TRS P consists of the following rules: 248.95/165.43 248.95/165.43 new_pr2F0(vyv183, Pos(Succ(Succ(vyv222000))), vyv187, h) -> new_pr2F0G1(vyv187, vyv183, Succ(vyv222000), vyv222000, h) 248.95/165.43 new_pr2F0G1(vyv226, vyv227, vyv228, Succ(Succ(vyv22900)), ba) -> new_pr2F0G1(vyv226, vyv227, vyv228, vyv22900, ba) 248.95/165.43 new_pr2F0G1(vyv226, vyv227, vyv228, Succ(Zero), ba) -> new_pr2F(vyv227, vyv228, Pos(Succ(Zero)), vyv226, ba) 248.95/165.43 new_pr2F3(False, vyv227, vyv228, vyv244, vyv226, ba) -> new_pr2F0(vyv227, new_ms(vyv228, vyv244), new_sr2(vyv227, vyv226, ba), ba) 248.95/165.43 new_pr2F0(vyv183, Pos(Succ(Zero)), vyv187, h) -> new_pr2F(vyv183, Zero, Pos(Succ(Zero)), vyv187, h) 248.95/165.43 new_pr2F0G1(vyv226, vyv227, vyv228, Zero, ba) -> new_pr2F0G(vyv226, new_sr1(vyv227, ba), Pos(new_primDivNatS1(Succ(vyv228), Succ(Zero))), ba) 248.95/165.43 new_pr2F0G(vyv187, vyv183, Pos(Succ(Succ(vyv222000))), h) -> new_pr2F0G1(vyv187, vyv183, Succ(vyv222000), vyv222000, h) 248.95/165.43 new_pr2F0G(vyv187, vyv183, Pos(Succ(Zero)), h) -> new_pr2F(vyv183, Zero, Pos(Succ(Zero)), vyv187, h) 248.95/165.43 new_pr2F(z1, z2, Pos(Succ(Zero)), z0, z3) -> new_pr2F3(new_esEs(new_primMinusNat0(z2, Zero)), z1, z2, Pos(Succ(Zero)), z0, z3) 248.95/165.43 new_pr2F(z0, Zero, Pos(Succ(Zero)), z1, z2) -> new_pr2F3(new_esEs(Pos(Zero)), z0, Zero, Pos(Succ(Zero)), z1, z2) 248.95/165.43 248.95/165.43 The TRS R consists of the following rules: 248.95/165.43 248.95/165.43 new_sr1(vyv227, ty_Int) -> new_sr6(vyv227) 248.95/165.43 new_sr1(vyv227, ty_Integer) -> new_sr7(vyv227) 248.95/165.43 new_sr1(vyv227, app(ty_Ratio, be)) -> new_sr5(vyv227, be) 248.95/165.43 new_sr1(vyv227, ty_Float) -> new_sr10(vyv227) 248.95/165.43 new_sr1(vyv227, ty_Double) -> new_sr9(vyv227) 248.95/165.43 new_primDivNatS1(Succ(Zero), Succ(vyv284000)) -> Zero 248.95/165.43 new_primDivNatS1(Succ(Succ(vyv270000)), Succ(vyv284000)) -> new_primDivNatS02(vyv270000, vyv284000, vyv270000, vyv284000) 248.95/165.43 new_primDivNatS02(vyv310, vyv311, Zero, Zero) -> new_primDivNatS01(vyv310, vyv311) 248.95/165.43 new_primDivNatS02(vyv310, vyv311, Succ(vyv3120), Zero) -> new_primDivNatS01(vyv310, vyv311) 248.95/165.43 new_primDivNatS02(vyv310, vyv311, Zero, Succ(vyv3130)) -> Zero 248.95/165.43 new_primDivNatS02(vyv310, vyv311, Succ(vyv3120), Succ(vyv3130)) -> new_primDivNatS02(vyv310, vyv311, vyv3120, vyv3130) 248.95/165.43 new_primDivNatS01(vyv310, vyv311) -> Succ(new_primDivNatS1(new_primMinusNatS2(vyv310, vyv311), Succ(vyv311))) 248.95/165.43 new_primMinusNatS2(Zero, Succ(vyv3110)) -> Zero 248.95/165.43 new_primMinusNatS2(Succ(vyv3100), Zero) -> Succ(vyv3100) 248.95/165.43 new_primMinusNatS2(Zero, Zero) -> Zero 248.95/165.43 new_primMinusNatS2(Succ(vyv3100), Succ(vyv3110)) -> new_primMinusNatS2(vyv3100, vyv3110) 248.95/165.43 new_primDivNatS1(Zero, vyv28400) -> Zero 248.95/165.43 new_sr9(vyv183) -> error([]) 248.95/165.43 new_sr10(vyv183) -> error([]) 248.95/165.43 new_sr5(:%(vyv1830, vyv1831), bd) -> new_reduce2Reduce1(vyv1830, vyv1830, vyv1831, vyv1831, new_esEs0(vyv1831, bd), bd) 248.95/165.43 new_esEs0(vyv1831, ty_Int) -> new_esEs(new_sr6(vyv1831)) 248.95/165.43 new_esEs0(vyv1831, ty_Integer) -> new_esEs1(new_sr7(vyv1831)) 248.95/165.43 new_reduce2Reduce1(vyv264, vyv265, vyv266, vyv267, False, bh) -> :%(new_quot1(vyv264, vyv265, vyv266, vyv267, bh), new_quot2(vyv266, vyv267, vyv264, vyv265, bh)) 248.95/165.43 new_reduce2Reduce1(vyv264, vyv265, vyv266, vyv267, True, bh) -> error([]) 248.95/165.43 new_quot1(vyv264, vyv265, vyv266, vyv267, ty_Int) -> new_quot0(new_sr14(vyv264, vyv265), new_sr14(vyv264, vyv265), new_sr14(vyv266, vyv267)) 248.95/165.43 new_quot1(vyv264, vyv265, vyv266, vyv267, ty_Integer) -> new_quot(new_sr8(vyv264, vyv265), new_sr8(vyv264, vyv265), new_sr8(vyv266, vyv267)) 248.95/165.43 new_quot2(vyv266, vyv267, vyv264, vyv265, ty_Int) -> new_quot0(new_sr14(vyv266, vyv267), new_sr14(vyv264, vyv265), new_sr14(vyv266, vyv267)) 248.95/165.43 new_quot2(vyv266, vyv267, vyv264, vyv265, ty_Integer) -> new_quot(new_sr8(vyv266, vyv267), new_sr8(vyv264, vyv265), new_sr8(vyv266, vyv267)) 248.95/165.43 new_sr8(vyv239, vyv238) -> error([]) 248.95/165.43 new_quot(vyv273, vyv275, vyv274) -> error([]) 248.95/165.43 new_sr14(Pos(vyv2390), Neg(vyv2380)) -> Neg(new_primMulNat0(vyv2390, vyv2380)) 248.95/165.43 new_sr14(Neg(vyv2390), Pos(vyv2380)) -> Neg(new_primMulNat0(vyv2390, vyv2380)) 248.95/165.43 new_sr14(Neg(vyv2390), Neg(vyv2380)) -> Pos(new_primMulNat0(vyv2390, vyv2380)) 248.95/165.43 new_sr14(Pos(vyv2390), Pos(vyv2380)) -> Pos(new_primMulNat0(vyv2390, vyv2380)) 248.95/165.43 new_quot0(Neg(vyv2700), vyv272, vyv271) -> new_primQuotInt0(vyv2700, new_gcd(vyv272, vyv271)) 248.95/165.43 new_quot0(Pos(vyv2700), vyv272, vyv271) -> new_primQuotInt(vyv2700, new_gcd(vyv272, vyv271)) 248.95/165.43 new_gcd(vyv272, vyv271) -> new_gcd2(new_esEs(vyv272), vyv272, vyv271) 248.95/165.43 new_primQuotInt(vyv2700, Pos(Succ(vyv28400))) -> Pos(new_primDivNatS1(vyv2700, vyv28400)) 248.95/165.43 new_primQuotInt(vyv2700, Neg(Zero)) -> new_error 248.95/165.43 new_primQuotInt(vyv2700, Pos(Zero)) -> new_error 248.95/165.43 new_primQuotInt(vyv2700, Neg(Succ(vyv28400))) -> Neg(new_primDivNatS1(vyv2700, vyv28400)) 248.95/165.43 new_primDivNatS1(Succ(Succ(vyv270000)), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS0(vyv270000), Zero)) 248.95/165.43 new_primDivNatS1(Succ(Zero), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS1, Zero)) 248.95/165.43 new_primMinusNatS1 -> Zero 248.95/165.43 new_primMinusNatS0(vyv270000) -> Succ(vyv270000) 248.95/165.43 new_error -> error([]) 248.95/165.43 new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) 248.95/165.43 new_esEs(Pos(Succ(vyv24100))) -> new_primEqInt(Pos(Succ(vyv24100))) 248.95/165.43 new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) 248.95/165.43 new_esEs(Neg(Succ(vyv24100))) -> new_primEqInt(Neg(Succ(vyv24100))) 248.95/165.43 new_gcd2(True, vyv272, vyv271) -> new_gcd1(new_esEs(vyv271), vyv272, vyv271) 248.95/165.43 new_gcd2(False, vyv272, vyv271) -> new_gcd0(vyv272, vyv271) 248.95/165.43 new_gcd0(vyv272, vyv271) -> new_gcd0Gcd'10(new_esEs(new_abs(vyv271)), vyv272, vyv271) 248.95/165.43 new_abs(Neg(Zero)) -> Neg(Zero) 248.95/165.43 new_abs(Neg(Succ(vyv27100))) -> Pos(Succ(vyv27100)) 248.95/165.43 new_abs(Pos(Succ(vyv27100))) -> Pos(Succ(vyv27100)) 248.95/165.43 new_abs(Pos(Zero)) -> Pos(Zero) 248.95/165.43 new_gcd0Gcd'10(True, vyv272, vyv271) -> new_abs(vyv272) 248.95/165.43 new_gcd0Gcd'10(False, vyv272, vyv271) -> new_gcd0Gcd'00(new_abs(vyv272), new_abs(vyv271)) 248.95/165.43 new_gcd0Gcd'11(False, vyv291, vyv292) -> new_gcd0Gcd'00(vyv291, new_rem(vyv292, vyv291)) 248.95/165.43 new_gcd0Gcd'00(vyv292, vyv291) -> new_gcd0Gcd'11(new_esEs(new_rem(vyv292, vyv291)), vyv291, vyv292) 248.95/165.43 new_rem(Pos(vyv2920), Neg(Zero)) -> new_error 248.95/165.43 new_rem(Neg(vyv2920), Pos(Zero)) -> new_error 248.95/165.43 new_rem(Pos(vyv2920), Neg(Succ(vyv29100))) -> Pos(new_primModNatS1(vyv2920, vyv29100)) 248.95/165.43 new_rem(Neg(vyv2920), Pos(Succ(vyv29100))) -> Neg(new_primModNatS1(vyv2920, vyv29100)) 248.95/165.43 new_rem(Pos(vyv2920), Pos(Succ(vyv29100))) -> Pos(new_primModNatS1(vyv2920, vyv29100)) 248.95/165.43 new_rem(Neg(vyv2920), Neg(Zero)) -> new_error 248.95/165.43 new_rem(Neg(vyv2920), Neg(Succ(vyv29100))) -> Neg(new_primModNatS1(vyv2920, vyv29100)) 248.95/165.43 new_rem(Pos(vyv2920), Pos(Zero)) -> new_error 248.95/165.43 new_gcd0Gcd'11(True, vyv291, vyv292) -> vyv291 248.95/165.43 new_primModNatS1(Succ(Zero), Succ(vyv291000)) -> Succ(Zero) 248.95/165.43 new_primModNatS1(Zero, vyv29100) -> Zero 248.95/165.43 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 248.95/165.43 new_primModNatS1(Succ(Succ(vyv292000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv292000), Zero) 248.95/165.43 new_primModNatS1(Succ(Succ(vyv292000)), Succ(vyv291000)) -> new_primModNatS01(vyv292000, vyv291000, vyv292000, vyv291000) 248.95/165.43 new_primModNatS01(vyv330, vyv331, Zero, Zero) -> new_primModNatS02(vyv330, vyv331) 248.95/165.43 new_primModNatS02(vyv330, vyv331) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv330), Succ(vyv331)), Succ(vyv331)) 248.95/165.43 new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Zero) -> new_primModNatS02(vyv330, vyv331) 248.95/165.43 new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Succ(vyv3330)) -> new_primModNatS01(vyv330, vyv331, vyv3320, vyv3330) 248.95/165.43 new_primModNatS01(vyv330, vyv331, Zero, Succ(vyv3330)) -> Succ(Succ(vyv330)) 248.95/165.43 new_gcd1(True, vyv272, vyv271) -> new_error 248.95/165.43 new_gcd1(False, vyv272, vyv271) -> new_gcd0(vyv272, vyv271) 248.95/165.43 new_primEqInt(Neg(Succ(vyv242000))) -> False 248.95/165.43 new_primEqInt(Pos(Zero)) -> True 248.95/165.43 new_primEqInt(Pos(Succ(vyv242000))) -> False 248.95/165.43 new_primEqInt(Neg(Zero)) -> True 248.95/165.43 new_primQuotInt0(vyv2700, Pos(Succ(vyv28700))) -> Neg(new_primDivNatS1(vyv2700, vyv28700)) 248.95/165.43 new_primQuotInt0(vyv2700, Neg(Zero)) -> new_error 248.95/165.43 new_primQuotInt0(vyv2700, Neg(Succ(vyv28700))) -> Pos(new_primDivNatS1(vyv2700, vyv28700)) 248.95/165.43 new_primQuotInt0(vyv2700, Pos(Zero)) -> new_error 248.95/165.43 new_primMulNat0(Succ(vyv23900), Zero) -> Zero 248.95/165.43 new_primMulNat0(Zero, Succ(vyv23800)) -> Zero 248.95/165.43 new_primMulNat0(Zero, Zero) -> Zero 248.95/165.43 new_primMulNat0(Succ(vyv23900), Succ(vyv23800)) -> new_primPlusNat0(new_primMulNat0(vyv23900, Succ(vyv23800)), Succ(vyv23800)) 248.95/165.43 new_primPlusNat0(Succ(vyv4000), Succ(vyv5000)) -> Succ(Succ(new_primPlusNat0(vyv4000, vyv5000))) 248.95/165.43 new_primPlusNat0(Zero, Succ(vyv5000)) -> Succ(vyv5000) 248.95/165.43 new_primPlusNat0(Zero, Zero) -> Zero 248.95/165.43 new_primPlusNat0(Succ(vyv4000), Zero) -> Succ(vyv4000) 248.95/165.43 new_sr7(vyv183) -> error([]) 248.95/165.43 new_esEs1(Integer(vyv2690)) -> new_primEqInt(vyv2690) 248.95/165.43 new_sr6(Neg(vyv1830)) -> Pos(new_primMulNat1(vyv1830)) 248.95/165.43 new_sr6(Pos(vyv1830)) -> Pos(new_primMulNat1(vyv1830)) 248.95/165.43 new_primMulNat1(Succ(vyv18300)) -> new_primPlusNat0(new_primMulNat2(vyv18300), Succ(vyv18300)) 248.95/165.43 new_primMulNat1(Zero) -> Zero 248.95/165.43 new_primMulNat2(Succ(vyv183000)) -> new_primPlusNat0(new_primMulNat3(vyv183000), Succ(Succ(vyv183000))) 248.95/165.43 new_primMulNat2(Zero) -> Zero 248.95/165.43 new_primMulNat3(Succ(vyv1830000)) -> new_primPlusNat0(new_primMulNat4(vyv1830000), Succ(Succ(Succ(vyv1830000)))) 248.95/165.43 new_primMulNat3(Zero) -> Zero 248.95/165.43 new_primMulNat4(Succ(vyv18300000)) -> new_primPlusNat0(new_primMulNat0(vyv18300000, Succ(Succ(Succ(Succ(vyv18300000))))), Succ(Succ(Succ(Succ(vyv18300000))))) 248.95/165.43 new_primMulNat4(Zero) -> Zero 248.95/165.43 new_ms(vyv228, Neg(vyv2440)) -> Pos(new_primPlusNat0(Succ(vyv228), vyv2440)) 248.95/165.43 new_ms(vyv228, Pos(Succ(vyv24400))) -> new_primMinusNat0(vyv228, vyv24400) 248.95/165.43 new_ms(vyv228, Pos(Zero)) -> Pos(Succ(vyv228)) 248.95/165.43 new_sr2(vyv227, vyv226, ty_Int) -> new_sr14(vyv227, vyv226) 248.95/165.43 new_sr2(vyv227, vyv226, ty_Double) -> new_sr11(vyv227, vyv226) 248.95/165.43 new_sr2(vyv227, vyv226, ty_Integer) -> new_sr8(vyv227, vyv226) 248.95/165.43 new_sr2(vyv227, vyv226, ty_Float) -> new_sr13(vyv227, vyv226) 248.95/165.43 new_sr2(vyv227, vyv226, app(ty_Ratio, be)) -> new_sr12(vyv227, vyv226, be) 248.95/165.43 new_sr12(:%(vyv2390, vyv2391), :%(vyv2380, vyv2381), bf) -> new_reduce2Reduce1(vyv2390, vyv2380, vyv2391, vyv2381, new_esEs2(vyv2391, vyv2381, bf), bf) 248.95/165.43 new_esEs2(vyv2391, vyv2381, ty_Int) -> new_esEs(new_sr14(vyv2391, vyv2381)) 248.95/165.43 new_esEs2(vyv2391, vyv2381, ty_Integer) -> new_esEs1(new_sr8(vyv2391, vyv2381)) 248.95/165.43 new_sr13(vyv239, vyv238) -> error([]) 248.95/165.43 new_sr11(vyv239, vyv238) -> error([]) 248.95/165.43 new_primMinusNat0(Succ(vyv2280), Succ(vyv244000)) -> new_primMinusNat0(vyv2280, vyv244000) 248.95/165.43 new_primMinusNat0(Zero, Zero) -> Pos(Zero) 248.95/165.43 new_primMinusNat0(Zero, Succ(vyv244000)) -> Neg(Succ(vyv244000)) 248.95/165.43 new_primMinusNat0(Succ(vyv2280), Zero) -> Pos(Succ(vyv2280)) 248.95/165.43 248.95/165.43 The set Q consists of the following terms: 248.95/165.43 248.95/165.43 new_rem(Pos(x0), Pos(Succ(x1))) 248.95/165.43 new_quot1(x0, x1, x2, x3, ty_Integer) 248.95/165.43 new_primModNatS1(Succ(Zero), Succ(x0)) 248.95/165.43 new_primMulNat4(Zero) 248.95/165.43 new_gcd1(False, x0, x1) 248.95/165.43 new_primEqInt(Pos(Zero)) 248.95/165.43 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 248.95/165.43 new_rem(Pos(x0), Neg(Succ(x1))) 248.95/165.43 new_rem(Neg(x0), Pos(Succ(x1))) 248.95/165.43 new_sr10(x0) 248.95/165.43 new_quot1(x0, x1, x2, x3, ty_Int) 248.95/165.43 new_quot2(x0, x1, x2, x3, ty_Integer) 248.95/165.43 new_primModNatS01(x0, x1, Succ(x2), Zero) 248.95/165.43 new_primMulNat3(Zero) 248.95/165.43 new_primDivNatS02(x0, x1, Succ(x2), Zero) 248.95/165.43 new_quot2(x0, x1, x2, x3, ty_Int) 248.95/165.43 new_gcd2(False, x0, x1) 248.95/165.43 new_primDivNatS1(Succ(Zero), Zero) 248.95/165.43 new_esEs0(x0, ty_Int) 248.95/165.43 new_sr14(Pos(x0), Pos(x1)) 248.95/165.43 new_primMulNat0(Zero, Zero) 248.95/165.43 new_primPlusNat0(Succ(x0), Zero) 248.95/165.43 new_primMulNat2(Zero) 248.95/165.43 new_sr11(x0, x1) 248.95/165.43 new_primModNatS01(x0, x1, Zero, Zero) 248.95/165.43 new_esEs2(x0, x1, ty_Int) 248.95/165.43 new_gcd1(True, x0, x1) 248.95/165.43 new_sr13(x0, x1) 248.95/165.43 new_sr14(Pos(x0), Neg(x1)) 248.95/165.43 new_sr14(Neg(x0), Pos(x1)) 248.95/165.43 new_primDivNatS1(Succ(Succ(x0)), Succ(x1)) 248.95/165.43 new_sr1(x0, ty_Int) 248.95/165.43 new_primModNatS1(Zero, x0) 248.95/165.43 new_esEs(Pos(Succ(x0))) 248.95/165.43 new_primMulNat3(Succ(x0)) 248.95/165.43 new_sr1(x0, app(ty_Ratio, x1)) 248.95/165.43 new_primQuotInt(x0, Neg(Succ(x1))) 248.95/165.43 new_reduce2Reduce1(x0, x1, x2, x3, False, x4) 248.95/165.43 new_primMinusNat0(Zero, Zero) 248.95/165.43 new_primDivNatS1(Zero, x0) 248.95/165.43 new_primDivNatS02(x0, x1, Succ(x2), Succ(x3)) 248.95/165.43 new_primModNatS02(x0, x1) 248.95/165.43 new_primDivNatS1(Succ(Zero), Succ(x0)) 248.95/165.43 new_sr6(Neg(x0)) 248.95/165.43 new_gcd0Gcd'10(True, x0, x1) 248.95/165.43 new_primMulNat0(Succ(x0), Succ(x1)) 248.95/165.43 new_abs(Neg(Zero)) 248.95/165.43 new_ms(x0, Neg(x1)) 248.95/165.43 new_rem(Pos(x0), Neg(Zero)) 248.95/165.43 new_rem(Neg(x0), Pos(Zero)) 248.95/165.43 new_primMinusNatS2(Zero, Succ(x0)) 248.95/165.43 new_esEs(Neg(Succ(x0))) 248.95/165.43 new_error 248.95/165.43 new_primModNatS1(Succ(Zero), Zero) 248.95/165.43 new_primMulNat0(Zero, Succ(x0)) 248.95/165.43 new_quot(x0, x1, x2) 248.95/165.43 new_gcd2(True, x0, x1) 248.95/165.43 new_gcd0Gcd'11(True, x0, x1) 248.95/165.43 new_primEqInt(Neg(Zero)) 248.95/165.43 new_sr2(x0, x1, ty_Double) 248.95/165.43 new_primMulNat0(Succ(x0), Zero) 248.95/165.43 new_quot0(Neg(x0), x1, x2) 248.95/165.43 new_primMinusNatS2(Succ(x0), Succ(x1)) 248.95/165.43 new_sr8(x0, x1) 248.95/165.43 new_primDivNatS01(x0, x1) 248.95/165.43 new_primDivNatS02(x0, x1, Zero, Succ(x2)) 248.95/165.43 new_primPlusNat0(Succ(x0), Succ(x1)) 248.95/165.43 new_sr1(x0, ty_Integer) 248.95/165.43 new_primPlusNat0(Zero, Zero) 248.95/165.43 new_sr1(x0, ty_Float) 248.95/165.43 new_primMinusNat0(Succ(x0), Succ(x1)) 248.95/165.43 new_sr12(:%(x0, x1), :%(x2, x3), x4) 248.95/165.43 new_abs(Neg(Succ(x0))) 248.95/165.43 new_sr1(x0, ty_Double) 248.95/165.43 new_sr7(x0) 248.95/165.43 new_gcd0(x0, x1) 248.95/165.43 new_primQuotInt0(x0, Pos(Succ(x1))) 248.95/165.43 new_sr5(:%(x0, x1), x2) 248.95/165.43 new_primMinusNatS2(Zero, Zero) 248.95/165.43 new_primMulNat1(Succ(x0)) 248.95/165.43 new_ms(x0, Pos(Zero)) 248.95/165.43 new_abs(Pos(Succ(x0))) 248.95/165.43 new_esEs(Pos(Zero)) 248.95/165.43 new_primQuotInt0(x0, Pos(Zero)) 248.95/165.43 new_primEqInt(Neg(Succ(x0))) 248.95/165.43 new_primQuotInt(x0, Neg(Zero)) 248.95/165.43 new_primQuotInt0(x0, Neg(Zero)) 248.95/165.43 new_primQuotInt0(x0, Neg(Succ(x1))) 248.95/165.43 new_gcd(x0, x1) 248.95/165.43 new_quot0(Pos(x0), x1, x2) 248.95/165.43 new_primMinusNatS0(x0) 248.95/165.43 new_primPlusNat0(Zero, Succ(x0)) 248.95/165.43 new_sr2(x0, x1, app(ty_Ratio, x2)) 248.95/165.43 new_sr2(x0, x1, ty_Int) 248.95/165.43 new_primQuotInt(x0, Pos(Succ(x1))) 248.95/165.43 new_primDivNatS1(Succ(Succ(x0)), Zero) 248.95/165.43 new_rem(Pos(x0), Pos(Zero)) 248.95/165.43 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 248.95/165.43 new_primDivNatS02(x0, x1, Zero, Zero) 248.95/165.43 new_abs(Pos(Zero)) 248.95/165.43 new_gcd0Gcd'10(False, x0, x1) 248.95/165.43 new_ms(x0, Pos(Succ(x1))) 248.95/165.43 new_primMinusNatS1 248.95/165.43 new_esEs1(Integer(x0)) 248.95/165.43 new_primMinusNat0(Succ(x0), Zero) 248.95/165.43 new_sr2(x0, x1, ty_Integer) 248.95/165.43 new_primModNatS01(x0, x1, Zero, Succ(x2)) 248.95/165.43 new_primMulNat2(Succ(x0)) 248.95/165.43 new_sr14(Neg(x0), Neg(x1)) 248.95/165.43 new_sr2(x0, x1, ty_Float) 248.95/165.43 new_primMinusNatS2(Succ(x0), Zero) 248.95/165.43 new_sr6(Pos(x0)) 248.95/165.43 new_esEs2(x0, x1, ty_Integer) 248.95/165.43 new_primMulNat4(Succ(x0)) 248.95/165.43 new_rem(Neg(x0), Neg(Succ(x1))) 248.95/165.43 new_primEqInt(Pos(Succ(x0))) 248.95/165.43 new_primQuotInt(x0, Pos(Zero)) 248.95/165.43 new_gcd0Gcd'11(False, x0, x1) 248.95/165.43 new_sr9(x0) 248.95/165.43 new_primModNatS1(Succ(Succ(x0)), Zero) 248.95/165.43 new_esEs0(x0, ty_Integer) 248.95/165.43 new_gcd0Gcd'00(x0, x1) 248.95/165.43 new_reduce2Reduce1(x0, x1, x2, x3, True, x4) 248.95/165.43 new_esEs(Neg(Zero)) 248.95/165.43 new_primMulNat1(Zero) 248.95/165.43 new_primMinusNat0(Zero, Succ(x0)) 248.95/165.43 new_rem(Neg(x0), Neg(Zero)) 248.95/165.43 248.95/165.43 We have to consider all minimal (P,Q,R)-chains. 248.95/165.43 ---------------------------------------- 248.95/165.43 248.95/165.43 (897) DependencyGraphProof (EQUIVALENT) 248.95/165.43 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. 248.95/165.43 ---------------------------------------- 248.95/165.43 248.95/165.43 (898) 248.95/165.43 Obligation: 248.95/165.43 Q DP problem: 248.95/165.43 The TRS P consists of the following rules: 248.95/165.43 248.95/165.43 new_pr2F0G1(vyv226, vyv227, vyv228, Succ(Succ(vyv22900)), ba) -> new_pr2F0G1(vyv226, vyv227, vyv228, vyv22900, ba) 248.95/165.43 new_pr2F0G1(vyv226, vyv227, vyv228, Succ(Zero), ba) -> new_pr2F(vyv227, vyv228, Pos(Succ(Zero)), vyv226, ba) 248.95/165.43 new_pr2F(z1, z2, Pos(Succ(Zero)), z0, z3) -> new_pr2F3(new_esEs(new_primMinusNat0(z2, Zero)), z1, z2, Pos(Succ(Zero)), z0, z3) 248.95/165.43 new_pr2F3(False, vyv227, vyv228, vyv244, vyv226, ba) -> new_pr2F0(vyv227, new_ms(vyv228, vyv244), new_sr2(vyv227, vyv226, ba), ba) 248.95/165.43 new_pr2F0(vyv183, Pos(Succ(Succ(vyv222000))), vyv187, h) -> new_pr2F0G1(vyv187, vyv183, Succ(vyv222000), vyv222000, h) 248.95/165.43 new_pr2F0G1(vyv226, vyv227, vyv228, Zero, ba) -> new_pr2F0G(vyv226, new_sr1(vyv227, ba), Pos(new_primDivNatS1(Succ(vyv228), Succ(Zero))), ba) 248.95/165.43 new_pr2F0G(vyv187, vyv183, Pos(Succ(Succ(vyv222000))), h) -> new_pr2F0G1(vyv187, vyv183, Succ(vyv222000), vyv222000, h) 248.95/165.43 new_pr2F0G(vyv187, vyv183, Pos(Succ(Zero)), h) -> new_pr2F(vyv183, Zero, Pos(Succ(Zero)), vyv187, h) 248.95/165.43 new_pr2F0(vyv183, Pos(Succ(Zero)), vyv187, h) -> new_pr2F(vyv183, Zero, Pos(Succ(Zero)), vyv187, h) 248.95/165.43 248.95/165.43 The TRS R consists of the following rules: 248.95/165.43 248.95/165.43 new_sr1(vyv227, ty_Int) -> new_sr6(vyv227) 248.95/165.43 new_sr1(vyv227, ty_Integer) -> new_sr7(vyv227) 248.95/165.43 new_sr1(vyv227, app(ty_Ratio, be)) -> new_sr5(vyv227, be) 248.95/165.43 new_sr1(vyv227, ty_Float) -> new_sr10(vyv227) 248.95/165.43 new_sr1(vyv227, ty_Double) -> new_sr9(vyv227) 248.95/165.43 new_primDivNatS1(Succ(Zero), Succ(vyv284000)) -> Zero 248.95/165.43 new_primDivNatS1(Succ(Succ(vyv270000)), Succ(vyv284000)) -> new_primDivNatS02(vyv270000, vyv284000, vyv270000, vyv284000) 248.95/165.43 new_primDivNatS02(vyv310, vyv311, Zero, Zero) -> new_primDivNatS01(vyv310, vyv311) 248.95/165.43 new_primDivNatS02(vyv310, vyv311, Succ(vyv3120), Zero) -> new_primDivNatS01(vyv310, vyv311) 248.95/165.43 new_primDivNatS02(vyv310, vyv311, Zero, Succ(vyv3130)) -> Zero 248.95/165.43 new_primDivNatS02(vyv310, vyv311, Succ(vyv3120), Succ(vyv3130)) -> new_primDivNatS02(vyv310, vyv311, vyv3120, vyv3130) 248.95/165.43 new_primDivNatS01(vyv310, vyv311) -> Succ(new_primDivNatS1(new_primMinusNatS2(vyv310, vyv311), Succ(vyv311))) 248.95/165.43 new_primMinusNatS2(Zero, Succ(vyv3110)) -> Zero 248.95/165.43 new_primMinusNatS2(Succ(vyv3100), Zero) -> Succ(vyv3100) 248.95/165.43 new_primMinusNatS2(Zero, Zero) -> Zero 248.95/165.43 new_primMinusNatS2(Succ(vyv3100), Succ(vyv3110)) -> new_primMinusNatS2(vyv3100, vyv3110) 248.95/165.43 new_primDivNatS1(Zero, vyv28400) -> Zero 248.95/165.43 new_sr9(vyv183) -> error([]) 248.95/165.43 new_sr10(vyv183) -> error([]) 248.95/165.43 new_sr5(:%(vyv1830, vyv1831), bd) -> new_reduce2Reduce1(vyv1830, vyv1830, vyv1831, vyv1831, new_esEs0(vyv1831, bd), bd) 248.95/165.43 new_esEs0(vyv1831, ty_Int) -> new_esEs(new_sr6(vyv1831)) 248.95/165.43 new_esEs0(vyv1831, ty_Integer) -> new_esEs1(new_sr7(vyv1831)) 248.95/165.43 new_reduce2Reduce1(vyv264, vyv265, vyv266, vyv267, False, bh) -> :%(new_quot1(vyv264, vyv265, vyv266, vyv267, bh), new_quot2(vyv266, vyv267, vyv264, vyv265, bh)) 248.95/165.43 new_reduce2Reduce1(vyv264, vyv265, vyv266, vyv267, True, bh) -> error([]) 248.95/165.43 new_quot1(vyv264, vyv265, vyv266, vyv267, ty_Int) -> new_quot0(new_sr14(vyv264, vyv265), new_sr14(vyv264, vyv265), new_sr14(vyv266, vyv267)) 248.95/165.43 new_quot1(vyv264, vyv265, vyv266, vyv267, ty_Integer) -> new_quot(new_sr8(vyv264, vyv265), new_sr8(vyv264, vyv265), new_sr8(vyv266, vyv267)) 248.95/165.43 new_quot2(vyv266, vyv267, vyv264, vyv265, ty_Int) -> new_quot0(new_sr14(vyv266, vyv267), new_sr14(vyv264, vyv265), new_sr14(vyv266, vyv267)) 248.95/165.43 new_quot2(vyv266, vyv267, vyv264, vyv265, ty_Integer) -> new_quot(new_sr8(vyv266, vyv267), new_sr8(vyv264, vyv265), new_sr8(vyv266, vyv267)) 248.95/165.43 new_sr8(vyv239, vyv238) -> error([]) 248.95/165.43 new_quot(vyv273, vyv275, vyv274) -> error([]) 248.95/165.43 new_sr14(Pos(vyv2390), Neg(vyv2380)) -> Neg(new_primMulNat0(vyv2390, vyv2380)) 248.95/165.43 new_sr14(Neg(vyv2390), Pos(vyv2380)) -> Neg(new_primMulNat0(vyv2390, vyv2380)) 248.95/165.43 new_sr14(Neg(vyv2390), Neg(vyv2380)) -> Pos(new_primMulNat0(vyv2390, vyv2380)) 248.95/165.43 new_sr14(Pos(vyv2390), Pos(vyv2380)) -> Pos(new_primMulNat0(vyv2390, vyv2380)) 248.95/165.43 new_quot0(Neg(vyv2700), vyv272, vyv271) -> new_primQuotInt0(vyv2700, new_gcd(vyv272, vyv271)) 248.95/165.43 new_quot0(Pos(vyv2700), vyv272, vyv271) -> new_primQuotInt(vyv2700, new_gcd(vyv272, vyv271)) 248.95/165.43 new_gcd(vyv272, vyv271) -> new_gcd2(new_esEs(vyv272), vyv272, vyv271) 248.95/165.43 new_primQuotInt(vyv2700, Pos(Succ(vyv28400))) -> Pos(new_primDivNatS1(vyv2700, vyv28400)) 248.95/165.43 new_primQuotInt(vyv2700, Neg(Zero)) -> new_error 248.95/165.43 new_primQuotInt(vyv2700, Pos(Zero)) -> new_error 248.95/165.43 new_primQuotInt(vyv2700, Neg(Succ(vyv28400))) -> Neg(new_primDivNatS1(vyv2700, vyv28400)) 248.95/165.43 new_primDivNatS1(Succ(Succ(vyv270000)), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS0(vyv270000), Zero)) 248.95/165.43 new_primDivNatS1(Succ(Zero), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS1, Zero)) 248.95/165.43 new_primMinusNatS1 -> Zero 248.95/165.43 new_primMinusNatS0(vyv270000) -> Succ(vyv270000) 248.95/165.43 new_error -> error([]) 248.95/165.43 new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) 248.95/165.43 new_esEs(Pos(Succ(vyv24100))) -> new_primEqInt(Pos(Succ(vyv24100))) 248.95/165.43 new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) 248.95/165.43 new_esEs(Neg(Succ(vyv24100))) -> new_primEqInt(Neg(Succ(vyv24100))) 248.95/165.43 new_gcd2(True, vyv272, vyv271) -> new_gcd1(new_esEs(vyv271), vyv272, vyv271) 248.95/165.43 new_gcd2(False, vyv272, vyv271) -> new_gcd0(vyv272, vyv271) 248.95/165.43 new_gcd0(vyv272, vyv271) -> new_gcd0Gcd'10(new_esEs(new_abs(vyv271)), vyv272, vyv271) 248.95/165.43 new_abs(Neg(Zero)) -> Neg(Zero) 248.95/165.43 new_abs(Neg(Succ(vyv27100))) -> Pos(Succ(vyv27100)) 248.95/165.43 new_abs(Pos(Succ(vyv27100))) -> Pos(Succ(vyv27100)) 248.95/165.43 new_abs(Pos(Zero)) -> Pos(Zero) 248.95/165.43 new_gcd0Gcd'10(True, vyv272, vyv271) -> new_abs(vyv272) 248.95/165.43 new_gcd0Gcd'10(False, vyv272, vyv271) -> new_gcd0Gcd'00(new_abs(vyv272), new_abs(vyv271)) 248.95/165.43 new_gcd0Gcd'11(False, vyv291, vyv292) -> new_gcd0Gcd'00(vyv291, new_rem(vyv292, vyv291)) 248.95/165.43 new_gcd0Gcd'00(vyv292, vyv291) -> new_gcd0Gcd'11(new_esEs(new_rem(vyv292, vyv291)), vyv291, vyv292) 248.95/165.43 new_rem(Pos(vyv2920), Neg(Zero)) -> new_error 248.95/165.43 new_rem(Neg(vyv2920), Pos(Zero)) -> new_error 248.95/165.43 new_rem(Pos(vyv2920), Neg(Succ(vyv29100))) -> Pos(new_primModNatS1(vyv2920, vyv29100)) 248.95/165.43 new_rem(Neg(vyv2920), Pos(Succ(vyv29100))) -> Neg(new_primModNatS1(vyv2920, vyv29100)) 248.95/165.43 new_rem(Pos(vyv2920), Pos(Succ(vyv29100))) -> Pos(new_primModNatS1(vyv2920, vyv29100)) 248.95/165.43 new_rem(Neg(vyv2920), Neg(Zero)) -> new_error 248.95/165.43 new_rem(Neg(vyv2920), Neg(Succ(vyv29100))) -> Neg(new_primModNatS1(vyv2920, vyv29100)) 248.95/165.43 new_rem(Pos(vyv2920), Pos(Zero)) -> new_error 248.95/165.43 new_gcd0Gcd'11(True, vyv291, vyv292) -> vyv291 248.95/165.43 new_primModNatS1(Succ(Zero), Succ(vyv291000)) -> Succ(Zero) 248.95/165.43 new_primModNatS1(Zero, vyv29100) -> Zero 248.95/165.43 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 248.95/165.43 new_primModNatS1(Succ(Succ(vyv292000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv292000), Zero) 248.95/165.43 new_primModNatS1(Succ(Succ(vyv292000)), Succ(vyv291000)) -> new_primModNatS01(vyv292000, vyv291000, vyv292000, vyv291000) 248.95/165.43 new_primModNatS01(vyv330, vyv331, Zero, Zero) -> new_primModNatS02(vyv330, vyv331) 248.95/165.43 new_primModNatS02(vyv330, vyv331) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv330), Succ(vyv331)), Succ(vyv331)) 248.95/165.43 new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Zero) -> new_primModNatS02(vyv330, vyv331) 248.95/165.43 new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Succ(vyv3330)) -> new_primModNatS01(vyv330, vyv331, vyv3320, vyv3330) 248.95/165.43 new_primModNatS01(vyv330, vyv331, Zero, Succ(vyv3330)) -> Succ(Succ(vyv330)) 248.95/165.43 new_gcd1(True, vyv272, vyv271) -> new_error 248.95/165.43 new_gcd1(False, vyv272, vyv271) -> new_gcd0(vyv272, vyv271) 248.95/165.43 new_primEqInt(Neg(Succ(vyv242000))) -> False 248.95/165.43 new_primEqInt(Pos(Zero)) -> True 248.95/165.43 new_primEqInt(Pos(Succ(vyv242000))) -> False 248.95/165.43 new_primEqInt(Neg(Zero)) -> True 248.95/165.43 new_primQuotInt0(vyv2700, Pos(Succ(vyv28700))) -> Neg(new_primDivNatS1(vyv2700, vyv28700)) 248.95/165.43 new_primQuotInt0(vyv2700, Neg(Zero)) -> new_error 248.95/165.43 new_primQuotInt0(vyv2700, Neg(Succ(vyv28700))) -> Pos(new_primDivNatS1(vyv2700, vyv28700)) 248.95/165.43 new_primQuotInt0(vyv2700, Pos(Zero)) -> new_error 248.95/165.43 new_primMulNat0(Succ(vyv23900), Zero) -> Zero 248.95/165.43 new_primMulNat0(Zero, Succ(vyv23800)) -> Zero 248.95/165.43 new_primMulNat0(Zero, Zero) -> Zero 248.95/165.43 new_primMulNat0(Succ(vyv23900), Succ(vyv23800)) -> new_primPlusNat0(new_primMulNat0(vyv23900, Succ(vyv23800)), Succ(vyv23800)) 248.95/165.43 new_primPlusNat0(Succ(vyv4000), Succ(vyv5000)) -> Succ(Succ(new_primPlusNat0(vyv4000, vyv5000))) 248.95/165.43 new_primPlusNat0(Zero, Succ(vyv5000)) -> Succ(vyv5000) 248.95/165.43 new_primPlusNat0(Zero, Zero) -> Zero 248.95/165.43 new_primPlusNat0(Succ(vyv4000), Zero) -> Succ(vyv4000) 248.95/165.43 new_sr7(vyv183) -> error([]) 248.95/165.43 new_esEs1(Integer(vyv2690)) -> new_primEqInt(vyv2690) 248.95/165.43 new_sr6(Neg(vyv1830)) -> Pos(new_primMulNat1(vyv1830)) 248.95/165.43 new_sr6(Pos(vyv1830)) -> Pos(new_primMulNat1(vyv1830)) 248.95/165.43 new_primMulNat1(Succ(vyv18300)) -> new_primPlusNat0(new_primMulNat2(vyv18300), Succ(vyv18300)) 248.95/165.43 new_primMulNat1(Zero) -> Zero 248.95/165.43 new_primMulNat2(Succ(vyv183000)) -> new_primPlusNat0(new_primMulNat3(vyv183000), Succ(Succ(vyv183000))) 248.95/165.43 new_primMulNat2(Zero) -> Zero 248.95/165.43 new_primMulNat3(Succ(vyv1830000)) -> new_primPlusNat0(new_primMulNat4(vyv1830000), Succ(Succ(Succ(vyv1830000)))) 248.95/165.43 new_primMulNat3(Zero) -> Zero 248.95/165.43 new_primMulNat4(Succ(vyv18300000)) -> new_primPlusNat0(new_primMulNat0(vyv18300000, Succ(Succ(Succ(Succ(vyv18300000))))), Succ(Succ(Succ(Succ(vyv18300000))))) 248.95/165.43 new_primMulNat4(Zero) -> Zero 248.95/165.43 new_ms(vyv228, Neg(vyv2440)) -> Pos(new_primPlusNat0(Succ(vyv228), vyv2440)) 248.95/165.43 new_ms(vyv228, Pos(Succ(vyv24400))) -> new_primMinusNat0(vyv228, vyv24400) 248.95/165.43 new_ms(vyv228, Pos(Zero)) -> Pos(Succ(vyv228)) 248.95/165.43 new_sr2(vyv227, vyv226, ty_Int) -> new_sr14(vyv227, vyv226) 248.95/165.43 new_sr2(vyv227, vyv226, ty_Double) -> new_sr11(vyv227, vyv226) 248.95/165.43 new_sr2(vyv227, vyv226, ty_Integer) -> new_sr8(vyv227, vyv226) 248.95/165.43 new_sr2(vyv227, vyv226, ty_Float) -> new_sr13(vyv227, vyv226) 248.95/165.43 new_sr2(vyv227, vyv226, app(ty_Ratio, be)) -> new_sr12(vyv227, vyv226, be) 248.95/165.43 new_sr12(:%(vyv2390, vyv2391), :%(vyv2380, vyv2381), bf) -> new_reduce2Reduce1(vyv2390, vyv2380, vyv2391, vyv2381, new_esEs2(vyv2391, vyv2381, bf), bf) 248.95/165.43 new_esEs2(vyv2391, vyv2381, ty_Int) -> new_esEs(new_sr14(vyv2391, vyv2381)) 248.95/165.43 new_esEs2(vyv2391, vyv2381, ty_Integer) -> new_esEs1(new_sr8(vyv2391, vyv2381)) 248.95/165.43 new_sr13(vyv239, vyv238) -> error([]) 248.95/165.43 new_sr11(vyv239, vyv238) -> error([]) 248.95/165.43 new_primMinusNat0(Succ(vyv2280), Succ(vyv244000)) -> new_primMinusNat0(vyv2280, vyv244000) 248.95/165.43 new_primMinusNat0(Zero, Zero) -> Pos(Zero) 248.95/165.43 new_primMinusNat0(Zero, Succ(vyv244000)) -> Neg(Succ(vyv244000)) 248.95/165.43 new_primMinusNat0(Succ(vyv2280), Zero) -> Pos(Succ(vyv2280)) 248.95/165.43 248.95/165.43 The set Q consists of the following terms: 248.95/165.43 248.95/165.43 new_rem(Pos(x0), Pos(Succ(x1))) 248.95/165.43 new_quot1(x0, x1, x2, x3, ty_Integer) 248.95/165.43 new_primModNatS1(Succ(Zero), Succ(x0)) 248.95/165.43 new_primMulNat4(Zero) 248.95/165.43 new_gcd1(False, x0, x1) 248.95/165.43 new_primEqInt(Pos(Zero)) 248.95/165.43 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 248.95/165.43 new_rem(Pos(x0), Neg(Succ(x1))) 248.95/165.43 new_rem(Neg(x0), Pos(Succ(x1))) 248.95/165.43 new_sr10(x0) 248.95/165.43 new_quot1(x0, x1, x2, x3, ty_Int) 248.95/165.43 new_quot2(x0, x1, x2, x3, ty_Integer) 248.95/165.43 new_primModNatS01(x0, x1, Succ(x2), Zero) 248.95/165.43 new_primMulNat3(Zero) 248.95/165.43 new_primDivNatS02(x0, x1, Succ(x2), Zero) 248.95/165.43 new_quot2(x0, x1, x2, x3, ty_Int) 248.95/165.43 new_gcd2(False, x0, x1) 248.95/165.43 new_primDivNatS1(Succ(Zero), Zero) 248.95/165.43 new_esEs0(x0, ty_Int) 248.95/165.43 new_sr14(Pos(x0), Pos(x1)) 248.95/165.43 new_primMulNat0(Zero, Zero) 248.95/165.43 new_primPlusNat0(Succ(x0), Zero) 248.95/165.43 new_primMulNat2(Zero) 248.95/165.43 new_sr11(x0, x1) 248.95/165.43 new_primModNatS01(x0, x1, Zero, Zero) 248.95/165.43 new_esEs2(x0, x1, ty_Int) 248.95/165.43 new_gcd1(True, x0, x1) 248.95/165.43 new_sr13(x0, x1) 248.95/165.43 new_sr14(Pos(x0), Neg(x1)) 248.95/165.43 new_sr14(Neg(x0), Pos(x1)) 248.95/165.43 new_primDivNatS1(Succ(Succ(x0)), Succ(x1)) 248.95/165.43 new_sr1(x0, ty_Int) 248.95/165.43 new_primModNatS1(Zero, x0) 248.95/165.43 new_esEs(Pos(Succ(x0))) 248.95/165.43 new_primMulNat3(Succ(x0)) 248.95/165.43 new_sr1(x0, app(ty_Ratio, x1)) 248.95/165.43 new_primQuotInt(x0, Neg(Succ(x1))) 248.95/165.43 new_reduce2Reduce1(x0, x1, x2, x3, False, x4) 248.95/165.43 new_primMinusNat0(Zero, Zero) 248.95/165.43 new_primDivNatS1(Zero, x0) 248.95/165.43 new_primDivNatS02(x0, x1, Succ(x2), Succ(x3)) 248.95/165.43 new_primModNatS02(x0, x1) 248.95/165.43 new_primDivNatS1(Succ(Zero), Succ(x0)) 248.95/165.43 new_sr6(Neg(x0)) 248.95/165.43 new_gcd0Gcd'10(True, x0, x1) 248.95/165.43 new_primMulNat0(Succ(x0), Succ(x1)) 248.95/165.43 new_abs(Neg(Zero)) 248.95/165.43 new_ms(x0, Neg(x1)) 248.95/165.43 new_rem(Pos(x0), Neg(Zero)) 248.95/165.43 new_rem(Neg(x0), Pos(Zero)) 248.95/165.43 new_primMinusNatS2(Zero, Succ(x0)) 248.95/165.43 new_esEs(Neg(Succ(x0))) 248.95/165.43 new_error 248.95/165.43 new_primModNatS1(Succ(Zero), Zero) 248.95/165.43 new_primMulNat0(Zero, Succ(x0)) 248.95/165.43 new_quot(x0, x1, x2) 248.95/165.43 new_gcd2(True, x0, x1) 248.95/165.43 new_gcd0Gcd'11(True, x0, x1) 248.95/165.43 new_primEqInt(Neg(Zero)) 248.95/165.43 new_sr2(x0, x1, ty_Double) 248.95/165.43 new_primMulNat0(Succ(x0), Zero) 248.95/165.43 new_quot0(Neg(x0), x1, x2) 248.95/165.43 new_primMinusNatS2(Succ(x0), Succ(x1)) 248.95/165.43 new_sr8(x0, x1) 248.95/165.43 new_primDivNatS01(x0, x1) 248.95/165.43 new_primDivNatS02(x0, x1, Zero, Succ(x2)) 248.95/165.43 new_primPlusNat0(Succ(x0), Succ(x1)) 248.95/165.43 new_sr1(x0, ty_Integer) 248.95/165.43 new_primPlusNat0(Zero, Zero) 248.95/165.43 new_sr1(x0, ty_Float) 248.95/165.43 new_primMinusNat0(Succ(x0), Succ(x1)) 248.95/165.43 new_sr12(:%(x0, x1), :%(x2, x3), x4) 248.95/165.43 new_abs(Neg(Succ(x0))) 248.95/165.43 new_sr1(x0, ty_Double) 248.95/165.43 new_sr7(x0) 248.95/165.43 new_gcd0(x0, x1) 248.95/165.43 new_primQuotInt0(x0, Pos(Succ(x1))) 248.95/165.43 new_sr5(:%(x0, x1), x2) 248.95/165.43 new_primMinusNatS2(Zero, Zero) 248.95/165.43 new_primMulNat1(Succ(x0)) 248.95/165.43 new_ms(x0, Pos(Zero)) 248.95/165.43 new_abs(Pos(Succ(x0))) 248.95/165.43 new_esEs(Pos(Zero)) 248.95/165.43 new_primQuotInt0(x0, Pos(Zero)) 248.95/165.43 new_primEqInt(Neg(Succ(x0))) 248.95/165.43 new_primQuotInt(x0, Neg(Zero)) 248.95/165.43 new_primQuotInt0(x0, Neg(Zero)) 248.95/165.43 new_primQuotInt0(x0, Neg(Succ(x1))) 248.95/165.43 new_gcd(x0, x1) 248.95/165.43 new_quot0(Pos(x0), x1, x2) 248.95/165.43 new_primMinusNatS0(x0) 248.95/165.43 new_primPlusNat0(Zero, Succ(x0)) 248.95/165.43 new_sr2(x0, x1, app(ty_Ratio, x2)) 248.95/165.43 new_sr2(x0, x1, ty_Int) 248.95/165.43 new_primQuotInt(x0, Pos(Succ(x1))) 248.95/165.43 new_primDivNatS1(Succ(Succ(x0)), Zero) 248.95/165.43 new_rem(Pos(x0), Pos(Zero)) 248.95/165.43 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 248.95/165.43 new_primDivNatS02(x0, x1, Zero, Zero) 248.95/165.43 new_abs(Pos(Zero)) 248.95/165.43 new_gcd0Gcd'10(False, x0, x1) 248.95/165.43 new_ms(x0, Pos(Succ(x1))) 248.95/165.43 new_primMinusNatS1 248.95/165.43 new_esEs1(Integer(x0)) 248.95/165.43 new_primMinusNat0(Succ(x0), Zero) 248.95/165.43 new_sr2(x0, x1, ty_Integer) 248.95/165.43 new_primModNatS01(x0, x1, Zero, Succ(x2)) 248.95/165.43 new_primMulNat2(Succ(x0)) 248.95/165.43 new_sr14(Neg(x0), Neg(x1)) 248.95/165.43 new_sr2(x0, x1, ty_Float) 248.95/165.43 new_primMinusNatS2(Succ(x0), Zero) 248.95/165.43 new_sr6(Pos(x0)) 248.95/165.43 new_esEs2(x0, x1, ty_Integer) 248.95/165.43 new_primMulNat4(Succ(x0)) 248.95/165.43 new_rem(Neg(x0), Neg(Succ(x1))) 248.95/165.43 new_primEqInt(Pos(Succ(x0))) 248.95/165.43 new_primQuotInt(x0, Pos(Zero)) 248.95/165.43 new_gcd0Gcd'11(False, x0, x1) 248.95/165.43 new_sr9(x0) 248.95/165.43 new_primModNatS1(Succ(Succ(x0)), Zero) 248.95/165.43 new_esEs0(x0, ty_Integer) 248.95/165.43 new_gcd0Gcd'00(x0, x1) 248.95/165.43 new_reduce2Reduce1(x0, x1, x2, x3, True, x4) 248.95/165.43 new_esEs(Neg(Zero)) 248.95/165.43 new_primMulNat1(Zero) 248.95/165.43 new_primMinusNat0(Zero, Succ(x0)) 248.95/165.43 new_rem(Neg(x0), Neg(Zero)) 248.95/165.43 248.95/165.43 We have to consider all minimal (P,Q,R)-chains. 248.95/165.43 ---------------------------------------- 248.95/165.43 248.95/165.43 (899) TransformationProof (EQUIVALENT) 248.95/165.43 By narrowing [LPAR04] the rule new_pr2F(z1, z2, Pos(Succ(Zero)), z0, z3) -> new_pr2F3(new_esEs(new_primMinusNat0(z2, Zero)), z1, z2, Pos(Succ(Zero)), z0, z3) at position [0] we obtained the following new rules [LPAR04]: 248.95/165.43 248.95/165.43 (new_pr2F(y0, Zero, Pos(Succ(Zero)), y2, y3) -> new_pr2F3(new_esEs(Pos(Zero)), y0, Zero, Pos(Succ(Zero)), y2, y3),new_pr2F(y0, Zero, Pos(Succ(Zero)), y2, y3) -> new_pr2F3(new_esEs(Pos(Zero)), y0, Zero, Pos(Succ(Zero)), y2, y3)) 248.95/165.43 (new_pr2F(y0, Succ(x0), Pos(Succ(Zero)), y2, y3) -> new_pr2F3(new_esEs(Pos(Succ(x0))), y0, Succ(x0), Pos(Succ(Zero)), y2, y3),new_pr2F(y0, Succ(x0), Pos(Succ(Zero)), y2, y3) -> new_pr2F3(new_esEs(Pos(Succ(x0))), y0, Succ(x0), Pos(Succ(Zero)), y2, y3)) 248.95/165.43 248.95/165.43 248.95/165.43 ---------------------------------------- 248.95/165.43 248.95/165.43 (900) 248.95/165.43 Obligation: 248.95/165.43 Q DP problem: 248.95/165.43 The TRS P consists of the following rules: 248.95/165.43 248.95/165.43 new_pr2F0G1(vyv226, vyv227, vyv228, Succ(Succ(vyv22900)), ba) -> new_pr2F0G1(vyv226, vyv227, vyv228, vyv22900, ba) 248.95/165.43 new_pr2F0G1(vyv226, vyv227, vyv228, Succ(Zero), ba) -> new_pr2F(vyv227, vyv228, Pos(Succ(Zero)), vyv226, ba) 248.95/165.43 new_pr2F3(False, vyv227, vyv228, vyv244, vyv226, ba) -> new_pr2F0(vyv227, new_ms(vyv228, vyv244), new_sr2(vyv227, vyv226, ba), ba) 248.95/165.43 new_pr2F0(vyv183, Pos(Succ(Succ(vyv222000))), vyv187, h) -> new_pr2F0G1(vyv187, vyv183, Succ(vyv222000), vyv222000, h) 248.95/165.43 new_pr2F0G1(vyv226, vyv227, vyv228, Zero, ba) -> new_pr2F0G(vyv226, new_sr1(vyv227, ba), Pos(new_primDivNatS1(Succ(vyv228), Succ(Zero))), ba) 248.95/165.43 new_pr2F0G(vyv187, vyv183, Pos(Succ(Succ(vyv222000))), h) -> new_pr2F0G1(vyv187, vyv183, Succ(vyv222000), vyv222000, h) 248.95/165.43 new_pr2F0G(vyv187, vyv183, Pos(Succ(Zero)), h) -> new_pr2F(vyv183, Zero, Pos(Succ(Zero)), vyv187, h) 248.95/165.43 new_pr2F0(vyv183, Pos(Succ(Zero)), vyv187, h) -> new_pr2F(vyv183, Zero, Pos(Succ(Zero)), vyv187, h) 248.95/165.43 new_pr2F(y0, Zero, Pos(Succ(Zero)), y2, y3) -> new_pr2F3(new_esEs(Pos(Zero)), y0, Zero, Pos(Succ(Zero)), y2, y3) 248.95/165.43 new_pr2F(y0, Succ(x0), Pos(Succ(Zero)), y2, y3) -> new_pr2F3(new_esEs(Pos(Succ(x0))), y0, Succ(x0), Pos(Succ(Zero)), y2, y3) 248.95/165.43 248.95/165.43 The TRS R consists of the following rules: 248.95/165.43 248.95/165.43 new_sr1(vyv227, ty_Int) -> new_sr6(vyv227) 248.95/165.43 new_sr1(vyv227, ty_Integer) -> new_sr7(vyv227) 248.95/165.43 new_sr1(vyv227, app(ty_Ratio, be)) -> new_sr5(vyv227, be) 248.95/165.43 new_sr1(vyv227, ty_Float) -> new_sr10(vyv227) 248.95/165.43 new_sr1(vyv227, ty_Double) -> new_sr9(vyv227) 248.95/165.43 new_primDivNatS1(Succ(Zero), Succ(vyv284000)) -> Zero 248.95/165.43 new_primDivNatS1(Succ(Succ(vyv270000)), Succ(vyv284000)) -> new_primDivNatS02(vyv270000, vyv284000, vyv270000, vyv284000) 248.95/165.43 new_primDivNatS02(vyv310, vyv311, Zero, Zero) -> new_primDivNatS01(vyv310, vyv311) 248.95/165.43 new_primDivNatS02(vyv310, vyv311, Succ(vyv3120), Zero) -> new_primDivNatS01(vyv310, vyv311) 248.95/165.43 new_primDivNatS02(vyv310, vyv311, Zero, Succ(vyv3130)) -> Zero 248.95/165.43 new_primDivNatS02(vyv310, vyv311, Succ(vyv3120), Succ(vyv3130)) -> new_primDivNatS02(vyv310, vyv311, vyv3120, vyv3130) 248.95/165.43 new_primDivNatS01(vyv310, vyv311) -> Succ(new_primDivNatS1(new_primMinusNatS2(vyv310, vyv311), Succ(vyv311))) 248.95/165.43 new_primMinusNatS2(Zero, Succ(vyv3110)) -> Zero 248.95/165.43 new_primMinusNatS2(Succ(vyv3100), Zero) -> Succ(vyv3100) 248.95/165.43 new_primMinusNatS2(Zero, Zero) -> Zero 248.95/165.43 new_primMinusNatS2(Succ(vyv3100), Succ(vyv3110)) -> new_primMinusNatS2(vyv3100, vyv3110) 248.95/165.43 new_primDivNatS1(Zero, vyv28400) -> Zero 248.95/165.43 new_sr9(vyv183) -> error([]) 248.95/165.43 new_sr10(vyv183) -> error([]) 248.95/165.43 new_sr5(:%(vyv1830, vyv1831), bd) -> new_reduce2Reduce1(vyv1830, vyv1830, vyv1831, vyv1831, new_esEs0(vyv1831, bd), bd) 248.95/165.43 new_esEs0(vyv1831, ty_Int) -> new_esEs(new_sr6(vyv1831)) 248.95/165.43 new_esEs0(vyv1831, ty_Integer) -> new_esEs1(new_sr7(vyv1831)) 248.95/165.43 new_reduce2Reduce1(vyv264, vyv265, vyv266, vyv267, False, bh) -> :%(new_quot1(vyv264, vyv265, vyv266, vyv267, bh), new_quot2(vyv266, vyv267, vyv264, vyv265, bh)) 248.95/165.43 new_reduce2Reduce1(vyv264, vyv265, vyv266, vyv267, True, bh) -> error([]) 248.95/165.43 new_quot1(vyv264, vyv265, vyv266, vyv267, ty_Int) -> new_quot0(new_sr14(vyv264, vyv265), new_sr14(vyv264, vyv265), new_sr14(vyv266, vyv267)) 248.95/165.43 new_quot1(vyv264, vyv265, vyv266, vyv267, ty_Integer) -> new_quot(new_sr8(vyv264, vyv265), new_sr8(vyv264, vyv265), new_sr8(vyv266, vyv267)) 248.95/165.43 new_quot2(vyv266, vyv267, vyv264, vyv265, ty_Int) -> new_quot0(new_sr14(vyv266, vyv267), new_sr14(vyv264, vyv265), new_sr14(vyv266, vyv267)) 248.95/165.43 new_quot2(vyv266, vyv267, vyv264, vyv265, ty_Integer) -> new_quot(new_sr8(vyv266, vyv267), new_sr8(vyv264, vyv265), new_sr8(vyv266, vyv267)) 248.95/165.43 new_sr8(vyv239, vyv238) -> error([]) 248.95/165.43 new_quot(vyv273, vyv275, vyv274) -> error([]) 248.95/165.43 new_sr14(Pos(vyv2390), Neg(vyv2380)) -> Neg(new_primMulNat0(vyv2390, vyv2380)) 248.95/165.43 new_sr14(Neg(vyv2390), Pos(vyv2380)) -> Neg(new_primMulNat0(vyv2390, vyv2380)) 248.95/165.43 new_sr14(Neg(vyv2390), Neg(vyv2380)) -> Pos(new_primMulNat0(vyv2390, vyv2380)) 248.95/165.43 new_sr14(Pos(vyv2390), Pos(vyv2380)) -> Pos(new_primMulNat0(vyv2390, vyv2380)) 248.95/165.43 new_quot0(Neg(vyv2700), vyv272, vyv271) -> new_primQuotInt0(vyv2700, new_gcd(vyv272, vyv271)) 248.95/165.43 new_quot0(Pos(vyv2700), vyv272, vyv271) -> new_primQuotInt(vyv2700, new_gcd(vyv272, vyv271)) 248.95/165.43 new_gcd(vyv272, vyv271) -> new_gcd2(new_esEs(vyv272), vyv272, vyv271) 248.95/165.43 new_primQuotInt(vyv2700, Pos(Succ(vyv28400))) -> Pos(new_primDivNatS1(vyv2700, vyv28400)) 248.95/165.43 new_primQuotInt(vyv2700, Neg(Zero)) -> new_error 248.95/165.43 new_primQuotInt(vyv2700, Pos(Zero)) -> new_error 248.95/165.43 new_primQuotInt(vyv2700, Neg(Succ(vyv28400))) -> Neg(new_primDivNatS1(vyv2700, vyv28400)) 248.95/165.43 new_primDivNatS1(Succ(Succ(vyv270000)), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS0(vyv270000), Zero)) 248.95/165.43 new_primDivNatS1(Succ(Zero), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS1, Zero)) 248.95/165.43 new_primMinusNatS1 -> Zero 248.95/165.43 new_primMinusNatS0(vyv270000) -> Succ(vyv270000) 248.95/165.43 new_error -> error([]) 248.95/165.43 new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) 248.95/165.43 new_esEs(Pos(Succ(vyv24100))) -> new_primEqInt(Pos(Succ(vyv24100))) 248.95/165.43 new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) 248.95/165.43 new_esEs(Neg(Succ(vyv24100))) -> new_primEqInt(Neg(Succ(vyv24100))) 248.95/165.43 new_gcd2(True, vyv272, vyv271) -> new_gcd1(new_esEs(vyv271), vyv272, vyv271) 248.95/165.43 new_gcd2(False, vyv272, vyv271) -> new_gcd0(vyv272, vyv271) 248.95/165.43 new_gcd0(vyv272, vyv271) -> new_gcd0Gcd'10(new_esEs(new_abs(vyv271)), vyv272, vyv271) 248.95/165.43 new_abs(Neg(Zero)) -> Neg(Zero) 248.95/165.43 new_abs(Neg(Succ(vyv27100))) -> Pos(Succ(vyv27100)) 248.95/165.43 new_abs(Pos(Succ(vyv27100))) -> Pos(Succ(vyv27100)) 248.95/165.43 new_abs(Pos(Zero)) -> Pos(Zero) 248.95/165.43 new_gcd0Gcd'10(True, vyv272, vyv271) -> new_abs(vyv272) 248.95/165.43 new_gcd0Gcd'10(False, vyv272, vyv271) -> new_gcd0Gcd'00(new_abs(vyv272), new_abs(vyv271)) 248.95/165.43 new_gcd0Gcd'11(False, vyv291, vyv292) -> new_gcd0Gcd'00(vyv291, new_rem(vyv292, vyv291)) 248.95/165.43 new_gcd0Gcd'00(vyv292, vyv291) -> new_gcd0Gcd'11(new_esEs(new_rem(vyv292, vyv291)), vyv291, vyv292) 248.95/165.43 new_rem(Pos(vyv2920), Neg(Zero)) -> new_error 248.95/165.43 new_rem(Neg(vyv2920), Pos(Zero)) -> new_error 248.95/165.43 new_rem(Pos(vyv2920), Neg(Succ(vyv29100))) -> Pos(new_primModNatS1(vyv2920, vyv29100)) 248.95/165.43 new_rem(Neg(vyv2920), Pos(Succ(vyv29100))) -> Neg(new_primModNatS1(vyv2920, vyv29100)) 248.95/165.43 new_rem(Pos(vyv2920), Pos(Succ(vyv29100))) -> Pos(new_primModNatS1(vyv2920, vyv29100)) 248.95/165.43 new_rem(Neg(vyv2920), Neg(Zero)) -> new_error 248.95/165.43 new_rem(Neg(vyv2920), Neg(Succ(vyv29100))) -> Neg(new_primModNatS1(vyv2920, vyv29100)) 248.95/165.43 new_rem(Pos(vyv2920), Pos(Zero)) -> new_error 248.95/165.43 new_gcd0Gcd'11(True, vyv291, vyv292) -> vyv291 248.95/165.43 new_primModNatS1(Succ(Zero), Succ(vyv291000)) -> Succ(Zero) 248.95/165.43 new_primModNatS1(Zero, vyv29100) -> Zero 248.95/165.43 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 248.95/165.43 new_primModNatS1(Succ(Succ(vyv292000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv292000), Zero) 248.95/165.43 new_primModNatS1(Succ(Succ(vyv292000)), Succ(vyv291000)) -> new_primModNatS01(vyv292000, vyv291000, vyv292000, vyv291000) 248.95/165.43 new_primModNatS01(vyv330, vyv331, Zero, Zero) -> new_primModNatS02(vyv330, vyv331) 248.95/165.43 new_primModNatS02(vyv330, vyv331) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv330), Succ(vyv331)), Succ(vyv331)) 248.95/165.43 new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Zero) -> new_primModNatS02(vyv330, vyv331) 248.95/165.43 new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Succ(vyv3330)) -> new_primModNatS01(vyv330, vyv331, vyv3320, vyv3330) 248.95/165.43 new_primModNatS01(vyv330, vyv331, Zero, Succ(vyv3330)) -> Succ(Succ(vyv330)) 248.95/165.43 new_gcd1(True, vyv272, vyv271) -> new_error 248.95/165.43 new_gcd1(False, vyv272, vyv271) -> new_gcd0(vyv272, vyv271) 248.95/165.43 new_primEqInt(Neg(Succ(vyv242000))) -> False 248.95/165.43 new_primEqInt(Pos(Zero)) -> True 248.95/165.43 new_primEqInt(Pos(Succ(vyv242000))) -> False 248.95/165.43 new_primEqInt(Neg(Zero)) -> True 248.95/165.43 new_primQuotInt0(vyv2700, Pos(Succ(vyv28700))) -> Neg(new_primDivNatS1(vyv2700, vyv28700)) 248.95/165.43 new_primQuotInt0(vyv2700, Neg(Zero)) -> new_error 248.95/165.43 new_primQuotInt0(vyv2700, Neg(Succ(vyv28700))) -> Pos(new_primDivNatS1(vyv2700, vyv28700)) 248.95/165.43 new_primQuotInt0(vyv2700, Pos(Zero)) -> new_error 248.95/165.43 new_primMulNat0(Succ(vyv23900), Zero) -> Zero 248.95/165.43 new_primMulNat0(Zero, Succ(vyv23800)) -> Zero 248.95/165.43 new_primMulNat0(Zero, Zero) -> Zero 248.95/165.43 new_primMulNat0(Succ(vyv23900), Succ(vyv23800)) -> new_primPlusNat0(new_primMulNat0(vyv23900, Succ(vyv23800)), Succ(vyv23800)) 248.95/165.43 new_primPlusNat0(Succ(vyv4000), Succ(vyv5000)) -> Succ(Succ(new_primPlusNat0(vyv4000, vyv5000))) 248.95/165.43 new_primPlusNat0(Zero, Succ(vyv5000)) -> Succ(vyv5000) 248.95/165.43 new_primPlusNat0(Zero, Zero) -> Zero 248.95/165.43 new_primPlusNat0(Succ(vyv4000), Zero) -> Succ(vyv4000) 248.95/165.43 new_sr7(vyv183) -> error([]) 248.95/165.43 new_esEs1(Integer(vyv2690)) -> new_primEqInt(vyv2690) 248.95/165.43 new_sr6(Neg(vyv1830)) -> Pos(new_primMulNat1(vyv1830)) 248.95/165.43 new_sr6(Pos(vyv1830)) -> Pos(new_primMulNat1(vyv1830)) 248.95/165.43 new_primMulNat1(Succ(vyv18300)) -> new_primPlusNat0(new_primMulNat2(vyv18300), Succ(vyv18300)) 248.95/165.43 new_primMulNat1(Zero) -> Zero 248.95/165.43 new_primMulNat2(Succ(vyv183000)) -> new_primPlusNat0(new_primMulNat3(vyv183000), Succ(Succ(vyv183000))) 248.95/165.43 new_primMulNat2(Zero) -> Zero 248.95/165.43 new_primMulNat3(Succ(vyv1830000)) -> new_primPlusNat0(new_primMulNat4(vyv1830000), Succ(Succ(Succ(vyv1830000)))) 248.95/165.43 new_primMulNat3(Zero) -> Zero 248.95/165.43 new_primMulNat4(Succ(vyv18300000)) -> new_primPlusNat0(new_primMulNat0(vyv18300000, Succ(Succ(Succ(Succ(vyv18300000))))), Succ(Succ(Succ(Succ(vyv18300000))))) 248.95/165.43 new_primMulNat4(Zero) -> Zero 248.95/165.43 new_ms(vyv228, Neg(vyv2440)) -> Pos(new_primPlusNat0(Succ(vyv228), vyv2440)) 248.95/165.43 new_ms(vyv228, Pos(Succ(vyv24400))) -> new_primMinusNat0(vyv228, vyv24400) 248.95/165.43 new_ms(vyv228, Pos(Zero)) -> Pos(Succ(vyv228)) 248.95/165.43 new_sr2(vyv227, vyv226, ty_Int) -> new_sr14(vyv227, vyv226) 248.95/165.43 new_sr2(vyv227, vyv226, ty_Double) -> new_sr11(vyv227, vyv226) 248.95/165.43 new_sr2(vyv227, vyv226, ty_Integer) -> new_sr8(vyv227, vyv226) 248.95/165.43 new_sr2(vyv227, vyv226, ty_Float) -> new_sr13(vyv227, vyv226) 248.95/165.43 new_sr2(vyv227, vyv226, app(ty_Ratio, be)) -> new_sr12(vyv227, vyv226, be) 248.95/165.43 new_sr12(:%(vyv2390, vyv2391), :%(vyv2380, vyv2381), bf) -> new_reduce2Reduce1(vyv2390, vyv2380, vyv2391, vyv2381, new_esEs2(vyv2391, vyv2381, bf), bf) 248.95/165.43 new_esEs2(vyv2391, vyv2381, ty_Int) -> new_esEs(new_sr14(vyv2391, vyv2381)) 248.95/165.43 new_esEs2(vyv2391, vyv2381, ty_Integer) -> new_esEs1(new_sr8(vyv2391, vyv2381)) 248.95/165.43 new_sr13(vyv239, vyv238) -> error([]) 248.95/165.43 new_sr11(vyv239, vyv238) -> error([]) 248.95/165.43 new_primMinusNat0(Succ(vyv2280), Succ(vyv244000)) -> new_primMinusNat0(vyv2280, vyv244000) 248.95/165.43 new_primMinusNat0(Zero, Zero) -> Pos(Zero) 248.95/165.43 new_primMinusNat0(Zero, Succ(vyv244000)) -> Neg(Succ(vyv244000)) 248.95/165.43 new_primMinusNat0(Succ(vyv2280), Zero) -> Pos(Succ(vyv2280)) 248.95/165.43 248.95/165.43 The set Q consists of the following terms: 248.95/165.43 248.95/165.43 new_rem(Pos(x0), Pos(Succ(x1))) 248.95/165.43 new_quot1(x0, x1, x2, x3, ty_Integer) 248.95/165.43 new_primModNatS1(Succ(Zero), Succ(x0)) 248.95/165.43 new_primMulNat4(Zero) 248.95/165.43 new_gcd1(False, x0, x1) 248.95/165.43 new_primEqInt(Pos(Zero)) 248.95/165.43 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 248.95/165.43 new_rem(Pos(x0), Neg(Succ(x1))) 248.95/165.43 new_rem(Neg(x0), Pos(Succ(x1))) 248.95/165.43 new_sr10(x0) 248.95/165.43 new_quot1(x0, x1, x2, x3, ty_Int) 248.95/165.43 new_quot2(x0, x1, x2, x3, ty_Integer) 248.95/165.43 new_primModNatS01(x0, x1, Succ(x2), Zero) 248.95/165.43 new_primMulNat3(Zero) 248.95/165.43 new_primDivNatS02(x0, x1, Succ(x2), Zero) 248.95/165.43 new_quot2(x0, x1, x2, x3, ty_Int) 248.95/165.43 new_gcd2(False, x0, x1) 248.95/165.43 new_primDivNatS1(Succ(Zero), Zero) 248.95/165.43 new_esEs0(x0, ty_Int) 248.95/165.43 new_sr14(Pos(x0), Pos(x1)) 248.95/165.43 new_primMulNat0(Zero, Zero) 248.95/165.43 new_primPlusNat0(Succ(x0), Zero) 248.95/165.43 new_primMulNat2(Zero) 248.95/165.43 new_sr11(x0, x1) 248.95/165.43 new_primModNatS01(x0, x1, Zero, Zero) 248.95/165.43 new_esEs2(x0, x1, ty_Int) 248.95/165.43 new_gcd1(True, x0, x1) 248.95/165.43 new_sr13(x0, x1) 248.95/165.43 new_sr14(Pos(x0), Neg(x1)) 248.95/165.43 new_sr14(Neg(x0), Pos(x1)) 248.95/165.43 new_primDivNatS1(Succ(Succ(x0)), Succ(x1)) 248.95/165.43 new_sr1(x0, ty_Int) 248.95/165.43 new_primModNatS1(Zero, x0) 248.95/165.43 new_esEs(Pos(Succ(x0))) 248.95/165.43 new_primMulNat3(Succ(x0)) 248.95/165.43 new_sr1(x0, app(ty_Ratio, x1)) 248.95/165.43 new_primQuotInt(x0, Neg(Succ(x1))) 248.95/165.43 new_reduce2Reduce1(x0, x1, x2, x3, False, x4) 248.95/165.43 new_primMinusNat0(Zero, Zero) 248.95/165.43 new_primDivNatS1(Zero, x0) 248.95/165.43 new_primDivNatS02(x0, x1, Succ(x2), Succ(x3)) 248.95/165.43 new_primModNatS02(x0, x1) 248.95/165.43 new_primDivNatS1(Succ(Zero), Succ(x0)) 248.95/165.43 new_sr6(Neg(x0)) 248.95/165.43 new_gcd0Gcd'10(True, x0, x1) 248.95/165.43 new_primMulNat0(Succ(x0), Succ(x1)) 248.95/165.43 new_abs(Neg(Zero)) 248.95/165.43 new_ms(x0, Neg(x1)) 248.95/165.43 new_rem(Pos(x0), Neg(Zero)) 248.95/165.43 new_rem(Neg(x0), Pos(Zero)) 248.95/165.43 new_primMinusNatS2(Zero, Succ(x0)) 248.95/165.43 new_esEs(Neg(Succ(x0))) 248.95/165.43 new_error 248.95/165.43 new_primModNatS1(Succ(Zero), Zero) 248.95/165.43 new_primMulNat0(Zero, Succ(x0)) 248.95/165.43 new_quot(x0, x1, x2) 248.95/165.43 new_gcd2(True, x0, x1) 248.95/165.43 new_gcd0Gcd'11(True, x0, x1) 248.95/165.43 new_primEqInt(Neg(Zero)) 248.95/165.43 new_sr2(x0, x1, ty_Double) 248.95/165.43 new_primMulNat0(Succ(x0), Zero) 248.95/165.43 new_quot0(Neg(x0), x1, x2) 248.95/165.43 new_primMinusNatS2(Succ(x0), Succ(x1)) 248.95/165.43 new_sr8(x0, x1) 248.95/165.43 new_primDivNatS01(x0, x1) 248.95/165.43 new_primDivNatS02(x0, x1, Zero, Succ(x2)) 248.95/165.43 new_primPlusNat0(Succ(x0), Succ(x1)) 248.95/165.43 new_sr1(x0, ty_Integer) 248.95/165.43 new_primPlusNat0(Zero, Zero) 248.95/165.43 new_sr1(x0, ty_Float) 248.95/165.43 new_primMinusNat0(Succ(x0), Succ(x1)) 248.95/165.43 new_sr12(:%(x0, x1), :%(x2, x3), x4) 248.95/165.43 new_abs(Neg(Succ(x0))) 248.95/165.43 new_sr1(x0, ty_Double) 248.95/165.43 new_sr7(x0) 248.95/165.43 new_gcd0(x0, x1) 248.95/165.43 new_primQuotInt0(x0, Pos(Succ(x1))) 248.95/165.43 new_sr5(:%(x0, x1), x2) 248.95/165.43 new_primMinusNatS2(Zero, Zero) 248.95/165.43 new_primMulNat1(Succ(x0)) 248.95/165.43 new_ms(x0, Pos(Zero)) 248.95/165.43 new_abs(Pos(Succ(x0))) 248.95/165.43 new_esEs(Pos(Zero)) 248.95/165.43 new_primQuotInt0(x0, Pos(Zero)) 248.95/165.43 new_primEqInt(Neg(Succ(x0))) 248.95/165.43 new_primQuotInt(x0, Neg(Zero)) 248.95/165.43 new_primQuotInt0(x0, Neg(Zero)) 248.95/165.43 new_primQuotInt0(x0, Neg(Succ(x1))) 248.95/165.43 new_gcd(x0, x1) 248.95/165.43 new_quot0(Pos(x0), x1, x2) 248.95/165.43 new_primMinusNatS0(x0) 248.95/165.43 new_primPlusNat0(Zero, Succ(x0)) 248.95/165.43 new_sr2(x0, x1, app(ty_Ratio, x2)) 248.95/165.43 new_sr2(x0, x1, ty_Int) 248.95/165.43 new_primQuotInt(x0, Pos(Succ(x1))) 248.95/165.43 new_primDivNatS1(Succ(Succ(x0)), Zero) 248.95/165.43 new_rem(Pos(x0), Pos(Zero)) 248.95/165.43 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 248.95/165.43 new_primDivNatS02(x0, x1, Zero, Zero) 248.95/165.43 new_abs(Pos(Zero)) 248.95/165.43 new_gcd0Gcd'10(False, x0, x1) 248.95/165.43 new_ms(x0, Pos(Succ(x1))) 248.95/165.43 new_primMinusNatS1 248.95/165.43 new_esEs1(Integer(x0)) 248.95/165.43 new_primMinusNat0(Succ(x0), Zero) 248.95/165.43 new_sr2(x0, x1, ty_Integer) 248.95/165.43 new_primModNatS01(x0, x1, Zero, Succ(x2)) 248.95/165.43 new_primMulNat2(Succ(x0)) 248.95/165.43 new_sr14(Neg(x0), Neg(x1)) 248.95/165.43 new_sr2(x0, x1, ty_Float) 248.95/165.43 new_primMinusNatS2(Succ(x0), Zero) 248.95/165.43 new_sr6(Pos(x0)) 248.95/165.43 new_esEs2(x0, x1, ty_Integer) 248.95/165.43 new_primMulNat4(Succ(x0)) 248.95/165.43 new_rem(Neg(x0), Neg(Succ(x1))) 248.95/165.43 new_primEqInt(Pos(Succ(x0))) 248.95/165.43 new_primQuotInt(x0, Pos(Zero)) 248.95/165.43 new_gcd0Gcd'11(False, x0, x1) 248.95/165.43 new_sr9(x0) 248.95/165.43 new_primModNatS1(Succ(Succ(x0)), Zero) 248.95/165.43 new_esEs0(x0, ty_Integer) 248.95/165.43 new_gcd0Gcd'00(x0, x1) 248.95/165.43 new_reduce2Reduce1(x0, x1, x2, x3, True, x4) 248.95/165.43 new_esEs(Neg(Zero)) 248.95/165.43 new_primMulNat1(Zero) 248.95/165.43 new_primMinusNat0(Zero, Succ(x0)) 248.95/165.43 new_rem(Neg(x0), Neg(Zero)) 248.95/165.43 248.95/165.43 We have to consider all minimal (P,Q,R)-chains. 248.95/165.43 ---------------------------------------- 248.95/165.43 248.95/165.43 (901) DependencyGraphProof (EQUIVALENT) 248.95/165.43 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 3 less nodes. 248.95/165.43 ---------------------------------------- 248.95/165.43 248.95/165.43 (902) 248.95/165.43 Obligation: 248.95/165.43 Q DP problem: 248.95/165.43 The TRS P consists of the following rules: 248.95/165.43 248.95/165.43 new_pr2F0G1(vyv226, vyv227, vyv228, Succ(Succ(vyv22900)), ba) -> new_pr2F0G1(vyv226, vyv227, vyv228, vyv22900, ba) 248.95/165.43 new_pr2F0G1(vyv226, vyv227, vyv228, Succ(Zero), ba) -> new_pr2F(vyv227, vyv228, Pos(Succ(Zero)), vyv226, ba) 248.95/165.43 new_pr2F(y0, Succ(x0), Pos(Succ(Zero)), y2, y3) -> new_pr2F3(new_esEs(Pos(Succ(x0))), y0, Succ(x0), Pos(Succ(Zero)), y2, y3) 248.95/165.43 new_pr2F3(False, vyv227, vyv228, vyv244, vyv226, ba) -> new_pr2F0(vyv227, new_ms(vyv228, vyv244), new_sr2(vyv227, vyv226, ba), ba) 248.95/165.43 new_pr2F0(vyv183, Pos(Succ(Succ(vyv222000))), vyv187, h) -> new_pr2F0G1(vyv187, vyv183, Succ(vyv222000), vyv222000, h) 248.95/165.43 new_pr2F0G1(vyv226, vyv227, vyv228, Zero, ba) -> new_pr2F0G(vyv226, new_sr1(vyv227, ba), Pos(new_primDivNatS1(Succ(vyv228), Succ(Zero))), ba) 248.95/165.43 new_pr2F0G(vyv187, vyv183, Pos(Succ(Succ(vyv222000))), h) -> new_pr2F0G1(vyv187, vyv183, Succ(vyv222000), vyv222000, h) 248.95/165.43 248.95/165.43 The TRS R consists of the following rules: 248.95/165.43 248.95/165.43 new_sr1(vyv227, ty_Int) -> new_sr6(vyv227) 248.95/165.43 new_sr1(vyv227, ty_Integer) -> new_sr7(vyv227) 248.95/165.43 new_sr1(vyv227, app(ty_Ratio, be)) -> new_sr5(vyv227, be) 248.95/165.43 new_sr1(vyv227, ty_Float) -> new_sr10(vyv227) 248.95/165.43 new_sr1(vyv227, ty_Double) -> new_sr9(vyv227) 248.95/165.43 new_primDivNatS1(Succ(Zero), Succ(vyv284000)) -> Zero 248.95/165.43 new_primDivNatS1(Succ(Succ(vyv270000)), Succ(vyv284000)) -> new_primDivNatS02(vyv270000, vyv284000, vyv270000, vyv284000) 248.95/165.43 new_primDivNatS02(vyv310, vyv311, Zero, Zero) -> new_primDivNatS01(vyv310, vyv311) 248.95/165.43 new_primDivNatS02(vyv310, vyv311, Succ(vyv3120), Zero) -> new_primDivNatS01(vyv310, vyv311) 248.95/165.43 new_primDivNatS02(vyv310, vyv311, Zero, Succ(vyv3130)) -> Zero 248.95/165.43 new_primDivNatS02(vyv310, vyv311, Succ(vyv3120), Succ(vyv3130)) -> new_primDivNatS02(vyv310, vyv311, vyv3120, vyv3130) 248.95/165.43 new_primDivNatS01(vyv310, vyv311) -> Succ(new_primDivNatS1(new_primMinusNatS2(vyv310, vyv311), Succ(vyv311))) 248.95/165.43 new_primMinusNatS2(Zero, Succ(vyv3110)) -> Zero 248.95/165.43 new_primMinusNatS2(Succ(vyv3100), Zero) -> Succ(vyv3100) 248.95/165.43 new_primMinusNatS2(Zero, Zero) -> Zero 248.95/165.43 new_primMinusNatS2(Succ(vyv3100), Succ(vyv3110)) -> new_primMinusNatS2(vyv3100, vyv3110) 248.95/165.43 new_primDivNatS1(Zero, vyv28400) -> Zero 248.95/165.43 new_sr9(vyv183) -> error([]) 248.95/165.43 new_sr10(vyv183) -> error([]) 248.95/165.43 new_sr5(:%(vyv1830, vyv1831), bd) -> new_reduce2Reduce1(vyv1830, vyv1830, vyv1831, vyv1831, new_esEs0(vyv1831, bd), bd) 248.95/165.43 new_esEs0(vyv1831, ty_Int) -> new_esEs(new_sr6(vyv1831)) 248.95/165.43 new_esEs0(vyv1831, ty_Integer) -> new_esEs1(new_sr7(vyv1831)) 248.95/165.43 new_reduce2Reduce1(vyv264, vyv265, vyv266, vyv267, False, bh) -> :%(new_quot1(vyv264, vyv265, vyv266, vyv267, bh), new_quot2(vyv266, vyv267, vyv264, vyv265, bh)) 248.95/165.43 new_reduce2Reduce1(vyv264, vyv265, vyv266, vyv267, True, bh) -> error([]) 248.95/165.43 new_quot1(vyv264, vyv265, vyv266, vyv267, ty_Int) -> new_quot0(new_sr14(vyv264, vyv265), new_sr14(vyv264, vyv265), new_sr14(vyv266, vyv267)) 248.95/165.43 new_quot1(vyv264, vyv265, vyv266, vyv267, ty_Integer) -> new_quot(new_sr8(vyv264, vyv265), new_sr8(vyv264, vyv265), new_sr8(vyv266, vyv267)) 248.95/165.43 new_quot2(vyv266, vyv267, vyv264, vyv265, ty_Int) -> new_quot0(new_sr14(vyv266, vyv267), new_sr14(vyv264, vyv265), new_sr14(vyv266, vyv267)) 248.95/165.43 new_quot2(vyv266, vyv267, vyv264, vyv265, ty_Integer) -> new_quot(new_sr8(vyv266, vyv267), new_sr8(vyv264, vyv265), new_sr8(vyv266, vyv267)) 248.95/165.43 new_sr8(vyv239, vyv238) -> error([]) 248.95/165.43 new_quot(vyv273, vyv275, vyv274) -> error([]) 248.95/165.43 new_sr14(Pos(vyv2390), Neg(vyv2380)) -> Neg(new_primMulNat0(vyv2390, vyv2380)) 248.95/165.43 new_sr14(Neg(vyv2390), Pos(vyv2380)) -> Neg(new_primMulNat0(vyv2390, vyv2380)) 248.95/165.43 new_sr14(Neg(vyv2390), Neg(vyv2380)) -> Pos(new_primMulNat0(vyv2390, vyv2380)) 248.95/165.43 new_sr14(Pos(vyv2390), Pos(vyv2380)) -> Pos(new_primMulNat0(vyv2390, vyv2380)) 248.95/165.43 new_quot0(Neg(vyv2700), vyv272, vyv271) -> new_primQuotInt0(vyv2700, new_gcd(vyv272, vyv271)) 248.95/165.43 new_quot0(Pos(vyv2700), vyv272, vyv271) -> new_primQuotInt(vyv2700, new_gcd(vyv272, vyv271)) 248.95/165.43 new_gcd(vyv272, vyv271) -> new_gcd2(new_esEs(vyv272), vyv272, vyv271) 248.95/165.43 new_primQuotInt(vyv2700, Pos(Succ(vyv28400))) -> Pos(new_primDivNatS1(vyv2700, vyv28400)) 248.95/165.43 new_primQuotInt(vyv2700, Neg(Zero)) -> new_error 248.95/165.43 new_primQuotInt(vyv2700, Pos(Zero)) -> new_error 248.95/165.43 new_primQuotInt(vyv2700, Neg(Succ(vyv28400))) -> Neg(new_primDivNatS1(vyv2700, vyv28400)) 248.95/165.43 new_primDivNatS1(Succ(Succ(vyv270000)), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS0(vyv270000), Zero)) 248.95/165.43 new_primDivNatS1(Succ(Zero), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS1, Zero)) 248.95/165.43 new_primMinusNatS1 -> Zero 248.95/165.43 new_primMinusNatS0(vyv270000) -> Succ(vyv270000) 248.95/165.43 new_error -> error([]) 248.95/165.43 new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) 248.95/165.43 new_esEs(Pos(Succ(vyv24100))) -> new_primEqInt(Pos(Succ(vyv24100))) 248.95/165.43 new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) 248.95/165.43 new_esEs(Neg(Succ(vyv24100))) -> new_primEqInt(Neg(Succ(vyv24100))) 248.95/165.43 new_gcd2(True, vyv272, vyv271) -> new_gcd1(new_esEs(vyv271), vyv272, vyv271) 248.95/165.43 new_gcd2(False, vyv272, vyv271) -> new_gcd0(vyv272, vyv271) 248.95/165.43 new_gcd0(vyv272, vyv271) -> new_gcd0Gcd'10(new_esEs(new_abs(vyv271)), vyv272, vyv271) 248.95/165.43 new_abs(Neg(Zero)) -> Neg(Zero) 248.95/165.43 new_abs(Neg(Succ(vyv27100))) -> Pos(Succ(vyv27100)) 248.95/165.43 new_abs(Pos(Succ(vyv27100))) -> Pos(Succ(vyv27100)) 248.95/165.43 new_abs(Pos(Zero)) -> Pos(Zero) 248.95/165.43 new_gcd0Gcd'10(True, vyv272, vyv271) -> new_abs(vyv272) 248.95/165.43 new_gcd0Gcd'10(False, vyv272, vyv271) -> new_gcd0Gcd'00(new_abs(vyv272), new_abs(vyv271)) 248.95/165.43 new_gcd0Gcd'11(False, vyv291, vyv292) -> new_gcd0Gcd'00(vyv291, new_rem(vyv292, vyv291)) 248.95/165.43 new_gcd0Gcd'00(vyv292, vyv291) -> new_gcd0Gcd'11(new_esEs(new_rem(vyv292, vyv291)), vyv291, vyv292) 248.95/165.43 new_rem(Pos(vyv2920), Neg(Zero)) -> new_error 248.95/165.43 new_rem(Neg(vyv2920), Pos(Zero)) -> new_error 248.95/165.43 new_rem(Pos(vyv2920), Neg(Succ(vyv29100))) -> Pos(new_primModNatS1(vyv2920, vyv29100)) 248.95/165.43 new_rem(Neg(vyv2920), Pos(Succ(vyv29100))) -> Neg(new_primModNatS1(vyv2920, vyv29100)) 248.95/165.43 new_rem(Pos(vyv2920), Pos(Succ(vyv29100))) -> Pos(new_primModNatS1(vyv2920, vyv29100)) 248.95/165.43 new_rem(Neg(vyv2920), Neg(Zero)) -> new_error 248.95/165.43 new_rem(Neg(vyv2920), Neg(Succ(vyv29100))) -> Neg(new_primModNatS1(vyv2920, vyv29100)) 248.95/165.43 new_rem(Pos(vyv2920), Pos(Zero)) -> new_error 248.95/165.43 new_gcd0Gcd'11(True, vyv291, vyv292) -> vyv291 248.95/165.43 new_primModNatS1(Succ(Zero), Succ(vyv291000)) -> Succ(Zero) 248.95/165.43 new_primModNatS1(Zero, vyv29100) -> Zero 248.95/165.43 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 248.95/165.43 new_primModNatS1(Succ(Succ(vyv292000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv292000), Zero) 248.95/165.43 new_primModNatS1(Succ(Succ(vyv292000)), Succ(vyv291000)) -> new_primModNatS01(vyv292000, vyv291000, vyv292000, vyv291000) 248.95/165.43 new_primModNatS01(vyv330, vyv331, Zero, Zero) -> new_primModNatS02(vyv330, vyv331) 248.95/165.43 new_primModNatS02(vyv330, vyv331) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv330), Succ(vyv331)), Succ(vyv331)) 248.95/165.43 new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Zero) -> new_primModNatS02(vyv330, vyv331) 248.95/165.43 new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Succ(vyv3330)) -> new_primModNatS01(vyv330, vyv331, vyv3320, vyv3330) 248.95/165.43 new_primModNatS01(vyv330, vyv331, Zero, Succ(vyv3330)) -> Succ(Succ(vyv330)) 248.95/165.43 new_gcd1(True, vyv272, vyv271) -> new_error 248.95/165.43 new_gcd1(False, vyv272, vyv271) -> new_gcd0(vyv272, vyv271) 248.95/165.43 new_primEqInt(Neg(Succ(vyv242000))) -> False 248.95/165.43 new_primEqInt(Pos(Zero)) -> True 248.95/165.43 new_primEqInt(Pos(Succ(vyv242000))) -> False 248.95/165.43 new_primEqInt(Neg(Zero)) -> True 248.95/165.43 new_primQuotInt0(vyv2700, Pos(Succ(vyv28700))) -> Neg(new_primDivNatS1(vyv2700, vyv28700)) 248.95/165.43 new_primQuotInt0(vyv2700, Neg(Zero)) -> new_error 248.95/165.43 new_primQuotInt0(vyv2700, Neg(Succ(vyv28700))) -> Pos(new_primDivNatS1(vyv2700, vyv28700)) 248.95/165.43 new_primQuotInt0(vyv2700, Pos(Zero)) -> new_error 248.95/165.43 new_primMulNat0(Succ(vyv23900), Zero) -> Zero 248.95/165.43 new_primMulNat0(Zero, Succ(vyv23800)) -> Zero 248.95/165.43 new_primMulNat0(Zero, Zero) -> Zero 248.95/165.43 new_primMulNat0(Succ(vyv23900), Succ(vyv23800)) -> new_primPlusNat0(new_primMulNat0(vyv23900, Succ(vyv23800)), Succ(vyv23800)) 248.95/165.43 new_primPlusNat0(Succ(vyv4000), Succ(vyv5000)) -> Succ(Succ(new_primPlusNat0(vyv4000, vyv5000))) 248.95/165.43 new_primPlusNat0(Zero, Succ(vyv5000)) -> Succ(vyv5000) 248.95/165.43 new_primPlusNat0(Zero, Zero) -> Zero 248.95/165.43 new_primPlusNat0(Succ(vyv4000), Zero) -> Succ(vyv4000) 248.95/165.43 new_sr7(vyv183) -> error([]) 248.95/165.43 new_esEs1(Integer(vyv2690)) -> new_primEqInt(vyv2690) 248.95/165.43 new_sr6(Neg(vyv1830)) -> Pos(new_primMulNat1(vyv1830)) 248.95/165.43 new_sr6(Pos(vyv1830)) -> Pos(new_primMulNat1(vyv1830)) 248.95/165.43 new_primMulNat1(Succ(vyv18300)) -> new_primPlusNat0(new_primMulNat2(vyv18300), Succ(vyv18300)) 248.95/165.43 new_primMulNat1(Zero) -> Zero 248.95/165.43 new_primMulNat2(Succ(vyv183000)) -> new_primPlusNat0(new_primMulNat3(vyv183000), Succ(Succ(vyv183000))) 248.95/165.43 new_primMulNat2(Zero) -> Zero 248.95/165.43 new_primMulNat3(Succ(vyv1830000)) -> new_primPlusNat0(new_primMulNat4(vyv1830000), Succ(Succ(Succ(vyv1830000)))) 248.95/165.43 new_primMulNat3(Zero) -> Zero 248.95/165.43 new_primMulNat4(Succ(vyv18300000)) -> new_primPlusNat0(new_primMulNat0(vyv18300000, Succ(Succ(Succ(Succ(vyv18300000))))), Succ(Succ(Succ(Succ(vyv18300000))))) 248.95/165.43 new_primMulNat4(Zero) -> Zero 248.95/165.43 new_ms(vyv228, Neg(vyv2440)) -> Pos(new_primPlusNat0(Succ(vyv228), vyv2440)) 248.95/165.43 new_ms(vyv228, Pos(Succ(vyv24400))) -> new_primMinusNat0(vyv228, vyv24400) 248.95/165.43 new_ms(vyv228, Pos(Zero)) -> Pos(Succ(vyv228)) 248.95/165.43 new_sr2(vyv227, vyv226, ty_Int) -> new_sr14(vyv227, vyv226) 248.95/165.43 new_sr2(vyv227, vyv226, ty_Double) -> new_sr11(vyv227, vyv226) 248.95/165.43 new_sr2(vyv227, vyv226, ty_Integer) -> new_sr8(vyv227, vyv226) 248.95/165.43 new_sr2(vyv227, vyv226, ty_Float) -> new_sr13(vyv227, vyv226) 248.95/165.43 new_sr2(vyv227, vyv226, app(ty_Ratio, be)) -> new_sr12(vyv227, vyv226, be) 248.95/165.43 new_sr12(:%(vyv2390, vyv2391), :%(vyv2380, vyv2381), bf) -> new_reduce2Reduce1(vyv2390, vyv2380, vyv2391, vyv2381, new_esEs2(vyv2391, vyv2381, bf), bf) 248.95/165.43 new_esEs2(vyv2391, vyv2381, ty_Int) -> new_esEs(new_sr14(vyv2391, vyv2381)) 248.95/165.43 new_esEs2(vyv2391, vyv2381, ty_Integer) -> new_esEs1(new_sr8(vyv2391, vyv2381)) 248.95/165.43 new_sr13(vyv239, vyv238) -> error([]) 248.95/165.43 new_sr11(vyv239, vyv238) -> error([]) 248.95/165.43 new_primMinusNat0(Succ(vyv2280), Succ(vyv244000)) -> new_primMinusNat0(vyv2280, vyv244000) 248.95/165.43 new_primMinusNat0(Zero, Zero) -> Pos(Zero) 248.95/165.43 new_primMinusNat0(Zero, Succ(vyv244000)) -> Neg(Succ(vyv244000)) 248.95/165.43 new_primMinusNat0(Succ(vyv2280), Zero) -> Pos(Succ(vyv2280)) 248.95/165.43 248.95/165.43 The set Q consists of the following terms: 248.95/165.43 248.95/165.43 new_rem(Pos(x0), Pos(Succ(x1))) 248.95/165.43 new_quot1(x0, x1, x2, x3, ty_Integer) 248.95/165.43 new_primModNatS1(Succ(Zero), Succ(x0)) 248.95/165.43 new_primMulNat4(Zero) 248.95/165.43 new_gcd1(False, x0, x1) 248.95/165.43 new_primEqInt(Pos(Zero)) 248.95/165.43 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 248.95/165.43 new_rem(Pos(x0), Neg(Succ(x1))) 248.95/165.43 new_rem(Neg(x0), Pos(Succ(x1))) 248.95/165.43 new_sr10(x0) 248.95/165.43 new_quot1(x0, x1, x2, x3, ty_Int) 248.95/165.43 new_quot2(x0, x1, x2, x3, ty_Integer) 248.95/165.43 new_primModNatS01(x0, x1, Succ(x2), Zero) 248.95/165.43 new_primMulNat3(Zero) 248.95/165.43 new_primDivNatS02(x0, x1, Succ(x2), Zero) 248.95/165.43 new_quot2(x0, x1, x2, x3, ty_Int) 248.95/165.43 new_gcd2(False, x0, x1) 248.95/165.43 new_primDivNatS1(Succ(Zero), Zero) 248.95/165.43 new_esEs0(x0, ty_Int) 248.95/165.43 new_sr14(Pos(x0), Pos(x1)) 248.95/165.43 new_primMulNat0(Zero, Zero) 248.95/165.43 new_primPlusNat0(Succ(x0), Zero) 248.95/165.43 new_primMulNat2(Zero) 248.95/165.43 new_sr11(x0, x1) 248.95/165.43 new_primModNatS01(x0, x1, Zero, Zero) 248.95/165.43 new_esEs2(x0, x1, ty_Int) 248.95/165.43 new_gcd1(True, x0, x1) 248.95/165.43 new_sr13(x0, x1) 248.95/165.43 new_sr14(Pos(x0), Neg(x1)) 248.95/165.43 new_sr14(Neg(x0), Pos(x1)) 248.95/165.43 new_primDivNatS1(Succ(Succ(x0)), Succ(x1)) 248.95/165.43 new_sr1(x0, ty_Int) 248.95/165.43 new_primModNatS1(Zero, x0) 248.95/165.43 new_esEs(Pos(Succ(x0))) 248.95/165.43 new_primMulNat3(Succ(x0)) 248.95/165.43 new_sr1(x0, app(ty_Ratio, x1)) 248.95/165.43 new_primQuotInt(x0, Neg(Succ(x1))) 248.95/165.43 new_reduce2Reduce1(x0, x1, x2, x3, False, x4) 248.95/165.43 new_primMinusNat0(Zero, Zero) 248.95/165.43 new_primDivNatS1(Zero, x0) 248.95/165.43 new_primDivNatS02(x0, x1, Succ(x2), Succ(x3)) 248.95/165.43 new_primModNatS02(x0, x1) 248.95/165.43 new_primDivNatS1(Succ(Zero), Succ(x0)) 248.95/165.43 new_sr6(Neg(x0)) 248.95/165.43 new_gcd0Gcd'10(True, x0, x1) 248.95/165.43 new_primMulNat0(Succ(x0), Succ(x1)) 248.95/165.43 new_abs(Neg(Zero)) 248.95/165.43 new_ms(x0, Neg(x1)) 248.95/165.43 new_rem(Pos(x0), Neg(Zero)) 248.95/165.43 new_rem(Neg(x0), Pos(Zero)) 248.95/165.43 new_primMinusNatS2(Zero, Succ(x0)) 248.95/165.43 new_esEs(Neg(Succ(x0))) 248.95/165.43 new_error 248.95/165.43 new_primModNatS1(Succ(Zero), Zero) 248.95/165.43 new_primMulNat0(Zero, Succ(x0)) 248.95/165.43 new_quot(x0, x1, x2) 248.95/165.43 new_gcd2(True, x0, x1) 248.95/165.43 new_gcd0Gcd'11(True, x0, x1) 248.95/165.43 new_primEqInt(Neg(Zero)) 248.95/165.43 new_sr2(x0, x1, ty_Double) 248.95/165.43 new_primMulNat0(Succ(x0), Zero) 248.95/165.43 new_quot0(Neg(x0), x1, x2) 248.95/165.43 new_primMinusNatS2(Succ(x0), Succ(x1)) 248.95/165.43 new_sr8(x0, x1) 248.95/165.43 new_primDivNatS01(x0, x1) 248.95/165.43 new_primDivNatS02(x0, x1, Zero, Succ(x2)) 248.95/165.43 new_primPlusNat0(Succ(x0), Succ(x1)) 248.95/165.43 new_sr1(x0, ty_Integer) 248.95/165.43 new_primPlusNat0(Zero, Zero) 248.95/165.43 new_sr1(x0, ty_Float) 248.95/165.43 new_primMinusNat0(Succ(x0), Succ(x1)) 248.95/165.43 new_sr12(:%(x0, x1), :%(x2, x3), x4) 248.95/165.43 new_abs(Neg(Succ(x0))) 248.95/165.43 new_sr1(x0, ty_Double) 248.95/165.43 new_sr7(x0) 248.95/165.43 new_gcd0(x0, x1) 248.95/165.43 new_primQuotInt0(x0, Pos(Succ(x1))) 248.95/165.43 new_sr5(:%(x0, x1), x2) 248.95/165.43 new_primMinusNatS2(Zero, Zero) 248.95/165.43 new_primMulNat1(Succ(x0)) 248.95/165.43 new_ms(x0, Pos(Zero)) 248.95/165.43 new_abs(Pos(Succ(x0))) 248.95/165.43 new_esEs(Pos(Zero)) 248.95/165.43 new_primQuotInt0(x0, Pos(Zero)) 248.95/165.43 new_primEqInt(Neg(Succ(x0))) 248.95/165.43 new_primQuotInt(x0, Neg(Zero)) 248.95/165.43 new_primQuotInt0(x0, Neg(Zero)) 248.95/165.43 new_primQuotInt0(x0, Neg(Succ(x1))) 248.95/165.43 new_gcd(x0, x1) 248.95/165.43 new_quot0(Pos(x0), x1, x2) 248.95/165.43 new_primMinusNatS0(x0) 248.95/165.43 new_primPlusNat0(Zero, Succ(x0)) 248.95/165.43 new_sr2(x0, x1, app(ty_Ratio, x2)) 248.95/165.43 new_sr2(x0, x1, ty_Int) 248.95/165.43 new_primQuotInt(x0, Pos(Succ(x1))) 248.95/165.43 new_primDivNatS1(Succ(Succ(x0)), Zero) 248.95/165.43 new_rem(Pos(x0), Pos(Zero)) 248.95/165.43 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 248.95/165.43 new_primDivNatS02(x0, x1, Zero, Zero) 248.95/165.43 new_abs(Pos(Zero)) 248.95/165.43 new_gcd0Gcd'10(False, x0, x1) 248.95/165.43 new_ms(x0, Pos(Succ(x1))) 248.95/165.43 new_primMinusNatS1 248.95/165.43 new_esEs1(Integer(x0)) 248.95/165.43 new_primMinusNat0(Succ(x0), Zero) 248.95/165.43 new_sr2(x0, x1, ty_Integer) 248.95/165.43 new_primModNatS01(x0, x1, Zero, Succ(x2)) 248.95/165.43 new_primMulNat2(Succ(x0)) 248.95/165.43 new_sr14(Neg(x0), Neg(x1)) 248.95/165.43 new_sr2(x0, x1, ty_Float) 248.95/165.43 new_primMinusNatS2(Succ(x0), Zero) 248.95/165.43 new_sr6(Pos(x0)) 248.95/165.43 new_esEs2(x0, x1, ty_Integer) 248.95/165.43 new_primMulNat4(Succ(x0)) 248.95/165.43 new_rem(Neg(x0), Neg(Succ(x1))) 248.95/165.43 new_primEqInt(Pos(Succ(x0))) 248.95/165.43 new_primQuotInt(x0, Pos(Zero)) 248.95/165.43 new_gcd0Gcd'11(False, x0, x1) 248.95/165.43 new_sr9(x0) 248.95/165.43 new_primModNatS1(Succ(Succ(x0)), Zero) 248.95/165.43 new_esEs0(x0, ty_Integer) 248.95/165.43 new_gcd0Gcd'00(x0, x1) 248.95/165.43 new_reduce2Reduce1(x0, x1, x2, x3, True, x4) 248.95/165.43 new_esEs(Neg(Zero)) 248.95/165.43 new_primMulNat1(Zero) 248.95/165.43 new_primMinusNat0(Zero, Succ(x0)) 248.95/165.43 new_rem(Neg(x0), Neg(Zero)) 248.95/165.43 248.95/165.43 We have to consider all minimal (P,Q,R)-chains. 248.95/165.43 ---------------------------------------- 248.95/165.43 248.95/165.43 (903) TransformationProof (EQUIVALENT) 248.95/165.43 By rewriting [LPAR04] the rule new_pr2F(y0, Succ(x0), Pos(Succ(Zero)), y2, y3) -> new_pr2F3(new_esEs(Pos(Succ(x0))), y0, Succ(x0), Pos(Succ(Zero)), y2, y3) at position [0] we obtained the following new rules [LPAR04]: 248.95/165.43 248.95/165.43 (new_pr2F(y0, Succ(x0), Pos(Succ(Zero)), y2, y3) -> new_pr2F3(new_primEqInt(Pos(Succ(x0))), y0, Succ(x0), Pos(Succ(Zero)), y2, y3),new_pr2F(y0, Succ(x0), Pos(Succ(Zero)), y2, y3) -> new_pr2F3(new_primEqInt(Pos(Succ(x0))), y0, Succ(x0), Pos(Succ(Zero)), y2, y3)) 248.95/165.43 248.95/165.43 248.95/165.43 ---------------------------------------- 248.95/165.43 248.95/165.43 (904) 248.95/165.43 Obligation: 248.95/165.43 Q DP problem: 248.95/165.43 The TRS P consists of the following rules: 248.95/165.43 248.95/165.43 new_pr2F0G1(vyv226, vyv227, vyv228, Succ(Succ(vyv22900)), ba) -> new_pr2F0G1(vyv226, vyv227, vyv228, vyv22900, ba) 248.95/165.43 new_pr2F0G1(vyv226, vyv227, vyv228, Succ(Zero), ba) -> new_pr2F(vyv227, vyv228, Pos(Succ(Zero)), vyv226, ba) 248.95/165.43 new_pr2F3(False, vyv227, vyv228, vyv244, vyv226, ba) -> new_pr2F0(vyv227, new_ms(vyv228, vyv244), new_sr2(vyv227, vyv226, ba), ba) 248.95/165.43 new_pr2F0(vyv183, Pos(Succ(Succ(vyv222000))), vyv187, h) -> new_pr2F0G1(vyv187, vyv183, Succ(vyv222000), vyv222000, h) 248.95/165.43 new_pr2F0G1(vyv226, vyv227, vyv228, Zero, ba) -> new_pr2F0G(vyv226, new_sr1(vyv227, ba), Pos(new_primDivNatS1(Succ(vyv228), Succ(Zero))), ba) 248.95/165.43 new_pr2F0G(vyv187, vyv183, Pos(Succ(Succ(vyv222000))), h) -> new_pr2F0G1(vyv187, vyv183, Succ(vyv222000), vyv222000, h) 248.95/165.43 new_pr2F(y0, Succ(x0), Pos(Succ(Zero)), y2, y3) -> new_pr2F3(new_primEqInt(Pos(Succ(x0))), y0, Succ(x0), Pos(Succ(Zero)), y2, y3) 248.95/165.43 248.95/165.43 The TRS R consists of the following rules: 248.95/165.43 248.95/165.43 new_sr1(vyv227, ty_Int) -> new_sr6(vyv227) 248.95/165.43 new_sr1(vyv227, ty_Integer) -> new_sr7(vyv227) 248.95/165.43 new_sr1(vyv227, app(ty_Ratio, be)) -> new_sr5(vyv227, be) 248.95/165.43 new_sr1(vyv227, ty_Float) -> new_sr10(vyv227) 248.95/165.43 new_sr1(vyv227, ty_Double) -> new_sr9(vyv227) 248.95/165.43 new_primDivNatS1(Succ(Zero), Succ(vyv284000)) -> Zero 248.95/165.43 new_primDivNatS1(Succ(Succ(vyv270000)), Succ(vyv284000)) -> new_primDivNatS02(vyv270000, vyv284000, vyv270000, vyv284000) 248.95/165.43 new_primDivNatS02(vyv310, vyv311, Zero, Zero) -> new_primDivNatS01(vyv310, vyv311) 248.95/165.43 new_primDivNatS02(vyv310, vyv311, Succ(vyv3120), Zero) -> new_primDivNatS01(vyv310, vyv311) 248.95/165.43 new_primDivNatS02(vyv310, vyv311, Zero, Succ(vyv3130)) -> Zero 248.95/165.43 new_primDivNatS02(vyv310, vyv311, Succ(vyv3120), Succ(vyv3130)) -> new_primDivNatS02(vyv310, vyv311, vyv3120, vyv3130) 248.95/165.43 new_primDivNatS01(vyv310, vyv311) -> Succ(new_primDivNatS1(new_primMinusNatS2(vyv310, vyv311), Succ(vyv311))) 248.95/165.43 new_primMinusNatS2(Zero, Succ(vyv3110)) -> Zero 248.95/165.43 new_primMinusNatS2(Succ(vyv3100), Zero) -> Succ(vyv3100) 248.95/165.43 new_primMinusNatS2(Zero, Zero) -> Zero 248.95/165.43 new_primMinusNatS2(Succ(vyv3100), Succ(vyv3110)) -> new_primMinusNatS2(vyv3100, vyv3110) 248.95/165.43 new_primDivNatS1(Zero, vyv28400) -> Zero 248.95/165.43 new_sr9(vyv183) -> error([]) 248.95/165.43 new_sr10(vyv183) -> error([]) 248.95/165.43 new_sr5(:%(vyv1830, vyv1831), bd) -> new_reduce2Reduce1(vyv1830, vyv1830, vyv1831, vyv1831, new_esEs0(vyv1831, bd), bd) 248.95/165.43 new_esEs0(vyv1831, ty_Int) -> new_esEs(new_sr6(vyv1831)) 248.95/165.43 new_esEs0(vyv1831, ty_Integer) -> new_esEs1(new_sr7(vyv1831)) 248.95/165.43 new_reduce2Reduce1(vyv264, vyv265, vyv266, vyv267, False, bh) -> :%(new_quot1(vyv264, vyv265, vyv266, vyv267, bh), new_quot2(vyv266, vyv267, vyv264, vyv265, bh)) 248.95/165.43 new_reduce2Reduce1(vyv264, vyv265, vyv266, vyv267, True, bh) -> error([]) 248.95/165.43 new_quot1(vyv264, vyv265, vyv266, vyv267, ty_Int) -> new_quot0(new_sr14(vyv264, vyv265), new_sr14(vyv264, vyv265), new_sr14(vyv266, vyv267)) 248.95/165.43 new_quot1(vyv264, vyv265, vyv266, vyv267, ty_Integer) -> new_quot(new_sr8(vyv264, vyv265), new_sr8(vyv264, vyv265), new_sr8(vyv266, vyv267)) 248.95/165.43 new_quot2(vyv266, vyv267, vyv264, vyv265, ty_Int) -> new_quot0(new_sr14(vyv266, vyv267), new_sr14(vyv264, vyv265), new_sr14(vyv266, vyv267)) 248.95/165.43 new_quot2(vyv266, vyv267, vyv264, vyv265, ty_Integer) -> new_quot(new_sr8(vyv266, vyv267), new_sr8(vyv264, vyv265), new_sr8(vyv266, vyv267)) 248.95/165.43 new_sr8(vyv239, vyv238) -> error([]) 248.95/165.43 new_quot(vyv273, vyv275, vyv274) -> error([]) 248.95/165.43 new_sr14(Pos(vyv2390), Neg(vyv2380)) -> Neg(new_primMulNat0(vyv2390, vyv2380)) 248.95/165.43 new_sr14(Neg(vyv2390), Pos(vyv2380)) -> Neg(new_primMulNat0(vyv2390, vyv2380)) 248.95/165.43 new_sr14(Neg(vyv2390), Neg(vyv2380)) -> Pos(new_primMulNat0(vyv2390, vyv2380)) 248.95/165.43 new_sr14(Pos(vyv2390), Pos(vyv2380)) -> Pos(new_primMulNat0(vyv2390, vyv2380)) 248.95/165.43 new_quot0(Neg(vyv2700), vyv272, vyv271) -> new_primQuotInt0(vyv2700, new_gcd(vyv272, vyv271)) 248.95/165.43 new_quot0(Pos(vyv2700), vyv272, vyv271) -> new_primQuotInt(vyv2700, new_gcd(vyv272, vyv271)) 248.95/165.43 new_gcd(vyv272, vyv271) -> new_gcd2(new_esEs(vyv272), vyv272, vyv271) 248.95/165.43 new_primQuotInt(vyv2700, Pos(Succ(vyv28400))) -> Pos(new_primDivNatS1(vyv2700, vyv28400)) 248.95/165.43 new_primQuotInt(vyv2700, Neg(Zero)) -> new_error 248.95/165.43 new_primQuotInt(vyv2700, Pos(Zero)) -> new_error 248.95/165.43 new_primQuotInt(vyv2700, Neg(Succ(vyv28400))) -> Neg(new_primDivNatS1(vyv2700, vyv28400)) 248.95/165.43 new_primDivNatS1(Succ(Succ(vyv270000)), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS0(vyv270000), Zero)) 248.95/165.43 new_primDivNatS1(Succ(Zero), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS1, Zero)) 248.95/165.43 new_primMinusNatS1 -> Zero 248.95/165.43 new_primMinusNatS0(vyv270000) -> Succ(vyv270000) 248.95/165.43 new_error -> error([]) 248.95/165.43 new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) 248.95/165.43 new_esEs(Pos(Succ(vyv24100))) -> new_primEqInt(Pos(Succ(vyv24100))) 248.95/165.43 new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) 248.95/165.43 new_esEs(Neg(Succ(vyv24100))) -> new_primEqInt(Neg(Succ(vyv24100))) 248.95/165.43 new_gcd2(True, vyv272, vyv271) -> new_gcd1(new_esEs(vyv271), vyv272, vyv271) 248.95/165.43 new_gcd2(False, vyv272, vyv271) -> new_gcd0(vyv272, vyv271) 248.95/165.43 new_gcd0(vyv272, vyv271) -> new_gcd0Gcd'10(new_esEs(new_abs(vyv271)), vyv272, vyv271) 248.95/165.43 new_abs(Neg(Zero)) -> Neg(Zero) 248.95/165.43 new_abs(Neg(Succ(vyv27100))) -> Pos(Succ(vyv27100)) 248.95/165.43 new_abs(Pos(Succ(vyv27100))) -> Pos(Succ(vyv27100)) 248.95/165.43 new_abs(Pos(Zero)) -> Pos(Zero) 248.95/165.43 new_gcd0Gcd'10(True, vyv272, vyv271) -> new_abs(vyv272) 248.95/165.43 new_gcd0Gcd'10(False, vyv272, vyv271) -> new_gcd0Gcd'00(new_abs(vyv272), new_abs(vyv271)) 248.95/165.43 new_gcd0Gcd'11(False, vyv291, vyv292) -> new_gcd0Gcd'00(vyv291, new_rem(vyv292, vyv291)) 248.95/165.43 new_gcd0Gcd'00(vyv292, vyv291) -> new_gcd0Gcd'11(new_esEs(new_rem(vyv292, vyv291)), vyv291, vyv292) 248.95/165.43 new_rem(Pos(vyv2920), Neg(Zero)) -> new_error 248.95/165.43 new_rem(Neg(vyv2920), Pos(Zero)) -> new_error 248.95/165.43 new_rem(Pos(vyv2920), Neg(Succ(vyv29100))) -> Pos(new_primModNatS1(vyv2920, vyv29100)) 248.95/165.43 new_rem(Neg(vyv2920), Pos(Succ(vyv29100))) -> Neg(new_primModNatS1(vyv2920, vyv29100)) 248.95/165.43 new_rem(Pos(vyv2920), Pos(Succ(vyv29100))) -> Pos(new_primModNatS1(vyv2920, vyv29100)) 248.95/165.43 new_rem(Neg(vyv2920), Neg(Zero)) -> new_error 248.95/165.43 new_rem(Neg(vyv2920), Neg(Succ(vyv29100))) -> Neg(new_primModNatS1(vyv2920, vyv29100)) 248.95/165.43 new_rem(Pos(vyv2920), Pos(Zero)) -> new_error 248.95/165.43 new_gcd0Gcd'11(True, vyv291, vyv292) -> vyv291 248.95/165.43 new_primModNatS1(Succ(Zero), Succ(vyv291000)) -> Succ(Zero) 248.95/165.43 new_primModNatS1(Zero, vyv29100) -> Zero 248.95/165.43 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 248.95/165.43 new_primModNatS1(Succ(Succ(vyv292000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv292000), Zero) 248.95/165.43 new_primModNatS1(Succ(Succ(vyv292000)), Succ(vyv291000)) -> new_primModNatS01(vyv292000, vyv291000, vyv292000, vyv291000) 248.95/165.43 new_primModNatS01(vyv330, vyv331, Zero, Zero) -> new_primModNatS02(vyv330, vyv331) 248.95/165.43 new_primModNatS02(vyv330, vyv331) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv330), Succ(vyv331)), Succ(vyv331)) 248.95/165.43 new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Zero) -> new_primModNatS02(vyv330, vyv331) 248.95/165.43 new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Succ(vyv3330)) -> new_primModNatS01(vyv330, vyv331, vyv3320, vyv3330) 248.95/165.43 new_primModNatS01(vyv330, vyv331, Zero, Succ(vyv3330)) -> Succ(Succ(vyv330)) 248.95/165.43 new_gcd1(True, vyv272, vyv271) -> new_error 248.95/165.43 new_gcd1(False, vyv272, vyv271) -> new_gcd0(vyv272, vyv271) 248.95/165.43 new_primEqInt(Neg(Succ(vyv242000))) -> False 248.95/165.43 new_primEqInt(Pos(Zero)) -> True 248.95/165.43 new_primEqInt(Pos(Succ(vyv242000))) -> False 248.95/165.43 new_primEqInt(Neg(Zero)) -> True 248.95/165.43 new_primQuotInt0(vyv2700, Pos(Succ(vyv28700))) -> Neg(new_primDivNatS1(vyv2700, vyv28700)) 248.95/165.43 new_primQuotInt0(vyv2700, Neg(Zero)) -> new_error 248.95/165.43 new_primQuotInt0(vyv2700, Neg(Succ(vyv28700))) -> Pos(new_primDivNatS1(vyv2700, vyv28700)) 248.95/165.43 new_primQuotInt0(vyv2700, Pos(Zero)) -> new_error 248.95/165.43 new_primMulNat0(Succ(vyv23900), Zero) -> Zero 248.95/165.43 new_primMulNat0(Zero, Succ(vyv23800)) -> Zero 248.95/165.43 new_primMulNat0(Zero, Zero) -> Zero 248.95/165.43 new_primMulNat0(Succ(vyv23900), Succ(vyv23800)) -> new_primPlusNat0(new_primMulNat0(vyv23900, Succ(vyv23800)), Succ(vyv23800)) 248.95/165.43 new_primPlusNat0(Succ(vyv4000), Succ(vyv5000)) -> Succ(Succ(new_primPlusNat0(vyv4000, vyv5000))) 248.95/165.43 new_primPlusNat0(Zero, Succ(vyv5000)) -> Succ(vyv5000) 248.95/165.43 new_primPlusNat0(Zero, Zero) -> Zero 248.95/165.43 new_primPlusNat0(Succ(vyv4000), Zero) -> Succ(vyv4000) 248.95/165.43 new_sr7(vyv183) -> error([]) 248.95/165.43 new_esEs1(Integer(vyv2690)) -> new_primEqInt(vyv2690) 248.95/165.43 new_sr6(Neg(vyv1830)) -> Pos(new_primMulNat1(vyv1830)) 248.95/165.43 new_sr6(Pos(vyv1830)) -> Pos(new_primMulNat1(vyv1830)) 248.95/165.43 new_primMulNat1(Succ(vyv18300)) -> new_primPlusNat0(new_primMulNat2(vyv18300), Succ(vyv18300)) 248.95/165.43 new_primMulNat1(Zero) -> Zero 248.95/165.43 new_primMulNat2(Succ(vyv183000)) -> new_primPlusNat0(new_primMulNat3(vyv183000), Succ(Succ(vyv183000))) 248.95/165.43 new_primMulNat2(Zero) -> Zero 248.95/165.43 new_primMulNat3(Succ(vyv1830000)) -> new_primPlusNat0(new_primMulNat4(vyv1830000), Succ(Succ(Succ(vyv1830000)))) 248.95/165.43 new_primMulNat3(Zero) -> Zero 248.95/165.43 new_primMulNat4(Succ(vyv18300000)) -> new_primPlusNat0(new_primMulNat0(vyv18300000, Succ(Succ(Succ(Succ(vyv18300000))))), Succ(Succ(Succ(Succ(vyv18300000))))) 248.95/165.43 new_primMulNat4(Zero) -> Zero 248.95/165.43 new_ms(vyv228, Neg(vyv2440)) -> Pos(new_primPlusNat0(Succ(vyv228), vyv2440)) 248.95/165.43 new_ms(vyv228, Pos(Succ(vyv24400))) -> new_primMinusNat0(vyv228, vyv24400) 248.95/165.43 new_ms(vyv228, Pos(Zero)) -> Pos(Succ(vyv228)) 248.95/165.43 new_sr2(vyv227, vyv226, ty_Int) -> new_sr14(vyv227, vyv226) 248.95/165.43 new_sr2(vyv227, vyv226, ty_Double) -> new_sr11(vyv227, vyv226) 248.95/165.43 new_sr2(vyv227, vyv226, ty_Integer) -> new_sr8(vyv227, vyv226) 248.95/165.43 new_sr2(vyv227, vyv226, ty_Float) -> new_sr13(vyv227, vyv226) 248.95/165.43 new_sr2(vyv227, vyv226, app(ty_Ratio, be)) -> new_sr12(vyv227, vyv226, be) 248.95/165.43 new_sr12(:%(vyv2390, vyv2391), :%(vyv2380, vyv2381), bf) -> new_reduce2Reduce1(vyv2390, vyv2380, vyv2391, vyv2381, new_esEs2(vyv2391, vyv2381, bf), bf) 248.95/165.43 new_esEs2(vyv2391, vyv2381, ty_Int) -> new_esEs(new_sr14(vyv2391, vyv2381)) 248.95/165.43 new_esEs2(vyv2391, vyv2381, ty_Integer) -> new_esEs1(new_sr8(vyv2391, vyv2381)) 248.95/165.43 new_sr13(vyv239, vyv238) -> error([]) 248.95/165.43 new_sr11(vyv239, vyv238) -> error([]) 248.95/165.43 new_primMinusNat0(Succ(vyv2280), Succ(vyv244000)) -> new_primMinusNat0(vyv2280, vyv244000) 248.95/165.43 new_primMinusNat0(Zero, Zero) -> Pos(Zero) 248.95/165.43 new_primMinusNat0(Zero, Succ(vyv244000)) -> Neg(Succ(vyv244000)) 248.95/165.43 new_primMinusNat0(Succ(vyv2280), Zero) -> Pos(Succ(vyv2280)) 248.95/165.43 248.95/165.43 The set Q consists of the following terms: 248.95/165.43 248.95/165.43 new_rem(Pos(x0), Pos(Succ(x1))) 248.95/165.43 new_quot1(x0, x1, x2, x3, ty_Integer) 248.95/165.43 new_primModNatS1(Succ(Zero), Succ(x0)) 248.95/165.43 new_primMulNat4(Zero) 248.95/165.43 new_gcd1(False, x0, x1) 248.95/165.43 new_primEqInt(Pos(Zero)) 248.95/165.43 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 248.95/165.43 new_rem(Pos(x0), Neg(Succ(x1))) 248.95/165.43 new_rem(Neg(x0), Pos(Succ(x1))) 248.95/165.43 new_sr10(x0) 248.95/165.43 new_quot1(x0, x1, x2, x3, ty_Int) 248.95/165.43 new_quot2(x0, x1, x2, x3, ty_Integer) 248.95/165.43 new_primModNatS01(x0, x1, Succ(x2), Zero) 248.95/165.43 new_primMulNat3(Zero) 248.95/165.43 new_primDivNatS02(x0, x1, Succ(x2), Zero) 248.95/165.43 new_quot2(x0, x1, x2, x3, ty_Int) 248.95/165.43 new_gcd2(False, x0, x1) 248.95/165.43 new_primDivNatS1(Succ(Zero), Zero) 248.95/165.43 new_esEs0(x0, ty_Int) 248.95/165.43 new_sr14(Pos(x0), Pos(x1)) 248.95/165.43 new_primMulNat0(Zero, Zero) 248.95/165.43 new_primPlusNat0(Succ(x0), Zero) 248.95/165.43 new_primMulNat2(Zero) 248.95/165.43 new_sr11(x0, x1) 248.95/165.43 new_primModNatS01(x0, x1, Zero, Zero) 248.95/165.43 new_esEs2(x0, x1, ty_Int) 248.95/165.43 new_gcd1(True, x0, x1) 248.95/165.43 new_sr13(x0, x1) 248.95/165.43 new_sr14(Pos(x0), Neg(x1)) 248.95/165.43 new_sr14(Neg(x0), Pos(x1)) 248.95/165.43 new_primDivNatS1(Succ(Succ(x0)), Succ(x1)) 248.95/165.43 new_sr1(x0, ty_Int) 248.95/165.43 new_primModNatS1(Zero, x0) 248.95/165.43 new_esEs(Pos(Succ(x0))) 248.95/165.43 new_primMulNat3(Succ(x0)) 248.95/165.43 new_sr1(x0, app(ty_Ratio, x1)) 248.95/165.43 new_primQuotInt(x0, Neg(Succ(x1))) 248.95/165.43 new_reduce2Reduce1(x0, x1, x2, x3, False, x4) 248.95/165.43 new_primMinusNat0(Zero, Zero) 248.95/165.43 new_primDivNatS1(Zero, x0) 248.95/165.43 new_primDivNatS02(x0, x1, Succ(x2), Succ(x3)) 248.95/165.43 new_primModNatS02(x0, x1) 248.95/165.43 new_primDivNatS1(Succ(Zero), Succ(x0)) 248.95/165.43 new_sr6(Neg(x0)) 248.95/165.43 new_gcd0Gcd'10(True, x0, x1) 248.95/165.43 new_primMulNat0(Succ(x0), Succ(x1)) 248.95/165.43 new_abs(Neg(Zero)) 248.95/165.43 new_ms(x0, Neg(x1)) 248.95/165.43 new_rem(Pos(x0), Neg(Zero)) 248.95/165.43 new_rem(Neg(x0), Pos(Zero)) 248.95/165.43 new_primMinusNatS2(Zero, Succ(x0)) 248.95/165.43 new_esEs(Neg(Succ(x0))) 248.95/165.43 new_error 248.95/165.43 new_primModNatS1(Succ(Zero), Zero) 248.95/165.43 new_primMulNat0(Zero, Succ(x0)) 248.95/165.43 new_quot(x0, x1, x2) 248.95/165.43 new_gcd2(True, x0, x1) 248.95/165.43 new_gcd0Gcd'11(True, x0, x1) 248.95/165.43 new_primEqInt(Neg(Zero)) 248.95/165.43 new_sr2(x0, x1, ty_Double) 248.95/165.43 new_primMulNat0(Succ(x0), Zero) 248.95/165.43 new_quot0(Neg(x0), x1, x2) 248.95/165.43 new_primMinusNatS2(Succ(x0), Succ(x1)) 248.95/165.43 new_sr8(x0, x1) 248.95/165.43 new_primDivNatS01(x0, x1) 248.95/165.43 new_primDivNatS02(x0, x1, Zero, Succ(x2)) 248.95/165.43 new_primPlusNat0(Succ(x0), Succ(x1)) 248.95/165.43 new_sr1(x0, ty_Integer) 248.95/165.43 new_primPlusNat0(Zero, Zero) 248.95/165.43 new_sr1(x0, ty_Float) 248.95/165.43 new_primMinusNat0(Succ(x0), Succ(x1)) 248.95/165.43 new_sr12(:%(x0, x1), :%(x2, x3), x4) 248.95/165.43 new_abs(Neg(Succ(x0))) 248.95/165.43 new_sr1(x0, ty_Double) 248.95/165.43 new_sr7(x0) 248.95/165.43 new_gcd0(x0, x1) 248.95/165.43 new_primQuotInt0(x0, Pos(Succ(x1))) 248.95/165.43 new_sr5(:%(x0, x1), x2) 248.95/165.43 new_primMinusNatS2(Zero, Zero) 248.95/165.43 new_primMulNat1(Succ(x0)) 248.95/165.43 new_ms(x0, Pos(Zero)) 248.95/165.43 new_abs(Pos(Succ(x0))) 248.95/165.43 new_esEs(Pos(Zero)) 248.95/165.43 new_primQuotInt0(x0, Pos(Zero)) 248.95/165.43 new_primEqInt(Neg(Succ(x0))) 248.95/165.43 new_primQuotInt(x0, Neg(Zero)) 248.95/165.43 new_primQuotInt0(x0, Neg(Zero)) 248.95/165.43 new_primQuotInt0(x0, Neg(Succ(x1))) 248.95/165.43 new_gcd(x0, x1) 248.95/165.43 new_quot0(Pos(x0), x1, x2) 248.95/165.43 new_primMinusNatS0(x0) 248.95/165.43 new_primPlusNat0(Zero, Succ(x0)) 248.95/165.43 new_sr2(x0, x1, app(ty_Ratio, x2)) 248.95/165.43 new_sr2(x0, x1, ty_Int) 248.95/165.43 new_primQuotInt(x0, Pos(Succ(x1))) 248.95/165.43 new_primDivNatS1(Succ(Succ(x0)), Zero) 248.95/165.43 new_rem(Pos(x0), Pos(Zero)) 248.95/165.43 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 248.95/165.43 new_primDivNatS02(x0, x1, Zero, Zero) 248.95/165.43 new_abs(Pos(Zero)) 248.95/165.43 new_gcd0Gcd'10(False, x0, x1) 248.95/165.43 new_ms(x0, Pos(Succ(x1))) 248.95/165.43 new_primMinusNatS1 248.95/165.43 new_esEs1(Integer(x0)) 248.95/165.43 new_primMinusNat0(Succ(x0), Zero) 248.95/165.43 new_sr2(x0, x1, ty_Integer) 248.95/165.43 new_primModNatS01(x0, x1, Zero, Succ(x2)) 248.95/165.43 new_primMulNat2(Succ(x0)) 248.95/165.43 new_sr14(Neg(x0), Neg(x1)) 248.95/165.43 new_sr2(x0, x1, ty_Float) 248.95/165.43 new_primMinusNatS2(Succ(x0), Zero) 248.95/165.43 new_sr6(Pos(x0)) 248.95/165.43 new_esEs2(x0, x1, ty_Integer) 248.95/165.43 new_primMulNat4(Succ(x0)) 248.95/165.43 new_rem(Neg(x0), Neg(Succ(x1))) 248.95/165.43 new_primEqInt(Pos(Succ(x0))) 248.95/165.43 new_primQuotInt(x0, Pos(Zero)) 248.95/165.43 new_gcd0Gcd'11(False, x0, x1) 248.95/165.43 new_sr9(x0) 248.95/165.43 new_primModNatS1(Succ(Succ(x0)), Zero) 248.95/165.43 new_esEs0(x0, ty_Integer) 248.95/165.43 new_gcd0Gcd'00(x0, x1) 248.95/165.43 new_reduce2Reduce1(x0, x1, x2, x3, True, x4) 248.95/165.43 new_esEs(Neg(Zero)) 248.95/165.43 new_primMulNat1(Zero) 248.95/165.43 new_primMinusNat0(Zero, Succ(x0)) 248.95/165.43 new_rem(Neg(x0), Neg(Zero)) 248.95/165.43 248.95/165.43 We have to consider all minimal (P,Q,R)-chains. 248.95/165.43 ---------------------------------------- 248.95/165.43 248.95/165.43 (905) TransformationProof (EQUIVALENT) 248.95/165.43 By rewriting [LPAR04] the rule new_pr2F(y0, Succ(x0), Pos(Succ(Zero)), y2, y3) -> new_pr2F3(new_primEqInt(Pos(Succ(x0))), y0, Succ(x0), Pos(Succ(Zero)), y2, y3) at position [0] we obtained the following new rules [LPAR04]: 248.95/165.43 248.95/165.43 (new_pr2F(y0, Succ(x0), Pos(Succ(Zero)), y2, y3) -> new_pr2F3(False, y0, Succ(x0), Pos(Succ(Zero)), y2, y3),new_pr2F(y0, Succ(x0), Pos(Succ(Zero)), y2, y3) -> new_pr2F3(False, y0, Succ(x0), Pos(Succ(Zero)), y2, y3)) 248.95/165.43 248.95/165.43 248.95/165.43 ---------------------------------------- 248.95/165.43 248.95/165.43 (906) 248.95/165.43 Obligation: 248.95/165.43 Q DP problem: 248.95/165.43 The TRS P consists of the following rules: 248.95/165.43 248.95/165.43 new_pr2F0G1(vyv226, vyv227, vyv228, Succ(Succ(vyv22900)), ba) -> new_pr2F0G1(vyv226, vyv227, vyv228, vyv22900, ba) 248.95/165.43 new_pr2F0G1(vyv226, vyv227, vyv228, Succ(Zero), ba) -> new_pr2F(vyv227, vyv228, Pos(Succ(Zero)), vyv226, ba) 248.95/165.43 new_pr2F3(False, vyv227, vyv228, vyv244, vyv226, ba) -> new_pr2F0(vyv227, new_ms(vyv228, vyv244), new_sr2(vyv227, vyv226, ba), ba) 248.95/165.43 new_pr2F0(vyv183, Pos(Succ(Succ(vyv222000))), vyv187, h) -> new_pr2F0G1(vyv187, vyv183, Succ(vyv222000), vyv222000, h) 248.95/165.43 new_pr2F0G1(vyv226, vyv227, vyv228, Zero, ba) -> new_pr2F0G(vyv226, new_sr1(vyv227, ba), Pos(new_primDivNatS1(Succ(vyv228), Succ(Zero))), ba) 248.95/165.43 new_pr2F0G(vyv187, vyv183, Pos(Succ(Succ(vyv222000))), h) -> new_pr2F0G1(vyv187, vyv183, Succ(vyv222000), vyv222000, h) 248.95/165.43 new_pr2F(y0, Succ(x0), Pos(Succ(Zero)), y2, y3) -> new_pr2F3(False, y0, Succ(x0), Pos(Succ(Zero)), y2, y3) 248.95/165.43 248.95/165.43 The TRS R consists of the following rules: 248.95/165.43 248.95/165.43 new_sr1(vyv227, ty_Int) -> new_sr6(vyv227) 248.95/165.43 new_sr1(vyv227, ty_Integer) -> new_sr7(vyv227) 248.95/165.43 new_sr1(vyv227, app(ty_Ratio, be)) -> new_sr5(vyv227, be) 248.95/165.43 new_sr1(vyv227, ty_Float) -> new_sr10(vyv227) 248.95/165.43 new_sr1(vyv227, ty_Double) -> new_sr9(vyv227) 248.95/165.43 new_primDivNatS1(Succ(Zero), Succ(vyv284000)) -> Zero 248.95/165.43 new_primDivNatS1(Succ(Succ(vyv270000)), Succ(vyv284000)) -> new_primDivNatS02(vyv270000, vyv284000, vyv270000, vyv284000) 248.95/165.43 new_primDivNatS02(vyv310, vyv311, Zero, Zero) -> new_primDivNatS01(vyv310, vyv311) 248.95/165.43 new_primDivNatS02(vyv310, vyv311, Succ(vyv3120), Zero) -> new_primDivNatS01(vyv310, vyv311) 248.95/165.43 new_primDivNatS02(vyv310, vyv311, Zero, Succ(vyv3130)) -> Zero 248.95/165.43 new_primDivNatS02(vyv310, vyv311, Succ(vyv3120), Succ(vyv3130)) -> new_primDivNatS02(vyv310, vyv311, vyv3120, vyv3130) 248.95/165.43 new_primDivNatS01(vyv310, vyv311) -> Succ(new_primDivNatS1(new_primMinusNatS2(vyv310, vyv311), Succ(vyv311))) 248.95/165.43 new_primMinusNatS2(Zero, Succ(vyv3110)) -> Zero 248.95/165.43 new_primMinusNatS2(Succ(vyv3100), Zero) -> Succ(vyv3100) 248.95/165.43 new_primMinusNatS2(Zero, Zero) -> Zero 248.95/165.43 new_primMinusNatS2(Succ(vyv3100), Succ(vyv3110)) -> new_primMinusNatS2(vyv3100, vyv3110) 248.95/165.43 new_primDivNatS1(Zero, vyv28400) -> Zero 248.95/165.43 new_sr9(vyv183) -> error([]) 248.95/165.43 new_sr10(vyv183) -> error([]) 248.95/165.43 new_sr5(:%(vyv1830, vyv1831), bd) -> new_reduce2Reduce1(vyv1830, vyv1830, vyv1831, vyv1831, new_esEs0(vyv1831, bd), bd) 248.95/165.43 new_esEs0(vyv1831, ty_Int) -> new_esEs(new_sr6(vyv1831)) 248.95/165.43 new_esEs0(vyv1831, ty_Integer) -> new_esEs1(new_sr7(vyv1831)) 248.95/165.43 new_reduce2Reduce1(vyv264, vyv265, vyv266, vyv267, False, bh) -> :%(new_quot1(vyv264, vyv265, vyv266, vyv267, bh), new_quot2(vyv266, vyv267, vyv264, vyv265, bh)) 248.95/165.43 new_reduce2Reduce1(vyv264, vyv265, vyv266, vyv267, True, bh) -> error([]) 248.95/165.43 new_quot1(vyv264, vyv265, vyv266, vyv267, ty_Int) -> new_quot0(new_sr14(vyv264, vyv265), new_sr14(vyv264, vyv265), new_sr14(vyv266, vyv267)) 248.95/165.43 new_quot1(vyv264, vyv265, vyv266, vyv267, ty_Integer) -> new_quot(new_sr8(vyv264, vyv265), new_sr8(vyv264, vyv265), new_sr8(vyv266, vyv267)) 248.95/165.43 new_quot2(vyv266, vyv267, vyv264, vyv265, ty_Int) -> new_quot0(new_sr14(vyv266, vyv267), new_sr14(vyv264, vyv265), new_sr14(vyv266, vyv267)) 248.95/165.43 new_quot2(vyv266, vyv267, vyv264, vyv265, ty_Integer) -> new_quot(new_sr8(vyv266, vyv267), new_sr8(vyv264, vyv265), new_sr8(vyv266, vyv267)) 248.95/165.43 new_sr8(vyv239, vyv238) -> error([]) 248.95/165.43 new_quot(vyv273, vyv275, vyv274) -> error([]) 248.95/165.43 new_sr14(Pos(vyv2390), Neg(vyv2380)) -> Neg(new_primMulNat0(vyv2390, vyv2380)) 248.95/165.43 new_sr14(Neg(vyv2390), Pos(vyv2380)) -> Neg(new_primMulNat0(vyv2390, vyv2380)) 248.95/165.43 new_sr14(Neg(vyv2390), Neg(vyv2380)) -> Pos(new_primMulNat0(vyv2390, vyv2380)) 248.95/165.43 new_sr14(Pos(vyv2390), Pos(vyv2380)) -> Pos(new_primMulNat0(vyv2390, vyv2380)) 248.95/165.43 new_quot0(Neg(vyv2700), vyv272, vyv271) -> new_primQuotInt0(vyv2700, new_gcd(vyv272, vyv271)) 248.95/165.43 new_quot0(Pos(vyv2700), vyv272, vyv271) -> new_primQuotInt(vyv2700, new_gcd(vyv272, vyv271)) 248.95/165.43 new_gcd(vyv272, vyv271) -> new_gcd2(new_esEs(vyv272), vyv272, vyv271) 248.95/165.43 new_primQuotInt(vyv2700, Pos(Succ(vyv28400))) -> Pos(new_primDivNatS1(vyv2700, vyv28400)) 248.95/165.43 new_primQuotInt(vyv2700, Neg(Zero)) -> new_error 248.95/165.43 new_primQuotInt(vyv2700, Pos(Zero)) -> new_error 248.95/165.43 new_primQuotInt(vyv2700, Neg(Succ(vyv28400))) -> Neg(new_primDivNatS1(vyv2700, vyv28400)) 248.95/165.43 new_primDivNatS1(Succ(Succ(vyv270000)), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS0(vyv270000), Zero)) 248.95/165.43 new_primDivNatS1(Succ(Zero), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS1, Zero)) 248.95/165.43 new_primMinusNatS1 -> Zero 248.95/165.43 new_primMinusNatS0(vyv270000) -> Succ(vyv270000) 248.95/165.43 new_error -> error([]) 248.95/165.43 new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) 248.95/165.43 new_esEs(Pos(Succ(vyv24100))) -> new_primEqInt(Pos(Succ(vyv24100))) 248.95/165.43 new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) 248.95/165.43 new_esEs(Neg(Succ(vyv24100))) -> new_primEqInt(Neg(Succ(vyv24100))) 248.95/165.43 new_gcd2(True, vyv272, vyv271) -> new_gcd1(new_esEs(vyv271), vyv272, vyv271) 248.95/165.43 new_gcd2(False, vyv272, vyv271) -> new_gcd0(vyv272, vyv271) 248.95/165.43 new_gcd0(vyv272, vyv271) -> new_gcd0Gcd'10(new_esEs(new_abs(vyv271)), vyv272, vyv271) 248.95/165.43 new_abs(Neg(Zero)) -> Neg(Zero) 248.95/165.43 new_abs(Neg(Succ(vyv27100))) -> Pos(Succ(vyv27100)) 248.95/165.43 new_abs(Pos(Succ(vyv27100))) -> Pos(Succ(vyv27100)) 248.95/165.43 new_abs(Pos(Zero)) -> Pos(Zero) 248.95/165.43 new_gcd0Gcd'10(True, vyv272, vyv271) -> new_abs(vyv272) 248.95/165.43 new_gcd0Gcd'10(False, vyv272, vyv271) -> new_gcd0Gcd'00(new_abs(vyv272), new_abs(vyv271)) 248.95/165.43 new_gcd0Gcd'11(False, vyv291, vyv292) -> new_gcd0Gcd'00(vyv291, new_rem(vyv292, vyv291)) 248.95/165.43 new_gcd0Gcd'00(vyv292, vyv291) -> new_gcd0Gcd'11(new_esEs(new_rem(vyv292, vyv291)), vyv291, vyv292) 248.95/165.43 new_rem(Pos(vyv2920), Neg(Zero)) -> new_error 248.95/165.43 new_rem(Neg(vyv2920), Pos(Zero)) -> new_error 248.95/165.43 new_rem(Pos(vyv2920), Neg(Succ(vyv29100))) -> Pos(new_primModNatS1(vyv2920, vyv29100)) 248.95/165.43 new_rem(Neg(vyv2920), Pos(Succ(vyv29100))) -> Neg(new_primModNatS1(vyv2920, vyv29100)) 248.95/165.43 new_rem(Pos(vyv2920), Pos(Succ(vyv29100))) -> Pos(new_primModNatS1(vyv2920, vyv29100)) 248.95/165.43 new_rem(Neg(vyv2920), Neg(Zero)) -> new_error 248.95/165.43 new_rem(Neg(vyv2920), Neg(Succ(vyv29100))) -> Neg(new_primModNatS1(vyv2920, vyv29100)) 248.95/165.43 new_rem(Pos(vyv2920), Pos(Zero)) -> new_error 248.95/165.43 new_gcd0Gcd'11(True, vyv291, vyv292) -> vyv291 248.95/165.43 new_primModNatS1(Succ(Zero), Succ(vyv291000)) -> Succ(Zero) 248.95/165.43 new_primModNatS1(Zero, vyv29100) -> Zero 248.95/165.43 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 248.95/165.43 new_primModNatS1(Succ(Succ(vyv292000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv292000), Zero) 248.95/165.43 new_primModNatS1(Succ(Succ(vyv292000)), Succ(vyv291000)) -> new_primModNatS01(vyv292000, vyv291000, vyv292000, vyv291000) 248.95/165.43 new_primModNatS01(vyv330, vyv331, Zero, Zero) -> new_primModNatS02(vyv330, vyv331) 248.95/165.43 new_primModNatS02(vyv330, vyv331) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv330), Succ(vyv331)), Succ(vyv331)) 248.95/165.43 new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Zero) -> new_primModNatS02(vyv330, vyv331) 248.95/165.43 new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Succ(vyv3330)) -> new_primModNatS01(vyv330, vyv331, vyv3320, vyv3330) 248.95/165.43 new_primModNatS01(vyv330, vyv331, Zero, Succ(vyv3330)) -> Succ(Succ(vyv330)) 248.95/165.43 new_gcd1(True, vyv272, vyv271) -> new_error 248.95/165.43 new_gcd1(False, vyv272, vyv271) -> new_gcd0(vyv272, vyv271) 248.95/165.43 new_primEqInt(Neg(Succ(vyv242000))) -> False 248.95/165.43 new_primEqInt(Pos(Zero)) -> True 248.95/165.43 new_primEqInt(Pos(Succ(vyv242000))) -> False 248.95/165.43 new_primEqInt(Neg(Zero)) -> True 248.95/165.43 new_primQuotInt0(vyv2700, Pos(Succ(vyv28700))) -> Neg(new_primDivNatS1(vyv2700, vyv28700)) 248.95/165.43 new_primQuotInt0(vyv2700, Neg(Zero)) -> new_error 248.95/165.43 new_primQuotInt0(vyv2700, Neg(Succ(vyv28700))) -> Pos(new_primDivNatS1(vyv2700, vyv28700)) 248.95/165.43 new_primQuotInt0(vyv2700, Pos(Zero)) -> new_error 248.95/165.43 new_primMulNat0(Succ(vyv23900), Zero) -> Zero 248.95/165.43 new_primMulNat0(Zero, Succ(vyv23800)) -> Zero 248.95/165.43 new_primMulNat0(Zero, Zero) -> Zero 248.95/165.43 new_primMulNat0(Succ(vyv23900), Succ(vyv23800)) -> new_primPlusNat0(new_primMulNat0(vyv23900, Succ(vyv23800)), Succ(vyv23800)) 248.95/165.43 new_primPlusNat0(Succ(vyv4000), Succ(vyv5000)) -> Succ(Succ(new_primPlusNat0(vyv4000, vyv5000))) 248.95/165.43 new_primPlusNat0(Zero, Succ(vyv5000)) -> Succ(vyv5000) 248.95/165.43 new_primPlusNat0(Zero, Zero) -> Zero 248.95/165.43 new_primPlusNat0(Succ(vyv4000), Zero) -> Succ(vyv4000) 248.95/165.43 new_sr7(vyv183) -> error([]) 248.95/165.43 new_esEs1(Integer(vyv2690)) -> new_primEqInt(vyv2690) 248.95/165.43 new_sr6(Neg(vyv1830)) -> Pos(new_primMulNat1(vyv1830)) 248.95/165.43 new_sr6(Pos(vyv1830)) -> Pos(new_primMulNat1(vyv1830)) 248.95/165.43 new_primMulNat1(Succ(vyv18300)) -> new_primPlusNat0(new_primMulNat2(vyv18300), Succ(vyv18300)) 248.95/165.43 new_primMulNat1(Zero) -> Zero 248.95/165.43 new_primMulNat2(Succ(vyv183000)) -> new_primPlusNat0(new_primMulNat3(vyv183000), Succ(Succ(vyv183000))) 248.95/165.43 new_primMulNat2(Zero) -> Zero 248.95/165.43 new_primMulNat3(Succ(vyv1830000)) -> new_primPlusNat0(new_primMulNat4(vyv1830000), Succ(Succ(Succ(vyv1830000)))) 248.95/165.43 new_primMulNat3(Zero) -> Zero 248.95/165.43 new_primMulNat4(Succ(vyv18300000)) -> new_primPlusNat0(new_primMulNat0(vyv18300000, Succ(Succ(Succ(Succ(vyv18300000))))), Succ(Succ(Succ(Succ(vyv18300000))))) 248.95/165.43 new_primMulNat4(Zero) -> Zero 248.95/165.43 new_ms(vyv228, Neg(vyv2440)) -> Pos(new_primPlusNat0(Succ(vyv228), vyv2440)) 248.95/165.43 new_ms(vyv228, Pos(Succ(vyv24400))) -> new_primMinusNat0(vyv228, vyv24400) 248.95/165.43 new_ms(vyv228, Pos(Zero)) -> Pos(Succ(vyv228)) 248.95/165.43 new_sr2(vyv227, vyv226, ty_Int) -> new_sr14(vyv227, vyv226) 248.95/165.43 new_sr2(vyv227, vyv226, ty_Double) -> new_sr11(vyv227, vyv226) 248.95/165.43 new_sr2(vyv227, vyv226, ty_Integer) -> new_sr8(vyv227, vyv226) 248.95/165.43 new_sr2(vyv227, vyv226, ty_Float) -> new_sr13(vyv227, vyv226) 248.95/165.43 new_sr2(vyv227, vyv226, app(ty_Ratio, be)) -> new_sr12(vyv227, vyv226, be) 248.95/165.43 new_sr12(:%(vyv2390, vyv2391), :%(vyv2380, vyv2381), bf) -> new_reduce2Reduce1(vyv2390, vyv2380, vyv2391, vyv2381, new_esEs2(vyv2391, vyv2381, bf), bf) 248.95/165.43 new_esEs2(vyv2391, vyv2381, ty_Int) -> new_esEs(new_sr14(vyv2391, vyv2381)) 248.95/165.43 new_esEs2(vyv2391, vyv2381, ty_Integer) -> new_esEs1(new_sr8(vyv2391, vyv2381)) 248.95/165.43 new_sr13(vyv239, vyv238) -> error([]) 248.95/165.43 new_sr11(vyv239, vyv238) -> error([]) 248.95/165.43 new_primMinusNat0(Succ(vyv2280), Succ(vyv244000)) -> new_primMinusNat0(vyv2280, vyv244000) 248.95/165.43 new_primMinusNat0(Zero, Zero) -> Pos(Zero) 248.95/165.43 new_primMinusNat0(Zero, Succ(vyv244000)) -> Neg(Succ(vyv244000)) 248.95/165.43 new_primMinusNat0(Succ(vyv2280), Zero) -> Pos(Succ(vyv2280)) 248.95/165.43 248.95/165.43 The set Q consists of the following terms: 248.95/165.43 248.95/165.43 new_rem(Pos(x0), Pos(Succ(x1))) 248.95/165.43 new_quot1(x0, x1, x2, x3, ty_Integer) 248.95/165.43 new_primModNatS1(Succ(Zero), Succ(x0)) 248.95/165.43 new_primMulNat4(Zero) 248.95/165.43 new_gcd1(False, x0, x1) 248.95/165.43 new_primEqInt(Pos(Zero)) 248.95/165.43 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 248.95/165.43 new_rem(Pos(x0), Neg(Succ(x1))) 248.95/165.43 new_rem(Neg(x0), Pos(Succ(x1))) 248.95/165.43 new_sr10(x0) 248.95/165.43 new_quot1(x0, x1, x2, x3, ty_Int) 248.95/165.43 new_quot2(x0, x1, x2, x3, ty_Integer) 248.95/165.43 new_primModNatS01(x0, x1, Succ(x2), Zero) 248.95/165.43 new_primMulNat3(Zero) 248.95/165.43 new_primDivNatS02(x0, x1, Succ(x2), Zero) 248.95/165.43 new_quot2(x0, x1, x2, x3, ty_Int) 248.95/165.43 new_gcd2(False, x0, x1) 248.95/165.43 new_primDivNatS1(Succ(Zero), Zero) 248.95/165.43 new_esEs0(x0, ty_Int) 248.95/165.43 new_sr14(Pos(x0), Pos(x1)) 248.95/165.43 new_primMulNat0(Zero, Zero) 248.95/165.43 new_primPlusNat0(Succ(x0), Zero) 248.95/165.43 new_primMulNat2(Zero) 248.95/165.43 new_sr11(x0, x1) 248.95/165.43 new_primModNatS01(x0, x1, Zero, Zero) 248.95/165.43 new_esEs2(x0, x1, ty_Int) 248.95/165.43 new_gcd1(True, x0, x1) 248.95/165.43 new_sr13(x0, x1) 248.95/165.43 new_sr14(Pos(x0), Neg(x1)) 248.95/165.43 new_sr14(Neg(x0), Pos(x1)) 248.95/165.43 new_primDivNatS1(Succ(Succ(x0)), Succ(x1)) 248.95/165.43 new_sr1(x0, ty_Int) 248.95/165.43 new_primModNatS1(Zero, x0) 248.95/165.43 new_esEs(Pos(Succ(x0))) 248.95/165.43 new_primMulNat3(Succ(x0)) 248.95/165.43 new_sr1(x0, app(ty_Ratio, x1)) 248.95/165.43 new_primQuotInt(x0, Neg(Succ(x1))) 248.95/165.43 new_reduce2Reduce1(x0, x1, x2, x3, False, x4) 248.95/165.43 new_primMinusNat0(Zero, Zero) 248.95/165.43 new_primDivNatS1(Zero, x0) 248.95/165.43 new_primDivNatS02(x0, x1, Succ(x2), Succ(x3)) 248.95/165.43 new_primModNatS02(x0, x1) 248.95/165.43 new_primDivNatS1(Succ(Zero), Succ(x0)) 248.95/165.43 new_sr6(Neg(x0)) 248.95/165.43 new_gcd0Gcd'10(True, x0, x1) 248.95/165.43 new_primMulNat0(Succ(x0), Succ(x1)) 248.95/165.43 new_abs(Neg(Zero)) 248.95/165.43 new_ms(x0, Neg(x1)) 248.95/165.43 new_rem(Pos(x0), Neg(Zero)) 248.95/165.43 new_rem(Neg(x0), Pos(Zero)) 248.95/165.43 new_primMinusNatS2(Zero, Succ(x0)) 248.95/165.43 new_esEs(Neg(Succ(x0))) 248.95/165.43 new_error 248.95/165.43 new_primModNatS1(Succ(Zero), Zero) 248.95/165.43 new_primMulNat0(Zero, Succ(x0)) 248.95/165.43 new_quot(x0, x1, x2) 248.95/165.43 new_gcd2(True, x0, x1) 248.95/165.43 new_gcd0Gcd'11(True, x0, x1) 248.95/165.43 new_primEqInt(Neg(Zero)) 248.95/165.43 new_sr2(x0, x1, ty_Double) 248.95/165.43 new_primMulNat0(Succ(x0), Zero) 248.95/165.43 new_quot0(Neg(x0), x1, x2) 248.95/165.43 new_primMinusNatS2(Succ(x0), Succ(x1)) 248.95/165.43 new_sr8(x0, x1) 248.95/165.43 new_primDivNatS01(x0, x1) 248.95/165.43 new_primDivNatS02(x0, x1, Zero, Succ(x2)) 248.95/165.43 new_primPlusNat0(Succ(x0), Succ(x1)) 248.95/165.43 new_sr1(x0, ty_Integer) 248.95/165.43 new_primPlusNat0(Zero, Zero) 248.95/165.43 new_sr1(x0, ty_Float) 248.95/165.43 new_primMinusNat0(Succ(x0), Succ(x1)) 248.95/165.43 new_sr12(:%(x0, x1), :%(x2, x3), x4) 248.95/165.43 new_abs(Neg(Succ(x0))) 248.95/165.43 new_sr1(x0, ty_Double) 248.95/165.43 new_sr7(x0) 248.95/165.43 new_gcd0(x0, x1) 248.95/165.43 new_primQuotInt0(x0, Pos(Succ(x1))) 248.95/165.43 new_sr5(:%(x0, x1), x2) 248.95/165.43 new_primMinusNatS2(Zero, Zero) 248.95/165.43 new_primMulNat1(Succ(x0)) 248.95/165.43 new_ms(x0, Pos(Zero)) 248.95/165.43 new_abs(Pos(Succ(x0))) 248.95/165.43 new_esEs(Pos(Zero)) 248.95/165.43 new_primQuotInt0(x0, Pos(Zero)) 248.95/165.43 new_primEqInt(Neg(Succ(x0))) 248.95/165.43 new_primQuotInt(x0, Neg(Zero)) 248.95/165.43 new_primQuotInt0(x0, Neg(Zero)) 248.95/165.43 new_primQuotInt0(x0, Neg(Succ(x1))) 248.95/165.43 new_gcd(x0, x1) 248.95/165.43 new_quot0(Pos(x0), x1, x2) 248.95/165.43 new_primMinusNatS0(x0) 248.95/165.43 new_primPlusNat0(Zero, Succ(x0)) 248.95/165.43 new_sr2(x0, x1, app(ty_Ratio, x2)) 248.95/165.43 new_sr2(x0, x1, ty_Int) 248.95/165.43 new_primQuotInt(x0, Pos(Succ(x1))) 248.95/165.43 new_primDivNatS1(Succ(Succ(x0)), Zero) 248.95/165.43 new_rem(Pos(x0), Pos(Zero)) 248.95/165.43 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 248.95/165.43 new_primDivNatS02(x0, x1, Zero, Zero) 248.95/165.43 new_abs(Pos(Zero)) 248.95/165.43 new_gcd0Gcd'10(False, x0, x1) 248.95/165.43 new_ms(x0, Pos(Succ(x1))) 248.95/165.43 new_primMinusNatS1 248.95/165.43 new_esEs1(Integer(x0)) 248.95/165.43 new_primMinusNat0(Succ(x0), Zero) 248.95/165.43 new_sr2(x0, x1, ty_Integer) 248.95/165.43 new_primModNatS01(x0, x1, Zero, Succ(x2)) 248.95/165.43 new_primMulNat2(Succ(x0)) 248.95/165.43 new_sr14(Neg(x0), Neg(x1)) 248.95/165.43 new_sr2(x0, x1, ty_Float) 248.95/165.43 new_primMinusNatS2(Succ(x0), Zero) 248.95/165.43 new_sr6(Pos(x0)) 248.95/165.43 new_esEs2(x0, x1, ty_Integer) 248.95/165.43 new_primMulNat4(Succ(x0)) 248.95/165.43 new_rem(Neg(x0), Neg(Succ(x1))) 248.95/165.43 new_primEqInt(Pos(Succ(x0))) 248.95/165.43 new_primQuotInt(x0, Pos(Zero)) 248.95/165.43 new_gcd0Gcd'11(False, x0, x1) 248.95/165.43 new_sr9(x0) 248.95/165.43 new_primModNatS1(Succ(Succ(x0)), Zero) 248.95/165.43 new_esEs0(x0, ty_Integer) 248.95/165.43 new_gcd0Gcd'00(x0, x1) 248.95/165.43 new_reduce2Reduce1(x0, x1, x2, x3, True, x4) 248.95/165.43 new_esEs(Neg(Zero)) 248.95/165.43 new_primMulNat1(Zero) 248.95/165.43 new_primMinusNat0(Zero, Succ(x0)) 248.95/165.43 new_rem(Neg(x0), Neg(Zero)) 248.95/165.43 248.95/165.43 We have to consider all minimal (P,Q,R)-chains. 248.95/165.43 ---------------------------------------- 248.95/165.43 248.95/165.43 (907) TransformationProof (EQUIVALENT) 248.95/165.43 By instantiating [LPAR04] the rule new_pr2F3(False, vyv227, vyv228, vyv244, vyv226, ba) -> new_pr2F0(vyv227, new_ms(vyv228, vyv244), new_sr2(vyv227, vyv226, ba), ba) we obtained the following new rules [LPAR04]: 248.95/165.43 248.95/165.43 (new_pr2F3(False, z0, Succ(z1), Pos(Succ(Zero)), z2, z3) -> new_pr2F0(z0, new_ms(Succ(z1), Pos(Succ(Zero))), new_sr2(z0, z2, z3), z3),new_pr2F3(False, z0, Succ(z1), Pos(Succ(Zero)), z2, z3) -> new_pr2F0(z0, new_ms(Succ(z1), Pos(Succ(Zero))), new_sr2(z0, z2, z3), z3)) 248.95/165.43 248.95/165.43 248.95/165.43 ---------------------------------------- 248.95/165.43 248.95/165.43 (908) 248.95/165.43 Obligation: 248.95/165.43 Q DP problem: 248.95/165.43 The TRS P consists of the following rules: 248.95/165.43 248.95/165.43 new_pr2F0G1(vyv226, vyv227, vyv228, Succ(Succ(vyv22900)), ba) -> new_pr2F0G1(vyv226, vyv227, vyv228, vyv22900, ba) 248.95/165.43 new_pr2F0G1(vyv226, vyv227, vyv228, Succ(Zero), ba) -> new_pr2F(vyv227, vyv228, Pos(Succ(Zero)), vyv226, ba) 248.95/165.43 new_pr2F0(vyv183, Pos(Succ(Succ(vyv222000))), vyv187, h) -> new_pr2F0G1(vyv187, vyv183, Succ(vyv222000), vyv222000, h) 248.95/165.43 new_pr2F0G1(vyv226, vyv227, vyv228, Zero, ba) -> new_pr2F0G(vyv226, new_sr1(vyv227, ba), Pos(new_primDivNatS1(Succ(vyv228), Succ(Zero))), ba) 248.95/165.43 new_pr2F0G(vyv187, vyv183, Pos(Succ(Succ(vyv222000))), h) -> new_pr2F0G1(vyv187, vyv183, Succ(vyv222000), vyv222000, h) 248.95/165.43 new_pr2F(y0, Succ(x0), Pos(Succ(Zero)), y2, y3) -> new_pr2F3(False, y0, Succ(x0), Pos(Succ(Zero)), y2, y3) 248.95/165.43 new_pr2F3(False, z0, Succ(z1), Pos(Succ(Zero)), z2, z3) -> new_pr2F0(z0, new_ms(Succ(z1), Pos(Succ(Zero))), new_sr2(z0, z2, z3), z3) 248.95/165.43 248.95/165.43 The TRS R consists of the following rules: 248.95/165.43 248.95/165.43 new_sr1(vyv227, ty_Int) -> new_sr6(vyv227) 248.95/165.43 new_sr1(vyv227, ty_Integer) -> new_sr7(vyv227) 248.95/165.43 new_sr1(vyv227, app(ty_Ratio, be)) -> new_sr5(vyv227, be) 248.95/165.43 new_sr1(vyv227, ty_Float) -> new_sr10(vyv227) 248.95/165.43 new_sr1(vyv227, ty_Double) -> new_sr9(vyv227) 248.95/165.43 new_primDivNatS1(Succ(Zero), Succ(vyv284000)) -> Zero 248.95/165.43 new_primDivNatS1(Succ(Succ(vyv270000)), Succ(vyv284000)) -> new_primDivNatS02(vyv270000, vyv284000, vyv270000, vyv284000) 248.95/165.43 new_primDivNatS02(vyv310, vyv311, Zero, Zero) -> new_primDivNatS01(vyv310, vyv311) 248.95/165.43 new_primDivNatS02(vyv310, vyv311, Succ(vyv3120), Zero) -> new_primDivNatS01(vyv310, vyv311) 248.95/165.43 new_primDivNatS02(vyv310, vyv311, Zero, Succ(vyv3130)) -> Zero 248.95/165.43 new_primDivNatS02(vyv310, vyv311, Succ(vyv3120), Succ(vyv3130)) -> new_primDivNatS02(vyv310, vyv311, vyv3120, vyv3130) 248.95/165.43 new_primDivNatS01(vyv310, vyv311) -> Succ(new_primDivNatS1(new_primMinusNatS2(vyv310, vyv311), Succ(vyv311))) 248.95/165.43 new_primMinusNatS2(Zero, Succ(vyv3110)) -> Zero 248.95/165.43 new_primMinusNatS2(Succ(vyv3100), Zero) -> Succ(vyv3100) 248.95/165.43 new_primMinusNatS2(Zero, Zero) -> Zero 248.95/165.43 new_primMinusNatS2(Succ(vyv3100), Succ(vyv3110)) -> new_primMinusNatS2(vyv3100, vyv3110) 248.95/165.43 new_primDivNatS1(Zero, vyv28400) -> Zero 248.95/165.43 new_sr9(vyv183) -> error([]) 248.95/165.43 new_sr10(vyv183) -> error([]) 248.95/165.43 new_sr5(:%(vyv1830, vyv1831), bd) -> new_reduce2Reduce1(vyv1830, vyv1830, vyv1831, vyv1831, new_esEs0(vyv1831, bd), bd) 248.95/165.43 new_esEs0(vyv1831, ty_Int) -> new_esEs(new_sr6(vyv1831)) 248.95/165.43 new_esEs0(vyv1831, ty_Integer) -> new_esEs1(new_sr7(vyv1831)) 248.95/165.43 new_reduce2Reduce1(vyv264, vyv265, vyv266, vyv267, False, bh) -> :%(new_quot1(vyv264, vyv265, vyv266, vyv267, bh), new_quot2(vyv266, vyv267, vyv264, vyv265, bh)) 248.95/165.43 new_reduce2Reduce1(vyv264, vyv265, vyv266, vyv267, True, bh) -> error([]) 248.95/165.43 new_quot1(vyv264, vyv265, vyv266, vyv267, ty_Int) -> new_quot0(new_sr14(vyv264, vyv265), new_sr14(vyv264, vyv265), new_sr14(vyv266, vyv267)) 248.95/165.43 new_quot1(vyv264, vyv265, vyv266, vyv267, ty_Integer) -> new_quot(new_sr8(vyv264, vyv265), new_sr8(vyv264, vyv265), new_sr8(vyv266, vyv267)) 248.95/165.43 new_quot2(vyv266, vyv267, vyv264, vyv265, ty_Int) -> new_quot0(new_sr14(vyv266, vyv267), new_sr14(vyv264, vyv265), new_sr14(vyv266, vyv267)) 248.95/165.43 new_quot2(vyv266, vyv267, vyv264, vyv265, ty_Integer) -> new_quot(new_sr8(vyv266, vyv267), new_sr8(vyv264, vyv265), new_sr8(vyv266, vyv267)) 248.95/165.43 new_sr8(vyv239, vyv238) -> error([]) 248.95/165.43 new_quot(vyv273, vyv275, vyv274) -> error([]) 248.95/165.43 new_sr14(Pos(vyv2390), Neg(vyv2380)) -> Neg(new_primMulNat0(vyv2390, vyv2380)) 248.95/165.43 new_sr14(Neg(vyv2390), Pos(vyv2380)) -> Neg(new_primMulNat0(vyv2390, vyv2380)) 248.95/165.43 new_sr14(Neg(vyv2390), Neg(vyv2380)) -> Pos(new_primMulNat0(vyv2390, vyv2380)) 248.95/165.43 new_sr14(Pos(vyv2390), Pos(vyv2380)) -> Pos(new_primMulNat0(vyv2390, vyv2380)) 248.95/165.43 new_quot0(Neg(vyv2700), vyv272, vyv271) -> new_primQuotInt0(vyv2700, new_gcd(vyv272, vyv271)) 248.95/165.43 new_quot0(Pos(vyv2700), vyv272, vyv271) -> new_primQuotInt(vyv2700, new_gcd(vyv272, vyv271)) 248.95/165.43 new_gcd(vyv272, vyv271) -> new_gcd2(new_esEs(vyv272), vyv272, vyv271) 248.95/165.43 new_primQuotInt(vyv2700, Pos(Succ(vyv28400))) -> Pos(new_primDivNatS1(vyv2700, vyv28400)) 248.95/165.43 new_primQuotInt(vyv2700, Neg(Zero)) -> new_error 248.95/165.43 new_primQuotInt(vyv2700, Pos(Zero)) -> new_error 248.95/165.43 new_primQuotInt(vyv2700, Neg(Succ(vyv28400))) -> Neg(new_primDivNatS1(vyv2700, vyv28400)) 248.95/165.43 new_primDivNatS1(Succ(Succ(vyv270000)), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS0(vyv270000), Zero)) 248.95/165.43 new_primDivNatS1(Succ(Zero), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS1, Zero)) 248.95/165.43 new_primMinusNatS1 -> Zero 248.95/165.43 new_primMinusNatS0(vyv270000) -> Succ(vyv270000) 248.95/165.43 new_error -> error([]) 248.95/165.43 new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) 248.95/165.43 new_esEs(Pos(Succ(vyv24100))) -> new_primEqInt(Pos(Succ(vyv24100))) 248.95/165.43 new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) 248.95/165.43 new_esEs(Neg(Succ(vyv24100))) -> new_primEqInt(Neg(Succ(vyv24100))) 248.95/165.43 new_gcd2(True, vyv272, vyv271) -> new_gcd1(new_esEs(vyv271), vyv272, vyv271) 248.95/165.43 new_gcd2(False, vyv272, vyv271) -> new_gcd0(vyv272, vyv271) 248.95/165.43 new_gcd0(vyv272, vyv271) -> new_gcd0Gcd'10(new_esEs(new_abs(vyv271)), vyv272, vyv271) 248.95/165.43 new_abs(Neg(Zero)) -> Neg(Zero) 248.95/165.43 new_abs(Neg(Succ(vyv27100))) -> Pos(Succ(vyv27100)) 248.95/165.43 new_abs(Pos(Succ(vyv27100))) -> Pos(Succ(vyv27100)) 248.95/165.43 new_abs(Pos(Zero)) -> Pos(Zero) 248.95/165.43 new_gcd0Gcd'10(True, vyv272, vyv271) -> new_abs(vyv272) 248.95/165.43 new_gcd0Gcd'10(False, vyv272, vyv271) -> new_gcd0Gcd'00(new_abs(vyv272), new_abs(vyv271)) 248.95/165.43 new_gcd0Gcd'11(False, vyv291, vyv292) -> new_gcd0Gcd'00(vyv291, new_rem(vyv292, vyv291)) 248.95/165.43 new_gcd0Gcd'00(vyv292, vyv291) -> new_gcd0Gcd'11(new_esEs(new_rem(vyv292, vyv291)), vyv291, vyv292) 248.95/165.43 new_rem(Pos(vyv2920), Neg(Zero)) -> new_error 248.95/165.43 new_rem(Neg(vyv2920), Pos(Zero)) -> new_error 248.95/165.43 new_rem(Pos(vyv2920), Neg(Succ(vyv29100))) -> Pos(new_primModNatS1(vyv2920, vyv29100)) 248.95/165.43 new_rem(Neg(vyv2920), Pos(Succ(vyv29100))) -> Neg(new_primModNatS1(vyv2920, vyv29100)) 248.95/165.43 new_rem(Pos(vyv2920), Pos(Succ(vyv29100))) -> Pos(new_primModNatS1(vyv2920, vyv29100)) 248.95/165.43 new_rem(Neg(vyv2920), Neg(Zero)) -> new_error 248.95/165.43 new_rem(Neg(vyv2920), Neg(Succ(vyv29100))) -> Neg(new_primModNatS1(vyv2920, vyv29100)) 248.95/165.43 new_rem(Pos(vyv2920), Pos(Zero)) -> new_error 248.95/165.43 new_gcd0Gcd'11(True, vyv291, vyv292) -> vyv291 248.95/165.43 new_primModNatS1(Succ(Zero), Succ(vyv291000)) -> Succ(Zero) 248.95/165.43 new_primModNatS1(Zero, vyv29100) -> Zero 248.95/165.43 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 248.95/165.43 new_primModNatS1(Succ(Succ(vyv292000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv292000), Zero) 248.95/165.43 new_primModNatS1(Succ(Succ(vyv292000)), Succ(vyv291000)) -> new_primModNatS01(vyv292000, vyv291000, vyv292000, vyv291000) 248.95/165.43 new_primModNatS01(vyv330, vyv331, Zero, Zero) -> new_primModNatS02(vyv330, vyv331) 248.95/165.43 new_primModNatS02(vyv330, vyv331) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv330), Succ(vyv331)), Succ(vyv331)) 248.95/165.43 new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Zero) -> new_primModNatS02(vyv330, vyv331) 248.95/165.43 new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Succ(vyv3330)) -> new_primModNatS01(vyv330, vyv331, vyv3320, vyv3330) 248.95/165.43 new_primModNatS01(vyv330, vyv331, Zero, Succ(vyv3330)) -> Succ(Succ(vyv330)) 248.95/165.43 new_gcd1(True, vyv272, vyv271) -> new_error 248.95/165.43 new_gcd1(False, vyv272, vyv271) -> new_gcd0(vyv272, vyv271) 248.95/165.43 new_primEqInt(Neg(Succ(vyv242000))) -> False 248.95/165.43 new_primEqInt(Pos(Zero)) -> True 248.95/165.43 new_primEqInt(Pos(Succ(vyv242000))) -> False 248.95/165.43 new_primEqInt(Neg(Zero)) -> True 248.95/165.43 new_primQuotInt0(vyv2700, Pos(Succ(vyv28700))) -> Neg(new_primDivNatS1(vyv2700, vyv28700)) 248.95/165.43 new_primQuotInt0(vyv2700, Neg(Zero)) -> new_error 248.95/165.43 new_primQuotInt0(vyv2700, Neg(Succ(vyv28700))) -> Pos(new_primDivNatS1(vyv2700, vyv28700)) 248.95/165.43 new_primQuotInt0(vyv2700, Pos(Zero)) -> new_error 248.95/165.43 new_primMulNat0(Succ(vyv23900), Zero) -> Zero 248.95/165.43 new_primMulNat0(Zero, Succ(vyv23800)) -> Zero 248.95/165.43 new_primMulNat0(Zero, Zero) -> Zero 248.95/165.43 new_primMulNat0(Succ(vyv23900), Succ(vyv23800)) -> new_primPlusNat0(new_primMulNat0(vyv23900, Succ(vyv23800)), Succ(vyv23800)) 248.95/165.43 new_primPlusNat0(Succ(vyv4000), Succ(vyv5000)) -> Succ(Succ(new_primPlusNat0(vyv4000, vyv5000))) 248.95/165.43 new_primPlusNat0(Zero, Succ(vyv5000)) -> Succ(vyv5000) 248.95/165.43 new_primPlusNat0(Zero, Zero) -> Zero 248.95/165.43 new_primPlusNat0(Succ(vyv4000), Zero) -> Succ(vyv4000) 248.95/165.43 new_sr7(vyv183) -> error([]) 248.95/165.43 new_esEs1(Integer(vyv2690)) -> new_primEqInt(vyv2690) 248.95/165.43 new_sr6(Neg(vyv1830)) -> Pos(new_primMulNat1(vyv1830)) 248.95/165.43 new_sr6(Pos(vyv1830)) -> Pos(new_primMulNat1(vyv1830)) 248.95/165.43 new_primMulNat1(Succ(vyv18300)) -> new_primPlusNat0(new_primMulNat2(vyv18300), Succ(vyv18300)) 248.95/165.43 new_primMulNat1(Zero) -> Zero 248.95/165.43 new_primMulNat2(Succ(vyv183000)) -> new_primPlusNat0(new_primMulNat3(vyv183000), Succ(Succ(vyv183000))) 248.95/165.43 new_primMulNat2(Zero) -> Zero 248.95/165.43 new_primMulNat3(Succ(vyv1830000)) -> new_primPlusNat0(new_primMulNat4(vyv1830000), Succ(Succ(Succ(vyv1830000)))) 248.95/165.43 new_primMulNat3(Zero) -> Zero 248.95/165.43 new_primMulNat4(Succ(vyv18300000)) -> new_primPlusNat0(new_primMulNat0(vyv18300000, Succ(Succ(Succ(Succ(vyv18300000))))), Succ(Succ(Succ(Succ(vyv18300000))))) 248.95/165.43 new_primMulNat4(Zero) -> Zero 248.95/165.43 new_ms(vyv228, Neg(vyv2440)) -> Pos(new_primPlusNat0(Succ(vyv228), vyv2440)) 248.95/165.43 new_ms(vyv228, Pos(Succ(vyv24400))) -> new_primMinusNat0(vyv228, vyv24400) 248.95/165.43 new_ms(vyv228, Pos(Zero)) -> Pos(Succ(vyv228)) 248.95/165.43 new_sr2(vyv227, vyv226, ty_Int) -> new_sr14(vyv227, vyv226) 248.95/165.43 new_sr2(vyv227, vyv226, ty_Double) -> new_sr11(vyv227, vyv226) 248.95/165.43 new_sr2(vyv227, vyv226, ty_Integer) -> new_sr8(vyv227, vyv226) 248.95/165.43 new_sr2(vyv227, vyv226, ty_Float) -> new_sr13(vyv227, vyv226) 248.95/165.43 new_sr2(vyv227, vyv226, app(ty_Ratio, be)) -> new_sr12(vyv227, vyv226, be) 248.95/165.43 new_sr12(:%(vyv2390, vyv2391), :%(vyv2380, vyv2381), bf) -> new_reduce2Reduce1(vyv2390, vyv2380, vyv2391, vyv2381, new_esEs2(vyv2391, vyv2381, bf), bf) 248.95/165.43 new_esEs2(vyv2391, vyv2381, ty_Int) -> new_esEs(new_sr14(vyv2391, vyv2381)) 248.95/165.43 new_esEs2(vyv2391, vyv2381, ty_Integer) -> new_esEs1(new_sr8(vyv2391, vyv2381)) 248.95/165.43 new_sr13(vyv239, vyv238) -> error([]) 248.95/165.43 new_sr11(vyv239, vyv238) -> error([]) 248.95/165.43 new_primMinusNat0(Succ(vyv2280), Succ(vyv244000)) -> new_primMinusNat0(vyv2280, vyv244000) 248.95/165.43 new_primMinusNat0(Zero, Zero) -> Pos(Zero) 248.95/165.43 new_primMinusNat0(Zero, Succ(vyv244000)) -> Neg(Succ(vyv244000)) 248.95/165.43 new_primMinusNat0(Succ(vyv2280), Zero) -> Pos(Succ(vyv2280)) 248.95/165.43 248.95/165.43 The set Q consists of the following terms: 248.95/165.43 248.95/165.43 new_rem(Pos(x0), Pos(Succ(x1))) 248.95/165.43 new_quot1(x0, x1, x2, x3, ty_Integer) 248.95/165.43 new_primModNatS1(Succ(Zero), Succ(x0)) 248.95/165.43 new_primMulNat4(Zero) 248.95/165.43 new_gcd1(False, x0, x1) 248.95/165.43 new_primEqInt(Pos(Zero)) 248.95/165.43 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 248.95/165.43 new_rem(Pos(x0), Neg(Succ(x1))) 248.95/165.43 new_rem(Neg(x0), Pos(Succ(x1))) 248.95/165.43 new_sr10(x0) 248.95/165.43 new_quot1(x0, x1, x2, x3, ty_Int) 248.95/165.43 new_quot2(x0, x1, x2, x3, ty_Integer) 248.95/165.43 new_primModNatS01(x0, x1, Succ(x2), Zero) 248.95/165.43 new_primMulNat3(Zero) 248.95/165.43 new_primDivNatS02(x0, x1, Succ(x2), Zero) 248.95/165.43 new_quot2(x0, x1, x2, x3, ty_Int) 248.95/165.43 new_gcd2(False, x0, x1) 248.95/165.43 new_primDivNatS1(Succ(Zero), Zero) 248.95/165.43 new_esEs0(x0, ty_Int) 248.95/165.43 new_sr14(Pos(x0), Pos(x1)) 248.95/165.43 new_primMulNat0(Zero, Zero) 248.95/165.43 new_primPlusNat0(Succ(x0), Zero) 248.95/165.43 new_primMulNat2(Zero) 248.95/165.43 new_sr11(x0, x1) 248.95/165.43 new_primModNatS01(x0, x1, Zero, Zero) 248.95/165.43 new_esEs2(x0, x1, ty_Int) 248.95/165.43 new_gcd1(True, x0, x1) 248.95/165.43 new_sr13(x0, x1) 248.95/165.43 new_sr14(Pos(x0), Neg(x1)) 248.95/165.43 new_sr14(Neg(x0), Pos(x1)) 248.95/165.43 new_primDivNatS1(Succ(Succ(x0)), Succ(x1)) 248.95/165.43 new_sr1(x0, ty_Int) 248.95/165.43 new_primModNatS1(Zero, x0) 248.95/165.43 new_esEs(Pos(Succ(x0))) 248.95/165.43 new_primMulNat3(Succ(x0)) 248.95/165.43 new_sr1(x0, app(ty_Ratio, x1)) 248.95/165.43 new_primQuotInt(x0, Neg(Succ(x1))) 248.95/165.43 new_reduce2Reduce1(x0, x1, x2, x3, False, x4) 248.95/165.43 new_primMinusNat0(Zero, Zero) 248.95/165.43 new_primDivNatS1(Zero, x0) 248.95/165.43 new_primDivNatS02(x0, x1, Succ(x2), Succ(x3)) 248.95/165.43 new_primModNatS02(x0, x1) 248.95/165.43 new_primDivNatS1(Succ(Zero), Succ(x0)) 248.95/165.43 new_sr6(Neg(x0)) 248.95/165.44 new_gcd0Gcd'10(True, x0, x1) 248.95/165.44 new_primMulNat0(Succ(x0), Succ(x1)) 248.95/165.44 new_abs(Neg(Zero)) 248.95/165.44 new_ms(x0, Neg(x1)) 248.95/165.44 new_rem(Pos(x0), Neg(Zero)) 248.95/165.44 new_rem(Neg(x0), Pos(Zero)) 248.95/165.44 new_primMinusNatS2(Zero, Succ(x0)) 248.95/165.44 new_esEs(Neg(Succ(x0))) 248.95/165.44 new_error 248.95/165.44 new_primModNatS1(Succ(Zero), Zero) 248.95/165.44 new_primMulNat0(Zero, Succ(x0)) 248.95/165.44 new_quot(x0, x1, x2) 248.95/165.44 new_gcd2(True, x0, x1) 248.95/165.44 new_gcd0Gcd'11(True, x0, x1) 248.95/165.44 new_primEqInt(Neg(Zero)) 248.95/165.44 new_sr2(x0, x1, ty_Double) 248.95/165.44 new_primMulNat0(Succ(x0), Zero) 248.95/165.44 new_quot0(Neg(x0), x1, x2) 248.95/165.44 new_primMinusNatS2(Succ(x0), Succ(x1)) 248.95/165.44 new_sr8(x0, x1) 248.95/165.44 new_primDivNatS01(x0, x1) 248.95/165.44 new_primDivNatS02(x0, x1, Zero, Succ(x2)) 248.95/165.44 new_primPlusNat0(Succ(x0), Succ(x1)) 248.95/165.44 new_sr1(x0, ty_Integer) 248.95/165.44 new_primPlusNat0(Zero, Zero) 248.95/165.44 new_sr1(x0, ty_Float) 248.95/165.44 new_primMinusNat0(Succ(x0), Succ(x1)) 248.95/165.44 new_sr12(:%(x0, x1), :%(x2, x3), x4) 248.95/165.44 new_abs(Neg(Succ(x0))) 248.95/165.44 new_sr1(x0, ty_Double) 248.95/165.44 new_sr7(x0) 248.95/165.44 new_gcd0(x0, x1) 248.95/165.44 new_primQuotInt0(x0, Pos(Succ(x1))) 248.95/165.44 new_sr5(:%(x0, x1), x2) 248.95/165.44 new_primMinusNatS2(Zero, Zero) 248.95/165.44 new_primMulNat1(Succ(x0)) 248.95/165.44 new_ms(x0, Pos(Zero)) 248.95/165.44 new_abs(Pos(Succ(x0))) 248.95/165.44 new_esEs(Pos(Zero)) 248.95/165.44 new_primQuotInt0(x0, Pos(Zero)) 248.95/165.44 new_primEqInt(Neg(Succ(x0))) 248.95/165.44 new_primQuotInt(x0, Neg(Zero)) 248.95/165.44 new_primQuotInt0(x0, Neg(Zero)) 248.95/165.44 new_primQuotInt0(x0, Neg(Succ(x1))) 248.95/165.44 new_gcd(x0, x1) 248.95/165.44 new_quot0(Pos(x0), x1, x2) 248.95/165.44 new_primMinusNatS0(x0) 248.95/165.44 new_primPlusNat0(Zero, Succ(x0)) 248.95/165.44 new_sr2(x0, x1, app(ty_Ratio, x2)) 248.95/165.44 new_sr2(x0, x1, ty_Int) 248.95/165.44 new_primQuotInt(x0, Pos(Succ(x1))) 248.95/165.44 new_primDivNatS1(Succ(Succ(x0)), Zero) 248.95/165.44 new_rem(Pos(x0), Pos(Zero)) 248.95/165.44 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 248.95/165.44 new_primDivNatS02(x0, x1, Zero, Zero) 248.95/165.44 new_abs(Pos(Zero)) 248.95/165.44 new_gcd0Gcd'10(False, x0, x1) 248.95/165.44 new_ms(x0, Pos(Succ(x1))) 248.95/165.44 new_primMinusNatS1 248.95/165.44 new_esEs1(Integer(x0)) 248.95/165.44 new_primMinusNat0(Succ(x0), Zero) 248.95/165.44 new_sr2(x0, x1, ty_Integer) 248.95/165.44 new_primModNatS01(x0, x1, Zero, Succ(x2)) 248.95/165.44 new_primMulNat2(Succ(x0)) 248.95/165.44 new_sr14(Neg(x0), Neg(x1)) 248.95/165.44 new_sr2(x0, x1, ty_Float) 248.95/165.44 new_primMinusNatS2(Succ(x0), Zero) 248.95/165.44 new_sr6(Pos(x0)) 248.95/165.44 new_esEs2(x0, x1, ty_Integer) 248.95/165.44 new_primMulNat4(Succ(x0)) 248.95/165.44 new_rem(Neg(x0), Neg(Succ(x1))) 248.95/165.44 new_primEqInt(Pos(Succ(x0))) 248.95/165.44 new_primQuotInt(x0, Pos(Zero)) 248.95/165.44 new_gcd0Gcd'11(False, x0, x1) 248.95/165.44 new_sr9(x0) 248.95/165.44 new_primModNatS1(Succ(Succ(x0)), Zero) 248.95/165.44 new_esEs0(x0, ty_Integer) 248.95/165.44 new_gcd0Gcd'00(x0, x1) 248.95/165.44 new_reduce2Reduce1(x0, x1, x2, x3, True, x4) 248.95/165.44 new_esEs(Neg(Zero)) 248.95/165.44 new_primMulNat1(Zero) 248.95/165.44 new_primMinusNat0(Zero, Succ(x0)) 248.95/165.44 new_rem(Neg(x0), Neg(Zero)) 248.95/165.44 248.95/165.44 We have to consider all minimal (P,Q,R)-chains. 248.95/165.44 ---------------------------------------- 248.95/165.44 248.95/165.44 (909) UsableRulesProof (EQUIVALENT) 248.95/165.44 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. 248.95/165.44 ---------------------------------------- 248.95/165.44 248.95/165.44 (910) 248.95/165.44 Obligation: 248.95/165.44 Q DP problem: 248.95/165.44 The TRS P consists of the following rules: 248.95/165.44 248.95/165.44 new_pr2F0G1(vyv226, vyv227, vyv228, Succ(Succ(vyv22900)), ba) -> new_pr2F0G1(vyv226, vyv227, vyv228, vyv22900, ba) 248.95/165.44 new_pr2F0G1(vyv226, vyv227, vyv228, Succ(Zero), ba) -> new_pr2F(vyv227, vyv228, Pos(Succ(Zero)), vyv226, ba) 248.95/165.44 new_pr2F0(vyv183, Pos(Succ(Succ(vyv222000))), vyv187, h) -> new_pr2F0G1(vyv187, vyv183, Succ(vyv222000), vyv222000, h) 248.95/165.44 new_pr2F0G1(vyv226, vyv227, vyv228, Zero, ba) -> new_pr2F0G(vyv226, new_sr1(vyv227, ba), Pos(new_primDivNatS1(Succ(vyv228), Succ(Zero))), ba) 248.95/165.44 new_pr2F0G(vyv187, vyv183, Pos(Succ(Succ(vyv222000))), h) -> new_pr2F0G1(vyv187, vyv183, Succ(vyv222000), vyv222000, h) 248.95/165.44 new_pr2F(y0, Succ(x0), Pos(Succ(Zero)), y2, y3) -> new_pr2F3(False, y0, Succ(x0), Pos(Succ(Zero)), y2, y3) 248.95/165.44 new_pr2F3(False, z0, Succ(z1), Pos(Succ(Zero)), z2, z3) -> new_pr2F0(z0, new_ms(Succ(z1), Pos(Succ(Zero))), new_sr2(z0, z2, z3), z3) 248.95/165.44 248.95/165.44 The TRS R consists of the following rules: 248.95/165.44 248.95/165.44 new_ms(vyv228, Pos(Succ(vyv24400))) -> new_primMinusNat0(vyv228, vyv24400) 248.95/165.44 new_sr2(vyv227, vyv226, ty_Int) -> new_sr14(vyv227, vyv226) 248.95/165.44 new_sr2(vyv227, vyv226, ty_Double) -> new_sr11(vyv227, vyv226) 248.95/165.44 new_sr2(vyv227, vyv226, ty_Integer) -> new_sr8(vyv227, vyv226) 248.95/165.44 new_sr2(vyv227, vyv226, ty_Float) -> new_sr13(vyv227, vyv226) 248.95/165.44 new_sr2(vyv227, vyv226, app(ty_Ratio, be)) -> new_sr12(vyv227, vyv226, be) 248.95/165.44 new_sr12(:%(vyv2390, vyv2391), :%(vyv2380, vyv2381), bf) -> new_reduce2Reduce1(vyv2390, vyv2380, vyv2391, vyv2381, new_esEs2(vyv2391, vyv2381, bf), bf) 248.95/165.44 new_esEs2(vyv2391, vyv2381, ty_Int) -> new_esEs(new_sr14(vyv2391, vyv2381)) 248.95/165.44 new_esEs2(vyv2391, vyv2381, ty_Integer) -> new_esEs1(new_sr8(vyv2391, vyv2381)) 248.95/165.44 new_reduce2Reduce1(vyv264, vyv265, vyv266, vyv267, False, bh) -> :%(new_quot1(vyv264, vyv265, vyv266, vyv267, bh), new_quot2(vyv266, vyv267, vyv264, vyv265, bh)) 248.95/165.44 new_reduce2Reduce1(vyv264, vyv265, vyv266, vyv267, True, bh) -> error([]) 248.95/165.44 new_quot1(vyv264, vyv265, vyv266, vyv267, ty_Int) -> new_quot0(new_sr14(vyv264, vyv265), new_sr14(vyv264, vyv265), new_sr14(vyv266, vyv267)) 248.95/165.44 new_quot1(vyv264, vyv265, vyv266, vyv267, ty_Integer) -> new_quot(new_sr8(vyv264, vyv265), new_sr8(vyv264, vyv265), new_sr8(vyv266, vyv267)) 248.95/165.44 new_quot2(vyv266, vyv267, vyv264, vyv265, ty_Int) -> new_quot0(new_sr14(vyv266, vyv267), new_sr14(vyv264, vyv265), new_sr14(vyv266, vyv267)) 248.95/165.44 new_quot2(vyv266, vyv267, vyv264, vyv265, ty_Integer) -> new_quot(new_sr8(vyv266, vyv267), new_sr8(vyv264, vyv265), new_sr8(vyv266, vyv267)) 248.95/165.44 new_sr8(vyv239, vyv238) -> error([]) 248.95/165.44 new_quot(vyv273, vyv275, vyv274) -> error([]) 248.95/165.44 new_sr14(Pos(vyv2390), Neg(vyv2380)) -> Neg(new_primMulNat0(vyv2390, vyv2380)) 248.95/165.44 new_sr14(Neg(vyv2390), Pos(vyv2380)) -> Neg(new_primMulNat0(vyv2390, vyv2380)) 248.95/165.44 new_sr14(Neg(vyv2390), Neg(vyv2380)) -> Pos(new_primMulNat0(vyv2390, vyv2380)) 248.95/165.44 new_sr14(Pos(vyv2390), Pos(vyv2380)) -> Pos(new_primMulNat0(vyv2390, vyv2380)) 248.95/165.44 new_quot0(Neg(vyv2700), vyv272, vyv271) -> new_primQuotInt0(vyv2700, new_gcd(vyv272, vyv271)) 248.95/165.44 new_quot0(Pos(vyv2700), vyv272, vyv271) -> new_primQuotInt(vyv2700, new_gcd(vyv272, vyv271)) 248.95/165.44 new_gcd(vyv272, vyv271) -> new_gcd2(new_esEs(vyv272), vyv272, vyv271) 248.95/165.44 new_primQuotInt(vyv2700, Pos(Succ(vyv28400))) -> Pos(new_primDivNatS1(vyv2700, vyv28400)) 248.95/165.44 new_primQuotInt(vyv2700, Neg(Zero)) -> new_error 248.95/165.44 new_primQuotInt(vyv2700, Pos(Zero)) -> new_error 248.95/165.44 new_primQuotInt(vyv2700, Neg(Succ(vyv28400))) -> Neg(new_primDivNatS1(vyv2700, vyv28400)) 248.95/165.44 new_primDivNatS1(Succ(Zero), Succ(vyv284000)) -> Zero 248.95/165.44 new_primDivNatS1(Succ(Succ(vyv270000)), Succ(vyv284000)) -> new_primDivNatS02(vyv270000, vyv284000, vyv270000, vyv284000) 248.95/165.44 new_primDivNatS1(Zero, vyv28400) -> Zero 248.95/165.44 new_primDivNatS1(Succ(Succ(vyv270000)), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS0(vyv270000), Zero)) 248.95/165.44 new_primDivNatS1(Succ(Zero), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS1, Zero)) 248.95/165.44 new_primMinusNatS1 -> Zero 248.95/165.44 new_primMinusNatS0(vyv270000) -> Succ(vyv270000) 248.95/165.44 new_primDivNatS02(vyv310, vyv311, Zero, Zero) -> new_primDivNatS01(vyv310, vyv311) 248.95/165.44 new_primDivNatS02(vyv310, vyv311, Succ(vyv3120), Zero) -> new_primDivNatS01(vyv310, vyv311) 248.95/165.44 new_primDivNatS02(vyv310, vyv311, Zero, Succ(vyv3130)) -> Zero 248.95/165.44 new_primDivNatS02(vyv310, vyv311, Succ(vyv3120), Succ(vyv3130)) -> new_primDivNatS02(vyv310, vyv311, vyv3120, vyv3130) 248.95/165.44 new_primDivNatS01(vyv310, vyv311) -> Succ(new_primDivNatS1(new_primMinusNatS2(vyv310, vyv311), Succ(vyv311))) 248.95/165.44 new_primMinusNatS2(Zero, Succ(vyv3110)) -> Zero 248.95/165.44 new_primMinusNatS2(Succ(vyv3100), Zero) -> Succ(vyv3100) 248.95/165.44 new_primMinusNatS2(Zero, Zero) -> Zero 248.95/165.44 new_primMinusNatS2(Succ(vyv3100), Succ(vyv3110)) -> new_primMinusNatS2(vyv3100, vyv3110) 248.95/165.44 new_error -> error([]) 248.95/165.44 new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) 248.95/165.44 new_esEs(Pos(Succ(vyv24100))) -> new_primEqInt(Pos(Succ(vyv24100))) 248.95/165.44 new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) 248.95/165.44 new_esEs(Neg(Succ(vyv24100))) -> new_primEqInt(Neg(Succ(vyv24100))) 248.95/165.44 new_gcd2(True, vyv272, vyv271) -> new_gcd1(new_esEs(vyv271), vyv272, vyv271) 248.95/165.44 new_gcd2(False, vyv272, vyv271) -> new_gcd0(vyv272, vyv271) 248.95/165.44 new_gcd0(vyv272, vyv271) -> new_gcd0Gcd'10(new_esEs(new_abs(vyv271)), vyv272, vyv271) 248.95/165.44 new_abs(Neg(Zero)) -> Neg(Zero) 248.95/165.44 new_abs(Neg(Succ(vyv27100))) -> Pos(Succ(vyv27100)) 248.95/165.44 new_abs(Pos(Succ(vyv27100))) -> Pos(Succ(vyv27100)) 248.95/165.44 new_abs(Pos(Zero)) -> Pos(Zero) 248.95/165.44 new_gcd0Gcd'10(True, vyv272, vyv271) -> new_abs(vyv272) 248.95/165.44 new_gcd0Gcd'10(False, vyv272, vyv271) -> new_gcd0Gcd'00(new_abs(vyv272), new_abs(vyv271)) 248.95/165.44 new_gcd0Gcd'00(vyv292, vyv291) -> new_gcd0Gcd'11(new_esEs(new_rem(vyv292, vyv291)), vyv291, vyv292) 248.95/165.44 new_gcd0Gcd'11(False, vyv291, vyv292) -> new_gcd0Gcd'00(vyv291, new_rem(vyv292, vyv291)) 248.95/165.44 new_rem(Pos(vyv2920), Neg(Zero)) -> new_error 248.95/165.44 new_rem(Neg(vyv2920), Pos(Zero)) -> new_error 248.95/165.44 new_rem(Pos(vyv2920), Neg(Succ(vyv29100))) -> Pos(new_primModNatS1(vyv2920, vyv29100)) 248.95/165.44 new_rem(Neg(vyv2920), Pos(Succ(vyv29100))) -> Neg(new_primModNatS1(vyv2920, vyv29100)) 248.95/165.44 new_rem(Pos(vyv2920), Pos(Succ(vyv29100))) -> Pos(new_primModNatS1(vyv2920, vyv29100)) 248.95/165.44 new_rem(Neg(vyv2920), Neg(Zero)) -> new_error 248.95/165.44 new_rem(Neg(vyv2920), Neg(Succ(vyv29100))) -> Neg(new_primModNatS1(vyv2920, vyv29100)) 248.95/165.44 new_rem(Pos(vyv2920), Pos(Zero)) -> new_error 248.95/165.44 new_gcd0Gcd'11(True, vyv291, vyv292) -> vyv291 248.95/165.44 new_primModNatS1(Succ(Zero), Succ(vyv291000)) -> Succ(Zero) 248.95/165.44 new_primModNatS1(Zero, vyv29100) -> Zero 248.95/165.44 new_primModNatS1(Succ(Succ(vyv292000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv292000), Zero) 248.95/165.44 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 248.95/165.44 new_primModNatS1(Succ(Succ(vyv292000)), Succ(vyv291000)) -> new_primModNatS01(vyv292000, vyv291000, vyv292000, vyv291000) 248.95/165.44 new_primModNatS01(vyv330, vyv331, Zero, Zero) -> new_primModNatS02(vyv330, vyv331) 248.95/165.44 new_primModNatS02(vyv330, vyv331) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv330), Succ(vyv331)), Succ(vyv331)) 248.95/165.44 new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Zero) -> new_primModNatS02(vyv330, vyv331) 248.95/165.44 new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Succ(vyv3330)) -> new_primModNatS01(vyv330, vyv331, vyv3320, vyv3330) 248.95/165.44 new_primModNatS01(vyv330, vyv331, Zero, Succ(vyv3330)) -> Succ(Succ(vyv330)) 248.95/165.44 new_gcd1(True, vyv272, vyv271) -> new_error 248.95/165.44 new_gcd1(False, vyv272, vyv271) -> new_gcd0(vyv272, vyv271) 248.95/165.44 new_primEqInt(Neg(Succ(vyv242000))) -> False 248.95/165.44 new_primEqInt(Pos(Zero)) -> True 248.95/165.44 new_primEqInt(Pos(Succ(vyv242000))) -> False 248.95/165.44 new_primEqInt(Neg(Zero)) -> True 248.95/165.44 new_primQuotInt0(vyv2700, Pos(Succ(vyv28700))) -> Neg(new_primDivNatS1(vyv2700, vyv28700)) 248.95/165.44 new_primQuotInt0(vyv2700, Neg(Zero)) -> new_error 248.95/165.44 new_primQuotInt0(vyv2700, Neg(Succ(vyv28700))) -> Pos(new_primDivNatS1(vyv2700, vyv28700)) 248.95/165.44 new_primQuotInt0(vyv2700, Pos(Zero)) -> new_error 248.95/165.44 new_primMulNat0(Succ(vyv23900), Zero) -> Zero 248.95/165.44 new_primMulNat0(Zero, Succ(vyv23800)) -> Zero 248.95/165.44 new_primMulNat0(Zero, Zero) -> Zero 248.95/165.44 new_primMulNat0(Succ(vyv23900), Succ(vyv23800)) -> new_primPlusNat0(new_primMulNat0(vyv23900, Succ(vyv23800)), Succ(vyv23800)) 248.95/165.44 new_primPlusNat0(Succ(vyv4000), Succ(vyv5000)) -> Succ(Succ(new_primPlusNat0(vyv4000, vyv5000))) 248.95/165.44 new_primPlusNat0(Zero, Succ(vyv5000)) -> Succ(vyv5000) 248.95/165.44 new_primPlusNat0(Zero, Zero) -> Zero 248.95/165.44 new_primPlusNat0(Succ(vyv4000), Zero) -> Succ(vyv4000) 248.95/165.44 new_esEs1(Integer(vyv2690)) -> new_primEqInt(vyv2690) 248.95/165.44 new_sr13(vyv239, vyv238) -> error([]) 248.95/165.44 new_sr11(vyv239, vyv238) -> error([]) 248.95/165.44 new_primMinusNat0(Succ(vyv2280), Succ(vyv244000)) -> new_primMinusNat0(vyv2280, vyv244000) 248.95/165.44 new_primMinusNat0(Zero, Zero) -> Pos(Zero) 248.95/165.44 new_primMinusNat0(Zero, Succ(vyv244000)) -> Neg(Succ(vyv244000)) 248.95/165.44 new_primMinusNat0(Succ(vyv2280), Zero) -> Pos(Succ(vyv2280)) 248.95/165.44 new_sr1(vyv227, ty_Int) -> new_sr6(vyv227) 248.95/165.44 new_sr1(vyv227, ty_Integer) -> new_sr7(vyv227) 248.95/165.44 new_sr1(vyv227, app(ty_Ratio, be)) -> new_sr5(vyv227, be) 248.95/165.44 new_sr1(vyv227, ty_Float) -> new_sr10(vyv227) 248.95/165.44 new_sr1(vyv227, ty_Double) -> new_sr9(vyv227) 248.95/165.44 new_sr9(vyv183) -> error([]) 248.95/165.44 new_sr10(vyv183) -> error([]) 248.95/165.44 new_sr5(:%(vyv1830, vyv1831), bd) -> new_reduce2Reduce1(vyv1830, vyv1830, vyv1831, vyv1831, new_esEs0(vyv1831, bd), bd) 248.95/165.44 new_esEs0(vyv1831, ty_Int) -> new_esEs(new_sr6(vyv1831)) 248.95/165.44 new_esEs0(vyv1831, ty_Integer) -> new_esEs1(new_sr7(vyv1831)) 248.95/165.44 new_sr7(vyv183) -> error([]) 248.95/165.44 new_sr6(Neg(vyv1830)) -> Pos(new_primMulNat1(vyv1830)) 248.95/165.44 new_sr6(Pos(vyv1830)) -> Pos(new_primMulNat1(vyv1830)) 248.95/165.44 new_primMulNat1(Succ(vyv18300)) -> new_primPlusNat0(new_primMulNat2(vyv18300), Succ(vyv18300)) 248.95/165.44 new_primMulNat1(Zero) -> Zero 248.95/165.44 new_primMulNat2(Succ(vyv183000)) -> new_primPlusNat0(new_primMulNat3(vyv183000), Succ(Succ(vyv183000))) 248.95/165.44 new_primMulNat2(Zero) -> Zero 248.95/165.44 new_primMulNat3(Succ(vyv1830000)) -> new_primPlusNat0(new_primMulNat4(vyv1830000), Succ(Succ(Succ(vyv1830000)))) 248.95/165.44 new_primMulNat3(Zero) -> Zero 248.95/165.44 new_primMulNat4(Succ(vyv18300000)) -> new_primPlusNat0(new_primMulNat0(vyv18300000, Succ(Succ(Succ(Succ(vyv18300000))))), Succ(Succ(Succ(Succ(vyv18300000))))) 248.95/165.44 new_primMulNat4(Zero) -> Zero 248.95/165.44 248.95/165.44 The set Q consists of the following terms: 248.95/165.44 248.95/165.44 new_rem(Pos(x0), Pos(Succ(x1))) 248.95/165.44 new_quot1(x0, x1, x2, x3, ty_Integer) 248.95/165.44 new_primModNatS1(Succ(Zero), Succ(x0)) 248.95/165.44 new_primMulNat4(Zero) 248.95/165.44 new_gcd1(False, x0, x1) 248.95/165.44 new_primEqInt(Pos(Zero)) 248.95/165.44 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 248.95/165.44 new_rem(Pos(x0), Neg(Succ(x1))) 248.95/165.44 new_rem(Neg(x0), Pos(Succ(x1))) 248.95/165.44 new_sr10(x0) 248.95/165.44 new_quot1(x0, x1, x2, x3, ty_Int) 248.95/165.44 new_quot2(x0, x1, x2, x3, ty_Integer) 248.95/165.44 new_primModNatS01(x0, x1, Succ(x2), Zero) 248.95/165.44 new_primMulNat3(Zero) 248.95/165.44 new_primDivNatS02(x0, x1, Succ(x2), Zero) 248.95/165.44 new_quot2(x0, x1, x2, x3, ty_Int) 248.95/165.44 new_gcd2(False, x0, x1) 248.95/165.44 new_primDivNatS1(Succ(Zero), Zero) 248.95/165.44 new_esEs0(x0, ty_Int) 248.95/165.44 new_sr14(Pos(x0), Pos(x1)) 248.95/165.44 new_primMulNat0(Zero, Zero) 248.95/165.44 new_primPlusNat0(Succ(x0), Zero) 248.95/165.44 new_primMulNat2(Zero) 248.95/165.44 new_sr11(x0, x1) 248.95/165.44 new_primModNatS01(x0, x1, Zero, Zero) 248.95/165.44 new_esEs2(x0, x1, ty_Int) 248.95/165.44 new_gcd1(True, x0, x1) 248.95/165.44 new_sr13(x0, x1) 248.95/165.44 new_sr14(Pos(x0), Neg(x1)) 248.95/165.44 new_sr14(Neg(x0), Pos(x1)) 248.95/165.44 new_primDivNatS1(Succ(Succ(x0)), Succ(x1)) 248.95/165.44 new_sr1(x0, ty_Int) 248.95/165.44 new_primModNatS1(Zero, x0) 248.95/165.44 new_esEs(Pos(Succ(x0))) 248.95/165.44 new_primMulNat3(Succ(x0)) 248.95/165.44 new_sr1(x0, app(ty_Ratio, x1)) 248.95/165.44 new_primQuotInt(x0, Neg(Succ(x1))) 248.95/165.44 new_reduce2Reduce1(x0, x1, x2, x3, False, x4) 248.95/165.44 new_primMinusNat0(Zero, Zero) 248.95/165.44 new_primDivNatS1(Zero, x0) 248.95/165.44 new_primDivNatS02(x0, x1, Succ(x2), Succ(x3)) 248.95/165.44 new_primModNatS02(x0, x1) 248.95/165.44 new_primDivNatS1(Succ(Zero), Succ(x0)) 248.95/165.44 new_sr6(Neg(x0)) 248.95/165.44 new_gcd0Gcd'10(True, x0, x1) 248.95/165.44 new_primMulNat0(Succ(x0), Succ(x1)) 248.95/165.44 new_abs(Neg(Zero)) 248.95/165.44 new_ms(x0, Neg(x1)) 248.95/165.44 new_rem(Pos(x0), Neg(Zero)) 248.95/165.44 new_rem(Neg(x0), Pos(Zero)) 248.95/165.44 new_primMinusNatS2(Zero, Succ(x0)) 248.95/165.44 new_esEs(Neg(Succ(x0))) 248.95/165.44 new_error 248.95/165.44 new_primModNatS1(Succ(Zero), Zero) 248.95/165.44 new_primMulNat0(Zero, Succ(x0)) 248.95/165.44 new_quot(x0, x1, x2) 248.95/165.44 new_gcd2(True, x0, x1) 248.95/165.44 new_gcd0Gcd'11(True, x0, x1) 248.95/165.44 new_primEqInt(Neg(Zero)) 248.95/165.44 new_sr2(x0, x1, ty_Double) 248.95/165.44 new_primMulNat0(Succ(x0), Zero) 248.95/165.44 new_quot0(Neg(x0), x1, x2) 248.95/165.44 new_primMinusNatS2(Succ(x0), Succ(x1)) 248.95/165.44 new_sr8(x0, x1) 248.95/165.44 new_primDivNatS01(x0, x1) 248.95/165.44 new_primDivNatS02(x0, x1, Zero, Succ(x2)) 248.95/165.44 new_primPlusNat0(Succ(x0), Succ(x1)) 248.95/165.44 new_sr1(x0, ty_Integer) 248.95/165.44 new_primPlusNat0(Zero, Zero) 248.95/165.44 new_sr1(x0, ty_Float) 248.95/165.44 new_primMinusNat0(Succ(x0), Succ(x1)) 248.95/165.44 new_sr12(:%(x0, x1), :%(x2, x3), x4) 248.95/165.44 new_abs(Neg(Succ(x0))) 248.95/165.44 new_sr1(x0, ty_Double) 248.95/165.44 new_sr7(x0) 248.95/165.44 new_gcd0(x0, x1) 248.95/165.44 new_primQuotInt0(x0, Pos(Succ(x1))) 248.95/165.44 new_sr5(:%(x0, x1), x2) 248.95/165.44 new_primMinusNatS2(Zero, Zero) 248.95/165.44 new_primMulNat1(Succ(x0)) 248.95/165.44 new_ms(x0, Pos(Zero)) 248.95/165.44 new_abs(Pos(Succ(x0))) 248.95/165.44 new_esEs(Pos(Zero)) 248.95/165.44 new_primQuotInt0(x0, Pos(Zero)) 248.95/165.44 new_primEqInt(Neg(Succ(x0))) 248.95/165.44 new_primQuotInt(x0, Neg(Zero)) 248.95/165.44 new_primQuotInt0(x0, Neg(Zero)) 248.95/165.44 new_primQuotInt0(x0, Neg(Succ(x1))) 248.95/165.44 new_gcd(x0, x1) 248.95/165.44 new_quot0(Pos(x0), x1, x2) 248.95/165.44 new_primMinusNatS0(x0) 248.95/165.44 new_primPlusNat0(Zero, Succ(x0)) 248.95/165.44 new_sr2(x0, x1, app(ty_Ratio, x2)) 248.95/165.44 new_sr2(x0, x1, ty_Int) 248.95/165.44 new_primQuotInt(x0, Pos(Succ(x1))) 248.95/165.44 new_primDivNatS1(Succ(Succ(x0)), Zero) 248.95/165.44 new_rem(Pos(x0), Pos(Zero)) 248.95/165.44 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 248.95/165.44 new_primDivNatS02(x0, x1, Zero, Zero) 248.95/165.44 new_abs(Pos(Zero)) 248.95/165.44 new_gcd0Gcd'10(False, x0, x1) 248.95/165.44 new_ms(x0, Pos(Succ(x1))) 248.95/165.44 new_primMinusNatS1 248.95/165.44 new_esEs1(Integer(x0)) 248.95/165.44 new_primMinusNat0(Succ(x0), Zero) 248.95/165.44 new_sr2(x0, x1, ty_Integer) 248.95/165.44 new_primModNatS01(x0, x1, Zero, Succ(x2)) 248.95/165.44 new_primMulNat2(Succ(x0)) 248.95/165.44 new_sr14(Neg(x0), Neg(x1)) 248.95/165.44 new_sr2(x0, x1, ty_Float) 248.95/165.44 new_primMinusNatS2(Succ(x0), Zero) 248.95/165.44 new_sr6(Pos(x0)) 248.95/165.44 new_esEs2(x0, x1, ty_Integer) 248.95/165.44 new_primMulNat4(Succ(x0)) 248.95/165.44 new_rem(Neg(x0), Neg(Succ(x1))) 248.95/165.44 new_primEqInt(Pos(Succ(x0))) 248.95/165.44 new_primQuotInt(x0, Pos(Zero)) 248.95/165.44 new_gcd0Gcd'11(False, x0, x1) 248.95/165.44 new_sr9(x0) 248.95/165.44 new_primModNatS1(Succ(Succ(x0)), Zero) 248.95/165.44 new_esEs0(x0, ty_Integer) 248.95/165.44 new_gcd0Gcd'00(x0, x1) 248.95/165.44 new_reduce2Reduce1(x0, x1, x2, x3, True, x4) 248.95/165.44 new_esEs(Neg(Zero)) 248.95/165.44 new_primMulNat1(Zero) 248.95/165.44 new_primMinusNat0(Zero, Succ(x0)) 248.95/165.44 new_rem(Neg(x0), Neg(Zero)) 248.95/165.44 248.95/165.44 We have to consider all minimal (P,Q,R)-chains. 248.95/165.44 ---------------------------------------- 248.95/165.44 248.95/165.44 (911) TransformationProof (EQUIVALENT) 248.95/165.44 By rewriting [LPAR04] the rule new_pr2F3(False, z0, Succ(z1), Pos(Succ(Zero)), z2, z3) -> new_pr2F0(z0, new_ms(Succ(z1), Pos(Succ(Zero))), new_sr2(z0, z2, z3), z3) at position [1] we obtained the following new rules [LPAR04]: 248.95/165.44 248.95/165.44 (new_pr2F3(False, z0, Succ(z1), Pos(Succ(Zero)), z2, z3) -> new_pr2F0(z0, new_primMinusNat0(Succ(z1), Zero), new_sr2(z0, z2, z3), z3),new_pr2F3(False, z0, Succ(z1), Pos(Succ(Zero)), z2, z3) -> new_pr2F0(z0, new_primMinusNat0(Succ(z1), Zero), new_sr2(z0, z2, z3), z3)) 248.95/165.44 248.95/165.44 248.95/165.44 ---------------------------------------- 248.95/165.44 248.95/165.44 (912) 248.95/165.44 Obligation: 248.95/165.44 Q DP problem: 248.95/165.44 The TRS P consists of the following rules: 248.95/165.44 248.95/165.44 new_pr2F0G1(vyv226, vyv227, vyv228, Succ(Succ(vyv22900)), ba) -> new_pr2F0G1(vyv226, vyv227, vyv228, vyv22900, ba) 248.95/165.44 new_pr2F0G1(vyv226, vyv227, vyv228, Succ(Zero), ba) -> new_pr2F(vyv227, vyv228, Pos(Succ(Zero)), vyv226, ba) 248.95/165.44 new_pr2F0(vyv183, Pos(Succ(Succ(vyv222000))), vyv187, h) -> new_pr2F0G1(vyv187, vyv183, Succ(vyv222000), vyv222000, h) 248.95/165.44 new_pr2F0G1(vyv226, vyv227, vyv228, Zero, ba) -> new_pr2F0G(vyv226, new_sr1(vyv227, ba), Pos(new_primDivNatS1(Succ(vyv228), Succ(Zero))), ba) 248.95/165.44 new_pr2F0G(vyv187, vyv183, Pos(Succ(Succ(vyv222000))), h) -> new_pr2F0G1(vyv187, vyv183, Succ(vyv222000), vyv222000, h) 248.95/165.44 new_pr2F(y0, Succ(x0), Pos(Succ(Zero)), y2, y3) -> new_pr2F3(False, y0, Succ(x0), Pos(Succ(Zero)), y2, y3) 248.95/165.44 new_pr2F3(False, z0, Succ(z1), Pos(Succ(Zero)), z2, z3) -> new_pr2F0(z0, new_primMinusNat0(Succ(z1), Zero), new_sr2(z0, z2, z3), z3) 248.95/165.44 248.95/165.44 The TRS R consists of the following rules: 248.95/165.44 248.95/165.44 new_ms(vyv228, Pos(Succ(vyv24400))) -> new_primMinusNat0(vyv228, vyv24400) 248.95/165.44 new_sr2(vyv227, vyv226, ty_Int) -> new_sr14(vyv227, vyv226) 248.95/165.44 new_sr2(vyv227, vyv226, ty_Double) -> new_sr11(vyv227, vyv226) 248.95/165.44 new_sr2(vyv227, vyv226, ty_Integer) -> new_sr8(vyv227, vyv226) 248.95/165.44 new_sr2(vyv227, vyv226, ty_Float) -> new_sr13(vyv227, vyv226) 248.95/165.44 new_sr2(vyv227, vyv226, app(ty_Ratio, be)) -> new_sr12(vyv227, vyv226, be) 248.95/165.44 new_sr12(:%(vyv2390, vyv2391), :%(vyv2380, vyv2381), bf) -> new_reduce2Reduce1(vyv2390, vyv2380, vyv2391, vyv2381, new_esEs2(vyv2391, vyv2381, bf), bf) 248.95/165.44 new_esEs2(vyv2391, vyv2381, ty_Int) -> new_esEs(new_sr14(vyv2391, vyv2381)) 248.95/165.44 new_esEs2(vyv2391, vyv2381, ty_Integer) -> new_esEs1(new_sr8(vyv2391, vyv2381)) 248.95/165.44 new_reduce2Reduce1(vyv264, vyv265, vyv266, vyv267, False, bh) -> :%(new_quot1(vyv264, vyv265, vyv266, vyv267, bh), new_quot2(vyv266, vyv267, vyv264, vyv265, bh)) 248.95/165.44 new_reduce2Reduce1(vyv264, vyv265, vyv266, vyv267, True, bh) -> error([]) 248.95/165.44 new_quot1(vyv264, vyv265, vyv266, vyv267, ty_Int) -> new_quot0(new_sr14(vyv264, vyv265), new_sr14(vyv264, vyv265), new_sr14(vyv266, vyv267)) 248.95/165.44 new_quot1(vyv264, vyv265, vyv266, vyv267, ty_Integer) -> new_quot(new_sr8(vyv264, vyv265), new_sr8(vyv264, vyv265), new_sr8(vyv266, vyv267)) 248.95/165.44 new_quot2(vyv266, vyv267, vyv264, vyv265, ty_Int) -> new_quot0(new_sr14(vyv266, vyv267), new_sr14(vyv264, vyv265), new_sr14(vyv266, vyv267)) 248.95/165.44 new_quot2(vyv266, vyv267, vyv264, vyv265, ty_Integer) -> new_quot(new_sr8(vyv266, vyv267), new_sr8(vyv264, vyv265), new_sr8(vyv266, vyv267)) 248.95/165.44 new_sr8(vyv239, vyv238) -> error([]) 248.95/165.44 new_quot(vyv273, vyv275, vyv274) -> error([]) 248.95/165.44 new_sr14(Pos(vyv2390), Neg(vyv2380)) -> Neg(new_primMulNat0(vyv2390, vyv2380)) 248.95/165.44 new_sr14(Neg(vyv2390), Pos(vyv2380)) -> Neg(new_primMulNat0(vyv2390, vyv2380)) 248.95/165.44 new_sr14(Neg(vyv2390), Neg(vyv2380)) -> Pos(new_primMulNat0(vyv2390, vyv2380)) 248.95/165.44 new_sr14(Pos(vyv2390), Pos(vyv2380)) -> Pos(new_primMulNat0(vyv2390, vyv2380)) 248.95/165.44 new_quot0(Neg(vyv2700), vyv272, vyv271) -> new_primQuotInt0(vyv2700, new_gcd(vyv272, vyv271)) 248.95/165.44 new_quot0(Pos(vyv2700), vyv272, vyv271) -> new_primQuotInt(vyv2700, new_gcd(vyv272, vyv271)) 248.95/165.44 new_gcd(vyv272, vyv271) -> new_gcd2(new_esEs(vyv272), vyv272, vyv271) 248.95/165.44 new_primQuotInt(vyv2700, Pos(Succ(vyv28400))) -> Pos(new_primDivNatS1(vyv2700, vyv28400)) 248.95/165.44 new_primQuotInt(vyv2700, Neg(Zero)) -> new_error 248.95/165.44 new_primQuotInt(vyv2700, Pos(Zero)) -> new_error 248.95/165.44 new_primQuotInt(vyv2700, Neg(Succ(vyv28400))) -> Neg(new_primDivNatS1(vyv2700, vyv28400)) 248.95/165.44 new_primDivNatS1(Succ(Zero), Succ(vyv284000)) -> Zero 248.95/165.44 new_primDivNatS1(Succ(Succ(vyv270000)), Succ(vyv284000)) -> new_primDivNatS02(vyv270000, vyv284000, vyv270000, vyv284000) 248.95/165.44 new_primDivNatS1(Zero, vyv28400) -> Zero 248.95/165.44 new_primDivNatS1(Succ(Succ(vyv270000)), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS0(vyv270000), Zero)) 248.95/165.44 new_primDivNatS1(Succ(Zero), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS1, Zero)) 248.95/165.44 new_primMinusNatS1 -> Zero 248.95/165.44 new_primMinusNatS0(vyv270000) -> Succ(vyv270000) 248.95/165.44 new_primDivNatS02(vyv310, vyv311, Zero, Zero) -> new_primDivNatS01(vyv310, vyv311) 248.95/165.44 new_primDivNatS02(vyv310, vyv311, Succ(vyv3120), Zero) -> new_primDivNatS01(vyv310, vyv311) 248.95/165.44 new_primDivNatS02(vyv310, vyv311, Zero, Succ(vyv3130)) -> Zero 248.95/165.44 new_primDivNatS02(vyv310, vyv311, Succ(vyv3120), Succ(vyv3130)) -> new_primDivNatS02(vyv310, vyv311, vyv3120, vyv3130) 248.95/165.44 new_primDivNatS01(vyv310, vyv311) -> Succ(new_primDivNatS1(new_primMinusNatS2(vyv310, vyv311), Succ(vyv311))) 248.95/165.44 new_primMinusNatS2(Zero, Succ(vyv3110)) -> Zero 248.95/165.44 new_primMinusNatS2(Succ(vyv3100), Zero) -> Succ(vyv3100) 248.95/165.44 new_primMinusNatS2(Zero, Zero) -> Zero 248.95/165.44 new_primMinusNatS2(Succ(vyv3100), Succ(vyv3110)) -> new_primMinusNatS2(vyv3100, vyv3110) 248.95/165.44 new_error -> error([]) 248.95/165.44 new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) 248.95/165.44 new_esEs(Pos(Succ(vyv24100))) -> new_primEqInt(Pos(Succ(vyv24100))) 248.95/165.44 new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) 248.95/165.44 new_esEs(Neg(Succ(vyv24100))) -> new_primEqInt(Neg(Succ(vyv24100))) 248.95/165.44 new_gcd2(True, vyv272, vyv271) -> new_gcd1(new_esEs(vyv271), vyv272, vyv271) 248.95/165.44 new_gcd2(False, vyv272, vyv271) -> new_gcd0(vyv272, vyv271) 248.95/165.44 new_gcd0(vyv272, vyv271) -> new_gcd0Gcd'10(new_esEs(new_abs(vyv271)), vyv272, vyv271) 248.95/165.44 new_abs(Neg(Zero)) -> Neg(Zero) 248.95/165.44 new_abs(Neg(Succ(vyv27100))) -> Pos(Succ(vyv27100)) 248.95/165.44 new_abs(Pos(Succ(vyv27100))) -> Pos(Succ(vyv27100)) 248.95/165.44 new_abs(Pos(Zero)) -> Pos(Zero) 248.95/165.44 new_gcd0Gcd'10(True, vyv272, vyv271) -> new_abs(vyv272) 248.95/165.44 new_gcd0Gcd'10(False, vyv272, vyv271) -> new_gcd0Gcd'00(new_abs(vyv272), new_abs(vyv271)) 248.95/165.44 new_gcd0Gcd'00(vyv292, vyv291) -> new_gcd0Gcd'11(new_esEs(new_rem(vyv292, vyv291)), vyv291, vyv292) 248.95/165.44 new_gcd0Gcd'11(False, vyv291, vyv292) -> new_gcd0Gcd'00(vyv291, new_rem(vyv292, vyv291)) 248.95/165.44 new_rem(Pos(vyv2920), Neg(Zero)) -> new_error 248.95/165.44 new_rem(Neg(vyv2920), Pos(Zero)) -> new_error 248.95/165.44 new_rem(Pos(vyv2920), Neg(Succ(vyv29100))) -> Pos(new_primModNatS1(vyv2920, vyv29100)) 248.95/165.44 new_rem(Neg(vyv2920), Pos(Succ(vyv29100))) -> Neg(new_primModNatS1(vyv2920, vyv29100)) 248.95/165.44 new_rem(Pos(vyv2920), Pos(Succ(vyv29100))) -> Pos(new_primModNatS1(vyv2920, vyv29100)) 248.95/165.44 new_rem(Neg(vyv2920), Neg(Zero)) -> new_error 248.95/165.44 new_rem(Neg(vyv2920), Neg(Succ(vyv29100))) -> Neg(new_primModNatS1(vyv2920, vyv29100)) 248.95/165.44 new_rem(Pos(vyv2920), Pos(Zero)) -> new_error 248.95/165.44 new_gcd0Gcd'11(True, vyv291, vyv292) -> vyv291 248.95/165.44 new_primModNatS1(Succ(Zero), Succ(vyv291000)) -> Succ(Zero) 248.95/165.44 new_primModNatS1(Zero, vyv29100) -> Zero 248.95/165.44 new_primModNatS1(Succ(Succ(vyv292000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv292000), Zero) 248.95/165.44 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 248.95/165.44 new_primModNatS1(Succ(Succ(vyv292000)), Succ(vyv291000)) -> new_primModNatS01(vyv292000, vyv291000, vyv292000, vyv291000) 248.95/165.44 new_primModNatS01(vyv330, vyv331, Zero, Zero) -> new_primModNatS02(vyv330, vyv331) 248.95/165.44 new_primModNatS02(vyv330, vyv331) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv330), Succ(vyv331)), Succ(vyv331)) 248.95/165.44 new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Zero) -> new_primModNatS02(vyv330, vyv331) 248.95/165.44 new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Succ(vyv3330)) -> new_primModNatS01(vyv330, vyv331, vyv3320, vyv3330) 248.95/165.44 new_primModNatS01(vyv330, vyv331, Zero, Succ(vyv3330)) -> Succ(Succ(vyv330)) 248.95/165.44 new_gcd1(True, vyv272, vyv271) -> new_error 248.95/165.44 new_gcd1(False, vyv272, vyv271) -> new_gcd0(vyv272, vyv271) 248.95/165.44 new_primEqInt(Neg(Succ(vyv242000))) -> False 248.95/165.44 new_primEqInt(Pos(Zero)) -> True 248.95/165.44 new_primEqInt(Pos(Succ(vyv242000))) -> False 248.95/165.44 new_primEqInt(Neg(Zero)) -> True 248.95/165.44 new_primQuotInt0(vyv2700, Pos(Succ(vyv28700))) -> Neg(new_primDivNatS1(vyv2700, vyv28700)) 248.95/165.44 new_primQuotInt0(vyv2700, Neg(Zero)) -> new_error 248.95/165.44 new_primQuotInt0(vyv2700, Neg(Succ(vyv28700))) -> Pos(new_primDivNatS1(vyv2700, vyv28700)) 248.95/165.44 new_primQuotInt0(vyv2700, Pos(Zero)) -> new_error 248.95/165.44 new_primMulNat0(Succ(vyv23900), Zero) -> Zero 248.95/165.44 new_primMulNat0(Zero, Succ(vyv23800)) -> Zero 248.95/165.44 new_primMulNat0(Zero, Zero) -> Zero 248.95/165.44 new_primMulNat0(Succ(vyv23900), Succ(vyv23800)) -> new_primPlusNat0(new_primMulNat0(vyv23900, Succ(vyv23800)), Succ(vyv23800)) 248.95/165.44 new_primPlusNat0(Succ(vyv4000), Succ(vyv5000)) -> Succ(Succ(new_primPlusNat0(vyv4000, vyv5000))) 248.95/165.44 new_primPlusNat0(Zero, Succ(vyv5000)) -> Succ(vyv5000) 248.95/165.44 new_primPlusNat0(Zero, Zero) -> Zero 248.95/165.44 new_primPlusNat0(Succ(vyv4000), Zero) -> Succ(vyv4000) 248.95/165.44 new_esEs1(Integer(vyv2690)) -> new_primEqInt(vyv2690) 248.95/165.44 new_sr13(vyv239, vyv238) -> error([]) 248.95/165.44 new_sr11(vyv239, vyv238) -> error([]) 248.95/165.44 new_primMinusNat0(Succ(vyv2280), Succ(vyv244000)) -> new_primMinusNat0(vyv2280, vyv244000) 248.95/165.44 new_primMinusNat0(Zero, Zero) -> Pos(Zero) 248.95/165.44 new_primMinusNat0(Zero, Succ(vyv244000)) -> Neg(Succ(vyv244000)) 248.95/165.44 new_primMinusNat0(Succ(vyv2280), Zero) -> Pos(Succ(vyv2280)) 248.95/165.44 new_sr1(vyv227, ty_Int) -> new_sr6(vyv227) 248.95/165.44 new_sr1(vyv227, ty_Integer) -> new_sr7(vyv227) 248.95/165.44 new_sr1(vyv227, app(ty_Ratio, be)) -> new_sr5(vyv227, be) 248.95/165.44 new_sr1(vyv227, ty_Float) -> new_sr10(vyv227) 248.95/165.44 new_sr1(vyv227, ty_Double) -> new_sr9(vyv227) 248.95/165.44 new_sr9(vyv183) -> error([]) 248.95/165.44 new_sr10(vyv183) -> error([]) 248.95/165.44 new_sr5(:%(vyv1830, vyv1831), bd) -> new_reduce2Reduce1(vyv1830, vyv1830, vyv1831, vyv1831, new_esEs0(vyv1831, bd), bd) 248.95/165.44 new_esEs0(vyv1831, ty_Int) -> new_esEs(new_sr6(vyv1831)) 248.95/165.44 new_esEs0(vyv1831, ty_Integer) -> new_esEs1(new_sr7(vyv1831)) 248.95/165.44 new_sr7(vyv183) -> error([]) 248.95/165.44 new_sr6(Neg(vyv1830)) -> Pos(new_primMulNat1(vyv1830)) 248.95/165.44 new_sr6(Pos(vyv1830)) -> Pos(new_primMulNat1(vyv1830)) 248.95/165.44 new_primMulNat1(Succ(vyv18300)) -> new_primPlusNat0(new_primMulNat2(vyv18300), Succ(vyv18300)) 248.95/165.44 new_primMulNat1(Zero) -> Zero 248.95/165.44 new_primMulNat2(Succ(vyv183000)) -> new_primPlusNat0(new_primMulNat3(vyv183000), Succ(Succ(vyv183000))) 248.95/165.44 new_primMulNat2(Zero) -> Zero 248.95/165.44 new_primMulNat3(Succ(vyv1830000)) -> new_primPlusNat0(new_primMulNat4(vyv1830000), Succ(Succ(Succ(vyv1830000)))) 248.95/165.44 new_primMulNat3(Zero) -> Zero 248.95/165.44 new_primMulNat4(Succ(vyv18300000)) -> new_primPlusNat0(new_primMulNat0(vyv18300000, Succ(Succ(Succ(Succ(vyv18300000))))), Succ(Succ(Succ(Succ(vyv18300000))))) 248.95/165.44 new_primMulNat4(Zero) -> Zero 248.95/165.44 248.95/165.44 The set Q consists of the following terms: 248.95/165.44 248.95/165.44 new_rem(Pos(x0), Pos(Succ(x1))) 248.95/165.44 new_quot1(x0, x1, x2, x3, ty_Integer) 248.95/165.44 new_primModNatS1(Succ(Zero), Succ(x0)) 248.95/165.44 new_primMulNat4(Zero) 248.95/165.44 new_gcd1(False, x0, x1) 248.95/165.44 new_primEqInt(Pos(Zero)) 248.95/165.44 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 248.95/165.44 new_rem(Pos(x0), Neg(Succ(x1))) 248.95/165.44 new_rem(Neg(x0), Pos(Succ(x1))) 248.95/165.44 new_sr10(x0) 248.95/165.44 new_quot1(x0, x1, x2, x3, ty_Int) 248.95/165.44 new_quot2(x0, x1, x2, x3, ty_Integer) 248.95/165.44 new_primModNatS01(x0, x1, Succ(x2), Zero) 248.95/165.44 new_primMulNat3(Zero) 248.95/165.44 new_primDivNatS02(x0, x1, Succ(x2), Zero) 248.95/165.44 new_quot2(x0, x1, x2, x3, ty_Int) 248.95/165.44 new_gcd2(False, x0, x1) 248.95/165.44 new_primDivNatS1(Succ(Zero), Zero) 248.95/165.44 new_esEs0(x0, ty_Int) 248.95/165.44 new_sr14(Pos(x0), Pos(x1)) 248.95/165.44 new_primMulNat0(Zero, Zero) 248.95/165.44 new_primPlusNat0(Succ(x0), Zero) 248.95/165.44 new_primMulNat2(Zero) 248.95/165.44 new_sr11(x0, x1) 248.95/165.44 new_primModNatS01(x0, x1, Zero, Zero) 248.95/165.44 new_esEs2(x0, x1, ty_Int) 248.95/165.44 new_gcd1(True, x0, x1) 248.95/165.44 new_sr13(x0, x1) 248.95/165.44 new_sr14(Pos(x0), Neg(x1)) 248.95/165.44 new_sr14(Neg(x0), Pos(x1)) 248.95/165.44 new_primDivNatS1(Succ(Succ(x0)), Succ(x1)) 248.95/165.44 new_sr1(x0, ty_Int) 248.95/165.44 new_primModNatS1(Zero, x0) 248.95/165.44 new_esEs(Pos(Succ(x0))) 248.95/165.44 new_primMulNat3(Succ(x0)) 248.95/165.44 new_sr1(x0, app(ty_Ratio, x1)) 248.95/165.44 new_primQuotInt(x0, Neg(Succ(x1))) 248.95/165.44 new_reduce2Reduce1(x0, x1, x2, x3, False, x4) 248.95/165.44 new_primMinusNat0(Zero, Zero) 248.95/165.44 new_primDivNatS1(Zero, x0) 248.95/165.44 new_primDivNatS02(x0, x1, Succ(x2), Succ(x3)) 248.95/165.44 new_primModNatS02(x0, x1) 248.95/165.44 new_primDivNatS1(Succ(Zero), Succ(x0)) 248.95/165.44 new_sr6(Neg(x0)) 248.95/165.44 new_gcd0Gcd'10(True, x0, x1) 248.95/165.44 new_primMulNat0(Succ(x0), Succ(x1)) 248.95/165.44 new_abs(Neg(Zero)) 248.95/165.44 new_ms(x0, Neg(x1)) 248.95/165.44 new_rem(Pos(x0), Neg(Zero)) 248.95/165.44 new_rem(Neg(x0), Pos(Zero)) 248.95/165.44 new_primMinusNatS2(Zero, Succ(x0)) 248.95/165.44 new_esEs(Neg(Succ(x0))) 248.95/165.44 new_error 248.95/165.44 new_primModNatS1(Succ(Zero), Zero) 248.95/165.44 new_primMulNat0(Zero, Succ(x0)) 248.95/165.44 new_quot(x0, x1, x2) 248.95/165.44 new_gcd2(True, x0, x1) 248.95/165.44 new_gcd0Gcd'11(True, x0, x1) 248.95/165.44 new_primEqInt(Neg(Zero)) 248.95/165.44 new_sr2(x0, x1, ty_Double) 248.95/165.44 new_primMulNat0(Succ(x0), Zero) 248.95/165.44 new_quot0(Neg(x0), x1, x2) 248.95/165.44 new_primMinusNatS2(Succ(x0), Succ(x1)) 248.95/165.44 new_sr8(x0, x1) 248.95/165.44 new_primDivNatS01(x0, x1) 248.95/165.44 new_primDivNatS02(x0, x1, Zero, Succ(x2)) 248.95/165.44 new_primPlusNat0(Succ(x0), Succ(x1)) 248.95/165.44 new_sr1(x0, ty_Integer) 248.95/165.44 new_primPlusNat0(Zero, Zero) 248.95/165.44 new_sr1(x0, ty_Float) 248.95/165.44 new_primMinusNat0(Succ(x0), Succ(x1)) 248.95/165.44 new_sr12(:%(x0, x1), :%(x2, x3), x4) 248.95/165.44 new_abs(Neg(Succ(x0))) 248.95/165.44 new_sr1(x0, ty_Double) 248.95/165.44 new_sr7(x0) 248.95/165.44 new_gcd0(x0, x1) 248.95/165.44 new_primQuotInt0(x0, Pos(Succ(x1))) 248.95/165.44 new_sr5(:%(x0, x1), x2) 248.95/165.44 new_primMinusNatS2(Zero, Zero) 248.95/165.44 new_primMulNat1(Succ(x0)) 248.95/165.44 new_ms(x0, Pos(Zero)) 248.95/165.44 new_abs(Pos(Succ(x0))) 248.95/165.44 new_esEs(Pos(Zero)) 248.95/165.44 new_primQuotInt0(x0, Pos(Zero)) 248.95/165.44 new_primEqInt(Neg(Succ(x0))) 248.95/165.44 new_primQuotInt(x0, Neg(Zero)) 248.95/165.44 new_primQuotInt0(x0, Neg(Zero)) 248.95/165.44 new_primQuotInt0(x0, Neg(Succ(x1))) 248.95/165.44 new_gcd(x0, x1) 248.95/165.44 new_quot0(Pos(x0), x1, x2) 248.95/165.44 new_primMinusNatS0(x0) 248.95/165.44 new_primPlusNat0(Zero, Succ(x0)) 248.95/165.44 new_sr2(x0, x1, app(ty_Ratio, x2)) 248.95/165.44 new_sr2(x0, x1, ty_Int) 248.95/165.44 new_primQuotInt(x0, Pos(Succ(x1))) 248.95/165.44 new_primDivNatS1(Succ(Succ(x0)), Zero) 248.95/165.44 new_rem(Pos(x0), Pos(Zero)) 248.95/165.44 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 248.95/165.44 new_primDivNatS02(x0, x1, Zero, Zero) 248.95/165.44 new_abs(Pos(Zero)) 248.95/165.44 new_gcd0Gcd'10(False, x0, x1) 248.95/165.44 new_ms(x0, Pos(Succ(x1))) 248.95/165.44 new_primMinusNatS1 248.95/165.44 new_esEs1(Integer(x0)) 248.95/165.44 new_primMinusNat0(Succ(x0), Zero) 248.95/165.44 new_sr2(x0, x1, ty_Integer) 248.95/165.44 new_primModNatS01(x0, x1, Zero, Succ(x2)) 248.95/165.44 new_primMulNat2(Succ(x0)) 248.95/165.44 new_sr14(Neg(x0), Neg(x1)) 248.95/165.44 new_sr2(x0, x1, ty_Float) 248.95/165.44 new_primMinusNatS2(Succ(x0), Zero) 248.95/165.44 new_sr6(Pos(x0)) 248.95/165.44 new_esEs2(x0, x1, ty_Integer) 248.95/165.44 new_primMulNat4(Succ(x0)) 248.95/165.44 new_rem(Neg(x0), Neg(Succ(x1))) 248.95/165.44 new_primEqInt(Pos(Succ(x0))) 248.95/165.44 new_primQuotInt(x0, Pos(Zero)) 248.95/165.44 new_gcd0Gcd'11(False, x0, x1) 248.95/165.44 new_sr9(x0) 248.95/165.44 new_primModNatS1(Succ(Succ(x0)), Zero) 248.95/165.44 new_esEs0(x0, ty_Integer) 248.95/165.44 new_gcd0Gcd'00(x0, x1) 248.95/165.44 new_reduce2Reduce1(x0, x1, x2, x3, True, x4) 248.95/165.44 new_esEs(Neg(Zero)) 248.95/165.44 new_primMulNat1(Zero) 248.95/165.44 new_primMinusNat0(Zero, Succ(x0)) 248.95/165.44 new_rem(Neg(x0), Neg(Zero)) 248.95/165.44 248.95/165.44 We have to consider all minimal (P,Q,R)-chains. 248.95/165.44 ---------------------------------------- 248.95/165.44 248.95/165.44 (913) UsableRulesProof (EQUIVALENT) 248.95/165.44 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. 248.95/165.44 ---------------------------------------- 248.95/165.44 248.95/165.44 (914) 248.95/165.44 Obligation: 248.95/165.44 Q DP problem: 248.95/165.44 The TRS P consists of the following rules: 248.95/165.44 248.95/165.44 new_pr2F0G1(vyv226, vyv227, vyv228, Succ(Succ(vyv22900)), ba) -> new_pr2F0G1(vyv226, vyv227, vyv228, vyv22900, ba) 248.95/165.44 new_pr2F0G1(vyv226, vyv227, vyv228, Succ(Zero), ba) -> new_pr2F(vyv227, vyv228, Pos(Succ(Zero)), vyv226, ba) 248.95/165.44 new_pr2F0(vyv183, Pos(Succ(Succ(vyv222000))), vyv187, h) -> new_pr2F0G1(vyv187, vyv183, Succ(vyv222000), vyv222000, h) 248.95/165.44 new_pr2F0G1(vyv226, vyv227, vyv228, Zero, ba) -> new_pr2F0G(vyv226, new_sr1(vyv227, ba), Pos(new_primDivNatS1(Succ(vyv228), Succ(Zero))), ba) 248.95/165.44 new_pr2F0G(vyv187, vyv183, Pos(Succ(Succ(vyv222000))), h) -> new_pr2F0G1(vyv187, vyv183, Succ(vyv222000), vyv222000, h) 248.95/165.44 new_pr2F(y0, Succ(x0), Pos(Succ(Zero)), y2, y3) -> new_pr2F3(False, y0, Succ(x0), Pos(Succ(Zero)), y2, y3) 248.95/165.44 new_pr2F3(False, z0, Succ(z1), Pos(Succ(Zero)), z2, z3) -> new_pr2F0(z0, new_primMinusNat0(Succ(z1), Zero), new_sr2(z0, z2, z3), z3) 248.95/165.44 248.95/165.44 The TRS R consists of the following rules: 248.95/165.44 248.95/165.44 new_primMinusNat0(Succ(vyv2280), Zero) -> Pos(Succ(vyv2280)) 248.95/165.44 new_sr2(vyv227, vyv226, ty_Int) -> new_sr14(vyv227, vyv226) 248.95/165.44 new_sr2(vyv227, vyv226, ty_Double) -> new_sr11(vyv227, vyv226) 248.95/165.44 new_sr2(vyv227, vyv226, ty_Integer) -> new_sr8(vyv227, vyv226) 248.95/165.44 new_sr2(vyv227, vyv226, ty_Float) -> new_sr13(vyv227, vyv226) 248.95/165.44 new_sr2(vyv227, vyv226, app(ty_Ratio, be)) -> new_sr12(vyv227, vyv226, be) 248.95/165.44 new_sr12(:%(vyv2390, vyv2391), :%(vyv2380, vyv2381), bf) -> new_reduce2Reduce1(vyv2390, vyv2380, vyv2391, vyv2381, new_esEs2(vyv2391, vyv2381, bf), bf) 248.95/165.44 new_esEs2(vyv2391, vyv2381, ty_Int) -> new_esEs(new_sr14(vyv2391, vyv2381)) 248.95/165.44 new_esEs2(vyv2391, vyv2381, ty_Integer) -> new_esEs1(new_sr8(vyv2391, vyv2381)) 248.95/165.44 new_reduce2Reduce1(vyv264, vyv265, vyv266, vyv267, False, bh) -> :%(new_quot1(vyv264, vyv265, vyv266, vyv267, bh), new_quot2(vyv266, vyv267, vyv264, vyv265, bh)) 248.95/165.44 new_reduce2Reduce1(vyv264, vyv265, vyv266, vyv267, True, bh) -> error([]) 248.95/165.44 new_quot1(vyv264, vyv265, vyv266, vyv267, ty_Int) -> new_quot0(new_sr14(vyv264, vyv265), new_sr14(vyv264, vyv265), new_sr14(vyv266, vyv267)) 248.95/165.44 new_quot1(vyv264, vyv265, vyv266, vyv267, ty_Integer) -> new_quot(new_sr8(vyv264, vyv265), new_sr8(vyv264, vyv265), new_sr8(vyv266, vyv267)) 248.95/165.44 new_quot2(vyv266, vyv267, vyv264, vyv265, ty_Int) -> new_quot0(new_sr14(vyv266, vyv267), new_sr14(vyv264, vyv265), new_sr14(vyv266, vyv267)) 248.95/165.44 new_quot2(vyv266, vyv267, vyv264, vyv265, ty_Integer) -> new_quot(new_sr8(vyv266, vyv267), new_sr8(vyv264, vyv265), new_sr8(vyv266, vyv267)) 248.95/165.44 new_sr8(vyv239, vyv238) -> error([]) 248.95/165.44 new_quot(vyv273, vyv275, vyv274) -> error([]) 248.95/165.44 new_sr14(Pos(vyv2390), Neg(vyv2380)) -> Neg(new_primMulNat0(vyv2390, vyv2380)) 248.95/165.44 new_sr14(Neg(vyv2390), Pos(vyv2380)) -> Neg(new_primMulNat0(vyv2390, vyv2380)) 248.95/165.44 new_sr14(Neg(vyv2390), Neg(vyv2380)) -> Pos(new_primMulNat0(vyv2390, vyv2380)) 248.95/165.44 new_sr14(Pos(vyv2390), Pos(vyv2380)) -> Pos(new_primMulNat0(vyv2390, vyv2380)) 248.95/165.44 new_quot0(Neg(vyv2700), vyv272, vyv271) -> new_primQuotInt0(vyv2700, new_gcd(vyv272, vyv271)) 248.95/165.44 new_quot0(Pos(vyv2700), vyv272, vyv271) -> new_primQuotInt(vyv2700, new_gcd(vyv272, vyv271)) 248.95/165.44 new_gcd(vyv272, vyv271) -> new_gcd2(new_esEs(vyv272), vyv272, vyv271) 248.95/165.44 new_primQuotInt(vyv2700, Pos(Succ(vyv28400))) -> Pos(new_primDivNatS1(vyv2700, vyv28400)) 248.95/165.44 new_primQuotInt(vyv2700, Neg(Zero)) -> new_error 248.95/165.44 new_primQuotInt(vyv2700, Pos(Zero)) -> new_error 248.95/165.44 new_primQuotInt(vyv2700, Neg(Succ(vyv28400))) -> Neg(new_primDivNatS1(vyv2700, vyv28400)) 248.95/165.44 new_primDivNatS1(Succ(Zero), Succ(vyv284000)) -> Zero 248.95/165.44 new_primDivNatS1(Succ(Succ(vyv270000)), Succ(vyv284000)) -> new_primDivNatS02(vyv270000, vyv284000, vyv270000, vyv284000) 248.95/165.44 new_primDivNatS1(Zero, vyv28400) -> Zero 248.95/165.44 new_primDivNatS1(Succ(Succ(vyv270000)), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS0(vyv270000), Zero)) 248.95/165.44 new_primDivNatS1(Succ(Zero), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS1, Zero)) 248.95/165.44 new_primMinusNatS1 -> Zero 248.95/165.44 new_primMinusNatS0(vyv270000) -> Succ(vyv270000) 248.95/165.44 new_primDivNatS02(vyv310, vyv311, Zero, Zero) -> new_primDivNatS01(vyv310, vyv311) 248.95/165.44 new_primDivNatS02(vyv310, vyv311, Succ(vyv3120), Zero) -> new_primDivNatS01(vyv310, vyv311) 248.95/165.44 new_primDivNatS02(vyv310, vyv311, Zero, Succ(vyv3130)) -> Zero 248.95/165.44 new_primDivNatS02(vyv310, vyv311, Succ(vyv3120), Succ(vyv3130)) -> new_primDivNatS02(vyv310, vyv311, vyv3120, vyv3130) 248.95/165.44 new_primDivNatS01(vyv310, vyv311) -> Succ(new_primDivNatS1(new_primMinusNatS2(vyv310, vyv311), Succ(vyv311))) 248.95/165.44 new_primMinusNatS2(Zero, Succ(vyv3110)) -> Zero 248.95/165.44 new_primMinusNatS2(Succ(vyv3100), Zero) -> Succ(vyv3100) 248.95/165.44 new_primMinusNatS2(Zero, Zero) -> Zero 248.95/165.44 new_primMinusNatS2(Succ(vyv3100), Succ(vyv3110)) -> new_primMinusNatS2(vyv3100, vyv3110) 248.95/165.44 new_error -> error([]) 248.95/165.44 new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) 248.95/165.44 new_esEs(Pos(Succ(vyv24100))) -> new_primEqInt(Pos(Succ(vyv24100))) 248.95/165.44 new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) 248.95/165.44 new_esEs(Neg(Succ(vyv24100))) -> new_primEqInt(Neg(Succ(vyv24100))) 248.95/165.44 new_gcd2(True, vyv272, vyv271) -> new_gcd1(new_esEs(vyv271), vyv272, vyv271) 248.95/165.44 new_gcd2(False, vyv272, vyv271) -> new_gcd0(vyv272, vyv271) 248.95/165.44 new_gcd0(vyv272, vyv271) -> new_gcd0Gcd'10(new_esEs(new_abs(vyv271)), vyv272, vyv271) 248.95/165.44 new_abs(Neg(Zero)) -> Neg(Zero) 248.95/165.44 new_abs(Neg(Succ(vyv27100))) -> Pos(Succ(vyv27100)) 248.95/165.44 new_abs(Pos(Succ(vyv27100))) -> Pos(Succ(vyv27100)) 248.95/165.44 new_abs(Pos(Zero)) -> Pos(Zero) 248.95/165.44 new_gcd0Gcd'10(True, vyv272, vyv271) -> new_abs(vyv272) 248.95/165.44 new_gcd0Gcd'10(False, vyv272, vyv271) -> new_gcd0Gcd'00(new_abs(vyv272), new_abs(vyv271)) 248.95/165.44 new_gcd0Gcd'00(vyv292, vyv291) -> new_gcd0Gcd'11(new_esEs(new_rem(vyv292, vyv291)), vyv291, vyv292) 248.95/165.44 new_gcd0Gcd'11(False, vyv291, vyv292) -> new_gcd0Gcd'00(vyv291, new_rem(vyv292, vyv291)) 248.95/165.44 new_rem(Pos(vyv2920), Neg(Zero)) -> new_error 248.95/165.44 new_rem(Neg(vyv2920), Pos(Zero)) -> new_error 248.95/165.44 new_rem(Pos(vyv2920), Neg(Succ(vyv29100))) -> Pos(new_primModNatS1(vyv2920, vyv29100)) 248.95/165.44 new_rem(Neg(vyv2920), Pos(Succ(vyv29100))) -> Neg(new_primModNatS1(vyv2920, vyv29100)) 248.95/165.44 new_rem(Pos(vyv2920), Pos(Succ(vyv29100))) -> Pos(new_primModNatS1(vyv2920, vyv29100)) 248.95/165.44 new_rem(Neg(vyv2920), Neg(Zero)) -> new_error 248.95/165.44 new_rem(Neg(vyv2920), Neg(Succ(vyv29100))) -> Neg(new_primModNatS1(vyv2920, vyv29100)) 248.95/165.44 new_rem(Pos(vyv2920), Pos(Zero)) -> new_error 248.95/165.44 new_gcd0Gcd'11(True, vyv291, vyv292) -> vyv291 248.95/165.44 new_primModNatS1(Succ(Zero), Succ(vyv291000)) -> Succ(Zero) 248.95/165.44 new_primModNatS1(Zero, vyv29100) -> Zero 248.95/165.44 new_primModNatS1(Succ(Succ(vyv292000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv292000), Zero) 248.95/165.44 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 248.95/165.44 new_primModNatS1(Succ(Succ(vyv292000)), Succ(vyv291000)) -> new_primModNatS01(vyv292000, vyv291000, vyv292000, vyv291000) 248.95/165.44 new_primModNatS01(vyv330, vyv331, Zero, Zero) -> new_primModNatS02(vyv330, vyv331) 248.95/165.44 new_primModNatS02(vyv330, vyv331) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv330), Succ(vyv331)), Succ(vyv331)) 248.95/165.44 new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Zero) -> new_primModNatS02(vyv330, vyv331) 248.95/165.44 new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Succ(vyv3330)) -> new_primModNatS01(vyv330, vyv331, vyv3320, vyv3330) 248.95/165.44 new_primModNatS01(vyv330, vyv331, Zero, Succ(vyv3330)) -> Succ(Succ(vyv330)) 248.95/165.44 new_gcd1(True, vyv272, vyv271) -> new_error 248.95/165.44 new_gcd1(False, vyv272, vyv271) -> new_gcd0(vyv272, vyv271) 248.95/165.44 new_primEqInt(Neg(Succ(vyv242000))) -> False 248.95/165.44 new_primEqInt(Pos(Zero)) -> True 248.95/165.44 new_primEqInt(Pos(Succ(vyv242000))) -> False 248.95/165.44 new_primEqInt(Neg(Zero)) -> True 248.95/165.44 new_primQuotInt0(vyv2700, Pos(Succ(vyv28700))) -> Neg(new_primDivNatS1(vyv2700, vyv28700)) 248.95/165.44 new_primQuotInt0(vyv2700, Neg(Zero)) -> new_error 248.95/165.44 new_primQuotInt0(vyv2700, Neg(Succ(vyv28700))) -> Pos(new_primDivNatS1(vyv2700, vyv28700)) 248.95/165.44 new_primQuotInt0(vyv2700, Pos(Zero)) -> new_error 248.95/165.44 new_primMulNat0(Succ(vyv23900), Zero) -> Zero 248.95/165.44 new_primMulNat0(Zero, Succ(vyv23800)) -> Zero 248.95/165.44 new_primMulNat0(Zero, Zero) -> Zero 248.95/165.44 new_primMulNat0(Succ(vyv23900), Succ(vyv23800)) -> new_primPlusNat0(new_primMulNat0(vyv23900, Succ(vyv23800)), Succ(vyv23800)) 248.95/165.44 new_primPlusNat0(Succ(vyv4000), Succ(vyv5000)) -> Succ(Succ(new_primPlusNat0(vyv4000, vyv5000))) 248.95/165.44 new_primPlusNat0(Zero, Succ(vyv5000)) -> Succ(vyv5000) 248.95/165.44 new_primPlusNat0(Zero, Zero) -> Zero 248.95/165.44 new_primPlusNat0(Succ(vyv4000), Zero) -> Succ(vyv4000) 248.95/165.44 new_esEs1(Integer(vyv2690)) -> new_primEqInt(vyv2690) 248.95/165.44 new_sr13(vyv239, vyv238) -> error([]) 248.95/165.44 new_sr11(vyv239, vyv238) -> error([]) 248.95/165.44 new_sr1(vyv227, ty_Int) -> new_sr6(vyv227) 248.95/165.44 new_sr1(vyv227, ty_Integer) -> new_sr7(vyv227) 248.95/165.44 new_sr1(vyv227, app(ty_Ratio, be)) -> new_sr5(vyv227, be) 248.95/165.44 new_sr1(vyv227, ty_Float) -> new_sr10(vyv227) 248.95/165.44 new_sr1(vyv227, ty_Double) -> new_sr9(vyv227) 248.95/165.44 new_sr9(vyv183) -> error([]) 248.95/165.44 new_sr10(vyv183) -> error([]) 248.95/165.44 new_sr5(:%(vyv1830, vyv1831), bd) -> new_reduce2Reduce1(vyv1830, vyv1830, vyv1831, vyv1831, new_esEs0(vyv1831, bd), bd) 248.95/165.44 new_esEs0(vyv1831, ty_Int) -> new_esEs(new_sr6(vyv1831)) 248.95/165.44 new_esEs0(vyv1831, ty_Integer) -> new_esEs1(new_sr7(vyv1831)) 248.95/165.44 new_sr7(vyv183) -> error([]) 248.95/165.44 new_sr6(Neg(vyv1830)) -> Pos(new_primMulNat1(vyv1830)) 248.95/165.44 new_sr6(Pos(vyv1830)) -> Pos(new_primMulNat1(vyv1830)) 248.95/165.44 new_primMulNat1(Succ(vyv18300)) -> new_primPlusNat0(new_primMulNat2(vyv18300), Succ(vyv18300)) 248.95/165.44 new_primMulNat1(Zero) -> Zero 248.95/165.44 new_primMulNat2(Succ(vyv183000)) -> new_primPlusNat0(new_primMulNat3(vyv183000), Succ(Succ(vyv183000))) 248.95/165.44 new_primMulNat2(Zero) -> Zero 248.95/165.44 new_primMulNat3(Succ(vyv1830000)) -> new_primPlusNat0(new_primMulNat4(vyv1830000), Succ(Succ(Succ(vyv1830000)))) 248.95/165.44 new_primMulNat3(Zero) -> Zero 248.95/165.44 new_primMulNat4(Succ(vyv18300000)) -> new_primPlusNat0(new_primMulNat0(vyv18300000, Succ(Succ(Succ(Succ(vyv18300000))))), Succ(Succ(Succ(Succ(vyv18300000))))) 248.95/165.44 new_primMulNat4(Zero) -> Zero 248.95/165.44 248.95/165.44 The set Q consists of the following terms: 248.95/165.44 248.95/165.44 new_rem(Pos(x0), Pos(Succ(x1))) 248.95/165.44 new_quot1(x0, x1, x2, x3, ty_Integer) 248.95/165.44 new_primModNatS1(Succ(Zero), Succ(x0)) 248.95/165.44 new_primMulNat4(Zero) 248.95/165.44 new_gcd1(False, x0, x1) 248.95/165.44 new_primEqInt(Pos(Zero)) 248.95/165.44 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 248.95/165.44 new_rem(Pos(x0), Neg(Succ(x1))) 248.95/165.44 new_rem(Neg(x0), Pos(Succ(x1))) 248.95/165.44 new_sr10(x0) 248.95/165.44 new_quot1(x0, x1, x2, x3, ty_Int) 248.95/165.44 new_quot2(x0, x1, x2, x3, ty_Integer) 248.95/165.44 new_primModNatS01(x0, x1, Succ(x2), Zero) 248.95/165.44 new_primMulNat3(Zero) 248.95/165.44 new_primDivNatS02(x0, x1, Succ(x2), Zero) 248.95/165.44 new_quot2(x0, x1, x2, x3, ty_Int) 248.95/165.44 new_gcd2(False, x0, x1) 248.95/165.44 new_primDivNatS1(Succ(Zero), Zero) 248.95/165.44 new_esEs0(x0, ty_Int) 248.95/165.44 new_sr14(Pos(x0), Pos(x1)) 248.95/165.44 new_primMulNat0(Zero, Zero) 248.95/165.44 new_primPlusNat0(Succ(x0), Zero) 248.95/165.44 new_primMulNat2(Zero) 248.95/165.44 new_sr11(x0, x1) 248.95/165.44 new_primModNatS01(x0, x1, Zero, Zero) 248.95/165.44 new_esEs2(x0, x1, ty_Int) 248.95/165.44 new_gcd1(True, x0, x1) 248.95/165.44 new_sr13(x0, x1) 248.95/165.44 new_sr14(Pos(x0), Neg(x1)) 248.95/165.44 new_sr14(Neg(x0), Pos(x1)) 248.95/165.44 new_primDivNatS1(Succ(Succ(x0)), Succ(x1)) 248.95/165.44 new_sr1(x0, ty_Int) 248.95/165.44 new_primModNatS1(Zero, x0) 248.95/165.44 new_esEs(Pos(Succ(x0))) 248.95/165.44 new_primMulNat3(Succ(x0)) 248.95/165.44 new_sr1(x0, app(ty_Ratio, x1)) 248.95/165.44 new_primQuotInt(x0, Neg(Succ(x1))) 248.95/165.44 new_reduce2Reduce1(x0, x1, x2, x3, False, x4) 248.95/165.44 new_primMinusNat0(Zero, Zero) 248.95/165.44 new_primDivNatS1(Zero, x0) 248.95/165.44 new_primDivNatS02(x0, x1, Succ(x2), Succ(x3)) 248.95/165.44 new_primModNatS02(x0, x1) 248.95/165.44 new_primDivNatS1(Succ(Zero), Succ(x0)) 248.95/165.44 new_sr6(Neg(x0)) 248.95/165.44 new_gcd0Gcd'10(True, x0, x1) 248.95/165.44 new_primMulNat0(Succ(x0), Succ(x1)) 248.95/165.44 new_abs(Neg(Zero)) 248.95/165.44 new_ms(x0, Neg(x1)) 248.95/165.44 new_rem(Pos(x0), Neg(Zero)) 248.95/165.44 new_rem(Neg(x0), Pos(Zero)) 248.95/165.44 new_primMinusNatS2(Zero, Succ(x0)) 248.95/165.44 new_esEs(Neg(Succ(x0))) 248.95/165.44 new_error 248.95/165.44 new_primModNatS1(Succ(Zero), Zero) 248.95/165.44 new_primMulNat0(Zero, Succ(x0)) 248.95/165.44 new_quot(x0, x1, x2) 248.95/165.44 new_gcd2(True, x0, x1) 248.95/165.44 new_gcd0Gcd'11(True, x0, x1) 248.95/165.44 new_primEqInt(Neg(Zero)) 248.95/165.44 new_sr2(x0, x1, ty_Double) 248.95/165.44 new_primMulNat0(Succ(x0), Zero) 248.95/165.44 new_quot0(Neg(x0), x1, x2) 248.95/165.44 new_primMinusNatS2(Succ(x0), Succ(x1)) 248.95/165.44 new_sr8(x0, x1) 248.95/165.44 new_primDivNatS01(x0, x1) 248.95/165.44 new_primDivNatS02(x0, x1, Zero, Succ(x2)) 248.95/165.44 new_primPlusNat0(Succ(x0), Succ(x1)) 248.95/165.44 new_sr1(x0, ty_Integer) 248.95/165.44 new_primPlusNat0(Zero, Zero) 248.95/165.44 new_sr1(x0, ty_Float) 248.95/165.44 new_primMinusNat0(Succ(x0), Succ(x1)) 248.95/165.44 new_sr12(:%(x0, x1), :%(x2, x3), x4) 248.95/165.44 new_abs(Neg(Succ(x0))) 248.95/165.44 new_sr1(x0, ty_Double) 248.95/165.44 new_sr7(x0) 248.95/165.44 new_gcd0(x0, x1) 248.95/165.44 new_primQuotInt0(x0, Pos(Succ(x1))) 248.95/165.44 new_sr5(:%(x0, x1), x2) 248.95/165.44 new_primMinusNatS2(Zero, Zero) 248.95/165.44 new_primMulNat1(Succ(x0)) 248.95/165.44 new_ms(x0, Pos(Zero)) 248.95/165.44 new_abs(Pos(Succ(x0))) 248.95/165.44 new_esEs(Pos(Zero)) 248.95/165.44 new_primQuotInt0(x0, Pos(Zero)) 248.95/165.44 new_primEqInt(Neg(Succ(x0))) 248.95/165.44 new_primQuotInt(x0, Neg(Zero)) 248.95/165.44 new_primQuotInt0(x0, Neg(Zero)) 248.95/165.44 new_primQuotInt0(x0, Neg(Succ(x1))) 248.95/165.44 new_gcd(x0, x1) 248.95/165.44 new_quot0(Pos(x0), x1, x2) 248.95/165.44 new_primMinusNatS0(x0) 248.95/165.44 new_primPlusNat0(Zero, Succ(x0)) 248.95/165.44 new_sr2(x0, x1, app(ty_Ratio, x2)) 248.95/165.44 new_sr2(x0, x1, ty_Int) 248.95/165.44 new_primQuotInt(x0, Pos(Succ(x1))) 248.95/165.44 new_primDivNatS1(Succ(Succ(x0)), Zero) 248.95/165.44 new_rem(Pos(x0), Pos(Zero)) 248.95/165.44 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 248.95/165.44 new_primDivNatS02(x0, x1, Zero, Zero) 248.95/165.44 new_abs(Pos(Zero)) 248.95/165.44 new_gcd0Gcd'10(False, x0, x1) 248.95/165.44 new_ms(x0, Pos(Succ(x1))) 248.95/165.44 new_primMinusNatS1 248.95/165.44 new_esEs1(Integer(x0)) 248.95/165.44 new_primMinusNat0(Succ(x0), Zero) 248.95/165.44 new_sr2(x0, x1, ty_Integer) 248.95/165.44 new_primModNatS01(x0, x1, Zero, Succ(x2)) 248.95/165.44 new_primMulNat2(Succ(x0)) 248.95/165.44 new_sr14(Neg(x0), Neg(x1)) 248.95/165.44 new_sr2(x0, x1, ty_Float) 248.95/165.44 new_primMinusNatS2(Succ(x0), Zero) 248.95/165.44 new_sr6(Pos(x0)) 248.95/165.44 new_esEs2(x0, x1, ty_Integer) 248.95/165.44 new_primMulNat4(Succ(x0)) 248.95/165.44 new_rem(Neg(x0), Neg(Succ(x1))) 248.95/165.44 new_primEqInt(Pos(Succ(x0))) 248.95/165.44 new_primQuotInt(x0, Pos(Zero)) 248.95/165.44 new_gcd0Gcd'11(False, x0, x1) 248.95/165.44 new_sr9(x0) 248.95/165.44 new_primModNatS1(Succ(Succ(x0)), Zero) 248.95/165.44 new_esEs0(x0, ty_Integer) 248.95/165.44 new_gcd0Gcd'00(x0, x1) 248.95/165.44 new_reduce2Reduce1(x0, x1, x2, x3, True, x4) 248.95/165.44 new_esEs(Neg(Zero)) 248.95/165.44 new_primMulNat1(Zero) 248.95/165.44 new_primMinusNat0(Zero, Succ(x0)) 248.95/165.44 new_rem(Neg(x0), Neg(Zero)) 248.95/165.44 248.95/165.44 We have to consider all minimal (P,Q,R)-chains. 248.95/165.44 ---------------------------------------- 248.95/165.44 248.95/165.44 (915) QReductionProof (EQUIVALENT) 248.95/165.44 We deleted the following terms from Q as each root-symbol of these terms does neither occur in P nor in R.[THIEMANN]. 248.95/165.44 248.95/165.44 new_ms(x0, Neg(x1)) 248.95/165.44 new_ms(x0, Pos(Zero)) 248.95/165.44 new_ms(x0, Pos(Succ(x1))) 248.95/165.44 248.95/165.44 248.95/165.44 ---------------------------------------- 248.95/165.44 248.95/165.44 (916) 248.95/165.44 Obligation: 248.95/165.44 Q DP problem: 248.95/165.44 The TRS P consists of the following rules: 248.95/165.44 248.95/165.44 new_pr2F0G1(vyv226, vyv227, vyv228, Succ(Succ(vyv22900)), ba) -> new_pr2F0G1(vyv226, vyv227, vyv228, vyv22900, ba) 248.95/165.44 new_pr2F0G1(vyv226, vyv227, vyv228, Succ(Zero), ba) -> new_pr2F(vyv227, vyv228, Pos(Succ(Zero)), vyv226, ba) 248.95/165.44 new_pr2F0(vyv183, Pos(Succ(Succ(vyv222000))), vyv187, h) -> new_pr2F0G1(vyv187, vyv183, Succ(vyv222000), vyv222000, h) 248.95/165.44 new_pr2F0G1(vyv226, vyv227, vyv228, Zero, ba) -> new_pr2F0G(vyv226, new_sr1(vyv227, ba), Pos(new_primDivNatS1(Succ(vyv228), Succ(Zero))), ba) 248.95/165.44 new_pr2F0G(vyv187, vyv183, Pos(Succ(Succ(vyv222000))), h) -> new_pr2F0G1(vyv187, vyv183, Succ(vyv222000), vyv222000, h) 248.95/165.44 new_pr2F(y0, Succ(x0), Pos(Succ(Zero)), y2, y3) -> new_pr2F3(False, y0, Succ(x0), Pos(Succ(Zero)), y2, y3) 248.95/165.44 new_pr2F3(False, z0, Succ(z1), Pos(Succ(Zero)), z2, z3) -> new_pr2F0(z0, new_primMinusNat0(Succ(z1), Zero), new_sr2(z0, z2, z3), z3) 248.95/165.44 248.95/165.44 The TRS R consists of the following rules: 248.95/165.44 248.95/165.44 new_primMinusNat0(Succ(vyv2280), Zero) -> Pos(Succ(vyv2280)) 248.95/165.44 new_sr2(vyv227, vyv226, ty_Int) -> new_sr14(vyv227, vyv226) 248.95/165.44 new_sr2(vyv227, vyv226, ty_Double) -> new_sr11(vyv227, vyv226) 248.95/165.44 new_sr2(vyv227, vyv226, ty_Integer) -> new_sr8(vyv227, vyv226) 248.95/165.44 new_sr2(vyv227, vyv226, ty_Float) -> new_sr13(vyv227, vyv226) 248.95/165.44 new_sr2(vyv227, vyv226, app(ty_Ratio, be)) -> new_sr12(vyv227, vyv226, be) 248.95/165.44 new_sr12(:%(vyv2390, vyv2391), :%(vyv2380, vyv2381), bf) -> new_reduce2Reduce1(vyv2390, vyv2380, vyv2391, vyv2381, new_esEs2(vyv2391, vyv2381, bf), bf) 248.95/165.44 new_esEs2(vyv2391, vyv2381, ty_Int) -> new_esEs(new_sr14(vyv2391, vyv2381)) 248.95/165.44 new_esEs2(vyv2391, vyv2381, ty_Integer) -> new_esEs1(new_sr8(vyv2391, vyv2381)) 248.95/165.44 new_reduce2Reduce1(vyv264, vyv265, vyv266, vyv267, False, bh) -> :%(new_quot1(vyv264, vyv265, vyv266, vyv267, bh), new_quot2(vyv266, vyv267, vyv264, vyv265, bh)) 248.95/165.44 new_reduce2Reduce1(vyv264, vyv265, vyv266, vyv267, True, bh) -> error([]) 248.95/165.44 new_quot1(vyv264, vyv265, vyv266, vyv267, ty_Int) -> new_quot0(new_sr14(vyv264, vyv265), new_sr14(vyv264, vyv265), new_sr14(vyv266, vyv267)) 248.95/165.44 new_quot1(vyv264, vyv265, vyv266, vyv267, ty_Integer) -> new_quot(new_sr8(vyv264, vyv265), new_sr8(vyv264, vyv265), new_sr8(vyv266, vyv267)) 248.95/165.44 new_quot2(vyv266, vyv267, vyv264, vyv265, ty_Int) -> new_quot0(new_sr14(vyv266, vyv267), new_sr14(vyv264, vyv265), new_sr14(vyv266, vyv267)) 248.95/165.44 new_quot2(vyv266, vyv267, vyv264, vyv265, ty_Integer) -> new_quot(new_sr8(vyv266, vyv267), new_sr8(vyv264, vyv265), new_sr8(vyv266, vyv267)) 248.95/165.44 new_sr8(vyv239, vyv238) -> error([]) 248.95/165.44 new_quot(vyv273, vyv275, vyv274) -> error([]) 248.95/165.44 new_sr14(Pos(vyv2390), Neg(vyv2380)) -> Neg(new_primMulNat0(vyv2390, vyv2380)) 248.95/165.44 new_sr14(Neg(vyv2390), Pos(vyv2380)) -> Neg(new_primMulNat0(vyv2390, vyv2380)) 248.95/165.44 new_sr14(Neg(vyv2390), Neg(vyv2380)) -> Pos(new_primMulNat0(vyv2390, vyv2380)) 248.95/165.44 new_sr14(Pos(vyv2390), Pos(vyv2380)) -> Pos(new_primMulNat0(vyv2390, vyv2380)) 248.95/165.44 new_quot0(Neg(vyv2700), vyv272, vyv271) -> new_primQuotInt0(vyv2700, new_gcd(vyv272, vyv271)) 248.95/165.44 new_quot0(Pos(vyv2700), vyv272, vyv271) -> new_primQuotInt(vyv2700, new_gcd(vyv272, vyv271)) 248.95/165.44 new_gcd(vyv272, vyv271) -> new_gcd2(new_esEs(vyv272), vyv272, vyv271) 248.95/165.44 new_primQuotInt(vyv2700, Pos(Succ(vyv28400))) -> Pos(new_primDivNatS1(vyv2700, vyv28400)) 248.95/165.44 new_primQuotInt(vyv2700, Neg(Zero)) -> new_error 248.95/165.44 new_primQuotInt(vyv2700, Pos(Zero)) -> new_error 248.95/165.44 new_primQuotInt(vyv2700, Neg(Succ(vyv28400))) -> Neg(new_primDivNatS1(vyv2700, vyv28400)) 248.95/165.44 new_primDivNatS1(Succ(Zero), Succ(vyv284000)) -> Zero 248.95/165.44 new_primDivNatS1(Succ(Succ(vyv270000)), Succ(vyv284000)) -> new_primDivNatS02(vyv270000, vyv284000, vyv270000, vyv284000) 248.95/165.44 new_primDivNatS1(Zero, vyv28400) -> Zero 248.95/165.44 new_primDivNatS1(Succ(Succ(vyv270000)), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS0(vyv270000), Zero)) 248.95/165.44 new_primDivNatS1(Succ(Zero), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS1, Zero)) 248.95/165.44 new_primMinusNatS1 -> Zero 248.95/165.44 new_primMinusNatS0(vyv270000) -> Succ(vyv270000) 248.95/165.44 new_primDivNatS02(vyv310, vyv311, Zero, Zero) -> new_primDivNatS01(vyv310, vyv311) 248.95/165.44 new_primDivNatS02(vyv310, vyv311, Succ(vyv3120), Zero) -> new_primDivNatS01(vyv310, vyv311) 248.95/165.44 new_primDivNatS02(vyv310, vyv311, Zero, Succ(vyv3130)) -> Zero 248.95/165.44 new_primDivNatS02(vyv310, vyv311, Succ(vyv3120), Succ(vyv3130)) -> new_primDivNatS02(vyv310, vyv311, vyv3120, vyv3130) 248.95/165.44 new_primDivNatS01(vyv310, vyv311) -> Succ(new_primDivNatS1(new_primMinusNatS2(vyv310, vyv311), Succ(vyv311))) 248.95/165.44 new_primMinusNatS2(Zero, Succ(vyv3110)) -> Zero 248.95/165.44 new_primMinusNatS2(Succ(vyv3100), Zero) -> Succ(vyv3100) 248.95/165.44 new_primMinusNatS2(Zero, Zero) -> Zero 248.95/165.44 new_primMinusNatS2(Succ(vyv3100), Succ(vyv3110)) -> new_primMinusNatS2(vyv3100, vyv3110) 248.95/165.44 new_error -> error([]) 248.95/165.44 new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) 248.95/165.44 new_esEs(Pos(Succ(vyv24100))) -> new_primEqInt(Pos(Succ(vyv24100))) 248.95/165.44 new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) 248.95/165.44 new_esEs(Neg(Succ(vyv24100))) -> new_primEqInt(Neg(Succ(vyv24100))) 248.95/165.44 new_gcd2(True, vyv272, vyv271) -> new_gcd1(new_esEs(vyv271), vyv272, vyv271) 248.95/165.44 new_gcd2(False, vyv272, vyv271) -> new_gcd0(vyv272, vyv271) 248.95/165.44 new_gcd0(vyv272, vyv271) -> new_gcd0Gcd'10(new_esEs(new_abs(vyv271)), vyv272, vyv271) 248.95/165.44 new_abs(Neg(Zero)) -> Neg(Zero) 248.95/165.44 new_abs(Neg(Succ(vyv27100))) -> Pos(Succ(vyv27100)) 248.95/165.44 new_abs(Pos(Succ(vyv27100))) -> Pos(Succ(vyv27100)) 248.95/165.44 new_abs(Pos(Zero)) -> Pos(Zero) 248.95/165.44 new_gcd0Gcd'10(True, vyv272, vyv271) -> new_abs(vyv272) 248.95/165.44 new_gcd0Gcd'10(False, vyv272, vyv271) -> new_gcd0Gcd'00(new_abs(vyv272), new_abs(vyv271)) 248.95/165.44 new_gcd0Gcd'00(vyv292, vyv291) -> new_gcd0Gcd'11(new_esEs(new_rem(vyv292, vyv291)), vyv291, vyv292) 248.95/165.44 new_gcd0Gcd'11(False, vyv291, vyv292) -> new_gcd0Gcd'00(vyv291, new_rem(vyv292, vyv291)) 248.95/165.44 new_rem(Pos(vyv2920), Neg(Zero)) -> new_error 248.95/165.44 new_rem(Neg(vyv2920), Pos(Zero)) -> new_error 248.95/165.44 new_rem(Pos(vyv2920), Neg(Succ(vyv29100))) -> Pos(new_primModNatS1(vyv2920, vyv29100)) 248.95/165.44 new_rem(Neg(vyv2920), Pos(Succ(vyv29100))) -> Neg(new_primModNatS1(vyv2920, vyv29100)) 248.95/165.44 new_rem(Pos(vyv2920), Pos(Succ(vyv29100))) -> Pos(new_primModNatS1(vyv2920, vyv29100)) 248.95/165.44 new_rem(Neg(vyv2920), Neg(Zero)) -> new_error 248.95/165.44 new_rem(Neg(vyv2920), Neg(Succ(vyv29100))) -> Neg(new_primModNatS1(vyv2920, vyv29100)) 248.95/165.44 new_rem(Pos(vyv2920), Pos(Zero)) -> new_error 248.95/165.44 new_gcd0Gcd'11(True, vyv291, vyv292) -> vyv291 248.95/165.44 new_primModNatS1(Succ(Zero), Succ(vyv291000)) -> Succ(Zero) 248.95/165.44 new_primModNatS1(Zero, vyv29100) -> Zero 248.95/165.44 new_primModNatS1(Succ(Succ(vyv292000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv292000), Zero) 248.95/165.44 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 248.95/165.44 new_primModNatS1(Succ(Succ(vyv292000)), Succ(vyv291000)) -> new_primModNatS01(vyv292000, vyv291000, vyv292000, vyv291000) 248.95/165.44 new_primModNatS01(vyv330, vyv331, Zero, Zero) -> new_primModNatS02(vyv330, vyv331) 248.95/165.44 new_primModNatS02(vyv330, vyv331) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv330), Succ(vyv331)), Succ(vyv331)) 248.95/165.44 new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Zero) -> new_primModNatS02(vyv330, vyv331) 248.95/165.44 new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Succ(vyv3330)) -> new_primModNatS01(vyv330, vyv331, vyv3320, vyv3330) 248.95/165.44 new_primModNatS01(vyv330, vyv331, Zero, Succ(vyv3330)) -> Succ(Succ(vyv330)) 248.95/165.44 new_gcd1(True, vyv272, vyv271) -> new_error 248.95/165.44 new_gcd1(False, vyv272, vyv271) -> new_gcd0(vyv272, vyv271) 248.95/165.44 new_primEqInt(Neg(Succ(vyv242000))) -> False 248.95/165.44 new_primEqInt(Pos(Zero)) -> True 248.95/165.44 new_primEqInt(Pos(Succ(vyv242000))) -> False 248.95/165.44 new_primEqInt(Neg(Zero)) -> True 248.95/165.44 new_primQuotInt0(vyv2700, Pos(Succ(vyv28700))) -> Neg(new_primDivNatS1(vyv2700, vyv28700)) 248.95/165.44 new_primQuotInt0(vyv2700, Neg(Zero)) -> new_error 248.95/165.44 new_primQuotInt0(vyv2700, Neg(Succ(vyv28700))) -> Pos(new_primDivNatS1(vyv2700, vyv28700)) 248.95/165.44 new_primQuotInt0(vyv2700, Pos(Zero)) -> new_error 248.95/165.44 new_primMulNat0(Succ(vyv23900), Zero) -> Zero 248.95/165.44 new_primMulNat0(Zero, Succ(vyv23800)) -> Zero 248.95/165.44 new_primMulNat0(Zero, Zero) -> Zero 248.95/165.44 new_primMulNat0(Succ(vyv23900), Succ(vyv23800)) -> new_primPlusNat0(new_primMulNat0(vyv23900, Succ(vyv23800)), Succ(vyv23800)) 248.95/165.44 new_primPlusNat0(Succ(vyv4000), Succ(vyv5000)) -> Succ(Succ(new_primPlusNat0(vyv4000, vyv5000))) 248.95/165.44 new_primPlusNat0(Zero, Succ(vyv5000)) -> Succ(vyv5000) 248.95/165.44 new_primPlusNat0(Zero, Zero) -> Zero 248.95/165.44 new_primPlusNat0(Succ(vyv4000), Zero) -> Succ(vyv4000) 248.95/165.44 new_esEs1(Integer(vyv2690)) -> new_primEqInt(vyv2690) 248.95/165.44 new_sr13(vyv239, vyv238) -> error([]) 248.95/165.44 new_sr11(vyv239, vyv238) -> error([]) 248.95/165.44 new_sr1(vyv227, ty_Int) -> new_sr6(vyv227) 248.95/165.44 new_sr1(vyv227, ty_Integer) -> new_sr7(vyv227) 248.95/165.44 new_sr1(vyv227, app(ty_Ratio, be)) -> new_sr5(vyv227, be) 248.95/165.44 new_sr1(vyv227, ty_Float) -> new_sr10(vyv227) 248.95/165.44 new_sr1(vyv227, ty_Double) -> new_sr9(vyv227) 248.95/165.44 new_sr9(vyv183) -> error([]) 248.95/165.44 new_sr10(vyv183) -> error([]) 248.95/165.44 new_sr5(:%(vyv1830, vyv1831), bd) -> new_reduce2Reduce1(vyv1830, vyv1830, vyv1831, vyv1831, new_esEs0(vyv1831, bd), bd) 248.95/165.44 new_esEs0(vyv1831, ty_Int) -> new_esEs(new_sr6(vyv1831)) 248.95/165.44 new_esEs0(vyv1831, ty_Integer) -> new_esEs1(new_sr7(vyv1831)) 248.95/165.44 new_sr7(vyv183) -> error([]) 248.95/165.44 new_sr6(Neg(vyv1830)) -> Pos(new_primMulNat1(vyv1830)) 248.95/165.44 new_sr6(Pos(vyv1830)) -> Pos(new_primMulNat1(vyv1830)) 248.95/165.44 new_primMulNat1(Succ(vyv18300)) -> new_primPlusNat0(new_primMulNat2(vyv18300), Succ(vyv18300)) 248.95/165.44 new_primMulNat1(Zero) -> Zero 248.95/165.44 new_primMulNat2(Succ(vyv183000)) -> new_primPlusNat0(new_primMulNat3(vyv183000), Succ(Succ(vyv183000))) 248.95/165.44 new_primMulNat2(Zero) -> Zero 248.95/165.44 new_primMulNat3(Succ(vyv1830000)) -> new_primPlusNat0(new_primMulNat4(vyv1830000), Succ(Succ(Succ(vyv1830000)))) 248.95/165.44 new_primMulNat3(Zero) -> Zero 248.95/165.44 new_primMulNat4(Succ(vyv18300000)) -> new_primPlusNat0(new_primMulNat0(vyv18300000, Succ(Succ(Succ(Succ(vyv18300000))))), Succ(Succ(Succ(Succ(vyv18300000))))) 248.95/165.44 new_primMulNat4(Zero) -> Zero 248.95/165.44 248.95/165.44 The set Q consists of the following terms: 248.95/165.44 248.95/165.44 new_rem(Pos(x0), Pos(Succ(x1))) 248.95/165.44 new_quot1(x0, x1, x2, x3, ty_Integer) 248.95/165.44 new_primModNatS1(Succ(Zero), Succ(x0)) 248.95/165.44 new_primMulNat4(Zero) 248.95/165.44 new_gcd1(False, x0, x1) 248.95/165.44 new_primEqInt(Pos(Zero)) 248.95/165.44 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 248.95/165.44 new_rem(Pos(x0), Neg(Succ(x1))) 248.95/165.44 new_rem(Neg(x0), Pos(Succ(x1))) 248.95/165.44 new_sr10(x0) 248.95/165.44 new_quot1(x0, x1, x2, x3, ty_Int) 248.95/165.44 new_quot2(x0, x1, x2, x3, ty_Integer) 248.95/165.44 new_primModNatS01(x0, x1, Succ(x2), Zero) 248.95/165.44 new_primMulNat3(Zero) 248.95/165.44 new_primDivNatS02(x0, x1, Succ(x2), Zero) 248.95/165.44 new_quot2(x0, x1, x2, x3, ty_Int) 248.95/165.44 new_gcd2(False, x0, x1) 248.95/165.44 new_primDivNatS1(Succ(Zero), Zero) 248.95/165.44 new_esEs0(x0, ty_Int) 248.95/165.44 new_sr14(Pos(x0), Pos(x1)) 248.95/165.44 new_primMulNat0(Zero, Zero) 248.95/165.44 new_primPlusNat0(Succ(x0), Zero) 248.95/165.44 new_primMulNat2(Zero) 248.95/165.44 new_sr11(x0, x1) 248.95/165.44 new_primModNatS01(x0, x1, Zero, Zero) 248.95/165.44 new_esEs2(x0, x1, ty_Int) 248.95/165.44 new_gcd1(True, x0, x1) 248.95/165.44 new_sr13(x0, x1) 248.95/165.44 new_sr14(Pos(x0), Neg(x1)) 248.95/165.44 new_sr14(Neg(x0), Pos(x1)) 248.95/165.44 new_primDivNatS1(Succ(Succ(x0)), Succ(x1)) 248.95/165.44 new_sr1(x0, ty_Int) 248.95/165.44 new_primModNatS1(Zero, x0) 248.95/165.44 new_esEs(Pos(Succ(x0))) 248.95/165.44 new_primMulNat3(Succ(x0)) 248.95/165.44 new_sr1(x0, app(ty_Ratio, x1)) 248.95/165.44 new_primQuotInt(x0, Neg(Succ(x1))) 248.95/165.44 new_reduce2Reduce1(x0, x1, x2, x3, False, x4) 248.95/165.44 new_primMinusNat0(Zero, Zero) 248.95/165.44 new_primDivNatS1(Zero, x0) 248.95/165.44 new_primDivNatS02(x0, x1, Succ(x2), Succ(x3)) 248.95/165.44 new_primModNatS02(x0, x1) 248.95/165.44 new_primDivNatS1(Succ(Zero), Succ(x0)) 248.95/165.44 new_sr6(Neg(x0)) 248.95/165.44 new_gcd0Gcd'10(True, x0, x1) 248.95/165.44 new_primMulNat0(Succ(x0), Succ(x1)) 248.95/165.44 new_abs(Neg(Zero)) 248.95/165.44 new_rem(Pos(x0), Neg(Zero)) 248.95/165.44 new_rem(Neg(x0), Pos(Zero)) 248.95/165.44 new_primMinusNatS2(Zero, Succ(x0)) 248.95/165.44 new_esEs(Neg(Succ(x0))) 248.95/165.44 new_error 248.95/165.44 new_primModNatS1(Succ(Zero), Zero) 248.95/165.44 new_primMulNat0(Zero, Succ(x0)) 248.95/165.44 new_quot(x0, x1, x2) 248.95/165.44 new_gcd2(True, x0, x1) 248.95/165.44 new_gcd0Gcd'11(True, x0, x1) 248.95/165.44 new_primEqInt(Neg(Zero)) 248.95/165.44 new_sr2(x0, x1, ty_Double) 248.95/165.44 new_primMulNat0(Succ(x0), Zero) 248.95/165.44 new_quot0(Neg(x0), x1, x2) 248.95/165.44 new_primMinusNatS2(Succ(x0), Succ(x1)) 248.95/165.44 new_sr8(x0, x1) 248.95/165.44 new_primDivNatS01(x0, x1) 248.95/165.44 new_primDivNatS02(x0, x1, Zero, Succ(x2)) 248.95/165.44 new_primPlusNat0(Succ(x0), Succ(x1)) 248.95/165.44 new_sr1(x0, ty_Integer) 248.95/165.44 new_primPlusNat0(Zero, Zero) 248.95/165.44 new_sr1(x0, ty_Float) 248.95/165.44 new_primMinusNat0(Succ(x0), Succ(x1)) 248.95/165.44 new_sr12(:%(x0, x1), :%(x2, x3), x4) 248.95/165.44 new_abs(Neg(Succ(x0))) 248.95/165.44 new_sr1(x0, ty_Double) 248.95/165.44 new_sr7(x0) 248.95/165.44 new_gcd0(x0, x1) 248.95/165.44 new_primQuotInt0(x0, Pos(Succ(x1))) 248.95/165.44 new_sr5(:%(x0, x1), x2) 248.95/165.44 new_primMinusNatS2(Zero, Zero) 248.95/165.44 new_primMulNat1(Succ(x0)) 248.95/165.44 new_abs(Pos(Succ(x0))) 248.95/165.44 new_esEs(Pos(Zero)) 248.95/165.44 new_primQuotInt0(x0, Pos(Zero)) 248.95/165.44 new_primEqInt(Neg(Succ(x0))) 248.95/165.44 new_primQuotInt(x0, Neg(Zero)) 248.95/165.44 new_primQuotInt0(x0, Neg(Zero)) 248.95/165.44 new_primQuotInt0(x0, Neg(Succ(x1))) 248.95/165.44 new_gcd(x0, x1) 248.95/165.44 new_quot0(Pos(x0), x1, x2) 248.95/165.44 new_primMinusNatS0(x0) 248.95/165.44 new_primPlusNat0(Zero, Succ(x0)) 248.95/165.44 new_sr2(x0, x1, app(ty_Ratio, x2)) 248.95/165.44 new_sr2(x0, x1, ty_Int) 248.95/165.44 new_primQuotInt(x0, Pos(Succ(x1))) 248.95/165.44 new_primDivNatS1(Succ(Succ(x0)), Zero) 248.95/165.44 new_rem(Pos(x0), Pos(Zero)) 248.95/165.44 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 248.95/165.44 new_primDivNatS02(x0, x1, Zero, Zero) 248.95/165.44 new_abs(Pos(Zero)) 248.95/165.44 new_gcd0Gcd'10(False, x0, x1) 248.95/165.44 new_primMinusNatS1 248.95/165.44 new_esEs1(Integer(x0)) 248.95/165.44 new_primMinusNat0(Succ(x0), Zero) 248.95/165.44 new_sr2(x0, x1, ty_Integer) 248.95/165.44 new_primModNatS01(x0, x1, Zero, Succ(x2)) 248.95/165.44 new_primMulNat2(Succ(x0)) 248.95/165.44 new_sr14(Neg(x0), Neg(x1)) 248.95/165.44 new_sr2(x0, x1, ty_Float) 248.95/165.44 new_primMinusNatS2(Succ(x0), Zero) 248.95/165.44 new_sr6(Pos(x0)) 248.95/165.44 new_esEs2(x0, x1, ty_Integer) 248.95/165.44 new_primMulNat4(Succ(x0)) 248.95/165.44 new_rem(Neg(x0), Neg(Succ(x1))) 248.95/165.44 new_primEqInt(Pos(Succ(x0))) 248.95/165.44 new_primQuotInt(x0, Pos(Zero)) 248.95/165.44 new_gcd0Gcd'11(False, x0, x1) 248.95/165.44 new_sr9(x0) 248.95/165.44 new_primModNatS1(Succ(Succ(x0)), Zero) 248.95/165.44 new_esEs0(x0, ty_Integer) 248.95/165.44 new_gcd0Gcd'00(x0, x1) 248.95/165.44 new_reduce2Reduce1(x0, x1, x2, x3, True, x4) 248.95/165.44 new_esEs(Neg(Zero)) 248.95/165.44 new_primMulNat1(Zero) 248.95/165.44 new_primMinusNat0(Zero, Succ(x0)) 248.95/165.44 new_rem(Neg(x0), Neg(Zero)) 248.95/165.44 248.95/165.44 We have to consider all minimal (P,Q,R)-chains. 248.95/165.44 ---------------------------------------- 248.95/165.44 248.95/165.44 (917) TransformationProof (EQUIVALENT) 248.95/165.44 By rewriting [LPAR04] the rule new_pr2F3(False, z0, Succ(z1), Pos(Succ(Zero)), z2, z3) -> new_pr2F0(z0, new_primMinusNat0(Succ(z1), Zero), new_sr2(z0, z2, z3), z3) at position [1] we obtained the following new rules [LPAR04]: 248.95/165.44 248.95/165.44 (new_pr2F3(False, z0, Succ(z1), Pos(Succ(Zero)), z2, z3) -> new_pr2F0(z0, Pos(Succ(z1)), new_sr2(z0, z2, z3), z3),new_pr2F3(False, z0, Succ(z1), Pos(Succ(Zero)), z2, z3) -> new_pr2F0(z0, Pos(Succ(z1)), new_sr2(z0, z2, z3), z3)) 248.95/165.44 248.95/165.44 248.95/165.44 ---------------------------------------- 248.95/165.44 248.95/165.44 (918) 248.95/165.44 Obligation: 248.95/165.44 Q DP problem: 248.95/165.44 The TRS P consists of the following rules: 248.95/165.44 248.95/165.44 new_pr2F0G1(vyv226, vyv227, vyv228, Succ(Succ(vyv22900)), ba) -> new_pr2F0G1(vyv226, vyv227, vyv228, vyv22900, ba) 248.95/165.44 new_pr2F0G1(vyv226, vyv227, vyv228, Succ(Zero), ba) -> new_pr2F(vyv227, vyv228, Pos(Succ(Zero)), vyv226, ba) 248.95/165.44 new_pr2F0(vyv183, Pos(Succ(Succ(vyv222000))), vyv187, h) -> new_pr2F0G1(vyv187, vyv183, Succ(vyv222000), vyv222000, h) 248.95/165.44 new_pr2F0G1(vyv226, vyv227, vyv228, Zero, ba) -> new_pr2F0G(vyv226, new_sr1(vyv227, ba), Pos(new_primDivNatS1(Succ(vyv228), Succ(Zero))), ba) 248.95/165.44 new_pr2F0G(vyv187, vyv183, Pos(Succ(Succ(vyv222000))), h) -> new_pr2F0G1(vyv187, vyv183, Succ(vyv222000), vyv222000, h) 248.95/165.44 new_pr2F(y0, Succ(x0), Pos(Succ(Zero)), y2, y3) -> new_pr2F3(False, y0, Succ(x0), Pos(Succ(Zero)), y2, y3) 248.95/165.44 new_pr2F3(False, z0, Succ(z1), Pos(Succ(Zero)), z2, z3) -> new_pr2F0(z0, Pos(Succ(z1)), new_sr2(z0, z2, z3), z3) 248.95/165.44 248.95/165.44 The TRS R consists of the following rules: 248.95/165.44 248.95/165.44 new_primMinusNat0(Succ(vyv2280), Zero) -> Pos(Succ(vyv2280)) 248.95/165.44 new_sr2(vyv227, vyv226, ty_Int) -> new_sr14(vyv227, vyv226) 248.95/165.44 new_sr2(vyv227, vyv226, ty_Double) -> new_sr11(vyv227, vyv226) 248.95/165.44 new_sr2(vyv227, vyv226, ty_Integer) -> new_sr8(vyv227, vyv226) 248.95/165.44 new_sr2(vyv227, vyv226, ty_Float) -> new_sr13(vyv227, vyv226) 248.95/165.44 new_sr2(vyv227, vyv226, app(ty_Ratio, be)) -> new_sr12(vyv227, vyv226, be) 248.95/165.44 new_sr12(:%(vyv2390, vyv2391), :%(vyv2380, vyv2381), bf) -> new_reduce2Reduce1(vyv2390, vyv2380, vyv2391, vyv2381, new_esEs2(vyv2391, vyv2381, bf), bf) 248.95/165.44 new_esEs2(vyv2391, vyv2381, ty_Int) -> new_esEs(new_sr14(vyv2391, vyv2381)) 248.95/165.44 new_esEs2(vyv2391, vyv2381, ty_Integer) -> new_esEs1(new_sr8(vyv2391, vyv2381)) 248.95/165.44 new_reduce2Reduce1(vyv264, vyv265, vyv266, vyv267, False, bh) -> :%(new_quot1(vyv264, vyv265, vyv266, vyv267, bh), new_quot2(vyv266, vyv267, vyv264, vyv265, bh)) 248.95/165.44 new_reduce2Reduce1(vyv264, vyv265, vyv266, vyv267, True, bh) -> error([]) 248.95/165.44 new_quot1(vyv264, vyv265, vyv266, vyv267, ty_Int) -> new_quot0(new_sr14(vyv264, vyv265), new_sr14(vyv264, vyv265), new_sr14(vyv266, vyv267)) 248.95/165.44 new_quot1(vyv264, vyv265, vyv266, vyv267, ty_Integer) -> new_quot(new_sr8(vyv264, vyv265), new_sr8(vyv264, vyv265), new_sr8(vyv266, vyv267)) 248.95/165.44 new_quot2(vyv266, vyv267, vyv264, vyv265, ty_Int) -> new_quot0(new_sr14(vyv266, vyv267), new_sr14(vyv264, vyv265), new_sr14(vyv266, vyv267)) 248.95/165.44 new_quot2(vyv266, vyv267, vyv264, vyv265, ty_Integer) -> new_quot(new_sr8(vyv266, vyv267), new_sr8(vyv264, vyv265), new_sr8(vyv266, vyv267)) 248.95/165.44 new_sr8(vyv239, vyv238) -> error([]) 248.95/165.44 new_quot(vyv273, vyv275, vyv274) -> error([]) 248.95/165.44 new_sr14(Pos(vyv2390), Neg(vyv2380)) -> Neg(new_primMulNat0(vyv2390, vyv2380)) 248.95/165.44 new_sr14(Neg(vyv2390), Pos(vyv2380)) -> Neg(new_primMulNat0(vyv2390, vyv2380)) 248.95/165.44 new_sr14(Neg(vyv2390), Neg(vyv2380)) -> Pos(new_primMulNat0(vyv2390, vyv2380)) 248.95/165.44 new_sr14(Pos(vyv2390), Pos(vyv2380)) -> Pos(new_primMulNat0(vyv2390, vyv2380)) 248.95/165.44 new_quot0(Neg(vyv2700), vyv272, vyv271) -> new_primQuotInt0(vyv2700, new_gcd(vyv272, vyv271)) 248.95/165.44 new_quot0(Pos(vyv2700), vyv272, vyv271) -> new_primQuotInt(vyv2700, new_gcd(vyv272, vyv271)) 248.95/165.44 new_gcd(vyv272, vyv271) -> new_gcd2(new_esEs(vyv272), vyv272, vyv271) 248.95/165.44 new_primQuotInt(vyv2700, Pos(Succ(vyv28400))) -> Pos(new_primDivNatS1(vyv2700, vyv28400)) 248.95/165.44 new_primQuotInt(vyv2700, Neg(Zero)) -> new_error 248.95/165.44 new_primQuotInt(vyv2700, Pos(Zero)) -> new_error 248.95/165.44 new_primQuotInt(vyv2700, Neg(Succ(vyv28400))) -> Neg(new_primDivNatS1(vyv2700, vyv28400)) 248.95/165.44 new_primDivNatS1(Succ(Zero), Succ(vyv284000)) -> Zero 248.95/165.44 new_primDivNatS1(Succ(Succ(vyv270000)), Succ(vyv284000)) -> new_primDivNatS02(vyv270000, vyv284000, vyv270000, vyv284000) 248.95/165.44 new_primDivNatS1(Zero, vyv28400) -> Zero 248.95/165.44 new_primDivNatS1(Succ(Succ(vyv270000)), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS0(vyv270000), Zero)) 248.95/165.44 new_primDivNatS1(Succ(Zero), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS1, Zero)) 248.95/165.44 new_primMinusNatS1 -> Zero 248.95/165.44 new_primMinusNatS0(vyv270000) -> Succ(vyv270000) 248.95/165.44 new_primDivNatS02(vyv310, vyv311, Zero, Zero) -> new_primDivNatS01(vyv310, vyv311) 248.95/165.44 new_primDivNatS02(vyv310, vyv311, Succ(vyv3120), Zero) -> new_primDivNatS01(vyv310, vyv311) 248.95/165.44 new_primDivNatS02(vyv310, vyv311, Zero, Succ(vyv3130)) -> Zero 248.95/165.44 new_primDivNatS02(vyv310, vyv311, Succ(vyv3120), Succ(vyv3130)) -> new_primDivNatS02(vyv310, vyv311, vyv3120, vyv3130) 248.95/165.44 new_primDivNatS01(vyv310, vyv311) -> Succ(new_primDivNatS1(new_primMinusNatS2(vyv310, vyv311), Succ(vyv311))) 248.95/165.44 new_primMinusNatS2(Zero, Succ(vyv3110)) -> Zero 248.95/165.44 new_primMinusNatS2(Succ(vyv3100), Zero) -> Succ(vyv3100) 248.95/165.44 new_primMinusNatS2(Zero, Zero) -> Zero 248.95/165.44 new_primMinusNatS2(Succ(vyv3100), Succ(vyv3110)) -> new_primMinusNatS2(vyv3100, vyv3110) 248.95/165.44 new_error -> error([]) 248.95/165.44 new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) 248.95/165.44 new_esEs(Pos(Succ(vyv24100))) -> new_primEqInt(Pos(Succ(vyv24100))) 248.95/165.44 new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) 248.95/165.44 new_esEs(Neg(Succ(vyv24100))) -> new_primEqInt(Neg(Succ(vyv24100))) 248.95/165.44 new_gcd2(True, vyv272, vyv271) -> new_gcd1(new_esEs(vyv271), vyv272, vyv271) 248.95/165.44 new_gcd2(False, vyv272, vyv271) -> new_gcd0(vyv272, vyv271) 248.95/165.44 new_gcd0(vyv272, vyv271) -> new_gcd0Gcd'10(new_esEs(new_abs(vyv271)), vyv272, vyv271) 248.95/165.44 new_abs(Neg(Zero)) -> Neg(Zero) 248.95/165.44 new_abs(Neg(Succ(vyv27100))) -> Pos(Succ(vyv27100)) 248.95/165.44 new_abs(Pos(Succ(vyv27100))) -> Pos(Succ(vyv27100)) 248.95/165.44 new_abs(Pos(Zero)) -> Pos(Zero) 248.95/165.44 new_gcd0Gcd'10(True, vyv272, vyv271) -> new_abs(vyv272) 248.95/165.44 new_gcd0Gcd'10(False, vyv272, vyv271) -> new_gcd0Gcd'00(new_abs(vyv272), new_abs(vyv271)) 248.95/165.44 new_gcd0Gcd'00(vyv292, vyv291) -> new_gcd0Gcd'11(new_esEs(new_rem(vyv292, vyv291)), vyv291, vyv292) 248.95/165.44 new_gcd0Gcd'11(False, vyv291, vyv292) -> new_gcd0Gcd'00(vyv291, new_rem(vyv292, vyv291)) 248.95/165.44 new_rem(Pos(vyv2920), Neg(Zero)) -> new_error 248.95/165.44 new_rem(Neg(vyv2920), Pos(Zero)) -> new_error 248.95/165.44 new_rem(Pos(vyv2920), Neg(Succ(vyv29100))) -> Pos(new_primModNatS1(vyv2920, vyv29100)) 248.95/165.44 new_rem(Neg(vyv2920), Pos(Succ(vyv29100))) -> Neg(new_primModNatS1(vyv2920, vyv29100)) 248.95/165.44 new_rem(Pos(vyv2920), Pos(Succ(vyv29100))) -> Pos(new_primModNatS1(vyv2920, vyv29100)) 248.95/165.44 new_rem(Neg(vyv2920), Neg(Zero)) -> new_error 248.95/165.44 new_rem(Neg(vyv2920), Neg(Succ(vyv29100))) -> Neg(new_primModNatS1(vyv2920, vyv29100)) 248.95/165.44 new_rem(Pos(vyv2920), Pos(Zero)) -> new_error 248.95/165.44 new_gcd0Gcd'11(True, vyv291, vyv292) -> vyv291 248.95/165.44 new_primModNatS1(Succ(Zero), Succ(vyv291000)) -> Succ(Zero) 248.95/165.44 new_primModNatS1(Zero, vyv29100) -> Zero 248.95/165.44 new_primModNatS1(Succ(Succ(vyv292000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv292000), Zero) 248.95/165.44 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 248.95/165.44 new_primModNatS1(Succ(Succ(vyv292000)), Succ(vyv291000)) -> new_primModNatS01(vyv292000, vyv291000, vyv292000, vyv291000) 248.95/165.44 new_primModNatS01(vyv330, vyv331, Zero, Zero) -> new_primModNatS02(vyv330, vyv331) 248.95/165.44 new_primModNatS02(vyv330, vyv331) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv330), Succ(vyv331)), Succ(vyv331)) 248.95/165.44 new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Zero) -> new_primModNatS02(vyv330, vyv331) 248.95/165.44 new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Succ(vyv3330)) -> new_primModNatS01(vyv330, vyv331, vyv3320, vyv3330) 248.95/165.44 new_primModNatS01(vyv330, vyv331, Zero, Succ(vyv3330)) -> Succ(Succ(vyv330)) 248.95/165.44 new_gcd1(True, vyv272, vyv271) -> new_error 248.95/165.44 new_gcd1(False, vyv272, vyv271) -> new_gcd0(vyv272, vyv271) 248.95/165.44 new_primEqInt(Neg(Succ(vyv242000))) -> False 248.95/165.44 new_primEqInt(Pos(Zero)) -> True 248.95/165.44 new_primEqInt(Pos(Succ(vyv242000))) -> False 248.95/165.44 new_primEqInt(Neg(Zero)) -> True 248.95/165.44 new_primQuotInt0(vyv2700, Pos(Succ(vyv28700))) -> Neg(new_primDivNatS1(vyv2700, vyv28700)) 248.95/165.44 new_primQuotInt0(vyv2700, Neg(Zero)) -> new_error 248.95/165.44 new_primQuotInt0(vyv2700, Neg(Succ(vyv28700))) -> Pos(new_primDivNatS1(vyv2700, vyv28700)) 248.95/165.44 new_primQuotInt0(vyv2700, Pos(Zero)) -> new_error 248.95/165.44 new_primMulNat0(Succ(vyv23900), Zero) -> Zero 248.95/165.44 new_primMulNat0(Zero, Succ(vyv23800)) -> Zero 248.95/165.44 new_primMulNat0(Zero, Zero) -> Zero 248.95/165.44 new_primMulNat0(Succ(vyv23900), Succ(vyv23800)) -> new_primPlusNat0(new_primMulNat0(vyv23900, Succ(vyv23800)), Succ(vyv23800)) 248.95/165.44 new_primPlusNat0(Succ(vyv4000), Succ(vyv5000)) -> Succ(Succ(new_primPlusNat0(vyv4000, vyv5000))) 248.95/165.44 new_primPlusNat0(Zero, Succ(vyv5000)) -> Succ(vyv5000) 248.95/165.44 new_primPlusNat0(Zero, Zero) -> Zero 248.95/165.44 new_primPlusNat0(Succ(vyv4000), Zero) -> Succ(vyv4000) 248.95/165.44 new_esEs1(Integer(vyv2690)) -> new_primEqInt(vyv2690) 248.95/165.44 new_sr13(vyv239, vyv238) -> error([]) 248.95/165.44 new_sr11(vyv239, vyv238) -> error([]) 248.95/165.44 new_sr1(vyv227, ty_Int) -> new_sr6(vyv227) 248.95/165.44 new_sr1(vyv227, ty_Integer) -> new_sr7(vyv227) 248.95/165.44 new_sr1(vyv227, app(ty_Ratio, be)) -> new_sr5(vyv227, be) 248.95/165.44 new_sr1(vyv227, ty_Float) -> new_sr10(vyv227) 248.95/165.44 new_sr1(vyv227, ty_Double) -> new_sr9(vyv227) 248.95/165.44 new_sr9(vyv183) -> error([]) 248.95/165.44 new_sr10(vyv183) -> error([]) 248.95/165.44 new_sr5(:%(vyv1830, vyv1831), bd) -> new_reduce2Reduce1(vyv1830, vyv1830, vyv1831, vyv1831, new_esEs0(vyv1831, bd), bd) 248.95/165.44 new_esEs0(vyv1831, ty_Int) -> new_esEs(new_sr6(vyv1831)) 248.95/165.44 new_esEs0(vyv1831, ty_Integer) -> new_esEs1(new_sr7(vyv1831)) 248.95/165.44 new_sr7(vyv183) -> error([]) 248.95/165.44 new_sr6(Neg(vyv1830)) -> Pos(new_primMulNat1(vyv1830)) 248.95/165.44 new_sr6(Pos(vyv1830)) -> Pos(new_primMulNat1(vyv1830)) 248.95/165.44 new_primMulNat1(Succ(vyv18300)) -> new_primPlusNat0(new_primMulNat2(vyv18300), Succ(vyv18300)) 248.95/165.44 new_primMulNat1(Zero) -> Zero 248.95/165.44 new_primMulNat2(Succ(vyv183000)) -> new_primPlusNat0(new_primMulNat3(vyv183000), Succ(Succ(vyv183000))) 248.95/165.44 new_primMulNat2(Zero) -> Zero 248.95/165.44 new_primMulNat3(Succ(vyv1830000)) -> new_primPlusNat0(new_primMulNat4(vyv1830000), Succ(Succ(Succ(vyv1830000)))) 248.95/165.44 new_primMulNat3(Zero) -> Zero 248.95/165.44 new_primMulNat4(Succ(vyv18300000)) -> new_primPlusNat0(new_primMulNat0(vyv18300000, Succ(Succ(Succ(Succ(vyv18300000))))), Succ(Succ(Succ(Succ(vyv18300000))))) 248.95/165.44 new_primMulNat4(Zero) -> Zero 248.95/165.44 248.95/165.44 The set Q consists of the following terms: 248.95/165.44 248.95/165.44 new_rem(Pos(x0), Pos(Succ(x1))) 248.95/165.44 new_quot1(x0, x1, x2, x3, ty_Integer) 248.95/165.44 new_primModNatS1(Succ(Zero), Succ(x0)) 248.95/165.44 new_primMulNat4(Zero) 248.95/165.44 new_gcd1(False, x0, x1) 248.95/165.44 new_primEqInt(Pos(Zero)) 248.95/165.44 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 248.95/165.44 new_rem(Pos(x0), Neg(Succ(x1))) 248.95/165.44 new_rem(Neg(x0), Pos(Succ(x1))) 248.95/165.44 new_sr10(x0) 248.95/165.44 new_quot1(x0, x1, x2, x3, ty_Int) 248.95/165.44 new_quot2(x0, x1, x2, x3, ty_Integer) 248.95/165.44 new_primModNatS01(x0, x1, Succ(x2), Zero) 248.95/165.44 new_primMulNat3(Zero) 248.95/165.44 new_primDivNatS02(x0, x1, Succ(x2), Zero) 248.95/165.44 new_quot2(x0, x1, x2, x3, ty_Int) 248.95/165.44 new_gcd2(False, x0, x1) 248.95/165.44 new_primDivNatS1(Succ(Zero), Zero) 248.95/165.44 new_esEs0(x0, ty_Int) 248.95/165.44 new_sr14(Pos(x0), Pos(x1)) 248.95/165.44 new_primMulNat0(Zero, Zero) 248.95/165.44 new_primPlusNat0(Succ(x0), Zero) 248.95/165.44 new_primMulNat2(Zero) 248.95/165.44 new_sr11(x0, x1) 248.95/165.44 new_primModNatS01(x0, x1, Zero, Zero) 248.95/165.44 new_esEs2(x0, x1, ty_Int) 248.95/165.44 new_gcd1(True, x0, x1) 248.95/165.44 new_sr13(x0, x1) 248.95/165.44 new_sr14(Pos(x0), Neg(x1)) 248.95/165.44 new_sr14(Neg(x0), Pos(x1)) 248.95/165.44 new_primDivNatS1(Succ(Succ(x0)), Succ(x1)) 248.95/165.44 new_sr1(x0, ty_Int) 248.95/165.44 new_primModNatS1(Zero, x0) 248.95/165.44 new_esEs(Pos(Succ(x0))) 248.95/165.44 new_primMulNat3(Succ(x0)) 248.95/165.44 new_sr1(x0, app(ty_Ratio, x1)) 248.95/165.44 new_primQuotInt(x0, Neg(Succ(x1))) 248.95/165.44 new_reduce2Reduce1(x0, x1, x2, x3, False, x4) 248.95/165.44 new_primMinusNat0(Zero, Zero) 248.95/165.44 new_primDivNatS1(Zero, x0) 248.95/165.44 new_primDivNatS02(x0, x1, Succ(x2), Succ(x3)) 248.95/165.44 new_primModNatS02(x0, x1) 248.95/165.44 new_primDivNatS1(Succ(Zero), Succ(x0)) 248.95/165.44 new_sr6(Neg(x0)) 248.95/165.44 new_gcd0Gcd'10(True, x0, x1) 248.95/165.44 new_primMulNat0(Succ(x0), Succ(x1)) 248.95/165.44 new_abs(Neg(Zero)) 248.95/165.44 new_rem(Pos(x0), Neg(Zero)) 248.95/165.44 new_rem(Neg(x0), Pos(Zero)) 248.95/165.44 new_primMinusNatS2(Zero, Succ(x0)) 248.95/165.44 new_esEs(Neg(Succ(x0))) 248.95/165.44 new_error 248.95/165.44 new_primModNatS1(Succ(Zero), Zero) 248.95/165.44 new_primMulNat0(Zero, Succ(x0)) 248.95/165.44 new_quot(x0, x1, x2) 248.95/165.44 new_gcd2(True, x0, x1) 248.95/165.44 new_gcd0Gcd'11(True, x0, x1) 248.95/165.44 new_primEqInt(Neg(Zero)) 248.95/165.44 new_sr2(x0, x1, ty_Double) 248.95/165.44 new_primMulNat0(Succ(x0), Zero) 248.95/165.44 new_quot0(Neg(x0), x1, x2) 248.95/165.44 new_primMinusNatS2(Succ(x0), Succ(x1)) 248.95/165.44 new_sr8(x0, x1) 248.95/165.44 new_primDivNatS01(x0, x1) 248.95/165.44 new_primDivNatS02(x0, x1, Zero, Succ(x2)) 248.95/165.44 new_primPlusNat0(Succ(x0), Succ(x1)) 248.95/165.44 new_sr1(x0, ty_Integer) 248.95/165.44 new_primPlusNat0(Zero, Zero) 248.95/165.44 new_sr1(x0, ty_Float) 248.95/165.44 new_primMinusNat0(Succ(x0), Succ(x1)) 248.95/165.44 new_sr12(:%(x0, x1), :%(x2, x3), x4) 248.95/165.44 new_abs(Neg(Succ(x0))) 248.95/165.44 new_sr1(x0, ty_Double) 248.95/165.44 new_sr7(x0) 248.95/165.44 new_gcd0(x0, x1) 248.95/165.44 new_primQuotInt0(x0, Pos(Succ(x1))) 248.95/165.44 new_sr5(:%(x0, x1), x2) 248.95/165.44 new_primMinusNatS2(Zero, Zero) 248.95/165.44 new_primMulNat1(Succ(x0)) 248.95/165.44 new_abs(Pos(Succ(x0))) 248.95/165.44 new_esEs(Pos(Zero)) 248.95/165.44 new_primQuotInt0(x0, Pos(Zero)) 248.95/165.44 new_primEqInt(Neg(Succ(x0))) 248.95/165.44 new_primQuotInt(x0, Neg(Zero)) 248.95/165.44 new_primQuotInt0(x0, Neg(Zero)) 248.95/165.44 new_primQuotInt0(x0, Neg(Succ(x1))) 248.95/165.44 new_gcd(x0, x1) 248.95/165.44 new_quot0(Pos(x0), x1, x2) 248.95/165.44 new_primMinusNatS0(x0) 248.95/165.44 new_primPlusNat0(Zero, Succ(x0)) 248.95/165.44 new_sr2(x0, x1, app(ty_Ratio, x2)) 248.95/165.44 new_sr2(x0, x1, ty_Int) 248.95/165.44 new_primQuotInt(x0, Pos(Succ(x1))) 248.95/165.44 new_primDivNatS1(Succ(Succ(x0)), Zero) 248.95/165.44 new_rem(Pos(x0), Pos(Zero)) 248.95/165.44 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 248.95/165.44 new_primDivNatS02(x0, x1, Zero, Zero) 248.95/165.44 new_abs(Pos(Zero)) 248.95/165.44 new_gcd0Gcd'10(False, x0, x1) 248.95/165.44 new_primMinusNatS1 248.95/165.44 new_esEs1(Integer(x0)) 248.95/165.44 new_primMinusNat0(Succ(x0), Zero) 248.95/165.44 new_sr2(x0, x1, ty_Integer) 248.95/165.44 new_primModNatS01(x0, x1, Zero, Succ(x2)) 248.95/165.44 new_primMulNat2(Succ(x0)) 248.95/165.44 new_sr14(Neg(x0), Neg(x1)) 248.95/165.44 new_sr2(x0, x1, ty_Float) 248.95/165.44 new_primMinusNatS2(Succ(x0), Zero) 248.95/165.44 new_sr6(Pos(x0)) 248.95/165.44 new_esEs2(x0, x1, ty_Integer) 248.95/165.44 new_primMulNat4(Succ(x0)) 248.95/165.44 new_rem(Neg(x0), Neg(Succ(x1))) 248.95/165.44 new_primEqInt(Pos(Succ(x0))) 248.95/165.44 new_primQuotInt(x0, Pos(Zero)) 248.95/165.44 new_gcd0Gcd'11(False, x0, x1) 248.95/165.44 new_sr9(x0) 248.95/165.44 new_primModNatS1(Succ(Succ(x0)), Zero) 248.95/165.44 new_esEs0(x0, ty_Integer) 248.95/165.44 new_gcd0Gcd'00(x0, x1) 248.95/165.44 new_reduce2Reduce1(x0, x1, x2, x3, True, x4) 248.95/165.44 new_esEs(Neg(Zero)) 248.95/165.44 new_primMulNat1(Zero) 248.95/165.44 new_primMinusNat0(Zero, Succ(x0)) 248.95/165.44 new_rem(Neg(x0), Neg(Zero)) 248.95/165.44 248.95/165.44 We have to consider all minimal (P,Q,R)-chains. 248.95/165.44 ---------------------------------------- 248.95/165.44 248.95/165.44 (919) UsableRulesProof (EQUIVALENT) 248.95/165.44 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. 248.95/165.44 ---------------------------------------- 248.95/165.44 248.95/165.44 (920) 248.95/165.44 Obligation: 248.95/165.44 Q DP problem: 248.95/165.44 The TRS P consists of the following rules: 248.95/165.44 248.95/165.44 new_pr2F0G1(vyv226, vyv227, vyv228, Succ(Succ(vyv22900)), ba) -> new_pr2F0G1(vyv226, vyv227, vyv228, vyv22900, ba) 248.95/165.44 new_pr2F0G1(vyv226, vyv227, vyv228, Succ(Zero), ba) -> new_pr2F(vyv227, vyv228, Pos(Succ(Zero)), vyv226, ba) 248.95/165.44 new_pr2F0(vyv183, Pos(Succ(Succ(vyv222000))), vyv187, h) -> new_pr2F0G1(vyv187, vyv183, Succ(vyv222000), vyv222000, h) 248.95/165.44 new_pr2F0G1(vyv226, vyv227, vyv228, Zero, ba) -> new_pr2F0G(vyv226, new_sr1(vyv227, ba), Pos(new_primDivNatS1(Succ(vyv228), Succ(Zero))), ba) 248.95/165.44 new_pr2F0G(vyv187, vyv183, Pos(Succ(Succ(vyv222000))), h) -> new_pr2F0G1(vyv187, vyv183, Succ(vyv222000), vyv222000, h) 248.95/165.44 new_pr2F(y0, Succ(x0), Pos(Succ(Zero)), y2, y3) -> new_pr2F3(False, y0, Succ(x0), Pos(Succ(Zero)), y2, y3) 248.95/165.44 new_pr2F3(False, z0, Succ(z1), Pos(Succ(Zero)), z2, z3) -> new_pr2F0(z0, Pos(Succ(z1)), new_sr2(z0, z2, z3), z3) 248.95/165.44 248.95/165.44 The TRS R consists of the following rules: 248.95/165.44 248.95/165.44 new_sr2(vyv227, vyv226, ty_Int) -> new_sr14(vyv227, vyv226) 248.95/165.44 new_sr2(vyv227, vyv226, ty_Double) -> new_sr11(vyv227, vyv226) 248.95/165.44 new_sr2(vyv227, vyv226, ty_Integer) -> new_sr8(vyv227, vyv226) 248.95/165.44 new_sr2(vyv227, vyv226, ty_Float) -> new_sr13(vyv227, vyv226) 248.95/165.44 new_sr2(vyv227, vyv226, app(ty_Ratio, be)) -> new_sr12(vyv227, vyv226, be) 248.95/165.44 new_sr12(:%(vyv2390, vyv2391), :%(vyv2380, vyv2381), bf) -> new_reduce2Reduce1(vyv2390, vyv2380, vyv2391, vyv2381, new_esEs2(vyv2391, vyv2381, bf), bf) 248.95/165.44 new_esEs2(vyv2391, vyv2381, ty_Int) -> new_esEs(new_sr14(vyv2391, vyv2381)) 248.95/165.44 new_esEs2(vyv2391, vyv2381, ty_Integer) -> new_esEs1(new_sr8(vyv2391, vyv2381)) 248.95/165.44 new_reduce2Reduce1(vyv264, vyv265, vyv266, vyv267, False, bh) -> :%(new_quot1(vyv264, vyv265, vyv266, vyv267, bh), new_quot2(vyv266, vyv267, vyv264, vyv265, bh)) 248.95/165.44 new_reduce2Reduce1(vyv264, vyv265, vyv266, vyv267, True, bh) -> error([]) 248.95/165.44 new_quot1(vyv264, vyv265, vyv266, vyv267, ty_Int) -> new_quot0(new_sr14(vyv264, vyv265), new_sr14(vyv264, vyv265), new_sr14(vyv266, vyv267)) 248.95/165.44 new_quot1(vyv264, vyv265, vyv266, vyv267, ty_Integer) -> new_quot(new_sr8(vyv264, vyv265), new_sr8(vyv264, vyv265), new_sr8(vyv266, vyv267)) 248.95/165.44 new_quot2(vyv266, vyv267, vyv264, vyv265, ty_Int) -> new_quot0(new_sr14(vyv266, vyv267), new_sr14(vyv264, vyv265), new_sr14(vyv266, vyv267)) 248.95/165.44 new_quot2(vyv266, vyv267, vyv264, vyv265, ty_Integer) -> new_quot(new_sr8(vyv266, vyv267), new_sr8(vyv264, vyv265), new_sr8(vyv266, vyv267)) 248.95/165.44 new_sr8(vyv239, vyv238) -> error([]) 248.95/165.44 new_quot(vyv273, vyv275, vyv274) -> error([]) 248.95/165.44 new_sr14(Pos(vyv2390), Neg(vyv2380)) -> Neg(new_primMulNat0(vyv2390, vyv2380)) 248.95/165.44 new_sr14(Neg(vyv2390), Pos(vyv2380)) -> Neg(new_primMulNat0(vyv2390, vyv2380)) 248.95/165.44 new_sr14(Neg(vyv2390), Neg(vyv2380)) -> Pos(new_primMulNat0(vyv2390, vyv2380)) 248.95/165.44 new_sr14(Pos(vyv2390), Pos(vyv2380)) -> Pos(new_primMulNat0(vyv2390, vyv2380)) 248.95/165.44 new_quot0(Neg(vyv2700), vyv272, vyv271) -> new_primQuotInt0(vyv2700, new_gcd(vyv272, vyv271)) 248.95/165.44 new_quot0(Pos(vyv2700), vyv272, vyv271) -> new_primQuotInt(vyv2700, new_gcd(vyv272, vyv271)) 248.95/165.44 new_gcd(vyv272, vyv271) -> new_gcd2(new_esEs(vyv272), vyv272, vyv271) 248.95/165.44 new_primQuotInt(vyv2700, Pos(Succ(vyv28400))) -> Pos(new_primDivNatS1(vyv2700, vyv28400)) 248.95/165.44 new_primQuotInt(vyv2700, Neg(Zero)) -> new_error 248.95/165.44 new_primQuotInt(vyv2700, Pos(Zero)) -> new_error 248.95/165.44 new_primQuotInt(vyv2700, Neg(Succ(vyv28400))) -> Neg(new_primDivNatS1(vyv2700, vyv28400)) 248.95/165.44 new_primDivNatS1(Succ(Zero), Succ(vyv284000)) -> Zero 248.95/165.44 new_primDivNatS1(Succ(Succ(vyv270000)), Succ(vyv284000)) -> new_primDivNatS02(vyv270000, vyv284000, vyv270000, vyv284000) 248.95/165.44 new_primDivNatS1(Zero, vyv28400) -> Zero 248.95/165.44 new_primDivNatS1(Succ(Succ(vyv270000)), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS0(vyv270000), Zero)) 248.95/165.44 new_primDivNatS1(Succ(Zero), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS1, Zero)) 248.95/165.44 new_primMinusNatS1 -> Zero 248.95/165.44 new_primMinusNatS0(vyv270000) -> Succ(vyv270000) 248.95/165.44 new_primDivNatS02(vyv310, vyv311, Zero, Zero) -> new_primDivNatS01(vyv310, vyv311) 248.95/165.44 new_primDivNatS02(vyv310, vyv311, Succ(vyv3120), Zero) -> new_primDivNatS01(vyv310, vyv311) 248.95/165.44 new_primDivNatS02(vyv310, vyv311, Zero, Succ(vyv3130)) -> Zero 248.95/165.44 new_primDivNatS02(vyv310, vyv311, Succ(vyv3120), Succ(vyv3130)) -> new_primDivNatS02(vyv310, vyv311, vyv3120, vyv3130) 248.95/165.44 new_primDivNatS01(vyv310, vyv311) -> Succ(new_primDivNatS1(new_primMinusNatS2(vyv310, vyv311), Succ(vyv311))) 248.95/165.44 new_primMinusNatS2(Zero, Succ(vyv3110)) -> Zero 248.95/165.44 new_primMinusNatS2(Succ(vyv3100), Zero) -> Succ(vyv3100) 248.95/165.44 new_primMinusNatS2(Zero, Zero) -> Zero 248.95/165.44 new_primMinusNatS2(Succ(vyv3100), Succ(vyv3110)) -> new_primMinusNatS2(vyv3100, vyv3110) 248.95/165.44 new_error -> error([]) 248.95/165.44 new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) 248.95/165.44 new_esEs(Pos(Succ(vyv24100))) -> new_primEqInt(Pos(Succ(vyv24100))) 248.95/165.44 new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) 248.95/165.44 new_esEs(Neg(Succ(vyv24100))) -> new_primEqInt(Neg(Succ(vyv24100))) 248.95/165.44 new_gcd2(True, vyv272, vyv271) -> new_gcd1(new_esEs(vyv271), vyv272, vyv271) 248.95/165.44 new_gcd2(False, vyv272, vyv271) -> new_gcd0(vyv272, vyv271) 248.95/165.44 new_gcd0(vyv272, vyv271) -> new_gcd0Gcd'10(new_esEs(new_abs(vyv271)), vyv272, vyv271) 248.95/165.44 new_abs(Neg(Zero)) -> Neg(Zero) 248.95/165.44 new_abs(Neg(Succ(vyv27100))) -> Pos(Succ(vyv27100)) 248.95/165.44 new_abs(Pos(Succ(vyv27100))) -> Pos(Succ(vyv27100)) 248.95/165.44 new_abs(Pos(Zero)) -> Pos(Zero) 248.95/165.44 new_gcd0Gcd'10(True, vyv272, vyv271) -> new_abs(vyv272) 248.95/165.44 new_gcd0Gcd'10(False, vyv272, vyv271) -> new_gcd0Gcd'00(new_abs(vyv272), new_abs(vyv271)) 248.95/165.44 new_gcd0Gcd'11(False, vyv291, vyv292) -> new_gcd0Gcd'00(vyv291, new_rem(vyv292, vyv291)) 248.95/165.44 new_gcd0Gcd'00(vyv292, vyv291) -> new_gcd0Gcd'11(new_esEs(new_rem(vyv292, vyv291)), vyv291, vyv292) 248.95/165.44 new_rem(Pos(vyv2920), Neg(Zero)) -> new_error 248.95/165.44 new_rem(Neg(vyv2920), Pos(Zero)) -> new_error 248.95/165.44 new_rem(Pos(vyv2920), Neg(Succ(vyv29100))) -> Pos(new_primModNatS1(vyv2920, vyv29100)) 248.95/165.44 new_rem(Neg(vyv2920), Pos(Succ(vyv29100))) -> Neg(new_primModNatS1(vyv2920, vyv29100)) 248.95/165.44 new_rem(Pos(vyv2920), Pos(Succ(vyv29100))) -> Pos(new_primModNatS1(vyv2920, vyv29100)) 248.95/165.44 new_rem(Neg(vyv2920), Neg(Zero)) -> new_error 248.95/165.44 new_rem(Neg(vyv2920), Neg(Succ(vyv29100))) -> Neg(new_primModNatS1(vyv2920, vyv29100)) 248.95/165.44 new_rem(Pos(vyv2920), Pos(Zero)) -> new_error 248.95/165.44 new_gcd0Gcd'11(True, vyv291, vyv292) -> vyv291 248.95/165.44 new_primModNatS1(Succ(Zero), Succ(vyv291000)) -> Succ(Zero) 248.95/165.44 new_primModNatS1(Zero, vyv29100) -> Zero 248.95/165.44 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 248.95/165.44 new_primModNatS1(Succ(Succ(vyv292000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv292000), Zero) 248.95/165.44 new_primModNatS1(Succ(Succ(vyv292000)), Succ(vyv291000)) -> new_primModNatS01(vyv292000, vyv291000, vyv292000, vyv291000) 248.95/165.44 new_primModNatS01(vyv330, vyv331, Zero, Zero) -> new_primModNatS02(vyv330, vyv331) 248.95/165.44 new_primModNatS02(vyv330, vyv331) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv330), Succ(vyv331)), Succ(vyv331)) 248.95/165.44 new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Zero) -> new_primModNatS02(vyv330, vyv331) 248.95/165.44 new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Succ(vyv3330)) -> new_primModNatS01(vyv330, vyv331, vyv3320, vyv3330) 248.95/165.44 new_primModNatS01(vyv330, vyv331, Zero, Succ(vyv3330)) -> Succ(Succ(vyv330)) 248.95/165.44 new_gcd1(True, vyv272, vyv271) -> new_error 248.95/165.44 new_gcd1(False, vyv272, vyv271) -> new_gcd0(vyv272, vyv271) 248.95/165.44 new_primEqInt(Neg(Succ(vyv242000))) -> False 248.95/165.44 new_primEqInt(Pos(Zero)) -> True 248.95/165.44 new_primEqInt(Pos(Succ(vyv242000))) -> False 248.95/165.44 new_primEqInt(Neg(Zero)) -> True 248.95/165.44 new_primQuotInt0(vyv2700, Pos(Succ(vyv28700))) -> Neg(new_primDivNatS1(vyv2700, vyv28700)) 248.95/165.44 new_primQuotInt0(vyv2700, Neg(Zero)) -> new_error 248.95/165.44 new_primQuotInt0(vyv2700, Neg(Succ(vyv28700))) -> Pos(new_primDivNatS1(vyv2700, vyv28700)) 248.95/165.44 new_primQuotInt0(vyv2700, Pos(Zero)) -> new_error 248.95/165.44 new_primMulNat0(Succ(vyv23900), Zero) -> Zero 248.95/165.44 new_primMulNat0(Zero, Succ(vyv23800)) -> Zero 248.95/165.44 new_primMulNat0(Zero, Zero) -> Zero 248.95/165.44 new_primMulNat0(Succ(vyv23900), Succ(vyv23800)) -> new_primPlusNat0(new_primMulNat0(vyv23900, Succ(vyv23800)), Succ(vyv23800)) 248.95/165.44 new_primPlusNat0(Succ(vyv4000), Succ(vyv5000)) -> Succ(Succ(new_primPlusNat0(vyv4000, vyv5000))) 248.95/165.44 new_primPlusNat0(Zero, Succ(vyv5000)) -> Succ(vyv5000) 248.95/165.44 new_primPlusNat0(Zero, Zero) -> Zero 248.95/165.44 new_primPlusNat0(Succ(vyv4000), Zero) -> Succ(vyv4000) 248.95/165.44 new_esEs1(Integer(vyv2690)) -> new_primEqInt(vyv2690) 248.95/165.44 new_sr13(vyv239, vyv238) -> error([]) 248.95/165.44 new_sr11(vyv239, vyv238) -> error([]) 248.95/165.44 new_sr1(vyv227, ty_Int) -> new_sr6(vyv227) 248.95/165.44 new_sr1(vyv227, ty_Integer) -> new_sr7(vyv227) 248.95/165.44 new_sr1(vyv227, app(ty_Ratio, be)) -> new_sr5(vyv227, be) 248.95/165.44 new_sr1(vyv227, ty_Float) -> new_sr10(vyv227) 248.95/165.44 new_sr1(vyv227, ty_Double) -> new_sr9(vyv227) 248.95/165.44 new_sr9(vyv183) -> error([]) 248.95/165.44 new_sr10(vyv183) -> error([]) 248.95/165.44 new_sr5(:%(vyv1830, vyv1831), bd) -> new_reduce2Reduce1(vyv1830, vyv1830, vyv1831, vyv1831, new_esEs0(vyv1831, bd), bd) 248.95/165.44 new_esEs0(vyv1831, ty_Int) -> new_esEs(new_sr6(vyv1831)) 248.95/165.44 new_esEs0(vyv1831, ty_Integer) -> new_esEs1(new_sr7(vyv1831)) 248.95/165.44 new_sr7(vyv183) -> error([]) 248.95/165.44 new_sr6(Neg(vyv1830)) -> Pos(new_primMulNat1(vyv1830)) 248.95/165.44 new_sr6(Pos(vyv1830)) -> Pos(new_primMulNat1(vyv1830)) 248.95/165.44 new_primMulNat1(Succ(vyv18300)) -> new_primPlusNat0(new_primMulNat2(vyv18300), Succ(vyv18300)) 248.95/165.44 new_primMulNat1(Zero) -> Zero 248.95/165.44 new_primMulNat2(Succ(vyv183000)) -> new_primPlusNat0(new_primMulNat3(vyv183000), Succ(Succ(vyv183000))) 248.95/165.44 new_primMulNat2(Zero) -> Zero 248.95/165.44 new_primMulNat3(Succ(vyv1830000)) -> new_primPlusNat0(new_primMulNat4(vyv1830000), Succ(Succ(Succ(vyv1830000)))) 248.95/165.44 new_primMulNat3(Zero) -> Zero 248.95/165.44 new_primMulNat4(Succ(vyv18300000)) -> new_primPlusNat0(new_primMulNat0(vyv18300000, Succ(Succ(Succ(Succ(vyv18300000))))), Succ(Succ(Succ(Succ(vyv18300000))))) 248.95/165.44 new_primMulNat4(Zero) -> Zero 248.95/165.44 248.95/165.44 The set Q consists of the following terms: 248.95/165.44 248.95/165.44 new_rem(Pos(x0), Pos(Succ(x1))) 248.95/165.44 new_quot1(x0, x1, x2, x3, ty_Integer) 248.95/165.44 new_primModNatS1(Succ(Zero), Succ(x0)) 248.95/165.44 new_primMulNat4(Zero) 248.95/165.44 new_gcd1(False, x0, x1) 248.95/165.44 new_primEqInt(Pos(Zero)) 248.95/165.44 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 248.95/165.44 new_rem(Pos(x0), Neg(Succ(x1))) 248.95/165.44 new_rem(Neg(x0), Pos(Succ(x1))) 248.95/165.44 new_sr10(x0) 248.95/165.44 new_quot1(x0, x1, x2, x3, ty_Int) 248.95/165.44 new_quot2(x0, x1, x2, x3, ty_Integer) 248.95/165.44 new_primModNatS01(x0, x1, Succ(x2), Zero) 248.95/165.44 new_primMulNat3(Zero) 248.95/165.44 new_primDivNatS02(x0, x1, Succ(x2), Zero) 248.95/165.44 new_quot2(x0, x1, x2, x3, ty_Int) 248.95/165.44 new_gcd2(False, x0, x1) 248.95/165.44 new_primDivNatS1(Succ(Zero), Zero) 248.95/165.44 new_esEs0(x0, ty_Int) 248.95/165.44 new_sr14(Pos(x0), Pos(x1)) 248.95/165.44 new_primMulNat0(Zero, Zero) 248.95/165.44 new_primPlusNat0(Succ(x0), Zero) 248.95/165.44 new_primMulNat2(Zero) 248.95/165.44 new_sr11(x0, x1) 248.95/165.44 new_primModNatS01(x0, x1, Zero, Zero) 248.95/165.44 new_esEs2(x0, x1, ty_Int) 248.95/165.44 new_gcd1(True, x0, x1) 248.95/165.44 new_sr13(x0, x1) 248.95/165.44 new_sr14(Pos(x0), Neg(x1)) 248.95/165.44 new_sr14(Neg(x0), Pos(x1)) 248.95/165.44 new_primDivNatS1(Succ(Succ(x0)), Succ(x1)) 248.95/165.44 new_sr1(x0, ty_Int) 248.95/165.44 new_primModNatS1(Zero, x0) 248.95/165.44 new_esEs(Pos(Succ(x0))) 248.95/165.44 new_primMulNat3(Succ(x0)) 248.95/165.44 new_sr1(x0, app(ty_Ratio, x1)) 248.95/165.44 new_primQuotInt(x0, Neg(Succ(x1))) 248.95/165.44 new_reduce2Reduce1(x0, x1, x2, x3, False, x4) 248.95/165.44 new_primMinusNat0(Zero, Zero) 248.95/165.44 new_primDivNatS1(Zero, x0) 248.95/165.44 new_primDivNatS02(x0, x1, Succ(x2), Succ(x3)) 248.95/165.44 new_primModNatS02(x0, x1) 248.95/165.44 new_primDivNatS1(Succ(Zero), Succ(x0)) 248.95/165.44 new_sr6(Neg(x0)) 248.95/165.44 new_gcd0Gcd'10(True, x0, x1) 248.95/165.44 new_primMulNat0(Succ(x0), Succ(x1)) 248.95/165.44 new_abs(Neg(Zero)) 248.95/165.44 new_rem(Pos(x0), Neg(Zero)) 248.95/165.44 new_rem(Neg(x0), Pos(Zero)) 248.95/165.44 new_primMinusNatS2(Zero, Succ(x0)) 248.95/165.44 new_esEs(Neg(Succ(x0))) 248.95/165.44 new_error 248.95/165.44 new_primModNatS1(Succ(Zero), Zero) 248.95/165.44 new_primMulNat0(Zero, Succ(x0)) 248.95/165.44 new_quot(x0, x1, x2) 248.95/165.44 new_gcd2(True, x0, x1) 248.95/165.44 new_gcd0Gcd'11(True, x0, x1) 248.95/165.44 new_primEqInt(Neg(Zero)) 248.95/165.44 new_sr2(x0, x1, ty_Double) 248.95/165.44 new_primMulNat0(Succ(x0), Zero) 248.95/165.44 new_quot0(Neg(x0), x1, x2) 248.95/165.44 new_primMinusNatS2(Succ(x0), Succ(x1)) 248.95/165.44 new_sr8(x0, x1) 248.95/165.44 new_primDivNatS01(x0, x1) 248.95/165.44 new_primDivNatS02(x0, x1, Zero, Succ(x2)) 248.95/165.44 new_primPlusNat0(Succ(x0), Succ(x1)) 248.95/165.44 new_sr1(x0, ty_Integer) 248.95/165.44 new_primPlusNat0(Zero, Zero) 248.95/165.44 new_sr1(x0, ty_Float) 248.95/165.44 new_primMinusNat0(Succ(x0), Succ(x1)) 248.95/165.44 new_sr12(:%(x0, x1), :%(x2, x3), x4) 248.95/165.44 new_abs(Neg(Succ(x0))) 248.95/165.44 new_sr1(x0, ty_Double) 248.95/165.44 new_sr7(x0) 248.95/165.44 new_gcd0(x0, x1) 248.95/165.44 new_primQuotInt0(x0, Pos(Succ(x1))) 248.95/165.44 new_sr5(:%(x0, x1), x2) 248.95/165.44 new_primMinusNatS2(Zero, Zero) 248.95/165.44 new_primMulNat1(Succ(x0)) 248.95/165.44 new_abs(Pos(Succ(x0))) 248.95/165.44 new_esEs(Pos(Zero)) 248.95/165.44 new_primQuotInt0(x0, Pos(Zero)) 248.95/165.44 new_primEqInt(Neg(Succ(x0))) 248.95/165.44 new_primQuotInt(x0, Neg(Zero)) 248.95/165.44 new_primQuotInt0(x0, Neg(Zero)) 248.95/165.44 new_primQuotInt0(x0, Neg(Succ(x1))) 248.95/165.44 new_gcd(x0, x1) 248.95/165.44 new_quot0(Pos(x0), x1, x2) 248.95/165.44 new_primMinusNatS0(x0) 248.95/165.44 new_primPlusNat0(Zero, Succ(x0)) 248.95/165.44 new_sr2(x0, x1, app(ty_Ratio, x2)) 248.95/165.44 new_sr2(x0, x1, ty_Int) 248.95/165.44 new_primQuotInt(x0, Pos(Succ(x1))) 248.95/165.44 new_primDivNatS1(Succ(Succ(x0)), Zero) 248.95/165.44 new_rem(Pos(x0), Pos(Zero)) 248.95/165.44 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 248.95/165.44 new_primDivNatS02(x0, x1, Zero, Zero) 248.95/165.44 new_abs(Pos(Zero)) 248.95/165.44 new_gcd0Gcd'10(False, x0, x1) 248.95/165.44 new_primMinusNatS1 248.95/165.44 new_esEs1(Integer(x0)) 248.95/165.44 new_primMinusNat0(Succ(x0), Zero) 248.95/165.44 new_sr2(x0, x1, ty_Integer) 248.95/165.44 new_primModNatS01(x0, x1, Zero, Succ(x2)) 248.95/165.44 new_primMulNat2(Succ(x0)) 248.95/165.44 new_sr14(Neg(x0), Neg(x1)) 248.95/165.44 new_sr2(x0, x1, ty_Float) 248.95/165.44 new_primMinusNatS2(Succ(x0), Zero) 248.95/165.44 new_sr6(Pos(x0)) 248.95/165.44 new_esEs2(x0, x1, ty_Integer) 248.95/165.44 new_primMulNat4(Succ(x0)) 248.95/165.44 new_rem(Neg(x0), Neg(Succ(x1))) 248.95/165.44 new_primEqInt(Pos(Succ(x0))) 248.95/165.44 new_primQuotInt(x0, Pos(Zero)) 248.95/165.44 new_gcd0Gcd'11(False, x0, x1) 248.95/165.44 new_sr9(x0) 248.95/165.44 new_primModNatS1(Succ(Succ(x0)), Zero) 248.95/165.44 new_esEs0(x0, ty_Integer) 248.95/165.44 new_gcd0Gcd'00(x0, x1) 248.95/165.44 new_reduce2Reduce1(x0, x1, x2, x3, True, x4) 248.95/165.44 new_esEs(Neg(Zero)) 248.95/165.44 new_primMulNat1(Zero) 248.95/165.44 new_primMinusNat0(Zero, Succ(x0)) 248.95/165.44 new_rem(Neg(x0), Neg(Zero)) 248.95/165.44 248.95/165.44 We have to consider all minimal (P,Q,R)-chains. 248.95/165.44 ---------------------------------------- 248.95/165.44 248.95/165.44 (921) QReductionProof (EQUIVALENT) 248.95/165.44 We deleted the following terms from Q as each root-symbol of these terms does neither occur in P nor in R.[THIEMANN]. 248.95/165.44 248.95/165.44 new_primMinusNat0(Zero, Zero) 248.95/165.44 new_primMinusNat0(Succ(x0), Succ(x1)) 248.95/165.44 new_primMinusNat0(Succ(x0), Zero) 248.95/165.44 new_primMinusNat0(Zero, Succ(x0)) 248.95/165.44 248.95/165.44 248.95/165.44 ---------------------------------------- 248.95/165.44 248.95/165.44 (922) 248.95/165.44 Obligation: 248.95/165.44 Q DP problem: 248.95/165.44 The TRS P consists of the following rules: 248.95/165.44 248.95/165.44 new_pr2F0G1(vyv226, vyv227, vyv228, Succ(Succ(vyv22900)), ba) -> new_pr2F0G1(vyv226, vyv227, vyv228, vyv22900, ba) 248.95/165.44 new_pr2F0G1(vyv226, vyv227, vyv228, Succ(Zero), ba) -> new_pr2F(vyv227, vyv228, Pos(Succ(Zero)), vyv226, ba) 248.95/165.44 new_pr2F0(vyv183, Pos(Succ(Succ(vyv222000))), vyv187, h) -> new_pr2F0G1(vyv187, vyv183, Succ(vyv222000), vyv222000, h) 248.95/165.44 new_pr2F0G1(vyv226, vyv227, vyv228, Zero, ba) -> new_pr2F0G(vyv226, new_sr1(vyv227, ba), Pos(new_primDivNatS1(Succ(vyv228), Succ(Zero))), ba) 248.95/165.44 new_pr2F0G(vyv187, vyv183, Pos(Succ(Succ(vyv222000))), h) -> new_pr2F0G1(vyv187, vyv183, Succ(vyv222000), vyv222000, h) 248.95/165.44 new_pr2F(y0, Succ(x0), Pos(Succ(Zero)), y2, y3) -> new_pr2F3(False, y0, Succ(x0), Pos(Succ(Zero)), y2, y3) 248.95/165.44 new_pr2F3(False, z0, Succ(z1), Pos(Succ(Zero)), z2, z3) -> new_pr2F0(z0, Pos(Succ(z1)), new_sr2(z0, z2, z3), z3) 248.95/165.44 248.95/165.44 The TRS R consists of the following rules: 248.95/165.44 248.95/165.44 new_sr2(vyv227, vyv226, ty_Int) -> new_sr14(vyv227, vyv226) 248.95/165.44 new_sr2(vyv227, vyv226, ty_Double) -> new_sr11(vyv227, vyv226) 248.95/165.44 new_sr2(vyv227, vyv226, ty_Integer) -> new_sr8(vyv227, vyv226) 248.95/165.44 new_sr2(vyv227, vyv226, ty_Float) -> new_sr13(vyv227, vyv226) 248.95/165.44 new_sr2(vyv227, vyv226, app(ty_Ratio, be)) -> new_sr12(vyv227, vyv226, be) 248.95/165.44 new_sr12(:%(vyv2390, vyv2391), :%(vyv2380, vyv2381), bf) -> new_reduce2Reduce1(vyv2390, vyv2380, vyv2391, vyv2381, new_esEs2(vyv2391, vyv2381, bf), bf) 248.95/165.44 new_esEs2(vyv2391, vyv2381, ty_Int) -> new_esEs(new_sr14(vyv2391, vyv2381)) 248.95/165.44 new_esEs2(vyv2391, vyv2381, ty_Integer) -> new_esEs1(new_sr8(vyv2391, vyv2381)) 248.95/165.44 new_reduce2Reduce1(vyv264, vyv265, vyv266, vyv267, False, bh) -> :%(new_quot1(vyv264, vyv265, vyv266, vyv267, bh), new_quot2(vyv266, vyv267, vyv264, vyv265, bh)) 248.95/165.44 new_reduce2Reduce1(vyv264, vyv265, vyv266, vyv267, True, bh) -> error([]) 248.95/165.44 new_quot1(vyv264, vyv265, vyv266, vyv267, ty_Int) -> new_quot0(new_sr14(vyv264, vyv265), new_sr14(vyv264, vyv265), new_sr14(vyv266, vyv267)) 248.95/165.44 new_quot1(vyv264, vyv265, vyv266, vyv267, ty_Integer) -> new_quot(new_sr8(vyv264, vyv265), new_sr8(vyv264, vyv265), new_sr8(vyv266, vyv267)) 248.95/165.44 new_quot2(vyv266, vyv267, vyv264, vyv265, ty_Int) -> new_quot0(new_sr14(vyv266, vyv267), new_sr14(vyv264, vyv265), new_sr14(vyv266, vyv267)) 248.95/165.44 new_quot2(vyv266, vyv267, vyv264, vyv265, ty_Integer) -> new_quot(new_sr8(vyv266, vyv267), new_sr8(vyv264, vyv265), new_sr8(vyv266, vyv267)) 248.95/165.44 new_sr8(vyv239, vyv238) -> error([]) 248.95/165.44 new_quot(vyv273, vyv275, vyv274) -> error([]) 248.95/165.44 new_sr14(Pos(vyv2390), Neg(vyv2380)) -> Neg(new_primMulNat0(vyv2390, vyv2380)) 248.95/165.44 new_sr14(Neg(vyv2390), Pos(vyv2380)) -> Neg(new_primMulNat0(vyv2390, vyv2380)) 248.95/165.44 new_sr14(Neg(vyv2390), Neg(vyv2380)) -> Pos(new_primMulNat0(vyv2390, vyv2380)) 248.95/165.44 new_sr14(Pos(vyv2390), Pos(vyv2380)) -> Pos(new_primMulNat0(vyv2390, vyv2380)) 248.95/165.44 new_quot0(Neg(vyv2700), vyv272, vyv271) -> new_primQuotInt0(vyv2700, new_gcd(vyv272, vyv271)) 248.95/165.44 new_quot0(Pos(vyv2700), vyv272, vyv271) -> new_primQuotInt(vyv2700, new_gcd(vyv272, vyv271)) 248.95/165.44 new_gcd(vyv272, vyv271) -> new_gcd2(new_esEs(vyv272), vyv272, vyv271) 248.95/165.44 new_primQuotInt(vyv2700, Pos(Succ(vyv28400))) -> Pos(new_primDivNatS1(vyv2700, vyv28400)) 248.95/165.44 new_primQuotInt(vyv2700, Neg(Zero)) -> new_error 248.95/165.44 new_primQuotInt(vyv2700, Pos(Zero)) -> new_error 248.95/165.44 new_primQuotInt(vyv2700, Neg(Succ(vyv28400))) -> Neg(new_primDivNatS1(vyv2700, vyv28400)) 248.95/165.44 new_primDivNatS1(Succ(Zero), Succ(vyv284000)) -> Zero 248.95/165.44 new_primDivNatS1(Succ(Succ(vyv270000)), Succ(vyv284000)) -> new_primDivNatS02(vyv270000, vyv284000, vyv270000, vyv284000) 248.95/165.44 new_primDivNatS1(Zero, vyv28400) -> Zero 248.95/165.44 new_primDivNatS1(Succ(Succ(vyv270000)), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS0(vyv270000), Zero)) 248.95/165.44 new_primDivNatS1(Succ(Zero), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS1, Zero)) 248.95/165.44 new_primMinusNatS1 -> Zero 248.95/165.44 new_primMinusNatS0(vyv270000) -> Succ(vyv270000) 248.95/165.44 new_primDivNatS02(vyv310, vyv311, Zero, Zero) -> new_primDivNatS01(vyv310, vyv311) 248.95/165.44 new_primDivNatS02(vyv310, vyv311, Succ(vyv3120), Zero) -> new_primDivNatS01(vyv310, vyv311) 248.95/165.44 new_primDivNatS02(vyv310, vyv311, Zero, Succ(vyv3130)) -> Zero 248.95/165.44 new_primDivNatS02(vyv310, vyv311, Succ(vyv3120), Succ(vyv3130)) -> new_primDivNatS02(vyv310, vyv311, vyv3120, vyv3130) 248.95/165.44 new_primDivNatS01(vyv310, vyv311) -> Succ(new_primDivNatS1(new_primMinusNatS2(vyv310, vyv311), Succ(vyv311))) 248.95/165.44 new_primMinusNatS2(Zero, Succ(vyv3110)) -> Zero 248.95/165.44 new_primMinusNatS2(Succ(vyv3100), Zero) -> Succ(vyv3100) 248.95/165.44 new_primMinusNatS2(Zero, Zero) -> Zero 248.95/165.44 new_primMinusNatS2(Succ(vyv3100), Succ(vyv3110)) -> new_primMinusNatS2(vyv3100, vyv3110) 248.95/165.44 new_error -> error([]) 248.95/165.44 new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) 248.95/165.44 new_esEs(Pos(Succ(vyv24100))) -> new_primEqInt(Pos(Succ(vyv24100))) 248.95/165.44 new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) 248.95/165.44 new_esEs(Neg(Succ(vyv24100))) -> new_primEqInt(Neg(Succ(vyv24100))) 248.95/165.44 new_gcd2(True, vyv272, vyv271) -> new_gcd1(new_esEs(vyv271), vyv272, vyv271) 248.95/165.44 new_gcd2(False, vyv272, vyv271) -> new_gcd0(vyv272, vyv271) 248.95/165.44 new_gcd0(vyv272, vyv271) -> new_gcd0Gcd'10(new_esEs(new_abs(vyv271)), vyv272, vyv271) 248.95/165.44 new_abs(Neg(Zero)) -> Neg(Zero) 248.95/165.44 new_abs(Neg(Succ(vyv27100))) -> Pos(Succ(vyv27100)) 248.95/165.44 new_abs(Pos(Succ(vyv27100))) -> Pos(Succ(vyv27100)) 248.95/165.44 new_abs(Pos(Zero)) -> Pos(Zero) 248.95/165.44 new_gcd0Gcd'10(True, vyv272, vyv271) -> new_abs(vyv272) 248.95/165.44 new_gcd0Gcd'10(False, vyv272, vyv271) -> new_gcd0Gcd'00(new_abs(vyv272), new_abs(vyv271)) 248.95/165.44 new_gcd0Gcd'11(False, vyv291, vyv292) -> new_gcd0Gcd'00(vyv291, new_rem(vyv292, vyv291)) 248.95/165.44 new_gcd0Gcd'00(vyv292, vyv291) -> new_gcd0Gcd'11(new_esEs(new_rem(vyv292, vyv291)), vyv291, vyv292) 248.95/165.44 new_rem(Pos(vyv2920), Neg(Zero)) -> new_error 248.95/165.44 new_rem(Neg(vyv2920), Pos(Zero)) -> new_error 248.95/165.44 new_rem(Pos(vyv2920), Neg(Succ(vyv29100))) -> Pos(new_primModNatS1(vyv2920, vyv29100)) 248.95/165.44 new_rem(Neg(vyv2920), Pos(Succ(vyv29100))) -> Neg(new_primModNatS1(vyv2920, vyv29100)) 248.95/165.44 new_rem(Pos(vyv2920), Pos(Succ(vyv29100))) -> Pos(new_primModNatS1(vyv2920, vyv29100)) 248.95/165.44 new_rem(Neg(vyv2920), Neg(Zero)) -> new_error 248.95/165.44 new_rem(Neg(vyv2920), Neg(Succ(vyv29100))) -> Neg(new_primModNatS1(vyv2920, vyv29100)) 248.95/165.44 new_rem(Pos(vyv2920), Pos(Zero)) -> new_error 248.95/165.44 new_gcd0Gcd'11(True, vyv291, vyv292) -> vyv291 248.95/165.44 new_primModNatS1(Succ(Zero), Succ(vyv291000)) -> Succ(Zero) 248.95/165.44 new_primModNatS1(Zero, vyv29100) -> Zero 248.95/165.44 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 248.95/165.44 new_primModNatS1(Succ(Succ(vyv292000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv292000), Zero) 248.95/165.44 new_primModNatS1(Succ(Succ(vyv292000)), Succ(vyv291000)) -> new_primModNatS01(vyv292000, vyv291000, vyv292000, vyv291000) 248.95/165.44 new_primModNatS01(vyv330, vyv331, Zero, Zero) -> new_primModNatS02(vyv330, vyv331) 248.95/165.44 new_primModNatS02(vyv330, vyv331) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv330), Succ(vyv331)), Succ(vyv331)) 248.95/165.44 new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Zero) -> new_primModNatS02(vyv330, vyv331) 248.95/165.44 new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Succ(vyv3330)) -> new_primModNatS01(vyv330, vyv331, vyv3320, vyv3330) 248.95/165.44 new_primModNatS01(vyv330, vyv331, Zero, Succ(vyv3330)) -> Succ(Succ(vyv330)) 248.95/165.44 new_gcd1(True, vyv272, vyv271) -> new_error 248.95/165.44 new_gcd1(False, vyv272, vyv271) -> new_gcd0(vyv272, vyv271) 248.95/165.44 new_primEqInt(Neg(Succ(vyv242000))) -> False 248.95/165.44 new_primEqInt(Pos(Zero)) -> True 248.95/165.44 new_primEqInt(Pos(Succ(vyv242000))) -> False 248.95/165.44 new_primEqInt(Neg(Zero)) -> True 248.95/165.44 new_primQuotInt0(vyv2700, Pos(Succ(vyv28700))) -> Neg(new_primDivNatS1(vyv2700, vyv28700)) 248.95/165.44 new_primQuotInt0(vyv2700, Neg(Zero)) -> new_error 248.95/165.44 new_primQuotInt0(vyv2700, Neg(Succ(vyv28700))) -> Pos(new_primDivNatS1(vyv2700, vyv28700)) 248.95/165.44 new_primQuotInt0(vyv2700, Pos(Zero)) -> new_error 248.95/165.44 new_primMulNat0(Succ(vyv23900), Zero) -> Zero 248.95/165.44 new_primMulNat0(Zero, Succ(vyv23800)) -> Zero 248.95/165.44 new_primMulNat0(Zero, Zero) -> Zero 248.95/165.44 new_primMulNat0(Succ(vyv23900), Succ(vyv23800)) -> new_primPlusNat0(new_primMulNat0(vyv23900, Succ(vyv23800)), Succ(vyv23800)) 248.95/165.44 new_primPlusNat0(Succ(vyv4000), Succ(vyv5000)) -> Succ(Succ(new_primPlusNat0(vyv4000, vyv5000))) 248.95/165.44 new_primPlusNat0(Zero, Succ(vyv5000)) -> Succ(vyv5000) 248.95/165.44 new_primPlusNat0(Zero, Zero) -> Zero 248.95/165.44 new_primPlusNat0(Succ(vyv4000), Zero) -> Succ(vyv4000) 248.95/165.44 new_esEs1(Integer(vyv2690)) -> new_primEqInt(vyv2690) 248.95/165.44 new_sr13(vyv239, vyv238) -> error([]) 248.95/165.44 new_sr11(vyv239, vyv238) -> error([]) 248.95/165.44 new_sr1(vyv227, ty_Int) -> new_sr6(vyv227) 248.95/165.44 new_sr1(vyv227, ty_Integer) -> new_sr7(vyv227) 248.95/165.44 new_sr1(vyv227, app(ty_Ratio, be)) -> new_sr5(vyv227, be) 248.95/165.44 new_sr1(vyv227, ty_Float) -> new_sr10(vyv227) 248.95/165.44 new_sr1(vyv227, ty_Double) -> new_sr9(vyv227) 248.95/165.44 new_sr9(vyv183) -> error([]) 248.95/165.44 new_sr10(vyv183) -> error([]) 248.95/165.44 new_sr5(:%(vyv1830, vyv1831), bd) -> new_reduce2Reduce1(vyv1830, vyv1830, vyv1831, vyv1831, new_esEs0(vyv1831, bd), bd) 248.95/165.44 new_esEs0(vyv1831, ty_Int) -> new_esEs(new_sr6(vyv1831)) 248.95/165.44 new_esEs0(vyv1831, ty_Integer) -> new_esEs1(new_sr7(vyv1831)) 248.95/165.44 new_sr7(vyv183) -> error([]) 248.95/165.44 new_sr6(Neg(vyv1830)) -> Pos(new_primMulNat1(vyv1830)) 248.95/165.44 new_sr6(Pos(vyv1830)) -> Pos(new_primMulNat1(vyv1830)) 248.95/165.44 new_primMulNat1(Succ(vyv18300)) -> new_primPlusNat0(new_primMulNat2(vyv18300), Succ(vyv18300)) 248.95/165.44 new_primMulNat1(Zero) -> Zero 248.95/165.44 new_primMulNat2(Succ(vyv183000)) -> new_primPlusNat0(new_primMulNat3(vyv183000), Succ(Succ(vyv183000))) 248.95/165.44 new_primMulNat2(Zero) -> Zero 248.95/165.44 new_primMulNat3(Succ(vyv1830000)) -> new_primPlusNat0(new_primMulNat4(vyv1830000), Succ(Succ(Succ(vyv1830000)))) 248.95/165.44 new_primMulNat3(Zero) -> Zero 248.95/165.44 new_primMulNat4(Succ(vyv18300000)) -> new_primPlusNat0(new_primMulNat0(vyv18300000, Succ(Succ(Succ(Succ(vyv18300000))))), Succ(Succ(Succ(Succ(vyv18300000))))) 248.95/165.44 new_primMulNat4(Zero) -> Zero 248.95/165.44 248.95/165.44 The set Q consists of the following terms: 248.95/165.44 248.95/165.44 new_rem(Pos(x0), Pos(Succ(x1))) 248.95/165.44 new_quot1(x0, x1, x2, x3, ty_Integer) 248.95/165.44 new_primModNatS1(Succ(Zero), Succ(x0)) 248.95/165.44 new_primMulNat4(Zero) 248.95/165.44 new_gcd1(False, x0, x1) 248.95/165.44 new_primEqInt(Pos(Zero)) 248.95/165.44 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 248.95/165.44 new_rem(Pos(x0), Neg(Succ(x1))) 248.95/165.44 new_rem(Neg(x0), Pos(Succ(x1))) 248.95/165.44 new_sr10(x0) 248.95/165.44 new_quot1(x0, x1, x2, x3, ty_Int) 248.95/165.44 new_quot2(x0, x1, x2, x3, ty_Integer) 248.95/165.44 new_primModNatS01(x0, x1, Succ(x2), Zero) 248.95/165.44 new_primMulNat3(Zero) 248.95/165.44 new_primDivNatS02(x0, x1, Succ(x2), Zero) 248.95/165.44 new_quot2(x0, x1, x2, x3, ty_Int) 248.95/165.44 new_gcd2(False, x0, x1) 248.95/165.44 new_primDivNatS1(Succ(Zero), Zero) 248.95/165.44 new_esEs0(x0, ty_Int) 248.95/165.44 new_sr14(Pos(x0), Pos(x1)) 248.95/165.44 new_primMulNat0(Zero, Zero) 248.95/165.44 new_primPlusNat0(Succ(x0), Zero) 248.95/165.44 new_primMulNat2(Zero) 248.95/165.44 new_sr11(x0, x1) 248.95/165.44 new_primModNatS01(x0, x1, Zero, Zero) 248.95/165.44 new_esEs2(x0, x1, ty_Int) 248.95/165.44 new_gcd1(True, x0, x1) 248.95/165.44 new_sr13(x0, x1) 248.95/165.44 new_sr14(Pos(x0), Neg(x1)) 248.95/165.44 new_sr14(Neg(x0), Pos(x1)) 248.95/165.44 new_primDivNatS1(Succ(Succ(x0)), Succ(x1)) 248.95/165.45 new_sr1(x0, ty_Int) 248.95/165.45 new_primModNatS1(Zero, x0) 248.95/165.45 new_esEs(Pos(Succ(x0))) 248.95/165.45 new_primMulNat3(Succ(x0)) 248.95/165.45 new_sr1(x0, app(ty_Ratio, x1)) 248.95/165.45 new_primQuotInt(x0, Neg(Succ(x1))) 248.95/165.45 new_reduce2Reduce1(x0, x1, x2, x3, False, x4) 248.95/165.45 new_primDivNatS1(Zero, x0) 248.95/165.45 new_primDivNatS02(x0, x1, Succ(x2), Succ(x3)) 248.95/165.45 new_primModNatS02(x0, x1) 248.95/165.45 new_primDivNatS1(Succ(Zero), Succ(x0)) 248.95/165.45 new_sr6(Neg(x0)) 248.95/165.45 new_gcd0Gcd'10(True, x0, x1) 248.95/165.45 new_primMulNat0(Succ(x0), Succ(x1)) 248.95/165.45 new_abs(Neg(Zero)) 248.95/165.45 new_rem(Pos(x0), Neg(Zero)) 248.95/165.45 new_rem(Neg(x0), Pos(Zero)) 248.95/165.45 new_primMinusNatS2(Zero, Succ(x0)) 248.95/165.45 new_esEs(Neg(Succ(x0))) 248.95/165.45 new_error 248.95/165.45 new_primModNatS1(Succ(Zero), Zero) 248.95/165.45 new_primMulNat0(Zero, Succ(x0)) 248.95/165.45 new_quot(x0, x1, x2) 248.95/165.45 new_gcd2(True, x0, x1) 248.95/165.45 new_gcd0Gcd'11(True, x0, x1) 248.95/165.45 new_primEqInt(Neg(Zero)) 248.95/165.45 new_sr2(x0, x1, ty_Double) 248.95/165.45 new_primMulNat0(Succ(x0), Zero) 248.95/165.45 new_quot0(Neg(x0), x1, x2) 248.95/165.45 new_primMinusNatS2(Succ(x0), Succ(x1)) 248.95/165.45 new_sr8(x0, x1) 248.95/165.45 new_primDivNatS01(x0, x1) 248.95/165.45 new_primDivNatS02(x0, x1, Zero, Succ(x2)) 248.95/165.45 new_primPlusNat0(Succ(x0), Succ(x1)) 248.95/165.45 new_sr1(x0, ty_Integer) 248.95/165.45 new_primPlusNat0(Zero, Zero) 248.95/165.45 new_sr1(x0, ty_Float) 248.95/165.45 new_sr12(:%(x0, x1), :%(x2, x3), x4) 248.95/165.45 new_abs(Neg(Succ(x0))) 248.95/165.45 new_sr1(x0, ty_Double) 248.95/165.45 new_sr7(x0) 248.95/165.45 new_gcd0(x0, x1) 248.95/165.45 new_primQuotInt0(x0, Pos(Succ(x1))) 248.95/165.45 new_sr5(:%(x0, x1), x2) 248.95/165.45 new_primMinusNatS2(Zero, Zero) 248.95/165.45 new_primMulNat1(Succ(x0)) 248.95/165.45 new_abs(Pos(Succ(x0))) 248.95/165.45 new_esEs(Pos(Zero)) 248.95/165.45 new_primQuotInt0(x0, Pos(Zero)) 248.95/165.45 new_primEqInt(Neg(Succ(x0))) 248.95/165.45 new_primQuotInt(x0, Neg(Zero)) 248.95/165.45 new_primQuotInt0(x0, Neg(Zero)) 248.95/165.45 new_primQuotInt0(x0, Neg(Succ(x1))) 248.95/165.45 new_gcd(x0, x1) 248.95/165.45 new_quot0(Pos(x0), x1, x2) 248.95/165.45 new_primMinusNatS0(x0) 248.95/165.45 new_primPlusNat0(Zero, Succ(x0)) 248.95/165.45 new_sr2(x0, x1, app(ty_Ratio, x2)) 248.95/165.45 new_sr2(x0, x1, ty_Int) 248.95/165.45 new_primQuotInt(x0, Pos(Succ(x1))) 248.95/165.45 new_primDivNatS1(Succ(Succ(x0)), Zero) 248.95/165.45 new_rem(Pos(x0), Pos(Zero)) 248.95/165.45 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 248.95/165.45 new_primDivNatS02(x0, x1, Zero, Zero) 248.95/165.45 new_abs(Pos(Zero)) 248.95/165.45 new_gcd0Gcd'10(False, x0, x1) 248.95/165.45 new_primMinusNatS1 248.95/165.45 new_esEs1(Integer(x0)) 248.95/165.45 new_sr2(x0, x1, ty_Integer) 248.95/165.45 new_primModNatS01(x0, x1, Zero, Succ(x2)) 248.95/165.45 new_primMulNat2(Succ(x0)) 248.95/165.45 new_sr14(Neg(x0), Neg(x1)) 248.95/165.45 new_sr2(x0, x1, ty_Float) 248.95/165.45 new_primMinusNatS2(Succ(x0), Zero) 248.95/165.45 new_sr6(Pos(x0)) 248.95/165.45 new_esEs2(x0, x1, ty_Integer) 248.95/165.45 new_primMulNat4(Succ(x0)) 248.95/165.45 new_rem(Neg(x0), Neg(Succ(x1))) 248.95/165.45 new_primEqInt(Pos(Succ(x0))) 248.95/165.45 new_primQuotInt(x0, Pos(Zero)) 248.95/165.45 new_gcd0Gcd'11(False, x0, x1) 248.95/165.45 new_sr9(x0) 248.95/165.45 new_primModNatS1(Succ(Succ(x0)), Zero) 248.95/165.45 new_esEs0(x0, ty_Integer) 248.95/165.45 new_gcd0Gcd'00(x0, x1) 248.95/165.45 new_reduce2Reduce1(x0, x1, x2, x3, True, x4) 248.95/165.45 new_esEs(Neg(Zero)) 248.95/165.45 new_primMulNat1(Zero) 248.95/165.45 new_rem(Neg(x0), Neg(Zero)) 248.95/165.45 248.95/165.45 We have to consider all minimal (P,Q,R)-chains. 248.95/165.45 ---------------------------------------- 248.95/165.45 248.95/165.45 (923) QDPOrderProof (EQUIVALENT) 248.95/165.45 We use the reduction pair processor [LPAR04,JAR06]. 248.95/165.45 248.95/165.45 248.95/165.45 The following pairs can be oriented strictly and are deleted. 248.95/165.45 248.95/165.45 new_pr2F0G1(vyv226, vyv227, vyv228, Succ(Zero), ba) -> new_pr2F(vyv227, vyv228, Pos(Succ(Zero)), vyv226, ba) 248.95/165.45 The remaining pairs can at least be oriented weakly. 248.95/165.45 Used ordering: Polynomial interpretation [POLO]: 248.95/165.45 248.95/165.45 POL(:%(x_1, x_2)) = 0 248.95/165.45 POL(False) = 0 248.95/165.45 POL(Integer(x_1)) = 1 + x_1 248.95/165.45 POL(Neg(x_1)) = 0 248.95/165.45 POL(Pos(x_1)) = x_1 248.95/165.45 POL(Succ(x_1)) = 1 + x_1 248.95/165.45 POL(True) = 0 248.95/165.45 POL(Zero) = 0 248.95/165.45 POL([]) = 1 248.95/165.45 POL(app(x_1, x_2)) = x_1 + x_2 248.95/165.45 POL(error(x_1)) = 0 248.95/165.45 POL(new_abs(x_1)) = 0 248.95/165.45 POL(new_error) = 1 248.95/165.45 POL(new_esEs(x_1)) = 0 248.95/165.45 POL(new_esEs0(x_1, x_2)) = x_1 248.95/165.45 POL(new_esEs1(x_1)) = 0 248.95/165.45 POL(new_esEs2(x_1, x_2, x_3)) = x_2 248.95/165.45 POL(new_gcd(x_1, x_2)) = x_1 + x_2 248.95/165.45 POL(new_gcd0(x_1, x_2)) = 1 + x_1 + x_2 248.95/165.45 POL(new_gcd0Gcd'00(x_1, x_2)) = 0 248.95/165.45 POL(new_gcd0Gcd'10(x_1, x_2, x_3)) = x_2 + x_3 248.95/165.45 POL(new_gcd0Gcd'11(x_1, x_2, x_3)) = x_2 + x_3 248.95/165.45 POL(new_gcd1(x_1, x_2, x_3)) = 1 + x_2 + x_3 248.95/165.45 POL(new_gcd2(x_1, x_2, x_3)) = 1 + x_2 + x_3 248.95/165.45 POL(new_pr2F(x_1, x_2, x_3, x_4, x_5)) = x_2 + x_5 248.95/165.45 POL(new_pr2F0(x_1, x_2, x_3, x_4)) = x_2 + x_4 248.95/165.45 POL(new_pr2F0G(x_1, x_2, x_3, x_4)) = x_3 + x_4 248.95/165.45 POL(new_pr2F0G1(x_1, x_2, x_3, x_4, x_5)) = 1 + x_3 + x_5 248.95/165.45 POL(new_pr2F3(x_1, x_2, x_3, x_4, x_5, x_6)) = x_1 + x_3 + x_6 248.95/165.45 POL(new_primDivNatS01(x_1, x_2)) = 1 + x_1 248.95/165.45 POL(new_primDivNatS02(x_1, x_2, x_3, x_4)) = 1 + x_1 248.95/165.45 POL(new_primDivNatS1(x_1, x_2)) = x_1 248.95/165.45 POL(new_primEqInt(x_1)) = 0 248.95/165.45 POL(new_primMinusNatS0(x_1)) = x_1 248.95/165.45 POL(new_primMinusNatS1) = 0 248.95/165.45 POL(new_primMinusNatS2(x_1, x_2)) = x_1 248.95/165.45 POL(new_primModNatS01(x_1, x_2, x_3, x_4)) = 1 + x_1 + x_2 + x_3 248.95/165.45 POL(new_primModNatS02(x_1, x_2)) = 1 + x_1 + x_2 248.95/165.45 POL(new_primModNatS1(x_1, x_2)) = 0 248.95/165.45 POL(new_primMulNat0(x_1, x_2)) = 0 248.95/165.45 POL(new_primMulNat1(x_1)) = 0 248.95/165.45 POL(new_primMulNat2(x_1)) = 0 248.95/165.45 POL(new_primMulNat3(x_1)) = 0 248.95/165.45 POL(new_primMulNat4(x_1)) = 0 248.95/165.45 POL(new_primPlusNat0(x_1, x_2)) = 0 248.95/165.45 POL(new_primQuotInt(x_1, x_2)) = x_1 248.95/165.45 POL(new_primQuotInt0(x_1, x_2)) = x_1 248.95/165.45 POL(new_quot(x_1, x_2, x_3)) = 0 248.95/165.45 POL(new_quot0(x_1, x_2, x_3)) = 0 248.95/165.45 POL(new_quot1(x_1, x_2, x_3, x_4, x_5)) = x_1 + x_2 + x_3 + x_4 248.95/165.45 POL(new_quot2(x_1, x_2, x_3, x_4, x_5)) = x_1 + x_2 + x_3 + x_4 248.95/165.45 POL(new_reduce2Reduce1(x_1, x_2, x_3, x_4, x_5, x_6)) = 0 248.95/165.45 POL(new_rem(x_1, x_2)) = 0 248.95/165.45 POL(new_sr1(x_1, x_2)) = x_1 248.95/165.45 POL(new_sr10(x_1)) = 1 + x_1 248.95/165.45 POL(new_sr11(x_1, x_2)) = 1 + x_1 + x_2 248.95/165.45 POL(new_sr12(x_1, x_2, x_3)) = 1 + x_2 + x_3 248.95/165.45 POL(new_sr13(x_1, x_2)) = 1 + x_1 + x_2 248.95/165.45 POL(new_sr14(x_1, x_2)) = 0 248.95/165.45 POL(new_sr2(x_1, x_2, x_3)) = x_1 + x_2 248.95/165.45 POL(new_sr5(x_1, x_2)) = 1 + x_2 248.95/165.45 POL(new_sr6(x_1)) = 0 248.95/165.45 POL(new_sr7(x_1)) = x_1 248.95/165.45 POL(new_sr8(x_1, x_2)) = x_1 + x_2 248.95/165.45 POL(new_sr9(x_1)) = 1 + x_1 248.95/165.45 POL(ty_Double) = 1 248.95/165.45 POL(ty_Float) = 1 248.95/165.45 POL(ty_Int) = 0 248.95/165.45 POL(ty_Integer) = 0 248.95/165.45 POL(ty_Ratio) = 1 248.95/165.45 248.95/165.45 The following usable rules [FROCOS05] with respect to the argument filtering of the ordering [JAR06] were oriented: 248.95/165.45 248.95/165.45 new_primDivNatS1(Succ(Zero), Succ(vyv284000)) -> Zero 248.95/165.45 new_primDivNatS1(Succ(Succ(vyv270000)), Succ(vyv284000)) -> new_primDivNatS02(vyv270000, vyv284000, vyv270000, vyv284000) 248.95/165.45 new_primDivNatS1(Zero, vyv28400) -> Zero 248.95/165.45 new_primDivNatS02(vyv310, vyv311, Zero, Succ(vyv3130)) -> Zero 248.95/165.45 new_primDivNatS02(vyv310, vyv311, Zero, Zero) -> new_primDivNatS01(vyv310, vyv311) 248.95/165.45 new_primDivNatS01(vyv310, vyv311) -> Succ(new_primDivNatS1(new_primMinusNatS2(vyv310, vyv311), Succ(vyv311))) 248.95/165.45 new_primMinusNatS2(Zero, Succ(vyv3110)) -> Zero 248.95/165.45 new_primMinusNatS2(Succ(vyv3100), Zero) -> Succ(vyv3100) 248.95/165.45 new_primMinusNatS2(Zero, Zero) -> Zero 248.95/165.45 new_primMinusNatS2(Succ(vyv3100), Succ(vyv3110)) -> new_primMinusNatS2(vyv3100, vyv3110) 248.95/165.45 new_primDivNatS02(vyv310, vyv311, Succ(vyv3120), Zero) -> new_primDivNatS01(vyv310, vyv311) 248.95/165.45 new_primDivNatS02(vyv310, vyv311, Succ(vyv3120), Succ(vyv3130)) -> new_primDivNatS02(vyv310, vyv311, vyv3120, vyv3130) 248.95/165.45 248.95/165.45 248.95/165.45 ---------------------------------------- 248.95/165.45 248.95/165.45 (924) 248.95/165.45 Obligation: 248.95/165.45 Q DP problem: 248.95/165.45 The TRS P consists of the following rules: 248.95/165.45 248.95/165.45 new_pr2F0G1(vyv226, vyv227, vyv228, Succ(Succ(vyv22900)), ba) -> new_pr2F0G1(vyv226, vyv227, vyv228, vyv22900, ba) 248.95/165.45 new_pr2F0(vyv183, Pos(Succ(Succ(vyv222000))), vyv187, h) -> new_pr2F0G1(vyv187, vyv183, Succ(vyv222000), vyv222000, h) 248.95/165.45 new_pr2F0G1(vyv226, vyv227, vyv228, Zero, ba) -> new_pr2F0G(vyv226, new_sr1(vyv227, ba), Pos(new_primDivNatS1(Succ(vyv228), Succ(Zero))), ba) 248.95/165.45 new_pr2F0G(vyv187, vyv183, Pos(Succ(Succ(vyv222000))), h) -> new_pr2F0G1(vyv187, vyv183, Succ(vyv222000), vyv222000, h) 248.95/165.45 new_pr2F(y0, Succ(x0), Pos(Succ(Zero)), y2, y3) -> new_pr2F3(False, y0, Succ(x0), Pos(Succ(Zero)), y2, y3) 248.95/165.45 new_pr2F3(False, z0, Succ(z1), Pos(Succ(Zero)), z2, z3) -> new_pr2F0(z0, Pos(Succ(z1)), new_sr2(z0, z2, z3), z3) 248.95/165.45 248.95/165.45 The TRS R consists of the following rules: 248.95/165.45 248.95/165.45 new_sr2(vyv227, vyv226, ty_Int) -> new_sr14(vyv227, vyv226) 248.95/165.45 new_sr2(vyv227, vyv226, ty_Double) -> new_sr11(vyv227, vyv226) 248.95/165.45 new_sr2(vyv227, vyv226, ty_Integer) -> new_sr8(vyv227, vyv226) 248.95/165.45 new_sr2(vyv227, vyv226, ty_Float) -> new_sr13(vyv227, vyv226) 248.95/165.45 new_sr2(vyv227, vyv226, app(ty_Ratio, be)) -> new_sr12(vyv227, vyv226, be) 248.95/165.45 new_sr12(:%(vyv2390, vyv2391), :%(vyv2380, vyv2381), bf) -> new_reduce2Reduce1(vyv2390, vyv2380, vyv2391, vyv2381, new_esEs2(vyv2391, vyv2381, bf), bf) 248.95/165.45 new_esEs2(vyv2391, vyv2381, ty_Int) -> new_esEs(new_sr14(vyv2391, vyv2381)) 248.95/165.45 new_esEs2(vyv2391, vyv2381, ty_Integer) -> new_esEs1(new_sr8(vyv2391, vyv2381)) 248.95/165.45 new_reduce2Reduce1(vyv264, vyv265, vyv266, vyv267, False, bh) -> :%(new_quot1(vyv264, vyv265, vyv266, vyv267, bh), new_quot2(vyv266, vyv267, vyv264, vyv265, bh)) 248.95/165.45 new_reduce2Reduce1(vyv264, vyv265, vyv266, vyv267, True, bh) -> error([]) 248.95/165.45 new_quot1(vyv264, vyv265, vyv266, vyv267, ty_Int) -> new_quot0(new_sr14(vyv264, vyv265), new_sr14(vyv264, vyv265), new_sr14(vyv266, vyv267)) 248.95/165.45 new_quot1(vyv264, vyv265, vyv266, vyv267, ty_Integer) -> new_quot(new_sr8(vyv264, vyv265), new_sr8(vyv264, vyv265), new_sr8(vyv266, vyv267)) 248.95/165.45 new_quot2(vyv266, vyv267, vyv264, vyv265, ty_Int) -> new_quot0(new_sr14(vyv266, vyv267), new_sr14(vyv264, vyv265), new_sr14(vyv266, vyv267)) 248.95/165.45 new_quot2(vyv266, vyv267, vyv264, vyv265, ty_Integer) -> new_quot(new_sr8(vyv266, vyv267), new_sr8(vyv264, vyv265), new_sr8(vyv266, vyv267)) 248.95/165.45 new_sr8(vyv239, vyv238) -> error([]) 248.95/165.45 new_quot(vyv273, vyv275, vyv274) -> error([]) 248.95/165.45 new_sr14(Pos(vyv2390), Neg(vyv2380)) -> Neg(new_primMulNat0(vyv2390, vyv2380)) 248.95/165.45 new_sr14(Neg(vyv2390), Pos(vyv2380)) -> Neg(new_primMulNat0(vyv2390, vyv2380)) 248.95/165.45 new_sr14(Neg(vyv2390), Neg(vyv2380)) -> Pos(new_primMulNat0(vyv2390, vyv2380)) 248.95/165.45 new_sr14(Pos(vyv2390), Pos(vyv2380)) -> Pos(new_primMulNat0(vyv2390, vyv2380)) 248.95/165.45 new_quot0(Neg(vyv2700), vyv272, vyv271) -> new_primQuotInt0(vyv2700, new_gcd(vyv272, vyv271)) 248.95/165.45 new_quot0(Pos(vyv2700), vyv272, vyv271) -> new_primQuotInt(vyv2700, new_gcd(vyv272, vyv271)) 248.95/165.45 new_gcd(vyv272, vyv271) -> new_gcd2(new_esEs(vyv272), vyv272, vyv271) 248.95/165.45 new_primQuotInt(vyv2700, Pos(Succ(vyv28400))) -> Pos(new_primDivNatS1(vyv2700, vyv28400)) 248.95/165.45 new_primQuotInt(vyv2700, Neg(Zero)) -> new_error 248.95/165.45 new_primQuotInt(vyv2700, Pos(Zero)) -> new_error 248.95/165.45 new_primQuotInt(vyv2700, Neg(Succ(vyv28400))) -> Neg(new_primDivNatS1(vyv2700, vyv28400)) 248.95/165.45 new_primDivNatS1(Succ(Zero), Succ(vyv284000)) -> Zero 248.95/165.45 new_primDivNatS1(Succ(Succ(vyv270000)), Succ(vyv284000)) -> new_primDivNatS02(vyv270000, vyv284000, vyv270000, vyv284000) 248.95/165.45 new_primDivNatS1(Zero, vyv28400) -> Zero 248.95/165.45 new_primDivNatS1(Succ(Succ(vyv270000)), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS0(vyv270000), Zero)) 248.95/165.45 new_primDivNatS1(Succ(Zero), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS1, Zero)) 248.95/165.45 new_primMinusNatS1 -> Zero 248.95/165.45 new_primMinusNatS0(vyv270000) -> Succ(vyv270000) 248.95/165.45 new_primDivNatS02(vyv310, vyv311, Zero, Zero) -> new_primDivNatS01(vyv310, vyv311) 248.95/165.45 new_primDivNatS02(vyv310, vyv311, Succ(vyv3120), Zero) -> new_primDivNatS01(vyv310, vyv311) 248.95/165.45 new_primDivNatS02(vyv310, vyv311, Zero, Succ(vyv3130)) -> Zero 248.95/165.45 new_primDivNatS02(vyv310, vyv311, Succ(vyv3120), Succ(vyv3130)) -> new_primDivNatS02(vyv310, vyv311, vyv3120, vyv3130) 248.95/165.45 new_primDivNatS01(vyv310, vyv311) -> Succ(new_primDivNatS1(new_primMinusNatS2(vyv310, vyv311), Succ(vyv311))) 248.95/165.45 new_primMinusNatS2(Zero, Succ(vyv3110)) -> Zero 248.95/165.45 new_primMinusNatS2(Succ(vyv3100), Zero) -> Succ(vyv3100) 248.95/165.45 new_primMinusNatS2(Zero, Zero) -> Zero 248.95/165.45 new_primMinusNatS2(Succ(vyv3100), Succ(vyv3110)) -> new_primMinusNatS2(vyv3100, vyv3110) 248.95/165.45 new_error -> error([]) 248.95/165.45 new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) 248.95/165.45 new_esEs(Pos(Succ(vyv24100))) -> new_primEqInt(Pos(Succ(vyv24100))) 248.95/165.45 new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) 248.95/165.45 new_esEs(Neg(Succ(vyv24100))) -> new_primEqInt(Neg(Succ(vyv24100))) 248.95/165.45 new_gcd2(True, vyv272, vyv271) -> new_gcd1(new_esEs(vyv271), vyv272, vyv271) 248.95/165.45 new_gcd2(False, vyv272, vyv271) -> new_gcd0(vyv272, vyv271) 248.95/165.45 new_gcd0(vyv272, vyv271) -> new_gcd0Gcd'10(new_esEs(new_abs(vyv271)), vyv272, vyv271) 248.95/165.45 new_abs(Neg(Zero)) -> Neg(Zero) 248.95/165.45 new_abs(Neg(Succ(vyv27100))) -> Pos(Succ(vyv27100)) 248.95/165.45 new_abs(Pos(Succ(vyv27100))) -> Pos(Succ(vyv27100)) 248.95/165.45 new_abs(Pos(Zero)) -> Pos(Zero) 248.95/165.45 new_gcd0Gcd'10(True, vyv272, vyv271) -> new_abs(vyv272) 248.95/165.45 new_gcd0Gcd'10(False, vyv272, vyv271) -> new_gcd0Gcd'00(new_abs(vyv272), new_abs(vyv271)) 248.95/165.45 new_gcd0Gcd'11(False, vyv291, vyv292) -> new_gcd0Gcd'00(vyv291, new_rem(vyv292, vyv291)) 248.95/165.45 new_gcd0Gcd'00(vyv292, vyv291) -> new_gcd0Gcd'11(new_esEs(new_rem(vyv292, vyv291)), vyv291, vyv292) 248.95/165.45 new_rem(Pos(vyv2920), Neg(Zero)) -> new_error 248.95/165.45 new_rem(Neg(vyv2920), Pos(Zero)) -> new_error 248.95/165.45 new_rem(Pos(vyv2920), Neg(Succ(vyv29100))) -> Pos(new_primModNatS1(vyv2920, vyv29100)) 248.95/165.45 new_rem(Neg(vyv2920), Pos(Succ(vyv29100))) -> Neg(new_primModNatS1(vyv2920, vyv29100)) 248.95/165.45 new_rem(Pos(vyv2920), Pos(Succ(vyv29100))) -> Pos(new_primModNatS1(vyv2920, vyv29100)) 248.95/165.45 new_rem(Neg(vyv2920), Neg(Zero)) -> new_error 248.95/165.45 new_rem(Neg(vyv2920), Neg(Succ(vyv29100))) -> Neg(new_primModNatS1(vyv2920, vyv29100)) 248.95/165.45 new_rem(Pos(vyv2920), Pos(Zero)) -> new_error 248.95/165.45 new_gcd0Gcd'11(True, vyv291, vyv292) -> vyv291 248.95/165.45 new_primModNatS1(Succ(Zero), Succ(vyv291000)) -> Succ(Zero) 248.95/165.45 new_primModNatS1(Zero, vyv29100) -> Zero 248.95/165.45 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 248.95/165.45 new_primModNatS1(Succ(Succ(vyv292000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv292000), Zero) 248.95/165.45 new_primModNatS1(Succ(Succ(vyv292000)), Succ(vyv291000)) -> new_primModNatS01(vyv292000, vyv291000, vyv292000, vyv291000) 248.95/165.45 new_primModNatS01(vyv330, vyv331, Zero, Zero) -> new_primModNatS02(vyv330, vyv331) 248.95/165.45 new_primModNatS02(vyv330, vyv331) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv330), Succ(vyv331)), Succ(vyv331)) 248.95/165.45 new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Zero) -> new_primModNatS02(vyv330, vyv331) 248.95/165.45 new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Succ(vyv3330)) -> new_primModNatS01(vyv330, vyv331, vyv3320, vyv3330) 248.95/165.45 new_primModNatS01(vyv330, vyv331, Zero, Succ(vyv3330)) -> Succ(Succ(vyv330)) 248.95/165.45 new_gcd1(True, vyv272, vyv271) -> new_error 248.95/165.45 new_gcd1(False, vyv272, vyv271) -> new_gcd0(vyv272, vyv271) 248.95/165.45 new_primEqInt(Neg(Succ(vyv242000))) -> False 248.95/165.45 new_primEqInt(Pos(Zero)) -> True 248.95/165.45 new_primEqInt(Pos(Succ(vyv242000))) -> False 248.95/165.45 new_primEqInt(Neg(Zero)) -> True 248.95/165.45 new_primQuotInt0(vyv2700, Pos(Succ(vyv28700))) -> Neg(new_primDivNatS1(vyv2700, vyv28700)) 248.95/165.45 new_primQuotInt0(vyv2700, Neg(Zero)) -> new_error 248.95/165.45 new_primQuotInt0(vyv2700, Neg(Succ(vyv28700))) -> Pos(new_primDivNatS1(vyv2700, vyv28700)) 248.95/165.45 new_primQuotInt0(vyv2700, Pos(Zero)) -> new_error 248.95/165.45 new_primMulNat0(Succ(vyv23900), Zero) -> Zero 248.95/165.45 new_primMulNat0(Zero, Succ(vyv23800)) -> Zero 248.95/165.45 new_primMulNat0(Zero, Zero) -> Zero 248.95/165.45 new_primMulNat0(Succ(vyv23900), Succ(vyv23800)) -> new_primPlusNat0(new_primMulNat0(vyv23900, Succ(vyv23800)), Succ(vyv23800)) 248.95/165.45 new_primPlusNat0(Succ(vyv4000), Succ(vyv5000)) -> Succ(Succ(new_primPlusNat0(vyv4000, vyv5000))) 248.95/165.45 new_primPlusNat0(Zero, Succ(vyv5000)) -> Succ(vyv5000) 248.95/165.45 new_primPlusNat0(Zero, Zero) -> Zero 248.95/165.45 new_primPlusNat0(Succ(vyv4000), Zero) -> Succ(vyv4000) 248.95/165.45 new_esEs1(Integer(vyv2690)) -> new_primEqInt(vyv2690) 248.95/165.45 new_sr13(vyv239, vyv238) -> error([]) 248.95/165.45 new_sr11(vyv239, vyv238) -> error([]) 248.95/165.45 new_sr1(vyv227, ty_Int) -> new_sr6(vyv227) 248.95/165.45 new_sr1(vyv227, ty_Integer) -> new_sr7(vyv227) 248.95/165.45 new_sr1(vyv227, app(ty_Ratio, be)) -> new_sr5(vyv227, be) 248.95/165.45 new_sr1(vyv227, ty_Float) -> new_sr10(vyv227) 248.95/165.45 new_sr1(vyv227, ty_Double) -> new_sr9(vyv227) 248.95/165.45 new_sr9(vyv183) -> error([]) 248.95/165.45 new_sr10(vyv183) -> error([]) 248.95/165.45 new_sr5(:%(vyv1830, vyv1831), bd) -> new_reduce2Reduce1(vyv1830, vyv1830, vyv1831, vyv1831, new_esEs0(vyv1831, bd), bd) 248.95/165.45 new_esEs0(vyv1831, ty_Int) -> new_esEs(new_sr6(vyv1831)) 248.95/165.45 new_esEs0(vyv1831, ty_Integer) -> new_esEs1(new_sr7(vyv1831)) 248.95/165.45 new_sr7(vyv183) -> error([]) 248.95/165.45 new_sr6(Neg(vyv1830)) -> Pos(new_primMulNat1(vyv1830)) 248.95/165.45 new_sr6(Pos(vyv1830)) -> Pos(new_primMulNat1(vyv1830)) 248.95/165.45 new_primMulNat1(Succ(vyv18300)) -> new_primPlusNat0(new_primMulNat2(vyv18300), Succ(vyv18300)) 248.95/165.45 new_primMulNat1(Zero) -> Zero 248.95/165.45 new_primMulNat2(Succ(vyv183000)) -> new_primPlusNat0(new_primMulNat3(vyv183000), Succ(Succ(vyv183000))) 248.95/165.45 new_primMulNat2(Zero) -> Zero 248.95/165.45 new_primMulNat3(Succ(vyv1830000)) -> new_primPlusNat0(new_primMulNat4(vyv1830000), Succ(Succ(Succ(vyv1830000)))) 248.95/165.45 new_primMulNat3(Zero) -> Zero 248.95/165.45 new_primMulNat4(Succ(vyv18300000)) -> new_primPlusNat0(new_primMulNat0(vyv18300000, Succ(Succ(Succ(Succ(vyv18300000))))), Succ(Succ(Succ(Succ(vyv18300000))))) 248.95/165.45 new_primMulNat4(Zero) -> Zero 248.95/165.45 248.95/165.45 The set Q consists of the following terms: 248.95/165.45 248.95/165.45 new_rem(Pos(x0), Pos(Succ(x1))) 248.95/165.45 new_quot1(x0, x1, x2, x3, ty_Integer) 248.95/165.45 new_primModNatS1(Succ(Zero), Succ(x0)) 248.95/165.45 new_primMulNat4(Zero) 248.95/165.45 new_gcd1(False, x0, x1) 248.95/165.45 new_primEqInt(Pos(Zero)) 248.95/165.45 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 248.95/165.45 new_rem(Pos(x0), Neg(Succ(x1))) 248.95/165.45 new_rem(Neg(x0), Pos(Succ(x1))) 248.95/165.45 new_sr10(x0) 248.95/165.45 new_quot1(x0, x1, x2, x3, ty_Int) 248.95/165.45 new_quot2(x0, x1, x2, x3, ty_Integer) 248.95/165.45 new_primModNatS01(x0, x1, Succ(x2), Zero) 248.95/165.45 new_primMulNat3(Zero) 248.95/165.45 new_primDivNatS02(x0, x1, Succ(x2), Zero) 248.95/165.45 new_quot2(x0, x1, x2, x3, ty_Int) 248.95/165.45 new_gcd2(False, x0, x1) 248.95/165.45 new_primDivNatS1(Succ(Zero), Zero) 248.95/165.45 new_esEs0(x0, ty_Int) 248.95/165.45 new_sr14(Pos(x0), Pos(x1)) 248.95/165.45 new_primMulNat0(Zero, Zero) 248.95/165.45 new_primPlusNat0(Succ(x0), Zero) 248.95/165.45 new_primMulNat2(Zero) 248.95/165.45 new_sr11(x0, x1) 248.95/165.45 new_primModNatS01(x0, x1, Zero, Zero) 248.95/165.45 new_esEs2(x0, x1, ty_Int) 248.95/165.45 new_gcd1(True, x0, x1) 248.95/165.45 new_sr13(x0, x1) 248.95/165.45 new_sr14(Pos(x0), Neg(x1)) 248.95/165.45 new_sr14(Neg(x0), Pos(x1)) 248.95/165.45 new_primDivNatS1(Succ(Succ(x0)), Succ(x1)) 248.95/165.45 new_sr1(x0, ty_Int) 248.95/165.45 new_primModNatS1(Zero, x0) 248.95/165.45 new_esEs(Pos(Succ(x0))) 248.95/165.45 new_primMulNat3(Succ(x0)) 248.95/165.45 new_sr1(x0, app(ty_Ratio, x1)) 248.95/165.45 new_primQuotInt(x0, Neg(Succ(x1))) 248.95/165.45 new_reduce2Reduce1(x0, x1, x2, x3, False, x4) 248.95/165.45 new_primDivNatS1(Zero, x0) 248.95/165.45 new_primDivNatS02(x0, x1, Succ(x2), Succ(x3)) 248.95/165.45 new_primModNatS02(x0, x1) 248.95/165.45 new_primDivNatS1(Succ(Zero), Succ(x0)) 248.95/165.45 new_sr6(Neg(x0)) 248.95/165.45 new_gcd0Gcd'10(True, x0, x1) 248.95/165.45 new_primMulNat0(Succ(x0), Succ(x1)) 248.95/165.45 new_abs(Neg(Zero)) 248.95/165.45 new_rem(Pos(x0), Neg(Zero)) 248.95/165.45 new_rem(Neg(x0), Pos(Zero)) 248.95/165.45 new_primMinusNatS2(Zero, Succ(x0)) 248.95/165.45 new_esEs(Neg(Succ(x0))) 248.95/165.45 new_error 248.95/165.45 new_primModNatS1(Succ(Zero), Zero) 248.95/165.45 new_primMulNat0(Zero, Succ(x0)) 248.95/165.45 new_quot(x0, x1, x2) 248.95/165.45 new_gcd2(True, x0, x1) 248.95/165.45 new_gcd0Gcd'11(True, x0, x1) 248.95/165.45 new_primEqInt(Neg(Zero)) 248.95/165.45 new_sr2(x0, x1, ty_Double) 248.95/165.45 new_primMulNat0(Succ(x0), Zero) 248.95/165.45 new_quot0(Neg(x0), x1, x2) 248.95/165.45 new_primMinusNatS2(Succ(x0), Succ(x1)) 248.95/165.45 new_sr8(x0, x1) 248.95/165.45 new_primDivNatS01(x0, x1) 248.95/165.45 new_primDivNatS02(x0, x1, Zero, Succ(x2)) 248.95/165.45 new_primPlusNat0(Succ(x0), Succ(x1)) 248.95/165.45 new_sr1(x0, ty_Integer) 248.95/165.45 new_primPlusNat0(Zero, Zero) 248.95/165.45 new_sr1(x0, ty_Float) 248.95/165.45 new_sr12(:%(x0, x1), :%(x2, x3), x4) 248.95/165.45 new_abs(Neg(Succ(x0))) 248.95/165.45 new_sr1(x0, ty_Double) 248.95/165.45 new_sr7(x0) 248.95/165.45 new_gcd0(x0, x1) 248.95/165.45 new_primQuotInt0(x0, Pos(Succ(x1))) 248.95/165.45 new_sr5(:%(x0, x1), x2) 248.95/165.45 new_primMinusNatS2(Zero, Zero) 248.95/165.45 new_primMulNat1(Succ(x0)) 248.95/165.45 new_abs(Pos(Succ(x0))) 248.95/165.45 new_esEs(Pos(Zero)) 248.95/165.45 new_primQuotInt0(x0, Pos(Zero)) 248.95/165.45 new_primEqInt(Neg(Succ(x0))) 248.95/165.45 new_primQuotInt(x0, Neg(Zero)) 248.95/165.45 new_primQuotInt0(x0, Neg(Zero)) 248.95/165.45 new_primQuotInt0(x0, Neg(Succ(x1))) 248.95/165.45 new_gcd(x0, x1) 248.95/165.45 new_quot0(Pos(x0), x1, x2) 248.95/165.45 new_primMinusNatS0(x0) 248.95/165.45 new_primPlusNat0(Zero, Succ(x0)) 248.95/165.45 new_sr2(x0, x1, app(ty_Ratio, x2)) 248.95/165.45 new_sr2(x0, x1, ty_Int) 248.95/165.45 new_primQuotInt(x0, Pos(Succ(x1))) 248.95/165.45 new_primDivNatS1(Succ(Succ(x0)), Zero) 248.95/165.45 new_rem(Pos(x0), Pos(Zero)) 248.95/165.45 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 248.95/165.45 new_primDivNatS02(x0, x1, Zero, Zero) 248.95/165.45 new_abs(Pos(Zero)) 248.95/165.45 new_gcd0Gcd'10(False, x0, x1) 248.95/165.45 new_primMinusNatS1 248.95/165.45 new_esEs1(Integer(x0)) 248.95/165.45 new_sr2(x0, x1, ty_Integer) 248.95/165.45 new_primModNatS01(x0, x1, Zero, Succ(x2)) 248.95/165.45 new_primMulNat2(Succ(x0)) 248.95/165.45 new_sr14(Neg(x0), Neg(x1)) 248.95/165.45 new_sr2(x0, x1, ty_Float) 248.95/165.45 new_primMinusNatS2(Succ(x0), Zero) 248.95/165.45 new_sr6(Pos(x0)) 248.95/165.45 new_esEs2(x0, x1, ty_Integer) 248.95/165.45 new_primMulNat4(Succ(x0)) 248.95/165.45 new_rem(Neg(x0), Neg(Succ(x1))) 248.95/165.45 new_primEqInt(Pos(Succ(x0))) 248.95/165.45 new_primQuotInt(x0, Pos(Zero)) 248.95/165.45 new_gcd0Gcd'11(False, x0, x1) 248.95/165.45 new_sr9(x0) 248.95/165.45 new_primModNatS1(Succ(Succ(x0)), Zero) 248.95/165.45 new_esEs0(x0, ty_Integer) 248.95/165.45 new_gcd0Gcd'00(x0, x1) 248.95/165.45 new_reduce2Reduce1(x0, x1, x2, x3, True, x4) 248.95/165.45 new_esEs(Neg(Zero)) 248.95/165.45 new_primMulNat1(Zero) 248.95/165.45 new_rem(Neg(x0), Neg(Zero)) 248.95/165.45 248.95/165.45 We have to consider all minimal (P,Q,R)-chains. 248.95/165.45 ---------------------------------------- 248.95/165.45 248.95/165.45 (925) DependencyGraphProof (EQUIVALENT) 248.95/165.45 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 3 less nodes. 248.95/165.45 ---------------------------------------- 248.95/165.45 248.95/165.45 (926) 248.95/165.45 Obligation: 248.95/165.45 Q DP problem: 248.95/165.45 The TRS P consists of the following rules: 248.95/165.45 248.95/165.45 new_pr2F0G1(vyv226, vyv227, vyv228, Succ(Succ(vyv22900)), ba) -> new_pr2F0G1(vyv226, vyv227, vyv228, vyv22900, ba) 248.95/165.45 new_pr2F0G1(vyv226, vyv227, vyv228, Zero, ba) -> new_pr2F0G(vyv226, new_sr1(vyv227, ba), Pos(new_primDivNatS1(Succ(vyv228), Succ(Zero))), ba) 248.95/165.45 new_pr2F0G(vyv187, vyv183, Pos(Succ(Succ(vyv222000))), h) -> new_pr2F0G1(vyv187, vyv183, Succ(vyv222000), vyv222000, h) 248.95/165.45 248.95/165.45 The TRS R consists of the following rules: 248.95/165.45 248.95/165.45 new_sr2(vyv227, vyv226, ty_Int) -> new_sr14(vyv227, vyv226) 248.95/165.45 new_sr2(vyv227, vyv226, ty_Double) -> new_sr11(vyv227, vyv226) 248.95/165.45 new_sr2(vyv227, vyv226, ty_Integer) -> new_sr8(vyv227, vyv226) 248.95/165.45 new_sr2(vyv227, vyv226, ty_Float) -> new_sr13(vyv227, vyv226) 248.95/165.45 new_sr2(vyv227, vyv226, app(ty_Ratio, be)) -> new_sr12(vyv227, vyv226, be) 248.95/165.45 new_sr12(:%(vyv2390, vyv2391), :%(vyv2380, vyv2381), bf) -> new_reduce2Reduce1(vyv2390, vyv2380, vyv2391, vyv2381, new_esEs2(vyv2391, vyv2381, bf), bf) 248.95/165.45 new_esEs2(vyv2391, vyv2381, ty_Int) -> new_esEs(new_sr14(vyv2391, vyv2381)) 248.95/165.45 new_esEs2(vyv2391, vyv2381, ty_Integer) -> new_esEs1(new_sr8(vyv2391, vyv2381)) 248.95/165.45 new_reduce2Reduce1(vyv264, vyv265, vyv266, vyv267, False, bh) -> :%(new_quot1(vyv264, vyv265, vyv266, vyv267, bh), new_quot2(vyv266, vyv267, vyv264, vyv265, bh)) 248.95/165.45 new_reduce2Reduce1(vyv264, vyv265, vyv266, vyv267, True, bh) -> error([]) 248.95/165.45 new_quot1(vyv264, vyv265, vyv266, vyv267, ty_Int) -> new_quot0(new_sr14(vyv264, vyv265), new_sr14(vyv264, vyv265), new_sr14(vyv266, vyv267)) 248.95/165.45 new_quot1(vyv264, vyv265, vyv266, vyv267, ty_Integer) -> new_quot(new_sr8(vyv264, vyv265), new_sr8(vyv264, vyv265), new_sr8(vyv266, vyv267)) 248.95/165.45 new_quot2(vyv266, vyv267, vyv264, vyv265, ty_Int) -> new_quot0(new_sr14(vyv266, vyv267), new_sr14(vyv264, vyv265), new_sr14(vyv266, vyv267)) 248.95/165.45 new_quot2(vyv266, vyv267, vyv264, vyv265, ty_Integer) -> new_quot(new_sr8(vyv266, vyv267), new_sr8(vyv264, vyv265), new_sr8(vyv266, vyv267)) 248.95/165.45 new_sr8(vyv239, vyv238) -> error([]) 248.95/165.45 new_quot(vyv273, vyv275, vyv274) -> error([]) 248.95/165.45 new_sr14(Pos(vyv2390), Neg(vyv2380)) -> Neg(new_primMulNat0(vyv2390, vyv2380)) 248.95/165.45 new_sr14(Neg(vyv2390), Pos(vyv2380)) -> Neg(new_primMulNat0(vyv2390, vyv2380)) 248.95/165.45 new_sr14(Neg(vyv2390), Neg(vyv2380)) -> Pos(new_primMulNat0(vyv2390, vyv2380)) 248.95/165.45 new_sr14(Pos(vyv2390), Pos(vyv2380)) -> Pos(new_primMulNat0(vyv2390, vyv2380)) 248.95/165.45 new_quot0(Neg(vyv2700), vyv272, vyv271) -> new_primQuotInt0(vyv2700, new_gcd(vyv272, vyv271)) 248.95/165.45 new_quot0(Pos(vyv2700), vyv272, vyv271) -> new_primQuotInt(vyv2700, new_gcd(vyv272, vyv271)) 248.95/165.45 new_gcd(vyv272, vyv271) -> new_gcd2(new_esEs(vyv272), vyv272, vyv271) 248.95/165.45 new_primQuotInt(vyv2700, Pos(Succ(vyv28400))) -> Pos(new_primDivNatS1(vyv2700, vyv28400)) 248.95/165.45 new_primQuotInt(vyv2700, Neg(Zero)) -> new_error 248.95/165.45 new_primQuotInt(vyv2700, Pos(Zero)) -> new_error 248.95/165.45 new_primQuotInt(vyv2700, Neg(Succ(vyv28400))) -> Neg(new_primDivNatS1(vyv2700, vyv28400)) 248.95/165.45 new_primDivNatS1(Succ(Zero), Succ(vyv284000)) -> Zero 248.95/165.45 new_primDivNatS1(Succ(Succ(vyv270000)), Succ(vyv284000)) -> new_primDivNatS02(vyv270000, vyv284000, vyv270000, vyv284000) 248.95/165.45 new_primDivNatS1(Zero, vyv28400) -> Zero 248.95/165.45 new_primDivNatS1(Succ(Succ(vyv270000)), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS0(vyv270000), Zero)) 248.95/165.45 new_primDivNatS1(Succ(Zero), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS1, Zero)) 248.95/165.45 new_primMinusNatS1 -> Zero 248.95/165.45 new_primMinusNatS0(vyv270000) -> Succ(vyv270000) 248.95/165.45 new_primDivNatS02(vyv310, vyv311, Zero, Zero) -> new_primDivNatS01(vyv310, vyv311) 248.95/165.45 new_primDivNatS02(vyv310, vyv311, Succ(vyv3120), Zero) -> new_primDivNatS01(vyv310, vyv311) 248.95/165.45 new_primDivNatS02(vyv310, vyv311, Zero, Succ(vyv3130)) -> Zero 248.95/165.45 new_primDivNatS02(vyv310, vyv311, Succ(vyv3120), Succ(vyv3130)) -> new_primDivNatS02(vyv310, vyv311, vyv3120, vyv3130) 248.95/165.45 new_primDivNatS01(vyv310, vyv311) -> Succ(new_primDivNatS1(new_primMinusNatS2(vyv310, vyv311), Succ(vyv311))) 248.95/165.45 new_primMinusNatS2(Zero, Succ(vyv3110)) -> Zero 248.95/165.45 new_primMinusNatS2(Succ(vyv3100), Zero) -> Succ(vyv3100) 248.95/165.45 new_primMinusNatS2(Zero, Zero) -> Zero 248.95/165.45 new_primMinusNatS2(Succ(vyv3100), Succ(vyv3110)) -> new_primMinusNatS2(vyv3100, vyv3110) 248.95/165.45 new_error -> error([]) 248.95/165.45 new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) 248.95/165.45 new_esEs(Pos(Succ(vyv24100))) -> new_primEqInt(Pos(Succ(vyv24100))) 248.95/165.45 new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) 248.95/165.45 new_esEs(Neg(Succ(vyv24100))) -> new_primEqInt(Neg(Succ(vyv24100))) 248.95/165.45 new_gcd2(True, vyv272, vyv271) -> new_gcd1(new_esEs(vyv271), vyv272, vyv271) 248.95/165.45 new_gcd2(False, vyv272, vyv271) -> new_gcd0(vyv272, vyv271) 248.95/165.45 new_gcd0(vyv272, vyv271) -> new_gcd0Gcd'10(new_esEs(new_abs(vyv271)), vyv272, vyv271) 248.95/165.45 new_abs(Neg(Zero)) -> Neg(Zero) 248.95/165.45 new_abs(Neg(Succ(vyv27100))) -> Pos(Succ(vyv27100)) 248.95/165.45 new_abs(Pos(Succ(vyv27100))) -> Pos(Succ(vyv27100)) 248.95/165.45 new_abs(Pos(Zero)) -> Pos(Zero) 248.95/165.45 new_gcd0Gcd'10(True, vyv272, vyv271) -> new_abs(vyv272) 248.95/165.45 new_gcd0Gcd'10(False, vyv272, vyv271) -> new_gcd0Gcd'00(new_abs(vyv272), new_abs(vyv271)) 248.95/165.45 new_gcd0Gcd'11(False, vyv291, vyv292) -> new_gcd0Gcd'00(vyv291, new_rem(vyv292, vyv291)) 248.95/165.45 new_gcd0Gcd'00(vyv292, vyv291) -> new_gcd0Gcd'11(new_esEs(new_rem(vyv292, vyv291)), vyv291, vyv292) 248.95/165.45 new_rem(Pos(vyv2920), Neg(Zero)) -> new_error 248.95/165.45 new_rem(Neg(vyv2920), Pos(Zero)) -> new_error 248.95/165.45 new_rem(Pos(vyv2920), Neg(Succ(vyv29100))) -> Pos(new_primModNatS1(vyv2920, vyv29100)) 248.95/165.45 new_rem(Neg(vyv2920), Pos(Succ(vyv29100))) -> Neg(new_primModNatS1(vyv2920, vyv29100)) 248.95/165.45 new_rem(Pos(vyv2920), Pos(Succ(vyv29100))) -> Pos(new_primModNatS1(vyv2920, vyv29100)) 248.95/165.45 new_rem(Neg(vyv2920), Neg(Zero)) -> new_error 248.95/165.45 new_rem(Neg(vyv2920), Neg(Succ(vyv29100))) -> Neg(new_primModNatS1(vyv2920, vyv29100)) 248.95/165.45 new_rem(Pos(vyv2920), Pos(Zero)) -> new_error 248.95/165.45 new_gcd0Gcd'11(True, vyv291, vyv292) -> vyv291 248.95/165.45 new_primModNatS1(Succ(Zero), Succ(vyv291000)) -> Succ(Zero) 248.95/165.45 new_primModNatS1(Zero, vyv29100) -> Zero 248.95/165.45 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 248.95/165.45 new_primModNatS1(Succ(Succ(vyv292000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv292000), Zero) 248.95/165.45 new_primModNatS1(Succ(Succ(vyv292000)), Succ(vyv291000)) -> new_primModNatS01(vyv292000, vyv291000, vyv292000, vyv291000) 248.95/165.45 new_primModNatS01(vyv330, vyv331, Zero, Zero) -> new_primModNatS02(vyv330, vyv331) 248.95/165.45 new_primModNatS02(vyv330, vyv331) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv330), Succ(vyv331)), Succ(vyv331)) 248.95/165.45 new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Zero) -> new_primModNatS02(vyv330, vyv331) 248.95/165.45 new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Succ(vyv3330)) -> new_primModNatS01(vyv330, vyv331, vyv3320, vyv3330) 248.95/165.45 new_primModNatS01(vyv330, vyv331, Zero, Succ(vyv3330)) -> Succ(Succ(vyv330)) 248.95/165.45 new_gcd1(True, vyv272, vyv271) -> new_error 248.95/165.45 new_gcd1(False, vyv272, vyv271) -> new_gcd0(vyv272, vyv271) 248.95/165.45 new_primEqInt(Neg(Succ(vyv242000))) -> False 248.95/165.45 new_primEqInt(Pos(Zero)) -> True 248.95/165.45 new_primEqInt(Pos(Succ(vyv242000))) -> False 248.95/165.45 new_primEqInt(Neg(Zero)) -> True 248.95/165.45 new_primQuotInt0(vyv2700, Pos(Succ(vyv28700))) -> Neg(new_primDivNatS1(vyv2700, vyv28700)) 248.95/165.45 new_primQuotInt0(vyv2700, Neg(Zero)) -> new_error 248.95/165.45 new_primQuotInt0(vyv2700, Neg(Succ(vyv28700))) -> Pos(new_primDivNatS1(vyv2700, vyv28700)) 248.95/165.45 new_primQuotInt0(vyv2700, Pos(Zero)) -> new_error 248.95/165.45 new_primMulNat0(Succ(vyv23900), Zero) -> Zero 248.95/165.45 new_primMulNat0(Zero, Succ(vyv23800)) -> Zero 248.95/165.45 new_primMulNat0(Zero, Zero) -> Zero 248.95/165.45 new_primMulNat0(Succ(vyv23900), Succ(vyv23800)) -> new_primPlusNat0(new_primMulNat0(vyv23900, Succ(vyv23800)), Succ(vyv23800)) 248.95/165.45 new_primPlusNat0(Succ(vyv4000), Succ(vyv5000)) -> Succ(Succ(new_primPlusNat0(vyv4000, vyv5000))) 248.95/165.45 new_primPlusNat0(Zero, Succ(vyv5000)) -> Succ(vyv5000) 248.95/165.45 new_primPlusNat0(Zero, Zero) -> Zero 248.95/165.45 new_primPlusNat0(Succ(vyv4000), Zero) -> Succ(vyv4000) 248.95/165.45 new_esEs1(Integer(vyv2690)) -> new_primEqInt(vyv2690) 248.95/165.45 new_sr13(vyv239, vyv238) -> error([]) 248.95/165.45 new_sr11(vyv239, vyv238) -> error([]) 248.95/165.45 new_sr1(vyv227, ty_Int) -> new_sr6(vyv227) 248.95/165.45 new_sr1(vyv227, ty_Integer) -> new_sr7(vyv227) 248.95/165.45 new_sr1(vyv227, app(ty_Ratio, be)) -> new_sr5(vyv227, be) 248.95/165.45 new_sr1(vyv227, ty_Float) -> new_sr10(vyv227) 248.95/165.45 new_sr1(vyv227, ty_Double) -> new_sr9(vyv227) 248.95/165.45 new_sr9(vyv183) -> error([]) 248.95/165.45 new_sr10(vyv183) -> error([]) 248.95/165.45 new_sr5(:%(vyv1830, vyv1831), bd) -> new_reduce2Reduce1(vyv1830, vyv1830, vyv1831, vyv1831, new_esEs0(vyv1831, bd), bd) 248.95/165.45 new_esEs0(vyv1831, ty_Int) -> new_esEs(new_sr6(vyv1831)) 248.95/165.45 new_esEs0(vyv1831, ty_Integer) -> new_esEs1(new_sr7(vyv1831)) 248.95/165.45 new_sr7(vyv183) -> error([]) 248.95/165.45 new_sr6(Neg(vyv1830)) -> Pos(new_primMulNat1(vyv1830)) 248.95/165.45 new_sr6(Pos(vyv1830)) -> Pos(new_primMulNat1(vyv1830)) 248.95/165.45 new_primMulNat1(Succ(vyv18300)) -> new_primPlusNat0(new_primMulNat2(vyv18300), Succ(vyv18300)) 248.95/165.45 new_primMulNat1(Zero) -> Zero 248.95/165.45 new_primMulNat2(Succ(vyv183000)) -> new_primPlusNat0(new_primMulNat3(vyv183000), Succ(Succ(vyv183000))) 248.95/165.45 new_primMulNat2(Zero) -> Zero 248.95/165.45 new_primMulNat3(Succ(vyv1830000)) -> new_primPlusNat0(new_primMulNat4(vyv1830000), Succ(Succ(Succ(vyv1830000)))) 248.95/165.45 new_primMulNat3(Zero) -> Zero 248.95/165.45 new_primMulNat4(Succ(vyv18300000)) -> new_primPlusNat0(new_primMulNat0(vyv18300000, Succ(Succ(Succ(Succ(vyv18300000))))), Succ(Succ(Succ(Succ(vyv18300000))))) 248.95/165.45 new_primMulNat4(Zero) -> Zero 248.95/165.45 248.95/165.45 The set Q consists of the following terms: 248.95/165.45 248.95/165.45 new_rem(Pos(x0), Pos(Succ(x1))) 248.95/165.45 new_quot1(x0, x1, x2, x3, ty_Integer) 248.95/165.45 new_primModNatS1(Succ(Zero), Succ(x0)) 248.95/165.45 new_primMulNat4(Zero) 248.95/165.45 new_gcd1(False, x0, x1) 248.95/165.45 new_primEqInt(Pos(Zero)) 248.95/165.45 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 248.95/165.45 new_rem(Pos(x0), Neg(Succ(x1))) 248.95/165.45 new_rem(Neg(x0), Pos(Succ(x1))) 248.95/165.45 new_sr10(x0) 248.95/165.45 new_quot1(x0, x1, x2, x3, ty_Int) 248.95/165.45 new_quot2(x0, x1, x2, x3, ty_Integer) 248.95/165.45 new_primModNatS01(x0, x1, Succ(x2), Zero) 248.95/165.45 new_primMulNat3(Zero) 248.95/165.45 new_primDivNatS02(x0, x1, Succ(x2), Zero) 248.95/165.45 new_quot2(x0, x1, x2, x3, ty_Int) 248.95/165.45 new_gcd2(False, x0, x1) 248.95/165.45 new_primDivNatS1(Succ(Zero), Zero) 248.95/165.45 new_esEs0(x0, ty_Int) 248.95/165.45 new_sr14(Pos(x0), Pos(x1)) 248.95/165.45 new_primMulNat0(Zero, Zero) 248.95/165.45 new_primPlusNat0(Succ(x0), Zero) 248.95/165.45 new_primMulNat2(Zero) 248.95/165.45 new_sr11(x0, x1) 248.95/165.45 new_primModNatS01(x0, x1, Zero, Zero) 248.95/165.45 new_esEs2(x0, x1, ty_Int) 248.95/165.45 new_gcd1(True, x0, x1) 248.95/165.45 new_sr13(x0, x1) 248.95/165.45 new_sr14(Pos(x0), Neg(x1)) 248.95/165.45 new_sr14(Neg(x0), Pos(x1)) 248.95/165.45 new_primDivNatS1(Succ(Succ(x0)), Succ(x1)) 248.95/165.45 new_sr1(x0, ty_Int) 248.95/165.45 new_primModNatS1(Zero, x0) 248.95/165.45 new_esEs(Pos(Succ(x0))) 248.95/165.45 new_primMulNat3(Succ(x0)) 248.95/165.45 new_sr1(x0, app(ty_Ratio, x1)) 248.95/165.45 new_primQuotInt(x0, Neg(Succ(x1))) 248.95/165.45 new_reduce2Reduce1(x0, x1, x2, x3, False, x4) 248.95/165.45 new_primDivNatS1(Zero, x0) 248.95/165.45 new_primDivNatS02(x0, x1, Succ(x2), Succ(x3)) 248.95/165.45 new_primModNatS02(x0, x1) 248.95/165.45 new_primDivNatS1(Succ(Zero), Succ(x0)) 248.95/165.45 new_sr6(Neg(x0)) 248.95/165.45 new_gcd0Gcd'10(True, x0, x1) 248.95/165.45 new_primMulNat0(Succ(x0), Succ(x1)) 248.95/165.45 new_abs(Neg(Zero)) 248.95/165.45 new_rem(Pos(x0), Neg(Zero)) 248.95/165.45 new_rem(Neg(x0), Pos(Zero)) 248.95/165.45 new_primMinusNatS2(Zero, Succ(x0)) 248.95/165.45 new_esEs(Neg(Succ(x0))) 248.95/165.45 new_error 248.95/165.45 new_primModNatS1(Succ(Zero), Zero) 248.95/165.45 new_primMulNat0(Zero, Succ(x0)) 248.95/165.45 new_quot(x0, x1, x2) 248.95/165.45 new_gcd2(True, x0, x1) 248.95/165.45 new_gcd0Gcd'11(True, x0, x1) 248.95/165.45 new_primEqInt(Neg(Zero)) 248.95/165.45 new_sr2(x0, x1, ty_Double) 248.95/165.45 new_primMulNat0(Succ(x0), Zero) 248.95/165.45 new_quot0(Neg(x0), x1, x2) 248.95/165.45 new_primMinusNatS2(Succ(x0), Succ(x1)) 248.95/165.45 new_sr8(x0, x1) 248.95/165.45 new_primDivNatS01(x0, x1) 248.95/165.45 new_primDivNatS02(x0, x1, Zero, Succ(x2)) 248.95/165.45 new_primPlusNat0(Succ(x0), Succ(x1)) 248.95/165.45 new_sr1(x0, ty_Integer) 248.95/165.45 new_primPlusNat0(Zero, Zero) 248.95/165.45 new_sr1(x0, ty_Float) 248.95/165.45 new_sr12(:%(x0, x1), :%(x2, x3), x4) 248.95/165.45 new_abs(Neg(Succ(x0))) 248.95/165.45 new_sr1(x0, ty_Double) 248.95/165.45 new_sr7(x0) 248.95/165.45 new_gcd0(x0, x1) 248.95/165.45 new_primQuotInt0(x0, Pos(Succ(x1))) 248.95/165.45 new_sr5(:%(x0, x1), x2) 248.95/165.45 new_primMinusNatS2(Zero, Zero) 248.95/165.45 new_primMulNat1(Succ(x0)) 248.95/165.45 new_abs(Pos(Succ(x0))) 248.95/165.45 new_esEs(Pos(Zero)) 248.95/165.45 new_primQuotInt0(x0, Pos(Zero)) 248.95/165.45 new_primEqInt(Neg(Succ(x0))) 248.95/165.45 new_primQuotInt(x0, Neg(Zero)) 248.95/165.45 new_primQuotInt0(x0, Neg(Zero)) 248.95/165.45 new_primQuotInt0(x0, Neg(Succ(x1))) 248.95/165.45 new_gcd(x0, x1) 248.95/165.45 new_quot0(Pos(x0), x1, x2) 248.95/165.45 new_primMinusNatS0(x0) 248.95/165.45 new_primPlusNat0(Zero, Succ(x0)) 248.95/165.45 new_sr2(x0, x1, app(ty_Ratio, x2)) 248.95/165.45 new_sr2(x0, x1, ty_Int) 248.95/165.45 new_primQuotInt(x0, Pos(Succ(x1))) 248.95/165.45 new_primDivNatS1(Succ(Succ(x0)), Zero) 248.95/165.45 new_rem(Pos(x0), Pos(Zero)) 248.95/165.45 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 248.95/165.45 new_primDivNatS02(x0, x1, Zero, Zero) 248.95/165.45 new_abs(Pos(Zero)) 248.95/165.45 new_gcd0Gcd'10(False, x0, x1) 248.95/165.45 new_primMinusNatS1 248.95/165.45 new_esEs1(Integer(x0)) 248.95/165.45 new_sr2(x0, x1, ty_Integer) 248.95/165.45 new_primModNatS01(x0, x1, Zero, Succ(x2)) 248.95/165.45 new_primMulNat2(Succ(x0)) 248.95/165.45 new_sr14(Neg(x0), Neg(x1)) 248.95/165.45 new_sr2(x0, x1, ty_Float) 248.95/165.45 new_primMinusNatS2(Succ(x0), Zero) 248.95/165.45 new_sr6(Pos(x0)) 248.95/165.45 new_esEs2(x0, x1, ty_Integer) 248.95/165.45 new_primMulNat4(Succ(x0)) 248.95/165.45 new_rem(Neg(x0), Neg(Succ(x1))) 248.95/165.45 new_primEqInt(Pos(Succ(x0))) 248.95/165.45 new_primQuotInt(x0, Pos(Zero)) 248.95/165.45 new_gcd0Gcd'11(False, x0, x1) 248.95/165.45 new_sr9(x0) 248.95/165.45 new_primModNatS1(Succ(Succ(x0)), Zero) 248.95/165.45 new_esEs0(x0, ty_Integer) 248.95/165.45 new_gcd0Gcd'00(x0, x1) 248.95/165.45 new_reduce2Reduce1(x0, x1, x2, x3, True, x4) 248.95/165.45 new_esEs(Neg(Zero)) 248.95/165.45 new_primMulNat1(Zero) 248.95/165.45 new_rem(Neg(x0), Neg(Zero)) 248.95/165.45 248.95/165.45 We have to consider all minimal (P,Q,R)-chains. 248.95/165.45 ---------------------------------------- 248.95/165.45 248.95/165.45 (927) MNOCProof (EQUIVALENT) 248.95/165.45 We use the modular non-overlap check [FROCOS05] to decrease Q to the empty set. 248.95/165.45 ---------------------------------------- 248.95/165.45 248.95/165.45 (928) 248.95/165.45 Obligation: 248.95/165.45 Q DP problem: 248.95/165.45 The TRS P consists of the following rules: 248.95/165.45 248.95/165.45 new_pr2F0G1(vyv226, vyv227, vyv228, Succ(Succ(vyv22900)), ba) -> new_pr2F0G1(vyv226, vyv227, vyv228, vyv22900, ba) 248.95/165.45 new_pr2F0G1(vyv226, vyv227, vyv228, Zero, ba) -> new_pr2F0G(vyv226, new_sr1(vyv227, ba), Pos(new_primDivNatS1(Succ(vyv228), Succ(Zero))), ba) 248.95/165.45 new_pr2F0G(vyv187, vyv183, Pos(Succ(Succ(vyv222000))), h) -> new_pr2F0G1(vyv187, vyv183, Succ(vyv222000), vyv222000, h) 248.95/165.45 248.95/165.45 The TRS R consists of the following rules: 248.95/165.45 248.95/165.45 new_sr2(vyv227, vyv226, ty_Int) -> new_sr14(vyv227, vyv226) 248.95/165.45 new_sr2(vyv227, vyv226, ty_Double) -> new_sr11(vyv227, vyv226) 248.95/165.45 new_sr2(vyv227, vyv226, ty_Integer) -> new_sr8(vyv227, vyv226) 248.95/165.45 new_sr2(vyv227, vyv226, ty_Float) -> new_sr13(vyv227, vyv226) 248.95/165.45 new_sr2(vyv227, vyv226, app(ty_Ratio, be)) -> new_sr12(vyv227, vyv226, be) 248.95/165.45 new_sr12(:%(vyv2390, vyv2391), :%(vyv2380, vyv2381), bf) -> new_reduce2Reduce1(vyv2390, vyv2380, vyv2391, vyv2381, new_esEs2(vyv2391, vyv2381, bf), bf) 248.95/165.45 new_esEs2(vyv2391, vyv2381, ty_Int) -> new_esEs(new_sr14(vyv2391, vyv2381)) 248.95/165.45 new_esEs2(vyv2391, vyv2381, ty_Integer) -> new_esEs1(new_sr8(vyv2391, vyv2381)) 248.95/165.45 new_reduce2Reduce1(vyv264, vyv265, vyv266, vyv267, False, bh) -> :%(new_quot1(vyv264, vyv265, vyv266, vyv267, bh), new_quot2(vyv266, vyv267, vyv264, vyv265, bh)) 248.95/165.45 new_reduce2Reduce1(vyv264, vyv265, vyv266, vyv267, True, bh) -> error([]) 248.95/165.45 new_quot1(vyv264, vyv265, vyv266, vyv267, ty_Int) -> new_quot0(new_sr14(vyv264, vyv265), new_sr14(vyv264, vyv265), new_sr14(vyv266, vyv267)) 248.95/165.45 new_quot1(vyv264, vyv265, vyv266, vyv267, ty_Integer) -> new_quot(new_sr8(vyv264, vyv265), new_sr8(vyv264, vyv265), new_sr8(vyv266, vyv267)) 248.95/165.45 new_quot2(vyv266, vyv267, vyv264, vyv265, ty_Int) -> new_quot0(new_sr14(vyv266, vyv267), new_sr14(vyv264, vyv265), new_sr14(vyv266, vyv267)) 248.95/165.45 new_quot2(vyv266, vyv267, vyv264, vyv265, ty_Integer) -> new_quot(new_sr8(vyv266, vyv267), new_sr8(vyv264, vyv265), new_sr8(vyv266, vyv267)) 248.95/165.45 new_sr8(vyv239, vyv238) -> error([]) 248.95/165.45 new_quot(vyv273, vyv275, vyv274) -> error([]) 248.95/165.45 new_sr14(Pos(vyv2390), Neg(vyv2380)) -> Neg(new_primMulNat0(vyv2390, vyv2380)) 248.95/165.45 new_sr14(Neg(vyv2390), Pos(vyv2380)) -> Neg(new_primMulNat0(vyv2390, vyv2380)) 248.95/165.45 new_sr14(Neg(vyv2390), Neg(vyv2380)) -> Pos(new_primMulNat0(vyv2390, vyv2380)) 248.95/165.45 new_sr14(Pos(vyv2390), Pos(vyv2380)) -> Pos(new_primMulNat0(vyv2390, vyv2380)) 248.95/165.45 new_quot0(Neg(vyv2700), vyv272, vyv271) -> new_primQuotInt0(vyv2700, new_gcd(vyv272, vyv271)) 248.95/165.45 new_quot0(Pos(vyv2700), vyv272, vyv271) -> new_primQuotInt(vyv2700, new_gcd(vyv272, vyv271)) 248.95/165.45 new_gcd(vyv272, vyv271) -> new_gcd2(new_esEs(vyv272), vyv272, vyv271) 248.95/165.45 new_primQuotInt(vyv2700, Pos(Succ(vyv28400))) -> Pos(new_primDivNatS1(vyv2700, vyv28400)) 248.95/165.45 new_primQuotInt(vyv2700, Neg(Zero)) -> new_error 248.95/165.45 new_primQuotInt(vyv2700, Pos(Zero)) -> new_error 248.95/165.45 new_primQuotInt(vyv2700, Neg(Succ(vyv28400))) -> Neg(new_primDivNatS1(vyv2700, vyv28400)) 248.95/165.45 new_primDivNatS1(Succ(Zero), Succ(vyv284000)) -> Zero 248.95/165.45 new_primDivNatS1(Succ(Succ(vyv270000)), Succ(vyv284000)) -> new_primDivNatS02(vyv270000, vyv284000, vyv270000, vyv284000) 248.95/165.45 new_primDivNatS1(Zero, vyv28400) -> Zero 248.95/165.45 new_primDivNatS1(Succ(Succ(vyv270000)), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS0(vyv270000), Zero)) 248.95/165.45 new_primDivNatS1(Succ(Zero), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS1, Zero)) 248.95/165.45 new_primMinusNatS1 -> Zero 248.95/165.45 new_primMinusNatS0(vyv270000) -> Succ(vyv270000) 248.95/165.45 new_primDivNatS02(vyv310, vyv311, Zero, Zero) -> new_primDivNatS01(vyv310, vyv311) 248.95/165.45 new_primDivNatS02(vyv310, vyv311, Succ(vyv3120), Zero) -> new_primDivNatS01(vyv310, vyv311) 248.95/165.45 new_primDivNatS02(vyv310, vyv311, Zero, Succ(vyv3130)) -> Zero 248.95/165.45 new_primDivNatS02(vyv310, vyv311, Succ(vyv3120), Succ(vyv3130)) -> new_primDivNatS02(vyv310, vyv311, vyv3120, vyv3130) 248.95/165.45 new_primDivNatS01(vyv310, vyv311) -> Succ(new_primDivNatS1(new_primMinusNatS2(vyv310, vyv311), Succ(vyv311))) 248.95/165.45 new_primMinusNatS2(Zero, Succ(vyv3110)) -> Zero 248.95/165.45 new_primMinusNatS2(Succ(vyv3100), Zero) -> Succ(vyv3100) 248.95/165.45 new_primMinusNatS2(Zero, Zero) -> Zero 248.95/165.45 new_primMinusNatS2(Succ(vyv3100), Succ(vyv3110)) -> new_primMinusNatS2(vyv3100, vyv3110) 248.95/165.45 new_error -> error([]) 248.95/165.45 new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) 248.95/165.45 new_esEs(Pos(Succ(vyv24100))) -> new_primEqInt(Pos(Succ(vyv24100))) 248.95/165.45 new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) 248.95/165.45 new_esEs(Neg(Succ(vyv24100))) -> new_primEqInt(Neg(Succ(vyv24100))) 248.95/165.45 new_gcd2(True, vyv272, vyv271) -> new_gcd1(new_esEs(vyv271), vyv272, vyv271) 248.95/165.45 new_gcd2(False, vyv272, vyv271) -> new_gcd0(vyv272, vyv271) 248.95/165.45 new_gcd0(vyv272, vyv271) -> new_gcd0Gcd'10(new_esEs(new_abs(vyv271)), vyv272, vyv271) 248.95/165.45 new_abs(Neg(Zero)) -> Neg(Zero) 248.95/165.45 new_abs(Neg(Succ(vyv27100))) -> Pos(Succ(vyv27100)) 248.95/165.45 new_abs(Pos(Succ(vyv27100))) -> Pos(Succ(vyv27100)) 248.95/165.45 new_abs(Pos(Zero)) -> Pos(Zero) 248.95/165.45 new_gcd0Gcd'10(True, vyv272, vyv271) -> new_abs(vyv272) 248.95/165.45 new_gcd0Gcd'10(False, vyv272, vyv271) -> new_gcd0Gcd'00(new_abs(vyv272), new_abs(vyv271)) 248.95/165.45 new_gcd0Gcd'11(False, vyv291, vyv292) -> new_gcd0Gcd'00(vyv291, new_rem(vyv292, vyv291)) 248.95/165.45 new_gcd0Gcd'00(vyv292, vyv291) -> new_gcd0Gcd'11(new_esEs(new_rem(vyv292, vyv291)), vyv291, vyv292) 248.95/165.45 new_rem(Pos(vyv2920), Neg(Zero)) -> new_error 248.95/165.45 new_rem(Neg(vyv2920), Pos(Zero)) -> new_error 248.95/165.45 new_rem(Pos(vyv2920), Neg(Succ(vyv29100))) -> Pos(new_primModNatS1(vyv2920, vyv29100)) 248.95/165.45 new_rem(Neg(vyv2920), Pos(Succ(vyv29100))) -> Neg(new_primModNatS1(vyv2920, vyv29100)) 248.95/165.45 new_rem(Pos(vyv2920), Pos(Succ(vyv29100))) -> Pos(new_primModNatS1(vyv2920, vyv29100)) 248.95/165.45 new_rem(Neg(vyv2920), Neg(Zero)) -> new_error 248.95/165.45 new_rem(Neg(vyv2920), Neg(Succ(vyv29100))) -> Neg(new_primModNatS1(vyv2920, vyv29100)) 248.95/165.45 new_rem(Pos(vyv2920), Pos(Zero)) -> new_error 248.95/165.45 new_gcd0Gcd'11(True, vyv291, vyv292) -> vyv291 248.95/165.45 new_primModNatS1(Succ(Zero), Succ(vyv291000)) -> Succ(Zero) 248.95/165.45 new_primModNatS1(Zero, vyv29100) -> Zero 248.95/165.45 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 248.95/165.45 new_primModNatS1(Succ(Succ(vyv292000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv292000), Zero) 248.95/165.45 new_primModNatS1(Succ(Succ(vyv292000)), Succ(vyv291000)) -> new_primModNatS01(vyv292000, vyv291000, vyv292000, vyv291000) 248.95/165.45 new_primModNatS01(vyv330, vyv331, Zero, Zero) -> new_primModNatS02(vyv330, vyv331) 248.95/165.45 new_primModNatS02(vyv330, vyv331) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv330), Succ(vyv331)), Succ(vyv331)) 248.95/165.45 new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Zero) -> new_primModNatS02(vyv330, vyv331) 248.95/165.45 new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Succ(vyv3330)) -> new_primModNatS01(vyv330, vyv331, vyv3320, vyv3330) 248.95/165.45 new_primModNatS01(vyv330, vyv331, Zero, Succ(vyv3330)) -> Succ(Succ(vyv330)) 248.95/165.45 new_gcd1(True, vyv272, vyv271) -> new_error 248.95/165.45 new_gcd1(False, vyv272, vyv271) -> new_gcd0(vyv272, vyv271) 248.95/165.45 new_primEqInt(Neg(Succ(vyv242000))) -> False 248.95/165.45 new_primEqInt(Pos(Zero)) -> True 248.95/165.45 new_primEqInt(Pos(Succ(vyv242000))) -> False 248.95/165.45 new_primEqInt(Neg(Zero)) -> True 248.95/165.45 new_primQuotInt0(vyv2700, Pos(Succ(vyv28700))) -> Neg(new_primDivNatS1(vyv2700, vyv28700)) 248.95/165.45 new_primQuotInt0(vyv2700, Neg(Zero)) -> new_error 248.95/165.45 new_primQuotInt0(vyv2700, Neg(Succ(vyv28700))) -> Pos(new_primDivNatS1(vyv2700, vyv28700)) 248.95/165.45 new_primQuotInt0(vyv2700, Pos(Zero)) -> new_error 248.95/165.45 new_primMulNat0(Succ(vyv23900), Zero) -> Zero 248.95/165.45 new_primMulNat0(Zero, Succ(vyv23800)) -> Zero 248.95/165.45 new_primMulNat0(Zero, Zero) -> Zero 248.95/165.45 new_primMulNat0(Succ(vyv23900), Succ(vyv23800)) -> new_primPlusNat0(new_primMulNat0(vyv23900, Succ(vyv23800)), Succ(vyv23800)) 248.95/165.45 new_primPlusNat0(Succ(vyv4000), Succ(vyv5000)) -> Succ(Succ(new_primPlusNat0(vyv4000, vyv5000))) 248.95/165.45 new_primPlusNat0(Zero, Succ(vyv5000)) -> Succ(vyv5000) 248.95/165.45 new_primPlusNat0(Zero, Zero) -> Zero 248.95/165.45 new_primPlusNat0(Succ(vyv4000), Zero) -> Succ(vyv4000) 248.95/165.45 new_esEs1(Integer(vyv2690)) -> new_primEqInt(vyv2690) 248.95/165.45 new_sr13(vyv239, vyv238) -> error([]) 248.95/165.45 new_sr11(vyv239, vyv238) -> error([]) 248.95/165.45 new_sr1(vyv227, ty_Int) -> new_sr6(vyv227) 248.95/165.45 new_sr1(vyv227, ty_Integer) -> new_sr7(vyv227) 248.95/165.45 new_sr1(vyv227, app(ty_Ratio, be)) -> new_sr5(vyv227, be) 248.95/165.45 new_sr1(vyv227, ty_Float) -> new_sr10(vyv227) 248.95/165.45 new_sr1(vyv227, ty_Double) -> new_sr9(vyv227) 248.95/165.45 new_sr9(vyv183) -> error([]) 248.95/165.45 new_sr10(vyv183) -> error([]) 248.95/165.45 new_sr5(:%(vyv1830, vyv1831), bd) -> new_reduce2Reduce1(vyv1830, vyv1830, vyv1831, vyv1831, new_esEs0(vyv1831, bd), bd) 248.95/165.45 new_esEs0(vyv1831, ty_Int) -> new_esEs(new_sr6(vyv1831)) 248.95/165.45 new_esEs0(vyv1831, ty_Integer) -> new_esEs1(new_sr7(vyv1831)) 248.95/165.45 new_sr7(vyv183) -> error([]) 248.95/165.45 new_sr6(Neg(vyv1830)) -> Pos(new_primMulNat1(vyv1830)) 248.95/165.45 new_sr6(Pos(vyv1830)) -> Pos(new_primMulNat1(vyv1830)) 248.95/165.45 new_primMulNat1(Succ(vyv18300)) -> new_primPlusNat0(new_primMulNat2(vyv18300), Succ(vyv18300)) 248.95/165.45 new_primMulNat1(Zero) -> Zero 248.95/165.45 new_primMulNat2(Succ(vyv183000)) -> new_primPlusNat0(new_primMulNat3(vyv183000), Succ(Succ(vyv183000))) 248.95/165.45 new_primMulNat2(Zero) -> Zero 248.95/165.45 new_primMulNat3(Succ(vyv1830000)) -> new_primPlusNat0(new_primMulNat4(vyv1830000), Succ(Succ(Succ(vyv1830000)))) 248.95/165.45 new_primMulNat3(Zero) -> Zero 248.95/165.45 new_primMulNat4(Succ(vyv18300000)) -> new_primPlusNat0(new_primMulNat0(vyv18300000, Succ(Succ(Succ(Succ(vyv18300000))))), Succ(Succ(Succ(Succ(vyv18300000))))) 248.95/165.45 new_primMulNat4(Zero) -> Zero 248.95/165.45 248.95/165.45 Q is empty. 248.95/165.45 We have to consider all (P,Q,R)-chains. 248.95/165.45 ---------------------------------------- 248.95/165.45 248.95/165.45 (929) InductionCalculusProof (EQUIVALENT) 248.95/165.45 Note that final constraints are written in bold face. 248.95/165.45 248.95/165.45 248.95/165.45 248.95/165.45 For Pair new_pr2F0G1(vyv226, vyv227, vyv228, Succ(Succ(vyv22900)), ba) -> new_pr2F0G1(vyv226, vyv227, vyv228, vyv22900, ba) the following chains were created: 248.95/165.45 *We consider the chain new_pr2F0G1(x0, x1, x2, Succ(Succ(x3)), x4) -> new_pr2F0G1(x0, x1, x2, x3, x4), new_pr2F0G1(x5, x6, x7, Succ(Succ(x8)), x9) -> new_pr2F0G1(x5, x6, x7, x8, x9) which results in the following constraint: 248.95/165.45 248.95/165.45 (1) (new_pr2F0G1(x0, x1, x2, x3, x4)=new_pr2F0G1(x5, x6, x7, Succ(Succ(x8)), x9) ==> new_pr2F0G1(x0, x1, x2, Succ(Succ(x3)), x4)_>=_new_pr2F0G1(x0, x1, x2, x3, x4)) 248.95/165.45 248.95/165.45 248.95/165.45 248.95/165.45 We simplified constraint (1) using rules (I), (II), (III), (IV) which results in the following new constraint: 248.95/165.45 248.95/165.45 (2) (new_pr2F0G1(x0, x1, x2, Succ(Succ(Succ(Succ(x8)))), x4)_>=_new_pr2F0G1(x0, x1, x2, Succ(Succ(x8)), x4)) 248.95/165.45 248.95/165.45 248.95/165.45 248.95/165.45 248.95/165.45 *We consider the chain new_pr2F0G1(x10, x11, x12, Succ(Succ(x13)), x14) -> new_pr2F0G1(x10, x11, x12, x13, x14), new_pr2F0G1(x15, x16, x17, Zero, x18) -> new_pr2F0G(x15, new_sr1(x16, x18), Pos(new_primDivNatS1(Succ(x17), Succ(Zero))), x18) which results in the following constraint: 248.95/165.45 248.95/165.45 (1) (new_pr2F0G1(x10, x11, x12, x13, x14)=new_pr2F0G1(x15, x16, x17, Zero, x18) ==> new_pr2F0G1(x10, x11, x12, Succ(Succ(x13)), x14)_>=_new_pr2F0G1(x10, x11, x12, x13, x14)) 248.95/165.45 248.95/165.45 248.95/165.45 248.95/165.45 We simplified constraint (1) using rules (I), (II), (III), (IV) which results in the following new constraint: 248.95/165.45 248.95/165.45 (2) (new_pr2F0G1(x10, x11, x12, Succ(Succ(Zero)), x14)_>=_new_pr2F0G1(x10, x11, x12, Zero, x14)) 248.95/165.45 248.95/165.45 248.95/165.45 248.95/165.45 248.95/165.45 248.95/165.45 248.95/165.45 248.95/165.45 248.95/165.45 For Pair new_pr2F0G1(vyv226, vyv227, vyv228, Zero, ba) -> new_pr2F0G(vyv226, new_sr1(vyv227, ba), Pos(new_primDivNatS1(Succ(vyv228), Succ(Zero))), ba) the following chains were created: 248.95/165.45 *We consider the chain new_pr2F0G1(x32, x33, x34, Zero, x35) -> new_pr2F0G(x32, new_sr1(x33, x35), Pos(new_primDivNatS1(Succ(x34), Succ(Zero))), x35), new_pr2F0G(x36, x37, Pos(Succ(Succ(x38))), x39) -> new_pr2F0G1(x36, x37, Succ(x38), x38, x39) which results in the following constraint: 248.95/165.45 248.95/165.45 (1) (new_pr2F0G(x32, new_sr1(x33, x35), Pos(new_primDivNatS1(Succ(x34), Succ(Zero))), x35)=new_pr2F0G(x36, x37, Pos(Succ(Succ(x38))), x39) ==> new_pr2F0G1(x32, x33, x34, Zero, x35)_>=_new_pr2F0G(x32, new_sr1(x33, x35), Pos(new_primDivNatS1(Succ(x34), Succ(Zero))), x35)) 248.95/165.45 248.95/165.45 248.95/165.45 248.95/165.45 We simplified constraint (1) using rules (I), (II), (IV), (VII) which results in the following new constraint: 248.95/165.45 248.95/165.45 (2) (Succ(x34)=x61 & Succ(Zero)=x62 & new_primDivNatS1(x61, x62)=Succ(Succ(x38)) ==> new_pr2F0G1(x32, x33, x34, Zero, x35)_>=_new_pr2F0G(x32, new_sr1(x33, x35), Pos(new_primDivNatS1(Succ(x34), Succ(Zero))), x35)) 248.95/165.45 248.95/165.45 248.95/165.45 248.95/165.45 We simplified constraint (2) using rule (V) (with possible (I) afterwards) using induction on new_primDivNatS1(x61, x62)=Succ(Succ(x38)) which results in the following new constraints: 248.95/165.45 248.95/165.45 (3) (new_primDivNatS02(x65, x64, x65, x64)=Succ(Succ(x38)) & Succ(x34)=Succ(Succ(x65)) & Succ(Zero)=Succ(x64) ==> new_pr2F0G1(x32, x33, x34, Zero, x35)_>=_new_pr2F0G(x32, new_sr1(x33, x35), Pos(new_primDivNatS1(Succ(x34), Succ(Zero))), x35)) 248.95/165.45 248.95/165.45 (4) (Succ(new_primDivNatS1(new_primMinusNatS0(x67), Zero))=Succ(Succ(x38)) & Succ(x34)=Succ(Succ(x67)) & Succ(Zero)=Zero ==> new_pr2F0G1(x32, x33, x34, Zero, x35)_>=_new_pr2F0G(x32, new_sr1(x33, x35), Pos(new_primDivNatS1(Succ(x34), Succ(Zero))), x35)) 248.95/165.45 248.95/165.45 (5) (Succ(new_primDivNatS1(new_primMinusNatS1, Zero))=Succ(Succ(x38)) & Succ(x34)=Succ(Zero) & Succ(Zero)=Zero ==> new_pr2F0G1(x32, x33, x34, Zero, x35)_>=_new_pr2F0G(x32, new_sr1(x33, x35), Pos(new_primDivNatS1(Succ(x34), Succ(Zero))), x35)) 248.95/165.45 248.95/165.45 248.95/165.45 248.95/165.45 We simplified constraint (3) using rules (I), (II), (III), (VII) which results in the following new constraint: 248.95/165.45 248.95/165.45 (6) (x65=x68 & x64=x69 & new_primDivNatS02(x65, x64, x68, x69)=Succ(Succ(x38)) & Zero=x64 ==> new_pr2F0G1(x32, x33, Succ(x65), Zero, x35)_>=_new_pr2F0G(x32, new_sr1(x33, x35), Pos(new_primDivNatS1(Succ(Succ(x65)), Succ(Zero))), x35)) 248.95/165.45 248.95/165.45 248.95/165.45 248.95/165.45 We solved constraint (4) using rules (I), (II).We solved constraint (5) using rules (I), (II).We simplified constraint (6) using rule (V) (with possible (I) afterwards) using induction on new_primDivNatS02(x65, x64, x68, x69)=Succ(Succ(x38)) which results in the following new constraints: 248.95/165.45 248.95/165.45 (7) (new_primDivNatS01(x71, x70)=Succ(Succ(x38)) & x71=Zero & x70=Zero & Zero=x70 ==> new_pr2F0G1(x32, x33, Succ(x71), Zero, x35)_>=_new_pr2F0G(x32, new_sr1(x33, x35), Pos(new_primDivNatS1(Succ(Succ(x71)), Succ(Zero))), x35)) 248.95/165.45 248.95/165.45 (8) (new_primDivNatS01(x74, x73)=Succ(Succ(x38)) & x74=Succ(x72) & x73=Zero & Zero=x73 ==> new_pr2F0G1(x32, x33, Succ(x74), Zero, x35)_>=_new_pr2F0G(x32, new_sr1(x33, x35), Pos(new_primDivNatS1(Succ(Succ(x74)), Succ(Zero))), x35)) 248.95/165.45 248.95/165.45 (9) (new_primDivNatS02(x81, x80, x79, x78)=Succ(Succ(x38)) & x81=Succ(x79) & x80=Succ(x78) & Zero=x80 & (\/x82,x83,x84,x85:new_primDivNatS02(x81, x80, x79, x78)=Succ(Succ(x82)) & x81=x79 & x80=x78 & Zero=x80 ==> new_pr2F0G1(x83, x84, Succ(x81), Zero, x85)_>=_new_pr2F0G(x83, new_sr1(x84, x85), Pos(new_primDivNatS1(Succ(Succ(x81)), Succ(Zero))), x85)) ==> new_pr2F0G1(x32, x33, Succ(x81), Zero, x35)_>=_new_pr2F0G(x32, new_sr1(x33, x35), Pos(new_primDivNatS1(Succ(Succ(x81)), Succ(Zero))), x35)) 248.95/165.45 248.95/165.45 248.95/165.45 248.95/165.45 We simplified constraint (7) using rules (I), (II), (III), (IV), (VII) which results in the following new constraint: 248.95/165.45 248.95/165.45 (10) (new_pr2F0G1(x32, x33, Succ(Zero), Zero, x35)_>=_new_pr2F0G(x32, new_sr1(x33, x35), Pos(new_primDivNatS1(Succ(Succ(Zero)), Succ(Zero))), x35)) 248.95/165.45 248.95/165.45 248.95/165.45 248.95/165.45 We simplified constraint (8) using rules (I), (II), (III), (IV), (VII) which results in the following new constraint: 248.95/165.45 248.95/165.45 (11) (new_pr2F0G1(x32, x33, Succ(Succ(x72)), Zero, x35)_>=_new_pr2F0G(x32, new_sr1(x33, x35), Pos(new_primDivNatS1(Succ(Succ(Succ(x72))), Succ(Zero))), x35)) 248.95/165.45 248.95/165.45 248.95/165.45 248.95/165.45 We solved constraint (9) using rules (I), (II), (III). 248.95/165.45 248.95/165.45 248.95/165.45 248.95/165.45 248.95/165.45 For Pair new_pr2F0G(vyv187, vyv183, Pos(Succ(Succ(vyv222000))), h) -> new_pr2F0G1(vyv187, vyv183, Succ(vyv222000), vyv222000, h) the following chains were created: 248.95/165.45 *We consider the chain new_pr2F0G(x40, x41, Pos(Succ(Succ(x42))), x43) -> new_pr2F0G1(x40, x41, Succ(x42), x42, x43), new_pr2F0G1(x44, x45, x46, Succ(Succ(x47)), x48) -> new_pr2F0G1(x44, x45, x46, x47, x48) which results in the following constraint: 248.95/165.45 248.95/165.45 (1) (new_pr2F0G1(x40, x41, Succ(x42), x42, x43)=new_pr2F0G1(x44, x45, x46, Succ(Succ(x47)), x48) ==> new_pr2F0G(x40, x41, Pos(Succ(Succ(x42))), x43)_>=_new_pr2F0G1(x40, x41, Succ(x42), x42, x43)) 248.95/165.45 248.95/165.45 248.95/165.45 248.95/165.45 We simplified constraint (1) using rules (I), (II), (III), (IV) which results in the following new constraint: 248.95/165.45 248.95/165.45 (2) (new_pr2F0G(x40, x41, Pos(Succ(Succ(Succ(Succ(x47))))), x43)_>=_new_pr2F0G1(x40, x41, Succ(Succ(Succ(x47))), Succ(Succ(x47)), x43)) 248.95/165.45 248.95/165.45 248.95/165.45 248.95/165.45 248.95/165.45 *We consider the chain new_pr2F0G(x49, x50, Pos(Succ(Succ(x51))), x52) -> new_pr2F0G1(x49, x50, Succ(x51), x51, x52), new_pr2F0G1(x53, x54, x55, Zero, x56) -> new_pr2F0G(x53, new_sr1(x54, x56), Pos(new_primDivNatS1(Succ(x55), Succ(Zero))), x56) which results in the following constraint: 248.95/165.45 248.95/165.45 (1) (new_pr2F0G1(x49, x50, Succ(x51), x51, x52)=new_pr2F0G1(x53, x54, x55, Zero, x56) ==> new_pr2F0G(x49, x50, Pos(Succ(Succ(x51))), x52)_>=_new_pr2F0G1(x49, x50, Succ(x51), x51, x52)) 248.95/165.45 248.95/165.45 248.95/165.45 248.95/165.45 We simplified constraint (1) using rules (I), (II), (III), (IV) which results in the following new constraint: 248.95/165.45 248.95/165.45 (2) (new_pr2F0G(x49, x50, Pos(Succ(Succ(Zero))), x52)_>=_new_pr2F0G1(x49, x50, Succ(Zero), Zero, x52)) 248.95/165.45 248.95/165.45 248.95/165.45 248.95/165.45 248.95/165.45 248.95/165.45 248.95/165.45 248.95/165.45 248.95/165.45 To summarize, we get the following constraints P__>=_ for the following pairs. 248.95/165.45 248.95/165.45 *new_pr2F0G1(vyv226, vyv227, vyv228, Succ(Succ(vyv22900)), ba) -> new_pr2F0G1(vyv226, vyv227, vyv228, vyv22900, ba) 248.95/165.45 248.95/165.45 *(new_pr2F0G1(x0, x1, x2, Succ(Succ(Succ(Succ(x8)))), x4)_>=_new_pr2F0G1(x0, x1, x2, Succ(Succ(x8)), x4)) 248.95/165.45 248.95/165.45 248.95/165.45 *(new_pr2F0G1(x10, x11, x12, Succ(Succ(Zero)), x14)_>=_new_pr2F0G1(x10, x11, x12, Zero, x14)) 248.95/165.45 248.95/165.45 248.95/165.45 248.95/165.45 248.95/165.45 *new_pr2F0G1(vyv226, vyv227, vyv228, Zero, ba) -> new_pr2F0G(vyv226, new_sr1(vyv227, ba), Pos(new_primDivNatS1(Succ(vyv228), Succ(Zero))), ba) 248.95/165.45 248.95/165.45 *(new_pr2F0G1(x32, x33, Succ(Zero), Zero, x35)_>=_new_pr2F0G(x32, new_sr1(x33, x35), Pos(new_primDivNatS1(Succ(Succ(Zero)), Succ(Zero))), x35)) 248.95/165.45 248.95/165.45 248.95/165.45 *(new_pr2F0G1(x32, x33, Succ(Succ(x72)), Zero, x35)_>=_new_pr2F0G(x32, new_sr1(x33, x35), Pos(new_primDivNatS1(Succ(Succ(Succ(x72))), Succ(Zero))), x35)) 248.95/165.45 248.95/165.45 248.95/165.45 248.95/165.45 248.95/165.45 *new_pr2F0G(vyv187, vyv183, Pos(Succ(Succ(vyv222000))), h) -> new_pr2F0G1(vyv187, vyv183, Succ(vyv222000), vyv222000, h) 248.95/165.45 248.95/165.45 *(new_pr2F0G(x40, x41, Pos(Succ(Succ(Succ(Succ(x47))))), x43)_>=_new_pr2F0G1(x40, x41, Succ(Succ(Succ(x47))), Succ(Succ(x47)), x43)) 248.95/165.45 248.95/165.45 248.95/165.45 *(new_pr2F0G(x49, x50, Pos(Succ(Succ(Zero))), x52)_>=_new_pr2F0G1(x49, x50, Succ(Zero), Zero, x52)) 248.95/165.45 248.95/165.45 248.95/165.45 248.95/165.45 248.95/165.45 248.95/165.45 248.95/165.45 248.95/165.45 248.95/165.45 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. 248.95/165.45 ---------------------------------------- 248.95/165.45 248.95/165.45 (930) 248.95/165.45 Obligation: 248.95/165.45 Q DP problem: 248.95/165.45 The TRS P consists of the following rules: 248.95/165.45 248.95/165.45 new_pr2F0G1(vyv226, vyv227, vyv228, Succ(Succ(vyv22900)), ba) -> new_pr2F0G1(vyv226, vyv227, vyv228, vyv22900, ba) 248.95/165.45 new_pr2F0G1(vyv226, vyv227, vyv228, Zero, ba) -> new_pr2F0G(vyv226, new_sr1(vyv227, ba), Pos(new_primDivNatS1(Succ(vyv228), Succ(Zero))), ba) 248.95/165.45 new_pr2F0G(vyv187, vyv183, Pos(Succ(Succ(vyv222000))), h) -> new_pr2F0G1(vyv187, vyv183, Succ(vyv222000), vyv222000, h) 248.95/165.45 248.95/165.45 The TRS R consists of the following rules: 248.95/165.45 248.95/165.45 new_sr2(vyv227, vyv226, ty_Int) -> new_sr14(vyv227, vyv226) 248.95/165.45 new_sr2(vyv227, vyv226, ty_Double) -> new_sr11(vyv227, vyv226) 248.95/165.45 new_sr2(vyv227, vyv226, ty_Integer) -> new_sr8(vyv227, vyv226) 248.95/165.45 new_sr2(vyv227, vyv226, ty_Float) -> new_sr13(vyv227, vyv226) 248.95/165.45 new_sr2(vyv227, vyv226, app(ty_Ratio, be)) -> new_sr12(vyv227, vyv226, be) 248.95/165.45 new_sr12(:%(vyv2390, vyv2391), :%(vyv2380, vyv2381), bf) -> new_reduce2Reduce1(vyv2390, vyv2380, vyv2391, vyv2381, new_esEs2(vyv2391, vyv2381, bf), bf) 248.95/165.45 new_esEs2(vyv2391, vyv2381, ty_Int) -> new_esEs(new_sr14(vyv2391, vyv2381)) 248.95/165.45 new_esEs2(vyv2391, vyv2381, ty_Integer) -> new_esEs1(new_sr8(vyv2391, vyv2381)) 248.95/165.45 new_reduce2Reduce1(vyv264, vyv265, vyv266, vyv267, False, bh) -> :%(new_quot1(vyv264, vyv265, vyv266, vyv267, bh), new_quot2(vyv266, vyv267, vyv264, vyv265, bh)) 248.95/165.45 new_reduce2Reduce1(vyv264, vyv265, vyv266, vyv267, True, bh) -> error([]) 248.95/165.45 new_quot1(vyv264, vyv265, vyv266, vyv267, ty_Int) -> new_quot0(new_sr14(vyv264, vyv265), new_sr14(vyv264, vyv265), new_sr14(vyv266, vyv267)) 248.95/165.45 new_quot1(vyv264, vyv265, vyv266, vyv267, ty_Integer) -> new_quot(new_sr8(vyv264, vyv265), new_sr8(vyv264, vyv265), new_sr8(vyv266, vyv267)) 248.95/165.45 new_quot2(vyv266, vyv267, vyv264, vyv265, ty_Int) -> new_quot0(new_sr14(vyv266, vyv267), new_sr14(vyv264, vyv265), new_sr14(vyv266, vyv267)) 248.95/165.45 new_quot2(vyv266, vyv267, vyv264, vyv265, ty_Integer) -> new_quot(new_sr8(vyv266, vyv267), new_sr8(vyv264, vyv265), new_sr8(vyv266, vyv267)) 248.95/165.45 new_sr8(vyv239, vyv238) -> error([]) 248.95/165.45 new_quot(vyv273, vyv275, vyv274) -> error([]) 248.95/165.45 new_sr14(Pos(vyv2390), Neg(vyv2380)) -> Neg(new_primMulNat0(vyv2390, vyv2380)) 248.95/165.45 new_sr14(Neg(vyv2390), Pos(vyv2380)) -> Neg(new_primMulNat0(vyv2390, vyv2380)) 248.95/165.45 new_sr14(Neg(vyv2390), Neg(vyv2380)) -> Pos(new_primMulNat0(vyv2390, vyv2380)) 248.95/165.45 new_sr14(Pos(vyv2390), Pos(vyv2380)) -> Pos(new_primMulNat0(vyv2390, vyv2380)) 248.95/165.45 new_quot0(Neg(vyv2700), vyv272, vyv271) -> new_primQuotInt0(vyv2700, new_gcd(vyv272, vyv271)) 248.95/165.45 new_quot0(Pos(vyv2700), vyv272, vyv271) -> new_primQuotInt(vyv2700, new_gcd(vyv272, vyv271)) 248.95/165.45 new_gcd(vyv272, vyv271) -> new_gcd2(new_esEs(vyv272), vyv272, vyv271) 248.95/165.45 new_primQuotInt(vyv2700, Pos(Succ(vyv28400))) -> Pos(new_primDivNatS1(vyv2700, vyv28400)) 248.95/165.45 new_primQuotInt(vyv2700, Neg(Zero)) -> new_error 248.95/165.45 new_primQuotInt(vyv2700, Pos(Zero)) -> new_error 248.95/165.45 new_primQuotInt(vyv2700, Neg(Succ(vyv28400))) -> Neg(new_primDivNatS1(vyv2700, vyv28400)) 248.95/165.45 new_primDivNatS1(Succ(Zero), Succ(vyv284000)) -> Zero 248.95/165.45 new_primDivNatS1(Succ(Succ(vyv270000)), Succ(vyv284000)) -> new_primDivNatS02(vyv270000, vyv284000, vyv270000, vyv284000) 248.95/165.45 new_primDivNatS1(Zero, vyv28400) -> Zero 248.95/165.45 new_primDivNatS1(Succ(Succ(vyv270000)), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS0(vyv270000), Zero)) 248.95/165.45 new_primDivNatS1(Succ(Zero), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS1, Zero)) 248.95/165.45 new_primMinusNatS1 -> Zero 248.95/165.45 new_primMinusNatS0(vyv270000) -> Succ(vyv270000) 248.95/165.45 new_primDivNatS02(vyv310, vyv311, Zero, Zero) -> new_primDivNatS01(vyv310, vyv311) 248.95/165.45 new_primDivNatS02(vyv310, vyv311, Succ(vyv3120), Zero) -> new_primDivNatS01(vyv310, vyv311) 248.95/165.45 new_primDivNatS02(vyv310, vyv311, Zero, Succ(vyv3130)) -> Zero 248.95/165.45 new_primDivNatS02(vyv310, vyv311, Succ(vyv3120), Succ(vyv3130)) -> new_primDivNatS02(vyv310, vyv311, vyv3120, vyv3130) 248.95/165.45 new_primDivNatS01(vyv310, vyv311) -> Succ(new_primDivNatS1(new_primMinusNatS2(vyv310, vyv311), Succ(vyv311))) 248.95/165.45 new_primMinusNatS2(Zero, Succ(vyv3110)) -> Zero 248.95/165.45 new_primMinusNatS2(Succ(vyv3100), Zero) -> Succ(vyv3100) 248.95/165.45 new_primMinusNatS2(Zero, Zero) -> Zero 248.95/165.45 new_primMinusNatS2(Succ(vyv3100), Succ(vyv3110)) -> new_primMinusNatS2(vyv3100, vyv3110) 248.95/165.45 new_error -> error([]) 248.95/165.45 new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) 248.95/165.45 new_esEs(Pos(Succ(vyv24100))) -> new_primEqInt(Pos(Succ(vyv24100))) 248.95/165.45 new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) 248.95/165.45 new_esEs(Neg(Succ(vyv24100))) -> new_primEqInt(Neg(Succ(vyv24100))) 248.95/165.45 new_gcd2(True, vyv272, vyv271) -> new_gcd1(new_esEs(vyv271), vyv272, vyv271) 248.95/165.45 new_gcd2(False, vyv272, vyv271) -> new_gcd0(vyv272, vyv271) 248.95/165.45 new_gcd0(vyv272, vyv271) -> new_gcd0Gcd'10(new_esEs(new_abs(vyv271)), vyv272, vyv271) 248.95/165.45 new_abs(Neg(Zero)) -> Neg(Zero) 248.95/165.45 new_abs(Neg(Succ(vyv27100))) -> Pos(Succ(vyv27100)) 248.95/165.45 new_abs(Pos(Succ(vyv27100))) -> Pos(Succ(vyv27100)) 248.95/165.45 new_abs(Pos(Zero)) -> Pos(Zero) 248.95/165.45 new_gcd0Gcd'10(True, vyv272, vyv271) -> new_abs(vyv272) 248.95/165.45 new_gcd0Gcd'10(False, vyv272, vyv271) -> new_gcd0Gcd'00(new_abs(vyv272), new_abs(vyv271)) 248.95/165.45 new_gcd0Gcd'11(False, vyv291, vyv292) -> new_gcd0Gcd'00(vyv291, new_rem(vyv292, vyv291)) 248.95/165.45 new_gcd0Gcd'00(vyv292, vyv291) -> new_gcd0Gcd'11(new_esEs(new_rem(vyv292, vyv291)), vyv291, vyv292) 248.95/165.45 new_rem(Pos(vyv2920), Neg(Zero)) -> new_error 248.95/165.45 new_rem(Neg(vyv2920), Pos(Zero)) -> new_error 248.95/165.45 new_rem(Pos(vyv2920), Neg(Succ(vyv29100))) -> Pos(new_primModNatS1(vyv2920, vyv29100)) 248.95/165.45 new_rem(Neg(vyv2920), Pos(Succ(vyv29100))) -> Neg(new_primModNatS1(vyv2920, vyv29100)) 248.95/165.45 new_rem(Pos(vyv2920), Pos(Succ(vyv29100))) -> Pos(new_primModNatS1(vyv2920, vyv29100)) 248.95/165.45 new_rem(Neg(vyv2920), Neg(Zero)) -> new_error 248.95/165.45 new_rem(Neg(vyv2920), Neg(Succ(vyv29100))) -> Neg(new_primModNatS1(vyv2920, vyv29100)) 248.95/165.45 new_rem(Pos(vyv2920), Pos(Zero)) -> new_error 248.95/165.45 new_gcd0Gcd'11(True, vyv291, vyv292) -> vyv291 248.95/165.45 new_primModNatS1(Succ(Zero), Succ(vyv291000)) -> Succ(Zero) 248.95/165.45 new_primModNatS1(Zero, vyv29100) -> Zero 248.95/165.45 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 248.95/165.45 new_primModNatS1(Succ(Succ(vyv292000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv292000), Zero) 248.95/165.45 new_primModNatS1(Succ(Succ(vyv292000)), Succ(vyv291000)) -> new_primModNatS01(vyv292000, vyv291000, vyv292000, vyv291000) 248.95/165.45 new_primModNatS01(vyv330, vyv331, Zero, Zero) -> new_primModNatS02(vyv330, vyv331) 248.95/165.45 new_primModNatS02(vyv330, vyv331) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv330), Succ(vyv331)), Succ(vyv331)) 248.95/165.45 new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Zero) -> new_primModNatS02(vyv330, vyv331) 248.95/165.45 new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Succ(vyv3330)) -> new_primModNatS01(vyv330, vyv331, vyv3320, vyv3330) 248.95/165.45 new_primModNatS01(vyv330, vyv331, Zero, Succ(vyv3330)) -> Succ(Succ(vyv330)) 248.95/165.45 new_gcd1(True, vyv272, vyv271) -> new_error 248.95/165.45 new_gcd1(False, vyv272, vyv271) -> new_gcd0(vyv272, vyv271) 248.95/165.45 new_primEqInt(Neg(Succ(vyv242000))) -> False 248.95/165.45 new_primEqInt(Pos(Zero)) -> True 248.95/165.45 new_primEqInt(Pos(Succ(vyv242000))) -> False 248.95/165.45 new_primEqInt(Neg(Zero)) -> True 248.95/165.45 new_primQuotInt0(vyv2700, Pos(Succ(vyv28700))) -> Neg(new_primDivNatS1(vyv2700, vyv28700)) 248.95/165.45 new_primQuotInt0(vyv2700, Neg(Zero)) -> new_error 248.95/165.45 new_primQuotInt0(vyv2700, Neg(Succ(vyv28700))) -> Pos(new_primDivNatS1(vyv2700, vyv28700)) 248.95/165.45 new_primQuotInt0(vyv2700, Pos(Zero)) -> new_error 248.95/165.45 new_primMulNat0(Succ(vyv23900), Zero) -> Zero 248.95/165.45 new_primMulNat0(Zero, Succ(vyv23800)) -> Zero 248.95/165.45 new_primMulNat0(Zero, Zero) -> Zero 248.95/165.45 new_primMulNat0(Succ(vyv23900), Succ(vyv23800)) -> new_primPlusNat0(new_primMulNat0(vyv23900, Succ(vyv23800)), Succ(vyv23800)) 248.95/165.45 new_primPlusNat0(Succ(vyv4000), Succ(vyv5000)) -> Succ(Succ(new_primPlusNat0(vyv4000, vyv5000))) 248.95/165.45 new_primPlusNat0(Zero, Succ(vyv5000)) -> Succ(vyv5000) 248.95/165.45 new_primPlusNat0(Zero, Zero) -> Zero 248.95/165.45 new_primPlusNat0(Succ(vyv4000), Zero) -> Succ(vyv4000) 248.95/165.45 new_esEs1(Integer(vyv2690)) -> new_primEqInt(vyv2690) 248.95/165.45 new_sr13(vyv239, vyv238) -> error([]) 248.95/165.45 new_sr11(vyv239, vyv238) -> error([]) 248.95/165.45 new_sr1(vyv227, ty_Int) -> new_sr6(vyv227) 248.95/165.45 new_sr1(vyv227, ty_Integer) -> new_sr7(vyv227) 248.95/165.45 new_sr1(vyv227, app(ty_Ratio, be)) -> new_sr5(vyv227, be) 248.95/165.45 new_sr1(vyv227, ty_Float) -> new_sr10(vyv227) 248.95/165.45 new_sr1(vyv227, ty_Double) -> new_sr9(vyv227) 248.95/165.45 new_sr9(vyv183) -> error([]) 248.95/165.45 new_sr10(vyv183) -> error([]) 248.95/165.45 new_sr5(:%(vyv1830, vyv1831), bd) -> new_reduce2Reduce1(vyv1830, vyv1830, vyv1831, vyv1831, new_esEs0(vyv1831, bd), bd) 248.95/165.45 new_esEs0(vyv1831, ty_Int) -> new_esEs(new_sr6(vyv1831)) 248.95/165.45 new_esEs0(vyv1831, ty_Integer) -> new_esEs1(new_sr7(vyv1831)) 248.95/165.45 new_sr7(vyv183) -> error([]) 248.95/165.45 new_sr6(Neg(vyv1830)) -> Pos(new_primMulNat1(vyv1830)) 248.95/165.45 new_sr6(Pos(vyv1830)) -> Pos(new_primMulNat1(vyv1830)) 248.95/165.45 new_primMulNat1(Succ(vyv18300)) -> new_primPlusNat0(new_primMulNat2(vyv18300), Succ(vyv18300)) 248.95/165.45 new_primMulNat1(Zero) -> Zero 248.95/165.45 new_primMulNat2(Succ(vyv183000)) -> new_primPlusNat0(new_primMulNat3(vyv183000), Succ(Succ(vyv183000))) 248.95/165.45 new_primMulNat2(Zero) -> Zero 248.95/165.45 new_primMulNat3(Succ(vyv1830000)) -> new_primPlusNat0(new_primMulNat4(vyv1830000), Succ(Succ(Succ(vyv1830000)))) 248.95/165.45 new_primMulNat3(Zero) -> Zero 248.95/165.45 new_primMulNat4(Succ(vyv18300000)) -> new_primPlusNat0(new_primMulNat0(vyv18300000, Succ(Succ(Succ(Succ(vyv18300000))))), Succ(Succ(Succ(Succ(vyv18300000))))) 248.95/165.45 new_primMulNat4(Zero) -> Zero 248.95/165.45 248.95/165.45 The set Q consists of the following terms: 248.95/165.45 248.95/165.45 new_rem(Pos(x0), Pos(Succ(x1))) 248.95/165.45 new_quot1(x0, x1, x2, x3, ty_Integer) 248.95/165.45 new_primModNatS1(Succ(Zero), Succ(x0)) 248.95/165.45 new_primMulNat4(Zero) 248.95/165.45 new_gcd1(False, x0, x1) 248.95/165.45 new_primEqInt(Pos(Zero)) 248.95/165.45 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 248.95/165.45 new_rem(Pos(x0), Neg(Succ(x1))) 248.95/165.45 new_rem(Neg(x0), Pos(Succ(x1))) 248.95/165.45 new_sr10(x0) 248.95/165.45 new_quot1(x0, x1, x2, x3, ty_Int) 248.95/165.45 new_quot2(x0, x1, x2, x3, ty_Integer) 248.95/165.45 new_primModNatS01(x0, x1, Succ(x2), Zero) 248.95/165.45 new_primMulNat3(Zero) 248.95/165.45 new_primDivNatS02(x0, x1, Succ(x2), Zero) 248.95/165.45 new_quot2(x0, x1, x2, x3, ty_Int) 248.95/165.45 new_gcd2(False, x0, x1) 248.95/165.45 new_primDivNatS1(Succ(Zero), Zero) 248.95/165.45 new_esEs0(x0, ty_Int) 248.95/165.45 new_sr14(Pos(x0), Pos(x1)) 248.95/165.45 new_primMulNat0(Zero, Zero) 248.95/165.45 new_primPlusNat0(Succ(x0), Zero) 248.95/165.45 new_primMulNat2(Zero) 248.95/165.45 new_sr11(x0, x1) 248.95/165.45 new_primModNatS01(x0, x1, Zero, Zero) 248.95/165.45 new_esEs2(x0, x1, ty_Int) 248.95/165.45 new_gcd1(True, x0, x1) 248.95/165.45 new_sr13(x0, x1) 248.95/165.45 new_sr14(Pos(x0), Neg(x1)) 248.95/165.45 new_sr14(Neg(x0), Pos(x1)) 248.95/165.45 new_primDivNatS1(Succ(Succ(x0)), Succ(x1)) 248.95/165.45 new_sr1(x0, ty_Int) 248.95/165.45 new_primModNatS1(Zero, x0) 248.95/165.45 new_esEs(Pos(Succ(x0))) 248.95/165.45 new_primMulNat3(Succ(x0)) 248.95/165.45 new_sr1(x0, app(ty_Ratio, x1)) 248.95/165.45 new_primQuotInt(x0, Neg(Succ(x1))) 248.95/165.45 new_reduce2Reduce1(x0, x1, x2, x3, False, x4) 248.95/165.45 new_primDivNatS1(Zero, x0) 248.95/165.45 new_primDivNatS02(x0, x1, Succ(x2), Succ(x3)) 248.95/165.45 new_primModNatS02(x0, x1) 248.95/165.45 new_primDivNatS1(Succ(Zero), Succ(x0)) 248.95/165.45 new_sr6(Neg(x0)) 248.95/165.45 new_gcd0Gcd'10(True, x0, x1) 248.95/165.45 new_primMulNat0(Succ(x0), Succ(x1)) 248.95/165.45 new_abs(Neg(Zero)) 248.95/165.45 new_rem(Pos(x0), Neg(Zero)) 248.95/165.45 new_rem(Neg(x0), Pos(Zero)) 248.95/165.45 new_primMinusNatS2(Zero, Succ(x0)) 248.95/165.45 new_esEs(Neg(Succ(x0))) 248.95/165.45 new_error 248.95/165.45 new_primModNatS1(Succ(Zero), Zero) 248.95/165.45 new_primMulNat0(Zero, Succ(x0)) 248.95/165.45 new_quot(x0, x1, x2) 248.95/165.45 new_gcd2(True, x0, x1) 248.95/165.45 new_gcd0Gcd'11(True, x0, x1) 248.95/165.45 new_primEqInt(Neg(Zero)) 248.95/165.45 new_sr2(x0, x1, ty_Double) 248.95/165.45 new_primMulNat0(Succ(x0), Zero) 248.95/165.45 new_quot0(Neg(x0), x1, x2) 248.95/165.45 new_primMinusNatS2(Succ(x0), Succ(x1)) 248.95/165.45 new_sr8(x0, x1) 248.95/165.45 new_primDivNatS01(x0, x1) 248.95/165.45 new_primDivNatS02(x0, x1, Zero, Succ(x2)) 248.95/165.45 new_primPlusNat0(Succ(x0), Succ(x1)) 248.95/165.45 new_sr1(x0, ty_Integer) 248.95/165.45 new_primPlusNat0(Zero, Zero) 248.95/165.45 new_sr1(x0, ty_Float) 248.95/165.45 new_sr12(:%(x0, x1), :%(x2, x3), x4) 248.95/165.45 new_abs(Neg(Succ(x0))) 248.95/165.45 new_sr1(x0, ty_Double) 248.95/165.45 new_sr7(x0) 248.95/165.45 new_gcd0(x0, x1) 248.95/165.45 new_primQuotInt0(x0, Pos(Succ(x1))) 248.95/165.45 new_sr5(:%(x0, x1), x2) 248.95/165.45 new_primMinusNatS2(Zero, Zero) 248.95/165.45 new_primMulNat1(Succ(x0)) 248.95/165.45 new_abs(Pos(Succ(x0))) 248.95/165.45 new_esEs(Pos(Zero)) 248.95/165.45 new_primQuotInt0(x0, Pos(Zero)) 248.95/165.45 new_primEqInt(Neg(Succ(x0))) 248.95/165.45 new_primQuotInt(x0, Neg(Zero)) 248.95/165.45 new_primQuotInt0(x0, Neg(Zero)) 248.95/165.45 new_primQuotInt0(x0, Neg(Succ(x1))) 248.95/165.45 new_gcd(x0, x1) 248.95/165.45 new_quot0(Pos(x0), x1, x2) 248.95/165.45 new_primMinusNatS0(x0) 248.95/165.45 new_primPlusNat0(Zero, Succ(x0)) 248.95/165.45 new_sr2(x0, x1, app(ty_Ratio, x2)) 248.95/165.45 new_sr2(x0, x1, ty_Int) 248.95/165.45 new_primQuotInt(x0, Pos(Succ(x1))) 248.95/165.45 new_primDivNatS1(Succ(Succ(x0)), Zero) 248.95/165.45 new_rem(Pos(x0), Pos(Zero)) 248.95/165.45 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 248.95/165.45 new_primDivNatS02(x0, x1, Zero, Zero) 248.95/165.45 new_abs(Pos(Zero)) 248.95/165.45 new_gcd0Gcd'10(False, x0, x1) 248.95/165.45 new_primMinusNatS1 248.95/165.45 new_esEs1(Integer(x0)) 248.95/165.45 new_sr2(x0, x1, ty_Integer) 248.95/165.45 new_primModNatS01(x0, x1, Zero, Succ(x2)) 248.95/165.45 new_primMulNat2(Succ(x0)) 248.95/165.45 new_sr14(Neg(x0), Neg(x1)) 248.95/165.45 new_sr2(x0, x1, ty_Float) 248.95/165.45 new_primMinusNatS2(Succ(x0), Zero) 248.95/165.45 new_sr6(Pos(x0)) 248.95/165.45 new_esEs2(x0, x1, ty_Integer) 248.95/165.45 new_primMulNat4(Succ(x0)) 248.95/165.45 new_rem(Neg(x0), Neg(Succ(x1))) 248.95/165.45 new_primEqInt(Pos(Succ(x0))) 248.95/165.45 new_primQuotInt(x0, Pos(Zero)) 248.95/165.45 new_gcd0Gcd'11(False, x0, x1) 248.95/165.45 new_sr9(x0) 248.95/165.45 new_primModNatS1(Succ(Succ(x0)), Zero) 248.95/165.45 new_esEs0(x0, ty_Integer) 248.95/165.45 new_gcd0Gcd'00(x0, x1) 248.95/165.45 new_reduce2Reduce1(x0, x1, x2, x3, True, x4) 248.95/165.45 new_esEs(Neg(Zero)) 248.95/165.45 new_primMulNat1(Zero) 248.95/165.45 new_rem(Neg(x0), Neg(Zero)) 248.95/165.45 248.95/165.45 We have to consider all minimal (P,Q,R)-chains. 248.95/165.45 ---------------------------------------- 248.95/165.45 248.95/165.45 (931) QDPPairToRuleProof (EQUIVALENT) 248.95/165.45 The dependency pair new_pr2F0G1(vyv226, vyv227, vyv228, Succ(Succ(vyv22900)), ba) -> new_pr2F0G1(vyv226, vyv227, vyv228, vyv22900, ba) was transformed to the following new rules: 248.95/165.45 anew_new_pr2F0G1(Succ(Succ(vyv22900))) -> new_new_pr2F0G1(vyv22900) 248.95/165.45 new_new_pr2F0G1(Succ(Succ(vyv22900))) -> new_new_pr2F0G1(vyv22900) 248.95/165.45 new_new_pr2F0G1(Zero) -> cons_new_pr2F0G1(Zero) 248.95/165.45 248.95/165.45 the following new pairs maintain the fan-in: 248.95/165.45 new_pr2F0G(vyv187, vyv183, Pos(Succ(Succ(vyv222000))), h) -> H(vyv187, vyv183, Succ(vyv222000), h, anew_new_pr2F0G1(vyv222000)) 248.95/165.45 248.95/165.45 the following new pairs maintain the fan-out: 248.95/165.45 H(vyv226, vyv227, vyv228, ba, cons_new_pr2F0G1(Zero)) -> new_pr2F0G1(vyv226, vyv227, vyv228, Zero, ba) 248.95/165.45 248.95/165.45 ---------------------------------------- 248.95/165.45 248.95/165.45 (932) 248.95/165.45 Complex Obligation (AND) 248.95/165.45 248.95/165.45 ---------------------------------------- 248.95/165.45 248.95/165.45 (933) 248.95/165.45 Obligation: 248.95/165.45 Q DP problem: 248.95/165.45 The TRS P consists of the following rules: 248.95/165.45 248.95/165.45 new_pr2F0G1(vyv226, vyv227, vyv228, Zero, ba) -> new_pr2F0G(vyv226, new_sr1(vyv227, ba), Pos(new_primDivNatS1(Succ(vyv228), Succ(Zero))), ba) 248.95/165.45 new_pr2F0G(vyv187, vyv183, Pos(Succ(Succ(vyv222000))), h) -> new_pr2F0G1(vyv187, vyv183, Succ(vyv222000), vyv222000, h) 248.95/165.45 new_pr2F0G(vyv187, vyv183, Pos(Succ(Succ(vyv222000))), h) -> H(vyv187, vyv183, Succ(vyv222000), h, anew_new_pr2F0G1(vyv222000)) 248.95/165.45 H(vyv226, vyv227, vyv228, ba, cons_new_pr2F0G1(Zero)) -> new_pr2F0G1(vyv226, vyv227, vyv228, Zero, ba) 248.95/165.45 248.95/165.45 The TRS R consists of the following rules: 248.95/165.45 248.95/165.45 new_sr2(vyv227, vyv226, ty_Int) -> new_sr14(vyv227, vyv226) 248.95/165.45 new_sr2(vyv227, vyv226, ty_Double) -> new_sr11(vyv227, vyv226) 248.95/165.45 new_sr2(vyv227, vyv226, ty_Integer) -> new_sr8(vyv227, vyv226) 248.95/165.45 new_sr2(vyv227, vyv226, ty_Float) -> new_sr13(vyv227, vyv226) 248.95/165.45 new_sr2(vyv227, vyv226, app(ty_Ratio, be)) -> new_sr12(vyv227, vyv226, be) 248.95/165.45 new_sr12(:%(vyv2390, vyv2391), :%(vyv2380, vyv2381), bf) -> new_reduce2Reduce1(vyv2390, vyv2380, vyv2391, vyv2381, new_esEs2(vyv2391, vyv2381, bf), bf) 248.95/165.45 new_esEs2(vyv2391, vyv2381, ty_Int) -> new_esEs(new_sr14(vyv2391, vyv2381)) 248.95/165.45 new_esEs2(vyv2391, vyv2381, ty_Integer) -> new_esEs1(new_sr8(vyv2391, vyv2381)) 248.95/165.45 new_reduce2Reduce1(vyv264, vyv265, vyv266, vyv267, False, bh) -> :%(new_quot1(vyv264, vyv265, vyv266, vyv267, bh), new_quot2(vyv266, vyv267, vyv264, vyv265, bh)) 248.95/165.45 new_reduce2Reduce1(vyv264, vyv265, vyv266, vyv267, True, bh) -> error([]) 248.95/165.45 new_quot1(vyv264, vyv265, vyv266, vyv267, ty_Int) -> new_quot0(new_sr14(vyv264, vyv265), new_sr14(vyv264, vyv265), new_sr14(vyv266, vyv267)) 248.95/165.45 new_quot1(vyv264, vyv265, vyv266, vyv267, ty_Integer) -> new_quot(new_sr8(vyv264, vyv265), new_sr8(vyv264, vyv265), new_sr8(vyv266, vyv267)) 248.95/165.45 new_quot2(vyv266, vyv267, vyv264, vyv265, ty_Int) -> new_quot0(new_sr14(vyv266, vyv267), new_sr14(vyv264, vyv265), new_sr14(vyv266, vyv267)) 248.95/165.45 new_quot2(vyv266, vyv267, vyv264, vyv265, ty_Integer) -> new_quot(new_sr8(vyv266, vyv267), new_sr8(vyv264, vyv265), new_sr8(vyv266, vyv267)) 248.95/165.45 new_sr8(vyv239, vyv238) -> error([]) 248.95/165.45 new_quot(vyv273, vyv275, vyv274) -> error([]) 248.95/165.45 new_sr14(Pos(vyv2390), Neg(vyv2380)) -> Neg(new_primMulNat0(vyv2390, vyv2380)) 248.95/165.45 new_sr14(Neg(vyv2390), Pos(vyv2380)) -> Neg(new_primMulNat0(vyv2390, vyv2380)) 248.95/165.45 new_sr14(Neg(vyv2390), Neg(vyv2380)) -> Pos(new_primMulNat0(vyv2390, vyv2380)) 248.95/165.45 new_sr14(Pos(vyv2390), Pos(vyv2380)) -> Pos(new_primMulNat0(vyv2390, vyv2380)) 248.95/165.45 new_quot0(Neg(vyv2700), vyv272, vyv271) -> new_primQuotInt0(vyv2700, new_gcd(vyv272, vyv271)) 248.95/165.45 new_quot0(Pos(vyv2700), vyv272, vyv271) -> new_primQuotInt(vyv2700, new_gcd(vyv272, vyv271)) 248.95/165.45 new_gcd(vyv272, vyv271) -> new_gcd2(new_esEs(vyv272), vyv272, vyv271) 248.95/165.45 new_primQuotInt(vyv2700, Pos(Succ(vyv28400))) -> Pos(new_primDivNatS1(vyv2700, vyv28400)) 248.95/165.45 new_primQuotInt(vyv2700, Neg(Zero)) -> new_error 248.95/165.45 new_primQuotInt(vyv2700, Pos(Zero)) -> new_error 248.95/165.45 new_primQuotInt(vyv2700, Neg(Succ(vyv28400))) -> Neg(new_primDivNatS1(vyv2700, vyv28400)) 248.95/165.45 new_primDivNatS1(Succ(Zero), Succ(vyv284000)) -> Zero 248.95/165.45 new_primDivNatS1(Succ(Succ(vyv270000)), Succ(vyv284000)) -> new_primDivNatS02(vyv270000, vyv284000, vyv270000, vyv284000) 248.95/165.45 new_primDivNatS1(Zero, vyv28400) -> Zero 248.95/165.45 new_primDivNatS1(Succ(Succ(vyv270000)), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS0(vyv270000), Zero)) 248.95/165.45 new_primDivNatS1(Succ(Zero), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS1, Zero)) 248.95/165.45 new_primMinusNatS1 -> Zero 248.95/165.45 new_primMinusNatS0(vyv270000) -> Succ(vyv270000) 248.95/165.45 new_primDivNatS02(vyv310, vyv311, Zero, Zero) -> new_primDivNatS01(vyv310, vyv311) 248.95/165.45 new_primDivNatS02(vyv310, vyv311, Succ(vyv3120), Zero) -> new_primDivNatS01(vyv310, vyv311) 248.95/165.45 new_primDivNatS02(vyv310, vyv311, Zero, Succ(vyv3130)) -> Zero 248.95/165.45 new_primDivNatS02(vyv310, vyv311, Succ(vyv3120), Succ(vyv3130)) -> new_primDivNatS02(vyv310, vyv311, vyv3120, vyv3130) 248.95/165.45 new_primDivNatS01(vyv310, vyv311) -> Succ(new_primDivNatS1(new_primMinusNatS2(vyv310, vyv311), Succ(vyv311))) 248.95/165.45 new_primMinusNatS2(Zero, Succ(vyv3110)) -> Zero 248.95/165.45 new_primMinusNatS2(Succ(vyv3100), Zero) -> Succ(vyv3100) 248.95/165.45 new_primMinusNatS2(Zero, Zero) -> Zero 248.95/165.45 new_primMinusNatS2(Succ(vyv3100), Succ(vyv3110)) -> new_primMinusNatS2(vyv3100, vyv3110) 248.95/165.45 new_error -> error([]) 248.95/165.45 new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) 248.95/165.45 new_esEs(Pos(Succ(vyv24100))) -> new_primEqInt(Pos(Succ(vyv24100))) 248.95/165.45 new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) 248.95/165.45 new_esEs(Neg(Succ(vyv24100))) -> new_primEqInt(Neg(Succ(vyv24100))) 248.95/165.45 new_gcd2(True, vyv272, vyv271) -> new_gcd1(new_esEs(vyv271), vyv272, vyv271) 248.95/165.45 new_gcd2(False, vyv272, vyv271) -> new_gcd0(vyv272, vyv271) 248.95/165.45 new_gcd0(vyv272, vyv271) -> new_gcd0Gcd'10(new_esEs(new_abs(vyv271)), vyv272, vyv271) 248.95/165.45 new_abs(Neg(Zero)) -> Neg(Zero) 248.95/165.45 new_abs(Neg(Succ(vyv27100))) -> Pos(Succ(vyv27100)) 248.95/165.45 new_abs(Pos(Succ(vyv27100))) -> Pos(Succ(vyv27100)) 248.95/165.45 new_abs(Pos(Zero)) -> Pos(Zero) 248.95/165.45 new_gcd0Gcd'10(True, vyv272, vyv271) -> new_abs(vyv272) 248.95/165.45 new_gcd0Gcd'10(False, vyv272, vyv271) -> new_gcd0Gcd'00(new_abs(vyv272), new_abs(vyv271)) 248.95/165.45 new_gcd0Gcd'11(False, vyv291, vyv292) -> new_gcd0Gcd'00(vyv291, new_rem(vyv292, vyv291)) 248.95/165.45 new_gcd0Gcd'00(vyv292, vyv291) -> new_gcd0Gcd'11(new_esEs(new_rem(vyv292, vyv291)), vyv291, vyv292) 248.95/165.45 new_rem(Pos(vyv2920), Neg(Zero)) -> new_error 248.95/165.45 new_rem(Neg(vyv2920), Pos(Zero)) -> new_error 248.95/165.45 new_rem(Pos(vyv2920), Neg(Succ(vyv29100))) -> Pos(new_primModNatS1(vyv2920, vyv29100)) 248.95/165.45 new_rem(Neg(vyv2920), Pos(Succ(vyv29100))) -> Neg(new_primModNatS1(vyv2920, vyv29100)) 248.95/165.45 new_rem(Pos(vyv2920), Pos(Succ(vyv29100))) -> Pos(new_primModNatS1(vyv2920, vyv29100)) 248.95/165.45 new_rem(Neg(vyv2920), Neg(Zero)) -> new_error 248.95/165.45 new_rem(Neg(vyv2920), Neg(Succ(vyv29100))) -> Neg(new_primModNatS1(vyv2920, vyv29100)) 248.95/165.45 new_rem(Pos(vyv2920), Pos(Zero)) -> new_error 248.95/165.45 new_gcd0Gcd'11(True, vyv291, vyv292) -> vyv291 248.95/165.45 new_primModNatS1(Succ(Zero), Succ(vyv291000)) -> Succ(Zero) 248.95/165.45 new_primModNatS1(Zero, vyv29100) -> Zero 248.95/165.45 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 248.95/165.45 new_primModNatS1(Succ(Succ(vyv292000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv292000), Zero) 248.95/165.45 new_primModNatS1(Succ(Succ(vyv292000)), Succ(vyv291000)) -> new_primModNatS01(vyv292000, vyv291000, vyv292000, vyv291000) 248.95/165.45 new_primModNatS01(vyv330, vyv331, Zero, Zero) -> new_primModNatS02(vyv330, vyv331) 248.95/165.45 new_primModNatS02(vyv330, vyv331) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv330), Succ(vyv331)), Succ(vyv331)) 248.95/165.45 new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Zero) -> new_primModNatS02(vyv330, vyv331) 248.95/165.45 new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Succ(vyv3330)) -> new_primModNatS01(vyv330, vyv331, vyv3320, vyv3330) 248.95/165.45 new_primModNatS01(vyv330, vyv331, Zero, Succ(vyv3330)) -> Succ(Succ(vyv330)) 248.95/165.45 new_gcd1(True, vyv272, vyv271) -> new_error 248.95/165.45 new_gcd1(False, vyv272, vyv271) -> new_gcd0(vyv272, vyv271) 248.95/165.45 new_primEqInt(Neg(Succ(vyv242000))) -> False 248.95/165.45 new_primEqInt(Pos(Zero)) -> True 248.95/165.45 new_primEqInt(Pos(Succ(vyv242000))) -> False 248.95/165.45 new_primEqInt(Neg(Zero)) -> True 248.95/165.45 new_primQuotInt0(vyv2700, Pos(Succ(vyv28700))) -> Neg(new_primDivNatS1(vyv2700, vyv28700)) 248.95/165.45 new_primQuotInt0(vyv2700, Neg(Zero)) -> new_error 248.95/165.45 new_primQuotInt0(vyv2700, Neg(Succ(vyv28700))) -> Pos(new_primDivNatS1(vyv2700, vyv28700)) 248.95/165.45 new_primQuotInt0(vyv2700, Pos(Zero)) -> new_error 248.95/165.45 new_primMulNat0(Succ(vyv23900), Zero) -> Zero 248.95/165.45 new_primMulNat0(Zero, Succ(vyv23800)) -> Zero 248.95/165.45 new_primMulNat0(Zero, Zero) -> Zero 248.95/165.45 new_primMulNat0(Succ(vyv23900), Succ(vyv23800)) -> new_primPlusNat0(new_primMulNat0(vyv23900, Succ(vyv23800)), Succ(vyv23800)) 248.95/165.45 new_primPlusNat0(Succ(vyv4000), Succ(vyv5000)) -> Succ(Succ(new_primPlusNat0(vyv4000, vyv5000))) 248.95/165.45 new_primPlusNat0(Zero, Succ(vyv5000)) -> Succ(vyv5000) 248.95/165.45 new_primPlusNat0(Zero, Zero) -> Zero 248.95/165.45 new_primPlusNat0(Succ(vyv4000), Zero) -> Succ(vyv4000) 248.95/165.45 new_esEs1(Integer(vyv2690)) -> new_primEqInt(vyv2690) 248.95/165.45 new_sr13(vyv239, vyv238) -> error([]) 248.95/165.45 new_sr11(vyv239, vyv238) -> error([]) 248.95/165.45 new_sr1(vyv227, ty_Int) -> new_sr6(vyv227) 248.95/165.45 new_sr1(vyv227, ty_Integer) -> new_sr7(vyv227) 248.95/165.45 new_sr1(vyv227, app(ty_Ratio, be)) -> new_sr5(vyv227, be) 248.95/165.45 new_sr1(vyv227, ty_Float) -> new_sr10(vyv227) 248.95/165.45 new_sr1(vyv227, ty_Double) -> new_sr9(vyv227) 248.95/165.45 new_sr9(vyv183) -> error([]) 248.95/165.45 new_sr10(vyv183) -> error([]) 248.95/165.45 new_sr5(:%(vyv1830, vyv1831), bd) -> new_reduce2Reduce1(vyv1830, vyv1830, vyv1831, vyv1831, new_esEs0(vyv1831, bd), bd) 248.95/165.45 new_esEs0(vyv1831, ty_Int) -> new_esEs(new_sr6(vyv1831)) 248.95/165.45 new_esEs0(vyv1831, ty_Integer) -> new_esEs1(new_sr7(vyv1831)) 248.95/165.45 new_sr7(vyv183) -> error([]) 248.95/165.45 new_sr6(Neg(vyv1830)) -> Pos(new_primMulNat1(vyv1830)) 248.95/165.45 new_sr6(Pos(vyv1830)) -> Pos(new_primMulNat1(vyv1830)) 248.95/165.45 new_primMulNat1(Succ(vyv18300)) -> new_primPlusNat0(new_primMulNat2(vyv18300), Succ(vyv18300)) 248.95/165.45 new_primMulNat1(Zero) -> Zero 248.95/165.45 new_primMulNat2(Succ(vyv183000)) -> new_primPlusNat0(new_primMulNat3(vyv183000), Succ(Succ(vyv183000))) 248.95/165.45 new_primMulNat2(Zero) -> Zero 248.95/165.45 new_primMulNat3(Succ(vyv1830000)) -> new_primPlusNat0(new_primMulNat4(vyv1830000), Succ(Succ(Succ(vyv1830000)))) 248.95/165.45 new_primMulNat3(Zero) -> Zero 248.95/165.45 new_primMulNat4(Succ(vyv18300000)) -> new_primPlusNat0(new_primMulNat0(vyv18300000, Succ(Succ(Succ(Succ(vyv18300000))))), Succ(Succ(Succ(Succ(vyv18300000))))) 248.95/165.45 new_primMulNat4(Zero) -> Zero 248.95/165.45 anew_new_pr2F0G1(Succ(Succ(vyv22900))) -> new_new_pr2F0G1(vyv22900) 248.95/165.45 new_new_pr2F0G1(Succ(Succ(vyv22900))) -> new_new_pr2F0G1(vyv22900) 248.95/165.45 new_new_pr2F0G1(Zero) -> cons_new_pr2F0G1(Zero) 248.95/165.45 248.95/165.45 The set Q consists of the following terms: 248.95/165.45 248.95/165.45 new_rem(Pos(x0), Pos(Succ(x1))) 248.95/165.45 new_quot1(x0, x1, x2, x3, ty_Integer) 248.95/165.45 new_primModNatS1(Succ(Zero), Succ(x0)) 248.95/165.45 new_primMulNat4(Zero) 248.95/165.45 new_gcd1(False, x0, x1) 248.95/165.45 new_primEqInt(Pos(Zero)) 248.95/165.45 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 248.95/165.45 new_rem(Pos(x0), Neg(Succ(x1))) 248.95/165.45 new_rem(Neg(x0), Pos(Succ(x1))) 248.95/165.45 new_sr10(x0) 248.95/165.45 new_quot1(x0, x1, x2, x3, ty_Int) 248.95/165.45 new_quot2(x0, x1, x2, x3, ty_Integer) 248.95/165.45 new_primModNatS01(x0, x1, Succ(x2), Zero) 248.95/165.45 new_primMulNat3(Zero) 248.95/165.45 new_primDivNatS02(x0, x1, Succ(x2), Zero) 248.95/165.45 new_quot2(x0, x1, x2, x3, ty_Int) 248.95/165.45 new_gcd2(False, x0, x1) 248.95/165.45 new_primDivNatS1(Succ(Zero), Zero) 248.95/165.45 new_esEs0(x0, ty_Int) 248.95/165.45 new_sr14(Pos(x0), Pos(x1)) 248.95/165.45 new_primMulNat0(Zero, Zero) 248.95/165.45 new_primPlusNat0(Succ(x0), Zero) 248.95/165.45 new_primMulNat2(Zero) 248.95/165.45 new_sr11(x0, x1) 248.95/165.45 new_primModNatS01(x0, x1, Zero, Zero) 248.95/165.45 new_esEs2(x0, x1, ty_Int) 248.95/165.45 new_gcd1(True, x0, x1) 248.95/165.45 new_sr13(x0, x1) 248.95/165.45 new_sr14(Pos(x0), Neg(x1)) 248.95/165.45 new_sr14(Neg(x0), Pos(x1)) 248.95/165.45 new_primDivNatS1(Succ(Succ(x0)), Succ(x1)) 248.95/165.45 new_sr1(x0, ty_Int) 248.95/165.45 new_primModNatS1(Zero, x0) 248.95/165.45 new_esEs(Pos(Succ(x0))) 248.95/165.45 new_primMulNat3(Succ(x0)) 248.95/165.45 new_sr1(x0, app(ty_Ratio, x1)) 248.95/165.45 new_primQuotInt(x0, Neg(Succ(x1))) 248.95/165.45 new_reduce2Reduce1(x0, x1, x2, x3, False, x4) 248.95/165.45 new_primDivNatS1(Zero, x0) 248.95/165.45 new_primDivNatS02(x0, x1, Succ(x2), Succ(x3)) 248.95/165.45 new_primModNatS02(x0, x1) 248.95/165.45 new_primDivNatS1(Succ(Zero), Succ(x0)) 248.95/165.45 new_sr6(Neg(x0)) 248.95/165.45 new_gcd0Gcd'10(True, x0, x1) 248.95/165.45 new_primMulNat0(Succ(x0), Succ(x1)) 248.95/165.45 new_abs(Neg(Zero)) 248.95/165.45 new_rem(Pos(x0), Neg(Zero)) 248.95/165.45 new_rem(Neg(x0), Pos(Zero)) 248.95/165.45 new_primMinusNatS2(Zero, Succ(x0)) 248.95/165.45 new_esEs(Neg(Succ(x0))) 248.95/165.45 new_error 248.95/165.45 new_primModNatS1(Succ(Zero), Zero) 248.95/165.45 new_primMulNat0(Zero, Succ(x0)) 248.95/165.45 new_quot(x0, x1, x2) 248.95/165.45 new_gcd2(True, x0, x1) 248.95/165.45 new_gcd0Gcd'11(True, x0, x1) 248.95/165.45 new_primEqInt(Neg(Zero)) 248.95/165.45 new_sr2(x0, x1, ty_Double) 248.95/165.45 new_primMulNat0(Succ(x0), Zero) 248.95/165.45 new_quot0(Neg(x0), x1, x2) 248.95/165.45 new_primMinusNatS2(Succ(x0), Succ(x1)) 248.95/165.45 new_sr8(x0, x1) 248.95/165.45 new_primDivNatS01(x0, x1) 248.95/165.45 new_primDivNatS02(x0, x1, Zero, Succ(x2)) 248.95/165.45 new_primPlusNat0(Succ(x0), Succ(x1)) 248.95/165.45 new_sr1(x0, ty_Integer) 248.95/165.45 new_primPlusNat0(Zero, Zero) 248.95/165.45 new_sr1(x0, ty_Float) 248.95/165.45 new_sr12(:%(x0, x1), :%(x2, x3), x4) 248.95/165.45 new_abs(Neg(Succ(x0))) 248.95/165.45 new_sr1(x0, ty_Double) 248.95/165.45 new_sr7(x0) 248.95/165.45 new_gcd0(x0, x1) 248.95/165.45 new_primQuotInt0(x0, Pos(Succ(x1))) 248.95/165.45 new_sr5(:%(x0, x1), x2) 248.95/165.45 new_primMinusNatS2(Zero, Zero) 248.95/165.45 new_primMulNat1(Succ(x0)) 248.95/165.45 new_abs(Pos(Succ(x0))) 248.95/165.45 new_esEs(Pos(Zero)) 248.95/165.45 new_primQuotInt0(x0, Pos(Zero)) 248.95/165.45 new_primEqInt(Neg(Succ(x0))) 248.95/165.45 new_primQuotInt(x0, Neg(Zero)) 248.95/165.45 new_primQuotInt0(x0, Neg(Zero)) 248.95/165.45 new_primQuotInt0(x0, Neg(Succ(x1))) 248.95/165.45 new_gcd(x0, x1) 248.95/165.45 new_quot0(Pos(x0), x1, x2) 248.95/165.45 new_primMinusNatS0(x0) 248.95/165.45 new_primPlusNat0(Zero, Succ(x0)) 248.95/165.45 new_sr2(x0, x1, app(ty_Ratio, x2)) 248.95/165.45 new_sr2(x0, x1, ty_Int) 248.95/165.45 new_primQuotInt(x0, Pos(Succ(x1))) 248.95/165.45 new_primDivNatS1(Succ(Succ(x0)), Zero) 248.95/165.45 new_rem(Pos(x0), Pos(Zero)) 248.95/165.45 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 248.95/165.45 new_primDivNatS02(x0, x1, Zero, Zero) 248.95/165.45 new_abs(Pos(Zero)) 248.95/165.45 new_gcd0Gcd'10(False, x0, x1) 248.95/165.45 new_primMinusNatS1 248.95/165.45 new_esEs1(Integer(x0)) 248.95/165.45 new_sr2(x0, x1, ty_Integer) 248.95/165.45 new_primModNatS01(x0, x1, Zero, Succ(x2)) 248.95/165.45 new_primMulNat2(Succ(x0)) 248.95/165.45 new_sr14(Neg(x0), Neg(x1)) 248.95/165.45 new_sr2(x0, x1, ty_Float) 248.95/165.45 new_primMinusNatS2(Succ(x0), Zero) 248.95/165.45 new_sr6(Pos(x0)) 248.95/165.45 new_esEs2(x0, x1, ty_Integer) 248.95/165.45 new_primMulNat4(Succ(x0)) 248.95/165.45 new_rem(Neg(x0), Neg(Succ(x1))) 248.95/165.45 new_primEqInt(Pos(Succ(x0))) 248.95/165.45 new_primQuotInt(x0, Pos(Zero)) 248.95/165.45 new_gcd0Gcd'11(False, x0, x1) 248.95/165.45 new_sr9(x0) 248.95/165.45 new_primModNatS1(Succ(Succ(x0)), Zero) 248.95/165.45 new_esEs0(x0, ty_Integer) 248.95/165.45 new_gcd0Gcd'00(x0, x1) 248.95/165.45 new_reduce2Reduce1(x0, x1, x2, x3, True, x4) 248.95/165.45 new_esEs(Neg(Zero)) 248.95/165.45 new_primMulNat1(Zero) 248.95/165.45 new_rem(Neg(x0), Neg(Zero)) 248.95/165.45 new_new_pr2F0G1(Succ(Succ(x0))) 248.95/165.45 anew_new_pr2F0G1(Succ(Succ(x0))) 248.95/165.45 new_new_pr2F0G1(Zero) 248.95/165.45 248.95/165.45 We have to consider all minimal (P,Q,R)-chains. 248.95/165.45 ---------------------------------------- 248.95/165.45 248.95/165.45 (934) MNOCProof (EQUIVALENT) 248.95/165.45 We use the modular non-overlap check [FROCOS05] to decrease Q to the empty set. 248.95/165.45 ---------------------------------------- 248.95/165.45 248.95/165.45 (935) 248.95/165.45 Obligation: 248.95/165.45 Q DP problem: 248.95/165.45 The TRS P consists of the following rules: 248.95/165.45 248.95/165.45 new_pr2F0G1(vyv226, vyv227, vyv228, Zero, ba) -> new_pr2F0G(vyv226, new_sr1(vyv227, ba), Pos(new_primDivNatS1(Succ(vyv228), Succ(Zero))), ba) 248.95/165.45 new_pr2F0G(vyv187, vyv183, Pos(Succ(Succ(vyv222000))), h) -> new_pr2F0G1(vyv187, vyv183, Succ(vyv222000), vyv222000, h) 248.95/165.45 new_pr2F0G(vyv187, vyv183, Pos(Succ(Succ(vyv222000))), h) -> H(vyv187, vyv183, Succ(vyv222000), h, anew_new_pr2F0G1(vyv222000)) 248.95/165.45 H(vyv226, vyv227, vyv228, ba, cons_new_pr2F0G1(Zero)) -> new_pr2F0G1(vyv226, vyv227, vyv228, Zero, ba) 248.95/165.45 248.95/165.45 The TRS R consists of the following rules: 248.95/165.45 248.95/165.45 new_sr2(vyv227, vyv226, ty_Int) -> new_sr14(vyv227, vyv226) 248.95/165.45 new_sr2(vyv227, vyv226, ty_Double) -> new_sr11(vyv227, vyv226) 248.95/165.45 new_sr2(vyv227, vyv226, ty_Integer) -> new_sr8(vyv227, vyv226) 248.95/165.45 new_sr2(vyv227, vyv226, ty_Float) -> new_sr13(vyv227, vyv226) 248.95/165.45 new_sr2(vyv227, vyv226, app(ty_Ratio, be)) -> new_sr12(vyv227, vyv226, be) 248.95/165.45 new_sr12(:%(vyv2390, vyv2391), :%(vyv2380, vyv2381), bf) -> new_reduce2Reduce1(vyv2390, vyv2380, vyv2391, vyv2381, new_esEs2(vyv2391, vyv2381, bf), bf) 248.95/165.45 new_esEs2(vyv2391, vyv2381, ty_Int) -> new_esEs(new_sr14(vyv2391, vyv2381)) 248.95/165.45 new_esEs2(vyv2391, vyv2381, ty_Integer) -> new_esEs1(new_sr8(vyv2391, vyv2381)) 248.95/165.45 new_reduce2Reduce1(vyv264, vyv265, vyv266, vyv267, False, bh) -> :%(new_quot1(vyv264, vyv265, vyv266, vyv267, bh), new_quot2(vyv266, vyv267, vyv264, vyv265, bh)) 248.95/165.45 new_reduce2Reduce1(vyv264, vyv265, vyv266, vyv267, True, bh) -> error([]) 248.95/165.45 new_quot1(vyv264, vyv265, vyv266, vyv267, ty_Int) -> new_quot0(new_sr14(vyv264, vyv265), new_sr14(vyv264, vyv265), new_sr14(vyv266, vyv267)) 248.95/165.45 new_quot1(vyv264, vyv265, vyv266, vyv267, ty_Integer) -> new_quot(new_sr8(vyv264, vyv265), new_sr8(vyv264, vyv265), new_sr8(vyv266, vyv267)) 248.95/165.45 new_quot2(vyv266, vyv267, vyv264, vyv265, ty_Int) -> new_quot0(new_sr14(vyv266, vyv267), new_sr14(vyv264, vyv265), new_sr14(vyv266, vyv267)) 248.95/165.45 new_quot2(vyv266, vyv267, vyv264, vyv265, ty_Integer) -> new_quot(new_sr8(vyv266, vyv267), new_sr8(vyv264, vyv265), new_sr8(vyv266, vyv267)) 248.95/165.45 new_sr8(vyv239, vyv238) -> error([]) 248.95/165.45 new_quot(vyv273, vyv275, vyv274) -> error([]) 248.95/165.45 new_sr14(Pos(vyv2390), Neg(vyv2380)) -> Neg(new_primMulNat0(vyv2390, vyv2380)) 248.95/165.45 new_sr14(Neg(vyv2390), Pos(vyv2380)) -> Neg(new_primMulNat0(vyv2390, vyv2380)) 248.95/165.45 new_sr14(Neg(vyv2390), Neg(vyv2380)) -> Pos(new_primMulNat0(vyv2390, vyv2380)) 248.95/165.45 new_sr14(Pos(vyv2390), Pos(vyv2380)) -> Pos(new_primMulNat0(vyv2390, vyv2380)) 248.95/165.45 new_quot0(Neg(vyv2700), vyv272, vyv271) -> new_primQuotInt0(vyv2700, new_gcd(vyv272, vyv271)) 248.95/165.45 new_quot0(Pos(vyv2700), vyv272, vyv271) -> new_primQuotInt(vyv2700, new_gcd(vyv272, vyv271)) 248.95/165.45 new_gcd(vyv272, vyv271) -> new_gcd2(new_esEs(vyv272), vyv272, vyv271) 248.95/165.45 new_primQuotInt(vyv2700, Pos(Succ(vyv28400))) -> Pos(new_primDivNatS1(vyv2700, vyv28400)) 248.95/165.45 new_primQuotInt(vyv2700, Neg(Zero)) -> new_error 248.95/165.45 new_primQuotInt(vyv2700, Pos(Zero)) -> new_error 248.95/165.45 new_primQuotInt(vyv2700, Neg(Succ(vyv28400))) -> Neg(new_primDivNatS1(vyv2700, vyv28400)) 248.95/165.45 new_primDivNatS1(Succ(Zero), Succ(vyv284000)) -> Zero 248.95/165.45 new_primDivNatS1(Succ(Succ(vyv270000)), Succ(vyv284000)) -> new_primDivNatS02(vyv270000, vyv284000, vyv270000, vyv284000) 248.95/165.45 new_primDivNatS1(Zero, vyv28400) -> Zero 248.95/165.45 new_primDivNatS1(Succ(Succ(vyv270000)), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS0(vyv270000), Zero)) 248.95/165.45 new_primDivNatS1(Succ(Zero), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS1, Zero)) 248.95/165.45 new_primMinusNatS1 -> Zero 248.95/165.45 new_primMinusNatS0(vyv270000) -> Succ(vyv270000) 248.95/165.45 new_primDivNatS02(vyv310, vyv311, Zero, Zero) -> new_primDivNatS01(vyv310, vyv311) 248.95/165.45 new_primDivNatS02(vyv310, vyv311, Succ(vyv3120), Zero) -> new_primDivNatS01(vyv310, vyv311) 248.95/165.45 new_primDivNatS02(vyv310, vyv311, Zero, Succ(vyv3130)) -> Zero 248.95/165.45 new_primDivNatS02(vyv310, vyv311, Succ(vyv3120), Succ(vyv3130)) -> new_primDivNatS02(vyv310, vyv311, vyv3120, vyv3130) 248.95/165.45 new_primDivNatS01(vyv310, vyv311) -> Succ(new_primDivNatS1(new_primMinusNatS2(vyv310, vyv311), Succ(vyv311))) 248.95/165.45 new_primMinusNatS2(Zero, Succ(vyv3110)) -> Zero 248.95/165.45 new_primMinusNatS2(Succ(vyv3100), Zero) -> Succ(vyv3100) 248.95/165.45 new_primMinusNatS2(Zero, Zero) -> Zero 248.95/165.45 new_primMinusNatS2(Succ(vyv3100), Succ(vyv3110)) -> new_primMinusNatS2(vyv3100, vyv3110) 248.95/165.45 new_error -> error([]) 248.95/165.45 new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) 248.95/165.45 new_esEs(Pos(Succ(vyv24100))) -> new_primEqInt(Pos(Succ(vyv24100))) 248.95/165.45 new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) 248.95/165.45 new_esEs(Neg(Succ(vyv24100))) -> new_primEqInt(Neg(Succ(vyv24100))) 248.95/165.45 new_gcd2(True, vyv272, vyv271) -> new_gcd1(new_esEs(vyv271), vyv272, vyv271) 248.95/165.45 new_gcd2(False, vyv272, vyv271) -> new_gcd0(vyv272, vyv271) 248.95/165.45 new_gcd0(vyv272, vyv271) -> new_gcd0Gcd'10(new_esEs(new_abs(vyv271)), vyv272, vyv271) 248.95/165.45 new_abs(Neg(Zero)) -> Neg(Zero) 248.95/165.45 new_abs(Neg(Succ(vyv27100))) -> Pos(Succ(vyv27100)) 248.95/165.45 new_abs(Pos(Succ(vyv27100))) -> Pos(Succ(vyv27100)) 248.95/165.45 new_abs(Pos(Zero)) -> Pos(Zero) 248.95/165.45 new_gcd0Gcd'10(True, vyv272, vyv271) -> new_abs(vyv272) 248.95/165.45 new_gcd0Gcd'10(False, vyv272, vyv271) -> new_gcd0Gcd'00(new_abs(vyv272), new_abs(vyv271)) 248.95/165.45 new_gcd0Gcd'11(False, vyv291, vyv292) -> new_gcd0Gcd'00(vyv291, new_rem(vyv292, vyv291)) 248.95/165.45 new_gcd0Gcd'00(vyv292, vyv291) -> new_gcd0Gcd'11(new_esEs(new_rem(vyv292, vyv291)), vyv291, vyv292) 248.95/165.45 new_rem(Pos(vyv2920), Neg(Zero)) -> new_error 248.95/165.45 new_rem(Neg(vyv2920), Pos(Zero)) -> new_error 248.95/165.45 new_rem(Pos(vyv2920), Neg(Succ(vyv29100))) -> Pos(new_primModNatS1(vyv2920, vyv29100)) 248.95/165.45 new_rem(Neg(vyv2920), Pos(Succ(vyv29100))) -> Neg(new_primModNatS1(vyv2920, vyv29100)) 248.95/165.45 new_rem(Pos(vyv2920), Pos(Succ(vyv29100))) -> Pos(new_primModNatS1(vyv2920, vyv29100)) 248.95/165.45 new_rem(Neg(vyv2920), Neg(Zero)) -> new_error 248.95/165.45 new_rem(Neg(vyv2920), Neg(Succ(vyv29100))) -> Neg(new_primModNatS1(vyv2920, vyv29100)) 248.95/165.45 new_rem(Pos(vyv2920), Pos(Zero)) -> new_error 248.95/165.45 new_gcd0Gcd'11(True, vyv291, vyv292) -> vyv291 248.95/165.45 new_primModNatS1(Succ(Zero), Succ(vyv291000)) -> Succ(Zero) 248.95/165.45 new_primModNatS1(Zero, vyv29100) -> Zero 248.95/165.45 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 248.95/165.45 new_primModNatS1(Succ(Succ(vyv292000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv292000), Zero) 248.95/165.45 new_primModNatS1(Succ(Succ(vyv292000)), Succ(vyv291000)) -> new_primModNatS01(vyv292000, vyv291000, vyv292000, vyv291000) 248.95/165.45 new_primModNatS01(vyv330, vyv331, Zero, Zero) -> new_primModNatS02(vyv330, vyv331) 248.95/165.45 new_primModNatS02(vyv330, vyv331) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv330), Succ(vyv331)), Succ(vyv331)) 248.95/165.45 new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Zero) -> new_primModNatS02(vyv330, vyv331) 248.95/165.45 new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Succ(vyv3330)) -> new_primModNatS01(vyv330, vyv331, vyv3320, vyv3330) 248.95/165.45 new_primModNatS01(vyv330, vyv331, Zero, Succ(vyv3330)) -> Succ(Succ(vyv330)) 248.95/165.45 new_gcd1(True, vyv272, vyv271) -> new_error 248.95/165.45 new_gcd1(False, vyv272, vyv271) -> new_gcd0(vyv272, vyv271) 248.95/165.45 new_primEqInt(Neg(Succ(vyv242000))) -> False 248.95/165.45 new_primEqInt(Pos(Zero)) -> True 248.95/165.45 new_primEqInt(Pos(Succ(vyv242000))) -> False 248.95/165.45 new_primEqInt(Neg(Zero)) -> True 248.95/165.45 new_primQuotInt0(vyv2700, Pos(Succ(vyv28700))) -> Neg(new_primDivNatS1(vyv2700, vyv28700)) 248.95/165.45 new_primQuotInt0(vyv2700, Neg(Zero)) -> new_error 248.95/165.45 new_primQuotInt0(vyv2700, Neg(Succ(vyv28700))) -> Pos(new_primDivNatS1(vyv2700, vyv28700)) 248.95/165.45 new_primQuotInt0(vyv2700, Pos(Zero)) -> new_error 248.95/165.45 new_primMulNat0(Succ(vyv23900), Zero) -> Zero 248.95/165.45 new_primMulNat0(Zero, Succ(vyv23800)) -> Zero 248.95/165.45 new_primMulNat0(Zero, Zero) -> Zero 248.95/165.45 new_primMulNat0(Succ(vyv23900), Succ(vyv23800)) -> new_primPlusNat0(new_primMulNat0(vyv23900, Succ(vyv23800)), Succ(vyv23800)) 248.95/165.45 new_primPlusNat0(Succ(vyv4000), Succ(vyv5000)) -> Succ(Succ(new_primPlusNat0(vyv4000, vyv5000))) 248.95/165.45 new_primPlusNat0(Zero, Succ(vyv5000)) -> Succ(vyv5000) 248.95/165.45 new_primPlusNat0(Zero, Zero) -> Zero 248.95/165.45 new_primPlusNat0(Succ(vyv4000), Zero) -> Succ(vyv4000) 248.95/165.45 new_esEs1(Integer(vyv2690)) -> new_primEqInt(vyv2690) 248.95/165.45 new_sr13(vyv239, vyv238) -> error([]) 248.95/165.45 new_sr11(vyv239, vyv238) -> error([]) 248.95/165.45 new_sr1(vyv227, ty_Int) -> new_sr6(vyv227) 248.95/165.45 new_sr1(vyv227, ty_Integer) -> new_sr7(vyv227) 248.95/165.45 new_sr1(vyv227, app(ty_Ratio, be)) -> new_sr5(vyv227, be) 248.95/165.45 new_sr1(vyv227, ty_Float) -> new_sr10(vyv227) 248.95/165.45 new_sr1(vyv227, ty_Double) -> new_sr9(vyv227) 248.95/165.45 new_sr9(vyv183) -> error([]) 248.95/165.45 new_sr10(vyv183) -> error([]) 248.95/165.45 new_sr5(:%(vyv1830, vyv1831), bd) -> new_reduce2Reduce1(vyv1830, vyv1830, vyv1831, vyv1831, new_esEs0(vyv1831, bd), bd) 248.95/165.45 new_esEs0(vyv1831, ty_Int) -> new_esEs(new_sr6(vyv1831)) 248.95/165.45 new_esEs0(vyv1831, ty_Integer) -> new_esEs1(new_sr7(vyv1831)) 248.95/165.45 new_sr7(vyv183) -> error([]) 248.95/165.45 new_sr6(Neg(vyv1830)) -> Pos(new_primMulNat1(vyv1830)) 248.95/165.45 new_sr6(Pos(vyv1830)) -> Pos(new_primMulNat1(vyv1830)) 248.95/165.45 new_primMulNat1(Succ(vyv18300)) -> new_primPlusNat0(new_primMulNat2(vyv18300), Succ(vyv18300)) 248.95/165.45 new_primMulNat1(Zero) -> Zero 248.95/165.45 new_primMulNat2(Succ(vyv183000)) -> new_primPlusNat0(new_primMulNat3(vyv183000), Succ(Succ(vyv183000))) 248.95/165.45 new_primMulNat2(Zero) -> Zero 248.95/165.45 new_primMulNat3(Succ(vyv1830000)) -> new_primPlusNat0(new_primMulNat4(vyv1830000), Succ(Succ(Succ(vyv1830000)))) 248.95/165.45 new_primMulNat3(Zero) -> Zero 248.95/165.45 new_primMulNat4(Succ(vyv18300000)) -> new_primPlusNat0(new_primMulNat0(vyv18300000, Succ(Succ(Succ(Succ(vyv18300000))))), Succ(Succ(Succ(Succ(vyv18300000))))) 248.95/165.45 new_primMulNat4(Zero) -> Zero 248.95/165.45 anew_new_pr2F0G1(Succ(Succ(vyv22900))) -> new_new_pr2F0G1(vyv22900) 248.95/165.45 new_new_pr2F0G1(Succ(Succ(vyv22900))) -> new_new_pr2F0G1(vyv22900) 248.95/165.45 new_new_pr2F0G1(Zero) -> cons_new_pr2F0G1(Zero) 248.95/165.45 248.95/165.45 Q is empty. 248.95/165.45 We have to consider all (P,Q,R)-chains. 248.95/165.45 ---------------------------------------- 248.95/165.45 248.95/165.45 (936) InductionCalculusProof (EQUIVALENT) 248.95/165.45 Note that final constraints are written in bold face. 248.95/165.45 248.95/165.45 248.95/165.45 248.95/165.45 For Pair new_pr2F0G1(vyv226, vyv227, vyv228, Zero, ba) -> new_pr2F0G(vyv226, new_sr1(vyv227, ba), Pos(new_primDivNatS1(Succ(vyv228), Succ(Zero))), ba) the following chains were created: 248.95/165.45 *We consider the chain new_pr2F0G1(x4, x5, x6, Zero, x7) -> new_pr2F0G(x4, new_sr1(x5, x7), Pos(new_primDivNatS1(Succ(x6), Succ(Zero))), x7), new_pr2F0G(x8, x9, Pos(Succ(Succ(x10))), x11) -> new_pr2F0G1(x8, x9, Succ(x10), x10, x11) which results in the following constraint: 248.95/165.45 248.95/165.45 (1) (new_pr2F0G(x4, new_sr1(x5, x7), Pos(new_primDivNatS1(Succ(x6), Succ(Zero))), x7)=new_pr2F0G(x8, x9, Pos(Succ(Succ(x10))), x11) ==> new_pr2F0G1(x4, x5, x6, Zero, x7)_>=_new_pr2F0G(x4, new_sr1(x5, x7), Pos(new_primDivNatS1(Succ(x6), Succ(Zero))), x7)) 248.95/165.45 248.95/165.45 248.95/165.45 248.95/165.45 We simplified constraint (1) using rules (I), (II), (IV), (VII) which results in the following new constraint: 248.95/165.45 248.95/165.45 (2) (Succ(x6)=x84 & Succ(Zero)=x85 & new_primDivNatS1(x84, x85)=Succ(Succ(x10)) ==> new_pr2F0G1(x4, x5, x6, Zero, x7)_>=_new_pr2F0G(x4, new_sr1(x5, x7), Pos(new_primDivNatS1(Succ(x6), Succ(Zero))), x7)) 248.95/165.45 248.95/165.45 248.95/165.45 248.95/165.45 We simplified constraint (2) using rule (V) (with possible (I) afterwards) using induction on new_primDivNatS1(x84, x85)=Succ(Succ(x10)) which results in the following new constraints: 248.95/165.45 248.95/165.45 (3) (new_primDivNatS02(x88, x87, x88, x87)=Succ(Succ(x10)) & Succ(x6)=Succ(Succ(x88)) & Succ(Zero)=Succ(x87) ==> new_pr2F0G1(x4, x5, x6, Zero, x7)_>=_new_pr2F0G(x4, new_sr1(x5, x7), Pos(new_primDivNatS1(Succ(x6), Succ(Zero))), x7)) 248.95/165.45 248.95/165.45 (4) (Succ(new_primDivNatS1(new_primMinusNatS0(x90), Zero))=Succ(Succ(x10)) & Succ(x6)=Succ(Succ(x90)) & Succ(Zero)=Zero ==> new_pr2F0G1(x4, x5, x6, Zero, x7)_>=_new_pr2F0G(x4, new_sr1(x5, x7), Pos(new_primDivNatS1(Succ(x6), Succ(Zero))), x7)) 248.95/165.45 248.95/165.45 (5) (Succ(new_primDivNatS1(new_primMinusNatS1, Zero))=Succ(Succ(x10)) & Succ(x6)=Succ(Zero) & Succ(Zero)=Zero ==> new_pr2F0G1(x4, x5, x6, Zero, x7)_>=_new_pr2F0G(x4, new_sr1(x5, x7), Pos(new_primDivNatS1(Succ(x6), Succ(Zero))), x7)) 248.95/165.45 248.95/165.45 248.95/165.45 248.95/165.45 We simplified constraint (3) using rules (I), (II), (III), (VII) which results in the following new constraint: 248.95/165.45 248.95/165.45 (6) (x88=x91 & x87=x92 & new_primDivNatS02(x88, x87, x91, x92)=Succ(Succ(x10)) & Zero=x87 ==> new_pr2F0G1(x4, x5, Succ(x88), Zero, x7)_>=_new_pr2F0G(x4, new_sr1(x5, x7), Pos(new_primDivNatS1(Succ(Succ(x88)), Succ(Zero))), x7)) 248.95/165.45 248.95/165.45 248.95/165.45 248.95/165.45 We solved constraint (4) using rules (I), (II).We solved constraint (5) using rules (I), (II).We simplified constraint (6) using rule (V) (with possible (I) afterwards) using induction on new_primDivNatS02(x88, x87, x91, x92)=Succ(Succ(x10)) which results in the following new constraints: 248.95/165.45 248.95/165.45 (7) (new_primDivNatS01(x94, x93)=Succ(Succ(x10)) & x94=Zero & x93=Zero & Zero=x93 ==> new_pr2F0G1(x4, x5, Succ(x94), Zero, x7)_>=_new_pr2F0G(x4, new_sr1(x5, x7), Pos(new_primDivNatS1(Succ(Succ(x94)), Succ(Zero))), x7)) 248.95/165.45 248.95/165.45 (8) (new_primDivNatS01(x97, x96)=Succ(Succ(x10)) & x97=Succ(x95) & x96=Zero & Zero=x96 ==> new_pr2F0G1(x4, x5, Succ(x97), Zero, x7)_>=_new_pr2F0G(x4, new_sr1(x5, x7), Pos(new_primDivNatS1(Succ(Succ(x97)), Succ(Zero))), x7)) 248.95/165.45 248.95/165.45 (9) (new_primDivNatS02(x104, x103, x102, x101)=Succ(Succ(x10)) & x104=Succ(x102) & x103=Succ(x101) & Zero=x103 & (\/x105,x106,x107,x108:new_primDivNatS02(x104, x103, x102, x101)=Succ(Succ(x105)) & x104=x102 & x103=x101 & Zero=x103 ==> new_pr2F0G1(x106, x107, Succ(x104), Zero, x108)_>=_new_pr2F0G(x106, new_sr1(x107, x108), Pos(new_primDivNatS1(Succ(Succ(x104)), Succ(Zero))), x108)) ==> new_pr2F0G1(x4, x5, Succ(x104), Zero, x7)_>=_new_pr2F0G(x4, new_sr1(x5, x7), Pos(new_primDivNatS1(Succ(Succ(x104)), Succ(Zero))), x7)) 248.95/165.45 248.95/165.45 248.95/165.45 248.95/165.45 We simplified constraint (7) using rules (I), (II), (III), (IV), (VII) which results in the following new constraint: 248.95/165.45 248.95/165.45 (10) (new_pr2F0G1(x4, x5, Succ(Zero), Zero, x7)_>=_new_pr2F0G(x4, new_sr1(x5, x7), Pos(new_primDivNatS1(Succ(Succ(Zero)), Succ(Zero))), x7)) 248.95/165.45 248.95/165.45 248.95/165.45 248.95/165.45 We simplified constraint (8) using rules (I), (II), (III), (IV), (VII) which results in the following new constraint: 248.95/165.45 248.95/165.45 (11) (new_pr2F0G1(x4, x5, Succ(Succ(x95)), Zero, x7)_>=_new_pr2F0G(x4, new_sr1(x5, x7), Pos(new_primDivNatS1(Succ(Succ(Succ(x95))), Succ(Zero))), x7)) 248.95/165.45 248.95/165.45 248.95/165.45 248.95/165.45 We solved constraint (9) using rules (I), (II), (III). 248.95/165.45 *We consider the chain new_pr2F0G1(x12, x13, x14, Zero, x15) -> new_pr2F0G(x12, new_sr1(x13, x15), Pos(new_primDivNatS1(Succ(x14), Succ(Zero))), x15), new_pr2F0G(x16, x17, Pos(Succ(Succ(x18))), x19) -> H(x16, x17, Succ(x18), x19, anew_new_pr2F0G1(x18)) which results in the following constraint: 248.95/165.45 248.95/165.45 (1) (new_pr2F0G(x12, new_sr1(x13, x15), Pos(new_primDivNatS1(Succ(x14), Succ(Zero))), x15)=new_pr2F0G(x16, x17, Pos(Succ(Succ(x18))), x19) ==> new_pr2F0G1(x12, x13, x14, Zero, x15)_>=_new_pr2F0G(x12, new_sr1(x13, x15), Pos(new_primDivNatS1(Succ(x14), Succ(Zero))), x15)) 248.95/165.45 248.95/165.45 248.95/165.45 248.95/165.45 We simplified constraint (1) using rules (I), (II), (IV), (VII) which results in the following new constraint: 248.95/165.45 248.95/165.45 (2) (Succ(x14)=x113 & Succ(Zero)=x114 & new_primDivNatS1(x113, x114)=Succ(Succ(x18)) ==> new_pr2F0G1(x12, x13, x14, Zero, x15)_>=_new_pr2F0G(x12, new_sr1(x13, x15), Pos(new_primDivNatS1(Succ(x14), Succ(Zero))), x15)) 248.95/165.45 248.95/165.45 248.95/165.45 248.95/165.45 We simplified constraint (2) using rule (V) (with possible (I) afterwards) using induction on new_primDivNatS1(x113, x114)=Succ(Succ(x18)) which results in the following new constraints: 248.95/165.45 248.95/165.45 (3) (new_primDivNatS02(x117, x116, x117, x116)=Succ(Succ(x18)) & Succ(x14)=Succ(Succ(x117)) & Succ(Zero)=Succ(x116) ==> new_pr2F0G1(x12, x13, x14, Zero, x15)_>=_new_pr2F0G(x12, new_sr1(x13, x15), Pos(new_primDivNatS1(Succ(x14), Succ(Zero))), x15)) 248.95/165.45 248.95/165.45 (4) (Succ(new_primDivNatS1(new_primMinusNatS0(x119), Zero))=Succ(Succ(x18)) & Succ(x14)=Succ(Succ(x119)) & Succ(Zero)=Zero ==> new_pr2F0G1(x12, x13, x14, Zero, x15)_>=_new_pr2F0G(x12, new_sr1(x13, x15), Pos(new_primDivNatS1(Succ(x14), Succ(Zero))), x15)) 248.95/165.45 248.95/165.45 (5) (Succ(new_primDivNatS1(new_primMinusNatS1, Zero))=Succ(Succ(x18)) & Succ(x14)=Succ(Zero) & Succ(Zero)=Zero ==> new_pr2F0G1(x12, x13, x14, Zero, x15)_>=_new_pr2F0G(x12, new_sr1(x13, x15), Pos(new_primDivNatS1(Succ(x14), Succ(Zero))), x15)) 248.95/165.45 248.95/165.45 248.95/165.45 248.95/165.45 We simplified constraint (3) using rules (I), (II), (III), (VII) which results in the following new constraint: 248.95/165.45 248.95/165.45 (6) (x117=x120 & x116=x121 & new_primDivNatS02(x117, x116, x120, x121)=Succ(Succ(x18)) & Zero=x116 ==> new_pr2F0G1(x12, x13, Succ(x117), Zero, x15)_>=_new_pr2F0G(x12, new_sr1(x13, x15), Pos(new_primDivNatS1(Succ(Succ(x117)), Succ(Zero))), x15)) 248.95/165.45 248.95/165.45 248.95/165.45 248.95/165.45 We solved constraint (4) using rules (I), (II).We solved constraint (5) using rules (I), (II).We simplified constraint (6) using rule (V) (with possible (I) afterwards) using induction on new_primDivNatS02(x117, x116, x120, x121)=Succ(Succ(x18)) which results in the following new constraints: 248.95/165.45 248.95/165.45 (7) (new_primDivNatS01(x123, x122)=Succ(Succ(x18)) & x123=Zero & x122=Zero & Zero=x122 ==> new_pr2F0G1(x12, x13, Succ(x123), Zero, x15)_>=_new_pr2F0G(x12, new_sr1(x13, x15), Pos(new_primDivNatS1(Succ(Succ(x123)), Succ(Zero))), x15)) 248.95/165.45 248.95/165.45 (8) (new_primDivNatS01(x126, x125)=Succ(Succ(x18)) & x126=Succ(x124) & x125=Zero & Zero=x125 ==> new_pr2F0G1(x12, x13, Succ(x126), Zero, x15)_>=_new_pr2F0G(x12, new_sr1(x13, x15), Pos(new_primDivNatS1(Succ(Succ(x126)), Succ(Zero))), x15)) 248.95/165.45 248.95/165.45 (9) (new_primDivNatS02(x133, x132, x131, x130)=Succ(Succ(x18)) & x133=Succ(x131) & x132=Succ(x130) & Zero=x132 & (\/x134,x135,x136,x137:new_primDivNatS02(x133, x132, x131, x130)=Succ(Succ(x134)) & x133=x131 & x132=x130 & Zero=x132 ==> new_pr2F0G1(x135, x136, Succ(x133), Zero, x137)_>=_new_pr2F0G(x135, new_sr1(x136, x137), Pos(new_primDivNatS1(Succ(Succ(x133)), Succ(Zero))), x137)) ==> new_pr2F0G1(x12, x13, Succ(x133), Zero, x15)_>=_new_pr2F0G(x12, new_sr1(x13, x15), Pos(new_primDivNatS1(Succ(Succ(x133)), Succ(Zero))), x15)) 248.95/165.45 248.95/165.45 248.95/165.45 248.95/165.45 We simplified constraint (7) using rules (I), (II), (III), (IV), (VII) which results in the following new constraint: 248.95/165.45 248.95/165.45 (10) (new_pr2F0G1(x12, x13, Succ(Zero), Zero, x15)_>=_new_pr2F0G(x12, new_sr1(x13, x15), Pos(new_primDivNatS1(Succ(Succ(Zero)), Succ(Zero))), x15)) 248.95/165.45 248.95/165.45 248.95/165.45 248.95/165.45 We simplified constraint (8) using rules (I), (II), (III), (IV), (VII) which results in the following new constraint: 248.95/165.45 248.95/165.45 (11) (new_pr2F0G1(x12, x13, Succ(Succ(x124)), Zero, x15)_>=_new_pr2F0G(x12, new_sr1(x13, x15), Pos(new_primDivNatS1(Succ(Succ(Succ(x124))), Succ(Zero))), x15)) 248.95/165.45 248.95/165.45 248.95/165.45 248.95/165.45 We solved constraint (9) using rules (I), (II), (III). 248.95/165.45 248.95/165.45 248.95/165.45 248.95/165.45 248.95/165.45 For Pair new_pr2F0G(vyv187, vyv183, Pos(Succ(Succ(vyv222000))), h) -> new_pr2F0G1(vyv187, vyv183, Succ(vyv222000), vyv222000, h) the following chains were created: 248.95/165.45 *We consider the chain new_pr2F0G(x24, x25, Pos(Succ(Succ(x26))), x27) -> new_pr2F0G1(x24, x25, Succ(x26), x26, x27), new_pr2F0G1(x28, x29, x30, Zero, x31) -> new_pr2F0G(x28, new_sr1(x29, x31), Pos(new_primDivNatS1(Succ(x30), Succ(Zero))), x31) which results in the following constraint: 248.95/165.45 248.95/165.45 (1) (new_pr2F0G1(x24, x25, Succ(x26), x26, x27)=new_pr2F0G1(x28, x29, x30, Zero, x31) ==> new_pr2F0G(x24, x25, Pos(Succ(Succ(x26))), x27)_>=_new_pr2F0G1(x24, x25, Succ(x26), x26, x27)) 248.95/165.45 248.95/165.45 248.95/165.45 248.95/165.45 We simplified constraint (1) using rules (I), (II), (III), (IV) which results in the following new constraint: 248.95/165.45 248.95/165.45 (2) (new_pr2F0G(x24, x25, Pos(Succ(Succ(Zero))), x27)_>=_new_pr2F0G1(x24, x25, Succ(Zero), Zero, x27)) 248.95/165.45 248.95/165.45 248.95/165.45 248.95/165.45 248.95/165.45 248.95/165.45 248.95/165.45 248.95/165.45 248.95/165.45 For Pair new_pr2F0G(vyv187, vyv183, Pos(Succ(Succ(vyv222000))), h) -> H(vyv187, vyv183, Succ(vyv222000), h, anew_new_pr2F0G1(vyv222000)) the following chains were created: 248.95/165.45 *We consider the chain new_pr2F0G(x56, x57, Pos(Succ(Succ(x58))), x59) -> H(x56, x57, Succ(x58), x59, anew_new_pr2F0G1(x58)), H(x60, x61, x62, x63, cons_new_pr2F0G1(Zero)) -> new_pr2F0G1(x60, x61, x62, Zero, x63) which results in the following constraint: 248.95/165.45 248.95/165.45 (1) (H(x56, x57, Succ(x58), x59, anew_new_pr2F0G1(x58))=H(x60, x61, x62, x63, cons_new_pr2F0G1(Zero)) ==> new_pr2F0G(x56, x57, Pos(Succ(Succ(x58))), x59)_>=_H(x56, x57, Succ(x58), x59, anew_new_pr2F0G1(x58))) 248.95/165.45 248.95/165.45 248.95/165.45 248.95/165.45 We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: 248.95/165.45 248.95/165.45 (2) (anew_new_pr2F0G1(x58)=cons_new_pr2F0G1(Zero) ==> new_pr2F0G(x56, x57, Pos(Succ(Succ(x58))), x59)_>=_H(x56, x57, Succ(x58), x59, anew_new_pr2F0G1(x58))) 248.95/165.45 248.95/165.45 248.95/165.45 248.95/165.45 We simplified constraint (2) using rule (V) (with possible (I) afterwards) using induction on anew_new_pr2F0G1(x58)=cons_new_pr2F0G1(Zero) which results in the following new constraint: 248.95/165.45 248.95/165.45 (3) (new_new_pr2F0G1(x142)=cons_new_pr2F0G1(Zero) ==> new_pr2F0G(x56, x57, Pos(Succ(Succ(Succ(Succ(x142))))), x59)_>=_H(x56, x57, Succ(Succ(Succ(x142))), x59, anew_new_pr2F0G1(Succ(Succ(x142))))) 248.95/165.45 248.95/165.45 248.95/165.45 248.95/165.45 We simplified constraint (3) using rule (V) (with possible (I) afterwards) using induction on new_new_pr2F0G1(x142)=cons_new_pr2F0G1(Zero) which results in the following new constraints: 248.95/165.45 248.95/165.45 (4) (new_new_pr2F0G1(x143)=cons_new_pr2F0G1(Zero) & (\/x144,x145,x146:new_new_pr2F0G1(x143)=cons_new_pr2F0G1(Zero) ==> new_pr2F0G(x144, x145, Pos(Succ(Succ(Succ(Succ(x143))))), x146)_>=_H(x144, x145, Succ(Succ(Succ(x143))), x146, anew_new_pr2F0G1(Succ(Succ(x143))))) ==> new_pr2F0G(x56, x57, Pos(Succ(Succ(Succ(Succ(Succ(Succ(x143))))))), x59)_>=_H(x56, x57, Succ(Succ(Succ(Succ(Succ(x143))))), x59, anew_new_pr2F0G1(Succ(Succ(Succ(Succ(x143))))))) 248.95/165.45 248.95/165.45 (5) (cons_new_pr2F0G1(Zero)=cons_new_pr2F0G1(Zero) ==> new_pr2F0G(x56, x57, Pos(Succ(Succ(Succ(Succ(Zero))))), x59)_>=_H(x56, x57, Succ(Succ(Succ(Zero))), x59, anew_new_pr2F0G1(Succ(Succ(Zero))))) 248.95/165.45 248.95/165.45 248.95/165.45 248.95/165.45 We simplified constraint (4) using rule (VI) where we applied the induction hypothesis (\/x144,x145,x146:new_new_pr2F0G1(x143)=cons_new_pr2F0G1(Zero) ==> new_pr2F0G(x144, x145, Pos(Succ(Succ(Succ(Succ(x143))))), x146)_>=_H(x144, x145, Succ(Succ(Succ(x143))), x146, anew_new_pr2F0G1(Succ(Succ(x143))))) with sigma = [x144 / x56, x145 / x57, x146 / x59] which results in the following new constraint: 248.95/165.45 248.95/165.45 (6) (new_pr2F0G(x56, x57, Pos(Succ(Succ(Succ(Succ(x143))))), x59)_>=_H(x56, x57, Succ(Succ(Succ(x143))), x59, anew_new_pr2F0G1(Succ(Succ(x143)))) ==> new_pr2F0G(x56, x57, Pos(Succ(Succ(Succ(Succ(Succ(Succ(x143))))))), x59)_>=_H(x56, x57, Succ(Succ(Succ(Succ(Succ(x143))))), x59, anew_new_pr2F0G1(Succ(Succ(Succ(Succ(x143))))))) 248.95/165.45 248.95/165.45 248.95/165.45 248.95/165.45 We simplified constraint (5) using rules (I), (II) which results in the following new constraint: 248.95/165.45 248.95/165.45 (7) (new_pr2F0G(x56, x57, Pos(Succ(Succ(Succ(Succ(Zero))))), x59)_>=_H(x56, x57, Succ(Succ(Succ(Zero))), x59, anew_new_pr2F0G1(Succ(Succ(Zero))))) 248.95/165.45 248.95/165.45 248.95/165.45 248.95/165.45 248.95/165.45 248.95/165.45 248.95/165.45 248.95/165.45 248.95/165.45 For Pair H(vyv226, vyv227, vyv228, ba, cons_new_pr2F0G1(Zero)) -> new_pr2F0G1(vyv226, vyv227, vyv228, Zero, ba) the following chains were created: 248.95/165.45 *We consider the chain H(x64, x65, x66, x67, cons_new_pr2F0G1(Zero)) -> new_pr2F0G1(x64, x65, x66, Zero, x67), new_pr2F0G1(x68, x69, x70, Zero, x71) -> new_pr2F0G(x68, new_sr1(x69, x71), Pos(new_primDivNatS1(Succ(x70), Succ(Zero))), x71) which results in the following constraint: 248.95/165.45 248.95/165.45 (1) (new_pr2F0G1(x64, x65, x66, Zero, x67)=new_pr2F0G1(x68, x69, x70, Zero, x71) ==> H(x64, x65, x66, x67, cons_new_pr2F0G1(Zero))_>=_new_pr2F0G1(x64, x65, x66, Zero, x67)) 248.95/165.45 248.95/165.45 248.95/165.45 248.95/165.45 We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: 248.95/165.45 248.95/165.45 (2) (H(x64, x65, x66, x67, cons_new_pr2F0G1(Zero))_>=_new_pr2F0G1(x64, x65, x66, Zero, x67)) 248.95/165.45 248.95/165.45 248.95/165.45 248.95/165.45 248.95/165.45 248.95/165.45 248.95/165.45 248.95/165.45 248.95/165.45 To summarize, we get the following constraints P__>=_ for the following pairs. 248.95/165.45 248.95/165.45 *new_pr2F0G1(vyv226, vyv227, vyv228, Zero, ba) -> new_pr2F0G(vyv226, new_sr1(vyv227, ba), Pos(new_primDivNatS1(Succ(vyv228), Succ(Zero))), ba) 248.95/165.45 248.95/165.45 *(new_pr2F0G1(x4, x5, Succ(Zero), Zero, x7)_>=_new_pr2F0G(x4, new_sr1(x5, x7), Pos(new_primDivNatS1(Succ(Succ(Zero)), Succ(Zero))), x7)) 248.95/165.45 248.95/165.45 248.95/165.45 *(new_pr2F0G1(x4, x5, Succ(Succ(x95)), Zero, x7)_>=_new_pr2F0G(x4, new_sr1(x5, x7), Pos(new_primDivNatS1(Succ(Succ(Succ(x95))), Succ(Zero))), x7)) 248.95/165.45 248.95/165.45 248.95/165.45 *(new_pr2F0G1(x12, x13, Succ(Zero), Zero, x15)_>=_new_pr2F0G(x12, new_sr1(x13, x15), Pos(new_primDivNatS1(Succ(Succ(Zero)), Succ(Zero))), x15)) 248.95/165.45 248.95/165.45 248.95/165.45 *(new_pr2F0G1(x12, x13, Succ(Succ(x124)), Zero, x15)_>=_new_pr2F0G(x12, new_sr1(x13, x15), Pos(new_primDivNatS1(Succ(Succ(Succ(x124))), Succ(Zero))), x15)) 248.95/165.45 248.95/165.45 248.95/165.45 248.95/165.45 248.95/165.45 *new_pr2F0G(vyv187, vyv183, Pos(Succ(Succ(vyv222000))), h) -> new_pr2F0G1(vyv187, vyv183, Succ(vyv222000), vyv222000, h) 248.95/165.45 248.95/165.45 *(new_pr2F0G(x24, x25, Pos(Succ(Succ(Zero))), x27)_>=_new_pr2F0G1(x24, x25, Succ(Zero), Zero, x27)) 248.95/165.45 248.95/165.45 248.95/165.45 248.95/165.45 248.95/165.45 *new_pr2F0G(vyv187, vyv183, Pos(Succ(Succ(vyv222000))), h) -> H(vyv187, vyv183, Succ(vyv222000), h, anew_new_pr2F0G1(vyv222000)) 248.95/165.46 248.95/165.46 *(new_pr2F0G(x56, x57, Pos(Succ(Succ(Succ(Succ(x143))))), x59)_>=_H(x56, x57, Succ(Succ(Succ(x143))), x59, anew_new_pr2F0G1(Succ(Succ(x143)))) ==> new_pr2F0G(x56, x57, Pos(Succ(Succ(Succ(Succ(Succ(Succ(x143))))))), x59)_>=_H(x56, x57, Succ(Succ(Succ(Succ(Succ(x143))))), x59, anew_new_pr2F0G1(Succ(Succ(Succ(Succ(x143))))))) 248.95/165.46 248.95/165.46 248.95/165.46 *(new_pr2F0G(x56, x57, Pos(Succ(Succ(Succ(Succ(Zero))))), x59)_>=_H(x56, x57, Succ(Succ(Succ(Zero))), x59, anew_new_pr2F0G1(Succ(Succ(Zero))))) 248.95/165.46 248.95/165.46 248.95/165.46 248.95/165.46 248.95/165.46 *H(vyv226, vyv227, vyv228, ba, cons_new_pr2F0G1(Zero)) -> new_pr2F0G1(vyv226, vyv227, vyv228, Zero, ba) 248.95/165.46 248.95/165.46 *(H(x64, x65, x66, x67, cons_new_pr2F0G1(Zero))_>=_new_pr2F0G1(x64, x65, x66, Zero, x67)) 248.95/165.46 248.95/165.46 248.95/165.46 248.95/165.46 248.95/165.46 248.95/165.46 248.95/165.46 248.95/165.46 248.95/165.46 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. 248.95/165.46 ---------------------------------------- 248.95/165.46 248.95/165.46 (937) 248.95/165.46 Obligation: 248.95/165.46 Q DP problem: 248.95/165.46 The TRS P consists of the following rules: 248.95/165.46 248.95/165.46 new_pr2F0G1(vyv226, vyv227, vyv228, Zero, ba) -> new_pr2F0G(vyv226, new_sr1(vyv227, ba), Pos(new_primDivNatS1(Succ(vyv228), Succ(Zero))), ba) 248.95/165.46 new_pr2F0G(vyv187, vyv183, Pos(Succ(Succ(vyv222000))), h) -> new_pr2F0G1(vyv187, vyv183, Succ(vyv222000), vyv222000, h) 248.95/165.46 new_pr2F0G(vyv187, vyv183, Pos(Succ(Succ(vyv222000))), h) -> H(vyv187, vyv183, Succ(vyv222000), h, anew_new_pr2F0G1(vyv222000)) 248.95/165.46 H(vyv226, vyv227, vyv228, ba, cons_new_pr2F0G1(Zero)) -> new_pr2F0G1(vyv226, vyv227, vyv228, Zero, ba) 248.95/165.46 248.95/165.46 The TRS R consists of the following rules: 248.95/165.46 248.95/165.46 new_sr2(vyv227, vyv226, ty_Int) -> new_sr14(vyv227, vyv226) 248.95/165.46 new_sr2(vyv227, vyv226, ty_Double) -> new_sr11(vyv227, vyv226) 248.95/165.46 new_sr2(vyv227, vyv226, ty_Integer) -> new_sr8(vyv227, vyv226) 248.95/165.46 new_sr2(vyv227, vyv226, ty_Float) -> new_sr13(vyv227, vyv226) 248.95/165.46 new_sr2(vyv227, vyv226, app(ty_Ratio, be)) -> new_sr12(vyv227, vyv226, be) 248.95/165.46 new_sr12(:%(vyv2390, vyv2391), :%(vyv2380, vyv2381), bf) -> new_reduce2Reduce1(vyv2390, vyv2380, vyv2391, vyv2381, new_esEs2(vyv2391, vyv2381, bf), bf) 248.95/165.46 new_esEs2(vyv2391, vyv2381, ty_Int) -> new_esEs(new_sr14(vyv2391, vyv2381)) 248.95/165.46 new_esEs2(vyv2391, vyv2381, ty_Integer) -> new_esEs1(new_sr8(vyv2391, vyv2381)) 248.95/165.46 new_reduce2Reduce1(vyv264, vyv265, vyv266, vyv267, False, bh) -> :%(new_quot1(vyv264, vyv265, vyv266, vyv267, bh), new_quot2(vyv266, vyv267, vyv264, vyv265, bh)) 248.95/165.46 new_reduce2Reduce1(vyv264, vyv265, vyv266, vyv267, True, bh) -> error([]) 248.95/165.46 new_quot1(vyv264, vyv265, vyv266, vyv267, ty_Int) -> new_quot0(new_sr14(vyv264, vyv265), new_sr14(vyv264, vyv265), new_sr14(vyv266, vyv267)) 248.95/165.46 new_quot1(vyv264, vyv265, vyv266, vyv267, ty_Integer) -> new_quot(new_sr8(vyv264, vyv265), new_sr8(vyv264, vyv265), new_sr8(vyv266, vyv267)) 248.95/165.46 new_quot2(vyv266, vyv267, vyv264, vyv265, ty_Int) -> new_quot0(new_sr14(vyv266, vyv267), new_sr14(vyv264, vyv265), new_sr14(vyv266, vyv267)) 248.95/165.46 new_quot2(vyv266, vyv267, vyv264, vyv265, ty_Integer) -> new_quot(new_sr8(vyv266, vyv267), new_sr8(vyv264, vyv265), new_sr8(vyv266, vyv267)) 248.95/165.46 new_sr8(vyv239, vyv238) -> error([]) 248.95/165.46 new_quot(vyv273, vyv275, vyv274) -> error([]) 248.95/165.46 new_sr14(Pos(vyv2390), Neg(vyv2380)) -> Neg(new_primMulNat0(vyv2390, vyv2380)) 248.95/165.46 new_sr14(Neg(vyv2390), Pos(vyv2380)) -> Neg(new_primMulNat0(vyv2390, vyv2380)) 248.95/165.46 new_sr14(Neg(vyv2390), Neg(vyv2380)) -> Pos(new_primMulNat0(vyv2390, vyv2380)) 248.95/165.46 new_sr14(Pos(vyv2390), Pos(vyv2380)) -> Pos(new_primMulNat0(vyv2390, vyv2380)) 248.95/165.46 new_quot0(Neg(vyv2700), vyv272, vyv271) -> new_primQuotInt0(vyv2700, new_gcd(vyv272, vyv271)) 248.95/165.46 new_quot0(Pos(vyv2700), vyv272, vyv271) -> new_primQuotInt(vyv2700, new_gcd(vyv272, vyv271)) 248.95/165.46 new_gcd(vyv272, vyv271) -> new_gcd2(new_esEs(vyv272), vyv272, vyv271) 248.95/165.46 new_primQuotInt(vyv2700, Pos(Succ(vyv28400))) -> Pos(new_primDivNatS1(vyv2700, vyv28400)) 248.95/165.46 new_primQuotInt(vyv2700, Neg(Zero)) -> new_error 248.95/165.46 new_primQuotInt(vyv2700, Pos(Zero)) -> new_error 248.95/165.46 new_primQuotInt(vyv2700, Neg(Succ(vyv28400))) -> Neg(new_primDivNatS1(vyv2700, vyv28400)) 248.95/165.46 new_primDivNatS1(Succ(Zero), Succ(vyv284000)) -> Zero 248.95/165.46 new_primDivNatS1(Succ(Succ(vyv270000)), Succ(vyv284000)) -> new_primDivNatS02(vyv270000, vyv284000, vyv270000, vyv284000) 248.95/165.46 new_primDivNatS1(Zero, vyv28400) -> Zero 248.95/165.46 new_primDivNatS1(Succ(Succ(vyv270000)), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS0(vyv270000), Zero)) 248.95/165.46 new_primDivNatS1(Succ(Zero), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS1, Zero)) 248.95/165.46 new_primMinusNatS1 -> Zero 248.95/165.46 new_primMinusNatS0(vyv270000) -> Succ(vyv270000) 248.95/165.46 new_primDivNatS02(vyv310, vyv311, Zero, Zero) -> new_primDivNatS01(vyv310, vyv311) 248.95/165.46 new_primDivNatS02(vyv310, vyv311, Succ(vyv3120), Zero) -> new_primDivNatS01(vyv310, vyv311) 248.95/165.46 new_primDivNatS02(vyv310, vyv311, Zero, Succ(vyv3130)) -> Zero 248.95/165.46 new_primDivNatS02(vyv310, vyv311, Succ(vyv3120), Succ(vyv3130)) -> new_primDivNatS02(vyv310, vyv311, vyv3120, vyv3130) 248.95/165.46 new_primDivNatS01(vyv310, vyv311) -> Succ(new_primDivNatS1(new_primMinusNatS2(vyv310, vyv311), Succ(vyv311))) 248.95/165.46 new_primMinusNatS2(Zero, Succ(vyv3110)) -> Zero 248.95/165.46 new_primMinusNatS2(Succ(vyv3100), Zero) -> Succ(vyv3100) 248.95/165.46 new_primMinusNatS2(Zero, Zero) -> Zero 248.95/165.46 new_primMinusNatS2(Succ(vyv3100), Succ(vyv3110)) -> new_primMinusNatS2(vyv3100, vyv3110) 248.95/165.46 new_error -> error([]) 248.95/165.46 new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) 248.95/165.46 new_esEs(Pos(Succ(vyv24100))) -> new_primEqInt(Pos(Succ(vyv24100))) 248.95/165.46 new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) 248.95/165.46 new_esEs(Neg(Succ(vyv24100))) -> new_primEqInt(Neg(Succ(vyv24100))) 248.95/165.46 new_gcd2(True, vyv272, vyv271) -> new_gcd1(new_esEs(vyv271), vyv272, vyv271) 248.95/165.46 new_gcd2(False, vyv272, vyv271) -> new_gcd0(vyv272, vyv271) 248.95/165.46 new_gcd0(vyv272, vyv271) -> new_gcd0Gcd'10(new_esEs(new_abs(vyv271)), vyv272, vyv271) 248.95/165.46 new_abs(Neg(Zero)) -> Neg(Zero) 248.95/165.46 new_abs(Neg(Succ(vyv27100))) -> Pos(Succ(vyv27100)) 248.95/165.46 new_abs(Pos(Succ(vyv27100))) -> Pos(Succ(vyv27100)) 248.95/165.46 new_abs(Pos(Zero)) -> Pos(Zero) 248.95/165.46 new_gcd0Gcd'10(True, vyv272, vyv271) -> new_abs(vyv272) 248.95/165.46 new_gcd0Gcd'10(False, vyv272, vyv271) -> new_gcd0Gcd'00(new_abs(vyv272), new_abs(vyv271)) 248.95/165.46 new_gcd0Gcd'11(False, vyv291, vyv292) -> new_gcd0Gcd'00(vyv291, new_rem(vyv292, vyv291)) 248.95/165.46 new_gcd0Gcd'00(vyv292, vyv291) -> new_gcd0Gcd'11(new_esEs(new_rem(vyv292, vyv291)), vyv291, vyv292) 248.95/165.46 new_rem(Pos(vyv2920), Neg(Zero)) -> new_error 248.95/165.46 new_rem(Neg(vyv2920), Pos(Zero)) -> new_error 248.95/165.46 new_rem(Pos(vyv2920), Neg(Succ(vyv29100))) -> Pos(new_primModNatS1(vyv2920, vyv29100)) 248.95/165.46 new_rem(Neg(vyv2920), Pos(Succ(vyv29100))) -> Neg(new_primModNatS1(vyv2920, vyv29100)) 248.95/165.46 new_rem(Pos(vyv2920), Pos(Succ(vyv29100))) -> Pos(new_primModNatS1(vyv2920, vyv29100)) 248.95/165.46 new_rem(Neg(vyv2920), Neg(Zero)) -> new_error 248.95/165.46 new_rem(Neg(vyv2920), Neg(Succ(vyv29100))) -> Neg(new_primModNatS1(vyv2920, vyv29100)) 248.95/165.46 new_rem(Pos(vyv2920), Pos(Zero)) -> new_error 248.95/165.46 new_gcd0Gcd'11(True, vyv291, vyv292) -> vyv291 248.95/165.46 new_primModNatS1(Succ(Zero), Succ(vyv291000)) -> Succ(Zero) 248.95/165.46 new_primModNatS1(Zero, vyv29100) -> Zero 248.95/165.46 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 248.95/165.46 new_primModNatS1(Succ(Succ(vyv292000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv292000), Zero) 248.95/165.46 new_primModNatS1(Succ(Succ(vyv292000)), Succ(vyv291000)) -> new_primModNatS01(vyv292000, vyv291000, vyv292000, vyv291000) 248.95/165.46 new_primModNatS01(vyv330, vyv331, Zero, Zero) -> new_primModNatS02(vyv330, vyv331) 248.95/165.46 new_primModNatS02(vyv330, vyv331) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv330), Succ(vyv331)), Succ(vyv331)) 248.95/165.46 new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Zero) -> new_primModNatS02(vyv330, vyv331) 248.95/165.46 new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Succ(vyv3330)) -> new_primModNatS01(vyv330, vyv331, vyv3320, vyv3330) 248.95/165.46 new_primModNatS01(vyv330, vyv331, Zero, Succ(vyv3330)) -> Succ(Succ(vyv330)) 248.95/165.46 new_gcd1(True, vyv272, vyv271) -> new_error 248.95/165.46 new_gcd1(False, vyv272, vyv271) -> new_gcd0(vyv272, vyv271) 248.95/165.46 new_primEqInt(Neg(Succ(vyv242000))) -> False 248.95/165.46 new_primEqInt(Pos(Zero)) -> True 248.95/165.46 new_primEqInt(Pos(Succ(vyv242000))) -> False 248.95/165.46 new_primEqInt(Neg(Zero)) -> True 248.95/165.46 new_primQuotInt0(vyv2700, Pos(Succ(vyv28700))) -> Neg(new_primDivNatS1(vyv2700, vyv28700)) 248.95/165.46 new_primQuotInt0(vyv2700, Neg(Zero)) -> new_error 248.95/165.46 new_primQuotInt0(vyv2700, Neg(Succ(vyv28700))) -> Pos(new_primDivNatS1(vyv2700, vyv28700)) 248.95/165.46 new_primQuotInt0(vyv2700, Pos(Zero)) -> new_error 248.95/165.46 new_primMulNat0(Succ(vyv23900), Zero) -> Zero 248.95/165.46 new_primMulNat0(Zero, Succ(vyv23800)) -> Zero 248.95/165.46 new_primMulNat0(Zero, Zero) -> Zero 248.95/165.46 new_primMulNat0(Succ(vyv23900), Succ(vyv23800)) -> new_primPlusNat0(new_primMulNat0(vyv23900, Succ(vyv23800)), Succ(vyv23800)) 248.95/165.46 new_primPlusNat0(Succ(vyv4000), Succ(vyv5000)) -> Succ(Succ(new_primPlusNat0(vyv4000, vyv5000))) 248.95/165.46 new_primPlusNat0(Zero, Succ(vyv5000)) -> Succ(vyv5000) 248.95/165.46 new_primPlusNat0(Zero, Zero) -> Zero 248.95/165.46 new_primPlusNat0(Succ(vyv4000), Zero) -> Succ(vyv4000) 248.95/165.46 new_esEs1(Integer(vyv2690)) -> new_primEqInt(vyv2690) 248.95/165.46 new_sr13(vyv239, vyv238) -> error([]) 248.95/165.46 new_sr11(vyv239, vyv238) -> error([]) 248.95/165.46 new_sr1(vyv227, ty_Int) -> new_sr6(vyv227) 248.95/165.46 new_sr1(vyv227, ty_Integer) -> new_sr7(vyv227) 248.95/165.46 new_sr1(vyv227, app(ty_Ratio, be)) -> new_sr5(vyv227, be) 248.95/165.46 new_sr1(vyv227, ty_Float) -> new_sr10(vyv227) 248.95/165.46 new_sr1(vyv227, ty_Double) -> new_sr9(vyv227) 248.95/165.46 new_sr9(vyv183) -> error([]) 248.95/165.46 new_sr10(vyv183) -> error([]) 248.95/165.46 new_sr5(:%(vyv1830, vyv1831), bd) -> new_reduce2Reduce1(vyv1830, vyv1830, vyv1831, vyv1831, new_esEs0(vyv1831, bd), bd) 248.95/165.46 new_esEs0(vyv1831, ty_Int) -> new_esEs(new_sr6(vyv1831)) 248.95/165.46 new_esEs0(vyv1831, ty_Integer) -> new_esEs1(new_sr7(vyv1831)) 248.95/165.46 new_sr7(vyv183) -> error([]) 248.95/165.46 new_sr6(Neg(vyv1830)) -> Pos(new_primMulNat1(vyv1830)) 248.95/165.46 new_sr6(Pos(vyv1830)) -> Pos(new_primMulNat1(vyv1830)) 248.95/165.46 new_primMulNat1(Succ(vyv18300)) -> new_primPlusNat0(new_primMulNat2(vyv18300), Succ(vyv18300)) 248.95/165.46 new_primMulNat1(Zero) -> Zero 248.95/165.46 new_primMulNat2(Succ(vyv183000)) -> new_primPlusNat0(new_primMulNat3(vyv183000), Succ(Succ(vyv183000))) 248.95/165.46 new_primMulNat2(Zero) -> Zero 248.95/165.46 new_primMulNat3(Succ(vyv1830000)) -> new_primPlusNat0(new_primMulNat4(vyv1830000), Succ(Succ(Succ(vyv1830000)))) 248.95/165.46 new_primMulNat3(Zero) -> Zero 248.95/165.46 new_primMulNat4(Succ(vyv18300000)) -> new_primPlusNat0(new_primMulNat0(vyv18300000, Succ(Succ(Succ(Succ(vyv18300000))))), Succ(Succ(Succ(Succ(vyv18300000))))) 248.95/165.46 new_primMulNat4(Zero) -> Zero 248.95/165.46 anew_new_pr2F0G1(Succ(Succ(vyv22900))) -> new_new_pr2F0G1(vyv22900) 248.95/165.46 new_new_pr2F0G1(Succ(Succ(vyv22900))) -> new_new_pr2F0G1(vyv22900) 248.95/165.46 new_new_pr2F0G1(Zero) -> cons_new_pr2F0G1(Zero) 248.95/165.46 248.95/165.46 The set Q consists of the following terms: 248.95/165.46 248.95/165.46 new_rem(Pos(x0), Pos(Succ(x1))) 248.95/165.46 new_quot1(x0, x1, x2, x3, ty_Integer) 248.95/165.46 new_primModNatS1(Succ(Zero), Succ(x0)) 248.95/165.46 new_primMulNat4(Zero) 248.95/165.46 new_gcd1(False, x0, x1) 248.95/165.46 new_primEqInt(Pos(Zero)) 248.95/165.46 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 248.95/165.46 new_rem(Pos(x0), Neg(Succ(x1))) 248.95/165.46 new_rem(Neg(x0), Pos(Succ(x1))) 248.95/165.46 new_sr10(x0) 248.95/165.46 new_quot1(x0, x1, x2, x3, ty_Int) 248.95/165.46 new_quot2(x0, x1, x2, x3, ty_Integer) 248.95/165.46 new_primModNatS01(x0, x1, Succ(x2), Zero) 248.95/165.46 new_primMulNat3(Zero) 248.95/165.46 new_primDivNatS02(x0, x1, Succ(x2), Zero) 248.95/165.46 new_quot2(x0, x1, x2, x3, ty_Int) 248.95/165.46 new_gcd2(False, x0, x1) 248.95/165.46 new_primDivNatS1(Succ(Zero), Zero) 248.95/165.46 new_esEs0(x0, ty_Int) 248.95/165.46 new_sr14(Pos(x0), Pos(x1)) 248.95/165.46 new_primMulNat0(Zero, Zero) 248.95/165.46 new_primPlusNat0(Succ(x0), Zero) 248.95/165.46 new_primMulNat2(Zero) 248.95/165.46 new_sr11(x0, x1) 248.95/165.46 new_primModNatS01(x0, x1, Zero, Zero) 248.95/165.46 new_esEs2(x0, x1, ty_Int) 248.95/165.46 new_gcd1(True, x0, x1) 248.95/165.46 new_sr13(x0, x1) 248.95/165.46 new_sr14(Pos(x0), Neg(x1)) 248.95/165.46 new_sr14(Neg(x0), Pos(x1)) 248.95/165.46 new_primDivNatS1(Succ(Succ(x0)), Succ(x1)) 248.95/165.46 new_sr1(x0, ty_Int) 248.95/165.46 new_primModNatS1(Zero, x0) 248.95/165.46 new_esEs(Pos(Succ(x0))) 248.95/165.46 new_primMulNat3(Succ(x0)) 248.95/165.46 new_sr1(x0, app(ty_Ratio, x1)) 248.95/165.46 new_primQuotInt(x0, Neg(Succ(x1))) 248.95/165.46 new_reduce2Reduce1(x0, x1, x2, x3, False, x4) 248.95/165.46 new_primDivNatS1(Zero, x0) 248.95/165.46 new_primDivNatS02(x0, x1, Succ(x2), Succ(x3)) 248.95/165.46 new_primModNatS02(x0, x1) 248.95/165.46 new_primDivNatS1(Succ(Zero), Succ(x0)) 248.95/165.46 new_sr6(Neg(x0)) 248.95/165.46 new_gcd0Gcd'10(True, x0, x1) 248.95/165.46 new_primMulNat0(Succ(x0), Succ(x1)) 248.95/165.46 new_abs(Neg(Zero)) 248.95/165.46 new_rem(Pos(x0), Neg(Zero)) 248.95/165.46 new_rem(Neg(x0), Pos(Zero)) 248.95/165.46 new_primMinusNatS2(Zero, Succ(x0)) 248.95/165.46 new_esEs(Neg(Succ(x0))) 248.95/165.46 new_error 248.95/165.46 new_primModNatS1(Succ(Zero), Zero) 248.95/165.46 new_primMulNat0(Zero, Succ(x0)) 248.95/165.46 new_quot(x0, x1, x2) 248.95/165.46 new_gcd2(True, x0, x1) 248.95/165.46 new_gcd0Gcd'11(True, x0, x1) 248.95/165.46 new_primEqInt(Neg(Zero)) 248.95/165.46 new_sr2(x0, x1, ty_Double) 248.95/165.46 new_primMulNat0(Succ(x0), Zero) 248.95/165.46 new_quot0(Neg(x0), x1, x2) 248.95/165.46 new_primMinusNatS2(Succ(x0), Succ(x1)) 248.95/165.46 new_sr8(x0, x1) 248.95/165.46 new_primDivNatS01(x0, x1) 248.95/165.46 new_primDivNatS02(x0, x1, Zero, Succ(x2)) 248.95/165.46 new_primPlusNat0(Succ(x0), Succ(x1)) 248.95/165.46 new_sr1(x0, ty_Integer) 248.95/165.46 new_primPlusNat0(Zero, Zero) 248.95/165.46 new_sr1(x0, ty_Float) 248.95/165.46 new_sr12(:%(x0, x1), :%(x2, x3), x4) 248.95/165.46 new_abs(Neg(Succ(x0))) 248.95/165.46 new_sr1(x0, ty_Double) 248.95/165.46 new_sr7(x0) 248.95/165.46 new_gcd0(x0, x1) 248.95/165.46 new_primQuotInt0(x0, Pos(Succ(x1))) 248.95/165.46 new_sr5(:%(x0, x1), x2) 248.95/165.46 new_primMinusNatS2(Zero, Zero) 248.95/165.46 new_primMulNat1(Succ(x0)) 248.95/165.46 new_abs(Pos(Succ(x0))) 248.95/165.46 new_esEs(Pos(Zero)) 248.95/165.46 new_primQuotInt0(x0, Pos(Zero)) 248.95/165.46 new_primEqInt(Neg(Succ(x0))) 248.95/165.46 new_primQuotInt(x0, Neg(Zero)) 248.95/165.46 new_primQuotInt0(x0, Neg(Zero)) 248.95/165.46 new_primQuotInt0(x0, Neg(Succ(x1))) 248.95/165.46 new_gcd(x0, x1) 248.95/165.46 new_quot0(Pos(x0), x1, x2) 248.95/165.46 new_primMinusNatS0(x0) 248.95/165.46 new_primPlusNat0(Zero, Succ(x0)) 248.95/165.46 new_sr2(x0, x1, app(ty_Ratio, x2)) 248.95/165.46 new_sr2(x0, x1, ty_Int) 248.95/165.46 new_primQuotInt(x0, Pos(Succ(x1))) 248.95/165.46 new_primDivNatS1(Succ(Succ(x0)), Zero) 248.95/165.46 new_rem(Pos(x0), Pos(Zero)) 248.95/165.46 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 248.95/165.46 new_primDivNatS02(x0, x1, Zero, Zero) 248.95/165.46 new_abs(Pos(Zero)) 248.95/165.46 new_gcd0Gcd'10(False, x0, x1) 248.95/165.46 new_primMinusNatS1 248.95/165.46 new_esEs1(Integer(x0)) 248.95/165.46 new_sr2(x0, x1, ty_Integer) 248.95/165.46 new_primModNatS01(x0, x1, Zero, Succ(x2)) 248.95/165.46 new_primMulNat2(Succ(x0)) 248.95/165.46 new_sr14(Neg(x0), Neg(x1)) 248.95/165.46 new_sr2(x0, x1, ty_Float) 248.95/165.46 new_primMinusNatS2(Succ(x0), Zero) 248.95/165.46 new_sr6(Pos(x0)) 248.95/165.46 new_esEs2(x0, x1, ty_Integer) 248.95/165.46 new_primMulNat4(Succ(x0)) 248.95/165.46 new_rem(Neg(x0), Neg(Succ(x1))) 248.95/165.46 new_primEqInt(Pos(Succ(x0))) 248.95/165.46 new_primQuotInt(x0, Pos(Zero)) 248.95/165.46 new_gcd0Gcd'11(False, x0, x1) 248.95/165.46 new_sr9(x0) 248.95/165.46 new_primModNatS1(Succ(Succ(x0)), Zero) 248.95/165.46 new_esEs0(x0, ty_Integer) 248.95/165.46 new_gcd0Gcd'00(x0, x1) 248.95/165.46 new_reduce2Reduce1(x0, x1, x2, x3, True, x4) 248.95/165.46 new_esEs(Neg(Zero)) 248.95/165.46 new_primMulNat1(Zero) 248.95/165.46 new_rem(Neg(x0), Neg(Zero)) 248.95/165.46 new_new_pr2F0G1(Succ(Succ(x0))) 248.95/165.46 anew_new_pr2F0G1(Succ(Succ(x0))) 248.95/165.46 new_new_pr2F0G1(Zero) 248.95/165.46 248.95/165.46 We have to consider all minimal (P,Q,R)-chains. 248.95/165.46 ---------------------------------------- 248.95/165.46 248.95/165.46 (938) 248.95/165.46 Obligation: 248.95/165.46 Q DP problem: 248.95/165.46 The TRS P consists of the following rules: 248.95/165.46 248.95/165.46 new_pr2F0G1(vyv226, vyv227, vyv228, Succ(Succ(vyv22900)), ba) -> new_pr2F0G1(vyv226, vyv227, vyv228, vyv22900, ba) 248.95/165.46 248.95/165.46 R is empty. 248.95/165.46 Q is empty. 248.95/165.46 We have to consider all minimal (P,Q,R)-chains. 248.95/165.46 ---------------------------------------- 248.95/165.46 248.95/165.46 (939) QDPSizeChangeProof (EQUIVALENT) 248.95/165.46 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. 248.95/165.46 248.95/165.46 From the DPs we obtained the following set of size-change graphs: 248.95/165.46 *new_pr2F0G1(vyv226, vyv227, vyv228, Succ(Succ(vyv22900)), ba) -> new_pr2F0G1(vyv226, vyv227, vyv228, vyv22900, ba) 248.95/165.46 The graph contains the following edges 1 >= 1, 2 >= 2, 3 >= 3, 4 > 4, 5 >= 5 248.95/165.46 248.95/165.46 248.95/165.46 ---------------------------------------- 248.95/165.46 248.95/165.46 (940) 248.95/165.46 YES 248.95/165.46 248.95/165.46 ---------------------------------------- 248.95/165.46 248.95/165.46 (941) 248.95/165.46 Obligation: 248.95/165.46 Q DP problem: 248.95/165.46 The TRS P consists of the following rules: 248.95/165.46 248.95/165.46 new_primMinusNatS(Succ(vyv3100), Succ(vyv3110)) -> new_primMinusNatS(vyv3100, vyv3110) 248.95/165.46 248.95/165.46 R is empty. 248.95/165.46 Q is empty. 248.95/165.46 We have to consider all minimal (P,Q,R)-chains. 248.95/165.46 ---------------------------------------- 248.95/165.46 248.95/165.46 (942) QDPSizeChangeProof (EQUIVALENT) 248.95/165.46 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. 248.95/165.46 248.95/165.46 From the DPs we obtained the following set of size-change graphs: 248.95/165.46 *new_primMinusNatS(Succ(vyv3100), Succ(vyv3110)) -> new_primMinusNatS(vyv3100, vyv3110) 248.95/165.46 The graph contains the following edges 1 > 1, 2 > 2 248.95/165.46 248.95/165.46 248.95/165.46 ---------------------------------------- 248.95/165.46 248.95/165.46 (943) 248.95/165.46 YES 248.95/165.46 248.95/165.46 ---------------------------------------- 248.95/165.46 248.95/165.46 (944) 248.95/165.46 Obligation: 248.95/165.46 Q DP problem: 248.95/165.46 The TRS P consists of the following rules: 248.95/165.46 248.95/165.46 new_primPlusNat(Succ(vyv4000), Succ(vyv5000)) -> new_primPlusNat(vyv4000, vyv5000) 248.95/165.46 248.95/165.46 R is empty. 248.95/165.46 Q is empty. 248.95/165.46 We have to consider all minimal (P,Q,R)-chains. 248.95/165.46 ---------------------------------------- 248.95/165.46 248.95/165.46 (945) QDPSizeChangeProof (EQUIVALENT) 248.95/165.46 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. 248.95/165.46 248.95/165.46 From the DPs we obtained the following set of size-change graphs: 248.95/165.46 *new_primPlusNat(Succ(vyv4000), Succ(vyv5000)) -> new_primPlusNat(vyv4000, vyv5000) 248.95/165.46 The graph contains the following edges 1 > 1, 2 > 2 248.95/165.46 248.95/165.46 248.95/165.46 ---------------------------------------- 248.95/165.46 248.95/165.46 (946) 248.95/165.46 YES 248.95/165.46 248.95/165.46 ---------------------------------------- 248.95/165.46 248.95/165.46 (947) 248.95/165.46 Obligation: 248.95/165.46 Q DP problem: 248.95/165.46 The TRS P consists of the following rules: 248.95/165.46 248.95/165.46 new_primMinusNat(Succ(vyv2280), Succ(vyv244000)) -> new_primMinusNat(vyv2280, vyv244000) 248.95/165.46 248.95/165.46 R is empty. 248.95/165.46 Q is empty. 248.95/165.46 We have to consider all minimal (P,Q,R)-chains. 248.95/165.46 ---------------------------------------- 248.95/165.46 248.95/165.46 (948) QDPSizeChangeProof (EQUIVALENT) 248.95/165.46 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. 248.95/165.46 248.95/165.46 From the DPs we obtained the following set of size-change graphs: 248.95/165.46 *new_primMinusNat(Succ(vyv2280), Succ(vyv244000)) -> new_primMinusNat(vyv2280, vyv244000) 248.95/165.46 The graph contains the following edges 1 > 1, 2 > 2 248.95/165.46 248.95/165.46 248.95/165.46 ---------------------------------------- 248.95/165.46 248.95/165.46 (949) 248.95/165.46 YES 248.95/165.46 248.95/165.46 ---------------------------------------- 248.95/165.46 248.95/165.46 (950) Narrow (COMPLETE) 248.95/165.46 Haskell To QDPs 248.95/165.46 248.95/165.46 digraph dp_graph { 248.95/165.46 node [outthreshold=100, inthreshold=100];1[label="(^)",fontsize=16,color="grey",shape="box"];1 -> 3[label="",style="dashed", color="grey", weight=3]; 248.95/165.46 3[label="(^) vyv3",fontsize=16,color="grey",shape="box"];3 -> 4[label="",style="dashed", color="grey", weight=3]; 248.95/165.46 4[label="(^) vyv3 vyv4",fontsize=16,color="black",shape="triangle"];4 -> 5[label="",style="solid", color="black", weight=3]; 248.95/165.46 5[label="pr4 vyv3 vyv4",fontsize=16,color="black",shape="box"];5 -> 6[label="",style="solid", color="black", weight=3]; 248.95/165.46 6[label="pr3 (vyv4 == fromInt (Pos Zero)) vyv3 vyv4",fontsize=16,color="black",shape="box"];6 -> 7[label="",style="solid", color="black", weight=3]; 248.95/165.46 7[label="pr3 (primEqInt vyv4 (fromInt (Pos Zero))) vyv3 vyv4",fontsize=16,color="burlywood",shape="box"];4392[label="vyv4/Pos vyv40",fontsize=10,color="white",style="solid",shape="box"];7 -> 4392[label="",style="solid", color="burlywood", weight=9]; 248.95/165.46 4392 -> 8[label="",style="solid", color="burlywood", weight=3]; 248.95/165.46 4393[label="vyv4/Neg vyv40",fontsize=10,color="white",style="solid",shape="box"];7 -> 4393[label="",style="solid", color="burlywood", weight=9]; 248.95/165.46 4393 -> 9[label="",style="solid", color="burlywood", weight=3]; 248.95/165.46 8[label="pr3 (primEqInt (Pos vyv40) (fromInt (Pos Zero))) vyv3 (Pos vyv40)",fontsize=16,color="burlywood",shape="box"];4394[label="vyv40/Succ vyv400",fontsize=10,color="white",style="solid",shape="box"];8 -> 4394[label="",style="solid", color="burlywood", weight=9]; 248.95/165.46 4394 -> 10[label="",style="solid", color="burlywood", weight=3]; 248.95/165.46 4395[label="vyv40/Zero",fontsize=10,color="white",style="solid",shape="box"];8 -> 4395[label="",style="solid", color="burlywood", weight=9]; 248.95/165.46 4395 -> 11[label="",style="solid", color="burlywood", weight=3]; 248.95/165.46 9[label="pr3 (primEqInt (Neg vyv40) (fromInt (Pos Zero))) vyv3 (Neg vyv40)",fontsize=16,color="burlywood",shape="box"];4396[label="vyv40/Succ vyv400",fontsize=10,color="white",style="solid",shape="box"];9 -> 4396[label="",style="solid", color="burlywood", weight=9]; 248.95/165.46 4396 -> 12[label="",style="solid", color="burlywood", weight=3]; 248.95/165.46 4397[label="vyv40/Zero",fontsize=10,color="white",style="solid",shape="box"];9 -> 4397[label="",style="solid", color="burlywood", weight=9]; 248.95/165.46 4397 -> 13[label="",style="solid", color="burlywood", weight=3]; 248.95/165.46 10[label="pr3 (primEqInt (Pos (Succ vyv400)) (fromInt (Pos Zero))) vyv3 (Pos (Succ vyv400))",fontsize=16,color="black",shape="box"];10 -> 14[label="",style="solid", color="black", weight=3]; 248.95/165.46 11[label="pr3 (primEqInt (Pos Zero) (fromInt (Pos Zero))) vyv3 (Pos Zero)",fontsize=16,color="black",shape="box"];11 -> 15[label="",style="solid", color="black", weight=3]; 248.95/165.46 12[label="pr3 (primEqInt (Neg (Succ vyv400)) (fromInt (Pos Zero))) vyv3 (Neg (Succ vyv400))",fontsize=16,color="black",shape="box"];12 -> 16[label="",style="solid", color="black", weight=3]; 248.95/165.46 13[label="pr3 (primEqInt (Neg Zero) (fromInt (Pos Zero))) vyv3 (Neg Zero)",fontsize=16,color="black",shape="box"];13 -> 17[label="",style="solid", color="black", weight=3]; 248.95/165.46 14[label="pr3 (primEqInt (Pos (Succ vyv400)) (Pos Zero)) vyv3 (Pos (Succ vyv400))",fontsize=16,color="black",shape="box"];14 -> 18[label="",style="solid", color="black", weight=3]; 248.95/165.46 15[label="pr3 (primEqInt (Pos Zero) (Pos Zero)) vyv3 (Pos Zero)",fontsize=16,color="black",shape="box"];15 -> 19[label="",style="solid", color="black", weight=3]; 248.95/165.46 16[label="pr3 (primEqInt (Neg (Succ vyv400)) (Pos Zero)) vyv3 (Neg (Succ vyv400))",fontsize=16,color="black",shape="box"];16 -> 20[label="",style="solid", color="black", weight=3]; 248.95/165.46 17[label="pr3 (primEqInt (Neg Zero) (Pos Zero)) vyv3 (Neg Zero)",fontsize=16,color="black",shape="box"];17 -> 21[label="",style="solid", color="black", weight=3]; 248.95/165.46 18[label="pr3 False vyv3 (Pos (Succ vyv400))",fontsize=16,color="black",shape="box"];18 -> 22[label="",style="solid", color="black", weight=3]; 248.95/165.46 19[label="pr3 True vyv3 (Pos Zero)",fontsize=16,color="black",shape="box"];19 -> 23[label="",style="solid", color="black", weight=3]; 248.95/165.46 20[label="pr3 False vyv3 (Neg (Succ vyv400))",fontsize=16,color="black",shape="box"];20 -> 24[label="",style="solid", color="black", weight=3]; 248.95/165.46 21[label="pr3 True vyv3 (Neg Zero)",fontsize=16,color="black",shape="box"];21 -> 25[label="",style="solid", color="black", weight=3]; 248.95/165.46 22[label="pr2 vyv3 (Pos (Succ vyv400))",fontsize=16,color="black",shape="box"];22 -> 26[label="",style="solid", color="black", weight=3]; 248.95/165.46 23[label="fromInt (Pos (Succ Zero))",fontsize=16,color="black",shape="triangle"];23 -> 27[label="",style="solid", color="black", weight=3]; 248.95/165.46 24[label="pr2 vyv3 (Neg (Succ vyv400))",fontsize=16,color="black",shape="box"];24 -> 28[label="",style="solid", color="black", weight=3]; 248.95/165.46 25 -> 23[label="",style="dashed", color="red", weight=0]; 248.95/165.46 25[label="fromInt (Pos (Succ Zero))",fontsize=16,color="magenta"];26[label="pr2Pr1 vyv3 (Pos (Succ vyv400)) (Pos (Succ vyv400) > fromInt (Pos Zero))",fontsize=16,color="black",shape="box"];26 -> 29[label="",style="solid", color="black", weight=3]; 248.95/165.46 27[label="intToRatio (Pos (Succ Zero))",fontsize=16,color="black",shape="box"];27 -> 30[label="",style="solid", color="black", weight=3]; 248.95/165.46 28[label="pr2Pr1 vyv3 (Neg (Succ vyv400)) (Neg (Succ vyv400) > fromInt (Pos Zero))",fontsize=16,color="black",shape="box"];28 -> 31[label="",style="solid", color="black", weight=3]; 248.95/165.46 29[label="pr2Pr1 vyv3 (Pos (Succ vyv400)) (compare (Pos (Succ vyv400)) (fromInt (Pos Zero)) == GT)",fontsize=16,color="black",shape="box"];29 -> 32[label="",style="solid", color="black", weight=3]; 248.95/165.46 30[label="fromInt (Pos (Succ Zero)) :% fromInt (Pos (Succ Zero))",fontsize=16,color="green",shape="box"];30 -> 33[label="",style="dashed", color="green", weight=3]; 248.95/165.46 30 -> 34[label="",style="dashed", color="green", weight=3]; 248.95/165.46 31[label="pr2Pr1 vyv3 (Neg (Succ vyv400)) (compare (Neg (Succ vyv400)) (fromInt (Pos Zero)) == GT)",fontsize=16,color="black",shape="box"];31 -> 35[label="",style="solid", color="black", weight=3]; 248.95/165.46 32[label="pr2Pr1 vyv3 (Pos (Succ vyv400)) (primCmpInt (Pos (Succ vyv400)) (fromInt (Pos Zero)) == GT)",fontsize=16,color="black",shape="box"];32 -> 36[label="",style="solid", color="black", weight=3]; 248.95/165.46 33[label="fromInt (Pos (Succ Zero))",fontsize=16,color="black",shape="triangle"];33 -> 37[label="",style="solid", color="black", weight=3]; 248.95/165.46 34 -> 33[label="",style="dashed", color="red", weight=0]; 248.95/165.46 34[label="fromInt (Pos (Succ Zero))",fontsize=16,color="magenta"];35[label="pr2Pr1 vyv3 (Neg (Succ vyv400)) (primCmpInt (Neg (Succ vyv400)) (fromInt (Pos Zero)) == GT)",fontsize=16,color="black",shape="box"];35 -> 38[label="",style="solid", color="black", weight=3]; 248.95/165.46 36[label="pr2Pr1 vyv3 (Pos (Succ vyv400)) (primCmpInt (Pos (Succ vyv400)) (Pos Zero) == GT)",fontsize=16,color="black",shape="box"];36 -> 39[label="",style="solid", color="black", weight=3]; 248.95/165.46 37[label="Pos (Succ Zero)",fontsize=16,color="green",shape="box"];38[label="pr2Pr1 vyv3 (Neg (Succ vyv400)) (primCmpInt (Neg (Succ vyv400)) (Pos Zero) == GT)",fontsize=16,color="black",shape="box"];38 -> 40[label="",style="solid", color="black", weight=3]; 248.95/165.46 39[label="pr2Pr1 vyv3 (Pos (Succ vyv400)) (primCmpNat (Succ vyv400) Zero == GT)",fontsize=16,color="black",shape="box"];39 -> 41[label="",style="solid", color="black", weight=3]; 248.95/165.46 40[label="pr2Pr1 vyv3 (Neg (Succ vyv400)) (LT == GT)",fontsize=16,color="black",shape="box"];40 -> 42[label="",style="solid", color="black", weight=3]; 248.95/165.46 41[label="pr2Pr1 vyv3 (Pos (Succ vyv400)) (GT == GT)",fontsize=16,color="black",shape="box"];41 -> 43[label="",style="solid", color="black", weight=3]; 248.95/165.46 42[label="pr2Pr1 vyv3 (Neg (Succ vyv400)) False",fontsize=16,color="black",shape="box"];42 -> 44[label="",style="solid", color="black", weight=3]; 248.95/165.46 43[label="pr2Pr1 vyv3 (Pos (Succ vyv400)) True",fontsize=16,color="black",shape="box"];43 -> 45[label="",style="solid", color="black", weight=3]; 248.95/165.46 44[label="pr0 vyv3 (Neg (Succ vyv400))",fontsize=16,color="black",shape="box"];44 -> 46[label="",style="solid", color="black", weight=3]; 248.95/165.46 45 -> 47[label="",style="dashed", color="red", weight=0]; 248.95/165.46 45[label="pr2F vyv3 (Pos (Succ vyv400) - fromInt (Pos (Succ Zero))) vyv3",fontsize=16,color="magenta"];45 -> 48[label="",style="dashed", color="magenta", weight=3]; 248.95/165.46 46[label="error []",fontsize=16,color="black",shape="box"];46 -> 49[label="",style="solid", color="black", weight=3]; 248.95/165.46 48 -> 33[label="",style="dashed", color="red", weight=0]; 248.95/165.46 48[label="fromInt (Pos (Succ Zero))",fontsize=16,color="magenta"];47[label="pr2F vyv3 (Pos (Succ vyv400) - vyv5) vyv3",fontsize=16,color="black",shape="triangle"];47 -> 50[label="",style="solid", color="black", weight=3]; 248.95/165.46 49[label="error []",fontsize=16,color="red",shape="box"];50[label="pr2F4 vyv3 (Pos (Succ vyv400) - vyv5) vyv3",fontsize=16,color="black",shape="box"];50 -> 51[label="",style="solid", color="black", weight=3]; 248.95/165.46 51[label="pr2F3 (Pos (Succ vyv400) - vyv5 == fromInt (Pos Zero)) vyv3 (Pos (Succ vyv400) - vyv5) vyv3",fontsize=16,color="black",shape="box"];51 -> 52[label="",style="solid", color="black", weight=3]; 248.95/165.46 52[label="pr2F3 (primEqInt (Pos (Succ vyv400) - vyv5) (fromInt (Pos Zero))) vyv3 (Pos (Succ vyv400) - vyv5) vyv3",fontsize=16,color="black",shape="box"];52 -> 53[label="",style="solid", color="black", weight=3]; 248.95/165.46 53[label="pr2F3 (primEqInt (primMinusInt (Pos (Succ vyv400)) vyv5) (fromInt (Pos Zero))) vyv3 (primMinusInt (Pos (Succ vyv400)) vyv5) vyv3",fontsize=16,color="burlywood",shape="box"];4398[label="vyv5/Pos vyv50",fontsize=10,color="white",style="solid",shape="box"];53 -> 4398[label="",style="solid", color="burlywood", weight=9]; 248.95/165.46 4398 -> 54[label="",style="solid", color="burlywood", weight=3]; 248.95/165.46 4399[label="vyv5/Neg vyv50",fontsize=10,color="white",style="solid",shape="box"];53 -> 4399[label="",style="solid", color="burlywood", weight=9]; 248.95/165.46 4399 -> 55[label="",style="solid", color="burlywood", weight=3]; 248.95/165.46 54[label="pr2F3 (primEqInt (primMinusInt (Pos (Succ vyv400)) (Pos vyv50)) (fromInt (Pos Zero))) vyv3 (primMinusInt (Pos (Succ vyv400)) (Pos vyv50)) vyv3",fontsize=16,color="black",shape="box"];54 -> 56[label="",style="solid", color="black", weight=3]; 248.95/165.46 55[label="pr2F3 (primEqInt (primMinusInt (Pos (Succ vyv400)) (Neg vyv50)) (fromInt (Pos Zero))) vyv3 (primMinusInt (Pos (Succ vyv400)) (Neg vyv50)) vyv3",fontsize=16,color="black",shape="box"];55 -> 57[label="",style="solid", color="black", weight=3]; 248.95/165.46 56[label="pr2F3 (primEqInt (primMinusNat (Succ vyv400) vyv50) (fromInt (Pos Zero))) vyv3 (primMinusNat (Succ vyv400) vyv50) vyv3",fontsize=16,color="burlywood",shape="box"];4400[label="vyv50/Succ vyv500",fontsize=10,color="white",style="solid",shape="box"];56 -> 4400[label="",style="solid", color="burlywood", weight=9]; 248.95/165.46 4400 -> 58[label="",style="solid", color="burlywood", weight=3]; 248.95/165.46 4401[label="vyv50/Zero",fontsize=10,color="white",style="solid",shape="box"];56 -> 4401[label="",style="solid", color="burlywood", weight=9]; 248.95/165.46 4401 -> 59[label="",style="solid", color="burlywood", weight=3]; 248.95/165.46 57[label="pr2F3 (primEqInt (Pos (primPlusNat (Succ vyv400) vyv50)) (fromInt (Pos Zero))) vyv3 (Pos (primPlusNat (Succ vyv400) vyv50)) vyv3",fontsize=16,color="burlywood",shape="box"];4402[label="vyv50/Succ vyv500",fontsize=10,color="white",style="solid",shape="box"];57 -> 4402[label="",style="solid", color="burlywood", weight=9]; 248.95/165.46 4402 -> 60[label="",style="solid", color="burlywood", weight=3]; 248.95/165.46 4403[label="vyv50/Zero",fontsize=10,color="white",style="solid",shape="box"];57 -> 4403[label="",style="solid", color="burlywood", weight=9]; 248.95/165.46 4403 -> 61[label="",style="solid", color="burlywood", weight=3]; 248.95/165.46 58[label="pr2F3 (primEqInt (primMinusNat (Succ vyv400) (Succ vyv500)) (fromInt (Pos Zero))) vyv3 (primMinusNat (Succ vyv400) (Succ vyv500)) vyv3",fontsize=16,color="black",shape="box"];58 -> 62[label="",style="solid", color="black", weight=3]; 248.95/165.46 59[label="pr2F3 (primEqInt (primMinusNat (Succ vyv400) Zero) (fromInt (Pos Zero))) vyv3 (primMinusNat (Succ vyv400) Zero) vyv3",fontsize=16,color="black",shape="box"];59 -> 63[label="",style="solid", color="black", weight=3]; 248.95/165.46 60[label="pr2F3 (primEqInt (Pos (primPlusNat (Succ vyv400) (Succ vyv500))) (fromInt (Pos Zero))) vyv3 (Pos (primPlusNat (Succ vyv400) (Succ vyv500))) vyv3",fontsize=16,color="black",shape="box"];60 -> 64[label="",style="solid", color="black", weight=3]; 248.95/165.46 61[label="pr2F3 (primEqInt (Pos (primPlusNat (Succ vyv400) Zero)) (fromInt (Pos Zero))) vyv3 (Pos (primPlusNat (Succ vyv400) Zero)) vyv3",fontsize=16,color="black",shape="box"];61 -> 65[label="",style="solid", color="black", weight=3]; 248.95/165.46 62[label="pr2F3 (primEqInt (primMinusNat vyv400 vyv500) (fromInt (Pos Zero))) vyv3 (primMinusNat vyv400 vyv500) vyv3",fontsize=16,color="burlywood",shape="triangle"];4404[label="vyv400/Succ vyv4000",fontsize=10,color="white",style="solid",shape="box"];62 -> 4404[label="",style="solid", color="burlywood", weight=9]; 248.95/165.46 4404 -> 66[label="",style="solid", color="burlywood", weight=3]; 248.95/165.46 4405[label="vyv400/Zero",fontsize=10,color="white",style="solid",shape="box"];62 -> 4405[label="",style="solid", color="burlywood", weight=9]; 248.95/165.46 4405 -> 67[label="",style="solid", color="burlywood", weight=3]; 248.95/165.46 63[label="pr2F3 (primEqInt (Pos (Succ vyv400)) (fromInt (Pos Zero))) vyv3 (Pos (Succ vyv400)) vyv3",fontsize=16,color="black",shape="triangle"];63 -> 68[label="",style="solid", color="black", weight=3]; 248.95/165.46 64 -> 63[label="",style="dashed", color="red", weight=0]; 248.95/165.46 64[label="pr2F3 (primEqInt (Pos (Succ (Succ (primPlusNat vyv400 vyv500)))) (fromInt (Pos Zero))) vyv3 (Pos (Succ (Succ (primPlusNat vyv400 vyv500)))) vyv3",fontsize=16,color="magenta"];64 -> 69[label="",style="dashed", color="magenta", weight=3]; 248.95/165.46 65 -> 63[label="",style="dashed", color="red", weight=0]; 248.95/165.46 65[label="pr2F3 (primEqInt (Pos (Succ vyv400)) (fromInt (Pos Zero))) vyv3 (Pos (Succ vyv400)) vyv3",fontsize=16,color="magenta"];66[label="pr2F3 (primEqInt (primMinusNat (Succ vyv4000) vyv500) (fromInt (Pos Zero))) vyv3 (primMinusNat (Succ vyv4000) vyv500) vyv3",fontsize=16,color="burlywood",shape="box"];4406[label="vyv500/Succ vyv5000",fontsize=10,color="white",style="solid",shape="box"];66 -> 4406[label="",style="solid", color="burlywood", weight=9]; 248.95/165.46 4406 -> 70[label="",style="solid", color="burlywood", weight=3]; 248.95/165.46 4407[label="vyv500/Zero",fontsize=10,color="white",style="solid",shape="box"];66 -> 4407[label="",style="solid", color="burlywood", weight=9]; 248.95/165.46 4407 -> 71[label="",style="solid", color="burlywood", weight=3]; 248.95/165.46 67[label="pr2F3 (primEqInt (primMinusNat Zero vyv500) (fromInt (Pos Zero))) vyv3 (primMinusNat Zero vyv500) vyv3",fontsize=16,color="burlywood",shape="box"];4408[label="vyv500/Succ vyv5000",fontsize=10,color="white",style="solid",shape="box"];67 -> 4408[label="",style="solid", color="burlywood", weight=9]; 248.95/165.46 4408 -> 72[label="",style="solid", color="burlywood", weight=3]; 248.95/165.46 4409[label="vyv500/Zero",fontsize=10,color="white",style="solid",shape="box"];67 -> 4409[label="",style="solid", color="burlywood", weight=9]; 248.95/165.46 4409 -> 73[label="",style="solid", color="burlywood", weight=3]; 248.95/165.46 68[label="pr2F3 (primEqInt (Pos (Succ vyv400)) (Pos Zero)) vyv3 (Pos (Succ vyv400)) vyv3",fontsize=16,color="black",shape="box"];68 -> 74[label="",style="solid", color="black", weight=3]; 248.95/165.46 69[label="Succ (primPlusNat vyv400 vyv500)",fontsize=16,color="green",shape="box"];69 -> 75[label="",style="dashed", color="green", weight=3]; 248.95/165.46 70[label="pr2F3 (primEqInt (primMinusNat (Succ vyv4000) (Succ vyv5000)) (fromInt (Pos Zero))) vyv3 (primMinusNat (Succ vyv4000) (Succ vyv5000)) vyv3",fontsize=16,color="black",shape="box"];70 -> 76[label="",style="solid", color="black", weight=3]; 248.95/165.46 71[label="pr2F3 (primEqInt (primMinusNat (Succ vyv4000) Zero) (fromInt (Pos Zero))) vyv3 (primMinusNat (Succ vyv4000) Zero) vyv3",fontsize=16,color="black",shape="box"];71 -> 77[label="",style="solid", color="black", weight=3]; 248.95/165.46 72[label="pr2F3 (primEqInt (primMinusNat Zero (Succ vyv5000)) (fromInt (Pos Zero))) vyv3 (primMinusNat Zero (Succ vyv5000)) vyv3",fontsize=16,color="black",shape="box"];72 -> 78[label="",style="solid", color="black", weight=3]; 248.95/165.46 73[label="pr2F3 (primEqInt (primMinusNat Zero Zero) (fromInt (Pos Zero))) vyv3 (primMinusNat Zero Zero) vyv3",fontsize=16,color="black",shape="box"];73 -> 79[label="",style="solid", color="black", weight=3]; 248.95/165.46 74[label="pr2F3 False vyv3 (Pos (Succ vyv400)) vyv3",fontsize=16,color="black",shape="box"];74 -> 80[label="",style="solid", color="black", weight=3]; 248.95/165.46 75[label="primPlusNat vyv400 vyv500",fontsize=16,color="burlywood",shape="triangle"];4410[label="vyv400/Succ vyv4000",fontsize=10,color="white",style="solid",shape="box"];75 -> 4410[label="",style="solid", color="burlywood", weight=9]; 248.95/165.46 4410 -> 81[label="",style="solid", color="burlywood", weight=3]; 248.95/165.46 4411[label="vyv400/Zero",fontsize=10,color="white",style="solid",shape="box"];75 -> 4411[label="",style="solid", color="burlywood", weight=9]; 248.95/165.46 4411 -> 82[label="",style="solid", color="burlywood", weight=3]; 248.95/165.46 76 -> 62[label="",style="dashed", color="red", weight=0]; 248.95/165.46 76[label="pr2F3 (primEqInt (primMinusNat vyv4000 vyv5000) (fromInt (Pos Zero))) vyv3 (primMinusNat vyv4000 vyv5000) vyv3",fontsize=16,color="magenta"];76 -> 83[label="",style="dashed", color="magenta", weight=3]; 248.95/165.46 76 -> 84[label="",style="dashed", color="magenta", weight=3]; 248.95/165.46 77 -> 63[label="",style="dashed", color="red", weight=0]; 248.95/165.46 77[label="pr2F3 (primEqInt (Pos (Succ vyv4000)) (fromInt (Pos Zero))) vyv3 (Pos (Succ vyv4000)) vyv3",fontsize=16,color="magenta"];77 -> 85[label="",style="dashed", color="magenta", weight=3]; 248.95/165.46 78[label="pr2F3 (primEqInt (Neg (Succ vyv5000)) (fromInt (Pos Zero))) vyv3 (Neg (Succ vyv5000)) vyv3",fontsize=16,color="black",shape="box"];78 -> 86[label="",style="solid", color="black", weight=3]; 248.95/165.46 79[label="pr2F3 (primEqInt (Pos Zero) (fromInt (Pos Zero))) vyv3 (Pos Zero) vyv3",fontsize=16,color="black",shape="box"];79 -> 87[label="",style="solid", color="black", weight=3]; 248.95/165.46 80 -> 2999[label="",style="dashed", color="red", weight=0]; 248.95/165.46 80[label="pr2F0 vyv3 (Pos (Succ vyv400)) vyv3",fontsize=16,color="magenta"];80 -> 3000[label="",style="dashed", color="magenta", weight=3]; 248.95/165.46 80 -> 3001[label="",style="dashed", color="magenta", weight=3]; 248.95/165.46 80 -> 3002[label="",style="dashed", color="magenta", weight=3]; 248.95/165.46 81[label="primPlusNat (Succ vyv4000) vyv500",fontsize=16,color="burlywood",shape="box"];4412[label="vyv500/Succ vyv5000",fontsize=10,color="white",style="solid",shape="box"];81 -> 4412[label="",style="solid", color="burlywood", weight=9]; 248.95/165.46 4412 -> 89[label="",style="solid", color="burlywood", weight=3]; 248.95/165.46 4413[label="vyv500/Zero",fontsize=10,color="white",style="solid",shape="box"];81 -> 4413[label="",style="solid", color="burlywood", weight=9]; 248.95/165.46 4413 -> 90[label="",style="solid", color="burlywood", weight=3]; 248.95/165.46 82[label="primPlusNat Zero vyv500",fontsize=16,color="burlywood",shape="box"];4414[label="vyv500/Succ vyv5000",fontsize=10,color="white",style="solid",shape="box"];82 -> 4414[label="",style="solid", color="burlywood", weight=9]; 248.95/165.46 4414 -> 91[label="",style="solid", color="burlywood", weight=3]; 248.95/165.46 4415[label="vyv500/Zero",fontsize=10,color="white",style="solid",shape="box"];82 -> 4415[label="",style="solid", color="burlywood", weight=9]; 248.95/165.46 4415 -> 92[label="",style="solid", color="burlywood", weight=3]; 248.95/165.46 83[label="vyv5000",fontsize=16,color="green",shape="box"];84[label="vyv4000",fontsize=16,color="green",shape="box"];85[label="vyv4000",fontsize=16,color="green",shape="box"];86[label="pr2F3 (primEqInt (Neg (Succ vyv5000)) (Pos Zero)) vyv3 (Neg (Succ vyv5000)) vyv3",fontsize=16,color="black",shape="box"];86 -> 93[label="",style="solid", color="black", weight=3]; 248.95/165.46 87[label="pr2F3 (primEqInt (Pos Zero) (Pos Zero)) vyv3 (Pos Zero) vyv3",fontsize=16,color="black",shape="box"];87 -> 94[label="",style="solid", color="black", weight=3]; 248.95/165.46 3000[label="vyv3",fontsize=16,color="green",shape="box"];3001[label="Pos (Succ vyv400)",fontsize=16,color="green",shape="box"];3002[label="vyv3",fontsize=16,color="green",shape="box"];2999[label="pr2F0 vyv183 vyv222 vyv187",fontsize=16,color="black",shape="triangle"];2999 -> 3016[label="",style="solid", color="black", weight=3]; 248.95/165.46 89[label="primPlusNat (Succ vyv4000) (Succ vyv5000)",fontsize=16,color="black",shape="box"];89 -> 96[label="",style="solid", color="black", weight=3]; 248.95/165.46 90[label="primPlusNat (Succ vyv4000) Zero",fontsize=16,color="black",shape="box"];90 -> 97[label="",style="solid", color="black", weight=3]; 248.95/165.46 91[label="primPlusNat Zero (Succ vyv5000)",fontsize=16,color="black",shape="box"];91 -> 98[label="",style="solid", color="black", weight=3]; 248.95/165.46 92[label="primPlusNat Zero Zero",fontsize=16,color="black",shape="box"];92 -> 99[label="",style="solid", color="black", weight=3]; 248.95/165.46 93[label="pr2F3 False vyv3 (Neg (Succ vyv5000)) vyv3",fontsize=16,color="black",shape="box"];93 -> 100[label="",style="solid", color="black", weight=3]; 248.95/165.46 94[label="pr2F3 True vyv3 (Pos Zero) vyv3",fontsize=16,color="black",shape="box"];94 -> 101[label="",style="solid", color="black", weight=3]; 248.95/165.46 3016[label="pr2F0G vyv187 vyv183 vyv222",fontsize=16,color="black",shape="triangle"];3016 -> 3017[label="",style="solid", color="black", weight=3]; 248.95/165.46 96[label="Succ (Succ (primPlusNat vyv4000 vyv5000))",fontsize=16,color="green",shape="box"];96 -> 103[label="",style="dashed", color="green", weight=3]; 248.95/165.46 97[label="Succ vyv4000",fontsize=16,color="green",shape="box"];98[label="Succ vyv5000",fontsize=16,color="green",shape="box"];99[label="Zero",fontsize=16,color="green",shape="box"];100 -> 2999[label="",style="dashed", color="red", weight=0]; 248.95/165.46 100[label="pr2F0 vyv3 (Neg (Succ vyv5000)) vyv3",fontsize=16,color="magenta"];100 -> 3003[label="",style="dashed", color="magenta", weight=3]; 248.95/165.46 100 -> 3004[label="",style="dashed", color="magenta", weight=3]; 248.95/165.46 100 -> 3005[label="",style="dashed", color="magenta", weight=3]; 248.95/165.46 101[label="vyv3",fontsize=16,color="green",shape="box"];3017[label="pr2F0G2 vyv187 vyv183 vyv222",fontsize=16,color="black",shape="box"];3017 -> 3018[label="",style="solid", color="black", weight=3]; 248.95/165.46 103 -> 75[label="",style="dashed", color="red", weight=0]; 248.95/165.46 103[label="primPlusNat vyv4000 vyv5000",fontsize=16,color="magenta"];103 -> 106[label="",style="dashed", color="magenta", weight=3]; 248.95/165.46 103 -> 107[label="",style="dashed", color="magenta", weight=3]; 248.95/165.46 3003[label="vyv3",fontsize=16,color="green",shape="box"];3004[label="Neg (Succ vyv5000)",fontsize=16,color="green",shape="box"];3005[label="vyv3",fontsize=16,color="green",shape="box"];3018[label="pr2F0G1 vyv187 vyv183 vyv222 (even vyv222)",fontsize=16,color="black",shape="box"];3018 -> 3019[label="",style="solid", color="black", weight=3]; 248.95/165.46 106[label="vyv5000",fontsize=16,color="green",shape="box"];107[label="vyv4000",fontsize=16,color="green",shape="box"];3019[label="pr2F0G1 vyv187 vyv183 vyv222 (primEvenInt vyv222)",fontsize=16,color="burlywood",shape="box"];4416[label="vyv222/Pos vyv2220",fontsize=10,color="white",style="solid",shape="box"];3019 -> 4416[label="",style="solid", color="burlywood", weight=9]; 248.95/165.46 4416 -> 3020[label="",style="solid", color="burlywood", weight=3]; 248.95/165.46 4417[label="vyv222/Neg vyv2220",fontsize=10,color="white",style="solid",shape="box"];3019 -> 4417[label="",style="solid", color="burlywood", weight=9]; 248.95/165.46 4417 -> 3021[label="",style="solid", color="burlywood", weight=3]; 248.95/165.46 3020[label="pr2F0G1 vyv187 vyv183 (Pos vyv2220) (primEvenInt (Pos vyv2220))",fontsize=16,color="black",shape="box"];3020 -> 3022[label="",style="solid", color="black", weight=3]; 248.95/165.46 3021[label="pr2F0G1 vyv187 vyv183 (Neg vyv2220) (primEvenInt (Neg vyv2220))",fontsize=16,color="black",shape="box"];3021 -> 3023[label="",style="solid", color="black", weight=3]; 248.95/165.46 3022[label="pr2F0G1 vyv187 vyv183 (Pos vyv2220) (primEvenNat vyv2220)",fontsize=16,color="burlywood",shape="box"];4418[label="vyv2220/Succ vyv22200",fontsize=10,color="white",style="solid",shape="box"];3022 -> 4418[label="",style="solid", color="burlywood", weight=9]; 248.95/165.46 4418 -> 3024[label="",style="solid", color="burlywood", weight=3]; 248.95/165.46 4419[label="vyv2220/Zero",fontsize=10,color="white",style="solid",shape="box"];3022 -> 4419[label="",style="solid", color="burlywood", weight=9]; 248.95/165.46 4419 -> 3025[label="",style="solid", color="burlywood", weight=3]; 248.95/165.46 3023[label="pr2F0G1 vyv187 vyv183 (Neg vyv2220) (primEvenNat vyv2220)",fontsize=16,color="burlywood",shape="box"];4420[label="vyv2220/Succ vyv22200",fontsize=10,color="white",style="solid",shape="box"];3023 -> 4420[label="",style="solid", color="burlywood", weight=9]; 248.95/165.46 4420 -> 3026[label="",style="solid", color="burlywood", weight=3]; 248.95/165.46 4421[label="vyv2220/Zero",fontsize=10,color="white",style="solid",shape="box"];3023 -> 4421[label="",style="solid", color="burlywood", weight=9]; 248.95/165.46 4421 -> 3027[label="",style="solid", color="burlywood", weight=3]; 248.95/165.46 3024[label="pr2F0G1 vyv187 vyv183 (Pos (Succ vyv22200)) (primEvenNat (Succ vyv22200))",fontsize=16,color="burlywood",shape="box"];4422[label="vyv22200/Succ vyv222000",fontsize=10,color="white",style="solid",shape="box"];3024 -> 4422[label="",style="solid", color="burlywood", weight=9]; 248.95/165.46 4422 -> 3028[label="",style="solid", color="burlywood", weight=3]; 248.95/165.46 4423[label="vyv22200/Zero",fontsize=10,color="white",style="solid",shape="box"];3024 -> 4423[label="",style="solid", color="burlywood", weight=9]; 248.95/165.46 4423 -> 3029[label="",style="solid", color="burlywood", weight=3]; 248.95/165.46 3025[label="pr2F0G1 vyv187 vyv183 (Pos Zero) (primEvenNat Zero)",fontsize=16,color="black",shape="box"];3025 -> 3030[label="",style="solid", color="black", weight=3]; 248.95/165.46 3026[label="pr2F0G1 vyv187 vyv183 (Neg (Succ vyv22200)) (primEvenNat (Succ vyv22200))",fontsize=16,color="burlywood",shape="box"];4424[label="vyv22200/Succ vyv222000",fontsize=10,color="white",style="solid",shape="box"];3026 -> 4424[label="",style="solid", color="burlywood", weight=9]; 248.95/165.46 4424 -> 3031[label="",style="solid", color="burlywood", weight=3]; 248.95/165.46 4425[label="vyv22200/Zero",fontsize=10,color="white",style="solid",shape="box"];3026 -> 4425[label="",style="solid", color="burlywood", weight=9]; 248.95/165.46 4425 -> 3032[label="",style="solid", color="burlywood", weight=3]; 248.95/165.46 3027[label="pr2F0G1 vyv187 vyv183 (Neg Zero) (primEvenNat Zero)",fontsize=16,color="black",shape="box"];3027 -> 3033[label="",style="solid", color="black", weight=3]; 248.95/165.46 3028[label="pr2F0G1 vyv187 vyv183 (Pos (Succ (Succ vyv222000))) (primEvenNat (Succ (Succ vyv222000)))",fontsize=16,color="black",shape="box"];3028 -> 3034[label="",style="solid", color="black", weight=3]; 248.95/165.46 3029[label="pr2F0G1 vyv187 vyv183 (Pos (Succ Zero)) (primEvenNat (Succ Zero))",fontsize=16,color="black",shape="box"];3029 -> 3035[label="",style="solid", color="black", weight=3]; 248.95/165.46 3030[label="pr2F0G1 vyv187 vyv183 (Pos Zero) True",fontsize=16,color="black",shape="box"];3030 -> 3036[label="",style="solid", color="black", weight=3]; 248.95/165.46 3031[label="pr2F0G1 vyv187 vyv183 (Neg (Succ (Succ vyv222000))) (primEvenNat (Succ (Succ vyv222000)))",fontsize=16,color="black",shape="box"];3031 -> 3037[label="",style="solid", color="black", weight=3]; 248.95/165.46 3032[label="pr2F0G1 vyv187 vyv183 (Neg (Succ Zero)) (primEvenNat (Succ Zero))",fontsize=16,color="black",shape="box"];3032 -> 3038[label="",style="solid", color="black", weight=3]; 248.95/165.46 3033[label="pr2F0G1 vyv187 vyv183 (Neg Zero) True",fontsize=16,color="black",shape="box"];3033 -> 3039[label="",style="solid", color="black", weight=3]; 248.95/165.46 3034 -> 3147[label="",style="dashed", color="red", weight=0]; 248.95/165.46 3034[label="pr2F0G1 vyv187 vyv183 (Pos (Succ (Succ vyv222000))) (primEvenNat vyv222000)",fontsize=16,color="magenta"];3034 -> 3148[label="",style="dashed", color="magenta", weight=3]; 248.95/165.46 3034 -> 3149[label="",style="dashed", color="magenta", weight=3]; 248.95/165.46 3034 -> 3150[label="",style="dashed", color="magenta", weight=3]; 248.95/165.46 3034 -> 3151[label="",style="dashed", color="magenta", weight=3]; 248.95/165.46 3035[label="pr2F0G1 vyv187 vyv183 (Pos (Succ Zero)) False",fontsize=16,color="black",shape="box"];3035 -> 3042[label="",style="solid", color="black", weight=3]; 248.95/165.46 3036 -> 3016[label="",style="dashed", color="red", weight=0]; 248.95/165.46 3036[label="pr2F0G vyv187 (vyv183 * vyv183) (Pos Zero `quot` fromInt (Pos (Succ (Succ Zero))))",fontsize=16,color="magenta"];3036 -> 3043[label="",style="dashed", color="magenta", weight=3]; 248.95/165.46 3036 -> 3044[label="",style="dashed", color="magenta", weight=3]; 248.95/165.46 3037 -> 3379[label="",style="dashed", color="red", weight=0]; 248.95/165.46 3037[label="pr2F0G1 vyv187 vyv183 (Neg (Succ (Succ vyv222000))) (primEvenNat vyv222000)",fontsize=16,color="magenta"];3037 -> 3380[label="",style="dashed", color="magenta", weight=3]; 248.95/165.46 3037 -> 3381[label="",style="dashed", color="magenta", weight=3]; 248.95/165.46 3037 -> 3382[label="",style="dashed", color="magenta", weight=3]; 248.95/165.46 3037 -> 3383[label="",style="dashed", color="magenta", weight=3]; 248.95/165.46 3038 -> 3175[label="",style="dashed", color="red", weight=0]; 248.95/165.46 3038[label="pr2F0G1 vyv187 vyv183 (Neg (Succ Zero)) False",fontsize=16,color="magenta"];3038 -> 3176[label="",style="dashed", color="magenta", weight=3]; 248.95/165.46 3038 -> 3177[label="",style="dashed", color="magenta", weight=3]; 248.95/165.46 3038 -> 3178[label="",style="dashed", color="magenta", weight=3]; 248.95/165.46 3039 -> 3016[label="",style="dashed", color="red", weight=0]; 248.95/165.46 3039[label="pr2F0G vyv187 (vyv183 * vyv183) (Neg Zero `quot` fromInt (Pos (Succ (Succ Zero))))",fontsize=16,color="magenta"];3039 -> 3048[label="",style="dashed", color="magenta", weight=3]; 248.95/165.46 3039 -> 3049[label="",style="dashed", color="magenta", weight=3]; 248.95/165.46 3148[label="vyv222000",fontsize=16,color="green",shape="box"];3149[label="vyv183",fontsize=16,color="green",shape="box"];3150[label="vyv187",fontsize=16,color="green",shape="box"];3151[label="Succ vyv222000",fontsize=16,color="green",shape="box"];3147[label="pr2F0G1 vyv226 vyv227 (Pos (Succ vyv228)) (primEvenNat vyv229)",fontsize=16,color="burlywood",shape="triangle"];4426[label="vyv229/Succ vyv2290",fontsize=10,color="white",style="solid",shape="box"];3147 -> 4426[label="",style="solid", color="burlywood", weight=9]; 248.95/165.46 4426 -> 3160[label="",style="solid", color="burlywood", weight=3]; 248.95/165.46 4427[label="vyv229/Zero",fontsize=10,color="white",style="solid",shape="box"];3147 -> 4427[label="",style="solid", color="burlywood", weight=9]; 248.95/165.46 4427 -> 3161[label="",style="solid", color="burlywood", weight=3]; 248.95/165.46 3042[label="pr2F0G0 vyv187 vyv183 (Pos (Succ Zero)) otherwise",fontsize=16,color="black",shape="box"];3042 -> 3053[label="",style="solid", color="black", weight=3]; 248.95/165.46 3043[label="vyv183 * vyv183",fontsize=16,color="blue",shape="box"];4428[label="* :: Double -> Double -> Double",fontsize=10,color="white",style="solid",shape="box"];3043 -> 4428[label="",style="solid", color="blue", weight=9]; 248.95/165.46 4428 -> 3054[label="",style="solid", color="blue", weight=3]; 248.95/165.46 4429[label="* :: (Ratio a) -> (Ratio a) -> Ratio a",fontsize=10,color="white",style="solid",shape="box"];3043 -> 4429[label="",style="solid", color="blue", weight=9]; 248.95/165.46 4429 -> 3055[label="",style="solid", color="blue", weight=3]; 248.95/165.46 4430[label="* :: Float -> Float -> Float",fontsize=10,color="white",style="solid",shape="box"];3043 -> 4430[label="",style="solid", color="blue", weight=9]; 248.95/165.46 4430 -> 3056[label="",style="solid", color="blue", weight=3]; 248.95/165.46 4431[label="* :: Integer -> Integer -> Integer",fontsize=10,color="white",style="solid",shape="box"];3043 -> 4431[label="",style="solid", color="blue", weight=9]; 248.95/165.46 4431 -> 3057[label="",style="solid", color="blue", weight=3]; 248.95/165.46 4432[label="* :: Int -> Int -> Int",fontsize=10,color="white",style="solid",shape="box"];3043 -> 4432[label="",style="solid", color="blue", weight=9]; 248.95/165.46 4432 -> 3058[label="",style="solid", color="blue", weight=3]; 248.95/165.46 3044[label="Pos Zero `quot` fromInt (Pos (Succ (Succ Zero)))",fontsize=16,color="black",shape="box"];3044 -> 3059[label="",style="solid", color="black", weight=3]; 248.95/165.46 3380[label="Succ vyv222000",fontsize=16,color="green",shape="box"];3381[label="vyv187",fontsize=16,color="green",shape="box"];3382[label="vyv222000",fontsize=16,color="green",shape="box"];3383[label="vyv183",fontsize=16,color="green",shape="box"];3379[label="pr2F0G1 vyv248 vyv249 (Neg (Succ vyv250)) (primEvenNat vyv251)",fontsize=16,color="burlywood",shape="triangle"];4433[label="vyv251/Succ vyv2510",fontsize=10,color="white",style="solid",shape="box"];3379 -> 4433[label="",style="solid", color="burlywood", weight=9]; 248.95/165.46 4433 -> 3400[label="",style="solid", color="burlywood", weight=3]; 248.95/165.46 4434[label="vyv251/Zero",fontsize=10,color="white",style="solid",shape="box"];3379 -> 4434[label="",style="solid", color="burlywood", weight=9]; 248.95/165.46 4434 -> 3401[label="",style="solid", color="burlywood", weight=3]; 248.95/165.46 3176[label="vyv183",fontsize=16,color="green",shape="box"];3177[label="vyv187",fontsize=16,color="green",shape="box"];3178[label="Zero",fontsize=16,color="green",shape="box"];3175[label="pr2F0G1 vyv238 vyv239 (Neg (Succ vyv240)) False",fontsize=16,color="black",shape="triangle"];3175 -> 3185[label="",style="solid", color="black", weight=3]; 248.95/165.46 3048[label="vyv183 * vyv183",fontsize=16,color="blue",shape="box"];4435[label="* :: Double -> Double -> Double",fontsize=10,color="white",style="solid",shape="box"];3048 -> 4435[label="",style="solid", color="blue", weight=9]; 248.95/165.46 4435 -> 3064[label="",style="solid", color="blue", weight=3]; 248.95/165.46 4436[label="* :: (Ratio a) -> (Ratio a) -> Ratio a",fontsize=10,color="white",style="solid",shape="box"];3048 -> 4436[label="",style="solid", color="blue", weight=9]; 248.95/165.46 4436 -> 3065[label="",style="solid", color="blue", weight=3]; 248.95/165.46 4437[label="* :: Float -> Float -> Float",fontsize=10,color="white",style="solid",shape="box"];3048 -> 4437[label="",style="solid", color="blue", weight=9]; 248.95/165.46 4437 -> 3066[label="",style="solid", color="blue", weight=3]; 248.95/165.46 4438[label="* :: Integer -> Integer -> Integer",fontsize=10,color="white",style="solid",shape="box"];3048 -> 4438[label="",style="solid", color="blue", weight=9]; 248.95/165.46 4438 -> 3067[label="",style="solid", color="blue", weight=3]; 248.95/165.46 4439[label="* :: Int -> Int -> Int",fontsize=10,color="white",style="solid",shape="box"];3048 -> 4439[label="",style="solid", color="blue", weight=9]; 248.95/165.46 4439 -> 3068[label="",style="solid", color="blue", weight=3]; 248.95/165.46 3049[label="Neg Zero `quot` fromInt (Pos (Succ (Succ Zero)))",fontsize=16,color="black",shape="box"];3049 -> 3069[label="",style="solid", color="black", weight=3]; 248.95/165.46 3160[label="pr2F0G1 vyv226 vyv227 (Pos (Succ vyv228)) (primEvenNat (Succ vyv2290))",fontsize=16,color="burlywood",shape="box"];4440[label="vyv2290/Succ vyv22900",fontsize=10,color="white",style="solid",shape="box"];3160 -> 4440[label="",style="solid", color="burlywood", weight=9]; 248.95/165.46 4440 -> 3167[label="",style="solid", color="burlywood", weight=3]; 248.95/165.46 4441[label="vyv2290/Zero",fontsize=10,color="white",style="solid",shape="box"];3160 -> 4441[label="",style="solid", color="burlywood", weight=9]; 248.95/165.46 4441 -> 3168[label="",style="solid", color="burlywood", weight=3]; 248.95/165.46 3161[label="pr2F0G1 vyv226 vyv227 (Pos (Succ vyv228)) (primEvenNat Zero)",fontsize=16,color="black",shape="box"];3161 -> 3169[label="",style="solid", color="black", weight=3]; 248.95/165.46 3053[label="pr2F0G0 vyv187 vyv183 (Pos (Succ Zero)) True",fontsize=16,color="black",shape="box"];3053 -> 3073[label="",style="solid", color="black", weight=3]; 248.95/165.46 3054[label="vyv183 * vyv183",fontsize=16,color="black",shape="triangle"];3054 -> 3074[label="",style="solid", color="black", weight=3]; 248.95/165.46 3055[label="vyv183 * vyv183",fontsize=16,color="burlywood",shape="triangle"];4442[label="vyv183/vyv1830 :% vyv1831",fontsize=10,color="white",style="solid",shape="box"];3055 -> 4442[label="",style="solid", color="burlywood", weight=9]; 248.95/165.46 4442 -> 3075[label="",style="solid", color="burlywood", weight=3]; 248.95/165.46 3056[label="vyv183 * vyv183",fontsize=16,color="black",shape="triangle"];3056 -> 3076[label="",style="solid", color="black", weight=3]; 248.95/165.46 3057[label="vyv183 * vyv183",fontsize=16,color="black",shape="triangle"];3057 -> 3077[label="",style="solid", color="black", weight=3]; 248.95/165.46 3058[label="vyv183 * vyv183",fontsize=16,color="black",shape="triangle"];3058 -> 3078[label="",style="solid", color="black", weight=3]; 248.95/165.46 3059 -> 3740[label="",style="dashed", color="red", weight=0]; 248.95/165.46 3059[label="primQuotInt (Pos Zero) (fromInt (Pos (Succ (Succ Zero))))",fontsize=16,color="magenta"];3059 -> 3741[label="",style="dashed", color="magenta", weight=3]; 248.95/165.46 3059 -> 3742[label="",style="dashed", color="magenta", weight=3]; 248.95/165.46 3400[label="pr2F0G1 vyv248 vyv249 (Neg (Succ vyv250)) (primEvenNat (Succ vyv2510))",fontsize=16,color="burlywood",shape="box"];4443[label="vyv2510/Succ vyv25100",fontsize=10,color="white",style="solid",shape="box"];3400 -> 4443[label="",style="solid", color="burlywood", weight=9]; 248.95/165.46 4443 -> 3443[label="",style="solid", color="burlywood", weight=3]; 248.95/165.46 4444[label="vyv2510/Zero",fontsize=10,color="white",style="solid",shape="box"];3400 -> 4444[label="",style="solid", color="burlywood", weight=9]; 248.95/165.46 4444 -> 3444[label="",style="solid", color="burlywood", weight=3]; 248.95/165.46 3401[label="pr2F0G1 vyv248 vyv249 (Neg (Succ vyv250)) (primEvenNat Zero)",fontsize=16,color="black",shape="box"];3401 -> 3445[label="",style="solid", color="black", weight=3]; 248.95/165.46 3185[label="pr2F0G0 vyv238 vyv239 (Neg (Succ vyv240)) otherwise",fontsize=16,color="black",shape="box"];3185 -> 3202[label="",style="solid", color="black", weight=3]; 248.95/165.46 3064 -> 3054[label="",style="dashed", color="red", weight=0]; 248.95/165.46 3064[label="vyv183 * vyv183",fontsize=16,color="magenta"];3065 -> 3055[label="",style="dashed", color="red", weight=0]; 248.95/165.46 3065[label="vyv183 * vyv183",fontsize=16,color="magenta"];3066 -> 3056[label="",style="dashed", color="red", weight=0]; 248.95/165.46 3066[label="vyv183 * vyv183",fontsize=16,color="magenta"];3067 -> 3057[label="",style="dashed", color="red", weight=0]; 248.95/165.46 3067[label="vyv183 * vyv183",fontsize=16,color="magenta"];3068 -> 3058[label="",style="dashed", color="red", weight=0]; 248.95/165.46 3068[label="vyv183 * vyv183",fontsize=16,color="magenta"];3069 -> 3777[label="",style="dashed", color="red", weight=0]; 248.95/165.46 3069[label="primQuotInt (Neg Zero) (fromInt (Pos (Succ (Succ Zero))))",fontsize=16,color="magenta"];3069 -> 3778[label="",style="dashed", color="magenta", weight=3]; 248.95/165.46 3069 -> 3779[label="",style="dashed", color="magenta", weight=3]; 248.95/165.46 3167[label="pr2F0G1 vyv226 vyv227 (Pos (Succ vyv228)) (primEvenNat (Succ (Succ vyv22900)))",fontsize=16,color="black",shape="box"];3167 -> 3186[label="",style="solid", color="black", weight=3]; 248.95/165.46 3168[label="pr2F0G1 vyv226 vyv227 (Pos (Succ vyv228)) (primEvenNat (Succ Zero))",fontsize=16,color="black",shape="box"];3168 -> 3187[label="",style="solid", color="black", weight=3]; 248.95/165.46 3169[label="pr2F0G1 vyv226 vyv227 (Pos (Succ vyv228)) True",fontsize=16,color="black",shape="box"];3169 -> 3188[label="",style="solid", color="black", weight=3]; 248.95/165.46 3073 -> 3255[label="",style="dashed", color="red", weight=0]; 248.95/165.46 3073[label="pr2F vyv183 (Pos (Succ Zero) - fromInt (Pos (Succ Zero))) (vyv183 * vyv187)",fontsize=16,color="magenta"];3073 -> 3256[label="",style="dashed", color="magenta", weight=3]; 248.95/165.46 3073 -> 3257[label="",style="dashed", color="magenta", weight=3]; 248.95/165.46 3073 -> 3258[label="",style="dashed", color="magenta", weight=3]; 248.95/165.46 3073 -> 3259[label="",style="dashed", color="magenta", weight=3]; 248.95/165.46 3074[label="error []",fontsize=16,color="red",shape="box"];3075[label="vyv1830 :% vyv1831 * (vyv1830 :% vyv1831)",fontsize=16,color="black",shape="box"];3075 -> 3092[label="",style="solid", color="black", weight=3]; 248.95/165.46 3076[label="error []",fontsize=16,color="red",shape="box"];3077[label="error []",fontsize=16,color="red",shape="box"];3078[label="primMulInt vyv183 vyv183",fontsize=16,color="burlywood",shape="box"];4445[label="vyv183/Pos vyv1830",fontsize=10,color="white",style="solid",shape="box"];3078 -> 4445[label="",style="solid", color="burlywood", weight=9]; 248.95/165.46 4445 -> 3093[label="",style="solid", color="burlywood", weight=3]; 248.95/165.46 4446[label="vyv183/Neg vyv1830",fontsize=10,color="white",style="solid",shape="box"];3078 -> 4446[label="",style="solid", color="burlywood", weight=9]; 248.95/165.46 4446 -> 3094[label="",style="solid", color="burlywood", weight=3]; 248.95/165.46 3741[label="fromInt (Pos (Succ (Succ Zero)))",fontsize=16,color="black",shape="triangle"];3741 -> 3765[label="",style="solid", color="black", weight=3]; 248.95/165.46 3742[label="Zero",fontsize=16,color="green",shape="box"];3740[label="primQuotInt (Pos vyv2700) vyv284",fontsize=16,color="burlywood",shape="triangle"];4447[label="vyv284/Pos vyv2840",fontsize=10,color="white",style="solid",shape="box"];3740 -> 4447[label="",style="solid", color="burlywood", weight=9]; 248.95/165.46 4447 -> 3766[label="",style="solid", color="burlywood", weight=3]; 248.95/165.46 4448[label="vyv284/Neg vyv2840",fontsize=10,color="white",style="solid",shape="box"];3740 -> 4448[label="",style="solid", color="burlywood", weight=9]; 248.95/165.46 4448 -> 3767[label="",style="solid", color="burlywood", weight=3]; 248.95/165.46 3443[label="pr2F0G1 vyv248 vyv249 (Neg (Succ vyv250)) (primEvenNat (Succ (Succ vyv25100)))",fontsize=16,color="black",shape="box"];3443 -> 3473[label="",style="solid", color="black", weight=3]; 248.95/165.46 3444[label="pr2F0G1 vyv248 vyv249 (Neg (Succ vyv250)) (primEvenNat (Succ Zero))",fontsize=16,color="black",shape="box"];3444 -> 3474[label="",style="solid", color="black", weight=3]; 248.95/165.46 3445[label="pr2F0G1 vyv248 vyv249 (Neg (Succ vyv250)) True",fontsize=16,color="black",shape="box"];3445 -> 3475[label="",style="solid", color="black", weight=3]; 248.95/165.46 3202[label="pr2F0G0 vyv238 vyv239 (Neg (Succ vyv240)) True",fontsize=16,color="black",shape="box"];3202 -> 3219[label="",style="solid", color="black", weight=3]; 248.95/165.46 3778[label="Zero",fontsize=16,color="green",shape="box"];3779 -> 3741[label="",style="dashed", color="red", weight=0]; 248.95/165.46 3779[label="fromInt (Pos (Succ (Succ Zero)))",fontsize=16,color="magenta"];3777[label="primQuotInt (Neg vyv2700) vyv287",fontsize=16,color="burlywood",shape="triangle"];4449[label="vyv287/Pos vyv2870",fontsize=10,color="white",style="solid",shape="box"];3777 -> 4449[label="",style="solid", color="burlywood", weight=9]; 248.95/165.46 4449 -> 3802[label="",style="solid", color="burlywood", weight=3]; 248.95/165.46 4450[label="vyv287/Neg vyv2870",fontsize=10,color="white",style="solid",shape="box"];3777 -> 4450[label="",style="solid", color="burlywood", weight=9]; 248.95/165.46 4450 -> 3803[label="",style="solid", color="burlywood", weight=3]; 248.95/165.46 3186 -> 3147[label="",style="dashed", color="red", weight=0]; 248.95/165.46 3186[label="pr2F0G1 vyv226 vyv227 (Pos (Succ vyv228)) (primEvenNat vyv22900)",fontsize=16,color="magenta"];3186 -> 3203[label="",style="dashed", color="magenta", weight=3]; 248.95/165.46 3187[label="pr2F0G1 vyv226 vyv227 (Pos (Succ vyv228)) False",fontsize=16,color="black",shape="box"];3187 -> 3204[label="",style="solid", color="black", weight=3]; 248.95/165.46 3188 -> 3016[label="",style="dashed", color="red", weight=0]; 248.95/165.46 3188[label="pr2F0G vyv226 (vyv227 * vyv227) (Pos (Succ vyv228) `quot` fromInt (Pos (Succ (Succ Zero))))",fontsize=16,color="magenta"];3188 -> 3205[label="",style="dashed", color="magenta", weight=3]; 248.95/165.46 3188 -> 3206[label="",style="dashed", color="magenta", weight=3]; 248.95/165.46 3188 -> 3207[label="",style="dashed", color="magenta", weight=3]; 248.95/165.46 3256 -> 33[label="",style="dashed", color="red", weight=0]; 248.95/165.46 3256[label="fromInt (Pos (Succ Zero))",fontsize=16,color="magenta"];3257[label="vyv183",fontsize=16,color="green",shape="box"];3258[label="vyv187",fontsize=16,color="green",shape="box"];3259[label="Zero",fontsize=16,color="green",shape="box"];3255[label="pr2F vyv227 (Pos (Succ vyv228) - vyv244) (vyv227 * vyv226)",fontsize=16,color="black",shape="triangle"];3255 -> 3265[label="",style="solid", color="black", weight=3]; 248.95/165.46 3092[label="reduce (vyv1830 * vyv1830) (vyv1831 * vyv1831)",fontsize=16,color="black",shape="box"];3092 -> 3115[label="",style="solid", color="black", weight=3]; 248.95/165.46 3093[label="primMulInt (Pos vyv1830) (Pos vyv1830)",fontsize=16,color="black",shape="box"];3093 -> 3116[label="",style="solid", color="black", weight=3]; 248.95/165.46 3094[label="primMulInt (Neg vyv1830) (Neg vyv1830)",fontsize=16,color="black",shape="box"];3094 -> 3117[label="",style="solid", color="black", weight=3]; 248.95/165.46 3765[label="Pos (Succ (Succ Zero))",fontsize=16,color="green",shape="box"];3766[label="primQuotInt (Pos vyv2700) (Pos vyv2840)",fontsize=16,color="burlywood",shape="box"];4451[label="vyv2840/Succ vyv28400",fontsize=10,color="white",style="solid",shape="box"];3766 -> 4451[label="",style="solid", color="burlywood", weight=9]; 248.95/165.46 4451 -> 3772[label="",style="solid", color="burlywood", weight=3]; 248.95/165.46 4452[label="vyv2840/Zero",fontsize=10,color="white",style="solid",shape="box"];3766 -> 4452[label="",style="solid", color="burlywood", weight=9]; 248.95/165.46 4452 -> 3773[label="",style="solid", color="burlywood", weight=3]; 248.95/165.46 3767[label="primQuotInt (Pos vyv2700) (Neg vyv2840)",fontsize=16,color="burlywood",shape="box"];4453[label="vyv2840/Succ vyv28400",fontsize=10,color="white",style="solid",shape="box"];3767 -> 4453[label="",style="solid", color="burlywood", weight=9]; 248.95/165.46 4453 -> 3774[label="",style="solid", color="burlywood", weight=3]; 248.95/165.46 4454[label="vyv2840/Zero",fontsize=10,color="white",style="solid",shape="box"];3767 -> 4454[label="",style="solid", color="burlywood", weight=9]; 248.95/165.46 4454 -> 3775[label="",style="solid", color="burlywood", weight=3]; 248.95/165.46 3473 -> 3379[label="",style="dashed", color="red", weight=0]; 248.95/165.46 3473[label="pr2F0G1 vyv248 vyv249 (Neg (Succ vyv250)) (primEvenNat vyv25100)",fontsize=16,color="magenta"];3473 -> 3511[label="",style="dashed", color="magenta", weight=3]; 248.95/165.46 3474 -> 3175[label="",style="dashed", color="red", weight=0]; 248.95/165.46 3474[label="pr2F0G1 vyv248 vyv249 (Neg (Succ vyv250)) False",fontsize=16,color="magenta"];3474 -> 3512[label="",style="dashed", color="magenta", weight=3]; 248.95/165.46 3474 -> 3513[label="",style="dashed", color="magenta", weight=3]; 248.95/165.46 3474 -> 3514[label="",style="dashed", color="magenta", weight=3]; 248.95/165.46 3475 -> 3016[label="",style="dashed", color="red", weight=0]; 248.95/165.46 3475[label="pr2F0G vyv248 (vyv249 * vyv249) (Neg (Succ vyv250) `quot` fromInt (Pos (Succ (Succ Zero))))",fontsize=16,color="magenta"];3475 -> 3515[label="",style="dashed", color="magenta", weight=3]; 248.95/165.46 3475 -> 3516[label="",style="dashed", color="magenta", weight=3]; 248.95/165.46 3475 -> 3517[label="",style="dashed", color="magenta", weight=3]; 248.95/165.46 3219 -> 3229[label="",style="dashed", color="red", weight=0]; 248.95/165.46 3219[label="pr2F vyv239 (Neg (Succ vyv240) - fromInt (Pos (Succ Zero))) (vyv239 * vyv238)",fontsize=16,color="magenta"];3219 -> 3230[label="",style="dashed", color="magenta", weight=3]; 248.95/165.46 3802[label="primQuotInt (Neg vyv2700) (Pos vyv2870)",fontsize=16,color="burlywood",shape="box"];4455[label="vyv2870/Succ vyv28700",fontsize=10,color="white",style="solid",shape="box"];3802 -> 4455[label="",style="solid", color="burlywood", weight=9]; 248.95/165.46 4455 -> 3810[label="",style="solid", color="burlywood", weight=3]; 248.95/165.46 4456[label="vyv2870/Zero",fontsize=10,color="white",style="solid",shape="box"];3802 -> 4456[label="",style="solid", color="burlywood", weight=9]; 248.95/165.46 4456 -> 3811[label="",style="solid", color="burlywood", weight=3]; 248.95/165.46 3803[label="primQuotInt (Neg vyv2700) (Neg vyv2870)",fontsize=16,color="burlywood",shape="box"];4457[label="vyv2870/Succ vyv28700",fontsize=10,color="white",style="solid",shape="box"];3803 -> 4457[label="",style="solid", color="burlywood", weight=9]; 248.95/165.46 4457 -> 3812[label="",style="solid", color="burlywood", weight=3]; 248.95/165.46 4458[label="vyv2870/Zero",fontsize=10,color="white",style="solid",shape="box"];3803 -> 4458[label="",style="solid", color="burlywood", weight=9]; 248.95/165.46 4458 -> 3813[label="",style="solid", color="burlywood", weight=3]; 248.95/165.46 3203[label="vyv22900",fontsize=16,color="green",shape="box"];3204[label="pr2F0G0 vyv226 vyv227 (Pos (Succ vyv228)) otherwise",fontsize=16,color="black",shape="box"];3204 -> 3220[label="",style="solid", color="black", weight=3]; 248.95/165.46 3205[label="vyv227 * vyv227",fontsize=16,color="blue",shape="box"];4459[label="* :: Double -> Double -> Double",fontsize=10,color="white",style="solid",shape="box"];3205 -> 4459[label="",style="solid", color="blue", weight=9]; 248.95/165.46 4459 -> 3221[label="",style="solid", color="blue", weight=3]; 248.95/165.46 4460[label="* :: (Ratio a) -> (Ratio a) -> Ratio a",fontsize=10,color="white",style="solid",shape="box"];3205 -> 4460[label="",style="solid", color="blue", weight=9]; 248.95/165.46 4460 -> 3222[label="",style="solid", color="blue", weight=3]; 248.95/165.46 4461[label="* :: Float -> Float -> Float",fontsize=10,color="white",style="solid",shape="box"];3205 -> 4461[label="",style="solid", color="blue", weight=9]; 248.95/165.46 4461 -> 3223[label="",style="solid", color="blue", weight=3]; 248.95/165.46 4462[label="* :: Integer -> Integer -> Integer",fontsize=10,color="white",style="solid",shape="box"];3205 -> 4462[label="",style="solid", color="blue", weight=9]; 248.95/165.46 4462 -> 3224[label="",style="solid", color="blue", weight=3]; 248.95/165.46 4463[label="* :: Int -> Int -> Int",fontsize=10,color="white",style="solid",shape="box"];3205 -> 4463[label="",style="solid", color="blue", weight=9]; 248.95/165.46 4463 -> 3225[label="",style="solid", color="blue", weight=3]; 248.95/165.46 3206[label="Pos (Succ vyv228) `quot` fromInt (Pos (Succ (Succ Zero)))",fontsize=16,color="black",shape="box"];3206 -> 3226[label="",style="solid", color="black", weight=3]; 248.95/165.46 3207[label="vyv226",fontsize=16,color="green",shape="box"];3265[label="pr2F4 vyv227 (Pos (Succ vyv228) - vyv244) (vyv227 * vyv226)",fontsize=16,color="black",shape="box"];3265 -> 3269[label="",style="solid", color="black", weight=3]; 248.95/165.46 3115[label="reduce2 (vyv1830 * vyv1830) (vyv1831 * vyv1831)",fontsize=16,color="black",shape="box"];3115 -> 3137[label="",style="solid", color="black", weight=3]; 248.95/165.46 3116[label="Pos (primMulNat vyv1830 vyv1830)",fontsize=16,color="green",shape="box"];3116 -> 3138[label="",style="dashed", color="green", weight=3]; 248.95/165.46 3117[label="Pos (primMulNat vyv1830 vyv1830)",fontsize=16,color="green",shape="box"];3117 -> 3139[label="",style="dashed", color="green", weight=3]; 248.95/165.46 3772[label="primQuotInt (Pos vyv2700) (Pos (Succ vyv28400))",fontsize=16,color="black",shape="box"];3772 -> 3804[label="",style="solid", color="black", weight=3]; 248.95/165.46 3773[label="primQuotInt (Pos vyv2700) (Pos Zero)",fontsize=16,color="black",shape="box"];3773 -> 3805[label="",style="solid", color="black", weight=3]; 248.95/165.46 3774[label="primQuotInt (Pos vyv2700) (Neg (Succ vyv28400))",fontsize=16,color="black",shape="box"];3774 -> 3806[label="",style="solid", color="black", weight=3]; 248.95/165.46 3775[label="primQuotInt (Pos vyv2700) (Neg Zero)",fontsize=16,color="black",shape="box"];3775 -> 3807[label="",style="solid", color="black", weight=3]; 248.95/165.46 3511[label="vyv25100",fontsize=16,color="green",shape="box"];3512[label="vyv249",fontsize=16,color="green",shape="box"];3513[label="vyv248",fontsize=16,color="green",shape="box"];3514[label="vyv250",fontsize=16,color="green",shape="box"];3515[label="vyv249 * vyv249",fontsize=16,color="blue",shape="box"];4464[label="* :: Double -> Double -> Double",fontsize=10,color="white",style="solid",shape="box"];3515 -> 4464[label="",style="solid", color="blue", weight=9]; 248.95/165.46 4464 -> 3533[label="",style="solid", color="blue", weight=3]; 248.95/165.46 4465[label="* :: (Ratio a) -> (Ratio a) -> Ratio a",fontsize=10,color="white",style="solid",shape="box"];3515 -> 4465[label="",style="solid", color="blue", weight=9]; 248.95/165.46 4465 -> 3534[label="",style="solid", color="blue", weight=3]; 248.95/165.46 4466[label="* :: Float -> Float -> Float",fontsize=10,color="white",style="solid",shape="box"];3515 -> 4466[label="",style="solid", color="blue", weight=9]; 248.95/165.46 4466 -> 3535[label="",style="solid", color="blue", weight=3]; 248.95/165.46 4467[label="* :: Integer -> Integer -> Integer",fontsize=10,color="white",style="solid",shape="box"];3515 -> 4467[label="",style="solid", color="blue", weight=9]; 248.95/165.46 4467 -> 3536[label="",style="solid", color="blue", weight=3]; 248.95/165.46 4468[label="* :: Int -> Int -> Int",fontsize=10,color="white",style="solid",shape="box"];3515 -> 4468[label="",style="solid", color="blue", weight=9]; 248.95/165.46 4468 -> 3537[label="",style="solid", color="blue", weight=3]; 248.95/165.46 3516[label="Neg (Succ vyv250) `quot` fromInt (Pos (Succ (Succ Zero)))",fontsize=16,color="black",shape="box"];3516 -> 3538[label="",style="solid", color="black", weight=3]; 248.95/165.46 3517[label="vyv248",fontsize=16,color="green",shape="box"];3230 -> 33[label="",style="dashed", color="red", weight=0]; 248.95/165.46 3230[label="fromInt (Pos (Succ Zero))",fontsize=16,color="magenta"];3229[label="pr2F vyv239 (Neg (Succ vyv240) - vyv243) (vyv239 * vyv238)",fontsize=16,color="black",shape="triangle"];3229 -> 3231[label="",style="solid", color="black", weight=3]; 248.95/165.46 3810[label="primQuotInt (Neg vyv2700) (Pos (Succ vyv28700))",fontsize=16,color="black",shape="box"];3810 -> 3820[label="",style="solid", color="black", weight=3]; 248.95/165.46 3811[label="primQuotInt (Neg vyv2700) (Pos Zero)",fontsize=16,color="black",shape="box"];3811 -> 3821[label="",style="solid", color="black", weight=3]; 248.95/165.46 3812[label="primQuotInt (Neg vyv2700) (Neg (Succ vyv28700))",fontsize=16,color="black",shape="box"];3812 -> 3822[label="",style="solid", color="black", weight=3]; 248.95/165.46 3813[label="primQuotInt (Neg vyv2700) (Neg Zero)",fontsize=16,color="black",shape="box"];3813 -> 3823[label="",style="solid", color="black", weight=3]; 248.95/165.46 3220[label="pr2F0G0 vyv226 vyv227 (Pos (Succ vyv228)) True",fontsize=16,color="black",shape="box"];3220 -> 3232[label="",style="solid", color="black", weight=3]; 248.95/165.46 3221 -> 3054[label="",style="dashed", color="red", weight=0]; 248.95/165.46 3221[label="vyv227 * vyv227",fontsize=16,color="magenta"];3221 -> 3233[label="",style="dashed", color="magenta", weight=3]; 248.95/165.46 3222 -> 3055[label="",style="dashed", color="red", weight=0]; 248.95/165.46 3222[label="vyv227 * vyv227",fontsize=16,color="magenta"];3222 -> 3234[label="",style="dashed", color="magenta", weight=3]; 248.95/165.46 3223 -> 3056[label="",style="dashed", color="red", weight=0]; 248.95/165.46 3223[label="vyv227 * vyv227",fontsize=16,color="magenta"];3223 -> 3235[label="",style="dashed", color="magenta", weight=3]; 248.95/165.46 3224 -> 3057[label="",style="dashed", color="red", weight=0]; 248.95/165.46 3224[label="vyv227 * vyv227",fontsize=16,color="magenta"];3224 -> 3236[label="",style="dashed", color="magenta", weight=3]; 248.95/165.46 3225 -> 3058[label="",style="dashed", color="red", weight=0]; 248.95/165.46 3225[label="vyv227 * vyv227",fontsize=16,color="magenta"];3225 -> 3237[label="",style="dashed", color="magenta", weight=3]; 248.95/165.46 3226 -> 3740[label="",style="dashed", color="red", weight=0]; 248.95/165.46 3226[label="primQuotInt (Pos (Succ vyv228)) (fromInt (Pos (Succ (Succ Zero))))",fontsize=16,color="magenta"];3226 -> 3745[label="",style="dashed", color="magenta", weight=3]; 248.95/165.46 3226 -> 3746[label="",style="dashed", color="magenta", weight=3]; 248.95/165.46 3269 -> 3290[label="",style="dashed", color="red", weight=0]; 248.95/165.46 3269[label="pr2F3 (Pos (Succ vyv228) - vyv244 == fromInt (Pos Zero)) vyv227 (Pos (Succ vyv228) - vyv244) (vyv227 * vyv226)",fontsize=16,color="magenta"];3269 -> 3291[label="",style="dashed", color="magenta", weight=3]; 248.95/165.46 3137 -> 3547[label="",style="dashed", color="red", weight=0]; 248.95/165.46 3137[label="reduce2Reduce1 (vyv1830 * vyv1830) (vyv1831 * vyv1831) (vyv1830 * vyv1830) (vyv1831 * vyv1831) (vyv1831 * vyv1831 == fromInt (Pos Zero))",fontsize=16,color="magenta"];3137 -> 3548[label="",style="dashed", color="magenta", weight=3]; 248.95/165.46 3137 -> 3549[label="",style="dashed", color="magenta", weight=3]; 248.95/165.46 3137 -> 3550[label="",style="dashed", color="magenta", weight=3]; 248.95/165.46 3137 -> 3551[label="",style="dashed", color="magenta", weight=3]; 248.95/165.46 3137 -> 3552[label="",style="dashed", color="magenta", weight=3]; 248.95/165.46 3138[label="primMulNat vyv1830 vyv1830",fontsize=16,color="burlywood",shape="triangle"];4469[label="vyv1830/Succ vyv18300",fontsize=10,color="white",style="solid",shape="box"];3138 -> 4469[label="",style="solid", color="burlywood", weight=9]; 248.95/165.46 4469 -> 3170[label="",style="solid", color="burlywood", weight=3]; 248.95/165.46 4470[label="vyv1830/Zero",fontsize=10,color="white",style="solid",shape="box"];3138 -> 4470[label="",style="solid", color="burlywood", weight=9]; 248.95/165.46 4470 -> 3171[label="",style="solid", color="burlywood", weight=3]; 248.95/165.46 3139 -> 3138[label="",style="dashed", color="red", weight=0]; 248.95/165.46 3139[label="primMulNat vyv1830 vyv1830",fontsize=16,color="magenta"];3139 -> 3172[label="",style="dashed", color="magenta", weight=3]; 248.95/165.46 3804[label="Pos (primDivNatS vyv2700 (Succ vyv28400))",fontsize=16,color="green",shape="box"];3804 -> 3814[label="",style="dashed", color="green", weight=3]; 248.95/165.46 3805[label="error []",fontsize=16,color="black",shape="triangle"];3805 -> 3815[label="",style="solid", color="black", weight=3]; 248.95/165.46 3806[label="Neg (primDivNatS vyv2700 (Succ vyv28400))",fontsize=16,color="green",shape="box"];3806 -> 3816[label="",style="dashed", color="green", weight=3]; 248.95/165.46 3807 -> 3805[label="",style="dashed", color="red", weight=0]; 248.95/165.46 3807[label="error []",fontsize=16,color="magenta"];3533 -> 3054[label="",style="dashed", color="red", weight=0]; 248.95/165.46 3533[label="vyv249 * vyv249",fontsize=16,color="magenta"];3533 -> 3563[label="",style="dashed", color="magenta", weight=3]; 248.95/165.46 3534 -> 3055[label="",style="dashed", color="red", weight=0]; 248.95/165.46 3534[label="vyv249 * vyv249",fontsize=16,color="magenta"];3534 -> 3564[label="",style="dashed", color="magenta", weight=3]; 248.95/165.46 3535 -> 3056[label="",style="dashed", color="red", weight=0]; 248.95/165.46 3535[label="vyv249 * vyv249",fontsize=16,color="magenta"];3535 -> 3565[label="",style="dashed", color="magenta", weight=3]; 248.95/165.46 3536 -> 3057[label="",style="dashed", color="red", weight=0]; 248.95/165.46 3536[label="vyv249 * vyv249",fontsize=16,color="magenta"];3536 -> 3566[label="",style="dashed", color="magenta", weight=3]; 248.95/165.46 3537 -> 3058[label="",style="dashed", color="red", weight=0]; 248.95/165.46 3537[label="vyv249 * vyv249",fontsize=16,color="magenta"];3537 -> 3567[label="",style="dashed", color="magenta", weight=3]; 248.95/165.46 3538 -> 3777[label="",style="dashed", color="red", weight=0]; 248.95/165.46 3538[label="primQuotInt (Neg (Succ vyv250)) (fromInt (Pos (Succ (Succ Zero))))",fontsize=16,color="magenta"];3538 -> 3782[label="",style="dashed", color="magenta", weight=3]; 248.95/165.46 3538 -> 3783[label="",style="dashed", color="magenta", weight=3]; 248.95/165.46 3231[label="pr2F4 vyv239 (Neg (Succ vyv240) - vyv243) (vyv239 * vyv238)",fontsize=16,color="black",shape="box"];3231 -> 3254[label="",style="solid", color="black", weight=3]; 248.95/165.46 3820[label="Neg (primDivNatS vyv2700 (Succ vyv28700))",fontsize=16,color="green",shape="box"];3820 -> 3829[label="",style="dashed", color="green", weight=3]; 248.95/165.46 3821 -> 3805[label="",style="dashed", color="red", weight=0]; 248.95/165.46 3821[label="error []",fontsize=16,color="magenta"];3822[label="Pos (primDivNatS vyv2700 (Succ vyv28700))",fontsize=16,color="green",shape="box"];3822 -> 3830[label="",style="dashed", color="green", weight=3]; 248.95/165.46 3823 -> 3805[label="",style="dashed", color="red", weight=0]; 248.95/165.46 3823[label="error []",fontsize=16,color="magenta"];3232 -> 3255[label="",style="dashed", color="red", weight=0]; 248.95/165.46 3232[label="pr2F vyv227 (Pos (Succ vyv228) - fromInt (Pos (Succ Zero))) (vyv227 * vyv226)",fontsize=16,color="magenta"];3232 -> 3264[label="",style="dashed", color="magenta", weight=3]; 248.95/165.46 3233[label="vyv227",fontsize=16,color="green",shape="box"];3234[label="vyv227",fontsize=16,color="green",shape="box"];3235[label="vyv227",fontsize=16,color="green",shape="box"];3236[label="vyv227",fontsize=16,color="green",shape="box"];3237[label="vyv227",fontsize=16,color="green",shape="box"];3745 -> 3741[label="",style="dashed", color="red", weight=0]; 248.95/165.46 3745[label="fromInt (Pos (Succ (Succ Zero)))",fontsize=16,color="magenta"];3746[label="Succ vyv228",fontsize=16,color="green",shape="box"];3291 -> 3217[label="",style="dashed", color="red", weight=0]; 248.95/165.46 3291[label="Pos (Succ vyv228) - vyv244 == fromInt (Pos Zero)",fontsize=16,color="magenta"];3291 -> 3292[label="",style="dashed", color="magenta", weight=3]; 248.95/165.46 3290[label="pr2F3 vyv246 vyv227 (Pos (Succ vyv228) - vyv244) (vyv227 * vyv226)",fontsize=16,color="burlywood",shape="triangle"];4471[label="vyv246/False",fontsize=10,color="white",style="solid",shape="box"];3290 -> 4471[label="",style="solid", color="burlywood", weight=9]; 248.95/165.46 4471 -> 3293[label="",style="solid", color="burlywood", weight=3]; 248.95/165.46 4472[label="vyv246/True",fontsize=10,color="white",style="solid",shape="box"];3290 -> 4472[label="",style="solid", color="burlywood", weight=9]; 248.95/165.46 4472 -> 3294[label="",style="solid", color="burlywood", weight=3]; 248.95/165.46 3548[label="vyv1830",fontsize=16,color="green",shape="box"];3549[label="vyv1831",fontsize=16,color="green",shape="box"];3550[label="vyv1830",fontsize=16,color="green",shape="box"];3551[label="vyv1831",fontsize=16,color="green",shape="box"];3552[label="vyv1831 * vyv1831 == fromInt (Pos Zero)",fontsize=16,color="blue",shape="box"];4473[label="== :: Int -> Int -> Bool",fontsize=10,color="white",style="solid",shape="box"];3552 -> 4473[label="",style="solid", color="blue", weight=9]; 248.95/165.46 4473 -> 3569[label="",style="solid", color="blue", weight=3]; 248.95/165.46 4474[label="== :: Integer -> Integer -> Bool",fontsize=10,color="white",style="solid",shape="box"];3552 -> 4474[label="",style="solid", color="blue", weight=9]; 248.95/165.46 4474 -> 3570[label="",style="solid", color="blue", weight=3]; 248.95/165.46 3547[label="reduce2Reduce1 (vyv264 * vyv265) (vyv266 * vyv267) (vyv264 * vyv265) (vyv266 * vyv267) vyv268",fontsize=16,color="burlywood",shape="triangle"];4475[label="vyv268/False",fontsize=10,color="white",style="solid",shape="box"];3547 -> 4475[label="",style="solid", color="burlywood", weight=9]; 248.95/165.46 4475 -> 3571[label="",style="solid", color="burlywood", weight=3]; 248.95/165.46 4476[label="vyv268/True",fontsize=10,color="white",style="solid",shape="box"];3547 -> 4476[label="",style="solid", color="burlywood", weight=9]; 248.95/165.46 4476 -> 3572[label="",style="solid", color="burlywood", weight=3]; 248.95/165.46 3170[label="primMulNat (Succ vyv18300) (Succ vyv18300)",fontsize=16,color="black",shape="box"];3170 -> 3197[label="",style="solid", color="black", weight=3]; 248.95/165.46 3171[label="primMulNat Zero Zero",fontsize=16,color="black",shape="box"];3171 -> 3198[label="",style="solid", color="black", weight=3]; 248.95/165.46 3172[label="vyv1830",fontsize=16,color="green",shape="box"];3814[label="primDivNatS vyv2700 (Succ vyv28400)",fontsize=16,color="burlywood",shape="triangle"];4477[label="vyv2700/Succ vyv27000",fontsize=10,color="white",style="solid",shape="box"];3814 -> 4477[label="",style="solid", color="burlywood", weight=9]; 248.95/165.46 4477 -> 3824[label="",style="solid", color="burlywood", weight=3]; 248.95/165.46 4478[label="vyv2700/Zero",fontsize=10,color="white",style="solid",shape="box"];3814 -> 4478[label="",style="solid", color="burlywood", weight=9]; 248.95/165.46 4478 -> 3825[label="",style="solid", color="burlywood", weight=3]; 248.95/165.46 3815[label="error []",fontsize=16,color="red",shape="box"];3816 -> 3814[label="",style="dashed", color="red", weight=0]; 248.95/165.46 3816[label="primDivNatS vyv2700 (Succ vyv28400)",fontsize=16,color="magenta"];3816 -> 3826[label="",style="dashed", color="magenta", weight=3]; 248.95/165.46 3563[label="vyv249",fontsize=16,color="green",shape="box"];3564[label="vyv249",fontsize=16,color="green",shape="box"];3565[label="vyv249",fontsize=16,color="green",shape="box"];3566[label="vyv249",fontsize=16,color="green",shape="box"];3567[label="vyv249",fontsize=16,color="green",shape="box"];3782[label="Succ vyv250",fontsize=16,color="green",shape="box"];3783 -> 3741[label="",style="dashed", color="red", weight=0]; 248.95/165.46 3783[label="fromInt (Pos (Succ (Succ Zero)))",fontsize=16,color="magenta"];3254 -> 3267[label="",style="dashed", color="red", weight=0]; 248.95/165.46 3254[label="pr2F3 (Neg (Succ vyv240) - vyv243 == fromInt (Pos Zero)) vyv239 (Neg (Succ vyv240) - vyv243) (vyv239 * vyv238)",fontsize=16,color="magenta"];3254 -> 3268[label="",style="dashed", color="magenta", weight=3]; 248.95/165.46 3829 -> 3814[label="",style="dashed", color="red", weight=0]; 248.95/165.46 3829[label="primDivNatS vyv2700 (Succ vyv28700)",fontsize=16,color="magenta"];3829 -> 3836[label="",style="dashed", color="magenta", weight=3]; 248.95/165.46 3829 -> 3837[label="",style="dashed", color="magenta", weight=3]; 248.95/165.46 3830 -> 3814[label="",style="dashed", color="red", weight=0]; 248.95/165.46 3830[label="primDivNatS vyv2700 (Succ vyv28700)",fontsize=16,color="magenta"];3830 -> 3838[label="",style="dashed", color="magenta", weight=3]; 248.95/165.46 3830 -> 3839[label="",style="dashed", color="magenta", weight=3]; 248.95/165.46 3264 -> 33[label="",style="dashed", color="red", weight=0]; 248.95/165.46 3264[label="fromInt (Pos (Succ Zero))",fontsize=16,color="magenta"];3292[label="Pos (Succ vyv228) - vyv244",fontsize=16,color="black",shape="triangle"];3292 -> 3318[label="",style="solid", color="black", weight=3]; 248.95/165.46 3217[label="vyv241 == fromInt (Pos Zero)",fontsize=16,color="black",shape="triangle"];3217 -> 3251[label="",style="solid", color="black", weight=3]; 248.95/165.46 3293[label="pr2F3 False vyv227 (Pos (Succ vyv228) - vyv244) (vyv227 * vyv226)",fontsize=16,color="black",shape="box"];3293 -> 3319[label="",style="solid", color="black", weight=3]; 248.95/165.46 3294[label="pr2F3 True vyv227 (Pos (Succ vyv228) - vyv244) (vyv227 * vyv226)",fontsize=16,color="black",shape="box"];3294 -> 3320[label="",style="solid", color="black", weight=3]; 248.95/165.46 3569 -> 3217[label="",style="dashed", color="red", weight=0]; 248.95/165.46 3569[label="vyv1831 * vyv1831 == fromInt (Pos Zero)",fontsize=16,color="magenta"];3569 -> 3590[label="",style="dashed", color="magenta", weight=3]; 248.95/165.46 3570 -> 3591[label="",style="dashed", color="red", weight=0]; 248.95/165.46 3570[label="vyv1831 * vyv1831 == fromInt (Pos Zero)",fontsize=16,color="magenta"];3570 -> 3592[label="",style="dashed", color="magenta", weight=3]; 248.95/165.46 3571[label="reduce2Reduce1 (vyv264 * vyv265) (vyv266 * vyv267) (vyv264 * vyv265) (vyv266 * vyv267) False",fontsize=16,color="black",shape="box"];3571 -> 3594[label="",style="solid", color="black", weight=3]; 248.95/165.46 3572[label="reduce2Reduce1 (vyv264 * vyv265) (vyv266 * vyv267) (vyv264 * vyv265) (vyv266 * vyv267) True",fontsize=16,color="black",shape="box"];3572 -> 3595[label="",style="solid", color="black", weight=3]; 248.95/165.46 3197 -> 75[label="",style="dashed", color="red", weight=0]; 248.95/165.46 3197[label="primPlusNat (primMulNat vyv18300 (Succ vyv18300)) (Succ vyv18300)",fontsize=16,color="magenta"];3197 -> 3241[label="",style="dashed", color="magenta", weight=3]; 248.95/165.46 3197 -> 3242[label="",style="dashed", color="magenta", weight=3]; 248.95/165.46 3198[label="Zero",fontsize=16,color="green",shape="box"];3824[label="primDivNatS (Succ vyv27000) (Succ vyv28400)",fontsize=16,color="black",shape="box"];3824 -> 3831[label="",style="solid", color="black", weight=3]; 248.95/165.46 3825[label="primDivNatS Zero (Succ vyv28400)",fontsize=16,color="black",shape="box"];3825 -> 3832[label="",style="solid", color="black", weight=3]; 248.95/165.46 3826[label="vyv28400",fontsize=16,color="green",shape="box"];3268 -> 3217[label="",style="dashed", color="red", weight=0]; 248.95/165.46 3268[label="Neg (Succ vyv240) - vyv243 == fromInt (Pos Zero)",fontsize=16,color="magenta"];3268 -> 3271[label="",style="dashed", color="magenta", weight=3]; 248.95/165.46 3267[label="pr2F3 vyv245 vyv239 (Neg (Succ vyv240) - vyv243) (vyv239 * vyv238)",fontsize=16,color="burlywood",shape="triangle"];4479[label="vyv245/False",fontsize=10,color="white",style="solid",shape="box"];3267 -> 4479[label="",style="solid", color="burlywood", weight=9]; 248.95/165.46 4479 -> 3272[label="",style="solid", color="burlywood", weight=3]; 248.95/165.46 4480[label="vyv245/True",fontsize=10,color="white",style="solid",shape="box"];3267 -> 4480[label="",style="solid", color="burlywood", weight=9]; 248.95/165.46 4480 -> 3273[label="",style="solid", color="burlywood", weight=3]; 248.95/165.46 3836[label="vyv2700",fontsize=16,color="green",shape="box"];3837[label="vyv28700",fontsize=16,color="green",shape="box"];3838[label="vyv2700",fontsize=16,color="green",shape="box"];3839[label="vyv28700",fontsize=16,color="green",shape="box"];3318[label="primMinusInt (Pos (Succ vyv228)) vyv244",fontsize=16,color="burlywood",shape="box"];4481[label="vyv244/Pos vyv2440",fontsize=10,color="white",style="solid",shape="box"];3318 -> 4481[label="",style="solid", color="burlywood", weight=9]; 248.95/165.46 4481 -> 3349[label="",style="solid", color="burlywood", weight=3]; 248.95/165.46 4482[label="vyv244/Neg vyv2440",fontsize=10,color="white",style="solid",shape="box"];3318 -> 4482[label="",style="solid", color="burlywood", weight=9]; 248.95/165.46 4482 -> 3350[label="",style="solid", color="burlywood", weight=3]; 248.95/165.46 3251[label="primEqInt vyv241 (fromInt (Pos Zero))",fontsize=16,color="burlywood",shape="box"];4483[label="vyv241/Pos vyv2410",fontsize=10,color="white",style="solid",shape="box"];3251 -> 4483[label="",style="solid", color="burlywood", weight=9]; 248.95/165.46 4483 -> 3287[label="",style="solid", color="burlywood", weight=3]; 248.95/165.46 4484[label="vyv241/Neg vyv2410",fontsize=10,color="white",style="solid",shape="box"];3251 -> 4484[label="",style="solid", color="burlywood", weight=9]; 248.95/165.46 4484 -> 3288[label="",style="solid", color="burlywood", weight=3]; 248.95/165.46 3319 -> 2999[label="",style="dashed", color="red", weight=0]; 248.95/165.46 3319[label="pr2F0 vyv227 (Pos (Succ vyv228) - vyv244) (vyv227 * vyv226)",fontsize=16,color="magenta"];3319 -> 3351[label="",style="dashed", color="magenta", weight=3]; 248.95/165.46 3319 -> 3352[label="",style="dashed", color="magenta", weight=3]; 248.95/165.46 3319 -> 3353[label="",style="dashed", color="magenta", weight=3]; 248.95/165.46 3320[label="vyv227 * vyv226",fontsize=16,color="blue",shape="box"];4485[label="* :: Double -> Double -> Double",fontsize=10,color="white",style="solid",shape="box"];3320 -> 4485[label="",style="solid", color="blue", weight=9]; 248.95/165.46 4485 -> 3354[label="",style="solid", color="blue", weight=3]; 248.95/165.46 4486[label="* :: (Ratio a) -> (Ratio a) -> Ratio a",fontsize=10,color="white",style="solid",shape="box"];3320 -> 4486[label="",style="solid", color="blue", weight=9]; 248.95/165.46 4486 -> 3355[label="",style="solid", color="blue", weight=3]; 248.95/165.46 4487[label="* :: Float -> Float -> Float",fontsize=10,color="white",style="solid",shape="box"];3320 -> 4487[label="",style="solid", color="blue", weight=9]; 248.95/165.46 4487 -> 3356[label="",style="solid", color="blue", weight=3]; 248.95/165.46 4488[label="* :: Integer -> Integer -> Integer",fontsize=10,color="white",style="solid",shape="box"];3320 -> 4488[label="",style="solid", color="blue", weight=9]; 248.95/165.46 4488 -> 3357[label="",style="solid", color="blue", weight=3]; 248.95/165.46 4489[label="* :: Int -> Int -> Int",fontsize=10,color="white",style="solid",shape="box"];3320 -> 4489[label="",style="solid", color="blue", weight=9]; 248.95/165.46 4489 -> 3358[label="",style="solid", color="blue", weight=3]; 248.95/165.46 3590 -> 3058[label="",style="dashed", color="red", weight=0]; 248.95/165.46 3590[label="vyv1831 * vyv1831",fontsize=16,color="magenta"];3590 -> 3597[label="",style="dashed", color="magenta", weight=3]; 248.95/165.46 3592 -> 3057[label="",style="dashed", color="red", weight=0]; 248.95/165.46 3592[label="vyv1831 * vyv1831",fontsize=16,color="magenta"];3592 -> 3598[label="",style="dashed", color="magenta", weight=3]; 248.95/165.46 3591[label="vyv269 == fromInt (Pos Zero)",fontsize=16,color="burlywood",shape="triangle"];4490[label="vyv269/Integer vyv2690",fontsize=10,color="white",style="solid",shape="box"];3591 -> 4490[label="",style="solid", color="burlywood", weight=9]; 248.95/165.46 4490 -> 3599[label="",style="solid", color="burlywood", weight=3]; 248.95/165.46 3594[label="reduce2Reduce0 (vyv264 * vyv265) (vyv266 * vyv267) (vyv264 * vyv265) (vyv266 * vyv267) otherwise",fontsize=16,color="black",shape="box"];3594 -> 3612[label="",style="solid", color="black", weight=3]; 248.95/165.46 3595[label="error []",fontsize=16,color="black",shape="box"];3595 -> 3613[label="",style="solid", color="black", weight=3]; 248.95/165.46 3241[label="Succ vyv18300",fontsize=16,color="green",shape="box"];3242[label="primMulNat vyv18300 (Succ vyv18300)",fontsize=16,color="burlywood",shape="box"];4491[label="vyv18300/Succ vyv183000",fontsize=10,color="white",style="solid",shape="box"];3242 -> 4491[label="",style="solid", color="burlywood", weight=9]; 248.95/165.46 4491 -> 3276[label="",style="solid", color="burlywood", weight=3]; 248.95/165.46 4492[label="vyv18300/Zero",fontsize=10,color="white",style="solid",shape="box"];3242 -> 4492[label="",style="solid", color="burlywood", weight=9]; 248.95/165.46 4492 -> 3277[label="",style="solid", color="burlywood", weight=3]; 248.95/165.46 3831[label="primDivNatS0 vyv27000 vyv28400 (primGEqNatS vyv27000 vyv28400)",fontsize=16,color="burlywood",shape="box"];4493[label="vyv27000/Succ vyv270000",fontsize=10,color="white",style="solid",shape="box"];3831 -> 4493[label="",style="solid", color="burlywood", weight=9]; 248.95/165.46 4493 -> 3840[label="",style="solid", color="burlywood", weight=3]; 248.95/165.46 4494[label="vyv27000/Zero",fontsize=10,color="white",style="solid",shape="box"];3831 -> 4494[label="",style="solid", color="burlywood", weight=9]; 248.95/165.46 4494 -> 3841[label="",style="solid", color="burlywood", weight=3]; 248.95/165.46 3832[label="Zero",fontsize=16,color="green",shape="box"];3271[label="Neg (Succ vyv240) - vyv243",fontsize=16,color="black",shape="triangle"];3271 -> 3296[label="",style="solid", color="black", weight=3]; 248.95/165.46 3272[label="pr2F3 False vyv239 (Neg (Succ vyv240) - vyv243) (vyv239 * vyv238)",fontsize=16,color="black",shape="box"];3272 -> 3297[label="",style="solid", color="black", weight=3]; 248.95/165.46 3273[label="pr2F3 True vyv239 (Neg (Succ vyv240) - vyv243) (vyv239 * vyv238)",fontsize=16,color="black",shape="box"];3273 -> 3298[label="",style="solid", color="black", weight=3]; 248.95/165.46 3349[label="primMinusInt (Pos (Succ vyv228)) (Pos vyv2440)",fontsize=16,color="black",shape="box"];3349 -> 3402[label="",style="solid", color="black", weight=3]; 248.95/165.46 3350[label="primMinusInt (Pos (Succ vyv228)) (Neg vyv2440)",fontsize=16,color="black",shape="box"];3350 -> 3403[label="",style="solid", color="black", weight=3]; 248.95/165.46 3287[label="primEqInt (Pos vyv2410) (fromInt (Pos Zero))",fontsize=16,color="burlywood",shape="box"];4495[label="vyv2410/Succ vyv24100",fontsize=10,color="white",style="solid",shape="box"];3287 -> 4495[label="",style="solid", color="burlywood", weight=9]; 248.95/165.46 4495 -> 3313[label="",style="solid", color="burlywood", weight=3]; 248.95/165.46 4496[label="vyv2410/Zero",fontsize=10,color="white",style="solid",shape="box"];3287 -> 4496[label="",style="solid", color="burlywood", weight=9]; 248.95/165.46 4496 -> 3314[label="",style="solid", color="burlywood", weight=3]; 248.95/165.46 3288[label="primEqInt (Neg vyv2410) (fromInt (Pos Zero))",fontsize=16,color="burlywood",shape="box"];4497[label="vyv2410/Succ vyv24100",fontsize=10,color="white",style="solid",shape="box"];3288 -> 4497[label="",style="solid", color="burlywood", weight=9]; 248.95/165.46 4497 -> 3315[label="",style="solid", color="burlywood", weight=3]; 248.95/165.46 4498[label="vyv2410/Zero",fontsize=10,color="white",style="solid",shape="box"];3288 -> 4498[label="",style="solid", color="burlywood", weight=9]; 248.95/165.46 4498 -> 3316[label="",style="solid", color="burlywood", weight=3]; 248.95/165.46 3351[label="vyv227",fontsize=16,color="green",shape="box"];3352 -> 3292[label="",style="dashed", color="red", weight=0]; 248.95/165.46 3352[label="Pos (Succ vyv228) - vyv244",fontsize=16,color="magenta"];3353[label="vyv227 * vyv226",fontsize=16,color="blue",shape="box"];4499[label="* :: Double -> Double -> Double",fontsize=10,color="white",style="solid",shape="box"];3353 -> 4499[label="",style="solid", color="blue", weight=9]; 248.95/165.46 4499 -> 3404[label="",style="solid", color="blue", weight=3]; 248.95/165.46 4500[label="* :: (Ratio a) -> (Ratio a) -> Ratio a",fontsize=10,color="white",style="solid",shape="box"];3353 -> 4500[label="",style="solid", color="blue", weight=9]; 248.95/165.46 4500 -> 3405[label="",style="solid", color="blue", weight=3]; 248.95/165.46 4501[label="* :: Float -> Float -> Float",fontsize=10,color="white",style="solid",shape="box"];3353 -> 4501[label="",style="solid", color="blue", weight=9]; 248.95/165.46 4501 -> 3406[label="",style="solid", color="blue", weight=3]; 248.95/165.46 4502[label="* :: Integer -> Integer -> Integer",fontsize=10,color="white",style="solid",shape="box"];3353 -> 4502[label="",style="solid", color="blue", weight=9]; 248.95/165.46 4502 -> 3407[label="",style="solid", color="blue", weight=3]; 248.95/165.46 4503[label="* :: Int -> Int -> Int",fontsize=10,color="white",style="solid",shape="box"];3353 -> 4503[label="",style="solid", color="blue", weight=9]; 248.95/165.46 4503 -> 3408[label="",style="solid", color="blue", weight=3]; 248.95/165.46 3354 -> 3328[label="",style="dashed", color="red", weight=0]; 248.95/165.46 3354[label="vyv227 * vyv226",fontsize=16,color="magenta"];3354 -> 3409[label="",style="dashed", color="magenta", weight=3]; 248.95/165.46 3354 -> 3410[label="",style="dashed", color="magenta", weight=3]; 248.95/165.46 3355 -> 3329[label="",style="dashed", color="red", weight=0]; 248.95/165.46 3355[label="vyv227 * vyv226",fontsize=16,color="magenta"];3355 -> 3411[label="",style="dashed", color="magenta", weight=3]; 248.95/165.46 3355 -> 3412[label="",style="dashed", color="magenta", weight=3]; 248.95/165.46 3356 -> 3330[label="",style="dashed", color="red", weight=0]; 248.95/165.46 3356[label="vyv227 * vyv226",fontsize=16,color="magenta"];3356 -> 3413[label="",style="dashed", color="magenta", weight=3]; 248.95/165.46 3356 -> 3414[label="",style="dashed", color="magenta", weight=3]; 248.95/165.46 3357 -> 3331[label="",style="dashed", color="red", weight=0]; 248.95/165.46 3357[label="vyv227 * vyv226",fontsize=16,color="magenta"];3357 -> 3415[label="",style="dashed", color="magenta", weight=3]; 248.95/165.46 3357 -> 3416[label="",style="dashed", color="magenta", weight=3]; 248.95/165.46 3358 -> 3332[label="",style="dashed", color="red", weight=0]; 248.95/165.46 3358[label="vyv227 * vyv226",fontsize=16,color="magenta"];3358 -> 3417[label="",style="dashed", color="magenta", weight=3]; 248.95/165.46 3358 -> 3418[label="",style="dashed", color="magenta", weight=3]; 248.95/165.46 3597[label="vyv1831",fontsize=16,color="green",shape="box"];3598[label="vyv1831",fontsize=16,color="green",shape="box"];3599[label="Integer vyv2690 == fromInt (Pos Zero)",fontsize=16,color="black",shape="box"];3599 -> 3615[label="",style="solid", color="black", weight=3]; 248.95/165.46 3612[label="reduce2Reduce0 (vyv264 * vyv265) (vyv266 * vyv267) (vyv264 * vyv265) (vyv266 * vyv267) True",fontsize=16,color="black",shape="box"];3612 -> 3624[label="",style="solid", color="black", weight=3]; 248.95/165.46 3613[label="error []",fontsize=16,color="red",shape="box"];3276[label="primMulNat (Succ vyv183000) (Succ (Succ vyv183000))",fontsize=16,color="black",shape="box"];3276 -> 3300[label="",style="solid", color="black", weight=3]; 248.95/165.46 3277[label="primMulNat Zero (Succ Zero)",fontsize=16,color="black",shape="box"];3277 -> 3301[label="",style="solid", color="black", weight=3]; 248.95/165.46 3840[label="primDivNatS0 (Succ vyv270000) vyv28400 (primGEqNatS (Succ vyv270000) vyv28400)",fontsize=16,color="burlywood",shape="box"];4504[label="vyv28400/Succ vyv284000",fontsize=10,color="white",style="solid",shape="box"];3840 -> 4504[label="",style="solid", color="burlywood", weight=9]; 248.95/165.46 4504 -> 3846[label="",style="solid", color="burlywood", weight=3]; 248.95/165.46 4505[label="vyv28400/Zero",fontsize=10,color="white",style="solid",shape="box"];3840 -> 4505[label="",style="solid", color="burlywood", weight=9]; 248.95/165.46 4505 -> 3847[label="",style="solid", color="burlywood", weight=3]; 248.95/165.46 3841[label="primDivNatS0 Zero vyv28400 (primGEqNatS Zero vyv28400)",fontsize=16,color="burlywood",shape="box"];4506[label="vyv28400/Succ vyv284000",fontsize=10,color="white",style="solid",shape="box"];3841 -> 4506[label="",style="solid", color="burlywood", weight=9]; 248.95/165.46 4506 -> 3848[label="",style="solid", color="burlywood", weight=3]; 248.95/165.46 4507[label="vyv28400/Zero",fontsize=10,color="white",style="solid",shape="box"];3841 -> 4507[label="",style="solid", color="burlywood", weight=9]; 248.95/165.46 4507 -> 3849[label="",style="solid", color="burlywood", weight=3]; 248.95/165.46 3296[label="primMinusInt (Neg (Succ vyv240)) vyv243",fontsize=16,color="burlywood",shape="box"];4508[label="vyv243/Pos vyv2430",fontsize=10,color="white",style="solid",shape="box"];3296 -> 4508[label="",style="solid", color="burlywood", weight=9]; 248.95/165.46 4508 -> 3323[label="",style="solid", color="burlywood", weight=3]; 248.95/165.46 4509[label="vyv243/Neg vyv2430",fontsize=10,color="white",style="solid",shape="box"];3296 -> 4509[label="",style="solid", color="burlywood", weight=9]; 248.95/165.46 4509 -> 3324[label="",style="solid", color="burlywood", weight=3]; 248.95/165.46 3297 -> 2999[label="",style="dashed", color="red", weight=0]; 248.95/165.46 3297[label="pr2F0 vyv239 (Neg (Succ vyv240) - vyv243) (vyv239 * vyv238)",fontsize=16,color="magenta"];3297 -> 3325[label="",style="dashed", color="magenta", weight=3]; 248.95/165.46 3297 -> 3326[label="",style="dashed", color="magenta", weight=3]; 248.95/165.46 3297 -> 3327[label="",style="dashed", color="magenta", weight=3]; 248.95/165.46 3298[label="vyv239 * vyv238",fontsize=16,color="blue",shape="box"];4510[label="* :: Double -> Double -> Double",fontsize=10,color="white",style="solid",shape="box"];3298 -> 4510[label="",style="solid", color="blue", weight=9]; 248.95/165.46 4510 -> 3328[label="",style="solid", color="blue", weight=3]; 248.95/165.46 4511[label="* :: (Ratio a) -> (Ratio a) -> Ratio a",fontsize=10,color="white",style="solid",shape="box"];3298 -> 4511[label="",style="solid", color="blue", weight=9]; 248.95/165.46 4511 -> 3329[label="",style="solid", color="blue", weight=3]; 248.95/165.46 4512[label="* :: Float -> Float -> Float",fontsize=10,color="white",style="solid",shape="box"];3298 -> 4512[label="",style="solid", color="blue", weight=9]; 248.95/165.46 4512 -> 3330[label="",style="solid", color="blue", weight=3]; 248.95/165.46 4513[label="* :: Integer -> Integer -> Integer",fontsize=10,color="white",style="solid",shape="box"];3298 -> 4513[label="",style="solid", color="blue", weight=9]; 248.95/165.46 4513 -> 3331[label="",style="solid", color="blue", weight=3]; 248.95/165.46 4514[label="* :: Int -> Int -> Int",fontsize=10,color="white",style="solid",shape="box"];3298 -> 4514[label="",style="solid", color="blue", weight=9]; 248.95/165.46 4514 -> 3332[label="",style="solid", color="blue", weight=3]; 248.95/165.46 3402[label="primMinusNat (Succ vyv228) vyv2440",fontsize=16,color="burlywood",shape="box"];4515[label="vyv2440/Succ vyv24400",fontsize=10,color="white",style="solid",shape="box"];3402 -> 4515[label="",style="solid", color="burlywood", weight=9]; 248.95/165.46 4515 -> 3446[label="",style="solid", color="burlywood", weight=3]; 248.95/165.46 4516[label="vyv2440/Zero",fontsize=10,color="white",style="solid",shape="box"];3402 -> 4516[label="",style="solid", color="burlywood", weight=9]; 248.95/165.46 4516 -> 3447[label="",style="solid", color="burlywood", weight=3]; 248.95/165.46 3403[label="Pos (primPlusNat (Succ vyv228) vyv2440)",fontsize=16,color="green",shape="box"];3403 -> 3448[label="",style="dashed", color="green", weight=3]; 248.95/165.46 3313[label="primEqInt (Pos (Succ vyv24100)) (fromInt (Pos Zero))",fontsize=16,color="black",shape="box"];3313 -> 3343[label="",style="solid", color="black", weight=3]; 248.95/165.46 3314[label="primEqInt (Pos Zero) (fromInt (Pos Zero))",fontsize=16,color="black",shape="box"];3314 -> 3344[label="",style="solid", color="black", weight=3]; 248.95/165.46 3315[label="primEqInt (Neg (Succ vyv24100)) (fromInt (Pos Zero))",fontsize=16,color="black",shape="box"];3315 -> 3345[label="",style="solid", color="black", weight=3]; 248.95/165.46 3316[label="primEqInt (Neg Zero) (fromInt (Pos Zero))",fontsize=16,color="black",shape="box"];3316 -> 3346[label="",style="solid", color="black", weight=3]; 248.95/165.46 3404 -> 3328[label="",style="dashed", color="red", weight=0]; 248.95/165.46 3404[label="vyv227 * vyv226",fontsize=16,color="magenta"];3404 -> 3449[label="",style="dashed", color="magenta", weight=3]; 248.95/165.46 3404 -> 3450[label="",style="dashed", color="magenta", weight=3]; 248.95/165.46 3405 -> 3329[label="",style="dashed", color="red", weight=0]; 248.95/165.46 3405[label="vyv227 * vyv226",fontsize=16,color="magenta"];3405 -> 3451[label="",style="dashed", color="magenta", weight=3]; 248.95/165.46 3405 -> 3452[label="",style="dashed", color="magenta", weight=3]; 248.95/165.46 3406 -> 3330[label="",style="dashed", color="red", weight=0]; 248.95/165.46 3406[label="vyv227 * vyv226",fontsize=16,color="magenta"];3406 -> 3453[label="",style="dashed", color="magenta", weight=3]; 248.95/165.46 3406 -> 3454[label="",style="dashed", color="magenta", weight=3]; 248.95/165.46 3407 -> 3331[label="",style="dashed", color="red", weight=0]; 248.95/165.46 3407[label="vyv227 * vyv226",fontsize=16,color="magenta"];3407 -> 3455[label="",style="dashed", color="magenta", weight=3]; 248.95/165.46 3407 -> 3456[label="",style="dashed", color="magenta", weight=3]; 248.95/165.46 3408 -> 3332[label="",style="dashed", color="red", weight=0]; 248.95/165.46 3408[label="vyv227 * vyv226",fontsize=16,color="magenta"];3408 -> 3457[label="",style="dashed", color="magenta", weight=3]; 248.95/165.46 3408 -> 3458[label="",style="dashed", color="magenta", weight=3]; 248.95/165.46 3409[label="vyv227",fontsize=16,color="green",shape="box"];3410[label="vyv226",fontsize=16,color="green",shape="box"];3328[label="vyv239 * vyv238",fontsize=16,color="black",shape="triangle"];3328 -> 3368[label="",style="solid", color="black", weight=3]; 248.95/165.46 3411[label="vyv227",fontsize=16,color="green",shape="box"];3412[label="vyv226",fontsize=16,color="green",shape="box"];3329[label="vyv239 * vyv238",fontsize=16,color="burlywood",shape="triangle"];4517[label="vyv239/vyv2390 :% vyv2391",fontsize=10,color="white",style="solid",shape="box"];3329 -> 4517[label="",style="solid", color="burlywood", weight=9]; 248.95/165.46 4517 -> 3369[label="",style="solid", color="burlywood", weight=3]; 248.95/165.46 3413[label="vyv227",fontsize=16,color="green",shape="box"];3414[label="vyv226",fontsize=16,color="green",shape="box"];3330[label="vyv239 * vyv238",fontsize=16,color="black",shape="triangle"];3330 -> 3370[label="",style="solid", color="black", weight=3]; 248.95/165.46 3415[label="vyv227",fontsize=16,color="green",shape="box"];3416[label="vyv226",fontsize=16,color="green",shape="box"];3331[label="vyv239 * vyv238",fontsize=16,color="black",shape="triangle"];3331 -> 3371[label="",style="solid", color="black", weight=3]; 248.95/165.46 3417[label="vyv227",fontsize=16,color="green",shape="box"];3418[label="vyv226",fontsize=16,color="green",shape="box"];3332[label="vyv239 * vyv238",fontsize=16,color="black",shape="triangle"];3332 -> 3372[label="",style="solid", color="black", weight=3]; 248.95/165.46 3615[label="Integer vyv2690 == Integer (Pos Zero)",fontsize=16,color="black",shape="box"];3615 -> 3625[label="",style="solid", color="black", weight=3]; 248.95/165.46 3624[label="vyv264 * vyv265 `quot` reduce2D (vyv264 * vyv265) (vyv266 * vyv267) :% (vyv266 * vyv267 `quot` reduce2D (vyv264 * vyv265) (vyv266 * vyv267))",fontsize=16,color="green",shape="box"];3624 -> 3628[label="",style="dashed", color="green", weight=3]; 248.95/165.46 3624 -> 3629[label="",style="dashed", color="green", weight=3]; 248.95/165.46 3300 -> 75[label="",style="dashed", color="red", weight=0]; 248.95/165.46 3300[label="primPlusNat (primMulNat vyv183000 (Succ (Succ vyv183000))) (Succ (Succ vyv183000))",fontsize=16,color="magenta"];3300 -> 3335[label="",style="dashed", color="magenta", weight=3]; 248.95/165.46 3300 -> 3336[label="",style="dashed", color="magenta", weight=3]; 248.95/165.46 3301[label="Zero",fontsize=16,color="green",shape="box"];3846[label="primDivNatS0 (Succ vyv270000) (Succ vyv284000) (primGEqNatS (Succ vyv270000) (Succ vyv284000))",fontsize=16,color="black",shape="box"];3846 -> 3853[label="",style="solid", color="black", weight=3]; 248.95/165.46 3847[label="primDivNatS0 (Succ vyv270000) Zero (primGEqNatS (Succ vyv270000) Zero)",fontsize=16,color="black",shape="box"];3847 -> 3854[label="",style="solid", color="black", weight=3]; 248.95/165.46 3848[label="primDivNatS0 Zero (Succ vyv284000) (primGEqNatS Zero (Succ vyv284000))",fontsize=16,color="black",shape="box"];3848 -> 3855[label="",style="solid", color="black", weight=3]; 248.95/165.46 3849[label="primDivNatS0 Zero Zero (primGEqNatS Zero Zero)",fontsize=16,color="black",shape="box"];3849 -> 3856[label="",style="solid", color="black", weight=3]; 248.95/165.46 3323[label="primMinusInt (Neg (Succ vyv240)) (Pos vyv2430)",fontsize=16,color="black",shape="box"];3323 -> 3361[label="",style="solid", color="black", weight=3]; 248.95/165.46 3324[label="primMinusInt (Neg (Succ vyv240)) (Neg vyv2430)",fontsize=16,color="black",shape="box"];3324 -> 3362[label="",style="solid", color="black", weight=3]; 248.95/165.46 3325[label="vyv239",fontsize=16,color="green",shape="box"];3326 -> 3271[label="",style="dashed", color="red", weight=0]; 248.95/165.46 3326[label="Neg (Succ vyv240) - vyv243",fontsize=16,color="magenta"];3327[label="vyv239 * vyv238",fontsize=16,color="blue",shape="box"];4518[label="* :: Double -> Double -> Double",fontsize=10,color="white",style="solid",shape="box"];3327 -> 4518[label="",style="solid", color="blue", weight=9]; 248.95/165.46 4518 -> 3363[label="",style="solid", color="blue", weight=3]; 248.95/165.46 4519[label="* :: (Ratio a) -> (Ratio a) -> Ratio a",fontsize=10,color="white",style="solid",shape="box"];3327 -> 4519[label="",style="solid", color="blue", weight=9]; 248.95/165.46 4519 -> 3364[label="",style="solid", color="blue", weight=3]; 248.95/165.46 4520[label="* :: Float -> Float -> Float",fontsize=10,color="white",style="solid",shape="box"];3327 -> 4520[label="",style="solid", color="blue", weight=9]; 248.95/165.46 4520 -> 3365[label="",style="solid", color="blue", weight=3]; 248.95/165.46 4521[label="* :: Integer -> Integer -> Integer",fontsize=10,color="white",style="solid",shape="box"];3327 -> 4521[label="",style="solid", color="blue", weight=9]; 248.95/165.46 4521 -> 3366[label="",style="solid", color="blue", weight=3]; 248.95/165.46 4522[label="* :: Int -> Int -> Int",fontsize=10,color="white",style="solid",shape="box"];3327 -> 4522[label="",style="solid", color="blue", weight=9]; 248.95/165.46 4522 -> 3367[label="",style="solid", color="blue", weight=3]; 248.95/165.46 3446[label="primMinusNat (Succ vyv228) (Succ vyv24400)",fontsize=16,color="black",shape="box"];3446 -> 3476[label="",style="solid", color="black", weight=3]; 248.95/165.46 3447[label="primMinusNat (Succ vyv228) Zero",fontsize=16,color="black",shape="box"];3447 -> 3477[label="",style="solid", color="black", weight=3]; 248.95/165.46 3448 -> 75[label="",style="dashed", color="red", weight=0]; 248.95/165.46 3448[label="primPlusNat (Succ vyv228) vyv2440",fontsize=16,color="magenta"];3448 -> 3478[label="",style="dashed", color="magenta", weight=3]; 248.95/165.46 3448 -> 3479[label="",style="dashed", color="magenta", weight=3]; 248.95/165.46 3343 -> 3317[label="",style="dashed", color="red", weight=0]; 248.95/165.46 3343[label="primEqInt (Pos (Succ vyv24100)) (Pos Zero)",fontsize=16,color="magenta"];3343 -> 3422[label="",style="dashed", color="magenta", weight=3]; 248.95/165.46 3344 -> 3317[label="",style="dashed", color="red", weight=0]; 248.95/165.46 3344[label="primEqInt (Pos Zero) (Pos Zero)",fontsize=16,color="magenta"];3344 -> 3423[label="",style="dashed", color="magenta", weight=3]; 248.95/165.46 3345 -> 3317[label="",style="dashed", color="red", weight=0]; 248.95/165.46 3345[label="primEqInt (Neg (Succ vyv24100)) (Pos Zero)",fontsize=16,color="magenta"];3345 -> 3424[label="",style="dashed", color="magenta", weight=3]; 248.95/165.46 3346 -> 3317[label="",style="dashed", color="red", weight=0]; 248.95/165.46 3346[label="primEqInt (Neg Zero) (Pos Zero)",fontsize=16,color="magenta"];3346 -> 3425[label="",style="dashed", color="magenta", weight=3]; 248.95/165.46 3449[label="vyv227",fontsize=16,color="green",shape="box"];3450[label="vyv226",fontsize=16,color="green",shape="box"];3451[label="vyv227",fontsize=16,color="green",shape="box"];3452[label="vyv226",fontsize=16,color="green",shape="box"];3453[label="vyv227",fontsize=16,color="green",shape="box"];3454[label="vyv226",fontsize=16,color="green",shape="box"];3455[label="vyv227",fontsize=16,color="green",shape="box"];3456[label="vyv226",fontsize=16,color="green",shape="box"];3457[label="vyv227",fontsize=16,color="green",shape="box"];3458[label="vyv226",fontsize=16,color="green",shape="box"];3368[label="error []",fontsize=16,color="red",shape="box"];3369[label="vyv2390 :% vyv2391 * vyv238",fontsize=16,color="burlywood",shape="box"];4523[label="vyv238/vyv2380 :% vyv2381",fontsize=10,color="white",style="solid",shape="box"];3369 -> 4523[label="",style="solid", color="burlywood", weight=9]; 248.95/165.46 4523 -> 3429[label="",style="solid", color="burlywood", weight=3]; 248.95/165.46 3370[label="error []",fontsize=16,color="red",shape="box"];3371[label="error []",fontsize=16,color="red",shape="box"];3372[label="primMulInt vyv239 vyv238",fontsize=16,color="burlywood",shape="box"];4524[label="vyv239/Pos vyv2390",fontsize=10,color="white",style="solid",shape="box"];3372 -> 4524[label="",style="solid", color="burlywood", weight=9]; 248.95/165.46 4524 -> 3430[label="",style="solid", color="burlywood", weight=3]; 248.95/165.46 4525[label="vyv239/Neg vyv2390",fontsize=10,color="white",style="solid",shape="box"];3372 -> 4525[label="",style="solid", color="burlywood", weight=9]; 248.95/165.46 4525 -> 3431[label="",style="solid", color="burlywood", weight=3]; 248.95/165.46 3625 -> 3317[label="",style="dashed", color="red", weight=0]; 248.95/165.46 3625[label="primEqInt vyv2690 (Pos Zero)",fontsize=16,color="magenta"];3625 -> 3630[label="",style="dashed", color="magenta", weight=3]; 248.95/165.46 3628[label="vyv264 * vyv265 `quot` reduce2D (vyv264 * vyv265) (vyv266 * vyv267)",fontsize=16,color="blue",shape="box"];4526[label="`quot` :: Int -> Int -> Int",fontsize=10,color="white",style="solid",shape="box"];3628 -> 4526[label="",style="solid", color="blue", weight=9]; 248.95/165.46 4526 -> 3633[label="",style="solid", color="blue", weight=3]; 248.95/165.46 4527[label="`quot` :: Integer -> Integer -> Integer",fontsize=10,color="white",style="solid",shape="box"];3628 -> 4527[label="",style="solid", color="blue", weight=9]; 248.95/165.46 4527 -> 3634[label="",style="solid", color="blue", weight=3]; 248.95/165.46 3629[label="vyv266 * vyv267 `quot` reduce2D (vyv264 * vyv265) (vyv266 * vyv267)",fontsize=16,color="blue",shape="box"];4528[label="`quot` :: Int -> Int -> Int",fontsize=10,color="white",style="solid",shape="box"];3629 -> 4528[label="",style="solid", color="blue", weight=9]; 248.95/165.46 4528 -> 3635[label="",style="solid", color="blue", weight=3]; 248.95/165.46 4529[label="`quot` :: Integer -> Integer -> Integer",fontsize=10,color="white",style="solid",shape="box"];3629 -> 4529[label="",style="solid", color="blue", weight=9]; 248.95/165.46 4529 -> 3636[label="",style="solid", color="blue", weight=3]; 248.95/165.46 3335[label="Succ (Succ vyv183000)",fontsize=16,color="green",shape="box"];3336[label="primMulNat vyv183000 (Succ (Succ vyv183000))",fontsize=16,color="burlywood",shape="box"];4530[label="vyv183000/Succ vyv1830000",fontsize=10,color="white",style="solid",shape="box"];3336 -> 4530[label="",style="solid", color="burlywood", weight=9]; 248.95/165.46 4530 -> 3377[label="",style="solid", color="burlywood", weight=3]; 248.95/165.46 4531[label="vyv183000/Zero",fontsize=10,color="white",style="solid",shape="box"];3336 -> 4531[label="",style="solid", color="burlywood", weight=9]; 248.95/165.46 4531 -> 3378[label="",style="solid", color="burlywood", weight=3]; 248.95/165.46 3853 -> 4114[label="",style="dashed", color="red", weight=0]; 248.95/165.46 3853[label="primDivNatS0 (Succ vyv270000) (Succ vyv284000) (primGEqNatS vyv270000 vyv284000)",fontsize=16,color="magenta"];3853 -> 4115[label="",style="dashed", color="magenta", weight=3]; 248.95/165.46 3853 -> 4116[label="",style="dashed", color="magenta", weight=3]; 248.95/165.46 3853 -> 4117[label="",style="dashed", color="magenta", weight=3]; 248.95/165.46 3853 -> 4118[label="",style="dashed", color="magenta", weight=3]; 248.95/165.46 3854[label="primDivNatS0 (Succ vyv270000) Zero True",fontsize=16,color="black",shape="box"];3854 -> 3861[label="",style="solid", color="black", weight=3]; 248.95/165.46 3855[label="primDivNatS0 Zero (Succ vyv284000) False",fontsize=16,color="black",shape="box"];3855 -> 3862[label="",style="solid", color="black", weight=3]; 248.95/165.46 3856[label="primDivNatS0 Zero Zero True",fontsize=16,color="black",shape="box"];3856 -> 3863[label="",style="solid", color="black", weight=3]; 248.95/165.46 3361[label="Neg (primPlusNat (Succ vyv240) vyv2430)",fontsize=16,color="green",shape="box"];3361 -> 3426[label="",style="dashed", color="green", weight=3]; 248.95/165.46 3362[label="primMinusNat vyv2430 (Succ vyv240)",fontsize=16,color="burlywood",shape="box"];4532[label="vyv2430/Succ vyv24300",fontsize=10,color="white",style="solid",shape="box"];3362 -> 4532[label="",style="solid", color="burlywood", weight=9]; 248.95/165.46 4532 -> 3427[label="",style="solid", color="burlywood", weight=3]; 248.95/165.46 4533[label="vyv2430/Zero",fontsize=10,color="white",style="solid",shape="box"];3362 -> 4533[label="",style="solid", color="burlywood", weight=9]; 248.95/165.46 4533 -> 3428[label="",style="solid", color="burlywood", weight=3]; 248.95/165.46 3363 -> 3328[label="",style="dashed", color="red", weight=0]; 248.95/165.46 3363[label="vyv239 * vyv238",fontsize=16,color="magenta"];3364 -> 3329[label="",style="dashed", color="red", weight=0]; 248.95/165.46 3364[label="vyv239 * vyv238",fontsize=16,color="magenta"];3365 -> 3330[label="",style="dashed", color="red", weight=0]; 248.95/165.46 3365[label="vyv239 * vyv238",fontsize=16,color="magenta"];3366 -> 3331[label="",style="dashed", color="red", weight=0]; 248.95/165.46 3366[label="vyv239 * vyv238",fontsize=16,color="magenta"];3367 -> 3332[label="",style="dashed", color="red", weight=0]; 248.95/165.46 3367[label="vyv239 * vyv238",fontsize=16,color="magenta"];3476[label="primMinusNat vyv228 vyv24400",fontsize=16,color="burlywood",shape="triangle"];4534[label="vyv228/Succ vyv2280",fontsize=10,color="white",style="solid",shape="box"];3476 -> 4534[label="",style="solid", color="burlywood", weight=9]; 248.95/165.46 4534 -> 3518[label="",style="solid", color="burlywood", weight=3]; 248.95/165.46 4535[label="vyv228/Zero",fontsize=10,color="white",style="solid",shape="box"];3476 -> 4535[label="",style="solid", color="burlywood", weight=9]; 248.95/165.46 4535 -> 3519[label="",style="solid", color="burlywood", weight=3]; 248.95/165.46 3477[label="Pos (Succ vyv228)",fontsize=16,color="green",shape="box"];3478[label="vyv2440",fontsize=16,color="green",shape="box"];3479[label="Succ vyv228",fontsize=16,color="green",shape="box"];3422[label="Pos (Succ vyv24100)",fontsize=16,color="green",shape="box"];3317[label="primEqInt vyv2420 (Pos Zero)",fontsize=16,color="burlywood",shape="triangle"];4536[label="vyv2420/Pos vyv24200",fontsize=10,color="white",style="solid",shape="box"];3317 -> 4536[label="",style="solid", color="burlywood", weight=9]; 248.95/165.46 4536 -> 3347[label="",style="solid", color="burlywood", weight=3]; 248.95/165.46 4537[label="vyv2420/Neg vyv24200",fontsize=10,color="white",style="solid",shape="box"];3317 -> 4537[label="",style="solid", color="burlywood", weight=9]; 248.95/165.46 4537 -> 3348[label="",style="solid", color="burlywood", weight=3]; 248.95/165.46 3423[label="Pos Zero",fontsize=16,color="green",shape="box"];3424[label="Neg (Succ vyv24100)",fontsize=16,color="green",shape="box"];3425[label="Neg Zero",fontsize=16,color="green",shape="box"];3429[label="vyv2390 :% vyv2391 * (vyv2380 :% vyv2381)",fontsize=16,color="black",shape="box"];3429 -> 3461[label="",style="solid", color="black", weight=3]; 248.95/165.46 3430[label="primMulInt (Pos vyv2390) vyv238",fontsize=16,color="burlywood",shape="box"];4538[label="vyv238/Pos vyv2380",fontsize=10,color="white",style="solid",shape="box"];3430 -> 4538[label="",style="solid", color="burlywood", weight=9]; 248.95/165.46 4538 -> 3462[label="",style="solid", color="burlywood", weight=3]; 248.95/165.46 4539[label="vyv238/Neg vyv2380",fontsize=10,color="white",style="solid",shape="box"];3430 -> 4539[label="",style="solid", color="burlywood", weight=9]; 248.95/165.46 4539 -> 3463[label="",style="solid", color="burlywood", weight=3]; 248.95/165.46 3431[label="primMulInt (Neg vyv2390) vyv238",fontsize=16,color="burlywood",shape="box"];4540[label="vyv238/Pos vyv2380",fontsize=10,color="white",style="solid",shape="box"];3431 -> 4540[label="",style="solid", color="burlywood", weight=9]; 248.95/165.46 4540 -> 3464[label="",style="solid", color="burlywood", weight=3]; 248.95/165.46 4541[label="vyv238/Neg vyv2380",fontsize=10,color="white",style="solid",shape="box"];3431 -> 4541[label="",style="solid", color="burlywood", weight=9]; 248.95/165.46 4541 -> 3465[label="",style="solid", color="burlywood", weight=3]; 248.95/165.46 3630[label="vyv2690",fontsize=16,color="green",shape="box"];3633 -> 3637[label="",style="dashed", color="red", weight=0]; 248.95/165.46 3633[label="vyv264 * vyv265 `quot` reduce2D (vyv264 * vyv265) (vyv266 * vyv267)",fontsize=16,color="magenta"];3633 -> 3638[label="",style="dashed", color="magenta", weight=3]; 248.95/165.46 3633 -> 3639[label="",style="dashed", color="magenta", weight=3]; 248.95/165.46 3633 -> 3640[label="",style="dashed", color="magenta", weight=3]; 248.95/165.46 3634 -> 3644[label="",style="dashed", color="red", weight=0]; 248.95/165.46 3634[label="vyv264 * vyv265 `quot` reduce2D (vyv264 * vyv265) (vyv266 * vyv267)",fontsize=16,color="magenta"];3634 -> 3645[label="",style="dashed", color="magenta", weight=3]; 248.95/165.46 3634 -> 3646[label="",style="dashed", color="magenta", weight=3]; 248.95/165.46 3634 -> 3647[label="",style="dashed", color="magenta", weight=3]; 248.95/165.46 3635 -> 3637[label="",style="dashed", color="red", weight=0]; 248.95/165.46 3635[label="vyv266 * vyv267 `quot` reduce2D (vyv264 * vyv265) (vyv266 * vyv267)",fontsize=16,color="magenta"];3635 -> 3641[label="",style="dashed", color="magenta", weight=3]; 248.95/165.46 3635 -> 3642[label="",style="dashed", color="magenta", weight=3]; 248.95/165.46 3635 -> 3643[label="",style="dashed", color="magenta", weight=3]; 248.95/165.46 3636 -> 3644[label="",style="dashed", color="red", weight=0]; 248.95/165.46 3636[label="vyv266 * vyv267 `quot` reduce2D (vyv264 * vyv265) (vyv266 * vyv267)",fontsize=16,color="magenta"];3636 -> 3648[label="",style="dashed", color="magenta", weight=3]; 248.95/165.46 3636 -> 3649[label="",style="dashed", color="magenta", weight=3]; 248.95/165.46 3636 -> 3650[label="",style="dashed", color="magenta", weight=3]; 248.95/165.46 3377[label="primMulNat (Succ vyv1830000) (Succ (Succ (Succ vyv1830000)))",fontsize=16,color="black",shape="box"];3377 -> 3480[label="",style="solid", color="black", weight=3]; 248.95/165.46 3378[label="primMulNat Zero (Succ (Succ Zero))",fontsize=16,color="black",shape="box"];3378 -> 3481[label="",style="solid", color="black", weight=3]; 248.95/165.46 4115[label="vyv270000",fontsize=16,color="green",shape="box"];4116[label="vyv284000",fontsize=16,color="green",shape="box"];4117[label="vyv270000",fontsize=16,color="green",shape="box"];4118[label="vyv284000",fontsize=16,color="green",shape="box"];4114[label="primDivNatS0 (Succ vyv310) (Succ vyv311) (primGEqNatS vyv312 vyv313)",fontsize=16,color="burlywood",shape="triangle"];4542[label="vyv312/Succ vyv3120",fontsize=10,color="white",style="solid",shape="box"];4114 -> 4542[label="",style="solid", color="burlywood", weight=9]; 248.95/165.46 4542 -> 4147[label="",style="solid", color="burlywood", weight=3]; 248.95/165.46 4543[label="vyv312/Zero",fontsize=10,color="white",style="solid",shape="box"];4114 -> 4543[label="",style="solid", color="burlywood", weight=9]; 248.95/165.46 4543 -> 4148[label="",style="solid", color="burlywood", weight=3]; 248.95/165.46 3861[label="Succ (primDivNatS (primMinusNatS (Succ vyv270000) Zero) (Succ Zero))",fontsize=16,color="green",shape="box"];3861 -> 3871[label="",style="dashed", color="green", weight=3]; 248.95/165.46 3862[label="Zero",fontsize=16,color="green",shape="box"];3863[label="Succ (primDivNatS (primMinusNatS Zero Zero) (Succ Zero))",fontsize=16,color="green",shape="box"];3863 -> 3872[label="",style="dashed", color="green", weight=3]; 248.95/165.46 3426 -> 75[label="",style="dashed", color="red", weight=0]; 248.95/165.46 3426[label="primPlusNat (Succ vyv240) vyv2430",fontsize=16,color="magenta"];3426 -> 3482[label="",style="dashed", color="magenta", weight=3]; 248.95/165.46 3426 -> 3483[label="",style="dashed", color="magenta", weight=3]; 248.95/165.46 3427[label="primMinusNat (Succ vyv24300) (Succ vyv240)",fontsize=16,color="black",shape="box"];3427 -> 3484[label="",style="solid", color="black", weight=3]; 248.95/165.46 3428[label="primMinusNat Zero (Succ vyv240)",fontsize=16,color="black",shape="box"];3428 -> 3485[label="",style="solid", color="black", weight=3]; 248.95/165.46 3518[label="primMinusNat (Succ vyv2280) vyv24400",fontsize=16,color="burlywood",shape="box"];4544[label="vyv24400/Succ vyv244000",fontsize=10,color="white",style="solid",shape="box"];3518 -> 4544[label="",style="solid", color="burlywood", weight=9]; 248.95/165.46 4544 -> 3539[label="",style="solid", color="burlywood", weight=3]; 248.95/165.46 4545[label="vyv24400/Zero",fontsize=10,color="white",style="solid",shape="box"];3518 -> 4545[label="",style="solid", color="burlywood", weight=9]; 248.95/165.46 4545 -> 3540[label="",style="solid", color="burlywood", weight=3]; 248.95/165.46 3519[label="primMinusNat Zero vyv24400",fontsize=16,color="burlywood",shape="box"];4546[label="vyv24400/Succ vyv244000",fontsize=10,color="white",style="solid",shape="box"];3519 -> 4546[label="",style="solid", color="burlywood", weight=9]; 248.95/165.46 4546 -> 3541[label="",style="solid", color="burlywood", weight=3]; 248.95/165.46 4547[label="vyv24400/Zero",fontsize=10,color="white",style="solid",shape="box"];3519 -> 4547[label="",style="solid", color="burlywood", weight=9]; 248.95/165.46 4547 -> 3542[label="",style="solid", color="burlywood", weight=3]; 248.95/165.46 3347[label="primEqInt (Pos vyv24200) (Pos Zero)",fontsize=16,color="burlywood",shape="box"];4548[label="vyv24200/Succ vyv242000",fontsize=10,color="white",style="solid",shape="box"];3347 -> 4548[label="",style="solid", color="burlywood", weight=9]; 248.95/165.46 4548 -> 3432[label="",style="solid", color="burlywood", weight=3]; 248.95/165.46 4549[label="vyv24200/Zero",fontsize=10,color="white",style="solid",shape="box"];3347 -> 4549[label="",style="solid", color="burlywood", weight=9]; 248.95/165.46 4549 -> 3433[label="",style="solid", color="burlywood", weight=3]; 248.95/165.46 3348[label="primEqInt (Neg vyv24200) (Pos Zero)",fontsize=16,color="burlywood",shape="box"];4550[label="vyv24200/Succ vyv242000",fontsize=10,color="white",style="solid",shape="box"];3348 -> 4550[label="",style="solid", color="burlywood", weight=9]; 248.95/165.46 4550 -> 3434[label="",style="solid", color="burlywood", weight=3]; 248.95/165.46 4551[label="vyv24200/Zero",fontsize=10,color="white",style="solid",shape="box"];3348 -> 4551[label="",style="solid", color="burlywood", weight=9]; 248.95/165.46 4551 -> 3435[label="",style="solid", color="burlywood", weight=3]; 248.95/165.46 3461[label="reduce (vyv2390 * vyv2380) (vyv2391 * vyv2381)",fontsize=16,color="black",shape="box"];3461 -> 3488[label="",style="solid", color="black", weight=3]; 248.95/165.46 3462[label="primMulInt (Pos vyv2390) (Pos vyv2380)",fontsize=16,color="black",shape="box"];3462 -> 3489[label="",style="solid", color="black", weight=3]; 248.95/165.46 3463[label="primMulInt (Pos vyv2390) (Neg vyv2380)",fontsize=16,color="black",shape="box"];3463 -> 3490[label="",style="solid", color="black", weight=3]; 248.95/165.46 3464[label="primMulInt (Neg vyv2390) (Pos vyv2380)",fontsize=16,color="black",shape="box"];3464 -> 3491[label="",style="solid", color="black", weight=3]; 248.95/165.46 3465[label="primMulInt (Neg vyv2390) (Neg vyv2380)",fontsize=16,color="black",shape="box"];3465 -> 3492[label="",style="solid", color="black", weight=3]; 248.95/165.46 3638 -> 3332[label="",style="dashed", color="red", weight=0]; 248.95/165.46 3638[label="vyv264 * vyv265",fontsize=16,color="magenta"];3638 -> 3651[label="",style="dashed", color="magenta", weight=3]; 248.95/165.46 3638 -> 3652[label="",style="dashed", color="magenta", weight=3]; 248.95/165.46 3639 -> 3332[label="",style="dashed", color="red", weight=0]; 248.95/165.46 3639[label="vyv266 * vyv267",fontsize=16,color="magenta"];3639 -> 3653[label="",style="dashed", color="magenta", weight=3]; 248.95/165.46 3639 -> 3654[label="",style="dashed", color="magenta", weight=3]; 248.95/165.46 3640 -> 3332[label="",style="dashed", color="red", weight=0]; 248.95/165.46 3640[label="vyv264 * vyv265",fontsize=16,color="magenta"];3640 -> 3655[label="",style="dashed", color="magenta", weight=3]; 248.95/165.46 3640 -> 3656[label="",style="dashed", color="magenta", weight=3]; 248.95/165.46 3637[label="vyv270 `quot` reduce2D vyv272 vyv271",fontsize=16,color="black",shape="triangle"];3637 -> 3657[label="",style="solid", color="black", weight=3]; 248.95/165.46 3645 -> 3331[label="",style="dashed", color="red", weight=0]; 248.95/165.46 3645[label="vyv266 * vyv267",fontsize=16,color="magenta"];3645 -> 3658[label="",style="dashed", color="magenta", weight=3]; 248.95/165.46 3645 -> 3659[label="",style="dashed", color="magenta", weight=3]; 248.95/165.46 3646 -> 3331[label="",style="dashed", color="red", weight=0]; 248.95/165.46 3646[label="vyv264 * vyv265",fontsize=16,color="magenta"];3646 -> 3660[label="",style="dashed", color="magenta", weight=3]; 248.95/165.46 3646 -> 3661[label="",style="dashed", color="magenta", weight=3]; 248.95/165.46 3647 -> 3331[label="",style="dashed", color="red", weight=0]; 248.95/165.46 3647[label="vyv264 * vyv265",fontsize=16,color="magenta"];3647 -> 3662[label="",style="dashed", color="magenta", weight=3]; 248.95/165.46 3647 -> 3663[label="",style="dashed", color="magenta", weight=3]; 248.95/165.46 3644[label="vyv273 `quot` reduce2D vyv275 vyv274",fontsize=16,color="black",shape="triangle"];3644 -> 3664[label="",style="solid", color="black", weight=3]; 248.95/165.46 3641 -> 3332[label="",style="dashed", color="red", weight=0]; 248.95/165.46 3641[label="vyv264 * vyv265",fontsize=16,color="magenta"];3641 -> 3665[label="",style="dashed", color="magenta", weight=3]; 248.95/165.46 3641 -> 3666[label="",style="dashed", color="magenta", weight=3]; 248.95/165.46 3642 -> 3332[label="",style="dashed", color="red", weight=0]; 248.95/165.46 3642[label="vyv266 * vyv267",fontsize=16,color="magenta"];3642 -> 3667[label="",style="dashed", color="magenta", weight=3]; 248.95/165.46 3642 -> 3668[label="",style="dashed", color="magenta", weight=3]; 248.95/165.46 3643 -> 3332[label="",style="dashed", color="red", weight=0]; 248.95/165.46 3643[label="vyv266 * vyv267",fontsize=16,color="magenta"];3643 -> 3669[label="",style="dashed", color="magenta", weight=3]; 248.95/165.46 3643 -> 3670[label="",style="dashed", color="magenta", weight=3]; 248.95/165.46 3648 -> 3331[label="",style="dashed", color="red", weight=0]; 248.95/165.46 3648[label="vyv266 * vyv267",fontsize=16,color="magenta"];3648 -> 3671[label="",style="dashed", color="magenta", weight=3]; 248.95/165.46 3648 -> 3672[label="",style="dashed", color="magenta", weight=3]; 248.95/165.46 3649 -> 3331[label="",style="dashed", color="red", weight=0]; 248.95/165.46 3649[label="vyv266 * vyv267",fontsize=16,color="magenta"];3649 -> 3673[label="",style="dashed", color="magenta", weight=3]; 248.95/165.46 3649 -> 3674[label="",style="dashed", color="magenta", weight=3]; 248.95/165.46 3650 -> 3331[label="",style="dashed", color="red", weight=0]; 248.95/165.46 3650[label="vyv264 * vyv265",fontsize=16,color="magenta"];3650 -> 3675[label="",style="dashed", color="magenta", weight=3]; 248.95/165.46 3650 -> 3676[label="",style="dashed", color="magenta", weight=3]; 248.95/165.46 3480 -> 75[label="",style="dashed", color="red", weight=0]; 248.95/165.46 3480[label="primPlusNat (primMulNat vyv1830000 (Succ (Succ (Succ vyv1830000)))) (Succ (Succ (Succ vyv1830000)))",fontsize=16,color="magenta"];3480 -> 3520[label="",style="dashed", color="magenta", weight=3]; 248.95/165.46 3480 -> 3521[label="",style="dashed", color="magenta", weight=3]; 248.95/165.46 3481[label="Zero",fontsize=16,color="green",shape="box"];4147[label="primDivNatS0 (Succ vyv310) (Succ vyv311) (primGEqNatS (Succ vyv3120) vyv313)",fontsize=16,color="burlywood",shape="box"];4552[label="vyv313/Succ vyv3130",fontsize=10,color="white",style="solid",shape="box"];4147 -> 4552[label="",style="solid", color="burlywood", weight=9]; 248.95/165.46 4552 -> 4154[label="",style="solid", color="burlywood", weight=3]; 248.95/165.46 4553[label="vyv313/Zero",fontsize=10,color="white",style="solid",shape="box"];4147 -> 4553[label="",style="solid", color="burlywood", weight=9]; 248.95/165.46 4553 -> 4155[label="",style="solid", color="burlywood", weight=3]; 248.95/165.46 4148[label="primDivNatS0 (Succ vyv310) (Succ vyv311) (primGEqNatS Zero vyv313)",fontsize=16,color="burlywood",shape="box"];4554[label="vyv313/Succ vyv3130",fontsize=10,color="white",style="solid",shape="box"];4148 -> 4554[label="",style="solid", color="burlywood", weight=9]; 248.95/165.46 4554 -> 4156[label="",style="solid", color="burlywood", weight=3]; 248.95/165.46 4555[label="vyv313/Zero",fontsize=10,color="white",style="solid",shape="box"];4148 -> 4555[label="",style="solid", color="burlywood", weight=9]; 248.95/165.46 4555 -> 4157[label="",style="solid", color="burlywood", weight=3]; 248.95/165.46 3871 -> 3814[label="",style="dashed", color="red", weight=0]; 248.95/165.46 3871[label="primDivNatS (primMinusNatS (Succ vyv270000) Zero) (Succ Zero)",fontsize=16,color="magenta"];3871 -> 3880[label="",style="dashed", color="magenta", weight=3]; 248.95/165.46 3871 -> 3881[label="",style="dashed", color="magenta", weight=3]; 248.95/165.46 3872 -> 3814[label="",style="dashed", color="red", weight=0]; 248.95/165.46 3872[label="primDivNatS (primMinusNatS Zero Zero) (Succ Zero)",fontsize=16,color="magenta"];3872 -> 3882[label="",style="dashed", color="magenta", weight=3]; 248.95/165.46 3872 -> 3883[label="",style="dashed", color="magenta", weight=3]; 248.95/165.46 3482[label="vyv2430",fontsize=16,color="green",shape="box"];3483[label="Succ vyv240",fontsize=16,color="green",shape="box"];3484 -> 3476[label="",style="dashed", color="red", weight=0]; 248.95/165.46 3484[label="primMinusNat vyv24300 vyv240",fontsize=16,color="magenta"];3484 -> 3522[label="",style="dashed", color="magenta", weight=3]; 248.95/165.46 3484 -> 3523[label="",style="dashed", color="magenta", weight=3]; 248.95/165.46 3485[label="Neg (Succ vyv240)",fontsize=16,color="green",shape="box"];3539[label="primMinusNat (Succ vyv2280) (Succ vyv244000)",fontsize=16,color="black",shape="box"];3539 -> 3573[label="",style="solid", color="black", weight=3]; 248.95/165.46 3540[label="primMinusNat (Succ vyv2280) Zero",fontsize=16,color="black",shape="box"];3540 -> 3574[label="",style="solid", color="black", weight=3]; 248.95/165.46 3541[label="primMinusNat Zero (Succ vyv244000)",fontsize=16,color="black",shape="box"];3541 -> 3575[label="",style="solid", color="black", weight=3]; 248.95/165.46 3542[label="primMinusNat Zero Zero",fontsize=16,color="black",shape="box"];3542 -> 3576[label="",style="solid", color="black", weight=3]; 248.95/165.46 3432[label="primEqInt (Pos (Succ vyv242000)) (Pos Zero)",fontsize=16,color="black",shape="box"];3432 -> 3493[label="",style="solid", color="black", weight=3]; 248.95/165.46 3433[label="primEqInt (Pos Zero) (Pos Zero)",fontsize=16,color="black",shape="box"];3433 -> 3494[label="",style="solid", color="black", weight=3]; 248.95/165.46 3434[label="primEqInt (Neg (Succ vyv242000)) (Pos Zero)",fontsize=16,color="black",shape="box"];3434 -> 3495[label="",style="solid", color="black", weight=3]; 248.95/165.46 3435[label="primEqInt (Neg Zero) (Pos Zero)",fontsize=16,color="black",shape="box"];3435 -> 3496[label="",style="solid", color="black", weight=3]; 248.95/165.46 3488[label="reduce2 (vyv2390 * vyv2380) (vyv2391 * vyv2381)",fontsize=16,color="black",shape="box"];3488 -> 3526[label="",style="solid", color="black", weight=3]; 248.95/165.46 3489[label="Pos (primMulNat vyv2390 vyv2380)",fontsize=16,color="green",shape="box"];3489 -> 3527[label="",style="dashed", color="green", weight=3]; 248.95/165.46 3490[label="Neg (primMulNat vyv2390 vyv2380)",fontsize=16,color="green",shape="box"];3490 -> 3528[label="",style="dashed", color="green", weight=3]; 248.95/165.46 3491[label="Neg (primMulNat vyv2390 vyv2380)",fontsize=16,color="green",shape="box"];3491 -> 3529[label="",style="dashed", color="green", weight=3]; 248.95/165.46 3492[label="Pos (primMulNat vyv2390 vyv2380)",fontsize=16,color="green",shape="box"];3492 -> 3530[label="",style="dashed", color="green", weight=3]; 248.95/165.46 3651[label="vyv264",fontsize=16,color="green",shape="box"];3652[label="vyv265",fontsize=16,color="green",shape="box"];3653[label="vyv266",fontsize=16,color="green",shape="box"];3654[label="vyv267",fontsize=16,color="green",shape="box"];3655[label="vyv264",fontsize=16,color="green",shape="box"];3656[label="vyv265",fontsize=16,color="green",shape="box"];3657[label="primQuotInt vyv270 (reduce2D vyv272 vyv271)",fontsize=16,color="burlywood",shape="box"];4556[label="vyv270/Pos vyv2700",fontsize=10,color="white",style="solid",shape="box"];3657 -> 4556[label="",style="solid", color="burlywood", weight=9]; 248.95/165.46 4556 -> 3677[label="",style="solid", color="burlywood", weight=3]; 248.95/165.46 4557[label="vyv270/Neg vyv2700",fontsize=10,color="white",style="solid",shape="box"];3657 -> 4557[label="",style="solid", color="burlywood", weight=9]; 248.95/165.46 4557 -> 3678[label="",style="solid", color="burlywood", weight=3]; 248.95/165.46 3658[label="vyv266",fontsize=16,color="green",shape="box"];3659[label="vyv267",fontsize=16,color="green",shape="box"];3660[label="vyv264",fontsize=16,color="green",shape="box"];3661[label="vyv265",fontsize=16,color="green",shape="box"];3662[label="vyv264",fontsize=16,color="green",shape="box"];3663[label="vyv265",fontsize=16,color="green",shape="box"];3664[label="error []",fontsize=16,color="red",shape="box"];3665[label="vyv264",fontsize=16,color="green",shape="box"];3666[label="vyv265",fontsize=16,color="green",shape="box"];3667[label="vyv266",fontsize=16,color="green",shape="box"];3668[label="vyv267",fontsize=16,color="green",shape="box"];3669[label="vyv266",fontsize=16,color="green",shape="box"];3670[label="vyv267",fontsize=16,color="green",shape="box"];3671[label="vyv266",fontsize=16,color="green",shape="box"];3672[label="vyv267",fontsize=16,color="green",shape="box"];3673[label="vyv266",fontsize=16,color="green",shape="box"];3674[label="vyv267",fontsize=16,color="green",shape="box"];3675[label="vyv264",fontsize=16,color="green",shape="box"];3676[label="vyv265",fontsize=16,color="green",shape="box"];3520[label="Succ (Succ (Succ vyv1830000))",fontsize=16,color="green",shape="box"];3521[label="primMulNat vyv1830000 (Succ (Succ (Succ vyv1830000)))",fontsize=16,color="burlywood",shape="box"];4558[label="vyv1830000/Succ vyv18300000",fontsize=10,color="white",style="solid",shape="box"];3521 -> 4558[label="",style="solid", color="burlywood", weight=9]; 248.95/165.46 4558 -> 3543[label="",style="solid", color="burlywood", weight=3]; 248.95/165.46 4559[label="vyv1830000/Zero",fontsize=10,color="white",style="solid",shape="box"];3521 -> 4559[label="",style="solid", color="burlywood", weight=9]; 248.95/165.46 4559 -> 3544[label="",style="solid", color="burlywood", weight=3]; 248.95/165.46 4154[label="primDivNatS0 (Succ vyv310) (Succ vyv311) (primGEqNatS (Succ vyv3120) (Succ vyv3130))",fontsize=16,color="black",shape="box"];4154 -> 4162[label="",style="solid", color="black", weight=3]; 248.95/165.46 4155[label="primDivNatS0 (Succ vyv310) (Succ vyv311) (primGEqNatS (Succ vyv3120) Zero)",fontsize=16,color="black",shape="box"];4155 -> 4163[label="",style="solid", color="black", weight=3]; 248.95/165.46 4156[label="primDivNatS0 (Succ vyv310) (Succ vyv311) (primGEqNatS Zero (Succ vyv3130))",fontsize=16,color="black",shape="box"];4156 -> 4164[label="",style="solid", color="black", weight=3]; 248.95/165.46 4157[label="primDivNatS0 (Succ vyv310) (Succ vyv311) (primGEqNatS Zero Zero)",fontsize=16,color="black",shape="box"];4157 -> 4165[label="",style="solid", color="black", weight=3]; 248.95/165.46 3880[label="primMinusNatS (Succ vyv270000) Zero",fontsize=16,color="black",shape="triangle"];3880 -> 3893[label="",style="solid", color="black", weight=3]; 248.95/165.46 3881[label="Zero",fontsize=16,color="green",shape="box"];3882[label="primMinusNatS Zero Zero",fontsize=16,color="black",shape="triangle"];3882 -> 3894[label="",style="solid", color="black", weight=3]; 248.95/165.46 3883[label="Zero",fontsize=16,color="green",shape="box"];3522[label="vyv240",fontsize=16,color="green",shape="box"];3523[label="vyv24300",fontsize=16,color="green",shape="box"];3573 -> 3476[label="",style="dashed", color="red", weight=0]; 248.95/165.46 3573[label="primMinusNat vyv2280 vyv244000",fontsize=16,color="magenta"];3573 -> 3600[label="",style="dashed", color="magenta", weight=3]; 248.95/165.46 3573 -> 3601[label="",style="dashed", color="magenta", weight=3]; 248.95/165.46 3574[label="Pos (Succ vyv2280)",fontsize=16,color="green",shape="box"];3575[label="Neg (Succ vyv244000)",fontsize=16,color="green",shape="box"];3576[label="Pos Zero",fontsize=16,color="green",shape="box"];3493[label="False",fontsize=16,color="green",shape="box"];3494[label="True",fontsize=16,color="green",shape="box"];3495[label="False",fontsize=16,color="green",shape="box"];3496[label="True",fontsize=16,color="green",shape="box"];3526 -> 3547[label="",style="dashed", color="red", weight=0]; 248.95/165.46 3526[label="reduce2Reduce1 (vyv2390 * vyv2380) (vyv2391 * vyv2381) (vyv2390 * vyv2380) (vyv2391 * vyv2381) (vyv2391 * vyv2381 == fromInt (Pos Zero))",fontsize=16,color="magenta"];3526 -> 3558[label="",style="dashed", color="magenta", weight=3]; 248.95/165.46 3526 -> 3559[label="",style="dashed", color="magenta", weight=3]; 248.95/165.46 3526 -> 3560[label="",style="dashed", color="magenta", weight=3]; 248.95/165.46 3526 -> 3561[label="",style="dashed", color="magenta", weight=3]; 248.95/165.46 3526 -> 3562[label="",style="dashed", color="magenta", weight=3]; 248.95/165.46 3527[label="primMulNat vyv2390 vyv2380",fontsize=16,color="burlywood",shape="triangle"];4560[label="vyv2390/Succ vyv23900",fontsize=10,color="white",style="solid",shape="box"];3527 -> 4560[label="",style="solid", color="burlywood", weight=9]; 248.95/165.46 4560 -> 3577[label="",style="solid", color="burlywood", weight=3]; 248.95/165.46 4561[label="vyv2390/Zero",fontsize=10,color="white",style="solid",shape="box"];3527 -> 4561[label="",style="solid", color="burlywood", weight=9]; 248.95/165.46 4561 -> 3578[label="",style="solid", color="burlywood", weight=3]; 248.95/165.46 3528 -> 3527[label="",style="dashed", color="red", weight=0]; 248.95/165.46 3528[label="primMulNat vyv2390 vyv2380",fontsize=16,color="magenta"];3528 -> 3579[label="",style="dashed", color="magenta", weight=3]; 248.95/165.46 3529 -> 3527[label="",style="dashed", color="red", weight=0]; 248.95/165.46 3529[label="primMulNat vyv2390 vyv2380",fontsize=16,color="magenta"];3529 -> 3580[label="",style="dashed", color="magenta", weight=3]; 248.95/165.46 3530 -> 3527[label="",style="dashed", color="red", weight=0]; 248.95/165.46 3530[label="primMulNat vyv2390 vyv2380",fontsize=16,color="magenta"];3530 -> 3581[label="",style="dashed", color="magenta", weight=3]; 248.95/165.46 3530 -> 3582[label="",style="dashed", color="magenta", weight=3]; 248.95/165.46 3677[label="primQuotInt (Pos vyv2700) (reduce2D vyv272 vyv271)",fontsize=16,color="black",shape="box"];3677 -> 3679[label="",style="solid", color="black", weight=3]; 248.95/165.46 3678[label="primQuotInt (Neg vyv2700) (reduce2D vyv272 vyv271)",fontsize=16,color="black",shape="box"];3678 -> 3680[label="",style="solid", color="black", weight=3]; 248.95/165.46 3543[label="primMulNat (Succ vyv18300000) (Succ (Succ (Succ (Succ vyv18300000))))",fontsize=16,color="black",shape="box"];3543 -> 3583[label="",style="solid", color="black", weight=3]; 248.95/165.46 3544[label="primMulNat Zero (Succ (Succ (Succ Zero)))",fontsize=16,color="black",shape="box"];3544 -> 3584[label="",style="solid", color="black", weight=3]; 248.95/165.46 4162 -> 4114[label="",style="dashed", color="red", weight=0]; 248.95/165.46 4162[label="primDivNatS0 (Succ vyv310) (Succ vyv311) (primGEqNatS vyv3120 vyv3130)",fontsize=16,color="magenta"];4162 -> 4171[label="",style="dashed", color="magenta", weight=3]; 248.95/165.46 4162 -> 4172[label="",style="dashed", color="magenta", weight=3]; 248.95/165.46 4163[label="primDivNatS0 (Succ vyv310) (Succ vyv311) True",fontsize=16,color="black",shape="triangle"];4163 -> 4173[label="",style="solid", color="black", weight=3]; 248.95/165.46 4164[label="primDivNatS0 (Succ vyv310) (Succ vyv311) False",fontsize=16,color="black",shape="box"];4164 -> 4174[label="",style="solid", color="black", weight=3]; 248.95/165.46 4165 -> 4163[label="",style="dashed", color="red", weight=0]; 248.95/165.46 4165[label="primDivNatS0 (Succ vyv310) (Succ vyv311) True",fontsize=16,color="magenta"];3893[label="Succ vyv270000",fontsize=16,color="green",shape="box"];3894[label="Zero",fontsize=16,color="green",shape="box"];3600[label="vyv244000",fontsize=16,color="green",shape="box"];3601[label="vyv2280",fontsize=16,color="green",shape="box"];3558[label="vyv2390",fontsize=16,color="green",shape="box"];3559[label="vyv2381",fontsize=16,color="green",shape="box"];3560[label="vyv2380",fontsize=16,color="green",shape="box"];3561[label="vyv2391",fontsize=16,color="green",shape="box"];3562[label="vyv2391 * vyv2381 == fromInt (Pos Zero)",fontsize=16,color="blue",shape="box"];4562[label="== :: Int -> Int -> Bool",fontsize=10,color="white",style="solid",shape="box"];3562 -> 4562[label="",style="solid", color="blue", weight=9]; 248.95/165.46 4562 -> 3587[label="",style="solid", color="blue", weight=3]; 248.95/165.46 4563[label="== :: Integer -> Integer -> Bool",fontsize=10,color="white",style="solid",shape="box"];3562 -> 4563[label="",style="solid", color="blue", weight=9]; 248.95/165.46 4563 -> 3588[label="",style="solid", color="blue", weight=3]; 248.95/165.46 3577[label="primMulNat (Succ vyv23900) vyv2380",fontsize=16,color="burlywood",shape="box"];4564[label="vyv2380/Succ vyv23800",fontsize=10,color="white",style="solid",shape="box"];3577 -> 4564[label="",style="solid", color="burlywood", weight=9]; 248.95/165.46 4564 -> 3602[label="",style="solid", color="burlywood", weight=3]; 248.95/165.46 4565[label="vyv2380/Zero",fontsize=10,color="white",style="solid",shape="box"];3577 -> 4565[label="",style="solid", color="burlywood", weight=9]; 248.95/165.46 4565 -> 3603[label="",style="solid", color="burlywood", weight=3]; 248.95/165.46 3578[label="primMulNat Zero vyv2380",fontsize=16,color="burlywood",shape="box"];4566[label="vyv2380/Succ vyv23800",fontsize=10,color="white",style="solid",shape="box"];3578 -> 4566[label="",style="solid", color="burlywood", weight=9]; 248.95/165.46 4566 -> 3604[label="",style="solid", color="burlywood", weight=3]; 248.95/165.46 4567[label="vyv2380/Zero",fontsize=10,color="white",style="solid",shape="box"];3578 -> 4567[label="",style="solid", color="burlywood", weight=9]; 248.95/165.46 4567 -> 3605[label="",style="solid", color="burlywood", weight=3]; 248.95/165.46 3579[label="vyv2380",fontsize=16,color="green",shape="box"];3580[label="vyv2390",fontsize=16,color="green",shape="box"];3581[label="vyv2390",fontsize=16,color="green",shape="box"];3582[label="vyv2380",fontsize=16,color="green",shape="box"];3679 -> 3740[label="",style="dashed", color="red", weight=0]; 248.95/165.46 3679[label="primQuotInt (Pos vyv2700) (gcd vyv272 vyv271)",fontsize=16,color="magenta"];3679 -> 3749[label="",style="dashed", color="magenta", weight=3]; 248.95/165.46 3680 -> 3777[label="",style="dashed", color="red", weight=0]; 248.95/165.46 3680[label="primQuotInt (Neg vyv2700) (gcd vyv272 vyv271)",fontsize=16,color="magenta"];3680 -> 3786[label="",style="dashed", color="magenta", weight=3]; 248.95/165.46 3583 -> 75[label="",style="dashed", color="red", weight=0]; 248.95/165.46 3583[label="primPlusNat (primMulNat vyv18300000 (Succ (Succ (Succ (Succ vyv18300000))))) (Succ (Succ (Succ (Succ vyv18300000))))",fontsize=16,color="magenta"];3583 -> 3606[label="",style="dashed", color="magenta", weight=3]; 248.95/165.46 3583 -> 3607[label="",style="dashed", color="magenta", weight=3]; 248.95/165.46 3584[label="Zero",fontsize=16,color="green",shape="box"];4171[label="vyv3120",fontsize=16,color="green",shape="box"];4172[label="vyv3130",fontsize=16,color="green",shape="box"];4173[label="Succ (primDivNatS (primMinusNatS (Succ vyv310) (Succ vyv311)) (Succ (Succ vyv311)))",fontsize=16,color="green",shape="box"];4173 -> 4183[label="",style="dashed", color="green", weight=3]; 248.95/165.46 4174[label="Zero",fontsize=16,color="green",shape="box"];3587 -> 3217[label="",style="dashed", color="red", weight=0]; 248.95/165.46 3587[label="vyv2391 * vyv2381 == fromInt (Pos Zero)",fontsize=16,color="magenta"];3587 -> 3609[label="",style="dashed", color="magenta", weight=3]; 248.95/165.46 3588 -> 3591[label="",style="dashed", color="red", weight=0]; 248.95/165.46 3588[label="vyv2391 * vyv2381 == fromInt (Pos Zero)",fontsize=16,color="magenta"];3588 -> 3593[label="",style="dashed", color="magenta", weight=3]; 248.95/165.46 3602[label="primMulNat (Succ vyv23900) (Succ vyv23800)",fontsize=16,color="black",shape="box"];3602 -> 3616[label="",style="solid", color="black", weight=3]; 248.95/165.46 3603[label="primMulNat (Succ vyv23900) Zero",fontsize=16,color="black",shape="box"];3603 -> 3617[label="",style="solid", color="black", weight=3]; 248.95/165.46 3604[label="primMulNat Zero (Succ vyv23800)",fontsize=16,color="black",shape="box"];3604 -> 3618[label="",style="solid", color="black", weight=3]; 248.95/165.46 3605[label="primMulNat Zero Zero",fontsize=16,color="black",shape="box"];3605 -> 3619[label="",style="solid", color="black", weight=3]; 248.95/165.46 3749[label="gcd vyv272 vyv271",fontsize=16,color="black",shape="triangle"];3749 -> 3768[label="",style="solid", color="black", weight=3]; 248.95/165.46 3786 -> 3749[label="",style="dashed", color="red", weight=0]; 248.95/165.46 3786[label="gcd vyv272 vyv271",fontsize=16,color="magenta"];3606[label="Succ (Succ (Succ (Succ vyv18300000)))",fontsize=16,color="green",shape="box"];3607 -> 3527[label="",style="dashed", color="red", weight=0]; 248.95/165.46 3607[label="primMulNat vyv18300000 (Succ (Succ (Succ (Succ vyv18300000))))",fontsize=16,color="magenta"];3607 -> 3620[label="",style="dashed", color="magenta", weight=3]; 248.95/165.46 3607 -> 3621[label="",style="dashed", color="magenta", weight=3]; 248.95/165.46 4183 -> 3814[label="",style="dashed", color="red", weight=0]; 248.95/165.46 4183[label="primDivNatS (primMinusNatS (Succ vyv310) (Succ vyv311)) (Succ (Succ vyv311))",fontsize=16,color="magenta"];4183 -> 4189[label="",style="dashed", color="magenta", weight=3]; 248.95/165.46 4183 -> 4190[label="",style="dashed", color="magenta", weight=3]; 248.95/165.46 3609 -> 3332[label="",style="dashed", color="red", weight=0]; 248.95/165.46 3609[label="vyv2391 * vyv2381",fontsize=16,color="magenta"];3609 -> 3622[label="",style="dashed", color="magenta", weight=3]; 248.95/165.46 3609 -> 3623[label="",style="dashed", color="magenta", weight=3]; 248.95/165.46 3593 -> 3331[label="",style="dashed", color="red", weight=0]; 248.95/165.46 3593[label="vyv2391 * vyv2381",fontsize=16,color="magenta"];3593 -> 3610[label="",style="dashed", color="magenta", weight=3]; 248.95/165.46 3593 -> 3611[label="",style="dashed", color="magenta", weight=3]; 248.95/165.46 3616 -> 75[label="",style="dashed", color="red", weight=0]; 248.95/165.46 3616[label="primPlusNat (primMulNat vyv23900 (Succ vyv23800)) (Succ vyv23800)",fontsize=16,color="magenta"];3616 -> 3626[label="",style="dashed", color="magenta", weight=3]; 248.95/165.46 3616 -> 3627[label="",style="dashed", color="magenta", weight=3]; 248.95/165.46 3617[label="Zero",fontsize=16,color="green",shape="box"];3618[label="Zero",fontsize=16,color="green",shape="box"];3619[label="Zero",fontsize=16,color="green",shape="box"];3768[label="gcd3 vyv272 vyv271",fontsize=16,color="black",shape="box"];3768 -> 3776[label="",style="solid", color="black", weight=3]; 248.95/165.46 3620[label="vyv18300000",fontsize=16,color="green",shape="box"];3621[label="Succ (Succ (Succ (Succ vyv18300000)))",fontsize=16,color="green",shape="box"];4189[label="primMinusNatS (Succ vyv310) (Succ vyv311)",fontsize=16,color="black",shape="box"];4189 -> 4196[label="",style="solid", color="black", weight=3]; 248.95/165.46 4190[label="Succ vyv311",fontsize=16,color="green",shape="box"];3622[label="vyv2391",fontsize=16,color="green",shape="box"];3623[label="vyv2381",fontsize=16,color="green",shape="box"];3610[label="vyv2391",fontsize=16,color="green",shape="box"];3611[label="vyv2381",fontsize=16,color="green",shape="box"];3626[label="Succ vyv23800",fontsize=16,color="green",shape="box"];3627 -> 3527[label="",style="dashed", color="red", weight=0]; 248.95/165.46 3627[label="primMulNat vyv23900 (Succ vyv23800)",fontsize=16,color="magenta"];3627 -> 3631[label="",style="dashed", color="magenta", weight=3]; 248.95/165.46 3627 -> 3632[label="",style="dashed", color="magenta", weight=3]; 248.95/165.46 3776 -> 3808[label="",style="dashed", color="red", weight=0]; 248.95/165.46 3776[label="gcd2 (vyv272 == fromInt (Pos Zero)) vyv272 vyv271",fontsize=16,color="magenta"];3776 -> 3809[label="",style="dashed", color="magenta", weight=3]; 248.95/165.46 4196[label="primMinusNatS vyv310 vyv311",fontsize=16,color="burlywood",shape="triangle"];4568[label="vyv310/Succ vyv3100",fontsize=10,color="white",style="solid",shape="box"];4196 -> 4568[label="",style="solid", color="burlywood", weight=9]; 248.95/165.46 4568 -> 4205[label="",style="solid", color="burlywood", weight=3]; 248.95/165.46 4569[label="vyv310/Zero",fontsize=10,color="white",style="solid",shape="box"];4196 -> 4569[label="",style="solid", color="burlywood", weight=9]; 248.95/165.46 4569 -> 4206[label="",style="solid", color="burlywood", weight=3]; 248.95/165.46 3631[label="vyv23900",fontsize=16,color="green",shape="box"];3632[label="Succ vyv23800",fontsize=16,color="green",shape="box"];3809 -> 3217[label="",style="dashed", color="red", weight=0]; 248.95/165.46 3809[label="vyv272 == fromInt (Pos Zero)",fontsize=16,color="magenta"];3809 -> 3817[label="",style="dashed", color="magenta", weight=3]; 248.95/165.46 3808[label="gcd2 vyv288 vyv272 vyv271",fontsize=16,color="burlywood",shape="triangle"];4570[label="vyv288/False",fontsize=10,color="white",style="solid",shape="box"];3808 -> 4570[label="",style="solid", color="burlywood", weight=9]; 248.95/165.46 4570 -> 3818[label="",style="solid", color="burlywood", weight=3]; 248.95/165.46 4571[label="vyv288/True",fontsize=10,color="white",style="solid",shape="box"];3808 -> 4571[label="",style="solid", color="burlywood", weight=9]; 248.95/165.46 4571 -> 3819[label="",style="solid", color="burlywood", weight=3]; 248.95/165.46 4205[label="primMinusNatS (Succ vyv3100) vyv311",fontsize=16,color="burlywood",shape="box"];4572[label="vyv311/Succ vyv3110",fontsize=10,color="white",style="solid",shape="box"];4205 -> 4572[label="",style="solid", color="burlywood", weight=9]; 248.95/165.46 4572 -> 4215[label="",style="solid", color="burlywood", weight=3]; 248.95/165.46 4573[label="vyv311/Zero",fontsize=10,color="white",style="solid",shape="box"];4205 -> 4573[label="",style="solid", color="burlywood", weight=9]; 248.95/165.46 4573 -> 4216[label="",style="solid", color="burlywood", weight=3]; 248.95/165.46 4206[label="primMinusNatS Zero vyv311",fontsize=16,color="burlywood",shape="box"];4574[label="vyv311/Succ vyv3110",fontsize=10,color="white",style="solid",shape="box"];4206 -> 4574[label="",style="solid", color="burlywood", weight=9]; 248.95/165.46 4574 -> 4217[label="",style="solid", color="burlywood", weight=3]; 248.95/165.46 4575[label="vyv311/Zero",fontsize=10,color="white",style="solid",shape="box"];4206 -> 4575[label="",style="solid", color="burlywood", weight=9]; 248.95/165.46 4575 -> 4218[label="",style="solid", color="burlywood", weight=3]; 248.95/165.46 3817[label="vyv272",fontsize=16,color="green",shape="box"];3818[label="gcd2 False vyv272 vyv271",fontsize=16,color="black",shape="box"];3818 -> 3827[label="",style="solid", color="black", weight=3]; 248.95/165.46 3819[label="gcd2 True vyv272 vyv271",fontsize=16,color="black",shape="box"];3819 -> 3828[label="",style="solid", color="black", weight=3]; 248.95/165.46 4215[label="primMinusNatS (Succ vyv3100) (Succ vyv3110)",fontsize=16,color="black",shape="box"];4215 -> 4224[label="",style="solid", color="black", weight=3]; 248.95/165.46 4216[label="primMinusNatS (Succ vyv3100) Zero",fontsize=16,color="black",shape="box"];4216 -> 4225[label="",style="solid", color="black", weight=3]; 248.95/165.46 4217[label="primMinusNatS Zero (Succ vyv3110)",fontsize=16,color="black",shape="box"];4217 -> 4226[label="",style="solid", color="black", weight=3]; 248.95/165.46 4218[label="primMinusNatS Zero Zero",fontsize=16,color="black",shape="box"];4218 -> 4227[label="",style="solid", color="black", weight=3]; 248.95/165.46 3827[label="gcd0 vyv272 vyv271",fontsize=16,color="black",shape="triangle"];3827 -> 3833[label="",style="solid", color="black", weight=3]; 248.95/165.46 3828 -> 3834[label="",style="dashed", color="red", weight=0]; 248.95/165.46 3828[label="gcd1 (vyv271 == fromInt (Pos Zero)) vyv272 vyv271",fontsize=16,color="magenta"];3828 -> 3835[label="",style="dashed", color="magenta", weight=3]; 248.95/165.46 4224 -> 4196[label="",style="dashed", color="red", weight=0]; 248.95/165.46 4224[label="primMinusNatS vyv3100 vyv3110",fontsize=16,color="magenta"];4224 -> 4236[label="",style="dashed", color="magenta", weight=3]; 248.95/165.46 4224 -> 4237[label="",style="dashed", color="magenta", weight=3]; 248.95/165.46 4225[label="Succ vyv3100",fontsize=16,color="green",shape="box"];4226[label="Zero",fontsize=16,color="green",shape="box"];4227[label="Zero",fontsize=16,color="green",shape="box"];3833[label="gcd0Gcd' (abs vyv272) (abs vyv271)",fontsize=16,color="black",shape="box"];3833 -> 3842[label="",style="solid", color="black", weight=3]; 248.95/165.46 3835 -> 3217[label="",style="dashed", color="red", weight=0]; 248.95/165.46 3835[label="vyv271 == fromInt (Pos Zero)",fontsize=16,color="magenta"];3835 -> 3843[label="",style="dashed", color="magenta", weight=3]; 248.95/165.46 3834[label="gcd1 vyv289 vyv272 vyv271",fontsize=16,color="burlywood",shape="triangle"];4576[label="vyv289/False",fontsize=10,color="white",style="solid",shape="box"];3834 -> 4576[label="",style="solid", color="burlywood", weight=9]; 248.95/165.46 4576 -> 3844[label="",style="solid", color="burlywood", weight=3]; 248.95/165.46 4577[label="vyv289/True",fontsize=10,color="white",style="solid",shape="box"];3834 -> 4577[label="",style="solid", color="burlywood", weight=9]; 248.95/165.46 4577 -> 3845[label="",style="solid", color="burlywood", weight=3]; 248.95/165.46 4236[label="vyv3110",fontsize=16,color="green",shape="box"];4237[label="vyv3100",fontsize=16,color="green",shape="box"];3842[label="gcd0Gcd'2 (abs vyv272) (abs vyv271)",fontsize=16,color="black",shape="box"];3842 -> 3850[label="",style="solid", color="black", weight=3]; 248.95/165.46 3843[label="vyv271",fontsize=16,color="green",shape="box"];3844[label="gcd1 False vyv272 vyv271",fontsize=16,color="black",shape="box"];3844 -> 3851[label="",style="solid", color="black", weight=3]; 248.95/165.46 3845[label="gcd1 True vyv272 vyv271",fontsize=16,color="black",shape="box"];3845 -> 3852[label="",style="solid", color="black", weight=3]; 248.95/165.46 3850 -> 3857[label="",style="dashed", color="red", weight=0]; 248.95/165.46 3850[label="gcd0Gcd'1 (abs vyv271 == fromInt (Pos Zero)) (abs vyv272) (abs vyv271)",fontsize=16,color="magenta"];3850 -> 3858[label="",style="dashed", color="magenta", weight=3]; 248.95/165.46 3851 -> 3827[label="",style="dashed", color="red", weight=0]; 248.95/165.46 3851[label="gcd0 vyv272 vyv271",fontsize=16,color="magenta"];3852 -> 3805[label="",style="dashed", color="red", weight=0]; 248.95/165.46 3852[label="error []",fontsize=16,color="magenta"];3858 -> 3217[label="",style="dashed", color="red", weight=0]; 248.95/165.46 3858[label="abs vyv271 == fromInt (Pos Zero)",fontsize=16,color="magenta"];3858 -> 3864[label="",style="dashed", color="magenta", weight=3]; 248.95/165.46 3857[label="gcd0Gcd'1 vyv290 (abs vyv272) (abs vyv271)",fontsize=16,color="burlywood",shape="triangle"];4578[label="vyv290/False",fontsize=10,color="white",style="solid",shape="box"];3857 -> 4578[label="",style="solid", color="burlywood", weight=9]; 248.95/165.46 4578 -> 3865[label="",style="solid", color="burlywood", weight=3]; 248.95/165.46 4579[label="vyv290/True",fontsize=10,color="white",style="solid",shape="box"];3857 -> 4579[label="",style="solid", color="burlywood", weight=9]; 248.95/165.46 4579 -> 3866[label="",style="solid", color="burlywood", weight=3]; 248.95/165.46 3864[label="abs vyv271",fontsize=16,color="black",shape="triangle"];3864 -> 3873[label="",style="solid", color="black", weight=3]; 248.95/165.46 3865[label="gcd0Gcd'1 False (abs vyv272) (abs vyv271)",fontsize=16,color="black",shape="box"];3865 -> 3874[label="",style="solid", color="black", weight=3]; 248.95/165.46 3866[label="gcd0Gcd'1 True (abs vyv272) (abs vyv271)",fontsize=16,color="black",shape="box"];3866 -> 3875[label="",style="solid", color="black", weight=3]; 248.95/165.46 3873[label="absReal vyv271",fontsize=16,color="black",shape="box"];3873 -> 3884[label="",style="solid", color="black", weight=3]; 248.95/165.46 3874 -> 3885[label="",style="dashed", color="red", weight=0]; 248.95/165.46 3874[label="gcd0Gcd'0 (abs vyv272) (abs vyv271)",fontsize=16,color="magenta"];3874 -> 3886[label="",style="dashed", color="magenta", weight=3]; 248.95/165.46 3874 -> 3887[label="",style="dashed", color="magenta", weight=3]; 248.95/165.46 3875 -> 3864[label="",style="dashed", color="red", weight=0]; 248.95/165.46 3875[label="abs vyv272",fontsize=16,color="magenta"];3875 -> 3895[label="",style="dashed", color="magenta", weight=3]; 248.95/165.46 3884[label="absReal2 vyv271",fontsize=16,color="black",shape="box"];3884 -> 3896[label="",style="solid", color="black", weight=3]; 248.95/165.46 3886 -> 3864[label="",style="dashed", color="red", weight=0]; 248.95/165.46 3886[label="abs vyv272",fontsize=16,color="magenta"];3886 -> 3897[label="",style="dashed", color="magenta", weight=3]; 248.95/165.46 3887 -> 3864[label="",style="dashed", color="red", weight=0]; 248.95/165.46 3887[label="abs vyv271",fontsize=16,color="magenta"];3885[label="gcd0Gcd'0 vyv292 vyv291",fontsize=16,color="black",shape="triangle"];3885 -> 3898[label="",style="solid", color="black", weight=3]; 248.95/165.46 3895[label="vyv272",fontsize=16,color="green",shape="box"];3896[label="absReal1 vyv271 (vyv271 >= fromInt (Pos Zero))",fontsize=16,color="black",shape="box"];3896 -> 3905[label="",style="solid", color="black", weight=3]; 248.95/165.46 3897[label="vyv272",fontsize=16,color="green",shape="box"];3898[label="gcd0Gcd' vyv291 (vyv292 `rem` vyv291)",fontsize=16,color="black",shape="box"];3898 -> 3906[label="",style="solid", color="black", weight=3]; 248.95/165.46 3905[label="absReal1 vyv271 (compare vyv271 (fromInt (Pos Zero)) /= LT)",fontsize=16,color="black",shape="box"];3905 -> 3915[label="",style="solid", color="black", weight=3]; 248.95/165.46 3906[label="gcd0Gcd'2 vyv291 (vyv292 `rem` vyv291)",fontsize=16,color="black",shape="box"];3906 -> 3916[label="",style="solid", color="black", weight=3]; 248.95/165.46 3915[label="absReal1 vyv271 (not (compare vyv271 (fromInt (Pos Zero)) == LT))",fontsize=16,color="black",shape="box"];3915 -> 3924[label="",style="solid", color="black", weight=3]; 248.95/165.46 3916 -> 3925[label="",style="dashed", color="red", weight=0]; 248.95/165.46 3916[label="gcd0Gcd'1 (vyv292 `rem` vyv291 == fromInt (Pos Zero)) vyv291 (vyv292 `rem` vyv291)",fontsize=16,color="magenta"];3916 -> 3926[label="",style="dashed", color="magenta", weight=3]; 248.95/165.46 3924[label="absReal1 vyv271 (not (primCmpInt vyv271 (fromInt (Pos Zero)) == LT))",fontsize=16,color="burlywood",shape="box"];4580[label="vyv271/Pos vyv2710",fontsize=10,color="white",style="solid",shape="box"];3924 -> 4580[label="",style="solid", color="burlywood", weight=9]; 248.95/165.46 4580 -> 3934[label="",style="solid", color="burlywood", weight=3]; 248.95/165.46 4581[label="vyv271/Neg vyv2710",fontsize=10,color="white",style="solid",shape="box"];3924 -> 4581[label="",style="solid", color="burlywood", weight=9]; 248.95/165.46 4581 -> 3935[label="",style="solid", color="burlywood", weight=3]; 248.95/165.46 3926 -> 3217[label="",style="dashed", color="red", weight=0]; 248.95/165.46 3926[label="vyv292 `rem` vyv291 == fromInt (Pos Zero)",fontsize=16,color="magenta"];3926 -> 3936[label="",style="dashed", color="magenta", weight=3]; 248.95/165.46 3925[label="gcd0Gcd'1 vyv293 vyv291 (vyv292 `rem` vyv291)",fontsize=16,color="burlywood",shape="triangle"];4582[label="vyv293/False",fontsize=10,color="white",style="solid",shape="box"];3925 -> 4582[label="",style="solid", color="burlywood", weight=9]; 248.95/165.46 4582 -> 3937[label="",style="solid", color="burlywood", weight=3]; 248.95/165.46 4583[label="vyv293/True",fontsize=10,color="white",style="solid",shape="box"];3925 -> 4583[label="",style="solid", color="burlywood", weight=9]; 248.95/165.46 4583 -> 3938[label="",style="solid", color="burlywood", weight=3]; 248.95/165.46 3934[label="absReal1 (Pos vyv2710) (not (primCmpInt (Pos vyv2710) (fromInt (Pos Zero)) == LT))",fontsize=16,color="burlywood",shape="box"];4584[label="vyv2710/Succ vyv27100",fontsize=10,color="white",style="solid",shape="box"];3934 -> 4584[label="",style="solid", color="burlywood", weight=9]; 248.95/165.46 4584 -> 3947[label="",style="solid", color="burlywood", weight=3]; 248.95/165.46 4585[label="vyv2710/Zero",fontsize=10,color="white",style="solid",shape="box"];3934 -> 4585[label="",style="solid", color="burlywood", weight=9]; 248.95/165.46 4585 -> 3948[label="",style="solid", color="burlywood", weight=3]; 248.95/165.46 3935[label="absReal1 (Neg vyv2710) (not (primCmpInt (Neg vyv2710) (fromInt (Pos Zero)) == LT))",fontsize=16,color="burlywood",shape="box"];4586[label="vyv2710/Succ vyv27100",fontsize=10,color="white",style="solid",shape="box"];3935 -> 4586[label="",style="solid", color="burlywood", weight=9]; 248.95/165.46 4586 -> 3949[label="",style="solid", color="burlywood", weight=3]; 248.95/165.46 4587[label="vyv2710/Zero",fontsize=10,color="white",style="solid",shape="box"];3935 -> 4587[label="",style="solid", color="burlywood", weight=9]; 248.95/165.46 4587 -> 3950[label="",style="solid", color="burlywood", weight=3]; 248.95/165.46 3936[label="vyv292 `rem` vyv291",fontsize=16,color="black",shape="triangle"];3936 -> 3951[label="",style="solid", color="black", weight=3]; 248.95/165.46 3937[label="gcd0Gcd'1 False vyv291 (vyv292 `rem` vyv291)",fontsize=16,color="black",shape="box"];3937 -> 3952[label="",style="solid", color="black", weight=3]; 248.95/165.46 3938[label="gcd0Gcd'1 True vyv291 (vyv292 `rem` vyv291)",fontsize=16,color="black",shape="box"];3938 -> 3953[label="",style="solid", color="black", weight=3]; 248.95/165.46 3947[label="absReal1 (Pos (Succ vyv27100)) (not (primCmpInt (Pos (Succ vyv27100)) (fromInt (Pos Zero)) == LT))",fontsize=16,color="black",shape="box"];3947 -> 3961[label="",style="solid", color="black", weight=3]; 248.95/165.46 3948[label="absReal1 (Pos Zero) (not (primCmpInt (Pos Zero) (fromInt (Pos Zero)) == LT))",fontsize=16,color="black",shape="box"];3948 -> 3962[label="",style="solid", color="black", weight=3]; 248.95/165.46 3949[label="absReal1 (Neg (Succ vyv27100)) (not (primCmpInt (Neg (Succ vyv27100)) (fromInt (Pos Zero)) == LT))",fontsize=16,color="black",shape="box"];3949 -> 3963[label="",style="solid", color="black", weight=3]; 248.95/165.46 3950[label="absReal1 (Neg Zero) (not (primCmpInt (Neg Zero) (fromInt (Pos Zero)) == LT))",fontsize=16,color="black",shape="box"];3950 -> 3964[label="",style="solid", color="black", weight=3]; 248.95/165.46 3951[label="primRemInt vyv292 vyv291",fontsize=16,color="burlywood",shape="box"];4588[label="vyv292/Pos vyv2920",fontsize=10,color="white",style="solid",shape="box"];3951 -> 4588[label="",style="solid", color="burlywood", weight=9]; 248.95/165.46 4588 -> 3965[label="",style="solid", color="burlywood", weight=3]; 248.95/165.46 4589[label="vyv292/Neg vyv2920",fontsize=10,color="white",style="solid",shape="box"];3951 -> 4589[label="",style="solid", color="burlywood", weight=9]; 248.95/165.46 4589 -> 3966[label="",style="solid", color="burlywood", weight=3]; 248.95/165.46 3952 -> 3885[label="",style="dashed", color="red", weight=0]; 248.95/165.46 3952[label="gcd0Gcd'0 vyv291 (vyv292 `rem` vyv291)",fontsize=16,color="magenta"];3952 -> 3967[label="",style="dashed", color="magenta", weight=3]; 248.95/165.46 3952 -> 3968[label="",style="dashed", color="magenta", weight=3]; 248.95/165.46 3953[label="vyv291",fontsize=16,color="green",shape="box"];3961[label="absReal1 (Pos (Succ vyv27100)) (not (primCmpInt (Pos (Succ vyv27100)) (Pos Zero) == LT))",fontsize=16,color="black",shape="box"];3961 -> 3976[label="",style="solid", color="black", weight=3]; 248.95/165.46 3962[label="absReal1 (Pos Zero) (not (primCmpInt (Pos Zero) (Pos Zero) == LT))",fontsize=16,color="black",shape="box"];3962 -> 3977[label="",style="solid", color="black", weight=3]; 248.95/165.46 3963[label="absReal1 (Neg (Succ vyv27100)) (not (primCmpInt (Neg (Succ vyv27100)) (Pos Zero) == LT))",fontsize=16,color="black",shape="box"];3963 -> 3978[label="",style="solid", color="black", weight=3]; 248.95/165.46 3964[label="absReal1 (Neg Zero) (not (primCmpInt (Neg Zero) (Pos Zero) == LT))",fontsize=16,color="black",shape="box"];3964 -> 3979[label="",style="solid", color="black", weight=3]; 248.95/165.46 3965[label="primRemInt (Pos vyv2920) vyv291",fontsize=16,color="burlywood",shape="box"];4590[label="vyv291/Pos vyv2910",fontsize=10,color="white",style="solid",shape="box"];3965 -> 4590[label="",style="solid", color="burlywood", weight=9]; 248.95/165.46 4590 -> 3980[label="",style="solid", color="burlywood", weight=3]; 248.95/165.46 4591[label="vyv291/Neg vyv2910",fontsize=10,color="white",style="solid",shape="box"];3965 -> 4591[label="",style="solid", color="burlywood", weight=9]; 248.95/165.46 4591 -> 3981[label="",style="solid", color="burlywood", weight=3]; 248.95/165.46 3966[label="primRemInt (Neg vyv2920) vyv291",fontsize=16,color="burlywood",shape="box"];4592[label="vyv291/Pos vyv2910",fontsize=10,color="white",style="solid",shape="box"];3966 -> 4592[label="",style="solid", color="burlywood", weight=9]; 248.95/165.46 4592 -> 3982[label="",style="solid", color="burlywood", weight=3]; 248.95/165.46 4593[label="vyv291/Neg vyv2910",fontsize=10,color="white",style="solid",shape="box"];3966 -> 4593[label="",style="solid", color="burlywood", weight=9]; 248.95/165.46 4593 -> 3983[label="",style="solid", color="burlywood", weight=3]; 248.95/165.46 3967[label="vyv291",fontsize=16,color="green",shape="box"];3968 -> 3936[label="",style="dashed", color="red", weight=0]; 248.95/165.46 3968[label="vyv292 `rem` vyv291",fontsize=16,color="magenta"];3976[label="absReal1 (Pos (Succ vyv27100)) (not (primCmpNat (Succ vyv27100) Zero == LT))",fontsize=16,color="black",shape="box"];3976 -> 3992[label="",style="solid", color="black", weight=3]; 248.95/165.46 3977[label="absReal1 (Pos Zero) (not (EQ == LT))",fontsize=16,color="black",shape="box"];3977 -> 3993[label="",style="solid", color="black", weight=3]; 248.95/165.46 3978[label="absReal1 (Neg (Succ vyv27100)) (not (LT == LT))",fontsize=16,color="black",shape="box"];3978 -> 3994[label="",style="solid", color="black", weight=3]; 248.95/165.46 3979[label="absReal1 (Neg Zero) (not (EQ == LT))",fontsize=16,color="black",shape="box"];3979 -> 3995[label="",style="solid", color="black", weight=3]; 248.95/165.46 3980[label="primRemInt (Pos vyv2920) (Pos vyv2910)",fontsize=16,color="burlywood",shape="box"];4594[label="vyv2910/Succ vyv29100",fontsize=10,color="white",style="solid",shape="box"];3980 -> 4594[label="",style="solid", color="burlywood", weight=9]; 248.95/165.46 4594 -> 3996[label="",style="solid", color="burlywood", weight=3]; 248.95/165.46 4595[label="vyv2910/Zero",fontsize=10,color="white",style="solid",shape="box"];3980 -> 4595[label="",style="solid", color="burlywood", weight=9]; 248.95/165.46 4595 -> 3997[label="",style="solid", color="burlywood", weight=3]; 248.95/165.46 3981[label="primRemInt (Pos vyv2920) (Neg vyv2910)",fontsize=16,color="burlywood",shape="box"];4596[label="vyv2910/Succ vyv29100",fontsize=10,color="white",style="solid",shape="box"];3981 -> 4596[label="",style="solid", color="burlywood", weight=9]; 248.95/165.46 4596 -> 3998[label="",style="solid", color="burlywood", weight=3]; 248.95/165.46 4597[label="vyv2910/Zero",fontsize=10,color="white",style="solid",shape="box"];3981 -> 4597[label="",style="solid", color="burlywood", weight=9]; 248.95/165.46 4597 -> 3999[label="",style="solid", color="burlywood", weight=3]; 248.95/165.46 3982[label="primRemInt (Neg vyv2920) (Pos vyv2910)",fontsize=16,color="burlywood",shape="box"];4598[label="vyv2910/Succ vyv29100",fontsize=10,color="white",style="solid",shape="box"];3982 -> 4598[label="",style="solid", color="burlywood", weight=9]; 248.95/165.46 4598 -> 4000[label="",style="solid", color="burlywood", weight=3]; 248.95/165.46 4599[label="vyv2910/Zero",fontsize=10,color="white",style="solid",shape="box"];3982 -> 4599[label="",style="solid", color="burlywood", weight=9]; 248.95/165.46 4599 -> 4001[label="",style="solid", color="burlywood", weight=3]; 248.95/165.46 3983[label="primRemInt (Neg vyv2920) (Neg vyv2910)",fontsize=16,color="burlywood",shape="box"];4600[label="vyv2910/Succ vyv29100",fontsize=10,color="white",style="solid",shape="box"];3983 -> 4600[label="",style="solid", color="burlywood", weight=9]; 248.95/165.46 4600 -> 4002[label="",style="solid", color="burlywood", weight=3]; 248.95/165.46 4601[label="vyv2910/Zero",fontsize=10,color="white",style="solid",shape="box"];3983 -> 4601[label="",style="solid", color="burlywood", weight=9]; 248.95/165.46 4601 -> 4003[label="",style="solid", color="burlywood", weight=3]; 248.95/165.46 3992[label="absReal1 (Pos (Succ vyv27100)) (not (GT == LT))",fontsize=16,color="black",shape="box"];3992 -> 4011[label="",style="solid", color="black", weight=3]; 248.95/165.46 3993[label="absReal1 (Pos Zero) (not False)",fontsize=16,color="black",shape="box"];3993 -> 4012[label="",style="solid", color="black", weight=3]; 248.95/165.46 3994[label="absReal1 (Neg (Succ vyv27100)) (not True)",fontsize=16,color="black",shape="box"];3994 -> 4013[label="",style="solid", color="black", weight=3]; 248.95/165.46 3995[label="absReal1 (Neg Zero) (not False)",fontsize=16,color="black",shape="box"];3995 -> 4014[label="",style="solid", color="black", weight=3]; 248.95/165.46 3996[label="primRemInt (Pos vyv2920) (Pos (Succ vyv29100))",fontsize=16,color="black",shape="box"];3996 -> 4015[label="",style="solid", color="black", weight=3]; 248.95/165.46 3997[label="primRemInt (Pos vyv2920) (Pos Zero)",fontsize=16,color="black",shape="box"];3997 -> 4016[label="",style="solid", color="black", weight=3]; 248.95/165.46 3998[label="primRemInt (Pos vyv2920) (Neg (Succ vyv29100))",fontsize=16,color="black",shape="box"];3998 -> 4017[label="",style="solid", color="black", weight=3]; 248.95/165.46 3999[label="primRemInt (Pos vyv2920) (Neg Zero)",fontsize=16,color="black",shape="box"];3999 -> 4018[label="",style="solid", color="black", weight=3]; 248.95/165.46 4000[label="primRemInt (Neg vyv2920) (Pos (Succ vyv29100))",fontsize=16,color="black",shape="box"];4000 -> 4019[label="",style="solid", color="black", weight=3]; 248.95/165.46 4001[label="primRemInt (Neg vyv2920) (Pos Zero)",fontsize=16,color="black",shape="box"];4001 -> 4020[label="",style="solid", color="black", weight=3]; 248.95/165.46 4002[label="primRemInt (Neg vyv2920) (Neg (Succ vyv29100))",fontsize=16,color="black",shape="box"];4002 -> 4021[label="",style="solid", color="black", weight=3]; 248.95/165.46 4003[label="primRemInt (Neg vyv2920) (Neg Zero)",fontsize=16,color="black",shape="box"];4003 -> 4022[label="",style="solid", color="black", weight=3]; 248.95/165.46 4011[label="absReal1 (Pos (Succ vyv27100)) (not False)",fontsize=16,color="black",shape="box"];4011 -> 4030[label="",style="solid", color="black", weight=3]; 248.95/165.46 4012[label="absReal1 (Pos Zero) True",fontsize=16,color="black",shape="box"];4012 -> 4031[label="",style="solid", color="black", weight=3]; 248.95/165.46 4013[label="absReal1 (Neg (Succ vyv27100)) False",fontsize=16,color="black",shape="box"];4013 -> 4032[label="",style="solid", color="black", weight=3]; 248.95/165.46 4014[label="absReal1 (Neg Zero) True",fontsize=16,color="black",shape="box"];4014 -> 4033[label="",style="solid", color="black", weight=3]; 248.95/165.46 4015[label="Pos (primModNatS vyv2920 (Succ vyv29100))",fontsize=16,color="green",shape="box"];4015 -> 4034[label="",style="dashed", color="green", weight=3]; 248.95/165.46 4016 -> 3805[label="",style="dashed", color="red", weight=0]; 248.95/165.46 4016[label="error []",fontsize=16,color="magenta"];4017[label="Pos (primModNatS vyv2920 (Succ vyv29100))",fontsize=16,color="green",shape="box"];4017 -> 4035[label="",style="dashed", color="green", weight=3]; 248.95/165.46 4018 -> 3805[label="",style="dashed", color="red", weight=0]; 248.95/165.46 4018[label="error []",fontsize=16,color="magenta"];4019[label="Neg (primModNatS vyv2920 (Succ vyv29100))",fontsize=16,color="green",shape="box"];4019 -> 4036[label="",style="dashed", color="green", weight=3]; 248.95/165.46 4020 -> 3805[label="",style="dashed", color="red", weight=0]; 248.95/165.46 4020[label="error []",fontsize=16,color="magenta"];4021[label="Neg (primModNatS vyv2920 (Succ vyv29100))",fontsize=16,color="green",shape="box"];4021 -> 4037[label="",style="dashed", color="green", weight=3]; 248.95/165.46 4022 -> 3805[label="",style="dashed", color="red", weight=0]; 248.95/165.46 4022[label="error []",fontsize=16,color="magenta"];4030[label="absReal1 (Pos (Succ vyv27100)) True",fontsize=16,color="black",shape="box"];4030 -> 4046[label="",style="solid", color="black", weight=3]; 248.95/165.46 4031[label="Pos Zero",fontsize=16,color="green",shape="box"];4032[label="absReal0 (Neg (Succ vyv27100)) otherwise",fontsize=16,color="black",shape="box"];4032 -> 4047[label="",style="solid", color="black", weight=3]; 248.95/165.46 4033[label="Neg Zero",fontsize=16,color="green",shape="box"];4034[label="primModNatS vyv2920 (Succ vyv29100)",fontsize=16,color="burlywood",shape="triangle"];4602[label="vyv2920/Succ vyv29200",fontsize=10,color="white",style="solid",shape="box"];4034 -> 4602[label="",style="solid", color="burlywood", weight=9]; 248.95/165.46 4602 -> 4048[label="",style="solid", color="burlywood", weight=3]; 248.95/165.46 4603[label="vyv2920/Zero",fontsize=10,color="white",style="solid",shape="box"];4034 -> 4603[label="",style="solid", color="burlywood", weight=9]; 248.95/165.46 4603 -> 4049[label="",style="solid", color="burlywood", weight=3]; 248.95/165.46 4035 -> 4034[label="",style="dashed", color="red", weight=0]; 248.95/165.46 4035[label="primModNatS vyv2920 (Succ vyv29100)",fontsize=16,color="magenta"];4035 -> 4050[label="",style="dashed", color="magenta", weight=3]; 248.95/165.46 4036 -> 4034[label="",style="dashed", color="red", weight=0]; 248.95/165.46 4036[label="primModNatS vyv2920 (Succ vyv29100)",fontsize=16,color="magenta"];4036 -> 4051[label="",style="dashed", color="magenta", weight=3]; 248.95/165.46 4037 -> 4034[label="",style="dashed", color="red", weight=0]; 248.95/165.46 4037[label="primModNatS vyv2920 (Succ vyv29100)",fontsize=16,color="magenta"];4037 -> 4052[label="",style="dashed", color="magenta", weight=3]; 248.95/165.46 4037 -> 4053[label="",style="dashed", color="magenta", weight=3]; 248.95/165.46 4046[label="Pos (Succ vyv27100)",fontsize=16,color="green",shape="box"];4047[label="absReal0 (Neg (Succ vyv27100)) True",fontsize=16,color="black",shape="box"];4047 -> 4101[label="",style="solid", color="black", weight=3]; 248.95/165.46 4048[label="primModNatS (Succ vyv29200) (Succ vyv29100)",fontsize=16,color="black",shape="box"];4048 -> 4102[label="",style="solid", color="black", weight=3]; 248.95/165.46 4049[label="primModNatS Zero (Succ vyv29100)",fontsize=16,color="black",shape="box"];4049 -> 4103[label="",style="solid", color="black", weight=3]; 248.95/165.46 4050[label="vyv29100",fontsize=16,color="green",shape="box"];4051[label="vyv2920",fontsize=16,color="green",shape="box"];4052[label="vyv29100",fontsize=16,color="green",shape="box"];4053[label="vyv2920",fontsize=16,color="green",shape="box"];4101[label="`negate` Neg (Succ vyv27100)",fontsize=16,color="black",shape="box"];4101 -> 4109[label="",style="solid", color="black", weight=3]; 248.95/165.46 4102[label="primModNatS0 vyv29200 vyv29100 (primGEqNatS vyv29200 vyv29100)",fontsize=16,color="burlywood",shape="box"];4604[label="vyv29200/Succ vyv292000",fontsize=10,color="white",style="solid",shape="box"];4102 -> 4604[label="",style="solid", color="burlywood", weight=9]; 248.95/165.46 4604 -> 4110[label="",style="solid", color="burlywood", weight=3]; 248.95/165.46 4605[label="vyv29200/Zero",fontsize=10,color="white",style="solid",shape="box"];4102 -> 4605[label="",style="solid", color="burlywood", weight=9]; 248.95/165.46 4605 -> 4111[label="",style="solid", color="burlywood", weight=3]; 248.95/165.46 4103[label="Zero",fontsize=16,color="green",shape="box"];4109[label="primNegInt (Neg (Succ vyv27100))",fontsize=16,color="black",shape="box"];4109 -> 4149[label="",style="solid", color="black", weight=3]; 248.95/165.46 4110[label="primModNatS0 (Succ vyv292000) vyv29100 (primGEqNatS (Succ vyv292000) vyv29100)",fontsize=16,color="burlywood",shape="box"];4606[label="vyv29100/Succ vyv291000",fontsize=10,color="white",style="solid",shape="box"];4110 -> 4606[label="",style="solid", color="burlywood", weight=9]; 248.95/165.46 4606 -> 4150[label="",style="solid", color="burlywood", weight=3]; 248.95/165.46 4607[label="vyv29100/Zero",fontsize=10,color="white",style="solid",shape="box"];4110 -> 4607[label="",style="solid", color="burlywood", weight=9]; 248.95/165.46 4607 -> 4151[label="",style="solid", color="burlywood", weight=3]; 248.95/165.46 4111[label="primModNatS0 Zero vyv29100 (primGEqNatS Zero vyv29100)",fontsize=16,color="burlywood",shape="box"];4608[label="vyv29100/Succ vyv291000",fontsize=10,color="white",style="solid",shape="box"];4111 -> 4608[label="",style="solid", color="burlywood", weight=9]; 248.95/165.46 4608 -> 4152[label="",style="solid", color="burlywood", weight=3]; 248.95/165.46 4609[label="vyv29100/Zero",fontsize=10,color="white",style="solid",shape="box"];4111 -> 4609[label="",style="solid", color="burlywood", weight=9]; 248.95/165.46 4609 -> 4153[label="",style="solid", color="burlywood", weight=3]; 248.95/165.46 4149[label="Pos (Succ vyv27100)",fontsize=16,color="green",shape="box"];4150[label="primModNatS0 (Succ vyv292000) (Succ vyv291000) (primGEqNatS (Succ vyv292000) (Succ vyv291000))",fontsize=16,color="black",shape="box"];4150 -> 4158[label="",style="solid", color="black", weight=3]; 248.95/165.46 4151[label="primModNatS0 (Succ vyv292000) Zero (primGEqNatS (Succ vyv292000) Zero)",fontsize=16,color="black",shape="box"];4151 -> 4159[label="",style="solid", color="black", weight=3]; 248.95/165.46 4152[label="primModNatS0 Zero (Succ vyv291000) (primGEqNatS Zero (Succ vyv291000))",fontsize=16,color="black",shape="box"];4152 -> 4160[label="",style="solid", color="black", weight=3]; 248.95/165.46 4153[label="primModNatS0 Zero Zero (primGEqNatS Zero Zero)",fontsize=16,color="black",shape="box"];4153 -> 4161[label="",style="solid", color="black", weight=3]; 248.95/165.46 4158 -> 4341[label="",style="dashed", color="red", weight=0]; 248.95/165.46 4158[label="primModNatS0 (Succ vyv292000) (Succ vyv291000) (primGEqNatS vyv292000 vyv291000)",fontsize=16,color="magenta"];4158 -> 4342[label="",style="dashed", color="magenta", weight=3]; 248.95/165.46 4158 -> 4343[label="",style="dashed", color="magenta", weight=3]; 248.95/165.46 4158 -> 4344[label="",style="dashed", color="magenta", weight=3]; 248.95/165.46 4158 -> 4345[label="",style="dashed", color="magenta", weight=3]; 248.95/165.46 4159[label="primModNatS0 (Succ vyv292000) Zero True",fontsize=16,color="black",shape="box"];4159 -> 4168[label="",style="solid", color="black", weight=3]; 248.95/165.46 4160[label="primModNatS0 Zero (Succ vyv291000) False",fontsize=16,color="black",shape="box"];4160 -> 4169[label="",style="solid", color="black", weight=3]; 248.95/165.46 4161[label="primModNatS0 Zero Zero True",fontsize=16,color="black",shape="box"];4161 -> 4170[label="",style="solid", color="black", weight=3]; 248.95/165.46 4342[label="vyv292000",fontsize=16,color="green",shape="box"];4343[label="vyv291000",fontsize=16,color="green",shape="box"];4344[label="vyv292000",fontsize=16,color="green",shape="box"];4345[label="vyv291000",fontsize=16,color="green",shape="box"];4341[label="primModNatS0 (Succ vyv330) (Succ vyv331) (primGEqNatS vyv332 vyv333)",fontsize=16,color="burlywood",shape="triangle"];4610[label="vyv332/Succ vyv3320",fontsize=10,color="white",style="solid",shape="box"];4341 -> 4610[label="",style="solid", color="burlywood", weight=9]; 248.95/165.46 4610 -> 4374[label="",style="solid", color="burlywood", weight=3]; 248.95/165.46 4611[label="vyv332/Zero",fontsize=10,color="white",style="solid",shape="box"];4341 -> 4611[label="",style="solid", color="burlywood", weight=9]; 248.95/165.46 4611 -> 4375[label="",style="solid", color="burlywood", weight=3]; 248.95/165.46 4168 -> 4034[label="",style="dashed", color="red", weight=0]; 248.95/165.46 4168[label="primModNatS (primMinusNatS (Succ vyv292000) Zero) (Succ Zero)",fontsize=16,color="magenta"];4168 -> 4179[label="",style="dashed", color="magenta", weight=3]; 248.95/165.46 4168 -> 4180[label="",style="dashed", color="magenta", weight=3]; 248.95/165.46 4169[label="Succ Zero",fontsize=16,color="green",shape="box"];4170 -> 4034[label="",style="dashed", color="red", weight=0]; 248.95/165.46 4170[label="primModNatS (primMinusNatS Zero Zero) (Succ Zero)",fontsize=16,color="magenta"];4170 -> 4181[label="",style="dashed", color="magenta", weight=3]; 248.95/165.46 4170 -> 4182[label="",style="dashed", color="magenta", weight=3]; 248.95/165.46 4374[label="primModNatS0 (Succ vyv330) (Succ vyv331) (primGEqNatS (Succ vyv3320) vyv333)",fontsize=16,color="burlywood",shape="box"];4612[label="vyv333/Succ vyv3330",fontsize=10,color="white",style="solid",shape="box"];4374 -> 4612[label="",style="solid", color="burlywood", weight=9]; 248.95/165.46 4612 -> 4376[label="",style="solid", color="burlywood", weight=3]; 248.95/165.46 4613[label="vyv333/Zero",fontsize=10,color="white",style="solid",shape="box"];4374 -> 4613[label="",style="solid", color="burlywood", weight=9]; 248.95/165.46 4613 -> 4377[label="",style="solid", color="burlywood", weight=3]; 248.95/165.46 4375[label="primModNatS0 (Succ vyv330) (Succ vyv331) (primGEqNatS Zero vyv333)",fontsize=16,color="burlywood",shape="box"];4614[label="vyv333/Succ vyv3330",fontsize=10,color="white",style="solid",shape="box"];4375 -> 4614[label="",style="solid", color="burlywood", weight=9]; 248.95/165.46 4614 -> 4378[label="",style="solid", color="burlywood", weight=3]; 248.95/165.46 4615[label="vyv333/Zero",fontsize=10,color="white",style="solid",shape="box"];4375 -> 4615[label="",style="solid", color="burlywood", weight=9]; 248.95/165.46 4615 -> 4379[label="",style="solid", color="burlywood", weight=3]; 248.95/165.46 4179[label="Zero",fontsize=16,color="green",shape="box"];4180 -> 3880[label="",style="dashed", color="red", weight=0]; 248.95/165.46 4180[label="primMinusNatS (Succ vyv292000) Zero",fontsize=16,color="magenta"];4180 -> 4188[label="",style="dashed", color="magenta", weight=3]; 248.95/165.46 4181[label="Zero",fontsize=16,color="green",shape="box"];4182 -> 3882[label="",style="dashed", color="red", weight=0]; 248.95/165.46 4182[label="primMinusNatS Zero Zero",fontsize=16,color="magenta"];4376[label="primModNatS0 (Succ vyv330) (Succ vyv331) (primGEqNatS (Succ vyv3320) (Succ vyv3330))",fontsize=16,color="black",shape="box"];4376 -> 4380[label="",style="solid", color="black", weight=3]; 248.95/165.46 4377[label="primModNatS0 (Succ vyv330) (Succ vyv331) (primGEqNatS (Succ vyv3320) Zero)",fontsize=16,color="black",shape="box"];4377 -> 4381[label="",style="solid", color="black", weight=3]; 248.95/165.46 4378[label="primModNatS0 (Succ vyv330) (Succ vyv331) (primGEqNatS Zero (Succ vyv3330))",fontsize=16,color="black",shape="box"];4378 -> 4382[label="",style="solid", color="black", weight=3]; 248.95/165.46 4379[label="primModNatS0 (Succ vyv330) (Succ vyv331) (primGEqNatS Zero Zero)",fontsize=16,color="black",shape="box"];4379 -> 4383[label="",style="solid", color="black", weight=3]; 248.95/165.46 4188[label="vyv292000",fontsize=16,color="green",shape="box"];4380 -> 4341[label="",style="dashed", color="red", weight=0]; 248.95/165.46 4380[label="primModNatS0 (Succ vyv330) (Succ vyv331) (primGEqNatS vyv3320 vyv3330)",fontsize=16,color="magenta"];4380 -> 4384[label="",style="dashed", color="magenta", weight=3]; 248.95/165.46 4380 -> 4385[label="",style="dashed", color="magenta", weight=3]; 248.95/165.46 4381[label="primModNatS0 (Succ vyv330) (Succ vyv331) True",fontsize=16,color="black",shape="triangle"];4381 -> 4386[label="",style="solid", color="black", weight=3]; 248.95/165.46 4382[label="primModNatS0 (Succ vyv330) (Succ vyv331) False",fontsize=16,color="black",shape="box"];4382 -> 4387[label="",style="solid", color="black", weight=3]; 248.95/165.46 4383 -> 4381[label="",style="dashed", color="red", weight=0]; 248.95/165.46 4383[label="primModNatS0 (Succ vyv330) (Succ vyv331) True",fontsize=16,color="magenta"];4384[label="vyv3320",fontsize=16,color="green",shape="box"];4385[label="vyv3330",fontsize=16,color="green",shape="box"];4386 -> 4034[label="",style="dashed", color="red", weight=0]; 248.95/165.46 4386[label="primModNatS (primMinusNatS (Succ vyv330) (Succ vyv331)) (Succ (Succ vyv331))",fontsize=16,color="magenta"];4386 -> 4388[label="",style="dashed", color="magenta", weight=3]; 248.95/165.46 4386 -> 4389[label="",style="dashed", color="magenta", weight=3]; 248.95/165.46 4387[label="Succ (Succ vyv330)",fontsize=16,color="green",shape="box"];4388[label="Succ vyv331",fontsize=16,color="green",shape="box"];4389 -> 4196[label="",style="dashed", color="red", weight=0]; 248.95/165.46 4389[label="primMinusNatS (Succ vyv330) (Succ vyv331)",fontsize=16,color="magenta"];4389 -> 4390[label="",style="dashed", color="magenta", weight=3]; 248.95/165.46 4389 -> 4391[label="",style="dashed", color="magenta", weight=3]; 248.95/165.46 4390[label="Succ vyv331",fontsize=16,color="green",shape="box"];4391[label="Succ vyv330",fontsize=16,color="green",shape="box"];} 248.95/165.46 248.95/165.46 ---------------------------------------- 248.95/165.46 248.95/165.46 (951) 248.95/165.46 Obligation: 248.95/165.46 Q DP problem: 248.95/165.46 P is empty. 248.95/165.46 R is empty. 248.95/165.46 Q is empty. 248.95/165.46 We have to consider all (P,Q,R)-chains. 248.95/165.46 ---------------------------------------- 248.95/165.46 248.95/165.46 (952) PisEmptyProof (EQUIVALENT) 248.95/165.46 The TRS P is empty. Hence, there is no (P,Q,R) chain. 248.95/165.46 ---------------------------------------- 248.95/165.46 248.95/165.46 (953) 248.95/165.46 YES 248.98/165.52 EOF