211.32/145.01 MAYBE 211.32/145.02 proof of /export/starexec/sandbox/benchmark/theBenchmark.hs 211.32/145.02 # AProVE Commit ID: 48fb2092695e11cc9f56e44b17a92a5f88ffb256 marcel 20180622 unpublished dirty 211.32/145.02 211.32/145.02 211.32/145.02 H-Termination with start terms of the given HASKELL could not be shown: 211.32/145.02 211.32/145.02 (0) HASKELL 211.32/145.02 (1) IFR [EQUIVALENT, 0 ms] 211.32/145.02 (2) HASKELL 211.32/145.02 (3) BR [EQUIVALENT, 0 ms] 211.32/145.02 (4) HASKELL 211.32/145.02 (5) COR [EQUIVALENT, 20 ms] 211.32/145.02 (6) HASKELL 211.32/145.02 (7) LetRed [EQUIVALENT, 0 ms] 211.32/145.02 (8) HASKELL 211.32/145.02 (9) NumRed [SOUND, 0 ms] 211.32/145.02 (10) HASKELL 211.32/145.02 (11) Narrow [SOUND, 0 ms] 211.32/145.02 (12) AND 211.32/145.02 (13) QDP 211.32/145.02 (14) DependencyGraphProof [EQUIVALENT, 0 ms] 211.32/145.02 (15) AND 211.32/145.02 (16) QDP 211.32/145.02 (17) QDPOrderProof [EQUIVALENT, 55 ms] 211.32/145.02 (18) QDP 211.32/145.02 (19) DependencyGraphProof [EQUIVALENT, 0 ms] 211.32/145.02 (20) QDP 211.32/145.02 (21) QDPSizeChangeProof [EQUIVALENT, 0 ms] 211.32/145.02 (22) YES 211.32/145.02 (23) QDP 211.32/145.02 (24) MRRProof [EQUIVALENT, 0 ms] 211.32/145.02 (25) QDP 211.32/145.02 (26) PisEmptyProof [EQUIVALENT, 0 ms] 211.32/145.02 (27) YES 211.32/145.02 (28) QDP 211.32/145.02 (29) MNOCProof [EQUIVALENT, 0 ms] 211.32/145.02 (30) QDP 211.32/145.02 (31) InductionCalculusProof [EQUIVALENT, 0 ms] 211.32/145.02 (32) QDP 211.32/145.02 (33) TransformationProof [EQUIVALENT, 0 ms] 211.32/145.02 (34) QDP 211.32/145.02 (35) TransformationProof [EQUIVALENT, 0 ms] 211.32/145.02 (36) QDP 211.32/145.02 (37) DependencyGraphProof [EQUIVALENT, 0 ms] 211.32/145.02 (38) QDP 211.32/145.02 (39) TransformationProof [EQUIVALENT, 0 ms] 211.32/145.02 (40) QDP 211.32/145.02 (41) DependencyGraphProof [EQUIVALENT, 0 ms] 211.32/145.02 (42) QDP 211.32/145.02 (43) TransformationProof [EQUIVALENT, 0 ms] 211.32/145.02 (44) QDP 211.32/145.02 (45) DependencyGraphProof [EQUIVALENT, 0 ms] 211.32/145.02 (46) QDP 211.32/145.02 (47) TransformationProof [EQUIVALENT, 0 ms] 211.32/145.02 (48) QDP 211.32/145.02 (49) DependencyGraphProof [EQUIVALENT, 0 ms] 211.32/145.02 (50) QDP 211.32/145.02 (51) TransformationProof [EQUIVALENT, 0 ms] 211.32/145.02 (52) QDP 211.32/145.02 (53) DependencyGraphProof [EQUIVALENT, 0 ms] 211.32/145.02 (54) AND 211.32/145.02 (55) QDP 211.32/145.02 (56) UsableRulesProof [EQUIVALENT, 0 ms] 211.32/145.02 (57) QDP 211.32/145.02 (58) QReductionProof [EQUIVALENT, 4 ms] 211.32/145.02 (59) QDP 211.32/145.02 (60) TransformationProof [EQUIVALENT, 0 ms] 211.32/145.02 (61) QDP 211.32/145.02 (62) DependencyGraphProof [EQUIVALENT, 0 ms] 211.32/145.02 (63) QDP 211.32/145.02 (64) TransformationProof [EQUIVALENT, 0 ms] 211.32/145.02 (65) QDP 211.32/145.02 (66) DependencyGraphProof [EQUIVALENT, 0 ms] 211.32/145.02 (67) QDP 211.32/145.02 (68) TransformationProof [EQUIVALENT, 0 ms] 211.32/145.02 (69) QDP 211.32/145.02 (70) TransformationProof [EQUIVALENT, 0 ms] 211.32/145.02 (71) QDP 211.32/145.02 (72) DependencyGraphProof [EQUIVALENT, 0 ms] 211.32/145.02 (73) QDP 211.32/145.02 (74) TransformationProof [EQUIVALENT, 0 ms] 211.32/145.02 (75) QDP 211.32/145.02 (76) TransformationProof [EQUIVALENT, 0 ms] 211.32/145.02 (77) QDP 211.32/145.02 (78) TransformationProof [EQUIVALENT, 0 ms] 211.32/145.02 (79) QDP 211.32/145.02 (80) TransformationProof [EQUIVALENT, 0 ms] 211.32/145.02 (81) QDP 211.32/145.02 (82) DependencyGraphProof [EQUIVALENT, 0 ms] 211.32/145.02 (83) QDP 211.32/145.02 (84) TransformationProof [EQUIVALENT, 0 ms] 211.32/145.02 (85) QDP 211.32/145.02 (86) DependencyGraphProof [EQUIVALENT, 0 ms] 211.32/145.02 (87) QDP 211.32/145.02 (88) TransformationProof [EQUIVALENT, 0 ms] 211.32/145.02 (89) QDP 211.32/145.02 (90) TransformationProof [EQUIVALENT, 0 ms] 211.32/145.02 (91) QDP 211.32/145.02 (92) DependencyGraphProof [EQUIVALENT, 0 ms] 211.32/145.02 (93) AND 211.32/145.02 (94) QDP 211.32/145.02 (95) UsableRulesProof [EQUIVALENT, 0 ms] 211.32/145.02 (96) QDP 211.32/145.02 (97) QReductionProof [EQUIVALENT, 0 ms] 211.32/145.02 (98) QDP 211.32/145.02 (99) TransformationProof [EQUIVALENT, 0 ms] 211.32/145.02 (100) QDP 211.32/145.02 (101) UsableRulesProof [EQUIVALENT, 0 ms] 211.32/145.02 (102) QDP 211.32/145.02 (103) TransformationProof [EQUIVALENT, 0 ms] 211.32/145.02 (104) QDP 211.32/145.02 (105) UsableRulesProof [EQUIVALENT, 0 ms] 211.32/145.02 (106) QDP 211.32/145.02 (107) TransformationProof [EQUIVALENT, 0 ms] 211.32/145.02 (108) QDP 211.32/145.02 (109) TransformationProof [EQUIVALENT, 0 ms] 211.32/145.02 (110) QDP 211.32/145.02 (111) TransformationProof [EQUIVALENT, 0 ms] 211.32/145.02 (112) QDP 211.32/145.02 (113) TransformationProof [EQUIVALENT, 0 ms] 211.32/145.02 (114) QDP 211.32/145.02 (115) DependencyGraphProof [EQUIVALENT, 0 ms] 211.32/145.02 (116) QDP 211.32/145.02 (117) TransformationProof [EQUIVALENT, 0 ms] 211.32/145.02 (118) QDP 211.32/145.02 (119) TransformationProof [EQUIVALENT, 0 ms] 211.32/145.02 (120) QDP 211.32/145.02 (121) TransformationProof [EQUIVALENT, 0 ms] 211.32/145.02 (122) QDP 211.32/145.02 (123) TransformationProof [EQUIVALENT, 0 ms] 211.32/145.02 (124) QDP 211.32/145.02 (125) DependencyGraphProof [EQUIVALENT, 0 ms] 211.32/145.02 (126) QDP 211.32/145.02 (127) TransformationProof [EQUIVALENT, 0 ms] 211.32/145.02 (128) QDP 211.32/145.02 (129) DependencyGraphProof [EQUIVALENT, 0 ms] 211.32/145.02 (130) QDP 211.32/145.02 (131) TransformationProof [EQUIVALENT, 0 ms] 211.32/145.02 (132) QDP 211.32/145.02 (133) TransformationProof [EQUIVALENT, 0 ms] 211.32/145.02 (134) QDP 211.32/145.02 (135) DependencyGraphProof [EQUIVALENT, 0 ms] 211.32/145.02 (136) QDP 211.32/145.02 (137) TransformationProof [EQUIVALENT, 0 ms] 211.32/145.02 (138) QDP 211.32/145.02 (139) QDPSizeChangeProof [EQUIVALENT, 0 ms] 211.32/145.02 (140) YES 211.32/145.02 (141) QDP 211.32/145.02 (142) UsableRulesProof [EQUIVALENT, 0 ms] 211.32/145.02 (143) QDP 211.32/145.02 (144) QReductionProof [EQUIVALENT, 0 ms] 211.32/145.02 (145) QDP 211.32/145.02 (146) TransformationProof [EQUIVALENT, 0 ms] 211.32/145.02 (147) QDP 211.32/145.02 (148) TransformationProof [EQUIVALENT, 0 ms] 211.32/145.02 (149) QDP 211.32/145.02 (150) TransformationProof [EQUIVALENT, 0 ms] 211.32/145.02 (151) QDP 211.32/145.02 (152) TransformationProof [EQUIVALENT, 0 ms] 211.32/145.02 (153) QDP 211.32/145.02 (154) DependencyGraphProof [EQUIVALENT, 0 ms] 211.32/145.02 (155) QDP 211.32/145.02 (156) TransformationProof [EQUIVALENT, 0 ms] 211.32/145.02 (157) QDP 211.32/145.02 (158) DependencyGraphProof [EQUIVALENT, 0 ms] 211.32/145.02 (159) QDP 211.32/145.02 (160) TransformationProof [EQUIVALENT, 0 ms] 211.32/145.02 (161) QDP 211.32/145.02 (162) TransformationProof [EQUIVALENT, 0 ms] 211.32/145.02 (163) QDP 211.32/145.02 (164) TransformationProof [EQUIVALENT, 0 ms] 211.32/145.02 (165) QDP 211.32/145.02 (166) TransformationProof [EQUIVALENT, 0 ms] 211.32/145.02 (167) QDP 211.32/145.02 (168) DependencyGraphProof [EQUIVALENT, 0 ms] 211.32/145.02 (169) QDP 211.32/145.02 (170) TransformationProof [EQUIVALENT, 0 ms] 211.32/145.02 (171) QDP 211.32/145.02 (172) DependencyGraphProof [EQUIVALENT, 0 ms] 211.32/145.02 (173) QDP 211.32/145.02 (174) TransformationProof [EQUIVALENT, 0 ms] 211.32/145.02 (175) QDP 211.32/145.02 (176) QDPSizeChangeProof [EQUIVALENT, 0 ms] 211.32/145.02 (177) YES 211.32/145.02 (178) QDP 211.32/145.02 (179) UsableRulesProof [EQUIVALENT, 0 ms] 211.32/145.02 (180) QDP 211.32/145.02 (181) QReductionProof [EQUIVALENT, 0 ms] 211.32/145.02 (182) QDP 211.32/145.02 (183) TransformationProof [EQUIVALENT, 0 ms] 211.32/145.02 (184) QDP 211.32/145.02 (185) TransformationProof [EQUIVALENT, 0 ms] 211.32/145.02 (186) QDP 211.32/145.02 (187) TransformationProof [EQUIVALENT, 0 ms] 211.32/145.02 (188) QDP 211.32/145.02 (189) TransformationProof [EQUIVALENT, 0 ms] 211.32/145.02 (190) QDP 211.32/145.02 (191) TransformationProof [EQUIVALENT, 0 ms] 211.32/145.02 (192) QDP 211.32/145.02 (193) TransformationProof [EQUIVALENT, 0 ms] 211.32/145.02 (194) QDP 211.32/145.02 (195) TransformationProof [EQUIVALENT, 0 ms] 211.32/145.02 (196) QDP 211.32/145.02 (197) TransformationProof [EQUIVALENT, 0 ms] 211.32/145.02 (198) QDP 211.32/145.02 (199) TransformationProof [EQUIVALENT, 0 ms] 211.32/145.02 (200) QDP 211.32/145.02 (201) TransformationProof [EQUIVALENT, 0 ms] 211.32/145.02 (202) QDP 211.32/145.02 (203) DependencyGraphProof [EQUIVALENT, 0 ms] 211.32/145.02 (204) QDP 211.32/145.02 (205) TransformationProof [EQUIVALENT, 0 ms] 211.32/145.02 (206) QDP 211.32/145.02 (207) TransformationProof [EQUIVALENT, 0 ms] 211.32/145.02 (208) QDP 211.32/145.02 (209) TransformationProof [EQUIVALENT, 0 ms] 211.32/145.02 (210) QDP 211.32/145.02 (211) TransformationProof [EQUIVALENT, 0 ms] 211.32/145.02 (212) QDP 211.32/145.02 (213) TransformationProof [EQUIVALENT, 0 ms] 211.32/145.02 (214) QDP 211.32/145.02 (215) TransformationProof [EQUIVALENT, 0 ms] 211.32/145.02 (216) QDP 211.32/145.02 (217) TransformationProof [EQUIVALENT, 0 ms] 211.32/145.02 (218) QDP 211.32/145.02 (219) TransformationProof [EQUIVALENT, 0 ms] 211.32/145.02 (220) QDP 211.32/145.02 (221) TransformationProof [EQUIVALENT, 0 ms] 211.32/145.02 (222) QDP 211.32/145.02 (223) TransformationProof [EQUIVALENT, 0 ms] 211.32/145.02 (224) QDP 211.32/145.02 (225) DependencyGraphProof [EQUIVALENT, 0 ms] 211.32/145.02 (226) QDP 211.32/145.02 (227) TransformationProof [EQUIVALENT, 0 ms] 211.32/145.02 (228) QDP 211.32/145.02 (229) TransformationProof [EQUIVALENT, 0 ms] 211.32/145.02 (230) QDP 211.32/145.02 (231) TransformationProof [EQUIVALENT, 0 ms] 211.32/145.02 (232) QDP 211.32/145.02 (233) TransformationProof [EQUIVALENT, 0 ms] 211.32/145.02 (234) QDP 211.32/145.02 (235) TransformationProof [EQUIVALENT, 0 ms] 211.32/145.02 (236) QDP 211.32/145.02 (237) TransformationProof [EQUIVALENT, 0 ms] 211.32/145.02 (238) QDP 211.32/145.02 (239) TransformationProof [EQUIVALENT, 0 ms] 211.32/145.02 (240) QDP 211.32/145.02 (241) TransformationProof [EQUIVALENT, 0 ms] 211.32/145.02 (242) QDP 211.32/145.02 (243) TransformationProof [EQUIVALENT, 0 ms] 211.32/145.02 (244) QDP 211.32/145.02 (245) TransformationProof [EQUIVALENT, 0 ms] 211.32/145.02 (246) QDP 211.32/145.02 (247) TransformationProof [EQUIVALENT, 0 ms] 211.32/145.02 (248) QDP 211.32/145.02 (249) TransformationProof [EQUIVALENT, 0 ms] 211.32/145.02 (250) QDP 211.32/145.02 (251) DependencyGraphProof [EQUIVALENT, 0 ms] 211.32/145.02 (252) QDP 211.32/145.02 (253) TransformationProof [EQUIVALENT, 0 ms] 211.32/145.02 (254) QDP 211.32/145.02 (255) TransformationProof [EQUIVALENT, 0 ms] 211.32/145.02 (256) QDP 211.32/145.02 (257) TransformationProof [EQUIVALENT, 0 ms] 211.32/145.02 (258) QDP 211.32/145.02 (259) TransformationProof [EQUIVALENT, 0 ms] 211.32/145.02 (260) QDP 211.32/145.02 (261) TransformationProof [EQUIVALENT, 0 ms] 211.32/145.02 (262) QDP 211.32/145.02 (263) TransformationProof [EQUIVALENT, 0 ms] 211.32/145.02 (264) QDP 211.32/145.02 (265) TransformationProof [EQUIVALENT, 0 ms] 211.32/145.02 (266) QDP 211.32/145.02 (267) TransformationProof [EQUIVALENT, 0 ms] 211.32/145.03 (268) QDP 211.32/145.03 (269) TransformationProof [EQUIVALENT, 0 ms] 211.32/145.03 (270) QDP 211.32/145.03 (271) TransformationProof [EQUIVALENT, 0 ms] 211.32/145.03 (272) QDP 211.32/145.03 (273) TransformationProof [EQUIVALENT, 0 ms] 211.32/145.03 (274) QDP 211.32/145.03 (275) TransformationProof [EQUIVALENT, 0 ms] 211.32/145.03 (276) QDP 211.32/145.03 (277) DependencyGraphProof [EQUIVALENT, 0 ms] 211.32/145.03 (278) QDP 211.32/145.03 (279) TransformationProof [EQUIVALENT, 0 ms] 211.32/145.03 (280) QDP 211.32/145.03 (281) DependencyGraphProof [EQUIVALENT, 0 ms] 211.32/145.03 (282) QDP 211.32/145.03 (283) TransformationProof [EQUIVALENT, 0 ms] 211.32/145.03 (284) QDP 211.32/145.03 (285) TransformationProof [EQUIVALENT, 0 ms] 211.32/145.03 (286) QDP 211.32/145.03 (287) TransformationProof [EQUIVALENT, 0 ms] 211.32/145.03 (288) QDP 211.32/145.03 (289) TransformationProof [EQUIVALENT, 0 ms] 211.32/145.03 (290) QDP 211.32/145.03 (291) TransformationProof [EQUIVALENT, 0 ms] 211.32/145.03 (292) QDP 211.32/145.03 (293) TransformationProof [EQUIVALENT, 0 ms] 211.32/145.03 (294) QDP 211.32/145.03 (295) TransformationProof [EQUIVALENT, 0 ms] 211.32/145.03 (296) QDP 211.32/145.03 (297) DependencyGraphProof [EQUIVALENT, 0 ms] 211.32/145.03 (298) AND 211.32/145.03 (299) QDP 211.32/145.03 (300) UsableRulesProof [EQUIVALENT, 0 ms] 211.32/145.03 (301) QDP 211.32/145.03 (302) TransformationProof [EQUIVALENT, 0 ms] 211.32/145.03 (303) QDP 211.32/145.03 (304) DependencyGraphProof [EQUIVALENT, 0 ms] 211.32/145.03 (305) QDP 211.32/145.03 (306) TransformationProof [EQUIVALENT, 0 ms] 211.32/145.03 (307) QDP 211.32/145.03 (308) DependencyGraphProof [EQUIVALENT, 0 ms] 211.32/145.03 (309) QDP 211.32/145.03 (310) InductionCalculusProof [EQUIVALENT, 0 ms] 211.32/145.03 (311) QDP 211.32/145.03 (312) QDP 211.32/145.03 (313) UsableRulesProof [EQUIVALENT, 0 ms] 211.32/145.03 (314) QDP 211.32/145.03 (315) TransformationProof [EQUIVALENT, 0 ms] 211.32/145.03 (316) QDP 211.32/145.03 (317) TransformationProof [EQUIVALENT, 0 ms] 211.32/145.03 (318) QDP 211.32/145.03 (319) TransformationProof [EQUIVALENT, 0 ms] 211.32/145.03 (320) QDP 211.32/145.03 (321) TransformationProof [EQUIVALENT, 0 ms] 211.32/145.03 (322) QDP 211.32/145.03 (323) DependencyGraphProof [EQUIVALENT, 0 ms] 211.32/145.03 (324) QDP 211.32/145.03 (325) InductionCalculusProof [EQUIVALENT, 0 ms] 211.32/145.03 (326) QDP 211.32/145.03 (327) QDP 211.32/145.03 (328) TransformationProof [EQUIVALENT, 0 ms] 211.32/145.03 (329) QDP 211.32/145.03 (330) DependencyGraphProof [EQUIVALENT, 0 ms] 211.32/145.03 (331) QDP 211.32/145.03 (332) TransformationProof [EQUIVALENT, 0 ms] 211.32/145.03 (333) QDP 211.32/145.03 (334) TransformationProof [EQUIVALENT, 0 ms] 211.32/145.03 (335) QDP 211.32/145.03 (336) TransformationProof [EQUIVALENT, 0 ms] 211.32/145.03 (337) QDP 211.32/145.03 (338) TransformationProof [EQUIVALENT, 0 ms] 211.32/145.03 (339) QDP 211.32/145.03 (340) TransformationProof [EQUIVALENT, 0 ms] 211.32/145.03 (341) QDP 211.32/145.03 (342) DependencyGraphProof [EQUIVALENT, 0 ms] 211.32/145.03 (343) AND 211.32/145.03 (344) QDP 211.32/145.03 (345) UsableRulesProof [EQUIVALENT, 0 ms] 211.32/145.03 (346) QDP 211.32/145.03 (347) InductionCalculusProof [EQUIVALENT, 0 ms] 211.32/145.03 (348) QDP 211.32/145.03 (349) QDP 211.32/145.03 (350) UsableRulesProof [EQUIVALENT, 0 ms] 211.32/145.03 (351) QDP 211.32/145.03 (352) TransformationProof [EQUIVALENT, 0 ms] 211.32/145.03 (353) QDP 211.32/145.03 (354) TransformationProof [EQUIVALENT, 0 ms] 211.32/145.03 (355) QDP 211.32/145.03 (356) TransformationProof [EQUIVALENT, 0 ms] 211.32/145.03 (357) QDP 211.32/145.03 (358) TransformationProof [EQUIVALENT, 0 ms] 211.32/145.03 (359) QDP 211.32/145.03 (360) InductionCalculusProof [EQUIVALENT, 0 ms] 211.32/145.03 (361) QDP 211.32/145.03 (362) QDP 211.32/145.03 (363) InductionCalculusProof [EQUIVALENT, 0 ms] 211.32/145.03 (364) QDP 211.32/145.03 (365) QDP 211.32/145.03 (366) UsableRulesProof [EQUIVALENT, 0 ms] 211.32/145.03 (367) QDP 211.32/145.03 (368) QReductionProof [EQUIVALENT, 3 ms] 211.32/145.03 (369) QDP 211.32/145.03 (370) TransformationProof [EQUIVALENT, 0 ms] 211.32/145.03 (371) QDP 211.32/145.03 (372) DependencyGraphProof [EQUIVALENT, 0 ms] 211.32/145.03 (373) QDP 211.32/145.03 (374) TransformationProof [EQUIVALENT, 0 ms] 211.32/145.03 (375) QDP 211.32/145.03 (376) DependencyGraphProof [EQUIVALENT, 0 ms] 211.32/145.03 (377) QDP 211.32/145.03 (378) TransformationProof [EQUIVALENT, 0 ms] 211.32/145.03 (379) QDP 211.32/145.03 (380) TransformationProof [EQUIVALENT, 0 ms] 211.32/145.03 (381) QDP 211.32/145.03 (382) DependencyGraphProof [EQUIVALENT, 0 ms] 211.32/145.03 (383) AND 211.32/145.03 (384) QDP 211.32/145.03 (385) UsableRulesProof [EQUIVALENT, 0 ms] 211.32/145.03 (386) QDP 211.32/145.03 (387) QReductionProof [EQUIVALENT, 0 ms] 211.32/145.03 (388) QDP 211.32/145.03 (389) TransformationProof [EQUIVALENT, 0 ms] 211.32/145.03 (390) QDP 211.32/145.03 (391) TransformationProof [EQUIVALENT, 0 ms] 211.32/145.03 (392) QDP 211.32/145.03 (393) TransformationProof [EQUIVALENT, 0 ms] 211.32/145.03 (394) QDP 211.32/145.03 (395) TransformationProof [EQUIVALENT, 0 ms] 211.32/145.03 (396) QDP 211.32/145.03 (397) TransformationProof [EQUIVALENT, 0 ms] 211.32/145.03 (398) QDP 211.32/145.03 (399) TransformationProof [EQUIVALENT, 0 ms] 211.32/145.03 (400) QDP 211.32/145.03 (401) DependencyGraphProof [EQUIVALENT, 0 ms] 211.32/145.03 (402) QDP 211.32/145.03 (403) TransformationProof [EQUIVALENT, 0 ms] 211.32/145.03 (404) QDP 211.32/145.03 (405) DependencyGraphProof [EQUIVALENT, 0 ms] 211.32/145.03 (406) QDP 211.32/145.03 (407) TransformationProof [EQUIVALENT, 0 ms] 211.32/145.03 (408) QDP 211.32/145.03 (409) TransformationProof [EQUIVALENT, 0 ms] 211.32/145.03 (410) QDP 211.32/145.03 (411) TransformationProof [EQUIVALENT, 0 ms] 211.32/145.03 (412) QDP 211.32/145.03 (413) TransformationProof [EQUIVALENT, 0 ms] 211.32/145.03 (414) QDP 211.32/145.03 (415) DependencyGraphProof [EQUIVALENT, 0 ms] 211.32/145.03 (416) QDP 211.32/145.03 (417) TransformationProof [EQUIVALENT, 0 ms] 211.32/145.03 (418) QDP 211.32/145.03 (419) DependencyGraphProof [EQUIVALENT, 0 ms] 211.32/145.03 (420) QDP 211.32/145.03 (421) TransformationProof [EQUIVALENT, 0 ms] 211.32/145.03 (422) QDP 211.32/145.03 (423) QDPSizeChangeProof [EQUIVALENT, 0 ms] 211.32/145.03 (424) YES 211.32/145.03 (425) QDP 211.32/145.03 (426) UsableRulesProof [EQUIVALENT, 0 ms] 211.32/145.03 (427) QDP 211.32/145.03 (428) QReductionProof [EQUIVALENT, 0 ms] 211.32/145.03 (429) QDP 211.32/145.03 (430) TransformationProof [EQUIVALENT, 0 ms] 211.32/145.03 (431) QDP 211.32/145.03 (432) TransformationProof [EQUIVALENT, 0 ms] 211.32/145.03 (433) QDP 211.32/145.03 (434) TransformationProof [EQUIVALENT, 0 ms] 211.32/145.03 (435) QDP 211.32/145.03 (436) TransformationProof [EQUIVALENT, 0 ms] 211.32/145.03 (437) QDP 211.32/145.03 (438) TransformationProof [EQUIVALENT, 0 ms] 211.32/145.03 (439) QDP 211.32/145.03 (440) TransformationProof [EQUIVALENT, 0 ms] 211.32/145.03 (441) QDP 211.32/145.03 (442) TransformationProof [EQUIVALENT, 0 ms] 211.32/145.03 (443) QDP 211.32/145.03 (444) TransformationProof [EQUIVALENT, 0 ms] 211.32/145.03 (445) QDP 211.32/145.03 (446) TransformationProof [EQUIVALENT, 0 ms] 211.32/145.03 (447) QDP 211.32/145.03 (448) TransformationProof [EQUIVALENT, 0 ms] 211.32/145.03 (449) QDP 211.32/145.03 (450) DependencyGraphProof [EQUIVALENT, 0 ms] 211.32/145.03 (451) QDP 211.32/145.03 (452) TransformationProof [EQUIVALENT, 0 ms] 211.32/145.03 (453) QDP 211.32/145.03 (454) TransformationProof [EQUIVALENT, 0 ms] 211.32/145.03 (455) QDP 211.32/145.03 (456) TransformationProof [EQUIVALENT, 0 ms] 211.32/145.03 (457) QDP 211.32/145.03 (458) TransformationProof [EQUIVALENT, 0 ms] 211.32/145.03 (459) QDP 211.32/145.03 (460) TransformationProof [EQUIVALENT, 0 ms] 211.32/145.03 (461) QDP 211.32/145.03 (462) TransformationProof [EQUIVALENT, 0 ms] 211.32/145.03 (463) QDP 211.32/145.03 (464) TransformationProof [EQUIVALENT, 0 ms] 211.32/145.03 (465) QDP 211.32/145.03 (466) TransformationProof [EQUIVALENT, 0 ms] 211.32/145.03 (467) QDP 211.32/145.03 (468) TransformationProof [EQUIVALENT, 0 ms] 211.32/145.03 (469) QDP 211.32/145.03 (470) TransformationProof [EQUIVALENT, 0 ms] 211.32/145.03 (471) QDP 211.32/145.03 (472) TransformationProof [EQUIVALENT, 0 ms] 211.32/145.03 (473) QDP 211.32/145.03 (474) TransformationProof [EQUIVALENT, 0 ms] 211.32/145.03 (475) QDP 211.32/145.03 (476) DependencyGraphProof [EQUIVALENT, 0 ms] 211.32/145.03 (477) QDP 211.32/145.03 (478) TransformationProof [EQUIVALENT, 0 ms] 211.32/145.03 (479) QDP 211.32/145.03 (480) DependencyGraphProof [EQUIVALENT, 0 ms] 211.32/145.03 (481) AND 211.32/145.03 (482) QDP 211.32/145.03 (483) TransformationProof [EQUIVALENT, 0 ms] 211.32/145.03 (484) QDP 211.32/145.03 (485) TransformationProof [EQUIVALENT, 0 ms] 211.32/145.03 (486) QDP 211.32/145.03 (487) TransformationProof [EQUIVALENT, 0 ms] 211.32/145.03 (488) QDP 211.32/145.03 (489) TransformationProof [EQUIVALENT, 0 ms] 211.32/145.03 (490) QDP 211.32/145.03 (491) TransformationProof [EQUIVALENT, 0 ms] 211.32/145.03 (492) QDP 211.32/145.03 (493) TransformationProof [EQUIVALENT, 0 ms] 211.32/145.03 (494) QDP 211.32/145.03 (495) TransformationProof [EQUIVALENT, 0 ms] 211.32/145.03 (496) QDP 211.32/145.03 (497) DependencyGraphProof [EQUIVALENT, 0 ms] 211.32/145.03 (498) QDP 211.32/145.03 (499) QDPOrderProof [EQUIVALENT, 470 ms] 211.32/145.03 (500) QDP 211.32/145.03 (501) DependencyGraphProof [EQUIVALENT, 0 ms] 211.32/145.03 (502) TRUE 211.32/145.03 (503) QDP 211.32/145.03 (504) TransformationProof [EQUIVALENT, 0 ms] 211.32/145.03 (505) QDP 211.32/145.03 (506) DependencyGraphProof [EQUIVALENT, 0 ms] 211.32/145.03 (507) AND 211.32/145.03 (508) QDP 211.32/145.03 (509) TransformationProof [EQUIVALENT, 0 ms] 211.32/145.03 (510) QDP 211.32/145.03 (511) TransformationProof [EQUIVALENT, 0 ms] 211.32/145.03 (512) QDP 211.32/145.03 (513) TransformationProof [EQUIVALENT, 0 ms] 211.32/145.03 (514) QDP 211.32/145.03 (515) TransformationProof [EQUIVALENT, 0 ms] 211.32/145.03 (516) QDP 211.32/145.03 (517) QReductionProof [EQUIVALENT, 0 ms] 211.32/145.03 (518) QDP 211.32/145.03 (519) InductionCalculusProof [EQUIVALENT, 0 ms] 211.32/145.03 (520) QDP 211.32/145.03 (521) QDP 211.32/145.03 (522) QReductionProof [EQUIVALENT, 0 ms] 211.32/145.03 (523) QDP 211.32/145.03 (524) InductionCalculusProof [EQUIVALENT, 0 ms] 211.32/145.03 (525) QDP 211.32/145.03 (526) QDP 211.32/145.03 (527) UsableRulesProof [EQUIVALENT, 0 ms] 211.32/145.03 (528) QDP 211.32/145.03 (529) QReductionProof [EQUIVALENT, 0 ms] 211.32/145.03 (530) QDP 211.32/145.03 (531) TransformationProof [EQUIVALENT, 0 ms] 211.32/145.03 (532) QDP 211.32/145.03 (533) DependencyGraphProof [EQUIVALENT, 0 ms] 211.32/145.03 (534) QDP 211.32/145.03 (535) TransformationProof [EQUIVALENT, 0 ms] 211.32/145.03 (536) QDP 211.32/145.03 (537) DependencyGraphProof [EQUIVALENT, 0 ms] 211.32/145.03 (538) QDP 211.32/145.03 (539) TransformationProof [EQUIVALENT, 0 ms] 211.32/145.03 (540) QDP 211.32/145.03 (541) TransformationProof [EQUIVALENT, 0 ms] 211.32/145.03 (542) QDP 211.32/145.03 (543) DependencyGraphProof [EQUIVALENT, 0 ms] 211.32/145.03 (544) AND 211.32/145.03 (545) QDP 211.32/145.03 (546) UsableRulesProof [EQUIVALENT, 0 ms] 211.32/145.03 (547) QDP 211.32/145.03 (548) QReductionProof [EQUIVALENT, 0 ms] 211.32/145.03 (549) QDP 211.32/145.03 (550) TransformationProof [EQUIVALENT, 0 ms] 211.32/145.03 (551) QDP 211.32/145.03 (552) TransformationProof [EQUIVALENT, 0 ms] 211.32/145.03 (553) QDP 211.32/145.03 (554) TransformationProof [EQUIVALENT, 0 ms] 211.32/145.03 (555) QDP 211.32/145.03 (556) TransformationProof [EQUIVALENT, 0 ms] 211.32/145.03 (557) QDP 211.32/145.03 (558) TransformationProof [EQUIVALENT, 0 ms] 211.32/145.03 (559) QDP 211.32/145.03 (560) TransformationProof [EQUIVALENT, 0 ms] 211.32/145.03 (561) QDP 211.32/145.03 (562) DependencyGraphProof [EQUIVALENT, 0 ms] 211.32/145.03 (563) QDP 211.32/145.03 (564) TransformationProof [EQUIVALENT, 0 ms] 211.32/145.03 (565) QDP 211.32/145.03 (566) DependencyGraphProof [EQUIVALENT, 0 ms] 211.32/145.03 (567) QDP 211.32/145.03 (568) TransformationProof [EQUIVALENT, 0 ms] 211.32/145.03 (569) QDP 211.32/145.03 (570) TransformationProof [EQUIVALENT, 0 ms] 211.32/145.03 (571) QDP 211.32/145.03 (572) TransformationProof [EQUIVALENT, 0 ms] 211.32/145.03 (573) QDP 211.32/145.03 (574) TransformationProof [EQUIVALENT, 0 ms] 211.32/145.03 (575) QDP 211.32/145.03 (576) DependencyGraphProof [EQUIVALENT, 0 ms] 211.32/145.03 (577) QDP 211.32/145.03 (578) TransformationProof [EQUIVALENT, 0 ms] 211.32/145.03 (579) QDP 211.32/145.03 (580) DependencyGraphProof [EQUIVALENT, 0 ms] 211.32/145.03 (581) QDP 211.32/145.03 (582) TransformationProof [EQUIVALENT, 0 ms] 211.32/145.03 (583) QDP 211.32/145.03 (584) QDPSizeChangeProof [EQUIVALENT, 0 ms] 211.32/145.03 (585) YES 211.32/145.03 (586) QDP 211.32/145.03 (587) UsableRulesProof [EQUIVALENT, 0 ms] 211.32/145.03 (588) QDP 211.32/145.03 (589) QReductionProof [EQUIVALENT, 0 ms] 211.32/145.03 (590) QDP 211.32/145.03 (591) TransformationProof [EQUIVALENT, 0 ms] 211.32/145.03 (592) QDP 211.32/145.03 (593) TransformationProof [EQUIVALENT, 0 ms] 211.32/145.03 (594) QDP 211.32/145.03 (595) TransformationProof [EQUIVALENT, 0 ms] 211.32/145.03 (596) QDP 211.32/145.03 (597) TransformationProof [EQUIVALENT, 0 ms] 211.32/145.03 (598) QDP 211.32/145.03 (599) TransformationProof [EQUIVALENT, 0 ms] 211.32/145.03 (600) QDP 211.32/145.03 (601) TransformationProof [EQUIVALENT, 0 ms] 211.32/145.03 (602) QDP 211.32/145.03 (603) TransformationProof [EQUIVALENT, 0 ms] 211.32/145.03 (604) QDP 211.32/145.03 (605) TransformationProof [EQUIVALENT, 0 ms] 211.32/145.03 (606) QDP 211.32/145.03 (607) TransformationProof [EQUIVALENT, 0 ms] 211.32/145.03 (608) QDP 211.32/145.03 (609) TransformationProof [EQUIVALENT, 0 ms] 211.32/145.03 (610) QDP 211.32/145.03 (611) DependencyGraphProof [EQUIVALENT, 0 ms] 211.32/145.03 (612) QDP 211.32/145.03 (613) TransformationProof [EQUIVALENT, 0 ms] 211.32/145.03 (614) QDP 211.32/145.03 (615) TransformationProof [EQUIVALENT, 0 ms] 211.32/145.03 (616) QDP 211.32/145.03 (617) TransformationProof [EQUIVALENT, 0 ms] 211.32/145.03 (618) QDP 211.32/145.03 (619) TransformationProof [EQUIVALENT, 0 ms] 211.32/145.03 (620) QDP 211.32/145.03 (621) TransformationProof [EQUIVALENT, 0 ms] 211.32/145.03 (622) QDP 211.32/145.03 (623) TransformationProof [EQUIVALENT, 0 ms] 211.32/145.03 (624) QDP 211.32/145.03 (625) TransformationProof [EQUIVALENT, 0 ms] 211.32/145.03 (626) QDP 211.32/145.03 (627) TransformationProof [EQUIVALENT, 0 ms] 211.32/145.03 (628) QDP 211.32/145.03 (629) TransformationProof [EQUIVALENT, 0 ms] 211.32/145.03 (630) QDP 211.32/145.03 (631) TransformationProof [EQUIVALENT, 0 ms] 211.32/145.03 (632) QDP 211.32/145.03 (633) TransformationProof [EQUIVALENT, 0 ms] 211.32/145.03 (634) QDP 211.32/145.03 (635) TransformationProof [EQUIVALENT, 0 ms] 211.32/145.03 (636) QDP 211.32/145.03 (637) DependencyGraphProof [EQUIVALENT, 0 ms] 211.32/145.03 (638) QDP 211.32/145.03 (639) TransformationProof [EQUIVALENT, 0 ms] 211.32/145.03 (640) QDP 211.32/145.03 (641) DependencyGraphProof [EQUIVALENT, 0 ms] 211.32/145.03 (642) AND 211.32/145.03 (643) QDP 211.32/145.03 (644) TransformationProof [EQUIVALENT, 0 ms] 211.32/145.03 (645) QDP 211.32/145.03 (646) TransformationProof [EQUIVALENT, 0 ms] 211.32/145.03 (647) QDP 211.32/145.03 (648) TransformationProof [EQUIVALENT, 0 ms] 211.32/145.03 (649) QDP 211.32/145.03 (650) TransformationProof [EQUIVALENT, 0 ms] 211.32/145.03 (651) QDP 211.32/145.03 (652) TransformationProof [EQUIVALENT, 0 ms] 211.32/145.03 (653) QDP 211.32/145.03 (654) TransformationProof [EQUIVALENT, 0 ms] 211.32/145.03 (655) QDP 211.32/145.03 (656) TransformationProof [EQUIVALENT, 0 ms] 211.32/145.03 (657) QDP 211.32/145.03 (658) DependencyGraphProof [EQUIVALENT, 0 ms] 211.32/145.03 (659) QDP 211.32/145.03 (660) QDPOrderProof [EQUIVALENT, 395 ms] 211.32/145.03 (661) QDP 211.32/145.03 (662) DependencyGraphProof [EQUIVALENT, 0 ms] 211.32/145.03 (663) TRUE 211.32/145.03 (664) QDP 211.32/145.03 (665) TransformationProof [EQUIVALENT, 0 ms] 211.32/145.03 (666) QDP 211.32/145.03 (667) DependencyGraphProof [EQUIVALENT, 0 ms] 211.32/145.03 (668) AND 211.32/145.03 (669) QDP 211.32/145.03 (670) TransformationProof [EQUIVALENT, 0 ms] 211.32/145.03 (671) QDP 211.32/145.03 (672) TransformationProof [EQUIVALENT, 0 ms] 211.32/145.03 (673) QDP 211.32/145.03 (674) TransformationProof [EQUIVALENT, 0 ms] 211.32/145.03 (675) QDP 211.32/145.03 (676) TransformationProof [EQUIVALENT, 0 ms] 211.32/145.03 (677) QDP 211.32/145.03 (678) QReductionProof [EQUIVALENT, 0 ms] 211.32/145.03 (679) QDP 211.32/145.03 (680) InductionCalculusProof [EQUIVALENT, 0 ms] 211.32/145.03 (681) QDP 211.32/145.03 (682) QDP 211.32/145.03 (683) QReductionProof [EQUIVALENT, 0 ms] 211.32/145.03 (684) QDP 211.32/145.03 (685) InductionCalculusProof [EQUIVALENT, 0 ms] 211.32/145.03 (686) QDP 211.32/145.03 (687) QDP 211.32/145.03 (688) TransformationProof [EQUIVALENT, 0 ms] 211.32/145.03 (689) QDP 211.32/145.03 (690) TransformationProof [EQUIVALENT, 0 ms] 211.32/145.03 (691) QDP 211.32/145.03 (692) TransformationProof [EQUIVALENT, 0 ms] 211.32/145.03 (693) QDP 211.32/145.03 (694) TransformationProof [EQUIVALENT, 0 ms] 211.32/145.03 (695) QDP 211.32/145.03 (696) TransformationProof [EQUIVALENT, 0 ms] 211.32/145.03 (697) QDP 211.32/145.03 (698) TransformationProof [EQUIVALENT, 0 ms] 211.32/145.03 (699) QDP 211.32/145.03 (700) TransformationProof [EQUIVALENT, 0 ms] 211.32/145.03 (701) QDP 211.32/145.03 (702) UsableRulesProof [EQUIVALENT, 0 ms] 211.32/145.03 (703) QDP 211.32/145.03 (704) QReductionProof [EQUIVALENT, 6 ms] 211.32/145.03 (705) QDP 211.32/145.03 (706) TransformationProof [EQUIVALENT, 0 ms] 211.32/145.03 (707) QDP 211.32/145.03 (708) TransformationProof [EQUIVALENT, 0 ms] 211.32/145.03 (709) QDP 211.32/145.03 (710) TransformationProof [EQUIVALENT, 0 ms] 211.32/145.03 (711) QDP 211.32/145.03 (712) UsableRulesProof [EQUIVALENT, 0 ms] 211.32/145.03 (713) QDP 211.32/145.03 (714) QReductionProof [EQUIVALENT, 0 ms] 211.32/145.03 (715) QDP 211.32/145.03 (716) TransformationProof [EQUIVALENT, 0 ms] 211.32/145.03 (717) QDP 211.32/145.03 (718) TransformationProof [EQUIVALENT, 0 ms] 211.32/145.03 (719) QDP 211.32/145.03 (720) TransformationProof [EQUIVALENT, 0 ms] 211.32/145.03 (721) QDP 211.32/145.03 (722) TransformationProof [EQUIVALENT, 0 ms] 211.32/145.03 (723) QDP 211.32/145.03 (724) TransformationProof [EQUIVALENT, 0 ms] 211.32/145.03 (725) QDP 211.32/145.03 (726) TransformationProof [EQUIVALENT, 0 ms] 211.32/145.03 (727) QDP 211.32/145.03 (728) TransformationProof [EQUIVALENT, 0 ms] 211.32/145.03 (729) QDP 211.32/145.03 (730) TransformationProof [EQUIVALENT, 0 ms] 211.32/145.03 (731) QDP 211.32/145.03 (732) DependencyGraphProof [EQUIVALENT, 0 ms] 211.32/145.03 (733) AND 211.32/145.03 (734) QDP 211.32/145.03 (735) UsableRulesProof [EQUIVALENT, 0 ms] 211.32/145.03 (736) QDP 211.32/145.03 (737) QReductionProof [EQUIVALENT, 0 ms] 211.32/145.03 (738) QDP 211.32/145.03 (739) MNOCProof [EQUIVALENT, 0 ms] 211.32/145.03 (740) QDP 211.32/145.03 (741) NonTerminationLoopProof [COMPLETE, 0 ms] 211.32/145.03 (742) NO 211.32/145.03 (743) QDP 211.32/145.03 (744) UsableRulesProof [EQUIVALENT, 0 ms] 211.32/145.03 (745) QDP 211.32/145.03 (746) QReductionProof [EQUIVALENT, 0 ms] 211.32/145.03 (747) QDP 211.32/145.03 (748) TransformationProof [EQUIVALENT, 9 ms] 211.32/145.03 (749) QDP 211.32/145.03 (750) TransformationProof [EQUIVALENT, 0 ms] 211.32/145.03 (751) QDP 211.32/145.03 (752) DependencyGraphProof [EQUIVALENT, 0 ms] 211.32/145.03 (753) AND 211.32/145.03 (754) QDP 211.32/145.03 (755) UsableRulesProof [EQUIVALENT, 0 ms] 211.32/145.03 (756) QDP 211.32/145.03 (757) QReductionProof [EQUIVALENT, 0 ms] 211.32/145.03 (758) QDP 211.32/145.03 (759) MNOCProof [EQUIVALENT, 0 ms] 211.32/145.03 (760) QDP 211.32/145.03 (761) NonTerminationLoopProof [COMPLETE, 0 ms] 211.32/145.03 (762) NO 211.32/145.03 (763) QDP 211.32/145.03 (764) UsableRulesProof [EQUIVALENT, 0 ms] 211.32/145.03 (765) QDP 211.32/145.03 (766) QReductionProof [EQUIVALENT, 0 ms] 211.32/145.03 (767) QDP 211.32/145.03 (768) TransformationProof [EQUIVALENT, 0 ms] 211.32/145.03 (769) QDP 211.32/145.03 (770) TransformationProof [EQUIVALENT, 0 ms] 211.32/145.03 (771) QDP 211.32/145.03 (772) TransformationProof [EQUIVALENT, 0 ms] 211.32/145.03 (773) QDP 211.32/145.03 (774) TransformationProof [EQUIVALENT, 0 ms] 213.33/145.59 (775) QDP 213.33/145.59 (776) TransformationProof [EQUIVALENT, 0 ms] 213.33/145.59 (777) QDP 213.33/145.59 (778) TransformationProof [EQUIVALENT, 0 ms] 213.33/145.59 (779) QDP 213.33/145.59 (780) UsableRulesProof [EQUIVALENT, 0 ms] 213.33/145.59 (781) QDP 213.33/145.59 (782) TransformationProof [EQUIVALENT, 20 ms] 213.33/145.59 (783) QDP 213.33/145.59 (784) DependencyGraphProof [EQUIVALENT, 0 ms] 213.33/145.59 (785) AND 213.33/145.59 (786) QDP 213.33/145.59 (787) UsableRulesProof [EQUIVALENT, 0 ms] 213.33/145.59 (788) QDP 213.33/145.59 (789) QReductionProof [EQUIVALENT, 0 ms] 213.33/145.59 (790) QDP 213.33/145.59 (791) TransformationProof [EQUIVALENT, 42 ms] 213.33/145.59 (792) QDP 213.33/145.59 (793) DependencyGraphProof [EQUIVALENT, 0 ms] 213.33/145.59 (794) QDP 213.33/145.59 (795) MNOCProof [EQUIVALENT, 0 ms] 213.33/145.59 (796) QDP 213.33/145.59 (797) InductionCalculusProof [EQUIVALENT, 0 ms] 213.33/145.59 (798) QDP 213.33/145.59 (799) QDPPairToRuleProof [EQUIVALENT, 10 ms] 213.33/145.59 (800) AND 213.33/145.59 (801) QDP 213.33/145.59 (802) MNOCProof [EQUIVALENT, 0 ms] 213.33/145.59 (803) QDP 213.33/145.59 (804) InductionCalculusProof [EQUIVALENT, 0 ms] 213.33/145.59 (805) QDP 213.33/145.59 (806) TransformationProof [EQUIVALENT, 0 ms] 213.33/145.59 (807) QDP 213.33/145.59 (808) DependencyGraphProof [EQUIVALENT, 0 ms] 213.33/145.59 (809) QDP 213.33/145.59 (810) TransformationProof [EQUIVALENT, 0 ms] 213.33/145.59 (811) QDP 213.33/145.59 (812) TransformationProof [EQUIVALENT, 0 ms] 213.33/145.59 (813) QDP 213.33/145.59 (814) TransformationProof [EQUIVALENT, 0 ms] 213.33/145.59 (815) QDP 213.33/145.59 (816) TransformationProof [EQUIVALENT, 0 ms] 213.33/145.59 (817) QDP 213.33/145.59 (818) TransformationProof [EQUIVALENT, 0 ms] 213.33/145.59 (819) QDP 213.33/145.59 (820) TransformationProof [EQUIVALENT, 0 ms] 213.33/145.59 (821) QDP 213.33/145.59 (822) TransformationProof [EQUIVALENT, 0 ms] 213.33/145.59 (823) QDP 213.33/145.59 (824) TransformationProof [EQUIVALENT, 0 ms] 213.33/145.59 (825) QDP 213.33/145.59 (826) UsableRulesProof [EQUIVALENT, 0 ms] 213.33/145.59 (827) QDP 213.33/145.59 (828) QReductionProof [EQUIVALENT, 4 ms] 213.33/145.59 (829) QDP 213.33/145.59 (830) TransformationProof [EQUIVALENT, 0 ms] 213.33/145.59 (831) QDP 213.33/145.59 (832) TransformationProof [EQUIVALENT, 0 ms] 213.33/145.59 (833) QDP 213.33/145.59 (834) TransformationProof [EQUIVALENT, 0 ms] 213.33/145.59 (835) QDP 213.33/145.59 (836) TransformationProof [EQUIVALENT, 0 ms] 213.33/145.59 (837) QDP 213.33/145.59 (838) TransformationProof [EQUIVALENT, 0 ms] 213.33/145.59 (839) QDP 213.33/145.59 (840) TransformationProof [EQUIVALENT, 0 ms] 213.33/145.59 (841) QDP 213.33/145.59 (842) TransformationProof [EQUIVALENT, 0 ms] 213.33/145.59 (843) QDP 213.33/145.59 (844) TransformationProof [EQUIVALENT, 0 ms] 213.33/145.59 (845) QDP 213.33/145.59 (846) TransformationProof [EQUIVALENT, 0 ms] 213.33/145.59 (847) QDP 213.33/145.59 (848) TransformationProof [EQUIVALENT, 0 ms] 213.33/145.59 (849) QDP 213.33/145.59 (850) TransformationProof [EQUIVALENT, 0 ms] 213.33/145.59 (851) QDP 213.33/145.59 (852) TransformationProof [EQUIVALENT, 0 ms] 213.33/145.59 (853) QDP 213.33/145.59 (854) TransformationProof [EQUIVALENT, 0 ms] 213.33/145.59 (855) QDP 213.33/145.59 (856) MNOCProof [EQUIVALENT, 0 ms] 213.33/145.59 (857) QDP 213.33/145.59 (858) InductionCalculusProof [EQUIVALENT, 0 ms] 213.33/145.59 (859) QDP 213.33/145.59 (860) QDP 213.33/145.59 (861) QDPSizeChangeProof [EQUIVALENT, 0 ms] 213.33/145.59 (862) YES 213.33/145.59 (863) QDP 213.33/145.59 (864) UsableRulesProof [EQUIVALENT, 0 ms] 213.33/145.59 (865) QDP 213.33/145.59 (866) QReductionProof [EQUIVALENT, 0 ms] 213.33/145.59 (867) QDP 213.33/145.59 (868) TransformationProof [EQUIVALENT, 0 ms] 213.33/145.59 (869) QDP 213.33/145.59 (870) TransformationProof [EQUIVALENT, 0 ms] 213.33/145.59 (871) QDP 213.33/145.59 (872) TransformationProof [EQUIVALENT, 0 ms] 213.33/145.59 (873) QDP 213.33/145.59 (874) TransformationProof [EQUIVALENT, 0 ms] 213.33/145.59 (875) QDP 213.33/145.59 (876) DependencyGraphProof [EQUIVALENT, 0 ms] 213.33/145.59 (877) QDP 213.33/145.59 (878) TransformationProof [EQUIVALENT, 0 ms] 213.33/145.59 (879) QDP 213.33/145.59 (880) DependencyGraphProof [EQUIVALENT, 0 ms] 213.33/145.59 (881) QDP 213.33/145.59 (882) TransformationProof [EQUIVALENT, 0 ms] 213.33/145.59 (883) QDP 213.33/145.59 (884) TransformationProof [EQUIVALENT, 0 ms] 213.33/145.59 (885) QDP 213.33/145.59 (886) TransformationProof [EQUIVALENT, 0 ms] 213.33/145.59 (887) QDP 213.33/145.59 (888) UsableRulesProof [EQUIVALENT, 0 ms] 213.33/145.59 (889) QDP 213.33/145.59 (890) TransformationProof [EQUIVALENT, 0 ms] 213.33/145.59 (891) QDP 213.33/145.59 (892) UsableRulesProof [EQUIVALENT, 0 ms] 213.33/145.59 (893) QDP 213.33/145.59 (894) QReductionProof [EQUIVALENT, 0 ms] 213.33/145.59 (895) QDP 213.33/145.59 (896) TransformationProof [EQUIVALENT, 14 ms] 213.33/145.59 (897) QDP 213.33/145.59 (898) UsableRulesProof [EQUIVALENT, 0 ms] 213.33/145.59 (899) QDP 213.33/145.59 (900) QReductionProof [EQUIVALENT, 0 ms] 213.33/145.59 (901) QDP 213.33/145.59 (902) QDPOrderProof [EQUIVALENT, 93 ms] 213.33/145.59 (903) QDP 213.33/145.59 (904) DependencyGraphProof [EQUIVALENT, 0 ms] 213.67/145.73 (905) QDP 213.67/145.73 (906) MNOCProof [EQUIVALENT, 0 ms] 213.67/145.73 (907) QDP 213.67/145.73 (908) InductionCalculusProof [EQUIVALENT, 0 ms] 213.67/145.73 (909) QDP 213.67/145.73 (910) QDPPairToRuleProof [EQUIVALENT, 5 ms] 213.67/145.73 (911) AND 213.67/145.73 (912) QDP 213.67/145.73 (913) MNOCProof [EQUIVALENT, 0 ms] 213.67/145.73 (914) QDP 213.67/145.73 (915) InductionCalculusProof [EQUIVALENT, 0 ms] 213.67/145.73 (916) QDP 213.67/145.73 (917) QDP 213.67/145.73 (918) QDPSizeChangeProof [EQUIVALENT, 0 ms] 213.67/145.73 (919) YES 213.67/145.73 (920) QDP 213.67/145.73 (921) DependencyGraphProof [EQUIVALENT, 0 ms] 213.67/145.73 (922) AND 213.67/145.73 (923) QDP 213.67/145.73 (924) MRRProof [EQUIVALENT, 0 ms] 213.67/145.73 (925) QDP 213.67/145.73 (926) PisEmptyProof [EQUIVALENT, 0 ms] 213.67/145.73 (927) YES 213.67/145.73 (928) QDP 213.67/145.73 (929) QDPSizeChangeProof [EQUIVALENT, 0 ms] 213.67/145.73 (930) YES 213.67/145.73 (931) QDP 213.67/145.73 (932) QDPSizeChangeProof [EQUIVALENT, 0 ms] 213.67/145.73 (933) YES 213.67/145.73 (934) QDP 213.67/145.73 (935) QDPSizeChangeProof [EQUIVALENT, 0 ms] 213.67/145.73 (936) YES 213.67/145.73 (937) QDP 213.67/145.73 (938) QDPSizeChangeProof [EQUIVALENT, 0 ms] 213.67/145.73 (939) YES 213.67/145.73 (940) QDP 213.67/145.73 (941) QDPSizeChangeProof [EQUIVALENT, 0 ms] 213.67/145.73 (942) YES 213.67/145.73 (943) QDP 213.67/145.73 (944) QDPSizeChangeProof [EQUIVALENT, 0 ms] 213.67/145.73 (945) YES 213.67/145.73 (946) Narrow [COMPLETE, 0 ms] 213.67/145.73 (947) QDP 213.67/145.73 (948) PisEmptyProof [EQUIVALENT, 0 ms] 213.67/145.73 (949) YES 213.67/145.73 213.67/145.73 213.67/145.73 ---------------------------------------- 213.67/145.73 213.67/145.73 (0) 213.67/145.73 Obligation: 213.67/145.73 mainModule Main 213.67/145.73 module Main where { 213.67/145.73 import qualified Prelude; 213.67/145.73 } 213.67/145.73 213.67/145.73 ---------------------------------------- 213.67/145.73 213.67/145.73 (1) IFR (EQUIVALENT) 213.67/145.73 If Reductions: 213.67/145.73 The following If expression 213.67/145.73 "if n >= 0 then x ^ n else recip (x ^ (`negate` n))" 213.67/145.73 is transformed to 213.67/145.73 "prPr0 x n True = x ^ n; 213.67/145.73 prPr0 x n False = recip (x ^ (`negate` n)); 213.67/145.73 " 213.67/145.73 The following If expression 213.67/145.73 "if primGEqNatS x y then Succ (primDivNatS (primMinusNatS x y) (Succ y)) else Zero" 213.67/145.73 is transformed to 213.67/145.73 "primDivNatS0 x y True = Succ (primDivNatS (primMinusNatS x y) (Succ y)); 213.67/145.73 primDivNatS0 x y False = Zero; 213.67/145.73 " 213.67/145.73 The following If expression 213.67/145.73 "if primGEqNatS x y then primModNatS (primMinusNatS x y) (Succ y) else Succ x" 213.67/145.73 is transformed to 213.67/145.73 "primModNatS0 x y True = primModNatS (primMinusNatS x y) (Succ y); 213.67/145.73 primModNatS0 x y False = Succ x; 213.67/145.73 " 213.67/145.73 213.67/145.73 ---------------------------------------- 213.67/145.73 213.67/145.73 (2) 213.67/145.73 Obligation: 213.67/145.73 mainModule Main 213.67/145.73 module Main where { 213.67/145.73 import qualified Prelude; 213.67/145.73 } 213.67/145.73 213.67/145.73 ---------------------------------------- 213.67/145.73 213.67/145.73 (3) BR (EQUIVALENT) 213.67/145.73 Replaced joker patterns by fresh variables and removed binding patterns. 213.67/145.73 ---------------------------------------- 213.67/145.73 213.67/145.73 (4) 213.67/145.73 Obligation: 213.67/145.73 mainModule Main 213.67/145.73 module Main where { 213.67/145.73 import qualified Prelude; 213.67/145.73 } 213.67/145.73 213.67/145.73 ---------------------------------------- 213.97/145.73 213.97/145.73 (5) COR (EQUIVALENT) 213.97/145.73 Cond Reductions: 213.97/145.73 The following Function with conditions 213.97/145.73 "absReal x|x >= 0x|otherwise`negate` x; 213.97/145.73 " 213.97/145.73 is transformed to 213.97/145.73 "absReal x = absReal2 x; 213.97/145.73 " 213.97/145.73 "absReal1 x True = x; 213.97/145.73 absReal1 x False = absReal0 x otherwise; 213.97/145.73 " 213.97/145.73 "absReal0 x True = `negate` x; 213.97/145.73 " 213.97/145.73 "absReal2 x = absReal1 x (x >= 0); 213.97/145.73 " 213.97/145.73 The following Function with conditions 213.97/145.73 "gcd' x 0 = x; 213.97/145.73 gcd' x y = gcd' y (x `rem` y); 213.97/145.73 " 213.97/145.73 is transformed to 213.97/145.73 "gcd' x yw = gcd'2 x yw; 213.97/145.73 gcd' x y = gcd'0 x y; 213.97/145.73 " 213.97/145.73 "gcd'0 x y = gcd' y (x `rem` y); 213.97/145.73 " 213.97/145.73 "gcd'1 True x yw = x; 213.97/145.73 gcd'1 yx yy yz = gcd'0 yy yz; 213.97/145.73 " 213.97/145.73 "gcd'2 x yw = gcd'1 (yw == 0) x yw; 213.97/145.73 gcd'2 zu zv = gcd'0 zu zv; 213.97/145.73 " 213.97/145.73 The following Function with conditions 213.97/145.73 "gcd 0 0 = error []; 213.97/145.73 gcd x y = gcd' (abs x) (abs y) where { 213.97/145.73 gcd' x 0 = x; 213.97/145.73 gcd' x y = gcd' y (x `rem` y); 213.97/145.73 } 213.97/145.73 ; 213.97/145.73 " 213.97/145.73 is transformed to 213.97/145.73 "gcd zw zx = gcd3 zw zx; 213.97/145.73 gcd x y = gcd0 x y; 213.97/145.73 " 213.97/145.73 "gcd0 x y = gcd' (abs x) (abs y) where { 213.97/145.73 gcd' x yw = gcd'2 x yw; 213.97/145.73 gcd' x y = gcd'0 x y; 213.97/145.73 ; 213.97/145.73 gcd'0 x y = gcd' y (x `rem` y); 213.97/145.73 ; 213.97/145.73 gcd'1 True x yw = x; 213.97/145.73 gcd'1 yx yy yz = gcd'0 yy yz; 213.97/145.73 ; 213.97/145.73 gcd'2 x yw = gcd'1 (yw == 0) x yw; 213.97/145.73 gcd'2 zu zv = gcd'0 zu zv; 213.97/145.73 } 213.97/145.73 ; 213.97/145.73 " 213.97/145.73 "gcd1 True zw zx = error []; 213.97/145.73 gcd1 zy zz vuu = gcd0 zz vuu; 213.97/145.73 " 213.97/145.73 "gcd2 True zw zx = gcd1 (zx == 0) zw zx; 213.97/145.73 gcd2 vuv vuw vux = gcd0 vuw vux; 213.97/145.73 " 213.97/145.73 "gcd3 zw zx = gcd2 (zw == 0) zw zx; 213.97/145.73 gcd3 vuy vuz = gcd0 vuy vuz; 213.97/145.73 " 213.97/145.73 The following Function with conditions 213.97/145.73 "undefined |Falseundefined; 213.97/145.73 " 213.97/145.73 is transformed to 213.97/145.73 "undefined = undefined1; 213.97/145.73 " 213.97/145.73 "undefined0 True = undefined; 213.97/145.73 " 213.97/145.73 "undefined1 = undefined0 False; 213.97/145.73 " 213.97/145.73 The following Function with conditions 213.97/145.73 "g x n|even ng (x * x) (n `quot` 2)|otherwisef x (n - 1) (x * y); 213.97/145.73 " 213.97/145.73 is transformed to 213.97/145.73 "g x n = g2 x n; 213.97/145.73 " 213.97/145.73 "g1 x n True = g (x * x) (n `quot` 2); 213.97/145.73 g1 x n False = g0 x n otherwise; 213.97/145.73 " 213.97/145.73 "g0 x n True = f x (n - 1) (x * y); 213.97/145.73 " 213.97/145.73 "g2 x n = g1 x n (even n); 213.97/145.73 " 213.97/145.73 The following Function with conditions 213.97/145.73 "f xv 0 y = y; 213.97/145.73 f x n y = g x n where { 213.97/145.73 g x n|even ng (x * x) (n `quot` 2)|otherwisef x (n - 1) (x * y); 213.97/145.73 } 213.97/145.73 ; 213.97/145.73 " 213.97/145.73 is transformed to 213.97/145.73 "f xv vvu y = f4 xv vvu y; 213.97/145.73 f x n y = f0 x n y; 213.97/145.73 " 213.97/145.73 "f0 x n y = g x n where { 213.97/145.73 g x n = g2 x n; 213.97/145.73 ; 213.97/145.73 g0 x n True = f x (n - 1) (x * y); 213.97/145.73 ; 213.97/145.73 g1 x n True = g (x * x) (n `quot` 2); 213.97/145.73 g1 x n False = g0 x n otherwise; 213.97/145.73 ; 213.97/145.73 g2 x n = g1 x n (even n); 213.97/145.73 } 213.97/145.73 ; 213.97/145.73 " 213.97/145.73 "f3 True xv vvu y = y; 213.97/145.73 f3 vvv vvw vvx vvy = f0 vvw vvx vvy; 213.97/145.73 " 213.97/145.73 "f4 xv vvu y = f3 (vvu == 0) xv vvu y; 213.97/145.73 f4 vvz vwu vwv = f0 vvz vwu vwv; 213.97/145.73 " 213.97/145.73 The following Function with conditions 213.97/145.73 "^ x 0 = 1; 213.97/145.73 ^ x n|n > 0f x (n - 1) x where { 213.97/145.73 f xv 0 y = y; 213.97/145.73 f x n y = g x n where { 213.97/145.73 g x n|even ng (x * x) (n `quot` 2)|otherwisef x (n - 1) (x * y); 213.97/145.73 } 213.97/145.73 ; 213.97/145.73 } 213.97/145.73 ; 213.97/145.73 ^ xw xx = error []; 213.97/145.73 " 213.97/145.73 is transformed to 213.97/145.73 "^ x vwy = pr4 x vwy; 213.97/145.73 ^ x n = pr2 x n; 213.97/145.73 ^ xw xx = pr0 xw xx; 213.97/145.73 " 213.97/145.73 "pr0 xw xx = error []; 213.97/145.73 " 213.97/145.73 "pr2 x n = pr1 x n (n > 0) where { 213.97/145.73 f xv vvu y = f4 xv vvu y; 213.97/145.73 f x n y = f0 x n y; 213.97/145.73 ; 213.97/145.73 f0 x n y = g x n where { 213.97/145.73 g x n = g2 x n; 213.97/145.73 ; 213.97/145.73 g0 x n True = f x (n - 1) (x * y); 213.97/145.73 ; 213.97/145.73 g1 x n True = g (x * x) (n `quot` 2); 213.97/145.73 g1 x n False = g0 x n otherwise; 213.97/145.73 ; 213.97/145.73 g2 x n = g1 x n (even n); 213.97/145.73 } 213.97/145.73 ; 213.97/145.73 ; 213.97/145.73 f3 True xv vvu y = y; 213.97/145.73 f3 vvv vvw vvx vvy = f0 vvw vvx vvy; 213.97/145.73 ; 213.97/145.73 f4 xv vvu y = f3 (vvu == 0) xv vvu y; 213.97/145.73 f4 vvz vwu vwv = f0 vvz vwu vwv; 213.97/145.73 ; 213.97/145.73 pr1 x n True = f x (n - 1) x; 213.97/145.73 pr1 x n False = pr0 x n; 213.97/145.73 } 213.97/145.73 ; 213.97/145.73 pr2 vww vwx = pr0 vww vwx; 213.97/145.73 " 213.97/145.73 "pr3 True x vwy = 1; 213.97/145.73 pr3 vwz vxu vxv = pr2 vxu vxv; 213.97/145.73 " 213.97/145.73 "pr4 x vwy = pr3 (vwy == 0) x vwy; 213.97/145.73 pr4 vxw vxx = pr2 vxw vxx; 213.97/145.73 " 213.97/145.73 The following Function with conditions 213.97/145.73 "reduce x y|y == 0error []|otherwisex `quot` d :% (y `quot` d) where { 213.97/145.73 d = gcd x y; 213.97/145.73 } 213.97/145.73 ; 213.97/145.73 " 213.97/145.73 is transformed to 213.97/145.73 "reduce x y = reduce2 x y; 213.97/145.73 " 213.97/145.73 "reduce2 x y = reduce1 x y (y == 0) where { 213.97/145.73 d = gcd x y; 213.97/145.73 ; 213.97/145.73 reduce0 x y True = x `quot` d :% (y `quot` d); 213.97/145.73 ; 213.97/145.73 reduce1 x y True = error []; 213.97/145.73 reduce1 x y False = reduce0 x y otherwise; 213.97/145.73 } 213.97/145.73 ; 213.97/145.73 " 213.97/145.73 213.97/145.73 ---------------------------------------- 213.97/145.73 213.97/145.73 (6) 213.97/145.73 Obligation: 213.97/145.73 mainModule Main 213.97/145.73 module Main where { 213.97/145.73 import qualified Prelude; 213.97/145.73 } 213.97/145.73 213.97/145.73 ---------------------------------------- 213.97/145.73 213.97/145.73 (7) LetRed (EQUIVALENT) 213.97/145.73 Let/Where Reductions: 213.97/145.73 The bindings of the following Let/Where expression 213.97/145.73 "gcd' (abs x) (abs y) where { 213.97/145.73 gcd' x yw = gcd'2 x yw; 213.97/145.73 gcd' x y = gcd'0 x y; 213.97/145.73 ; 213.97/145.73 gcd'0 x y = gcd' y (x `rem` y); 213.97/145.73 ; 213.97/145.73 gcd'1 True x yw = x; 213.97/145.73 gcd'1 yx yy yz = gcd'0 yy yz; 213.97/145.73 ; 213.97/145.73 gcd'2 x yw = gcd'1 (yw == 0) x yw; 213.97/145.73 gcd'2 zu zv = gcd'0 zu zv; 213.97/145.73 } 213.97/145.73 " 213.97/145.73 are unpacked to the following functions on top level 213.97/145.73 "gcd0Gcd'0 x y = gcd0Gcd' y (x `rem` y); 213.97/145.73 " 213.97/145.73 "gcd0Gcd' x yw = gcd0Gcd'2 x yw; 213.97/145.73 gcd0Gcd' x y = gcd0Gcd'0 x y; 213.97/145.73 " 213.97/145.73 "gcd0Gcd'1 True x yw = x; 213.97/145.73 gcd0Gcd'1 yx yy yz = gcd0Gcd'0 yy yz; 213.97/145.73 " 213.97/145.73 "gcd0Gcd'2 x yw = gcd0Gcd'1 (yw == 0) x yw; 213.97/145.73 gcd0Gcd'2 zu zv = gcd0Gcd'0 zu zv; 213.97/145.73 " 213.97/145.73 The bindings of the following Let/Where expression 213.97/145.73 "reduce1 x y (y == 0) where { 213.97/145.73 d = gcd x y; 213.97/145.73 ; 213.97/145.73 reduce0 x y True = x `quot` d :% (y `quot` d); 213.97/145.73 ; 213.97/145.73 reduce1 x y True = error []; 213.97/145.73 reduce1 x y False = reduce0 x y otherwise; 213.97/145.73 } 213.97/145.73 " 213.97/145.73 are unpacked to the following functions on top level 213.97/145.73 "reduce2Reduce0 vxy vxz x y True = x `quot` reduce2D vxy vxz :% (y `quot` reduce2D vxy vxz); 213.97/145.73 " 213.97/145.73 "reduce2Reduce1 vxy vxz x y True = error []; 213.97/145.73 reduce2Reduce1 vxy vxz x y False = reduce2Reduce0 vxy vxz x y otherwise; 213.97/145.73 " 213.97/145.73 "reduce2D vxy vxz = gcd vxy vxz; 213.97/145.73 " 213.97/145.73 The bindings of the following Let/Where expression 213.97/145.73 "pr1 x n (n > 0) where { 213.97/145.73 f xv vvu y = f4 xv vvu y; 213.97/145.73 f x n y = f0 x n y; 213.97/145.73 ; 213.97/145.73 f0 x n y = g x n where { 213.97/145.73 g x n = g2 x n; 213.97/145.73 ; 213.97/145.73 g0 x n True = f x (n - 1) (x * y); 213.97/145.73 ; 213.97/145.73 g1 x n True = g (x * x) (n `quot` 2); 213.97/145.73 g1 x n False = g0 x n otherwise; 213.97/145.73 ; 213.97/145.73 g2 x n = g1 x n (even n); 213.97/145.73 } 213.97/145.73 ; 213.97/145.73 ; 213.97/145.73 f3 True xv vvu y = y; 213.97/145.73 f3 vvv vvw vvx vvy = f0 vvw vvx vvy; 213.97/145.73 ; 213.97/145.73 f4 xv vvu y = f3 (vvu == 0) xv vvu y; 213.97/145.73 f4 vvz vwu vwv = f0 vvz vwu vwv; 213.97/145.73 ; 213.97/145.73 pr1 x n True = f x (n - 1) x; 213.97/145.73 pr1 x n False = pr0 x n; 213.97/145.73 } 213.97/145.73 " 213.97/145.73 are unpacked to the following functions on top level 213.97/145.73 "pr2Pr1 x n True = pr2F x (n - 1) x; 213.97/145.73 pr2Pr1 x n False = pr0 x n; 213.97/145.73 " 213.97/145.73 "pr2F0 x n y = pr2F0G y x n; 213.97/145.73 " 213.97/145.73 "pr2F3 True xv vvu y = y; 213.97/145.73 pr2F3 vvv vvw vvx vvy = pr2F0 vvw vvx vvy; 213.97/145.73 " 213.97/145.73 "pr2F xv vvu y = pr2F4 xv vvu y; 213.97/145.73 pr2F x n y = pr2F0 x n y; 213.97/145.73 " 213.97/145.73 "pr2F4 xv vvu y = pr2F3 (vvu == 0) xv vvu y; 213.97/145.73 pr2F4 vvz vwu vwv = pr2F0 vvz vwu vwv; 213.97/145.73 " 213.97/145.73 The bindings of the following Let/Where expression 213.97/145.73 "g x n where { 213.97/145.73 g x n = g2 x n; 213.97/145.73 ; 213.97/145.73 g0 x n True = f x (n - 1) (x * y); 213.97/145.73 ; 213.97/145.73 g1 x n True = g (x * x) (n `quot` 2); 213.97/145.73 g1 x n False = g0 x n otherwise; 213.97/145.73 ; 213.97/145.73 g2 x n = g1 x n (even n); 213.97/145.73 } 213.97/145.73 " 213.97/145.73 are unpacked to the following functions on top level 213.97/145.73 "pr2F0G vyu x n = pr2F0G2 vyu x n; 213.97/145.73 " 213.97/145.73 "pr2F0G1 vyu x n True = pr2F0G vyu (x * x) (n `quot` 2); 213.97/145.73 pr2F0G1 vyu x n False = pr2F0G0 vyu x n otherwise; 213.97/145.73 " 213.97/145.73 "pr2F0G2 vyu x n = pr2F0G1 vyu x n (even n); 213.97/145.73 " 213.97/145.73 "pr2F0G0 vyu x n True = pr2F x (n - 1) (x * vyu); 213.97/145.73 " 213.97/145.73 213.97/145.73 ---------------------------------------- 213.97/145.73 213.97/145.73 (8) 213.97/145.73 Obligation: 213.97/145.73 mainModule Main 213.97/145.73 module Main where { 213.97/145.73 import qualified Prelude; 213.97/145.73 } 213.97/145.73 213.97/145.73 ---------------------------------------- 213.97/145.73 213.97/145.73 (9) NumRed (SOUND) 213.97/145.73 Num Reduction:All numbers are transformed to their corresponding representation with Succ, Pred and Zero. 213.97/145.73 ---------------------------------------- 213.97/145.73 213.97/145.73 (10) 213.97/145.73 Obligation: 213.97/145.73 mainModule Main 213.97/145.73 module Main where { 213.97/145.73 import qualified Prelude; 213.97/145.73 } 213.97/145.73 213.97/145.73 ---------------------------------------- 213.97/145.73 213.97/145.73 (11) Narrow (SOUND) 213.97/145.73 Haskell To QDPs 213.97/145.73 213.97/145.73 digraph dp_graph { 213.97/145.73 node [outthreshold=100, inthreshold=100];1[label="(^^)",fontsize=16,color="grey",shape="box"];1 -> 3[label="",style="dashed", color="grey", weight=3]; 213.97/145.73 3[label="(^^) vyv3",fontsize=16,color="grey",shape="box"];3 -> 4[label="",style="dashed", color="grey", weight=3]; 213.97/145.73 4[label="(^^) vyv3 vyv4",fontsize=16,color="black",shape="triangle"];4 -> 5[label="",style="solid", color="black", weight=3]; 213.97/145.73 5[label="prPr0 vyv3 vyv4 (vyv4 >= fromInt (Pos Zero))",fontsize=16,color="black",shape="box"];5 -> 6[label="",style="solid", color="black", weight=3]; 213.97/145.73 6[label="prPr0 vyv3 vyv4 (compare vyv4 (fromInt (Pos Zero)) /= LT)",fontsize=16,color="black",shape="box"];6 -> 7[label="",style="solid", color="black", weight=3]; 213.97/145.73 7[label="prPr0 vyv3 vyv4 (not (compare vyv4 (fromInt (Pos Zero)) == LT))",fontsize=16,color="black",shape="box"];7 -> 8[label="",style="solid", color="black", weight=3]; 213.97/145.73 8[label="prPr0 vyv3 vyv4 (not (primCmpInt vyv4 (fromInt (Pos Zero)) == LT))",fontsize=16,color="burlywood",shape="box"];4445[label="vyv4/Pos vyv40",fontsize=10,color="white",style="solid",shape="box"];8 -> 4445[label="",style="solid", color="burlywood", weight=9]; 213.97/145.73 4445 -> 9[label="",style="solid", color="burlywood", weight=3]; 213.97/145.73 4446[label="vyv4/Neg vyv40",fontsize=10,color="white",style="solid",shape="box"];8 -> 4446[label="",style="solid", color="burlywood", weight=9]; 213.97/145.73 4446 -> 10[label="",style="solid", color="burlywood", weight=3]; 213.97/145.73 9[label="prPr0 vyv3 (Pos vyv40) (not (primCmpInt (Pos vyv40) (fromInt (Pos Zero)) == LT))",fontsize=16,color="burlywood",shape="box"];4447[label="vyv40/Succ vyv400",fontsize=10,color="white",style="solid",shape="box"];9 -> 4447[label="",style="solid", color="burlywood", weight=9]; 213.97/145.73 4447 -> 11[label="",style="solid", color="burlywood", weight=3]; 213.97/145.73 4448[label="vyv40/Zero",fontsize=10,color="white",style="solid",shape="box"];9 -> 4448[label="",style="solid", color="burlywood", weight=9]; 213.97/145.73 4448 -> 12[label="",style="solid", color="burlywood", weight=3]; 213.97/145.73 10[label="prPr0 vyv3 (Neg vyv40) (not (primCmpInt (Neg vyv40) (fromInt (Pos Zero)) == LT))",fontsize=16,color="burlywood",shape="box"];4449[label="vyv40/Succ vyv400",fontsize=10,color="white",style="solid",shape="box"];10 -> 4449[label="",style="solid", color="burlywood", weight=9]; 213.97/145.73 4449 -> 13[label="",style="solid", color="burlywood", weight=3]; 213.97/145.73 4450[label="vyv40/Zero",fontsize=10,color="white",style="solid",shape="box"];10 -> 4450[label="",style="solid", color="burlywood", weight=9]; 213.97/145.73 4450 -> 14[label="",style="solid", color="burlywood", weight=3]; 213.97/145.73 11[label="prPr0 vyv3 (Pos (Succ vyv400)) (not (primCmpInt (Pos (Succ vyv400)) (fromInt (Pos Zero)) == LT))",fontsize=16,color="black",shape="box"];11 -> 15[label="",style="solid", color="black", weight=3]; 213.97/145.73 12[label="prPr0 vyv3 (Pos Zero) (not (primCmpInt (Pos Zero) (fromInt (Pos Zero)) == LT))",fontsize=16,color="black",shape="box"];12 -> 16[label="",style="solid", color="black", weight=3]; 213.97/145.73 13[label="prPr0 vyv3 (Neg (Succ vyv400)) (not (primCmpInt (Neg (Succ vyv400)) (fromInt (Pos Zero)) == LT))",fontsize=16,color="black",shape="box"];13 -> 17[label="",style="solid", color="black", weight=3]; 213.97/145.73 14[label="prPr0 vyv3 (Neg Zero) (not (primCmpInt (Neg Zero) (fromInt (Pos Zero)) == LT))",fontsize=16,color="black",shape="box"];14 -> 18[label="",style="solid", color="black", weight=3]; 213.97/145.73 15[label="prPr0 vyv3 (Pos (Succ vyv400)) (not (primCmpInt (Pos (Succ vyv400)) (Pos Zero) == LT))",fontsize=16,color="black",shape="box"];15 -> 19[label="",style="solid", color="black", weight=3]; 213.97/145.73 16[label="prPr0 vyv3 (Pos Zero) (not (primCmpInt (Pos Zero) (Pos Zero) == LT))",fontsize=16,color="black",shape="box"];16 -> 20[label="",style="solid", color="black", weight=3]; 213.97/145.73 17[label="prPr0 vyv3 (Neg (Succ vyv400)) (not (primCmpInt (Neg (Succ vyv400)) (Pos Zero) == LT))",fontsize=16,color="black",shape="box"];17 -> 21[label="",style="solid", color="black", weight=3]; 213.97/145.73 18[label="prPr0 vyv3 (Neg Zero) (not (primCmpInt (Neg Zero) (Pos Zero) == LT))",fontsize=16,color="black",shape="box"];18 -> 22[label="",style="solid", color="black", weight=3]; 213.97/145.73 19[label="prPr0 vyv3 (Pos (Succ vyv400)) (not (primCmpNat (Succ vyv400) Zero == LT))",fontsize=16,color="black",shape="box"];19 -> 23[label="",style="solid", color="black", weight=3]; 213.97/145.73 20[label="prPr0 vyv3 (Pos Zero) (not (EQ == LT))",fontsize=16,color="black",shape="box"];20 -> 24[label="",style="solid", color="black", weight=3]; 213.97/145.73 21[label="prPr0 vyv3 (Neg (Succ vyv400)) (not (LT == LT))",fontsize=16,color="black",shape="box"];21 -> 25[label="",style="solid", color="black", weight=3]; 213.97/145.73 22[label="prPr0 vyv3 (Neg Zero) (not (EQ == LT))",fontsize=16,color="black",shape="box"];22 -> 26[label="",style="solid", color="black", weight=3]; 213.97/145.73 23[label="prPr0 vyv3 (Pos (Succ vyv400)) (not (GT == LT))",fontsize=16,color="black",shape="box"];23 -> 27[label="",style="solid", color="black", weight=3]; 213.97/145.73 24[label="prPr0 vyv3 (Pos Zero) (not False)",fontsize=16,color="black",shape="box"];24 -> 28[label="",style="solid", color="black", weight=3]; 213.97/145.73 25[label="prPr0 vyv3 (Neg (Succ vyv400)) (not True)",fontsize=16,color="black",shape="box"];25 -> 29[label="",style="solid", color="black", weight=3]; 213.97/145.73 26[label="prPr0 vyv3 (Neg Zero) (not False)",fontsize=16,color="black",shape="box"];26 -> 30[label="",style="solid", color="black", weight=3]; 213.97/145.73 27[label="prPr0 vyv3 (Pos (Succ vyv400)) (not False)",fontsize=16,color="black",shape="box"];27 -> 31[label="",style="solid", color="black", weight=3]; 213.97/145.73 28[label="prPr0 vyv3 (Pos Zero) True",fontsize=16,color="black",shape="box"];28 -> 32[label="",style="solid", color="black", weight=3]; 213.97/145.73 29[label="prPr0 vyv3 (Neg (Succ vyv400)) False",fontsize=16,color="black",shape="box"];29 -> 33[label="",style="solid", color="black", weight=3]; 213.97/145.73 30[label="prPr0 vyv3 (Neg Zero) True",fontsize=16,color="black",shape="box"];30 -> 34[label="",style="solid", color="black", weight=3]; 213.97/145.73 31[label="prPr0 vyv3 (Pos (Succ vyv400)) True",fontsize=16,color="black",shape="box"];31 -> 35[label="",style="solid", color="black", weight=3]; 213.97/145.73 32[label="vyv3 ^ Pos Zero",fontsize=16,color="black",shape="box"];32 -> 36[label="",style="solid", color="black", weight=3]; 213.97/145.73 33 -> 57[label="",style="dashed", color="red", weight=0]; 213.97/145.73 33[label="recip (vyv3 ^ (`negate` Neg (Succ vyv400)))",fontsize=16,color="magenta"];33 -> 58[label="",style="dashed", color="magenta", weight=3]; 213.97/145.73 34[label="vyv3 ^ Neg Zero",fontsize=16,color="black",shape="box"];34 -> 38[label="",style="solid", color="black", weight=3]; 213.97/145.73 35[label="vyv3 ^ Pos (Succ vyv400)",fontsize=16,color="black",shape="box"];35 -> 39[label="",style="solid", color="black", weight=3]; 213.97/145.73 36[label="pr4 vyv3 (Pos Zero)",fontsize=16,color="black",shape="box"];36 -> 40[label="",style="solid", color="black", weight=3]; 213.97/145.73 58[label="vyv3 ^ (`negate` Neg (Succ vyv400))",fontsize=16,color="black",shape="box"];58 -> 64[label="",style="solid", color="black", weight=3]; 213.97/145.73 57[label="recip vyv5",fontsize=16,color="burlywood",shape="triangle"];4451[label="vyv5/vyv50 :% vyv51",fontsize=10,color="white",style="solid",shape="box"];57 -> 4451[label="",style="solid", color="burlywood", weight=9]; 213.97/145.73 4451 -> 65[label="",style="solid", color="burlywood", weight=3]; 213.97/145.73 38[label="pr4 vyv3 (Neg Zero)",fontsize=16,color="black",shape="box"];38 -> 42[label="",style="solid", color="black", weight=3]; 213.97/145.73 39[label="pr4 vyv3 (Pos (Succ vyv400))",fontsize=16,color="black",shape="box"];39 -> 43[label="",style="solid", color="black", weight=3]; 213.97/145.73 40[label="pr3 (Pos Zero == fromInt (Pos Zero)) vyv3 (Pos Zero)",fontsize=16,color="black",shape="box"];40 -> 44[label="",style="solid", color="black", weight=3]; 213.97/145.73 64[label="pr4 vyv3 (`negate` Neg (Succ vyv400))",fontsize=16,color="black",shape="box"];64 -> 69[label="",style="solid", color="black", weight=3]; 213.97/145.73 65[label="recip (vyv50 :% vyv51)",fontsize=16,color="black",shape="box"];65 -> 70[label="",style="solid", color="black", weight=3]; 213.97/145.73 42[label="pr3 (Neg Zero == fromInt (Pos Zero)) vyv3 (Neg Zero)",fontsize=16,color="black",shape="box"];42 -> 46[label="",style="solid", color="black", weight=3]; 213.97/145.73 43[label="pr3 (Pos (Succ vyv400) == fromInt (Pos Zero)) vyv3 (Pos (Succ vyv400))",fontsize=16,color="black",shape="box"];43 -> 47[label="",style="solid", color="black", weight=3]; 213.97/145.73 44[label="pr3 (primEqInt (Pos Zero) (fromInt (Pos Zero))) vyv3 (Pos Zero)",fontsize=16,color="black",shape="box"];44 -> 48[label="",style="solid", color="black", weight=3]; 213.97/145.73 69[label="pr3 (`negate` Neg (Succ vyv400) == fromInt (Pos Zero)) vyv3 (`negate` Neg (Succ vyv400))",fontsize=16,color="black",shape="box"];69 -> 73[label="",style="solid", color="black", weight=3]; 213.97/145.73 70[label="vyv51 :% vyv50",fontsize=16,color="green",shape="box"];46[label="pr3 (primEqInt (Neg Zero) (fromInt (Pos Zero))) vyv3 (Neg Zero)",fontsize=16,color="black",shape="box"];46 -> 50[label="",style="solid", color="black", weight=3]; 213.97/145.73 47[label="pr3 (primEqInt (Pos (Succ vyv400)) (fromInt (Pos Zero))) vyv3 (Pos (Succ vyv400))",fontsize=16,color="black",shape="triangle"];47 -> 51[label="",style="solid", color="black", weight=3]; 213.97/145.73 48[label="pr3 (primEqInt (Pos Zero) (Pos Zero)) vyv3 (Pos Zero)",fontsize=16,color="black",shape="box"];48 -> 52[label="",style="solid", color="black", weight=3]; 213.97/145.73 73[label="pr3 (primEqInt (`negate` Neg (Succ vyv400)) (fromInt (Pos Zero))) vyv3 (`negate` Neg (Succ vyv400))",fontsize=16,color="black",shape="box"];73 -> 77[label="",style="solid", color="black", weight=3]; 213.97/145.73 50[label="pr3 (primEqInt (Neg Zero) (Pos Zero)) vyv3 (Neg Zero)",fontsize=16,color="black",shape="box"];50 -> 54[label="",style="solid", color="black", weight=3]; 213.97/145.73 51[label="pr3 (primEqInt (Pos (Succ vyv400)) (Pos Zero)) vyv3 (Pos (Succ vyv400))",fontsize=16,color="black",shape="box"];51 -> 55[label="",style="solid", color="black", weight=3]; 213.97/145.73 52[label="pr3 True vyv3 (Pos Zero)",fontsize=16,color="black",shape="box"];52 -> 56[label="",style="solid", color="black", weight=3]; 213.97/145.73 77[label="pr3 (primEqInt (primNegInt (Neg (Succ vyv400))) (fromInt (Pos Zero))) vyv3 (primNegInt (Neg (Succ vyv400)))",fontsize=16,color="black",shape="box"];77 -> 80[label="",style="solid", color="black", weight=3]; 213.97/145.73 54[label="pr3 True vyv3 (Neg Zero)",fontsize=16,color="black",shape="box"];54 -> 66[label="",style="solid", color="black", weight=3]; 213.97/145.73 55[label="pr3 False vyv3 (Pos (Succ vyv400))",fontsize=16,color="black",shape="box"];55 -> 67[label="",style="solid", color="black", weight=3]; 213.97/145.73 56[label="fromInt (Pos (Succ Zero))",fontsize=16,color="black",shape="triangle"];56 -> 68[label="",style="solid", color="black", weight=3]; 213.97/145.73 80 -> 47[label="",style="dashed", color="red", weight=0]; 213.97/145.73 80[label="pr3 (primEqInt (Pos (Succ vyv400)) (fromInt (Pos Zero))) vyv3 (Pos (Succ vyv400))",fontsize=16,color="magenta"];80 -> 82[label="",style="dashed", color="magenta", weight=3]; 213.97/145.73 66 -> 56[label="",style="dashed", color="red", weight=0]; 213.97/145.73 66[label="fromInt (Pos (Succ Zero))",fontsize=16,color="magenta"];67[label="pr2 vyv3 (Pos (Succ vyv400))",fontsize=16,color="black",shape="box"];67 -> 71[label="",style="solid", color="black", weight=3]; 213.97/145.73 68[label="intToRatio (Pos (Succ Zero))",fontsize=16,color="black",shape="box"];68 -> 72[label="",style="solid", color="black", weight=3]; 213.97/145.73 82[label="vyv400",fontsize=16,color="green",shape="box"];71[label="pr2Pr1 vyv3 (Pos (Succ vyv400)) (Pos (Succ vyv400) > fromInt (Pos Zero))",fontsize=16,color="black",shape="box"];71 -> 74[label="",style="solid", color="black", weight=3]; 213.97/145.73 72[label="fromInt (Pos (Succ Zero)) :% fromInt (Pos (Succ Zero))",fontsize=16,color="green",shape="box"];72 -> 75[label="",style="dashed", color="green", weight=3]; 213.97/145.73 72 -> 76[label="",style="dashed", color="green", weight=3]; 213.97/145.73 74[label="pr2Pr1 vyv3 (Pos (Succ vyv400)) (compare (Pos (Succ vyv400)) (fromInt (Pos Zero)) == GT)",fontsize=16,color="black",shape="box"];74 -> 78[label="",style="solid", color="black", weight=3]; 213.97/145.73 75[label="fromInt (Pos (Succ Zero))",fontsize=16,color="black",shape="triangle"];75 -> 79[label="",style="solid", color="black", weight=3]; 213.97/145.73 76 -> 75[label="",style="dashed", color="red", weight=0]; 213.97/145.73 76[label="fromInt (Pos (Succ Zero))",fontsize=16,color="magenta"];78[label="pr2Pr1 vyv3 (Pos (Succ vyv400)) (primCmpInt (Pos (Succ vyv400)) (fromInt (Pos Zero)) == GT)",fontsize=16,color="black",shape="box"];78 -> 81[label="",style="solid", color="black", weight=3]; 213.97/145.73 79[label="Pos (Succ Zero)",fontsize=16,color="green",shape="box"];81[label="pr2Pr1 vyv3 (Pos (Succ vyv400)) (primCmpInt (Pos (Succ vyv400)) (Pos Zero) == GT)",fontsize=16,color="black",shape="box"];81 -> 83[label="",style="solid", color="black", weight=3]; 213.97/145.73 83[label="pr2Pr1 vyv3 (Pos (Succ vyv400)) (primCmpNat (Succ vyv400) Zero == GT)",fontsize=16,color="black",shape="box"];83 -> 84[label="",style="solid", color="black", weight=3]; 213.97/145.73 84[label="pr2Pr1 vyv3 (Pos (Succ vyv400)) (GT == GT)",fontsize=16,color="black",shape="box"];84 -> 85[label="",style="solid", color="black", weight=3]; 213.97/145.73 85[label="pr2Pr1 vyv3 (Pos (Succ vyv400)) True",fontsize=16,color="black",shape="box"];85 -> 86[label="",style="solid", color="black", weight=3]; 213.97/145.73 86 -> 87[label="",style="dashed", color="red", weight=0]; 213.97/145.73 86[label="pr2F vyv3 (Pos (Succ vyv400) - fromInt (Pos (Succ Zero))) vyv3",fontsize=16,color="magenta"];86 -> 88[label="",style="dashed", color="magenta", weight=3]; 213.97/145.73 88 -> 75[label="",style="dashed", color="red", weight=0]; 213.97/145.73 88[label="fromInt (Pos (Succ Zero))",fontsize=16,color="magenta"];87[label="pr2F vyv3 (Pos (Succ vyv400) - vyv6) vyv3",fontsize=16,color="black",shape="triangle"];87 -> 89[label="",style="solid", color="black", weight=3]; 213.97/145.73 89[label="pr2F4 vyv3 (Pos (Succ vyv400) - vyv6) vyv3",fontsize=16,color="black",shape="box"];89 -> 90[label="",style="solid", color="black", weight=3]; 213.97/145.73 90[label="pr2F3 (Pos (Succ vyv400) - vyv6 == fromInt (Pos Zero)) vyv3 (Pos (Succ vyv400) - vyv6) vyv3",fontsize=16,color="black",shape="box"];90 -> 91[label="",style="solid", color="black", weight=3]; 213.97/145.73 91[label="pr2F3 (primEqInt (Pos (Succ vyv400) - vyv6) (fromInt (Pos Zero))) vyv3 (Pos (Succ vyv400) - vyv6) vyv3",fontsize=16,color="black",shape="box"];91 -> 92[label="",style="solid", color="black", weight=3]; 213.97/145.73 92[label="pr2F3 (primEqInt (primMinusInt (Pos (Succ vyv400)) vyv6) (fromInt (Pos Zero))) vyv3 (primMinusInt (Pos (Succ vyv400)) vyv6) vyv3",fontsize=16,color="burlywood",shape="box"];4452[label="vyv6/Pos vyv60",fontsize=10,color="white",style="solid",shape="box"];92 -> 4452[label="",style="solid", color="burlywood", weight=9]; 213.97/145.73 4452 -> 93[label="",style="solid", color="burlywood", weight=3]; 213.97/145.73 4453[label="vyv6/Neg vyv60",fontsize=10,color="white",style="solid",shape="box"];92 -> 4453[label="",style="solid", color="burlywood", weight=9]; 213.97/145.73 4453 -> 94[label="",style="solid", color="burlywood", weight=3]; 213.97/145.73 93[label="pr2F3 (primEqInt (primMinusInt (Pos (Succ vyv400)) (Pos vyv60)) (fromInt (Pos Zero))) vyv3 (primMinusInt (Pos (Succ vyv400)) (Pos vyv60)) vyv3",fontsize=16,color="black",shape="box"];93 -> 95[label="",style="solid", color="black", weight=3]; 213.97/145.73 94[label="pr2F3 (primEqInt (primMinusInt (Pos (Succ vyv400)) (Neg vyv60)) (fromInt (Pos Zero))) vyv3 (primMinusInt (Pos (Succ vyv400)) (Neg vyv60)) vyv3",fontsize=16,color="black",shape="box"];94 -> 96[label="",style="solid", color="black", weight=3]; 213.97/145.73 95[label="pr2F3 (primEqInt (primMinusNat (Succ vyv400) vyv60) (fromInt (Pos Zero))) vyv3 (primMinusNat (Succ vyv400) vyv60) vyv3",fontsize=16,color="burlywood",shape="box"];4454[label="vyv60/Succ vyv600",fontsize=10,color="white",style="solid",shape="box"];95 -> 4454[label="",style="solid", color="burlywood", weight=9]; 213.97/145.73 4454 -> 97[label="",style="solid", color="burlywood", weight=3]; 213.97/145.73 4455[label="vyv60/Zero",fontsize=10,color="white",style="solid",shape="box"];95 -> 4455[label="",style="solid", color="burlywood", weight=9]; 213.97/145.73 4455 -> 98[label="",style="solid", color="burlywood", weight=3]; 213.97/145.73 96[label="pr2F3 (primEqInt (Pos (primPlusNat (Succ vyv400) vyv60)) (fromInt (Pos Zero))) vyv3 (Pos (primPlusNat (Succ vyv400) vyv60)) vyv3",fontsize=16,color="burlywood",shape="box"];4456[label="vyv60/Succ vyv600",fontsize=10,color="white",style="solid",shape="box"];96 -> 4456[label="",style="solid", color="burlywood", weight=9]; 213.97/145.73 4456 -> 99[label="",style="solid", color="burlywood", weight=3]; 213.97/145.73 4457[label="vyv60/Zero",fontsize=10,color="white",style="solid",shape="box"];96 -> 4457[label="",style="solid", color="burlywood", weight=9]; 213.97/145.73 4457 -> 100[label="",style="solid", color="burlywood", weight=3]; 213.97/145.73 97[label="pr2F3 (primEqInt (primMinusNat (Succ vyv400) (Succ vyv600)) (fromInt (Pos Zero))) vyv3 (primMinusNat (Succ vyv400) (Succ vyv600)) vyv3",fontsize=16,color="black",shape="box"];97 -> 101[label="",style="solid", color="black", weight=3]; 213.97/145.73 98[label="pr2F3 (primEqInt (primMinusNat (Succ vyv400) Zero) (fromInt (Pos Zero))) vyv3 (primMinusNat (Succ vyv400) Zero) vyv3",fontsize=16,color="black",shape="box"];98 -> 102[label="",style="solid", color="black", weight=3]; 213.97/145.73 99[label="pr2F3 (primEqInt (Pos (primPlusNat (Succ vyv400) (Succ vyv600))) (fromInt (Pos Zero))) vyv3 (Pos (primPlusNat (Succ vyv400) (Succ vyv600))) vyv3",fontsize=16,color="black",shape="box"];99 -> 103[label="",style="solid", color="black", weight=3]; 213.97/145.73 100[label="pr2F3 (primEqInt (Pos (primPlusNat (Succ vyv400) Zero)) (fromInt (Pos Zero))) vyv3 (Pos (primPlusNat (Succ vyv400) Zero)) vyv3",fontsize=16,color="black",shape="box"];100 -> 104[label="",style="solid", color="black", weight=3]; 213.97/145.73 101[label="pr2F3 (primEqInt (primMinusNat vyv400 vyv600) (fromInt (Pos Zero))) vyv3 (primMinusNat vyv400 vyv600) vyv3",fontsize=16,color="burlywood",shape="triangle"];4458[label="vyv400/Succ vyv4000",fontsize=10,color="white",style="solid",shape="box"];101 -> 4458[label="",style="solid", color="burlywood", weight=9]; 213.97/145.73 4458 -> 105[label="",style="solid", color="burlywood", weight=3]; 213.97/145.73 4459[label="vyv400/Zero",fontsize=10,color="white",style="solid",shape="box"];101 -> 4459[label="",style="solid", color="burlywood", weight=9]; 213.97/145.73 4459 -> 106[label="",style="solid", color="burlywood", weight=3]; 213.97/145.73 102[label="pr2F3 (primEqInt (Pos (Succ vyv400)) (fromInt (Pos Zero))) vyv3 (Pos (Succ vyv400)) vyv3",fontsize=16,color="black",shape="triangle"];102 -> 107[label="",style="solid", color="black", weight=3]; 213.97/145.73 103 -> 102[label="",style="dashed", color="red", weight=0]; 213.97/145.73 103[label="pr2F3 (primEqInt (Pos (Succ (Succ (primPlusNat vyv400 vyv600)))) (fromInt (Pos Zero))) vyv3 (Pos (Succ (Succ (primPlusNat vyv400 vyv600)))) vyv3",fontsize=16,color="magenta"];103 -> 108[label="",style="dashed", color="magenta", weight=3]; 213.97/145.73 104 -> 102[label="",style="dashed", color="red", weight=0]; 213.97/145.73 104[label="pr2F3 (primEqInt (Pos (Succ vyv400)) (fromInt (Pos Zero))) vyv3 (Pos (Succ vyv400)) vyv3",fontsize=16,color="magenta"];105[label="pr2F3 (primEqInt (primMinusNat (Succ vyv4000) vyv600) (fromInt (Pos Zero))) vyv3 (primMinusNat (Succ vyv4000) vyv600) vyv3",fontsize=16,color="burlywood",shape="box"];4460[label="vyv600/Succ vyv6000",fontsize=10,color="white",style="solid",shape="box"];105 -> 4460[label="",style="solid", color="burlywood", weight=9]; 213.97/145.73 4460 -> 109[label="",style="solid", color="burlywood", weight=3]; 213.97/145.73 4461[label="vyv600/Zero",fontsize=10,color="white",style="solid",shape="box"];105 -> 4461[label="",style="solid", color="burlywood", weight=9]; 213.97/145.73 4461 -> 110[label="",style="solid", color="burlywood", weight=3]; 213.97/145.73 106[label="pr2F3 (primEqInt (primMinusNat Zero vyv600) (fromInt (Pos Zero))) vyv3 (primMinusNat Zero vyv600) vyv3",fontsize=16,color="burlywood",shape="box"];4462[label="vyv600/Succ vyv6000",fontsize=10,color="white",style="solid",shape="box"];106 -> 4462[label="",style="solid", color="burlywood", weight=9]; 213.97/145.73 4462 -> 111[label="",style="solid", color="burlywood", weight=3]; 213.97/145.73 4463[label="vyv600/Zero",fontsize=10,color="white",style="solid",shape="box"];106 -> 4463[label="",style="solid", color="burlywood", weight=9]; 213.97/145.73 4463 -> 112[label="",style="solid", color="burlywood", weight=3]; 213.97/145.73 107[label="pr2F3 (primEqInt (Pos (Succ vyv400)) (Pos Zero)) vyv3 (Pos (Succ vyv400)) vyv3",fontsize=16,color="black",shape="box"];107 -> 113[label="",style="solid", color="black", weight=3]; 213.97/145.73 108[label="Succ (primPlusNat vyv400 vyv600)",fontsize=16,color="green",shape="box"];108 -> 114[label="",style="dashed", color="green", weight=3]; 213.97/145.73 109[label="pr2F3 (primEqInt (primMinusNat (Succ vyv4000) (Succ vyv6000)) (fromInt (Pos Zero))) vyv3 (primMinusNat (Succ vyv4000) (Succ vyv6000)) vyv3",fontsize=16,color="black",shape="box"];109 -> 115[label="",style="solid", color="black", weight=3]; 213.97/145.73 110[label="pr2F3 (primEqInt (primMinusNat (Succ vyv4000) Zero) (fromInt (Pos Zero))) vyv3 (primMinusNat (Succ vyv4000) Zero) vyv3",fontsize=16,color="black",shape="box"];110 -> 116[label="",style="solid", color="black", weight=3]; 213.97/145.73 111[label="pr2F3 (primEqInt (primMinusNat Zero (Succ vyv6000)) (fromInt (Pos Zero))) vyv3 (primMinusNat Zero (Succ vyv6000)) vyv3",fontsize=16,color="black",shape="box"];111 -> 117[label="",style="solid", color="black", weight=3]; 213.97/145.73 112[label="pr2F3 (primEqInt (primMinusNat Zero Zero) (fromInt (Pos Zero))) vyv3 (primMinusNat Zero Zero) vyv3",fontsize=16,color="black",shape="box"];112 -> 118[label="",style="solid", color="black", weight=3]; 213.97/145.73 113[label="pr2F3 False vyv3 (Pos (Succ vyv400)) vyv3",fontsize=16,color="black",shape="box"];113 -> 119[label="",style="solid", color="black", weight=3]; 213.97/145.73 114[label="primPlusNat vyv400 vyv600",fontsize=16,color="burlywood",shape="triangle"];4464[label="vyv400/Succ vyv4000",fontsize=10,color="white",style="solid",shape="box"];114 -> 4464[label="",style="solid", color="burlywood", weight=9]; 213.97/145.73 4464 -> 120[label="",style="solid", color="burlywood", weight=3]; 213.97/145.73 4465[label="vyv400/Zero",fontsize=10,color="white",style="solid",shape="box"];114 -> 4465[label="",style="solid", color="burlywood", weight=9]; 213.97/145.73 4465 -> 121[label="",style="solid", color="burlywood", weight=3]; 213.97/145.73 115 -> 101[label="",style="dashed", color="red", weight=0]; 213.97/145.73 115[label="pr2F3 (primEqInt (primMinusNat vyv4000 vyv6000) (fromInt (Pos Zero))) vyv3 (primMinusNat vyv4000 vyv6000) vyv3",fontsize=16,color="magenta"];115 -> 122[label="",style="dashed", color="magenta", weight=3]; 213.97/145.73 115 -> 123[label="",style="dashed", color="magenta", weight=3]; 213.97/145.73 116 -> 102[label="",style="dashed", color="red", weight=0]; 213.97/145.73 116[label="pr2F3 (primEqInt (Pos (Succ vyv4000)) (fromInt (Pos Zero))) vyv3 (Pos (Succ vyv4000)) vyv3",fontsize=16,color="magenta"];116 -> 124[label="",style="dashed", color="magenta", weight=3]; 213.97/145.73 117[label="pr2F3 (primEqInt (Neg (Succ vyv6000)) (fromInt (Pos Zero))) vyv3 (Neg (Succ vyv6000)) vyv3",fontsize=16,color="black",shape="box"];117 -> 125[label="",style="solid", color="black", weight=3]; 213.97/145.73 118[label="pr2F3 (primEqInt (Pos Zero) (fromInt (Pos Zero))) vyv3 (Pos Zero) vyv3",fontsize=16,color="black",shape="box"];118 -> 126[label="",style="solid", color="black", weight=3]; 213.97/145.73 119 -> 3052[label="",style="dashed", color="red", weight=0]; 213.97/145.73 119[label="pr2F0 vyv3 (Pos (Succ vyv400)) vyv3",fontsize=16,color="magenta"];119 -> 3053[label="",style="dashed", color="magenta", weight=3]; 213.97/145.73 119 -> 3054[label="",style="dashed", color="magenta", weight=3]; 213.97/145.73 119 -> 3055[label="",style="dashed", color="magenta", weight=3]; 213.97/145.73 120[label="primPlusNat (Succ vyv4000) vyv600",fontsize=16,color="burlywood",shape="box"];4466[label="vyv600/Succ vyv6000",fontsize=10,color="white",style="solid",shape="box"];120 -> 4466[label="",style="solid", color="burlywood", weight=9]; 213.97/145.73 4466 -> 128[label="",style="solid", color="burlywood", weight=3]; 213.97/145.73 4467[label="vyv600/Zero",fontsize=10,color="white",style="solid",shape="box"];120 -> 4467[label="",style="solid", color="burlywood", weight=9]; 213.97/145.73 4467 -> 129[label="",style="solid", color="burlywood", weight=3]; 213.97/145.73 121[label="primPlusNat Zero vyv600",fontsize=16,color="burlywood",shape="box"];4468[label="vyv600/Succ vyv6000",fontsize=10,color="white",style="solid",shape="box"];121 -> 4468[label="",style="solid", color="burlywood", weight=9]; 213.97/145.73 4468 -> 130[label="",style="solid", color="burlywood", weight=3]; 213.97/145.73 4469[label="vyv600/Zero",fontsize=10,color="white",style="solid",shape="box"];121 -> 4469[label="",style="solid", color="burlywood", weight=9]; 213.97/145.73 4469 -> 131[label="",style="solid", color="burlywood", weight=3]; 213.97/145.73 122[label="vyv4000",fontsize=16,color="green",shape="box"];123[label="vyv6000",fontsize=16,color="green",shape="box"];124[label="vyv4000",fontsize=16,color="green",shape="box"];125[label="pr2F3 (primEqInt (Neg (Succ vyv6000)) (Pos Zero)) vyv3 (Neg (Succ vyv6000)) vyv3",fontsize=16,color="black",shape="box"];125 -> 132[label="",style="solid", color="black", weight=3]; 213.97/145.73 126[label="pr2F3 (primEqInt (Pos Zero) (Pos Zero)) vyv3 (Pos Zero) vyv3",fontsize=16,color="black",shape="box"];126 -> 133[label="",style="solid", color="black", weight=3]; 213.97/145.73 3053[label="vyv3",fontsize=16,color="green",shape="box"];3054[label="Pos (Succ vyv400)",fontsize=16,color="green",shape="box"];3055[label="vyv3",fontsize=16,color="green",shape="box"];3052[label="pr2F0 vyv184 vyv223 vyv188",fontsize=16,color="black",shape="triangle"];3052 -> 3069[label="",style="solid", color="black", weight=3]; 213.97/145.73 128[label="primPlusNat (Succ vyv4000) (Succ vyv6000)",fontsize=16,color="black",shape="box"];128 -> 135[label="",style="solid", color="black", weight=3]; 213.97/145.73 129[label="primPlusNat (Succ vyv4000) Zero",fontsize=16,color="black",shape="box"];129 -> 136[label="",style="solid", color="black", weight=3]; 213.97/145.73 130[label="primPlusNat Zero (Succ vyv6000)",fontsize=16,color="black",shape="box"];130 -> 137[label="",style="solid", color="black", weight=3]; 213.97/145.73 131[label="primPlusNat Zero Zero",fontsize=16,color="black",shape="box"];131 -> 138[label="",style="solid", color="black", weight=3]; 213.97/145.73 132[label="pr2F3 False vyv3 (Neg (Succ vyv6000)) vyv3",fontsize=16,color="black",shape="box"];132 -> 139[label="",style="solid", color="black", weight=3]; 213.97/145.73 133[label="pr2F3 True vyv3 (Pos Zero) vyv3",fontsize=16,color="black",shape="box"];133 -> 140[label="",style="solid", color="black", weight=3]; 213.97/145.73 3069[label="pr2F0G vyv188 vyv184 vyv223",fontsize=16,color="black",shape="triangle"];3069 -> 3070[label="",style="solid", color="black", weight=3]; 213.97/145.73 135[label="Succ (Succ (primPlusNat vyv4000 vyv6000))",fontsize=16,color="green",shape="box"];135 -> 142[label="",style="dashed", color="green", weight=3]; 213.97/145.73 136[label="Succ vyv4000",fontsize=16,color="green",shape="box"];137[label="Succ vyv6000",fontsize=16,color="green",shape="box"];138[label="Zero",fontsize=16,color="green",shape="box"];139 -> 3052[label="",style="dashed", color="red", weight=0]; 213.97/145.73 139[label="pr2F0 vyv3 (Neg (Succ vyv6000)) vyv3",fontsize=16,color="magenta"];139 -> 3056[label="",style="dashed", color="magenta", weight=3]; 213.97/145.73 139 -> 3057[label="",style="dashed", color="magenta", weight=3]; 213.97/145.73 139 -> 3058[label="",style="dashed", color="magenta", weight=3]; 213.97/145.73 140[label="vyv3",fontsize=16,color="green",shape="box"];3070[label="pr2F0G2 vyv188 vyv184 vyv223",fontsize=16,color="black",shape="box"];3070 -> 3071[label="",style="solid", color="black", weight=3]; 213.97/145.73 142 -> 114[label="",style="dashed", color="red", weight=0]; 213.97/145.73 142[label="primPlusNat vyv4000 vyv6000",fontsize=16,color="magenta"];142 -> 145[label="",style="dashed", color="magenta", weight=3]; 213.97/145.73 142 -> 146[label="",style="dashed", color="magenta", weight=3]; 213.97/145.73 3056[label="vyv3",fontsize=16,color="green",shape="box"];3057[label="Neg (Succ vyv6000)",fontsize=16,color="green",shape="box"];3058[label="vyv3",fontsize=16,color="green",shape="box"];3071[label="pr2F0G1 vyv188 vyv184 vyv223 (even vyv223)",fontsize=16,color="black",shape="box"];3071 -> 3072[label="",style="solid", color="black", weight=3]; 213.97/145.73 145[label="vyv4000",fontsize=16,color="green",shape="box"];146[label="vyv6000",fontsize=16,color="green",shape="box"];3072[label="pr2F0G1 vyv188 vyv184 vyv223 (primEvenInt vyv223)",fontsize=16,color="burlywood",shape="box"];4470[label="vyv223/Pos vyv2230",fontsize=10,color="white",style="solid",shape="box"];3072 -> 4470[label="",style="solid", color="burlywood", weight=9]; 213.97/145.73 4470 -> 3073[label="",style="solid", color="burlywood", weight=3]; 213.97/145.73 4471[label="vyv223/Neg vyv2230",fontsize=10,color="white",style="solid",shape="box"];3072 -> 4471[label="",style="solid", color="burlywood", weight=9]; 213.97/145.73 4471 -> 3074[label="",style="solid", color="burlywood", weight=3]; 213.97/145.73 3073[label="pr2F0G1 vyv188 vyv184 (Pos vyv2230) (primEvenInt (Pos vyv2230))",fontsize=16,color="black",shape="box"];3073 -> 3075[label="",style="solid", color="black", weight=3]; 213.97/145.73 3074[label="pr2F0G1 vyv188 vyv184 (Neg vyv2230) (primEvenInt (Neg vyv2230))",fontsize=16,color="black",shape="box"];3074 -> 3076[label="",style="solid", color="black", weight=3]; 213.97/145.73 3075[label="pr2F0G1 vyv188 vyv184 (Pos vyv2230) (primEvenNat vyv2230)",fontsize=16,color="burlywood",shape="box"];4472[label="vyv2230/Succ vyv22300",fontsize=10,color="white",style="solid",shape="box"];3075 -> 4472[label="",style="solid", color="burlywood", weight=9]; 213.97/145.73 4472 -> 3077[label="",style="solid", color="burlywood", weight=3]; 213.97/145.73 4473[label="vyv2230/Zero",fontsize=10,color="white",style="solid",shape="box"];3075 -> 4473[label="",style="solid", color="burlywood", weight=9]; 213.97/145.73 4473 -> 3078[label="",style="solid", color="burlywood", weight=3]; 213.97/145.73 3076[label="pr2F0G1 vyv188 vyv184 (Neg vyv2230) (primEvenNat vyv2230)",fontsize=16,color="burlywood",shape="box"];4474[label="vyv2230/Succ vyv22300",fontsize=10,color="white",style="solid",shape="box"];3076 -> 4474[label="",style="solid", color="burlywood", weight=9]; 213.97/145.73 4474 -> 3079[label="",style="solid", color="burlywood", weight=3]; 213.97/145.73 4475[label="vyv2230/Zero",fontsize=10,color="white",style="solid",shape="box"];3076 -> 4475[label="",style="solid", color="burlywood", weight=9]; 213.97/145.73 4475 -> 3080[label="",style="solid", color="burlywood", weight=3]; 213.97/145.73 3077[label="pr2F0G1 vyv188 vyv184 (Pos (Succ vyv22300)) (primEvenNat (Succ vyv22300))",fontsize=16,color="burlywood",shape="box"];4476[label="vyv22300/Succ vyv223000",fontsize=10,color="white",style="solid",shape="box"];3077 -> 4476[label="",style="solid", color="burlywood", weight=9]; 213.97/145.73 4476 -> 3081[label="",style="solid", color="burlywood", weight=3]; 213.97/145.73 4477[label="vyv22300/Zero",fontsize=10,color="white",style="solid",shape="box"];3077 -> 4477[label="",style="solid", color="burlywood", weight=9]; 213.97/145.73 4477 -> 3082[label="",style="solid", color="burlywood", weight=3]; 213.97/145.73 3078[label="pr2F0G1 vyv188 vyv184 (Pos Zero) (primEvenNat Zero)",fontsize=16,color="black",shape="box"];3078 -> 3083[label="",style="solid", color="black", weight=3]; 213.97/145.73 3079[label="pr2F0G1 vyv188 vyv184 (Neg (Succ vyv22300)) (primEvenNat (Succ vyv22300))",fontsize=16,color="burlywood",shape="box"];4478[label="vyv22300/Succ vyv223000",fontsize=10,color="white",style="solid",shape="box"];3079 -> 4478[label="",style="solid", color="burlywood", weight=9]; 213.97/145.73 4478 -> 3084[label="",style="solid", color="burlywood", weight=3]; 213.97/145.73 4479[label="vyv22300/Zero",fontsize=10,color="white",style="solid",shape="box"];3079 -> 4479[label="",style="solid", color="burlywood", weight=9]; 213.97/145.73 4479 -> 3085[label="",style="solid", color="burlywood", weight=3]; 213.97/145.73 3080[label="pr2F0G1 vyv188 vyv184 (Neg Zero) (primEvenNat Zero)",fontsize=16,color="black",shape="box"];3080 -> 3086[label="",style="solid", color="black", weight=3]; 213.97/145.73 3081[label="pr2F0G1 vyv188 vyv184 (Pos (Succ (Succ vyv223000))) (primEvenNat (Succ (Succ vyv223000)))",fontsize=16,color="black",shape="box"];3081 -> 3087[label="",style="solid", color="black", weight=3]; 213.97/145.73 3082[label="pr2F0G1 vyv188 vyv184 (Pos (Succ Zero)) (primEvenNat (Succ Zero))",fontsize=16,color="black",shape="box"];3082 -> 3088[label="",style="solid", color="black", weight=3]; 213.97/145.73 3083[label="pr2F0G1 vyv188 vyv184 (Pos Zero) True",fontsize=16,color="black",shape="box"];3083 -> 3089[label="",style="solid", color="black", weight=3]; 213.97/145.73 3084[label="pr2F0G1 vyv188 vyv184 (Neg (Succ (Succ vyv223000))) (primEvenNat (Succ (Succ vyv223000)))",fontsize=16,color="black",shape="box"];3084 -> 3090[label="",style="solid", color="black", weight=3]; 213.97/145.73 3085[label="pr2F0G1 vyv188 vyv184 (Neg (Succ Zero)) (primEvenNat (Succ Zero))",fontsize=16,color="black",shape="box"];3085 -> 3091[label="",style="solid", color="black", weight=3]; 213.97/145.73 3086[label="pr2F0G1 vyv188 vyv184 (Neg Zero) True",fontsize=16,color="black",shape="box"];3086 -> 3092[label="",style="solid", color="black", weight=3]; 213.97/145.73 3087 -> 3200[label="",style="dashed", color="red", weight=0]; 213.97/145.73 3087[label="pr2F0G1 vyv188 vyv184 (Pos (Succ (Succ vyv223000))) (primEvenNat vyv223000)",fontsize=16,color="magenta"];3087 -> 3201[label="",style="dashed", color="magenta", weight=3]; 213.97/145.73 3087 -> 3202[label="",style="dashed", color="magenta", weight=3]; 213.97/145.73 3087 -> 3203[label="",style="dashed", color="magenta", weight=3]; 213.97/145.73 3087 -> 3204[label="",style="dashed", color="magenta", weight=3]; 213.97/145.73 3088[label="pr2F0G1 vyv188 vyv184 (Pos (Succ Zero)) False",fontsize=16,color="black",shape="box"];3088 -> 3095[label="",style="solid", color="black", weight=3]; 213.97/145.73 3089 -> 3069[label="",style="dashed", color="red", weight=0]; 213.97/145.73 3089[label="pr2F0G vyv188 (vyv184 * vyv184) (Pos Zero `quot` fromInt (Pos (Succ (Succ Zero))))",fontsize=16,color="magenta"];3089 -> 3096[label="",style="dashed", color="magenta", weight=3]; 213.97/145.73 3089 -> 3097[label="",style="dashed", color="magenta", weight=3]; 213.97/145.73 3090 -> 3432[label="",style="dashed", color="red", weight=0]; 213.97/145.73 3090[label="pr2F0G1 vyv188 vyv184 (Neg (Succ (Succ vyv223000))) (primEvenNat vyv223000)",fontsize=16,color="magenta"];3090 -> 3433[label="",style="dashed", color="magenta", weight=3]; 213.97/145.73 3090 -> 3434[label="",style="dashed", color="magenta", weight=3]; 213.97/145.73 3090 -> 3435[label="",style="dashed", color="magenta", weight=3]; 213.97/145.73 3090 -> 3436[label="",style="dashed", color="magenta", weight=3]; 213.97/145.73 3091 -> 3228[label="",style="dashed", color="red", weight=0]; 213.97/145.73 3091[label="pr2F0G1 vyv188 vyv184 (Neg (Succ Zero)) False",fontsize=16,color="magenta"];3091 -> 3229[label="",style="dashed", color="magenta", weight=3]; 213.97/145.73 3091 -> 3230[label="",style="dashed", color="magenta", weight=3]; 213.97/145.73 3091 -> 3231[label="",style="dashed", color="magenta", weight=3]; 213.97/145.73 3092 -> 3069[label="",style="dashed", color="red", weight=0]; 213.97/145.73 3092[label="pr2F0G vyv188 (vyv184 * vyv184) (Neg Zero `quot` fromInt (Pos (Succ (Succ Zero))))",fontsize=16,color="magenta"];3092 -> 3101[label="",style="dashed", color="magenta", weight=3]; 213.97/145.73 3092 -> 3102[label="",style="dashed", color="magenta", weight=3]; 213.97/145.74 3201[label="vyv188",fontsize=16,color="green",shape="box"];3202[label="vyv223000",fontsize=16,color="green",shape="box"];3203[label="Succ vyv223000",fontsize=16,color="green",shape="box"];3204[label="vyv184",fontsize=16,color="green",shape="box"];3200[label="pr2F0G1 vyv227 vyv228 (Pos (Succ vyv229)) (primEvenNat vyv230)",fontsize=16,color="burlywood",shape="triangle"];4480[label="vyv230/Succ vyv2300",fontsize=10,color="white",style="solid",shape="box"];3200 -> 4480[label="",style="solid", color="burlywood", weight=9]; 213.97/145.74 4480 -> 3213[label="",style="solid", color="burlywood", weight=3]; 213.97/145.74 4481[label="vyv230/Zero",fontsize=10,color="white",style="solid",shape="box"];3200 -> 4481[label="",style="solid", color="burlywood", weight=9]; 213.97/145.74 4481 -> 3214[label="",style="solid", color="burlywood", weight=3]; 213.97/145.74 3095[label="pr2F0G0 vyv188 vyv184 (Pos (Succ Zero)) otherwise",fontsize=16,color="black",shape="box"];3095 -> 3106[label="",style="solid", color="black", weight=3]; 213.97/145.74 3096[label="Pos Zero `quot` fromInt (Pos (Succ (Succ Zero)))",fontsize=16,color="black",shape="box"];3096 -> 3107[label="",style="solid", color="black", weight=3]; 213.97/145.74 3097[label="vyv184 * vyv184",fontsize=16,color="blue",shape="box"];4482[label="* :: Integer -> Integer -> Integer",fontsize=10,color="white",style="solid",shape="box"];3097 -> 4482[label="",style="solid", color="blue", weight=9]; 213.97/145.74 4482 -> 3108[label="",style="solid", color="blue", weight=3]; 213.97/145.74 4483[label="* :: (Ratio a) -> (Ratio a) -> Ratio a",fontsize=10,color="white",style="solid",shape="box"];3097 -> 4483[label="",style="solid", color="blue", weight=9]; 213.97/145.74 4483 -> 3109[label="",style="solid", color="blue", weight=3]; 213.97/145.74 4484[label="* :: Double -> Double -> Double",fontsize=10,color="white",style="solid",shape="box"];3097 -> 4484[label="",style="solid", color="blue", weight=9]; 213.97/145.74 4484 -> 3110[label="",style="solid", color="blue", weight=3]; 213.97/145.74 4485[label="* :: Float -> Float -> Float",fontsize=10,color="white",style="solid",shape="box"];3097 -> 4485[label="",style="solid", color="blue", weight=9]; 213.97/145.74 4485 -> 3111[label="",style="solid", color="blue", weight=3]; 213.97/145.74 4486[label="* :: Int -> Int -> Int",fontsize=10,color="white",style="solid",shape="box"];3097 -> 4486[label="",style="solid", color="blue", weight=9]; 213.97/145.74 4486 -> 3112[label="",style="solid", color="blue", weight=3]; 213.97/145.74 3433[label="vyv184",fontsize=16,color="green",shape="box"];3434[label="vyv223000",fontsize=16,color="green",shape="box"];3435[label="vyv188",fontsize=16,color="green",shape="box"];3436[label="Succ vyv223000",fontsize=16,color="green",shape="box"];3432[label="pr2F0G1 vyv249 vyv250 (Neg (Succ vyv251)) (primEvenNat vyv252)",fontsize=16,color="burlywood",shape="triangle"];4487[label="vyv252/Succ vyv2520",fontsize=10,color="white",style="solid",shape="box"];3432 -> 4487[label="",style="solid", color="burlywood", weight=9]; 213.97/145.74 4487 -> 3453[label="",style="solid", color="burlywood", weight=3]; 213.97/145.74 4488[label="vyv252/Zero",fontsize=10,color="white",style="solid",shape="box"];3432 -> 4488[label="",style="solid", color="burlywood", weight=9]; 213.97/145.74 4488 -> 3454[label="",style="solid", color="burlywood", weight=3]; 213.97/145.74 3229[label="vyv188",fontsize=16,color="green",shape="box"];3230[label="vyv184",fontsize=16,color="green",shape="box"];3231[label="Zero",fontsize=16,color="green",shape="box"];3228[label="pr2F0G1 vyv239 vyv240 (Neg (Succ vyv241)) False",fontsize=16,color="black",shape="triangle"];3228 -> 3238[label="",style="solid", color="black", weight=3]; 213.97/145.74 3101[label="Neg Zero `quot` fromInt (Pos (Succ (Succ Zero)))",fontsize=16,color="black",shape="box"];3101 -> 3117[label="",style="solid", color="black", weight=3]; 213.97/145.74 3102[label="vyv184 * vyv184",fontsize=16,color="blue",shape="box"];4489[label="* :: Integer -> Integer -> Integer",fontsize=10,color="white",style="solid",shape="box"];3102 -> 4489[label="",style="solid", color="blue", weight=9]; 213.97/145.74 4489 -> 3118[label="",style="solid", color="blue", weight=3]; 213.97/145.74 4490[label="* :: (Ratio a) -> (Ratio a) -> Ratio a",fontsize=10,color="white",style="solid",shape="box"];3102 -> 4490[label="",style="solid", color="blue", weight=9]; 213.97/145.74 4490 -> 3119[label="",style="solid", color="blue", weight=3]; 213.97/145.74 4491[label="* :: Double -> Double -> Double",fontsize=10,color="white",style="solid",shape="box"];3102 -> 4491[label="",style="solid", color="blue", weight=9]; 213.97/145.74 4491 -> 3120[label="",style="solid", color="blue", weight=3]; 213.97/145.74 4492[label="* :: Float -> Float -> Float",fontsize=10,color="white",style="solid",shape="box"];3102 -> 4492[label="",style="solid", color="blue", weight=9]; 213.97/145.74 4492 -> 3121[label="",style="solid", color="blue", weight=3]; 213.97/145.74 4493[label="* :: Int -> Int -> Int",fontsize=10,color="white",style="solid",shape="box"];3102 -> 4493[label="",style="solid", color="blue", weight=9]; 213.97/145.74 4493 -> 3122[label="",style="solid", color="blue", weight=3]; 213.97/145.74 3213[label="pr2F0G1 vyv227 vyv228 (Pos (Succ vyv229)) (primEvenNat (Succ vyv2300))",fontsize=16,color="burlywood",shape="box"];4494[label="vyv2300/Succ vyv23000",fontsize=10,color="white",style="solid",shape="box"];3213 -> 4494[label="",style="solid", color="burlywood", weight=9]; 213.97/145.74 4494 -> 3220[label="",style="solid", color="burlywood", weight=3]; 213.97/145.74 4495[label="vyv2300/Zero",fontsize=10,color="white",style="solid",shape="box"];3213 -> 4495[label="",style="solid", color="burlywood", weight=9]; 213.97/145.74 4495 -> 3221[label="",style="solid", color="burlywood", weight=3]; 213.97/145.74 3214[label="pr2F0G1 vyv227 vyv228 (Pos (Succ vyv229)) (primEvenNat Zero)",fontsize=16,color="black",shape="box"];3214 -> 3222[label="",style="solid", color="black", weight=3]; 213.97/145.74 3106[label="pr2F0G0 vyv188 vyv184 (Pos (Succ Zero)) True",fontsize=16,color="black",shape="box"];3106 -> 3126[label="",style="solid", color="black", weight=3]; 213.97/145.74 3107 -> 3793[label="",style="dashed", color="red", weight=0]; 213.97/145.74 3107[label="primQuotInt (Pos Zero) (fromInt (Pos (Succ (Succ Zero))))",fontsize=16,color="magenta"];3107 -> 3794[label="",style="dashed", color="magenta", weight=3]; 213.97/145.74 3107 -> 3795[label="",style="dashed", color="magenta", weight=3]; 213.97/145.74 3108[label="vyv184 * vyv184",fontsize=16,color="black",shape="triangle"];3108 -> 3128[label="",style="solid", color="black", weight=3]; 213.97/145.74 3109[label="vyv184 * vyv184",fontsize=16,color="burlywood",shape="triangle"];4496[label="vyv184/vyv1840 :% vyv1841",fontsize=10,color="white",style="solid",shape="box"];3109 -> 4496[label="",style="solid", color="burlywood", weight=9]; 213.97/145.74 4496 -> 3129[label="",style="solid", color="burlywood", weight=3]; 213.97/145.74 3110[label="vyv184 * vyv184",fontsize=16,color="black",shape="triangle"];3110 -> 3130[label="",style="solid", color="black", weight=3]; 213.97/145.74 3111[label="vyv184 * vyv184",fontsize=16,color="black",shape="triangle"];3111 -> 3131[label="",style="solid", color="black", weight=3]; 213.97/145.74 3112[label="vyv184 * vyv184",fontsize=16,color="black",shape="triangle"];3112 -> 3132[label="",style="solid", color="black", weight=3]; 213.97/145.74 3453[label="pr2F0G1 vyv249 vyv250 (Neg (Succ vyv251)) (primEvenNat (Succ vyv2520))",fontsize=16,color="burlywood",shape="box"];4497[label="vyv2520/Succ vyv25200",fontsize=10,color="white",style="solid",shape="box"];3453 -> 4497[label="",style="solid", color="burlywood", weight=9]; 213.97/145.74 4497 -> 3496[label="",style="solid", color="burlywood", weight=3]; 213.97/145.74 4498[label="vyv2520/Zero",fontsize=10,color="white",style="solid",shape="box"];3453 -> 4498[label="",style="solid", color="burlywood", weight=9]; 213.97/145.74 4498 -> 3497[label="",style="solid", color="burlywood", weight=3]; 213.97/145.74 3454[label="pr2F0G1 vyv249 vyv250 (Neg (Succ vyv251)) (primEvenNat Zero)",fontsize=16,color="black",shape="box"];3454 -> 3498[label="",style="solid", color="black", weight=3]; 213.97/145.74 3238[label="pr2F0G0 vyv239 vyv240 (Neg (Succ vyv241)) otherwise",fontsize=16,color="black",shape="box"];3238 -> 3255[label="",style="solid", color="black", weight=3]; 213.97/145.74 3117 -> 3830[label="",style="dashed", color="red", weight=0]; 213.97/145.74 3117[label="primQuotInt (Neg Zero) (fromInt (Pos (Succ (Succ Zero))))",fontsize=16,color="magenta"];3117 -> 3831[label="",style="dashed", color="magenta", weight=3]; 213.97/145.74 3117 -> 3832[label="",style="dashed", color="magenta", weight=3]; 213.97/145.74 3118 -> 3108[label="",style="dashed", color="red", weight=0]; 213.97/145.74 3118[label="vyv184 * vyv184",fontsize=16,color="magenta"];3119 -> 3109[label="",style="dashed", color="red", weight=0]; 213.97/145.74 3119[label="vyv184 * vyv184",fontsize=16,color="magenta"];3120 -> 3110[label="",style="dashed", color="red", weight=0]; 213.97/145.74 3120[label="vyv184 * vyv184",fontsize=16,color="magenta"];3121 -> 3111[label="",style="dashed", color="red", weight=0]; 213.97/145.74 3121[label="vyv184 * vyv184",fontsize=16,color="magenta"];3122 -> 3112[label="",style="dashed", color="red", weight=0]; 213.97/145.74 3122[label="vyv184 * vyv184",fontsize=16,color="magenta"];3220[label="pr2F0G1 vyv227 vyv228 (Pos (Succ vyv229)) (primEvenNat (Succ (Succ vyv23000)))",fontsize=16,color="black",shape="box"];3220 -> 3239[label="",style="solid", color="black", weight=3]; 213.97/145.74 3221[label="pr2F0G1 vyv227 vyv228 (Pos (Succ vyv229)) (primEvenNat (Succ Zero))",fontsize=16,color="black",shape="box"];3221 -> 3240[label="",style="solid", color="black", weight=3]; 213.97/145.74 3222[label="pr2F0G1 vyv227 vyv228 (Pos (Succ vyv229)) True",fontsize=16,color="black",shape="box"];3222 -> 3241[label="",style="solid", color="black", weight=3]; 213.97/145.74 3126 -> 3308[label="",style="dashed", color="red", weight=0]; 213.97/145.74 3126[label="pr2F vyv184 (Pos (Succ Zero) - fromInt (Pos (Succ Zero))) (vyv184 * vyv188)",fontsize=16,color="magenta"];3126 -> 3309[label="",style="dashed", color="magenta", weight=3]; 213.97/145.74 3126 -> 3310[label="",style="dashed", color="magenta", weight=3]; 213.97/145.74 3126 -> 3311[label="",style="dashed", color="magenta", weight=3]; 213.97/145.74 3126 -> 3312[label="",style="dashed", color="magenta", weight=3]; 213.97/145.74 3794[label="Zero",fontsize=16,color="green",shape="box"];3795[label="fromInt (Pos (Succ (Succ Zero)))",fontsize=16,color="black",shape="triangle"];3795 -> 3818[label="",style="solid", color="black", weight=3]; 213.97/145.74 3793[label="primQuotInt (Pos vyv2710) vyv285",fontsize=16,color="burlywood",shape="triangle"];4499[label="vyv285/Pos vyv2850",fontsize=10,color="white",style="solid",shape="box"];3793 -> 4499[label="",style="solid", color="burlywood", weight=9]; 213.97/145.74 4499 -> 3819[label="",style="solid", color="burlywood", weight=3]; 213.97/145.74 4500[label="vyv285/Neg vyv2850",fontsize=10,color="white",style="solid",shape="box"];3793 -> 4500[label="",style="solid", color="burlywood", weight=9]; 213.97/145.74 4500 -> 3820[label="",style="solid", color="burlywood", weight=3]; 213.97/145.74 3128[label="error []",fontsize=16,color="red",shape="box"];3129[label="vyv1840 :% vyv1841 * (vyv1840 :% vyv1841)",fontsize=16,color="black",shape="box"];3129 -> 3146[label="",style="solid", color="black", weight=3]; 213.97/145.74 3130[label="error []",fontsize=16,color="red",shape="box"];3131[label="error []",fontsize=16,color="red",shape="box"];3132[label="primMulInt vyv184 vyv184",fontsize=16,color="burlywood",shape="box"];4501[label="vyv184/Pos vyv1840",fontsize=10,color="white",style="solid",shape="box"];3132 -> 4501[label="",style="solid", color="burlywood", weight=9]; 213.97/145.74 4501 -> 3147[label="",style="solid", color="burlywood", weight=3]; 213.97/145.74 4502[label="vyv184/Neg vyv1840",fontsize=10,color="white",style="solid",shape="box"];3132 -> 4502[label="",style="solid", color="burlywood", weight=9]; 213.97/145.74 4502 -> 3148[label="",style="solid", color="burlywood", weight=3]; 213.97/145.74 3496[label="pr2F0G1 vyv249 vyv250 (Neg (Succ vyv251)) (primEvenNat (Succ (Succ vyv25200)))",fontsize=16,color="black",shape="box"];3496 -> 3526[label="",style="solid", color="black", weight=3]; 213.97/145.74 3497[label="pr2F0G1 vyv249 vyv250 (Neg (Succ vyv251)) (primEvenNat (Succ Zero))",fontsize=16,color="black",shape="box"];3497 -> 3527[label="",style="solid", color="black", weight=3]; 213.97/145.74 3498[label="pr2F0G1 vyv249 vyv250 (Neg (Succ vyv251)) True",fontsize=16,color="black",shape="box"];3498 -> 3528[label="",style="solid", color="black", weight=3]; 213.97/145.74 3255[label="pr2F0G0 vyv239 vyv240 (Neg (Succ vyv241)) True",fontsize=16,color="black",shape="box"];3255 -> 3272[label="",style="solid", color="black", weight=3]; 213.97/145.74 3831 -> 3795[label="",style="dashed", color="red", weight=0]; 213.97/145.74 3831[label="fromInt (Pos (Succ (Succ Zero)))",fontsize=16,color="magenta"];3832[label="Zero",fontsize=16,color="green",shape="box"];3830[label="primQuotInt (Neg vyv2710) vyv288",fontsize=16,color="burlywood",shape="triangle"];4503[label="vyv288/Pos vyv2880",fontsize=10,color="white",style="solid",shape="box"];3830 -> 4503[label="",style="solid", color="burlywood", weight=9]; 213.97/145.74 4503 -> 3855[label="",style="solid", color="burlywood", weight=3]; 213.97/145.74 4504[label="vyv288/Neg vyv2880",fontsize=10,color="white",style="solid",shape="box"];3830 -> 4504[label="",style="solid", color="burlywood", weight=9]; 213.97/145.74 4504 -> 3856[label="",style="solid", color="burlywood", weight=3]; 213.97/145.74 3239 -> 3200[label="",style="dashed", color="red", weight=0]; 213.97/145.74 3239[label="pr2F0G1 vyv227 vyv228 (Pos (Succ vyv229)) (primEvenNat vyv23000)",fontsize=16,color="magenta"];3239 -> 3256[label="",style="dashed", color="magenta", weight=3]; 213.97/145.74 3240[label="pr2F0G1 vyv227 vyv228 (Pos (Succ vyv229)) False",fontsize=16,color="black",shape="box"];3240 -> 3257[label="",style="solid", color="black", weight=3]; 213.97/145.74 3241 -> 3069[label="",style="dashed", color="red", weight=0]; 213.97/145.74 3241[label="pr2F0G vyv227 (vyv228 * vyv228) (Pos (Succ vyv229) `quot` fromInt (Pos (Succ (Succ Zero))))",fontsize=16,color="magenta"];3241 -> 3258[label="",style="dashed", color="magenta", weight=3]; 213.97/145.74 3241 -> 3259[label="",style="dashed", color="magenta", weight=3]; 213.97/145.74 3241 -> 3260[label="",style="dashed", color="magenta", weight=3]; 213.97/145.74 3309[label="vyv188",fontsize=16,color="green",shape="box"];3310 -> 75[label="",style="dashed", color="red", weight=0]; 213.97/145.74 3310[label="fromInt (Pos (Succ Zero))",fontsize=16,color="magenta"];3311[label="Zero",fontsize=16,color="green",shape="box"];3312[label="vyv184",fontsize=16,color="green",shape="box"];3308[label="pr2F vyv228 (Pos (Succ vyv229) - vyv245) (vyv228 * vyv227)",fontsize=16,color="black",shape="triangle"];3308 -> 3318[label="",style="solid", color="black", weight=3]; 213.97/145.74 3818[label="Pos (Succ (Succ Zero))",fontsize=16,color="green",shape="box"];3819[label="primQuotInt (Pos vyv2710) (Pos vyv2850)",fontsize=16,color="burlywood",shape="box"];4505[label="vyv2850/Succ vyv28500",fontsize=10,color="white",style="solid",shape="box"];3819 -> 4505[label="",style="solid", color="burlywood", weight=9]; 213.97/145.74 4505 -> 3825[label="",style="solid", color="burlywood", weight=3]; 213.97/145.74 4506[label="vyv2850/Zero",fontsize=10,color="white",style="solid",shape="box"];3819 -> 4506[label="",style="solid", color="burlywood", weight=9]; 213.97/145.74 4506 -> 3826[label="",style="solid", color="burlywood", weight=3]; 213.97/145.74 3820[label="primQuotInt (Pos vyv2710) (Neg vyv2850)",fontsize=16,color="burlywood",shape="box"];4507[label="vyv2850/Succ vyv28500",fontsize=10,color="white",style="solid",shape="box"];3820 -> 4507[label="",style="solid", color="burlywood", weight=9]; 213.97/145.74 4507 -> 3827[label="",style="solid", color="burlywood", weight=3]; 213.97/145.74 4508[label="vyv2850/Zero",fontsize=10,color="white",style="solid",shape="box"];3820 -> 4508[label="",style="solid", color="burlywood", weight=9]; 213.97/145.74 4508 -> 3828[label="",style="solid", color="burlywood", weight=3]; 213.97/145.74 3146[label="reduce (vyv1840 * vyv1840) (vyv1841 * vyv1841)",fontsize=16,color="black",shape="box"];3146 -> 3169[label="",style="solid", color="black", weight=3]; 213.97/145.74 3147[label="primMulInt (Pos vyv1840) (Pos vyv1840)",fontsize=16,color="black",shape="box"];3147 -> 3170[label="",style="solid", color="black", weight=3]; 213.97/145.74 3148[label="primMulInt (Neg vyv1840) (Neg vyv1840)",fontsize=16,color="black",shape="box"];3148 -> 3171[label="",style="solid", color="black", weight=3]; 213.97/145.74 3526 -> 3432[label="",style="dashed", color="red", weight=0]; 213.97/145.74 3526[label="pr2F0G1 vyv249 vyv250 (Neg (Succ vyv251)) (primEvenNat vyv25200)",fontsize=16,color="magenta"];3526 -> 3564[label="",style="dashed", color="magenta", weight=3]; 213.97/145.74 3527 -> 3228[label="",style="dashed", color="red", weight=0]; 213.97/145.74 3527[label="pr2F0G1 vyv249 vyv250 (Neg (Succ vyv251)) False",fontsize=16,color="magenta"];3527 -> 3565[label="",style="dashed", color="magenta", weight=3]; 213.97/145.74 3527 -> 3566[label="",style="dashed", color="magenta", weight=3]; 213.97/145.74 3527 -> 3567[label="",style="dashed", color="magenta", weight=3]; 213.97/145.74 3528 -> 3069[label="",style="dashed", color="red", weight=0]; 213.97/145.74 3528[label="pr2F0G vyv249 (vyv250 * vyv250) (Neg (Succ vyv251) `quot` fromInt (Pos (Succ (Succ Zero))))",fontsize=16,color="magenta"];3528 -> 3568[label="",style="dashed", color="magenta", weight=3]; 213.97/145.74 3528 -> 3569[label="",style="dashed", color="magenta", weight=3]; 213.97/145.74 3528 -> 3570[label="",style="dashed", color="magenta", weight=3]; 213.97/145.74 3272 -> 3282[label="",style="dashed", color="red", weight=0]; 213.97/145.74 3272[label="pr2F vyv240 (Neg (Succ vyv241) - fromInt (Pos (Succ Zero))) (vyv240 * vyv239)",fontsize=16,color="magenta"];3272 -> 3283[label="",style="dashed", color="magenta", weight=3]; 213.97/145.74 3855[label="primQuotInt (Neg vyv2710) (Pos vyv2880)",fontsize=16,color="burlywood",shape="box"];4509[label="vyv2880/Succ vyv28800",fontsize=10,color="white",style="solid",shape="box"];3855 -> 4509[label="",style="solid", color="burlywood", weight=9]; 213.97/145.74 4509 -> 3863[label="",style="solid", color="burlywood", weight=3]; 213.97/145.74 4510[label="vyv2880/Zero",fontsize=10,color="white",style="solid",shape="box"];3855 -> 4510[label="",style="solid", color="burlywood", weight=9]; 213.97/145.74 4510 -> 3864[label="",style="solid", color="burlywood", weight=3]; 213.97/145.74 3856[label="primQuotInt (Neg vyv2710) (Neg vyv2880)",fontsize=16,color="burlywood",shape="box"];4511[label="vyv2880/Succ vyv28800",fontsize=10,color="white",style="solid",shape="box"];3856 -> 4511[label="",style="solid", color="burlywood", weight=9]; 213.97/145.74 4511 -> 3865[label="",style="solid", color="burlywood", weight=3]; 213.97/145.74 4512[label="vyv2880/Zero",fontsize=10,color="white",style="solid",shape="box"];3856 -> 4512[label="",style="solid", color="burlywood", weight=9]; 213.97/145.74 4512 -> 3866[label="",style="solid", color="burlywood", weight=3]; 213.97/145.74 3256[label="vyv23000",fontsize=16,color="green",shape="box"];3257[label="pr2F0G0 vyv227 vyv228 (Pos (Succ vyv229)) otherwise",fontsize=16,color="black",shape="box"];3257 -> 3273[label="",style="solid", color="black", weight=3]; 213.97/145.74 3258[label="vyv227",fontsize=16,color="green",shape="box"];3259[label="Pos (Succ vyv229) `quot` fromInt (Pos (Succ (Succ Zero)))",fontsize=16,color="black",shape="box"];3259 -> 3274[label="",style="solid", color="black", weight=3]; 213.97/145.74 3260[label="vyv228 * vyv228",fontsize=16,color="blue",shape="box"];4513[label="* :: Integer -> Integer -> Integer",fontsize=10,color="white",style="solid",shape="box"];3260 -> 4513[label="",style="solid", color="blue", weight=9]; 213.97/145.74 4513 -> 3275[label="",style="solid", color="blue", weight=3]; 213.97/145.74 4514[label="* :: (Ratio a) -> (Ratio a) -> Ratio a",fontsize=10,color="white",style="solid",shape="box"];3260 -> 4514[label="",style="solid", color="blue", weight=9]; 213.97/145.74 4514 -> 3276[label="",style="solid", color="blue", weight=3]; 213.97/145.74 4515[label="* :: Double -> Double -> Double",fontsize=10,color="white",style="solid",shape="box"];3260 -> 4515[label="",style="solid", color="blue", weight=9]; 213.97/145.74 4515 -> 3277[label="",style="solid", color="blue", weight=3]; 213.97/145.74 4516[label="* :: Float -> Float -> Float",fontsize=10,color="white",style="solid",shape="box"];3260 -> 4516[label="",style="solid", color="blue", weight=9]; 213.97/145.74 4516 -> 3278[label="",style="solid", color="blue", weight=3]; 213.97/145.74 4517[label="* :: Int -> Int -> Int",fontsize=10,color="white",style="solid",shape="box"];3260 -> 4517[label="",style="solid", color="blue", weight=9]; 213.97/145.74 4517 -> 3279[label="",style="solid", color="blue", weight=3]; 213.97/145.74 3318[label="pr2F4 vyv228 (Pos (Succ vyv229) - vyv245) (vyv228 * vyv227)",fontsize=16,color="black",shape="box"];3318 -> 3322[label="",style="solid", color="black", weight=3]; 213.97/145.74 3825[label="primQuotInt (Pos vyv2710) (Pos (Succ vyv28500))",fontsize=16,color="black",shape="box"];3825 -> 3857[label="",style="solid", color="black", weight=3]; 213.97/145.74 3826[label="primQuotInt (Pos vyv2710) (Pos Zero)",fontsize=16,color="black",shape="box"];3826 -> 3858[label="",style="solid", color="black", weight=3]; 213.97/145.74 3827[label="primQuotInt (Pos vyv2710) (Neg (Succ vyv28500))",fontsize=16,color="black",shape="box"];3827 -> 3859[label="",style="solid", color="black", weight=3]; 213.97/145.74 3828[label="primQuotInt (Pos vyv2710) (Neg Zero)",fontsize=16,color="black",shape="box"];3828 -> 3860[label="",style="solid", color="black", weight=3]; 213.97/145.74 3169[label="reduce2 (vyv1840 * vyv1840) (vyv1841 * vyv1841)",fontsize=16,color="black",shape="box"];3169 -> 3191[label="",style="solid", color="black", weight=3]; 213.97/145.74 3170[label="Pos (primMulNat vyv1840 vyv1840)",fontsize=16,color="green",shape="box"];3170 -> 3192[label="",style="dashed", color="green", weight=3]; 213.97/145.74 3171[label="Pos (primMulNat vyv1840 vyv1840)",fontsize=16,color="green",shape="box"];3171 -> 3193[label="",style="dashed", color="green", weight=3]; 213.97/145.74 3564[label="vyv25200",fontsize=16,color="green",shape="box"];3565[label="vyv249",fontsize=16,color="green",shape="box"];3566[label="vyv250",fontsize=16,color="green",shape="box"];3567[label="vyv251",fontsize=16,color="green",shape="box"];3568[label="vyv249",fontsize=16,color="green",shape="box"];3569[label="Neg (Succ vyv251) `quot` fromInt (Pos (Succ (Succ Zero)))",fontsize=16,color="black",shape="box"];3569 -> 3586[label="",style="solid", color="black", weight=3]; 213.97/145.74 3570[label="vyv250 * vyv250",fontsize=16,color="blue",shape="box"];4518[label="* :: Integer -> Integer -> Integer",fontsize=10,color="white",style="solid",shape="box"];3570 -> 4518[label="",style="solid", color="blue", weight=9]; 213.97/145.74 4518 -> 3587[label="",style="solid", color="blue", weight=3]; 213.97/145.75 4519[label="* :: (Ratio a) -> (Ratio a) -> Ratio a",fontsize=10,color="white",style="solid",shape="box"];3570 -> 4519[label="",style="solid", color="blue", weight=9]; 213.97/145.75 4519 -> 3588[label="",style="solid", color="blue", weight=3]; 213.97/145.75 4520[label="* :: Double -> Double -> Double",fontsize=10,color="white",style="solid",shape="box"];3570 -> 4520[label="",style="solid", color="blue", weight=9]; 213.97/145.75 4520 -> 3589[label="",style="solid", color="blue", weight=3]; 213.97/145.75 4521[label="* :: Float -> Float -> Float",fontsize=10,color="white",style="solid",shape="box"];3570 -> 4521[label="",style="solid", color="blue", weight=9]; 213.97/145.75 4521 -> 3590[label="",style="solid", color="blue", weight=3]; 213.97/145.75 4522[label="* :: Int -> Int -> Int",fontsize=10,color="white",style="solid",shape="box"];3570 -> 4522[label="",style="solid", color="blue", weight=9]; 213.97/145.75 4522 -> 3591[label="",style="solid", color="blue", weight=3]; 213.97/145.75 3283 -> 75[label="",style="dashed", color="red", weight=0]; 213.97/145.75 3283[label="fromInt (Pos (Succ Zero))",fontsize=16,color="magenta"];3282[label="pr2F vyv240 (Neg (Succ vyv241) - vyv244) (vyv240 * vyv239)",fontsize=16,color="black",shape="triangle"];3282 -> 3284[label="",style="solid", color="black", weight=3]; 213.97/145.75 3863[label="primQuotInt (Neg vyv2710) (Pos (Succ vyv28800))",fontsize=16,color="black",shape="box"];3863 -> 3873[label="",style="solid", color="black", weight=3]; 213.97/145.75 3864[label="primQuotInt (Neg vyv2710) (Pos Zero)",fontsize=16,color="black",shape="box"];3864 -> 3874[label="",style="solid", color="black", weight=3]; 213.97/145.75 3865[label="primQuotInt (Neg vyv2710) (Neg (Succ vyv28800))",fontsize=16,color="black",shape="box"];3865 -> 3875[label="",style="solid", color="black", weight=3]; 213.97/145.75 3866[label="primQuotInt (Neg vyv2710) (Neg Zero)",fontsize=16,color="black",shape="box"];3866 -> 3876[label="",style="solid", color="black", weight=3]; 213.97/145.75 3273[label="pr2F0G0 vyv227 vyv228 (Pos (Succ vyv229)) True",fontsize=16,color="black",shape="box"];3273 -> 3285[label="",style="solid", color="black", weight=3]; 213.97/145.75 3274 -> 3793[label="",style="dashed", color="red", weight=0]; 213.97/145.75 3274[label="primQuotInt (Pos (Succ vyv229)) (fromInt (Pos (Succ (Succ Zero))))",fontsize=16,color="magenta"];3274 -> 3798[label="",style="dashed", color="magenta", weight=3]; 213.97/145.75 3274 -> 3799[label="",style="dashed", color="magenta", weight=3]; 213.97/145.75 3275 -> 3108[label="",style="dashed", color="red", weight=0]; 213.97/145.75 3275[label="vyv228 * vyv228",fontsize=16,color="magenta"];3275 -> 3287[label="",style="dashed", color="magenta", weight=3]; 213.97/145.75 3276 -> 3109[label="",style="dashed", color="red", weight=0]; 213.97/145.75 3276[label="vyv228 * vyv228",fontsize=16,color="magenta"];3276 -> 3288[label="",style="dashed", color="magenta", weight=3]; 213.97/145.75 3277 -> 3110[label="",style="dashed", color="red", weight=0]; 213.97/145.75 3277[label="vyv228 * vyv228",fontsize=16,color="magenta"];3277 -> 3289[label="",style="dashed", color="magenta", weight=3]; 213.97/145.75 3278 -> 3111[label="",style="dashed", color="red", weight=0]; 213.97/145.75 3278[label="vyv228 * vyv228",fontsize=16,color="magenta"];3278 -> 3290[label="",style="dashed", color="magenta", weight=3]; 213.97/145.75 3279 -> 3112[label="",style="dashed", color="red", weight=0]; 213.97/145.75 3279[label="vyv228 * vyv228",fontsize=16,color="magenta"];3279 -> 3291[label="",style="dashed", color="magenta", weight=3]; 213.97/145.75 3322 -> 3343[label="",style="dashed", color="red", weight=0]; 213.97/145.75 3322[label="pr2F3 (Pos (Succ vyv229) - vyv245 == fromInt (Pos Zero)) vyv228 (Pos (Succ vyv229) - vyv245) (vyv228 * vyv227)",fontsize=16,color="magenta"];3322 -> 3344[label="",style="dashed", color="magenta", weight=3]; 213.97/145.75 3857[label="Pos (primDivNatS vyv2710 (Succ vyv28500))",fontsize=16,color="green",shape="box"];3857 -> 3867[label="",style="dashed", color="green", weight=3]; 213.97/145.75 3858[label="error []",fontsize=16,color="black",shape="triangle"];3858 -> 3868[label="",style="solid", color="black", weight=3]; 213.97/145.75 3859[label="Neg (primDivNatS vyv2710 (Succ vyv28500))",fontsize=16,color="green",shape="box"];3859 -> 3869[label="",style="dashed", color="green", weight=3]; 213.97/145.75 3860 -> 3858[label="",style="dashed", color="red", weight=0]; 213.97/145.75 3860[label="error []",fontsize=16,color="magenta"];3191 -> 3600[label="",style="dashed", color="red", weight=0]; 213.97/145.75 3191[label="reduce2Reduce1 (vyv1840 * vyv1840) (vyv1841 * vyv1841) (vyv1840 * vyv1840) (vyv1841 * vyv1841) (vyv1841 * vyv1841 == fromInt (Pos Zero))",fontsize=16,color="magenta"];3191 -> 3601[label="",style="dashed", color="magenta", weight=3]; 213.97/145.75 3191 -> 3602[label="",style="dashed", color="magenta", weight=3]; 213.97/145.75 3191 -> 3603[label="",style="dashed", color="magenta", weight=3]; 213.97/145.75 3191 -> 3604[label="",style="dashed", color="magenta", weight=3]; 213.97/145.75 3191 -> 3605[label="",style="dashed", color="magenta", weight=3]; 213.97/145.75 3192[label="primMulNat vyv1840 vyv1840",fontsize=16,color="burlywood",shape="triangle"];4523[label="vyv1840/Succ vyv18400",fontsize=10,color="white",style="solid",shape="box"];3192 -> 4523[label="",style="solid", color="burlywood", weight=9]; 213.97/145.75 4523 -> 3223[label="",style="solid", color="burlywood", weight=3]; 213.97/145.75 4524[label="vyv1840/Zero",fontsize=10,color="white",style="solid",shape="box"];3192 -> 4524[label="",style="solid", color="burlywood", weight=9]; 213.97/145.75 4524 -> 3224[label="",style="solid", color="burlywood", weight=3]; 213.97/145.75 3193 -> 3192[label="",style="dashed", color="red", weight=0]; 213.97/145.75 3193[label="primMulNat vyv1840 vyv1840",fontsize=16,color="magenta"];3193 -> 3225[label="",style="dashed", color="magenta", weight=3]; 213.97/145.75 3586 -> 3830[label="",style="dashed", color="red", weight=0]; 213.97/145.75 3586[label="primQuotInt (Neg (Succ vyv251)) (fromInt (Pos (Succ (Succ Zero))))",fontsize=16,color="magenta"];3586 -> 3835[label="",style="dashed", color="magenta", weight=3]; 213.97/145.75 3586 -> 3836[label="",style="dashed", color="magenta", weight=3]; 213.97/145.75 3587 -> 3108[label="",style="dashed", color="red", weight=0]; 213.97/145.75 3587[label="vyv250 * vyv250",fontsize=16,color="magenta"];3587 -> 3617[label="",style="dashed", color="magenta", weight=3]; 213.97/145.75 3588 -> 3109[label="",style="dashed", color="red", weight=0]; 213.97/145.75 3588[label="vyv250 * vyv250",fontsize=16,color="magenta"];3588 -> 3618[label="",style="dashed", color="magenta", weight=3]; 213.97/145.75 3589 -> 3110[label="",style="dashed", color="red", weight=0]; 213.97/145.75 3589[label="vyv250 * vyv250",fontsize=16,color="magenta"];3589 -> 3619[label="",style="dashed", color="magenta", weight=3]; 213.97/145.75 3590 -> 3111[label="",style="dashed", color="red", weight=0]; 213.97/145.75 3590[label="vyv250 * vyv250",fontsize=16,color="magenta"];3590 -> 3620[label="",style="dashed", color="magenta", weight=3]; 213.97/145.75 3591 -> 3112[label="",style="dashed", color="red", weight=0]; 213.97/145.75 3591[label="vyv250 * vyv250",fontsize=16,color="magenta"];3591 -> 3621[label="",style="dashed", color="magenta", weight=3]; 213.97/145.75 3284[label="pr2F4 vyv240 (Neg (Succ vyv241) - vyv244) (vyv240 * vyv239)",fontsize=16,color="black",shape="box"];3284 -> 3307[label="",style="solid", color="black", weight=3]; 213.97/145.75 3873[label="Neg (primDivNatS vyv2710 (Succ vyv28800))",fontsize=16,color="green",shape="box"];3873 -> 3882[label="",style="dashed", color="green", weight=3]; 213.97/145.75 3874 -> 3858[label="",style="dashed", color="red", weight=0]; 213.97/145.75 3874[label="error []",fontsize=16,color="magenta"];3875[label="Pos (primDivNatS vyv2710 (Succ vyv28800))",fontsize=16,color="green",shape="box"];3875 -> 3883[label="",style="dashed", color="green", weight=3]; 213.97/145.75 3876 -> 3858[label="",style="dashed", color="red", weight=0]; 213.97/145.75 3876[label="error []",fontsize=16,color="magenta"];3285 -> 3308[label="",style="dashed", color="red", weight=0]; 213.97/145.75 3285[label="pr2F vyv228 (Pos (Succ vyv229) - fromInt (Pos (Succ Zero))) (vyv228 * vyv227)",fontsize=16,color="magenta"];3285 -> 3317[label="",style="dashed", color="magenta", weight=3]; 213.97/145.75 3798[label="Succ vyv229",fontsize=16,color="green",shape="box"];3799 -> 3795[label="",style="dashed", color="red", weight=0]; 213.97/145.75 3799[label="fromInt (Pos (Succ (Succ Zero)))",fontsize=16,color="magenta"];3287[label="vyv228",fontsize=16,color="green",shape="box"];3288[label="vyv228",fontsize=16,color="green",shape="box"];3289[label="vyv228",fontsize=16,color="green",shape="box"];3290[label="vyv228",fontsize=16,color="green",shape="box"];3291[label="vyv228",fontsize=16,color="green",shape="box"];3344 -> 3280[label="",style="dashed", color="red", weight=0]; 213.97/145.75 3344[label="Pos (Succ vyv229) - vyv245 == fromInt (Pos Zero)",fontsize=16,color="magenta"];3344 -> 3345[label="",style="dashed", color="magenta", weight=3]; 213.97/145.75 3343[label="pr2F3 vyv247 vyv228 (Pos (Succ vyv229) - vyv245) (vyv228 * vyv227)",fontsize=16,color="burlywood",shape="triangle"];4525[label="vyv247/False",fontsize=10,color="white",style="solid",shape="box"];3343 -> 4525[label="",style="solid", color="burlywood", weight=9]; 213.97/145.75 4525 -> 3346[label="",style="solid", color="burlywood", weight=3]; 213.97/145.75 4526[label="vyv247/True",fontsize=10,color="white",style="solid",shape="box"];3343 -> 4526[label="",style="solid", color="burlywood", weight=9]; 213.97/145.75 4526 -> 3347[label="",style="solid", color="burlywood", weight=3]; 213.97/145.75 3867[label="primDivNatS vyv2710 (Succ vyv28500)",fontsize=16,color="burlywood",shape="triangle"];4527[label="vyv2710/Succ vyv27100",fontsize=10,color="white",style="solid",shape="box"];3867 -> 4527[label="",style="solid", color="burlywood", weight=9]; 213.97/145.75 4527 -> 3877[label="",style="solid", color="burlywood", weight=3]; 213.97/145.75 4528[label="vyv2710/Zero",fontsize=10,color="white",style="solid",shape="box"];3867 -> 4528[label="",style="solid", color="burlywood", weight=9]; 213.97/145.75 4528 -> 3878[label="",style="solid", color="burlywood", weight=3]; 213.97/145.75 3868[label="error []",fontsize=16,color="red",shape="box"];3869 -> 3867[label="",style="dashed", color="red", weight=0]; 213.97/145.75 3869[label="primDivNatS vyv2710 (Succ vyv28500)",fontsize=16,color="magenta"];3869 -> 3879[label="",style="dashed", color="magenta", weight=3]; 213.97/145.75 3601[label="vyv1841",fontsize=16,color="green",shape="box"];3602[label="vyv1841 * vyv1841 == fromInt (Pos Zero)",fontsize=16,color="blue",shape="box"];4529[label="== :: Integer -> Integer -> Bool",fontsize=10,color="white",style="solid",shape="box"];3602 -> 4529[label="",style="solid", color="blue", weight=9]; 213.97/145.75 4529 -> 3622[label="",style="solid", color="blue", weight=3]; 213.97/145.75 4530[label="== :: Int -> Int -> Bool",fontsize=10,color="white",style="solid",shape="box"];3602 -> 4530[label="",style="solid", color="blue", weight=9]; 213.97/145.75 4530 -> 3623[label="",style="solid", color="blue", weight=3]; 213.97/145.75 3603[label="vyv1841",fontsize=16,color="green",shape="box"];3604[label="vyv1840",fontsize=16,color="green",shape="box"];3605[label="vyv1840",fontsize=16,color="green",shape="box"];3600[label="reduce2Reduce1 (vyv265 * vyv266) (vyv267 * vyv268) (vyv265 * vyv266) (vyv267 * vyv268) vyv269",fontsize=16,color="burlywood",shape="triangle"];4531[label="vyv269/False",fontsize=10,color="white",style="solid",shape="box"];3600 -> 4531[label="",style="solid", color="burlywood", weight=9]; 213.97/145.75 4531 -> 3624[label="",style="solid", color="burlywood", weight=3]; 213.97/145.75 4532[label="vyv269/True",fontsize=10,color="white",style="solid",shape="box"];3600 -> 4532[label="",style="solid", color="burlywood", weight=9]; 213.97/145.75 4532 -> 3625[label="",style="solid", color="burlywood", weight=3]; 213.97/145.75 3223[label="primMulNat (Succ vyv18400) (Succ vyv18400)",fontsize=16,color="black",shape="box"];3223 -> 3250[label="",style="solid", color="black", weight=3]; 213.97/145.75 3224[label="primMulNat Zero Zero",fontsize=16,color="black",shape="box"];3224 -> 3251[label="",style="solid", color="black", weight=3]; 213.97/145.75 3225[label="vyv1840",fontsize=16,color="green",shape="box"];3835 -> 3795[label="",style="dashed", color="red", weight=0]; 213.97/145.75 3835[label="fromInt (Pos (Succ (Succ Zero)))",fontsize=16,color="magenta"];3836[label="Succ vyv251",fontsize=16,color="green",shape="box"];3617[label="vyv250",fontsize=16,color="green",shape="box"];3618[label="vyv250",fontsize=16,color="green",shape="box"];3619[label="vyv250",fontsize=16,color="green",shape="box"];3620[label="vyv250",fontsize=16,color="green",shape="box"];3621[label="vyv250",fontsize=16,color="green",shape="box"];3307 -> 3320[label="",style="dashed", color="red", weight=0]; 213.97/145.75 3307[label="pr2F3 (Neg (Succ vyv241) - vyv244 == fromInt (Pos Zero)) vyv240 (Neg (Succ vyv241) - vyv244) (vyv240 * vyv239)",fontsize=16,color="magenta"];3307 -> 3321[label="",style="dashed", color="magenta", weight=3]; 213.97/145.75 3882 -> 3867[label="",style="dashed", color="red", weight=0]; 213.97/145.75 3882[label="primDivNatS vyv2710 (Succ vyv28800)",fontsize=16,color="magenta"];3882 -> 3889[label="",style="dashed", color="magenta", weight=3]; 213.97/145.75 3882 -> 3890[label="",style="dashed", color="magenta", weight=3]; 213.97/145.75 3883 -> 3867[label="",style="dashed", color="red", weight=0]; 213.97/145.75 3883[label="primDivNatS vyv2710 (Succ vyv28800)",fontsize=16,color="magenta"];3883 -> 3891[label="",style="dashed", color="magenta", weight=3]; 213.97/145.75 3883 -> 3892[label="",style="dashed", color="magenta", weight=3]; 213.97/145.75 3317 -> 75[label="",style="dashed", color="red", weight=0]; 213.97/145.75 3317[label="fromInt (Pos (Succ Zero))",fontsize=16,color="magenta"];3345[label="Pos (Succ vyv229) - vyv245",fontsize=16,color="black",shape="triangle"];3345 -> 3371[label="",style="solid", color="black", weight=3]; 213.97/145.75 3280[label="vyv243 == fromInt (Pos Zero)",fontsize=16,color="black",shape="triangle"];3280 -> 3306[label="",style="solid", color="black", weight=3]; 213.97/145.75 3346[label="pr2F3 False vyv228 (Pos (Succ vyv229) - vyv245) (vyv228 * vyv227)",fontsize=16,color="black",shape="box"];3346 -> 3372[label="",style="solid", color="black", weight=3]; 213.97/145.75 3347[label="pr2F3 True vyv228 (Pos (Succ vyv229) - vyv245) (vyv228 * vyv227)",fontsize=16,color="black",shape="box"];3347 -> 3373[label="",style="solid", color="black", weight=3]; 213.97/145.75 3877[label="primDivNatS (Succ vyv27100) (Succ vyv28500)",fontsize=16,color="black",shape="box"];3877 -> 3884[label="",style="solid", color="black", weight=3]; 213.97/145.75 3878[label="primDivNatS Zero (Succ vyv28500)",fontsize=16,color="black",shape="box"];3878 -> 3885[label="",style="solid", color="black", weight=3]; 213.97/145.75 3879[label="vyv28500",fontsize=16,color="green",shape="box"];3622 -> 3643[label="",style="dashed", color="red", weight=0]; 213.97/145.75 3622[label="vyv1841 * vyv1841 == fromInt (Pos Zero)",fontsize=16,color="magenta"];3622 -> 3644[label="",style="dashed", color="magenta", weight=3]; 213.97/145.75 3623 -> 3280[label="",style="dashed", color="red", weight=0]; 213.97/145.75 3623[label="vyv1841 * vyv1841 == fromInt (Pos Zero)",fontsize=16,color="magenta"];3623 -> 3646[label="",style="dashed", color="magenta", weight=3]; 213.97/145.75 3624[label="reduce2Reduce1 (vyv265 * vyv266) (vyv267 * vyv268) (vyv265 * vyv266) (vyv267 * vyv268) False",fontsize=16,color="black",shape="box"];3624 -> 3647[label="",style="solid", color="black", weight=3]; 213.97/145.75 3625[label="reduce2Reduce1 (vyv265 * vyv266) (vyv267 * vyv268) (vyv265 * vyv266) (vyv267 * vyv268) True",fontsize=16,color="black",shape="box"];3625 -> 3648[label="",style="solid", color="black", weight=3]; 213.97/145.75 3250 -> 114[label="",style="dashed", color="red", weight=0]; 213.97/145.75 3250[label="primPlusNat (primMulNat vyv18400 (Succ vyv18400)) (Succ vyv18400)",fontsize=16,color="magenta"];3250 -> 3294[label="",style="dashed", color="magenta", weight=3]; 213.97/145.75 3250 -> 3295[label="",style="dashed", color="magenta", weight=3]; 213.97/145.75 3251[label="Zero",fontsize=16,color="green",shape="box"];3321 -> 3280[label="",style="dashed", color="red", weight=0]; 213.97/145.75 3321[label="Neg (Succ vyv241) - vyv244 == fromInt (Pos Zero)",fontsize=16,color="magenta"];3321 -> 3324[label="",style="dashed", color="magenta", weight=3]; 213.97/145.75 3320[label="pr2F3 vyv246 vyv240 (Neg (Succ vyv241) - vyv244) (vyv240 * vyv239)",fontsize=16,color="burlywood",shape="triangle"];4533[label="vyv246/False",fontsize=10,color="white",style="solid",shape="box"];3320 -> 4533[label="",style="solid", color="burlywood", weight=9]; 213.97/145.75 4533 -> 3325[label="",style="solid", color="burlywood", weight=3]; 213.97/145.75 4534[label="vyv246/True",fontsize=10,color="white",style="solid",shape="box"];3320 -> 4534[label="",style="solid", color="burlywood", weight=9]; 213.97/145.75 4534 -> 3326[label="",style="solid", color="burlywood", weight=3]; 213.97/145.75 3889[label="vyv2710",fontsize=16,color="green",shape="box"];3890[label="vyv28800",fontsize=16,color="green",shape="box"];3891[label="vyv2710",fontsize=16,color="green",shape="box"];3892[label="vyv28800",fontsize=16,color="green",shape="box"];3371[label="primMinusInt (Pos (Succ vyv229)) vyv245",fontsize=16,color="burlywood",shape="box"];4535[label="vyv245/Pos vyv2450",fontsize=10,color="white",style="solid",shape="box"];3371 -> 4535[label="",style="solid", color="burlywood", weight=9]; 213.97/145.75 4535 -> 3402[label="",style="solid", color="burlywood", weight=3]; 213.97/145.75 4536[label="vyv245/Neg vyv2450",fontsize=10,color="white",style="solid",shape="box"];3371 -> 4536[label="",style="solid", color="burlywood", weight=9]; 213.97/145.75 4536 -> 3403[label="",style="solid", color="burlywood", weight=3]; 213.97/145.75 3306[label="primEqInt vyv243 (fromInt (Pos Zero))",fontsize=16,color="burlywood",shape="box"];4537[label="vyv243/Pos vyv2430",fontsize=10,color="white",style="solid",shape="box"];3306 -> 4537[label="",style="solid", color="burlywood", weight=9]; 213.97/145.75 4537 -> 3341[label="",style="solid", color="burlywood", weight=3]; 213.97/145.75 4538[label="vyv243/Neg vyv2430",fontsize=10,color="white",style="solid",shape="box"];3306 -> 4538[label="",style="solid", color="burlywood", weight=9]; 213.97/145.75 4538 -> 3342[label="",style="solid", color="burlywood", weight=3]; 213.97/145.75 3372 -> 3052[label="",style="dashed", color="red", weight=0]; 213.97/145.75 3372[label="pr2F0 vyv228 (Pos (Succ vyv229) - vyv245) (vyv228 * vyv227)",fontsize=16,color="magenta"];3372 -> 3404[label="",style="dashed", color="magenta", weight=3]; 213.97/145.75 3372 -> 3405[label="",style="dashed", color="magenta", weight=3]; 213.97/145.75 3372 -> 3406[label="",style="dashed", color="magenta", weight=3]; 213.97/145.75 3373[label="vyv228 * vyv227",fontsize=16,color="blue",shape="box"];4539[label="* :: Integer -> Integer -> Integer",fontsize=10,color="white",style="solid",shape="box"];3373 -> 4539[label="",style="solid", color="blue", weight=9]; 213.97/145.75 4539 -> 3407[label="",style="solid", color="blue", weight=3]; 213.97/145.75 4540[label="* :: (Ratio a) -> (Ratio a) -> Ratio a",fontsize=10,color="white",style="solid",shape="box"];3373 -> 4540[label="",style="solid", color="blue", weight=9]; 213.97/145.75 4540 -> 3408[label="",style="solid", color="blue", weight=3]; 213.97/145.75 4541[label="* :: Double -> Double -> Double",fontsize=10,color="white",style="solid",shape="box"];3373 -> 4541[label="",style="solid", color="blue", weight=9]; 213.97/145.75 4541 -> 3409[label="",style="solid", color="blue", weight=3]; 213.97/145.75 4542[label="* :: Float -> Float -> Float",fontsize=10,color="white",style="solid",shape="box"];3373 -> 4542[label="",style="solid", color="blue", weight=9]; 213.97/145.75 4542 -> 3410[label="",style="solid", color="blue", weight=3]; 213.97/145.75 4543[label="* :: Int -> Int -> Int",fontsize=10,color="white",style="solid",shape="box"];3373 -> 4543[label="",style="solid", color="blue", weight=9]; 213.97/145.75 4543 -> 3411[label="",style="solid", color="blue", weight=3]; 213.97/145.75 3884[label="primDivNatS0 vyv27100 vyv28500 (primGEqNatS vyv27100 vyv28500)",fontsize=16,color="burlywood",shape="box"];4544[label="vyv27100/Succ vyv271000",fontsize=10,color="white",style="solid",shape="box"];3884 -> 4544[label="",style="solid", color="burlywood", weight=9]; 213.97/145.75 4544 -> 3893[label="",style="solid", color="burlywood", weight=3]; 213.97/145.75 4545[label="vyv27100/Zero",fontsize=10,color="white",style="solid",shape="box"];3884 -> 4545[label="",style="solid", color="burlywood", weight=9]; 213.97/145.75 4545 -> 3894[label="",style="solid", color="burlywood", weight=3]; 213.97/145.75 3885[label="Zero",fontsize=16,color="green",shape="box"];3644 -> 3108[label="",style="dashed", color="red", weight=0]; 213.97/145.75 3644[label="vyv1841 * vyv1841",fontsize=16,color="magenta"];3644 -> 3650[label="",style="dashed", color="magenta", weight=3]; 213.97/145.75 3643[label="vyv270 == fromInt (Pos Zero)",fontsize=16,color="burlywood",shape="triangle"];4546[label="vyv270/Integer vyv2700",fontsize=10,color="white",style="solid",shape="box"];3643 -> 4546[label="",style="solid", color="burlywood", weight=9]; 213.97/145.75 4546 -> 3651[label="",style="solid", color="burlywood", weight=3]; 213.97/145.75 3646 -> 3112[label="",style="dashed", color="red", weight=0]; 213.97/145.75 3646[label="vyv1841 * vyv1841",fontsize=16,color="magenta"];3646 -> 3664[label="",style="dashed", color="magenta", weight=3]; 213.97/145.75 3647[label="reduce2Reduce0 (vyv265 * vyv266) (vyv267 * vyv268) (vyv265 * vyv266) (vyv267 * vyv268) otherwise",fontsize=16,color="black",shape="box"];3647 -> 3665[label="",style="solid", color="black", weight=3]; 213.97/145.75 3648[label="error []",fontsize=16,color="black",shape="box"];3648 -> 3666[label="",style="solid", color="black", weight=3]; 213.97/145.75 3294[label="primMulNat vyv18400 (Succ vyv18400)",fontsize=16,color="burlywood",shape="box"];4547[label="vyv18400/Succ vyv184000",fontsize=10,color="white",style="solid",shape="box"];3294 -> 4547[label="",style="solid", color="burlywood", weight=9]; 213.97/145.75 4547 -> 3329[label="",style="solid", color="burlywood", weight=3]; 213.97/145.75 4548[label="vyv18400/Zero",fontsize=10,color="white",style="solid",shape="box"];3294 -> 4548[label="",style="solid", color="burlywood", weight=9]; 213.97/145.75 4548 -> 3330[label="",style="solid", color="burlywood", weight=3]; 213.97/145.75 3295[label="Succ vyv18400",fontsize=16,color="green",shape="box"];3324[label="Neg (Succ vyv241) - vyv244",fontsize=16,color="black",shape="triangle"];3324 -> 3349[label="",style="solid", color="black", weight=3]; 213.97/145.75 3325[label="pr2F3 False vyv240 (Neg (Succ vyv241) - vyv244) (vyv240 * vyv239)",fontsize=16,color="black",shape="box"];3325 -> 3350[label="",style="solid", color="black", weight=3]; 213.97/145.75 3326[label="pr2F3 True vyv240 (Neg (Succ vyv241) - vyv244) (vyv240 * vyv239)",fontsize=16,color="black",shape="box"];3326 -> 3351[label="",style="solid", color="black", weight=3]; 213.97/145.75 3402[label="primMinusInt (Pos (Succ vyv229)) (Pos vyv2450)",fontsize=16,color="black",shape="box"];3402 -> 3455[label="",style="solid", color="black", weight=3]; 213.97/145.75 3403[label="primMinusInt (Pos (Succ vyv229)) (Neg vyv2450)",fontsize=16,color="black",shape="box"];3403 -> 3456[label="",style="solid", color="black", weight=3]; 213.97/145.75 3341[label="primEqInt (Pos vyv2430) (fromInt (Pos Zero))",fontsize=16,color="burlywood",shape="box"];4549[label="vyv2430/Succ vyv24300",fontsize=10,color="white",style="solid",shape="box"];3341 -> 4549[label="",style="solid", color="burlywood", weight=9]; 213.97/145.75 4549 -> 3367[label="",style="solid", color="burlywood", weight=3]; 213.97/145.75 4550[label="vyv2430/Zero",fontsize=10,color="white",style="solid",shape="box"];3341 -> 4550[label="",style="solid", color="burlywood", weight=9]; 213.97/145.75 4550 -> 3368[label="",style="solid", color="burlywood", weight=3]; 213.97/145.75 3342[label="primEqInt (Neg vyv2430) (fromInt (Pos Zero))",fontsize=16,color="burlywood",shape="box"];4551[label="vyv2430/Succ vyv24300",fontsize=10,color="white",style="solid",shape="box"];3342 -> 4551[label="",style="solid", color="burlywood", weight=9]; 213.97/145.75 4551 -> 3369[label="",style="solid", color="burlywood", weight=3]; 213.97/145.75 4552[label="vyv2430/Zero",fontsize=10,color="white",style="solid",shape="box"];3342 -> 4552[label="",style="solid", color="burlywood", weight=9]; 213.97/145.75 4552 -> 3370[label="",style="solid", color="burlywood", weight=3]; 213.97/145.75 3404[label="vyv228 * vyv227",fontsize=16,color="blue",shape="box"];4553[label="* :: Integer -> Integer -> Integer",fontsize=10,color="white",style="solid",shape="box"];3404 -> 4553[label="",style="solid", color="blue", weight=9]; 213.97/145.75 4553 -> 3457[label="",style="solid", color="blue", weight=3]; 213.97/145.75 4554[label="* :: (Ratio a) -> (Ratio a) -> Ratio a",fontsize=10,color="white",style="solid",shape="box"];3404 -> 4554[label="",style="solid", color="blue", weight=9]; 213.97/145.75 4554 -> 3458[label="",style="solid", color="blue", weight=3]; 213.97/145.75 4555[label="* :: Double -> Double -> Double",fontsize=10,color="white",style="solid",shape="box"];3404 -> 4555[label="",style="solid", color="blue", weight=9]; 213.97/145.75 4555 -> 3459[label="",style="solid", color="blue", weight=3]; 213.97/145.75 4556[label="* :: Float -> Float -> Float",fontsize=10,color="white",style="solid",shape="box"];3404 -> 4556[label="",style="solid", color="blue", weight=9]; 213.97/145.75 4556 -> 3460[label="",style="solid", color="blue", weight=3]; 213.97/145.75 4557[label="* :: Int -> Int -> Int",fontsize=10,color="white",style="solid",shape="box"];3404 -> 4557[label="",style="solid", color="blue", weight=9]; 213.97/145.75 4557 -> 3461[label="",style="solid", color="blue", weight=3]; 213.97/145.75 3405 -> 3345[label="",style="dashed", color="red", weight=0]; 213.97/145.75 3405[label="Pos (Succ vyv229) - vyv245",fontsize=16,color="magenta"];3406[label="vyv228",fontsize=16,color="green",shape="box"];3407 -> 3381[label="",style="dashed", color="red", weight=0]; 213.97/145.75 3407[label="vyv228 * vyv227",fontsize=16,color="magenta"];3407 -> 3462[label="",style="dashed", color="magenta", weight=3]; 213.97/145.75 3407 -> 3463[label="",style="dashed", color="magenta", weight=3]; 213.97/145.75 3408 -> 3382[label="",style="dashed", color="red", weight=0]; 213.97/145.75 3408[label="vyv228 * vyv227",fontsize=16,color="magenta"];3408 -> 3464[label="",style="dashed", color="magenta", weight=3]; 213.97/145.75 3408 -> 3465[label="",style="dashed", color="magenta", weight=3]; 213.97/145.75 3409 -> 3383[label="",style="dashed", color="red", weight=0]; 213.97/145.75 3409[label="vyv228 * vyv227",fontsize=16,color="magenta"];3409 -> 3466[label="",style="dashed", color="magenta", weight=3]; 213.97/145.75 3409 -> 3467[label="",style="dashed", color="magenta", weight=3]; 213.97/145.75 3410 -> 3384[label="",style="dashed", color="red", weight=0]; 213.97/145.75 3410[label="vyv228 * vyv227",fontsize=16,color="magenta"];3410 -> 3468[label="",style="dashed", color="magenta", weight=3]; 213.97/145.75 3410 -> 3469[label="",style="dashed", color="magenta", weight=3]; 213.97/145.75 3411 -> 3385[label="",style="dashed", color="red", weight=0]; 213.97/145.75 3411[label="vyv228 * vyv227",fontsize=16,color="magenta"];3411 -> 3470[label="",style="dashed", color="magenta", weight=3]; 213.97/145.75 3411 -> 3471[label="",style="dashed", color="magenta", weight=3]; 213.97/145.75 3893[label="primDivNatS0 (Succ vyv271000) vyv28500 (primGEqNatS (Succ vyv271000) vyv28500)",fontsize=16,color="burlywood",shape="box"];4558[label="vyv28500/Succ vyv285000",fontsize=10,color="white",style="solid",shape="box"];3893 -> 4558[label="",style="solid", color="burlywood", weight=9]; 213.97/145.75 4558 -> 3899[label="",style="solid", color="burlywood", weight=3]; 213.97/145.75 4559[label="vyv28500/Zero",fontsize=10,color="white",style="solid",shape="box"];3893 -> 4559[label="",style="solid", color="burlywood", weight=9]; 213.97/145.75 4559 -> 3900[label="",style="solid", color="burlywood", weight=3]; 213.97/145.75 3894[label="primDivNatS0 Zero vyv28500 (primGEqNatS Zero vyv28500)",fontsize=16,color="burlywood",shape="box"];4560[label="vyv28500/Succ vyv285000",fontsize=10,color="white",style="solid",shape="box"];3894 -> 4560[label="",style="solid", color="burlywood", weight=9]; 213.97/145.75 4560 -> 3901[label="",style="solid", color="burlywood", weight=3]; 213.97/145.75 4561[label="vyv28500/Zero",fontsize=10,color="white",style="solid",shape="box"];3894 -> 4561[label="",style="solid", color="burlywood", weight=9]; 213.97/145.75 4561 -> 3902[label="",style="solid", color="burlywood", weight=3]; 213.97/145.75 3650[label="vyv1841",fontsize=16,color="green",shape="box"];3651[label="Integer vyv2700 == fromInt (Pos Zero)",fontsize=16,color="black",shape="box"];3651 -> 3668[label="",style="solid", color="black", weight=3]; 213.97/145.75 3664[label="vyv1841",fontsize=16,color="green",shape="box"];3665[label="reduce2Reduce0 (vyv265 * vyv266) (vyv267 * vyv268) (vyv265 * vyv266) (vyv267 * vyv268) True",fontsize=16,color="black",shape="box"];3665 -> 3677[label="",style="solid", color="black", weight=3]; 213.97/145.75 3666[label="error []",fontsize=16,color="red",shape="box"];3329[label="primMulNat (Succ vyv184000) (Succ (Succ vyv184000))",fontsize=16,color="black",shape="box"];3329 -> 3353[label="",style="solid", color="black", weight=3]; 213.97/145.75 3330[label="primMulNat Zero (Succ Zero)",fontsize=16,color="black",shape="box"];3330 -> 3354[label="",style="solid", color="black", weight=3]; 213.97/145.75 3349[label="primMinusInt (Neg (Succ vyv241)) vyv244",fontsize=16,color="burlywood",shape="box"];4562[label="vyv244/Pos vyv2440",fontsize=10,color="white",style="solid",shape="box"];3349 -> 4562[label="",style="solid", color="burlywood", weight=9]; 213.97/145.75 4562 -> 3376[label="",style="solid", color="burlywood", weight=3]; 213.97/145.75 4563[label="vyv244/Neg vyv2440",fontsize=10,color="white",style="solid",shape="box"];3349 -> 4563[label="",style="solid", color="burlywood", weight=9]; 213.97/145.75 4563 -> 3377[label="",style="solid", color="burlywood", weight=3]; 213.97/145.75 3350 -> 3052[label="",style="dashed", color="red", weight=0]; 213.97/145.75 3350[label="pr2F0 vyv240 (Neg (Succ vyv241) - vyv244) (vyv240 * vyv239)",fontsize=16,color="magenta"];3350 -> 3378[label="",style="dashed", color="magenta", weight=3]; 213.97/145.75 3350 -> 3379[label="",style="dashed", color="magenta", weight=3]; 213.97/145.75 3350 -> 3380[label="",style="dashed", color="magenta", weight=3]; 213.97/145.75 3351[label="vyv240 * vyv239",fontsize=16,color="blue",shape="box"];4564[label="* :: Integer -> Integer -> Integer",fontsize=10,color="white",style="solid",shape="box"];3351 -> 4564[label="",style="solid", color="blue", weight=9]; 213.97/145.75 4564 -> 3381[label="",style="solid", color="blue", weight=3]; 213.97/145.75 4565[label="* :: (Ratio a) -> (Ratio a) -> Ratio a",fontsize=10,color="white",style="solid",shape="box"];3351 -> 4565[label="",style="solid", color="blue", weight=9]; 213.97/145.75 4565 -> 3382[label="",style="solid", color="blue", weight=3]; 213.97/145.75 4566[label="* :: Double -> Double -> Double",fontsize=10,color="white",style="solid",shape="box"];3351 -> 4566[label="",style="solid", color="blue", weight=9]; 213.97/145.75 4566 -> 3383[label="",style="solid", color="blue", weight=3]; 213.97/145.75 4567[label="* :: Float -> Float -> Float",fontsize=10,color="white",style="solid",shape="box"];3351 -> 4567[label="",style="solid", color="blue", weight=9]; 213.97/145.75 4567 -> 3384[label="",style="solid", color="blue", weight=3]; 213.97/145.75 4568[label="* :: Int -> Int -> Int",fontsize=10,color="white",style="solid",shape="box"];3351 -> 4568[label="",style="solid", color="blue", weight=9]; 213.97/145.75 4568 -> 3385[label="",style="solid", color="blue", weight=3]; 213.97/145.75 3455[label="primMinusNat (Succ vyv229) vyv2450",fontsize=16,color="burlywood",shape="box"];4569[label="vyv2450/Succ vyv24500",fontsize=10,color="white",style="solid",shape="box"];3455 -> 4569[label="",style="solid", color="burlywood", weight=9]; 213.97/145.75 4569 -> 3499[label="",style="solid", color="burlywood", weight=3]; 213.97/145.75 4570[label="vyv2450/Zero",fontsize=10,color="white",style="solid",shape="box"];3455 -> 4570[label="",style="solid", color="burlywood", weight=9]; 213.97/145.75 4570 -> 3500[label="",style="solid", color="burlywood", weight=3]; 213.97/145.75 3456[label="Pos (primPlusNat (Succ vyv229) vyv2450)",fontsize=16,color="green",shape="box"];3456 -> 3501[label="",style="dashed", color="green", weight=3]; 213.97/145.75 3367[label="primEqInt (Pos (Succ vyv24300)) (fromInt (Pos Zero))",fontsize=16,color="black",shape="box"];3367 -> 3398[label="",style="solid", color="black", weight=3]; 213.97/145.75 3368[label="primEqInt (Pos Zero) (fromInt (Pos Zero))",fontsize=16,color="black",shape="box"];3368 -> 3399[label="",style="solid", color="black", weight=3]; 213.97/145.75 3369[label="primEqInt (Neg (Succ vyv24300)) (fromInt (Pos Zero))",fontsize=16,color="black",shape="box"];3369 -> 3400[label="",style="solid", color="black", weight=3]; 213.97/145.75 3370[label="primEqInt (Neg Zero) (fromInt (Pos Zero))",fontsize=16,color="black",shape="box"];3370 -> 3401[label="",style="solid", color="black", weight=3]; 213.97/145.75 3457 -> 3381[label="",style="dashed", color="red", weight=0]; 213.97/145.75 3457[label="vyv228 * vyv227",fontsize=16,color="magenta"];3457 -> 3502[label="",style="dashed", color="magenta", weight=3]; 213.97/145.75 3457 -> 3503[label="",style="dashed", color="magenta", weight=3]; 213.97/145.75 3458 -> 3382[label="",style="dashed", color="red", weight=0]; 213.97/145.75 3458[label="vyv228 * vyv227",fontsize=16,color="magenta"];3458 -> 3504[label="",style="dashed", color="magenta", weight=3]; 213.97/145.75 3458 -> 3505[label="",style="dashed", color="magenta", weight=3]; 213.97/145.75 3459 -> 3383[label="",style="dashed", color="red", weight=0]; 213.97/145.75 3459[label="vyv228 * vyv227",fontsize=16,color="magenta"];3459 -> 3506[label="",style="dashed", color="magenta", weight=3]; 213.97/145.75 3459 -> 3507[label="",style="dashed", color="magenta", weight=3]; 213.97/145.75 3460 -> 3384[label="",style="dashed", color="red", weight=0]; 213.97/145.75 3460[label="vyv228 * vyv227",fontsize=16,color="magenta"];3460 -> 3508[label="",style="dashed", color="magenta", weight=3]; 213.97/145.75 3460 -> 3509[label="",style="dashed", color="magenta", weight=3]; 213.97/145.75 3461 -> 3385[label="",style="dashed", color="red", weight=0]; 213.97/145.75 3461[label="vyv228 * vyv227",fontsize=16,color="magenta"];3461 -> 3510[label="",style="dashed", color="magenta", weight=3]; 213.97/145.75 3461 -> 3511[label="",style="dashed", color="magenta", weight=3]; 213.97/145.75 3462[label="vyv227",fontsize=16,color="green",shape="box"];3463[label="vyv228",fontsize=16,color="green",shape="box"];3381[label="vyv240 * vyv239",fontsize=16,color="black",shape="triangle"];3381 -> 3421[label="",style="solid", color="black", weight=3]; 213.97/145.75 3464[label="vyv227",fontsize=16,color="green",shape="box"];3465[label="vyv228",fontsize=16,color="green",shape="box"];3382[label="vyv240 * vyv239",fontsize=16,color="burlywood",shape="triangle"];4571[label="vyv240/vyv2400 :% vyv2401",fontsize=10,color="white",style="solid",shape="box"];3382 -> 4571[label="",style="solid", color="burlywood", weight=9]; 213.97/145.75 4571 -> 3422[label="",style="solid", color="burlywood", weight=3]; 213.97/145.75 3466[label="vyv227",fontsize=16,color="green",shape="box"];3467[label="vyv228",fontsize=16,color="green",shape="box"];3383[label="vyv240 * vyv239",fontsize=16,color="black",shape="triangle"];3383 -> 3423[label="",style="solid", color="black", weight=3]; 213.97/145.75 3468[label="vyv227",fontsize=16,color="green",shape="box"];3469[label="vyv228",fontsize=16,color="green",shape="box"];3384[label="vyv240 * vyv239",fontsize=16,color="black",shape="triangle"];3384 -> 3424[label="",style="solid", color="black", weight=3]; 213.97/145.75 3470[label="vyv227",fontsize=16,color="green",shape="box"];3471[label="vyv228",fontsize=16,color="green",shape="box"];3385[label="vyv240 * vyv239",fontsize=16,color="black",shape="triangle"];3385 -> 3425[label="",style="solid", color="black", weight=3]; 213.97/145.75 3899[label="primDivNatS0 (Succ vyv271000) (Succ vyv285000) (primGEqNatS (Succ vyv271000) (Succ vyv285000))",fontsize=16,color="black",shape="box"];3899 -> 3906[label="",style="solid", color="black", weight=3]; 213.97/145.75 3900[label="primDivNatS0 (Succ vyv271000) Zero (primGEqNatS (Succ vyv271000) Zero)",fontsize=16,color="black",shape="box"];3900 -> 3907[label="",style="solid", color="black", weight=3]; 213.97/145.75 3901[label="primDivNatS0 Zero (Succ vyv285000) (primGEqNatS Zero (Succ vyv285000))",fontsize=16,color="black",shape="box"];3901 -> 3908[label="",style="solid", color="black", weight=3]; 213.97/145.75 3902[label="primDivNatS0 Zero Zero (primGEqNatS Zero Zero)",fontsize=16,color="black",shape="box"];3902 -> 3909[label="",style="solid", color="black", weight=3]; 213.97/145.75 3668[label="Integer vyv2700 == Integer (Pos Zero)",fontsize=16,color="black",shape="box"];3668 -> 3678[label="",style="solid", color="black", weight=3]; 213.97/145.75 3677[label="vyv265 * vyv266 `quot` reduce2D (vyv265 * vyv266) (vyv267 * vyv268) :% (vyv267 * vyv268 `quot` reduce2D (vyv265 * vyv266) (vyv267 * vyv268))",fontsize=16,color="green",shape="box"];3677 -> 3681[label="",style="dashed", color="green", weight=3]; 213.97/145.75 3677 -> 3682[label="",style="dashed", color="green", weight=3]; 213.97/145.75 3353 -> 114[label="",style="dashed", color="red", weight=0]; 213.97/145.75 3353[label="primPlusNat (primMulNat vyv184000 (Succ (Succ vyv184000))) (Succ (Succ vyv184000))",fontsize=16,color="magenta"];3353 -> 3388[label="",style="dashed", color="magenta", weight=3]; 213.97/145.75 3353 -> 3389[label="",style="dashed", color="magenta", weight=3]; 213.97/145.75 3354[label="Zero",fontsize=16,color="green",shape="box"];3376[label="primMinusInt (Neg (Succ vyv241)) (Pos vyv2440)",fontsize=16,color="black",shape="box"];3376 -> 3414[label="",style="solid", color="black", weight=3]; 213.97/145.75 3377[label="primMinusInt (Neg (Succ vyv241)) (Neg vyv2440)",fontsize=16,color="black",shape="box"];3377 -> 3415[label="",style="solid", color="black", weight=3]; 213.97/145.75 3378[label="vyv240 * vyv239",fontsize=16,color="blue",shape="box"];4572[label="* :: Integer -> Integer -> Integer",fontsize=10,color="white",style="solid",shape="box"];3378 -> 4572[label="",style="solid", color="blue", weight=9]; 213.97/145.75 4572 -> 3416[label="",style="solid", color="blue", weight=3]; 213.97/145.75 4573[label="* :: (Ratio a) -> (Ratio a) -> Ratio a",fontsize=10,color="white",style="solid",shape="box"];3378 -> 4573[label="",style="solid", color="blue", weight=9]; 213.97/145.75 4573 -> 3417[label="",style="solid", color="blue", weight=3]; 213.97/145.75 4574[label="* :: Double -> Double -> Double",fontsize=10,color="white",style="solid",shape="box"];3378 -> 4574[label="",style="solid", color="blue", weight=9]; 213.97/145.75 4574 -> 3418[label="",style="solid", color="blue", weight=3]; 213.97/145.75 4575[label="* :: Float -> Float -> Float",fontsize=10,color="white",style="solid",shape="box"];3378 -> 4575[label="",style="solid", color="blue", weight=9]; 213.97/145.75 4575 -> 3419[label="",style="solid", color="blue", weight=3]; 213.97/145.75 4576[label="* :: Int -> Int -> Int",fontsize=10,color="white",style="solid",shape="box"];3378 -> 4576[label="",style="solid", color="blue", weight=9]; 213.97/145.75 4576 -> 3420[label="",style="solid", color="blue", weight=3]; 213.97/145.75 3379 -> 3324[label="",style="dashed", color="red", weight=0]; 213.97/145.75 3379[label="Neg (Succ vyv241) - vyv244",fontsize=16,color="magenta"];3380[label="vyv240",fontsize=16,color="green",shape="box"];3499[label="primMinusNat (Succ vyv229) (Succ vyv24500)",fontsize=16,color="black",shape="box"];3499 -> 3529[label="",style="solid", color="black", weight=3]; 213.97/145.75 3500[label="primMinusNat (Succ vyv229) Zero",fontsize=16,color="black",shape="box"];3500 -> 3530[label="",style="solid", color="black", weight=3]; 213.97/145.75 3501 -> 114[label="",style="dashed", color="red", weight=0]; 213.97/145.75 3501[label="primPlusNat (Succ vyv229) vyv2450",fontsize=16,color="magenta"];3501 -> 3531[label="",style="dashed", color="magenta", weight=3]; 213.97/145.75 3501 -> 3532[label="",style="dashed", color="magenta", weight=3]; 213.97/145.75 3398 -> 3366[label="",style="dashed", color="red", weight=0]; 213.97/145.75 3398[label="primEqInt (Pos (Succ vyv24300)) (Pos Zero)",fontsize=16,color="magenta"];3398 -> 3475[label="",style="dashed", color="magenta", weight=3]; 213.97/145.75 3399 -> 3366[label="",style="dashed", color="red", weight=0]; 213.97/145.75 3399[label="primEqInt (Pos Zero) (Pos Zero)",fontsize=16,color="magenta"];3399 -> 3476[label="",style="dashed", color="magenta", weight=3]; 213.97/145.75 3400 -> 3366[label="",style="dashed", color="red", weight=0]; 213.97/145.75 3400[label="primEqInt (Neg (Succ vyv24300)) (Pos Zero)",fontsize=16,color="magenta"];3400 -> 3477[label="",style="dashed", color="magenta", weight=3]; 213.97/145.75 3401 -> 3366[label="",style="dashed", color="red", weight=0]; 213.97/145.75 3401[label="primEqInt (Neg Zero) (Pos Zero)",fontsize=16,color="magenta"];3401 -> 3478[label="",style="dashed", color="magenta", weight=3]; 213.97/145.75 3502[label="vyv227",fontsize=16,color="green",shape="box"];3503[label="vyv228",fontsize=16,color="green",shape="box"];3504[label="vyv227",fontsize=16,color="green",shape="box"];3505[label="vyv228",fontsize=16,color="green",shape="box"];3506[label="vyv227",fontsize=16,color="green",shape="box"];3507[label="vyv228",fontsize=16,color="green",shape="box"];3508[label="vyv227",fontsize=16,color="green",shape="box"];3509[label="vyv228",fontsize=16,color="green",shape="box"];3510[label="vyv227",fontsize=16,color="green",shape="box"];3511[label="vyv228",fontsize=16,color="green",shape="box"];3421[label="error []",fontsize=16,color="red",shape="box"];3422[label="vyv2400 :% vyv2401 * vyv239",fontsize=16,color="burlywood",shape="box"];4577[label="vyv239/vyv2390 :% vyv2391",fontsize=10,color="white",style="solid",shape="box"];3422 -> 4577[label="",style="solid", color="burlywood", weight=9]; 213.97/145.75 4577 -> 3482[label="",style="solid", color="burlywood", weight=3]; 213.97/145.75 3423[label="error []",fontsize=16,color="red",shape="box"];3424[label="error []",fontsize=16,color="red",shape="box"];3425[label="primMulInt vyv240 vyv239",fontsize=16,color="burlywood",shape="box"];4578[label="vyv240/Pos vyv2400",fontsize=10,color="white",style="solid",shape="box"];3425 -> 4578[label="",style="solid", color="burlywood", weight=9]; 213.97/145.75 4578 -> 3483[label="",style="solid", color="burlywood", weight=3]; 213.97/145.75 4579[label="vyv240/Neg vyv2400",fontsize=10,color="white",style="solid",shape="box"];3425 -> 4579[label="",style="solid", color="burlywood", weight=9]; 213.97/145.75 4579 -> 3484[label="",style="solid", color="burlywood", weight=3]; 213.97/145.75 3906 -> 4167[label="",style="dashed", color="red", weight=0]; 213.97/145.75 3906[label="primDivNatS0 (Succ vyv271000) (Succ vyv285000) (primGEqNatS vyv271000 vyv285000)",fontsize=16,color="magenta"];3906 -> 4168[label="",style="dashed", color="magenta", weight=3]; 213.97/145.75 3906 -> 4169[label="",style="dashed", color="magenta", weight=3]; 213.97/145.75 3906 -> 4170[label="",style="dashed", color="magenta", weight=3]; 213.97/145.75 3906 -> 4171[label="",style="dashed", color="magenta", weight=3]; 213.97/145.75 3907[label="primDivNatS0 (Succ vyv271000) Zero True",fontsize=16,color="black",shape="box"];3907 -> 3914[label="",style="solid", color="black", weight=3]; 213.97/145.75 3908[label="primDivNatS0 Zero (Succ vyv285000) False",fontsize=16,color="black",shape="box"];3908 -> 3915[label="",style="solid", color="black", weight=3]; 213.97/145.75 3909[label="primDivNatS0 Zero Zero True",fontsize=16,color="black",shape="box"];3909 -> 3916[label="",style="solid", color="black", weight=3]; 213.97/145.75 3678 -> 3366[label="",style="dashed", color="red", weight=0]; 213.97/145.75 3678[label="primEqInt vyv2700 (Pos Zero)",fontsize=16,color="magenta"];3678 -> 3683[label="",style="dashed", color="magenta", weight=3]; 213.97/145.75 3681[label="vyv265 * vyv266 `quot` reduce2D (vyv265 * vyv266) (vyv267 * vyv268)",fontsize=16,color="blue",shape="box"];4580[label="`quot` :: Int -> Int -> Int",fontsize=10,color="white",style="solid",shape="box"];3681 -> 4580[label="",style="solid", color="blue", weight=9]; 213.97/145.75 4580 -> 3686[label="",style="solid", color="blue", weight=3]; 213.97/145.75 4581[label="`quot` :: Integer -> Integer -> Integer",fontsize=10,color="white",style="solid",shape="box"];3681 -> 4581[label="",style="solid", color="blue", weight=9]; 213.97/145.75 4581 -> 3687[label="",style="solid", color="blue", weight=3]; 213.97/145.75 3682[label="vyv267 * vyv268 `quot` reduce2D (vyv265 * vyv266) (vyv267 * vyv268)",fontsize=16,color="blue",shape="box"];4582[label="`quot` :: Int -> Int -> Int",fontsize=10,color="white",style="solid",shape="box"];3682 -> 4582[label="",style="solid", color="blue", weight=9]; 213.97/145.75 4582 -> 3688[label="",style="solid", color="blue", weight=3]; 213.97/145.75 4583[label="`quot` :: Integer -> Integer -> Integer",fontsize=10,color="white",style="solid",shape="box"];3682 -> 4583[label="",style="solid", color="blue", weight=9]; 213.97/145.75 4583 -> 3689[label="",style="solid", color="blue", weight=3]; 213.97/145.75 3388[label="primMulNat vyv184000 (Succ (Succ vyv184000))",fontsize=16,color="burlywood",shape="box"];4584[label="vyv184000/Succ vyv1840000",fontsize=10,color="white",style="solid",shape="box"];3388 -> 4584[label="",style="solid", color="burlywood", weight=9]; 213.97/145.75 4584 -> 3430[label="",style="solid", color="burlywood", weight=3]; 213.97/145.75 4585[label="vyv184000/Zero",fontsize=10,color="white",style="solid",shape="box"];3388 -> 4585[label="",style="solid", color="burlywood", weight=9]; 213.97/145.75 4585 -> 3431[label="",style="solid", color="burlywood", weight=3]; 213.97/145.75 3389[label="Succ (Succ vyv184000)",fontsize=16,color="green",shape="box"];3414[label="Neg (primPlusNat (Succ vyv241) vyv2440)",fontsize=16,color="green",shape="box"];3414 -> 3479[label="",style="dashed", color="green", weight=3]; 213.97/145.75 3415[label="primMinusNat vyv2440 (Succ vyv241)",fontsize=16,color="burlywood",shape="box"];4586[label="vyv2440/Succ vyv24400",fontsize=10,color="white",style="solid",shape="box"];3415 -> 4586[label="",style="solid", color="burlywood", weight=9]; 213.97/145.75 4586 -> 3480[label="",style="solid", color="burlywood", weight=3]; 213.97/145.75 4587[label="vyv2440/Zero",fontsize=10,color="white",style="solid",shape="box"];3415 -> 4587[label="",style="solid", color="burlywood", weight=9]; 213.97/145.75 4587 -> 3481[label="",style="solid", color="burlywood", weight=3]; 213.97/145.75 3416 -> 3381[label="",style="dashed", color="red", weight=0]; 213.97/145.75 3416[label="vyv240 * vyv239",fontsize=16,color="magenta"];3417 -> 3382[label="",style="dashed", color="red", weight=0]; 213.97/145.75 3417[label="vyv240 * vyv239",fontsize=16,color="magenta"];3418 -> 3383[label="",style="dashed", color="red", weight=0]; 213.97/145.75 3418[label="vyv240 * vyv239",fontsize=16,color="magenta"];3419 -> 3384[label="",style="dashed", color="red", weight=0]; 213.97/145.75 3419[label="vyv240 * vyv239",fontsize=16,color="magenta"];3420 -> 3385[label="",style="dashed", color="red", weight=0]; 213.97/145.75 3420[label="vyv240 * vyv239",fontsize=16,color="magenta"];3529[label="primMinusNat vyv229 vyv24500",fontsize=16,color="burlywood",shape="triangle"];4588[label="vyv229/Succ vyv2290",fontsize=10,color="white",style="solid",shape="box"];3529 -> 4588[label="",style="solid", color="burlywood", weight=9]; 213.97/145.75 4588 -> 3571[label="",style="solid", color="burlywood", weight=3]; 213.97/145.75 4589[label="vyv229/Zero",fontsize=10,color="white",style="solid",shape="box"];3529 -> 4589[label="",style="solid", color="burlywood", weight=9]; 213.97/145.75 4589 -> 3572[label="",style="solid", color="burlywood", weight=3]; 213.97/145.75 3530[label="Pos (Succ vyv229)",fontsize=16,color="green",shape="box"];3531[label="Succ vyv229",fontsize=16,color="green",shape="box"];3532[label="vyv2450",fontsize=16,color="green",shape="box"];3475[label="Pos (Succ vyv24300)",fontsize=16,color="green",shape="box"];3366[label="primEqInt vyv2420 (Pos Zero)",fontsize=16,color="burlywood",shape="triangle"];4590[label="vyv2420/Pos vyv24200",fontsize=10,color="white",style="solid",shape="box"];3366 -> 4590[label="",style="solid", color="burlywood", weight=9]; 213.97/145.75 4590 -> 3396[label="",style="solid", color="burlywood", weight=3]; 213.97/145.75 4591[label="vyv2420/Neg vyv24200",fontsize=10,color="white",style="solid",shape="box"];3366 -> 4591[label="",style="solid", color="burlywood", weight=9]; 213.97/145.75 4591 -> 3397[label="",style="solid", color="burlywood", weight=3]; 213.97/145.75 3476[label="Pos Zero",fontsize=16,color="green",shape="box"];3477[label="Neg (Succ vyv24300)",fontsize=16,color="green",shape="box"];3478[label="Neg Zero",fontsize=16,color="green",shape="box"];3482[label="vyv2400 :% vyv2401 * (vyv2390 :% vyv2391)",fontsize=16,color="black",shape="box"];3482 -> 3514[label="",style="solid", color="black", weight=3]; 213.97/145.75 3483[label="primMulInt (Pos vyv2400) vyv239",fontsize=16,color="burlywood",shape="box"];4592[label="vyv239/Pos vyv2390",fontsize=10,color="white",style="solid",shape="box"];3483 -> 4592[label="",style="solid", color="burlywood", weight=9]; 213.97/145.75 4592 -> 3515[label="",style="solid", color="burlywood", weight=3]; 213.97/145.75 4593[label="vyv239/Neg vyv2390",fontsize=10,color="white",style="solid",shape="box"];3483 -> 4593[label="",style="solid", color="burlywood", weight=9]; 213.97/145.75 4593 -> 3516[label="",style="solid", color="burlywood", weight=3]; 213.97/145.75 3484[label="primMulInt (Neg vyv2400) vyv239",fontsize=16,color="burlywood",shape="box"];4594[label="vyv239/Pos vyv2390",fontsize=10,color="white",style="solid",shape="box"];3484 -> 4594[label="",style="solid", color="burlywood", weight=9]; 213.97/145.75 4594 -> 3517[label="",style="solid", color="burlywood", weight=3]; 213.97/145.75 4595[label="vyv239/Neg vyv2390",fontsize=10,color="white",style="solid",shape="box"];3484 -> 4595[label="",style="solid", color="burlywood", weight=9]; 213.97/145.75 4595 -> 3518[label="",style="solid", color="burlywood", weight=3]; 213.97/145.75 4168[label="vyv271000",fontsize=16,color="green",shape="box"];4169[label="vyv271000",fontsize=16,color="green",shape="box"];4170[label="vyv285000",fontsize=16,color="green",shape="box"];4171[label="vyv285000",fontsize=16,color="green",shape="box"];4167[label="primDivNatS0 (Succ vyv311) (Succ vyv312) (primGEqNatS vyv313 vyv314)",fontsize=16,color="burlywood",shape="triangle"];4596[label="vyv313/Succ vyv3130",fontsize=10,color="white",style="solid",shape="box"];4167 -> 4596[label="",style="solid", color="burlywood", weight=9]; 213.97/145.75 4596 -> 4200[label="",style="solid", color="burlywood", weight=3]; 213.97/145.75 4597[label="vyv313/Zero",fontsize=10,color="white",style="solid",shape="box"];4167 -> 4597[label="",style="solid", color="burlywood", weight=9]; 213.97/145.75 4597 -> 4201[label="",style="solid", color="burlywood", weight=3]; 213.97/145.75 3914[label="Succ (primDivNatS (primMinusNatS (Succ vyv271000) Zero) (Succ Zero))",fontsize=16,color="green",shape="box"];3914 -> 3924[label="",style="dashed", color="green", weight=3]; 213.97/145.75 3915[label="Zero",fontsize=16,color="green",shape="box"];3916[label="Succ (primDivNatS (primMinusNatS Zero Zero) (Succ Zero))",fontsize=16,color="green",shape="box"];3916 -> 3925[label="",style="dashed", color="green", weight=3]; 213.97/145.75 3683[label="vyv2700",fontsize=16,color="green",shape="box"];3686 -> 3690[label="",style="dashed", color="red", weight=0]; 213.97/145.75 3686[label="vyv265 * vyv266 `quot` reduce2D (vyv265 * vyv266) (vyv267 * vyv268)",fontsize=16,color="magenta"];3686 -> 3691[label="",style="dashed", color="magenta", weight=3]; 213.97/145.75 3686 -> 3692[label="",style="dashed", color="magenta", weight=3]; 213.97/145.75 3686 -> 3693[label="",style="dashed", color="magenta", weight=3]; 213.97/145.75 3687 -> 3697[label="",style="dashed", color="red", weight=0]; 213.97/145.75 3687[label="vyv265 * vyv266 `quot` reduce2D (vyv265 * vyv266) (vyv267 * vyv268)",fontsize=16,color="magenta"];3687 -> 3698[label="",style="dashed", color="magenta", weight=3]; 213.97/145.75 3687 -> 3699[label="",style="dashed", color="magenta", weight=3]; 213.97/145.75 3687 -> 3700[label="",style="dashed", color="magenta", weight=3]; 213.97/145.75 3688 -> 3690[label="",style="dashed", color="red", weight=0]; 213.97/145.75 3688[label="vyv267 * vyv268 `quot` reduce2D (vyv265 * vyv266) (vyv267 * vyv268)",fontsize=16,color="magenta"];3688 -> 3694[label="",style="dashed", color="magenta", weight=3]; 213.97/145.75 3688 -> 3695[label="",style="dashed", color="magenta", weight=3]; 213.97/145.75 3688 -> 3696[label="",style="dashed", color="magenta", weight=3]; 213.97/145.75 3689 -> 3697[label="",style="dashed", color="red", weight=0]; 213.97/145.75 3689[label="vyv267 * vyv268 `quot` reduce2D (vyv265 * vyv266) (vyv267 * vyv268)",fontsize=16,color="magenta"];3689 -> 3701[label="",style="dashed", color="magenta", weight=3]; 213.97/145.75 3689 -> 3702[label="",style="dashed", color="magenta", weight=3]; 213.97/145.75 3689 -> 3703[label="",style="dashed", color="magenta", weight=3]; 213.97/145.75 3430[label="primMulNat (Succ vyv1840000) (Succ (Succ (Succ vyv1840000)))",fontsize=16,color="black",shape="box"];3430 -> 3533[label="",style="solid", color="black", weight=3]; 213.97/145.75 3431[label="primMulNat Zero (Succ (Succ Zero))",fontsize=16,color="black",shape="box"];3431 -> 3534[label="",style="solid", color="black", weight=3]; 213.97/145.75 3479 -> 114[label="",style="dashed", color="red", weight=0]; 213.97/145.75 3479[label="primPlusNat (Succ vyv241) vyv2440",fontsize=16,color="magenta"];3479 -> 3535[label="",style="dashed", color="magenta", weight=3]; 213.97/145.75 3479 -> 3536[label="",style="dashed", color="magenta", weight=3]; 213.97/145.75 3480[label="primMinusNat (Succ vyv24400) (Succ vyv241)",fontsize=16,color="black",shape="box"];3480 -> 3537[label="",style="solid", color="black", weight=3]; 213.97/145.75 3481[label="primMinusNat Zero (Succ vyv241)",fontsize=16,color="black",shape="box"];3481 -> 3538[label="",style="solid", color="black", weight=3]; 213.97/145.75 3571[label="primMinusNat (Succ vyv2290) vyv24500",fontsize=16,color="burlywood",shape="box"];4598[label="vyv24500/Succ vyv245000",fontsize=10,color="white",style="solid",shape="box"];3571 -> 4598[label="",style="solid", color="burlywood", weight=9]; 213.97/145.75 4598 -> 3592[label="",style="solid", color="burlywood", weight=3]; 213.97/145.75 4599[label="vyv24500/Zero",fontsize=10,color="white",style="solid",shape="box"];3571 -> 4599[label="",style="solid", color="burlywood", weight=9]; 213.97/145.75 4599 -> 3593[label="",style="solid", color="burlywood", weight=3]; 213.97/145.75 3572[label="primMinusNat Zero vyv24500",fontsize=16,color="burlywood",shape="box"];4600[label="vyv24500/Succ vyv245000",fontsize=10,color="white",style="solid",shape="box"];3572 -> 4600[label="",style="solid", color="burlywood", weight=9]; 213.97/145.75 4600 -> 3594[label="",style="solid", color="burlywood", weight=3]; 213.97/145.75 4601[label="vyv24500/Zero",fontsize=10,color="white",style="solid",shape="box"];3572 -> 4601[label="",style="solid", color="burlywood", weight=9]; 213.97/145.75 4601 -> 3595[label="",style="solid", color="burlywood", weight=3]; 213.97/145.75 3396[label="primEqInt (Pos vyv24200) (Pos Zero)",fontsize=16,color="burlywood",shape="box"];4602[label="vyv24200/Succ vyv242000",fontsize=10,color="white",style="solid",shape="box"];3396 -> 4602[label="",style="solid", color="burlywood", weight=9]; 213.97/145.75 4602 -> 3485[label="",style="solid", color="burlywood", weight=3]; 213.97/145.75 4603[label="vyv24200/Zero",fontsize=10,color="white",style="solid",shape="box"];3396 -> 4603[label="",style="solid", color="burlywood", weight=9]; 213.97/145.75 4603 -> 3486[label="",style="solid", color="burlywood", weight=3]; 213.97/145.75 3397[label="primEqInt (Neg vyv24200) (Pos Zero)",fontsize=16,color="burlywood",shape="box"];4604[label="vyv24200/Succ vyv242000",fontsize=10,color="white",style="solid",shape="box"];3397 -> 4604[label="",style="solid", color="burlywood", weight=9]; 213.97/145.75 4604 -> 3487[label="",style="solid", color="burlywood", weight=3]; 213.97/145.75 4605[label="vyv24200/Zero",fontsize=10,color="white",style="solid",shape="box"];3397 -> 4605[label="",style="solid", color="burlywood", weight=9]; 213.97/145.75 4605 -> 3488[label="",style="solid", color="burlywood", weight=3]; 213.97/145.75 3514[label="reduce (vyv2400 * vyv2390) (vyv2401 * vyv2391)",fontsize=16,color="black",shape="box"];3514 -> 3541[label="",style="solid", color="black", weight=3]; 213.97/145.75 3515[label="primMulInt (Pos vyv2400) (Pos vyv2390)",fontsize=16,color="black",shape="box"];3515 -> 3542[label="",style="solid", color="black", weight=3]; 213.97/145.75 3516[label="primMulInt (Pos vyv2400) (Neg vyv2390)",fontsize=16,color="black",shape="box"];3516 -> 3543[label="",style="solid", color="black", weight=3]; 213.97/145.75 3517[label="primMulInt (Neg vyv2400) (Pos vyv2390)",fontsize=16,color="black",shape="box"];3517 -> 3544[label="",style="solid", color="black", weight=3]; 213.97/145.75 3518[label="primMulInt (Neg vyv2400) (Neg vyv2390)",fontsize=16,color="black",shape="box"];3518 -> 3545[label="",style="solid", color="black", weight=3]; 213.97/145.75 4200[label="primDivNatS0 (Succ vyv311) (Succ vyv312) (primGEqNatS (Succ vyv3130) vyv314)",fontsize=16,color="burlywood",shape="box"];4606[label="vyv314/Succ vyv3140",fontsize=10,color="white",style="solid",shape="box"];4200 -> 4606[label="",style="solid", color="burlywood", weight=9]; 213.97/145.75 4606 -> 4207[label="",style="solid", color="burlywood", weight=3]; 213.97/145.75 4607[label="vyv314/Zero",fontsize=10,color="white",style="solid",shape="box"];4200 -> 4607[label="",style="solid", color="burlywood", weight=9]; 213.97/145.75 4607 -> 4208[label="",style="solid", color="burlywood", weight=3]; 213.97/145.75 4201[label="primDivNatS0 (Succ vyv311) (Succ vyv312) (primGEqNatS Zero vyv314)",fontsize=16,color="burlywood",shape="box"];4608[label="vyv314/Succ vyv3140",fontsize=10,color="white",style="solid",shape="box"];4201 -> 4608[label="",style="solid", color="burlywood", weight=9]; 213.97/145.75 4608 -> 4209[label="",style="solid", color="burlywood", weight=3]; 213.97/145.75 4609[label="vyv314/Zero",fontsize=10,color="white",style="solid",shape="box"];4201 -> 4609[label="",style="solid", color="burlywood", weight=9]; 213.97/145.75 4609 -> 4210[label="",style="solid", color="burlywood", weight=3]; 213.97/145.75 3924 -> 3867[label="",style="dashed", color="red", weight=0]; 213.97/145.75 3924[label="primDivNatS (primMinusNatS (Succ vyv271000) Zero) (Succ Zero)",fontsize=16,color="magenta"];3924 -> 3933[label="",style="dashed", color="magenta", weight=3]; 213.97/145.75 3924 -> 3934[label="",style="dashed", color="magenta", weight=3]; 213.97/145.75 3925 -> 3867[label="",style="dashed", color="red", weight=0]; 213.97/145.75 3925[label="primDivNatS (primMinusNatS Zero Zero) (Succ Zero)",fontsize=16,color="magenta"];3925 -> 3935[label="",style="dashed", color="magenta", weight=3]; 213.97/145.75 3925 -> 3936[label="",style="dashed", color="magenta", weight=3]; 213.97/145.75 3691 -> 3385[label="",style="dashed", color="red", weight=0]; 213.97/145.75 3691[label="vyv265 * vyv266",fontsize=16,color="magenta"];3691 -> 3704[label="",style="dashed", color="magenta", weight=3]; 213.97/145.75 3691 -> 3705[label="",style="dashed", color="magenta", weight=3]; 213.97/145.75 3692 -> 3385[label="",style="dashed", color="red", weight=0]; 213.97/145.75 3692[label="vyv265 * vyv266",fontsize=16,color="magenta"];3692 -> 3706[label="",style="dashed", color="magenta", weight=3]; 213.97/145.75 3692 -> 3707[label="",style="dashed", color="magenta", weight=3]; 213.97/145.75 3693 -> 3385[label="",style="dashed", color="red", weight=0]; 213.97/145.75 3693[label="vyv267 * vyv268",fontsize=16,color="magenta"];3693 -> 3708[label="",style="dashed", color="magenta", weight=3]; 213.97/145.75 3693 -> 3709[label="",style="dashed", color="magenta", weight=3]; 213.97/145.75 3690[label="vyv271 `quot` reduce2D vyv273 vyv272",fontsize=16,color="black",shape="triangle"];3690 -> 3710[label="",style="solid", color="black", weight=3]; 213.97/145.75 3698 -> 3381[label="",style="dashed", color="red", weight=0]; 213.97/145.75 3698[label="vyv265 * vyv266",fontsize=16,color="magenta"];3698 -> 3711[label="",style="dashed", color="magenta", weight=3]; 213.97/145.75 3698 -> 3712[label="",style="dashed", color="magenta", weight=3]; 213.97/145.75 3699 -> 3381[label="",style="dashed", color="red", weight=0]; 213.97/145.75 3699[label="vyv267 * vyv268",fontsize=16,color="magenta"];3699 -> 3713[label="",style="dashed", color="magenta", weight=3]; 213.97/145.75 3699 -> 3714[label="",style="dashed", color="magenta", weight=3]; 213.97/145.75 3700 -> 3381[label="",style="dashed", color="red", weight=0]; 213.97/145.75 3700[label="vyv265 * vyv266",fontsize=16,color="magenta"];3700 -> 3715[label="",style="dashed", color="magenta", weight=3]; 213.97/145.75 3700 -> 3716[label="",style="dashed", color="magenta", weight=3]; 213.97/145.75 3697[label="vyv274 `quot` reduce2D vyv276 vyv275",fontsize=16,color="black",shape="triangle"];3697 -> 3717[label="",style="solid", color="black", weight=3]; 213.97/145.75 3694 -> 3385[label="",style="dashed", color="red", weight=0]; 213.97/145.75 3694[label="vyv265 * vyv266",fontsize=16,color="magenta"];3694 -> 3718[label="",style="dashed", color="magenta", weight=3]; 213.97/145.75 3694 -> 3719[label="",style="dashed", color="magenta", weight=3]; 213.97/145.75 3695 -> 3385[label="",style="dashed", color="red", weight=0]; 213.97/145.75 3695[label="vyv267 * vyv268",fontsize=16,color="magenta"];3695 -> 3720[label="",style="dashed", color="magenta", weight=3]; 213.97/145.75 3695 -> 3721[label="",style="dashed", color="magenta", weight=3]; 213.97/145.75 3696 -> 3385[label="",style="dashed", color="red", weight=0]; 213.97/145.75 3696[label="vyv267 * vyv268",fontsize=16,color="magenta"];3696 -> 3722[label="",style="dashed", color="magenta", weight=3]; 213.97/145.75 3696 -> 3723[label="",style="dashed", color="magenta", weight=3]; 213.97/145.75 3701 -> 3381[label="",style="dashed", color="red", weight=0]; 213.97/145.75 3701[label="vyv265 * vyv266",fontsize=16,color="magenta"];3701 -> 3724[label="",style="dashed", color="magenta", weight=3]; 213.97/145.75 3701 -> 3725[label="",style="dashed", color="magenta", weight=3]; 213.97/145.75 3702 -> 3381[label="",style="dashed", color="red", weight=0]; 213.97/145.75 3702[label="vyv267 * vyv268",fontsize=16,color="magenta"];3702 -> 3726[label="",style="dashed", color="magenta", weight=3]; 213.97/145.75 3702 -> 3727[label="",style="dashed", color="magenta", weight=3]; 213.97/145.75 3703 -> 3381[label="",style="dashed", color="red", weight=0]; 213.97/145.75 3703[label="vyv267 * vyv268",fontsize=16,color="magenta"];3703 -> 3728[label="",style="dashed", color="magenta", weight=3]; 213.97/145.75 3703 -> 3729[label="",style="dashed", color="magenta", weight=3]; 213.97/145.75 3533 -> 114[label="",style="dashed", color="red", weight=0]; 213.97/145.75 3533[label="primPlusNat (primMulNat vyv1840000 (Succ (Succ (Succ vyv1840000)))) (Succ (Succ (Succ vyv1840000)))",fontsize=16,color="magenta"];3533 -> 3573[label="",style="dashed", color="magenta", weight=3]; 213.97/145.75 3533 -> 3574[label="",style="dashed", color="magenta", weight=3]; 213.97/145.75 3534[label="Zero",fontsize=16,color="green",shape="box"];3535[label="Succ vyv241",fontsize=16,color="green",shape="box"];3536[label="vyv2440",fontsize=16,color="green",shape="box"];3537 -> 3529[label="",style="dashed", color="red", weight=0]; 213.97/145.75 3537[label="primMinusNat vyv24400 vyv241",fontsize=16,color="magenta"];3537 -> 3575[label="",style="dashed", color="magenta", weight=3]; 213.97/145.75 3537 -> 3576[label="",style="dashed", color="magenta", weight=3]; 213.97/145.75 3538[label="Neg (Succ vyv241)",fontsize=16,color="green",shape="box"];3592[label="primMinusNat (Succ vyv2290) (Succ vyv245000)",fontsize=16,color="black",shape="box"];3592 -> 3626[label="",style="solid", color="black", weight=3]; 213.97/145.75 3593[label="primMinusNat (Succ vyv2290) Zero",fontsize=16,color="black",shape="box"];3593 -> 3627[label="",style="solid", color="black", weight=3]; 213.97/145.75 3594[label="primMinusNat Zero (Succ vyv245000)",fontsize=16,color="black",shape="box"];3594 -> 3628[label="",style="solid", color="black", weight=3]; 213.97/145.75 3595[label="primMinusNat Zero Zero",fontsize=16,color="black",shape="box"];3595 -> 3629[label="",style="solid", color="black", weight=3]; 213.97/145.75 3485[label="primEqInt (Pos (Succ vyv242000)) (Pos Zero)",fontsize=16,color="black",shape="box"];3485 -> 3546[label="",style="solid", color="black", weight=3]; 213.97/145.75 3486[label="primEqInt (Pos Zero) (Pos Zero)",fontsize=16,color="black",shape="box"];3486 -> 3547[label="",style="solid", color="black", weight=3]; 213.97/145.75 3487[label="primEqInt (Neg (Succ vyv242000)) (Pos Zero)",fontsize=16,color="black",shape="box"];3487 -> 3548[label="",style="solid", color="black", weight=3]; 213.97/145.75 3488[label="primEqInt (Neg Zero) (Pos Zero)",fontsize=16,color="black",shape="box"];3488 -> 3549[label="",style="solid", color="black", weight=3]; 213.97/145.75 3541[label="reduce2 (vyv2400 * vyv2390) (vyv2401 * vyv2391)",fontsize=16,color="black",shape="box"];3541 -> 3579[label="",style="solid", color="black", weight=3]; 213.97/145.75 3542[label="Pos (primMulNat vyv2400 vyv2390)",fontsize=16,color="green",shape="box"];3542 -> 3580[label="",style="dashed", color="green", weight=3]; 213.97/145.75 3543[label="Neg (primMulNat vyv2400 vyv2390)",fontsize=16,color="green",shape="box"];3543 -> 3581[label="",style="dashed", color="green", weight=3]; 213.97/145.75 3544[label="Neg (primMulNat vyv2400 vyv2390)",fontsize=16,color="green",shape="box"];3544 -> 3582[label="",style="dashed", color="green", weight=3]; 213.97/145.75 3545[label="Pos (primMulNat vyv2400 vyv2390)",fontsize=16,color="green",shape="box"];3545 -> 3583[label="",style="dashed", color="green", weight=3]; 213.97/145.75 4207[label="primDivNatS0 (Succ vyv311) (Succ vyv312) (primGEqNatS (Succ vyv3130) (Succ vyv3140))",fontsize=16,color="black",shape="box"];4207 -> 4215[label="",style="solid", color="black", weight=3]; 213.97/145.75 4208[label="primDivNatS0 (Succ vyv311) (Succ vyv312) (primGEqNatS (Succ vyv3130) Zero)",fontsize=16,color="black",shape="box"];4208 -> 4216[label="",style="solid", color="black", weight=3]; 213.97/145.75 4209[label="primDivNatS0 (Succ vyv311) (Succ vyv312) (primGEqNatS Zero (Succ vyv3140))",fontsize=16,color="black",shape="box"];4209 -> 4217[label="",style="solid", color="black", weight=3]; 213.97/145.75 4210[label="primDivNatS0 (Succ vyv311) (Succ vyv312) (primGEqNatS Zero Zero)",fontsize=16,color="black",shape="box"];4210 -> 4218[label="",style="solid", color="black", weight=3]; 213.97/145.75 3933[label="primMinusNatS (Succ vyv271000) Zero",fontsize=16,color="black",shape="triangle"];3933 -> 3946[label="",style="solid", color="black", weight=3]; 213.97/145.75 3934[label="Zero",fontsize=16,color="green",shape="box"];3935[label="primMinusNatS Zero Zero",fontsize=16,color="black",shape="triangle"];3935 -> 3947[label="",style="solid", color="black", weight=3]; 213.97/145.75 3936[label="Zero",fontsize=16,color="green",shape="box"];3704[label="vyv266",fontsize=16,color="green",shape="box"];3705[label="vyv265",fontsize=16,color="green",shape="box"];3706[label="vyv266",fontsize=16,color="green",shape="box"];3707[label="vyv265",fontsize=16,color="green",shape="box"];3708[label="vyv268",fontsize=16,color="green",shape="box"];3709[label="vyv267",fontsize=16,color="green",shape="box"];3710[label="primQuotInt vyv271 (reduce2D vyv273 vyv272)",fontsize=16,color="burlywood",shape="box"];4610[label="vyv271/Pos vyv2710",fontsize=10,color="white",style="solid",shape="box"];3710 -> 4610[label="",style="solid", color="burlywood", weight=9]; 213.97/145.75 4610 -> 3730[label="",style="solid", color="burlywood", weight=3]; 213.97/145.75 4611[label="vyv271/Neg vyv2710",fontsize=10,color="white",style="solid",shape="box"];3710 -> 4611[label="",style="solid", color="burlywood", weight=9]; 213.97/145.75 4611 -> 3731[label="",style="solid", color="burlywood", weight=3]; 213.97/145.75 3711[label="vyv266",fontsize=16,color="green",shape="box"];3712[label="vyv265",fontsize=16,color="green",shape="box"];3713[label="vyv268",fontsize=16,color="green",shape="box"];3714[label="vyv267",fontsize=16,color="green",shape="box"];3715[label="vyv266",fontsize=16,color="green",shape="box"];3716[label="vyv265",fontsize=16,color="green",shape="box"];3717[label="error []",fontsize=16,color="red",shape="box"];3718[label="vyv266",fontsize=16,color="green",shape="box"];3719[label="vyv265",fontsize=16,color="green",shape="box"];3720[label="vyv268",fontsize=16,color="green",shape="box"];3721[label="vyv267",fontsize=16,color="green",shape="box"];3722[label="vyv268",fontsize=16,color="green",shape="box"];3723[label="vyv267",fontsize=16,color="green",shape="box"];3724[label="vyv266",fontsize=16,color="green",shape="box"];3725[label="vyv265",fontsize=16,color="green",shape="box"];3726[label="vyv268",fontsize=16,color="green",shape="box"];3727[label="vyv267",fontsize=16,color="green",shape="box"];3728[label="vyv268",fontsize=16,color="green",shape="box"];3729[label="vyv267",fontsize=16,color="green",shape="box"];3573[label="primMulNat vyv1840000 (Succ (Succ (Succ vyv1840000)))",fontsize=16,color="burlywood",shape="box"];4612[label="vyv1840000/Succ vyv18400000",fontsize=10,color="white",style="solid",shape="box"];3573 -> 4612[label="",style="solid", color="burlywood", weight=9]; 213.97/145.75 4612 -> 3596[label="",style="solid", color="burlywood", weight=3]; 213.97/145.75 4613[label="vyv1840000/Zero",fontsize=10,color="white",style="solid",shape="box"];3573 -> 4613[label="",style="solid", color="burlywood", weight=9]; 213.97/145.75 4613 -> 3597[label="",style="solid", color="burlywood", weight=3]; 213.97/145.75 3574[label="Succ (Succ (Succ vyv1840000))",fontsize=16,color="green",shape="box"];3575[label="vyv24400",fontsize=16,color="green",shape="box"];3576[label="vyv241",fontsize=16,color="green",shape="box"];3626 -> 3529[label="",style="dashed", color="red", weight=0]; 213.97/145.75 3626[label="primMinusNat vyv2290 vyv245000",fontsize=16,color="magenta"];3626 -> 3652[label="",style="dashed", color="magenta", weight=3]; 213.97/145.75 3626 -> 3653[label="",style="dashed", color="magenta", weight=3]; 213.97/145.75 3627[label="Pos (Succ vyv2290)",fontsize=16,color="green",shape="box"];3628[label="Neg (Succ vyv245000)",fontsize=16,color="green",shape="box"];3629[label="Pos Zero",fontsize=16,color="green",shape="box"];3546[label="False",fontsize=16,color="green",shape="box"];3547[label="True",fontsize=16,color="green",shape="box"];3548[label="False",fontsize=16,color="green",shape="box"];3549[label="True",fontsize=16,color="green",shape="box"];3579 -> 3600[label="",style="dashed", color="red", weight=0]; 213.97/145.75 3579[label="reduce2Reduce1 (vyv2400 * vyv2390) (vyv2401 * vyv2391) (vyv2400 * vyv2390) (vyv2401 * vyv2391) (vyv2401 * vyv2391 == fromInt (Pos Zero))",fontsize=16,color="magenta"];3579 -> 3611[label="",style="dashed", color="magenta", weight=3]; 213.97/145.75 3579 -> 3612[label="",style="dashed", color="magenta", weight=3]; 213.97/145.75 3579 -> 3613[label="",style="dashed", color="magenta", weight=3]; 213.97/145.75 3579 -> 3614[label="",style="dashed", color="magenta", weight=3]; 213.97/145.75 3579 -> 3615[label="",style="dashed", color="magenta", weight=3]; 213.97/145.75 3580[label="primMulNat vyv2400 vyv2390",fontsize=16,color="burlywood",shape="triangle"];4614[label="vyv2400/Succ vyv24000",fontsize=10,color="white",style="solid",shape="box"];3580 -> 4614[label="",style="solid", color="burlywood", weight=9]; 213.97/145.75 4614 -> 3630[label="",style="solid", color="burlywood", weight=3]; 213.97/145.75 4615[label="vyv2400/Zero",fontsize=10,color="white",style="solid",shape="box"];3580 -> 4615[label="",style="solid", color="burlywood", weight=9]; 213.97/145.75 4615 -> 3631[label="",style="solid", color="burlywood", weight=3]; 213.97/145.75 3581 -> 3580[label="",style="dashed", color="red", weight=0]; 213.97/145.75 3581[label="primMulNat vyv2400 vyv2390",fontsize=16,color="magenta"];3581 -> 3632[label="",style="dashed", color="magenta", weight=3]; 213.97/145.75 3582 -> 3580[label="",style="dashed", color="red", weight=0]; 213.97/145.75 3582[label="primMulNat vyv2400 vyv2390",fontsize=16,color="magenta"];3582 -> 3633[label="",style="dashed", color="magenta", weight=3]; 213.97/145.75 3583 -> 3580[label="",style="dashed", color="red", weight=0]; 213.97/145.75 3583[label="primMulNat vyv2400 vyv2390",fontsize=16,color="magenta"];3583 -> 3634[label="",style="dashed", color="magenta", weight=3]; 213.97/145.75 3583 -> 3635[label="",style="dashed", color="magenta", weight=3]; 213.97/145.75 4215 -> 4167[label="",style="dashed", color="red", weight=0]; 213.97/145.75 4215[label="primDivNatS0 (Succ vyv311) (Succ vyv312) (primGEqNatS vyv3130 vyv3140)",fontsize=16,color="magenta"];4215 -> 4224[label="",style="dashed", color="magenta", weight=3]; 213.97/145.75 4215 -> 4225[label="",style="dashed", color="magenta", weight=3]; 213.97/145.75 4216[label="primDivNatS0 (Succ vyv311) (Succ vyv312) True",fontsize=16,color="black",shape="triangle"];4216 -> 4226[label="",style="solid", color="black", weight=3]; 213.97/145.75 4217[label="primDivNatS0 (Succ vyv311) (Succ vyv312) False",fontsize=16,color="black",shape="box"];4217 -> 4227[label="",style="solid", color="black", weight=3]; 213.97/145.75 4218 -> 4216[label="",style="dashed", color="red", weight=0]; 213.97/145.75 4218[label="primDivNatS0 (Succ vyv311) (Succ vyv312) True",fontsize=16,color="magenta"];3946[label="Succ vyv271000",fontsize=16,color="green",shape="box"];3947[label="Zero",fontsize=16,color="green",shape="box"];3730[label="primQuotInt (Pos vyv2710) (reduce2D vyv273 vyv272)",fontsize=16,color="black",shape="box"];3730 -> 3732[label="",style="solid", color="black", weight=3]; 213.97/145.75 3731[label="primQuotInt (Neg vyv2710) (reduce2D vyv273 vyv272)",fontsize=16,color="black",shape="box"];3731 -> 3733[label="",style="solid", color="black", weight=3]; 213.97/145.75 3596[label="primMulNat (Succ vyv18400000) (Succ (Succ (Succ (Succ vyv18400000))))",fontsize=16,color="black",shape="box"];3596 -> 3636[label="",style="solid", color="black", weight=3]; 213.97/145.75 3597[label="primMulNat Zero (Succ (Succ (Succ Zero)))",fontsize=16,color="black",shape="box"];3597 -> 3637[label="",style="solid", color="black", weight=3]; 213.97/145.75 3652[label="vyv2290",fontsize=16,color="green",shape="box"];3653[label="vyv245000",fontsize=16,color="green",shape="box"];3611[label="vyv2391",fontsize=16,color="green",shape="box"];3612[label="vyv2401 * vyv2391 == fromInt (Pos Zero)",fontsize=16,color="blue",shape="box"];4616[label="== :: Integer -> Integer -> Bool",fontsize=10,color="white",style="solid",shape="box"];3612 -> 4616[label="",style="solid", color="blue", weight=9]; 213.97/145.75 4616 -> 3640[label="",style="solid", color="blue", weight=3]; 213.97/145.75 4617[label="== :: Int -> Int -> Bool",fontsize=10,color="white",style="solid",shape="box"];3612 -> 4617[label="",style="solid", color="blue", weight=9]; 213.97/145.75 4617 -> 3641[label="",style="solid", color="blue", weight=3]; 213.97/145.75 3613[label="vyv2401",fontsize=16,color="green",shape="box"];3614[label="vyv2390",fontsize=16,color="green",shape="box"];3615[label="vyv2400",fontsize=16,color="green",shape="box"];3630[label="primMulNat (Succ vyv24000) vyv2390",fontsize=16,color="burlywood",shape="box"];4618[label="vyv2390/Succ vyv23900",fontsize=10,color="white",style="solid",shape="box"];3630 -> 4618[label="",style="solid", color="burlywood", weight=9]; 213.97/145.75 4618 -> 3654[label="",style="solid", color="burlywood", weight=3]; 213.97/145.75 4619[label="vyv2390/Zero",fontsize=10,color="white",style="solid",shape="box"];3630 -> 4619[label="",style="solid", color="burlywood", weight=9]; 213.97/145.75 4619 -> 3655[label="",style="solid", color="burlywood", weight=3]; 213.97/145.75 3631[label="primMulNat Zero vyv2390",fontsize=16,color="burlywood",shape="box"];4620[label="vyv2390/Succ vyv23900",fontsize=10,color="white",style="solid",shape="box"];3631 -> 4620[label="",style="solid", color="burlywood", weight=9]; 213.97/145.75 4620 -> 3656[label="",style="solid", color="burlywood", weight=3]; 213.97/145.75 4621[label="vyv2390/Zero",fontsize=10,color="white",style="solid",shape="box"];3631 -> 4621[label="",style="solid", color="burlywood", weight=9]; 213.97/145.75 4621 -> 3657[label="",style="solid", color="burlywood", weight=3]; 213.97/145.75 3632[label="vyv2390",fontsize=16,color="green",shape="box"];3633[label="vyv2400",fontsize=16,color="green",shape="box"];3634[label="vyv2390",fontsize=16,color="green",shape="box"];3635[label="vyv2400",fontsize=16,color="green",shape="box"];4224[label="vyv3130",fontsize=16,color="green",shape="box"];4225[label="vyv3140",fontsize=16,color="green",shape="box"];4226[label="Succ (primDivNatS (primMinusNatS (Succ vyv311) (Succ vyv312)) (Succ (Succ vyv312)))",fontsize=16,color="green",shape="box"];4226 -> 4236[label="",style="dashed", color="green", weight=3]; 213.97/145.75 4227[label="Zero",fontsize=16,color="green",shape="box"];3732 -> 3793[label="",style="dashed", color="red", weight=0]; 213.97/145.75 3732[label="primQuotInt (Pos vyv2710) (gcd vyv273 vyv272)",fontsize=16,color="magenta"];3732 -> 3802[label="",style="dashed", color="magenta", weight=3]; 213.97/145.75 3733 -> 3830[label="",style="dashed", color="red", weight=0]; 213.97/145.75 3733[label="primQuotInt (Neg vyv2710) (gcd vyv273 vyv272)",fontsize=16,color="magenta"];3733 -> 3839[label="",style="dashed", color="magenta", weight=3]; 213.97/145.75 3636 -> 114[label="",style="dashed", color="red", weight=0]; 213.97/145.75 3636[label="primPlusNat (primMulNat vyv18400000 (Succ (Succ (Succ (Succ vyv18400000))))) (Succ (Succ (Succ (Succ vyv18400000))))",fontsize=16,color="magenta"];3636 -> 3658[label="",style="dashed", color="magenta", weight=3]; 213.97/145.75 3636 -> 3659[label="",style="dashed", color="magenta", weight=3]; 213.97/145.75 3637[label="Zero",fontsize=16,color="green",shape="box"];3640 -> 3643[label="",style="dashed", color="red", weight=0]; 213.97/145.75 3640[label="vyv2401 * vyv2391 == fromInt (Pos Zero)",fontsize=16,color="magenta"];3640 -> 3645[label="",style="dashed", color="magenta", weight=3]; 213.97/145.75 3641 -> 3280[label="",style="dashed", color="red", weight=0]; 213.97/145.75 3641[label="vyv2401 * vyv2391 == fromInt (Pos Zero)",fontsize=16,color="magenta"];3641 -> 3661[label="",style="dashed", color="magenta", weight=3]; 213.97/145.75 3654[label="primMulNat (Succ vyv24000) (Succ vyv23900)",fontsize=16,color="black",shape="box"];3654 -> 3669[label="",style="solid", color="black", weight=3]; 213.97/145.75 3655[label="primMulNat (Succ vyv24000) Zero",fontsize=16,color="black",shape="box"];3655 -> 3670[label="",style="solid", color="black", weight=3]; 213.97/145.75 3656[label="primMulNat Zero (Succ vyv23900)",fontsize=16,color="black",shape="box"];3656 -> 3671[label="",style="solid", color="black", weight=3]; 213.97/145.75 3657[label="primMulNat Zero Zero",fontsize=16,color="black",shape="box"];3657 -> 3672[label="",style="solid", color="black", weight=3]; 213.97/145.75 4236 -> 3867[label="",style="dashed", color="red", weight=0]; 213.97/145.75 4236[label="primDivNatS (primMinusNatS (Succ vyv311) (Succ vyv312)) (Succ (Succ vyv312))",fontsize=16,color="magenta"];4236 -> 4242[label="",style="dashed", color="magenta", weight=3]; 213.97/145.75 4236 -> 4243[label="",style="dashed", color="magenta", weight=3]; 213.97/145.75 3802[label="gcd vyv273 vyv272",fontsize=16,color="black",shape="triangle"];3802 -> 3821[label="",style="solid", color="black", weight=3]; 213.97/145.75 3839 -> 3802[label="",style="dashed", color="red", weight=0]; 213.97/145.75 3839[label="gcd vyv273 vyv272",fontsize=16,color="magenta"];3658 -> 3580[label="",style="dashed", color="red", weight=0]; 213.97/145.75 3658[label="primMulNat vyv18400000 (Succ (Succ (Succ (Succ vyv18400000))))",fontsize=16,color="magenta"];3658 -> 3673[label="",style="dashed", color="magenta", weight=3]; 213.97/145.75 3658 -> 3674[label="",style="dashed", color="magenta", weight=3]; 213.97/145.75 3659[label="Succ (Succ (Succ (Succ vyv18400000)))",fontsize=16,color="green",shape="box"];3645 -> 3381[label="",style="dashed", color="red", weight=0]; 213.97/145.75 3645[label="vyv2401 * vyv2391",fontsize=16,color="magenta"];3645 -> 3662[label="",style="dashed", color="magenta", weight=3]; 213.97/145.75 3645 -> 3663[label="",style="dashed", color="magenta", weight=3]; 213.97/145.75 3661 -> 3385[label="",style="dashed", color="red", weight=0]; 213.97/145.75 3661[label="vyv2401 * vyv2391",fontsize=16,color="magenta"];3661 -> 3675[label="",style="dashed", color="magenta", weight=3]; 213.97/145.75 3661 -> 3676[label="",style="dashed", color="magenta", weight=3]; 213.97/145.75 3669 -> 114[label="",style="dashed", color="red", weight=0]; 213.97/145.75 3669[label="primPlusNat (primMulNat vyv24000 (Succ vyv23900)) (Succ vyv23900)",fontsize=16,color="magenta"];3669 -> 3679[label="",style="dashed", color="magenta", weight=3]; 213.97/145.75 3669 -> 3680[label="",style="dashed", color="magenta", weight=3]; 213.97/145.75 3670[label="Zero",fontsize=16,color="green",shape="box"];3671[label="Zero",fontsize=16,color="green",shape="box"];3672[label="Zero",fontsize=16,color="green",shape="box"];4242[label="primMinusNatS (Succ vyv311) (Succ vyv312)",fontsize=16,color="black",shape="box"];4242 -> 4249[label="",style="solid", color="black", weight=3]; 213.97/145.75 4243[label="Succ vyv312",fontsize=16,color="green",shape="box"];3821[label="gcd3 vyv273 vyv272",fontsize=16,color="black",shape="box"];3821 -> 3829[label="",style="solid", color="black", weight=3]; 213.97/145.75 3673[label="Succ (Succ (Succ (Succ vyv18400000)))",fontsize=16,color="green",shape="box"];3674[label="vyv18400000",fontsize=16,color="green",shape="box"];3662[label="vyv2391",fontsize=16,color="green",shape="box"];3663[label="vyv2401",fontsize=16,color="green",shape="box"];3675[label="vyv2391",fontsize=16,color="green",shape="box"];3676[label="vyv2401",fontsize=16,color="green",shape="box"];3679 -> 3580[label="",style="dashed", color="red", weight=0]; 213.97/145.75 3679[label="primMulNat vyv24000 (Succ vyv23900)",fontsize=16,color="magenta"];3679 -> 3684[label="",style="dashed", color="magenta", weight=3]; 213.97/145.75 3679 -> 3685[label="",style="dashed", color="magenta", weight=3]; 213.97/145.75 3680[label="Succ vyv23900",fontsize=16,color="green",shape="box"];4249[label="primMinusNatS vyv311 vyv312",fontsize=16,color="burlywood",shape="triangle"];4622[label="vyv311/Succ vyv3110",fontsize=10,color="white",style="solid",shape="box"];4249 -> 4622[label="",style="solid", color="burlywood", weight=9]; 213.97/145.75 4622 -> 4258[label="",style="solid", color="burlywood", weight=3]; 213.97/145.75 4623[label="vyv311/Zero",fontsize=10,color="white",style="solid",shape="box"];4249 -> 4623[label="",style="solid", color="burlywood", weight=9]; 213.97/145.75 4623 -> 4259[label="",style="solid", color="burlywood", weight=3]; 213.97/145.75 3829 -> 3861[label="",style="dashed", color="red", weight=0]; 213.97/145.75 3829[label="gcd2 (vyv273 == fromInt (Pos Zero)) vyv273 vyv272",fontsize=16,color="magenta"];3829 -> 3862[label="",style="dashed", color="magenta", weight=3]; 213.97/145.75 3684[label="Succ vyv23900",fontsize=16,color="green",shape="box"];3685[label="vyv24000",fontsize=16,color="green",shape="box"];4258[label="primMinusNatS (Succ vyv3110) vyv312",fontsize=16,color="burlywood",shape="box"];4624[label="vyv312/Succ vyv3120",fontsize=10,color="white",style="solid",shape="box"];4258 -> 4624[label="",style="solid", color="burlywood", weight=9]; 213.97/145.75 4624 -> 4268[label="",style="solid", color="burlywood", weight=3]; 213.97/145.75 4625[label="vyv312/Zero",fontsize=10,color="white",style="solid",shape="box"];4258 -> 4625[label="",style="solid", color="burlywood", weight=9]; 213.97/145.75 4625 -> 4269[label="",style="solid", color="burlywood", weight=3]; 213.97/145.75 4259[label="primMinusNatS Zero vyv312",fontsize=16,color="burlywood",shape="box"];4626[label="vyv312/Succ vyv3120",fontsize=10,color="white",style="solid",shape="box"];4259 -> 4626[label="",style="solid", color="burlywood", weight=9]; 213.97/145.75 4626 -> 4270[label="",style="solid", color="burlywood", weight=3]; 213.97/145.75 4627[label="vyv312/Zero",fontsize=10,color="white",style="solid",shape="box"];4259 -> 4627[label="",style="solid", color="burlywood", weight=9]; 213.97/145.75 4627 -> 4271[label="",style="solid", color="burlywood", weight=3]; 213.97/145.75 3862 -> 3280[label="",style="dashed", color="red", weight=0]; 213.97/145.75 3862[label="vyv273 == fromInt (Pos Zero)",fontsize=16,color="magenta"];3862 -> 3870[label="",style="dashed", color="magenta", weight=3]; 213.97/145.75 3861[label="gcd2 vyv289 vyv273 vyv272",fontsize=16,color="burlywood",shape="triangle"];4628[label="vyv289/False",fontsize=10,color="white",style="solid",shape="box"];3861 -> 4628[label="",style="solid", color="burlywood", weight=9]; 213.97/145.75 4628 -> 3871[label="",style="solid", color="burlywood", weight=3]; 213.97/145.75 4629[label="vyv289/True",fontsize=10,color="white",style="solid",shape="box"];3861 -> 4629[label="",style="solid", color="burlywood", weight=9]; 213.97/145.75 4629 -> 3872[label="",style="solid", color="burlywood", weight=3]; 213.97/145.75 4268[label="primMinusNatS (Succ vyv3110) (Succ vyv3120)",fontsize=16,color="black",shape="box"];4268 -> 4277[label="",style="solid", color="black", weight=3]; 213.97/145.75 4269[label="primMinusNatS (Succ vyv3110) Zero",fontsize=16,color="black",shape="box"];4269 -> 4278[label="",style="solid", color="black", weight=3]; 213.97/145.75 4270[label="primMinusNatS Zero (Succ vyv3120)",fontsize=16,color="black",shape="box"];4270 -> 4279[label="",style="solid", color="black", weight=3]; 213.97/145.75 4271[label="primMinusNatS Zero Zero",fontsize=16,color="black",shape="box"];4271 -> 4280[label="",style="solid", color="black", weight=3]; 213.97/145.75 3870[label="vyv273",fontsize=16,color="green",shape="box"];3871[label="gcd2 False vyv273 vyv272",fontsize=16,color="black",shape="box"];3871 -> 3880[label="",style="solid", color="black", weight=3]; 213.97/145.75 3872[label="gcd2 True vyv273 vyv272",fontsize=16,color="black",shape="box"];3872 -> 3881[label="",style="solid", color="black", weight=3]; 213.97/145.75 4277 -> 4249[label="",style="dashed", color="red", weight=0]; 213.97/145.75 4277[label="primMinusNatS vyv3110 vyv3120",fontsize=16,color="magenta"];4277 -> 4289[label="",style="dashed", color="magenta", weight=3]; 213.97/145.75 4277 -> 4290[label="",style="dashed", color="magenta", weight=3]; 213.97/145.75 4278[label="Succ vyv3110",fontsize=16,color="green",shape="box"];4279[label="Zero",fontsize=16,color="green",shape="box"];4280[label="Zero",fontsize=16,color="green",shape="box"];3880[label="gcd0 vyv273 vyv272",fontsize=16,color="black",shape="triangle"];3880 -> 3886[label="",style="solid", color="black", weight=3]; 213.97/145.75 3881 -> 3887[label="",style="dashed", color="red", weight=0]; 213.97/145.75 3881[label="gcd1 (vyv272 == fromInt (Pos Zero)) vyv273 vyv272",fontsize=16,color="magenta"];3881 -> 3888[label="",style="dashed", color="magenta", weight=3]; 213.97/145.75 4289[label="vyv3110",fontsize=16,color="green",shape="box"];4290[label="vyv3120",fontsize=16,color="green",shape="box"];3886[label="gcd0Gcd' (abs vyv273) (abs vyv272)",fontsize=16,color="black",shape="box"];3886 -> 3895[label="",style="solid", color="black", weight=3]; 213.97/145.75 3888 -> 3280[label="",style="dashed", color="red", weight=0]; 213.97/145.75 3888[label="vyv272 == fromInt (Pos Zero)",fontsize=16,color="magenta"];3888 -> 3896[label="",style="dashed", color="magenta", weight=3]; 213.97/145.75 3887[label="gcd1 vyv290 vyv273 vyv272",fontsize=16,color="burlywood",shape="triangle"];4630[label="vyv290/False",fontsize=10,color="white",style="solid",shape="box"];3887 -> 4630[label="",style="solid", color="burlywood", weight=9]; 213.97/145.75 4630 -> 3897[label="",style="solid", color="burlywood", weight=3]; 213.97/145.75 4631[label="vyv290/True",fontsize=10,color="white",style="solid",shape="box"];3887 -> 4631[label="",style="solid", color="burlywood", weight=9]; 213.97/145.75 4631 -> 3898[label="",style="solid", color="burlywood", weight=3]; 213.97/145.75 3895[label="gcd0Gcd'2 (abs vyv273) (abs vyv272)",fontsize=16,color="black",shape="box"];3895 -> 3903[label="",style="solid", color="black", weight=3]; 213.97/145.75 3896[label="vyv272",fontsize=16,color="green",shape="box"];3897[label="gcd1 False vyv273 vyv272",fontsize=16,color="black",shape="box"];3897 -> 3904[label="",style="solid", color="black", weight=3]; 213.97/145.75 3898[label="gcd1 True vyv273 vyv272",fontsize=16,color="black",shape="box"];3898 -> 3905[label="",style="solid", color="black", weight=3]; 213.97/145.75 3903 -> 3910[label="",style="dashed", color="red", weight=0]; 213.97/145.75 3903[label="gcd0Gcd'1 (abs vyv272 == fromInt (Pos Zero)) (abs vyv273) (abs vyv272)",fontsize=16,color="magenta"];3903 -> 3911[label="",style="dashed", color="magenta", weight=3]; 213.97/145.75 3904 -> 3880[label="",style="dashed", color="red", weight=0]; 213.97/145.75 3904[label="gcd0 vyv273 vyv272",fontsize=16,color="magenta"];3905 -> 3858[label="",style="dashed", color="red", weight=0]; 213.97/145.75 3905[label="error []",fontsize=16,color="magenta"];3911 -> 3280[label="",style="dashed", color="red", weight=0]; 213.97/145.75 3911[label="abs vyv272 == fromInt (Pos Zero)",fontsize=16,color="magenta"];3911 -> 3917[label="",style="dashed", color="magenta", weight=3]; 213.97/145.75 3910[label="gcd0Gcd'1 vyv291 (abs vyv273) (abs vyv272)",fontsize=16,color="burlywood",shape="triangle"];4632[label="vyv291/False",fontsize=10,color="white",style="solid",shape="box"];3910 -> 4632[label="",style="solid", color="burlywood", weight=9]; 213.97/145.75 4632 -> 3918[label="",style="solid", color="burlywood", weight=3]; 213.97/145.75 4633[label="vyv291/True",fontsize=10,color="white",style="solid",shape="box"];3910 -> 4633[label="",style="solid", color="burlywood", weight=9]; 213.97/145.75 4633 -> 3919[label="",style="solid", color="burlywood", weight=3]; 213.97/145.75 3917[label="abs vyv272",fontsize=16,color="black",shape="triangle"];3917 -> 3926[label="",style="solid", color="black", weight=3]; 213.97/145.75 3918[label="gcd0Gcd'1 False (abs vyv273) (abs vyv272)",fontsize=16,color="black",shape="box"];3918 -> 3927[label="",style="solid", color="black", weight=3]; 213.97/145.75 3919[label="gcd0Gcd'1 True (abs vyv273) (abs vyv272)",fontsize=16,color="black",shape="box"];3919 -> 3928[label="",style="solid", color="black", weight=3]; 213.97/145.75 3926[label="absReal vyv272",fontsize=16,color="black",shape="box"];3926 -> 3937[label="",style="solid", color="black", weight=3]; 213.97/145.75 3927 -> 3938[label="",style="dashed", color="red", weight=0]; 213.97/145.75 3927[label="gcd0Gcd'0 (abs vyv273) (abs vyv272)",fontsize=16,color="magenta"];3927 -> 3939[label="",style="dashed", color="magenta", weight=3]; 213.97/145.75 3927 -> 3940[label="",style="dashed", color="magenta", weight=3]; 213.97/145.75 3928 -> 3917[label="",style="dashed", color="red", weight=0]; 213.97/145.75 3928[label="abs vyv273",fontsize=16,color="magenta"];3928 -> 3948[label="",style="dashed", color="magenta", weight=3]; 213.97/145.75 3937[label="absReal2 vyv272",fontsize=16,color="black",shape="box"];3937 -> 3949[label="",style="solid", color="black", weight=3]; 213.97/145.75 3939 -> 3917[label="",style="dashed", color="red", weight=0]; 213.97/145.75 3939[label="abs vyv273",fontsize=16,color="magenta"];3939 -> 3950[label="",style="dashed", color="magenta", weight=3]; 213.97/145.75 3940 -> 3917[label="",style="dashed", color="red", weight=0]; 213.97/145.75 3940[label="abs vyv272",fontsize=16,color="magenta"];3938[label="gcd0Gcd'0 vyv293 vyv292",fontsize=16,color="black",shape="triangle"];3938 -> 3951[label="",style="solid", color="black", weight=3]; 213.97/145.75 3948[label="vyv273",fontsize=16,color="green",shape="box"];3949[label="absReal1 vyv272 (vyv272 >= fromInt (Pos Zero))",fontsize=16,color="black",shape="box"];3949 -> 3958[label="",style="solid", color="black", weight=3]; 213.97/145.75 3950[label="vyv273",fontsize=16,color="green",shape="box"];3951[label="gcd0Gcd' vyv292 (vyv293 `rem` vyv292)",fontsize=16,color="black",shape="box"];3951 -> 3959[label="",style="solid", color="black", weight=3]; 213.97/145.75 3958[label="absReal1 vyv272 (compare vyv272 (fromInt (Pos Zero)) /= LT)",fontsize=16,color="black",shape="box"];3958 -> 3968[label="",style="solid", color="black", weight=3]; 213.97/145.75 3959[label="gcd0Gcd'2 vyv292 (vyv293 `rem` vyv292)",fontsize=16,color="black",shape="box"];3959 -> 3969[label="",style="solid", color="black", weight=3]; 213.97/145.75 3968[label="absReal1 vyv272 (not (compare vyv272 (fromInt (Pos Zero)) == LT))",fontsize=16,color="black",shape="box"];3968 -> 3977[label="",style="solid", color="black", weight=3]; 213.97/145.75 3969 -> 3978[label="",style="dashed", color="red", weight=0]; 213.97/145.75 3969[label="gcd0Gcd'1 (vyv293 `rem` vyv292 == fromInt (Pos Zero)) vyv292 (vyv293 `rem` vyv292)",fontsize=16,color="magenta"];3969 -> 3979[label="",style="dashed", color="magenta", weight=3]; 213.97/145.75 3977[label="absReal1 vyv272 (not (primCmpInt vyv272 (fromInt (Pos Zero)) == LT))",fontsize=16,color="burlywood",shape="box"];4634[label="vyv272/Pos vyv2720",fontsize=10,color="white",style="solid",shape="box"];3977 -> 4634[label="",style="solid", color="burlywood", weight=9]; 213.97/145.75 4634 -> 3987[label="",style="solid", color="burlywood", weight=3]; 213.97/145.75 4635[label="vyv272/Neg vyv2720",fontsize=10,color="white",style="solid",shape="box"];3977 -> 4635[label="",style="solid", color="burlywood", weight=9]; 213.97/145.75 4635 -> 3988[label="",style="solid", color="burlywood", weight=3]; 213.97/145.75 3979 -> 3280[label="",style="dashed", color="red", weight=0]; 213.97/145.75 3979[label="vyv293 `rem` vyv292 == fromInt (Pos Zero)",fontsize=16,color="magenta"];3979 -> 3989[label="",style="dashed", color="magenta", weight=3]; 213.97/145.75 3978[label="gcd0Gcd'1 vyv294 vyv292 (vyv293 `rem` vyv292)",fontsize=16,color="burlywood",shape="triangle"];4636[label="vyv294/False",fontsize=10,color="white",style="solid",shape="box"];3978 -> 4636[label="",style="solid", color="burlywood", weight=9]; 213.97/145.75 4636 -> 3990[label="",style="solid", color="burlywood", weight=3]; 213.97/145.75 4637[label="vyv294/True",fontsize=10,color="white",style="solid",shape="box"];3978 -> 4637[label="",style="solid", color="burlywood", weight=9]; 213.97/145.75 4637 -> 3991[label="",style="solid", color="burlywood", weight=3]; 213.97/145.75 3987[label="absReal1 (Pos vyv2720) (not (primCmpInt (Pos vyv2720) (fromInt (Pos Zero)) == LT))",fontsize=16,color="burlywood",shape="box"];4638[label="vyv2720/Succ vyv27200",fontsize=10,color="white",style="solid",shape="box"];3987 -> 4638[label="",style="solid", color="burlywood", weight=9]; 213.97/145.75 4638 -> 4000[label="",style="solid", color="burlywood", weight=3]; 213.97/145.75 4639[label="vyv2720/Zero",fontsize=10,color="white",style="solid",shape="box"];3987 -> 4639[label="",style="solid", color="burlywood", weight=9]; 213.97/145.75 4639 -> 4001[label="",style="solid", color="burlywood", weight=3]; 213.97/145.75 3988[label="absReal1 (Neg vyv2720) (not (primCmpInt (Neg vyv2720) (fromInt (Pos Zero)) == LT))",fontsize=16,color="burlywood",shape="box"];4640[label="vyv2720/Succ vyv27200",fontsize=10,color="white",style="solid",shape="box"];3988 -> 4640[label="",style="solid", color="burlywood", weight=9]; 213.97/145.75 4640 -> 4002[label="",style="solid", color="burlywood", weight=3]; 213.97/145.75 4641[label="vyv2720/Zero",fontsize=10,color="white",style="solid",shape="box"];3988 -> 4641[label="",style="solid", color="burlywood", weight=9]; 213.97/145.75 4641 -> 4003[label="",style="solid", color="burlywood", weight=3]; 213.97/145.75 3989[label="vyv293 `rem` vyv292",fontsize=16,color="black",shape="triangle"];3989 -> 4004[label="",style="solid", color="black", weight=3]; 213.97/145.75 3990[label="gcd0Gcd'1 False vyv292 (vyv293 `rem` vyv292)",fontsize=16,color="black",shape="box"];3990 -> 4005[label="",style="solid", color="black", weight=3]; 213.97/145.75 3991[label="gcd0Gcd'1 True vyv292 (vyv293 `rem` vyv292)",fontsize=16,color="black",shape="box"];3991 -> 4006[label="",style="solid", color="black", weight=3]; 213.97/145.75 4000[label="absReal1 (Pos (Succ vyv27200)) (not (primCmpInt (Pos (Succ vyv27200)) (fromInt (Pos Zero)) == LT))",fontsize=16,color="black",shape="box"];4000 -> 4014[label="",style="solid", color="black", weight=3]; 213.97/145.75 4001[label="absReal1 (Pos Zero) (not (primCmpInt (Pos Zero) (fromInt (Pos Zero)) == LT))",fontsize=16,color="black",shape="box"];4001 -> 4015[label="",style="solid", color="black", weight=3]; 213.97/145.75 4002[label="absReal1 (Neg (Succ vyv27200)) (not (primCmpInt (Neg (Succ vyv27200)) (fromInt (Pos Zero)) == LT))",fontsize=16,color="black",shape="box"];4002 -> 4016[label="",style="solid", color="black", weight=3]; 213.97/145.75 4003[label="absReal1 (Neg Zero) (not (primCmpInt (Neg Zero) (fromInt (Pos Zero)) == LT))",fontsize=16,color="black",shape="box"];4003 -> 4017[label="",style="solid", color="black", weight=3]; 213.97/145.75 4004[label="primRemInt vyv293 vyv292",fontsize=16,color="burlywood",shape="box"];4642[label="vyv293/Pos vyv2930",fontsize=10,color="white",style="solid",shape="box"];4004 -> 4642[label="",style="solid", color="burlywood", weight=9]; 213.97/145.75 4642 -> 4018[label="",style="solid", color="burlywood", weight=3]; 213.97/145.75 4643[label="vyv293/Neg vyv2930",fontsize=10,color="white",style="solid",shape="box"];4004 -> 4643[label="",style="solid", color="burlywood", weight=9]; 213.97/145.75 4643 -> 4019[label="",style="solid", color="burlywood", weight=3]; 213.97/145.75 4005 -> 3938[label="",style="dashed", color="red", weight=0]; 213.97/145.75 4005[label="gcd0Gcd'0 vyv292 (vyv293 `rem` vyv292)",fontsize=16,color="magenta"];4005 -> 4020[label="",style="dashed", color="magenta", weight=3]; 213.97/145.75 4005 -> 4021[label="",style="dashed", color="magenta", weight=3]; 213.97/145.75 4006[label="vyv292",fontsize=16,color="green",shape="box"];4014[label="absReal1 (Pos (Succ vyv27200)) (not (primCmpInt (Pos (Succ vyv27200)) (Pos Zero) == LT))",fontsize=16,color="black",shape="box"];4014 -> 4029[label="",style="solid", color="black", weight=3]; 213.97/145.75 4015[label="absReal1 (Pos Zero) (not (primCmpInt (Pos Zero) (Pos Zero) == LT))",fontsize=16,color="black",shape="box"];4015 -> 4030[label="",style="solid", color="black", weight=3]; 213.97/145.75 4016[label="absReal1 (Neg (Succ vyv27200)) (not (primCmpInt (Neg (Succ vyv27200)) (Pos Zero) == LT))",fontsize=16,color="black",shape="box"];4016 -> 4031[label="",style="solid", color="black", weight=3]; 213.97/145.75 4017[label="absReal1 (Neg Zero) (not (primCmpInt (Neg Zero) (Pos Zero) == LT))",fontsize=16,color="black",shape="box"];4017 -> 4032[label="",style="solid", color="black", weight=3]; 213.97/145.75 4018[label="primRemInt (Pos vyv2930) vyv292",fontsize=16,color="burlywood",shape="box"];4644[label="vyv292/Pos vyv2920",fontsize=10,color="white",style="solid",shape="box"];4018 -> 4644[label="",style="solid", color="burlywood", weight=9]; 213.97/145.75 4644 -> 4033[label="",style="solid", color="burlywood", weight=3]; 213.97/145.75 4645[label="vyv292/Neg vyv2920",fontsize=10,color="white",style="solid",shape="box"];4018 -> 4645[label="",style="solid", color="burlywood", weight=9]; 213.97/145.75 4645 -> 4034[label="",style="solid", color="burlywood", weight=3]; 213.97/145.75 4019[label="primRemInt (Neg vyv2930) vyv292",fontsize=16,color="burlywood",shape="box"];4646[label="vyv292/Pos vyv2920",fontsize=10,color="white",style="solid",shape="box"];4019 -> 4646[label="",style="solid", color="burlywood", weight=9]; 213.97/145.75 4646 -> 4035[label="",style="solid", color="burlywood", weight=3]; 213.97/145.75 4647[label="vyv292/Neg vyv2920",fontsize=10,color="white",style="solid",shape="box"];4019 -> 4647[label="",style="solid", color="burlywood", weight=9]; 213.97/145.75 4647 -> 4036[label="",style="solid", color="burlywood", weight=3]; 213.97/145.75 4020[label="vyv292",fontsize=16,color="green",shape="box"];4021 -> 3989[label="",style="dashed", color="red", weight=0]; 213.97/145.75 4021[label="vyv293 `rem` vyv292",fontsize=16,color="magenta"];4029[label="absReal1 (Pos (Succ vyv27200)) (not (primCmpNat (Succ vyv27200) Zero == LT))",fontsize=16,color="black",shape="box"];4029 -> 4045[label="",style="solid", color="black", weight=3]; 213.97/145.75 4030[label="absReal1 (Pos Zero) (not (EQ == LT))",fontsize=16,color="black",shape="box"];4030 -> 4046[label="",style="solid", color="black", weight=3]; 213.97/145.75 4031[label="absReal1 (Neg (Succ vyv27200)) (not (LT == LT))",fontsize=16,color="black",shape="box"];4031 -> 4047[label="",style="solid", color="black", weight=3]; 213.97/145.75 4032[label="absReal1 (Neg Zero) (not (EQ == LT))",fontsize=16,color="black",shape="box"];4032 -> 4048[label="",style="solid", color="black", weight=3]; 213.97/145.75 4033[label="primRemInt (Pos vyv2930) (Pos vyv2920)",fontsize=16,color="burlywood",shape="box"];4648[label="vyv2920/Succ vyv29200",fontsize=10,color="white",style="solid",shape="box"];4033 -> 4648[label="",style="solid", color="burlywood", weight=9]; 213.97/145.75 4648 -> 4049[label="",style="solid", color="burlywood", weight=3]; 213.97/145.75 4649[label="vyv2920/Zero",fontsize=10,color="white",style="solid",shape="box"];4033 -> 4649[label="",style="solid", color="burlywood", weight=9]; 213.97/145.75 4649 -> 4050[label="",style="solid", color="burlywood", weight=3]; 213.97/145.75 4034[label="primRemInt (Pos vyv2930) (Neg vyv2920)",fontsize=16,color="burlywood",shape="box"];4650[label="vyv2920/Succ vyv29200",fontsize=10,color="white",style="solid",shape="box"];4034 -> 4650[label="",style="solid", color="burlywood", weight=9]; 213.97/145.75 4650 -> 4051[label="",style="solid", color="burlywood", weight=3]; 213.97/145.75 4651[label="vyv2920/Zero",fontsize=10,color="white",style="solid",shape="box"];4034 -> 4651[label="",style="solid", color="burlywood", weight=9]; 213.97/145.75 4651 -> 4052[label="",style="solid", color="burlywood", weight=3]; 213.97/145.75 4035[label="primRemInt (Neg vyv2930) (Pos vyv2920)",fontsize=16,color="burlywood",shape="box"];4652[label="vyv2920/Succ vyv29200",fontsize=10,color="white",style="solid",shape="box"];4035 -> 4652[label="",style="solid", color="burlywood", weight=9]; 213.97/145.75 4652 -> 4053[label="",style="solid", color="burlywood", weight=3]; 213.97/145.75 4653[label="vyv2920/Zero",fontsize=10,color="white",style="solid",shape="box"];4035 -> 4653[label="",style="solid", color="burlywood", weight=9]; 213.97/145.75 4653 -> 4054[label="",style="solid", color="burlywood", weight=3]; 213.97/145.75 4036[label="primRemInt (Neg vyv2930) (Neg vyv2920)",fontsize=16,color="burlywood",shape="box"];4654[label="vyv2920/Succ vyv29200",fontsize=10,color="white",style="solid",shape="box"];4036 -> 4654[label="",style="solid", color="burlywood", weight=9]; 213.97/145.75 4654 -> 4055[label="",style="solid", color="burlywood", weight=3]; 213.97/145.75 4655[label="vyv2920/Zero",fontsize=10,color="white",style="solid",shape="box"];4036 -> 4655[label="",style="solid", color="burlywood", weight=9]; 213.97/145.75 4655 -> 4056[label="",style="solid", color="burlywood", weight=3]; 213.97/145.75 4045[label="absReal1 (Pos (Succ vyv27200)) (not (GT == LT))",fontsize=16,color="black",shape="box"];4045 -> 4064[label="",style="solid", color="black", weight=3]; 213.97/145.75 4046[label="absReal1 (Pos Zero) (not False)",fontsize=16,color="black",shape="box"];4046 -> 4065[label="",style="solid", color="black", weight=3]; 213.97/145.75 4047[label="absReal1 (Neg (Succ vyv27200)) (not True)",fontsize=16,color="black",shape="box"];4047 -> 4066[label="",style="solid", color="black", weight=3]; 213.97/145.75 4048[label="absReal1 (Neg Zero) (not False)",fontsize=16,color="black",shape="box"];4048 -> 4067[label="",style="solid", color="black", weight=3]; 213.97/145.75 4049[label="primRemInt (Pos vyv2930) (Pos (Succ vyv29200))",fontsize=16,color="black",shape="box"];4049 -> 4068[label="",style="solid", color="black", weight=3]; 213.97/145.75 4050[label="primRemInt (Pos vyv2930) (Pos Zero)",fontsize=16,color="black",shape="box"];4050 -> 4069[label="",style="solid", color="black", weight=3]; 213.97/145.75 4051[label="primRemInt (Pos vyv2930) (Neg (Succ vyv29200))",fontsize=16,color="black",shape="box"];4051 -> 4070[label="",style="solid", color="black", weight=3]; 213.97/145.75 4052[label="primRemInt (Pos vyv2930) (Neg Zero)",fontsize=16,color="black",shape="box"];4052 -> 4071[label="",style="solid", color="black", weight=3]; 213.97/145.75 4053[label="primRemInt (Neg vyv2930) (Pos (Succ vyv29200))",fontsize=16,color="black",shape="box"];4053 -> 4072[label="",style="solid", color="black", weight=3]; 213.97/145.75 4054[label="primRemInt (Neg vyv2930) (Pos Zero)",fontsize=16,color="black",shape="box"];4054 -> 4073[label="",style="solid", color="black", weight=3]; 213.97/145.75 4055[label="primRemInt (Neg vyv2930) (Neg (Succ vyv29200))",fontsize=16,color="black",shape="box"];4055 -> 4074[label="",style="solid", color="black", weight=3]; 213.97/145.75 4056[label="primRemInt (Neg vyv2930) (Neg Zero)",fontsize=16,color="black",shape="box"];4056 -> 4075[label="",style="solid", color="black", weight=3]; 213.97/145.75 4064[label="absReal1 (Pos (Succ vyv27200)) (not False)",fontsize=16,color="black",shape="box"];4064 -> 4083[label="",style="solid", color="black", weight=3]; 213.97/145.75 4065[label="absReal1 (Pos Zero) True",fontsize=16,color="black",shape="box"];4065 -> 4084[label="",style="solid", color="black", weight=3]; 213.97/145.75 4066[label="absReal1 (Neg (Succ vyv27200)) False",fontsize=16,color="black",shape="box"];4066 -> 4085[label="",style="solid", color="black", weight=3]; 213.97/145.75 4067[label="absReal1 (Neg Zero) True",fontsize=16,color="black",shape="box"];4067 -> 4086[label="",style="solid", color="black", weight=3]; 213.97/145.75 4068[label="Pos (primModNatS vyv2930 (Succ vyv29200))",fontsize=16,color="green",shape="box"];4068 -> 4087[label="",style="dashed", color="green", weight=3]; 213.97/145.75 4069 -> 3858[label="",style="dashed", color="red", weight=0]; 213.97/145.75 4069[label="error []",fontsize=16,color="magenta"];4070[label="Pos (primModNatS vyv2930 (Succ vyv29200))",fontsize=16,color="green",shape="box"];4070 -> 4088[label="",style="dashed", color="green", weight=3]; 213.97/145.75 4071 -> 3858[label="",style="dashed", color="red", weight=0]; 213.97/145.75 4071[label="error []",fontsize=16,color="magenta"];4072[label="Neg (primModNatS vyv2930 (Succ vyv29200))",fontsize=16,color="green",shape="box"];4072 -> 4089[label="",style="dashed", color="green", weight=3]; 213.97/145.75 4073 -> 3858[label="",style="dashed", color="red", weight=0]; 213.97/145.75 4073[label="error []",fontsize=16,color="magenta"];4074[label="Neg (primModNatS vyv2930 (Succ vyv29200))",fontsize=16,color="green",shape="box"];4074 -> 4090[label="",style="dashed", color="green", weight=3]; 213.97/145.75 4075 -> 3858[label="",style="dashed", color="red", weight=0]; 213.97/145.75 4075[label="error []",fontsize=16,color="magenta"];4083[label="absReal1 (Pos (Succ vyv27200)) True",fontsize=16,color="black",shape="box"];4083 -> 4099[label="",style="solid", color="black", weight=3]; 213.97/145.75 4084[label="Pos Zero",fontsize=16,color="green",shape="box"];4085[label="absReal0 (Neg (Succ vyv27200)) otherwise",fontsize=16,color="black",shape="box"];4085 -> 4100[label="",style="solid", color="black", weight=3]; 213.97/145.75 4086[label="Neg Zero",fontsize=16,color="green",shape="box"];4087[label="primModNatS vyv2930 (Succ vyv29200)",fontsize=16,color="burlywood",shape="triangle"];4656[label="vyv2930/Succ vyv29300",fontsize=10,color="white",style="solid",shape="box"];4087 -> 4656[label="",style="solid", color="burlywood", weight=9]; 213.97/145.75 4656 -> 4101[label="",style="solid", color="burlywood", weight=3]; 213.97/145.75 4657[label="vyv2930/Zero",fontsize=10,color="white",style="solid",shape="box"];4087 -> 4657[label="",style="solid", color="burlywood", weight=9]; 213.97/145.75 4657 -> 4102[label="",style="solid", color="burlywood", weight=3]; 213.97/145.75 4088 -> 4087[label="",style="dashed", color="red", weight=0]; 213.97/145.75 4088[label="primModNatS vyv2930 (Succ vyv29200)",fontsize=16,color="magenta"];4088 -> 4103[label="",style="dashed", color="magenta", weight=3]; 213.97/145.75 4089 -> 4087[label="",style="dashed", color="red", weight=0]; 213.97/145.75 4089[label="primModNatS vyv2930 (Succ vyv29200)",fontsize=16,color="magenta"];4089 -> 4104[label="",style="dashed", color="magenta", weight=3]; 213.97/145.75 4090 -> 4087[label="",style="dashed", color="red", weight=0]; 213.97/145.75 4090[label="primModNatS vyv2930 (Succ vyv29200)",fontsize=16,color="magenta"];4090 -> 4105[label="",style="dashed", color="magenta", weight=3]; 213.97/145.75 4090 -> 4106[label="",style="dashed", color="magenta", weight=3]; 213.97/145.75 4099[label="Pos (Succ vyv27200)",fontsize=16,color="green",shape="box"];4100[label="absReal0 (Neg (Succ vyv27200)) True",fontsize=16,color="black",shape="box"];4100 -> 4154[label="",style="solid", color="black", weight=3]; 213.97/145.75 4101[label="primModNatS (Succ vyv29300) (Succ vyv29200)",fontsize=16,color="black",shape="box"];4101 -> 4155[label="",style="solid", color="black", weight=3]; 213.97/145.75 4102[label="primModNatS Zero (Succ vyv29200)",fontsize=16,color="black",shape="box"];4102 -> 4156[label="",style="solid", color="black", weight=3]; 213.97/145.75 4103[label="vyv29200",fontsize=16,color="green",shape="box"];4104[label="vyv2930",fontsize=16,color="green",shape="box"];4105[label="vyv29200",fontsize=16,color="green",shape="box"];4106[label="vyv2930",fontsize=16,color="green",shape="box"];4154[label="`negate` Neg (Succ vyv27200)",fontsize=16,color="black",shape="box"];4154 -> 4162[label="",style="solid", color="black", weight=3]; 213.97/145.75 4155[label="primModNatS0 vyv29300 vyv29200 (primGEqNatS vyv29300 vyv29200)",fontsize=16,color="burlywood",shape="box"];4658[label="vyv29300/Succ vyv293000",fontsize=10,color="white",style="solid",shape="box"];4155 -> 4658[label="",style="solid", color="burlywood", weight=9]; 213.97/145.75 4658 -> 4163[label="",style="solid", color="burlywood", weight=3]; 213.97/145.75 4659[label="vyv29300/Zero",fontsize=10,color="white",style="solid",shape="box"];4155 -> 4659[label="",style="solid", color="burlywood", weight=9]; 213.97/145.75 4659 -> 4164[label="",style="solid", color="burlywood", weight=3]; 213.97/145.75 4156[label="Zero",fontsize=16,color="green",shape="box"];4162[label="primNegInt (Neg (Succ vyv27200))",fontsize=16,color="black",shape="box"];4162 -> 4202[label="",style="solid", color="black", weight=3]; 213.97/145.75 4163[label="primModNatS0 (Succ vyv293000) vyv29200 (primGEqNatS (Succ vyv293000) vyv29200)",fontsize=16,color="burlywood",shape="box"];4660[label="vyv29200/Succ vyv292000",fontsize=10,color="white",style="solid",shape="box"];4163 -> 4660[label="",style="solid", color="burlywood", weight=9]; 213.97/145.75 4660 -> 4203[label="",style="solid", color="burlywood", weight=3]; 213.97/145.75 4661[label="vyv29200/Zero",fontsize=10,color="white",style="solid",shape="box"];4163 -> 4661[label="",style="solid", color="burlywood", weight=9]; 213.97/145.75 4661 -> 4204[label="",style="solid", color="burlywood", weight=3]; 213.97/145.75 4164[label="primModNatS0 Zero vyv29200 (primGEqNatS Zero vyv29200)",fontsize=16,color="burlywood",shape="box"];4662[label="vyv29200/Succ vyv292000",fontsize=10,color="white",style="solid",shape="box"];4164 -> 4662[label="",style="solid", color="burlywood", weight=9]; 213.97/145.75 4662 -> 4205[label="",style="solid", color="burlywood", weight=3]; 213.97/145.75 4663[label="vyv29200/Zero",fontsize=10,color="white",style="solid",shape="box"];4164 -> 4663[label="",style="solid", color="burlywood", weight=9]; 213.97/145.75 4663 -> 4206[label="",style="solid", color="burlywood", weight=3]; 213.97/145.75 4202[label="Pos (Succ vyv27200)",fontsize=16,color="green",shape="box"];4203[label="primModNatS0 (Succ vyv293000) (Succ vyv292000) (primGEqNatS (Succ vyv293000) (Succ vyv292000))",fontsize=16,color="black",shape="box"];4203 -> 4211[label="",style="solid", color="black", weight=3]; 213.97/145.75 4204[label="primModNatS0 (Succ vyv293000) Zero (primGEqNatS (Succ vyv293000) Zero)",fontsize=16,color="black",shape="box"];4204 -> 4212[label="",style="solid", color="black", weight=3]; 213.97/145.75 4205[label="primModNatS0 Zero (Succ vyv292000) (primGEqNatS Zero (Succ vyv292000))",fontsize=16,color="black",shape="box"];4205 -> 4213[label="",style="solid", color="black", weight=3]; 213.97/145.75 4206[label="primModNatS0 Zero Zero (primGEqNatS Zero Zero)",fontsize=16,color="black",shape="box"];4206 -> 4214[label="",style="solid", color="black", weight=3]; 213.97/145.75 4211 -> 4394[label="",style="dashed", color="red", weight=0]; 213.97/145.75 4211[label="primModNatS0 (Succ vyv293000) (Succ vyv292000) (primGEqNatS vyv293000 vyv292000)",fontsize=16,color="magenta"];4211 -> 4395[label="",style="dashed", color="magenta", weight=3]; 213.97/145.75 4211 -> 4396[label="",style="dashed", color="magenta", weight=3]; 213.97/145.75 4211 -> 4397[label="",style="dashed", color="magenta", weight=3]; 213.97/145.75 4211 -> 4398[label="",style="dashed", color="magenta", weight=3]; 213.97/145.75 4212[label="primModNatS0 (Succ vyv293000) Zero True",fontsize=16,color="black",shape="box"];4212 -> 4221[label="",style="solid", color="black", weight=3]; 213.97/145.75 4213[label="primModNatS0 Zero (Succ vyv292000) False",fontsize=16,color="black",shape="box"];4213 -> 4222[label="",style="solid", color="black", weight=3]; 213.97/145.75 4214[label="primModNatS0 Zero Zero True",fontsize=16,color="black",shape="box"];4214 -> 4223[label="",style="solid", color="black", weight=3]; 213.97/145.75 4395[label="vyv292000",fontsize=16,color="green",shape="box"];4396[label="vyv293000",fontsize=16,color="green",shape="box"];4397[label="vyv293000",fontsize=16,color="green",shape="box"];4398[label="vyv292000",fontsize=16,color="green",shape="box"];4394[label="primModNatS0 (Succ vyv331) (Succ vyv332) (primGEqNatS vyv333 vyv334)",fontsize=16,color="burlywood",shape="triangle"];4664[label="vyv333/Succ vyv3330",fontsize=10,color="white",style="solid",shape="box"];4394 -> 4664[label="",style="solid", color="burlywood", weight=9]; 213.97/145.75 4664 -> 4427[label="",style="solid", color="burlywood", weight=3]; 213.97/145.75 4665[label="vyv333/Zero",fontsize=10,color="white",style="solid",shape="box"];4394 -> 4665[label="",style="solid", color="burlywood", weight=9]; 213.97/145.75 4665 -> 4428[label="",style="solid", color="burlywood", weight=3]; 213.97/145.75 4221 -> 4087[label="",style="dashed", color="red", weight=0]; 213.97/145.75 4221[label="primModNatS (primMinusNatS (Succ vyv293000) Zero) (Succ Zero)",fontsize=16,color="magenta"];4221 -> 4232[label="",style="dashed", color="magenta", weight=3]; 213.97/145.75 4221 -> 4233[label="",style="dashed", color="magenta", weight=3]; 213.97/145.75 4222[label="Succ Zero",fontsize=16,color="green",shape="box"];4223 -> 4087[label="",style="dashed", color="red", weight=0]; 213.97/145.75 4223[label="primModNatS (primMinusNatS Zero Zero) (Succ Zero)",fontsize=16,color="magenta"];4223 -> 4234[label="",style="dashed", color="magenta", weight=3]; 213.97/145.75 4223 -> 4235[label="",style="dashed", color="magenta", weight=3]; 213.97/145.75 4427[label="primModNatS0 (Succ vyv331) (Succ vyv332) (primGEqNatS (Succ vyv3330) vyv334)",fontsize=16,color="burlywood",shape="box"];4666[label="vyv334/Succ vyv3340",fontsize=10,color="white",style="solid",shape="box"];4427 -> 4666[label="",style="solid", color="burlywood", weight=9]; 213.97/145.75 4666 -> 4429[label="",style="solid", color="burlywood", weight=3]; 213.97/145.75 4667[label="vyv334/Zero",fontsize=10,color="white",style="solid",shape="box"];4427 -> 4667[label="",style="solid", color="burlywood", weight=9]; 213.97/145.75 4667 -> 4430[label="",style="solid", color="burlywood", weight=3]; 213.97/145.75 4428[label="primModNatS0 (Succ vyv331) (Succ vyv332) (primGEqNatS Zero vyv334)",fontsize=16,color="burlywood",shape="box"];4668[label="vyv334/Succ vyv3340",fontsize=10,color="white",style="solid",shape="box"];4428 -> 4668[label="",style="solid", color="burlywood", weight=9]; 213.97/145.75 4668 -> 4431[label="",style="solid", color="burlywood", weight=3]; 213.97/145.75 4669[label="vyv334/Zero",fontsize=10,color="white",style="solid",shape="box"];4428 -> 4669[label="",style="solid", color="burlywood", weight=9]; 213.97/145.75 4669 -> 4432[label="",style="solid", color="burlywood", weight=3]; 213.97/145.75 4232[label="Zero",fontsize=16,color="green",shape="box"];4233 -> 3933[label="",style="dashed", color="red", weight=0]; 213.97/145.75 4233[label="primMinusNatS (Succ vyv293000) Zero",fontsize=16,color="magenta"];4233 -> 4241[label="",style="dashed", color="magenta", weight=3]; 213.97/145.75 4234[label="Zero",fontsize=16,color="green",shape="box"];4235 -> 3935[label="",style="dashed", color="red", weight=0]; 213.97/145.75 4235[label="primMinusNatS Zero Zero",fontsize=16,color="magenta"];4429[label="primModNatS0 (Succ vyv331) (Succ vyv332) (primGEqNatS (Succ vyv3330) (Succ vyv3340))",fontsize=16,color="black",shape="box"];4429 -> 4433[label="",style="solid", color="black", weight=3]; 213.97/145.75 4430[label="primModNatS0 (Succ vyv331) (Succ vyv332) (primGEqNatS (Succ vyv3330) Zero)",fontsize=16,color="black",shape="box"];4430 -> 4434[label="",style="solid", color="black", weight=3]; 213.97/145.75 4431[label="primModNatS0 (Succ vyv331) (Succ vyv332) (primGEqNatS Zero (Succ vyv3340))",fontsize=16,color="black",shape="box"];4431 -> 4435[label="",style="solid", color="black", weight=3]; 213.97/145.75 4432[label="primModNatS0 (Succ vyv331) (Succ vyv332) (primGEqNatS Zero Zero)",fontsize=16,color="black",shape="box"];4432 -> 4436[label="",style="solid", color="black", weight=3]; 213.97/145.75 4241[label="vyv293000",fontsize=16,color="green",shape="box"];4433 -> 4394[label="",style="dashed", color="red", weight=0]; 213.97/145.75 4433[label="primModNatS0 (Succ vyv331) (Succ vyv332) (primGEqNatS vyv3330 vyv3340)",fontsize=16,color="magenta"];4433 -> 4437[label="",style="dashed", color="magenta", weight=3]; 213.97/145.75 4433 -> 4438[label="",style="dashed", color="magenta", weight=3]; 213.97/145.75 4434[label="primModNatS0 (Succ vyv331) (Succ vyv332) True",fontsize=16,color="black",shape="triangle"];4434 -> 4439[label="",style="solid", color="black", weight=3]; 213.97/145.75 4435[label="primModNatS0 (Succ vyv331) (Succ vyv332) False",fontsize=16,color="black",shape="box"];4435 -> 4440[label="",style="solid", color="black", weight=3]; 213.97/145.75 4436 -> 4434[label="",style="dashed", color="red", weight=0]; 213.97/145.75 4436[label="primModNatS0 (Succ vyv331) (Succ vyv332) True",fontsize=16,color="magenta"];4437[label="vyv3330",fontsize=16,color="green",shape="box"];4438[label="vyv3340",fontsize=16,color="green",shape="box"];4439 -> 4087[label="",style="dashed", color="red", weight=0]; 213.97/145.75 4439[label="primModNatS (primMinusNatS (Succ vyv331) (Succ vyv332)) (Succ (Succ vyv332))",fontsize=16,color="magenta"];4439 -> 4441[label="",style="dashed", color="magenta", weight=3]; 213.97/145.75 4439 -> 4442[label="",style="dashed", color="magenta", weight=3]; 213.97/145.75 4440[label="Succ (Succ vyv331)",fontsize=16,color="green",shape="box"];4441[label="Succ vyv332",fontsize=16,color="green",shape="box"];4442 -> 4249[label="",style="dashed", color="red", weight=0]; 213.97/145.75 4442[label="primMinusNatS (Succ vyv331) (Succ vyv332)",fontsize=16,color="magenta"];4442 -> 4443[label="",style="dashed", color="magenta", weight=3]; 213.97/145.75 4442 -> 4444[label="",style="dashed", color="magenta", weight=3]; 213.97/145.75 4443[label="Succ vyv331",fontsize=16,color="green",shape="box"];4444[label="Succ vyv332",fontsize=16,color="green",shape="box"];} 213.97/145.75 213.97/145.75 ---------------------------------------- 213.97/145.75 213.97/145.75 (12) 213.97/145.75 Complex Obligation (AND) 213.97/145.75 213.97/145.75 ---------------------------------------- 213.97/145.75 213.97/145.75 (13) 213.97/145.75 Obligation: 213.97/145.75 Q DP problem: 213.97/145.75 The TRS P consists of the following rules: 213.97/145.75 213.97/145.75 new_primModNatS(Succ(Succ(vyv293000)), Zero) -> new_primModNatS(new_primMinusNatS0(vyv293000), Zero) 213.97/145.75 new_primModNatS(Succ(Succ(vyv293000)), Succ(vyv292000)) -> new_primModNatS0(vyv293000, vyv292000, vyv293000, vyv292000) 213.97/145.75 new_primModNatS(Succ(Zero), Zero) -> new_primModNatS(new_primMinusNatS1, Zero) 213.97/145.75 new_primModNatS0(vyv331, vyv332, Succ(vyv3330), Zero) -> new_primModNatS(new_primMinusNatS2(Succ(vyv331), Succ(vyv332)), Succ(vyv332)) 213.97/145.75 new_primModNatS0(vyv331, vyv332, Succ(vyv3330), Succ(vyv3340)) -> new_primModNatS0(vyv331, vyv332, vyv3330, vyv3340) 213.97/145.75 new_primModNatS0(vyv331, vyv332, Zero, Zero) -> new_primModNatS00(vyv331, vyv332) 213.97/145.75 new_primModNatS00(vyv331, vyv332) -> new_primModNatS(new_primMinusNatS2(Succ(vyv331), Succ(vyv332)), Succ(vyv332)) 213.97/145.75 213.97/145.75 The TRS R consists of the following rules: 213.97/145.75 213.97/145.75 new_primMinusNatS1 -> Zero 213.97/145.75 new_primMinusNatS2(Succ(vyv3110), Zero) -> Succ(vyv3110) 213.97/145.75 new_primMinusNatS2(Zero, Zero) -> Zero 213.97/145.75 new_primMinusNatS2(Succ(vyv3110), Succ(vyv3120)) -> new_primMinusNatS2(vyv3110, vyv3120) 213.97/145.75 new_primMinusNatS2(Zero, Succ(vyv3120)) -> Zero 213.97/145.75 new_primMinusNatS0(vyv271000) -> Succ(vyv271000) 213.97/145.75 213.97/145.75 The set Q consists of the following terms: 213.97/145.75 213.97/145.75 new_primMinusNatS0(x0) 213.97/145.75 new_primMinusNatS2(Zero, Succ(x0)) 213.97/145.75 new_primMinusNatS2(Zero, Zero) 213.97/145.75 new_primMinusNatS2(Succ(x0), Succ(x1)) 213.97/145.75 new_primMinusNatS1 213.97/145.75 new_primMinusNatS2(Succ(x0), Zero) 213.97/145.75 213.97/145.75 We have to consider all minimal (P,Q,R)-chains. 213.97/145.75 ---------------------------------------- 213.97/145.75 213.97/145.75 (14) DependencyGraphProof (EQUIVALENT) 213.97/145.75 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 2 SCCs with 1 less node. 213.97/145.75 ---------------------------------------- 213.97/145.75 213.97/145.75 (15) 213.97/145.75 Complex Obligation (AND) 213.97/145.75 213.97/145.75 ---------------------------------------- 213.97/145.75 213.97/145.75 (16) 213.97/145.75 Obligation: 213.97/145.75 Q DP problem: 213.97/145.75 The TRS P consists of the following rules: 213.97/145.75 213.97/145.75 new_primModNatS0(vyv331, vyv332, Succ(vyv3330), Zero) -> new_primModNatS(new_primMinusNatS2(Succ(vyv331), Succ(vyv332)), Succ(vyv332)) 213.97/145.75 new_primModNatS(Succ(Succ(vyv293000)), Succ(vyv292000)) -> new_primModNatS0(vyv293000, vyv292000, vyv293000, vyv292000) 213.97/145.75 new_primModNatS0(vyv331, vyv332, Succ(vyv3330), Succ(vyv3340)) -> new_primModNatS0(vyv331, vyv332, vyv3330, vyv3340) 213.97/145.75 new_primModNatS0(vyv331, vyv332, Zero, Zero) -> new_primModNatS00(vyv331, vyv332) 213.97/145.75 new_primModNatS00(vyv331, vyv332) -> new_primModNatS(new_primMinusNatS2(Succ(vyv331), Succ(vyv332)), Succ(vyv332)) 213.97/145.75 213.97/145.75 The TRS R consists of the following rules: 213.97/145.75 213.97/145.75 new_primMinusNatS1 -> Zero 213.97/145.75 new_primMinusNatS2(Succ(vyv3110), Zero) -> Succ(vyv3110) 213.97/145.75 new_primMinusNatS2(Zero, Zero) -> Zero 213.97/145.75 new_primMinusNatS2(Succ(vyv3110), Succ(vyv3120)) -> new_primMinusNatS2(vyv3110, vyv3120) 213.97/145.75 new_primMinusNatS2(Zero, Succ(vyv3120)) -> Zero 213.97/145.75 new_primMinusNatS0(vyv271000) -> Succ(vyv271000) 213.97/145.75 213.97/145.75 The set Q consists of the following terms: 213.97/145.75 213.97/145.75 new_primMinusNatS0(x0) 213.97/145.75 new_primMinusNatS2(Zero, Succ(x0)) 213.97/145.75 new_primMinusNatS2(Zero, Zero) 213.97/145.75 new_primMinusNatS2(Succ(x0), Succ(x1)) 213.97/145.75 new_primMinusNatS1 213.97/145.75 new_primMinusNatS2(Succ(x0), Zero) 213.97/145.75 213.97/145.75 We have to consider all minimal (P,Q,R)-chains. 213.97/145.75 ---------------------------------------- 213.97/145.75 213.97/145.75 (17) QDPOrderProof (EQUIVALENT) 213.97/145.75 We use the reduction pair processor [LPAR04,JAR06]. 213.97/145.75 213.97/145.75 213.97/145.75 The following pairs can be oriented strictly and are deleted. 213.97/145.75 213.97/145.75 new_primModNatS(Succ(Succ(vyv293000)), Succ(vyv292000)) -> new_primModNatS0(vyv293000, vyv292000, vyv293000, vyv292000) 213.97/145.75 The remaining pairs can at least be oriented weakly. 213.97/145.75 Used ordering: Polynomial interpretation [POLO]: 213.97/145.75 213.97/145.75 POL(Succ(x_1)) = 1 + x_1 213.97/145.75 POL(Zero) = 1 213.97/145.75 POL(new_primMinusNatS2(x_1, x_2)) = x_1 213.97/145.75 POL(new_primModNatS(x_1, x_2)) = x_1 213.97/145.75 POL(new_primModNatS0(x_1, x_2, x_3, x_4)) = 1 + x_1 213.97/145.75 POL(new_primModNatS00(x_1, x_2)) = 1 + x_1 213.97/145.75 213.97/145.75 The following usable rules [FROCOS05] with respect to the argument filtering of the ordering [JAR06] were oriented: 213.97/145.75 213.97/145.75 new_primMinusNatS2(Succ(vyv3110), Succ(vyv3120)) -> new_primMinusNatS2(vyv3110, vyv3120) 213.97/145.75 new_primMinusNatS2(Succ(vyv3110), Zero) -> Succ(vyv3110) 213.97/145.75 new_primMinusNatS2(Zero, Zero) -> Zero 213.97/145.75 new_primMinusNatS2(Zero, Succ(vyv3120)) -> Zero 213.97/145.75 213.97/145.75 213.97/145.75 ---------------------------------------- 213.97/145.75 213.97/145.75 (18) 213.97/145.75 Obligation: 213.97/145.75 Q DP problem: 213.97/145.75 The TRS P consists of the following rules: 213.97/145.75 213.97/145.75 new_primModNatS0(vyv331, vyv332, Succ(vyv3330), Zero) -> new_primModNatS(new_primMinusNatS2(Succ(vyv331), Succ(vyv332)), Succ(vyv332)) 213.97/145.75 new_primModNatS0(vyv331, vyv332, Succ(vyv3330), Succ(vyv3340)) -> new_primModNatS0(vyv331, vyv332, vyv3330, vyv3340) 213.97/145.75 new_primModNatS0(vyv331, vyv332, Zero, Zero) -> new_primModNatS00(vyv331, vyv332) 213.97/145.75 new_primModNatS00(vyv331, vyv332) -> new_primModNatS(new_primMinusNatS2(Succ(vyv331), Succ(vyv332)), Succ(vyv332)) 213.97/145.75 213.97/145.75 The TRS R consists of the following rules: 213.97/145.75 213.97/145.75 new_primMinusNatS1 -> Zero 213.97/145.75 new_primMinusNatS2(Succ(vyv3110), Zero) -> Succ(vyv3110) 213.97/145.75 new_primMinusNatS2(Zero, Zero) -> Zero 213.97/145.75 new_primMinusNatS2(Succ(vyv3110), Succ(vyv3120)) -> new_primMinusNatS2(vyv3110, vyv3120) 213.97/145.75 new_primMinusNatS2(Zero, Succ(vyv3120)) -> Zero 213.97/145.75 new_primMinusNatS0(vyv271000) -> Succ(vyv271000) 213.97/145.75 213.97/145.75 The set Q consists of the following terms: 213.97/145.75 213.97/145.75 new_primMinusNatS0(x0) 213.97/145.75 new_primMinusNatS2(Zero, Succ(x0)) 213.97/145.75 new_primMinusNatS2(Zero, Zero) 213.97/145.75 new_primMinusNatS2(Succ(x0), Succ(x1)) 213.97/145.75 new_primMinusNatS1 213.97/145.75 new_primMinusNatS2(Succ(x0), Zero) 213.97/145.75 213.97/145.75 We have to consider all minimal (P,Q,R)-chains. 213.97/145.75 ---------------------------------------- 213.97/145.75 213.97/145.75 (19) DependencyGraphProof (EQUIVALENT) 213.97/145.75 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 3 less nodes. 213.97/145.75 ---------------------------------------- 213.97/145.75 213.97/145.75 (20) 213.97/145.75 Obligation: 213.97/145.75 Q DP problem: 213.97/145.75 The TRS P consists of the following rules: 213.97/145.75 213.97/145.75 new_primModNatS0(vyv331, vyv332, Succ(vyv3330), Succ(vyv3340)) -> new_primModNatS0(vyv331, vyv332, vyv3330, vyv3340) 213.97/145.75 213.97/145.75 The TRS R consists of the following rules: 213.97/145.75 213.97/145.75 new_primMinusNatS1 -> Zero 213.97/145.75 new_primMinusNatS2(Succ(vyv3110), Zero) -> Succ(vyv3110) 213.97/145.75 new_primMinusNatS2(Zero, Zero) -> Zero 213.97/145.75 new_primMinusNatS2(Succ(vyv3110), Succ(vyv3120)) -> new_primMinusNatS2(vyv3110, vyv3120) 213.97/145.75 new_primMinusNatS2(Zero, Succ(vyv3120)) -> Zero 213.97/145.75 new_primMinusNatS0(vyv271000) -> Succ(vyv271000) 213.97/145.75 213.97/145.75 The set Q consists of the following terms: 213.97/145.75 213.97/145.75 new_primMinusNatS0(x0) 213.97/145.75 new_primMinusNatS2(Zero, Succ(x0)) 213.97/145.75 new_primMinusNatS2(Zero, Zero) 213.97/145.75 new_primMinusNatS2(Succ(x0), Succ(x1)) 213.97/145.75 new_primMinusNatS1 213.97/145.75 new_primMinusNatS2(Succ(x0), Zero) 213.97/145.75 213.97/145.75 We have to consider all minimal (P,Q,R)-chains. 213.97/145.75 ---------------------------------------- 213.97/145.75 213.97/145.75 (21) QDPSizeChangeProof (EQUIVALENT) 213.97/145.75 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. 213.97/145.75 213.97/145.75 From the DPs we obtained the following set of size-change graphs: 213.97/145.75 *new_primModNatS0(vyv331, vyv332, Succ(vyv3330), Succ(vyv3340)) -> new_primModNatS0(vyv331, vyv332, vyv3330, vyv3340) 213.97/145.75 The graph contains the following edges 1 >= 1, 2 >= 2, 3 > 3, 4 > 4 213.97/145.75 213.97/145.75 213.97/145.75 ---------------------------------------- 213.97/145.75 213.97/145.75 (22) 213.97/145.75 YES 213.97/145.75 213.97/145.75 ---------------------------------------- 213.97/145.75 213.97/145.75 (23) 213.97/145.75 Obligation: 213.97/145.75 Q DP problem: 213.97/145.75 The TRS P consists of the following rules: 213.97/145.75 213.97/145.75 new_primModNatS(Succ(Succ(vyv293000)), Zero) -> new_primModNatS(new_primMinusNatS0(vyv293000), Zero) 213.97/145.75 213.97/145.75 The TRS R consists of the following rules: 213.97/145.75 213.97/145.75 new_primMinusNatS1 -> Zero 213.97/145.75 new_primMinusNatS2(Succ(vyv3110), Zero) -> Succ(vyv3110) 213.97/145.75 new_primMinusNatS2(Zero, Zero) -> Zero 213.97/145.75 new_primMinusNatS2(Succ(vyv3110), Succ(vyv3120)) -> new_primMinusNatS2(vyv3110, vyv3120) 213.97/145.75 new_primMinusNatS2(Zero, Succ(vyv3120)) -> Zero 213.97/145.75 new_primMinusNatS0(vyv271000) -> Succ(vyv271000) 213.97/145.75 213.97/145.75 The set Q consists of the following terms: 213.97/145.75 213.97/145.75 new_primMinusNatS0(x0) 213.97/145.75 new_primMinusNatS2(Zero, Succ(x0)) 213.97/145.75 new_primMinusNatS2(Zero, Zero) 213.97/145.75 new_primMinusNatS2(Succ(x0), Succ(x1)) 213.97/145.75 new_primMinusNatS1 213.97/145.75 new_primMinusNatS2(Succ(x0), Zero) 213.97/145.75 213.97/145.75 We have to consider all minimal (P,Q,R)-chains. 213.97/145.75 ---------------------------------------- 213.97/145.75 213.97/145.75 (24) MRRProof (EQUIVALENT) 213.97/145.75 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. 213.97/145.75 213.97/145.75 Strictly oriented dependency pairs: 213.97/145.75 213.97/145.75 new_primModNatS(Succ(Succ(vyv293000)), Zero) -> new_primModNatS(new_primMinusNatS0(vyv293000), Zero) 213.97/145.75 213.97/145.75 Strictly oriented rules of the TRS R: 213.97/145.75 213.97/145.75 new_primMinusNatS2(Succ(vyv3110), Zero) -> Succ(vyv3110) 213.97/145.75 new_primMinusNatS2(Zero, Zero) -> Zero 213.97/145.75 new_primMinusNatS2(Succ(vyv3110), Succ(vyv3120)) -> new_primMinusNatS2(vyv3110, vyv3120) 213.97/145.75 new_primMinusNatS2(Zero, Succ(vyv3120)) -> Zero 213.97/145.75 213.97/145.75 Used ordering: Polynomial interpretation [POLO]: 213.97/145.75 213.97/145.75 POL(Succ(x_1)) = 1 + x_1 213.97/145.75 POL(Zero) = 2 213.97/145.75 POL(new_primMinusNatS0(x_1)) = 1 + x_1 213.97/145.75 POL(new_primMinusNatS1) = 2 213.97/145.75 POL(new_primMinusNatS2(x_1, x_2)) = 1 + 2*x_1 + 2*x_2 213.97/145.75 POL(new_primModNatS(x_1, x_2)) = x_1 + x_2 213.97/145.75 213.97/145.75 213.97/145.75 ---------------------------------------- 213.97/145.75 213.97/145.75 (25) 213.97/145.75 Obligation: 213.97/145.75 Q DP problem: 213.97/145.75 P is empty. 213.97/145.75 The TRS R consists of the following rules: 213.97/145.75 213.97/145.75 new_primMinusNatS1 -> Zero 213.97/145.75 new_primMinusNatS0(vyv271000) -> Succ(vyv271000) 213.97/145.75 213.97/145.75 The set Q consists of the following terms: 213.97/145.75 213.97/145.75 new_primMinusNatS0(x0) 213.97/145.75 new_primMinusNatS2(Zero, Succ(x0)) 213.97/145.75 new_primMinusNatS2(Zero, Zero) 213.97/145.75 new_primMinusNatS2(Succ(x0), Succ(x1)) 213.97/145.75 new_primMinusNatS1 213.97/145.75 new_primMinusNatS2(Succ(x0), Zero) 213.97/145.75 213.97/145.75 We have to consider all minimal (P,Q,R)-chains. 213.97/145.75 ---------------------------------------- 213.97/145.75 213.97/145.75 (26) PisEmptyProof (EQUIVALENT) 213.97/145.75 The TRS P is empty. Hence, there is no (P,Q,R) chain. 213.97/145.75 ---------------------------------------- 213.97/145.75 213.97/145.75 (27) 213.97/145.75 YES 213.97/145.75 213.97/145.75 ---------------------------------------- 213.97/145.75 213.97/145.75 (28) 213.97/145.75 Obligation: 213.97/145.75 Q DP problem: 213.97/145.75 The TRS P consists of the following rules: 213.97/145.75 213.97/145.75 new_gcd0Gcd'0(vyv293, vyv292) -> new_gcd0Gcd'1(new_esEs(new_rem(vyv293, vyv292)), vyv292, vyv293) 213.97/145.75 new_gcd0Gcd'1(False, vyv292, vyv293) -> new_gcd0Gcd'0(vyv292, new_rem(vyv293, vyv292)) 213.97/145.75 213.97/145.75 The TRS R consists of the following rules: 213.97/145.75 213.97/145.75 new_primModNatS01(vyv331, vyv332, Succ(vyv3330), Succ(vyv3340)) -> new_primModNatS01(vyv331, vyv332, vyv3330, vyv3340) 213.97/145.75 new_primModNatS1(Succ(Succ(vyv293000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv293000), Zero) 213.97/145.75 new_primModNatS1(Succ(Zero), Succ(vyv292000)) -> Succ(Zero) 213.97/145.75 new_primMinusNatS2(Zero, Zero) -> Zero 213.97/145.75 new_primEqInt(Neg(Zero)) -> True 213.97/145.75 new_primMinusNatS2(Succ(vyv3110), Succ(vyv3120)) -> new_primMinusNatS2(vyv3110, vyv3120) 213.97/145.75 new_primModNatS1(Succ(Succ(vyv293000)), Succ(vyv292000)) -> new_primModNatS01(vyv293000, vyv292000, vyv293000, vyv292000) 213.97/145.75 new_primModNatS01(vyv331, vyv332, Zero, Succ(vyv3340)) -> Succ(Succ(vyv331)) 213.97/145.75 new_primMinusNatS0(vyv271000) -> Succ(vyv271000) 213.97/145.75 new_esEs(Neg(Succ(vyv24300))) -> new_primEqInt(Neg(Succ(vyv24300))) 213.97/145.75 new_rem(Neg(vyv2930), Neg(Succ(vyv29200))) -> Neg(new_primModNatS1(vyv2930, vyv29200)) 213.97/145.75 new_primModNatS1(Zero, vyv29200) -> Zero 213.97/145.75 new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) 213.97/145.75 new_rem(Pos(vyv2930), Pos(Succ(vyv29200))) -> Pos(new_primModNatS1(vyv2930, vyv29200)) 213.97/145.75 new_primMinusNatS2(Zero, Succ(vyv3120)) -> Zero 213.97/145.75 new_primEqInt(Pos(Succ(vyv242000))) -> False 213.97/145.75 new_primEqInt(Pos(Zero)) -> True 213.97/145.75 new_error -> error([]) 213.97/145.75 new_esEs(Pos(Succ(vyv24300))) -> new_primEqInt(Pos(Succ(vyv24300))) 213.97/145.75 new_primEqInt(Neg(Succ(vyv242000))) -> False 213.97/145.75 new_rem(Neg(vyv2930), Neg(Zero)) -> new_error 213.97/145.75 new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) 213.97/145.75 new_primModNatS01(vyv331, vyv332, Zero, Zero) -> new_primModNatS02(vyv331, vyv332) 213.97/145.75 new_rem(Pos(vyv2930), Neg(Zero)) -> new_error 213.97/145.75 new_rem(Neg(vyv2930), Pos(Zero)) -> new_error 213.97/145.75 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 213.97/145.75 new_primModNatS01(vyv331, vyv332, Succ(vyv3330), Zero) -> new_primModNatS02(vyv331, vyv332) 213.97/145.75 new_primModNatS02(vyv331, vyv332) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv331), Succ(vyv332)), Succ(vyv332)) 213.97/145.75 new_rem(Pos(vyv2930), Neg(Succ(vyv29200))) -> Pos(new_primModNatS1(vyv2930, vyv29200)) 213.97/145.75 new_primMinusNatS1 -> Zero 213.97/145.75 new_primMinusNatS2(Succ(vyv3110), Zero) -> Succ(vyv3110) 213.97/145.75 new_rem(Neg(vyv2930), Pos(Succ(vyv29200))) -> Neg(new_primModNatS1(vyv2930, vyv29200)) 213.97/145.75 new_rem(Pos(vyv2930), Pos(Zero)) -> new_error 213.97/145.75 213.97/145.75 The set Q consists of the following terms: 213.97/145.75 213.97/145.75 new_primModNatS01(x0, x1, Succ(x2), Zero) 213.97/145.75 new_primModNatS1(Succ(Succ(x0)), Zero) 213.97/145.75 new_primMinusNatS1 213.97/145.75 new_primEqInt(Pos(Zero)) 213.97/145.75 new_rem(Pos(x0), Pos(Zero)) 213.97/145.75 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 213.97/145.75 new_esEs(Pos(Succ(x0))) 213.97/145.75 new_primModNatS1(Zero, x0) 213.97/145.75 new_primModNatS02(x0, x1) 213.97/145.75 new_primMinusNatS2(Zero, Zero) 213.97/145.75 new_error 213.97/145.75 new_primModNatS1(Succ(Zero), Zero) 213.97/145.75 new_primMinusNatS2(Succ(x0), Zero) 213.97/145.75 new_esEs(Pos(Zero)) 213.97/145.75 new_primMinusNatS0(x0) 213.97/145.75 new_primEqInt(Neg(Succ(x0))) 213.97/145.75 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 213.97/145.75 new_rem(Neg(x0), Neg(Zero)) 213.97/145.75 new_rem(Pos(x0), Neg(Succ(x1))) 213.97/145.75 new_rem(Neg(x0), Pos(Succ(x1))) 213.97/145.75 new_esEs(Neg(Succ(x0))) 213.97/145.75 new_primEqInt(Neg(Zero)) 213.97/145.75 new_rem(Pos(x0), Pos(Succ(x1))) 213.97/145.75 new_primModNatS01(x0, x1, Zero, Zero) 213.97/145.75 new_primEqInt(Pos(Succ(x0))) 213.97/145.75 new_rem(Neg(x0), Neg(Succ(x1))) 213.97/145.75 new_rem(Pos(x0), Neg(Zero)) 213.97/145.75 new_rem(Neg(x0), Pos(Zero)) 213.97/145.75 new_primMinusNatS2(Zero, Succ(x0)) 213.97/145.75 new_primModNatS1(Succ(Zero), Succ(x0)) 213.97/145.75 new_primMinusNatS2(Succ(x0), Succ(x1)) 213.97/145.75 new_primModNatS01(x0, x1, Zero, Succ(x2)) 213.97/145.75 new_esEs(Neg(Zero)) 213.97/145.75 213.97/145.75 We have to consider all minimal (P,Q,R)-chains. 213.97/145.75 ---------------------------------------- 213.97/145.75 213.97/145.75 (29) MNOCProof (EQUIVALENT) 213.97/145.75 We use the modular non-overlap check [FROCOS05] to decrease Q to the empty set. 213.97/145.75 ---------------------------------------- 213.97/145.75 213.97/145.75 (30) 213.97/145.75 Obligation: 213.97/145.75 Q DP problem: 213.97/145.75 The TRS P consists of the following rules: 213.97/145.75 213.97/145.75 new_gcd0Gcd'0(vyv293, vyv292) -> new_gcd0Gcd'1(new_esEs(new_rem(vyv293, vyv292)), vyv292, vyv293) 213.97/145.75 new_gcd0Gcd'1(False, vyv292, vyv293) -> new_gcd0Gcd'0(vyv292, new_rem(vyv293, vyv292)) 213.97/145.75 213.97/145.75 The TRS R consists of the following rules: 213.97/145.75 213.97/145.75 new_primModNatS01(vyv331, vyv332, Succ(vyv3330), Succ(vyv3340)) -> new_primModNatS01(vyv331, vyv332, vyv3330, vyv3340) 213.97/145.75 new_primModNatS1(Succ(Succ(vyv293000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv293000), Zero) 213.97/145.75 new_primModNatS1(Succ(Zero), Succ(vyv292000)) -> Succ(Zero) 213.97/145.75 new_primMinusNatS2(Zero, Zero) -> Zero 213.97/145.75 new_primEqInt(Neg(Zero)) -> True 213.97/145.75 new_primMinusNatS2(Succ(vyv3110), Succ(vyv3120)) -> new_primMinusNatS2(vyv3110, vyv3120) 213.97/145.75 new_primModNatS1(Succ(Succ(vyv293000)), Succ(vyv292000)) -> new_primModNatS01(vyv293000, vyv292000, vyv293000, vyv292000) 213.97/145.75 new_primModNatS01(vyv331, vyv332, Zero, Succ(vyv3340)) -> Succ(Succ(vyv331)) 213.97/145.75 new_primMinusNatS0(vyv271000) -> Succ(vyv271000) 213.97/145.75 new_esEs(Neg(Succ(vyv24300))) -> new_primEqInt(Neg(Succ(vyv24300))) 213.97/145.75 new_rem(Neg(vyv2930), Neg(Succ(vyv29200))) -> Neg(new_primModNatS1(vyv2930, vyv29200)) 213.97/145.75 new_primModNatS1(Zero, vyv29200) -> Zero 213.97/145.75 new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) 213.97/145.75 new_rem(Pos(vyv2930), Pos(Succ(vyv29200))) -> Pos(new_primModNatS1(vyv2930, vyv29200)) 213.97/145.75 new_primMinusNatS2(Zero, Succ(vyv3120)) -> Zero 213.97/145.75 new_primEqInt(Pos(Succ(vyv242000))) -> False 213.97/145.75 new_primEqInt(Pos(Zero)) -> True 213.97/145.75 new_error -> error([]) 213.97/145.75 new_esEs(Pos(Succ(vyv24300))) -> new_primEqInt(Pos(Succ(vyv24300))) 213.97/145.75 new_primEqInt(Neg(Succ(vyv242000))) -> False 213.97/145.75 new_rem(Neg(vyv2930), Neg(Zero)) -> new_error 213.97/145.75 new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) 213.97/145.75 new_primModNatS01(vyv331, vyv332, Zero, Zero) -> new_primModNatS02(vyv331, vyv332) 213.97/145.75 new_rem(Pos(vyv2930), Neg(Zero)) -> new_error 213.97/145.75 new_rem(Neg(vyv2930), Pos(Zero)) -> new_error 213.97/145.75 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 213.97/145.75 new_primModNatS01(vyv331, vyv332, Succ(vyv3330), Zero) -> new_primModNatS02(vyv331, vyv332) 213.97/145.75 new_primModNatS02(vyv331, vyv332) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv331), Succ(vyv332)), Succ(vyv332)) 213.97/145.75 new_rem(Pos(vyv2930), Neg(Succ(vyv29200))) -> Pos(new_primModNatS1(vyv2930, vyv29200)) 213.97/145.75 new_primMinusNatS1 -> Zero 213.97/145.75 new_primMinusNatS2(Succ(vyv3110), Zero) -> Succ(vyv3110) 213.97/145.75 new_rem(Neg(vyv2930), Pos(Succ(vyv29200))) -> Neg(new_primModNatS1(vyv2930, vyv29200)) 213.97/145.75 new_rem(Pos(vyv2930), Pos(Zero)) -> new_error 213.97/145.75 213.97/145.75 Q is empty. 213.97/145.75 We have to consider all (P,Q,R)-chains. 213.97/145.75 ---------------------------------------- 213.97/145.75 213.97/145.75 (31) InductionCalculusProof (EQUIVALENT) 213.97/145.75 Note that final constraints are written in bold face. 213.97/145.75 213.97/145.75 213.97/145.75 213.97/145.75 For Pair new_gcd0Gcd'0(vyv293, vyv292) -> new_gcd0Gcd'1(new_esEs(new_rem(vyv293, vyv292)), vyv292, vyv293) the following chains were created: 213.97/145.75 *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: 213.97/145.75 213.97/145.75 (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)) 213.97/145.75 213.97/145.75 213.97/145.75 213.97/145.75 We simplified constraint (1) using rules (I), (II), (IV), (VII) which results in the following new constraint: 213.97/145.75 213.97/145.75 (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)) 213.97/145.75 213.97/145.75 213.97/145.75 213.97/145.75 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: 213.97/145.75 213.97/145.75 (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)) 213.97/145.75 213.97/145.75 (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)) 213.97/145.75 213.97/145.75 (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)) 213.97/145.75 213.97/145.75 (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)) 213.97/145.75 213.97/145.75 213.97/145.75 213.97/145.75 We simplified constraint (3) using rule (VII) which results in the following new constraint: 213.97/145.75 213.97/145.75 (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)) 213.97/145.75 213.97/145.75 213.97/145.75 213.97/145.75 We simplified constraint (4) using rule (VII) which results in the following new constraint: 213.97/145.75 213.97/145.75 (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)) 213.97/145.75 213.97/145.75 213.97/145.75 213.97/145.75 We simplified constraint (5) using rule (VII) which results in the following new constraint: 213.97/145.75 213.97/145.75 (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)) 213.97/145.75 213.97/145.75 213.97/145.75 213.97/145.75 We simplified constraint (6) using rule (VII) which results in the following new constraint: 213.97/145.75 213.97/145.75 (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)) 213.97/145.75 213.97/145.75 213.97/145.75 213.97/145.75 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: 213.97/145.75 213.97/145.75 (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)) 213.97/145.75 213.97/145.75 (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)) 213.97/145.75 213.97/145.75 213.97/145.75 213.97/145.75 We solved constraint (11) using rules (I), (II).We simplified constraint (12) using rules (I), (II), (IV) which results in the following new constraint: 213.97/145.75 213.97/145.75 (13) (new_rem(x2, x3)=Neg(Succ(x13)) ==> new_gcd0Gcd'0(x2, x3)_>=_new_gcd0Gcd'1(new_esEs(new_rem(x2, x3)), x3, x2)) 213.97/145.75 213.97/145.75 213.97/145.75 213.97/145.75 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: 213.97/145.75 213.97/145.75 (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))) 213.97/145.75 213.97/145.75 (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))) 213.97/145.75 213.97/145.75 (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))) 213.97/145.75 213.97/145.75 (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))) 213.97/145.75 213.97/145.75 (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))) 213.97/145.75 213.97/145.75 (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))) 213.97/145.75 213.97/145.75 213.97/145.75 213.97/145.75 We simplified constraint (14) using rules (I), (II) which results in the following new constraint: 213.97/145.75 213.97/145.75 (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))) 213.97/145.75 213.97/145.75 213.97/145.75 213.97/145.75 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: 213.97/145.75 213.97/145.75 (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))) 213.97/145.75 213.97/145.75 213.97/145.75 213.97/145.75 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: 213.97/145.75 213.97/145.75 (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))))) 213.97/145.75 213.97/145.75 (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)))) 213.97/145.75 213.97/145.75 (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))))) 213.97/145.75 213.97/145.75 (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)))) 213.97/145.75 213.97/145.75 213.97/145.75 213.97/145.75 We simplified constraint (22) using rules (III), (IV), (VII) which results in the following new constraint: 213.97/145.75 213.97/145.75 (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))))) 213.97/145.75 213.97/145.75 213.97/145.75 213.97/145.75 We simplified constraint (23) using rules (I), (II), (IV) which results in the following new constraint: 213.97/145.75 213.97/145.75 (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)))) 213.97/145.75 213.97/145.75 213.97/145.75 213.97/145.75 We simplified constraint (24) using rules (III), (IV), (VII) which results in the following new constraint: 213.97/145.75 213.97/145.75 (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))))) 213.97/145.75 213.97/145.75 213.97/145.75 213.97/145.75 We simplified constraint (25) using rules (III), (IV), (VII) which results in the following new constraint: 213.97/145.75 213.97/145.75 (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)))) 213.97/145.75 213.97/145.75 213.97/145.75 213.97/145.75 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: 213.97/145.75 213.97/145.75 (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))))) 213.97/145.75 213.97/145.75 (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)))) 213.97/145.75 213.97/145.75 (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))))) 213.97/145.75 213.97/145.75 (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)))) 213.97/145.75 213.97/145.75 213.97/145.75 213.97/145.75 We simplified constraint (30) using rules (III), (IV), (VII) which results in the following new constraint: 213.97/145.75 213.97/145.75 (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))))) 213.97/145.75 213.97/145.75 213.97/145.75 213.97/145.75 We simplified constraint (31) using rules (I), (II), (IV) which results in the following new constraint: 213.97/145.75 213.97/145.75 (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)))) 213.97/145.75 213.97/145.75 213.97/145.75 213.97/145.75 We simplified constraint (32) using rules (III), (IV), (VII) which results in the following new constraint: 213.97/145.75 213.97/145.75 (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))))) 213.97/145.75 213.97/145.75 213.97/145.75 213.97/145.75 We simplified constraint (33) using rules (III), (IV), (VII) which results in the following new constraint: 213.97/145.75 213.97/145.75 (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)))) 213.97/145.76 213.97/145.76 213.97/145.76 213.97/145.76 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: 213.97/145.76 213.97/145.76 (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)) 213.97/145.76 213.97/145.76 (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)) 213.97/145.76 213.97/145.76 213.97/145.76 213.97/145.76 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: 213.97/145.76 213.97/145.76 (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)) 213.97/145.76 213.97/145.76 (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)) 213.97/145.76 213.97/145.76 213.97/145.76 213.97/145.76 We simplified constraint (40) using rules (I), (II), (IV) which results in the following new constraint: 213.97/145.76 213.97/145.76 (42) (new_rem(x2, x3)=Pos(Succ(x14)) ==> new_gcd0Gcd'0(x2, x3)_>=_new_gcd0Gcd'1(new_esEs(new_rem(x2, x3)), x3, x2)) 213.97/145.76 213.97/145.76 213.97/145.76 213.97/145.76 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: 213.97/145.76 213.97/145.76 (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))) 213.97/145.76 213.97/145.76 (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))) 213.97/145.76 213.97/145.76 (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))) 213.97/145.76 213.97/145.76 (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))) 213.97/145.76 213.97/145.76 (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))) 213.97/145.76 213.97/145.76 (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))) 213.97/145.76 213.97/145.76 213.97/145.76 213.97/145.76 We simplified constraint (43) using rules (I), (II) which results in the following new constraint: 213.97/145.76 213.97/145.76 (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))) 213.97/145.76 213.97/145.76 213.97/145.76 213.97/145.76 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: 213.97/145.76 213.97/145.76 (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))) 213.97/145.76 213.97/145.76 213.97/145.76 213.97/145.76 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: 213.97/145.76 213.97/145.76 (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))))) 213.97/145.76 213.97/145.76 (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)))) 213.97/145.76 213.97/145.76 (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))))) 213.97/145.76 213.97/145.76 (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)))) 213.97/145.76 213.97/145.76 213.97/145.76 213.97/145.76 We simplified constraint (51) using rules (III), (IV), (VII) which results in the following new constraint: 213.97/145.76 213.97/145.76 (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))))) 213.97/145.76 213.97/145.76 213.97/145.76 213.97/145.76 We simplified constraint (52) using rules (I), (II), (IV) which results in the following new constraint: 213.97/145.76 213.97/145.76 (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)))) 213.97/145.76 213.97/145.76 213.97/145.76 213.97/145.76 We simplified constraint (53) using rules (III), (IV), (VII) which results in the following new constraint: 213.97/145.76 213.97/145.76 (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))))) 213.97/145.76 213.97/145.76 213.97/145.76 213.97/145.76 We simplified constraint (54) using rules (III), (IV), (VII) which results in the following new constraint: 213.97/145.76 213.97/145.76 (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)))) 213.97/145.76 213.97/145.76 213.97/145.76 213.97/145.76 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: 213.97/145.76 213.97/145.76 (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))))) 213.97/145.76 213.97/145.76 (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)))) 213.97/145.76 213.97/145.76 (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))))) 213.97/145.76 213.97/145.76 (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)))) 213.97/145.76 213.97/145.76 213.97/145.76 213.97/145.76 We simplified constraint (59) using rules (III), (IV), (VII) which results in the following new constraint: 213.97/145.76 213.97/145.76 (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))))) 213.97/145.76 213.97/145.76 213.97/145.76 213.97/145.76 We simplified constraint (60) using rules (I), (II), (IV) which results in the following new constraint: 213.97/145.76 213.97/145.76 (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)))) 213.97/145.76 213.97/145.76 213.97/145.76 213.97/145.76 We simplified constraint (61) using rules (III), (IV), (VII) which results in the following new constraint: 213.97/145.76 213.97/145.76 (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))))) 213.97/145.76 213.97/145.76 213.97/145.76 213.97/145.76 We simplified constraint (62) using rules (III), (IV), (VII) which results in the following new constraint: 213.97/145.76 213.97/145.76 (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)))) 213.97/145.76 213.97/145.76 213.97/145.76 213.97/145.76 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: 213.97/145.76 213.97/145.76 (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)) 213.97/145.76 213.97/145.76 (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)) 213.97/145.76 213.97/145.76 213.97/145.76 213.97/145.76 We solved constraint (67) using rules (I), (II).We solved constraint (68) using rules (I), (II). 213.97/145.76 213.97/145.76 213.97/145.76 213.97/145.76 213.97/145.76 For Pair new_gcd0Gcd'1(False, vyv292, vyv293) -> new_gcd0Gcd'0(vyv292, new_rem(vyv293, vyv292)) the following chains were created: 213.97/145.76 *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: 213.97/145.76 213.97/145.76 (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))) 213.97/145.76 213.97/145.76 213.97/145.76 213.97/145.76 We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: 213.97/145.76 213.97/145.76 (2) (new_gcd0Gcd'1(False, x6, x7)_>=_new_gcd0Gcd'0(x6, new_rem(x7, x6))) 213.97/145.76 213.97/145.76 213.97/145.76 213.97/145.76 213.97/145.76 213.97/145.76 213.97/145.76 213.97/145.76 213.97/145.76 To summarize, we get the following constraints P__>=_ for the following pairs. 213.97/145.76 213.97/145.76 *new_gcd0Gcd'0(vyv293, vyv292) -> new_gcd0Gcd'1(new_esEs(new_rem(vyv293, vyv292)), vyv292, vyv293) 213.97/145.76 213.97/145.76 *(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)))) 213.97/145.76 213.97/145.76 213.97/145.76 *(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)))) 213.97/145.76 213.97/145.76 213.97/145.76 *(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)))) 213.97/145.76 213.97/145.76 213.97/145.76 *(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)))) 213.97/145.76 213.97/145.76 213.97/145.76 *(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))))) 213.97/145.76 213.97/145.76 213.97/145.76 *(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))))) 213.97/145.76 213.97/145.76 213.97/145.76 *(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)))) 213.97/145.76 213.97/145.76 213.97/145.76 *(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))))) 213.97/145.76 213.97/145.76 213.97/145.76 *(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))))) 213.97/145.76 213.97/145.76 213.97/145.76 *(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)))) 213.97/145.76 213.97/145.76 213.97/145.76 *(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))))) 213.97/145.76 213.97/145.76 213.97/145.76 *(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))))) 213.97/145.76 213.97/145.76 213.97/145.76 *(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)))) 213.97/145.76 213.97/145.76 213.97/145.76 *(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))))) 213.97/145.76 213.97/145.76 213.97/145.76 *(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))))) 213.97/145.76 213.97/145.76 213.97/145.76 *(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)))) 213.97/145.76 213.97/145.76 213.97/145.76 213.97/145.76 213.97/145.76 *new_gcd0Gcd'1(False, vyv292, vyv293) -> new_gcd0Gcd'0(vyv292, new_rem(vyv293, vyv292)) 213.97/145.76 213.97/145.76 *(new_gcd0Gcd'1(False, x6, x7)_>=_new_gcd0Gcd'0(x6, new_rem(x7, x6))) 213.97/145.76 213.97/145.76 213.97/145.76 213.97/145.76 213.97/145.76 213.97/145.76 213.97/145.76 213.97/145.76 213.97/145.76 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. 213.97/145.76 ---------------------------------------- 213.97/145.76 213.97/145.76 (32) 213.97/145.76 Obligation: 213.97/145.76 Q DP problem: 213.97/145.76 The TRS P consists of the following rules: 213.97/145.76 213.97/145.76 new_gcd0Gcd'0(vyv293, vyv292) -> new_gcd0Gcd'1(new_esEs(new_rem(vyv293, vyv292)), vyv292, vyv293) 213.97/145.76 new_gcd0Gcd'1(False, vyv292, vyv293) -> new_gcd0Gcd'0(vyv292, new_rem(vyv293, vyv292)) 213.97/145.76 213.97/145.76 The TRS R consists of the following rules: 213.97/145.76 213.97/145.76 new_primModNatS01(vyv331, vyv332, Succ(vyv3330), Succ(vyv3340)) -> new_primModNatS01(vyv331, vyv332, vyv3330, vyv3340) 213.97/145.76 new_primModNatS1(Succ(Succ(vyv293000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv293000), Zero) 213.97/145.76 new_primModNatS1(Succ(Zero), Succ(vyv292000)) -> Succ(Zero) 213.97/145.76 new_primMinusNatS2(Zero, Zero) -> Zero 213.97/145.76 new_primEqInt(Neg(Zero)) -> True 213.97/145.76 new_primMinusNatS2(Succ(vyv3110), Succ(vyv3120)) -> new_primMinusNatS2(vyv3110, vyv3120) 213.97/145.76 new_primModNatS1(Succ(Succ(vyv293000)), Succ(vyv292000)) -> new_primModNatS01(vyv293000, vyv292000, vyv293000, vyv292000) 213.97/145.76 new_primModNatS01(vyv331, vyv332, Zero, Succ(vyv3340)) -> Succ(Succ(vyv331)) 213.97/145.76 new_primMinusNatS0(vyv271000) -> Succ(vyv271000) 213.97/145.76 new_esEs(Neg(Succ(vyv24300))) -> new_primEqInt(Neg(Succ(vyv24300))) 213.97/145.76 new_rem(Neg(vyv2930), Neg(Succ(vyv29200))) -> Neg(new_primModNatS1(vyv2930, vyv29200)) 213.97/145.76 new_primModNatS1(Zero, vyv29200) -> Zero 213.97/145.76 new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) 213.97/145.76 new_rem(Pos(vyv2930), Pos(Succ(vyv29200))) -> Pos(new_primModNatS1(vyv2930, vyv29200)) 213.97/145.76 new_primMinusNatS2(Zero, Succ(vyv3120)) -> Zero 213.97/145.76 new_primEqInt(Pos(Succ(vyv242000))) -> False 213.97/145.76 new_primEqInt(Pos(Zero)) -> True 213.97/145.76 new_error -> error([]) 213.97/145.76 new_esEs(Pos(Succ(vyv24300))) -> new_primEqInt(Pos(Succ(vyv24300))) 213.97/145.76 new_primEqInt(Neg(Succ(vyv242000))) -> False 213.97/145.76 new_rem(Neg(vyv2930), Neg(Zero)) -> new_error 213.97/145.76 new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) 213.97/145.76 new_primModNatS01(vyv331, vyv332, Zero, Zero) -> new_primModNatS02(vyv331, vyv332) 213.97/145.76 new_rem(Pos(vyv2930), Neg(Zero)) -> new_error 213.97/145.76 new_rem(Neg(vyv2930), Pos(Zero)) -> new_error 213.97/145.76 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 213.97/145.76 new_primModNatS01(vyv331, vyv332, Succ(vyv3330), Zero) -> new_primModNatS02(vyv331, vyv332) 213.97/145.76 new_primModNatS02(vyv331, vyv332) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv331), Succ(vyv332)), Succ(vyv332)) 213.97/145.76 new_rem(Pos(vyv2930), Neg(Succ(vyv29200))) -> Pos(new_primModNatS1(vyv2930, vyv29200)) 213.97/145.76 new_primMinusNatS1 -> Zero 213.97/145.76 new_primMinusNatS2(Succ(vyv3110), Zero) -> Succ(vyv3110) 213.97/145.76 new_rem(Neg(vyv2930), Pos(Succ(vyv29200))) -> Neg(new_primModNatS1(vyv2930, vyv29200)) 213.97/145.76 new_rem(Pos(vyv2930), Pos(Zero)) -> new_error 213.97/145.76 213.97/145.76 The set Q consists of the following terms: 213.97/145.76 213.97/145.76 new_primModNatS01(x0, x1, Succ(x2), Zero) 213.97/145.76 new_primModNatS1(Succ(Succ(x0)), Zero) 213.97/145.76 new_primMinusNatS1 213.97/145.76 new_primEqInt(Pos(Zero)) 213.97/145.76 new_rem(Pos(x0), Pos(Zero)) 213.97/145.76 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 213.97/145.76 new_esEs(Pos(Succ(x0))) 213.97/145.76 new_primModNatS1(Zero, x0) 213.97/145.76 new_primModNatS02(x0, x1) 213.97/145.76 new_primMinusNatS2(Zero, Zero) 213.97/145.76 new_error 213.97/145.76 new_primModNatS1(Succ(Zero), Zero) 213.97/145.76 new_primMinusNatS2(Succ(x0), Zero) 213.97/145.76 new_esEs(Pos(Zero)) 213.97/145.76 new_primMinusNatS0(x0) 213.97/145.76 new_primEqInt(Neg(Succ(x0))) 213.97/145.76 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 213.97/145.76 new_rem(Neg(x0), Neg(Zero)) 213.97/145.76 new_rem(Pos(x0), Neg(Succ(x1))) 213.97/145.76 new_rem(Neg(x0), Pos(Succ(x1))) 213.97/145.76 new_esEs(Neg(Succ(x0))) 213.97/145.76 new_primEqInt(Neg(Zero)) 213.97/145.76 new_rem(Pos(x0), Pos(Succ(x1))) 213.97/145.76 new_primModNatS01(x0, x1, Zero, Zero) 213.97/145.76 new_primEqInt(Pos(Succ(x0))) 213.97/145.76 new_rem(Neg(x0), Neg(Succ(x1))) 213.97/145.76 new_rem(Pos(x0), Neg(Zero)) 213.97/145.76 new_rem(Neg(x0), Pos(Zero)) 213.97/145.76 new_primMinusNatS2(Zero, Succ(x0)) 213.97/145.76 new_primModNatS1(Succ(Zero), Succ(x0)) 213.97/145.76 new_primMinusNatS2(Succ(x0), Succ(x1)) 213.97/145.76 new_primModNatS01(x0, x1, Zero, Succ(x2)) 213.97/145.76 new_esEs(Neg(Zero)) 213.97/145.76 213.97/145.76 We have to consider all minimal (P,Q,R)-chains. 213.97/145.76 ---------------------------------------- 213.97/145.76 213.97/145.76 (33) TransformationProof (EQUIVALENT) 213.97/145.76 By narrowing [LPAR04] the rule new_gcd0Gcd'0(vyv293, vyv292) -> new_gcd0Gcd'1(new_esEs(new_rem(vyv293, vyv292)), vyv292, vyv293) at position [0] we obtained the following new rules [LPAR04]: 213.97/145.76 213.97/145.76 (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))) 213.97/145.76 (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))) 213.97/145.76 (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))) 213.97/145.76 (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))) 213.97/145.76 (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))) 213.97/145.76 (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))) 213.97/145.76 (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))) 213.97/145.76 (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))) 213.97/145.76 213.97/145.76 213.97/145.76 ---------------------------------------- 213.97/145.76 213.97/145.76 (34) 213.97/145.76 Obligation: 213.97/145.76 Q DP problem: 213.97/145.76 The TRS P consists of the following rules: 213.97/145.76 213.97/145.76 new_gcd0Gcd'1(False, vyv292, vyv293) -> new_gcd0Gcd'0(vyv292, new_rem(vyv293, vyv292)) 213.97/145.76 new_gcd0Gcd'0(Neg(x0), Neg(Succ(x1))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(x0, x1))), Neg(Succ(x1)), Neg(x0)) 213.97/145.76 new_gcd0Gcd'0(Pos(x0), Pos(Succ(x1))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(x0, x1))), Pos(Succ(x1)), Pos(x0)) 213.97/145.76 new_gcd0Gcd'0(Neg(x0), Neg(Zero)) -> new_gcd0Gcd'1(new_esEs(new_error), Neg(Zero), Neg(x0)) 213.97/145.76 new_gcd0Gcd'0(Pos(x0), Neg(Zero)) -> new_gcd0Gcd'1(new_esEs(new_error), Neg(Zero), Pos(x0)) 213.97/145.76 new_gcd0Gcd'0(Neg(x0), Pos(Zero)) -> new_gcd0Gcd'1(new_esEs(new_error), Pos(Zero), Neg(x0)) 213.97/145.76 new_gcd0Gcd'0(Pos(x0), Neg(Succ(x1))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(x0, x1))), Neg(Succ(x1)), Pos(x0)) 213.97/145.76 new_gcd0Gcd'0(Neg(x0), Pos(Succ(x1))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(x0, x1))), Pos(Succ(x1)), Neg(x0)) 213.97/145.76 new_gcd0Gcd'0(Pos(x0), Pos(Zero)) -> new_gcd0Gcd'1(new_esEs(new_error), Pos(Zero), Pos(x0)) 213.97/145.76 213.97/145.76 The TRS R consists of the following rules: 213.97/145.76 213.97/145.76 new_primModNatS01(vyv331, vyv332, Succ(vyv3330), Succ(vyv3340)) -> new_primModNatS01(vyv331, vyv332, vyv3330, vyv3340) 213.97/145.76 new_primModNatS1(Succ(Succ(vyv293000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv293000), Zero) 213.97/145.76 new_primModNatS1(Succ(Zero), Succ(vyv292000)) -> Succ(Zero) 213.97/145.76 new_primMinusNatS2(Zero, Zero) -> Zero 213.97/145.76 new_primEqInt(Neg(Zero)) -> True 213.97/145.76 new_primMinusNatS2(Succ(vyv3110), Succ(vyv3120)) -> new_primMinusNatS2(vyv3110, vyv3120) 213.97/145.76 new_primModNatS1(Succ(Succ(vyv293000)), Succ(vyv292000)) -> new_primModNatS01(vyv293000, vyv292000, vyv293000, vyv292000) 213.97/145.76 new_primModNatS01(vyv331, vyv332, Zero, Succ(vyv3340)) -> Succ(Succ(vyv331)) 213.97/145.76 new_primMinusNatS0(vyv271000) -> Succ(vyv271000) 213.97/145.76 new_esEs(Neg(Succ(vyv24300))) -> new_primEqInt(Neg(Succ(vyv24300))) 213.97/145.76 new_rem(Neg(vyv2930), Neg(Succ(vyv29200))) -> Neg(new_primModNatS1(vyv2930, vyv29200)) 213.97/145.76 new_primModNatS1(Zero, vyv29200) -> Zero 213.97/145.76 new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) 213.97/145.76 new_rem(Pos(vyv2930), Pos(Succ(vyv29200))) -> Pos(new_primModNatS1(vyv2930, vyv29200)) 213.97/145.76 new_primMinusNatS2(Zero, Succ(vyv3120)) -> Zero 213.97/145.76 new_primEqInt(Pos(Succ(vyv242000))) -> False 213.97/145.76 new_primEqInt(Pos(Zero)) -> True 213.97/145.76 new_error -> error([]) 213.97/145.76 new_esEs(Pos(Succ(vyv24300))) -> new_primEqInt(Pos(Succ(vyv24300))) 213.97/145.76 new_primEqInt(Neg(Succ(vyv242000))) -> False 213.97/145.76 new_rem(Neg(vyv2930), Neg(Zero)) -> new_error 213.97/145.76 new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) 213.97/145.76 new_primModNatS01(vyv331, vyv332, Zero, Zero) -> new_primModNatS02(vyv331, vyv332) 213.97/145.76 new_rem(Pos(vyv2930), Neg(Zero)) -> new_error 213.97/145.76 new_rem(Neg(vyv2930), Pos(Zero)) -> new_error 213.97/145.76 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 213.97/145.76 new_primModNatS01(vyv331, vyv332, Succ(vyv3330), Zero) -> new_primModNatS02(vyv331, vyv332) 213.97/145.76 new_primModNatS02(vyv331, vyv332) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv331), Succ(vyv332)), Succ(vyv332)) 213.97/145.76 new_rem(Pos(vyv2930), Neg(Succ(vyv29200))) -> Pos(new_primModNatS1(vyv2930, vyv29200)) 213.97/145.76 new_primMinusNatS1 -> Zero 213.97/145.76 new_primMinusNatS2(Succ(vyv3110), Zero) -> Succ(vyv3110) 213.97/145.76 new_rem(Neg(vyv2930), Pos(Succ(vyv29200))) -> Neg(new_primModNatS1(vyv2930, vyv29200)) 213.97/145.76 new_rem(Pos(vyv2930), Pos(Zero)) -> new_error 213.97/145.76 213.97/145.76 The set Q consists of the following terms: 213.97/145.76 213.97/145.76 new_primModNatS01(x0, x1, Succ(x2), Zero) 213.97/145.76 new_primModNatS1(Succ(Succ(x0)), Zero) 213.97/145.76 new_primMinusNatS1 213.97/145.76 new_primEqInt(Pos(Zero)) 213.97/145.76 new_rem(Pos(x0), Pos(Zero)) 213.97/145.76 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 213.97/145.76 new_esEs(Pos(Succ(x0))) 213.97/145.76 new_primModNatS1(Zero, x0) 213.97/145.76 new_primModNatS02(x0, x1) 213.97/145.76 new_primMinusNatS2(Zero, Zero) 213.97/145.76 new_error 213.97/145.76 new_primModNatS1(Succ(Zero), Zero) 213.97/145.76 new_primMinusNatS2(Succ(x0), Zero) 213.97/145.76 new_esEs(Pos(Zero)) 213.97/145.76 new_primMinusNatS0(x0) 213.97/145.76 new_primEqInt(Neg(Succ(x0))) 213.97/145.76 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 213.97/145.76 new_rem(Neg(x0), Neg(Zero)) 213.97/145.76 new_rem(Pos(x0), Neg(Succ(x1))) 213.97/145.76 new_rem(Neg(x0), Pos(Succ(x1))) 213.97/145.76 new_esEs(Neg(Succ(x0))) 213.97/145.76 new_primEqInt(Neg(Zero)) 213.97/145.76 new_rem(Pos(x0), Pos(Succ(x1))) 213.97/145.76 new_primModNatS01(x0, x1, Zero, Zero) 213.97/145.76 new_primEqInt(Pos(Succ(x0))) 213.97/145.76 new_rem(Neg(x0), Neg(Succ(x1))) 213.97/145.76 new_rem(Pos(x0), Neg(Zero)) 213.97/145.76 new_rem(Neg(x0), Pos(Zero)) 213.97/145.76 new_primMinusNatS2(Zero, Succ(x0)) 213.97/145.76 new_primModNatS1(Succ(Zero), Succ(x0)) 213.97/145.76 new_primMinusNatS2(Succ(x0), Succ(x1)) 213.97/145.76 new_primModNatS01(x0, x1, Zero, Succ(x2)) 213.97/145.76 new_esEs(Neg(Zero)) 213.97/145.76 213.97/145.76 We have to consider all minimal (P,Q,R)-chains. 213.97/145.76 ---------------------------------------- 213.97/145.76 213.97/145.76 (35) TransformationProof (EQUIVALENT) 213.97/145.76 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]: 213.97/145.76 213.97/145.76 (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))) 213.97/145.76 213.97/145.76 213.97/145.76 ---------------------------------------- 213.97/145.76 213.97/145.76 (36) 213.97/145.76 Obligation: 213.97/145.76 Q DP problem: 213.97/145.76 The TRS P consists of the following rules: 213.97/145.76 213.97/145.76 new_gcd0Gcd'1(False, vyv292, vyv293) -> new_gcd0Gcd'0(vyv292, new_rem(vyv293, vyv292)) 213.97/145.76 new_gcd0Gcd'0(Neg(x0), Neg(Succ(x1))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(x0, x1))), Neg(Succ(x1)), Neg(x0)) 213.97/145.76 new_gcd0Gcd'0(Pos(x0), Pos(Succ(x1))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(x0, x1))), Pos(Succ(x1)), Pos(x0)) 213.97/145.76 new_gcd0Gcd'0(Pos(x0), Neg(Zero)) -> new_gcd0Gcd'1(new_esEs(new_error), Neg(Zero), Pos(x0)) 213.97/145.76 new_gcd0Gcd'0(Neg(x0), Pos(Zero)) -> new_gcd0Gcd'1(new_esEs(new_error), Pos(Zero), Neg(x0)) 213.97/145.76 new_gcd0Gcd'0(Pos(x0), Neg(Succ(x1))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(x0, x1))), Neg(Succ(x1)), Pos(x0)) 213.97/145.76 new_gcd0Gcd'0(Neg(x0), Pos(Succ(x1))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(x0, x1))), Pos(Succ(x1)), Neg(x0)) 213.97/145.76 new_gcd0Gcd'0(Pos(x0), Pos(Zero)) -> new_gcd0Gcd'1(new_esEs(new_error), Pos(Zero), Pos(x0)) 213.97/145.76 new_gcd0Gcd'0(Neg(x0), Neg(Zero)) -> new_gcd0Gcd'1(new_esEs(error([])), Neg(Zero), Neg(x0)) 213.97/145.76 213.97/145.76 The TRS R consists of the following rules: 213.97/145.76 213.97/145.76 new_primModNatS01(vyv331, vyv332, Succ(vyv3330), Succ(vyv3340)) -> new_primModNatS01(vyv331, vyv332, vyv3330, vyv3340) 213.97/145.76 new_primModNatS1(Succ(Succ(vyv293000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv293000), Zero) 213.97/145.76 new_primModNatS1(Succ(Zero), Succ(vyv292000)) -> Succ(Zero) 213.97/145.76 new_primMinusNatS2(Zero, Zero) -> Zero 213.97/145.76 new_primEqInt(Neg(Zero)) -> True 213.97/145.76 new_primMinusNatS2(Succ(vyv3110), Succ(vyv3120)) -> new_primMinusNatS2(vyv3110, vyv3120) 213.97/145.76 new_primModNatS1(Succ(Succ(vyv293000)), Succ(vyv292000)) -> new_primModNatS01(vyv293000, vyv292000, vyv293000, vyv292000) 213.97/145.76 new_primModNatS01(vyv331, vyv332, Zero, Succ(vyv3340)) -> Succ(Succ(vyv331)) 213.97/145.76 new_primMinusNatS0(vyv271000) -> Succ(vyv271000) 213.97/145.76 new_esEs(Neg(Succ(vyv24300))) -> new_primEqInt(Neg(Succ(vyv24300))) 213.97/145.76 new_rem(Neg(vyv2930), Neg(Succ(vyv29200))) -> Neg(new_primModNatS1(vyv2930, vyv29200)) 213.97/145.76 new_primModNatS1(Zero, vyv29200) -> Zero 213.97/145.76 new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) 213.97/145.76 new_rem(Pos(vyv2930), Pos(Succ(vyv29200))) -> Pos(new_primModNatS1(vyv2930, vyv29200)) 213.97/145.76 new_primMinusNatS2(Zero, Succ(vyv3120)) -> Zero 213.97/145.76 new_primEqInt(Pos(Succ(vyv242000))) -> False 213.97/145.76 new_primEqInt(Pos(Zero)) -> True 213.97/145.76 new_error -> error([]) 213.97/145.76 new_esEs(Pos(Succ(vyv24300))) -> new_primEqInt(Pos(Succ(vyv24300))) 213.97/145.76 new_primEqInt(Neg(Succ(vyv242000))) -> False 213.97/145.76 new_rem(Neg(vyv2930), Neg(Zero)) -> new_error 213.97/145.76 new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) 213.97/145.76 new_primModNatS01(vyv331, vyv332, Zero, Zero) -> new_primModNatS02(vyv331, vyv332) 213.97/145.76 new_rem(Pos(vyv2930), Neg(Zero)) -> new_error 213.97/145.76 new_rem(Neg(vyv2930), Pos(Zero)) -> new_error 213.97/145.76 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 213.97/145.76 new_primModNatS01(vyv331, vyv332, Succ(vyv3330), Zero) -> new_primModNatS02(vyv331, vyv332) 213.97/145.76 new_primModNatS02(vyv331, vyv332) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv331), Succ(vyv332)), Succ(vyv332)) 213.97/145.76 new_rem(Pos(vyv2930), Neg(Succ(vyv29200))) -> Pos(new_primModNatS1(vyv2930, vyv29200)) 213.97/145.76 new_primMinusNatS1 -> Zero 213.97/145.76 new_primMinusNatS2(Succ(vyv3110), Zero) -> Succ(vyv3110) 213.97/145.76 new_rem(Neg(vyv2930), Pos(Succ(vyv29200))) -> Neg(new_primModNatS1(vyv2930, vyv29200)) 213.97/145.76 new_rem(Pos(vyv2930), Pos(Zero)) -> new_error 213.97/145.76 213.97/145.76 The set Q consists of the following terms: 213.97/145.76 213.97/145.76 new_primModNatS01(x0, x1, Succ(x2), Zero) 213.97/145.76 new_primModNatS1(Succ(Succ(x0)), Zero) 213.97/145.76 new_primMinusNatS1 213.97/145.76 new_primEqInt(Pos(Zero)) 213.97/145.76 new_rem(Pos(x0), Pos(Zero)) 213.97/145.76 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 213.97/145.76 new_esEs(Pos(Succ(x0))) 213.97/145.76 new_primModNatS1(Zero, x0) 213.97/145.76 new_primModNatS02(x0, x1) 213.97/145.76 new_primMinusNatS2(Zero, Zero) 213.97/145.76 new_error 213.97/145.76 new_primModNatS1(Succ(Zero), Zero) 213.97/145.76 new_primMinusNatS2(Succ(x0), Zero) 213.97/145.76 new_esEs(Pos(Zero)) 213.97/145.76 new_primMinusNatS0(x0) 213.97/145.76 new_primEqInt(Neg(Succ(x0))) 213.97/145.76 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 213.97/145.76 new_rem(Neg(x0), Neg(Zero)) 213.97/145.76 new_rem(Pos(x0), Neg(Succ(x1))) 213.97/145.76 new_rem(Neg(x0), Pos(Succ(x1))) 213.97/145.76 new_esEs(Neg(Succ(x0))) 213.97/145.76 new_primEqInt(Neg(Zero)) 213.97/145.76 new_rem(Pos(x0), Pos(Succ(x1))) 213.97/145.76 new_primModNatS01(x0, x1, Zero, Zero) 213.97/145.76 new_primEqInt(Pos(Succ(x0))) 213.97/145.76 new_rem(Neg(x0), Neg(Succ(x1))) 213.97/145.76 new_rem(Pos(x0), Neg(Zero)) 213.97/145.76 new_rem(Neg(x0), Pos(Zero)) 213.97/145.76 new_primMinusNatS2(Zero, Succ(x0)) 213.97/145.76 new_primModNatS1(Succ(Zero), Succ(x0)) 213.97/145.76 new_primMinusNatS2(Succ(x0), Succ(x1)) 213.97/145.76 new_primModNatS01(x0, x1, Zero, Succ(x2)) 213.97/145.76 new_esEs(Neg(Zero)) 213.97/145.76 213.97/145.76 We have to consider all minimal (P,Q,R)-chains. 213.97/145.76 ---------------------------------------- 213.97/145.76 213.97/145.76 (37) DependencyGraphProof (EQUIVALENT) 213.97/145.76 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. 213.97/145.76 ---------------------------------------- 213.97/145.76 213.97/145.76 (38) 213.97/145.76 Obligation: 213.97/145.76 Q DP problem: 213.97/145.76 The TRS P consists of the following rules: 213.97/145.76 213.97/145.76 new_gcd0Gcd'0(Neg(x0), Neg(Succ(x1))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(x0, x1))), Neg(Succ(x1)), Neg(x0)) 213.97/145.76 new_gcd0Gcd'1(False, vyv292, vyv293) -> new_gcd0Gcd'0(vyv292, new_rem(vyv293, vyv292)) 213.97/145.76 new_gcd0Gcd'0(Pos(x0), Pos(Succ(x1))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(x0, x1))), Pos(Succ(x1)), Pos(x0)) 213.97/145.76 new_gcd0Gcd'0(Pos(x0), Neg(Zero)) -> new_gcd0Gcd'1(new_esEs(new_error), Neg(Zero), Pos(x0)) 213.97/145.76 new_gcd0Gcd'0(Neg(x0), Pos(Zero)) -> new_gcd0Gcd'1(new_esEs(new_error), Pos(Zero), Neg(x0)) 213.97/145.76 new_gcd0Gcd'0(Pos(x0), Neg(Succ(x1))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(x0, x1))), Neg(Succ(x1)), Pos(x0)) 213.97/145.76 new_gcd0Gcd'0(Neg(x0), Pos(Succ(x1))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(x0, x1))), Pos(Succ(x1)), Neg(x0)) 213.97/145.76 new_gcd0Gcd'0(Pos(x0), Pos(Zero)) -> new_gcd0Gcd'1(new_esEs(new_error), Pos(Zero), Pos(x0)) 213.97/145.76 213.97/145.76 The TRS R consists of the following rules: 213.97/145.76 213.97/145.76 new_primModNatS01(vyv331, vyv332, Succ(vyv3330), Succ(vyv3340)) -> new_primModNatS01(vyv331, vyv332, vyv3330, vyv3340) 213.97/145.76 new_primModNatS1(Succ(Succ(vyv293000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv293000), Zero) 213.97/145.76 new_primModNatS1(Succ(Zero), Succ(vyv292000)) -> Succ(Zero) 213.97/145.76 new_primMinusNatS2(Zero, Zero) -> Zero 213.97/145.76 new_primEqInt(Neg(Zero)) -> True 213.97/145.76 new_primMinusNatS2(Succ(vyv3110), Succ(vyv3120)) -> new_primMinusNatS2(vyv3110, vyv3120) 213.97/145.76 new_primModNatS1(Succ(Succ(vyv293000)), Succ(vyv292000)) -> new_primModNatS01(vyv293000, vyv292000, vyv293000, vyv292000) 213.97/145.76 new_primModNatS01(vyv331, vyv332, Zero, Succ(vyv3340)) -> Succ(Succ(vyv331)) 213.97/145.76 new_primMinusNatS0(vyv271000) -> Succ(vyv271000) 213.97/145.76 new_esEs(Neg(Succ(vyv24300))) -> new_primEqInt(Neg(Succ(vyv24300))) 213.97/145.76 new_rem(Neg(vyv2930), Neg(Succ(vyv29200))) -> Neg(new_primModNatS1(vyv2930, vyv29200)) 213.97/145.76 new_primModNatS1(Zero, vyv29200) -> Zero 213.97/145.76 new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) 213.97/145.76 new_rem(Pos(vyv2930), Pos(Succ(vyv29200))) -> Pos(new_primModNatS1(vyv2930, vyv29200)) 213.97/145.76 new_primMinusNatS2(Zero, Succ(vyv3120)) -> Zero 213.97/145.76 new_primEqInt(Pos(Succ(vyv242000))) -> False 213.97/145.76 new_primEqInt(Pos(Zero)) -> True 213.97/145.76 new_error -> error([]) 213.97/145.76 new_esEs(Pos(Succ(vyv24300))) -> new_primEqInt(Pos(Succ(vyv24300))) 213.97/145.76 new_primEqInt(Neg(Succ(vyv242000))) -> False 213.97/145.76 new_rem(Neg(vyv2930), Neg(Zero)) -> new_error 213.97/145.76 new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) 213.97/145.76 new_primModNatS01(vyv331, vyv332, Zero, Zero) -> new_primModNatS02(vyv331, vyv332) 213.97/145.76 new_rem(Pos(vyv2930), Neg(Zero)) -> new_error 213.97/145.76 new_rem(Neg(vyv2930), Pos(Zero)) -> new_error 213.97/145.76 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 213.97/145.76 new_primModNatS01(vyv331, vyv332, Succ(vyv3330), Zero) -> new_primModNatS02(vyv331, vyv332) 213.97/145.76 new_primModNatS02(vyv331, vyv332) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv331), Succ(vyv332)), Succ(vyv332)) 213.97/145.76 new_rem(Pos(vyv2930), Neg(Succ(vyv29200))) -> Pos(new_primModNatS1(vyv2930, vyv29200)) 213.97/145.76 new_primMinusNatS1 -> Zero 213.97/145.76 new_primMinusNatS2(Succ(vyv3110), Zero) -> Succ(vyv3110) 213.97/145.76 new_rem(Neg(vyv2930), Pos(Succ(vyv29200))) -> Neg(new_primModNatS1(vyv2930, vyv29200)) 213.97/145.76 new_rem(Pos(vyv2930), Pos(Zero)) -> new_error 213.97/145.76 213.97/145.76 The set Q consists of the following terms: 213.97/145.76 213.97/145.76 new_primModNatS01(x0, x1, Succ(x2), Zero) 213.97/145.76 new_primModNatS1(Succ(Succ(x0)), Zero) 213.97/145.76 new_primMinusNatS1 213.97/145.76 new_primEqInt(Pos(Zero)) 213.97/145.76 new_rem(Pos(x0), Pos(Zero)) 213.97/145.76 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 213.97/145.76 new_esEs(Pos(Succ(x0))) 213.97/145.76 new_primModNatS1(Zero, x0) 213.97/145.76 new_primModNatS02(x0, x1) 213.97/145.76 new_primMinusNatS2(Zero, Zero) 213.97/145.76 new_error 213.97/145.76 new_primModNatS1(Succ(Zero), Zero) 213.97/145.76 new_primMinusNatS2(Succ(x0), Zero) 213.97/145.76 new_esEs(Pos(Zero)) 213.97/145.76 new_primMinusNatS0(x0) 213.97/145.76 new_primEqInt(Neg(Succ(x0))) 213.97/145.76 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 213.97/145.76 new_rem(Neg(x0), Neg(Zero)) 213.97/145.76 new_rem(Pos(x0), Neg(Succ(x1))) 213.97/145.76 new_rem(Neg(x0), Pos(Succ(x1))) 213.97/145.76 new_esEs(Neg(Succ(x0))) 213.97/145.76 new_primEqInt(Neg(Zero)) 213.97/145.76 new_rem(Pos(x0), Pos(Succ(x1))) 213.97/145.76 new_primModNatS01(x0, x1, Zero, Zero) 213.97/145.76 new_primEqInt(Pos(Succ(x0))) 213.97/145.76 new_rem(Neg(x0), Neg(Succ(x1))) 213.97/145.76 new_rem(Pos(x0), Neg(Zero)) 213.97/145.76 new_rem(Neg(x0), Pos(Zero)) 213.97/145.76 new_primMinusNatS2(Zero, Succ(x0)) 213.97/145.76 new_primModNatS1(Succ(Zero), Succ(x0)) 213.97/145.76 new_primMinusNatS2(Succ(x0), Succ(x1)) 213.97/145.76 new_primModNatS01(x0, x1, Zero, Succ(x2)) 213.97/145.76 new_esEs(Neg(Zero)) 213.97/145.76 213.97/145.76 We have to consider all minimal (P,Q,R)-chains. 213.97/145.76 ---------------------------------------- 213.97/145.76 213.97/145.76 (39) TransformationProof (EQUIVALENT) 213.97/145.76 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]: 213.97/145.76 213.97/145.76 (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))) 213.97/145.76 213.97/145.76 213.97/145.76 ---------------------------------------- 213.97/145.76 213.97/145.76 (40) 213.97/145.76 Obligation: 213.97/145.76 Q DP problem: 213.97/145.76 The TRS P consists of the following rules: 213.97/145.76 213.97/145.76 new_gcd0Gcd'0(Neg(x0), Neg(Succ(x1))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(x0, x1))), Neg(Succ(x1)), Neg(x0)) 213.97/145.76 new_gcd0Gcd'1(False, vyv292, vyv293) -> new_gcd0Gcd'0(vyv292, new_rem(vyv293, vyv292)) 213.97/145.76 new_gcd0Gcd'0(Pos(x0), Pos(Succ(x1))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(x0, x1))), Pos(Succ(x1)), Pos(x0)) 213.97/145.76 new_gcd0Gcd'0(Neg(x0), Pos(Zero)) -> new_gcd0Gcd'1(new_esEs(new_error), Pos(Zero), Neg(x0)) 213.97/145.76 new_gcd0Gcd'0(Pos(x0), Neg(Succ(x1))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(x0, x1))), Neg(Succ(x1)), Pos(x0)) 213.97/145.76 new_gcd0Gcd'0(Neg(x0), Pos(Succ(x1))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(x0, x1))), Pos(Succ(x1)), Neg(x0)) 213.97/145.76 new_gcd0Gcd'0(Pos(x0), Pos(Zero)) -> new_gcd0Gcd'1(new_esEs(new_error), Pos(Zero), Pos(x0)) 213.97/145.76 new_gcd0Gcd'0(Pos(x0), Neg(Zero)) -> new_gcd0Gcd'1(new_esEs(error([])), Neg(Zero), Pos(x0)) 213.97/145.76 213.97/145.76 The TRS R consists of the following rules: 213.97/145.76 213.97/145.76 new_primModNatS01(vyv331, vyv332, Succ(vyv3330), Succ(vyv3340)) -> new_primModNatS01(vyv331, vyv332, vyv3330, vyv3340) 213.97/145.76 new_primModNatS1(Succ(Succ(vyv293000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv293000), Zero) 213.97/145.76 new_primModNatS1(Succ(Zero), Succ(vyv292000)) -> Succ(Zero) 213.97/145.76 new_primMinusNatS2(Zero, Zero) -> Zero 213.97/145.76 new_primEqInt(Neg(Zero)) -> True 213.97/145.76 new_primMinusNatS2(Succ(vyv3110), Succ(vyv3120)) -> new_primMinusNatS2(vyv3110, vyv3120) 213.97/145.76 new_primModNatS1(Succ(Succ(vyv293000)), Succ(vyv292000)) -> new_primModNatS01(vyv293000, vyv292000, vyv293000, vyv292000) 213.97/145.76 new_primModNatS01(vyv331, vyv332, Zero, Succ(vyv3340)) -> Succ(Succ(vyv331)) 213.97/145.76 new_primMinusNatS0(vyv271000) -> Succ(vyv271000) 213.97/145.76 new_esEs(Neg(Succ(vyv24300))) -> new_primEqInt(Neg(Succ(vyv24300))) 213.97/145.76 new_rem(Neg(vyv2930), Neg(Succ(vyv29200))) -> Neg(new_primModNatS1(vyv2930, vyv29200)) 213.97/145.76 new_primModNatS1(Zero, vyv29200) -> Zero 213.97/145.76 new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) 213.97/145.76 new_rem(Pos(vyv2930), Pos(Succ(vyv29200))) -> Pos(new_primModNatS1(vyv2930, vyv29200)) 213.97/145.76 new_primMinusNatS2(Zero, Succ(vyv3120)) -> Zero 213.97/145.76 new_primEqInt(Pos(Succ(vyv242000))) -> False 213.97/145.76 new_primEqInt(Pos(Zero)) -> True 213.97/145.76 new_error -> error([]) 213.97/145.76 new_esEs(Pos(Succ(vyv24300))) -> new_primEqInt(Pos(Succ(vyv24300))) 213.97/145.76 new_primEqInt(Neg(Succ(vyv242000))) -> False 213.97/145.76 new_rem(Neg(vyv2930), Neg(Zero)) -> new_error 213.97/145.76 new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) 213.97/145.76 new_primModNatS01(vyv331, vyv332, Zero, Zero) -> new_primModNatS02(vyv331, vyv332) 213.97/145.76 new_rem(Pos(vyv2930), Neg(Zero)) -> new_error 213.97/145.76 new_rem(Neg(vyv2930), Pos(Zero)) -> new_error 213.97/145.76 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 213.97/145.76 new_primModNatS01(vyv331, vyv332, Succ(vyv3330), Zero) -> new_primModNatS02(vyv331, vyv332) 213.97/145.76 new_primModNatS02(vyv331, vyv332) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv331), Succ(vyv332)), Succ(vyv332)) 213.97/145.76 new_rem(Pos(vyv2930), Neg(Succ(vyv29200))) -> Pos(new_primModNatS1(vyv2930, vyv29200)) 213.97/145.76 new_primMinusNatS1 -> Zero 213.97/145.76 new_primMinusNatS2(Succ(vyv3110), Zero) -> Succ(vyv3110) 213.97/145.76 new_rem(Neg(vyv2930), Pos(Succ(vyv29200))) -> Neg(new_primModNatS1(vyv2930, vyv29200)) 213.97/145.76 new_rem(Pos(vyv2930), Pos(Zero)) -> new_error 213.97/145.76 213.97/145.76 The set Q consists of the following terms: 213.97/145.76 213.97/145.76 new_primModNatS01(x0, x1, Succ(x2), Zero) 213.97/145.76 new_primModNatS1(Succ(Succ(x0)), Zero) 213.97/145.76 new_primMinusNatS1 213.97/145.76 new_primEqInt(Pos(Zero)) 213.97/145.76 new_rem(Pos(x0), Pos(Zero)) 213.97/145.76 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 213.97/145.76 new_esEs(Pos(Succ(x0))) 213.97/145.76 new_primModNatS1(Zero, x0) 213.97/145.76 new_primModNatS02(x0, x1) 213.97/145.76 new_primMinusNatS2(Zero, Zero) 213.97/145.76 new_error 213.97/145.76 new_primModNatS1(Succ(Zero), Zero) 213.97/145.76 new_primMinusNatS2(Succ(x0), Zero) 213.97/145.76 new_esEs(Pos(Zero)) 213.97/145.76 new_primMinusNatS0(x0) 213.97/145.76 new_primEqInt(Neg(Succ(x0))) 213.97/145.76 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 213.97/145.76 new_rem(Neg(x0), Neg(Zero)) 213.97/145.76 new_rem(Pos(x0), Neg(Succ(x1))) 213.97/145.76 new_rem(Neg(x0), Pos(Succ(x1))) 213.97/145.76 new_esEs(Neg(Succ(x0))) 213.97/145.76 new_primEqInt(Neg(Zero)) 213.97/145.76 new_rem(Pos(x0), Pos(Succ(x1))) 213.97/145.76 new_primModNatS01(x0, x1, Zero, Zero) 213.97/145.76 new_primEqInt(Pos(Succ(x0))) 213.97/145.76 new_rem(Neg(x0), Neg(Succ(x1))) 213.97/145.76 new_rem(Pos(x0), Neg(Zero)) 213.97/145.76 new_rem(Neg(x0), Pos(Zero)) 213.97/145.76 new_primMinusNatS2(Zero, Succ(x0)) 213.97/145.76 new_primModNatS1(Succ(Zero), Succ(x0)) 213.97/145.76 new_primMinusNatS2(Succ(x0), Succ(x1)) 213.97/145.76 new_primModNatS01(x0, x1, Zero, Succ(x2)) 213.97/145.76 new_esEs(Neg(Zero)) 213.97/145.76 213.97/145.76 We have to consider all minimal (P,Q,R)-chains. 213.97/145.76 ---------------------------------------- 213.97/145.76 213.97/145.76 (41) DependencyGraphProof (EQUIVALENT) 213.97/145.76 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. 213.97/145.76 ---------------------------------------- 213.97/145.76 213.97/145.76 (42) 213.97/145.76 Obligation: 213.97/145.76 Q DP problem: 213.97/145.76 The TRS P consists of the following rules: 213.97/145.76 213.97/145.76 new_gcd0Gcd'1(False, vyv292, vyv293) -> new_gcd0Gcd'0(vyv292, new_rem(vyv293, vyv292)) 213.97/145.76 new_gcd0Gcd'0(Neg(x0), Neg(Succ(x1))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(x0, x1))), Neg(Succ(x1)), Neg(x0)) 213.97/145.76 new_gcd0Gcd'0(Pos(x0), Pos(Succ(x1))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(x0, x1))), Pos(Succ(x1)), Pos(x0)) 213.97/145.76 new_gcd0Gcd'0(Neg(x0), Pos(Zero)) -> new_gcd0Gcd'1(new_esEs(new_error), Pos(Zero), Neg(x0)) 213.97/145.76 new_gcd0Gcd'0(Pos(x0), Neg(Succ(x1))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(x0, x1))), Neg(Succ(x1)), Pos(x0)) 213.97/145.76 new_gcd0Gcd'0(Neg(x0), Pos(Succ(x1))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(x0, x1))), Pos(Succ(x1)), Neg(x0)) 213.97/145.76 new_gcd0Gcd'0(Pos(x0), Pos(Zero)) -> new_gcd0Gcd'1(new_esEs(new_error), Pos(Zero), Pos(x0)) 213.97/145.76 213.97/145.76 The TRS R consists of the following rules: 213.97/145.76 213.97/145.76 new_primModNatS01(vyv331, vyv332, Succ(vyv3330), Succ(vyv3340)) -> new_primModNatS01(vyv331, vyv332, vyv3330, vyv3340) 213.97/145.76 new_primModNatS1(Succ(Succ(vyv293000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv293000), Zero) 213.97/145.76 new_primModNatS1(Succ(Zero), Succ(vyv292000)) -> Succ(Zero) 213.97/145.76 new_primMinusNatS2(Zero, Zero) -> Zero 213.97/145.76 new_primEqInt(Neg(Zero)) -> True 213.97/145.76 new_primMinusNatS2(Succ(vyv3110), Succ(vyv3120)) -> new_primMinusNatS2(vyv3110, vyv3120) 213.97/145.76 new_primModNatS1(Succ(Succ(vyv293000)), Succ(vyv292000)) -> new_primModNatS01(vyv293000, vyv292000, vyv293000, vyv292000) 213.97/145.76 new_primModNatS01(vyv331, vyv332, Zero, Succ(vyv3340)) -> Succ(Succ(vyv331)) 213.97/145.76 new_primMinusNatS0(vyv271000) -> Succ(vyv271000) 213.97/145.76 new_esEs(Neg(Succ(vyv24300))) -> new_primEqInt(Neg(Succ(vyv24300))) 213.97/145.76 new_rem(Neg(vyv2930), Neg(Succ(vyv29200))) -> Neg(new_primModNatS1(vyv2930, vyv29200)) 213.97/145.76 new_primModNatS1(Zero, vyv29200) -> Zero 213.97/145.76 new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) 213.97/145.76 new_rem(Pos(vyv2930), Pos(Succ(vyv29200))) -> Pos(new_primModNatS1(vyv2930, vyv29200)) 213.97/145.76 new_primMinusNatS2(Zero, Succ(vyv3120)) -> Zero 213.97/145.76 new_primEqInt(Pos(Succ(vyv242000))) -> False 213.97/145.76 new_primEqInt(Pos(Zero)) -> True 213.97/145.76 new_error -> error([]) 213.97/145.76 new_esEs(Pos(Succ(vyv24300))) -> new_primEqInt(Pos(Succ(vyv24300))) 213.97/145.76 new_primEqInt(Neg(Succ(vyv242000))) -> False 213.97/145.76 new_rem(Neg(vyv2930), Neg(Zero)) -> new_error 213.97/145.76 new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) 213.97/145.76 new_primModNatS01(vyv331, vyv332, Zero, Zero) -> new_primModNatS02(vyv331, vyv332) 213.97/145.76 new_rem(Pos(vyv2930), Neg(Zero)) -> new_error 213.97/145.76 new_rem(Neg(vyv2930), Pos(Zero)) -> new_error 213.97/145.76 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 213.97/145.76 new_primModNatS01(vyv331, vyv332, Succ(vyv3330), Zero) -> new_primModNatS02(vyv331, vyv332) 213.97/145.76 new_primModNatS02(vyv331, vyv332) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv331), Succ(vyv332)), Succ(vyv332)) 213.97/145.76 new_rem(Pos(vyv2930), Neg(Succ(vyv29200))) -> Pos(new_primModNatS1(vyv2930, vyv29200)) 213.97/145.76 new_primMinusNatS1 -> Zero 213.97/145.76 new_primMinusNatS2(Succ(vyv3110), Zero) -> Succ(vyv3110) 213.97/145.76 new_rem(Neg(vyv2930), Pos(Succ(vyv29200))) -> Neg(new_primModNatS1(vyv2930, vyv29200)) 213.97/145.76 new_rem(Pos(vyv2930), Pos(Zero)) -> new_error 213.97/145.76 213.97/145.76 The set Q consists of the following terms: 213.97/145.76 213.97/145.76 new_primModNatS01(x0, x1, Succ(x2), Zero) 213.97/145.76 new_primModNatS1(Succ(Succ(x0)), Zero) 213.97/145.76 new_primMinusNatS1 213.97/145.76 new_primEqInt(Pos(Zero)) 213.97/145.76 new_rem(Pos(x0), Pos(Zero)) 213.97/145.76 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 213.97/145.76 new_esEs(Pos(Succ(x0))) 213.97/145.76 new_primModNatS1(Zero, x0) 213.97/145.76 new_primModNatS02(x0, x1) 213.97/145.76 new_primMinusNatS2(Zero, Zero) 213.97/145.76 new_error 213.97/145.76 new_primModNatS1(Succ(Zero), Zero) 213.97/145.76 new_primMinusNatS2(Succ(x0), Zero) 213.97/145.76 new_esEs(Pos(Zero)) 213.97/145.76 new_primMinusNatS0(x0) 213.97/145.76 new_primEqInt(Neg(Succ(x0))) 213.97/145.76 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 213.97/145.76 new_rem(Neg(x0), Neg(Zero)) 213.97/145.76 new_rem(Pos(x0), Neg(Succ(x1))) 213.97/145.76 new_rem(Neg(x0), Pos(Succ(x1))) 213.97/145.76 new_esEs(Neg(Succ(x0))) 213.97/145.76 new_primEqInt(Neg(Zero)) 213.97/145.76 new_rem(Pos(x0), Pos(Succ(x1))) 213.97/145.76 new_primModNatS01(x0, x1, Zero, Zero) 213.97/145.76 new_primEqInt(Pos(Succ(x0))) 213.97/145.76 new_rem(Neg(x0), Neg(Succ(x1))) 213.97/145.76 new_rem(Pos(x0), Neg(Zero)) 213.97/145.76 new_rem(Neg(x0), Pos(Zero)) 213.97/145.76 new_primMinusNatS2(Zero, Succ(x0)) 213.97/145.76 new_primModNatS1(Succ(Zero), Succ(x0)) 213.97/145.76 new_primMinusNatS2(Succ(x0), Succ(x1)) 213.97/145.76 new_primModNatS01(x0, x1, Zero, Succ(x2)) 213.97/145.76 new_esEs(Neg(Zero)) 213.97/145.76 213.97/145.76 We have to consider all minimal (P,Q,R)-chains. 213.97/145.76 ---------------------------------------- 213.97/145.76 213.97/145.76 (43) TransformationProof (EQUIVALENT) 213.97/145.76 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]: 213.97/145.76 213.97/145.76 (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))) 213.97/145.76 213.97/145.76 213.97/145.76 ---------------------------------------- 213.97/145.76 213.97/145.76 (44) 213.97/145.76 Obligation: 213.97/145.76 Q DP problem: 213.97/145.76 The TRS P consists of the following rules: 213.97/145.76 213.97/145.76 new_gcd0Gcd'1(False, vyv292, vyv293) -> new_gcd0Gcd'0(vyv292, new_rem(vyv293, vyv292)) 213.97/145.76 new_gcd0Gcd'0(Neg(x0), Neg(Succ(x1))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(x0, x1))), Neg(Succ(x1)), Neg(x0)) 213.97/145.76 new_gcd0Gcd'0(Pos(x0), Pos(Succ(x1))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(x0, x1))), Pos(Succ(x1)), Pos(x0)) 213.97/145.76 new_gcd0Gcd'0(Pos(x0), Neg(Succ(x1))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(x0, x1))), Neg(Succ(x1)), Pos(x0)) 213.97/145.76 new_gcd0Gcd'0(Neg(x0), Pos(Succ(x1))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(x0, x1))), Pos(Succ(x1)), Neg(x0)) 213.97/145.76 new_gcd0Gcd'0(Pos(x0), Pos(Zero)) -> new_gcd0Gcd'1(new_esEs(new_error), Pos(Zero), Pos(x0)) 213.97/145.76 new_gcd0Gcd'0(Neg(x0), Pos(Zero)) -> new_gcd0Gcd'1(new_esEs(error([])), Pos(Zero), Neg(x0)) 213.97/145.76 213.97/145.76 The TRS R consists of the following rules: 213.97/145.76 213.97/145.76 new_primModNatS01(vyv331, vyv332, Succ(vyv3330), Succ(vyv3340)) -> new_primModNatS01(vyv331, vyv332, vyv3330, vyv3340) 213.97/145.76 new_primModNatS1(Succ(Succ(vyv293000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv293000), Zero) 213.97/145.76 new_primModNatS1(Succ(Zero), Succ(vyv292000)) -> Succ(Zero) 213.97/145.76 new_primMinusNatS2(Zero, Zero) -> Zero 213.97/145.76 new_primEqInt(Neg(Zero)) -> True 213.97/145.76 new_primMinusNatS2(Succ(vyv3110), Succ(vyv3120)) -> new_primMinusNatS2(vyv3110, vyv3120) 213.97/145.76 new_primModNatS1(Succ(Succ(vyv293000)), Succ(vyv292000)) -> new_primModNatS01(vyv293000, vyv292000, vyv293000, vyv292000) 213.97/145.76 new_primModNatS01(vyv331, vyv332, Zero, Succ(vyv3340)) -> Succ(Succ(vyv331)) 213.97/145.76 new_primMinusNatS0(vyv271000) -> Succ(vyv271000) 213.97/145.76 new_esEs(Neg(Succ(vyv24300))) -> new_primEqInt(Neg(Succ(vyv24300))) 213.97/145.76 new_rem(Neg(vyv2930), Neg(Succ(vyv29200))) -> Neg(new_primModNatS1(vyv2930, vyv29200)) 213.97/145.76 new_primModNatS1(Zero, vyv29200) -> Zero 213.97/145.76 new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) 213.97/145.76 new_rem(Pos(vyv2930), Pos(Succ(vyv29200))) -> Pos(new_primModNatS1(vyv2930, vyv29200)) 213.97/145.76 new_primMinusNatS2(Zero, Succ(vyv3120)) -> Zero 213.97/145.76 new_primEqInt(Pos(Succ(vyv242000))) -> False 213.97/145.76 new_primEqInt(Pos(Zero)) -> True 213.97/145.76 new_error -> error([]) 213.97/145.76 new_esEs(Pos(Succ(vyv24300))) -> new_primEqInt(Pos(Succ(vyv24300))) 213.97/145.76 new_primEqInt(Neg(Succ(vyv242000))) -> False 213.97/145.76 new_rem(Neg(vyv2930), Neg(Zero)) -> new_error 213.97/145.76 new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) 213.97/145.76 new_primModNatS01(vyv331, vyv332, Zero, Zero) -> new_primModNatS02(vyv331, vyv332) 213.97/145.76 new_rem(Pos(vyv2930), Neg(Zero)) -> new_error 213.97/145.76 new_rem(Neg(vyv2930), Pos(Zero)) -> new_error 213.97/145.76 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 213.97/145.76 new_primModNatS01(vyv331, vyv332, Succ(vyv3330), Zero) -> new_primModNatS02(vyv331, vyv332) 213.97/145.76 new_primModNatS02(vyv331, vyv332) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv331), Succ(vyv332)), Succ(vyv332)) 213.97/145.76 new_rem(Pos(vyv2930), Neg(Succ(vyv29200))) -> Pos(new_primModNatS1(vyv2930, vyv29200)) 213.97/145.76 new_primMinusNatS1 -> Zero 213.97/145.76 new_primMinusNatS2(Succ(vyv3110), Zero) -> Succ(vyv3110) 213.97/145.76 new_rem(Neg(vyv2930), Pos(Succ(vyv29200))) -> Neg(new_primModNatS1(vyv2930, vyv29200)) 213.97/145.76 new_rem(Pos(vyv2930), Pos(Zero)) -> new_error 213.97/145.76 213.97/145.76 The set Q consists of the following terms: 213.97/145.76 213.97/145.76 new_primModNatS01(x0, x1, Succ(x2), Zero) 213.97/145.76 new_primModNatS1(Succ(Succ(x0)), Zero) 213.97/145.76 new_primMinusNatS1 213.97/145.76 new_primEqInt(Pos(Zero)) 213.97/145.76 new_rem(Pos(x0), Pos(Zero)) 213.97/145.76 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 213.97/145.76 new_esEs(Pos(Succ(x0))) 213.97/145.76 new_primModNatS1(Zero, x0) 213.97/145.76 new_primModNatS02(x0, x1) 213.97/145.76 new_primMinusNatS2(Zero, Zero) 213.97/145.76 new_error 213.97/145.76 new_primModNatS1(Succ(Zero), Zero) 213.97/145.76 new_primMinusNatS2(Succ(x0), Zero) 213.97/145.76 new_esEs(Pos(Zero)) 213.97/145.76 new_primMinusNatS0(x0) 213.97/145.76 new_primEqInt(Neg(Succ(x0))) 213.97/145.76 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 213.97/145.76 new_rem(Neg(x0), Neg(Zero)) 213.97/145.76 new_rem(Pos(x0), Neg(Succ(x1))) 213.97/145.76 new_rem(Neg(x0), Pos(Succ(x1))) 213.97/145.76 new_esEs(Neg(Succ(x0))) 213.97/145.76 new_primEqInt(Neg(Zero)) 213.97/145.76 new_rem(Pos(x0), Pos(Succ(x1))) 213.97/145.76 new_primModNatS01(x0, x1, Zero, Zero) 213.97/145.76 new_primEqInt(Pos(Succ(x0))) 213.97/145.76 new_rem(Neg(x0), Neg(Succ(x1))) 213.97/145.76 new_rem(Pos(x0), Neg(Zero)) 213.97/145.76 new_rem(Neg(x0), Pos(Zero)) 213.97/145.76 new_primMinusNatS2(Zero, Succ(x0)) 213.97/145.76 new_primModNatS1(Succ(Zero), Succ(x0)) 213.97/145.76 new_primMinusNatS2(Succ(x0), Succ(x1)) 213.97/145.76 new_primModNatS01(x0, x1, Zero, Succ(x2)) 213.97/145.76 new_esEs(Neg(Zero)) 213.97/145.76 213.97/145.76 We have to consider all minimal (P,Q,R)-chains. 213.97/145.76 ---------------------------------------- 213.97/145.76 213.97/145.76 (45) DependencyGraphProof (EQUIVALENT) 213.97/145.76 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. 213.97/145.76 ---------------------------------------- 213.97/145.76 213.97/145.76 (46) 213.97/145.76 Obligation: 213.97/145.76 Q DP problem: 213.97/145.76 The TRS P consists of the following rules: 213.97/145.76 213.97/145.76 new_gcd0Gcd'0(Neg(x0), Neg(Succ(x1))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(x0, x1))), Neg(Succ(x1)), Neg(x0)) 213.97/145.76 new_gcd0Gcd'1(False, vyv292, vyv293) -> new_gcd0Gcd'0(vyv292, new_rem(vyv293, vyv292)) 213.97/145.76 new_gcd0Gcd'0(Pos(x0), Pos(Succ(x1))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(x0, x1))), Pos(Succ(x1)), Pos(x0)) 213.97/145.76 new_gcd0Gcd'0(Pos(x0), Neg(Succ(x1))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(x0, x1))), Neg(Succ(x1)), Pos(x0)) 213.97/145.76 new_gcd0Gcd'0(Neg(x0), Pos(Succ(x1))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(x0, x1))), Pos(Succ(x1)), Neg(x0)) 213.97/145.76 new_gcd0Gcd'0(Pos(x0), Pos(Zero)) -> new_gcd0Gcd'1(new_esEs(new_error), Pos(Zero), Pos(x0)) 213.97/145.76 213.97/145.76 The TRS R consists of the following rules: 213.97/145.76 213.97/145.76 new_primModNatS01(vyv331, vyv332, Succ(vyv3330), Succ(vyv3340)) -> new_primModNatS01(vyv331, vyv332, vyv3330, vyv3340) 213.97/145.76 new_primModNatS1(Succ(Succ(vyv293000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv293000), Zero) 213.97/145.76 new_primModNatS1(Succ(Zero), Succ(vyv292000)) -> Succ(Zero) 213.97/145.76 new_primMinusNatS2(Zero, Zero) -> Zero 213.97/145.76 new_primEqInt(Neg(Zero)) -> True 213.97/145.76 new_primMinusNatS2(Succ(vyv3110), Succ(vyv3120)) -> new_primMinusNatS2(vyv3110, vyv3120) 213.97/145.76 new_primModNatS1(Succ(Succ(vyv293000)), Succ(vyv292000)) -> new_primModNatS01(vyv293000, vyv292000, vyv293000, vyv292000) 213.97/145.76 new_primModNatS01(vyv331, vyv332, Zero, Succ(vyv3340)) -> Succ(Succ(vyv331)) 213.97/145.76 new_primMinusNatS0(vyv271000) -> Succ(vyv271000) 213.97/145.76 new_esEs(Neg(Succ(vyv24300))) -> new_primEqInt(Neg(Succ(vyv24300))) 213.97/145.76 new_rem(Neg(vyv2930), Neg(Succ(vyv29200))) -> Neg(new_primModNatS1(vyv2930, vyv29200)) 213.97/145.76 new_primModNatS1(Zero, vyv29200) -> Zero 213.97/145.76 new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) 213.97/145.76 new_rem(Pos(vyv2930), Pos(Succ(vyv29200))) -> Pos(new_primModNatS1(vyv2930, vyv29200)) 213.97/145.76 new_primMinusNatS2(Zero, Succ(vyv3120)) -> Zero 213.97/145.76 new_primEqInt(Pos(Succ(vyv242000))) -> False 213.97/145.76 new_primEqInt(Pos(Zero)) -> True 213.97/145.76 new_error -> error([]) 213.97/145.76 new_esEs(Pos(Succ(vyv24300))) -> new_primEqInt(Pos(Succ(vyv24300))) 213.97/145.76 new_primEqInt(Neg(Succ(vyv242000))) -> False 213.97/145.76 new_rem(Neg(vyv2930), Neg(Zero)) -> new_error 213.97/145.76 new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) 213.97/145.76 new_primModNatS01(vyv331, vyv332, Zero, Zero) -> new_primModNatS02(vyv331, vyv332) 213.97/145.76 new_rem(Pos(vyv2930), Neg(Zero)) -> new_error 213.97/145.76 new_rem(Neg(vyv2930), Pos(Zero)) -> new_error 213.97/145.76 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 213.97/145.76 new_primModNatS01(vyv331, vyv332, Succ(vyv3330), Zero) -> new_primModNatS02(vyv331, vyv332) 213.97/145.76 new_primModNatS02(vyv331, vyv332) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv331), Succ(vyv332)), Succ(vyv332)) 213.97/145.76 new_rem(Pos(vyv2930), Neg(Succ(vyv29200))) -> Pos(new_primModNatS1(vyv2930, vyv29200)) 213.97/145.76 new_primMinusNatS1 -> Zero 213.97/145.76 new_primMinusNatS2(Succ(vyv3110), Zero) -> Succ(vyv3110) 213.97/145.76 new_rem(Neg(vyv2930), Pos(Succ(vyv29200))) -> Neg(new_primModNatS1(vyv2930, vyv29200)) 213.97/145.76 new_rem(Pos(vyv2930), Pos(Zero)) -> new_error 213.97/145.76 213.97/145.76 The set Q consists of the following terms: 213.97/145.76 213.97/145.76 new_primModNatS01(x0, x1, Succ(x2), Zero) 213.97/145.76 new_primModNatS1(Succ(Succ(x0)), Zero) 213.97/145.76 new_primMinusNatS1 213.97/145.76 new_primEqInt(Pos(Zero)) 213.97/145.76 new_rem(Pos(x0), Pos(Zero)) 213.97/145.76 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 213.97/145.76 new_esEs(Pos(Succ(x0))) 213.97/145.76 new_primModNatS1(Zero, x0) 213.97/145.76 new_primModNatS02(x0, x1) 213.97/145.76 new_primMinusNatS2(Zero, Zero) 213.97/145.76 new_error 213.97/145.76 new_primModNatS1(Succ(Zero), Zero) 213.97/145.76 new_primMinusNatS2(Succ(x0), Zero) 213.97/145.76 new_esEs(Pos(Zero)) 213.97/145.76 new_primMinusNatS0(x0) 213.97/145.76 new_primEqInt(Neg(Succ(x0))) 213.97/145.76 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 213.97/145.76 new_rem(Neg(x0), Neg(Zero)) 213.97/145.76 new_rem(Pos(x0), Neg(Succ(x1))) 213.97/145.76 new_rem(Neg(x0), Pos(Succ(x1))) 213.97/145.76 new_esEs(Neg(Succ(x0))) 213.97/145.76 new_primEqInt(Neg(Zero)) 213.97/145.76 new_rem(Pos(x0), Pos(Succ(x1))) 213.97/145.76 new_primModNatS01(x0, x1, Zero, Zero) 213.97/145.76 new_primEqInt(Pos(Succ(x0))) 213.97/145.76 new_rem(Neg(x0), Neg(Succ(x1))) 213.97/145.76 new_rem(Pos(x0), Neg(Zero)) 213.97/145.76 new_rem(Neg(x0), Pos(Zero)) 213.97/145.76 new_primMinusNatS2(Zero, Succ(x0)) 213.97/145.76 new_primModNatS1(Succ(Zero), Succ(x0)) 213.97/145.76 new_primMinusNatS2(Succ(x0), Succ(x1)) 213.97/145.76 new_primModNatS01(x0, x1, Zero, Succ(x2)) 213.97/145.76 new_esEs(Neg(Zero)) 213.97/145.76 213.97/145.76 We have to consider all minimal (P,Q,R)-chains. 213.97/145.76 ---------------------------------------- 213.97/145.76 213.97/145.76 (47) TransformationProof (EQUIVALENT) 213.97/145.76 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]: 213.97/145.76 213.97/145.76 (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))) 213.97/145.76 213.97/145.76 213.97/145.76 ---------------------------------------- 213.97/145.76 213.97/145.76 (48) 213.97/145.76 Obligation: 213.97/145.76 Q DP problem: 213.97/145.76 The TRS P consists of the following rules: 213.97/145.76 213.97/145.76 new_gcd0Gcd'0(Neg(x0), Neg(Succ(x1))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(x0, x1))), Neg(Succ(x1)), Neg(x0)) 213.97/145.76 new_gcd0Gcd'1(False, vyv292, vyv293) -> new_gcd0Gcd'0(vyv292, new_rem(vyv293, vyv292)) 213.97/145.76 new_gcd0Gcd'0(Pos(x0), Pos(Succ(x1))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(x0, x1))), Pos(Succ(x1)), Pos(x0)) 213.97/145.76 new_gcd0Gcd'0(Pos(x0), Neg(Succ(x1))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(x0, x1))), Neg(Succ(x1)), Pos(x0)) 213.97/145.76 new_gcd0Gcd'0(Neg(x0), Pos(Succ(x1))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(x0, x1))), Pos(Succ(x1)), Neg(x0)) 213.97/145.76 new_gcd0Gcd'0(Pos(x0), Pos(Zero)) -> new_gcd0Gcd'1(new_esEs(error([])), Pos(Zero), Pos(x0)) 213.97/145.76 213.97/145.76 The TRS R consists of the following rules: 213.97/145.76 213.97/145.76 new_primModNatS01(vyv331, vyv332, Succ(vyv3330), Succ(vyv3340)) -> new_primModNatS01(vyv331, vyv332, vyv3330, vyv3340) 213.97/145.76 new_primModNatS1(Succ(Succ(vyv293000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv293000), Zero) 213.97/145.76 new_primModNatS1(Succ(Zero), Succ(vyv292000)) -> Succ(Zero) 213.97/145.76 new_primMinusNatS2(Zero, Zero) -> Zero 213.97/145.76 new_primEqInt(Neg(Zero)) -> True 213.97/145.76 new_primMinusNatS2(Succ(vyv3110), Succ(vyv3120)) -> new_primMinusNatS2(vyv3110, vyv3120) 213.97/145.76 new_primModNatS1(Succ(Succ(vyv293000)), Succ(vyv292000)) -> new_primModNatS01(vyv293000, vyv292000, vyv293000, vyv292000) 213.97/145.76 new_primModNatS01(vyv331, vyv332, Zero, Succ(vyv3340)) -> Succ(Succ(vyv331)) 213.97/145.76 new_primMinusNatS0(vyv271000) -> Succ(vyv271000) 213.97/145.76 new_esEs(Neg(Succ(vyv24300))) -> new_primEqInt(Neg(Succ(vyv24300))) 213.97/145.76 new_rem(Neg(vyv2930), Neg(Succ(vyv29200))) -> Neg(new_primModNatS1(vyv2930, vyv29200)) 213.97/145.76 new_primModNatS1(Zero, vyv29200) -> Zero 213.97/145.76 new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) 213.97/145.76 new_rem(Pos(vyv2930), Pos(Succ(vyv29200))) -> Pos(new_primModNatS1(vyv2930, vyv29200)) 213.97/145.76 new_primMinusNatS2(Zero, Succ(vyv3120)) -> Zero 213.97/145.76 new_primEqInt(Pos(Succ(vyv242000))) -> False 213.97/145.76 new_primEqInt(Pos(Zero)) -> True 213.97/145.76 new_error -> error([]) 213.97/145.76 new_esEs(Pos(Succ(vyv24300))) -> new_primEqInt(Pos(Succ(vyv24300))) 213.97/145.76 new_primEqInt(Neg(Succ(vyv242000))) -> False 213.97/145.76 new_rem(Neg(vyv2930), Neg(Zero)) -> new_error 213.97/145.76 new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) 213.97/145.76 new_primModNatS01(vyv331, vyv332, Zero, Zero) -> new_primModNatS02(vyv331, vyv332) 213.97/145.76 new_rem(Pos(vyv2930), Neg(Zero)) -> new_error 213.97/145.76 new_rem(Neg(vyv2930), Pos(Zero)) -> new_error 213.97/145.76 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 213.97/145.76 new_primModNatS01(vyv331, vyv332, Succ(vyv3330), Zero) -> new_primModNatS02(vyv331, vyv332) 213.97/145.76 new_primModNatS02(vyv331, vyv332) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv331), Succ(vyv332)), Succ(vyv332)) 213.97/145.76 new_rem(Pos(vyv2930), Neg(Succ(vyv29200))) -> Pos(new_primModNatS1(vyv2930, vyv29200)) 213.97/145.76 new_primMinusNatS1 -> Zero 213.97/145.76 new_primMinusNatS2(Succ(vyv3110), Zero) -> Succ(vyv3110) 213.97/145.76 new_rem(Neg(vyv2930), Pos(Succ(vyv29200))) -> Neg(new_primModNatS1(vyv2930, vyv29200)) 213.97/145.76 new_rem(Pos(vyv2930), Pos(Zero)) -> new_error 213.97/145.76 213.97/145.76 The set Q consists of the following terms: 213.97/145.76 213.97/145.76 new_primModNatS01(x0, x1, Succ(x2), Zero) 213.97/145.76 new_primModNatS1(Succ(Succ(x0)), Zero) 213.97/145.76 new_primMinusNatS1 213.97/145.76 new_primEqInt(Pos(Zero)) 213.97/145.76 new_rem(Pos(x0), Pos(Zero)) 213.97/145.76 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 213.97/145.76 new_esEs(Pos(Succ(x0))) 213.97/145.76 new_primModNatS1(Zero, x0) 213.97/145.76 new_primModNatS02(x0, x1) 213.97/145.76 new_primMinusNatS2(Zero, Zero) 213.97/145.76 new_error 213.97/145.76 new_primModNatS1(Succ(Zero), Zero) 213.97/145.76 new_primMinusNatS2(Succ(x0), Zero) 213.97/145.76 new_esEs(Pos(Zero)) 213.97/145.76 new_primMinusNatS0(x0) 213.97/145.76 new_primEqInt(Neg(Succ(x0))) 213.97/145.76 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 213.97/145.76 new_rem(Neg(x0), Neg(Zero)) 213.97/145.76 new_rem(Pos(x0), Neg(Succ(x1))) 213.97/145.76 new_rem(Neg(x0), Pos(Succ(x1))) 213.97/145.76 new_esEs(Neg(Succ(x0))) 213.97/145.76 new_primEqInt(Neg(Zero)) 213.97/145.76 new_rem(Pos(x0), Pos(Succ(x1))) 213.97/145.76 new_primModNatS01(x0, x1, Zero, Zero) 213.97/145.76 new_primEqInt(Pos(Succ(x0))) 213.97/145.76 new_rem(Neg(x0), Neg(Succ(x1))) 213.97/145.76 new_rem(Pos(x0), Neg(Zero)) 213.97/145.76 new_rem(Neg(x0), Pos(Zero)) 213.97/145.76 new_primMinusNatS2(Zero, Succ(x0)) 213.97/145.76 new_primModNatS1(Succ(Zero), Succ(x0)) 213.97/145.76 new_primMinusNatS2(Succ(x0), Succ(x1)) 213.97/145.76 new_primModNatS01(x0, x1, Zero, Succ(x2)) 213.97/145.76 new_esEs(Neg(Zero)) 213.97/145.76 213.97/145.76 We have to consider all minimal (P,Q,R)-chains. 213.97/145.76 ---------------------------------------- 213.97/145.76 213.97/145.76 (49) DependencyGraphProof (EQUIVALENT) 213.97/145.76 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. 213.97/145.76 ---------------------------------------- 213.97/145.76 213.97/145.76 (50) 213.97/145.76 Obligation: 213.97/145.76 Q DP problem: 213.97/145.76 The TRS P consists of the following rules: 213.97/145.76 213.97/145.76 new_gcd0Gcd'1(False, vyv292, vyv293) -> new_gcd0Gcd'0(vyv292, new_rem(vyv293, vyv292)) 213.97/145.76 new_gcd0Gcd'0(Neg(x0), Neg(Succ(x1))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(x0, x1))), Neg(Succ(x1)), Neg(x0)) 213.97/145.76 new_gcd0Gcd'0(Pos(x0), Pos(Succ(x1))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(x0, x1))), Pos(Succ(x1)), Pos(x0)) 213.97/145.76 new_gcd0Gcd'0(Pos(x0), Neg(Succ(x1))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(x0, x1))), Neg(Succ(x1)), Pos(x0)) 213.97/145.76 new_gcd0Gcd'0(Neg(x0), Pos(Succ(x1))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(x0, x1))), Pos(Succ(x1)), Neg(x0)) 213.97/145.76 213.97/145.76 The TRS R consists of the following rules: 213.97/145.76 213.97/145.76 new_primModNatS01(vyv331, vyv332, Succ(vyv3330), Succ(vyv3340)) -> new_primModNatS01(vyv331, vyv332, vyv3330, vyv3340) 213.97/145.76 new_primModNatS1(Succ(Succ(vyv293000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv293000), Zero) 213.97/145.76 new_primModNatS1(Succ(Zero), Succ(vyv292000)) -> Succ(Zero) 213.97/145.76 new_primMinusNatS2(Zero, Zero) -> Zero 213.97/145.76 new_primEqInt(Neg(Zero)) -> True 213.97/145.76 new_primMinusNatS2(Succ(vyv3110), Succ(vyv3120)) -> new_primMinusNatS2(vyv3110, vyv3120) 213.97/145.76 new_primModNatS1(Succ(Succ(vyv293000)), Succ(vyv292000)) -> new_primModNatS01(vyv293000, vyv292000, vyv293000, vyv292000) 213.97/145.76 new_primModNatS01(vyv331, vyv332, Zero, Succ(vyv3340)) -> Succ(Succ(vyv331)) 213.97/145.76 new_primMinusNatS0(vyv271000) -> Succ(vyv271000) 213.97/145.76 new_esEs(Neg(Succ(vyv24300))) -> new_primEqInt(Neg(Succ(vyv24300))) 213.97/145.76 new_rem(Neg(vyv2930), Neg(Succ(vyv29200))) -> Neg(new_primModNatS1(vyv2930, vyv29200)) 213.97/145.76 new_primModNatS1(Zero, vyv29200) -> Zero 213.97/145.76 new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) 213.97/145.76 new_rem(Pos(vyv2930), Pos(Succ(vyv29200))) -> Pos(new_primModNatS1(vyv2930, vyv29200)) 213.97/145.76 new_primMinusNatS2(Zero, Succ(vyv3120)) -> Zero 213.97/145.76 new_primEqInt(Pos(Succ(vyv242000))) -> False 213.97/145.76 new_primEqInt(Pos(Zero)) -> True 213.97/145.76 new_error -> error([]) 213.97/145.76 new_esEs(Pos(Succ(vyv24300))) -> new_primEqInt(Pos(Succ(vyv24300))) 213.97/145.76 new_primEqInt(Neg(Succ(vyv242000))) -> False 213.97/145.76 new_rem(Neg(vyv2930), Neg(Zero)) -> new_error 213.97/145.76 new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) 213.97/145.76 new_primModNatS01(vyv331, vyv332, Zero, Zero) -> new_primModNatS02(vyv331, vyv332) 213.97/145.76 new_rem(Pos(vyv2930), Neg(Zero)) -> new_error 213.97/145.76 new_rem(Neg(vyv2930), Pos(Zero)) -> new_error 213.97/145.76 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 213.97/145.76 new_primModNatS01(vyv331, vyv332, Succ(vyv3330), Zero) -> new_primModNatS02(vyv331, vyv332) 213.97/145.76 new_primModNatS02(vyv331, vyv332) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv331), Succ(vyv332)), Succ(vyv332)) 213.97/145.76 new_rem(Pos(vyv2930), Neg(Succ(vyv29200))) -> Pos(new_primModNatS1(vyv2930, vyv29200)) 213.97/145.76 new_primMinusNatS1 -> Zero 213.97/145.76 new_primMinusNatS2(Succ(vyv3110), Zero) -> Succ(vyv3110) 213.97/145.76 new_rem(Neg(vyv2930), Pos(Succ(vyv29200))) -> Neg(new_primModNatS1(vyv2930, vyv29200)) 213.97/145.76 new_rem(Pos(vyv2930), Pos(Zero)) -> new_error 213.97/145.76 213.97/145.76 The set Q consists of the following terms: 213.97/145.76 213.97/145.76 new_primModNatS01(x0, x1, Succ(x2), Zero) 213.97/145.76 new_primModNatS1(Succ(Succ(x0)), Zero) 213.97/145.76 new_primMinusNatS1 213.97/145.76 new_primEqInt(Pos(Zero)) 213.97/145.76 new_rem(Pos(x0), Pos(Zero)) 213.97/145.76 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 213.97/145.76 new_esEs(Pos(Succ(x0))) 213.97/145.76 new_primModNatS1(Zero, x0) 213.97/145.76 new_primModNatS02(x0, x1) 213.97/145.76 new_primMinusNatS2(Zero, Zero) 213.97/145.76 new_error 213.97/145.76 new_primModNatS1(Succ(Zero), Zero) 213.97/145.76 new_primMinusNatS2(Succ(x0), Zero) 213.97/145.76 new_esEs(Pos(Zero)) 213.97/145.76 new_primMinusNatS0(x0) 213.97/145.76 new_primEqInt(Neg(Succ(x0))) 213.97/145.76 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 213.97/145.76 new_rem(Neg(x0), Neg(Zero)) 213.97/145.76 new_rem(Pos(x0), Neg(Succ(x1))) 213.97/145.76 new_rem(Neg(x0), Pos(Succ(x1))) 213.97/145.76 new_esEs(Neg(Succ(x0))) 213.97/145.76 new_primEqInt(Neg(Zero)) 213.97/145.76 new_rem(Pos(x0), Pos(Succ(x1))) 213.97/145.76 new_primModNatS01(x0, x1, Zero, Zero) 213.97/145.76 new_primEqInt(Pos(Succ(x0))) 213.97/145.76 new_rem(Neg(x0), Neg(Succ(x1))) 213.97/145.76 new_rem(Pos(x0), Neg(Zero)) 213.97/145.76 new_rem(Neg(x0), Pos(Zero)) 213.97/145.76 new_primMinusNatS2(Zero, Succ(x0)) 213.97/145.76 new_primModNatS1(Succ(Zero), Succ(x0)) 213.97/145.76 new_primMinusNatS2(Succ(x0), Succ(x1)) 213.97/145.76 new_primModNatS01(x0, x1, Zero, Succ(x2)) 213.97/145.76 new_esEs(Neg(Zero)) 213.97/145.76 213.97/145.76 We have to consider all minimal (P,Q,R)-chains. 213.97/145.76 ---------------------------------------- 213.97/145.76 213.97/145.76 (51) TransformationProof (EQUIVALENT) 213.97/145.76 By narrowing [LPAR04] the rule new_gcd0Gcd'1(False, vyv292, vyv293) -> new_gcd0Gcd'0(vyv292, new_rem(vyv293, vyv292)) at position [1] we obtained the following new rules [LPAR04]: 213.97/145.76 213.97/145.76 (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)))) 213.97/145.76 (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)))) 213.97/145.76 (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)) 213.97/145.76 (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)) 213.97/145.76 (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)) 213.97/145.76 (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)))) 213.97/145.76 (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)))) 213.97/145.76 (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)) 213.97/145.76 213.97/145.76 213.97/145.76 ---------------------------------------- 213.97/145.76 213.97/145.76 (52) 213.97/145.76 Obligation: 213.97/145.76 Q DP problem: 213.97/145.76 The TRS P consists of the following rules: 213.97/145.76 213.97/145.76 new_gcd0Gcd'0(Neg(x0), Neg(Succ(x1))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(x0, x1))), Neg(Succ(x1)), Neg(x0)) 213.97/145.76 new_gcd0Gcd'0(Pos(x0), Pos(Succ(x1))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(x0, x1))), Pos(Succ(x1)), Pos(x0)) 213.97/145.76 new_gcd0Gcd'0(Pos(x0), Neg(Succ(x1))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(x0, x1))), Neg(Succ(x1)), Pos(x0)) 213.97/145.76 new_gcd0Gcd'0(Neg(x0), Pos(Succ(x1))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(x0, x1))), Pos(Succ(x1)), Neg(x0)) 213.97/145.76 new_gcd0Gcd'1(False, Neg(Succ(x1)), Neg(x0)) -> new_gcd0Gcd'0(Neg(Succ(x1)), Neg(new_primModNatS1(x0, x1))) 213.97/145.76 new_gcd0Gcd'1(False, Pos(Succ(x1)), Pos(x0)) -> new_gcd0Gcd'0(Pos(Succ(x1)), Pos(new_primModNatS1(x0, x1))) 213.97/145.76 new_gcd0Gcd'1(False, Neg(Zero), Neg(x0)) -> new_gcd0Gcd'0(Neg(Zero), new_error) 213.97/145.76 new_gcd0Gcd'1(False, Neg(Zero), Pos(x0)) -> new_gcd0Gcd'0(Neg(Zero), new_error) 213.97/145.76 new_gcd0Gcd'1(False, Pos(Zero), Neg(x0)) -> new_gcd0Gcd'0(Pos(Zero), new_error) 213.97/145.76 new_gcd0Gcd'1(False, Neg(Succ(x1)), Pos(x0)) -> new_gcd0Gcd'0(Neg(Succ(x1)), Pos(new_primModNatS1(x0, x1))) 213.97/145.76 new_gcd0Gcd'1(False, Pos(Succ(x1)), Neg(x0)) -> new_gcd0Gcd'0(Pos(Succ(x1)), Neg(new_primModNatS1(x0, x1))) 213.97/145.76 new_gcd0Gcd'1(False, Pos(Zero), Pos(x0)) -> new_gcd0Gcd'0(Pos(Zero), new_error) 213.97/145.76 213.97/145.76 The TRS R consists of the following rules: 213.97/145.76 213.97/145.76 new_primModNatS01(vyv331, vyv332, Succ(vyv3330), Succ(vyv3340)) -> new_primModNatS01(vyv331, vyv332, vyv3330, vyv3340) 213.97/145.76 new_primModNatS1(Succ(Succ(vyv293000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv293000), Zero) 213.97/145.76 new_primModNatS1(Succ(Zero), Succ(vyv292000)) -> Succ(Zero) 213.97/145.76 new_primMinusNatS2(Zero, Zero) -> Zero 213.97/145.76 new_primEqInt(Neg(Zero)) -> True 213.97/145.76 new_primMinusNatS2(Succ(vyv3110), Succ(vyv3120)) -> new_primMinusNatS2(vyv3110, vyv3120) 213.97/145.76 new_primModNatS1(Succ(Succ(vyv293000)), Succ(vyv292000)) -> new_primModNatS01(vyv293000, vyv292000, vyv293000, vyv292000) 213.97/145.76 new_primModNatS01(vyv331, vyv332, Zero, Succ(vyv3340)) -> Succ(Succ(vyv331)) 213.97/145.76 new_primMinusNatS0(vyv271000) -> Succ(vyv271000) 213.97/145.76 new_esEs(Neg(Succ(vyv24300))) -> new_primEqInt(Neg(Succ(vyv24300))) 213.97/145.76 new_rem(Neg(vyv2930), Neg(Succ(vyv29200))) -> Neg(new_primModNatS1(vyv2930, vyv29200)) 213.97/145.76 new_primModNatS1(Zero, vyv29200) -> Zero 213.97/145.76 new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) 213.97/145.76 new_rem(Pos(vyv2930), Pos(Succ(vyv29200))) -> Pos(new_primModNatS1(vyv2930, vyv29200)) 213.97/145.76 new_primMinusNatS2(Zero, Succ(vyv3120)) -> Zero 213.97/145.76 new_primEqInt(Pos(Succ(vyv242000))) -> False 213.97/145.76 new_primEqInt(Pos(Zero)) -> True 213.97/145.76 new_error -> error([]) 213.97/145.76 new_esEs(Pos(Succ(vyv24300))) -> new_primEqInt(Pos(Succ(vyv24300))) 213.97/145.76 new_primEqInt(Neg(Succ(vyv242000))) -> False 213.97/145.76 new_rem(Neg(vyv2930), Neg(Zero)) -> new_error 213.97/145.76 new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) 213.97/145.76 new_primModNatS01(vyv331, vyv332, Zero, Zero) -> new_primModNatS02(vyv331, vyv332) 213.97/145.76 new_rem(Pos(vyv2930), Neg(Zero)) -> new_error 213.97/145.76 new_rem(Neg(vyv2930), Pos(Zero)) -> new_error 213.97/145.76 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 213.97/145.76 new_primModNatS01(vyv331, vyv332, Succ(vyv3330), Zero) -> new_primModNatS02(vyv331, vyv332) 213.97/145.76 new_primModNatS02(vyv331, vyv332) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv331), Succ(vyv332)), Succ(vyv332)) 213.97/145.76 new_rem(Pos(vyv2930), Neg(Succ(vyv29200))) -> Pos(new_primModNatS1(vyv2930, vyv29200)) 213.97/145.76 new_primMinusNatS1 -> Zero 213.97/145.76 new_primMinusNatS2(Succ(vyv3110), Zero) -> Succ(vyv3110) 213.97/145.76 new_rem(Neg(vyv2930), Pos(Succ(vyv29200))) -> Neg(new_primModNatS1(vyv2930, vyv29200)) 213.97/145.76 new_rem(Pos(vyv2930), Pos(Zero)) -> new_error 213.97/145.76 213.97/145.76 The set Q consists of the following terms: 213.97/145.76 213.97/145.76 new_primModNatS01(x0, x1, Succ(x2), Zero) 213.97/145.76 new_primModNatS1(Succ(Succ(x0)), Zero) 213.97/145.76 new_primMinusNatS1 213.97/145.76 new_primEqInt(Pos(Zero)) 213.97/145.76 new_rem(Pos(x0), Pos(Zero)) 213.97/145.76 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 213.97/145.76 new_esEs(Pos(Succ(x0))) 213.97/145.76 new_primModNatS1(Zero, x0) 213.97/145.76 new_primModNatS02(x0, x1) 213.97/145.76 new_primMinusNatS2(Zero, Zero) 213.97/145.76 new_error 213.97/145.76 new_primModNatS1(Succ(Zero), Zero) 213.97/145.76 new_primMinusNatS2(Succ(x0), Zero) 213.97/145.76 new_esEs(Pos(Zero)) 213.97/145.76 new_primMinusNatS0(x0) 213.97/145.76 new_primEqInt(Neg(Succ(x0))) 213.97/145.76 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 213.97/145.76 new_rem(Neg(x0), Neg(Zero)) 213.97/145.76 new_rem(Pos(x0), Neg(Succ(x1))) 213.97/145.76 new_rem(Neg(x0), Pos(Succ(x1))) 213.97/145.76 new_esEs(Neg(Succ(x0))) 213.97/145.76 new_primEqInt(Neg(Zero)) 213.97/145.76 new_rem(Pos(x0), Pos(Succ(x1))) 213.97/145.76 new_primModNatS01(x0, x1, Zero, Zero) 213.97/145.76 new_primEqInt(Pos(Succ(x0))) 213.97/145.76 new_rem(Neg(x0), Neg(Succ(x1))) 213.97/145.76 new_rem(Pos(x0), Neg(Zero)) 213.97/145.76 new_rem(Neg(x0), Pos(Zero)) 213.97/145.76 new_primMinusNatS2(Zero, Succ(x0)) 213.97/145.76 new_primModNatS1(Succ(Zero), Succ(x0)) 213.97/145.76 new_primMinusNatS2(Succ(x0), Succ(x1)) 213.97/145.76 new_primModNatS01(x0, x1, Zero, Succ(x2)) 213.97/145.76 new_esEs(Neg(Zero)) 213.97/145.76 213.97/145.76 We have to consider all minimal (P,Q,R)-chains. 213.97/145.76 ---------------------------------------- 213.97/145.76 213.97/145.76 (53) DependencyGraphProof (EQUIVALENT) 213.97/145.76 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 3 SCCs with 4 less nodes. 213.97/145.76 ---------------------------------------- 213.97/145.76 213.97/145.76 (54) 213.97/145.76 Complex Obligation (AND) 213.97/145.76 213.97/145.76 ---------------------------------------- 213.97/145.76 213.97/145.76 (55) 213.97/145.76 Obligation: 213.97/145.76 Q DP problem: 213.97/145.76 The TRS P consists of the following rules: 213.97/145.76 213.97/145.76 new_gcd0Gcd'1(False, Neg(Succ(x1)), Pos(x0)) -> new_gcd0Gcd'0(Neg(Succ(x1)), Pos(new_primModNatS1(x0, x1))) 213.97/145.76 new_gcd0Gcd'0(Neg(x0), Pos(Succ(x1))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(x0, x1))), Pos(Succ(x1)), Neg(x0)) 213.97/145.76 new_gcd0Gcd'1(False, Pos(Succ(x1)), Neg(x0)) -> new_gcd0Gcd'0(Pos(Succ(x1)), Neg(new_primModNatS1(x0, x1))) 213.97/145.76 new_gcd0Gcd'0(Pos(x0), Neg(Succ(x1))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(x0, x1))), Neg(Succ(x1)), Pos(x0)) 213.97/145.76 213.97/145.76 The TRS R consists of the following rules: 213.97/145.76 213.97/145.76 new_primModNatS01(vyv331, vyv332, Succ(vyv3330), Succ(vyv3340)) -> new_primModNatS01(vyv331, vyv332, vyv3330, vyv3340) 213.97/145.76 new_primModNatS1(Succ(Succ(vyv293000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv293000), Zero) 213.97/145.76 new_primModNatS1(Succ(Zero), Succ(vyv292000)) -> Succ(Zero) 213.97/145.76 new_primMinusNatS2(Zero, Zero) -> Zero 213.97/145.76 new_primEqInt(Neg(Zero)) -> True 213.97/145.76 new_primMinusNatS2(Succ(vyv3110), Succ(vyv3120)) -> new_primMinusNatS2(vyv3110, vyv3120) 213.97/145.76 new_primModNatS1(Succ(Succ(vyv293000)), Succ(vyv292000)) -> new_primModNatS01(vyv293000, vyv292000, vyv293000, vyv292000) 213.97/145.76 new_primModNatS01(vyv331, vyv332, Zero, Succ(vyv3340)) -> Succ(Succ(vyv331)) 213.97/145.76 new_primMinusNatS0(vyv271000) -> Succ(vyv271000) 213.97/145.76 new_esEs(Neg(Succ(vyv24300))) -> new_primEqInt(Neg(Succ(vyv24300))) 213.97/145.76 new_rem(Neg(vyv2930), Neg(Succ(vyv29200))) -> Neg(new_primModNatS1(vyv2930, vyv29200)) 213.97/145.76 new_primModNatS1(Zero, vyv29200) -> Zero 213.97/145.76 new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) 213.97/145.76 new_rem(Pos(vyv2930), Pos(Succ(vyv29200))) -> Pos(new_primModNatS1(vyv2930, vyv29200)) 213.97/145.76 new_primMinusNatS2(Zero, Succ(vyv3120)) -> Zero 213.97/145.76 new_primEqInt(Pos(Succ(vyv242000))) -> False 213.97/145.76 new_primEqInt(Pos(Zero)) -> True 213.97/145.76 new_error -> error([]) 213.97/145.76 new_esEs(Pos(Succ(vyv24300))) -> new_primEqInt(Pos(Succ(vyv24300))) 213.97/145.76 new_primEqInt(Neg(Succ(vyv242000))) -> False 213.97/145.76 new_rem(Neg(vyv2930), Neg(Zero)) -> new_error 213.97/145.76 new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) 213.97/145.76 new_primModNatS01(vyv331, vyv332, Zero, Zero) -> new_primModNatS02(vyv331, vyv332) 213.97/145.76 new_rem(Pos(vyv2930), Neg(Zero)) -> new_error 213.97/145.76 new_rem(Neg(vyv2930), Pos(Zero)) -> new_error 213.97/145.76 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 213.97/145.76 new_primModNatS01(vyv331, vyv332, Succ(vyv3330), Zero) -> new_primModNatS02(vyv331, vyv332) 213.97/145.76 new_primModNatS02(vyv331, vyv332) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv331), Succ(vyv332)), Succ(vyv332)) 213.97/145.76 new_rem(Pos(vyv2930), Neg(Succ(vyv29200))) -> Pos(new_primModNatS1(vyv2930, vyv29200)) 213.97/145.76 new_primMinusNatS1 -> Zero 213.97/145.76 new_primMinusNatS2(Succ(vyv3110), Zero) -> Succ(vyv3110) 213.97/145.76 new_rem(Neg(vyv2930), Pos(Succ(vyv29200))) -> Neg(new_primModNatS1(vyv2930, vyv29200)) 213.97/145.76 new_rem(Pos(vyv2930), Pos(Zero)) -> new_error 213.97/145.76 213.97/145.76 The set Q consists of the following terms: 213.97/145.76 213.97/145.76 new_primModNatS01(x0, x1, Succ(x2), Zero) 213.97/145.76 new_primModNatS1(Succ(Succ(x0)), Zero) 213.97/145.76 new_primMinusNatS1 213.97/145.76 new_primEqInt(Pos(Zero)) 213.97/145.76 new_rem(Pos(x0), Pos(Zero)) 213.97/145.76 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 213.97/145.76 new_esEs(Pos(Succ(x0))) 213.97/145.76 new_primModNatS1(Zero, x0) 213.97/145.76 new_primModNatS02(x0, x1) 213.97/145.76 new_primMinusNatS2(Zero, Zero) 213.97/145.76 new_error 213.97/145.76 new_primModNatS1(Succ(Zero), Zero) 213.97/145.76 new_primMinusNatS2(Succ(x0), Zero) 213.97/145.76 new_esEs(Pos(Zero)) 213.97/145.76 new_primMinusNatS0(x0) 213.97/145.76 new_primEqInt(Neg(Succ(x0))) 213.97/145.76 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 213.97/145.76 new_rem(Neg(x0), Neg(Zero)) 213.97/145.76 new_rem(Pos(x0), Neg(Succ(x1))) 213.97/145.76 new_rem(Neg(x0), Pos(Succ(x1))) 213.97/145.76 new_esEs(Neg(Succ(x0))) 213.97/145.76 new_primEqInt(Neg(Zero)) 213.97/145.76 new_rem(Pos(x0), Pos(Succ(x1))) 213.97/145.76 new_primModNatS01(x0, x1, Zero, Zero) 213.97/145.76 new_primEqInt(Pos(Succ(x0))) 213.97/145.76 new_rem(Neg(x0), Neg(Succ(x1))) 213.97/145.76 new_rem(Pos(x0), Neg(Zero)) 213.97/145.76 new_rem(Neg(x0), Pos(Zero)) 213.97/145.76 new_primMinusNatS2(Zero, Succ(x0)) 213.97/145.76 new_primModNatS1(Succ(Zero), Succ(x0)) 213.97/145.76 new_primMinusNatS2(Succ(x0), Succ(x1)) 213.97/145.76 new_primModNatS01(x0, x1, Zero, Succ(x2)) 213.97/145.76 new_esEs(Neg(Zero)) 213.97/145.76 213.97/145.76 We have to consider all minimal (P,Q,R)-chains. 213.97/145.76 ---------------------------------------- 213.97/145.76 213.97/145.76 (56) UsableRulesProof (EQUIVALENT) 213.97/145.76 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. 213.97/145.76 ---------------------------------------- 213.97/145.76 213.97/145.76 (57) 213.97/145.76 Obligation: 213.97/145.76 Q DP problem: 213.97/145.76 The TRS P consists of the following rules: 213.97/145.76 213.97/145.76 new_gcd0Gcd'1(False, Neg(Succ(x1)), Pos(x0)) -> new_gcd0Gcd'0(Neg(Succ(x1)), Pos(new_primModNatS1(x0, x1))) 213.97/145.76 new_gcd0Gcd'0(Neg(x0), Pos(Succ(x1))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(x0, x1))), Pos(Succ(x1)), Neg(x0)) 213.97/145.76 new_gcd0Gcd'1(False, Pos(Succ(x1)), Neg(x0)) -> new_gcd0Gcd'0(Pos(Succ(x1)), Neg(new_primModNatS1(x0, x1))) 213.97/145.76 new_gcd0Gcd'0(Pos(x0), Neg(Succ(x1))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(x0, x1))), Neg(Succ(x1)), Pos(x0)) 213.97/145.76 213.97/145.76 The TRS R consists of the following rules: 213.97/145.76 213.97/145.76 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 213.97/145.76 new_primModNatS1(Succ(Succ(vyv293000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv293000), Zero) 213.97/145.76 new_primModNatS1(Succ(Zero), Succ(vyv292000)) -> Succ(Zero) 213.97/145.76 new_primModNatS01(vyv331, vyv332, Zero, Zero) -> new_primModNatS02(vyv331, vyv332) 213.97/145.76 new_primModNatS02(vyv331, vyv332) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv331), Succ(vyv332)), Succ(vyv332)) 213.97/145.76 new_primModNatS1(Succ(Succ(vyv293000)), Succ(vyv292000)) -> new_primModNatS01(vyv293000, vyv292000, vyv293000, vyv292000) 213.97/145.76 new_primModNatS01(vyv331, vyv332, Succ(vyv3330), Succ(vyv3340)) -> new_primModNatS01(vyv331, vyv332, vyv3330, vyv3340) 213.97/145.76 new_primModNatS01(vyv331, vyv332, Succ(vyv3330), Zero) -> new_primModNatS02(vyv331, vyv332) 213.97/145.76 new_primModNatS1(Zero, vyv29200) -> Zero 213.97/145.76 new_esEs(Pos(Succ(vyv24300))) -> new_primEqInt(Pos(Succ(vyv24300))) 213.97/145.76 new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) 213.97/145.76 new_primEqInt(Pos(Zero)) -> True 213.97/145.76 new_primEqInt(Pos(Succ(vyv242000))) -> False 213.97/145.76 new_primMinusNatS2(Succ(vyv3110), Succ(vyv3120)) -> new_primMinusNatS2(vyv3110, vyv3120) 213.97/145.76 new_primModNatS01(vyv331, vyv332, Zero, Succ(vyv3340)) -> Succ(Succ(vyv331)) 213.97/145.76 new_primMinusNatS2(Zero, Zero) -> Zero 213.97/145.76 new_primMinusNatS2(Zero, Succ(vyv3120)) -> Zero 213.97/145.76 new_primMinusNatS2(Succ(vyv3110), Zero) -> Succ(vyv3110) 213.97/145.76 new_primMinusNatS1 -> Zero 213.97/145.76 new_primMinusNatS0(vyv271000) -> Succ(vyv271000) 213.97/145.76 new_esEs(Neg(Succ(vyv24300))) -> new_primEqInt(Neg(Succ(vyv24300))) 213.97/145.76 new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) 213.97/145.76 new_primEqInt(Neg(Zero)) -> True 213.97/145.76 new_primEqInt(Neg(Succ(vyv242000))) -> False 213.97/145.76 213.97/145.76 The set Q consists of the following terms: 213.97/145.76 213.97/145.76 new_primModNatS01(x0, x1, Succ(x2), Zero) 213.97/145.76 new_primModNatS1(Succ(Succ(x0)), Zero) 213.97/145.76 new_primMinusNatS1 213.97/145.76 new_primEqInt(Pos(Zero)) 213.97/145.76 new_rem(Pos(x0), Pos(Zero)) 213.97/145.76 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 213.97/145.76 new_esEs(Pos(Succ(x0))) 213.97/145.76 new_primModNatS1(Zero, x0) 213.97/145.76 new_primModNatS02(x0, x1) 213.97/145.76 new_primMinusNatS2(Zero, Zero) 213.97/145.76 new_error 213.97/145.76 new_primModNatS1(Succ(Zero), Zero) 213.97/145.76 new_primMinusNatS2(Succ(x0), Zero) 213.97/145.76 new_esEs(Pos(Zero)) 213.97/145.76 new_primMinusNatS0(x0) 213.97/145.76 new_primEqInt(Neg(Succ(x0))) 213.97/145.76 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 213.97/145.76 new_rem(Neg(x0), Neg(Zero)) 213.97/145.76 new_rem(Pos(x0), Neg(Succ(x1))) 213.97/145.76 new_rem(Neg(x0), Pos(Succ(x1))) 213.97/145.76 new_esEs(Neg(Succ(x0))) 213.97/145.76 new_primEqInt(Neg(Zero)) 213.97/145.76 new_rem(Pos(x0), Pos(Succ(x1))) 213.97/145.76 new_primModNatS01(x0, x1, Zero, Zero) 213.97/145.76 new_primEqInt(Pos(Succ(x0))) 213.97/145.76 new_rem(Neg(x0), Neg(Succ(x1))) 213.97/145.76 new_rem(Pos(x0), Neg(Zero)) 213.97/145.76 new_rem(Neg(x0), Pos(Zero)) 213.97/145.76 new_primMinusNatS2(Zero, Succ(x0)) 213.97/145.76 new_primModNatS1(Succ(Zero), Succ(x0)) 213.97/145.76 new_primMinusNatS2(Succ(x0), Succ(x1)) 213.97/145.76 new_primModNatS01(x0, x1, Zero, Succ(x2)) 213.97/145.76 new_esEs(Neg(Zero)) 213.97/145.76 213.97/145.76 We have to consider all minimal (P,Q,R)-chains. 213.97/145.76 ---------------------------------------- 213.97/145.76 213.97/145.76 (58) QReductionProof (EQUIVALENT) 213.97/145.76 We deleted the following terms from Q as each root-symbol of these terms does neither occur in P nor in R.[THIEMANN]. 213.97/145.76 213.97/145.76 new_rem(Pos(x0), Pos(Zero)) 213.97/145.76 new_error 213.97/145.76 new_rem(Neg(x0), Neg(Zero)) 213.97/145.76 new_rem(Pos(x0), Neg(Succ(x1))) 213.97/145.76 new_rem(Neg(x0), Pos(Succ(x1))) 213.97/145.76 new_rem(Pos(x0), Pos(Succ(x1))) 213.97/145.76 new_rem(Neg(x0), Neg(Succ(x1))) 213.97/145.76 new_rem(Pos(x0), Neg(Zero)) 213.97/145.76 new_rem(Neg(x0), Pos(Zero)) 213.97/145.76 213.97/145.76 213.97/145.76 ---------------------------------------- 213.97/145.76 213.97/145.76 (59) 213.97/145.76 Obligation: 213.97/145.76 Q DP problem: 213.97/145.76 The TRS P consists of the following rules: 213.97/145.76 213.97/145.76 new_gcd0Gcd'1(False, Neg(Succ(x1)), Pos(x0)) -> new_gcd0Gcd'0(Neg(Succ(x1)), Pos(new_primModNatS1(x0, x1))) 213.97/145.76 new_gcd0Gcd'0(Neg(x0), Pos(Succ(x1))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(x0, x1))), Pos(Succ(x1)), Neg(x0)) 213.97/145.76 new_gcd0Gcd'1(False, Pos(Succ(x1)), Neg(x0)) -> new_gcd0Gcd'0(Pos(Succ(x1)), Neg(new_primModNatS1(x0, x1))) 213.97/145.76 new_gcd0Gcd'0(Pos(x0), Neg(Succ(x1))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(x0, x1))), Neg(Succ(x1)), Pos(x0)) 213.97/145.76 213.97/145.76 The TRS R consists of the following rules: 213.97/145.76 213.97/145.76 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 213.97/145.76 new_primModNatS1(Succ(Succ(vyv293000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv293000), Zero) 213.97/145.76 new_primModNatS1(Succ(Zero), Succ(vyv292000)) -> Succ(Zero) 213.97/145.76 new_primModNatS01(vyv331, vyv332, Zero, Zero) -> new_primModNatS02(vyv331, vyv332) 213.97/145.76 new_primModNatS02(vyv331, vyv332) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv331), Succ(vyv332)), Succ(vyv332)) 213.97/145.76 new_primModNatS1(Succ(Succ(vyv293000)), Succ(vyv292000)) -> new_primModNatS01(vyv293000, vyv292000, vyv293000, vyv292000) 213.97/145.76 new_primModNatS01(vyv331, vyv332, Succ(vyv3330), Succ(vyv3340)) -> new_primModNatS01(vyv331, vyv332, vyv3330, vyv3340) 213.97/145.76 new_primModNatS01(vyv331, vyv332, Succ(vyv3330), Zero) -> new_primModNatS02(vyv331, vyv332) 213.97/145.76 new_primModNatS1(Zero, vyv29200) -> Zero 213.97/145.76 new_esEs(Pos(Succ(vyv24300))) -> new_primEqInt(Pos(Succ(vyv24300))) 213.97/145.76 new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) 213.97/145.76 new_primEqInt(Pos(Zero)) -> True 213.97/145.76 new_primEqInt(Pos(Succ(vyv242000))) -> False 213.97/145.76 new_primMinusNatS2(Succ(vyv3110), Succ(vyv3120)) -> new_primMinusNatS2(vyv3110, vyv3120) 213.97/145.76 new_primModNatS01(vyv331, vyv332, Zero, Succ(vyv3340)) -> Succ(Succ(vyv331)) 213.97/145.76 new_primMinusNatS2(Zero, Zero) -> Zero 213.97/145.76 new_primMinusNatS2(Zero, Succ(vyv3120)) -> Zero 213.97/145.76 new_primMinusNatS2(Succ(vyv3110), Zero) -> Succ(vyv3110) 213.97/145.76 new_primMinusNatS1 -> Zero 213.97/145.76 new_primMinusNatS0(vyv271000) -> Succ(vyv271000) 213.97/145.76 new_esEs(Neg(Succ(vyv24300))) -> new_primEqInt(Neg(Succ(vyv24300))) 213.97/145.76 new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) 213.97/145.76 new_primEqInt(Neg(Zero)) -> True 213.97/145.76 new_primEqInt(Neg(Succ(vyv242000))) -> False 213.97/145.76 213.97/145.76 The set Q consists of the following terms: 213.97/145.76 213.97/145.76 new_primModNatS01(x0, x1, Succ(x2), Zero) 213.97/145.76 new_primModNatS1(Succ(Succ(x0)), Zero) 213.97/145.76 new_primMinusNatS1 213.97/145.76 new_primEqInt(Pos(Zero)) 213.97/145.76 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 213.97/145.76 new_esEs(Pos(Succ(x0))) 213.97/145.76 new_primModNatS1(Zero, x0) 213.97/145.76 new_primModNatS02(x0, x1) 213.97/145.76 new_primMinusNatS2(Zero, Zero) 213.97/145.76 new_primModNatS1(Succ(Zero), Zero) 213.97/145.76 new_primMinusNatS2(Succ(x0), Zero) 213.97/145.76 new_esEs(Pos(Zero)) 213.97/145.76 new_primMinusNatS0(x0) 213.97/145.76 new_primEqInt(Neg(Succ(x0))) 213.97/145.76 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 213.97/145.76 new_esEs(Neg(Succ(x0))) 213.97/145.76 new_primEqInt(Neg(Zero)) 213.97/145.76 new_primModNatS01(x0, x1, Zero, Zero) 213.97/145.76 new_primEqInt(Pos(Succ(x0))) 213.97/145.76 new_primMinusNatS2(Zero, Succ(x0)) 213.97/145.76 new_primModNatS1(Succ(Zero), Succ(x0)) 213.97/145.76 new_primMinusNatS2(Succ(x0), Succ(x1)) 213.97/145.76 new_primModNatS01(x0, x1, Zero, Succ(x2)) 213.97/145.76 new_esEs(Neg(Zero)) 213.97/145.76 213.97/145.76 We have to consider all minimal (P,Q,R)-chains. 213.97/145.76 ---------------------------------------- 213.97/145.76 213.97/145.76 (60) TransformationProof (EQUIVALENT) 213.97/145.76 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]: 213.97/145.76 213.97/145.76 (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)))) 213.97/145.76 (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)))) 213.97/145.76 (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)))) 213.97/145.76 (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)))) 213.97/145.76 (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))) 213.97/145.76 213.97/145.76 213.97/145.76 ---------------------------------------- 213.97/145.76 213.97/145.76 (61) 213.97/145.76 Obligation: 213.97/145.76 Q DP problem: 213.97/145.76 The TRS P consists of the following rules: 213.97/145.76 213.97/145.76 new_gcd0Gcd'0(Neg(x0), Pos(Succ(x1))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(x0, x1))), Pos(Succ(x1)), Neg(x0)) 213.97/145.76 new_gcd0Gcd'1(False, Pos(Succ(x1)), Neg(x0)) -> new_gcd0Gcd'0(Pos(Succ(x1)), Neg(new_primModNatS1(x0, x1))) 213.97/145.76 new_gcd0Gcd'0(Pos(x0), Neg(Succ(x1))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(x0, x1))), Neg(Succ(x1)), Pos(x0)) 213.97/145.76 new_gcd0Gcd'1(False, Neg(Succ(Zero)), Pos(Succ(Zero))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS1, Zero))) 213.97/145.76 new_gcd0Gcd'1(False, Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero))) 213.97/145.76 new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 213.97/145.76 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))) 213.97/145.76 new_gcd0Gcd'1(False, Neg(Succ(x0)), Pos(Zero)) -> new_gcd0Gcd'0(Neg(Succ(x0)), Pos(Zero)) 213.97/145.76 213.97/145.76 The TRS R consists of the following rules: 213.97/145.76 213.97/145.76 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 213.97/145.76 new_primModNatS1(Succ(Succ(vyv293000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv293000), Zero) 213.97/145.76 new_primModNatS1(Succ(Zero), Succ(vyv292000)) -> Succ(Zero) 213.97/145.76 new_primModNatS01(vyv331, vyv332, Zero, Zero) -> new_primModNatS02(vyv331, vyv332) 213.97/145.76 new_primModNatS02(vyv331, vyv332) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv331), Succ(vyv332)), Succ(vyv332)) 213.97/145.76 new_primModNatS1(Succ(Succ(vyv293000)), Succ(vyv292000)) -> new_primModNatS01(vyv293000, vyv292000, vyv293000, vyv292000) 213.97/145.76 new_primModNatS01(vyv331, vyv332, Succ(vyv3330), Succ(vyv3340)) -> new_primModNatS01(vyv331, vyv332, vyv3330, vyv3340) 213.97/145.76 new_primModNatS01(vyv331, vyv332, Succ(vyv3330), Zero) -> new_primModNatS02(vyv331, vyv332) 213.97/145.76 new_primModNatS1(Zero, vyv29200) -> Zero 213.97/145.76 new_esEs(Pos(Succ(vyv24300))) -> new_primEqInt(Pos(Succ(vyv24300))) 213.97/145.76 new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) 213.97/145.76 new_primEqInt(Pos(Zero)) -> True 213.97/145.76 new_primEqInt(Pos(Succ(vyv242000))) -> False 213.97/145.76 new_primMinusNatS2(Succ(vyv3110), Succ(vyv3120)) -> new_primMinusNatS2(vyv3110, vyv3120) 213.97/145.76 new_primModNatS01(vyv331, vyv332, Zero, Succ(vyv3340)) -> Succ(Succ(vyv331)) 213.97/145.76 new_primMinusNatS2(Zero, Zero) -> Zero 213.97/145.76 new_primMinusNatS2(Zero, Succ(vyv3120)) -> Zero 213.97/145.76 new_primMinusNatS2(Succ(vyv3110), Zero) -> Succ(vyv3110) 213.97/145.76 new_primMinusNatS1 -> Zero 213.97/145.76 new_primMinusNatS0(vyv271000) -> Succ(vyv271000) 213.97/145.76 new_esEs(Neg(Succ(vyv24300))) -> new_primEqInt(Neg(Succ(vyv24300))) 213.97/145.76 new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) 213.97/145.76 new_primEqInt(Neg(Zero)) -> True 213.97/145.76 new_primEqInt(Neg(Succ(vyv242000))) -> False 213.97/145.76 213.97/145.76 The set Q consists of the following terms: 213.97/145.76 213.97/145.76 new_primModNatS01(x0, x1, Succ(x2), Zero) 213.97/145.76 new_primModNatS1(Succ(Succ(x0)), Zero) 213.97/145.76 new_primMinusNatS1 213.97/145.76 new_primEqInt(Pos(Zero)) 213.97/145.76 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 213.97/145.76 new_esEs(Pos(Succ(x0))) 213.97/145.76 new_primModNatS1(Zero, x0) 213.97/145.76 new_primModNatS02(x0, x1) 213.97/145.76 new_primMinusNatS2(Zero, Zero) 213.97/145.76 new_primModNatS1(Succ(Zero), Zero) 213.97/145.76 new_primMinusNatS2(Succ(x0), Zero) 213.97/145.76 new_esEs(Pos(Zero)) 213.97/145.76 new_primMinusNatS0(x0) 213.97/145.76 new_primEqInt(Neg(Succ(x0))) 213.97/145.76 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 213.97/145.76 new_esEs(Neg(Succ(x0))) 213.97/145.76 new_primEqInt(Neg(Zero)) 213.97/145.76 new_primModNatS01(x0, x1, Zero, Zero) 213.97/145.76 new_primEqInt(Pos(Succ(x0))) 213.97/145.76 new_primMinusNatS2(Zero, Succ(x0)) 213.97/145.76 new_primModNatS1(Succ(Zero), Succ(x0)) 213.97/145.76 new_primMinusNatS2(Succ(x0), Succ(x1)) 213.97/145.76 new_primModNatS01(x0, x1, Zero, Succ(x2)) 213.97/145.76 new_esEs(Neg(Zero)) 213.97/145.76 213.97/145.76 We have to consider all minimal (P,Q,R)-chains. 213.97/145.76 ---------------------------------------- 213.97/145.76 213.97/145.76 (62) DependencyGraphProof (EQUIVALENT) 213.97/145.76 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. 213.97/145.76 ---------------------------------------- 213.97/145.76 213.97/145.76 (63) 213.97/145.76 Obligation: 213.97/145.76 Q DP problem: 213.97/145.76 The TRS P consists of the following rules: 213.97/145.76 213.97/145.76 new_gcd0Gcd'1(False, Pos(Succ(x1)), Neg(x0)) -> new_gcd0Gcd'0(Pos(Succ(x1)), Neg(new_primModNatS1(x0, x1))) 213.97/145.76 new_gcd0Gcd'0(Pos(x0), Neg(Succ(x1))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(x0, x1))), Neg(Succ(x1)), Pos(x0)) 213.97/145.76 new_gcd0Gcd'1(False, Neg(Succ(Zero)), Pos(Succ(Zero))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS1, Zero))) 213.97/145.76 new_gcd0Gcd'0(Neg(x0), Pos(Succ(x1))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(x0, x1))), Pos(Succ(x1)), Neg(x0)) 213.97/145.76 new_gcd0Gcd'1(False, Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero))) 213.97/145.76 new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 213.97/145.76 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))) 213.97/145.76 213.97/145.76 The TRS R consists of the following rules: 213.97/145.76 213.97/145.76 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 213.97/145.76 new_primModNatS1(Succ(Succ(vyv293000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv293000), Zero) 213.97/145.76 new_primModNatS1(Succ(Zero), Succ(vyv292000)) -> Succ(Zero) 213.97/145.76 new_primModNatS01(vyv331, vyv332, Zero, Zero) -> new_primModNatS02(vyv331, vyv332) 213.97/145.76 new_primModNatS02(vyv331, vyv332) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv331), Succ(vyv332)), Succ(vyv332)) 213.97/145.76 new_primModNatS1(Succ(Succ(vyv293000)), Succ(vyv292000)) -> new_primModNatS01(vyv293000, vyv292000, vyv293000, vyv292000) 213.97/145.76 new_primModNatS01(vyv331, vyv332, Succ(vyv3330), Succ(vyv3340)) -> new_primModNatS01(vyv331, vyv332, vyv3330, vyv3340) 213.97/145.76 new_primModNatS01(vyv331, vyv332, Succ(vyv3330), Zero) -> new_primModNatS02(vyv331, vyv332) 213.97/145.76 new_primModNatS1(Zero, vyv29200) -> Zero 213.97/145.76 new_esEs(Pos(Succ(vyv24300))) -> new_primEqInt(Pos(Succ(vyv24300))) 213.97/145.76 new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) 213.97/145.76 new_primEqInt(Pos(Zero)) -> True 213.97/145.76 new_primEqInt(Pos(Succ(vyv242000))) -> False 213.97/145.76 new_primMinusNatS2(Succ(vyv3110), Succ(vyv3120)) -> new_primMinusNatS2(vyv3110, vyv3120) 213.97/145.76 new_primModNatS01(vyv331, vyv332, Zero, Succ(vyv3340)) -> Succ(Succ(vyv331)) 213.97/145.76 new_primMinusNatS2(Zero, Zero) -> Zero 213.97/145.76 new_primMinusNatS2(Zero, Succ(vyv3120)) -> Zero 213.97/145.76 new_primMinusNatS2(Succ(vyv3110), Zero) -> Succ(vyv3110) 213.97/145.76 new_primMinusNatS1 -> Zero 213.97/145.76 new_primMinusNatS0(vyv271000) -> Succ(vyv271000) 213.97/145.76 new_esEs(Neg(Succ(vyv24300))) -> new_primEqInt(Neg(Succ(vyv24300))) 213.97/145.76 new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) 213.97/145.76 new_primEqInt(Neg(Zero)) -> True 213.97/145.76 new_primEqInt(Neg(Succ(vyv242000))) -> False 213.97/145.76 213.97/145.76 The set Q consists of the following terms: 213.97/145.76 213.97/145.76 new_primModNatS01(x0, x1, Succ(x2), Zero) 213.97/145.76 new_primModNatS1(Succ(Succ(x0)), Zero) 213.97/145.76 new_primMinusNatS1 213.97/145.76 new_primEqInt(Pos(Zero)) 213.97/145.76 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 213.97/145.76 new_esEs(Pos(Succ(x0))) 213.97/145.76 new_primModNatS1(Zero, x0) 213.97/145.76 new_primModNatS02(x0, x1) 213.97/145.76 new_primMinusNatS2(Zero, Zero) 213.97/145.76 new_primModNatS1(Succ(Zero), Zero) 213.97/145.76 new_primMinusNatS2(Succ(x0), Zero) 213.97/145.76 new_esEs(Pos(Zero)) 213.97/145.76 new_primMinusNatS0(x0) 213.97/145.76 new_primEqInt(Neg(Succ(x0))) 213.97/145.76 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 213.97/145.76 new_esEs(Neg(Succ(x0))) 213.97/145.76 new_primEqInt(Neg(Zero)) 213.97/145.76 new_primModNatS01(x0, x1, Zero, Zero) 213.97/145.76 new_primEqInt(Pos(Succ(x0))) 213.97/145.76 new_primMinusNatS2(Zero, Succ(x0)) 213.97/145.76 new_primModNatS1(Succ(Zero), Succ(x0)) 213.97/145.76 new_primMinusNatS2(Succ(x0), Succ(x1)) 213.97/145.76 new_primModNatS01(x0, x1, Zero, Succ(x2)) 213.97/145.76 new_esEs(Neg(Zero)) 213.97/145.76 213.97/145.76 We have to consider all minimal (P,Q,R)-chains. 213.97/145.76 ---------------------------------------- 213.97/145.76 213.97/145.76 (64) TransformationProof (EQUIVALENT) 213.97/145.76 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]: 213.97/145.76 213.97/145.76 (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)))) 213.97/145.76 213.97/145.76 213.97/145.76 ---------------------------------------- 213.97/145.76 213.97/145.76 (65) 213.97/145.76 Obligation: 213.97/145.76 Q DP problem: 213.97/145.76 The TRS P consists of the following rules: 213.97/145.76 213.97/145.76 new_gcd0Gcd'1(False, Pos(Succ(x1)), Neg(x0)) -> new_gcd0Gcd'0(Pos(Succ(x1)), Neg(new_primModNatS1(x0, x1))) 213.97/145.76 new_gcd0Gcd'0(Pos(x0), Neg(Succ(x1))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(x0, x1))), Neg(Succ(x1)), Pos(x0)) 213.97/145.76 new_gcd0Gcd'0(Neg(x0), Pos(Succ(x1))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(x0, x1))), Pos(Succ(x1)), Neg(x0)) 213.97/145.76 new_gcd0Gcd'1(False, Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero))) 213.97/145.76 new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 213.97/145.76 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))) 213.97/145.76 new_gcd0Gcd'1(False, Neg(Succ(Zero)), Pos(Succ(Zero))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(new_primModNatS1(Zero, Zero))) 213.97/145.76 213.97/145.76 The TRS R consists of the following rules: 213.97/145.76 213.97/145.76 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 213.97/145.76 new_primModNatS1(Succ(Succ(vyv293000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv293000), Zero) 213.97/145.76 new_primModNatS1(Succ(Zero), Succ(vyv292000)) -> Succ(Zero) 213.97/145.76 new_primModNatS01(vyv331, vyv332, Zero, Zero) -> new_primModNatS02(vyv331, vyv332) 213.97/145.76 new_primModNatS02(vyv331, vyv332) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv331), Succ(vyv332)), Succ(vyv332)) 213.97/145.76 new_primModNatS1(Succ(Succ(vyv293000)), Succ(vyv292000)) -> new_primModNatS01(vyv293000, vyv292000, vyv293000, vyv292000) 213.97/145.76 new_primModNatS01(vyv331, vyv332, Succ(vyv3330), Succ(vyv3340)) -> new_primModNatS01(vyv331, vyv332, vyv3330, vyv3340) 213.97/145.76 new_primModNatS01(vyv331, vyv332, Succ(vyv3330), Zero) -> new_primModNatS02(vyv331, vyv332) 213.97/145.76 new_primModNatS1(Zero, vyv29200) -> Zero 213.97/145.76 new_esEs(Pos(Succ(vyv24300))) -> new_primEqInt(Pos(Succ(vyv24300))) 213.97/145.76 new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) 213.97/145.76 new_primEqInt(Pos(Zero)) -> True 213.97/145.76 new_primEqInt(Pos(Succ(vyv242000))) -> False 213.97/145.76 new_primMinusNatS2(Succ(vyv3110), Succ(vyv3120)) -> new_primMinusNatS2(vyv3110, vyv3120) 213.97/145.76 new_primModNatS01(vyv331, vyv332, Zero, Succ(vyv3340)) -> Succ(Succ(vyv331)) 213.97/145.76 new_primMinusNatS2(Zero, Zero) -> Zero 213.97/145.76 new_primMinusNatS2(Zero, Succ(vyv3120)) -> Zero 213.97/145.76 new_primMinusNatS2(Succ(vyv3110), Zero) -> Succ(vyv3110) 213.97/145.76 new_primMinusNatS1 -> Zero 213.97/145.76 new_primMinusNatS0(vyv271000) -> Succ(vyv271000) 213.97/145.76 new_esEs(Neg(Succ(vyv24300))) -> new_primEqInt(Neg(Succ(vyv24300))) 213.97/145.76 new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) 213.97/145.76 new_primEqInt(Neg(Zero)) -> True 213.97/145.76 new_primEqInt(Neg(Succ(vyv242000))) -> False 213.97/145.76 213.97/145.76 The set Q consists of the following terms: 213.97/145.76 213.97/145.76 new_primModNatS01(x0, x1, Succ(x2), Zero) 213.97/145.76 new_primModNatS1(Succ(Succ(x0)), Zero) 213.97/145.76 new_primMinusNatS1 213.97/145.76 new_primEqInt(Pos(Zero)) 213.97/145.76 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 213.97/145.76 new_esEs(Pos(Succ(x0))) 213.97/145.76 new_primModNatS1(Zero, x0) 213.97/145.76 new_primModNatS02(x0, x1) 213.97/145.76 new_primMinusNatS2(Zero, Zero) 213.97/145.76 new_primModNatS1(Succ(Zero), Zero) 213.97/145.76 new_primMinusNatS2(Succ(x0), Zero) 213.97/145.76 new_esEs(Pos(Zero)) 213.97/145.76 new_primMinusNatS0(x0) 213.97/145.76 new_primEqInt(Neg(Succ(x0))) 213.97/145.76 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 213.97/145.76 new_esEs(Neg(Succ(x0))) 213.97/145.76 new_primEqInt(Neg(Zero)) 213.97/145.76 new_primModNatS01(x0, x1, Zero, Zero) 213.97/145.76 new_primEqInt(Pos(Succ(x0))) 213.97/145.76 new_primMinusNatS2(Zero, Succ(x0)) 213.97/145.76 new_primModNatS1(Succ(Zero), Succ(x0)) 213.97/145.76 new_primMinusNatS2(Succ(x0), Succ(x1)) 213.97/145.76 new_primModNatS01(x0, x1, Zero, Succ(x2)) 213.97/145.76 new_esEs(Neg(Zero)) 213.97/145.76 213.97/145.76 We have to consider all minimal (P,Q,R)-chains. 213.97/145.76 ---------------------------------------- 213.97/145.76 213.97/145.76 (66) DependencyGraphProof (EQUIVALENT) 213.97/145.76 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. 213.97/145.76 ---------------------------------------- 213.97/145.76 213.97/145.76 (67) 213.97/145.76 Obligation: 213.97/145.76 Q DP problem: 213.97/145.76 The TRS P consists of the following rules: 213.97/145.76 213.97/145.76 new_gcd0Gcd'0(Pos(x0), Neg(Succ(x1))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(x0, x1))), Neg(Succ(x1)), Pos(x0)) 213.97/145.76 new_gcd0Gcd'1(False, Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero))) 213.97/145.76 new_gcd0Gcd'0(Neg(x0), Pos(Succ(x1))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(x0, x1))), Pos(Succ(x1)), Neg(x0)) 213.97/145.76 new_gcd0Gcd'1(False, Pos(Succ(x1)), Neg(x0)) -> new_gcd0Gcd'0(Pos(Succ(x1)), Neg(new_primModNatS1(x0, x1))) 213.97/145.76 new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 213.97/145.76 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))) 213.97/145.76 213.97/145.76 The TRS R consists of the following rules: 213.97/145.76 213.97/145.76 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 213.97/145.76 new_primModNatS1(Succ(Succ(vyv293000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv293000), Zero) 213.97/145.76 new_primModNatS1(Succ(Zero), Succ(vyv292000)) -> Succ(Zero) 213.97/145.76 new_primModNatS01(vyv331, vyv332, Zero, Zero) -> new_primModNatS02(vyv331, vyv332) 213.97/145.76 new_primModNatS02(vyv331, vyv332) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv331), Succ(vyv332)), Succ(vyv332)) 213.97/145.76 new_primModNatS1(Succ(Succ(vyv293000)), Succ(vyv292000)) -> new_primModNatS01(vyv293000, vyv292000, vyv293000, vyv292000) 213.97/145.76 new_primModNatS01(vyv331, vyv332, Succ(vyv3330), Succ(vyv3340)) -> new_primModNatS01(vyv331, vyv332, vyv3330, vyv3340) 213.97/145.76 new_primModNatS01(vyv331, vyv332, Succ(vyv3330), Zero) -> new_primModNatS02(vyv331, vyv332) 213.97/145.76 new_primModNatS1(Zero, vyv29200) -> Zero 213.97/145.76 new_esEs(Pos(Succ(vyv24300))) -> new_primEqInt(Pos(Succ(vyv24300))) 213.97/145.76 new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) 213.97/145.76 new_primEqInt(Pos(Zero)) -> True 213.97/145.76 new_primEqInt(Pos(Succ(vyv242000))) -> False 213.97/145.76 new_primMinusNatS2(Succ(vyv3110), Succ(vyv3120)) -> new_primMinusNatS2(vyv3110, vyv3120) 213.97/145.76 new_primModNatS01(vyv331, vyv332, Zero, Succ(vyv3340)) -> Succ(Succ(vyv331)) 213.97/145.76 new_primMinusNatS2(Zero, Zero) -> Zero 213.97/145.76 new_primMinusNatS2(Zero, Succ(vyv3120)) -> Zero 213.97/145.76 new_primMinusNatS2(Succ(vyv3110), Zero) -> Succ(vyv3110) 213.97/145.76 new_primMinusNatS1 -> Zero 213.97/145.76 new_primMinusNatS0(vyv271000) -> Succ(vyv271000) 213.97/145.76 new_esEs(Neg(Succ(vyv24300))) -> new_primEqInt(Neg(Succ(vyv24300))) 213.97/145.76 new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) 213.97/145.76 new_primEqInt(Neg(Zero)) -> True 213.97/145.76 new_primEqInt(Neg(Succ(vyv242000))) -> False 213.97/145.76 213.97/145.76 The set Q consists of the following terms: 213.97/145.76 213.97/145.76 new_primModNatS01(x0, x1, Succ(x2), Zero) 213.97/145.76 new_primModNatS1(Succ(Succ(x0)), Zero) 213.97/145.76 new_primMinusNatS1 213.97/145.76 new_primEqInt(Pos(Zero)) 213.97/145.76 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 213.97/145.76 new_esEs(Pos(Succ(x0))) 213.97/145.76 new_primModNatS1(Zero, x0) 213.97/145.76 new_primModNatS02(x0, x1) 213.97/145.76 new_primMinusNatS2(Zero, Zero) 213.97/145.76 new_primModNatS1(Succ(Zero), Zero) 213.97/145.76 new_primMinusNatS2(Succ(x0), Zero) 213.97/145.76 new_esEs(Pos(Zero)) 213.97/145.76 new_primMinusNatS0(x0) 213.97/145.76 new_primEqInt(Neg(Succ(x0))) 213.97/145.76 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 213.97/145.76 new_esEs(Neg(Succ(x0))) 213.97/145.76 new_primEqInt(Neg(Zero)) 213.97/145.76 new_primModNatS01(x0, x1, Zero, Zero) 213.97/145.76 new_primEqInt(Pos(Succ(x0))) 213.97/145.76 new_primMinusNatS2(Zero, Succ(x0)) 213.97/145.76 new_primModNatS1(Succ(Zero), Succ(x0)) 213.97/145.76 new_primMinusNatS2(Succ(x0), Succ(x1)) 213.97/145.76 new_primModNatS01(x0, x1, Zero, Succ(x2)) 213.97/145.76 new_esEs(Neg(Zero)) 213.97/145.76 213.97/145.76 We have to consider all minimal (P,Q,R)-chains. 213.97/145.76 ---------------------------------------- 213.97/145.76 213.97/145.76 (68) TransformationProof (EQUIVALENT) 213.97/145.76 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]: 213.97/145.76 213.97/145.76 (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)))) 213.97/145.76 213.97/145.76 213.97/145.76 ---------------------------------------- 213.97/145.76 213.97/145.76 (69) 213.97/145.76 Obligation: 213.97/145.76 Q DP problem: 213.97/145.76 The TRS P consists of the following rules: 213.97/145.76 213.97/145.76 new_gcd0Gcd'0(Pos(x0), Neg(Succ(x1))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(x0, x1))), Neg(Succ(x1)), Pos(x0)) 213.97/145.76 new_gcd0Gcd'0(Neg(x0), Pos(Succ(x1))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(x0, x1))), Pos(Succ(x1)), Neg(x0)) 213.97/145.76 new_gcd0Gcd'1(False, Pos(Succ(x1)), Neg(x0)) -> new_gcd0Gcd'0(Pos(Succ(x1)), Neg(new_primModNatS1(x0, x1))) 213.97/145.76 new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 213.97/145.76 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))) 213.97/145.76 new_gcd0Gcd'1(False, Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 213.97/145.76 213.97/145.76 The TRS R consists of the following rules: 213.97/145.76 213.97/145.76 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 213.97/145.76 new_primModNatS1(Succ(Succ(vyv293000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv293000), Zero) 213.97/145.76 new_primModNatS1(Succ(Zero), Succ(vyv292000)) -> Succ(Zero) 213.97/145.76 new_primModNatS01(vyv331, vyv332, Zero, Zero) -> new_primModNatS02(vyv331, vyv332) 213.97/145.76 new_primModNatS02(vyv331, vyv332) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv331), Succ(vyv332)), Succ(vyv332)) 213.97/145.76 new_primModNatS1(Succ(Succ(vyv293000)), Succ(vyv292000)) -> new_primModNatS01(vyv293000, vyv292000, vyv293000, vyv292000) 213.97/145.76 new_primModNatS01(vyv331, vyv332, Succ(vyv3330), Succ(vyv3340)) -> new_primModNatS01(vyv331, vyv332, vyv3330, vyv3340) 213.97/145.76 new_primModNatS01(vyv331, vyv332, Succ(vyv3330), Zero) -> new_primModNatS02(vyv331, vyv332) 213.97/145.76 new_primModNatS1(Zero, vyv29200) -> Zero 213.97/145.76 new_esEs(Pos(Succ(vyv24300))) -> new_primEqInt(Pos(Succ(vyv24300))) 213.97/145.76 new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) 213.97/145.76 new_primEqInt(Pos(Zero)) -> True 213.97/145.76 new_primEqInt(Pos(Succ(vyv242000))) -> False 213.97/145.76 new_primMinusNatS2(Succ(vyv3110), Succ(vyv3120)) -> new_primMinusNatS2(vyv3110, vyv3120) 213.97/145.76 new_primModNatS01(vyv331, vyv332, Zero, Succ(vyv3340)) -> Succ(Succ(vyv331)) 213.97/145.76 new_primMinusNatS2(Zero, Zero) -> Zero 213.97/145.76 new_primMinusNatS2(Zero, Succ(vyv3120)) -> Zero 213.97/145.76 new_primMinusNatS2(Succ(vyv3110), Zero) -> Succ(vyv3110) 213.97/145.76 new_primMinusNatS1 -> Zero 213.97/145.76 new_primMinusNatS0(vyv271000) -> Succ(vyv271000) 213.97/145.76 new_esEs(Neg(Succ(vyv24300))) -> new_primEqInt(Neg(Succ(vyv24300))) 213.97/145.76 new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) 213.97/145.76 new_primEqInt(Neg(Zero)) -> True 213.97/145.76 new_primEqInt(Neg(Succ(vyv242000))) -> False 213.97/145.76 213.97/145.76 The set Q consists of the following terms: 213.97/145.76 213.97/145.76 new_primModNatS01(x0, x1, Succ(x2), Zero) 213.97/145.76 new_primModNatS1(Succ(Succ(x0)), Zero) 213.97/145.76 new_primMinusNatS1 213.97/145.76 new_primEqInt(Pos(Zero)) 213.97/145.76 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 213.97/145.76 new_esEs(Pos(Succ(x0))) 213.97/145.76 new_primModNatS1(Zero, x0) 213.97/145.76 new_primModNatS02(x0, x1) 213.97/145.76 new_primMinusNatS2(Zero, Zero) 213.97/145.76 new_primModNatS1(Succ(Zero), Zero) 213.97/145.76 new_primMinusNatS2(Succ(x0), Zero) 213.97/145.76 new_esEs(Pos(Zero)) 213.97/145.76 new_primMinusNatS0(x0) 213.97/145.76 new_primEqInt(Neg(Succ(x0))) 213.97/145.76 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 213.97/145.76 new_esEs(Neg(Succ(x0))) 213.97/145.76 new_primEqInt(Neg(Zero)) 213.97/145.76 new_primModNatS01(x0, x1, Zero, Zero) 213.97/145.76 new_primEqInt(Pos(Succ(x0))) 213.97/145.76 new_primMinusNatS2(Zero, Succ(x0)) 213.97/145.76 new_primModNatS1(Succ(Zero), Succ(x0)) 213.97/145.76 new_primMinusNatS2(Succ(x0), Succ(x1)) 213.97/145.76 new_primModNatS01(x0, x1, Zero, Succ(x2)) 213.97/145.76 new_esEs(Neg(Zero)) 213.97/145.76 213.97/145.76 We have to consider all minimal (P,Q,R)-chains. 213.97/145.76 ---------------------------------------- 213.97/145.76 213.97/145.76 (70) TransformationProof (EQUIVALENT) 213.97/145.76 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]: 213.97/145.76 213.97/145.76 (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)))) 213.97/145.76 (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))))) 213.97/145.76 (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)))) 213.97/145.76 (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))))) 213.97/145.76 (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))) 213.97/145.76 213.97/145.76 213.97/145.76 ---------------------------------------- 213.97/145.76 213.97/145.76 (71) 213.97/145.76 Obligation: 213.97/145.76 Q DP problem: 213.97/145.76 The TRS P consists of the following rules: 213.97/145.76 213.97/145.76 new_gcd0Gcd'0(Neg(x0), Pos(Succ(x1))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(x0, x1))), Pos(Succ(x1)), Neg(x0)) 213.97/145.76 new_gcd0Gcd'1(False, Pos(Succ(x1)), Neg(x0)) -> new_gcd0Gcd'0(Pos(Succ(x1)), Neg(new_primModNatS1(x0, x1))) 213.97/145.76 new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 213.97/145.76 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))) 213.97/145.77 new_gcd0Gcd'1(False, Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 213.97/145.77 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))) 213.97/145.77 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)))) 213.97/145.77 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))) 213.97/145.77 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)))) 213.97/145.77 new_gcd0Gcd'0(Pos(Zero), Neg(Succ(x0))) -> new_gcd0Gcd'1(new_esEs(Pos(Zero)), Neg(Succ(x0)), Pos(Zero)) 213.97/145.77 213.97/145.77 The TRS R consists of the following rules: 213.97/145.77 213.97/145.77 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 213.97/145.77 new_primModNatS1(Succ(Succ(vyv293000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv293000), Zero) 213.97/145.77 new_primModNatS1(Succ(Zero), Succ(vyv292000)) -> Succ(Zero) 213.97/145.77 new_primModNatS01(vyv331, vyv332, Zero, Zero) -> new_primModNatS02(vyv331, vyv332) 213.97/145.77 new_primModNatS02(vyv331, vyv332) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv331), Succ(vyv332)), Succ(vyv332)) 213.97/145.77 new_primModNatS1(Succ(Succ(vyv293000)), Succ(vyv292000)) -> new_primModNatS01(vyv293000, vyv292000, vyv293000, vyv292000) 213.97/145.77 new_primModNatS01(vyv331, vyv332, Succ(vyv3330), Succ(vyv3340)) -> new_primModNatS01(vyv331, vyv332, vyv3330, vyv3340) 213.97/145.77 new_primModNatS01(vyv331, vyv332, Succ(vyv3330), Zero) -> new_primModNatS02(vyv331, vyv332) 213.97/145.77 new_primModNatS1(Zero, vyv29200) -> Zero 213.97/145.77 new_esEs(Pos(Succ(vyv24300))) -> new_primEqInt(Pos(Succ(vyv24300))) 213.97/145.77 new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) 213.97/145.77 new_primEqInt(Pos(Zero)) -> True 213.97/145.77 new_primEqInt(Pos(Succ(vyv242000))) -> False 213.97/145.77 new_primMinusNatS2(Succ(vyv3110), Succ(vyv3120)) -> new_primMinusNatS2(vyv3110, vyv3120) 213.97/145.77 new_primModNatS01(vyv331, vyv332, Zero, Succ(vyv3340)) -> Succ(Succ(vyv331)) 213.97/145.77 new_primMinusNatS2(Zero, Zero) -> Zero 213.97/145.77 new_primMinusNatS2(Zero, Succ(vyv3120)) -> Zero 213.97/145.77 new_primMinusNatS2(Succ(vyv3110), Zero) -> Succ(vyv3110) 213.97/145.77 new_primMinusNatS1 -> Zero 213.97/145.77 new_primMinusNatS0(vyv271000) -> Succ(vyv271000) 213.97/145.77 new_esEs(Neg(Succ(vyv24300))) -> new_primEqInt(Neg(Succ(vyv24300))) 213.97/145.77 new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) 213.97/145.77 new_primEqInt(Neg(Zero)) -> True 213.97/145.77 new_primEqInt(Neg(Succ(vyv242000))) -> False 213.97/145.77 213.97/145.77 The set Q consists of the following terms: 213.97/145.77 213.97/145.77 new_primModNatS01(x0, x1, Succ(x2), Zero) 213.97/145.77 new_primModNatS1(Succ(Succ(x0)), Zero) 213.97/145.77 new_primMinusNatS1 213.97/145.77 new_primEqInt(Pos(Zero)) 213.97/145.77 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 213.97/145.77 new_esEs(Pos(Succ(x0))) 213.97/145.77 new_primModNatS1(Zero, x0) 213.97/145.77 new_primModNatS02(x0, x1) 213.97/145.77 new_primMinusNatS2(Zero, Zero) 213.97/145.77 new_primModNatS1(Succ(Zero), Zero) 213.97/145.77 new_primMinusNatS2(Succ(x0), Zero) 213.97/145.77 new_esEs(Pos(Zero)) 213.97/145.77 new_primMinusNatS0(x0) 213.97/145.77 new_primEqInt(Neg(Succ(x0))) 213.97/145.77 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 213.97/145.77 new_esEs(Neg(Succ(x0))) 213.97/145.77 new_primEqInt(Neg(Zero)) 213.97/145.77 new_primModNatS01(x0, x1, Zero, Zero) 213.97/145.77 new_primEqInt(Pos(Succ(x0))) 213.97/145.77 new_primMinusNatS2(Zero, Succ(x0)) 213.97/145.77 new_primModNatS1(Succ(Zero), Succ(x0)) 213.97/145.77 new_primMinusNatS2(Succ(x0), Succ(x1)) 213.97/145.77 new_primModNatS01(x0, x1, Zero, Succ(x2)) 213.97/145.77 new_esEs(Neg(Zero)) 213.97/145.77 213.97/145.77 We have to consider all minimal (P,Q,R)-chains. 213.97/145.77 ---------------------------------------- 213.97/145.77 213.97/145.77 (72) DependencyGraphProof (EQUIVALENT) 213.97/145.77 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 2 less nodes. 213.97/145.77 ---------------------------------------- 213.97/145.77 213.97/145.77 (73) 213.97/145.77 Obligation: 213.97/145.77 Q DP problem: 213.97/145.77 The TRS P consists of the following rules: 213.97/145.77 213.97/145.77 new_gcd0Gcd'1(False, Pos(Succ(x1)), Neg(x0)) -> new_gcd0Gcd'0(Pos(Succ(x1)), Neg(new_primModNatS1(x0, x1))) 213.97/145.77 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)))) 213.97/145.77 new_gcd0Gcd'1(False, Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 213.97/145.77 new_gcd0Gcd'0(Neg(x0), Pos(Succ(x1))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(x0, x1))), Pos(Succ(x1)), Neg(x0)) 213.97/145.77 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))) 213.97/145.77 new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 213.97/145.77 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)))) 213.97/145.77 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))) 213.97/145.77 213.97/145.77 The TRS R consists of the following rules: 213.97/145.77 213.97/145.77 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 213.97/145.77 new_primModNatS1(Succ(Succ(vyv293000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv293000), Zero) 213.97/145.77 new_primModNatS1(Succ(Zero), Succ(vyv292000)) -> Succ(Zero) 213.97/145.77 new_primModNatS01(vyv331, vyv332, Zero, Zero) -> new_primModNatS02(vyv331, vyv332) 213.97/145.77 new_primModNatS02(vyv331, vyv332) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv331), Succ(vyv332)), Succ(vyv332)) 213.97/145.77 new_primModNatS1(Succ(Succ(vyv293000)), Succ(vyv292000)) -> new_primModNatS01(vyv293000, vyv292000, vyv293000, vyv292000) 213.97/145.77 new_primModNatS01(vyv331, vyv332, Succ(vyv3330), Succ(vyv3340)) -> new_primModNatS01(vyv331, vyv332, vyv3330, vyv3340) 213.97/145.77 new_primModNatS01(vyv331, vyv332, Succ(vyv3330), Zero) -> new_primModNatS02(vyv331, vyv332) 213.97/145.77 new_primModNatS1(Zero, vyv29200) -> Zero 213.97/145.77 new_esEs(Pos(Succ(vyv24300))) -> new_primEqInt(Pos(Succ(vyv24300))) 213.97/145.77 new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) 213.97/145.77 new_primEqInt(Pos(Zero)) -> True 213.97/145.77 new_primEqInt(Pos(Succ(vyv242000))) -> False 213.97/145.77 new_primMinusNatS2(Succ(vyv3110), Succ(vyv3120)) -> new_primMinusNatS2(vyv3110, vyv3120) 213.97/145.77 new_primModNatS01(vyv331, vyv332, Zero, Succ(vyv3340)) -> Succ(Succ(vyv331)) 213.97/145.77 new_primMinusNatS2(Zero, Zero) -> Zero 213.97/145.77 new_primMinusNatS2(Zero, Succ(vyv3120)) -> Zero 213.97/145.77 new_primMinusNatS2(Succ(vyv3110), Zero) -> Succ(vyv3110) 213.97/145.77 new_primMinusNatS1 -> Zero 213.97/145.77 new_primMinusNatS0(vyv271000) -> Succ(vyv271000) 213.97/145.77 new_esEs(Neg(Succ(vyv24300))) -> new_primEqInt(Neg(Succ(vyv24300))) 213.97/145.77 new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) 213.97/145.77 new_primEqInt(Neg(Zero)) -> True 213.97/145.77 new_primEqInt(Neg(Succ(vyv242000))) -> False 213.97/145.77 213.97/145.77 The set Q consists of the following terms: 213.97/145.77 213.97/145.77 new_primModNatS01(x0, x1, Succ(x2), Zero) 213.97/145.77 new_primModNatS1(Succ(Succ(x0)), Zero) 213.97/145.77 new_primMinusNatS1 213.97/145.77 new_primEqInt(Pos(Zero)) 213.97/145.77 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 213.97/145.77 new_esEs(Pos(Succ(x0))) 213.97/145.77 new_primModNatS1(Zero, x0) 213.97/145.77 new_primModNatS02(x0, x1) 213.97/145.77 new_primMinusNatS2(Zero, Zero) 213.97/145.77 new_primModNatS1(Succ(Zero), Zero) 213.97/145.77 new_primMinusNatS2(Succ(x0), Zero) 213.97/145.77 new_esEs(Pos(Zero)) 213.97/145.77 new_primMinusNatS0(x0) 213.97/145.77 new_primEqInt(Neg(Succ(x0))) 213.97/145.77 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 213.97/145.77 new_esEs(Neg(Succ(x0))) 213.97/145.77 new_primEqInt(Neg(Zero)) 213.97/145.77 new_primModNatS01(x0, x1, Zero, Zero) 213.97/145.77 new_primEqInt(Pos(Succ(x0))) 213.97/145.77 new_primMinusNatS2(Zero, Succ(x0)) 213.97/145.77 new_primModNatS1(Succ(Zero), Succ(x0)) 213.97/145.77 new_primMinusNatS2(Succ(x0), Succ(x1)) 213.97/145.77 new_primModNatS01(x0, x1, Zero, Succ(x2)) 213.97/145.77 new_esEs(Neg(Zero)) 213.97/145.77 213.97/145.77 We have to consider all minimal (P,Q,R)-chains. 213.97/145.77 ---------------------------------------- 213.97/145.77 213.97/145.77 (74) TransformationProof (EQUIVALENT) 213.97/145.77 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]: 213.97/145.77 213.97/145.77 (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))))) 213.97/145.77 213.97/145.77 213.97/145.77 ---------------------------------------- 213.97/145.77 213.97/145.77 (75) 213.97/145.77 Obligation: 213.97/145.77 Q DP problem: 213.97/145.77 The TRS P consists of the following rules: 213.97/145.77 213.97/145.77 new_gcd0Gcd'1(False, Pos(Succ(x1)), Neg(x0)) -> new_gcd0Gcd'0(Pos(Succ(x1)), Neg(new_primModNatS1(x0, x1))) 213.97/145.77 new_gcd0Gcd'1(False, Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 213.97/145.77 new_gcd0Gcd'0(Neg(x0), Pos(Succ(x1))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(x0, x1))), Pos(Succ(x1)), Neg(x0)) 213.97/145.77 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))) 213.97/145.77 new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 213.97/145.77 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)))) 213.97/145.77 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))) 213.97/145.77 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)))) 213.97/145.77 213.97/145.77 The TRS R consists of the following rules: 213.97/145.77 213.97/145.77 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 213.97/145.77 new_primModNatS1(Succ(Succ(vyv293000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv293000), Zero) 213.97/145.77 new_primModNatS1(Succ(Zero), Succ(vyv292000)) -> Succ(Zero) 213.97/145.77 new_primModNatS01(vyv331, vyv332, Zero, Zero) -> new_primModNatS02(vyv331, vyv332) 213.97/145.77 new_primModNatS02(vyv331, vyv332) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv331), Succ(vyv332)), Succ(vyv332)) 213.97/145.77 new_primModNatS1(Succ(Succ(vyv293000)), Succ(vyv292000)) -> new_primModNatS01(vyv293000, vyv292000, vyv293000, vyv292000) 213.97/145.77 new_primModNatS01(vyv331, vyv332, Succ(vyv3330), Succ(vyv3340)) -> new_primModNatS01(vyv331, vyv332, vyv3330, vyv3340) 213.97/145.77 new_primModNatS01(vyv331, vyv332, Succ(vyv3330), Zero) -> new_primModNatS02(vyv331, vyv332) 213.97/145.77 new_primModNatS1(Zero, vyv29200) -> Zero 213.97/145.77 new_esEs(Pos(Succ(vyv24300))) -> new_primEqInt(Pos(Succ(vyv24300))) 213.97/145.77 new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) 213.97/145.77 new_primEqInt(Pos(Zero)) -> True 213.97/145.77 new_primEqInt(Pos(Succ(vyv242000))) -> False 213.97/145.77 new_primMinusNatS2(Succ(vyv3110), Succ(vyv3120)) -> new_primMinusNatS2(vyv3110, vyv3120) 213.97/145.77 new_primModNatS01(vyv331, vyv332, Zero, Succ(vyv3340)) -> Succ(Succ(vyv331)) 213.97/145.77 new_primMinusNatS2(Zero, Zero) -> Zero 213.97/145.77 new_primMinusNatS2(Zero, Succ(vyv3120)) -> Zero 213.97/145.77 new_primMinusNatS2(Succ(vyv3110), Zero) -> Succ(vyv3110) 213.97/145.77 new_primMinusNatS1 -> Zero 213.97/145.77 new_primMinusNatS0(vyv271000) -> Succ(vyv271000) 213.97/145.77 new_esEs(Neg(Succ(vyv24300))) -> new_primEqInt(Neg(Succ(vyv24300))) 213.97/145.77 new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) 213.97/145.77 new_primEqInt(Neg(Zero)) -> True 213.97/145.77 new_primEqInt(Neg(Succ(vyv242000))) -> False 213.97/145.77 213.97/145.77 The set Q consists of the following terms: 213.97/145.77 213.97/145.77 new_primModNatS01(x0, x1, Succ(x2), Zero) 213.97/145.77 new_primModNatS1(Succ(Succ(x0)), Zero) 213.97/145.77 new_primMinusNatS1 213.97/145.77 new_primEqInt(Pos(Zero)) 213.97/145.77 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 213.97/145.77 new_esEs(Pos(Succ(x0))) 213.97/145.77 new_primModNatS1(Zero, x0) 213.97/145.77 new_primModNatS02(x0, x1) 213.97/145.77 new_primMinusNatS2(Zero, Zero) 213.97/145.77 new_primModNatS1(Succ(Zero), Zero) 213.97/145.77 new_primMinusNatS2(Succ(x0), Zero) 213.97/145.77 new_esEs(Pos(Zero)) 213.97/145.77 new_primMinusNatS0(x0) 213.97/145.77 new_primEqInt(Neg(Succ(x0))) 213.97/145.77 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 213.97/145.77 new_esEs(Neg(Succ(x0))) 213.97/145.77 new_primEqInt(Neg(Zero)) 213.97/145.77 new_primModNatS01(x0, x1, Zero, Zero) 213.97/145.77 new_primEqInt(Pos(Succ(x0))) 213.97/145.77 new_primMinusNatS2(Zero, Succ(x0)) 213.97/145.77 new_primModNatS1(Succ(Zero), Succ(x0)) 213.97/145.77 new_primMinusNatS2(Succ(x0), Succ(x1)) 213.97/145.77 new_primModNatS01(x0, x1, Zero, Succ(x2)) 213.97/145.77 new_esEs(Neg(Zero)) 213.97/145.77 213.97/145.77 We have to consider all minimal (P,Q,R)-chains. 213.97/145.77 ---------------------------------------- 213.97/145.77 213.97/145.77 (76) TransformationProof (EQUIVALENT) 213.97/145.77 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]: 213.97/145.77 213.97/145.77 (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)))) 213.97/145.77 213.97/145.77 213.97/145.77 ---------------------------------------- 213.97/145.77 213.97/145.77 (77) 213.97/145.77 Obligation: 213.97/145.77 Q DP problem: 213.97/145.77 The TRS P consists of the following rules: 213.97/145.77 213.97/145.77 new_gcd0Gcd'1(False, Pos(Succ(x1)), Neg(x0)) -> new_gcd0Gcd'0(Pos(Succ(x1)), Neg(new_primModNatS1(x0, x1))) 213.97/145.77 new_gcd0Gcd'1(False, Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 213.97/145.77 new_gcd0Gcd'0(Neg(x0), Pos(Succ(x1))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(x0, x1))), Pos(Succ(x1)), Neg(x0)) 213.97/145.77 new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 213.97/145.77 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)))) 213.97/145.77 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))) 213.97/145.77 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)))) 213.97/145.77 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))) 213.97/145.77 213.97/145.77 The TRS R consists of the following rules: 213.97/145.77 213.97/145.77 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 213.97/145.77 new_primModNatS1(Succ(Succ(vyv293000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv293000), Zero) 213.97/145.77 new_primModNatS1(Succ(Zero), Succ(vyv292000)) -> Succ(Zero) 213.97/145.77 new_primModNatS01(vyv331, vyv332, Zero, Zero) -> new_primModNatS02(vyv331, vyv332) 213.97/145.77 new_primModNatS02(vyv331, vyv332) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv331), Succ(vyv332)), Succ(vyv332)) 213.97/145.77 new_primModNatS1(Succ(Succ(vyv293000)), Succ(vyv292000)) -> new_primModNatS01(vyv293000, vyv292000, vyv293000, vyv292000) 213.97/145.77 new_primModNatS01(vyv331, vyv332, Succ(vyv3330), Succ(vyv3340)) -> new_primModNatS01(vyv331, vyv332, vyv3330, vyv3340) 213.97/145.77 new_primModNatS01(vyv331, vyv332, Succ(vyv3330), Zero) -> new_primModNatS02(vyv331, vyv332) 213.97/145.77 new_primModNatS1(Zero, vyv29200) -> Zero 213.97/145.77 new_esEs(Pos(Succ(vyv24300))) -> new_primEqInt(Pos(Succ(vyv24300))) 213.97/145.77 new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) 213.97/145.77 new_primEqInt(Pos(Zero)) -> True 213.97/145.77 new_primEqInt(Pos(Succ(vyv242000))) -> False 213.97/145.77 new_primMinusNatS2(Succ(vyv3110), Succ(vyv3120)) -> new_primMinusNatS2(vyv3110, vyv3120) 213.97/145.77 new_primModNatS01(vyv331, vyv332, Zero, Succ(vyv3340)) -> Succ(Succ(vyv331)) 213.97/145.77 new_primMinusNatS2(Zero, Zero) -> Zero 213.97/145.77 new_primMinusNatS2(Zero, Succ(vyv3120)) -> Zero 213.97/145.77 new_primMinusNatS2(Succ(vyv3110), Zero) -> Succ(vyv3110) 213.97/145.77 new_primMinusNatS1 -> Zero 213.97/145.77 new_primMinusNatS0(vyv271000) -> Succ(vyv271000) 213.97/145.77 new_esEs(Neg(Succ(vyv24300))) -> new_primEqInt(Neg(Succ(vyv24300))) 213.97/145.77 new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) 213.97/145.77 new_primEqInt(Neg(Zero)) -> True 213.97/145.77 new_primEqInt(Neg(Succ(vyv242000))) -> False 213.97/145.77 213.97/145.77 The set Q consists of the following terms: 213.97/145.77 213.97/145.77 new_primModNatS01(x0, x1, Succ(x2), Zero) 213.97/145.77 new_primModNatS1(Succ(Succ(x0)), Zero) 213.97/145.77 new_primMinusNatS1 213.97/145.77 new_primEqInt(Pos(Zero)) 213.97/145.77 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 213.97/145.77 new_esEs(Pos(Succ(x0))) 213.97/145.77 new_primModNatS1(Zero, x0) 213.97/145.77 new_primModNatS02(x0, x1) 213.97/145.77 new_primMinusNatS2(Zero, Zero) 213.97/145.77 new_primModNatS1(Succ(Zero), Zero) 213.97/145.77 new_primMinusNatS2(Succ(x0), Zero) 213.97/145.77 new_esEs(Pos(Zero)) 213.97/145.77 new_primMinusNatS0(x0) 213.97/145.77 new_primEqInt(Neg(Succ(x0))) 213.97/145.77 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 213.97/145.77 new_esEs(Neg(Succ(x0))) 213.97/145.77 new_primEqInt(Neg(Zero)) 213.97/145.77 new_primModNatS01(x0, x1, Zero, Zero) 213.97/145.77 new_primEqInt(Pos(Succ(x0))) 213.97/145.77 new_primMinusNatS2(Zero, Succ(x0)) 213.97/145.77 new_primModNatS1(Succ(Zero), Succ(x0)) 213.97/145.77 new_primMinusNatS2(Succ(x0), Succ(x1)) 213.97/145.77 new_primModNatS01(x0, x1, Zero, Succ(x2)) 213.97/145.77 new_esEs(Neg(Zero)) 213.97/145.77 213.97/145.77 We have to consider all minimal (P,Q,R)-chains. 213.97/145.77 ---------------------------------------- 213.97/145.77 213.97/145.77 (78) TransformationProof (EQUIVALENT) 213.97/145.77 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]: 213.97/145.77 213.97/145.77 (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)))) 213.97/145.77 213.97/145.77 213.97/145.77 ---------------------------------------- 213.97/145.77 213.97/145.77 (79) 213.97/145.77 Obligation: 213.97/145.77 Q DP problem: 213.97/145.77 The TRS P consists of the following rules: 213.97/145.77 213.97/145.77 new_gcd0Gcd'1(False, Pos(Succ(x1)), Neg(x0)) -> new_gcd0Gcd'0(Pos(Succ(x1)), Neg(new_primModNatS1(x0, x1))) 213.97/145.77 new_gcd0Gcd'1(False, Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 213.97/145.77 new_gcd0Gcd'0(Neg(x0), Pos(Succ(x1))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(x0, x1))), Pos(Succ(x1)), Neg(x0)) 213.97/145.77 new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 213.97/145.77 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)))) 213.97/145.77 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))) 213.97/145.77 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)))) 213.97/145.77 new_gcd0Gcd'0(Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 213.97/145.77 213.97/145.77 The TRS R consists of the following rules: 213.97/145.77 213.97/145.77 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 213.97/145.77 new_primModNatS1(Succ(Succ(vyv293000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv293000), Zero) 213.97/145.77 new_primModNatS1(Succ(Zero), Succ(vyv292000)) -> Succ(Zero) 213.97/145.77 new_primModNatS01(vyv331, vyv332, Zero, Zero) -> new_primModNatS02(vyv331, vyv332) 213.97/145.77 new_primModNatS02(vyv331, vyv332) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv331), Succ(vyv332)), Succ(vyv332)) 213.97/145.77 new_primModNatS1(Succ(Succ(vyv293000)), Succ(vyv292000)) -> new_primModNatS01(vyv293000, vyv292000, vyv293000, vyv292000) 213.97/145.77 new_primModNatS01(vyv331, vyv332, Succ(vyv3330), Succ(vyv3340)) -> new_primModNatS01(vyv331, vyv332, vyv3330, vyv3340) 213.97/145.77 new_primModNatS01(vyv331, vyv332, Succ(vyv3330), Zero) -> new_primModNatS02(vyv331, vyv332) 213.97/145.77 new_primModNatS1(Zero, vyv29200) -> Zero 213.97/145.77 new_esEs(Pos(Succ(vyv24300))) -> new_primEqInt(Pos(Succ(vyv24300))) 213.97/145.77 new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) 213.97/145.77 new_primEqInt(Pos(Zero)) -> True 213.97/145.77 new_primEqInt(Pos(Succ(vyv242000))) -> False 213.97/145.77 new_primMinusNatS2(Succ(vyv3110), Succ(vyv3120)) -> new_primMinusNatS2(vyv3110, vyv3120) 213.97/145.77 new_primModNatS01(vyv331, vyv332, Zero, Succ(vyv3340)) -> Succ(Succ(vyv331)) 213.97/145.77 new_primMinusNatS2(Zero, Zero) -> Zero 213.97/145.77 new_primMinusNatS2(Zero, Succ(vyv3120)) -> Zero 213.97/145.77 new_primMinusNatS2(Succ(vyv3110), Zero) -> Succ(vyv3110) 213.97/145.77 new_primMinusNatS1 -> Zero 213.97/145.77 new_primMinusNatS0(vyv271000) -> Succ(vyv271000) 213.97/145.77 new_esEs(Neg(Succ(vyv24300))) -> new_primEqInt(Neg(Succ(vyv24300))) 213.97/145.77 new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) 213.97/145.77 new_primEqInt(Neg(Zero)) -> True 213.97/145.77 new_primEqInt(Neg(Succ(vyv242000))) -> False 213.97/145.77 213.97/145.77 The set Q consists of the following terms: 213.97/145.77 213.97/145.77 new_primModNatS01(x0, x1, Succ(x2), Zero) 213.97/145.77 new_primModNatS1(Succ(Succ(x0)), Zero) 213.97/145.77 new_primMinusNatS1 213.97/145.77 new_primEqInt(Pos(Zero)) 213.97/145.77 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 213.97/145.77 new_esEs(Pos(Succ(x0))) 213.97/145.77 new_primModNatS1(Zero, x0) 213.97/145.77 new_primModNatS02(x0, x1) 213.97/145.77 new_primMinusNatS2(Zero, Zero) 213.97/145.77 new_primModNatS1(Succ(Zero), Zero) 213.97/145.77 new_primMinusNatS2(Succ(x0), Zero) 213.97/145.77 new_esEs(Pos(Zero)) 213.97/145.77 new_primMinusNatS0(x0) 213.97/145.77 new_primEqInt(Neg(Succ(x0))) 213.97/145.77 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 213.97/145.77 new_esEs(Neg(Succ(x0))) 213.97/145.77 new_primEqInt(Neg(Zero)) 213.97/145.77 new_primModNatS01(x0, x1, Zero, Zero) 213.97/145.77 new_primEqInt(Pos(Succ(x0))) 213.97/145.77 new_primMinusNatS2(Zero, Succ(x0)) 213.97/145.77 new_primModNatS1(Succ(Zero), Succ(x0)) 213.97/145.77 new_primMinusNatS2(Succ(x0), Succ(x1)) 213.97/145.77 new_primModNatS01(x0, x1, Zero, Succ(x2)) 213.97/145.77 new_esEs(Neg(Zero)) 213.97/145.77 213.97/145.77 We have to consider all minimal (P,Q,R)-chains. 213.97/145.77 ---------------------------------------- 213.97/145.77 213.97/145.77 (80) TransformationProof (EQUIVALENT) 213.97/145.77 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]: 213.97/145.77 213.97/145.77 (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)))) 213.97/145.77 (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)))) 213.97/145.77 (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)))) 213.97/145.77 (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)))) 213.97/145.77 (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))) 213.97/145.77 213.97/145.77 213.97/145.77 ---------------------------------------- 213.97/145.77 213.97/145.77 (81) 213.97/145.77 Obligation: 213.97/145.77 Q DP problem: 213.97/145.77 The TRS P consists of the following rules: 213.97/145.77 213.97/145.77 new_gcd0Gcd'1(False, Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 213.97/145.77 new_gcd0Gcd'0(Neg(x0), Pos(Succ(x1))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(x0, x1))), Pos(Succ(x1)), Neg(x0)) 213.97/145.77 new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 213.97/145.77 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)))) 213.97/145.77 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))) 213.97/145.77 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)))) 213.97/145.77 new_gcd0Gcd'0(Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 213.97/145.77 new_gcd0Gcd'1(False, Pos(Succ(Zero)), Neg(Succ(Zero))) -> new_gcd0Gcd'0(Pos(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS1, Zero))) 213.97/145.77 new_gcd0Gcd'1(False, Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Pos(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero))) 213.97/145.77 new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 213.97/145.77 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))) 213.97/145.77 new_gcd0Gcd'1(False, Pos(Succ(x0)), Neg(Zero)) -> new_gcd0Gcd'0(Pos(Succ(x0)), Neg(Zero)) 213.97/145.77 213.97/145.77 The TRS R consists of the following rules: 213.97/145.77 213.97/145.77 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 213.97/145.77 new_primModNatS1(Succ(Succ(vyv293000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv293000), Zero) 213.97/145.77 new_primModNatS1(Succ(Zero), Succ(vyv292000)) -> Succ(Zero) 213.97/145.77 new_primModNatS01(vyv331, vyv332, Zero, Zero) -> new_primModNatS02(vyv331, vyv332) 213.97/145.77 new_primModNatS02(vyv331, vyv332) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv331), Succ(vyv332)), Succ(vyv332)) 213.97/145.77 new_primModNatS1(Succ(Succ(vyv293000)), Succ(vyv292000)) -> new_primModNatS01(vyv293000, vyv292000, vyv293000, vyv292000) 213.97/145.77 new_primModNatS01(vyv331, vyv332, Succ(vyv3330), Succ(vyv3340)) -> new_primModNatS01(vyv331, vyv332, vyv3330, vyv3340) 213.97/145.77 new_primModNatS01(vyv331, vyv332, Succ(vyv3330), Zero) -> new_primModNatS02(vyv331, vyv332) 213.97/145.77 new_primModNatS1(Zero, vyv29200) -> Zero 213.97/145.77 new_esEs(Pos(Succ(vyv24300))) -> new_primEqInt(Pos(Succ(vyv24300))) 213.97/145.77 new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) 213.97/145.77 new_primEqInt(Pos(Zero)) -> True 213.97/145.77 new_primEqInt(Pos(Succ(vyv242000))) -> False 213.97/145.77 new_primMinusNatS2(Succ(vyv3110), Succ(vyv3120)) -> new_primMinusNatS2(vyv3110, vyv3120) 213.97/145.77 new_primModNatS01(vyv331, vyv332, Zero, Succ(vyv3340)) -> Succ(Succ(vyv331)) 213.97/145.77 new_primMinusNatS2(Zero, Zero) -> Zero 213.97/145.77 new_primMinusNatS2(Zero, Succ(vyv3120)) -> Zero 213.97/145.77 new_primMinusNatS2(Succ(vyv3110), Zero) -> Succ(vyv3110) 213.97/145.77 new_primMinusNatS1 -> Zero 213.97/145.77 new_primMinusNatS0(vyv271000) -> Succ(vyv271000) 213.97/145.77 new_esEs(Neg(Succ(vyv24300))) -> new_primEqInt(Neg(Succ(vyv24300))) 213.97/145.77 new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) 213.97/145.77 new_primEqInt(Neg(Zero)) -> True 213.97/145.77 new_primEqInt(Neg(Succ(vyv242000))) -> False 213.97/145.77 213.97/145.77 The set Q consists of the following terms: 213.97/145.77 213.97/145.77 new_primModNatS01(x0, x1, Succ(x2), Zero) 213.97/145.77 new_primModNatS1(Succ(Succ(x0)), Zero) 213.97/145.77 new_primMinusNatS1 213.97/145.77 new_primEqInt(Pos(Zero)) 213.97/145.77 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 213.97/145.77 new_esEs(Pos(Succ(x0))) 213.97/145.77 new_primModNatS1(Zero, x0) 213.97/145.77 new_primModNatS02(x0, x1) 213.97/145.77 new_primMinusNatS2(Zero, Zero) 213.97/145.77 new_primModNatS1(Succ(Zero), Zero) 213.97/145.77 new_primMinusNatS2(Succ(x0), Zero) 213.97/145.77 new_esEs(Pos(Zero)) 213.97/145.77 new_primMinusNatS0(x0) 213.97/145.77 new_primEqInt(Neg(Succ(x0))) 213.97/145.77 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 213.97/145.77 new_esEs(Neg(Succ(x0))) 213.97/145.77 new_primEqInt(Neg(Zero)) 213.97/145.77 new_primModNatS01(x0, x1, Zero, Zero) 213.97/145.77 new_primEqInt(Pos(Succ(x0))) 213.97/145.77 new_primMinusNatS2(Zero, Succ(x0)) 213.97/145.77 new_primModNatS1(Succ(Zero), Succ(x0)) 213.97/145.77 new_primMinusNatS2(Succ(x0), Succ(x1)) 213.97/145.77 new_primModNatS01(x0, x1, Zero, Succ(x2)) 213.97/145.77 new_esEs(Neg(Zero)) 213.97/145.77 213.97/145.77 We have to consider all minimal (P,Q,R)-chains. 213.97/145.77 ---------------------------------------- 213.97/145.77 213.97/145.77 (82) DependencyGraphProof (EQUIVALENT) 213.97/145.77 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. 213.97/145.77 ---------------------------------------- 213.97/145.77 213.97/145.77 (83) 213.97/145.77 Obligation: 213.97/145.77 Q DP problem: 213.97/145.77 The TRS P consists of the following rules: 213.97/145.77 213.97/145.77 new_gcd0Gcd'0(Neg(x0), Pos(Succ(x1))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(x0, x1))), Pos(Succ(x1)), Neg(x0)) 213.97/145.77 new_gcd0Gcd'1(False, Pos(Succ(Zero)), Neg(Succ(Zero))) -> new_gcd0Gcd'0(Pos(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS1, Zero))) 213.97/145.77 new_gcd0Gcd'0(Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 213.97/145.77 new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 213.97/145.77 new_gcd0Gcd'1(False, Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Pos(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero))) 213.97/145.77 new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 213.97/145.77 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)))) 213.97/145.77 new_gcd0Gcd'1(False, Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 213.97/145.77 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))) 213.97/145.77 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)))) 213.97/145.77 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))) 213.97/145.77 213.97/145.77 The TRS R consists of the following rules: 213.97/145.77 213.97/145.77 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 213.97/145.77 new_primModNatS1(Succ(Succ(vyv293000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv293000), Zero) 213.97/145.77 new_primModNatS1(Succ(Zero), Succ(vyv292000)) -> Succ(Zero) 213.97/145.77 new_primModNatS01(vyv331, vyv332, Zero, Zero) -> new_primModNatS02(vyv331, vyv332) 213.97/145.77 new_primModNatS02(vyv331, vyv332) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv331), Succ(vyv332)), Succ(vyv332)) 213.97/145.77 new_primModNatS1(Succ(Succ(vyv293000)), Succ(vyv292000)) -> new_primModNatS01(vyv293000, vyv292000, vyv293000, vyv292000) 213.97/145.77 new_primModNatS01(vyv331, vyv332, Succ(vyv3330), Succ(vyv3340)) -> new_primModNatS01(vyv331, vyv332, vyv3330, vyv3340) 213.97/145.77 new_primModNatS01(vyv331, vyv332, Succ(vyv3330), Zero) -> new_primModNatS02(vyv331, vyv332) 213.97/145.77 new_primModNatS1(Zero, vyv29200) -> Zero 213.97/145.77 new_esEs(Pos(Succ(vyv24300))) -> new_primEqInt(Pos(Succ(vyv24300))) 213.97/145.77 new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) 213.97/145.77 new_primEqInt(Pos(Zero)) -> True 213.97/145.77 new_primEqInt(Pos(Succ(vyv242000))) -> False 213.97/145.77 new_primMinusNatS2(Succ(vyv3110), Succ(vyv3120)) -> new_primMinusNatS2(vyv3110, vyv3120) 213.97/145.77 new_primModNatS01(vyv331, vyv332, Zero, Succ(vyv3340)) -> Succ(Succ(vyv331)) 213.97/145.77 new_primMinusNatS2(Zero, Zero) -> Zero 213.97/145.77 new_primMinusNatS2(Zero, Succ(vyv3120)) -> Zero 213.97/145.77 new_primMinusNatS2(Succ(vyv3110), Zero) -> Succ(vyv3110) 213.97/145.77 new_primMinusNatS1 -> Zero 213.97/145.77 new_primMinusNatS0(vyv271000) -> Succ(vyv271000) 213.97/145.77 new_esEs(Neg(Succ(vyv24300))) -> new_primEqInt(Neg(Succ(vyv24300))) 213.97/145.77 new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) 213.97/145.77 new_primEqInt(Neg(Zero)) -> True 213.97/145.77 new_primEqInt(Neg(Succ(vyv242000))) -> False 213.97/145.77 213.97/145.77 The set Q consists of the following terms: 213.97/145.77 213.97/145.77 new_primModNatS01(x0, x1, Succ(x2), Zero) 213.97/145.77 new_primModNatS1(Succ(Succ(x0)), Zero) 213.97/145.77 new_primMinusNatS1 213.97/145.77 new_primEqInt(Pos(Zero)) 213.97/145.77 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 213.97/145.77 new_esEs(Pos(Succ(x0))) 213.97/145.77 new_primModNatS1(Zero, x0) 213.97/145.77 new_primModNatS02(x0, x1) 213.97/145.77 new_primMinusNatS2(Zero, Zero) 213.97/145.77 new_primModNatS1(Succ(Zero), Zero) 213.97/145.77 new_primMinusNatS2(Succ(x0), Zero) 213.97/145.77 new_esEs(Pos(Zero)) 213.97/145.77 new_primMinusNatS0(x0) 213.97/145.77 new_primEqInt(Neg(Succ(x0))) 213.97/145.77 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 213.97/145.77 new_esEs(Neg(Succ(x0))) 213.97/145.77 new_primEqInt(Neg(Zero)) 213.97/145.77 new_primModNatS01(x0, x1, Zero, Zero) 213.97/145.77 new_primEqInt(Pos(Succ(x0))) 213.97/145.77 new_primMinusNatS2(Zero, Succ(x0)) 213.97/145.77 new_primModNatS1(Succ(Zero), Succ(x0)) 213.97/145.77 new_primMinusNatS2(Succ(x0), Succ(x1)) 213.97/145.77 new_primModNatS01(x0, x1, Zero, Succ(x2)) 213.97/145.77 new_esEs(Neg(Zero)) 213.97/145.77 213.97/145.77 We have to consider all minimal (P,Q,R)-chains. 213.97/145.77 ---------------------------------------- 213.97/145.77 213.97/145.77 (84) TransformationProof (EQUIVALENT) 213.97/145.77 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]: 213.97/145.77 213.97/145.77 (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)))) 213.97/145.77 213.97/145.77 213.97/145.77 ---------------------------------------- 213.97/145.77 213.97/145.77 (85) 213.97/145.77 Obligation: 213.97/145.77 Q DP problem: 213.97/145.77 The TRS P consists of the following rules: 213.97/145.77 213.97/145.77 new_gcd0Gcd'0(Neg(x0), Pos(Succ(x1))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(x0, x1))), Pos(Succ(x1)), Neg(x0)) 213.97/145.77 new_gcd0Gcd'0(Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 213.97/145.77 new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 213.97/145.77 new_gcd0Gcd'1(False, Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Pos(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero))) 213.97/145.77 new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 213.97/145.77 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)))) 213.97/145.77 new_gcd0Gcd'1(False, Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 213.97/145.77 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))) 213.97/145.77 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)))) 213.97/145.77 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))) 213.97/145.77 new_gcd0Gcd'1(False, Pos(Succ(Zero)), Neg(Succ(Zero))) -> new_gcd0Gcd'0(Pos(Succ(Zero)), Neg(new_primModNatS1(Zero, Zero))) 213.97/145.77 213.97/145.77 The TRS R consists of the following rules: 213.97/145.77 213.97/145.77 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 213.97/145.77 new_primModNatS1(Succ(Succ(vyv293000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv293000), Zero) 213.97/145.77 new_primModNatS1(Succ(Zero), Succ(vyv292000)) -> Succ(Zero) 213.97/145.77 new_primModNatS01(vyv331, vyv332, Zero, Zero) -> new_primModNatS02(vyv331, vyv332) 213.97/145.77 new_primModNatS02(vyv331, vyv332) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv331), Succ(vyv332)), Succ(vyv332)) 213.97/145.77 new_primModNatS1(Succ(Succ(vyv293000)), Succ(vyv292000)) -> new_primModNatS01(vyv293000, vyv292000, vyv293000, vyv292000) 213.97/145.77 new_primModNatS01(vyv331, vyv332, Succ(vyv3330), Succ(vyv3340)) -> new_primModNatS01(vyv331, vyv332, vyv3330, vyv3340) 213.97/145.77 new_primModNatS01(vyv331, vyv332, Succ(vyv3330), Zero) -> new_primModNatS02(vyv331, vyv332) 213.97/145.77 new_primModNatS1(Zero, vyv29200) -> Zero 213.97/145.77 new_esEs(Pos(Succ(vyv24300))) -> new_primEqInt(Pos(Succ(vyv24300))) 213.97/145.77 new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) 213.97/145.77 new_primEqInt(Pos(Zero)) -> True 213.97/145.77 new_primEqInt(Pos(Succ(vyv242000))) -> False 213.97/145.77 new_primMinusNatS2(Succ(vyv3110), Succ(vyv3120)) -> new_primMinusNatS2(vyv3110, vyv3120) 213.97/145.77 new_primModNatS01(vyv331, vyv332, Zero, Succ(vyv3340)) -> Succ(Succ(vyv331)) 213.97/145.77 new_primMinusNatS2(Zero, Zero) -> Zero 213.97/145.77 new_primMinusNatS2(Zero, Succ(vyv3120)) -> Zero 213.97/145.77 new_primMinusNatS2(Succ(vyv3110), Zero) -> Succ(vyv3110) 213.97/145.77 new_primMinusNatS1 -> Zero 213.97/145.77 new_primMinusNatS0(vyv271000) -> Succ(vyv271000) 213.97/145.77 new_esEs(Neg(Succ(vyv24300))) -> new_primEqInt(Neg(Succ(vyv24300))) 213.97/145.77 new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) 213.97/145.77 new_primEqInt(Neg(Zero)) -> True 213.97/145.77 new_primEqInt(Neg(Succ(vyv242000))) -> False 213.97/145.77 213.97/145.77 The set Q consists of the following terms: 213.97/145.77 213.97/145.77 new_primModNatS01(x0, x1, Succ(x2), Zero) 213.97/145.77 new_primModNatS1(Succ(Succ(x0)), Zero) 213.97/145.77 new_primMinusNatS1 213.97/145.77 new_primEqInt(Pos(Zero)) 213.97/145.77 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 213.97/145.77 new_esEs(Pos(Succ(x0))) 213.97/145.77 new_primModNatS1(Zero, x0) 213.97/145.77 new_primModNatS02(x0, x1) 213.97/145.77 new_primMinusNatS2(Zero, Zero) 213.97/145.77 new_primModNatS1(Succ(Zero), Zero) 213.97/145.77 new_primMinusNatS2(Succ(x0), Zero) 213.97/145.77 new_esEs(Pos(Zero)) 213.97/145.77 new_primMinusNatS0(x0) 213.97/145.77 new_primEqInt(Neg(Succ(x0))) 213.97/145.77 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 213.97/145.77 new_esEs(Neg(Succ(x0))) 213.97/145.77 new_primEqInt(Neg(Zero)) 213.97/145.77 new_primModNatS01(x0, x1, Zero, Zero) 213.97/145.77 new_primEqInt(Pos(Succ(x0))) 213.97/145.77 new_primMinusNatS2(Zero, Succ(x0)) 213.97/145.77 new_primModNatS1(Succ(Zero), Succ(x0)) 213.97/145.77 new_primMinusNatS2(Succ(x0), Succ(x1)) 213.97/145.77 new_primModNatS01(x0, x1, Zero, Succ(x2)) 213.97/145.77 new_esEs(Neg(Zero)) 213.97/145.77 213.97/145.77 We have to consider all minimal (P,Q,R)-chains. 213.97/145.77 ---------------------------------------- 213.97/145.77 213.97/145.77 (86) DependencyGraphProof (EQUIVALENT) 213.97/145.77 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. 213.97/145.77 ---------------------------------------- 213.97/145.77 213.97/145.77 (87) 213.97/145.77 Obligation: 213.97/145.77 Q DP problem: 213.97/145.77 The TRS P consists of the following rules: 213.97/145.77 213.97/145.77 new_gcd0Gcd'1(False, Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Pos(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero))) 213.97/145.77 new_gcd0Gcd'0(Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 213.97/145.77 new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 213.97/145.77 new_gcd0Gcd'0(Neg(x0), Pos(Succ(x1))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(x0, x1))), Pos(Succ(x1)), Neg(x0)) 213.97/145.77 new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 213.97/145.77 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)))) 213.97/145.77 new_gcd0Gcd'1(False, Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 213.97/145.77 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))) 213.97/145.77 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)))) 213.97/145.77 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))) 213.97/145.77 213.97/145.77 The TRS R consists of the following rules: 213.97/145.77 213.97/145.77 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 213.97/145.77 new_primModNatS1(Succ(Succ(vyv293000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv293000), Zero) 213.97/145.77 new_primModNatS1(Succ(Zero), Succ(vyv292000)) -> Succ(Zero) 213.97/145.77 new_primModNatS01(vyv331, vyv332, Zero, Zero) -> new_primModNatS02(vyv331, vyv332) 213.97/145.77 new_primModNatS02(vyv331, vyv332) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv331), Succ(vyv332)), Succ(vyv332)) 213.97/145.77 new_primModNatS1(Succ(Succ(vyv293000)), Succ(vyv292000)) -> new_primModNatS01(vyv293000, vyv292000, vyv293000, vyv292000) 213.97/145.77 new_primModNatS01(vyv331, vyv332, Succ(vyv3330), Succ(vyv3340)) -> new_primModNatS01(vyv331, vyv332, vyv3330, vyv3340) 213.97/145.77 new_primModNatS01(vyv331, vyv332, Succ(vyv3330), Zero) -> new_primModNatS02(vyv331, vyv332) 213.97/145.77 new_primModNatS1(Zero, vyv29200) -> Zero 213.97/145.77 new_esEs(Pos(Succ(vyv24300))) -> new_primEqInt(Pos(Succ(vyv24300))) 213.97/145.77 new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) 213.97/145.77 new_primEqInt(Pos(Zero)) -> True 213.97/145.77 new_primEqInt(Pos(Succ(vyv242000))) -> False 213.97/145.77 new_primMinusNatS2(Succ(vyv3110), Succ(vyv3120)) -> new_primMinusNatS2(vyv3110, vyv3120) 213.97/145.77 new_primModNatS01(vyv331, vyv332, Zero, Succ(vyv3340)) -> Succ(Succ(vyv331)) 213.97/145.77 new_primMinusNatS2(Zero, Zero) -> Zero 213.97/145.77 new_primMinusNatS2(Zero, Succ(vyv3120)) -> Zero 213.97/145.77 new_primMinusNatS2(Succ(vyv3110), Zero) -> Succ(vyv3110) 213.97/145.77 new_primMinusNatS1 -> Zero 213.97/145.77 new_primMinusNatS0(vyv271000) -> Succ(vyv271000) 213.97/145.77 new_esEs(Neg(Succ(vyv24300))) -> new_primEqInt(Neg(Succ(vyv24300))) 213.97/145.77 new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) 213.97/145.77 new_primEqInt(Neg(Zero)) -> True 213.97/145.77 new_primEqInt(Neg(Succ(vyv242000))) -> False 213.97/145.77 213.97/145.77 The set Q consists of the following terms: 213.97/145.77 213.97/145.77 new_primModNatS01(x0, x1, Succ(x2), Zero) 213.97/145.77 new_primModNatS1(Succ(Succ(x0)), Zero) 213.97/145.77 new_primMinusNatS1 213.97/145.77 new_primEqInt(Pos(Zero)) 213.97/145.77 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 213.97/145.77 new_esEs(Pos(Succ(x0))) 213.97/145.77 new_primModNatS1(Zero, x0) 213.97/145.77 new_primModNatS02(x0, x1) 213.97/145.77 new_primMinusNatS2(Zero, Zero) 213.97/145.77 new_primModNatS1(Succ(Zero), Zero) 213.97/145.77 new_primMinusNatS2(Succ(x0), Zero) 213.97/145.77 new_esEs(Pos(Zero)) 213.97/145.77 new_primMinusNatS0(x0) 213.97/145.77 new_primEqInt(Neg(Succ(x0))) 213.97/145.77 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 213.97/145.77 new_esEs(Neg(Succ(x0))) 213.97/145.77 new_primEqInt(Neg(Zero)) 213.97/145.77 new_primModNatS01(x0, x1, Zero, Zero) 213.97/145.77 new_primEqInt(Pos(Succ(x0))) 213.97/145.77 new_primMinusNatS2(Zero, Succ(x0)) 213.97/145.77 new_primModNatS1(Succ(Zero), Succ(x0)) 213.97/145.77 new_primMinusNatS2(Succ(x0), Succ(x1)) 213.97/145.77 new_primModNatS01(x0, x1, Zero, Succ(x2)) 213.97/145.77 new_esEs(Neg(Zero)) 213.97/145.77 213.97/145.77 We have to consider all minimal (P,Q,R)-chains. 213.97/145.77 ---------------------------------------- 213.97/145.77 213.97/145.77 (88) TransformationProof (EQUIVALENT) 213.97/145.77 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]: 213.97/145.77 213.97/145.77 (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)))) 213.97/145.77 213.97/145.77 213.97/145.77 ---------------------------------------- 213.97/145.77 213.97/145.77 (89) 213.97/145.77 Obligation: 213.97/145.77 Q DP problem: 213.97/145.77 The TRS P consists of the following rules: 213.97/145.77 213.97/145.77 new_gcd0Gcd'0(Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 213.97/145.77 new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 213.97/145.77 new_gcd0Gcd'0(Neg(x0), Pos(Succ(x1))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(x0, x1))), Pos(Succ(x1)), Neg(x0)) 213.97/145.77 new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 213.97/145.77 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)))) 213.97/145.77 new_gcd0Gcd'1(False, Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 213.97/145.77 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))) 213.97/145.77 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)))) 213.97/145.77 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))) 213.97/145.77 new_gcd0Gcd'1(False, Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 213.97/145.77 213.97/145.77 The TRS R consists of the following rules: 213.97/145.77 213.97/145.77 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 213.97/145.77 new_primModNatS1(Succ(Succ(vyv293000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv293000), Zero) 213.97/145.77 new_primModNatS1(Succ(Zero), Succ(vyv292000)) -> Succ(Zero) 213.97/145.77 new_primModNatS01(vyv331, vyv332, Zero, Zero) -> new_primModNatS02(vyv331, vyv332) 213.97/145.77 new_primModNatS02(vyv331, vyv332) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv331), Succ(vyv332)), Succ(vyv332)) 213.97/145.77 new_primModNatS1(Succ(Succ(vyv293000)), Succ(vyv292000)) -> new_primModNatS01(vyv293000, vyv292000, vyv293000, vyv292000) 213.97/145.77 new_primModNatS01(vyv331, vyv332, Succ(vyv3330), Succ(vyv3340)) -> new_primModNatS01(vyv331, vyv332, vyv3330, vyv3340) 213.97/145.77 new_primModNatS01(vyv331, vyv332, Succ(vyv3330), Zero) -> new_primModNatS02(vyv331, vyv332) 213.97/145.77 new_primModNatS1(Zero, vyv29200) -> Zero 213.97/145.77 new_esEs(Pos(Succ(vyv24300))) -> new_primEqInt(Pos(Succ(vyv24300))) 213.97/145.77 new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) 213.97/145.77 new_primEqInt(Pos(Zero)) -> True 213.97/145.77 new_primEqInt(Pos(Succ(vyv242000))) -> False 213.97/145.77 new_primMinusNatS2(Succ(vyv3110), Succ(vyv3120)) -> new_primMinusNatS2(vyv3110, vyv3120) 213.97/145.77 new_primModNatS01(vyv331, vyv332, Zero, Succ(vyv3340)) -> Succ(Succ(vyv331)) 213.97/145.77 new_primMinusNatS2(Zero, Zero) -> Zero 213.97/145.77 new_primMinusNatS2(Zero, Succ(vyv3120)) -> Zero 213.97/145.77 new_primMinusNatS2(Succ(vyv3110), Zero) -> Succ(vyv3110) 213.97/145.77 new_primMinusNatS1 -> Zero 213.97/145.77 new_primMinusNatS0(vyv271000) -> Succ(vyv271000) 213.97/145.77 new_esEs(Neg(Succ(vyv24300))) -> new_primEqInt(Neg(Succ(vyv24300))) 213.97/145.77 new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) 213.97/145.77 new_primEqInt(Neg(Zero)) -> True 213.97/145.77 new_primEqInt(Neg(Succ(vyv242000))) -> False 213.97/145.77 213.97/145.77 The set Q consists of the following terms: 213.97/145.77 213.97/145.77 new_primModNatS01(x0, x1, Succ(x2), Zero) 213.97/145.77 new_primModNatS1(Succ(Succ(x0)), Zero) 213.97/145.77 new_primMinusNatS1 213.97/145.77 new_primEqInt(Pos(Zero)) 213.97/145.77 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 213.97/145.77 new_esEs(Pos(Succ(x0))) 213.97/145.77 new_primModNatS1(Zero, x0) 213.97/145.77 new_primModNatS02(x0, x1) 213.97/145.77 new_primMinusNatS2(Zero, Zero) 213.97/145.77 new_primModNatS1(Succ(Zero), Zero) 213.97/145.77 new_primMinusNatS2(Succ(x0), Zero) 213.97/145.77 new_esEs(Pos(Zero)) 213.97/145.77 new_primMinusNatS0(x0) 213.97/145.77 new_primEqInt(Neg(Succ(x0))) 213.97/145.77 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 213.97/145.77 new_esEs(Neg(Succ(x0))) 213.97/145.77 new_primEqInt(Neg(Zero)) 213.97/145.77 new_primModNatS01(x0, x1, Zero, Zero) 213.97/145.77 new_primEqInt(Pos(Succ(x0))) 213.97/145.77 new_primMinusNatS2(Zero, Succ(x0)) 213.97/145.77 new_primModNatS1(Succ(Zero), Succ(x0)) 213.97/145.77 new_primMinusNatS2(Succ(x0), Succ(x1)) 213.97/145.77 new_primModNatS01(x0, x1, Zero, Succ(x2)) 213.97/145.77 new_esEs(Neg(Zero)) 213.97/145.77 213.97/145.77 We have to consider all minimal (P,Q,R)-chains. 213.97/145.77 ---------------------------------------- 213.97/145.77 213.97/145.77 (90) TransformationProof (EQUIVALENT) 213.97/145.77 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]: 213.97/145.77 213.97/145.77 (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)))) 213.97/145.77 (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))))) 213.97/145.77 (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)))) 213.97/145.77 (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))))) 213.97/145.77 (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))) 213.97/145.77 213.97/145.77 213.97/145.77 ---------------------------------------- 213.97/145.77 213.97/145.77 (91) 213.97/145.77 Obligation: 213.97/145.77 Q DP problem: 213.97/145.77 The TRS P consists of the following rules: 213.97/145.77 213.97/145.77 new_gcd0Gcd'0(Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 213.97/145.77 new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 213.97/145.77 new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 213.97/145.77 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)))) 213.97/145.77 new_gcd0Gcd'1(False, Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 213.97/145.77 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))) 213.97/145.77 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)))) 213.97/145.77 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))) 213.97/145.77 new_gcd0Gcd'1(False, Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 213.97/145.77 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))) 213.97/145.77 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)))) 213.97/145.77 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))) 213.97/145.77 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)))) 213.97/145.77 new_gcd0Gcd'0(Neg(Zero), Pos(Succ(x0))) -> new_gcd0Gcd'1(new_esEs(Neg(Zero)), Pos(Succ(x0)), Neg(Zero)) 213.97/145.77 213.97/145.77 The TRS R consists of the following rules: 213.97/145.77 213.97/145.77 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 213.97/145.77 new_primModNatS1(Succ(Succ(vyv293000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv293000), Zero) 213.97/145.77 new_primModNatS1(Succ(Zero), Succ(vyv292000)) -> Succ(Zero) 213.97/145.77 new_primModNatS01(vyv331, vyv332, Zero, Zero) -> new_primModNatS02(vyv331, vyv332) 213.97/145.77 new_primModNatS02(vyv331, vyv332) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv331), Succ(vyv332)), Succ(vyv332)) 213.97/145.77 new_primModNatS1(Succ(Succ(vyv293000)), Succ(vyv292000)) -> new_primModNatS01(vyv293000, vyv292000, vyv293000, vyv292000) 213.97/145.77 new_primModNatS01(vyv331, vyv332, Succ(vyv3330), Succ(vyv3340)) -> new_primModNatS01(vyv331, vyv332, vyv3330, vyv3340) 213.97/145.77 new_primModNatS01(vyv331, vyv332, Succ(vyv3330), Zero) -> new_primModNatS02(vyv331, vyv332) 213.97/145.77 new_primModNatS1(Zero, vyv29200) -> Zero 213.97/145.77 new_esEs(Pos(Succ(vyv24300))) -> new_primEqInt(Pos(Succ(vyv24300))) 213.97/145.77 new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) 213.97/145.77 new_primEqInt(Pos(Zero)) -> True 213.97/145.77 new_primEqInt(Pos(Succ(vyv242000))) -> False 213.97/145.77 new_primMinusNatS2(Succ(vyv3110), Succ(vyv3120)) -> new_primMinusNatS2(vyv3110, vyv3120) 213.97/145.77 new_primModNatS01(vyv331, vyv332, Zero, Succ(vyv3340)) -> Succ(Succ(vyv331)) 213.97/145.77 new_primMinusNatS2(Zero, Zero) -> Zero 213.97/145.77 new_primMinusNatS2(Zero, Succ(vyv3120)) -> Zero 213.97/145.77 new_primMinusNatS2(Succ(vyv3110), Zero) -> Succ(vyv3110) 213.97/145.77 new_primMinusNatS1 -> Zero 213.97/145.77 new_primMinusNatS0(vyv271000) -> Succ(vyv271000) 213.97/145.77 new_esEs(Neg(Succ(vyv24300))) -> new_primEqInt(Neg(Succ(vyv24300))) 213.97/145.77 new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) 213.97/145.77 new_primEqInt(Neg(Zero)) -> True 213.97/145.77 new_primEqInt(Neg(Succ(vyv242000))) -> False 213.97/145.77 213.97/145.77 The set Q consists of the following terms: 213.97/145.77 213.97/145.77 new_primModNatS01(x0, x1, Succ(x2), Zero) 213.97/145.77 new_primModNatS1(Succ(Succ(x0)), Zero) 213.97/145.77 new_primMinusNatS1 213.97/145.77 new_primEqInt(Pos(Zero)) 213.97/145.77 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 213.97/145.77 new_esEs(Pos(Succ(x0))) 213.97/145.77 new_primModNatS1(Zero, x0) 213.97/145.77 new_primModNatS02(x0, x1) 213.97/145.77 new_primMinusNatS2(Zero, Zero) 213.97/145.77 new_primModNatS1(Succ(Zero), Zero) 213.97/145.77 new_primMinusNatS2(Succ(x0), Zero) 213.97/145.77 new_esEs(Pos(Zero)) 213.97/145.77 new_primMinusNatS0(x0) 213.97/145.77 new_primEqInt(Neg(Succ(x0))) 213.97/145.77 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 213.97/145.77 new_esEs(Neg(Succ(x0))) 213.97/145.77 new_primEqInt(Neg(Zero)) 213.97/145.77 new_primModNatS01(x0, x1, Zero, Zero) 213.97/145.77 new_primEqInt(Pos(Succ(x0))) 213.97/145.77 new_primMinusNatS2(Zero, Succ(x0)) 213.97/145.77 new_primModNatS1(Succ(Zero), Succ(x0)) 213.97/145.77 new_primMinusNatS2(Succ(x0), Succ(x1)) 213.97/145.77 new_primModNatS01(x0, x1, Zero, Succ(x2)) 213.97/145.77 new_esEs(Neg(Zero)) 213.97/145.77 213.97/145.77 We have to consider all minimal (P,Q,R)-chains. 213.97/145.77 ---------------------------------------- 213.97/145.77 213.97/145.77 (92) DependencyGraphProof (EQUIVALENT) 213.97/145.77 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 3 SCCs with 2 less nodes. 213.97/145.77 ---------------------------------------- 213.97/145.77 213.97/145.77 (93) 213.97/145.77 Complex Obligation (AND) 213.97/145.77 213.97/145.77 ---------------------------------------- 213.97/145.77 213.97/145.77 (94) 213.97/145.77 Obligation: 213.97/145.77 Q DP problem: 213.97/145.77 The TRS P consists of the following rules: 213.97/145.77 213.97/145.77 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)))) 213.97/145.77 new_gcd0Gcd'1(False, Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 213.97/145.77 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))) 213.97/145.77 new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 213.97/145.77 213.97/145.77 The TRS R consists of the following rules: 213.97/145.77 213.97/145.77 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 213.97/145.77 new_primModNatS1(Succ(Succ(vyv293000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv293000), Zero) 213.97/145.77 new_primModNatS1(Succ(Zero), Succ(vyv292000)) -> Succ(Zero) 213.97/145.77 new_primModNatS01(vyv331, vyv332, Zero, Zero) -> new_primModNatS02(vyv331, vyv332) 213.97/145.77 new_primModNatS02(vyv331, vyv332) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv331), Succ(vyv332)), Succ(vyv332)) 213.97/145.77 new_primModNatS1(Succ(Succ(vyv293000)), Succ(vyv292000)) -> new_primModNatS01(vyv293000, vyv292000, vyv293000, vyv292000) 213.97/145.77 new_primModNatS01(vyv331, vyv332, Succ(vyv3330), Succ(vyv3340)) -> new_primModNatS01(vyv331, vyv332, vyv3330, vyv3340) 213.97/145.77 new_primModNatS01(vyv331, vyv332, Succ(vyv3330), Zero) -> new_primModNatS02(vyv331, vyv332) 213.97/145.77 new_primModNatS1(Zero, vyv29200) -> Zero 213.97/145.77 new_esEs(Pos(Succ(vyv24300))) -> new_primEqInt(Pos(Succ(vyv24300))) 213.97/145.77 new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) 213.97/145.77 new_primEqInt(Pos(Zero)) -> True 213.97/145.77 new_primEqInt(Pos(Succ(vyv242000))) -> False 213.97/145.77 new_primMinusNatS2(Succ(vyv3110), Succ(vyv3120)) -> new_primMinusNatS2(vyv3110, vyv3120) 213.97/145.77 new_primModNatS01(vyv331, vyv332, Zero, Succ(vyv3340)) -> Succ(Succ(vyv331)) 213.97/145.77 new_primMinusNatS2(Zero, Zero) -> Zero 213.97/145.77 new_primMinusNatS2(Zero, Succ(vyv3120)) -> Zero 213.97/145.77 new_primMinusNatS2(Succ(vyv3110), Zero) -> Succ(vyv3110) 213.97/145.77 new_primMinusNatS1 -> Zero 213.97/145.77 new_primMinusNatS0(vyv271000) -> Succ(vyv271000) 213.97/145.77 new_esEs(Neg(Succ(vyv24300))) -> new_primEqInt(Neg(Succ(vyv24300))) 213.97/145.77 new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) 213.97/145.77 new_primEqInt(Neg(Zero)) -> True 213.97/145.77 new_primEqInt(Neg(Succ(vyv242000))) -> False 213.97/145.77 213.97/145.77 The set Q consists of the following terms: 213.97/145.77 213.97/145.77 new_primModNatS01(x0, x1, Succ(x2), Zero) 213.97/145.77 new_primModNatS1(Succ(Succ(x0)), Zero) 213.97/145.77 new_primMinusNatS1 213.97/145.77 new_primEqInt(Pos(Zero)) 213.97/145.77 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 213.97/145.77 new_esEs(Pos(Succ(x0))) 213.97/145.77 new_primModNatS1(Zero, x0) 213.97/145.77 new_primModNatS02(x0, x1) 213.97/145.77 new_primMinusNatS2(Zero, Zero) 213.97/145.77 new_primModNatS1(Succ(Zero), Zero) 213.97/145.77 new_primMinusNatS2(Succ(x0), Zero) 213.97/145.77 new_esEs(Pos(Zero)) 213.97/145.77 new_primMinusNatS0(x0) 213.97/145.77 new_primEqInt(Neg(Succ(x0))) 213.97/145.77 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 213.97/145.77 new_esEs(Neg(Succ(x0))) 213.97/145.77 new_primEqInt(Neg(Zero)) 213.97/145.77 new_primModNatS01(x0, x1, Zero, Zero) 213.97/145.77 new_primEqInt(Pos(Succ(x0))) 213.97/145.77 new_primMinusNatS2(Zero, Succ(x0)) 213.97/145.77 new_primModNatS1(Succ(Zero), Succ(x0)) 213.97/145.77 new_primMinusNatS2(Succ(x0), Succ(x1)) 213.97/145.77 new_primModNatS01(x0, x1, Zero, Succ(x2)) 213.97/145.77 new_esEs(Neg(Zero)) 213.97/145.77 213.97/145.77 We have to consider all minimal (P,Q,R)-chains. 213.97/145.77 ---------------------------------------- 213.97/145.77 213.97/145.77 (95) UsableRulesProof (EQUIVALENT) 213.97/145.77 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. 213.97/145.77 ---------------------------------------- 213.97/145.77 213.97/145.77 (96) 213.97/145.77 Obligation: 213.97/145.77 Q DP problem: 213.97/145.77 The TRS P consists of the following rules: 213.97/145.77 213.97/145.77 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)))) 213.97/145.77 new_gcd0Gcd'1(False, Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 213.97/145.77 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))) 213.97/145.77 new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 213.97/145.77 213.97/145.77 The TRS R consists of the following rules: 213.97/145.77 213.97/145.77 new_esEs(Neg(Succ(vyv24300))) -> new_primEqInt(Neg(Succ(vyv24300))) 213.97/145.77 new_primEqInt(Neg(Succ(vyv242000))) -> False 213.97/145.77 new_primModNatS1(Succ(Succ(vyv293000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv293000), Zero) 213.97/145.77 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 213.97/145.77 new_primMinusNatS0(vyv271000) -> Succ(vyv271000) 213.97/145.77 new_primModNatS1(Zero, vyv29200) -> Zero 213.97/145.77 new_primMinusNatS1 -> Zero 213.97/145.77 new_esEs(Pos(Succ(vyv24300))) -> new_primEqInt(Pos(Succ(vyv24300))) 213.97/145.77 new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) 213.97/145.77 new_primEqInt(Pos(Zero)) -> True 213.97/145.77 new_primEqInt(Pos(Succ(vyv242000))) -> False 213.97/145.77 213.97/145.77 The set Q consists of the following terms: 213.97/145.77 213.97/145.77 new_primModNatS01(x0, x1, Succ(x2), Zero) 213.97/145.77 new_primModNatS1(Succ(Succ(x0)), Zero) 213.97/145.77 new_primMinusNatS1 213.97/145.77 new_primEqInt(Pos(Zero)) 213.97/145.77 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 213.97/145.77 new_esEs(Pos(Succ(x0))) 213.97/145.77 new_primModNatS1(Zero, x0) 213.97/145.77 new_primModNatS02(x0, x1) 213.97/145.77 new_primMinusNatS2(Zero, Zero) 213.97/145.77 new_primModNatS1(Succ(Zero), Zero) 213.97/145.77 new_primMinusNatS2(Succ(x0), Zero) 213.97/145.77 new_esEs(Pos(Zero)) 213.97/145.77 new_primMinusNatS0(x0) 213.97/145.77 new_primEqInt(Neg(Succ(x0))) 213.97/145.77 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 213.97/145.77 new_esEs(Neg(Succ(x0))) 213.97/145.77 new_primEqInt(Neg(Zero)) 213.97/145.77 new_primModNatS01(x0, x1, Zero, Zero) 213.97/145.77 new_primEqInt(Pos(Succ(x0))) 213.97/145.77 new_primMinusNatS2(Zero, Succ(x0)) 213.97/145.77 new_primModNatS1(Succ(Zero), Succ(x0)) 213.97/145.77 new_primMinusNatS2(Succ(x0), Succ(x1)) 213.97/145.77 new_primModNatS01(x0, x1, Zero, Succ(x2)) 213.97/145.77 new_esEs(Neg(Zero)) 213.97/145.77 213.97/145.77 We have to consider all minimal (P,Q,R)-chains. 213.97/145.77 ---------------------------------------- 213.97/145.77 213.97/145.77 (97) QReductionProof (EQUIVALENT) 213.97/145.77 We deleted the following terms from Q as each root-symbol of these terms does neither occur in P nor in R.[THIEMANN]. 213.97/145.77 213.97/145.77 new_primModNatS01(x0, x1, Succ(x2), Zero) 213.97/145.77 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 213.97/145.77 new_primModNatS02(x0, x1) 213.97/145.77 new_primMinusNatS2(Zero, Zero) 213.97/145.77 new_primMinusNatS2(Succ(x0), Zero) 213.97/145.77 new_primModNatS01(x0, x1, Zero, Zero) 213.97/145.77 new_primMinusNatS2(Zero, Succ(x0)) 213.97/145.77 new_primMinusNatS2(Succ(x0), Succ(x1)) 213.97/145.77 new_primModNatS01(x0, x1, Zero, Succ(x2)) 213.97/145.77 213.97/145.77 213.97/145.77 ---------------------------------------- 213.97/145.77 213.97/145.77 (98) 213.97/145.77 Obligation: 213.97/145.77 Q DP problem: 213.97/145.77 The TRS P consists of the following rules: 213.97/145.77 213.97/145.77 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)))) 213.97/145.77 new_gcd0Gcd'1(False, Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 213.97/145.77 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))) 213.97/145.77 new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 213.97/145.77 213.97/145.77 The TRS R consists of the following rules: 213.97/145.77 213.97/145.77 new_esEs(Neg(Succ(vyv24300))) -> new_primEqInt(Neg(Succ(vyv24300))) 213.97/145.77 new_primEqInt(Neg(Succ(vyv242000))) -> False 213.97/145.77 new_primModNatS1(Succ(Succ(vyv293000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv293000), Zero) 213.97/145.77 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 213.97/145.77 new_primMinusNatS0(vyv271000) -> Succ(vyv271000) 213.97/145.77 new_primModNatS1(Zero, vyv29200) -> Zero 213.97/145.77 new_primMinusNatS1 -> Zero 213.97/145.77 new_esEs(Pos(Succ(vyv24300))) -> new_primEqInt(Pos(Succ(vyv24300))) 213.97/145.77 new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) 213.97/145.77 new_primEqInt(Pos(Zero)) -> True 213.97/145.77 new_primEqInt(Pos(Succ(vyv242000))) -> False 213.97/145.77 213.97/145.77 The set Q consists of the following terms: 213.97/145.77 213.97/145.77 new_primModNatS1(Succ(Succ(x0)), Zero) 213.97/145.77 new_primMinusNatS1 213.97/145.77 new_primEqInt(Pos(Zero)) 213.97/145.77 new_esEs(Pos(Succ(x0))) 213.97/145.77 new_primModNatS1(Zero, x0) 213.97/145.77 new_primModNatS1(Succ(Zero), Zero) 213.97/145.77 new_esEs(Pos(Zero)) 213.97/145.77 new_primMinusNatS0(x0) 213.97/145.77 new_primEqInt(Neg(Succ(x0))) 213.97/145.77 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 213.97/145.77 new_esEs(Neg(Succ(x0))) 213.97/145.77 new_primEqInt(Neg(Zero)) 213.97/145.77 new_primEqInt(Pos(Succ(x0))) 213.97/145.77 new_primModNatS1(Succ(Zero), Succ(x0)) 213.97/145.77 new_esEs(Neg(Zero)) 213.97/145.77 213.97/145.77 We have to consider all minimal (P,Q,R)-chains. 213.97/145.77 ---------------------------------------- 213.97/145.77 213.97/145.77 (99) TransformationProof (EQUIVALENT) 213.97/145.77 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]: 213.97/145.77 213.97/145.77 (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)))) 213.97/145.77 213.97/145.77 213.97/145.77 ---------------------------------------- 213.97/145.77 213.97/145.77 (100) 213.97/145.77 Obligation: 213.97/145.77 Q DP problem: 213.97/145.77 The TRS P consists of the following rules: 213.97/145.77 213.97/145.77 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)))) 213.97/145.77 new_gcd0Gcd'1(False, Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 213.97/145.77 new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 213.97/145.77 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))) 213.97/145.77 213.97/145.77 The TRS R consists of the following rules: 213.97/145.77 213.97/145.77 new_esEs(Neg(Succ(vyv24300))) -> new_primEqInt(Neg(Succ(vyv24300))) 213.97/145.77 new_primEqInt(Neg(Succ(vyv242000))) -> False 213.97/145.77 new_primModNatS1(Succ(Succ(vyv293000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv293000), Zero) 213.97/145.77 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 213.97/145.77 new_primMinusNatS0(vyv271000) -> Succ(vyv271000) 213.97/145.77 new_primModNatS1(Zero, vyv29200) -> Zero 213.97/145.77 new_primMinusNatS1 -> Zero 213.97/145.77 new_esEs(Pos(Succ(vyv24300))) -> new_primEqInt(Pos(Succ(vyv24300))) 213.97/145.77 new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) 213.97/145.77 new_primEqInt(Pos(Zero)) -> True 213.97/145.77 new_primEqInt(Pos(Succ(vyv242000))) -> False 213.97/145.77 213.97/145.77 The set Q consists of the following terms: 213.97/145.77 213.97/145.77 new_primModNatS1(Succ(Succ(x0)), Zero) 213.97/145.77 new_primMinusNatS1 213.97/145.77 new_primEqInt(Pos(Zero)) 213.97/145.77 new_esEs(Pos(Succ(x0))) 213.97/145.77 new_primModNatS1(Zero, x0) 213.97/145.77 new_primModNatS1(Succ(Zero), Zero) 213.97/145.77 new_esEs(Pos(Zero)) 213.97/145.77 new_primMinusNatS0(x0) 213.97/145.77 new_primEqInt(Neg(Succ(x0))) 213.97/145.77 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 213.97/145.77 new_esEs(Neg(Succ(x0))) 213.97/145.77 new_primEqInt(Neg(Zero)) 213.97/145.77 new_primEqInt(Pos(Succ(x0))) 213.97/145.77 new_primModNatS1(Succ(Zero), Succ(x0)) 213.97/145.77 new_esEs(Neg(Zero)) 213.97/145.77 213.97/145.77 We have to consider all minimal (P,Q,R)-chains. 213.97/145.77 ---------------------------------------- 213.97/145.77 213.97/145.77 (101) UsableRulesProof (EQUIVALENT) 213.97/145.77 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. 213.97/145.77 ---------------------------------------- 213.97/145.77 213.97/145.77 (102) 213.97/145.77 Obligation: 213.97/145.77 Q DP problem: 213.97/145.77 The TRS P consists of the following rules: 213.97/145.77 213.97/145.77 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)))) 213.97/145.77 new_gcd0Gcd'1(False, Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 213.97/145.77 new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 213.97/145.77 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))) 213.97/145.77 213.97/145.77 The TRS R consists of the following rules: 213.97/145.77 213.97/145.77 new_primEqInt(Neg(Succ(vyv242000))) -> False 213.97/145.77 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 213.97/145.77 new_primModNatS1(Succ(Succ(vyv293000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv293000), Zero) 213.97/145.77 new_primMinusNatS1 -> Zero 213.97/145.77 new_primModNatS1(Zero, vyv29200) -> Zero 213.97/145.77 new_primMinusNatS0(vyv271000) -> Succ(vyv271000) 213.97/145.77 new_esEs(Pos(Succ(vyv24300))) -> new_primEqInt(Pos(Succ(vyv24300))) 213.97/145.77 new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) 213.97/145.77 new_primEqInt(Pos(Zero)) -> True 213.97/145.77 new_primEqInt(Pos(Succ(vyv242000))) -> False 213.97/145.77 213.97/145.77 The set Q consists of the following terms: 213.97/145.77 213.97/145.77 new_primModNatS1(Succ(Succ(x0)), Zero) 213.97/145.77 new_primMinusNatS1 213.97/145.77 new_primEqInt(Pos(Zero)) 213.97/145.77 new_esEs(Pos(Succ(x0))) 213.97/145.77 new_primModNatS1(Zero, x0) 213.97/145.77 new_primModNatS1(Succ(Zero), Zero) 213.97/145.77 new_esEs(Pos(Zero)) 213.97/145.77 new_primMinusNatS0(x0) 213.97/145.77 new_primEqInt(Neg(Succ(x0))) 213.97/145.77 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 213.97/145.77 new_esEs(Neg(Succ(x0))) 213.97/145.77 new_primEqInt(Neg(Zero)) 213.97/145.77 new_primEqInt(Pos(Succ(x0))) 213.97/145.77 new_primModNatS1(Succ(Zero), Succ(x0)) 213.97/145.77 new_esEs(Neg(Zero)) 213.97/145.77 213.97/145.77 We have to consider all minimal (P,Q,R)-chains. 213.97/145.77 ---------------------------------------- 213.97/145.77 213.97/145.77 (103) TransformationProof (EQUIVALENT) 213.97/145.77 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]: 213.97/145.77 213.97/145.77 (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)))) 213.97/145.77 213.97/145.77 213.97/145.77 ---------------------------------------- 213.97/145.77 213.97/145.77 (104) 213.97/145.77 Obligation: 213.97/145.77 Q DP problem: 213.97/145.77 The TRS P consists of the following rules: 213.97/145.77 213.97/145.77 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)))) 213.97/145.77 new_gcd0Gcd'1(False, Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 213.97/145.77 new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 213.97/145.77 new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 213.97/145.77 213.97/145.77 The TRS R consists of the following rules: 213.97/145.77 213.97/145.77 new_primEqInt(Neg(Succ(vyv242000))) -> False 213.97/145.77 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 213.97/145.77 new_primModNatS1(Succ(Succ(vyv293000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv293000), Zero) 213.97/145.77 new_primMinusNatS1 -> Zero 213.97/145.77 new_primModNatS1(Zero, vyv29200) -> Zero 213.97/145.77 new_primMinusNatS0(vyv271000) -> Succ(vyv271000) 213.97/145.77 new_esEs(Pos(Succ(vyv24300))) -> new_primEqInt(Pos(Succ(vyv24300))) 213.97/145.77 new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) 213.97/145.77 new_primEqInt(Pos(Zero)) -> True 213.97/145.77 new_primEqInt(Pos(Succ(vyv242000))) -> False 213.97/145.77 213.97/145.77 The set Q consists of the following terms: 213.97/145.77 213.97/145.77 new_primModNatS1(Succ(Succ(x0)), Zero) 213.97/145.77 new_primMinusNatS1 213.97/145.77 new_primEqInt(Pos(Zero)) 213.97/145.77 new_esEs(Pos(Succ(x0))) 213.97/145.77 new_primModNatS1(Zero, x0) 213.97/145.77 new_primModNatS1(Succ(Zero), Zero) 213.97/145.77 new_esEs(Pos(Zero)) 213.97/145.77 new_primMinusNatS0(x0) 213.97/145.77 new_primEqInt(Neg(Succ(x0))) 213.97/145.77 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 213.97/145.77 new_esEs(Neg(Succ(x0))) 213.97/145.77 new_primEqInt(Neg(Zero)) 213.97/145.77 new_primEqInt(Pos(Succ(x0))) 213.97/145.77 new_primModNatS1(Succ(Zero), Succ(x0)) 213.97/145.77 new_esEs(Neg(Zero)) 213.97/145.77 213.97/145.77 We have to consider all minimal (P,Q,R)-chains. 213.97/145.77 ---------------------------------------- 213.97/145.77 213.97/145.77 (105) UsableRulesProof (EQUIVALENT) 213.97/145.77 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. 213.97/145.77 ---------------------------------------- 213.97/145.77 213.97/145.77 (106) 213.97/145.77 Obligation: 213.97/145.77 Q DP problem: 213.97/145.77 The TRS P consists of the following rules: 213.97/145.77 213.97/145.77 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)))) 213.97/145.77 new_gcd0Gcd'1(False, Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 213.97/145.77 new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 213.97/145.77 new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 213.97/145.77 213.97/145.77 The TRS R consists of the following rules: 213.97/145.77 213.97/145.77 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 213.97/145.77 new_primModNatS1(Succ(Succ(vyv293000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv293000), Zero) 213.97/145.77 new_primMinusNatS1 -> Zero 213.97/145.77 new_primModNatS1(Zero, vyv29200) -> Zero 213.97/145.77 new_primMinusNatS0(vyv271000) -> Succ(vyv271000) 213.97/145.77 new_esEs(Pos(Succ(vyv24300))) -> new_primEqInt(Pos(Succ(vyv24300))) 213.97/145.77 new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) 213.97/145.77 new_primEqInt(Pos(Zero)) -> True 213.97/145.77 new_primEqInt(Pos(Succ(vyv242000))) -> False 213.97/145.77 213.97/145.77 The set Q consists of the following terms: 213.97/145.77 213.97/145.77 new_primModNatS1(Succ(Succ(x0)), Zero) 213.97/145.77 new_primMinusNatS1 213.97/145.77 new_primEqInt(Pos(Zero)) 213.97/145.77 new_esEs(Pos(Succ(x0))) 213.97/145.77 new_primModNatS1(Zero, x0) 213.97/145.77 new_primModNatS1(Succ(Zero), Zero) 213.97/145.77 new_esEs(Pos(Zero)) 213.97/145.77 new_primMinusNatS0(x0) 213.97/145.77 new_primEqInt(Neg(Succ(x0))) 213.97/145.77 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 213.97/145.77 new_esEs(Neg(Succ(x0))) 213.97/145.77 new_primEqInt(Neg(Zero)) 213.97/145.77 new_primEqInt(Pos(Succ(x0))) 213.97/145.77 new_primModNatS1(Succ(Zero), Succ(x0)) 213.97/145.77 new_esEs(Neg(Zero)) 213.97/145.77 213.97/145.77 We have to consider all minimal (P,Q,R)-chains. 213.97/145.77 ---------------------------------------- 213.97/145.77 213.97/145.77 (107) TransformationProof (EQUIVALENT) 213.97/145.77 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]: 213.97/145.77 213.97/145.77 (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))))) 213.97/145.77 (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)))))) 213.97/145.77 213.97/145.77 213.97/145.77 ---------------------------------------- 213.97/145.77 213.97/145.77 (108) 213.97/145.77 Obligation: 213.97/145.77 Q DP problem: 213.97/145.77 The TRS P consists of the following rules: 213.97/145.77 213.97/145.77 new_gcd0Gcd'1(False, Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 213.97/145.77 new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 213.97/145.77 new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 213.97/145.77 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)))) 213.97/145.77 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))))) 213.97/145.77 213.97/145.77 The TRS R consists of the following rules: 213.97/145.77 213.97/145.77 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 213.97/145.77 new_primModNatS1(Succ(Succ(vyv293000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv293000), Zero) 213.97/145.77 new_primMinusNatS1 -> Zero 213.97/145.77 new_primModNatS1(Zero, vyv29200) -> Zero 213.97/145.77 new_primMinusNatS0(vyv271000) -> Succ(vyv271000) 213.97/145.77 new_esEs(Pos(Succ(vyv24300))) -> new_primEqInt(Pos(Succ(vyv24300))) 213.97/145.77 new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) 213.97/145.77 new_primEqInt(Pos(Zero)) -> True 213.97/145.77 new_primEqInt(Pos(Succ(vyv242000))) -> False 213.97/145.77 213.97/145.77 The set Q consists of the following terms: 213.97/145.77 213.97/145.77 new_primModNatS1(Succ(Succ(x0)), Zero) 213.97/145.77 new_primMinusNatS1 213.97/145.77 new_primEqInt(Pos(Zero)) 213.97/145.77 new_esEs(Pos(Succ(x0))) 213.97/145.77 new_primModNatS1(Zero, x0) 213.97/145.77 new_primModNatS1(Succ(Zero), Zero) 213.97/145.77 new_esEs(Pos(Zero)) 213.97/145.77 new_primMinusNatS0(x0) 213.97/145.77 new_primEqInt(Neg(Succ(x0))) 213.97/145.77 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 213.97/145.77 new_esEs(Neg(Succ(x0))) 213.97/145.77 new_primEqInt(Neg(Zero)) 213.97/145.77 new_primEqInt(Pos(Succ(x0))) 213.97/145.77 new_primModNatS1(Succ(Zero), Succ(x0)) 213.97/145.77 new_esEs(Neg(Zero)) 213.97/145.77 213.97/145.77 We have to consider all minimal (P,Q,R)-chains. 213.97/145.77 ---------------------------------------- 213.97/145.77 213.97/145.77 (109) TransformationProof (EQUIVALENT) 213.97/145.77 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]: 213.97/145.77 213.97/145.77 (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))))) 213.97/145.77 213.97/145.77 213.97/145.77 ---------------------------------------- 213.97/145.77 213.97/145.77 (110) 213.97/145.77 Obligation: 213.97/145.77 Q DP problem: 213.97/145.77 The TRS P consists of the following rules: 213.97/145.77 213.97/145.77 new_gcd0Gcd'1(False, Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 213.97/145.77 new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 213.97/145.77 new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 213.97/145.77 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))))) 213.97/145.77 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)))) 213.97/145.77 213.97/145.77 The TRS R consists of the following rules: 213.97/145.77 213.97/145.77 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 213.97/145.77 new_primModNatS1(Succ(Succ(vyv293000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv293000), Zero) 213.97/145.77 new_primMinusNatS1 -> Zero 213.97/145.77 new_primModNatS1(Zero, vyv29200) -> Zero 213.97/145.77 new_primMinusNatS0(vyv271000) -> Succ(vyv271000) 213.97/145.77 new_esEs(Pos(Succ(vyv24300))) -> new_primEqInt(Pos(Succ(vyv24300))) 213.97/145.77 new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) 213.97/145.77 new_primEqInt(Pos(Zero)) -> True 213.97/145.77 new_primEqInt(Pos(Succ(vyv242000))) -> False 213.97/145.77 213.97/145.77 The set Q consists of the following terms: 213.97/145.77 213.97/145.77 new_primModNatS1(Succ(Succ(x0)), Zero) 213.97/145.77 new_primMinusNatS1 213.97/145.77 new_primEqInt(Pos(Zero)) 213.97/145.77 new_esEs(Pos(Succ(x0))) 213.97/145.77 new_primModNatS1(Zero, x0) 213.97/145.77 new_primModNatS1(Succ(Zero), Zero) 213.97/145.77 new_esEs(Pos(Zero)) 213.97/145.77 new_primMinusNatS0(x0) 213.97/145.77 new_primEqInt(Neg(Succ(x0))) 213.97/145.77 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 213.97/145.77 new_esEs(Neg(Succ(x0))) 213.97/145.77 new_primEqInt(Neg(Zero)) 213.97/145.77 new_primEqInt(Pos(Succ(x0))) 213.97/145.77 new_primModNatS1(Succ(Zero), Succ(x0)) 213.97/145.77 new_esEs(Neg(Zero)) 213.97/145.77 213.97/145.77 We have to consider all minimal (P,Q,R)-chains. 213.97/145.77 ---------------------------------------- 213.97/145.77 213.97/145.77 (111) TransformationProof (EQUIVALENT) 213.97/145.77 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]: 213.97/145.77 213.97/145.77 (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)))))) 213.97/145.77 213.97/145.77 213.97/145.77 ---------------------------------------- 213.97/145.77 213.97/145.77 (112) 213.97/145.77 Obligation: 213.97/145.77 Q DP problem: 213.97/145.77 The TRS P consists of the following rules: 213.97/145.77 213.97/145.77 new_gcd0Gcd'1(False, Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 213.97/145.77 new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 213.97/145.77 new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 213.97/145.77 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)))) 213.97/145.77 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))))) 213.97/145.77 213.97/145.77 The TRS R consists of the following rules: 213.97/145.77 213.97/145.77 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 213.97/145.77 new_primModNatS1(Succ(Succ(vyv293000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv293000), Zero) 213.97/145.77 new_primMinusNatS1 -> Zero 213.97/145.77 new_primModNatS1(Zero, vyv29200) -> Zero 213.97/145.77 new_primMinusNatS0(vyv271000) -> Succ(vyv271000) 213.97/145.77 new_esEs(Pos(Succ(vyv24300))) -> new_primEqInt(Pos(Succ(vyv24300))) 213.97/145.77 new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) 213.97/145.77 new_primEqInt(Pos(Zero)) -> True 213.97/145.77 new_primEqInt(Pos(Succ(vyv242000))) -> False 213.97/145.77 213.97/145.77 The set Q consists of the following terms: 213.97/145.77 213.97/145.77 new_primModNatS1(Succ(Succ(x0)), Zero) 213.97/145.77 new_primMinusNatS1 213.97/145.77 new_primEqInt(Pos(Zero)) 213.97/145.77 new_esEs(Pos(Succ(x0))) 213.97/145.77 new_primModNatS1(Zero, x0) 213.97/145.77 new_primModNatS1(Succ(Zero), Zero) 213.97/145.77 new_esEs(Pos(Zero)) 213.97/145.77 new_primMinusNatS0(x0) 213.97/145.77 new_primEqInt(Neg(Succ(x0))) 213.97/145.77 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 213.97/145.77 new_esEs(Neg(Succ(x0))) 213.97/145.77 new_primEqInt(Neg(Zero)) 213.97/145.77 new_primEqInt(Pos(Succ(x0))) 213.97/145.77 new_primModNatS1(Succ(Zero), Succ(x0)) 213.97/145.77 new_esEs(Neg(Zero)) 213.97/145.77 213.97/145.77 We have to consider all minimal (P,Q,R)-chains. 213.97/145.77 ---------------------------------------- 213.97/145.77 213.97/145.77 (113) TransformationProof (EQUIVALENT) 213.97/145.77 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]: 213.97/145.77 213.97/145.77 (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))))) 213.97/145.77 213.97/145.77 213.97/145.77 ---------------------------------------- 213.97/145.77 213.97/145.77 (114) 213.97/145.77 Obligation: 213.97/145.77 Q DP problem: 213.97/145.77 The TRS P consists of the following rules: 213.97/145.77 213.97/145.77 new_gcd0Gcd'1(False, Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 213.97/145.77 new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 213.97/145.77 new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 213.97/145.77 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))))) 213.97/145.77 new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Pos(Zero)), Neg(Succ(Zero)), Pos(Succ(Succ(Zero)))) 213.97/145.77 213.97/145.77 The TRS R consists of the following rules: 213.97/145.77 213.97/145.77 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 213.97/145.77 new_primModNatS1(Succ(Succ(vyv293000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv293000), Zero) 213.97/145.77 new_primMinusNatS1 -> Zero 213.97/145.77 new_primModNatS1(Zero, vyv29200) -> Zero 213.97/145.77 new_primMinusNatS0(vyv271000) -> Succ(vyv271000) 213.97/145.77 new_esEs(Pos(Succ(vyv24300))) -> new_primEqInt(Pos(Succ(vyv24300))) 213.97/145.77 new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) 213.97/145.77 new_primEqInt(Pos(Zero)) -> True 213.97/145.77 new_primEqInt(Pos(Succ(vyv242000))) -> False 213.97/145.77 213.97/145.77 The set Q consists of the following terms: 213.97/145.77 213.97/145.77 new_primModNatS1(Succ(Succ(x0)), Zero) 213.97/145.77 new_primMinusNatS1 213.97/145.77 new_primEqInt(Pos(Zero)) 213.97/145.77 new_esEs(Pos(Succ(x0))) 213.97/145.77 new_primModNatS1(Zero, x0) 213.97/145.77 new_primModNatS1(Succ(Zero), Zero) 213.97/145.77 new_esEs(Pos(Zero)) 213.97/145.77 new_primMinusNatS0(x0) 213.97/145.77 new_primEqInt(Neg(Succ(x0))) 213.97/145.77 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 213.97/145.77 new_esEs(Neg(Succ(x0))) 213.97/145.77 new_primEqInt(Neg(Zero)) 213.97/145.77 new_primEqInt(Pos(Succ(x0))) 213.97/145.77 new_primModNatS1(Succ(Zero), Succ(x0)) 213.97/145.77 new_esEs(Neg(Zero)) 213.97/145.77 213.97/145.77 We have to consider all minimal (P,Q,R)-chains. 213.97/145.77 ---------------------------------------- 213.97/145.77 213.97/145.77 (115) DependencyGraphProof (EQUIVALENT) 213.97/145.77 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. 213.97/145.77 ---------------------------------------- 213.97/145.77 213.97/145.77 (116) 213.97/145.77 Obligation: 213.97/145.77 Q DP problem: 213.97/145.77 The TRS P consists of the following rules: 213.97/145.77 213.97/145.77 new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 213.97/145.77 new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 213.97/145.77 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))))) 213.97/145.77 new_gcd0Gcd'1(False, Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 213.97/145.77 213.97/145.77 The TRS R consists of the following rules: 213.97/145.77 213.97/145.77 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 213.97/145.77 new_primModNatS1(Succ(Succ(vyv293000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv293000), Zero) 213.97/145.77 new_primMinusNatS1 -> Zero 213.97/145.77 new_primModNatS1(Zero, vyv29200) -> Zero 213.97/145.77 new_primMinusNatS0(vyv271000) -> Succ(vyv271000) 213.97/145.77 new_esEs(Pos(Succ(vyv24300))) -> new_primEqInt(Pos(Succ(vyv24300))) 213.97/145.77 new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) 213.97/145.77 new_primEqInt(Pos(Zero)) -> True 213.97/145.77 new_primEqInt(Pos(Succ(vyv242000))) -> False 213.97/145.77 213.97/145.77 The set Q consists of the following terms: 213.97/145.77 213.97/145.77 new_primModNatS1(Succ(Succ(x0)), Zero) 213.97/145.77 new_primMinusNatS1 213.97/145.77 new_primEqInt(Pos(Zero)) 213.97/145.77 new_esEs(Pos(Succ(x0))) 213.97/145.77 new_primModNatS1(Zero, x0) 213.97/145.77 new_primModNatS1(Succ(Zero), Zero) 213.97/145.77 new_esEs(Pos(Zero)) 213.97/145.77 new_primMinusNatS0(x0) 213.97/145.77 new_primEqInt(Neg(Succ(x0))) 213.97/145.77 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 213.97/145.77 new_esEs(Neg(Succ(x0))) 213.97/145.77 new_primEqInt(Neg(Zero)) 213.97/145.77 new_primEqInt(Pos(Succ(x0))) 213.97/145.77 new_primModNatS1(Succ(Zero), Succ(x0)) 213.97/145.77 new_esEs(Neg(Zero)) 213.97/145.77 213.97/145.77 We have to consider all minimal (P,Q,R)-chains. 213.97/145.77 ---------------------------------------- 213.97/145.77 213.97/145.77 (117) TransformationProof (EQUIVALENT) 213.97/145.77 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]: 213.97/145.77 213.97/145.77 (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)))))) 213.97/145.77 (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))))))) 213.97/145.77 213.97/145.77 213.97/145.77 ---------------------------------------- 213.97/145.77 213.97/145.77 (118) 213.97/145.77 Obligation: 213.97/145.77 Q DP problem: 213.97/145.77 The TRS P consists of the following rules: 213.97/145.77 213.97/145.77 new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 213.97/145.77 new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 213.97/145.77 new_gcd0Gcd'1(False, Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 213.97/145.77 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))))) 213.97/145.77 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)))))) 213.97/145.77 213.97/145.77 The TRS R consists of the following rules: 213.97/145.77 213.97/145.77 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 213.97/145.77 new_primModNatS1(Succ(Succ(vyv293000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv293000), Zero) 213.97/145.77 new_primMinusNatS1 -> Zero 213.97/145.77 new_primModNatS1(Zero, vyv29200) -> Zero 213.97/145.77 new_primMinusNatS0(vyv271000) -> Succ(vyv271000) 213.97/145.77 new_esEs(Pos(Succ(vyv24300))) -> new_primEqInt(Pos(Succ(vyv24300))) 213.97/145.77 new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) 213.97/145.77 new_primEqInt(Pos(Zero)) -> True 213.97/145.77 new_primEqInt(Pos(Succ(vyv242000))) -> False 213.97/145.77 213.97/145.77 The set Q consists of the following terms: 213.97/145.77 213.97/145.77 new_primModNatS1(Succ(Succ(x0)), Zero) 213.97/145.77 new_primMinusNatS1 213.97/145.77 new_primEqInt(Pos(Zero)) 213.97/145.77 new_esEs(Pos(Succ(x0))) 213.97/145.77 new_primModNatS1(Zero, x0) 213.97/145.77 new_primModNatS1(Succ(Zero), Zero) 213.97/145.77 new_esEs(Pos(Zero)) 213.97/145.77 new_primMinusNatS0(x0) 213.97/145.77 new_primEqInt(Neg(Succ(x0))) 213.97/145.77 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 213.97/145.77 new_esEs(Neg(Succ(x0))) 213.97/145.77 new_primEqInt(Neg(Zero)) 213.97/145.77 new_primEqInt(Pos(Succ(x0))) 213.97/145.77 new_primModNatS1(Succ(Zero), Succ(x0)) 213.97/145.77 new_esEs(Neg(Zero)) 213.97/145.77 213.97/145.77 We have to consider all minimal (P,Q,R)-chains. 213.97/145.77 ---------------------------------------- 213.97/145.77 213.97/145.77 (119) TransformationProof (EQUIVALENT) 213.97/145.77 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]: 213.97/145.77 213.97/145.77 (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)))))) 213.97/145.77 213.97/145.77 213.97/145.77 ---------------------------------------- 213.97/145.77 213.97/145.77 (120) 213.97/145.77 Obligation: 213.97/145.77 Q DP problem: 213.97/145.77 The TRS P consists of the following rules: 213.97/145.77 213.97/145.77 new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 213.97/145.77 new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 213.97/145.77 new_gcd0Gcd'1(False, Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 213.97/145.77 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)))))) 213.97/145.77 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))))) 213.97/145.77 213.97/145.77 The TRS R consists of the following rules: 213.97/145.77 213.97/145.77 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 213.97/145.77 new_primModNatS1(Succ(Succ(vyv293000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv293000), Zero) 213.97/145.77 new_primMinusNatS1 -> Zero 213.97/145.77 new_primModNatS1(Zero, vyv29200) -> Zero 213.97/145.77 new_primMinusNatS0(vyv271000) -> Succ(vyv271000) 213.97/145.77 new_esEs(Pos(Succ(vyv24300))) -> new_primEqInt(Pos(Succ(vyv24300))) 213.97/145.77 new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) 213.97/145.77 new_primEqInt(Pos(Zero)) -> True 213.97/145.77 new_primEqInt(Pos(Succ(vyv242000))) -> False 213.97/145.77 213.97/145.77 The set Q consists of the following terms: 213.97/145.77 213.97/145.77 new_primModNatS1(Succ(Succ(x0)), Zero) 213.97/145.77 new_primMinusNatS1 213.97/145.77 new_primEqInt(Pos(Zero)) 213.97/145.77 new_esEs(Pos(Succ(x0))) 213.97/145.77 new_primModNatS1(Zero, x0) 213.97/145.77 new_primModNatS1(Succ(Zero), Zero) 213.97/145.77 new_esEs(Pos(Zero)) 213.97/145.77 new_primMinusNatS0(x0) 213.97/145.77 new_primEqInt(Neg(Succ(x0))) 213.97/145.77 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 213.97/145.77 new_esEs(Neg(Succ(x0))) 213.97/145.77 new_primEqInt(Neg(Zero)) 213.97/145.77 new_primEqInt(Pos(Succ(x0))) 213.97/145.77 new_primModNatS1(Succ(Zero), Succ(x0)) 213.97/145.77 new_esEs(Neg(Zero)) 213.97/145.77 213.97/145.77 We have to consider all minimal (P,Q,R)-chains. 213.97/145.77 ---------------------------------------- 213.97/145.77 213.97/145.77 (121) TransformationProof (EQUIVALENT) 213.97/145.77 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]: 213.97/145.77 213.97/145.77 (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))))))) 213.97/145.77 213.97/145.77 213.97/145.77 ---------------------------------------- 213.97/145.77 213.97/145.77 (122) 213.97/145.77 Obligation: 213.97/145.77 Q DP problem: 213.97/145.77 The TRS P consists of the following rules: 213.97/145.77 213.97/145.77 new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 213.97/145.77 new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 213.97/145.77 new_gcd0Gcd'1(False, Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 213.97/145.77 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))))) 213.97/145.77 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)))))) 213.97/145.77 213.97/145.77 The TRS R consists of the following rules: 213.97/145.77 213.97/145.77 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 213.97/145.77 new_primModNatS1(Succ(Succ(vyv293000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv293000), Zero) 213.97/145.77 new_primMinusNatS1 -> Zero 213.97/145.77 new_primModNatS1(Zero, vyv29200) -> Zero 213.97/145.77 new_primMinusNatS0(vyv271000) -> Succ(vyv271000) 213.97/145.77 new_esEs(Pos(Succ(vyv24300))) -> new_primEqInt(Pos(Succ(vyv24300))) 213.97/145.77 new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) 213.97/145.77 new_primEqInt(Pos(Zero)) -> True 213.97/145.77 new_primEqInt(Pos(Succ(vyv242000))) -> False 213.97/145.77 213.97/145.77 The set Q consists of the following terms: 213.97/145.77 213.97/145.77 new_primModNatS1(Succ(Succ(x0)), Zero) 213.97/145.77 new_primMinusNatS1 213.97/145.77 new_primEqInt(Pos(Zero)) 213.97/145.77 new_esEs(Pos(Succ(x0))) 213.97/145.77 new_primModNatS1(Zero, x0) 213.97/145.77 new_primModNatS1(Succ(Zero), Zero) 213.97/145.77 new_esEs(Pos(Zero)) 213.97/145.77 new_primMinusNatS0(x0) 213.97/145.77 new_primEqInt(Neg(Succ(x0))) 213.97/145.77 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 213.97/145.77 new_esEs(Neg(Succ(x0))) 213.97/145.77 new_primEqInt(Neg(Zero)) 213.97/145.77 new_primEqInt(Pos(Succ(x0))) 213.97/145.77 new_primModNatS1(Succ(Zero), Succ(x0)) 213.97/145.77 new_esEs(Neg(Zero)) 213.97/145.77 213.97/145.77 We have to consider all minimal (P,Q,R)-chains. 213.97/145.77 ---------------------------------------- 213.97/145.77 213.97/145.77 (123) TransformationProof (EQUIVALENT) 213.97/145.77 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]: 213.97/145.77 213.97/145.77 (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)))))) 213.97/145.77 213.97/145.77 213.97/145.77 ---------------------------------------- 213.97/145.77 213.97/145.77 (124) 213.97/145.77 Obligation: 213.97/145.77 Q DP problem: 213.97/145.77 The TRS P consists of the following rules: 213.97/145.77 213.97/145.77 new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 213.97/145.77 new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 213.97/145.77 new_gcd0Gcd'1(False, Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 213.97/145.77 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)))))) 213.97/145.77 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))))) 213.97/145.77 213.97/145.77 The TRS R consists of the following rules: 213.97/145.77 213.97/145.77 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 213.97/145.77 new_primModNatS1(Succ(Succ(vyv293000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv293000), Zero) 213.97/145.77 new_primMinusNatS1 -> Zero 213.97/145.77 new_primModNatS1(Zero, vyv29200) -> Zero 213.97/145.77 new_primMinusNatS0(vyv271000) -> Succ(vyv271000) 213.97/145.77 new_esEs(Pos(Succ(vyv24300))) -> new_primEqInt(Pos(Succ(vyv24300))) 213.97/145.77 new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) 213.97/145.77 new_primEqInt(Pos(Zero)) -> True 213.97/145.77 new_primEqInt(Pos(Succ(vyv242000))) -> False 213.97/145.77 213.97/145.77 The set Q consists of the following terms: 213.97/145.77 213.97/145.77 new_primModNatS1(Succ(Succ(x0)), Zero) 213.97/145.77 new_primMinusNatS1 213.97/145.77 new_primEqInt(Pos(Zero)) 213.97/145.77 new_esEs(Pos(Succ(x0))) 213.97/145.77 new_primModNatS1(Zero, x0) 213.97/145.77 new_primModNatS1(Succ(Zero), Zero) 213.97/145.77 new_esEs(Pos(Zero)) 213.97/145.77 new_primMinusNatS0(x0) 213.97/145.77 new_primEqInt(Neg(Succ(x0))) 213.97/145.77 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 213.97/145.77 new_esEs(Neg(Succ(x0))) 213.97/145.77 new_primEqInt(Neg(Zero)) 213.97/145.77 new_primEqInt(Pos(Succ(x0))) 213.97/145.77 new_primModNatS1(Succ(Zero), Succ(x0)) 213.97/145.77 new_esEs(Neg(Zero)) 213.97/145.77 213.97/145.77 We have to consider all minimal (P,Q,R)-chains. 213.97/145.77 ---------------------------------------- 213.97/145.77 213.97/145.77 (125) DependencyGraphProof (EQUIVALENT) 213.97/145.77 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. 213.97/145.77 ---------------------------------------- 213.97/145.77 213.97/145.77 (126) 213.97/145.77 Obligation: 213.97/145.77 Q DP problem: 213.97/145.77 The TRS P consists of the following rules: 213.97/145.77 213.97/145.77 new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 213.97/145.77 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)))))) 213.97/145.77 new_gcd0Gcd'1(False, Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 213.97/145.77 new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 213.97/145.77 213.97/145.77 The TRS R consists of the following rules: 213.97/145.77 213.97/145.77 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 213.97/145.77 new_primModNatS1(Succ(Succ(vyv293000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv293000), Zero) 213.97/145.77 new_primMinusNatS1 -> Zero 213.97/145.77 new_primModNatS1(Zero, vyv29200) -> Zero 213.97/145.77 new_primMinusNatS0(vyv271000) -> Succ(vyv271000) 213.97/145.77 new_esEs(Pos(Succ(vyv24300))) -> new_primEqInt(Pos(Succ(vyv24300))) 213.97/145.77 new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) 213.97/145.77 new_primEqInt(Pos(Zero)) -> True 213.97/145.77 new_primEqInt(Pos(Succ(vyv242000))) -> False 213.97/145.77 213.97/145.77 The set Q consists of the following terms: 213.97/145.77 213.97/145.77 new_primModNatS1(Succ(Succ(x0)), Zero) 213.97/145.77 new_primMinusNatS1 213.97/145.77 new_primEqInt(Pos(Zero)) 213.97/145.77 new_esEs(Pos(Succ(x0))) 213.97/145.77 new_primModNatS1(Zero, x0) 213.97/145.77 new_primModNatS1(Succ(Zero), Zero) 213.97/145.77 new_esEs(Pos(Zero)) 213.97/145.77 new_primMinusNatS0(x0) 213.97/145.77 new_primEqInt(Neg(Succ(x0))) 213.97/145.77 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 213.97/145.77 new_esEs(Neg(Succ(x0))) 213.97/145.77 new_primEqInt(Neg(Zero)) 213.97/145.77 new_primEqInt(Pos(Succ(x0))) 213.97/145.77 new_primModNatS1(Succ(Zero), Succ(x0)) 213.97/145.77 new_esEs(Neg(Zero)) 213.97/145.77 213.97/145.77 We have to consider all minimal (P,Q,R)-chains. 213.97/145.77 ---------------------------------------- 213.97/145.77 213.97/145.77 (127) TransformationProof (EQUIVALENT) 213.97/145.77 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]: 213.97/145.77 213.97/145.77 (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)))) 213.97/145.77 (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)))) 213.97/145.77 213.97/145.77 213.97/145.77 ---------------------------------------- 213.97/145.77 213.97/145.77 (128) 213.97/145.77 Obligation: 213.97/145.77 Q DP problem: 213.97/145.77 The TRS P consists of the following rules: 213.97/145.77 213.97/145.77 new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 213.97/145.77 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)))))) 213.97/145.77 new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 213.97/145.77 new_gcd0Gcd'1(False, Neg(Succ(Zero)), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS1, Zero))) 213.97/145.77 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))) 213.97/145.77 213.97/145.77 The TRS R consists of the following rules: 213.97/145.77 213.97/145.77 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 213.97/145.77 new_primModNatS1(Succ(Succ(vyv293000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv293000), Zero) 213.97/145.77 new_primMinusNatS1 -> Zero 213.97/145.77 new_primModNatS1(Zero, vyv29200) -> Zero 213.97/145.77 new_primMinusNatS0(vyv271000) -> Succ(vyv271000) 213.97/145.77 new_esEs(Pos(Succ(vyv24300))) -> new_primEqInt(Pos(Succ(vyv24300))) 213.97/145.77 new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) 213.97/145.77 new_primEqInt(Pos(Zero)) -> True 213.97/145.77 new_primEqInt(Pos(Succ(vyv242000))) -> False 213.97/145.77 213.97/145.77 The set Q consists of the following terms: 213.97/145.77 213.97/145.77 new_primModNatS1(Succ(Succ(x0)), Zero) 213.97/145.77 new_primMinusNatS1 213.97/145.77 new_primEqInt(Pos(Zero)) 213.97/145.77 new_esEs(Pos(Succ(x0))) 213.97/145.77 new_primModNatS1(Zero, x0) 213.97/145.77 new_primModNatS1(Succ(Zero), Zero) 213.97/145.77 new_esEs(Pos(Zero)) 213.97/145.77 new_primMinusNatS0(x0) 213.97/145.77 new_primEqInt(Neg(Succ(x0))) 213.97/145.77 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 213.97/145.77 new_esEs(Neg(Succ(x0))) 213.97/145.77 new_primEqInt(Neg(Zero)) 213.97/145.77 new_primEqInt(Pos(Succ(x0))) 213.97/145.77 new_primModNatS1(Succ(Zero), Succ(x0)) 213.97/145.77 new_esEs(Neg(Zero)) 213.97/145.77 213.97/145.77 We have to consider all minimal (P,Q,R)-chains. 213.97/145.77 ---------------------------------------- 213.97/145.77 213.97/145.77 (129) DependencyGraphProof (EQUIVALENT) 213.97/145.77 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. 213.97/145.77 ---------------------------------------- 213.97/145.77 213.97/145.77 (130) 213.97/145.77 Obligation: 213.97/145.77 Q DP problem: 213.97/145.77 The TRS P consists of the following rules: 213.97/145.77 213.97/145.77 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)))))) 213.97/145.77 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))) 213.97/145.77 new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 213.97/145.77 new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 213.97/145.77 213.97/145.77 The TRS R consists of the following rules: 213.97/145.77 213.97/145.77 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 213.97/145.77 new_primModNatS1(Succ(Succ(vyv293000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv293000), Zero) 213.97/145.77 new_primMinusNatS1 -> Zero 213.97/145.77 new_primModNatS1(Zero, vyv29200) -> Zero 213.97/145.77 new_primMinusNatS0(vyv271000) -> Succ(vyv271000) 213.97/145.77 new_esEs(Pos(Succ(vyv24300))) -> new_primEqInt(Pos(Succ(vyv24300))) 213.97/145.77 new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) 213.97/145.77 new_primEqInt(Pos(Zero)) -> True 213.97/145.77 new_primEqInt(Pos(Succ(vyv242000))) -> False 213.97/145.77 213.97/145.77 The set Q consists of the following terms: 213.97/145.77 213.97/145.77 new_primModNatS1(Succ(Succ(x0)), Zero) 213.97/145.77 new_primMinusNatS1 213.97/145.77 new_primEqInt(Pos(Zero)) 213.97/145.77 new_esEs(Pos(Succ(x0))) 213.97/145.77 new_primModNatS1(Zero, x0) 213.97/145.77 new_primModNatS1(Succ(Zero), Zero) 213.97/145.77 new_esEs(Pos(Zero)) 213.97/145.77 new_primMinusNatS0(x0) 213.97/145.77 new_primEqInt(Neg(Succ(x0))) 213.97/145.77 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 213.97/145.77 new_esEs(Neg(Succ(x0))) 213.97/145.77 new_primEqInt(Neg(Zero)) 213.97/145.77 new_primEqInt(Pos(Succ(x0))) 213.97/145.77 new_primModNatS1(Succ(Zero), Succ(x0)) 213.97/145.77 new_esEs(Neg(Zero)) 213.97/145.77 213.97/145.77 We have to consider all minimal (P,Q,R)-chains. 213.97/145.77 ---------------------------------------- 213.97/145.77 213.97/145.77 (131) TransformationProof (EQUIVALENT) 213.97/145.77 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]: 213.97/145.77 213.97/145.77 (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)))) 213.97/145.77 213.97/145.77 213.97/145.77 ---------------------------------------- 213.97/145.77 213.97/145.77 (132) 213.97/145.77 Obligation: 213.97/145.77 Q DP problem: 213.97/145.77 The TRS P consists of the following rules: 213.97/145.77 213.97/145.77 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)))))) 213.97/145.77 new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 213.97/145.77 new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 213.97/145.77 new_gcd0Gcd'1(False, Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 213.97/145.77 213.97/145.77 The TRS R consists of the following rules: 213.97/145.77 213.97/145.77 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 213.97/145.77 new_primModNatS1(Succ(Succ(vyv293000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv293000), Zero) 213.97/145.77 new_primMinusNatS1 -> Zero 213.97/145.77 new_primModNatS1(Zero, vyv29200) -> Zero 213.97/145.77 new_primMinusNatS0(vyv271000) -> Succ(vyv271000) 213.97/145.77 new_esEs(Pos(Succ(vyv24300))) -> new_primEqInt(Pos(Succ(vyv24300))) 213.97/145.77 new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) 213.97/145.77 new_primEqInt(Pos(Zero)) -> True 213.97/145.77 new_primEqInt(Pos(Succ(vyv242000))) -> False 213.97/145.77 213.97/145.77 The set Q consists of the following terms: 213.97/145.77 213.97/145.77 new_primModNatS1(Succ(Succ(x0)), Zero) 213.97/145.77 new_primMinusNatS1 213.97/145.77 new_primEqInt(Pos(Zero)) 213.97/145.77 new_esEs(Pos(Succ(x0))) 213.97/145.77 new_primModNatS1(Zero, x0) 213.97/145.77 new_primModNatS1(Succ(Zero), Zero) 213.97/145.77 new_esEs(Pos(Zero)) 213.97/145.77 new_primMinusNatS0(x0) 213.97/145.77 new_primEqInt(Neg(Succ(x0))) 213.97/145.77 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 213.97/145.77 new_esEs(Neg(Succ(x0))) 213.97/145.77 new_primEqInt(Neg(Zero)) 213.97/145.77 new_primEqInt(Pos(Succ(x0))) 213.97/145.77 new_primModNatS1(Succ(Zero), Succ(x0)) 213.97/145.77 new_esEs(Neg(Zero)) 213.97/145.77 213.97/145.77 We have to consider all minimal (P,Q,R)-chains. 213.97/145.77 ---------------------------------------- 213.97/145.77 213.97/145.77 (133) TransformationProof (EQUIVALENT) 213.97/145.77 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]: 213.97/145.78 213.97/145.78 (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)))) 213.97/145.78 (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)))) 213.97/145.78 213.97/145.78 213.97/145.78 ---------------------------------------- 213.97/145.78 213.97/145.78 (134) 213.97/145.78 Obligation: 213.97/145.78 Q DP problem: 213.97/145.78 The TRS P consists of the following rules: 213.97/145.78 213.97/145.78 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)))))) 213.97/145.78 new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 213.97/145.78 new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 213.97/145.78 new_gcd0Gcd'1(False, Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS1, Zero))) 213.97/145.78 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))) 213.97/145.78 213.97/145.78 The TRS R consists of the following rules: 213.97/145.78 213.97/145.78 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 213.97/145.78 new_primModNatS1(Succ(Succ(vyv293000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv293000), Zero) 213.97/145.78 new_primMinusNatS1 -> Zero 213.97/145.78 new_primModNatS1(Zero, vyv29200) -> Zero 213.97/145.78 new_primMinusNatS0(vyv271000) -> Succ(vyv271000) 213.97/145.78 new_esEs(Pos(Succ(vyv24300))) -> new_primEqInt(Pos(Succ(vyv24300))) 213.97/145.78 new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) 213.97/145.78 new_primEqInt(Pos(Zero)) -> True 213.97/145.78 new_primEqInt(Pos(Succ(vyv242000))) -> False 213.97/145.78 213.97/145.78 The set Q consists of the following terms: 213.97/145.78 213.97/145.78 new_primModNatS1(Succ(Succ(x0)), Zero) 213.97/145.78 new_primMinusNatS1 213.97/145.78 new_primEqInt(Pos(Zero)) 213.97/145.78 new_esEs(Pos(Succ(x0))) 213.97/145.78 new_primModNatS1(Zero, x0) 213.97/145.78 new_primModNatS1(Succ(Zero), Zero) 213.97/145.78 new_esEs(Pos(Zero)) 213.97/145.78 new_primMinusNatS0(x0) 213.97/145.78 new_primEqInt(Neg(Succ(x0))) 213.97/145.78 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 213.97/145.78 new_esEs(Neg(Succ(x0))) 213.97/145.78 new_primEqInt(Neg(Zero)) 213.97/145.78 new_primEqInt(Pos(Succ(x0))) 213.97/145.78 new_primModNatS1(Succ(Zero), Succ(x0)) 213.97/145.78 new_esEs(Neg(Zero)) 213.97/145.78 213.97/145.78 We have to consider all minimal (P,Q,R)-chains. 213.97/145.78 ---------------------------------------- 213.97/145.78 213.97/145.78 (135) DependencyGraphProof (EQUIVALENT) 213.97/145.78 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. 213.97/145.78 ---------------------------------------- 213.97/145.78 213.97/145.78 (136) 213.97/145.78 Obligation: 213.97/145.78 Q DP problem: 213.97/145.78 The TRS P consists of the following rules: 213.97/145.78 213.97/145.78 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))) 213.97/145.78 new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 213.97/145.78 new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 213.97/145.78 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)))))) 213.97/145.78 213.97/145.78 The TRS R consists of the following rules: 213.97/145.78 213.97/145.78 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 213.97/145.78 new_primModNatS1(Succ(Succ(vyv293000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv293000), Zero) 213.97/145.78 new_primMinusNatS1 -> Zero 213.97/145.78 new_primModNatS1(Zero, vyv29200) -> Zero 213.97/145.78 new_primMinusNatS0(vyv271000) -> Succ(vyv271000) 213.97/145.78 new_esEs(Pos(Succ(vyv24300))) -> new_primEqInt(Pos(Succ(vyv24300))) 213.97/145.78 new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) 213.97/145.78 new_primEqInt(Pos(Zero)) -> True 213.97/145.78 new_primEqInt(Pos(Succ(vyv242000))) -> False 213.97/145.78 213.97/145.78 The set Q consists of the following terms: 213.97/145.78 213.97/145.78 new_primModNatS1(Succ(Succ(x0)), Zero) 213.97/145.78 new_primMinusNatS1 213.97/145.78 new_primEqInt(Pos(Zero)) 213.97/145.78 new_esEs(Pos(Succ(x0))) 213.97/145.78 new_primModNatS1(Zero, x0) 213.97/145.78 new_primModNatS1(Succ(Zero), Zero) 213.97/145.78 new_esEs(Pos(Zero)) 213.97/145.78 new_primMinusNatS0(x0) 213.97/145.78 new_primEqInt(Neg(Succ(x0))) 213.97/145.78 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 213.97/145.78 new_esEs(Neg(Succ(x0))) 213.97/145.78 new_primEqInt(Neg(Zero)) 213.97/145.78 new_primEqInt(Pos(Succ(x0))) 213.97/145.78 new_primModNatS1(Succ(Zero), Succ(x0)) 213.97/145.78 new_esEs(Neg(Zero)) 213.97/145.78 213.97/145.78 We have to consider all minimal (P,Q,R)-chains. 213.97/145.78 ---------------------------------------- 213.97/145.78 213.97/145.78 (137) TransformationProof (EQUIVALENT) 213.97/145.78 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]: 213.97/145.78 213.97/145.78 (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)))) 213.97/145.78 213.97/145.78 213.97/145.78 ---------------------------------------- 213.97/145.78 213.97/145.78 (138) 213.97/145.78 Obligation: 213.97/145.78 Q DP problem: 213.97/145.78 The TRS P consists of the following rules: 213.97/145.78 213.97/145.78 new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 213.97/145.78 new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 213.97/145.78 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)))))) 213.97/145.78 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))) 213.97/145.78 213.97/145.78 The TRS R consists of the following rules: 213.97/145.78 213.97/145.78 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 213.97/145.78 new_primModNatS1(Succ(Succ(vyv293000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv293000), Zero) 213.97/145.78 new_primMinusNatS1 -> Zero 213.97/145.78 new_primModNatS1(Zero, vyv29200) -> Zero 213.97/145.78 new_primMinusNatS0(vyv271000) -> Succ(vyv271000) 213.97/145.78 new_esEs(Pos(Succ(vyv24300))) -> new_primEqInt(Pos(Succ(vyv24300))) 213.97/145.78 new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) 213.97/145.78 new_primEqInt(Pos(Zero)) -> True 213.97/145.78 new_primEqInt(Pos(Succ(vyv242000))) -> False 213.97/145.78 213.97/145.78 The set Q consists of the following terms: 213.97/145.78 213.97/145.78 new_primModNatS1(Succ(Succ(x0)), Zero) 213.97/145.78 new_primMinusNatS1 213.97/145.78 new_primEqInt(Pos(Zero)) 213.97/145.78 new_esEs(Pos(Succ(x0))) 213.97/145.78 new_primModNatS1(Zero, x0) 213.97/145.78 new_primModNatS1(Succ(Zero), Zero) 213.97/145.78 new_esEs(Pos(Zero)) 213.97/145.78 new_primMinusNatS0(x0) 213.97/145.78 new_primEqInt(Neg(Succ(x0))) 213.97/145.78 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 213.97/145.78 new_esEs(Neg(Succ(x0))) 213.97/145.78 new_primEqInt(Neg(Zero)) 213.97/145.78 new_primEqInt(Pos(Succ(x0))) 213.97/145.78 new_primModNatS1(Succ(Zero), Succ(x0)) 213.97/145.78 new_esEs(Neg(Zero)) 213.97/145.78 213.97/145.78 We have to consider all minimal (P,Q,R)-chains. 213.97/145.78 ---------------------------------------- 213.97/145.78 213.97/145.78 (139) QDPSizeChangeProof (EQUIVALENT) 213.97/145.78 We used the following order together with the size-change analysis [AAECC05] to show that there are no infinite chains for this DP problem. 213.97/145.78 213.97/145.78 Order:Polynomial interpretation [POLO]: 213.97/145.78 213.97/145.78 POL(False) = 1 213.97/145.78 POL(Neg(x_1)) = 1 213.97/145.78 POL(Pos(x_1)) = x_1 213.97/145.78 POL(Succ(x_1)) = 1 + x_1 213.97/145.78 POL(Zero) = 1 213.97/145.78 POL(new_primMinusNatS0(x_1)) = 1 + x_1 213.97/145.78 POL(new_primMinusNatS1) = 1 213.97/145.78 POL(new_primModNatS1(x_1, x_2)) = x_1 213.97/145.78 213.97/145.78 213.97/145.78 213.97/145.78 213.97/145.78 From the DPs we obtained the following set of size-change graphs: 213.97/145.78 *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}) 213.97/145.78 The graph contains the following edges 2 >= 1, 3 >= 2 213.97/145.78 213.97/145.78 213.97/145.78 *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}) 213.97/145.78 The graph contains the following edges 2 >= 1, 3 > 2 213.97/145.78 213.97/145.78 213.97/145.78 *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}) 213.97/145.78 The graph contains the following edges 2 >= 2, 1 >= 3 213.97/145.78 213.97/145.78 213.97/145.78 *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}) 213.97/145.78 The graph contains the following edges 2 >= 2, 1 >= 3 213.97/145.78 213.97/145.78 213.97/145.78 213.97/145.78 We oriented the following set of usable rules [AAECC05,FROCOS05]. 213.97/145.78 213.97/145.78 new_primModNatS1(Zero, vyv29200) -> Zero 213.97/145.78 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 213.97/145.78 new_primModNatS1(Succ(Succ(vyv293000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv293000), Zero) 213.97/145.78 new_primMinusNatS1 -> Zero 213.97/145.78 new_primMinusNatS0(vyv271000) -> Succ(vyv271000) 213.97/145.78 213.97/145.78 ---------------------------------------- 213.97/145.78 213.97/145.78 (140) 213.97/145.78 YES 213.97/145.78 213.97/145.78 ---------------------------------------- 213.97/145.78 213.97/145.78 (141) 213.97/145.78 Obligation: 213.97/145.78 Q DP problem: 213.97/145.78 The TRS P consists of the following rules: 213.97/145.78 213.97/145.78 new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 213.97/145.78 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)))) 213.97/145.78 new_gcd0Gcd'1(False, Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 213.97/145.78 new_gcd0Gcd'0(Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 213.97/145.78 213.97/145.78 The TRS R consists of the following rules: 213.97/145.78 213.97/145.78 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 213.97/145.78 new_primModNatS1(Succ(Succ(vyv293000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv293000), Zero) 213.97/145.78 new_primModNatS1(Succ(Zero), Succ(vyv292000)) -> Succ(Zero) 213.97/145.78 new_primModNatS01(vyv331, vyv332, Zero, Zero) -> new_primModNatS02(vyv331, vyv332) 213.97/145.78 new_primModNatS02(vyv331, vyv332) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv331), Succ(vyv332)), Succ(vyv332)) 213.97/145.78 new_primModNatS1(Succ(Succ(vyv293000)), Succ(vyv292000)) -> new_primModNatS01(vyv293000, vyv292000, vyv293000, vyv292000) 213.97/145.78 new_primModNatS01(vyv331, vyv332, Succ(vyv3330), Succ(vyv3340)) -> new_primModNatS01(vyv331, vyv332, vyv3330, vyv3340) 213.97/145.78 new_primModNatS01(vyv331, vyv332, Succ(vyv3330), Zero) -> new_primModNatS02(vyv331, vyv332) 213.97/145.78 new_primModNatS1(Zero, vyv29200) -> Zero 213.97/145.78 new_esEs(Pos(Succ(vyv24300))) -> new_primEqInt(Pos(Succ(vyv24300))) 213.97/145.78 new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) 213.97/145.78 new_primEqInt(Pos(Zero)) -> True 213.97/145.78 new_primEqInt(Pos(Succ(vyv242000))) -> False 213.97/145.78 new_primMinusNatS2(Succ(vyv3110), Succ(vyv3120)) -> new_primMinusNatS2(vyv3110, vyv3120) 213.97/145.78 new_primModNatS01(vyv331, vyv332, Zero, Succ(vyv3340)) -> Succ(Succ(vyv331)) 213.97/145.78 new_primMinusNatS2(Zero, Zero) -> Zero 213.97/145.78 new_primMinusNatS2(Zero, Succ(vyv3120)) -> Zero 213.97/145.78 new_primMinusNatS2(Succ(vyv3110), Zero) -> Succ(vyv3110) 213.97/145.78 new_primMinusNatS1 -> Zero 213.97/145.78 new_primMinusNatS0(vyv271000) -> Succ(vyv271000) 213.97/145.78 new_esEs(Neg(Succ(vyv24300))) -> new_primEqInt(Neg(Succ(vyv24300))) 213.97/145.78 new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) 213.97/145.78 new_primEqInt(Neg(Zero)) -> True 213.97/145.78 new_primEqInt(Neg(Succ(vyv242000))) -> False 213.97/145.78 213.97/145.78 The set Q consists of the following terms: 213.97/145.78 213.97/145.78 new_primModNatS01(x0, x1, Succ(x2), Zero) 213.97/145.78 new_primModNatS1(Succ(Succ(x0)), Zero) 213.97/145.78 new_primMinusNatS1 213.97/145.78 new_primEqInt(Pos(Zero)) 213.97/145.78 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 213.97/145.78 new_esEs(Pos(Succ(x0))) 213.97/145.78 new_primModNatS1(Zero, x0) 213.97/145.78 new_primModNatS02(x0, x1) 213.97/145.78 new_primMinusNatS2(Zero, Zero) 213.97/145.78 new_primModNatS1(Succ(Zero), Zero) 213.97/145.78 new_primMinusNatS2(Succ(x0), Zero) 213.97/145.78 new_esEs(Pos(Zero)) 213.97/145.78 new_primMinusNatS0(x0) 213.97/145.78 new_primEqInt(Neg(Succ(x0))) 213.97/145.78 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 213.97/145.78 new_esEs(Neg(Succ(x0))) 213.97/145.78 new_primEqInt(Neg(Zero)) 213.97/145.78 new_primModNatS01(x0, x1, Zero, Zero) 213.97/145.78 new_primEqInt(Pos(Succ(x0))) 213.97/145.78 new_primMinusNatS2(Zero, Succ(x0)) 213.97/145.78 new_primModNatS1(Succ(Zero), Succ(x0)) 213.97/145.78 new_primMinusNatS2(Succ(x0), Succ(x1)) 213.97/145.78 new_primModNatS01(x0, x1, Zero, Succ(x2)) 213.97/145.78 new_esEs(Neg(Zero)) 213.97/145.78 213.97/145.78 We have to consider all minimal (P,Q,R)-chains. 213.97/145.78 ---------------------------------------- 213.97/145.78 213.97/145.78 (142) UsableRulesProof (EQUIVALENT) 213.97/145.78 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. 213.97/145.78 ---------------------------------------- 213.97/145.78 213.97/145.78 (143) 213.97/145.78 Obligation: 213.97/145.78 Q DP problem: 213.97/145.78 The TRS P consists of the following rules: 213.97/145.78 213.97/145.78 new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 213.97/145.78 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)))) 213.97/145.78 new_gcd0Gcd'1(False, Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 213.97/145.78 new_gcd0Gcd'0(Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 213.97/145.78 213.97/145.78 The TRS R consists of the following rules: 213.97/145.78 213.97/145.78 new_primModNatS1(Succ(Succ(vyv293000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv293000), Zero) 213.97/145.78 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 213.97/145.78 new_primMinusNatS0(vyv271000) -> Succ(vyv271000) 213.97/145.78 new_primModNatS1(Zero, vyv29200) -> Zero 213.97/145.78 new_primMinusNatS1 -> Zero 213.97/145.78 new_esEs(Neg(Succ(vyv24300))) -> new_primEqInt(Neg(Succ(vyv24300))) 213.97/145.78 new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) 213.97/145.78 new_primEqInt(Neg(Zero)) -> True 213.97/145.78 new_primEqInt(Neg(Succ(vyv242000))) -> False 213.97/145.78 213.97/145.78 The set Q consists of the following terms: 213.97/145.78 213.97/145.78 new_primModNatS01(x0, x1, Succ(x2), Zero) 213.97/145.78 new_primModNatS1(Succ(Succ(x0)), Zero) 213.97/145.78 new_primMinusNatS1 213.97/145.78 new_primEqInt(Pos(Zero)) 213.97/145.78 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 213.97/145.78 new_esEs(Pos(Succ(x0))) 213.97/145.78 new_primModNatS1(Zero, x0) 213.97/145.78 new_primModNatS02(x0, x1) 213.97/145.78 new_primMinusNatS2(Zero, Zero) 213.97/145.78 new_primModNatS1(Succ(Zero), Zero) 213.97/145.78 new_primMinusNatS2(Succ(x0), Zero) 213.97/145.78 new_esEs(Pos(Zero)) 213.97/145.78 new_primMinusNatS0(x0) 213.97/145.78 new_primEqInt(Neg(Succ(x0))) 213.97/145.78 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 213.97/145.78 new_esEs(Neg(Succ(x0))) 213.97/145.78 new_primEqInt(Neg(Zero)) 213.97/145.78 new_primModNatS01(x0, x1, Zero, Zero) 213.97/145.78 new_primEqInt(Pos(Succ(x0))) 213.97/145.78 new_primMinusNatS2(Zero, Succ(x0)) 213.97/145.78 new_primModNatS1(Succ(Zero), Succ(x0)) 213.97/145.78 new_primMinusNatS2(Succ(x0), Succ(x1)) 213.97/145.78 new_primModNatS01(x0, x1, Zero, Succ(x2)) 213.97/145.78 new_esEs(Neg(Zero)) 213.97/145.78 213.97/145.78 We have to consider all minimal (P,Q,R)-chains. 213.97/145.78 ---------------------------------------- 213.97/145.78 213.97/145.78 (144) QReductionProof (EQUIVALENT) 213.97/145.78 We deleted the following terms from Q as each root-symbol of these terms does neither occur in P nor in R.[THIEMANN]. 213.97/145.78 213.97/145.78 new_primModNatS01(x0, x1, Succ(x2), Zero) 213.97/145.78 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 213.97/145.78 new_primModNatS02(x0, x1) 213.97/145.78 new_primMinusNatS2(Zero, Zero) 213.97/145.78 new_primMinusNatS2(Succ(x0), Zero) 213.97/145.78 new_primModNatS01(x0, x1, Zero, Zero) 213.97/145.78 new_primMinusNatS2(Zero, Succ(x0)) 213.97/145.78 new_primMinusNatS2(Succ(x0), Succ(x1)) 213.97/145.78 new_primModNatS01(x0, x1, Zero, Succ(x2)) 213.97/145.78 213.97/145.78 213.97/145.78 ---------------------------------------- 213.97/145.78 213.97/145.78 (145) 213.97/145.78 Obligation: 213.97/145.78 Q DP problem: 213.97/145.78 The TRS P consists of the following rules: 213.97/145.78 213.97/145.78 new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 213.97/145.78 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)))) 213.97/145.78 new_gcd0Gcd'1(False, Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 213.97/145.78 new_gcd0Gcd'0(Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 213.97/145.78 213.97/145.78 The TRS R consists of the following rules: 213.97/145.78 213.97/145.78 new_primModNatS1(Succ(Succ(vyv293000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv293000), Zero) 213.97/145.78 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 213.97/145.78 new_primMinusNatS0(vyv271000) -> Succ(vyv271000) 213.97/145.78 new_primModNatS1(Zero, vyv29200) -> Zero 213.97/145.78 new_primMinusNatS1 -> Zero 213.97/145.78 new_esEs(Neg(Succ(vyv24300))) -> new_primEqInt(Neg(Succ(vyv24300))) 213.97/145.78 new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) 213.97/145.78 new_primEqInt(Neg(Zero)) -> True 213.97/145.78 new_primEqInt(Neg(Succ(vyv242000))) -> False 213.97/145.78 213.97/145.78 The set Q consists of the following terms: 213.97/145.78 213.97/145.78 new_primModNatS1(Succ(Succ(x0)), Zero) 213.97/145.78 new_primMinusNatS1 213.97/145.78 new_primEqInt(Pos(Zero)) 213.97/145.78 new_esEs(Pos(Succ(x0))) 213.97/145.78 new_primModNatS1(Zero, x0) 213.97/145.78 new_primModNatS1(Succ(Zero), Zero) 213.97/145.78 new_esEs(Pos(Zero)) 213.97/145.78 new_primMinusNatS0(x0) 213.97/145.78 new_primEqInt(Neg(Succ(x0))) 213.97/145.78 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 213.97/145.78 new_esEs(Neg(Succ(x0))) 213.97/145.78 new_primEqInt(Neg(Zero)) 213.97/145.78 new_primEqInt(Pos(Succ(x0))) 213.97/145.78 new_primModNatS1(Succ(Zero), Succ(x0)) 213.97/145.78 new_esEs(Neg(Zero)) 213.97/145.78 213.97/145.78 We have to consider all minimal (P,Q,R)-chains. 213.97/145.78 ---------------------------------------- 213.97/145.78 213.97/145.78 (146) TransformationProof (EQUIVALENT) 213.97/145.78 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]: 213.97/145.78 213.97/145.78 (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))))) 213.97/145.78 213.97/145.78 213.97/145.78 ---------------------------------------- 213.97/145.78 213.97/145.78 (147) 213.97/145.78 Obligation: 213.97/145.78 Q DP problem: 213.97/145.78 The TRS P consists of the following rules: 213.97/145.78 213.97/145.78 new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 213.97/145.78 new_gcd0Gcd'1(False, Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 213.97/145.78 new_gcd0Gcd'0(Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 213.97/145.78 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)))) 213.97/145.78 213.97/145.78 The TRS R consists of the following rules: 213.97/145.78 213.97/145.78 new_primModNatS1(Succ(Succ(vyv293000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv293000), Zero) 213.97/145.78 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 213.97/145.78 new_primMinusNatS0(vyv271000) -> Succ(vyv271000) 213.97/145.78 new_primModNatS1(Zero, vyv29200) -> Zero 213.97/145.78 new_primMinusNatS1 -> Zero 213.97/145.78 new_esEs(Neg(Succ(vyv24300))) -> new_primEqInt(Neg(Succ(vyv24300))) 213.97/145.78 new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) 213.97/145.78 new_primEqInt(Neg(Zero)) -> True 213.97/145.78 new_primEqInt(Neg(Succ(vyv242000))) -> False 213.97/145.78 213.97/145.78 The set Q consists of the following terms: 213.97/145.78 213.97/145.78 new_primModNatS1(Succ(Succ(x0)), Zero) 213.97/145.78 new_primMinusNatS1 213.97/145.78 new_primEqInt(Pos(Zero)) 213.97/145.78 new_esEs(Pos(Succ(x0))) 213.97/145.78 new_primModNatS1(Zero, x0) 213.97/145.78 new_primModNatS1(Succ(Zero), Zero) 213.97/145.78 new_esEs(Pos(Zero)) 213.97/145.78 new_primMinusNatS0(x0) 213.97/145.78 new_primEqInt(Neg(Succ(x0))) 213.97/145.78 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 213.97/145.78 new_esEs(Neg(Succ(x0))) 213.97/145.78 new_primEqInt(Neg(Zero)) 213.97/145.78 new_primEqInt(Pos(Succ(x0))) 213.97/145.78 new_primModNatS1(Succ(Zero), Succ(x0)) 213.97/145.78 new_esEs(Neg(Zero)) 213.97/145.78 213.97/145.78 We have to consider all minimal (P,Q,R)-chains. 213.97/145.78 ---------------------------------------- 213.97/145.78 213.97/145.78 (148) TransformationProof (EQUIVALENT) 213.97/145.78 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]: 213.97/145.78 213.97/145.78 (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)))) 213.97/145.78 (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)))) 213.97/145.78 213.97/145.78 213.97/145.78 ---------------------------------------- 213.97/145.78 213.97/145.78 (149) 213.97/145.78 Obligation: 213.97/145.78 Q DP problem: 213.97/145.78 The TRS P consists of the following rules: 213.97/145.78 213.97/145.78 new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 213.97/145.78 new_gcd0Gcd'0(Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 213.97/145.78 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)))) 213.97/145.78 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))) 213.97/145.78 new_gcd0Gcd'1(False, Pos(Succ(Zero)), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Pos(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS1, Zero))) 213.97/145.78 213.97/145.78 The TRS R consists of the following rules: 213.97/145.78 213.97/145.78 new_primModNatS1(Succ(Succ(vyv293000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv293000), Zero) 213.97/145.78 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 213.97/145.78 new_primMinusNatS0(vyv271000) -> Succ(vyv271000) 213.97/145.78 new_primModNatS1(Zero, vyv29200) -> Zero 213.97/145.78 new_primMinusNatS1 -> Zero 213.97/145.78 new_esEs(Neg(Succ(vyv24300))) -> new_primEqInt(Neg(Succ(vyv24300))) 213.97/145.78 new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) 213.97/145.78 new_primEqInt(Neg(Zero)) -> True 213.97/145.78 new_primEqInt(Neg(Succ(vyv242000))) -> False 213.97/145.78 213.97/145.78 The set Q consists of the following terms: 213.97/145.78 213.97/145.78 new_primModNatS1(Succ(Succ(x0)), Zero) 213.97/145.78 new_primMinusNatS1 213.97/145.78 new_primEqInt(Pos(Zero)) 213.97/145.78 new_esEs(Pos(Succ(x0))) 213.97/145.78 new_primModNatS1(Zero, x0) 213.97/145.78 new_primModNatS1(Succ(Zero), Zero) 213.97/145.78 new_esEs(Pos(Zero)) 213.97/145.78 new_primMinusNatS0(x0) 213.97/145.78 new_primEqInt(Neg(Succ(x0))) 213.97/145.78 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 213.97/145.78 new_esEs(Neg(Succ(x0))) 213.97/145.78 new_primEqInt(Neg(Zero)) 213.97/145.78 new_primEqInt(Pos(Succ(x0))) 213.97/145.78 new_primModNatS1(Succ(Zero), Succ(x0)) 213.97/145.78 new_esEs(Neg(Zero)) 213.97/145.78 213.97/145.78 We have to consider all minimal (P,Q,R)-chains. 213.97/145.78 ---------------------------------------- 213.97/145.78 213.97/145.78 (150) TransformationProof (EQUIVALENT) 213.97/145.78 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]: 213.97/145.78 213.97/145.78 (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)))) 213.97/145.78 213.97/145.78 213.97/145.78 ---------------------------------------- 213.97/145.78 213.97/145.78 (151) 213.97/145.78 Obligation: 213.97/145.78 Q DP problem: 213.97/145.78 The TRS P consists of the following rules: 213.97/145.78 213.97/145.78 new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 213.97/145.78 new_gcd0Gcd'0(Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 213.97/145.78 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)))) 213.97/145.78 new_gcd0Gcd'1(False, Pos(Succ(Zero)), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Pos(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS1, Zero))) 213.97/145.78 new_gcd0Gcd'1(False, Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_gcd0Gcd'0(Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 213.97/145.78 213.97/145.78 The TRS R consists of the following rules: 213.97/145.78 213.97/145.78 new_primModNatS1(Succ(Succ(vyv293000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv293000), Zero) 213.97/145.78 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 213.97/145.78 new_primMinusNatS0(vyv271000) -> Succ(vyv271000) 213.97/145.78 new_primModNatS1(Zero, vyv29200) -> Zero 213.97/145.78 new_primMinusNatS1 -> Zero 213.97/145.78 new_esEs(Neg(Succ(vyv24300))) -> new_primEqInt(Neg(Succ(vyv24300))) 213.97/145.78 new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) 213.97/145.78 new_primEqInt(Neg(Zero)) -> True 213.97/145.78 new_primEqInt(Neg(Succ(vyv242000))) -> False 213.97/145.78 213.97/145.78 The set Q consists of the following terms: 213.97/145.78 213.97/145.78 new_primModNatS1(Succ(Succ(x0)), Zero) 213.97/145.78 new_primMinusNatS1 213.97/145.78 new_primEqInt(Pos(Zero)) 213.97/145.78 new_esEs(Pos(Succ(x0))) 213.97/145.78 new_primModNatS1(Zero, x0) 213.97/145.78 new_primModNatS1(Succ(Zero), Zero) 213.97/145.78 new_esEs(Pos(Zero)) 213.97/145.78 new_primMinusNatS0(x0) 213.97/145.78 new_primEqInt(Neg(Succ(x0))) 213.97/145.78 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 213.97/145.78 new_esEs(Neg(Succ(x0))) 213.97/145.78 new_primEqInt(Neg(Zero)) 213.97/145.78 new_primEqInt(Pos(Succ(x0))) 213.97/145.78 new_primModNatS1(Succ(Zero), Succ(x0)) 213.97/145.78 new_esEs(Neg(Zero)) 213.97/145.78 213.97/145.78 We have to consider all minimal (P,Q,R)-chains. 213.97/145.78 ---------------------------------------- 213.97/145.78 213.97/145.78 (152) TransformationProof (EQUIVALENT) 213.97/145.78 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]: 213.97/145.78 213.97/145.78 (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)))) 213.97/145.78 213.97/145.78 213.97/145.78 ---------------------------------------- 213.97/145.78 213.97/145.78 (153) 213.97/145.78 Obligation: 213.97/145.78 Q DP problem: 213.97/145.78 The TRS P consists of the following rules: 213.97/145.78 213.97/145.78 new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 213.97/145.78 new_gcd0Gcd'0(Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 213.97/145.78 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)))) 213.97/145.78 new_gcd0Gcd'1(False, Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_gcd0Gcd'0(Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 213.97/145.78 new_gcd0Gcd'1(False, Pos(Succ(Zero)), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Pos(Succ(Zero)), Neg(new_primModNatS1(Zero, Zero))) 213.97/145.78 213.97/145.78 The TRS R consists of the following rules: 213.97/145.78 213.97/145.78 new_primModNatS1(Succ(Succ(vyv293000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv293000), Zero) 213.97/145.78 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 213.97/145.78 new_primMinusNatS0(vyv271000) -> Succ(vyv271000) 213.97/145.78 new_primModNatS1(Zero, vyv29200) -> Zero 213.97/145.78 new_primMinusNatS1 -> Zero 213.97/145.78 new_esEs(Neg(Succ(vyv24300))) -> new_primEqInt(Neg(Succ(vyv24300))) 213.97/145.78 new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) 213.97/145.78 new_primEqInt(Neg(Zero)) -> True 213.97/145.78 new_primEqInt(Neg(Succ(vyv242000))) -> False 213.97/145.78 213.97/145.78 The set Q consists of the following terms: 213.97/145.78 213.97/145.78 new_primModNatS1(Succ(Succ(x0)), Zero) 213.97/145.78 new_primMinusNatS1 213.97/145.78 new_primEqInt(Pos(Zero)) 213.97/145.78 new_esEs(Pos(Succ(x0))) 213.97/145.78 new_primModNatS1(Zero, x0) 213.97/145.78 new_primModNatS1(Succ(Zero), Zero) 213.97/145.78 new_esEs(Pos(Zero)) 213.97/145.78 new_primMinusNatS0(x0) 213.97/145.78 new_primEqInt(Neg(Succ(x0))) 213.97/145.78 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 213.97/145.78 new_esEs(Neg(Succ(x0))) 213.97/145.78 new_primEqInt(Neg(Zero)) 213.97/145.78 new_primEqInt(Pos(Succ(x0))) 213.97/145.78 new_primModNatS1(Succ(Zero), Succ(x0)) 213.97/145.78 new_esEs(Neg(Zero)) 213.97/145.78 213.97/145.78 We have to consider all minimal (P,Q,R)-chains. 213.97/145.78 ---------------------------------------- 213.97/145.78 213.97/145.78 (154) DependencyGraphProof (EQUIVALENT) 213.97/145.78 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. 213.97/145.78 ---------------------------------------- 213.97/145.78 213.97/145.78 (155) 213.97/145.78 Obligation: 213.97/145.78 Q DP problem: 213.97/145.78 The TRS P consists of the following rules: 213.97/145.78 213.97/145.78 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)))) 213.97/145.78 new_gcd0Gcd'1(False, Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_gcd0Gcd'0(Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 213.97/145.78 new_gcd0Gcd'0(Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 213.97/145.78 new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 213.97/145.78 213.97/145.78 The TRS R consists of the following rules: 213.97/145.78 213.97/145.78 new_primModNatS1(Succ(Succ(vyv293000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv293000), Zero) 213.97/145.78 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 213.97/145.78 new_primMinusNatS0(vyv271000) -> Succ(vyv271000) 213.97/145.78 new_primModNatS1(Zero, vyv29200) -> Zero 213.97/145.78 new_primMinusNatS1 -> Zero 213.97/145.78 new_esEs(Neg(Succ(vyv24300))) -> new_primEqInt(Neg(Succ(vyv24300))) 213.97/145.78 new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) 213.97/145.78 new_primEqInt(Neg(Zero)) -> True 213.97/145.78 new_primEqInt(Neg(Succ(vyv242000))) -> False 213.97/145.78 213.97/145.78 The set Q consists of the following terms: 213.97/145.78 213.97/145.78 new_primModNatS1(Succ(Succ(x0)), Zero) 213.97/145.78 new_primMinusNatS1 213.97/145.78 new_primEqInt(Pos(Zero)) 213.97/145.78 new_esEs(Pos(Succ(x0))) 213.97/145.78 new_primModNatS1(Zero, x0) 213.97/145.78 new_primModNatS1(Succ(Zero), Zero) 213.97/145.78 new_esEs(Pos(Zero)) 213.97/145.78 new_primMinusNatS0(x0) 213.97/145.78 new_primEqInt(Neg(Succ(x0))) 213.97/145.78 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 213.97/145.78 new_esEs(Neg(Succ(x0))) 213.97/145.78 new_primEqInt(Neg(Zero)) 213.97/145.78 new_primEqInt(Pos(Succ(x0))) 213.97/145.78 new_primModNatS1(Succ(Zero), Succ(x0)) 213.97/145.78 new_esEs(Neg(Zero)) 213.97/145.78 213.97/145.78 We have to consider all minimal (P,Q,R)-chains. 213.97/145.78 ---------------------------------------- 213.97/145.78 213.97/145.78 (156) TransformationProof (EQUIVALENT) 213.97/145.78 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]: 213.97/145.78 213.97/145.78 (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)))))) 213.97/145.78 (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))))) 213.97/145.78 213.97/145.78 213.97/145.78 ---------------------------------------- 213.97/145.78 213.97/145.78 (157) 213.97/145.78 Obligation: 213.97/145.78 Q DP problem: 213.97/145.78 The TRS P consists of the following rules: 213.97/145.78 213.97/145.78 new_gcd0Gcd'1(False, Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_gcd0Gcd'0(Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 213.97/145.78 new_gcd0Gcd'0(Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 213.97/145.78 new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 213.97/145.78 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))))) 213.97/145.78 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)))) 213.97/145.78 213.97/145.78 The TRS R consists of the following rules: 213.97/145.78 213.97/145.78 new_primModNatS1(Succ(Succ(vyv293000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv293000), Zero) 213.97/145.78 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 213.97/145.78 new_primMinusNatS0(vyv271000) -> Succ(vyv271000) 213.97/145.78 new_primModNatS1(Zero, vyv29200) -> Zero 213.97/145.78 new_primMinusNatS1 -> Zero 213.97/145.78 new_esEs(Neg(Succ(vyv24300))) -> new_primEqInt(Neg(Succ(vyv24300))) 213.97/145.78 new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) 213.97/145.78 new_primEqInt(Neg(Zero)) -> True 213.97/145.78 new_primEqInt(Neg(Succ(vyv242000))) -> False 213.97/145.78 213.97/145.78 The set Q consists of the following terms: 213.97/145.78 213.97/145.78 new_primModNatS1(Succ(Succ(x0)), Zero) 213.97/145.78 new_primMinusNatS1 213.97/145.78 new_primEqInt(Pos(Zero)) 213.97/145.78 new_esEs(Pos(Succ(x0))) 213.97/145.78 new_primModNatS1(Zero, x0) 213.97/145.78 new_primModNatS1(Succ(Zero), Zero) 213.97/145.78 new_esEs(Pos(Zero)) 213.97/145.78 new_primMinusNatS0(x0) 213.97/145.78 new_primEqInt(Neg(Succ(x0))) 213.97/145.78 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 213.97/145.78 new_esEs(Neg(Succ(x0))) 213.97/145.78 new_primEqInt(Neg(Zero)) 213.97/145.78 new_primEqInt(Pos(Succ(x0))) 213.97/145.78 new_primModNatS1(Succ(Zero), Succ(x0)) 213.97/145.78 new_esEs(Neg(Zero)) 213.97/145.78 213.97/145.78 We have to consider all minimal (P,Q,R)-chains. 213.97/145.78 ---------------------------------------- 213.97/145.78 213.97/145.78 (158) DependencyGraphProof (EQUIVALENT) 213.97/145.78 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. 213.97/145.78 ---------------------------------------- 213.97/145.78 213.97/145.78 (159) 213.97/145.78 Obligation: 213.97/145.78 Q DP problem: 213.97/145.78 The TRS P consists of the following rules: 213.97/145.78 213.97/145.78 new_gcd0Gcd'0(Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 213.97/145.78 new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 213.97/145.78 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))))) 213.97/145.78 new_gcd0Gcd'1(False, Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_gcd0Gcd'0(Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 213.97/145.78 213.97/145.78 The TRS R consists of the following rules: 213.97/145.78 213.97/145.78 new_primModNatS1(Succ(Succ(vyv293000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv293000), Zero) 213.97/145.78 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 213.97/145.78 new_primMinusNatS0(vyv271000) -> Succ(vyv271000) 213.97/145.78 new_primModNatS1(Zero, vyv29200) -> Zero 213.97/145.78 new_primMinusNatS1 -> Zero 213.97/145.78 new_esEs(Neg(Succ(vyv24300))) -> new_primEqInt(Neg(Succ(vyv24300))) 213.97/145.78 new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) 213.97/145.78 new_primEqInt(Neg(Zero)) -> True 213.97/145.78 new_primEqInt(Neg(Succ(vyv242000))) -> False 213.97/145.78 213.97/145.78 The set Q consists of the following terms: 213.97/145.78 213.97/145.78 new_primModNatS1(Succ(Succ(x0)), Zero) 213.97/145.78 new_primMinusNatS1 213.97/145.78 new_primEqInt(Pos(Zero)) 213.97/145.78 new_esEs(Pos(Succ(x0))) 213.97/145.78 new_primModNatS1(Zero, x0) 213.97/145.78 new_primModNatS1(Succ(Zero), Zero) 213.97/145.78 new_esEs(Pos(Zero)) 213.97/145.78 new_primMinusNatS0(x0) 213.97/145.78 new_primEqInt(Neg(Succ(x0))) 213.97/145.78 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 213.97/145.78 new_esEs(Neg(Succ(x0))) 213.97/145.78 new_primEqInt(Neg(Zero)) 213.97/145.78 new_primEqInt(Pos(Succ(x0))) 213.97/145.78 new_primModNatS1(Succ(Zero), Succ(x0)) 213.97/145.78 new_esEs(Neg(Zero)) 213.97/145.78 213.97/145.78 We have to consider all minimal (P,Q,R)-chains. 213.97/145.78 ---------------------------------------- 213.97/145.78 213.97/145.78 (160) TransformationProof (EQUIVALENT) 213.97/145.78 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]: 213.97/145.78 213.97/145.78 (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)))))) 213.97/145.78 213.97/145.78 213.97/145.78 ---------------------------------------- 213.97/145.78 213.97/145.78 (161) 213.97/145.78 Obligation: 213.97/145.78 Q DP problem: 213.97/145.78 The TRS P consists of the following rules: 213.97/145.78 213.97/145.78 new_gcd0Gcd'0(Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 213.97/145.78 new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 213.97/145.78 new_gcd0Gcd'1(False, Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_gcd0Gcd'0(Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 213.97/145.78 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))))) 213.97/145.78 213.97/145.78 The TRS R consists of the following rules: 213.97/145.78 213.97/145.78 new_primModNatS1(Succ(Succ(vyv293000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv293000), Zero) 213.97/145.78 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 213.97/145.78 new_primMinusNatS0(vyv271000) -> Succ(vyv271000) 213.97/145.78 new_primModNatS1(Zero, vyv29200) -> Zero 213.97/145.78 new_primMinusNatS1 -> Zero 213.97/145.78 new_esEs(Neg(Succ(vyv24300))) -> new_primEqInt(Neg(Succ(vyv24300))) 213.97/145.78 new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) 213.97/145.78 new_primEqInt(Neg(Zero)) -> True 213.97/145.78 new_primEqInt(Neg(Succ(vyv242000))) -> False 213.97/145.78 213.97/145.78 The set Q consists of the following terms: 213.97/145.78 213.97/145.78 new_primModNatS1(Succ(Succ(x0)), Zero) 213.97/145.78 new_primMinusNatS1 213.97/145.78 new_primEqInt(Pos(Zero)) 213.97/145.78 new_esEs(Pos(Succ(x0))) 213.97/145.78 new_primModNatS1(Zero, x0) 213.97/145.78 new_primModNatS1(Succ(Zero), Zero) 213.97/145.78 new_esEs(Pos(Zero)) 213.97/145.78 new_primMinusNatS0(x0) 213.97/145.78 new_primEqInt(Neg(Succ(x0))) 213.97/145.78 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 213.97/145.78 new_esEs(Neg(Succ(x0))) 213.97/145.78 new_primEqInt(Neg(Zero)) 213.97/145.78 new_primEqInt(Pos(Succ(x0))) 213.97/145.78 new_primModNatS1(Succ(Zero), Succ(x0)) 213.97/145.78 new_esEs(Neg(Zero)) 213.97/145.78 213.97/145.78 We have to consider all minimal (P,Q,R)-chains. 213.97/145.78 ---------------------------------------- 213.97/145.78 213.97/145.78 (162) TransformationProof (EQUIVALENT) 213.97/145.78 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]: 213.97/145.78 213.97/145.78 (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)))) 213.97/145.78 (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)))) 213.97/145.78 213.97/145.78 213.97/145.78 ---------------------------------------- 213.97/145.78 213.97/145.78 (163) 213.97/145.78 Obligation: 213.97/145.78 Q DP problem: 213.97/145.78 The TRS P consists of the following rules: 213.97/145.78 213.97/145.78 new_gcd0Gcd'0(Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 213.97/145.78 new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 213.97/145.78 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))))) 213.97/145.78 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))) 213.97/145.78 new_gcd0Gcd'1(False, Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Pos(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS1, Zero))) 213.97/145.78 213.97/145.78 The TRS R consists of the following rules: 213.97/145.78 213.97/145.78 new_primModNatS1(Succ(Succ(vyv293000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv293000), Zero) 213.97/145.78 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 213.97/145.78 new_primMinusNatS0(vyv271000) -> Succ(vyv271000) 213.97/145.78 new_primModNatS1(Zero, vyv29200) -> Zero 213.97/145.78 new_primMinusNatS1 -> Zero 213.97/145.78 new_esEs(Neg(Succ(vyv24300))) -> new_primEqInt(Neg(Succ(vyv24300))) 213.97/145.78 new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) 213.97/145.78 new_primEqInt(Neg(Zero)) -> True 213.97/145.78 new_primEqInt(Neg(Succ(vyv242000))) -> False 213.97/145.78 213.97/145.78 The set Q consists of the following terms: 213.97/145.78 213.97/145.78 new_primModNatS1(Succ(Succ(x0)), Zero) 213.97/145.78 new_primMinusNatS1 213.97/145.78 new_primEqInt(Pos(Zero)) 213.97/145.78 new_esEs(Pos(Succ(x0))) 213.97/145.78 new_primModNatS1(Zero, x0) 213.97/145.78 new_primModNatS1(Succ(Zero), Zero) 213.97/145.78 new_esEs(Pos(Zero)) 213.97/145.78 new_primMinusNatS0(x0) 213.97/145.78 new_primEqInt(Neg(Succ(x0))) 213.97/145.78 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 213.97/145.78 new_esEs(Neg(Succ(x0))) 213.97/145.78 new_primEqInt(Neg(Zero)) 213.97/145.78 new_primEqInt(Pos(Succ(x0))) 213.97/145.78 new_primModNatS1(Succ(Zero), Succ(x0)) 213.97/145.78 new_esEs(Neg(Zero)) 213.97/145.78 213.97/145.78 We have to consider all minimal (P,Q,R)-chains. 213.97/145.78 ---------------------------------------- 213.97/145.78 213.97/145.78 (164) TransformationProof (EQUIVALENT) 213.97/145.78 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]: 213.97/145.78 213.97/145.78 (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)))) 213.97/145.78 213.97/145.78 213.97/145.78 ---------------------------------------- 213.97/145.78 213.97/145.78 (165) 213.97/145.78 Obligation: 213.97/145.78 Q DP problem: 213.97/145.78 The TRS P consists of the following rules: 213.97/145.78 213.97/145.78 new_gcd0Gcd'0(Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 213.97/145.78 new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 213.97/145.78 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))))) 213.97/145.78 new_gcd0Gcd'1(False, Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Pos(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS1, Zero))) 213.97/145.78 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))) 213.97/145.78 213.97/145.78 The TRS R consists of the following rules: 213.97/145.78 213.97/145.78 new_primModNatS1(Succ(Succ(vyv293000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv293000), Zero) 213.97/145.78 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 213.97/145.78 new_primMinusNatS0(vyv271000) -> Succ(vyv271000) 213.97/145.78 new_primModNatS1(Zero, vyv29200) -> Zero 213.97/145.78 new_primMinusNatS1 -> Zero 213.97/145.78 new_esEs(Neg(Succ(vyv24300))) -> new_primEqInt(Neg(Succ(vyv24300))) 213.97/145.78 new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) 213.97/145.78 new_primEqInt(Neg(Zero)) -> True 213.97/145.78 new_primEqInt(Neg(Succ(vyv242000))) -> False 213.97/145.78 213.97/145.78 The set Q consists of the following terms: 213.97/145.78 213.97/145.78 new_primModNatS1(Succ(Succ(x0)), Zero) 213.97/145.78 new_primMinusNatS1 213.97/145.78 new_primEqInt(Pos(Zero)) 213.97/145.78 new_esEs(Pos(Succ(x0))) 213.97/145.78 new_primModNatS1(Zero, x0) 213.97/145.78 new_primModNatS1(Succ(Zero), Zero) 213.97/145.78 new_esEs(Pos(Zero)) 213.97/145.78 new_primMinusNatS0(x0) 213.97/145.78 new_primEqInt(Neg(Succ(x0))) 213.97/145.78 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 213.97/145.78 new_esEs(Neg(Succ(x0))) 213.97/145.78 new_primEqInt(Neg(Zero)) 213.97/145.78 new_primEqInt(Pos(Succ(x0))) 213.97/145.78 new_primModNatS1(Succ(Zero), Succ(x0)) 213.97/145.78 new_esEs(Neg(Zero)) 213.97/145.78 213.97/145.78 We have to consider all minimal (P,Q,R)-chains. 213.97/145.78 ---------------------------------------- 213.97/145.78 213.97/145.78 (166) TransformationProof (EQUIVALENT) 213.97/145.78 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]: 213.97/145.78 213.97/145.78 (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)))) 213.97/145.78 213.97/145.78 213.97/145.78 ---------------------------------------- 213.97/145.78 213.97/145.78 (167) 213.97/145.78 Obligation: 213.97/145.78 Q DP problem: 213.97/145.78 The TRS P consists of the following rules: 213.97/145.78 213.97/145.78 new_gcd0Gcd'0(Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 213.97/145.78 new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 213.97/145.78 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))))) 213.97/145.78 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))) 213.97/145.78 new_gcd0Gcd'1(False, Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Pos(Succ(Zero)), Neg(new_primModNatS1(Zero, Zero))) 213.97/145.78 213.97/145.78 The TRS R consists of the following rules: 213.97/145.78 213.97/145.78 new_primModNatS1(Succ(Succ(vyv293000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv293000), Zero) 213.97/145.78 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 213.97/145.78 new_primMinusNatS0(vyv271000) -> Succ(vyv271000) 213.97/145.78 new_primModNatS1(Zero, vyv29200) -> Zero 213.97/145.78 new_primMinusNatS1 -> Zero 213.97/145.78 new_esEs(Neg(Succ(vyv24300))) -> new_primEqInt(Neg(Succ(vyv24300))) 213.97/145.78 new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) 213.97/145.78 new_primEqInt(Neg(Zero)) -> True 213.97/145.78 new_primEqInt(Neg(Succ(vyv242000))) -> False 213.97/145.78 213.97/145.78 The set Q consists of the following terms: 213.97/145.78 213.97/145.78 new_primModNatS1(Succ(Succ(x0)), Zero) 213.97/145.78 new_primMinusNatS1 213.97/145.78 new_primEqInt(Pos(Zero)) 213.97/145.78 new_esEs(Pos(Succ(x0))) 213.97/145.78 new_primModNatS1(Zero, x0) 213.97/145.78 new_primModNatS1(Succ(Zero), Zero) 213.97/145.78 new_esEs(Pos(Zero)) 213.97/145.78 new_primMinusNatS0(x0) 213.97/145.78 new_primEqInt(Neg(Succ(x0))) 213.97/145.78 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 213.97/145.78 new_esEs(Neg(Succ(x0))) 213.97/145.78 new_primEqInt(Neg(Zero)) 213.97/145.78 new_primEqInt(Pos(Succ(x0))) 213.97/145.78 new_primModNatS1(Succ(Zero), Succ(x0)) 213.97/145.78 new_esEs(Neg(Zero)) 213.97/145.78 213.97/145.78 We have to consider all minimal (P,Q,R)-chains. 213.97/145.78 ---------------------------------------- 213.97/145.78 213.97/145.78 (168) DependencyGraphProof (EQUIVALENT) 213.97/145.78 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. 213.97/145.78 ---------------------------------------- 213.97/145.78 213.97/145.78 (169) 213.97/145.78 Obligation: 213.97/145.78 Q DP problem: 213.97/145.78 The TRS P consists of the following rules: 213.97/145.78 213.97/145.78 new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 213.97/145.78 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))))) 213.97/145.78 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))) 213.97/145.78 new_gcd0Gcd'0(Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 213.97/145.78 213.97/145.78 The TRS R consists of the following rules: 213.97/145.78 213.97/145.78 new_primModNatS1(Succ(Succ(vyv293000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv293000), Zero) 213.97/145.78 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 214.12/145.78 new_primMinusNatS0(vyv271000) -> Succ(vyv271000) 214.12/145.78 new_primModNatS1(Zero, vyv29200) -> Zero 214.12/145.78 new_primMinusNatS1 -> Zero 214.12/145.78 new_esEs(Neg(Succ(vyv24300))) -> new_primEqInt(Neg(Succ(vyv24300))) 214.12/145.78 new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) 214.12/145.78 new_primEqInt(Neg(Zero)) -> True 214.12/145.78 new_primEqInt(Neg(Succ(vyv242000))) -> False 214.12/145.78 214.12/145.78 The set Q consists of the following terms: 214.12/145.78 214.12/145.78 new_primModNatS1(Succ(Succ(x0)), Zero) 214.12/145.78 new_primMinusNatS1 214.12/145.78 new_primEqInt(Pos(Zero)) 214.12/145.78 new_esEs(Pos(Succ(x0))) 214.12/145.78 new_primModNatS1(Zero, x0) 214.12/145.78 new_primModNatS1(Succ(Zero), Zero) 214.12/145.78 new_esEs(Pos(Zero)) 214.12/145.78 new_primMinusNatS0(x0) 214.12/145.78 new_primEqInt(Neg(Succ(x0))) 214.12/145.78 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 214.12/145.78 new_esEs(Neg(Succ(x0))) 214.12/145.78 new_primEqInt(Neg(Zero)) 214.12/145.78 new_primEqInt(Pos(Succ(x0))) 214.12/145.78 new_primModNatS1(Succ(Zero), Succ(x0)) 214.12/145.78 new_esEs(Neg(Zero)) 214.12/145.78 214.12/145.78 We have to consider all minimal (P,Q,R)-chains. 214.12/145.78 ---------------------------------------- 214.12/145.78 214.12/145.78 (170) TransformationProof (EQUIVALENT) 214.12/145.78 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]: 214.12/145.78 214.12/145.78 (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))))))) 214.12/145.78 (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)))))) 214.12/145.78 214.12/145.78 214.12/145.78 ---------------------------------------- 214.12/145.78 214.12/145.78 (171) 214.12/145.78 Obligation: 214.12/145.78 Q DP problem: 214.12/145.78 The TRS P consists of the following rules: 214.12/145.78 214.12/145.78 new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 214.12/145.78 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))) 214.12/145.78 new_gcd0Gcd'0(Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 214.12/145.78 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)))))) 214.12/145.78 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))))) 214.12/145.78 214.12/145.78 The TRS R consists of the following rules: 214.12/145.78 214.12/145.78 new_primModNatS1(Succ(Succ(vyv293000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv293000), Zero) 214.12/145.78 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 214.12/145.78 new_primMinusNatS0(vyv271000) -> Succ(vyv271000) 214.12/145.78 new_primModNatS1(Zero, vyv29200) -> Zero 214.12/145.78 new_primMinusNatS1 -> Zero 214.12/145.78 new_esEs(Neg(Succ(vyv24300))) -> new_primEqInt(Neg(Succ(vyv24300))) 214.12/145.78 new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) 214.12/145.78 new_primEqInt(Neg(Zero)) -> True 214.12/145.78 new_primEqInt(Neg(Succ(vyv242000))) -> False 214.12/145.78 214.12/145.78 The set Q consists of the following terms: 214.12/145.78 214.12/145.78 new_primModNatS1(Succ(Succ(x0)), Zero) 214.12/145.78 new_primMinusNatS1 214.12/145.78 new_primEqInt(Pos(Zero)) 214.12/145.78 new_esEs(Pos(Succ(x0))) 214.12/145.78 new_primModNatS1(Zero, x0) 214.12/145.78 new_primModNatS1(Succ(Zero), Zero) 214.12/145.78 new_esEs(Pos(Zero)) 214.12/145.78 new_primMinusNatS0(x0) 214.12/145.78 new_primEqInt(Neg(Succ(x0))) 214.12/145.78 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 214.12/145.78 new_esEs(Neg(Succ(x0))) 214.12/145.78 new_primEqInt(Neg(Zero)) 214.12/145.78 new_primEqInt(Pos(Succ(x0))) 214.12/145.78 new_primModNatS1(Succ(Zero), Succ(x0)) 214.12/145.78 new_esEs(Neg(Zero)) 214.12/145.78 214.12/145.78 We have to consider all minimal (P,Q,R)-chains. 214.12/145.78 ---------------------------------------- 214.12/145.78 214.12/145.78 (172) DependencyGraphProof (EQUIVALENT) 214.12/145.78 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. 214.12/145.78 ---------------------------------------- 214.12/145.78 214.12/145.78 (173) 214.12/145.78 Obligation: 214.12/145.78 Q DP problem: 214.12/145.78 The TRS P consists of the following rules: 214.12/145.78 214.12/145.78 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)))))) 214.12/145.78 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))) 214.12/145.78 new_gcd0Gcd'0(Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 214.12/145.78 new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 214.12/145.78 214.12/145.78 The TRS R consists of the following rules: 214.12/145.78 214.12/145.78 new_primModNatS1(Succ(Succ(vyv293000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv293000), Zero) 214.12/145.78 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 214.12/145.78 new_primMinusNatS0(vyv271000) -> Succ(vyv271000) 214.12/145.78 new_primModNatS1(Zero, vyv29200) -> Zero 214.12/145.78 new_primMinusNatS1 -> Zero 214.12/145.78 new_esEs(Neg(Succ(vyv24300))) -> new_primEqInt(Neg(Succ(vyv24300))) 214.12/145.78 new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) 214.12/145.78 new_primEqInt(Neg(Zero)) -> True 214.12/145.78 new_primEqInt(Neg(Succ(vyv242000))) -> False 214.12/145.78 214.12/145.78 The set Q consists of the following terms: 214.12/145.78 214.12/145.78 new_primModNatS1(Succ(Succ(x0)), Zero) 214.12/145.78 new_primMinusNatS1 214.12/145.78 new_primEqInt(Pos(Zero)) 214.12/145.78 new_esEs(Pos(Succ(x0))) 214.12/145.78 new_primModNatS1(Zero, x0) 214.12/145.78 new_primModNatS1(Succ(Zero), Zero) 214.12/145.78 new_esEs(Pos(Zero)) 214.12/145.78 new_primMinusNatS0(x0) 214.12/145.78 new_primEqInt(Neg(Succ(x0))) 214.12/145.78 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 214.12/145.78 new_esEs(Neg(Succ(x0))) 214.12/145.78 new_primEqInt(Neg(Zero)) 214.12/145.78 new_primEqInt(Pos(Succ(x0))) 214.12/145.78 new_primModNatS1(Succ(Zero), Succ(x0)) 214.12/145.78 new_esEs(Neg(Zero)) 214.12/145.78 214.12/145.78 We have to consider all minimal (P,Q,R)-chains. 214.12/145.78 ---------------------------------------- 214.12/145.78 214.12/145.78 (174) TransformationProof (EQUIVALENT) 214.12/145.78 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]: 214.12/145.78 214.12/145.78 (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))))))) 214.12/145.78 214.12/145.78 214.12/145.78 ---------------------------------------- 214.12/145.78 214.12/145.78 (175) 214.12/145.78 Obligation: 214.12/145.78 Q DP problem: 214.12/145.78 The TRS P consists of the following rules: 214.12/145.78 214.12/145.78 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))) 214.12/145.78 new_gcd0Gcd'0(Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 214.12/145.78 new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 214.12/145.78 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)))))) 214.12/145.78 214.12/145.78 The TRS R consists of the following rules: 214.12/145.78 214.12/145.78 new_primModNatS1(Succ(Succ(vyv293000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv293000), Zero) 214.12/145.78 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 214.12/145.78 new_primMinusNatS0(vyv271000) -> Succ(vyv271000) 214.12/145.78 new_primModNatS1(Zero, vyv29200) -> Zero 214.12/145.78 new_primMinusNatS1 -> Zero 214.12/145.78 new_esEs(Neg(Succ(vyv24300))) -> new_primEqInt(Neg(Succ(vyv24300))) 214.12/145.78 new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) 214.12/145.78 new_primEqInt(Neg(Zero)) -> True 214.12/145.78 new_primEqInt(Neg(Succ(vyv242000))) -> False 214.12/145.78 214.12/145.78 The set Q consists of the following terms: 214.12/145.78 214.12/145.78 new_primModNatS1(Succ(Succ(x0)), Zero) 214.12/145.78 new_primMinusNatS1 214.12/145.78 new_primEqInt(Pos(Zero)) 214.12/145.78 new_esEs(Pos(Succ(x0))) 214.12/145.78 new_primModNatS1(Zero, x0) 214.12/145.78 new_primModNatS1(Succ(Zero), Zero) 214.12/145.78 new_esEs(Pos(Zero)) 214.12/145.78 new_primMinusNatS0(x0) 214.12/145.78 new_primEqInt(Neg(Succ(x0))) 214.12/145.78 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 214.12/145.78 new_esEs(Neg(Succ(x0))) 214.12/145.78 new_primEqInt(Neg(Zero)) 214.12/145.78 new_primEqInt(Pos(Succ(x0))) 214.12/145.78 new_primModNatS1(Succ(Zero), Succ(x0)) 214.12/145.78 new_esEs(Neg(Zero)) 214.12/145.78 214.12/145.78 We have to consider all minimal (P,Q,R)-chains. 214.12/145.78 ---------------------------------------- 214.12/145.78 214.12/145.78 (176) QDPSizeChangeProof (EQUIVALENT) 214.12/145.78 We used the following order together with the size-change analysis [AAECC05] to show that there are no infinite chains for this DP problem. 214.12/145.78 214.12/145.78 Order:Polynomial interpretation [POLO]: 214.12/145.78 214.12/145.78 POL(False) = 1 214.12/145.78 POL(Neg(x_1)) = x_1 214.12/145.78 POL(Pos(x_1)) = 1 214.12/145.78 POL(Succ(x_1)) = 1 + x_1 214.12/145.78 POL(Zero) = 1 214.12/145.78 POL(new_primMinusNatS0(x_1)) = 1 + x_1 214.12/145.78 POL(new_primMinusNatS1) = 1 214.12/145.78 POL(new_primModNatS1(x_1, x_2)) = x_1 214.12/145.78 214.12/145.78 214.12/145.78 214.12/145.78 214.12/145.78 From the DPs we obtained the following set of size-change graphs: 214.12/145.78 *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}) 214.12/145.78 The graph contains the following edges 2 >= 2, 1 >= 3 214.12/145.78 214.12/145.78 214.12/145.78 *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}) 214.12/145.78 The graph contains the following edges 2 >= 2, 1 >= 3 214.12/145.78 214.12/145.78 214.12/145.78 *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}) 214.12/145.78 The graph contains the following edges 2 >= 1, 3 >= 2 214.12/145.78 214.12/145.78 214.12/145.78 *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}) 214.12/145.78 The graph contains the following edges 2 >= 1, 3 > 2 214.12/145.78 214.12/145.78 214.12/145.78 214.12/145.78 We oriented the following set of usable rules [AAECC05,FROCOS05]. 214.12/145.78 214.12/145.78 new_primModNatS1(Zero, vyv29200) -> Zero 214.12/145.78 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 214.12/145.78 new_primModNatS1(Succ(Succ(vyv293000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv293000), Zero) 214.12/145.78 new_primMinusNatS1 -> Zero 214.12/145.78 new_primMinusNatS0(vyv271000) -> Succ(vyv271000) 214.12/145.78 214.12/145.78 ---------------------------------------- 214.12/145.78 214.12/145.78 (177) 214.12/145.78 YES 214.12/145.78 214.12/145.78 ---------------------------------------- 214.12/145.78 214.12/145.78 (178) 214.12/145.78 Obligation: 214.12/145.78 Q DP problem: 214.12/145.78 The TRS P consists of the following rules: 214.12/145.78 214.12/145.78 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)))) 214.12/145.78 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))) 214.12/145.78 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)))) 214.12/145.78 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))) 214.12/145.78 214.12/145.78 The TRS R consists of the following rules: 214.12/145.78 214.12/145.78 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 214.12/145.78 new_primModNatS1(Succ(Succ(vyv293000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv293000), Zero) 214.12/145.78 new_primModNatS1(Succ(Zero), Succ(vyv292000)) -> Succ(Zero) 214.12/145.78 new_primModNatS01(vyv331, vyv332, Zero, Zero) -> new_primModNatS02(vyv331, vyv332) 214.12/145.78 new_primModNatS02(vyv331, vyv332) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv331), Succ(vyv332)), Succ(vyv332)) 214.12/145.78 new_primModNatS1(Succ(Succ(vyv293000)), Succ(vyv292000)) -> new_primModNatS01(vyv293000, vyv292000, vyv293000, vyv292000) 214.12/145.78 new_primModNatS01(vyv331, vyv332, Succ(vyv3330), Succ(vyv3340)) -> new_primModNatS01(vyv331, vyv332, vyv3330, vyv3340) 214.12/145.78 new_primModNatS01(vyv331, vyv332, Succ(vyv3330), Zero) -> new_primModNatS02(vyv331, vyv332) 214.12/145.78 new_primModNatS1(Zero, vyv29200) -> Zero 214.12/145.78 new_esEs(Pos(Succ(vyv24300))) -> new_primEqInt(Pos(Succ(vyv24300))) 214.12/145.78 new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) 214.12/145.78 new_primEqInt(Pos(Zero)) -> True 214.12/145.78 new_primEqInt(Pos(Succ(vyv242000))) -> False 214.12/145.78 new_primMinusNatS2(Succ(vyv3110), Succ(vyv3120)) -> new_primMinusNatS2(vyv3110, vyv3120) 214.12/145.78 new_primModNatS01(vyv331, vyv332, Zero, Succ(vyv3340)) -> Succ(Succ(vyv331)) 214.12/145.78 new_primMinusNatS2(Zero, Zero) -> Zero 214.12/145.78 new_primMinusNatS2(Zero, Succ(vyv3120)) -> Zero 214.12/145.78 new_primMinusNatS2(Succ(vyv3110), Zero) -> Succ(vyv3110) 214.12/145.78 new_primMinusNatS1 -> Zero 214.12/145.78 new_primMinusNatS0(vyv271000) -> Succ(vyv271000) 214.12/145.78 new_esEs(Neg(Succ(vyv24300))) -> new_primEqInt(Neg(Succ(vyv24300))) 214.12/145.78 new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) 214.12/145.78 new_primEqInt(Neg(Zero)) -> True 214.12/145.78 new_primEqInt(Neg(Succ(vyv242000))) -> False 214.12/145.78 214.12/145.78 The set Q consists of the following terms: 214.12/145.78 214.12/145.78 new_primModNatS01(x0, x1, Succ(x2), Zero) 214.12/145.78 new_primModNatS1(Succ(Succ(x0)), Zero) 214.12/145.78 new_primMinusNatS1 214.12/145.78 new_primEqInt(Pos(Zero)) 214.12/145.78 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 214.12/145.78 new_esEs(Pos(Succ(x0))) 214.12/145.78 new_primModNatS1(Zero, x0) 214.12/145.78 new_primModNatS02(x0, x1) 214.12/145.78 new_primMinusNatS2(Zero, Zero) 214.12/145.78 new_primModNatS1(Succ(Zero), Zero) 214.12/145.78 new_primMinusNatS2(Succ(x0), Zero) 214.12/145.78 new_esEs(Pos(Zero)) 214.12/145.78 new_primMinusNatS0(x0) 214.12/145.78 new_primEqInt(Neg(Succ(x0))) 214.12/145.78 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 214.12/145.78 new_esEs(Neg(Succ(x0))) 214.12/145.78 new_primEqInt(Neg(Zero)) 214.12/145.78 new_primModNatS01(x0, x1, Zero, Zero) 214.12/145.78 new_primEqInt(Pos(Succ(x0))) 214.12/145.78 new_primMinusNatS2(Zero, Succ(x0)) 214.12/145.78 new_primModNatS1(Succ(Zero), Succ(x0)) 214.12/145.78 new_primMinusNatS2(Succ(x0), Succ(x1)) 214.12/145.78 new_primModNatS01(x0, x1, Zero, Succ(x2)) 214.12/145.78 new_esEs(Neg(Zero)) 214.12/145.78 214.12/145.78 We have to consider all minimal (P,Q,R)-chains. 214.12/145.78 ---------------------------------------- 214.12/145.78 214.12/145.78 (179) UsableRulesProof (EQUIVALENT) 214.12/145.78 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. 214.12/145.78 ---------------------------------------- 214.12/145.78 214.12/145.78 (180) 214.12/145.78 Obligation: 214.12/145.78 Q DP problem: 214.12/145.78 The TRS P consists of the following rules: 214.12/145.78 214.12/145.78 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)))) 214.12/145.78 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))) 214.12/145.78 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)))) 214.12/145.78 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))) 214.12/145.78 214.12/145.78 The TRS R consists of the following rules: 214.12/145.78 214.12/145.78 new_primModNatS1(Succ(Succ(vyv293000)), Succ(vyv292000)) -> new_primModNatS01(vyv293000, vyv292000, vyv293000, vyv292000) 214.12/145.78 new_primModNatS01(vyv331, vyv332, Zero, Zero) -> new_primModNatS02(vyv331, vyv332) 214.12/145.78 new_primModNatS02(vyv331, vyv332) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv331), Succ(vyv332)), Succ(vyv332)) 214.12/145.78 new_primModNatS01(vyv331, vyv332, Succ(vyv3330), Succ(vyv3340)) -> new_primModNatS01(vyv331, vyv332, vyv3330, vyv3340) 214.12/145.78 new_primModNatS01(vyv331, vyv332, Succ(vyv3330), Zero) -> new_primModNatS02(vyv331, vyv332) 214.12/145.78 new_primModNatS01(vyv331, vyv332, Zero, Succ(vyv3340)) -> Succ(Succ(vyv331)) 214.12/145.78 new_primMinusNatS2(Succ(vyv3110), Succ(vyv3120)) -> new_primMinusNatS2(vyv3110, vyv3120) 214.12/145.78 new_primModNatS1(Succ(Zero), Succ(vyv292000)) -> Succ(Zero) 214.12/145.78 new_primModNatS1(Zero, vyv29200) -> Zero 214.12/145.78 new_primMinusNatS2(Zero, Zero) -> Zero 214.12/145.78 new_primMinusNatS2(Zero, Succ(vyv3120)) -> Zero 214.12/145.78 new_primMinusNatS2(Succ(vyv3110), Zero) -> Succ(vyv3110) 214.12/145.78 new_esEs(Pos(Succ(vyv24300))) -> new_primEqInt(Pos(Succ(vyv24300))) 214.12/145.78 new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) 214.12/145.78 new_primEqInt(Pos(Zero)) -> True 214.12/145.78 new_primEqInt(Pos(Succ(vyv242000))) -> False 214.12/145.78 new_esEs(Neg(Succ(vyv24300))) -> new_primEqInt(Neg(Succ(vyv24300))) 214.12/145.78 new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) 214.12/145.78 new_primEqInt(Neg(Zero)) -> True 214.12/145.78 new_primEqInt(Neg(Succ(vyv242000))) -> False 214.12/145.78 214.12/145.78 The set Q consists of the following terms: 214.12/145.78 214.12/145.78 new_primModNatS01(x0, x1, Succ(x2), Zero) 214.12/145.78 new_primModNatS1(Succ(Succ(x0)), Zero) 214.12/145.78 new_primMinusNatS1 214.12/145.78 new_primEqInt(Pos(Zero)) 214.12/145.78 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 214.12/145.78 new_esEs(Pos(Succ(x0))) 214.12/145.78 new_primModNatS1(Zero, x0) 214.12/145.78 new_primModNatS02(x0, x1) 214.12/145.78 new_primMinusNatS2(Zero, Zero) 214.12/145.78 new_primModNatS1(Succ(Zero), Zero) 214.12/145.78 new_primMinusNatS2(Succ(x0), Zero) 214.12/145.78 new_esEs(Pos(Zero)) 214.12/145.78 new_primMinusNatS0(x0) 214.12/145.78 new_primEqInt(Neg(Succ(x0))) 214.12/145.78 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 214.12/145.78 new_esEs(Neg(Succ(x0))) 214.12/145.78 new_primEqInt(Neg(Zero)) 214.12/145.78 new_primModNatS01(x0, x1, Zero, Zero) 214.12/145.78 new_primEqInt(Pos(Succ(x0))) 214.12/145.78 new_primMinusNatS2(Zero, Succ(x0)) 214.12/145.78 new_primModNatS1(Succ(Zero), Succ(x0)) 214.12/145.78 new_primMinusNatS2(Succ(x0), Succ(x1)) 214.12/145.78 new_primModNatS01(x0, x1, Zero, Succ(x2)) 214.12/145.78 new_esEs(Neg(Zero)) 214.12/145.78 214.12/145.78 We have to consider all minimal (P,Q,R)-chains. 214.12/145.78 ---------------------------------------- 214.12/145.78 214.12/145.78 (181) QReductionProof (EQUIVALENT) 214.12/145.78 We deleted the following terms from Q as each root-symbol of these terms does neither occur in P nor in R.[THIEMANN]. 214.12/145.78 214.12/145.78 new_primMinusNatS1 214.12/145.78 new_primMinusNatS0(x0) 214.12/145.78 214.12/145.78 214.12/145.78 ---------------------------------------- 214.12/145.78 214.12/145.78 (182) 214.12/145.78 Obligation: 214.12/145.78 Q DP problem: 214.12/145.78 The TRS P consists of the following rules: 214.12/145.78 214.12/145.78 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)))) 214.12/145.78 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))) 214.12/145.78 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)))) 214.12/145.78 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))) 214.12/145.78 214.12/145.78 The TRS R consists of the following rules: 214.12/145.78 214.12/145.78 new_primModNatS1(Succ(Succ(vyv293000)), Succ(vyv292000)) -> new_primModNatS01(vyv293000, vyv292000, vyv293000, vyv292000) 214.12/145.78 new_primModNatS01(vyv331, vyv332, Zero, Zero) -> new_primModNatS02(vyv331, vyv332) 214.12/145.78 new_primModNatS02(vyv331, vyv332) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv331), Succ(vyv332)), Succ(vyv332)) 214.12/145.78 new_primModNatS01(vyv331, vyv332, Succ(vyv3330), Succ(vyv3340)) -> new_primModNatS01(vyv331, vyv332, vyv3330, vyv3340) 214.12/145.78 new_primModNatS01(vyv331, vyv332, Succ(vyv3330), Zero) -> new_primModNatS02(vyv331, vyv332) 214.12/145.78 new_primModNatS01(vyv331, vyv332, Zero, Succ(vyv3340)) -> Succ(Succ(vyv331)) 214.12/145.78 new_primMinusNatS2(Succ(vyv3110), Succ(vyv3120)) -> new_primMinusNatS2(vyv3110, vyv3120) 214.12/145.78 new_primModNatS1(Succ(Zero), Succ(vyv292000)) -> Succ(Zero) 214.12/145.78 new_primModNatS1(Zero, vyv29200) -> Zero 214.12/145.78 new_primMinusNatS2(Zero, Zero) -> Zero 214.12/145.78 new_primMinusNatS2(Zero, Succ(vyv3120)) -> Zero 214.12/145.78 new_primMinusNatS2(Succ(vyv3110), Zero) -> Succ(vyv3110) 214.12/145.78 new_esEs(Pos(Succ(vyv24300))) -> new_primEqInt(Pos(Succ(vyv24300))) 214.12/145.78 new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) 214.12/145.78 new_primEqInt(Pos(Zero)) -> True 214.12/145.78 new_primEqInt(Pos(Succ(vyv242000))) -> False 214.12/145.78 new_esEs(Neg(Succ(vyv24300))) -> new_primEqInt(Neg(Succ(vyv24300))) 214.12/145.78 new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) 214.12/145.78 new_primEqInt(Neg(Zero)) -> True 214.12/145.78 new_primEqInt(Neg(Succ(vyv242000))) -> False 214.12/145.78 214.12/145.78 The set Q consists of the following terms: 214.12/145.78 214.12/145.78 new_primModNatS01(x0, x1, Succ(x2), Zero) 214.12/145.78 new_primModNatS1(Succ(Succ(x0)), Zero) 214.12/145.78 new_primEqInt(Pos(Zero)) 214.12/145.78 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 214.12/145.78 new_esEs(Pos(Succ(x0))) 214.12/145.78 new_primModNatS1(Zero, x0) 214.12/145.78 new_primModNatS02(x0, x1) 214.12/145.78 new_primMinusNatS2(Zero, Zero) 214.12/145.78 new_primModNatS1(Succ(Zero), Zero) 214.12/145.78 new_primMinusNatS2(Succ(x0), Zero) 214.12/145.78 new_esEs(Pos(Zero)) 214.12/145.78 new_primEqInt(Neg(Succ(x0))) 214.12/145.78 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 214.12/145.78 new_esEs(Neg(Succ(x0))) 214.12/145.78 new_primEqInt(Neg(Zero)) 214.12/145.78 new_primModNatS01(x0, x1, Zero, Zero) 214.12/145.78 new_primEqInt(Pos(Succ(x0))) 214.12/145.78 new_primMinusNatS2(Zero, Succ(x0)) 214.12/145.78 new_primModNatS1(Succ(Zero), Succ(x0)) 214.12/145.78 new_primMinusNatS2(Succ(x0), Succ(x1)) 214.12/145.78 new_primModNatS01(x0, x1, Zero, Succ(x2)) 214.12/145.78 new_esEs(Neg(Zero)) 214.12/145.78 214.12/145.78 We have to consider all minimal (P,Q,R)-chains. 214.12/145.78 ---------------------------------------- 214.12/145.78 214.12/145.78 (183) TransformationProof (EQUIVALENT) 214.12/145.78 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]: 214.12/145.78 214.12/145.78 (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))))) 214.12/145.78 (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)))))) 214.12/145.78 (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)))))) 214.12/145.78 (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))))) 214.12/145.78 214.12/145.78 214.12/145.78 ---------------------------------------- 214.12/145.78 214.12/145.78 (184) 214.12/145.78 Obligation: 214.12/145.78 Q DP problem: 214.12/145.78 The TRS P consists of the following rules: 214.12/145.78 214.12/145.78 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))) 214.12/145.78 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)))) 214.12/145.78 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))) 214.12/145.78 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)))) 214.12/145.78 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))))) 214.12/145.78 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))))) 214.12/145.78 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)))) 214.12/145.78 214.12/145.78 The TRS R consists of the following rules: 214.12/145.78 214.12/145.78 new_primModNatS1(Succ(Succ(vyv293000)), Succ(vyv292000)) -> new_primModNatS01(vyv293000, vyv292000, vyv293000, vyv292000) 214.12/145.78 new_primModNatS01(vyv331, vyv332, Zero, Zero) -> new_primModNatS02(vyv331, vyv332) 214.12/145.78 new_primModNatS02(vyv331, vyv332) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv331), Succ(vyv332)), Succ(vyv332)) 214.12/145.78 new_primModNatS01(vyv331, vyv332, Succ(vyv3330), Succ(vyv3340)) -> new_primModNatS01(vyv331, vyv332, vyv3330, vyv3340) 214.12/145.78 new_primModNatS01(vyv331, vyv332, Succ(vyv3330), Zero) -> new_primModNatS02(vyv331, vyv332) 214.12/145.78 new_primModNatS01(vyv331, vyv332, Zero, Succ(vyv3340)) -> Succ(Succ(vyv331)) 214.12/145.78 new_primMinusNatS2(Succ(vyv3110), Succ(vyv3120)) -> new_primMinusNatS2(vyv3110, vyv3120) 214.12/145.78 new_primModNatS1(Succ(Zero), Succ(vyv292000)) -> Succ(Zero) 214.12/145.78 new_primModNatS1(Zero, vyv29200) -> Zero 214.12/145.78 new_primMinusNatS2(Zero, Zero) -> Zero 214.12/145.78 new_primMinusNatS2(Zero, Succ(vyv3120)) -> Zero 214.12/145.78 new_primMinusNatS2(Succ(vyv3110), Zero) -> Succ(vyv3110) 214.12/145.78 new_esEs(Pos(Succ(vyv24300))) -> new_primEqInt(Pos(Succ(vyv24300))) 214.12/145.78 new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) 214.12/145.78 new_primEqInt(Pos(Zero)) -> True 214.12/145.78 new_primEqInt(Pos(Succ(vyv242000))) -> False 214.12/145.78 new_esEs(Neg(Succ(vyv24300))) -> new_primEqInt(Neg(Succ(vyv24300))) 214.12/145.78 new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) 214.12/145.78 new_primEqInt(Neg(Zero)) -> True 214.12/145.78 new_primEqInt(Neg(Succ(vyv242000))) -> False 214.12/145.78 214.12/145.78 The set Q consists of the following terms: 214.12/145.78 214.12/145.78 new_primModNatS01(x0, x1, Succ(x2), Zero) 214.12/145.78 new_primModNatS1(Succ(Succ(x0)), Zero) 214.12/145.78 new_primEqInt(Pos(Zero)) 214.12/145.78 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 214.12/145.78 new_esEs(Pos(Succ(x0))) 214.12/145.78 new_primModNatS1(Zero, x0) 214.12/145.78 new_primModNatS02(x0, x1) 214.12/145.78 new_primMinusNatS2(Zero, Zero) 214.12/145.78 new_primModNatS1(Succ(Zero), Zero) 214.12/145.78 new_primMinusNatS2(Succ(x0), Zero) 214.12/145.78 new_esEs(Pos(Zero)) 214.12/145.78 new_primEqInt(Neg(Succ(x0))) 214.12/145.78 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 214.12/145.78 new_esEs(Neg(Succ(x0))) 214.12/145.78 new_primEqInt(Neg(Zero)) 214.12/145.78 new_primModNatS01(x0, x1, Zero, Zero) 214.12/145.78 new_primEqInt(Pos(Succ(x0))) 214.12/145.78 new_primMinusNatS2(Zero, Succ(x0)) 214.12/145.78 new_primModNatS1(Succ(Zero), Succ(x0)) 214.12/145.78 new_primMinusNatS2(Succ(x0), Succ(x1)) 214.12/145.78 new_primModNatS01(x0, x1, Zero, Succ(x2)) 214.12/145.78 new_esEs(Neg(Zero)) 214.12/145.78 214.12/145.78 We have to consider all minimal (P,Q,R)-chains. 214.12/145.78 ---------------------------------------- 214.12/145.78 214.12/145.78 (185) TransformationProof (EQUIVALENT) 214.12/145.78 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]: 214.12/145.78 214.12/145.78 (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))))) 214.12/145.78 214.12/145.78 214.12/145.78 ---------------------------------------- 214.12/145.78 214.12/145.78 (186) 214.12/145.78 Obligation: 214.12/145.78 Q DP problem: 214.12/145.78 The TRS P consists of the following rules: 214.12/145.78 214.12/145.78 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))) 214.12/145.78 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)))) 214.12/145.78 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))) 214.12/145.78 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))))) 214.12/145.78 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))))) 214.12/145.78 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)))) 214.12/145.78 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)))) 214.12/145.78 214.12/145.78 The TRS R consists of the following rules: 214.12/145.78 214.12/145.78 new_primModNatS1(Succ(Succ(vyv293000)), Succ(vyv292000)) -> new_primModNatS01(vyv293000, vyv292000, vyv293000, vyv292000) 214.12/145.78 new_primModNatS01(vyv331, vyv332, Zero, Zero) -> new_primModNatS02(vyv331, vyv332) 214.12/145.78 new_primModNatS02(vyv331, vyv332) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv331), Succ(vyv332)), Succ(vyv332)) 214.12/145.78 new_primModNatS01(vyv331, vyv332, Succ(vyv3330), Succ(vyv3340)) -> new_primModNatS01(vyv331, vyv332, vyv3330, vyv3340) 214.12/145.78 new_primModNatS01(vyv331, vyv332, Succ(vyv3330), Zero) -> new_primModNatS02(vyv331, vyv332) 214.12/145.78 new_primModNatS01(vyv331, vyv332, Zero, Succ(vyv3340)) -> Succ(Succ(vyv331)) 214.12/145.78 new_primMinusNatS2(Succ(vyv3110), Succ(vyv3120)) -> new_primMinusNatS2(vyv3110, vyv3120) 214.12/145.78 new_primModNatS1(Succ(Zero), Succ(vyv292000)) -> Succ(Zero) 214.12/145.78 new_primModNatS1(Zero, vyv29200) -> Zero 214.12/145.78 new_primMinusNatS2(Zero, Zero) -> Zero 214.12/145.78 new_primMinusNatS2(Zero, Succ(vyv3120)) -> Zero 214.12/145.78 new_primMinusNatS2(Succ(vyv3110), Zero) -> Succ(vyv3110) 214.12/145.78 new_esEs(Pos(Succ(vyv24300))) -> new_primEqInt(Pos(Succ(vyv24300))) 214.12/145.78 new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) 214.12/145.78 new_primEqInt(Pos(Zero)) -> True 214.12/145.78 new_primEqInt(Pos(Succ(vyv242000))) -> False 214.12/145.78 new_esEs(Neg(Succ(vyv24300))) -> new_primEqInt(Neg(Succ(vyv24300))) 214.12/145.78 new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) 214.12/145.78 new_primEqInt(Neg(Zero)) -> True 214.12/145.78 new_primEqInt(Neg(Succ(vyv242000))) -> False 214.12/145.78 214.12/145.78 The set Q consists of the following terms: 214.12/145.78 214.12/145.78 new_primModNatS01(x0, x1, Succ(x2), Zero) 214.12/145.78 new_primModNatS1(Succ(Succ(x0)), Zero) 214.12/145.78 new_primEqInt(Pos(Zero)) 214.12/145.78 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 214.12/145.78 new_esEs(Pos(Succ(x0))) 214.12/145.78 new_primModNatS1(Zero, x0) 214.12/145.78 new_primModNatS02(x0, x1) 214.12/145.78 new_primMinusNatS2(Zero, Zero) 214.12/145.78 new_primModNatS1(Succ(Zero), Zero) 214.12/145.78 new_primMinusNatS2(Succ(x0), Zero) 214.12/145.78 new_esEs(Pos(Zero)) 214.12/145.78 new_primEqInt(Neg(Succ(x0))) 214.12/145.78 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 214.12/145.78 new_esEs(Neg(Succ(x0))) 214.12/145.78 new_primEqInt(Neg(Zero)) 214.12/145.78 new_primModNatS01(x0, x1, Zero, Zero) 214.12/145.78 new_primEqInt(Pos(Succ(x0))) 214.12/145.78 new_primMinusNatS2(Zero, Succ(x0)) 214.12/145.78 new_primModNatS1(Succ(Zero), Succ(x0)) 214.12/145.78 new_primMinusNatS2(Succ(x0), Succ(x1)) 214.12/145.78 new_primModNatS01(x0, x1, Zero, Succ(x2)) 214.12/145.78 new_esEs(Neg(Zero)) 214.12/145.78 214.12/145.78 We have to consider all minimal (P,Q,R)-chains. 214.12/145.78 ---------------------------------------- 214.12/145.78 214.12/145.78 (187) TransformationProof (EQUIVALENT) 214.12/145.78 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]: 214.12/145.78 214.12/145.78 (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)))))) 214.12/145.78 214.12/145.78 214.12/145.78 ---------------------------------------- 214.12/145.78 214.12/145.78 (188) 214.12/145.78 Obligation: 214.12/145.78 Q DP problem: 214.12/145.78 The TRS P consists of the following rules: 214.12/145.78 214.12/145.78 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))) 214.12/145.78 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)))) 214.12/145.78 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))) 214.12/145.78 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))))) 214.12/145.78 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)))) 214.12/145.78 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)))) 214.12/145.78 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))))) 214.12/145.78 214.12/145.78 The TRS R consists of the following rules: 214.12/145.78 214.12/145.78 new_primModNatS1(Succ(Succ(vyv293000)), Succ(vyv292000)) -> new_primModNatS01(vyv293000, vyv292000, vyv293000, vyv292000) 214.12/145.78 new_primModNatS01(vyv331, vyv332, Zero, Zero) -> new_primModNatS02(vyv331, vyv332) 214.12/145.78 new_primModNatS02(vyv331, vyv332) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv331), Succ(vyv332)), Succ(vyv332)) 214.12/145.78 new_primModNatS01(vyv331, vyv332, Succ(vyv3330), Succ(vyv3340)) -> new_primModNatS01(vyv331, vyv332, vyv3330, vyv3340) 214.12/145.78 new_primModNatS01(vyv331, vyv332, Succ(vyv3330), Zero) -> new_primModNatS02(vyv331, vyv332) 214.12/145.78 new_primModNatS01(vyv331, vyv332, Zero, Succ(vyv3340)) -> Succ(Succ(vyv331)) 214.12/145.78 new_primMinusNatS2(Succ(vyv3110), Succ(vyv3120)) -> new_primMinusNatS2(vyv3110, vyv3120) 214.12/145.78 new_primModNatS1(Succ(Zero), Succ(vyv292000)) -> Succ(Zero) 214.12/145.78 new_primModNatS1(Zero, vyv29200) -> Zero 214.12/145.78 new_primMinusNatS2(Zero, Zero) -> Zero 214.12/145.78 new_primMinusNatS2(Zero, Succ(vyv3120)) -> Zero 214.12/145.78 new_primMinusNatS2(Succ(vyv3110), Zero) -> Succ(vyv3110) 214.12/145.78 new_esEs(Pos(Succ(vyv24300))) -> new_primEqInt(Pos(Succ(vyv24300))) 214.12/145.78 new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) 214.12/145.78 new_primEqInt(Pos(Zero)) -> True 214.12/145.78 new_primEqInt(Pos(Succ(vyv242000))) -> False 214.12/145.78 new_esEs(Neg(Succ(vyv24300))) -> new_primEqInt(Neg(Succ(vyv24300))) 214.12/145.78 new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) 214.12/145.78 new_primEqInt(Neg(Zero)) -> True 214.12/145.78 new_primEqInt(Neg(Succ(vyv242000))) -> False 214.12/145.78 214.12/145.78 The set Q consists of the following terms: 214.12/145.78 214.12/145.78 new_primModNatS01(x0, x1, Succ(x2), Zero) 214.12/145.78 new_primModNatS1(Succ(Succ(x0)), Zero) 214.12/145.78 new_primEqInt(Pos(Zero)) 214.12/145.78 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 214.12/145.78 new_esEs(Pos(Succ(x0))) 214.12/145.78 new_primModNatS1(Zero, x0) 214.12/145.78 new_primModNatS02(x0, x1) 214.12/145.78 new_primMinusNatS2(Zero, Zero) 214.12/145.78 new_primModNatS1(Succ(Zero), Zero) 214.12/145.78 new_primMinusNatS2(Succ(x0), Zero) 214.12/145.78 new_esEs(Pos(Zero)) 214.12/145.78 new_primEqInt(Neg(Succ(x0))) 214.12/145.78 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 214.12/145.78 new_esEs(Neg(Succ(x0))) 214.12/145.78 new_primEqInt(Neg(Zero)) 214.12/145.78 new_primModNatS01(x0, x1, Zero, Zero) 214.12/145.78 new_primEqInt(Pos(Succ(x0))) 214.12/145.78 new_primMinusNatS2(Zero, Succ(x0)) 214.12/145.78 new_primModNatS1(Succ(Zero), Succ(x0)) 214.12/145.78 new_primMinusNatS2(Succ(x0), Succ(x1)) 214.12/145.78 new_primModNatS01(x0, x1, Zero, Succ(x2)) 214.12/145.78 new_esEs(Neg(Zero)) 214.12/145.78 214.12/145.78 We have to consider all minimal (P,Q,R)-chains. 214.12/145.78 ---------------------------------------- 214.12/145.78 214.12/145.78 (189) TransformationProof (EQUIVALENT) 214.12/145.78 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]: 214.12/145.78 214.12/145.78 (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))))) 214.12/145.78 214.12/145.78 214.12/145.78 ---------------------------------------- 214.12/145.78 214.12/145.78 (190) 214.12/145.78 Obligation: 214.12/145.78 Q DP problem: 214.12/145.78 The TRS P consists of the following rules: 214.12/145.78 214.12/145.78 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))) 214.12/145.78 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)))) 214.12/145.78 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))) 214.12/145.78 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))))) 214.12/145.78 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)))) 214.12/145.78 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))))) 214.12/145.78 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)))) 214.12/145.78 214.12/145.78 The TRS R consists of the following rules: 214.12/145.78 214.12/145.78 new_primModNatS1(Succ(Succ(vyv293000)), Succ(vyv292000)) -> new_primModNatS01(vyv293000, vyv292000, vyv293000, vyv292000) 214.12/145.78 new_primModNatS01(vyv331, vyv332, Zero, Zero) -> new_primModNatS02(vyv331, vyv332) 214.12/145.78 new_primModNatS02(vyv331, vyv332) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv331), Succ(vyv332)), Succ(vyv332)) 214.12/145.78 new_primModNatS01(vyv331, vyv332, Succ(vyv3330), Succ(vyv3340)) -> new_primModNatS01(vyv331, vyv332, vyv3330, vyv3340) 214.12/145.78 new_primModNatS01(vyv331, vyv332, Succ(vyv3330), Zero) -> new_primModNatS02(vyv331, vyv332) 214.12/145.78 new_primModNatS01(vyv331, vyv332, Zero, Succ(vyv3340)) -> Succ(Succ(vyv331)) 214.12/145.78 new_primMinusNatS2(Succ(vyv3110), Succ(vyv3120)) -> new_primMinusNatS2(vyv3110, vyv3120) 214.12/145.78 new_primModNatS1(Succ(Zero), Succ(vyv292000)) -> Succ(Zero) 214.12/145.78 new_primModNatS1(Zero, vyv29200) -> Zero 214.12/145.78 new_primMinusNatS2(Zero, Zero) -> Zero 214.12/145.78 new_primMinusNatS2(Zero, Succ(vyv3120)) -> Zero 214.12/145.78 new_primMinusNatS2(Succ(vyv3110), Zero) -> Succ(vyv3110) 214.12/145.78 new_esEs(Pos(Succ(vyv24300))) -> new_primEqInt(Pos(Succ(vyv24300))) 214.12/145.78 new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) 214.12/145.78 new_primEqInt(Pos(Zero)) -> True 214.12/145.78 new_primEqInt(Pos(Succ(vyv242000))) -> False 214.12/145.78 new_esEs(Neg(Succ(vyv24300))) -> new_primEqInt(Neg(Succ(vyv24300))) 214.12/145.78 new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) 214.12/145.78 new_primEqInt(Neg(Zero)) -> True 214.12/145.78 new_primEqInt(Neg(Succ(vyv242000))) -> False 214.12/145.78 214.12/145.78 The set Q consists of the following terms: 214.12/145.78 214.12/145.78 new_primModNatS01(x0, x1, Succ(x2), Zero) 214.12/145.78 new_primModNatS1(Succ(Succ(x0)), Zero) 214.12/145.78 new_primEqInt(Pos(Zero)) 214.12/145.78 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 214.12/145.78 new_esEs(Pos(Succ(x0))) 214.12/145.78 new_primModNatS1(Zero, x0) 214.12/145.78 new_primModNatS02(x0, x1) 214.12/145.78 new_primMinusNatS2(Zero, Zero) 214.12/145.78 new_primModNatS1(Succ(Zero), Zero) 214.12/145.78 new_primMinusNatS2(Succ(x0), Zero) 214.12/145.78 new_esEs(Pos(Zero)) 214.12/145.78 new_primEqInt(Neg(Succ(x0))) 214.12/145.78 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 214.12/145.78 new_esEs(Neg(Succ(x0))) 214.12/145.78 new_primEqInt(Neg(Zero)) 214.12/145.78 new_primModNatS01(x0, x1, Zero, Zero) 214.12/145.78 new_primEqInt(Pos(Succ(x0))) 214.12/145.78 new_primMinusNatS2(Zero, Succ(x0)) 214.12/145.78 new_primModNatS1(Succ(Zero), Succ(x0)) 214.12/145.78 new_primMinusNatS2(Succ(x0), Succ(x1)) 214.12/145.78 new_primModNatS01(x0, x1, Zero, Succ(x2)) 214.12/145.78 new_esEs(Neg(Zero)) 214.12/145.78 214.12/145.78 We have to consider all minimal (P,Q,R)-chains. 214.12/145.78 ---------------------------------------- 214.12/145.78 214.12/145.78 (191) TransformationProof (EQUIVALENT) 214.12/145.78 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]: 214.12/145.78 214.12/145.78 (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))))) 214.12/145.78 214.12/145.78 214.12/145.78 ---------------------------------------- 214.12/145.78 214.12/145.78 (192) 214.12/145.78 Obligation: 214.12/145.78 Q DP problem: 214.12/145.78 The TRS P consists of the following rules: 214.12/145.78 214.12/145.78 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))) 214.12/145.78 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)))) 214.12/145.78 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))) 214.12/145.78 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))))) 214.12/145.78 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))))) 214.12/145.78 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)))) 214.12/145.78 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)))) 214.12/145.78 214.12/145.78 The TRS R consists of the following rules: 214.12/145.78 214.12/145.78 new_primModNatS1(Succ(Succ(vyv293000)), Succ(vyv292000)) -> new_primModNatS01(vyv293000, vyv292000, vyv293000, vyv292000) 214.12/145.78 new_primModNatS01(vyv331, vyv332, Zero, Zero) -> new_primModNatS02(vyv331, vyv332) 214.12/145.78 new_primModNatS02(vyv331, vyv332) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv331), Succ(vyv332)), Succ(vyv332)) 214.12/145.78 new_primModNatS01(vyv331, vyv332, Succ(vyv3330), Succ(vyv3340)) -> new_primModNatS01(vyv331, vyv332, vyv3330, vyv3340) 214.12/145.78 new_primModNatS01(vyv331, vyv332, Succ(vyv3330), Zero) -> new_primModNatS02(vyv331, vyv332) 214.12/145.78 new_primModNatS01(vyv331, vyv332, Zero, Succ(vyv3340)) -> Succ(Succ(vyv331)) 214.12/145.78 new_primMinusNatS2(Succ(vyv3110), Succ(vyv3120)) -> new_primMinusNatS2(vyv3110, vyv3120) 214.12/145.78 new_primModNatS1(Succ(Zero), Succ(vyv292000)) -> Succ(Zero) 214.12/145.78 new_primModNatS1(Zero, vyv29200) -> Zero 214.12/145.78 new_primMinusNatS2(Zero, Zero) -> Zero 214.12/145.78 new_primMinusNatS2(Zero, Succ(vyv3120)) -> Zero 214.12/145.78 new_primMinusNatS2(Succ(vyv3110), Zero) -> Succ(vyv3110) 214.12/145.78 new_esEs(Pos(Succ(vyv24300))) -> new_primEqInt(Pos(Succ(vyv24300))) 214.12/145.78 new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) 214.12/145.78 new_primEqInt(Pos(Zero)) -> True 214.12/145.78 new_primEqInt(Pos(Succ(vyv242000))) -> False 214.12/145.78 new_esEs(Neg(Succ(vyv24300))) -> new_primEqInt(Neg(Succ(vyv24300))) 214.12/145.78 new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) 214.12/145.78 new_primEqInt(Neg(Zero)) -> True 214.12/145.78 new_primEqInt(Neg(Succ(vyv242000))) -> False 214.12/145.78 214.12/145.78 The set Q consists of the following terms: 214.12/145.78 214.12/145.78 new_primModNatS01(x0, x1, Succ(x2), Zero) 214.12/145.78 new_primModNatS1(Succ(Succ(x0)), Zero) 214.12/145.78 new_primEqInt(Pos(Zero)) 214.12/145.78 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 214.12/145.78 new_esEs(Pos(Succ(x0))) 214.12/145.78 new_primModNatS1(Zero, x0) 214.12/145.78 new_primModNatS02(x0, x1) 214.12/145.78 new_primMinusNatS2(Zero, Zero) 214.12/145.78 new_primModNatS1(Succ(Zero), Zero) 214.12/145.78 new_primMinusNatS2(Succ(x0), Zero) 214.12/145.78 new_esEs(Pos(Zero)) 214.12/145.78 new_primEqInt(Neg(Succ(x0))) 214.12/145.78 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 214.12/145.78 new_esEs(Neg(Succ(x0))) 214.12/145.78 new_primEqInt(Neg(Zero)) 214.12/145.78 new_primModNatS01(x0, x1, Zero, Zero) 214.12/145.78 new_primEqInt(Pos(Succ(x0))) 214.12/145.78 new_primMinusNatS2(Zero, Succ(x0)) 214.12/145.78 new_primModNatS1(Succ(Zero), Succ(x0)) 214.12/145.78 new_primMinusNatS2(Succ(x0), Succ(x1)) 214.12/145.78 new_primModNatS01(x0, x1, Zero, Succ(x2)) 214.12/145.78 new_esEs(Neg(Zero)) 214.12/145.78 214.12/145.78 We have to consider all minimal (P,Q,R)-chains. 214.12/145.78 ---------------------------------------- 214.12/145.78 214.12/145.78 (193) TransformationProof (EQUIVALENT) 214.12/145.78 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]: 214.12/145.78 214.12/145.78 (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)))))) 214.12/145.78 214.12/145.78 214.12/145.78 ---------------------------------------- 214.12/145.78 214.12/145.78 (194) 214.12/145.78 Obligation: 214.12/145.78 Q DP problem: 214.12/145.78 The TRS P consists of the following rules: 214.12/145.78 214.12/145.78 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))) 214.12/145.78 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)))) 214.12/145.78 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))) 214.12/145.78 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))))) 214.12/145.78 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)))) 214.12/145.78 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)))) 214.12/145.78 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))))) 214.12/145.78 214.12/145.78 The TRS R consists of the following rules: 214.12/145.78 214.12/145.78 new_primModNatS1(Succ(Succ(vyv293000)), Succ(vyv292000)) -> new_primModNatS01(vyv293000, vyv292000, vyv293000, vyv292000) 214.12/145.78 new_primModNatS01(vyv331, vyv332, Zero, Zero) -> new_primModNatS02(vyv331, vyv332) 214.12/145.78 new_primModNatS02(vyv331, vyv332) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv331), Succ(vyv332)), Succ(vyv332)) 214.12/145.78 new_primModNatS01(vyv331, vyv332, Succ(vyv3330), Succ(vyv3340)) -> new_primModNatS01(vyv331, vyv332, vyv3330, vyv3340) 214.12/145.78 new_primModNatS01(vyv331, vyv332, Succ(vyv3330), Zero) -> new_primModNatS02(vyv331, vyv332) 214.12/145.78 new_primModNatS01(vyv331, vyv332, Zero, Succ(vyv3340)) -> Succ(Succ(vyv331)) 214.12/145.78 new_primMinusNatS2(Succ(vyv3110), Succ(vyv3120)) -> new_primMinusNatS2(vyv3110, vyv3120) 214.12/145.78 new_primModNatS1(Succ(Zero), Succ(vyv292000)) -> Succ(Zero) 214.12/145.78 new_primModNatS1(Zero, vyv29200) -> Zero 214.12/145.78 new_primMinusNatS2(Zero, Zero) -> Zero 214.12/145.78 new_primMinusNatS2(Zero, Succ(vyv3120)) -> Zero 214.12/145.78 new_primMinusNatS2(Succ(vyv3110), Zero) -> Succ(vyv3110) 214.12/145.78 new_esEs(Pos(Succ(vyv24300))) -> new_primEqInt(Pos(Succ(vyv24300))) 214.12/145.78 new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) 214.12/145.78 new_primEqInt(Pos(Zero)) -> True 214.12/145.78 new_primEqInt(Pos(Succ(vyv242000))) -> False 214.12/145.78 new_esEs(Neg(Succ(vyv24300))) -> new_primEqInt(Neg(Succ(vyv24300))) 214.12/145.78 new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) 214.12/145.78 new_primEqInt(Neg(Zero)) -> True 214.12/145.78 new_primEqInt(Neg(Succ(vyv242000))) -> False 214.12/145.78 214.12/145.78 The set Q consists of the following terms: 214.12/145.78 214.12/145.78 new_primModNatS01(x0, x1, Succ(x2), Zero) 214.12/145.78 new_primModNatS1(Succ(Succ(x0)), Zero) 214.12/145.78 new_primEqInt(Pos(Zero)) 214.12/145.78 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 214.12/145.78 new_esEs(Pos(Succ(x0))) 214.12/145.78 new_primModNatS1(Zero, x0) 214.12/145.78 new_primModNatS02(x0, x1) 214.12/145.78 new_primMinusNatS2(Zero, Zero) 214.12/145.78 new_primModNatS1(Succ(Zero), Zero) 214.12/145.78 new_primMinusNatS2(Succ(x0), Zero) 214.12/145.78 new_esEs(Pos(Zero)) 214.12/145.78 new_primEqInt(Neg(Succ(x0))) 214.12/145.78 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 214.12/145.78 new_esEs(Neg(Succ(x0))) 214.12/145.78 new_primEqInt(Neg(Zero)) 214.12/145.78 new_primModNatS01(x0, x1, Zero, Zero) 214.12/145.78 new_primEqInt(Pos(Succ(x0))) 214.12/145.78 new_primMinusNatS2(Zero, Succ(x0)) 214.12/145.78 new_primModNatS1(Succ(Zero), Succ(x0)) 214.12/145.78 new_primMinusNatS2(Succ(x0), Succ(x1)) 214.12/145.78 new_primModNatS01(x0, x1, Zero, Succ(x2)) 214.12/145.78 new_esEs(Neg(Zero)) 214.12/145.78 214.12/145.78 We have to consider all minimal (P,Q,R)-chains. 214.12/145.78 ---------------------------------------- 214.12/145.78 214.12/145.78 (195) TransformationProof (EQUIVALENT) 214.12/145.78 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]: 214.12/145.78 214.12/145.78 (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))))) 214.12/145.78 214.12/145.78 214.12/145.78 ---------------------------------------- 214.12/145.78 214.12/145.78 (196) 214.12/145.78 Obligation: 214.12/145.78 Q DP problem: 214.12/145.78 The TRS P consists of the following rules: 214.12/145.78 214.12/145.78 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))) 214.12/145.78 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)))) 214.12/145.78 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))) 214.12/145.78 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))))) 214.12/145.78 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)))) 214.12/145.78 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))))) 214.12/145.78 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)))) 214.12/145.78 214.12/145.78 The TRS R consists of the following rules: 214.12/145.78 214.12/145.78 new_primModNatS1(Succ(Succ(vyv293000)), Succ(vyv292000)) -> new_primModNatS01(vyv293000, vyv292000, vyv293000, vyv292000) 214.12/145.78 new_primModNatS01(vyv331, vyv332, Zero, Zero) -> new_primModNatS02(vyv331, vyv332) 214.12/145.78 new_primModNatS02(vyv331, vyv332) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv331), Succ(vyv332)), Succ(vyv332)) 214.12/145.78 new_primModNatS01(vyv331, vyv332, Succ(vyv3330), Succ(vyv3340)) -> new_primModNatS01(vyv331, vyv332, vyv3330, vyv3340) 214.12/145.78 new_primModNatS01(vyv331, vyv332, Succ(vyv3330), Zero) -> new_primModNatS02(vyv331, vyv332) 214.12/145.78 new_primModNatS01(vyv331, vyv332, Zero, Succ(vyv3340)) -> Succ(Succ(vyv331)) 214.12/145.78 new_primMinusNatS2(Succ(vyv3110), Succ(vyv3120)) -> new_primMinusNatS2(vyv3110, vyv3120) 214.12/145.78 new_primModNatS1(Succ(Zero), Succ(vyv292000)) -> Succ(Zero) 214.12/145.78 new_primModNatS1(Zero, vyv29200) -> Zero 214.12/145.78 new_primMinusNatS2(Zero, Zero) -> Zero 214.12/145.78 new_primMinusNatS2(Zero, Succ(vyv3120)) -> Zero 214.12/145.78 new_primMinusNatS2(Succ(vyv3110), Zero) -> Succ(vyv3110) 214.12/145.78 new_esEs(Pos(Succ(vyv24300))) -> new_primEqInt(Pos(Succ(vyv24300))) 214.12/145.78 new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) 214.12/145.78 new_primEqInt(Pos(Zero)) -> True 214.12/145.78 new_primEqInt(Pos(Succ(vyv242000))) -> False 214.12/145.78 new_esEs(Neg(Succ(vyv24300))) -> new_primEqInt(Neg(Succ(vyv24300))) 214.12/145.78 new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) 214.12/145.78 new_primEqInt(Neg(Zero)) -> True 214.12/145.78 new_primEqInt(Neg(Succ(vyv242000))) -> False 214.12/145.78 214.12/145.78 The set Q consists of the following terms: 214.12/145.78 214.12/145.78 new_primModNatS01(x0, x1, Succ(x2), Zero) 214.12/145.78 new_primModNatS1(Succ(Succ(x0)), Zero) 214.12/145.78 new_primEqInt(Pos(Zero)) 214.12/145.78 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 214.12/145.78 new_esEs(Pos(Succ(x0))) 214.12/145.78 new_primModNatS1(Zero, x0) 214.12/145.78 new_primModNatS02(x0, x1) 214.12/145.78 new_primMinusNatS2(Zero, Zero) 214.12/145.78 new_primModNatS1(Succ(Zero), Zero) 214.12/145.78 new_primMinusNatS2(Succ(x0), Zero) 214.12/145.78 new_esEs(Pos(Zero)) 214.12/145.78 new_primEqInt(Neg(Succ(x0))) 214.12/145.78 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 214.12/145.78 new_esEs(Neg(Succ(x0))) 214.12/145.78 new_primEqInt(Neg(Zero)) 214.12/145.78 new_primModNatS01(x0, x1, Zero, Zero) 214.12/145.78 new_primEqInt(Pos(Succ(x0))) 214.12/145.78 new_primMinusNatS2(Zero, Succ(x0)) 214.12/145.78 new_primModNatS1(Succ(Zero), Succ(x0)) 214.12/145.78 new_primMinusNatS2(Succ(x0), Succ(x1)) 214.12/145.78 new_primModNatS01(x0, x1, Zero, Succ(x2)) 214.12/145.78 new_esEs(Neg(Zero)) 214.12/145.78 214.12/145.78 We have to consider all minimal (P,Q,R)-chains. 214.12/145.78 ---------------------------------------- 214.12/145.78 214.12/145.78 (197) TransformationProof (EQUIVALENT) 214.12/145.78 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]: 214.12/145.78 214.12/145.78 (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))))) 214.12/145.78 214.12/145.78 214.12/145.78 ---------------------------------------- 214.12/145.78 214.12/145.78 (198) 214.12/145.78 Obligation: 214.12/145.78 Q DP problem: 214.12/145.78 The TRS P consists of the following rules: 214.12/145.78 214.12/145.78 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))) 214.12/145.78 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)))) 214.12/145.78 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))) 214.12/145.78 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))))) 214.12/145.78 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))))) 214.12/145.78 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)))) 214.12/145.78 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)))) 214.12/145.78 214.12/145.78 The TRS R consists of the following rules: 214.12/145.78 214.12/145.78 new_primModNatS1(Succ(Succ(vyv293000)), Succ(vyv292000)) -> new_primModNatS01(vyv293000, vyv292000, vyv293000, vyv292000) 214.12/145.78 new_primModNatS01(vyv331, vyv332, Zero, Zero) -> new_primModNatS02(vyv331, vyv332) 214.12/145.78 new_primModNatS02(vyv331, vyv332) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv331), Succ(vyv332)), Succ(vyv332)) 214.12/145.78 new_primModNatS01(vyv331, vyv332, Succ(vyv3330), Succ(vyv3340)) -> new_primModNatS01(vyv331, vyv332, vyv3330, vyv3340) 214.12/145.78 new_primModNatS01(vyv331, vyv332, Succ(vyv3330), Zero) -> new_primModNatS02(vyv331, vyv332) 214.12/145.78 new_primModNatS01(vyv331, vyv332, Zero, Succ(vyv3340)) -> Succ(Succ(vyv331)) 214.12/145.78 new_primMinusNatS2(Succ(vyv3110), Succ(vyv3120)) -> new_primMinusNatS2(vyv3110, vyv3120) 214.12/145.78 new_primModNatS1(Succ(Zero), Succ(vyv292000)) -> Succ(Zero) 214.12/145.78 new_primModNatS1(Zero, vyv29200) -> Zero 214.12/145.78 new_primMinusNatS2(Zero, Zero) -> Zero 214.12/145.78 new_primMinusNatS2(Zero, Succ(vyv3120)) -> Zero 214.12/145.78 new_primMinusNatS2(Succ(vyv3110), Zero) -> Succ(vyv3110) 214.12/145.78 new_esEs(Pos(Succ(vyv24300))) -> new_primEqInt(Pos(Succ(vyv24300))) 214.12/145.78 new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) 214.12/145.78 new_primEqInt(Pos(Zero)) -> True 214.12/145.78 new_primEqInt(Pos(Succ(vyv242000))) -> False 214.12/145.78 new_esEs(Neg(Succ(vyv24300))) -> new_primEqInt(Neg(Succ(vyv24300))) 214.12/145.78 new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) 214.12/145.78 new_primEqInt(Neg(Zero)) -> True 214.12/145.78 new_primEqInt(Neg(Succ(vyv242000))) -> False 214.12/145.78 214.12/145.78 The set Q consists of the following terms: 214.12/145.78 214.12/145.78 new_primModNatS01(x0, x1, Succ(x2), Zero) 214.12/145.78 new_primModNatS1(Succ(Succ(x0)), Zero) 214.12/145.78 new_primEqInt(Pos(Zero)) 214.12/145.78 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 214.12/145.78 new_esEs(Pos(Succ(x0))) 214.12/145.78 new_primModNatS1(Zero, x0) 214.12/145.78 new_primModNatS02(x0, x1) 214.12/145.79 new_primMinusNatS2(Zero, Zero) 214.12/145.79 new_primModNatS1(Succ(Zero), Zero) 214.12/145.79 new_primMinusNatS2(Succ(x0), Zero) 214.12/145.79 new_esEs(Pos(Zero)) 214.12/145.79 new_primEqInt(Neg(Succ(x0))) 214.12/145.79 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 214.12/145.79 new_esEs(Neg(Succ(x0))) 214.12/145.79 new_primEqInt(Neg(Zero)) 214.12/145.79 new_primModNatS01(x0, x1, Zero, Zero) 214.12/145.79 new_primEqInt(Pos(Succ(x0))) 214.12/145.79 new_primMinusNatS2(Zero, Succ(x0)) 214.12/145.79 new_primModNatS1(Succ(Zero), Succ(x0)) 214.12/145.79 new_primMinusNatS2(Succ(x0), Succ(x1)) 214.12/145.79 new_primModNatS01(x0, x1, Zero, Succ(x2)) 214.12/145.79 new_esEs(Neg(Zero)) 214.12/145.79 214.12/145.79 We have to consider all minimal (P,Q,R)-chains. 214.12/145.79 ---------------------------------------- 214.12/145.79 214.12/145.79 (199) TransformationProof (EQUIVALENT) 214.12/145.79 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]: 214.12/145.79 214.12/145.79 (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)))))) 214.12/145.79 214.12/145.79 214.12/145.79 ---------------------------------------- 214.12/145.79 214.12/145.79 (200) 214.12/145.79 Obligation: 214.12/145.79 Q DP problem: 214.12/145.79 The TRS P consists of the following rules: 214.12/145.79 214.12/145.79 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))) 214.12/145.79 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)))) 214.12/145.79 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))) 214.12/145.79 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))))) 214.12/145.79 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)))) 214.12/145.79 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)))) 214.12/145.79 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))))) 214.12/145.79 214.12/145.79 The TRS R consists of the following rules: 214.12/145.79 214.12/145.79 new_primModNatS1(Succ(Succ(vyv293000)), Succ(vyv292000)) -> new_primModNatS01(vyv293000, vyv292000, vyv293000, vyv292000) 214.12/145.79 new_primModNatS01(vyv331, vyv332, Zero, Zero) -> new_primModNatS02(vyv331, vyv332) 214.12/145.79 new_primModNatS02(vyv331, vyv332) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv331), Succ(vyv332)), Succ(vyv332)) 214.12/145.79 new_primModNatS01(vyv331, vyv332, Succ(vyv3330), Succ(vyv3340)) -> new_primModNatS01(vyv331, vyv332, vyv3330, vyv3340) 214.12/145.79 new_primModNatS01(vyv331, vyv332, Succ(vyv3330), Zero) -> new_primModNatS02(vyv331, vyv332) 214.12/145.79 new_primModNatS01(vyv331, vyv332, Zero, Succ(vyv3340)) -> Succ(Succ(vyv331)) 214.12/145.79 new_primMinusNatS2(Succ(vyv3110), Succ(vyv3120)) -> new_primMinusNatS2(vyv3110, vyv3120) 214.12/145.79 new_primModNatS1(Succ(Zero), Succ(vyv292000)) -> Succ(Zero) 214.12/145.79 new_primModNatS1(Zero, vyv29200) -> Zero 214.12/145.79 new_primMinusNatS2(Zero, Zero) -> Zero 214.12/145.79 new_primMinusNatS2(Zero, Succ(vyv3120)) -> Zero 214.12/145.79 new_primMinusNatS2(Succ(vyv3110), Zero) -> Succ(vyv3110) 214.12/145.79 new_esEs(Pos(Succ(vyv24300))) -> new_primEqInt(Pos(Succ(vyv24300))) 214.12/145.79 new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) 214.12/145.79 new_primEqInt(Pos(Zero)) -> True 214.12/145.79 new_primEqInt(Pos(Succ(vyv242000))) -> False 214.12/145.79 new_esEs(Neg(Succ(vyv24300))) -> new_primEqInt(Neg(Succ(vyv24300))) 214.12/145.79 new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) 214.12/145.79 new_primEqInt(Neg(Zero)) -> True 214.12/145.79 new_primEqInt(Neg(Succ(vyv242000))) -> False 214.12/145.79 214.12/145.79 The set Q consists of the following terms: 214.12/145.79 214.12/145.79 new_primModNatS01(x0, x1, Succ(x2), Zero) 214.12/145.79 new_primModNatS1(Succ(Succ(x0)), Zero) 214.12/145.79 new_primEqInt(Pos(Zero)) 214.12/145.79 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 214.12/145.79 new_esEs(Pos(Succ(x0))) 214.12/145.79 new_primModNatS1(Zero, x0) 214.12/145.79 new_primModNatS02(x0, x1) 214.12/145.79 new_primMinusNatS2(Zero, Zero) 214.12/145.79 new_primModNatS1(Succ(Zero), Zero) 214.12/145.79 new_primMinusNatS2(Succ(x0), Zero) 214.12/145.79 new_esEs(Pos(Zero)) 214.12/145.79 new_primEqInt(Neg(Succ(x0))) 214.12/145.79 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 214.12/145.79 new_esEs(Neg(Succ(x0))) 214.12/145.79 new_primEqInt(Neg(Zero)) 214.12/145.79 new_primModNatS01(x0, x1, Zero, Zero) 214.12/145.79 new_primEqInt(Pos(Succ(x0))) 214.12/145.79 new_primMinusNatS2(Zero, Succ(x0)) 214.12/145.79 new_primModNatS1(Succ(Zero), Succ(x0)) 214.12/145.79 new_primMinusNatS2(Succ(x0), Succ(x1)) 214.12/145.79 new_primModNatS01(x0, x1, Zero, Succ(x2)) 214.12/145.79 new_esEs(Neg(Zero)) 214.12/145.79 214.12/145.79 We have to consider all minimal (P,Q,R)-chains. 214.12/145.79 ---------------------------------------- 214.12/145.79 214.12/145.79 (201) TransformationProof (EQUIVALENT) 214.12/145.79 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]: 214.12/145.79 214.12/145.79 (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))))) 214.12/145.79 214.12/145.79 214.12/145.79 ---------------------------------------- 214.12/145.79 214.12/145.79 (202) 214.12/145.79 Obligation: 214.12/145.79 Q DP problem: 214.12/145.79 The TRS P consists of the following rules: 214.12/145.79 214.12/145.79 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))) 214.12/145.79 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)))) 214.12/145.79 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))) 214.12/145.79 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))))) 214.12/145.79 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)))) 214.12/145.79 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))))) 214.12/145.79 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)))) 214.12/145.79 214.12/145.79 The TRS R consists of the following rules: 214.12/145.79 214.12/145.79 new_primModNatS1(Succ(Succ(vyv293000)), Succ(vyv292000)) -> new_primModNatS01(vyv293000, vyv292000, vyv293000, vyv292000) 214.12/145.79 new_primModNatS01(vyv331, vyv332, Zero, Zero) -> new_primModNatS02(vyv331, vyv332) 214.12/145.79 new_primModNatS02(vyv331, vyv332) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv331), Succ(vyv332)), Succ(vyv332)) 214.12/145.79 new_primModNatS01(vyv331, vyv332, Succ(vyv3330), Succ(vyv3340)) -> new_primModNatS01(vyv331, vyv332, vyv3330, vyv3340) 214.12/145.79 new_primModNatS01(vyv331, vyv332, Succ(vyv3330), Zero) -> new_primModNatS02(vyv331, vyv332) 214.12/145.79 new_primModNatS01(vyv331, vyv332, Zero, Succ(vyv3340)) -> Succ(Succ(vyv331)) 214.12/145.79 new_primMinusNatS2(Succ(vyv3110), Succ(vyv3120)) -> new_primMinusNatS2(vyv3110, vyv3120) 214.12/145.79 new_primModNatS1(Succ(Zero), Succ(vyv292000)) -> Succ(Zero) 214.12/145.79 new_primModNatS1(Zero, vyv29200) -> Zero 214.12/145.79 new_primMinusNatS2(Zero, Zero) -> Zero 214.12/145.79 new_primMinusNatS2(Zero, Succ(vyv3120)) -> Zero 214.12/145.79 new_primMinusNatS2(Succ(vyv3110), Zero) -> Succ(vyv3110) 214.12/145.79 new_esEs(Pos(Succ(vyv24300))) -> new_primEqInt(Pos(Succ(vyv24300))) 214.12/145.79 new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) 214.12/145.79 new_primEqInt(Pos(Zero)) -> True 214.12/145.79 new_primEqInt(Pos(Succ(vyv242000))) -> False 214.12/145.79 new_esEs(Neg(Succ(vyv24300))) -> new_primEqInt(Neg(Succ(vyv24300))) 214.12/145.79 new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) 214.12/145.79 new_primEqInt(Neg(Zero)) -> True 214.12/145.79 new_primEqInt(Neg(Succ(vyv242000))) -> False 214.12/145.79 214.12/145.79 The set Q consists of the following terms: 214.12/145.79 214.12/145.79 new_primModNatS01(x0, x1, Succ(x2), Zero) 214.12/145.79 new_primModNatS1(Succ(Succ(x0)), Zero) 214.12/145.79 new_primEqInt(Pos(Zero)) 214.12/145.79 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 214.12/145.79 new_esEs(Pos(Succ(x0))) 214.12/145.79 new_primModNatS1(Zero, x0) 214.12/145.79 new_primModNatS02(x0, x1) 214.12/145.79 new_primMinusNatS2(Zero, Zero) 214.12/145.79 new_primModNatS1(Succ(Zero), Zero) 214.12/145.79 new_primMinusNatS2(Succ(x0), Zero) 214.12/145.79 new_esEs(Pos(Zero)) 214.12/145.79 new_primEqInt(Neg(Succ(x0))) 214.12/145.79 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 214.12/145.79 new_esEs(Neg(Succ(x0))) 214.12/145.79 new_primEqInt(Neg(Zero)) 214.12/145.79 new_primModNatS01(x0, x1, Zero, Zero) 214.12/145.79 new_primEqInt(Pos(Succ(x0))) 214.12/145.79 new_primMinusNatS2(Zero, Succ(x0)) 214.12/145.79 new_primModNatS1(Succ(Zero), Succ(x0)) 214.12/145.79 new_primMinusNatS2(Succ(x0), Succ(x1)) 214.12/145.79 new_primModNatS01(x0, x1, Zero, Succ(x2)) 214.12/145.79 new_esEs(Neg(Zero)) 214.12/145.79 214.12/145.79 We have to consider all minimal (P,Q,R)-chains. 214.12/145.79 ---------------------------------------- 214.12/145.79 214.12/145.79 (203) DependencyGraphProof (EQUIVALENT) 214.12/145.79 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. 214.12/145.79 ---------------------------------------- 214.12/145.79 214.12/145.79 (204) 214.12/145.79 Obligation: 214.12/145.79 Q DP problem: 214.12/145.79 The TRS P consists of the following rules: 214.12/145.79 214.12/145.79 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)))) 214.12/145.79 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))) 214.12/145.79 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))))) 214.12/145.79 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))) 214.12/145.79 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)))) 214.12/145.79 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))))) 214.12/145.79 214.12/145.79 The TRS R consists of the following rules: 214.12/145.79 214.12/145.79 new_primModNatS1(Succ(Succ(vyv293000)), Succ(vyv292000)) -> new_primModNatS01(vyv293000, vyv292000, vyv293000, vyv292000) 214.12/145.79 new_primModNatS01(vyv331, vyv332, Zero, Zero) -> new_primModNatS02(vyv331, vyv332) 214.12/145.79 new_primModNatS02(vyv331, vyv332) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv331), Succ(vyv332)), Succ(vyv332)) 214.12/145.79 new_primModNatS01(vyv331, vyv332, Succ(vyv3330), Succ(vyv3340)) -> new_primModNatS01(vyv331, vyv332, vyv3330, vyv3340) 214.12/145.79 new_primModNatS01(vyv331, vyv332, Succ(vyv3330), Zero) -> new_primModNatS02(vyv331, vyv332) 214.12/145.79 new_primModNatS01(vyv331, vyv332, Zero, Succ(vyv3340)) -> Succ(Succ(vyv331)) 214.12/145.79 new_primMinusNatS2(Succ(vyv3110), Succ(vyv3120)) -> new_primMinusNatS2(vyv3110, vyv3120) 214.12/145.79 new_primModNatS1(Succ(Zero), Succ(vyv292000)) -> Succ(Zero) 214.12/145.79 new_primModNatS1(Zero, vyv29200) -> Zero 214.12/145.79 new_primMinusNatS2(Zero, Zero) -> Zero 214.12/145.79 new_primMinusNatS2(Zero, Succ(vyv3120)) -> Zero 214.12/145.79 new_primMinusNatS2(Succ(vyv3110), Zero) -> Succ(vyv3110) 214.12/145.79 new_esEs(Pos(Succ(vyv24300))) -> new_primEqInt(Pos(Succ(vyv24300))) 214.12/145.79 new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) 214.12/145.79 new_primEqInt(Pos(Zero)) -> True 214.12/145.79 new_primEqInt(Pos(Succ(vyv242000))) -> False 214.12/145.79 new_esEs(Neg(Succ(vyv24300))) -> new_primEqInt(Neg(Succ(vyv24300))) 214.12/145.79 new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) 214.12/145.79 new_primEqInt(Neg(Zero)) -> True 214.12/145.79 new_primEqInt(Neg(Succ(vyv242000))) -> False 214.12/145.79 214.12/145.79 The set Q consists of the following terms: 214.12/145.79 214.12/145.79 new_primModNatS01(x0, x1, Succ(x2), Zero) 214.12/145.79 new_primModNatS1(Succ(Succ(x0)), Zero) 214.12/145.79 new_primEqInt(Pos(Zero)) 214.12/145.79 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 214.12/145.79 new_esEs(Pos(Succ(x0))) 214.12/145.79 new_primModNatS1(Zero, x0) 214.12/145.79 new_primModNatS02(x0, x1) 214.12/145.79 new_primMinusNatS2(Zero, Zero) 214.12/145.79 new_primModNatS1(Succ(Zero), Zero) 214.12/145.79 new_primMinusNatS2(Succ(x0), Zero) 214.12/145.79 new_esEs(Pos(Zero)) 214.12/145.79 new_primEqInt(Neg(Succ(x0))) 214.12/145.79 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 214.12/145.79 new_esEs(Neg(Succ(x0))) 214.12/145.79 new_primEqInt(Neg(Zero)) 214.12/145.79 new_primModNatS01(x0, x1, Zero, Zero) 214.12/145.79 new_primEqInt(Pos(Succ(x0))) 214.12/145.79 new_primMinusNatS2(Zero, Succ(x0)) 214.12/145.79 new_primModNatS1(Succ(Zero), Succ(x0)) 214.12/145.79 new_primMinusNatS2(Succ(x0), Succ(x1)) 214.12/145.79 new_primModNatS01(x0, x1, Zero, Succ(x2)) 214.12/145.79 new_esEs(Neg(Zero)) 214.12/145.79 214.12/145.79 We have to consider all minimal (P,Q,R)-chains. 214.12/145.79 ---------------------------------------- 214.12/145.79 214.12/145.79 (205) TransformationProof (EQUIVALENT) 214.12/145.79 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]: 214.12/145.79 214.12/145.79 (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))))) 214.12/145.79 (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)))))) 214.12/145.79 (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)))))) 214.12/145.79 (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))))) 214.12/145.79 214.12/145.79 214.12/145.79 ---------------------------------------- 214.12/145.79 214.12/145.79 (206) 214.12/145.79 Obligation: 214.12/145.79 Q DP problem: 214.12/145.79 The TRS P consists of the following rules: 214.12/145.79 214.12/145.79 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))) 214.12/145.79 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))))) 214.12/145.79 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))) 214.12/145.79 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)))) 214.12/145.79 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))))) 214.12/145.79 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)))) 214.12/145.79 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))))) 214.12/145.79 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))))) 214.12/145.79 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)))) 214.12/145.79 214.12/145.79 The TRS R consists of the following rules: 214.12/145.79 214.12/145.79 new_primModNatS1(Succ(Succ(vyv293000)), Succ(vyv292000)) -> new_primModNatS01(vyv293000, vyv292000, vyv293000, vyv292000) 214.12/145.79 new_primModNatS01(vyv331, vyv332, Zero, Zero) -> new_primModNatS02(vyv331, vyv332) 214.12/145.79 new_primModNatS02(vyv331, vyv332) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv331), Succ(vyv332)), Succ(vyv332)) 214.12/145.79 new_primModNatS01(vyv331, vyv332, Succ(vyv3330), Succ(vyv3340)) -> new_primModNatS01(vyv331, vyv332, vyv3330, vyv3340) 214.12/145.79 new_primModNatS01(vyv331, vyv332, Succ(vyv3330), Zero) -> new_primModNatS02(vyv331, vyv332) 214.12/145.79 new_primModNatS01(vyv331, vyv332, Zero, Succ(vyv3340)) -> Succ(Succ(vyv331)) 214.12/145.79 new_primMinusNatS2(Succ(vyv3110), Succ(vyv3120)) -> new_primMinusNatS2(vyv3110, vyv3120) 214.12/145.79 new_primModNatS1(Succ(Zero), Succ(vyv292000)) -> Succ(Zero) 214.12/145.79 new_primModNatS1(Zero, vyv29200) -> Zero 214.12/145.79 new_primMinusNatS2(Zero, Zero) -> Zero 214.12/145.79 new_primMinusNatS2(Zero, Succ(vyv3120)) -> Zero 214.12/145.79 new_primMinusNatS2(Succ(vyv3110), Zero) -> Succ(vyv3110) 214.12/145.79 new_esEs(Pos(Succ(vyv24300))) -> new_primEqInt(Pos(Succ(vyv24300))) 214.12/145.79 new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) 214.12/145.79 new_primEqInt(Pos(Zero)) -> True 214.12/145.79 new_primEqInt(Pos(Succ(vyv242000))) -> False 214.12/145.79 new_esEs(Neg(Succ(vyv24300))) -> new_primEqInt(Neg(Succ(vyv24300))) 214.12/145.79 new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) 214.12/145.79 new_primEqInt(Neg(Zero)) -> True 214.12/145.79 new_primEqInt(Neg(Succ(vyv242000))) -> False 214.12/145.79 214.12/145.79 The set Q consists of the following terms: 214.12/145.79 214.12/145.79 new_primModNatS01(x0, x1, Succ(x2), Zero) 214.12/145.79 new_primModNatS1(Succ(Succ(x0)), Zero) 214.12/145.79 new_primEqInt(Pos(Zero)) 214.12/145.79 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 214.12/145.79 new_esEs(Pos(Succ(x0))) 214.12/145.79 new_primModNatS1(Zero, x0) 214.12/145.79 new_primModNatS02(x0, x1) 214.12/145.79 new_primMinusNatS2(Zero, Zero) 214.12/145.79 new_primModNatS1(Succ(Zero), Zero) 214.12/145.79 new_primMinusNatS2(Succ(x0), Zero) 214.12/145.79 new_esEs(Pos(Zero)) 214.12/145.79 new_primEqInt(Neg(Succ(x0))) 214.12/145.79 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 214.12/145.79 new_esEs(Neg(Succ(x0))) 214.12/145.79 new_primEqInt(Neg(Zero)) 214.12/145.79 new_primModNatS01(x0, x1, Zero, Zero) 214.12/145.79 new_primEqInt(Pos(Succ(x0))) 214.12/145.79 new_primMinusNatS2(Zero, Succ(x0)) 214.12/145.79 new_primModNatS1(Succ(Zero), Succ(x0)) 214.12/145.79 new_primMinusNatS2(Succ(x0), Succ(x1)) 214.12/145.79 new_primModNatS01(x0, x1, Zero, Succ(x2)) 214.12/145.79 new_esEs(Neg(Zero)) 214.12/145.79 214.12/145.79 We have to consider all minimal (P,Q,R)-chains. 214.12/145.79 ---------------------------------------- 214.12/145.79 214.12/145.79 (207) TransformationProof (EQUIVALENT) 214.12/145.79 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]: 214.12/145.79 214.12/145.79 (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))))) 214.12/145.79 214.12/145.79 214.12/145.79 ---------------------------------------- 214.12/145.79 214.12/145.79 (208) 214.12/145.79 Obligation: 214.12/145.79 Q DP problem: 214.12/145.79 The TRS P consists of the following rules: 214.12/145.79 214.12/145.79 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))) 214.12/145.79 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))))) 214.12/145.79 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))) 214.12/145.79 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)))) 214.12/145.79 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))))) 214.12/145.79 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))))) 214.12/145.79 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))))) 214.12/145.79 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)))) 214.12/145.79 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)))) 214.12/145.79 214.12/145.79 The TRS R consists of the following rules: 214.12/145.79 214.12/145.79 new_primModNatS1(Succ(Succ(vyv293000)), Succ(vyv292000)) -> new_primModNatS01(vyv293000, vyv292000, vyv293000, vyv292000) 214.12/145.79 new_primModNatS01(vyv331, vyv332, Zero, Zero) -> new_primModNatS02(vyv331, vyv332) 214.12/145.79 new_primModNatS02(vyv331, vyv332) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv331), Succ(vyv332)), Succ(vyv332)) 214.12/145.79 new_primModNatS01(vyv331, vyv332, Succ(vyv3330), Succ(vyv3340)) -> new_primModNatS01(vyv331, vyv332, vyv3330, vyv3340) 214.12/145.79 new_primModNatS01(vyv331, vyv332, Succ(vyv3330), Zero) -> new_primModNatS02(vyv331, vyv332) 214.12/145.79 new_primModNatS01(vyv331, vyv332, Zero, Succ(vyv3340)) -> Succ(Succ(vyv331)) 214.12/145.79 new_primMinusNatS2(Succ(vyv3110), Succ(vyv3120)) -> new_primMinusNatS2(vyv3110, vyv3120) 214.12/145.79 new_primModNatS1(Succ(Zero), Succ(vyv292000)) -> Succ(Zero) 214.12/145.79 new_primModNatS1(Zero, vyv29200) -> Zero 214.12/145.79 new_primMinusNatS2(Zero, Zero) -> Zero 214.12/145.79 new_primMinusNatS2(Zero, Succ(vyv3120)) -> Zero 214.12/145.79 new_primMinusNatS2(Succ(vyv3110), Zero) -> Succ(vyv3110) 214.12/145.79 new_esEs(Pos(Succ(vyv24300))) -> new_primEqInt(Pos(Succ(vyv24300))) 214.12/145.79 new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) 214.12/145.79 new_primEqInt(Pos(Zero)) -> True 214.12/145.79 new_primEqInt(Pos(Succ(vyv242000))) -> False 214.12/145.79 new_esEs(Neg(Succ(vyv24300))) -> new_primEqInt(Neg(Succ(vyv24300))) 214.12/145.79 new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) 214.12/145.79 new_primEqInt(Neg(Zero)) -> True 214.12/145.79 new_primEqInt(Neg(Succ(vyv242000))) -> False 214.12/145.79 214.12/145.79 The set Q consists of the following terms: 214.12/145.79 214.12/145.79 new_primModNatS01(x0, x1, Succ(x2), Zero) 214.12/145.79 new_primModNatS1(Succ(Succ(x0)), Zero) 214.12/145.79 new_primEqInt(Pos(Zero)) 214.12/145.79 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 214.12/145.79 new_esEs(Pos(Succ(x0))) 214.12/145.79 new_primModNatS1(Zero, x0) 214.12/145.79 new_primModNatS02(x0, x1) 214.12/145.79 new_primMinusNatS2(Zero, Zero) 214.12/145.79 new_primModNatS1(Succ(Zero), Zero) 214.12/145.79 new_primMinusNatS2(Succ(x0), Zero) 214.12/145.79 new_esEs(Pos(Zero)) 214.12/145.79 new_primEqInt(Neg(Succ(x0))) 214.12/145.79 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 214.12/145.79 new_esEs(Neg(Succ(x0))) 214.12/145.79 new_primEqInt(Neg(Zero)) 214.12/145.79 new_primModNatS01(x0, x1, Zero, Zero) 214.12/145.79 new_primEqInt(Pos(Succ(x0))) 214.12/145.79 new_primMinusNatS2(Zero, Succ(x0)) 214.12/145.79 new_primModNatS1(Succ(Zero), Succ(x0)) 214.12/145.79 new_primMinusNatS2(Succ(x0), Succ(x1)) 214.12/145.79 new_primModNatS01(x0, x1, Zero, Succ(x2)) 214.12/145.79 new_esEs(Neg(Zero)) 214.12/145.79 214.12/145.79 We have to consider all minimal (P,Q,R)-chains. 214.12/145.79 ---------------------------------------- 214.12/145.79 214.12/145.79 (209) TransformationProof (EQUIVALENT) 214.12/145.79 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]: 214.12/145.79 214.12/145.79 (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)))))) 214.12/145.79 214.12/145.79 214.12/145.79 ---------------------------------------- 214.12/145.79 214.12/145.79 (210) 214.12/145.79 Obligation: 214.12/145.79 Q DP problem: 214.12/145.79 The TRS P consists of the following rules: 214.12/145.79 214.12/145.79 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))) 214.12/145.79 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))))) 214.12/145.79 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))) 214.12/145.79 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)))) 214.12/145.79 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))))) 214.12/145.79 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))))) 214.12/145.79 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)))) 214.12/145.79 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)))) 214.12/145.79 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))))) 214.12/145.79 214.12/145.79 The TRS R consists of the following rules: 214.12/145.79 214.12/145.79 new_primModNatS1(Succ(Succ(vyv293000)), Succ(vyv292000)) -> new_primModNatS01(vyv293000, vyv292000, vyv293000, vyv292000) 214.12/145.79 new_primModNatS01(vyv331, vyv332, Zero, Zero) -> new_primModNatS02(vyv331, vyv332) 214.12/145.79 new_primModNatS02(vyv331, vyv332) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv331), Succ(vyv332)), Succ(vyv332)) 214.12/145.79 new_primModNatS01(vyv331, vyv332, Succ(vyv3330), Succ(vyv3340)) -> new_primModNatS01(vyv331, vyv332, vyv3330, vyv3340) 214.12/145.79 new_primModNatS01(vyv331, vyv332, Succ(vyv3330), Zero) -> new_primModNatS02(vyv331, vyv332) 214.12/145.79 new_primModNatS01(vyv331, vyv332, Zero, Succ(vyv3340)) -> Succ(Succ(vyv331)) 214.12/145.79 new_primMinusNatS2(Succ(vyv3110), Succ(vyv3120)) -> new_primMinusNatS2(vyv3110, vyv3120) 214.12/145.79 new_primModNatS1(Succ(Zero), Succ(vyv292000)) -> Succ(Zero) 214.12/145.79 new_primModNatS1(Zero, vyv29200) -> Zero 214.12/145.79 new_primMinusNatS2(Zero, Zero) -> Zero 214.12/145.79 new_primMinusNatS2(Zero, Succ(vyv3120)) -> Zero 214.12/145.79 new_primMinusNatS2(Succ(vyv3110), Zero) -> Succ(vyv3110) 214.12/145.79 new_esEs(Pos(Succ(vyv24300))) -> new_primEqInt(Pos(Succ(vyv24300))) 214.12/145.79 new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) 214.12/145.79 new_primEqInt(Pos(Zero)) -> True 214.12/145.79 new_primEqInt(Pos(Succ(vyv242000))) -> False 214.12/145.79 new_esEs(Neg(Succ(vyv24300))) -> new_primEqInt(Neg(Succ(vyv24300))) 214.12/145.79 new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) 214.12/145.79 new_primEqInt(Neg(Zero)) -> True 214.12/145.79 new_primEqInt(Neg(Succ(vyv242000))) -> False 214.12/145.79 214.12/145.79 The set Q consists of the following terms: 214.12/145.79 214.12/145.79 new_primModNatS01(x0, x1, Succ(x2), Zero) 214.12/145.79 new_primModNatS1(Succ(Succ(x0)), Zero) 214.12/145.79 new_primEqInt(Pos(Zero)) 214.12/145.79 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 214.12/145.79 new_esEs(Pos(Succ(x0))) 214.12/145.79 new_primModNatS1(Zero, x0) 214.12/145.79 new_primModNatS02(x0, x1) 214.12/145.79 new_primMinusNatS2(Zero, Zero) 214.12/145.79 new_primModNatS1(Succ(Zero), Zero) 214.12/145.79 new_primMinusNatS2(Succ(x0), Zero) 214.12/145.79 new_esEs(Pos(Zero)) 214.12/145.79 new_primEqInt(Neg(Succ(x0))) 214.12/145.79 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 214.12/145.79 new_esEs(Neg(Succ(x0))) 214.12/145.79 new_primEqInt(Neg(Zero)) 214.12/145.79 new_primModNatS01(x0, x1, Zero, Zero) 214.12/145.79 new_primEqInt(Pos(Succ(x0))) 214.12/145.79 new_primMinusNatS2(Zero, Succ(x0)) 214.12/145.79 new_primModNatS1(Succ(Zero), Succ(x0)) 214.12/145.79 new_primMinusNatS2(Succ(x0), Succ(x1)) 214.12/145.79 new_primModNatS01(x0, x1, Zero, Succ(x2)) 214.12/145.79 new_esEs(Neg(Zero)) 214.12/145.79 214.12/145.79 We have to consider all minimal (P,Q,R)-chains. 214.12/145.79 ---------------------------------------- 214.12/145.79 214.12/145.79 (211) TransformationProof (EQUIVALENT) 214.12/145.79 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]: 214.12/145.79 214.12/145.79 (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))))) 214.12/145.79 214.12/145.79 214.12/145.79 ---------------------------------------- 214.12/145.79 214.12/145.79 (212) 214.12/145.79 Obligation: 214.12/145.79 Q DP problem: 214.12/145.79 The TRS P consists of the following rules: 214.12/145.79 214.12/145.79 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))) 214.12/145.79 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))))) 214.12/145.79 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))) 214.12/145.79 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)))) 214.12/145.79 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))))) 214.12/145.79 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))))) 214.12/145.79 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)))) 214.12/145.79 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))))) 214.12/145.79 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)))) 214.12/145.79 214.12/145.79 The TRS R consists of the following rules: 214.12/145.79 214.12/145.79 new_primModNatS1(Succ(Succ(vyv293000)), Succ(vyv292000)) -> new_primModNatS01(vyv293000, vyv292000, vyv293000, vyv292000) 214.12/145.79 new_primModNatS01(vyv331, vyv332, Zero, Zero) -> new_primModNatS02(vyv331, vyv332) 214.12/145.79 new_primModNatS02(vyv331, vyv332) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv331), Succ(vyv332)), Succ(vyv332)) 214.12/145.79 new_primModNatS01(vyv331, vyv332, Succ(vyv3330), Succ(vyv3340)) -> new_primModNatS01(vyv331, vyv332, vyv3330, vyv3340) 214.12/145.79 new_primModNatS01(vyv331, vyv332, Succ(vyv3330), Zero) -> new_primModNatS02(vyv331, vyv332) 214.12/145.79 new_primModNatS01(vyv331, vyv332, Zero, Succ(vyv3340)) -> Succ(Succ(vyv331)) 214.12/145.79 new_primMinusNatS2(Succ(vyv3110), Succ(vyv3120)) -> new_primMinusNatS2(vyv3110, vyv3120) 214.12/145.79 new_primModNatS1(Succ(Zero), Succ(vyv292000)) -> Succ(Zero) 214.12/145.79 new_primModNatS1(Zero, vyv29200) -> Zero 214.12/145.79 new_primMinusNatS2(Zero, Zero) -> Zero 214.12/145.79 new_primMinusNatS2(Zero, Succ(vyv3120)) -> Zero 214.12/145.79 new_primMinusNatS2(Succ(vyv3110), Zero) -> Succ(vyv3110) 214.12/145.79 new_esEs(Pos(Succ(vyv24300))) -> new_primEqInt(Pos(Succ(vyv24300))) 214.12/145.79 new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) 214.12/145.79 new_primEqInt(Pos(Zero)) -> True 214.12/145.79 new_primEqInt(Pos(Succ(vyv242000))) -> False 214.12/145.79 new_esEs(Neg(Succ(vyv24300))) -> new_primEqInt(Neg(Succ(vyv24300))) 214.12/145.79 new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) 214.12/145.79 new_primEqInt(Neg(Zero)) -> True 214.12/145.79 new_primEqInt(Neg(Succ(vyv242000))) -> False 214.12/145.79 214.12/145.79 The set Q consists of the following terms: 214.12/145.79 214.12/145.79 new_primModNatS01(x0, x1, Succ(x2), Zero) 214.12/145.79 new_primModNatS1(Succ(Succ(x0)), Zero) 214.12/145.79 new_primEqInt(Pos(Zero)) 214.12/145.79 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 214.12/145.79 new_esEs(Pos(Succ(x0))) 214.12/145.79 new_primModNatS1(Zero, x0) 214.12/145.79 new_primModNatS02(x0, x1) 214.12/145.79 new_primMinusNatS2(Zero, Zero) 214.12/145.79 new_primModNatS1(Succ(Zero), Zero) 214.12/145.79 new_primMinusNatS2(Succ(x0), Zero) 214.12/145.79 new_esEs(Pos(Zero)) 214.12/145.79 new_primEqInt(Neg(Succ(x0))) 214.12/145.79 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 214.12/145.79 new_esEs(Neg(Succ(x0))) 214.12/145.79 new_primEqInt(Neg(Zero)) 214.12/145.79 new_primModNatS01(x0, x1, Zero, Zero) 214.12/145.79 new_primEqInt(Pos(Succ(x0))) 214.12/145.79 new_primMinusNatS2(Zero, Succ(x0)) 214.12/145.79 new_primModNatS1(Succ(Zero), Succ(x0)) 214.12/145.79 new_primMinusNatS2(Succ(x0), Succ(x1)) 214.12/145.79 new_primModNatS01(x0, x1, Zero, Succ(x2)) 214.12/145.79 new_esEs(Neg(Zero)) 214.12/145.79 214.12/145.79 We have to consider all minimal (P,Q,R)-chains. 214.12/145.79 ---------------------------------------- 214.12/145.79 214.12/145.79 (213) TransformationProof (EQUIVALENT) 214.12/145.79 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]: 214.12/145.79 214.12/145.79 (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))))) 214.12/145.79 214.12/145.79 214.12/145.79 ---------------------------------------- 214.12/145.79 214.12/145.79 (214) 214.12/145.79 Obligation: 214.12/145.79 Q DP problem: 214.12/145.79 The TRS P consists of the following rules: 214.12/145.79 214.12/145.79 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))) 214.12/145.79 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))))) 214.12/145.79 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))) 214.12/145.79 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)))) 214.12/145.79 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))))) 214.12/145.79 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))))) 214.12/145.79 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))))) 214.12/145.79 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)))) 214.12/145.79 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)))) 214.12/145.79 214.12/145.79 The TRS R consists of the following rules: 214.12/145.79 214.12/145.79 new_primModNatS1(Succ(Succ(vyv293000)), Succ(vyv292000)) -> new_primModNatS01(vyv293000, vyv292000, vyv293000, vyv292000) 214.12/145.79 new_primModNatS01(vyv331, vyv332, Zero, Zero) -> new_primModNatS02(vyv331, vyv332) 214.12/145.79 new_primModNatS02(vyv331, vyv332) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv331), Succ(vyv332)), Succ(vyv332)) 214.12/145.79 new_primModNatS01(vyv331, vyv332, Succ(vyv3330), Succ(vyv3340)) -> new_primModNatS01(vyv331, vyv332, vyv3330, vyv3340) 214.12/145.79 new_primModNatS01(vyv331, vyv332, Succ(vyv3330), Zero) -> new_primModNatS02(vyv331, vyv332) 214.12/145.79 new_primModNatS01(vyv331, vyv332, Zero, Succ(vyv3340)) -> Succ(Succ(vyv331)) 214.12/145.79 new_primMinusNatS2(Succ(vyv3110), Succ(vyv3120)) -> new_primMinusNatS2(vyv3110, vyv3120) 214.12/145.79 new_primModNatS1(Succ(Zero), Succ(vyv292000)) -> Succ(Zero) 214.12/145.79 new_primModNatS1(Zero, vyv29200) -> Zero 214.12/145.79 new_primMinusNatS2(Zero, Zero) -> Zero 214.12/145.79 new_primMinusNatS2(Zero, Succ(vyv3120)) -> Zero 214.12/145.79 new_primMinusNatS2(Succ(vyv3110), Zero) -> Succ(vyv3110) 214.12/145.79 new_esEs(Pos(Succ(vyv24300))) -> new_primEqInt(Pos(Succ(vyv24300))) 214.12/145.79 new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) 214.12/145.79 new_primEqInt(Pos(Zero)) -> True 214.12/145.79 new_primEqInt(Pos(Succ(vyv242000))) -> False 214.12/145.79 new_esEs(Neg(Succ(vyv24300))) -> new_primEqInt(Neg(Succ(vyv24300))) 214.12/145.79 new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) 214.12/145.79 new_primEqInt(Neg(Zero)) -> True 214.12/145.79 new_primEqInt(Neg(Succ(vyv242000))) -> False 214.12/145.79 214.12/145.79 The set Q consists of the following terms: 214.12/145.79 214.12/145.79 new_primModNatS01(x0, x1, Succ(x2), Zero) 214.12/145.79 new_primModNatS1(Succ(Succ(x0)), Zero) 214.12/145.79 new_primEqInt(Pos(Zero)) 214.12/145.79 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 214.12/145.79 new_esEs(Pos(Succ(x0))) 214.12/145.79 new_primModNatS1(Zero, x0) 214.12/145.79 new_primModNatS02(x0, x1) 214.12/145.79 new_primMinusNatS2(Zero, Zero) 214.12/145.79 new_primModNatS1(Succ(Zero), Zero) 214.12/145.79 new_primMinusNatS2(Succ(x0), Zero) 214.12/145.79 new_esEs(Pos(Zero)) 214.12/145.79 new_primEqInt(Neg(Succ(x0))) 214.12/145.79 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 214.12/145.79 new_esEs(Neg(Succ(x0))) 214.12/145.79 new_primEqInt(Neg(Zero)) 214.12/145.79 new_primModNatS01(x0, x1, Zero, Zero) 214.12/145.79 new_primEqInt(Pos(Succ(x0))) 214.12/145.79 new_primMinusNatS2(Zero, Succ(x0)) 214.12/145.79 new_primModNatS1(Succ(Zero), Succ(x0)) 214.12/145.79 new_primMinusNatS2(Succ(x0), Succ(x1)) 214.12/145.79 new_primModNatS01(x0, x1, Zero, Succ(x2)) 214.12/145.79 new_esEs(Neg(Zero)) 214.12/145.79 214.12/145.79 We have to consider all minimal (P,Q,R)-chains. 214.12/145.79 ---------------------------------------- 214.12/145.79 214.12/145.79 (215) TransformationProof (EQUIVALENT) 214.12/145.79 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]: 214.12/145.79 214.12/145.79 (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)))))) 214.12/145.79 214.12/145.79 214.12/145.79 ---------------------------------------- 214.12/145.79 214.12/145.79 (216) 214.12/145.79 Obligation: 214.12/145.79 Q DP problem: 214.12/145.79 The TRS P consists of the following rules: 214.12/145.79 214.12/145.79 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))) 214.12/145.79 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))))) 214.12/145.79 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))) 214.12/145.79 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)))) 214.12/145.79 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))))) 214.12/145.79 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))))) 214.12/145.79 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)))) 214.12/145.79 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)))) 214.12/145.79 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))))) 214.12/145.79 214.12/145.79 The TRS R consists of the following rules: 214.12/145.79 214.12/145.79 new_primModNatS1(Succ(Succ(vyv293000)), Succ(vyv292000)) -> new_primModNatS01(vyv293000, vyv292000, vyv293000, vyv292000) 214.12/145.79 new_primModNatS01(vyv331, vyv332, Zero, Zero) -> new_primModNatS02(vyv331, vyv332) 214.12/145.79 new_primModNatS02(vyv331, vyv332) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv331), Succ(vyv332)), Succ(vyv332)) 214.12/145.79 new_primModNatS01(vyv331, vyv332, Succ(vyv3330), Succ(vyv3340)) -> new_primModNatS01(vyv331, vyv332, vyv3330, vyv3340) 214.12/145.79 new_primModNatS01(vyv331, vyv332, Succ(vyv3330), Zero) -> new_primModNatS02(vyv331, vyv332) 214.12/145.79 new_primModNatS01(vyv331, vyv332, Zero, Succ(vyv3340)) -> Succ(Succ(vyv331)) 214.12/145.79 new_primMinusNatS2(Succ(vyv3110), Succ(vyv3120)) -> new_primMinusNatS2(vyv3110, vyv3120) 214.12/145.79 new_primModNatS1(Succ(Zero), Succ(vyv292000)) -> Succ(Zero) 214.12/145.79 new_primModNatS1(Zero, vyv29200) -> Zero 214.12/145.79 new_primMinusNatS2(Zero, Zero) -> Zero 214.12/145.79 new_primMinusNatS2(Zero, Succ(vyv3120)) -> Zero 214.12/145.79 new_primMinusNatS2(Succ(vyv3110), Zero) -> Succ(vyv3110) 214.12/145.79 new_esEs(Pos(Succ(vyv24300))) -> new_primEqInt(Pos(Succ(vyv24300))) 214.12/145.79 new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) 214.12/145.79 new_primEqInt(Pos(Zero)) -> True 214.12/145.79 new_primEqInt(Pos(Succ(vyv242000))) -> False 214.12/145.79 new_esEs(Neg(Succ(vyv24300))) -> new_primEqInt(Neg(Succ(vyv24300))) 214.12/145.79 new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) 214.12/145.79 new_primEqInt(Neg(Zero)) -> True 214.12/145.79 new_primEqInt(Neg(Succ(vyv242000))) -> False 214.12/145.79 214.12/145.79 The set Q consists of the following terms: 214.12/145.79 214.12/145.79 new_primModNatS01(x0, x1, Succ(x2), Zero) 214.12/145.79 new_primModNatS1(Succ(Succ(x0)), Zero) 214.12/145.79 new_primEqInt(Pos(Zero)) 214.12/145.79 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 214.12/145.79 new_esEs(Pos(Succ(x0))) 214.12/145.79 new_primModNatS1(Zero, x0) 214.12/145.79 new_primModNatS02(x0, x1) 214.12/145.79 new_primMinusNatS2(Zero, Zero) 214.12/145.79 new_primModNatS1(Succ(Zero), Zero) 214.12/145.79 new_primMinusNatS2(Succ(x0), Zero) 214.12/145.79 new_esEs(Pos(Zero)) 214.12/145.79 new_primEqInt(Neg(Succ(x0))) 214.12/145.79 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 214.12/145.79 new_esEs(Neg(Succ(x0))) 214.12/145.79 new_primEqInt(Neg(Zero)) 214.12/145.79 new_primModNatS01(x0, x1, Zero, Zero) 214.12/145.79 new_primEqInt(Pos(Succ(x0))) 214.12/145.79 new_primMinusNatS2(Zero, Succ(x0)) 214.12/145.79 new_primModNatS1(Succ(Zero), Succ(x0)) 214.12/145.79 new_primMinusNatS2(Succ(x0), Succ(x1)) 214.12/145.79 new_primModNatS01(x0, x1, Zero, Succ(x2)) 214.12/145.79 new_esEs(Neg(Zero)) 214.12/145.79 214.12/145.79 We have to consider all minimal (P,Q,R)-chains. 214.12/145.79 ---------------------------------------- 214.12/145.79 214.12/145.79 (217) TransformationProof (EQUIVALENT) 214.12/145.79 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]: 214.12/145.79 214.12/145.79 (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))))) 214.12/145.79 214.12/145.79 214.12/145.79 ---------------------------------------- 214.12/145.79 214.12/145.79 (218) 214.12/145.79 Obligation: 214.12/145.79 Q DP problem: 214.12/145.79 The TRS P consists of the following rules: 214.12/145.79 214.12/145.79 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))) 214.12/145.79 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))))) 214.12/145.79 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))) 214.12/145.79 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)))) 214.12/145.79 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))))) 214.12/145.79 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))))) 214.12/145.79 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)))) 214.12/145.79 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))))) 214.12/145.79 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)))) 214.12/145.79 214.12/145.79 The TRS R consists of the following rules: 214.12/145.79 214.12/145.79 new_primModNatS1(Succ(Succ(vyv293000)), Succ(vyv292000)) -> new_primModNatS01(vyv293000, vyv292000, vyv293000, vyv292000) 214.12/145.79 new_primModNatS01(vyv331, vyv332, Zero, Zero) -> new_primModNatS02(vyv331, vyv332) 214.12/145.79 new_primModNatS02(vyv331, vyv332) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv331), Succ(vyv332)), Succ(vyv332)) 214.12/145.79 new_primModNatS01(vyv331, vyv332, Succ(vyv3330), Succ(vyv3340)) -> new_primModNatS01(vyv331, vyv332, vyv3330, vyv3340) 214.12/145.79 new_primModNatS01(vyv331, vyv332, Succ(vyv3330), Zero) -> new_primModNatS02(vyv331, vyv332) 214.12/145.79 new_primModNatS01(vyv331, vyv332, Zero, Succ(vyv3340)) -> Succ(Succ(vyv331)) 214.12/145.79 new_primMinusNatS2(Succ(vyv3110), Succ(vyv3120)) -> new_primMinusNatS2(vyv3110, vyv3120) 214.12/145.79 new_primModNatS1(Succ(Zero), Succ(vyv292000)) -> Succ(Zero) 214.12/145.79 new_primModNatS1(Zero, vyv29200) -> Zero 214.12/145.79 new_primMinusNatS2(Zero, Zero) -> Zero 214.12/145.79 new_primMinusNatS2(Zero, Succ(vyv3120)) -> Zero 214.12/145.79 new_primMinusNatS2(Succ(vyv3110), Zero) -> Succ(vyv3110) 214.12/145.79 new_esEs(Pos(Succ(vyv24300))) -> new_primEqInt(Pos(Succ(vyv24300))) 214.12/145.79 new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) 214.12/145.79 new_primEqInt(Pos(Zero)) -> True 214.12/145.79 new_primEqInt(Pos(Succ(vyv242000))) -> False 214.12/145.79 new_esEs(Neg(Succ(vyv24300))) -> new_primEqInt(Neg(Succ(vyv24300))) 214.12/145.79 new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) 214.12/145.79 new_primEqInt(Neg(Zero)) -> True 214.12/145.79 new_primEqInt(Neg(Succ(vyv242000))) -> False 214.12/145.79 214.12/145.79 The set Q consists of the following terms: 214.12/145.79 214.12/145.79 new_primModNatS01(x0, x1, Succ(x2), Zero) 214.12/145.79 new_primModNatS1(Succ(Succ(x0)), Zero) 214.12/145.79 new_primEqInt(Pos(Zero)) 214.12/145.79 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 214.12/145.79 new_esEs(Pos(Succ(x0))) 214.12/145.79 new_primModNatS1(Zero, x0) 214.12/145.79 new_primModNatS02(x0, x1) 214.12/145.79 new_primMinusNatS2(Zero, Zero) 214.12/145.79 new_primModNatS1(Succ(Zero), Zero) 214.12/145.79 new_primMinusNatS2(Succ(x0), Zero) 214.12/145.79 new_esEs(Pos(Zero)) 214.12/145.79 new_primEqInt(Neg(Succ(x0))) 214.12/145.79 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 214.12/145.79 new_esEs(Neg(Succ(x0))) 214.12/145.79 new_primEqInt(Neg(Zero)) 214.12/145.79 new_primModNatS01(x0, x1, Zero, Zero) 214.12/145.79 new_primEqInt(Pos(Succ(x0))) 214.12/145.79 new_primMinusNatS2(Zero, Succ(x0)) 214.12/145.79 new_primModNatS1(Succ(Zero), Succ(x0)) 214.12/145.79 new_primMinusNatS2(Succ(x0), Succ(x1)) 214.12/145.79 new_primModNatS01(x0, x1, Zero, Succ(x2)) 214.12/145.79 new_esEs(Neg(Zero)) 214.12/145.79 214.12/145.79 We have to consider all minimal (P,Q,R)-chains. 214.12/145.79 ---------------------------------------- 214.12/145.79 214.12/145.79 (219) TransformationProof (EQUIVALENT) 214.12/145.79 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]: 214.12/145.79 214.12/145.79 (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))))) 214.12/145.79 214.12/145.79 214.12/145.79 ---------------------------------------- 214.12/145.79 214.12/145.79 (220) 214.12/145.79 Obligation: 214.12/145.79 Q DP problem: 214.12/145.79 The TRS P consists of the following rules: 214.12/145.79 214.12/145.79 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))) 214.12/145.79 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))))) 214.12/145.79 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))) 214.12/145.79 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)))) 214.12/145.79 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))))) 214.12/145.79 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))))) 214.12/145.79 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))))) 214.12/145.79 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)))) 214.12/145.79 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)))) 214.12/145.79 214.12/145.79 The TRS R consists of the following rules: 214.12/145.79 214.12/145.79 new_primModNatS1(Succ(Succ(vyv293000)), Succ(vyv292000)) -> new_primModNatS01(vyv293000, vyv292000, vyv293000, vyv292000) 214.12/145.79 new_primModNatS01(vyv331, vyv332, Zero, Zero) -> new_primModNatS02(vyv331, vyv332) 214.12/145.79 new_primModNatS02(vyv331, vyv332) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv331), Succ(vyv332)), Succ(vyv332)) 214.12/145.79 new_primModNatS01(vyv331, vyv332, Succ(vyv3330), Succ(vyv3340)) -> new_primModNatS01(vyv331, vyv332, vyv3330, vyv3340) 214.12/145.79 new_primModNatS01(vyv331, vyv332, Succ(vyv3330), Zero) -> new_primModNatS02(vyv331, vyv332) 214.12/145.79 new_primModNatS01(vyv331, vyv332, Zero, Succ(vyv3340)) -> Succ(Succ(vyv331)) 214.12/145.79 new_primMinusNatS2(Succ(vyv3110), Succ(vyv3120)) -> new_primMinusNatS2(vyv3110, vyv3120) 214.12/145.79 new_primModNatS1(Succ(Zero), Succ(vyv292000)) -> Succ(Zero) 214.12/145.79 new_primModNatS1(Zero, vyv29200) -> Zero 214.12/145.79 new_primMinusNatS2(Zero, Zero) -> Zero 214.12/145.79 new_primMinusNatS2(Zero, Succ(vyv3120)) -> Zero 214.12/145.79 new_primMinusNatS2(Succ(vyv3110), Zero) -> Succ(vyv3110) 214.12/145.79 new_esEs(Pos(Succ(vyv24300))) -> new_primEqInt(Pos(Succ(vyv24300))) 214.12/145.79 new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) 214.12/145.79 new_primEqInt(Pos(Zero)) -> True 214.12/145.79 new_primEqInt(Pos(Succ(vyv242000))) -> False 214.12/145.79 new_esEs(Neg(Succ(vyv24300))) -> new_primEqInt(Neg(Succ(vyv24300))) 214.12/145.79 new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) 214.12/145.79 new_primEqInt(Neg(Zero)) -> True 214.12/145.79 new_primEqInt(Neg(Succ(vyv242000))) -> False 214.12/145.79 214.12/145.79 The set Q consists of the following terms: 214.12/145.79 214.12/145.79 new_primModNatS01(x0, x1, Succ(x2), Zero) 214.12/145.79 new_primModNatS1(Succ(Succ(x0)), Zero) 214.12/145.79 new_primEqInt(Pos(Zero)) 214.12/145.79 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 214.12/145.79 new_esEs(Pos(Succ(x0))) 214.12/145.79 new_primModNatS1(Zero, x0) 214.12/145.79 new_primModNatS02(x0, x1) 214.12/145.79 new_primMinusNatS2(Zero, Zero) 214.12/145.79 new_primModNatS1(Succ(Zero), Zero) 214.12/145.79 new_primMinusNatS2(Succ(x0), Zero) 214.12/145.79 new_esEs(Pos(Zero)) 214.12/145.79 new_primEqInt(Neg(Succ(x0))) 214.12/145.79 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 214.12/145.79 new_esEs(Neg(Succ(x0))) 214.12/145.79 new_primEqInt(Neg(Zero)) 214.12/145.79 new_primModNatS01(x0, x1, Zero, Zero) 214.12/145.79 new_primEqInt(Pos(Succ(x0))) 214.12/145.79 new_primMinusNatS2(Zero, Succ(x0)) 214.12/145.79 new_primModNatS1(Succ(Zero), Succ(x0)) 214.12/145.79 new_primMinusNatS2(Succ(x0), Succ(x1)) 214.12/145.79 new_primModNatS01(x0, x1, Zero, Succ(x2)) 214.12/145.79 new_esEs(Neg(Zero)) 214.12/145.79 214.12/145.79 We have to consider all minimal (P,Q,R)-chains. 214.12/145.79 ---------------------------------------- 214.12/145.79 214.12/145.79 (221) TransformationProof (EQUIVALENT) 214.12/145.79 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]: 214.12/145.79 214.12/145.79 (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)))))) 214.12/145.79 214.12/145.79 214.12/145.79 ---------------------------------------- 214.12/145.79 214.12/145.79 (222) 214.12/145.79 Obligation: 214.12/145.79 Q DP problem: 214.12/145.79 The TRS P consists of the following rules: 214.12/145.79 214.12/145.79 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))) 214.12/145.79 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))))) 214.12/145.79 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))) 214.12/145.79 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)))) 214.12/145.79 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))))) 214.12/145.79 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))))) 214.12/145.79 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)))) 214.12/145.79 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)))) 214.12/145.79 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))))) 214.12/145.79 214.12/145.79 The TRS R consists of the following rules: 214.12/145.79 214.12/145.79 new_primModNatS1(Succ(Succ(vyv293000)), Succ(vyv292000)) -> new_primModNatS01(vyv293000, vyv292000, vyv293000, vyv292000) 214.12/145.79 new_primModNatS01(vyv331, vyv332, Zero, Zero) -> new_primModNatS02(vyv331, vyv332) 214.12/145.79 new_primModNatS02(vyv331, vyv332) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv331), Succ(vyv332)), Succ(vyv332)) 214.12/145.79 new_primModNatS01(vyv331, vyv332, Succ(vyv3330), Succ(vyv3340)) -> new_primModNatS01(vyv331, vyv332, vyv3330, vyv3340) 214.12/145.79 new_primModNatS01(vyv331, vyv332, Succ(vyv3330), Zero) -> new_primModNatS02(vyv331, vyv332) 214.12/145.79 new_primModNatS01(vyv331, vyv332, Zero, Succ(vyv3340)) -> Succ(Succ(vyv331)) 214.12/145.79 new_primMinusNatS2(Succ(vyv3110), Succ(vyv3120)) -> new_primMinusNatS2(vyv3110, vyv3120) 214.12/145.79 new_primModNatS1(Succ(Zero), Succ(vyv292000)) -> Succ(Zero) 214.12/145.79 new_primModNatS1(Zero, vyv29200) -> Zero 214.12/145.79 new_primMinusNatS2(Zero, Zero) -> Zero 214.12/145.79 new_primMinusNatS2(Zero, Succ(vyv3120)) -> Zero 214.12/145.79 new_primMinusNatS2(Succ(vyv3110), Zero) -> Succ(vyv3110) 214.12/145.79 new_esEs(Pos(Succ(vyv24300))) -> new_primEqInt(Pos(Succ(vyv24300))) 214.12/145.79 new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) 214.12/145.79 new_primEqInt(Pos(Zero)) -> True 214.12/145.79 new_primEqInt(Pos(Succ(vyv242000))) -> False 214.12/145.79 new_esEs(Neg(Succ(vyv24300))) -> new_primEqInt(Neg(Succ(vyv24300))) 214.12/145.79 new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) 214.12/145.79 new_primEqInt(Neg(Zero)) -> True 214.12/145.79 new_primEqInt(Neg(Succ(vyv242000))) -> False 214.12/145.79 214.12/145.79 The set Q consists of the following terms: 214.12/145.79 214.12/145.79 new_primModNatS01(x0, x1, Succ(x2), Zero) 214.12/145.79 new_primModNatS1(Succ(Succ(x0)), Zero) 214.12/145.79 new_primEqInt(Pos(Zero)) 214.12/145.79 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 214.12/145.79 new_esEs(Pos(Succ(x0))) 214.12/145.79 new_primModNatS1(Zero, x0) 214.12/145.79 new_primModNatS02(x0, x1) 214.12/145.79 new_primMinusNatS2(Zero, Zero) 214.12/145.79 new_primModNatS1(Succ(Zero), Zero) 214.12/145.79 new_primMinusNatS2(Succ(x0), Zero) 214.12/145.79 new_esEs(Pos(Zero)) 214.12/145.79 new_primEqInt(Neg(Succ(x0))) 214.12/145.79 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 214.12/145.79 new_esEs(Neg(Succ(x0))) 214.12/145.79 new_primEqInt(Neg(Zero)) 214.12/145.79 new_primModNatS01(x0, x1, Zero, Zero) 214.12/145.79 new_primEqInt(Pos(Succ(x0))) 214.12/145.79 new_primMinusNatS2(Zero, Succ(x0)) 214.12/145.79 new_primModNatS1(Succ(Zero), Succ(x0)) 214.12/145.79 new_primMinusNatS2(Succ(x0), Succ(x1)) 214.12/145.79 new_primModNatS01(x0, x1, Zero, Succ(x2)) 214.12/145.79 new_esEs(Neg(Zero)) 214.12/145.79 214.12/145.79 We have to consider all minimal (P,Q,R)-chains. 214.12/145.79 ---------------------------------------- 214.12/145.79 214.12/145.79 (223) TransformationProof (EQUIVALENT) 214.12/145.79 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]: 214.12/145.79 214.12/145.79 (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))))) 214.12/145.79 214.12/145.79 214.12/145.79 ---------------------------------------- 214.12/145.79 214.12/145.79 (224) 214.12/145.79 Obligation: 214.12/145.79 Q DP problem: 214.12/145.79 The TRS P consists of the following rules: 214.12/145.79 214.12/145.79 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))) 214.12/145.79 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))))) 214.12/145.79 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))) 214.12/145.79 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)))) 214.12/145.79 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))))) 214.12/145.79 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))))) 214.12/145.79 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)))) 214.12/145.79 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))))) 214.12/145.79 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)))) 214.12/145.79 214.12/145.79 The TRS R consists of the following rules: 214.12/145.79 214.12/145.79 new_primModNatS1(Succ(Succ(vyv293000)), Succ(vyv292000)) -> new_primModNatS01(vyv293000, vyv292000, vyv293000, vyv292000) 214.12/145.79 new_primModNatS01(vyv331, vyv332, Zero, Zero) -> new_primModNatS02(vyv331, vyv332) 214.12/145.79 new_primModNatS02(vyv331, vyv332) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv331), Succ(vyv332)), Succ(vyv332)) 214.12/145.79 new_primModNatS01(vyv331, vyv332, Succ(vyv3330), Succ(vyv3340)) -> new_primModNatS01(vyv331, vyv332, vyv3330, vyv3340) 214.12/145.79 new_primModNatS01(vyv331, vyv332, Succ(vyv3330), Zero) -> new_primModNatS02(vyv331, vyv332) 214.12/145.79 new_primModNatS01(vyv331, vyv332, Zero, Succ(vyv3340)) -> Succ(Succ(vyv331)) 214.12/145.79 new_primMinusNatS2(Succ(vyv3110), Succ(vyv3120)) -> new_primMinusNatS2(vyv3110, vyv3120) 214.12/145.79 new_primModNatS1(Succ(Zero), Succ(vyv292000)) -> Succ(Zero) 214.12/145.79 new_primModNatS1(Zero, vyv29200) -> Zero 214.12/145.79 new_primMinusNatS2(Zero, Zero) -> Zero 214.12/145.79 new_primMinusNatS2(Zero, Succ(vyv3120)) -> Zero 214.12/145.79 new_primMinusNatS2(Succ(vyv3110), Zero) -> Succ(vyv3110) 214.12/145.79 new_esEs(Pos(Succ(vyv24300))) -> new_primEqInt(Pos(Succ(vyv24300))) 214.12/145.79 new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) 214.12/145.79 new_primEqInt(Pos(Zero)) -> True 214.12/145.79 new_primEqInt(Pos(Succ(vyv242000))) -> False 214.12/145.79 new_esEs(Neg(Succ(vyv24300))) -> new_primEqInt(Neg(Succ(vyv24300))) 214.12/145.79 new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) 214.12/145.79 new_primEqInt(Neg(Zero)) -> True 214.12/145.79 new_primEqInt(Neg(Succ(vyv242000))) -> False 214.12/145.79 214.12/145.79 The set Q consists of the following terms: 214.12/145.79 214.12/145.79 new_primModNatS01(x0, x1, Succ(x2), Zero) 214.12/145.79 new_primModNatS1(Succ(Succ(x0)), Zero) 214.12/145.79 new_primEqInt(Pos(Zero)) 214.12/145.79 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 214.12/145.79 new_esEs(Pos(Succ(x0))) 214.12/145.79 new_primModNatS1(Zero, x0) 214.12/145.79 new_primModNatS02(x0, x1) 214.12/145.79 new_primMinusNatS2(Zero, Zero) 214.12/145.79 new_primModNatS1(Succ(Zero), Zero) 214.12/145.79 new_primMinusNatS2(Succ(x0), Zero) 214.12/145.79 new_esEs(Pos(Zero)) 214.12/145.79 new_primEqInt(Neg(Succ(x0))) 214.12/145.79 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 214.12/145.79 new_esEs(Neg(Succ(x0))) 214.12/145.79 new_primEqInt(Neg(Zero)) 214.12/145.79 new_primModNatS01(x0, x1, Zero, Zero) 214.12/145.79 new_primEqInt(Pos(Succ(x0))) 214.12/145.79 new_primMinusNatS2(Zero, Succ(x0)) 214.12/145.79 new_primModNatS1(Succ(Zero), Succ(x0)) 214.12/145.79 new_primMinusNatS2(Succ(x0), Succ(x1)) 214.12/145.79 new_primModNatS01(x0, x1, Zero, Succ(x2)) 214.12/145.79 new_esEs(Neg(Zero)) 214.12/145.79 214.12/145.79 We have to consider all minimal (P,Q,R)-chains. 214.12/145.79 ---------------------------------------- 214.12/145.79 214.12/145.79 (225) DependencyGraphProof (EQUIVALENT) 214.12/145.79 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. 214.12/145.79 ---------------------------------------- 214.12/145.79 214.12/145.79 (226) 214.12/145.79 Obligation: 214.12/145.79 Q DP problem: 214.12/145.79 The TRS P consists of the following rules: 214.12/145.79 214.12/145.79 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))))) 214.12/145.79 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))) 214.12/145.79 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))))) 214.12/145.79 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))) 214.12/145.79 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)))) 214.12/145.79 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))))) 214.12/145.79 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)))) 214.12/145.79 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))))) 214.12/145.79 214.12/145.79 The TRS R consists of the following rules: 214.12/145.79 214.12/145.79 new_primModNatS1(Succ(Succ(vyv293000)), Succ(vyv292000)) -> new_primModNatS01(vyv293000, vyv292000, vyv293000, vyv292000) 214.12/145.79 new_primModNatS01(vyv331, vyv332, Zero, Zero) -> new_primModNatS02(vyv331, vyv332) 214.12/145.79 new_primModNatS02(vyv331, vyv332) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv331), Succ(vyv332)), Succ(vyv332)) 214.12/145.79 new_primModNatS01(vyv331, vyv332, Succ(vyv3330), Succ(vyv3340)) -> new_primModNatS01(vyv331, vyv332, vyv3330, vyv3340) 214.12/145.79 new_primModNatS01(vyv331, vyv332, Succ(vyv3330), Zero) -> new_primModNatS02(vyv331, vyv332) 214.12/145.79 new_primModNatS01(vyv331, vyv332, Zero, Succ(vyv3340)) -> Succ(Succ(vyv331)) 214.12/145.79 new_primMinusNatS2(Succ(vyv3110), Succ(vyv3120)) -> new_primMinusNatS2(vyv3110, vyv3120) 214.12/145.79 new_primModNatS1(Succ(Zero), Succ(vyv292000)) -> Succ(Zero) 214.12/145.79 new_primModNatS1(Zero, vyv29200) -> Zero 214.12/145.79 new_primMinusNatS2(Zero, Zero) -> Zero 214.12/145.79 new_primMinusNatS2(Zero, Succ(vyv3120)) -> Zero 214.12/145.79 new_primMinusNatS2(Succ(vyv3110), Zero) -> Succ(vyv3110) 214.12/145.79 new_esEs(Pos(Succ(vyv24300))) -> new_primEqInt(Pos(Succ(vyv24300))) 214.12/145.79 new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) 214.12/145.79 new_primEqInt(Pos(Zero)) -> True 214.12/145.79 new_primEqInt(Pos(Succ(vyv242000))) -> False 214.12/145.79 new_esEs(Neg(Succ(vyv24300))) -> new_primEqInt(Neg(Succ(vyv24300))) 214.12/145.79 new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) 214.12/145.79 new_primEqInt(Neg(Zero)) -> True 214.12/145.79 new_primEqInt(Neg(Succ(vyv242000))) -> False 214.12/145.79 214.12/145.79 The set Q consists of the following terms: 214.12/145.79 214.12/145.79 new_primModNatS01(x0, x1, Succ(x2), Zero) 214.12/145.79 new_primModNatS1(Succ(Succ(x0)), Zero) 214.12/145.79 new_primEqInt(Pos(Zero)) 214.12/145.79 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 214.12/145.79 new_esEs(Pos(Succ(x0))) 214.12/145.79 new_primModNatS1(Zero, x0) 214.12/145.79 new_primModNatS02(x0, x1) 214.12/145.79 new_primMinusNatS2(Zero, Zero) 214.12/145.79 new_primModNatS1(Succ(Zero), Zero) 214.12/145.79 new_primMinusNatS2(Succ(x0), Zero) 214.12/145.79 new_esEs(Pos(Zero)) 214.12/145.79 new_primEqInt(Neg(Succ(x0))) 214.12/145.79 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 214.12/145.79 new_esEs(Neg(Succ(x0))) 214.12/145.79 new_primEqInt(Neg(Zero)) 214.12/145.79 new_primModNatS01(x0, x1, Zero, Zero) 214.12/145.79 new_primEqInt(Pos(Succ(x0))) 214.12/145.79 new_primMinusNatS2(Zero, Succ(x0)) 214.12/145.79 new_primModNatS1(Succ(Zero), Succ(x0)) 214.12/145.79 new_primMinusNatS2(Succ(x0), Succ(x1)) 214.12/145.79 new_primModNatS01(x0, x1, Zero, Succ(x2)) 214.12/145.79 new_esEs(Neg(Zero)) 214.12/145.79 214.12/145.79 We have to consider all minimal (P,Q,R)-chains. 214.12/145.79 ---------------------------------------- 214.12/145.79 214.12/145.79 (227) TransformationProof (EQUIVALENT) 214.12/145.79 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]: 214.12/145.79 214.12/145.79 (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)))))) 214.12/145.79 (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))))))) 214.12/145.79 (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))))))) 214.12/145.79 (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)))))) 214.12/145.79 214.12/145.79 214.12/145.79 ---------------------------------------- 214.12/145.79 214.12/145.79 (228) 214.12/145.79 Obligation: 214.12/145.79 Q DP problem: 214.12/145.79 The TRS P consists of the following rules: 214.12/145.79 214.12/145.79 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))) 214.12/145.79 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))))) 214.12/145.79 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))) 214.12/145.79 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)))) 214.12/145.79 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))))) 214.12/145.79 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)))) 214.12/145.79 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))))) 214.12/145.79 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))))) 214.12/145.79 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)))))) 214.12/145.79 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)))))) 214.12/145.79 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))))) 214.12/145.79 214.12/145.79 The TRS R consists of the following rules: 214.12/145.79 214.12/145.79 new_primModNatS1(Succ(Succ(vyv293000)), Succ(vyv292000)) -> new_primModNatS01(vyv293000, vyv292000, vyv293000, vyv292000) 214.12/145.79 new_primModNatS01(vyv331, vyv332, Zero, Zero) -> new_primModNatS02(vyv331, vyv332) 214.12/145.79 new_primModNatS02(vyv331, vyv332) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv331), Succ(vyv332)), Succ(vyv332)) 214.12/145.79 new_primModNatS01(vyv331, vyv332, Succ(vyv3330), Succ(vyv3340)) -> new_primModNatS01(vyv331, vyv332, vyv3330, vyv3340) 214.12/145.79 new_primModNatS01(vyv331, vyv332, Succ(vyv3330), Zero) -> new_primModNatS02(vyv331, vyv332) 214.12/145.79 new_primModNatS01(vyv331, vyv332, Zero, Succ(vyv3340)) -> Succ(Succ(vyv331)) 214.12/145.79 new_primMinusNatS2(Succ(vyv3110), Succ(vyv3120)) -> new_primMinusNatS2(vyv3110, vyv3120) 214.12/145.79 new_primModNatS1(Succ(Zero), Succ(vyv292000)) -> Succ(Zero) 214.12/145.79 new_primModNatS1(Zero, vyv29200) -> Zero 214.12/145.79 new_primMinusNatS2(Zero, Zero) -> Zero 214.12/145.79 new_primMinusNatS2(Zero, Succ(vyv3120)) -> Zero 214.12/145.79 new_primMinusNatS2(Succ(vyv3110), Zero) -> Succ(vyv3110) 214.12/145.79 new_esEs(Pos(Succ(vyv24300))) -> new_primEqInt(Pos(Succ(vyv24300))) 214.12/145.79 new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) 214.12/145.79 new_primEqInt(Pos(Zero)) -> True 214.12/145.79 new_primEqInt(Pos(Succ(vyv242000))) -> False 214.12/145.79 new_esEs(Neg(Succ(vyv24300))) -> new_primEqInt(Neg(Succ(vyv24300))) 214.12/145.79 new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) 214.12/145.79 new_primEqInt(Neg(Zero)) -> True 214.12/145.79 new_primEqInt(Neg(Succ(vyv242000))) -> False 214.12/145.79 214.12/145.79 The set Q consists of the following terms: 214.12/145.79 214.12/145.79 new_primModNatS01(x0, x1, Succ(x2), Zero) 214.12/145.79 new_primModNatS1(Succ(Succ(x0)), Zero) 214.12/145.79 new_primEqInt(Pos(Zero)) 214.12/145.79 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 214.12/145.79 new_esEs(Pos(Succ(x0))) 214.12/145.79 new_primModNatS1(Zero, x0) 214.12/145.79 new_primModNatS02(x0, x1) 214.12/145.79 new_primMinusNatS2(Zero, Zero) 214.12/145.79 new_primModNatS1(Succ(Zero), Zero) 214.12/145.79 new_primMinusNatS2(Succ(x0), Zero) 214.12/145.79 new_esEs(Pos(Zero)) 214.12/145.79 new_primEqInt(Neg(Succ(x0))) 214.12/145.79 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 214.12/145.79 new_esEs(Neg(Succ(x0))) 214.12/145.79 new_primEqInt(Neg(Zero)) 214.12/145.79 new_primModNatS01(x0, x1, Zero, Zero) 214.12/145.79 new_primEqInt(Pos(Succ(x0))) 214.12/145.79 new_primMinusNatS2(Zero, Succ(x0)) 214.12/145.79 new_primModNatS1(Succ(Zero), Succ(x0)) 214.12/145.79 new_primMinusNatS2(Succ(x0), Succ(x1)) 214.12/145.79 new_primModNatS01(x0, x1, Zero, Succ(x2)) 214.12/145.79 new_esEs(Neg(Zero)) 214.12/145.79 214.12/145.79 We have to consider all minimal (P,Q,R)-chains. 214.12/145.79 ---------------------------------------- 214.12/145.79 214.12/145.79 (229) TransformationProof (EQUIVALENT) 214.12/145.79 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]: 214.12/145.79 214.12/145.79 (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)))))) 214.12/145.79 214.12/145.79 214.12/145.79 ---------------------------------------- 214.12/145.79 214.12/145.79 (230) 214.12/145.79 Obligation: 214.12/145.79 Q DP problem: 214.12/145.79 The TRS P consists of the following rules: 214.12/145.79 214.12/145.79 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))) 214.12/145.79 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))))) 214.12/145.79 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))) 214.12/145.79 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)))) 214.12/145.79 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))))) 214.12/145.79 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)))) 214.12/145.79 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))))) 214.12/145.79 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)))))) 214.12/145.79 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)))))) 214.12/145.79 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))))) 214.12/145.79 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))))) 214.12/145.79 214.12/145.79 The TRS R consists of the following rules: 214.12/145.79 214.12/145.79 new_primModNatS1(Succ(Succ(vyv293000)), Succ(vyv292000)) -> new_primModNatS01(vyv293000, vyv292000, vyv293000, vyv292000) 214.12/145.79 new_primModNatS01(vyv331, vyv332, Zero, Zero) -> new_primModNatS02(vyv331, vyv332) 214.12/145.79 new_primModNatS02(vyv331, vyv332) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv331), Succ(vyv332)), Succ(vyv332)) 214.12/145.79 new_primModNatS01(vyv331, vyv332, Succ(vyv3330), Succ(vyv3340)) -> new_primModNatS01(vyv331, vyv332, vyv3330, vyv3340) 214.12/145.79 new_primModNatS01(vyv331, vyv332, Succ(vyv3330), Zero) -> new_primModNatS02(vyv331, vyv332) 214.12/145.79 new_primModNatS01(vyv331, vyv332, Zero, Succ(vyv3340)) -> Succ(Succ(vyv331)) 214.12/145.79 new_primMinusNatS2(Succ(vyv3110), Succ(vyv3120)) -> new_primMinusNatS2(vyv3110, vyv3120) 214.12/145.79 new_primModNatS1(Succ(Zero), Succ(vyv292000)) -> Succ(Zero) 214.12/145.79 new_primModNatS1(Zero, vyv29200) -> Zero 214.12/145.79 new_primMinusNatS2(Zero, Zero) -> Zero 214.12/145.79 new_primMinusNatS2(Zero, Succ(vyv3120)) -> Zero 214.12/145.79 new_primMinusNatS2(Succ(vyv3110), Zero) -> Succ(vyv3110) 214.12/145.79 new_esEs(Pos(Succ(vyv24300))) -> new_primEqInt(Pos(Succ(vyv24300))) 214.12/145.79 new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) 214.12/145.79 new_primEqInt(Pos(Zero)) -> True 214.12/145.79 new_primEqInt(Pos(Succ(vyv242000))) -> False 214.12/145.79 new_esEs(Neg(Succ(vyv24300))) -> new_primEqInt(Neg(Succ(vyv24300))) 214.12/145.79 new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) 214.12/145.79 new_primEqInt(Neg(Zero)) -> True 214.12/145.79 new_primEqInt(Neg(Succ(vyv242000))) -> False 214.12/145.79 214.12/145.79 The set Q consists of the following terms: 214.12/145.79 214.12/145.79 new_primModNatS01(x0, x1, Succ(x2), Zero) 214.12/145.79 new_primModNatS1(Succ(Succ(x0)), Zero) 214.12/145.79 new_primEqInt(Pos(Zero)) 214.12/145.79 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 214.12/145.79 new_esEs(Pos(Succ(x0))) 214.12/145.79 new_primModNatS1(Zero, x0) 214.12/145.79 new_primModNatS02(x0, x1) 214.12/145.79 new_primMinusNatS2(Zero, Zero) 214.12/145.79 new_primModNatS1(Succ(Zero), Zero) 214.12/145.79 new_primMinusNatS2(Succ(x0), Zero) 214.12/145.79 new_esEs(Pos(Zero)) 214.12/145.79 new_primEqInt(Neg(Succ(x0))) 214.12/145.79 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 214.12/145.79 new_esEs(Neg(Succ(x0))) 214.12/145.79 new_primEqInt(Neg(Zero)) 214.12/145.79 new_primModNatS01(x0, x1, Zero, Zero) 214.12/145.79 new_primEqInt(Pos(Succ(x0))) 214.12/145.79 new_primMinusNatS2(Zero, Succ(x0)) 214.12/145.79 new_primModNatS1(Succ(Zero), Succ(x0)) 214.12/145.79 new_primMinusNatS2(Succ(x0), Succ(x1)) 214.12/145.79 new_primModNatS01(x0, x1, Zero, Succ(x2)) 214.12/145.79 new_esEs(Neg(Zero)) 214.12/145.79 214.12/145.79 We have to consider all minimal (P,Q,R)-chains. 214.12/145.79 ---------------------------------------- 214.12/145.79 214.12/145.79 (231) TransformationProof (EQUIVALENT) 214.12/145.79 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]: 214.12/145.79 214.12/145.79 (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))))))) 214.12/145.79 214.12/145.79 214.12/145.79 ---------------------------------------- 214.12/145.79 214.12/145.79 (232) 214.12/145.79 Obligation: 214.12/145.79 Q DP problem: 214.12/145.79 The TRS P consists of the following rules: 214.12/145.79 214.12/145.79 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))) 214.12/145.79 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))))) 214.12/145.79 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))) 214.12/145.79 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)))) 214.12/145.79 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))))) 214.12/145.79 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)))) 214.12/145.79 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))))) 214.12/145.79 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)))))) 214.12/145.79 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))))) 214.12/145.79 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))))) 214.12/145.79 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)))))) 214.12/145.79 214.12/145.79 The TRS R consists of the following rules: 214.12/145.79 214.12/145.79 new_primModNatS1(Succ(Succ(vyv293000)), Succ(vyv292000)) -> new_primModNatS01(vyv293000, vyv292000, vyv293000, vyv292000) 214.12/145.79 new_primModNatS01(vyv331, vyv332, Zero, Zero) -> new_primModNatS02(vyv331, vyv332) 214.12/145.79 new_primModNatS02(vyv331, vyv332) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv331), Succ(vyv332)), Succ(vyv332)) 214.12/145.79 new_primModNatS01(vyv331, vyv332, Succ(vyv3330), Succ(vyv3340)) -> new_primModNatS01(vyv331, vyv332, vyv3330, vyv3340) 214.12/145.79 new_primModNatS01(vyv331, vyv332, Succ(vyv3330), Zero) -> new_primModNatS02(vyv331, vyv332) 214.12/145.79 new_primModNatS01(vyv331, vyv332, Zero, Succ(vyv3340)) -> Succ(Succ(vyv331)) 214.12/145.79 new_primMinusNatS2(Succ(vyv3110), Succ(vyv3120)) -> new_primMinusNatS2(vyv3110, vyv3120) 214.12/145.79 new_primModNatS1(Succ(Zero), Succ(vyv292000)) -> Succ(Zero) 214.12/145.79 new_primModNatS1(Zero, vyv29200) -> Zero 214.12/145.79 new_primMinusNatS2(Zero, Zero) -> Zero 214.12/145.79 new_primMinusNatS2(Zero, Succ(vyv3120)) -> Zero 214.12/145.79 new_primMinusNatS2(Succ(vyv3110), Zero) -> Succ(vyv3110) 214.12/145.79 new_esEs(Pos(Succ(vyv24300))) -> new_primEqInt(Pos(Succ(vyv24300))) 214.12/145.79 new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) 214.12/145.79 new_primEqInt(Pos(Zero)) -> True 214.12/145.79 new_primEqInt(Pos(Succ(vyv242000))) -> False 214.12/145.79 new_esEs(Neg(Succ(vyv24300))) -> new_primEqInt(Neg(Succ(vyv24300))) 214.12/145.79 new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) 214.12/145.79 new_primEqInt(Neg(Zero)) -> True 214.12/145.79 new_primEqInt(Neg(Succ(vyv242000))) -> False 214.12/145.79 214.12/145.79 The set Q consists of the following terms: 214.12/145.79 214.12/145.79 new_primModNatS01(x0, x1, Succ(x2), Zero) 214.12/145.79 new_primModNatS1(Succ(Succ(x0)), Zero) 214.12/145.79 new_primEqInt(Pos(Zero)) 214.12/145.79 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 214.12/145.79 new_esEs(Pos(Succ(x0))) 214.12/145.79 new_primModNatS1(Zero, x0) 214.12/145.79 new_primModNatS02(x0, x1) 214.12/145.79 new_primMinusNatS2(Zero, Zero) 214.12/145.79 new_primModNatS1(Succ(Zero), Zero) 214.12/145.79 new_primMinusNatS2(Succ(x0), Zero) 214.12/145.79 new_esEs(Pos(Zero)) 214.12/145.79 new_primEqInt(Neg(Succ(x0))) 214.12/145.79 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 214.12/145.79 new_esEs(Neg(Succ(x0))) 214.12/145.79 new_primEqInt(Neg(Zero)) 214.12/145.79 new_primModNatS01(x0, x1, Zero, Zero) 214.12/145.79 new_primEqInt(Pos(Succ(x0))) 214.12/145.79 new_primMinusNatS2(Zero, Succ(x0)) 214.12/145.79 new_primModNatS1(Succ(Zero), Succ(x0)) 214.12/145.79 new_primMinusNatS2(Succ(x0), Succ(x1)) 214.12/145.79 new_primModNatS01(x0, x1, Zero, Succ(x2)) 214.12/145.79 new_esEs(Neg(Zero)) 214.12/145.79 214.12/145.79 We have to consider all minimal (P,Q,R)-chains. 214.12/145.79 ---------------------------------------- 214.12/145.79 214.12/145.79 (233) TransformationProof (EQUIVALENT) 214.12/145.79 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]: 214.12/145.79 214.12/145.79 (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)))))) 214.12/145.79 214.12/145.79 214.12/145.79 ---------------------------------------- 214.12/145.79 214.12/145.79 (234) 214.12/145.79 Obligation: 214.12/145.79 Q DP problem: 214.12/145.79 The TRS P consists of the following rules: 214.12/145.79 214.12/145.79 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))) 214.12/145.79 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))))) 214.12/145.79 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))) 214.12/145.79 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)))) 214.12/145.79 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))))) 214.12/145.79 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)))) 214.12/145.79 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))))) 214.12/145.79 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)))))) 214.12/145.79 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))))) 214.12/145.79 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)))))) 214.12/145.79 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))))) 214.12/145.79 214.12/145.79 The TRS R consists of the following rules: 214.12/145.79 214.12/145.79 new_primModNatS1(Succ(Succ(vyv293000)), Succ(vyv292000)) -> new_primModNatS01(vyv293000, vyv292000, vyv293000, vyv292000) 214.12/145.79 new_primModNatS01(vyv331, vyv332, Zero, Zero) -> new_primModNatS02(vyv331, vyv332) 214.12/145.79 new_primModNatS02(vyv331, vyv332) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv331), Succ(vyv332)), Succ(vyv332)) 214.12/145.79 new_primModNatS01(vyv331, vyv332, Succ(vyv3330), Succ(vyv3340)) -> new_primModNatS01(vyv331, vyv332, vyv3330, vyv3340) 214.12/145.79 new_primModNatS01(vyv331, vyv332, Succ(vyv3330), Zero) -> new_primModNatS02(vyv331, vyv332) 214.12/145.79 new_primModNatS01(vyv331, vyv332, Zero, Succ(vyv3340)) -> Succ(Succ(vyv331)) 214.12/145.79 new_primMinusNatS2(Succ(vyv3110), Succ(vyv3120)) -> new_primMinusNatS2(vyv3110, vyv3120) 214.12/145.79 new_primModNatS1(Succ(Zero), Succ(vyv292000)) -> Succ(Zero) 214.12/145.79 new_primModNatS1(Zero, vyv29200) -> Zero 214.12/145.79 new_primMinusNatS2(Zero, Zero) -> Zero 214.12/145.79 new_primMinusNatS2(Zero, Succ(vyv3120)) -> Zero 214.12/145.79 new_primMinusNatS2(Succ(vyv3110), Zero) -> Succ(vyv3110) 214.12/145.79 new_esEs(Pos(Succ(vyv24300))) -> new_primEqInt(Pos(Succ(vyv24300))) 214.12/145.79 new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) 214.12/145.79 new_primEqInt(Pos(Zero)) -> True 214.12/145.79 new_primEqInt(Pos(Succ(vyv242000))) -> False 214.12/145.79 new_esEs(Neg(Succ(vyv24300))) -> new_primEqInt(Neg(Succ(vyv24300))) 214.12/145.79 new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) 214.12/145.79 new_primEqInt(Neg(Zero)) -> True 214.12/145.79 new_primEqInt(Neg(Succ(vyv242000))) -> False 214.12/145.79 214.12/145.79 The set Q consists of the following terms: 214.12/145.79 214.12/145.79 new_primModNatS01(x0, x1, Succ(x2), Zero) 214.12/145.79 new_primModNatS1(Succ(Succ(x0)), Zero) 214.12/145.79 new_primEqInt(Pos(Zero)) 214.12/145.79 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 214.12/145.79 new_esEs(Pos(Succ(x0))) 214.12/145.79 new_primModNatS1(Zero, x0) 214.12/145.79 new_primModNatS02(x0, x1) 214.12/145.79 new_primMinusNatS2(Zero, Zero) 214.12/145.79 new_primModNatS1(Succ(Zero), Zero) 214.12/145.79 new_primMinusNatS2(Succ(x0), Zero) 214.12/145.79 new_esEs(Pos(Zero)) 214.12/145.79 new_primEqInt(Neg(Succ(x0))) 214.12/145.79 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 214.12/145.79 new_esEs(Neg(Succ(x0))) 214.12/145.79 new_primEqInt(Neg(Zero)) 214.12/145.79 new_primModNatS01(x0, x1, Zero, Zero) 214.12/145.79 new_primEqInt(Pos(Succ(x0))) 214.12/145.79 new_primMinusNatS2(Zero, Succ(x0)) 214.12/145.79 new_primModNatS1(Succ(Zero), Succ(x0)) 214.12/145.79 new_primMinusNatS2(Succ(x0), Succ(x1)) 214.12/145.79 new_primModNatS01(x0, x1, Zero, Succ(x2)) 214.12/145.79 new_esEs(Neg(Zero)) 214.12/145.79 214.12/145.79 We have to consider all minimal (P,Q,R)-chains. 214.12/145.79 ---------------------------------------- 214.12/145.79 214.12/145.79 (235) TransformationProof (EQUIVALENT) 214.12/145.79 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]: 214.12/145.79 214.12/145.79 (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)))))) 214.12/145.79 214.12/145.79 214.12/145.79 ---------------------------------------- 214.12/145.79 214.12/145.79 (236) 214.12/145.79 Obligation: 214.12/145.79 Q DP problem: 214.12/145.79 The TRS P consists of the following rules: 214.12/145.79 214.12/145.79 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))) 214.12/145.79 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))))) 214.12/145.79 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))) 214.12/145.79 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)))) 214.12/145.79 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))))) 214.12/145.79 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)))) 214.12/145.79 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))))) 214.12/145.79 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)))))) 214.12/145.79 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)))))) 214.12/145.79 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))))) 214.12/145.79 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))))) 214.12/145.79 214.12/145.79 The TRS R consists of the following rules: 214.12/145.79 214.12/145.79 new_primModNatS1(Succ(Succ(vyv293000)), Succ(vyv292000)) -> new_primModNatS01(vyv293000, vyv292000, vyv293000, vyv292000) 214.12/145.79 new_primModNatS01(vyv331, vyv332, Zero, Zero) -> new_primModNatS02(vyv331, vyv332) 214.12/145.79 new_primModNatS02(vyv331, vyv332) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv331), Succ(vyv332)), Succ(vyv332)) 214.12/145.79 new_primModNatS01(vyv331, vyv332, Succ(vyv3330), Succ(vyv3340)) -> new_primModNatS01(vyv331, vyv332, vyv3330, vyv3340) 214.12/145.79 new_primModNatS01(vyv331, vyv332, Succ(vyv3330), Zero) -> new_primModNatS02(vyv331, vyv332) 214.12/145.79 new_primModNatS01(vyv331, vyv332, Zero, Succ(vyv3340)) -> Succ(Succ(vyv331)) 214.12/145.79 new_primMinusNatS2(Succ(vyv3110), Succ(vyv3120)) -> new_primMinusNatS2(vyv3110, vyv3120) 214.12/145.79 new_primModNatS1(Succ(Zero), Succ(vyv292000)) -> Succ(Zero) 214.12/145.79 new_primModNatS1(Zero, vyv29200) -> Zero 214.12/145.79 new_primMinusNatS2(Zero, Zero) -> Zero 214.12/145.79 new_primMinusNatS2(Zero, Succ(vyv3120)) -> Zero 214.12/145.79 new_primMinusNatS2(Succ(vyv3110), Zero) -> Succ(vyv3110) 214.12/145.79 new_esEs(Pos(Succ(vyv24300))) -> new_primEqInt(Pos(Succ(vyv24300))) 214.12/145.79 new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) 214.12/145.79 new_primEqInt(Pos(Zero)) -> True 214.12/145.79 new_primEqInt(Pos(Succ(vyv242000))) -> False 214.12/145.79 new_esEs(Neg(Succ(vyv24300))) -> new_primEqInt(Neg(Succ(vyv24300))) 214.12/145.79 new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) 214.12/145.79 new_primEqInt(Neg(Zero)) -> True 214.12/145.79 new_primEqInt(Neg(Succ(vyv242000))) -> False 214.12/145.79 214.12/145.79 The set Q consists of the following terms: 214.12/145.79 214.12/145.79 new_primModNatS01(x0, x1, Succ(x2), Zero) 214.12/145.79 new_primModNatS1(Succ(Succ(x0)), Zero) 214.12/145.79 new_primEqInt(Pos(Zero)) 214.12/145.79 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 214.12/145.79 new_esEs(Pos(Succ(x0))) 214.12/145.79 new_primModNatS1(Zero, x0) 214.12/145.79 new_primModNatS02(x0, x1) 214.12/145.79 new_primMinusNatS2(Zero, Zero) 214.12/145.79 new_primModNatS1(Succ(Zero), Zero) 214.12/145.79 new_primMinusNatS2(Succ(x0), Zero) 214.12/145.79 new_esEs(Pos(Zero)) 214.12/145.79 new_primEqInt(Neg(Succ(x0))) 214.12/145.79 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 214.12/145.79 new_esEs(Neg(Succ(x0))) 214.12/145.79 new_primEqInt(Neg(Zero)) 214.12/145.79 new_primModNatS01(x0, x1, Zero, Zero) 214.12/145.79 new_primEqInt(Pos(Succ(x0))) 214.12/145.79 new_primMinusNatS2(Zero, Succ(x0)) 214.12/145.79 new_primModNatS1(Succ(Zero), Succ(x0)) 214.12/145.79 new_primMinusNatS2(Succ(x0), Succ(x1)) 214.12/145.79 new_primModNatS01(x0, x1, Zero, Succ(x2)) 214.12/145.79 new_esEs(Neg(Zero)) 214.12/145.79 214.12/145.79 We have to consider all minimal (P,Q,R)-chains. 214.12/145.79 ---------------------------------------- 214.12/145.79 214.12/145.79 (237) TransformationProof (EQUIVALENT) 214.12/145.79 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]: 214.12/145.79 214.12/145.79 (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))))))) 214.12/145.79 214.12/145.79 214.12/145.79 ---------------------------------------- 214.12/145.79 214.12/145.79 (238) 214.12/145.79 Obligation: 214.12/145.79 Q DP problem: 214.12/145.79 The TRS P consists of the following rules: 214.12/145.79 214.12/145.79 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))) 214.12/145.79 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))))) 214.12/145.79 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))) 214.12/145.79 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)))) 214.12/145.79 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))))) 214.12/145.79 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)))) 214.12/145.79 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))))) 214.12/145.79 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)))))) 214.12/145.79 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))))) 214.12/145.79 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))))) 214.12/145.79 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)))))) 214.12/145.79 214.12/145.79 The TRS R consists of the following rules: 214.12/145.79 214.12/145.79 new_primModNatS1(Succ(Succ(vyv293000)), Succ(vyv292000)) -> new_primModNatS01(vyv293000, vyv292000, vyv293000, vyv292000) 214.12/145.79 new_primModNatS01(vyv331, vyv332, Zero, Zero) -> new_primModNatS02(vyv331, vyv332) 214.12/145.79 new_primModNatS02(vyv331, vyv332) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv331), Succ(vyv332)), Succ(vyv332)) 214.12/145.79 new_primModNatS01(vyv331, vyv332, Succ(vyv3330), Succ(vyv3340)) -> new_primModNatS01(vyv331, vyv332, vyv3330, vyv3340) 214.12/145.79 new_primModNatS01(vyv331, vyv332, Succ(vyv3330), Zero) -> new_primModNatS02(vyv331, vyv332) 214.12/145.79 new_primModNatS01(vyv331, vyv332, Zero, Succ(vyv3340)) -> Succ(Succ(vyv331)) 214.12/145.79 new_primMinusNatS2(Succ(vyv3110), Succ(vyv3120)) -> new_primMinusNatS2(vyv3110, vyv3120) 214.12/145.79 new_primModNatS1(Succ(Zero), Succ(vyv292000)) -> Succ(Zero) 214.12/145.79 new_primModNatS1(Zero, vyv29200) -> Zero 214.12/145.79 new_primMinusNatS2(Zero, Zero) -> Zero 214.12/145.79 new_primMinusNatS2(Zero, Succ(vyv3120)) -> Zero 214.12/145.79 new_primMinusNatS2(Succ(vyv3110), Zero) -> Succ(vyv3110) 214.12/145.79 new_esEs(Pos(Succ(vyv24300))) -> new_primEqInt(Pos(Succ(vyv24300))) 214.12/145.79 new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) 214.12/145.79 new_primEqInt(Pos(Zero)) -> True 214.12/145.79 new_primEqInt(Pos(Succ(vyv242000))) -> False 214.12/145.79 new_esEs(Neg(Succ(vyv24300))) -> new_primEqInt(Neg(Succ(vyv24300))) 214.12/145.79 new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) 214.12/145.79 new_primEqInt(Neg(Zero)) -> True 214.12/145.79 new_primEqInt(Neg(Succ(vyv242000))) -> False 214.12/145.79 214.12/145.79 The set Q consists of the following terms: 214.12/145.79 214.12/145.79 new_primModNatS01(x0, x1, Succ(x2), Zero) 214.12/145.79 new_primModNatS1(Succ(Succ(x0)), Zero) 214.12/145.79 new_primEqInt(Pos(Zero)) 214.12/145.79 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 214.12/145.79 new_esEs(Pos(Succ(x0))) 214.12/145.79 new_primModNatS1(Zero, x0) 214.12/145.79 new_primModNatS02(x0, x1) 214.12/145.79 new_primMinusNatS2(Zero, Zero) 214.12/145.79 new_primModNatS1(Succ(Zero), Zero) 214.12/145.79 new_primMinusNatS2(Succ(x0), Zero) 214.12/145.79 new_esEs(Pos(Zero)) 214.12/145.79 new_primEqInt(Neg(Succ(x0))) 214.12/145.79 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 214.12/145.79 new_esEs(Neg(Succ(x0))) 214.12/145.79 new_primEqInt(Neg(Zero)) 214.12/145.79 new_primModNatS01(x0, x1, Zero, Zero) 214.12/145.79 new_primEqInt(Pos(Succ(x0))) 214.12/145.79 new_primMinusNatS2(Zero, Succ(x0)) 214.12/145.79 new_primModNatS1(Succ(Zero), Succ(x0)) 214.12/145.79 new_primMinusNatS2(Succ(x0), Succ(x1)) 214.12/145.79 new_primModNatS01(x0, x1, Zero, Succ(x2)) 214.12/145.79 new_esEs(Neg(Zero)) 214.12/145.79 214.12/145.79 We have to consider all minimal (P,Q,R)-chains. 214.12/145.79 ---------------------------------------- 214.12/145.79 214.12/145.79 (239) TransformationProof (EQUIVALENT) 214.12/145.79 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]: 214.12/145.79 214.12/145.79 (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)))))) 214.12/145.79 214.12/145.79 214.12/145.79 ---------------------------------------- 214.12/145.79 214.12/145.79 (240) 214.12/145.79 Obligation: 214.12/145.79 Q DP problem: 214.12/145.79 The TRS P consists of the following rules: 214.12/145.79 214.12/145.79 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))) 214.12/145.79 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))))) 214.12/145.79 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))) 214.12/145.79 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)))) 214.12/145.79 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))))) 214.12/145.79 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)))) 214.12/145.79 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))))) 214.12/145.79 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)))))) 214.12/145.79 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))))) 214.12/145.79 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)))))) 214.12/145.79 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))))) 214.12/145.79 214.12/145.79 The TRS R consists of the following rules: 214.12/145.79 214.12/145.79 new_primModNatS1(Succ(Succ(vyv293000)), Succ(vyv292000)) -> new_primModNatS01(vyv293000, vyv292000, vyv293000, vyv292000) 214.12/145.79 new_primModNatS01(vyv331, vyv332, Zero, Zero) -> new_primModNatS02(vyv331, vyv332) 214.12/145.79 new_primModNatS02(vyv331, vyv332) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv331), Succ(vyv332)), Succ(vyv332)) 214.12/145.79 new_primModNatS01(vyv331, vyv332, Succ(vyv3330), Succ(vyv3340)) -> new_primModNatS01(vyv331, vyv332, vyv3330, vyv3340) 214.12/145.79 new_primModNatS01(vyv331, vyv332, Succ(vyv3330), Zero) -> new_primModNatS02(vyv331, vyv332) 214.12/145.79 new_primModNatS01(vyv331, vyv332, Zero, Succ(vyv3340)) -> Succ(Succ(vyv331)) 214.12/145.79 new_primMinusNatS2(Succ(vyv3110), Succ(vyv3120)) -> new_primMinusNatS2(vyv3110, vyv3120) 214.12/145.79 new_primModNatS1(Succ(Zero), Succ(vyv292000)) -> Succ(Zero) 214.12/145.79 new_primModNatS1(Zero, vyv29200) -> Zero 214.12/145.79 new_primMinusNatS2(Zero, Zero) -> Zero 214.12/145.79 new_primMinusNatS2(Zero, Succ(vyv3120)) -> Zero 214.12/145.79 new_primMinusNatS2(Succ(vyv3110), Zero) -> Succ(vyv3110) 214.12/145.79 new_esEs(Pos(Succ(vyv24300))) -> new_primEqInt(Pos(Succ(vyv24300))) 214.12/145.79 new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) 214.12/145.79 new_primEqInt(Pos(Zero)) -> True 214.12/145.79 new_primEqInt(Pos(Succ(vyv242000))) -> False 214.12/145.79 new_esEs(Neg(Succ(vyv24300))) -> new_primEqInt(Neg(Succ(vyv24300))) 214.12/145.79 new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) 214.12/145.79 new_primEqInt(Neg(Zero)) -> True 214.12/145.79 new_primEqInt(Neg(Succ(vyv242000))) -> False 214.12/145.79 214.12/145.79 The set Q consists of the following terms: 214.12/145.79 214.12/145.79 new_primModNatS01(x0, x1, Succ(x2), Zero) 214.12/145.79 new_primModNatS1(Succ(Succ(x0)), Zero) 214.12/145.79 new_primEqInt(Pos(Zero)) 214.12/145.79 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 214.12/145.79 new_esEs(Pos(Succ(x0))) 214.12/145.79 new_primModNatS1(Zero, x0) 214.12/145.79 new_primModNatS02(x0, x1) 214.12/145.79 new_primMinusNatS2(Zero, Zero) 214.12/145.79 new_primModNatS1(Succ(Zero), Zero) 214.12/145.79 new_primMinusNatS2(Succ(x0), Zero) 214.12/145.79 new_esEs(Pos(Zero)) 214.12/145.79 new_primEqInt(Neg(Succ(x0))) 214.12/145.79 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 214.12/145.79 new_esEs(Neg(Succ(x0))) 214.12/145.79 new_primEqInt(Neg(Zero)) 214.12/145.79 new_primModNatS01(x0, x1, Zero, Zero) 214.12/145.79 new_primEqInt(Pos(Succ(x0))) 214.12/145.79 new_primMinusNatS2(Zero, Succ(x0)) 214.12/145.79 new_primModNatS1(Succ(Zero), Succ(x0)) 214.12/145.79 new_primMinusNatS2(Succ(x0), Succ(x1)) 214.12/145.79 new_primModNatS01(x0, x1, Zero, Succ(x2)) 214.12/145.79 new_esEs(Neg(Zero)) 214.12/145.79 214.12/145.79 We have to consider all minimal (P,Q,R)-chains. 214.12/145.79 ---------------------------------------- 214.12/145.79 214.12/145.79 (241) TransformationProof (EQUIVALENT) 214.12/145.79 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]: 214.12/145.79 214.12/145.79 (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)))))) 214.12/145.79 214.12/145.79 214.12/145.79 ---------------------------------------- 214.12/145.79 214.12/145.79 (242) 214.12/145.79 Obligation: 214.12/145.79 Q DP problem: 214.12/145.79 The TRS P consists of the following rules: 214.12/145.79 214.12/145.79 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))) 214.12/145.79 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))))) 214.12/145.79 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))) 214.12/145.79 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)))) 214.12/145.79 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))))) 214.12/145.79 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)))) 214.12/145.79 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))))) 214.12/145.79 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)))))) 214.12/145.79 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)))))) 214.12/145.79 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))))) 214.12/145.79 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))))) 214.12/145.79 214.12/145.79 The TRS R consists of the following rules: 214.12/145.79 214.12/145.79 new_primModNatS1(Succ(Succ(vyv293000)), Succ(vyv292000)) -> new_primModNatS01(vyv293000, vyv292000, vyv293000, vyv292000) 214.12/145.79 new_primModNatS01(vyv331, vyv332, Zero, Zero) -> new_primModNatS02(vyv331, vyv332) 214.12/145.79 new_primModNatS02(vyv331, vyv332) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv331), Succ(vyv332)), Succ(vyv332)) 214.12/145.79 new_primModNatS01(vyv331, vyv332, Succ(vyv3330), Succ(vyv3340)) -> new_primModNatS01(vyv331, vyv332, vyv3330, vyv3340) 214.12/145.79 new_primModNatS01(vyv331, vyv332, Succ(vyv3330), Zero) -> new_primModNatS02(vyv331, vyv332) 214.12/145.79 new_primModNatS01(vyv331, vyv332, Zero, Succ(vyv3340)) -> Succ(Succ(vyv331)) 214.12/145.79 new_primMinusNatS2(Succ(vyv3110), Succ(vyv3120)) -> new_primMinusNatS2(vyv3110, vyv3120) 214.12/145.79 new_primModNatS1(Succ(Zero), Succ(vyv292000)) -> Succ(Zero) 214.12/145.79 new_primModNatS1(Zero, vyv29200) -> Zero 214.12/145.79 new_primMinusNatS2(Zero, Zero) -> Zero 214.12/145.79 new_primMinusNatS2(Zero, Succ(vyv3120)) -> Zero 214.12/145.79 new_primMinusNatS2(Succ(vyv3110), Zero) -> Succ(vyv3110) 214.12/145.79 new_esEs(Pos(Succ(vyv24300))) -> new_primEqInt(Pos(Succ(vyv24300))) 214.12/145.79 new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) 214.12/145.79 new_primEqInt(Pos(Zero)) -> True 214.12/145.79 new_primEqInt(Pos(Succ(vyv242000))) -> False 214.12/145.79 new_esEs(Neg(Succ(vyv24300))) -> new_primEqInt(Neg(Succ(vyv24300))) 214.12/145.79 new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) 214.12/145.79 new_primEqInt(Neg(Zero)) -> True 214.12/145.79 new_primEqInt(Neg(Succ(vyv242000))) -> False 214.12/145.79 214.12/145.79 The set Q consists of the following terms: 214.12/145.79 214.12/145.79 new_primModNatS01(x0, x1, Succ(x2), Zero) 214.12/145.79 new_primModNatS1(Succ(Succ(x0)), Zero) 214.12/145.79 new_primEqInt(Pos(Zero)) 214.12/145.79 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 214.12/145.79 new_esEs(Pos(Succ(x0))) 214.12/145.79 new_primModNatS1(Zero, x0) 214.12/145.79 new_primModNatS02(x0, x1) 214.12/145.79 new_primMinusNatS2(Zero, Zero) 214.12/145.79 new_primModNatS1(Succ(Zero), Zero) 214.12/145.79 new_primMinusNatS2(Succ(x0), Zero) 214.12/145.79 new_esEs(Pos(Zero)) 214.12/145.79 new_primEqInt(Neg(Succ(x0))) 214.12/145.79 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 214.12/145.79 new_esEs(Neg(Succ(x0))) 214.12/145.79 new_primEqInt(Neg(Zero)) 214.12/145.79 new_primModNatS01(x0, x1, Zero, Zero) 214.12/145.79 new_primEqInt(Pos(Succ(x0))) 214.12/145.79 new_primMinusNatS2(Zero, Succ(x0)) 214.12/145.79 new_primModNatS1(Succ(Zero), Succ(x0)) 214.12/145.79 new_primMinusNatS2(Succ(x0), Succ(x1)) 214.12/145.79 new_primModNatS01(x0, x1, Zero, Succ(x2)) 214.12/145.79 new_esEs(Neg(Zero)) 214.12/145.79 214.12/145.79 We have to consider all minimal (P,Q,R)-chains. 214.12/145.79 ---------------------------------------- 214.12/145.79 214.12/145.79 (243) TransformationProof (EQUIVALENT) 214.12/145.79 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]: 214.12/145.79 214.12/145.79 (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))))))) 214.12/145.79 214.12/145.79 214.12/145.79 ---------------------------------------- 214.12/145.79 214.12/145.79 (244) 214.12/145.79 Obligation: 214.12/145.79 Q DP problem: 214.12/145.79 The TRS P consists of the following rules: 214.12/145.79 214.12/145.79 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))) 214.12/145.79 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))))) 214.12/145.79 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))) 214.12/145.79 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)))) 214.12/145.79 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))))) 214.12/145.79 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)))) 214.12/145.79 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))))) 214.12/145.79 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)))))) 214.12/145.79 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))))) 214.12/145.79 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))))) 214.12/145.79 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)))))) 214.12/145.79 214.12/145.79 The TRS R consists of the following rules: 214.12/145.79 214.12/145.79 new_primModNatS1(Succ(Succ(vyv293000)), Succ(vyv292000)) -> new_primModNatS01(vyv293000, vyv292000, vyv293000, vyv292000) 214.12/145.79 new_primModNatS01(vyv331, vyv332, Zero, Zero) -> new_primModNatS02(vyv331, vyv332) 214.12/145.79 new_primModNatS02(vyv331, vyv332) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv331), Succ(vyv332)), Succ(vyv332)) 214.12/145.79 new_primModNatS01(vyv331, vyv332, Succ(vyv3330), Succ(vyv3340)) -> new_primModNatS01(vyv331, vyv332, vyv3330, vyv3340) 214.12/145.79 new_primModNatS01(vyv331, vyv332, Succ(vyv3330), Zero) -> new_primModNatS02(vyv331, vyv332) 214.12/145.79 new_primModNatS01(vyv331, vyv332, Zero, Succ(vyv3340)) -> Succ(Succ(vyv331)) 214.12/145.79 new_primMinusNatS2(Succ(vyv3110), Succ(vyv3120)) -> new_primMinusNatS2(vyv3110, vyv3120) 214.12/145.79 new_primModNatS1(Succ(Zero), Succ(vyv292000)) -> Succ(Zero) 214.12/145.79 new_primModNatS1(Zero, vyv29200) -> Zero 214.12/145.79 new_primMinusNatS2(Zero, Zero) -> Zero 214.12/145.79 new_primMinusNatS2(Zero, Succ(vyv3120)) -> Zero 214.12/145.79 new_primMinusNatS2(Succ(vyv3110), Zero) -> Succ(vyv3110) 214.12/145.79 new_esEs(Pos(Succ(vyv24300))) -> new_primEqInt(Pos(Succ(vyv24300))) 214.12/145.79 new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) 214.12/145.79 new_primEqInt(Pos(Zero)) -> True 214.12/145.79 new_primEqInt(Pos(Succ(vyv242000))) -> False 214.12/145.79 new_esEs(Neg(Succ(vyv24300))) -> new_primEqInt(Neg(Succ(vyv24300))) 214.12/145.79 new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) 214.12/145.79 new_primEqInt(Neg(Zero)) -> True 214.12/145.79 new_primEqInt(Neg(Succ(vyv242000))) -> False 214.12/145.79 214.12/145.79 The set Q consists of the following terms: 214.12/145.79 214.12/145.79 new_primModNatS01(x0, x1, Succ(x2), Zero) 214.12/145.79 new_primModNatS1(Succ(Succ(x0)), Zero) 214.12/145.79 new_primEqInt(Pos(Zero)) 214.12/145.79 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 214.12/145.79 new_esEs(Pos(Succ(x0))) 214.12/145.79 new_primModNatS1(Zero, x0) 214.12/145.79 new_primModNatS02(x0, x1) 214.12/145.79 new_primMinusNatS2(Zero, Zero) 214.12/145.79 new_primModNatS1(Succ(Zero), Zero) 214.12/145.79 new_primMinusNatS2(Succ(x0), Zero) 214.12/145.79 new_esEs(Pos(Zero)) 214.12/145.79 new_primEqInt(Neg(Succ(x0))) 214.12/145.79 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 214.12/145.79 new_esEs(Neg(Succ(x0))) 214.12/145.79 new_primEqInt(Neg(Zero)) 214.12/145.79 new_primModNatS01(x0, x1, Zero, Zero) 214.12/145.79 new_primEqInt(Pos(Succ(x0))) 214.12/145.79 new_primMinusNatS2(Zero, Succ(x0)) 214.12/145.79 new_primModNatS1(Succ(Zero), Succ(x0)) 214.12/145.79 new_primMinusNatS2(Succ(x0), Succ(x1)) 214.12/145.79 new_primModNatS01(x0, x1, Zero, Succ(x2)) 214.12/145.79 new_esEs(Neg(Zero)) 214.12/145.79 214.12/145.79 We have to consider all minimal (P,Q,R)-chains. 214.12/145.79 ---------------------------------------- 214.12/145.79 214.12/145.79 (245) TransformationProof (EQUIVALENT) 214.12/145.79 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]: 214.12/145.79 214.12/145.79 (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)))))) 214.12/145.79 214.12/145.79 214.12/145.79 ---------------------------------------- 214.12/145.79 214.12/145.79 (246) 214.12/145.79 Obligation: 214.12/145.79 Q DP problem: 214.12/145.79 The TRS P consists of the following rules: 214.12/145.79 214.12/145.79 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))) 214.12/145.79 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))))) 214.12/145.79 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))) 214.12/145.79 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)))) 214.12/145.79 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))))) 214.12/145.79 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)))) 214.12/145.79 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))))) 214.12/145.79 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)))))) 214.12/145.79 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))))) 214.12/145.79 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)))))) 214.12/145.79 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))))) 214.12/145.79 214.12/145.79 The TRS R consists of the following rules: 214.12/145.79 214.12/145.79 new_primModNatS1(Succ(Succ(vyv293000)), Succ(vyv292000)) -> new_primModNatS01(vyv293000, vyv292000, vyv293000, vyv292000) 214.12/145.79 new_primModNatS01(vyv331, vyv332, Zero, Zero) -> new_primModNatS02(vyv331, vyv332) 214.12/145.79 new_primModNatS02(vyv331, vyv332) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv331), Succ(vyv332)), Succ(vyv332)) 214.12/145.79 new_primModNatS01(vyv331, vyv332, Succ(vyv3330), Succ(vyv3340)) -> new_primModNatS01(vyv331, vyv332, vyv3330, vyv3340) 214.12/145.79 new_primModNatS01(vyv331, vyv332, Succ(vyv3330), Zero) -> new_primModNatS02(vyv331, vyv332) 214.12/145.79 new_primModNatS01(vyv331, vyv332, Zero, Succ(vyv3340)) -> Succ(Succ(vyv331)) 214.12/145.79 new_primMinusNatS2(Succ(vyv3110), Succ(vyv3120)) -> new_primMinusNatS2(vyv3110, vyv3120) 214.12/145.79 new_primModNatS1(Succ(Zero), Succ(vyv292000)) -> Succ(Zero) 214.12/145.79 new_primModNatS1(Zero, vyv29200) -> Zero 214.12/145.79 new_primMinusNatS2(Zero, Zero) -> Zero 214.12/145.79 new_primMinusNatS2(Zero, Succ(vyv3120)) -> Zero 214.12/145.79 new_primMinusNatS2(Succ(vyv3110), Zero) -> Succ(vyv3110) 214.12/145.79 new_esEs(Pos(Succ(vyv24300))) -> new_primEqInt(Pos(Succ(vyv24300))) 214.12/145.79 new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) 214.12/145.79 new_primEqInt(Pos(Zero)) -> True 214.12/145.79 new_primEqInt(Pos(Succ(vyv242000))) -> False 214.12/145.79 new_esEs(Neg(Succ(vyv24300))) -> new_primEqInt(Neg(Succ(vyv24300))) 214.12/145.79 new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) 214.12/145.79 new_primEqInt(Neg(Zero)) -> True 214.12/145.79 new_primEqInt(Neg(Succ(vyv242000))) -> False 214.12/145.79 214.12/145.79 The set Q consists of the following terms: 214.12/145.79 214.12/145.79 new_primModNatS01(x0, x1, Succ(x2), Zero) 214.12/145.79 new_primModNatS1(Succ(Succ(x0)), Zero) 214.12/145.79 new_primEqInt(Pos(Zero)) 214.12/145.79 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 214.12/145.79 new_esEs(Pos(Succ(x0))) 214.12/145.79 new_primModNatS1(Zero, x0) 214.12/145.79 new_primModNatS02(x0, x1) 214.12/145.79 new_primMinusNatS2(Zero, Zero) 214.12/145.79 new_primModNatS1(Succ(Zero), Zero) 214.12/145.79 new_primMinusNatS2(Succ(x0), Zero) 214.12/145.79 new_esEs(Pos(Zero)) 214.12/145.79 new_primEqInt(Neg(Succ(x0))) 214.12/145.79 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 214.12/145.79 new_esEs(Neg(Succ(x0))) 214.12/145.79 new_primEqInt(Neg(Zero)) 214.12/145.79 new_primModNatS01(x0, x1, Zero, Zero) 214.12/145.79 new_primEqInt(Pos(Succ(x0))) 214.12/145.79 new_primMinusNatS2(Zero, Succ(x0)) 214.12/145.79 new_primModNatS1(Succ(Zero), Succ(x0)) 214.12/145.79 new_primMinusNatS2(Succ(x0), Succ(x1)) 214.12/145.79 new_primModNatS01(x0, x1, Zero, Succ(x2)) 214.12/145.79 new_esEs(Neg(Zero)) 214.12/145.79 214.12/145.79 We have to consider all minimal (P,Q,R)-chains. 214.12/145.79 ---------------------------------------- 214.12/145.79 214.12/145.79 (247) TransformationProof (EQUIVALENT) 214.12/145.79 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]: 214.12/145.79 214.12/145.79 (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))))))) 214.12/145.79 214.12/145.79 214.12/145.79 ---------------------------------------- 214.12/145.79 214.12/145.79 (248) 214.12/145.79 Obligation: 214.12/145.79 Q DP problem: 214.12/145.79 The TRS P consists of the following rules: 214.12/145.79 214.12/145.79 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))) 214.12/145.79 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))))) 214.12/145.79 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))) 214.12/145.79 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)))) 214.12/145.79 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))))) 214.12/145.79 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)))) 214.12/145.79 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))))) 214.12/145.79 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)))))) 214.12/145.79 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))))) 214.12/145.79 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))))) 214.12/145.79 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)))))) 214.12/145.79 214.12/145.79 The TRS R consists of the following rules: 214.12/145.79 214.12/145.79 new_primModNatS1(Succ(Succ(vyv293000)), Succ(vyv292000)) -> new_primModNatS01(vyv293000, vyv292000, vyv293000, vyv292000) 214.12/145.79 new_primModNatS01(vyv331, vyv332, Zero, Zero) -> new_primModNatS02(vyv331, vyv332) 214.12/145.79 new_primModNatS02(vyv331, vyv332) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv331), Succ(vyv332)), Succ(vyv332)) 214.12/145.79 new_primModNatS01(vyv331, vyv332, Succ(vyv3330), Succ(vyv3340)) -> new_primModNatS01(vyv331, vyv332, vyv3330, vyv3340) 214.12/145.79 new_primModNatS01(vyv331, vyv332, Succ(vyv3330), Zero) -> new_primModNatS02(vyv331, vyv332) 214.12/145.79 new_primModNatS01(vyv331, vyv332, Zero, Succ(vyv3340)) -> Succ(Succ(vyv331)) 214.12/145.79 new_primMinusNatS2(Succ(vyv3110), Succ(vyv3120)) -> new_primMinusNatS2(vyv3110, vyv3120) 214.12/145.79 new_primModNatS1(Succ(Zero), Succ(vyv292000)) -> Succ(Zero) 214.12/145.79 new_primModNatS1(Zero, vyv29200) -> Zero 214.12/145.79 new_primMinusNatS2(Zero, Zero) -> Zero 214.12/145.79 new_primMinusNatS2(Zero, Succ(vyv3120)) -> Zero 214.12/145.79 new_primMinusNatS2(Succ(vyv3110), Zero) -> Succ(vyv3110) 214.12/145.79 new_esEs(Pos(Succ(vyv24300))) -> new_primEqInt(Pos(Succ(vyv24300))) 214.12/145.79 new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) 214.12/145.79 new_primEqInt(Pos(Zero)) -> True 214.12/145.79 new_primEqInt(Pos(Succ(vyv242000))) -> False 214.12/145.79 new_esEs(Neg(Succ(vyv24300))) -> new_primEqInt(Neg(Succ(vyv24300))) 214.12/145.79 new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) 214.12/145.79 new_primEqInt(Neg(Zero)) -> True 214.12/145.79 new_primEqInt(Neg(Succ(vyv242000))) -> False 214.12/145.79 214.12/145.79 The set Q consists of the following terms: 214.12/145.79 214.12/145.79 new_primModNatS01(x0, x1, Succ(x2), Zero) 214.12/145.79 new_primModNatS1(Succ(Succ(x0)), Zero) 214.12/145.79 new_primEqInt(Pos(Zero)) 214.12/145.79 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 214.12/145.79 new_esEs(Pos(Succ(x0))) 214.12/145.79 new_primModNatS1(Zero, x0) 214.12/145.79 new_primModNatS02(x0, x1) 214.12/145.79 new_primMinusNatS2(Zero, Zero) 214.12/145.79 new_primModNatS1(Succ(Zero), Zero) 214.12/145.79 new_primMinusNatS2(Succ(x0), Zero) 214.12/145.79 new_esEs(Pos(Zero)) 214.12/145.79 new_primEqInt(Neg(Succ(x0))) 214.12/145.79 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 214.12/145.79 new_esEs(Neg(Succ(x0))) 214.12/145.79 new_primEqInt(Neg(Zero)) 214.12/145.79 new_primModNatS01(x0, x1, Zero, Zero) 214.12/145.79 new_primEqInt(Pos(Succ(x0))) 214.12/145.79 new_primMinusNatS2(Zero, Succ(x0)) 214.12/145.79 new_primModNatS1(Succ(Zero), Succ(x0)) 214.12/145.79 new_primMinusNatS2(Succ(x0), Succ(x1)) 214.12/145.79 new_primModNatS01(x0, x1, Zero, Succ(x2)) 214.12/145.79 new_esEs(Neg(Zero)) 214.12/145.79 214.12/145.79 We have to consider all minimal (P,Q,R)-chains. 214.12/145.79 ---------------------------------------- 214.12/145.79 214.12/145.79 (249) TransformationProof (EQUIVALENT) 214.12/145.79 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]: 214.12/145.79 214.12/145.79 (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)))))) 214.12/145.79 214.12/145.79 214.12/145.79 ---------------------------------------- 214.12/145.79 214.12/145.79 (250) 214.12/145.79 Obligation: 214.12/145.79 Q DP problem: 214.12/145.79 The TRS P consists of the following rules: 214.12/145.79 214.12/145.79 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))) 214.12/145.79 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))))) 214.12/145.79 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))) 214.12/145.79 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)))) 214.12/145.79 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))))) 214.12/145.79 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)))) 214.12/145.79 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))))) 214.12/145.79 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)))))) 214.12/145.79 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))))) 214.12/145.79 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)))))) 214.12/145.79 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))))) 214.12/145.79 214.12/145.79 The TRS R consists of the following rules: 214.12/145.79 214.12/145.79 new_primModNatS1(Succ(Succ(vyv293000)), Succ(vyv292000)) -> new_primModNatS01(vyv293000, vyv292000, vyv293000, vyv292000) 214.12/145.79 new_primModNatS01(vyv331, vyv332, Zero, Zero) -> new_primModNatS02(vyv331, vyv332) 214.12/145.79 new_primModNatS02(vyv331, vyv332) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv331), Succ(vyv332)), Succ(vyv332)) 214.12/145.79 new_primModNatS01(vyv331, vyv332, Succ(vyv3330), Succ(vyv3340)) -> new_primModNatS01(vyv331, vyv332, vyv3330, vyv3340) 214.12/145.79 new_primModNatS01(vyv331, vyv332, Succ(vyv3330), Zero) -> new_primModNatS02(vyv331, vyv332) 214.12/145.79 new_primModNatS01(vyv331, vyv332, Zero, Succ(vyv3340)) -> Succ(Succ(vyv331)) 214.12/145.79 new_primMinusNatS2(Succ(vyv3110), Succ(vyv3120)) -> new_primMinusNatS2(vyv3110, vyv3120) 214.12/145.79 new_primModNatS1(Succ(Zero), Succ(vyv292000)) -> Succ(Zero) 214.12/145.79 new_primModNatS1(Zero, vyv29200) -> Zero 214.12/145.79 new_primMinusNatS2(Zero, Zero) -> Zero 214.12/145.79 new_primMinusNatS2(Zero, Succ(vyv3120)) -> Zero 214.12/145.79 new_primMinusNatS2(Succ(vyv3110), Zero) -> Succ(vyv3110) 214.12/145.79 new_esEs(Pos(Succ(vyv24300))) -> new_primEqInt(Pos(Succ(vyv24300))) 214.12/145.79 new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) 214.12/145.79 new_primEqInt(Pos(Zero)) -> True 214.12/145.79 new_primEqInt(Pos(Succ(vyv242000))) -> False 214.12/145.79 new_esEs(Neg(Succ(vyv24300))) -> new_primEqInt(Neg(Succ(vyv24300))) 214.12/145.79 new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) 214.12/145.79 new_primEqInt(Neg(Zero)) -> True 214.12/145.79 new_primEqInt(Neg(Succ(vyv242000))) -> False 214.12/145.79 214.12/145.79 The set Q consists of the following terms: 214.12/145.79 214.12/145.79 new_primModNatS01(x0, x1, Succ(x2), Zero) 214.12/145.79 new_primModNatS1(Succ(Succ(x0)), Zero) 214.12/145.79 new_primEqInt(Pos(Zero)) 214.12/145.79 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 214.12/145.79 new_esEs(Pos(Succ(x0))) 214.12/145.79 new_primModNatS1(Zero, x0) 214.12/145.79 new_primModNatS02(x0, x1) 214.12/145.79 new_primMinusNatS2(Zero, Zero) 214.12/145.79 new_primModNatS1(Succ(Zero), Zero) 214.12/145.79 new_primMinusNatS2(Succ(x0), Zero) 214.12/145.79 new_esEs(Pos(Zero)) 214.12/145.79 new_primEqInt(Neg(Succ(x0))) 214.12/145.79 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 214.12/145.79 new_esEs(Neg(Succ(x0))) 214.12/145.79 new_primEqInt(Neg(Zero)) 214.12/145.79 new_primModNatS01(x0, x1, Zero, Zero) 214.12/145.79 new_primEqInt(Pos(Succ(x0))) 214.12/145.79 new_primMinusNatS2(Zero, Succ(x0)) 214.12/145.79 new_primModNatS1(Succ(Zero), Succ(x0)) 214.12/145.79 new_primMinusNatS2(Succ(x0), Succ(x1)) 214.12/145.79 new_primModNatS01(x0, x1, Zero, Succ(x2)) 214.12/145.79 new_esEs(Neg(Zero)) 214.12/145.79 214.12/145.79 We have to consider all minimal (P,Q,R)-chains. 214.12/145.79 ---------------------------------------- 214.12/145.79 214.12/145.79 (251) DependencyGraphProof (EQUIVALENT) 214.12/145.79 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. 214.12/145.79 ---------------------------------------- 214.12/145.79 214.12/145.79 (252) 214.12/145.79 Obligation: 214.12/145.79 Q DP problem: 214.12/145.79 The TRS P consists of the following rules: 214.12/145.79 214.12/145.79 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))))) 214.12/145.80 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))) 214.12/145.80 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)))) 214.12/145.80 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))) 214.12/145.80 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)))) 214.12/145.80 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))))) 214.12/145.80 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))))) 214.12/145.80 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)))))) 214.12/145.80 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))))) 214.12/145.80 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)))))) 214.12/145.80 214.12/145.80 The TRS R consists of the following rules: 214.12/145.80 214.12/145.80 new_primModNatS1(Succ(Succ(vyv293000)), Succ(vyv292000)) -> new_primModNatS01(vyv293000, vyv292000, vyv293000, vyv292000) 214.12/145.80 new_primModNatS01(vyv331, vyv332, Zero, Zero) -> new_primModNatS02(vyv331, vyv332) 214.12/145.80 new_primModNatS02(vyv331, vyv332) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv331), Succ(vyv332)), Succ(vyv332)) 214.12/145.80 new_primModNatS01(vyv331, vyv332, Succ(vyv3330), Succ(vyv3340)) -> new_primModNatS01(vyv331, vyv332, vyv3330, vyv3340) 214.12/145.80 new_primModNatS01(vyv331, vyv332, Succ(vyv3330), Zero) -> new_primModNatS02(vyv331, vyv332) 214.12/145.80 new_primModNatS01(vyv331, vyv332, Zero, Succ(vyv3340)) -> Succ(Succ(vyv331)) 214.12/145.80 new_primMinusNatS2(Succ(vyv3110), Succ(vyv3120)) -> new_primMinusNatS2(vyv3110, vyv3120) 214.12/145.80 new_primModNatS1(Succ(Zero), Succ(vyv292000)) -> Succ(Zero) 214.12/145.80 new_primModNatS1(Zero, vyv29200) -> Zero 214.12/145.80 new_primMinusNatS2(Zero, Zero) -> Zero 214.12/145.80 new_primMinusNatS2(Zero, Succ(vyv3120)) -> Zero 214.12/145.80 new_primMinusNatS2(Succ(vyv3110), Zero) -> Succ(vyv3110) 214.12/145.80 new_esEs(Pos(Succ(vyv24300))) -> new_primEqInt(Pos(Succ(vyv24300))) 214.12/145.80 new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) 214.12/145.80 new_primEqInt(Pos(Zero)) -> True 214.12/145.80 new_primEqInt(Pos(Succ(vyv242000))) -> False 214.12/145.80 new_esEs(Neg(Succ(vyv24300))) -> new_primEqInt(Neg(Succ(vyv24300))) 214.12/145.80 new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) 214.12/145.80 new_primEqInt(Neg(Zero)) -> True 214.12/145.80 new_primEqInt(Neg(Succ(vyv242000))) -> False 214.12/145.80 214.12/145.80 The set Q consists of the following terms: 214.12/145.80 214.12/145.80 new_primModNatS01(x0, x1, Succ(x2), Zero) 214.12/145.80 new_primModNatS1(Succ(Succ(x0)), Zero) 214.12/145.80 new_primEqInt(Pos(Zero)) 214.12/145.80 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 214.12/145.80 new_esEs(Pos(Succ(x0))) 214.12/145.80 new_primModNatS1(Zero, x0) 214.12/145.80 new_primModNatS02(x0, x1) 214.12/145.80 new_primMinusNatS2(Zero, Zero) 214.12/145.80 new_primModNatS1(Succ(Zero), Zero) 214.12/145.80 new_primMinusNatS2(Succ(x0), Zero) 214.12/145.80 new_esEs(Pos(Zero)) 214.12/145.80 new_primEqInt(Neg(Succ(x0))) 214.12/145.80 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 214.12/145.80 new_esEs(Neg(Succ(x0))) 214.12/145.80 new_primEqInt(Neg(Zero)) 214.12/145.80 new_primModNatS01(x0, x1, Zero, Zero) 214.12/145.80 new_primEqInt(Pos(Succ(x0))) 214.12/145.80 new_primMinusNatS2(Zero, Succ(x0)) 214.12/145.80 new_primModNatS1(Succ(Zero), Succ(x0)) 214.12/145.80 new_primMinusNatS2(Succ(x0), Succ(x1)) 214.12/145.80 new_primModNatS01(x0, x1, Zero, Succ(x2)) 214.12/145.80 new_esEs(Neg(Zero)) 214.12/145.80 214.12/145.80 We have to consider all minimal (P,Q,R)-chains. 214.12/145.80 ---------------------------------------- 214.12/145.80 214.12/145.80 (253) TransformationProof (EQUIVALENT) 214.12/145.80 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]: 214.12/145.80 214.12/145.80 (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)))))) 214.12/145.80 (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))))))) 214.12/145.80 (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))))))) 214.12/145.80 (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)))))) 214.12/145.80 214.12/145.80 214.12/145.80 ---------------------------------------- 214.12/145.80 214.12/145.80 (254) 214.12/145.80 Obligation: 214.12/145.80 Q DP problem: 214.12/145.80 The TRS P consists of the following rules: 214.12/145.80 214.12/145.80 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))) 214.12/145.80 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)))) 214.12/145.80 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))) 214.12/145.80 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)))) 214.12/145.80 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))))) 214.12/145.80 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))))) 214.12/145.80 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)))))) 214.12/145.80 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))))) 214.12/145.80 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)))))) 214.12/145.80 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))))) 214.12/145.80 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)))))) 214.12/145.80 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)))))) 214.12/145.80 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))))) 214.12/145.80 214.12/145.80 The TRS R consists of the following rules: 214.12/145.80 214.12/145.80 new_primModNatS1(Succ(Succ(vyv293000)), Succ(vyv292000)) -> new_primModNatS01(vyv293000, vyv292000, vyv293000, vyv292000) 214.12/145.80 new_primModNatS01(vyv331, vyv332, Zero, Zero) -> new_primModNatS02(vyv331, vyv332) 214.12/145.80 new_primModNatS02(vyv331, vyv332) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv331), Succ(vyv332)), Succ(vyv332)) 214.12/145.80 new_primModNatS01(vyv331, vyv332, Succ(vyv3330), Succ(vyv3340)) -> new_primModNatS01(vyv331, vyv332, vyv3330, vyv3340) 214.12/145.80 new_primModNatS01(vyv331, vyv332, Succ(vyv3330), Zero) -> new_primModNatS02(vyv331, vyv332) 214.12/145.80 new_primModNatS01(vyv331, vyv332, Zero, Succ(vyv3340)) -> Succ(Succ(vyv331)) 214.12/145.80 new_primMinusNatS2(Succ(vyv3110), Succ(vyv3120)) -> new_primMinusNatS2(vyv3110, vyv3120) 214.12/145.80 new_primModNatS1(Succ(Zero), Succ(vyv292000)) -> Succ(Zero) 214.12/145.80 new_primModNatS1(Zero, vyv29200) -> Zero 214.12/145.80 new_primMinusNatS2(Zero, Zero) -> Zero 214.12/145.80 new_primMinusNatS2(Zero, Succ(vyv3120)) -> Zero 214.12/145.80 new_primMinusNatS2(Succ(vyv3110), Zero) -> Succ(vyv3110) 214.12/145.80 new_esEs(Pos(Succ(vyv24300))) -> new_primEqInt(Pos(Succ(vyv24300))) 214.12/145.80 new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) 214.12/145.80 new_primEqInt(Pos(Zero)) -> True 214.12/145.80 new_primEqInt(Pos(Succ(vyv242000))) -> False 214.12/145.80 new_esEs(Neg(Succ(vyv24300))) -> new_primEqInt(Neg(Succ(vyv24300))) 214.12/145.80 new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) 214.12/145.80 new_primEqInt(Neg(Zero)) -> True 214.12/145.80 new_primEqInt(Neg(Succ(vyv242000))) -> False 214.12/145.80 214.12/145.80 The set Q consists of the following terms: 214.12/145.80 214.12/145.80 new_primModNatS01(x0, x1, Succ(x2), Zero) 214.12/145.80 new_primModNatS1(Succ(Succ(x0)), Zero) 214.12/145.80 new_primEqInt(Pos(Zero)) 214.12/145.80 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 214.12/145.80 new_esEs(Pos(Succ(x0))) 214.12/145.80 new_primModNatS1(Zero, x0) 214.12/145.80 new_primModNatS02(x0, x1) 214.12/145.80 new_primMinusNatS2(Zero, Zero) 214.12/145.80 new_primModNatS1(Succ(Zero), Zero) 214.12/145.80 new_primMinusNatS2(Succ(x0), Zero) 214.12/145.80 new_esEs(Pos(Zero)) 214.12/145.80 new_primEqInt(Neg(Succ(x0))) 214.12/145.80 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 214.12/145.80 new_esEs(Neg(Succ(x0))) 214.12/145.80 new_primEqInt(Neg(Zero)) 214.12/145.80 new_primModNatS01(x0, x1, Zero, Zero) 214.12/145.80 new_primEqInt(Pos(Succ(x0))) 214.12/145.80 new_primMinusNatS2(Zero, Succ(x0)) 214.12/145.80 new_primModNatS1(Succ(Zero), Succ(x0)) 214.12/145.80 new_primMinusNatS2(Succ(x0), Succ(x1)) 214.12/145.80 new_primModNatS01(x0, x1, Zero, Succ(x2)) 214.12/145.80 new_esEs(Neg(Zero)) 214.12/145.80 214.12/145.80 We have to consider all minimal (P,Q,R)-chains. 214.12/145.80 ---------------------------------------- 214.12/145.80 214.12/145.80 (255) TransformationProof (EQUIVALENT) 214.12/145.80 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]: 214.12/145.80 214.12/145.80 (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)))))) 214.12/145.80 214.12/145.80 214.12/145.80 ---------------------------------------- 214.12/145.80 214.12/145.80 (256) 214.12/145.80 Obligation: 214.12/145.80 Q DP problem: 214.12/145.80 The TRS P consists of the following rules: 214.12/145.80 214.12/145.80 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))) 214.12/145.80 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)))) 214.12/145.80 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))) 214.12/145.80 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)))) 214.12/145.80 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))))) 214.12/145.80 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))))) 214.12/145.80 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)))))) 214.12/145.80 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))))) 214.12/145.80 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)))))) 214.12/145.80 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)))))) 214.12/145.80 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)))))) 214.12/145.80 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))))) 214.12/145.80 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))))) 214.12/145.80 214.12/145.80 The TRS R consists of the following rules: 214.12/145.80 214.12/145.80 new_primModNatS1(Succ(Succ(vyv293000)), Succ(vyv292000)) -> new_primModNatS01(vyv293000, vyv292000, vyv293000, vyv292000) 214.12/145.80 new_primModNatS01(vyv331, vyv332, Zero, Zero) -> new_primModNatS02(vyv331, vyv332) 214.12/145.80 new_primModNatS02(vyv331, vyv332) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv331), Succ(vyv332)), Succ(vyv332)) 214.12/145.80 new_primModNatS01(vyv331, vyv332, Succ(vyv3330), Succ(vyv3340)) -> new_primModNatS01(vyv331, vyv332, vyv3330, vyv3340) 214.12/145.80 new_primModNatS01(vyv331, vyv332, Succ(vyv3330), Zero) -> new_primModNatS02(vyv331, vyv332) 214.12/145.80 new_primModNatS01(vyv331, vyv332, Zero, Succ(vyv3340)) -> Succ(Succ(vyv331)) 214.12/145.80 new_primMinusNatS2(Succ(vyv3110), Succ(vyv3120)) -> new_primMinusNatS2(vyv3110, vyv3120) 214.12/145.80 new_primModNatS1(Succ(Zero), Succ(vyv292000)) -> Succ(Zero) 214.12/145.80 new_primModNatS1(Zero, vyv29200) -> Zero 214.12/145.80 new_primMinusNatS2(Zero, Zero) -> Zero 214.12/145.80 new_primMinusNatS2(Zero, Succ(vyv3120)) -> Zero 214.12/145.80 new_primMinusNatS2(Succ(vyv3110), Zero) -> Succ(vyv3110) 214.12/145.80 new_esEs(Pos(Succ(vyv24300))) -> new_primEqInt(Pos(Succ(vyv24300))) 214.12/145.80 new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) 214.12/145.80 new_primEqInt(Pos(Zero)) -> True 214.12/145.80 new_primEqInt(Pos(Succ(vyv242000))) -> False 214.12/145.80 new_esEs(Neg(Succ(vyv24300))) -> new_primEqInt(Neg(Succ(vyv24300))) 214.12/145.80 new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) 214.12/145.80 new_primEqInt(Neg(Zero)) -> True 214.12/145.80 new_primEqInt(Neg(Succ(vyv242000))) -> False 214.12/145.80 214.12/145.80 The set Q consists of the following terms: 214.12/145.80 214.12/145.80 new_primModNatS01(x0, x1, Succ(x2), Zero) 214.12/145.80 new_primModNatS1(Succ(Succ(x0)), Zero) 214.12/145.80 new_primEqInt(Pos(Zero)) 214.12/145.80 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 214.12/145.80 new_esEs(Pos(Succ(x0))) 214.12/145.80 new_primModNatS1(Zero, x0) 214.12/145.80 new_primModNatS02(x0, x1) 214.12/145.80 new_primMinusNatS2(Zero, Zero) 214.12/145.80 new_primModNatS1(Succ(Zero), Zero) 214.12/145.80 new_primMinusNatS2(Succ(x0), Zero) 214.12/145.80 new_esEs(Pos(Zero)) 214.12/145.80 new_primEqInt(Neg(Succ(x0))) 214.12/145.80 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 214.12/145.80 new_esEs(Neg(Succ(x0))) 214.12/145.80 new_primEqInt(Neg(Zero)) 214.12/145.80 new_primModNatS01(x0, x1, Zero, Zero) 214.12/145.80 new_primEqInt(Pos(Succ(x0))) 214.12/145.80 new_primMinusNatS2(Zero, Succ(x0)) 214.12/145.80 new_primModNatS1(Succ(Zero), Succ(x0)) 214.12/145.80 new_primMinusNatS2(Succ(x0), Succ(x1)) 214.12/145.80 new_primModNatS01(x0, x1, Zero, Succ(x2)) 214.12/145.80 new_esEs(Neg(Zero)) 214.12/145.80 214.12/145.80 We have to consider all minimal (P,Q,R)-chains. 214.12/145.80 ---------------------------------------- 214.12/145.80 214.12/145.80 (257) TransformationProof (EQUIVALENT) 214.12/145.80 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]: 214.12/145.80 214.12/145.80 (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))))))) 214.12/145.80 214.12/145.80 214.12/145.80 ---------------------------------------- 214.12/145.80 214.12/145.80 (258) 214.12/145.80 Obligation: 214.12/145.80 Q DP problem: 214.12/145.80 The TRS P consists of the following rules: 214.12/145.80 214.12/145.80 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))) 214.12/145.80 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)))) 214.12/145.80 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))) 214.12/145.80 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)))) 214.12/145.80 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))))) 214.12/145.80 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))))) 214.12/145.80 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)))))) 214.12/145.80 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))))) 214.12/145.80 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)))))) 214.12/145.80 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)))))) 214.12/145.80 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))))) 214.12/145.80 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))))) 214.12/145.80 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)))))) 214.12/145.80 214.12/145.80 The TRS R consists of the following rules: 214.12/145.80 214.12/145.80 new_primModNatS1(Succ(Succ(vyv293000)), Succ(vyv292000)) -> new_primModNatS01(vyv293000, vyv292000, vyv293000, vyv292000) 214.12/145.80 new_primModNatS01(vyv331, vyv332, Zero, Zero) -> new_primModNatS02(vyv331, vyv332) 214.12/145.80 new_primModNatS02(vyv331, vyv332) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv331), Succ(vyv332)), Succ(vyv332)) 214.12/145.80 new_primModNatS01(vyv331, vyv332, Succ(vyv3330), Succ(vyv3340)) -> new_primModNatS01(vyv331, vyv332, vyv3330, vyv3340) 214.12/145.80 new_primModNatS01(vyv331, vyv332, Succ(vyv3330), Zero) -> new_primModNatS02(vyv331, vyv332) 214.12/145.80 new_primModNatS01(vyv331, vyv332, Zero, Succ(vyv3340)) -> Succ(Succ(vyv331)) 214.12/145.80 new_primMinusNatS2(Succ(vyv3110), Succ(vyv3120)) -> new_primMinusNatS2(vyv3110, vyv3120) 214.12/145.80 new_primModNatS1(Succ(Zero), Succ(vyv292000)) -> Succ(Zero) 214.12/145.80 new_primModNatS1(Zero, vyv29200) -> Zero 214.12/145.80 new_primMinusNatS2(Zero, Zero) -> Zero 214.12/145.80 new_primMinusNatS2(Zero, Succ(vyv3120)) -> Zero 214.12/145.80 new_primMinusNatS2(Succ(vyv3110), Zero) -> Succ(vyv3110) 214.12/145.80 new_esEs(Pos(Succ(vyv24300))) -> new_primEqInt(Pos(Succ(vyv24300))) 214.12/145.80 new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) 214.12/145.80 new_primEqInt(Pos(Zero)) -> True 214.12/145.80 new_primEqInt(Pos(Succ(vyv242000))) -> False 214.12/145.80 new_esEs(Neg(Succ(vyv24300))) -> new_primEqInt(Neg(Succ(vyv24300))) 214.12/145.80 new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) 214.12/145.80 new_primEqInt(Neg(Zero)) -> True 214.12/145.80 new_primEqInt(Neg(Succ(vyv242000))) -> False 214.12/145.80 214.12/145.80 The set Q consists of the following terms: 214.12/145.80 214.12/145.80 new_primModNatS01(x0, x1, Succ(x2), Zero) 214.12/145.80 new_primModNatS1(Succ(Succ(x0)), Zero) 214.12/145.80 new_primEqInt(Pos(Zero)) 214.12/145.80 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 214.12/145.80 new_esEs(Pos(Succ(x0))) 214.12/145.80 new_primModNatS1(Zero, x0) 214.12/145.80 new_primModNatS02(x0, x1) 214.12/145.80 new_primMinusNatS2(Zero, Zero) 214.12/145.80 new_primModNatS1(Succ(Zero), Zero) 214.12/145.80 new_primMinusNatS2(Succ(x0), Zero) 214.12/145.80 new_esEs(Pos(Zero)) 214.12/145.80 new_primEqInt(Neg(Succ(x0))) 214.12/145.80 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 214.12/145.80 new_esEs(Neg(Succ(x0))) 214.12/145.80 new_primEqInt(Neg(Zero)) 214.12/145.80 new_primModNatS01(x0, x1, Zero, Zero) 214.12/145.80 new_primEqInt(Pos(Succ(x0))) 214.12/145.80 new_primMinusNatS2(Zero, Succ(x0)) 214.12/145.80 new_primModNatS1(Succ(Zero), Succ(x0)) 214.12/145.80 new_primMinusNatS2(Succ(x0), Succ(x1)) 214.12/145.80 new_primModNatS01(x0, x1, Zero, Succ(x2)) 214.12/145.80 new_esEs(Neg(Zero)) 214.12/145.80 214.12/145.80 We have to consider all minimal (P,Q,R)-chains. 214.12/145.80 ---------------------------------------- 214.12/145.80 214.12/145.80 (259) TransformationProof (EQUIVALENT) 214.12/145.80 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]: 214.12/145.80 214.12/145.80 (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)))))) 214.12/145.80 214.12/145.80 214.12/145.80 ---------------------------------------- 214.12/145.80 214.12/145.80 (260) 214.12/145.80 Obligation: 214.12/145.80 Q DP problem: 214.12/145.80 The TRS P consists of the following rules: 214.12/145.80 214.12/145.80 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))) 214.12/145.80 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)))) 214.12/145.80 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))) 214.12/145.80 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)))) 214.12/145.80 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))))) 214.12/145.80 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))))) 214.12/145.80 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)))))) 214.12/145.80 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))))) 214.12/145.80 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)))))) 214.12/145.80 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)))))) 214.12/145.80 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))))) 214.12/145.80 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)))))) 214.12/145.80 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))))) 214.12/145.80 214.12/145.80 The TRS R consists of the following rules: 214.12/145.80 214.12/145.80 new_primModNatS1(Succ(Succ(vyv293000)), Succ(vyv292000)) -> new_primModNatS01(vyv293000, vyv292000, vyv293000, vyv292000) 214.12/145.80 new_primModNatS01(vyv331, vyv332, Zero, Zero) -> new_primModNatS02(vyv331, vyv332) 214.12/145.80 new_primModNatS02(vyv331, vyv332) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv331), Succ(vyv332)), Succ(vyv332)) 214.12/145.80 new_primModNatS01(vyv331, vyv332, Succ(vyv3330), Succ(vyv3340)) -> new_primModNatS01(vyv331, vyv332, vyv3330, vyv3340) 214.12/145.80 new_primModNatS01(vyv331, vyv332, Succ(vyv3330), Zero) -> new_primModNatS02(vyv331, vyv332) 214.12/145.80 new_primModNatS01(vyv331, vyv332, Zero, Succ(vyv3340)) -> Succ(Succ(vyv331)) 214.12/145.80 new_primMinusNatS2(Succ(vyv3110), Succ(vyv3120)) -> new_primMinusNatS2(vyv3110, vyv3120) 214.12/145.80 new_primModNatS1(Succ(Zero), Succ(vyv292000)) -> Succ(Zero) 214.12/145.80 new_primModNatS1(Zero, vyv29200) -> Zero 214.12/145.80 new_primMinusNatS2(Zero, Zero) -> Zero 214.12/145.80 new_primMinusNatS2(Zero, Succ(vyv3120)) -> Zero 214.12/145.80 new_primMinusNatS2(Succ(vyv3110), Zero) -> Succ(vyv3110) 214.12/145.80 new_esEs(Pos(Succ(vyv24300))) -> new_primEqInt(Pos(Succ(vyv24300))) 214.12/145.80 new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) 214.12/145.80 new_primEqInt(Pos(Zero)) -> True 214.12/145.80 new_primEqInt(Pos(Succ(vyv242000))) -> False 214.12/145.80 new_esEs(Neg(Succ(vyv24300))) -> new_primEqInt(Neg(Succ(vyv24300))) 214.12/145.80 new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) 214.12/145.80 new_primEqInt(Neg(Zero)) -> True 214.12/145.80 new_primEqInt(Neg(Succ(vyv242000))) -> False 214.12/145.80 214.12/145.80 The set Q consists of the following terms: 214.12/145.80 214.12/145.80 new_primModNatS01(x0, x1, Succ(x2), Zero) 214.12/145.80 new_primModNatS1(Succ(Succ(x0)), Zero) 214.12/145.80 new_primEqInt(Pos(Zero)) 214.12/145.80 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 214.12/145.80 new_esEs(Pos(Succ(x0))) 214.12/145.80 new_primModNatS1(Zero, x0) 214.12/145.80 new_primModNatS02(x0, x1) 214.12/145.80 new_primMinusNatS2(Zero, Zero) 214.12/145.80 new_primModNatS1(Succ(Zero), Zero) 214.12/145.80 new_primMinusNatS2(Succ(x0), Zero) 214.12/145.80 new_esEs(Pos(Zero)) 214.12/145.80 new_primEqInt(Neg(Succ(x0))) 214.12/145.80 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 214.12/145.80 new_esEs(Neg(Succ(x0))) 214.12/145.80 new_primEqInt(Neg(Zero)) 214.12/145.80 new_primModNatS01(x0, x1, Zero, Zero) 214.12/145.80 new_primEqInt(Pos(Succ(x0))) 214.12/145.80 new_primMinusNatS2(Zero, Succ(x0)) 214.12/145.80 new_primModNatS1(Succ(Zero), Succ(x0)) 214.12/145.80 new_primMinusNatS2(Succ(x0), Succ(x1)) 214.12/145.80 new_primModNatS01(x0, x1, Zero, Succ(x2)) 214.12/145.80 new_esEs(Neg(Zero)) 214.12/145.80 214.12/145.80 We have to consider all minimal (P,Q,R)-chains. 214.12/145.80 ---------------------------------------- 214.12/145.80 214.12/145.80 (261) TransformationProof (EQUIVALENT) 214.12/145.80 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]: 214.12/145.80 214.12/145.80 (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)))))) 214.12/145.80 214.12/145.80 214.12/145.80 ---------------------------------------- 214.12/145.80 214.12/145.80 (262) 214.12/145.80 Obligation: 214.12/145.80 Q DP problem: 214.12/145.80 The TRS P consists of the following rules: 214.12/145.80 214.12/145.80 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))) 214.12/145.80 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)))) 214.12/145.80 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))) 214.12/145.80 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)))) 214.12/145.80 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))))) 214.12/145.80 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))))) 214.12/145.80 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)))))) 214.12/145.80 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))))) 214.12/145.80 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)))))) 214.12/145.80 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)))))) 214.12/145.80 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)))))) 214.12/145.80 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))))) 214.12/145.80 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))))) 214.12/145.80 214.12/145.80 The TRS R consists of the following rules: 214.12/145.80 214.12/145.80 new_primModNatS1(Succ(Succ(vyv293000)), Succ(vyv292000)) -> new_primModNatS01(vyv293000, vyv292000, vyv293000, vyv292000) 214.12/145.80 new_primModNatS01(vyv331, vyv332, Zero, Zero) -> new_primModNatS02(vyv331, vyv332) 214.12/145.80 new_primModNatS02(vyv331, vyv332) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv331), Succ(vyv332)), Succ(vyv332)) 214.12/145.80 new_primModNatS01(vyv331, vyv332, Succ(vyv3330), Succ(vyv3340)) -> new_primModNatS01(vyv331, vyv332, vyv3330, vyv3340) 214.12/145.80 new_primModNatS01(vyv331, vyv332, Succ(vyv3330), Zero) -> new_primModNatS02(vyv331, vyv332) 214.12/145.80 new_primModNatS01(vyv331, vyv332, Zero, Succ(vyv3340)) -> Succ(Succ(vyv331)) 214.12/145.80 new_primMinusNatS2(Succ(vyv3110), Succ(vyv3120)) -> new_primMinusNatS2(vyv3110, vyv3120) 214.12/145.80 new_primModNatS1(Succ(Zero), Succ(vyv292000)) -> Succ(Zero) 214.12/145.80 new_primModNatS1(Zero, vyv29200) -> Zero 214.12/145.80 new_primMinusNatS2(Zero, Zero) -> Zero 214.12/145.80 new_primMinusNatS2(Zero, Succ(vyv3120)) -> Zero 214.12/145.80 new_primMinusNatS2(Succ(vyv3110), Zero) -> Succ(vyv3110) 214.12/145.80 new_esEs(Pos(Succ(vyv24300))) -> new_primEqInt(Pos(Succ(vyv24300))) 214.12/145.80 new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) 214.12/145.80 new_primEqInt(Pos(Zero)) -> True 214.12/145.80 new_primEqInt(Pos(Succ(vyv242000))) -> False 214.12/145.80 new_esEs(Neg(Succ(vyv24300))) -> new_primEqInt(Neg(Succ(vyv24300))) 214.12/145.80 new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) 214.12/145.80 new_primEqInt(Neg(Zero)) -> True 214.12/145.80 new_primEqInt(Neg(Succ(vyv242000))) -> False 214.12/145.80 214.12/145.80 The set Q consists of the following terms: 214.12/145.80 214.12/145.80 new_primModNatS01(x0, x1, Succ(x2), Zero) 214.12/145.80 new_primModNatS1(Succ(Succ(x0)), Zero) 214.12/145.80 new_primEqInt(Pos(Zero)) 214.12/145.80 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 214.12/145.80 new_esEs(Pos(Succ(x0))) 214.12/145.80 new_primModNatS1(Zero, x0) 214.12/145.80 new_primModNatS02(x0, x1) 214.12/145.80 new_primMinusNatS2(Zero, Zero) 214.12/145.80 new_primModNatS1(Succ(Zero), Zero) 214.12/145.80 new_primMinusNatS2(Succ(x0), Zero) 214.12/145.80 new_esEs(Pos(Zero)) 214.12/145.80 new_primEqInt(Neg(Succ(x0))) 214.12/145.80 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 214.12/145.80 new_esEs(Neg(Succ(x0))) 214.12/145.80 new_primEqInt(Neg(Zero)) 214.12/145.80 new_primModNatS01(x0, x1, Zero, Zero) 214.12/145.80 new_primEqInt(Pos(Succ(x0))) 214.12/145.80 new_primMinusNatS2(Zero, Succ(x0)) 214.12/145.80 new_primModNatS1(Succ(Zero), Succ(x0)) 214.12/145.80 new_primMinusNatS2(Succ(x0), Succ(x1)) 214.12/145.80 new_primModNatS01(x0, x1, Zero, Succ(x2)) 214.12/145.80 new_esEs(Neg(Zero)) 214.12/145.80 214.12/145.80 We have to consider all minimal (P,Q,R)-chains. 214.12/145.80 ---------------------------------------- 214.12/145.80 214.12/145.80 (263) TransformationProof (EQUIVALENT) 214.12/145.80 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]: 214.12/145.80 214.12/145.80 (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))))))) 214.12/145.80 214.12/145.80 214.12/145.80 ---------------------------------------- 214.12/145.80 214.12/145.80 (264) 214.12/145.80 Obligation: 214.12/145.80 Q DP problem: 214.12/145.80 The TRS P consists of the following rules: 214.12/145.80 214.12/145.80 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))) 214.12/145.80 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)))) 214.12/145.80 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))) 214.12/145.80 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)))) 214.12/145.80 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))))) 214.12/145.80 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))))) 214.12/145.80 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)))))) 214.12/145.80 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))))) 214.12/145.80 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)))))) 214.12/145.80 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)))))) 214.12/145.80 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))))) 214.12/145.80 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))))) 214.12/145.80 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)))))) 214.12/145.80 214.12/145.80 The TRS R consists of the following rules: 214.12/145.80 214.12/145.80 new_primModNatS1(Succ(Succ(vyv293000)), Succ(vyv292000)) -> new_primModNatS01(vyv293000, vyv292000, vyv293000, vyv292000) 214.12/145.80 new_primModNatS01(vyv331, vyv332, Zero, Zero) -> new_primModNatS02(vyv331, vyv332) 214.12/145.80 new_primModNatS02(vyv331, vyv332) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv331), Succ(vyv332)), Succ(vyv332)) 214.12/145.80 new_primModNatS01(vyv331, vyv332, Succ(vyv3330), Succ(vyv3340)) -> new_primModNatS01(vyv331, vyv332, vyv3330, vyv3340) 214.12/145.80 new_primModNatS01(vyv331, vyv332, Succ(vyv3330), Zero) -> new_primModNatS02(vyv331, vyv332) 214.12/145.80 new_primModNatS01(vyv331, vyv332, Zero, Succ(vyv3340)) -> Succ(Succ(vyv331)) 214.12/145.80 new_primMinusNatS2(Succ(vyv3110), Succ(vyv3120)) -> new_primMinusNatS2(vyv3110, vyv3120) 214.12/145.80 new_primModNatS1(Succ(Zero), Succ(vyv292000)) -> Succ(Zero) 214.12/145.80 new_primModNatS1(Zero, vyv29200) -> Zero 214.12/145.80 new_primMinusNatS2(Zero, Zero) -> Zero 214.12/145.80 new_primMinusNatS2(Zero, Succ(vyv3120)) -> Zero 214.12/145.80 new_primMinusNatS2(Succ(vyv3110), Zero) -> Succ(vyv3110) 214.12/145.80 new_esEs(Pos(Succ(vyv24300))) -> new_primEqInt(Pos(Succ(vyv24300))) 214.12/145.80 new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) 214.12/145.80 new_primEqInt(Pos(Zero)) -> True 214.12/145.80 new_primEqInt(Pos(Succ(vyv242000))) -> False 214.12/145.80 new_esEs(Neg(Succ(vyv24300))) -> new_primEqInt(Neg(Succ(vyv24300))) 214.12/145.80 new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) 214.12/145.80 new_primEqInt(Neg(Zero)) -> True 214.12/145.80 new_primEqInt(Neg(Succ(vyv242000))) -> False 214.12/145.80 214.12/145.80 The set Q consists of the following terms: 214.12/145.80 214.12/145.80 new_primModNatS01(x0, x1, Succ(x2), Zero) 214.12/145.80 new_primModNatS1(Succ(Succ(x0)), Zero) 214.12/145.80 new_primEqInt(Pos(Zero)) 214.12/145.80 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 214.12/145.80 new_esEs(Pos(Succ(x0))) 214.12/145.80 new_primModNatS1(Zero, x0) 214.12/145.80 new_primModNatS02(x0, x1) 214.12/145.80 new_primMinusNatS2(Zero, Zero) 214.12/145.80 new_primModNatS1(Succ(Zero), Zero) 214.12/145.80 new_primMinusNatS2(Succ(x0), Zero) 214.12/145.80 new_esEs(Pos(Zero)) 214.12/145.80 new_primEqInt(Neg(Succ(x0))) 214.12/145.80 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 214.12/145.80 new_esEs(Neg(Succ(x0))) 214.12/145.80 new_primEqInt(Neg(Zero)) 214.12/145.80 new_primModNatS01(x0, x1, Zero, Zero) 214.12/145.80 new_primEqInt(Pos(Succ(x0))) 214.12/145.80 new_primMinusNatS2(Zero, Succ(x0)) 214.12/145.80 new_primModNatS1(Succ(Zero), Succ(x0)) 214.12/145.80 new_primMinusNatS2(Succ(x0), Succ(x1)) 214.12/145.80 new_primModNatS01(x0, x1, Zero, Succ(x2)) 214.12/145.80 new_esEs(Neg(Zero)) 214.12/145.80 214.12/145.80 We have to consider all minimal (P,Q,R)-chains. 214.12/145.80 ---------------------------------------- 214.12/145.80 214.12/145.80 (265) TransformationProof (EQUIVALENT) 214.12/145.80 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]: 214.12/145.80 214.12/145.80 (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)))))) 214.12/145.80 214.12/145.80 214.12/145.80 ---------------------------------------- 214.12/145.80 214.12/145.80 (266) 214.12/145.80 Obligation: 214.12/145.80 Q DP problem: 214.12/145.80 The TRS P consists of the following rules: 214.12/145.80 214.12/145.80 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))) 214.12/145.80 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)))) 214.12/145.80 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))) 214.12/145.80 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)))) 214.12/145.80 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))))) 214.12/145.80 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))))) 214.12/145.80 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)))))) 214.12/145.80 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))))) 214.12/145.80 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)))))) 214.12/145.80 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)))))) 214.12/145.80 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))))) 214.12/145.80 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)))))) 214.12/145.80 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))))) 214.12/145.80 214.12/145.80 The TRS R consists of the following rules: 214.12/145.80 214.12/145.80 new_primModNatS1(Succ(Succ(vyv293000)), Succ(vyv292000)) -> new_primModNatS01(vyv293000, vyv292000, vyv293000, vyv292000) 214.12/145.80 new_primModNatS01(vyv331, vyv332, Zero, Zero) -> new_primModNatS02(vyv331, vyv332) 214.12/145.80 new_primModNatS02(vyv331, vyv332) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv331), Succ(vyv332)), Succ(vyv332)) 214.12/145.80 new_primModNatS01(vyv331, vyv332, Succ(vyv3330), Succ(vyv3340)) -> new_primModNatS01(vyv331, vyv332, vyv3330, vyv3340) 214.12/145.80 new_primModNatS01(vyv331, vyv332, Succ(vyv3330), Zero) -> new_primModNatS02(vyv331, vyv332) 214.12/145.80 new_primModNatS01(vyv331, vyv332, Zero, Succ(vyv3340)) -> Succ(Succ(vyv331)) 214.12/145.80 new_primMinusNatS2(Succ(vyv3110), Succ(vyv3120)) -> new_primMinusNatS2(vyv3110, vyv3120) 214.12/145.80 new_primModNatS1(Succ(Zero), Succ(vyv292000)) -> Succ(Zero) 214.12/145.80 new_primModNatS1(Zero, vyv29200) -> Zero 214.12/145.80 new_primMinusNatS2(Zero, Zero) -> Zero 214.12/145.80 new_primMinusNatS2(Zero, Succ(vyv3120)) -> Zero 214.12/145.80 new_primMinusNatS2(Succ(vyv3110), Zero) -> Succ(vyv3110) 214.12/145.80 new_esEs(Pos(Succ(vyv24300))) -> new_primEqInt(Pos(Succ(vyv24300))) 214.12/145.80 new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) 214.12/145.80 new_primEqInt(Pos(Zero)) -> True 214.12/145.80 new_primEqInt(Pos(Succ(vyv242000))) -> False 214.12/145.80 new_esEs(Neg(Succ(vyv24300))) -> new_primEqInt(Neg(Succ(vyv24300))) 214.12/145.80 new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) 214.12/145.80 new_primEqInt(Neg(Zero)) -> True 214.12/145.80 new_primEqInt(Neg(Succ(vyv242000))) -> False 214.12/145.80 214.12/145.80 The set Q consists of the following terms: 214.12/145.80 214.12/145.80 new_primModNatS01(x0, x1, Succ(x2), Zero) 214.12/145.80 new_primModNatS1(Succ(Succ(x0)), Zero) 214.12/145.80 new_primEqInt(Pos(Zero)) 214.12/145.80 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 214.12/145.80 new_esEs(Pos(Succ(x0))) 214.12/145.80 new_primModNatS1(Zero, x0) 214.12/145.80 new_primModNatS02(x0, x1) 214.12/145.80 new_primMinusNatS2(Zero, Zero) 214.12/145.80 new_primModNatS1(Succ(Zero), Zero) 214.12/145.80 new_primMinusNatS2(Succ(x0), Zero) 214.12/145.80 new_esEs(Pos(Zero)) 214.12/145.80 new_primEqInt(Neg(Succ(x0))) 214.12/145.80 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 214.12/145.80 new_esEs(Neg(Succ(x0))) 214.12/145.80 new_primEqInt(Neg(Zero)) 214.12/145.80 new_primModNatS01(x0, x1, Zero, Zero) 214.12/145.80 new_primEqInt(Pos(Succ(x0))) 214.12/145.80 new_primMinusNatS2(Zero, Succ(x0)) 214.12/145.80 new_primModNatS1(Succ(Zero), Succ(x0)) 214.12/145.80 new_primMinusNatS2(Succ(x0), Succ(x1)) 214.12/145.80 new_primModNatS01(x0, x1, Zero, Succ(x2)) 214.12/145.80 new_esEs(Neg(Zero)) 214.12/145.80 214.12/145.80 We have to consider all minimal (P,Q,R)-chains. 214.12/145.80 ---------------------------------------- 214.12/145.80 214.12/145.80 (267) TransformationProof (EQUIVALENT) 214.12/145.80 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]: 214.12/145.80 214.12/145.80 (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)))))) 214.12/145.80 214.12/145.80 214.12/145.80 ---------------------------------------- 214.12/145.80 214.12/145.80 (268) 214.12/145.80 Obligation: 214.12/145.80 Q DP problem: 214.12/145.80 The TRS P consists of the following rules: 214.12/145.80 214.12/145.80 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))) 214.12/145.80 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)))) 214.12/145.80 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))) 214.12/145.80 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)))) 214.12/145.80 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))))) 214.12/145.80 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))))) 214.12/145.80 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)))))) 214.12/145.80 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))))) 214.12/145.80 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)))))) 214.12/145.80 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)))))) 214.12/145.80 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)))))) 214.12/145.80 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))))) 214.12/145.80 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))))) 214.12/145.80 214.12/145.80 The TRS R consists of the following rules: 214.12/145.80 214.12/145.80 new_primModNatS1(Succ(Succ(vyv293000)), Succ(vyv292000)) -> new_primModNatS01(vyv293000, vyv292000, vyv293000, vyv292000) 214.12/145.80 new_primModNatS01(vyv331, vyv332, Zero, Zero) -> new_primModNatS02(vyv331, vyv332) 214.12/145.80 new_primModNatS02(vyv331, vyv332) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv331), Succ(vyv332)), Succ(vyv332)) 214.12/145.80 new_primModNatS01(vyv331, vyv332, Succ(vyv3330), Succ(vyv3340)) -> new_primModNatS01(vyv331, vyv332, vyv3330, vyv3340) 214.12/145.80 new_primModNatS01(vyv331, vyv332, Succ(vyv3330), Zero) -> new_primModNatS02(vyv331, vyv332) 214.12/145.80 new_primModNatS01(vyv331, vyv332, Zero, Succ(vyv3340)) -> Succ(Succ(vyv331)) 214.12/145.80 new_primMinusNatS2(Succ(vyv3110), Succ(vyv3120)) -> new_primMinusNatS2(vyv3110, vyv3120) 214.12/145.80 new_primModNatS1(Succ(Zero), Succ(vyv292000)) -> Succ(Zero) 214.12/145.80 new_primModNatS1(Zero, vyv29200) -> Zero 214.12/145.80 new_primMinusNatS2(Zero, Zero) -> Zero 214.12/145.80 new_primMinusNatS2(Zero, Succ(vyv3120)) -> Zero 214.12/145.80 new_primMinusNatS2(Succ(vyv3110), Zero) -> Succ(vyv3110) 214.12/145.80 new_esEs(Pos(Succ(vyv24300))) -> new_primEqInt(Pos(Succ(vyv24300))) 214.12/145.80 new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) 214.12/145.80 new_primEqInt(Pos(Zero)) -> True 214.12/145.80 new_primEqInt(Pos(Succ(vyv242000))) -> False 214.12/145.80 new_esEs(Neg(Succ(vyv24300))) -> new_primEqInt(Neg(Succ(vyv24300))) 214.12/145.80 new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) 214.12/145.80 new_primEqInt(Neg(Zero)) -> True 214.12/145.80 new_primEqInt(Neg(Succ(vyv242000))) -> False 214.12/145.80 214.12/145.80 The set Q consists of the following terms: 214.12/145.80 214.12/145.80 new_primModNatS01(x0, x1, Succ(x2), Zero) 214.12/145.80 new_primModNatS1(Succ(Succ(x0)), Zero) 214.12/145.80 new_primEqInt(Pos(Zero)) 214.12/145.80 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 214.12/145.80 new_esEs(Pos(Succ(x0))) 214.12/145.80 new_primModNatS1(Zero, x0) 214.12/145.80 new_primModNatS02(x0, x1) 214.12/145.80 new_primMinusNatS2(Zero, Zero) 214.12/145.80 new_primModNatS1(Succ(Zero), Zero) 214.12/145.80 new_primMinusNatS2(Succ(x0), Zero) 214.12/145.80 new_esEs(Pos(Zero)) 214.12/145.80 new_primEqInt(Neg(Succ(x0))) 214.12/145.80 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 214.12/145.80 new_esEs(Neg(Succ(x0))) 214.12/145.80 new_primEqInt(Neg(Zero)) 214.12/145.80 new_primModNatS01(x0, x1, Zero, Zero) 214.12/145.80 new_primEqInt(Pos(Succ(x0))) 214.12/145.80 new_primMinusNatS2(Zero, Succ(x0)) 214.12/145.80 new_primModNatS1(Succ(Zero), Succ(x0)) 214.12/145.80 new_primMinusNatS2(Succ(x0), Succ(x1)) 214.12/145.80 new_primModNatS01(x0, x1, Zero, Succ(x2)) 214.12/145.80 new_esEs(Neg(Zero)) 214.12/145.80 214.12/145.80 We have to consider all minimal (P,Q,R)-chains. 214.12/145.80 ---------------------------------------- 214.12/145.80 214.12/145.80 (269) TransformationProof (EQUIVALENT) 214.12/145.80 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]: 214.12/145.80 214.12/145.80 (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))))))) 214.12/145.80 214.12/145.80 214.12/145.80 ---------------------------------------- 214.12/145.80 214.12/145.80 (270) 214.12/145.80 Obligation: 214.12/145.80 Q DP problem: 214.12/145.80 The TRS P consists of the following rules: 214.12/145.80 214.12/145.80 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))) 214.12/145.80 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)))) 214.12/145.80 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))) 214.12/145.80 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)))) 214.12/145.80 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))))) 214.12/145.80 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))))) 214.12/145.80 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)))))) 214.12/145.80 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))))) 214.12/145.80 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)))))) 214.12/145.80 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)))))) 214.12/145.80 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))))) 214.12/145.80 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))))) 214.12/145.80 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)))))) 214.12/145.80 214.12/145.80 The TRS R consists of the following rules: 214.12/145.80 214.12/145.80 new_primModNatS1(Succ(Succ(vyv293000)), Succ(vyv292000)) -> new_primModNatS01(vyv293000, vyv292000, vyv293000, vyv292000) 214.12/145.80 new_primModNatS01(vyv331, vyv332, Zero, Zero) -> new_primModNatS02(vyv331, vyv332) 214.12/145.80 new_primModNatS02(vyv331, vyv332) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv331), Succ(vyv332)), Succ(vyv332)) 214.12/145.80 new_primModNatS01(vyv331, vyv332, Succ(vyv3330), Succ(vyv3340)) -> new_primModNatS01(vyv331, vyv332, vyv3330, vyv3340) 214.12/145.80 new_primModNatS01(vyv331, vyv332, Succ(vyv3330), Zero) -> new_primModNatS02(vyv331, vyv332) 214.12/145.80 new_primModNatS01(vyv331, vyv332, Zero, Succ(vyv3340)) -> Succ(Succ(vyv331)) 214.12/145.80 new_primMinusNatS2(Succ(vyv3110), Succ(vyv3120)) -> new_primMinusNatS2(vyv3110, vyv3120) 214.12/145.80 new_primModNatS1(Succ(Zero), Succ(vyv292000)) -> Succ(Zero) 214.12/145.80 new_primModNatS1(Zero, vyv29200) -> Zero 214.12/145.80 new_primMinusNatS2(Zero, Zero) -> Zero 214.12/145.80 new_primMinusNatS2(Zero, Succ(vyv3120)) -> Zero 214.12/145.80 new_primMinusNatS2(Succ(vyv3110), Zero) -> Succ(vyv3110) 214.12/145.80 new_esEs(Pos(Succ(vyv24300))) -> new_primEqInt(Pos(Succ(vyv24300))) 214.12/145.80 new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) 214.12/145.80 new_primEqInt(Pos(Zero)) -> True 214.12/145.80 new_primEqInt(Pos(Succ(vyv242000))) -> False 214.12/145.80 new_esEs(Neg(Succ(vyv24300))) -> new_primEqInt(Neg(Succ(vyv24300))) 214.12/145.80 new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) 214.12/145.80 new_primEqInt(Neg(Zero)) -> True 214.12/145.80 new_primEqInt(Neg(Succ(vyv242000))) -> False 214.12/145.80 214.12/145.80 The set Q consists of the following terms: 214.12/145.80 214.12/145.80 new_primModNatS01(x0, x1, Succ(x2), Zero) 214.12/145.80 new_primModNatS1(Succ(Succ(x0)), Zero) 214.12/145.80 new_primEqInt(Pos(Zero)) 214.12/145.80 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 214.12/145.80 new_esEs(Pos(Succ(x0))) 214.12/145.80 new_primModNatS1(Zero, x0) 214.12/145.80 new_primModNatS02(x0, x1) 214.12/145.80 new_primMinusNatS2(Zero, Zero) 214.12/145.80 new_primModNatS1(Succ(Zero), Zero) 214.12/145.80 new_primMinusNatS2(Succ(x0), Zero) 214.12/145.80 new_esEs(Pos(Zero)) 214.12/145.80 new_primEqInt(Neg(Succ(x0))) 214.12/145.80 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 214.12/145.80 new_esEs(Neg(Succ(x0))) 214.12/145.80 new_primEqInt(Neg(Zero)) 214.12/145.80 new_primModNatS01(x0, x1, Zero, Zero) 214.12/145.80 new_primEqInt(Pos(Succ(x0))) 214.12/145.80 new_primMinusNatS2(Zero, Succ(x0)) 214.12/145.80 new_primModNatS1(Succ(Zero), Succ(x0)) 214.12/145.80 new_primMinusNatS2(Succ(x0), Succ(x1)) 214.12/145.80 new_primModNatS01(x0, x1, Zero, Succ(x2)) 214.12/145.80 new_esEs(Neg(Zero)) 214.12/145.80 214.12/145.80 We have to consider all minimal (P,Q,R)-chains. 214.12/145.80 ---------------------------------------- 214.12/145.80 214.12/145.80 (271) TransformationProof (EQUIVALENT) 214.12/145.80 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]: 214.12/145.80 214.12/145.80 (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)))))) 214.12/145.80 214.12/145.80 214.12/145.80 ---------------------------------------- 214.12/145.80 214.12/145.80 (272) 214.12/145.80 Obligation: 214.12/145.80 Q DP problem: 214.12/145.80 The TRS P consists of the following rules: 214.12/145.80 214.12/145.80 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))) 214.12/145.80 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)))) 214.12/145.80 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))) 214.12/145.80 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)))) 214.12/145.80 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))))) 214.12/145.80 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))))) 214.12/145.80 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)))))) 214.12/145.80 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))))) 214.12/145.80 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)))))) 214.12/145.80 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)))))) 214.12/145.80 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))))) 214.12/145.80 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)))))) 214.12/145.80 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))))) 214.12/145.80 214.12/145.80 The TRS R consists of the following rules: 214.12/145.80 214.12/145.80 new_primModNatS1(Succ(Succ(vyv293000)), Succ(vyv292000)) -> new_primModNatS01(vyv293000, vyv292000, vyv293000, vyv292000) 214.12/145.80 new_primModNatS01(vyv331, vyv332, Zero, Zero) -> new_primModNatS02(vyv331, vyv332) 214.12/145.80 new_primModNatS02(vyv331, vyv332) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv331), Succ(vyv332)), Succ(vyv332)) 214.12/145.80 new_primModNatS01(vyv331, vyv332, Succ(vyv3330), Succ(vyv3340)) -> new_primModNatS01(vyv331, vyv332, vyv3330, vyv3340) 214.12/145.80 new_primModNatS01(vyv331, vyv332, Succ(vyv3330), Zero) -> new_primModNatS02(vyv331, vyv332) 214.12/145.80 new_primModNatS01(vyv331, vyv332, Zero, Succ(vyv3340)) -> Succ(Succ(vyv331)) 214.12/145.80 new_primMinusNatS2(Succ(vyv3110), Succ(vyv3120)) -> new_primMinusNatS2(vyv3110, vyv3120) 214.12/145.80 new_primModNatS1(Succ(Zero), Succ(vyv292000)) -> Succ(Zero) 214.12/145.80 new_primModNatS1(Zero, vyv29200) -> Zero 214.12/145.80 new_primMinusNatS2(Zero, Zero) -> Zero 214.12/145.80 new_primMinusNatS2(Zero, Succ(vyv3120)) -> Zero 214.12/145.80 new_primMinusNatS2(Succ(vyv3110), Zero) -> Succ(vyv3110) 214.12/145.80 new_esEs(Pos(Succ(vyv24300))) -> new_primEqInt(Pos(Succ(vyv24300))) 214.12/145.80 new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) 214.12/145.80 new_primEqInt(Pos(Zero)) -> True 214.12/145.80 new_primEqInt(Pos(Succ(vyv242000))) -> False 214.12/145.80 new_esEs(Neg(Succ(vyv24300))) -> new_primEqInt(Neg(Succ(vyv24300))) 214.12/145.80 new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) 214.12/145.80 new_primEqInt(Neg(Zero)) -> True 214.12/145.80 new_primEqInt(Neg(Succ(vyv242000))) -> False 214.12/145.80 214.12/145.80 The set Q consists of the following terms: 214.12/145.80 214.12/145.80 new_primModNatS01(x0, x1, Succ(x2), Zero) 214.12/145.80 new_primModNatS1(Succ(Succ(x0)), Zero) 214.12/145.80 new_primEqInt(Pos(Zero)) 214.12/145.80 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 214.12/145.80 new_esEs(Pos(Succ(x0))) 214.12/145.80 new_primModNatS1(Zero, x0) 214.12/145.80 new_primModNatS02(x0, x1) 214.12/145.80 new_primMinusNatS2(Zero, Zero) 214.12/145.80 new_primModNatS1(Succ(Zero), Zero) 214.12/145.80 new_primMinusNatS2(Succ(x0), Zero) 214.12/145.80 new_esEs(Pos(Zero)) 214.12/145.80 new_primEqInt(Neg(Succ(x0))) 214.12/145.80 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 214.12/145.80 new_esEs(Neg(Succ(x0))) 214.12/145.80 new_primEqInt(Neg(Zero)) 214.12/145.80 new_primModNatS01(x0, x1, Zero, Zero) 214.12/145.80 new_primEqInt(Pos(Succ(x0))) 214.12/145.80 new_primMinusNatS2(Zero, Succ(x0)) 214.12/145.80 new_primModNatS1(Succ(Zero), Succ(x0)) 214.12/145.80 new_primMinusNatS2(Succ(x0), Succ(x1)) 214.12/145.80 new_primModNatS01(x0, x1, Zero, Succ(x2)) 214.12/145.80 new_esEs(Neg(Zero)) 214.12/145.80 214.12/145.80 We have to consider all minimal (P,Q,R)-chains. 214.12/145.80 ---------------------------------------- 214.12/145.80 214.12/145.80 (273) TransformationProof (EQUIVALENT) 214.12/145.80 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]: 214.12/145.80 214.12/145.80 (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))))))) 214.12/145.80 214.12/145.80 214.12/145.80 ---------------------------------------- 214.12/145.80 214.12/145.80 (274) 214.12/145.80 Obligation: 214.12/145.80 Q DP problem: 214.12/145.80 The TRS P consists of the following rules: 214.12/145.80 214.12/145.80 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))) 214.12/145.80 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)))) 214.12/145.80 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))) 214.12/145.80 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)))) 214.12/145.80 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))))) 214.12/145.80 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))))) 214.12/145.80 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)))))) 214.12/145.80 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))))) 214.12/145.80 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)))))) 214.12/145.80 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)))))) 214.12/145.80 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))))) 214.12/145.80 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))))) 214.12/145.80 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)))))) 214.12/145.80 214.12/145.80 The TRS R consists of the following rules: 214.12/145.80 214.12/145.80 new_primModNatS1(Succ(Succ(vyv293000)), Succ(vyv292000)) -> new_primModNatS01(vyv293000, vyv292000, vyv293000, vyv292000) 214.12/145.80 new_primModNatS01(vyv331, vyv332, Zero, Zero) -> new_primModNatS02(vyv331, vyv332) 214.12/145.80 new_primModNatS02(vyv331, vyv332) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv331), Succ(vyv332)), Succ(vyv332)) 214.12/145.80 new_primModNatS01(vyv331, vyv332, Succ(vyv3330), Succ(vyv3340)) -> new_primModNatS01(vyv331, vyv332, vyv3330, vyv3340) 214.12/145.80 new_primModNatS01(vyv331, vyv332, Succ(vyv3330), Zero) -> new_primModNatS02(vyv331, vyv332) 214.12/145.80 new_primModNatS01(vyv331, vyv332, Zero, Succ(vyv3340)) -> Succ(Succ(vyv331)) 214.12/145.80 new_primMinusNatS2(Succ(vyv3110), Succ(vyv3120)) -> new_primMinusNatS2(vyv3110, vyv3120) 214.12/145.80 new_primModNatS1(Succ(Zero), Succ(vyv292000)) -> Succ(Zero) 214.12/145.80 new_primModNatS1(Zero, vyv29200) -> Zero 214.12/145.80 new_primMinusNatS2(Zero, Zero) -> Zero 214.12/145.80 new_primMinusNatS2(Zero, Succ(vyv3120)) -> Zero 214.12/145.80 new_primMinusNatS2(Succ(vyv3110), Zero) -> Succ(vyv3110) 214.12/145.80 new_esEs(Pos(Succ(vyv24300))) -> new_primEqInt(Pos(Succ(vyv24300))) 214.12/145.80 new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) 214.12/145.80 new_primEqInt(Pos(Zero)) -> True 214.12/145.80 new_primEqInt(Pos(Succ(vyv242000))) -> False 214.12/145.80 new_esEs(Neg(Succ(vyv24300))) -> new_primEqInt(Neg(Succ(vyv24300))) 214.12/145.80 new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) 214.12/145.80 new_primEqInt(Neg(Zero)) -> True 214.12/145.80 new_primEqInt(Neg(Succ(vyv242000))) -> False 214.12/145.80 214.12/145.80 The set Q consists of the following terms: 214.12/145.80 214.12/145.80 new_primModNatS01(x0, x1, Succ(x2), Zero) 214.12/145.80 new_primModNatS1(Succ(Succ(x0)), Zero) 214.12/145.80 new_primEqInt(Pos(Zero)) 214.12/145.80 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 214.12/145.80 new_esEs(Pos(Succ(x0))) 214.12/145.80 new_primModNatS1(Zero, x0) 214.12/145.80 new_primModNatS02(x0, x1) 214.12/145.80 new_primMinusNatS2(Zero, Zero) 214.12/145.80 new_primModNatS1(Succ(Zero), Zero) 214.12/145.80 new_primMinusNatS2(Succ(x0), Zero) 214.12/145.80 new_esEs(Pos(Zero)) 214.12/145.80 new_primEqInt(Neg(Succ(x0))) 214.12/145.80 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 214.12/145.80 new_esEs(Neg(Succ(x0))) 214.12/145.80 new_primEqInt(Neg(Zero)) 214.12/145.80 new_primModNatS01(x0, x1, Zero, Zero) 214.12/145.80 new_primEqInt(Pos(Succ(x0))) 214.12/145.80 new_primMinusNatS2(Zero, Succ(x0)) 214.12/145.80 new_primModNatS1(Succ(Zero), Succ(x0)) 214.12/145.80 new_primMinusNatS2(Succ(x0), Succ(x1)) 214.12/145.80 new_primModNatS01(x0, x1, Zero, Succ(x2)) 214.12/145.80 new_esEs(Neg(Zero)) 214.12/145.80 214.12/145.80 We have to consider all minimal (P,Q,R)-chains. 214.12/145.80 ---------------------------------------- 214.12/145.80 214.12/145.80 (275) TransformationProof (EQUIVALENT) 214.12/145.80 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]: 214.12/145.80 214.12/145.80 (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)))))) 214.12/145.80 214.12/145.80 214.12/145.80 ---------------------------------------- 214.12/145.80 214.12/145.80 (276) 214.12/145.80 Obligation: 214.12/145.80 Q DP problem: 214.12/145.80 The TRS P consists of the following rules: 214.12/145.80 214.12/145.80 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))) 214.12/145.80 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)))) 214.12/145.80 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))) 214.12/145.80 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)))) 214.12/145.80 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))))) 214.12/145.80 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))))) 214.12/145.80 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)))))) 214.12/145.80 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))))) 214.12/145.80 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)))))) 214.12/145.80 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)))))) 214.12/145.80 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))))) 214.12/145.80 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)))))) 214.12/145.80 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))))) 214.12/145.80 214.12/145.80 The TRS R consists of the following rules: 214.12/145.80 214.12/145.80 new_primModNatS1(Succ(Succ(vyv293000)), Succ(vyv292000)) -> new_primModNatS01(vyv293000, vyv292000, vyv293000, vyv292000) 214.12/145.80 new_primModNatS01(vyv331, vyv332, Zero, Zero) -> new_primModNatS02(vyv331, vyv332) 214.12/145.80 new_primModNatS02(vyv331, vyv332) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv331), Succ(vyv332)), Succ(vyv332)) 214.12/145.80 new_primModNatS01(vyv331, vyv332, Succ(vyv3330), Succ(vyv3340)) -> new_primModNatS01(vyv331, vyv332, vyv3330, vyv3340) 214.12/145.80 new_primModNatS01(vyv331, vyv332, Succ(vyv3330), Zero) -> new_primModNatS02(vyv331, vyv332) 214.12/145.80 new_primModNatS01(vyv331, vyv332, Zero, Succ(vyv3340)) -> Succ(Succ(vyv331)) 214.12/145.80 new_primMinusNatS2(Succ(vyv3110), Succ(vyv3120)) -> new_primMinusNatS2(vyv3110, vyv3120) 214.12/145.80 new_primModNatS1(Succ(Zero), Succ(vyv292000)) -> Succ(Zero) 214.12/145.80 new_primModNatS1(Zero, vyv29200) -> Zero 214.12/145.80 new_primMinusNatS2(Zero, Zero) -> Zero 214.12/145.80 new_primMinusNatS2(Zero, Succ(vyv3120)) -> Zero 214.12/145.80 new_primMinusNatS2(Succ(vyv3110), Zero) -> Succ(vyv3110) 214.12/145.80 new_esEs(Pos(Succ(vyv24300))) -> new_primEqInt(Pos(Succ(vyv24300))) 214.12/145.80 new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) 214.12/145.80 new_primEqInt(Pos(Zero)) -> True 214.12/145.80 new_primEqInt(Pos(Succ(vyv242000))) -> False 214.12/145.80 new_esEs(Neg(Succ(vyv24300))) -> new_primEqInt(Neg(Succ(vyv24300))) 214.12/145.80 new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) 214.12/145.80 new_primEqInt(Neg(Zero)) -> True 214.12/145.80 new_primEqInt(Neg(Succ(vyv242000))) -> False 214.12/145.80 214.12/145.80 The set Q consists of the following terms: 214.12/145.80 214.12/145.80 new_primModNatS01(x0, x1, Succ(x2), Zero) 214.12/145.80 new_primModNatS1(Succ(Succ(x0)), Zero) 214.12/145.80 new_primEqInt(Pos(Zero)) 214.12/145.80 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 214.12/145.80 new_esEs(Pos(Succ(x0))) 214.12/145.80 new_primModNatS1(Zero, x0) 214.12/145.80 new_primModNatS02(x0, x1) 214.12/145.80 new_primMinusNatS2(Zero, Zero) 214.12/145.80 new_primModNatS1(Succ(Zero), Zero) 214.12/145.80 new_primMinusNatS2(Succ(x0), Zero) 214.12/145.80 new_esEs(Pos(Zero)) 214.12/145.80 new_primEqInt(Neg(Succ(x0))) 214.12/145.80 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 214.12/145.80 new_esEs(Neg(Succ(x0))) 214.12/145.80 new_primEqInt(Neg(Zero)) 214.12/145.80 new_primModNatS01(x0, x1, Zero, Zero) 214.12/145.80 new_primEqInt(Pos(Succ(x0))) 214.12/145.80 new_primMinusNatS2(Zero, Succ(x0)) 214.12/145.80 new_primModNatS1(Succ(Zero), Succ(x0)) 214.12/145.80 new_primMinusNatS2(Succ(x0), Succ(x1)) 214.12/145.80 new_primModNatS01(x0, x1, Zero, Succ(x2)) 214.12/145.80 new_esEs(Neg(Zero)) 214.12/145.80 214.12/145.80 We have to consider all minimal (P,Q,R)-chains. 214.12/145.80 ---------------------------------------- 214.12/145.80 214.12/145.80 (277) DependencyGraphProof (EQUIVALENT) 214.12/145.80 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. 214.12/145.80 ---------------------------------------- 214.12/145.80 214.12/145.80 (278) 214.12/145.80 Obligation: 214.12/145.80 Q DP problem: 214.12/145.80 The TRS P consists of the following rules: 214.12/145.80 214.12/145.80 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)))) 214.12/145.80 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))) 214.12/145.80 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)))) 214.12/145.80 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))) 214.12/145.80 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))))) 214.12/145.80 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)))))) 214.12/145.80 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))))) 214.12/145.80 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)))))) 214.12/145.80 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))))) 214.12/145.80 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)))))) 214.12/145.80 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))))) 214.12/145.80 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)))))) 214.12/145.80 214.12/145.80 The TRS R consists of the following rules: 214.12/145.80 214.12/145.80 new_primModNatS1(Succ(Succ(vyv293000)), Succ(vyv292000)) -> new_primModNatS01(vyv293000, vyv292000, vyv293000, vyv292000) 214.12/145.80 new_primModNatS01(vyv331, vyv332, Zero, Zero) -> new_primModNatS02(vyv331, vyv332) 214.12/145.80 new_primModNatS02(vyv331, vyv332) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv331), Succ(vyv332)), Succ(vyv332)) 214.12/145.80 new_primModNatS01(vyv331, vyv332, Succ(vyv3330), Succ(vyv3340)) -> new_primModNatS01(vyv331, vyv332, vyv3330, vyv3340) 214.12/145.80 new_primModNatS01(vyv331, vyv332, Succ(vyv3330), Zero) -> new_primModNatS02(vyv331, vyv332) 214.12/145.80 new_primModNatS01(vyv331, vyv332, Zero, Succ(vyv3340)) -> Succ(Succ(vyv331)) 214.12/145.80 new_primMinusNatS2(Succ(vyv3110), Succ(vyv3120)) -> new_primMinusNatS2(vyv3110, vyv3120) 214.12/145.80 new_primModNatS1(Succ(Zero), Succ(vyv292000)) -> Succ(Zero) 214.12/145.80 new_primModNatS1(Zero, vyv29200) -> Zero 214.12/145.80 new_primMinusNatS2(Zero, Zero) -> Zero 214.12/145.80 new_primMinusNatS2(Zero, Succ(vyv3120)) -> Zero 214.12/145.80 new_primMinusNatS2(Succ(vyv3110), Zero) -> Succ(vyv3110) 214.12/145.80 new_esEs(Pos(Succ(vyv24300))) -> new_primEqInt(Pos(Succ(vyv24300))) 214.12/145.80 new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) 214.12/145.80 new_primEqInt(Pos(Zero)) -> True 214.12/145.80 new_primEqInt(Pos(Succ(vyv242000))) -> False 214.12/145.80 new_esEs(Neg(Succ(vyv24300))) -> new_primEqInt(Neg(Succ(vyv24300))) 214.12/145.80 new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) 214.12/145.80 new_primEqInt(Neg(Zero)) -> True 214.12/145.80 new_primEqInt(Neg(Succ(vyv242000))) -> False 214.12/145.80 214.12/145.80 The set Q consists of the following terms: 214.12/145.80 214.12/145.80 new_primModNatS01(x0, x1, Succ(x2), Zero) 214.12/145.80 new_primModNatS1(Succ(Succ(x0)), Zero) 214.12/145.80 new_primEqInt(Pos(Zero)) 214.12/145.80 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 214.12/145.80 new_esEs(Pos(Succ(x0))) 214.12/145.80 new_primModNatS1(Zero, x0) 214.12/145.80 new_primModNatS02(x0, x1) 214.12/145.80 new_primMinusNatS2(Zero, Zero) 214.12/145.80 new_primModNatS1(Succ(Zero), Zero) 214.12/145.80 new_primMinusNatS2(Succ(x0), Zero) 214.12/145.80 new_esEs(Pos(Zero)) 214.12/145.80 new_primEqInt(Neg(Succ(x0))) 214.12/145.80 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 214.12/145.80 new_esEs(Neg(Succ(x0))) 214.12/145.80 new_primEqInt(Neg(Zero)) 214.12/145.80 new_primModNatS01(x0, x1, Zero, Zero) 214.12/145.80 new_primEqInt(Pos(Succ(x0))) 214.12/145.80 new_primMinusNatS2(Zero, Succ(x0)) 214.12/145.80 new_primModNatS1(Succ(Zero), Succ(x0)) 214.12/145.80 new_primMinusNatS2(Succ(x0), Succ(x1)) 214.12/145.80 new_primModNatS01(x0, x1, Zero, Succ(x2)) 214.12/145.80 new_esEs(Neg(Zero)) 214.12/145.80 214.12/145.80 We have to consider all minimal (P,Q,R)-chains. 214.12/145.80 ---------------------------------------- 214.12/145.80 214.12/145.80 (279) TransformationProof (EQUIVALENT) 214.12/145.80 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]: 214.12/145.80 214.12/145.80 (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)))) 214.12/145.80 (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)))) 214.12/145.80 (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)))) 214.12/145.80 (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))))) 214.12/145.80 214.12/145.80 214.12/145.80 ---------------------------------------- 214.12/145.80 214.12/145.80 (280) 214.12/145.80 Obligation: 214.12/145.80 Q DP problem: 214.12/145.80 The TRS P consists of the following rules: 214.12/145.80 214.12/145.80 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)))) 214.12/145.80 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)))) 214.12/145.80 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))) 214.12/145.80 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))))) 214.12/145.80 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)))))) 214.12/145.80 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))))) 214.12/145.80 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)))))) 214.12/145.80 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))))) 214.12/145.80 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)))))) 214.12/145.80 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))))) 214.12/145.80 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)))))) 214.12/145.80 new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Neg(new_primModNatS02(Zero, Zero))) 214.12/145.80 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))) 214.12/145.80 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))) 214.12/145.80 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)))) 214.12/145.80 214.12/145.80 The TRS R consists of the following rules: 214.12/145.80 214.12/145.80 new_primModNatS1(Succ(Succ(vyv293000)), Succ(vyv292000)) -> new_primModNatS01(vyv293000, vyv292000, vyv293000, vyv292000) 214.12/145.80 new_primModNatS01(vyv331, vyv332, Zero, Zero) -> new_primModNatS02(vyv331, vyv332) 214.12/145.80 new_primModNatS02(vyv331, vyv332) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv331), Succ(vyv332)), Succ(vyv332)) 214.12/145.80 new_primModNatS01(vyv331, vyv332, Succ(vyv3330), Succ(vyv3340)) -> new_primModNatS01(vyv331, vyv332, vyv3330, vyv3340) 214.12/145.80 new_primModNatS01(vyv331, vyv332, Succ(vyv3330), Zero) -> new_primModNatS02(vyv331, vyv332) 214.12/145.80 new_primModNatS01(vyv331, vyv332, Zero, Succ(vyv3340)) -> Succ(Succ(vyv331)) 214.12/145.80 new_primMinusNatS2(Succ(vyv3110), Succ(vyv3120)) -> new_primMinusNatS2(vyv3110, vyv3120) 214.12/145.80 new_primModNatS1(Succ(Zero), Succ(vyv292000)) -> Succ(Zero) 214.12/145.80 new_primModNatS1(Zero, vyv29200) -> Zero 214.12/145.80 new_primMinusNatS2(Zero, Zero) -> Zero 214.12/145.80 new_primMinusNatS2(Zero, Succ(vyv3120)) -> Zero 214.12/145.80 new_primMinusNatS2(Succ(vyv3110), Zero) -> Succ(vyv3110) 214.12/145.80 new_esEs(Pos(Succ(vyv24300))) -> new_primEqInt(Pos(Succ(vyv24300))) 214.12/145.80 new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) 214.12/145.80 new_primEqInt(Pos(Zero)) -> True 214.12/145.80 new_primEqInt(Pos(Succ(vyv242000))) -> False 214.12/145.80 new_esEs(Neg(Succ(vyv24300))) -> new_primEqInt(Neg(Succ(vyv24300))) 214.12/145.80 new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) 214.12/145.80 new_primEqInt(Neg(Zero)) -> True 214.12/145.80 new_primEqInt(Neg(Succ(vyv242000))) -> False 214.12/145.80 214.12/145.80 The set Q consists of the following terms: 214.12/145.80 214.12/145.80 new_primModNatS01(x0, x1, Succ(x2), Zero) 214.12/145.80 new_primModNatS1(Succ(Succ(x0)), Zero) 214.12/145.80 new_primEqInt(Pos(Zero)) 214.12/145.80 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 214.12/145.80 new_esEs(Pos(Succ(x0))) 214.12/145.80 new_primModNatS1(Zero, x0) 214.12/145.80 new_primModNatS02(x0, x1) 214.12/145.80 new_primMinusNatS2(Zero, Zero) 214.12/145.80 new_primModNatS1(Succ(Zero), Zero) 214.12/145.80 new_primMinusNatS2(Succ(x0), Zero) 214.12/145.80 new_esEs(Pos(Zero)) 214.12/145.80 new_primEqInt(Neg(Succ(x0))) 214.12/145.80 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 214.12/145.80 new_esEs(Neg(Succ(x0))) 214.12/145.80 new_primEqInt(Neg(Zero)) 214.12/145.80 new_primModNatS01(x0, x1, Zero, Zero) 214.12/145.80 new_primEqInt(Pos(Succ(x0))) 214.12/145.80 new_primMinusNatS2(Zero, Succ(x0)) 214.12/145.80 new_primModNatS1(Succ(Zero), Succ(x0)) 214.12/145.80 new_primMinusNatS2(Succ(x0), Succ(x1)) 214.12/145.80 new_primModNatS01(x0, x1, Zero, Succ(x2)) 214.12/145.80 new_esEs(Neg(Zero)) 214.12/145.80 214.12/145.80 We have to consider all minimal (P,Q,R)-chains. 214.12/145.80 ---------------------------------------- 214.12/145.80 214.12/145.80 (281) DependencyGraphProof (EQUIVALENT) 214.12/145.80 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. 214.12/145.80 ---------------------------------------- 214.12/145.80 214.12/145.80 (282) 214.12/145.80 Obligation: 214.12/145.80 Q DP problem: 214.12/145.80 The TRS P consists of the following rules: 214.12/145.80 214.12/145.80 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)))) 214.12/145.80 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))))) 214.12/145.80 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))) 214.12/145.80 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)))) 214.12/145.80 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))))) 214.12/145.80 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))) 214.12/145.80 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)))) 214.12/145.80 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)))))) 214.12/145.80 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))) 214.12/145.80 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)))))) 214.12/145.80 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))))) 214.12/145.80 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)))))) 214.12/145.80 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))))) 214.12/145.80 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)))))) 214.12/145.80 214.12/145.80 The TRS R consists of the following rules: 214.12/145.80 214.12/145.80 new_primModNatS1(Succ(Succ(vyv293000)), Succ(vyv292000)) -> new_primModNatS01(vyv293000, vyv292000, vyv293000, vyv292000) 214.12/145.80 new_primModNatS01(vyv331, vyv332, Zero, Zero) -> new_primModNatS02(vyv331, vyv332) 214.12/145.80 new_primModNatS02(vyv331, vyv332) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv331), Succ(vyv332)), Succ(vyv332)) 214.12/145.80 new_primModNatS01(vyv331, vyv332, Succ(vyv3330), Succ(vyv3340)) -> new_primModNatS01(vyv331, vyv332, vyv3330, vyv3340) 214.12/145.80 new_primModNatS01(vyv331, vyv332, Succ(vyv3330), Zero) -> new_primModNatS02(vyv331, vyv332) 214.12/145.80 new_primModNatS01(vyv331, vyv332, Zero, Succ(vyv3340)) -> Succ(Succ(vyv331)) 214.12/145.80 new_primMinusNatS2(Succ(vyv3110), Succ(vyv3120)) -> new_primMinusNatS2(vyv3110, vyv3120) 214.12/145.80 new_primModNatS1(Succ(Zero), Succ(vyv292000)) -> Succ(Zero) 214.12/145.80 new_primModNatS1(Zero, vyv29200) -> Zero 214.12/145.80 new_primMinusNatS2(Zero, Zero) -> Zero 214.12/145.80 new_primMinusNatS2(Zero, Succ(vyv3120)) -> Zero 214.12/145.80 new_primMinusNatS2(Succ(vyv3110), Zero) -> Succ(vyv3110) 214.12/145.80 new_esEs(Pos(Succ(vyv24300))) -> new_primEqInt(Pos(Succ(vyv24300))) 214.12/145.80 new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) 214.12/145.80 new_primEqInt(Pos(Zero)) -> True 214.12/145.80 new_primEqInt(Pos(Succ(vyv242000))) -> False 214.12/145.80 new_esEs(Neg(Succ(vyv24300))) -> new_primEqInt(Neg(Succ(vyv24300))) 214.12/145.80 new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) 214.12/145.80 new_primEqInt(Neg(Zero)) -> True 214.12/145.80 new_primEqInt(Neg(Succ(vyv242000))) -> False 214.12/145.80 214.12/145.80 The set Q consists of the following terms: 214.12/145.80 214.12/145.80 new_primModNatS01(x0, x1, Succ(x2), Zero) 214.12/145.80 new_primModNatS1(Succ(Succ(x0)), Zero) 214.12/145.80 new_primEqInt(Pos(Zero)) 214.12/145.80 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 214.12/145.80 new_esEs(Pos(Succ(x0))) 214.12/145.80 new_primModNatS1(Zero, x0) 214.12/145.80 new_primModNatS02(x0, x1) 214.12/145.80 new_primMinusNatS2(Zero, Zero) 214.12/145.80 new_primModNatS1(Succ(Zero), Zero) 214.12/145.80 new_primMinusNatS2(Succ(x0), Zero) 214.12/145.80 new_esEs(Pos(Zero)) 214.12/145.80 new_primEqInt(Neg(Succ(x0))) 214.12/145.80 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 214.12/145.80 new_esEs(Neg(Succ(x0))) 214.12/145.80 new_primEqInt(Neg(Zero)) 214.12/145.80 new_primModNatS01(x0, x1, Zero, Zero) 214.12/145.80 new_primEqInt(Pos(Succ(x0))) 214.12/145.80 new_primMinusNatS2(Zero, Succ(x0)) 214.12/145.80 new_primModNatS1(Succ(Zero), Succ(x0)) 214.12/145.80 new_primMinusNatS2(Succ(x0), Succ(x1)) 214.12/145.80 new_primModNatS01(x0, x1, Zero, Succ(x2)) 214.12/145.80 new_esEs(Neg(Zero)) 214.12/145.80 214.12/145.80 We have to consider all minimal (P,Q,R)-chains. 214.12/145.80 ---------------------------------------- 214.12/145.80 214.12/145.80 (283) TransformationProof (EQUIVALENT) 214.12/145.80 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]: 214.12/145.80 214.12/145.80 (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))))) 214.12/145.80 214.12/145.80 214.12/145.80 ---------------------------------------- 214.12/145.80 214.12/145.80 (284) 214.12/145.80 Obligation: 214.12/145.80 Q DP problem: 214.12/145.80 The TRS P consists of the following rules: 214.12/145.80 214.12/145.80 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)))) 214.12/145.80 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))))) 214.12/145.80 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))) 214.12/145.80 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)))) 214.12/145.80 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))))) 214.12/145.80 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)))) 214.12/145.80 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)))))) 214.12/145.80 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))) 214.12/145.80 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)))))) 214.12/145.80 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))))) 214.12/145.80 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)))))) 214.12/145.80 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))))) 214.12/145.80 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)))))) 214.12/145.80 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)))) 214.12/145.80 214.12/145.80 The TRS R consists of the following rules: 214.12/145.80 214.12/145.80 new_primModNatS1(Succ(Succ(vyv293000)), Succ(vyv292000)) -> new_primModNatS01(vyv293000, vyv292000, vyv293000, vyv292000) 214.12/145.80 new_primModNatS01(vyv331, vyv332, Zero, Zero) -> new_primModNatS02(vyv331, vyv332) 214.12/145.80 new_primModNatS02(vyv331, vyv332) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv331), Succ(vyv332)), Succ(vyv332)) 214.12/145.80 new_primModNatS01(vyv331, vyv332, Succ(vyv3330), Succ(vyv3340)) -> new_primModNatS01(vyv331, vyv332, vyv3330, vyv3340) 214.12/145.80 new_primModNatS01(vyv331, vyv332, Succ(vyv3330), Zero) -> new_primModNatS02(vyv331, vyv332) 214.12/145.80 new_primModNatS01(vyv331, vyv332, Zero, Succ(vyv3340)) -> Succ(Succ(vyv331)) 214.12/145.80 new_primMinusNatS2(Succ(vyv3110), Succ(vyv3120)) -> new_primMinusNatS2(vyv3110, vyv3120) 214.12/145.80 new_primModNatS1(Succ(Zero), Succ(vyv292000)) -> Succ(Zero) 214.12/145.80 new_primModNatS1(Zero, vyv29200) -> Zero 214.12/145.80 new_primMinusNatS2(Zero, Zero) -> Zero 214.12/145.80 new_primMinusNatS2(Zero, Succ(vyv3120)) -> Zero 214.12/145.80 new_primMinusNatS2(Succ(vyv3110), Zero) -> Succ(vyv3110) 214.12/145.80 new_esEs(Pos(Succ(vyv24300))) -> new_primEqInt(Pos(Succ(vyv24300))) 214.12/145.80 new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) 214.12/145.80 new_primEqInt(Pos(Zero)) -> True 214.12/145.80 new_primEqInt(Pos(Succ(vyv242000))) -> False 214.12/145.80 new_esEs(Neg(Succ(vyv24300))) -> new_primEqInt(Neg(Succ(vyv24300))) 214.12/145.80 new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) 214.12/145.80 new_primEqInt(Neg(Zero)) -> True 214.12/145.80 new_primEqInt(Neg(Succ(vyv242000))) -> False 214.12/145.80 214.12/145.80 The set Q consists of the following terms: 214.12/145.80 214.12/145.80 new_primModNatS01(x0, x1, Succ(x2), Zero) 214.12/145.80 new_primModNatS1(Succ(Succ(x0)), Zero) 214.12/145.80 new_primEqInt(Pos(Zero)) 214.12/145.80 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 214.12/145.80 new_esEs(Pos(Succ(x0))) 214.12/145.80 new_primModNatS1(Zero, x0) 214.12/145.80 new_primModNatS02(x0, x1) 214.12/145.80 new_primMinusNatS2(Zero, Zero) 214.12/145.80 new_primModNatS1(Succ(Zero), Zero) 214.12/145.80 new_primMinusNatS2(Succ(x0), Zero) 214.12/145.80 new_esEs(Pos(Zero)) 214.12/145.80 new_primEqInt(Neg(Succ(x0))) 214.12/145.80 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 214.12/145.80 new_esEs(Neg(Succ(x0))) 214.12/145.80 new_primEqInt(Neg(Zero)) 214.12/145.80 new_primModNatS01(x0, x1, Zero, Zero) 214.12/145.80 new_primEqInt(Pos(Succ(x0))) 214.12/145.80 new_primMinusNatS2(Zero, Succ(x0)) 214.12/145.80 new_primModNatS1(Succ(Zero), Succ(x0)) 214.12/145.80 new_primMinusNatS2(Succ(x0), Succ(x1)) 214.12/145.80 new_primModNatS01(x0, x1, Zero, Succ(x2)) 214.12/145.80 new_esEs(Neg(Zero)) 214.12/145.80 214.12/145.80 We have to consider all minimal (P,Q,R)-chains. 214.12/145.80 ---------------------------------------- 214.12/145.80 214.12/145.80 (285) TransformationProof (EQUIVALENT) 214.12/145.80 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]: 214.12/145.80 214.12/145.80 (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))))) 214.12/145.80 214.12/145.80 214.12/145.80 ---------------------------------------- 214.12/145.80 214.12/145.80 (286) 214.12/145.80 Obligation: 214.12/145.80 Q DP problem: 214.12/145.80 The TRS P consists of the following rules: 214.12/145.80 214.12/145.80 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)))) 214.12/145.80 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))))) 214.12/145.80 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))) 214.12/145.80 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)))) 214.12/145.80 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))))) 214.12/145.80 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)))) 214.12/145.80 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)))))) 214.12/145.80 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))) 214.12/145.80 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)))))) 214.12/145.80 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))))) 214.12/145.80 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)))))) 214.12/145.80 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))))) 214.12/145.80 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)))))) 214.12/145.80 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)))) 214.12/145.80 214.12/145.80 The TRS R consists of the following rules: 214.12/145.80 214.12/145.80 new_primModNatS1(Succ(Succ(vyv293000)), Succ(vyv292000)) -> new_primModNatS01(vyv293000, vyv292000, vyv293000, vyv292000) 214.12/145.80 new_primModNatS01(vyv331, vyv332, Zero, Zero) -> new_primModNatS02(vyv331, vyv332) 214.12/145.80 new_primModNatS02(vyv331, vyv332) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv331), Succ(vyv332)), Succ(vyv332)) 214.12/145.80 new_primModNatS01(vyv331, vyv332, Succ(vyv3330), Succ(vyv3340)) -> new_primModNatS01(vyv331, vyv332, vyv3330, vyv3340) 214.12/145.80 new_primModNatS01(vyv331, vyv332, Succ(vyv3330), Zero) -> new_primModNatS02(vyv331, vyv332) 214.12/145.80 new_primModNatS01(vyv331, vyv332, Zero, Succ(vyv3340)) -> Succ(Succ(vyv331)) 214.12/145.80 new_primMinusNatS2(Succ(vyv3110), Succ(vyv3120)) -> new_primMinusNatS2(vyv3110, vyv3120) 214.12/145.80 new_primModNatS1(Succ(Zero), Succ(vyv292000)) -> Succ(Zero) 214.12/145.80 new_primModNatS1(Zero, vyv29200) -> Zero 214.12/145.80 new_primMinusNatS2(Zero, Zero) -> Zero 214.12/145.80 new_primMinusNatS2(Zero, Succ(vyv3120)) -> Zero 214.12/145.80 new_primMinusNatS2(Succ(vyv3110), Zero) -> Succ(vyv3110) 214.12/145.80 new_esEs(Pos(Succ(vyv24300))) -> new_primEqInt(Pos(Succ(vyv24300))) 214.12/145.80 new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) 214.12/145.80 new_primEqInt(Pos(Zero)) -> True 214.12/145.80 new_primEqInt(Pos(Succ(vyv242000))) -> False 214.12/145.80 new_esEs(Neg(Succ(vyv24300))) -> new_primEqInt(Neg(Succ(vyv24300))) 214.12/145.80 new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) 214.12/145.80 new_primEqInt(Neg(Zero)) -> True 214.12/145.80 new_primEqInt(Neg(Succ(vyv242000))) -> False 214.12/145.80 214.12/145.80 The set Q consists of the following terms: 214.12/145.80 214.12/145.80 new_primModNatS01(x0, x1, Succ(x2), Zero) 214.12/145.80 new_primModNatS1(Succ(Succ(x0)), Zero) 214.12/145.80 new_primEqInt(Pos(Zero)) 214.12/145.80 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 214.12/145.80 new_esEs(Pos(Succ(x0))) 214.12/145.80 new_primModNatS1(Zero, x0) 214.12/145.80 new_primModNatS02(x0, x1) 214.12/145.80 new_primMinusNatS2(Zero, Zero) 214.12/145.80 new_primModNatS1(Succ(Zero), Zero) 214.12/145.80 new_primMinusNatS2(Succ(x0), Zero) 214.12/145.80 new_esEs(Pos(Zero)) 214.12/145.80 new_primEqInt(Neg(Succ(x0))) 214.12/145.80 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 214.12/145.80 new_esEs(Neg(Succ(x0))) 214.12/145.80 new_primEqInt(Neg(Zero)) 214.12/145.80 new_primModNatS01(x0, x1, Zero, Zero) 214.12/145.80 new_primEqInt(Pos(Succ(x0))) 214.12/145.80 new_primMinusNatS2(Zero, Succ(x0)) 214.12/145.80 new_primModNatS1(Succ(Zero), Succ(x0)) 214.12/145.80 new_primMinusNatS2(Succ(x0), Succ(x1)) 214.12/145.80 new_primModNatS01(x0, x1, Zero, Succ(x2)) 214.12/145.80 new_esEs(Neg(Zero)) 214.12/145.80 214.12/145.80 We have to consider all minimal (P,Q,R)-chains. 214.12/145.80 ---------------------------------------- 214.12/145.80 214.12/145.80 (287) TransformationProof (EQUIVALENT) 214.12/145.80 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]: 214.12/145.80 214.12/145.80 (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))))) 214.12/145.80 214.12/145.80 214.12/145.80 ---------------------------------------- 214.12/145.80 214.12/145.80 (288) 214.12/145.80 Obligation: 214.12/145.80 Q DP problem: 214.12/145.80 The TRS P consists of the following rules: 214.12/145.80 214.12/145.80 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)))) 214.12/145.80 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))))) 214.12/145.80 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))) 214.12/145.80 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)))) 214.12/145.80 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))))) 214.12/145.80 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)))) 214.12/145.80 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)))))) 214.12/145.80 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))) 214.12/145.80 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)))))) 214.12/145.80 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))))) 214.12/145.80 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)))))) 214.12/145.80 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))))) 214.12/145.80 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)))))) 214.12/145.80 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)))) 214.12/145.80 214.12/145.80 The TRS R consists of the following rules: 214.12/145.80 214.12/145.80 new_primModNatS1(Succ(Succ(vyv293000)), Succ(vyv292000)) -> new_primModNatS01(vyv293000, vyv292000, vyv293000, vyv292000) 214.12/145.80 new_primModNatS01(vyv331, vyv332, Zero, Zero) -> new_primModNatS02(vyv331, vyv332) 214.12/145.80 new_primModNatS02(vyv331, vyv332) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv331), Succ(vyv332)), Succ(vyv332)) 214.12/145.80 new_primModNatS01(vyv331, vyv332, Succ(vyv3330), Succ(vyv3340)) -> new_primModNatS01(vyv331, vyv332, vyv3330, vyv3340) 214.12/145.80 new_primModNatS01(vyv331, vyv332, Succ(vyv3330), Zero) -> new_primModNatS02(vyv331, vyv332) 214.12/145.80 new_primModNatS01(vyv331, vyv332, Zero, Succ(vyv3340)) -> Succ(Succ(vyv331)) 214.12/145.80 new_primMinusNatS2(Succ(vyv3110), Succ(vyv3120)) -> new_primMinusNatS2(vyv3110, vyv3120) 214.12/145.80 new_primModNatS1(Succ(Zero), Succ(vyv292000)) -> Succ(Zero) 214.12/145.80 new_primModNatS1(Zero, vyv29200) -> Zero 214.12/145.80 new_primMinusNatS2(Zero, Zero) -> Zero 214.12/145.80 new_primMinusNatS2(Zero, Succ(vyv3120)) -> Zero 214.12/145.80 new_primMinusNatS2(Succ(vyv3110), Zero) -> Succ(vyv3110) 214.12/145.80 new_esEs(Pos(Succ(vyv24300))) -> new_primEqInt(Pos(Succ(vyv24300))) 214.12/145.80 new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) 214.12/145.80 new_primEqInt(Pos(Zero)) -> True 214.12/145.80 new_primEqInt(Pos(Succ(vyv242000))) -> False 214.12/145.80 new_esEs(Neg(Succ(vyv24300))) -> new_primEqInt(Neg(Succ(vyv24300))) 214.12/145.80 new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) 214.12/145.80 new_primEqInt(Neg(Zero)) -> True 214.12/145.80 new_primEqInt(Neg(Succ(vyv242000))) -> False 214.12/145.80 214.12/145.80 The set Q consists of the following terms: 214.12/145.80 214.12/145.80 new_primModNatS01(x0, x1, Succ(x2), Zero) 214.12/145.80 new_primModNatS1(Succ(Succ(x0)), Zero) 214.12/145.80 new_primEqInt(Pos(Zero)) 214.12/145.80 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 214.12/145.80 new_esEs(Pos(Succ(x0))) 214.12/145.80 new_primModNatS1(Zero, x0) 214.12/145.80 new_primModNatS02(x0, x1) 214.12/145.80 new_primMinusNatS2(Zero, Zero) 214.12/145.80 new_primModNatS1(Succ(Zero), Zero) 214.12/145.80 new_primMinusNatS2(Succ(x0), Zero) 214.12/145.80 new_esEs(Pos(Zero)) 214.12/145.80 new_primEqInt(Neg(Succ(x0))) 214.12/145.80 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 214.12/145.80 new_esEs(Neg(Succ(x0))) 214.12/145.80 new_primEqInt(Neg(Zero)) 214.12/145.80 new_primModNatS01(x0, x1, Zero, Zero) 214.12/145.80 new_primEqInt(Pos(Succ(x0))) 214.12/145.80 new_primMinusNatS2(Zero, Succ(x0)) 214.12/145.80 new_primModNatS1(Succ(Zero), Succ(x0)) 214.12/145.80 new_primMinusNatS2(Succ(x0), Succ(x1)) 214.12/145.80 new_primModNatS01(x0, x1, Zero, Succ(x2)) 214.12/145.80 new_esEs(Neg(Zero)) 214.12/145.80 214.12/145.80 We have to consider all minimal (P,Q,R)-chains. 214.12/145.80 ---------------------------------------- 214.12/145.80 214.12/145.80 (289) TransformationProof (EQUIVALENT) 214.12/145.80 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]: 214.12/145.80 214.12/145.80 (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))))))) 214.12/145.80 (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)))))) 214.12/145.80 214.12/145.80 214.12/145.80 ---------------------------------------- 214.12/145.80 214.12/145.80 (290) 214.12/145.80 Obligation: 214.12/145.80 Q DP problem: 214.12/145.80 The TRS P consists of the following rules: 214.12/145.80 214.12/145.80 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)))) 214.12/145.80 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))) 214.12/145.80 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)))) 214.12/145.80 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))))) 214.12/145.80 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)))) 214.12/145.80 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)))))) 214.12/145.80 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))) 214.12/145.80 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)))))) 214.12/145.80 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))))) 214.12/145.80 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)))))) 214.12/145.80 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))))) 214.12/145.80 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)))))) 214.12/145.80 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)))) 214.12/145.80 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)))))) 214.12/145.80 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))))) 214.12/145.80 214.12/145.80 The TRS R consists of the following rules: 214.12/145.80 214.12/145.80 new_primModNatS1(Succ(Succ(vyv293000)), Succ(vyv292000)) -> new_primModNatS01(vyv293000, vyv292000, vyv293000, vyv292000) 214.12/145.80 new_primModNatS01(vyv331, vyv332, Zero, Zero) -> new_primModNatS02(vyv331, vyv332) 214.12/145.80 new_primModNatS02(vyv331, vyv332) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv331), Succ(vyv332)), Succ(vyv332)) 214.12/145.80 new_primModNatS01(vyv331, vyv332, Succ(vyv3330), Succ(vyv3340)) -> new_primModNatS01(vyv331, vyv332, vyv3330, vyv3340) 214.12/145.80 new_primModNatS01(vyv331, vyv332, Succ(vyv3330), Zero) -> new_primModNatS02(vyv331, vyv332) 214.12/145.80 new_primModNatS01(vyv331, vyv332, Zero, Succ(vyv3340)) -> Succ(Succ(vyv331)) 214.12/145.80 new_primMinusNatS2(Succ(vyv3110), Succ(vyv3120)) -> new_primMinusNatS2(vyv3110, vyv3120) 214.12/145.80 new_primModNatS1(Succ(Zero), Succ(vyv292000)) -> Succ(Zero) 214.12/145.80 new_primModNatS1(Zero, vyv29200) -> Zero 214.12/145.80 new_primMinusNatS2(Zero, Zero) -> Zero 214.12/145.80 new_primMinusNatS2(Zero, Succ(vyv3120)) -> Zero 214.12/145.80 new_primMinusNatS2(Succ(vyv3110), Zero) -> Succ(vyv3110) 214.12/145.80 new_esEs(Pos(Succ(vyv24300))) -> new_primEqInt(Pos(Succ(vyv24300))) 214.12/145.80 new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) 214.12/145.80 new_primEqInt(Pos(Zero)) -> True 214.12/145.80 new_primEqInt(Pos(Succ(vyv242000))) -> False 214.12/145.80 new_esEs(Neg(Succ(vyv24300))) -> new_primEqInt(Neg(Succ(vyv24300))) 214.12/145.80 new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) 214.12/145.80 new_primEqInt(Neg(Zero)) -> True 214.12/145.80 new_primEqInt(Neg(Succ(vyv242000))) -> False 214.12/145.80 214.12/145.80 The set Q consists of the following terms: 214.12/145.80 214.12/145.80 new_primModNatS01(x0, x1, Succ(x2), Zero) 214.12/145.80 new_primModNatS1(Succ(Succ(x0)), Zero) 214.12/145.80 new_primEqInt(Pos(Zero)) 214.12/145.80 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 214.12/145.80 new_esEs(Pos(Succ(x0))) 214.12/145.80 new_primModNatS1(Zero, x0) 214.12/145.80 new_primModNatS02(x0, x1) 214.12/145.80 new_primMinusNatS2(Zero, Zero) 214.12/145.80 new_primModNatS1(Succ(Zero), Zero) 214.12/145.80 new_primMinusNatS2(Succ(x0), Zero) 214.12/145.80 new_esEs(Pos(Zero)) 214.12/145.80 new_primEqInt(Neg(Succ(x0))) 214.12/145.80 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 214.12/145.80 new_esEs(Neg(Succ(x0))) 214.12/145.80 new_primEqInt(Neg(Zero)) 214.12/145.80 new_primModNatS01(x0, x1, Zero, Zero) 214.12/145.80 new_primEqInt(Pos(Succ(x0))) 214.12/145.80 new_primMinusNatS2(Zero, Succ(x0)) 214.12/145.80 new_primModNatS1(Succ(Zero), Succ(x0)) 214.12/145.80 new_primMinusNatS2(Succ(x0), Succ(x1)) 214.12/145.80 new_primModNatS01(x0, x1, Zero, Succ(x2)) 214.12/145.80 new_esEs(Neg(Zero)) 214.12/145.80 214.12/145.80 We have to consider all minimal (P,Q,R)-chains. 214.12/145.80 ---------------------------------------- 214.12/145.80 214.12/145.80 (291) TransformationProof (EQUIVALENT) 214.12/145.80 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]: 214.12/145.80 214.12/145.80 (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)))))) 214.12/145.80 214.12/145.80 214.12/145.80 ---------------------------------------- 214.12/145.80 214.12/145.80 (292) 214.12/145.80 Obligation: 214.12/145.80 Q DP problem: 214.12/145.80 The TRS P consists of the following rules: 214.12/145.80 214.12/145.80 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)))) 214.12/145.80 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))) 214.12/145.80 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)))) 214.12/145.80 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))))) 214.12/145.80 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)))) 214.12/145.80 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)))))) 214.12/145.80 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))) 214.12/145.80 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)))))) 214.12/145.80 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))))) 214.12/145.80 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)))))) 214.12/145.80 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))))) 214.12/145.80 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)))))) 214.12/145.80 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)))) 214.12/145.80 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)))))) 214.12/145.80 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))))) 214.12/145.80 214.12/145.80 The TRS R consists of the following rules: 214.12/145.80 214.12/145.80 new_primModNatS1(Succ(Succ(vyv293000)), Succ(vyv292000)) -> new_primModNatS01(vyv293000, vyv292000, vyv293000, vyv292000) 214.12/145.80 new_primModNatS01(vyv331, vyv332, Zero, Zero) -> new_primModNatS02(vyv331, vyv332) 214.12/145.80 new_primModNatS02(vyv331, vyv332) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv331), Succ(vyv332)), Succ(vyv332)) 214.12/145.80 new_primModNatS01(vyv331, vyv332, Succ(vyv3330), Succ(vyv3340)) -> new_primModNatS01(vyv331, vyv332, vyv3330, vyv3340) 214.12/145.80 new_primModNatS01(vyv331, vyv332, Succ(vyv3330), Zero) -> new_primModNatS02(vyv331, vyv332) 214.12/145.80 new_primModNatS01(vyv331, vyv332, Zero, Succ(vyv3340)) -> Succ(Succ(vyv331)) 214.12/145.80 new_primMinusNatS2(Succ(vyv3110), Succ(vyv3120)) -> new_primMinusNatS2(vyv3110, vyv3120) 214.12/145.80 new_primModNatS1(Succ(Zero), Succ(vyv292000)) -> Succ(Zero) 214.12/145.80 new_primModNatS1(Zero, vyv29200) -> Zero 214.12/145.80 new_primMinusNatS2(Zero, Zero) -> Zero 214.12/145.80 new_primMinusNatS2(Zero, Succ(vyv3120)) -> Zero 214.12/145.80 new_primMinusNatS2(Succ(vyv3110), Zero) -> Succ(vyv3110) 214.12/145.80 new_esEs(Pos(Succ(vyv24300))) -> new_primEqInt(Pos(Succ(vyv24300))) 214.12/145.80 new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) 214.12/145.80 new_primEqInt(Pos(Zero)) -> True 214.12/145.80 new_primEqInt(Pos(Succ(vyv242000))) -> False 214.12/145.80 new_esEs(Neg(Succ(vyv24300))) -> new_primEqInt(Neg(Succ(vyv24300))) 214.12/145.80 new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) 214.12/145.80 new_primEqInt(Neg(Zero)) -> True 214.12/145.80 new_primEqInt(Neg(Succ(vyv242000))) -> False 214.12/145.80 214.12/145.80 The set Q consists of the following terms: 214.12/145.80 214.12/145.80 new_primModNatS01(x0, x1, Succ(x2), Zero) 214.12/145.80 new_primModNatS1(Succ(Succ(x0)), Zero) 214.12/145.80 new_primEqInt(Pos(Zero)) 214.12/145.80 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 214.12/145.80 new_esEs(Pos(Succ(x0))) 214.12/145.80 new_primModNatS1(Zero, x0) 214.12/145.80 new_primModNatS02(x0, x1) 214.12/145.80 new_primMinusNatS2(Zero, Zero) 214.12/145.80 new_primModNatS1(Succ(Zero), Zero) 214.12/145.80 new_primMinusNatS2(Succ(x0), Zero) 214.12/145.80 new_esEs(Pos(Zero)) 214.12/145.80 new_primEqInt(Neg(Succ(x0))) 214.12/145.80 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 214.12/145.80 new_esEs(Neg(Succ(x0))) 214.12/145.80 new_primEqInt(Neg(Zero)) 214.12/145.80 new_primModNatS01(x0, x1, Zero, Zero) 214.12/145.80 new_primEqInt(Pos(Succ(x0))) 214.12/145.80 new_primMinusNatS2(Zero, Succ(x0)) 214.12/145.80 new_primModNatS1(Succ(Zero), Succ(x0)) 214.12/145.80 new_primMinusNatS2(Succ(x0), Succ(x1)) 214.12/145.80 new_primModNatS01(x0, x1, Zero, Succ(x2)) 214.12/145.80 new_esEs(Neg(Zero)) 214.12/145.80 214.12/145.80 We have to consider all minimal (P,Q,R)-chains. 214.12/145.80 ---------------------------------------- 214.12/145.80 214.12/145.80 (293) TransformationProof (EQUIVALENT) 214.12/145.80 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]: 214.12/145.80 214.12/145.80 (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)))))) 214.12/145.80 214.12/145.80 214.12/145.80 ---------------------------------------- 214.12/145.80 214.12/145.80 (294) 214.12/145.80 Obligation: 214.12/145.80 Q DP problem: 214.12/145.80 The TRS P consists of the following rules: 214.12/145.80 214.12/145.80 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)))) 214.12/145.80 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))) 214.12/145.80 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)))) 214.12/145.80 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))))) 214.12/145.80 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)))) 214.12/145.80 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)))))) 214.12/145.80 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))) 214.12/145.80 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)))))) 214.12/145.80 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))))) 214.12/145.80 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)))))) 214.12/145.80 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))))) 214.12/145.80 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)))))) 214.12/145.80 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)))) 214.12/145.80 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)))))) 214.12/145.80 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))))) 214.12/145.80 214.12/145.80 The TRS R consists of the following rules: 214.12/145.80 214.12/145.80 new_primModNatS1(Succ(Succ(vyv293000)), Succ(vyv292000)) -> new_primModNatS01(vyv293000, vyv292000, vyv293000, vyv292000) 214.12/145.80 new_primModNatS01(vyv331, vyv332, Zero, Zero) -> new_primModNatS02(vyv331, vyv332) 214.12/145.80 new_primModNatS02(vyv331, vyv332) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv331), Succ(vyv332)), Succ(vyv332)) 214.12/145.80 new_primModNatS01(vyv331, vyv332, Succ(vyv3330), Succ(vyv3340)) -> new_primModNatS01(vyv331, vyv332, vyv3330, vyv3340) 214.12/145.80 new_primModNatS01(vyv331, vyv332, Succ(vyv3330), Zero) -> new_primModNatS02(vyv331, vyv332) 214.12/145.80 new_primModNatS01(vyv331, vyv332, Zero, Succ(vyv3340)) -> Succ(Succ(vyv331)) 214.12/145.80 new_primMinusNatS2(Succ(vyv3110), Succ(vyv3120)) -> new_primMinusNatS2(vyv3110, vyv3120) 214.12/145.80 new_primModNatS1(Succ(Zero), Succ(vyv292000)) -> Succ(Zero) 214.12/145.80 new_primModNatS1(Zero, vyv29200) -> Zero 214.12/145.80 new_primMinusNatS2(Zero, Zero) -> Zero 214.12/145.80 new_primMinusNatS2(Zero, Succ(vyv3120)) -> Zero 214.12/145.80 new_primMinusNatS2(Succ(vyv3110), Zero) -> Succ(vyv3110) 214.12/145.80 new_esEs(Pos(Succ(vyv24300))) -> new_primEqInt(Pos(Succ(vyv24300))) 214.12/145.80 new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) 214.12/145.80 new_primEqInt(Pos(Zero)) -> True 214.12/145.80 new_primEqInt(Pos(Succ(vyv242000))) -> False 214.12/145.80 new_esEs(Neg(Succ(vyv24300))) -> new_primEqInt(Neg(Succ(vyv24300))) 214.12/145.80 new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) 214.12/145.80 new_primEqInt(Neg(Zero)) -> True 214.12/145.80 new_primEqInt(Neg(Succ(vyv242000))) -> False 214.12/145.80 214.12/145.80 The set Q consists of the following terms: 214.12/145.80 214.12/145.80 new_primModNatS01(x0, x1, Succ(x2), Zero) 214.12/145.80 new_primModNatS1(Succ(Succ(x0)), Zero) 214.12/145.80 new_primEqInt(Pos(Zero)) 214.12/145.80 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 214.12/145.80 new_esEs(Pos(Succ(x0))) 214.12/145.80 new_primModNatS1(Zero, x0) 214.12/145.80 new_primModNatS02(x0, x1) 214.12/145.80 new_primMinusNatS2(Zero, Zero) 214.12/145.80 new_primModNatS1(Succ(Zero), Zero) 214.12/145.80 new_primMinusNatS2(Succ(x0), Zero) 214.12/145.80 new_esEs(Pos(Zero)) 214.12/145.80 new_primEqInt(Neg(Succ(x0))) 214.12/145.80 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 214.12/145.80 new_esEs(Neg(Succ(x0))) 214.12/145.80 new_primEqInt(Neg(Zero)) 214.12/145.80 new_primModNatS01(x0, x1, Zero, Zero) 214.12/145.80 new_primEqInt(Pos(Succ(x0))) 214.12/145.80 new_primMinusNatS2(Zero, Succ(x0)) 214.12/145.80 new_primModNatS1(Succ(Zero), Succ(x0)) 214.12/145.80 new_primMinusNatS2(Succ(x0), Succ(x1)) 214.12/145.80 new_primModNatS01(x0, x1, Zero, Succ(x2)) 214.12/145.80 new_esEs(Neg(Zero)) 214.12/145.80 214.12/145.80 We have to consider all minimal (P,Q,R)-chains. 214.12/145.80 ---------------------------------------- 214.12/145.80 214.12/145.80 (295) TransformationProof (EQUIVALENT) 214.12/145.80 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]: 214.12/145.80 214.12/145.80 (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)))) 214.12/145.80 (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)))) 214.12/145.80 (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)))) 214.12/145.80 (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))))) 214.12/145.80 214.12/145.80 214.12/145.80 ---------------------------------------- 214.12/145.80 214.12/145.80 (296) 214.12/145.80 Obligation: 214.12/145.80 Q DP problem: 214.12/145.80 The TRS P consists of the following rules: 214.12/145.80 214.12/145.80 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)))) 214.12/145.80 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)))) 214.12/145.80 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))))) 214.12/145.80 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)))) 214.12/145.80 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)))))) 214.12/145.80 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))) 214.12/145.80 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)))))) 214.12/145.80 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))))) 214.12/145.80 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)))))) 214.12/145.80 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))))) 214.12/145.80 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)))))) 214.12/145.80 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)))) 214.12/145.80 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)))))) 214.12/145.80 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))))) 214.12/145.80 new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(Zero, Zero))) 214.12/145.80 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))) 214.12/145.80 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))) 214.12/145.80 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)))) 214.12/145.80 214.12/145.80 The TRS R consists of the following rules: 214.12/145.80 214.12/145.80 new_primModNatS1(Succ(Succ(vyv293000)), Succ(vyv292000)) -> new_primModNatS01(vyv293000, vyv292000, vyv293000, vyv292000) 214.12/145.80 new_primModNatS01(vyv331, vyv332, Zero, Zero) -> new_primModNatS02(vyv331, vyv332) 214.12/145.80 new_primModNatS02(vyv331, vyv332) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv331), Succ(vyv332)), Succ(vyv332)) 214.12/145.80 new_primModNatS01(vyv331, vyv332, Succ(vyv3330), Succ(vyv3340)) -> new_primModNatS01(vyv331, vyv332, vyv3330, vyv3340) 214.12/145.80 new_primModNatS01(vyv331, vyv332, Succ(vyv3330), Zero) -> new_primModNatS02(vyv331, vyv332) 214.12/145.80 new_primModNatS01(vyv331, vyv332, Zero, Succ(vyv3340)) -> Succ(Succ(vyv331)) 214.12/145.80 new_primMinusNatS2(Succ(vyv3110), Succ(vyv3120)) -> new_primMinusNatS2(vyv3110, vyv3120) 214.12/145.80 new_primModNatS1(Succ(Zero), Succ(vyv292000)) -> Succ(Zero) 214.12/145.80 new_primModNatS1(Zero, vyv29200) -> Zero 214.12/145.80 new_primMinusNatS2(Zero, Zero) -> Zero 214.12/145.80 new_primMinusNatS2(Zero, Succ(vyv3120)) -> Zero 214.12/145.80 new_primMinusNatS2(Succ(vyv3110), Zero) -> Succ(vyv3110) 214.12/145.80 new_esEs(Pos(Succ(vyv24300))) -> new_primEqInt(Pos(Succ(vyv24300))) 214.12/145.80 new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) 214.12/145.80 new_primEqInt(Pos(Zero)) -> True 214.12/145.80 new_primEqInt(Pos(Succ(vyv242000))) -> False 214.12/145.80 new_esEs(Neg(Succ(vyv24300))) -> new_primEqInt(Neg(Succ(vyv24300))) 214.12/145.80 new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) 214.12/145.80 new_primEqInt(Neg(Zero)) -> True 214.12/145.80 new_primEqInt(Neg(Succ(vyv242000))) -> False 214.12/145.80 214.12/145.80 The set Q consists of the following terms: 214.12/145.80 214.12/145.80 new_primModNatS01(x0, x1, Succ(x2), Zero) 214.12/145.80 new_primModNatS1(Succ(Succ(x0)), Zero) 214.12/145.80 new_primEqInt(Pos(Zero)) 214.12/145.80 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 214.12/145.80 new_esEs(Pos(Succ(x0))) 214.12/145.80 new_primModNatS1(Zero, x0) 214.12/145.80 new_primModNatS02(x0, x1) 214.12/145.80 new_primMinusNatS2(Zero, Zero) 214.12/145.80 new_primModNatS1(Succ(Zero), Zero) 214.12/145.80 new_primMinusNatS2(Succ(x0), Zero) 214.12/145.80 new_esEs(Pos(Zero)) 214.12/145.80 new_primEqInt(Neg(Succ(x0))) 214.12/145.80 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 214.12/145.80 new_esEs(Neg(Succ(x0))) 214.12/145.80 new_primEqInt(Neg(Zero)) 214.12/145.80 new_primModNatS01(x0, x1, Zero, Zero) 214.12/145.80 new_primEqInt(Pos(Succ(x0))) 214.12/145.80 new_primMinusNatS2(Zero, Succ(x0)) 214.12/145.80 new_primModNatS1(Succ(Zero), Succ(x0)) 214.12/145.80 new_primMinusNatS2(Succ(x0), Succ(x1)) 214.12/145.80 new_primModNatS01(x0, x1, Zero, Succ(x2)) 214.12/145.80 new_esEs(Neg(Zero)) 214.12/145.80 214.12/145.80 We have to consider all minimal (P,Q,R)-chains. 214.12/145.80 ---------------------------------------- 214.12/145.80 214.12/145.80 (297) DependencyGraphProof (EQUIVALENT) 214.12/145.80 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 3 SCCs with 1 less node. 214.12/145.80 ---------------------------------------- 214.12/145.80 214.12/145.80 (298) 214.12/145.80 Complex Obligation (AND) 214.12/145.80 214.12/145.80 ---------------------------------------- 214.12/145.80 214.12/145.80 (299) 214.12/145.80 Obligation: 214.12/145.80 Q DP problem: 214.12/145.80 The TRS P consists of the following rules: 214.12/145.80 214.12/145.80 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)))) 214.12/145.80 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)))) 214.12/145.80 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)))) 214.12/145.80 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))))) 214.12/145.80 214.12/145.80 The TRS R consists of the following rules: 214.12/145.80 214.12/145.80 new_primModNatS1(Succ(Succ(vyv293000)), Succ(vyv292000)) -> new_primModNatS01(vyv293000, vyv292000, vyv293000, vyv292000) 214.12/145.80 new_primModNatS01(vyv331, vyv332, Zero, Zero) -> new_primModNatS02(vyv331, vyv332) 214.12/145.80 new_primModNatS02(vyv331, vyv332) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv331), Succ(vyv332)), Succ(vyv332)) 214.12/145.80 new_primModNatS01(vyv331, vyv332, Succ(vyv3330), Succ(vyv3340)) -> new_primModNatS01(vyv331, vyv332, vyv3330, vyv3340) 214.12/145.80 new_primModNatS01(vyv331, vyv332, Succ(vyv3330), Zero) -> new_primModNatS02(vyv331, vyv332) 214.12/145.80 new_primModNatS01(vyv331, vyv332, Zero, Succ(vyv3340)) -> Succ(Succ(vyv331)) 214.12/145.80 new_primMinusNatS2(Succ(vyv3110), Succ(vyv3120)) -> new_primMinusNatS2(vyv3110, vyv3120) 214.12/145.80 new_primModNatS1(Succ(Zero), Succ(vyv292000)) -> Succ(Zero) 214.12/145.80 new_primModNatS1(Zero, vyv29200) -> Zero 214.12/145.80 new_primMinusNatS2(Zero, Zero) -> Zero 214.12/145.80 new_primMinusNatS2(Zero, Succ(vyv3120)) -> Zero 214.12/145.80 new_primMinusNatS2(Succ(vyv3110), Zero) -> Succ(vyv3110) 214.12/145.80 new_esEs(Pos(Succ(vyv24300))) -> new_primEqInt(Pos(Succ(vyv24300))) 214.12/145.80 new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) 214.12/145.80 new_primEqInt(Pos(Zero)) -> True 214.12/145.80 new_primEqInt(Pos(Succ(vyv242000))) -> False 214.12/145.80 new_esEs(Neg(Succ(vyv24300))) -> new_primEqInt(Neg(Succ(vyv24300))) 214.12/145.80 new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) 214.12/145.80 new_primEqInt(Neg(Zero)) -> True 214.12/145.80 new_primEqInt(Neg(Succ(vyv242000))) -> False 214.12/145.80 214.12/145.80 The set Q consists of the following terms: 214.12/145.80 214.12/145.80 new_primModNatS01(x0, x1, Succ(x2), Zero) 214.12/145.80 new_primModNatS1(Succ(Succ(x0)), Zero) 214.12/145.80 new_primEqInt(Pos(Zero)) 214.12/145.80 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 214.12/145.80 new_esEs(Pos(Succ(x0))) 214.12/145.80 new_primModNatS1(Zero, x0) 214.12/145.80 new_primModNatS02(x0, x1) 214.12/145.80 new_primMinusNatS2(Zero, Zero) 214.12/145.80 new_primModNatS1(Succ(Zero), Zero) 214.12/145.80 new_primMinusNatS2(Succ(x0), Zero) 214.12/145.80 new_esEs(Pos(Zero)) 214.12/145.80 new_primEqInt(Neg(Succ(x0))) 214.12/145.80 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 214.12/145.80 new_esEs(Neg(Succ(x0))) 214.12/145.80 new_primEqInt(Neg(Zero)) 214.12/145.80 new_primModNatS01(x0, x1, Zero, Zero) 214.12/145.80 new_primEqInt(Pos(Succ(x0))) 214.12/145.80 new_primMinusNatS2(Zero, Succ(x0)) 214.12/145.80 new_primModNatS1(Succ(Zero), Succ(x0)) 214.12/145.80 new_primMinusNatS2(Succ(x0), Succ(x1)) 214.12/145.80 new_primModNatS01(x0, x1, Zero, Succ(x2)) 214.12/145.80 new_esEs(Neg(Zero)) 214.12/145.80 214.12/145.80 We have to consider all minimal (P,Q,R)-chains. 214.12/145.80 ---------------------------------------- 214.12/145.80 214.12/145.80 (300) UsableRulesProof (EQUIVALENT) 214.12/145.80 As all Q-normal forms are R-normal forms we are in the innermost case. Hence, by the usable rules processor [LPAR04] we can delete all non-usable rules [FROCOS05] from R. 214.12/145.80 ---------------------------------------- 214.12/145.80 214.12/145.80 (301) 214.12/145.80 Obligation: 214.12/145.80 Q DP problem: 214.12/145.80 The TRS P consists of the following rules: 214.12/145.80 214.12/145.80 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)))) 214.12/145.80 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)))) 214.12/145.80 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)))) 214.12/145.80 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))))) 214.12/145.80 214.12/145.80 The TRS R consists of the following rules: 214.12/145.80 214.12/145.80 new_primModNatS01(vyv331, vyv332, Zero, Zero) -> new_primModNatS02(vyv331, vyv332) 214.12/145.80 new_primModNatS02(vyv331, vyv332) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv331), Succ(vyv332)), Succ(vyv332)) 214.12/145.80 new_primModNatS1(Succ(Succ(vyv293000)), Succ(vyv292000)) -> new_primModNatS01(vyv293000, vyv292000, vyv293000, vyv292000) 214.12/145.80 new_primModNatS01(vyv331, vyv332, Succ(vyv3330), Succ(vyv3340)) -> new_primModNatS01(vyv331, vyv332, vyv3330, vyv3340) 214.12/145.80 new_primModNatS01(vyv331, vyv332, Succ(vyv3330), Zero) -> new_primModNatS02(vyv331, vyv332) 214.12/145.80 new_primModNatS1(Succ(Zero), Succ(vyv292000)) -> Succ(Zero) 214.12/145.80 new_esEs(Neg(Succ(vyv24300))) -> new_primEqInt(Neg(Succ(vyv24300))) 214.12/145.80 new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) 214.12/145.80 new_primEqInt(Neg(Zero)) -> True 214.12/145.80 new_primEqInt(Neg(Succ(vyv242000))) -> False 214.12/145.80 new_primMinusNatS2(Succ(vyv3110), Succ(vyv3120)) -> new_primMinusNatS2(vyv3110, vyv3120) 214.12/145.80 new_primModNatS1(Zero, vyv29200) -> Zero 214.12/145.80 new_primModNatS01(vyv331, vyv332, Zero, Succ(vyv3340)) -> Succ(Succ(vyv331)) 214.12/145.80 new_primMinusNatS2(Zero, Zero) -> Zero 214.12/145.80 new_primMinusNatS2(Zero, Succ(vyv3120)) -> Zero 214.12/145.80 new_primMinusNatS2(Succ(vyv3110), Zero) -> Succ(vyv3110) 214.12/145.80 214.12/145.80 The set Q consists of the following terms: 214.12/145.80 214.12/145.80 new_primModNatS01(x0, x1, Succ(x2), Zero) 214.12/145.80 new_primModNatS1(Succ(Succ(x0)), Zero) 214.12/145.80 new_primEqInt(Pos(Zero)) 214.12/145.80 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 214.12/145.80 new_esEs(Pos(Succ(x0))) 214.12/145.80 new_primModNatS1(Zero, x0) 214.12/145.80 new_primModNatS02(x0, x1) 214.12/145.80 new_primMinusNatS2(Zero, Zero) 214.12/145.80 new_primModNatS1(Succ(Zero), Zero) 214.12/145.80 new_primMinusNatS2(Succ(x0), Zero) 214.12/145.80 new_esEs(Pos(Zero)) 214.12/145.80 new_primEqInt(Neg(Succ(x0))) 214.12/145.80 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 214.12/145.80 new_esEs(Neg(Succ(x0))) 214.12/145.80 new_primEqInt(Neg(Zero)) 214.12/145.80 new_primModNatS01(x0, x1, Zero, Zero) 214.12/145.80 new_primEqInt(Pos(Succ(x0))) 214.12/145.80 new_primMinusNatS2(Zero, Succ(x0)) 214.12/145.80 new_primModNatS1(Succ(Zero), Succ(x0)) 214.12/145.80 new_primMinusNatS2(Succ(x0), Succ(x1)) 214.12/145.80 new_primModNatS01(x0, x1, Zero, Succ(x2)) 214.12/145.80 new_esEs(Neg(Zero)) 214.12/145.80 214.12/145.80 We have to consider all minimal (P,Q,R)-chains. 214.12/145.80 ---------------------------------------- 214.12/145.80 214.12/145.80 (302) TransformationProof (EQUIVALENT) 214.12/145.80 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]: 214.12/145.81 214.12/145.81 (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)))) 214.12/145.81 (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)))) 214.12/145.81 214.12/145.81 214.12/145.81 ---------------------------------------- 214.12/145.81 214.12/145.81 (303) 214.12/145.81 Obligation: 214.12/145.81 Q DP problem: 214.12/145.81 The TRS P consists of the following rules: 214.12/145.81 214.12/145.81 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)))) 214.12/145.81 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)))) 214.12/145.81 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))))) 214.12/145.81 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))) 214.12/145.81 new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Neg(Succ(Zero))) 214.12/145.81 214.12/145.81 The TRS R consists of the following rules: 214.12/145.81 214.12/145.81 new_primModNatS01(vyv331, vyv332, Zero, Zero) -> new_primModNatS02(vyv331, vyv332) 214.12/145.81 new_primModNatS02(vyv331, vyv332) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv331), Succ(vyv332)), Succ(vyv332)) 214.12/145.81 new_primModNatS1(Succ(Succ(vyv293000)), Succ(vyv292000)) -> new_primModNatS01(vyv293000, vyv292000, vyv293000, vyv292000) 214.12/145.81 new_primModNatS01(vyv331, vyv332, Succ(vyv3330), Succ(vyv3340)) -> new_primModNatS01(vyv331, vyv332, vyv3330, vyv3340) 214.12/145.81 new_primModNatS01(vyv331, vyv332, Succ(vyv3330), Zero) -> new_primModNatS02(vyv331, vyv332) 214.12/145.81 new_primModNatS1(Succ(Zero), Succ(vyv292000)) -> Succ(Zero) 214.12/145.81 new_esEs(Neg(Succ(vyv24300))) -> new_primEqInt(Neg(Succ(vyv24300))) 214.12/145.81 new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) 214.12/145.81 new_primEqInt(Neg(Zero)) -> True 214.12/145.81 new_primEqInt(Neg(Succ(vyv242000))) -> False 214.12/145.81 new_primMinusNatS2(Succ(vyv3110), Succ(vyv3120)) -> new_primMinusNatS2(vyv3110, vyv3120) 214.12/145.81 new_primModNatS1(Zero, vyv29200) -> Zero 214.12/145.81 new_primModNatS01(vyv331, vyv332, Zero, Succ(vyv3340)) -> Succ(Succ(vyv331)) 214.12/145.81 new_primMinusNatS2(Zero, Zero) -> Zero 214.12/145.81 new_primMinusNatS2(Zero, Succ(vyv3120)) -> Zero 214.12/145.81 new_primMinusNatS2(Succ(vyv3110), Zero) -> Succ(vyv3110) 214.12/145.81 214.12/145.81 The set Q consists of the following terms: 214.12/145.81 214.12/145.81 new_primModNatS01(x0, x1, Succ(x2), Zero) 214.12/145.81 new_primModNatS1(Succ(Succ(x0)), Zero) 214.12/145.81 new_primEqInt(Pos(Zero)) 214.12/145.81 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 214.12/145.81 new_esEs(Pos(Succ(x0))) 214.12/145.81 new_primModNatS1(Zero, x0) 214.12/145.81 new_primModNatS02(x0, x1) 214.12/145.81 new_primMinusNatS2(Zero, Zero) 214.12/145.81 new_primModNatS1(Succ(Zero), Zero) 214.12/145.81 new_primMinusNatS2(Succ(x0), Zero) 214.12/145.81 new_esEs(Pos(Zero)) 214.12/145.81 new_primEqInt(Neg(Succ(x0))) 214.12/145.81 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 214.12/145.81 new_esEs(Neg(Succ(x0))) 214.12/145.81 new_primEqInt(Neg(Zero)) 214.12/145.81 new_primModNatS01(x0, x1, Zero, Zero) 214.12/145.81 new_primEqInt(Pos(Succ(x0))) 214.12/145.81 new_primMinusNatS2(Zero, Succ(x0)) 214.12/145.81 new_primModNatS1(Succ(Zero), Succ(x0)) 214.12/145.81 new_primMinusNatS2(Succ(x0), Succ(x1)) 214.12/145.81 new_primModNatS01(x0, x1, Zero, Succ(x2)) 214.12/145.81 new_esEs(Neg(Zero)) 214.12/145.81 214.12/145.81 We have to consider all minimal (P,Q,R)-chains. 214.12/145.81 ---------------------------------------- 214.12/145.81 214.12/145.81 (304) DependencyGraphProof (EQUIVALENT) 214.12/145.81 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. 214.12/145.81 ---------------------------------------- 214.12/145.81 214.12/145.81 (305) 214.12/145.81 Obligation: 214.12/145.81 Q DP problem: 214.12/145.81 The TRS P consists of the following rules: 214.12/145.81 214.12/145.81 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)))) 214.12/145.81 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))))) 214.12/145.81 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))) 214.12/145.81 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)))) 214.12/145.81 214.12/145.81 The TRS R consists of the following rules: 214.12/145.81 214.12/145.81 new_primModNatS01(vyv331, vyv332, Zero, Zero) -> new_primModNatS02(vyv331, vyv332) 214.12/145.81 new_primModNatS02(vyv331, vyv332) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv331), Succ(vyv332)), Succ(vyv332)) 214.12/145.81 new_primModNatS1(Succ(Succ(vyv293000)), Succ(vyv292000)) -> new_primModNatS01(vyv293000, vyv292000, vyv293000, vyv292000) 214.12/145.81 new_primModNatS01(vyv331, vyv332, Succ(vyv3330), Succ(vyv3340)) -> new_primModNatS01(vyv331, vyv332, vyv3330, vyv3340) 214.12/145.81 new_primModNatS01(vyv331, vyv332, Succ(vyv3330), Zero) -> new_primModNatS02(vyv331, vyv332) 214.12/145.81 new_primModNatS1(Succ(Zero), Succ(vyv292000)) -> Succ(Zero) 214.12/145.81 new_esEs(Neg(Succ(vyv24300))) -> new_primEqInt(Neg(Succ(vyv24300))) 214.12/145.81 new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) 214.12/145.81 new_primEqInt(Neg(Zero)) -> True 214.12/145.81 new_primEqInt(Neg(Succ(vyv242000))) -> False 214.12/145.81 new_primMinusNatS2(Succ(vyv3110), Succ(vyv3120)) -> new_primMinusNatS2(vyv3110, vyv3120) 214.12/145.81 new_primModNatS1(Zero, vyv29200) -> Zero 214.12/145.81 new_primModNatS01(vyv331, vyv332, Zero, Succ(vyv3340)) -> Succ(Succ(vyv331)) 214.12/145.81 new_primMinusNatS2(Zero, Zero) -> Zero 214.12/145.81 new_primMinusNatS2(Zero, Succ(vyv3120)) -> Zero 214.12/145.81 new_primMinusNatS2(Succ(vyv3110), Zero) -> Succ(vyv3110) 214.12/145.81 214.12/145.81 The set Q consists of the following terms: 214.12/145.81 214.12/145.81 new_primModNatS01(x0, x1, Succ(x2), Zero) 214.12/145.81 new_primModNatS1(Succ(Succ(x0)), Zero) 214.12/145.81 new_primEqInt(Pos(Zero)) 214.12/145.81 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 214.12/145.81 new_esEs(Pos(Succ(x0))) 214.12/145.81 new_primModNatS1(Zero, x0) 214.12/145.81 new_primModNatS02(x0, x1) 214.12/145.81 new_primMinusNatS2(Zero, Zero) 214.12/145.81 new_primModNatS1(Succ(Zero), Zero) 214.12/145.81 new_primMinusNatS2(Succ(x0), Zero) 214.12/145.81 new_esEs(Pos(Zero)) 214.12/145.81 new_primEqInt(Neg(Succ(x0))) 214.12/145.81 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 214.12/145.81 new_esEs(Neg(Succ(x0))) 214.12/145.81 new_primEqInt(Neg(Zero)) 214.12/145.81 new_primModNatS01(x0, x1, Zero, Zero) 214.12/145.81 new_primEqInt(Pos(Succ(x0))) 214.12/145.81 new_primMinusNatS2(Zero, Succ(x0)) 214.12/145.81 new_primModNatS1(Succ(Zero), Succ(x0)) 214.12/145.81 new_primMinusNatS2(Succ(x0), Succ(x1)) 214.12/145.81 new_primModNatS01(x0, x1, Zero, Succ(x2)) 214.12/145.81 new_esEs(Neg(Zero)) 214.12/145.81 214.12/145.81 We have to consider all minimal (P,Q,R)-chains. 214.12/145.81 ---------------------------------------- 214.12/145.81 214.12/145.81 (306) TransformationProof (EQUIVALENT) 214.12/145.81 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]: 214.12/145.81 214.12/145.81 (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))))))) 214.12/145.81 (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)))))) 214.12/145.81 214.12/145.81 214.12/145.81 ---------------------------------------- 214.12/145.81 214.12/145.81 (307) 214.12/145.81 Obligation: 214.12/145.81 Q DP problem: 214.12/145.81 The TRS P consists of the following rules: 214.12/145.81 214.12/145.81 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)))) 214.12/145.81 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))) 214.12/145.81 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)))) 214.12/145.81 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)))))) 214.12/145.81 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))))) 214.12/145.81 214.12/145.81 The TRS R consists of the following rules: 214.12/145.81 214.12/145.81 new_primModNatS01(vyv331, vyv332, Zero, Zero) -> new_primModNatS02(vyv331, vyv332) 214.12/145.81 new_primModNatS02(vyv331, vyv332) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv331), Succ(vyv332)), Succ(vyv332)) 214.12/145.81 new_primModNatS1(Succ(Succ(vyv293000)), Succ(vyv292000)) -> new_primModNatS01(vyv293000, vyv292000, vyv293000, vyv292000) 214.12/145.81 new_primModNatS01(vyv331, vyv332, Succ(vyv3330), Succ(vyv3340)) -> new_primModNatS01(vyv331, vyv332, vyv3330, vyv3340) 214.12/145.81 new_primModNatS01(vyv331, vyv332, Succ(vyv3330), Zero) -> new_primModNatS02(vyv331, vyv332) 214.12/145.81 new_primModNatS1(Succ(Zero), Succ(vyv292000)) -> Succ(Zero) 214.12/145.81 new_esEs(Neg(Succ(vyv24300))) -> new_primEqInt(Neg(Succ(vyv24300))) 214.12/145.81 new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) 214.12/145.81 new_primEqInt(Neg(Zero)) -> True 214.12/145.81 new_primEqInt(Neg(Succ(vyv242000))) -> False 214.12/145.81 new_primMinusNatS2(Succ(vyv3110), Succ(vyv3120)) -> new_primMinusNatS2(vyv3110, vyv3120) 214.12/145.81 new_primModNatS1(Zero, vyv29200) -> Zero 214.12/145.81 new_primModNatS01(vyv331, vyv332, Zero, Succ(vyv3340)) -> Succ(Succ(vyv331)) 214.12/145.81 new_primMinusNatS2(Zero, Zero) -> Zero 214.12/145.81 new_primMinusNatS2(Zero, Succ(vyv3120)) -> Zero 214.12/145.81 new_primMinusNatS2(Succ(vyv3110), Zero) -> Succ(vyv3110) 214.12/145.81 214.12/145.81 The set Q consists of the following terms: 214.12/145.81 214.12/145.81 new_primModNatS01(x0, x1, Succ(x2), Zero) 214.12/145.81 new_primModNatS1(Succ(Succ(x0)), Zero) 214.12/145.81 new_primEqInt(Pos(Zero)) 214.12/145.81 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 214.12/145.81 new_esEs(Pos(Succ(x0))) 214.12/145.81 new_primModNatS1(Zero, x0) 214.12/145.81 new_primModNatS02(x0, x1) 214.12/145.81 new_primMinusNatS2(Zero, Zero) 214.12/145.81 new_primModNatS1(Succ(Zero), Zero) 214.12/145.81 new_primMinusNatS2(Succ(x0), Zero) 214.12/145.81 new_esEs(Pos(Zero)) 214.12/145.81 new_primEqInt(Neg(Succ(x0))) 214.12/145.81 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 214.12/145.81 new_esEs(Neg(Succ(x0))) 214.12/145.81 new_primEqInt(Neg(Zero)) 214.12/145.81 new_primModNatS01(x0, x1, Zero, Zero) 214.12/145.81 new_primEqInt(Pos(Succ(x0))) 214.12/145.81 new_primMinusNatS2(Zero, Succ(x0)) 214.12/145.81 new_primModNatS1(Succ(Zero), Succ(x0)) 214.12/145.81 new_primMinusNatS2(Succ(x0), Succ(x1)) 214.12/145.81 new_primModNatS01(x0, x1, Zero, Succ(x2)) 214.12/145.81 new_esEs(Neg(Zero)) 214.12/145.81 214.12/145.81 We have to consider all minimal (P,Q,R)-chains. 214.12/145.81 ---------------------------------------- 214.12/145.81 214.12/145.81 (308) DependencyGraphProof (EQUIVALENT) 214.12/145.81 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. 214.12/145.81 ---------------------------------------- 214.12/145.81 214.12/145.81 (309) 214.12/145.81 Obligation: 214.12/145.81 Q DP problem: 214.12/145.81 The TRS P consists of the following rules: 214.12/145.81 214.12/145.81 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)))))) 214.12/145.81 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))) 214.12/145.81 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)))) 214.12/145.81 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)))) 214.12/145.81 214.12/145.81 The TRS R consists of the following rules: 214.12/145.81 214.12/145.81 new_primModNatS01(vyv331, vyv332, Zero, Zero) -> new_primModNatS02(vyv331, vyv332) 214.12/145.81 new_primModNatS02(vyv331, vyv332) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv331), Succ(vyv332)), Succ(vyv332)) 214.12/145.81 new_primModNatS1(Succ(Succ(vyv293000)), Succ(vyv292000)) -> new_primModNatS01(vyv293000, vyv292000, vyv293000, vyv292000) 214.12/145.81 new_primModNatS01(vyv331, vyv332, Succ(vyv3330), Succ(vyv3340)) -> new_primModNatS01(vyv331, vyv332, vyv3330, vyv3340) 214.12/145.81 new_primModNatS01(vyv331, vyv332, Succ(vyv3330), Zero) -> new_primModNatS02(vyv331, vyv332) 214.12/145.81 new_primModNatS1(Succ(Zero), Succ(vyv292000)) -> Succ(Zero) 214.12/145.81 new_esEs(Neg(Succ(vyv24300))) -> new_primEqInt(Neg(Succ(vyv24300))) 214.12/145.81 new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) 214.12/145.81 new_primEqInt(Neg(Zero)) -> True 214.12/145.81 new_primEqInt(Neg(Succ(vyv242000))) -> False 214.12/145.81 new_primMinusNatS2(Succ(vyv3110), Succ(vyv3120)) -> new_primMinusNatS2(vyv3110, vyv3120) 214.12/145.81 new_primModNatS1(Zero, vyv29200) -> Zero 214.12/145.81 new_primModNatS01(vyv331, vyv332, Zero, Succ(vyv3340)) -> Succ(Succ(vyv331)) 214.12/145.81 new_primMinusNatS2(Zero, Zero) -> Zero 214.12/145.81 new_primMinusNatS2(Zero, Succ(vyv3120)) -> Zero 214.12/145.81 new_primMinusNatS2(Succ(vyv3110), Zero) -> Succ(vyv3110) 214.12/145.81 214.12/145.81 The set Q consists of the following terms: 214.12/145.81 214.12/145.81 new_primModNatS01(x0, x1, Succ(x2), Zero) 214.12/145.81 new_primModNatS1(Succ(Succ(x0)), Zero) 214.12/145.81 new_primEqInt(Pos(Zero)) 214.12/145.81 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 214.12/145.81 new_esEs(Pos(Succ(x0))) 214.12/145.81 new_primModNatS1(Zero, x0) 214.12/145.81 new_primModNatS02(x0, x1) 214.12/145.81 new_primMinusNatS2(Zero, Zero) 214.12/145.81 new_primModNatS1(Succ(Zero), Zero) 214.12/145.81 new_primMinusNatS2(Succ(x0), Zero) 214.12/145.81 new_esEs(Pos(Zero)) 214.12/145.81 new_primEqInt(Neg(Succ(x0))) 214.12/145.81 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 214.12/145.81 new_esEs(Neg(Succ(x0))) 214.12/145.81 new_primEqInt(Neg(Zero)) 214.12/145.81 new_primModNatS01(x0, x1, Zero, Zero) 214.12/145.81 new_primEqInt(Pos(Succ(x0))) 214.12/145.81 new_primMinusNatS2(Zero, Succ(x0)) 214.12/145.81 new_primModNatS1(Succ(Zero), Succ(x0)) 214.12/145.81 new_primMinusNatS2(Succ(x0), Succ(x1)) 214.12/145.81 new_primModNatS01(x0, x1, Zero, Succ(x2)) 214.12/145.81 new_esEs(Neg(Zero)) 214.12/145.81 214.12/145.81 We have to consider all minimal (P,Q,R)-chains. 214.12/145.81 ---------------------------------------- 214.12/145.81 214.12/145.81 (310) InductionCalculusProof (EQUIVALENT) 214.12/145.81 Note that final constraints are written in bold face. 214.12/145.81 214.12/145.81 214.12/145.81 214.12/145.81 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: 214.12/145.81 *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: 214.12/145.81 214.12/145.81 (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))))))) 214.12/145.81 214.12/145.81 214.12/145.81 214.12/145.81 We simplified constraint (1) using rules (I), (II), (IV), (VII) which results in the following new constraint: 214.12/145.81 214.12/145.81 (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))))))) 214.12/145.81 214.12/145.81 214.12/145.81 214.12/145.81 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: 214.12/145.81 214.12/145.81 (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))))))) 214.12/145.81 214.12/145.81 (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))))))) 214.12/145.81 214.12/145.81 214.12/145.81 214.12/145.81 We simplified constraint (3) using rules (I), (II), (VII) which results in the following new constraint: 214.12/145.81 214.12/145.81 (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))))))) 214.12/145.81 214.12/145.81 214.12/145.81 214.12/145.81 We simplified constraint (4) using rules (I), (II), (VII) which results in the following new constraint: 214.12/145.81 214.12/145.81 (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))))))) 214.12/145.81 214.12/145.81 214.12/145.81 214.12/145.81 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: 214.12/145.81 214.12/145.81 (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))))))) 214.12/145.81 214.12/145.81 214.12/145.81 214.12/145.81 We simplified constraint (7) using rules (I), (II), (IV) which results in the following new constraint: 214.12/145.81 214.12/145.81 (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))))))) 214.12/145.81 214.12/145.81 214.12/145.81 214.12/145.81 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: 214.12/145.81 214.12/145.81 (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))))))) 214.12/145.81 214.12/145.81 (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))))))) 214.12/145.81 214.12/145.81 (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))))))) 214.12/145.81 214.12/145.81 (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))))))) 214.12/145.81 214.12/145.81 214.12/145.81 214.12/145.81 We simplified constraint (9) using rules (I), (II), (III), (VII) which results in the following new constraint: 214.12/145.81 214.12/145.81 (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))))))) 214.12/145.81 214.12/145.81 214.12/145.81 214.12/145.81 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: 214.12/145.81 214.12/145.81 (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)))))))) 214.12/145.81 214.12/145.81 214.12/145.81 214.12/145.81 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: 214.12/145.81 214.12/145.81 (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))))))) 214.12/145.81 214.12/145.81 214.12/145.81 214.12/145.81 We simplified constraint (15) using rules (III), (IV), (VII) which results in the following new constraint: 214.12/145.81 214.12/145.81 (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))))))) 214.12/145.81 214.12/145.81 214.12/145.81 214.12/145.81 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: 214.12/145.81 214.12/145.81 (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)))))))) 214.12/145.81 214.12/145.81 214.12/145.81 214.12/145.81 We simplified constraint (17) using rules (III), (IV), (VII) which results in the following new constraint: 214.12/145.81 214.12/145.81 (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)))))))) 214.12/145.81 214.12/145.81 214.12/145.81 214.12/145.81 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: 214.12/145.81 214.12/145.81 (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))))))) 214.12/145.81 214.12/145.81 214.12/145.81 214.12/145.81 We solved constraint (19) using rules (I), (II). 214.12/145.81 214.12/145.81 214.12/145.81 214.12/145.81 214.12/145.81 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: 214.12/145.81 *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: 214.12/145.81 214.12/145.81 (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)))) 214.12/145.81 214.12/145.81 214.12/145.81 214.12/145.81 We simplified constraint (1) using rules (I), (II), (VII) which results in the following new constraint: 214.12/145.81 214.12/145.81 (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)))) 214.12/145.81 214.12/145.81 214.12/145.81 214.12/145.81 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: 214.12/145.81 214.12/145.81 (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)))) 214.12/145.81 214.12/145.81 (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)))) 214.12/145.81 214.12/145.81 (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)))) 214.12/145.81 214.12/145.81 (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)))) 214.12/145.81 214.12/145.81 214.12/145.81 214.12/145.81 We simplified constraint (3) using rules (I), (II), (III), (VII) which results in the following new constraint: 214.12/145.81 214.12/145.81 (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)))) 214.12/145.81 214.12/145.81 214.12/145.81 214.12/145.81 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: 214.12/145.81 214.12/145.81 (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)))) 214.12/145.81 214.12/145.81 214.12/145.81 214.12/145.81 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: 214.12/145.81 214.12/145.81 (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)))) 214.12/145.81 214.12/145.81 214.12/145.81 214.12/145.81 We simplified constraint (9) using rules (III), (IV), (VII) which results in the following new constraint: 214.12/145.81 214.12/145.81 (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)))) 214.12/145.81 214.12/145.81 214.12/145.81 214.12/145.81 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: 214.12/145.81 214.12/145.81 (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)))) 214.12/145.81 214.12/145.81 214.12/145.81 214.12/145.81 We simplified constraint (11) using rules (III), (IV), (VII) which results in the following new constraint: 214.12/145.81 214.12/145.81 (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)))) 214.12/145.81 214.12/145.81 214.12/145.81 214.12/145.81 214.12/145.81 214.12/145.81 214.12/145.81 214.12/145.81 214.12/145.81 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: 214.12/145.81 *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: 214.12/145.81 214.12/145.81 (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))))) 214.12/145.81 214.12/145.81 214.12/145.81 214.12/145.81 We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: 214.12/145.81 214.12/145.81 (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))))) 214.12/145.81 214.12/145.81 214.12/145.81 214.12/145.81 214.12/145.81 214.12/145.81 214.12/145.81 214.12/145.81 214.12/145.81 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: 214.12/145.81 *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: 214.12/145.81 214.12/145.81 (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))))) 214.12/145.81 214.12/145.81 214.12/145.81 214.12/145.81 We simplified constraint (1) using rules (I), (II), (III) which results in the following new constraint: 214.12/145.81 214.12/145.81 (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))))) 214.12/145.81 214.12/145.81 214.12/145.81 214.12/145.81 214.12/145.81 214.12/145.81 214.12/145.81 214.12/145.81 214.12/145.81 To summarize, we get the following constraints P__>=_ for the following pairs. 214.12/145.81 214.12/145.81 *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)))))) 214.12/145.81 214.12/145.81 *(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))))))) 214.12/145.81 214.12/145.81 214.12/145.81 *(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)))))))) 214.12/145.81 214.12/145.81 214.12/145.81 214.12/145.81 214.12/145.81 *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))) 214.12/145.81 214.12/145.81 *(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)))) 214.12/145.81 214.12/145.81 214.12/145.81 *(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)))) 214.12/145.81 214.12/145.81 214.12/145.81 214.12/145.81 214.12/145.81 *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)))) 214.12/145.81 214.12/145.81 *(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))))) 214.12/145.81 214.12/145.81 214.12/145.81 214.12/145.81 214.12/145.81 *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)))) 214.12/145.81 214.12/145.81 *(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))))) 214.12/145.81 214.12/145.81 214.12/145.81 214.12/145.81 214.12/145.81 214.12/145.81 214.12/145.81 214.12/145.81 214.12/145.81 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. 214.12/145.81 ---------------------------------------- 214.12/145.81 214.12/145.81 (311) 214.12/145.81 Obligation: 214.12/145.81 Q DP problem: 214.12/145.81 The TRS P consists of the following rules: 214.12/145.81 214.12/145.81 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)))))) 214.12/145.81 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))) 214.12/145.81 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)))) 214.12/145.81 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)))) 214.12/145.81 214.12/145.81 The TRS R consists of the following rules: 214.12/145.81 214.12/145.81 new_primModNatS01(vyv331, vyv332, Zero, Zero) -> new_primModNatS02(vyv331, vyv332) 214.12/145.81 new_primModNatS02(vyv331, vyv332) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv331), Succ(vyv332)), Succ(vyv332)) 214.12/145.81 new_primModNatS1(Succ(Succ(vyv293000)), Succ(vyv292000)) -> new_primModNatS01(vyv293000, vyv292000, vyv293000, vyv292000) 214.12/145.81 new_primModNatS01(vyv331, vyv332, Succ(vyv3330), Succ(vyv3340)) -> new_primModNatS01(vyv331, vyv332, vyv3330, vyv3340) 214.12/145.81 new_primModNatS01(vyv331, vyv332, Succ(vyv3330), Zero) -> new_primModNatS02(vyv331, vyv332) 214.12/145.81 new_primModNatS1(Succ(Zero), Succ(vyv292000)) -> Succ(Zero) 214.12/145.81 new_esEs(Neg(Succ(vyv24300))) -> new_primEqInt(Neg(Succ(vyv24300))) 214.12/145.81 new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) 214.12/145.81 new_primEqInt(Neg(Zero)) -> True 214.12/145.81 new_primEqInt(Neg(Succ(vyv242000))) -> False 214.12/145.81 new_primMinusNatS2(Succ(vyv3110), Succ(vyv3120)) -> new_primMinusNatS2(vyv3110, vyv3120) 214.12/145.81 new_primModNatS1(Zero, vyv29200) -> Zero 214.12/145.81 new_primModNatS01(vyv331, vyv332, Zero, Succ(vyv3340)) -> Succ(Succ(vyv331)) 214.12/145.81 new_primMinusNatS2(Zero, Zero) -> Zero 214.12/145.81 new_primMinusNatS2(Zero, Succ(vyv3120)) -> Zero 214.12/145.81 new_primMinusNatS2(Succ(vyv3110), Zero) -> Succ(vyv3110) 214.12/145.81 214.12/145.81 The set Q consists of the following terms: 214.12/145.81 214.12/145.81 new_primModNatS01(x0, x1, Succ(x2), Zero) 214.12/145.81 new_primModNatS1(Succ(Succ(x0)), Zero) 214.12/145.81 new_primEqInt(Pos(Zero)) 214.12/145.81 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 214.12/145.81 new_esEs(Pos(Succ(x0))) 214.12/145.81 new_primModNatS1(Zero, x0) 214.12/145.81 new_primModNatS02(x0, x1) 214.12/145.81 new_primMinusNatS2(Zero, Zero) 214.12/145.81 new_primModNatS1(Succ(Zero), Zero) 214.12/145.81 new_primMinusNatS2(Succ(x0), Zero) 214.12/145.81 new_esEs(Pos(Zero)) 214.12/145.81 new_primEqInt(Neg(Succ(x0))) 214.12/145.81 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 214.12/145.81 new_esEs(Neg(Succ(x0))) 214.12/145.81 new_primEqInt(Neg(Zero)) 214.12/145.81 new_primModNatS01(x0, x1, Zero, Zero) 214.12/145.81 new_primEqInt(Pos(Succ(x0))) 214.12/145.81 new_primMinusNatS2(Zero, Succ(x0)) 214.12/145.81 new_primModNatS1(Succ(Zero), Succ(x0)) 214.12/145.81 new_primMinusNatS2(Succ(x0), Succ(x1)) 214.12/145.81 new_primModNatS01(x0, x1, Zero, Succ(x2)) 214.12/145.81 new_esEs(Neg(Zero)) 214.12/145.81 214.12/145.81 We have to consider all minimal (P,Q,R)-chains. 214.12/145.81 ---------------------------------------- 214.12/145.81 214.12/145.81 (312) 214.12/145.81 Obligation: 214.12/145.81 Q DP problem: 214.12/145.81 The TRS P consists of the following rules: 214.12/145.81 214.12/145.81 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)))))) 214.12/145.81 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))) 214.12/145.81 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)))) 214.12/145.81 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)))) 214.12/145.81 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))))) 214.12/145.81 214.12/145.81 The TRS R consists of the following rules: 214.12/145.81 214.12/145.81 new_primModNatS1(Succ(Succ(vyv293000)), Succ(vyv292000)) -> new_primModNatS01(vyv293000, vyv292000, vyv293000, vyv292000) 214.12/145.81 new_primModNatS01(vyv331, vyv332, Zero, Zero) -> new_primModNatS02(vyv331, vyv332) 214.12/145.81 new_primModNatS02(vyv331, vyv332) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv331), Succ(vyv332)), Succ(vyv332)) 214.12/145.81 new_primModNatS01(vyv331, vyv332, Succ(vyv3330), Succ(vyv3340)) -> new_primModNatS01(vyv331, vyv332, vyv3330, vyv3340) 214.12/145.81 new_primModNatS01(vyv331, vyv332, Succ(vyv3330), Zero) -> new_primModNatS02(vyv331, vyv332) 214.12/145.81 new_primModNatS01(vyv331, vyv332, Zero, Succ(vyv3340)) -> Succ(Succ(vyv331)) 214.12/145.81 new_primMinusNatS2(Succ(vyv3110), Succ(vyv3120)) -> new_primMinusNatS2(vyv3110, vyv3120) 214.12/145.81 new_primModNatS1(Succ(Zero), Succ(vyv292000)) -> Succ(Zero) 214.12/145.81 new_primModNatS1(Zero, vyv29200) -> Zero 214.12/145.81 new_primMinusNatS2(Zero, Zero) -> Zero 214.12/145.81 new_primMinusNatS2(Zero, Succ(vyv3120)) -> Zero 214.12/145.81 new_primMinusNatS2(Succ(vyv3110), Zero) -> Succ(vyv3110) 214.12/145.81 new_esEs(Pos(Succ(vyv24300))) -> new_primEqInt(Pos(Succ(vyv24300))) 214.12/145.81 new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) 214.12/145.81 new_primEqInt(Pos(Zero)) -> True 214.12/145.81 new_primEqInt(Pos(Succ(vyv242000))) -> False 214.12/145.81 new_esEs(Neg(Succ(vyv24300))) -> new_primEqInt(Neg(Succ(vyv24300))) 214.12/145.81 new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) 214.12/145.81 new_primEqInt(Neg(Zero)) -> True 214.12/145.81 new_primEqInt(Neg(Succ(vyv242000))) -> False 214.12/145.81 214.12/145.81 The set Q consists of the following terms: 214.12/145.81 214.12/145.81 new_primModNatS01(x0, x1, Succ(x2), Zero) 214.12/145.81 new_primModNatS1(Succ(Succ(x0)), Zero) 214.12/145.81 new_primEqInt(Pos(Zero)) 214.12/145.81 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 214.12/145.81 new_esEs(Pos(Succ(x0))) 214.12/145.81 new_primModNatS1(Zero, x0) 214.12/145.81 new_primModNatS02(x0, x1) 214.12/145.81 new_primMinusNatS2(Zero, Zero) 214.12/145.81 new_primModNatS1(Succ(Zero), Zero) 214.12/145.81 new_primMinusNatS2(Succ(x0), Zero) 214.12/145.81 new_esEs(Pos(Zero)) 214.12/145.81 new_primEqInt(Neg(Succ(x0))) 214.12/145.81 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 214.12/145.81 new_esEs(Neg(Succ(x0))) 214.12/145.81 new_primEqInt(Neg(Zero)) 214.12/145.81 new_primModNatS01(x0, x1, Zero, Zero) 214.12/145.81 new_primEqInt(Pos(Succ(x0))) 214.12/145.81 new_primMinusNatS2(Zero, Succ(x0)) 214.12/145.81 new_primModNatS1(Succ(Zero), Succ(x0)) 214.12/145.81 new_primMinusNatS2(Succ(x0), Succ(x1)) 214.12/145.81 new_primModNatS01(x0, x1, Zero, Succ(x2)) 214.12/145.81 new_esEs(Neg(Zero)) 214.12/145.81 214.12/145.81 We have to consider all minimal (P,Q,R)-chains. 214.12/145.81 ---------------------------------------- 214.12/145.81 214.12/145.81 (313) UsableRulesProof (EQUIVALENT) 214.12/145.81 As all Q-normal forms are R-normal forms we are in the innermost case. Hence, by the usable rules processor [LPAR04] we can delete all non-usable rules [FROCOS05] from R. 214.12/145.81 ---------------------------------------- 214.12/145.81 214.12/145.81 (314) 214.12/145.81 Obligation: 214.12/145.81 Q DP problem: 214.12/145.81 The TRS P consists of the following rules: 214.12/145.81 214.12/145.81 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)))))) 214.12/145.81 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))) 214.12/145.81 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)))) 214.12/145.81 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)))) 214.12/145.81 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))))) 214.12/145.81 214.12/145.81 The TRS R consists of the following rules: 214.12/145.81 214.12/145.81 new_primModNatS01(vyv331, vyv332, Zero, Zero) -> new_primModNatS02(vyv331, vyv332) 214.12/145.81 new_primModNatS02(vyv331, vyv332) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv331), Succ(vyv332)), Succ(vyv332)) 214.12/145.81 new_primModNatS1(Succ(Succ(vyv293000)), Succ(vyv292000)) -> new_primModNatS01(vyv293000, vyv292000, vyv293000, vyv292000) 214.12/145.81 new_primModNatS01(vyv331, vyv332, Succ(vyv3330), Succ(vyv3340)) -> new_primModNatS01(vyv331, vyv332, vyv3330, vyv3340) 214.12/145.81 new_primModNatS01(vyv331, vyv332, Succ(vyv3330), Zero) -> new_primModNatS02(vyv331, vyv332) 214.12/145.81 new_primMinusNatS2(Succ(vyv3110), Succ(vyv3120)) -> new_primMinusNatS2(vyv3110, vyv3120) 214.12/145.81 new_primModNatS1(Succ(Zero), Succ(vyv292000)) -> Succ(Zero) 214.12/145.81 new_primModNatS1(Zero, vyv29200) -> Zero 214.12/145.81 new_primModNatS01(vyv331, vyv332, Zero, Succ(vyv3340)) -> Succ(Succ(vyv331)) 214.12/145.81 new_primMinusNatS2(Zero, Zero) -> Zero 214.12/145.81 new_primMinusNatS2(Zero, Succ(vyv3120)) -> Zero 214.12/145.81 new_primMinusNatS2(Succ(vyv3110), Zero) -> Succ(vyv3110) 214.12/145.81 new_esEs(Pos(Succ(vyv24300))) -> new_primEqInt(Pos(Succ(vyv24300))) 214.12/145.81 new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) 214.12/145.81 new_primEqInt(Pos(Zero)) -> True 214.12/145.81 new_primEqInt(Pos(Succ(vyv242000))) -> False 214.12/145.81 214.12/145.81 The set Q consists of the following terms: 214.12/145.81 214.12/145.81 new_primModNatS01(x0, x1, Succ(x2), Zero) 214.12/145.81 new_primModNatS1(Succ(Succ(x0)), Zero) 214.12/145.81 new_primEqInt(Pos(Zero)) 214.12/145.81 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 214.12/145.81 new_esEs(Pos(Succ(x0))) 214.12/145.81 new_primModNatS1(Zero, x0) 214.12/145.81 new_primModNatS02(x0, x1) 214.12/145.81 new_primMinusNatS2(Zero, Zero) 214.12/145.81 new_primModNatS1(Succ(Zero), Zero) 214.12/145.81 new_primMinusNatS2(Succ(x0), Zero) 214.12/145.81 new_esEs(Pos(Zero)) 214.12/145.81 new_primEqInt(Neg(Succ(x0))) 214.12/145.81 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 214.12/145.81 new_esEs(Neg(Succ(x0))) 214.12/145.81 new_primEqInt(Neg(Zero)) 214.12/145.81 new_primModNatS01(x0, x1, Zero, Zero) 214.12/145.81 new_primEqInt(Pos(Succ(x0))) 214.12/145.81 new_primMinusNatS2(Zero, Succ(x0)) 214.12/145.81 new_primModNatS1(Succ(Zero), Succ(x0)) 214.12/145.81 new_primMinusNatS2(Succ(x0), Succ(x1)) 214.12/145.81 new_primModNatS01(x0, x1, Zero, Succ(x2)) 214.12/145.81 new_esEs(Neg(Zero)) 214.12/145.81 214.12/145.81 We have to consider all minimal (P,Q,R)-chains. 214.12/145.81 ---------------------------------------- 214.12/145.81 214.12/145.81 (315) TransformationProof (EQUIVALENT) 214.12/145.81 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]: 214.12/145.81 214.12/145.81 (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))))) 214.12/145.81 214.12/145.81 214.12/145.81 ---------------------------------------- 214.12/145.81 214.12/145.81 (316) 214.12/145.81 Obligation: 214.12/145.81 Q DP problem: 214.12/145.81 The TRS P consists of the following rules: 214.12/145.81 214.12/145.81 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)))))) 214.12/145.81 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)))) 214.12/145.81 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)))) 214.12/145.81 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))))) 214.12/145.81 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)))) 214.12/145.81 214.12/145.81 The TRS R consists of the following rules: 214.12/145.81 214.12/145.81 new_primModNatS01(vyv331, vyv332, Zero, Zero) -> new_primModNatS02(vyv331, vyv332) 214.12/145.81 new_primModNatS02(vyv331, vyv332) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv331), Succ(vyv332)), Succ(vyv332)) 214.12/145.81 new_primModNatS1(Succ(Succ(vyv293000)), Succ(vyv292000)) -> new_primModNatS01(vyv293000, vyv292000, vyv293000, vyv292000) 214.12/145.81 new_primModNatS01(vyv331, vyv332, Succ(vyv3330), Succ(vyv3340)) -> new_primModNatS01(vyv331, vyv332, vyv3330, vyv3340) 214.12/145.81 new_primModNatS01(vyv331, vyv332, Succ(vyv3330), Zero) -> new_primModNatS02(vyv331, vyv332) 214.12/145.81 new_primMinusNatS2(Succ(vyv3110), Succ(vyv3120)) -> new_primMinusNatS2(vyv3110, vyv3120) 214.12/145.81 new_primModNatS1(Succ(Zero), Succ(vyv292000)) -> Succ(Zero) 214.12/145.81 new_primModNatS1(Zero, vyv29200) -> Zero 214.12/145.81 new_primModNatS01(vyv331, vyv332, Zero, Succ(vyv3340)) -> Succ(Succ(vyv331)) 214.12/145.81 new_primMinusNatS2(Zero, Zero) -> Zero 214.12/145.81 new_primMinusNatS2(Zero, Succ(vyv3120)) -> Zero 214.12/145.81 new_primMinusNatS2(Succ(vyv3110), Zero) -> Succ(vyv3110) 214.12/145.81 new_esEs(Pos(Succ(vyv24300))) -> new_primEqInt(Pos(Succ(vyv24300))) 214.12/145.81 new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) 214.12/145.81 new_primEqInt(Pos(Zero)) -> True 214.12/145.81 new_primEqInt(Pos(Succ(vyv242000))) -> False 214.12/145.81 214.12/145.81 The set Q consists of the following terms: 214.12/145.81 214.12/145.81 new_primModNatS01(x0, x1, Succ(x2), Zero) 214.12/145.81 new_primModNatS1(Succ(Succ(x0)), Zero) 214.12/145.81 new_primEqInt(Pos(Zero)) 214.12/145.81 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 214.12/145.81 new_esEs(Pos(Succ(x0))) 214.12/145.81 new_primModNatS1(Zero, x0) 214.12/145.81 new_primModNatS02(x0, x1) 214.12/145.81 new_primMinusNatS2(Zero, Zero) 214.12/145.81 new_primModNatS1(Succ(Zero), Zero) 214.12/145.81 new_primMinusNatS2(Succ(x0), Zero) 214.12/145.81 new_esEs(Pos(Zero)) 214.12/145.81 new_primEqInt(Neg(Succ(x0))) 214.12/145.81 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 214.12/145.81 new_esEs(Neg(Succ(x0))) 214.12/145.81 new_primEqInt(Neg(Zero)) 214.12/145.81 new_primModNatS01(x0, x1, Zero, Zero) 214.12/145.81 new_primEqInt(Pos(Succ(x0))) 214.12/145.81 new_primMinusNatS2(Zero, Succ(x0)) 214.12/145.81 new_primModNatS1(Succ(Zero), Succ(x0)) 214.12/145.81 new_primMinusNatS2(Succ(x0), Succ(x1)) 214.12/145.81 new_primModNatS01(x0, x1, Zero, Succ(x2)) 214.12/145.81 new_esEs(Neg(Zero)) 214.12/145.81 214.12/145.81 We have to consider all minimal (P,Q,R)-chains. 214.12/145.81 ---------------------------------------- 214.12/145.81 214.12/145.81 (317) TransformationProof (EQUIVALENT) 214.12/145.81 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]: 214.12/145.81 214.12/145.81 (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))))) 214.12/145.81 214.12/145.81 214.12/145.81 ---------------------------------------- 214.12/145.81 214.12/145.81 (318) 214.12/145.81 Obligation: 214.12/145.81 Q DP problem: 214.12/145.81 The TRS P consists of the following rules: 214.12/145.81 214.12/145.81 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)))))) 214.12/145.81 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)))) 214.12/145.81 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)))) 214.12/145.81 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))))) 214.12/145.81 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)))) 214.12/145.81 214.12/145.81 The TRS R consists of the following rules: 214.12/145.81 214.12/145.81 new_primModNatS01(vyv331, vyv332, Zero, Zero) -> new_primModNatS02(vyv331, vyv332) 214.12/145.81 new_primModNatS02(vyv331, vyv332) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv331), Succ(vyv332)), Succ(vyv332)) 214.12/145.81 new_primModNatS1(Succ(Succ(vyv293000)), Succ(vyv292000)) -> new_primModNatS01(vyv293000, vyv292000, vyv293000, vyv292000) 214.12/145.81 new_primModNatS01(vyv331, vyv332, Succ(vyv3330), Succ(vyv3340)) -> new_primModNatS01(vyv331, vyv332, vyv3330, vyv3340) 214.12/145.81 new_primModNatS01(vyv331, vyv332, Succ(vyv3330), Zero) -> new_primModNatS02(vyv331, vyv332) 214.12/145.81 new_primMinusNatS2(Succ(vyv3110), Succ(vyv3120)) -> new_primMinusNatS2(vyv3110, vyv3120) 214.12/145.81 new_primModNatS1(Succ(Zero), Succ(vyv292000)) -> Succ(Zero) 214.12/145.81 new_primModNatS1(Zero, vyv29200) -> Zero 214.12/145.81 new_primModNatS01(vyv331, vyv332, Zero, Succ(vyv3340)) -> Succ(Succ(vyv331)) 214.12/145.81 new_primMinusNatS2(Zero, Zero) -> Zero 214.12/145.81 new_primMinusNatS2(Zero, Succ(vyv3120)) -> Zero 214.12/145.81 new_primMinusNatS2(Succ(vyv3110), Zero) -> Succ(vyv3110) 214.12/145.81 new_esEs(Pos(Succ(vyv24300))) -> new_primEqInt(Pos(Succ(vyv24300))) 214.12/145.81 new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) 214.12/145.81 new_primEqInt(Pos(Zero)) -> True 214.12/145.81 new_primEqInt(Pos(Succ(vyv242000))) -> False 214.12/145.81 214.12/145.81 The set Q consists of the following terms: 214.12/145.81 214.12/145.81 new_primModNatS01(x0, x1, Succ(x2), Zero) 214.12/145.81 new_primModNatS1(Succ(Succ(x0)), Zero) 214.12/145.81 new_primEqInt(Pos(Zero)) 214.12/145.81 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 214.12/145.81 new_esEs(Pos(Succ(x0))) 214.12/145.81 new_primModNatS1(Zero, x0) 214.12/145.81 new_primModNatS02(x0, x1) 214.12/145.81 new_primMinusNatS2(Zero, Zero) 214.12/145.81 new_primModNatS1(Succ(Zero), Zero) 214.12/145.81 new_primMinusNatS2(Succ(x0), Zero) 214.12/145.81 new_esEs(Pos(Zero)) 214.12/145.81 new_primEqInt(Neg(Succ(x0))) 214.12/145.81 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 214.12/145.81 new_esEs(Neg(Succ(x0))) 214.12/145.81 new_primEqInt(Neg(Zero)) 214.12/145.81 new_primModNatS01(x0, x1, Zero, Zero) 214.12/145.81 new_primEqInt(Pos(Succ(x0))) 214.12/145.81 new_primMinusNatS2(Zero, Succ(x0)) 214.12/145.81 new_primModNatS1(Succ(Zero), Succ(x0)) 214.12/145.81 new_primMinusNatS2(Succ(x0), Succ(x1)) 214.12/145.81 new_primModNatS01(x0, x1, Zero, Succ(x2)) 214.12/145.81 new_esEs(Neg(Zero)) 214.12/145.81 214.12/145.81 We have to consider all minimal (P,Q,R)-chains. 214.12/145.81 ---------------------------------------- 214.12/145.81 214.12/145.81 (319) TransformationProof (EQUIVALENT) 214.12/145.81 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]: 214.12/145.81 214.12/145.81 (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))))) 214.12/145.81 214.12/145.81 214.12/145.81 ---------------------------------------- 214.12/145.81 214.12/145.81 (320) 214.12/145.81 Obligation: 214.12/145.81 Q DP problem: 214.12/145.81 The TRS P consists of the following rules: 214.12/145.81 214.12/145.81 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)))))) 214.12/145.81 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)))) 214.12/145.81 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)))) 214.12/145.81 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))))) 214.12/145.81 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)))) 214.12/145.81 214.12/145.81 The TRS R consists of the following rules: 214.12/145.81 214.12/145.81 new_primModNatS01(vyv331, vyv332, Zero, Zero) -> new_primModNatS02(vyv331, vyv332) 214.12/145.81 new_primModNatS02(vyv331, vyv332) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv331), Succ(vyv332)), Succ(vyv332)) 214.12/145.81 new_primModNatS1(Succ(Succ(vyv293000)), Succ(vyv292000)) -> new_primModNatS01(vyv293000, vyv292000, vyv293000, vyv292000) 214.12/145.81 new_primModNatS01(vyv331, vyv332, Succ(vyv3330), Succ(vyv3340)) -> new_primModNatS01(vyv331, vyv332, vyv3330, vyv3340) 214.12/145.81 new_primModNatS01(vyv331, vyv332, Succ(vyv3330), Zero) -> new_primModNatS02(vyv331, vyv332) 214.12/145.81 new_primMinusNatS2(Succ(vyv3110), Succ(vyv3120)) -> new_primMinusNatS2(vyv3110, vyv3120) 214.12/145.81 new_primModNatS1(Succ(Zero), Succ(vyv292000)) -> Succ(Zero) 214.12/145.81 new_primModNatS1(Zero, vyv29200) -> Zero 214.12/145.81 new_primModNatS01(vyv331, vyv332, Zero, Succ(vyv3340)) -> Succ(Succ(vyv331)) 214.12/145.81 new_primMinusNatS2(Zero, Zero) -> Zero 214.12/145.81 new_primMinusNatS2(Zero, Succ(vyv3120)) -> Zero 214.12/145.81 new_primMinusNatS2(Succ(vyv3110), Zero) -> Succ(vyv3110) 214.12/145.81 new_esEs(Pos(Succ(vyv24300))) -> new_primEqInt(Pos(Succ(vyv24300))) 214.12/145.81 new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) 214.12/145.81 new_primEqInt(Pos(Zero)) -> True 214.12/145.81 new_primEqInt(Pos(Succ(vyv242000))) -> False 214.12/145.81 214.12/145.81 The set Q consists of the following terms: 214.12/145.81 214.12/145.81 new_primModNatS01(x0, x1, Succ(x2), Zero) 214.12/145.81 new_primModNatS1(Succ(Succ(x0)), Zero) 214.12/145.81 new_primEqInt(Pos(Zero)) 214.12/145.81 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 214.12/145.81 new_esEs(Pos(Succ(x0))) 214.12/145.81 new_primModNatS1(Zero, x0) 214.12/145.81 new_primModNatS02(x0, x1) 214.12/145.81 new_primMinusNatS2(Zero, Zero) 214.12/145.81 new_primModNatS1(Succ(Zero), Zero) 214.12/145.81 new_primMinusNatS2(Succ(x0), Zero) 214.12/145.81 new_esEs(Pos(Zero)) 214.12/145.81 new_primEqInt(Neg(Succ(x0))) 214.12/145.81 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 214.12/145.81 new_esEs(Neg(Succ(x0))) 214.12/145.81 new_primEqInt(Neg(Zero)) 214.12/145.81 new_primModNatS01(x0, x1, Zero, Zero) 214.12/145.81 new_primEqInt(Pos(Succ(x0))) 214.12/145.81 new_primMinusNatS2(Zero, Succ(x0)) 214.12/145.81 new_primModNatS1(Succ(Zero), Succ(x0)) 214.12/145.81 new_primMinusNatS2(Succ(x0), Succ(x1)) 214.12/145.81 new_primModNatS01(x0, x1, Zero, Succ(x2)) 214.12/145.81 new_esEs(Neg(Zero)) 214.12/145.81 214.12/145.81 We have to consider all minimal (P,Q,R)-chains. 214.12/145.81 ---------------------------------------- 214.12/145.81 214.12/145.81 (321) TransformationProof (EQUIVALENT) 214.12/145.81 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]: 214.12/145.81 214.12/145.81 (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)))) 214.12/145.81 (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)))) 214.12/145.81 214.12/145.81 214.12/145.81 ---------------------------------------- 214.12/145.81 214.12/145.81 (322) 214.12/145.81 Obligation: 214.12/145.81 Q DP problem: 214.12/145.81 The TRS P consists of the following rules: 214.12/145.81 214.12/145.81 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)))))) 214.12/145.81 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)))) 214.12/145.81 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)))) 214.12/145.81 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))))) 214.12/145.81 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))) 214.12/145.81 new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) 214.12/145.81 214.12/145.81 The TRS R consists of the following rules: 214.12/145.81 214.12/145.81 new_primModNatS01(vyv331, vyv332, Zero, Zero) -> new_primModNatS02(vyv331, vyv332) 214.12/145.81 new_primModNatS02(vyv331, vyv332) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv331), Succ(vyv332)), Succ(vyv332)) 214.12/145.81 new_primModNatS1(Succ(Succ(vyv293000)), Succ(vyv292000)) -> new_primModNatS01(vyv293000, vyv292000, vyv293000, vyv292000) 214.12/145.81 new_primModNatS01(vyv331, vyv332, Succ(vyv3330), Succ(vyv3340)) -> new_primModNatS01(vyv331, vyv332, vyv3330, vyv3340) 214.12/145.81 new_primModNatS01(vyv331, vyv332, Succ(vyv3330), Zero) -> new_primModNatS02(vyv331, vyv332) 214.12/145.81 new_primMinusNatS2(Succ(vyv3110), Succ(vyv3120)) -> new_primMinusNatS2(vyv3110, vyv3120) 214.12/145.81 new_primModNatS1(Succ(Zero), Succ(vyv292000)) -> Succ(Zero) 214.12/145.81 new_primModNatS1(Zero, vyv29200) -> Zero 214.12/145.81 new_primModNatS01(vyv331, vyv332, Zero, Succ(vyv3340)) -> Succ(Succ(vyv331)) 214.12/145.81 new_primMinusNatS2(Zero, Zero) -> Zero 214.12/145.81 new_primMinusNatS2(Zero, Succ(vyv3120)) -> Zero 214.12/145.81 new_primMinusNatS2(Succ(vyv3110), Zero) -> Succ(vyv3110) 214.12/145.81 new_esEs(Pos(Succ(vyv24300))) -> new_primEqInt(Pos(Succ(vyv24300))) 214.12/145.81 new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) 214.12/145.81 new_primEqInt(Pos(Zero)) -> True 214.12/145.81 new_primEqInt(Pos(Succ(vyv242000))) -> False 214.12/145.81 214.12/145.81 The set Q consists of the following terms: 214.12/145.81 214.12/145.81 new_primModNatS01(x0, x1, Succ(x2), Zero) 214.12/145.81 new_primModNatS1(Succ(Succ(x0)), Zero) 214.12/145.81 new_primEqInt(Pos(Zero)) 214.12/145.81 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 214.12/145.81 new_esEs(Pos(Succ(x0))) 214.12/145.81 new_primModNatS1(Zero, x0) 214.12/145.81 new_primModNatS02(x0, x1) 214.12/145.81 new_primMinusNatS2(Zero, Zero) 214.12/145.81 new_primModNatS1(Succ(Zero), Zero) 214.12/145.81 new_primMinusNatS2(Succ(x0), Zero) 214.12/145.81 new_esEs(Pos(Zero)) 214.12/145.81 new_primEqInt(Neg(Succ(x0))) 214.12/145.81 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 214.12/145.81 new_esEs(Neg(Succ(x0))) 214.12/145.81 new_primEqInt(Neg(Zero)) 214.12/145.81 new_primModNatS01(x0, x1, Zero, Zero) 214.12/145.81 new_primEqInt(Pos(Succ(x0))) 214.12/145.81 new_primMinusNatS2(Zero, Succ(x0)) 214.12/145.81 new_primModNatS1(Succ(Zero), Succ(x0)) 214.12/145.81 new_primMinusNatS2(Succ(x0), Succ(x1)) 214.12/145.81 new_primModNatS01(x0, x1, Zero, Succ(x2)) 214.12/145.81 new_esEs(Neg(Zero)) 214.12/145.81 214.12/145.81 We have to consider all minimal (P,Q,R)-chains. 214.12/145.81 ---------------------------------------- 214.12/145.81 214.12/145.81 (323) DependencyGraphProof (EQUIVALENT) 214.12/145.81 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 2 less nodes. 214.12/145.81 ---------------------------------------- 214.12/145.81 214.12/145.81 (324) 214.12/145.81 Obligation: 214.12/145.81 Q DP problem: 214.12/145.81 The TRS P consists of the following rules: 214.12/145.81 214.12/145.81 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))) 214.12/145.81 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)))) 214.12/145.81 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)))) 214.12/145.81 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)))))) 214.12/145.81 214.12/145.81 The TRS R consists of the following rules: 214.12/145.81 214.12/145.81 new_primModNatS01(vyv331, vyv332, Zero, Zero) -> new_primModNatS02(vyv331, vyv332) 214.12/145.81 new_primModNatS02(vyv331, vyv332) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv331), Succ(vyv332)), Succ(vyv332)) 214.12/145.81 new_primModNatS1(Succ(Succ(vyv293000)), Succ(vyv292000)) -> new_primModNatS01(vyv293000, vyv292000, vyv293000, vyv292000) 214.12/145.81 new_primModNatS01(vyv331, vyv332, Succ(vyv3330), Succ(vyv3340)) -> new_primModNatS01(vyv331, vyv332, vyv3330, vyv3340) 214.12/145.81 new_primModNatS01(vyv331, vyv332, Succ(vyv3330), Zero) -> new_primModNatS02(vyv331, vyv332) 214.12/145.81 new_primMinusNatS2(Succ(vyv3110), Succ(vyv3120)) -> new_primMinusNatS2(vyv3110, vyv3120) 214.12/145.81 new_primModNatS1(Succ(Zero), Succ(vyv292000)) -> Succ(Zero) 214.12/145.81 new_primModNatS1(Zero, vyv29200) -> Zero 214.12/145.81 new_primModNatS01(vyv331, vyv332, Zero, Succ(vyv3340)) -> Succ(Succ(vyv331)) 214.12/145.81 new_primMinusNatS2(Zero, Zero) -> Zero 214.12/145.81 new_primMinusNatS2(Zero, Succ(vyv3120)) -> Zero 214.12/145.81 new_primMinusNatS2(Succ(vyv3110), Zero) -> Succ(vyv3110) 214.12/145.81 new_esEs(Pos(Succ(vyv24300))) -> new_primEqInt(Pos(Succ(vyv24300))) 214.12/145.81 new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) 214.12/145.81 new_primEqInt(Pos(Zero)) -> True 214.12/145.81 new_primEqInt(Pos(Succ(vyv242000))) -> False 214.12/145.81 214.12/145.81 The set Q consists of the following terms: 214.12/145.81 214.12/145.81 new_primModNatS01(x0, x1, Succ(x2), Zero) 214.12/145.81 new_primModNatS1(Succ(Succ(x0)), Zero) 214.12/145.81 new_primEqInt(Pos(Zero)) 214.12/145.81 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 214.12/145.81 new_esEs(Pos(Succ(x0))) 214.12/145.81 new_primModNatS1(Zero, x0) 214.12/145.81 new_primModNatS02(x0, x1) 214.12/145.81 new_primMinusNatS2(Zero, Zero) 214.12/145.81 new_primModNatS1(Succ(Zero), Zero) 214.12/145.81 new_primMinusNatS2(Succ(x0), Zero) 214.12/145.81 new_esEs(Pos(Zero)) 214.12/145.81 new_primEqInt(Neg(Succ(x0))) 214.12/145.81 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 214.12/145.81 new_esEs(Neg(Succ(x0))) 214.12/145.81 new_primEqInt(Neg(Zero)) 214.12/145.81 new_primModNatS01(x0, x1, Zero, Zero) 214.12/145.81 new_primEqInt(Pos(Succ(x0))) 214.12/145.81 new_primMinusNatS2(Zero, Succ(x0)) 214.12/145.81 new_primModNatS1(Succ(Zero), Succ(x0)) 214.12/145.81 new_primMinusNatS2(Succ(x0), Succ(x1)) 214.12/145.81 new_primModNatS01(x0, x1, Zero, Succ(x2)) 214.12/145.81 new_esEs(Neg(Zero)) 214.12/145.81 214.12/145.81 We have to consider all minimal (P,Q,R)-chains. 214.12/145.81 ---------------------------------------- 214.12/145.81 214.12/145.81 (325) InductionCalculusProof (EQUIVALENT) 214.12/145.81 Note that final constraints are written in bold face. 214.12/145.81 214.12/145.81 214.12/145.81 214.12/145.81 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: 214.12/145.81 *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: 214.12/145.81 214.12/145.81 (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)))) 214.12/145.81 214.12/145.81 214.12/145.81 214.12/145.81 We simplified constraint (1) using rules (I), (II), (VII) which results in the following new constraint: 214.12/145.81 214.12/145.81 (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)))) 214.12/145.81 214.12/145.81 214.12/145.81 214.12/145.81 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: 214.12/145.81 214.12/145.81 (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)))) 214.12/145.81 214.12/145.81 (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)))) 214.12/145.81 214.12/145.81 (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)))) 214.12/145.81 214.12/145.81 (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)))) 214.12/145.81 214.12/145.81 214.12/145.81 214.12/145.81 We simplified constraint (3) using rules (I), (II), (III), (VII) which results in the following new constraint: 214.12/145.81 214.12/145.81 (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)))) 214.12/145.81 214.12/145.81 214.12/145.81 214.12/145.81 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: 214.12/145.81 214.12/145.81 (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)))) 214.12/145.81 214.12/145.81 214.12/145.81 214.12/145.81 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: 214.12/145.81 214.12/145.81 (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)))) 214.12/145.81 214.12/145.81 214.12/145.81 214.12/145.81 We simplified constraint (9) using rules (III), (IV), (VII) which results in the following new constraint: 214.12/145.81 214.12/145.81 (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)))) 214.12/145.81 214.12/145.81 214.12/145.81 214.12/145.81 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: 214.12/145.81 214.12/145.81 (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)))) 214.12/145.81 214.12/145.81 214.12/145.81 214.12/145.81 We simplified constraint (11) using rules (III), (IV), (VII) which results in the following new constraint: 214.12/145.81 214.12/145.81 (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)))) 214.12/145.81 214.12/145.81 214.12/145.81 214.12/145.81 214.12/145.81 214.12/145.81 214.12/145.81 214.12/145.81 214.12/145.81 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: 214.12/145.81 *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: 214.12/145.81 214.12/145.81 (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))))) 214.12/145.81 214.12/145.81 214.12/145.81 214.12/145.81 We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: 214.12/145.81 214.12/145.81 (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))))) 214.12/145.81 214.12/145.81 214.12/145.81 214.12/145.81 214.12/145.81 214.12/145.81 214.12/145.81 214.12/145.81 214.12/145.81 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: 214.12/145.81 *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: 214.12/145.81 214.12/145.81 (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))))) 214.12/145.81 214.12/145.81 214.12/145.81 214.12/145.81 We simplified constraint (1) using rules (I), (II), (III) which results in the following new constraint: 214.12/145.81 214.12/145.81 (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))))) 214.12/145.81 214.12/145.81 214.12/145.81 214.12/145.81 214.12/145.81 214.12/145.81 214.12/145.81 214.12/145.81 214.12/145.81 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: 214.12/145.81 *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: 214.12/145.81 214.12/145.81 (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))))))) 214.12/145.81 214.12/145.81 214.12/145.81 214.12/145.81 We simplified constraint (1) using rules (I), (II), (IV), (VII) which results in the following new constraint: 214.12/145.81 214.12/145.81 (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))))))) 214.12/145.81 214.12/145.81 214.12/145.81 214.12/145.81 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: 214.12/145.81 214.12/145.81 (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))))))) 214.12/145.81 214.12/145.81 (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))))))) 214.12/145.81 214.12/145.81 214.12/145.81 214.12/145.81 We simplified constraint (3) using rules (I), (II), (VII) which results in the following new constraint: 214.12/145.81 214.12/145.81 (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))))))) 214.12/145.81 214.12/145.81 214.12/145.81 214.12/145.81 We simplified constraint (4) using rules (I), (II), (VII) which results in the following new constraint: 214.12/145.81 214.12/145.81 (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))))))) 214.12/145.81 214.12/145.81 214.12/145.81 214.12/145.81 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: 214.12/145.81 214.12/145.81 (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))))))) 214.12/145.81 214.12/145.81 214.12/145.81 214.12/145.81 We simplified constraint (7) using rules (I), (II), (IV) which results in the following new constraint: 214.12/145.81 214.12/145.81 (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))))))) 214.12/145.81 214.12/145.81 214.12/145.81 214.12/145.81 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: 214.12/145.81 214.12/145.81 (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))))))) 214.12/145.81 214.12/145.81 (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))))))) 214.12/145.81 214.12/145.81 (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))))))) 214.12/145.81 214.12/145.81 (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))))))) 214.12/145.81 214.12/145.81 214.12/145.81 214.12/145.81 We simplified constraint (9) using rules (I), (II), (III), (VII) which results in the following new constraint: 214.12/145.81 214.12/145.81 (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))))))) 214.12/145.81 214.12/145.81 214.12/145.81 214.12/145.81 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: 214.12/145.81 214.12/145.81 (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)))))))) 214.12/145.81 214.12/145.81 214.12/145.81 214.12/145.81 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: 214.12/145.81 214.12/145.81 (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))))))) 214.12/145.81 214.12/145.81 214.12/145.81 214.12/145.81 We simplified constraint (15) using rules (III), (IV), (VII) which results in the following new constraint: 214.12/145.81 214.12/145.81 (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))))))) 214.12/145.81 214.12/145.81 214.12/145.81 214.12/145.81 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: 214.12/145.81 214.12/145.81 (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)))))))) 214.12/145.81 214.12/145.81 214.12/145.81 214.12/145.81 We simplified constraint (17) using rules (III), (IV), (VII) which results in the following new constraint: 214.12/145.81 214.12/145.81 (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)))))))) 214.12/145.81 214.12/145.81 214.12/145.81 214.12/145.81 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: 214.12/145.81 214.12/145.81 (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))))))) 214.12/145.81 214.12/145.81 214.12/145.81 214.12/145.81 We solved constraint (19) using rules (I), (II). 214.12/145.81 214.12/145.81 214.12/145.81 214.12/145.81 214.12/145.81 To summarize, we get the following constraints P__>=_ for the following pairs. 214.12/145.81 214.12/145.81 *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))) 214.12/145.81 214.12/145.81 *(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)))) 214.12/145.81 214.12/145.81 214.12/145.81 *(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)))) 214.12/145.81 214.12/145.81 214.12/145.81 214.12/145.81 214.12/145.81 *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)))) 214.12/145.81 214.12/145.81 *(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))))) 214.12/145.81 214.12/145.81 214.12/145.81 214.12/145.81 214.12/145.81 *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)))) 214.12/145.81 214.12/145.81 *(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))))) 214.12/145.81 214.12/145.81 214.12/145.81 214.12/145.81 214.12/145.81 *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)))))) 214.12/145.81 214.12/145.81 *(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))))))) 214.12/145.81 214.12/145.81 214.12/145.81 *(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)))))))) 214.12/145.81 214.12/145.81 214.12/145.81 214.12/145.81 214.12/145.81 214.12/145.81 214.12/145.81 214.12/145.81 214.12/145.81 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. 214.12/145.81 ---------------------------------------- 214.12/145.81 214.12/145.81 (326) 214.12/145.81 Obligation: 214.12/145.81 Q DP problem: 214.12/145.81 The TRS P consists of the following rules: 214.12/145.81 214.12/145.81 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))) 214.12/145.81 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)))) 214.12/145.81 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)))) 214.12/145.81 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)))))) 214.12/145.81 214.12/145.81 The TRS R consists of the following rules: 214.12/145.81 214.12/145.81 new_primModNatS01(vyv331, vyv332, Zero, Zero) -> new_primModNatS02(vyv331, vyv332) 214.12/145.81 new_primModNatS02(vyv331, vyv332) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv331), Succ(vyv332)), Succ(vyv332)) 214.12/145.81 new_primModNatS1(Succ(Succ(vyv293000)), Succ(vyv292000)) -> new_primModNatS01(vyv293000, vyv292000, vyv293000, vyv292000) 214.12/145.81 new_primModNatS01(vyv331, vyv332, Succ(vyv3330), Succ(vyv3340)) -> new_primModNatS01(vyv331, vyv332, vyv3330, vyv3340) 214.12/145.81 new_primModNatS01(vyv331, vyv332, Succ(vyv3330), Zero) -> new_primModNatS02(vyv331, vyv332) 214.12/145.81 new_primMinusNatS2(Succ(vyv3110), Succ(vyv3120)) -> new_primMinusNatS2(vyv3110, vyv3120) 214.12/145.81 new_primModNatS1(Succ(Zero), Succ(vyv292000)) -> Succ(Zero) 214.12/145.81 new_primModNatS1(Zero, vyv29200) -> Zero 214.12/145.81 new_primModNatS01(vyv331, vyv332, Zero, Succ(vyv3340)) -> Succ(Succ(vyv331)) 214.12/145.81 new_primMinusNatS2(Zero, Zero) -> Zero 214.12/145.81 new_primMinusNatS2(Zero, Succ(vyv3120)) -> Zero 214.12/145.81 new_primMinusNatS2(Succ(vyv3110), Zero) -> Succ(vyv3110) 214.12/145.81 new_esEs(Pos(Succ(vyv24300))) -> new_primEqInt(Pos(Succ(vyv24300))) 214.12/145.81 new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) 214.12/145.81 new_primEqInt(Pos(Zero)) -> True 214.12/145.81 new_primEqInt(Pos(Succ(vyv242000))) -> False 214.12/145.81 214.12/145.81 The set Q consists of the following terms: 214.12/145.81 214.12/145.81 new_primModNatS01(x0, x1, Succ(x2), Zero) 214.12/145.81 new_primModNatS1(Succ(Succ(x0)), Zero) 214.12/145.81 new_primEqInt(Pos(Zero)) 214.12/145.81 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 214.12/145.81 new_esEs(Pos(Succ(x0))) 214.12/145.81 new_primModNatS1(Zero, x0) 214.12/145.81 new_primModNatS02(x0, x1) 214.12/145.81 new_primMinusNatS2(Zero, Zero) 214.12/145.81 new_primModNatS1(Succ(Zero), Zero) 214.12/145.81 new_primMinusNatS2(Succ(x0), Zero) 214.12/145.81 new_esEs(Pos(Zero)) 214.12/145.81 new_primEqInt(Neg(Succ(x0))) 214.12/145.81 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 214.12/145.81 new_esEs(Neg(Succ(x0))) 214.12/145.81 new_primEqInt(Neg(Zero)) 214.12/145.81 new_primModNatS01(x0, x1, Zero, Zero) 214.12/145.81 new_primEqInt(Pos(Succ(x0))) 214.12/145.81 new_primMinusNatS2(Zero, Succ(x0)) 214.12/145.81 new_primModNatS1(Succ(Zero), Succ(x0)) 214.12/145.81 new_primMinusNatS2(Succ(x0), Succ(x1)) 214.12/145.81 new_primModNatS01(x0, x1, Zero, Succ(x2)) 214.12/145.81 new_esEs(Neg(Zero)) 214.12/145.81 214.12/145.81 We have to consider all minimal (P,Q,R)-chains. 214.12/145.81 ---------------------------------------- 214.12/145.81 214.12/145.81 (327) 214.12/145.81 Obligation: 214.12/145.81 Q DP problem: 214.12/145.81 The TRS P consists of the following rules: 214.12/145.81 214.12/145.81 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)))))) 214.12/145.81 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))) 214.12/145.81 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)))))) 214.12/145.81 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))) 214.12/145.81 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))))) 214.12/145.81 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)))))) 214.12/145.81 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))))) 214.12/145.81 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)))))) 214.12/145.81 214.12/145.81 The TRS R consists of the following rules: 214.12/145.81 214.12/145.81 new_primModNatS1(Succ(Succ(vyv293000)), Succ(vyv292000)) -> new_primModNatS01(vyv293000, vyv292000, vyv293000, vyv292000) 214.12/145.81 new_primModNatS01(vyv331, vyv332, Zero, Zero) -> new_primModNatS02(vyv331, vyv332) 214.12/145.81 new_primModNatS02(vyv331, vyv332) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv331), Succ(vyv332)), Succ(vyv332)) 214.12/145.81 new_primModNatS01(vyv331, vyv332, Succ(vyv3330), Succ(vyv3340)) -> new_primModNatS01(vyv331, vyv332, vyv3330, vyv3340) 214.12/145.81 new_primModNatS01(vyv331, vyv332, Succ(vyv3330), Zero) -> new_primModNatS02(vyv331, vyv332) 214.12/145.81 new_primModNatS01(vyv331, vyv332, Zero, Succ(vyv3340)) -> Succ(Succ(vyv331)) 214.12/145.81 new_primMinusNatS2(Succ(vyv3110), Succ(vyv3120)) -> new_primMinusNatS2(vyv3110, vyv3120) 214.12/145.81 new_primModNatS1(Succ(Zero), Succ(vyv292000)) -> Succ(Zero) 214.12/145.81 new_primModNatS1(Zero, vyv29200) -> Zero 214.12/145.81 new_primMinusNatS2(Zero, Zero) -> Zero 214.12/145.81 new_primMinusNatS2(Zero, Succ(vyv3120)) -> Zero 214.12/145.81 new_primMinusNatS2(Succ(vyv3110), Zero) -> Succ(vyv3110) 214.12/145.81 new_esEs(Pos(Succ(vyv24300))) -> new_primEqInt(Pos(Succ(vyv24300))) 214.12/145.81 new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) 214.12/145.81 new_primEqInt(Pos(Zero)) -> True 214.12/145.81 new_primEqInt(Pos(Succ(vyv242000))) -> False 214.12/145.81 new_esEs(Neg(Succ(vyv24300))) -> new_primEqInt(Neg(Succ(vyv24300))) 214.12/145.81 new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) 214.12/145.81 new_primEqInt(Neg(Zero)) -> True 214.12/145.81 new_primEqInt(Neg(Succ(vyv242000))) -> False 214.12/145.81 214.12/145.81 The set Q consists of the following terms: 214.12/145.81 214.12/145.81 new_primModNatS01(x0, x1, Succ(x2), Zero) 214.12/145.81 new_primModNatS1(Succ(Succ(x0)), Zero) 214.12/145.81 new_primEqInt(Pos(Zero)) 214.12/145.81 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 214.12/145.81 new_esEs(Pos(Succ(x0))) 214.12/145.81 new_primModNatS1(Zero, x0) 214.12/145.81 new_primModNatS02(x0, x1) 214.12/145.81 new_primMinusNatS2(Zero, Zero) 214.12/145.81 new_primModNatS1(Succ(Zero), Zero) 214.12/145.81 new_primMinusNatS2(Succ(x0), Zero) 214.12/145.81 new_esEs(Pos(Zero)) 214.12/145.81 new_primEqInt(Neg(Succ(x0))) 214.12/145.81 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 214.12/145.81 new_esEs(Neg(Succ(x0))) 214.12/145.81 new_primEqInt(Neg(Zero)) 214.12/145.81 new_primModNatS01(x0, x1, Zero, Zero) 214.12/145.81 new_primEqInt(Pos(Succ(x0))) 214.12/145.81 new_primMinusNatS2(Zero, Succ(x0)) 214.12/145.81 new_primModNatS1(Succ(Zero), Succ(x0)) 214.12/145.81 new_primMinusNatS2(Succ(x0), Succ(x1)) 214.12/145.81 new_primModNatS01(x0, x1, Zero, Succ(x2)) 214.12/145.81 new_esEs(Neg(Zero)) 214.12/145.81 214.12/145.81 We have to consider all minimal (P,Q,R)-chains. 214.12/145.81 ---------------------------------------- 214.12/145.81 214.12/145.81 (328) TransformationProof (EQUIVALENT) 214.12/145.81 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]: 214.12/145.81 214.12/145.81 (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))))) 214.12/145.81 (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)))) 214.12/145.81 (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))))) 214.12/145.81 (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)))))) 214.12/145.81 214.12/145.81 214.12/145.81 ---------------------------------------- 214.12/145.81 214.12/145.81 (329) 214.12/145.81 Obligation: 214.12/145.81 Q DP problem: 214.12/145.81 The TRS P consists of the following rules: 214.12/145.81 214.12/145.81 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)))))) 214.12/145.81 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)))))) 214.12/145.81 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))) 214.12/145.81 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))))) 214.12/145.81 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)))))) 214.12/145.81 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))))) 214.12/145.81 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)))))) 214.12/145.81 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)))) 214.12/145.81 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))) 214.12/145.81 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)))) 214.12/145.81 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))))) 214.12/145.81 214.12/145.81 The TRS R consists of the following rules: 214.12/145.81 214.12/145.81 new_primModNatS1(Succ(Succ(vyv293000)), Succ(vyv292000)) -> new_primModNatS01(vyv293000, vyv292000, vyv293000, vyv292000) 214.12/145.81 new_primModNatS01(vyv331, vyv332, Zero, Zero) -> new_primModNatS02(vyv331, vyv332) 214.12/145.81 new_primModNatS02(vyv331, vyv332) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv331), Succ(vyv332)), Succ(vyv332)) 214.12/145.81 new_primModNatS01(vyv331, vyv332, Succ(vyv3330), Succ(vyv3340)) -> new_primModNatS01(vyv331, vyv332, vyv3330, vyv3340) 214.12/145.81 new_primModNatS01(vyv331, vyv332, Succ(vyv3330), Zero) -> new_primModNatS02(vyv331, vyv332) 214.12/145.81 new_primModNatS01(vyv331, vyv332, Zero, Succ(vyv3340)) -> Succ(Succ(vyv331)) 214.12/145.81 new_primMinusNatS2(Succ(vyv3110), Succ(vyv3120)) -> new_primMinusNatS2(vyv3110, vyv3120) 214.12/145.81 new_primModNatS1(Succ(Zero), Succ(vyv292000)) -> Succ(Zero) 214.12/145.81 new_primModNatS1(Zero, vyv29200) -> Zero 214.12/145.81 new_primMinusNatS2(Zero, Zero) -> Zero 214.12/145.81 new_primMinusNatS2(Zero, Succ(vyv3120)) -> Zero 214.12/145.81 new_primMinusNatS2(Succ(vyv3110), Zero) -> Succ(vyv3110) 214.12/145.81 new_esEs(Pos(Succ(vyv24300))) -> new_primEqInt(Pos(Succ(vyv24300))) 214.12/145.81 new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) 214.12/145.81 new_primEqInt(Pos(Zero)) -> True 214.12/145.81 new_primEqInt(Pos(Succ(vyv242000))) -> False 214.12/145.81 new_esEs(Neg(Succ(vyv24300))) -> new_primEqInt(Neg(Succ(vyv24300))) 214.12/145.81 new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) 214.12/145.81 new_primEqInt(Neg(Zero)) -> True 214.12/145.81 new_primEqInt(Neg(Succ(vyv242000))) -> False 214.12/145.81 214.12/145.81 The set Q consists of the following terms: 214.12/145.81 214.12/145.81 new_primModNatS01(x0, x1, Succ(x2), Zero) 214.12/145.81 new_primModNatS1(Succ(Succ(x0)), Zero) 214.12/145.81 new_primEqInt(Pos(Zero)) 214.12/145.81 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 214.12/145.81 new_esEs(Pos(Succ(x0))) 214.12/145.81 new_primModNatS1(Zero, x0) 214.12/145.81 new_primModNatS02(x0, x1) 214.12/145.81 new_primMinusNatS2(Zero, Zero) 214.12/145.81 new_primModNatS1(Succ(Zero), Zero) 214.12/145.81 new_primMinusNatS2(Succ(x0), Zero) 214.12/145.81 new_esEs(Pos(Zero)) 214.12/145.81 new_primEqInt(Neg(Succ(x0))) 214.12/145.81 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 214.12/145.81 new_esEs(Neg(Succ(x0))) 214.12/145.81 new_primEqInt(Neg(Zero)) 214.12/145.81 new_primModNatS01(x0, x1, Zero, Zero) 214.12/145.81 new_primEqInt(Pos(Succ(x0))) 214.12/145.81 new_primMinusNatS2(Zero, Succ(x0)) 214.12/145.81 new_primModNatS1(Succ(Zero), Succ(x0)) 214.12/145.81 new_primMinusNatS2(Succ(x0), Succ(x1)) 214.12/145.81 new_primModNatS01(x0, x1, Zero, Succ(x2)) 214.12/145.81 new_esEs(Neg(Zero)) 214.12/145.81 214.12/145.81 We have to consider all minimal (P,Q,R)-chains. 214.12/145.81 ---------------------------------------- 214.12/145.81 214.12/145.81 (330) DependencyGraphProof (EQUIVALENT) 214.12/145.81 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. 214.12/145.81 ---------------------------------------- 214.12/145.81 214.12/145.81 (331) 214.12/145.81 Obligation: 214.12/145.81 Q DP problem: 214.12/145.81 The TRS P consists of the following rules: 214.12/145.81 214.12/145.81 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))) 214.12/145.81 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)))))) 214.12/145.81 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))) 214.12/145.81 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)))))) 214.12/145.81 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))))) 214.12/145.81 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))))) 214.12/145.81 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)))))) 214.12/145.81 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)))))) 214.12/145.81 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)))) 214.12/145.81 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))))) 214.12/145.81 214.12/145.81 The TRS R consists of the following rules: 214.12/145.81 214.12/145.81 new_primModNatS1(Succ(Succ(vyv293000)), Succ(vyv292000)) -> new_primModNatS01(vyv293000, vyv292000, vyv293000, vyv292000) 214.12/145.81 new_primModNatS01(vyv331, vyv332, Zero, Zero) -> new_primModNatS02(vyv331, vyv332) 214.12/145.81 new_primModNatS02(vyv331, vyv332) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv331), Succ(vyv332)), Succ(vyv332)) 214.12/145.81 new_primModNatS01(vyv331, vyv332, Succ(vyv3330), Succ(vyv3340)) -> new_primModNatS01(vyv331, vyv332, vyv3330, vyv3340) 214.12/145.81 new_primModNatS01(vyv331, vyv332, Succ(vyv3330), Zero) -> new_primModNatS02(vyv331, vyv332) 214.12/145.81 new_primModNatS01(vyv331, vyv332, Zero, Succ(vyv3340)) -> Succ(Succ(vyv331)) 214.12/145.81 new_primMinusNatS2(Succ(vyv3110), Succ(vyv3120)) -> new_primMinusNatS2(vyv3110, vyv3120) 214.12/145.81 new_primModNatS1(Succ(Zero), Succ(vyv292000)) -> Succ(Zero) 214.12/145.81 new_primModNatS1(Zero, vyv29200) -> Zero 214.12/145.81 new_primMinusNatS2(Zero, Zero) -> Zero 214.12/145.81 new_primMinusNatS2(Zero, Succ(vyv3120)) -> Zero 214.12/145.81 new_primMinusNatS2(Succ(vyv3110), Zero) -> Succ(vyv3110) 214.12/145.81 new_esEs(Pos(Succ(vyv24300))) -> new_primEqInt(Pos(Succ(vyv24300))) 214.12/145.81 new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) 214.12/145.81 new_primEqInt(Pos(Zero)) -> True 214.12/145.81 new_primEqInt(Pos(Succ(vyv242000))) -> False 214.12/145.81 new_esEs(Neg(Succ(vyv24300))) -> new_primEqInt(Neg(Succ(vyv24300))) 214.12/145.81 new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) 214.12/145.81 new_primEqInt(Neg(Zero)) -> True 214.12/145.81 new_primEqInt(Neg(Succ(vyv242000))) -> False 214.12/145.81 214.12/145.81 The set Q consists of the following terms: 214.12/145.81 214.12/145.81 new_primModNatS01(x0, x1, Succ(x2), Zero) 214.12/145.81 new_primModNatS1(Succ(Succ(x0)), Zero) 214.12/145.81 new_primEqInt(Pos(Zero)) 214.12/145.81 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 214.12/145.81 new_esEs(Pos(Succ(x0))) 214.12/145.81 new_primModNatS1(Zero, x0) 214.12/145.81 new_primModNatS02(x0, x1) 214.12/145.81 new_primMinusNatS2(Zero, Zero) 214.12/145.81 new_primModNatS1(Succ(Zero), Zero) 214.12/145.81 new_primMinusNatS2(Succ(x0), Zero) 214.12/145.81 new_esEs(Pos(Zero)) 214.12/145.81 new_primEqInt(Neg(Succ(x0))) 214.12/145.81 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 214.12/145.81 new_esEs(Neg(Succ(x0))) 214.12/145.81 new_primEqInt(Neg(Zero)) 214.12/145.81 new_primModNatS01(x0, x1, Zero, Zero) 214.12/145.81 new_primEqInt(Pos(Succ(x0))) 214.12/145.81 new_primMinusNatS2(Zero, Succ(x0)) 214.12/145.81 new_primModNatS1(Succ(Zero), Succ(x0)) 214.12/145.81 new_primMinusNatS2(Succ(x0), Succ(x1)) 214.12/145.81 new_primModNatS01(x0, x1, Zero, Succ(x2)) 214.12/145.81 new_esEs(Neg(Zero)) 214.12/145.81 214.12/145.81 We have to consider all minimal (P,Q,R)-chains. 214.12/145.81 ---------------------------------------- 214.12/145.81 214.12/145.81 (332) TransformationProof (EQUIVALENT) 214.12/145.81 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]: 214.12/145.81 214.12/145.81 (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)))))) 214.12/145.81 214.12/145.81 214.12/145.81 ---------------------------------------- 214.12/145.81 214.12/145.81 (333) 214.12/145.81 Obligation: 214.12/145.81 Q DP problem: 214.12/145.81 The TRS P consists of the following rules: 214.12/145.81 214.12/145.81 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))) 214.12/145.81 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)))))) 214.12/145.81 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))) 214.12/145.81 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)))))) 214.12/145.81 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))))) 214.12/145.81 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))))) 214.12/145.81 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)))))) 214.12/145.81 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)))))) 214.12/145.81 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))))) 214.12/145.81 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))))) 214.12/145.81 214.12/145.81 The TRS R consists of the following rules: 214.12/145.81 214.12/145.81 new_primModNatS1(Succ(Succ(vyv293000)), Succ(vyv292000)) -> new_primModNatS01(vyv293000, vyv292000, vyv293000, vyv292000) 214.12/145.81 new_primModNatS01(vyv331, vyv332, Zero, Zero) -> new_primModNatS02(vyv331, vyv332) 214.12/145.81 new_primModNatS02(vyv331, vyv332) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv331), Succ(vyv332)), Succ(vyv332)) 214.12/145.81 new_primModNatS01(vyv331, vyv332, Succ(vyv3330), Succ(vyv3340)) -> new_primModNatS01(vyv331, vyv332, vyv3330, vyv3340) 214.12/145.81 new_primModNatS01(vyv331, vyv332, Succ(vyv3330), Zero) -> new_primModNatS02(vyv331, vyv332) 214.12/145.81 new_primModNatS01(vyv331, vyv332, Zero, Succ(vyv3340)) -> Succ(Succ(vyv331)) 214.12/145.81 new_primMinusNatS2(Succ(vyv3110), Succ(vyv3120)) -> new_primMinusNatS2(vyv3110, vyv3120) 214.12/145.81 new_primModNatS1(Succ(Zero), Succ(vyv292000)) -> Succ(Zero) 214.12/145.81 new_primModNatS1(Zero, vyv29200) -> Zero 214.12/145.81 new_primMinusNatS2(Zero, Zero) -> Zero 214.12/145.81 new_primMinusNatS2(Zero, Succ(vyv3120)) -> Zero 214.12/145.81 new_primMinusNatS2(Succ(vyv3110), Zero) -> Succ(vyv3110) 214.12/145.81 new_esEs(Pos(Succ(vyv24300))) -> new_primEqInt(Pos(Succ(vyv24300))) 214.12/145.81 new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) 214.12/145.81 new_primEqInt(Pos(Zero)) -> True 214.12/145.81 new_primEqInt(Pos(Succ(vyv242000))) -> False 214.12/145.81 new_esEs(Neg(Succ(vyv24300))) -> new_primEqInt(Neg(Succ(vyv24300))) 214.12/145.81 new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) 214.12/145.81 new_primEqInt(Neg(Zero)) -> True 214.12/145.81 new_primEqInt(Neg(Succ(vyv242000))) -> False 214.12/145.81 214.12/145.81 The set Q consists of the following terms: 214.12/145.81 214.12/145.81 new_primModNatS01(x0, x1, Succ(x2), Zero) 214.12/145.81 new_primModNatS1(Succ(Succ(x0)), Zero) 214.12/145.81 new_primEqInt(Pos(Zero)) 214.12/145.81 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 214.12/145.81 new_esEs(Pos(Succ(x0))) 214.12/145.81 new_primModNatS1(Zero, x0) 214.12/145.81 new_primModNatS02(x0, x1) 214.12/145.81 new_primMinusNatS2(Zero, Zero) 214.12/145.81 new_primModNatS1(Succ(Zero), Zero) 214.12/145.81 new_primMinusNatS2(Succ(x0), Zero) 214.12/145.81 new_esEs(Pos(Zero)) 214.12/145.81 new_primEqInt(Neg(Succ(x0))) 214.12/145.81 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 214.12/145.81 new_esEs(Neg(Succ(x0))) 214.12/145.81 new_primEqInt(Neg(Zero)) 214.12/145.81 new_primModNatS01(x0, x1, Zero, Zero) 214.12/145.81 new_primEqInt(Pos(Succ(x0))) 214.12/145.81 new_primMinusNatS2(Zero, Succ(x0)) 214.12/145.81 new_primModNatS1(Succ(Zero), Succ(x0)) 214.12/145.81 new_primMinusNatS2(Succ(x0), Succ(x1)) 214.12/145.81 new_primModNatS01(x0, x1, Zero, Succ(x2)) 214.12/145.81 new_esEs(Neg(Zero)) 214.12/145.81 214.12/145.81 We have to consider all minimal (P,Q,R)-chains. 214.12/145.81 ---------------------------------------- 214.12/145.81 214.12/145.81 (334) TransformationProof (EQUIVALENT) 214.12/145.81 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]: 214.12/145.81 214.12/145.81 (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)))))) 214.12/145.81 214.12/145.81 214.12/145.81 ---------------------------------------- 214.12/145.81 214.12/145.81 (335) 214.12/145.81 Obligation: 214.12/145.81 Q DP problem: 214.12/145.81 The TRS P consists of the following rules: 214.12/145.81 214.12/145.81 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))) 214.12/145.81 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)))))) 214.12/145.81 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))) 214.12/145.81 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)))))) 214.12/145.81 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))))) 214.12/145.81 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))))) 214.12/145.81 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)))))) 214.12/145.81 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)))))) 214.12/145.81 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))))) 214.12/145.81 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))))) 214.12/145.81 214.12/145.81 The TRS R consists of the following rules: 214.12/145.81 214.12/145.81 new_primModNatS1(Succ(Succ(vyv293000)), Succ(vyv292000)) -> new_primModNatS01(vyv293000, vyv292000, vyv293000, vyv292000) 214.12/145.81 new_primModNatS01(vyv331, vyv332, Zero, Zero) -> new_primModNatS02(vyv331, vyv332) 214.12/145.81 new_primModNatS02(vyv331, vyv332) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv331), Succ(vyv332)), Succ(vyv332)) 214.12/145.81 new_primModNatS01(vyv331, vyv332, Succ(vyv3330), Succ(vyv3340)) -> new_primModNatS01(vyv331, vyv332, vyv3330, vyv3340) 214.12/145.81 new_primModNatS01(vyv331, vyv332, Succ(vyv3330), Zero) -> new_primModNatS02(vyv331, vyv332) 214.12/145.81 new_primModNatS01(vyv331, vyv332, Zero, Succ(vyv3340)) -> Succ(Succ(vyv331)) 214.12/145.81 new_primMinusNatS2(Succ(vyv3110), Succ(vyv3120)) -> new_primMinusNatS2(vyv3110, vyv3120) 214.12/145.81 new_primModNatS1(Succ(Zero), Succ(vyv292000)) -> Succ(Zero) 214.12/145.81 new_primModNatS1(Zero, vyv29200) -> Zero 214.12/145.81 new_primMinusNatS2(Zero, Zero) -> Zero 214.12/145.81 new_primMinusNatS2(Zero, Succ(vyv3120)) -> Zero 214.12/145.81 new_primMinusNatS2(Succ(vyv3110), Zero) -> Succ(vyv3110) 214.12/145.81 new_esEs(Pos(Succ(vyv24300))) -> new_primEqInt(Pos(Succ(vyv24300))) 214.12/145.81 new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) 214.12/145.81 new_primEqInt(Pos(Zero)) -> True 214.12/145.81 new_primEqInt(Pos(Succ(vyv242000))) -> False 214.12/145.81 new_esEs(Neg(Succ(vyv24300))) -> new_primEqInt(Neg(Succ(vyv24300))) 214.12/145.81 new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) 214.12/145.81 new_primEqInt(Neg(Zero)) -> True 214.12/145.81 new_primEqInt(Neg(Succ(vyv242000))) -> False 214.12/145.81 214.12/145.81 The set Q consists of the following terms: 214.12/145.81 214.12/145.81 new_primModNatS01(x0, x1, Succ(x2), Zero) 214.12/145.81 new_primModNatS1(Succ(Succ(x0)), Zero) 214.12/145.81 new_primEqInt(Pos(Zero)) 214.12/145.81 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 214.12/145.81 new_esEs(Pos(Succ(x0))) 214.12/145.81 new_primModNatS1(Zero, x0) 214.12/145.81 new_primModNatS02(x0, x1) 214.12/145.81 new_primMinusNatS2(Zero, Zero) 214.12/145.81 new_primModNatS1(Succ(Zero), Zero) 214.12/145.81 new_primMinusNatS2(Succ(x0), Zero) 214.12/145.81 new_esEs(Pos(Zero)) 214.12/145.81 new_primEqInt(Neg(Succ(x0))) 214.12/145.81 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 214.12/145.81 new_esEs(Neg(Succ(x0))) 214.12/145.81 new_primEqInt(Neg(Zero)) 214.12/145.81 new_primModNatS01(x0, x1, Zero, Zero) 214.12/145.81 new_primEqInt(Pos(Succ(x0))) 214.12/145.81 new_primMinusNatS2(Zero, Succ(x0)) 214.12/145.81 new_primModNatS1(Succ(Zero), Succ(x0)) 214.12/145.81 new_primMinusNatS2(Succ(x0), Succ(x1)) 214.12/145.81 new_primModNatS01(x0, x1, Zero, Succ(x2)) 214.12/145.81 new_esEs(Neg(Zero)) 214.12/145.81 214.12/145.81 We have to consider all minimal (P,Q,R)-chains. 214.12/145.81 ---------------------------------------- 214.12/145.81 214.12/145.81 (336) TransformationProof (EQUIVALENT) 214.12/145.81 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]: 214.12/145.81 214.12/145.81 (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)))))) 214.12/145.81 214.12/145.81 214.12/145.81 ---------------------------------------- 214.12/145.81 214.12/145.81 (337) 214.12/145.81 Obligation: 214.12/145.81 Q DP problem: 214.12/145.81 The TRS P consists of the following rules: 214.12/145.81 214.12/145.81 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))) 214.12/145.81 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)))))) 214.12/145.81 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))) 214.12/145.81 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)))))) 214.12/145.81 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))))) 214.12/145.81 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))))) 214.12/145.81 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)))))) 214.12/145.81 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)))))) 214.12/145.81 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))))) 214.12/145.81 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))))) 214.12/145.81 214.12/145.81 The TRS R consists of the following rules: 214.12/145.81 214.12/145.81 new_primModNatS1(Succ(Succ(vyv293000)), Succ(vyv292000)) -> new_primModNatS01(vyv293000, vyv292000, vyv293000, vyv292000) 214.12/145.81 new_primModNatS01(vyv331, vyv332, Zero, Zero) -> new_primModNatS02(vyv331, vyv332) 214.12/145.81 new_primModNatS02(vyv331, vyv332) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv331), Succ(vyv332)), Succ(vyv332)) 214.12/145.81 new_primModNatS01(vyv331, vyv332, Succ(vyv3330), Succ(vyv3340)) -> new_primModNatS01(vyv331, vyv332, vyv3330, vyv3340) 214.12/145.81 new_primModNatS01(vyv331, vyv332, Succ(vyv3330), Zero) -> new_primModNatS02(vyv331, vyv332) 214.12/145.81 new_primModNatS01(vyv331, vyv332, Zero, Succ(vyv3340)) -> Succ(Succ(vyv331)) 214.12/145.81 new_primMinusNatS2(Succ(vyv3110), Succ(vyv3120)) -> new_primMinusNatS2(vyv3110, vyv3120) 214.12/145.81 new_primModNatS1(Succ(Zero), Succ(vyv292000)) -> Succ(Zero) 214.12/145.81 new_primModNatS1(Zero, vyv29200) -> Zero 214.12/145.81 new_primMinusNatS2(Zero, Zero) -> Zero 214.12/145.81 new_primMinusNatS2(Zero, Succ(vyv3120)) -> Zero 214.12/145.81 new_primMinusNatS2(Succ(vyv3110), Zero) -> Succ(vyv3110) 214.12/145.81 new_esEs(Pos(Succ(vyv24300))) -> new_primEqInt(Pos(Succ(vyv24300))) 214.12/145.81 new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) 214.12/145.81 new_primEqInt(Pos(Zero)) -> True 214.12/145.81 new_primEqInt(Pos(Succ(vyv242000))) -> False 214.12/145.81 new_esEs(Neg(Succ(vyv24300))) -> new_primEqInt(Neg(Succ(vyv24300))) 214.12/145.81 new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) 214.12/145.81 new_primEqInt(Neg(Zero)) -> True 214.12/145.81 new_primEqInt(Neg(Succ(vyv242000))) -> False 214.12/145.81 214.12/145.81 The set Q consists of the following terms: 214.12/145.81 214.12/145.81 new_primModNatS01(x0, x1, Succ(x2), Zero) 214.12/145.81 new_primModNatS1(Succ(Succ(x0)), Zero) 214.12/145.81 new_primEqInt(Pos(Zero)) 214.12/145.81 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 214.12/145.81 new_esEs(Pos(Succ(x0))) 214.12/145.81 new_primModNatS1(Zero, x0) 214.12/145.81 new_primModNatS02(x0, x1) 214.12/145.81 new_primMinusNatS2(Zero, Zero) 214.12/145.81 new_primModNatS1(Succ(Zero), Zero) 214.12/145.81 new_primMinusNatS2(Succ(x0), Zero) 214.12/145.81 new_esEs(Pos(Zero)) 214.12/145.81 new_primEqInt(Neg(Succ(x0))) 214.12/145.81 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 214.12/145.81 new_esEs(Neg(Succ(x0))) 214.12/145.81 new_primEqInt(Neg(Zero)) 214.12/145.81 new_primModNatS01(x0, x1, Zero, Zero) 214.12/145.81 new_primEqInt(Pos(Succ(x0))) 214.12/145.81 new_primMinusNatS2(Zero, Succ(x0)) 214.12/145.81 new_primModNatS1(Succ(Zero), Succ(x0)) 214.12/145.81 new_primMinusNatS2(Succ(x0), Succ(x1)) 214.12/145.81 new_primModNatS01(x0, x1, Zero, Succ(x2)) 214.12/145.81 new_esEs(Neg(Zero)) 214.12/145.81 214.12/145.81 We have to consider all minimal (P,Q,R)-chains. 214.12/145.81 ---------------------------------------- 214.12/145.81 214.12/145.81 (338) TransformationProof (EQUIVALENT) 214.12/145.81 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]: 214.12/145.81 214.12/145.81 (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)))))) 214.12/145.81 214.12/145.81 214.12/145.81 ---------------------------------------- 214.12/145.81 214.12/145.81 (339) 214.12/145.81 Obligation: 214.12/145.81 Q DP problem: 214.12/145.81 The TRS P consists of the following rules: 214.12/145.81 214.12/145.81 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))) 214.12/145.81 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)))))) 214.12/145.81 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))) 214.12/145.81 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)))))) 214.12/145.81 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))))) 214.12/145.81 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))))) 214.12/145.81 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)))))) 214.12/145.81 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)))))) 214.12/145.81 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))))) 214.12/145.81 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))))) 214.12/145.81 214.12/145.81 The TRS R consists of the following rules: 214.12/145.81 214.12/145.81 new_primModNatS1(Succ(Succ(vyv293000)), Succ(vyv292000)) -> new_primModNatS01(vyv293000, vyv292000, vyv293000, vyv292000) 214.12/145.81 new_primModNatS01(vyv331, vyv332, Zero, Zero) -> new_primModNatS02(vyv331, vyv332) 214.12/145.81 new_primModNatS02(vyv331, vyv332) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv331), Succ(vyv332)), Succ(vyv332)) 214.12/145.81 new_primModNatS01(vyv331, vyv332, Succ(vyv3330), Succ(vyv3340)) -> new_primModNatS01(vyv331, vyv332, vyv3330, vyv3340) 214.12/145.81 new_primModNatS01(vyv331, vyv332, Succ(vyv3330), Zero) -> new_primModNatS02(vyv331, vyv332) 214.12/145.81 new_primModNatS01(vyv331, vyv332, Zero, Succ(vyv3340)) -> Succ(Succ(vyv331)) 214.12/145.81 new_primMinusNatS2(Succ(vyv3110), Succ(vyv3120)) -> new_primMinusNatS2(vyv3110, vyv3120) 214.12/145.81 new_primModNatS1(Succ(Zero), Succ(vyv292000)) -> Succ(Zero) 214.12/145.81 new_primModNatS1(Zero, vyv29200) -> Zero 214.12/145.81 new_primMinusNatS2(Zero, Zero) -> Zero 214.12/145.81 new_primMinusNatS2(Zero, Succ(vyv3120)) -> Zero 214.12/145.81 new_primMinusNatS2(Succ(vyv3110), Zero) -> Succ(vyv3110) 214.12/145.81 new_esEs(Pos(Succ(vyv24300))) -> new_primEqInt(Pos(Succ(vyv24300))) 214.12/145.81 new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) 214.12/145.81 new_primEqInt(Pos(Zero)) -> True 214.12/145.81 new_primEqInt(Pos(Succ(vyv242000))) -> False 214.12/145.81 new_esEs(Neg(Succ(vyv24300))) -> new_primEqInt(Neg(Succ(vyv24300))) 214.12/145.81 new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) 214.12/145.81 new_primEqInt(Neg(Zero)) -> True 214.12/145.81 new_primEqInt(Neg(Succ(vyv242000))) -> False 214.12/145.81 214.12/145.81 The set Q consists of the following terms: 214.12/145.81 214.12/145.81 new_primModNatS01(x0, x1, Succ(x2), Zero) 214.12/145.81 new_primModNatS1(Succ(Succ(x0)), Zero) 214.12/145.81 new_primEqInt(Pos(Zero)) 214.12/145.81 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 214.12/145.81 new_esEs(Pos(Succ(x0))) 214.12/145.81 new_primModNatS1(Zero, x0) 214.12/145.81 new_primModNatS02(x0, x1) 214.12/145.81 new_primMinusNatS2(Zero, Zero) 214.12/145.81 new_primModNatS1(Succ(Zero), Zero) 214.12/145.81 new_primMinusNatS2(Succ(x0), Zero) 214.12/145.81 new_esEs(Pos(Zero)) 214.12/145.81 new_primEqInt(Neg(Succ(x0))) 214.12/145.81 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 214.12/145.81 new_esEs(Neg(Succ(x0))) 214.12/145.81 new_primEqInt(Neg(Zero)) 214.12/145.81 new_primModNatS01(x0, x1, Zero, Zero) 214.12/145.81 new_primEqInt(Pos(Succ(x0))) 214.12/145.81 new_primMinusNatS2(Zero, Succ(x0)) 214.12/145.81 new_primModNatS1(Succ(Zero), Succ(x0)) 214.12/145.81 new_primMinusNatS2(Succ(x0), Succ(x1)) 214.12/145.81 new_primModNatS01(x0, x1, Zero, Succ(x2)) 214.12/145.81 new_esEs(Neg(Zero)) 214.12/145.81 214.12/145.81 We have to consider all minimal (P,Q,R)-chains. 214.12/145.81 ---------------------------------------- 214.12/145.81 214.12/145.81 (340) TransformationProof (EQUIVALENT) 214.12/145.81 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]: 214.12/145.81 214.12/145.81 (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))))) 214.12/145.81 (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)))) 214.12/145.81 (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))))) 214.12/145.81 (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)))))) 214.12/145.81 214.12/145.81 214.12/145.81 ---------------------------------------- 214.12/145.81 214.12/145.81 (341) 214.12/145.81 Obligation: 214.12/145.81 Q DP problem: 214.12/145.81 The TRS P consists of the following rules: 214.12/145.81 214.12/145.81 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))) 214.12/145.81 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)))))) 214.12/145.81 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)))))) 214.12/145.81 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))))) 214.12/145.81 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))))) 214.12/145.81 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)))))) 214.12/145.81 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)))))) 214.12/145.81 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))))) 214.12/145.81 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))))) 214.12/145.81 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)))) 214.12/145.81 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))) 214.12/145.81 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)))) 214.12/145.81 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))))) 214.12/145.81 214.12/145.81 The TRS R consists of the following rules: 214.12/145.81 214.12/145.81 new_primModNatS1(Succ(Succ(vyv293000)), Succ(vyv292000)) -> new_primModNatS01(vyv293000, vyv292000, vyv293000, vyv292000) 214.12/145.81 new_primModNatS01(vyv331, vyv332, Zero, Zero) -> new_primModNatS02(vyv331, vyv332) 214.12/145.81 new_primModNatS02(vyv331, vyv332) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv331), Succ(vyv332)), Succ(vyv332)) 214.12/145.81 new_primModNatS01(vyv331, vyv332, Succ(vyv3330), Succ(vyv3340)) -> new_primModNatS01(vyv331, vyv332, vyv3330, vyv3340) 214.12/145.81 new_primModNatS01(vyv331, vyv332, Succ(vyv3330), Zero) -> new_primModNatS02(vyv331, vyv332) 214.12/145.81 new_primModNatS01(vyv331, vyv332, Zero, Succ(vyv3340)) -> Succ(Succ(vyv331)) 214.12/145.81 new_primMinusNatS2(Succ(vyv3110), Succ(vyv3120)) -> new_primMinusNatS2(vyv3110, vyv3120) 214.12/145.81 new_primModNatS1(Succ(Zero), Succ(vyv292000)) -> Succ(Zero) 214.12/145.81 new_primModNatS1(Zero, vyv29200) -> Zero 214.12/145.81 new_primMinusNatS2(Zero, Zero) -> Zero 214.12/145.81 new_primMinusNatS2(Zero, Succ(vyv3120)) -> Zero 214.12/145.81 new_primMinusNatS2(Succ(vyv3110), Zero) -> Succ(vyv3110) 214.12/145.81 new_esEs(Pos(Succ(vyv24300))) -> new_primEqInt(Pos(Succ(vyv24300))) 214.12/145.81 new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) 214.12/145.81 new_primEqInt(Pos(Zero)) -> True 214.12/145.81 new_primEqInt(Pos(Succ(vyv242000))) -> False 214.12/145.81 new_esEs(Neg(Succ(vyv24300))) -> new_primEqInt(Neg(Succ(vyv24300))) 214.12/145.81 new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) 214.12/145.81 new_primEqInt(Neg(Zero)) -> True 214.12/145.81 new_primEqInt(Neg(Succ(vyv242000))) -> False 214.12/145.81 214.12/145.81 The set Q consists of the following terms: 214.12/145.81 214.12/145.81 new_primModNatS01(x0, x1, Succ(x2), Zero) 214.12/145.81 new_primModNatS1(Succ(Succ(x0)), Zero) 214.12/145.81 new_primEqInt(Pos(Zero)) 214.12/145.81 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 214.12/145.81 new_esEs(Pos(Succ(x0))) 214.12/145.81 new_primModNatS1(Zero, x0) 214.12/145.81 new_primModNatS02(x0, x1) 214.12/145.81 new_primMinusNatS2(Zero, Zero) 214.12/145.81 new_primModNatS1(Succ(Zero), Zero) 214.12/145.81 new_primMinusNatS2(Succ(x0), Zero) 214.12/145.81 new_esEs(Pos(Zero)) 214.12/145.81 new_primEqInt(Neg(Succ(x0))) 214.12/145.81 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 214.12/145.81 new_esEs(Neg(Succ(x0))) 214.12/145.81 new_primEqInt(Neg(Zero)) 214.12/145.81 new_primModNatS01(x0, x1, Zero, Zero) 214.12/145.81 new_primEqInt(Pos(Succ(x0))) 214.12/145.81 new_primMinusNatS2(Zero, Succ(x0)) 214.12/145.81 new_primModNatS1(Succ(Zero), Succ(x0)) 214.12/145.81 new_primMinusNatS2(Succ(x0), Succ(x1)) 214.12/145.81 new_primModNatS01(x0, x1, Zero, Succ(x2)) 214.12/145.81 new_esEs(Neg(Zero)) 214.12/145.81 214.12/145.81 We have to consider all minimal (P,Q,R)-chains. 214.12/145.81 ---------------------------------------- 214.12/145.81 214.12/145.81 (342) DependencyGraphProof (EQUIVALENT) 214.12/145.81 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 3 SCCs with 1 less node. 214.12/145.81 ---------------------------------------- 214.12/145.81 214.12/145.81 (343) 214.12/145.81 Complex Obligation (AND) 214.12/145.81 214.12/145.81 ---------------------------------------- 214.12/145.81 214.12/145.81 (344) 214.12/145.81 Obligation: 214.12/145.81 Q DP problem: 214.12/145.81 The TRS P consists of the following rules: 214.12/145.82 214.12/145.82 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))))) 214.12/145.82 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))))) 214.12/145.82 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))))) 214.12/145.82 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)))))) 214.12/145.82 214.12/145.82 The TRS R consists of the following rules: 214.12/145.82 214.12/145.82 new_primModNatS1(Succ(Succ(vyv293000)), Succ(vyv292000)) -> new_primModNatS01(vyv293000, vyv292000, vyv293000, vyv292000) 214.12/145.82 new_primModNatS01(vyv331, vyv332, Zero, Zero) -> new_primModNatS02(vyv331, vyv332) 214.12/145.82 new_primModNatS02(vyv331, vyv332) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv331), Succ(vyv332)), Succ(vyv332)) 214.12/145.82 new_primModNatS01(vyv331, vyv332, Succ(vyv3330), Succ(vyv3340)) -> new_primModNatS01(vyv331, vyv332, vyv3330, vyv3340) 214.12/145.82 new_primModNatS01(vyv331, vyv332, Succ(vyv3330), Zero) -> new_primModNatS02(vyv331, vyv332) 214.12/145.82 new_primModNatS01(vyv331, vyv332, Zero, Succ(vyv3340)) -> Succ(Succ(vyv331)) 214.12/145.82 new_primMinusNatS2(Succ(vyv3110), Succ(vyv3120)) -> new_primMinusNatS2(vyv3110, vyv3120) 214.12/145.82 new_primModNatS1(Succ(Zero), Succ(vyv292000)) -> Succ(Zero) 214.12/145.82 new_primModNatS1(Zero, vyv29200) -> Zero 214.12/145.82 new_primMinusNatS2(Zero, Zero) -> Zero 214.12/145.82 new_primMinusNatS2(Zero, Succ(vyv3120)) -> Zero 214.12/145.82 new_primMinusNatS2(Succ(vyv3110), Zero) -> Succ(vyv3110) 214.12/145.82 new_esEs(Pos(Succ(vyv24300))) -> new_primEqInt(Pos(Succ(vyv24300))) 214.12/145.82 new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) 214.12/145.82 new_primEqInt(Pos(Zero)) -> True 214.12/145.82 new_primEqInt(Pos(Succ(vyv242000))) -> False 214.12/145.82 new_esEs(Neg(Succ(vyv24300))) -> new_primEqInt(Neg(Succ(vyv24300))) 214.12/145.82 new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) 214.12/145.82 new_primEqInt(Neg(Zero)) -> True 214.12/145.82 new_primEqInt(Neg(Succ(vyv242000))) -> False 214.12/145.82 214.12/145.82 The set Q consists of the following terms: 214.12/145.82 214.12/145.82 new_primModNatS01(x0, x1, Succ(x2), Zero) 214.12/145.82 new_primModNatS1(Succ(Succ(x0)), Zero) 214.12/145.82 new_primEqInt(Pos(Zero)) 214.12/145.82 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 214.12/145.82 new_esEs(Pos(Succ(x0))) 214.12/145.82 new_primModNatS1(Zero, x0) 214.12/145.82 new_primModNatS02(x0, x1) 214.12/145.82 new_primMinusNatS2(Zero, Zero) 214.12/145.82 new_primModNatS1(Succ(Zero), Zero) 214.12/145.82 new_primMinusNatS2(Succ(x0), Zero) 214.12/145.82 new_esEs(Pos(Zero)) 214.12/145.82 new_primEqInt(Neg(Succ(x0))) 214.12/145.82 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 214.12/145.82 new_esEs(Neg(Succ(x0))) 214.12/145.82 new_primEqInt(Neg(Zero)) 214.12/145.82 new_primModNatS01(x0, x1, Zero, Zero) 214.12/145.82 new_primEqInt(Pos(Succ(x0))) 214.12/145.82 new_primMinusNatS2(Zero, Succ(x0)) 214.12/145.82 new_primModNatS1(Succ(Zero), Succ(x0)) 214.12/145.82 new_primMinusNatS2(Succ(x0), Succ(x1)) 214.12/145.82 new_primModNatS01(x0, x1, Zero, Succ(x2)) 214.12/145.82 new_esEs(Neg(Zero)) 214.12/145.82 214.12/145.82 We have to consider all minimal (P,Q,R)-chains. 214.12/145.82 ---------------------------------------- 214.12/145.82 214.12/145.82 (345) UsableRulesProof (EQUIVALENT) 214.12/145.82 As all Q-normal forms are R-normal forms we are in the innermost case. Hence, by the usable rules processor [LPAR04] we can delete all non-usable rules [FROCOS05] from R. 214.12/145.82 ---------------------------------------- 214.12/145.82 214.12/145.82 (346) 214.12/145.82 Obligation: 214.12/145.82 Q DP problem: 214.12/145.82 The TRS P consists of the following rules: 214.12/145.82 214.12/145.82 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))))) 214.12/145.82 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))))) 214.12/145.82 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))))) 214.12/145.82 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)))))) 214.12/145.82 214.12/145.82 The TRS R consists of the following rules: 214.12/145.82 214.12/145.82 new_primModNatS01(vyv331, vyv332, Zero, Zero) -> new_primModNatS02(vyv331, vyv332) 214.12/145.82 new_primModNatS02(vyv331, vyv332) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv331), Succ(vyv332)), Succ(vyv332)) 214.12/145.82 new_primModNatS1(Succ(Succ(vyv293000)), Succ(vyv292000)) -> new_primModNatS01(vyv293000, vyv292000, vyv293000, vyv292000) 214.12/145.82 new_primModNatS01(vyv331, vyv332, Succ(vyv3330), Succ(vyv3340)) -> new_primModNatS01(vyv331, vyv332, vyv3330, vyv3340) 214.12/145.82 new_primModNatS01(vyv331, vyv332, Succ(vyv3330), Zero) -> new_primModNatS02(vyv331, vyv332) 214.12/145.82 new_primModNatS1(Succ(Zero), Succ(vyv292000)) -> Succ(Zero) 214.12/145.82 new_esEs(Pos(Succ(vyv24300))) -> new_primEqInt(Pos(Succ(vyv24300))) 214.12/145.82 new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) 214.12/145.82 new_primEqInt(Pos(Zero)) -> True 214.12/145.82 new_primEqInt(Pos(Succ(vyv242000))) -> False 214.12/145.82 new_primMinusNatS2(Succ(vyv3110), Succ(vyv3120)) -> new_primMinusNatS2(vyv3110, vyv3120) 214.12/145.82 new_primModNatS1(Zero, vyv29200) -> Zero 214.12/145.82 new_primModNatS01(vyv331, vyv332, Zero, Succ(vyv3340)) -> Succ(Succ(vyv331)) 214.12/145.82 new_primMinusNatS2(Zero, Zero) -> Zero 214.12/145.82 new_primMinusNatS2(Zero, Succ(vyv3120)) -> Zero 214.12/145.82 new_primMinusNatS2(Succ(vyv3110), Zero) -> Succ(vyv3110) 214.12/145.82 214.12/145.82 The set Q consists of the following terms: 214.12/145.82 214.12/145.82 new_primModNatS01(x0, x1, Succ(x2), Zero) 214.12/145.82 new_primModNatS1(Succ(Succ(x0)), Zero) 214.12/145.82 new_primEqInt(Pos(Zero)) 214.12/145.82 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 214.12/145.82 new_esEs(Pos(Succ(x0))) 214.12/145.82 new_primModNatS1(Zero, x0) 214.12/145.82 new_primModNatS02(x0, x1) 214.12/145.82 new_primMinusNatS2(Zero, Zero) 214.12/145.82 new_primModNatS1(Succ(Zero), Zero) 214.12/145.82 new_primMinusNatS2(Succ(x0), Zero) 214.12/145.82 new_esEs(Pos(Zero)) 214.12/145.82 new_primEqInt(Neg(Succ(x0))) 214.12/145.82 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 214.12/145.82 new_esEs(Neg(Succ(x0))) 214.12/145.82 new_primEqInt(Neg(Zero)) 214.12/145.82 new_primModNatS01(x0, x1, Zero, Zero) 214.12/145.82 new_primEqInt(Pos(Succ(x0))) 214.12/145.82 new_primMinusNatS2(Zero, Succ(x0)) 214.12/145.82 new_primModNatS1(Succ(Zero), Succ(x0)) 214.12/145.82 new_primMinusNatS2(Succ(x0), Succ(x1)) 214.12/145.82 new_primModNatS01(x0, x1, Zero, Succ(x2)) 214.12/145.82 new_esEs(Neg(Zero)) 214.12/145.82 214.12/145.82 We have to consider all minimal (P,Q,R)-chains. 214.12/145.82 ---------------------------------------- 214.12/145.82 214.12/145.82 (347) InductionCalculusProof (EQUIVALENT) 214.12/145.82 Note that final constraints are written in bold face. 214.12/145.82 214.12/145.82 214.12/145.82 214.12/145.82 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: 214.12/145.82 *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: 214.12/145.82 214.12/145.82 (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)))))) 214.12/145.82 214.12/145.82 214.12/145.82 214.12/145.82 We simplified constraint (1) using rules (I), (II), (VII) which results in the following new constraint: 214.12/145.82 214.12/145.82 (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)))))) 214.12/145.82 214.12/145.82 214.12/145.82 214.12/145.82 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: 214.12/145.82 214.12/145.82 (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)))))) 214.12/145.82 214.12/145.82 (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)))))) 214.12/145.82 214.12/145.82 214.12/145.82 214.12/145.82 We simplified constraint (3) using rules (I), (II), (III), (VII) which results in the following new constraint: 214.12/145.82 214.12/145.82 (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)))))) 214.12/145.82 214.12/145.82 214.12/145.82 214.12/145.82 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: 214.12/145.82 214.12/145.82 (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)))))) 214.12/145.82 214.12/145.82 (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)))))) 214.12/145.82 214.12/145.82 (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)))))) 214.12/145.82 214.12/145.82 (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)))))) 214.12/145.82 214.12/145.82 214.12/145.82 214.12/145.82 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: 214.12/145.82 214.12/145.82 (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)))))) 214.12/145.82 214.12/145.82 214.12/145.82 214.12/145.82 We solved constraint (8) using rules (I), (II), (III).We solved constraint (9) using rules (I), (II), (III), (IV). 214.12/145.82 214.12/145.82 214.12/145.82 214.12/145.82 214.12/145.82 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: 214.12/145.82 *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: 214.12/145.82 214.12/145.82 (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)))))) 214.12/145.82 214.12/145.82 214.12/145.82 214.12/145.82 We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: 214.12/145.82 214.12/145.82 (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)))))) 214.12/145.82 214.12/145.82 214.12/145.82 214.12/145.82 214.12/145.82 214.12/145.82 214.12/145.82 214.12/145.82 214.12/145.82 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: 214.12/145.82 *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: 214.12/145.82 214.12/145.82 (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)))))) 214.12/145.82 214.12/145.82 214.12/145.82 214.12/145.82 We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: 214.12/145.82 214.12/145.82 (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)))))) 214.12/145.82 214.12/145.82 214.12/145.82 214.12/145.82 214.12/145.82 214.12/145.82 214.12/145.82 214.12/145.82 214.12/145.82 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: 214.12/145.82 *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: 214.12/145.82 214.12/145.82 (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))))))) 214.12/145.82 214.12/145.82 214.12/145.82 214.12/145.82 We simplified constraint (1) using rules (I), (II), (IV), (VII) which results in the following new constraint: 214.12/145.82 214.12/145.82 (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))))))) 214.12/145.82 214.12/145.82 214.12/145.82 214.12/145.82 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: 214.12/145.82 214.12/145.82 (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))))))) 214.12/145.82 214.12/145.82 (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))))))) 214.12/145.82 214.12/145.82 214.12/145.82 214.12/145.82 We simplified constraint (3) using rules (I), (II), (VII) which results in the following new constraint: 214.12/145.82 214.12/145.82 (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))))))) 214.12/145.82 214.12/145.82 214.12/145.82 214.12/145.82 We simplified constraint (4) using rules (I), (II), (VII) which results in the following new constraint: 214.12/145.82 214.12/145.82 (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))))))) 214.12/145.82 214.12/145.82 214.12/145.82 214.12/145.82 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: 214.12/145.82 214.12/145.82 (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))))))) 214.12/145.82 214.12/145.82 214.12/145.82 214.12/145.82 We simplified constraint (7) using rules (I), (II), (IV) which results in the following new constraint: 214.12/145.82 214.12/145.82 (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))))))) 214.12/145.82 214.12/145.82 214.12/145.82 214.12/145.82 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: 214.12/145.82 214.12/145.82 (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))))))) 214.12/145.82 214.12/145.82 (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))))))) 214.12/145.82 214.12/145.82 214.12/145.82 214.12/145.82 We simplified constraint (9) using rules (I), (II), (III), (VII) which results in the following new constraint: 214.12/145.82 214.12/145.82 (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)))))))) 214.12/145.82 214.12/145.82 214.12/145.82 214.12/145.82 We simplified constraint (10) using rules (I), (II), (III), (IV) which results in the following new constraint: 214.12/145.82 214.12/145.82 (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))))))) 214.12/145.82 214.12/145.82 214.12/145.82 214.12/145.82 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: 214.12/145.82 214.12/145.82 (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)))))))) 214.12/145.82 214.12/145.82 (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)))))))) 214.12/145.82 214.12/145.82 (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)))))))) 214.12/145.82 214.12/145.82 (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)))))))) 214.12/145.82 214.12/145.82 214.12/145.82 214.12/145.82 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: 214.12/145.82 214.12/145.82 (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))))))))) 214.12/145.82 214.12/145.82 214.12/145.82 214.12/145.82 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: 214.12/145.82 214.12/145.82 (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)))))))) 214.12/145.82 214.12/145.82 214.12/145.82 214.12/145.82 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: 214.12/145.82 214.12/145.82 (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))))))) 214.12/145.82 214.12/145.82 214.12/145.82 214.12/145.82 We solved constraint (19) using rules (I), (II). 214.12/145.82 214.12/145.82 214.12/145.82 214.12/145.82 214.12/145.82 To summarize, we get the following constraints P__>=_ for the following pairs. 214.12/145.82 214.12/145.82 *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))))) 214.12/145.82 214.12/145.82 *(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)))))) 214.12/145.82 214.12/145.82 214.12/145.82 214.12/145.82 214.12/145.82 *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))))) 214.12/145.82 214.12/145.82 *(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)))))) 214.12/145.82 214.12/145.82 214.12/145.82 214.12/145.82 214.12/145.82 *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))))) 214.12/145.82 214.12/145.82 *(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)))))) 214.12/145.82 214.12/145.82 214.12/145.82 214.12/145.82 214.12/145.82 *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)))))) 214.12/145.82 214.12/145.82 *(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)))))))) 214.12/145.82 214.12/145.82 214.12/145.82 *(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))))))) 214.12/145.82 214.12/145.82 214.12/145.82 *(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))))))))) 214.12/145.82 214.12/145.82 214.12/145.82 214.12/145.82 214.12/145.82 214.12/145.82 214.12/145.82 214.12/145.82 214.12/145.82 The constraints for P_> respective P_bound are constructed from P__>=_ where we just replace every occurence of "t _>=_ s" in P__>=_ by "t > s" respective "t _>=_ c". Here c stands for the fresh constant used for P_bound. 214.12/145.82 ---------------------------------------- 214.12/145.82 214.12/145.82 (348) 214.12/145.82 Obligation: 214.12/145.82 Q DP problem: 214.12/145.82 The TRS P consists of the following rules: 214.12/145.82 214.12/145.82 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))))) 214.12/145.82 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))))) 214.12/145.82 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))))) 214.12/145.82 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)))))) 214.12/145.82 214.12/145.82 The TRS R consists of the following rules: 214.12/145.82 214.12/145.82 new_primModNatS01(vyv331, vyv332, Zero, Zero) -> new_primModNatS02(vyv331, vyv332) 214.12/145.82 new_primModNatS02(vyv331, vyv332) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv331), Succ(vyv332)), Succ(vyv332)) 214.12/145.82 new_primModNatS1(Succ(Succ(vyv293000)), Succ(vyv292000)) -> new_primModNatS01(vyv293000, vyv292000, vyv293000, vyv292000) 214.12/145.82 new_primModNatS01(vyv331, vyv332, Succ(vyv3330), Succ(vyv3340)) -> new_primModNatS01(vyv331, vyv332, vyv3330, vyv3340) 214.12/145.82 new_primModNatS01(vyv331, vyv332, Succ(vyv3330), Zero) -> new_primModNatS02(vyv331, vyv332) 214.12/145.82 new_primModNatS1(Succ(Zero), Succ(vyv292000)) -> Succ(Zero) 214.12/145.82 new_esEs(Pos(Succ(vyv24300))) -> new_primEqInt(Pos(Succ(vyv24300))) 214.12/145.82 new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) 214.12/145.82 new_primEqInt(Pos(Zero)) -> True 214.12/145.82 new_primEqInt(Pos(Succ(vyv242000))) -> False 214.12/145.82 new_primMinusNatS2(Succ(vyv3110), Succ(vyv3120)) -> new_primMinusNatS2(vyv3110, vyv3120) 214.12/145.82 new_primModNatS1(Zero, vyv29200) -> Zero 214.12/145.82 new_primModNatS01(vyv331, vyv332, Zero, Succ(vyv3340)) -> Succ(Succ(vyv331)) 214.12/145.82 new_primMinusNatS2(Zero, Zero) -> Zero 214.12/145.82 new_primMinusNatS2(Zero, Succ(vyv3120)) -> Zero 214.12/145.82 new_primMinusNatS2(Succ(vyv3110), Zero) -> Succ(vyv3110) 214.12/145.82 214.12/145.82 The set Q consists of the following terms: 214.12/145.82 214.12/145.82 new_primModNatS01(x0, x1, Succ(x2), Zero) 214.12/145.82 new_primModNatS1(Succ(Succ(x0)), Zero) 214.12/145.82 new_primEqInt(Pos(Zero)) 214.12/145.82 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 214.12/145.82 new_esEs(Pos(Succ(x0))) 214.12/145.82 new_primModNatS1(Zero, x0) 214.12/145.82 new_primModNatS02(x0, x1) 214.12/145.82 new_primMinusNatS2(Zero, Zero) 214.12/145.82 new_primModNatS1(Succ(Zero), Zero) 214.12/145.82 new_primMinusNatS2(Succ(x0), Zero) 214.12/145.82 new_esEs(Pos(Zero)) 214.12/145.82 new_primEqInt(Neg(Succ(x0))) 214.12/145.82 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 214.12/145.82 new_esEs(Neg(Succ(x0))) 214.12/145.82 new_primEqInt(Neg(Zero)) 214.12/145.82 new_primModNatS01(x0, x1, Zero, Zero) 214.12/145.82 new_primEqInt(Pos(Succ(x0))) 214.12/145.82 new_primMinusNatS2(Zero, Succ(x0)) 214.12/145.82 new_primModNatS1(Succ(Zero), Succ(x0)) 214.12/145.82 new_primMinusNatS2(Succ(x0), Succ(x1)) 214.12/145.82 new_primModNatS01(x0, x1, Zero, Succ(x2)) 214.12/145.82 new_esEs(Neg(Zero)) 214.12/145.82 214.12/145.82 We have to consider all minimal (P,Q,R)-chains. 214.12/145.82 ---------------------------------------- 214.12/145.82 214.12/145.82 (349) 214.12/145.82 Obligation: 214.12/145.82 Q DP problem: 214.12/145.82 The TRS P consists of the following rules: 214.12/145.82 214.12/145.82 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))))) 214.12/145.82 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)))))) 214.12/145.82 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)))) 214.12/145.82 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))))) 214.12/145.82 214.12/145.82 The TRS R consists of the following rules: 214.12/145.82 214.12/145.82 new_primModNatS1(Succ(Succ(vyv293000)), Succ(vyv292000)) -> new_primModNatS01(vyv293000, vyv292000, vyv293000, vyv292000) 214.12/145.82 new_primModNatS01(vyv331, vyv332, Zero, Zero) -> new_primModNatS02(vyv331, vyv332) 214.12/145.82 new_primModNatS02(vyv331, vyv332) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv331), Succ(vyv332)), Succ(vyv332)) 214.12/145.82 new_primModNatS01(vyv331, vyv332, Succ(vyv3330), Succ(vyv3340)) -> new_primModNatS01(vyv331, vyv332, vyv3330, vyv3340) 214.12/145.82 new_primModNatS01(vyv331, vyv332, Succ(vyv3330), Zero) -> new_primModNatS02(vyv331, vyv332) 214.12/145.82 new_primModNatS01(vyv331, vyv332, Zero, Succ(vyv3340)) -> Succ(Succ(vyv331)) 214.12/145.82 new_primMinusNatS2(Succ(vyv3110), Succ(vyv3120)) -> new_primMinusNatS2(vyv3110, vyv3120) 214.12/145.82 new_primModNatS1(Succ(Zero), Succ(vyv292000)) -> Succ(Zero) 214.12/145.82 new_primModNatS1(Zero, vyv29200) -> Zero 214.12/145.82 new_primMinusNatS2(Zero, Zero) -> Zero 214.12/145.82 new_primMinusNatS2(Zero, Succ(vyv3120)) -> Zero 214.12/145.82 new_primMinusNatS2(Succ(vyv3110), Zero) -> Succ(vyv3110) 214.12/145.82 new_esEs(Pos(Succ(vyv24300))) -> new_primEqInt(Pos(Succ(vyv24300))) 214.12/145.82 new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) 214.12/145.82 new_primEqInt(Pos(Zero)) -> True 214.12/145.82 new_primEqInt(Pos(Succ(vyv242000))) -> False 214.12/145.82 new_esEs(Neg(Succ(vyv24300))) -> new_primEqInt(Neg(Succ(vyv24300))) 214.12/145.82 new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) 214.12/145.82 new_primEqInt(Neg(Zero)) -> True 214.12/145.82 new_primEqInt(Neg(Succ(vyv242000))) -> False 214.12/145.82 214.12/145.82 The set Q consists of the following terms: 214.12/145.82 214.12/145.82 new_primModNatS01(x0, x1, Succ(x2), Zero) 214.12/145.82 new_primModNatS1(Succ(Succ(x0)), Zero) 214.12/145.82 new_primEqInt(Pos(Zero)) 214.12/145.82 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 214.12/145.82 new_esEs(Pos(Succ(x0))) 214.12/145.82 new_primModNatS1(Zero, x0) 214.12/145.82 new_primModNatS02(x0, x1) 214.12/145.82 new_primMinusNatS2(Zero, Zero) 214.12/145.82 new_primModNatS1(Succ(Zero), Zero) 214.12/145.82 new_primMinusNatS2(Succ(x0), Zero) 214.12/145.82 new_esEs(Pos(Zero)) 214.12/145.82 new_primEqInt(Neg(Succ(x0))) 214.12/145.82 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 214.12/145.82 new_esEs(Neg(Succ(x0))) 214.12/145.82 new_primEqInt(Neg(Zero)) 214.12/145.82 new_primModNatS01(x0, x1, Zero, Zero) 214.12/145.82 new_primEqInt(Pos(Succ(x0))) 214.12/145.82 new_primMinusNatS2(Zero, Succ(x0)) 214.12/145.82 new_primModNatS1(Succ(Zero), Succ(x0)) 214.12/145.82 new_primMinusNatS2(Succ(x0), Succ(x1)) 214.12/145.82 new_primModNatS01(x0, x1, Zero, Succ(x2)) 214.12/145.82 new_esEs(Neg(Zero)) 214.12/145.82 214.12/145.82 We have to consider all minimal (P,Q,R)-chains. 214.12/145.82 ---------------------------------------- 214.12/145.82 214.12/145.82 (350) UsableRulesProof (EQUIVALENT) 214.12/145.82 As all Q-normal forms are R-normal forms we are in the innermost case. Hence, by the usable rules processor [LPAR04] we can delete all non-usable rules [FROCOS05] from R. 214.12/145.82 ---------------------------------------- 214.12/145.82 214.12/145.82 (351) 214.12/145.82 Obligation: 214.12/145.82 Q DP problem: 214.12/145.82 The TRS P consists of the following rules: 214.12/145.82 214.12/145.82 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))))) 214.12/145.82 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)))))) 214.12/145.82 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)))) 214.12/145.82 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))))) 214.12/145.82 214.12/145.82 The TRS R consists of the following rules: 214.12/145.82 214.12/145.82 new_primModNatS01(vyv331, vyv332, Zero, Zero) -> new_primModNatS02(vyv331, vyv332) 214.12/145.82 new_primModNatS02(vyv331, vyv332) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv331), Succ(vyv332)), Succ(vyv332)) 214.12/145.82 new_primModNatS1(Succ(Succ(vyv293000)), Succ(vyv292000)) -> new_primModNatS01(vyv293000, vyv292000, vyv293000, vyv292000) 214.12/145.82 new_primModNatS01(vyv331, vyv332, Succ(vyv3330), Succ(vyv3340)) -> new_primModNatS01(vyv331, vyv332, vyv3330, vyv3340) 214.12/145.82 new_primModNatS01(vyv331, vyv332, Succ(vyv3330), Zero) -> new_primModNatS02(vyv331, vyv332) 214.12/145.82 new_primMinusNatS2(Succ(vyv3110), Succ(vyv3120)) -> new_primMinusNatS2(vyv3110, vyv3120) 214.12/145.82 new_primModNatS1(Succ(Zero), Succ(vyv292000)) -> Succ(Zero) 214.12/145.82 new_primModNatS1(Zero, vyv29200) -> Zero 214.12/145.82 new_primModNatS01(vyv331, vyv332, Zero, Succ(vyv3340)) -> Succ(Succ(vyv331)) 214.12/145.82 new_primMinusNatS2(Zero, Zero) -> Zero 214.12/145.82 new_primMinusNatS2(Zero, Succ(vyv3120)) -> Zero 214.12/145.82 new_primMinusNatS2(Succ(vyv3110), Zero) -> Succ(vyv3110) 214.12/145.82 new_esEs(Neg(Succ(vyv24300))) -> new_primEqInt(Neg(Succ(vyv24300))) 214.12/145.82 new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) 214.12/145.82 new_primEqInt(Neg(Zero)) -> True 214.12/145.82 new_primEqInt(Neg(Succ(vyv242000))) -> False 214.12/145.82 214.12/145.82 The set Q consists of the following terms: 214.12/145.82 214.12/145.82 new_primModNatS01(x0, x1, Succ(x2), Zero) 214.12/145.82 new_primModNatS1(Succ(Succ(x0)), Zero) 214.12/145.82 new_primEqInt(Pos(Zero)) 214.12/145.82 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 214.12/145.82 new_esEs(Pos(Succ(x0))) 214.12/145.82 new_primModNatS1(Zero, x0) 214.12/145.82 new_primModNatS02(x0, x1) 214.12/145.82 new_primMinusNatS2(Zero, Zero) 214.12/145.82 new_primModNatS1(Succ(Zero), Zero) 214.12/145.82 new_primMinusNatS2(Succ(x0), Zero) 214.12/145.82 new_esEs(Pos(Zero)) 214.12/145.82 new_primEqInt(Neg(Succ(x0))) 214.12/145.82 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 214.12/145.82 new_esEs(Neg(Succ(x0))) 214.12/145.82 new_primEqInt(Neg(Zero)) 214.12/145.82 new_primModNatS01(x0, x1, Zero, Zero) 214.12/145.82 new_primEqInt(Pos(Succ(x0))) 214.12/145.82 new_primMinusNatS2(Zero, Succ(x0)) 214.12/145.82 new_primModNatS1(Succ(Zero), Succ(x0)) 214.12/145.82 new_primMinusNatS2(Succ(x0), Succ(x1)) 214.12/145.82 new_primModNatS01(x0, x1, Zero, Succ(x2)) 214.12/145.82 new_esEs(Neg(Zero)) 214.12/145.82 214.12/145.82 We have to consider all minimal (P,Q,R)-chains. 214.12/145.82 ---------------------------------------- 214.12/145.82 214.12/145.82 (352) TransformationProof (EQUIVALENT) 214.12/145.82 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]: 214.12/145.82 214.12/145.82 (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)))))) 214.12/145.82 214.12/145.82 214.12/145.82 ---------------------------------------- 214.12/145.82 214.12/145.82 (353) 214.12/145.82 Obligation: 214.12/145.82 Q DP problem: 214.12/145.82 The TRS P consists of the following rules: 214.12/145.82 214.12/145.82 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))))) 214.12/145.82 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)))))) 214.12/145.82 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))))) 214.12/145.82 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))))) 214.12/145.82 214.12/145.82 The TRS R consists of the following rules: 214.12/145.82 214.12/145.82 new_primModNatS01(vyv331, vyv332, Zero, Zero) -> new_primModNatS02(vyv331, vyv332) 214.12/145.82 new_primModNatS02(vyv331, vyv332) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv331), Succ(vyv332)), Succ(vyv332)) 214.12/145.82 new_primModNatS1(Succ(Succ(vyv293000)), Succ(vyv292000)) -> new_primModNatS01(vyv293000, vyv292000, vyv293000, vyv292000) 214.12/145.82 new_primModNatS01(vyv331, vyv332, Succ(vyv3330), Succ(vyv3340)) -> new_primModNatS01(vyv331, vyv332, vyv3330, vyv3340) 214.12/145.82 new_primModNatS01(vyv331, vyv332, Succ(vyv3330), Zero) -> new_primModNatS02(vyv331, vyv332) 214.12/145.82 new_primMinusNatS2(Succ(vyv3110), Succ(vyv3120)) -> new_primMinusNatS2(vyv3110, vyv3120) 214.12/145.82 new_primModNatS1(Succ(Zero), Succ(vyv292000)) -> Succ(Zero) 214.12/145.82 new_primModNatS1(Zero, vyv29200) -> Zero 214.12/145.82 new_primModNatS01(vyv331, vyv332, Zero, Succ(vyv3340)) -> Succ(Succ(vyv331)) 214.12/145.82 new_primMinusNatS2(Zero, Zero) -> Zero 214.12/145.82 new_primMinusNatS2(Zero, Succ(vyv3120)) -> Zero 214.12/145.82 new_primMinusNatS2(Succ(vyv3110), Zero) -> Succ(vyv3110) 214.12/145.82 new_esEs(Neg(Succ(vyv24300))) -> new_primEqInt(Neg(Succ(vyv24300))) 214.12/145.82 new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) 214.12/145.82 new_primEqInt(Neg(Zero)) -> True 214.12/145.82 new_primEqInt(Neg(Succ(vyv242000))) -> False 214.12/145.82 214.12/145.82 The set Q consists of the following terms: 214.12/145.82 214.12/145.82 new_primModNatS01(x0, x1, Succ(x2), Zero) 214.12/145.82 new_primModNatS1(Succ(Succ(x0)), Zero) 214.12/145.82 new_primEqInt(Pos(Zero)) 214.12/145.82 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 214.12/145.82 new_esEs(Pos(Succ(x0))) 214.12/145.82 new_primModNatS1(Zero, x0) 214.12/145.82 new_primModNatS02(x0, x1) 214.12/145.82 new_primMinusNatS2(Zero, Zero) 214.12/145.82 new_primModNatS1(Succ(Zero), Zero) 214.12/145.82 new_primMinusNatS2(Succ(x0), Zero) 214.12/145.82 new_esEs(Pos(Zero)) 214.12/145.82 new_primEqInt(Neg(Succ(x0))) 214.12/145.82 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 214.12/145.82 new_esEs(Neg(Succ(x0))) 214.12/145.82 new_primEqInt(Neg(Zero)) 214.12/145.82 new_primModNatS01(x0, x1, Zero, Zero) 214.12/145.82 new_primEqInt(Pos(Succ(x0))) 214.12/145.82 new_primMinusNatS2(Zero, Succ(x0)) 214.12/145.82 new_primModNatS1(Succ(Zero), Succ(x0)) 214.12/145.82 new_primMinusNatS2(Succ(x0), Succ(x1)) 214.12/145.82 new_primModNatS01(x0, x1, Zero, Succ(x2)) 214.12/145.82 new_esEs(Neg(Zero)) 214.12/145.82 214.12/145.82 We have to consider all minimal (P,Q,R)-chains. 214.12/145.82 ---------------------------------------- 214.12/145.82 214.12/145.82 (354) TransformationProof (EQUIVALENT) 214.12/145.82 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]: 214.12/145.82 214.12/145.82 (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)))))) 214.12/145.82 214.12/145.82 214.12/145.82 ---------------------------------------- 214.12/145.82 214.12/145.82 (355) 214.12/145.82 Obligation: 214.12/145.82 Q DP problem: 214.12/145.82 The TRS P consists of the following rules: 214.12/145.82 214.12/145.82 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))))) 214.12/145.82 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)))))) 214.12/145.82 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))))) 214.12/145.82 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))))) 214.12/145.82 214.12/145.82 The TRS R consists of the following rules: 214.12/145.82 214.12/145.82 new_primModNatS01(vyv331, vyv332, Zero, Zero) -> new_primModNatS02(vyv331, vyv332) 214.12/145.82 new_primModNatS02(vyv331, vyv332) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv331), Succ(vyv332)), Succ(vyv332)) 214.12/145.82 new_primModNatS1(Succ(Succ(vyv293000)), Succ(vyv292000)) -> new_primModNatS01(vyv293000, vyv292000, vyv293000, vyv292000) 214.12/145.82 new_primModNatS01(vyv331, vyv332, Succ(vyv3330), Succ(vyv3340)) -> new_primModNatS01(vyv331, vyv332, vyv3330, vyv3340) 214.12/145.82 new_primModNatS01(vyv331, vyv332, Succ(vyv3330), Zero) -> new_primModNatS02(vyv331, vyv332) 214.12/145.82 new_primMinusNatS2(Succ(vyv3110), Succ(vyv3120)) -> new_primMinusNatS2(vyv3110, vyv3120) 214.12/145.82 new_primModNatS1(Succ(Zero), Succ(vyv292000)) -> Succ(Zero) 214.12/145.82 new_primModNatS1(Zero, vyv29200) -> Zero 214.12/145.82 new_primModNatS01(vyv331, vyv332, Zero, Succ(vyv3340)) -> Succ(Succ(vyv331)) 214.12/145.82 new_primMinusNatS2(Zero, Zero) -> Zero 214.12/145.82 new_primMinusNatS2(Zero, Succ(vyv3120)) -> Zero 214.12/145.82 new_primMinusNatS2(Succ(vyv3110), Zero) -> Succ(vyv3110) 214.12/145.82 new_esEs(Neg(Succ(vyv24300))) -> new_primEqInt(Neg(Succ(vyv24300))) 214.12/145.82 new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) 214.12/145.82 new_primEqInt(Neg(Zero)) -> True 214.12/145.82 new_primEqInt(Neg(Succ(vyv242000))) -> False 214.12/145.82 214.12/145.82 The set Q consists of the following terms: 214.12/145.82 214.12/145.82 new_primModNatS01(x0, x1, Succ(x2), Zero) 214.12/145.82 new_primModNatS1(Succ(Succ(x0)), Zero) 214.12/145.82 new_primEqInt(Pos(Zero)) 214.12/145.82 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 214.12/145.82 new_esEs(Pos(Succ(x0))) 214.12/145.82 new_primModNatS1(Zero, x0) 214.12/145.82 new_primModNatS02(x0, x1) 214.12/145.82 new_primMinusNatS2(Zero, Zero) 214.12/145.82 new_primModNatS1(Succ(Zero), Zero) 214.12/145.82 new_primMinusNatS2(Succ(x0), Zero) 214.12/145.82 new_esEs(Pos(Zero)) 214.12/145.82 new_primEqInt(Neg(Succ(x0))) 214.12/145.82 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 214.12/145.82 new_esEs(Neg(Succ(x0))) 214.12/145.82 new_primEqInt(Neg(Zero)) 214.12/145.82 new_primModNatS01(x0, x1, Zero, Zero) 214.12/145.82 new_primEqInt(Pos(Succ(x0))) 214.12/145.82 new_primMinusNatS2(Zero, Succ(x0)) 214.12/145.82 new_primModNatS1(Succ(Zero), Succ(x0)) 214.12/145.82 new_primMinusNatS2(Succ(x0), Succ(x1)) 214.12/145.82 new_primModNatS01(x0, x1, Zero, Succ(x2)) 214.12/145.82 new_esEs(Neg(Zero)) 214.12/145.82 214.12/145.82 We have to consider all minimal (P,Q,R)-chains. 214.12/145.82 ---------------------------------------- 214.12/145.82 214.12/145.82 (356) TransformationProof (EQUIVALENT) 214.12/145.82 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]: 214.12/145.82 214.12/145.82 (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)))))) 214.12/145.82 214.12/145.82 214.12/145.82 ---------------------------------------- 214.12/145.82 214.12/145.82 (357) 214.12/145.82 Obligation: 214.12/145.82 Q DP problem: 214.12/145.82 The TRS P consists of the following rules: 214.12/145.82 214.12/145.82 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))))) 214.12/145.82 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)))))) 214.12/145.82 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))))) 214.12/145.82 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))))) 214.12/145.82 214.12/145.82 The TRS R consists of the following rules: 214.12/145.82 214.12/145.82 new_primModNatS01(vyv331, vyv332, Zero, Zero) -> new_primModNatS02(vyv331, vyv332) 214.12/145.82 new_primModNatS02(vyv331, vyv332) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv331), Succ(vyv332)), Succ(vyv332)) 214.12/145.82 new_primModNatS1(Succ(Succ(vyv293000)), Succ(vyv292000)) -> new_primModNatS01(vyv293000, vyv292000, vyv293000, vyv292000) 214.12/145.82 new_primModNatS01(vyv331, vyv332, Succ(vyv3330), Succ(vyv3340)) -> new_primModNatS01(vyv331, vyv332, vyv3330, vyv3340) 214.12/145.82 new_primModNatS01(vyv331, vyv332, Succ(vyv3330), Zero) -> new_primModNatS02(vyv331, vyv332) 214.12/145.82 new_primMinusNatS2(Succ(vyv3110), Succ(vyv3120)) -> new_primMinusNatS2(vyv3110, vyv3120) 214.12/145.82 new_primModNatS1(Succ(Zero), Succ(vyv292000)) -> Succ(Zero) 214.12/145.82 new_primModNatS1(Zero, vyv29200) -> Zero 214.12/145.82 new_primModNatS01(vyv331, vyv332, Zero, Succ(vyv3340)) -> Succ(Succ(vyv331)) 214.12/145.82 new_primMinusNatS2(Zero, Zero) -> Zero 214.12/145.82 new_primMinusNatS2(Zero, Succ(vyv3120)) -> Zero 214.12/145.82 new_primMinusNatS2(Succ(vyv3110), Zero) -> Succ(vyv3110) 214.12/145.82 new_esEs(Neg(Succ(vyv24300))) -> new_primEqInt(Neg(Succ(vyv24300))) 214.12/145.82 new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) 214.12/145.82 new_primEqInt(Neg(Zero)) -> True 214.12/145.82 new_primEqInt(Neg(Succ(vyv242000))) -> False 214.12/145.82 214.12/145.82 The set Q consists of the following terms: 214.12/145.82 214.12/145.82 new_primModNatS01(x0, x1, Succ(x2), Zero) 214.12/145.82 new_primModNatS1(Succ(Succ(x0)), Zero) 214.12/145.82 new_primEqInt(Pos(Zero)) 214.12/145.82 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 214.12/145.82 new_esEs(Pos(Succ(x0))) 214.12/145.82 new_primModNatS1(Zero, x0) 214.12/145.82 new_primModNatS02(x0, x1) 214.12/145.82 new_primMinusNatS2(Zero, Zero) 214.12/145.82 new_primModNatS1(Succ(Zero), Zero) 214.12/145.82 new_primMinusNatS2(Succ(x0), Zero) 214.12/145.82 new_esEs(Pos(Zero)) 214.12/145.82 new_primEqInt(Neg(Succ(x0))) 214.12/145.82 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 214.12/145.82 new_esEs(Neg(Succ(x0))) 214.12/145.82 new_primEqInt(Neg(Zero)) 214.12/145.82 new_primModNatS01(x0, x1, Zero, Zero) 214.12/145.82 new_primEqInt(Pos(Succ(x0))) 214.12/145.82 new_primMinusNatS2(Zero, Succ(x0)) 214.12/145.82 new_primModNatS1(Succ(Zero), Succ(x0)) 214.12/145.82 new_primMinusNatS2(Succ(x0), Succ(x1)) 214.12/145.82 new_primModNatS01(x0, x1, Zero, Succ(x2)) 214.12/145.82 new_esEs(Neg(Zero)) 214.12/145.82 214.12/145.82 We have to consider all minimal (P,Q,R)-chains. 214.12/145.82 ---------------------------------------- 214.12/145.82 214.12/145.82 (358) TransformationProof (EQUIVALENT) 214.12/145.82 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]: 214.12/145.82 214.12/145.82 (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)))))) 214.12/145.82 214.12/145.82 214.12/145.82 ---------------------------------------- 214.12/145.82 214.12/145.82 (359) 214.12/145.82 Obligation: 214.12/145.82 Q DP problem: 214.12/145.82 The TRS P consists of the following rules: 214.12/145.82 214.12/145.82 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))))) 214.12/145.82 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)))))) 214.12/145.82 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))))) 214.12/145.82 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))))) 214.12/145.82 214.12/145.82 The TRS R consists of the following rules: 214.12/145.82 214.12/145.82 new_primModNatS01(vyv331, vyv332, Zero, Zero) -> new_primModNatS02(vyv331, vyv332) 214.12/145.82 new_primModNatS02(vyv331, vyv332) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv331), Succ(vyv332)), Succ(vyv332)) 214.12/145.82 new_primModNatS1(Succ(Succ(vyv293000)), Succ(vyv292000)) -> new_primModNatS01(vyv293000, vyv292000, vyv293000, vyv292000) 214.12/145.82 new_primModNatS01(vyv331, vyv332, Succ(vyv3330), Succ(vyv3340)) -> new_primModNatS01(vyv331, vyv332, vyv3330, vyv3340) 214.12/145.82 new_primModNatS01(vyv331, vyv332, Succ(vyv3330), Zero) -> new_primModNatS02(vyv331, vyv332) 214.12/145.82 new_primMinusNatS2(Succ(vyv3110), Succ(vyv3120)) -> new_primMinusNatS2(vyv3110, vyv3120) 214.12/145.82 new_primModNatS1(Succ(Zero), Succ(vyv292000)) -> Succ(Zero) 214.12/145.82 new_primModNatS1(Zero, vyv29200) -> Zero 214.12/145.82 new_primModNatS01(vyv331, vyv332, Zero, Succ(vyv3340)) -> Succ(Succ(vyv331)) 214.12/145.82 new_primMinusNatS2(Zero, Zero) -> Zero 214.12/145.82 new_primMinusNatS2(Zero, Succ(vyv3120)) -> Zero 214.12/145.82 new_primMinusNatS2(Succ(vyv3110), Zero) -> Succ(vyv3110) 214.12/145.82 new_esEs(Neg(Succ(vyv24300))) -> new_primEqInt(Neg(Succ(vyv24300))) 214.12/145.82 new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) 214.12/145.82 new_primEqInt(Neg(Zero)) -> True 214.12/145.82 new_primEqInt(Neg(Succ(vyv242000))) -> False 214.12/145.82 214.12/145.82 The set Q consists of the following terms: 214.12/145.82 214.12/145.82 new_primModNatS01(x0, x1, Succ(x2), Zero) 214.12/145.82 new_primModNatS1(Succ(Succ(x0)), Zero) 214.12/145.82 new_primEqInt(Pos(Zero)) 214.12/145.82 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 214.12/145.82 new_esEs(Pos(Succ(x0))) 214.12/145.82 new_primModNatS1(Zero, x0) 214.12/145.82 new_primModNatS02(x0, x1) 214.12/145.82 new_primMinusNatS2(Zero, Zero) 214.12/145.82 new_primModNatS1(Succ(Zero), Zero) 214.12/145.82 new_primMinusNatS2(Succ(x0), Zero) 214.12/145.82 new_esEs(Pos(Zero)) 214.12/145.82 new_primEqInt(Neg(Succ(x0))) 214.12/145.82 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 214.12/145.82 new_esEs(Neg(Succ(x0))) 214.12/145.82 new_primEqInt(Neg(Zero)) 214.12/145.82 new_primModNatS01(x0, x1, Zero, Zero) 214.12/145.82 new_primEqInt(Pos(Succ(x0))) 214.12/145.82 new_primMinusNatS2(Zero, Succ(x0)) 214.12/145.82 new_primModNatS1(Succ(Zero), Succ(x0)) 214.12/145.82 new_primMinusNatS2(Succ(x0), Succ(x1)) 214.12/145.82 new_primModNatS01(x0, x1, Zero, Succ(x2)) 214.12/145.82 new_esEs(Neg(Zero)) 214.12/145.82 214.12/145.82 We have to consider all minimal (P,Q,R)-chains. 214.12/145.82 ---------------------------------------- 214.12/145.82 214.12/145.82 (360) InductionCalculusProof (EQUIVALENT) 214.12/145.82 Note that final constraints are written in bold face. 214.12/145.82 214.12/145.82 214.12/145.82 214.12/145.82 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: 214.12/145.82 *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: 214.12/145.82 214.12/145.82 (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)))))) 214.12/145.82 214.12/145.82 214.12/145.82 214.12/145.82 We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: 214.12/145.82 214.12/145.82 (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)))))) 214.12/145.82 214.12/145.82 214.12/145.82 214.12/145.82 214.12/145.82 214.12/145.82 214.12/145.82 214.12/145.82 214.12/145.82 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: 214.12/145.82 *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: 214.12/145.82 214.12/145.82 (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))))))) 214.12/145.82 214.12/145.82 214.12/145.82 214.12/145.82 We simplified constraint (1) using rules (I), (II), (IV), (VII) which results in the following new constraint: 214.12/145.82 214.12/145.82 (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))))))) 214.12/145.82 214.12/145.82 214.12/145.82 214.12/145.82 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: 214.12/145.82 214.12/145.82 (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))))))) 214.12/145.82 214.12/145.82 (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))))))) 214.12/145.82 214.12/145.82 214.12/145.82 214.12/145.82 We simplified constraint (3) using rules (I), (II), (VII) which results in the following new constraint: 214.12/145.82 214.12/145.82 (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))))))) 214.12/145.82 214.12/145.82 214.12/145.82 214.12/145.82 We simplified constraint (4) using rules (I), (II), (VII) which results in the following new constraint: 214.12/145.82 214.12/145.82 (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))))))) 214.12/145.82 214.12/145.82 214.12/145.82 214.12/145.82 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: 214.12/145.82 214.12/145.82 (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))))))) 214.12/145.82 214.12/145.82 214.12/145.82 214.12/145.82 We simplified constraint (7) using rules (I), (II), (IV) which results in the following new constraint: 214.12/145.82 214.12/145.82 (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))))))) 214.12/145.82 214.12/145.82 214.12/145.82 214.12/145.82 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: 214.12/145.82 214.12/145.82 (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))))))) 214.12/145.82 214.12/145.82 (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))))))) 214.12/145.82 214.12/145.82 214.12/145.82 214.12/145.82 We simplified constraint (9) using rules (I), (II), (III), (VII) which results in the following new constraint: 214.12/145.82 214.12/145.82 (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)))))))) 214.12/145.82 214.12/145.82 214.12/145.82 214.12/145.82 We simplified constraint (10) using rules (I), (II), (III), (IV) which results in the following new constraint: 214.12/145.82 214.12/145.82 (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))))))) 214.12/145.82 214.12/145.82 214.12/145.82 214.12/145.82 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: 214.12/145.82 214.12/145.82 (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)))))))) 214.12/145.82 214.12/145.82 (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)))))))) 214.12/145.82 214.12/145.82 (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)))))))) 214.12/145.82 214.12/145.82 (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)))))))) 214.12/145.82 214.12/145.82 214.12/145.82 214.12/145.82 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: 214.12/145.82 214.12/145.82 (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))))))))) 214.12/145.82 214.12/145.82 214.12/145.82 214.12/145.82 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: 214.12/145.82 214.12/145.82 (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)))))))) 214.12/145.82 214.12/145.82 214.12/145.82 214.12/145.82 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: 214.12/145.82 214.12/145.82 (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))))))) 214.12/145.82 214.12/145.82 214.12/145.82 214.12/145.82 We solved constraint (19) using rules (I), (II). 214.12/145.82 214.12/145.82 214.12/145.82 214.12/145.82 214.12/145.82 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: 214.12/145.82 *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: 214.12/145.82 214.12/145.82 (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)))))) 214.12/145.82 214.12/145.82 214.12/145.82 214.12/145.82 We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: 214.12/145.82 214.12/145.82 (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)))))) 214.12/145.82 214.12/145.82 214.12/145.82 214.12/145.82 214.12/145.82 214.12/145.82 214.12/145.82 214.12/145.82 214.12/145.82 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: 214.12/145.82 *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: 214.12/145.82 214.12/145.82 (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)))))) 214.12/145.82 214.12/145.82 214.12/145.82 214.12/145.82 We simplified constraint (1) using rules (I), (II), (VII) which results in the following new constraint: 214.12/145.82 214.12/145.82 (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)))))) 214.12/145.82 214.12/145.82 214.12/145.82 214.12/145.82 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: 214.12/145.82 214.12/145.82 (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)))))) 214.12/145.82 214.12/145.82 (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)))))) 214.12/145.82 214.12/145.82 214.12/145.82 214.12/145.82 We simplified constraint (3) using rules (I), (II), (III), (VII) which results in the following new constraint: 214.12/145.82 214.12/145.82 (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)))))) 214.12/145.82 214.12/145.82 214.12/145.82 214.12/145.82 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: 214.12/145.82 214.12/145.82 (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)))))) 214.12/145.82 214.12/145.82 (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)))))) 214.12/145.82 214.12/145.82 (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)))))) 214.12/145.82 214.12/145.82 (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)))))) 214.12/145.82 214.12/145.82 214.12/145.82 214.12/145.82 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: 214.12/145.82 214.12/145.82 (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)))))) 214.12/145.82 214.12/145.82 214.12/145.82 214.12/145.82 We solved constraint (8) using rules (I), (II), (III).We solved constraint (9) using rules (I), (II), (III), (IV). 214.12/145.82 214.12/145.82 214.12/145.82 214.12/145.82 214.12/145.82 To summarize, we get the following constraints P__>=_ for the following pairs. 214.12/145.82 214.12/145.82 *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))))) 214.12/145.82 214.12/145.82 *(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)))))) 214.12/145.82 214.12/145.82 214.12/145.82 214.12/145.82 214.12/145.82 *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)))))) 214.12/145.82 214.12/145.82 *(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)))))))) 214.12/145.82 214.12/145.82 214.12/145.82 *(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))))))) 214.12/145.82 214.12/145.82 214.12/145.82 *(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))))))))) 214.12/145.82 214.12/145.82 214.12/145.82 214.12/145.82 214.12/145.82 *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))))) 214.12/145.82 214.12/145.82 *(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)))))) 214.12/145.82 214.12/145.82 214.12/145.82 214.12/145.82 214.12/145.82 *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))))) 214.12/145.82 214.12/145.82 *(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)))))) 214.12/145.82 214.12/145.82 214.12/145.82 214.12/145.82 214.12/145.82 214.12/145.82 214.12/145.82 214.12/145.82 214.12/145.82 The constraints for P_> respective P_bound are constructed from P__>=_ where we just replace every occurence of "t _>=_ s" in P__>=_ by "t > s" respective "t _>=_ c". Here c stands for the fresh constant used for P_bound. 214.12/145.82 ---------------------------------------- 214.12/145.82 214.12/145.82 (361) 214.12/145.82 Obligation: 214.12/145.82 Q DP problem: 214.12/145.82 The TRS P consists of the following rules: 214.12/145.82 214.12/145.82 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))))) 214.12/145.82 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)))))) 214.12/145.82 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))))) 214.12/145.82 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))))) 214.12/145.82 214.12/145.82 The TRS R consists of the following rules: 214.12/145.82 214.12/145.82 new_primModNatS01(vyv331, vyv332, Zero, Zero) -> new_primModNatS02(vyv331, vyv332) 214.12/145.82 new_primModNatS02(vyv331, vyv332) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv331), Succ(vyv332)), Succ(vyv332)) 214.12/145.82 new_primModNatS1(Succ(Succ(vyv293000)), Succ(vyv292000)) -> new_primModNatS01(vyv293000, vyv292000, vyv293000, vyv292000) 214.12/145.82 new_primModNatS01(vyv331, vyv332, Succ(vyv3330), Succ(vyv3340)) -> new_primModNatS01(vyv331, vyv332, vyv3330, vyv3340) 214.12/145.82 new_primModNatS01(vyv331, vyv332, Succ(vyv3330), Zero) -> new_primModNatS02(vyv331, vyv332) 214.12/145.82 new_primMinusNatS2(Succ(vyv3110), Succ(vyv3120)) -> new_primMinusNatS2(vyv3110, vyv3120) 214.12/145.82 new_primModNatS1(Succ(Zero), Succ(vyv292000)) -> Succ(Zero) 214.12/145.82 new_primModNatS1(Zero, vyv29200) -> Zero 214.12/145.82 new_primModNatS01(vyv331, vyv332, Zero, Succ(vyv3340)) -> Succ(Succ(vyv331)) 214.12/145.82 new_primMinusNatS2(Zero, Zero) -> Zero 214.12/145.82 new_primMinusNatS2(Zero, Succ(vyv3120)) -> Zero 214.12/145.82 new_primMinusNatS2(Succ(vyv3110), Zero) -> Succ(vyv3110) 214.12/145.82 new_esEs(Neg(Succ(vyv24300))) -> new_primEqInt(Neg(Succ(vyv24300))) 214.12/145.82 new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) 214.12/145.82 new_primEqInt(Neg(Zero)) -> True 214.12/145.82 new_primEqInt(Neg(Succ(vyv242000))) -> False 214.12/145.82 214.12/145.82 The set Q consists of the following terms: 214.12/145.82 214.12/145.82 new_primModNatS01(x0, x1, Succ(x2), Zero) 214.12/145.82 new_primModNatS1(Succ(Succ(x0)), Zero) 214.12/145.82 new_primEqInt(Pos(Zero)) 214.12/145.82 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 214.12/145.82 new_esEs(Pos(Succ(x0))) 214.12/145.82 new_primModNatS1(Zero, x0) 214.12/145.82 new_primModNatS02(x0, x1) 214.12/145.82 new_primMinusNatS2(Zero, Zero) 214.12/145.82 new_primModNatS1(Succ(Zero), Zero) 214.12/145.82 new_primMinusNatS2(Succ(x0), Zero) 214.12/145.82 new_esEs(Pos(Zero)) 214.12/145.82 new_primEqInt(Neg(Succ(x0))) 214.12/145.82 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 214.12/145.82 new_esEs(Neg(Succ(x0))) 214.12/145.82 new_primEqInt(Neg(Zero)) 214.12/145.82 new_primModNatS01(x0, x1, Zero, Zero) 214.12/145.82 new_primEqInt(Pos(Succ(x0))) 214.12/145.82 new_primMinusNatS2(Zero, Succ(x0)) 214.12/145.82 new_primModNatS1(Succ(Zero), Succ(x0)) 214.12/145.82 new_primMinusNatS2(Succ(x0), Succ(x1)) 214.12/145.82 new_primModNatS01(x0, x1, Zero, Succ(x2)) 214.12/145.82 new_esEs(Neg(Zero)) 214.12/145.82 214.12/145.82 We have to consider all minimal (P,Q,R)-chains. 214.12/145.82 ---------------------------------------- 214.12/145.82 214.12/145.82 (362) 214.12/145.82 Obligation: 214.12/145.82 Q DP problem: 214.12/145.82 The TRS P consists of the following rules: 214.12/145.82 214.12/145.82 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)))))) 214.12/145.82 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))) 214.12/145.82 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)))))) 214.12/145.82 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))) 214.12/145.82 214.12/145.82 The TRS R consists of the following rules: 214.12/145.82 214.12/145.82 new_primModNatS1(Succ(Succ(vyv293000)), Succ(vyv292000)) -> new_primModNatS01(vyv293000, vyv292000, vyv293000, vyv292000) 214.12/145.82 new_primModNatS01(vyv331, vyv332, Zero, Zero) -> new_primModNatS02(vyv331, vyv332) 214.12/145.82 new_primModNatS02(vyv331, vyv332) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv331), Succ(vyv332)), Succ(vyv332)) 214.12/145.82 new_primModNatS01(vyv331, vyv332, Succ(vyv3330), Succ(vyv3340)) -> new_primModNatS01(vyv331, vyv332, vyv3330, vyv3340) 214.12/145.82 new_primModNatS01(vyv331, vyv332, Succ(vyv3330), Zero) -> new_primModNatS02(vyv331, vyv332) 214.12/145.82 new_primModNatS01(vyv331, vyv332, Zero, Succ(vyv3340)) -> Succ(Succ(vyv331)) 214.12/145.82 new_primMinusNatS2(Succ(vyv3110), Succ(vyv3120)) -> new_primMinusNatS2(vyv3110, vyv3120) 214.12/145.82 new_primModNatS1(Succ(Zero), Succ(vyv292000)) -> Succ(Zero) 214.12/145.82 new_primModNatS1(Zero, vyv29200) -> Zero 214.12/145.82 new_primMinusNatS2(Zero, Zero) -> Zero 214.12/145.82 new_primMinusNatS2(Zero, Succ(vyv3120)) -> Zero 214.12/145.82 new_primMinusNatS2(Succ(vyv3110), Zero) -> Succ(vyv3110) 214.12/145.82 new_esEs(Pos(Succ(vyv24300))) -> new_primEqInt(Pos(Succ(vyv24300))) 214.12/145.82 new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) 214.12/145.82 new_primEqInt(Pos(Zero)) -> True 214.12/145.82 new_primEqInt(Pos(Succ(vyv242000))) -> False 214.12/145.82 new_esEs(Neg(Succ(vyv24300))) -> new_primEqInt(Neg(Succ(vyv24300))) 214.12/145.82 new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) 214.12/145.82 new_primEqInt(Neg(Zero)) -> True 214.12/145.82 new_primEqInt(Neg(Succ(vyv242000))) -> False 214.12/145.82 214.12/145.82 The set Q consists of the following terms: 214.12/145.82 214.12/145.82 new_primModNatS01(x0, x1, Succ(x2), Zero) 214.12/145.82 new_primModNatS1(Succ(Succ(x0)), Zero) 214.12/145.82 new_primEqInt(Pos(Zero)) 214.12/145.82 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 214.12/145.82 new_esEs(Pos(Succ(x0))) 214.12/145.82 new_primModNatS1(Zero, x0) 214.12/145.82 new_primModNatS02(x0, x1) 214.12/145.82 new_primMinusNatS2(Zero, Zero) 214.12/145.82 new_primModNatS1(Succ(Zero), Zero) 214.12/145.82 new_primMinusNatS2(Succ(x0), Zero) 214.12/145.82 new_esEs(Pos(Zero)) 214.12/145.82 new_primEqInt(Neg(Succ(x0))) 214.12/145.82 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 214.12/145.82 new_esEs(Neg(Succ(x0))) 214.12/145.82 new_primEqInt(Neg(Zero)) 214.12/145.82 new_primModNatS01(x0, x1, Zero, Zero) 214.12/145.82 new_primEqInt(Pos(Succ(x0))) 214.12/145.82 new_primMinusNatS2(Zero, Succ(x0)) 214.12/145.82 new_primModNatS1(Succ(Zero), Succ(x0)) 214.12/145.82 new_primMinusNatS2(Succ(x0), Succ(x1)) 214.12/145.82 new_primModNatS01(x0, x1, Zero, Succ(x2)) 214.12/145.82 new_esEs(Neg(Zero)) 214.12/145.82 214.12/145.82 We have to consider all minimal (P,Q,R)-chains. 214.12/145.82 ---------------------------------------- 214.12/145.82 214.12/145.82 (363) InductionCalculusProof (EQUIVALENT) 214.12/145.82 Note that final constraints are written in bold face. 214.12/145.82 214.12/145.82 214.12/145.82 214.12/145.82 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: 214.12/145.82 *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: 214.12/145.82 214.12/145.82 (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))))))) 214.12/145.82 214.12/145.82 214.12/145.82 214.12/145.82 We simplified constraint (1) using rules (I), (II), (IV), (VII) which results in the following new constraint: 214.12/145.82 214.12/145.82 (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))))))) 214.12/145.82 214.12/145.82 214.12/145.82 214.12/145.82 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: 214.12/145.82 214.12/145.82 (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))))))) 214.12/145.82 214.12/145.82 (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))))))) 214.12/145.82 214.12/145.82 (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))))))) 214.12/145.82 214.12/145.82 (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))))))) 214.12/145.82 214.12/145.82 214.12/145.82 214.12/145.82 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: 214.12/145.82 214.12/145.82 (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))))))) 214.12/145.82 214.12/145.82 214.12/145.82 214.12/145.82 We simplified constraint (6) using rules (I), (II), (VII) which results in the following new constraint: 214.12/145.82 214.12/145.82 (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))))))) 214.12/145.82 214.12/145.82 214.12/145.82 214.12/145.82 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: 214.12/145.82 214.12/145.82 (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))))))) 214.12/145.82 214.12/145.82 (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))))))) 214.12/145.82 214.12/145.82 214.12/145.82 214.12/145.82 We solved constraint (9) using rules (I), (II).We simplified constraint (10) using rules (I), (II), (IV) which results in the following new constraint: 214.12/145.82 214.12/145.82 (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))))))) 214.12/145.82 214.12/145.82 214.12/145.82 214.12/145.82 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: 214.12/145.82 214.12/145.82 (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))))))) 214.12/145.82 214.12/145.82 (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)))))))) 214.12/145.82 214.12/145.82 (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)))))))) 214.12/145.82 214.12/145.82 (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))))))) 214.12/145.82 214.12/145.82 214.12/145.82 214.12/145.82 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: 214.12/145.82 214.12/145.82 (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))))))) 214.12/145.82 214.12/145.82 214.12/145.82 214.12/145.82 We simplified constraint (13) using rule (IV) which results in the following new constraint: 214.12/145.82 214.12/145.82 (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)))))))) 214.12/145.82 214.12/145.82 214.12/145.82 214.12/145.82 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: 214.12/145.82 214.12/145.82 (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)))))))) 214.12/145.82 214.12/145.82 214.12/145.82 214.12/145.82 We simplified constraint (15) using rules (I), (II), (IV) which results in the following new constraint: 214.12/145.82 214.12/145.82 (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))))))) 214.12/145.82 214.12/145.82 214.12/145.82 214.12/145.82 We simplified constraint (16) using rules (III), (IV), (VII) which results in the following new constraint: 214.12/145.82 214.12/145.82 (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))))))) 214.12/145.82 214.12/145.82 214.12/145.82 214.12/145.82 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: 214.12/145.82 214.12/145.82 (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)))))))) 214.12/145.82 214.12/145.82 (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))))))))) 214.12/145.82 214.12/145.82 (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))))))))) 214.12/145.82 214.12/145.82 (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)))))))) 214.12/145.82 214.12/145.82 214.12/145.82 214.12/145.82 We simplified constraint (21) using rules (III), (IV) which results in the following new constraint: 214.12/145.82 214.12/145.82 (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)))))))) 214.12/145.82 214.12/145.82 214.12/145.82 214.12/145.82 We simplified constraint (22) using rules (III), (IV) which results in the following new constraint: 214.12/145.82 214.12/145.82 (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))))))))) 214.12/145.82 214.12/145.82 214.12/145.82 214.12/145.82 We simplified constraint (23) using rules (III), (IV) which results in the following new constraint: 214.12/145.82 214.12/145.82 (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))))))))) 214.12/145.82 214.12/145.82 214.12/145.82 214.12/145.82 We simplified constraint (24) using rules (I), (II), (IV) which results in the following new constraint: 214.12/145.82 214.12/145.82 (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)))))))) 214.12/145.82 214.12/145.82 214.12/145.82 214.12/145.82 We simplified constraint (18) using rules (III), (IV), (VII) which results in the following new constraint: 214.12/145.82 214.12/145.82 (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)))))))) 214.12/145.82 214.12/145.82 214.12/145.82 214.12/145.82 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: 214.12/145.82 214.12/145.82 (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))))))) 214.12/145.82 214.12/145.82 (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))))))) 214.12/145.82 214.12/145.82 214.12/145.82 214.12/145.82 We solved constraint (30) using rules (I), (II).We solved constraint (31) using rules (I), (II). 214.12/145.82 214.12/145.82 214.12/145.82 214.12/145.82 214.12/145.82 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: 214.12/145.82 *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: 214.12/145.82 214.12/145.82 (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)))) 214.12/145.82 214.12/145.82 214.12/145.82 214.12/145.82 We simplified constraint (1) using rules (I), (II), (IV), (VII) which results in the following new constraint: 214.12/145.82 214.12/145.82 (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)))) 214.12/145.82 214.12/145.82 214.12/145.82 214.12/145.82 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: 214.12/145.82 214.12/145.82 (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)))) 214.12/145.82 214.12/145.82 (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))))) 214.12/145.82 214.12/145.82 (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)))) 214.12/145.82 214.12/145.82 (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))))) 214.12/145.82 214.12/145.82 214.12/145.82 214.12/145.82 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: 214.12/145.82 214.12/145.82 (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)))) 214.12/145.82 214.12/145.82 214.12/145.82 214.12/145.82 We simplified constraint (4) using rule (IV) which results in the following new constraint: 214.12/145.82 214.12/145.82 (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))))) 214.12/145.82 214.12/145.82 214.12/145.82 214.12/145.82 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: 214.12/145.82 214.12/145.82 (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)))) 214.12/145.82 214.12/145.82 214.12/145.82 214.12/145.82 We simplified constraint (6) using rules (I), (II), (III), (IV) which results in the following new constraint: 214.12/145.82 214.12/145.82 (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))))) 214.12/145.82 214.12/145.82 214.12/145.82 214.12/145.82 We simplified constraint (7) using rules (III), (IV), (VII) which results in the following new constraint: 214.12/145.82 214.12/145.82 (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)))) 214.12/145.82 214.12/145.82 214.12/145.82 214.12/145.82 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: 214.12/145.82 214.12/145.82 (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))))) 214.12/145.82 214.12/145.82 (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)))))) 214.12/145.82 214.12/145.82 (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))))) 214.12/145.82 214.12/145.82 (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)))))) 214.12/145.82 214.12/145.82 214.12/145.82 214.12/145.82 We simplified constraint (12) using rules (III), (IV) which results in the following new constraint: 214.12/145.82 214.12/145.82 (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))))) 214.12/145.82 214.12/145.82 214.12/145.82 214.12/145.82 We simplified constraint (13) using rules (III), (IV) which results in the following new constraint: 214.12/145.82 214.12/145.82 (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)))))) 214.12/145.82 214.12/145.82 214.12/145.82 214.12/145.82 We simplified constraint (14) using rules (III), (IV) which results in the following new constraint: 214.12/145.82 214.12/145.82 (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))))) 214.12/145.82 214.12/145.82 214.12/145.82 214.12/145.82 We simplified constraint (15) using rules (I), (II), (III), (IV) which results in the following new constraint: 214.12/145.82 214.12/145.82 (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)))))) 214.12/145.82 214.12/145.82 214.12/145.82 214.12/145.82 We simplified constraint (9) using rules (III), (IV), (VII) which results in the following new constraint: 214.12/145.82 214.12/145.82 (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)))) 214.12/145.82 214.12/145.82 214.12/145.82 214.12/145.82 214.12/145.82 214.12/145.82 214.12/145.82 214.12/145.82 214.12/145.82 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: 214.12/145.82 *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: 214.12/145.82 214.12/145.82 (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))))))) 214.12/145.82 214.12/145.82 214.12/145.82 214.12/145.82 We simplified constraint (1) using rules (I), (II), (IV), (VII) which results in the following new constraint: 214.12/145.82 214.12/145.82 (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))))))) 214.12/145.82 214.12/145.82 214.12/145.82 214.12/145.82 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: 214.12/145.82 214.12/145.82 (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))))))) 214.12/145.82 214.12/145.82 (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))))))) 214.12/145.82 214.12/145.82 (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))))))) 214.12/145.82 214.12/145.82 (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))))))) 214.12/145.82 214.12/145.82 214.12/145.82 214.12/145.82 We simplified constraint (3) using rules (I), (II), (VII) which results in the following new constraint: 214.12/145.82 214.12/145.82 (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))))))) 214.12/145.82 214.12/145.82 214.12/145.82 214.12/145.82 We simplified constraint (4) using rules (I), (II), (VII) which results in the following new constraint: 214.12/145.82 214.12/145.82 (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))))))) 214.12/145.82 214.12/145.82 214.12/145.82 214.12/145.82 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: 214.12/145.82 214.12/145.82 (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))))))) 214.12/145.82 214.12/145.82 (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))))))) 214.12/145.82 214.12/145.82 214.12/145.82 214.12/145.82 We simplified constraint (9) using rules (I), (II), (IV) which results in the following new constraint: 214.12/145.82 214.12/145.82 (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))))))) 214.12/145.82 214.12/145.82 214.12/145.82 214.12/145.82 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: 214.12/145.82 214.12/145.82 (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))))))) 214.12/145.82 214.12/145.82 (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)))))))) 214.12/145.82 214.12/145.82 (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)))))))) 214.12/145.82 214.12/145.82 (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))))))) 214.12/145.82 214.12/145.82 214.12/145.82 214.12/145.82 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: 214.12/145.82 214.12/145.82 (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))))))) 214.12/145.82 214.12/145.82 214.12/145.82 214.12/145.82 We simplified constraint (13) using rule (IV) which results in the following new constraint: 214.12/145.82 214.12/145.82 (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)))))))) 214.12/145.82 214.12/145.82 214.12/145.82 214.12/145.82 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: 214.12/145.82 214.12/145.82 (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)))))))) 214.12/145.82 214.12/145.82 214.12/145.82 214.12/145.82 We simplified constraint (15) using rules (I), (II), (IV) which results in the following new constraint: 214.12/145.82 214.12/145.82 (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))))))) 214.12/145.82 214.12/145.82 214.12/145.82 214.12/145.82 We simplified constraint (16) using rules (III), (IV), (VII) which results in the following new constraint: 214.12/145.82 214.12/145.82 (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))))))) 214.12/145.82 214.12/145.82 214.12/145.82 214.12/145.82 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: 214.12/145.82 214.12/145.82 (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)))))))) 214.12/145.82 214.12/145.82 (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))))))))) 214.12/145.82 214.12/145.82 (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))))))))) 214.12/145.82 214.12/145.82 (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)))))))) 214.12/145.82 214.12/145.82 214.12/145.82 214.12/145.82 We simplified constraint (21) using rules (III), (IV) which results in the following new constraint: 214.12/145.82 214.12/145.82 (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)))))))) 214.12/145.82 214.12/145.82 214.12/145.82 214.12/145.82 We simplified constraint (22) using rules (III), (IV) which results in the following new constraint: 214.12/145.82 214.12/145.82 (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))))))))) 214.12/145.82 214.12/145.82 214.12/145.82 214.12/145.82 We simplified constraint (23) using rules (III), (IV) which results in the following new constraint: 214.12/145.82 214.12/145.82 (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))))))))) 214.12/145.82 214.12/145.82 214.12/145.82 214.12/145.82 We simplified constraint (24) using rules (I), (II), (IV) which results in the following new constraint: 214.12/145.82 214.12/145.82 (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)))))))) 214.12/145.82 214.12/145.82 214.12/145.82 214.12/145.82 We simplified constraint (18) using rules (III), (IV), (VII) which results in the following new constraint: 214.12/145.82 214.12/145.82 (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)))))))) 214.12/145.82 214.12/145.82 214.12/145.82 214.12/145.82 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: 214.12/145.82 214.12/145.82 (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))))))) 214.12/145.82 214.12/145.82 (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))))))) 214.12/145.82 214.12/145.82 214.12/145.82 214.12/145.82 We solved constraint (30) using rules (I), (II).We solved constraint (31) using rules (I), (II). 214.12/145.82 214.12/145.82 214.12/145.82 214.12/145.82 214.12/145.82 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: 214.12/145.82 *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: 214.12/145.82 214.12/145.82 (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)))) 214.12/145.82 214.12/145.82 214.12/145.82 214.12/145.82 We simplified constraint (1) using rules (I), (II), (IV), (VII) which results in the following new constraint: 214.12/145.82 214.12/145.82 (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)))) 214.12/145.82 214.12/145.82 214.12/145.82 214.12/145.82 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: 214.12/145.82 214.12/145.82 (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)))) 214.12/145.82 214.12/145.82 (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))))) 214.12/145.82 214.12/145.82 (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)))) 214.12/145.82 214.12/145.82 (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))))) 214.12/145.82 214.12/145.82 214.12/145.82 214.12/145.82 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: 214.12/145.82 214.12/145.82 (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)))) 214.12/145.82 214.12/145.82 214.12/145.82 214.12/145.82 We simplified constraint (4) using rule (IV) which results in the following new constraint: 214.12/145.82 214.12/145.82 (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))))) 214.12/145.82 214.12/145.82 214.12/145.82 214.12/145.82 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: 214.12/145.82 214.12/145.82 (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)))) 214.12/145.82 214.12/145.82 214.12/145.82 214.12/145.82 We simplified constraint (6) using rules (I), (II), (III), (IV) which results in the following new constraint: 214.12/145.82 214.12/145.82 (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))))) 214.12/145.82 214.12/145.82 214.12/145.82 214.12/145.82 We simplified constraint (7) using rules (III), (IV), (VII) which results in the following new constraint: 214.12/145.82 214.12/145.82 (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)))) 214.12/145.82 214.12/145.82 214.12/145.82 214.12/145.82 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: 214.12/145.82 214.12/145.82 (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))))) 214.12/145.82 214.12/145.82 (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)))))) 214.12/145.82 214.12/145.82 (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))))) 214.12/145.82 214.12/145.82 (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)))))) 214.12/145.82 214.12/145.82 214.12/145.82 214.12/145.82 We simplified constraint (12) using rules (III), (IV) which results in the following new constraint: 214.12/145.82 214.12/145.82 (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))))) 214.12/145.82 214.12/145.82 214.12/145.82 214.12/145.82 We simplified constraint (13) using rules (III), (IV) which results in the following new constraint: 214.12/145.82 214.12/145.82 (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)))))) 214.12/145.82 214.12/145.82 214.12/145.82 214.12/145.82 We simplified constraint (14) using rules (III), (IV) which results in the following new constraint: 214.12/145.82 214.12/145.82 (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))))) 214.12/145.82 214.12/145.82 214.12/145.82 214.12/145.82 We simplified constraint (15) using rules (I), (II), (III), (IV) which results in the following new constraint: 214.12/145.82 214.12/145.82 (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)))))) 214.12/145.82 214.12/145.82 214.12/145.82 214.12/145.82 We simplified constraint (9) using rules (III), (IV), (VII) which results in the following new constraint: 214.12/145.82 214.12/145.82 (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)))) 214.12/145.82 214.12/145.82 214.12/145.82 214.12/145.82 214.12/145.82 214.12/145.82 214.12/145.82 214.12/145.82 214.12/145.82 To summarize, we get the following constraints P__>=_ for the following pairs. 214.12/145.82 214.12/145.82 *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)))))) 214.12/145.82 214.12/145.82 *(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)))))))) 214.12/145.82 214.12/145.82 214.12/145.82 *(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))))))) 214.12/145.82 214.12/145.82 214.12/145.82 *(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))))))) 214.12/145.82 214.12/145.82 214.12/145.82 *(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)))))))) 214.12/145.82 214.12/145.82 214.12/145.82 *(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))))))))) 214.12/145.82 214.12/145.82 214.12/145.82 *(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))))))))) 214.12/145.82 214.12/145.82 214.12/145.82 *(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)))))))) 214.12/145.82 214.12/145.82 214.12/145.82 214.12/145.82 214.12/145.82 *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))) 214.12/145.82 214.12/145.82 *(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)))))) 214.12/145.82 214.12/145.82 214.12/145.82 *(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))))) 214.12/145.82 214.12/145.82 214.12/145.82 *(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)))) 214.12/145.82 214.12/145.82 214.12/145.82 *(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))))) 214.12/145.82 214.12/145.82 214.12/145.82 *(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)))))) 214.12/145.82 214.12/145.82 214.12/145.82 *(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))))) 214.12/145.82 214.12/145.82 214.12/145.82 *(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)))) 214.12/145.82 214.12/145.82 214.12/145.82 214.12/145.82 214.12/145.82 *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)))))) 214.12/145.82 214.12/145.82 *(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)))))))) 214.12/145.82 214.12/145.82 214.12/145.82 *(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))))))) 214.12/145.82 214.12/145.82 214.12/145.82 *(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))))))) 214.12/145.82 214.12/145.82 214.12/145.82 *(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)))))))) 214.12/145.82 214.12/145.82 214.12/145.82 *(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))))))))) 214.12/145.82 214.12/145.82 214.12/145.82 *(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))))))))) 214.12/145.82 214.12/145.82 214.12/145.82 *(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)))))))) 214.12/145.82 214.12/145.82 214.12/145.82 214.12/145.82 214.12/145.82 *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))) 214.12/145.82 214.12/145.82 *(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)))))) 214.12/145.82 214.12/145.82 214.12/145.82 *(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))))) 214.12/145.82 214.12/145.82 214.12/145.82 *(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)))) 214.12/145.82 214.12/145.82 214.12/145.82 *(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))))) 214.12/145.82 214.12/145.82 214.12/145.82 *(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)))))) 214.12/145.82 214.12/145.82 214.12/145.82 *(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))))) 214.12/145.82 214.12/145.82 214.12/145.82 *(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)))) 214.12/145.82 214.12/145.82 214.12/145.82 214.12/145.82 214.12/145.82 214.12/145.82 214.12/145.82 214.12/145.82 214.12/145.82 The constraints for P_> respective P_bound are constructed from P__>=_ where we just replace every occurence of "t _>=_ s" in P__>=_ by "t > s" respective "t _>=_ c". Here c stands for the fresh constant used for P_bound. 214.12/145.82 ---------------------------------------- 214.12/145.82 214.12/145.82 (364) 214.12/145.82 Obligation: 214.12/145.82 Q DP problem: 214.12/145.82 The TRS P consists of the following rules: 214.12/145.82 214.12/145.82 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)))))) 214.12/145.82 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))) 214.12/145.82 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)))))) 214.12/145.82 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))) 214.12/145.82 214.12/145.82 The TRS R consists of the following rules: 214.12/145.82 214.12/145.82 new_primModNatS1(Succ(Succ(vyv293000)), Succ(vyv292000)) -> new_primModNatS01(vyv293000, vyv292000, vyv293000, vyv292000) 214.12/145.82 new_primModNatS01(vyv331, vyv332, Zero, Zero) -> new_primModNatS02(vyv331, vyv332) 214.12/145.82 new_primModNatS02(vyv331, vyv332) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv331), Succ(vyv332)), Succ(vyv332)) 214.12/145.82 new_primModNatS01(vyv331, vyv332, Succ(vyv3330), Succ(vyv3340)) -> new_primModNatS01(vyv331, vyv332, vyv3330, vyv3340) 214.12/145.82 new_primModNatS01(vyv331, vyv332, Succ(vyv3330), Zero) -> new_primModNatS02(vyv331, vyv332) 214.12/145.82 new_primModNatS01(vyv331, vyv332, Zero, Succ(vyv3340)) -> Succ(Succ(vyv331)) 214.12/145.82 new_primMinusNatS2(Succ(vyv3110), Succ(vyv3120)) -> new_primMinusNatS2(vyv3110, vyv3120) 214.12/145.82 new_primModNatS1(Succ(Zero), Succ(vyv292000)) -> Succ(Zero) 214.12/145.82 new_primModNatS1(Zero, vyv29200) -> Zero 214.12/145.82 new_primMinusNatS2(Zero, Zero) -> Zero 214.12/145.82 new_primMinusNatS2(Zero, Succ(vyv3120)) -> Zero 214.12/145.82 new_primMinusNatS2(Succ(vyv3110), Zero) -> Succ(vyv3110) 214.12/145.82 new_esEs(Pos(Succ(vyv24300))) -> new_primEqInt(Pos(Succ(vyv24300))) 214.12/145.82 new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) 214.12/145.82 new_primEqInt(Pos(Zero)) -> True 214.12/145.82 new_primEqInt(Pos(Succ(vyv242000))) -> False 214.12/145.82 new_esEs(Neg(Succ(vyv24300))) -> new_primEqInt(Neg(Succ(vyv24300))) 214.12/145.82 new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) 214.12/145.82 new_primEqInt(Neg(Zero)) -> True 214.12/145.82 new_primEqInt(Neg(Succ(vyv242000))) -> False 214.12/145.82 214.12/145.82 The set Q consists of the following terms: 214.12/145.82 214.12/145.82 new_primModNatS01(x0, x1, Succ(x2), Zero) 214.12/145.82 new_primModNatS1(Succ(Succ(x0)), Zero) 214.12/145.82 new_primEqInt(Pos(Zero)) 214.12/145.82 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 214.12/145.82 new_esEs(Pos(Succ(x0))) 214.12/145.82 new_primModNatS1(Zero, x0) 214.12/145.82 new_primModNatS02(x0, x1) 214.12/145.82 new_primMinusNatS2(Zero, Zero) 214.12/145.82 new_primModNatS1(Succ(Zero), Zero) 214.12/145.82 new_primMinusNatS2(Succ(x0), Zero) 214.12/145.82 new_esEs(Pos(Zero)) 214.12/145.82 new_primEqInt(Neg(Succ(x0))) 214.12/145.82 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 214.12/145.82 new_esEs(Neg(Succ(x0))) 214.12/145.82 new_primEqInt(Neg(Zero)) 214.12/145.82 new_primModNatS01(x0, x1, Zero, Zero) 214.12/145.82 new_primEqInt(Pos(Succ(x0))) 214.12/145.82 new_primMinusNatS2(Zero, Succ(x0)) 214.12/145.82 new_primModNatS1(Succ(Zero), Succ(x0)) 214.12/145.82 new_primMinusNatS2(Succ(x0), Succ(x1)) 214.12/145.82 new_primModNatS01(x0, x1, Zero, Succ(x2)) 214.12/145.82 new_esEs(Neg(Zero)) 214.12/145.82 214.12/145.82 We have to consider all minimal (P,Q,R)-chains. 214.12/145.82 ---------------------------------------- 214.12/145.82 214.12/145.82 (365) 214.12/145.82 Obligation: 214.12/145.82 Q DP problem: 214.12/145.82 The TRS P consists of the following rules: 214.12/145.82 214.12/145.82 new_gcd0Gcd'1(False, Pos(Succ(x1)), Pos(x0)) -> new_gcd0Gcd'0(Pos(Succ(x1)), Pos(new_primModNatS1(x0, x1))) 214.12/145.82 new_gcd0Gcd'0(Pos(x0), Pos(Succ(x1))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(x0, x1))), Pos(Succ(x1)), Pos(x0)) 214.12/145.82 214.12/145.82 The TRS R consists of the following rules: 214.12/145.82 214.12/145.82 new_primModNatS01(vyv331, vyv332, Succ(vyv3330), Succ(vyv3340)) -> new_primModNatS01(vyv331, vyv332, vyv3330, vyv3340) 214.12/145.82 new_primModNatS1(Succ(Succ(vyv293000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv293000), Zero) 214.12/145.82 new_primModNatS1(Succ(Zero), Succ(vyv292000)) -> Succ(Zero) 214.12/145.82 new_primMinusNatS2(Zero, Zero) -> Zero 214.12/145.82 new_primEqInt(Neg(Zero)) -> True 214.12/145.82 new_primMinusNatS2(Succ(vyv3110), Succ(vyv3120)) -> new_primMinusNatS2(vyv3110, vyv3120) 214.12/145.82 new_primModNatS1(Succ(Succ(vyv293000)), Succ(vyv292000)) -> new_primModNatS01(vyv293000, vyv292000, vyv293000, vyv292000) 214.12/145.82 new_primModNatS01(vyv331, vyv332, Zero, Succ(vyv3340)) -> Succ(Succ(vyv331)) 214.12/145.82 new_primMinusNatS0(vyv271000) -> Succ(vyv271000) 214.12/145.82 new_esEs(Neg(Succ(vyv24300))) -> new_primEqInt(Neg(Succ(vyv24300))) 214.12/145.82 new_rem(Neg(vyv2930), Neg(Succ(vyv29200))) -> Neg(new_primModNatS1(vyv2930, vyv29200)) 214.12/145.82 new_primModNatS1(Zero, vyv29200) -> Zero 214.12/145.82 new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) 214.12/145.82 new_rem(Pos(vyv2930), Pos(Succ(vyv29200))) -> Pos(new_primModNatS1(vyv2930, vyv29200)) 214.12/145.82 new_primMinusNatS2(Zero, Succ(vyv3120)) -> Zero 214.12/145.82 new_primEqInt(Pos(Succ(vyv242000))) -> False 214.12/145.82 new_primEqInt(Pos(Zero)) -> True 214.12/145.82 new_error -> error([]) 214.12/145.82 new_esEs(Pos(Succ(vyv24300))) -> new_primEqInt(Pos(Succ(vyv24300))) 214.12/145.82 new_primEqInt(Neg(Succ(vyv242000))) -> False 214.12/145.82 new_rem(Neg(vyv2930), Neg(Zero)) -> new_error 214.12/145.82 new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) 214.12/145.82 new_primModNatS01(vyv331, vyv332, Zero, Zero) -> new_primModNatS02(vyv331, vyv332) 214.12/145.82 new_rem(Pos(vyv2930), Neg(Zero)) -> new_error 214.12/145.82 new_rem(Neg(vyv2930), Pos(Zero)) -> new_error 214.12/145.82 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 214.12/145.82 new_primModNatS01(vyv331, vyv332, Succ(vyv3330), Zero) -> new_primModNatS02(vyv331, vyv332) 214.12/145.82 new_primModNatS02(vyv331, vyv332) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv331), Succ(vyv332)), Succ(vyv332)) 214.12/145.82 new_rem(Pos(vyv2930), Neg(Succ(vyv29200))) -> Pos(new_primModNatS1(vyv2930, vyv29200)) 214.12/145.82 new_primMinusNatS1 -> Zero 214.12/145.82 new_primMinusNatS2(Succ(vyv3110), Zero) -> Succ(vyv3110) 214.12/145.82 new_rem(Neg(vyv2930), Pos(Succ(vyv29200))) -> Neg(new_primModNatS1(vyv2930, vyv29200)) 214.12/145.82 new_rem(Pos(vyv2930), Pos(Zero)) -> new_error 214.12/145.82 214.12/145.82 The set Q consists of the following terms: 214.12/145.82 214.12/145.82 new_primModNatS01(x0, x1, Succ(x2), Zero) 214.12/145.82 new_primModNatS1(Succ(Succ(x0)), Zero) 214.12/145.82 new_primMinusNatS1 214.12/145.82 new_primEqInt(Pos(Zero)) 214.12/145.82 new_rem(Pos(x0), Pos(Zero)) 214.12/145.82 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 214.12/145.82 new_esEs(Pos(Succ(x0))) 214.12/145.82 new_primModNatS1(Zero, x0) 214.12/145.82 new_primModNatS02(x0, x1) 214.12/145.82 new_primMinusNatS2(Zero, Zero) 214.12/145.82 new_error 214.12/145.82 new_primModNatS1(Succ(Zero), Zero) 214.12/145.82 new_primMinusNatS2(Succ(x0), Zero) 214.12/145.82 new_esEs(Pos(Zero)) 214.12/145.82 new_primMinusNatS0(x0) 214.12/145.82 new_primEqInt(Neg(Succ(x0))) 214.12/145.82 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 214.12/145.82 new_rem(Neg(x0), Neg(Zero)) 214.12/145.82 new_rem(Pos(x0), Neg(Succ(x1))) 214.12/145.82 new_rem(Neg(x0), Pos(Succ(x1))) 214.12/145.82 new_esEs(Neg(Succ(x0))) 214.12/145.82 new_primEqInt(Neg(Zero)) 214.12/145.82 new_rem(Pos(x0), Pos(Succ(x1))) 214.12/145.82 new_primModNatS01(x0, x1, Zero, Zero) 214.12/145.82 new_primEqInt(Pos(Succ(x0))) 214.12/145.82 new_rem(Neg(x0), Neg(Succ(x1))) 214.12/145.82 new_rem(Pos(x0), Neg(Zero)) 214.12/145.82 new_rem(Neg(x0), Pos(Zero)) 214.12/145.82 new_primMinusNatS2(Zero, Succ(x0)) 214.12/145.82 new_primModNatS1(Succ(Zero), Succ(x0)) 214.12/145.82 new_primMinusNatS2(Succ(x0), Succ(x1)) 214.12/145.82 new_primModNatS01(x0, x1, Zero, Succ(x2)) 214.12/145.82 new_esEs(Neg(Zero)) 214.12/145.82 214.12/145.82 We have to consider all minimal (P,Q,R)-chains. 214.12/145.82 ---------------------------------------- 214.12/145.82 214.12/145.82 (366) UsableRulesProof (EQUIVALENT) 214.12/145.82 As all Q-normal forms are R-normal forms we are in the innermost case. Hence, by the usable rules processor [LPAR04] we can delete all non-usable rules [FROCOS05] from R. 214.12/145.82 ---------------------------------------- 214.12/145.82 214.12/145.82 (367) 214.12/145.82 Obligation: 214.12/145.82 Q DP problem: 214.12/145.82 The TRS P consists of the following rules: 214.12/145.82 214.12/145.82 new_gcd0Gcd'1(False, Pos(Succ(x1)), Pos(x0)) -> new_gcd0Gcd'0(Pos(Succ(x1)), Pos(new_primModNatS1(x0, x1))) 214.12/145.82 new_gcd0Gcd'0(Pos(x0), Pos(Succ(x1))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(x0, x1))), Pos(Succ(x1)), Pos(x0)) 214.12/145.82 214.12/145.82 The TRS R consists of the following rules: 214.12/145.82 214.12/145.82 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 214.12/145.82 new_primModNatS1(Succ(Succ(vyv293000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv293000), Zero) 214.12/145.82 new_primModNatS1(Succ(Zero), Succ(vyv292000)) -> Succ(Zero) 214.12/145.83 new_primModNatS01(vyv331, vyv332, Zero, Zero) -> new_primModNatS02(vyv331, vyv332) 214.12/145.83 new_primModNatS02(vyv331, vyv332) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv331), Succ(vyv332)), Succ(vyv332)) 214.12/145.83 new_primModNatS1(Succ(Succ(vyv293000)), Succ(vyv292000)) -> new_primModNatS01(vyv293000, vyv292000, vyv293000, vyv292000) 214.12/145.83 new_primModNatS01(vyv331, vyv332, Succ(vyv3330), Succ(vyv3340)) -> new_primModNatS01(vyv331, vyv332, vyv3330, vyv3340) 214.12/145.83 new_primModNatS01(vyv331, vyv332, Succ(vyv3330), Zero) -> new_primModNatS02(vyv331, vyv332) 214.12/145.83 new_primModNatS1(Zero, vyv29200) -> Zero 214.12/145.83 new_esEs(Pos(Succ(vyv24300))) -> new_primEqInt(Pos(Succ(vyv24300))) 214.12/145.83 new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) 214.12/145.83 new_primEqInt(Pos(Zero)) -> True 214.12/145.83 new_primEqInt(Pos(Succ(vyv242000))) -> False 214.12/145.83 new_primMinusNatS2(Succ(vyv3110), Succ(vyv3120)) -> new_primMinusNatS2(vyv3110, vyv3120) 214.12/145.83 new_primModNatS01(vyv331, vyv332, Zero, Succ(vyv3340)) -> Succ(Succ(vyv331)) 214.12/145.83 new_primMinusNatS2(Zero, Zero) -> Zero 214.12/145.83 new_primMinusNatS2(Zero, Succ(vyv3120)) -> Zero 214.12/145.83 new_primMinusNatS2(Succ(vyv3110), Zero) -> Succ(vyv3110) 214.12/145.83 new_primMinusNatS1 -> Zero 214.12/145.83 new_primMinusNatS0(vyv271000) -> Succ(vyv271000) 214.12/145.83 214.12/145.83 The set Q consists of the following terms: 214.12/145.83 214.12/145.83 new_primModNatS01(x0, x1, Succ(x2), Zero) 214.12/145.83 new_primModNatS1(Succ(Succ(x0)), Zero) 214.12/145.83 new_primMinusNatS1 214.12/145.83 new_primEqInt(Pos(Zero)) 214.12/145.83 new_rem(Pos(x0), Pos(Zero)) 214.12/145.83 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 214.12/145.83 new_esEs(Pos(Succ(x0))) 214.12/145.83 new_primModNatS1(Zero, x0) 214.12/145.83 new_primModNatS02(x0, x1) 214.12/145.83 new_primMinusNatS2(Zero, Zero) 214.12/145.83 new_error 214.12/145.83 new_primModNatS1(Succ(Zero), Zero) 214.12/145.83 new_primMinusNatS2(Succ(x0), Zero) 214.12/145.83 new_esEs(Pos(Zero)) 214.12/145.83 new_primMinusNatS0(x0) 214.12/145.83 new_primEqInt(Neg(Succ(x0))) 214.12/145.83 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 214.12/145.83 new_rem(Neg(x0), Neg(Zero)) 214.12/145.83 new_rem(Pos(x0), Neg(Succ(x1))) 214.12/145.83 new_rem(Neg(x0), Pos(Succ(x1))) 214.12/145.83 new_esEs(Neg(Succ(x0))) 214.12/145.83 new_primEqInt(Neg(Zero)) 214.12/145.83 new_rem(Pos(x0), Pos(Succ(x1))) 214.12/145.83 new_primModNatS01(x0, x1, Zero, Zero) 214.12/145.83 new_primEqInt(Pos(Succ(x0))) 214.12/145.83 new_rem(Neg(x0), Neg(Succ(x1))) 214.12/145.83 new_rem(Pos(x0), Neg(Zero)) 214.12/145.83 new_rem(Neg(x0), Pos(Zero)) 214.12/145.83 new_primMinusNatS2(Zero, Succ(x0)) 214.12/145.83 new_primModNatS1(Succ(Zero), Succ(x0)) 214.12/145.83 new_primMinusNatS2(Succ(x0), Succ(x1)) 214.12/145.83 new_primModNatS01(x0, x1, Zero, Succ(x2)) 214.12/145.83 new_esEs(Neg(Zero)) 214.12/145.83 214.12/145.83 We have to consider all minimal (P,Q,R)-chains. 214.12/145.83 ---------------------------------------- 214.12/145.83 214.12/145.83 (368) QReductionProof (EQUIVALENT) 214.12/145.83 We deleted the following terms from Q as each root-symbol of these terms does neither occur in P nor in R.[THIEMANN]. 214.12/145.83 214.12/145.83 new_rem(Pos(x0), Pos(Zero)) 214.12/145.83 new_error 214.12/145.83 new_rem(Neg(x0), Neg(Zero)) 214.12/145.83 new_rem(Pos(x0), Neg(Succ(x1))) 214.12/145.83 new_rem(Neg(x0), Pos(Succ(x1))) 214.12/145.83 new_rem(Pos(x0), Pos(Succ(x1))) 214.12/145.83 new_rem(Neg(x0), Neg(Succ(x1))) 214.12/145.83 new_rem(Pos(x0), Neg(Zero)) 214.12/145.83 new_rem(Neg(x0), Pos(Zero)) 214.12/145.83 214.12/145.83 214.12/145.83 ---------------------------------------- 214.12/145.83 214.12/145.83 (369) 214.12/145.83 Obligation: 214.12/145.83 Q DP problem: 214.12/145.83 The TRS P consists of the following rules: 214.12/145.83 214.12/145.83 new_gcd0Gcd'1(False, Pos(Succ(x1)), Pos(x0)) -> new_gcd0Gcd'0(Pos(Succ(x1)), Pos(new_primModNatS1(x0, x1))) 214.12/145.83 new_gcd0Gcd'0(Pos(x0), Pos(Succ(x1))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(x0, x1))), Pos(Succ(x1)), Pos(x0)) 214.12/145.83 214.12/145.83 The TRS R consists of the following rules: 214.12/145.83 214.12/145.83 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 214.12/145.83 new_primModNatS1(Succ(Succ(vyv293000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv293000), Zero) 214.12/145.83 new_primModNatS1(Succ(Zero), Succ(vyv292000)) -> Succ(Zero) 214.12/145.83 new_primModNatS01(vyv331, vyv332, Zero, Zero) -> new_primModNatS02(vyv331, vyv332) 214.12/145.83 new_primModNatS02(vyv331, vyv332) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv331), Succ(vyv332)), Succ(vyv332)) 214.12/145.83 new_primModNatS1(Succ(Succ(vyv293000)), Succ(vyv292000)) -> new_primModNatS01(vyv293000, vyv292000, vyv293000, vyv292000) 214.12/145.83 new_primModNatS01(vyv331, vyv332, Succ(vyv3330), Succ(vyv3340)) -> new_primModNatS01(vyv331, vyv332, vyv3330, vyv3340) 214.12/145.83 new_primModNatS01(vyv331, vyv332, Succ(vyv3330), Zero) -> new_primModNatS02(vyv331, vyv332) 214.12/145.83 new_primModNatS1(Zero, vyv29200) -> Zero 214.12/145.83 new_esEs(Pos(Succ(vyv24300))) -> new_primEqInt(Pos(Succ(vyv24300))) 214.12/145.83 new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) 214.12/145.83 new_primEqInt(Pos(Zero)) -> True 214.12/145.83 new_primEqInt(Pos(Succ(vyv242000))) -> False 214.12/145.83 new_primMinusNatS2(Succ(vyv3110), Succ(vyv3120)) -> new_primMinusNatS2(vyv3110, vyv3120) 214.12/145.83 new_primModNatS01(vyv331, vyv332, Zero, Succ(vyv3340)) -> Succ(Succ(vyv331)) 214.12/145.83 new_primMinusNatS2(Zero, Zero) -> Zero 214.12/145.83 new_primMinusNatS2(Zero, Succ(vyv3120)) -> Zero 214.12/145.83 new_primMinusNatS2(Succ(vyv3110), Zero) -> Succ(vyv3110) 214.12/145.83 new_primMinusNatS1 -> Zero 214.12/145.83 new_primMinusNatS0(vyv271000) -> Succ(vyv271000) 214.12/145.83 214.12/145.83 The set Q consists of the following terms: 214.12/145.83 214.12/145.83 new_primModNatS01(x0, x1, Succ(x2), Zero) 214.12/145.83 new_primModNatS1(Succ(Succ(x0)), Zero) 214.12/145.83 new_primMinusNatS1 214.12/145.83 new_primEqInt(Pos(Zero)) 214.12/145.83 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 214.12/145.83 new_esEs(Pos(Succ(x0))) 214.12/145.83 new_primModNatS1(Zero, x0) 214.12/145.83 new_primModNatS02(x0, x1) 214.12/145.83 new_primMinusNatS2(Zero, Zero) 214.12/145.83 new_primModNatS1(Succ(Zero), Zero) 214.12/145.83 new_primMinusNatS2(Succ(x0), Zero) 214.12/145.83 new_esEs(Pos(Zero)) 214.12/145.83 new_primMinusNatS0(x0) 214.12/145.83 new_primEqInt(Neg(Succ(x0))) 214.12/145.83 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 214.12/145.83 new_esEs(Neg(Succ(x0))) 214.12/145.83 new_primEqInt(Neg(Zero)) 214.12/145.83 new_primModNatS01(x0, x1, Zero, Zero) 214.12/145.83 new_primEqInt(Pos(Succ(x0))) 214.12/145.83 new_primMinusNatS2(Zero, Succ(x0)) 214.12/145.83 new_primModNatS1(Succ(Zero), Succ(x0)) 214.12/145.83 new_primMinusNatS2(Succ(x0), Succ(x1)) 214.12/145.83 new_primModNatS01(x0, x1, Zero, Succ(x2)) 214.12/145.83 new_esEs(Neg(Zero)) 214.12/145.83 214.12/145.83 We have to consider all minimal (P,Q,R)-chains. 214.12/145.83 ---------------------------------------- 214.12/145.83 214.12/145.83 (370) TransformationProof (EQUIVALENT) 214.12/145.83 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]: 214.12/145.83 214.12/145.83 (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)))) 214.12/145.83 (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)))) 214.12/145.83 (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)))) 214.12/145.83 (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)))) 214.12/145.83 (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))) 214.12/145.83 214.12/145.83 214.12/145.83 ---------------------------------------- 214.12/145.83 214.12/145.83 (371) 214.12/145.83 Obligation: 214.12/145.83 Q DP problem: 214.12/145.83 The TRS P consists of the following rules: 214.12/145.83 214.12/145.83 new_gcd0Gcd'0(Pos(x0), Pos(Succ(x1))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(x0, x1))), Pos(Succ(x1)), Pos(x0)) 214.12/145.83 new_gcd0Gcd'1(False, Pos(Succ(Zero)), Pos(Succ(Zero))) -> new_gcd0Gcd'0(Pos(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS1, Zero))) 214.12/145.83 new_gcd0Gcd'1(False, Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Pos(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero))) 214.12/145.83 new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 214.12/145.83 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))) 214.12/145.83 new_gcd0Gcd'1(False, Pos(Succ(x0)), Pos(Zero)) -> new_gcd0Gcd'0(Pos(Succ(x0)), Pos(Zero)) 214.12/145.83 214.12/145.83 The TRS R consists of the following rules: 214.12/145.83 214.12/145.83 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 214.12/145.83 new_primModNatS1(Succ(Succ(vyv293000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv293000), Zero) 214.12/145.83 new_primModNatS1(Succ(Zero), Succ(vyv292000)) -> Succ(Zero) 214.12/145.83 new_primModNatS01(vyv331, vyv332, Zero, Zero) -> new_primModNatS02(vyv331, vyv332) 214.12/145.83 new_primModNatS02(vyv331, vyv332) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv331), Succ(vyv332)), Succ(vyv332)) 214.12/145.83 new_primModNatS1(Succ(Succ(vyv293000)), Succ(vyv292000)) -> new_primModNatS01(vyv293000, vyv292000, vyv293000, vyv292000) 214.12/145.83 new_primModNatS01(vyv331, vyv332, Succ(vyv3330), Succ(vyv3340)) -> new_primModNatS01(vyv331, vyv332, vyv3330, vyv3340) 214.12/145.83 new_primModNatS01(vyv331, vyv332, Succ(vyv3330), Zero) -> new_primModNatS02(vyv331, vyv332) 214.12/145.83 new_primModNatS1(Zero, vyv29200) -> Zero 214.12/145.83 new_esEs(Pos(Succ(vyv24300))) -> new_primEqInt(Pos(Succ(vyv24300))) 214.12/145.83 new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) 214.12/145.83 new_primEqInt(Pos(Zero)) -> True 214.12/145.83 new_primEqInt(Pos(Succ(vyv242000))) -> False 214.12/145.83 new_primMinusNatS2(Succ(vyv3110), Succ(vyv3120)) -> new_primMinusNatS2(vyv3110, vyv3120) 214.12/145.83 new_primModNatS01(vyv331, vyv332, Zero, Succ(vyv3340)) -> Succ(Succ(vyv331)) 214.12/145.83 new_primMinusNatS2(Zero, Zero) -> Zero 214.12/145.83 new_primMinusNatS2(Zero, Succ(vyv3120)) -> Zero 214.12/145.83 new_primMinusNatS2(Succ(vyv3110), Zero) -> Succ(vyv3110) 214.12/145.83 new_primMinusNatS1 -> Zero 214.12/145.83 new_primMinusNatS0(vyv271000) -> Succ(vyv271000) 214.12/145.83 214.12/145.83 The set Q consists of the following terms: 214.12/145.83 214.12/145.83 new_primModNatS01(x0, x1, Succ(x2), Zero) 214.12/145.83 new_primModNatS1(Succ(Succ(x0)), Zero) 214.12/145.83 new_primMinusNatS1 214.12/145.83 new_primEqInt(Pos(Zero)) 214.12/145.83 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 214.12/145.83 new_esEs(Pos(Succ(x0))) 214.12/145.83 new_primModNatS1(Zero, x0) 214.12/145.83 new_primModNatS02(x0, x1) 214.12/145.83 new_primMinusNatS2(Zero, Zero) 214.12/145.83 new_primModNatS1(Succ(Zero), Zero) 214.12/145.83 new_primMinusNatS2(Succ(x0), Zero) 214.12/145.83 new_esEs(Pos(Zero)) 214.12/145.83 new_primMinusNatS0(x0) 214.12/145.83 new_primEqInt(Neg(Succ(x0))) 214.12/145.83 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 214.12/145.83 new_esEs(Neg(Succ(x0))) 214.12/145.83 new_primEqInt(Neg(Zero)) 214.12/145.83 new_primModNatS01(x0, x1, Zero, Zero) 214.12/145.83 new_primEqInt(Pos(Succ(x0))) 214.12/145.83 new_primMinusNatS2(Zero, Succ(x0)) 214.12/145.83 new_primModNatS1(Succ(Zero), Succ(x0)) 214.12/145.83 new_primMinusNatS2(Succ(x0), Succ(x1)) 214.12/145.83 new_primModNatS01(x0, x1, Zero, Succ(x2)) 214.12/145.83 new_esEs(Neg(Zero)) 214.12/145.83 214.12/145.83 We have to consider all minimal (P,Q,R)-chains. 214.12/145.83 ---------------------------------------- 214.12/145.83 214.12/145.83 (372) DependencyGraphProof (EQUIVALENT) 214.12/145.83 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. 214.12/145.83 ---------------------------------------- 214.12/145.83 214.12/145.83 (373) 214.12/145.83 Obligation: 214.12/145.83 Q DP problem: 214.12/145.83 The TRS P consists of the following rules: 214.12/145.83 214.12/145.83 new_gcd0Gcd'1(False, Pos(Succ(Zero)), Pos(Succ(Zero))) -> new_gcd0Gcd'0(Pos(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS1, Zero))) 214.12/145.83 new_gcd0Gcd'0(Pos(x0), Pos(Succ(x1))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(x0, x1))), Pos(Succ(x1)), Pos(x0)) 214.12/145.83 new_gcd0Gcd'1(False, Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Pos(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero))) 214.12/145.83 new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 214.12/145.83 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))) 214.12/145.83 214.12/145.83 The TRS R consists of the following rules: 214.12/145.83 214.12/145.83 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 214.12/145.83 new_primModNatS1(Succ(Succ(vyv293000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv293000), Zero) 214.12/145.83 new_primModNatS1(Succ(Zero), Succ(vyv292000)) -> Succ(Zero) 214.12/145.83 new_primModNatS01(vyv331, vyv332, Zero, Zero) -> new_primModNatS02(vyv331, vyv332) 214.12/145.83 new_primModNatS02(vyv331, vyv332) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv331), Succ(vyv332)), Succ(vyv332)) 214.12/145.83 new_primModNatS1(Succ(Succ(vyv293000)), Succ(vyv292000)) -> new_primModNatS01(vyv293000, vyv292000, vyv293000, vyv292000) 214.12/145.83 new_primModNatS01(vyv331, vyv332, Succ(vyv3330), Succ(vyv3340)) -> new_primModNatS01(vyv331, vyv332, vyv3330, vyv3340) 214.12/145.83 new_primModNatS01(vyv331, vyv332, Succ(vyv3330), Zero) -> new_primModNatS02(vyv331, vyv332) 214.12/145.83 new_primModNatS1(Zero, vyv29200) -> Zero 214.12/145.83 new_esEs(Pos(Succ(vyv24300))) -> new_primEqInt(Pos(Succ(vyv24300))) 214.12/145.83 new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) 214.12/145.83 new_primEqInt(Pos(Zero)) -> True 214.12/145.83 new_primEqInt(Pos(Succ(vyv242000))) -> False 214.12/145.83 new_primMinusNatS2(Succ(vyv3110), Succ(vyv3120)) -> new_primMinusNatS2(vyv3110, vyv3120) 214.12/145.83 new_primModNatS01(vyv331, vyv332, Zero, Succ(vyv3340)) -> Succ(Succ(vyv331)) 214.12/145.83 new_primMinusNatS2(Zero, Zero) -> Zero 214.12/145.83 new_primMinusNatS2(Zero, Succ(vyv3120)) -> Zero 214.12/145.83 new_primMinusNatS2(Succ(vyv3110), Zero) -> Succ(vyv3110) 214.12/145.83 new_primMinusNatS1 -> Zero 214.12/145.83 new_primMinusNatS0(vyv271000) -> Succ(vyv271000) 214.12/145.83 214.12/145.83 The set Q consists of the following terms: 214.12/145.83 214.12/145.83 new_primModNatS01(x0, x1, Succ(x2), Zero) 214.12/145.83 new_primModNatS1(Succ(Succ(x0)), Zero) 214.12/145.83 new_primMinusNatS1 214.12/145.83 new_primEqInt(Pos(Zero)) 214.12/145.83 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 214.12/145.83 new_esEs(Pos(Succ(x0))) 214.12/145.83 new_primModNatS1(Zero, x0) 214.12/145.83 new_primModNatS02(x0, x1) 214.12/145.83 new_primMinusNatS2(Zero, Zero) 214.12/145.83 new_primModNatS1(Succ(Zero), Zero) 214.12/145.83 new_primMinusNatS2(Succ(x0), Zero) 214.12/145.83 new_esEs(Pos(Zero)) 214.12/145.83 new_primMinusNatS0(x0) 214.12/145.83 new_primEqInt(Neg(Succ(x0))) 214.12/145.83 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 214.12/145.83 new_esEs(Neg(Succ(x0))) 214.12/145.83 new_primEqInt(Neg(Zero)) 214.12/145.83 new_primModNatS01(x0, x1, Zero, Zero) 214.12/145.83 new_primEqInt(Pos(Succ(x0))) 214.12/145.83 new_primMinusNatS2(Zero, Succ(x0)) 214.12/145.83 new_primModNatS1(Succ(Zero), Succ(x0)) 214.12/145.83 new_primMinusNatS2(Succ(x0), Succ(x1)) 214.12/145.83 new_primModNatS01(x0, x1, Zero, Succ(x2)) 214.12/145.83 new_esEs(Neg(Zero)) 214.12/145.83 214.12/145.83 We have to consider all minimal (P,Q,R)-chains. 214.12/145.83 ---------------------------------------- 214.12/145.83 214.12/145.83 (374) TransformationProof (EQUIVALENT) 214.12/145.83 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]: 214.12/145.83 214.12/145.83 (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)))) 214.12/145.83 214.12/145.83 214.12/145.83 ---------------------------------------- 214.12/145.83 214.12/145.83 (375) 214.12/145.83 Obligation: 214.12/145.83 Q DP problem: 214.12/145.83 The TRS P consists of the following rules: 214.12/145.83 214.12/145.83 new_gcd0Gcd'0(Pos(x0), Pos(Succ(x1))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(x0, x1))), Pos(Succ(x1)), Pos(x0)) 214.12/145.83 new_gcd0Gcd'1(False, Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Pos(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero))) 214.12/145.83 new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 214.12/145.83 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))) 214.12/145.83 new_gcd0Gcd'1(False, Pos(Succ(Zero)), Pos(Succ(Zero))) -> new_gcd0Gcd'0(Pos(Succ(Zero)), Pos(new_primModNatS1(Zero, Zero))) 214.12/145.83 214.12/145.83 The TRS R consists of the following rules: 214.12/145.83 214.12/145.83 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 214.12/145.83 new_primModNatS1(Succ(Succ(vyv293000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv293000), Zero) 214.12/145.83 new_primModNatS1(Succ(Zero), Succ(vyv292000)) -> Succ(Zero) 214.12/145.83 new_primModNatS01(vyv331, vyv332, Zero, Zero) -> new_primModNatS02(vyv331, vyv332) 214.12/145.83 new_primModNatS02(vyv331, vyv332) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv331), Succ(vyv332)), Succ(vyv332)) 214.12/145.83 new_primModNatS1(Succ(Succ(vyv293000)), Succ(vyv292000)) -> new_primModNatS01(vyv293000, vyv292000, vyv293000, vyv292000) 214.12/145.83 new_primModNatS01(vyv331, vyv332, Succ(vyv3330), Succ(vyv3340)) -> new_primModNatS01(vyv331, vyv332, vyv3330, vyv3340) 214.12/145.83 new_primModNatS01(vyv331, vyv332, Succ(vyv3330), Zero) -> new_primModNatS02(vyv331, vyv332) 214.12/145.83 new_primModNatS1(Zero, vyv29200) -> Zero 214.12/145.83 new_esEs(Pos(Succ(vyv24300))) -> new_primEqInt(Pos(Succ(vyv24300))) 214.12/145.83 new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) 214.12/145.83 new_primEqInt(Pos(Zero)) -> True 214.12/145.83 new_primEqInt(Pos(Succ(vyv242000))) -> False 214.12/145.83 new_primMinusNatS2(Succ(vyv3110), Succ(vyv3120)) -> new_primMinusNatS2(vyv3110, vyv3120) 214.12/145.83 new_primModNatS01(vyv331, vyv332, Zero, Succ(vyv3340)) -> Succ(Succ(vyv331)) 214.12/145.83 new_primMinusNatS2(Zero, Zero) -> Zero 214.12/145.83 new_primMinusNatS2(Zero, Succ(vyv3120)) -> Zero 214.12/145.83 new_primMinusNatS2(Succ(vyv3110), Zero) -> Succ(vyv3110) 214.12/145.83 new_primMinusNatS1 -> Zero 214.12/145.83 new_primMinusNatS0(vyv271000) -> Succ(vyv271000) 214.12/145.83 214.12/145.83 The set Q consists of the following terms: 214.12/145.83 214.12/145.83 new_primModNatS01(x0, x1, Succ(x2), Zero) 214.12/145.83 new_primModNatS1(Succ(Succ(x0)), Zero) 214.12/145.83 new_primMinusNatS1 214.12/145.83 new_primEqInt(Pos(Zero)) 214.12/145.83 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 214.12/145.83 new_esEs(Pos(Succ(x0))) 214.12/145.83 new_primModNatS1(Zero, x0) 214.12/145.83 new_primModNatS02(x0, x1) 214.12/145.83 new_primMinusNatS2(Zero, Zero) 214.12/145.83 new_primModNatS1(Succ(Zero), Zero) 214.12/145.83 new_primMinusNatS2(Succ(x0), Zero) 214.12/145.83 new_esEs(Pos(Zero)) 214.12/145.83 new_primMinusNatS0(x0) 214.12/145.83 new_primEqInt(Neg(Succ(x0))) 214.12/145.83 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 214.12/145.83 new_esEs(Neg(Succ(x0))) 214.12/145.83 new_primEqInt(Neg(Zero)) 214.12/145.83 new_primModNatS01(x0, x1, Zero, Zero) 214.12/145.83 new_primEqInt(Pos(Succ(x0))) 214.12/145.83 new_primMinusNatS2(Zero, Succ(x0)) 214.12/145.83 new_primModNatS1(Succ(Zero), Succ(x0)) 214.12/145.83 new_primMinusNatS2(Succ(x0), Succ(x1)) 214.12/145.83 new_primModNatS01(x0, x1, Zero, Succ(x2)) 214.12/145.83 new_esEs(Neg(Zero)) 214.12/145.83 214.12/145.83 We have to consider all minimal (P,Q,R)-chains. 214.12/145.83 ---------------------------------------- 214.12/145.83 214.12/145.83 (376) DependencyGraphProof (EQUIVALENT) 214.12/145.83 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. 214.12/145.83 ---------------------------------------- 214.12/145.83 214.12/145.83 (377) 214.12/145.83 Obligation: 214.12/145.83 Q DP problem: 214.12/145.83 The TRS P consists of the following rules: 214.12/145.83 214.12/145.83 new_gcd0Gcd'1(False, Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Pos(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero))) 214.12/145.83 new_gcd0Gcd'0(Pos(x0), Pos(Succ(x1))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(x0, x1))), Pos(Succ(x1)), Pos(x0)) 214.12/145.83 new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 214.12/145.83 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))) 214.12/145.83 214.12/145.83 The TRS R consists of the following rules: 214.12/145.83 214.12/145.83 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 214.12/145.83 new_primModNatS1(Succ(Succ(vyv293000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv293000), Zero) 214.12/145.83 new_primModNatS1(Succ(Zero), Succ(vyv292000)) -> Succ(Zero) 214.12/145.83 new_primModNatS01(vyv331, vyv332, Zero, Zero) -> new_primModNatS02(vyv331, vyv332) 214.12/145.83 new_primModNatS02(vyv331, vyv332) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv331), Succ(vyv332)), Succ(vyv332)) 214.12/145.83 new_primModNatS1(Succ(Succ(vyv293000)), Succ(vyv292000)) -> new_primModNatS01(vyv293000, vyv292000, vyv293000, vyv292000) 214.12/145.83 new_primModNatS01(vyv331, vyv332, Succ(vyv3330), Succ(vyv3340)) -> new_primModNatS01(vyv331, vyv332, vyv3330, vyv3340) 214.12/145.83 new_primModNatS01(vyv331, vyv332, Succ(vyv3330), Zero) -> new_primModNatS02(vyv331, vyv332) 214.12/145.83 new_primModNatS1(Zero, vyv29200) -> Zero 214.12/145.83 new_esEs(Pos(Succ(vyv24300))) -> new_primEqInt(Pos(Succ(vyv24300))) 214.12/145.83 new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) 214.12/145.83 new_primEqInt(Pos(Zero)) -> True 214.12/145.83 new_primEqInt(Pos(Succ(vyv242000))) -> False 214.12/145.83 new_primMinusNatS2(Succ(vyv3110), Succ(vyv3120)) -> new_primMinusNatS2(vyv3110, vyv3120) 214.12/145.83 new_primModNatS01(vyv331, vyv332, Zero, Succ(vyv3340)) -> Succ(Succ(vyv331)) 214.12/145.83 new_primMinusNatS2(Zero, Zero) -> Zero 214.12/145.83 new_primMinusNatS2(Zero, Succ(vyv3120)) -> Zero 214.12/145.83 new_primMinusNatS2(Succ(vyv3110), Zero) -> Succ(vyv3110) 214.12/145.83 new_primMinusNatS1 -> Zero 214.12/145.83 new_primMinusNatS0(vyv271000) -> Succ(vyv271000) 214.12/145.83 214.12/145.83 The set Q consists of the following terms: 214.12/145.83 214.12/145.83 new_primModNatS01(x0, x1, Succ(x2), Zero) 214.12/145.83 new_primModNatS1(Succ(Succ(x0)), Zero) 214.12/145.83 new_primMinusNatS1 214.12/145.83 new_primEqInt(Pos(Zero)) 214.12/145.83 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 214.12/145.83 new_esEs(Pos(Succ(x0))) 214.12/145.83 new_primModNatS1(Zero, x0) 214.12/145.83 new_primModNatS02(x0, x1) 214.12/145.83 new_primMinusNatS2(Zero, Zero) 214.12/145.83 new_primModNatS1(Succ(Zero), Zero) 214.12/145.83 new_primMinusNatS2(Succ(x0), Zero) 214.12/145.83 new_esEs(Pos(Zero)) 214.12/145.83 new_primMinusNatS0(x0) 214.12/145.83 new_primEqInt(Neg(Succ(x0))) 214.12/145.83 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 214.12/145.83 new_esEs(Neg(Succ(x0))) 214.12/145.83 new_primEqInt(Neg(Zero)) 214.12/145.83 new_primModNatS01(x0, x1, Zero, Zero) 214.12/145.83 new_primEqInt(Pos(Succ(x0))) 214.12/145.83 new_primMinusNatS2(Zero, Succ(x0)) 214.12/145.83 new_primModNatS1(Succ(Zero), Succ(x0)) 214.12/145.83 new_primMinusNatS2(Succ(x0), Succ(x1)) 214.12/145.83 new_primModNatS01(x0, x1, Zero, Succ(x2)) 214.12/145.83 new_esEs(Neg(Zero)) 214.12/145.83 214.12/145.83 We have to consider all minimal (P,Q,R)-chains. 214.12/145.83 ---------------------------------------- 214.12/145.83 214.12/145.83 (378) TransformationProof (EQUIVALENT) 214.12/145.83 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]: 214.12/145.83 214.12/145.83 (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)))) 214.12/145.83 214.12/145.83 214.12/145.83 ---------------------------------------- 214.12/145.83 214.12/145.83 (379) 214.12/145.83 Obligation: 214.12/145.83 Q DP problem: 214.12/145.83 The TRS P consists of the following rules: 214.12/145.83 214.12/145.83 new_gcd0Gcd'0(Pos(x0), Pos(Succ(x1))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(x0, x1))), Pos(Succ(x1)), Pos(x0)) 214.12/145.83 new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 214.12/145.83 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))) 214.12/145.83 new_gcd0Gcd'1(False, Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 214.12/145.83 214.12/145.83 The TRS R consists of the following rules: 214.12/145.83 214.12/145.83 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 214.12/145.83 new_primModNatS1(Succ(Succ(vyv293000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv293000), Zero) 214.12/145.83 new_primModNatS1(Succ(Zero), Succ(vyv292000)) -> Succ(Zero) 214.12/145.83 new_primModNatS01(vyv331, vyv332, Zero, Zero) -> new_primModNatS02(vyv331, vyv332) 214.12/145.83 new_primModNatS02(vyv331, vyv332) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv331), Succ(vyv332)), Succ(vyv332)) 214.12/145.83 new_primModNatS1(Succ(Succ(vyv293000)), Succ(vyv292000)) -> new_primModNatS01(vyv293000, vyv292000, vyv293000, vyv292000) 214.12/145.83 new_primModNatS01(vyv331, vyv332, Succ(vyv3330), Succ(vyv3340)) -> new_primModNatS01(vyv331, vyv332, vyv3330, vyv3340) 214.12/145.83 new_primModNatS01(vyv331, vyv332, Succ(vyv3330), Zero) -> new_primModNatS02(vyv331, vyv332) 214.12/145.83 new_primModNatS1(Zero, vyv29200) -> Zero 214.12/145.83 new_esEs(Pos(Succ(vyv24300))) -> new_primEqInt(Pos(Succ(vyv24300))) 214.12/145.83 new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) 214.12/145.83 new_primEqInt(Pos(Zero)) -> True 214.12/145.83 new_primEqInt(Pos(Succ(vyv242000))) -> False 214.12/145.83 new_primMinusNatS2(Succ(vyv3110), Succ(vyv3120)) -> new_primMinusNatS2(vyv3110, vyv3120) 214.12/145.83 new_primModNatS01(vyv331, vyv332, Zero, Succ(vyv3340)) -> Succ(Succ(vyv331)) 214.12/145.83 new_primMinusNatS2(Zero, Zero) -> Zero 214.12/145.83 new_primMinusNatS2(Zero, Succ(vyv3120)) -> Zero 214.12/145.83 new_primMinusNatS2(Succ(vyv3110), Zero) -> Succ(vyv3110) 214.12/145.83 new_primMinusNatS1 -> Zero 214.12/145.83 new_primMinusNatS0(vyv271000) -> Succ(vyv271000) 214.12/145.83 214.12/145.83 The set Q consists of the following terms: 214.12/145.83 214.12/145.83 new_primModNatS01(x0, x1, Succ(x2), Zero) 214.12/145.83 new_primModNatS1(Succ(Succ(x0)), Zero) 214.12/145.83 new_primMinusNatS1 214.12/145.83 new_primEqInt(Pos(Zero)) 214.12/145.83 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 214.12/145.83 new_esEs(Pos(Succ(x0))) 214.12/145.83 new_primModNatS1(Zero, x0) 214.12/145.83 new_primModNatS02(x0, x1) 214.12/145.83 new_primMinusNatS2(Zero, Zero) 214.12/145.83 new_primModNatS1(Succ(Zero), Zero) 214.12/145.83 new_primMinusNatS2(Succ(x0), Zero) 214.12/145.83 new_esEs(Pos(Zero)) 214.12/145.83 new_primMinusNatS0(x0) 214.12/145.83 new_primEqInt(Neg(Succ(x0))) 214.12/145.83 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 214.12/145.83 new_esEs(Neg(Succ(x0))) 214.12/145.83 new_primEqInt(Neg(Zero)) 214.12/145.83 new_primModNatS01(x0, x1, Zero, Zero) 214.12/145.83 new_primEqInt(Pos(Succ(x0))) 214.12/145.83 new_primMinusNatS2(Zero, Succ(x0)) 214.12/145.83 new_primModNatS1(Succ(Zero), Succ(x0)) 214.12/145.83 new_primMinusNatS2(Succ(x0), Succ(x1)) 214.12/145.83 new_primModNatS01(x0, x1, Zero, Succ(x2)) 214.12/145.83 new_esEs(Neg(Zero)) 214.12/145.83 214.12/145.83 We have to consider all minimal (P,Q,R)-chains. 214.12/145.83 ---------------------------------------- 214.12/145.83 214.12/145.83 (380) TransformationProof (EQUIVALENT) 214.12/145.83 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]: 214.12/145.83 214.12/145.83 (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)))) 214.12/145.83 (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))))) 214.12/145.83 (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)))) 214.12/145.83 (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))))) 214.12/145.83 (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))) 214.12/145.83 214.12/145.83 214.12/145.83 ---------------------------------------- 214.12/145.83 214.12/145.83 (381) 214.12/145.83 Obligation: 214.12/145.83 Q DP problem: 214.12/145.83 The TRS P consists of the following rules: 214.12/145.83 214.12/145.83 new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 214.12/145.83 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))) 214.12/145.83 new_gcd0Gcd'1(False, Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 214.12/145.83 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))) 214.12/145.83 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)))) 214.12/145.83 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))) 214.12/145.83 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)))) 214.12/145.83 new_gcd0Gcd'0(Pos(Zero), Pos(Succ(x0))) -> new_gcd0Gcd'1(new_esEs(Pos(Zero)), Pos(Succ(x0)), Pos(Zero)) 214.12/145.83 214.12/145.83 The TRS R consists of the following rules: 214.12/145.83 214.12/145.83 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 214.12/145.83 new_primModNatS1(Succ(Succ(vyv293000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv293000), Zero) 214.12/145.83 new_primModNatS1(Succ(Zero), Succ(vyv292000)) -> Succ(Zero) 214.12/145.83 new_primModNatS01(vyv331, vyv332, Zero, Zero) -> new_primModNatS02(vyv331, vyv332) 214.12/145.83 new_primModNatS02(vyv331, vyv332) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv331), Succ(vyv332)), Succ(vyv332)) 214.12/145.83 new_primModNatS1(Succ(Succ(vyv293000)), Succ(vyv292000)) -> new_primModNatS01(vyv293000, vyv292000, vyv293000, vyv292000) 214.12/145.83 new_primModNatS01(vyv331, vyv332, Succ(vyv3330), Succ(vyv3340)) -> new_primModNatS01(vyv331, vyv332, vyv3330, vyv3340) 214.12/145.83 new_primModNatS01(vyv331, vyv332, Succ(vyv3330), Zero) -> new_primModNatS02(vyv331, vyv332) 214.12/145.83 new_primModNatS1(Zero, vyv29200) -> Zero 214.12/145.83 new_esEs(Pos(Succ(vyv24300))) -> new_primEqInt(Pos(Succ(vyv24300))) 214.12/145.83 new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) 214.12/145.83 new_primEqInt(Pos(Zero)) -> True 214.12/145.83 new_primEqInt(Pos(Succ(vyv242000))) -> False 214.12/145.83 new_primMinusNatS2(Succ(vyv3110), Succ(vyv3120)) -> new_primMinusNatS2(vyv3110, vyv3120) 214.12/145.83 new_primModNatS01(vyv331, vyv332, Zero, Succ(vyv3340)) -> Succ(Succ(vyv331)) 214.12/145.83 new_primMinusNatS2(Zero, Zero) -> Zero 214.12/145.83 new_primMinusNatS2(Zero, Succ(vyv3120)) -> Zero 214.12/145.83 new_primMinusNatS2(Succ(vyv3110), Zero) -> Succ(vyv3110) 214.12/145.83 new_primMinusNatS1 -> Zero 214.12/145.83 new_primMinusNatS0(vyv271000) -> Succ(vyv271000) 214.12/145.83 214.12/145.83 The set Q consists of the following terms: 214.12/145.83 214.12/145.83 new_primModNatS01(x0, x1, Succ(x2), Zero) 214.12/145.83 new_primModNatS1(Succ(Succ(x0)), Zero) 214.12/145.83 new_primMinusNatS1 214.12/145.83 new_primEqInt(Pos(Zero)) 214.12/145.83 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 214.12/145.83 new_esEs(Pos(Succ(x0))) 214.12/145.83 new_primModNatS1(Zero, x0) 214.12/145.83 new_primModNatS02(x0, x1) 214.12/145.83 new_primMinusNatS2(Zero, Zero) 214.12/145.83 new_primModNatS1(Succ(Zero), Zero) 214.12/145.83 new_primMinusNatS2(Succ(x0), Zero) 214.12/145.83 new_esEs(Pos(Zero)) 214.12/145.83 new_primMinusNatS0(x0) 214.12/145.83 new_primEqInt(Neg(Succ(x0))) 214.12/145.83 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 214.12/145.83 new_esEs(Neg(Succ(x0))) 214.12/145.83 new_primEqInt(Neg(Zero)) 214.12/145.83 new_primModNatS01(x0, x1, Zero, Zero) 214.12/145.83 new_primEqInt(Pos(Succ(x0))) 214.12/145.83 new_primMinusNatS2(Zero, Succ(x0)) 214.12/145.83 new_primModNatS1(Succ(Zero), Succ(x0)) 214.12/145.83 new_primMinusNatS2(Succ(x0), Succ(x1)) 214.12/145.83 new_primModNatS01(x0, x1, Zero, Succ(x2)) 214.12/145.83 new_esEs(Neg(Zero)) 214.12/145.83 214.12/145.83 We have to consider all minimal (P,Q,R)-chains. 214.12/145.83 ---------------------------------------- 214.12/145.83 214.12/145.83 (382) DependencyGraphProof (EQUIVALENT) 214.12/145.83 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 2 SCCs with 2 less nodes. 214.12/145.83 ---------------------------------------- 214.12/145.83 214.12/145.83 (383) 214.12/145.83 Complex Obligation (AND) 214.12/145.83 214.12/145.83 ---------------------------------------- 214.12/145.83 214.12/145.83 (384) 214.12/145.83 Obligation: 214.12/145.83 Q DP problem: 214.12/145.83 The TRS P consists of the following rules: 214.12/145.83 214.12/145.83 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)))) 214.12/145.83 new_gcd0Gcd'1(False, Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 214.12/145.83 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))) 214.12/145.83 new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 214.12/145.83 214.12/145.83 The TRS R consists of the following rules: 214.12/145.83 214.12/145.83 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 214.12/145.83 new_primModNatS1(Succ(Succ(vyv293000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv293000), Zero) 214.12/145.83 new_primModNatS1(Succ(Zero), Succ(vyv292000)) -> Succ(Zero) 214.12/145.83 new_primModNatS01(vyv331, vyv332, Zero, Zero) -> new_primModNatS02(vyv331, vyv332) 214.12/145.83 new_primModNatS02(vyv331, vyv332) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv331), Succ(vyv332)), Succ(vyv332)) 214.12/145.83 new_primModNatS1(Succ(Succ(vyv293000)), Succ(vyv292000)) -> new_primModNatS01(vyv293000, vyv292000, vyv293000, vyv292000) 214.12/145.83 new_primModNatS01(vyv331, vyv332, Succ(vyv3330), Succ(vyv3340)) -> new_primModNatS01(vyv331, vyv332, vyv3330, vyv3340) 214.12/145.83 new_primModNatS01(vyv331, vyv332, Succ(vyv3330), Zero) -> new_primModNatS02(vyv331, vyv332) 214.12/145.83 new_primModNatS1(Zero, vyv29200) -> Zero 214.12/145.83 new_esEs(Pos(Succ(vyv24300))) -> new_primEqInt(Pos(Succ(vyv24300))) 214.12/145.83 new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) 214.12/145.83 new_primEqInt(Pos(Zero)) -> True 214.12/145.83 new_primEqInt(Pos(Succ(vyv242000))) -> False 214.12/145.83 new_primMinusNatS2(Succ(vyv3110), Succ(vyv3120)) -> new_primMinusNatS2(vyv3110, vyv3120) 214.12/145.83 new_primModNatS01(vyv331, vyv332, Zero, Succ(vyv3340)) -> Succ(Succ(vyv331)) 214.12/145.83 new_primMinusNatS2(Zero, Zero) -> Zero 214.12/145.83 new_primMinusNatS2(Zero, Succ(vyv3120)) -> Zero 214.12/145.83 new_primMinusNatS2(Succ(vyv3110), Zero) -> Succ(vyv3110) 214.12/145.83 new_primMinusNatS1 -> Zero 214.12/145.83 new_primMinusNatS0(vyv271000) -> Succ(vyv271000) 214.12/145.83 214.12/145.83 The set Q consists of the following terms: 214.12/145.83 214.12/145.83 new_primModNatS01(x0, x1, Succ(x2), Zero) 214.12/145.83 new_primModNatS1(Succ(Succ(x0)), Zero) 214.12/145.83 new_primMinusNatS1 214.12/145.83 new_primEqInt(Pos(Zero)) 214.12/145.83 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 214.12/145.83 new_esEs(Pos(Succ(x0))) 214.12/145.83 new_primModNatS1(Zero, x0) 214.12/145.83 new_primModNatS02(x0, x1) 214.12/145.83 new_primMinusNatS2(Zero, Zero) 214.12/145.83 new_primModNatS1(Succ(Zero), Zero) 214.12/145.83 new_primMinusNatS2(Succ(x0), Zero) 214.12/145.83 new_esEs(Pos(Zero)) 214.12/145.83 new_primMinusNatS0(x0) 214.12/145.83 new_primEqInt(Neg(Succ(x0))) 214.12/145.83 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 214.12/145.83 new_esEs(Neg(Succ(x0))) 214.12/145.83 new_primEqInt(Neg(Zero)) 214.12/145.83 new_primModNatS01(x0, x1, Zero, Zero) 214.12/145.83 new_primEqInt(Pos(Succ(x0))) 214.12/145.83 new_primMinusNatS2(Zero, Succ(x0)) 214.12/145.83 new_primModNatS1(Succ(Zero), Succ(x0)) 214.12/145.83 new_primMinusNatS2(Succ(x0), Succ(x1)) 214.12/145.83 new_primModNatS01(x0, x1, Zero, Succ(x2)) 214.12/145.83 new_esEs(Neg(Zero)) 214.12/145.83 214.12/145.83 We have to consider all minimal (P,Q,R)-chains. 214.12/145.83 ---------------------------------------- 214.12/145.83 214.12/145.83 (385) UsableRulesProof (EQUIVALENT) 214.12/145.83 As all Q-normal forms are R-normal forms we are in the innermost case. Hence, by the usable rules processor [LPAR04] we can delete all non-usable rules [FROCOS05] from R. 214.12/145.83 ---------------------------------------- 214.12/145.83 214.12/145.83 (386) 214.12/145.83 Obligation: 214.12/145.83 Q DP problem: 214.12/145.83 The TRS P consists of the following rules: 214.12/145.83 214.12/145.83 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)))) 214.12/145.83 new_gcd0Gcd'1(False, Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 214.12/145.83 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))) 214.12/145.83 new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 214.12/145.83 214.12/145.83 The TRS R consists of the following rules: 214.12/145.83 214.12/145.83 new_esEs(Pos(Succ(vyv24300))) -> new_primEqInt(Pos(Succ(vyv24300))) 214.12/145.83 new_primEqInt(Pos(Succ(vyv242000))) -> False 214.12/145.83 new_primModNatS1(Succ(Succ(vyv293000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv293000), Zero) 214.12/145.83 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 214.12/145.83 new_primMinusNatS0(vyv271000) -> Succ(vyv271000) 214.12/145.83 new_primModNatS1(Zero, vyv29200) -> Zero 214.12/145.83 new_primMinusNatS1 -> Zero 214.12/145.83 new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) 214.12/145.83 new_primEqInt(Pos(Zero)) -> True 214.12/145.83 214.12/145.83 The set Q consists of the following terms: 214.12/145.83 214.12/145.83 new_primModNatS01(x0, x1, Succ(x2), Zero) 214.12/145.83 new_primModNatS1(Succ(Succ(x0)), Zero) 214.12/145.83 new_primMinusNatS1 214.12/145.83 new_primEqInt(Pos(Zero)) 214.12/145.83 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 214.12/145.83 new_esEs(Pos(Succ(x0))) 214.12/145.83 new_primModNatS1(Zero, x0) 214.12/145.83 new_primModNatS02(x0, x1) 214.12/145.83 new_primMinusNatS2(Zero, Zero) 214.12/145.83 new_primModNatS1(Succ(Zero), Zero) 214.12/145.83 new_primMinusNatS2(Succ(x0), Zero) 214.12/145.83 new_esEs(Pos(Zero)) 214.12/145.83 new_primMinusNatS0(x0) 214.12/145.83 new_primEqInt(Neg(Succ(x0))) 214.12/145.83 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 214.12/145.83 new_esEs(Neg(Succ(x0))) 214.12/145.83 new_primEqInt(Neg(Zero)) 214.12/145.83 new_primModNatS01(x0, x1, Zero, Zero) 214.12/145.83 new_primEqInt(Pos(Succ(x0))) 214.12/145.83 new_primMinusNatS2(Zero, Succ(x0)) 214.12/145.83 new_primModNatS1(Succ(Zero), Succ(x0)) 214.12/145.83 new_primMinusNatS2(Succ(x0), Succ(x1)) 214.12/145.83 new_primModNatS01(x0, x1, Zero, Succ(x2)) 214.12/145.83 new_esEs(Neg(Zero)) 214.12/145.83 214.12/145.83 We have to consider all minimal (P,Q,R)-chains. 214.12/145.83 ---------------------------------------- 214.12/145.83 214.12/145.83 (387) QReductionProof (EQUIVALENT) 214.12/145.83 We deleted the following terms from Q as each root-symbol of these terms does neither occur in P nor in R.[THIEMANN]. 214.12/145.83 214.12/145.83 new_primModNatS01(x0, x1, Succ(x2), Zero) 214.12/145.83 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 214.12/145.83 new_primModNatS02(x0, x1) 214.12/145.83 new_primMinusNatS2(Zero, Zero) 214.12/145.83 new_primMinusNatS2(Succ(x0), Zero) 214.12/145.83 new_primModNatS01(x0, x1, Zero, Zero) 214.12/145.83 new_primMinusNatS2(Zero, Succ(x0)) 214.12/145.83 new_primMinusNatS2(Succ(x0), Succ(x1)) 214.12/145.83 new_primModNatS01(x0, x1, Zero, Succ(x2)) 214.12/145.83 214.12/145.83 214.12/145.83 ---------------------------------------- 214.12/145.83 214.12/145.83 (388) 214.12/145.83 Obligation: 214.12/145.83 Q DP problem: 214.12/145.83 The TRS P consists of the following rules: 214.12/145.83 214.12/145.83 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)))) 214.12/145.83 new_gcd0Gcd'1(False, Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 214.12/145.83 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))) 214.12/145.83 new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 214.12/145.83 214.12/145.83 The TRS R consists of the following rules: 214.12/145.83 214.12/145.83 new_esEs(Pos(Succ(vyv24300))) -> new_primEqInt(Pos(Succ(vyv24300))) 214.12/145.83 new_primEqInt(Pos(Succ(vyv242000))) -> False 214.12/145.83 new_primModNatS1(Succ(Succ(vyv293000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv293000), Zero) 214.12/145.83 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 214.12/145.83 new_primMinusNatS0(vyv271000) -> Succ(vyv271000) 214.12/145.83 new_primModNatS1(Zero, vyv29200) -> Zero 214.12/145.83 new_primMinusNatS1 -> Zero 214.12/145.83 new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) 214.12/145.83 new_primEqInt(Pos(Zero)) -> True 214.12/145.83 214.12/145.83 The set Q consists of the following terms: 214.12/145.83 214.12/145.83 new_primModNatS1(Succ(Succ(x0)), Zero) 214.12/145.83 new_primMinusNatS1 214.12/145.83 new_primEqInt(Pos(Zero)) 214.12/145.83 new_esEs(Pos(Succ(x0))) 214.12/145.83 new_primModNatS1(Zero, x0) 214.12/145.83 new_primModNatS1(Succ(Zero), Zero) 214.12/145.83 new_esEs(Pos(Zero)) 214.12/145.83 new_primMinusNatS0(x0) 214.12/145.83 new_primEqInt(Neg(Succ(x0))) 214.12/145.83 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 214.12/145.83 new_esEs(Neg(Succ(x0))) 214.12/145.83 new_primEqInt(Neg(Zero)) 214.12/145.83 new_primEqInt(Pos(Succ(x0))) 214.12/145.83 new_primModNatS1(Succ(Zero), Succ(x0)) 214.12/145.83 new_esEs(Neg(Zero)) 214.12/145.83 214.12/145.83 We have to consider all minimal (P,Q,R)-chains. 214.12/145.83 ---------------------------------------- 214.12/145.83 214.12/145.83 (389) TransformationProof (EQUIVALENT) 214.12/145.83 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]: 214.12/145.83 214.12/145.83 (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))))) 214.12/145.83 214.12/145.83 214.12/145.83 ---------------------------------------- 214.12/145.83 214.12/145.83 (390) 214.12/145.83 Obligation: 214.12/145.83 Q DP problem: 214.12/145.83 The TRS P consists of the following rules: 214.12/145.83 214.12/145.83 new_gcd0Gcd'1(False, Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 214.12/145.83 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))) 214.12/145.83 new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 214.12/145.83 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)))) 214.12/145.83 214.12/145.83 The TRS R consists of the following rules: 214.12/145.83 214.12/145.83 new_esEs(Pos(Succ(vyv24300))) -> new_primEqInt(Pos(Succ(vyv24300))) 214.12/145.83 new_primEqInt(Pos(Succ(vyv242000))) -> False 214.12/145.83 new_primModNatS1(Succ(Succ(vyv293000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv293000), Zero) 214.12/145.83 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 214.12/145.83 new_primMinusNatS0(vyv271000) -> Succ(vyv271000) 214.12/145.83 new_primModNatS1(Zero, vyv29200) -> Zero 214.12/145.83 new_primMinusNatS1 -> Zero 214.12/145.83 new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) 214.12/145.83 new_primEqInt(Pos(Zero)) -> True 214.12/145.83 214.12/145.83 The set Q consists of the following terms: 214.12/145.83 214.12/145.83 new_primModNatS1(Succ(Succ(x0)), Zero) 214.12/145.83 new_primMinusNatS1 214.12/145.83 new_primEqInt(Pos(Zero)) 214.12/145.83 new_esEs(Pos(Succ(x0))) 214.12/145.83 new_primModNatS1(Zero, x0) 214.12/145.83 new_primModNatS1(Succ(Zero), Zero) 214.12/145.83 new_esEs(Pos(Zero)) 214.12/145.83 new_primMinusNatS0(x0) 214.12/145.83 new_primEqInt(Neg(Succ(x0))) 214.12/145.83 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 214.12/145.83 new_esEs(Neg(Succ(x0))) 214.12/145.83 new_primEqInt(Neg(Zero)) 214.12/145.83 new_primEqInt(Pos(Succ(x0))) 214.12/145.83 new_primModNatS1(Succ(Zero), Succ(x0)) 214.12/145.83 new_esEs(Neg(Zero)) 214.12/145.83 214.12/145.83 We have to consider all minimal (P,Q,R)-chains. 214.12/145.83 ---------------------------------------- 214.12/145.83 214.12/145.83 (391) TransformationProof (EQUIVALENT) 214.12/145.83 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]: 214.12/145.83 214.12/145.83 (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)))) 214.12/145.83 214.12/145.83 214.12/145.83 ---------------------------------------- 214.12/145.83 214.12/145.83 (392) 214.12/145.83 Obligation: 214.12/145.83 Q DP problem: 214.12/145.83 The TRS P consists of the following rules: 214.12/145.83 214.12/145.83 new_gcd0Gcd'1(False, Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 214.12/145.83 new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 214.12/145.83 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)))) 214.12/145.83 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))) 214.12/145.83 214.12/145.83 The TRS R consists of the following rules: 214.12/145.83 214.12/145.83 new_esEs(Pos(Succ(vyv24300))) -> new_primEqInt(Pos(Succ(vyv24300))) 214.12/145.83 new_primEqInt(Pos(Succ(vyv242000))) -> False 214.12/145.83 new_primModNatS1(Succ(Succ(vyv293000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv293000), Zero) 214.12/145.83 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 214.12/145.83 new_primMinusNatS0(vyv271000) -> Succ(vyv271000) 214.12/145.83 new_primModNatS1(Zero, vyv29200) -> Zero 214.12/145.83 new_primMinusNatS1 -> Zero 214.12/145.83 new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) 214.12/145.83 new_primEqInt(Pos(Zero)) -> True 214.12/145.83 214.12/145.83 The set Q consists of the following terms: 214.12/145.83 214.12/145.83 new_primModNatS1(Succ(Succ(x0)), Zero) 214.12/145.83 new_primMinusNatS1 214.12/145.83 new_primEqInt(Pos(Zero)) 214.12/145.83 new_esEs(Pos(Succ(x0))) 214.12/145.83 new_primModNatS1(Zero, x0) 214.12/145.83 new_primModNatS1(Succ(Zero), Zero) 214.12/145.83 new_esEs(Pos(Zero)) 214.12/145.83 new_primMinusNatS0(x0) 214.12/145.83 new_primEqInt(Neg(Succ(x0))) 214.12/145.83 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 214.12/145.83 new_esEs(Neg(Succ(x0))) 214.12/145.83 new_primEqInt(Neg(Zero)) 214.12/145.83 new_primEqInt(Pos(Succ(x0))) 214.12/145.83 new_primModNatS1(Succ(Zero), Succ(x0)) 214.12/145.83 new_esEs(Neg(Zero)) 214.12/145.83 214.12/145.83 We have to consider all minimal (P,Q,R)-chains. 214.12/145.83 ---------------------------------------- 214.12/145.83 214.12/145.83 (393) TransformationProof (EQUIVALENT) 214.12/145.83 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]: 214.12/145.83 214.12/145.83 (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)))) 214.12/145.83 214.12/145.83 214.12/145.83 ---------------------------------------- 214.12/145.83 214.12/145.83 (394) 214.12/145.83 Obligation: 214.12/145.83 Q DP problem: 214.12/145.83 The TRS P consists of the following rules: 214.12/145.83 214.12/145.83 new_gcd0Gcd'1(False, Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 214.12/145.83 new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 214.12/145.83 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)))) 214.12/145.83 new_gcd0Gcd'0(Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 214.12/145.83 214.12/145.83 The TRS R consists of the following rules: 214.12/145.83 214.12/145.83 new_esEs(Pos(Succ(vyv24300))) -> new_primEqInt(Pos(Succ(vyv24300))) 214.12/145.83 new_primEqInt(Pos(Succ(vyv242000))) -> False 214.12/145.83 new_primModNatS1(Succ(Succ(vyv293000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv293000), Zero) 214.12/145.83 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 214.12/145.83 new_primMinusNatS0(vyv271000) -> Succ(vyv271000) 214.12/145.83 new_primModNatS1(Zero, vyv29200) -> Zero 214.12/145.83 new_primMinusNatS1 -> Zero 214.12/145.83 new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) 214.12/145.83 new_primEqInt(Pos(Zero)) -> True 214.12/145.83 214.12/145.83 The set Q consists of the following terms: 214.12/145.83 214.12/145.83 new_primModNatS1(Succ(Succ(x0)), Zero) 214.12/145.83 new_primMinusNatS1 214.12/145.83 new_primEqInt(Pos(Zero)) 214.12/145.83 new_esEs(Pos(Succ(x0))) 214.12/145.83 new_primModNatS1(Zero, x0) 214.12/145.83 new_primModNatS1(Succ(Zero), Zero) 214.12/145.83 new_esEs(Pos(Zero)) 214.12/145.83 new_primMinusNatS0(x0) 214.12/145.83 new_primEqInt(Neg(Succ(x0))) 214.12/145.83 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 214.12/145.83 new_esEs(Neg(Succ(x0))) 214.12/145.83 new_primEqInt(Neg(Zero)) 214.12/145.83 new_primEqInt(Pos(Succ(x0))) 214.12/145.83 new_primModNatS1(Succ(Zero), Succ(x0)) 214.12/145.83 new_esEs(Neg(Zero)) 214.12/145.83 214.12/145.83 We have to consider all minimal (P,Q,R)-chains. 214.12/145.83 ---------------------------------------- 214.12/145.83 214.12/145.83 (395) TransformationProof (EQUIVALENT) 214.12/145.83 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]: 214.12/145.83 214.12/145.83 (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)))) 214.12/145.83 (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)))) 214.12/145.83 214.12/145.83 214.12/145.83 ---------------------------------------- 214.12/145.83 214.12/145.83 (396) 214.12/145.83 Obligation: 214.12/145.83 Q DP problem: 214.12/145.83 The TRS P consists of the following rules: 214.12/145.83 214.12/145.83 new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 214.12/145.83 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)))) 214.12/145.83 new_gcd0Gcd'0(Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 214.12/145.83 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))) 214.12/145.83 new_gcd0Gcd'1(False, Pos(Succ(Zero)), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Pos(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS1, Zero))) 214.12/145.83 214.12/145.83 The TRS R consists of the following rules: 214.12/145.83 214.12/145.83 new_esEs(Pos(Succ(vyv24300))) -> new_primEqInt(Pos(Succ(vyv24300))) 214.12/145.83 new_primEqInt(Pos(Succ(vyv242000))) -> False 214.12/145.83 new_primModNatS1(Succ(Succ(vyv293000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv293000), Zero) 214.12/145.83 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 214.12/145.83 new_primMinusNatS0(vyv271000) -> Succ(vyv271000) 214.12/145.83 new_primModNatS1(Zero, vyv29200) -> Zero 214.12/145.83 new_primMinusNatS1 -> Zero 214.12/145.83 new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) 214.12/145.83 new_primEqInt(Pos(Zero)) -> True 214.12/145.83 214.12/145.83 The set Q consists of the following terms: 214.12/145.83 214.12/145.83 new_primModNatS1(Succ(Succ(x0)), Zero) 214.12/145.83 new_primMinusNatS1 214.12/145.83 new_primEqInt(Pos(Zero)) 214.12/145.83 new_esEs(Pos(Succ(x0))) 214.12/145.83 new_primModNatS1(Zero, x0) 214.12/145.83 new_primModNatS1(Succ(Zero), Zero) 214.12/145.83 new_esEs(Pos(Zero)) 214.12/145.83 new_primMinusNatS0(x0) 214.12/145.83 new_primEqInt(Neg(Succ(x0))) 214.12/145.83 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 214.12/145.83 new_esEs(Neg(Succ(x0))) 214.12/145.83 new_primEqInt(Neg(Zero)) 214.12/145.83 new_primEqInt(Pos(Succ(x0))) 214.12/145.83 new_primModNatS1(Succ(Zero), Succ(x0)) 214.12/145.83 new_esEs(Neg(Zero)) 214.12/145.83 214.12/145.83 We have to consider all minimal (P,Q,R)-chains. 214.12/145.83 ---------------------------------------- 214.12/145.83 214.12/145.83 (397) TransformationProof (EQUIVALENT) 214.12/145.83 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]: 214.12/145.83 214.12/145.83 (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)))) 214.12/145.83 214.12/145.83 214.12/145.83 ---------------------------------------- 214.12/145.83 214.12/145.83 (398) 214.12/145.83 Obligation: 214.12/145.83 Q DP problem: 214.12/145.83 The TRS P consists of the following rules: 214.12/145.83 214.12/145.83 new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 214.12/145.83 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)))) 214.12/145.83 new_gcd0Gcd'0(Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 214.12/145.83 new_gcd0Gcd'1(False, Pos(Succ(Zero)), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Pos(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS1, Zero))) 214.12/145.83 new_gcd0Gcd'1(False, Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_gcd0Gcd'0(Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 214.12/145.83 214.12/145.83 The TRS R consists of the following rules: 214.12/145.83 214.12/145.83 new_esEs(Pos(Succ(vyv24300))) -> new_primEqInt(Pos(Succ(vyv24300))) 214.12/145.83 new_primEqInt(Pos(Succ(vyv242000))) -> False 214.12/145.83 new_primModNatS1(Succ(Succ(vyv293000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv293000), Zero) 214.12/145.83 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 214.12/145.83 new_primMinusNatS0(vyv271000) -> Succ(vyv271000) 214.12/145.83 new_primModNatS1(Zero, vyv29200) -> Zero 214.12/145.83 new_primMinusNatS1 -> Zero 214.12/145.83 new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) 214.12/145.83 new_primEqInt(Pos(Zero)) -> True 214.12/145.83 214.12/145.83 The set Q consists of the following terms: 214.12/145.83 214.12/145.83 new_primModNatS1(Succ(Succ(x0)), Zero) 214.12/145.83 new_primMinusNatS1 214.12/145.83 new_primEqInt(Pos(Zero)) 214.12/145.83 new_esEs(Pos(Succ(x0))) 214.12/145.83 new_primModNatS1(Zero, x0) 214.12/145.83 new_primModNatS1(Succ(Zero), Zero) 214.12/145.83 new_esEs(Pos(Zero)) 214.12/145.83 new_primMinusNatS0(x0) 214.12/145.83 new_primEqInt(Neg(Succ(x0))) 214.12/145.83 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 214.12/145.83 new_esEs(Neg(Succ(x0))) 214.12/145.83 new_primEqInt(Neg(Zero)) 214.12/145.83 new_primEqInt(Pos(Succ(x0))) 214.12/145.83 new_primModNatS1(Succ(Zero), Succ(x0)) 214.12/145.83 new_esEs(Neg(Zero)) 214.12/145.83 214.12/145.83 We have to consider all minimal (P,Q,R)-chains. 214.12/145.83 ---------------------------------------- 214.12/145.83 214.12/145.83 (399) TransformationProof (EQUIVALENT) 214.12/145.83 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]: 214.12/145.83 214.12/145.83 (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)))) 214.12/145.83 214.12/145.83 214.12/145.83 ---------------------------------------- 214.12/145.83 214.12/145.83 (400) 214.12/145.83 Obligation: 214.12/145.83 Q DP problem: 214.12/145.83 The TRS P consists of the following rules: 214.12/145.83 214.12/145.83 new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 214.12/145.83 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)))) 214.12/145.83 new_gcd0Gcd'0(Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 214.12/145.83 new_gcd0Gcd'1(False, Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_gcd0Gcd'0(Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 214.12/145.83 new_gcd0Gcd'1(False, Pos(Succ(Zero)), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Pos(Succ(Zero)), Pos(new_primModNatS1(Zero, Zero))) 214.12/145.83 214.12/145.83 The TRS R consists of the following rules: 214.12/145.83 214.12/145.83 new_esEs(Pos(Succ(vyv24300))) -> new_primEqInt(Pos(Succ(vyv24300))) 214.12/145.83 new_primEqInt(Pos(Succ(vyv242000))) -> False 214.12/145.83 new_primModNatS1(Succ(Succ(vyv293000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv293000), Zero) 214.12/145.83 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 214.12/145.83 new_primMinusNatS0(vyv271000) -> Succ(vyv271000) 214.12/145.83 new_primModNatS1(Zero, vyv29200) -> Zero 214.12/145.83 new_primMinusNatS1 -> Zero 214.12/145.83 new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) 214.12/145.83 new_primEqInt(Pos(Zero)) -> True 214.12/145.83 214.12/145.83 The set Q consists of the following terms: 214.12/145.83 214.12/145.83 new_primModNatS1(Succ(Succ(x0)), Zero) 214.12/145.83 new_primMinusNatS1 214.12/145.83 new_primEqInt(Pos(Zero)) 214.12/145.83 new_esEs(Pos(Succ(x0))) 214.12/145.83 new_primModNatS1(Zero, x0) 214.12/145.83 new_primModNatS1(Succ(Zero), Zero) 214.12/145.83 new_esEs(Pos(Zero)) 214.12/145.83 new_primMinusNatS0(x0) 214.12/145.83 new_primEqInt(Neg(Succ(x0))) 214.12/145.83 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 214.12/145.83 new_esEs(Neg(Succ(x0))) 214.12/145.83 new_primEqInt(Neg(Zero)) 214.12/145.83 new_primEqInt(Pos(Succ(x0))) 214.12/145.83 new_primModNatS1(Succ(Zero), Succ(x0)) 214.12/145.83 new_esEs(Neg(Zero)) 214.12/145.83 214.12/145.83 We have to consider all minimal (P,Q,R)-chains. 214.12/145.83 ---------------------------------------- 214.12/145.83 214.12/145.83 (401) DependencyGraphProof (EQUIVALENT) 214.12/145.83 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. 214.12/145.83 ---------------------------------------- 214.12/145.83 214.12/145.83 (402) 214.12/145.83 Obligation: 214.12/145.83 Q DP problem: 214.12/145.83 The TRS P consists of the following rules: 214.12/145.83 214.12/145.83 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)))) 214.12/145.83 new_gcd0Gcd'1(False, Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_gcd0Gcd'0(Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 214.12/145.83 new_gcd0Gcd'0(Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 214.12/145.83 new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 214.12/145.83 214.12/145.83 The TRS R consists of the following rules: 214.12/145.83 214.12/145.83 new_esEs(Pos(Succ(vyv24300))) -> new_primEqInt(Pos(Succ(vyv24300))) 214.12/145.83 new_primEqInt(Pos(Succ(vyv242000))) -> False 214.12/145.83 new_primModNatS1(Succ(Succ(vyv293000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv293000), Zero) 214.12/145.83 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 214.12/145.83 new_primMinusNatS0(vyv271000) -> Succ(vyv271000) 214.12/145.83 new_primModNatS1(Zero, vyv29200) -> Zero 214.12/145.83 new_primMinusNatS1 -> Zero 214.12/145.83 new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) 214.12/145.83 new_primEqInt(Pos(Zero)) -> True 214.12/145.83 214.12/145.83 The set Q consists of the following terms: 214.12/145.83 214.12/145.83 new_primModNatS1(Succ(Succ(x0)), Zero) 214.12/145.83 new_primMinusNatS1 214.12/145.83 new_primEqInt(Pos(Zero)) 214.12/145.83 new_esEs(Pos(Succ(x0))) 214.12/145.83 new_primModNatS1(Zero, x0) 214.12/145.83 new_primModNatS1(Succ(Zero), Zero) 214.12/145.83 new_esEs(Pos(Zero)) 214.12/145.83 new_primMinusNatS0(x0) 214.12/145.83 new_primEqInt(Neg(Succ(x0))) 214.12/145.83 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 214.12/145.83 new_esEs(Neg(Succ(x0))) 214.12/145.83 new_primEqInt(Neg(Zero)) 214.12/145.83 new_primEqInt(Pos(Succ(x0))) 214.12/145.83 new_primModNatS1(Succ(Zero), Succ(x0)) 214.12/145.83 new_esEs(Neg(Zero)) 214.12/145.83 214.12/145.83 We have to consider all minimal (P,Q,R)-chains. 214.12/145.83 ---------------------------------------- 214.12/145.83 214.12/145.83 (403) TransformationProof (EQUIVALENT) 214.12/145.83 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]: 214.12/145.83 214.12/145.83 (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)))))) 214.12/145.83 (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))))) 214.12/145.83 214.12/145.83 214.12/145.83 ---------------------------------------- 214.12/145.83 214.12/145.83 (404) 214.12/145.83 Obligation: 214.12/145.83 Q DP problem: 214.12/145.83 The TRS P consists of the following rules: 214.12/145.83 214.12/145.83 new_gcd0Gcd'1(False, Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_gcd0Gcd'0(Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 214.12/145.83 new_gcd0Gcd'0(Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 214.12/145.83 new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 214.12/145.83 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))))) 214.12/145.83 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)))) 214.12/145.83 214.12/145.83 The TRS R consists of the following rules: 214.12/145.83 214.12/145.83 new_esEs(Pos(Succ(vyv24300))) -> new_primEqInt(Pos(Succ(vyv24300))) 214.12/145.83 new_primEqInt(Pos(Succ(vyv242000))) -> False 214.12/145.83 new_primModNatS1(Succ(Succ(vyv293000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv293000), Zero) 214.12/145.83 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 214.12/145.83 new_primMinusNatS0(vyv271000) -> Succ(vyv271000) 214.12/145.83 new_primModNatS1(Zero, vyv29200) -> Zero 214.12/145.83 new_primMinusNatS1 -> Zero 214.12/145.83 new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) 214.12/145.83 new_primEqInt(Pos(Zero)) -> True 214.12/145.83 214.12/145.83 The set Q consists of the following terms: 214.12/145.83 214.12/145.83 new_primModNatS1(Succ(Succ(x0)), Zero) 214.12/145.83 new_primMinusNatS1 214.12/145.83 new_primEqInt(Pos(Zero)) 214.12/145.83 new_esEs(Pos(Succ(x0))) 214.12/145.83 new_primModNatS1(Zero, x0) 214.12/145.83 new_primModNatS1(Succ(Zero), Zero) 214.12/145.83 new_esEs(Pos(Zero)) 214.12/145.83 new_primMinusNatS0(x0) 214.12/145.83 new_primEqInt(Neg(Succ(x0))) 214.12/145.83 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 214.12/145.83 new_esEs(Neg(Succ(x0))) 214.12/145.83 new_primEqInt(Neg(Zero)) 214.12/145.83 new_primEqInt(Pos(Succ(x0))) 214.12/145.83 new_primModNatS1(Succ(Zero), Succ(x0)) 214.12/145.83 new_esEs(Neg(Zero)) 214.12/145.83 214.12/145.83 We have to consider all minimal (P,Q,R)-chains. 214.12/145.83 ---------------------------------------- 214.12/145.83 214.12/145.83 (405) DependencyGraphProof (EQUIVALENT) 214.12/145.83 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. 214.12/145.83 ---------------------------------------- 214.12/145.83 214.12/145.83 (406) 214.12/145.83 Obligation: 214.12/145.83 Q DP problem: 214.12/145.83 The TRS P consists of the following rules: 214.12/145.83 214.12/145.83 new_gcd0Gcd'0(Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 214.12/145.83 new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 214.12/145.83 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))))) 214.12/145.83 new_gcd0Gcd'1(False, Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_gcd0Gcd'0(Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 214.12/145.83 214.12/145.83 The TRS R consists of the following rules: 214.12/145.83 214.12/145.83 new_esEs(Pos(Succ(vyv24300))) -> new_primEqInt(Pos(Succ(vyv24300))) 214.12/145.83 new_primEqInt(Pos(Succ(vyv242000))) -> False 214.12/145.83 new_primModNatS1(Succ(Succ(vyv293000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv293000), Zero) 214.12/145.83 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 214.12/145.83 new_primMinusNatS0(vyv271000) -> Succ(vyv271000) 214.12/145.83 new_primModNatS1(Zero, vyv29200) -> Zero 214.12/145.83 new_primMinusNatS1 -> Zero 214.12/145.83 new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) 214.12/145.83 new_primEqInt(Pos(Zero)) -> True 214.12/145.83 214.12/145.83 The set Q consists of the following terms: 214.12/145.83 214.12/145.83 new_primModNatS1(Succ(Succ(x0)), Zero) 214.12/145.83 new_primMinusNatS1 214.12/145.83 new_primEqInt(Pos(Zero)) 214.12/145.83 new_esEs(Pos(Succ(x0))) 214.12/145.83 new_primModNatS1(Zero, x0) 214.12/145.83 new_primModNatS1(Succ(Zero), Zero) 214.12/145.83 new_esEs(Pos(Zero)) 214.12/145.83 new_primMinusNatS0(x0) 214.12/145.83 new_primEqInt(Neg(Succ(x0))) 214.12/145.83 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 214.12/145.83 new_esEs(Neg(Succ(x0))) 214.12/145.83 new_primEqInt(Neg(Zero)) 214.12/145.83 new_primEqInt(Pos(Succ(x0))) 214.12/145.83 new_primModNatS1(Succ(Zero), Succ(x0)) 214.12/145.83 new_esEs(Neg(Zero)) 214.12/145.83 214.12/145.83 We have to consider all minimal (P,Q,R)-chains. 214.12/145.83 ---------------------------------------- 214.12/145.83 214.12/145.83 (407) TransformationProof (EQUIVALENT) 214.12/145.83 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]: 214.12/145.83 214.12/145.83 (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)))))) 214.12/145.83 214.12/145.83 214.12/145.83 ---------------------------------------- 214.12/145.83 214.12/145.83 (408) 214.12/145.83 Obligation: 214.12/145.83 Q DP problem: 214.12/145.83 The TRS P consists of the following rules: 214.12/145.83 214.12/145.83 new_gcd0Gcd'0(Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 214.12/145.83 new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 214.12/145.83 new_gcd0Gcd'1(False, Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_gcd0Gcd'0(Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 214.12/145.83 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))))) 214.12/145.83 214.12/145.83 The TRS R consists of the following rules: 214.12/145.83 214.12/145.83 new_esEs(Pos(Succ(vyv24300))) -> new_primEqInt(Pos(Succ(vyv24300))) 214.12/145.83 new_primEqInt(Pos(Succ(vyv242000))) -> False 214.12/145.83 new_primModNatS1(Succ(Succ(vyv293000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv293000), Zero) 214.12/145.83 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 214.12/145.83 new_primMinusNatS0(vyv271000) -> Succ(vyv271000) 214.12/145.83 new_primModNatS1(Zero, vyv29200) -> Zero 214.12/145.83 new_primMinusNatS1 -> Zero 214.12/145.83 new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) 214.12/145.83 new_primEqInt(Pos(Zero)) -> True 214.12/145.83 214.12/145.83 The set Q consists of the following terms: 214.12/145.83 214.12/145.83 new_primModNatS1(Succ(Succ(x0)), Zero) 214.12/145.83 new_primMinusNatS1 214.12/145.83 new_primEqInt(Pos(Zero)) 214.12/145.83 new_esEs(Pos(Succ(x0))) 214.12/145.83 new_primModNatS1(Zero, x0) 214.12/145.83 new_primModNatS1(Succ(Zero), Zero) 214.12/145.83 new_esEs(Pos(Zero)) 214.12/145.83 new_primMinusNatS0(x0) 214.12/145.83 new_primEqInt(Neg(Succ(x0))) 214.12/145.83 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 214.12/145.83 new_esEs(Neg(Succ(x0))) 214.12/145.83 new_primEqInt(Neg(Zero)) 214.12/145.83 new_primEqInt(Pos(Succ(x0))) 214.12/145.83 new_primModNatS1(Succ(Zero), Succ(x0)) 214.12/145.83 new_esEs(Neg(Zero)) 214.12/145.83 214.12/145.83 We have to consider all minimal (P,Q,R)-chains. 214.12/145.83 ---------------------------------------- 214.12/145.83 214.12/145.83 (409) TransformationProof (EQUIVALENT) 214.12/145.83 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]: 214.12/145.83 214.12/145.83 (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)))) 214.12/145.83 (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)))) 214.12/145.83 214.12/145.83 214.12/145.83 ---------------------------------------- 214.12/145.83 214.12/145.83 (410) 214.12/145.83 Obligation: 214.12/145.83 Q DP problem: 214.12/145.83 The TRS P consists of the following rules: 214.12/145.83 214.12/145.83 new_gcd0Gcd'0(Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 214.12/145.83 new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 214.12/145.83 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))))) 214.12/145.83 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))) 214.12/145.83 new_gcd0Gcd'1(False, Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Pos(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS1, Zero))) 214.12/145.83 214.12/145.83 The TRS R consists of the following rules: 214.12/145.83 214.12/145.83 new_esEs(Pos(Succ(vyv24300))) -> new_primEqInt(Pos(Succ(vyv24300))) 214.12/145.83 new_primEqInt(Pos(Succ(vyv242000))) -> False 214.12/145.83 new_primModNatS1(Succ(Succ(vyv293000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv293000), Zero) 214.12/145.83 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 214.12/145.83 new_primMinusNatS0(vyv271000) -> Succ(vyv271000) 214.12/145.83 new_primModNatS1(Zero, vyv29200) -> Zero 214.12/145.83 new_primMinusNatS1 -> Zero 214.12/145.83 new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) 214.12/145.83 new_primEqInt(Pos(Zero)) -> True 214.12/145.83 214.12/145.83 The set Q consists of the following terms: 214.12/145.83 214.12/145.83 new_primModNatS1(Succ(Succ(x0)), Zero) 214.12/145.83 new_primMinusNatS1 214.12/145.83 new_primEqInt(Pos(Zero)) 214.12/145.83 new_esEs(Pos(Succ(x0))) 214.12/145.83 new_primModNatS1(Zero, x0) 214.12/145.83 new_primModNatS1(Succ(Zero), Zero) 214.12/145.83 new_esEs(Pos(Zero)) 214.12/145.83 new_primMinusNatS0(x0) 214.12/145.83 new_primEqInt(Neg(Succ(x0))) 214.12/145.83 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 214.12/145.83 new_esEs(Neg(Succ(x0))) 214.12/145.83 new_primEqInt(Neg(Zero)) 214.12/145.83 new_primEqInt(Pos(Succ(x0))) 214.12/145.83 new_primModNatS1(Succ(Zero), Succ(x0)) 214.12/145.83 new_esEs(Neg(Zero)) 214.12/145.83 214.12/145.83 We have to consider all minimal (P,Q,R)-chains. 214.12/145.83 ---------------------------------------- 214.12/145.83 214.12/145.83 (411) TransformationProof (EQUIVALENT) 214.12/145.83 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]: 214.12/145.83 214.12/145.83 (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)))) 214.12/145.83 214.12/145.83 214.12/145.83 ---------------------------------------- 214.12/145.83 214.12/145.83 (412) 214.12/145.83 Obligation: 214.12/145.83 Q DP problem: 214.12/145.83 The TRS P consists of the following rules: 214.12/145.83 214.12/145.83 new_gcd0Gcd'0(Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 214.12/145.83 new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 214.12/145.83 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))))) 214.12/145.83 new_gcd0Gcd'1(False, Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Pos(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS1, Zero))) 214.12/145.83 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))) 214.12/145.83 214.12/145.83 The TRS R consists of the following rules: 214.12/145.83 214.12/145.83 new_esEs(Pos(Succ(vyv24300))) -> new_primEqInt(Pos(Succ(vyv24300))) 214.12/145.83 new_primEqInt(Pos(Succ(vyv242000))) -> False 214.12/145.83 new_primModNatS1(Succ(Succ(vyv293000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv293000), Zero) 214.12/145.83 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 214.12/145.83 new_primMinusNatS0(vyv271000) -> Succ(vyv271000) 214.12/145.83 new_primModNatS1(Zero, vyv29200) -> Zero 214.12/145.83 new_primMinusNatS1 -> Zero 214.12/145.83 new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) 214.12/145.83 new_primEqInt(Pos(Zero)) -> True 214.12/145.83 214.12/145.83 The set Q consists of the following terms: 214.12/145.83 214.12/145.83 new_primModNatS1(Succ(Succ(x0)), Zero) 214.12/145.83 new_primMinusNatS1 214.12/145.83 new_primEqInt(Pos(Zero)) 214.12/145.83 new_esEs(Pos(Succ(x0))) 214.12/145.83 new_primModNatS1(Zero, x0) 214.12/145.83 new_primModNatS1(Succ(Zero), Zero) 214.12/145.83 new_esEs(Pos(Zero)) 214.12/145.83 new_primMinusNatS0(x0) 214.12/145.83 new_primEqInt(Neg(Succ(x0))) 214.12/145.83 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 214.12/145.83 new_esEs(Neg(Succ(x0))) 214.12/145.83 new_primEqInt(Neg(Zero)) 214.12/145.83 new_primEqInt(Pos(Succ(x0))) 214.12/145.83 new_primModNatS1(Succ(Zero), Succ(x0)) 214.12/145.83 new_esEs(Neg(Zero)) 214.12/145.83 214.12/145.83 We have to consider all minimal (P,Q,R)-chains. 214.12/145.83 ---------------------------------------- 214.12/145.83 214.12/145.83 (413) TransformationProof (EQUIVALENT) 214.12/145.83 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]: 214.12/145.83 214.12/145.83 (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)))) 214.12/145.83 214.12/145.83 214.12/145.83 ---------------------------------------- 214.12/145.83 214.12/145.83 (414) 214.12/145.83 Obligation: 214.12/145.83 Q DP problem: 214.12/145.83 The TRS P consists of the following rules: 214.12/145.83 214.12/145.83 new_gcd0Gcd'0(Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 214.12/145.83 new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 214.12/145.83 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))))) 214.12/145.83 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))) 214.12/145.83 new_gcd0Gcd'1(False, Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Pos(Succ(Zero)), Pos(new_primModNatS1(Zero, Zero))) 214.12/145.83 214.12/145.83 The TRS R consists of the following rules: 214.12/145.83 214.12/145.83 new_esEs(Pos(Succ(vyv24300))) -> new_primEqInt(Pos(Succ(vyv24300))) 214.12/145.83 new_primEqInt(Pos(Succ(vyv242000))) -> False 214.12/145.83 new_primModNatS1(Succ(Succ(vyv293000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv293000), Zero) 214.12/145.83 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 214.12/145.83 new_primMinusNatS0(vyv271000) -> Succ(vyv271000) 214.12/145.83 new_primModNatS1(Zero, vyv29200) -> Zero 214.12/145.83 new_primMinusNatS1 -> Zero 214.12/145.83 new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) 214.12/145.83 new_primEqInt(Pos(Zero)) -> True 214.12/145.83 214.12/145.83 The set Q consists of the following terms: 214.12/145.83 214.12/145.83 new_primModNatS1(Succ(Succ(x0)), Zero) 214.12/145.83 new_primMinusNatS1 214.12/145.83 new_primEqInt(Pos(Zero)) 214.12/145.83 new_esEs(Pos(Succ(x0))) 214.12/145.83 new_primModNatS1(Zero, x0) 214.12/145.83 new_primModNatS1(Succ(Zero), Zero) 214.12/145.83 new_esEs(Pos(Zero)) 214.12/145.83 new_primMinusNatS0(x0) 214.12/145.83 new_primEqInt(Neg(Succ(x0))) 214.12/145.83 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 214.12/145.83 new_esEs(Neg(Succ(x0))) 214.12/145.83 new_primEqInt(Neg(Zero)) 214.12/145.83 new_primEqInt(Pos(Succ(x0))) 214.12/145.83 new_primModNatS1(Succ(Zero), Succ(x0)) 214.12/145.83 new_esEs(Neg(Zero)) 214.12/145.83 214.12/145.83 We have to consider all minimal (P,Q,R)-chains. 214.12/145.83 ---------------------------------------- 214.12/145.83 214.12/145.83 (415) DependencyGraphProof (EQUIVALENT) 214.12/145.83 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. 214.12/145.83 ---------------------------------------- 214.12/145.83 214.12/145.83 (416) 214.12/145.83 Obligation: 214.12/145.83 Q DP problem: 214.12/145.83 The TRS P consists of the following rules: 214.12/145.83 214.12/145.83 new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 214.12/145.83 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))))) 214.12/145.83 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))) 214.12/145.83 new_gcd0Gcd'0(Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 214.12/145.83 214.12/145.83 The TRS R consists of the following rules: 214.12/145.83 214.12/145.83 new_esEs(Pos(Succ(vyv24300))) -> new_primEqInt(Pos(Succ(vyv24300))) 214.12/145.83 new_primEqInt(Pos(Succ(vyv242000))) -> False 214.12/145.83 new_primModNatS1(Succ(Succ(vyv293000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv293000), Zero) 214.12/145.83 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 214.12/145.83 new_primMinusNatS0(vyv271000) -> Succ(vyv271000) 214.12/145.83 new_primModNatS1(Zero, vyv29200) -> Zero 214.12/145.83 new_primMinusNatS1 -> Zero 214.12/145.83 new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) 214.12/145.83 new_primEqInt(Pos(Zero)) -> True 214.12/145.83 214.12/145.83 The set Q consists of the following terms: 214.12/145.83 214.12/145.83 new_primModNatS1(Succ(Succ(x0)), Zero) 214.12/145.83 new_primMinusNatS1 214.12/145.83 new_primEqInt(Pos(Zero)) 214.12/145.83 new_esEs(Pos(Succ(x0))) 214.12/145.83 new_primModNatS1(Zero, x0) 214.12/145.83 new_primModNatS1(Succ(Zero), Zero) 214.12/145.83 new_esEs(Pos(Zero)) 214.12/145.83 new_primMinusNatS0(x0) 214.12/145.83 new_primEqInt(Neg(Succ(x0))) 214.12/145.83 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 214.12/145.83 new_esEs(Neg(Succ(x0))) 214.12/145.83 new_primEqInt(Neg(Zero)) 214.12/145.83 new_primEqInt(Pos(Succ(x0))) 214.12/145.83 new_primModNatS1(Succ(Zero), Succ(x0)) 214.12/145.83 new_esEs(Neg(Zero)) 214.12/145.83 214.12/145.83 We have to consider all minimal (P,Q,R)-chains. 214.12/145.83 ---------------------------------------- 214.12/145.83 214.12/145.83 (417) TransformationProof (EQUIVALENT) 214.12/145.83 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]: 214.12/145.83 214.12/145.83 (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))))))) 214.12/145.83 (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)))))) 214.12/145.83 214.12/145.83 214.12/145.83 ---------------------------------------- 214.12/145.83 214.12/145.83 (418) 214.12/145.83 Obligation: 214.12/145.83 Q DP problem: 214.12/145.83 The TRS P consists of the following rules: 214.12/145.83 214.12/145.83 new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 214.12/145.83 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))) 214.12/145.83 new_gcd0Gcd'0(Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 214.12/145.83 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)))))) 214.12/145.83 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))))) 214.12/145.83 214.12/145.83 The TRS R consists of the following rules: 214.12/145.83 214.12/145.83 new_esEs(Pos(Succ(vyv24300))) -> new_primEqInt(Pos(Succ(vyv24300))) 214.12/145.83 new_primEqInt(Pos(Succ(vyv242000))) -> False 214.12/145.83 new_primModNatS1(Succ(Succ(vyv293000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv293000), Zero) 214.12/145.83 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 214.12/145.83 new_primMinusNatS0(vyv271000) -> Succ(vyv271000) 214.12/145.83 new_primModNatS1(Zero, vyv29200) -> Zero 214.12/145.83 new_primMinusNatS1 -> Zero 214.12/145.83 new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) 214.12/145.83 new_primEqInt(Pos(Zero)) -> True 214.12/145.83 214.12/145.83 The set Q consists of the following terms: 214.12/145.83 214.12/145.83 new_primModNatS1(Succ(Succ(x0)), Zero) 214.12/145.83 new_primMinusNatS1 214.12/145.83 new_primEqInt(Pos(Zero)) 214.12/145.83 new_esEs(Pos(Succ(x0))) 214.12/145.83 new_primModNatS1(Zero, x0) 214.12/145.83 new_primModNatS1(Succ(Zero), Zero) 214.12/145.83 new_esEs(Pos(Zero)) 214.12/145.83 new_primMinusNatS0(x0) 214.12/145.83 new_primEqInt(Neg(Succ(x0))) 214.12/145.83 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 214.12/145.83 new_esEs(Neg(Succ(x0))) 214.12/145.83 new_primEqInt(Neg(Zero)) 214.12/145.83 new_primEqInt(Pos(Succ(x0))) 214.12/145.83 new_primModNatS1(Succ(Zero), Succ(x0)) 214.12/145.83 new_esEs(Neg(Zero)) 214.12/145.83 214.12/145.83 We have to consider all minimal (P,Q,R)-chains. 214.12/145.83 ---------------------------------------- 214.12/145.83 214.12/145.83 (419) DependencyGraphProof (EQUIVALENT) 214.12/145.83 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. 214.12/145.83 ---------------------------------------- 214.12/145.83 214.12/145.83 (420) 214.12/145.83 Obligation: 214.12/145.83 Q DP problem: 214.12/145.83 The TRS P consists of the following rules: 214.12/145.83 214.12/145.83 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)))))) 214.12/145.83 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))) 214.12/145.83 new_gcd0Gcd'0(Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 214.12/145.83 new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 214.12/145.83 214.12/145.83 The TRS R consists of the following rules: 214.12/145.83 214.12/145.83 new_esEs(Pos(Succ(vyv24300))) -> new_primEqInt(Pos(Succ(vyv24300))) 214.12/145.83 new_primEqInt(Pos(Succ(vyv242000))) -> False 214.12/145.83 new_primModNatS1(Succ(Succ(vyv293000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv293000), Zero) 214.12/145.83 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 214.12/145.83 new_primMinusNatS0(vyv271000) -> Succ(vyv271000) 214.12/145.83 new_primModNatS1(Zero, vyv29200) -> Zero 214.12/145.83 new_primMinusNatS1 -> Zero 214.12/145.83 new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) 214.12/145.83 new_primEqInt(Pos(Zero)) -> True 214.12/145.83 214.12/145.83 The set Q consists of the following terms: 214.12/145.83 214.12/145.83 new_primModNatS1(Succ(Succ(x0)), Zero) 214.12/145.83 new_primMinusNatS1 214.12/145.83 new_primEqInt(Pos(Zero)) 214.12/145.83 new_esEs(Pos(Succ(x0))) 214.12/145.83 new_primModNatS1(Zero, x0) 214.12/145.83 new_primModNatS1(Succ(Zero), Zero) 214.12/145.83 new_esEs(Pos(Zero)) 214.12/145.83 new_primMinusNatS0(x0) 214.12/145.83 new_primEqInt(Neg(Succ(x0))) 214.12/145.83 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 214.12/145.83 new_esEs(Neg(Succ(x0))) 214.12/145.83 new_primEqInt(Neg(Zero)) 214.12/145.83 new_primEqInt(Pos(Succ(x0))) 214.12/145.83 new_primModNatS1(Succ(Zero), Succ(x0)) 214.12/145.83 new_esEs(Neg(Zero)) 214.12/145.83 214.12/145.83 We have to consider all minimal (P,Q,R)-chains. 214.12/145.83 ---------------------------------------- 214.12/145.83 214.12/145.83 (421) TransformationProof (EQUIVALENT) 214.12/145.83 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]: 214.12/145.83 214.12/145.83 (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))))))) 214.12/145.83 214.12/145.83 214.12/145.83 ---------------------------------------- 214.12/145.83 214.12/145.83 (422) 214.12/145.83 Obligation: 214.12/145.83 Q DP problem: 214.12/145.83 The TRS P consists of the following rules: 214.12/145.83 214.12/145.83 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))) 214.12/145.83 new_gcd0Gcd'0(Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 214.12/145.83 new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 214.12/145.83 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)))))) 214.12/145.83 214.12/145.83 The TRS R consists of the following rules: 214.12/145.83 214.12/145.83 new_esEs(Pos(Succ(vyv24300))) -> new_primEqInt(Pos(Succ(vyv24300))) 214.12/145.83 new_primEqInt(Pos(Succ(vyv242000))) -> False 214.12/145.83 new_primModNatS1(Succ(Succ(vyv293000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv293000), Zero) 214.12/145.83 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 214.12/145.83 new_primMinusNatS0(vyv271000) -> Succ(vyv271000) 214.12/145.83 new_primModNatS1(Zero, vyv29200) -> Zero 214.12/145.83 new_primMinusNatS1 -> Zero 214.12/145.83 new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) 214.12/145.83 new_primEqInt(Pos(Zero)) -> True 214.12/145.83 214.12/145.83 The set Q consists of the following terms: 214.12/145.83 214.12/145.83 new_primModNatS1(Succ(Succ(x0)), Zero) 214.12/145.83 new_primMinusNatS1 214.12/145.83 new_primEqInt(Pos(Zero)) 214.12/145.83 new_esEs(Pos(Succ(x0))) 214.12/145.83 new_primModNatS1(Zero, x0) 214.12/145.83 new_primModNatS1(Succ(Zero), Zero) 214.12/145.83 new_esEs(Pos(Zero)) 214.12/145.83 new_primMinusNatS0(x0) 214.12/145.83 new_primEqInt(Neg(Succ(x0))) 214.12/145.83 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 214.12/145.83 new_esEs(Neg(Succ(x0))) 214.12/145.83 new_primEqInt(Neg(Zero)) 214.12/145.83 new_primEqInt(Pos(Succ(x0))) 214.12/145.83 new_primModNatS1(Succ(Zero), Succ(x0)) 214.12/145.83 new_esEs(Neg(Zero)) 214.12/145.83 214.12/145.83 We have to consider all minimal (P,Q,R)-chains. 214.12/145.83 ---------------------------------------- 214.12/145.83 214.12/145.83 (423) QDPSizeChangeProof (EQUIVALENT) 214.12/145.83 We used the following order together with the size-change analysis [AAECC05] to show that there are no infinite chains for this DP problem. 214.12/145.83 214.12/145.83 Order:Polynomial interpretation [POLO]: 214.12/145.83 214.12/145.83 POL(False) = 1 214.12/145.83 POL(Pos(x_1)) = x_1 214.12/145.83 POL(Succ(x_1)) = 1 + x_1 214.12/145.83 POL(Zero) = 1 214.12/145.83 POL(new_primMinusNatS0(x_1)) = 1 + x_1 214.12/145.83 POL(new_primMinusNatS1) = 1 214.12/145.83 POL(new_primModNatS1(x_1, x_2)) = x_1 214.12/145.83 214.12/145.83 214.12/145.83 214.12/145.83 214.12/145.83 From the DPs we obtained the following set of size-change graphs: 214.12/145.83 *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}) 214.12/145.83 The graph contains the following edges 2 >= 2, 1 >= 3 214.12/145.83 214.12/145.83 214.12/145.83 *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}) 214.12/145.83 The graph contains the following edges 2 >= 2, 1 >= 3 214.12/145.83 214.12/145.83 214.12/145.83 *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}) 214.12/145.83 The graph contains the following edges 2 >= 1, 3 >= 2 214.12/145.83 214.12/145.83 214.12/145.83 *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}) 214.12/145.83 The graph contains the following edges 2 >= 1, 3 > 2 214.12/145.83 214.12/145.83 214.12/145.83 214.12/145.83 We oriented the following set of usable rules [AAECC05,FROCOS05]. 214.12/145.83 214.12/145.83 new_primModNatS1(Zero, vyv29200) -> Zero 214.12/145.83 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 214.12/145.83 new_primModNatS1(Succ(Succ(vyv293000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv293000), Zero) 214.12/145.83 new_primMinusNatS1 -> Zero 214.12/145.83 new_primMinusNatS0(vyv271000) -> Succ(vyv271000) 214.12/145.83 214.12/145.83 ---------------------------------------- 214.12/145.83 214.12/145.83 (424) 214.12/145.83 YES 214.12/145.83 214.12/145.83 ---------------------------------------- 214.12/145.83 214.12/145.83 (425) 214.12/145.83 Obligation: 214.12/145.83 Q DP problem: 214.12/145.83 The TRS P consists of the following rules: 214.12/145.83 214.12/145.83 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)))) 214.12/145.83 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))) 214.12/145.83 214.12/145.83 The TRS R consists of the following rules: 214.12/145.83 214.12/145.83 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 214.12/145.83 new_primModNatS1(Succ(Succ(vyv293000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv293000), Zero) 214.12/145.83 new_primModNatS1(Succ(Zero), Succ(vyv292000)) -> Succ(Zero) 214.12/145.83 new_primModNatS01(vyv331, vyv332, Zero, Zero) -> new_primModNatS02(vyv331, vyv332) 214.12/145.83 new_primModNatS02(vyv331, vyv332) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv331), Succ(vyv332)), Succ(vyv332)) 214.12/145.83 new_primModNatS1(Succ(Succ(vyv293000)), Succ(vyv292000)) -> new_primModNatS01(vyv293000, vyv292000, vyv293000, vyv292000) 214.12/145.83 new_primModNatS01(vyv331, vyv332, Succ(vyv3330), Succ(vyv3340)) -> new_primModNatS01(vyv331, vyv332, vyv3330, vyv3340) 214.12/145.83 new_primModNatS01(vyv331, vyv332, Succ(vyv3330), Zero) -> new_primModNatS02(vyv331, vyv332) 214.12/145.83 new_primModNatS1(Zero, vyv29200) -> Zero 214.12/145.83 new_esEs(Pos(Succ(vyv24300))) -> new_primEqInt(Pos(Succ(vyv24300))) 214.12/145.83 new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) 214.12/145.83 new_primEqInt(Pos(Zero)) -> True 214.12/145.83 new_primEqInt(Pos(Succ(vyv242000))) -> False 214.12/145.83 new_primMinusNatS2(Succ(vyv3110), Succ(vyv3120)) -> new_primMinusNatS2(vyv3110, vyv3120) 214.12/145.83 new_primModNatS01(vyv331, vyv332, Zero, Succ(vyv3340)) -> Succ(Succ(vyv331)) 214.12/145.83 new_primMinusNatS2(Zero, Zero) -> Zero 214.12/145.83 new_primMinusNatS2(Zero, Succ(vyv3120)) -> Zero 214.12/145.83 new_primMinusNatS2(Succ(vyv3110), Zero) -> Succ(vyv3110) 214.12/145.83 new_primMinusNatS1 -> Zero 214.12/145.83 new_primMinusNatS0(vyv271000) -> Succ(vyv271000) 214.12/145.83 214.12/145.83 The set Q consists of the following terms: 214.12/145.83 214.12/145.83 new_primModNatS01(x0, x1, Succ(x2), Zero) 214.12/145.83 new_primModNatS1(Succ(Succ(x0)), Zero) 214.12/145.83 new_primMinusNatS1 214.12/145.83 new_primEqInt(Pos(Zero)) 214.12/145.83 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 214.12/145.83 new_esEs(Pos(Succ(x0))) 214.12/145.83 new_primModNatS1(Zero, x0) 214.12/145.83 new_primModNatS02(x0, x1) 214.12/145.83 new_primMinusNatS2(Zero, Zero) 214.12/145.83 new_primModNatS1(Succ(Zero), Zero) 214.12/145.83 new_primMinusNatS2(Succ(x0), Zero) 214.12/145.83 new_esEs(Pos(Zero)) 214.12/145.83 new_primMinusNatS0(x0) 214.12/145.83 new_primEqInt(Neg(Succ(x0))) 214.12/145.83 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 214.12/145.83 new_esEs(Neg(Succ(x0))) 214.12/145.83 new_primEqInt(Neg(Zero)) 214.12/145.83 new_primModNatS01(x0, x1, Zero, Zero) 214.12/145.83 new_primEqInt(Pos(Succ(x0))) 214.12/145.83 new_primMinusNatS2(Zero, Succ(x0)) 214.12/145.83 new_primModNatS1(Succ(Zero), Succ(x0)) 214.12/145.83 new_primMinusNatS2(Succ(x0), Succ(x1)) 214.12/145.83 new_primModNatS01(x0, x1, Zero, Succ(x2)) 214.12/145.83 new_esEs(Neg(Zero)) 214.12/145.83 214.12/145.83 We have to consider all minimal (P,Q,R)-chains. 214.12/145.83 ---------------------------------------- 214.12/145.83 214.12/145.83 (426) UsableRulesProof (EQUIVALENT) 214.12/145.83 As all Q-normal forms are R-normal forms we are in the innermost case. Hence, by the usable rules processor [LPAR04] we can delete all non-usable rules [FROCOS05] from R. 214.12/145.83 ---------------------------------------- 214.12/145.83 214.12/145.83 (427) 214.12/145.83 Obligation: 214.12/145.83 Q DP problem: 214.12/145.83 The TRS P consists of the following rules: 214.12/145.83 214.12/145.83 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)))) 214.12/145.83 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))) 214.12/145.83 214.12/145.83 The TRS R consists of the following rules: 214.12/145.83 214.12/145.83 new_primModNatS1(Succ(Succ(vyv293000)), Succ(vyv292000)) -> new_primModNatS01(vyv293000, vyv292000, vyv293000, vyv292000) 214.12/145.83 new_primModNatS01(vyv331, vyv332, Zero, Zero) -> new_primModNatS02(vyv331, vyv332) 214.12/145.83 new_primModNatS02(vyv331, vyv332) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv331), Succ(vyv332)), Succ(vyv332)) 214.12/145.83 new_primModNatS01(vyv331, vyv332, Succ(vyv3330), Succ(vyv3340)) -> new_primModNatS01(vyv331, vyv332, vyv3330, vyv3340) 214.12/145.83 new_primModNatS01(vyv331, vyv332, Succ(vyv3330), Zero) -> new_primModNatS02(vyv331, vyv332) 214.12/145.83 new_primModNatS01(vyv331, vyv332, Zero, Succ(vyv3340)) -> Succ(Succ(vyv331)) 214.12/145.83 new_primMinusNatS2(Succ(vyv3110), Succ(vyv3120)) -> new_primMinusNatS2(vyv3110, vyv3120) 214.12/145.83 new_primModNatS1(Succ(Zero), Succ(vyv292000)) -> Succ(Zero) 214.12/145.83 new_primModNatS1(Zero, vyv29200) -> Zero 214.12/145.83 new_primMinusNatS2(Zero, Zero) -> Zero 214.12/145.83 new_primMinusNatS2(Zero, Succ(vyv3120)) -> Zero 214.12/145.83 new_primMinusNatS2(Succ(vyv3110), Zero) -> Succ(vyv3110) 214.12/145.83 new_esEs(Pos(Succ(vyv24300))) -> new_primEqInt(Pos(Succ(vyv24300))) 214.12/145.83 new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) 214.12/145.83 new_primEqInt(Pos(Zero)) -> True 214.12/145.83 new_primEqInt(Pos(Succ(vyv242000))) -> False 214.12/145.83 214.12/145.83 The set Q consists of the following terms: 214.12/145.83 214.12/145.83 new_primModNatS01(x0, x1, Succ(x2), Zero) 214.12/145.83 new_primModNatS1(Succ(Succ(x0)), Zero) 214.12/145.83 new_primMinusNatS1 214.12/145.83 new_primEqInt(Pos(Zero)) 214.12/145.83 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 214.12/145.83 new_esEs(Pos(Succ(x0))) 214.12/145.83 new_primModNatS1(Zero, x0) 214.12/145.83 new_primModNatS02(x0, x1) 214.12/145.83 new_primMinusNatS2(Zero, Zero) 214.12/145.83 new_primModNatS1(Succ(Zero), Zero) 214.12/145.83 new_primMinusNatS2(Succ(x0), Zero) 214.12/145.83 new_esEs(Pos(Zero)) 214.12/145.83 new_primMinusNatS0(x0) 214.12/145.83 new_primEqInt(Neg(Succ(x0))) 214.12/145.83 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 214.12/145.83 new_esEs(Neg(Succ(x0))) 214.12/145.83 new_primEqInt(Neg(Zero)) 214.12/145.83 new_primModNatS01(x0, x1, Zero, Zero) 214.12/145.83 new_primEqInt(Pos(Succ(x0))) 214.12/145.83 new_primMinusNatS2(Zero, Succ(x0)) 214.12/145.83 new_primModNatS1(Succ(Zero), Succ(x0)) 214.12/145.83 new_primMinusNatS2(Succ(x0), Succ(x1)) 214.12/145.83 new_primModNatS01(x0, x1, Zero, Succ(x2)) 214.12/145.83 new_esEs(Neg(Zero)) 214.12/145.83 214.12/145.83 We have to consider all minimal (P,Q,R)-chains. 214.12/145.83 ---------------------------------------- 214.12/145.83 214.12/145.83 (428) QReductionProof (EQUIVALENT) 214.12/145.83 We deleted the following terms from Q as each root-symbol of these terms does neither occur in P nor in R.[THIEMANN]. 214.12/145.83 214.12/145.83 new_primMinusNatS1 214.12/145.83 new_primMinusNatS0(x0) 214.12/145.83 214.12/145.83 214.12/145.83 ---------------------------------------- 214.12/145.83 214.12/145.83 (429) 214.12/145.83 Obligation: 214.12/145.83 Q DP problem: 214.12/145.83 The TRS P consists of the following rules: 214.12/145.83 214.12/145.83 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)))) 214.12/145.83 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))) 214.12/145.83 214.12/145.83 The TRS R consists of the following rules: 214.12/145.83 214.12/145.83 new_primModNatS1(Succ(Succ(vyv293000)), Succ(vyv292000)) -> new_primModNatS01(vyv293000, vyv292000, vyv293000, vyv292000) 214.12/145.83 new_primModNatS01(vyv331, vyv332, Zero, Zero) -> new_primModNatS02(vyv331, vyv332) 214.12/145.83 new_primModNatS02(vyv331, vyv332) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv331), Succ(vyv332)), Succ(vyv332)) 214.12/145.83 new_primModNatS01(vyv331, vyv332, Succ(vyv3330), Succ(vyv3340)) -> new_primModNatS01(vyv331, vyv332, vyv3330, vyv3340) 214.12/145.83 new_primModNatS01(vyv331, vyv332, Succ(vyv3330), Zero) -> new_primModNatS02(vyv331, vyv332) 214.12/145.83 new_primModNatS01(vyv331, vyv332, Zero, Succ(vyv3340)) -> Succ(Succ(vyv331)) 214.12/145.83 new_primMinusNatS2(Succ(vyv3110), Succ(vyv3120)) -> new_primMinusNatS2(vyv3110, vyv3120) 214.12/145.83 new_primModNatS1(Succ(Zero), Succ(vyv292000)) -> Succ(Zero) 214.12/145.83 new_primModNatS1(Zero, vyv29200) -> Zero 214.12/145.83 new_primMinusNatS2(Zero, Zero) -> Zero 214.12/145.83 new_primMinusNatS2(Zero, Succ(vyv3120)) -> Zero 214.12/145.83 new_primMinusNatS2(Succ(vyv3110), Zero) -> Succ(vyv3110) 214.12/145.83 new_esEs(Pos(Succ(vyv24300))) -> new_primEqInt(Pos(Succ(vyv24300))) 214.12/145.83 new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) 214.12/145.83 new_primEqInt(Pos(Zero)) -> True 214.12/145.83 new_primEqInt(Pos(Succ(vyv242000))) -> False 214.12/145.83 214.12/145.83 The set Q consists of the following terms: 214.12/145.83 214.12/145.83 new_primModNatS01(x0, x1, Succ(x2), Zero) 214.12/145.83 new_primModNatS1(Succ(Succ(x0)), Zero) 214.12/145.83 new_primEqInt(Pos(Zero)) 214.12/145.83 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 214.12/145.83 new_esEs(Pos(Succ(x0))) 214.12/145.83 new_primModNatS1(Zero, x0) 214.12/145.83 new_primModNatS02(x0, x1) 214.12/145.83 new_primMinusNatS2(Zero, Zero) 214.12/145.83 new_primModNatS1(Succ(Zero), Zero) 214.12/145.83 new_primMinusNatS2(Succ(x0), Zero) 214.12/145.83 new_esEs(Pos(Zero)) 214.12/145.83 new_primEqInt(Neg(Succ(x0))) 214.12/145.83 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 214.12/145.83 new_esEs(Neg(Succ(x0))) 214.12/145.83 new_primEqInt(Neg(Zero)) 214.12/145.83 new_primModNatS01(x0, x1, Zero, Zero) 214.12/145.83 new_primEqInt(Pos(Succ(x0))) 214.12/145.83 new_primMinusNatS2(Zero, Succ(x0)) 214.12/145.83 new_primModNatS1(Succ(Zero), Succ(x0)) 214.12/145.83 new_primMinusNatS2(Succ(x0), Succ(x1)) 214.12/145.83 new_primModNatS01(x0, x1, Zero, Succ(x2)) 214.12/145.83 new_esEs(Neg(Zero)) 214.12/145.83 214.12/145.83 We have to consider all minimal (P,Q,R)-chains. 214.12/145.83 ---------------------------------------- 214.12/145.83 214.12/145.83 (430) TransformationProof (EQUIVALENT) 214.12/145.83 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]: 214.12/145.83 214.12/145.83 (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))))) 214.12/145.83 (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)))))) 214.12/145.83 (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)))))) 214.12/145.83 (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))))) 214.12/145.83 214.12/145.83 214.12/145.83 ---------------------------------------- 214.12/145.83 214.12/145.83 (431) 214.12/145.83 Obligation: 214.12/145.83 Q DP problem: 214.12/145.83 The TRS P consists of the following rules: 214.12/145.83 214.12/145.83 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))) 214.12/145.83 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)))) 214.12/145.83 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))))) 214.12/145.83 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))))) 214.12/145.83 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)))) 214.12/145.83 214.12/145.83 The TRS R consists of the following rules: 214.12/145.83 214.12/145.83 new_primModNatS1(Succ(Succ(vyv293000)), Succ(vyv292000)) -> new_primModNatS01(vyv293000, vyv292000, vyv293000, vyv292000) 214.12/145.83 new_primModNatS01(vyv331, vyv332, Zero, Zero) -> new_primModNatS02(vyv331, vyv332) 214.12/145.83 new_primModNatS02(vyv331, vyv332) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv331), Succ(vyv332)), Succ(vyv332)) 214.12/145.83 new_primModNatS01(vyv331, vyv332, Succ(vyv3330), Succ(vyv3340)) -> new_primModNatS01(vyv331, vyv332, vyv3330, vyv3340) 214.12/145.83 new_primModNatS01(vyv331, vyv332, Succ(vyv3330), Zero) -> new_primModNatS02(vyv331, vyv332) 214.12/145.83 new_primModNatS01(vyv331, vyv332, Zero, Succ(vyv3340)) -> Succ(Succ(vyv331)) 214.12/145.83 new_primMinusNatS2(Succ(vyv3110), Succ(vyv3120)) -> new_primMinusNatS2(vyv3110, vyv3120) 214.12/145.83 new_primModNatS1(Succ(Zero), Succ(vyv292000)) -> Succ(Zero) 214.12/145.83 new_primModNatS1(Zero, vyv29200) -> Zero 214.12/145.83 new_primMinusNatS2(Zero, Zero) -> Zero 214.12/145.83 new_primMinusNatS2(Zero, Succ(vyv3120)) -> Zero 214.12/145.83 new_primMinusNatS2(Succ(vyv3110), Zero) -> Succ(vyv3110) 214.12/145.83 new_esEs(Pos(Succ(vyv24300))) -> new_primEqInt(Pos(Succ(vyv24300))) 214.12/145.83 new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) 214.12/145.83 new_primEqInt(Pos(Zero)) -> True 214.12/145.83 new_primEqInt(Pos(Succ(vyv242000))) -> False 214.12/145.83 214.12/145.83 The set Q consists of the following terms: 214.12/145.83 214.12/145.83 new_primModNatS01(x0, x1, Succ(x2), Zero) 214.12/145.83 new_primModNatS1(Succ(Succ(x0)), Zero) 214.12/145.83 new_primEqInt(Pos(Zero)) 214.12/145.83 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 214.12/145.83 new_esEs(Pos(Succ(x0))) 214.12/145.83 new_primModNatS1(Zero, x0) 214.12/145.83 new_primModNatS02(x0, x1) 214.12/145.83 new_primMinusNatS2(Zero, Zero) 214.12/145.83 new_primModNatS1(Succ(Zero), Zero) 214.12/145.83 new_primMinusNatS2(Succ(x0), Zero) 214.12/145.83 new_esEs(Pos(Zero)) 214.12/145.83 new_primEqInt(Neg(Succ(x0))) 214.12/145.83 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 214.12/145.83 new_esEs(Neg(Succ(x0))) 214.12/145.83 new_primEqInt(Neg(Zero)) 214.12/145.83 new_primModNatS01(x0, x1, Zero, Zero) 214.12/145.83 new_primEqInt(Pos(Succ(x0))) 214.12/145.83 new_primMinusNatS2(Zero, Succ(x0)) 214.12/145.83 new_primModNatS1(Succ(Zero), Succ(x0)) 214.12/145.83 new_primMinusNatS2(Succ(x0), Succ(x1)) 214.12/145.83 new_primModNatS01(x0, x1, Zero, Succ(x2)) 214.12/145.83 new_esEs(Neg(Zero)) 214.12/145.83 214.12/145.83 We have to consider all minimal (P,Q,R)-chains. 214.12/145.83 ---------------------------------------- 214.12/145.83 214.12/145.83 (432) TransformationProof (EQUIVALENT) 214.12/145.83 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]: 214.12/145.83 214.12/145.83 (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))))) 214.12/145.83 214.12/145.83 214.12/145.83 ---------------------------------------- 214.12/145.83 214.12/145.83 (433) 214.12/145.83 Obligation: 214.12/145.83 Q DP problem: 214.12/145.83 The TRS P consists of the following rules: 214.12/145.83 214.12/145.83 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))) 214.12/145.83 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))))) 214.12/145.83 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))))) 214.12/145.83 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)))) 214.12/145.83 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)))) 214.12/145.83 214.12/145.83 The TRS R consists of the following rules: 214.12/145.83 214.12/145.83 new_primModNatS1(Succ(Succ(vyv293000)), Succ(vyv292000)) -> new_primModNatS01(vyv293000, vyv292000, vyv293000, vyv292000) 214.12/145.83 new_primModNatS01(vyv331, vyv332, Zero, Zero) -> new_primModNatS02(vyv331, vyv332) 214.12/145.83 new_primModNatS02(vyv331, vyv332) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv331), Succ(vyv332)), Succ(vyv332)) 214.12/145.83 new_primModNatS01(vyv331, vyv332, Succ(vyv3330), Succ(vyv3340)) -> new_primModNatS01(vyv331, vyv332, vyv3330, vyv3340) 214.12/145.83 new_primModNatS01(vyv331, vyv332, Succ(vyv3330), Zero) -> new_primModNatS02(vyv331, vyv332) 214.12/145.83 new_primModNatS01(vyv331, vyv332, Zero, Succ(vyv3340)) -> Succ(Succ(vyv331)) 214.12/145.83 new_primMinusNatS2(Succ(vyv3110), Succ(vyv3120)) -> new_primMinusNatS2(vyv3110, vyv3120) 214.12/145.83 new_primModNatS1(Succ(Zero), Succ(vyv292000)) -> Succ(Zero) 214.12/145.83 new_primModNatS1(Zero, vyv29200) -> Zero 214.12/145.83 new_primMinusNatS2(Zero, Zero) -> Zero 214.12/145.83 new_primMinusNatS2(Zero, Succ(vyv3120)) -> Zero 214.12/145.83 new_primMinusNatS2(Succ(vyv3110), Zero) -> Succ(vyv3110) 214.12/145.83 new_esEs(Pos(Succ(vyv24300))) -> new_primEqInt(Pos(Succ(vyv24300))) 214.12/145.83 new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) 214.12/145.83 new_primEqInt(Pos(Zero)) -> True 214.12/145.83 new_primEqInt(Pos(Succ(vyv242000))) -> False 214.12/145.83 214.12/145.83 The set Q consists of the following terms: 214.12/145.83 214.12/145.83 new_primModNatS01(x0, x1, Succ(x2), Zero) 214.12/145.83 new_primModNatS1(Succ(Succ(x0)), Zero) 214.12/145.83 new_primEqInt(Pos(Zero)) 214.12/145.83 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 214.12/145.83 new_esEs(Pos(Succ(x0))) 214.12/145.83 new_primModNatS1(Zero, x0) 214.12/145.83 new_primModNatS02(x0, x1) 214.12/145.83 new_primMinusNatS2(Zero, Zero) 214.12/145.83 new_primModNatS1(Succ(Zero), Zero) 214.12/145.83 new_primMinusNatS2(Succ(x0), Zero) 214.12/145.83 new_esEs(Pos(Zero)) 214.12/145.83 new_primEqInt(Neg(Succ(x0))) 214.12/145.83 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 214.12/145.83 new_esEs(Neg(Succ(x0))) 214.12/145.83 new_primEqInt(Neg(Zero)) 214.12/145.83 new_primModNatS01(x0, x1, Zero, Zero) 214.12/145.83 new_primEqInt(Pos(Succ(x0))) 214.12/145.83 new_primMinusNatS2(Zero, Succ(x0)) 214.12/145.83 new_primModNatS1(Succ(Zero), Succ(x0)) 214.12/145.83 new_primMinusNatS2(Succ(x0), Succ(x1)) 214.12/145.83 new_primModNatS01(x0, x1, Zero, Succ(x2)) 214.12/145.83 new_esEs(Neg(Zero)) 214.12/145.83 214.12/145.83 We have to consider all minimal (P,Q,R)-chains. 214.12/145.83 ---------------------------------------- 214.12/145.83 214.12/145.83 (434) TransformationProof (EQUIVALENT) 214.12/145.83 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]: 214.12/145.83 214.12/145.83 (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)))))) 214.12/145.84 214.12/145.84 214.12/145.84 ---------------------------------------- 214.12/145.84 214.12/145.84 (435) 214.12/145.84 Obligation: 214.12/145.84 Q DP problem: 214.12/145.84 The TRS P consists of the following rules: 214.12/145.84 214.12/145.84 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))) 214.12/145.84 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))))) 214.12/145.84 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)))) 214.12/145.84 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)))) 214.12/145.84 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))))) 214.12/145.84 214.12/145.84 The TRS R consists of the following rules: 214.12/145.84 214.12/145.84 new_primModNatS1(Succ(Succ(vyv293000)), Succ(vyv292000)) -> new_primModNatS01(vyv293000, vyv292000, vyv293000, vyv292000) 214.12/145.84 new_primModNatS01(vyv331, vyv332, Zero, Zero) -> new_primModNatS02(vyv331, vyv332) 214.12/145.84 new_primModNatS02(vyv331, vyv332) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv331), Succ(vyv332)), Succ(vyv332)) 214.12/145.84 new_primModNatS01(vyv331, vyv332, Succ(vyv3330), Succ(vyv3340)) -> new_primModNatS01(vyv331, vyv332, vyv3330, vyv3340) 214.12/145.84 new_primModNatS01(vyv331, vyv332, Succ(vyv3330), Zero) -> new_primModNatS02(vyv331, vyv332) 214.12/145.84 new_primModNatS01(vyv331, vyv332, Zero, Succ(vyv3340)) -> Succ(Succ(vyv331)) 214.12/145.84 new_primMinusNatS2(Succ(vyv3110), Succ(vyv3120)) -> new_primMinusNatS2(vyv3110, vyv3120) 214.12/145.84 new_primModNatS1(Succ(Zero), Succ(vyv292000)) -> Succ(Zero) 214.12/145.84 new_primModNatS1(Zero, vyv29200) -> Zero 214.12/145.84 new_primMinusNatS2(Zero, Zero) -> Zero 214.12/145.84 new_primMinusNatS2(Zero, Succ(vyv3120)) -> Zero 214.12/145.84 new_primMinusNatS2(Succ(vyv3110), Zero) -> Succ(vyv3110) 214.12/145.84 new_esEs(Pos(Succ(vyv24300))) -> new_primEqInt(Pos(Succ(vyv24300))) 214.12/145.84 new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) 214.12/145.84 new_primEqInt(Pos(Zero)) -> True 214.12/145.84 new_primEqInt(Pos(Succ(vyv242000))) -> False 214.12/145.84 214.12/145.84 The set Q consists of the following terms: 214.12/145.84 214.12/145.84 new_primModNatS01(x0, x1, Succ(x2), Zero) 214.12/145.84 new_primModNatS1(Succ(Succ(x0)), Zero) 214.12/145.84 new_primEqInt(Pos(Zero)) 214.12/145.84 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 214.12/145.84 new_esEs(Pos(Succ(x0))) 214.12/145.84 new_primModNatS1(Zero, x0) 214.12/145.84 new_primModNatS02(x0, x1) 214.12/145.84 new_primMinusNatS2(Zero, Zero) 214.12/145.84 new_primModNatS1(Succ(Zero), Zero) 214.12/145.84 new_primMinusNatS2(Succ(x0), Zero) 214.12/145.84 new_esEs(Pos(Zero)) 214.12/145.84 new_primEqInt(Neg(Succ(x0))) 214.12/145.84 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 214.12/145.84 new_esEs(Neg(Succ(x0))) 214.12/145.84 new_primEqInt(Neg(Zero)) 214.12/145.84 new_primModNatS01(x0, x1, Zero, Zero) 214.12/145.84 new_primEqInt(Pos(Succ(x0))) 214.12/145.84 new_primMinusNatS2(Zero, Succ(x0)) 214.12/145.84 new_primModNatS1(Succ(Zero), Succ(x0)) 214.12/145.84 new_primMinusNatS2(Succ(x0), Succ(x1)) 214.12/145.84 new_primModNatS01(x0, x1, Zero, Succ(x2)) 214.12/145.84 new_esEs(Neg(Zero)) 214.12/145.84 214.12/145.84 We have to consider all minimal (P,Q,R)-chains. 214.12/145.84 ---------------------------------------- 214.12/145.84 214.12/145.84 (436) TransformationProof (EQUIVALENT) 214.12/145.84 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]: 214.12/145.84 214.12/145.84 (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))))) 214.12/145.84 214.12/145.84 214.12/145.84 ---------------------------------------- 214.12/145.84 214.12/145.84 (437) 214.12/145.84 Obligation: 214.12/145.84 Q DP problem: 214.12/145.84 The TRS P consists of the following rules: 214.12/145.84 214.12/145.84 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))) 214.12/145.84 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))))) 214.12/145.84 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)))) 214.12/145.84 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))))) 214.12/145.84 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)))) 214.12/145.84 214.12/145.84 The TRS R consists of the following rules: 214.12/145.84 214.12/145.84 new_primModNatS1(Succ(Succ(vyv293000)), Succ(vyv292000)) -> new_primModNatS01(vyv293000, vyv292000, vyv293000, vyv292000) 214.12/145.84 new_primModNatS01(vyv331, vyv332, Zero, Zero) -> new_primModNatS02(vyv331, vyv332) 214.12/145.84 new_primModNatS02(vyv331, vyv332) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv331), Succ(vyv332)), Succ(vyv332)) 214.12/145.84 new_primModNatS01(vyv331, vyv332, Succ(vyv3330), Succ(vyv3340)) -> new_primModNatS01(vyv331, vyv332, vyv3330, vyv3340) 214.12/145.84 new_primModNatS01(vyv331, vyv332, Succ(vyv3330), Zero) -> new_primModNatS02(vyv331, vyv332) 214.12/145.84 new_primModNatS01(vyv331, vyv332, Zero, Succ(vyv3340)) -> Succ(Succ(vyv331)) 214.12/145.84 new_primMinusNatS2(Succ(vyv3110), Succ(vyv3120)) -> new_primMinusNatS2(vyv3110, vyv3120) 214.12/145.84 new_primModNatS1(Succ(Zero), Succ(vyv292000)) -> Succ(Zero) 214.12/145.84 new_primModNatS1(Zero, vyv29200) -> Zero 214.12/145.84 new_primMinusNatS2(Zero, Zero) -> Zero 214.12/145.84 new_primMinusNatS2(Zero, Succ(vyv3120)) -> Zero 214.12/145.84 new_primMinusNatS2(Succ(vyv3110), Zero) -> Succ(vyv3110) 214.12/145.84 new_esEs(Pos(Succ(vyv24300))) -> new_primEqInt(Pos(Succ(vyv24300))) 214.12/145.84 new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) 214.12/145.84 new_primEqInt(Pos(Zero)) -> True 214.12/145.84 new_primEqInt(Pos(Succ(vyv242000))) -> False 214.12/145.84 214.12/145.84 The set Q consists of the following terms: 214.12/145.84 214.12/145.84 new_primModNatS01(x0, x1, Succ(x2), Zero) 214.12/145.84 new_primModNatS1(Succ(Succ(x0)), Zero) 214.12/145.84 new_primEqInt(Pos(Zero)) 214.12/145.84 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 214.12/145.84 new_esEs(Pos(Succ(x0))) 214.12/145.84 new_primModNatS1(Zero, x0) 214.12/145.84 new_primModNatS02(x0, x1) 214.12/145.84 new_primMinusNatS2(Zero, Zero) 214.12/145.84 new_primModNatS1(Succ(Zero), Zero) 214.12/145.84 new_primMinusNatS2(Succ(x0), Zero) 214.12/145.84 new_esEs(Pos(Zero)) 214.12/145.84 new_primEqInt(Neg(Succ(x0))) 214.12/145.84 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 214.12/145.84 new_esEs(Neg(Succ(x0))) 214.12/145.84 new_primEqInt(Neg(Zero)) 214.12/145.84 new_primModNatS01(x0, x1, Zero, Zero) 214.12/145.84 new_primEqInt(Pos(Succ(x0))) 214.12/145.84 new_primMinusNatS2(Zero, Succ(x0)) 214.12/145.84 new_primModNatS1(Succ(Zero), Succ(x0)) 214.12/145.84 new_primMinusNatS2(Succ(x0), Succ(x1)) 214.12/145.84 new_primModNatS01(x0, x1, Zero, Succ(x2)) 214.12/145.84 new_esEs(Neg(Zero)) 214.12/145.84 214.12/145.84 We have to consider all minimal (P,Q,R)-chains. 214.12/145.84 ---------------------------------------- 214.12/145.84 214.12/145.84 (438) TransformationProof (EQUIVALENT) 214.12/145.84 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]: 214.12/145.84 214.12/145.84 (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))))) 214.12/145.84 214.12/145.84 214.12/145.84 ---------------------------------------- 214.12/145.84 214.12/145.84 (439) 214.12/145.84 Obligation: 214.12/145.84 Q DP problem: 214.12/145.84 The TRS P consists of the following rules: 214.12/145.84 214.12/145.84 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))) 214.12/145.84 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))))) 214.12/145.84 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))))) 214.12/145.84 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)))) 214.12/145.84 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)))) 214.12/145.84 214.12/145.84 The TRS R consists of the following rules: 214.12/145.84 214.12/145.84 new_primModNatS1(Succ(Succ(vyv293000)), Succ(vyv292000)) -> new_primModNatS01(vyv293000, vyv292000, vyv293000, vyv292000) 214.12/145.84 new_primModNatS01(vyv331, vyv332, Zero, Zero) -> new_primModNatS02(vyv331, vyv332) 214.12/145.84 new_primModNatS02(vyv331, vyv332) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv331), Succ(vyv332)), Succ(vyv332)) 214.12/145.84 new_primModNatS01(vyv331, vyv332, Succ(vyv3330), Succ(vyv3340)) -> new_primModNatS01(vyv331, vyv332, vyv3330, vyv3340) 214.12/145.84 new_primModNatS01(vyv331, vyv332, Succ(vyv3330), Zero) -> new_primModNatS02(vyv331, vyv332) 214.12/145.84 new_primModNatS01(vyv331, vyv332, Zero, Succ(vyv3340)) -> Succ(Succ(vyv331)) 214.12/145.84 new_primMinusNatS2(Succ(vyv3110), Succ(vyv3120)) -> new_primMinusNatS2(vyv3110, vyv3120) 214.12/145.84 new_primModNatS1(Succ(Zero), Succ(vyv292000)) -> Succ(Zero) 214.12/145.84 new_primModNatS1(Zero, vyv29200) -> Zero 214.12/145.84 new_primMinusNatS2(Zero, Zero) -> Zero 214.12/145.84 new_primMinusNatS2(Zero, Succ(vyv3120)) -> Zero 214.12/145.84 new_primMinusNatS2(Succ(vyv3110), Zero) -> Succ(vyv3110) 214.12/145.84 new_esEs(Pos(Succ(vyv24300))) -> new_primEqInt(Pos(Succ(vyv24300))) 214.12/145.84 new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) 214.12/145.84 new_primEqInt(Pos(Zero)) -> True 214.12/145.84 new_primEqInt(Pos(Succ(vyv242000))) -> False 214.12/145.84 214.12/145.84 The set Q consists of the following terms: 214.12/145.84 214.12/145.84 new_primModNatS01(x0, x1, Succ(x2), Zero) 214.12/145.84 new_primModNatS1(Succ(Succ(x0)), Zero) 214.12/145.84 new_primEqInt(Pos(Zero)) 214.12/145.84 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 214.12/145.84 new_esEs(Pos(Succ(x0))) 214.12/145.84 new_primModNatS1(Zero, x0) 214.12/145.84 new_primModNatS02(x0, x1) 214.12/145.84 new_primMinusNatS2(Zero, Zero) 214.12/145.84 new_primModNatS1(Succ(Zero), Zero) 214.12/145.84 new_primMinusNatS2(Succ(x0), Zero) 214.12/145.84 new_esEs(Pos(Zero)) 214.12/145.84 new_primEqInt(Neg(Succ(x0))) 214.12/145.84 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 214.12/145.84 new_esEs(Neg(Succ(x0))) 214.12/145.84 new_primEqInt(Neg(Zero)) 214.12/145.84 new_primModNatS01(x0, x1, Zero, Zero) 214.12/145.84 new_primEqInt(Pos(Succ(x0))) 214.12/145.84 new_primMinusNatS2(Zero, Succ(x0)) 214.12/145.84 new_primModNatS1(Succ(Zero), Succ(x0)) 214.12/145.84 new_primMinusNatS2(Succ(x0), Succ(x1)) 214.12/145.84 new_primModNatS01(x0, x1, Zero, Succ(x2)) 214.12/145.84 new_esEs(Neg(Zero)) 214.12/145.84 214.12/145.84 We have to consider all minimal (P,Q,R)-chains. 214.12/145.84 ---------------------------------------- 214.12/145.84 214.12/145.84 (440) TransformationProof (EQUIVALENT) 214.12/145.84 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]: 214.12/145.84 214.12/145.84 (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)))))) 214.12/145.84 214.12/145.84 214.12/145.84 ---------------------------------------- 214.12/145.84 214.12/145.84 (441) 214.12/145.84 Obligation: 214.12/145.84 Q DP problem: 214.12/145.84 The TRS P consists of the following rules: 214.12/145.84 214.12/145.84 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))) 214.12/145.84 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))))) 214.12/145.84 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)))) 214.12/145.84 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)))) 214.12/145.84 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))))) 214.12/145.84 214.12/145.84 The TRS R consists of the following rules: 214.12/145.84 214.12/145.84 new_primModNatS1(Succ(Succ(vyv293000)), Succ(vyv292000)) -> new_primModNatS01(vyv293000, vyv292000, vyv293000, vyv292000) 214.12/145.84 new_primModNatS01(vyv331, vyv332, Zero, Zero) -> new_primModNatS02(vyv331, vyv332) 214.12/145.84 new_primModNatS02(vyv331, vyv332) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv331), Succ(vyv332)), Succ(vyv332)) 214.12/145.84 new_primModNatS01(vyv331, vyv332, Succ(vyv3330), Succ(vyv3340)) -> new_primModNatS01(vyv331, vyv332, vyv3330, vyv3340) 214.12/145.84 new_primModNatS01(vyv331, vyv332, Succ(vyv3330), Zero) -> new_primModNatS02(vyv331, vyv332) 214.12/145.84 new_primModNatS01(vyv331, vyv332, Zero, Succ(vyv3340)) -> Succ(Succ(vyv331)) 214.12/145.84 new_primMinusNatS2(Succ(vyv3110), Succ(vyv3120)) -> new_primMinusNatS2(vyv3110, vyv3120) 214.12/145.84 new_primModNatS1(Succ(Zero), Succ(vyv292000)) -> Succ(Zero) 214.12/145.84 new_primModNatS1(Zero, vyv29200) -> Zero 214.12/145.84 new_primMinusNatS2(Zero, Zero) -> Zero 214.12/145.84 new_primMinusNatS2(Zero, Succ(vyv3120)) -> Zero 214.12/145.84 new_primMinusNatS2(Succ(vyv3110), Zero) -> Succ(vyv3110) 214.12/145.84 new_esEs(Pos(Succ(vyv24300))) -> new_primEqInt(Pos(Succ(vyv24300))) 214.12/145.84 new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) 214.12/145.84 new_primEqInt(Pos(Zero)) -> True 214.12/145.84 new_primEqInt(Pos(Succ(vyv242000))) -> False 214.12/145.84 214.12/145.84 The set Q consists of the following terms: 214.12/145.84 214.12/145.84 new_primModNatS01(x0, x1, Succ(x2), Zero) 214.12/145.84 new_primModNatS1(Succ(Succ(x0)), Zero) 214.12/145.84 new_primEqInt(Pos(Zero)) 214.12/145.84 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 214.12/145.84 new_esEs(Pos(Succ(x0))) 214.12/145.84 new_primModNatS1(Zero, x0) 214.12/145.84 new_primModNatS02(x0, x1) 214.12/145.84 new_primMinusNatS2(Zero, Zero) 214.12/145.84 new_primModNatS1(Succ(Zero), Zero) 214.12/145.84 new_primMinusNatS2(Succ(x0), Zero) 214.12/145.84 new_esEs(Pos(Zero)) 214.12/145.84 new_primEqInt(Neg(Succ(x0))) 214.12/145.84 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 214.12/145.84 new_esEs(Neg(Succ(x0))) 214.12/145.84 new_primEqInt(Neg(Zero)) 214.12/145.84 new_primModNatS01(x0, x1, Zero, Zero) 214.12/145.84 new_primEqInt(Pos(Succ(x0))) 214.12/145.84 new_primMinusNatS2(Zero, Succ(x0)) 214.12/145.84 new_primModNatS1(Succ(Zero), Succ(x0)) 214.12/145.84 new_primMinusNatS2(Succ(x0), Succ(x1)) 214.12/145.84 new_primModNatS01(x0, x1, Zero, Succ(x2)) 214.12/145.84 new_esEs(Neg(Zero)) 214.12/145.84 214.12/145.84 We have to consider all minimal (P,Q,R)-chains. 214.12/145.84 ---------------------------------------- 214.12/145.84 214.12/145.84 (442) TransformationProof (EQUIVALENT) 214.12/145.84 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]: 214.12/145.84 214.12/145.84 (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))))) 214.12/145.84 214.12/145.84 214.12/145.84 ---------------------------------------- 214.12/145.84 214.12/145.84 (443) 214.12/145.84 Obligation: 214.12/145.84 Q DP problem: 214.12/145.84 The TRS P consists of the following rules: 214.12/145.84 214.12/145.84 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))) 214.12/145.84 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))))) 214.12/145.84 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)))) 214.12/145.84 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))))) 214.12/145.84 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)))) 214.12/145.84 214.12/145.84 The TRS R consists of the following rules: 214.12/145.84 214.12/145.84 new_primModNatS1(Succ(Succ(vyv293000)), Succ(vyv292000)) -> new_primModNatS01(vyv293000, vyv292000, vyv293000, vyv292000) 214.12/145.84 new_primModNatS01(vyv331, vyv332, Zero, Zero) -> new_primModNatS02(vyv331, vyv332) 214.12/145.84 new_primModNatS02(vyv331, vyv332) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv331), Succ(vyv332)), Succ(vyv332)) 214.12/145.84 new_primModNatS01(vyv331, vyv332, Succ(vyv3330), Succ(vyv3340)) -> new_primModNatS01(vyv331, vyv332, vyv3330, vyv3340) 214.12/145.84 new_primModNatS01(vyv331, vyv332, Succ(vyv3330), Zero) -> new_primModNatS02(vyv331, vyv332) 214.12/145.84 new_primModNatS01(vyv331, vyv332, Zero, Succ(vyv3340)) -> Succ(Succ(vyv331)) 214.12/145.84 new_primMinusNatS2(Succ(vyv3110), Succ(vyv3120)) -> new_primMinusNatS2(vyv3110, vyv3120) 214.12/145.84 new_primModNatS1(Succ(Zero), Succ(vyv292000)) -> Succ(Zero) 214.12/145.84 new_primModNatS1(Zero, vyv29200) -> Zero 214.12/145.84 new_primMinusNatS2(Zero, Zero) -> Zero 214.12/145.84 new_primMinusNatS2(Zero, Succ(vyv3120)) -> Zero 214.12/145.84 new_primMinusNatS2(Succ(vyv3110), Zero) -> Succ(vyv3110) 214.12/145.84 new_esEs(Pos(Succ(vyv24300))) -> new_primEqInt(Pos(Succ(vyv24300))) 214.12/145.84 new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) 214.12/145.84 new_primEqInt(Pos(Zero)) -> True 214.12/145.84 new_primEqInt(Pos(Succ(vyv242000))) -> False 214.12/145.84 214.12/145.84 The set Q consists of the following terms: 214.12/145.84 214.12/145.84 new_primModNatS01(x0, x1, Succ(x2), Zero) 214.12/145.84 new_primModNatS1(Succ(Succ(x0)), Zero) 214.12/145.84 new_primEqInt(Pos(Zero)) 214.12/145.84 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 214.12/145.84 new_esEs(Pos(Succ(x0))) 214.12/145.84 new_primModNatS1(Zero, x0) 214.12/145.84 new_primModNatS02(x0, x1) 214.12/145.84 new_primMinusNatS2(Zero, Zero) 214.12/145.84 new_primModNatS1(Succ(Zero), Zero) 214.12/145.84 new_primMinusNatS2(Succ(x0), Zero) 214.12/145.84 new_esEs(Pos(Zero)) 214.12/145.84 new_primEqInt(Neg(Succ(x0))) 214.12/145.84 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 214.12/145.84 new_esEs(Neg(Succ(x0))) 214.12/145.84 new_primEqInt(Neg(Zero)) 214.12/145.84 new_primModNatS01(x0, x1, Zero, Zero) 214.12/145.84 new_primEqInt(Pos(Succ(x0))) 214.12/145.84 new_primMinusNatS2(Zero, Succ(x0)) 214.12/145.84 new_primModNatS1(Succ(Zero), Succ(x0)) 214.12/145.84 new_primMinusNatS2(Succ(x0), Succ(x1)) 214.12/145.84 new_primModNatS01(x0, x1, Zero, Succ(x2)) 214.12/145.84 new_esEs(Neg(Zero)) 214.12/145.84 214.12/145.84 We have to consider all minimal (P,Q,R)-chains. 214.12/145.84 ---------------------------------------- 214.12/145.84 214.12/145.84 (444) TransformationProof (EQUIVALENT) 214.12/145.84 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]: 214.12/145.84 214.12/145.84 (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))))) 214.12/145.84 214.12/145.84 214.12/145.84 ---------------------------------------- 214.12/145.84 214.12/145.84 (445) 214.12/145.84 Obligation: 214.12/145.84 Q DP problem: 214.12/145.84 The TRS P consists of the following rules: 214.12/145.84 214.12/145.84 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))) 214.12/145.84 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))))) 214.12/145.84 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))))) 214.12/145.84 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)))) 214.12/145.84 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)))) 214.12/145.84 214.12/145.84 The TRS R consists of the following rules: 214.12/145.84 214.12/145.84 new_primModNatS1(Succ(Succ(vyv293000)), Succ(vyv292000)) -> new_primModNatS01(vyv293000, vyv292000, vyv293000, vyv292000) 214.12/145.84 new_primModNatS01(vyv331, vyv332, Zero, Zero) -> new_primModNatS02(vyv331, vyv332) 214.12/145.84 new_primModNatS02(vyv331, vyv332) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv331), Succ(vyv332)), Succ(vyv332)) 214.12/145.84 new_primModNatS01(vyv331, vyv332, Succ(vyv3330), Succ(vyv3340)) -> new_primModNatS01(vyv331, vyv332, vyv3330, vyv3340) 214.12/145.84 new_primModNatS01(vyv331, vyv332, Succ(vyv3330), Zero) -> new_primModNatS02(vyv331, vyv332) 214.12/145.84 new_primModNatS01(vyv331, vyv332, Zero, Succ(vyv3340)) -> Succ(Succ(vyv331)) 214.12/145.84 new_primMinusNatS2(Succ(vyv3110), Succ(vyv3120)) -> new_primMinusNatS2(vyv3110, vyv3120) 214.12/145.84 new_primModNatS1(Succ(Zero), Succ(vyv292000)) -> Succ(Zero) 214.12/145.84 new_primModNatS1(Zero, vyv29200) -> Zero 214.12/145.84 new_primMinusNatS2(Zero, Zero) -> Zero 214.12/145.84 new_primMinusNatS2(Zero, Succ(vyv3120)) -> Zero 214.12/145.84 new_primMinusNatS2(Succ(vyv3110), Zero) -> Succ(vyv3110) 214.12/145.84 new_esEs(Pos(Succ(vyv24300))) -> new_primEqInt(Pos(Succ(vyv24300))) 214.12/145.84 new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) 214.12/145.84 new_primEqInt(Pos(Zero)) -> True 214.12/145.84 new_primEqInt(Pos(Succ(vyv242000))) -> False 214.12/145.84 214.12/145.84 The set Q consists of the following terms: 214.12/145.84 214.12/145.84 new_primModNatS01(x0, x1, Succ(x2), Zero) 214.12/145.84 new_primModNatS1(Succ(Succ(x0)), Zero) 214.12/145.84 new_primEqInt(Pos(Zero)) 214.12/145.84 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 214.12/145.84 new_esEs(Pos(Succ(x0))) 214.12/145.84 new_primModNatS1(Zero, x0) 214.12/145.84 new_primModNatS02(x0, x1) 214.12/145.84 new_primMinusNatS2(Zero, Zero) 214.12/145.84 new_primModNatS1(Succ(Zero), Zero) 214.12/145.84 new_primMinusNatS2(Succ(x0), Zero) 214.12/145.84 new_esEs(Pos(Zero)) 214.12/145.84 new_primEqInt(Neg(Succ(x0))) 214.12/145.84 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 214.12/145.84 new_esEs(Neg(Succ(x0))) 214.12/145.84 new_primEqInt(Neg(Zero)) 214.12/145.84 new_primModNatS01(x0, x1, Zero, Zero) 214.12/145.84 new_primEqInt(Pos(Succ(x0))) 214.12/145.84 new_primMinusNatS2(Zero, Succ(x0)) 214.12/145.84 new_primModNatS1(Succ(Zero), Succ(x0)) 214.12/145.84 new_primMinusNatS2(Succ(x0), Succ(x1)) 214.12/145.84 new_primModNatS01(x0, x1, Zero, Succ(x2)) 214.12/145.84 new_esEs(Neg(Zero)) 214.12/145.84 214.12/145.84 We have to consider all minimal (P,Q,R)-chains. 214.12/145.84 ---------------------------------------- 214.12/145.84 214.12/145.84 (446) TransformationProof (EQUIVALENT) 214.12/145.84 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]: 214.12/145.84 214.12/145.84 (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)))))) 214.12/145.84 214.12/145.84 214.12/145.84 ---------------------------------------- 214.12/145.84 214.12/145.84 (447) 214.12/145.84 Obligation: 214.12/145.84 Q DP problem: 214.12/145.84 The TRS P consists of the following rules: 214.12/145.84 214.12/145.84 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))) 214.12/145.84 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))))) 214.12/145.84 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)))) 214.12/145.84 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)))) 214.12/145.84 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))))) 214.12/145.84 214.12/145.84 The TRS R consists of the following rules: 214.12/145.84 214.12/145.84 new_primModNatS1(Succ(Succ(vyv293000)), Succ(vyv292000)) -> new_primModNatS01(vyv293000, vyv292000, vyv293000, vyv292000) 214.12/145.84 new_primModNatS01(vyv331, vyv332, Zero, Zero) -> new_primModNatS02(vyv331, vyv332) 214.12/145.84 new_primModNatS02(vyv331, vyv332) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv331), Succ(vyv332)), Succ(vyv332)) 214.12/145.84 new_primModNatS01(vyv331, vyv332, Succ(vyv3330), Succ(vyv3340)) -> new_primModNatS01(vyv331, vyv332, vyv3330, vyv3340) 214.12/145.84 new_primModNatS01(vyv331, vyv332, Succ(vyv3330), Zero) -> new_primModNatS02(vyv331, vyv332) 214.12/145.84 new_primModNatS01(vyv331, vyv332, Zero, Succ(vyv3340)) -> Succ(Succ(vyv331)) 214.12/145.84 new_primMinusNatS2(Succ(vyv3110), Succ(vyv3120)) -> new_primMinusNatS2(vyv3110, vyv3120) 214.12/145.84 new_primModNatS1(Succ(Zero), Succ(vyv292000)) -> Succ(Zero) 214.12/145.84 new_primModNatS1(Zero, vyv29200) -> Zero 214.12/145.84 new_primMinusNatS2(Zero, Zero) -> Zero 214.12/145.84 new_primMinusNatS2(Zero, Succ(vyv3120)) -> Zero 214.12/145.84 new_primMinusNatS2(Succ(vyv3110), Zero) -> Succ(vyv3110) 214.12/145.84 new_esEs(Pos(Succ(vyv24300))) -> new_primEqInt(Pos(Succ(vyv24300))) 214.12/145.84 new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) 214.12/145.84 new_primEqInt(Pos(Zero)) -> True 214.12/145.84 new_primEqInt(Pos(Succ(vyv242000))) -> False 214.12/145.84 214.12/145.84 The set Q consists of the following terms: 214.12/145.84 214.12/145.84 new_primModNatS01(x0, x1, Succ(x2), Zero) 214.12/145.84 new_primModNatS1(Succ(Succ(x0)), Zero) 214.12/145.84 new_primEqInt(Pos(Zero)) 214.12/145.84 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 214.12/145.84 new_esEs(Pos(Succ(x0))) 214.12/145.84 new_primModNatS1(Zero, x0) 214.12/145.84 new_primModNatS02(x0, x1) 214.12/145.84 new_primMinusNatS2(Zero, Zero) 214.12/145.84 new_primModNatS1(Succ(Zero), Zero) 214.12/145.84 new_primMinusNatS2(Succ(x0), Zero) 214.12/145.84 new_esEs(Pos(Zero)) 214.12/145.84 new_primEqInt(Neg(Succ(x0))) 214.12/145.84 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 214.12/145.84 new_esEs(Neg(Succ(x0))) 214.12/145.84 new_primEqInt(Neg(Zero)) 214.12/145.84 new_primModNatS01(x0, x1, Zero, Zero) 214.12/145.84 new_primEqInt(Pos(Succ(x0))) 214.12/145.84 new_primMinusNatS2(Zero, Succ(x0)) 214.12/145.84 new_primModNatS1(Succ(Zero), Succ(x0)) 214.12/145.84 new_primMinusNatS2(Succ(x0), Succ(x1)) 214.12/145.84 new_primModNatS01(x0, x1, Zero, Succ(x2)) 214.12/145.84 new_esEs(Neg(Zero)) 214.12/145.84 214.12/145.84 We have to consider all minimal (P,Q,R)-chains. 214.12/145.84 ---------------------------------------- 214.12/145.84 214.12/145.84 (448) TransformationProof (EQUIVALENT) 214.12/145.84 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]: 214.12/145.84 214.12/145.84 (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))))) 214.12/145.84 214.12/145.84 214.12/145.84 ---------------------------------------- 214.12/145.84 214.12/145.84 (449) 214.12/145.84 Obligation: 214.12/145.84 Q DP problem: 214.12/145.84 The TRS P consists of the following rules: 214.12/145.84 214.12/145.84 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))) 214.12/145.84 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))))) 214.12/145.84 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)))) 214.12/145.84 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))))) 214.12/145.84 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)))) 214.12/145.84 214.12/145.84 The TRS R consists of the following rules: 214.12/145.84 214.12/145.84 new_primModNatS1(Succ(Succ(vyv293000)), Succ(vyv292000)) -> new_primModNatS01(vyv293000, vyv292000, vyv293000, vyv292000) 214.12/145.84 new_primModNatS01(vyv331, vyv332, Zero, Zero) -> new_primModNatS02(vyv331, vyv332) 214.12/145.84 new_primModNatS02(vyv331, vyv332) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv331), Succ(vyv332)), Succ(vyv332)) 214.12/145.84 new_primModNatS01(vyv331, vyv332, Succ(vyv3330), Succ(vyv3340)) -> new_primModNatS01(vyv331, vyv332, vyv3330, vyv3340) 214.12/145.84 new_primModNatS01(vyv331, vyv332, Succ(vyv3330), Zero) -> new_primModNatS02(vyv331, vyv332) 214.12/145.84 new_primModNatS01(vyv331, vyv332, Zero, Succ(vyv3340)) -> Succ(Succ(vyv331)) 214.12/145.84 new_primMinusNatS2(Succ(vyv3110), Succ(vyv3120)) -> new_primMinusNatS2(vyv3110, vyv3120) 214.12/145.84 new_primModNatS1(Succ(Zero), Succ(vyv292000)) -> Succ(Zero) 214.12/145.84 new_primModNatS1(Zero, vyv29200) -> Zero 214.12/145.84 new_primMinusNatS2(Zero, Zero) -> Zero 214.12/145.84 new_primMinusNatS2(Zero, Succ(vyv3120)) -> Zero 214.12/145.84 new_primMinusNatS2(Succ(vyv3110), Zero) -> Succ(vyv3110) 214.12/145.84 new_esEs(Pos(Succ(vyv24300))) -> new_primEqInt(Pos(Succ(vyv24300))) 214.12/145.84 new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) 214.12/145.84 new_primEqInt(Pos(Zero)) -> True 214.12/145.84 new_primEqInt(Pos(Succ(vyv242000))) -> False 214.12/145.84 214.12/145.84 The set Q consists of the following terms: 214.12/145.84 214.12/145.84 new_primModNatS01(x0, x1, Succ(x2), Zero) 214.12/145.84 new_primModNatS1(Succ(Succ(x0)), Zero) 214.12/145.84 new_primEqInt(Pos(Zero)) 214.12/145.84 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 214.12/145.84 new_esEs(Pos(Succ(x0))) 214.12/145.84 new_primModNatS1(Zero, x0) 214.12/145.84 new_primModNatS02(x0, x1) 214.12/145.84 new_primMinusNatS2(Zero, Zero) 214.12/145.84 new_primModNatS1(Succ(Zero), Zero) 214.12/145.84 new_primMinusNatS2(Succ(x0), Zero) 214.12/145.84 new_esEs(Pos(Zero)) 214.12/145.84 new_primEqInt(Neg(Succ(x0))) 214.12/145.84 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 214.12/145.84 new_esEs(Neg(Succ(x0))) 214.12/145.84 new_primEqInt(Neg(Zero)) 214.12/145.84 new_primModNatS01(x0, x1, Zero, Zero) 214.12/145.84 new_primEqInt(Pos(Succ(x0))) 214.12/145.84 new_primMinusNatS2(Zero, Succ(x0)) 214.12/145.84 new_primModNatS1(Succ(Zero), Succ(x0)) 214.12/145.84 new_primMinusNatS2(Succ(x0), Succ(x1)) 214.12/145.84 new_primModNatS01(x0, x1, Zero, Succ(x2)) 214.12/145.84 new_esEs(Neg(Zero)) 214.12/145.84 214.12/145.84 We have to consider all minimal (P,Q,R)-chains. 214.12/145.84 ---------------------------------------- 214.12/145.84 214.12/145.84 (450) DependencyGraphProof (EQUIVALENT) 214.12/145.84 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. 214.12/145.84 ---------------------------------------- 214.12/145.84 214.12/145.84 (451) 214.12/145.84 Obligation: 214.12/145.84 Q DP problem: 214.12/145.84 The TRS P consists of the following rules: 214.12/145.84 214.12/145.84 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))))) 214.12/145.84 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))) 214.12/145.84 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)))) 214.12/145.84 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))))) 214.12/145.84 214.12/145.84 The TRS R consists of the following rules: 214.12/145.84 214.12/145.84 new_primModNatS1(Succ(Succ(vyv293000)), Succ(vyv292000)) -> new_primModNatS01(vyv293000, vyv292000, vyv293000, vyv292000) 214.12/145.84 new_primModNatS01(vyv331, vyv332, Zero, Zero) -> new_primModNatS02(vyv331, vyv332) 214.12/145.84 new_primModNatS02(vyv331, vyv332) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv331), Succ(vyv332)), Succ(vyv332)) 214.12/145.84 new_primModNatS01(vyv331, vyv332, Succ(vyv3330), Succ(vyv3340)) -> new_primModNatS01(vyv331, vyv332, vyv3330, vyv3340) 214.12/145.84 new_primModNatS01(vyv331, vyv332, Succ(vyv3330), Zero) -> new_primModNatS02(vyv331, vyv332) 214.12/145.84 new_primModNatS01(vyv331, vyv332, Zero, Succ(vyv3340)) -> Succ(Succ(vyv331)) 214.12/145.84 new_primMinusNatS2(Succ(vyv3110), Succ(vyv3120)) -> new_primMinusNatS2(vyv3110, vyv3120) 214.12/145.84 new_primModNatS1(Succ(Zero), Succ(vyv292000)) -> Succ(Zero) 214.12/145.84 new_primModNatS1(Zero, vyv29200) -> Zero 214.12/145.84 new_primMinusNatS2(Zero, Zero) -> Zero 214.12/145.84 new_primMinusNatS2(Zero, Succ(vyv3120)) -> Zero 214.12/145.84 new_primMinusNatS2(Succ(vyv3110), Zero) -> Succ(vyv3110) 214.12/145.84 new_esEs(Pos(Succ(vyv24300))) -> new_primEqInt(Pos(Succ(vyv24300))) 214.12/145.84 new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) 214.12/145.84 new_primEqInt(Pos(Zero)) -> True 214.12/145.84 new_primEqInt(Pos(Succ(vyv242000))) -> False 214.12/145.84 214.12/145.84 The set Q consists of the following terms: 214.12/145.84 214.12/145.84 new_primModNatS01(x0, x1, Succ(x2), Zero) 214.12/145.84 new_primModNatS1(Succ(Succ(x0)), Zero) 214.12/145.84 new_primEqInt(Pos(Zero)) 214.12/145.84 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 214.12/145.84 new_esEs(Pos(Succ(x0))) 214.12/145.84 new_primModNatS1(Zero, x0) 214.12/145.84 new_primModNatS02(x0, x1) 214.12/145.84 new_primMinusNatS2(Zero, Zero) 214.12/145.84 new_primModNatS1(Succ(Zero), Zero) 214.12/145.84 new_primMinusNatS2(Succ(x0), Zero) 214.12/145.84 new_esEs(Pos(Zero)) 214.12/145.84 new_primEqInt(Neg(Succ(x0))) 214.12/145.84 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 214.12/145.84 new_esEs(Neg(Succ(x0))) 214.12/145.84 new_primEqInt(Neg(Zero)) 214.12/145.84 new_primModNatS01(x0, x1, Zero, Zero) 214.12/145.84 new_primEqInt(Pos(Succ(x0))) 214.12/145.84 new_primMinusNatS2(Zero, Succ(x0)) 214.12/145.84 new_primModNatS1(Succ(Zero), Succ(x0)) 214.12/145.84 new_primMinusNatS2(Succ(x0), Succ(x1)) 214.12/145.84 new_primModNatS01(x0, x1, Zero, Succ(x2)) 214.12/145.84 new_esEs(Neg(Zero)) 214.12/145.84 214.12/145.84 We have to consider all minimal (P,Q,R)-chains. 214.12/145.84 ---------------------------------------- 214.12/145.84 214.12/145.84 (452) TransformationProof (EQUIVALENT) 214.12/145.84 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]: 214.12/145.84 214.12/145.84 (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)))))) 214.12/145.84 (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))))))) 214.12/145.84 (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))))))) 214.12/145.84 (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)))))) 214.12/145.84 214.12/145.84 214.12/145.84 ---------------------------------------- 214.12/145.84 214.12/145.84 (453) 214.12/145.84 Obligation: 214.12/145.84 Q DP problem: 214.12/145.84 The TRS P consists of the following rules: 214.12/145.84 214.12/145.84 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))) 214.12/145.84 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)))) 214.12/145.84 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))))) 214.12/145.84 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))))) 214.12/145.84 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)))))) 214.12/145.84 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)))))) 214.12/145.84 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))))) 214.12/145.84 214.12/145.84 The TRS R consists of the following rules: 214.12/145.84 214.12/145.84 new_primModNatS1(Succ(Succ(vyv293000)), Succ(vyv292000)) -> new_primModNatS01(vyv293000, vyv292000, vyv293000, vyv292000) 214.12/145.84 new_primModNatS01(vyv331, vyv332, Zero, Zero) -> new_primModNatS02(vyv331, vyv332) 214.12/145.84 new_primModNatS02(vyv331, vyv332) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv331), Succ(vyv332)), Succ(vyv332)) 214.12/145.84 new_primModNatS01(vyv331, vyv332, Succ(vyv3330), Succ(vyv3340)) -> new_primModNatS01(vyv331, vyv332, vyv3330, vyv3340) 214.12/145.84 new_primModNatS01(vyv331, vyv332, Succ(vyv3330), Zero) -> new_primModNatS02(vyv331, vyv332) 214.12/145.84 new_primModNatS01(vyv331, vyv332, Zero, Succ(vyv3340)) -> Succ(Succ(vyv331)) 214.12/145.84 new_primMinusNatS2(Succ(vyv3110), Succ(vyv3120)) -> new_primMinusNatS2(vyv3110, vyv3120) 214.12/145.84 new_primModNatS1(Succ(Zero), Succ(vyv292000)) -> Succ(Zero) 214.12/145.84 new_primModNatS1(Zero, vyv29200) -> Zero 214.12/145.84 new_primMinusNatS2(Zero, Zero) -> Zero 214.12/145.84 new_primMinusNatS2(Zero, Succ(vyv3120)) -> Zero 214.12/145.84 new_primMinusNatS2(Succ(vyv3110), Zero) -> Succ(vyv3110) 214.12/145.84 new_esEs(Pos(Succ(vyv24300))) -> new_primEqInt(Pos(Succ(vyv24300))) 214.12/145.84 new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) 214.12/145.84 new_primEqInt(Pos(Zero)) -> True 214.12/145.84 new_primEqInt(Pos(Succ(vyv242000))) -> False 214.12/145.84 214.12/145.84 The set Q consists of the following terms: 214.12/145.84 214.12/145.84 new_primModNatS01(x0, x1, Succ(x2), Zero) 214.12/145.84 new_primModNatS1(Succ(Succ(x0)), Zero) 214.12/145.84 new_primEqInt(Pos(Zero)) 214.12/145.84 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 214.12/145.84 new_esEs(Pos(Succ(x0))) 214.12/145.84 new_primModNatS1(Zero, x0) 214.12/145.84 new_primModNatS02(x0, x1) 214.12/145.84 new_primMinusNatS2(Zero, Zero) 214.12/145.84 new_primModNatS1(Succ(Zero), Zero) 214.12/145.84 new_primMinusNatS2(Succ(x0), Zero) 214.12/145.84 new_esEs(Pos(Zero)) 214.12/145.84 new_primEqInt(Neg(Succ(x0))) 214.12/145.84 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 214.12/145.84 new_esEs(Neg(Succ(x0))) 214.12/145.84 new_primEqInt(Neg(Zero)) 214.12/145.84 new_primModNatS01(x0, x1, Zero, Zero) 214.12/145.84 new_primEqInt(Pos(Succ(x0))) 214.12/145.84 new_primMinusNatS2(Zero, Succ(x0)) 214.12/145.84 new_primModNatS1(Succ(Zero), Succ(x0)) 214.12/145.84 new_primMinusNatS2(Succ(x0), Succ(x1)) 214.12/145.84 new_primModNatS01(x0, x1, Zero, Succ(x2)) 214.12/145.84 new_esEs(Neg(Zero)) 214.12/145.84 214.12/145.84 We have to consider all minimal (P,Q,R)-chains. 214.12/145.84 ---------------------------------------- 214.12/145.84 214.12/145.84 (454) TransformationProof (EQUIVALENT) 214.12/145.84 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]: 214.12/145.84 214.12/145.84 (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)))))) 214.12/145.84 214.12/145.84 214.12/145.84 ---------------------------------------- 214.12/145.84 214.12/145.84 (455) 214.12/145.84 Obligation: 214.12/145.84 Q DP problem: 214.12/145.84 The TRS P consists of the following rules: 214.12/145.84 214.12/145.84 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))) 214.12/145.84 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)))) 214.12/145.84 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))))) 214.12/145.84 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)))))) 214.12/145.84 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)))))) 214.12/145.84 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))))) 214.12/145.84 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))))) 214.12/145.84 214.12/145.84 The TRS R consists of the following rules: 214.12/145.84 214.12/145.84 new_primModNatS1(Succ(Succ(vyv293000)), Succ(vyv292000)) -> new_primModNatS01(vyv293000, vyv292000, vyv293000, vyv292000) 214.12/145.84 new_primModNatS01(vyv331, vyv332, Zero, Zero) -> new_primModNatS02(vyv331, vyv332) 214.12/145.84 new_primModNatS02(vyv331, vyv332) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv331), Succ(vyv332)), Succ(vyv332)) 214.12/145.84 new_primModNatS01(vyv331, vyv332, Succ(vyv3330), Succ(vyv3340)) -> new_primModNatS01(vyv331, vyv332, vyv3330, vyv3340) 214.12/145.84 new_primModNatS01(vyv331, vyv332, Succ(vyv3330), Zero) -> new_primModNatS02(vyv331, vyv332) 214.12/145.84 new_primModNatS01(vyv331, vyv332, Zero, Succ(vyv3340)) -> Succ(Succ(vyv331)) 214.12/145.84 new_primMinusNatS2(Succ(vyv3110), Succ(vyv3120)) -> new_primMinusNatS2(vyv3110, vyv3120) 214.12/145.84 new_primModNatS1(Succ(Zero), Succ(vyv292000)) -> Succ(Zero) 214.12/145.84 new_primModNatS1(Zero, vyv29200) -> Zero 214.12/145.84 new_primMinusNatS2(Zero, Zero) -> Zero 214.12/145.84 new_primMinusNatS2(Zero, Succ(vyv3120)) -> Zero 214.12/145.84 new_primMinusNatS2(Succ(vyv3110), Zero) -> Succ(vyv3110) 214.12/145.84 new_esEs(Pos(Succ(vyv24300))) -> new_primEqInt(Pos(Succ(vyv24300))) 214.12/145.84 new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) 214.12/145.84 new_primEqInt(Pos(Zero)) -> True 214.12/145.84 new_primEqInt(Pos(Succ(vyv242000))) -> False 214.12/145.84 214.12/145.84 The set Q consists of the following terms: 214.12/145.84 214.12/145.84 new_primModNatS01(x0, x1, Succ(x2), Zero) 214.12/145.84 new_primModNatS1(Succ(Succ(x0)), Zero) 214.12/145.84 new_primEqInt(Pos(Zero)) 214.12/145.84 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 214.12/145.84 new_esEs(Pos(Succ(x0))) 214.12/145.84 new_primModNatS1(Zero, x0) 214.12/145.84 new_primModNatS02(x0, x1) 214.12/145.84 new_primMinusNatS2(Zero, Zero) 214.12/145.84 new_primModNatS1(Succ(Zero), Zero) 214.12/145.84 new_primMinusNatS2(Succ(x0), Zero) 214.12/145.84 new_esEs(Pos(Zero)) 214.12/145.84 new_primEqInt(Neg(Succ(x0))) 214.12/145.84 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 214.12/145.84 new_esEs(Neg(Succ(x0))) 214.12/145.84 new_primEqInt(Neg(Zero)) 214.12/145.84 new_primModNatS01(x0, x1, Zero, Zero) 214.12/145.84 new_primEqInt(Pos(Succ(x0))) 214.12/145.84 new_primMinusNatS2(Zero, Succ(x0)) 214.12/145.84 new_primModNatS1(Succ(Zero), Succ(x0)) 214.12/145.84 new_primMinusNatS2(Succ(x0), Succ(x1)) 214.12/145.84 new_primModNatS01(x0, x1, Zero, Succ(x2)) 214.12/145.84 new_esEs(Neg(Zero)) 214.12/145.84 214.12/145.84 We have to consider all minimal (P,Q,R)-chains. 214.12/145.84 ---------------------------------------- 214.12/145.84 214.12/145.84 (456) TransformationProof (EQUIVALENT) 214.12/145.84 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]: 214.12/145.84 214.12/145.84 (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))))))) 214.12/145.84 214.12/145.84 214.12/145.84 ---------------------------------------- 214.12/145.84 214.12/145.84 (457) 214.12/145.84 Obligation: 214.12/145.84 Q DP problem: 214.12/145.84 The TRS P consists of the following rules: 214.12/145.84 214.12/145.84 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))) 214.12/145.84 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)))) 214.12/145.84 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))))) 214.12/145.84 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)))))) 214.12/145.84 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))))) 214.12/145.84 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))))) 214.12/145.84 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)))))) 214.12/145.84 214.12/145.84 The TRS R consists of the following rules: 214.12/145.84 214.12/145.84 new_primModNatS1(Succ(Succ(vyv293000)), Succ(vyv292000)) -> new_primModNatS01(vyv293000, vyv292000, vyv293000, vyv292000) 214.12/145.84 new_primModNatS01(vyv331, vyv332, Zero, Zero) -> new_primModNatS02(vyv331, vyv332) 214.12/145.84 new_primModNatS02(vyv331, vyv332) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv331), Succ(vyv332)), Succ(vyv332)) 214.12/145.84 new_primModNatS01(vyv331, vyv332, Succ(vyv3330), Succ(vyv3340)) -> new_primModNatS01(vyv331, vyv332, vyv3330, vyv3340) 214.12/145.84 new_primModNatS01(vyv331, vyv332, Succ(vyv3330), Zero) -> new_primModNatS02(vyv331, vyv332) 214.12/145.84 new_primModNatS01(vyv331, vyv332, Zero, Succ(vyv3340)) -> Succ(Succ(vyv331)) 214.12/145.84 new_primMinusNatS2(Succ(vyv3110), Succ(vyv3120)) -> new_primMinusNatS2(vyv3110, vyv3120) 214.12/145.84 new_primModNatS1(Succ(Zero), Succ(vyv292000)) -> Succ(Zero) 214.12/145.84 new_primModNatS1(Zero, vyv29200) -> Zero 214.12/145.84 new_primMinusNatS2(Zero, Zero) -> Zero 214.12/145.84 new_primMinusNatS2(Zero, Succ(vyv3120)) -> Zero 214.12/145.84 new_primMinusNatS2(Succ(vyv3110), Zero) -> Succ(vyv3110) 214.12/145.84 new_esEs(Pos(Succ(vyv24300))) -> new_primEqInt(Pos(Succ(vyv24300))) 214.12/145.84 new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) 214.12/145.84 new_primEqInt(Pos(Zero)) -> True 214.12/145.84 new_primEqInt(Pos(Succ(vyv242000))) -> False 214.12/145.84 214.12/145.84 The set Q consists of the following terms: 214.12/145.84 214.12/145.84 new_primModNatS01(x0, x1, Succ(x2), Zero) 214.12/145.84 new_primModNatS1(Succ(Succ(x0)), Zero) 214.12/145.84 new_primEqInt(Pos(Zero)) 214.12/145.84 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 214.12/145.84 new_esEs(Pos(Succ(x0))) 214.12/145.84 new_primModNatS1(Zero, x0) 214.12/145.84 new_primModNatS02(x0, x1) 214.12/145.84 new_primMinusNatS2(Zero, Zero) 214.12/145.84 new_primModNatS1(Succ(Zero), Zero) 214.12/145.84 new_primMinusNatS2(Succ(x0), Zero) 214.12/145.84 new_esEs(Pos(Zero)) 214.12/145.84 new_primEqInt(Neg(Succ(x0))) 214.12/145.84 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 214.12/145.84 new_esEs(Neg(Succ(x0))) 214.12/145.84 new_primEqInt(Neg(Zero)) 214.12/145.84 new_primModNatS01(x0, x1, Zero, Zero) 214.12/145.84 new_primEqInt(Pos(Succ(x0))) 214.12/145.84 new_primMinusNatS2(Zero, Succ(x0)) 214.12/145.84 new_primModNatS1(Succ(Zero), Succ(x0)) 214.12/145.84 new_primMinusNatS2(Succ(x0), Succ(x1)) 214.12/145.84 new_primModNatS01(x0, x1, Zero, Succ(x2)) 214.12/145.84 new_esEs(Neg(Zero)) 214.12/145.84 214.12/145.84 We have to consider all minimal (P,Q,R)-chains. 214.12/145.84 ---------------------------------------- 214.12/145.84 214.12/145.84 (458) TransformationProof (EQUIVALENT) 214.12/145.84 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]: 214.12/145.84 214.12/145.84 (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)))))) 214.12/145.84 214.12/145.84 214.12/145.84 ---------------------------------------- 214.12/145.84 214.12/145.84 (459) 214.12/145.84 Obligation: 214.12/145.84 Q DP problem: 214.12/145.84 The TRS P consists of the following rules: 214.12/145.84 214.12/145.84 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))) 214.12/145.84 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)))) 214.12/145.84 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))))) 214.12/145.84 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)))))) 214.12/145.84 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))))) 214.12/145.84 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)))))) 214.12/145.84 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))))) 214.12/145.84 214.12/145.84 The TRS R consists of the following rules: 214.12/145.84 214.12/145.84 new_primModNatS1(Succ(Succ(vyv293000)), Succ(vyv292000)) -> new_primModNatS01(vyv293000, vyv292000, vyv293000, vyv292000) 214.12/145.84 new_primModNatS01(vyv331, vyv332, Zero, Zero) -> new_primModNatS02(vyv331, vyv332) 214.12/145.84 new_primModNatS02(vyv331, vyv332) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv331), Succ(vyv332)), Succ(vyv332)) 214.12/145.84 new_primModNatS01(vyv331, vyv332, Succ(vyv3330), Succ(vyv3340)) -> new_primModNatS01(vyv331, vyv332, vyv3330, vyv3340) 214.12/145.84 new_primModNatS01(vyv331, vyv332, Succ(vyv3330), Zero) -> new_primModNatS02(vyv331, vyv332) 214.12/145.84 new_primModNatS01(vyv331, vyv332, Zero, Succ(vyv3340)) -> Succ(Succ(vyv331)) 214.12/145.84 new_primMinusNatS2(Succ(vyv3110), Succ(vyv3120)) -> new_primMinusNatS2(vyv3110, vyv3120) 214.12/145.84 new_primModNatS1(Succ(Zero), Succ(vyv292000)) -> Succ(Zero) 214.12/145.84 new_primModNatS1(Zero, vyv29200) -> Zero 214.12/145.84 new_primMinusNatS2(Zero, Zero) -> Zero 214.12/145.84 new_primMinusNatS2(Zero, Succ(vyv3120)) -> Zero 214.12/145.84 new_primMinusNatS2(Succ(vyv3110), Zero) -> Succ(vyv3110) 214.12/145.84 new_esEs(Pos(Succ(vyv24300))) -> new_primEqInt(Pos(Succ(vyv24300))) 214.12/145.84 new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) 214.12/145.84 new_primEqInt(Pos(Zero)) -> True 214.12/145.84 new_primEqInt(Pos(Succ(vyv242000))) -> False 214.12/145.84 214.12/145.84 The set Q consists of the following terms: 214.12/145.84 214.12/145.84 new_primModNatS01(x0, x1, Succ(x2), Zero) 214.12/145.84 new_primModNatS1(Succ(Succ(x0)), Zero) 214.12/145.84 new_primEqInt(Pos(Zero)) 214.12/145.84 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 214.12/145.84 new_esEs(Pos(Succ(x0))) 214.12/145.84 new_primModNatS1(Zero, x0) 214.12/145.84 new_primModNatS02(x0, x1) 214.12/145.84 new_primMinusNatS2(Zero, Zero) 214.12/145.84 new_primModNatS1(Succ(Zero), Zero) 214.12/145.84 new_primMinusNatS2(Succ(x0), Zero) 214.12/145.84 new_esEs(Pos(Zero)) 214.12/145.84 new_primEqInt(Neg(Succ(x0))) 214.12/145.84 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 214.12/145.84 new_esEs(Neg(Succ(x0))) 214.12/145.84 new_primEqInt(Neg(Zero)) 214.12/145.84 new_primModNatS01(x0, x1, Zero, Zero) 214.12/145.84 new_primEqInt(Pos(Succ(x0))) 214.12/145.84 new_primMinusNatS2(Zero, Succ(x0)) 214.12/145.84 new_primModNatS1(Succ(Zero), Succ(x0)) 214.12/145.84 new_primMinusNatS2(Succ(x0), Succ(x1)) 214.12/145.84 new_primModNatS01(x0, x1, Zero, Succ(x2)) 214.12/145.84 new_esEs(Neg(Zero)) 214.12/145.84 214.12/145.84 We have to consider all minimal (P,Q,R)-chains. 214.12/145.84 ---------------------------------------- 214.12/145.84 214.12/145.84 (460) TransformationProof (EQUIVALENT) 214.12/145.84 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]: 214.12/145.84 214.12/145.84 (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)))))) 214.12/145.84 214.12/145.84 214.12/145.84 ---------------------------------------- 214.12/145.84 214.12/145.84 (461) 214.12/145.84 Obligation: 214.12/145.84 Q DP problem: 214.12/145.84 The TRS P consists of the following rules: 214.12/145.84 214.12/145.84 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))) 214.12/145.84 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)))) 214.12/145.84 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))))) 214.12/145.84 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)))))) 214.12/145.84 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)))))) 214.12/145.84 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))))) 214.12/145.84 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))))) 214.12/145.84 214.12/145.84 The TRS R consists of the following rules: 214.12/145.84 214.12/145.84 new_primModNatS1(Succ(Succ(vyv293000)), Succ(vyv292000)) -> new_primModNatS01(vyv293000, vyv292000, vyv293000, vyv292000) 214.12/145.84 new_primModNatS01(vyv331, vyv332, Zero, Zero) -> new_primModNatS02(vyv331, vyv332) 214.12/145.84 new_primModNatS02(vyv331, vyv332) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv331), Succ(vyv332)), Succ(vyv332)) 214.12/145.84 new_primModNatS01(vyv331, vyv332, Succ(vyv3330), Succ(vyv3340)) -> new_primModNatS01(vyv331, vyv332, vyv3330, vyv3340) 214.12/145.84 new_primModNatS01(vyv331, vyv332, Succ(vyv3330), Zero) -> new_primModNatS02(vyv331, vyv332) 214.12/145.84 new_primModNatS01(vyv331, vyv332, Zero, Succ(vyv3340)) -> Succ(Succ(vyv331)) 214.12/145.84 new_primMinusNatS2(Succ(vyv3110), Succ(vyv3120)) -> new_primMinusNatS2(vyv3110, vyv3120) 214.12/145.84 new_primModNatS1(Succ(Zero), Succ(vyv292000)) -> Succ(Zero) 214.12/145.84 new_primModNatS1(Zero, vyv29200) -> Zero 214.12/145.84 new_primMinusNatS2(Zero, Zero) -> Zero 214.12/145.84 new_primMinusNatS2(Zero, Succ(vyv3120)) -> Zero 214.12/145.84 new_primMinusNatS2(Succ(vyv3110), Zero) -> Succ(vyv3110) 214.12/145.84 new_esEs(Pos(Succ(vyv24300))) -> new_primEqInt(Pos(Succ(vyv24300))) 214.12/145.84 new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) 214.12/145.84 new_primEqInt(Pos(Zero)) -> True 214.12/145.84 new_primEqInt(Pos(Succ(vyv242000))) -> False 214.12/145.84 214.12/145.84 The set Q consists of the following terms: 214.12/145.84 214.12/145.84 new_primModNatS01(x0, x1, Succ(x2), Zero) 214.12/145.84 new_primModNatS1(Succ(Succ(x0)), Zero) 214.12/145.84 new_primEqInt(Pos(Zero)) 214.12/145.84 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 214.12/145.84 new_esEs(Pos(Succ(x0))) 214.12/145.84 new_primModNatS1(Zero, x0) 214.12/145.84 new_primModNatS02(x0, x1) 214.12/145.84 new_primMinusNatS2(Zero, Zero) 214.12/145.84 new_primModNatS1(Succ(Zero), Zero) 214.12/145.84 new_primMinusNatS2(Succ(x0), Zero) 214.12/145.84 new_esEs(Pos(Zero)) 214.12/145.84 new_primEqInt(Neg(Succ(x0))) 214.12/145.84 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 214.12/145.84 new_esEs(Neg(Succ(x0))) 214.12/145.84 new_primEqInt(Neg(Zero)) 214.12/145.84 new_primModNatS01(x0, x1, Zero, Zero) 214.12/145.84 new_primEqInt(Pos(Succ(x0))) 214.12/145.84 new_primMinusNatS2(Zero, Succ(x0)) 214.12/145.84 new_primModNatS1(Succ(Zero), Succ(x0)) 214.12/145.84 new_primMinusNatS2(Succ(x0), Succ(x1)) 214.12/145.84 new_primModNatS01(x0, x1, Zero, Succ(x2)) 214.12/145.84 new_esEs(Neg(Zero)) 214.12/145.84 214.12/145.84 We have to consider all minimal (P,Q,R)-chains. 214.12/145.84 ---------------------------------------- 214.12/145.84 214.12/145.84 (462) TransformationProof (EQUIVALENT) 214.12/145.84 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]: 214.12/145.84 214.12/145.84 (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))))))) 214.12/145.84 214.12/145.84 214.12/145.84 ---------------------------------------- 214.12/145.84 214.12/145.84 (463) 214.12/145.84 Obligation: 214.12/145.84 Q DP problem: 214.12/145.84 The TRS P consists of the following rules: 214.12/145.84 214.12/145.84 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))) 214.12/145.84 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)))) 214.12/145.84 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))))) 214.12/145.84 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)))))) 214.12/145.84 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))))) 214.12/145.84 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))))) 214.12/145.84 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)))))) 214.12/145.84 214.12/145.84 The TRS R consists of the following rules: 214.12/145.84 214.12/145.84 new_primModNatS1(Succ(Succ(vyv293000)), Succ(vyv292000)) -> new_primModNatS01(vyv293000, vyv292000, vyv293000, vyv292000) 214.12/145.84 new_primModNatS01(vyv331, vyv332, Zero, Zero) -> new_primModNatS02(vyv331, vyv332) 214.12/145.84 new_primModNatS02(vyv331, vyv332) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv331), Succ(vyv332)), Succ(vyv332)) 214.12/145.84 new_primModNatS01(vyv331, vyv332, Succ(vyv3330), Succ(vyv3340)) -> new_primModNatS01(vyv331, vyv332, vyv3330, vyv3340) 214.12/145.84 new_primModNatS01(vyv331, vyv332, Succ(vyv3330), Zero) -> new_primModNatS02(vyv331, vyv332) 214.12/145.84 new_primModNatS01(vyv331, vyv332, Zero, Succ(vyv3340)) -> Succ(Succ(vyv331)) 214.12/145.84 new_primMinusNatS2(Succ(vyv3110), Succ(vyv3120)) -> new_primMinusNatS2(vyv3110, vyv3120) 214.12/145.84 new_primModNatS1(Succ(Zero), Succ(vyv292000)) -> Succ(Zero) 214.12/145.84 new_primModNatS1(Zero, vyv29200) -> Zero 214.12/145.84 new_primMinusNatS2(Zero, Zero) -> Zero 214.12/145.84 new_primMinusNatS2(Zero, Succ(vyv3120)) -> Zero 214.12/145.84 new_primMinusNatS2(Succ(vyv3110), Zero) -> Succ(vyv3110) 214.12/145.84 new_esEs(Pos(Succ(vyv24300))) -> new_primEqInt(Pos(Succ(vyv24300))) 214.12/145.84 new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) 214.12/145.84 new_primEqInt(Pos(Zero)) -> True 214.12/145.84 new_primEqInt(Pos(Succ(vyv242000))) -> False 214.12/145.84 214.12/145.84 The set Q consists of the following terms: 214.12/145.84 214.12/145.84 new_primModNatS01(x0, x1, Succ(x2), Zero) 214.12/145.84 new_primModNatS1(Succ(Succ(x0)), Zero) 214.12/145.84 new_primEqInt(Pos(Zero)) 214.12/145.84 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 214.12/145.84 new_esEs(Pos(Succ(x0))) 214.12/145.84 new_primModNatS1(Zero, x0) 214.12/145.84 new_primModNatS02(x0, x1) 214.12/145.84 new_primMinusNatS2(Zero, Zero) 214.12/145.84 new_primModNatS1(Succ(Zero), Zero) 214.12/145.84 new_primMinusNatS2(Succ(x0), Zero) 214.12/145.84 new_esEs(Pos(Zero)) 214.12/145.84 new_primEqInt(Neg(Succ(x0))) 214.12/145.84 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 214.12/145.84 new_esEs(Neg(Succ(x0))) 214.12/145.84 new_primEqInt(Neg(Zero)) 214.12/145.84 new_primModNatS01(x0, x1, Zero, Zero) 214.12/145.84 new_primEqInt(Pos(Succ(x0))) 214.12/145.84 new_primMinusNatS2(Zero, Succ(x0)) 214.12/145.84 new_primModNatS1(Succ(Zero), Succ(x0)) 214.12/145.84 new_primMinusNatS2(Succ(x0), Succ(x1)) 214.12/145.84 new_primModNatS01(x0, x1, Zero, Succ(x2)) 214.12/145.84 new_esEs(Neg(Zero)) 214.12/145.84 214.12/145.84 We have to consider all minimal (P,Q,R)-chains. 214.12/145.84 ---------------------------------------- 214.12/145.84 214.12/145.84 (464) TransformationProof (EQUIVALENT) 214.12/145.84 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]: 214.12/145.84 214.12/145.84 (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)))))) 214.12/145.84 214.12/145.84 214.12/145.84 ---------------------------------------- 214.12/145.84 214.12/145.84 (465) 214.12/145.84 Obligation: 214.12/145.84 Q DP problem: 214.12/145.84 The TRS P consists of the following rules: 214.12/145.84 214.12/145.84 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))) 214.12/145.84 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)))) 214.12/145.84 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))))) 214.12/145.84 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)))))) 214.12/145.84 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))))) 214.12/145.84 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)))))) 214.12/145.84 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))))) 214.12/145.84 214.12/145.84 The TRS R consists of the following rules: 214.12/145.84 214.12/145.84 new_primModNatS1(Succ(Succ(vyv293000)), Succ(vyv292000)) -> new_primModNatS01(vyv293000, vyv292000, vyv293000, vyv292000) 214.12/145.84 new_primModNatS01(vyv331, vyv332, Zero, Zero) -> new_primModNatS02(vyv331, vyv332) 214.12/145.84 new_primModNatS02(vyv331, vyv332) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv331), Succ(vyv332)), Succ(vyv332)) 214.12/145.84 new_primModNatS01(vyv331, vyv332, Succ(vyv3330), Succ(vyv3340)) -> new_primModNatS01(vyv331, vyv332, vyv3330, vyv3340) 214.12/145.84 new_primModNatS01(vyv331, vyv332, Succ(vyv3330), Zero) -> new_primModNatS02(vyv331, vyv332) 214.12/145.84 new_primModNatS01(vyv331, vyv332, Zero, Succ(vyv3340)) -> Succ(Succ(vyv331)) 214.12/145.84 new_primMinusNatS2(Succ(vyv3110), Succ(vyv3120)) -> new_primMinusNatS2(vyv3110, vyv3120) 214.12/145.84 new_primModNatS1(Succ(Zero), Succ(vyv292000)) -> Succ(Zero) 214.12/145.84 new_primModNatS1(Zero, vyv29200) -> Zero 214.12/145.84 new_primMinusNatS2(Zero, Zero) -> Zero 214.12/145.84 new_primMinusNatS2(Zero, Succ(vyv3120)) -> Zero 214.12/145.84 new_primMinusNatS2(Succ(vyv3110), Zero) -> Succ(vyv3110) 214.12/145.84 new_esEs(Pos(Succ(vyv24300))) -> new_primEqInt(Pos(Succ(vyv24300))) 214.12/145.84 new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) 214.12/145.84 new_primEqInt(Pos(Zero)) -> True 214.12/145.84 new_primEqInt(Pos(Succ(vyv242000))) -> False 214.12/145.84 214.12/145.84 The set Q consists of the following terms: 214.12/145.84 214.12/145.84 new_primModNatS01(x0, x1, Succ(x2), Zero) 214.12/145.84 new_primModNatS1(Succ(Succ(x0)), Zero) 214.12/145.84 new_primEqInt(Pos(Zero)) 214.12/145.84 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 214.12/145.84 new_esEs(Pos(Succ(x0))) 214.12/145.84 new_primModNatS1(Zero, x0) 214.12/145.84 new_primModNatS02(x0, x1) 214.12/145.84 new_primMinusNatS2(Zero, Zero) 214.12/145.84 new_primModNatS1(Succ(Zero), Zero) 214.12/145.84 new_primMinusNatS2(Succ(x0), Zero) 214.12/145.84 new_esEs(Pos(Zero)) 214.12/145.84 new_primEqInt(Neg(Succ(x0))) 214.12/145.84 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 214.12/145.84 new_esEs(Neg(Succ(x0))) 214.12/145.84 new_primEqInt(Neg(Zero)) 214.12/145.84 new_primModNatS01(x0, x1, Zero, Zero) 214.12/145.84 new_primEqInt(Pos(Succ(x0))) 214.12/145.84 new_primMinusNatS2(Zero, Succ(x0)) 214.12/145.84 new_primModNatS1(Succ(Zero), Succ(x0)) 214.12/145.84 new_primMinusNatS2(Succ(x0), Succ(x1)) 214.12/145.84 new_primModNatS01(x0, x1, Zero, Succ(x2)) 214.12/145.84 new_esEs(Neg(Zero)) 214.12/145.84 214.12/145.84 We have to consider all minimal (P,Q,R)-chains. 214.12/145.84 ---------------------------------------- 214.12/145.84 214.12/145.84 (466) TransformationProof (EQUIVALENT) 214.12/145.84 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]: 214.12/145.84 214.12/145.84 (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)))))) 214.12/145.84 214.12/145.84 214.12/145.84 ---------------------------------------- 214.12/145.84 214.12/145.84 (467) 214.12/145.84 Obligation: 214.12/145.84 Q DP problem: 214.12/145.84 The TRS P consists of the following rules: 214.12/145.84 214.12/145.84 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))) 214.12/145.84 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)))) 214.12/145.84 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))))) 214.12/145.84 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)))))) 214.12/145.84 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)))))) 214.12/145.84 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))))) 214.12/145.84 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))))) 214.12/145.84 214.12/145.84 The TRS R consists of the following rules: 214.12/145.84 214.12/145.84 new_primModNatS1(Succ(Succ(vyv293000)), Succ(vyv292000)) -> new_primModNatS01(vyv293000, vyv292000, vyv293000, vyv292000) 214.12/145.84 new_primModNatS01(vyv331, vyv332, Zero, Zero) -> new_primModNatS02(vyv331, vyv332) 214.12/145.84 new_primModNatS02(vyv331, vyv332) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv331), Succ(vyv332)), Succ(vyv332)) 214.12/145.84 new_primModNatS01(vyv331, vyv332, Succ(vyv3330), Succ(vyv3340)) -> new_primModNatS01(vyv331, vyv332, vyv3330, vyv3340) 214.12/145.84 new_primModNatS01(vyv331, vyv332, Succ(vyv3330), Zero) -> new_primModNatS02(vyv331, vyv332) 214.12/145.84 new_primModNatS01(vyv331, vyv332, Zero, Succ(vyv3340)) -> Succ(Succ(vyv331)) 214.12/145.84 new_primMinusNatS2(Succ(vyv3110), Succ(vyv3120)) -> new_primMinusNatS2(vyv3110, vyv3120) 214.12/145.84 new_primModNatS1(Succ(Zero), Succ(vyv292000)) -> Succ(Zero) 214.12/145.84 new_primModNatS1(Zero, vyv29200) -> Zero 214.12/145.84 new_primMinusNatS2(Zero, Zero) -> Zero 214.12/145.84 new_primMinusNatS2(Zero, Succ(vyv3120)) -> Zero 214.12/145.84 new_primMinusNatS2(Succ(vyv3110), Zero) -> Succ(vyv3110) 214.12/145.84 new_esEs(Pos(Succ(vyv24300))) -> new_primEqInt(Pos(Succ(vyv24300))) 214.12/145.84 new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) 214.12/145.84 new_primEqInt(Pos(Zero)) -> True 214.12/145.84 new_primEqInt(Pos(Succ(vyv242000))) -> False 214.12/145.84 214.12/145.84 The set Q consists of the following terms: 214.12/145.84 214.12/145.84 new_primModNatS01(x0, x1, Succ(x2), Zero) 214.12/145.84 new_primModNatS1(Succ(Succ(x0)), Zero) 214.12/145.84 new_primEqInt(Pos(Zero)) 214.12/145.84 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 214.12/145.84 new_esEs(Pos(Succ(x0))) 214.12/145.84 new_primModNatS1(Zero, x0) 214.12/145.84 new_primModNatS02(x0, x1) 214.12/145.84 new_primMinusNatS2(Zero, Zero) 214.12/145.84 new_primModNatS1(Succ(Zero), Zero) 214.12/145.84 new_primMinusNatS2(Succ(x0), Zero) 214.12/145.84 new_esEs(Pos(Zero)) 214.12/145.84 new_primEqInt(Neg(Succ(x0))) 214.12/145.84 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 214.12/145.84 new_esEs(Neg(Succ(x0))) 214.12/145.84 new_primEqInt(Neg(Zero)) 214.12/145.84 new_primModNatS01(x0, x1, Zero, Zero) 214.12/145.84 new_primEqInt(Pos(Succ(x0))) 214.12/145.84 new_primMinusNatS2(Zero, Succ(x0)) 214.12/145.84 new_primModNatS1(Succ(Zero), Succ(x0)) 214.12/145.84 new_primMinusNatS2(Succ(x0), Succ(x1)) 214.12/145.84 new_primModNatS01(x0, x1, Zero, Succ(x2)) 214.12/145.84 new_esEs(Neg(Zero)) 214.12/145.84 214.12/145.84 We have to consider all minimal (P,Q,R)-chains. 214.12/145.84 ---------------------------------------- 214.12/145.84 214.12/145.84 (468) TransformationProof (EQUIVALENT) 214.12/145.84 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]: 214.12/145.84 214.12/145.84 (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))))))) 214.12/145.84 214.12/145.84 214.12/145.84 ---------------------------------------- 214.12/145.84 214.12/145.84 (469) 214.12/145.84 Obligation: 214.12/145.84 Q DP problem: 214.12/145.84 The TRS P consists of the following rules: 214.12/145.84 214.12/145.84 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))) 214.12/145.84 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)))) 214.12/145.84 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))))) 214.12/145.84 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)))))) 214.12/145.84 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))))) 214.12/145.84 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))))) 214.12/145.84 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)))))) 214.12/145.84 214.12/145.84 The TRS R consists of the following rules: 214.12/145.84 214.12/145.84 new_primModNatS1(Succ(Succ(vyv293000)), Succ(vyv292000)) -> new_primModNatS01(vyv293000, vyv292000, vyv293000, vyv292000) 214.12/145.84 new_primModNatS01(vyv331, vyv332, Zero, Zero) -> new_primModNatS02(vyv331, vyv332) 214.12/145.84 new_primModNatS02(vyv331, vyv332) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv331), Succ(vyv332)), Succ(vyv332)) 214.12/145.84 new_primModNatS01(vyv331, vyv332, Succ(vyv3330), Succ(vyv3340)) -> new_primModNatS01(vyv331, vyv332, vyv3330, vyv3340) 214.12/145.84 new_primModNatS01(vyv331, vyv332, Succ(vyv3330), Zero) -> new_primModNatS02(vyv331, vyv332) 214.12/145.84 new_primModNatS01(vyv331, vyv332, Zero, Succ(vyv3340)) -> Succ(Succ(vyv331)) 214.12/145.84 new_primMinusNatS2(Succ(vyv3110), Succ(vyv3120)) -> new_primMinusNatS2(vyv3110, vyv3120) 214.12/145.84 new_primModNatS1(Succ(Zero), Succ(vyv292000)) -> Succ(Zero) 214.12/145.84 new_primModNatS1(Zero, vyv29200) -> Zero 214.12/145.84 new_primMinusNatS2(Zero, Zero) -> Zero 214.12/145.84 new_primMinusNatS2(Zero, Succ(vyv3120)) -> Zero 214.12/145.84 new_primMinusNatS2(Succ(vyv3110), Zero) -> Succ(vyv3110) 214.12/145.84 new_esEs(Pos(Succ(vyv24300))) -> new_primEqInt(Pos(Succ(vyv24300))) 214.12/145.84 new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) 214.12/145.84 new_primEqInt(Pos(Zero)) -> True 214.12/145.84 new_primEqInt(Pos(Succ(vyv242000))) -> False 214.12/145.84 214.12/145.84 The set Q consists of the following terms: 214.12/145.84 214.12/145.84 new_primModNatS01(x0, x1, Succ(x2), Zero) 214.12/145.84 new_primModNatS1(Succ(Succ(x0)), Zero) 214.12/145.84 new_primEqInt(Pos(Zero)) 214.12/145.84 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 214.12/145.84 new_esEs(Pos(Succ(x0))) 214.12/145.84 new_primModNatS1(Zero, x0) 214.12/145.84 new_primModNatS02(x0, x1) 214.12/145.84 new_primMinusNatS2(Zero, Zero) 214.12/145.84 new_primModNatS1(Succ(Zero), Zero) 214.12/145.84 new_primMinusNatS2(Succ(x0), Zero) 214.12/145.84 new_esEs(Pos(Zero)) 214.12/145.84 new_primEqInt(Neg(Succ(x0))) 214.12/145.84 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 214.12/145.84 new_esEs(Neg(Succ(x0))) 214.12/145.84 new_primEqInt(Neg(Zero)) 214.12/145.84 new_primModNatS01(x0, x1, Zero, Zero) 214.12/145.84 new_primEqInt(Pos(Succ(x0))) 214.12/145.84 new_primMinusNatS2(Zero, Succ(x0)) 214.12/145.84 new_primModNatS1(Succ(Zero), Succ(x0)) 214.12/145.84 new_primMinusNatS2(Succ(x0), Succ(x1)) 214.12/145.84 new_primModNatS01(x0, x1, Zero, Succ(x2)) 214.12/145.84 new_esEs(Neg(Zero)) 214.12/145.84 214.12/145.84 We have to consider all minimal (P,Q,R)-chains. 214.12/145.84 ---------------------------------------- 214.12/145.84 214.12/145.84 (470) TransformationProof (EQUIVALENT) 214.12/145.84 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]: 214.12/145.84 214.12/145.84 (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)))))) 214.12/145.84 214.12/145.84 214.12/145.84 ---------------------------------------- 214.12/145.84 214.12/145.84 (471) 214.12/145.84 Obligation: 214.12/145.84 Q DP problem: 214.12/145.84 The TRS P consists of the following rules: 214.12/145.84 214.12/145.84 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))) 214.12/145.84 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)))) 214.12/145.84 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))))) 214.12/145.84 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)))))) 214.12/145.84 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))))) 214.12/145.84 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)))))) 214.12/145.84 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))))) 214.12/145.84 214.12/145.84 The TRS R consists of the following rules: 214.12/145.84 214.12/145.84 new_primModNatS1(Succ(Succ(vyv293000)), Succ(vyv292000)) -> new_primModNatS01(vyv293000, vyv292000, vyv293000, vyv292000) 214.12/145.84 new_primModNatS01(vyv331, vyv332, Zero, Zero) -> new_primModNatS02(vyv331, vyv332) 214.12/145.84 new_primModNatS02(vyv331, vyv332) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv331), Succ(vyv332)), Succ(vyv332)) 214.12/145.84 new_primModNatS01(vyv331, vyv332, Succ(vyv3330), Succ(vyv3340)) -> new_primModNatS01(vyv331, vyv332, vyv3330, vyv3340) 214.12/145.84 new_primModNatS01(vyv331, vyv332, Succ(vyv3330), Zero) -> new_primModNatS02(vyv331, vyv332) 214.12/145.84 new_primModNatS01(vyv331, vyv332, Zero, Succ(vyv3340)) -> Succ(Succ(vyv331)) 214.12/145.84 new_primMinusNatS2(Succ(vyv3110), Succ(vyv3120)) -> new_primMinusNatS2(vyv3110, vyv3120) 214.12/145.84 new_primModNatS1(Succ(Zero), Succ(vyv292000)) -> Succ(Zero) 214.12/145.84 new_primModNatS1(Zero, vyv29200) -> Zero 214.12/145.84 new_primMinusNatS2(Zero, Zero) -> Zero 214.12/145.84 new_primMinusNatS2(Zero, Succ(vyv3120)) -> Zero 214.12/145.84 new_primMinusNatS2(Succ(vyv3110), Zero) -> Succ(vyv3110) 214.12/145.84 new_esEs(Pos(Succ(vyv24300))) -> new_primEqInt(Pos(Succ(vyv24300))) 214.12/145.84 new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) 214.12/145.84 new_primEqInt(Pos(Zero)) -> True 214.12/145.84 new_primEqInt(Pos(Succ(vyv242000))) -> False 214.12/145.84 214.12/145.84 The set Q consists of the following terms: 214.12/145.84 214.12/145.84 new_primModNatS01(x0, x1, Succ(x2), Zero) 214.12/145.84 new_primModNatS1(Succ(Succ(x0)), Zero) 214.12/145.84 new_primEqInt(Pos(Zero)) 214.12/145.84 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 214.12/145.84 new_esEs(Pos(Succ(x0))) 214.12/145.84 new_primModNatS1(Zero, x0) 214.12/145.84 new_primModNatS02(x0, x1) 214.12/145.84 new_primMinusNatS2(Zero, Zero) 214.12/145.84 new_primModNatS1(Succ(Zero), Zero) 214.12/145.84 new_primMinusNatS2(Succ(x0), Zero) 214.12/145.84 new_esEs(Pos(Zero)) 214.12/145.84 new_primEqInt(Neg(Succ(x0))) 214.12/145.84 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 214.12/145.84 new_esEs(Neg(Succ(x0))) 214.12/145.84 new_primEqInt(Neg(Zero)) 214.12/145.84 new_primModNatS01(x0, x1, Zero, Zero) 214.12/145.84 new_primEqInt(Pos(Succ(x0))) 214.12/145.84 new_primMinusNatS2(Zero, Succ(x0)) 214.12/145.84 new_primModNatS1(Succ(Zero), Succ(x0)) 214.12/145.84 new_primMinusNatS2(Succ(x0), Succ(x1)) 214.12/145.84 new_primModNatS01(x0, x1, Zero, Succ(x2)) 214.12/145.84 new_esEs(Neg(Zero)) 214.12/145.84 214.12/145.84 We have to consider all minimal (P,Q,R)-chains. 214.12/145.84 ---------------------------------------- 214.12/145.84 214.12/145.84 (472) TransformationProof (EQUIVALENT) 214.12/145.84 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]: 214.12/145.84 214.12/145.84 (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))))))) 214.12/145.84 214.12/145.84 214.12/145.84 ---------------------------------------- 214.12/145.84 214.12/145.84 (473) 214.12/145.84 Obligation: 214.12/145.84 Q DP problem: 214.12/145.84 The TRS P consists of the following rules: 214.12/145.84 214.12/145.84 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))) 214.12/145.84 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)))) 214.12/145.84 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))))) 214.12/145.84 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)))))) 214.12/145.84 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))))) 214.12/145.84 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))))) 214.12/145.84 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)))))) 214.12/145.84 214.12/145.84 The TRS R consists of the following rules: 214.12/145.84 214.12/145.84 new_primModNatS1(Succ(Succ(vyv293000)), Succ(vyv292000)) -> new_primModNatS01(vyv293000, vyv292000, vyv293000, vyv292000) 214.12/145.84 new_primModNatS01(vyv331, vyv332, Zero, Zero) -> new_primModNatS02(vyv331, vyv332) 214.12/145.84 new_primModNatS02(vyv331, vyv332) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv331), Succ(vyv332)), Succ(vyv332)) 214.12/145.84 new_primModNatS01(vyv331, vyv332, Succ(vyv3330), Succ(vyv3340)) -> new_primModNatS01(vyv331, vyv332, vyv3330, vyv3340) 214.12/145.84 new_primModNatS01(vyv331, vyv332, Succ(vyv3330), Zero) -> new_primModNatS02(vyv331, vyv332) 214.12/145.84 new_primModNatS01(vyv331, vyv332, Zero, Succ(vyv3340)) -> Succ(Succ(vyv331)) 214.12/145.84 new_primMinusNatS2(Succ(vyv3110), Succ(vyv3120)) -> new_primMinusNatS2(vyv3110, vyv3120) 214.12/145.84 new_primModNatS1(Succ(Zero), Succ(vyv292000)) -> Succ(Zero) 214.12/145.84 new_primModNatS1(Zero, vyv29200) -> Zero 214.12/145.84 new_primMinusNatS2(Zero, Zero) -> Zero 214.12/145.84 new_primMinusNatS2(Zero, Succ(vyv3120)) -> Zero 214.12/145.84 new_primMinusNatS2(Succ(vyv3110), Zero) -> Succ(vyv3110) 214.12/145.84 new_esEs(Pos(Succ(vyv24300))) -> new_primEqInt(Pos(Succ(vyv24300))) 214.12/145.84 new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) 214.12/145.84 new_primEqInt(Pos(Zero)) -> True 214.12/145.84 new_primEqInt(Pos(Succ(vyv242000))) -> False 214.12/145.84 214.12/145.84 The set Q consists of the following terms: 214.12/145.84 214.12/145.84 new_primModNatS01(x0, x1, Succ(x2), Zero) 214.12/145.84 new_primModNatS1(Succ(Succ(x0)), Zero) 214.12/145.84 new_primEqInt(Pos(Zero)) 214.12/145.84 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 214.12/145.84 new_esEs(Pos(Succ(x0))) 214.12/145.84 new_primModNatS1(Zero, x0) 214.12/145.84 new_primModNatS02(x0, x1) 214.12/145.84 new_primMinusNatS2(Zero, Zero) 214.12/145.84 new_primModNatS1(Succ(Zero), Zero) 214.12/145.84 new_primMinusNatS2(Succ(x0), Zero) 214.12/145.84 new_esEs(Pos(Zero)) 214.12/145.84 new_primEqInt(Neg(Succ(x0))) 214.12/145.84 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 214.12/145.84 new_esEs(Neg(Succ(x0))) 214.12/145.84 new_primEqInt(Neg(Zero)) 214.12/145.84 new_primModNatS01(x0, x1, Zero, Zero) 214.12/145.84 new_primEqInt(Pos(Succ(x0))) 214.12/145.84 new_primMinusNatS2(Zero, Succ(x0)) 214.12/145.84 new_primModNatS1(Succ(Zero), Succ(x0)) 214.12/145.84 new_primMinusNatS2(Succ(x0), Succ(x1)) 214.12/145.84 new_primModNatS01(x0, x1, Zero, Succ(x2)) 214.12/145.84 new_esEs(Neg(Zero)) 214.12/145.84 214.12/145.84 We have to consider all minimal (P,Q,R)-chains. 214.12/145.84 ---------------------------------------- 214.12/145.84 214.12/145.84 (474) TransformationProof (EQUIVALENT) 214.12/145.84 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]: 214.12/145.84 214.12/145.84 (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)))))) 214.12/145.84 214.12/145.84 214.12/145.84 ---------------------------------------- 214.12/145.84 214.12/145.84 (475) 214.12/145.84 Obligation: 214.12/145.84 Q DP problem: 214.12/145.84 The TRS P consists of the following rules: 214.12/145.84 214.12/145.84 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))) 214.12/145.84 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)))) 214.12/145.84 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))))) 214.12/145.84 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)))))) 214.12/145.84 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))))) 214.12/145.84 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)))))) 214.12/145.84 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))))) 214.12/145.84 214.12/145.84 The TRS R consists of the following rules: 214.12/145.84 214.12/145.84 new_primModNatS1(Succ(Succ(vyv293000)), Succ(vyv292000)) -> new_primModNatS01(vyv293000, vyv292000, vyv293000, vyv292000) 214.12/145.84 new_primModNatS01(vyv331, vyv332, Zero, Zero) -> new_primModNatS02(vyv331, vyv332) 214.12/145.84 new_primModNatS02(vyv331, vyv332) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv331), Succ(vyv332)), Succ(vyv332)) 214.12/145.84 new_primModNatS01(vyv331, vyv332, Succ(vyv3330), Succ(vyv3340)) -> new_primModNatS01(vyv331, vyv332, vyv3330, vyv3340) 214.12/145.84 new_primModNatS01(vyv331, vyv332, Succ(vyv3330), Zero) -> new_primModNatS02(vyv331, vyv332) 214.12/145.84 new_primModNatS01(vyv331, vyv332, Zero, Succ(vyv3340)) -> Succ(Succ(vyv331)) 214.12/145.84 new_primMinusNatS2(Succ(vyv3110), Succ(vyv3120)) -> new_primMinusNatS2(vyv3110, vyv3120) 214.12/145.84 new_primModNatS1(Succ(Zero), Succ(vyv292000)) -> Succ(Zero) 214.12/145.84 new_primModNatS1(Zero, vyv29200) -> Zero 214.12/145.84 new_primMinusNatS2(Zero, Zero) -> Zero 214.12/145.84 new_primMinusNatS2(Zero, Succ(vyv3120)) -> Zero 214.12/145.84 new_primMinusNatS2(Succ(vyv3110), Zero) -> Succ(vyv3110) 214.12/145.84 new_esEs(Pos(Succ(vyv24300))) -> new_primEqInt(Pos(Succ(vyv24300))) 214.12/145.84 new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) 214.12/145.84 new_primEqInt(Pos(Zero)) -> True 214.12/145.84 new_primEqInt(Pos(Succ(vyv242000))) -> False 214.12/145.84 214.12/145.84 The set Q consists of the following terms: 214.12/145.84 214.12/145.84 new_primModNatS01(x0, x1, Succ(x2), Zero) 214.12/145.84 new_primModNatS1(Succ(Succ(x0)), Zero) 214.12/145.84 new_primEqInt(Pos(Zero)) 214.12/145.84 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 214.12/145.84 new_esEs(Pos(Succ(x0))) 214.12/145.84 new_primModNatS1(Zero, x0) 214.12/145.84 new_primModNatS02(x0, x1) 214.12/145.84 new_primMinusNatS2(Zero, Zero) 214.12/145.84 new_primModNatS1(Succ(Zero), Zero) 214.12/145.84 new_primMinusNatS2(Succ(x0), Zero) 214.12/145.84 new_esEs(Pos(Zero)) 214.12/145.84 new_primEqInt(Neg(Succ(x0))) 214.12/145.84 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 214.12/145.84 new_esEs(Neg(Succ(x0))) 214.12/145.84 new_primEqInt(Neg(Zero)) 214.12/145.84 new_primModNatS01(x0, x1, Zero, Zero) 214.12/145.84 new_primEqInt(Pos(Succ(x0))) 214.12/145.84 new_primMinusNatS2(Zero, Succ(x0)) 214.12/145.84 new_primModNatS1(Succ(Zero), Succ(x0)) 214.12/145.84 new_primMinusNatS2(Succ(x0), Succ(x1)) 214.12/145.84 new_primModNatS01(x0, x1, Zero, Succ(x2)) 214.12/145.84 new_esEs(Neg(Zero)) 214.12/145.84 214.12/145.84 We have to consider all minimal (P,Q,R)-chains. 214.12/145.84 ---------------------------------------- 214.12/145.84 214.12/145.84 (476) DependencyGraphProof (EQUIVALENT) 214.12/145.84 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. 214.12/145.84 ---------------------------------------- 214.12/145.84 214.12/145.84 (477) 214.12/145.84 Obligation: 214.12/145.84 Q DP problem: 214.12/145.84 The TRS P consists of the following rules: 214.12/145.84 214.12/145.84 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)))) 214.12/145.84 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))) 214.12/145.84 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))))) 214.12/145.84 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)))))) 214.12/145.84 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))))) 214.12/145.84 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)))))) 214.12/145.84 214.12/145.84 The TRS R consists of the following rules: 214.12/145.84 214.12/145.84 new_primModNatS1(Succ(Succ(vyv293000)), Succ(vyv292000)) -> new_primModNatS01(vyv293000, vyv292000, vyv293000, vyv292000) 214.12/145.84 new_primModNatS01(vyv331, vyv332, Zero, Zero) -> new_primModNatS02(vyv331, vyv332) 214.12/145.84 new_primModNatS02(vyv331, vyv332) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv331), Succ(vyv332)), Succ(vyv332)) 214.12/145.84 new_primModNatS01(vyv331, vyv332, Succ(vyv3330), Succ(vyv3340)) -> new_primModNatS01(vyv331, vyv332, vyv3330, vyv3340) 214.12/145.84 new_primModNatS01(vyv331, vyv332, Succ(vyv3330), Zero) -> new_primModNatS02(vyv331, vyv332) 214.12/145.84 new_primModNatS01(vyv331, vyv332, Zero, Succ(vyv3340)) -> Succ(Succ(vyv331)) 214.12/145.84 new_primMinusNatS2(Succ(vyv3110), Succ(vyv3120)) -> new_primMinusNatS2(vyv3110, vyv3120) 214.12/145.84 new_primModNatS1(Succ(Zero), Succ(vyv292000)) -> Succ(Zero) 214.12/145.84 new_primModNatS1(Zero, vyv29200) -> Zero 214.12/145.84 new_primMinusNatS2(Zero, Zero) -> Zero 214.12/145.84 new_primMinusNatS2(Zero, Succ(vyv3120)) -> Zero 214.12/145.84 new_primMinusNatS2(Succ(vyv3110), Zero) -> Succ(vyv3110) 214.12/145.84 new_esEs(Pos(Succ(vyv24300))) -> new_primEqInt(Pos(Succ(vyv24300))) 214.12/145.84 new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) 214.12/145.84 new_primEqInt(Pos(Zero)) -> True 214.12/145.84 new_primEqInt(Pos(Succ(vyv242000))) -> False 214.12/145.84 214.12/145.84 The set Q consists of the following terms: 214.12/145.84 214.12/145.84 new_primModNatS01(x0, x1, Succ(x2), Zero) 214.12/145.84 new_primModNatS1(Succ(Succ(x0)), Zero) 214.12/145.84 new_primEqInt(Pos(Zero)) 214.12/145.84 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 214.12/145.84 new_esEs(Pos(Succ(x0))) 214.12/145.84 new_primModNatS1(Zero, x0) 214.12/145.84 new_primModNatS02(x0, x1) 214.12/145.84 new_primMinusNatS2(Zero, Zero) 214.12/145.84 new_primModNatS1(Succ(Zero), Zero) 214.12/145.84 new_primMinusNatS2(Succ(x0), Zero) 214.12/145.84 new_esEs(Pos(Zero)) 214.12/145.84 new_primEqInt(Neg(Succ(x0))) 214.12/145.84 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 214.12/145.84 new_esEs(Neg(Succ(x0))) 214.12/145.84 new_primEqInt(Neg(Zero)) 214.12/145.84 new_primModNatS01(x0, x1, Zero, Zero) 214.12/145.84 new_primEqInt(Pos(Succ(x0))) 214.12/145.84 new_primMinusNatS2(Zero, Succ(x0)) 214.12/145.84 new_primModNatS1(Succ(Zero), Succ(x0)) 214.12/145.84 new_primMinusNatS2(Succ(x0), Succ(x1)) 214.12/145.84 new_primModNatS01(x0, x1, Zero, Succ(x2)) 214.12/145.84 new_esEs(Neg(Zero)) 214.12/145.84 214.12/145.84 We have to consider all minimal (P,Q,R)-chains. 214.12/145.84 ---------------------------------------- 214.12/145.84 214.12/145.84 (478) TransformationProof (EQUIVALENT) 214.12/145.84 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]: 214.12/145.84 214.12/145.84 (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)))) 214.12/145.84 (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)))) 214.12/145.84 (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)))) 214.12/145.84 (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))))) 214.12/145.84 214.12/145.84 214.12/145.84 ---------------------------------------- 214.12/145.84 214.12/145.84 (479) 214.12/145.84 Obligation: 214.12/145.84 Q DP problem: 214.12/145.84 The TRS P consists of the following rules: 214.12/145.84 214.12/145.84 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)))) 214.12/145.84 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))))) 214.12/145.84 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)))))) 214.12/145.84 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))))) 214.12/145.84 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)))))) 214.12/145.84 new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Pos(new_primModNatS02(Zero, Zero))) 214.12/145.84 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))) 214.12/145.84 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))) 214.12/145.84 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)))) 214.12/145.84 214.12/145.84 The TRS R consists of the following rules: 214.12/145.84 214.12/145.84 new_primModNatS1(Succ(Succ(vyv293000)), Succ(vyv292000)) -> new_primModNatS01(vyv293000, vyv292000, vyv293000, vyv292000) 214.12/145.84 new_primModNatS01(vyv331, vyv332, Zero, Zero) -> new_primModNatS02(vyv331, vyv332) 214.12/145.84 new_primModNatS02(vyv331, vyv332) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv331), Succ(vyv332)), Succ(vyv332)) 214.12/145.84 new_primModNatS01(vyv331, vyv332, Succ(vyv3330), Succ(vyv3340)) -> new_primModNatS01(vyv331, vyv332, vyv3330, vyv3340) 214.12/145.84 new_primModNatS01(vyv331, vyv332, Succ(vyv3330), Zero) -> new_primModNatS02(vyv331, vyv332) 214.12/145.84 new_primModNatS01(vyv331, vyv332, Zero, Succ(vyv3340)) -> Succ(Succ(vyv331)) 214.12/145.84 new_primMinusNatS2(Succ(vyv3110), Succ(vyv3120)) -> new_primMinusNatS2(vyv3110, vyv3120) 214.12/145.84 new_primModNatS1(Succ(Zero), Succ(vyv292000)) -> Succ(Zero) 214.12/145.84 new_primModNatS1(Zero, vyv29200) -> Zero 214.12/145.84 new_primMinusNatS2(Zero, Zero) -> Zero 214.12/145.84 new_primMinusNatS2(Zero, Succ(vyv3120)) -> Zero 214.12/145.84 new_primMinusNatS2(Succ(vyv3110), Zero) -> Succ(vyv3110) 214.12/145.84 new_esEs(Pos(Succ(vyv24300))) -> new_primEqInt(Pos(Succ(vyv24300))) 214.12/145.84 new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) 214.12/145.84 new_primEqInt(Pos(Zero)) -> True 214.12/145.84 new_primEqInt(Pos(Succ(vyv242000))) -> False 214.12/145.84 214.12/145.84 The set Q consists of the following terms: 214.12/145.84 214.12/145.84 new_primModNatS01(x0, x1, Succ(x2), Zero) 214.12/145.84 new_primModNatS1(Succ(Succ(x0)), Zero) 214.12/145.84 new_primEqInt(Pos(Zero)) 214.12/145.84 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 214.12/145.84 new_esEs(Pos(Succ(x0))) 214.12/145.84 new_primModNatS1(Zero, x0) 214.12/145.84 new_primModNatS02(x0, x1) 214.12/145.84 new_primMinusNatS2(Zero, Zero) 214.12/145.84 new_primModNatS1(Succ(Zero), Zero) 214.12/145.84 new_primMinusNatS2(Succ(x0), Zero) 214.12/145.84 new_esEs(Pos(Zero)) 214.12/145.84 new_primEqInt(Neg(Succ(x0))) 214.12/145.84 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 214.12/145.84 new_esEs(Neg(Succ(x0))) 214.12/145.84 new_primEqInt(Neg(Zero)) 214.12/145.84 new_primModNatS01(x0, x1, Zero, Zero) 214.12/145.84 new_primEqInt(Pos(Succ(x0))) 214.12/145.84 new_primMinusNatS2(Zero, Succ(x0)) 214.12/145.84 new_primModNatS1(Succ(Zero), Succ(x0)) 214.12/145.84 new_primMinusNatS2(Succ(x0), Succ(x1)) 214.12/145.84 new_primModNatS01(x0, x1, Zero, Succ(x2)) 214.12/145.84 new_esEs(Neg(Zero)) 214.12/145.84 214.12/145.84 We have to consider all minimal (P,Q,R)-chains. 214.12/145.84 ---------------------------------------- 214.12/145.84 214.12/145.84 (480) DependencyGraphProof (EQUIVALENT) 214.12/145.84 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 2 SCCs with 1 less node. 214.12/145.84 ---------------------------------------- 214.12/145.84 214.12/145.84 (481) 214.12/145.84 Complex Obligation (AND) 214.12/145.84 214.12/145.84 ---------------------------------------- 214.12/145.84 214.12/145.84 (482) 214.12/145.84 Obligation: 214.12/145.84 Q DP problem: 214.12/145.84 The TRS P consists of the following rules: 214.12/145.84 214.12/145.84 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)))) 214.12/145.84 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))))) 214.12/145.84 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))) 214.12/145.84 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)))) 214.12/145.84 214.12/145.84 The TRS R consists of the following rules: 214.12/145.84 214.12/145.84 new_primModNatS1(Succ(Succ(vyv293000)), Succ(vyv292000)) -> new_primModNatS01(vyv293000, vyv292000, vyv293000, vyv292000) 214.12/145.84 new_primModNatS01(vyv331, vyv332, Zero, Zero) -> new_primModNatS02(vyv331, vyv332) 214.12/145.84 new_primModNatS02(vyv331, vyv332) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv331), Succ(vyv332)), Succ(vyv332)) 214.12/145.84 new_primModNatS01(vyv331, vyv332, Succ(vyv3330), Succ(vyv3340)) -> new_primModNatS01(vyv331, vyv332, vyv3330, vyv3340) 214.12/145.84 new_primModNatS01(vyv331, vyv332, Succ(vyv3330), Zero) -> new_primModNatS02(vyv331, vyv332) 214.12/145.84 new_primModNatS01(vyv331, vyv332, Zero, Succ(vyv3340)) -> Succ(Succ(vyv331)) 214.12/145.84 new_primMinusNatS2(Succ(vyv3110), Succ(vyv3120)) -> new_primMinusNatS2(vyv3110, vyv3120) 214.12/145.84 new_primModNatS1(Succ(Zero), Succ(vyv292000)) -> Succ(Zero) 214.12/145.84 new_primModNatS1(Zero, vyv29200) -> Zero 214.12/145.84 new_primMinusNatS2(Zero, Zero) -> Zero 214.12/145.84 new_primMinusNatS2(Zero, Succ(vyv3120)) -> Zero 214.12/145.84 new_primMinusNatS2(Succ(vyv3110), Zero) -> Succ(vyv3110) 214.12/145.84 new_esEs(Pos(Succ(vyv24300))) -> new_primEqInt(Pos(Succ(vyv24300))) 214.12/145.84 new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) 214.12/145.84 new_primEqInt(Pos(Zero)) -> True 214.12/145.84 new_primEqInt(Pos(Succ(vyv242000))) -> False 214.12/145.84 214.12/145.84 The set Q consists of the following terms: 214.12/145.84 214.12/145.84 new_primModNatS01(x0, x1, Succ(x2), Zero) 214.12/145.84 new_primModNatS1(Succ(Succ(x0)), Zero) 214.12/145.84 new_primEqInt(Pos(Zero)) 214.12/145.84 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 214.12/145.84 new_esEs(Pos(Succ(x0))) 214.12/145.84 new_primModNatS1(Zero, x0) 214.12/145.84 new_primModNatS02(x0, x1) 214.12/145.84 new_primMinusNatS2(Zero, Zero) 214.12/145.84 new_primModNatS1(Succ(Zero), Zero) 214.12/145.84 new_primMinusNatS2(Succ(x0), Zero) 214.12/145.84 new_esEs(Pos(Zero)) 214.12/145.84 new_primEqInt(Neg(Succ(x0))) 214.12/145.84 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 214.12/145.84 new_esEs(Neg(Succ(x0))) 214.12/145.84 new_primEqInt(Neg(Zero)) 214.12/145.84 new_primModNatS01(x0, x1, Zero, Zero) 214.12/145.84 new_primEqInt(Pos(Succ(x0))) 214.12/145.84 new_primMinusNatS2(Zero, Succ(x0)) 214.12/145.84 new_primModNatS1(Succ(Zero), Succ(x0)) 214.12/145.84 new_primMinusNatS2(Succ(x0), Succ(x1)) 214.12/145.84 new_primModNatS01(x0, x1, Zero, Succ(x2)) 214.12/145.84 new_esEs(Neg(Zero)) 214.12/145.84 214.12/145.84 We have to consider all minimal (P,Q,R)-chains. 214.12/145.84 ---------------------------------------- 214.12/145.84 214.12/145.84 (483) TransformationProof (EQUIVALENT) 214.12/145.84 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]: 214.12/145.84 214.12/145.84 (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))))) 214.12/145.84 214.12/145.84 214.12/145.84 ---------------------------------------- 214.12/145.84 214.12/145.84 (484) 214.12/145.84 Obligation: 214.12/145.84 Q DP problem: 214.12/145.84 The TRS P consists of the following rules: 214.12/145.84 214.12/145.84 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)))) 214.12/145.84 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))))) 214.12/145.84 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)))) 214.12/145.84 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)))) 214.12/145.84 214.12/145.84 The TRS R consists of the following rules: 214.12/145.84 214.12/145.84 new_primModNatS1(Succ(Succ(vyv293000)), Succ(vyv292000)) -> new_primModNatS01(vyv293000, vyv292000, vyv293000, vyv292000) 214.12/145.84 new_primModNatS01(vyv331, vyv332, Zero, Zero) -> new_primModNatS02(vyv331, vyv332) 214.12/145.84 new_primModNatS02(vyv331, vyv332) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv331), Succ(vyv332)), Succ(vyv332)) 214.12/145.84 new_primModNatS01(vyv331, vyv332, Succ(vyv3330), Succ(vyv3340)) -> new_primModNatS01(vyv331, vyv332, vyv3330, vyv3340) 214.12/145.84 new_primModNatS01(vyv331, vyv332, Succ(vyv3330), Zero) -> new_primModNatS02(vyv331, vyv332) 214.12/145.84 new_primModNatS01(vyv331, vyv332, Zero, Succ(vyv3340)) -> Succ(Succ(vyv331)) 214.12/145.84 new_primMinusNatS2(Succ(vyv3110), Succ(vyv3120)) -> new_primMinusNatS2(vyv3110, vyv3120) 214.12/145.84 new_primModNatS1(Succ(Zero), Succ(vyv292000)) -> Succ(Zero) 214.12/145.84 new_primModNatS1(Zero, vyv29200) -> Zero 214.12/145.84 new_primMinusNatS2(Zero, Zero) -> Zero 214.12/145.84 new_primMinusNatS2(Zero, Succ(vyv3120)) -> Zero 214.12/145.84 new_primMinusNatS2(Succ(vyv3110), Zero) -> Succ(vyv3110) 214.12/145.84 new_esEs(Pos(Succ(vyv24300))) -> new_primEqInt(Pos(Succ(vyv24300))) 214.12/145.84 new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) 214.12/145.84 new_primEqInt(Pos(Zero)) -> True 214.12/145.84 new_primEqInt(Pos(Succ(vyv242000))) -> False 214.12/145.84 214.12/145.84 The set Q consists of the following terms: 214.12/145.84 214.12/145.84 new_primModNatS01(x0, x1, Succ(x2), Zero) 214.12/145.84 new_primModNatS1(Succ(Succ(x0)), Zero) 214.12/145.84 new_primEqInt(Pos(Zero)) 214.12/145.84 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 214.12/145.84 new_esEs(Pos(Succ(x0))) 214.12/145.84 new_primModNatS1(Zero, x0) 214.12/145.84 new_primModNatS02(x0, x1) 214.12/145.84 new_primMinusNatS2(Zero, Zero) 214.12/145.84 new_primModNatS1(Succ(Zero), Zero) 214.12/145.84 new_primMinusNatS2(Succ(x0), Zero) 214.12/145.84 new_esEs(Pos(Zero)) 214.12/145.84 new_primEqInt(Neg(Succ(x0))) 214.12/145.84 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 214.12/145.84 new_esEs(Neg(Succ(x0))) 214.12/145.84 new_primEqInt(Neg(Zero)) 214.12/145.84 new_primModNatS01(x0, x1, Zero, Zero) 214.12/145.84 new_primEqInt(Pos(Succ(x0))) 214.12/145.84 new_primMinusNatS2(Zero, Succ(x0)) 214.12/145.84 new_primModNatS1(Succ(Zero), Succ(x0)) 214.12/145.84 new_primMinusNatS2(Succ(x0), Succ(x1)) 214.12/145.84 new_primModNatS01(x0, x1, Zero, Succ(x2)) 214.12/145.84 new_esEs(Neg(Zero)) 214.12/145.84 214.12/145.84 We have to consider all minimal (P,Q,R)-chains. 214.12/145.84 ---------------------------------------- 214.12/145.84 214.12/145.84 (485) TransformationProof (EQUIVALENT) 214.12/145.84 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]: 214.12/145.84 214.12/145.84 (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))))) 214.12/145.84 214.12/145.84 214.12/145.84 ---------------------------------------- 214.12/145.84 214.12/145.84 (486) 214.12/145.84 Obligation: 214.12/145.84 Q DP problem: 214.12/145.84 The TRS P consists of the following rules: 214.12/145.84 214.12/145.84 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)))) 214.12/145.84 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))))) 214.12/145.84 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)))) 214.12/145.84 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)))) 214.12/145.84 214.12/145.84 The TRS R consists of the following rules: 214.12/145.84 214.12/145.84 new_primModNatS1(Succ(Succ(vyv293000)), Succ(vyv292000)) -> new_primModNatS01(vyv293000, vyv292000, vyv293000, vyv292000) 214.12/145.84 new_primModNatS01(vyv331, vyv332, Zero, Zero) -> new_primModNatS02(vyv331, vyv332) 214.12/145.84 new_primModNatS02(vyv331, vyv332) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv331), Succ(vyv332)), Succ(vyv332)) 214.12/145.84 new_primModNatS01(vyv331, vyv332, Succ(vyv3330), Succ(vyv3340)) -> new_primModNatS01(vyv331, vyv332, vyv3330, vyv3340) 214.12/145.84 new_primModNatS01(vyv331, vyv332, Succ(vyv3330), Zero) -> new_primModNatS02(vyv331, vyv332) 214.12/145.84 new_primModNatS01(vyv331, vyv332, Zero, Succ(vyv3340)) -> Succ(Succ(vyv331)) 214.12/145.84 new_primMinusNatS2(Succ(vyv3110), Succ(vyv3120)) -> new_primMinusNatS2(vyv3110, vyv3120) 214.12/145.84 new_primModNatS1(Succ(Zero), Succ(vyv292000)) -> Succ(Zero) 214.12/145.84 new_primModNatS1(Zero, vyv29200) -> Zero 214.12/145.84 new_primMinusNatS2(Zero, Zero) -> Zero 214.12/145.84 new_primMinusNatS2(Zero, Succ(vyv3120)) -> Zero 214.12/145.84 new_primMinusNatS2(Succ(vyv3110), Zero) -> Succ(vyv3110) 214.12/145.84 new_esEs(Pos(Succ(vyv24300))) -> new_primEqInt(Pos(Succ(vyv24300))) 214.12/145.84 new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) 214.12/145.84 new_primEqInt(Pos(Zero)) -> True 214.12/145.84 new_primEqInt(Pos(Succ(vyv242000))) -> False 214.12/145.84 214.12/145.84 The set Q consists of the following terms: 214.12/145.84 214.12/145.84 new_primModNatS01(x0, x1, Succ(x2), Zero) 214.12/145.84 new_primModNatS1(Succ(Succ(x0)), Zero) 214.12/145.84 new_primEqInt(Pos(Zero)) 214.12/145.84 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 214.12/145.84 new_esEs(Pos(Succ(x0))) 214.12/145.84 new_primModNatS1(Zero, x0) 214.12/145.84 new_primModNatS02(x0, x1) 214.12/145.84 new_primMinusNatS2(Zero, Zero) 214.12/145.84 new_primModNatS1(Succ(Zero), Zero) 214.12/145.84 new_primMinusNatS2(Succ(x0), Zero) 214.12/145.84 new_esEs(Pos(Zero)) 214.12/145.84 new_primEqInt(Neg(Succ(x0))) 214.12/145.84 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 214.12/145.84 new_esEs(Neg(Succ(x0))) 214.12/145.84 new_primEqInt(Neg(Zero)) 214.12/145.84 new_primModNatS01(x0, x1, Zero, Zero) 214.12/145.84 new_primEqInt(Pos(Succ(x0))) 214.12/145.84 new_primMinusNatS2(Zero, Succ(x0)) 214.12/145.84 new_primModNatS1(Succ(Zero), Succ(x0)) 214.12/145.84 new_primMinusNatS2(Succ(x0), Succ(x1)) 214.12/145.84 new_primModNatS01(x0, x1, Zero, Succ(x2)) 214.12/145.84 new_esEs(Neg(Zero)) 214.12/145.84 214.12/145.84 We have to consider all minimal (P,Q,R)-chains. 214.12/145.84 ---------------------------------------- 214.12/145.84 214.12/145.84 (487) TransformationProof (EQUIVALENT) 214.12/145.84 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]: 214.12/145.84 214.12/145.84 (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))))) 214.12/145.84 214.12/145.84 214.12/145.84 ---------------------------------------- 214.12/145.84 214.12/145.84 (488) 214.12/145.84 Obligation: 214.12/145.84 Q DP problem: 214.12/145.84 The TRS P consists of the following rules: 214.12/145.84 214.12/145.84 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)))) 214.12/145.84 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))))) 214.12/145.84 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)))) 214.12/145.84 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)))) 214.12/145.84 214.12/145.84 The TRS R consists of the following rules: 214.12/145.84 214.12/145.84 new_primModNatS1(Succ(Succ(vyv293000)), Succ(vyv292000)) -> new_primModNatS01(vyv293000, vyv292000, vyv293000, vyv292000) 214.12/145.84 new_primModNatS01(vyv331, vyv332, Zero, Zero) -> new_primModNatS02(vyv331, vyv332) 214.12/145.84 new_primModNatS02(vyv331, vyv332) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv331), Succ(vyv332)), Succ(vyv332)) 214.12/145.84 new_primModNatS01(vyv331, vyv332, Succ(vyv3330), Succ(vyv3340)) -> new_primModNatS01(vyv331, vyv332, vyv3330, vyv3340) 214.12/145.84 new_primModNatS01(vyv331, vyv332, Succ(vyv3330), Zero) -> new_primModNatS02(vyv331, vyv332) 214.12/145.84 new_primModNatS01(vyv331, vyv332, Zero, Succ(vyv3340)) -> Succ(Succ(vyv331)) 214.12/145.84 new_primMinusNatS2(Succ(vyv3110), Succ(vyv3120)) -> new_primMinusNatS2(vyv3110, vyv3120) 214.12/145.84 new_primModNatS1(Succ(Zero), Succ(vyv292000)) -> Succ(Zero) 214.12/145.84 new_primModNatS1(Zero, vyv29200) -> Zero 214.12/145.84 new_primMinusNatS2(Zero, Zero) -> Zero 214.12/145.84 new_primMinusNatS2(Zero, Succ(vyv3120)) -> Zero 214.12/145.84 new_primMinusNatS2(Succ(vyv3110), Zero) -> Succ(vyv3110) 214.12/145.84 new_esEs(Pos(Succ(vyv24300))) -> new_primEqInt(Pos(Succ(vyv24300))) 214.12/145.84 new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) 214.12/145.84 new_primEqInt(Pos(Zero)) -> True 214.12/145.84 new_primEqInt(Pos(Succ(vyv242000))) -> False 214.12/145.84 214.12/145.84 The set Q consists of the following terms: 214.12/145.84 214.12/145.84 new_primModNatS01(x0, x1, Succ(x2), Zero) 214.12/145.84 new_primModNatS1(Succ(Succ(x0)), Zero) 214.12/145.84 new_primEqInt(Pos(Zero)) 214.12/145.84 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 214.12/145.84 new_esEs(Pos(Succ(x0))) 214.12/145.84 new_primModNatS1(Zero, x0) 214.12/145.84 new_primModNatS02(x0, x1) 214.12/145.84 new_primMinusNatS2(Zero, Zero) 214.12/145.84 new_primModNatS1(Succ(Zero), Zero) 214.12/145.84 new_primMinusNatS2(Succ(x0), Zero) 214.12/145.84 new_esEs(Pos(Zero)) 214.12/145.84 new_primEqInt(Neg(Succ(x0))) 214.12/145.84 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 214.12/145.84 new_esEs(Neg(Succ(x0))) 214.12/145.84 new_primEqInt(Neg(Zero)) 214.12/145.84 new_primModNatS01(x0, x1, Zero, Zero) 214.12/145.84 new_primEqInt(Pos(Succ(x0))) 214.12/145.84 new_primMinusNatS2(Zero, Succ(x0)) 214.12/145.84 new_primModNatS1(Succ(Zero), Succ(x0)) 214.12/145.84 new_primMinusNatS2(Succ(x0), Succ(x1)) 214.12/145.84 new_primModNatS01(x0, x1, Zero, Succ(x2)) 214.12/145.84 new_esEs(Neg(Zero)) 214.12/145.84 214.12/145.84 We have to consider all minimal (P,Q,R)-chains. 214.12/145.84 ---------------------------------------- 214.12/145.84 214.12/145.84 (489) TransformationProof (EQUIVALENT) 214.12/145.84 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]: 214.12/145.84 214.12/145.84 (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))))))) 214.12/145.84 (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)))))) 214.12/145.84 214.12/145.84 214.12/145.84 ---------------------------------------- 214.12/145.84 214.12/145.84 (490) 214.12/145.84 Obligation: 214.12/145.84 Q DP problem: 214.12/145.84 The TRS P consists of the following rules: 214.12/145.84 214.12/145.84 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)))) 214.12/145.84 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)))) 214.12/145.84 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)))) 214.12/145.84 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)))))) 214.12/145.84 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))))) 214.12/145.84 214.12/145.84 The TRS R consists of the following rules: 214.12/145.84 214.12/145.84 new_primModNatS1(Succ(Succ(vyv293000)), Succ(vyv292000)) -> new_primModNatS01(vyv293000, vyv292000, vyv293000, vyv292000) 214.12/145.84 new_primModNatS01(vyv331, vyv332, Zero, Zero) -> new_primModNatS02(vyv331, vyv332) 214.12/145.84 new_primModNatS02(vyv331, vyv332) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv331), Succ(vyv332)), Succ(vyv332)) 214.12/145.84 new_primModNatS01(vyv331, vyv332, Succ(vyv3330), Succ(vyv3340)) -> new_primModNatS01(vyv331, vyv332, vyv3330, vyv3340) 214.12/145.84 new_primModNatS01(vyv331, vyv332, Succ(vyv3330), Zero) -> new_primModNatS02(vyv331, vyv332) 214.12/145.84 new_primModNatS01(vyv331, vyv332, Zero, Succ(vyv3340)) -> Succ(Succ(vyv331)) 214.12/145.84 new_primMinusNatS2(Succ(vyv3110), Succ(vyv3120)) -> new_primMinusNatS2(vyv3110, vyv3120) 214.12/145.84 new_primModNatS1(Succ(Zero), Succ(vyv292000)) -> Succ(Zero) 214.12/145.84 new_primModNatS1(Zero, vyv29200) -> Zero 214.12/145.84 new_primMinusNatS2(Zero, Zero) -> Zero 214.12/145.84 new_primMinusNatS2(Zero, Succ(vyv3120)) -> Zero 214.12/145.84 new_primMinusNatS2(Succ(vyv3110), Zero) -> Succ(vyv3110) 214.12/145.84 new_esEs(Pos(Succ(vyv24300))) -> new_primEqInt(Pos(Succ(vyv24300))) 214.12/145.84 new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) 214.12/145.84 new_primEqInt(Pos(Zero)) -> True 214.12/145.84 new_primEqInt(Pos(Succ(vyv242000))) -> False 214.12/145.84 214.12/145.84 The set Q consists of the following terms: 214.12/145.84 214.12/145.84 new_primModNatS01(x0, x1, Succ(x2), Zero) 214.12/145.84 new_primModNatS1(Succ(Succ(x0)), Zero) 214.12/145.84 new_primEqInt(Pos(Zero)) 214.12/145.84 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 214.12/145.84 new_esEs(Pos(Succ(x0))) 214.12/145.84 new_primModNatS1(Zero, x0) 214.12/145.84 new_primModNatS02(x0, x1) 214.12/145.84 new_primMinusNatS2(Zero, Zero) 214.12/145.84 new_primModNatS1(Succ(Zero), Zero) 214.12/145.84 new_primMinusNatS2(Succ(x0), Zero) 214.12/145.84 new_esEs(Pos(Zero)) 214.12/145.84 new_primEqInt(Neg(Succ(x0))) 214.12/145.84 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 214.12/145.84 new_esEs(Neg(Succ(x0))) 214.12/145.84 new_primEqInt(Neg(Zero)) 214.12/145.84 new_primModNatS01(x0, x1, Zero, Zero) 214.12/145.84 new_primEqInt(Pos(Succ(x0))) 214.12/145.84 new_primMinusNatS2(Zero, Succ(x0)) 214.12/145.84 new_primModNatS1(Succ(Zero), Succ(x0)) 214.12/145.84 new_primMinusNatS2(Succ(x0), Succ(x1)) 214.12/145.84 new_primModNatS01(x0, x1, Zero, Succ(x2)) 214.12/145.84 new_esEs(Neg(Zero)) 214.12/145.84 214.12/145.84 We have to consider all minimal (P,Q,R)-chains. 214.12/145.84 ---------------------------------------- 214.12/145.84 214.12/145.84 (491) TransformationProof (EQUIVALENT) 214.12/145.84 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]: 214.12/145.84 214.12/145.84 (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)))))) 214.12/145.84 214.12/145.84 214.12/145.84 ---------------------------------------- 214.12/145.84 214.12/145.84 (492) 214.12/145.84 Obligation: 214.12/145.84 Q DP problem: 214.12/145.84 The TRS P consists of the following rules: 214.12/145.84 214.12/145.84 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)))) 214.12/145.84 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)))) 214.12/145.84 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)))) 214.12/145.84 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)))))) 214.12/145.84 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))))) 214.12/145.84 214.12/145.84 The TRS R consists of the following rules: 214.12/145.84 214.12/145.84 new_primModNatS1(Succ(Succ(vyv293000)), Succ(vyv292000)) -> new_primModNatS01(vyv293000, vyv292000, vyv293000, vyv292000) 214.12/145.84 new_primModNatS01(vyv331, vyv332, Zero, Zero) -> new_primModNatS02(vyv331, vyv332) 214.12/145.84 new_primModNatS02(vyv331, vyv332) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv331), Succ(vyv332)), Succ(vyv332)) 214.12/145.84 new_primModNatS01(vyv331, vyv332, Succ(vyv3330), Succ(vyv3340)) -> new_primModNatS01(vyv331, vyv332, vyv3330, vyv3340) 214.12/145.84 new_primModNatS01(vyv331, vyv332, Succ(vyv3330), Zero) -> new_primModNatS02(vyv331, vyv332) 214.12/145.84 new_primModNatS01(vyv331, vyv332, Zero, Succ(vyv3340)) -> Succ(Succ(vyv331)) 214.12/145.84 new_primMinusNatS2(Succ(vyv3110), Succ(vyv3120)) -> new_primMinusNatS2(vyv3110, vyv3120) 214.12/145.84 new_primModNatS1(Succ(Zero), Succ(vyv292000)) -> Succ(Zero) 214.12/145.84 new_primModNatS1(Zero, vyv29200) -> Zero 214.12/145.84 new_primMinusNatS2(Zero, Zero) -> Zero 214.12/145.84 new_primMinusNatS2(Zero, Succ(vyv3120)) -> Zero 214.12/145.84 new_primMinusNatS2(Succ(vyv3110), Zero) -> Succ(vyv3110) 214.12/145.84 new_esEs(Pos(Succ(vyv24300))) -> new_primEqInt(Pos(Succ(vyv24300))) 214.12/145.84 new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) 214.12/145.84 new_primEqInt(Pos(Zero)) -> True 214.12/145.84 new_primEqInt(Pos(Succ(vyv242000))) -> False 214.12/145.84 214.12/145.84 The set Q consists of the following terms: 214.12/145.84 214.12/145.84 new_primModNatS01(x0, x1, Succ(x2), Zero) 214.12/145.84 new_primModNatS1(Succ(Succ(x0)), Zero) 214.12/145.84 new_primEqInt(Pos(Zero)) 214.12/145.84 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 214.12/145.84 new_esEs(Pos(Succ(x0))) 214.12/145.84 new_primModNatS1(Zero, x0) 214.12/145.84 new_primModNatS02(x0, x1) 214.12/145.84 new_primMinusNatS2(Zero, Zero) 214.12/145.84 new_primModNatS1(Succ(Zero), Zero) 214.12/145.84 new_primMinusNatS2(Succ(x0), Zero) 214.12/145.84 new_esEs(Pos(Zero)) 214.12/145.84 new_primEqInt(Neg(Succ(x0))) 214.12/145.84 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 214.12/145.84 new_esEs(Neg(Succ(x0))) 214.12/145.84 new_primEqInt(Neg(Zero)) 214.12/145.84 new_primModNatS01(x0, x1, Zero, Zero) 214.12/145.84 new_primEqInt(Pos(Succ(x0))) 214.12/145.84 new_primMinusNatS2(Zero, Succ(x0)) 214.12/145.84 new_primModNatS1(Succ(Zero), Succ(x0)) 214.12/145.84 new_primMinusNatS2(Succ(x0), Succ(x1)) 214.12/145.84 new_primModNatS01(x0, x1, Zero, Succ(x2)) 214.12/145.84 new_esEs(Neg(Zero)) 214.12/145.84 214.12/145.84 We have to consider all minimal (P,Q,R)-chains. 214.12/145.84 ---------------------------------------- 214.12/145.84 214.12/145.84 (493) TransformationProof (EQUIVALENT) 214.12/145.84 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]: 214.12/145.84 214.12/145.84 (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)))))) 214.12/145.84 214.12/145.84 214.12/145.84 ---------------------------------------- 214.12/145.84 214.12/145.84 (494) 214.12/145.84 Obligation: 214.12/145.84 Q DP problem: 214.12/145.84 The TRS P consists of the following rules: 214.12/145.84 214.12/145.84 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)))) 214.12/145.84 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)))) 214.12/145.84 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)))) 214.12/145.84 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)))))) 214.12/145.85 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))))) 214.12/145.85 214.12/145.85 The TRS R consists of the following rules: 214.12/145.85 214.12/145.85 new_primModNatS1(Succ(Succ(vyv293000)), Succ(vyv292000)) -> new_primModNatS01(vyv293000, vyv292000, vyv293000, vyv292000) 214.12/145.85 new_primModNatS01(vyv331, vyv332, Zero, Zero) -> new_primModNatS02(vyv331, vyv332) 214.12/145.85 new_primModNatS02(vyv331, vyv332) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv331), Succ(vyv332)), Succ(vyv332)) 214.12/145.85 new_primModNatS01(vyv331, vyv332, Succ(vyv3330), Succ(vyv3340)) -> new_primModNatS01(vyv331, vyv332, vyv3330, vyv3340) 214.12/145.85 new_primModNatS01(vyv331, vyv332, Succ(vyv3330), Zero) -> new_primModNatS02(vyv331, vyv332) 214.12/145.85 new_primModNatS01(vyv331, vyv332, Zero, Succ(vyv3340)) -> Succ(Succ(vyv331)) 214.12/145.85 new_primMinusNatS2(Succ(vyv3110), Succ(vyv3120)) -> new_primMinusNatS2(vyv3110, vyv3120) 214.12/145.85 new_primModNatS1(Succ(Zero), Succ(vyv292000)) -> Succ(Zero) 214.12/145.85 new_primModNatS1(Zero, vyv29200) -> Zero 214.12/145.85 new_primMinusNatS2(Zero, Zero) -> Zero 214.12/145.85 new_primMinusNatS2(Zero, Succ(vyv3120)) -> Zero 214.12/145.85 new_primMinusNatS2(Succ(vyv3110), Zero) -> Succ(vyv3110) 214.12/145.85 new_esEs(Pos(Succ(vyv24300))) -> new_primEqInt(Pos(Succ(vyv24300))) 214.12/145.85 new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) 214.12/145.85 new_primEqInt(Pos(Zero)) -> True 214.12/145.85 new_primEqInt(Pos(Succ(vyv242000))) -> False 214.12/145.85 214.12/145.85 The set Q consists of the following terms: 214.12/145.85 214.12/145.85 new_primModNatS01(x0, x1, Succ(x2), Zero) 214.12/145.85 new_primModNatS1(Succ(Succ(x0)), Zero) 214.12/145.85 new_primEqInt(Pos(Zero)) 214.12/145.85 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 214.12/145.85 new_esEs(Pos(Succ(x0))) 214.12/145.85 new_primModNatS1(Zero, x0) 214.12/145.85 new_primModNatS02(x0, x1) 214.12/145.85 new_primMinusNatS2(Zero, Zero) 214.12/145.85 new_primModNatS1(Succ(Zero), Zero) 214.12/145.85 new_primMinusNatS2(Succ(x0), Zero) 214.12/145.85 new_esEs(Pos(Zero)) 214.12/145.85 new_primEqInt(Neg(Succ(x0))) 214.12/145.85 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 214.12/145.85 new_esEs(Neg(Succ(x0))) 214.12/145.85 new_primEqInt(Neg(Zero)) 214.12/145.85 new_primModNatS01(x0, x1, Zero, Zero) 214.12/145.85 new_primEqInt(Pos(Succ(x0))) 214.12/145.85 new_primMinusNatS2(Zero, Succ(x0)) 214.12/145.85 new_primModNatS1(Succ(Zero), Succ(x0)) 214.12/145.85 new_primMinusNatS2(Succ(x0), Succ(x1)) 214.12/145.85 new_primModNatS01(x0, x1, Zero, Succ(x2)) 214.12/145.85 new_esEs(Neg(Zero)) 214.12/145.85 214.12/145.85 We have to consider all minimal (P,Q,R)-chains. 214.12/145.85 ---------------------------------------- 214.12/145.85 214.12/145.85 (495) TransformationProof (EQUIVALENT) 214.12/145.85 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]: 214.12/145.85 214.12/145.85 (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)))) 214.12/145.85 (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)))) 214.12/145.85 214.12/145.85 214.12/145.85 ---------------------------------------- 214.12/145.85 214.12/145.85 (496) 214.12/145.85 Obligation: 214.12/145.85 Q DP problem: 214.12/145.85 The TRS P consists of the following rules: 214.12/145.85 214.12/145.85 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)))) 214.12/145.85 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)))) 214.12/145.85 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)))))) 214.12/145.85 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))))) 214.12/145.85 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))) 214.12/145.85 new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Pos(Succ(Zero))) 214.12/145.85 214.12/145.85 The TRS R consists of the following rules: 214.12/145.85 214.12/145.85 new_primModNatS1(Succ(Succ(vyv293000)), Succ(vyv292000)) -> new_primModNatS01(vyv293000, vyv292000, vyv293000, vyv292000) 214.12/145.85 new_primModNatS01(vyv331, vyv332, Zero, Zero) -> new_primModNatS02(vyv331, vyv332) 214.12/145.85 new_primModNatS02(vyv331, vyv332) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv331), Succ(vyv332)), Succ(vyv332)) 214.12/145.85 new_primModNatS01(vyv331, vyv332, Succ(vyv3330), Succ(vyv3340)) -> new_primModNatS01(vyv331, vyv332, vyv3330, vyv3340) 214.12/145.85 new_primModNatS01(vyv331, vyv332, Succ(vyv3330), Zero) -> new_primModNatS02(vyv331, vyv332) 214.12/145.85 new_primModNatS01(vyv331, vyv332, Zero, Succ(vyv3340)) -> Succ(Succ(vyv331)) 214.12/145.85 new_primMinusNatS2(Succ(vyv3110), Succ(vyv3120)) -> new_primMinusNatS2(vyv3110, vyv3120) 214.12/145.85 new_primModNatS1(Succ(Zero), Succ(vyv292000)) -> Succ(Zero) 214.12/145.85 new_primModNatS1(Zero, vyv29200) -> Zero 214.12/145.85 new_primMinusNatS2(Zero, Zero) -> Zero 214.12/145.85 new_primMinusNatS2(Zero, Succ(vyv3120)) -> Zero 214.12/145.85 new_primMinusNatS2(Succ(vyv3110), Zero) -> Succ(vyv3110) 214.12/145.85 new_esEs(Pos(Succ(vyv24300))) -> new_primEqInt(Pos(Succ(vyv24300))) 214.12/145.85 new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) 214.12/145.85 new_primEqInt(Pos(Zero)) -> True 214.12/145.85 new_primEqInt(Pos(Succ(vyv242000))) -> False 214.12/145.85 214.12/145.85 The set Q consists of the following terms: 214.12/145.85 214.12/145.85 new_primModNatS01(x0, x1, Succ(x2), Zero) 214.12/145.85 new_primModNatS1(Succ(Succ(x0)), Zero) 214.12/145.85 new_primEqInt(Pos(Zero)) 214.12/145.85 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 214.12/145.85 new_esEs(Pos(Succ(x0))) 214.12/145.85 new_primModNatS1(Zero, x0) 214.12/145.85 new_primModNatS02(x0, x1) 214.12/145.85 new_primMinusNatS2(Zero, Zero) 214.12/145.85 new_primModNatS1(Succ(Zero), Zero) 214.12/145.85 new_primMinusNatS2(Succ(x0), Zero) 214.12/145.85 new_esEs(Pos(Zero)) 214.12/145.85 new_primEqInt(Neg(Succ(x0))) 214.12/145.85 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 214.12/145.85 new_esEs(Neg(Succ(x0))) 214.12/145.85 new_primEqInt(Neg(Zero)) 214.12/145.85 new_primModNatS01(x0, x1, Zero, Zero) 214.12/145.85 new_primEqInt(Pos(Succ(x0))) 214.12/145.85 new_primMinusNatS2(Zero, Succ(x0)) 214.12/145.85 new_primModNatS1(Succ(Zero), Succ(x0)) 214.12/145.85 new_primMinusNatS2(Succ(x0), Succ(x1)) 214.12/145.85 new_primModNatS01(x0, x1, Zero, Succ(x2)) 214.12/145.85 new_esEs(Neg(Zero)) 214.12/145.85 214.12/145.85 We have to consider all minimal (P,Q,R)-chains. 214.12/145.85 ---------------------------------------- 214.12/145.85 214.12/145.85 (497) DependencyGraphProof (EQUIVALENT) 214.12/145.85 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 2 less nodes. 214.12/145.85 ---------------------------------------- 214.12/145.85 214.12/145.85 (498) 214.12/145.85 Obligation: 214.12/145.85 Q DP problem: 214.12/145.85 The TRS P consists of the following rules: 214.12/145.85 214.12/145.85 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)))))) 214.12/145.85 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))) 214.12/145.85 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)))) 214.12/145.85 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)))) 214.12/145.85 214.12/145.85 The TRS R consists of the following rules: 214.12/145.85 214.12/145.85 new_primModNatS1(Succ(Succ(vyv293000)), Succ(vyv292000)) -> new_primModNatS01(vyv293000, vyv292000, vyv293000, vyv292000) 214.12/145.85 new_primModNatS01(vyv331, vyv332, Zero, Zero) -> new_primModNatS02(vyv331, vyv332) 214.12/145.85 new_primModNatS02(vyv331, vyv332) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv331), Succ(vyv332)), Succ(vyv332)) 214.12/145.85 new_primModNatS01(vyv331, vyv332, Succ(vyv3330), Succ(vyv3340)) -> new_primModNatS01(vyv331, vyv332, vyv3330, vyv3340) 214.12/145.85 new_primModNatS01(vyv331, vyv332, Succ(vyv3330), Zero) -> new_primModNatS02(vyv331, vyv332) 214.12/145.85 new_primModNatS01(vyv331, vyv332, Zero, Succ(vyv3340)) -> Succ(Succ(vyv331)) 214.12/145.85 new_primMinusNatS2(Succ(vyv3110), Succ(vyv3120)) -> new_primMinusNatS2(vyv3110, vyv3120) 214.12/145.85 new_primModNatS1(Succ(Zero), Succ(vyv292000)) -> Succ(Zero) 214.12/145.85 new_primModNatS1(Zero, vyv29200) -> Zero 214.12/145.85 new_primMinusNatS2(Zero, Zero) -> Zero 214.12/145.85 new_primMinusNatS2(Zero, Succ(vyv3120)) -> Zero 214.12/145.85 new_primMinusNatS2(Succ(vyv3110), Zero) -> Succ(vyv3110) 214.12/145.85 new_esEs(Pos(Succ(vyv24300))) -> new_primEqInt(Pos(Succ(vyv24300))) 214.12/145.85 new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) 214.12/145.85 new_primEqInt(Pos(Zero)) -> True 214.12/145.85 new_primEqInt(Pos(Succ(vyv242000))) -> False 214.12/145.85 214.12/145.85 The set Q consists of the following terms: 214.12/145.85 214.12/145.85 new_primModNatS01(x0, x1, Succ(x2), Zero) 214.12/145.85 new_primModNatS1(Succ(Succ(x0)), Zero) 214.12/145.85 new_primEqInt(Pos(Zero)) 214.12/145.85 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 214.12/145.85 new_esEs(Pos(Succ(x0))) 214.12/145.85 new_primModNatS1(Zero, x0) 214.12/145.85 new_primModNatS02(x0, x1) 214.12/145.85 new_primMinusNatS2(Zero, Zero) 214.12/145.85 new_primModNatS1(Succ(Zero), Zero) 214.12/145.85 new_primMinusNatS2(Succ(x0), Zero) 214.12/145.85 new_esEs(Pos(Zero)) 214.12/145.85 new_primEqInt(Neg(Succ(x0))) 214.12/145.85 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 214.12/145.85 new_esEs(Neg(Succ(x0))) 214.12/145.85 new_primEqInt(Neg(Zero)) 214.12/145.85 new_primModNatS01(x0, x1, Zero, Zero) 214.12/145.85 new_primEqInt(Pos(Succ(x0))) 214.12/145.85 new_primMinusNatS2(Zero, Succ(x0)) 214.12/145.85 new_primModNatS1(Succ(Zero), Succ(x0)) 214.12/145.85 new_primMinusNatS2(Succ(x0), Succ(x1)) 214.12/145.85 new_primModNatS01(x0, x1, Zero, Succ(x2)) 214.12/145.85 new_esEs(Neg(Zero)) 214.12/145.85 214.12/145.85 We have to consider all minimal (P,Q,R)-chains. 214.12/145.85 ---------------------------------------- 214.12/145.85 214.12/145.85 (499) QDPOrderProof (EQUIVALENT) 214.12/145.85 We use the reduction pair processor [LPAR04,JAR06]. 214.12/145.85 214.12/145.85 214.12/145.85 The following pairs can be oriented strictly and are deleted. 214.12/145.85 214.12/145.85 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))) 214.12/145.85 The remaining pairs can at least be oriented weakly. 214.12/145.85 Used ordering: Polynomial interpretation [POLO]: 214.12/145.85 214.12/145.85 POL(False) = 1 214.12/145.85 POL(Pos(x_1)) = 2*x_1 214.12/145.85 POL(Succ(x_1)) = 1 + x_1 214.12/145.85 POL(True) = 1 214.12/145.85 POL(Zero) = 0 214.12/145.85 POL(new_esEs(x_1)) = 1 214.12/145.85 POL(new_gcd0Gcd'0(x_1, x_2)) = 2 + x_1 + x_2 214.12/145.85 POL(new_gcd0Gcd'1(x_1, x_2, x_3)) = 2*x_1 + x_2 + x_3 214.12/145.85 POL(new_primEqInt(x_1)) = 1 214.12/145.85 POL(new_primMinusNatS2(x_1, x_2)) = x_1 214.12/145.85 POL(new_primModNatS01(x_1, x_2, x_3, x_4)) = 2 + x_1 214.26/145.85 POL(new_primModNatS02(x_1, x_2)) = 2 + x_1 214.26/145.85 POL(new_primModNatS1(x_1, x_2)) = x_1 214.26/145.85 214.26/145.85 The following usable rules [FROCOS05] with respect to the argument filtering of the ordering [JAR06] were oriented: 214.26/145.85 214.26/145.85 new_primModNatS01(vyv331, vyv332, Zero, Zero) -> new_primModNatS02(vyv331, vyv332) 214.26/145.85 new_primModNatS02(vyv331, vyv332) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv331), Succ(vyv332)), Succ(vyv332)) 214.26/145.85 new_primModNatS1(Succ(Succ(vyv293000)), Succ(vyv292000)) -> new_primModNatS01(vyv293000, vyv292000, vyv293000, vyv292000) 214.26/145.85 new_primModNatS01(vyv331, vyv332, Succ(vyv3330), Succ(vyv3340)) -> new_primModNatS01(vyv331, vyv332, vyv3330, vyv3340) 214.26/145.85 new_primModNatS01(vyv331, vyv332, Succ(vyv3330), Zero) -> new_primModNatS02(vyv331, vyv332) 214.26/145.85 new_esEs(Pos(Succ(vyv24300))) -> new_primEqInt(Pos(Succ(vyv24300))) 214.26/145.85 new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) 214.26/145.85 new_primMinusNatS2(Succ(vyv3110), Succ(vyv3120)) -> new_primMinusNatS2(vyv3110, vyv3120) 214.26/145.85 new_primModNatS1(Succ(Zero), Succ(vyv292000)) -> Succ(Zero) 214.26/145.85 new_primModNatS1(Zero, vyv29200) -> Zero 214.26/145.85 new_primModNatS01(vyv331, vyv332, Zero, Succ(vyv3340)) -> Succ(Succ(vyv331)) 214.26/145.85 new_primMinusNatS2(Zero, Zero) -> Zero 214.26/145.85 new_primMinusNatS2(Zero, Succ(vyv3120)) -> Zero 214.26/145.85 new_primMinusNatS2(Succ(vyv3110), Zero) -> Succ(vyv3110) 214.26/145.85 new_primEqInt(Pos(Succ(vyv242000))) -> False 214.26/145.85 new_primEqInt(Pos(Zero)) -> True 214.26/145.85 214.26/145.85 214.26/145.85 ---------------------------------------- 214.26/145.85 214.26/145.85 (500) 214.26/145.85 Obligation: 214.26/145.85 Q DP problem: 214.26/145.85 The TRS P consists of the following rules: 214.26/145.85 214.26/145.85 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)))))) 214.26/145.85 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)))) 214.26/145.85 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)))) 214.26/145.85 214.26/145.85 The TRS R consists of the following rules: 214.26/145.85 214.26/145.85 new_primModNatS1(Succ(Succ(vyv293000)), Succ(vyv292000)) -> new_primModNatS01(vyv293000, vyv292000, vyv293000, vyv292000) 214.26/145.85 new_primModNatS01(vyv331, vyv332, Zero, Zero) -> new_primModNatS02(vyv331, vyv332) 214.26/145.85 new_primModNatS02(vyv331, vyv332) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv331), Succ(vyv332)), Succ(vyv332)) 214.26/145.85 new_primModNatS01(vyv331, vyv332, Succ(vyv3330), Succ(vyv3340)) -> new_primModNatS01(vyv331, vyv332, vyv3330, vyv3340) 214.26/145.85 new_primModNatS01(vyv331, vyv332, Succ(vyv3330), Zero) -> new_primModNatS02(vyv331, vyv332) 214.26/145.85 new_primModNatS01(vyv331, vyv332, Zero, Succ(vyv3340)) -> Succ(Succ(vyv331)) 214.26/145.85 new_primMinusNatS2(Succ(vyv3110), Succ(vyv3120)) -> new_primMinusNatS2(vyv3110, vyv3120) 214.26/145.85 new_primModNatS1(Succ(Zero), Succ(vyv292000)) -> Succ(Zero) 214.26/145.85 new_primModNatS1(Zero, vyv29200) -> Zero 214.26/145.85 new_primMinusNatS2(Zero, Zero) -> Zero 214.26/145.85 new_primMinusNatS2(Zero, Succ(vyv3120)) -> Zero 214.26/145.85 new_primMinusNatS2(Succ(vyv3110), Zero) -> Succ(vyv3110) 214.26/145.85 new_esEs(Pos(Succ(vyv24300))) -> new_primEqInt(Pos(Succ(vyv24300))) 214.26/145.85 new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) 214.26/145.85 new_primEqInt(Pos(Zero)) -> True 214.26/145.85 new_primEqInt(Pos(Succ(vyv242000))) -> False 214.26/145.85 214.26/145.85 The set Q consists of the following terms: 214.26/145.85 214.26/145.85 new_primModNatS01(x0, x1, Succ(x2), Zero) 214.26/145.85 new_primModNatS1(Succ(Succ(x0)), Zero) 214.26/145.85 new_primEqInt(Pos(Zero)) 214.26/145.85 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 214.26/145.85 new_esEs(Pos(Succ(x0))) 214.26/145.85 new_primModNatS1(Zero, x0) 214.26/145.85 new_primModNatS02(x0, x1) 214.26/145.85 new_primMinusNatS2(Zero, Zero) 214.26/145.85 new_primModNatS1(Succ(Zero), Zero) 214.26/145.85 new_primMinusNatS2(Succ(x0), Zero) 214.26/145.85 new_esEs(Pos(Zero)) 214.26/145.85 new_primEqInt(Neg(Succ(x0))) 214.26/145.85 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 214.26/145.85 new_esEs(Neg(Succ(x0))) 214.26/145.85 new_primEqInt(Neg(Zero)) 214.26/145.85 new_primModNatS01(x0, x1, Zero, Zero) 214.26/145.85 new_primEqInt(Pos(Succ(x0))) 214.26/145.85 new_primMinusNatS2(Zero, Succ(x0)) 214.26/145.85 new_primModNatS1(Succ(Zero), Succ(x0)) 214.26/145.85 new_primMinusNatS2(Succ(x0), Succ(x1)) 214.26/145.85 new_primModNatS01(x0, x1, Zero, Succ(x2)) 214.26/145.85 new_esEs(Neg(Zero)) 214.26/145.85 214.26/145.85 We have to consider all minimal (P,Q,R)-chains. 214.26/145.85 ---------------------------------------- 214.26/145.85 214.26/145.85 (501) DependencyGraphProof (EQUIVALENT) 214.26/145.85 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 0 SCCs with 3 less nodes. 214.26/145.85 ---------------------------------------- 214.26/145.85 214.26/145.85 (502) 214.26/145.85 TRUE 214.26/145.85 214.26/145.85 ---------------------------------------- 214.26/145.85 214.26/145.85 (503) 214.26/145.85 Obligation: 214.26/145.85 Q DP problem: 214.26/145.85 The TRS P consists of the following rules: 214.26/145.85 214.26/145.85 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)))))) 214.26/145.85 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))) 214.26/145.85 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))))) 214.26/145.85 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)))))) 214.26/145.85 214.26/145.85 The TRS R consists of the following rules: 214.26/145.85 214.26/145.85 new_primModNatS1(Succ(Succ(vyv293000)), Succ(vyv292000)) -> new_primModNatS01(vyv293000, vyv292000, vyv293000, vyv292000) 214.26/145.85 new_primModNatS01(vyv331, vyv332, Zero, Zero) -> new_primModNatS02(vyv331, vyv332) 214.26/145.85 new_primModNatS02(vyv331, vyv332) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv331), Succ(vyv332)), Succ(vyv332)) 214.26/145.85 new_primModNatS01(vyv331, vyv332, Succ(vyv3330), Succ(vyv3340)) -> new_primModNatS01(vyv331, vyv332, vyv3330, vyv3340) 214.26/145.85 new_primModNatS01(vyv331, vyv332, Succ(vyv3330), Zero) -> new_primModNatS02(vyv331, vyv332) 214.26/145.85 new_primModNatS01(vyv331, vyv332, Zero, Succ(vyv3340)) -> Succ(Succ(vyv331)) 214.26/145.85 new_primMinusNatS2(Succ(vyv3110), Succ(vyv3120)) -> new_primMinusNatS2(vyv3110, vyv3120) 214.26/145.85 new_primModNatS1(Succ(Zero), Succ(vyv292000)) -> Succ(Zero) 214.26/145.85 new_primModNatS1(Zero, vyv29200) -> Zero 214.26/145.85 new_primMinusNatS2(Zero, Zero) -> Zero 214.26/145.85 new_primMinusNatS2(Zero, Succ(vyv3120)) -> Zero 214.26/145.85 new_primMinusNatS2(Succ(vyv3110), Zero) -> Succ(vyv3110) 214.26/145.85 new_esEs(Pos(Succ(vyv24300))) -> new_primEqInt(Pos(Succ(vyv24300))) 214.26/145.85 new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) 214.26/145.85 new_primEqInt(Pos(Zero)) -> True 214.26/145.85 new_primEqInt(Pos(Succ(vyv242000))) -> False 214.26/145.85 214.26/145.85 The set Q consists of the following terms: 214.26/145.85 214.26/145.85 new_primModNatS01(x0, x1, Succ(x2), Zero) 214.26/145.85 new_primModNatS1(Succ(Succ(x0)), Zero) 214.26/145.85 new_primEqInt(Pos(Zero)) 214.26/145.85 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 214.26/145.85 new_esEs(Pos(Succ(x0))) 214.26/145.85 new_primModNatS1(Zero, x0) 214.26/145.85 new_primModNatS02(x0, x1) 214.26/145.85 new_primMinusNatS2(Zero, Zero) 214.26/145.85 new_primModNatS1(Succ(Zero), Zero) 214.26/145.85 new_primMinusNatS2(Succ(x0), Zero) 214.26/145.85 new_esEs(Pos(Zero)) 214.26/145.85 new_primEqInt(Neg(Succ(x0))) 214.26/145.85 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 214.26/145.85 new_esEs(Neg(Succ(x0))) 214.26/145.85 new_primEqInt(Neg(Zero)) 214.26/145.85 new_primModNatS01(x0, x1, Zero, Zero) 214.26/145.85 new_primEqInt(Pos(Succ(x0))) 214.26/145.85 new_primMinusNatS2(Zero, Succ(x0)) 214.26/145.85 new_primModNatS1(Succ(Zero), Succ(x0)) 214.26/145.85 new_primMinusNatS2(Succ(x0), Succ(x1)) 214.26/145.85 new_primModNatS01(x0, x1, Zero, Succ(x2)) 214.26/145.85 new_esEs(Neg(Zero)) 214.26/145.85 214.26/145.85 We have to consider all minimal (P,Q,R)-chains. 214.26/145.85 ---------------------------------------- 214.26/145.85 214.26/145.85 (504) TransformationProof (EQUIVALENT) 214.26/145.85 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]: 214.26/145.85 214.26/145.85 (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))))) 214.26/145.85 (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)))) 214.26/145.85 (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))))) 214.26/145.85 (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)))))) 214.26/145.85 214.26/145.85 214.26/145.85 ---------------------------------------- 214.26/145.85 214.26/145.85 (505) 214.26/145.85 Obligation: 214.26/145.85 Q DP problem: 214.26/145.85 The TRS P consists of the following rules: 214.26/145.85 214.26/145.85 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)))))) 214.26/145.85 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))))) 214.26/145.85 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)))))) 214.26/145.85 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)))) 214.26/145.85 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))) 214.26/145.85 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)))) 214.26/145.85 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))))) 214.26/145.85 214.26/145.85 The TRS R consists of the following rules: 214.26/145.85 214.26/145.85 new_primModNatS1(Succ(Succ(vyv293000)), Succ(vyv292000)) -> new_primModNatS01(vyv293000, vyv292000, vyv293000, vyv292000) 214.26/145.85 new_primModNatS01(vyv331, vyv332, Zero, Zero) -> new_primModNatS02(vyv331, vyv332) 214.26/145.85 new_primModNatS02(vyv331, vyv332) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv331), Succ(vyv332)), Succ(vyv332)) 214.26/145.85 new_primModNatS01(vyv331, vyv332, Succ(vyv3330), Succ(vyv3340)) -> new_primModNatS01(vyv331, vyv332, vyv3330, vyv3340) 214.26/145.85 new_primModNatS01(vyv331, vyv332, Succ(vyv3330), Zero) -> new_primModNatS02(vyv331, vyv332) 214.26/145.85 new_primModNatS01(vyv331, vyv332, Zero, Succ(vyv3340)) -> Succ(Succ(vyv331)) 214.26/145.85 new_primMinusNatS2(Succ(vyv3110), Succ(vyv3120)) -> new_primMinusNatS2(vyv3110, vyv3120) 214.26/145.85 new_primModNatS1(Succ(Zero), Succ(vyv292000)) -> Succ(Zero) 214.26/145.85 new_primModNatS1(Zero, vyv29200) -> Zero 214.26/145.85 new_primMinusNatS2(Zero, Zero) -> Zero 214.26/145.85 new_primMinusNatS2(Zero, Succ(vyv3120)) -> Zero 214.26/145.85 new_primMinusNatS2(Succ(vyv3110), Zero) -> Succ(vyv3110) 214.26/145.85 new_esEs(Pos(Succ(vyv24300))) -> new_primEqInt(Pos(Succ(vyv24300))) 214.26/145.85 new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) 214.26/145.85 new_primEqInt(Pos(Zero)) -> True 214.26/145.85 new_primEqInt(Pos(Succ(vyv242000))) -> False 214.26/145.85 214.26/145.85 The set Q consists of the following terms: 214.26/145.85 214.26/145.85 new_primModNatS01(x0, x1, Succ(x2), Zero) 214.26/145.85 new_primModNatS1(Succ(Succ(x0)), Zero) 214.26/145.85 new_primEqInt(Pos(Zero)) 214.26/145.85 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 214.26/145.85 new_esEs(Pos(Succ(x0))) 214.26/145.85 new_primModNatS1(Zero, x0) 214.26/145.85 new_primModNatS02(x0, x1) 214.26/145.85 new_primMinusNatS2(Zero, Zero) 214.26/145.85 new_primModNatS1(Succ(Zero), Zero) 214.26/145.85 new_primMinusNatS2(Succ(x0), Zero) 214.26/145.85 new_esEs(Pos(Zero)) 214.26/145.85 new_primEqInt(Neg(Succ(x0))) 214.26/145.85 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 214.26/145.85 new_esEs(Neg(Succ(x0))) 214.26/145.85 new_primEqInt(Neg(Zero)) 214.26/145.85 new_primModNatS01(x0, x1, Zero, Zero) 214.26/145.85 new_primEqInt(Pos(Succ(x0))) 214.26/145.85 new_primMinusNatS2(Zero, Succ(x0)) 214.26/145.85 new_primModNatS1(Succ(Zero), Succ(x0)) 214.26/145.85 new_primMinusNatS2(Succ(x0), Succ(x1)) 214.26/145.85 new_primModNatS01(x0, x1, Zero, Succ(x2)) 214.26/145.85 new_esEs(Neg(Zero)) 214.26/145.85 214.26/145.85 We have to consider all minimal (P,Q,R)-chains. 214.26/145.85 ---------------------------------------- 214.26/145.85 214.26/145.85 (506) DependencyGraphProof (EQUIVALENT) 214.26/145.85 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 2 SCCs with 1 less node. 214.26/145.85 ---------------------------------------- 214.26/145.85 214.26/145.85 (507) 214.26/145.85 Complex Obligation (AND) 214.26/145.85 214.26/145.85 ---------------------------------------- 214.26/145.85 214.26/145.85 (508) 214.26/145.85 Obligation: 214.26/145.85 Q DP problem: 214.26/145.85 The TRS P consists of the following rules: 214.26/145.85 214.26/145.85 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))))) 214.26/145.85 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)))))) 214.26/145.85 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)))) 214.26/145.85 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))))) 214.26/145.85 214.26/145.85 The TRS R consists of the following rules: 214.26/145.85 214.26/145.85 new_primModNatS1(Succ(Succ(vyv293000)), Succ(vyv292000)) -> new_primModNatS01(vyv293000, vyv292000, vyv293000, vyv292000) 214.26/145.85 new_primModNatS01(vyv331, vyv332, Zero, Zero) -> new_primModNatS02(vyv331, vyv332) 214.26/145.85 new_primModNatS02(vyv331, vyv332) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv331), Succ(vyv332)), Succ(vyv332)) 214.26/145.85 new_primModNatS01(vyv331, vyv332, Succ(vyv3330), Succ(vyv3340)) -> new_primModNatS01(vyv331, vyv332, vyv3330, vyv3340) 214.26/145.85 new_primModNatS01(vyv331, vyv332, Succ(vyv3330), Zero) -> new_primModNatS02(vyv331, vyv332) 214.26/145.85 new_primModNatS01(vyv331, vyv332, Zero, Succ(vyv3340)) -> Succ(Succ(vyv331)) 214.26/145.85 new_primMinusNatS2(Succ(vyv3110), Succ(vyv3120)) -> new_primMinusNatS2(vyv3110, vyv3120) 214.26/145.85 new_primModNatS1(Succ(Zero), Succ(vyv292000)) -> Succ(Zero) 214.26/145.85 new_primModNatS1(Zero, vyv29200) -> Zero 214.26/145.85 new_primMinusNatS2(Zero, Zero) -> Zero 214.26/145.85 new_primMinusNatS2(Zero, Succ(vyv3120)) -> Zero 214.26/145.85 new_primMinusNatS2(Succ(vyv3110), Zero) -> Succ(vyv3110) 214.26/145.85 new_esEs(Pos(Succ(vyv24300))) -> new_primEqInt(Pos(Succ(vyv24300))) 214.26/145.85 new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) 214.26/145.85 new_primEqInt(Pos(Zero)) -> True 214.26/145.85 new_primEqInt(Pos(Succ(vyv242000))) -> False 214.26/145.85 214.26/145.85 The set Q consists of the following terms: 214.26/145.85 214.26/145.85 new_primModNatS01(x0, x1, Succ(x2), Zero) 214.26/145.85 new_primModNatS1(Succ(Succ(x0)), Zero) 214.26/145.85 new_primEqInt(Pos(Zero)) 214.26/145.85 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 214.26/145.85 new_esEs(Pos(Succ(x0))) 214.26/145.85 new_primModNatS1(Zero, x0) 214.26/145.85 new_primModNatS02(x0, x1) 214.26/145.85 new_primMinusNatS2(Zero, Zero) 214.26/145.85 new_primModNatS1(Succ(Zero), Zero) 214.26/145.85 new_primMinusNatS2(Succ(x0), Zero) 214.26/145.85 new_esEs(Pos(Zero)) 214.26/145.85 new_primEqInt(Neg(Succ(x0))) 214.26/145.85 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 214.26/145.85 new_esEs(Neg(Succ(x0))) 214.26/145.85 new_primEqInt(Neg(Zero)) 214.26/145.85 new_primModNatS01(x0, x1, Zero, Zero) 214.26/145.85 new_primEqInt(Pos(Succ(x0))) 214.26/145.85 new_primMinusNatS2(Zero, Succ(x0)) 214.26/145.85 new_primModNatS1(Succ(Zero), Succ(x0)) 214.26/145.85 new_primMinusNatS2(Succ(x0), Succ(x1)) 214.26/145.85 new_primModNatS01(x0, x1, Zero, Succ(x2)) 214.26/145.85 new_esEs(Neg(Zero)) 214.26/145.85 214.26/145.85 We have to consider all minimal (P,Q,R)-chains. 214.26/145.85 ---------------------------------------- 214.26/145.85 214.26/145.85 (509) TransformationProof (EQUIVALENT) 214.26/145.85 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]: 214.26/145.85 214.26/145.85 (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)))))) 214.26/145.85 214.26/145.85 214.26/145.85 ---------------------------------------- 214.26/145.85 214.26/145.85 (510) 214.26/145.85 Obligation: 214.26/145.85 Q DP problem: 214.26/145.85 The TRS P consists of the following rules: 214.26/145.85 214.26/145.85 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))))) 214.26/145.85 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)))))) 214.26/145.85 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))))) 214.26/145.85 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))))) 214.26/145.85 214.26/145.85 The TRS R consists of the following rules: 214.26/145.85 214.26/145.85 new_primModNatS1(Succ(Succ(vyv293000)), Succ(vyv292000)) -> new_primModNatS01(vyv293000, vyv292000, vyv293000, vyv292000) 214.26/145.85 new_primModNatS01(vyv331, vyv332, Zero, Zero) -> new_primModNatS02(vyv331, vyv332) 214.26/145.85 new_primModNatS02(vyv331, vyv332) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv331), Succ(vyv332)), Succ(vyv332)) 214.26/145.85 new_primModNatS01(vyv331, vyv332, Succ(vyv3330), Succ(vyv3340)) -> new_primModNatS01(vyv331, vyv332, vyv3330, vyv3340) 214.26/145.85 new_primModNatS01(vyv331, vyv332, Succ(vyv3330), Zero) -> new_primModNatS02(vyv331, vyv332) 214.26/145.85 new_primModNatS01(vyv331, vyv332, Zero, Succ(vyv3340)) -> Succ(Succ(vyv331)) 214.26/145.85 new_primMinusNatS2(Succ(vyv3110), Succ(vyv3120)) -> new_primMinusNatS2(vyv3110, vyv3120) 214.26/145.85 new_primModNatS1(Succ(Zero), Succ(vyv292000)) -> Succ(Zero) 214.26/145.85 new_primModNatS1(Zero, vyv29200) -> Zero 214.26/145.85 new_primMinusNatS2(Zero, Zero) -> Zero 214.26/145.85 new_primMinusNatS2(Zero, Succ(vyv3120)) -> Zero 214.26/145.85 new_primMinusNatS2(Succ(vyv3110), Zero) -> Succ(vyv3110) 214.26/145.85 new_esEs(Pos(Succ(vyv24300))) -> new_primEqInt(Pos(Succ(vyv24300))) 214.26/145.85 new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) 214.26/145.85 new_primEqInt(Pos(Zero)) -> True 214.26/145.85 new_primEqInt(Pos(Succ(vyv242000))) -> False 214.26/145.85 214.26/145.85 The set Q consists of the following terms: 214.26/145.85 214.26/145.85 new_primModNatS01(x0, x1, Succ(x2), Zero) 214.26/145.85 new_primModNatS1(Succ(Succ(x0)), Zero) 214.26/145.85 new_primEqInt(Pos(Zero)) 214.26/145.85 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 214.26/145.85 new_esEs(Pos(Succ(x0))) 214.26/145.85 new_primModNatS1(Zero, x0) 214.26/145.85 new_primModNatS02(x0, x1) 214.26/145.85 new_primMinusNatS2(Zero, Zero) 214.26/145.85 new_primModNatS1(Succ(Zero), Zero) 214.26/145.85 new_primMinusNatS2(Succ(x0), Zero) 214.26/145.85 new_esEs(Pos(Zero)) 214.26/145.85 new_primEqInt(Neg(Succ(x0))) 214.26/145.85 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 214.26/145.85 new_esEs(Neg(Succ(x0))) 214.26/145.85 new_primEqInt(Neg(Zero)) 214.26/145.85 new_primModNatS01(x0, x1, Zero, Zero) 214.26/145.85 new_primEqInt(Pos(Succ(x0))) 214.26/145.85 new_primMinusNatS2(Zero, Succ(x0)) 214.26/145.85 new_primModNatS1(Succ(Zero), Succ(x0)) 214.26/145.85 new_primMinusNatS2(Succ(x0), Succ(x1)) 214.26/145.85 new_primModNatS01(x0, x1, Zero, Succ(x2)) 214.26/145.85 new_esEs(Neg(Zero)) 214.26/145.85 214.26/145.85 We have to consider all minimal (P,Q,R)-chains. 214.26/145.85 ---------------------------------------- 214.26/145.85 214.26/145.85 (511) TransformationProof (EQUIVALENT) 214.26/145.85 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]: 214.26/145.85 214.26/145.85 (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)))))) 214.26/145.85 214.26/145.85 214.26/145.85 ---------------------------------------- 214.26/145.85 214.26/145.85 (512) 214.26/145.85 Obligation: 214.26/145.85 Q DP problem: 214.26/145.85 The TRS P consists of the following rules: 214.26/145.85 214.26/145.85 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))))) 214.26/145.85 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)))))) 214.26/145.85 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))))) 214.26/145.85 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))))) 214.26/145.85 214.26/145.85 The TRS R consists of the following rules: 214.26/145.85 214.26/145.85 new_primModNatS1(Succ(Succ(vyv293000)), Succ(vyv292000)) -> new_primModNatS01(vyv293000, vyv292000, vyv293000, vyv292000) 214.26/145.85 new_primModNatS01(vyv331, vyv332, Zero, Zero) -> new_primModNatS02(vyv331, vyv332) 214.26/145.85 new_primModNatS02(vyv331, vyv332) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv331), Succ(vyv332)), Succ(vyv332)) 214.26/145.85 new_primModNatS01(vyv331, vyv332, Succ(vyv3330), Succ(vyv3340)) -> new_primModNatS01(vyv331, vyv332, vyv3330, vyv3340) 214.26/145.85 new_primModNatS01(vyv331, vyv332, Succ(vyv3330), Zero) -> new_primModNatS02(vyv331, vyv332) 214.26/145.85 new_primModNatS01(vyv331, vyv332, Zero, Succ(vyv3340)) -> Succ(Succ(vyv331)) 214.26/145.85 new_primMinusNatS2(Succ(vyv3110), Succ(vyv3120)) -> new_primMinusNatS2(vyv3110, vyv3120) 214.26/145.85 new_primModNatS1(Succ(Zero), Succ(vyv292000)) -> Succ(Zero) 214.26/145.85 new_primModNatS1(Zero, vyv29200) -> Zero 214.26/145.85 new_primMinusNatS2(Zero, Zero) -> Zero 214.26/145.85 new_primMinusNatS2(Zero, Succ(vyv3120)) -> Zero 214.26/145.85 new_primMinusNatS2(Succ(vyv3110), Zero) -> Succ(vyv3110) 214.26/145.85 new_esEs(Pos(Succ(vyv24300))) -> new_primEqInt(Pos(Succ(vyv24300))) 214.26/145.85 new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) 214.26/145.85 new_primEqInt(Pos(Zero)) -> True 214.26/145.85 new_primEqInt(Pos(Succ(vyv242000))) -> False 214.26/145.85 214.26/145.85 The set Q consists of the following terms: 214.26/145.85 214.26/145.85 new_primModNatS01(x0, x1, Succ(x2), Zero) 214.26/145.85 new_primModNatS1(Succ(Succ(x0)), Zero) 214.26/145.85 new_primEqInt(Pos(Zero)) 214.26/145.85 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 214.26/145.85 new_esEs(Pos(Succ(x0))) 214.26/145.85 new_primModNatS1(Zero, x0) 214.26/145.85 new_primModNatS02(x0, x1) 214.26/145.85 new_primMinusNatS2(Zero, Zero) 214.26/145.85 new_primModNatS1(Succ(Zero), Zero) 214.26/145.85 new_primMinusNatS2(Succ(x0), Zero) 214.26/145.85 new_esEs(Pos(Zero)) 214.26/145.85 new_primEqInt(Neg(Succ(x0))) 214.26/145.85 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 214.26/145.85 new_esEs(Neg(Succ(x0))) 214.26/145.85 new_primEqInt(Neg(Zero)) 214.26/145.85 new_primModNatS01(x0, x1, Zero, Zero) 214.26/145.85 new_primEqInt(Pos(Succ(x0))) 214.26/145.85 new_primMinusNatS2(Zero, Succ(x0)) 214.26/145.85 new_primModNatS1(Succ(Zero), Succ(x0)) 214.26/145.85 new_primMinusNatS2(Succ(x0), Succ(x1)) 214.26/145.85 new_primModNatS01(x0, x1, Zero, Succ(x2)) 214.26/145.85 new_esEs(Neg(Zero)) 214.26/145.85 214.26/145.85 We have to consider all minimal (P,Q,R)-chains. 214.26/145.85 ---------------------------------------- 214.26/145.85 214.26/145.85 (513) TransformationProof (EQUIVALENT) 214.26/145.85 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]: 214.26/145.85 214.26/145.85 (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)))))) 214.26/145.85 214.26/145.85 214.26/145.85 ---------------------------------------- 214.26/145.85 214.26/145.85 (514) 214.26/145.85 Obligation: 214.26/145.85 Q DP problem: 214.26/145.85 The TRS P consists of the following rules: 214.26/145.85 214.26/145.85 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))))) 214.26/145.85 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)))))) 214.26/145.85 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))))) 214.26/145.85 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))))) 214.26/145.85 214.26/145.85 The TRS R consists of the following rules: 214.26/145.85 214.26/145.85 new_primModNatS1(Succ(Succ(vyv293000)), Succ(vyv292000)) -> new_primModNatS01(vyv293000, vyv292000, vyv293000, vyv292000) 214.26/145.85 new_primModNatS01(vyv331, vyv332, Zero, Zero) -> new_primModNatS02(vyv331, vyv332) 214.26/145.85 new_primModNatS02(vyv331, vyv332) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv331), Succ(vyv332)), Succ(vyv332)) 214.26/145.85 new_primModNatS01(vyv331, vyv332, Succ(vyv3330), Succ(vyv3340)) -> new_primModNatS01(vyv331, vyv332, vyv3330, vyv3340) 214.26/145.85 new_primModNatS01(vyv331, vyv332, Succ(vyv3330), Zero) -> new_primModNatS02(vyv331, vyv332) 214.26/145.85 new_primModNatS01(vyv331, vyv332, Zero, Succ(vyv3340)) -> Succ(Succ(vyv331)) 214.26/145.85 new_primMinusNatS2(Succ(vyv3110), Succ(vyv3120)) -> new_primMinusNatS2(vyv3110, vyv3120) 214.26/145.85 new_primModNatS1(Succ(Zero), Succ(vyv292000)) -> Succ(Zero) 214.26/145.85 new_primModNatS1(Zero, vyv29200) -> Zero 214.26/145.85 new_primMinusNatS2(Zero, Zero) -> Zero 214.26/145.85 new_primMinusNatS2(Zero, Succ(vyv3120)) -> Zero 214.26/145.85 new_primMinusNatS2(Succ(vyv3110), Zero) -> Succ(vyv3110) 214.26/145.85 new_esEs(Pos(Succ(vyv24300))) -> new_primEqInt(Pos(Succ(vyv24300))) 214.26/145.85 new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) 214.26/145.85 new_primEqInt(Pos(Zero)) -> True 214.26/145.85 new_primEqInt(Pos(Succ(vyv242000))) -> False 214.26/145.85 214.26/145.85 The set Q consists of the following terms: 214.26/145.85 214.26/145.85 new_primModNatS01(x0, x1, Succ(x2), Zero) 214.26/145.85 new_primModNatS1(Succ(Succ(x0)), Zero) 214.26/145.85 new_primEqInt(Pos(Zero)) 214.26/145.85 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 214.26/145.85 new_esEs(Pos(Succ(x0))) 214.26/145.85 new_primModNatS1(Zero, x0) 214.26/145.85 new_primModNatS02(x0, x1) 214.26/145.85 new_primMinusNatS2(Zero, Zero) 214.26/145.85 new_primModNatS1(Succ(Zero), Zero) 214.26/145.85 new_primMinusNatS2(Succ(x0), Zero) 214.26/145.85 new_esEs(Pos(Zero)) 214.26/145.85 new_primEqInt(Neg(Succ(x0))) 214.26/145.85 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 214.26/145.85 new_esEs(Neg(Succ(x0))) 214.26/145.85 new_primEqInt(Neg(Zero)) 214.26/145.85 new_primModNatS01(x0, x1, Zero, Zero) 214.26/145.85 new_primEqInt(Pos(Succ(x0))) 214.26/145.85 new_primMinusNatS2(Zero, Succ(x0)) 214.26/145.85 new_primModNatS1(Succ(Zero), Succ(x0)) 214.26/145.85 new_primMinusNatS2(Succ(x0), Succ(x1)) 214.26/145.85 new_primModNatS01(x0, x1, Zero, Succ(x2)) 214.26/145.85 new_esEs(Neg(Zero)) 214.26/145.85 214.26/145.85 We have to consider all minimal (P,Q,R)-chains. 214.26/145.85 ---------------------------------------- 214.26/145.85 214.26/145.85 (515) TransformationProof (EQUIVALENT) 214.26/145.85 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]: 214.26/145.85 214.26/145.85 (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)))))) 214.26/145.85 214.26/145.85 214.26/145.85 ---------------------------------------- 214.26/145.85 214.26/145.85 (516) 214.26/145.85 Obligation: 214.26/145.85 Q DP problem: 214.26/145.85 The TRS P consists of the following rules: 214.26/145.85 214.26/145.85 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))))) 214.26/145.85 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)))))) 214.26/145.85 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))))) 214.26/145.85 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))))) 214.26/145.85 214.26/145.85 The TRS R consists of the following rules: 214.26/145.85 214.26/145.85 new_primModNatS1(Succ(Succ(vyv293000)), Succ(vyv292000)) -> new_primModNatS01(vyv293000, vyv292000, vyv293000, vyv292000) 214.26/145.85 new_primModNatS01(vyv331, vyv332, Zero, Zero) -> new_primModNatS02(vyv331, vyv332) 214.26/145.85 new_primModNatS02(vyv331, vyv332) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv331), Succ(vyv332)), Succ(vyv332)) 214.26/145.85 new_primModNatS01(vyv331, vyv332, Succ(vyv3330), Succ(vyv3340)) -> new_primModNatS01(vyv331, vyv332, vyv3330, vyv3340) 214.26/145.85 new_primModNatS01(vyv331, vyv332, Succ(vyv3330), Zero) -> new_primModNatS02(vyv331, vyv332) 214.26/145.85 new_primModNatS01(vyv331, vyv332, Zero, Succ(vyv3340)) -> Succ(Succ(vyv331)) 214.26/145.85 new_primMinusNatS2(Succ(vyv3110), Succ(vyv3120)) -> new_primMinusNatS2(vyv3110, vyv3120) 214.26/145.85 new_primModNatS1(Succ(Zero), Succ(vyv292000)) -> Succ(Zero) 214.26/145.85 new_primModNatS1(Zero, vyv29200) -> Zero 214.26/145.85 new_primMinusNatS2(Zero, Zero) -> Zero 214.26/145.85 new_primMinusNatS2(Zero, Succ(vyv3120)) -> Zero 214.26/145.85 new_primMinusNatS2(Succ(vyv3110), Zero) -> Succ(vyv3110) 214.26/145.85 new_esEs(Pos(Succ(vyv24300))) -> new_primEqInt(Pos(Succ(vyv24300))) 214.26/145.85 new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) 214.26/145.85 new_primEqInt(Pos(Zero)) -> True 214.26/145.85 new_primEqInt(Pos(Succ(vyv242000))) -> False 214.26/145.85 214.26/145.85 The set Q consists of the following terms: 214.26/145.85 214.26/145.85 new_primModNatS01(x0, x1, Succ(x2), Zero) 214.26/145.85 new_primModNatS1(Succ(Succ(x0)), Zero) 214.26/145.85 new_primEqInt(Pos(Zero)) 214.26/145.85 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 214.26/145.85 new_esEs(Pos(Succ(x0))) 214.26/145.85 new_primModNatS1(Zero, x0) 214.26/145.85 new_primModNatS02(x0, x1) 214.26/145.85 new_primMinusNatS2(Zero, Zero) 214.26/145.85 new_primModNatS1(Succ(Zero), Zero) 214.26/145.85 new_primMinusNatS2(Succ(x0), Zero) 214.26/145.85 new_esEs(Pos(Zero)) 214.26/145.85 new_primEqInt(Neg(Succ(x0))) 214.26/145.85 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 214.26/145.85 new_esEs(Neg(Succ(x0))) 214.26/145.85 new_primEqInt(Neg(Zero)) 214.26/145.85 new_primModNatS01(x0, x1, Zero, Zero) 214.26/145.85 new_primEqInt(Pos(Succ(x0))) 214.26/145.85 new_primMinusNatS2(Zero, Succ(x0)) 214.26/145.85 new_primModNatS1(Succ(Zero), Succ(x0)) 214.26/145.85 new_primMinusNatS2(Succ(x0), Succ(x1)) 214.26/145.85 new_primModNatS01(x0, x1, Zero, Succ(x2)) 214.26/145.85 new_esEs(Neg(Zero)) 214.26/145.85 214.26/145.85 We have to consider all minimal (P,Q,R)-chains. 214.26/145.85 ---------------------------------------- 214.26/145.85 214.26/145.85 (517) QReductionProof (EQUIVALENT) 214.26/145.85 We deleted the following terms from Q as they contain symbols which do neither occur in P nor in R.[THIEMANN]. 214.26/145.85 214.26/145.85 new_primEqInt(Neg(Succ(x0))) 214.26/145.85 new_esEs(Neg(Succ(x0))) 214.26/145.85 new_primEqInt(Neg(Zero)) 214.26/145.85 new_esEs(Neg(Zero)) 214.26/145.85 214.26/145.85 214.26/145.85 ---------------------------------------- 214.26/145.85 214.26/145.85 (518) 214.26/145.85 Obligation: 214.26/145.85 Q DP problem: 214.26/145.85 The TRS P consists of the following rules: 214.26/145.85 214.26/145.85 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))))) 214.26/145.85 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)))))) 214.26/145.85 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))))) 214.26/145.85 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))))) 214.26/145.85 214.26/145.85 The TRS R consists of the following rules: 214.26/145.85 214.26/145.85 new_primModNatS1(Succ(Succ(vyv293000)), Succ(vyv292000)) -> new_primModNatS01(vyv293000, vyv292000, vyv293000, vyv292000) 214.26/145.85 new_primModNatS01(vyv331, vyv332, Zero, Zero) -> new_primModNatS02(vyv331, vyv332) 214.26/145.85 new_primModNatS02(vyv331, vyv332) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv331), Succ(vyv332)), Succ(vyv332)) 214.26/145.85 new_primModNatS01(vyv331, vyv332, Succ(vyv3330), Succ(vyv3340)) -> new_primModNatS01(vyv331, vyv332, vyv3330, vyv3340) 214.26/145.85 new_primModNatS01(vyv331, vyv332, Succ(vyv3330), Zero) -> new_primModNatS02(vyv331, vyv332) 214.26/145.85 new_primModNatS01(vyv331, vyv332, Zero, Succ(vyv3340)) -> Succ(Succ(vyv331)) 214.26/145.85 new_primMinusNatS2(Succ(vyv3110), Succ(vyv3120)) -> new_primMinusNatS2(vyv3110, vyv3120) 214.26/145.85 new_primModNatS1(Succ(Zero), Succ(vyv292000)) -> Succ(Zero) 214.26/145.85 new_primModNatS1(Zero, vyv29200) -> Zero 214.26/145.85 new_primMinusNatS2(Zero, Zero) -> Zero 214.26/145.85 new_primMinusNatS2(Zero, Succ(vyv3120)) -> Zero 214.26/145.85 new_primMinusNatS2(Succ(vyv3110), Zero) -> Succ(vyv3110) 214.26/145.85 new_esEs(Pos(Succ(vyv24300))) -> new_primEqInt(Pos(Succ(vyv24300))) 214.26/145.85 new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) 214.26/145.85 new_primEqInt(Pos(Zero)) -> True 214.26/145.85 new_primEqInt(Pos(Succ(vyv242000))) -> False 214.26/145.85 214.26/145.85 The set Q consists of the following terms: 214.26/145.85 214.26/145.85 new_primModNatS01(x0, x1, Succ(x2), Zero) 214.26/145.85 new_primModNatS1(Succ(Succ(x0)), Zero) 214.26/145.85 new_primEqInt(Pos(Zero)) 214.26/145.85 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 214.26/145.85 new_esEs(Pos(Succ(x0))) 214.26/145.85 new_primModNatS1(Zero, x0) 214.26/145.85 new_primModNatS02(x0, x1) 214.26/145.85 new_primMinusNatS2(Zero, Zero) 214.26/145.85 new_primModNatS1(Succ(Zero), Zero) 214.26/145.85 new_primMinusNatS2(Succ(x0), Zero) 214.26/145.85 new_esEs(Pos(Zero)) 214.26/145.85 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 214.26/145.85 new_primModNatS01(x0, x1, Zero, Zero) 214.26/145.85 new_primEqInt(Pos(Succ(x0))) 214.26/145.85 new_primMinusNatS2(Zero, Succ(x0)) 214.26/145.85 new_primModNatS1(Succ(Zero), Succ(x0)) 214.26/145.85 new_primMinusNatS2(Succ(x0), Succ(x1)) 214.26/145.85 new_primModNatS01(x0, x1, Zero, Succ(x2)) 214.26/145.85 214.26/145.85 We have to consider all (P,Q,R)-chains. 214.26/145.85 ---------------------------------------- 214.26/145.85 214.26/145.85 (519) InductionCalculusProof (EQUIVALENT) 214.26/145.85 Note that final constraints are written in bold face. 214.26/145.85 214.26/145.85 214.26/145.85 214.26/145.85 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: 214.26/145.85 *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: 214.26/145.85 214.26/145.85 (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)))))) 214.26/145.85 214.26/145.85 214.26/145.85 214.26/145.85 We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: 214.26/145.85 214.26/145.85 (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)))))) 214.26/145.85 214.26/145.85 214.26/145.85 214.26/145.85 214.26/145.85 214.26/145.85 214.26/145.85 214.26/145.85 214.26/145.85 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: 214.26/145.85 *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: 214.26/145.85 214.26/145.85 (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))))))) 214.26/145.85 214.26/145.85 214.26/145.85 214.26/145.85 We simplified constraint (1) using rules (I), (II), (IV), (VII) which results in the following new constraint: 214.26/145.85 214.26/145.85 (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))))))) 214.26/145.85 214.26/145.85 214.26/145.85 214.26/145.85 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: 214.26/145.85 214.26/145.85 (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))))))) 214.26/145.85 214.26/145.85 (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))))))) 214.26/145.85 214.26/145.85 214.26/145.85 214.26/145.85 We simplified constraint (3) using rules (I), (II), (VII) which results in the following new constraint: 214.26/145.85 214.26/145.85 (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))))))) 214.26/145.85 214.26/145.85 214.26/145.85 214.26/145.85 We simplified constraint (4) using rules (I), (II), (VII) which results in the following new constraint: 214.26/145.85 214.26/145.85 (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))))))) 214.26/145.85 214.26/145.85 214.26/145.85 214.26/145.85 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: 214.26/145.85 214.26/145.85 (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))))))) 214.26/145.85 214.26/145.85 214.26/145.85 214.26/145.85 We simplified constraint (7) using rules (I), (II), (IV) which results in the following new constraint: 214.26/145.85 214.26/145.85 (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))))))) 214.26/145.85 214.26/145.85 214.26/145.85 214.26/145.85 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: 214.26/145.85 214.26/145.85 (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))))))) 214.26/145.85 214.26/145.85 (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))))))) 214.26/145.85 214.26/145.85 214.26/145.85 214.26/145.85 We simplified constraint (9) using rules (I), (II), (III), (VII) which results in the following new constraint: 214.26/145.85 214.26/145.85 (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)))))))) 214.26/145.85 214.26/145.85 214.26/145.85 214.26/145.85 We simplified constraint (10) using rules (I), (II), (III), (IV) which results in the following new constraint: 214.26/145.85 214.26/145.85 (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))))))) 214.26/145.85 214.26/145.85 214.26/145.85 214.26/145.85 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: 214.26/145.85 214.26/145.85 (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)))))))) 214.26/145.85 214.26/145.85 (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)))))))) 214.26/145.85 214.26/145.85 (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)))))))) 214.26/145.85 214.26/145.85 (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)))))))) 214.26/145.85 214.26/145.85 214.26/145.85 214.26/145.85 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: 214.26/145.85 214.26/145.85 (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))))))))) 214.26/145.85 214.26/145.85 214.26/145.85 214.26/145.85 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: 214.26/145.85 214.26/145.85 (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)))))))) 214.26/145.85 214.26/145.85 214.26/145.85 214.26/145.85 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: 214.26/145.85 214.26/145.85 (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))))))) 214.26/145.85 214.26/145.85 214.26/145.85 214.26/145.85 We solved constraint (19) using rules (I), (II). 214.26/145.85 214.26/145.85 214.26/145.85 214.26/145.85 214.26/145.85 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: 214.26/145.85 *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: 214.26/145.85 214.26/145.85 (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)))))) 214.26/145.85 214.26/145.85 214.26/145.85 214.26/145.85 We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: 214.26/145.85 214.26/145.85 (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)))))) 214.26/145.85 214.26/145.85 214.26/145.85 214.26/145.85 214.26/145.85 214.26/145.85 214.26/145.85 214.26/145.85 214.26/145.85 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: 214.26/145.85 *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: 214.26/145.85 214.26/145.85 (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)))))) 214.26/145.85 214.26/145.85 214.26/145.85 214.26/145.85 We simplified constraint (1) using rules (I), (II), (VII) which results in the following new constraint: 214.26/145.85 214.26/145.85 (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)))))) 214.26/145.85 214.26/145.85 214.26/145.85 214.26/145.85 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: 214.26/145.85 214.26/145.85 (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)))))) 214.26/145.85 214.26/145.85 (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)))))) 214.26/145.85 214.26/145.85 214.26/145.85 214.26/145.85 We simplified constraint (3) using rules (I), (II), (III), (VII) which results in the following new constraint: 214.26/145.85 214.26/145.85 (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)))))) 214.26/145.85 214.26/145.85 214.26/145.85 214.26/145.85 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: 214.26/145.85 214.26/145.85 (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)))))) 214.26/145.85 214.26/145.85 (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)))))) 214.26/145.85 214.26/145.85 (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)))))) 214.26/145.85 214.26/145.85 (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)))))) 214.26/145.85 214.26/145.85 214.26/145.85 214.26/145.85 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: 214.26/145.85 214.26/145.85 (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)))))) 214.26/145.85 214.26/145.85 214.26/145.85 214.26/145.85 We solved constraint (8) using rules (I), (II), (III).We solved constraint (9) using rules (I), (II), (III), (IV). 214.26/145.85 214.26/145.85 214.26/145.85 214.26/145.85 214.26/145.85 To summarize, we get the following constraints P__>=_ for the following pairs. 214.26/145.85 214.26/145.85 *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))))) 214.26/145.85 214.26/145.85 *(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)))))) 214.26/145.85 214.26/145.85 214.26/145.85 214.26/145.85 214.26/145.85 *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)))))) 214.26/145.85 214.26/145.85 *(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)))))))) 214.26/145.85 214.26/145.85 214.26/145.85 *(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))))))) 214.26/145.85 214.26/145.85 214.26/145.85 *(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))))))))) 214.26/145.85 214.26/145.85 214.26/145.85 214.26/145.85 214.26/145.85 *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))))) 214.26/145.85 214.26/145.85 *(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)))))) 214.26/145.85 214.26/145.85 214.26/145.85 214.26/145.85 214.26/145.85 *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))))) 214.26/145.85 214.26/145.85 *(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)))))) 214.26/145.85 214.26/145.85 214.26/145.85 214.26/145.85 214.26/145.85 214.26/145.85 214.26/145.85 214.26/145.85 214.26/145.85 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. 214.26/145.85 ---------------------------------------- 214.26/145.85 214.26/145.85 (520) 214.26/145.85 Obligation: 214.26/145.85 Q DP problem: 214.26/145.85 The TRS P consists of the following rules: 214.26/145.85 214.26/145.85 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))))) 214.26/145.85 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)))))) 214.26/145.85 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))))) 214.26/145.85 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))))) 214.26/145.85 214.26/145.85 The TRS R consists of the following rules: 214.26/145.85 214.26/145.85 new_primModNatS1(Succ(Succ(vyv293000)), Succ(vyv292000)) -> new_primModNatS01(vyv293000, vyv292000, vyv293000, vyv292000) 214.26/145.85 new_primModNatS01(vyv331, vyv332, Zero, Zero) -> new_primModNatS02(vyv331, vyv332) 214.26/145.85 new_primModNatS02(vyv331, vyv332) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv331), Succ(vyv332)), Succ(vyv332)) 214.26/145.85 new_primModNatS01(vyv331, vyv332, Succ(vyv3330), Succ(vyv3340)) -> new_primModNatS01(vyv331, vyv332, vyv3330, vyv3340) 214.26/145.85 new_primModNatS01(vyv331, vyv332, Succ(vyv3330), Zero) -> new_primModNatS02(vyv331, vyv332) 214.26/145.85 new_primModNatS01(vyv331, vyv332, Zero, Succ(vyv3340)) -> Succ(Succ(vyv331)) 214.26/145.85 new_primMinusNatS2(Succ(vyv3110), Succ(vyv3120)) -> new_primMinusNatS2(vyv3110, vyv3120) 214.26/145.85 new_primModNatS1(Succ(Zero), Succ(vyv292000)) -> Succ(Zero) 214.26/145.85 new_primModNatS1(Zero, vyv29200) -> Zero 214.26/145.85 new_primMinusNatS2(Zero, Zero) -> Zero 214.26/145.85 new_primMinusNatS2(Zero, Succ(vyv3120)) -> Zero 214.26/145.85 new_primMinusNatS2(Succ(vyv3110), Zero) -> Succ(vyv3110) 214.26/145.85 new_esEs(Pos(Succ(vyv24300))) -> new_primEqInt(Pos(Succ(vyv24300))) 214.26/145.85 new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) 214.26/145.85 new_primEqInt(Pos(Zero)) -> True 214.26/145.85 new_primEqInt(Pos(Succ(vyv242000))) -> False 214.26/145.85 214.26/145.85 The set Q consists of the following terms: 214.26/145.85 214.26/145.85 new_primModNatS01(x0, x1, Succ(x2), Zero) 214.26/145.85 new_primModNatS1(Succ(Succ(x0)), Zero) 214.26/145.85 new_primEqInt(Pos(Zero)) 214.26/145.85 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 214.26/145.85 new_esEs(Pos(Succ(x0))) 214.26/145.85 new_primModNatS1(Zero, x0) 214.26/145.85 new_primModNatS02(x0, x1) 214.26/145.85 new_primMinusNatS2(Zero, Zero) 214.26/145.85 new_primModNatS1(Succ(Zero), Zero) 214.26/145.85 new_primMinusNatS2(Succ(x0), Zero) 214.26/145.85 new_esEs(Pos(Zero)) 214.26/145.85 new_primEqInt(Neg(Succ(x0))) 214.26/145.85 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 214.26/145.85 new_esEs(Neg(Succ(x0))) 214.26/145.85 new_primEqInt(Neg(Zero)) 214.26/145.85 new_primModNatS01(x0, x1, Zero, Zero) 214.26/145.85 new_primEqInt(Pos(Succ(x0))) 214.26/145.85 new_primMinusNatS2(Zero, Succ(x0)) 214.26/145.85 new_primModNatS1(Succ(Zero), Succ(x0)) 214.26/145.85 new_primMinusNatS2(Succ(x0), Succ(x1)) 214.26/145.85 new_primModNatS01(x0, x1, Zero, Succ(x2)) 214.26/145.85 new_esEs(Neg(Zero)) 214.26/145.85 214.26/145.85 We have to consider all minimal (P,Q,R)-chains. 214.26/145.85 ---------------------------------------- 214.26/145.85 214.26/145.85 (521) 214.26/145.85 Obligation: 214.26/145.85 Q DP problem: 214.26/145.85 The TRS P consists of the following rules: 214.26/145.85 214.26/145.85 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))) 214.26/145.85 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)))))) 214.26/145.85 214.26/145.85 The TRS R consists of the following rules: 214.26/145.85 214.26/145.85 new_primModNatS1(Succ(Succ(vyv293000)), Succ(vyv292000)) -> new_primModNatS01(vyv293000, vyv292000, vyv293000, vyv292000) 214.26/145.85 new_primModNatS01(vyv331, vyv332, Zero, Zero) -> new_primModNatS02(vyv331, vyv332) 214.26/145.85 new_primModNatS02(vyv331, vyv332) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv331), Succ(vyv332)), Succ(vyv332)) 214.26/145.85 new_primModNatS01(vyv331, vyv332, Succ(vyv3330), Succ(vyv3340)) -> new_primModNatS01(vyv331, vyv332, vyv3330, vyv3340) 214.26/145.85 new_primModNatS01(vyv331, vyv332, Succ(vyv3330), Zero) -> new_primModNatS02(vyv331, vyv332) 214.26/145.85 new_primModNatS01(vyv331, vyv332, Zero, Succ(vyv3340)) -> Succ(Succ(vyv331)) 214.26/145.85 new_primMinusNatS2(Succ(vyv3110), Succ(vyv3120)) -> new_primMinusNatS2(vyv3110, vyv3120) 214.26/145.85 new_primModNatS1(Succ(Zero), Succ(vyv292000)) -> Succ(Zero) 214.26/145.85 new_primModNatS1(Zero, vyv29200) -> Zero 214.26/145.85 new_primMinusNatS2(Zero, Zero) -> Zero 214.26/145.85 new_primMinusNatS2(Zero, Succ(vyv3120)) -> Zero 214.26/145.85 new_primMinusNatS2(Succ(vyv3110), Zero) -> Succ(vyv3110) 214.26/145.85 new_esEs(Pos(Succ(vyv24300))) -> new_primEqInt(Pos(Succ(vyv24300))) 214.26/145.85 new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) 214.26/145.85 new_primEqInt(Pos(Zero)) -> True 214.26/145.85 new_primEqInt(Pos(Succ(vyv242000))) -> False 214.26/145.85 214.26/145.85 The set Q consists of the following terms: 214.26/145.85 214.26/145.85 new_primModNatS01(x0, x1, Succ(x2), Zero) 214.26/145.85 new_primModNatS1(Succ(Succ(x0)), Zero) 214.26/145.85 new_primEqInt(Pos(Zero)) 214.26/145.85 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 214.26/145.85 new_esEs(Pos(Succ(x0))) 214.26/145.85 new_primModNatS1(Zero, x0) 214.26/145.85 new_primModNatS02(x0, x1) 214.26/145.85 new_primMinusNatS2(Zero, Zero) 214.26/145.85 new_primModNatS1(Succ(Zero), Zero) 214.26/145.85 new_primMinusNatS2(Succ(x0), Zero) 214.26/145.85 new_esEs(Pos(Zero)) 214.26/145.85 new_primEqInt(Neg(Succ(x0))) 214.26/145.85 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 214.26/145.85 new_esEs(Neg(Succ(x0))) 214.26/145.85 new_primEqInt(Neg(Zero)) 214.26/145.85 new_primModNatS01(x0, x1, Zero, Zero) 214.26/145.85 new_primEqInt(Pos(Succ(x0))) 214.26/145.85 new_primMinusNatS2(Zero, Succ(x0)) 214.26/145.85 new_primModNatS1(Succ(Zero), Succ(x0)) 214.26/145.85 new_primMinusNatS2(Succ(x0), Succ(x1)) 214.26/145.85 new_primModNatS01(x0, x1, Zero, Succ(x2)) 214.26/145.85 new_esEs(Neg(Zero)) 214.26/145.85 214.26/145.85 We have to consider all minimal (P,Q,R)-chains. 214.26/145.85 ---------------------------------------- 214.26/145.85 214.26/145.85 (522) QReductionProof (EQUIVALENT) 214.26/145.85 We deleted the following terms from Q as they contain symbols which do neither occur in P nor in R.[THIEMANN]. 214.26/145.85 214.26/145.85 new_primEqInt(Neg(Succ(x0))) 214.26/145.85 new_esEs(Neg(Succ(x0))) 214.26/145.85 new_primEqInt(Neg(Zero)) 214.26/145.85 new_esEs(Neg(Zero)) 214.26/145.85 214.26/145.85 214.26/145.85 ---------------------------------------- 214.26/145.85 214.26/145.85 (523) 214.26/145.85 Obligation: 214.26/145.85 Q DP problem: 214.26/145.85 The TRS P consists of the following rules: 214.26/145.85 214.26/145.85 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))) 214.26/145.85 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)))))) 214.26/145.85 214.26/145.85 The TRS R consists of the following rules: 214.26/145.85 214.26/145.85 new_primModNatS1(Succ(Succ(vyv293000)), Succ(vyv292000)) -> new_primModNatS01(vyv293000, vyv292000, vyv293000, vyv292000) 214.26/145.85 new_primModNatS01(vyv331, vyv332, Zero, Zero) -> new_primModNatS02(vyv331, vyv332) 214.26/145.85 new_primModNatS02(vyv331, vyv332) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv331), Succ(vyv332)), Succ(vyv332)) 214.26/145.85 new_primModNatS01(vyv331, vyv332, Succ(vyv3330), Succ(vyv3340)) -> new_primModNatS01(vyv331, vyv332, vyv3330, vyv3340) 214.26/145.85 new_primModNatS01(vyv331, vyv332, Succ(vyv3330), Zero) -> new_primModNatS02(vyv331, vyv332) 214.26/145.85 new_primModNatS01(vyv331, vyv332, Zero, Succ(vyv3340)) -> Succ(Succ(vyv331)) 214.26/145.85 new_primMinusNatS2(Succ(vyv3110), Succ(vyv3120)) -> new_primMinusNatS2(vyv3110, vyv3120) 214.26/145.85 new_primModNatS1(Succ(Zero), Succ(vyv292000)) -> Succ(Zero) 214.26/145.85 new_primModNatS1(Zero, vyv29200) -> Zero 214.26/145.85 new_primMinusNatS2(Zero, Zero) -> Zero 214.26/145.85 new_primMinusNatS2(Zero, Succ(vyv3120)) -> Zero 214.26/145.85 new_primMinusNatS2(Succ(vyv3110), Zero) -> Succ(vyv3110) 214.26/145.85 new_esEs(Pos(Succ(vyv24300))) -> new_primEqInt(Pos(Succ(vyv24300))) 214.26/145.85 new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) 214.26/145.85 new_primEqInt(Pos(Zero)) -> True 214.26/145.85 new_primEqInt(Pos(Succ(vyv242000))) -> False 214.26/145.85 214.26/145.85 The set Q consists of the following terms: 214.26/145.85 214.26/145.85 new_primModNatS01(x0, x1, Succ(x2), Zero) 214.26/145.85 new_primModNatS1(Succ(Succ(x0)), Zero) 214.26/145.85 new_primEqInt(Pos(Zero)) 214.26/145.85 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 214.26/145.85 new_esEs(Pos(Succ(x0))) 214.26/145.85 new_primModNatS1(Zero, x0) 214.26/145.85 new_primModNatS02(x0, x1) 214.26/145.85 new_primMinusNatS2(Zero, Zero) 214.26/145.85 new_primModNatS1(Succ(Zero), Zero) 214.26/145.85 new_primMinusNatS2(Succ(x0), Zero) 214.26/145.85 new_esEs(Pos(Zero)) 214.26/145.85 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 214.26/145.85 new_primModNatS01(x0, x1, Zero, Zero) 214.26/145.85 new_primEqInt(Pos(Succ(x0))) 214.26/145.85 new_primMinusNatS2(Zero, Succ(x0)) 214.26/145.85 new_primModNatS1(Succ(Zero), Succ(x0)) 214.26/145.85 new_primMinusNatS2(Succ(x0), Succ(x1)) 214.26/145.85 new_primModNatS01(x0, x1, Zero, Succ(x2)) 214.26/145.85 214.26/145.85 We have to consider all (P,Q,R)-chains. 214.26/145.85 ---------------------------------------- 214.26/145.85 214.26/145.85 (524) InductionCalculusProof (EQUIVALENT) 214.26/145.85 Note that final constraints are written in bold face. 214.26/145.85 214.26/145.85 214.26/145.85 214.26/145.85 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: 214.26/145.85 *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: 214.26/145.85 214.26/145.85 (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)))) 214.26/145.85 214.26/145.85 214.26/145.85 214.26/145.85 We simplified constraint (1) using rules (I), (II), (IV), (VII) which results in the following new constraint: 214.26/145.85 214.26/145.85 (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)))) 214.26/145.85 214.26/145.85 214.26/145.85 214.26/145.85 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: 214.26/145.85 214.26/145.85 (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)))) 214.26/145.85 214.26/145.85 (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))))) 214.26/145.85 214.26/145.85 (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)))) 214.26/145.85 214.26/145.85 (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))))) 214.26/145.85 214.26/145.85 214.26/145.85 214.26/145.85 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: 214.26/145.85 214.26/145.85 (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)))) 214.26/145.85 214.26/145.85 214.26/145.85 214.26/145.85 We simplified constraint (4) using rule (IV) which results in the following new constraint: 214.26/145.85 214.26/145.85 (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))))) 214.26/145.85 214.26/145.85 214.26/145.85 214.26/145.85 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: 214.26/145.85 214.26/145.85 (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)))) 214.26/145.85 214.26/145.85 214.26/145.85 214.26/145.85 We simplified constraint (6) using rules (I), (II), (III), (IV) which results in the following new constraint: 214.26/145.85 214.26/145.85 (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))))) 214.26/145.85 214.26/145.85 214.26/145.85 214.26/145.85 We simplified constraint (7) using rules (III), (IV), (VII) which results in the following new constraint: 214.26/145.85 214.26/145.85 (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)))) 214.26/145.85 214.26/145.85 214.26/145.85 214.26/145.85 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: 214.26/145.85 214.26/145.85 (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))))) 214.26/145.85 214.26/145.85 (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)))))) 214.26/145.85 214.26/145.85 (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))))) 214.26/145.85 214.26/145.85 (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)))))) 214.26/145.85 214.26/145.85 214.26/145.85 214.26/145.85 We simplified constraint (12) using rules (III), (IV) which results in the following new constraint: 214.26/145.85 214.26/145.85 (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))))) 214.26/145.85 214.26/145.85 214.26/145.85 214.26/145.85 We simplified constraint (13) using rules (III), (IV) which results in the following new constraint: 214.26/145.85 214.26/145.85 (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)))))) 214.26/145.85 214.26/145.85 214.26/145.85 214.26/145.85 We simplified constraint (14) using rules (III), (IV) which results in the following new constraint: 214.26/145.85 214.26/145.85 (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))))) 214.26/145.85 214.26/145.85 214.26/145.85 214.26/145.85 We simplified constraint (15) using rules (I), (II), (III), (IV) which results in the following new constraint: 214.26/145.85 214.26/145.85 (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)))))) 214.26/145.85 214.26/145.85 214.26/145.85 214.26/145.85 We simplified constraint (9) using rules (III), (IV), (VII) which results in the following new constraint: 214.26/145.85 214.26/145.85 (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)))) 214.26/145.85 214.26/145.85 214.26/145.85 214.26/145.85 214.26/145.85 214.26/145.85 214.26/145.85 214.26/145.85 214.26/145.85 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: 214.26/145.85 *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: 214.26/145.85 214.26/145.85 (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))))))) 214.26/145.85 214.26/145.85 214.26/145.85 214.26/145.85 We simplified constraint (1) using rules (I), (II), (IV), (VII) which results in the following new constraint: 214.26/145.85 214.26/145.85 (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))))))) 214.26/145.85 214.26/145.85 214.26/145.85 214.26/145.85 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: 214.26/145.85 214.26/145.85 (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))))))) 214.26/145.85 214.26/145.85 (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))))))) 214.26/145.85 214.26/145.85 214.26/145.85 214.26/145.85 We simplified constraint (3) using rules (I), (II), (VII) which results in the following new constraint: 214.26/145.85 214.26/145.85 (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))))))) 214.26/145.85 214.26/145.85 214.26/145.85 214.26/145.85 We simplified constraint (4) using rules (I), (II), (VII) which results in the following new constraint: 214.26/145.85 214.26/145.85 (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))))))) 214.26/145.85 214.26/145.85 214.26/145.85 214.26/145.85 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: 214.26/145.85 214.26/145.85 (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))))))) 214.26/145.85 214.26/145.85 214.26/145.85 214.26/145.85 We simplified constraint (7) using rules (I), (II), (IV) which results in the following new constraint: 214.26/145.85 214.26/145.85 (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))))))) 214.26/145.85 214.26/145.85 214.26/145.85 214.26/145.85 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: 214.26/145.85 214.26/145.85 (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))))))) 214.26/145.85 214.26/145.85 (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)))))))) 214.26/145.85 214.26/145.85 (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)))))))) 214.26/145.85 214.26/145.85 (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))))))) 214.26/145.85 214.26/145.85 214.26/145.85 214.26/145.85 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: 214.26/145.85 214.26/145.85 (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))))))) 214.26/145.85 214.26/145.85 214.26/145.85 214.26/145.85 We simplified constraint (10) using rule (IV) which results in the following new constraint: 214.26/145.85 214.26/145.85 (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)))))))) 214.26/145.85 214.26/145.85 214.26/145.85 214.26/145.85 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: 214.26/145.85 214.26/145.85 (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)))))))) 214.26/145.85 214.26/145.85 214.26/145.85 214.26/145.85 We simplified constraint (12) using rules (I), (II), (IV) which results in the following new constraint: 214.26/145.85 214.26/145.85 (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))))))) 214.26/145.85 214.26/145.85 214.26/145.85 214.26/145.85 We simplified constraint (13) using rules (III), (IV), (VII) which results in the following new constraint: 214.26/145.85 214.26/145.85 (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))))))) 214.26/145.85 214.26/145.85 214.26/145.85 214.26/145.85 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: 214.26/145.85 214.26/145.85 (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)))))))) 214.26/145.85 214.26/145.85 (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))))))))) 214.26/145.85 214.26/145.85 (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))))))))) 214.26/145.85 214.26/145.85 (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)))))))) 214.26/145.85 214.26/145.85 214.26/145.85 214.26/145.85 We simplified constraint (18) using rules (III), (IV) which results in the following new constraint: 214.26/145.85 214.26/145.85 (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)))))))) 214.26/145.85 214.26/145.85 214.26/145.85 214.26/145.85 We simplified constraint (19) using rules (III), (IV) which results in the following new constraint: 214.26/145.85 214.26/145.85 (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))))))))) 214.26/145.85 214.26/145.85 214.26/145.85 214.26/145.85 We simplified constraint (20) using rules (III), (IV) which results in the following new constraint: 214.26/145.85 214.26/145.85 (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))))))))) 214.26/145.85 214.26/145.85 214.26/145.85 214.26/145.85 We simplified constraint (21) using rules (I), (II), (IV) which results in the following new constraint: 214.26/145.85 214.26/145.85 (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)))))))) 214.26/145.85 214.26/145.85 214.26/145.85 214.26/145.85 We simplified constraint (15) using rules (III), (IV), (VII) which results in the following new constraint: 214.26/145.85 214.26/145.85 (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)))))))) 214.26/145.85 214.26/145.85 214.26/145.85 214.26/145.85 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: 214.26/145.85 214.26/145.85 (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))))))) 214.26/145.85 214.26/145.85 214.26/145.85 214.26/145.85 We solved constraint (27) using rules (I), (II). 214.26/145.85 214.26/145.85 214.26/145.85 214.26/145.85 214.26/145.85 To summarize, we get the following constraints P__>=_ for the following pairs. 214.26/145.85 214.26/145.85 *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))) 214.26/145.85 214.26/145.85 *(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)))))) 214.26/145.85 214.26/145.85 214.26/145.85 *(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))))) 214.26/145.85 214.26/145.85 214.26/145.85 *(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)))) 214.26/145.85 214.26/145.85 214.26/145.85 *(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))))) 214.26/145.85 214.26/145.85 214.26/145.85 *(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)))))) 214.26/145.85 214.26/145.85 214.26/145.85 *(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))))) 214.26/145.85 214.26/145.85 214.26/145.85 *(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)))) 214.26/145.85 214.26/145.85 214.26/145.85 214.26/145.85 214.26/145.85 *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)))))) 214.26/145.85 214.26/145.85 *(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)))))))) 214.26/145.85 214.26/145.85 214.26/145.85 *(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))))))) 214.26/145.85 214.26/145.85 214.26/145.85 *(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))))))) 214.26/145.85 214.26/145.85 214.26/145.85 *(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)))))))) 214.26/145.85 214.26/145.85 214.26/145.85 *(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))))))))) 214.26/145.85 214.26/145.85 214.26/145.85 *(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))))))))) 214.26/145.85 214.26/145.85 214.26/145.85 *(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)))))))) 214.26/145.85 214.26/145.85 214.26/145.85 214.26/145.85 214.26/145.85 214.26/145.85 214.26/145.85 214.26/145.85 214.26/145.85 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. 214.26/145.85 ---------------------------------------- 214.26/145.85 214.26/145.85 (525) 214.26/145.85 Obligation: 214.26/145.85 Q DP problem: 214.26/145.85 The TRS P consists of the following rules: 214.26/145.85 214.26/145.85 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))) 214.26/145.85 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)))))) 214.26/145.85 214.26/145.85 The TRS R consists of the following rules: 214.26/145.85 214.26/145.85 new_primModNatS1(Succ(Succ(vyv293000)), Succ(vyv292000)) -> new_primModNatS01(vyv293000, vyv292000, vyv293000, vyv292000) 214.26/145.85 new_primModNatS01(vyv331, vyv332, Zero, Zero) -> new_primModNatS02(vyv331, vyv332) 214.26/145.85 new_primModNatS02(vyv331, vyv332) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv331), Succ(vyv332)), Succ(vyv332)) 214.26/145.85 new_primModNatS01(vyv331, vyv332, Succ(vyv3330), Succ(vyv3340)) -> new_primModNatS01(vyv331, vyv332, vyv3330, vyv3340) 214.26/145.85 new_primModNatS01(vyv331, vyv332, Succ(vyv3330), Zero) -> new_primModNatS02(vyv331, vyv332) 214.26/145.85 new_primModNatS01(vyv331, vyv332, Zero, Succ(vyv3340)) -> Succ(Succ(vyv331)) 214.26/145.85 new_primMinusNatS2(Succ(vyv3110), Succ(vyv3120)) -> new_primMinusNatS2(vyv3110, vyv3120) 214.26/145.85 new_primModNatS1(Succ(Zero), Succ(vyv292000)) -> Succ(Zero) 214.26/145.85 new_primModNatS1(Zero, vyv29200) -> Zero 214.26/145.85 new_primMinusNatS2(Zero, Zero) -> Zero 214.26/145.85 new_primMinusNatS2(Zero, Succ(vyv3120)) -> Zero 214.26/145.85 new_primMinusNatS2(Succ(vyv3110), Zero) -> Succ(vyv3110) 214.26/145.85 new_esEs(Pos(Succ(vyv24300))) -> new_primEqInt(Pos(Succ(vyv24300))) 214.26/145.85 new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) 214.26/145.85 new_primEqInt(Pos(Zero)) -> True 214.26/145.85 new_primEqInt(Pos(Succ(vyv242000))) -> False 214.26/145.85 214.26/145.85 The set Q consists of the following terms: 214.26/145.85 214.26/145.85 new_primModNatS01(x0, x1, Succ(x2), Zero) 214.26/145.85 new_primModNatS1(Succ(Succ(x0)), Zero) 214.26/145.85 new_primEqInt(Pos(Zero)) 214.26/145.85 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 214.26/145.85 new_esEs(Pos(Succ(x0))) 214.26/145.85 new_primModNatS1(Zero, x0) 214.26/145.85 new_primModNatS02(x0, x1) 214.26/145.85 new_primMinusNatS2(Zero, Zero) 214.26/145.85 new_primModNatS1(Succ(Zero), Zero) 214.26/145.85 new_primMinusNatS2(Succ(x0), Zero) 214.26/145.85 new_esEs(Pos(Zero)) 214.26/145.85 new_primEqInt(Neg(Succ(x0))) 214.26/145.85 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 214.26/145.85 new_esEs(Neg(Succ(x0))) 214.26/145.85 new_primEqInt(Neg(Zero)) 214.26/145.85 new_primModNatS01(x0, x1, Zero, Zero) 214.26/145.85 new_primEqInt(Pos(Succ(x0))) 214.26/145.85 new_primMinusNatS2(Zero, Succ(x0)) 214.26/145.85 new_primModNatS1(Succ(Zero), Succ(x0)) 214.26/145.85 new_primMinusNatS2(Succ(x0), Succ(x1)) 214.26/145.85 new_primModNatS01(x0, x1, Zero, Succ(x2)) 214.26/145.85 new_esEs(Neg(Zero)) 214.26/145.85 214.26/145.85 We have to consider all minimal (P,Q,R)-chains. 214.26/145.85 ---------------------------------------- 214.26/145.85 214.26/145.85 (526) 214.26/145.85 Obligation: 214.26/145.85 Q DP problem: 214.26/145.85 The TRS P consists of the following rules: 214.26/145.85 214.26/145.85 new_gcd0Gcd'1(False, Neg(Succ(x1)), Neg(x0)) -> new_gcd0Gcd'0(Neg(Succ(x1)), Neg(new_primModNatS1(x0, x1))) 214.26/145.85 new_gcd0Gcd'0(Neg(x0), Neg(Succ(x1))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(x0, x1))), Neg(Succ(x1)), Neg(x0)) 214.26/145.85 214.26/145.85 The TRS R consists of the following rules: 214.26/145.85 214.26/145.85 new_primModNatS01(vyv331, vyv332, Succ(vyv3330), Succ(vyv3340)) -> new_primModNatS01(vyv331, vyv332, vyv3330, vyv3340) 214.26/145.85 new_primModNatS1(Succ(Succ(vyv293000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv293000), Zero) 214.26/145.85 new_primModNatS1(Succ(Zero), Succ(vyv292000)) -> Succ(Zero) 214.26/145.85 new_primMinusNatS2(Zero, Zero) -> Zero 214.26/145.85 new_primEqInt(Neg(Zero)) -> True 214.26/145.85 new_primMinusNatS2(Succ(vyv3110), Succ(vyv3120)) -> new_primMinusNatS2(vyv3110, vyv3120) 214.26/145.85 new_primModNatS1(Succ(Succ(vyv293000)), Succ(vyv292000)) -> new_primModNatS01(vyv293000, vyv292000, vyv293000, vyv292000) 214.26/145.85 new_primModNatS01(vyv331, vyv332, Zero, Succ(vyv3340)) -> Succ(Succ(vyv331)) 214.26/145.85 new_primMinusNatS0(vyv271000) -> Succ(vyv271000) 214.26/145.85 new_esEs(Neg(Succ(vyv24300))) -> new_primEqInt(Neg(Succ(vyv24300))) 214.26/145.85 new_rem(Neg(vyv2930), Neg(Succ(vyv29200))) -> Neg(new_primModNatS1(vyv2930, vyv29200)) 214.26/145.85 new_primModNatS1(Zero, vyv29200) -> Zero 214.26/145.85 new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) 214.26/145.85 new_rem(Pos(vyv2930), Pos(Succ(vyv29200))) -> Pos(new_primModNatS1(vyv2930, vyv29200)) 214.26/145.85 new_primMinusNatS2(Zero, Succ(vyv3120)) -> Zero 214.26/145.85 new_primEqInt(Pos(Succ(vyv242000))) -> False 214.26/145.85 new_primEqInt(Pos(Zero)) -> True 214.26/145.85 new_error -> error([]) 214.26/145.85 new_esEs(Pos(Succ(vyv24300))) -> new_primEqInt(Pos(Succ(vyv24300))) 214.26/145.85 new_primEqInt(Neg(Succ(vyv242000))) -> False 214.26/145.85 new_rem(Neg(vyv2930), Neg(Zero)) -> new_error 214.26/145.85 new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) 214.26/145.85 new_primModNatS01(vyv331, vyv332, Zero, Zero) -> new_primModNatS02(vyv331, vyv332) 214.26/145.85 new_rem(Pos(vyv2930), Neg(Zero)) -> new_error 214.26/145.85 new_rem(Neg(vyv2930), Pos(Zero)) -> new_error 214.26/145.85 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 214.26/145.85 new_primModNatS01(vyv331, vyv332, Succ(vyv3330), Zero) -> new_primModNatS02(vyv331, vyv332) 214.26/145.85 new_primModNatS02(vyv331, vyv332) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv331), Succ(vyv332)), Succ(vyv332)) 214.26/145.85 new_rem(Pos(vyv2930), Neg(Succ(vyv29200))) -> Pos(new_primModNatS1(vyv2930, vyv29200)) 214.26/145.85 new_primMinusNatS1 -> Zero 214.26/145.85 new_primMinusNatS2(Succ(vyv3110), Zero) -> Succ(vyv3110) 214.26/145.85 new_rem(Neg(vyv2930), Pos(Succ(vyv29200))) -> Neg(new_primModNatS1(vyv2930, vyv29200)) 214.26/145.85 new_rem(Pos(vyv2930), Pos(Zero)) -> new_error 214.26/145.85 214.26/145.85 The set Q consists of the following terms: 214.26/145.85 214.26/145.85 new_primModNatS01(x0, x1, Succ(x2), Zero) 214.26/145.85 new_primModNatS1(Succ(Succ(x0)), Zero) 214.26/145.85 new_primMinusNatS1 214.26/145.85 new_primEqInt(Pos(Zero)) 214.26/145.85 new_rem(Pos(x0), Pos(Zero)) 214.26/145.85 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 214.26/145.85 new_esEs(Pos(Succ(x0))) 214.26/145.85 new_primModNatS1(Zero, x0) 214.26/145.85 new_primModNatS02(x0, x1) 214.26/145.85 new_primMinusNatS2(Zero, Zero) 214.26/145.85 new_error 214.26/145.85 new_primModNatS1(Succ(Zero), Zero) 214.26/145.85 new_primMinusNatS2(Succ(x0), Zero) 214.26/145.85 new_esEs(Pos(Zero)) 214.26/145.85 new_primMinusNatS0(x0) 214.26/145.85 new_primEqInt(Neg(Succ(x0))) 214.26/145.85 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 214.26/145.85 new_rem(Neg(x0), Neg(Zero)) 214.26/145.85 new_rem(Pos(x0), Neg(Succ(x1))) 214.26/145.85 new_rem(Neg(x0), Pos(Succ(x1))) 214.26/145.85 new_esEs(Neg(Succ(x0))) 214.26/145.85 new_primEqInt(Neg(Zero)) 214.26/145.85 new_rem(Pos(x0), Pos(Succ(x1))) 214.26/145.85 new_primModNatS01(x0, x1, Zero, Zero) 214.26/145.85 new_primEqInt(Pos(Succ(x0))) 214.26/145.85 new_rem(Neg(x0), Neg(Succ(x1))) 214.26/145.85 new_rem(Pos(x0), Neg(Zero)) 214.26/145.85 new_rem(Neg(x0), Pos(Zero)) 214.26/145.85 new_primMinusNatS2(Zero, Succ(x0)) 214.26/145.85 new_primModNatS1(Succ(Zero), Succ(x0)) 214.26/145.85 new_primMinusNatS2(Succ(x0), Succ(x1)) 214.26/145.85 new_primModNatS01(x0, x1, Zero, Succ(x2)) 214.26/145.85 new_esEs(Neg(Zero)) 214.26/145.85 214.26/145.85 We have to consider all minimal (P,Q,R)-chains. 214.26/145.85 ---------------------------------------- 214.26/145.85 214.26/145.85 (527) UsableRulesProof (EQUIVALENT) 214.26/145.85 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. 214.26/145.85 ---------------------------------------- 214.26/145.85 214.26/145.85 (528) 214.26/145.85 Obligation: 214.26/145.85 Q DP problem: 214.26/145.85 The TRS P consists of the following rules: 214.26/145.85 214.26/145.85 new_gcd0Gcd'1(False, Neg(Succ(x1)), Neg(x0)) -> new_gcd0Gcd'0(Neg(Succ(x1)), Neg(new_primModNatS1(x0, x1))) 214.26/145.85 new_gcd0Gcd'0(Neg(x0), Neg(Succ(x1))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(x0, x1))), Neg(Succ(x1)), Neg(x0)) 214.26/145.85 214.26/145.85 The TRS R consists of the following rules: 214.26/145.85 214.26/145.85 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 214.26/145.85 new_primModNatS1(Succ(Succ(vyv293000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv293000), Zero) 214.26/145.85 new_primModNatS1(Succ(Zero), Succ(vyv292000)) -> Succ(Zero) 214.26/145.85 new_primModNatS01(vyv331, vyv332, Zero, Zero) -> new_primModNatS02(vyv331, vyv332) 214.26/145.85 new_primModNatS02(vyv331, vyv332) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv331), Succ(vyv332)), Succ(vyv332)) 214.26/145.85 new_primModNatS1(Succ(Succ(vyv293000)), Succ(vyv292000)) -> new_primModNatS01(vyv293000, vyv292000, vyv293000, vyv292000) 214.26/145.85 new_primModNatS01(vyv331, vyv332, Succ(vyv3330), Succ(vyv3340)) -> new_primModNatS01(vyv331, vyv332, vyv3330, vyv3340) 214.26/145.85 new_primModNatS01(vyv331, vyv332, Succ(vyv3330), Zero) -> new_primModNatS02(vyv331, vyv332) 214.26/145.85 new_primModNatS1(Zero, vyv29200) -> Zero 214.26/145.85 new_esEs(Neg(Succ(vyv24300))) -> new_primEqInt(Neg(Succ(vyv24300))) 214.26/145.85 new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) 214.26/145.85 new_primEqInt(Neg(Zero)) -> True 214.26/145.85 new_primEqInt(Neg(Succ(vyv242000))) -> False 214.26/145.85 new_primMinusNatS2(Succ(vyv3110), Succ(vyv3120)) -> new_primMinusNatS2(vyv3110, vyv3120) 214.26/145.85 new_primModNatS01(vyv331, vyv332, Zero, Succ(vyv3340)) -> Succ(Succ(vyv331)) 214.26/145.85 new_primMinusNatS2(Zero, Zero) -> Zero 214.26/145.85 new_primMinusNatS2(Zero, Succ(vyv3120)) -> Zero 214.26/145.85 new_primMinusNatS2(Succ(vyv3110), Zero) -> Succ(vyv3110) 214.26/145.85 new_primMinusNatS1 -> Zero 214.26/145.85 new_primMinusNatS0(vyv271000) -> Succ(vyv271000) 214.26/145.85 214.26/145.85 The set Q consists of the following terms: 214.26/145.85 214.26/145.85 new_primModNatS01(x0, x1, Succ(x2), Zero) 214.26/145.85 new_primModNatS1(Succ(Succ(x0)), Zero) 214.26/145.85 new_primMinusNatS1 214.26/145.85 new_primEqInt(Pos(Zero)) 214.26/145.85 new_rem(Pos(x0), Pos(Zero)) 214.26/145.85 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 214.26/145.85 new_esEs(Pos(Succ(x0))) 214.26/145.85 new_primModNatS1(Zero, x0) 214.26/145.85 new_primModNatS02(x0, x1) 214.26/145.85 new_primMinusNatS2(Zero, Zero) 214.26/145.85 new_error 214.26/145.85 new_primModNatS1(Succ(Zero), Zero) 214.26/145.85 new_primMinusNatS2(Succ(x0), Zero) 214.26/145.85 new_esEs(Pos(Zero)) 214.26/145.85 new_primMinusNatS0(x0) 214.26/145.85 new_primEqInt(Neg(Succ(x0))) 214.26/145.85 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 214.26/145.85 new_rem(Neg(x0), Neg(Zero)) 214.26/145.85 new_rem(Pos(x0), Neg(Succ(x1))) 214.26/145.85 new_rem(Neg(x0), Pos(Succ(x1))) 214.26/145.85 new_esEs(Neg(Succ(x0))) 214.26/145.85 new_primEqInt(Neg(Zero)) 214.26/145.85 new_rem(Pos(x0), Pos(Succ(x1))) 214.26/145.85 new_primModNatS01(x0, x1, Zero, Zero) 214.26/145.85 new_primEqInt(Pos(Succ(x0))) 214.26/145.85 new_rem(Neg(x0), Neg(Succ(x1))) 214.26/145.85 new_rem(Pos(x0), Neg(Zero)) 214.26/145.85 new_rem(Neg(x0), Pos(Zero)) 214.26/145.85 new_primMinusNatS2(Zero, Succ(x0)) 214.26/145.85 new_primModNatS1(Succ(Zero), Succ(x0)) 214.26/145.85 new_primMinusNatS2(Succ(x0), Succ(x1)) 214.26/145.85 new_primModNatS01(x0, x1, Zero, Succ(x2)) 214.26/145.85 new_esEs(Neg(Zero)) 214.26/145.85 214.26/145.85 We have to consider all minimal (P,Q,R)-chains. 214.26/145.85 ---------------------------------------- 214.26/145.85 214.26/145.85 (529) QReductionProof (EQUIVALENT) 214.26/145.85 We deleted the following terms from Q as each root-symbol of these terms does neither occur in P nor in R.[THIEMANN]. 214.26/145.85 214.26/145.85 new_rem(Pos(x0), Pos(Zero)) 214.26/145.85 new_error 214.26/145.85 new_rem(Neg(x0), Neg(Zero)) 214.26/145.85 new_rem(Pos(x0), Neg(Succ(x1))) 214.26/145.85 new_rem(Neg(x0), Pos(Succ(x1))) 214.26/145.85 new_rem(Pos(x0), Pos(Succ(x1))) 214.26/145.85 new_rem(Neg(x0), Neg(Succ(x1))) 214.26/145.85 new_rem(Pos(x0), Neg(Zero)) 214.26/145.85 new_rem(Neg(x0), Pos(Zero)) 214.26/145.85 214.26/145.85 214.26/145.85 ---------------------------------------- 214.26/145.85 214.26/145.85 (530) 214.26/145.85 Obligation: 214.26/145.85 Q DP problem: 214.26/145.85 The TRS P consists of the following rules: 214.26/145.85 214.26/145.85 new_gcd0Gcd'1(False, Neg(Succ(x1)), Neg(x0)) -> new_gcd0Gcd'0(Neg(Succ(x1)), Neg(new_primModNatS1(x0, x1))) 214.26/145.85 new_gcd0Gcd'0(Neg(x0), Neg(Succ(x1))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(x0, x1))), Neg(Succ(x1)), Neg(x0)) 214.26/145.85 214.26/145.85 The TRS R consists of the following rules: 214.26/145.85 214.26/145.85 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 214.26/145.85 new_primModNatS1(Succ(Succ(vyv293000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv293000), Zero) 214.26/145.85 new_primModNatS1(Succ(Zero), Succ(vyv292000)) -> Succ(Zero) 214.26/145.85 new_primModNatS01(vyv331, vyv332, Zero, Zero) -> new_primModNatS02(vyv331, vyv332) 214.26/145.85 new_primModNatS02(vyv331, vyv332) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv331), Succ(vyv332)), Succ(vyv332)) 214.26/145.85 new_primModNatS1(Succ(Succ(vyv293000)), Succ(vyv292000)) -> new_primModNatS01(vyv293000, vyv292000, vyv293000, vyv292000) 214.26/145.85 new_primModNatS01(vyv331, vyv332, Succ(vyv3330), Succ(vyv3340)) -> new_primModNatS01(vyv331, vyv332, vyv3330, vyv3340) 214.26/145.85 new_primModNatS01(vyv331, vyv332, Succ(vyv3330), Zero) -> new_primModNatS02(vyv331, vyv332) 214.26/145.85 new_primModNatS1(Zero, vyv29200) -> Zero 214.26/145.85 new_esEs(Neg(Succ(vyv24300))) -> new_primEqInt(Neg(Succ(vyv24300))) 214.26/145.85 new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) 214.26/145.85 new_primEqInt(Neg(Zero)) -> True 214.26/145.85 new_primEqInt(Neg(Succ(vyv242000))) -> False 214.26/145.85 new_primMinusNatS2(Succ(vyv3110), Succ(vyv3120)) -> new_primMinusNatS2(vyv3110, vyv3120) 214.26/145.85 new_primModNatS01(vyv331, vyv332, Zero, Succ(vyv3340)) -> Succ(Succ(vyv331)) 214.26/145.85 new_primMinusNatS2(Zero, Zero) -> Zero 214.26/145.85 new_primMinusNatS2(Zero, Succ(vyv3120)) -> Zero 214.26/145.85 new_primMinusNatS2(Succ(vyv3110), Zero) -> Succ(vyv3110) 214.26/145.85 new_primMinusNatS1 -> Zero 214.26/145.85 new_primMinusNatS0(vyv271000) -> Succ(vyv271000) 214.26/145.85 214.26/145.85 The set Q consists of the following terms: 214.26/145.85 214.26/145.85 new_primModNatS01(x0, x1, Succ(x2), Zero) 214.26/145.85 new_primModNatS1(Succ(Succ(x0)), Zero) 214.26/145.85 new_primMinusNatS1 214.26/145.85 new_primEqInt(Pos(Zero)) 214.26/145.85 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 214.26/145.85 new_esEs(Pos(Succ(x0))) 214.26/145.85 new_primModNatS1(Zero, x0) 214.26/145.85 new_primModNatS02(x0, x1) 214.26/145.85 new_primMinusNatS2(Zero, Zero) 214.26/145.85 new_primModNatS1(Succ(Zero), Zero) 214.26/145.85 new_primMinusNatS2(Succ(x0), Zero) 214.26/145.85 new_esEs(Pos(Zero)) 214.26/145.85 new_primMinusNatS0(x0) 214.26/145.85 new_primEqInt(Neg(Succ(x0))) 214.26/145.85 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 214.26/145.85 new_esEs(Neg(Succ(x0))) 214.26/145.85 new_primEqInt(Neg(Zero)) 214.26/145.85 new_primModNatS01(x0, x1, Zero, Zero) 214.26/145.85 new_primEqInt(Pos(Succ(x0))) 214.26/145.85 new_primMinusNatS2(Zero, Succ(x0)) 214.26/145.85 new_primModNatS1(Succ(Zero), Succ(x0)) 214.26/145.85 new_primMinusNatS2(Succ(x0), Succ(x1)) 214.26/145.85 new_primModNatS01(x0, x1, Zero, Succ(x2)) 214.26/145.85 new_esEs(Neg(Zero)) 214.26/145.85 214.26/145.85 We have to consider all minimal (P,Q,R)-chains. 214.26/145.85 ---------------------------------------- 214.26/145.85 214.26/145.85 (531) TransformationProof (EQUIVALENT) 214.26/145.85 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]: 214.26/145.85 214.26/145.85 (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)))) 214.26/145.85 (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)))) 214.26/145.85 (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)))) 214.26/145.85 (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)))) 214.26/145.85 (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))) 214.26/145.85 214.26/145.85 214.26/145.85 ---------------------------------------- 214.26/145.85 214.26/145.85 (532) 214.26/145.85 Obligation: 214.26/145.85 Q DP problem: 214.26/145.85 The TRS P consists of the following rules: 214.26/145.85 214.26/145.85 new_gcd0Gcd'0(Neg(x0), Neg(Succ(x1))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(x0, x1))), Neg(Succ(x1)), Neg(x0)) 214.26/145.85 new_gcd0Gcd'1(False, Neg(Succ(Zero)), Neg(Succ(Zero))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS1, Zero))) 214.26/145.85 new_gcd0Gcd'1(False, Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero))) 214.26/145.85 new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 214.26/145.85 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))) 214.26/145.85 new_gcd0Gcd'1(False, Neg(Succ(x0)), Neg(Zero)) -> new_gcd0Gcd'0(Neg(Succ(x0)), Neg(Zero)) 214.26/145.85 214.26/145.85 The TRS R consists of the following rules: 214.26/145.85 214.26/145.85 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 214.26/145.85 new_primModNatS1(Succ(Succ(vyv293000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv293000), Zero) 214.26/145.85 new_primModNatS1(Succ(Zero), Succ(vyv292000)) -> Succ(Zero) 214.26/145.85 new_primModNatS01(vyv331, vyv332, Zero, Zero) -> new_primModNatS02(vyv331, vyv332) 214.26/145.85 new_primModNatS02(vyv331, vyv332) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv331), Succ(vyv332)), Succ(vyv332)) 214.26/145.85 new_primModNatS1(Succ(Succ(vyv293000)), Succ(vyv292000)) -> new_primModNatS01(vyv293000, vyv292000, vyv293000, vyv292000) 214.26/145.85 new_primModNatS01(vyv331, vyv332, Succ(vyv3330), Succ(vyv3340)) -> new_primModNatS01(vyv331, vyv332, vyv3330, vyv3340) 214.26/145.85 new_primModNatS01(vyv331, vyv332, Succ(vyv3330), Zero) -> new_primModNatS02(vyv331, vyv332) 214.26/145.85 new_primModNatS1(Zero, vyv29200) -> Zero 214.26/145.85 new_esEs(Neg(Succ(vyv24300))) -> new_primEqInt(Neg(Succ(vyv24300))) 214.26/145.85 new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) 214.26/145.85 new_primEqInt(Neg(Zero)) -> True 214.26/145.85 new_primEqInt(Neg(Succ(vyv242000))) -> False 214.26/145.85 new_primMinusNatS2(Succ(vyv3110), Succ(vyv3120)) -> new_primMinusNatS2(vyv3110, vyv3120) 214.26/145.85 new_primModNatS01(vyv331, vyv332, Zero, Succ(vyv3340)) -> Succ(Succ(vyv331)) 214.26/145.85 new_primMinusNatS2(Zero, Zero) -> Zero 214.26/145.85 new_primMinusNatS2(Zero, Succ(vyv3120)) -> Zero 214.26/145.85 new_primMinusNatS2(Succ(vyv3110), Zero) -> Succ(vyv3110) 214.26/145.85 new_primMinusNatS1 -> Zero 214.26/145.85 new_primMinusNatS0(vyv271000) -> Succ(vyv271000) 214.26/145.85 214.26/145.85 The set Q consists of the following terms: 214.26/145.85 214.26/145.85 new_primModNatS01(x0, x1, Succ(x2), Zero) 214.26/145.85 new_primModNatS1(Succ(Succ(x0)), Zero) 214.26/145.85 new_primMinusNatS1 214.26/145.85 new_primEqInt(Pos(Zero)) 214.26/145.85 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 214.26/145.85 new_esEs(Pos(Succ(x0))) 214.26/145.85 new_primModNatS1(Zero, x0) 214.26/145.85 new_primModNatS02(x0, x1) 214.26/145.85 new_primMinusNatS2(Zero, Zero) 214.26/145.85 new_primModNatS1(Succ(Zero), Zero) 214.26/145.85 new_primMinusNatS2(Succ(x0), Zero) 214.26/145.85 new_esEs(Pos(Zero)) 214.26/145.85 new_primMinusNatS0(x0) 214.26/145.85 new_primEqInt(Neg(Succ(x0))) 214.26/145.85 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 214.26/145.85 new_esEs(Neg(Succ(x0))) 214.26/145.85 new_primEqInt(Neg(Zero)) 214.26/145.85 new_primModNatS01(x0, x1, Zero, Zero) 214.26/145.85 new_primEqInt(Pos(Succ(x0))) 214.26/145.85 new_primMinusNatS2(Zero, Succ(x0)) 214.26/145.85 new_primModNatS1(Succ(Zero), Succ(x0)) 214.26/145.85 new_primMinusNatS2(Succ(x0), Succ(x1)) 214.26/145.85 new_primModNatS01(x0, x1, Zero, Succ(x2)) 214.26/145.85 new_esEs(Neg(Zero)) 214.26/145.85 214.26/145.85 We have to consider all minimal (P,Q,R)-chains. 214.26/145.85 ---------------------------------------- 214.26/145.85 214.26/145.85 (533) DependencyGraphProof (EQUIVALENT) 214.26/145.85 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. 214.26/145.85 ---------------------------------------- 214.26/145.85 214.26/145.85 (534) 214.26/145.85 Obligation: 214.26/145.85 Q DP problem: 214.26/145.85 The TRS P consists of the following rules: 214.26/145.85 214.26/145.85 new_gcd0Gcd'1(False, Neg(Succ(Zero)), Neg(Succ(Zero))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS1, Zero))) 214.26/145.85 new_gcd0Gcd'0(Neg(x0), Neg(Succ(x1))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(x0, x1))), Neg(Succ(x1)), Neg(x0)) 214.26/145.85 new_gcd0Gcd'1(False, Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero))) 214.26/145.85 new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 214.26/145.85 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))) 214.26/145.85 214.26/145.85 The TRS R consists of the following rules: 214.26/145.85 214.26/145.85 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 214.26/145.85 new_primModNatS1(Succ(Succ(vyv293000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv293000), Zero) 214.26/145.85 new_primModNatS1(Succ(Zero), Succ(vyv292000)) -> Succ(Zero) 214.26/145.85 new_primModNatS01(vyv331, vyv332, Zero, Zero) -> new_primModNatS02(vyv331, vyv332) 214.26/145.85 new_primModNatS02(vyv331, vyv332) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv331), Succ(vyv332)), Succ(vyv332)) 214.26/145.85 new_primModNatS1(Succ(Succ(vyv293000)), Succ(vyv292000)) -> new_primModNatS01(vyv293000, vyv292000, vyv293000, vyv292000) 214.26/145.85 new_primModNatS01(vyv331, vyv332, Succ(vyv3330), Succ(vyv3340)) -> new_primModNatS01(vyv331, vyv332, vyv3330, vyv3340) 214.26/145.85 new_primModNatS01(vyv331, vyv332, Succ(vyv3330), Zero) -> new_primModNatS02(vyv331, vyv332) 214.26/145.85 new_primModNatS1(Zero, vyv29200) -> Zero 214.26/145.85 new_esEs(Neg(Succ(vyv24300))) -> new_primEqInt(Neg(Succ(vyv24300))) 214.26/145.85 new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) 214.26/145.85 new_primEqInt(Neg(Zero)) -> True 214.26/145.85 new_primEqInt(Neg(Succ(vyv242000))) -> False 214.26/145.85 new_primMinusNatS2(Succ(vyv3110), Succ(vyv3120)) -> new_primMinusNatS2(vyv3110, vyv3120) 214.26/145.85 new_primModNatS01(vyv331, vyv332, Zero, Succ(vyv3340)) -> Succ(Succ(vyv331)) 214.26/145.85 new_primMinusNatS2(Zero, Zero) -> Zero 214.26/145.85 new_primMinusNatS2(Zero, Succ(vyv3120)) -> Zero 214.26/145.85 new_primMinusNatS2(Succ(vyv3110), Zero) -> Succ(vyv3110) 214.26/145.85 new_primMinusNatS1 -> Zero 214.26/145.85 new_primMinusNatS0(vyv271000) -> Succ(vyv271000) 214.26/145.85 214.26/145.85 The set Q consists of the following terms: 214.26/145.85 214.26/145.85 new_primModNatS01(x0, x1, Succ(x2), Zero) 214.26/145.85 new_primModNatS1(Succ(Succ(x0)), Zero) 214.26/145.85 new_primMinusNatS1 214.26/145.85 new_primEqInt(Pos(Zero)) 214.26/145.85 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 214.26/145.85 new_esEs(Pos(Succ(x0))) 214.26/145.85 new_primModNatS1(Zero, x0) 214.26/145.85 new_primModNatS02(x0, x1) 214.26/145.85 new_primMinusNatS2(Zero, Zero) 214.26/145.85 new_primModNatS1(Succ(Zero), Zero) 214.26/145.85 new_primMinusNatS2(Succ(x0), Zero) 214.26/145.85 new_esEs(Pos(Zero)) 214.26/145.85 new_primMinusNatS0(x0) 214.26/145.85 new_primEqInt(Neg(Succ(x0))) 214.26/145.85 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 214.26/145.85 new_esEs(Neg(Succ(x0))) 214.26/145.85 new_primEqInt(Neg(Zero)) 214.26/145.85 new_primModNatS01(x0, x1, Zero, Zero) 214.26/145.85 new_primEqInt(Pos(Succ(x0))) 214.26/145.85 new_primMinusNatS2(Zero, Succ(x0)) 214.26/145.85 new_primModNatS1(Succ(Zero), Succ(x0)) 214.26/145.85 new_primMinusNatS2(Succ(x0), Succ(x1)) 214.26/145.85 new_primModNatS01(x0, x1, Zero, Succ(x2)) 214.26/145.85 new_esEs(Neg(Zero)) 214.26/145.85 214.26/145.85 We have to consider all minimal (P,Q,R)-chains. 214.26/145.85 ---------------------------------------- 214.26/145.85 214.26/145.85 (535) TransformationProof (EQUIVALENT) 214.26/145.85 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]: 214.26/145.86 214.26/145.86 (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)))) 214.26/145.86 214.26/145.86 214.26/145.86 ---------------------------------------- 214.26/145.86 214.26/145.86 (536) 214.26/145.86 Obligation: 214.26/145.86 Q DP problem: 214.26/145.86 The TRS P consists of the following rules: 214.26/145.86 214.26/145.86 new_gcd0Gcd'0(Neg(x0), Neg(Succ(x1))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(x0, x1))), Neg(Succ(x1)), Neg(x0)) 214.26/145.86 new_gcd0Gcd'1(False, Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero))) 214.26/145.86 new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 214.26/145.86 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))) 214.26/145.86 new_gcd0Gcd'1(False, Neg(Succ(Zero)), Neg(Succ(Zero))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Neg(new_primModNatS1(Zero, Zero))) 214.26/145.86 214.26/145.86 The TRS R consists of the following rules: 214.26/145.86 214.26/145.86 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 214.26/145.86 new_primModNatS1(Succ(Succ(vyv293000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv293000), Zero) 214.26/145.86 new_primModNatS1(Succ(Zero), Succ(vyv292000)) -> Succ(Zero) 214.26/145.86 new_primModNatS01(vyv331, vyv332, Zero, Zero) -> new_primModNatS02(vyv331, vyv332) 214.26/145.86 new_primModNatS02(vyv331, vyv332) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv331), Succ(vyv332)), Succ(vyv332)) 214.26/145.86 new_primModNatS1(Succ(Succ(vyv293000)), Succ(vyv292000)) -> new_primModNatS01(vyv293000, vyv292000, vyv293000, vyv292000) 214.26/145.86 new_primModNatS01(vyv331, vyv332, Succ(vyv3330), Succ(vyv3340)) -> new_primModNatS01(vyv331, vyv332, vyv3330, vyv3340) 214.26/145.86 new_primModNatS01(vyv331, vyv332, Succ(vyv3330), Zero) -> new_primModNatS02(vyv331, vyv332) 214.26/145.86 new_primModNatS1(Zero, vyv29200) -> Zero 214.26/145.86 new_esEs(Neg(Succ(vyv24300))) -> new_primEqInt(Neg(Succ(vyv24300))) 214.26/145.86 new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) 214.26/145.86 new_primEqInt(Neg(Zero)) -> True 214.26/145.86 new_primEqInt(Neg(Succ(vyv242000))) -> False 214.26/145.86 new_primMinusNatS2(Succ(vyv3110), Succ(vyv3120)) -> new_primMinusNatS2(vyv3110, vyv3120) 214.26/145.86 new_primModNatS01(vyv331, vyv332, Zero, Succ(vyv3340)) -> Succ(Succ(vyv331)) 214.26/145.86 new_primMinusNatS2(Zero, Zero) -> Zero 214.26/145.86 new_primMinusNatS2(Zero, Succ(vyv3120)) -> Zero 214.26/145.86 new_primMinusNatS2(Succ(vyv3110), Zero) -> Succ(vyv3110) 214.26/145.86 new_primMinusNatS1 -> Zero 214.26/145.86 new_primMinusNatS0(vyv271000) -> Succ(vyv271000) 214.26/145.86 214.26/145.86 The set Q consists of the following terms: 214.26/145.86 214.26/145.86 new_primModNatS01(x0, x1, Succ(x2), Zero) 214.26/145.86 new_primModNatS1(Succ(Succ(x0)), Zero) 214.26/145.86 new_primMinusNatS1 214.26/145.86 new_primEqInt(Pos(Zero)) 214.26/145.86 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 214.26/145.86 new_esEs(Pos(Succ(x0))) 214.26/145.86 new_primModNatS1(Zero, x0) 214.26/145.86 new_primModNatS02(x0, x1) 214.26/145.86 new_primMinusNatS2(Zero, Zero) 214.26/145.86 new_primModNatS1(Succ(Zero), Zero) 214.26/145.86 new_primMinusNatS2(Succ(x0), Zero) 214.26/145.86 new_esEs(Pos(Zero)) 214.26/145.86 new_primMinusNatS0(x0) 214.26/145.86 new_primEqInt(Neg(Succ(x0))) 214.26/145.86 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 214.26/145.86 new_esEs(Neg(Succ(x0))) 214.26/145.86 new_primEqInt(Neg(Zero)) 214.26/145.86 new_primModNatS01(x0, x1, Zero, Zero) 214.26/145.86 new_primEqInt(Pos(Succ(x0))) 214.26/145.86 new_primMinusNatS2(Zero, Succ(x0)) 214.26/145.86 new_primModNatS1(Succ(Zero), Succ(x0)) 214.26/145.86 new_primMinusNatS2(Succ(x0), Succ(x1)) 214.26/145.86 new_primModNatS01(x0, x1, Zero, Succ(x2)) 214.26/145.86 new_esEs(Neg(Zero)) 214.26/145.86 214.26/145.86 We have to consider all minimal (P,Q,R)-chains. 214.26/145.86 ---------------------------------------- 214.26/145.86 214.26/145.86 (537) DependencyGraphProof (EQUIVALENT) 214.26/145.86 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. 214.26/145.86 ---------------------------------------- 214.26/145.86 214.26/145.86 (538) 214.26/145.86 Obligation: 214.26/145.86 Q DP problem: 214.26/145.86 The TRS P consists of the following rules: 214.26/145.86 214.26/145.86 new_gcd0Gcd'1(False, Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero))) 214.26/145.86 new_gcd0Gcd'0(Neg(x0), Neg(Succ(x1))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(x0, x1))), Neg(Succ(x1)), Neg(x0)) 214.26/145.86 new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 214.26/145.86 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))) 214.26/145.86 214.26/145.86 The TRS R consists of the following rules: 214.26/145.86 214.26/145.86 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 214.26/145.86 new_primModNatS1(Succ(Succ(vyv293000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv293000), Zero) 214.26/145.86 new_primModNatS1(Succ(Zero), Succ(vyv292000)) -> Succ(Zero) 214.26/145.86 new_primModNatS01(vyv331, vyv332, Zero, Zero) -> new_primModNatS02(vyv331, vyv332) 214.26/145.86 new_primModNatS02(vyv331, vyv332) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv331), Succ(vyv332)), Succ(vyv332)) 214.26/145.86 new_primModNatS1(Succ(Succ(vyv293000)), Succ(vyv292000)) -> new_primModNatS01(vyv293000, vyv292000, vyv293000, vyv292000) 214.26/145.86 new_primModNatS01(vyv331, vyv332, Succ(vyv3330), Succ(vyv3340)) -> new_primModNatS01(vyv331, vyv332, vyv3330, vyv3340) 214.26/145.86 new_primModNatS01(vyv331, vyv332, Succ(vyv3330), Zero) -> new_primModNatS02(vyv331, vyv332) 214.26/145.86 new_primModNatS1(Zero, vyv29200) -> Zero 214.26/145.86 new_esEs(Neg(Succ(vyv24300))) -> new_primEqInt(Neg(Succ(vyv24300))) 214.26/145.86 new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) 214.26/145.86 new_primEqInt(Neg(Zero)) -> True 214.26/145.86 new_primEqInt(Neg(Succ(vyv242000))) -> False 214.26/145.86 new_primMinusNatS2(Succ(vyv3110), Succ(vyv3120)) -> new_primMinusNatS2(vyv3110, vyv3120) 214.26/145.86 new_primModNatS01(vyv331, vyv332, Zero, Succ(vyv3340)) -> Succ(Succ(vyv331)) 214.26/145.86 new_primMinusNatS2(Zero, Zero) -> Zero 214.26/145.86 new_primMinusNatS2(Zero, Succ(vyv3120)) -> Zero 214.26/145.86 new_primMinusNatS2(Succ(vyv3110), Zero) -> Succ(vyv3110) 214.26/145.86 new_primMinusNatS1 -> Zero 214.26/145.86 new_primMinusNatS0(vyv271000) -> Succ(vyv271000) 214.26/145.86 214.26/145.86 The set Q consists of the following terms: 214.26/145.86 214.26/145.86 new_primModNatS01(x0, x1, Succ(x2), Zero) 214.26/145.86 new_primModNatS1(Succ(Succ(x0)), Zero) 214.26/145.86 new_primMinusNatS1 214.26/145.86 new_primEqInt(Pos(Zero)) 214.26/145.86 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 214.26/145.86 new_esEs(Pos(Succ(x0))) 214.26/145.86 new_primModNatS1(Zero, x0) 214.26/145.86 new_primModNatS02(x0, x1) 214.26/145.86 new_primMinusNatS2(Zero, Zero) 214.26/145.86 new_primModNatS1(Succ(Zero), Zero) 214.26/145.86 new_primMinusNatS2(Succ(x0), Zero) 214.26/145.86 new_esEs(Pos(Zero)) 214.26/145.86 new_primMinusNatS0(x0) 214.26/145.86 new_primEqInt(Neg(Succ(x0))) 214.26/145.86 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 214.26/145.86 new_esEs(Neg(Succ(x0))) 214.26/145.86 new_primEqInt(Neg(Zero)) 214.26/145.86 new_primModNatS01(x0, x1, Zero, Zero) 214.26/145.86 new_primEqInt(Pos(Succ(x0))) 214.26/145.86 new_primMinusNatS2(Zero, Succ(x0)) 214.26/145.86 new_primModNatS1(Succ(Zero), Succ(x0)) 214.26/145.86 new_primMinusNatS2(Succ(x0), Succ(x1)) 214.26/145.86 new_primModNatS01(x0, x1, Zero, Succ(x2)) 214.26/145.86 new_esEs(Neg(Zero)) 214.26/145.86 214.26/145.86 We have to consider all minimal (P,Q,R)-chains. 214.26/145.86 ---------------------------------------- 214.26/145.86 214.26/145.86 (539) TransformationProof (EQUIVALENT) 214.26/145.86 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]: 214.26/145.86 214.26/145.86 (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)))) 214.26/145.86 214.26/145.86 214.26/145.86 ---------------------------------------- 214.26/145.86 214.26/145.86 (540) 214.26/145.86 Obligation: 214.26/145.86 Q DP problem: 214.26/145.86 The TRS P consists of the following rules: 214.26/145.86 214.26/145.86 new_gcd0Gcd'0(Neg(x0), Neg(Succ(x1))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(x0, x1))), Neg(Succ(x1)), Neg(x0)) 214.26/145.86 new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 214.26/145.86 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))) 214.26/145.86 new_gcd0Gcd'1(False, Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 214.26/145.86 214.26/145.86 The TRS R consists of the following rules: 214.26/145.86 214.26/145.86 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 214.26/145.86 new_primModNatS1(Succ(Succ(vyv293000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv293000), Zero) 214.26/145.86 new_primModNatS1(Succ(Zero), Succ(vyv292000)) -> Succ(Zero) 214.26/145.86 new_primModNatS01(vyv331, vyv332, Zero, Zero) -> new_primModNatS02(vyv331, vyv332) 214.26/145.86 new_primModNatS02(vyv331, vyv332) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv331), Succ(vyv332)), Succ(vyv332)) 214.26/145.86 new_primModNatS1(Succ(Succ(vyv293000)), Succ(vyv292000)) -> new_primModNatS01(vyv293000, vyv292000, vyv293000, vyv292000) 214.26/145.86 new_primModNatS01(vyv331, vyv332, Succ(vyv3330), Succ(vyv3340)) -> new_primModNatS01(vyv331, vyv332, vyv3330, vyv3340) 214.26/145.86 new_primModNatS01(vyv331, vyv332, Succ(vyv3330), Zero) -> new_primModNatS02(vyv331, vyv332) 214.26/145.86 new_primModNatS1(Zero, vyv29200) -> Zero 214.26/145.86 new_esEs(Neg(Succ(vyv24300))) -> new_primEqInt(Neg(Succ(vyv24300))) 214.26/145.86 new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) 214.26/145.86 new_primEqInt(Neg(Zero)) -> True 214.26/145.86 new_primEqInt(Neg(Succ(vyv242000))) -> False 214.26/145.86 new_primMinusNatS2(Succ(vyv3110), Succ(vyv3120)) -> new_primMinusNatS2(vyv3110, vyv3120) 214.26/145.86 new_primModNatS01(vyv331, vyv332, Zero, Succ(vyv3340)) -> Succ(Succ(vyv331)) 214.26/145.86 new_primMinusNatS2(Zero, Zero) -> Zero 214.26/145.86 new_primMinusNatS2(Zero, Succ(vyv3120)) -> Zero 214.26/145.86 new_primMinusNatS2(Succ(vyv3110), Zero) -> Succ(vyv3110) 214.26/145.86 new_primMinusNatS1 -> Zero 214.26/145.86 new_primMinusNatS0(vyv271000) -> Succ(vyv271000) 214.26/145.86 214.26/145.86 The set Q consists of the following terms: 214.26/145.86 214.26/145.86 new_primModNatS01(x0, x1, Succ(x2), Zero) 214.26/145.86 new_primModNatS1(Succ(Succ(x0)), Zero) 214.26/145.86 new_primMinusNatS1 214.26/145.86 new_primEqInt(Pos(Zero)) 214.26/145.86 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 214.26/145.86 new_esEs(Pos(Succ(x0))) 214.26/145.86 new_primModNatS1(Zero, x0) 214.26/145.86 new_primModNatS02(x0, x1) 214.26/145.86 new_primMinusNatS2(Zero, Zero) 214.26/145.86 new_primModNatS1(Succ(Zero), Zero) 214.26/145.86 new_primMinusNatS2(Succ(x0), Zero) 214.26/145.86 new_esEs(Pos(Zero)) 214.26/145.86 new_primMinusNatS0(x0) 214.26/145.86 new_primEqInt(Neg(Succ(x0))) 214.26/145.86 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 214.26/145.86 new_esEs(Neg(Succ(x0))) 214.26/145.86 new_primEqInt(Neg(Zero)) 214.26/145.86 new_primModNatS01(x0, x1, Zero, Zero) 214.26/145.86 new_primEqInt(Pos(Succ(x0))) 214.26/145.86 new_primMinusNatS2(Zero, Succ(x0)) 214.26/145.86 new_primModNatS1(Succ(Zero), Succ(x0)) 214.26/145.86 new_primMinusNatS2(Succ(x0), Succ(x1)) 214.26/145.86 new_primModNatS01(x0, x1, Zero, Succ(x2)) 214.26/145.86 new_esEs(Neg(Zero)) 214.26/145.86 214.26/145.86 We have to consider all minimal (P,Q,R)-chains. 214.26/145.86 ---------------------------------------- 214.26/145.86 214.26/145.86 (541) TransformationProof (EQUIVALENT) 214.26/145.86 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]: 214.26/145.86 214.26/145.86 (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)))) 214.26/145.86 (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))))) 214.26/145.86 (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)))) 214.26/145.86 (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))))) 214.26/145.86 (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))) 214.26/145.86 214.26/145.86 214.26/145.86 ---------------------------------------- 214.26/145.86 214.26/145.86 (542) 214.26/145.86 Obligation: 214.26/145.86 Q DP problem: 214.26/145.86 The TRS P consists of the following rules: 214.26/145.86 214.26/145.86 new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 214.26/145.86 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))) 214.26/145.86 new_gcd0Gcd'1(False, Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 214.26/145.86 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))) 214.26/145.86 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)))) 214.26/145.86 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))) 214.26/145.86 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)))) 214.26/145.86 new_gcd0Gcd'0(Neg(Zero), Neg(Succ(x0))) -> new_gcd0Gcd'1(new_esEs(Neg(Zero)), Neg(Succ(x0)), Neg(Zero)) 214.26/145.86 214.26/145.86 The TRS R consists of the following rules: 214.26/145.86 214.26/145.86 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 214.26/145.86 new_primModNatS1(Succ(Succ(vyv293000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv293000), Zero) 214.26/145.86 new_primModNatS1(Succ(Zero), Succ(vyv292000)) -> Succ(Zero) 214.26/145.86 new_primModNatS01(vyv331, vyv332, Zero, Zero) -> new_primModNatS02(vyv331, vyv332) 214.26/145.86 new_primModNatS02(vyv331, vyv332) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv331), Succ(vyv332)), Succ(vyv332)) 214.26/145.86 new_primModNatS1(Succ(Succ(vyv293000)), Succ(vyv292000)) -> new_primModNatS01(vyv293000, vyv292000, vyv293000, vyv292000) 214.26/145.86 new_primModNatS01(vyv331, vyv332, Succ(vyv3330), Succ(vyv3340)) -> new_primModNatS01(vyv331, vyv332, vyv3330, vyv3340) 214.26/145.86 new_primModNatS01(vyv331, vyv332, Succ(vyv3330), Zero) -> new_primModNatS02(vyv331, vyv332) 214.26/145.86 new_primModNatS1(Zero, vyv29200) -> Zero 214.26/145.86 new_esEs(Neg(Succ(vyv24300))) -> new_primEqInt(Neg(Succ(vyv24300))) 214.26/145.86 new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) 214.26/145.86 new_primEqInt(Neg(Zero)) -> True 214.26/145.86 new_primEqInt(Neg(Succ(vyv242000))) -> False 214.26/145.86 new_primMinusNatS2(Succ(vyv3110), Succ(vyv3120)) -> new_primMinusNatS2(vyv3110, vyv3120) 214.26/145.86 new_primModNatS01(vyv331, vyv332, Zero, Succ(vyv3340)) -> Succ(Succ(vyv331)) 214.26/145.86 new_primMinusNatS2(Zero, Zero) -> Zero 214.26/145.86 new_primMinusNatS2(Zero, Succ(vyv3120)) -> Zero 214.26/145.86 new_primMinusNatS2(Succ(vyv3110), Zero) -> Succ(vyv3110) 214.26/145.86 new_primMinusNatS1 -> Zero 214.26/145.86 new_primMinusNatS0(vyv271000) -> Succ(vyv271000) 214.26/145.86 214.26/145.86 The set Q consists of the following terms: 214.26/145.86 214.26/145.86 new_primModNatS01(x0, x1, Succ(x2), Zero) 214.26/145.86 new_primModNatS1(Succ(Succ(x0)), Zero) 214.26/145.86 new_primMinusNatS1 214.26/145.86 new_primEqInt(Pos(Zero)) 214.26/145.86 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 214.26/145.86 new_esEs(Pos(Succ(x0))) 214.26/145.86 new_primModNatS1(Zero, x0) 214.26/145.86 new_primModNatS02(x0, x1) 214.26/145.86 new_primMinusNatS2(Zero, Zero) 214.26/145.86 new_primModNatS1(Succ(Zero), Zero) 214.26/145.86 new_primMinusNatS2(Succ(x0), Zero) 214.26/145.86 new_esEs(Pos(Zero)) 214.26/145.86 new_primMinusNatS0(x0) 214.26/145.86 new_primEqInt(Neg(Succ(x0))) 214.26/145.86 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 214.26/145.86 new_esEs(Neg(Succ(x0))) 214.26/145.86 new_primEqInt(Neg(Zero)) 214.26/145.86 new_primModNatS01(x0, x1, Zero, Zero) 214.26/145.86 new_primEqInt(Pos(Succ(x0))) 214.26/145.86 new_primMinusNatS2(Zero, Succ(x0)) 214.26/145.86 new_primModNatS1(Succ(Zero), Succ(x0)) 214.26/145.86 new_primMinusNatS2(Succ(x0), Succ(x1)) 214.26/145.86 new_primModNatS01(x0, x1, Zero, Succ(x2)) 214.26/145.86 new_esEs(Neg(Zero)) 214.26/145.86 214.26/145.86 We have to consider all minimal (P,Q,R)-chains. 214.26/145.86 ---------------------------------------- 214.26/145.86 214.26/145.86 (543) DependencyGraphProof (EQUIVALENT) 214.26/145.86 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 2 SCCs with 2 less nodes. 214.26/145.86 ---------------------------------------- 214.26/145.86 214.26/145.86 (544) 214.26/145.86 Complex Obligation (AND) 214.26/145.86 214.26/145.86 ---------------------------------------- 214.26/145.86 214.26/145.86 (545) 214.26/145.86 Obligation: 214.26/145.86 Q DP problem: 214.26/145.86 The TRS P consists of the following rules: 214.26/145.86 214.26/145.86 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)))) 214.26/145.86 new_gcd0Gcd'1(False, Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 214.26/145.86 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))) 214.26/145.86 new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 214.26/145.86 214.26/145.86 The TRS R consists of the following rules: 214.26/145.86 214.26/145.86 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 214.26/145.86 new_primModNatS1(Succ(Succ(vyv293000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv293000), Zero) 214.26/145.86 new_primModNatS1(Succ(Zero), Succ(vyv292000)) -> Succ(Zero) 214.26/145.86 new_primModNatS01(vyv331, vyv332, Zero, Zero) -> new_primModNatS02(vyv331, vyv332) 214.26/145.86 new_primModNatS02(vyv331, vyv332) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv331), Succ(vyv332)), Succ(vyv332)) 214.26/145.86 new_primModNatS1(Succ(Succ(vyv293000)), Succ(vyv292000)) -> new_primModNatS01(vyv293000, vyv292000, vyv293000, vyv292000) 214.26/145.86 new_primModNatS01(vyv331, vyv332, Succ(vyv3330), Succ(vyv3340)) -> new_primModNatS01(vyv331, vyv332, vyv3330, vyv3340) 214.26/145.86 new_primModNatS01(vyv331, vyv332, Succ(vyv3330), Zero) -> new_primModNatS02(vyv331, vyv332) 214.26/145.86 new_primModNatS1(Zero, vyv29200) -> Zero 214.26/145.86 new_esEs(Neg(Succ(vyv24300))) -> new_primEqInt(Neg(Succ(vyv24300))) 214.26/145.86 new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) 214.26/145.86 new_primEqInt(Neg(Zero)) -> True 214.26/145.86 new_primEqInt(Neg(Succ(vyv242000))) -> False 214.26/145.86 new_primMinusNatS2(Succ(vyv3110), Succ(vyv3120)) -> new_primMinusNatS2(vyv3110, vyv3120) 214.26/145.86 new_primModNatS01(vyv331, vyv332, Zero, Succ(vyv3340)) -> Succ(Succ(vyv331)) 214.26/145.86 new_primMinusNatS2(Zero, Zero) -> Zero 214.26/145.86 new_primMinusNatS2(Zero, Succ(vyv3120)) -> Zero 214.26/145.86 new_primMinusNatS2(Succ(vyv3110), Zero) -> Succ(vyv3110) 214.26/145.86 new_primMinusNatS1 -> Zero 214.26/145.86 new_primMinusNatS0(vyv271000) -> Succ(vyv271000) 214.26/145.86 214.26/145.86 The set Q consists of the following terms: 214.26/145.86 214.26/145.86 new_primModNatS01(x0, x1, Succ(x2), Zero) 214.26/145.86 new_primModNatS1(Succ(Succ(x0)), Zero) 214.26/145.86 new_primMinusNatS1 214.26/145.86 new_primEqInt(Pos(Zero)) 214.26/145.86 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 214.26/145.86 new_esEs(Pos(Succ(x0))) 214.26/145.86 new_primModNatS1(Zero, x0) 214.26/145.86 new_primModNatS02(x0, x1) 214.26/145.86 new_primMinusNatS2(Zero, Zero) 214.26/145.86 new_primModNatS1(Succ(Zero), Zero) 214.26/145.86 new_primMinusNatS2(Succ(x0), Zero) 214.26/145.86 new_esEs(Pos(Zero)) 214.26/145.86 new_primMinusNatS0(x0) 214.26/145.86 new_primEqInt(Neg(Succ(x0))) 214.26/145.86 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 214.26/145.86 new_esEs(Neg(Succ(x0))) 214.26/145.86 new_primEqInt(Neg(Zero)) 214.26/145.86 new_primModNatS01(x0, x1, Zero, Zero) 214.26/145.86 new_primEqInt(Pos(Succ(x0))) 214.26/145.86 new_primMinusNatS2(Zero, Succ(x0)) 214.26/145.86 new_primModNatS1(Succ(Zero), Succ(x0)) 214.26/145.86 new_primMinusNatS2(Succ(x0), Succ(x1)) 214.26/145.86 new_primModNatS01(x0, x1, Zero, Succ(x2)) 214.26/145.86 new_esEs(Neg(Zero)) 214.26/145.86 214.26/145.86 We have to consider all minimal (P,Q,R)-chains. 214.26/145.86 ---------------------------------------- 214.26/145.86 214.26/145.86 (546) UsableRulesProof (EQUIVALENT) 214.26/145.86 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. 214.26/145.86 ---------------------------------------- 214.26/145.86 214.26/145.86 (547) 214.26/145.86 Obligation: 214.26/145.86 Q DP problem: 214.26/145.86 The TRS P consists of the following rules: 214.26/145.86 214.26/145.86 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)))) 214.26/145.86 new_gcd0Gcd'1(False, Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 214.26/145.86 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))) 214.26/145.86 new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 214.26/145.86 214.26/145.86 The TRS R consists of the following rules: 214.26/145.86 214.26/145.86 new_esEs(Neg(Succ(vyv24300))) -> new_primEqInt(Neg(Succ(vyv24300))) 214.26/145.86 new_primEqInt(Neg(Succ(vyv242000))) -> False 214.26/145.86 new_primModNatS1(Succ(Succ(vyv293000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv293000), Zero) 214.26/145.86 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 214.26/145.86 new_primMinusNatS0(vyv271000) -> Succ(vyv271000) 214.26/145.86 new_primModNatS1(Zero, vyv29200) -> Zero 214.26/145.86 new_primMinusNatS1 -> Zero 214.26/145.86 new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) 214.26/145.86 new_primEqInt(Neg(Zero)) -> True 214.26/145.86 214.26/145.86 The set Q consists of the following terms: 214.26/145.86 214.26/145.86 new_primModNatS01(x0, x1, Succ(x2), Zero) 214.26/145.86 new_primModNatS1(Succ(Succ(x0)), Zero) 214.26/145.86 new_primMinusNatS1 214.26/145.86 new_primEqInt(Pos(Zero)) 214.26/145.86 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 214.26/145.86 new_esEs(Pos(Succ(x0))) 214.26/145.86 new_primModNatS1(Zero, x0) 214.26/145.86 new_primModNatS02(x0, x1) 214.26/145.86 new_primMinusNatS2(Zero, Zero) 214.26/145.86 new_primModNatS1(Succ(Zero), Zero) 214.26/145.86 new_primMinusNatS2(Succ(x0), Zero) 214.26/145.86 new_esEs(Pos(Zero)) 214.26/145.86 new_primMinusNatS0(x0) 214.26/145.86 new_primEqInt(Neg(Succ(x0))) 214.26/145.86 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 214.26/145.86 new_esEs(Neg(Succ(x0))) 214.26/145.86 new_primEqInt(Neg(Zero)) 214.26/145.86 new_primModNatS01(x0, x1, Zero, Zero) 214.26/145.86 new_primEqInt(Pos(Succ(x0))) 214.26/145.86 new_primMinusNatS2(Zero, Succ(x0)) 214.26/145.86 new_primModNatS1(Succ(Zero), Succ(x0)) 214.26/145.86 new_primMinusNatS2(Succ(x0), Succ(x1)) 214.26/145.86 new_primModNatS01(x0, x1, Zero, Succ(x2)) 214.26/145.86 new_esEs(Neg(Zero)) 214.26/145.86 214.26/145.86 We have to consider all minimal (P,Q,R)-chains. 214.26/145.86 ---------------------------------------- 214.26/145.86 214.26/145.86 (548) QReductionProof (EQUIVALENT) 214.26/145.86 We deleted the following terms from Q as each root-symbol of these terms does neither occur in P nor in R.[THIEMANN]. 214.26/145.86 214.26/145.86 new_primModNatS01(x0, x1, Succ(x2), Zero) 214.26/145.86 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 214.26/145.86 new_primModNatS02(x0, x1) 214.26/145.86 new_primMinusNatS2(Zero, Zero) 214.26/145.86 new_primMinusNatS2(Succ(x0), Zero) 214.26/145.86 new_primModNatS01(x0, x1, Zero, Zero) 214.26/145.86 new_primMinusNatS2(Zero, Succ(x0)) 214.26/145.86 new_primMinusNatS2(Succ(x0), Succ(x1)) 214.26/145.86 new_primModNatS01(x0, x1, Zero, Succ(x2)) 214.26/145.86 214.26/145.86 214.26/145.86 ---------------------------------------- 214.26/145.86 214.26/145.86 (549) 214.26/145.86 Obligation: 214.26/145.86 Q DP problem: 214.26/145.86 The TRS P consists of the following rules: 214.26/145.86 214.26/145.86 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)))) 214.26/145.86 new_gcd0Gcd'1(False, Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 214.26/145.86 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))) 214.26/145.86 new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 214.26/145.86 214.26/145.86 The TRS R consists of the following rules: 214.26/145.86 214.26/145.86 new_esEs(Neg(Succ(vyv24300))) -> new_primEqInt(Neg(Succ(vyv24300))) 214.26/145.86 new_primEqInt(Neg(Succ(vyv242000))) -> False 214.26/145.86 new_primModNatS1(Succ(Succ(vyv293000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv293000), Zero) 214.26/145.86 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 214.26/145.86 new_primMinusNatS0(vyv271000) -> Succ(vyv271000) 214.26/145.86 new_primModNatS1(Zero, vyv29200) -> Zero 214.26/145.86 new_primMinusNatS1 -> Zero 214.26/145.86 new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) 214.26/145.86 new_primEqInt(Neg(Zero)) -> True 214.26/145.86 214.26/145.86 The set Q consists of the following terms: 214.26/145.86 214.26/145.86 new_primModNatS1(Succ(Succ(x0)), Zero) 214.26/145.86 new_primMinusNatS1 214.26/145.86 new_primEqInt(Pos(Zero)) 214.26/145.86 new_esEs(Pos(Succ(x0))) 214.26/145.86 new_primModNatS1(Zero, x0) 214.26/145.86 new_primModNatS1(Succ(Zero), Zero) 214.26/145.86 new_esEs(Pos(Zero)) 214.26/145.86 new_primMinusNatS0(x0) 214.26/145.86 new_primEqInt(Neg(Succ(x0))) 214.26/145.86 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 214.26/145.86 new_esEs(Neg(Succ(x0))) 214.26/145.86 new_primEqInt(Neg(Zero)) 214.26/145.86 new_primEqInt(Pos(Succ(x0))) 214.26/145.86 new_primModNatS1(Succ(Zero), Succ(x0)) 214.26/145.86 new_esEs(Neg(Zero)) 214.26/145.86 214.26/145.86 We have to consider all minimal (P,Q,R)-chains. 214.26/145.86 ---------------------------------------- 214.26/145.86 214.26/145.86 (550) TransformationProof (EQUIVALENT) 214.26/145.86 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]: 214.26/145.86 214.26/145.86 (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))))) 214.26/145.86 214.26/145.86 214.26/145.86 ---------------------------------------- 214.26/145.86 214.26/145.86 (551) 214.26/145.86 Obligation: 214.26/145.86 Q DP problem: 214.26/145.86 The TRS P consists of the following rules: 214.26/145.86 214.26/145.86 new_gcd0Gcd'1(False, Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 214.26/145.86 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))) 214.26/145.86 new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 214.26/145.86 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)))) 214.26/145.86 214.26/145.86 The TRS R consists of the following rules: 214.26/145.86 214.26/145.86 new_esEs(Neg(Succ(vyv24300))) -> new_primEqInt(Neg(Succ(vyv24300))) 214.26/145.86 new_primEqInt(Neg(Succ(vyv242000))) -> False 214.26/145.86 new_primModNatS1(Succ(Succ(vyv293000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv293000), Zero) 214.26/145.86 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 214.26/145.86 new_primMinusNatS0(vyv271000) -> Succ(vyv271000) 214.26/145.86 new_primModNatS1(Zero, vyv29200) -> Zero 214.26/145.86 new_primMinusNatS1 -> Zero 214.26/145.86 new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) 214.26/145.86 new_primEqInt(Neg(Zero)) -> True 214.26/145.86 214.26/145.86 The set Q consists of the following terms: 214.26/145.86 214.26/145.86 new_primModNatS1(Succ(Succ(x0)), Zero) 214.26/145.86 new_primMinusNatS1 214.26/145.86 new_primEqInt(Pos(Zero)) 214.26/145.86 new_esEs(Pos(Succ(x0))) 214.26/145.86 new_primModNatS1(Zero, x0) 214.26/145.86 new_primModNatS1(Succ(Zero), Zero) 214.26/145.86 new_esEs(Pos(Zero)) 214.26/145.86 new_primMinusNatS0(x0) 214.26/145.86 new_primEqInt(Neg(Succ(x0))) 214.26/145.86 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 214.26/145.86 new_esEs(Neg(Succ(x0))) 214.26/145.86 new_primEqInt(Neg(Zero)) 214.26/145.86 new_primEqInt(Pos(Succ(x0))) 214.26/145.86 new_primModNatS1(Succ(Zero), Succ(x0)) 214.26/145.86 new_esEs(Neg(Zero)) 214.26/145.86 214.26/145.86 We have to consider all minimal (P,Q,R)-chains. 214.26/145.86 ---------------------------------------- 214.26/145.86 214.26/145.86 (552) TransformationProof (EQUIVALENT) 214.26/145.86 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]: 214.26/145.86 214.26/145.86 (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)))) 214.26/145.86 214.26/145.86 214.26/145.86 ---------------------------------------- 214.26/145.86 214.26/145.86 (553) 214.26/145.86 Obligation: 214.26/145.86 Q DP problem: 214.26/145.86 The TRS P consists of the following rules: 214.26/145.86 214.26/145.86 new_gcd0Gcd'1(False, Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 214.26/145.86 new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 214.26/145.86 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)))) 214.26/145.86 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))) 214.26/145.86 214.26/145.86 The TRS R consists of the following rules: 214.26/145.86 214.26/145.86 new_esEs(Neg(Succ(vyv24300))) -> new_primEqInt(Neg(Succ(vyv24300))) 214.26/145.86 new_primEqInt(Neg(Succ(vyv242000))) -> False 214.26/145.86 new_primModNatS1(Succ(Succ(vyv293000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv293000), Zero) 214.26/145.86 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 214.26/145.86 new_primMinusNatS0(vyv271000) -> Succ(vyv271000) 214.26/145.86 new_primModNatS1(Zero, vyv29200) -> Zero 214.26/145.86 new_primMinusNatS1 -> Zero 214.26/145.86 new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) 214.26/145.86 new_primEqInt(Neg(Zero)) -> True 214.26/145.86 214.26/145.86 The set Q consists of the following terms: 214.26/145.86 214.26/145.86 new_primModNatS1(Succ(Succ(x0)), Zero) 214.26/145.86 new_primMinusNatS1 214.26/145.86 new_primEqInt(Pos(Zero)) 214.26/145.86 new_esEs(Pos(Succ(x0))) 214.26/145.86 new_primModNatS1(Zero, x0) 214.26/145.86 new_primModNatS1(Succ(Zero), Zero) 214.26/145.86 new_esEs(Pos(Zero)) 214.26/145.86 new_primMinusNatS0(x0) 214.26/145.86 new_primEqInt(Neg(Succ(x0))) 214.26/145.86 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 214.26/145.86 new_esEs(Neg(Succ(x0))) 214.26/145.86 new_primEqInt(Neg(Zero)) 214.26/145.86 new_primEqInt(Pos(Succ(x0))) 214.26/145.86 new_primModNatS1(Succ(Zero), Succ(x0)) 214.26/145.86 new_esEs(Neg(Zero)) 214.26/145.86 214.26/145.86 We have to consider all minimal (P,Q,R)-chains. 214.26/145.86 ---------------------------------------- 214.26/145.86 214.26/145.86 (554) TransformationProof (EQUIVALENT) 214.26/145.86 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]: 214.26/145.86 214.26/145.86 (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)))) 214.26/145.86 214.26/145.86 214.26/145.86 ---------------------------------------- 214.26/145.86 214.26/145.86 (555) 214.26/145.86 Obligation: 214.26/145.86 Q DP problem: 214.26/145.86 The TRS P consists of the following rules: 214.26/145.86 214.26/145.86 new_gcd0Gcd'1(False, Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 214.26/145.86 new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 214.26/145.86 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)))) 214.26/145.86 new_gcd0Gcd'0(Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 214.26/145.86 214.26/145.86 The TRS R consists of the following rules: 214.26/145.86 214.26/145.86 new_esEs(Neg(Succ(vyv24300))) -> new_primEqInt(Neg(Succ(vyv24300))) 214.26/145.86 new_primEqInt(Neg(Succ(vyv242000))) -> False 214.26/145.86 new_primModNatS1(Succ(Succ(vyv293000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv293000), Zero) 214.26/145.86 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 214.26/145.86 new_primMinusNatS0(vyv271000) -> Succ(vyv271000) 214.26/145.86 new_primModNatS1(Zero, vyv29200) -> Zero 214.26/145.86 new_primMinusNatS1 -> Zero 214.26/145.86 new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) 214.26/145.86 new_primEqInt(Neg(Zero)) -> True 214.26/145.86 214.26/145.86 The set Q consists of the following terms: 214.26/145.86 214.26/145.86 new_primModNatS1(Succ(Succ(x0)), Zero) 214.26/145.86 new_primMinusNatS1 214.26/145.86 new_primEqInt(Pos(Zero)) 214.26/145.86 new_esEs(Pos(Succ(x0))) 214.26/145.86 new_primModNatS1(Zero, x0) 214.26/145.86 new_primModNatS1(Succ(Zero), Zero) 214.26/145.86 new_esEs(Pos(Zero)) 214.26/145.86 new_primMinusNatS0(x0) 214.26/145.86 new_primEqInt(Neg(Succ(x0))) 214.26/145.86 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 214.26/145.86 new_esEs(Neg(Succ(x0))) 214.26/145.86 new_primEqInt(Neg(Zero)) 214.26/145.86 new_primEqInt(Pos(Succ(x0))) 214.26/145.86 new_primModNatS1(Succ(Zero), Succ(x0)) 214.26/145.86 new_esEs(Neg(Zero)) 214.26/145.86 214.26/145.86 We have to consider all minimal (P,Q,R)-chains. 214.26/145.86 ---------------------------------------- 214.26/145.86 214.26/145.86 (556) TransformationProof (EQUIVALENT) 214.26/145.86 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]: 214.26/145.86 214.26/145.86 (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)))) 214.26/145.86 (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)))) 214.26/145.86 214.26/145.86 214.26/145.86 ---------------------------------------- 214.26/145.86 214.26/145.86 (557) 214.26/145.86 Obligation: 214.26/145.86 Q DP problem: 214.26/145.86 The TRS P consists of the following rules: 214.26/145.86 214.26/145.86 new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 214.26/145.86 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)))) 214.26/145.86 new_gcd0Gcd'0(Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 214.26/145.86 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))) 214.26/145.86 new_gcd0Gcd'1(False, Neg(Succ(Zero)), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS1, Zero))) 214.26/145.86 214.26/145.86 The TRS R consists of the following rules: 214.26/145.86 214.26/145.86 new_esEs(Neg(Succ(vyv24300))) -> new_primEqInt(Neg(Succ(vyv24300))) 214.26/145.86 new_primEqInt(Neg(Succ(vyv242000))) -> False 214.26/145.86 new_primModNatS1(Succ(Succ(vyv293000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv293000), Zero) 214.26/145.86 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 214.26/145.86 new_primMinusNatS0(vyv271000) -> Succ(vyv271000) 214.26/145.86 new_primModNatS1(Zero, vyv29200) -> Zero 214.26/145.86 new_primMinusNatS1 -> Zero 214.26/145.86 new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) 214.26/145.86 new_primEqInt(Neg(Zero)) -> True 214.26/145.86 214.26/145.86 The set Q consists of the following terms: 214.26/145.86 214.26/145.86 new_primModNatS1(Succ(Succ(x0)), Zero) 214.26/145.86 new_primMinusNatS1 214.26/145.86 new_primEqInt(Pos(Zero)) 214.26/145.86 new_esEs(Pos(Succ(x0))) 214.26/145.86 new_primModNatS1(Zero, x0) 214.26/145.86 new_primModNatS1(Succ(Zero), Zero) 214.26/145.86 new_esEs(Pos(Zero)) 214.26/145.86 new_primMinusNatS0(x0) 214.26/145.86 new_primEqInt(Neg(Succ(x0))) 214.26/145.86 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 214.26/145.86 new_esEs(Neg(Succ(x0))) 214.26/145.86 new_primEqInt(Neg(Zero)) 214.26/145.86 new_primEqInt(Pos(Succ(x0))) 214.26/145.86 new_primModNatS1(Succ(Zero), Succ(x0)) 214.26/145.86 new_esEs(Neg(Zero)) 214.26/145.86 214.26/145.86 We have to consider all minimal (P,Q,R)-chains. 214.26/145.86 ---------------------------------------- 214.26/145.86 214.26/145.86 (558) TransformationProof (EQUIVALENT) 214.26/145.86 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]: 214.26/145.86 214.26/145.86 (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)))) 214.26/145.86 214.26/145.86 214.26/145.86 ---------------------------------------- 214.26/145.86 214.26/145.86 (559) 214.26/145.86 Obligation: 214.26/145.86 Q DP problem: 214.26/145.86 The TRS P consists of the following rules: 214.26/145.86 214.26/145.86 new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 214.26/145.86 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)))) 214.26/145.86 new_gcd0Gcd'0(Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 214.26/145.86 new_gcd0Gcd'1(False, Neg(Succ(Zero)), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS1, Zero))) 214.26/145.86 new_gcd0Gcd'1(False, Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 214.26/145.86 214.26/145.86 The TRS R consists of the following rules: 214.26/145.86 214.26/145.86 new_esEs(Neg(Succ(vyv24300))) -> new_primEqInt(Neg(Succ(vyv24300))) 214.26/145.86 new_primEqInt(Neg(Succ(vyv242000))) -> False 214.26/145.86 new_primModNatS1(Succ(Succ(vyv293000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv293000), Zero) 214.26/145.86 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 214.26/145.86 new_primMinusNatS0(vyv271000) -> Succ(vyv271000) 214.26/145.86 new_primModNatS1(Zero, vyv29200) -> Zero 214.26/145.86 new_primMinusNatS1 -> Zero 214.26/145.86 new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) 214.26/145.86 new_primEqInt(Neg(Zero)) -> True 214.26/145.86 214.26/145.86 The set Q consists of the following terms: 214.26/145.86 214.26/145.86 new_primModNatS1(Succ(Succ(x0)), Zero) 214.26/145.86 new_primMinusNatS1 214.26/145.86 new_primEqInt(Pos(Zero)) 214.26/145.86 new_esEs(Pos(Succ(x0))) 214.26/145.86 new_primModNatS1(Zero, x0) 214.26/145.86 new_primModNatS1(Succ(Zero), Zero) 214.26/145.86 new_esEs(Pos(Zero)) 214.26/145.86 new_primMinusNatS0(x0) 214.26/145.86 new_primEqInt(Neg(Succ(x0))) 214.26/145.86 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 214.26/145.86 new_esEs(Neg(Succ(x0))) 214.26/145.86 new_primEqInt(Neg(Zero)) 214.26/145.86 new_primEqInt(Pos(Succ(x0))) 214.26/145.86 new_primModNatS1(Succ(Zero), Succ(x0)) 214.26/145.86 new_esEs(Neg(Zero)) 214.26/145.86 214.26/145.86 We have to consider all minimal (P,Q,R)-chains. 214.26/145.86 ---------------------------------------- 214.26/145.86 214.26/145.86 (560) TransformationProof (EQUIVALENT) 214.26/145.86 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]: 214.26/145.86 214.26/145.86 (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)))) 214.26/145.86 214.26/145.86 214.26/145.86 ---------------------------------------- 214.26/145.86 214.26/145.86 (561) 214.26/145.86 Obligation: 214.26/145.86 Q DP problem: 214.26/145.86 The TRS P consists of the following rules: 214.26/145.86 214.26/145.86 new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 214.26/145.86 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)))) 214.26/145.86 new_gcd0Gcd'0(Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 214.26/145.86 new_gcd0Gcd'1(False, Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 214.26/145.86 new_gcd0Gcd'1(False, Neg(Succ(Zero)), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Neg(new_primModNatS1(Zero, Zero))) 214.26/145.86 214.26/145.86 The TRS R consists of the following rules: 214.26/145.86 214.26/145.86 new_esEs(Neg(Succ(vyv24300))) -> new_primEqInt(Neg(Succ(vyv24300))) 214.26/145.86 new_primEqInt(Neg(Succ(vyv242000))) -> False 214.26/145.86 new_primModNatS1(Succ(Succ(vyv293000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv293000), Zero) 214.26/145.86 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 214.26/145.86 new_primMinusNatS0(vyv271000) -> Succ(vyv271000) 214.26/145.86 new_primModNatS1(Zero, vyv29200) -> Zero 214.26/145.86 new_primMinusNatS1 -> Zero 214.26/145.86 new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) 214.26/145.86 new_primEqInt(Neg(Zero)) -> True 214.26/145.86 214.26/145.86 The set Q consists of the following terms: 214.26/145.86 214.26/145.86 new_primModNatS1(Succ(Succ(x0)), Zero) 214.26/145.86 new_primMinusNatS1 214.26/145.86 new_primEqInt(Pos(Zero)) 214.26/145.86 new_esEs(Pos(Succ(x0))) 214.26/145.86 new_primModNatS1(Zero, x0) 214.26/145.86 new_primModNatS1(Succ(Zero), Zero) 214.26/145.86 new_esEs(Pos(Zero)) 214.26/145.86 new_primMinusNatS0(x0) 214.26/145.86 new_primEqInt(Neg(Succ(x0))) 214.26/145.86 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 214.26/145.86 new_esEs(Neg(Succ(x0))) 214.26/145.86 new_primEqInt(Neg(Zero)) 214.26/145.86 new_primEqInt(Pos(Succ(x0))) 214.26/145.86 new_primModNatS1(Succ(Zero), Succ(x0)) 214.26/145.86 new_esEs(Neg(Zero)) 214.26/145.86 214.26/145.86 We have to consider all minimal (P,Q,R)-chains. 214.26/145.86 ---------------------------------------- 214.26/145.86 214.26/145.86 (562) DependencyGraphProof (EQUIVALENT) 214.26/145.86 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. 214.26/145.86 ---------------------------------------- 214.26/145.86 214.26/145.86 (563) 214.26/145.86 Obligation: 214.26/145.86 Q DP problem: 214.26/145.86 The TRS P consists of the following rules: 214.26/145.86 214.26/145.86 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)))) 214.26/145.86 new_gcd0Gcd'1(False, Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 214.26/145.86 new_gcd0Gcd'0(Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 214.26/145.86 new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 214.26/145.86 214.26/145.86 The TRS R consists of the following rules: 214.26/145.86 214.26/145.86 new_esEs(Neg(Succ(vyv24300))) -> new_primEqInt(Neg(Succ(vyv24300))) 214.26/145.86 new_primEqInt(Neg(Succ(vyv242000))) -> False 214.26/145.86 new_primModNatS1(Succ(Succ(vyv293000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv293000), Zero) 214.26/145.86 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 214.26/145.86 new_primMinusNatS0(vyv271000) -> Succ(vyv271000) 214.26/145.86 new_primModNatS1(Zero, vyv29200) -> Zero 214.26/145.86 new_primMinusNatS1 -> Zero 214.26/145.86 new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) 214.26/145.86 new_primEqInt(Neg(Zero)) -> True 214.26/145.86 214.26/145.86 The set Q consists of the following terms: 214.26/145.86 214.26/145.86 new_primModNatS1(Succ(Succ(x0)), Zero) 214.26/145.86 new_primMinusNatS1 214.26/145.86 new_primEqInt(Pos(Zero)) 214.26/145.86 new_esEs(Pos(Succ(x0))) 214.26/145.86 new_primModNatS1(Zero, x0) 214.26/145.86 new_primModNatS1(Succ(Zero), Zero) 214.26/145.86 new_esEs(Pos(Zero)) 214.26/145.86 new_primMinusNatS0(x0) 214.26/145.86 new_primEqInt(Neg(Succ(x0))) 214.26/145.86 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 214.26/145.86 new_esEs(Neg(Succ(x0))) 214.26/145.86 new_primEqInt(Neg(Zero)) 214.26/145.86 new_primEqInt(Pos(Succ(x0))) 214.26/145.86 new_primModNatS1(Succ(Zero), Succ(x0)) 214.26/145.86 new_esEs(Neg(Zero)) 214.26/145.86 214.26/145.86 We have to consider all minimal (P,Q,R)-chains. 214.26/145.86 ---------------------------------------- 214.26/145.86 214.26/145.86 (564) TransformationProof (EQUIVALENT) 214.26/145.86 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]: 214.26/145.86 214.26/145.86 (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)))))) 214.26/145.86 (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))))) 214.26/145.86 214.26/145.86 214.26/145.86 ---------------------------------------- 214.26/145.86 214.26/145.86 (565) 214.26/145.86 Obligation: 214.26/145.86 Q DP problem: 214.26/145.86 The TRS P consists of the following rules: 214.26/145.86 214.26/145.86 new_gcd0Gcd'1(False, Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 214.26/145.86 new_gcd0Gcd'0(Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 214.26/145.86 new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 214.26/145.86 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))))) 214.26/145.86 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)))) 214.26/145.86 214.26/145.86 The TRS R consists of the following rules: 214.26/145.86 214.26/145.86 new_esEs(Neg(Succ(vyv24300))) -> new_primEqInt(Neg(Succ(vyv24300))) 214.26/145.86 new_primEqInt(Neg(Succ(vyv242000))) -> False 214.26/145.86 new_primModNatS1(Succ(Succ(vyv293000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv293000), Zero) 214.26/145.86 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 214.26/145.86 new_primMinusNatS0(vyv271000) -> Succ(vyv271000) 214.26/145.86 new_primModNatS1(Zero, vyv29200) -> Zero 214.26/145.86 new_primMinusNatS1 -> Zero 214.26/145.86 new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) 214.26/145.86 new_primEqInt(Neg(Zero)) -> True 214.26/145.86 214.26/145.86 The set Q consists of the following terms: 214.26/145.86 214.26/145.86 new_primModNatS1(Succ(Succ(x0)), Zero) 214.26/145.86 new_primMinusNatS1 214.26/145.86 new_primEqInt(Pos(Zero)) 214.26/145.86 new_esEs(Pos(Succ(x0))) 214.26/145.86 new_primModNatS1(Zero, x0) 214.26/145.86 new_primModNatS1(Succ(Zero), Zero) 214.26/145.86 new_esEs(Pos(Zero)) 214.26/145.86 new_primMinusNatS0(x0) 214.26/145.86 new_primEqInt(Neg(Succ(x0))) 214.26/145.86 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 214.26/145.86 new_esEs(Neg(Succ(x0))) 214.26/145.86 new_primEqInt(Neg(Zero)) 214.26/145.86 new_primEqInt(Pos(Succ(x0))) 214.26/145.86 new_primModNatS1(Succ(Zero), Succ(x0)) 214.26/145.86 new_esEs(Neg(Zero)) 214.26/145.86 214.26/145.86 We have to consider all minimal (P,Q,R)-chains. 214.26/145.86 ---------------------------------------- 214.26/145.86 214.26/145.86 (566) DependencyGraphProof (EQUIVALENT) 214.26/145.86 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. 214.26/145.86 ---------------------------------------- 214.26/145.86 214.26/145.86 (567) 214.26/145.86 Obligation: 214.26/145.86 Q DP problem: 214.26/145.86 The TRS P consists of the following rules: 214.26/145.86 214.26/145.86 new_gcd0Gcd'0(Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 214.26/145.86 new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 214.26/145.86 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))))) 214.26/145.86 new_gcd0Gcd'1(False, Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 214.26/145.86 214.26/145.86 The TRS R consists of the following rules: 214.26/145.86 214.26/145.86 new_esEs(Neg(Succ(vyv24300))) -> new_primEqInt(Neg(Succ(vyv24300))) 214.26/145.86 new_primEqInt(Neg(Succ(vyv242000))) -> False 214.26/145.86 new_primModNatS1(Succ(Succ(vyv293000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv293000), Zero) 214.26/145.86 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 214.26/145.86 new_primMinusNatS0(vyv271000) -> Succ(vyv271000) 214.26/145.86 new_primModNatS1(Zero, vyv29200) -> Zero 214.26/145.86 new_primMinusNatS1 -> Zero 214.26/145.86 new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) 214.26/145.86 new_primEqInt(Neg(Zero)) -> True 214.26/145.86 214.26/145.86 The set Q consists of the following terms: 214.26/145.86 214.26/145.86 new_primModNatS1(Succ(Succ(x0)), Zero) 214.26/145.86 new_primMinusNatS1 214.26/145.86 new_primEqInt(Pos(Zero)) 214.26/145.86 new_esEs(Pos(Succ(x0))) 214.26/145.86 new_primModNatS1(Zero, x0) 214.26/145.86 new_primModNatS1(Succ(Zero), Zero) 214.26/145.86 new_esEs(Pos(Zero)) 214.26/145.86 new_primMinusNatS0(x0) 214.26/145.86 new_primEqInt(Neg(Succ(x0))) 214.26/145.86 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 214.26/145.86 new_esEs(Neg(Succ(x0))) 214.26/145.86 new_primEqInt(Neg(Zero)) 214.26/145.86 new_primEqInt(Pos(Succ(x0))) 214.26/145.86 new_primModNatS1(Succ(Zero), Succ(x0)) 214.26/145.86 new_esEs(Neg(Zero)) 214.26/145.86 214.26/145.86 We have to consider all minimal (P,Q,R)-chains. 214.26/145.86 ---------------------------------------- 214.26/145.86 214.26/145.86 (568) TransformationProof (EQUIVALENT) 214.26/145.86 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]: 214.26/145.86 214.26/145.86 (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)))))) 214.26/145.86 214.26/145.86 214.26/145.86 ---------------------------------------- 214.26/145.86 214.26/145.86 (569) 214.26/145.86 Obligation: 214.26/145.86 Q DP problem: 214.26/145.86 The TRS P consists of the following rules: 214.26/145.86 214.26/145.86 new_gcd0Gcd'0(Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 214.26/145.86 new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 214.26/145.86 new_gcd0Gcd'1(False, Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 214.26/145.86 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))))) 214.26/145.86 214.26/145.86 The TRS R consists of the following rules: 214.26/145.86 214.26/145.86 new_esEs(Neg(Succ(vyv24300))) -> new_primEqInt(Neg(Succ(vyv24300))) 214.26/145.86 new_primEqInt(Neg(Succ(vyv242000))) -> False 214.26/145.86 new_primModNatS1(Succ(Succ(vyv293000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv293000), Zero) 214.26/145.86 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 214.26/145.86 new_primMinusNatS0(vyv271000) -> Succ(vyv271000) 214.26/145.86 new_primModNatS1(Zero, vyv29200) -> Zero 214.26/145.86 new_primMinusNatS1 -> Zero 214.26/145.86 new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) 214.26/145.86 new_primEqInt(Neg(Zero)) -> True 214.26/145.86 214.26/145.86 The set Q consists of the following terms: 214.26/145.86 214.26/145.86 new_primModNatS1(Succ(Succ(x0)), Zero) 214.26/145.86 new_primMinusNatS1 214.26/145.86 new_primEqInt(Pos(Zero)) 214.26/145.86 new_esEs(Pos(Succ(x0))) 214.26/145.86 new_primModNatS1(Zero, x0) 214.26/145.86 new_primModNatS1(Succ(Zero), Zero) 214.26/145.86 new_esEs(Pos(Zero)) 214.26/145.86 new_primMinusNatS0(x0) 214.26/145.86 new_primEqInt(Neg(Succ(x0))) 214.26/145.86 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 214.26/145.86 new_esEs(Neg(Succ(x0))) 214.26/145.86 new_primEqInt(Neg(Zero)) 214.26/145.86 new_primEqInt(Pos(Succ(x0))) 214.26/145.86 new_primModNatS1(Succ(Zero), Succ(x0)) 214.26/145.86 new_esEs(Neg(Zero)) 214.26/145.86 214.26/145.86 We have to consider all minimal (P,Q,R)-chains. 214.26/145.86 ---------------------------------------- 214.26/145.86 214.26/145.86 (570) TransformationProof (EQUIVALENT) 214.26/145.86 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]: 214.26/145.86 214.26/145.86 (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)))) 214.26/145.86 (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)))) 214.26/145.86 214.26/145.86 214.26/145.86 ---------------------------------------- 214.26/145.86 214.26/145.86 (571) 214.26/145.86 Obligation: 214.26/145.86 Q DP problem: 214.26/145.86 The TRS P consists of the following rules: 214.26/145.86 214.26/145.86 new_gcd0Gcd'0(Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 214.26/145.86 new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 214.26/145.86 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))))) 214.26/145.86 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))) 214.26/145.86 new_gcd0Gcd'1(False, Neg(Succ(Zero)), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS1, Zero))) 214.26/145.86 214.26/145.86 The TRS R consists of the following rules: 214.26/145.86 214.26/145.86 new_esEs(Neg(Succ(vyv24300))) -> new_primEqInt(Neg(Succ(vyv24300))) 214.26/145.86 new_primEqInt(Neg(Succ(vyv242000))) -> False 214.26/145.86 new_primModNatS1(Succ(Succ(vyv293000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv293000), Zero) 214.26/145.86 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 214.26/145.86 new_primMinusNatS0(vyv271000) -> Succ(vyv271000) 214.26/145.86 new_primModNatS1(Zero, vyv29200) -> Zero 214.26/145.86 new_primMinusNatS1 -> Zero 214.26/145.86 new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) 214.26/145.86 new_primEqInt(Neg(Zero)) -> True 214.26/145.86 214.26/145.86 The set Q consists of the following terms: 214.26/145.86 214.26/145.86 new_primModNatS1(Succ(Succ(x0)), Zero) 214.26/145.86 new_primMinusNatS1 214.26/145.86 new_primEqInt(Pos(Zero)) 214.26/145.86 new_esEs(Pos(Succ(x0))) 214.26/145.86 new_primModNatS1(Zero, x0) 214.26/145.86 new_primModNatS1(Succ(Zero), Zero) 214.26/145.86 new_esEs(Pos(Zero)) 214.26/145.86 new_primMinusNatS0(x0) 214.26/145.86 new_primEqInt(Neg(Succ(x0))) 214.26/145.86 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 214.26/145.86 new_esEs(Neg(Succ(x0))) 214.26/145.86 new_primEqInt(Neg(Zero)) 214.26/145.86 new_primEqInt(Pos(Succ(x0))) 214.26/145.86 new_primModNatS1(Succ(Zero), Succ(x0)) 214.26/145.86 new_esEs(Neg(Zero)) 214.26/145.86 214.26/145.86 We have to consider all minimal (P,Q,R)-chains. 214.26/145.86 ---------------------------------------- 214.26/145.86 214.26/145.86 (572) TransformationProof (EQUIVALENT) 214.26/145.86 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]: 214.26/145.86 214.26/145.86 (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)))) 214.26/145.86 214.26/145.86 214.26/145.86 ---------------------------------------- 214.26/145.86 214.26/145.86 (573) 214.26/145.86 Obligation: 214.26/145.86 Q DP problem: 214.26/145.86 The TRS P consists of the following rules: 214.26/145.86 214.26/145.86 new_gcd0Gcd'0(Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 214.26/145.86 new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 214.26/145.86 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))))) 214.26/145.86 new_gcd0Gcd'1(False, Neg(Succ(Zero)), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS1, Zero))) 214.26/145.86 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))) 214.26/145.86 214.26/145.86 The TRS R consists of the following rules: 214.26/145.86 214.26/145.86 new_esEs(Neg(Succ(vyv24300))) -> new_primEqInt(Neg(Succ(vyv24300))) 214.26/145.86 new_primEqInt(Neg(Succ(vyv242000))) -> False 214.26/145.86 new_primModNatS1(Succ(Succ(vyv293000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv293000), Zero) 214.26/145.86 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 214.26/145.86 new_primMinusNatS0(vyv271000) -> Succ(vyv271000) 214.26/145.86 new_primModNatS1(Zero, vyv29200) -> Zero 214.26/145.86 new_primMinusNatS1 -> Zero 214.26/145.86 new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) 214.26/145.86 new_primEqInt(Neg(Zero)) -> True 214.26/145.86 214.26/145.86 The set Q consists of the following terms: 214.26/145.86 214.26/145.86 new_primModNatS1(Succ(Succ(x0)), Zero) 214.26/145.86 new_primMinusNatS1 214.26/145.86 new_primEqInt(Pos(Zero)) 214.26/145.86 new_esEs(Pos(Succ(x0))) 214.26/145.86 new_primModNatS1(Zero, x0) 214.26/145.86 new_primModNatS1(Succ(Zero), Zero) 214.26/145.86 new_esEs(Pos(Zero)) 214.26/145.86 new_primMinusNatS0(x0) 214.26/145.86 new_primEqInt(Neg(Succ(x0))) 214.26/145.86 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 214.26/145.86 new_esEs(Neg(Succ(x0))) 214.26/145.86 new_primEqInt(Neg(Zero)) 214.26/145.86 new_primEqInt(Pos(Succ(x0))) 214.26/145.86 new_primModNatS1(Succ(Zero), Succ(x0)) 214.26/145.86 new_esEs(Neg(Zero)) 214.26/145.86 214.26/145.86 We have to consider all minimal (P,Q,R)-chains. 214.26/145.86 ---------------------------------------- 214.26/145.86 214.26/145.86 (574) TransformationProof (EQUIVALENT) 214.26/145.86 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]: 214.26/145.86 214.26/145.86 (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)))) 214.26/145.86 214.26/145.86 214.26/145.86 ---------------------------------------- 214.26/145.86 214.26/145.86 (575) 214.26/145.86 Obligation: 214.26/145.86 Q DP problem: 214.26/145.86 The TRS P consists of the following rules: 214.26/145.86 214.26/145.86 new_gcd0Gcd'0(Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 214.26/145.86 new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 214.26/145.86 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))))) 214.26/145.86 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))) 214.26/145.86 new_gcd0Gcd'1(False, Neg(Succ(Zero)), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Neg(new_primModNatS1(Zero, Zero))) 214.26/145.86 214.26/145.86 The TRS R consists of the following rules: 214.26/145.86 214.26/145.86 new_esEs(Neg(Succ(vyv24300))) -> new_primEqInt(Neg(Succ(vyv24300))) 214.26/145.86 new_primEqInt(Neg(Succ(vyv242000))) -> False 214.26/145.86 new_primModNatS1(Succ(Succ(vyv293000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv293000), Zero) 214.26/145.86 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 214.26/145.86 new_primMinusNatS0(vyv271000) -> Succ(vyv271000) 214.26/145.86 new_primModNatS1(Zero, vyv29200) -> Zero 214.26/145.86 new_primMinusNatS1 -> Zero 214.26/145.86 new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) 214.26/145.86 new_primEqInt(Neg(Zero)) -> True 214.26/145.86 214.26/145.86 The set Q consists of the following terms: 214.26/145.86 214.26/145.86 new_primModNatS1(Succ(Succ(x0)), Zero) 214.26/145.86 new_primMinusNatS1 214.26/145.86 new_primEqInt(Pos(Zero)) 214.26/145.86 new_esEs(Pos(Succ(x0))) 214.26/145.86 new_primModNatS1(Zero, x0) 214.26/145.86 new_primModNatS1(Succ(Zero), Zero) 214.26/145.86 new_esEs(Pos(Zero)) 214.26/145.86 new_primMinusNatS0(x0) 214.26/145.86 new_primEqInt(Neg(Succ(x0))) 214.26/145.86 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 214.26/145.86 new_esEs(Neg(Succ(x0))) 214.26/145.86 new_primEqInt(Neg(Zero)) 214.26/145.86 new_primEqInt(Pos(Succ(x0))) 214.26/145.86 new_primModNatS1(Succ(Zero), Succ(x0)) 214.26/145.86 new_esEs(Neg(Zero)) 214.26/145.86 214.26/145.86 We have to consider all minimal (P,Q,R)-chains. 214.26/145.86 ---------------------------------------- 214.26/145.86 214.26/145.86 (576) DependencyGraphProof (EQUIVALENT) 214.26/145.86 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. 214.26/145.86 ---------------------------------------- 214.26/145.86 214.26/145.86 (577) 214.26/145.86 Obligation: 214.26/145.86 Q DP problem: 214.26/145.86 The TRS P consists of the following rules: 214.26/145.86 214.26/145.86 new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 214.26/145.86 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))))) 214.26/145.86 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))) 214.26/145.86 new_gcd0Gcd'0(Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 214.26/145.86 214.26/145.86 The TRS R consists of the following rules: 214.26/145.86 214.26/145.86 new_esEs(Neg(Succ(vyv24300))) -> new_primEqInt(Neg(Succ(vyv24300))) 214.26/145.86 new_primEqInt(Neg(Succ(vyv242000))) -> False 214.26/145.86 new_primModNatS1(Succ(Succ(vyv293000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv293000), Zero) 214.26/145.86 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 214.26/145.86 new_primMinusNatS0(vyv271000) -> Succ(vyv271000) 214.26/145.86 new_primModNatS1(Zero, vyv29200) -> Zero 214.26/145.86 new_primMinusNatS1 -> Zero 214.26/145.86 new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) 214.26/145.86 new_primEqInt(Neg(Zero)) -> True 214.26/145.86 214.26/145.86 The set Q consists of the following terms: 214.26/145.86 214.26/145.86 new_primModNatS1(Succ(Succ(x0)), Zero) 214.26/145.86 new_primMinusNatS1 214.26/145.86 new_primEqInt(Pos(Zero)) 214.26/145.86 new_esEs(Pos(Succ(x0))) 214.26/145.86 new_primModNatS1(Zero, x0) 214.26/145.86 new_primModNatS1(Succ(Zero), Zero) 214.26/145.86 new_esEs(Pos(Zero)) 214.26/145.86 new_primMinusNatS0(x0) 214.26/145.86 new_primEqInt(Neg(Succ(x0))) 214.26/145.86 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 214.26/145.86 new_esEs(Neg(Succ(x0))) 214.26/145.86 new_primEqInt(Neg(Zero)) 214.26/145.86 new_primEqInt(Pos(Succ(x0))) 214.26/145.86 new_primModNatS1(Succ(Zero), Succ(x0)) 214.26/145.86 new_esEs(Neg(Zero)) 214.26/145.86 214.26/145.86 We have to consider all minimal (P,Q,R)-chains. 214.26/145.86 ---------------------------------------- 214.26/145.86 214.26/145.86 (578) TransformationProof (EQUIVALENT) 214.26/145.86 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]: 214.26/145.86 214.26/145.86 (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))))))) 214.26/145.86 (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)))))) 214.26/145.86 214.26/145.86 214.26/145.86 ---------------------------------------- 214.26/145.86 214.26/145.86 (579) 214.26/145.86 Obligation: 214.26/145.86 Q DP problem: 214.26/145.86 The TRS P consists of the following rules: 214.26/145.86 214.26/145.86 new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 214.26/145.86 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))) 214.26/145.86 new_gcd0Gcd'0(Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 214.26/145.86 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)))))) 214.26/145.86 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))))) 214.26/145.86 214.26/145.86 The TRS R consists of the following rules: 214.26/145.86 214.26/145.86 new_esEs(Neg(Succ(vyv24300))) -> new_primEqInt(Neg(Succ(vyv24300))) 214.26/145.86 new_primEqInt(Neg(Succ(vyv242000))) -> False 214.26/145.86 new_primModNatS1(Succ(Succ(vyv293000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv293000), Zero) 214.26/145.86 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 214.26/145.86 new_primMinusNatS0(vyv271000) -> Succ(vyv271000) 214.26/145.86 new_primModNatS1(Zero, vyv29200) -> Zero 214.26/145.86 new_primMinusNatS1 -> Zero 214.26/145.86 new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) 214.26/145.86 new_primEqInt(Neg(Zero)) -> True 214.26/145.86 214.26/145.86 The set Q consists of the following terms: 214.26/145.86 214.26/145.86 new_primModNatS1(Succ(Succ(x0)), Zero) 214.26/145.86 new_primMinusNatS1 214.26/145.86 new_primEqInt(Pos(Zero)) 214.26/145.86 new_esEs(Pos(Succ(x0))) 214.26/145.86 new_primModNatS1(Zero, x0) 214.26/145.86 new_primModNatS1(Succ(Zero), Zero) 214.26/145.86 new_esEs(Pos(Zero)) 214.26/145.86 new_primMinusNatS0(x0) 214.26/145.86 new_primEqInt(Neg(Succ(x0))) 214.26/145.86 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 214.26/145.86 new_esEs(Neg(Succ(x0))) 214.26/145.86 new_primEqInt(Neg(Zero)) 214.26/145.86 new_primEqInt(Pos(Succ(x0))) 214.26/145.86 new_primModNatS1(Succ(Zero), Succ(x0)) 214.26/145.86 new_esEs(Neg(Zero)) 214.26/145.86 214.26/145.86 We have to consider all minimal (P,Q,R)-chains. 214.26/145.86 ---------------------------------------- 214.26/145.86 214.26/145.86 (580) DependencyGraphProof (EQUIVALENT) 214.26/145.86 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. 214.26/145.86 ---------------------------------------- 214.26/145.86 214.26/145.86 (581) 214.26/145.86 Obligation: 214.26/145.86 Q DP problem: 214.26/145.86 The TRS P consists of the following rules: 214.26/145.86 214.26/145.86 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)))))) 214.26/145.86 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))) 214.26/145.86 new_gcd0Gcd'0(Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 214.26/145.86 new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 214.26/145.86 214.26/145.86 The TRS R consists of the following rules: 214.26/145.86 214.26/145.86 new_esEs(Neg(Succ(vyv24300))) -> new_primEqInt(Neg(Succ(vyv24300))) 214.26/145.86 new_primEqInt(Neg(Succ(vyv242000))) -> False 214.26/145.86 new_primModNatS1(Succ(Succ(vyv293000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv293000), Zero) 214.26/145.86 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 214.26/145.86 new_primMinusNatS0(vyv271000) -> Succ(vyv271000) 214.26/145.86 new_primModNatS1(Zero, vyv29200) -> Zero 214.26/145.86 new_primMinusNatS1 -> Zero 214.26/145.86 new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) 214.26/145.86 new_primEqInt(Neg(Zero)) -> True 214.26/145.86 214.26/145.86 The set Q consists of the following terms: 214.26/145.86 214.26/145.86 new_primModNatS1(Succ(Succ(x0)), Zero) 214.26/145.86 new_primMinusNatS1 214.26/145.86 new_primEqInt(Pos(Zero)) 214.26/145.86 new_esEs(Pos(Succ(x0))) 214.26/145.86 new_primModNatS1(Zero, x0) 214.26/145.86 new_primModNatS1(Succ(Zero), Zero) 214.26/145.86 new_esEs(Pos(Zero)) 214.26/145.86 new_primMinusNatS0(x0) 214.26/145.86 new_primEqInt(Neg(Succ(x0))) 214.26/145.86 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 214.26/145.86 new_esEs(Neg(Succ(x0))) 214.26/145.86 new_primEqInt(Neg(Zero)) 214.26/145.86 new_primEqInt(Pos(Succ(x0))) 214.26/145.86 new_primModNatS1(Succ(Zero), Succ(x0)) 214.26/145.86 new_esEs(Neg(Zero)) 214.26/145.86 214.26/145.86 We have to consider all minimal (P,Q,R)-chains. 214.26/145.86 ---------------------------------------- 214.26/145.86 214.26/145.86 (582) TransformationProof (EQUIVALENT) 214.26/145.86 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]: 214.26/145.86 214.26/145.86 (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))))))) 214.26/145.86 214.26/145.86 214.26/145.86 ---------------------------------------- 214.26/145.86 214.26/145.86 (583) 214.26/145.86 Obligation: 214.26/145.86 Q DP problem: 214.26/145.86 The TRS P consists of the following rules: 214.26/145.86 214.26/145.86 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))) 214.26/145.86 new_gcd0Gcd'0(Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 214.26/145.86 new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 214.26/145.86 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)))))) 214.26/145.86 214.26/145.86 The TRS R consists of the following rules: 214.26/145.86 214.26/145.86 new_esEs(Neg(Succ(vyv24300))) -> new_primEqInt(Neg(Succ(vyv24300))) 214.26/145.86 new_primEqInt(Neg(Succ(vyv242000))) -> False 214.26/145.86 new_primModNatS1(Succ(Succ(vyv293000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv293000), Zero) 214.26/145.86 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 214.26/145.86 new_primMinusNatS0(vyv271000) -> Succ(vyv271000) 214.26/145.86 new_primModNatS1(Zero, vyv29200) -> Zero 214.26/145.86 new_primMinusNatS1 -> Zero 214.26/145.86 new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) 214.26/145.86 new_primEqInt(Neg(Zero)) -> True 214.26/145.86 214.26/145.86 The set Q consists of the following terms: 214.26/145.86 214.26/145.86 new_primModNatS1(Succ(Succ(x0)), Zero) 214.26/145.86 new_primMinusNatS1 214.26/145.86 new_primEqInt(Pos(Zero)) 214.26/145.86 new_esEs(Pos(Succ(x0))) 214.26/145.86 new_primModNatS1(Zero, x0) 214.26/145.86 new_primModNatS1(Succ(Zero), Zero) 214.26/145.86 new_esEs(Pos(Zero)) 214.26/145.86 new_primMinusNatS0(x0) 214.26/145.86 new_primEqInt(Neg(Succ(x0))) 214.26/145.86 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 214.26/145.86 new_esEs(Neg(Succ(x0))) 214.26/145.86 new_primEqInt(Neg(Zero)) 214.26/145.86 new_primEqInt(Pos(Succ(x0))) 214.26/145.86 new_primModNatS1(Succ(Zero), Succ(x0)) 214.26/145.86 new_esEs(Neg(Zero)) 214.26/145.86 214.26/145.86 We have to consider all minimal (P,Q,R)-chains. 214.26/145.86 ---------------------------------------- 214.26/145.86 214.26/145.86 (584) QDPSizeChangeProof (EQUIVALENT) 214.26/145.86 We used the following order together with the size-change analysis [AAECC05] to show that there are no infinite chains for this DP problem. 214.26/145.86 214.26/145.86 Order:Polynomial interpretation [POLO]: 214.26/145.86 214.26/145.86 POL(False) = 1 214.26/145.86 POL(Neg(x_1)) = x_1 214.26/145.86 POL(Succ(x_1)) = 1 + x_1 214.26/145.86 POL(Zero) = 1 214.26/145.86 POL(new_primMinusNatS0(x_1)) = 1 + x_1 214.26/145.86 POL(new_primMinusNatS1) = 1 214.26/145.86 POL(new_primModNatS1(x_1, x_2)) = x_1 214.26/145.86 214.26/145.86 214.26/145.86 214.26/145.86 214.26/145.86 From the DPs we obtained the following set of size-change graphs: 214.26/145.86 *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}) 214.26/145.86 The graph contains the following edges 2 >= 2, 1 >= 3 214.26/145.86 214.26/145.86 214.26/145.86 *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}) 214.26/145.86 The graph contains the following edges 2 >= 2, 1 >= 3 214.26/145.86 214.26/145.86 214.26/145.86 *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}) 214.26/145.86 The graph contains the following edges 2 >= 1, 3 >= 2 214.26/145.86 214.26/145.86 214.26/145.86 *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}) 214.26/145.86 The graph contains the following edges 2 >= 1, 3 > 2 214.26/145.86 214.26/145.86 214.26/145.86 214.26/145.86 We oriented the following set of usable rules [AAECC05,FROCOS05]. 214.26/145.86 214.26/145.86 new_primModNatS1(Zero, vyv29200) -> Zero 214.26/145.86 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 214.26/145.86 new_primModNatS1(Succ(Succ(vyv293000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv293000), Zero) 214.26/145.86 new_primMinusNatS1 -> Zero 214.26/145.86 new_primMinusNatS0(vyv271000) -> Succ(vyv271000) 214.26/145.86 214.26/145.86 ---------------------------------------- 214.26/145.86 214.26/145.86 (585) 214.26/145.86 YES 214.26/145.86 214.26/145.86 ---------------------------------------- 214.26/145.86 214.26/145.86 (586) 214.26/145.86 Obligation: 214.26/145.86 Q DP problem: 214.26/145.86 The TRS P consists of the following rules: 214.26/145.86 214.26/145.86 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)))) 214.26/145.86 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))) 214.26/145.86 214.26/145.86 The TRS R consists of the following rules: 214.26/145.86 214.26/145.86 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 214.26/145.86 new_primModNatS1(Succ(Succ(vyv293000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv293000), Zero) 214.26/145.86 new_primModNatS1(Succ(Zero), Succ(vyv292000)) -> Succ(Zero) 214.26/145.86 new_primModNatS01(vyv331, vyv332, Zero, Zero) -> new_primModNatS02(vyv331, vyv332) 214.26/145.86 new_primModNatS02(vyv331, vyv332) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv331), Succ(vyv332)), Succ(vyv332)) 214.26/145.86 new_primModNatS1(Succ(Succ(vyv293000)), Succ(vyv292000)) -> new_primModNatS01(vyv293000, vyv292000, vyv293000, vyv292000) 214.26/145.86 new_primModNatS01(vyv331, vyv332, Succ(vyv3330), Succ(vyv3340)) -> new_primModNatS01(vyv331, vyv332, vyv3330, vyv3340) 214.26/145.86 new_primModNatS01(vyv331, vyv332, Succ(vyv3330), Zero) -> new_primModNatS02(vyv331, vyv332) 214.26/145.86 new_primModNatS1(Zero, vyv29200) -> Zero 214.26/145.86 new_esEs(Neg(Succ(vyv24300))) -> new_primEqInt(Neg(Succ(vyv24300))) 214.26/145.86 new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) 214.26/145.86 new_primEqInt(Neg(Zero)) -> True 214.26/145.86 new_primEqInt(Neg(Succ(vyv242000))) -> False 214.26/145.86 new_primMinusNatS2(Succ(vyv3110), Succ(vyv3120)) -> new_primMinusNatS2(vyv3110, vyv3120) 214.26/145.86 new_primModNatS01(vyv331, vyv332, Zero, Succ(vyv3340)) -> Succ(Succ(vyv331)) 214.26/145.86 new_primMinusNatS2(Zero, Zero) -> Zero 214.26/145.86 new_primMinusNatS2(Zero, Succ(vyv3120)) -> Zero 214.26/145.86 new_primMinusNatS2(Succ(vyv3110), Zero) -> Succ(vyv3110) 214.26/145.86 new_primMinusNatS1 -> Zero 214.26/145.86 new_primMinusNatS0(vyv271000) -> Succ(vyv271000) 214.26/145.86 214.26/145.86 The set Q consists of the following terms: 214.26/145.86 214.26/145.86 new_primModNatS01(x0, x1, Succ(x2), Zero) 214.26/145.86 new_primModNatS1(Succ(Succ(x0)), Zero) 214.26/145.86 new_primMinusNatS1 214.26/145.86 new_primEqInt(Pos(Zero)) 214.26/145.86 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 214.26/145.86 new_esEs(Pos(Succ(x0))) 214.26/145.86 new_primModNatS1(Zero, x0) 214.26/145.86 new_primModNatS02(x0, x1) 214.26/145.86 new_primMinusNatS2(Zero, Zero) 214.26/145.86 new_primModNatS1(Succ(Zero), Zero) 214.26/145.86 new_primMinusNatS2(Succ(x0), Zero) 214.26/145.86 new_esEs(Pos(Zero)) 214.26/145.86 new_primMinusNatS0(x0) 214.26/145.86 new_primEqInt(Neg(Succ(x0))) 214.26/145.86 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 214.26/145.86 new_esEs(Neg(Succ(x0))) 214.26/145.86 new_primEqInt(Neg(Zero)) 214.26/145.86 new_primModNatS01(x0, x1, Zero, Zero) 214.26/145.86 new_primEqInt(Pos(Succ(x0))) 214.26/145.86 new_primMinusNatS2(Zero, Succ(x0)) 214.26/145.86 new_primModNatS1(Succ(Zero), Succ(x0)) 214.26/145.86 new_primMinusNatS2(Succ(x0), Succ(x1)) 214.26/145.86 new_primModNatS01(x0, x1, Zero, Succ(x2)) 214.26/145.86 new_esEs(Neg(Zero)) 214.26/145.86 214.26/145.86 We have to consider all minimal (P,Q,R)-chains. 214.26/145.86 ---------------------------------------- 214.26/145.86 214.26/145.86 (587) UsableRulesProof (EQUIVALENT) 214.26/145.86 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. 214.26/145.86 ---------------------------------------- 214.26/145.86 214.26/145.86 (588) 214.26/145.86 Obligation: 214.26/145.86 Q DP problem: 214.26/145.86 The TRS P consists of the following rules: 214.26/145.86 214.26/145.86 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)))) 214.26/145.86 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))) 214.26/145.86 214.26/145.86 The TRS R consists of the following rules: 214.26/145.86 214.26/145.86 new_primModNatS1(Succ(Succ(vyv293000)), Succ(vyv292000)) -> new_primModNatS01(vyv293000, vyv292000, vyv293000, vyv292000) 214.26/145.86 new_primModNatS01(vyv331, vyv332, Zero, Zero) -> new_primModNatS02(vyv331, vyv332) 214.26/145.86 new_primModNatS02(vyv331, vyv332) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv331), Succ(vyv332)), Succ(vyv332)) 214.26/145.86 new_primModNatS01(vyv331, vyv332, Succ(vyv3330), Succ(vyv3340)) -> new_primModNatS01(vyv331, vyv332, vyv3330, vyv3340) 214.26/145.86 new_primModNatS01(vyv331, vyv332, Succ(vyv3330), Zero) -> new_primModNatS02(vyv331, vyv332) 214.26/145.86 new_primModNatS01(vyv331, vyv332, Zero, Succ(vyv3340)) -> Succ(Succ(vyv331)) 214.26/145.86 new_primMinusNatS2(Succ(vyv3110), Succ(vyv3120)) -> new_primMinusNatS2(vyv3110, vyv3120) 214.26/145.86 new_primModNatS1(Succ(Zero), Succ(vyv292000)) -> Succ(Zero) 214.26/145.86 new_primModNatS1(Zero, vyv29200) -> Zero 214.26/145.86 new_primMinusNatS2(Zero, Zero) -> Zero 214.26/145.86 new_primMinusNatS2(Zero, Succ(vyv3120)) -> Zero 214.26/145.86 new_primMinusNatS2(Succ(vyv3110), Zero) -> Succ(vyv3110) 214.26/145.86 new_esEs(Neg(Succ(vyv24300))) -> new_primEqInt(Neg(Succ(vyv24300))) 214.26/145.86 new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) 214.26/145.86 new_primEqInt(Neg(Zero)) -> True 214.26/145.86 new_primEqInt(Neg(Succ(vyv242000))) -> False 214.26/145.86 214.26/145.86 The set Q consists of the following terms: 214.26/145.86 214.26/145.86 new_primModNatS01(x0, x1, Succ(x2), Zero) 214.26/145.86 new_primModNatS1(Succ(Succ(x0)), Zero) 214.26/145.86 new_primMinusNatS1 214.26/145.86 new_primEqInt(Pos(Zero)) 214.26/145.86 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 214.26/145.86 new_esEs(Pos(Succ(x0))) 214.26/145.86 new_primModNatS1(Zero, x0) 214.26/145.86 new_primModNatS02(x0, x1) 214.26/145.86 new_primMinusNatS2(Zero, Zero) 214.26/145.86 new_primModNatS1(Succ(Zero), Zero) 214.26/145.86 new_primMinusNatS2(Succ(x0), Zero) 214.26/145.86 new_esEs(Pos(Zero)) 214.26/145.86 new_primMinusNatS0(x0) 214.26/145.86 new_primEqInt(Neg(Succ(x0))) 214.26/145.86 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 214.26/145.86 new_esEs(Neg(Succ(x0))) 214.26/145.86 new_primEqInt(Neg(Zero)) 214.26/145.86 new_primModNatS01(x0, x1, Zero, Zero) 214.26/145.86 new_primEqInt(Pos(Succ(x0))) 214.26/145.86 new_primMinusNatS2(Zero, Succ(x0)) 214.26/145.86 new_primModNatS1(Succ(Zero), Succ(x0)) 214.26/145.86 new_primMinusNatS2(Succ(x0), Succ(x1)) 214.26/145.86 new_primModNatS01(x0, x1, Zero, Succ(x2)) 214.26/145.86 new_esEs(Neg(Zero)) 214.26/145.86 214.26/145.86 We have to consider all minimal (P,Q,R)-chains. 214.26/145.86 ---------------------------------------- 214.26/145.86 214.26/145.86 (589) QReductionProof (EQUIVALENT) 214.26/145.86 We deleted the following terms from Q as each root-symbol of these terms does neither occur in P nor in R.[THIEMANN]. 214.26/145.86 214.26/145.86 new_primMinusNatS1 214.26/145.86 new_primMinusNatS0(x0) 214.26/145.86 214.26/145.86 214.26/145.86 ---------------------------------------- 214.26/145.86 214.26/145.86 (590) 214.26/145.86 Obligation: 214.26/145.86 Q DP problem: 214.26/145.86 The TRS P consists of the following rules: 214.26/145.86 214.26/145.86 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)))) 214.26/145.86 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))) 214.26/145.86 214.26/145.86 The TRS R consists of the following rules: 214.26/145.86 214.26/145.86 new_primModNatS1(Succ(Succ(vyv293000)), Succ(vyv292000)) -> new_primModNatS01(vyv293000, vyv292000, vyv293000, vyv292000) 214.26/145.86 new_primModNatS01(vyv331, vyv332, Zero, Zero) -> new_primModNatS02(vyv331, vyv332) 214.26/145.86 new_primModNatS02(vyv331, vyv332) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv331), Succ(vyv332)), Succ(vyv332)) 214.26/145.86 new_primModNatS01(vyv331, vyv332, Succ(vyv3330), Succ(vyv3340)) -> new_primModNatS01(vyv331, vyv332, vyv3330, vyv3340) 214.26/145.86 new_primModNatS01(vyv331, vyv332, Succ(vyv3330), Zero) -> new_primModNatS02(vyv331, vyv332) 214.26/145.86 new_primModNatS01(vyv331, vyv332, Zero, Succ(vyv3340)) -> Succ(Succ(vyv331)) 214.26/145.86 new_primMinusNatS2(Succ(vyv3110), Succ(vyv3120)) -> new_primMinusNatS2(vyv3110, vyv3120) 214.26/145.86 new_primModNatS1(Succ(Zero), Succ(vyv292000)) -> Succ(Zero) 214.26/145.86 new_primModNatS1(Zero, vyv29200) -> Zero 214.26/145.86 new_primMinusNatS2(Zero, Zero) -> Zero 214.26/145.86 new_primMinusNatS2(Zero, Succ(vyv3120)) -> Zero 214.26/145.86 new_primMinusNatS2(Succ(vyv3110), Zero) -> Succ(vyv3110) 214.26/145.86 new_esEs(Neg(Succ(vyv24300))) -> new_primEqInt(Neg(Succ(vyv24300))) 214.26/145.86 new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) 214.26/145.86 new_primEqInt(Neg(Zero)) -> True 214.26/145.86 new_primEqInt(Neg(Succ(vyv242000))) -> False 214.26/145.86 214.26/145.86 The set Q consists of the following terms: 214.26/145.86 214.26/145.86 new_primModNatS01(x0, x1, Succ(x2), Zero) 214.26/145.86 new_primModNatS1(Succ(Succ(x0)), Zero) 214.26/145.86 new_primEqInt(Pos(Zero)) 214.26/145.86 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 214.26/145.86 new_esEs(Pos(Succ(x0))) 214.26/145.86 new_primModNatS1(Zero, x0) 214.26/145.86 new_primModNatS02(x0, x1) 214.26/145.86 new_primMinusNatS2(Zero, Zero) 214.26/145.86 new_primModNatS1(Succ(Zero), Zero) 214.26/145.86 new_primMinusNatS2(Succ(x0), Zero) 214.26/145.86 new_esEs(Pos(Zero)) 214.26/145.86 new_primEqInt(Neg(Succ(x0))) 214.26/145.86 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 214.26/145.86 new_esEs(Neg(Succ(x0))) 214.26/145.86 new_primEqInt(Neg(Zero)) 214.26/145.86 new_primModNatS01(x0, x1, Zero, Zero) 214.26/145.86 new_primEqInt(Pos(Succ(x0))) 214.26/145.86 new_primMinusNatS2(Zero, Succ(x0)) 214.26/145.86 new_primModNatS1(Succ(Zero), Succ(x0)) 214.26/145.86 new_primMinusNatS2(Succ(x0), Succ(x1)) 214.26/145.86 new_primModNatS01(x0, x1, Zero, Succ(x2)) 214.26/145.86 new_esEs(Neg(Zero)) 214.26/145.86 214.26/145.86 We have to consider all minimal (P,Q,R)-chains. 214.26/145.86 ---------------------------------------- 214.26/145.86 214.26/145.86 (591) TransformationProof (EQUIVALENT) 214.26/145.86 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]: 214.26/145.86 214.26/145.86 (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))))) 214.26/145.86 (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)))))) 214.26/145.86 (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)))))) 214.26/145.86 (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))))) 214.26/145.86 214.26/145.86 214.26/145.86 ---------------------------------------- 214.26/145.86 214.26/145.86 (592) 214.26/145.86 Obligation: 214.26/145.86 Q DP problem: 214.26/145.86 The TRS P consists of the following rules: 214.26/145.86 214.26/145.86 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))) 214.26/145.86 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)))) 214.26/145.86 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))))) 214.26/145.86 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))))) 214.26/145.86 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)))) 214.26/145.86 214.26/145.86 The TRS R consists of the following rules: 214.26/145.86 214.26/145.86 new_primModNatS1(Succ(Succ(vyv293000)), Succ(vyv292000)) -> new_primModNatS01(vyv293000, vyv292000, vyv293000, vyv292000) 214.26/145.86 new_primModNatS01(vyv331, vyv332, Zero, Zero) -> new_primModNatS02(vyv331, vyv332) 214.26/145.86 new_primModNatS02(vyv331, vyv332) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv331), Succ(vyv332)), Succ(vyv332)) 214.26/145.86 new_primModNatS01(vyv331, vyv332, Succ(vyv3330), Succ(vyv3340)) -> new_primModNatS01(vyv331, vyv332, vyv3330, vyv3340) 214.26/145.86 new_primModNatS01(vyv331, vyv332, Succ(vyv3330), Zero) -> new_primModNatS02(vyv331, vyv332) 214.26/145.86 new_primModNatS01(vyv331, vyv332, Zero, Succ(vyv3340)) -> Succ(Succ(vyv331)) 214.26/145.86 new_primMinusNatS2(Succ(vyv3110), Succ(vyv3120)) -> new_primMinusNatS2(vyv3110, vyv3120) 214.26/145.86 new_primModNatS1(Succ(Zero), Succ(vyv292000)) -> Succ(Zero) 214.26/145.86 new_primModNatS1(Zero, vyv29200) -> Zero 214.26/145.86 new_primMinusNatS2(Zero, Zero) -> Zero 214.26/145.86 new_primMinusNatS2(Zero, Succ(vyv3120)) -> Zero 214.26/145.86 new_primMinusNatS2(Succ(vyv3110), Zero) -> Succ(vyv3110) 214.26/145.86 new_esEs(Neg(Succ(vyv24300))) -> new_primEqInt(Neg(Succ(vyv24300))) 214.26/145.86 new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) 214.26/145.86 new_primEqInt(Neg(Zero)) -> True 214.26/145.86 new_primEqInt(Neg(Succ(vyv242000))) -> False 214.26/145.86 214.26/145.86 The set Q consists of the following terms: 214.26/145.86 214.26/145.86 new_primModNatS01(x0, x1, Succ(x2), Zero) 214.26/145.86 new_primModNatS1(Succ(Succ(x0)), Zero) 214.26/145.86 new_primEqInt(Pos(Zero)) 214.26/145.86 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 214.26/145.86 new_esEs(Pos(Succ(x0))) 214.26/145.86 new_primModNatS1(Zero, x0) 214.26/145.86 new_primModNatS02(x0, x1) 214.26/145.86 new_primMinusNatS2(Zero, Zero) 214.26/145.86 new_primModNatS1(Succ(Zero), Zero) 214.26/145.86 new_primMinusNatS2(Succ(x0), Zero) 214.26/145.86 new_esEs(Pos(Zero)) 214.26/145.86 new_primEqInt(Neg(Succ(x0))) 214.26/145.86 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 214.26/145.86 new_esEs(Neg(Succ(x0))) 214.26/145.86 new_primEqInt(Neg(Zero)) 214.26/145.86 new_primModNatS01(x0, x1, Zero, Zero) 214.26/145.86 new_primEqInt(Pos(Succ(x0))) 214.26/145.86 new_primMinusNatS2(Zero, Succ(x0)) 214.26/145.86 new_primModNatS1(Succ(Zero), Succ(x0)) 214.26/145.86 new_primMinusNatS2(Succ(x0), Succ(x1)) 214.26/145.86 new_primModNatS01(x0, x1, Zero, Succ(x2)) 214.26/145.86 new_esEs(Neg(Zero)) 214.26/145.86 214.26/145.86 We have to consider all minimal (P,Q,R)-chains. 214.26/145.86 ---------------------------------------- 214.26/145.86 214.26/145.86 (593) TransformationProof (EQUIVALENT) 214.26/145.86 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]: 214.26/145.86 214.26/145.86 (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))))) 214.26/145.86 214.26/145.86 214.26/145.86 ---------------------------------------- 214.26/145.86 214.26/145.86 (594) 214.26/145.86 Obligation: 214.26/145.86 Q DP problem: 214.26/145.86 The TRS P consists of the following rules: 214.26/145.86 214.26/145.86 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))) 214.26/145.86 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))))) 214.26/145.86 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))))) 214.26/145.86 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)))) 214.26/145.86 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)))) 214.26/145.86 214.26/145.86 The TRS R consists of the following rules: 214.26/145.86 214.26/145.86 new_primModNatS1(Succ(Succ(vyv293000)), Succ(vyv292000)) -> new_primModNatS01(vyv293000, vyv292000, vyv293000, vyv292000) 214.26/145.86 new_primModNatS01(vyv331, vyv332, Zero, Zero) -> new_primModNatS02(vyv331, vyv332) 214.26/145.86 new_primModNatS02(vyv331, vyv332) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv331), Succ(vyv332)), Succ(vyv332)) 214.26/145.86 new_primModNatS01(vyv331, vyv332, Succ(vyv3330), Succ(vyv3340)) -> new_primModNatS01(vyv331, vyv332, vyv3330, vyv3340) 214.26/145.86 new_primModNatS01(vyv331, vyv332, Succ(vyv3330), Zero) -> new_primModNatS02(vyv331, vyv332) 214.26/145.86 new_primModNatS01(vyv331, vyv332, Zero, Succ(vyv3340)) -> Succ(Succ(vyv331)) 214.26/145.86 new_primMinusNatS2(Succ(vyv3110), Succ(vyv3120)) -> new_primMinusNatS2(vyv3110, vyv3120) 214.26/145.86 new_primModNatS1(Succ(Zero), Succ(vyv292000)) -> Succ(Zero) 214.26/145.86 new_primModNatS1(Zero, vyv29200) -> Zero 214.26/145.86 new_primMinusNatS2(Zero, Zero) -> Zero 214.26/145.86 new_primMinusNatS2(Zero, Succ(vyv3120)) -> Zero 214.26/145.86 new_primMinusNatS2(Succ(vyv3110), Zero) -> Succ(vyv3110) 214.26/145.86 new_esEs(Neg(Succ(vyv24300))) -> new_primEqInt(Neg(Succ(vyv24300))) 214.26/145.86 new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) 214.26/145.86 new_primEqInt(Neg(Zero)) -> True 214.26/145.86 new_primEqInt(Neg(Succ(vyv242000))) -> False 214.26/145.86 214.26/145.86 The set Q consists of the following terms: 214.26/145.86 214.26/145.86 new_primModNatS01(x0, x1, Succ(x2), Zero) 214.26/145.86 new_primModNatS1(Succ(Succ(x0)), Zero) 214.26/145.86 new_primEqInt(Pos(Zero)) 214.26/145.86 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 214.26/145.86 new_esEs(Pos(Succ(x0))) 214.26/145.86 new_primModNatS1(Zero, x0) 214.26/145.86 new_primModNatS02(x0, x1) 214.26/145.86 new_primMinusNatS2(Zero, Zero) 214.26/145.86 new_primModNatS1(Succ(Zero), Zero) 214.26/145.86 new_primMinusNatS2(Succ(x0), Zero) 214.26/145.86 new_esEs(Pos(Zero)) 214.26/145.86 new_primEqInt(Neg(Succ(x0))) 214.26/145.86 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 214.26/145.86 new_esEs(Neg(Succ(x0))) 214.26/145.86 new_primEqInt(Neg(Zero)) 214.26/145.86 new_primModNatS01(x0, x1, Zero, Zero) 214.26/145.86 new_primEqInt(Pos(Succ(x0))) 214.26/145.86 new_primMinusNatS2(Zero, Succ(x0)) 214.26/145.86 new_primModNatS1(Succ(Zero), Succ(x0)) 214.26/145.86 new_primMinusNatS2(Succ(x0), Succ(x1)) 214.26/145.86 new_primModNatS01(x0, x1, Zero, Succ(x2)) 214.26/145.86 new_esEs(Neg(Zero)) 214.26/145.86 214.26/145.86 We have to consider all minimal (P,Q,R)-chains. 214.26/145.86 ---------------------------------------- 214.26/145.86 214.26/145.86 (595) TransformationProof (EQUIVALENT) 214.26/145.86 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]: 214.26/145.86 214.26/145.86 (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)))))) 214.26/145.86 214.26/145.86 214.26/145.86 ---------------------------------------- 214.26/145.86 214.26/145.86 (596) 214.26/145.86 Obligation: 214.26/145.86 Q DP problem: 214.26/145.86 The TRS P consists of the following rules: 214.26/145.86 214.26/145.86 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))) 214.26/145.86 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))))) 214.26/145.86 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)))) 214.26/145.86 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)))) 214.26/145.86 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))))) 214.26/145.86 214.26/145.86 The TRS R consists of the following rules: 214.26/145.86 214.26/145.86 new_primModNatS1(Succ(Succ(vyv293000)), Succ(vyv292000)) -> new_primModNatS01(vyv293000, vyv292000, vyv293000, vyv292000) 214.26/145.86 new_primModNatS01(vyv331, vyv332, Zero, Zero) -> new_primModNatS02(vyv331, vyv332) 214.26/145.86 new_primModNatS02(vyv331, vyv332) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv331), Succ(vyv332)), Succ(vyv332)) 214.26/145.86 new_primModNatS01(vyv331, vyv332, Succ(vyv3330), Succ(vyv3340)) -> new_primModNatS01(vyv331, vyv332, vyv3330, vyv3340) 214.26/145.86 new_primModNatS01(vyv331, vyv332, Succ(vyv3330), Zero) -> new_primModNatS02(vyv331, vyv332) 214.26/145.86 new_primModNatS01(vyv331, vyv332, Zero, Succ(vyv3340)) -> Succ(Succ(vyv331)) 214.26/145.86 new_primMinusNatS2(Succ(vyv3110), Succ(vyv3120)) -> new_primMinusNatS2(vyv3110, vyv3120) 214.26/145.86 new_primModNatS1(Succ(Zero), Succ(vyv292000)) -> Succ(Zero) 214.26/145.86 new_primModNatS1(Zero, vyv29200) -> Zero 214.26/145.86 new_primMinusNatS2(Zero, Zero) -> Zero 214.26/145.86 new_primMinusNatS2(Zero, Succ(vyv3120)) -> Zero 214.26/145.86 new_primMinusNatS2(Succ(vyv3110), Zero) -> Succ(vyv3110) 214.26/145.86 new_esEs(Neg(Succ(vyv24300))) -> new_primEqInt(Neg(Succ(vyv24300))) 214.26/145.86 new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) 214.26/145.86 new_primEqInt(Neg(Zero)) -> True 214.26/145.86 new_primEqInt(Neg(Succ(vyv242000))) -> False 214.26/145.86 214.26/145.86 The set Q consists of the following terms: 214.26/145.86 214.26/145.86 new_primModNatS01(x0, x1, Succ(x2), Zero) 214.26/145.86 new_primModNatS1(Succ(Succ(x0)), Zero) 214.26/145.86 new_primEqInt(Pos(Zero)) 214.26/145.86 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 214.26/145.86 new_esEs(Pos(Succ(x0))) 214.26/145.86 new_primModNatS1(Zero, x0) 214.26/145.86 new_primModNatS02(x0, x1) 214.26/145.86 new_primMinusNatS2(Zero, Zero) 214.26/145.86 new_primModNatS1(Succ(Zero), Zero) 214.26/145.86 new_primMinusNatS2(Succ(x0), Zero) 214.26/145.86 new_esEs(Pos(Zero)) 214.26/145.86 new_primEqInt(Neg(Succ(x0))) 214.26/145.86 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 214.26/145.86 new_esEs(Neg(Succ(x0))) 214.26/145.86 new_primEqInt(Neg(Zero)) 214.26/145.86 new_primModNatS01(x0, x1, Zero, Zero) 214.29/145.86 new_primEqInt(Pos(Succ(x0))) 214.29/145.86 new_primMinusNatS2(Zero, Succ(x0)) 214.29/145.86 new_primModNatS1(Succ(Zero), Succ(x0)) 214.29/145.86 new_primMinusNatS2(Succ(x0), Succ(x1)) 214.29/145.86 new_primModNatS01(x0, x1, Zero, Succ(x2)) 214.29/145.86 new_esEs(Neg(Zero)) 214.29/145.86 214.29/145.86 We have to consider all minimal (P,Q,R)-chains. 214.29/145.86 ---------------------------------------- 214.29/145.86 214.29/145.86 (597) TransformationProof (EQUIVALENT) 214.29/145.86 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]: 214.29/145.86 214.29/145.86 (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))))) 214.29/145.86 214.29/145.86 214.29/145.86 ---------------------------------------- 214.29/145.86 214.29/145.86 (598) 214.29/145.86 Obligation: 214.29/145.86 Q DP problem: 214.29/145.86 The TRS P consists of the following rules: 214.29/145.86 214.29/145.86 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))) 214.29/145.86 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))))) 214.29/145.86 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)))) 214.29/145.86 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))))) 214.29/145.86 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)))) 214.29/145.86 214.29/145.86 The TRS R consists of the following rules: 214.29/145.86 214.29/145.86 new_primModNatS1(Succ(Succ(vyv293000)), Succ(vyv292000)) -> new_primModNatS01(vyv293000, vyv292000, vyv293000, vyv292000) 214.29/145.86 new_primModNatS01(vyv331, vyv332, Zero, Zero) -> new_primModNatS02(vyv331, vyv332) 214.29/145.86 new_primModNatS02(vyv331, vyv332) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv331), Succ(vyv332)), Succ(vyv332)) 214.29/145.86 new_primModNatS01(vyv331, vyv332, Succ(vyv3330), Succ(vyv3340)) -> new_primModNatS01(vyv331, vyv332, vyv3330, vyv3340) 214.29/145.86 new_primModNatS01(vyv331, vyv332, Succ(vyv3330), Zero) -> new_primModNatS02(vyv331, vyv332) 214.29/145.86 new_primModNatS01(vyv331, vyv332, Zero, Succ(vyv3340)) -> Succ(Succ(vyv331)) 214.29/145.86 new_primMinusNatS2(Succ(vyv3110), Succ(vyv3120)) -> new_primMinusNatS2(vyv3110, vyv3120) 214.29/145.86 new_primModNatS1(Succ(Zero), Succ(vyv292000)) -> Succ(Zero) 214.29/145.86 new_primModNatS1(Zero, vyv29200) -> Zero 214.29/145.86 new_primMinusNatS2(Zero, Zero) -> Zero 214.29/145.86 new_primMinusNatS2(Zero, Succ(vyv3120)) -> Zero 214.29/145.86 new_primMinusNatS2(Succ(vyv3110), Zero) -> Succ(vyv3110) 214.29/145.86 new_esEs(Neg(Succ(vyv24300))) -> new_primEqInt(Neg(Succ(vyv24300))) 214.29/145.86 new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) 214.29/145.86 new_primEqInt(Neg(Zero)) -> True 214.29/145.86 new_primEqInt(Neg(Succ(vyv242000))) -> False 214.29/145.86 214.29/145.86 The set Q consists of the following terms: 214.29/145.86 214.29/145.86 new_primModNatS01(x0, x1, Succ(x2), Zero) 214.29/145.86 new_primModNatS1(Succ(Succ(x0)), Zero) 214.29/145.86 new_primEqInt(Pos(Zero)) 214.29/145.86 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 214.29/145.86 new_esEs(Pos(Succ(x0))) 214.29/145.86 new_primModNatS1(Zero, x0) 214.29/145.86 new_primModNatS02(x0, x1) 214.29/145.86 new_primMinusNatS2(Zero, Zero) 214.29/145.86 new_primModNatS1(Succ(Zero), Zero) 214.29/145.86 new_primMinusNatS2(Succ(x0), Zero) 214.29/145.86 new_esEs(Pos(Zero)) 214.29/145.86 new_primEqInt(Neg(Succ(x0))) 214.29/145.86 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 214.29/145.86 new_esEs(Neg(Succ(x0))) 214.29/145.86 new_primEqInt(Neg(Zero)) 214.29/145.86 new_primModNatS01(x0, x1, Zero, Zero) 214.29/145.86 new_primEqInt(Pos(Succ(x0))) 214.29/145.86 new_primMinusNatS2(Zero, Succ(x0)) 214.29/145.86 new_primModNatS1(Succ(Zero), Succ(x0)) 214.29/145.86 new_primMinusNatS2(Succ(x0), Succ(x1)) 214.29/145.86 new_primModNatS01(x0, x1, Zero, Succ(x2)) 214.29/145.86 new_esEs(Neg(Zero)) 214.29/145.86 214.29/145.86 We have to consider all minimal (P,Q,R)-chains. 214.29/145.86 ---------------------------------------- 214.29/145.86 214.29/145.86 (599) TransformationProof (EQUIVALENT) 214.29/145.86 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]: 214.29/145.86 214.29/145.86 (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))))) 214.29/145.86 214.29/145.86 214.29/145.86 ---------------------------------------- 214.29/145.86 214.29/145.86 (600) 214.29/145.86 Obligation: 214.29/145.86 Q DP problem: 214.29/145.86 The TRS P consists of the following rules: 214.29/145.86 214.29/145.86 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))) 214.29/145.86 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))))) 214.29/145.86 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))))) 214.29/145.86 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)))) 214.29/145.86 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)))) 214.29/145.86 214.29/145.86 The TRS R consists of the following rules: 214.29/145.86 214.29/145.86 new_primModNatS1(Succ(Succ(vyv293000)), Succ(vyv292000)) -> new_primModNatS01(vyv293000, vyv292000, vyv293000, vyv292000) 214.29/145.86 new_primModNatS01(vyv331, vyv332, Zero, Zero) -> new_primModNatS02(vyv331, vyv332) 214.29/145.86 new_primModNatS02(vyv331, vyv332) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv331), Succ(vyv332)), Succ(vyv332)) 214.29/145.86 new_primModNatS01(vyv331, vyv332, Succ(vyv3330), Succ(vyv3340)) -> new_primModNatS01(vyv331, vyv332, vyv3330, vyv3340) 214.29/145.86 new_primModNatS01(vyv331, vyv332, Succ(vyv3330), Zero) -> new_primModNatS02(vyv331, vyv332) 214.29/145.86 new_primModNatS01(vyv331, vyv332, Zero, Succ(vyv3340)) -> Succ(Succ(vyv331)) 214.29/145.86 new_primMinusNatS2(Succ(vyv3110), Succ(vyv3120)) -> new_primMinusNatS2(vyv3110, vyv3120) 214.29/145.86 new_primModNatS1(Succ(Zero), Succ(vyv292000)) -> Succ(Zero) 214.29/145.86 new_primModNatS1(Zero, vyv29200) -> Zero 214.29/145.86 new_primMinusNatS2(Zero, Zero) -> Zero 214.29/145.86 new_primMinusNatS2(Zero, Succ(vyv3120)) -> Zero 214.29/145.86 new_primMinusNatS2(Succ(vyv3110), Zero) -> Succ(vyv3110) 214.29/145.86 new_esEs(Neg(Succ(vyv24300))) -> new_primEqInt(Neg(Succ(vyv24300))) 214.29/145.86 new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) 214.29/145.86 new_primEqInt(Neg(Zero)) -> True 214.29/145.86 new_primEqInt(Neg(Succ(vyv242000))) -> False 214.29/145.86 214.29/145.86 The set Q consists of the following terms: 214.29/145.86 214.29/145.86 new_primModNatS01(x0, x1, Succ(x2), Zero) 214.29/145.86 new_primModNatS1(Succ(Succ(x0)), Zero) 214.29/145.86 new_primEqInt(Pos(Zero)) 214.29/145.86 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 214.29/145.86 new_esEs(Pos(Succ(x0))) 214.29/145.86 new_primModNatS1(Zero, x0) 214.29/145.86 new_primModNatS02(x0, x1) 214.29/145.86 new_primMinusNatS2(Zero, Zero) 214.29/145.86 new_primModNatS1(Succ(Zero), Zero) 214.29/145.86 new_primMinusNatS2(Succ(x0), Zero) 214.29/145.86 new_esEs(Pos(Zero)) 214.29/145.86 new_primEqInt(Neg(Succ(x0))) 214.29/145.86 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 214.29/145.86 new_esEs(Neg(Succ(x0))) 214.29/145.86 new_primEqInt(Neg(Zero)) 214.29/145.86 new_primModNatS01(x0, x1, Zero, Zero) 214.29/145.86 new_primEqInt(Pos(Succ(x0))) 214.29/145.86 new_primMinusNatS2(Zero, Succ(x0)) 214.29/145.86 new_primModNatS1(Succ(Zero), Succ(x0)) 214.29/145.86 new_primMinusNatS2(Succ(x0), Succ(x1)) 214.29/145.86 new_primModNatS01(x0, x1, Zero, Succ(x2)) 214.29/145.86 new_esEs(Neg(Zero)) 214.29/145.86 214.29/145.86 We have to consider all minimal (P,Q,R)-chains. 214.29/145.86 ---------------------------------------- 214.29/145.86 214.29/145.86 (601) TransformationProof (EQUIVALENT) 214.29/145.86 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]: 214.29/145.86 214.29/145.86 (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)))))) 214.29/145.86 214.29/145.86 214.29/145.86 ---------------------------------------- 214.29/145.86 214.29/145.86 (602) 214.29/145.86 Obligation: 214.29/145.86 Q DP problem: 214.29/145.86 The TRS P consists of the following rules: 214.29/145.86 214.29/145.86 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))) 214.29/145.86 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))))) 214.29/145.86 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)))) 214.29/145.86 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)))) 214.29/145.86 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))))) 214.29/145.86 214.29/145.86 The TRS R consists of the following rules: 214.29/145.86 214.29/145.86 new_primModNatS1(Succ(Succ(vyv293000)), Succ(vyv292000)) -> new_primModNatS01(vyv293000, vyv292000, vyv293000, vyv292000) 214.29/145.86 new_primModNatS01(vyv331, vyv332, Zero, Zero) -> new_primModNatS02(vyv331, vyv332) 214.29/145.86 new_primModNatS02(vyv331, vyv332) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv331), Succ(vyv332)), Succ(vyv332)) 214.29/145.86 new_primModNatS01(vyv331, vyv332, Succ(vyv3330), Succ(vyv3340)) -> new_primModNatS01(vyv331, vyv332, vyv3330, vyv3340) 214.29/145.86 new_primModNatS01(vyv331, vyv332, Succ(vyv3330), Zero) -> new_primModNatS02(vyv331, vyv332) 214.29/145.86 new_primModNatS01(vyv331, vyv332, Zero, Succ(vyv3340)) -> Succ(Succ(vyv331)) 214.29/145.86 new_primMinusNatS2(Succ(vyv3110), Succ(vyv3120)) -> new_primMinusNatS2(vyv3110, vyv3120) 214.29/145.86 new_primModNatS1(Succ(Zero), Succ(vyv292000)) -> Succ(Zero) 214.29/145.86 new_primModNatS1(Zero, vyv29200) -> Zero 214.29/145.86 new_primMinusNatS2(Zero, Zero) -> Zero 214.29/145.86 new_primMinusNatS2(Zero, Succ(vyv3120)) -> Zero 214.29/145.86 new_primMinusNatS2(Succ(vyv3110), Zero) -> Succ(vyv3110) 214.29/145.86 new_esEs(Neg(Succ(vyv24300))) -> new_primEqInt(Neg(Succ(vyv24300))) 214.29/145.86 new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) 214.29/145.86 new_primEqInt(Neg(Zero)) -> True 214.29/145.86 new_primEqInt(Neg(Succ(vyv242000))) -> False 214.29/145.86 214.29/145.86 The set Q consists of the following terms: 214.29/145.86 214.29/145.86 new_primModNatS01(x0, x1, Succ(x2), Zero) 214.29/145.86 new_primModNatS1(Succ(Succ(x0)), Zero) 214.29/145.86 new_primEqInt(Pos(Zero)) 214.29/145.86 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 214.29/145.86 new_esEs(Pos(Succ(x0))) 214.29/145.86 new_primModNatS1(Zero, x0) 214.29/145.86 new_primModNatS02(x0, x1) 214.29/145.86 new_primMinusNatS2(Zero, Zero) 214.29/145.86 new_primModNatS1(Succ(Zero), Zero) 214.29/145.86 new_primMinusNatS2(Succ(x0), Zero) 214.29/145.86 new_esEs(Pos(Zero)) 214.29/145.86 new_primEqInt(Neg(Succ(x0))) 214.29/145.86 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 214.29/145.86 new_esEs(Neg(Succ(x0))) 214.29/145.86 new_primEqInt(Neg(Zero)) 214.29/145.86 new_primModNatS01(x0, x1, Zero, Zero) 214.29/145.86 new_primEqInt(Pos(Succ(x0))) 214.29/145.86 new_primMinusNatS2(Zero, Succ(x0)) 214.29/145.86 new_primModNatS1(Succ(Zero), Succ(x0)) 214.29/145.86 new_primMinusNatS2(Succ(x0), Succ(x1)) 214.29/145.86 new_primModNatS01(x0, x1, Zero, Succ(x2)) 214.29/145.86 new_esEs(Neg(Zero)) 214.29/145.86 214.29/145.86 We have to consider all minimal (P,Q,R)-chains. 214.29/145.86 ---------------------------------------- 214.29/145.86 214.29/145.86 (603) TransformationProof (EQUIVALENT) 214.29/145.86 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]: 214.29/145.86 214.29/145.86 (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))))) 214.29/145.86 214.29/145.86 214.29/145.86 ---------------------------------------- 214.29/145.86 214.29/145.86 (604) 214.29/145.86 Obligation: 214.29/145.86 Q DP problem: 214.29/145.86 The TRS P consists of the following rules: 214.29/145.86 214.29/145.86 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))) 214.29/145.86 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))))) 214.29/145.86 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)))) 214.29/145.87 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))))) 214.29/145.87 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)))) 214.29/145.87 214.29/145.87 The TRS R consists of the following rules: 214.29/145.87 214.29/145.87 new_primModNatS1(Succ(Succ(vyv293000)), Succ(vyv292000)) -> new_primModNatS01(vyv293000, vyv292000, vyv293000, vyv292000) 214.29/145.87 new_primModNatS01(vyv331, vyv332, Zero, Zero) -> new_primModNatS02(vyv331, vyv332) 214.29/145.87 new_primModNatS02(vyv331, vyv332) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv331), Succ(vyv332)), Succ(vyv332)) 214.29/145.87 new_primModNatS01(vyv331, vyv332, Succ(vyv3330), Succ(vyv3340)) -> new_primModNatS01(vyv331, vyv332, vyv3330, vyv3340) 214.29/145.87 new_primModNatS01(vyv331, vyv332, Succ(vyv3330), Zero) -> new_primModNatS02(vyv331, vyv332) 214.29/145.87 new_primModNatS01(vyv331, vyv332, Zero, Succ(vyv3340)) -> Succ(Succ(vyv331)) 214.29/145.87 new_primMinusNatS2(Succ(vyv3110), Succ(vyv3120)) -> new_primMinusNatS2(vyv3110, vyv3120) 214.29/145.87 new_primModNatS1(Succ(Zero), Succ(vyv292000)) -> Succ(Zero) 214.29/145.87 new_primModNatS1(Zero, vyv29200) -> Zero 214.29/145.87 new_primMinusNatS2(Zero, Zero) -> Zero 214.29/145.87 new_primMinusNatS2(Zero, Succ(vyv3120)) -> Zero 214.29/145.87 new_primMinusNatS2(Succ(vyv3110), Zero) -> Succ(vyv3110) 214.29/145.87 new_esEs(Neg(Succ(vyv24300))) -> new_primEqInt(Neg(Succ(vyv24300))) 214.29/145.87 new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) 214.29/145.87 new_primEqInt(Neg(Zero)) -> True 214.29/145.87 new_primEqInt(Neg(Succ(vyv242000))) -> False 214.29/145.87 214.29/145.87 The set Q consists of the following terms: 214.29/145.87 214.29/145.87 new_primModNatS01(x0, x1, Succ(x2), Zero) 214.29/145.87 new_primModNatS1(Succ(Succ(x0)), Zero) 214.29/145.87 new_primEqInt(Pos(Zero)) 214.29/145.87 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 214.29/145.87 new_esEs(Pos(Succ(x0))) 214.29/145.87 new_primModNatS1(Zero, x0) 214.29/145.87 new_primModNatS02(x0, x1) 214.29/145.87 new_primMinusNatS2(Zero, Zero) 214.29/145.87 new_primModNatS1(Succ(Zero), Zero) 214.29/145.87 new_primMinusNatS2(Succ(x0), Zero) 214.29/145.87 new_esEs(Pos(Zero)) 214.29/145.87 new_primEqInt(Neg(Succ(x0))) 214.29/145.87 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 214.29/145.87 new_esEs(Neg(Succ(x0))) 214.29/145.87 new_primEqInt(Neg(Zero)) 214.29/145.87 new_primModNatS01(x0, x1, Zero, Zero) 214.29/145.87 new_primEqInt(Pos(Succ(x0))) 214.29/145.87 new_primMinusNatS2(Zero, Succ(x0)) 214.29/145.87 new_primModNatS1(Succ(Zero), Succ(x0)) 214.29/145.87 new_primMinusNatS2(Succ(x0), Succ(x1)) 214.29/145.87 new_primModNatS01(x0, x1, Zero, Succ(x2)) 214.29/145.87 new_esEs(Neg(Zero)) 214.29/145.87 214.29/145.87 We have to consider all minimal (P,Q,R)-chains. 214.29/145.87 ---------------------------------------- 214.29/145.87 214.29/145.87 (605) TransformationProof (EQUIVALENT) 214.29/145.87 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]: 214.29/145.87 214.29/145.87 (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))))) 214.29/145.87 214.29/145.87 214.29/145.87 ---------------------------------------- 214.29/145.87 214.29/145.87 (606) 214.29/145.87 Obligation: 214.29/145.87 Q DP problem: 214.29/145.87 The TRS P consists of the following rules: 214.29/145.87 214.29/145.87 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))) 214.29/145.87 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))))) 214.29/145.87 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))))) 214.29/145.87 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)))) 214.29/145.87 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)))) 214.29/145.87 214.29/145.87 The TRS R consists of the following rules: 214.29/145.87 214.29/145.87 new_primModNatS1(Succ(Succ(vyv293000)), Succ(vyv292000)) -> new_primModNatS01(vyv293000, vyv292000, vyv293000, vyv292000) 214.29/145.87 new_primModNatS01(vyv331, vyv332, Zero, Zero) -> new_primModNatS02(vyv331, vyv332) 214.29/145.87 new_primModNatS02(vyv331, vyv332) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv331), Succ(vyv332)), Succ(vyv332)) 214.29/145.87 new_primModNatS01(vyv331, vyv332, Succ(vyv3330), Succ(vyv3340)) -> new_primModNatS01(vyv331, vyv332, vyv3330, vyv3340) 214.29/145.87 new_primModNatS01(vyv331, vyv332, Succ(vyv3330), Zero) -> new_primModNatS02(vyv331, vyv332) 214.29/145.87 new_primModNatS01(vyv331, vyv332, Zero, Succ(vyv3340)) -> Succ(Succ(vyv331)) 214.29/145.87 new_primMinusNatS2(Succ(vyv3110), Succ(vyv3120)) -> new_primMinusNatS2(vyv3110, vyv3120) 214.29/145.87 new_primModNatS1(Succ(Zero), Succ(vyv292000)) -> Succ(Zero) 214.29/145.87 new_primModNatS1(Zero, vyv29200) -> Zero 214.29/145.87 new_primMinusNatS2(Zero, Zero) -> Zero 214.29/145.87 new_primMinusNatS2(Zero, Succ(vyv3120)) -> Zero 214.29/145.87 new_primMinusNatS2(Succ(vyv3110), Zero) -> Succ(vyv3110) 214.29/145.87 new_esEs(Neg(Succ(vyv24300))) -> new_primEqInt(Neg(Succ(vyv24300))) 214.29/145.87 new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) 214.29/145.87 new_primEqInt(Neg(Zero)) -> True 214.29/145.87 new_primEqInt(Neg(Succ(vyv242000))) -> False 214.29/145.87 214.29/145.87 The set Q consists of the following terms: 214.29/145.87 214.29/145.87 new_primModNatS01(x0, x1, Succ(x2), Zero) 214.29/145.87 new_primModNatS1(Succ(Succ(x0)), Zero) 214.29/145.87 new_primEqInt(Pos(Zero)) 214.29/145.87 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 214.29/145.87 new_esEs(Pos(Succ(x0))) 214.29/145.87 new_primModNatS1(Zero, x0) 214.29/145.87 new_primModNatS02(x0, x1) 214.29/145.87 new_primMinusNatS2(Zero, Zero) 214.29/145.87 new_primModNatS1(Succ(Zero), Zero) 214.29/145.87 new_primMinusNatS2(Succ(x0), Zero) 214.29/145.87 new_esEs(Pos(Zero)) 214.29/145.87 new_primEqInt(Neg(Succ(x0))) 214.29/145.87 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 214.29/145.87 new_esEs(Neg(Succ(x0))) 214.29/145.87 new_primEqInt(Neg(Zero)) 214.29/145.87 new_primModNatS01(x0, x1, Zero, Zero) 214.29/145.87 new_primEqInt(Pos(Succ(x0))) 214.29/145.87 new_primMinusNatS2(Zero, Succ(x0)) 214.29/145.87 new_primModNatS1(Succ(Zero), Succ(x0)) 214.29/145.87 new_primMinusNatS2(Succ(x0), Succ(x1)) 214.29/145.87 new_primModNatS01(x0, x1, Zero, Succ(x2)) 214.29/145.87 new_esEs(Neg(Zero)) 214.29/145.87 214.29/145.87 We have to consider all minimal (P,Q,R)-chains. 214.29/145.87 ---------------------------------------- 214.29/145.87 214.29/145.87 (607) TransformationProof (EQUIVALENT) 214.29/145.87 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]: 214.29/145.87 214.29/145.87 (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)))))) 214.29/145.87 214.29/145.87 214.29/145.87 ---------------------------------------- 214.29/145.87 214.29/145.87 (608) 214.29/145.87 Obligation: 214.29/145.87 Q DP problem: 214.29/145.87 The TRS P consists of the following rules: 214.29/145.87 214.29/145.87 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))) 214.29/145.87 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))))) 214.29/145.87 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)))) 214.29/145.87 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)))) 214.29/145.87 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))))) 214.29/145.87 214.29/145.87 The TRS R consists of the following rules: 214.29/145.87 214.29/145.87 new_primModNatS1(Succ(Succ(vyv293000)), Succ(vyv292000)) -> new_primModNatS01(vyv293000, vyv292000, vyv293000, vyv292000) 214.29/145.87 new_primModNatS01(vyv331, vyv332, Zero, Zero) -> new_primModNatS02(vyv331, vyv332) 214.29/145.87 new_primModNatS02(vyv331, vyv332) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv331), Succ(vyv332)), Succ(vyv332)) 214.29/145.87 new_primModNatS01(vyv331, vyv332, Succ(vyv3330), Succ(vyv3340)) -> new_primModNatS01(vyv331, vyv332, vyv3330, vyv3340) 214.29/145.87 new_primModNatS01(vyv331, vyv332, Succ(vyv3330), Zero) -> new_primModNatS02(vyv331, vyv332) 214.29/145.87 new_primModNatS01(vyv331, vyv332, Zero, Succ(vyv3340)) -> Succ(Succ(vyv331)) 214.29/145.87 new_primMinusNatS2(Succ(vyv3110), Succ(vyv3120)) -> new_primMinusNatS2(vyv3110, vyv3120) 214.29/145.87 new_primModNatS1(Succ(Zero), Succ(vyv292000)) -> Succ(Zero) 214.29/145.87 new_primModNatS1(Zero, vyv29200) -> Zero 214.29/145.87 new_primMinusNatS2(Zero, Zero) -> Zero 214.29/145.87 new_primMinusNatS2(Zero, Succ(vyv3120)) -> Zero 214.29/145.87 new_primMinusNatS2(Succ(vyv3110), Zero) -> Succ(vyv3110) 214.29/145.87 new_esEs(Neg(Succ(vyv24300))) -> new_primEqInt(Neg(Succ(vyv24300))) 214.29/145.87 new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) 214.29/145.87 new_primEqInt(Neg(Zero)) -> True 214.29/145.87 new_primEqInt(Neg(Succ(vyv242000))) -> False 214.29/145.87 214.29/145.87 The set Q consists of the following terms: 214.29/145.87 214.29/145.87 new_primModNatS01(x0, x1, Succ(x2), Zero) 214.29/145.87 new_primModNatS1(Succ(Succ(x0)), Zero) 214.29/145.87 new_primEqInt(Pos(Zero)) 214.29/145.87 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 214.29/145.87 new_esEs(Pos(Succ(x0))) 214.29/145.87 new_primModNatS1(Zero, x0) 214.29/145.87 new_primModNatS02(x0, x1) 214.29/145.87 new_primMinusNatS2(Zero, Zero) 214.29/145.87 new_primModNatS1(Succ(Zero), Zero) 214.29/145.87 new_primMinusNatS2(Succ(x0), Zero) 214.29/145.87 new_esEs(Pos(Zero)) 214.29/145.87 new_primEqInt(Neg(Succ(x0))) 214.29/145.87 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 214.29/145.87 new_esEs(Neg(Succ(x0))) 214.29/145.87 new_primEqInt(Neg(Zero)) 214.29/145.87 new_primModNatS01(x0, x1, Zero, Zero) 214.29/145.87 new_primEqInt(Pos(Succ(x0))) 214.29/145.87 new_primMinusNatS2(Zero, Succ(x0)) 214.29/145.87 new_primModNatS1(Succ(Zero), Succ(x0)) 214.29/145.87 new_primMinusNatS2(Succ(x0), Succ(x1)) 214.29/145.87 new_primModNatS01(x0, x1, Zero, Succ(x2)) 214.29/145.87 new_esEs(Neg(Zero)) 214.29/145.87 214.29/145.87 We have to consider all minimal (P,Q,R)-chains. 214.29/145.87 ---------------------------------------- 214.29/145.87 214.29/145.87 (609) TransformationProof (EQUIVALENT) 214.29/145.87 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]: 214.29/145.87 214.29/145.87 (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))))) 214.29/145.87 214.29/145.87 214.29/145.87 ---------------------------------------- 214.29/145.87 214.29/145.87 (610) 214.29/145.87 Obligation: 214.29/145.87 Q DP problem: 214.29/145.87 The TRS P consists of the following rules: 214.29/145.87 214.29/145.87 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))) 214.29/145.87 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))))) 214.29/145.87 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)))) 214.29/145.87 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))))) 214.29/145.87 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)))) 214.29/145.87 214.29/145.87 The TRS R consists of the following rules: 214.29/145.87 214.29/145.87 new_primModNatS1(Succ(Succ(vyv293000)), Succ(vyv292000)) -> new_primModNatS01(vyv293000, vyv292000, vyv293000, vyv292000) 214.29/145.87 new_primModNatS01(vyv331, vyv332, Zero, Zero) -> new_primModNatS02(vyv331, vyv332) 214.29/145.87 new_primModNatS02(vyv331, vyv332) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv331), Succ(vyv332)), Succ(vyv332)) 214.29/145.87 new_primModNatS01(vyv331, vyv332, Succ(vyv3330), Succ(vyv3340)) -> new_primModNatS01(vyv331, vyv332, vyv3330, vyv3340) 214.29/145.87 new_primModNatS01(vyv331, vyv332, Succ(vyv3330), Zero) -> new_primModNatS02(vyv331, vyv332) 214.29/145.87 new_primModNatS01(vyv331, vyv332, Zero, Succ(vyv3340)) -> Succ(Succ(vyv331)) 214.29/145.87 new_primMinusNatS2(Succ(vyv3110), Succ(vyv3120)) -> new_primMinusNatS2(vyv3110, vyv3120) 214.29/145.87 new_primModNatS1(Succ(Zero), Succ(vyv292000)) -> Succ(Zero) 214.29/145.87 new_primModNatS1(Zero, vyv29200) -> Zero 214.29/145.87 new_primMinusNatS2(Zero, Zero) -> Zero 214.29/145.87 new_primMinusNatS2(Zero, Succ(vyv3120)) -> Zero 214.29/145.87 new_primMinusNatS2(Succ(vyv3110), Zero) -> Succ(vyv3110) 214.29/145.87 new_esEs(Neg(Succ(vyv24300))) -> new_primEqInt(Neg(Succ(vyv24300))) 214.29/145.87 new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) 214.29/145.87 new_primEqInt(Neg(Zero)) -> True 214.29/145.87 new_primEqInt(Neg(Succ(vyv242000))) -> False 214.29/145.87 214.29/145.87 The set Q consists of the following terms: 214.29/145.87 214.29/145.87 new_primModNatS01(x0, x1, Succ(x2), Zero) 214.29/145.87 new_primModNatS1(Succ(Succ(x0)), Zero) 214.29/145.87 new_primEqInt(Pos(Zero)) 214.29/145.87 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 214.29/145.87 new_esEs(Pos(Succ(x0))) 214.29/145.87 new_primModNatS1(Zero, x0) 214.29/145.87 new_primModNatS02(x0, x1) 214.29/145.87 new_primMinusNatS2(Zero, Zero) 214.29/145.87 new_primModNatS1(Succ(Zero), Zero) 214.29/145.87 new_primMinusNatS2(Succ(x0), Zero) 214.29/145.87 new_esEs(Pos(Zero)) 214.29/145.87 new_primEqInt(Neg(Succ(x0))) 214.29/145.87 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 214.29/145.87 new_esEs(Neg(Succ(x0))) 214.29/145.87 new_primEqInt(Neg(Zero)) 214.29/145.87 new_primModNatS01(x0, x1, Zero, Zero) 214.29/145.87 new_primEqInt(Pos(Succ(x0))) 214.29/145.87 new_primMinusNatS2(Zero, Succ(x0)) 214.29/145.87 new_primModNatS1(Succ(Zero), Succ(x0)) 214.29/145.87 new_primMinusNatS2(Succ(x0), Succ(x1)) 214.29/145.87 new_primModNatS01(x0, x1, Zero, Succ(x2)) 214.29/145.87 new_esEs(Neg(Zero)) 214.29/145.87 214.29/145.87 We have to consider all minimal (P,Q,R)-chains. 214.29/145.87 ---------------------------------------- 214.29/145.87 214.29/145.87 (611) DependencyGraphProof (EQUIVALENT) 214.29/145.87 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. 214.29/145.87 ---------------------------------------- 214.29/145.87 214.29/145.87 (612) 214.29/145.87 Obligation: 214.29/145.87 Q DP problem: 214.29/145.87 The TRS P consists of the following rules: 214.29/145.87 214.29/145.87 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))))) 214.29/145.87 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))) 214.29/145.87 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)))) 214.29/145.87 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))))) 214.29/145.87 214.29/145.87 The TRS R consists of the following rules: 214.29/145.87 214.29/145.87 new_primModNatS1(Succ(Succ(vyv293000)), Succ(vyv292000)) -> new_primModNatS01(vyv293000, vyv292000, vyv293000, vyv292000) 214.29/145.87 new_primModNatS01(vyv331, vyv332, Zero, Zero) -> new_primModNatS02(vyv331, vyv332) 214.29/145.87 new_primModNatS02(vyv331, vyv332) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv331), Succ(vyv332)), Succ(vyv332)) 214.29/145.87 new_primModNatS01(vyv331, vyv332, Succ(vyv3330), Succ(vyv3340)) -> new_primModNatS01(vyv331, vyv332, vyv3330, vyv3340) 214.29/145.87 new_primModNatS01(vyv331, vyv332, Succ(vyv3330), Zero) -> new_primModNatS02(vyv331, vyv332) 214.29/145.87 new_primModNatS01(vyv331, vyv332, Zero, Succ(vyv3340)) -> Succ(Succ(vyv331)) 214.29/145.87 new_primMinusNatS2(Succ(vyv3110), Succ(vyv3120)) -> new_primMinusNatS2(vyv3110, vyv3120) 214.29/145.87 new_primModNatS1(Succ(Zero), Succ(vyv292000)) -> Succ(Zero) 214.29/145.87 new_primModNatS1(Zero, vyv29200) -> Zero 214.29/145.87 new_primMinusNatS2(Zero, Zero) -> Zero 214.29/145.87 new_primMinusNatS2(Zero, Succ(vyv3120)) -> Zero 214.29/145.87 new_primMinusNatS2(Succ(vyv3110), Zero) -> Succ(vyv3110) 214.29/145.87 new_esEs(Neg(Succ(vyv24300))) -> new_primEqInt(Neg(Succ(vyv24300))) 214.29/145.87 new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) 214.29/145.87 new_primEqInt(Neg(Zero)) -> True 214.29/145.87 new_primEqInt(Neg(Succ(vyv242000))) -> False 214.29/145.87 214.29/145.87 The set Q consists of the following terms: 214.29/145.87 214.29/145.87 new_primModNatS01(x0, x1, Succ(x2), Zero) 214.29/145.87 new_primModNatS1(Succ(Succ(x0)), Zero) 214.29/145.87 new_primEqInt(Pos(Zero)) 214.29/145.87 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 214.29/145.87 new_esEs(Pos(Succ(x0))) 214.29/145.87 new_primModNatS1(Zero, x0) 214.29/145.87 new_primModNatS02(x0, x1) 214.29/145.87 new_primMinusNatS2(Zero, Zero) 214.29/145.87 new_primModNatS1(Succ(Zero), Zero) 214.29/145.87 new_primMinusNatS2(Succ(x0), Zero) 214.29/145.87 new_esEs(Pos(Zero)) 214.29/145.87 new_primEqInt(Neg(Succ(x0))) 214.29/145.87 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 214.29/145.87 new_esEs(Neg(Succ(x0))) 214.29/145.87 new_primEqInt(Neg(Zero)) 214.29/145.87 new_primModNatS01(x0, x1, Zero, Zero) 214.29/145.87 new_primEqInt(Pos(Succ(x0))) 214.29/145.87 new_primMinusNatS2(Zero, Succ(x0)) 214.29/145.87 new_primModNatS1(Succ(Zero), Succ(x0)) 214.29/145.87 new_primMinusNatS2(Succ(x0), Succ(x1)) 214.29/145.87 new_primModNatS01(x0, x1, Zero, Succ(x2)) 214.29/145.87 new_esEs(Neg(Zero)) 214.29/145.87 214.29/145.87 We have to consider all minimal (P,Q,R)-chains. 214.29/145.87 ---------------------------------------- 214.29/145.87 214.29/145.87 (613) TransformationProof (EQUIVALENT) 214.29/145.87 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]: 214.29/145.87 214.29/145.87 (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)))))) 214.29/145.87 (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))))))) 214.29/145.87 (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))))))) 214.29/145.87 (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)))))) 214.29/145.87 214.29/145.87 214.29/145.87 ---------------------------------------- 214.29/145.87 214.29/145.87 (614) 214.29/145.87 Obligation: 214.29/145.87 Q DP problem: 214.29/145.87 The TRS P consists of the following rules: 214.29/145.87 214.29/145.87 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))) 214.29/145.87 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)))) 214.29/145.87 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))))) 214.29/145.87 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))))) 214.29/145.87 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)))))) 214.29/145.87 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)))))) 214.29/145.87 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))))) 214.29/145.87 214.29/145.87 The TRS R consists of the following rules: 214.29/145.87 214.29/145.87 new_primModNatS1(Succ(Succ(vyv293000)), Succ(vyv292000)) -> new_primModNatS01(vyv293000, vyv292000, vyv293000, vyv292000) 214.29/145.87 new_primModNatS01(vyv331, vyv332, Zero, Zero) -> new_primModNatS02(vyv331, vyv332) 214.29/145.87 new_primModNatS02(vyv331, vyv332) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv331), Succ(vyv332)), Succ(vyv332)) 214.29/145.87 new_primModNatS01(vyv331, vyv332, Succ(vyv3330), Succ(vyv3340)) -> new_primModNatS01(vyv331, vyv332, vyv3330, vyv3340) 214.29/145.87 new_primModNatS01(vyv331, vyv332, Succ(vyv3330), Zero) -> new_primModNatS02(vyv331, vyv332) 214.29/145.87 new_primModNatS01(vyv331, vyv332, Zero, Succ(vyv3340)) -> Succ(Succ(vyv331)) 214.29/145.87 new_primMinusNatS2(Succ(vyv3110), Succ(vyv3120)) -> new_primMinusNatS2(vyv3110, vyv3120) 214.29/145.87 new_primModNatS1(Succ(Zero), Succ(vyv292000)) -> Succ(Zero) 214.29/145.87 new_primModNatS1(Zero, vyv29200) -> Zero 214.29/145.87 new_primMinusNatS2(Zero, Zero) -> Zero 214.29/145.87 new_primMinusNatS2(Zero, Succ(vyv3120)) -> Zero 214.29/145.87 new_primMinusNatS2(Succ(vyv3110), Zero) -> Succ(vyv3110) 214.29/145.87 new_esEs(Neg(Succ(vyv24300))) -> new_primEqInt(Neg(Succ(vyv24300))) 214.29/145.87 new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) 214.29/145.87 new_primEqInt(Neg(Zero)) -> True 214.29/145.87 new_primEqInt(Neg(Succ(vyv242000))) -> False 214.29/145.87 214.29/145.87 The set Q consists of the following terms: 214.29/145.87 214.29/145.87 new_primModNatS01(x0, x1, Succ(x2), Zero) 214.29/145.87 new_primModNatS1(Succ(Succ(x0)), Zero) 214.29/145.87 new_primEqInt(Pos(Zero)) 214.29/145.87 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 214.29/145.87 new_esEs(Pos(Succ(x0))) 214.29/145.87 new_primModNatS1(Zero, x0) 214.29/145.87 new_primModNatS02(x0, x1) 214.29/145.87 new_primMinusNatS2(Zero, Zero) 214.29/145.87 new_primModNatS1(Succ(Zero), Zero) 214.29/145.87 new_primMinusNatS2(Succ(x0), Zero) 214.29/145.87 new_esEs(Pos(Zero)) 214.29/145.87 new_primEqInt(Neg(Succ(x0))) 214.29/145.87 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 214.29/145.87 new_esEs(Neg(Succ(x0))) 214.29/145.87 new_primEqInt(Neg(Zero)) 214.29/145.87 new_primModNatS01(x0, x1, Zero, Zero) 214.29/145.87 new_primEqInt(Pos(Succ(x0))) 214.29/145.87 new_primMinusNatS2(Zero, Succ(x0)) 214.29/145.87 new_primModNatS1(Succ(Zero), Succ(x0)) 214.29/145.87 new_primMinusNatS2(Succ(x0), Succ(x1)) 214.29/145.87 new_primModNatS01(x0, x1, Zero, Succ(x2)) 214.29/145.87 new_esEs(Neg(Zero)) 214.29/145.87 214.29/145.87 We have to consider all minimal (P,Q,R)-chains. 214.29/145.87 ---------------------------------------- 214.29/145.87 214.29/145.87 (615) TransformationProof (EQUIVALENT) 214.29/145.87 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]: 214.29/145.87 214.29/145.87 (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)))))) 214.29/145.87 214.29/145.87 214.29/145.87 ---------------------------------------- 214.29/145.87 214.29/145.87 (616) 214.29/145.87 Obligation: 214.29/145.87 Q DP problem: 214.29/145.87 The TRS P consists of the following rules: 214.29/145.87 214.29/145.87 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))) 214.29/145.87 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)))) 214.29/145.87 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))))) 214.29/145.87 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)))))) 214.29/145.87 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)))))) 214.29/145.87 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))))) 214.29/145.87 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))))) 214.29/145.87 214.29/145.87 The TRS R consists of the following rules: 214.29/145.87 214.29/145.87 new_primModNatS1(Succ(Succ(vyv293000)), Succ(vyv292000)) -> new_primModNatS01(vyv293000, vyv292000, vyv293000, vyv292000) 214.29/145.87 new_primModNatS01(vyv331, vyv332, Zero, Zero) -> new_primModNatS02(vyv331, vyv332) 214.29/145.87 new_primModNatS02(vyv331, vyv332) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv331), Succ(vyv332)), Succ(vyv332)) 214.29/145.87 new_primModNatS01(vyv331, vyv332, Succ(vyv3330), Succ(vyv3340)) -> new_primModNatS01(vyv331, vyv332, vyv3330, vyv3340) 214.29/145.87 new_primModNatS01(vyv331, vyv332, Succ(vyv3330), Zero) -> new_primModNatS02(vyv331, vyv332) 214.29/145.87 new_primModNatS01(vyv331, vyv332, Zero, Succ(vyv3340)) -> Succ(Succ(vyv331)) 214.29/145.87 new_primMinusNatS2(Succ(vyv3110), Succ(vyv3120)) -> new_primMinusNatS2(vyv3110, vyv3120) 214.29/145.87 new_primModNatS1(Succ(Zero), Succ(vyv292000)) -> Succ(Zero) 214.29/145.87 new_primModNatS1(Zero, vyv29200) -> Zero 214.29/145.87 new_primMinusNatS2(Zero, Zero) -> Zero 214.29/145.87 new_primMinusNatS2(Zero, Succ(vyv3120)) -> Zero 214.29/145.87 new_primMinusNatS2(Succ(vyv3110), Zero) -> Succ(vyv3110) 214.29/145.87 new_esEs(Neg(Succ(vyv24300))) -> new_primEqInt(Neg(Succ(vyv24300))) 214.29/145.87 new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) 214.29/145.87 new_primEqInt(Neg(Zero)) -> True 214.29/145.87 new_primEqInt(Neg(Succ(vyv242000))) -> False 214.29/145.87 214.29/145.87 The set Q consists of the following terms: 214.29/145.87 214.29/145.87 new_primModNatS01(x0, x1, Succ(x2), Zero) 214.29/145.87 new_primModNatS1(Succ(Succ(x0)), Zero) 214.29/145.87 new_primEqInt(Pos(Zero)) 214.29/145.87 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 214.29/145.87 new_esEs(Pos(Succ(x0))) 214.29/145.87 new_primModNatS1(Zero, x0) 214.29/145.87 new_primModNatS02(x0, x1) 214.29/145.87 new_primMinusNatS2(Zero, Zero) 214.29/145.87 new_primModNatS1(Succ(Zero), Zero) 214.29/145.87 new_primMinusNatS2(Succ(x0), Zero) 214.29/145.87 new_esEs(Pos(Zero)) 214.29/145.87 new_primEqInt(Neg(Succ(x0))) 214.29/145.87 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 214.29/145.87 new_esEs(Neg(Succ(x0))) 214.29/145.87 new_primEqInt(Neg(Zero)) 214.29/145.87 new_primModNatS01(x0, x1, Zero, Zero) 214.29/145.87 new_primEqInt(Pos(Succ(x0))) 214.29/145.87 new_primMinusNatS2(Zero, Succ(x0)) 214.29/145.87 new_primModNatS1(Succ(Zero), Succ(x0)) 214.29/145.87 new_primMinusNatS2(Succ(x0), Succ(x1)) 214.29/145.87 new_primModNatS01(x0, x1, Zero, Succ(x2)) 214.29/145.87 new_esEs(Neg(Zero)) 214.29/145.87 214.29/145.87 We have to consider all minimal (P,Q,R)-chains. 214.29/145.87 ---------------------------------------- 214.29/145.87 214.29/145.87 (617) TransformationProof (EQUIVALENT) 214.29/145.87 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]: 214.29/145.87 214.29/145.87 (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))))))) 214.29/145.87 214.29/145.87 214.29/145.87 ---------------------------------------- 214.29/145.87 214.29/145.87 (618) 214.29/145.87 Obligation: 214.29/145.87 Q DP problem: 214.29/145.87 The TRS P consists of the following rules: 214.29/145.87 214.29/145.87 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))) 214.29/145.87 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)))) 214.29/145.87 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))))) 214.29/145.87 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)))))) 214.29/145.87 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))))) 214.29/145.87 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))))) 214.29/145.87 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)))))) 214.29/145.87 214.29/145.87 The TRS R consists of the following rules: 214.29/145.87 214.29/145.87 new_primModNatS1(Succ(Succ(vyv293000)), Succ(vyv292000)) -> new_primModNatS01(vyv293000, vyv292000, vyv293000, vyv292000) 214.29/145.87 new_primModNatS01(vyv331, vyv332, Zero, Zero) -> new_primModNatS02(vyv331, vyv332) 214.29/145.87 new_primModNatS02(vyv331, vyv332) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv331), Succ(vyv332)), Succ(vyv332)) 214.29/145.87 new_primModNatS01(vyv331, vyv332, Succ(vyv3330), Succ(vyv3340)) -> new_primModNatS01(vyv331, vyv332, vyv3330, vyv3340) 214.29/145.87 new_primModNatS01(vyv331, vyv332, Succ(vyv3330), Zero) -> new_primModNatS02(vyv331, vyv332) 214.29/145.87 new_primModNatS01(vyv331, vyv332, Zero, Succ(vyv3340)) -> Succ(Succ(vyv331)) 214.29/145.87 new_primMinusNatS2(Succ(vyv3110), Succ(vyv3120)) -> new_primMinusNatS2(vyv3110, vyv3120) 214.29/145.87 new_primModNatS1(Succ(Zero), Succ(vyv292000)) -> Succ(Zero) 214.29/145.87 new_primModNatS1(Zero, vyv29200) -> Zero 214.29/145.87 new_primMinusNatS2(Zero, Zero) -> Zero 214.29/145.87 new_primMinusNatS2(Zero, Succ(vyv3120)) -> Zero 214.29/145.87 new_primMinusNatS2(Succ(vyv3110), Zero) -> Succ(vyv3110) 214.29/145.87 new_esEs(Neg(Succ(vyv24300))) -> new_primEqInt(Neg(Succ(vyv24300))) 214.29/145.87 new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) 214.29/145.87 new_primEqInt(Neg(Zero)) -> True 214.29/145.87 new_primEqInt(Neg(Succ(vyv242000))) -> False 214.29/145.87 214.29/145.87 The set Q consists of the following terms: 214.29/145.87 214.29/145.87 new_primModNatS01(x0, x1, Succ(x2), Zero) 214.29/145.87 new_primModNatS1(Succ(Succ(x0)), Zero) 214.29/145.87 new_primEqInt(Pos(Zero)) 214.29/145.87 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 214.29/145.87 new_esEs(Pos(Succ(x0))) 214.29/145.87 new_primModNatS1(Zero, x0) 214.29/145.87 new_primModNatS02(x0, x1) 214.29/145.87 new_primMinusNatS2(Zero, Zero) 214.29/145.87 new_primModNatS1(Succ(Zero), Zero) 214.29/145.87 new_primMinusNatS2(Succ(x0), Zero) 214.29/145.87 new_esEs(Pos(Zero)) 214.29/145.87 new_primEqInt(Neg(Succ(x0))) 214.29/145.87 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 214.29/145.87 new_esEs(Neg(Succ(x0))) 214.29/145.87 new_primEqInt(Neg(Zero)) 214.29/145.87 new_primModNatS01(x0, x1, Zero, Zero) 214.29/145.87 new_primEqInt(Pos(Succ(x0))) 214.29/145.87 new_primMinusNatS2(Zero, Succ(x0)) 214.29/145.87 new_primModNatS1(Succ(Zero), Succ(x0)) 214.29/145.87 new_primMinusNatS2(Succ(x0), Succ(x1)) 214.29/145.87 new_primModNatS01(x0, x1, Zero, Succ(x2)) 214.29/145.87 new_esEs(Neg(Zero)) 214.29/145.87 214.29/145.87 We have to consider all minimal (P,Q,R)-chains. 214.29/145.87 ---------------------------------------- 214.29/145.87 214.29/145.87 (619) TransformationProof (EQUIVALENT) 214.29/145.87 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]: 214.29/145.87 214.29/145.87 (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)))))) 214.29/145.87 214.29/145.87 214.29/145.87 ---------------------------------------- 214.29/145.87 214.29/145.87 (620) 214.29/145.87 Obligation: 214.29/145.87 Q DP problem: 214.29/145.87 The TRS P consists of the following rules: 214.29/145.87 214.29/145.87 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))) 214.29/145.87 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)))) 214.29/145.87 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))))) 214.29/145.87 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)))))) 214.29/145.87 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))))) 214.29/145.87 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)))))) 214.29/145.87 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))))) 214.29/145.87 214.29/145.87 The TRS R consists of the following rules: 214.29/145.87 214.29/145.87 new_primModNatS1(Succ(Succ(vyv293000)), Succ(vyv292000)) -> new_primModNatS01(vyv293000, vyv292000, vyv293000, vyv292000) 214.29/145.87 new_primModNatS01(vyv331, vyv332, Zero, Zero) -> new_primModNatS02(vyv331, vyv332) 214.29/145.87 new_primModNatS02(vyv331, vyv332) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv331), Succ(vyv332)), Succ(vyv332)) 214.29/145.87 new_primModNatS01(vyv331, vyv332, Succ(vyv3330), Succ(vyv3340)) -> new_primModNatS01(vyv331, vyv332, vyv3330, vyv3340) 214.29/145.87 new_primModNatS01(vyv331, vyv332, Succ(vyv3330), Zero) -> new_primModNatS02(vyv331, vyv332) 214.29/145.87 new_primModNatS01(vyv331, vyv332, Zero, Succ(vyv3340)) -> Succ(Succ(vyv331)) 214.29/145.87 new_primMinusNatS2(Succ(vyv3110), Succ(vyv3120)) -> new_primMinusNatS2(vyv3110, vyv3120) 214.29/145.87 new_primModNatS1(Succ(Zero), Succ(vyv292000)) -> Succ(Zero) 214.29/145.87 new_primModNatS1(Zero, vyv29200) -> Zero 214.29/145.87 new_primMinusNatS2(Zero, Zero) -> Zero 214.29/145.87 new_primMinusNatS2(Zero, Succ(vyv3120)) -> Zero 214.29/145.87 new_primMinusNatS2(Succ(vyv3110), Zero) -> Succ(vyv3110) 214.29/145.87 new_esEs(Neg(Succ(vyv24300))) -> new_primEqInt(Neg(Succ(vyv24300))) 214.29/145.87 new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) 214.29/145.87 new_primEqInt(Neg(Zero)) -> True 214.29/145.87 new_primEqInt(Neg(Succ(vyv242000))) -> False 214.29/145.87 214.29/145.87 The set Q consists of the following terms: 214.29/145.87 214.29/145.87 new_primModNatS01(x0, x1, Succ(x2), Zero) 214.29/145.87 new_primModNatS1(Succ(Succ(x0)), Zero) 214.29/145.87 new_primEqInt(Pos(Zero)) 214.29/145.87 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 214.29/145.87 new_esEs(Pos(Succ(x0))) 214.29/145.87 new_primModNatS1(Zero, x0) 214.29/145.87 new_primModNatS02(x0, x1) 214.29/145.87 new_primMinusNatS2(Zero, Zero) 214.29/145.87 new_primModNatS1(Succ(Zero), Zero) 214.29/145.87 new_primMinusNatS2(Succ(x0), Zero) 214.29/145.87 new_esEs(Pos(Zero)) 214.29/145.87 new_primEqInt(Neg(Succ(x0))) 214.29/145.87 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 214.29/145.87 new_esEs(Neg(Succ(x0))) 214.29/145.87 new_primEqInt(Neg(Zero)) 214.29/145.87 new_primModNatS01(x0, x1, Zero, Zero) 214.29/145.87 new_primEqInt(Pos(Succ(x0))) 214.29/145.87 new_primMinusNatS2(Zero, Succ(x0)) 214.29/145.87 new_primModNatS1(Succ(Zero), Succ(x0)) 214.29/145.87 new_primMinusNatS2(Succ(x0), Succ(x1)) 214.29/145.87 new_primModNatS01(x0, x1, Zero, Succ(x2)) 214.29/145.87 new_esEs(Neg(Zero)) 214.29/145.87 214.29/145.87 We have to consider all minimal (P,Q,R)-chains. 214.29/145.87 ---------------------------------------- 214.29/145.87 214.29/145.87 (621) TransformationProof (EQUIVALENT) 214.29/145.87 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]: 214.29/145.87 214.29/145.87 (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)))))) 214.29/145.87 214.29/145.87 214.29/145.87 ---------------------------------------- 214.29/145.87 214.29/145.87 (622) 214.29/145.87 Obligation: 214.29/145.87 Q DP problem: 214.29/145.87 The TRS P consists of the following rules: 214.29/145.87 214.29/145.87 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))) 214.29/145.87 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)))) 214.29/145.87 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))))) 214.29/145.87 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)))))) 214.29/145.87 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)))))) 214.29/145.87 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))))) 214.29/145.87 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))))) 214.29/145.87 214.29/145.87 The TRS R consists of the following rules: 214.29/145.87 214.29/145.87 new_primModNatS1(Succ(Succ(vyv293000)), Succ(vyv292000)) -> new_primModNatS01(vyv293000, vyv292000, vyv293000, vyv292000) 214.29/145.87 new_primModNatS01(vyv331, vyv332, Zero, Zero) -> new_primModNatS02(vyv331, vyv332) 214.29/145.87 new_primModNatS02(vyv331, vyv332) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv331), Succ(vyv332)), Succ(vyv332)) 214.29/145.87 new_primModNatS01(vyv331, vyv332, Succ(vyv3330), Succ(vyv3340)) -> new_primModNatS01(vyv331, vyv332, vyv3330, vyv3340) 214.29/145.87 new_primModNatS01(vyv331, vyv332, Succ(vyv3330), Zero) -> new_primModNatS02(vyv331, vyv332) 214.29/145.87 new_primModNatS01(vyv331, vyv332, Zero, Succ(vyv3340)) -> Succ(Succ(vyv331)) 214.29/145.87 new_primMinusNatS2(Succ(vyv3110), Succ(vyv3120)) -> new_primMinusNatS2(vyv3110, vyv3120) 214.29/145.87 new_primModNatS1(Succ(Zero), Succ(vyv292000)) -> Succ(Zero) 214.29/145.87 new_primModNatS1(Zero, vyv29200) -> Zero 214.29/145.87 new_primMinusNatS2(Zero, Zero) -> Zero 214.29/145.87 new_primMinusNatS2(Zero, Succ(vyv3120)) -> Zero 214.29/145.87 new_primMinusNatS2(Succ(vyv3110), Zero) -> Succ(vyv3110) 214.29/145.87 new_esEs(Neg(Succ(vyv24300))) -> new_primEqInt(Neg(Succ(vyv24300))) 214.29/145.87 new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) 214.29/145.87 new_primEqInt(Neg(Zero)) -> True 214.29/145.87 new_primEqInt(Neg(Succ(vyv242000))) -> False 214.29/145.87 214.29/145.87 The set Q consists of the following terms: 214.29/145.87 214.29/145.87 new_primModNatS01(x0, x1, Succ(x2), Zero) 214.29/145.87 new_primModNatS1(Succ(Succ(x0)), Zero) 214.29/145.87 new_primEqInt(Pos(Zero)) 214.29/145.87 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 214.29/145.87 new_esEs(Pos(Succ(x0))) 214.29/145.87 new_primModNatS1(Zero, x0) 214.29/145.87 new_primModNatS02(x0, x1) 214.29/145.87 new_primMinusNatS2(Zero, Zero) 214.29/145.87 new_primModNatS1(Succ(Zero), Zero) 214.29/145.87 new_primMinusNatS2(Succ(x0), Zero) 214.29/145.87 new_esEs(Pos(Zero)) 214.29/145.87 new_primEqInt(Neg(Succ(x0))) 214.29/145.87 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 214.29/145.87 new_esEs(Neg(Succ(x0))) 214.29/145.87 new_primEqInt(Neg(Zero)) 214.29/145.87 new_primModNatS01(x0, x1, Zero, Zero) 214.29/145.87 new_primEqInt(Pos(Succ(x0))) 214.29/145.87 new_primMinusNatS2(Zero, Succ(x0)) 214.29/145.87 new_primModNatS1(Succ(Zero), Succ(x0)) 214.29/145.87 new_primMinusNatS2(Succ(x0), Succ(x1)) 214.29/145.87 new_primModNatS01(x0, x1, Zero, Succ(x2)) 214.29/145.87 new_esEs(Neg(Zero)) 214.29/145.87 214.29/145.87 We have to consider all minimal (P,Q,R)-chains. 214.29/145.87 ---------------------------------------- 214.29/145.87 214.29/145.87 (623) TransformationProof (EQUIVALENT) 214.29/145.87 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]: 214.29/145.87 214.29/145.87 (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))))))) 214.29/145.87 214.29/145.87 214.29/145.87 ---------------------------------------- 214.29/145.87 214.29/145.87 (624) 214.29/145.87 Obligation: 214.29/145.87 Q DP problem: 214.29/145.87 The TRS P consists of the following rules: 214.29/145.87 214.29/145.87 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))) 214.29/145.87 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)))) 214.29/145.87 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))))) 214.29/145.87 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)))))) 214.29/145.87 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))))) 214.29/145.87 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))))) 214.29/145.87 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)))))) 214.29/145.87 214.29/145.87 The TRS R consists of the following rules: 214.29/145.87 214.29/145.87 new_primModNatS1(Succ(Succ(vyv293000)), Succ(vyv292000)) -> new_primModNatS01(vyv293000, vyv292000, vyv293000, vyv292000) 214.29/145.87 new_primModNatS01(vyv331, vyv332, Zero, Zero) -> new_primModNatS02(vyv331, vyv332) 214.29/145.87 new_primModNatS02(vyv331, vyv332) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv331), Succ(vyv332)), Succ(vyv332)) 214.29/145.87 new_primModNatS01(vyv331, vyv332, Succ(vyv3330), Succ(vyv3340)) -> new_primModNatS01(vyv331, vyv332, vyv3330, vyv3340) 214.29/145.87 new_primModNatS01(vyv331, vyv332, Succ(vyv3330), Zero) -> new_primModNatS02(vyv331, vyv332) 214.29/145.87 new_primModNatS01(vyv331, vyv332, Zero, Succ(vyv3340)) -> Succ(Succ(vyv331)) 214.29/145.87 new_primMinusNatS2(Succ(vyv3110), Succ(vyv3120)) -> new_primMinusNatS2(vyv3110, vyv3120) 214.29/145.87 new_primModNatS1(Succ(Zero), Succ(vyv292000)) -> Succ(Zero) 214.29/145.87 new_primModNatS1(Zero, vyv29200) -> Zero 214.29/145.87 new_primMinusNatS2(Zero, Zero) -> Zero 214.29/145.87 new_primMinusNatS2(Zero, Succ(vyv3120)) -> Zero 214.29/145.87 new_primMinusNatS2(Succ(vyv3110), Zero) -> Succ(vyv3110) 214.29/145.87 new_esEs(Neg(Succ(vyv24300))) -> new_primEqInt(Neg(Succ(vyv24300))) 214.29/145.87 new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) 214.29/145.87 new_primEqInt(Neg(Zero)) -> True 214.29/145.87 new_primEqInt(Neg(Succ(vyv242000))) -> False 214.29/145.87 214.29/145.87 The set Q consists of the following terms: 214.29/145.87 214.29/145.87 new_primModNatS01(x0, x1, Succ(x2), Zero) 214.29/145.87 new_primModNatS1(Succ(Succ(x0)), Zero) 214.29/145.87 new_primEqInt(Pos(Zero)) 214.29/145.87 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 214.29/145.87 new_esEs(Pos(Succ(x0))) 214.29/145.87 new_primModNatS1(Zero, x0) 214.29/145.87 new_primModNatS02(x0, x1) 214.29/145.87 new_primMinusNatS2(Zero, Zero) 214.29/145.87 new_primModNatS1(Succ(Zero), Zero) 214.29/145.87 new_primMinusNatS2(Succ(x0), Zero) 214.29/145.87 new_esEs(Pos(Zero)) 214.29/145.87 new_primEqInt(Neg(Succ(x0))) 214.29/145.87 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 214.29/145.87 new_esEs(Neg(Succ(x0))) 214.29/145.87 new_primEqInt(Neg(Zero)) 214.29/145.87 new_primModNatS01(x0, x1, Zero, Zero) 214.29/145.87 new_primEqInt(Pos(Succ(x0))) 214.29/145.87 new_primMinusNatS2(Zero, Succ(x0)) 214.29/145.87 new_primModNatS1(Succ(Zero), Succ(x0)) 214.29/145.87 new_primMinusNatS2(Succ(x0), Succ(x1)) 214.29/145.87 new_primModNatS01(x0, x1, Zero, Succ(x2)) 214.29/145.87 new_esEs(Neg(Zero)) 214.29/145.87 214.29/145.87 We have to consider all minimal (P,Q,R)-chains. 214.29/145.87 ---------------------------------------- 214.29/145.87 214.29/145.87 (625) TransformationProof (EQUIVALENT) 214.29/145.87 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]: 214.29/145.87 214.29/145.87 (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)))))) 214.29/145.87 214.29/145.87 214.29/145.87 ---------------------------------------- 214.29/145.87 214.29/145.87 (626) 214.29/145.87 Obligation: 214.29/145.87 Q DP problem: 214.29/145.87 The TRS P consists of the following rules: 214.29/145.87 214.29/145.87 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))) 214.29/145.87 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)))) 214.29/145.87 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))))) 214.29/145.87 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)))))) 214.29/145.87 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))))) 214.29/145.87 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)))))) 214.29/145.87 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))))) 214.29/145.87 214.29/145.87 The TRS R consists of the following rules: 214.29/145.87 214.29/145.87 new_primModNatS1(Succ(Succ(vyv293000)), Succ(vyv292000)) -> new_primModNatS01(vyv293000, vyv292000, vyv293000, vyv292000) 214.29/145.87 new_primModNatS01(vyv331, vyv332, Zero, Zero) -> new_primModNatS02(vyv331, vyv332) 214.29/145.87 new_primModNatS02(vyv331, vyv332) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv331), Succ(vyv332)), Succ(vyv332)) 214.29/145.87 new_primModNatS01(vyv331, vyv332, Succ(vyv3330), Succ(vyv3340)) -> new_primModNatS01(vyv331, vyv332, vyv3330, vyv3340) 214.29/145.87 new_primModNatS01(vyv331, vyv332, Succ(vyv3330), Zero) -> new_primModNatS02(vyv331, vyv332) 214.29/145.87 new_primModNatS01(vyv331, vyv332, Zero, Succ(vyv3340)) -> Succ(Succ(vyv331)) 214.29/145.87 new_primMinusNatS2(Succ(vyv3110), Succ(vyv3120)) -> new_primMinusNatS2(vyv3110, vyv3120) 214.29/145.87 new_primModNatS1(Succ(Zero), Succ(vyv292000)) -> Succ(Zero) 214.29/145.87 new_primModNatS1(Zero, vyv29200) -> Zero 214.29/145.87 new_primMinusNatS2(Zero, Zero) -> Zero 214.29/145.87 new_primMinusNatS2(Zero, Succ(vyv3120)) -> Zero 214.29/145.87 new_primMinusNatS2(Succ(vyv3110), Zero) -> Succ(vyv3110) 214.29/145.87 new_esEs(Neg(Succ(vyv24300))) -> new_primEqInt(Neg(Succ(vyv24300))) 214.29/145.87 new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) 214.29/145.87 new_primEqInt(Neg(Zero)) -> True 214.29/145.87 new_primEqInt(Neg(Succ(vyv242000))) -> False 214.29/145.87 214.29/145.87 The set Q consists of the following terms: 214.29/145.87 214.29/145.87 new_primModNatS01(x0, x1, Succ(x2), Zero) 214.29/145.87 new_primModNatS1(Succ(Succ(x0)), Zero) 214.29/145.87 new_primEqInt(Pos(Zero)) 214.29/145.87 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 214.29/145.87 new_esEs(Pos(Succ(x0))) 214.29/145.87 new_primModNatS1(Zero, x0) 214.29/145.87 new_primModNatS02(x0, x1) 214.29/145.87 new_primMinusNatS2(Zero, Zero) 214.29/145.87 new_primModNatS1(Succ(Zero), Zero) 214.29/145.87 new_primMinusNatS2(Succ(x0), Zero) 214.29/145.87 new_esEs(Pos(Zero)) 214.29/145.87 new_primEqInt(Neg(Succ(x0))) 214.29/145.87 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 214.29/145.87 new_esEs(Neg(Succ(x0))) 214.29/145.87 new_primEqInt(Neg(Zero)) 214.29/145.87 new_primModNatS01(x0, x1, Zero, Zero) 214.29/145.87 new_primEqInt(Pos(Succ(x0))) 214.29/145.87 new_primMinusNatS2(Zero, Succ(x0)) 214.29/145.87 new_primModNatS1(Succ(Zero), Succ(x0)) 214.29/145.87 new_primMinusNatS2(Succ(x0), Succ(x1)) 214.29/145.87 new_primModNatS01(x0, x1, Zero, Succ(x2)) 214.29/145.87 new_esEs(Neg(Zero)) 214.29/145.87 214.29/145.87 We have to consider all minimal (P,Q,R)-chains. 214.29/145.87 ---------------------------------------- 214.29/145.87 214.29/145.87 (627) TransformationProof (EQUIVALENT) 214.29/145.87 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]: 214.29/145.87 214.29/145.87 (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)))))) 214.29/145.87 214.29/145.87 214.29/145.87 ---------------------------------------- 214.29/145.87 214.29/145.87 (628) 214.29/145.87 Obligation: 214.29/145.87 Q DP problem: 214.29/145.87 The TRS P consists of the following rules: 214.29/145.87 214.29/145.87 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))) 214.29/145.87 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)))) 214.29/145.87 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))))) 214.29/145.87 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)))))) 214.29/145.87 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)))))) 214.29/145.87 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))))) 214.29/145.87 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))))) 214.29/145.87 214.29/145.87 The TRS R consists of the following rules: 214.29/145.87 214.29/145.87 new_primModNatS1(Succ(Succ(vyv293000)), Succ(vyv292000)) -> new_primModNatS01(vyv293000, vyv292000, vyv293000, vyv292000) 214.29/145.87 new_primModNatS01(vyv331, vyv332, Zero, Zero) -> new_primModNatS02(vyv331, vyv332) 214.29/145.87 new_primModNatS02(vyv331, vyv332) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv331), Succ(vyv332)), Succ(vyv332)) 214.29/145.87 new_primModNatS01(vyv331, vyv332, Succ(vyv3330), Succ(vyv3340)) -> new_primModNatS01(vyv331, vyv332, vyv3330, vyv3340) 214.29/145.87 new_primModNatS01(vyv331, vyv332, Succ(vyv3330), Zero) -> new_primModNatS02(vyv331, vyv332) 214.29/145.87 new_primModNatS01(vyv331, vyv332, Zero, Succ(vyv3340)) -> Succ(Succ(vyv331)) 214.29/145.87 new_primMinusNatS2(Succ(vyv3110), Succ(vyv3120)) -> new_primMinusNatS2(vyv3110, vyv3120) 214.29/145.87 new_primModNatS1(Succ(Zero), Succ(vyv292000)) -> Succ(Zero) 214.29/145.87 new_primModNatS1(Zero, vyv29200) -> Zero 214.29/145.87 new_primMinusNatS2(Zero, Zero) -> Zero 214.29/145.87 new_primMinusNatS2(Zero, Succ(vyv3120)) -> Zero 214.29/145.87 new_primMinusNatS2(Succ(vyv3110), Zero) -> Succ(vyv3110) 214.29/145.87 new_esEs(Neg(Succ(vyv24300))) -> new_primEqInt(Neg(Succ(vyv24300))) 214.29/145.87 new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) 214.29/145.87 new_primEqInt(Neg(Zero)) -> True 214.29/145.87 new_primEqInt(Neg(Succ(vyv242000))) -> False 214.29/145.87 214.29/145.87 The set Q consists of the following terms: 214.29/145.87 214.29/145.87 new_primModNatS01(x0, x1, Succ(x2), Zero) 214.29/145.87 new_primModNatS1(Succ(Succ(x0)), Zero) 214.29/145.87 new_primEqInt(Pos(Zero)) 214.29/145.87 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 214.29/145.87 new_esEs(Pos(Succ(x0))) 214.29/145.87 new_primModNatS1(Zero, x0) 214.29/145.87 new_primModNatS02(x0, x1) 214.29/145.87 new_primMinusNatS2(Zero, Zero) 214.29/145.87 new_primModNatS1(Succ(Zero), Zero) 214.29/145.87 new_primMinusNatS2(Succ(x0), Zero) 214.29/145.87 new_esEs(Pos(Zero)) 214.29/145.87 new_primEqInt(Neg(Succ(x0))) 214.29/145.87 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 214.29/145.87 new_esEs(Neg(Succ(x0))) 214.29/145.87 new_primEqInt(Neg(Zero)) 214.29/145.87 new_primModNatS01(x0, x1, Zero, Zero) 214.29/145.87 new_primEqInt(Pos(Succ(x0))) 214.29/145.87 new_primMinusNatS2(Zero, Succ(x0)) 214.29/145.87 new_primModNatS1(Succ(Zero), Succ(x0)) 214.29/145.87 new_primMinusNatS2(Succ(x0), Succ(x1)) 214.29/145.87 new_primModNatS01(x0, x1, Zero, Succ(x2)) 214.29/145.87 new_esEs(Neg(Zero)) 214.29/145.87 214.29/145.87 We have to consider all minimal (P,Q,R)-chains. 214.29/145.87 ---------------------------------------- 214.29/145.87 214.29/145.87 (629) TransformationProof (EQUIVALENT) 214.29/145.87 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]: 214.29/145.87 214.29/145.87 (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))))))) 214.29/145.87 214.29/145.87 214.29/145.87 ---------------------------------------- 214.29/145.87 214.29/145.87 (630) 214.29/145.87 Obligation: 214.29/145.87 Q DP problem: 214.29/145.87 The TRS P consists of the following rules: 214.29/145.87 214.29/145.87 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))) 214.29/145.87 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)))) 214.29/145.87 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))))) 214.29/145.87 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)))))) 214.29/145.87 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))))) 214.29/145.87 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))))) 214.29/145.87 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)))))) 214.29/145.87 214.29/145.87 The TRS R consists of the following rules: 214.29/145.87 214.29/145.87 new_primModNatS1(Succ(Succ(vyv293000)), Succ(vyv292000)) -> new_primModNatS01(vyv293000, vyv292000, vyv293000, vyv292000) 214.29/145.87 new_primModNatS01(vyv331, vyv332, Zero, Zero) -> new_primModNatS02(vyv331, vyv332) 214.29/145.87 new_primModNatS02(vyv331, vyv332) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv331), Succ(vyv332)), Succ(vyv332)) 214.29/145.87 new_primModNatS01(vyv331, vyv332, Succ(vyv3330), Succ(vyv3340)) -> new_primModNatS01(vyv331, vyv332, vyv3330, vyv3340) 214.29/145.87 new_primModNatS01(vyv331, vyv332, Succ(vyv3330), Zero) -> new_primModNatS02(vyv331, vyv332) 214.29/145.87 new_primModNatS01(vyv331, vyv332, Zero, Succ(vyv3340)) -> Succ(Succ(vyv331)) 214.29/145.87 new_primMinusNatS2(Succ(vyv3110), Succ(vyv3120)) -> new_primMinusNatS2(vyv3110, vyv3120) 214.29/145.87 new_primModNatS1(Succ(Zero), Succ(vyv292000)) -> Succ(Zero) 214.29/145.87 new_primModNatS1(Zero, vyv29200) -> Zero 214.29/145.87 new_primMinusNatS2(Zero, Zero) -> Zero 214.29/145.87 new_primMinusNatS2(Zero, Succ(vyv3120)) -> Zero 214.29/145.87 new_primMinusNatS2(Succ(vyv3110), Zero) -> Succ(vyv3110) 214.29/145.87 new_esEs(Neg(Succ(vyv24300))) -> new_primEqInt(Neg(Succ(vyv24300))) 214.29/145.87 new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) 214.29/145.87 new_primEqInt(Neg(Zero)) -> True 214.29/145.87 new_primEqInt(Neg(Succ(vyv242000))) -> False 214.29/145.87 214.29/145.87 The set Q consists of the following terms: 214.29/145.87 214.29/145.87 new_primModNatS01(x0, x1, Succ(x2), Zero) 214.29/145.87 new_primModNatS1(Succ(Succ(x0)), Zero) 214.29/145.87 new_primEqInt(Pos(Zero)) 214.29/145.87 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 214.29/145.87 new_esEs(Pos(Succ(x0))) 214.29/145.87 new_primModNatS1(Zero, x0) 214.29/145.87 new_primModNatS02(x0, x1) 214.29/145.87 new_primMinusNatS2(Zero, Zero) 214.29/145.87 new_primModNatS1(Succ(Zero), Zero) 214.29/145.87 new_primMinusNatS2(Succ(x0), Zero) 214.29/145.87 new_esEs(Pos(Zero)) 214.29/145.87 new_primEqInt(Neg(Succ(x0))) 214.29/145.87 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 214.29/145.87 new_esEs(Neg(Succ(x0))) 214.29/145.87 new_primEqInt(Neg(Zero)) 214.29/145.87 new_primModNatS01(x0, x1, Zero, Zero) 214.29/145.87 new_primEqInt(Pos(Succ(x0))) 214.29/145.87 new_primMinusNatS2(Zero, Succ(x0)) 214.29/145.87 new_primModNatS1(Succ(Zero), Succ(x0)) 214.29/145.87 new_primMinusNatS2(Succ(x0), Succ(x1)) 214.29/145.87 new_primModNatS01(x0, x1, Zero, Succ(x2)) 214.29/145.87 new_esEs(Neg(Zero)) 214.29/145.87 214.29/145.87 We have to consider all minimal (P,Q,R)-chains. 214.29/145.87 ---------------------------------------- 214.29/145.87 214.29/145.87 (631) TransformationProof (EQUIVALENT) 214.29/145.87 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]: 214.29/145.87 214.29/145.87 (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)))))) 214.29/145.87 214.29/145.87 214.29/145.87 ---------------------------------------- 214.29/145.87 214.29/145.87 (632) 214.29/145.87 Obligation: 214.29/145.87 Q DP problem: 214.29/145.87 The TRS P consists of the following rules: 214.29/145.87 214.29/145.87 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))) 214.29/145.87 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)))) 214.29/145.87 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))))) 214.29/145.87 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)))))) 214.29/145.87 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))))) 214.29/145.87 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)))))) 214.29/145.87 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))))) 214.29/145.87 214.29/145.87 The TRS R consists of the following rules: 214.29/145.87 214.29/145.87 new_primModNatS1(Succ(Succ(vyv293000)), Succ(vyv292000)) -> new_primModNatS01(vyv293000, vyv292000, vyv293000, vyv292000) 214.29/145.87 new_primModNatS01(vyv331, vyv332, Zero, Zero) -> new_primModNatS02(vyv331, vyv332) 214.29/145.87 new_primModNatS02(vyv331, vyv332) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv331), Succ(vyv332)), Succ(vyv332)) 214.29/145.87 new_primModNatS01(vyv331, vyv332, Succ(vyv3330), Succ(vyv3340)) -> new_primModNatS01(vyv331, vyv332, vyv3330, vyv3340) 214.29/145.87 new_primModNatS01(vyv331, vyv332, Succ(vyv3330), Zero) -> new_primModNatS02(vyv331, vyv332) 214.29/145.87 new_primModNatS01(vyv331, vyv332, Zero, Succ(vyv3340)) -> Succ(Succ(vyv331)) 214.29/145.87 new_primMinusNatS2(Succ(vyv3110), Succ(vyv3120)) -> new_primMinusNatS2(vyv3110, vyv3120) 214.29/145.87 new_primModNatS1(Succ(Zero), Succ(vyv292000)) -> Succ(Zero) 214.29/145.87 new_primModNatS1(Zero, vyv29200) -> Zero 214.29/145.87 new_primMinusNatS2(Zero, Zero) -> Zero 214.29/145.87 new_primMinusNatS2(Zero, Succ(vyv3120)) -> Zero 214.29/145.87 new_primMinusNatS2(Succ(vyv3110), Zero) -> Succ(vyv3110) 214.29/145.87 new_esEs(Neg(Succ(vyv24300))) -> new_primEqInt(Neg(Succ(vyv24300))) 214.29/145.87 new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) 214.29/145.87 new_primEqInt(Neg(Zero)) -> True 214.29/145.87 new_primEqInt(Neg(Succ(vyv242000))) -> False 214.29/145.87 214.29/145.87 The set Q consists of the following terms: 214.29/145.87 214.29/145.87 new_primModNatS01(x0, x1, Succ(x2), Zero) 214.29/145.87 new_primModNatS1(Succ(Succ(x0)), Zero) 214.29/145.87 new_primEqInt(Pos(Zero)) 214.29/145.87 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 214.29/145.87 new_esEs(Pos(Succ(x0))) 214.29/145.87 new_primModNatS1(Zero, x0) 214.29/145.87 new_primModNatS02(x0, x1) 214.29/145.87 new_primMinusNatS2(Zero, Zero) 214.29/145.87 new_primModNatS1(Succ(Zero), Zero) 214.29/145.87 new_primMinusNatS2(Succ(x0), Zero) 214.29/145.87 new_esEs(Pos(Zero)) 214.29/145.87 new_primEqInt(Neg(Succ(x0))) 214.29/145.87 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 214.29/145.87 new_esEs(Neg(Succ(x0))) 214.29/145.87 new_primEqInt(Neg(Zero)) 214.29/145.87 new_primModNatS01(x0, x1, Zero, Zero) 214.29/145.87 new_primEqInt(Pos(Succ(x0))) 214.29/145.87 new_primMinusNatS2(Zero, Succ(x0)) 214.29/145.87 new_primModNatS1(Succ(Zero), Succ(x0)) 214.29/145.87 new_primMinusNatS2(Succ(x0), Succ(x1)) 214.29/145.87 new_primModNatS01(x0, x1, Zero, Succ(x2)) 214.29/145.87 new_esEs(Neg(Zero)) 214.29/145.87 214.29/145.87 We have to consider all minimal (P,Q,R)-chains. 214.29/145.87 ---------------------------------------- 214.29/145.87 214.29/145.87 (633) TransformationProof (EQUIVALENT) 214.29/145.87 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]: 214.29/145.87 214.29/145.87 (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))))))) 214.29/145.87 214.29/145.87 214.29/145.87 ---------------------------------------- 214.29/145.87 214.29/145.87 (634) 214.29/145.87 Obligation: 214.29/145.87 Q DP problem: 214.29/145.87 The TRS P consists of the following rules: 214.29/145.87 214.29/145.87 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))) 214.29/145.87 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)))) 214.29/145.87 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))))) 214.29/145.87 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)))))) 214.29/145.87 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))))) 214.29/145.87 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))))) 214.29/145.87 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)))))) 214.29/145.87 214.29/145.87 The TRS R consists of the following rules: 214.29/145.87 214.29/145.87 new_primModNatS1(Succ(Succ(vyv293000)), Succ(vyv292000)) -> new_primModNatS01(vyv293000, vyv292000, vyv293000, vyv292000) 214.29/145.87 new_primModNatS01(vyv331, vyv332, Zero, Zero) -> new_primModNatS02(vyv331, vyv332) 214.29/145.87 new_primModNatS02(vyv331, vyv332) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv331), Succ(vyv332)), Succ(vyv332)) 214.29/145.87 new_primModNatS01(vyv331, vyv332, Succ(vyv3330), Succ(vyv3340)) -> new_primModNatS01(vyv331, vyv332, vyv3330, vyv3340) 214.29/145.87 new_primModNatS01(vyv331, vyv332, Succ(vyv3330), Zero) -> new_primModNatS02(vyv331, vyv332) 214.29/145.87 new_primModNatS01(vyv331, vyv332, Zero, Succ(vyv3340)) -> Succ(Succ(vyv331)) 214.29/145.87 new_primMinusNatS2(Succ(vyv3110), Succ(vyv3120)) -> new_primMinusNatS2(vyv3110, vyv3120) 214.29/145.87 new_primModNatS1(Succ(Zero), Succ(vyv292000)) -> Succ(Zero) 214.29/145.87 new_primModNatS1(Zero, vyv29200) -> Zero 214.29/145.87 new_primMinusNatS2(Zero, Zero) -> Zero 214.29/145.87 new_primMinusNatS2(Zero, Succ(vyv3120)) -> Zero 214.29/145.87 new_primMinusNatS2(Succ(vyv3110), Zero) -> Succ(vyv3110) 214.29/145.87 new_esEs(Neg(Succ(vyv24300))) -> new_primEqInt(Neg(Succ(vyv24300))) 214.29/145.87 new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) 214.29/145.87 new_primEqInt(Neg(Zero)) -> True 214.29/145.87 new_primEqInt(Neg(Succ(vyv242000))) -> False 214.29/145.87 214.29/145.87 The set Q consists of the following terms: 214.29/145.87 214.29/145.87 new_primModNatS01(x0, x1, Succ(x2), Zero) 214.29/145.87 new_primModNatS1(Succ(Succ(x0)), Zero) 214.29/145.87 new_primEqInt(Pos(Zero)) 214.29/145.87 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 214.29/145.87 new_esEs(Pos(Succ(x0))) 214.29/145.87 new_primModNatS1(Zero, x0) 214.29/145.87 new_primModNatS02(x0, x1) 214.29/145.87 new_primMinusNatS2(Zero, Zero) 214.29/145.87 new_primModNatS1(Succ(Zero), Zero) 214.29/145.87 new_primMinusNatS2(Succ(x0), Zero) 214.29/145.87 new_esEs(Pos(Zero)) 214.29/145.87 new_primEqInt(Neg(Succ(x0))) 214.29/145.87 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 214.29/145.87 new_esEs(Neg(Succ(x0))) 214.29/145.87 new_primEqInt(Neg(Zero)) 214.29/145.87 new_primModNatS01(x0, x1, Zero, Zero) 214.29/145.87 new_primEqInt(Pos(Succ(x0))) 214.29/145.87 new_primMinusNatS2(Zero, Succ(x0)) 214.29/145.87 new_primModNatS1(Succ(Zero), Succ(x0)) 214.29/145.87 new_primMinusNatS2(Succ(x0), Succ(x1)) 214.29/145.87 new_primModNatS01(x0, x1, Zero, Succ(x2)) 214.29/145.87 new_esEs(Neg(Zero)) 214.29/145.87 214.29/145.87 We have to consider all minimal (P,Q,R)-chains. 214.29/145.87 ---------------------------------------- 214.29/145.87 214.29/145.87 (635) TransformationProof (EQUIVALENT) 214.29/145.87 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]: 214.29/145.87 214.29/145.87 (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)))))) 214.29/145.87 214.29/145.87 214.29/145.87 ---------------------------------------- 214.29/145.87 214.29/145.87 (636) 214.29/145.87 Obligation: 214.29/145.87 Q DP problem: 214.29/145.87 The TRS P consists of the following rules: 214.29/145.87 214.29/145.87 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))) 214.29/145.87 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)))) 214.29/145.87 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))))) 214.29/145.87 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)))))) 214.29/145.87 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))))) 214.29/145.87 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)))))) 214.29/145.87 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))))) 214.29/145.87 214.29/145.87 The TRS R consists of the following rules: 214.29/145.87 214.29/145.87 new_primModNatS1(Succ(Succ(vyv293000)), Succ(vyv292000)) -> new_primModNatS01(vyv293000, vyv292000, vyv293000, vyv292000) 214.29/145.87 new_primModNatS01(vyv331, vyv332, Zero, Zero) -> new_primModNatS02(vyv331, vyv332) 214.29/145.87 new_primModNatS02(vyv331, vyv332) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv331), Succ(vyv332)), Succ(vyv332)) 214.29/145.87 new_primModNatS01(vyv331, vyv332, Succ(vyv3330), Succ(vyv3340)) -> new_primModNatS01(vyv331, vyv332, vyv3330, vyv3340) 214.29/145.87 new_primModNatS01(vyv331, vyv332, Succ(vyv3330), Zero) -> new_primModNatS02(vyv331, vyv332) 214.29/145.87 new_primModNatS01(vyv331, vyv332, Zero, Succ(vyv3340)) -> Succ(Succ(vyv331)) 214.29/145.87 new_primMinusNatS2(Succ(vyv3110), Succ(vyv3120)) -> new_primMinusNatS2(vyv3110, vyv3120) 214.29/145.87 new_primModNatS1(Succ(Zero), Succ(vyv292000)) -> Succ(Zero) 214.29/145.87 new_primModNatS1(Zero, vyv29200) -> Zero 214.29/145.87 new_primMinusNatS2(Zero, Zero) -> Zero 214.29/145.87 new_primMinusNatS2(Zero, Succ(vyv3120)) -> Zero 214.29/145.87 new_primMinusNatS2(Succ(vyv3110), Zero) -> Succ(vyv3110) 214.29/145.87 new_esEs(Neg(Succ(vyv24300))) -> new_primEqInt(Neg(Succ(vyv24300))) 214.29/145.87 new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) 214.29/145.87 new_primEqInt(Neg(Zero)) -> True 214.29/145.87 new_primEqInt(Neg(Succ(vyv242000))) -> False 214.29/145.87 214.29/145.87 The set Q consists of the following terms: 214.29/145.87 214.29/145.87 new_primModNatS01(x0, x1, Succ(x2), Zero) 214.29/145.87 new_primModNatS1(Succ(Succ(x0)), Zero) 214.29/145.87 new_primEqInt(Pos(Zero)) 214.29/145.87 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 214.29/145.87 new_esEs(Pos(Succ(x0))) 214.29/145.87 new_primModNatS1(Zero, x0) 214.29/145.87 new_primModNatS02(x0, x1) 214.29/145.87 new_primMinusNatS2(Zero, Zero) 214.29/145.87 new_primModNatS1(Succ(Zero), Zero) 214.29/145.87 new_primMinusNatS2(Succ(x0), Zero) 214.29/145.87 new_esEs(Pos(Zero)) 214.29/145.87 new_primEqInt(Neg(Succ(x0))) 214.29/145.87 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 214.29/145.87 new_esEs(Neg(Succ(x0))) 214.29/145.87 new_primEqInt(Neg(Zero)) 214.29/145.87 new_primModNatS01(x0, x1, Zero, Zero) 214.29/145.87 new_primEqInt(Pos(Succ(x0))) 214.29/145.87 new_primMinusNatS2(Zero, Succ(x0)) 214.29/145.87 new_primModNatS1(Succ(Zero), Succ(x0)) 214.29/145.87 new_primMinusNatS2(Succ(x0), Succ(x1)) 214.29/145.87 new_primModNatS01(x0, x1, Zero, Succ(x2)) 214.29/145.87 new_esEs(Neg(Zero)) 214.29/145.87 214.29/145.87 We have to consider all minimal (P,Q,R)-chains. 214.29/145.87 ---------------------------------------- 214.29/145.87 214.29/145.87 (637) DependencyGraphProof (EQUIVALENT) 214.29/145.87 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. 214.29/145.87 ---------------------------------------- 214.29/145.87 214.29/145.87 (638) 214.29/145.87 Obligation: 214.29/145.87 Q DP problem: 214.29/145.87 The TRS P consists of the following rules: 214.29/145.87 214.29/145.87 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)))) 214.29/145.87 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))) 214.29/145.87 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))))) 214.29/145.87 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)))))) 214.29/145.87 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))))) 214.29/145.87 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)))))) 214.29/145.87 214.29/145.87 The TRS R consists of the following rules: 214.29/145.87 214.29/145.87 new_primModNatS1(Succ(Succ(vyv293000)), Succ(vyv292000)) -> new_primModNatS01(vyv293000, vyv292000, vyv293000, vyv292000) 214.29/145.87 new_primModNatS01(vyv331, vyv332, Zero, Zero) -> new_primModNatS02(vyv331, vyv332) 214.29/145.87 new_primModNatS02(vyv331, vyv332) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv331), Succ(vyv332)), Succ(vyv332)) 214.29/145.87 new_primModNatS01(vyv331, vyv332, Succ(vyv3330), Succ(vyv3340)) -> new_primModNatS01(vyv331, vyv332, vyv3330, vyv3340) 214.29/145.87 new_primModNatS01(vyv331, vyv332, Succ(vyv3330), Zero) -> new_primModNatS02(vyv331, vyv332) 214.29/145.87 new_primModNatS01(vyv331, vyv332, Zero, Succ(vyv3340)) -> Succ(Succ(vyv331)) 214.29/145.87 new_primMinusNatS2(Succ(vyv3110), Succ(vyv3120)) -> new_primMinusNatS2(vyv3110, vyv3120) 214.29/145.87 new_primModNatS1(Succ(Zero), Succ(vyv292000)) -> Succ(Zero) 214.29/145.87 new_primModNatS1(Zero, vyv29200) -> Zero 214.29/145.87 new_primMinusNatS2(Zero, Zero) -> Zero 214.29/145.87 new_primMinusNatS2(Zero, Succ(vyv3120)) -> Zero 214.29/145.87 new_primMinusNatS2(Succ(vyv3110), Zero) -> Succ(vyv3110) 214.29/145.87 new_esEs(Neg(Succ(vyv24300))) -> new_primEqInt(Neg(Succ(vyv24300))) 214.29/145.87 new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) 214.29/145.87 new_primEqInt(Neg(Zero)) -> True 214.29/145.87 new_primEqInt(Neg(Succ(vyv242000))) -> False 214.29/145.87 214.29/145.87 The set Q consists of the following terms: 214.29/145.87 214.29/145.87 new_primModNatS01(x0, x1, Succ(x2), Zero) 214.29/145.87 new_primModNatS1(Succ(Succ(x0)), Zero) 214.29/145.87 new_primEqInt(Pos(Zero)) 214.29/145.87 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 214.29/145.87 new_esEs(Pos(Succ(x0))) 214.29/145.87 new_primModNatS1(Zero, x0) 214.29/145.87 new_primModNatS02(x0, x1) 214.29/145.87 new_primMinusNatS2(Zero, Zero) 214.29/145.87 new_primModNatS1(Succ(Zero), Zero) 214.29/145.87 new_primMinusNatS2(Succ(x0), Zero) 214.29/145.87 new_esEs(Pos(Zero)) 214.29/145.87 new_primEqInt(Neg(Succ(x0))) 214.29/145.87 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 214.29/145.87 new_esEs(Neg(Succ(x0))) 214.29/145.87 new_primEqInt(Neg(Zero)) 214.29/145.87 new_primModNatS01(x0, x1, Zero, Zero) 214.29/145.87 new_primEqInt(Pos(Succ(x0))) 214.29/145.87 new_primMinusNatS2(Zero, Succ(x0)) 214.29/145.87 new_primModNatS1(Succ(Zero), Succ(x0)) 214.29/145.87 new_primMinusNatS2(Succ(x0), Succ(x1)) 214.29/145.87 new_primModNatS01(x0, x1, Zero, Succ(x2)) 214.29/145.87 new_esEs(Neg(Zero)) 214.29/145.87 214.29/145.87 We have to consider all minimal (P,Q,R)-chains. 214.29/145.87 ---------------------------------------- 214.29/145.87 214.29/145.87 (639) TransformationProof (EQUIVALENT) 214.29/145.87 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]: 214.29/145.87 214.29/145.87 (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)))) 214.29/145.87 (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)))) 214.29/145.87 (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)))) 214.29/145.87 (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))))) 214.29/145.87 214.29/145.87 214.29/145.87 ---------------------------------------- 214.29/145.87 214.29/145.87 (640) 214.29/145.87 Obligation: 214.29/145.87 Q DP problem: 214.29/145.87 The TRS P consists of the following rules: 214.29/145.87 214.29/145.87 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)))) 214.29/145.87 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))))) 214.29/145.87 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)))))) 214.29/145.87 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))))) 214.29/145.87 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)))))) 214.29/145.87 new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Neg(new_primModNatS02(Zero, Zero))) 214.29/145.87 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))) 214.29/145.87 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))) 214.29/145.87 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)))) 214.29/145.87 214.29/145.87 The TRS R consists of the following rules: 214.29/145.87 214.29/145.87 new_primModNatS1(Succ(Succ(vyv293000)), Succ(vyv292000)) -> new_primModNatS01(vyv293000, vyv292000, vyv293000, vyv292000) 214.29/145.87 new_primModNatS01(vyv331, vyv332, Zero, Zero) -> new_primModNatS02(vyv331, vyv332) 214.29/145.87 new_primModNatS02(vyv331, vyv332) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv331), Succ(vyv332)), Succ(vyv332)) 214.29/145.87 new_primModNatS01(vyv331, vyv332, Succ(vyv3330), Succ(vyv3340)) -> new_primModNatS01(vyv331, vyv332, vyv3330, vyv3340) 214.29/145.87 new_primModNatS01(vyv331, vyv332, Succ(vyv3330), Zero) -> new_primModNatS02(vyv331, vyv332) 214.29/145.87 new_primModNatS01(vyv331, vyv332, Zero, Succ(vyv3340)) -> Succ(Succ(vyv331)) 214.29/145.87 new_primMinusNatS2(Succ(vyv3110), Succ(vyv3120)) -> new_primMinusNatS2(vyv3110, vyv3120) 214.29/145.87 new_primModNatS1(Succ(Zero), Succ(vyv292000)) -> Succ(Zero) 214.29/145.87 new_primModNatS1(Zero, vyv29200) -> Zero 214.29/145.87 new_primMinusNatS2(Zero, Zero) -> Zero 214.29/145.87 new_primMinusNatS2(Zero, Succ(vyv3120)) -> Zero 214.29/145.87 new_primMinusNatS2(Succ(vyv3110), Zero) -> Succ(vyv3110) 214.29/145.87 new_esEs(Neg(Succ(vyv24300))) -> new_primEqInt(Neg(Succ(vyv24300))) 214.29/145.87 new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) 214.29/145.87 new_primEqInt(Neg(Zero)) -> True 214.29/145.87 new_primEqInt(Neg(Succ(vyv242000))) -> False 214.29/145.87 214.29/145.87 The set Q consists of the following terms: 214.29/145.87 214.29/145.87 new_primModNatS01(x0, x1, Succ(x2), Zero) 214.29/145.87 new_primModNatS1(Succ(Succ(x0)), Zero) 214.29/145.87 new_primEqInt(Pos(Zero)) 214.29/145.87 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 214.29/145.87 new_esEs(Pos(Succ(x0))) 214.29/145.87 new_primModNatS1(Zero, x0) 214.29/145.87 new_primModNatS02(x0, x1) 214.29/145.87 new_primMinusNatS2(Zero, Zero) 214.29/145.87 new_primModNatS1(Succ(Zero), Zero) 214.29/145.87 new_primMinusNatS2(Succ(x0), Zero) 214.29/145.87 new_esEs(Pos(Zero)) 214.29/145.87 new_primEqInt(Neg(Succ(x0))) 214.29/145.87 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 214.29/145.87 new_esEs(Neg(Succ(x0))) 214.29/145.87 new_primEqInt(Neg(Zero)) 214.29/145.87 new_primModNatS01(x0, x1, Zero, Zero) 214.29/145.87 new_primEqInt(Pos(Succ(x0))) 214.29/145.87 new_primMinusNatS2(Zero, Succ(x0)) 214.29/145.87 new_primModNatS1(Succ(Zero), Succ(x0)) 214.29/145.87 new_primMinusNatS2(Succ(x0), Succ(x1)) 214.29/145.87 new_primModNatS01(x0, x1, Zero, Succ(x2)) 214.29/145.87 new_esEs(Neg(Zero)) 214.29/145.87 214.29/145.87 We have to consider all minimal (P,Q,R)-chains. 214.29/145.87 ---------------------------------------- 214.29/145.87 214.29/145.87 (641) DependencyGraphProof (EQUIVALENT) 214.29/145.87 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 2 SCCs with 1 less node. 214.29/145.87 ---------------------------------------- 214.29/145.87 214.29/145.87 (642) 214.29/145.87 Complex Obligation (AND) 214.29/145.87 214.29/145.87 ---------------------------------------- 214.29/145.87 214.29/145.87 (643) 214.29/145.87 Obligation: 214.29/145.87 Q DP problem: 214.29/145.87 The TRS P consists of the following rules: 214.29/145.87 214.29/145.87 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)))) 214.29/145.87 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))))) 214.29/145.87 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))) 214.29/145.87 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)))) 214.29/145.87 214.29/145.87 The TRS R consists of the following rules: 214.29/145.87 214.29/145.87 new_primModNatS1(Succ(Succ(vyv293000)), Succ(vyv292000)) -> new_primModNatS01(vyv293000, vyv292000, vyv293000, vyv292000) 214.29/145.87 new_primModNatS01(vyv331, vyv332, Zero, Zero) -> new_primModNatS02(vyv331, vyv332) 214.29/145.87 new_primModNatS02(vyv331, vyv332) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv331), Succ(vyv332)), Succ(vyv332)) 214.29/145.87 new_primModNatS01(vyv331, vyv332, Succ(vyv3330), Succ(vyv3340)) -> new_primModNatS01(vyv331, vyv332, vyv3330, vyv3340) 214.29/145.87 new_primModNatS01(vyv331, vyv332, Succ(vyv3330), Zero) -> new_primModNatS02(vyv331, vyv332) 214.29/145.87 new_primModNatS01(vyv331, vyv332, Zero, Succ(vyv3340)) -> Succ(Succ(vyv331)) 214.29/145.87 new_primMinusNatS2(Succ(vyv3110), Succ(vyv3120)) -> new_primMinusNatS2(vyv3110, vyv3120) 214.29/145.87 new_primModNatS1(Succ(Zero), Succ(vyv292000)) -> Succ(Zero) 214.29/145.87 new_primModNatS1(Zero, vyv29200) -> Zero 214.29/145.87 new_primMinusNatS2(Zero, Zero) -> Zero 214.29/145.87 new_primMinusNatS2(Zero, Succ(vyv3120)) -> Zero 214.29/145.87 new_primMinusNatS2(Succ(vyv3110), Zero) -> Succ(vyv3110) 214.29/145.87 new_esEs(Neg(Succ(vyv24300))) -> new_primEqInt(Neg(Succ(vyv24300))) 214.29/145.87 new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) 214.29/145.87 new_primEqInt(Neg(Zero)) -> True 214.29/145.87 new_primEqInt(Neg(Succ(vyv242000))) -> False 214.29/145.87 214.29/145.87 The set Q consists of the following terms: 214.29/145.87 214.29/145.87 new_primModNatS01(x0, x1, Succ(x2), Zero) 214.29/145.87 new_primModNatS1(Succ(Succ(x0)), Zero) 214.29/145.87 new_primEqInt(Pos(Zero)) 214.29/145.87 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 214.29/145.87 new_esEs(Pos(Succ(x0))) 214.29/145.87 new_primModNatS1(Zero, x0) 214.29/145.87 new_primModNatS02(x0, x1) 214.29/145.87 new_primMinusNatS2(Zero, Zero) 214.29/145.87 new_primModNatS1(Succ(Zero), Zero) 214.29/145.87 new_primMinusNatS2(Succ(x0), Zero) 214.29/145.87 new_esEs(Pos(Zero)) 214.29/145.87 new_primEqInt(Neg(Succ(x0))) 214.29/145.87 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 214.29/145.87 new_esEs(Neg(Succ(x0))) 214.29/145.87 new_primEqInt(Neg(Zero)) 214.29/145.87 new_primModNatS01(x0, x1, Zero, Zero) 214.29/145.87 new_primEqInt(Pos(Succ(x0))) 214.29/145.87 new_primMinusNatS2(Zero, Succ(x0)) 214.29/145.87 new_primModNatS1(Succ(Zero), Succ(x0)) 214.29/145.87 new_primMinusNatS2(Succ(x0), Succ(x1)) 214.29/145.87 new_primModNatS01(x0, x1, Zero, Succ(x2)) 214.29/145.87 new_esEs(Neg(Zero)) 214.29/145.87 214.29/145.87 We have to consider all minimal (P,Q,R)-chains. 214.29/145.87 ---------------------------------------- 214.29/145.87 214.29/145.87 (644) TransformationProof (EQUIVALENT) 214.29/145.87 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]: 214.29/145.87 214.29/145.87 (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))))) 214.29/145.87 214.29/145.87 214.29/145.87 ---------------------------------------- 214.29/145.87 214.29/145.87 (645) 214.29/145.87 Obligation: 214.29/145.87 Q DP problem: 214.29/145.87 The TRS P consists of the following rules: 214.29/145.87 214.29/145.87 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)))) 214.29/145.87 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))))) 214.29/145.87 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)))) 214.29/145.87 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)))) 214.29/145.87 214.29/145.87 The TRS R consists of the following rules: 214.29/145.87 214.29/145.87 new_primModNatS1(Succ(Succ(vyv293000)), Succ(vyv292000)) -> new_primModNatS01(vyv293000, vyv292000, vyv293000, vyv292000) 214.29/145.87 new_primModNatS01(vyv331, vyv332, Zero, Zero) -> new_primModNatS02(vyv331, vyv332) 214.29/145.87 new_primModNatS02(vyv331, vyv332) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv331), Succ(vyv332)), Succ(vyv332)) 214.29/145.87 new_primModNatS01(vyv331, vyv332, Succ(vyv3330), Succ(vyv3340)) -> new_primModNatS01(vyv331, vyv332, vyv3330, vyv3340) 214.29/145.87 new_primModNatS01(vyv331, vyv332, Succ(vyv3330), Zero) -> new_primModNatS02(vyv331, vyv332) 214.29/145.87 new_primModNatS01(vyv331, vyv332, Zero, Succ(vyv3340)) -> Succ(Succ(vyv331)) 214.29/145.87 new_primMinusNatS2(Succ(vyv3110), Succ(vyv3120)) -> new_primMinusNatS2(vyv3110, vyv3120) 214.29/145.87 new_primModNatS1(Succ(Zero), Succ(vyv292000)) -> Succ(Zero) 214.29/145.87 new_primModNatS1(Zero, vyv29200) -> Zero 214.29/145.87 new_primMinusNatS2(Zero, Zero) -> Zero 214.29/145.87 new_primMinusNatS2(Zero, Succ(vyv3120)) -> Zero 214.29/145.87 new_primMinusNatS2(Succ(vyv3110), Zero) -> Succ(vyv3110) 214.29/145.87 new_esEs(Neg(Succ(vyv24300))) -> new_primEqInt(Neg(Succ(vyv24300))) 214.29/145.87 new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) 214.29/145.87 new_primEqInt(Neg(Zero)) -> True 214.29/145.87 new_primEqInt(Neg(Succ(vyv242000))) -> False 214.29/145.87 214.29/145.87 The set Q consists of the following terms: 214.29/145.87 214.29/145.87 new_primModNatS01(x0, x1, Succ(x2), Zero) 214.29/145.87 new_primModNatS1(Succ(Succ(x0)), Zero) 214.29/145.87 new_primEqInt(Pos(Zero)) 214.29/145.87 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 214.29/145.87 new_esEs(Pos(Succ(x0))) 214.29/145.87 new_primModNatS1(Zero, x0) 214.29/145.87 new_primModNatS02(x0, x1) 214.29/145.87 new_primMinusNatS2(Zero, Zero) 214.29/145.87 new_primModNatS1(Succ(Zero), Zero) 214.29/145.87 new_primMinusNatS2(Succ(x0), Zero) 214.29/145.87 new_esEs(Pos(Zero)) 214.29/145.87 new_primEqInt(Neg(Succ(x0))) 214.29/145.87 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 214.29/145.87 new_esEs(Neg(Succ(x0))) 214.29/145.87 new_primEqInt(Neg(Zero)) 214.29/145.87 new_primModNatS01(x0, x1, Zero, Zero) 214.29/145.87 new_primEqInt(Pos(Succ(x0))) 214.29/145.87 new_primMinusNatS2(Zero, Succ(x0)) 214.29/145.87 new_primModNatS1(Succ(Zero), Succ(x0)) 214.29/145.87 new_primMinusNatS2(Succ(x0), Succ(x1)) 214.29/145.87 new_primModNatS01(x0, x1, Zero, Succ(x2)) 214.29/145.87 new_esEs(Neg(Zero)) 214.29/145.87 214.29/145.87 We have to consider all minimal (P,Q,R)-chains. 214.29/145.87 ---------------------------------------- 214.29/145.87 214.29/145.87 (646) TransformationProof (EQUIVALENT) 214.29/145.87 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]: 214.29/145.87 214.29/145.87 (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))))) 214.29/145.87 214.29/145.87 214.29/145.87 ---------------------------------------- 214.29/145.87 214.29/145.87 (647) 214.29/145.87 Obligation: 214.29/145.87 Q DP problem: 214.29/145.87 The TRS P consists of the following rules: 214.29/145.87 214.29/145.87 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)))) 214.29/145.87 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))))) 214.29/145.87 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)))) 214.29/145.87 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)))) 214.29/145.87 214.29/145.87 The TRS R consists of the following rules: 214.29/145.87 214.29/145.87 new_primModNatS1(Succ(Succ(vyv293000)), Succ(vyv292000)) -> new_primModNatS01(vyv293000, vyv292000, vyv293000, vyv292000) 214.29/145.87 new_primModNatS01(vyv331, vyv332, Zero, Zero) -> new_primModNatS02(vyv331, vyv332) 214.29/145.87 new_primModNatS02(vyv331, vyv332) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv331), Succ(vyv332)), Succ(vyv332)) 214.29/145.87 new_primModNatS01(vyv331, vyv332, Succ(vyv3330), Succ(vyv3340)) -> new_primModNatS01(vyv331, vyv332, vyv3330, vyv3340) 214.29/145.87 new_primModNatS01(vyv331, vyv332, Succ(vyv3330), Zero) -> new_primModNatS02(vyv331, vyv332) 214.29/145.87 new_primModNatS01(vyv331, vyv332, Zero, Succ(vyv3340)) -> Succ(Succ(vyv331)) 214.29/145.87 new_primMinusNatS2(Succ(vyv3110), Succ(vyv3120)) -> new_primMinusNatS2(vyv3110, vyv3120) 214.29/145.87 new_primModNatS1(Succ(Zero), Succ(vyv292000)) -> Succ(Zero) 214.29/145.87 new_primModNatS1(Zero, vyv29200) -> Zero 214.29/145.87 new_primMinusNatS2(Zero, Zero) -> Zero 214.29/145.87 new_primMinusNatS2(Zero, Succ(vyv3120)) -> Zero 214.29/145.87 new_primMinusNatS2(Succ(vyv3110), Zero) -> Succ(vyv3110) 214.29/145.87 new_esEs(Neg(Succ(vyv24300))) -> new_primEqInt(Neg(Succ(vyv24300))) 214.29/145.87 new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) 214.29/145.87 new_primEqInt(Neg(Zero)) -> True 214.29/145.87 new_primEqInt(Neg(Succ(vyv242000))) -> False 214.29/145.87 214.29/145.87 The set Q consists of the following terms: 214.29/145.87 214.29/145.87 new_primModNatS01(x0, x1, Succ(x2), Zero) 214.29/145.87 new_primModNatS1(Succ(Succ(x0)), Zero) 214.29/145.87 new_primEqInt(Pos(Zero)) 214.29/145.87 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 214.29/145.87 new_esEs(Pos(Succ(x0))) 214.29/145.87 new_primModNatS1(Zero, x0) 214.29/145.87 new_primModNatS02(x0, x1) 214.29/145.87 new_primMinusNatS2(Zero, Zero) 214.29/145.87 new_primModNatS1(Succ(Zero), Zero) 214.29/145.87 new_primMinusNatS2(Succ(x0), Zero) 214.29/145.87 new_esEs(Pos(Zero)) 214.29/145.87 new_primEqInt(Neg(Succ(x0))) 214.29/145.87 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 214.29/145.87 new_esEs(Neg(Succ(x0))) 214.29/145.87 new_primEqInt(Neg(Zero)) 214.29/145.87 new_primModNatS01(x0, x1, Zero, Zero) 214.29/145.87 new_primEqInt(Pos(Succ(x0))) 214.29/145.87 new_primMinusNatS2(Zero, Succ(x0)) 214.29/145.87 new_primModNatS1(Succ(Zero), Succ(x0)) 214.29/145.87 new_primMinusNatS2(Succ(x0), Succ(x1)) 214.29/145.87 new_primModNatS01(x0, x1, Zero, Succ(x2)) 214.29/145.87 new_esEs(Neg(Zero)) 214.29/145.87 214.29/145.87 We have to consider all minimal (P,Q,R)-chains. 214.29/145.87 ---------------------------------------- 214.29/145.87 214.29/145.87 (648) TransformationProof (EQUIVALENT) 214.29/145.87 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]: 214.29/145.87 214.29/145.87 (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))))) 214.29/145.87 214.29/145.87 214.29/145.87 ---------------------------------------- 214.29/145.87 214.29/145.87 (649) 214.29/145.87 Obligation: 214.29/145.87 Q DP problem: 214.29/145.87 The TRS P consists of the following rules: 214.29/145.87 214.29/145.87 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)))) 214.29/145.87 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))))) 214.29/145.87 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)))) 214.29/145.87 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)))) 214.29/145.87 214.29/145.87 The TRS R consists of the following rules: 214.29/145.87 214.29/145.87 new_primModNatS1(Succ(Succ(vyv293000)), Succ(vyv292000)) -> new_primModNatS01(vyv293000, vyv292000, vyv293000, vyv292000) 214.29/145.87 new_primModNatS01(vyv331, vyv332, Zero, Zero) -> new_primModNatS02(vyv331, vyv332) 214.29/145.87 new_primModNatS02(vyv331, vyv332) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv331), Succ(vyv332)), Succ(vyv332)) 214.29/145.87 new_primModNatS01(vyv331, vyv332, Succ(vyv3330), Succ(vyv3340)) -> new_primModNatS01(vyv331, vyv332, vyv3330, vyv3340) 214.29/145.87 new_primModNatS01(vyv331, vyv332, Succ(vyv3330), Zero) -> new_primModNatS02(vyv331, vyv332) 214.29/145.87 new_primModNatS01(vyv331, vyv332, Zero, Succ(vyv3340)) -> Succ(Succ(vyv331)) 214.29/145.87 new_primMinusNatS2(Succ(vyv3110), Succ(vyv3120)) -> new_primMinusNatS2(vyv3110, vyv3120) 214.29/145.87 new_primModNatS1(Succ(Zero), Succ(vyv292000)) -> Succ(Zero) 214.29/145.87 new_primModNatS1(Zero, vyv29200) -> Zero 214.29/145.87 new_primMinusNatS2(Zero, Zero) -> Zero 214.29/145.87 new_primMinusNatS2(Zero, Succ(vyv3120)) -> Zero 214.29/145.87 new_primMinusNatS2(Succ(vyv3110), Zero) -> Succ(vyv3110) 214.29/145.87 new_esEs(Neg(Succ(vyv24300))) -> new_primEqInt(Neg(Succ(vyv24300))) 214.29/145.87 new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) 214.29/145.87 new_primEqInt(Neg(Zero)) -> True 214.29/145.87 new_primEqInt(Neg(Succ(vyv242000))) -> False 214.29/145.87 214.29/145.87 The set Q consists of the following terms: 214.29/145.87 214.29/145.87 new_primModNatS01(x0, x1, Succ(x2), Zero) 214.29/145.87 new_primModNatS1(Succ(Succ(x0)), Zero) 214.29/145.87 new_primEqInt(Pos(Zero)) 214.29/145.87 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 214.29/145.87 new_esEs(Pos(Succ(x0))) 214.29/145.87 new_primModNatS1(Zero, x0) 214.29/145.87 new_primModNatS02(x0, x1) 214.29/145.87 new_primMinusNatS2(Zero, Zero) 214.29/145.87 new_primModNatS1(Succ(Zero), Zero) 214.29/145.87 new_primMinusNatS2(Succ(x0), Zero) 214.29/145.87 new_esEs(Pos(Zero)) 214.29/145.87 new_primEqInt(Neg(Succ(x0))) 214.29/145.87 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 214.29/145.87 new_esEs(Neg(Succ(x0))) 214.29/145.87 new_primEqInt(Neg(Zero)) 214.29/145.87 new_primModNatS01(x0, x1, Zero, Zero) 214.29/145.87 new_primEqInt(Pos(Succ(x0))) 214.29/145.87 new_primMinusNatS2(Zero, Succ(x0)) 214.29/145.87 new_primModNatS1(Succ(Zero), Succ(x0)) 214.29/145.87 new_primMinusNatS2(Succ(x0), Succ(x1)) 214.29/145.87 new_primModNatS01(x0, x1, Zero, Succ(x2)) 214.29/145.87 new_esEs(Neg(Zero)) 214.29/145.87 214.29/145.87 We have to consider all minimal (P,Q,R)-chains. 214.29/145.87 ---------------------------------------- 214.29/145.87 214.29/145.87 (650) TransformationProof (EQUIVALENT) 214.29/145.87 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]: 214.29/145.87 214.29/145.87 (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))))))) 214.29/145.87 (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)))))) 214.29/145.87 214.29/145.87 214.29/145.87 ---------------------------------------- 214.29/145.87 214.29/145.87 (651) 214.29/145.87 Obligation: 214.29/145.87 Q DP problem: 214.29/145.87 The TRS P consists of the following rules: 214.29/145.87 214.29/145.87 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)))) 214.29/145.87 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)))) 214.29/145.87 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)))) 214.29/145.87 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)))))) 214.29/145.87 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))))) 214.29/145.87 214.29/145.87 The TRS R consists of the following rules: 214.29/145.87 214.29/145.87 new_primModNatS1(Succ(Succ(vyv293000)), Succ(vyv292000)) -> new_primModNatS01(vyv293000, vyv292000, vyv293000, vyv292000) 214.29/145.87 new_primModNatS01(vyv331, vyv332, Zero, Zero) -> new_primModNatS02(vyv331, vyv332) 214.29/145.87 new_primModNatS02(vyv331, vyv332) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv331), Succ(vyv332)), Succ(vyv332)) 214.29/145.87 new_primModNatS01(vyv331, vyv332, Succ(vyv3330), Succ(vyv3340)) -> new_primModNatS01(vyv331, vyv332, vyv3330, vyv3340) 214.29/145.87 new_primModNatS01(vyv331, vyv332, Succ(vyv3330), Zero) -> new_primModNatS02(vyv331, vyv332) 214.29/145.87 new_primModNatS01(vyv331, vyv332, Zero, Succ(vyv3340)) -> Succ(Succ(vyv331)) 214.29/145.87 new_primMinusNatS2(Succ(vyv3110), Succ(vyv3120)) -> new_primMinusNatS2(vyv3110, vyv3120) 214.29/145.87 new_primModNatS1(Succ(Zero), Succ(vyv292000)) -> Succ(Zero) 214.29/145.87 new_primModNatS1(Zero, vyv29200) -> Zero 214.29/145.87 new_primMinusNatS2(Zero, Zero) -> Zero 214.29/145.87 new_primMinusNatS2(Zero, Succ(vyv3120)) -> Zero 214.29/145.87 new_primMinusNatS2(Succ(vyv3110), Zero) -> Succ(vyv3110) 214.29/145.87 new_esEs(Neg(Succ(vyv24300))) -> new_primEqInt(Neg(Succ(vyv24300))) 214.29/145.87 new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) 214.29/145.87 new_primEqInt(Neg(Zero)) -> True 214.29/145.87 new_primEqInt(Neg(Succ(vyv242000))) -> False 214.29/145.87 214.29/145.87 The set Q consists of the following terms: 214.29/145.87 214.29/145.87 new_primModNatS01(x0, x1, Succ(x2), Zero) 214.29/145.87 new_primModNatS1(Succ(Succ(x0)), Zero) 214.29/145.87 new_primEqInt(Pos(Zero)) 214.29/145.87 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 214.29/145.87 new_esEs(Pos(Succ(x0))) 214.29/145.87 new_primModNatS1(Zero, x0) 214.29/145.87 new_primModNatS02(x0, x1) 214.29/145.87 new_primMinusNatS2(Zero, Zero) 214.29/145.87 new_primModNatS1(Succ(Zero), Zero) 214.29/145.87 new_primMinusNatS2(Succ(x0), Zero) 214.29/145.87 new_esEs(Pos(Zero)) 214.29/145.87 new_primEqInt(Neg(Succ(x0))) 214.29/145.87 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 214.29/145.87 new_esEs(Neg(Succ(x0))) 214.29/145.87 new_primEqInt(Neg(Zero)) 214.29/145.87 new_primModNatS01(x0, x1, Zero, Zero) 214.29/145.87 new_primEqInt(Pos(Succ(x0))) 214.29/145.87 new_primMinusNatS2(Zero, Succ(x0)) 214.29/145.87 new_primModNatS1(Succ(Zero), Succ(x0)) 214.29/145.87 new_primMinusNatS2(Succ(x0), Succ(x1)) 214.29/145.87 new_primModNatS01(x0, x1, Zero, Succ(x2)) 214.29/145.87 new_esEs(Neg(Zero)) 214.29/145.87 214.29/145.87 We have to consider all minimal (P,Q,R)-chains. 214.29/145.87 ---------------------------------------- 214.29/145.87 214.29/145.87 (652) TransformationProof (EQUIVALENT) 214.29/145.87 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]: 214.29/145.87 214.29/145.87 (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)))))) 214.29/145.87 214.29/145.87 214.29/145.87 ---------------------------------------- 214.29/145.87 214.29/145.87 (653) 214.29/145.87 Obligation: 214.29/145.87 Q DP problem: 214.29/145.87 The TRS P consists of the following rules: 214.29/145.87 214.29/145.87 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)))) 214.29/145.87 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)))) 214.29/145.87 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)))) 214.29/145.87 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)))))) 214.29/145.87 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))))) 214.29/145.87 214.29/145.87 The TRS R consists of the following rules: 214.29/145.87 214.29/145.87 new_primModNatS1(Succ(Succ(vyv293000)), Succ(vyv292000)) -> new_primModNatS01(vyv293000, vyv292000, vyv293000, vyv292000) 214.29/145.87 new_primModNatS01(vyv331, vyv332, Zero, Zero) -> new_primModNatS02(vyv331, vyv332) 214.29/145.87 new_primModNatS02(vyv331, vyv332) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv331), Succ(vyv332)), Succ(vyv332)) 214.29/145.87 new_primModNatS01(vyv331, vyv332, Succ(vyv3330), Succ(vyv3340)) -> new_primModNatS01(vyv331, vyv332, vyv3330, vyv3340) 214.29/145.87 new_primModNatS01(vyv331, vyv332, Succ(vyv3330), Zero) -> new_primModNatS02(vyv331, vyv332) 214.29/145.87 new_primModNatS01(vyv331, vyv332, Zero, Succ(vyv3340)) -> Succ(Succ(vyv331)) 214.29/145.87 new_primMinusNatS2(Succ(vyv3110), Succ(vyv3120)) -> new_primMinusNatS2(vyv3110, vyv3120) 214.29/145.87 new_primModNatS1(Succ(Zero), Succ(vyv292000)) -> Succ(Zero) 214.29/145.87 new_primModNatS1(Zero, vyv29200) -> Zero 214.29/145.87 new_primMinusNatS2(Zero, Zero) -> Zero 214.29/145.87 new_primMinusNatS2(Zero, Succ(vyv3120)) -> Zero 214.29/145.87 new_primMinusNatS2(Succ(vyv3110), Zero) -> Succ(vyv3110) 214.29/145.87 new_esEs(Neg(Succ(vyv24300))) -> new_primEqInt(Neg(Succ(vyv24300))) 214.29/145.87 new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) 214.29/145.87 new_primEqInt(Neg(Zero)) -> True 214.29/145.87 new_primEqInt(Neg(Succ(vyv242000))) -> False 214.29/145.87 214.29/145.87 The set Q consists of the following terms: 214.29/145.87 214.29/145.87 new_primModNatS01(x0, x1, Succ(x2), Zero) 214.29/145.87 new_primModNatS1(Succ(Succ(x0)), Zero) 214.29/145.87 new_primEqInt(Pos(Zero)) 214.29/145.87 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 214.29/145.87 new_esEs(Pos(Succ(x0))) 214.29/145.87 new_primModNatS1(Zero, x0) 214.29/145.87 new_primModNatS02(x0, x1) 214.29/145.87 new_primMinusNatS2(Zero, Zero) 214.29/145.87 new_primModNatS1(Succ(Zero), Zero) 214.29/145.87 new_primMinusNatS2(Succ(x0), Zero) 214.29/145.87 new_esEs(Pos(Zero)) 214.29/145.87 new_primEqInt(Neg(Succ(x0))) 214.29/145.87 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 214.29/145.87 new_esEs(Neg(Succ(x0))) 214.29/145.87 new_primEqInt(Neg(Zero)) 214.29/145.87 new_primModNatS01(x0, x1, Zero, Zero) 214.29/145.87 new_primEqInt(Pos(Succ(x0))) 214.29/145.87 new_primMinusNatS2(Zero, Succ(x0)) 214.29/145.87 new_primModNatS1(Succ(Zero), Succ(x0)) 214.29/145.87 new_primMinusNatS2(Succ(x0), Succ(x1)) 214.29/145.87 new_primModNatS01(x0, x1, Zero, Succ(x2)) 214.29/145.87 new_esEs(Neg(Zero)) 214.29/145.87 214.29/145.87 We have to consider all minimal (P,Q,R)-chains. 214.29/145.87 ---------------------------------------- 214.29/145.87 214.29/145.87 (654) TransformationProof (EQUIVALENT) 214.29/145.87 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]: 214.29/145.87 214.29/145.87 (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)))))) 214.29/145.87 214.29/145.87 214.29/145.87 ---------------------------------------- 214.29/145.87 214.29/145.87 (655) 214.29/145.87 Obligation: 214.29/145.87 Q DP problem: 214.29/145.87 The TRS P consists of the following rules: 214.29/145.87 214.29/145.87 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)))) 214.29/145.87 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)))) 214.29/145.87 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)))) 214.29/145.87 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)))))) 214.29/145.87 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))))) 214.29/145.87 214.29/145.87 The TRS R consists of the following rules: 214.29/145.87 214.29/145.87 new_primModNatS1(Succ(Succ(vyv293000)), Succ(vyv292000)) -> new_primModNatS01(vyv293000, vyv292000, vyv293000, vyv292000) 214.29/145.87 new_primModNatS01(vyv331, vyv332, Zero, Zero) -> new_primModNatS02(vyv331, vyv332) 214.29/145.87 new_primModNatS02(vyv331, vyv332) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv331), Succ(vyv332)), Succ(vyv332)) 214.29/145.87 new_primModNatS01(vyv331, vyv332, Succ(vyv3330), Succ(vyv3340)) -> new_primModNatS01(vyv331, vyv332, vyv3330, vyv3340) 214.29/145.87 new_primModNatS01(vyv331, vyv332, Succ(vyv3330), Zero) -> new_primModNatS02(vyv331, vyv332) 214.29/145.87 new_primModNatS01(vyv331, vyv332, Zero, Succ(vyv3340)) -> Succ(Succ(vyv331)) 214.29/145.87 new_primMinusNatS2(Succ(vyv3110), Succ(vyv3120)) -> new_primMinusNatS2(vyv3110, vyv3120) 214.29/145.87 new_primModNatS1(Succ(Zero), Succ(vyv292000)) -> Succ(Zero) 214.29/145.87 new_primModNatS1(Zero, vyv29200) -> Zero 214.29/145.87 new_primMinusNatS2(Zero, Zero) -> Zero 214.29/145.87 new_primMinusNatS2(Zero, Succ(vyv3120)) -> Zero 214.29/145.87 new_primMinusNatS2(Succ(vyv3110), Zero) -> Succ(vyv3110) 214.29/145.87 new_esEs(Neg(Succ(vyv24300))) -> new_primEqInt(Neg(Succ(vyv24300))) 214.29/145.87 new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) 214.29/145.87 new_primEqInt(Neg(Zero)) -> True 214.29/145.87 new_primEqInt(Neg(Succ(vyv242000))) -> False 214.29/145.87 214.29/145.87 The set Q consists of the following terms: 214.29/145.87 214.29/145.87 new_primModNatS01(x0, x1, Succ(x2), Zero) 214.29/145.87 new_primModNatS1(Succ(Succ(x0)), Zero) 214.29/145.87 new_primEqInt(Pos(Zero)) 214.29/145.87 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 214.29/145.87 new_esEs(Pos(Succ(x0))) 214.29/145.87 new_primModNatS1(Zero, x0) 214.29/145.87 new_primModNatS02(x0, x1) 214.29/145.87 new_primMinusNatS2(Zero, Zero) 214.29/145.87 new_primModNatS1(Succ(Zero), Zero) 214.29/145.87 new_primMinusNatS2(Succ(x0), Zero) 214.29/145.87 new_esEs(Pos(Zero)) 214.29/145.87 new_primEqInt(Neg(Succ(x0))) 214.29/145.87 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 214.29/145.87 new_esEs(Neg(Succ(x0))) 214.29/145.87 new_primEqInt(Neg(Zero)) 214.29/145.87 new_primModNatS01(x0, x1, Zero, Zero) 214.29/145.87 new_primEqInt(Pos(Succ(x0))) 214.29/145.87 new_primMinusNatS2(Zero, Succ(x0)) 214.29/145.87 new_primModNatS1(Succ(Zero), Succ(x0)) 214.29/145.87 new_primMinusNatS2(Succ(x0), Succ(x1)) 214.29/145.87 new_primModNatS01(x0, x1, Zero, Succ(x2)) 214.29/145.87 new_esEs(Neg(Zero)) 214.29/145.87 214.29/145.87 We have to consider all minimal (P,Q,R)-chains. 214.29/145.87 ---------------------------------------- 214.29/145.87 214.29/145.87 (656) TransformationProof (EQUIVALENT) 214.29/145.87 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]: 214.29/145.87 214.29/145.87 (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)))) 214.29/145.87 (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)))) 214.29/145.87 214.29/145.87 214.29/145.87 ---------------------------------------- 214.29/145.87 214.29/145.87 (657) 214.29/145.87 Obligation: 214.29/145.87 Q DP problem: 214.29/145.87 The TRS P consists of the following rules: 214.29/145.87 214.29/145.87 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)))) 214.29/145.87 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)))) 214.29/145.87 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)))))) 214.29/145.87 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))))) 214.29/145.87 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))) 214.29/145.87 new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Neg(Succ(Zero))) 214.29/145.87 214.29/145.87 The TRS R consists of the following rules: 214.29/145.87 214.29/145.87 new_primModNatS1(Succ(Succ(vyv293000)), Succ(vyv292000)) -> new_primModNatS01(vyv293000, vyv292000, vyv293000, vyv292000) 214.29/145.87 new_primModNatS01(vyv331, vyv332, Zero, Zero) -> new_primModNatS02(vyv331, vyv332) 214.29/145.87 new_primModNatS02(vyv331, vyv332) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv331), Succ(vyv332)), Succ(vyv332)) 214.29/145.87 new_primModNatS01(vyv331, vyv332, Succ(vyv3330), Succ(vyv3340)) -> new_primModNatS01(vyv331, vyv332, vyv3330, vyv3340) 214.29/145.87 new_primModNatS01(vyv331, vyv332, Succ(vyv3330), Zero) -> new_primModNatS02(vyv331, vyv332) 214.29/145.87 new_primModNatS01(vyv331, vyv332, Zero, Succ(vyv3340)) -> Succ(Succ(vyv331)) 214.29/145.87 new_primMinusNatS2(Succ(vyv3110), Succ(vyv3120)) -> new_primMinusNatS2(vyv3110, vyv3120) 214.29/145.87 new_primModNatS1(Succ(Zero), Succ(vyv292000)) -> Succ(Zero) 214.29/145.87 new_primModNatS1(Zero, vyv29200) -> Zero 214.29/145.87 new_primMinusNatS2(Zero, Zero) -> Zero 214.29/145.87 new_primMinusNatS2(Zero, Succ(vyv3120)) -> Zero 214.29/145.87 new_primMinusNatS2(Succ(vyv3110), Zero) -> Succ(vyv3110) 214.29/145.87 new_esEs(Neg(Succ(vyv24300))) -> new_primEqInt(Neg(Succ(vyv24300))) 214.29/145.87 new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) 214.29/145.87 new_primEqInt(Neg(Zero)) -> True 214.29/145.87 new_primEqInt(Neg(Succ(vyv242000))) -> False 214.29/145.87 214.29/145.87 The set Q consists of the following terms: 214.29/145.87 214.29/145.87 new_primModNatS01(x0, x1, Succ(x2), Zero) 214.29/145.87 new_primModNatS1(Succ(Succ(x0)), Zero) 214.29/145.87 new_primEqInt(Pos(Zero)) 214.29/145.87 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 214.29/145.87 new_esEs(Pos(Succ(x0))) 214.29/145.87 new_primModNatS1(Zero, x0) 214.29/145.87 new_primModNatS02(x0, x1) 214.29/145.87 new_primMinusNatS2(Zero, Zero) 214.29/145.87 new_primModNatS1(Succ(Zero), Zero) 214.29/145.87 new_primMinusNatS2(Succ(x0), Zero) 214.29/145.87 new_esEs(Pos(Zero)) 214.29/145.87 new_primEqInt(Neg(Succ(x0))) 214.29/145.87 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 214.29/145.87 new_esEs(Neg(Succ(x0))) 214.29/145.87 new_primEqInt(Neg(Zero)) 214.29/145.87 new_primModNatS01(x0, x1, Zero, Zero) 214.29/145.87 new_primEqInt(Pos(Succ(x0))) 214.29/145.87 new_primMinusNatS2(Zero, Succ(x0)) 214.29/145.87 new_primModNatS1(Succ(Zero), Succ(x0)) 214.29/145.87 new_primMinusNatS2(Succ(x0), Succ(x1)) 214.29/145.87 new_primModNatS01(x0, x1, Zero, Succ(x2)) 214.29/145.87 new_esEs(Neg(Zero)) 214.29/145.87 214.29/145.87 We have to consider all minimal (P,Q,R)-chains. 214.29/145.87 ---------------------------------------- 214.29/145.87 214.29/145.87 (658) DependencyGraphProof (EQUIVALENT) 214.29/145.87 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 2 less nodes. 214.29/145.87 ---------------------------------------- 214.29/145.87 214.29/145.87 (659) 214.29/145.87 Obligation: 214.29/145.87 Q DP problem: 214.29/145.87 The TRS P consists of the following rules: 214.29/145.87 214.29/145.87 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)))))) 214.29/145.87 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))) 214.29/145.87 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)))) 214.29/145.87 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)))) 214.29/145.87 214.29/145.87 The TRS R consists of the following rules: 214.29/145.87 214.29/145.87 new_primModNatS1(Succ(Succ(vyv293000)), Succ(vyv292000)) -> new_primModNatS01(vyv293000, vyv292000, vyv293000, vyv292000) 214.29/145.87 new_primModNatS01(vyv331, vyv332, Zero, Zero) -> new_primModNatS02(vyv331, vyv332) 214.29/145.87 new_primModNatS02(vyv331, vyv332) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv331), Succ(vyv332)), Succ(vyv332)) 214.29/145.87 new_primModNatS01(vyv331, vyv332, Succ(vyv3330), Succ(vyv3340)) -> new_primModNatS01(vyv331, vyv332, vyv3330, vyv3340) 214.29/145.87 new_primModNatS01(vyv331, vyv332, Succ(vyv3330), Zero) -> new_primModNatS02(vyv331, vyv332) 214.29/145.87 new_primModNatS01(vyv331, vyv332, Zero, Succ(vyv3340)) -> Succ(Succ(vyv331)) 214.29/145.87 new_primMinusNatS2(Succ(vyv3110), Succ(vyv3120)) -> new_primMinusNatS2(vyv3110, vyv3120) 214.29/145.87 new_primModNatS1(Succ(Zero), Succ(vyv292000)) -> Succ(Zero) 214.29/145.87 new_primModNatS1(Zero, vyv29200) -> Zero 214.29/145.87 new_primMinusNatS2(Zero, Zero) -> Zero 214.29/145.87 new_primMinusNatS2(Zero, Succ(vyv3120)) -> Zero 214.29/145.87 new_primMinusNatS2(Succ(vyv3110), Zero) -> Succ(vyv3110) 214.29/145.87 new_esEs(Neg(Succ(vyv24300))) -> new_primEqInt(Neg(Succ(vyv24300))) 214.29/145.87 new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) 214.29/145.87 new_primEqInt(Neg(Zero)) -> True 214.29/145.87 new_primEqInt(Neg(Succ(vyv242000))) -> False 214.29/145.87 214.29/145.87 The set Q consists of the following terms: 214.29/145.87 214.29/145.87 new_primModNatS01(x0, x1, Succ(x2), Zero) 214.29/145.87 new_primModNatS1(Succ(Succ(x0)), Zero) 214.29/145.87 new_primEqInt(Pos(Zero)) 214.29/145.87 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 214.29/145.87 new_esEs(Pos(Succ(x0))) 214.29/145.87 new_primModNatS1(Zero, x0) 214.29/145.87 new_primModNatS02(x0, x1) 214.29/145.87 new_primMinusNatS2(Zero, Zero) 214.29/145.87 new_primModNatS1(Succ(Zero), Zero) 214.29/145.87 new_primMinusNatS2(Succ(x0), Zero) 214.29/145.87 new_esEs(Pos(Zero)) 214.29/145.87 new_primEqInt(Neg(Succ(x0))) 214.29/145.87 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 214.29/145.87 new_esEs(Neg(Succ(x0))) 214.29/145.87 new_primEqInt(Neg(Zero)) 214.29/145.87 new_primModNatS01(x0, x1, Zero, Zero) 214.29/145.87 new_primEqInt(Pos(Succ(x0))) 214.29/145.87 new_primMinusNatS2(Zero, Succ(x0)) 214.29/145.87 new_primModNatS1(Succ(Zero), Succ(x0)) 214.29/145.87 new_primMinusNatS2(Succ(x0), Succ(x1)) 214.29/145.87 new_primModNatS01(x0, x1, Zero, Succ(x2)) 214.29/145.87 new_esEs(Neg(Zero)) 214.29/145.87 214.29/145.87 We have to consider all minimal (P,Q,R)-chains. 214.29/145.87 ---------------------------------------- 214.29/145.87 214.29/145.87 (660) QDPOrderProof (EQUIVALENT) 214.29/145.87 We use the reduction pair processor [LPAR04,JAR06]. 214.29/145.87 214.29/145.87 214.29/145.87 The following pairs can be oriented strictly and are deleted. 214.29/145.87 214.29/145.87 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))) 214.29/145.87 The remaining pairs can at least be oriented weakly. 214.29/145.87 Used ordering: Polynomial interpretation [POLO]: 214.29/145.87 214.29/145.87 POL(False) = 1 214.29/145.87 POL(Neg(x_1)) = 2*x_1 214.29/145.87 POL(Succ(x_1)) = 1 + x_1 214.29/145.87 POL(True) = 1 214.29/145.87 POL(Zero) = 0 214.29/145.87 POL(new_esEs(x_1)) = 1 214.29/145.87 POL(new_gcd0Gcd'0(x_1, x_2)) = 2 + x_1 + x_2 214.29/145.87 POL(new_gcd0Gcd'1(x_1, x_2, x_3)) = 2*x_1 + x_2 + x_3 214.29/145.87 POL(new_primEqInt(x_1)) = 1 214.29/145.87 POL(new_primMinusNatS2(x_1, x_2)) = x_1 214.29/145.87 POL(new_primModNatS01(x_1, x_2, x_3, x_4)) = 2 + x_1 214.29/145.87 POL(new_primModNatS02(x_1, x_2)) = 2 + x_1 214.29/145.87 POL(new_primModNatS1(x_1, x_2)) = x_1 214.29/145.87 214.29/145.87 The following usable rules [FROCOS05] with respect to the argument filtering of the ordering [JAR06] were oriented: 214.29/145.87 214.29/145.87 new_primModNatS01(vyv331, vyv332, Zero, Zero) -> new_primModNatS02(vyv331, vyv332) 214.29/145.87 new_primModNatS02(vyv331, vyv332) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv331), Succ(vyv332)), Succ(vyv332)) 214.29/145.87 new_primModNatS1(Succ(Succ(vyv293000)), Succ(vyv292000)) -> new_primModNatS01(vyv293000, vyv292000, vyv293000, vyv292000) 214.29/145.87 new_primModNatS01(vyv331, vyv332, Succ(vyv3330), Succ(vyv3340)) -> new_primModNatS01(vyv331, vyv332, vyv3330, vyv3340) 214.29/145.87 new_primModNatS01(vyv331, vyv332, Succ(vyv3330), Zero) -> new_primModNatS02(vyv331, vyv332) 214.29/145.87 new_esEs(Neg(Succ(vyv24300))) -> new_primEqInt(Neg(Succ(vyv24300))) 214.29/145.87 new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) 214.29/145.87 new_primMinusNatS2(Succ(vyv3110), Succ(vyv3120)) -> new_primMinusNatS2(vyv3110, vyv3120) 214.29/145.87 new_primModNatS1(Succ(Zero), Succ(vyv292000)) -> Succ(Zero) 214.29/145.87 new_primModNatS1(Zero, vyv29200) -> Zero 214.29/145.87 new_primModNatS01(vyv331, vyv332, Zero, Succ(vyv3340)) -> Succ(Succ(vyv331)) 214.29/145.87 new_primMinusNatS2(Zero, Zero) -> Zero 214.29/145.87 new_primMinusNatS2(Zero, Succ(vyv3120)) -> Zero 214.29/145.87 new_primMinusNatS2(Succ(vyv3110), Zero) -> Succ(vyv3110) 214.29/145.87 new_primEqInt(Neg(Succ(vyv242000))) -> False 214.29/145.87 new_primEqInt(Neg(Zero)) -> True 214.29/145.87 214.29/145.87 214.29/145.87 ---------------------------------------- 214.29/145.87 214.29/145.87 (661) 214.29/145.87 Obligation: 214.29/145.87 Q DP problem: 214.29/145.87 The TRS P consists of the following rules: 214.29/145.87 214.29/145.87 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)))))) 214.29/145.87 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)))) 214.29/145.87 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)))) 214.29/145.87 214.29/145.87 The TRS R consists of the following rules: 214.29/145.87 214.29/145.87 new_primModNatS1(Succ(Succ(vyv293000)), Succ(vyv292000)) -> new_primModNatS01(vyv293000, vyv292000, vyv293000, vyv292000) 214.29/145.87 new_primModNatS01(vyv331, vyv332, Zero, Zero) -> new_primModNatS02(vyv331, vyv332) 214.29/145.87 new_primModNatS02(vyv331, vyv332) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv331), Succ(vyv332)), Succ(vyv332)) 214.29/145.87 new_primModNatS01(vyv331, vyv332, Succ(vyv3330), Succ(vyv3340)) -> new_primModNatS01(vyv331, vyv332, vyv3330, vyv3340) 214.29/145.87 new_primModNatS01(vyv331, vyv332, Succ(vyv3330), Zero) -> new_primModNatS02(vyv331, vyv332) 214.29/145.87 new_primModNatS01(vyv331, vyv332, Zero, Succ(vyv3340)) -> Succ(Succ(vyv331)) 214.29/145.87 new_primMinusNatS2(Succ(vyv3110), Succ(vyv3120)) -> new_primMinusNatS2(vyv3110, vyv3120) 214.29/145.87 new_primModNatS1(Succ(Zero), Succ(vyv292000)) -> Succ(Zero) 214.29/145.87 new_primModNatS1(Zero, vyv29200) -> Zero 214.29/145.87 new_primMinusNatS2(Zero, Zero) -> Zero 214.29/145.87 new_primMinusNatS2(Zero, Succ(vyv3120)) -> Zero 214.29/145.87 new_primMinusNatS2(Succ(vyv3110), Zero) -> Succ(vyv3110) 214.29/145.87 new_esEs(Neg(Succ(vyv24300))) -> new_primEqInt(Neg(Succ(vyv24300))) 214.29/145.87 new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) 214.29/145.87 new_primEqInt(Neg(Zero)) -> True 214.29/145.87 new_primEqInt(Neg(Succ(vyv242000))) -> False 214.29/145.87 214.29/145.87 The set Q consists of the following terms: 214.29/145.87 214.29/145.87 new_primModNatS01(x0, x1, Succ(x2), Zero) 214.29/145.87 new_primModNatS1(Succ(Succ(x0)), Zero) 214.29/145.87 new_primEqInt(Pos(Zero)) 214.29/145.87 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 214.29/145.87 new_esEs(Pos(Succ(x0))) 214.29/145.87 new_primModNatS1(Zero, x0) 214.29/145.87 new_primModNatS02(x0, x1) 214.29/145.87 new_primMinusNatS2(Zero, Zero) 214.29/145.87 new_primModNatS1(Succ(Zero), Zero) 214.29/145.87 new_primMinusNatS2(Succ(x0), Zero) 214.29/145.87 new_esEs(Pos(Zero)) 214.29/145.87 new_primEqInt(Neg(Succ(x0))) 214.29/145.87 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 214.29/145.87 new_esEs(Neg(Succ(x0))) 214.29/145.87 new_primEqInt(Neg(Zero)) 214.29/145.87 new_primModNatS01(x0, x1, Zero, Zero) 214.29/145.87 new_primEqInt(Pos(Succ(x0))) 214.29/145.87 new_primMinusNatS2(Zero, Succ(x0)) 214.29/145.87 new_primModNatS1(Succ(Zero), Succ(x0)) 214.29/145.87 new_primMinusNatS2(Succ(x0), Succ(x1)) 214.29/145.87 new_primModNatS01(x0, x1, Zero, Succ(x2)) 214.29/145.87 new_esEs(Neg(Zero)) 214.29/145.87 214.29/145.87 We have to consider all minimal (P,Q,R)-chains. 214.29/145.87 ---------------------------------------- 214.29/145.87 214.29/145.87 (662) DependencyGraphProof (EQUIVALENT) 214.29/145.87 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 0 SCCs with 3 less nodes. 214.29/145.87 ---------------------------------------- 214.29/145.87 214.29/145.87 (663) 214.29/145.87 TRUE 214.29/145.87 214.29/145.87 ---------------------------------------- 214.29/145.87 214.29/145.87 (664) 214.29/145.87 Obligation: 214.29/145.87 Q DP problem: 214.29/145.87 The TRS P consists of the following rules: 214.29/145.87 214.29/145.87 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)))))) 214.29/145.87 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))) 214.29/145.87 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))))) 214.29/145.88 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)))))) 214.29/145.88 214.29/145.88 The TRS R consists of the following rules: 214.29/145.88 214.29/145.88 new_primModNatS1(Succ(Succ(vyv293000)), Succ(vyv292000)) -> new_primModNatS01(vyv293000, vyv292000, vyv293000, vyv292000) 214.29/145.88 new_primModNatS01(vyv331, vyv332, Zero, Zero) -> new_primModNatS02(vyv331, vyv332) 214.29/145.88 new_primModNatS02(vyv331, vyv332) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv331), Succ(vyv332)), Succ(vyv332)) 214.29/145.88 new_primModNatS01(vyv331, vyv332, Succ(vyv3330), Succ(vyv3340)) -> new_primModNatS01(vyv331, vyv332, vyv3330, vyv3340) 214.29/145.88 new_primModNatS01(vyv331, vyv332, Succ(vyv3330), Zero) -> new_primModNatS02(vyv331, vyv332) 214.29/145.88 new_primModNatS01(vyv331, vyv332, Zero, Succ(vyv3340)) -> Succ(Succ(vyv331)) 214.29/145.88 new_primMinusNatS2(Succ(vyv3110), Succ(vyv3120)) -> new_primMinusNatS2(vyv3110, vyv3120) 214.29/145.88 new_primModNatS1(Succ(Zero), Succ(vyv292000)) -> Succ(Zero) 214.29/145.88 new_primModNatS1(Zero, vyv29200) -> Zero 214.29/145.88 new_primMinusNatS2(Zero, Zero) -> Zero 214.29/145.88 new_primMinusNatS2(Zero, Succ(vyv3120)) -> Zero 214.29/145.88 new_primMinusNatS2(Succ(vyv3110), Zero) -> Succ(vyv3110) 214.29/145.88 new_esEs(Neg(Succ(vyv24300))) -> new_primEqInt(Neg(Succ(vyv24300))) 214.29/145.88 new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) 214.29/145.88 new_primEqInt(Neg(Zero)) -> True 214.29/145.88 new_primEqInt(Neg(Succ(vyv242000))) -> False 214.29/145.88 214.29/145.88 The set Q consists of the following terms: 214.29/145.88 214.29/145.88 new_primModNatS01(x0, x1, Succ(x2), Zero) 214.29/145.88 new_primModNatS1(Succ(Succ(x0)), Zero) 214.29/145.88 new_primEqInt(Pos(Zero)) 214.29/145.88 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 214.29/145.88 new_esEs(Pos(Succ(x0))) 214.29/145.88 new_primModNatS1(Zero, x0) 214.29/145.88 new_primModNatS02(x0, x1) 214.29/145.88 new_primMinusNatS2(Zero, Zero) 214.29/145.88 new_primModNatS1(Succ(Zero), Zero) 214.29/145.88 new_primMinusNatS2(Succ(x0), Zero) 214.29/145.88 new_esEs(Pos(Zero)) 214.29/145.88 new_primEqInt(Neg(Succ(x0))) 214.29/145.88 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 214.29/145.88 new_esEs(Neg(Succ(x0))) 214.29/145.88 new_primEqInt(Neg(Zero)) 214.29/145.88 new_primModNatS01(x0, x1, Zero, Zero) 214.29/145.88 new_primEqInt(Pos(Succ(x0))) 214.29/145.88 new_primMinusNatS2(Zero, Succ(x0)) 214.29/145.88 new_primModNatS1(Succ(Zero), Succ(x0)) 214.29/145.88 new_primMinusNatS2(Succ(x0), Succ(x1)) 214.29/145.88 new_primModNatS01(x0, x1, Zero, Succ(x2)) 214.29/145.88 new_esEs(Neg(Zero)) 214.29/145.88 214.29/145.88 We have to consider all minimal (P,Q,R)-chains. 214.29/145.88 ---------------------------------------- 214.29/145.88 214.29/145.88 (665) TransformationProof (EQUIVALENT) 214.29/145.88 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]: 214.29/145.88 214.29/145.88 (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))))) 214.29/145.88 (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)))) 214.29/145.88 (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))))) 214.29/145.88 (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)))))) 214.29/145.88 214.29/145.88 214.29/145.88 ---------------------------------------- 214.29/145.88 214.29/145.88 (666) 214.29/145.88 Obligation: 214.29/145.88 Q DP problem: 214.29/145.88 The TRS P consists of the following rules: 214.29/145.88 214.29/145.88 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)))))) 214.29/145.88 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))))) 214.29/145.88 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)))))) 214.29/145.88 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)))) 214.29/145.88 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))) 214.29/145.88 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)))) 214.29/145.88 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))))) 214.29/145.88 214.29/145.88 The TRS R consists of the following rules: 214.29/145.88 214.29/145.88 new_primModNatS1(Succ(Succ(vyv293000)), Succ(vyv292000)) -> new_primModNatS01(vyv293000, vyv292000, vyv293000, vyv292000) 214.29/145.88 new_primModNatS01(vyv331, vyv332, Zero, Zero) -> new_primModNatS02(vyv331, vyv332) 214.29/145.88 new_primModNatS02(vyv331, vyv332) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv331), Succ(vyv332)), Succ(vyv332)) 214.29/145.88 new_primModNatS01(vyv331, vyv332, Succ(vyv3330), Succ(vyv3340)) -> new_primModNatS01(vyv331, vyv332, vyv3330, vyv3340) 214.29/145.88 new_primModNatS01(vyv331, vyv332, Succ(vyv3330), Zero) -> new_primModNatS02(vyv331, vyv332) 214.29/145.88 new_primModNatS01(vyv331, vyv332, Zero, Succ(vyv3340)) -> Succ(Succ(vyv331)) 214.29/145.88 new_primMinusNatS2(Succ(vyv3110), Succ(vyv3120)) -> new_primMinusNatS2(vyv3110, vyv3120) 214.29/145.88 new_primModNatS1(Succ(Zero), Succ(vyv292000)) -> Succ(Zero) 214.29/145.88 new_primModNatS1(Zero, vyv29200) -> Zero 214.29/145.88 new_primMinusNatS2(Zero, Zero) -> Zero 214.29/145.88 new_primMinusNatS2(Zero, Succ(vyv3120)) -> Zero 214.29/145.88 new_primMinusNatS2(Succ(vyv3110), Zero) -> Succ(vyv3110) 214.29/145.88 new_esEs(Neg(Succ(vyv24300))) -> new_primEqInt(Neg(Succ(vyv24300))) 214.29/145.88 new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) 214.29/145.88 new_primEqInt(Neg(Zero)) -> True 214.29/145.88 new_primEqInt(Neg(Succ(vyv242000))) -> False 214.29/145.88 214.29/145.88 The set Q consists of the following terms: 214.29/145.88 214.29/145.88 new_primModNatS01(x0, x1, Succ(x2), Zero) 214.29/145.88 new_primModNatS1(Succ(Succ(x0)), Zero) 214.29/145.88 new_primEqInt(Pos(Zero)) 214.29/145.88 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 214.29/145.88 new_esEs(Pos(Succ(x0))) 214.29/145.88 new_primModNatS1(Zero, x0) 214.29/145.88 new_primModNatS02(x0, x1) 214.29/145.88 new_primMinusNatS2(Zero, Zero) 214.29/145.88 new_primModNatS1(Succ(Zero), Zero) 214.29/145.88 new_primMinusNatS2(Succ(x0), Zero) 214.29/145.88 new_esEs(Pos(Zero)) 214.29/145.88 new_primEqInt(Neg(Succ(x0))) 214.29/145.88 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 214.29/145.88 new_esEs(Neg(Succ(x0))) 214.29/145.88 new_primEqInt(Neg(Zero)) 214.29/145.88 new_primModNatS01(x0, x1, Zero, Zero) 214.29/145.88 new_primEqInt(Pos(Succ(x0))) 214.29/145.88 new_primMinusNatS2(Zero, Succ(x0)) 214.29/145.88 new_primModNatS1(Succ(Zero), Succ(x0)) 214.29/145.88 new_primMinusNatS2(Succ(x0), Succ(x1)) 214.29/145.88 new_primModNatS01(x0, x1, Zero, Succ(x2)) 214.29/145.88 new_esEs(Neg(Zero)) 214.29/145.88 214.29/145.88 We have to consider all minimal (P,Q,R)-chains. 214.29/145.88 ---------------------------------------- 214.29/145.88 214.29/145.88 (667) DependencyGraphProof (EQUIVALENT) 214.29/145.88 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 2 SCCs with 1 less node. 214.29/145.88 ---------------------------------------- 214.29/145.88 214.29/145.88 (668) 214.29/145.88 Complex Obligation (AND) 214.29/145.88 214.29/145.88 ---------------------------------------- 214.29/145.88 214.29/145.88 (669) 214.29/145.88 Obligation: 214.29/145.88 Q DP problem: 214.29/145.88 The TRS P consists of the following rules: 214.29/145.88 214.29/145.88 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))))) 214.29/145.88 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)))))) 214.29/145.88 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)))) 214.29/145.88 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))))) 214.29/145.88 214.29/145.88 The TRS R consists of the following rules: 214.29/145.88 214.29/145.88 new_primModNatS1(Succ(Succ(vyv293000)), Succ(vyv292000)) -> new_primModNatS01(vyv293000, vyv292000, vyv293000, vyv292000) 214.29/145.88 new_primModNatS01(vyv331, vyv332, Zero, Zero) -> new_primModNatS02(vyv331, vyv332) 214.29/145.88 new_primModNatS02(vyv331, vyv332) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv331), Succ(vyv332)), Succ(vyv332)) 214.29/145.88 new_primModNatS01(vyv331, vyv332, Succ(vyv3330), Succ(vyv3340)) -> new_primModNatS01(vyv331, vyv332, vyv3330, vyv3340) 214.29/145.88 new_primModNatS01(vyv331, vyv332, Succ(vyv3330), Zero) -> new_primModNatS02(vyv331, vyv332) 214.29/145.88 new_primModNatS01(vyv331, vyv332, Zero, Succ(vyv3340)) -> Succ(Succ(vyv331)) 214.29/145.88 new_primMinusNatS2(Succ(vyv3110), Succ(vyv3120)) -> new_primMinusNatS2(vyv3110, vyv3120) 214.29/145.88 new_primModNatS1(Succ(Zero), Succ(vyv292000)) -> Succ(Zero) 214.29/145.88 new_primModNatS1(Zero, vyv29200) -> Zero 214.29/145.88 new_primMinusNatS2(Zero, Zero) -> Zero 214.29/145.88 new_primMinusNatS2(Zero, Succ(vyv3120)) -> Zero 214.29/145.88 new_primMinusNatS2(Succ(vyv3110), Zero) -> Succ(vyv3110) 214.29/145.88 new_esEs(Neg(Succ(vyv24300))) -> new_primEqInt(Neg(Succ(vyv24300))) 214.29/145.88 new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) 214.29/145.88 new_primEqInt(Neg(Zero)) -> True 214.29/145.88 new_primEqInt(Neg(Succ(vyv242000))) -> False 214.29/145.88 214.29/145.88 The set Q consists of the following terms: 214.29/145.88 214.29/145.88 new_primModNatS01(x0, x1, Succ(x2), Zero) 214.29/145.88 new_primModNatS1(Succ(Succ(x0)), Zero) 214.29/145.88 new_primEqInt(Pos(Zero)) 214.29/145.88 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 214.29/145.88 new_esEs(Pos(Succ(x0))) 214.29/145.88 new_primModNatS1(Zero, x0) 214.29/145.88 new_primModNatS02(x0, x1) 214.29/145.88 new_primMinusNatS2(Zero, Zero) 214.29/145.88 new_primModNatS1(Succ(Zero), Zero) 214.29/145.88 new_primMinusNatS2(Succ(x0), Zero) 214.29/145.88 new_esEs(Pos(Zero)) 214.29/145.88 new_primEqInt(Neg(Succ(x0))) 214.29/145.88 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 214.29/145.88 new_esEs(Neg(Succ(x0))) 214.29/145.88 new_primEqInt(Neg(Zero)) 214.29/145.88 new_primModNatS01(x0, x1, Zero, Zero) 214.29/145.88 new_primEqInt(Pos(Succ(x0))) 214.29/145.88 new_primMinusNatS2(Zero, Succ(x0)) 214.29/145.88 new_primModNatS1(Succ(Zero), Succ(x0)) 214.29/145.88 new_primMinusNatS2(Succ(x0), Succ(x1)) 214.29/145.88 new_primModNatS01(x0, x1, Zero, Succ(x2)) 214.29/145.88 new_esEs(Neg(Zero)) 214.29/145.88 214.29/145.88 We have to consider all minimal (P,Q,R)-chains. 214.29/145.88 ---------------------------------------- 214.29/145.88 214.29/145.88 (670) TransformationProof (EQUIVALENT) 214.29/145.88 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]: 214.29/145.88 214.29/145.88 (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)))))) 214.29/145.88 214.29/145.88 214.29/145.88 ---------------------------------------- 214.29/145.88 214.29/145.88 (671) 214.29/145.88 Obligation: 214.29/145.88 Q DP problem: 214.29/145.88 The TRS P consists of the following rules: 214.29/145.88 214.29/145.88 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))))) 214.29/145.88 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)))))) 214.29/145.88 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))))) 214.29/145.88 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))))) 214.29/145.88 214.29/145.88 The TRS R consists of the following rules: 214.29/145.88 214.29/145.88 new_primModNatS1(Succ(Succ(vyv293000)), Succ(vyv292000)) -> new_primModNatS01(vyv293000, vyv292000, vyv293000, vyv292000) 214.29/145.88 new_primModNatS01(vyv331, vyv332, Zero, Zero) -> new_primModNatS02(vyv331, vyv332) 214.29/145.88 new_primModNatS02(vyv331, vyv332) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv331), Succ(vyv332)), Succ(vyv332)) 214.29/145.88 new_primModNatS01(vyv331, vyv332, Succ(vyv3330), Succ(vyv3340)) -> new_primModNatS01(vyv331, vyv332, vyv3330, vyv3340) 214.29/145.88 new_primModNatS01(vyv331, vyv332, Succ(vyv3330), Zero) -> new_primModNatS02(vyv331, vyv332) 214.29/145.88 new_primModNatS01(vyv331, vyv332, Zero, Succ(vyv3340)) -> Succ(Succ(vyv331)) 214.29/145.88 new_primMinusNatS2(Succ(vyv3110), Succ(vyv3120)) -> new_primMinusNatS2(vyv3110, vyv3120) 214.29/145.88 new_primModNatS1(Succ(Zero), Succ(vyv292000)) -> Succ(Zero) 214.29/145.88 new_primModNatS1(Zero, vyv29200) -> Zero 214.29/145.88 new_primMinusNatS2(Zero, Zero) -> Zero 214.29/145.88 new_primMinusNatS2(Zero, Succ(vyv3120)) -> Zero 214.29/145.88 new_primMinusNatS2(Succ(vyv3110), Zero) -> Succ(vyv3110) 214.29/145.88 new_esEs(Neg(Succ(vyv24300))) -> new_primEqInt(Neg(Succ(vyv24300))) 214.29/145.88 new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) 214.29/145.88 new_primEqInt(Neg(Zero)) -> True 214.29/145.88 new_primEqInt(Neg(Succ(vyv242000))) -> False 214.29/145.88 214.29/145.88 The set Q consists of the following terms: 214.29/145.88 214.29/145.88 new_primModNatS01(x0, x1, Succ(x2), Zero) 214.29/145.88 new_primModNatS1(Succ(Succ(x0)), Zero) 214.29/145.88 new_primEqInt(Pos(Zero)) 214.29/145.88 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 214.29/145.88 new_esEs(Pos(Succ(x0))) 214.29/145.88 new_primModNatS1(Zero, x0) 214.29/145.88 new_primModNatS02(x0, x1) 214.29/145.88 new_primMinusNatS2(Zero, Zero) 214.29/145.88 new_primModNatS1(Succ(Zero), Zero) 214.29/145.88 new_primMinusNatS2(Succ(x0), Zero) 214.29/145.88 new_esEs(Pos(Zero)) 214.29/145.88 new_primEqInt(Neg(Succ(x0))) 214.29/145.88 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 214.29/145.88 new_esEs(Neg(Succ(x0))) 214.29/145.88 new_primEqInt(Neg(Zero)) 214.29/145.88 new_primModNatS01(x0, x1, Zero, Zero) 214.29/145.88 new_primEqInt(Pos(Succ(x0))) 214.29/145.88 new_primMinusNatS2(Zero, Succ(x0)) 214.29/145.88 new_primModNatS1(Succ(Zero), Succ(x0)) 214.29/145.88 new_primMinusNatS2(Succ(x0), Succ(x1)) 214.29/145.88 new_primModNatS01(x0, x1, Zero, Succ(x2)) 214.29/145.88 new_esEs(Neg(Zero)) 214.29/145.88 214.29/145.88 We have to consider all minimal (P,Q,R)-chains. 214.29/145.88 ---------------------------------------- 214.29/145.88 214.29/145.88 (672) TransformationProof (EQUIVALENT) 214.29/145.88 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]: 214.29/145.88 214.29/145.88 (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)))))) 214.29/145.88 214.29/145.88 214.29/145.88 ---------------------------------------- 214.29/145.88 214.29/145.88 (673) 214.29/145.88 Obligation: 214.29/145.88 Q DP problem: 214.29/145.88 The TRS P consists of the following rules: 214.29/145.88 214.29/145.88 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))))) 214.29/145.88 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)))))) 214.29/145.88 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))))) 214.29/145.88 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))))) 214.29/145.88 214.29/145.88 The TRS R consists of the following rules: 214.29/145.88 214.29/145.88 new_primModNatS1(Succ(Succ(vyv293000)), Succ(vyv292000)) -> new_primModNatS01(vyv293000, vyv292000, vyv293000, vyv292000) 214.29/145.88 new_primModNatS01(vyv331, vyv332, Zero, Zero) -> new_primModNatS02(vyv331, vyv332) 214.29/145.88 new_primModNatS02(vyv331, vyv332) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv331), Succ(vyv332)), Succ(vyv332)) 214.29/145.88 new_primModNatS01(vyv331, vyv332, Succ(vyv3330), Succ(vyv3340)) -> new_primModNatS01(vyv331, vyv332, vyv3330, vyv3340) 214.29/145.88 new_primModNatS01(vyv331, vyv332, Succ(vyv3330), Zero) -> new_primModNatS02(vyv331, vyv332) 214.29/145.88 new_primModNatS01(vyv331, vyv332, Zero, Succ(vyv3340)) -> Succ(Succ(vyv331)) 214.29/145.88 new_primMinusNatS2(Succ(vyv3110), Succ(vyv3120)) -> new_primMinusNatS2(vyv3110, vyv3120) 214.29/145.88 new_primModNatS1(Succ(Zero), Succ(vyv292000)) -> Succ(Zero) 214.29/145.88 new_primModNatS1(Zero, vyv29200) -> Zero 214.29/145.88 new_primMinusNatS2(Zero, Zero) -> Zero 214.29/145.88 new_primMinusNatS2(Zero, Succ(vyv3120)) -> Zero 214.29/145.88 new_primMinusNatS2(Succ(vyv3110), Zero) -> Succ(vyv3110) 214.29/145.88 new_esEs(Neg(Succ(vyv24300))) -> new_primEqInt(Neg(Succ(vyv24300))) 214.29/145.88 new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) 214.29/145.88 new_primEqInt(Neg(Zero)) -> True 214.29/145.88 new_primEqInt(Neg(Succ(vyv242000))) -> False 214.29/145.88 214.29/145.88 The set Q consists of the following terms: 214.29/145.88 214.29/145.88 new_primModNatS01(x0, x1, Succ(x2), Zero) 214.29/145.88 new_primModNatS1(Succ(Succ(x0)), Zero) 214.29/145.88 new_primEqInt(Pos(Zero)) 214.29/145.88 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 214.29/145.88 new_esEs(Pos(Succ(x0))) 214.29/145.88 new_primModNatS1(Zero, x0) 214.29/145.88 new_primModNatS02(x0, x1) 214.29/145.88 new_primMinusNatS2(Zero, Zero) 214.29/145.88 new_primModNatS1(Succ(Zero), Zero) 214.29/145.88 new_primMinusNatS2(Succ(x0), Zero) 214.29/145.88 new_esEs(Pos(Zero)) 214.29/145.88 new_primEqInt(Neg(Succ(x0))) 214.29/145.88 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 214.29/145.88 new_esEs(Neg(Succ(x0))) 214.29/145.88 new_primEqInt(Neg(Zero)) 214.29/145.88 new_primModNatS01(x0, x1, Zero, Zero) 214.29/145.88 new_primEqInt(Pos(Succ(x0))) 214.29/145.88 new_primMinusNatS2(Zero, Succ(x0)) 214.29/145.88 new_primModNatS1(Succ(Zero), Succ(x0)) 214.29/145.88 new_primMinusNatS2(Succ(x0), Succ(x1)) 214.29/145.88 new_primModNatS01(x0, x1, Zero, Succ(x2)) 214.29/145.88 new_esEs(Neg(Zero)) 214.29/145.88 214.29/145.88 We have to consider all minimal (P,Q,R)-chains. 214.29/145.88 ---------------------------------------- 214.29/145.88 214.29/145.88 (674) TransformationProof (EQUIVALENT) 214.29/145.88 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]: 214.29/145.88 214.29/145.88 (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)))))) 214.29/145.88 214.29/145.88 214.29/145.88 ---------------------------------------- 214.29/145.88 214.29/145.88 (675) 214.29/145.88 Obligation: 214.29/145.88 Q DP problem: 214.29/145.88 The TRS P consists of the following rules: 214.29/145.88 214.29/145.88 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))))) 214.29/145.88 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)))))) 214.29/145.88 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))))) 214.29/145.88 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))))) 214.29/145.88 214.29/145.88 The TRS R consists of the following rules: 214.29/145.88 214.29/145.88 new_primModNatS1(Succ(Succ(vyv293000)), Succ(vyv292000)) -> new_primModNatS01(vyv293000, vyv292000, vyv293000, vyv292000) 214.29/145.88 new_primModNatS01(vyv331, vyv332, Zero, Zero) -> new_primModNatS02(vyv331, vyv332) 214.29/145.88 new_primModNatS02(vyv331, vyv332) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv331), Succ(vyv332)), Succ(vyv332)) 214.29/145.88 new_primModNatS01(vyv331, vyv332, Succ(vyv3330), Succ(vyv3340)) -> new_primModNatS01(vyv331, vyv332, vyv3330, vyv3340) 214.29/145.88 new_primModNatS01(vyv331, vyv332, Succ(vyv3330), Zero) -> new_primModNatS02(vyv331, vyv332) 214.29/145.88 new_primModNatS01(vyv331, vyv332, Zero, Succ(vyv3340)) -> Succ(Succ(vyv331)) 214.29/145.88 new_primMinusNatS2(Succ(vyv3110), Succ(vyv3120)) -> new_primMinusNatS2(vyv3110, vyv3120) 214.29/145.88 new_primModNatS1(Succ(Zero), Succ(vyv292000)) -> Succ(Zero) 214.29/145.88 new_primModNatS1(Zero, vyv29200) -> Zero 214.29/145.88 new_primMinusNatS2(Zero, Zero) -> Zero 214.29/145.88 new_primMinusNatS2(Zero, Succ(vyv3120)) -> Zero 214.29/145.88 new_primMinusNatS2(Succ(vyv3110), Zero) -> Succ(vyv3110) 214.29/145.88 new_esEs(Neg(Succ(vyv24300))) -> new_primEqInt(Neg(Succ(vyv24300))) 214.29/145.88 new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) 214.29/145.88 new_primEqInt(Neg(Zero)) -> True 214.29/145.88 new_primEqInt(Neg(Succ(vyv242000))) -> False 214.29/145.88 214.29/145.88 The set Q consists of the following terms: 214.29/145.88 214.29/145.88 new_primModNatS01(x0, x1, Succ(x2), Zero) 214.29/145.88 new_primModNatS1(Succ(Succ(x0)), Zero) 214.29/145.88 new_primEqInt(Pos(Zero)) 214.29/145.88 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 214.29/145.88 new_esEs(Pos(Succ(x0))) 214.29/145.88 new_primModNatS1(Zero, x0) 214.29/145.88 new_primModNatS02(x0, x1) 214.29/145.88 new_primMinusNatS2(Zero, Zero) 214.29/145.88 new_primModNatS1(Succ(Zero), Zero) 214.29/145.88 new_primMinusNatS2(Succ(x0), Zero) 214.29/145.88 new_esEs(Pos(Zero)) 214.29/145.88 new_primEqInt(Neg(Succ(x0))) 214.29/145.88 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 214.29/145.88 new_esEs(Neg(Succ(x0))) 214.29/145.88 new_primEqInt(Neg(Zero)) 214.29/145.88 new_primModNatS01(x0, x1, Zero, Zero) 214.29/145.88 new_primEqInt(Pos(Succ(x0))) 214.29/145.88 new_primMinusNatS2(Zero, Succ(x0)) 214.29/145.88 new_primModNatS1(Succ(Zero), Succ(x0)) 214.29/145.88 new_primMinusNatS2(Succ(x0), Succ(x1)) 214.29/145.88 new_primModNatS01(x0, x1, Zero, Succ(x2)) 214.29/145.88 new_esEs(Neg(Zero)) 214.29/145.88 214.29/145.88 We have to consider all minimal (P,Q,R)-chains. 214.29/145.88 ---------------------------------------- 214.29/145.88 214.29/145.88 (676) TransformationProof (EQUIVALENT) 214.29/145.88 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]: 214.29/145.88 214.29/145.88 (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)))))) 214.29/145.88 214.29/145.88 214.29/145.88 ---------------------------------------- 214.29/145.88 214.29/145.88 (677) 214.29/145.88 Obligation: 214.29/145.88 Q DP problem: 214.29/145.88 The TRS P consists of the following rules: 214.29/145.88 214.29/145.88 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))))) 214.29/145.88 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)))))) 214.29/145.88 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))))) 214.29/145.88 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))))) 214.29/145.88 214.29/145.88 The TRS R consists of the following rules: 214.29/145.88 214.29/145.88 new_primModNatS1(Succ(Succ(vyv293000)), Succ(vyv292000)) -> new_primModNatS01(vyv293000, vyv292000, vyv293000, vyv292000) 214.29/145.88 new_primModNatS01(vyv331, vyv332, Zero, Zero) -> new_primModNatS02(vyv331, vyv332) 214.29/145.88 new_primModNatS02(vyv331, vyv332) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv331), Succ(vyv332)), Succ(vyv332)) 214.29/145.88 new_primModNatS01(vyv331, vyv332, Succ(vyv3330), Succ(vyv3340)) -> new_primModNatS01(vyv331, vyv332, vyv3330, vyv3340) 214.29/145.88 new_primModNatS01(vyv331, vyv332, Succ(vyv3330), Zero) -> new_primModNatS02(vyv331, vyv332) 214.29/145.88 new_primModNatS01(vyv331, vyv332, Zero, Succ(vyv3340)) -> Succ(Succ(vyv331)) 214.29/145.88 new_primMinusNatS2(Succ(vyv3110), Succ(vyv3120)) -> new_primMinusNatS2(vyv3110, vyv3120) 214.29/145.88 new_primModNatS1(Succ(Zero), Succ(vyv292000)) -> Succ(Zero) 214.29/145.88 new_primModNatS1(Zero, vyv29200) -> Zero 214.29/145.88 new_primMinusNatS2(Zero, Zero) -> Zero 214.29/145.88 new_primMinusNatS2(Zero, Succ(vyv3120)) -> Zero 214.29/145.88 new_primMinusNatS2(Succ(vyv3110), Zero) -> Succ(vyv3110) 214.29/145.88 new_esEs(Neg(Succ(vyv24300))) -> new_primEqInt(Neg(Succ(vyv24300))) 214.29/145.88 new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) 214.29/145.88 new_primEqInt(Neg(Zero)) -> True 214.29/145.88 new_primEqInt(Neg(Succ(vyv242000))) -> False 214.29/145.88 214.29/145.88 The set Q consists of the following terms: 214.29/145.88 214.29/145.88 new_primModNatS01(x0, x1, Succ(x2), Zero) 214.29/145.88 new_primModNatS1(Succ(Succ(x0)), Zero) 214.29/145.88 new_primEqInt(Pos(Zero)) 214.29/145.88 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 214.29/145.88 new_esEs(Pos(Succ(x0))) 214.29/145.88 new_primModNatS1(Zero, x0) 214.29/145.88 new_primModNatS02(x0, x1) 214.29/145.88 new_primMinusNatS2(Zero, Zero) 214.29/145.88 new_primModNatS1(Succ(Zero), Zero) 214.29/145.88 new_primMinusNatS2(Succ(x0), Zero) 214.29/145.88 new_esEs(Pos(Zero)) 214.29/145.88 new_primEqInt(Neg(Succ(x0))) 214.29/145.88 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 214.29/145.88 new_esEs(Neg(Succ(x0))) 214.29/145.88 new_primEqInt(Neg(Zero)) 214.29/145.88 new_primModNatS01(x0, x1, Zero, Zero) 214.29/145.88 new_primEqInt(Pos(Succ(x0))) 214.29/145.88 new_primMinusNatS2(Zero, Succ(x0)) 214.29/145.88 new_primModNatS1(Succ(Zero), Succ(x0)) 214.29/145.88 new_primMinusNatS2(Succ(x0), Succ(x1)) 214.29/145.88 new_primModNatS01(x0, x1, Zero, Succ(x2)) 214.29/145.88 new_esEs(Neg(Zero)) 214.29/145.88 214.29/145.88 We have to consider all minimal (P,Q,R)-chains. 214.29/145.88 ---------------------------------------- 214.29/145.88 214.29/145.88 (678) QReductionProof (EQUIVALENT) 214.29/145.88 We deleted the following terms from Q as they contain symbols which do neither occur in P nor in R.[THIEMANN]. 214.29/145.88 214.29/145.88 new_primEqInt(Pos(Zero)) 214.29/145.88 new_esEs(Pos(Succ(x0))) 214.29/145.88 new_esEs(Pos(Zero)) 214.29/145.88 new_primEqInt(Pos(Succ(x0))) 214.29/145.88 214.29/145.88 214.29/145.88 ---------------------------------------- 214.29/145.88 214.29/145.88 (679) 214.29/145.88 Obligation: 214.29/145.88 Q DP problem: 214.29/145.88 The TRS P consists of the following rules: 214.29/145.88 214.29/145.88 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))))) 214.29/145.88 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)))))) 214.29/145.88 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))))) 214.29/145.88 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))))) 214.29/145.88 214.29/145.88 The TRS R consists of the following rules: 214.29/145.88 214.29/145.88 new_primModNatS1(Succ(Succ(vyv293000)), Succ(vyv292000)) -> new_primModNatS01(vyv293000, vyv292000, vyv293000, vyv292000) 214.29/145.88 new_primModNatS01(vyv331, vyv332, Zero, Zero) -> new_primModNatS02(vyv331, vyv332) 214.29/145.88 new_primModNatS02(vyv331, vyv332) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv331), Succ(vyv332)), Succ(vyv332)) 214.29/145.88 new_primModNatS01(vyv331, vyv332, Succ(vyv3330), Succ(vyv3340)) -> new_primModNatS01(vyv331, vyv332, vyv3330, vyv3340) 214.29/145.88 new_primModNatS01(vyv331, vyv332, Succ(vyv3330), Zero) -> new_primModNatS02(vyv331, vyv332) 214.29/145.88 new_primModNatS01(vyv331, vyv332, Zero, Succ(vyv3340)) -> Succ(Succ(vyv331)) 214.29/145.88 new_primMinusNatS2(Succ(vyv3110), Succ(vyv3120)) -> new_primMinusNatS2(vyv3110, vyv3120) 214.29/145.88 new_primModNatS1(Succ(Zero), Succ(vyv292000)) -> Succ(Zero) 214.29/145.88 new_primModNatS1(Zero, vyv29200) -> Zero 214.29/145.88 new_primMinusNatS2(Zero, Zero) -> Zero 214.29/145.88 new_primMinusNatS2(Zero, Succ(vyv3120)) -> Zero 214.29/145.88 new_primMinusNatS2(Succ(vyv3110), Zero) -> Succ(vyv3110) 214.29/145.88 new_esEs(Neg(Succ(vyv24300))) -> new_primEqInt(Neg(Succ(vyv24300))) 214.29/145.88 new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) 214.29/145.88 new_primEqInt(Neg(Zero)) -> True 214.29/145.88 new_primEqInt(Neg(Succ(vyv242000))) -> False 214.29/145.88 214.29/145.88 The set Q consists of the following terms: 214.29/145.88 214.29/145.88 new_primModNatS01(x0, x1, Succ(x2), Zero) 214.29/145.88 new_primModNatS1(Succ(Succ(x0)), Zero) 214.29/145.88 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 214.29/145.88 new_primModNatS1(Zero, x0) 214.29/145.88 new_primModNatS02(x0, x1) 214.29/145.88 new_primMinusNatS2(Zero, Zero) 214.29/145.88 new_primModNatS1(Succ(Zero), Zero) 214.29/145.88 new_primMinusNatS2(Succ(x0), Zero) 214.29/145.88 new_primEqInt(Neg(Succ(x0))) 214.29/145.88 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 214.29/145.88 new_esEs(Neg(Succ(x0))) 214.29/145.88 new_primEqInt(Neg(Zero)) 214.29/145.88 new_primModNatS01(x0, x1, Zero, Zero) 214.29/145.88 new_primMinusNatS2(Zero, Succ(x0)) 214.29/145.88 new_primModNatS1(Succ(Zero), Succ(x0)) 214.29/145.88 new_primMinusNatS2(Succ(x0), Succ(x1)) 214.29/145.88 new_primModNatS01(x0, x1, Zero, Succ(x2)) 214.29/145.88 new_esEs(Neg(Zero)) 214.29/145.88 214.29/145.88 We have to consider all (P,Q,R)-chains. 214.29/145.88 ---------------------------------------- 214.29/145.88 214.29/145.88 (680) InductionCalculusProof (EQUIVALENT) 214.29/145.88 Note that final constraints are written in bold face. 214.29/145.88 214.29/145.88 214.29/145.88 214.29/145.88 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: 214.29/145.88 *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: 214.29/145.88 214.29/145.88 (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)))))) 214.29/145.88 214.29/145.88 214.29/145.88 214.29/145.88 We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: 214.29/145.88 214.29/145.88 (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)))))) 214.29/145.88 214.29/145.88 214.29/145.88 214.29/145.88 214.29/145.88 214.29/145.88 214.29/145.88 214.29/145.88 214.29/145.88 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: 214.29/145.88 *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: 214.29/145.88 214.29/145.88 (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))))))) 214.29/145.88 214.29/145.88 214.29/145.88 214.29/145.88 We simplified constraint (1) using rules (I), (II), (IV), (VII) which results in the following new constraint: 214.29/145.88 214.29/145.88 (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))))))) 214.29/145.88 214.29/145.88 214.29/145.88 214.29/145.88 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: 214.29/145.88 214.29/145.88 (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))))))) 214.29/145.88 214.29/145.88 (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))))))) 214.29/145.88 214.29/145.88 214.29/145.88 214.29/145.88 We simplified constraint (3) using rules (I), (II), (VII) which results in the following new constraint: 214.29/145.88 214.29/145.88 (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))))))) 214.29/145.88 214.29/145.88 214.29/145.88 214.29/145.88 We simplified constraint (4) using rules (I), (II), (VII) which results in the following new constraint: 214.29/145.88 214.29/145.88 (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))))))) 214.29/145.88 214.29/145.88 214.29/145.88 214.29/145.88 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: 214.29/145.88 214.29/145.88 (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))))))) 214.29/145.88 214.29/145.88 214.29/145.88 214.29/145.88 We simplified constraint (7) using rules (I), (II), (IV) which results in the following new constraint: 214.29/145.88 214.29/145.88 (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))))))) 214.29/145.88 214.29/145.88 214.29/145.88 214.29/145.88 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: 214.29/145.88 214.29/145.88 (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))))))) 214.29/145.88 214.29/145.88 (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))))))) 214.29/145.88 214.29/145.88 214.29/145.88 214.29/145.88 We simplified constraint (9) using rules (I), (II), (III), (VII) which results in the following new constraint: 214.29/145.88 214.29/145.88 (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)))))))) 214.29/145.88 214.29/145.88 214.29/145.88 214.29/145.88 We simplified constraint (10) using rules (I), (II), (III), (IV) which results in the following new constraint: 214.29/145.88 214.29/145.88 (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))))))) 214.29/145.88 214.29/145.88 214.29/145.88 214.29/145.88 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: 214.29/145.88 214.29/145.88 (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)))))))) 214.29/145.88 214.29/145.88 (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)))))))) 214.29/145.88 214.29/145.88 (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)))))))) 214.29/145.88 214.29/145.88 (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)))))))) 214.29/145.88 214.29/145.88 214.29/145.88 214.29/145.88 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: 214.29/145.88 214.29/145.88 (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))))))))) 214.29/145.88 214.29/145.88 214.29/145.88 214.29/145.88 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: 214.29/145.88 214.29/145.88 (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)))))))) 214.29/145.88 214.29/145.88 214.29/145.88 214.29/145.88 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: 214.29/145.88 214.29/145.88 (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))))))) 214.29/145.88 214.29/145.88 214.29/145.88 214.29/145.88 We solved constraint (19) using rules (I), (II). 214.29/145.88 214.29/145.88 214.29/145.88 214.29/145.88 214.29/145.88 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: 214.29/145.88 *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: 214.29/145.88 214.29/145.88 (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)))))) 214.29/145.88 214.29/145.88 214.29/145.88 214.29/145.88 We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: 214.29/145.88 214.29/145.88 (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)))))) 214.29/145.88 214.29/145.88 214.29/145.88 214.29/145.88 214.29/145.88 214.29/145.88 214.29/145.88 214.29/145.88 214.29/145.88 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: 214.29/145.88 *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: 214.29/145.88 214.29/145.88 (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)))))) 214.29/145.88 214.29/145.88 214.29/145.88 214.29/145.88 We simplified constraint (1) using rules (I), (II), (VII) which results in the following new constraint: 214.29/145.88 214.29/145.88 (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)))))) 214.29/145.88 214.29/145.88 214.29/145.88 214.29/145.88 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: 214.29/145.88 214.29/145.88 (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)))))) 214.29/145.88 214.29/145.88 (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)))))) 214.29/145.88 214.29/145.88 214.29/145.88 214.29/145.88 We simplified constraint (3) using rules (I), (II), (III), (VII) which results in the following new constraint: 214.29/145.88 214.29/145.88 (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)))))) 214.29/145.88 214.29/145.88 214.29/145.88 214.29/145.88 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: 214.29/145.88 214.29/145.88 (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)))))) 214.29/145.88 214.29/145.88 (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)))))) 214.29/145.88 214.29/145.88 (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)))))) 214.29/145.88 214.29/145.88 (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)))))) 214.29/145.88 214.29/145.88 214.29/145.88 214.29/145.88 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: 214.29/145.88 214.29/145.88 (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)))))) 214.29/145.88 214.29/145.88 214.29/145.88 214.29/145.88 We solved constraint (8) using rules (I), (II), (III).We solved constraint (9) using rules (I), (II), (III), (IV). 214.29/145.88 214.29/145.88 214.29/145.88 214.29/145.88 214.29/145.88 To summarize, we get the following constraints P__>=_ for the following pairs. 214.29/145.88 214.29/145.88 *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))))) 214.29/145.88 214.29/145.88 *(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)))))) 214.29/145.88 214.29/145.88 214.29/145.88 214.29/145.88 214.29/145.88 *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)))))) 214.29/145.88 214.29/145.88 *(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)))))))) 214.29/145.88 214.29/145.88 214.29/145.88 *(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))))))) 214.29/145.88 214.29/145.88 214.29/145.88 *(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))))))))) 214.29/145.88 214.29/145.88 214.29/145.88 214.29/145.88 214.29/145.88 *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))))) 214.29/145.88 214.29/145.88 *(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)))))) 214.29/145.88 214.29/145.88 214.29/145.88 214.29/145.88 214.29/145.88 *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))))) 214.29/145.88 214.29/145.88 *(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)))))) 214.29/145.88 214.29/145.88 214.29/145.88 214.29/145.88 214.29/145.88 214.29/145.88 214.29/145.88 214.29/145.88 214.29/145.88 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. 214.29/145.88 ---------------------------------------- 214.29/145.88 214.29/145.88 (681) 214.29/145.88 Obligation: 214.29/145.88 Q DP problem: 214.29/145.88 The TRS P consists of the following rules: 214.29/145.88 214.29/145.88 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))))) 214.29/145.88 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)))))) 214.29/145.88 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))))) 214.29/145.88 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))))) 214.29/145.88 214.29/145.88 The TRS R consists of the following rules: 214.29/145.88 214.29/145.88 new_primModNatS1(Succ(Succ(vyv293000)), Succ(vyv292000)) -> new_primModNatS01(vyv293000, vyv292000, vyv293000, vyv292000) 214.29/145.88 new_primModNatS01(vyv331, vyv332, Zero, Zero) -> new_primModNatS02(vyv331, vyv332) 214.29/145.88 new_primModNatS02(vyv331, vyv332) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv331), Succ(vyv332)), Succ(vyv332)) 214.29/145.88 new_primModNatS01(vyv331, vyv332, Succ(vyv3330), Succ(vyv3340)) -> new_primModNatS01(vyv331, vyv332, vyv3330, vyv3340) 214.29/145.88 new_primModNatS01(vyv331, vyv332, Succ(vyv3330), Zero) -> new_primModNatS02(vyv331, vyv332) 214.29/145.88 new_primModNatS01(vyv331, vyv332, Zero, Succ(vyv3340)) -> Succ(Succ(vyv331)) 214.29/145.88 new_primMinusNatS2(Succ(vyv3110), Succ(vyv3120)) -> new_primMinusNatS2(vyv3110, vyv3120) 214.29/145.88 new_primModNatS1(Succ(Zero), Succ(vyv292000)) -> Succ(Zero) 214.29/145.88 new_primModNatS1(Zero, vyv29200) -> Zero 214.29/145.88 new_primMinusNatS2(Zero, Zero) -> Zero 214.29/145.88 new_primMinusNatS2(Zero, Succ(vyv3120)) -> Zero 214.29/145.88 new_primMinusNatS2(Succ(vyv3110), Zero) -> Succ(vyv3110) 214.29/145.88 new_esEs(Neg(Succ(vyv24300))) -> new_primEqInt(Neg(Succ(vyv24300))) 214.29/145.88 new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) 214.29/145.88 new_primEqInt(Neg(Zero)) -> True 214.29/145.88 new_primEqInt(Neg(Succ(vyv242000))) -> False 214.29/145.88 214.29/145.88 The set Q consists of the following terms: 214.29/145.88 214.29/145.88 new_primModNatS01(x0, x1, Succ(x2), Zero) 214.29/145.88 new_primModNatS1(Succ(Succ(x0)), Zero) 214.29/145.88 new_primEqInt(Pos(Zero)) 214.29/145.88 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 214.29/145.88 new_esEs(Pos(Succ(x0))) 214.29/145.88 new_primModNatS1(Zero, x0) 214.29/145.88 new_primModNatS02(x0, x1) 214.29/145.88 new_primMinusNatS2(Zero, Zero) 214.29/145.88 new_primModNatS1(Succ(Zero), Zero) 214.29/145.88 new_primMinusNatS2(Succ(x0), Zero) 214.29/145.88 new_esEs(Pos(Zero)) 214.29/145.88 new_primEqInt(Neg(Succ(x0))) 214.29/145.88 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 214.29/145.88 new_esEs(Neg(Succ(x0))) 214.29/145.88 new_primEqInt(Neg(Zero)) 214.29/145.88 new_primModNatS01(x0, x1, Zero, Zero) 214.29/145.88 new_primEqInt(Pos(Succ(x0))) 214.29/145.88 new_primMinusNatS2(Zero, Succ(x0)) 214.29/145.88 new_primModNatS1(Succ(Zero), Succ(x0)) 214.29/145.88 new_primMinusNatS2(Succ(x0), Succ(x1)) 214.29/145.88 new_primModNatS01(x0, x1, Zero, Succ(x2)) 214.29/145.88 new_esEs(Neg(Zero)) 214.29/145.88 214.29/145.88 We have to consider all minimal (P,Q,R)-chains. 214.29/145.88 ---------------------------------------- 214.29/145.88 214.29/145.88 (682) 214.29/145.88 Obligation: 214.29/145.88 Q DP problem: 214.29/145.88 The TRS P consists of the following rules: 214.29/145.88 214.29/145.88 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))) 214.29/145.88 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)))))) 214.29/145.88 214.29/145.88 The TRS R consists of the following rules: 214.29/145.88 214.29/145.88 new_primModNatS1(Succ(Succ(vyv293000)), Succ(vyv292000)) -> new_primModNatS01(vyv293000, vyv292000, vyv293000, vyv292000) 214.29/145.88 new_primModNatS01(vyv331, vyv332, Zero, Zero) -> new_primModNatS02(vyv331, vyv332) 214.29/145.88 new_primModNatS02(vyv331, vyv332) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv331), Succ(vyv332)), Succ(vyv332)) 214.29/145.88 new_primModNatS01(vyv331, vyv332, Succ(vyv3330), Succ(vyv3340)) -> new_primModNatS01(vyv331, vyv332, vyv3330, vyv3340) 214.29/145.88 new_primModNatS01(vyv331, vyv332, Succ(vyv3330), Zero) -> new_primModNatS02(vyv331, vyv332) 214.29/145.88 new_primModNatS01(vyv331, vyv332, Zero, Succ(vyv3340)) -> Succ(Succ(vyv331)) 214.29/145.88 new_primMinusNatS2(Succ(vyv3110), Succ(vyv3120)) -> new_primMinusNatS2(vyv3110, vyv3120) 214.29/145.88 new_primModNatS1(Succ(Zero), Succ(vyv292000)) -> Succ(Zero) 214.29/145.88 new_primModNatS1(Zero, vyv29200) -> Zero 214.29/145.88 new_primMinusNatS2(Zero, Zero) -> Zero 214.29/145.88 new_primMinusNatS2(Zero, Succ(vyv3120)) -> Zero 214.29/145.88 new_primMinusNatS2(Succ(vyv3110), Zero) -> Succ(vyv3110) 214.29/145.88 new_esEs(Neg(Succ(vyv24300))) -> new_primEqInt(Neg(Succ(vyv24300))) 214.29/145.88 new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) 214.29/145.88 new_primEqInt(Neg(Zero)) -> True 214.29/145.88 new_primEqInt(Neg(Succ(vyv242000))) -> False 214.29/145.88 214.29/145.88 The set Q consists of the following terms: 214.29/145.88 214.29/145.88 new_primModNatS01(x0, x1, Succ(x2), Zero) 214.29/145.88 new_primModNatS1(Succ(Succ(x0)), Zero) 214.29/145.88 new_primEqInt(Pos(Zero)) 214.29/145.88 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 214.29/145.88 new_esEs(Pos(Succ(x0))) 214.29/145.88 new_primModNatS1(Zero, x0) 214.29/145.88 new_primModNatS02(x0, x1) 214.29/145.88 new_primMinusNatS2(Zero, Zero) 214.29/145.88 new_primModNatS1(Succ(Zero), Zero) 214.29/145.88 new_primMinusNatS2(Succ(x0), Zero) 214.29/145.88 new_esEs(Pos(Zero)) 214.29/145.88 new_primEqInt(Neg(Succ(x0))) 214.29/145.88 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 214.29/145.88 new_esEs(Neg(Succ(x0))) 214.29/145.88 new_primEqInt(Neg(Zero)) 214.29/145.88 new_primModNatS01(x0, x1, Zero, Zero) 214.29/145.88 new_primEqInt(Pos(Succ(x0))) 214.29/145.88 new_primMinusNatS2(Zero, Succ(x0)) 214.29/145.88 new_primModNatS1(Succ(Zero), Succ(x0)) 214.29/145.88 new_primMinusNatS2(Succ(x0), Succ(x1)) 214.29/145.88 new_primModNatS01(x0, x1, Zero, Succ(x2)) 214.29/145.88 new_esEs(Neg(Zero)) 214.29/145.88 214.29/145.88 We have to consider all minimal (P,Q,R)-chains. 214.29/145.88 ---------------------------------------- 214.29/145.88 214.29/145.88 (683) QReductionProof (EQUIVALENT) 214.29/145.88 We deleted the following terms from Q as they contain symbols which do neither occur in P nor in R.[THIEMANN]. 214.29/145.88 214.29/145.88 new_primEqInt(Pos(Zero)) 214.29/145.88 new_esEs(Pos(Succ(x0))) 214.29/145.88 new_esEs(Pos(Zero)) 214.29/145.88 new_primEqInt(Pos(Succ(x0))) 214.29/145.88 214.29/145.88 214.29/145.88 ---------------------------------------- 214.29/145.88 214.29/145.88 (684) 214.29/145.88 Obligation: 214.29/145.88 Q DP problem: 214.29/145.88 The TRS P consists of the following rules: 214.29/145.88 214.29/145.88 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))) 214.29/145.88 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)))))) 214.29/145.88 214.29/145.88 The TRS R consists of the following rules: 214.29/145.88 214.29/145.88 new_primModNatS1(Succ(Succ(vyv293000)), Succ(vyv292000)) -> new_primModNatS01(vyv293000, vyv292000, vyv293000, vyv292000) 214.29/145.88 new_primModNatS01(vyv331, vyv332, Zero, Zero) -> new_primModNatS02(vyv331, vyv332) 214.29/145.88 new_primModNatS02(vyv331, vyv332) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv331), Succ(vyv332)), Succ(vyv332)) 214.29/145.88 new_primModNatS01(vyv331, vyv332, Succ(vyv3330), Succ(vyv3340)) -> new_primModNatS01(vyv331, vyv332, vyv3330, vyv3340) 214.29/145.88 new_primModNatS01(vyv331, vyv332, Succ(vyv3330), Zero) -> new_primModNatS02(vyv331, vyv332) 214.29/145.88 new_primModNatS01(vyv331, vyv332, Zero, Succ(vyv3340)) -> Succ(Succ(vyv331)) 214.29/145.88 new_primMinusNatS2(Succ(vyv3110), Succ(vyv3120)) -> new_primMinusNatS2(vyv3110, vyv3120) 214.29/145.88 new_primModNatS1(Succ(Zero), Succ(vyv292000)) -> Succ(Zero) 214.29/145.88 new_primModNatS1(Zero, vyv29200) -> Zero 214.29/145.88 new_primMinusNatS2(Zero, Zero) -> Zero 214.29/145.88 new_primMinusNatS2(Zero, Succ(vyv3120)) -> Zero 214.29/145.88 new_primMinusNatS2(Succ(vyv3110), Zero) -> Succ(vyv3110) 214.29/145.88 new_esEs(Neg(Succ(vyv24300))) -> new_primEqInt(Neg(Succ(vyv24300))) 214.29/145.88 new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) 214.29/145.88 new_primEqInt(Neg(Zero)) -> True 214.29/145.88 new_primEqInt(Neg(Succ(vyv242000))) -> False 214.29/145.88 214.29/145.88 The set Q consists of the following terms: 214.29/145.88 214.29/145.88 new_primModNatS01(x0, x1, Succ(x2), Zero) 214.29/145.88 new_primModNatS1(Succ(Succ(x0)), Zero) 214.29/145.88 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 214.29/145.88 new_primModNatS1(Zero, x0) 214.29/145.88 new_primModNatS02(x0, x1) 214.29/145.88 new_primMinusNatS2(Zero, Zero) 214.29/145.88 new_primModNatS1(Succ(Zero), Zero) 214.29/145.88 new_primMinusNatS2(Succ(x0), Zero) 214.29/145.88 new_primEqInt(Neg(Succ(x0))) 214.29/145.88 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 214.29/145.88 new_esEs(Neg(Succ(x0))) 214.29/145.88 new_primEqInt(Neg(Zero)) 214.29/145.88 new_primModNatS01(x0, x1, Zero, Zero) 214.29/145.88 new_primMinusNatS2(Zero, Succ(x0)) 214.29/145.88 new_primModNatS1(Succ(Zero), Succ(x0)) 214.29/145.88 new_primMinusNatS2(Succ(x0), Succ(x1)) 214.29/145.88 new_primModNatS01(x0, x1, Zero, Succ(x2)) 214.29/145.88 new_esEs(Neg(Zero)) 214.29/145.88 214.29/145.88 We have to consider all (P,Q,R)-chains. 214.29/145.88 ---------------------------------------- 214.29/145.88 214.29/145.88 (685) InductionCalculusProof (EQUIVALENT) 214.29/145.88 Note that final constraints are written in bold face. 214.29/145.88 214.29/145.88 214.29/145.88 214.29/145.88 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: 214.29/145.88 *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: 214.29/145.88 214.29/145.88 (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)))) 214.29/145.88 214.29/145.88 214.29/145.88 214.29/145.88 We simplified constraint (1) using rules (I), (II), (IV), (VII) which results in the following new constraint: 214.29/145.88 214.29/145.88 (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)))) 214.29/145.88 214.29/145.88 214.29/145.88 214.29/145.88 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: 214.29/145.88 214.29/145.88 (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)))) 214.29/145.88 214.29/145.88 (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))))) 214.29/145.88 214.29/145.88 (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)))) 214.29/145.88 214.29/145.88 (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))))) 214.29/145.88 214.29/145.88 214.29/145.88 214.29/145.88 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: 214.29/145.88 214.29/145.88 (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)))) 214.29/145.88 214.29/145.88 214.29/145.88 214.29/145.88 We simplified constraint (4) using rule (IV) which results in the following new constraint: 214.29/145.88 214.29/145.88 (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))))) 214.29/145.88 214.29/145.88 214.29/145.88 214.29/145.88 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: 214.29/145.88 214.29/145.88 (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)))) 214.29/145.88 214.29/145.88 214.29/145.88 214.29/145.88 We simplified constraint (6) using rules (I), (II), (III), (IV) which results in the following new constraint: 214.29/145.88 214.29/145.88 (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))))) 214.29/145.88 214.29/145.88 214.29/145.88 214.29/145.88 We simplified constraint (7) using rules (III), (IV), (VII) which results in the following new constraint: 214.29/145.88 214.29/145.88 (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)))) 214.29/145.88 214.29/145.88 214.29/145.88 214.29/145.88 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: 214.29/145.88 214.29/145.88 (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))))) 214.29/145.88 214.29/145.88 (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)))))) 214.29/145.88 214.29/145.88 (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))))) 214.29/145.88 214.29/145.88 (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)))))) 214.29/145.88 214.29/145.88 214.29/145.88 214.29/145.88 We simplified constraint (12) using rules (III), (IV) which results in the following new constraint: 214.29/145.88 214.29/145.88 (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))))) 214.29/145.88 214.29/145.88 214.29/145.88 214.29/145.88 We simplified constraint (13) using rules (III), (IV) which results in the following new constraint: 214.29/145.88 214.29/145.88 (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)))))) 214.29/145.88 214.29/145.88 214.29/145.88 214.29/145.88 We simplified constraint (14) using rules (III), (IV) which results in the following new constraint: 214.29/145.88 214.29/145.88 (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))))) 214.29/145.88 214.29/145.88 214.29/145.88 214.29/145.88 We simplified constraint (15) using rules (I), (II), (III), (IV) which results in the following new constraint: 214.29/145.88 214.29/145.88 (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)))))) 214.29/145.88 214.29/145.88 214.29/145.88 214.29/145.88 We simplified constraint (9) using rules (III), (IV), (VII) which results in the following new constraint: 214.29/145.88 214.29/145.88 (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)))) 214.29/145.88 214.29/145.88 214.29/145.88 214.29/145.88 214.29/145.88 214.29/145.88 214.29/145.88 214.29/145.88 214.29/145.88 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: 214.29/145.88 *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: 214.29/145.88 214.29/145.88 (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))))))) 214.29/145.88 214.29/145.88 214.29/145.88 214.29/145.88 We simplified constraint (1) using rules (I), (II), (IV), (VII) which results in the following new constraint: 214.29/145.88 214.29/145.88 (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))))))) 214.29/145.88 214.29/145.88 214.29/145.88 214.29/145.88 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: 214.29/145.88 214.29/145.88 (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))))))) 214.29/145.88 214.29/145.88 (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))))))) 214.29/145.88 214.29/145.88 214.29/145.88 214.29/145.88 We simplified constraint (3) using rules (I), (II), (VII) which results in the following new constraint: 214.29/145.88 214.29/145.88 (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))))))) 214.29/145.88 214.29/145.88 214.29/145.88 214.29/145.88 We simplified constraint (4) using rules (I), (II), (VII) which results in the following new constraint: 214.29/145.88 214.29/145.88 (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))))))) 214.29/145.88 214.29/145.88 214.29/145.88 214.29/145.88 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: 214.29/145.88 214.29/145.88 (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))))))) 214.29/145.88 214.29/145.88 214.29/145.88 214.29/145.88 We simplified constraint (7) using rules (I), (II), (IV) which results in the following new constraint: 214.29/145.88 214.29/145.88 (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))))))) 214.29/145.88 214.29/145.88 214.29/145.88 214.29/145.88 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: 214.29/145.88 214.29/145.88 (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))))))) 214.29/145.88 214.29/145.88 (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)))))))) 214.29/145.88 214.29/145.88 (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)))))))) 214.29/145.88 214.29/145.88 (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))))))) 214.29/145.88 214.29/145.88 214.29/145.88 214.29/145.88 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: 214.29/145.88 214.29/145.88 (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))))))) 214.29/145.88 214.29/145.88 214.29/145.88 214.29/145.88 We simplified constraint (10) using rule (IV) which results in the following new constraint: 214.29/145.88 214.29/145.88 (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)))))))) 214.29/145.88 214.29/145.88 214.29/145.88 214.29/145.88 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: 214.29/145.88 214.29/145.88 (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)))))))) 214.29/145.88 214.29/145.88 214.29/145.88 214.29/145.88 We simplified constraint (12) using rules (I), (II), (IV) which results in the following new constraint: 214.29/145.88 214.29/145.88 (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))))))) 214.29/145.88 214.29/145.88 214.29/145.88 214.29/145.88 We simplified constraint (13) using rules (III), (IV), (VII) which results in the following new constraint: 214.29/145.88 214.29/145.88 (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))))))) 214.29/145.88 214.29/145.88 214.29/145.88 214.29/145.88 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: 214.29/145.88 214.29/145.88 (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)))))))) 214.29/145.88 214.29/145.88 (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))))))))) 214.29/145.88 214.29/145.88 (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))))))))) 214.29/145.88 214.29/145.88 (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)))))))) 214.29/145.88 214.29/145.88 214.29/145.88 214.29/145.88 We simplified constraint (18) using rules (III), (IV) which results in the following new constraint: 214.29/145.88 214.29/145.88 (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)))))))) 214.29/145.88 214.29/145.88 214.29/145.88 214.29/145.88 We simplified constraint (19) using rules (III), (IV) which results in the following new constraint: 214.29/145.88 214.29/145.88 (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))))))))) 214.29/145.88 214.29/145.88 214.29/145.88 214.29/145.88 We simplified constraint (20) using rules (III), (IV) which results in the following new constraint: 214.29/145.88 214.29/145.88 (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))))))))) 214.29/145.88 214.29/145.88 214.29/145.88 214.29/145.88 We simplified constraint (21) using rules (I), (II), (IV) which results in the following new constraint: 214.29/145.88 214.29/145.88 (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)))))))) 214.29/145.88 214.29/145.88 214.29/145.88 214.29/145.88 We simplified constraint (15) using rules (III), (IV), (VII) which results in the following new constraint: 214.29/145.88 214.29/145.88 (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)))))))) 214.29/145.88 214.29/145.88 214.29/145.88 214.29/145.88 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: 214.29/145.88 214.29/145.88 (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))))))) 214.29/145.88 214.29/145.88 214.29/145.88 214.29/145.88 We solved constraint (27) using rules (I), (II). 214.29/145.88 214.29/145.88 214.29/145.88 214.29/145.88 214.29/145.88 To summarize, we get the following constraints P__>=_ for the following pairs. 214.29/145.88 214.29/145.88 *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))) 214.29/145.88 214.29/145.88 *(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)))))) 214.29/145.88 214.29/145.88 214.29/145.88 *(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))))) 214.29/145.88 214.29/145.88 214.29/145.88 *(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)))) 214.29/145.88 214.29/145.88 214.29/145.88 *(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))))) 214.29/145.88 214.29/145.88 214.29/145.88 *(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)))))) 214.29/145.88 214.29/145.88 214.29/145.88 *(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))))) 214.29/145.88 214.29/145.88 214.29/145.88 *(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)))) 214.29/145.88 214.29/145.88 214.29/145.88 214.29/145.88 214.29/145.88 *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)))))) 214.29/145.88 214.29/145.88 *(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)))))))) 214.29/145.88 214.29/145.88 214.29/145.88 *(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))))))) 214.29/145.88 214.29/145.88 214.29/145.88 *(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))))))) 214.29/145.88 214.29/145.88 214.29/145.88 *(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)))))))) 214.29/145.88 214.29/145.88 214.29/145.88 *(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))))))))) 214.29/145.88 214.29/145.88 214.29/145.88 *(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))))))))) 214.29/145.88 214.29/145.88 214.29/145.88 *(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)))))))) 214.29/145.88 214.29/145.88 214.29/145.88 214.29/145.88 214.29/145.88 214.29/145.88 214.29/145.88 214.29/145.88 214.29/145.88 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. 214.29/145.88 ---------------------------------------- 214.29/145.88 214.29/145.88 (686) 214.29/145.88 Obligation: 214.29/145.88 Q DP problem: 214.29/145.88 The TRS P consists of the following rules: 214.29/145.88 214.29/145.88 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))) 214.29/145.88 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)))))) 214.29/145.88 214.29/145.88 The TRS R consists of the following rules: 214.29/145.88 214.29/145.88 new_primModNatS1(Succ(Succ(vyv293000)), Succ(vyv292000)) -> new_primModNatS01(vyv293000, vyv292000, vyv293000, vyv292000) 214.29/145.88 new_primModNatS01(vyv331, vyv332, Zero, Zero) -> new_primModNatS02(vyv331, vyv332) 214.29/145.88 new_primModNatS02(vyv331, vyv332) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv331), Succ(vyv332)), Succ(vyv332)) 214.29/145.88 new_primModNatS01(vyv331, vyv332, Succ(vyv3330), Succ(vyv3340)) -> new_primModNatS01(vyv331, vyv332, vyv3330, vyv3340) 214.29/145.88 new_primModNatS01(vyv331, vyv332, Succ(vyv3330), Zero) -> new_primModNatS02(vyv331, vyv332) 214.29/145.88 new_primModNatS01(vyv331, vyv332, Zero, Succ(vyv3340)) -> Succ(Succ(vyv331)) 214.29/145.88 new_primMinusNatS2(Succ(vyv3110), Succ(vyv3120)) -> new_primMinusNatS2(vyv3110, vyv3120) 214.29/145.88 new_primModNatS1(Succ(Zero), Succ(vyv292000)) -> Succ(Zero) 214.29/145.88 new_primModNatS1(Zero, vyv29200) -> Zero 214.29/145.88 new_primMinusNatS2(Zero, Zero) -> Zero 214.29/145.88 new_primMinusNatS2(Zero, Succ(vyv3120)) -> Zero 214.29/145.88 new_primMinusNatS2(Succ(vyv3110), Zero) -> Succ(vyv3110) 214.29/145.88 new_esEs(Neg(Succ(vyv24300))) -> new_primEqInt(Neg(Succ(vyv24300))) 214.29/145.88 new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) 214.29/145.88 new_primEqInt(Neg(Zero)) -> True 214.29/145.88 new_primEqInt(Neg(Succ(vyv242000))) -> False 214.29/145.88 214.29/145.88 The set Q consists of the following terms: 214.29/145.88 214.29/145.88 new_primModNatS01(x0, x1, Succ(x2), Zero) 214.29/145.88 new_primModNatS1(Succ(Succ(x0)), Zero) 214.29/145.88 new_primEqInt(Pos(Zero)) 214.29/145.88 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 214.29/145.88 new_esEs(Pos(Succ(x0))) 214.29/145.88 new_primModNatS1(Zero, x0) 214.29/145.88 new_primModNatS02(x0, x1) 214.29/145.88 new_primMinusNatS2(Zero, Zero) 214.29/145.88 new_primModNatS1(Succ(Zero), Zero) 214.29/145.88 new_primMinusNatS2(Succ(x0), Zero) 214.29/145.88 new_esEs(Pos(Zero)) 214.29/145.88 new_primEqInt(Neg(Succ(x0))) 214.29/145.88 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 214.29/145.88 new_esEs(Neg(Succ(x0))) 214.29/145.88 new_primEqInt(Neg(Zero)) 214.29/145.88 new_primModNatS01(x0, x1, Zero, Zero) 214.29/145.88 new_primEqInt(Pos(Succ(x0))) 214.29/145.88 new_primMinusNatS2(Zero, Succ(x0)) 214.29/145.88 new_primModNatS1(Succ(Zero), Succ(x0)) 214.29/145.88 new_primMinusNatS2(Succ(x0), Succ(x1)) 214.29/145.88 new_primModNatS01(x0, x1, Zero, Succ(x2)) 214.29/145.88 new_esEs(Neg(Zero)) 214.29/145.88 214.29/145.88 We have to consider all minimal (P,Q,R)-chains. 214.29/145.88 ---------------------------------------- 214.29/145.88 214.29/145.88 (687) 214.29/145.88 Obligation: 214.29/145.88 Q DP problem: 214.29/145.88 The TRS P consists of the following rules: 214.29/145.88 214.29/145.88 new_pr2F0G10(vyv249, vyv250, vyv251, Succ(Succ(vyv25200)), bb) -> new_pr2F0G10(vyv249, vyv250, vyv251, vyv25200, bb) 214.29/145.88 new_pr2F0(vyv184, Neg(Zero), vyv188, h) -> new_pr2F0G(vyv188, new_sr0(vyv184, h), new_primQuotInt0(Zero, new_fromInt0), h) 214.29/145.88 new_pr2F0G11(vyv239, vyv240, vyv241, bc) -> new_pr2F1(vyv240, vyv241, new_fromInt, vyv239, bc) 214.29/145.88 new_pr2F0G(vyv188, vyv184, Neg(Succ(Zero)), h) -> new_pr2F0G11(vyv188, vyv184, Zero, h) 214.29/145.88 new_pr2F0G(vyv188, vyv184, Neg(Zero), h) -> new_pr2F0G(vyv188, new_sr0(vyv184, h), new_primQuotInt0(Zero, new_fromInt0), h) 214.29/145.88 new_pr2F0G10(vyv249, vyv250, vyv251, Zero, bb) -> new_pr2F0G(vyv249, new_sr3(vyv250, bb), new_primQuotInt0(Succ(vyv251), new_fromInt0), bb) 214.29/145.88 new_pr2F0G(vyv188, vyv184, Pos(Succ(Succ(vyv223000))), h) -> new_pr2F0G1(vyv188, vyv184, Succ(vyv223000), vyv223000, h) 214.29/145.88 new_pr2F0(vyv184, Pos(Succ(Zero)), vyv188, h) -> new_pr2F(vyv184, Zero, new_fromInt, vyv188, h) 214.29/145.88 new_pr2F0G1(vyv227, vyv228, vyv229, Succ(Zero), ba) -> new_pr2F(vyv228, vyv229, new_fromInt, vyv227, ba) 214.29/145.88 new_pr2F0(vyv184, Neg(Succ(Succ(vyv223000))), vyv188, h) -> new_pr2F0G10(vyv188, vyv184, Succ(vyv223000), vyv223000, h) 214.29/145.88 new_pr2F0(vyv184, Neg(Succ(Zero)), vyv188, h) -> new_pr2F0G11(vyv188, vyv184, Zero, h) 214.29/145.88 new_pr2F0G10(vyv249, vyv250, vyv251, Succ(Zero), bb) -> new_pr2F0G11(vyv249, vyv250, vyv251, bb) 214.29/145.88 new_pr2F0G(vyv188, vyv184, Pos(Succ(Zero)), h) -> new_pr2F(vyv184, Zero, new_fromInt, vyv188, h) 214.29/145.88 new_pr2F0G(vyv188, vyv184, Pos(Zero), h) -> new_pr2F0G(vyv188, new_sr(vyv184, h), new_primQuotInt(Zero, new_fromInt0), h) 214.29/145.88 new_pr2F0G(vyv188, vyv184, Neg(Succ(Succ(vyv223000))), h) -> new_pr2F0G10(vyv188, vyv184, Succ(vyv223000), vyv223000, h) 214.29/145.88 new_pr2F3(False, vyv228, vyv229, vyv245, vyv227, ba) -> new_pr2F0(vyv228, new_ms(vyv229, vyv245), new_sr2(vyv228, vyv227, ba), ba) 214.29/145.88 new_pr2F0(vyv184, Pos(Succ(Succ(vyv223000))), vyv188, h) -> new_pr2F0G1(vyv188, vyv184, Succ(vyv223000), vyv223000, h) 214.29/145.88 new_pr2F0G1(vyv227, vyv228, vyv229, Zero, ba) -> new_pr2F0G(vyv227, new_sr1(vyv228, ba), new_primQuotInt(Succ(vyv229), new_fromInt0), ba) 214.29/145.88 new_pr2F1(vyv240, vyv241, vyv244, vyv239, bc) -> new_pr2F30(new_esEs(new_ms0(vyv241, vyv244)), vyv240, vyv241, vyv244, vyv239, bc) 214.29/145.88 new_pr2F(vyv228, vyv229, vyv245, vyv227, ba) -> new_pr2F3(new_esEs(new_ms(vyv229, vyv245)), vyv228, vyv229, vyv245, vyv227, ba) 214.29/145.88 new_pr2F0G1(vyv227, vyv228, vyv229, Succ(Succ(vyv23000)), ba) -> new_pr2F0G1(vyv227, vyv228, vyv229, vyv23000, ba) 214.29/145.88 new_pr2F30(False, vyv240, vyv241, vyv244, vyv239, bc) -> new_pr2F0(vyv240, new_ms0(vyv241, vyv244), new_sr4(vyv240, vyv239, bc), bc) 214.29/145.88 new_pr2F0(vyv184, Pos(Zero), vyv188, h) -> new_pr2F0G(vyv188, new_sr(vyv184, h), new_primQuotInt(Zero, new_fromInt0), h) 214.29/145.88 214.29/145.88 The TRS R consists of the following rules: 214.29/145.88 214.29/145.88 new_sr1(vyv228, ty_Double) -> new_sr11(vyv228) 214.29/145.88 new_quot1(vyv267, vyv268, vyv265, vyv266, ty_Int) -> new_quot(new_sr10(vyv267, vyv268), new_sr10(vyv265, vyv266), new_sr10(vyv267, vyv268)) 214.29/145.88 new_primPlusNat0(Zero, Zero) -> Zero 214.29/145.88 new_abs(Neg(Zero)) -> Neg(Zero) 214.29/145.88 new_sr(vyv184, ty_Double) -> new_sr11(vyv184) 214.29/145.88 new_primDivNatS1(Zero, vyv28500) -> Zero 214.29/145.88 new_sr1(vyv228, ty_Float) -> new_sr12(vyv228) 214.29/145.88 new_quot0(vyv265, vyv266, vyv267, vyv268, ty_Integer) -> new_quot2(new_sr9(vyv265, vyv266), new_sr9(vyv265, vyv266), new_sr9(vyv267, vyv268)) 214.29/145.88 new_sr11(vyv184) -> error([]) 214.29/145.88 new_sr(vyv184, app(ty_Ratio, bd)) -> new_sr5(vyv184, bd) 214.29/145.88 new_primDivNatS01(vyv311, vyv312, Succ(vyv3130), Zero) -> new_primDivNatS02(vyv311, vyv312) 214.29/145.88 new_primDivNatS1(Succ(Succ(vyv271000)), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS0(vyv271000), Zero)) 214.29/145.88 new_primMinusNatS2(Zero, Succ(vyv3120)) -> Zero 214.29/145.88 new_sr1(vyv228, app(ty_Ratio, bg)) -> new_sr5(vyv228, bg) 214.29/145.88 new_primMinusNat0(Succ(vyv2290), Succ(vyv245000)) -> new_primMinusNat0(vyv2290, vyv245000) 214.29/145.88 new_primEqInt(Pos(Succ(vyv242000))) -> False 214.29/145.88 new_sr(vyv184, ty_Float) -> new_sr12(vyv184) 214.29/145.88 new_sr2(vyv228, vyv227, ty_Integer) -> new_sr9(vyv228, vyv227) 214.29/145.88 new_ms(vyv229, Neg(vyv2450)) -> Pos(new_primPlusNat0(Succ(vyv229), vyv2450)) 214.29/145.88 new_gcd1(True, vyv273, vyv272) -> new_error 214.29/145.88 new_abs(Neg(Succ(vyv27200))) -> Pos(Succ(vyv27200)) 214.29/145.88 new_primMulNat1(Succ(vyv18400)) -> new_primPlusNat0(new_primMulNat2(vyv18400), Succ(vyv18400)) 214.29/145.88 new_esEs0(vyv1841, ty_Int) -> new_esEs(new_sr7(vyv1841)) 214.29/145.88 new_sr2(vyv228, vyv227, ty_Int) -> new_sr10(vyv228, vyv227) 214.29/145.88 new_sr0(vyv184, ty_Double) -> new_sr11(vyv184) 214.29/145.88 new_sr12(vyv184) -> error([]) 214.29/145.88 new_primMinusNatS1 -> Zero 214.29/145.88 new_ms(vyv229, Pos(Succ(vyv24500))) -> new_primMinusNat0(vyv229, vyv24500) 214.29/145.88 new_primMinusNatS2(Succ(vyv3110), Zero) -> Succ(vyv3110) 214.29/145.88 new_sr3(vyv250, ty_Double) -> new_sr11(vyv250) 214.29/145.88 new_primDivNatS01(vyv311, vyv312, Zero, Succ(vyv3140)) -> Zero 214.29/145.88 new_gcd0Gcd'10(True, vyv292, vyv293) -> vyv292 214.29/145.88 new_primPlusNat0(Succ(vyv4000), Succ(vyv6000)) -> Succ(Succ(new_primPlusNat0(vyv4000, vyv6000))) 214.29/145.88 new_sr5(:%(vyv1840, vyv1841), bd) -> new_reduce2Reduce1(vyv1840, vyv1840, vyv1841, vyv1841, new_esEs0(vyv1841, bd), bd) 214.29/145.88 new_primMulNat2(Succ(vyv184000)) -> new_primPlusNat0(new_primMulNat3(vyv184000), Succ(Succ(vyv184000))) 214.29/145.88 new_primDivNatS02(vyv311, vyv312) -> Succ(new_primDivNatS1(new_primMinusNatS2(vyv311, vyv312), Succ(vyv312))) 214.29/145.88 new_sr2(vyv228, vyv227, app(ty_Ratio, bg)) -> new_sr8(vyv228, vyv227, bg) 214.29/145.88 new_sr3(vyv250, ty_Int) -> new_sr7(vyv250) 214.29/145.88 new_gcd1(False, vyv273, vyv272) -> new_gcd0(vyv273, vyv272) 214.29/145.88 new_reduce2Reduce1(vyv265, vyv266, vyv267, vyv268, False, bh) -> :%(new_quot0(vyv265, vyv266, vyv267, vyv268, bh), new_quot1(vyv267, vyv268, vyv265, vyv266, bh)) 214.29/145.88 new_primDivNatS1(Succ(Zero), Succ(vyv285000)) -> Zero 214.29/145.88 new_primMulNat4(Succ(vyv18400000)) -> new_primPlusNat0(new_primMulNat0(vyv18400000, Succ(Succ(Succ(Succ(vyv18400000))))), Succ(Succ(Succ(Succ(vyv18400000))))) 214.29/145.88 new_primModNatS1(Succ(Succ(vyv293000)), Succ(vyv292000)) -> new_primModNatS01(vyv293000, vyv292000, vyv293000, vyv292000) 214.29/145.88 new_primModNatS01(vyv331, vyv332, Zero, Succ(vyv3340)) -> Succ(Succ(vyv331)) 214.29/145.88 new_gcd0Gcd'00(vyv293, vyv292) -> new_gcd0Gcd'10(new_esEs(new_rem(vyv293, vyv292)), vyv292, vyv293) 214.29/145.88 new_esEs2(vyv2401, vyv2391, ty_Integer) -> new_esEs1(new_sr9(vyv2401, vyv2391)) 214.29/145.88 new_sr10(Pos(vyv2400), Pos(vyv2390)) -> Pos(new_primMulNat0(vyv2400, vyv2390)) 214.29/145.88 new_esEs0(vyv1841, ty_Integer) -> new_esEs1(new_sr6(vyv1841)) 214.29/145.88 new_quot(Pos(vyv2710), vyv273, vyv272) -> new_primQuotInt(vyv2710, new_gcd(vyv273, vyv272)) 214.29/145.88 new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) 214.29/145.88 new_gcd0Gcd'10(False, vyv292, vyv293) -> new_gcd0Gcd'00(vyv292, new_rem(vyv293, vyv292)) 214.29/145.88 new_sr6(vyv184) -> error([]) 214.29/145.88 new_esEs2(vyv2401, vyv2391, ty_Int) -> new_esEs(new_sr10(vyv2401, vyv2391)) 214.29/145.88 new_esEs(Pos(Succ(vyv24300))) -> new_primEqInt(Pos(Succ(vyv24300))) 214.29/145.88 new_quot0(vyv265, vyv266, vyv267, vyv268, ty_Int) -> new_quot(new_sr10(vyv265, vyv266), new_sr10(vyv265, vyv266), new_sr10(vyv267, vyv268)) 214.29/145.88 new_ms(vyv229, Pos(Zero)) -> Pos(Succ(vyv229)) 214.29/145.88 new_sr3(vyv250, ty_Float) -> new_sr12(vyv250) 214.29/145.88 new_gcd0Gcd'11(True, vyv273, vyv272) -> new_abs(vyv273) 214.29/145.88 new_primMinusNat0(Zero, Zero) -> Pos(Zero) 214.29/145.88 new_primModNatS01(vyv331, vyv332, Zero, Zero) -> new_primModNatS02(vyv331, vyv332) 214.29/145.88 new_sr9(vyv240, vyv239) -> error([]) 214.29/145.88 new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) 214.29/145.88 new_rem(Pos(vyv2930), Neg(Zero)) -> new_error 214.29/145.88 new_rem(Neg(vyv2930), Pos(Zero)) -> new_error 214.29/145.88 new_primModNatS01(vyv331, vyv332, Succ(vyv3330), Zero) -> new_primModNatS02(vyv331, vyv332) 214.29/145.88 new_primModNatS02(vyv331, vyv332) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv331), Succ(vyv332)), Succ(vyv332)) 214.29/145.88 new_rem(Pos(vyv2930), Neg(Succ(vyv29200))) -> Pos(new_primModNatS1(vyv2930, vyv29200)) 214.29/145.88 new_primMulNat0(Succ(vyv24000), Zero) -> Zero 214.29/145.88 new_primMulNat0(Zero, Succ(vyv23900)) -> Zero 214.29/145.88 new_quot(Neg(vyv2710), vyv273, vyv272) -> new_primQuotInt0(vyv2710, new_gcd(vyv273, vyv272)) 214.29/145.88 new_primQuotInt0(vyv2710, Neg(Zero)) -> new_error 214.29/145.88 new_sr0(vyv184, ty_Float) -> new_sr12(vyv184) 214.29/145.88 new_primQuotInt(vyv2710, Neg(Zero)) -> new_error 214.29/145.88 new_sr13(vyv240, vyv239) -> error([]) 214.29/145.88 new_rem(Neg(vyv2930), Pos(Succ(vyv29200))) -> Neg(new_primModNatS1(vyv2930, vyv29200)) 214.29/145.88 new_sr4(vyv240, vyv239, app(ty_Ratio, be)) -> new_sr8(vyv240, vyv239, be) 214.29/145.88 new_primMulNat4(Zero) -> Zero 214.29/145.88 new_primDivNatS01(vyv311, vyv312, Succ(vyv3130), Succ(vyv3140)) -> new_primDivNatS01(vyv311, vyv312, vyv3130, vyv3140) 214.29/145.88 new_primPlusNat0(Succ(vyv4000), Zero) -> Succ(vyv4000) 214.29/145.88 new_primPlusNat0(Zero, Succ(vyv6000)) -> Succ(vyv6000) 214.29/145.88 new_primMulNat0(Zero, Zero) -> Zero 214.29/145.88 new_primQuotInt(vyv2710, Pos(Succ(vyv28500))) -> Pos(new_primDivNatS1(vyv2710, vyv28500)) 214.29/145.88 new_gcd0(vyv273, vyv272) -> new_gcd0Gcd'11(new_esEs(new_abs(vyv272)), vyv273, vyv272) 214.29/145.88 new_sr(vyv184, ty_Int) -> new_sr7(vyv184) 214.29/145.88 new_primMulNat3(Succ(vyv1840000)) -> new_primPlusNat0(new_primMulNat4(vyv1840000), Succ(Succ(Succ(vyv1840000)))) 214.29/145.88 new_esEs(Neg(Succ(vyv24300))) -> new_primEqInt(Neg(Succ(vyv24300))) 214.29/145.88 new_esEs1(Integer(vyv2700)) -> new_primEqInt(vyv2700) 214.29/145.88 new_sr8(:%(vyv2400, vyv2401), :%(vyv2390, vyv2391), be) -> new_reduce2Reduce1(vyv2400, vyv2390, vyv2401, vyv2391, new_esEs2(vyv2401, vyv2391, be), be) 214.29/145.88 new_sr0(vyv184, ty_Int) -> new_sr7(vyv184) 214.29/145.88 new_sr7(Pos(vyv1840)) -> Pos(new_primMulNat1(vyv1840)) 214.29/145.88 new_primMulNat0(Succ(vyv24000), Succ(vyv23900)) -> new_primPlusNat0(new_primMulNat0(vyv24000, Succ(vyv23900)), Succ(vyv23900)) 214.29/145.88 new_sr1(vyv228, ty_Integer) -> new_sr6(vyv228) 214.29/145.88 new_primQuotInt(vyv2710, Pos(Zero)) -> new_error 214.29/145.88 new_rem(Pos(vyv2930), Pos(Succ(vyv29200))) -> Pos(new_primModNatS1(vyv2930, vyv29200)) 214.29/145.88 new_gcd0Gcd'11(False, vyv273, vyv272) -> new_gcd0Gcd'00(new_abs(vyv273), new_abs(vyv272)) 214.29/145.88 new_abs(Pos(Succ(vyv27200))) -> Pos(Succ(vyv27200)) 214.29/145.88 new_primEqInt(Pos(Zero)) -> True 214.29/145.88 new_primMulNat1(Zero) -> Zero 214.29/145.88 new_sr3(vyv250, ty_Integer) -> new_sr6(vyv250) 214.29/145.88 new_gcd(vyv273, vyv272) -> new_gcd2(new_esEs(vyv273), vyv273, vyv272) 214.29/145.88 new_rem(Neg(vyv2930), Neg(Zero)) -> new_error 214.29/145.88 new_gcd2(True, vyv273, vyv272) -> new_gcd1(new_esEs(vyv272), vyv273, vyv272) 214.29/145.88 new_sr(vyv184, ty_Integer) -> new_sr6(vyv184) 214.29/145.88 new_primMinusNat0(Zero, Succ(vyv245000)) -> Neg(Succ(vyv245000)) 214.29/145.88 new_primQuotInt0(vyv2710, Pos(Succ(vyv28800))) -> Neg(new_primDivNatS1(vyv2710, vyv28800)) 214.29/145.88 new_ms0(vyv241, Neg(Zero)) -> Neg(Succ(vyv241)) 214.29/145.88 new_sr10(Neg(vyv2400), Neg(vyv2390)) -> Pos(new_primMulNat0(vyv2400, vyv2390)) 214.29/145.88 new_sr4(vyv240, vyv239, ty_Float) -> new_sr14(vyv240, vyv239) 214.29/145.88 new_sr1(vyv228, ty_Int) -> new_sr7(vyv228) 214.29/145.88 new_fromInt -> Pos(Succ(Zero)) 214.29/145.88 new_primDivNatS1(Succ(Succ(vyv271000)), Succ(vyv285000)) -> new_primDivNatS01(vyv271000, vyv285000, vyv271000, vyv285000) 214.29/145.88 new_abs(Pos(Zero)) -> Pos(Zero) 214.29/145.88 new_sr7(Neg(vyv1840)) -> Pos(new_primMulNat1(vyv1840)) 214.29/145.88 new_primMulNat2(Zero) -> Zero 214.29/145.88 new_sr10(Pos(vyv2400), Neg(vyv2390)) -> Neg(new_primMulNat0(vyv2400, vyv2390)) 214.29/145.88 new_sr10(Neg(vyv2400), Pos(vyv2390)) -> Neg(new_primMulNat0(vyv2400, vyv2390)) 214.29/145.88 new_primMinusNat0(Succ(vyv2290), Zero) -> Pos(Succ(vyv2290)) 214.29/145.88 new_primModNatS01(vyv331, vyv332, Succ(vyv3330), Succ(vyv3340)) -> new_primModNatS01(vyv331, vyv332, vyv3330, vyv3340) 214.29/145.88 new_primModNatS1(Succ(Succ(vyv293000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv293000), Zero) 214.29/145.88 new_reduce2Reduce1(vyv265, vyv266, vyv267, vyv268, True, bh) -> error([]) 214.29/145.88 new_primModNatS1(Succ(Zero), Succ(vyv292000)) -> Succ(Zero) 214.29/145.88 new_primMinusNatS2(Zero, Zero) -> Zero 214.29/145.88 new_primEqInt(Neg(Zero)) -> True 214.29/145.88 new_primQuotInt(vyv2710, Neg(Succ(vyv28500))) -> Neg(new_primDivNatS1(vyv2710, vyv28500)) 214.29/145.88 new_primMinusNatS2(Succ(vyv3110), Succ(vyv3120)) -> new_primMinusNatS2(vyv3110, vyv3120) 214.29/145.88 new_primMinusNatS0(vyv271000) -> Succ(vyv271000) 214.29/145.88 new_primMulNat3(Zero) -> Zero 214.29/145.88 new_ms0(vyv241, Pos(vyv2440)) -> Neg(new_primPlusNat0(Succ(vyv241), vyv2440)) 214.29/145.88 new_primQuotInt0(vyv2710, Neg(Succ(vyv28800))) -> Pos(new_primDivNatS1(vyv2710, vyv28800)) 214.29/145.88 new_sr2(vyv228, vyv227, ty_Double) -> new_sr13(vyv228, vyv227) 214.29/145.88 new_sr14(vyv240, vyv239) -> error([]) 214.29/145.88 new_rem(Neg(vyv2930), Neg(Succ(vyv29200))) -> Neg(new_primModNatS1(vyv2930, vyv29200)) 214.29/145.88 new_primModNatS1(Zero, vyv29200) -> Zero 214.29/145.88 new_primDivNatS1(Succ(Zero), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS1, Zero)) 214.29/145.88 new_sr3(vyv250, app(ty_Ratio, bf)) -> new_sr5(vyv250, bf) 214.29/145.88 new_quot2(vyv274, vyv276, vyv275) -> error([]) 214.29/145.88 new_error -> error([]) 214.29/145.88 new_primEqInt(Neg(Succ(vyv242000))) -> False 214.29/145.88 new_sr4(vyv240, vyv239, ty_Int) -> new_sr10(vyv240, vyv239) 214.29/145.88 new_fromInt0 -> Pos(Succ(Succ(Zero))) 214.29/145.88 new_sr4(vyv240, vyv239, ty_Double) -> new_sr13(vyv240, vyv239) 214.29/145.88 new_gcd2(False, vyv273, vyv272) -> new_gcd0(vyv273, vyv272) 214.29/145.88 new_sr4(vyv240, vyv239, ty_Integer) -> new_sr9(vyv240, vyv239) 214.29/145.88 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 214.29/145.88 new_primDivNatS01(vyv311, vyv312, Zero, Zero) -> new_primDivNatS02(vyv311, vyv312) 214.29/145.88 new_ms0(vyv241, Neg(Succ(vyv24400))) -> new_primMinusNat0(vyv24400, vyv241) 214.29/145.88 new_quot1(vyv267, vyv268, vyv265, vyv266, ty_Integer) -> new_quot2(new_sr9(vyv267, vyv268), new_sr9(vyv265, vyv266), new_sr9(vyv267, vyv268)) 214.29/145.88 new_sr0(vyv184, app(ty_Ratio, bd)) -> new_sr5(vyv184, bd) 214.29/145.88 new_primQuotInt0(vyv2710, Pos(Zero)) -> new_error 214.29/145.88 new_sr0(vyv184, ty_Integer) -> new_sr6(vyv184) 214.29/145.88 new_sr2(vyv228, vyv227, ty_Float) -> new_sr14(vyv228, vyv227) 214.29/145.88 new_rem(Pos(vyv2930), Pos(Zero)) -> new_error 214.29/145.88 214.29/145.88 The set Q consists of the following terms: 214.29/145.88 214.29/145.88 new_sr13(x0, x1) 214.29/145.88 new_primDivNatS01(x0, x1, Zero, Zero) 214.29/145.88 new_gcd0Gcd'11(False, x0, x1) 214.29/145.88 new_primMulNat4(Zero) 214.29/145.88 new_gcd0Gcd'11(True, x0, x1) 214.29/145.88 new_sr2(x0, x1, ty_Float) 214.29/145.88 new_sr5(:%(x0, x1), x2) 214.29/145.88 new_primEqInt(Pos(Zero)) 214.29/145.88 new_ms(x0, Neg(x1)) 214.29/145.88 new_sr2(x0, x1, ty_Double) 214.29/145.88 new_esEs(Pos(Succ(x0))) 214.29/145.88 new_primQuotInt0(x0, Neg(Zero)) 214.29/145.88 new_primMulNat3(Zero) 214.29/145.88 new_primModNatS02(x0, x1) 214.29/145.88 new_sr(x0, ty_Double) 214.29/145.88 new_sr0(x0, ty_Double) 214.29/145.88 new_primDivNatS1(Succ(Zero), Zero) 214.29/145.88 new_primMinusNatS0(x0) 214.29/145.88 new_sr11(x0) 214.29/145.88 new_sr0(x0, app(ty_Ratio, x1)) 214.29/145.88 new_rem(Pos(x0), Neg(Succ(x1))) 214.29/145.88 new_rem(Neg(x0), Pos(Succ(x1))) 214.29/145.88 new_primMulNat0(Zero, Zero) 214.29/145.88 new_primPlusNat0(Succ(x0), Zero) 214.29/145.88 new_fromInt0 214.29/145.88 new_primMulNat0(Succ(x0), Zero) 214.29/145.88 new_sr3(x0, ty_Float) 214.29/145.88 new_fromInt 214.29/145.88 new_primMulNat2(Zero) 214.29/145.88 new_primQuotInt(x0, Pos(Zero)) 214.29/145.88 new_primMulNat2(Succ(x0)) 214.29/145.88 new_primQuotInt(x0, Neg(Zero)) 214.29/145.88 new_rem(Neg(x0), Neg(Succ(x1))) 214.29/145.88 new_primMinusNatS2(Zero, Succ(x0)) 214.29/145.88 new_sr(x0, ty_Int) 214.29/145.88 new_sr4(x0, x1, ty_Double) 214.29/145.88 new_primMulNat3(Succ(x0)) 214.29/145.88 new_sr0(x0, ty_Float) 214.29/145.88 new_esEs1(Integer(x0)) 214.29/145.88 new_primQuotInt0(x0, Pos(Zero)) 214.29/145.88 new_gcd2(True, x0, x1) 214.29/145.88 new_quot1(x0, x1, x2, x3, ty_Int) 214.29/145.88 new_primDivNatS1(Zero, x0) 214.29/145.88 new_primMinusNat0(Zero, Zero) 214.29/145.88 new_gcd(x0, x1) 214.29/145.88 new_gcd1(False, x0, x1) 214.29/145.88 new_esEs2(x0, x1, ty_Int) 214.29/145.88 new_sr3(x0, ty_Integer) 214.29/145.88 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 214.29/145.88 new_sr1(x0, app(ty_Ratio, x1)) 214.29/145.88 new_sr1(x0, ty_Float) 214.29/145.88 new_primPlusNat0(Zero, Succ(x0)) 214.29/145.88 new_sr8(:%(x0, x1), :%(x2, x3), x4) 214.29/145.88 new_abs(Neg(Zero)) 214.29/145.88 new_primMinusNatS2(Succ(x0), Zero) 214.29/145.88 new_error 214.29/145.88 new_primModNatS1(Succ(Zero), Zero) 214.29/145.88 new_primMulNat4(Succ(x0)) 214.29/145.88 new_sr1(x0, ty_Integer) 214.29/145.88 new_primDivNatS02(x0, x1) 214.29/145.88 new_sr1(x0, ty_Int) 214.29/145.88 new_rem(Neg(x0), Neg(Zero)) 214.29/145.88 new_primMinusNat0(Zero, Succ(x0)) 214.29/145.88 new_primEqInt(Neg(Zero)) 214.29/145.88 new_rem(Pos(x0), Pos(Succ(x1))) 214.29/145.88 new_abs(Pos(Succ(x0))) 214.29/145.88 new_primMulNat0(Succ(x0), Succ(x1)) 214.29/145.88 new_primMulNat0(Zero, Succ(x0)) 214.29/145.88 new_reduce2Reduce1(x0, x1, x2, x3, True, x4) 214.29/145.88 new_sr(x0, ty_Float) 214.29/145.88 new_gcd0Gcd'10(False, x0, x1) 214.29/145.88 new_sr12(x0) 214.29/145.88 new_primDivNatS01(x0, x1, Zero, Succ(x2)) 214.29/145.88 new_sr10(Pos(x0), Pos(x1)) 214.29/145.88 new_primModNatS01(x0, x1, Zero, Succ(x2)) 214.29/145.88 new_primPlusNat0(Zero, Zero) 214.29/145.88 new_sr(x0, ty_Integer) 214.29/145.88 new_primQuotInt0(x0, Pos(Succ(x1))) 214.29/145.88 new_primModNatS01(x0, x1, Succ(x2), Zero) 214.29/145.88 new_ms(x0, Pos(Succ(x1))) 214.29/145.88 new_primModNatS1(Succ(Succ(x0)), Zero) 214.29/145.88 new_sr4(x0, x1, ty_Integer) 214.29/145.88 new_rem(Pos(x0), Pos(Zero)) 214.29/145.88 new_sr4(x0, x1, ty_Int) 214.29/145.88 new_ms0(x0, Neg(Succ(x1))) 214.29/145.88 new_quot(Pos(x0), x1, x2) 214.29/145.88 new_primMinusNatS2(Zero, Zero) 214.29/145.88 new_esEs0(x0, ty_Int) 214.29/145.88 new_primMinusNat0(Succ(x0), Zero) 214.29/145.88 new_ms0(x0, Pos(x1)) 214.29/145.88 new_esEs(Pos(Zero)) 214.29/145.88 new_quot(Neg(x0), x1, x2) 214.29/145.88 new_primDivNatS01(x0, x1, Succ(x2), Succ(x3)) 214.29/145.88 new_quot2(x0, x1, x2) 214.29/145.88 new_primEqInt(Neg(Succ(x0))) 214.29/145.88 new_sr10(Neg(x0), Neg(x1)) 214.29/145.88 new_sr3(x0, app(ty_Ratio, x1)) 214.29/145.88 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 214.29/145.88 new_sr9(x0, x1) 214.29/145.88 new_sr2(x0, x1, ty_Integer) 214.29/145.88 new_sr7(Neg(x0)) 214.29/145.88 new_sr1(x0, ty_Double) 214.29/145.88 new_primQuotInt0(x0, Neg(Succ(x1))) 214.29/145.88 new_sr0(x0, ty_Integer) 214.29/145.88 new_rem(Pos(x0), Neg(Zero)) 214.29/145.88 new_rem(Neg(x0), Pos(Zero)) 214.29/145.88 new_gcd0Gcd'00(x0, x1) 214.29/145.88 new_primQuotInt(x0, Neg(Succ(x1))) 214.29/145.88 new_primMinusNatS2(Succ(x0), Succ(x1)) 214.29/145.88 new_ms(x0, Pos(Zero)) 214.29/145.88 new_abs(Pos(Zero)) 214.29/145.88 new_primMinusNat0(Succ(x0), Succ(x1)) 214.29/145.88 new_quot0(x0, x1, x2, x3, ty_Integer) 214.29/145.88 new_sr0(x0, ty_Int) 214.29/145.88 new_sr6(x0) 214.29/145.88 new_gcd2(False, x0, x1) 214.29/145.88 new_gcd1(True, x0, x1) 214.29/145.88 new_esEs2(x0, x1, ty_Integer) 214.29/145.88 new_primMinusNatS1 214.29/145.88 new_sr7(Pos(x0)) 214.29/145.88 new_gcd0Gcd'10(True, x0, x1) 214.29/145.88 new_primModNatS1(Zero, x0) 214.29/145.88 new_sr4(x0, x1, ty_Float) 214.29/145.88 new_sr10(Pos(x0), Neg(x1)) 214.29/145.88 new_sr10(Neg(x0), Pos(x1)) 214.29/145.88 new_primDivNatS01(x0, x1, Succ(x2), Zero) 214.29/145.88 new_primDivNatS1(Succ(Succ(x0)), Succ(x1)) 214.29/145.88 new_primPlusNat0(Succ(x0), Succ(x1)) 214.29/145.88 new_primDivNatS1(Succ(Zero), Succ(x0)) 214.29/145.88 new_primQuotInt(x0, Pos(Succ(x1))) 214.29/145.88 new_sr2(x0, x1, app(ty_Ratio, x2)) 214.29/145.88 new_abs(Neg(Succ(x0))) 214.29/145.88 new_esEs0(x0, ty_Integer) 214.29/145.88 new_sr3(x0, ty_Int) 214.29/145.88 new_esEs(Neg(Succ(x0))) 214.29/145.88 new_sr(x0, app(ty_Ratio, x1)) 214.29/145.88 new_ms0(x0, Neg(Zero)) 214.29/145.88 new_primModNatS01(x0, x1, Zero, Zero) 214.29/145.88 new_sr4(x0, x1, app(ty_Ratio, x2)) 214.29/145.88 new_gcd0(x0, x1) 214.29/145.88 new_primEqInt(Pos(Succ(x0))) 214.29/145.88 new_sr3(x0, ty_Double) 214.29/145.88 new_quot1(x0, x1, x2, x3, ty_Integer) 214.29/145.88 new_primDivNatS1(Succ(Succ(x0)), Zero) 214.29/145.88 new_primMulNat1(Succ(x0)) 214.29/145.88 new_sr14(x0, x1) 214.29/145.88 new_quot0(x0, x1, x2, x3, ty_Int) 214.29/145.88 new_sr2(x0, x1, ty_Int) 214.29/145.88 new_primModNatS1(Succ(Zero), Succ(x0)) 214.29/145.88 new_reduce2Reduce1(x0, x1, x2, x3, False, x4) 214.29/145.88 new_esEs(Neg(Zero)) 214.29/145.88 new_primMulNat1(Zero) 214.29/145.88 214.29/145.88 We have to consider all minimal (P,Q,R)-chains. 214.29/145.88 ---------------------------------------- 214.29/145.88 214.29/145.88 (688) TransformationProof (EQUIVALENT) 214.29/145.88 By rewriting [LPAR04] the rule new_pr2F0(vyv184, Neg(Zero), vyv188, h) -> new_pr2F0G(vyv188, new_sr0(vyv184, h), new_primQuotInt0(Zero, new_fromInt0), h) at position [2,1] we obtained the following new rules [LPAR04]: 214.29/145.88 214.29/145.88 (new_pr2F0(vyv184, Neg(Zero), vyv188, h) -> new_pr2F0G(vyv188, new_sr0(vyv184, h), new_primQuotInt0(Zero, Pos(Succ(Succ(Zero)))), h),new_pr2F0(vyv184, Neg(Zero), vyv188, h) -> new_pr2F0G(vyv188, new_sr0(vyv184, h), new_primQuotInt0(Zero, Pos(Succ(Succ(Zero)))), h)) 214.29/145.88 214.29/145.88 214.29/145.88 ---------------------------------------- 214.29/145.88 214.29/145.88 (689) 214.29/145.88 Obligation: 214.29/145.88 Q DP problem: 214.29/145.88 The TRS P consists of the following rules: 214.29/145.88 214.29/145.88 new_pr2F0G10(vyv249, vyv250, vyv251, Succ(Succ(vyv25200)), bb) -> new_pr2F0G10(vyv249, vyv250, vyv251, vyv25200, bb) 214.29/145.88 new_pr2F0G11(vyv239, vyv240, vyv241, bc) -> new_pr2F1(vyv240, vyv241, new_fromInt, vyv239, bc) 214.29/145.88 new_pr2F0G(vyv188, vyv184, Neg(Succ(Zero)), h) -> new_pr2F0G11(vyv188, vyv184, Zero, h) 214.29/145.88 new_pr2F0G(vyv188, vyv184, Neg(Zero), h) -> new_pr2F0G(vyv188, new_sr0(vyv184, h), new_primQuotInt0(Zero, new_fromInt0), h) 214.29/145.88 new_pr2F0G10(vyv249, vyv250, vyv251, Zero, bb) -> new_pr2F0G(vyv249, new_sr3(vyv250, bb), new_primQuotInt0(Succ(vyv251), new_fromInt0), bb) 214.29/145.88 new_pr2F0G(vyv188, vyv184, Pos(Succ(Succ(vyv223000))), h) -> new_pr2F0G1(vyv188, vyv184, Succ(vyv223000), vyv223000, h) 214.29/145.88 new_pr2F0(vyv184, Pos(Succ(Zero)), vyv188, h) -> new_pr2F(vyv184, Zero, new_fromInt, vyv188, h) 214.29/145.88 new_pr2F0G1(vyv227, vyv228, vyv229, Succ(Zero), ba) -> new_pr2F(vyv228, vyv229, new_fromInt, vyv227, ba) 214.29/145.88 new_pr2F0(vyv184, Neg(Succ(Succ(vyv223000))), vyv188, h) -> new_pr2F0G10(vyv188, vyv184, Succ(vyv223000), vyv223000, h) 214.29/145.88 new_pr2F0(vyv184, Neg(Succ(Zero)), vyv188, h) -> new_pr2F0G11(vyv188, vyv184, Zero, h) 214.29/145.88 new_pr2F0G10(vyv249, vyv250, vyv251, Succ(Zero), bb) -> new_pr2F0G11(vyv249, vyv250, vyv251, bb) 214.29/145.88 new_pr2F0G(vyv188, vyv184, Pos(Succ(Zero)), h) -> new_pr2F(vyv184, Zero, new_fromInt, vyv188, h) 214.29/145.88 new_pr2F0G(vyv188, vyv184, Pos(Zero), h) -> new_pr2F0G(vyv188, new_sr(vyv184, h), new_primQuotInt(Zero, new_fromInt0), h) 214.29/145.88 new_pr2F0G(vyv188, vyv184, Neg(Succ(Succ(vyv223000))), h) -> new_pr2F0G10(vyv188, vyv184, Succ(vyv223000), vyv223000, h) 214.29/145.88 new_pr2F3(False, vyv228, vyv229, vyv245, vyv227, ba) -> new_pr2F0(vyv228, new_ms(vyv229, vyv245), new_sr2(vyv228, vyv227, ba), ba) 214.29/145.88 new_pr2F0(vyv184, Pos(Succ(Succ(vyv223000))), vyv188, h) -> new_pr2F0G1(vyv188, vyv184, Succ(vyv223000), vyv223000, h) 214.29/145.88 new_pr2F0G1(vyv227, vyv228, vyv229, Zero, ba) -> new_pr2F0G(vyv227, new_sr1(vyv228, ba), new_primQuotInt(Succ(vyv229), new_fromInt0), ba) 214.29/145.88 new_pr2F1(vyv240, vyv241, vyv244, vyv239, bc) -> new_pr2F30(new_esEs(new_ms0(vyv241, vyv244)), vyv240, vyv241, vyv244, vyv239, bc) 214.29/145.88 new_pr2F(vyv228, vyv229, vyv245, vyv227, ba) -> new_pr2F3(new_esEs(new_ms(vyv229, vyv245)), vyv228, vyv229, vyv245, vyv227, ba) 214.29/145.88 new_pr2F0G1(vyv227, vyv228, vyv229, Succ(Succ(vyv23000)), ba) -> new_pr2F0G1(vyv227, vyv228, vyv229, vyv23000, ba) 214.29/145.88 new_pr2F30(False, vyv240, vyv241, vyv244, vyv239, bc) -> new_pr2F0(vyv240, new_ms0(vyv241, vyv244), new_sr4(vyv240, vyv239, bc), bc) 214.29/145.88 new_pr2F0(vyv184, Pos(Zero), vyv188, h) -> new_pr2F0G(vyv188, new_sr(vyv184, h), new_primQuotInt(Zero, new_fromInt0), h) 214.29/145.88 new_pr2F0(vyv184, Neg(Zero), vyv188, h) -> new_pr2F0G(vyv188, new_sr0(vyv184, h), new_primQuotInt0(Zero, Pos(Succ(Succ(Zero)))), h) 214.29/145.88 214.29/145.88 The TRS R consists of the following rules: 214.29/145.88 214.29/145.88 new_sr1(vyv228, ty_Double) -> new_sr11(vyv228) 214.29/145.88 new_quot1(vyv267, vyv268, vyv265, vyv266, ty_Int) -> new_quot(new_sr10(vyv267, vyv268), new_sr10(vyv265, vyv266), new_sr10(vyv267, vyv268)) 214.29/145.88 new_primPlusNat0(Zero, Zero) -> Zero 214.29/145.88 new_abs(Neg(Zero)) -> Neg(Zero) 214.29/145.88 new_sr(vyv184, ty_Double) -> new_sr11(vyv184) 214.29/145.88 new_primDivNatS1(Zero, vyv28500) -> Zero 214.29/145.88 new_sr1(vyv228, ty_Float) -> new_sr12(vyv228) 214.29/145.88 new_quot0(vyv265, vyv266, vyv267, vyv268, ty_Integer) -> new_quot2(new_sr9(vyv265, vyv266), new_sr9(vyv265, vyv266), new_sr9(vyv267, vyv268)) 214.29/145.88 new_sr11(vyv184) -> error([]) 214.29/145.88 new_sr(vyv184, app(ty_Ratio, bd)) -> new_sr5(vyv184, bd) 214.29/145.88 new_primDivNatS01(vyv311, vyv312, Succ(vyv3130), Zero) -> new_primDivNatS02(vyv311, vyv312) 214.29/145.88 new_primDivNatS1(Succ(Succ(vyv271000)), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS0(vyv271000), Zero)) 214.29/145.88 new_primMinusNatS2(Zero, Succ(vyv3120)) -> Zero 214.29/145.88 new_sr1(vyv228, app(ty_Ratio, bg)) -> new_sr5(vyv228, bg) 214.29/145.88 new_primMinusNat0(Succ(vyv2290), Succ(vyv245000)) -> new_primMinusNat0(vyv2290, vyv245000) 214.29/145.88 new_primEqInt(Pos(Succ(vyv242000))) -> False 214.29/145.88 new_sr(vyv184, ty_Float) -> new_sr12(vyv184) 214.29/145.88 new_sr2(vyv228, vyv227, ty_Integer) -> new_sr9(vyv228, vyv227) 214.29/145.88 new_ms(vyv229, Neg(vyv2450)) -> Pos(new_primPlusNat0(Succ(vyv229), vyv2450)) 214.29/145.88 new_gcd1(True, vyv273, vyv272) -> new_error 214.29/145.88 new_abs(Neg(Succ(vyv27200))) -> Pos(Succ(vyv27200)) 214.29/145.88 new_primMulNat1(Succ(vyv18400)) -> new_primPlusNat0(new_primMulNat2(vyv18400), Succ(vyv18400)) 214.29/145.88 new_esEs0(vyv1841, ty_Int) -> new_esEs(new_sr7(vyv1841)) 214.29/145.88 new_sr2(vyv228, vyv227, ty_Int) -> new_sr10(vyv228, vyv227) 214.29/145.88 new_sr0(vyv184, ty_Double) -> new_sr11(vyv184) 214.29/145.88 new_sr12(vyv184) -> error([]) 214.29/145.88 new_primMinusNatS1 -> Zero 214.29/145.88 new_ms(vyv229, Pos(Succ(vyv24500))) -> new_primMinusNat0(vyv229, vyv24500) 214.29/145.88 new_primMinusNatS2(Succ(vyv3110), Zero) -> Succ(vyv3110) 214.29/145.88 new_sr3(vyv250, ty_Double) -> new_sr11(vyv250) 214.29/145.88 new_primDivNatS01(vyv311, vyv312, Zero, Succ(vyv3140)) -> Zero 214.29/145.88 new_gcd0Gcd'10(True, vyv292, vyv293) -> vyv292 214.29/145.88 new_primPlusNat0(Succ(vyv4000), Succ(vyv6000)) -> Succ(Succ(new_primPlusNat0(vyv4000, vyv6000))) 214.29/145.88 new_sr5(:%(vyv1840, vyv1841), bd) -> new_reduce2Reduce1(vyv1840, vyv1840, vyv1841, vyv1841, new_esEs0(vyv1841, bd), bd) 214.29/145.88 new_primMulNat2(Succ(vyv184000)) -> new_primPlusNat0(new_primMulNat3(vyv184000), Succ(Succ(vyv184000))) 214.29/145.88 new_primDivNatS02(vyv311, vyv312) -> Succ(new_primDivNatS1(new_primMinusNatS2(vyv311, vyv312), Succ(vyv312))) 214.29/145.88 new_sr2(vyv228, vyv227, app(ty_Ratio, bg)) -> new_sr8(vyv228, vyv227, bg) 214.29/145.88 new_sr3(vyv250, ty_Int) -> new_sr7(vyv250) 214.29/145.88 new_gcd1(False, vyv273, vyv272) -> new_gcd0(vyv273, vyv272) 214.29/145.88 new_reduce2Reduce1(vyv265, vyv266, vyv267, vyv268, False, bh) -> :%(new_quot0(vyv265, vyv266, vyv267, vyv268, bh), new_quot1(vyv267, vyv268, vyv265, vyv266, bh)) 214.29/145.88 new_primDivNatS1(Succ(Zero), Succ(vyv285000)) -> Zero 214.29/145.88 new_primMulNat4(Succ(vyv18400000)) -> new_primPlusNat0(new_primMulNat0(vyv18400000, Succ(Succ(Succ(Succ(vyv18400000))))), Succ(Succ(Succ(Succ(vyv18400000))))) 214.29/145.88 new_primModNatS1(Succ(Succ(vyv293000)), Succ(vyv292000)) -> new_primModNatS01(vyv293000, vyv292000, vyv293000, vyv292000) 214.29/145.88 new_primModNatS01(vyv331, vyv332, Zero, Succ(vyv3340)) -> Succ(Succ(vyv331)) 214.29/145.88 new_gcd0Gcd'00(vyv293, vyv292) -> new_gcd0Gcd'10(new_esEs(new_rem(vyv293, vyv292)), vyv292, vyv293) 214.29/145.88 new_esEs2(vyv2401, vyv2391, ty_Integer) -> new_esEs1(new_sr9(vyv2401, vyv2391)) 214.29/145.88 new_sr10(Pos(vyv2400), Pos(vyv2390)) -> Pos(new_primMulNat0(vyv2400, vyv2390)) 214.29/145.88 new_esEs0(vyv1841, ty_Integer) -> new_esEs1(new_sr6(vyv1841)) 214.29/145.88 new_quot(Pos(vyv2710), vyv273, vyv272) -> new_primQuotInt(vyv2710, new_gcd(vyv273, vyv272)) 214.29/145.88 new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) 214.29/145.88 new_gcd0Gcd'10(False, vyv292, vyv293) -> new_gcd0Gcd'00(vyv292, new_rem(vyv293, vyv292)) 214.29/145.88 new_sr6(vyv184) -> error([]) 214.29/145.88 new_esEs2(vyv2401, vyv2391, ty_Int) -> new_esEs(new_sr10(vyv2401, vyv2391)) 214.29/145.88 new_esEs(Pos(Succ(vyv24300))) -> new_primEqInt(Pos(Succ(vyv24300))) 214.29/145.88 new_quot0(vyv265, vyv266, vyv267, vyv268, ty_Int) -> new_quot(new_sr10(vyv265, vyv266), new_sr10(vyv265, vyv266), new_sr10(vyv267, vyv268)) 214.29/145.88 new_ms(vyv229, Pos(Zero)) -> Pos(Succ(vyv229)) 214.29/145.88 new_sr3(vyv250, ty_Float) -> new_sr12(vyv250) 214.29/145.88 new_gcd0Gcd'11(True, vyv273, vyv272) -> new_abs(vyv273) 214.29/145.88 new_primMinusNat0(Zero, Zero) -> Pos(Zero) 214.29/145.88 new_primModNatS01(vyv331, vyv332, Zero, Zero) -> new_primModNatS02(vyv331, vyv332) 214.29/145.88 new_sr9(vyv240, vyv239) -> error([]) 214.29/145.88 new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) 214.29/145.88 new_rem(Pos(vyv2930), Neg(Zero)) -> new_error 214.29/145.88 new_rem(Neg(vyv2930), Pos(Zero)) -> new_error 214.29/145.88 new_primModNatS01(vyv331, vyv332, Succ(vyv3330), Zero) -> new_primModNatS02(vyv331, vyv332) 214.29/145.88 new_primModNatS02(vyv331, vyv332) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv331), Succ(vyv332)), Succ(vyv332)) 214.29/145.88 new_rem(Pos(vyv2930), Neg(Succ(vyv29200))) -> Pos(new_primModNatS1(vyv2930, vyv29200)) 214.29/145.88 new_primMulNat0(Succ(vyv24000), Zero) -> Zero 214.29/145.88 new_primMulNat0(Zero, Succ(vyv23900)) -> Zero 214.29/145.88 new_quot(Neg(vyv2710), vyv273, vyv272) -> new_primQuotInt0(vyv2710, new_gcd(vyv273, vyv272)) 214.29/145.88 new_primQuotInt0(vyv2710, Neg(Zero)) -> new_error 214.29/145.88 new_sr0(vyv184, ty_Float) -> new_sr12(vyv184) 214.29/145.88 new_primQuotInt(vyv2710, Neg(Zero)) -> new_error 214.29/145.88 new_sr13(vyv240, vyv239) -> error([]) 214.29/145.88 new_rem(Neg(vyv2930), Pos(Succ(vyv29200))) -> Neg(new_primModNatS1(vyv2930, vyv29200)) 214.29/145.88 new_sr4(vyv240, vyv239, app(ty_Ratio, be)) -> new_sr8(vyv240, vyv239, be) 214.29/145.88 new_primMulNat4(Zero) -> Zero 214.29/145.88 new_primDivNatS01(vyv311, vyv312, Succ(vyv3130), Succ(vyv3140)) -> new_primDivNatS01(vyv311, vyv312, vyv3130, vyv3140) 214.29/145.88 new_primPlusNat0(Succ(vyv4000), Zero) -> Succ(vyv4000) 214.29/145.88 new_primPlusNat0(Zero, Succ(vyv6000)) -> Succ(vyv6000) 214.29/145.88 new_primMulNat0(Zero, Zero) -> Zero 214.29/145.88 new_primQuotInt(vyv2710, Pos(Succ(vyv28500))) -> Pos(new_primDivNatS1(vyv2710, vyv28500)) 214.29/145.88 new_gcd0(vyv273, vyv272) -> new_gcd0Gcd'11(new_esEs(new_abs(vyv272)), vyv273, vyv272) 214.29/145.88 new_sr(vyv184, ty_Int) -> new_sr7(vyv184) 214.29/145.88 new_primMulNat3(Succ(vyv1840000)) -> new_primPlusNat0(new_primMulNat4(vyv1840000), Succ(Succ(Succ(vyv1840000)))) 214.29/145.88 new_esEs(Neg(Succ(vyv24300))) -> new_primEqInt(Neg(Succ(vyv24300))) 214.29/145.88 new_esEs1(Integer(vyv2700)) -> new_primEqInt(vyv2700) 214.29/145.88 new_sr8(:%(vyv2400, vyv2401), :%(vyv2390, vyv2391), be) -> new_reduce2Reduce1(vyv2400, vyv2390, vyv2401, vyv2391, new_esEs2(vyv2401, vyv2391, be), be) 214.29/145.88 new_sr0(vyv184, ty_Int) -> new_sr7(vyv184) 214.29/145.88 new_sr7(Pos(vyv1840)) -> Pos(new_primMulNat1(vyv1840)) 214.29/145.88 new_primMulNat0(Succ(vyv24000), Succ(vyv23900)) -> new_primPlusNat0(new_primMulNat0(vyv24000, Succ(vyv23900)), Succ(vyv23900)) 214.29/145.88 new_sr1(vyv228, ty_Integer) -> new_sr6(vyv228) 214.29/145.88 new_primQuotInt(vyv2710, Pos(Zero)) -> new_error 214.29/145.88 new_rem(Pos(vyv2930), Pos(Succ(vyv29200))) -> Pos(new_primModNatS1(vyv2930, vyv29200)) 214.29/145.88 new_gcd0Gcd'11(False, vyv273, vyv272) -> new_gcd0Gcd'00(new_abs(vyv273), new_abs(vyv272)) 214.29/145.88 new_abs(Pos(Succ(vyv27200))) -> Pos(Succ(vyv27200)) 214.29/145.88 new_primEqInt(Pos(Zero)) -> True 214.29/145.88 new_primMulNat1(Zero) -> Zero 214.29/145.88 new_sr3(vyv250, ty_Integer) -> new_sr6(vyv250) 214.29/145.88 new_gcd(vyv273, vyv272) -> new_gcd2(new_esEs(vyv273), vyv273, vyv272) 214.29/145.88 new_rem(Neg(vyv2930), Neg(Zero)) -> new_error 214.29/145.88 new_gcd2(True, vyv273, vyv272) -> new_gcd1(new_esEs(vyv272), vyv273, vyv272) 214.29/145.88 new_sr(vyv184, ty_Integer) -> new_sr6(vyv184) 214.29/145.88 new_primMinusNat0(Zero, Succ(vyv245000)) -> Neg(Succ(vyv245000)) 214.29/145.88 new_primQuotInt0(vyv2710, Pos(Succ(vyv28800))) -> Neg(new_primDivNatS1(vyv2710, vyv28800)) 214.29/145.88 new_ms0(vyv241, Neg(Zero)) -> Neg(Succ(vyv241)) 214.29/145.88 new_sr10(Neg(vyv2400), Neg(vyv2390)) -> Pos(new_primMulNat0(vyv2400, vyv2390)) 214.29/145.88 new_sr4(vyv240, vyv239, ty_Float) -> new_sr14(vyv240, vyv239) 214.29/145.88 new_sr1(vyv228, ty_Int) -> new_sr7(vyv228) 214.29/145.88 new_fromInt -> Pos(Succ(Zero)) 214.29/145.88 new_primDivNatS1(Succ(Succ(vyv271000)), Succ(vyv285000)) -> new_primDivNatS01(vyv271000, vyv285000, vyv271000, vyv285000) 214.29/145.88 new_abs(Pos(Zero)) -> Pos(Zero) 214.29/145.88 new_sr7(Neg(vyv1840)) -> Pos(new_primMulNat1(vyv1840)) 214.29/145.88 new_primMulNat2(Zero) -> Zero 214.29/145.88 new_sr10(Pos(vyv2400), Neg(vyv2390)) -> Neg(new_primMulNat0(vyv2400, vyv2390)) 214.29/145.88 new_sr10(Neg(vyv2400), Pos(vyv2390)) -> Neg(new_primMulNat0(vyv2400, vyv2390)) 214.29/145.88 new_primMinusNat0(Succ(vyv2290), Zero) -> Pos(Succ(vyv2290)) 214.29/145.88 new_primModNatS01(vyv331, vyv332, Succ(vyv3330), Succ(vyv3340)) -> new_primModNatS01(vyv331, vyv332, vyv3330, vyv3340) 214.29/145.88 new_primModNatS1(Succ(Succ(vyv293000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv293000), Zero) 214.29/145.88 new_reduce2Reduce1(vyv265, vyv266, vyv267, vyv268, True, bh) -> error([]) 214.29/145.88 new_primModNatS1(Succ(Zero), Succ(vyv292000)) -> Succ(Zero) 214.29/145.88 new_primMinusNatS2(Zero, Zero) -> Zero 214.29/145.88 new_primEqInt(Neg(Zero)) -> True 214.29/145.88 new_primQuotInt(vyv2710, Neg(Succ(vyv28500))) -> Neg(new_primDivNatS1(vyv2710, vyv28500)) 214.29/145.88 new_primMinusNatS2(Succ(vyv3110), Succ(vyv3120)) -> new_primMinusNatS2(vyv3110, vyv3120) 214.29/145.88 new_primMinusNatS0(vyv271000) -> Succ(vyv271000) 214.29/145.88 new_primMulNat3(Zero) -> Zero 214.29/145.88 new_ms0(vyv241, Pos(vyv2440)) -> Neg(new_primPlusNat0(Succ(vyv241), vyv2440)) 214.29/145.88 new_primQuotInt0(vyv2710, Neg(Succ(vyv28800))) -> Pos(new_primDivNatS1(vyv2710, vyv28800)) 214.29/145.88 new_sr2(vyv228, vyv227, ty_Double) -> new_sr13(vyv228, vyv227) 214.29/145.88 new_sr14(vyv240, vyv239) -> error([]) 214.29/145.88 new_rem(Neg(vyv2930), Neg(Succ(vyv29200))) -> Neg(new_primModNatS1(vyv2930, vyv29200)) 214.29/145.88 new_primModNatS1(Zero, vyv29200) -> Zero 214.29/145.88 new_primDivNatS1(Succ(Zero), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS1, Zero)) 214.29/145.88 new_sr3(vyv250, app(ty_Ratio, bf)) -> new_sr5(vyv250, bf) 214.29/145.88 new_quot2(vyv274, vyv276, vyv275) -> error([]) 214.29/145.88 new_error -> error([]) 214.29/145.88 new_primEqInt(Neg(Succ(vyv242000))) -> False 214.29/145.88 new_sr4(vyv240, vyv239, ty_Int) -> new_sr10(vyv240, vyv239) 214.29/145.88 new_fromInt0 -> Pos(Succ(Succ(Zero))) 214.29/145.88 new_sr4(vyv240, vyv239, ty_Double) -> new_sr13(vyv240, vyv239) 214.29/145.88 new_gcd2(False, vyv273, vyv272) -> new_gcd0(vyv273, vyv272) 214.29/145.88 new_sr4(vyv240, vyv239, ty_Integer) -> new_sr9(vyv240, vyv239) 214.29/145.88 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 214.29/145.88 new_primDivNatS01(vyv311, vyv312, Zero, Zero) -> new_primDivNatS02(vyv311, vyv312) 214.29/145.88 new_ms0(vyv241, Neg(Succ(vyv24400))) -> new_primMinusNat0(vyv24400, vyv241) 214.29/145.88 new_quot1(vyv267, vyv268, vyv265, vyv266, ty_Integer) -> new_quot2(new_sr9(vyv267, vyv268), new_sr9(vyv265, vyv266), new_sr9(vyv267, vyv268)) 214.29/145.88 new_sr0(vyv184, app(ty_Ratio, bd)) -> new_sr5(vyv184, bd) 214.29/145.88 new_primQuotInt0(vyv2710, Pos(Zero)) -> new_error 214.29/145.88 new_sr0(vyv184, ty_Integer) -> new_sr6(vyv184) 214.29/145.88 new_sr2(vyv228, vyv227, ty_Float) -> new_sr14(vyv228, vyv227) 214.29/145.88 new_rem(Pos(vyv2930), Pos(Zero)) -> new_error 214.29/145.88 214.29/145.88 The set Q consists of the following terms: 214.29/145.88 214.29/145.88 new_sr13(x0, x1) 214.29/145.88 new_primDivNatS01(x0, x1, Zero, Zero) 214.29/145.88 new_gcd0Gcd'11(False, x0, x1) 214.29/145.88 new_primMulNat4(Zero) 214.29/145.88 new_gcd0Gcd'11(True, x0, x1) 214.29/145.88 new_sr2(x0, x1, ty_Float) 214.29/145.88 new_sr5(:%(x0, x1), x2) 214.29/145.88 new_primEqInt(Pos(Zero)) 214.29/145.88 new_ms(x0, Neg(x1)) 214.29/145.88 new_sr2(x0, x1, ty_Double) 214.29/145.88 new_esEs(Pos(Succ(x0))) 214.29/145.88 new_primQuotInt0(x0, Neg(Zero)) 214.29/145.88 new_primMulNat3(Zero) 214.29/145.88 new_primModNatS02(x0, x1) 214.29/145.88 new_sr(x0, ty_Double) 214.29/145.88 new_sr0(x0, ty_Double) 214.29/145.88 new_primDivNatS1(Succ(Zero), Zero) 214.29/145.88 new_primMinusNatS0(x0) 214.29/145.88 new_sr11(x0) 214.29/145.88 new_sr0(x0, app(ty_Ratio, x1)) 214.29/145.88 new_rem(Pos(x0), Neg(Succ(x1))) 214.29/145.88 new_rem(Neg(x0), Pos(Succ(x1))) 214.29/145.88 new_primMulNat0(Zero, Zero) 214.29/145.88 new_primPlusNat0(Succ(x0), Zero) 214.29/145.88 new_fromInt0 214.29/145.88 new_primMulNat0(Succ(x0), Zero) 214.29/145.88 new_sr3(x0, ty_Float) 214.29/145.88 new_fromInt 214.29/145.88 new_primMulNat2(Zero) 214.29/145.88 new_primQuotInt(x0, Pos(Zero)) 214.29/145.88 new_primMulNat2(Succ(x0)) 214.29/145.88 new_primQuotInt(x0, Neg(Zero)) 214.29/145.88 new_rem(Neg(x0), Neg(Succ(x1))) 214.29/145.88 new_primMinusNatS2(Zero, Succ(x0)) 214.29/145.88 new_sr(x0, ty_Int) 214.29/145.88 new_sr4(x0, x1, ty_Double) 214.29/145.88 new_primMulNat3(Succ(x0)) 214.29/145.88 new_sr0(x0, ty_Float) 214.29/145.88 new_esEs1(Integer(x0)) 214.29/145.88 new_primQuotInt0(x0, Pos(Zero)) 214.29/145.88 new_gcd2(True, x0, x1) 214.29/145.88 new_quot1(x0, x1, x2, x3, ty_Int) 214.29/145.88 new_primDivNatS1(Zero, x0) 214.29/145.88 new_primMinusNat0(Zero, Zero) 214.29/145.88 new_gcd(x0, x1) 214.29/145.88 new_gcd1(False, x0, x1) 214.29/145.88 new_esEs2(x0, x1, ty_Int) 214.29/145.88 new_sr3(x0, ty_Integer) 214.29/145.88 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 214.29/145.88 new_sr1(x0, app(ty_Ratio, x1)) 214.29/145.88 new_sr1(x0, ty_Float) 214.29/145.88 new_primPlusNat0(Zero, Succ(x0)) 214.29/145.88 new_sr8(:%(x0, x1), :%(x2, x3), x4) 214.29/145.88 new_abs(Neg(Zero)) 214.29/145.88 new_primMinusNatS2(Succ(x0), Zero) 214.29/145.88 new_error 214.29/145.88 new_primModNatS1(Succ(Zero), Zero) 214.29/145.88 new_primMulNat4(Succ(x0)) 214.29/145.88 new_sr1(x0, ty_Integer) 214.29/145.88 new_primDivNatS02(x0, x1) 214.29/145.88 new_sr1(x0, ty_Int) 214.29/145.88 new_rem(Neg(x0), Neg(Zero)) 214.29/145.88 new_primMinusNat0(Zero, Succ(x0)) 214.29/145.88 new_primEqInt(Neg(Zero)) 214.29/145.88 new_rem(Pos(x0), Pos(Succ(x1))) 214.29/145.88 new_abs(Pos(Succ(x0))) 214.29/145.88 new_primMulNat0(Succ(x0), Succ(x1)) 214.29/145.88 new_primMulNat0(Zero, Succ(x0)) 214.29/145.88 new_reduce2Reduce1(x0, x1, x2, x3, True, x4) 214.29/145.88 new_sr(x0, ty_Float) 214.29/145.88 new_gcd0Gcd'10(False, x0, x1) 214.29/145.88 new_sr12(x0) 214.29/145.88 new_primDivNatS01(x0, x1, Zero, Succ(x2)) 214.29/145.88 new_sr10(Pos(x0), Pos(x1)) 214.29/145.88 new_primModNatS01(x0, x1, Zero, Succ(x2)) 214.29/145.88 new_primPlusNat0(Zero, Zero) 214.29/145.88 new_sr(x0, ty_Integer) 214.29/145.88 new_primQuotInt0(x0, Pos(Succ(x1))) 214.29/145.88 new_primModNatS01(x0, x1, Succ(x2), Zero) 214.29/145.88 new_ms(x0, Pos(Succ(x1))) 214.29/145.88 new_primModNatS1(Succ(Succ(x0)), Zero) 214.29/145.88 new_sr4(x0, x1, ty_Integer) 214.29/145.88 new_rem(Pos(x0), Pos(Zero)) 214.29/145.88 new_sr4(x0, x1, ty_Int) 214.29/145.88 new_ms0(x0, Neg(Succ(x1))) 214.29/145.88 new_quot(Pos(x0), x1, x2) 214.29/145.88 new_primMinusNatS2(Zero, Zero) 214.29/145.88 new_esEs0(x0, ty_Int) 214.29/145.88 new_primMinusNat0(Succ(x0), Zero) 214.29/145.88 new_ms0(x0, Pos(x1)) 214.29/145.88 new_esEs(Pos(Zero)) 214.29/145.88 new_quot(Neg(x0), x1, x2) 214.29/145.88 new_primDivNatS01(x0, x1, Succ(x2), Succ(x3)) 214.29/145.88 new_quot2(x0, x1, x2) 214.29/145.88 new_primEqInt(Neg(Succ(x0))) 214.29/145.88 new_sr10(Neg(x0), Neg(x1)) 214.29/145.88 new_sr3(x0, app(ty_Ratio, x1)) 214.29/145.88 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 214.29/145.88 new_sr9(x0, x1) 214.29/145.88 new_sr2(x0, x1, ty_Integer) 214.29/145.88 new_sr7(Neg(x0)) 214.29/145.88 new_sr1(x0, ty_Double) 214.29/145.88 new_primQuotInt0(x0, Neg(Succ(x1))) 214.29/145.88 new_sr0(x0, ty_Integer) 214.29/145.88 new_rem(Pos(x0), Neg(Zero)) 214.29/145.88 new_rem(Neg(x0), Pos(Zero)) 214.29/145.88 new_gcd0Gcd'00(x0, x1) 214.29/145.88 new_primQuotInt(x0, Neg(Succ(x1))) 214.29/145.88 new_primMinusNatS2(Succ(x0), Succ(x1)) 214.29/145.88 new_ms(x0, Pos(Zero)) 214.29/145.88 new_abs(Pos(Zero)) 214.29/145.88 new_primMinusNat0(Succ(x0), Succ(x1)) 214.29/145.88 new_quot0(x0, x1, x2, x3, ty_Integer) 214.29/145.88 new_sr0(x0, ty_Int) 214.29/145.88 new_sr6(x0) 214.29/145.88 new_gcd2(False, x0, x1) 214.29/145.88 new_gcd1(True, x0, x1) 214.29/145.88 new_esEs2(x0, x1, ty_Integer) 214.29/145.88 new_primMinusNatS1 214.29/145.88 new_sr7(Pos(x0)) 214.29/145.88 new_gcd0Gcd'10(True, x0, x1) 214.29/145.88 new_primModNatS1(Zero, x0) 214.29/145.89 new_sr4(x0, x1, ty_Float) 214.29/145.89 new_sr10(Pos(x0), Neg(x1)) 214.29/145.89 new_sr10(Neg(x0), Pos(x1)) 214.29/145.89 new_primDivNatS01(x0, x1, Succ(x2), Zero) 214.29/145.89 new_primDivNatS1(Succ(Succ(x0)), Succ(x1)) 214.29/145.89 new_primPlusNat0(Succ(x0), Succ(x1)) 214.29/145.89 new_primDivNatS1(Succ(Zero), Succ(x0)) 214.29/145.89 new_primQuotInt(x0, Pos(Succ(x1))) 214.29/145.89 new_sr2(x0, x1, app(ty_Ratio, x2)) 214.29/145.89 new_abs(Neg(Succ(x0))) 214.29/145.89 new_esEs0(x0, ty_Integer) 214.29/145.89 new_sr3(x0, ty_Int) 214.29/145.89 new_esEs(Neg(Succ(x0))) 214.29/145.89 new_sr(x0, app(ty_Ratio, x1)) 214.29/145.89 new_ms0(x0, Neg(Zero)) 214.29/145.89 new_primModNatS01(x0, x1, Zero, Zero) 214.29/145.89 new_sr4(x0, x1, app(ty_Ratio, x2)) 214.29/145.89 new_gcd0(x0, x1) 214.29/145.89 new_primEqInt(Pos(Succ(x0))) 214.29/145.89 new_sr3(x0, ty_Double) 214.29/145.89 new_quot1(x0, x1, x2, x3, ty_Integer) 214.29/145.89 new_primDivNatS1(Succ(Succ(x0)), Zero) 214.29/145.89 new_primMulNat1(Succ(x0)) 214.29/145.89 new_sr14(x0, x1) 214.29/145.89 new_quot0(x0, x1, x2, x3, ty_Int) 214.29/145.89 new_sr2(x0, x1, ty_Int) 214.29/145.89 new_primModNatS1(Succ(Zero), Succ(x0)) 214.29/145.89 new_reduce2Reduce1(x0, x1, x2, x3, False, x4) 214.29/145.89 new_esEs(Neg(Zero)) 214.29/145.89 new_primMulNat1(Zero) 214.29/145.89 214.29/145.89 We have to consider all minimal (P,Q,R)-chains. 214.29/145.89 ---------------------------------------- 214.29/145.89 214.29/145.89 (690) TransformationProof (EQUIVALENT) 214.29/145.89 By rewriting [LPAR04] the rule new_pr2F0G11(vyv239, vyv240, vyv241, bc) -> new_pr2F1(vyv240, vyv241, new_fromInt, vyv239, bc) at position [2] we obtained the following new rules [LPAR04]: 214.29/145.89 214.29/145.89 (new_pr2F0G11(vyv239, vyv240, vyv241, bc) -> new_pr2F1(vyv240, vyv241, Pos(Succ(Zero)), vyv239, bc),new_pr2F0G11(vyv239, vyv240, vyv241, bc) -> new_pr2F1(vyv240, vyv241, Pos(Succ(Zero)), vyv239, bc)) 214.29/145.89 214.29/145.89 214.29/145.89 ---------------------------------------- 214.29/145.89 214.29/145.89 (691) 214.29/145.89 Obligation: 214.29/145.89 Q DP problem: 214.29/145.89 The TRS P consists of the following rules: 214.29/145.89 214.29/145.89 new_pr2F0G10(vyv249, vyv250, vyv251, Succ(Succ(vyv25200)), bb) -> new_pr2F0G10(vyv249, vyv250, vyv251, vyv25200, bb) 214.29/145.89 new_pr2F0G(vyv188, vyv184, Neg(Succ(Zero)), h) -> new_pr2F0G11(vyv188, vyv184, Zero, h) 214.29/145.89 new_pr2F0G(vyv188, vyv184, Neg(Zero), h) -> new_pr2F0G(vyv188, new_sr0(vyv184, h), new_primQuotInt0(Zero, new_fromInt0), h) 214.29/145.89 new_pr2F0G10(vyv249, vyv250, vyv251, Zero, bb) -> new_pr2F0G(vyv249, new_sr3(vyv250, bb), new_primQuotInt0(Succ(vyv251), new_fromInt0), bb) 214.29/145.89 new_pr2F0G(vyv188, vyv184, Pos(Succ(Succ(vyv223000))), h) -> new_pr2F0G1(vyv188, vyv184, Succ(vyv223000), vyv223000, h) 214.29/145.89 new_pr2F0(vyv184, Pos(Succ(Zero)), vyv188, h) -> new_pr2F(vyv184, Zero, new_fromInt, vyv188, h) 214.29/145.89 new_pr2F0G1(vyv227, vyv228, vyv229, Succ(Zero), ba) -> new_pr2F(vyv228, vyv229, new_fromInt, vyv227, ba) 214.29/145.89 new_pr2F0(vyv184, Neg(Succ(Succ(vyv223000))), vyv188, h) -> new_pr2F0G10(vyv188, vyv184, Succ(vyv223000), vyv223000, h) 214.29/145.89 new_pr2F0(vyv184, Neg(Succ(Zero)), vyv188, h) -> new_pr2F0G11(vyv188, vyv184, Zero, h) 214.29/145.89 new_pr2F0G10(vyv249, vyv250, vyv251, Succ(Zero), bb) -> new_pr2F0G11(vyv249, vyv250, vyv251, bb) 214.29/145.89 new_pr2F0G(vyv188, vyv184, Pos(Succ(Zero)), h) -> new_pr2F(vyv184, Zero, new_fromInt, vyv188, h) 214.29/145.89 new_pr2F0G(vyv188, vyv184, Pos(Zero), h) -> new_pr2F0G(vyv188, new_sr(vyv184, h), new_primQuotInt(Zero, new_fromInt0), h) 214.29/145.89 new_pr2F0G(vyv188, vyv184, Neg(Succ(Succ(vyv223000))), h) -> new_pr2F0G10(vyv188, vyv184, Succ(vyv223000), vyv223000, h) 214.29/145.89 new_pr2F3(False, vyv228, vyv229, vyv245, vyv227, ba) -> new_pr2F0(vyv228, new_ms(vyv229, vyv245), new_sr2(vyv228, vyv227, ba), ba) 214.29/145.89 new_pr2F0(vyv184, Pos(Succ(Succ(vyv223000))), vyv188, h) -> new_pr2F0G1(vyv188, vyv184, Succ(vyv223000), vyv223000, h) 214.29/145.89 new_pr2F0G1(vyv227, vyv228, vyv229, Zero, ba) -> new_pr2F0G(vyv227, new_sr1(vyv228, ba), new_primQuotInt(Succ(vyv229), new_fromInt0), ba) 214.29/145.89 new_pr2F1(vyv240, vyv241, vyv244, vyv239, bc) -> new_pr2F30(new_esEs(new_ms0(vyv241, vyv244)), vyv240, vyv241, vyv244, vyv239, bc) 214.29/145.89 new_pr2F(vyv228, vyv229, vyv245, vyv227, ba) -> new_pr2F3(new_esEs(new_ms(vyv229, vyv245)), vyv228, vyv229, vyv245, vyv227, ba) 214.29/145.89 new_pr2F0G1(vyv227, vyv228, vyv229, Succ(Succ(vyv23000)), ba) -> new_pr2F0G1(vyv227, vyv228, vyv229, vyv23000, ba) 214.29/145.89 new_pr2F30(False, vyv240, vyv241, vyv244, vyv239, bc) -> new_pr2F0(vyv240, new_ms0(vyv241, vyv244), new_sr4(vyv240, vyv239, bc), bc) 214.29/145.89 new_pr2F0(vyv184, Pos(Zero), vyv188, h) -> new_pr2F0G(vyv188, new_sr(vyv184, h), new_primQuotInt(Zero, new_fromInt0), h) 214.29/145.89 new_pr2F0(vyv184, Neg(Zero), vyv188, h) -> new_pr2F0G(vyv188, new_sr0(vyv184, h), new_primQuotInt0(Zero, Pos(Succ(Succ(Zero)))), h) 214.29/145.89 new_pr2F0G11(vyv239, vyv240, vyv241, bc) -> new_pr2F1(vyv240, vyv241, Pos(Succ(Zero)), vyv239, bc) 214.29/145.89 214.29/145.89 The TRS R consists of the following rules: 214.29/145.89 214.29/145.89 new_sr1(vyv228, ty_Double) -> new_sr11(vyv228) 214.29/145.89 new_quot1(vyv267, vyv268, vyv265, vyv266, ty_Int) -> new_quot(new_sr10(vyv267, vyv268), new_sr10(vyv265, vyv266), new_sr10(vyv267, vyv268)) 214.29/145.89 new_primPlusNat0(Zero, Zero) -> Zero 214.29/145.89 new_abs(Neg(Zero)) -> Neg(Zero) 214.29/145.89 new_sr(vyv184, ty_Double) -> new_sr11(vyv184) 214.29/145.89 new_primDivNatS1(Zero, vyv28500) -> Zero 214.29/145.89 new_sr1(vyv228, ty_Float) -> new_sr12(vyv228) 214.29/145.89 new_quot0(vyv265, vyv266, vyv267, vyv268, ty_Integer) -> new_quot2(new_sr9(vyv265, vyv266), new_sr9(vyv265, vyv266), new_sr9(vyv267, vyv268)) 214.29/145.89 new_sr11(vyv184) -> error([]) 214.29/145.89 new_sr(vyv184, app(ty_Ratio, bd)) -> new_sr5(vyv184, bd) 214.29/145.89 new_primDivNatS01(vyv311, vyv312, Succ(vyv3130), Zero) -> new_primDivNatS02(vyv311, vyv312) 214.29/145.89 new_primDivNatS1(Succ(Succ(vyv271000)), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS0(vyv271000), Zero)) 214.29/145.89 new_primMinusNatS2(Zero, Succ(vyv3120)) -> Zero 214.29/145.89 new_sr1(vyv228, app(ty_Ratio, bg)) -> new_sr5(vyv228, bg) 214.29/145.89 new_primMinusNat0(Succ(vyv2290), Succ(vyv245000)) -> new_primMinusNat0(vyv2290, vyv245000) 214.29/145.89 new_primEqInt(Pos(Succ(vyv242000))) -> False 214.29/145.89 new_sr(vyv184, ty_Float) -> new_sr12(vyv184) 214.29/145.89 new_sr2(vyv228, vyv227, ty_Integer) -> new_sr9(vyv228, vyv227) 214.29/145.89 new_ms(vyv229, Neg(vyv2450)) -> Pos(new_primPlusNat0(Succ(vyv229), vyv2450)) 214.29/145.89 new_gcd1(True, vyv273, vyv272) -> new_error 214.29/145.89 new_abs(Neg(Succ(vyv27200))) -> Pos(Succ(vyv27200)) 214.29/145.89 new_primMulNat1(Succ(vyv18400)) -> new_primPlusNat0(new_primMulNat2(vyv18400), Succ(vyv18400)) 214.29/145.89 new_esEs0(vyv1841, ty_Int) -> new_esEs(new_sr7(vyv1841)) 214.29/145.89 new_sr2(vyv228, vyv227, ty_Int) -> new_sr10(vyv228, vyv227) 214.29/145.89 new_sr0(vyv184, ty_Double) -> new_sr11(vyv184) 214.29/145.89 new_sr12(vyv184) -> error([]) 214.29/145.89 new_primMinusNatS1 -> Zero 214.29/145.89 new_ms(vyv229, Pos(Succ(vyv24500))) -> new_primMinusNat0(vyv229, vyv24500) 214.29/145.89 new_primMinusNatS2(Succ(vyv3110), Zero) -> Succ(vyv3110) 214.29/145.89 new_sr3(vyv250, ty_Double) -> new_sr11(vyv250) 214.29/145.89 new_primDivNatS01(vyv311, vyv312, Zero, Succ(vyv3140)) -> Zero 214.29/145.89 new_gcd0Gcd'10(True, vyv292, vyv293) -> vyv292 214.29/145.89 new_primPlusNat0(Succ(vyv4000), Succ(vyv6000)) -> Succ(Succ(new_primPlusNat0(vyv4000, vyv6000))) 214.29/145.89 new_sr5(:%(vyv1840, vyv1841), bd) -> new_reduce2Reduce1(vyv1840, vyv1840, vyv1841, vyv1841, new_esEs0(vyv1841, bd), bd) 214.29/145.89 new_primMulNat2(Succ(vyv184000)) -> new_primPlusNat0(new_primMulNat3(vyv184000), Succ(Succ(vyv184000))) 214.29/145.89 new_primDivNatS02(vyv311, vyv312) -> Succ(new_primDivNatS1(new_primMinusNatS2(vyv311, vyv312), Succ(vyv312))) 214.29/145.89 new_sr2(vyv228, vyv227, app(ty_Ratio, bg)) -> new_sr8(vyv228, vyv227, bg) 214.29/145.89 new_sr3(vyv250, ty_Int) -> new_sr7(vyv250) 214.29/145.89 new_gcd1(False, vyv273, vyv272) -> new_gcd0(vyv273, vyv272) 214.29/145.89 new_reduce2Reduce1(vyv265, vyv266, vyv267, vyv268, False, bh) -> :%(new_quot0(vyv265, vyv266, vyv267, vyv268, bh), new_quot1(vyv267, vyv268, vyv265, vyv266, bh)) 214.29/145.89 new_primDivNatS1(Succ(Zero), Succ(vyv285000)) -> Zero 214.29/145.89 new_primMulNat4(Succ(vyv18400000)) -> new_primPlusNat0(new_primMulNat0(vyv18400000, Succ(Succ(Succ(Succ(vyv18400000))))), Succ(Succ(Succ(Succ(vyv18400000))))) 214.29/145.89 new_primModNatS1(Succ(Succ(vyv293000)), Succ(vyv292000)) -> new_primModNatS01(vyv293000, vyv292000, vyv293000, vyv292000) 214.29/145.89 new_primModNatS01(vyv331, vyv332, Zero, Succ(vyv3340)) -> Succ(Succ(vyv331)) 214.29/145.89 new_gcd0Gcd'00(vyv293, vyv292) -> new_gcd0Gcd'10(new_esEs(new_rem(vyv293, vyv292)), vyv292, vyv293) 214.29/145.89 new_esEs2(vyv2401, vyv2391, ty_Integer) -> new_esEs1(new_sr9(vyv2401, vyv2391)) 214.29/145.89 new_sr10(Pos(vyv2400), Pos(vyv2390)) -> Pos(new_primMulNat0(vyv2400, vyv2390)) 214.29/145.89 new_esEs0(vyv1841, ty_Integer) -> new_esEs1(new_sr6(vyv1841)) 214.29/145.89 new_quot(Pos(vyv2710), vyv273, vyv272) -> new_primQuotInt(vyv2710, new_gcd(vyv273, vyv272)) 214.29/145.89 new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) 214.29/145.89 new_gcd0Gcd'10(False, vyv292, vyv293) -> new_gcd0Gcd'00(vyv292, new_rem(vyv293, vyv292)) 214.29/145.89 new_sr6(vyv184) -> error([]) 214.29/145.89 new_esEs2(vyv2401, vyv2391, ty_Int) -> new_esEs(new_sr10(vyv2401, vyv2391)) 214.29/145.89 new_esEs(Pos(Succ(vyv24300))) -> new_primEqInt(Pos(Succ(vyv24300))) 214.29/145.89 new_quot0(vyv265, vyv266, vyv267, vyv268, ty_Int) -> new_quot(new_sr10(vyv265, vyv266), new_sr10(vyv265, vyv266), new_sr10(vyv267, vyv268)) 214.29/145.89 new_ms(vyv229, Pos(Zero)) -> Pos(Succ(vyv229)) 214.29/145.89 new_sr3(vyv250, ty_Float) -> new_sr12(vyv250) 214.29/145.89 new_gcd0Gcd'11(True, vyv273, vyv272) -> new_abs(vyv273) 214.29/145.89 new_primMinusNat0(Zero, Zero) -> Pos(Zero) 214.29/145.89 new_primModNatS01(vyv331, vyv332, Zero, Zero) -> new_primModNatS02(vyv331, vyv332) 214.29/145.89 new_sr9(vyv240, vyv239) -> error([]) 214.29/145.89 new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) 214.29/145.89 new_rem(Pos(vyv2930), Neg(Zero)) -> new_error 214.29/145.89 new_rem(Neg(vyv2930), Pos(Zero)) -> new_error 214.29/145.89 new_primModNatS01(vyv331, vyv332, Succ(vyv3330), Zero) -> new_primModNatS02(vyv331, vyv332) 214.29/145.89 new_primModNatS02(vyv331, vyv332) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv331), Succ(vyv332)), Succ(vyv332)) 214.29/145.89 new_rem(Pos(vyv2930), Neg(Succ(vyv29200))) -> Pos(new_primModNatS1(vyv2930, vyv29200)) 214.29/145.89 new_primMulNat0(Succ(vyv24000), Zero) -> Zero 214.29/145.89 new_primMulNat0(Zero, Succ(vyv23900)) -> Zero 214.29/145.89 new_quot(Neg(vyv2710), vyv273, vyv272) -> new_primQuotInt0(vyv2710, new_gcd(vyv273, vyv272)) 214.29/145.89 new_primQuotInt0(vyv2710, Neg(Zero)) -> new_error 214.29/145.89 new_sr0(vyv184, ty_Float) -> new_sr12(vyv184) 214.29/145.89 new_primQuotInt(vyv2710, Neg(Zero)) -> new_error 214.29/145.89 new_sr13(vyv240, vyv239) -> error([]) 214.29/145.89 new_rem(Neg(vyv2930), Pos(Succ(vyv29200))) -> Neg(new_primModNatS1(vyv2930, vyv29200)) 214.29/145.89 new_sr4(vyv240, vyv239, app(ty_Ratio, be)) -> new_sr8(vyv240, vyv239, be) 214.29/145.89 new_primMulNat4(Zero) -> Zero 214.29/145.89 new_primDivNatS01(vyv311, vyv312, Succ(vyv3130), Succ(vyv3140)) -> new_primDivNatS01(vyv311, vyv312, vyv3130, vyv3140) 214.29/145.89 new_primPlusNat0(Succ(vyv4000), Zero) -> Succ(vyv4000) 214.29/145.89 new_primPlusNat0(Zero, Succ(vyv6000)) -> Succ(vyv6000) 214.29/145.89 new_primMulNat0(Zero, Zero) -> Zero 214.29/145.89 new_primQuotInt(vyv2710, Pos(Succ(vyv28500))) -> Pos(new_primDivNatS1(vyv2710, vyv28500)) 214.29/145.89 new_gcd0(vyv273, vyv272) -> new_gcd0Gcd'11(new_esEs(new_abs(vyv272)), vyv273, vyv272) 214.29/145.89 new_sr(vyv184, ty_Int) -> new_sr7(vyv184) 214.29/145.89 new_primMulNat3(Succ(vyv1840000)) -> new_primPlusNat0(new_primMulNat4(vyv1840000), Succ(Succ(Succ(vyv1840000)))) 214.29/145.89 new_esEs(Neg(Succ(vyv24300))) -> new_primEqInt(Neg(Succ(vyv24300))) 214.29/145.89 new_esEs1(Integer(vyv2700)) -> new_primEqInt(vyv2700) 214.29/145.89 new_sr8(:%(vyv2400, vyv2401), :%(vyv2390, vyv2391), be) -> new_reduce2Reduce1(vyv2400, vyv2390, vyv2401, vyv2391, new_esEs2(vyv2401, vyv2391, be), be) 214.29/145.89 new_sr0(vyv184, ty_Int) -> new_sr7(vyv184) 214.29/145.89 new_sr7(Pos(vyv1840)) -> Pos(new_primMulNat1(vyv1840)) 214.29/145.89 new_primMulNat0(Succ(vyv24000), Succ(vyv23900)) -> new_primPlusNat0(new_primMulNat0(vyv24000, Succ(vyv23900)), Succ(vyv23900)) 214.29/145.89 new_sr1(vyv228, ty_Integer) -> new_sr6(vyv228) 214.29/145.89 new_primQuotInt(vyv2710, Pos(Zero)) -> new_error 214.29/145.89 new_rem(Pos(vyv2930), Pos(Succ(vyv29200))) -> Pos(new_primModNatS1(vyv2930, vyv29200)) 214.29/145.89 new_gcd0Gcd'11(False, vyv273, vyv272) -> new_gcd0Gcd'00(new_abs(vyv273), new_abs(vyv272)) 214.29/145.89 new_abs(Pos(Succ(vyv27200))) -> Pos(Succ(vyv27200)) 214.29/145.89 new_primEqInt(Pos(Zero)) -> True 214.29/145.89 new_primMulNat1(Zero) -> Zero 214.29/145.89 new_sr3(vyv250, ty_Integer) -> new_sr6(vyv250) 214.29/145.89 new_gcd(vyv273, vyv272) -> new_gcd2(new_esEs(vyv273), vyv273, vyv272) 214.29/145.89 new_rem(Neg(vyv2930), Neg(Zero)) -> new_error 214.29/145.89 new_gcd2(True, vyv273, vyv272) -> new_gcd1(new_esEs(vyv272), vyv273, vyv272) 214.29/145.89 new_sr(vyv184, ty_Integer) -> new_sr6(vyv184) 214.29/145.89 new_primMinusNat0(Zero, Succ(vyv245000)) -> Neg(Succ(vyv245000)) 214.29/145.89 new_primQuotInt0(vyv2710, Pos(Succ(vyv28800))) -> Neg(new_primDivNatS1(vyv2710, vyv28800)) 214.29/145.89 new_ms0(vyv241, Neg(Zero)) -> Neg(Succ(vyv241)) 214.29/145.89 new_sr10(Neg(vyv2400), Neg(vyv2390)) -> Pos(new_primMulNat0(vyv2400, vyv2390)) 214.29/145.89 new_sr4(vyv240, vyv239, ty_Float) -> new_sr14(vyv240, vyv239) 214.29/145.89 new_sr1(vyv228, ty_Int) -> new_sr7(vyv228) 214.29/145.89 new_fromInt -> Pos(Succ(Zero)) 214.29/145.89 new_primDivNatS1(Succ(Succ(vyv271000)), Succ(vyv285000)) -> new_primDivNatS01(vyv271000, vyv285000, vyv271000, vyv285000) 214.29/145.89 new_abs(Pos(Zero)) -> Pos(Zero) 214.29/145.89 new_sr7(Neg(vyv1840)) -> Pos(new_primMulNat1(vyv1840)) 214.29/145.89 new_primMulNat2(Zero) -> Zero 214.29/145.89 new_sr10(Pos(vyv2400), Neg(vyv2390)) -> Neg(new_primMulNat0(vyv2400, vyv2390)) 214.29/145.89 new_sr10(Neg(vyv2400), Pos(vyv2390)) -> Neg(new_primMulNat0(vyv2400, vyv2390)) 214.29/145.89 new_primMinusNat0(Succ(vyv2290), Zero) -> Pos(Succ(vyv2290)) 214.29/145.89 new_primModNatS01(vyv331, vyv332, Succ(vyv3330), Succ(vyv3340)) -> new_primModNatS01(vyv331, vyv332, vyv3330, vyv3340) 214.29/145.89 new_primModNatS1(Succ(Succ(vyv293000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv293000), Zero) 214.29/145.89 new_reduce2Reduce1(vyv265, vyv266, vyv267, vyv268, True, bh) -> error([]) 214.29/145.89 new_primModNatS1(Succ(Zero), Succ(vyv292000)) -> Succ(Zero) 214.29/145.89 new_primMinusNatS2(Zero, Zero) -> Zero 214.29/145.89 new_primEqInt(Neg(Zero)) -> True 214.29/145.89 new_primQuotInt(vyv2710, Neg(Succ(vyv28500))) -> Neg(new_primDivNatS1(vyv2710, vyv28500)) 214.29/145.89 new_primMinusNatS2(Succ(vyv3110), Succ(vyv3120)) -> new_primMinusNatS2(vyv3110, vyv3120) 214.29/145.89 new_primMinusNatS0(vyv271000) -> Succ(vyv271000) 214.29/145.89 new_primMulNat3(Zero) -> Zero 214.29/145.89 new_ms0(vyv241, Pos(vyv2440)) -> Neg(new_primPlusNat0(Succ(vyv241), vyv2440)) 214.29/145.89 new_primQuotInt0(vyv2710, Neg(Succ(vyv28800))) -> Pos(new_primDivNatS1(vyv2710, vyv28800)) 214.29/145.89 new_sr2(vyv228, vyv227, ty_Double) -> new_sr13(vyv228, vyv227) 214.29/145.89 new_sr14(vyv240, vyv239) -> error([]) 214.29/145.89 new_rem(Neg(vyv2930), Neg(Succ(vyv29200))) -> Neg(new_primModNatS1(vyv2930, vyv29200)) 214.29/145.89 new_primModNatS1(Zero, vyv29200) -> Zero 214.29/145.89 new_primDivNatS1(Succ(Zero), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS1, Zero)) 214.29/145.89 new_sr3(vyv250, app(ty_Ratio, bf)) -> new_sr5(vyv250, bf) 214.29/145.89 new_quot2(vyv274, vyv276, vyv275) -> error([]) 214.29/145.89 new_error -> error([]) 214.29/145.89 new_primEqInt(Neg(Succ(vyv242000))) -> False 214.29/145.89 new_sr4(vyv240, vyv239, ty_Int) -> new_sr10(vyv240, vyv239) 214.29/145.89 new_fromInt0 -> Pos(Succ(Succ(Zero))) 214.29/145.89 new_sr4(vyv240, vyv239, ty_Double) -> new_sr13(vyv240, vyv239) 214.29/145.89 new_gcd2(False, vyv273, vyv272) -> new_gcd0(vyv273, vyv272) 214.29/145.89 new_sr4(vyv240, vyv239, ty_Integer) -> new_sr9(vyv240, vyv239) 214.29/145.89 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 214.29/145.89 new_primDivNatS01(vyv311, vyv312, Zero, Zero) -> new_primDivNatS02(vyv311, vyv312) 214.29/145.89 new_ms0(vyv241, Neg(Succ(vyv24400))) -> new_primMinusNat0(vyv24400, vyv241) 214.29/145.89 new_quot1(vyv267, vyv268, vyv265, vyv266, ty_Integer) -> new_quot2(new_sr9(vyv267, vyv268), new_sr9(vyv265, vyv266), new_sr9(vyv267, vyv268)) 214.29/145.89 new_sr0(vyv184, app(ty_Ratio, bd)) -> new_sr5(vyv184, bd) 214.29/145.89 new_primQuotInt0(vyv2710, Pos(Zero)) -> new_error 214.29/145.89 new_sr0(vyv184, ty_Integer) -> new_sr6(vyv184) 214.29/145.89 new_sr2(vyv228, vyv227, ty_Float) -> new_sr14(vyv228, vyv227) 214.29/145.89 new_rem(Pos(vyv2930), Pos(Zero)) -> new_error 214.29/145.89 214.29/145.89 The set Q consists of the following terms: 214.29/145.89 214.29/145.89 new_sr13(x0, x1) 214.29/145.89 new_primDivNatS01(x0, x1, Zero, Zero) 214.29/145.89 new_gcd0Gcd'11(False, x0, x1) 214.29/145.89 new_primMulNat4(Zero) 214.29/145.89 new_gcd0Gcd'11(True, x0, x1) 214.29/145.89 new_sr2(x0, x1, ty_Float) 214.29/145.89 new_sr5(:%(x0, x1), x2) 214.29/145.89 new_primEqInt(Pos(Zero)) 214.29/145.89 new_ms(x0, Neg(x1)) 214.29/145.89 new_sr2(x0, x1, ty_Double) 214.29/145.89 new_esEs(Pos(Succ(x0))) 214.29/145.89 new_primQuotInt0(x0, Neg(Zero)) 214.29/145.89 new_primMulNat3(Zero) 214.29/145.89 new_primModNatS02(x0, x1) 214.29/145.89 new_sr(x0, ty_Double) 214.29/145.89 new_sr0(x0, ty_Double) 214.29/145.89 new_primDivNatS1(Succ(Zero), Zero) 214.29/145.89 new_primMinusNatS0(x0) 214.29/145.89 new_sr11(x0) 214.29/145.89 new_sr0(x0, app(ty_Ratio, x1)) 214.29/145.89 new_rem(Pos(x0), Neg(Succ(x1))) 214.29/145.89 new_rem(Neg(x0), Pos(Succ(x1))) 214.29/145.89 new_primMulNat0(Zero, Zero) 214.29/145.89 new_primPlusNat0(Succ(x0), Zero) 214.29/145.89 new_fromInt0 214.29/145.89 new_primMulNat0(Succ(x0), Zero) 214.29/145.89 new_sr3(x0, ty_Float) 214.29/145.89 new_fromInt 214.29/145.89 new_primMulNat2(Zero) 214.29/145.89 new_primQuotInt(x0, Pos(Zero)) 214.29/145.89 new_primMulNat2(Succ(x0)) 214.29/145.89 new_primQuotInt(x0, Neg(Zero)) 214.29/145.89 new_rem(Neg(x0), Neg(Succ(x1))) 214.29/145.89 new_primMinusNatS2(Zero, Succ(x0)) 214.29/145.89 new_sr(x0, ty_Int) 214.29/145.89 new_sr4(x0, x1, ty_Double) 214.29/145.89 new_primMulNat3(Succ(x0)) 214.29/145.89 new_sr0(x0, ty_Float) 214.29/145.89 new_esEs1(Integer(x0)) 214.29/145.89 new_primQuotInt0(x0, Pos(Zero)) 214.29/145.89 new_gcd2(True, x0, x1) 214.29/145.89 new_quot1(x0, x1, x2, x3, ty_Int) 214.29/145.89 new_primDivNatS1(Zero, x0) 214.29/145.89 new_primMinusNat0(Zero, Zero) 214.29/145.89 new_gcd(x0, x1) 214.29/145.89 new_gcd1(False, x0, x1) 214.29/145.89 new_esEs2(x0, x1, ty_Int) 214.29/145.89 new_sr3(x0, ty_Integer) 214.29/145.89 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 214.29/145.89 new_sr1(x0, app(ty_Ratio, x1)) 214.29/145.89 new_sr1(x0, ty_Float) 214.29/145.89 new_primPlusNat0(Zero, Succ(x0)) 214.29/145.89 new_sr8(:%(x0, x1), :%(x2, x3), x4) 214.29/145.89 new_abs(Neg(Zero)) 214.29/145.89 new_primMinusNatS2(Succ(x0), Zero) 214.29/145.89 new_error 214.29/145.89 new_primModNatS1(Succ(Zero), Zero) 214.29/145.89 new_primMulNat4(Succ(x0)) 214.29/145.89 new_sr1(x0, ty_Integer) 214.29/145.89 new_primDivNatS02(x0, x1) 214.29/145.89 new_sr1(x0, ty_Int) 214.29/145.89 new_rem(Neg(x0), Neg(Zero)) 214.29/145.89 new_primMinusNat0(Zero, Succ(x0)) 214.29/145.89 new_primEqInt(Neg(Zero)) 214.29/145.89 new_rem(Pos(x0), Pos(Succ(x1))) 214.29/145.89 new_abs(Pos(Succ(x0))) 214.29/145.89 new_primMulNat0(Succ(x0), Succ(x1)) 214.29/145.89 new_primMulNat0(Zero, Succ(x0)) 214.29/145.89 new_reduce2Reduce1(x0, x1, x2, x3, True, x4) 214.29/145.89 new_sr(x0, ty_Float) 214.29/145.89 new_gcd0Gcd'10(False, x0, x1) 214.29/145.89 new_sr12(x0) 214.29/145.89 new_primDivNatS01(x0, x1, Zero, Succ(x2)) 214.29/145.89 new_sr10(Pos(x0), Pos(x1)) 214.29/145.89 new_primModNatS01(x0, x1, Zero, Succ(x2)) 214.29/145.89 new_primPlusNat0(Zero, Zero) 214.29/145.89 new_sr(x0, ty_Integer) 214.29/145.89 new_primQuotInt0(x0, Pos(Succ(x1))) 214.29/145.89 new_primModNatS01(x0, x1, Succ(x2), Zero) 214.29/145.89 new_ms(x0, Pos(Succ(x1))) 214.29/145.89 new_primModNatS1(Succ(Succ(x0)), Zero) 214.29/145.89 new_sr4(x0, x1, ty_Integer) 214.29/145.89 new_rem(Pos(x0), Pos(Zero)) 214.29/145.89 new_sr4(x0, x1, ty_Int) 214.29/145.89 new_ms0(x0, Neg(Succ(x1))) 214.29/145.89 new_quot(Pos(x0), x1, x2) 214.29/145.89 new_primMinusNatS2(Zero, Zero) 214.29/145.89 new_esEs0(x0, ty_Int) 214.29/145.89 new_primMinusNat0(Succ(x0), Zero) 214.29/145.89 new_ms0(x0, Pos(x1)) 214.29/145.89 new_esEs(Pos(Zero)) 214.29/145.89 new_quot(Neg(x0), x1, x2) 214.29/145.89 new_primDivNatS01(x0, x1, Succ(x2), Succ(x3)) 214.29/145.89 new_quot2(x0, x1, x2) 214.29/145.89 new_primEqInt(Neg(Succ(x0))) 214.29/145.89 new_sr10(Neg(x0), Neg(x1)) 214.29/145.89 new_sr3(x0, app(ty_Ratio, x1)) 214.29/145.89 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 214.29/145.89 new_sr9(x0, x1) 214.29/145.89 new_sr2(x0, x1, ty_Integer) 214.29/145.89 new_sr7(Neg(x0)) 214.29/145.89 new_sr1(x0, ty_Double) 214.29/145.89 new_primQuotInt0(x0, Neg(Succ(x1))) 214.29/145.89 new_sr0(x0, ty_Integer) 214.29/145.89 new_rem(Pos(x0), Neg(Zero)) 214.29/145.89 new_rem(Neg(x0), Pos(Zero)) 214.29/145.89 new_gcd0Gcd'00(x0, x1) 214.29/145.89 new_primQuotInt(x0, Neg(Succ(x1))) 214.29/145.89 new_primMinusNatS2(Succ(x0), Succ(x1)) 214.29/145.89 new_ms(x0, Pos(Zero)) 214.29/145.89 new_abs(Pos(Zero)) 214.29/145.89 new_primMinusNat0(Succ(x0), Succ(x1)) 214.29/145.89 new_quot0(x0, x1, x2, x3, ty_Integer) 214.29/145.89 new_sr0(x0, ty_Int) 214.29/145.89 new_sr6(x0) 214.29/145.89 new_gcd2(False, x0, x1) 214.29/145.89 new_gcd1(True, x0, x1) 214.29/145.89 new_esEs2(x0, x1, ty_Integer) 214.29/145.89 new_primMinusNatS1 214.29/145.89 new_sr7(Pos(x0)) 214.29/145.89 new_gcd0Gcd'10(True, x0, x1) 214.29/145.89 new_primModNatS1(Zero, x0) 214.29/145.89 new_sr4(x0, x1, ty_Float) 214.29/145.89 new_sr10(Pos(x0), Neg(x1)) 214.29/145.89 new_sr10(Neg(x0), Pos(x1)) 214.29/145.89 new_primDivNatS01(x0, x1, Succ(x2), Zero) 214.29/145.89 new_primDivNatS1(Succ(Succ(x0)), Succ(x1)) 214.29/145.89 new_primPlusNat0(Succ(x0), Succ(x1)) 214.29/145.89 new_primDivNatS1(Succ(Zero), Succ(x0)) 214.29/145.89 new_primQuotInt(x0, Pos(Succ(x1))) 214.29/145.89 new_sr2(x0, x1, app(ty_Ratio, x2)) 214.29/145.89 new_abs(Neg(Succ(x0))) 214.29/145.89 new_esEs0(x0, ty_Integer) 214.29/145.89 new_sr3(x0, ty_Int) 214.29/145.89 new_esEs(Neg(Succ(x0))) 214.29/145.89 new_sr(x0, app(ty_Ratio, x1)) 214.29/145.89 new_ms0(x0, Neg(Zero)) 214.29/145.89 new_primModNatS01(x0, x1, Zero, Zero) 214.29/145.89 new_sr4(x0, x1, app(ty_Ratio, x2)) 214.29/145.89 new_gcd0(x0, x1) 214.29/145.89 new_primEqInt(Pos(Succ(x0))) 214.29/145.89 new_sr3(x0, ty_Double) 214.29/145.89 new_quot1(x0, x1, x2, x3, ty_Integer) 214.29/145.89 new_primDivNatS1(Succ(Succ(x0)), Zero) 214.29/145.89 new_primMulNat1(Succ(x0)) 214.29/145.89 new_sr14(x0, x1) 214.29/145.89 new_quot0(x0, x1, x2, x3, ty_Int) 214.29/145.89 new_sr2(x0, x1, ty_Int) 214.29/145.89 new_primModNatS1(Succ(Zero), Succ(x0)) 214.29/145.89 new_reduce2Reduce1(x0, x1, x2, x3, False, x4) 214.29/145.89 new_esEs(Neg(Zero)) 214.29/145.89 new_primMulNat1(Zero) 214.29/145.89 214.29/145.89 We have to consider all minimal (P,Q,R)-chains. 214.29/145.89 ---------------------------------------- 214.29/145.89 214.29/145.89 (692) TransformationProof (EQUIVALENT) 214.29/145.89 By rewriting [LPAR04] the rule new_pr2F0G(vyv188, vyv184, Neg(Zero), h) -> new_pr2F0G(vyv188, new_sr0(vyv184, h), new_primQuotInt0(Zero, new_fromInt0), h) at position [2,1] we obtained the following new rules [LPAR04]: 214.29/145.89 214.29/145.89 (new_pr2F0G(vyv188, vyv184, Neg(Zero), h) -> new_pr2F0G(vyv188, new_sr0(vyv184, h), new_primQuotInt0(Zero, Pos(Succ(Succ(Zero)))), h),new_pr2F0G(vyv188, vyv184, Neg(Zero), h) -> new_pr2F0G(vyv188, new_sr0(vyv184, h), new_primQuotInt0(Zero, Pos(Succ(Succ(Zero)))), h)) 214.29/145.89 214.29/145.89 214.29/145.89 ---------------------------------------- 214.29/145.89 214.29/145.89 (693) 214.29/145.89 Obligation: 214.29/145.89 Q DP problem: 214.29/145.89 The TRS P consists of the following rules: 214.29/145.89 214.29/145.89 new_pr2F0G10(vyv249, vyv250, vyv251, Succ(Succ(vyv25200)), bb) -> new_pr2F0G10(vyv249, vyv250, vyv251, vyv25200, bb) 214.29/145.89 new_pr2F0G(vyv188, vyv184, Neg(Succ(Zero)), h) -> new_pr2F0G11(vyv188, vyv184, Zero, h) 214.29/145.89 new_pr2F0G10(vyv249, vyv250, vyv251, Zero, bb) -> new_pr2F0G(vyv249, new_sr3(vyv250, bb), new_primQuotInt0(Succ(vyv251), new_fromInt0), bb) 214.29/145.89 new_pr2F0G(vyv188, vyv184, Pos(Succ(Succ(vyv223000))), h) -> new_pr2F0G1(vyv188, vyv184, Succ(vyv223000), vyv223000, h) 214.29/145.89 new_pr2F0(vyv184, Pos(Succ(Zero)), vyv188, h) -> new_pr2F(vyv184, Zero, new_fromInt, vyv188, h) 214.29/145.89 new_pr2F0G1(vyv227, vyv228, vyv229, Succ(Zero), ba) -> new_pr2F(vyv228, vyv229, new_fromInt, vyv227, ba) 214.29/145.89 new_pr2F0(vyv184, Neg(Succ(Succ(vyv223000))), vyv188, h) -> new_pr2F0G10(vyv188, vyv184, Succ(vyv223000), vyv223000, h) 214.29/145.89 new_pr2F0(vyv184, Neg(Succ(Zero)), vyv188, h) -> new_pr2F0G11(vyv188, vyv184, Zero, h) 214.29/145.89 new_pr2F0G10(vyv249, vyv250, vyv251, Succ(Zero), bb) -> new_pr2F0G11(vyv249, vyv250, vyv251, bb) 214.29/145.89 new_pr2F0G(vyv188, vyv184, Pos(Succ(Zero)), h) -> new_pr2F(vyv184, Zero, new_fromInt, vyv188, h) 214.29/145.89 new_pr2F0G(vyv188, vyv184, Pos(Zero), h) -> new_pr2F0G(vyv188, new_sr(vyv184, h), new_primQuotInt(Zero, new_fromInt0), h) 214.29/145.89 new_pr2F0G(vyv188, vyv184, Neg(Succ(Succ(vyv223000))), h) -> new_pr2F0G10(vyv188, vyv184, Succ(vyv223000), vyv223000, h) 214.29/145.89 new_pr2F3(False, vyv228, vyv229, vyv245, vyv227, ba) -> new_pr2F0(vyv228, new_ms(vyv229, vyv245), new_sr2(vyv228, vyv227, ba), ba) 214.29/145.89 new_pr2F0(vyv184, Pos(Succ(Succ(vyv223000))), vyv188, h) -> new_pr2F0G1(vyv188, vyv184, Succ(vyv223000), vyv223000, h) 214.29/145.89 new_pr2F0G1(vyv227, vyv228, vyv229, Zero, ba) -> new_pr2F0G(vyv227, new_sr1(vyv228, ba), new_primQuotInt(Succ(vyv229), new_fromInt0), ba) 214.29/145.89 new_pr2F1(vyv240, vyv241, vyv244, vyv239, bc) -> new_pr2F30(new_esEs(new_ms0(vyv241, vyv244)), vyv240, vyv241, vyv244, vyv239, bc) 214.29/145.89 new_pr2F(vyv228, vyv229, vyv245, vyv227, ba) -> new_pr2F3(new_esEs(new_ms(vyv229, vyv245)), vyv228, vyv229, vyv245, vyv227, ba) 214.29/145.89 new_pr2F0G1(vyv227, vyv228, vyv229, Succ(Succ(vyv23000)), ba) -> new_pr2F0G1(vyv227, vyv228, vyv229, vyv23000, ba) 214.29/145.89 new_pr2F30(False, vyv240, vyv241, vyv244, vyv239, bc) -> new_pr2F0(vyv240, new_ms0(vyv241, vyv244), new_sr4(vyv240, vyv239, bc), bc) 214.29/145.89 new_pr2F0(vyv184, Pos(Zero), vyv188, h) -> new_pr2F0G(vyv188, new_sr(vyv184, h), new_primQuotInt(Zero, new_fromInt0), h) 214.29/145.89 new_pr2F0(vyv184, Neg(Zero), vyv188, h) -> new_pr2F0G(vyv188, new_sr0(vyv184, h), new_primQuotInt0(Zero, Pos(Succ(Succ(Zero)))), h) 214.29/145.89 new_pr2F0G11(vyv239, vyv240, vyv241, bc) -> new_pr2F1(vyv240, vyv241, Pos(Succ(Zero)), vyv239, bc) 214.29/145.89 new_pr2F0G(vyv188, vyv184, Neg(Zero), h) -> new_pr2F0G(vyv188, new_sr0(vyv184, h), new_primQuotInt0(Zero, Pos(Succ(Succ(Zero)))), h) 214.29/145.89 214.29/145.89 The TRS R consists of the following rules: 214.29/145.89 214.29/145.89 new_sr1(vyv228, ty_Double) -> new_sr11(vyv228) 214.29/145.89 new_quot1(vyv267, vyv268, vyv265, vyv266, ty_Int) -> new_quot(new_sr10(vyv267, vyv268), new_sr10(vyv265, vyv266), new_sr10(vyv267, vyv268)) 214.29/145.89 new_primPlusNat0(Zero, Zero) -> Zero 214.29/145.89 new_abs(Neg(Zero)) -> Neg(Zero) 214.29/145.89 new_sr(vyv184, ty_Double) -> new_sr11(vyv184) 214.29/145.89 new_primDivNatS1(Zero, vyv28500) -> Zero 214.29/145.89 new_sr1(vyv228, ty_Float) -> new_sr12(vyv228) 214.29/145.89 new_quot0(vyv265, vyv266, vyv267, vyv268, ty_Integer) -> new_quot2(new_sr9(vyv265, vyv266), new_sr9(vyv265, vyv266), new_sr9(vyv267, vyv268)) 214.29/145.89 new_sr11(vyv184) -> error([]) 214.29/145.89 new_sr(vyv184, app(ty_Ratio, bd)) -> new_sr5(vyv184, bd) 214.29/145.89 new_primDivNatS01(vyv311, vyv312, Succ(vyv3130), Zero) -> new_primDivNatS02(vyv311, vyv312) 214.29/145.89 new_primDivNatS1(Succ(Succ(vyv271000)), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS0(vyv271000), Zero)) 214.29/145.89 new_primMinusNatS2(Zero, Succ(vyv3120)) -> Zero 214.29/145.89 new_sr1(vyv228, app(ty_Ratio, bg)) -> new_sr5(vyv228, bg) 214.29/145.89 new_primMinusNat0(Succ(vyv2290), Succ(vyv245000)) -> new_primMinusNat0(vyv2290, vyv245000) 214.29/145.89 new_primEqInt(Pos(Succ(vyv242000))) -> False 214.29/145.89 new_sr(vyv184, ty_Float) -> new_sr12(vyv184) 214.29/145.89 new_sr2(vyv228, vyv227, ty_Integer) -> new_sr9(vyv228, vyv227) 214.29/145.89 new_ms(vyv229, Neg(vyv2450)) -> Pos(new_primPlusNat0(Succ(vyv229), vyv2450)) 214.29/145.89 new_gcd1(True, vyv273, vyv272) -> new_error 214.29/145.89 new_abs(Neg(Succ(vyv27200))) -> Pos(Succ(vyv27200)) 214.29/145.89 new_primMulNat1(Succ(vyv18400)) -> new_primPlusNat0(new_primMulNat2(vyv18400), Succ(vyv18400)) 214.29/145.89 new_esEs0(vyv1841, ty_Int) -> new_esEs(new_sr7(vyv1841)) 214.29/145.89 new_sr2(vyv228, vyv227, ty_Int) -> new_sr10(vyv228, vyv227) 214.29/145.89 new_sr0(vyv184, ty_Double) -> new_sr11(vyv184) 214.29/145.89 new_sr12(vyv184) -> error([]) 214.29/145.89 new_primMinusNatS1 -> Zero 214.29/145.89 new_ms(vyv229, Pos(Succ(vyv24500))) -> new_primMinusNat0(vyv229, vyv24500) 214.29/145.89 new_primMinusNatS2(Succ(vyv3110), Zero) -> Succ(vyv3110) 214.29/145.89 new_sr3(vyv250, ty_Double) -> new_sr11(vyv250) 214.29/145.89 new_primDivNatS01(vyv311, vyv312, Zero, Succ(vyv3140)) -> Zero 214.29/145.89 new_gcd0Gcd'10(True, vyv292, vyv293) -> vyv292 214.29/145.89 new_primPlusNat0(Succ(vyv4000), Succ(vyv6000)) -> Succ(Succ(new_primPlusNat0(vyv4000, vyv6000))) 214.29/145.89 new_sr5(:%(vyv1840, vyv1841), bd) -> new_reduce2Reduce1(vyv1840, vyv1840, vyv1841, vyv1841, new_esEs0(vyv1841, bd), bd) 214.29/145.89 new_primMulNat2(Succ(vyv184000)) -> new_primPlusNat0(new_primMulNat3(vyv184000), Succ(Succ(vyv184000))) 214.29/145.89 new_primDivNatS02(vyv311, vyv312) -> Succ(new_primDivNatS1(new_primMinusNatS2(vyv311, vyv312), Succ(vyv312))) 214.29/145.89 new_sr2(vyv228, vyv227, app(ty_Ratio, bg)) -> new_sr8(vyv228, vyv227, bg) 214.29/145.89 new_sr3(vyv250, ty_Int) -> new_sr7(vyv250) 214.29/145.89 new_gcd1(False, vyv273, vyv272) -> new_gcd0(vyv273, vyv272) 214.29/145.89 new_reduce2Reduce1(vyv265, vyv266, vyv267, vyv268, False, bh) -> :%(new_quot0(vyv265, vyv266, vyv267, vyv268, bh), new_quot1(vyv267, vyv268, vyv265, vyv266, bh)) 214.29/145.89 new_primDivNatS1(Succ(Zero), Succ(vyv285000)) -> Zero 214.29/145.89 new_primMulNat4(Succ(vyv18400000)) -> new_primPlusNat0(new_primMulNat0(vyv18400000, Succ(Succ(Succ(Succ(vyv18400000))))), Succ(Succ(Succ(Succ(vyv18400000))))) 214.29/145.89 new_primModNatS1(Succ(Succ(vyv293000)), Succ(vyv292000)) -> new_primModNatS01(vyv293000, vyv292000, vyv293000, vyv292000) 214.29/145.89 new_primModNatS01(vyv331, vyv332, Zero, Succ(vyv3340)) -> Succ(Succ(vyv331)) 214.29/145.89 new_gcd0Gcd'00(vyv293, vyv292) -> new_gcd0Gcd'10(new_esEs(new_rem(vyv293, vyv292)), vyv292, vyv293) 214.29/145.89 new_esEs2(vyv2401, vyv2391, ty_Integer) -> new_esEs1(new_sr9(vyv2401, vyv2391)) 214.29/145.89 new_sr10(Pos(vyv2400), Pos(vyv2390)) -> Pos(new_primMulNat0(vyv2400, vyv2390)) 214.29/145.89 new_esEs0(vyv1841, ty_Integer) -> new_esEs1(new_sr6(vyv1841)) 214.29/145.89 new_quot(Pos(vyv2710), vyv273, vyv272) -> new_primQuotInt(vyv2710, new_gcd(vyv273, vyv272)) 214.29/145.89 new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) 214.29/145.89 new_gcd0Gcd'10(False, vyv292, vyv293) -> new_gcd0Gcd'00(vyv292, new_rem(vyv293, vyv292)) 214.29/145.89 new_sr6(vyv184) -> error([]) 214.29/145.89 new_esEs2(vyv2401, vyv2391, ty_Int) -> new_esEs(new_sr10(vyv2401, vyv2391)) 214.29/145.89 new_esEs(Pos(Succ(vyv24300))) -> new_primEqInt(Pos(Succ(vyv24300))) 214.29/145.89 new_quot0(vyv265, vyv266, vyv267, vyv268, ty_Int) -> new_quot(new_sr10(vyv265, vyv266), new_sr10(vyv265, vyv266), new_sr10(vyv267, vyv268)) 214.29/145.89 new_ms(vyv229, Pos(Zero)) -> Pos(Succ(vyv229)) 214.29/145.89 new_sr3(vyv250, ty_Float) -> new_sr12(vyv250) 214.29/145.89 new_gcd0Gcd'11(True, vyv273, vyv272) -> new_abs(vyv273) 214.29/145.89 new_primMinusNat0(Zero, Zero) -> Pos(Zero) 214.29/145.89 new_primModNatS01(vyv331, vyv332, Zero, Zero) -> new_primModNatS02(vyv331, vyv332) 214.29/145.89 new_sr9(vyv240, vyv239) -> error([]) 214.29/145.89 new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) 214.29/145.89 new_rem(Pos(vyv2930), Neg(Zero)) -> new_error 214.29/145.89 new_rem(Neg(vyv2930), Pos(Zero)) -> new_error 214.29/145.89 new_primModNatS01(vyv331, vyv332, Succ(vyv3330), Zero) -> new_primModNatS02(vyv331, vyv332) 214.29/145.89 new_primModNatS02(vyv331, vyv332) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv331), Succ(vyv332)), Succ(vyv332)) 214.29/145.89 new_rem(Pos(vyv2930), Neg(Succ(vyv29200))) -> Pos(new_primModNatS1(vyv2930, vyv29200)) 214.29/145.89 new_primMulNat0(Succ(vyv24000), Zero) -> Zero 214.29/145.89 new_primMulNat0(Zero, Succ(vyv23900)) -> Zero 214.29/145.89 new_quot(Neg(vyv2710), vyv273, vyv272) -> new_primQuotInt0(vyv2710, new_gcd(vyv273, vyv272)) 214.29/145.89 new_primQuotInt0(vyv2710, Neg(Zero)) -> new_error 214.29/145.89 new_sr0(vyv184, ty_Float) -> new_sr12(vyv184) 214.29/145.89 new_primQuotInt(vyv2710, Neg(Zero)) -> new_error 214.29/145.89 new_sr13(vyv240, vyv239) -> error([]) 214.29/145.89 new_rem(Neg(vyv2930), Pos(Succ(vyv29200))) -> Neg(new_primModNatS1(vyv2930, vyv29200)) 214.29/145.89 new_sr4(vyv240, vyv239, app(ty_Ratio, be)) -> new_sr8(vyv240, vyv239, be) 214.29/145.89 new_primMulNat4(Zero) -> Zero 214.29/145.89 new_primDivNatS01(vyv311, vyv312, Succ(vyv3130), Succ(vyv3140)) -> new_primDivNatS01(vyv311, vyv312, vyv3130, vyv3140) 214.29/145.89 new_primPlusNat0(Succ(vyv4000), Zero) -> Succ(vyv4000) 214.29/145.89 new_primPlusNat0(Zero, Succ(vyv6000)) -> Succ(vyv6000) 214.29/145.89 new_primMulNat0(Zero, Zero) -> Zero 214.29/145.89 new_primQuotInt(vyv2710, Pos(Succ(vyv28500))) -> Pos(new_primDivNatS1(vyv2710, vyv28500)) 214.29/145.89 new_gcd0(vyv273, vyv272) -> new_gcd0Gcd'11(new_esEs(new_abs(vyv272)), vyv273, vyv272) 214.29/145.89 new_sr(vyv184, ty_Int) -> new_sr7(vyv184) 214.29/145.89 new_primMulNat3(Succ(vyv1840000)) -> new_primPlusNat0(new_primMulNat4(vyv1840000), Succ(Succ(Succ(vyv1840000)))) 214.29/145.89 new_esEs(Neg(Succ(vyv24300))) -> new_primEqInt(Neg(Succ(vyv24300))) 214.29/145.89 new_esEs1(Integer(vyv2700)) -> new_primEqInt(vyv2700) 214.29/145.89 new_sr8(:%(vyv2400, vyv2401), :%(vyv2390, vyv2391), be) -> new_reduce2Reduce1(vyv2400, vyv2390, vyv2401, vyv2391, new_esEs2(vyv2401, vyv2391, be), be) 214.29/145.89 new_sr0(vyv184, ty_Int) -> new_sr7(vyv184) 214.29/145.89 new_sr7(Pos(vyv1840)) -> Pos(new_primMulNat1(vyv1840)) 214.29/145.89 new_primMulNat0(Succ(vyv24000), Succ(vyv23900)) -> new_primPlusNat0(new_primMulNat0(vyv24000, Succ(vyv23900)), Succ(vyv23900)) 214.29/145.89 new_sr1(vyv228, ty_Integer) -> new_sr6(vyv228) 214.29/145.89 new_primQuotInt(vyv2710, Pos(Zero)) -> new_error 214.29/145.89 new_rem(Pos(vyv2930), Pos(Succ(vyv29200))) -> Pos(new_primModNatS1(vyv2930, vyv29200)) 214.29/145.89 new_gcd0Gcd'11(False, vyv273, vyv272) -> new_gcd0Gcd'00(new_abs(vyv273), new_abs(vyv272)) 214.29/145.89 new_abs(Pos(Succ(vyv27200))) -> Pos(Succ(vyv27200)) 214.29/145.89 new_primEqInt(Pos(Zero)) -> True 214.29/145.89 new_primMulNat1(Zero) -> Zero 214.29/145.89 new_sr3(vyv250, ty_Integer) -> new_sr6(vyv250) 214.29/145.89 new_gcd(vyv273, vyv272) -> new_gcd2(new_esEs(vyv273), vyv273, vyv272) 214.29/145.89 new_rem(Neg(vyv2930), Neg(Zero)) -> new_error 214.29/145.89 new_gcd2(True, vyv273, vyv272) -> new_gcd1(new_esEs(vyv272), vyv273, vyv272) 214.29/145.89 new_sr(vyv184, ty_Integer) -> new_sr6(vyv184) 214.29/145.89 new_primMinusNat0(Zero, Succ(vyv245000)) -> Neg(Succ(vyv245000)) 214.29/145.89 new_primQuotInt0(vyv2710, Pos(Succ(vyv28800))) -> Neg(new_primDivNatS1(vyv2710, vyv28800)) 214.29/145.89 new_ms0(vyv241, Neg(Zero)) -> Neg(Succ(vyv241)) 214.29/145.89 new_sr10(Neg(vyv2400), Neg(vyv2390)) -> Pos(new_primMulNat0(vyv2400, vyv2390)) 214.29/145.89 new_sr4(vyv240, vyv239, ty_Float) -> new_sr14(vyv240, vyv239) 214.29/145.89 new_sr1(vyv228, ty_Int) -> new_sr7(vyv228) 214.29/145.89 new_fromInt -> Pos(Succ(Zero)) 214.29/145.89 new_primDivNatS1(Succ(Succ(vyv271000)), Succ(vyv285000)) -> new_primDivNatS01(vyv271000, vyv285000, vyv271000, vyv285000) 214.29/145.89 new_abs(Pos(Zero)) -> Pos(Zero) 214.29/145.89 new_sr7(Neg(vyv1840)) -> Pos(new_primMulNat1(vyv1840)) 214.29/145.89 new_primMulNat2(Zero) -> Zero 214.29/145.89 new_sr10(Pos(vyv2400), Neg(vyv2390)) -> Neg(new_primMulNat0(vyv2400, vyv2390)) 214.29/145.89 new_sr10(Neg(vyv2400), Pos(vyv2390)) -> Neg(new_primMulNat0(vyv2400, vyv2390)) 214.29/145.89 new_primMinusNat0(Succ(vyv2290), Zero) -> Pos(Succ(vyv2290)) 214.29/145.89 new_primModNatS01(vyv331, vyv332, Succ(vyv3330), Succ(vyv3340)) -> new_primModNatS01(vyv331, vyv332, vyv3330, vyv3340) 214.29/145.89 new_primModNatS1(Succ(Succ(vyv293000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv293000), Zero) 214.29/145.89 new_reduce2Reduce1(vyv265, vyv266, vyv267, vyv268, True, bh) -> error([]) 214.29/145.89 new_primModNatS1(Succ(Zero), Succ(vyv292000)) -> Succ(Zero) 214.29/145.89 new_primMinusNatS2(Zero, Zero) -> Zero 214.29/145.89 new_primEqInt(Neg(Zero)) -> True 214.29/145.89 new_primQuotInt(vyv2710, Neg(Succ(vyv28500))) -> Neg(new_primDivNatS1(vyv2710, vyv28500)) 214.29/145.89 new_primMinusNatS2(Succ(vyv3110), Succ(vyv3120)) -> new_primMinusNatS2(vyv3110, vyv3120) 214.29/145.89 new_primMinusNatS0(vyv271000) -> Succ(vyv271000) 214.29/145.89 new_primMulNat3(Zero) -> Zero 214.29/145.89 new_ms0(vyv241, Pos(vyv2440)) -> Neg(new_primPlusNat0(Succ(vyv241), vyv2440)) 214.29/145.89 new_primQuotInt0(vyv2710, Neg(Succ(vyv28800))) -> Pos(new_primDivNatS1(vyv2710, vyv28800)) 214.29/145.89 new_sr2(vyv228, vyv227, ty_Double) -> new_sr13(vyv228, vyv227) 214.29/145.89 new_sr14(vyv240, vyv239) -> error([]) 214.29/145.89 new_rem(Neg(vyv2930), Neg(Succ(vyv29200))) -> Neg(new_primModNatS1(vyv2930, vyv29200)) 214.29/145.89 new_primModNatS1(Zero, vyv29200) -> Zero 214.29/145.89 new_primDivNatS1(Succ(Zero), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS1, Zero)) 214.29/145.89 new_sr3(vyv250, app(ty_Ratio, bf)) -> new_sr5(vyv250, bf) 214.29/145.89 new_quot2(vyv274, vyv276, vyv275) -> error([]) 214.29/145.89 new_error -> error([]) 214.29/145.89 new_primEqInt(Neg(Succ(vyv242000))) -> False 214.29/145.89 new_sr4(vyv240, vyv239, ty_Int) -> new_sr10(vyv240, vyv239) 214.29/145.89 new_fromInt0 -> Pos(Succ(Succ(Zero))) 214.29/145.89 new_sr4(vyv240, vyv239, ty_Double) -> new_sr13(vyv240, vyv239) 214.29/145.89 new_gcd2(False, vyv273, vyv272) -> new_gcd0(vyv273, vyv272) 214.29/145.89 new_sr4(vyv240, vyv239, ty_Integer) -> new_sr9(vyv240, vyv239) 214.29/145.89 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 214.29/145.89 new_primDivNatS01(vyv311, vyv312, Zero, Zero) -> new_primDivNatS02(vyv311, vyv312) 214.29/145.89 new_ms0(vyv241, Neg(Succ(vyv24400))) -> new_primMinusNat0(vyv24400, vyv241) 214.29/145.89 new_quot1(vyv267, vyv268, vyv265, vyv266, ty_Integer) -> new_quot2(new_sr9(vyv267, vyv268), new_sr9(vyv265, vyv266), new_sr9(vyv267, vyv268)) 214.29/145.89 new_sr0(vyv184, app(ty_Ratio, bd)) -> new_sr5(vyv184, bd) 214.29/145.89 new_primQuotInt0(vyv2710, Pos(Zero)) -> new_error 214.29/145.89 new_sr0(vyv184, ty_Integer) -> new_sr6(vyv184) 214.29/145.89 new_sr2(vyv228, vyv227, ty_Float) -> new_sr14(vyv228, vyv227) 214.29/145.89 new_rem(Pos(vyv2930), Pos(Zero)) -> new_error 214.29/145.89 214.29/145.89 The set Q consists of the following terms: 214.29/145.89 214.29/145.89 new_sr13(x0, x1) 214.29/145.89 new_primDivNatS01(x0, x1, Zero, Zero) 214.29/145.89 new_gcd0Gcd'11(False, x0, x1) 214.29/145.89 new_primMulNat4(Zero) 214.29/145.89 new_gcd0Gcd'11(True, x0, x1) 214.29/145.89 new_sr2(x0, x1, ty_Float) 214.29/145.89 new_sr5(:%(x0, x1), x2) 214.29/145.89 new_primEqInt(Pos(Zero)) 214.29/145.89 new_ms(x0, Neg(x1)) 214.29/145.89 new_sr2(x0, x1, ty_Double) 214.29/145.89 new_esEs(Pos(Succ(x0))) 214.29/145.89 new_primQuotInt0(x0, Neg(Zero)) 214.29/145.89 new_primMulNat3(Zero) 214.29/145.89 new_primModNatS02(x0, x1) 214.29/145.89 new_sr(x0, ty_Double) 214.29/145.89 new_sr0(x0, ty_Double) 214.29/145.89 new_primDivNatS1(Succ(Zero), Zero) 214.29/145.89 new_primMinusNatS0(x0) 214.29/145.89 new_sr11(x0) 214.29/145.89 new_sr0(x0, app(ty_Ratio, x1)) 214.29/145.89 new_rem(Pos(x0), Neg(Succ(x1))) 214.29/145.89 new_rem(Neg(x0), Pos(Succ(x1))) 214.29/145.89 new_primMulNat0(Zero, Zero) 214.29/145.89 new_primPlusNat0(Succ(x0), Zero) 214.29/145.89 new_fromInt0 214.29/145.89 new_primMulNat0(Succ(x0), Zero) 214.29/145.89 new_sr3(x0, ty_Float) 214.29/145.89 new_fromInt 214.29/145.89 new_primMulNat2(Zero) 214.29/145.89 new_primQuotInt(x0, Pos(Zero)) 214.29/145.89 new_primMulNat2(Succ(x0)) 214.29/145.89 new_primQuotInt(x0, Neg(Zero)) 214.29/145.89 new_rem(Neg(x0), Neg(Succ(x1))) 214.29/145.89 new_primMinusNatS2(Zero, Succ(x0)) 214.29/145.89 new_sr(x0, ty_Int) 214.29/145.89 new_sr4(x0, x1, ty_Double) 214.29/145.89 new_primMulNat3(Succ(x0)) 214.29/145.89 new_sr0(x0, ty_Float) 214.29/145.89 new_esEs1(Integer(x0)) 214.29/145.89 new_primQuotInt0(x0, Pos(Zero)) 214.29/145.89 new_gcd2(True, x0, x1) 214.29/145.89 new_quot1(x0, x1, x2, x3, ty_Int) 214.29/145.89 new_primDivNatS1(Zero, x0) 214.29/145.89 new_primMinusNat0(Zero, Zero) 214.29/145.89 new_gcd(x0, x1) 214.29/145.89 new_gcd1(False, x0, x1) 214.29/145.89 new_esEs2(x0, x1, ty_Int) 214.29/145.89 new_sr3(x0, ty_Integer) 214.29/145.89 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 214.29/145.89 new_sr1(x0, app(ty_Ratio, x1)) 214.29/145.89 new_sr1(x0, ty_Float) 214.29/145.89 new_primPlusNat0(Zero, Succ(x0)) 214.29/145.89 new_sr8(:%(x0, x1), :%(x2, x3), x4) 214.29/145.89 new_abs(Neg(Zero)) 214.29/145.89 new_primMinusNatS2(Succ(x0), Zero) 214.29/145.89 new_error 214.29/145.89 new_primModNatS1(Succ(Zero), Zero) 214.29/145.89 new_primMulNat4(Succ(x0)) 214.29/145.89 new_sr1(x0, ty_Integer) 214.29/145.89 new_primDivNatS02(x0, x1) 214.29/145.89 new_sr1(x0, ty_Int) 214.29/145.89 new_rem(Neg(x0), Neg(Zero)) 214.29/145.89 new_primMinusNat0(Zero, Succ(x0)) 214.29/145.89 new_primEqInt(Neg(Zero)) 214.29/145.89 new_rem(Pos(x0), Pos(Succ(x1))) 214.29/145.89 new_abs(Pos(Succ(x0))) 214.29/145.89 new_primMulNat0(Succ(x0), Succ(x1)) 214.29/145.89 new_primMulNat0(Zero, Succ(x0)) 214.29/145.89 new_reduce2Reduce1(x0, x1, x2, x3, True, x4) 214.29/145.89 new_sr(x0, ty_Float) 214.29/145.89 new_gcd0Gcd'10(False, x0, x1) 214.29/145.89 new_sr12(x0) 214.29/145.89 new_primDivNatS01(x0, x1, Zero, Succ(x2)) 214.29/145.89 new_sr10(Pos(x0), Pos(x1)) 214.29/145.89 new_primModNatS01(x0, x1, Zero, Succ(x2)) 214.29/145.89 new_primPlusNat0(Zero, Zero) 214.29/145.89 new_sr(x0, ty_Integer) 214.29/145.89 new_primQuotInt0(x0, Pos(Succ(x1))) 214.29/145.89 new_primModNatS01(x0, x1, Succ(x2), Zero) 214.29/145.89 new_ms(x0, Pos(Succ(x1))) 214.29/145.89 new_primModNatS1(Succ(Succ(x0)), Zero) 214.29/145.89 new_sr4(x0, x1, ty_Integer) 214.29/145.89 new_rem(Pos(x0), Pos(Zero)) 214.29/145.89 new_sr4(x0, x1, ty_Int) 214.29/145.89 new_ms0(x0, Neg(Succ(x1))) 214.29/145.89 new_quot(Pos(x0), x1, x2) 214.29/145.89 new_primMinusNatS2(Zero, Zero) 214.29/145.89 new_esEs0(x0, ty_Int) 214.29/145.89 new_primMinusNat0(Succ(x0), Zero) 214.29/145.89 new_ms0(x0, Pos(x1)) 214.29/145.89 new_esEs(Pos(Zero)) 214.29/145.89 new_quot(Neg(x0), x1, x2) 214.29/145.89 new_primDivNatS01(x0, x1, Succ(x2), Succ(x3)) 214.29/145.89 new_quot2(x0, x1, x2) 214.29/145.89 new_primEqInt(Neg(Succ(x0))) 214.29/145.89 new_sr10(Neg(x0), Neg(x1)) 214.29/145.89 new_sr3(x0, app(ty_Ratio, x1)) 214.29/145.89 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 214.29/145.89 new_sr9(x0, x1) 214.29/145.89 new_sr2(x0, x1, ty_Integer) 214.29/145.89 new_sr7(Neg(x0)) 214.29/145.89 new_sr1(x0, ty_Double) 214.29/145.89 new_primQuotInt0(x0, Neg(Succ(x1))) 214.29/145.89 new_sr0(x0, ty_Integer) 214.29/145.89 new_rem(Pos(x0), Neg(Zero)) 214.29/145.89 new_rem(Neg(x0), Pos(Zero)) 214.29/145.89 new_gcd0Gcd'00(x0, x1) 214.29/145.89 new_primQuotInt(x0, Neg(Succ(x1))) 214.29/145.89 new_primMinusNatS2(Succ(x0), Succ(x1)) 214.29/145.89 new_ms(x0, Pos(Zero)) 214.29/145.89 new_abs(Pos(Zero)) 214.29/145.89 new_primMinusNat0(Succ(x0), Succ(x1)) 214.29/145.89 new_quot0(x0, x1, x2, x3, ty_Integer) 214.29/145.89 new_sr0(x0, ty_Int) 214.29/145.89 new_sr6(x0) 214.29/145.89 new_gcd2(False, x0, x1) 214.29/145.89 new_gcd1(True, x0, x1) 214.29/145.89 new_esEs2(x0, x1, ty_Integer) 214.29/145.89 new_primMinusNatS1 214.29/145.89 new_sr7(Pos(x0)) 214.29/145.89 new_gcd0Gcd'10(True, x0, x1) 214.29/145.89 new_primModNatS1(Zero, x0) 214.29/145.89 new_sr4(x0, x1, ty_Float) 214.29/145.89 new_sr10(Pos(x0), Neg(x1)) 214.29/145.89 new_sr10(Neg(x0), Pos(x1)) 214.29/145.89 new_primDivNatS01(x0, x1, Succ(x2), Zero) 214.29/145.89 new_primDivNatS1(Succ(Succ(x0)), Succ(x1)) 214.29/145.89 new_primPlusNat0(Succ(x0), Succ(x1)) 214.29/145.89 new_primDivNatS1(Succ(Zero), Succ(x0)) 214.29/145.89 new_primQuotInt(x0, Pos(Succ(x1))) 214.29/145.89 new_sr2(x0, x1, app(ty_Ratio, x2)) 214.29/145.89 new_abs(Neg(Succ(x0))) 214.29/145.89 new_esEs0(x0, ty_Integer) 214.29/145.89 new_sr3(x0, ty_Int) 214.29/145.89 new_esEs(Neg(Succ(x0))) 214.29/145.89 new_sr(x0, app(ty_Ratio, x1)) 214.29/145.89 new_ms0(x0, Neg(Zero)) 214.29/145.89 new_primModNatS01(x0, x1, Zero, Zero) 214.29/145.89 new_sr4(x0, x1, app(ty_Ratio, x2)) 214.29/145.89 new_gcd0(x0, x1) 214.29/145.89 new_primEqInt(Pos(Succ(x0))) 214.29/145.89 new_sr3(x0, ty_Double) 214.29/145.89 new_quot1(x0, x1, x2, x3, ty_Integer) 214.29/145.89 new_primDivNatS1(Succ(Succ(x0)), Zero) 214.29/145.89 new_primMulNat1(Succ(x0)) 214.29/145.89 new_sr14(x0, x1) 214.29/145.89 new_quot0(x0, x1, x2, x3, ty_Int) 214.29/145.89 new_sr2(x0, x1, ty_Int) 214.29/145.89 new_primModNatS1(Succ(Zero), Succ(x0)) 214.29/145.89 new_reduce2Reduce1(x0, x1, x2, x3, False, x4) 214.29/145.89 new_esEs(Neg(Zero)) 214.29/145.89 new_primMulNat1(Zero) 214.29/145.89 214.29/145.89 We have to consider all minimal (P,Q,R)-chains. 214.29/145.89 ---------------------------------------- 214.29/145.89 214.29/145.89 (694) TransformationProof (EQUIVALENT) 214.29/145.89 By rewriting [LPAR04] the rule new_pr2F0G10(vyv249, vyv250, vyv251, Zero, bb) -> new_pr2F0G(vyv249, new_sr3(vyv250, bb), new_primQuotInt0(Succ(vyv251), new_fromInt0), bb) at position [2,1] we obtained the following new rules [LPAR04]: 214.29/145.89 214.29/145.89 (new_pr2F0G10(vyv249, vyv250, vyv251, Zero, bb) -> new_pr2F0G(vyv249, new_sr3(vyv250, bb), new_primQuotInt0(Succ(vyv251), Pos(Succ(Succ(Zero)))), bb),new_pr2F0G10(vyv249, vyv250, vyv251, Zero, bb) -> new_pr2F0G(vyv249, new_sr3(vyv250, bb), new_primQuotInt0(Succ(vyv251), Pos(Succ(Succ(Zero)))), bb)) 214.29/145.89 214.29/145.89 214.29/145.89 ---------------------------------------- 214.29/145.89 214.29/145.89 (695) 214.29/145.89 Obligation: 214.29/145.89 Q DP problem: 214.29/145.89 The TRS P consists of the following rules: 214.29/145.89 214.29/145.89 new_pr2F0G10(vyv249, vyv250, vyv251, Succ(Succ(vyv25200)), bb) -> new_pr2F0G10(vyv249, vyv250, vyv251, vyv25200, bb) 214.29/145.89 new_pr2F0G(vyv188, vyv184, Neg(Succ(Zero)), h) -> new_pr2F0G11(vyv188, vyv184, Zero, h) 214.29/145.89 new_pr2F0G(vyv188, vyv184, Pos(Succ(Succ(vyv223000))), h) -> new_pr2F0G1(vyv188, vyv184, Succ(vyv223000), vyv223000, h) 214.29/145.89 new_pr2F0(vyv184, Pos(Succ(Zero)), vyv188, h) -> new_pr2F(vyv184, Zero, new_fromInt, vyv188, h) 214.29/145.89 new_pr2F0G1(vyv227, vyv228, vyv229, Succ(Zero), ba) -> new_pr2F(vyv228, vyv229, new_fromInt, vyv227, ba) 214.29/145.89 new_pr2F0(vyv184, Neg(Succ(Succ(vyv223000))), vyv188, h) -> new_pr2F0G10(vyv188, vyv184, Succ(vyv223000), vyv223000, h) 214.29/145.89 new_pr2F0(vyv184, Neg(Succ(Zero)), vyv188, h) -> new_pr2F0G11(vyv188, vyv184, Zero, h) 214.29/145.89 new_pr2F0G10(vyv249, vyv250, vyv251, Succ(Zero), bb) -> new_pr2F0G11(vyv249, vyv250, vyv251, bb) 214.29/145.89 new_pr2F0G(vyv188, vyv184, Pos(Succ(Zero)), h) -> new_pr2F(vyv184, Zero, new_fromInt, vyv188, h) 214.29/145.89 new_pr2F0G(vyv188, vyv184, Pos(Zero), h) -> new_pr2F0G(vyv188, new_sr(vyv184, h), new_primQuotInt(Zero, new_fromInt0), h) 214.29/145.89 new_pr2F0G(vyv188, vyv184, Neg(Succ(Succ(vyv223000))), h) -> new_pr2F0G10(vyv188, vyv184, Succ(vyv223000), vyv223000, h) 214.29/145.89 new_pr2F3(False, vyv228, vyv229, vyv245, vyv227, ba) -> new_pr2F0(vyv228, new_ms(vyv229, vyv245), new_sr2(vyv228, vyv227, ba), ba) 214.29/145.89 new_pr2F0(vyv184, Pos(Succ(Succ(vyv223000))), vyv188, h) -> new_pr2F0G1(vyv188, vyv184, Succ(vyv223000), vyv223000, h) 214.29/145.89 new_pr2F0G1(vyv227, vyv228, vyv229, Zero, ba) -> new_pr2F0G(vyv227, new_sr1(vyv228, ba), new_primQuotInt(Succ(vyv229), new_fromInt0), ba) 214.29/145.89 new_pr2F1(vyv240, vyv241, vyv244, vyv239, bc) -> new_pr2F30(new_esEs(new_ms0(vyv241, vyv244)), vyv240, vyv241, vyv244, vyv239, bc) 214.29/145.89 new_pr2F(vyv228, vyv229, vyv245, vyv227, ba) -> new_pr2F3(new_esEs(new_ms(vyv229, vyv245)), vyv228, vyv229, vyv245, vyv227, ba) 214.29/145.89 new_pr2F0G1(vyv227, vyv228, vyv229, Succ(Succ(vyv23000)), ba) -> new_pr2F0G1(vyv227, vyv228, vyv229, vyv23000, ba) 214.29/145.89 new_pr2F30(False, vyv240, vyv241, vyv244, vyv239, bc) -> new_pr2F0(vyv240, new_ms0(vyv241, vyv244), new_sr4(vyv240, vyv239, bc), bc) 214.29/145.89 new_pr2F0(vyv184, Pos(Zero), vyv188, h) -> new_pr2F0G(vyv188, new_sr(vyv184, h), new_primQuotInt(Zero, new_fromInt0), h) 214.29/145.89 new_pr2F0(vyv184, Neg(Zero), vyv188, h) -> new_pr2F0G(vyv188, new_sr0(vyv184, h), new_primQuotInt0(Zero, Pos(Succ(Succ(Zero)))), h) 214.29/145.89 new_pr2F0G11(vyv239, vyv240, vyv241, bc) -> new_pr2F1(vyv240, vyv241, Pos(Succ(Zero)), vyv239, bc) 214.29/145.89 new_pr2F0G(vyv188, vyv184, Neg(Zero), h) -> new_pr2F0G(vyv188, new_sr0(vyv184, h), new_primQuotInt0(Zero, Pos(Succ(Succ(Zero)))), h) 214.29/145.89 new_pr2F0G10(vyv249, vyv250, vyv251, Zero, bb) -> new_pr2F0G(vyv249, new_sr3(vyv250, bb), new_primQuotInt0(Succ(vyv251), Pos(Succ(Succ(Zero)))), bb) 214.29/145.89 214.29/145.89 The TRS R consists of the following rules: 214.29/145.89 214.29/145.89 new_sr1(vyv228, ty_Double) -> new_sr11(vyv228) 214.29/145.89 new_quot1(vyv267, vyv268, vyv265, vyv266, ty_Int) -> new_quot(new_sr10(vyv267, vyv268), new_sr10(vyv265, vyv266), new_sr10(vyv267, vyv268)) 214.29/145.89 new_primPlusNat0(Zero, Zero) -> Zero 214.29/145.89 new_abs(Neg(Zero)) -> Neg(Zero) 214.29/145.89 new_sr(vyv184, ty_Double) -> new_sr11(vyv184) 214.29/145.89 new_primDivNatS1(Zero, vyv28500) -> Zero 214.29/145.89 new_sr1(vyv228, ty_Float) -> new_sr12(vyv228) 214.29/145.89 new_quot0(vyv265, vyv266, vyv267, vyv268, ty_Integer) -> new_quot2(new_sr9(vyv265, vyv266), new_sr9(vyv265, vyv266), new_sr9(vyv267, vyv268)) 214.29/145.89 new_sr11(vyv184) -> error([]) 214.29/145.89 new_sr(vyv184, app(ty_Ratio, bd)) -> new_sr5(vyv184, bd) 214.29/145.89 new_primDivNatS01(vyv311, vyv312, Succ(vyv3130), Zero) -> new_primDivNatS02(vyv311, vyv312) 214.29/145.89 new_primDivNatS1(Succ(Succ(vyv271000)), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS0(vyv271000), Zero)) 214.29/145.89 new_primMinusNatS2(Zero, Succ(vyv3120)) -> Zero 214.29/145.89 new_sr1(vyv228, app(ty_Ratio, bg)) -> new_sr5(vyv228, bg) 214.29/145.89 new_primMinusNat0(Succ(vyv2290), Succ(vyv245000)) -> new_primMinusNat0(vyv2290, vyv245000) 214.29/145.89 new_primEqInt(Pos(Succ(vyv242000))) -> False 214.29/145.89 new_sr(vyv184, ty_Float) -> new_sr12(vyv184) 214.29/145.89 new_sr2(vyv228, vyv227, ty_Integer) -> new_sr9(vyv228, vyv227) 214.29/145.89 new_ms(vyv229, Neg(vyv2450)) -> Pos(new_primPlusNat0(Succ(vyv229), vyv2450)) 214.29/145.89 new_gcd1(True, vyv273, vyv272) -> new_error 214.29/145.89 new_abs(Neg(Succ(vyv27200))) -> Pos(Succ(vyv27200)) 214.29/145.89 new_primMulNat1(Succ(vyv18400)) -> new_primPlusNat0(new_primMulNat2(vyv18400), Succ(vyv18400)) 214.29/145.89 new_esEs0(vyv1841, ty_Int) -> new_esEs(new_sr7(vyv1841)) 214.29/145.89 new_sr2(vyv228, vyv227, ty_Int) -> new_sr10(vyv228, vyv227) 214.29/145.89 new_sr0(vyv184, ty_Double) -> new_sr11(vyv184) 214.29/145.89 new_sr12(vyv184) -> error([]) 214.29/145.89 new_primMinusNatS1 -> Zero 214.29/145.89 new_ms(vyv229, Pos(Succ(vyv24500))) -> new_primMinusNat0(vyv229, vyv24500) 214.29/145.89 new_primMinusNatS2(Succ(vyv3110), Zero) -> Succ(vyv3110) 214.29/145.89 new_sr3(vyv250, ty_Double) -> new_sr11(vyv250) 214.29/145.89 new_primDivNatS01(vyv311, vyv312, Zero, Succ(vyv3140)) -> Zero 214.29/145.89 new_gcd0Gcd'10(True, vyv292, vyv293) -> vyv292 214.29/145.89 new_primPlusNat0(Succ(vyv4000), Succ(vyv6000)) -> Succ(Succ(new_primPlusNat0(vyv4000, vyv6000))) 214.29/145.89 new_sr5(:%(vyv1840, vyv1841), bd) -> new_reduce2Reduce1(vyv1840, vyv1840, vyv1841, vyv1841, new_esEs0(vyv1841, bd), bd) 214.29/145.89 new_primMulNat2(Succ(vyv184000)) -> new_primPlusNat0(new_primMulNat3(vyv184000), Succ(Succ(vyv184000))) 214.29/145.89 new_primDivNatS02(vyv311, vyv312) -> Succ(new_primDivNatS1(new_primMinusNatS2(vyv311, vyv312), Succ(vyv312))) 214.29/145.89 new_sr2(vyv228, vyv227, app(ty_Ratio, bg)) -> new_sr8(vyv228, vyv227, bg) 214.29/145.89 new_sr3(vyv250, ty_Int) -> new_sr7(vyv250) 214.29/145.89 new_gcd1(False, vyv273, vyv272) -> new_gcd0(vyv273, vyv272) 214.29/145.89 new_reduce2Reduce1(vyv265, vyv266, vyv267, vyv268, False, bh) -> :%(new_quot0(vyv265, vyv266, vyv267, vyv268, bh), new_quot1(vyv267, vyv268, vyv265, vyv266, bh)) 214.29/145.89 new_primDivNatS1(Succ(Zero), Succ(vyv285000)) -> Zero 214.29/145.89 new_primMulNat4(Succ(vyv18400000)) -> new_primPlusNat0(new_primMulNat0(vyv18400000, Succ(Succ(Succ(Succ(vyv18400000))))), Succ(Succ(Succ(Succ(vyv18400000))))) 214.29/145.89 new_primModNatS1(Succ(Succ(vyv293000)), Succ(vyv292000)) -> new_primModNatS01(vyv293000, vyv292000, vyv293000, vyv292000) 214.29/145.89 new_primModNatS01(vyv331, vyv332, Zero, Succ(vyv3340)) -> Succ(Succ(vyv331)) 214.29/145.89 new_gcd0Gcd'00(vyv293, vyv292) -> new_gcd0Gcd'10(new_esEs(new_rem(vyv293, vyv292)), vyv292, vyv293) 214.29/145.89 new_esEs2(vyv2401, vyv2391, ty_Integer) -> new_esEs1(new_sr9(vyv2401, vyv2391)) 214.29/145.89 new_sr10(Pos(vyv2400), Pos(vyv2390)) -> Pos(new_primMulNat0(vyv2400, vyv2390)) 214.29/145.89 new_esEs0(vyv1841, ty_Integer) -> new_esEs1(new_sr6(vyv1841)) 214.29/145.89 new_quot(Pos(vyv2710), vyv273, vyv272) -> new_primQuotInt(vyv2710, new_gcd(vyv273, vyv272)) 214.29/145.89 new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) 214.29/145.89 new_gcd0Gcd'10(False, vyv292, vyv293) -> new_gcd0Gcd'00(vyv292, new_rem(vyv293, vyv292)) 214.29/145.89 new_sr6(vyv184) -> error([]) 214.29/145.89 new_esEs2(vyv2401, vyv2391, ty_Int) -> new_esEs(new_sr10(vyv2401, vyv2391)) 214.29/145.89 new_esEs(Pos(Succ(vyv24300))) -> new_primEqInt(Pos(Succ(vyv24300))) 214.29/145.89 new_quot0(vyv265, vyv266, vyv267, vyv268, ty_Int) -> new_quot(new_sr10(vyv265, vyv266), new_sr10(vyv265, vyv266), new_sr10(vyv267, vyv268)) 214.29/145.89 new_ms(vyv229, Pos(Zero)) -> Pos(Succ(vyv229)) 214.29/145.89 new_sr3(vyv250, ty_Float) -> new_sr12(vyv250) 214.29/145.89 new_gcd0Gcd'11(True, vyv273, vyv272) -> new_abs(vyv273) 214.29/145.89 new_primMinusNat0(Zero, Zero) -> Pos(Zero) 214.29/145.89 new_primModNatS01(vyv331, vyv332, Zero, Zero) -> new_primModNatS02(vyv331, vyv332) 214.29/145.89 new_sr9(vyv240, vyv239) -> error([]) 214.29/145.89 new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) 214.29/145.89 new_rem(Pos(vyv2930), Neg(Zero)) -> new_error 214.29/145.89 new_rem(Neg(vyv2930), Pos(Zero)) -> new_error 214.29/145.89 new_primModNatS01(vyv331, vyv332, Succ(vyv3330), Zero) -> new_primModNatS02(vyv331, vyv332) 214.29/145.89 new_primModNatS02(vyv331, vyv332) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv331), Succ(vyv332)), Succ(vyv332)) 214.29/145.89 new_rem(Pos(vyv2930), Neg(Succ(vyv29200))) -> Pos(new_primModNatS1(vyv2930, vyv29200)) 214.29/145.89 new_primMulNat0(Succ(vyv24000), Zero) -> Zero 214.29/145.89 new_primMulNat0(Zero, Succ(vyv23900)) -> Zero 214.29/145.89 new_quot(Neg(vyv2710), vyv273, vyv272) -> new_primQuotInt0(vyv2710, new_gcd(vyv273, vyv272)) 214.29/145.89 new_primQuotInt0(vyv2710, Neg(Zero)) -> new_error 214.29/145.89 new_sr0(vyv184, ty_Float) -> new_sr12(vyv184) 214.29/145.89 new_primQuotInt(vyv2710, Neg(Zero)) -> new_error 214.29/145.89 new_sr13(vyv240, vyv239) -> error([]) 214.29/145.89 new_rem(Neg(vyv2930), Pos(Succ(vyv29200))) -> Neg(new_primModNatS1(vyv2930, vyv29200)) 214.29/145.89 new_sr4(vyv240, vyv239, app(ty_Ratio, be)) -> new_sr8(vyv240, vyv239, be) 214.29/145.89 new_primMulNat4(Zero) -> Zero 214.29/145.89 new_primDivNatS01(vyv311, vyv312, Succ(vyv3130), Succ(vyv3140)) -> new_primDivNatS01(vyv311, vyv312, vyv3130, vyv3140) 214.29/145.89 new_primPlusNat0(Succ(vyv4000), Zero) -> Succ(vyv4000) 214.29/145.89 new_primPlusNat0(Zero, Succ(vyv6000)) -> Succ(vyv6000) 214.29/145.89 new_primMulNat0(Zero, Zero) -> Zero 214.29/145.89 new_primQuotInt(vyv2710, Pos(Succ(vyv28500))) -> Pos(new_primDivNatS1(vyv2710, vyv28500)) 214.29/145.89 new_gcd0(vyv273, vyv272) -> new_gcd0Gcd'11(new_esEs(new_abs(vyv272)), vyv273, vyv272) 214.29/145.89 new_sr(vyv184, ty_Int) -> new_sr7(vyv184) 214.29/145.89 new_primMulNat3(Succ(vyv1840000)) -> new_primPlusNat0(new_primMulNat4(vyv1840000), Succ(Succ(Succ(vyv1840000)))) 214.29/145.89 new_esEs(Neg(Succ(vyv24300))) -> new_primEqInt(Neg(Succ(vyv24300))) 214.29/145.89 new_esEs1(Integer(vyv2700)) -> new_primEqInt(vyv2700) 214.29/145.89 new_sr8(:%(vyv2400, vyv2401), :%(vyv2390, vyv2391), be) -> new_reduce2Reduce1(vyv2400, vyv2390, vyv2401, vyv2391, new_esEs2(vyv2401, vyv2391, be), be) 214.29/145.89 new_sr0(vyv184, ty_Int) -> new_sr7(vyv184) 214.29/145.89 new_sr7(Pos(vyv1840)) -> Pos(new_primMulNat1(vyv1840)) 214.29/145.89 new_primMulNat0(Succ(vyv24000), Succ(vyv23900)) -> new_primPlusNat0(new_primMulNat0(vyv24000, Succ(vyv23900)), Succ(vyv23900)) 214.29/145.89 new_sr1(vyv228, ty_Integer) -> new_sr6(vyv228) 214.29/145.89 new_primQuotInt(vyv2710, Pos(Zero)) -> new_error 214.29/145.89 new_rem(Pos(vyv2930), Pos(Succ(vyv29200))) -> Pos(new_primModNatS1(vyv2930, vyv29200)) 214.29/145.89 new_gcd0Gcd'11(False, vyv273, vyv272) -> new_gcd0Gcd'00(new_abs(vyv273), new_abs(vyv272)) 214.29/145.89 new_abs(Pos(Succ(vyv27200))) -> Pos(Succ(vyv27200)) 214.29/145.89 new_primEqInt(Pos(Zero)) -> True 214.29/145.89 new_primMulNat1(Zero) -> Zero 214.29/145.89 new_sr3(vyv250, ty_Integer) -> new_sr6(vyv250) 214.29/145.89 new_gcd(vyv273, vyv272) -> new_gcd2(new_esEs(vyv273), vyv273, vyv272) 214.29/145.89 new_rem(Neg(vyv2930), Neg(Zero)) -> new_error 214.29/145.89 new_gcd2(True, vyv273, vyv272) -> new_gcd1(new_esEs(vyv272), vyv273, vyv272) 214.29/145.89 new_sr(vyv184, ty_Integer) -> new_sr6(vyv184) 214.29/145.89 new_primMinusNat0(Zero, Succ(vyv245000)) -> Neg(Succ(vyv245000)) 214.29/145.89 new_primQuotInt0(vyv2710, Pos(Succ(vyv28800))) -> Neg(new_primDivNatS1(vyv2710, vyv28800)) 214.29/145.89 new_ms0(vyv241, Neg(Zero)) -> Neg(Succ(vyv241)) 214.29/145.89 new_sr10(Neg(vyv2400), Neg(vyv2390)) -> Pos(new_primMulNat0(vyv2400, vyv2390)) 214.29/145.89 new_sr4(vyv240, vyv239, ty_Float) -> new_sr14(vyv240, vyv239) 214.29/145.89 new_sr1(vyv228, ty_Int) -> new_sr7(vyv228) 214.29/145.89 new_fromInt -> Pos(Succ(Zero)) 214.29/145.89 new_primDivNatS1(Succ(Succ(vyv271000)), Succ(vyv285000)) -> new_primDivNatS01(vyv271000, vyv285000, vyv271000, vyv285000) 214.29/145.89 new_abs(Pos(Zero)) -> Pos(Zero) 214.29/145.89 new_sr7(Neg(vyv1840)) -> Pos(new_primMulNat1(vyv1840)) 214.29/145.89 new_primMulNat2(Zero) -> Zero 214.29/145.89 new_sr10(Pos(vyv2400), Neg(vyv2390)) -> Neg(new_primMulNat0(vyv2400, vyv2390)) 214.29/145.89 new_sr10(Neg(vyv2400), Pos(vyv2390)) -> Neg(new_primMulNat0(vyv2400, vyv2390)) 214.29/145.89 new_primMinusNat0(Succ(vyv2290), Zero) -> Pos(Succ(vyv2290)) 214.29/145.89 new_primModNatS01(vyv331, vyv332, Succ(vyv3330), Succ(vyv3340)) -> new_primModNatS01(vyv331, vyv332, vyv3330, vyv3340) 214.29/145.89 new_primModNatS1(Succ(Succ(vyv293000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv293000), Zero) 214.29/145.89 new_reduce2Reduce1(vyv265, vyv266, vyv267, vyv268, True, bh) -> error([]) 214.29/145.89 new_primModNatS1(Succ(Zero), Succ(vyv292000)) -> Succ(Zero) 214.29/145.89 new_primMinusNatS2(Zero, Zero) -> Zero 214.29/145.89 new_primEqInt(Neg(Zero)) -> True 214.29/145.89 new_primQuotInt(vyv2710, Neg(Succ(vyv28500))) -> Neg(new_primDivNatS1(vyv2710, vyv28500)) 214.29/145.89 new_primMinusNatS2(Succ(vyv3110), Succ(vyv3120)) -> new_primMinusNatS2(vyv3110, vyv3120) 214.29/145.89 new_primMinusNatS0(vyv271000) -> Succ(vyv271000) 214.29/145.89 new_primMulNat3(Zero) -> Zero 214.29/145.89 new_ms0(vyv241, Pos(vyv2440)) -> Neg(new_primPlusNat0(Succ(vyv241), vyv2440)) 214.29/145.89 new_primQuotInt0(vyv2710, Neg(Succ(vyv28800))) -> Pos(new_primDivNatS1(vyv2710, vyv28800)) 214.29/145.89 new_sr2(vyv228, vyv227, ty_Double) -> new_sr13(vyv228, vyv227) 214.29/145.89 new_sr14(vyv240, vyv239) -> error([]) 214.29/145.89 new_rem(Neg(vyv2930), Neg(Succ(vyv29200))) -> Neg(new_primModNatS1(vyv2930, vyv29200)) 214.29/145.89 new_primModNatS1(Zero, vyv29200) -> Zero 214.29/145.89 new_primDivNatS1(Succ(Zero), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS1, Zero)) 214.29/145.89 new_sr3(vyv250, app(ty_Ratio, bf)) -> new_sr5(vyv250, bf) 214.29/145.89 new_quot2(vyv274, vyv276, vyv275) -> error([]) 214.29/145.89 new_error -> error([]) 214.29/145.89 new_primEqInt(Neg(Succ(vyv242000))) -> False 214.29/145.89 new_sr4(vyv240, vyv239, ty_Int) -> new_sr10(vyv240, vyv239) 214.29/145.89 new_fromInt0 -> Pos(Succ(Succ(Zero))) 214.29/145.89 new_sr4(vyv240, vyv239, ty_Double) -> new_sr13(vyv240, vyv239) 214.29/145.89 new_gcd2(False, vyv273, vyv272) -> new_gcd0(vyv273, vyv272) 214.29/145.89 new_sr4(vyv240, vyv239, ty_Integer) -> new_sr9(vyv240, vyv239) 214.29/145.89 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 214.29/145.89 new_primDivNatS01(vyv311, vyv312, Zero, Zero) -> new_primDivNatS02(vyv311, vyv312) 214.29/145.89 new_ms0(vyv241, Neg(Succ(vyv24400))) -> new_primMinusNat0(vyv24400, vyv241) 214.29/145.89 new_quot1(vyv267, vyv268, vyv265, vyv266, ty_Integer) -> new_quot2(new_sr9(vyv267, vyv268), new_sr9(vyv265, vyv266), new_sr9(vyv267, vyv268)) 214.29/145.89 new_sr0(vyv184, app(ty_Ratio, bd)) -> new_sr5(vyv184, bd) 214.29/145.89 new_primQuotInt0(vyv2710, Pos(Zero)) -> new_error 214.29/145.89 new_sr0(vyv184, ty_Integer) -> new_sr6(vyv184) 214.29/145.89 new_sr2(vyv228, vyv227, ty_Float) -> new_sr14(vyv228, vyv227) 214.29/145.89 new_rem(Pos(vyv2930), Pos(Zero)) -> new_error 214.29/145.89 214.29/145.89 The set Q consists of the following terms: 214.29/145.89 214.29/145.89 new_sr13(x0, x1) 214.29/145.89 new_primDivNatS01(x0, x1, Zero, Zero) 214.29/145.89 new_gcd0Gcd'11(False, x0, x1) 214.29/145.89 new_primMulNat4(Zero) 214.29/145.89 new_gcd0Gcd'11(True, x0, x1) 214.29/145.89 new_sr2(x0, x1, ty_Float) 214.29/145.89 new_sr5(:%(x0, x1), x2) 214.29/145.89 new_primEqInt(Pos(Zero)) 214.29/145.89 new_ms(x0, Neg(x1)) 214.29/145.89 new_sr2(x0, x1, ty_Double) 214.29/145.89 new_esEs(Pos(Succ(x0))) 214.29/145.89 new_primQuotInt0(x0, Neg(Zero)) 214.29/145.89 new_primMulNat3(Zero) 214.29/145.89 new_primModNatS02(x0, x1) 214.29/145.89 new_sr(x0, ty_Double) 214.29/145.89 new_sr0(x0, ty_Double) 214.29/145.89 new_primDivNatS1(Succ(Zero), Zero) 214.29/145.89 new_primMinusNatS0(x0) 214.29/145.89 new_sr11(x0) 214.29/145.89 new_sr0(x0, app(ty_Ratio, x1)) 214.29/145.89 new_rem(Pos(x0), Neg(Succ(x1))) 214.29/145.89 new_rem(Neg(x0), Pos(Succ(x1))) 214.29/145.89 new_primMulNat0(Zero, Zero) 214.29/145.89 new_primPlusNat0(Succ(x0), Zero) 214.29/145.89 new_fromInt0 214.29/145.89 new_primMulNat0(Succ(x0), Zero) 214.29/145.89 new_sr3(x0, ty_Float) 214.29/145.89 new_fromInt 214.29/145.89 new_primMulNat2(Zero) 214.29/145.89 new_primQuotInt(x0, Pos(Zero)) 214.29/145.89 new_primMulNat2(Succ(x0)) 214.29/145.89 new_primQuotInt(x0, Neg(Zero)) 214.29/145.89 new_rem(Neg(x0), Neg(Succ(x1))) 214.29/145.89 new_primMinusNatS2(Zero, Succ(x0)) 214.29/145.89 new_sr(x0, ty_Int) 214.29/145.89 new_sr4(x0, x1, ty_Double) 214.29/145.89 new_primMulNat3(Succ(x0)) 214.29/145.89 new_sr0(x0, ty_Float) 214.29/145.89 new_esEs1(Integer(x0)) 214.29/145.89 new_primQuotInt0(x0, Pos(Zero)) 214.29/145.89 new_gcd2(True, x0, x1) 214.29/145.89 new_quot1(x0, x1, x2, x3, ty_Int) 214.29/145.89 new_primDivNatS1(Zero, x0) 214.29/145.89 new_primMinusNat0(Zero, Zero) 214.29/145.89 new_gcd(x0, x1) 214.29/145.89 new_gcd1(False, x0, x1) 214.29/145.89 new_esEs2(x0, x1, ty_Int) 214.29/145.89 new_sr3(x0, ty_Integer) 214.29/145.89 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 214.29/145.89 new_sr1(x0, app(ty_Ratio, x1)) 214.29/145.89 new_sr1(x0, ty_Float) 214.29/145.89 new_primPlusNat0(Zero, Succ(x0)) 214.29/145.89 new_sr8(:%(x0, x1), :%(x2, x3), x4) 214.29/145.89 new_abs(Neg(Zero)) 214.29/145.89 new_primMinusNatS2(Succ(x0), Zero) 214.29/145.89 new_error 214.29/145.89 new_primModNatS1(Succ(Zero), Zero) 214.29/145.89 new_primMulNat4(Succ(x0)) 214.29/145.89 new_sr1(x0, ty_Integer) 214.29/145.89 new_primDivNatS02(x0, x1) 214.29/145.89 new_sr1(x0, ty_Int) 214.29/145.89 new_rem(Neg(x0), Neg(Zero)) 214.29/145.89 new_primMinusNat0(Zero, Succ(x0)) 214.29/145.89 new_primEqInt(Neg(Zero)) 214.29/145.89 new_rem(Pos(x0), Pos(Succ(x1))) 214.29/145.89 new_abs(Pos(Succ(x0))) 214.29/145.89 new_primMulNat0(Succ(x0), Succ(x1)) 214.29/145.89 new_primMulNat0(Zero, Succ(x0)) 214.29/145.89 new_reduce2Reduce1(x0, x1, x2, x3, True, x4) 214.29/145.89 new_sr(x0, ty_Float) 214.29/145.89 new_gcd0Gcd'10(False, x0, x1) 214.29/145.89 new_sr12(x0) 214.29/145.89 new_primDivNatS01(x0, x1, Zero, Succ(x2)) 214.29/145.89 new_sr10(Pos(x0), Pos(x1)) 214.29/145.89 new_primModNatS01(x0, x1, Zero, Succ(x2)) 214.29/145.89 new_primPlusNat0(Zero, Zero) 214.29/145.89 new_sr(x0, ty_Integer) 214.29/145.89 new_primQuotInt0(x0, Pos(Succ(x1))) 214.29/145.89 new_primModNatS01(x0, x1, Succ(x2), Zero) 214.29/145.89 new_ms(x0, Pos(Succ(x1))) 214.29/145.89 new_primModNatS1(Succ(Succ(x0)), Zero) 214.29/145.89 new_sr4(x0, x1, ty_Integer) 214.29/145.89 new_rem(Pos(x0), Pos(Zero)) 214.29/145.89 new_sr4(x0, x1, ty_Int) 214.29/145.89 new_ms0(x0, Neg(Succ(x1))) 214.29/145.89 new_quot(Pos(x0), x1, x2) 214.29/145.89 new_primMinusNatS2(Zero, Zero) 214.29/145.89 new_esEs0(x0, ty_Int) 214.29/145.89 new_primMinusNat0(Succ(x0), Zero) 214.29/145.89 new_ms0(x0, Pos(x1)) 214.29/145.89 new_esEs(Pos(Zero)) 214.29/145.89 new_quot(Neg(x0), x1, x2) 214.29/145.89 new_primDivNatS01(x0, x1, Succ(x2), Succ(x3)) 214.29/145.89 new_quot2(x0, x1, x2) 214.29/145.89 new_primEqInt(Neg(Succ(x0))) 214.29/145.89 new_sr10(Neg(x0), Neg(x1)) 214.29/145.89 new_sr3(x0, app(ty_Ratio, x1)) 214.29/145.89 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 214.29/145.89 new_sr9(x0, x1) 214.29/145.89 new_sr2(x0, x1, ty_Integer) 214.29/145.89 new_sr7(Neg(x0)) 214.29/145.89 new_sr1(x0, ty_Double) 214.29/145.89 new_primQuotInt0(x0, Neg(Succ(x1))) 214.29/145.89 new_sr0(x0, ty_Integer) 214.29/145.89 new_rem(Pos(x0), Neg(Zero)) 214.29/145.89 new_rem(Neg(x0), Pos(Zero)) 214.29/145.89 new_gcd0Gcd'00(x0, x1) 214.29/145.89 new_primQuotInt(x0, Neg(Succ(x1))) 214.29/145.89 new_primMinusNatS2(Succ(x0), Succ(x1)) 214.29/145.89 new_ms(x0, Pos(Zero)) 214.29/145.89 new_abs(Pos(Zero)) 214.29/145.89 new_primMinusNat0(Succ(x0), Succ(x1)) 214.29/145.89 new_quot0(x0, x1, x2, x3, ty_Integer) 214.29/145.89 new_sr0(x0, ty_Int) 214.29/145.89 new_sr6(x0) 214.29/145.89 new_gcd2(False, x0, x1) 214.29/145.89 new_gcd1(True, x0, x1) 214.29/145.89 new_esEs2(x0, x1, ty_Integer) 214.29/145.89 new_primMinusNatS1 214.29/145.89 new_sr7(Pos(x0)) 214.29/145.89 new_gcd0Gcd'10(True, x0, x1) 214.29/145.89 new_primModNatS1(Zero, x0) 214.29/145.89 new_sr4(x0, x1, ty_Float) 214.29/145.89 new_sr10(Pos(x0), Neg(x1)) 214.29/145.89 new_sr10(Neg(x0), Pos(x1)) 214.29/145.89 new_primDivNatS01(x0, x1, Succ(x2), Zero) 214.29/145.89 new_primDivNatS1(Succ(Succ(x0)), Succ(x1)) 214.29/145.89 new_primPlusNat0(Succ(x0), Succ(x1)) 214.29/145.89 new_primDivNatS1(Succ(Zero), Succ(x0)) 214.29/145.89 new_primQuotInt(x0, Pos(Succ(x1))) 214.29/145.89 new_sr2(x0, x1, app(ty_Ratio, x2)) 214.29/145.89 new_abs(Neg(Succ(x0))) 214.29/145.89 new_esEs0(x0, ty_Integer) 214.29/145.89 new_sr3(x0, ty_Int) 214.29/145.89 new_esEs(Neg(Succ(x0))) 214.29/145.89 new_sr(x0, app(ty_Ratio, x1)) 214.29/145.89 new_ms0(x0, Neg(Zero)) 214.29/145.89 new_primModNatS01(x0, x1, Zero, Zero) 214.29/145.89 new_sr4(x0, x1, app(ty_Ratio, x2)) 214.29/145.89 new_gcd0(x0, x1) 214.29/145.89 new_primEqInt(Pos(Succ(x0))) 214.29/145.89 new_sr3(x0, ty_Double) 214.29/145.89 new_quot1(x0, x1, x2, x3, ty_Integer) 214.29/145.89 new_primDivNatS1(Succ(Succ(x0)), Zero) 214.29/145.89 new_primMulNat1(Succ(x0)) 214.29/145.89 new_sr14(x0, x1) 214.29/145.89 new_quot0(x0, x1, x2, x3, ty_Int) 214.29/145.89 new_sr2(x0, x1, ty_Int) 214.29/145.89 new_primModNatS1(Succ(Zero), Succ(x0)) 214.29/145.89 new_reduce2Reduce1(x0, x1, x2, x3, False, x4) 214.29/145.89 new_esEs(Neg(Zero)) 214.29/145.89 new_primMulNat1(Zero) 214.29/145.89 214.29/145.89 We have to consider all minimal (P,Q,R)-chains. 214.29/145.89 ---------------------------------------- 214.29/145.89 214.29/145.89 (696) TransformationProof (EQUIVALENT) 214.29/145.89 By rewriting [LPAR04] the rule new_pr2F0(vyv184, Pos(Succ(Zero)), vyv188, h) -> new_pr2F(vyv184, Zero, new_fromInt, vyv188, h) at position [2] we obtained the following new rules [LPAR04]: 214.29/145.89 214.29/145.89 (new_pr2F0(vyv184, Pos(Succ(Zero)), vyv188, h) -> new_pr2F(vyv184, Zero, Pos(Succ(Zero)), vyv188, h),new_pr2F0(vyv184, Pos(Succ(Zero)), vyv188, h) -> new_pr2F(vyv184, Zero, Pos(Succ(Zero)), vyv188, h)) 214.29/145.89 214.29/145.89 214.29/145.89 ---------------------------------------- 214.29/145.89 214.29/145.89 (697) 214.29/145.89 Obligation: 214.29/145.89 Q DP problem: 214.29/145.89 The TRS P consists of the following rules: 214.29/145.89 214.29/145.89 new_pr2F0G10(vyv249, vyv250, vyv251, Succ(Succ(vyv25200)), bb) -> new_pr2F0G10(vyv249, vyv250, vyv251, vyv25200, bb) 214.29/145.89 new_pr2F0G(vyv188, vyv184, Neg(Succ(Zero)), h) -> new_pr2F0G11(vyv188, vyv184, Zero, h) 214.29/145.89 new_pr2F0G(vyv188, vyv184, Pos(Succ(Succ(vyv223000))), h) -> new_pr2F0G1(vyv188, vyv184, Succ(vyv223000), vyv223000, h) 214.29/145.89 new_pr2F0G1(vyv227, vyv228, vyv229, Succ(Zero), ba) -> new_pr2F(vyv228, vyv229, new_fromInt, vyv227, ba) 214.29/145.89 new_pr2F0(vyv184, Neg(Succ(Succ(vyv223000))), vyv188, h) -> new_pr2F0G10(vyv188, vyv184, Succ(vyv223000), vyv223000, h) 214.29/145.89 new_pr2F0(vyv184, Neg(Succ(Zero)), vyv188, h) -> new_pr2F0G11(vyv188, vyv184, Zero, h) 214.29/145.89 new_pr2F0G10(vyv249, vyv250, vyv251, Succ(Zero), bb) -> new_pr2F0G11(vyv249, vyv250, vyv251, bb) 214.29/145.89 new_pr2F0G(vyv188, vyv184, Pos(Succ(Zero)), h) -> new_pr2F(vyv184, Zero, new_fromInt, vyv188, h) 214.29/145.89 new_pr2F0G(vyv188, vyv184, Pos(Zero), h) -> new_pr2F0G(vyv188, new_sr(vyv184, h), new_primQuotInt(Zero, new_fromInt0), h) 214.29/145.89 new_pr2F0G(vyv188, vyv184, Neg(Succ(Succ(vyv223000))), h) -> new_pr2F0G10(vyv188, vyv184, Succ(vyv223000), vyv223000, h) 214.29/145.89 new_pr2F3(False, vyv228, vyv229, vyv245, vyv227, ba) -> new_pr2F0(vyv228, new_ms(vyv229, vyv245), new_sr2(vyv228, vyv227, ba), ba) 214.29/145.89 new_pr2F0(vyv184, Pos(Succ(Succ(vyv223000))), vyv188, h) -> new_pr2F0G1(vyv188, vyv184, Succ(vyv223000), vyv223000, h) 214.29/145.89 new_pr2F0G1(vyv227, vyv228, vyv229, Zero, ba) -> new_pr2F0G(vyv227, new_sr1(vyv228, ba), new_primQuotInt(Succ(vyv229), new_fromInt0), ba) 214.29/145.89 new_pr2F1(vyv240, vyv241, vyv244, vyv239, bc) -> new_pr2F30(new_esEs(new_ms0(vyv241, vyv244)), vyv240, vyv241, vyv244, vyv239, bc) 214.29/145.89 new_pr2F(vyv228, vyv229, vyv245, vyv227, ba) -> new_pr2F3(new_esEs(new_ms(vyv229, vyv245)), vyv228, vyv229, vyv245, vyv227, ba) 214.29/145.89 new_pr2F0G1(vyv227, vyv228, vyv229, Succ(Succ(vyv23000)), ba) -> new_pr2F0G1(vyv227, vyv228, vyv229, vyv23000, ba) 214.29/145.89 new_pr2F30(False, vyv240, vyv241, vyv244, vyv239, bc) -> new_pr2F0(vyv240, new_ms0(vyv241, vyv244), new_sr4(vyv240, vyv239, bc), bc) 214.29/145.89 new_pr2F0(vyv184, Pos(Zero), vyv188, h) -> new_pr2F0G(vyv188, new_sr(vyv184, h), new_primQuotInt(Zero, new_fromInt0), h) 214.29/145.89 new_pr2F0(vyv184, Neg(Zero), vyv188, h) -> new_pr2F0G(vyv188, new_sr0(vyv184, h), new_primQuotInt0(Zero, Pos(Succ(Succ(Zero)))), h) 214.29/145.89 new_pr2F0G11(vyv239, vyv240, vyv241, bc) -> new_pr2F1(vyv240, vyv241, Pos(Succ(Zero)), vyv239, bc) 214.29/145.89 new_pr2F0G(vyv188, vyv184, Neg(Zero), h) -> new_pr2F0G(vyv188, new_sr0(vyv184, h), new_primQuotInt0(Zero, Pos(Succ(Succ(Zero)))), h) 214.29/145.89 new_pr2F0G10(vyv249, vyv250, vyv251, Zero, bb) -> new_pr2F0G(vyv249, new_sr3(vyv250, bb), new_primQuotInt0(Succ(vyv251), Pos(Succ(Succ(Zero)))), bb) 214.29/145.89 new_pr2F0(vyv184, Pos(Succ(Zero)), vyv188, h) -> new_pr2F(vyv184, Zero, Pos(Succ(Zero)), vyv188, h) 214.29/145.89 214.29/145.89 The TRS R consists of the following rules: 214.29/145.89 214.29/145.89 new_sr1(vyv228, ty_Double) -> new_sr11(vyv228) 214.29/145.89 new_quot1(vyv267, vyv268, vyv265, vyv266, ty_Int) -> new_quot(new_sr10(vyv267, vyv268), new_sr10(vyv265, vyv266), new_sr10(vyv267, vyv268)) 214.29/145.89 new_primPlusNat0(Zero, Zero) -> Zero 214.29/145.89 new_abs(Neg(Zero)) -> Neg(Zero) 214.29/145.89 new_sr(vyv184, ty_Double) -> new_sr11(vyv184) 214.29/145.89 new_primDivNatS1(Zero, vyv28500) -> Zero 214.29/145.89 new_sr1(vyv228, ty_Float) -> new_sr12(vyv228) 214.29/145.89 new_quot0(vyv265, vyv266, vyv267, vyv268, ty_Integer) -> new_quot2(new_sr9(vyv265, vyv266), new_sr9(vyv265, vyv266), new_sr9(vyv267, vyv268)) 214.29/145.89 new_sr11(vyv184) -> error([]) 214.29/145.89 new_sr(vyv184, app(ty_Ratio, bd)) -> new_sr5(vyv184, bd) 214.29/145.89 new_primDivNatS01(vyv311, vyv312, Succ(vyv3130), Zero) -> new_primDivNatS02(vyv311, vyv312) 214.29/145.89 new_primDivNatS1(Succ(Succ(vyv271000)), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS0(vyv271000), Zero)) 214.29/145.89 new_primMinusNatS2(Zero, Succ(vyv3120)) -> Zero 214.29/145.89 new_sr1(vyv228, app(ty_Ratio, bg)) -> new_sr5(vyv228, bg) 214.29/145.89 new_primMinusNat0(Succ(vyv2290), Succ(vyv245000)) -> new_primMinusNat0(vyv2290, vyv245000) 214.29/145.89 new_primEqInt(Pos(Succ(vyv242000))) -> False 214.29/145.89 new_sr(vyv184, ty_Float) -> new_sr12(vyv184) 214.29/145.89 new_sr2(vyv228, vyv227, ty_Integer) -> new_sr9(vyv228, vyv227) 214.29/145.89 new_ms(vyv229, Neg(vyv2450)) -> Pos(new_primPlusNat0(Succ(vyv229), vyv2450)) 214.29/145.89 new_gcd1(True, vyv273, vyv272) -> new_error 214.29/145.89 new_abs(Neg(Succ(vyv27200))) -> Pos(Succ(vyv27200)) 214.29/145.89 new_primMulNat1(Succ(vyv18400)) -> new_primPlusNat0(new_primMulNat2(vyv18400), Succ(vyv18400)) 214.29/145.89 new_esEs0(vyv1841, ty_Int) -> new_esEs(new_sr7(vyv1841)) 214.29/145.89 new_sr2(vyv228, vyv227, ty_Int) -> new_sr10(vyv228, vyv227) 214.29/145.89 new_sr0(vyv184, ty_Double) -> new_sr11(vyv184) 214.29/145.89 new_sr12(vyv184) -> error([]) 214.29/145.89 new_primMinusNatS1 -> Zero 214.29/145.89 new_ms(vyv229, Pos(Succ(vyv24500))) -> new_primMinusNat0(vyv229, vyv24500) 214.29/145.89 new_primMinusNatS2(Succ(vyv3110), Zero) -> Succ(vyv3110) 214.29/145.89 new_sr3(vyv250, ty_Double) -> new_sr11(vyv250) 214.29/145.89 new_primDivNatS01(vyv311, vyv312, Zero, Succ(vyv3140)) -> Zero 214.29/145.89 new_gcd0Gcd'10(True, vyv292, vyv293) -> vyv292 214.29/145.89 new_primPlusNat0(Succ(vyv4000), Succ(vyv6000)) -> Succ(Succ(new_primPlusNat0(vyv4000, vyv6000))) 214.29/145.89 new_sr5(:%(vyv1840, vyv1841), bd) -> new_reduce2Reduce1(vyv1840, vyv1840, vyv1841, vyv1841, new_esEs0(vyv1841, bd), bd) 214.29/145.89 new_primMulNat2(Succ(vyv184000)) -> new_primPlusNat0(new_primMulNat3(vyv184000), Succ(Succ(vyv184000))) 214.29/145.89 new_primDivNatS02(vyv311, vyv312) -> Succ(new_primDivNatS1(new_primMinusNatS2(vyv311, vyv312), Succ(vyv312))) 214.29/145.89 new_sr2(vyv228, vyv227, app(ty_Ratio, bg)) -> new_sr8(vyv228, vyv227, bg) 214.29/145.89 new_sr3(vyv250, ty_Int) -> new_sr7(vyv250) 214.29/145.89 new_gcd1(False, vyv273, vyv272) -> new_gcd0(vyv273, vyv272) 214.29/145.89 new_reduce2Reduce1(vyv265, vyv266, vyv267, vyv268, False, bh) -> :%(new_quot0(vyv265, vyv266, vyv267, vyv268, bh), new_quot1(vyv267, vyv268, vyv265, vyv266, bh)) 214.29/145.89 new_primDivNatS1(Succ(Zero), Succ(vyv285000)) -> Zero 214.29/145.89 new_primMulNat4(Succ(vyv18400000)) -> new_primPlusNat0(new_primMulNat0(vyv18400000, Succ(Succ(Succ(Succ(vyv18400000))))), Succ(Succ(Succ(Succ(vyv18400000))))) 214.29/145.89 new_primModNatS1(Succ(Succ(vyv293000)), Succ(vyv292000)) -> new_primModNatS01(vyv293000, vyv292000, vyv293000, vyv292000) 214.29/145.89 new_primModNatS01(vyv331, vyv332, Zero, Succ(vyv3340)) -> Succ(Succ(vyv331)) 214.29/145.89 new_gcd0Gcd'00(vyv293, vyv292) -> new_gcd0Gcd'10(new_esEs(new_rem(vyv293, vyv292)), vyv292, vyv293) 214.29/145.89 new_esEs2(vyv2401, vyv2391, ty_Integer) -> new_esEs1(new_sr9(vyv2401, vyv2391)) 214.29/145.89 new_sr10(Pos(vyv2400), Pos(vyv2390)) -> Pos(new_primMulNat0(vyv2400, vyv2390)) 214.29/145.89 new_esEs0(vyv1841, ty_Integer) -> new_esEs1(new_sr6(vyv1841)) 214.29/145.89 new_quot(Pos(vyv2710), vyv273, vyv272) -> new_primQuotInt(vyv2710, new_gcd(vyv273, vyv272)) 214.29/145.89 new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) 214.29/145.89 new_gcd0Gcd'10(False, vyv292, vyv293) -> new_gcd0Gcd'00(vyv292, new_rem(vyv293, vyv292)) 214.29/145.89 new_sr6(vyv184) -> error([]) 214.29/145.89 new_esEs2(vyv2401, vyv2391, ty_Int) -> new_esEs(new_sr10(vyv2401, vyv2391)) 214.29/145.89 new_esEs(Pos(Succ(vyv24300))) -> new_primEqInt(Pos(Succ(vyv24300))) 214.29/145.89 new_quot0(vyv265, vyv266, vyv267, vyv268, ty_Int) -> new_quot(new_sr10(vyv265, vyv266), new_sr10(vyv265, vyv266), new_sr10(vyv267, vyv268)) 214.29/145.89 new_ms(vyv229, Pos(Zero)) -> Pos(Succ(vyv229)) 214.29/145.89 new_sr3(vyv250, ty_Float) -> new_sr12(vyv250) 214.29/145.89 new_gcd0Gcd'11(True, vyv273, vyv272) -> new_abs(vyv273) 214.29/145.89 new_primMinusNat0(Zero, Zero) -> Pos(Zero) 214.29/145.89 new_primModNatS01(vyv331, vyv332, Zero, Zero) -> new_primModNatS02(vyv331, vyv332) 214.29/145.89 new_sr9(vyv240, vyv239) -> error([]) 214.29/145.89 new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) 214.29/145.89 new_rem(Pos(vyv2930), Neg(Zero)) -> new_error 214.29/145.89 new_rem(Neg(vyv2930), Pos(Zero)) -> new_error 214.29/145.89 new_primModNatS01(vyv331, vyv332, Succ(vyv3330), Zero) -> new_primModNatS02(vyv331, vyv332) 214.29/145.89 new_primModNatS02(vyv331, vyv332) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv331), Succ(vyv332)), Succ(vyv332)) 214.29/145.89 new_rem(Pos(vyv2930), Neg(Succ(vyv29200))) -> Pos(new_primModNatS1(vyv2930, vyv29200)) 214.29/145.89 new_primMulNat0(Succ(vyv24000), Zero) -> Zero 214.29/145.89 new_primMulNat0(Zero, Succ(vyv23900)) -> Zero 214.29/145.89 new_quot(Neg(vyv2710), vyv273, vyv272) -> new_primQuotInt0(vyv2710, new_gcd(vyv273, vyv272)) 214.29/145.89 new_primQuotInt0(vyv2710, Neg(Zero)) -> new_error 214.29/145.89 new_sr0(vyv184, ty_Float) -> new_sr12(vyv184) 214.29/145.89 new_primQuotInt(vyv2710, Neg(Zero)) -> new_error 214.29/145.89 new_sr13(vyv240, vyv239) -> error([]) 214.29/145.89 new_rem(Neg(vyv2930), Pos(Succ(vyv29200))) -> Neg(new_primModNatS1(vyv2930, vyv29200)) 214.29/145.89 new_sr4(vyv240, vyv239, app(ty_Ratio, be)) -> new_sr8(vyv240, vyv239, be) 214.29/145.89 new_primMulNat4(Zero) -> Zero 214.29/145.89 new_primDivNatS01(vyv311, vyv312, Succ(vyv3130), Succ(vyv3140)) -> new_primDivNatS01(vyv311, vyv312, vyv3130, vyv3140) 214.29/145.89 new_primPlusNat0(Succ(vyv4000), Zero) -> Succ(vyv4000) 214.29/145.89 new_primPlusNat0(Zero, Succ(vyv6000)) -> Succ(vyv6000) 214.29/145.89 new_primMulNat0(Zero, Zero) -> Zero 214.29/145.89 new_primQuotInt(vyv2710, Pos(Succ(vyv28500))) -> Pos(new_primDivNatS1(vyv2710, vyv28500)) 214.29/145.89 new_gcd0(vyv273, vyv272) -> new_gcd0Gcd'11(new_esEs(new_abs(vyv272)), vyv273, vyv272) 214.29/145.89 new_sr(vyv184, ty_Int) -> new_sr7(vyv184) 214.29/145.89 new_primMulNat3(Succ(vyv1840000)) -> new_primPlusNat0(new_primMulNat4(vyv1840000), Succ(Succ(Succ(vyv1840000)))) 214.29/145.89 new_esEs(Neg(Succ(vyv24300))) -> new_primEqInt(Neg(Succ(vyv24300))) 214.29/145.89 new_esEs1(Integer(vyv2700)) -> new_primEqInt(vyv2700) 214.29/145.89 new_sr8(:%(vyv2400, vyv2401), :%(vyv2390, vyv2391), be) -> new_reduce2Reduce1(vyv2400, vyv2390, vyv2401, vyv2391, new_esEs2(vyv2401, vyv2391, be), be) 214.29/145.89 new_sr0(vyv184, ty_Int) -> new_sr7(vyv184) 214.29/145.89 new_sr7(Pos(vyv1840)) -> Pos(new_primMulNat1(vyv1840)) 214.29/145.89 new_primMulNat0(Succ(vyv24000), Succ(vyv23900)) -> new_primPlusNat0(new_primMulNat0(vyv24000, Succ(vyv23900)), Succ(vyv23900)) 214.29/145.89 new_sr1(vyv228, ty_Integer) -> new_sr6(vyv228) 214.29/145.89 new_primQuotInt(vyv2710, Pos(Zero)) -> new_error 214.29/145.89 new_rem(Pos(vyv2930), Pos(Succ(vyv29200))) -> Pos(new_primModNatS1(vyv2930, vyv29200)) 214.29/145.89 new_gcd0Gcd'11(False, vyv273, vyv272) -> new_gcd0Gcd'00(new_abs(vyv273), new_abs(vyv272)) 214.29/145.89 new_abs(Pos(Succ(vyv27200))) -> Pos(Succ(vyv27200)) 214.29/145.89 new_primEqInt(Pos(Zero)) -> True 214.29/145.89 new_primMulNat1(Zero) -> Zero 214.29/145.89 new_sr3(vyv250, ty_Integer) -> new_sr6(vyv250) 214.29/145.89 new_gcd(vyv273, vyv272) -> new_gcd2(new_esEs(vyv273), vyv273, vyv272) 214.29/145.89 new_rem(Neg(vyv2930), Neg(Zero)) -> new_error 214.29/145.89 new_gcd2(True, vyv273, vyv272) -> new_gcd1(new_esEs(vyv272), vyv273, vyv272) 214.29/145.89 new_sr(vyv184, ty_Integer) -> new_sr6(vyv184) 214.29/145.89 new_primMinusNat0(Zero, Succ(vyv245000)) -> Neg(Succ(vyv245000)) 214.29/145.89 new_primQuotInt0(vyv2710, Pos(Succ(vyv28800))) -> Neg(new_primDivNatS1(vyv2710, vyv28800)) 214.29/145.89 new_ms0(vyv241, Neg(Zero)) -> Neg(Succ(vyv241)) 214.29/145.89 new_sr10(Neg(vyv2400), Neg(vyv2390)) -> Pos(new_primMulNat0(vyv2400, vyv2390)) 214.29/145.89 new_sr4(vyv240, vyv239, ty_Float) -> new_sr14(vyv240, vyv239) 214.29/145.89 new_sr1(vyv228, ty_Int) -> new_sr7(vyv228) 214.29/145.89 new_fromInt -> Pos(Succ(Zero)) 214.29/145.89 new_primDivNatS1(Succ(Succ(vyv271000)), Succ(vyv285000)) -> new_primDivNatS01(vyv271000, vyv285000, vyv271000, vyv285000) 214.29/145.89 new_abs(Pos(Zero)) -> Pos(Zero) 214.29/145.89 new_sr7(Neg(vyv1840)) -> Pos(new_primMulNat1(vyv1840)) 214.29/145.89 new_primMulNat2(Zero) -> Zero 214.29/145.89 new_sr10(Pos(vyv2400), Neg(vyv2390)) -> Neg(new_primMulNat0(vyv2400, vyv2390)) 214.29/145.89 new_sr10(Neg(vyv2400), Pos(vyv2390)) -> Neg(new_primMulNat0(vyv2400, vyv2390)) 214.29/145.89 new_primMinusNat0(Succ(vyv2290), Zero) -> Pos(Succ(vyv2290)) 214.29/145.89 new_primModNatS01(vyv331, vyv332, Succ(vyv3330), Succ(vyv3340)) -> new_primModNatS01(vyv331, vyv332, vyv3330, vyv3340) 214.29/145.89 new_primModNatS1(Succ(Succ(vyv293000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv293000), Zero) 214.29/145.89 new_reduce2Reduce1(vyv265, vyv266, vyv267, vyv268, True, bh) -> error([]) 214.29/145.89 new_primModNatS1(Succ(Zero), Succ(vyv292000)) -> Succ(Zero) 214.29/145.89 new_primMinusNatS2(Zero, Zero) -> Zero 214.29/145.89 new_primEqInt(Neg(Zero)) -> True 214.29/145.89 new_primQuotInt(vyv2710, Neg(Succ(vyv28500))) -> Neg(new_primDivNatS1(vyv2710, vyv28500)) 214.29/145.89 new_primMinusNatS2(Succ(vyv3110), Succ(vyv3120)) -> new_primMinusNatS2(vyv3110, vyv3120) 214.29/145.89 new_primMinusNatS0(vyv271000) -> Succ(vyv271000) 214.29/145.89 new_primMulNat3(Zero) -> Zero 214.29/145.89 new_ms0(vyv241, Pos(vyv2440)) -> Neg(new_primPlusNat0(Succ(vyv241), vyv2440)) 214.29/145.89 new_primQuotInt0(vyv2710, Neg(Succ(vyv28800))) -> Pos(new_primDivNatS1(vyv2710, vyv28800)) 214.29/145.89 new_sr2(vyv228, vyv227, ty_Double) -> new_sr13(vyv228, vyv227) 214.29/145.89 new_sr14(vyv240, vyv239) -> error([]) 214.29/145.89 new_rem(Neg(vyv2930), Neg(Succ(vyv29200))) -> Neg(new_primModNatS1(vyv2930, vyv29200)) 214.29/145.89 new_primModNatS1(Zero, vyv29200) -> Zero 214.29/145.89 new_primDivNatS1(Succ(Zero), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS1, Zero)) 214.29/145.89 new_sr3(vyv250, app(ty_Ratio, bf)) -> new_sr5(vyv250, bf) 214.29/145.89 new_quot2(vyv274, vyv276, vyv275) -> error([]) 214.29/145.89 new_error -> error([]) 214.29/145.89 new_primEqInt(Neg(Succ(vyv242000))) -> False 214.29/145.89 new_sr4(vyv240, vyv239, ty_Int) -> new_sr10(vyv240, vyv239) 214.29/145.89 new_fromInt0 -> Pos(Succ(Succ(Zero))) 214.29/145.89 new_sr4(vyv240, vyv239, ty_Double) -> new_sr13(vyv240, vyv239) 214.29/145.89 new_gcd2(False, vyv273, vyv272) -> new_gcd0(vyv273, vyv272) 214.29/145.89 new_sr4(vyv240, vyv239, ty_Integer) -> new_sr9(vyv240, vyv239) 214.29/145.89 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 214.29/145.89 new_primDivNatS01(vyv311, vyv312, Zero, Zero) -> new_primDivNatS02(vyv311, vyv312) 214.29/145.89 new_ms0(vyv241, Neg(Succ(vyv24400))) -> new_primMinusNat0(vyv24400, vyv241) 214.29/145.89 new_quot1(vyv267, vyv268, vyv265, vyv266, ty_Integer) -> new_quot2(new_sr9(vyv267, vyv268), new_sr9(vyv265, vyv266), new_sr9(vyv267, vyv268)) 214.29/145.89 new_sr0(vyv184, app(ty_Ratio, bd)) -> new_sr5(vyv184, bd) 214.29/145.89 new_primQuotInt0(vyv2710, Pos(Zero)) -> new_error 214.29/145.89 new_sr0(vyv184, ty_Integer) -> new_sr6(vyv184) 214.29/145.89 new_sr2(vyv228, vyv227, ty_Float) -> new_sr14(vyv228, vyv227) 214.29/145.89 new_rem(Pos(vyv2930), Pos(Zero)) -> new_error 214.29/145.89 214.29/145.89 The set Q consists of the following terms: 214.29/145.89 214.29/145.89 new_sr13(x0, x1) 214.29/145.89 new_primDivNatS01(x0, x1, Zero, Zero) 214.29/145.89 new_gcd0Gcd'11(False, x0, x1) 214.29/145.89 new_primMulNat4(Zero) 214.29/145.89 new_gcd0Gcd'11(True, x0, x1) 214.29/145.89 new_sr2(x0, x1, ty_Float) 214.29/145.89 new_sr5(:%(x0, x1), x2) 214.29/145.89 new_primEqInt(Pos(Zero)) 214.29/145.89 new_ms(x0, Neg(x1)) 214.29/145.89 new_sr2(x0, x1, ty_Double) 214.29/145.89 new_esEs(Pos(Succ(x0))) 214.29/145.89 new_primQuotInt0(x0, Neg(Zero)) 214.29/145.89 new_primMulNat3(Zero) 214.29/145.89 new_primModNatS02(x0, x1) 214.29/145.89 new_sr(x0, ty_Double) 214.29/145.89 new_sr0(x0, ty_Double) 214.29/145.89 new_primDivNatS1(Succ(Zero), Zero) 214.29/145.89 new_primMinusNatS0(x0) 214.29/145.89 new_sr11(x0) 214.29/145.89 new_sr0(x0, app(ty_Ratio, x1)) 214.29/145.89 new_rem(Pos(x0), Neg(Succ(x1))) 214.29/145.89 new_rem(Neg(x0), Pos(Succ(x1))) 214.29/145.89 new_primMulNat0(Zero, Zero) 214.29/145.89 new_primPlusNat0(Succ(x0), Zero) 214.29/145.89 new_fromInt0 214.29/145.89 new_primMulNat0(Succ(x0), Zero) 214.29/145.89 new_sr3(x0, ty_Float) 214.29/145.89 new_fromInt 214.29/145.89 new_primMulNat2(Zero) 214.29/145.89 new_primQuotInt(x0, Pos(Zero)) 214.29/145.89 new_primMulNat2(Succ(x0)) 214.29/145.89 new_primQuotInt(x0, Neg(Zero)) 214.29/145.89 new_rem(Neg(x0), Neg(Succ(x1))) 214.29/145.89 new_primMinusNatS2(Zero, Succ(x0)) 214.29/145.89 new_sr(x0, ty_Int) 214.29/145.89 new_sr4(x0, x1, ty_Double) 214.29/145.89 new_primMulNat3(Succ(x0)) 214.29/145.89 new_sr0(x0, ty_Float) 214.29/145.89 new_esEs1(Integer(x0)) 214.29/145.89 new_primQuotInt0(x0, Pos(Zero)) 214.29/145.89 new_gcd2(True, x0, x1) 214.29/145.89 new_quot1(x0, x1, x2, x3, ty_Int) 214.29/145.89 new_primDivNatS1(Zero, x0) 214.29/145.89 new_primMinusNat0(Zero, Zero) 214.29/145.89 new_gcd(x0, x1) 214.29/145.89 new_gcd1(False, x0, x1) 214.29/145.89 new_esEs2(x0, x1, ty_Int) 214.29/145.89 new_sr3(x0, ty_Integer) 214.29/145.89 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 214.29/145.89 new_sr1(x0, app(ty_Ratio, x1)) 214.29/145.89 new_sr1(x0, ty_Float) 214.29/145.89 new_primPlusNat0(Zero, Succ(x0)) 214.29/145.89 new_sr8(:%(x0, x1), :%(x2, x3), x4) 214.29/145.89 new_abs(Neg(Zero)) 214.29/145.89 new_primMinusNatS2(Succ(x0), Zero) 214.29/145.89 new_error 214.29/145.89 new_primModNatS1(Succ(Zero), Zero) 214.29/145.89 new_primMulNat4(Succ(x0)) 214.29/145.89 new_sr1(x0, ty_Integer) 214.29/145.89 new_primDivNatS02(x0, x1) 214.29/145.89 new_sr1(x0, ty_Int) 214.29/145.89 new_rem(Neg(x0), Neg(Zero)) 214.29/145.89 new_primMinusNat0(Zero, Succ(x0)) 214.29/145.89 new_primEqInt(Neg(Zero)) 214.29/145.89 new_rem(Pos(x0), Pos(Succ(x1))) 214.29/145.89 new_abs(Pos(Succ(x0))) 214.29/145.89 new_primMulNat0(Succ(x0), Succ(x1)) 214.29/145.89 new_primMulNat0(Zero, Succ(x0)) 214.29/145.89 new_reduce2Reduce1(x0, x1, x2, x3, True, x4) 214.29/145.89 new_sr(x0, ty_Float) 214.29/145.89 new_gcd0Gcd'10(False, x0, x1) 214.29/145.89 new_sr12(x0) 214.29/145.89 new_primDivNatS01(x0, x1, Zero, Succ(x2)) 214.29/145.89 new_sr10(Pos(x0), Pos(x1)) 214.29/145.89 new_primModNatS01(x0, x1, Zero, Succ(x2)) 214.29/145.89 new_primPlusNat0(Zero, Zero) 214.29/145.89 new_sr(x0, ty_Integer) 214.29/145.89 new_primQuotInt0(x0, Pos(Succ(x1))) 214.29/145.89 new_primModNatS01(x0, x1, Succ(x2), Zero) 214.29/145.89 new_ms(x0, Pos(Succ(x1))) 214.29/145.89 new_primModNatS1(Succ(Succ(x0)), Zero) 214.29/145.89 new_sr4(x0, x1, ty_Integer) 214.29/145.89 new_rem(Pos(x0), Pos(Zero)) 214.29/145.89 new_sr4(x0, x1, ty_Int) 214.29/145.89 new_ms0(x0, Neg(Succ(x1))) 214.29/145.89 new_quot(Pos(x0), x1, x2) 214.29/145.89 new_primMinusNatS2(Zero, Zero) 214.29/145.89 new_esEs0(x0, ty_Int) 214.29/145.89 new_primMinusNat0(Succ(x0), Zero) 214.29/145.89 new_ms0(x0, Pos(x1)) 214.29/145.89 new_esEs(Pos(Zero)) 214.29/145.89 new_quot(Neg(x0), x1, x2) 214.29/145.89 new_primDivNatS01(x0, x1, Succ(x2), Succ(x3)) 214.29/145.89 new_quot2(x0, x1, x2) 214.29/145.89 new_primEqInt(Neg(Succ(x0))) 214.29/145.89 new_sr10(Neg(x0), Neg(x1)) 214.29/145.89 new_sr3(x0, app(ty_Ratio, x1)) 214.29/145.89 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 214.29/145.89 new_sr9(x0, x1) 214.29/145.89 new_sr2(x0, x1, ty_Integer) 214.29/145.89 new_sr7(Neg(x0)) 214.29/145.89 new_sr1(x0, ty_Double) 214.29/145.89 new_primQuotInt0(x0, Neg(Succ(x1))) 214.29/145.89 new_sr0(x0, ty_Integer) 214.29/145.89 new_rem(Pos(x0), Neg(Zero)) 214.29/145.89 new_rem(Neg(x0), Pos(Zero)) 214.29/145.89 new_gcd0Gcd'00(x0, x1) 214.29/145.89 new_primQuotInt(x0, Neg(Succ(x1))) 214.29/145.89 new_primMinusNatS2(Succ(x0), Succ(x1)) 214.29/145.89 new_ms(x0, Pos(Zero)) 214.29/145.89 new_abs(Pos(Zero)) 214.29/145.89 new_primMinusNat0(Succ(x0), Succ(x1)) 214.29/145.89 new_quot0(x0, x1, x2, x3, ty_Integer) 214.29/145.89 new_sr0(x0, ty_Int) 214.29/145.89 new_sr6(x0) 214.29/145.89 new_gcd2(False, x0, x1) 214.29/145.89 new_gcd1(True, x0, x1) 214.29/145.89 new_esEs2(x0, x1, ty_Integer) 214.29/145.89 new_primMinusNatS1 214.29/145.89 new_sr7(Pos(x0)) 214.29/145.89 new_gcd0Gcd'10(True, x0, x1) 214.29/145.89 new_primModNatS1(Zero, x0) 214.29/145.89 new_sr4(x0, x1, ty_Float) 214.29/145.89 new_sr10(Pos(x0), Neg(x1)) 214.29/145.89 new_sr10(Neg(x0), Pos(x1)) 214.29/145.89 new_primDivNatS01(x0, x1, Succ(x2), Zero) 214.29/145.89 new_primDivNatS1(Succ(Succ(x0)), Succ(x1)) 214.29/145.89 new_primPlusNat0(Succ(x0), Succ(x1)) 214.29/145.89 new_primDivNatS1(Succ(Zero), Succ(x0)) 214.29/145.89 new_primQuotInt(x0, Pos(Succ(x1))) 214.29/145.89 new_sr2(x0, x1, app(ty_Ratio, x2)) 214.29/145.89 new_abs(Neg(Succ(x0))) 214.29/145.89 new_esEs0(x0, ty_Integer) 214.29/145.89 new_sr3(x0, ty_Int) 214.29/145.89 new_esEs(Neg(Succ(x0))) 214.29/145.89 new_sr(x0, app(ty_Ratio, x1)) 214.29/145.89 new_ms0(x0, Neg(Zero)) 214.29/145.89 new_primModNatS01(x0, x1, Zero, Zero) 214.29/145.89 new_sr4(x0, x1, app(ty_Ratio, x2)) 214.29/145.89 new_gcd0(x0, x1) 214.29/145.89 new_primEqInt(Pos(Succ(x0))) 214.29/145.89 new_sr3(x0, ty_Double) 214.29/145.89 new_quot1(x0, x1, x2, x3, ty_Integer) 214.29/145.89 new_primDivNatS1(Succ(Succ(x0)), Zero) 214.29/145.89 new_primMulNat1(Succ(x0)) 214.29/145.89 new_sr14(x0, x1) 214.29/145.89 new_quot0(x0, x1, x2, x3, ty_Int) 214.29/145.89 new_sr2(x0, x1, ty_Int) 214.29/145.89 new_primModNatS1(Succ(Zero), Succ(x0)) 214.29/145.89 new_reduce2Reduce1(x0, x1, x2, x3, False, x4) 214.29/145.89 new_esEs(Neg(Zero)) 214.29/145.89 new_primMulNat1(Zero) 214.29/145.89 214.29/145.89 We have to consider all minimal (P,Q,R)-chains. 214.29/145.89 ---------------------------------------- 214.29/145.89 214.29/145.89 (698) TransformationProof (EQUIVALENT) 214.29/145.89 By rewriting [LPAR04] the rule new_pr2F0G1(vyv227, vyv228, vyv229, Succ(Zero), ba) -> new_pr2F(vyv228, vyv229, new_fromInt, vyv227, ba) at position [2] we obtained the following new rules [LPAR04]: 214.29/145.89 214.29/145.89 (new_pr2F0G1(vyv227, vyv228, vyv229, Succ(Zero), ba) -> new_pr2F(vyv228, vyv229, Pos(Succ(Zero)), vyv227, ba),new_pr2F0G1(vyv227, vyv228, vyv229, Succ(Zero), ba) -> new_pr2F(vyv228, vyv229, Pos(Succ(Zero)), vyv227, ba)) 214.29/145.89 214.29/145.89 214.29/145.89 ---------------------------------------- 214.29/145.89 214.29/145.89 (699) 214.29/145.89 Obligation: 214.29/145.89 Q DP problem: 214.29/145.89 The TRS P consists of the following rules: 214.29/145.89 214.29/145.89 new_pr2F0G10(vyv249, vyv250, vyv251, Succ(Succ(vyv25200)), bb) -> new_pr2F0G10(vyv249, vyv250, vyv251, vyv25200, bb) 214.29/145.89 new_pr2F0G(vyv188, vyv184, Neg(Succ(Zero)), h) -> new_pr2F0G11(vyv188, vyv184, Zero, h) 214.29/145.89 new_pr2F0G(vyv188, vyv184, Pos(Succ(Succ(vyv223000))), h) -> new_pr2F0G1(vyv188, vyv184, Succ(vyv223000), vyv223000, h) 214.29/145.89 new_pr2F0(vyv184, Neg(Succ(Succ(vyv223000))), vyv188, h) -> new_pr2F0G10(vyv188, vyv184, Succ(vyv223000), vyv223000, h) 214.29/145.89 new_pr2F0(vyv184, Neg(Succ(Zero)), vyv188, h) -> new_pr2F0G11(vyv188, vyv184, Zero, h) 214.29/145.89 new_pr2F0G10(vyv249, vyv250, vyv251, Succ(Zero), bb) -> new_pr2F0G11(vyv249, vyv250, vyv251, bb) 214.29/145.89 new_pr2F0G(vyv188, vyv184, Pos(Succ(Zero)), h) -> new_pr2F(vyv184, Zero, new_fromInt, vyv188, h) 214.29/145.89 new_pr2F0G(vyv188, vyv184, Pos(Zero), h) -> new_pr2F0G(vyv188, new_sr(vyv184, h), new_primQuotInt(Zero, new_fromInt0), h) 214.29/145.89 new_pr2F0G(vyv188, vyv184, Neg(Succ(Succ(vyv223000))), h) -> new_pr2F0G10(vyv188, vyv184, Succ(vyv223000), vyv223000, h) 214.29/145.89 new_pr2F3(False, vyv228, vyv229, vyv245, vyv227, ba) -> new_pr2F0(vyv228, new_ms(vyv229, vyv245), new_sr2(vyv228, vyv227, ba), ba) 214.29/145.89 new_pr2F0(vyv184, Pos(Succ(Succ(vyv223000))), vyv188, h) -> new_pr2F0G1(vyv188, vyv184, Succ(vyv223000), vyv223000, h) 214.29/145.89 new_pr2F0G1(vyv227, vyv228, vyv229, Zero, ba) -> new_pr2F0G(vyv227, new_sr1(vyv228, ba), new_primQuotInt(Succ(vyv229), new_fromInt0), ba) 214.29/145.89 new_pr2F1(vyv240, vyv241, vyv244, vyv239, bc) -> new_pr2F30(new_esEs(new_ms0(vyv241, vyv244)), vyv240, vyv241, vyv244, vyv239, bc) 214.29/145.89 new_pr2F(vyv228, vyv229, vyv245, vyv227, ba) -> new_pr2F3(new_esEs(new_ms(vyv229, vyv245)), vyv228, vyv229, vyv245, vyv227, ba) 214.29/145.89 new_pr2F0G1(vyv227, vyv228, vyv229, Succ(Succ(vyv23000)), ba) -> new_pr2F0G1(vyv227, vyv228, vyv229, vyv23000, ba) 214.29/145.89 new_pr2F30(False, vyv240, vyv241, vyv244, vyv239, bc) -> new_pr2F0(vyv240, new_ms0(vyv241, vyv244), new_sr4(vyv240, vyv239, bc), bc) 214.29/145.89 new_pr2F0(vyv184, Pos(Zero), vyv188, h) -> new_pr2F0G(vyv188, new_sr(vyv184, h), new_primQuotInt(Zero, new_fromInt0), h) 214.29/145.89 new_pr2F0(vyv184, Neg(Zero), vyv188, h) -> new_pr2F0G(vyv188, new_sr0(vyv184, h), new_primQuotInt0(Zero, Pos(Succ(Succ(Zero)))), h) 214.29/145.89 new_pr2F0G11(vyv239, vyv240, vyv241, bc) -> new_pr2F1(vyv240, vyv241, Pos(Succ(Zero)), vyv239, bc) 214.29/145.89 new_pr2F0G(vyv188, vyv184, Neg(Zero), h) -> new_pr2F0G(vyv188, new_sr0(vyv184, h), new_primQuotInt0(Zero, Pos(Succ(Succ(Zero)))), h) 214.29/145.89 new_pr2F0G10(vyv249, vyv250, vyv251, Zero, bb) -> new_pr2F0G(vyv249, new_sr3(vyv250, bb), new_primQuotInt0(Succ(vyv251), Pos(Succ(Succ(Zero)))), bb) 214.29/145.89 new_pr2F0(vyv184, Pos(Succ(Zero)), vyv188, h) -> new_pr2F(vyv184, Zero, Pos(Succ(Zero)), vyv188, h) 214.29/145.89 new_pr2F0G1(vyv227, vyv228, vyv229, Succ(Zero), ba) -> new_pr2F(vyv228, vyv229, Pos(Succ(Zero)), vyv227, ba) 214.29/145.89 214.29/145.89 The TRS R consists of the following rules: 214.29/145.89 214.29/145.89 new_sr1(vyv228, ty_Double) -> new_sr11(vyv228) 214.29/145.89 new_quot1(vyv267, vyv268, vyv265, vyv266, ty_Int) -> new_quot(new_sr10(vyv267, vyv268), new_sr10(vyv265, vyv266), new_sr10(vyv267, vyv268)) 214.29/145.89 new_primPlusNat0(Zero, Zero) -> Zero 214.29/145.89 new_abs(Neg(Zero)) -> Neg(Zero) 214.29/145.89 new_sr(vyv184, ty_Double) -> new_sr11(vyv184) 214.29/145.89 new_primDivNatS1(Zero, vyv28500) -> Zero 214.29/145.89 new_sr1(vyv228, ty_Float) -> new_sr12(vyv228) 214.29/145.89 new_quot0(vyv265, vyv266, vyv267, vyv268, ty_Integer) -> new_quot2(new_sr9(vyv265, vyv266), new_sr9(vyv265, vyv266), new_sr9(vyv267, vyv268)) 214.29/145.89 new_sr11(vyv184) -> error([]) 214.29/145.89 new_sr(vyv184, app(ty_Ratio, bd)) -> new_sr5(vyv184, bd) 214.29/145.89 new_primDivNatS01(vyv311, vyv312, Succ(vyv3130), Zero) -> new_primDivNatS02(vyv311, vyv312) 214.29/145.89 new_primDivNatS1(Succ(Succ(vyv271000)), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS0(vyv271000), Zero)) 214.29/145.89 new_primMinusNatS2(Zero, Succ(vyv3120)) -> Zero 214.29/145.89 new_sr1(vyv228, app(ty_Ratio, bg)) -> new_sr5(vyv228, bg) 214.29/145.89 new_primMinusNat0(Succ(vyv2290), Succ(vyv245000)) -> new_primMinusNat0(vyv2290, vyv245000) 214.29/145.89 new_primEqInt(Pos(Succ(vyv242000))) -> False 214.29/145.89 new_sr(vyv184, ty_Float) -> new_sr12(vyv184) 214.29/145.89 new_sr2(vyv228, vyv227, ty_Integer) -> new_sr9(vyv228, vyv227) 214.29/145.89 new_ms(vyv229, Neg(vyv2450)) -> Pos(new_primPlusNat0(Succ(vyv229), vyv2450)) 214.29/145.89 new_gcd1(True, vyv273, vyv272) -> new_error 214.29/145.89 new_abs(Neg(Succ(vyv27200))) -> Pos(Succ(vyv27200)) 214.29/145.89 new_primMulNat1(Succ(vyv18400)) -> new_primPlusNat0(new_primMulNat2(vyv18400), Succ(vyv18400)) 214.29/145.89 new_esEs0(vyv1841, ty_Int) -> new_esEs(new_sr7(vyv1841)) 214.29/145.89 new_sr2(vyv228, vyv227, ty_Int) -> new_sr10(vyv228, vyv227) 214.29/145.89 new_sr0(vyv184, ty_Double) -> new_sr11(vyv184) 214.29/145.89 new_sr12(vyv184) -> error([]) 214.29/145.89 new_primMinusNatS1 -> Zero 214.29/145.89 new_ms(vyv229, Pos(Succ(vyv24500))) -> new_primMinusNat0(vyv229, vyv24500) 214.29/145.89 new_primMinusNatS2(Succ(vyv3110), Zero) -> Succ(vyv3110) 214.29/145.89 new_sr3(vyv250, ty_Double) -> new_sr11(vyv250) 214.29/145.89 new_primDivNatS01(vyv311, vyv312, Zero, Succ(vyv3140)) -> Zero 214.29/145.89 new_gcd0Gcd'10(True, vyv292, vyv293) -> vyv292 214.29/145.89 new_primPlusNat0(Succ(vyv4000), Succ(vyv6000)) -> Succ(Succ(new_primPlusNat0(vyv4000, vyv6000))) 214.29/145.89 new_sr5(:%(vyv1840, vyv1841), bd) -> new_reduce2Reduce1(vyv1840, vyv1840, vyv1841, vyv1841, new_esEs0(vyv1841, bd), bd) 214.29/145.89 new_primMulNat2(Succ(vyv184000)) -> new_primPlusNat0(new_primMulNat3(vyv184000), Succ(Succ(vyv184000))) 214.29/145.89 new_primDivNatS02(vyv311, vyv312) -> Succ(new_primDivNatS1(new_primMinusNatS2(vyv311, vyv312), Succ(vyv312))) 214.29/145.89 new_sr2(vyv228, vyv227, app(ty_Ratio, bg)) -> new_sr8(vyv228, vyv227, bg) 214.29/145.89 new_sr3(vyv250, ty_Int) -> new_sr7(vyv250) 214.29/145.89 new_gcd1(False, vyv273, vyv272) -> new_gcd0(vyv273, vyv272) 214.29/145.89 new_reduce2Reduce1(vyv265, vyv266, vyv267, vyv268, False, bh) -> :%(new_quot0(vyv265, vyv266, vyv267, vyv268, bh), new_quot1(vyv267, vyv268, vyv265, vyv266, bh)) 214.29/145.89 new_primDivNatS1(Succ(Zero), Succ(vyv285000)) -> Zero 214.29/145.89 new_primMulNat4(Succ(vyv18400000)) -> new_primPlusNat0(new_primMulNat0(vyv18400000, Succ(Succ(Succ(Succ(vyv18400000))))), Succ(Succ(Succ(Succ(vyv18400000))))) 214.29/145.89 new_primModNatS1(Succ(Succ(vyv293000)), Succ(vyv292000)) -> new_primModNatS01(vyv293000, vyv292000, vyv293000, vyv292000) 214.29/145.89 new_primModNatS01(vyv331, vyv332, Zero, Succ(vyv3340)) -> Succ(Succ(vyv331)) 214.29/145.89 new_gcd0Gcd'00(vyv293, vyv292) -> new_gcd0Gcd'10(new_esEs(new_rem(vyv293, vyv292)), vyv292, vyv293) 214.29/145.89 new_esEs2(vyv2401, vyv2391, ty_Integer) -> new_esEs1(new_sr9(vyv2401, vyv2391)) 214.29/145.89 new_sr10(Pos(vyv2400), Pos(vyv2390)) -> Pos(new_primMulNat0(vyv2400, vyv2390)) 214.29/145.89 new_esEs0(vyv1841, ty_Integer) -> new_esEs1(new_sr6(vyv1841)) 214.29/145.89 new_quot(Pos(vyv2710), vyv273, vyv272) -> new_primQuotInt(vyv2710, new_gcd(vyv273, vyv272)) 214.29/145.89 new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) 214.29/145.89 new_gcd0Gcd'10(False, vyv292, vyv293) -> new_gcd0Gcd'00(vyv292, new_rem(vyv293, vyv292)) 214.29/145.89 new_sr6(vyv184) -> error([]) 214.29/145.89 new_esEs2(vyv2401, vyv2391, ty_Int) -> new_esEs(new_sr10(vyv2401, vyv2391)) 214.29/145.89 new_esEs(Pos(Succ(vyv24300))) -> new_primEqInt(Pos(Succ(vyv24300))) 214.29/145.89 new_quot0(vyv265, vyv266, vyv267, vyv268, ty_Int) -> new_quot(new_sr10(vyv265, vyv266), new_sr10(vyv265, vyv266), new_sr10(vyv267, vyv268)) 214.29/145.89 new_ms(vyv229, Pos(Zero)) -> Pos(Succ(vyv229)) 214.29/145.89 new_sr3(vyv250, ty_Float) -> new_sr12(vyv250) 214.29/145.89 new_gcd0Gcd'11(True, vyv273, vyv272) -> new_abs(vyv273) 214.29/145.89 new_primMinusNat0(Zero, Zero) -> Pos(Zero) 214.29/145.89 new_primModNatS01(vyv331, vyv332, Zero, Zero) -> new_primModNatS02(vyv331, vyv332) 214.29/145.89 new_sr9(vyv240, vyv239) -> error([]) 214.29/145.89 new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) 214.29/145.89 new_rem(Pos(vyv2930), Neg(Zero)) -> new_error 214.29/145.89 new_rem(Neg(vyv2930), Pos(Zero)) -> new_error 214.29/145.89 new_primModNatS01(vyv331, vyv332, Succ(vyv3330), Zero) -> new_primModNatS02(vyv331, vyv332) 214.29/145.89 new_primModNatS02(vyv331, vyv332) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv331), Succ(vyv332)), Succ(vyv332)) 214.29/145.89 new_rem(Pos(vyv2930), Neg(Succ(vyv29200))) -> Pos(new_primModNatS1(vyv2930, vyv29200)) 214.29/145.89 new_primMulNat0(Succ(vyv24000), Zero) -> Zero 214.29/145.89 new_primMulNat0(Zero, Succ(vyv23900)) -> Zero 214.29/145.89 new_quot(Neg(vyv2710), vyv273, vyv272) -> new_primQuotInt0(vyv2710, new_gcd(vyv273, vyv272)) 214.29/145.89 new_primQuotInt0(vyv2710, Neg(Zero)) -> new_error 214.29/145.89 new_sr0(vyv184, ty_Float) -> new_sr12(vyv184) 214.29/145.89 new_primQuotInt(vyv2710, Neg(Zero)) -> new_error 214.29/145.89 new_sr13(vyv240, vyv239) -> error([]) 214.29/145.89 new_rem(Neg(vyv2930), Pos(Succ(vyv29200))) -> Neg(new_primModNatS1(vyv2930, vyv29200)) 214.29/145.89 new_sr4(vyv240, vyv239, app(ty_Ratio, be)) -> new_sr8(vyv240, vyv239, be) 214.29/145.89 new_primMulNat4(Zero) -> Zero 214.29/145.89 new_primDivNatS01(vyv311, vyv312, Succ(vyv3130), Succ(vyv3140)) -> new_primDivNatS01(vyv311, vyv312, vyv3130, vyv3140) 214.29/145.89 new_primPlusNat0(Succ(vyv4000), Zero) -> Succ(vyv4000) 214.29/145.89 new_primPlusNat0(Zero, Succ(vyv6000)) -> Succ(vyv6000) 214.29/145.89 new_primMulNat0(Zero, Zero) -> Zero 214.29/145.89 new_primQuotInt(vyv2710, Pos(Succ(vyv28500))) -> Pos(new_primDivNatS1(vyv2710, vyv28500)) 214.29/145.89 new_gcd0(vyv273, vyv272) -> new_gcd0Gcd'11(new_esEs(new_abs(vyv272)), vyv273, vyv272) 214.29/145.89 new_sr(vyv184, ty_Int) -> new_sr7(vyv184) 214.29/145.89 new_primMulNat3(Succ(vyv1840000)) -> new_primPlusNat0(new_primMulNat4(vyv1840000), Succ(Succ(Succ(vyv1840000)))) 214.29/145.89 new_esEs(Neg(Succ(vyv24300))) -> new_primEqInt(Neg(Succ(vyv24300))) 214.29/145.89 new_esEs1(Integer(vyv2700)) -> new_primEqInt(vyv2700) 214.29/145.89 new_sr8(:%(vyv2400, vyv2401), :%(vyv2390, vyv2391), be) -> new_reduce2Reduce1(vyv2400, vyv2390, vyv2401, vyv2391, new_esEs2(vyv2401, vyv2391, be), be) 214.29/145.89 new_sr0(vyv184, ty_Int) -> new_sr7(vyv184) 214.29/145.89 new_sr7(Pos(vyv1840)) -> Pos(new_primMulNat1(vyv1840)) 214.29/145.89 new_primMulNat0(Succ(vyv24000), Succ(vyv23900)) -> new_primPlusNat0(new_primMulNat0(vyv24000, Succ(vyv23900)), Succ(vyv23900)) 214.29/145.89 new_sr1(vyv228, ty_Integer) -> new_sr6(vyv228) 214.29/145.89 new_primQuotInt(vyv2710, Pos(Zero)) -> new_error 214.29/145.89 new_rem(Pos(vyv2930), Pos(Succ(vyv29200))) -> Pos(new_primModNatS1(vyv2930, vyv29200)) 214.29/145.89 new_gcd0Gcd'11(False, vyv273, vyv272) -> new_gcd0Gcd'00(new_abs(vyv273), new_abs(vyv272)) 214.29/145.89 new_abs(Pos(Succ(vyv27200))) -> Pos(Succ(vyv27200)) 214.29/145.89 new_primEqInt(Pos(Zero)) -> True 214.29/145.89 new_primMulNat1(Zero) -> Zero 214.29/145.89 new_sr3(vyv250, ty_Integer) -> new_sr6(vyv250) 214.29/145.89 new_gcd(vyv273, vyv272) -> new_gcd2(new_esEs(vyv273), vyv273, vyv272) 214.29/145.89 new_rem(Neg(vyv2930), Neg(Zero)) -> new_error 214.29/145.89 new_gcd2(True, vyv273, vyv272) -> new_gcd1(new_esEs(vyv272), vyv273, vyv272) 214.29/145.89 new_sr(vyv184, ty_Integer) -> new_sr6(vyv184) 214.29/145.89 new_primMinusNat0(Zero, Succ(vyv245000)) -> Neg(Succ(vyv245000)) 214.29/145.89 new_primQuotInt0(vyv2710, Pos(Succ(vyv28800))) -> Neg(new_primDivNatS1(vyv2710, vyv28800)) 214.29/145.89 new_ms0(vyv241, Neg(Zero)) -> Neg(Succ(vyv241)) 214.29/145.89 new_sr10(Neg(vyv2400), Neg(vyv2390)) -> Pos(new_primMulNat0(vyv2400, vyv2390)) 214.29/145.89 new_sr4(vyv240, vyv239, ty_Float) -> new_sr14(vyv240, vyv239) 214.29/145.89 new_sr1(vyv228, ty_Int) -> new_sr7(vyv228) 214.29/145.89 new_fromInt -> Pos(Succ(Zero)) 214.29/145.89 new_primDivNatS1(Succ(Succ(vyv271000)), Succ(vyv285000)) -> new_primDivNatS01(vyv271000, vyv285000, vyv271000, vyv285000) 214.29/145.89 new_abs(Pos(Zero)) -> Pos(Zero) 214.29/145.89 new_sr7(Neg(vyv1840)) -> Pos(new_primMulNat1(vyv1840)) 214.29/145.89 new_primMulNat2(Zero) -> Zero 214.29/145.89 new_sr10(Pos(vyv2400), Neg(vyv2390)) -> Neg(new_primMulNat0(vyv2400, vyv2390)) 214.29/145.89 new_sr10(Neg(vyv2400), Pos(vyv2390)) -> Neg(new_primMulNat0(vyv2400, vyv2390)) 214.29/145.89 new_primMinusNat0(Succ(vyv2290), Zero) -> Pos(Succ(vyv2290)) 214.29/145.89 new_primModNatS01(vyv331, vyv332, Succ(vyv3330), Succ(vyv3340)) -> new_primModNatS01(vyv331, vyv332, vyv3330, vyv3340) 214.29/145.89 new_primModNatS1(Succ(Succ(vyv293000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv293000), Zero) 214.29/145.89 new_reduce2Reduce1(vyv265, vyv266, vyv267, vyv268, True, bh) -> error([]) 214.29/145.89 new_primModNatS1(Succ(Zero), Succ(vyv292000)) -> Succ(Zero) 214.29/145.89 new_primMinusNatS2(Zero, Zero) -> Zero 214.29/145.89 new_primEqInt(Neg(Zero)) -> True 214.29/145.89 new_primQuotInt(vyv2710, Neg(Succ(vyv28500))) -> Neg(new_primDivNatS1(vyv2710, vyv28500)) 214.29/145.89 new_primMinusNatS2(Succ(vyv3110), Succ(vyv3120)) -> new_primMinusNatS2(vyv3110, vyv3120) 214.29/145.89 new_primMinusNatS0(vyv271000) -> Succ(vyv271000) 214.29/145.89 new_primMulNat3(Zero) -> Zero 214.29/145.89 new_ms0(vyv241, Pos(vyv2440)) -> Neg(new_primPlusNat0(Succ(vyv241), vyv2440)) 214.29/145.89 new_primQuotInt0(vyv2710, Neg(Succ(vyv28800))) -> Pos(new_primDivNatS1(vyv2710, vyv28800)) 214.29/145.89 new_sr2(vyv228, vyv227, ty_Double) -> new_sr13(vyv228, vyv227) 214.29/145.89 new_sr14(vyv240, vyv239) -> error([]) 214.29/145.89 new_rem(Neg(vyv2930), Neg(Succ(vyv29200))) -> Neg(new_primModNatS1(vyv2930, vyv29200)) 214.29/145.89 new_primModNatS1(Zero, vyv29200) -> Zero 214.29/145.89 new_primDivNatS1(Succ(Zero), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS1, Zero)) 214.29/145.89 new_sr3(vyv250, app(ty_Ratio, bf)) -> new_sr5(vyv250, bf) 214.29/145.89 new_quot2(vyv274, vyv276, vyv275) -> error([]) 214.29/145.89 new_error -> error([]) 214.29/145.89 new_primEqInt(Neg(Succ(vyv242000))) -> False 214.29/145.89 new_sr4(vyv240, vyv239, ty_Int) -> new_sr10(vyv240, vyv239) 214.29/145.89 new_fromInt0 -> Pos(Succ(Succ(Zero))) 214.29/145.89 new_sr4(vyv240, vyv239, ty_Double) -> new_sr13(vyv240, vyv239) 214.29/145.89 new_gcd2(False, vyv273, vyv272) -> new_gcd0(vyv273, vyv272) 214.29/145.89 new_sr4(vyv240, vyv239, ty_Integer) -> new_sr9(vyv240, vyv239) 214.29/145.89 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 214.29/145.89 new_primDivNatS01(vyv311, vyv312, Zero, Zero) -> new_primDivNatS02(vyv311, vyv312) 214.29/145.89 new_ms0(vyv241, Neg(Succ(vyv24400))) -> new_primMinusNat0(vyv24400, vyv241) 214.29/145.89 new_quot1(vyv267, vyv268, vyv265, vyv266, ty_Integer) -> new_quot2(new_sr9(vyv267, vyv268), new_sr9(vyv265, vyv266), new_sr9(vyv267, vyv268)) 214.29/145.89 new_sr0(vyv184, app(ty_Ratio, bd)) -> new_sr5(vyv184, bd) 214.29/145.89 new_primQuotInt0(vyv2710, Pos(Zero)) -> new_error 214.29/145.89 new_sr0(vyv184, ty_Integer) -> new_sr6(vyv184) 214.29/145.89 new_sr2(vyv228, vyv227, ty_Float) -> new_sr14(vyv228, vyv227) 214.29/145.89 new_rem(Pos(vyv2930), Pos(Zero)) -> new_error 214.29/145.89 214.29/145.89 The set Q consists of the following terms: 214.29/145.89 214.29/145.89 new_sr13(x0, x1) 214.29/145.89 new_primDivNatS01(x0, x1, Zero, Zero) 214.29/145.89 new_gcd0Gcd'11(False, x0, x1) 214.29/145.89 new_primMulNat4(Zero) 214.29/145.89 new_gcd0Gcd'11(True, x0, x1) 214.29/145.89 new_sr2(x0, x1, ty_Float) 214.29/145.89 new_sr5(:%(x0, x1), x2) 214.29/145.89 new_primEqInt(Pos(Zero)) 214.29/145.89 new_ms(x0, Neg(x1)) 214.29/145.89 new_sr2(x0, x1, ty_Double) 214.29/145.89 new_esEs(Pos(Succ(x0))) 214.29/145.89 new_primQuotInt0(x0, Neg(Zero)) 214.29/145.89 new_primMulNat3(Zero) 214.29/145.89 new_primModNatS02(x0, x1) 214.29/145.89 new_sr(x0, ty_Double) 214.29/145.89 new_sr0(x0, ty_Double) 214.29/145.89 new_primDivNatS1(Succ(Zero), Zero) 214.29/145.89 new_primMinusNatS0(x0) 214.29/145.89 new_sr11(x0) 214.29/145.89 new_sr0(x0, app(ty_Ratio, x1)) 214.29/145.89 new_rem(Pos(x0), Neg(Succ(x1))) 214.29/145.89 new_rem(Neg(x0), Pos(Succ(x1))) 214.29/145.89 new_primMulNat0(Zero, Zero) 214.29/145.89 new_primPlusNat0(Succ(x0), Zero) 214.29/145.89 new_fromInt0 214.29/145.89 new_primMulNat0(Succ(x0), Zero) 214.29/145.89 new_sr3(x0, ty_Float) 214.29/145.89 new_fromInt 214.29/145.89 new_primMulNat2(Zero) 214.29/145.89 new_primQuotInt(x0, Pos(Zero)) 214.29/145.89 new_primMulNat2(Succ(x0)) 214.29/145.89 new_primQuotInt(x0, Neg(Zero)) 214.29/145.89 new_rem(Neg(x0), Neg(Succ(x1))) 214.29/145.89 new_primMinusNatS2(Zero, Succ(x0)) 214.29/145.89 new_sr(x0, ty_Int) 214.29/145.89 new_sr4(x0, x1, ty_Double) 214.29/145.89 new_primMulNat3(Succ(x0)) 214.29/145.89 new_sr0(x0, ty_Float) 214.29/145.89 new_esEs1(Integer(x0)) 214.29/145.89 new_primQuotInt0(x0, Pos(Zero)) 214.29/145.89 new_gcd2(True, x0, x1) 214.29/145.89 new_quot1(x0, x1, x2, x3, ty_Int) 214.29/145.89 new_primDivNatS1(Zero, x0) 214.29/145.89 new_primMinusNat0(Zero, Zero) 214.29/145.89 new_gcd(x0, x1) 214.29/145.89 new_gcd1(False, x0, x1) 214.29/145.89 new_esEs2(x0, x1, ty_Int) 214.29/145.89 new_sr3(x0, ty_Integer) 214.29/145.89 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 214.29/145.89 new_sr1(x0, app(ty_Ratio, x1)) 214.29/145.89 new_sr1(x0, ty_Float) 214.29/145.89 new_primPlusNat0(Zero, Succ(x0)) 214.29/145.89 new_sr8(:%(x0, x1), :%(x2, x3), x4) 214.29/145.89 new_abs(Neg(Zero)) 214.29/145.89 new_primMinusNatS2(Succ(x0), Zero) 214.29/145.89 new_error 214.29/145.89 new_primModNatS1(Succ(Zero), Zero) 214.29/145.89 new_primMulNat4(Succ(x0)) 214.29/145.89 new_sr1(x0, ty_Integer) 214.29/145.89 new_primDivNatS02(x0, x1) 214.29/145.89 new_sr1(x0, ty_Int) 214.29/145.89 new_rem(Neg(x0), Neg(Zero)) 214.29/145.89 new_primMinusNat0(Zero, Succ(x0)) 214.29/145.89 new_primEqInt(Neg(Zero)) 214.29/145.89 new_rem(Pos(x0), Pos(Succ(x1))) 214.29/145.89 new_abs(Pos(Succ(x0))) 214.29/145.89 new_primMulNat0(Succ(x0), Succ(x1)) 214.29/145.89 new_primMulNat0(Zero, Succ(x0)) 214.29/145.89 new_reduce2Reduce1(x0, x1, x2, x3, True, x4) 214.29/145.89 new_sr(x0, ty_Float) 214.29/145.89 new_gcd0Gcd'10(False, x0, x1) 214.29/145.89 new_sr12(x0) 214.29/145.89 new_primDivNatS01(x0, x1, Zero, Succ(x2)) 214.29/145.89 new_sr10(Pos(x0), Pos(x1)) 214.29/145.89 new_primModNatS01(x0, x1, Zero, Succ(x2)) 214.29/145.89 new_primPlusNat0(Zero, Zero) 214.29/145.89 new_sr(x0, ty_Integer) 214.29/145.89 new_primQuotInt0(x0, Pos(Succ(x1))) 214.29/145.89 new_primModNatS01(x0, x1, Succ(x2), Zero) 214.29/145.89 new_ms(x0, Pos(Succ(x1))) 214.29/145.89 new_primModNatS1(Succ(Succ(x0)), Zero) 214.29/145.89 new_sr4(x0, x1, ty_Integer) 214.29/145.89 new_rem(Pos(x0), Pos(Zero)) 214.29/145.89 new_sr4(x0, x1, ty_Int) 214.29/145.89 new_ms0(x0, Neg(Succ(x1))) 214.29/145.89 new_quot(Pos(x0), x1, x2) 214.29/145.89 new_primMinusNatS2(Zero, Zero) 214.29/145.89 new_esEs0(x0, ty_Int) 214.29/145.89 new_primMinusNat0(Succ(x0), Zero) 214.29/145.89 new_ms0(x0, Pos(x1)) 214.29/145.89 new_esEs(Pos(Zero)) 214.29/145.89 new_quot(Neg(x0), x1, x2) 214.29/145.89 new_primDivNatS01(x0, x1, Succ(x2), Succ(x3)) 214.29/145.89 new_quot2(x0, x1, x2) 214.29/145.89 new_primEqInt(Neg(Succ(x0))) 214.29/145.89 new_sr10(Neg(x0), Neg(x1)) 214.29/145.89 new_sr3(x0, app(ty_Ratio, x1)) 214.29/145.89 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 214.29/145.89 new_sr9(x0, x1) 214.29/145.89 new_sr2(x0, x1, ty_Integer) 214.29/145.89 new_sr7(Neg(x0)) 214.29/145.89 new_sr1(x0, ty_Double) 214.29/145.89 new_primQuotInt0(x0, Neg(Succ(x1))) 214.29/145.89 new_sr0(x0, ty_Integer) 214.29/145.89 new_rem(Pos(x0), Neg(Zero)) 214.29/145.89 new_rem(Neg(x0), Pos(Zero)) 214.29/145.89 new_gcd0Gcd'00(x0, x1) 214.29/145.89 new_primQuotInt(x0, Neg(Succ(x1))) 214.29/145.89 new_primMinusNatS2(Succ(x0), Succ(x1)) 214.29/145.89 new_ms(x0, Pos(Zero)) 214.29/145.89 new_abs(Pos(Zero)) 214.29/145.89 new_primMinusNat0(Succ(x0), Succ(x1)) 214.29/145.89 new_quot0(x0, x1, x2, x3, ty_Integer) 214.29/145.89 new_sr0(x0, ty_Int) 214.29/145.89 new_sr6(x0) 214.29/145.89 new_gcd2(False, x0, x1) 214.29/145.89 new_gcd1(True, x0, x1) 214.29/145.89 new_esEs2(x0, x1, ty_Integer) 214.29/145.89 new_primMinusNatS1 214.29/145.89 new_sr7(Pos(x0)) 214.29/145.89 new_gcd0Gcd'10(True, x0, x1) 214.29/145.89 new_primModNatS1(Zero, x0) 214.29/145.89 new_sr4(x0, x1, ty_Float) 214.29/145.89 new_sr10(Pos(x0), Neg(x1)) 214.29/145.89 new_sr10(Neg(x0), Pos(x1)) 214.29/145.89 new_primDivNatS01(x0, x1, Succ(x2), Zero) 214.29/145.89 new_primDivNatS1(Succ(Succ(x0)), Succ(x1)) 214.29/145.89 new_primPlusNat0(Succ(x0), Succ(x1)) 214.29/145.89 new_primDivNatS1(Succ(Zero), Succ(x0)) 214.29/145.89 new_primQuotInt(x0, Pos(Succ(x1))) 214.29/145.89 new_sr2(x0, x1, app(ty_Ratio, x2)) 214.29/145.89 new_abs(Neg(Succ(x0))) 214.29/145.89 new_esEs0(x0, ty_Integer) 214.29/145.89 new_sr3(x0, ty_Int) 214.29/145.89 new_esEs(Neg(Succ(x0))) 214.29/145.89 new_sr(x0, app(ty_Ratio, x1)) 214.29/145.89 new_ms0(x0, Neg(Zero)) 214.29/145.89 new_primModNatS01(x0, x1, Zero, Zero) 214.29/145.89 new_sr4(x0, x1, app(ty_Ratio, x2)) 214.29/145.89 new_gcd0(x0, x1) 214.29/145.89 new_primEqInt(Pos(Succ(x0))) 214.29/145.89 new_sr3(x0, ty_Double) 214.29/145.89 new_quot1(x0, x1, x2, x3, ty_Integer) 214.29/145.89 new_primDivNatS1(Succ(Succ(x0)), Zero) 214.29/145.89 new_primMulNat1(Succ(x0)) 214.29/145.89 new_sr14(x0, x1) 214.29/145.89 new_quot0(x0, x1, x2, x3, ty_Int) 214.29/145.89 new_sr2(x0, x1, ty_Int) 214.29/145.89 new_primModNatS1(Succ(Zero), Succ(x0)) 214.29/145.89 new_reduce2Reduce1(x0, x1, x2, x3, False, x4) 214.29/145.89 new_esEs(Neg(Zero)) 214.29/145.89 new_primMulNat1(Zero) 214.29/145.89 214.29/145.89 We have to consider all minimal (P,Q,R)-chains. 214.29/145.89 ---------------------------------------- 214.29/145.89 214.29/145.89 (700) TransformationProof (EQUIVALENT) 214.29/145.89 By rewriting [LPAR04] the rule new_pr2F0G(vyv188, vyv184, Pos(Succ(Zero)), h) -> new_pr2F(vyv184, Zero, new_fromInt, vyv188, h) at position [2] we obtained the following new rules [LPAR04]: 214.29/145.89 214.29/145.89 (new_pr2F0G(vyv188, vyv184, Pos(Succ(Zero)), h) -> new_pr2F(vyv184, Zero, Pos(Succ(Zero)), vyv188, h),new_pr2F0G(vyv188, vyv184, Pos(Succ(Zero)), h) -> new_pr2F(vyv184, Zero, Pos(Succ(Zero)), vyv188, h)) 214.29/145.89 214.29/145.89 214.29/145.89 ---------------------------------------- 214.29/145.89 214.29/145.89 (701) 214.29/145.89 Obligation: 214.29/145.89 Q DP problem: 214.29/145.89 The TRS P consists of the following rules: 214.29/145.89 214.29/145.89 new_pr2F0G10(vyv249, vyv250, vyv251, Succ(Succ(vyv25200)), bb) -> new_pr2F0G10(vyv249, vyv250, vyv251, vyv25200, bb) 214.29/145.89 new_pr2F0G(vyv188, vyv184, Neg(Succ(Zero)), h) -> new_pr2F0G11(vyv188, vyv184, Zero, h) 214.29/145.89 new_pr2F0G(vyv188, vyv184, Pos(Succ(Succ(vyv223000))), h) -> new_pr2F0G1(vyv188, vyv184, Succ(vyv223000), vyv223000, h) 214.29/145.89 new_pr2F0(vyv184, Neg(Succ(Succ(vyv223000))), vyv188, h) -> new_pr2F0G10(vyv188, vyv184, Succ(vyv223000), vyv223000, h) 214.29/145.89 new_pr2F0(vyv184, Neg(Succ(Zero)), vyv188, h) -> new_pr2F0G11(vyv188, vyv184, Zero, h) 214.29/145.89 new_pr2F0G10(vyv249, vyv250, vyv251, Succ(Zero), bb) -> new_pr2F0G11(vyv249, vyv250, vyv251, bb) 214.29/145.89 new_pr2F0G(vyv188, vyv184, Pos(Zero), h) -> new_pr2F0G(vyv188, new_sr(vyv184, h), new_primQuotInt(Zero, new_fromInt0), h) 214.29/145.89 new_pr2F0G(vyv188, vyv184, Neg(Succ(Succ(vyv223000))), h) -> new_pr2F0G10(vyv188, vyv184, Succ(vyv223000), vyv223000, h) 214.29/145.89 new_pr2F3(False, vyv228, vyv229, vyv245, vyv227, ba) -> new_pr2F0(vyv228, new_ms(vyv229, vyv245), new_sr2(vyv228, vyv227, ba), ba) 214.29/145.89 new_pr2F0(vyv184, Pos(Succ(Succ(vyv223000))), vyv188, h) -> new_pr2F0G1(vyv188, vyv184, Succ(vyv223000), vyv223000, h) 214.29/145.89 new_pr2F0G1(vyv227, vyv228, vyv229, Zero, ba) -> new_pr2F0G(vyv227, new_sr1(vyv228, ba), new_primQuotInt(Succ(vyv229), new_fromInt0), ba) 214.29/145.89 new_pr2F1(vyv240, vyv241, vyv244, vyv239, bc) -> new_pr2F30(new_esEs(new_ms0(vyv241, vyv244)), vyv240, vyv241, vyv244, vyv239, bc) 214.29/145.89 new_pr2F(vyv228, vyv229, vyv245, vyv227, ba) -> new_pr2F3(new_esEs(new_ms(vyv229, vyv245)), vyv228, vyv229, vyv245, vyv227, ba) 214.29/145.89 new_pr2F0G1(vyv227, vyv228, vyv229, Succ(Succ(vyv23000)), ba) -> new_pr2F0G1(vyv227, vyv228, vyv229, vyv23000, ba) 214.29/145.89 new_pr2F30(False, vyv240, vyv241, vyv244, vyv239, bc) -> new_pr2F0(vyv240, new_ms0(vyv241, vyv244), new_sr4(vyv240, vyv239, bc), bc) 214.29/145.89 new_pr2F0(vyv184, Pos(Zero), vyv188, h) -> new_pr2F0G(vyv188, new_sr(vyv184, h), new_primQuotInt(Zero, new_fromInt0), h) 214.29/145.89 new_pr2F0(vyv184, Neg(Zero), vyv188, h) -> new_pr2F0G(vyv188, new_sr0(vyv184, h), new_primQuotInt0(Zero, Pos(Succ(Succ(Zero)))), h) 214.29/145.89 new_pr2F0G11(vyv239, vyv240, vyv241, bc) -> new_pr2F1(vyv240, vyv241, Pos(Succ(Zero)), vyv239, bc) 214.29/145.89 new_pr2F0G(vyv188, vyv184, Neg(Zero), h) -> new_pr2F0G(vyv188, new_sr0(vyv184, h), new_primQuotInt0(Zero, Pos(Succ(Succ(Zero)))), h) 214.29/145.89 new_pr2F0G10(vyv249, vyv250, vyv251, Zero, bb) -> new_pr2F0G(vyv249, new_sr3(vyv250, bb), new_primQuotInt0(Succ(vyv251), Pos(Succ(Succ(Zero)))), bb) 214.29/145.89 new_pr2F0(vyv184, Pos(Succ(Zero)), vyv188, h) -> new_pr2F(vyv184, Zero, Pos(Succ(Zero)), vyv188, h) 214.29/145.89 new_pr2F0G1(vyv227, vyv228, vyv229, Succ(Zero), ba) -> new_pr2F(vyv228, vyv229, Pos(Succ(Zero)), vyv227, ba) 214.29/145.89 new_pr2F0G(vyv188, vyv184, Pos(Succ(Zero)), h) -> new_pr2F(vyv184, Zero, Pos(Succ(Zero)), vyv188, h) 214.29/145.89 214.29/145.89 The TRS R consists of the following rules: 214.29/145.89 214.29/145.89 new_sr1(vyv228, ty_Double) -> new_sr11(vyv228) 214.29/145.89 new_quot1(vyv267, vyv268, vyv265, vyv266, ty_Int) -> new_quot(new_sr10(vyv267, vyv268), new_sr10(vyv265, vyv266), new_sr10(vyv267, vyv268)) 214.29/145.89 new_primPlusNat0(Zero, Zero) -> Zero 214.29/145.89 new_abs(Neg(Zero)) -> Neg(Zero) 214.29/145.89 new_sr(vyv184, ty_Double) -> new_sr11(vyv184) 214.29/145.89 new_primDivNatS1(Zero, vyv28500) -> Zero 214.29/145.89 new_sr1(vyv228, ty_Float) -> new_sr12(vyv228) 214.29/145.89 new_quot0(vyv265, vyv266, vyv267, vyv268, ty_Integer) -> new_quot2(new_sr9(vyv265, vyv266), new_sr9(vyv265, vyv266), new_sr9(vyv267, vyv268)) 214.29/145.89 new_sr11(vyv184) -> error([]) 214.29/145.89 new_sr(vyv184, app(ty_Ratio, bd)) -> new_sr5(vyv184, bd) 214.29/145.89 new_primDivNatS01(vyv311, vyv312, Succ(vyv3130), Zero) -> new_primDivNatS02(vyv311, vyv312) 214.29/145.89 new_primDivNatS1(Succ(Succ(vyv271000)), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS0(vyv271000), Zero)) 214.29/145.89 new_primMinusNatS2(Zero, Succ(vyv3120)) -> Zero 214.29/145.89 new_sr1(vyv228, app(ty_Ratio, bg)) -> new_sr5(vyv228, bg) 214.29/145.89 new_primMinusNat0(Succ(vyv2290), Succ(vyv245000)) -> new_primMinusNat0(vyv2290, vyv245000) 214.29/145.89 new_primEqInt(Pos(Succ(vyv242000))) -> False 214.29/145.89 new_sr(vyv184, ty_Float) -> new_sr12(vyv184) 214.29/145.89 new_sr2(vyv228, vyv227, ty_Integer) -> new_sr9(vyv228, vyv227) 214.29/145.89 new_ms(vyv229, Neg(vyv2450)) -> Pos(new_primPlusNat0(Succ(vyv229), vyv2450)) 214.29/145.89 new_gcd1(True, vyv273, vyv272) -> new_error 214.29/145.89 new_abs(Neg(Succ(vyv27200))) -> Pos(Succ(vyv27200)) 214.29/145.89 new_primMulNat1(Succ(vyv18400)) -> new_primPlusNat0(new_primMulNat2(vyv18400), Succ(vyv18400)) 214.29/145.89 new_esEs0(vyv1841, ty_Int) -> new_esEs(new_sr7(vyv1841)) 214.29/145.89 new_sr2(vyv228, vyv227, ty_Int) -> new_sr10(vyv228, vyv227) 214.29/145.89 new_sr0(vyv184, ty_Double) -> new_sr11(vyv184) 214.29/145.89 new_sr12(vyv184) -> error([]) 214.29/145.89 new_primMinusNatS1 -> Zero 214.29/145.89 new_ms(vyv229, Pos(Succ(vyv24500))) -> new_primMinusNat0(vyv229, vyv24500) 214.29/145.89 new_primMinusNatS2(Succ(vyv3110), Zero) -> Succ(vyv3110) 214.29/145.89 new_sr3(vyv250, ty_Double) -> new_sr11(vyv250) 214.29/145.89 new_primDivNatS01(vyv311, vyv312, Zero, Succ(vyv3140)) -> Zero 214.29/145.89 new_gcd0Gcd'10(True, vyv292, vyv293) -> vyv292 214.29/145.89 new_primPlusNat0(Succ(vyv4000), Succ(vyv6000)) -> Succ(Succ(new_primPlusNat0(vyv4000, vyv6000))) 214.29/145.89 new_sr5(:%(vyv1840, vyv1841), bd) -> new_reduce2Reduce1(vyv1840, vyv1840, vyv1841, vyv1841, new_esEs0(vyv1841, bd), bd) 214.29/145.89 new_primMulNat2(Succ(vyv184000)) -> new_primPlusNat0(new_primMulNat3(vyv184000), Succ(Succ(vyv184000))) 214.29/145.89 new_primDivNatS02(vyv311, vyv312) -> Succ(new_primDivNatS1(new_primMinusNatS2(vyv311, vyv312), Succ(vyv312))) 214.29/145.89 new_sr2(vyv228, vyv227, app(ty_Ratio, bg)) -> new_sr8(vyv228, vyv227, bg) 214.29/145.89 new_sr3(vyv250, ty_Int) -> new_sr7(vyv250) 214.29/145.89 new_gcd1(False, vyv273, vyv272) -> new_gcd0(vyv273, vyv272) 214.29/145.89 new_reduce2Reduce1(vyv265, vyv266, vyv267, vyv268, False, bh) -> :%(new_quot0(vyv265, vyv266, vyv267, vyv268, bh), new_quot1(vyv267, vyv268, vyv265, vyv266, bh)) 214.29/145.89 new_primDivNatS1(Succ(Zero), Succ(vyv285000)) -> Zero 214.29/145.89 new_primMulNat4(Succ(vyv18400000)) -> new_primPlusNat0(new_primMulNat0(vyv18400000, Succ(Succ(Succ(Succ(vyv18400000))))), Succ(Succ(Succ(Succ(vyv18400000))))) 214.29/145.89 new_primModNatS1(Succ(Succ(vyv293000)), Succ(vyv292000)) -> new_primModNatS01(vyv293000, vyv292000, vyv293000, vyv292000) 214.29/145.89 new_primModNatS01(vyv331, vyv332, Zero, Succ(vyv3340)) -> Succ(Succ(vyv331)) 214.29/145.89 new_gcd0Gcd'00(vyv293, vyv292) -> new_gcd0Gcd'10(new_esEs(new_rem(vyv293, vyv292)), vyv292, vyv293) 214.29/145.89 new_esEs2(vyv2401, vyv2391, ty_Integer) -> new_esEs1(new_sr9(vyv2401, vyv2391)) 214.29/145.89 new_sr10(Pos(vyv2400), Pos(vyv2390)) -> Pos(new_primMulNat0(vyv2400, vyv2390)) 214.29/145.89 new_esEs0(vyv1841, ty_Integer) -> new_esEs1(new_sr6(vyv1841)) 214.29/145.89 new_quot(Pos(vyv2710), vyv273, vyv272) -> new_primQuotInt(vyv2710, new_gcd(vyv273, vyv272)) 214.29/145.89 new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) 214.29/145.89 new_gcd0Gcd'10(False, vyv292, vyv293) -> new_gcd0Gcd'00(vyv292, new_rem(vyv293, vyv292)) 214.29/145.89 new_sr6(vyv184) -> error([]) 214.29/145.89 new_esEs2(vyv2401, vyv2391, ty_Int) -> new_esEs(new_sr10(vyv2401, vyv2391)) 214.29/145.89 new_esEs(Pos(Succ(vyv24300))) -> new_primEqInt(Pos(Succ(vyv24300))) 214.29/145.89 new_quot0(vyv265, vyv266, vyv267, vyv268, ty_Int) -> new_quot(new_sr10(vyv265, vyv266), new_sr10(vyv265, vyv266), new_sr10(vyv267, vyv268)) 214.29/145.89 new_ms(vyv229, Pos(Zero)) -> Pos(Succ(vyv229)) 214.29/145.89 new_sr3(vyv250, ty_Float) -> new_sr12(vyv250) 214.29/145.89 new_gcd0Gcd'11(True, vyv273, vyv272) -> new_abs(vyv273) 214.29/145.89 new_primMinusNat0(Zero, Zero) -> Pos(Zero) 214.29/145.89 new_primModNatS01(vyv331, vyv332, Zero, Zero) -> new_primModNatS02(vyv331, vyv332) 214.29/145.89 new_sr9(vyv240, vyv239) -> error([]) 214.29/145.89 new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) 214.29/145.89 new_rem(Pos(vyv2930), Neg(Zero)) -> new_error 214.29/145.89 new_rem(Neg(vyv2930), Pos(Zero)) -> new_error 214.29/145.89 new_primModNatS01(vyv331, vyv332, Succ(vyv3330), Zero) -> new_primModNatS02(vyv331, vyv332) 214.29/145.89 new_primModNatS02(vyv331, vyv332) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv331), Succ(vyv332)), Succ(vyv332)) 214.29/145.89 new_rem(Pos(vyv2930), Neg(Succ(vyv29200))) -> Pos(new_primModNatS1(vyv2930, vyv29200)) 214.29/145.89 new_primMulNat0(Succ(vyv24000), Zero) -> Zero 214.29/145.89 new_primMulNat0(Zero, Succ(vyv23900)) -> Zero 214.29/145.89 new_quot(Neg(vyv2710), vyv273, vyv272) -> new_primQuotInt0(vyv2710, new_gcd(vyv273, vyv272)) 214.29/145.89 new_primQuotInt0(vyv2710, Neg(Zero)) -> new_error 214.29/145.89 new_sr0(vyv184, ty_Float) -> new_sr12(vyv184) 214.29/145.89 new_primQuotInt(vyv2710, Neg(Zero)) -> new_error 214.29/145.89 new_sr13(vyv240, vyv239) -> error([]) 214.29/145.89 new_rem(Neg(vyv2930), Pos(Succ(vyv29200))) -> Neg(new_primModNatS1(vyv2930, vyv29200)) 214.29/145.89 new_sr4(vyv240, vyv239, app(ty_Ratio, be)) -> new_sr8(vyv240, vyv239, be) 214.29/145.89 new_primMulNat4(Zero) -> Zero 214.29/145.89 new_primDivNatS01(vyv311, vyv312, Succ(vyv3130), Succ(vyv3140)) -> new_primDivNatS01(vyv311, vyv312, vyv3130, vyv3140) 214.29/145.89 new_primPlusNat0(Succ(vyv4000), Zero) -> Succ(vyv4000) 214.29/145.89 new_primPlusNat0(Zero, Succ(vyv6000)) -> Succ(vyv6000) 214.29/145.89 new_primMulNat0(Zero, Zero) -> Zero 214.29/145.89 new_primQuotInt(vyv2710, Pos(Succ(vyv28500))) -> Pos(new_primDivNatS1(vyv2710, vyv28500)) 214.29/145.89 new_gcd0(vyv273, vyv272) -> new_gcd0Gcd'11(new_esEs(new_abs(vyv272)), vyv273, vyv272) 214.29/145.89 new_sr(vyv184, ty_Int) -> new_sr7(vyv184) 214.29/145.89 new_primMulNat3(Succ(vyv1840000)) -> new_primPlusNat0(new_primMulNat4(vyv1840000), Succ(Succ(Succ(vyv1840000)))) 214.29/145.89 new_esEs(Neg(Succ(vyv24300))) -> new_primEqInt(Neg(Succ(vyv24300))) 214.29/145.89 new_esEs1(Integer(vyv2700)) -> new_primEqInt(vyv2700) 214.29/145.89 new_sr8(:%(vyv2400, vyv2401), :%(vyv2390, vyv2391), be) -> new_reduce2Reduce1(vyv2400, vyv2390, vyv2401, vyv2391, new_esEs2(vyv2401, vyv2391, be), be) 214.29/145.89 new_sr0(vyv184, ty_Int) -> new_sr7(vyv184) 214.29/145.89 new_sr7(Pos(vyv1840)) -> Pos(new_primMulNat1(vyv1840)) 214.29/145.89 new_primMulNat0(Succ(vyv24000), Succ(vyv23900)) -> new_primPlusNat0(new_primMulNat0(vyv24000, Succ(vyv23900)), Succ(vyv23900)) 214.29/145.89 new_sr1(vyv228, ty_Integer) -> new_sr6(vyv228) 214.29/145.89 new_primQuotInt(vyv2710, Pos(Zero)) -> new_error 214.29/145.89 new_rem(Pos(vyv2930), Pos(Succ(vyv29200))) -> Pos(new_primModNatS1(vyv2930, vyv29200)) 214.29/145.89 new_gcd0Gcd'11(False, vyv273, vyv272) -> new_gcd0Gcd'00(new_abs(vyv273), new_abs(vyv272)) 214.29/145.89 new_abs(Pos(Succ(vyv27200))) -> Pos(Succ(vyv27200)) 214.29/145.89 new_primEqInt(Pos(Zero)) -> True 214.29/145.89 new_primMulNat1(Zero) -> Zero 214.29/145.89 new_sr3(vyv250, ty_Integer) -> new_sr6(vyv250) 214.29/145.89 new_gcd(vyv273, vyv272) -> new_gcd2(new_esEs(vyv273), vyv273, vyv272) 214.29/145.89 new_rem(Neg(vyv2930), Neg(Zero)) -> new_error 214.29/145.89 new_gcd2(True, vyv273, vyv272) -> new_gcd1(new_esEs(vyv272), vyv273, vyv272) 214.29/145.89 new_sr(vyv184, ty_Integer) -> new_sr6(vyv184) 214.29/145.89 new_primMinusNat0(Zero, Succ(vyv245000)) -> Neg(Succ(vyv245000)) 214.29/145.89 new_primQuotInt0(vyv2710, Pos(Succ(vyv28800))) -> Neg(new_primDivNatS1(vyv2710, vyv28800)) 214.29/145.89 new_ms0(vyv241, Neg(Zero)) -> Neg(Succ(vyv241)) 214.29/145.89 new_sr10(Neg(vyv2400), Neg(vyv2390)) -> Pos(new_primMulNat0(vyv2400, vyv2390)) 214.29/145.89 new_sr4(vyv240, vyv239, ty_Float) -> new_sr14(vyv240, vyv239) 214.29/145.89 new_sr1(vyv228, ty_Int) -> new_sr7(vyv228) 214.29/145.89 new_fromInt -> Pos(Succ(Zero)) 214.29/145.89 new_primDivNatS1(Succ(Succ(vyv271000)), Succ(vyv285000)) -> new_primDivNatS01(vyv271000, vyv285000, vyv271000, vyv285000) 214.29/145.89 new_abs(Pos(Zero)) -> Pos(Zero) 214.29/145.89 new_sr7(Neg(vyv1840)) -> Pos(new_primMulNat1(vyv1840)) 214.29/145.89 new_primMulNat2(Zero) -> Zero 214.29/145.89 new_sr10(Pos(vyv2400), Neg(vyv2390)) -> Neg(new_primMulNat0(vyv2400, vyv2390)) 214.29/145.89 new_sr10(Neg(vyv2400), Pos(vyv2390)) -> Neg(new_primMulNat0(vyv2400, vyv2390)) 214.29/145.89 new_primMinusNat0(Succ(vyv2290), Zero) -> Pos(Succ(vyv2290)) 214.29/145.89 new_primModNatS01(vyv331, vyv332, Succ(vyv3330), Succ(vyv3340)) -> new_primModNatS01(vyv331, vyv332, vyv3330, vyv3340) 214.29/145.89 new_primModNatS1(Succ(Succ(vyv293000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv293000), Zero) 214.29/145.89 new_reduce2Reduce1(vyv265, vyv266, vyv267, vyv268, True, bh) -> error([]) 214.29/145.89 new_primModNatS1(Succ(Zero), Succ(vyv292000)) -> Succ(Zero) 214.29/145.89 new_primMinusNatS2(Zero, Zero) -> Zero 214.29/145.89 new_primEqInt(Neg(Zero)) -> True 214.29/145.89 new_primQuotInt(vyv2710, Neg(Succ(vyv28500))) -> Neg(new_primDivNatS1(vyv2710, vyv28500)) 214.29/145.89 new_primMinusNatS2(Succ(vyv3110), Succ(vyv3120)) -> new_primMinusNatS2(vyv3110, vyv3120) 214.29/145.89 new_primMinusNatS0(vyv271000) -> Succ(vyv271000) 214.29/145.89 new_primMulNat3(Zero) -> Zero 214.29/145.89 new_ms0(vyv241, Pos(vyv2440)) -> Neg(new_primPlusNat0(Succ(vyv241), vyv2440)) 214.29/145.89 new_primQuotInt0(vyv2710, Neg(Succ(vyv28800))) -> Pos(new_primDivNatS1(vyv2710, vyv28800)) 214.29/145.89 new_sr2(vyv228, vyv227, ty_Double) -> new_sr13(vyv228, vyv227) 214.29/145.89 new_sr14(vyv240, vyv239) -> error([]) 214.29/145.89 new_rem(Neg(vyv2930), Neg(Succ(vyv29200))) -> Neg(new_primModNatS1(vyv2930, vyv29200)) 214.29/145.89 new_primModNatS1(Zero, vyv29200) -> Zero 214.29/145.89 new_primDivNatS1(Succ(Zero), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS1, Zero)) 214.29/145.89 new_sr3(vyv250, app(ty_Ratio, bf)) -> new_sr5(vyv250, bf) 214.29/145.89 new_quot2(vyv274, vyv276, vyv275) -> error([]) 214.29/145.89 new_error -> error([]) 214.29/145.89 new_primEqInt(Neg(Succ(vyv242000))) -> False 214.29/145.89 new_sr4(vyv240, vyv239, ty_Int) -> new_sr10(vyv240, vyv239) 214.29/145.89 new_fromInt0 -> Pos(Succ(Succ(Zero))) 214.29/145.89 new_sr4(vyv240, vyv239, ty_Double) -> new_sr13(vyv240, vyv239) 214.29/145.89 new_gcd2(False, vyv273, vyv272) -> new_gcd0(vyv273, vyv272) 214.29/145.89 new_sr4(vyv240, vyv239, ty_Integer) -> new_sr9(vyv240, vyv239) 214.29/145.89 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 214.29/145.89 new_primDivNatS01(vyv311, vyv312, Zero, Zero) -> new_primDivNatS02(vyv311, vyv312) 214.29/145.89 new_ms0(vyv241, Neg(Succ(vyv24400))) -> new_primMinusNat0(vyv24400, vyv241) 214.29/145.89 new_quot1(vyv267, vyv268, vyv265, vyv266, ty_Integer) -> new_quot2(new_sr9(vyv267, vyv268), new_sr9(vyv265, vyv266), new_sr9(vyv267, vyv268)) 214.29/145.89 new_sr0(vyv184, app(ty_Ratio, bd)) -> new_sr5(vyv184, bd) 214.29/145.89 new_primQuotInt0(vyv2710, Pos(Zero)) -> new_error 214.29/145.89 new_sr0(vyv184, ty_Integer) -> new_sr6(vyv184) 214.29/145.89 new_sr2(vyv228, vyv227, ty_Float) -> new_sr14(vyv228, vyv227) 214.29/145.89 new_rem(Pos(vyv2930), Pos(Zero)) -> new_error 214.29/145.89 214.29/145.89 The set Q consists of the following terms: 214.29/145.89 214.29/145.89 new_sr13(x0, x1) 214.29/145.89 new_primDivNatS01(x0, x1, Zero, Zero) 214.29/145.89 new_gcd0Gcd'11(False, x0, x1) 214.29/145.89 new_primMulNat4(Zero) 214.29/145.89 new_gcd0Gcd'11(True, x0, x1) 214.29/145.89 new_sr2(x0, x1, ty_Float) 214.29/145.89 new_sr5(:%(x0, x1), x2) 214.29/145.89 new_primEqInt(Pos(Zero)) 214.29/145.89 new_ms(x0, Neg(x1)) 214.29/145.89 new_sr2(x0, x1, ty_Double) 214.29/145.89 new_esEs(Pos(Succ(x0))) 214.29/145.89 new_primQuotInt0(x0, Neg(Zero)) 214.29/145.89 new_primMulNat3(Zero) 214.29/145.89 new_primModNatS02(x0, x1) 214.29/145.89 new_sr(x0, ty_Double) 214.29/145.89 new_sr0(x0, ty_Double) 214.29/145.89 new_primDivNatS1(Succ(Zero), Zero) 214.29/145.89 new_primMinusNatS0(x0) 214.29/145.89 new_sr11(x0) 214.29/145.89 new_sr0(x0, app(ty_Ratio, x1)) 214.29/145.89 new_rem(Pos(x0), Neg(Succ(x1))) 214.29/145.89 new_rem(Neg(x0), Pos(Succ(x1))) 214.29/145.89 new_primMulNat0(Zero, Zero) 214.29/145.89 new_primPlusNat0(Succ(x0), Zero) 214.29/145.89 new_fromInt0 214.29/145.89 new_primMulNat0(Succ(x0), Zero) 214.29/145.89 new_sr3(x0, ty_Float) 214.29/145.89 new_fromInt 214.29/145.89 new_primMulNat2(Zero) 214.29/145.90 new_primQuotInt(x0, Pos(Zero)) 214.29/145.90 new_primMulNat2(Succ(x0)) 214.29/145.90 new_primQuotInt(x0, Neg(Zero)) 214.29/145.90 new_rem(Neg(x0), Neg(Succ(x1))) 214.29/145.90 new_primMinusNatS2(Zero, Succ(x0)) 214.29/145.90 new_sr(x0, ty_Int) 214.29/145.90 new_sr4(x0, x1, ty_Double) 214.29/145.90 new_primMulNat3(Succ(x0)) 214.29/145.90 new_sr0(x0, ty_Float) 214.29/145.90 new_esEs1(Integer(x0)) 214.29/145.90 new_primQuotInt0(x0, Pos(Zero)) 214.29/145.90 new_gcd2(True, x0, x1) 214.29/145.90 new_quot1(x0, x1, x2, x3, ty_Int) 214.29/145.90 new_primDivNatS1(Zero, x0) 214.29/145.90 new_primMinusNat0(Zero, Zero) 214.29/145.90 new_gcd(x0, x1) 214.29/145.90 new_gcd1(False, x0, x1) 214.29/145.90 new_esEs2(x0, x1, ty_Int) 214.29/145.90 new_sr3(x0, ty_Integer) 214.29/145.90 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 214.29/145.90 new_sr1(x0, app(ty_Ratio, x1)) 214.29/145.90 new_sr1(x0, ty_Float) 214.29/145.90 new_primPlusNat0(Zero, Succ(x0)) 214.29/145.90 new_sr8(:%(x0, x1), :%(x2, x3), x4) 214.29/145.90 new_abs(Neg(Zero)) 214.29/145.90 new_primMinusNatS2(Succ(x0), Zero) 214.29/145.90 new_error 214.29/145.90 new_primModNatS1(Succ(Zero), Zero) 214.29/145.90 new_primMulNat4(Succ(x0)) 214.29/145.90 new_sr1(x0, ty_Integer) 214.29/145.90 new_primDivNatS02(x0, x1) 214.29/145.90 new_sr1(x0, ty_Int) 214.29/145.90 new_rem(Neg(x0), Neg(Zero)) 214.29/145.90 new_primMinusNat0(Zero, Succ(x0)) 214.29/145.90 new_primEqInt(Neg(Zero)) 214.29/145.90 new_rem(Pos(x0), Pos(Succ(x1))) 214.29/145.90 new_abs(Pos(Succ(x0))) 214.29/145.90 new_primMulNat0(Succ(x0), Succ(x1)) 214.29/145.90 new_primMulNat0(Zero, Succ(x0)) 214.29/145.90 new_reduce2Reduce1(x0, x1, x2, x3, True, x4) 214.29/145.90 new_sr(x0, ty_Float) 214.29/145.90 new_gcd0Gcd'10(False, x0, x1) 214.29/145.90 new_sr12(x0) 214.29/145.90 new_primDivNatS01(x0, x1, Zero, Succ(x2)) 214.29/145.90 new_sr10(Pos(x0), Pos(x1)) 214.29/145.90 new_primModNatS01(x0, x1, Zero, Succ(x2)) 214.29/145.90 new_primPlusNat0(Zero, Zero) 214.29/145.90 new_sr(x0, ty_Integer) 214.29/145.90 new_primQuotInt0(x0, Pos(Succ(x1))) 214.29/145.90 new_primModNatS01(x0, x1, Succ(x2), Zero) 214.29/145.90 new_ms(x0, Pos(Succ(x1))) 214.29/145.90 new_primModNatS1(Succ(Succ(x0)), Zero) 214.29/145.90 new_sr4(x0, x1, ty_Integer) 214.29/145.90 new_rem(Pos(x0), Pos(Zero)) 214.29/145.90 new_sr4(x0, x1, ty_Int) 214.29/145.90 new_ms0(x0, Neg(Succ(x1))) 214.29/145.90 new_quot(Pos(x0), x1, x2) 214.29/145.90 new_primMinusNatS2(Zero, Zero) 214.29/145.90 new_esEs0(x0, ty_Int) 214.29/145.90 new_primMinusNat0(Succ(x0), Zero) 214.29/145.90 new_ms0(x0, Pos(x1)) 214.29/145.90 new_esEs(Pos(Zero)) 214.29/145.90 new_quot(Neg(x0), x1, x2) 214.29/145.90 new_primDivNatS01(x0, x1, Succ(x2), Succ(x3)) 214.29/145.90 new_quot2(x0, x1, x2) 214.29/145.90 new_primEqInt(Neg(Succ(x0))) 214.29/145.90 new_sr10(Neg(x0), Neg(x1)) 214.29/145.90 new_sr3(x0, app(ty_Ratio, x1)) 214.29/145.90 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 214.29/145.90 new_sr9(x0, x1) 214.29/145.90 new_sr2(x0, x1, ty_Integer) 214.29/145.90 new_sr7(Neg(x0)) 214.29/145.90 new_sr1(x0, ty_Double) 214.29/145.90 new_primQuotInt0(x0, Neg(Succ(x1))) 214.29/145.90 new_sr0(x0, ty_Integer) 214.29/145.90 new_rem(Pos(x0), Neg(Zero)) 214.29/145.90 new_rem(Neg(x0), Pos(Zero)) 214.29/145.90 new_gcd0Gcd'00(x0, x1) 214.29/145.90 new_primQuotInt(x0, Neg(Succ(x1))) 214.29/145.90 new_primMinusNatS2(Succ(x0), Succ(x1)) 214.29/145.90 new_ms(x0, Pos(Zero)) 214.29/145.90 new_abs(Pos(Zero)) 214.29/145.90 new_primMinusNat0(Succ(x0), Succ(x1)) 214.29/145.90 new_quot0(x0, x1, x2, x3, ty_Integer) 214.29/145.90 new_sr0(x0, ty_Int) 214.29/145.90 new_sr6(x0) 214.29/145.90 new_gcd2(False, x0, x1) 214.29/145.90 new_gcd1(True, x0, x1) 214.29/145.90 new_esEs2(x0, x1, ty_Integer) 214.29/145.90 new_primMinusNatS1 214.29/145.90 new_sr7(Pos(x0)) 214.29/145.90 new_gcd0Gcd'10(True, x0, x1) 214.29/145.90 new_primModNatS1(Zero, x0) 214.29/145.90 new_sr4(x0, x1, ty_Float) 214.29/145.90 new_sr10(Pos(x0), Neg(x1)) 214.29/145.90 new_sr10(Neg(x0), Pos(x1)) 214.29/145.90 new_primDivNatS01(x0, x1, Succ(x2), Zero) 214.29/145.90 new_primDivNatS1(Succ(Succ(x0)), Succ(x1)) 214.29/145.90 new_primPlusNat0(Succ(x0), Succ(x1)) 214.29/145.90 new_primDivNatS1(Succ(Zero), Succ(x0)) 214.29/145.90 new_primQuotInt(x0, Pos(Succ(x1))) 214.29/145.90 new_sr2(x0, x1, app(ty_Ratio, x2)) 214.29/145.90 new_abs(Neg(Succ(x0))) 214.29/145.90 new_esEs0(x0, ty_Integer) 214.29/145.90 new_sr3(x0, ty_Int) 214.29/145.90 new_esEs(Neg(Succ(x0))) 214.29/145.90 new_sr(x0, app(ty_Ratio, x1)) 214.29/145.90 new_ms0(x0, Neg(Zero)) 214.29/145.90 new_primModNatS01(x0, x1, Zero, Zero) 214.29/145.90 new_sr4(x0, x1, app(ty_Ratio, x2)) 214.29/145.90 new_gcd0(x0, x1) 214.29/145.90 new_primEqInt(Pos(Succ(x0))) 214.29/145.90 new_sr3(x0, ty_Double) 214.29/145.90 new_quot1(x0, x1, x2, x3, ty_Integer) 214.29/145.90 new_primDivNatS1(Succ(Succ(x0)), Zero) 214.29/145.90 new_primMulNat1(Succ(x0)) 214.29/145.90 new_sr14(x0, x1) 214.29/145.90 new_quot0(x0, x1, x2, x3, ty_Int) 214.29/145.90 new_sr2(x0, x1, ty_Int) 214.29/145.90 new_primModNatS1(Succ(Zero), Succ(x0)) 214.29/145.90 new_reduce2Reduce1(x0, x1, x2, x3, False, x4) 214.29/145.90 new_esEs(Neg(Zero)) 214.29/145.90 new_primMulNat1(Zero) 214.29/145.90 214.29/145.90 We have to consider all minimal (P,Q,R)-chains. 214.29/145.90 ---------------------------------------- 214.29/145.90 214.29/145.90 (702) UsableRulesProof (EQUIVALENT) 214.29/145.90 As all Q-normal forms are R-normal forms we are in the innermost case. Hence, by the usable rules processor [LPAR04] we can delete all non-usable rules [FROCOS05] from R. 214.29/145.90 ---------------------------------------- 214.29/145.90 214.29/145.90 (703) 214.29/145.90 Obligation: 214.29/145.90 Q DP problem: 214.29/145.90 The TRS P consists of the following rules: 214.29/145.90 214.29/145.90 new_pr2F0G10(vyv249, vyv250, vyv251, Succ(Succ(vyv25200)), bb) -> new_pr2F0G10(vyv249, vyv250, vyv251, vyv25200, bb) 214.29/145.90 new_pr2F0G(vyv188, vyv184, Neg(Succ(Zero)), h) -> new_pr2F0G11(vyv188, vyv184, Zero, h) 214.29/145.90 new_pr2F0G(vyv188, vyv184, Pos(Succ(Succ(vyv223000))), h) -> new_pr2F0G1(vyv188, vyv184, Succ(vyv223000), vyv223000, h) 214.29/145.90 new_pr2F0(vyv184, Neg(Succ(Succ(vyv223000))), vyv188, h) -> new_pr2F0G10(vyv188, vyv184, Succ(vyv223000), vyv223000, h) 214.29/145.90 new_pr2F0(vyv184, Neg(Succ(Zero)), vyv188, h) -> new_pr2F0G11(vyv188, vyv184, Zero, h) 214.29/145.90 new_pr2F0G10(vyv249, vyv250, vyv251, Succ(Zero), bb) -> new_pr2F0G11(vyv249, vyv250, vyv251, bb) 214.29/145.90 new_pr2F0G(vyv188, vyv184, Pos(Zero), h) -> new_pr2F0G(vyv188, new_sr(vyv184, h), new_primQuotInt(Zero, new_fromInt0), h) 214.29/145.90 new_pr2F0G(vyv188, vyv184, Neg(Succ(Succ(vyv223000))), h) -> new_pr2F0G10(vyv188, vyv184, Succ(vyv223000), vyv223000, h) 214.29/145.90 new_pr2F3(False, vyv228, vyv229, vyv245, vyv227, ba) -> new_pr2F0(vyv228, new_ms(vyv229, vyv245), new_sr2(vyv228, vyv227, ba), ba) 214.29/145.90 new_pr2F0(vyv184, Pos(Succ(Succ(vyv223000))), vyv188, h) -> new_pr2F0G1(vyv188, vyv184, Succ(vyv223000), vyv223000, h) 214.29/145.90 new_pr2F0G1(vyv227, vyv228, vyv229, Zero, ba) -> new_pr2F0G(vyv227, new_sr1(vyv228, ba), new_primQuotInt(Succ(vyv229), new_fromInt0), ba) 214.29/145.90 new_pr2F1(vyv240, vyv241, vyv244, vyv239, bc) -> new_pr2F30(new_esEs(new_ms0(vyv241, vyv244)), vyv240, vyv241, vyv244, vyv239, bc) 214.29/145.90 new_pr2F(vyv228, vyv229, vyv245, vyv227, ba) -> new_pr2F3(new_esEs(new_ms(vyv229, vyv245)), vyv228, vyv229, vyv245, vyv227, ba) 214.29/145.90 new_pr2F0G1(vyv227, vyv228, vyv229, Succ(Succ(vyv23000)), ba) -> new_pr2F0G1(vyv227, vyv228, vyv229, vyv23000, ba) 214.29/145.90 new_pr2F30(False, vyv240, vyv241, vyv244, vyv239, bc) -> new_pr2F0(vyv240, new_ms0(vyv241, vyv244), new_sr4(vyv240, vyv239, bc), bc) 214.29/145.90 new_pr2F0(vyv184, Pos(Zero), vyv188, h) -> new_pr2F0G(vyv188, new_sr(vyv184, h), new_primQuotInt(Zero, new_fromInt0), h) 214.29/145.90 new_pr2F0(vyv184, Neg(Zero), vyv188, h) -> new_pr2F0G(vyv188, new_sr0(vyv184, h), new_primQuotInt0(Zero, Pos(Succ(Succ(Zero)))), h) 214.29/145.90 new_pr2F0G11(vyv239, vyv240, vyv241, bc) -> new_pr2F1(vyv240, vyv241, Pos(Succ(Zero)), vyv239, bc) 214.29/145.90 new_pr2F0G(vyv188, vyv184, Neg(Zero), h) -> new_pr2F0G(vyv188, new_sr0(vyv184, h), new_primQuotInt0(Zero, Pos(Succ(Succ(Zero)))), h) 214.29/145.90 new_pr2F0G10(vyv249, vyv250, vyv251, Zero, bb) -> new_pr2F0G(vyv249, new_sr3(vyv250, bb), new_primQuotInt0(Succ(vyv251), Pos(Succ(Succ(Zero)))), bb) 214.29/145.90 new_pr2F0(vyv184, Pos(Succ(Zero)), vyv188, h) -> new_pr2F(vyv184, Zero, Pos(Succ(Zero)), vyv188, h) 214.29/145.90 new_pr2F0G1(vyv227, vyv228, vyv229, Succ(Zero), ba) -> new_pr2F(vyv228, vyv229, Pos(Succ(Zero)), vyv227, ba) 214.29/145.90 new_pr2F0G(vyv188, vyv184, Pos(Succ(Zero)), h) -> new_pr2F(vyv184, Zero, Pos(Succ(Zero)), vyv188, h) 214.29/145.90 214.29/145.90 The TRS R consists of the following rules: 214.29/145.90 214.29/145.90 new_sr3(vyv250, ty_Double) -> new_sr11(vyv250) 214.29/145.90 new_sr3(vyv250, ty_Int) -> new_sr7(vyv250) 214.29/145.90 new_sr3(vyv250, ty_Float) -> new_sr12(vyv250) 214.29/145.90 new_sr3(vyv250, ty_Integer) -> new_sr6(vyv250) 214.29/145.90 new_sr3(vyv250, app(ty_Ratio, bf)) -> new_sr5(vyv250, bf) 214.29/145.90 new_primQuotInt0(vyv2710, Pos(Succ(vyv28800))) -> Neg(new_primDivNatS1(vyv2710, vyv28800)) 214.29/145.90 new_primDivNatS1(Zero, vyv28500) -> Zero 214.29/145.90 new_primDivNatS1(Succ(Succ(vyv271000)), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS0(vyv271000), Zero)) 214.29/145.90 new_primDivNatS1(Succ(Zero), Succ(vyv285000)) -> Zero 214.29/145.90 new_primDivNatS1(Succ(Succ(vyv271000)), Succ(vyv285000)) -> new_primDivNatS01(vyv271000, vyv285000, vyv271000, vyv285000) 214.29/145.90 new_primDivNatS1(Succ(Zero), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS1, Zero)) 214.29/145.90 new_primMinusNatS1 -> Zero 214.29/145.90 new_primDivNatS01(vyv311, vyv312, Succ(vyv3130), Zero) -> new_primDivNatS02(vyv311, vyv312) 214.29/145.90 new_primDivNatS01(vyv311, vyv312, Zero, Succ(vyv3140)) -> Zero 214.29/145.90 new_primDivNatS01(vyv311, vyv312, Succ(vyv3130), Succ(vyv3140)) -> new_primDivNatS01(vyv311, vyv312, vyv3130, vyv3140) 214.29/145.90 new_primDivNatS01(vyv311, vyv312, Zero, Zero) -> new_primDivNatS02(vyv311, vyv312) 214.29/145.90 new_primDivNatS02(vyv311, vyv312) -> Succ(new_primDivNatS1(new_primMinusNatS2(vyv311, vyv312), Succ(vyv312))) 214.29/145.90 new_primMinusNatS2(Zero, Succ(vyv3120)) -> Zero 214.29/145.90 new_primMinusNatS2(Succ(vyv3110), Zero) -> Succ(vyv3110) 214.29/145.90 new_primMinusNatS2(Zero, Zero) -> Zero 214.29/145.90 new_primMinusNatS2(Succ(vyv3110), Succ(vyv3120)) -> new_primMinusNatS2(vyv3110, vyv3120) 214.29/145.90 new_primMinusNatS0(vyv271000) -> Succ(vyv271000) 214.29/145.90 new_sr5(:%(vyv1840, vyv1841), bd) -> new_reduce2Reduce1(vyv1840, vyv1840, vyv1841, vyv1841, new_esEs0(vyv1841, bd), bd) 214.29/145.90 new_esEs0(vyv1841, ty_Int) -> new_esEs(new_sr7(vyv1841)) 214.29/145.90 new_esEs0(vyv1841, ty_Integer) -> new_esEs1(new_sr6(vyv1841)) 214.29/145.90 new_reduce2Reduce1(vyv265, vyv266, vyv267, vyv268, False, bh) -> :%(new_quot0(vyv265, vyv266, vyv267, vyv268, bh), new_quot1(vyv267, vyv268, vyv265, vyv266, bh)) 214.29/145.90 new_reduce2Reduce1(vyv265, vyv266, vyv267, vyv268, True, bh) -> error([]) 214.29/145.90 new_quot0(vyv265, vyv266, vyv267, vyv268, ty_Integer) -> new_quot2(new_sr9(vyv265, vyv266), new_sr9(vyv265, vyv266), new_sr9(vyv267, vyv268)) 214.29/145.90 new_quot0(vyv265, vyv266, vyv267, vyv268, ty_Int) -> new_quot(new_sr10(vyv265, vyv266), new_sr10(vyv265, vyv266), new_sr10(vyv267, vyv268)) 214.29/145.90 new_quot1(vyv267, vyv268, vyv265, vyv266, ty_Int) -> new_quot(new_sr10(vyv267, vyv268), new_sr10(vyv265, vyv266), new_sr10(vyv267, vyv268)) 214.29/145.90 new_quot1(vyv267, vyv268, vyv265, vyv266, ty_Integer) -> new_quot2(new_sr9(vyv267, vyv268), new_sr9(vyv265, vyv266), new_sr9(vyv267, vyv268)) 214.29/145.90 new_sr9(vyv240, vyv239) -> error([]) 214.29/145.90 new_quot2(vyv274, vyv276, vyv275) -> error([]) 214.29/145.90 new_sr10(Pos(vyv2400), Pos(vyv2390)) -> Pos(new_primMulNat0(vyv2400, vyv2390)) 214.29/145.90 new_sr10(Neg(vyv2400), Neg(vyv2390)) -> Pos(new_primMulNat0(vyv2400, vyv2390)) 214.29/145.90 new_sr10(Pos(vyv2400), Neg(vyv2390)) -> Neg(new_primMulNat0(vyv2400, vyv2390)) 214.29/145.90 new_sr10(Neg(vyv2400), Pos(vyv2390)) -> Neg(new_primMulNat0(vyv2400, vyv2390)) 214.29/145.90 new_quot(Pos(vyv2710), vyv273, vyv272) -> new_primQuotInt(vyv2710, new_gcd(vyv273, vyv272)) 214.29/145.90 new_quot(Neg(vyv2710), vyv273, vyv272) -> new_primQuotInt0(vyv2710, new_gcd(vyv273, vyv272)) 214.29/145.90 new_gcd(vyv273, vyv272) -> new_gcd2(new_esEs(vyv273), vyv273, vyv272) 214.29/145.90 new_primQuotInt0(vyv2710, Neg(Zero)) -> new_error 214.29/145.90 new_primQuotInt0(vyv2710, Neg(Succ(vyv28800))) -> Pos(new_primDivNatS1(vyv2710, vyv28800)) 214.29/145.90 new_primQuotInt0(vyv2710, Pos(Zero)) -> new_error 214.29/145.90 new_error -> error([]) 214.29/145.90 new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) 214.29/145.90 new_esEs(Pos(Succ(vyv24300))) -> new_primEqInt(Pos(Succ(vyv24300))) 214.29/145.90 new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) 214.29/145.90 new_esEs(Neg(Succ(vyv24300))) -> new_primEqInt(Neg(Succ(vyv24300))) 214.29/145.90 new_gcd2(True, vyv273, vyv272) -> new_gcd1(new_esEs(vyv272), vyv273, vyv272) 214.29/145.90 new_gcd2(False, vyv273, vyv272) -> new_gcd0(vyv273, vyv272) 214.29/145.90 new_gcd0(vyv273, vyv272) -> new_gcd0Gcd'11(new_esEs(new_abs(vyv272)), vyv273, vyv272) 214.29/145.90 new_abs(Neg(Zero)) -> Neg(Zero) 214.29/145.90 new_abs(Neg(Succ(vyv27200))) -> Pos(Succ(vyv27200)) 214.29/145.90 new_abs(Pos(Succ(vyv27200))) -> Pos(Succ(vyv27200)) 214.29/145.90 new_abs(Pos(Zero)) -> Pos(Zero) 214.29/145.90 new_gcd0Gcd'11(True, vyv273, vyv272) -> new_abs(vyv273) 214.29/145.90 new_gcd0Gcd'11(False, vyv273, vyv272) -> new_gcd0Gcd'00(new_abs(vyv273), new_abs(vyv272)) 214.29/145.90 new_gcd0Gcd'10(False, vyv292, vyv293) -> new_gcd0Gcd'00(vyv292, new_rem(vyv293, vyv292)) 214.29/145.90 new_gcd0Gcd'00(vyv293, vyv292) -> new_gcd0Gcd'10(new_esEs(new_rem(vyv293, vyv292)), vyv292, vyv293) 214.29/145.90 new_rem(Pos(vyv2930), Neg(Zero)) -> new_error 214.29/145.90 new_rem(Neg(vyv2930), Pos(Zero)) -> new_error 214.29/145.90 new_rem(Pos(vyv2930), Neg(Succ(vyv29200))) -> Pos(new_primModNatS1(vyv2930, vyv29200)) 214.29/145.90 new_rem(Neg(vyv2930), Pos(Succ(vyv29200))) -> Neg(new_primModNatS1(vyv2930, vyv29200)) 214.29/145.90 new_rem(Pos(vyv2930), Pos(Succ(vyv29200))) -> Pos(new_primModNatS1(vyv2930, vyv29200)) 214.29/145.90 new_rem(Neg(vyv2930), Neg(Zero)) -> new_error 214.29/145.90 new_rem(Neg(vyv2930), Neg(Succ(vyv29200))) -> Neg(new_primModNatS1(vyv2930, vyv29200)) 214.29/145.90 new_rem(Pos(vyv2930), Pos(Zero)) -> new_error 214.29/145.90 new_gcd0Gcd'10(True, vyv292, vyv293) -> vyv292 214.29/145.90 new_primModNatS1(Succ(Zero), Succ(vyv292000)) -> Succ(Zero) 214.29/145.90 new_primModNatS1(Zero, vyv29200) -> Zero 214.29/145.90 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 214.29/145.90 new_primModNatS1(Succ(Succ(vyv293000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv293000), Zero) 214.29/145.90 new_primModNatS01(vyv331, vyv332, Zero, Zero) -> new_primModNatS02(vyv331, vyv332) 214.29/145.90 new_primModNatS02(vyv331, vyv332) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv331), Succ(vyv332)), Succ(vyv332)) 214.29/145.90 new_primModNatS1(Succ(Succ(vyv293000)), Succ(vyv292000)) -> new_primModNatS01(vyv293000, vyv292000, vyv293000, vyv292000) 214.29/145.90 new_primModNatS01(vyv331, vyv332, Succ(vyv3330), Zero) -> new_primModNatS02(vyv331, vyv332) 214.29/145.90 new_primModNatS01(vyv331, vyv332, Succ(vyv3330), Succ(vyv3340)) -> new_primModNatS01(vyv331, vyv332, vyv3330, vyv3340) 214.29/145.90 new_primModNatS01(vyv331, vyv332, Zero, Succ(vyv3340)) -> Succ(Succ(vyv331)) 214.29/145.90 new_gcd1(True, vyv273, vyv272) -> new_error 214.29/145.90 new_gcd1(False, vyv273, vyv272) -> new_gcd0(vyv273, vyv272) 214.29/145.90 new_primEqInt(Neg(Succ(vyv242000))) -> False 214.29/145.90 new_primEqInt(Pos(Zero)) -> True 214.29/145.90 new_primEqInt(Pos(Succ(vyv242000))) -> False 214.29/145.90 new_primEqInt(Neg(Zero)) -> True 214.29/145.90 new_primQuotInt(vyv2710, Neg(Zero)) -> new_error 214.29/145.90 new_primQuotInt(vyv2710, Pos(Succ(vyv28500))) -> Pos(new_primDivNatS1(vyv2710, vyv28500)) 214.29/145.90 new_primQuotInt(vyv2710, Pos(Zero)) -> new_error 214.29/145.90 new_primQuotInt(vyv2710, Neg(Succ(vyv28500))) -> Neg(new_primDivNatS1(vyv2710, vyv28500)) 214.29/145.90 new_primMulNat0(Succ(vyv24000), Zero) -> Zero 214.29/145.90 new_primMulNat0(Zero, Succ(vyv23900)) -> Zero 214.29/145.90 new_primMulNat0(Zero, Zero) -> Zero 214.29/145.90 new_primMulNat0(Succ(vyv24000), Succ(vyv23900)) -> new_primPlusNat0(new_primMulNat0(vyv24000, Succ(vyv23900)), Succ(vyv23900)) 214.29/145.90 new_primPlusNat0(Succ(vyv4000), Succ(vyv6000)) -> Succ(Succ(new_primPlusNat0(vyv4000, vyv6000))) 214.29/145.90 new_primPlusNat0(Zero, Succ(vyv6000)) -> Succ(vyv6000) 214.29/145.90 new_primPlusNat0(Zero, Zero) -> Zero 214.29/145.90 new_primPlusNat0(Succ(vyv4000), Zero) -> Succ(vyv4000) 214.29/145.90 new_sr6(vyv184) -> error([]) 214.29/145.90 new_esEs1(Integer(vyv2700)) -> new_primEqInt(vyv2700) 214.29/145.90 new_sr7(Pos(vyv1840)) -> Pos(new_primMulNat1(vyv1840)) 214.29/145.90 new_sr7(Neg(vyv1840)) -> Pos(new_primMulNat1(vyv1840)) 214.29/145.90 new_primMulNat1(Succ(vyv18400)) -> new_primPlusNat0(new_primMulNat2(vyv18400), Succ(vyv18400)) 214.29/145.90 new_primMulNat1(Zero) -> Zero 214.29/145.90 new_primMulNat2(Succ(vyv184000)) -> new_primPlusNat0(new_primMulNat3(vyv184000), Succ(Succ(vyv184000))) 214.29/145.90 new_primMulNat2(Zero) -> Zero 214.29/145.90 new_primMulNat3(Succ(vyv1840000)) -> new_primPlusNat0(new_primMulNat4(vyv1840000), Succ(Succ(Succ(vyv1840000)))) 214.29/145.90 new_primMulNat3(Zero) -> Zero 214.29/145.90 new_primMulNat4(Succ(vyv18400000)) -> new_primPlusNat0(new_primMulNat0(vyv18400000, Succ(Succ(Succ(Succ(vyv18400000))))), Succ(Succ(Succ(Succ(vyv18400000))))) 214.29/145.90 new_primMulNat4(Zero) -> Zero 214.29/145.90 new_sr12(vyv184) -> error([]) 214.29/145.90 new_sr11(vyv184) -> error([]) 214.29/145.90 new_sr0(vyv184, ty_Double) -> new_sr11(vyv184) 214.29/145.90 new_sr0(vyv184, ty_Float) -> new_sr12(vyv184) 214.29/145.90 new_sr0(vyv184, ty_Int) -> new_sr7(vyv184) 214.29/145.90 new_sr0(vyv184, app(ty_Ratio, bd)) -> new_sr5(vyv184, bd) 214.29/145.90 new_sr0(vyv184, ty_Integer) -> new_sr6(vyv184) 214.29/145.90 new_sr(vyv184, ty_Double) -> new_sr11(vyv184) 214.29/145.90 new_sr(vyv184, app(ty_Ratio, bd)) -> new_sr5(vyv184, bd) 214.29/145.90 new_sr(vyv184, ty_Float) -> new_sr12(vyv184) 214.29/145.90 new_sr(vyv184, ty_Int) -> new_sr7(vyv184) 214.29/145.90 new_sr(vyv184, ty_Integer) -> new_sr6(vyv184) 214.29/145.90 new_fromInt0 -> Pos(Succ(Succ(Zero))) 214.29/145.90 new_ms0(vyv241, Neg(Zero)) -> Neg(Succ(vyv241)) 214.29/145.90 new_ms0(vyv241, Pos(vyv2440)) -> Neg(new_primPlusNat0(Succ(vyv241), vyv2440)) 214.29/145.90 new_ms0(vyv241, Neg(Succ(vyv24400))) -> new_primMinusNat0(vyv24400, vyv241) 214.29/145.90 new_sr4(vyv240, vyv239, app(ty_Ratio, be)) -> new_sr8(vyv240, vyv239, be) 214.29/145.90 new_sr4(vyv240, vyv239, ty_Float) -> new_sr14(vyv240, vyv239) 214.29/145.90 new_sr4(vyv240, vyv239, ty_Int) -> new_sr10(vyv240, vyv239) 214.29/145.90 new_sr4(vyv240, vyv239, ty_Double) -> new_sr13(vyv240, vyv239) 214.29/145.90 new_sr4(vyv240, vyv239, ty_Integer) -> new_sr9(vyv240, vyv239) 214.29/145.90 new_sr13(vyv240, vyv239) -> error([]) 214.29/145.90 new_sr14(vyv240, vyv239) -> error([]) 214.29/145.90 new_sr8(:%(vyv2400, vyv2401), :%(vyv2390, vyv2391), be) -> new_reduce2Reduce1(vyv2400, vyv2390, vyv2401, vyv2391, new_esEs2(vyv2401, vyv2391, be), be) 214.29/145.90 new_esEs2(vyv2401, vyv2391, ty_Integer) -> new_esEs1(new_sr9(vyv2401, vyv2391)) 214.29/145.90 new_esEs2(vyv2401, vyv2391, ty_Int) -> new_esEs(new_sr10(vyv2401, vyv2391)) 214.29/145.90 new_primMinusNat0(Succ(vyv2290), Succ(vyv245000)) -> new_primMinusNat0(vyv2290, vyv245000) 214.29/145.90 new_primMinusNat0(Zero, Zero) -> Pos(Zero) 214.29/145.90 new_primMinusNat0(Zero, Succ(vyv245000)) -> Neg(Succ(vyv245000)) 214.29/145.90 new_primMinusNat0(Succ(vyv2290), Zero) -> Pos(Succ(vyv2290)) 214.29/145.90 new_ms(vyv229, Neg(vyv2450)) -> Pos(new_primPlusNat0(Succ(vyv229), vyv2450)) 214.29/145.90 new_ms(vyv229, Pos(Succ(vyv24500))) -> new_primMinusNat0(vyv229, vyv24500) 214.29/145.90 new_ms(vyv229, Pos(Zero)) -> Pos(Succ(vyv229)) 214.29/145.90 new_sr1(vyv228, ty_Double) -> new_sr11(vyv228) 214.29/145.90 new_sr1(vyv228, ty_Float) -> new_sr12(vyv228) 214.29/145.90 new_sr1(vyv228, app(ty_Ratio, bg)) -> new_sr5(vyv228, bg) 214.29/145.90 new_sr1(vyv228, ty_Integer) -> new_sr6(vyv228) 214.29/145.90 new_sr1(vyv228, ty_Int) -> new_sr7(vyv228) 214.29/145.90 new_sr2(vyv228, vyv227, ty_Integer) -> new_sr9(vyv228, vyv227) 214.29/145.90 new_sr2(vyv228, vyv227, ty_Int) -> new_sr10(vyv228, vyv227) 214.29/145.90 new_sr2(vyv228, vyv227, app(ty_Ratio, bg)) -> new_sr8(vyv228, vyv227, bg) 214.29/145.90 new_sr2(vyv228, vyv227, ty_Double) -> new_sr13(vyv228, vyv227) 214.29/145.90 new_sr2(vyv228, vyv227, ty_Float) -> new_sr14(vyv228, vyv227) 214.29/145.90 214.29/145.90 The set Q consists of the following terms: 214.29/145.90 214.29/145.90 new_sr13(x0, x1) 214.29/145.90 new_primDivNatS01(x0, x1, Zero, Zero) 214.29/145.90 new_gcd0Gcd'11(False, x0, x1) 214.29/145.90 new_primMulNat4(Zero) 214.29/145.90 new_gcd0Gcd'11(True, x0, x1) 214.29/145.90 new_sr2(x0, x1, ty_Float) 214.29/145.90 new_sr5(:%(x0, x1), x2) 214.29/145.90 new_primEqInt(Pos(Zero)) 214.29/145.90 new_ms(x0, Neg(x1)) 214.29/145.90 new_sr2(x0, x1, ty_Double) 214.29/145.90 new_esEs(Pos(Succ(x0))) 214.29/145.90 new_primQuotInt0(x0, Neg(Zero)) 214.29/145.90 new_primMulNat3(Zero) 214.29/145.90 new_primModNatS02(x0, x1) 214.29/145.90 new_sr(x0, ty_Double) 214.29/145.90 new_sr0(x0, ty_Double) 214.29/145.90 new_primDivNatS1(Succ(Zero), Zero) 214.29/145.90 new_primMinusNatS0(x0) 214.29/145.90 new_sr11(x0) 214.29/145.90 new_sr0(x0, app(ty_Ratio, x1)) 214.29/145.90 new_rem(Pos(x0), Neg(Succ(x1))) 214.29/145.90 new_rem(Neg(x0), Pos(Succ(x1))) 214.29/145.90 new_primMulNat0(Zero, Zero) 214.29/145.90 new_primPlusNat0(Succ(x0), Zero) 214.29/145.90 new_fromInt0 214.29/145.90 new_primMulNat0(Succ(x0), Zero) 214.29/145.90 new_sr3(x0, ty_Float) 214.29/145.90 new_fromInt 214.29/145.90 new_primMulNat2(Zero) 214.29/145.90 new_primQuotInt(x0, Pos(Zero)) 214.29/145.90 new_primMulNat2(Succ(x0)) 214.29/145.90 new_primQuotInt(x0, Neg(Zero)) 214.29/145.90 new_rem(Neg(x0), Neg(Succ(x1))) 214.29/145.90 new_primMinusNatS2(Zero, Succ(x0)) 214.29/145.90 new_sr(x0, ty_Int) 214.29/145.90 new_sr4(x0, x1, ty_Double) 214.29/145.90 new_primMulNat3(Succ(x0)) 214.29/145.90 new_sr0(x0, ty_Float) 214.29/145.90 new_esEs1(Integer(x0)) 214.29/145.90 new_primQuotInt0(x0, Pos(Zero)) 214.29/145.90 new_gcd2(True, x0, x1) 214.29/145.90 new_quot1(x0, x1, x2, x3, ty_Int) 214.29/145.90 new_primDivNatS1(Zero, x0) 214.29/145.90 new_primMinusNat0(Zero, Zero) 214.29/145.90 new_gcd(x0, x1) 214.29/145.90 new_gcd1(False, x0, x1) 214.29/145.90 new_esEs2(x0, x1, ty_Int) 214.29/145.90 new_sr3(x0, ty_Integer) 214.29/145.90 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 214.29/145.90 new_sr1(x0, app(ty_Ratio, x1)) 214.29/145.90 new_sr1(x0, ty_Float) 214.29/145.90 new_primPlusNat0(Zero, Succ(x0)) 214.29/145.90 new_sr8(:%(x0, x1), :%(x2, x3), x4) 214.29/145.90 new_abs(Neg(Zero)) 214.29/145.90 new_primMinusNatS2(Succ(x0), Zero) 214.29/145.90 new_error 214.29/145.90 new_primModNatS1(Succ(Zero), Zero) 214.29/145.90 new_primMulNat4(Succ(x0)) 214.29/145.90 new_sr1(x0, ty_Integer) 214.29/145.90 new_primDivNatS02(x0, x1) 214.29/145.90 new_sr1(x0, ty_Int) 214.29/145.90 new_rem(Neg(x0), Neg(Zero)) 214.29/145.90 new_primMinusNat0(Zero, Succ(x0)) 214.29/145.90 new_primEqInt(Neg(Zero)) 214.29/145.90 new_rem(Pos(x0), Pos(Succ(x1))) 214.29/145.90 new_abs(Pos(Succ(x0))) 214.29/145.90 new_primMulNat0(Succ(x0), Succ(x1)) 214.29/145.90 new_primMulNat0(Zero, Succ(x0)) 214.29/145.90 new_reduce2Reduce1(x0, x1, x2, x3, True, x4) 214.29/145.90 new_sr(x0, ty_Float) 214.29/145.90 new_gcd0Gcd'10(False, x0, x1) 214.29/145.90 new_sr12(x0) 214.29/145.90 new_primDivNatS01(x0, x1, Zero, Succ(x2)) 214.29/145.90 new_sr10(Pos(x0), Pos(x1)) 214.29/145.90 new_primModNatS01(x0, x1, Zero, Succ(x2)) 214.29/145.90 new_primPlusNat0(Zero, Zero) 214.29/145.90 new_sr(x0, ty_Integer) 214.29/145.90 new_primQuotInt0(x0, Pos(Succ(x1))) 214.29/145.90 new_primModNatS01(x0, x1, Succ(x2), Zero) 214.29/145.90 new_ms(x0, Pos(Succ(x1))) 214.29/145.90 new_primModNatS1(Succ(Succ(x0)), Zero) 214.29/145.90 new_sr4(x0, x1, ty_Integer) 214.29/145.90 new_rem(Pos(x0), Pos(Zero)) 214.29/145.90 new_sr4(x0, x1, ty_Int) 214.29/145.90 new_ms0(x0, Neg(Succ(x1))) 214.29/145.90 new_quot(Pos(x0), x1, x2) 214.29/145.90 new_primMinusNatS2(Zero, Zero) 214.29/145.90 new_esEs0(x0, ty_Int) 214.29/145.90 new_primMinusNat0(Succ(x0), Zero) 214.29/145.90 new_ms0(x0, Pos(x1)) 214.29/145.90 new_esEs(Pos(Zero)) 214.29/145.90 new_quot(Neg(x0), x1, x2) 214.29/145.90 new_primDivNatS01(x0, x1, Succ(x2), Succ(x3)) 214.29/145.90 new_quot2(x0, x1, x2) 214.29/145.90 new_primEqInt(Neg(Succ(x0))) 214.29/145.90 new_sr10(Neg(x0), Neg(x1)) 214.29/145.90 new_sr3(x0, app(ty_Ratio, x1)) 214.29/145.90 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 214.29/145.90 new_sr9(x0, x1) 214.29/145.90 new_sr2(x0, x1, ty_Integer) 214.29/145.90 new_sr7(Neg(x0)) 214.29/145.90 new_sr1(x0, ty_Double) 214.29/145.90 new_primQuotInt0(x0, Neg(Succ(x1))) 214.29/145.90 new_sr0(x0, ty_Integer) 214.29/145.90 new_rem(Pos(x0), Neg(Zero)) 214.29/145.90 new_rem(Neg(x0), Pos(Zero)) 214.29/145.90 new_gcd0Gcd'00(x0, x1) 214.29/145.90 new_primQuotInt(x0, Neg(Succ(x1))) 214.29/145.90 new_primMinusNatS2(Succ(x0), Succ(x1)) 214.29/145.90 new_ms(x0, Pos(Zero)) 214.29/145.90 new_abs(Pos(Zero)) 214.29/145.90 new_primMinusNat0(Succ(x0), Succ(x1)) 214.29/145.90 new_quot0(x0, x1, x2, x3, ty_Integer) 214.29/145.90 new_sr0(x0, ty_Int) 214.29/145.90 new_sr6(x0) 214.29/145.90 new_gcd2(False, x0, x1) 214.29/145.90 new_gcd1(True, x0, x1) 214.29/145.90 new_esEs2(x0, x1, ty_Integer) 214.29/145.90 new_primMinusNatS1 214.29/145.90 new_sr7(Pos(x0)) 214.29/145.90 new_gcd0Gcd'10(True, x0, x1) 214.29/145.90 new_primModNatS1(Zero, x0) 214.29/145.90 new_sr4(x0, x1, ty_Float) 214.29/145.90 new_sr10(Pos(x0), Neg(x1)) 214.29/145.90 new_sr10(Neg(x0), Pos(x1)) 214.29/145.90 new_primDivNatS01(x0, x1, Succ(x2), Zero) 214.29/145.90 new_primDivNatS1(Succ(Succ(x0)), Succ(x1)) 214.29/145.90 new_primPlusNat0(Succ(x0), Succ(x1)) 214.29/145.90 new_primDivNatS1(Succ(Zero), Succ(x0)) 214.29/145.90 new_primQuotInt(x0, Pos(Succ(x1))) 214.29/145.90 new_sr2(x0, x1, app(ty_Ratio, x2)) 214.29/145.90 new_abs(Neg(Succ(x0))) 214.29/145.90 new_esEs0(x0, ty_Integer) 214.29/145.90 new_sr3(x0, ty_Int) 214.29/145.90 new_esEs(Neg(Succ(x0))) 214.29/145.90 new_sr(x0, app(ty_Ratio, x1)) 214.29/145.90 new_ms0(x0, Neg(Zero)) 214.29/145.90 new_primModNatS01(x0, x1, Zero, Zero) 214.29/145.90 new_sr4(x0, x1, app(ty_Ratio, x2)) 214.29/145.90 new_gcd0(x0, x1) 214.29/145.90 new_primEqInt(Pos(Succ(x0))) 214.29/145.90 new_sr3(x0, ty_Double) 214.29/145.90 new_quot1(x0, x1, x2, x3, ty_Integer) 214.29/145.90 new_primDivNatS1(Succ(Succ(x0)), Zero) 214.29/145.90 new_primMulNat1(Succ(x0)) 214.29/145.90 new_sr14(x0, x1) 214.29/145.90 new_quot0(x0, x1, x2, x3, ty_Int) 214.29/145.90 new_sr2(x0, x1, ty_Int) 214.29/145.90 new_primModNatS1(Succ(Zero), Succ(x0)) 214.29/145.90 new_reduce2Reduce1(x0, x1, x2, x3, False, x4) 214.29/145.90 new_esEs(Neg(Zero)) 214.29/145.90 new_primMulNat1(Zero) 214.29/145.90 214.29/145.90 We have to consider all minimal (P,Q,R)-chains. 214.29/145.90 ---------------------------------------- 214.29/145.90 214.29/145.90 (704) QReductionProof (EQUIVALENT) 214.29/145.90 We deleted the following terms from Q as each root-symbol of these terms does neither occur in P nor in R.[THIEMANN]. 214.29/145.90 214.29/145.90 new_fromInt 214.29/145.90 214.29/145.90 214.29/145.90 ---------------------------------------- 214.29/145.90 214.29/145.90 (705) 214.29/145.90 Obligation: 214.29/145.90 Q DP problem: 214.29/145.90 The TRS P consists of the following rules: 214.29/145.90 214.29/145.90 new_pr2F0G10(vyv249, vyv250, vyv251, Succ(Succ(vyv25200)), bb) -> new_pr2F0G10(vyv249, vyv250, vyv251, vyv25200, bb) 214.29/145.90 new_pr2F0G(vyv188, vyv184, Neg(Succ(Zero)), h) -> new_pr2F0G11(vyv188, vyv184, Zero, h) 214.29/145.90 new_pr2F0G(vyv188, vyv184, Pos(Succ(Succ(vyv223000))), h) -> new_pr2F0G1(vyv188, vyv184, Succ(vyv223000), vyv223000, h) 214.29/145.90 new_pr2F0(vyv184, Neg(Succ(Succ(vyv223000))), vyv188, h) -> new_pr2F0G10(vyv188, vyv184, Succ(vyv223000), vyv223000, h) 214.29/145.90 new_pr2F0(vyv184, Neg(Succ(Zero)), vyv188, h) -> new_pr2F0G11(vyv188, vyv184, Zero, h) 214.29/145.90 new_pr2F0G10(vyv249, vyv250, vyv251, Succ(Zero), bb) -> new_pr2F0G11(vyv249, vyv250, vyv251, bb) 214.29/145.90 new_pr2F0G(vyv188, vyv184, Pos(Zero), h) -> new_pr2F0G(vyv188, new_sr(vyv184, h), new_primQuotInt(Zero, new_fromInt0), h) 214.29/145.90 new_pr2F0G(vyv188, vyv184, Neg(Succ(Succ(vyv223000))), h) -> new_pr2F0G10(vyv188, vyv184, Succ(vyv223000), vyv223000, h) 214.29/145.90 new_pr2F3(False, vyv228, vyv229, vyv245, vyv227, ba) -> new_pr2F0(vyv228, new_ms(vyv229, vyv245), new_sr2(vyv228, vyv227, ba), ba) 214.29/145.90 new_pr2F0(vyv184, Pos(Succ(Succ(vyv223000))), vyv188, h) -> new_pr2F0G1(vyv188, vyv184, Succ(vyv223000), vyv223000, h) 214.29/145.90 new_pr2F0G1(vyv227, vyv228, vyv229, Zero, ba) -> new_pr2F0G(vyv227, new_sr1(vyv228, ba), new_primQuotInt(Succ(vyv229), new_fromInt0), ba) 214.29/145.90 new_pr2F1(vyv240, vyv241, vyv244, vyv239, bc) -> new_pr2F30(new_esEs(new_ms0(vyv241, vyv244)), vyv240, vyv241, vyv244, vyv239, bc) 214.29/145.90 new_pr2F(vyv228, vyv229, vyv245, vyv227, ba) -> new_pr2F3(new_esEs(new_ms(vyv229, vyv245)), vyv228, vyv229, vyv245, vyv227, ba) 214.29/145.90 new_pr2F0G1(vyv227, vyv228, vyv229, Succ(Succ(vyv23000)), ba) -> new_pr2F0G1(vyv227, vyv228, vyv229, vyv23000, ba) 214.29/145.90 new_pr2F30(False, vyv240, vyv241, vyv244, vyv239, bc) -> new_pr2F0(vyv240, new_ms0(vyv241, vyv244), new_sr4(vyv240, vyv239, bc), bc) 214.29/145.90 new_pr2F0(vyv184, Pos(Zero), vyv188, h) -> new_pr2F0G(vyv188, new_sr(vyv184, h), new_primQuotInt(Zero, new_fromInt0), h) 214.29/145.90 new_pr2F0(vyv184, Neg(Zero), vyv188, h) -> new_pr2F0G(vyv188, new_sr0(vyv184, h), new_primQuotInt0(Zero, Pos(Succ(Succ(Zero)))), h) 214.29/145.90 new_pr2F0G11(vyv239, vyv240, vyv241, bc) -> new_pr2F1(vyv240, vyv241, Pos(Succ(Zero)), vyv239, bc) 214.29/145.90 new_pr2F0G(vyv188, vyv184, Neg(Zero), h) -> new_pr2F0G(vyv188, new_sr0(vyv184, h), new_primQuotInt0(Zero, Pos(Succ(Succ(Zero)))), h) 214.29/145.90 new_pr2F0G10(vyv249, vyv250, vyv251, Zero, bb) -> new_pr2F0G(vyv249, new_sr3(vyv250, bb), new_primQuotInt0(Succ(vyv251), Pos(Succ(Succ(Zero)))), bb) 214.29/145.90 new_pr2F0(vyv184, Pos(Succ(Zero)), vyv188, h) -> new_pr2F(vyv184, Zero, Pos(Succ(Zero)), vyv188, h) 214.29/145.90 new_pr2F0G1(vyv227, vyv228, vyv229, Succ(Zero), ba) -> new_pr2F(vyv228, vyv229, Pos(Succ(Zero)), vyv227, ba) 214.29/145.90 new_pr2F0G(vyv188, vyv184, Pos(Succ(Zero)), h) -> new_pr2F(vyv184, Zero, Pos(Succ(Zero)), vyv188, h) 214.29/145.90 214.29/145.90 The TRS R consists of the following rules: 214.29/145.90 214.29/145.90 new_sr3(vyv250, ty_Double) -> new_sr11(vyv250) 214.29/145.90 new_sr3(vyv250, ty_Int) -> new_sr7(vyv250) 214.29/145.90 new_sr3(vyv250, ty_Float) -> new_sr12(vyv250) 214.29/145.90 new_sr3(vyv250, ty_Integer) -> new_sr6(vyv250) 214.29/145.90 new_sr3(vyv250, app(ty_Ratio, bf)) -> new_sr5(vyv250, bf) 214.29/145.90 new_primQuotInt0(vyv2710, Pos(Succ(vyv28800))) -> Neg(new_primDivNatS1(vyv2710, vyv28800)) 214.29/145.90 new_primDivNatS1(Zero, vyv28500) -> Zero 214.29/145.90 new_primDivNatS1(Succ(Succ(vyv271000)), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS0(vyv271000), Zero)) 214.29/145.90 new_primDivNatS1(Succ(Zero), Succ(vyv285000)) -> Zero 214.29/145.90 new_primDivNatS1(Succ(Succ(vyv271000)), Succ(vyv285000)) -> new_primDivNatS01(vyv271000, vyv285000, vyv271000, vyv285000) 214.29/145.90 new_primDivNatS1(Succ(Zero), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS1, Zero)) 214.29/145.90 new_primMinusNatS1 -> Zero 214.29/145.90 new_primDivNatS01(vyv311, vyv312, Succ(vyv3130), Zero) -> new_primDivNatS02(vyv311, vyv312) 214.29/145.90 new_primDivNatS01(vyv311, vyv312, Zero, Succ(vyv3140)) -> Zero 214.29/145.90 new_primDivNatS01(vyv311, vyv312, Succ(vyv3130), Succ(vyv3140)) -> new_primDivNatS01(vyv311, vyv312, vyv3130, vyv3140) 214.29/145.90 new_primDivNatS01(vyv311, vyv312, Zero, Zero) -> new_primDivNatS02(vyv311, vyv312) 214.29/145.90 new_primDivNatS02(vyv311, vyv312) -> Succ(new_primDivNatS1(new_primMinusNatS2(vyv311, vyv312), Succ(vyv312))) 214.29/145.90 new_primMinusNatS2(Zero, Succ(vyv3120)) -> Zero 214.29/145.90 new_primMinusNatS2(Succ(vyv3110), Zero) -> Succ(vyv3110) 214.29/145.90 new_primMinusNatS2(Zero, Zero) -> Zero 214.29/145.90 new_primMinusNatS2(Succ(vyv3110), Succ(vyv3120)) -> new_primMinusNatS2(vyv3110, vyv3120) 214.29/145.90 new_primMinusNatS0(vyv271000) -> Succ(vyv271000) 214.29/145.90 new_sr5(:%(vyv1840, vyv1841), bd) -> new_reduce2Reduce1(vyv1840, vyv1840, vyv1841, vyv1841, new_esEs0(vyv1841, bd), bd) 214.29/145.90 new_esEs0(vyv1841, ty_Int) -> new_esEs(new_sr7(vyv1841)) 214.29/145.90 new_esEs0(vyv1841, ty_Integer) -> new_esEs1(new_sr6(vyv1841)) 214.29/145.90 new_reduce2Reduce1(vyv265, vyv266, vyv267, vyv268, False, bh) -> :%(new_quot0(vyv265, vyv266, vyv267, vyv268, bh), new_quot1(vyv267, vyv268, vyv265, vyv266, bh)) 214.29/145.90 new_reduce2Reduce1(vyv265, vyv266, vyv267, vyv268, True, bh) -> error([]) 214.29/145.90 new_quot0(vyv265, vyv266, vyv267, vyv268, ty_Integer) -> new_quot2(new_sr9(vyv265, vyv266), new_sr9(vyv265, vyv266), new_sr9(vyv267, vyv268)) 214.29/145.90 new_quot0(vyv265, vyv266, vyv267, vyv268, ty_Int) -> new_quot(new_sr10(vyv265, vyv266), new_sr10(vyv265, vyv266), new_sr10(vyv267, vyv268)) 214.29/145.90 new_quot1(vyv267, vyv268, vyv265, vyv266, ty_Int) -> new_quot(new_sr10(vyv267, vyv268), new_sr10(vyv265, vyv266), new_sr10(vyv267, vyv268)) 214.29/145.90 new_quot1(vyv267, vyv268, vyv265, vyv266, ty_Integer) -> new_quot2(new_sr9(vyv267, vyv268), new_sr9(vyv265, vyv266), new_sr9(vyv267, vyv268)) 214.29/145.90 new_sr9(vyv240, vyv239) -> error([]) 214.29/145.90 new_quot2(vyv274, vyv276, vyv275) -> error([]) 214.29/145.90 new_sr10(Pos(vyv2400), Pos(vyv2390)) -> Pos(new_primMulNat0(vyv2400, vyv2390)) 214.29/145.90 new_sr10(Neg(vyv2400), Neg(vyv2390)) -> Pos(new_primMulNat0(vyv2400, vyv2390)) 214.29/145.90 new_sr10(Pos(vyv2400), Neg(vyv2390)) -> Neg(new_primMulNat0(vyv2400, vyv2390)) 214.29/145.90 new_sr10(Neg(vyv2400), Pos(vyv2390)) -> Neg(new_primMulNat0(vyv2400, vyv2390)) 214.29/145.90 new_quot(Pos(vyv2710), vyv273, vyv272) -> new_primQuotInt(vyv2710, new_gcd(vyv273, vyv272)) 214.29/145.90 new_quot(Neg(vyv2710), vyv273, vyv272) -> new_primQuotInt0(vyv2710, new_gcd(vyv273, vyv272)) 214.29/145.90 new_gcd(vyv273, vyv272) -> new_gcd2(new_esEs(vyv273), vyv273, vyv272) 214.29/145.90 new_primQuotInt0(vyv2710, Neg(Zero)) -> new_error 214.29/145.90 new_primQuotInt0(vyv2710, Neg(Succ(vyv28800))) -> Pos(new_primDivNatS1(vyv2710, vyv28800)) 214.29/145.90 new_primQuotInt0(vyv2710, Pos(Zero)) -> new_error 214.29/145.90 new_error -> error([]) 214.29/145.90 new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) 214.29/145.90 new_esEs(Pos(Succ(vyv24300))) -> new_primEqInt(Pos(Succ(vyv24300))) 214.29/145.90 new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) 214.29/145.90 new_esEs(Neg(Succ(vyv24300))) -> new_primEqInt(Neg(Succ(vyv24300))) 214.29/145.90 new_gcd2(True, vyv273, vyv272) -> new_gcd1(new_esEs(vyv272), vyv273, vyv272) 214.29/145.90 new_gcd2(False, vyv273, vyv272) -> new_gcd0(vyv273, vyv272) 214.29/145.90 new_gcd0(vyv273, vyv272) -> new_gcd0Gcd'11(new_esEs(new_abs(vyv272)), vyv273, vyv272) 214.29/145.90 new_abs(Neg(Zero)) -> Neg(Zero) 214.29/145.90 new_abs(Neg(Succ(vyv27200))) -> Pos(Succ(vyv27200)) 214.29/145.90 new_abs(Pos(Succ(vyv27200))) -> Pos(Succ(vyv27200)) 214.29/145.90 new_abs(Pos(Zero)) -> Pos(Zero) 214.29/145.90 new_gcd0Gcd'11(True, vyv273, vyv272) -> new_abs(vyv273) 214.29/145.90 new_gcd0Gcd'11(False, vyv273, vyv272) -> new_gcd0Gcd'00(new_abs(vyv273), new_abs(vyv272)) 214.29/145.90 new_gcd0Gcd'10(False, vyv292, vyv293) -> new_gcd0Gcd'00(vyv292, new_rem(vyv293, vyv292)) 214.29/145.90 new_gcd0Gcd'00(vyv293, vyv292) -> new_gcd0Gcd'10(new_esEs(new_rem(vyv293, vyv292)), vyv292, vyv293) 214.29/145.90 new_rem(Pos(vyv2930), Neg(Zero)) -> new_error 214.29/145.90 new_rem(Neg(vyv2930), Pos(Zero)) -> new_error 214.29/145.90 new_rem(Pos(vyv2930), Neg(Succ(vyv29200))) -> Pos(new_primModNatS1(vyv2930, vyv29200)) 214.29/145.90 new_rem(Neg(vyv2930), Pos(Succ(vyv29200))) -> Neg(new_primModNatS1(vyv2930, vyv29200)) 214.29/145.90 new_rem(Pos(vyv2930), Pos(Succ(vyv29200))) -> Pos(new_primModNatS1(vyv2930, vyv29200)) 214.29/145.90 new_rem(Neg(vyv2930), Neg(Zero)) -> new_error 214.29/145.90 new_rem(Neg(vyv2930), Neg(Succ(vyv29200))) -> Neg(new_primModNatS1(vyv2930, vyv29200)) 214.29/145.90 new_rem(Pos(vyv2930), Pos(Zero)) -> new_error 214.29/145.90 new_gcd0Gcd'10(True, vyv292, vyv293) -> vyv292 214.29/145.90 new_primModNatS1(Succ(Zero), Succ(vyv292000)) -> Succ(Zero) 214.29/145.90 new_primModNatS1(Zero, vyv29200) -> Zero 214.29/145.90 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 214.29/145.90 new_primModNatS1(Succ(Succ(vyv293000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv293000), Zero) 214.29/145.90 new_primModNatS01(vyv331, vyv332, Zero, Zero) -> new_primModNatS02(vyv331, vyv332) 214.29/145.90 new_primModNatS02(vyv331, vyv332) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv331), Succ(vyv332)), Succ(vyv332)) 214.29/145.90 new_primModNatS1(Succ(Succ(vyv293000)), Succ(vyv292000)) -> new_primModNatS01(vyv293000, vyv292000, vyv293000, vyv292000) 214.29/145.90 new_primModNatS01(vyv331, vyv332, Succ(vyv3330), Zero) -> new_primModNatS02(vyv331, vyv332) 214.29/145.90 new_primModNatS01(vyv331, vyv332, Succ(vyv3330), Succ(vyv3340)) -> new_primModNatS01(vyv331, vyv332, vyv3330, vyv3340) 214.29/145.90 new_primModNatS01(vyv331, vyv332, Zero, Succ(vyv3340)) -> Succ(Succ(vyv331)) 214.29/145.90 new_gcd1(True, vyv273, vyv272) -> new_error 214.29/145.90 new_gcd1(False, vyv273, vyv272) -> new_gcd0(vyv273, vyv272) 214.29/145.90 new_primEqInt(Neg(Succ(vyv242000))) -> False 214.29/145.90 new_primEqInt(Pos(Zero)) -> True 214.29/145.90 new_primEqInt(Pos(Succ(vyv242000))) -> False 214.29/145.90 new_primEqInt(Neg(Zero)) -> True 214.29/145.90 new_primQuotInt(vyv2710, Neg(Zero)) -> new_error 214.29/145.90 new_primQuotInt(vyv2710, Pos(Succ(vyv28500))) -> Pos(new_primDivNatS1(vyv2710, vyv28500)) 214.29/145.90 new_primQuotInt(vyv2710, Pos(Zero)) -> new_error 214.29/145.90 new_primQuotInt(vyv2710, Neg(Succ(vyv28500))) -> Neg(new_primDivNatS1(vyv2710, vyv28500)) 214.29/145.90 new_primMulNat0(Succ(vyv24000), Zero) -> Zero 214.29/145.90 new_primMulNat0(Zero, Succ(vyv23900)) -> Zero 214.29/145.90 new_primMulNat0(Zero, Zero) -> Zero 214.29/145.90 new_primMulNat0(Succ(vyv24000), Succ(vyv23900)) -> new_primPlusNat0(new_primMulNat0(vyv24000, Succ(vyv23900)), Succ(vyv23900)) 214.29/145.90 new_primPlusNat0(Succ(vyv4000), Succ(vyv6000)) -> Succ(Succ(new_primPlusNat0(vyv4000, vyv6000))) 214.29/145.90 new_primPlusNat0(Zero, Succ(vyv6000)) -> Succ(vyv6000) 214.29/145.90 new_primPlusNat0(Zero, Zero) -> Zero 214.29/145.90 new_primPlusNat0(Succ(vyv4000), Zero) -> Succ(vyv4000) 214.29/145.90 new_sr6(vyv184) -> error([]) 214.29/145.90 new_esEs1(Integer(vyv2700)) -> new_primEqInt(vyv2700) 214.29/145.90 new_sr7(Pos(vyv1840)) -> Pos(new_primMulNat1(vyv1840)) 214.29/145.90 new_sr7(Neg(vyv1840)) -> Pos(new_primMulNat1(vyv1840)) 214.29/145.90 new_primMulNat1(Succ(vyv18400)) -> new_primPlusNat0(new_primMulNat2(vyv18400), Succ(vyv18400)) 214.29/145.90 new_primMulNat1(Zero) -> Zero 214.29/145.90 new_primMulNat2(Succ(vyv184000)) -> new_primPlusNat0(new_primMulNat3(vyv184000), Succ(Succ(vyv184000))) 214.29/145.90 new_primMulNat2(Zero) -> Zero 214.29/145.90 new_primMulNat3(Succ(vyv1840000)) -> new_primPlusNat0(new_primMulNat4(vyv1840000), Succ(Succ(Succ(vyv1840000)))) 214.29/145.90 new_primMulNat3(Zero) -> Zero 214.29/145.90 new_primMulNat4(Succ(vyv18400000)) -> new_primPlusNat0(new_primMulNat0(vyv18400000, Succ(Succ(Succ(Succ(vyv18400000))))), Succ(Succ(Succ(Succ(vyv18400000))))) 214.29/145.90 new_primMulNat4(Zero) -> Zero 214.29/145.90 new_sr12(vyv184) -> error([]) 214.29/145.90 new_sr11(vyv184) -> error([]) 214.29/145.90 new_sr0(vyv184, ty_Double) -> new_sr11(vyv184) 214.29/145.90 new_sr0(vyv184, ty_Float) -> new_sr12(vyv184) 214.29/145.90 new_sr0(vyv184, ty_Int) -> new_sr7(vyv184) 214.29/145.90 new_sr0(vyv184, app(ty_Ratio, bd)) -> new_sr5(vyv184, bd) 214.29/145.90 new_sr0(vyv184, ty_Integer) -> new_sr6(vyv184) 214.29/145.90 new_sr(vyv184, ty_Double) -> new_sr11(vyv184) 214.29/145.90 new_sr(vyv184, app(ty_Ratio, bd)) -> new_sr5(vyv184, bd) 214.29/145.90 new_sr(vyv184, ty_Float) -> new_sr12(vyv184) 214.29/145.90 new_sr(vyv184, ty_Int) -> new_sr7(vyv184) 214.29/145.90 new_sr(vyv184, ty_Integer) -> new_sr6(vyv184) 214.29/145.90 new_fromInt0 -> Pos(Succ(Succ(Zero))) 214.29/145.90 new_ms0(vyv241, Neg(Zero)) -> Neg(Succ(vyv241)) 214.29/145.90 new_ms0(vyv241, Pos(vyv2440)) -> Neg(new_primPlusNat0(Succ(vyv241), vyv2440)) 214.29/145.90 new_ms0(vyv241, Neg(Succ(vyv24400))) -> new_primMinusNat0(vyv24400, vyv241) 214.29/145.90 new_sr4(vyv240, vyv239, app(ty_Ratio, be)) -> new_sr8(vyv240, vyv239, be) 214.29/145.90 new_sr4(vyv240, vyv239, ty_Float) -> new_sr14(vyv240, vyv239) 214.29/145.90 new_sr4(vyv240, vyv239, ty_Int) -> new_sr10(vyv240, vyv239) 214.29/145.90 new_sr4(vyv240, vyv239, ty_Double) -> new_sr13(vyv240, vyv239) 214.29/145.90 new_sr4(vyv240, vyv239, ty_Integer) -> new_sr9(vyv240, vyv239) 214.29/145.90 new_sr13(vyv240, vyv239) -> error([]) 214.29/145.90 new_sr14(vyv240, vyv239) -> error([]) 214.29/145.90 new_sr8(:%(vyv2400, vyv2401), :%(vyv2390, vyv2391), be) -> new_reduce2Reduce1(vyv2400, vyv2390, vyv2401, vyv2391, new_esEs2(vyv2401, vyv2391, be), be) 214.29/145.90 new_esEs2(vyv2401, vyv2391, ty_Integer) -> new_esEs1(new_sr9(vyv2401, vyv2391)) 214.29/145.90 new_esEs2(vyv2401, vyv2391, ty_Int) -> new_esEs(new_sr10(vyv2401, vyv2391)) 214.29/145.90 new_primMinusNat0(Succ(vyv2290), Succ(vyv245000)) -> new_primMinusNat0(vyv2290, vyv245000) 214.29/145.90 new_primMinusNat0(Zero, Zero) -> Pos(Zero) 214.29/145.90 new_primMinusNat0(Zero, Succ(vyv245000)) -> Neg(Succ(vyv245000)) 214.29/145.90 new_primMinusNat0(Succ(vyv2290), Zero) -> Pos(Succ(vyv2290)) 214.29/145.90 new_ms(vyv229, Neg(vyv2450)) -> Pos(new_primPlusNat0(Succ(vyv229), vyv2450)) 214.29/145.90 new_ms(vyv229, Pos(Succ(vyv24500))) -> new_primMinusNat0(vyv229, vyv24500) 214.29/145.90 new_ms(vyv229, Pos(Zero)) -> Pos(Succ(vyv229)) 214.29/145.90 new_sr1(vyv228, ty_Double) -> new_sr11(vyv228) 214.29/145.90 new_sr1(vyv228, ty_Float) -> new_sr12(vyv228) 214.29/145.90 new_sr1(vyv228, app(ty_Ratio, bg)) -> new_sr5(vyv228, bg) 214.29/145.90 new_sr1(vyv228, ty_Integer) -> new_sr6(vyv228) 214.29/145.90 new_sr1(vyv228, ty_Int) -> new_sr7(vyv228) 214.29/145.90 new_sr2(vyv228, vyv227, ty_Integer) -> new_sr9(vyv228, vyv227) 214.29/145.90 new_sr2(vyv228, vyv227, ty_Int) -> new_sr10(vyv228, vyv227) 214.29/145.90 new_sr2(vyv228, vyv227, app(ty_Ratio, bg)) -> new_sr8(vyv228, vyv227, bg) 214.29/145.90 new_sr2(vyv228, vyv227, ty_Double) -> new_sr13(vyv228, vyv227) 214.29/145.90 new_sr2(vyv228, vyv227, ty_Float) -> new_sr14(vyv228, vyv227) 214.29/145.90 214.29/145.90 The set Q consists of the following terms: 214.29/145.90 214.29/145.90 new_sr13(x0, x1) 214.29/145.90 new_primDivNatS01(x0, x1, Zero, Zero) 214.29/145.90 new_gcd0Gcd'11(False, x0, x1) 214.29/145.90 new_primMulNat4(Zero) 214.29/145.90 new_gcd0Gcd'11(True, x0, x1) 214.29/145.90 new_sr2(x0, x1, ty_Float) 214.29/145.90 new_sr5(:%(x0, x1), x2) 214.29/145.90 new_primEqInt(Pos(Zero)) 214.29/145.90 new_ms(x0, Neg(x1)) 214.29/145.90 new_sr2(x0, x1, ty_Double) 214.29/145.90 new_esEs(Pos(Succ(x0))) 214.29/145.90 new_primQuotInt0(x0, Neg(Zero)) 214.29/145.90 new_primMulNat3(Zero) 214.29/145.90 new_primModNatS02(x0, x1) 214.29/145.90 new_sr(x0, ty_Double) 214.29/145.90 new_sr0(x0, ty_Double) 214.29/145.90 new_primDivNatS1(Succ(Zero), Zero) 214.29/145.90 new_primMinusNatS0(x0) 214.29/145.90 new_sr11(x0) 214.29/145.90 new_sr0(x0, app(ty_Ratio, x1)) 214.29/145.90 new_rem(Pos(x0), Neg(Succ(x1))) 214.29/145.90 new_rem(Neg(x0), Pos(Succ(x1))) 214.29/145.90 new_primMulNat0(Zero, Zero) 214.29/145.90 new_primPlusNat0(Succ(x0), Zero) 214.29/145.90 new_fromInt0 214.29/145.90 new_primMulNat0(Succ(x0), Zero) 214.29/145.90 new_sr3(x0, ty_Float) 214.29/145.90 new_primMulNat2(Zero) 214.29/145.90 new_primQuotInt(x0, Pos(Zero)) 214.29/145.90 new_primMulNat2(Succ(x0)) 214.29/145.90 new_primQuotInt(x0, Neg(Zero)) 214.29/145.90 new_rem(Neg(x0), Neg(Succ(x1))) 214.29/145.90 new_primMinusNatS2(Zero, Succ(x0)) 214.29/145.90 new_sr(x0, ty_Int) 214.29/145.90 new_sr4(x0, x1, ty_Double) 214.29/145.90 new_primMulNat3(Succ(x0)) 214.29/145.90 new_sr0(x0, ty_Float) 214.29/145.90 new_esEs1(Integer(x0)) 214.29/145.90 new_primQuotInt0(x0, Pos(Zero)) 214.29/145.90 new_gcd2(True, x0, x1) 214.29/145.90 new_quot1(x0, x1, x2, x3, ty_Int) 214.29/145.90 new_primDivNatS1(Zero, x0) 214.29/145.90 new_primMinusNat0(Zero, Zero) 214.29/145.90 new_gcd(x0, x1) 214.29/145.90 new_gcd1(False, x0, x1) 214.29/145.90 new_esEs2(x0, x1, ty_Int) 214.29/145.90 new_sr3(x0, ty_Integer) 214.29/145.90 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 214.29/145.90 new_sr1(x0, app(ty_Ratio, x1)) 214.29/145.90 new_sr1(x0, ty_Float) 214.29/145.90 new_primPlusNat0(Zero, Succ(x0)) 214.29/145.90 new_sr8(:%(x0, x1), :%(x2, x3), x4) 214.29/145.90 new_abs(Neg(Zero)) 214.29/145.90 new_primMinusNatS2(Succ(x0), Zero) 214.29/145.90 new_error 214.29/145.90 new_primModNatS1(Succ(Zero), Zero) 214.29/145.90 new_primMulNat4(Succ(x0)) 214.29/145.90 new_sr1(x0, ty_Integer) 214.29/145.90 new_primDivNatS02(x0, x1) 214.29/145.90 new_sr1(x0, ty_Int) 214.29/145.90 new_rem(Neg(x0), Neg(Zero)) 214.29/145.90 new_primMinusNat0(Zero, Succ(x0)) 214.29/145.90 new_primEqInt(Neg(Zero)) 214.29/145.90 new_rem(Pos(x0), Pos(Succ(x1))) 214.29/145.90 new_abs(Pos(Succ(x0))) 214.29/145.90 new_primMulNat0(Succ(x0), Succ(x1)) 214.29/145.90 new_primMulNat0(Zero, Succ(x0)) 214.29/145.90 new_reduce2Reduce1(x0, x1, x2, x3, True, x4) 214.29/145.90 new_sr(x0, ty_Float) 214.29/145.90 new_gcd0Gcd'10(False, x0, x1) 214.29/145.90 new_sr12(x0) 214.29/145.90 new_primDivNatS01(x0, x1, Zero, Succ(x2)) 214.29/145.90 new_sr10(Pos(x0), Pos(x1)) 214.29/145.90 new_primModNatS01(x0, x1, Zero, Succ(x2)) 214.29/145.90 new_primPlusNat0(Zero, Zero) 214.29/145.90 new_sr(x0, ty_Integer) 214.29/145.90 new_primQuotInt0(x0, Pos(Succ(x1))) 214.29/145.90 new_primModNatS01(x0, x1, Succ(x2), Zero) 214.29/145.90 new_ms(x0, Pos(Succ(x1))) 214.29/145.90 new_primModNatS1(Succ(Succ(x0)), Zero) 214.29/145.90 new_sr4(x0, x1, ty_Integer) 214.29/145.90 new_rem(Pos(x0), Pos(Zero)) 214.29/145.90 new_sr4(x0, x1, ty_Int) 214.29/145.90 new_ms0(x0, Neg(Succ(x1))) 214.29/145.90 new_quot(Pos(x0), x1, x2) 214.29/145.90 new_primMinusNatS2(Zero, Zero) 214.29/145.90 new_esEs0(x0, ty_Int) 214.29/145.90 new_primMinusNat0(Succ(x0), Zero) 214.29/145.90 new_ms0(x0, Pos(x1)) 214.29/145.90 new_esEs(Pos(Zero)) 214.29/145.90 new_quot(Neg(x0), x1, x2) 214.29/145.90 new_primDivNatS01(x0, x1, Succ(x2), Succ(x3)) 214.29/145.90 new_quot2(x0, x1, x2) 214.29/145.90 new_primEqInt(Neg(Succ(x0))) 214.29/145.90 new_sr10(Neg(x0), Neg(x1)) 214.29/145.90 new_sr3(x0, app(ty_Ratio, x1)) 214.29/145.90 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 214.29/145.90 new_sr9(x0, x1) 214.29/145.90 new_sr2(x0, x1, ty_Integer) 214.29/145.90 new_sr7(Neg(x0)) 214.29/145.90 new_sr1(x0, ty_Double) 214.29/145.90 new_primQuotInt0(x0, Neg(Succ(x1))) 214.29/145.90 new_sr0(x0, ty_Integer) 214.29/145.90 new_rem(Pos(x0), Neg(Zero)) 214.29/145.90 new_rem(Neg(x0), Pos(Zero)) 214.29/145.90 new_gcd0Gcd'00(x0, x1) 214.29/145.90 new_primQuotInt(x0, Neg(Succ(x1))) 214.29/145.90 new_primMinusNatS2(Succ(x0), Succ(x1)) 214.29/145.90 new_ms(x0, Pos(Zero)) 214.29/145.90 new_abs(Pos(Zero)) 214.29/145.90 new_primMinusNat0(Succ(x0), Succ(x1)) 214.29/145.90 new_quot0(x0, x1, x2, x3, ty_Integer) 214.29/145.90 new_sr0(x0, ty_Int) 214.29/145.90 new_sr6(x0) 214.29/145.90 new_gcd2(False, x0, x1) 214.29/145.90 new_gcd1(True, x0, x1) 214.29/145.90 new_esEs2(x0, x1, ty_Integer) 214.29/145.90 new_primMinusNatS1 214.29/145.90 new_sr7(Pos(x0)) 214.29/145.90 new_gcd0Gcd'10(True, x0, x1) 214.29/145.90 new_primModNatS1(Zero, x0) 214.29/145.90 new_sr4(x0, x1, ty_Float) 214.29/145.90 new_sr10(Pos(x0), Neg(x1)) 214.29/145.90 new_sr10(Neg(x0), Pos(x1)) 214.29/145.90 new_primDivNatS01(x0, x1, Succ(x2), Zero) 214.29/145.90 new_primDivNatS1(Succ(Succ(x0)), Succ(x1)) 214.29/145.90 new_primPlusNat0(Succ(x0), Succ(x1)) 214.29/145.90 new_primDivNatS1(Succ(Zero), Succ(x0)) 214.29/145.90 new_primQuotInt(x0, Pos(Succ(x1))) 214.29/145.90 new_sr2(x0, x1, app(ty_Ratio, x2)) 214.29/145.90 new_abs(Neg(Succ(x0))) 214.29/145.90 new_esEs0(x0, ty_Integer) 214.29/145.90 new_sr3(x0, ty_Int) 214.29/145.90 new_esEs(Neg(Succ(x0))) 214.29/145.90 new_sr(x0, app(ty_Ratio, x1)) 214.29/145.90 new_ms0(x0, Neg(Zero)) 214.29/145.90 new_primModNatS01(x0, x1, Zero, Zero) 214.29/145.90 new_sr4(x0, x1, app(ty_Ratio, x2)) 214.29/145.90 new_gcd0(x0, x1) 214.29/145.90 new_primEqInt(Pos(Succ(x0))) 214.29/145.90 new_sr3(x0, ty_Double) 214.29/145.90 new_quot1(x0, x1, x2, x3, ty_Integer) 214.29/145.90 new_primDivNatS1(Succ(Succ(x0)), Zero) 214.29/145.90 new_primMulNat1(Succ(x0)) 214.29/145.90 new_sr14(x0, x1) 214.29/145.90 new_quot0(x0, x1, x2, x3, ty_Int) 214.29/145.90 new_sr2(x0, x1, ty_Int) 214.29/145.90 new_primModNatS1(Succ(Zero), Succ(x0)) 214.29/145.90 new_reduce2Reduce1(x0, x1, x2, x3, False, x4) 214.29/145.90 new_esEs(Neg(Zero)) 214.29/145.90 new_primMulNat1(Zero) 214.29/145.90 214.29/145.90 We have to consider all minimal (P,Q,R)-chains. 214.29/145.90 ---------------------------------------- 214.29/145.90 214.29/145.90 (706) TransformationProof (EQUIVALENT) 214.29/145.90 By rewriting [LPAR04] the rule new_pr2F0G(vyv188, vyv184, Pos(Zero), h) -> new_pr2F0G(vyv188, new_sr(vyv184, h), new_primQuotInt(Zero, new_fromInt0), h) at position [2,1] we obtained the following new rules [LPAR04]: 214.29/145.90 214.29/145.90 (new_pr2F0G(vyv188, vyv184, Pos(Zero), h) -> new_pr2F0G(vyv188, new_sr(vyv184, h), new_primQuotInt(Zero, Pos(Succ(Succ(Zero)))), h),new_pr2F0G(vyv188, vyv184, Pos(Zero), h) -> new_pr2F0G(vyv188, new_sr(vyv184, h), new_primQuotInt(Zero, Pos(Succ(Succ(Zero)))), h)) 214.29/145.90 214.29/145.90 214.29/145.90 ---------------------------------------- 214.29/145.90 214.29/145.90 (707) 214.29/145.90 Obligation: 214.29/145.90 Q DP problem: 214.29/145.90 The TRS P consists of the following rules: 214.29/145.90 214.29/145.90 new_pr2F0G10(vyv249, vyv250, vyv251, Succ(Succ(vyv25200)), bb) -> new_pr2F0G10(vyv249, vyv250, vyv251, vyv25200, bb) 214.29/145.90 new_pr2F0G(vyv188, vyv184, Neg(Succ(Zero)), h) -> new_pr2F0G11(vyv188, vyv184, Zero, h) 214.29/145.90 new_pr2F0G(vyv188, vyv184, Pos(Succ(Succ(vyv223000))), h) -> new_pr2F0G1(vyv188, vyv184, Succ(vyv223000), vyv223000, h) 214.29/145.90 new_pr2F0(vyv184, Neg(Succ(Succ(vyv223000))), vyv188, h) -> new_pr2F0G10(vyv188, vyv184, Succ(vyv223000), vyv223000, h) 214.29/145.90 new_pr2F0(vyv184, Neg(Succ(Zero)), vyv188, h) -> new_pr2F0G11(vyv188, vyv184, Zero, h) 214.29/145.90 new_pr2F0G10(vyv249, vyv250, vyv251, Succ(Zero), bb) -> new_pr2F0G11(vyv249, vyv250, vyv251, bb) 214.29/145.90 new_pr2F0G(vyv188, vyv184, Neg(Succ(Succ(vyv223000))), h) -> new_pr2F0G10(vyv188, vyv184, Succ(vyv223000), vyv223000, h) 214.29/145.90 new_pr2F3(False, vyv228, vyv229, vyv245, vyv227, ba) -> new_pr2F0(vyv228, new_ms(vyv229, vyv245), new_sr2(vyv228, vyv227, ba), ba) 214.29/145.90 new_pr2F0(vyv184, Pos(Succ(Succ(vyv223000))), vyv188, h) -> new_pr2F0G1(vyv188, vyv184, Succ(vyv223000), vyv223000, h) 214.29/145.90 new_pr2F0G1(vyv227, vyv228, vyv229, Zero, ba) -> new_pr2F0G(vyv227, new_sr1(vyv228, ba), new_primQuotInt(Succ(vyv229), new_fromInt0), ba) 214.29/145.90 new_pr2F1(vyv240, vyv241, vyv244, vyv239, bc) -> new_pr2F30(new_esEs(new_ms0(vyv241, vyv244)), vyv240, vyv241, vyv244, vyv239, bc) 214.29/145.90 new_pr2F(vyv228, vyv229, vyv245, vyv227, ba) -> new_pr2F3(new_esEs(new_ms(vyv229, vyv245)), vyv228, vyv229, vyv245, vyv227, ba) 214.29/145.90 new_pr2F0G1(vyv227, vyv228, vyv229, Succ(Succ(vyv23000)), ba) -> new_pr2F0G1(vyv227, vyv228, vyv229, vyv23000, ba) 214.29/145.90 new_pr2F30(False, vyv240, vyv241, vyv244, vyv239, bc) -> new_pr2F0(vyv240, new_ms0(vyv241, vyv244), new_sr4(vyv240, vyv239, bc), bc) 214.29/145.90 new_pr2F0(vyv184, Pos(Zero), vyv188, h) -> new_pr2F0G(vyv188, new_sr(vyv184, h), new_primQuotInt(Zero, new_fromInt0), h) 214.29/145.90 new_pr2F0(vyv184, Neg(Zero), vyv188, h) -> new_pr2F0G(vyv188, new_sr0(vyv184, h), new_primQuotInt0(Zero, Pos(Succ(Succ(Zero)))), h) 214.29/145.90 new_pr2F0G11(vyv239, vyv240, vyv241, bc) -> new_pr2F1(vyv240, vyv241, Pos(Succ(Zero)), vyv239, bc) 214.29/145.90 new_pr2F0G(vyv188, vyv184, Neg(Zero), h) -> new_pr2F0G(vyv188, new_sr0(vyv184, h), new_primQuotInt0(Zero, Pos(Succ(Succ(Zero)))), h) 214.29/145.90 new_pr2F0G10(vyv249, vyv250, vyv251, Zero, bb) -> new_pr2F0G(vyv249, new_sr3(vyv250, bb), new_primQuotInt0(Succ(vyv251), Pos(Succ(Succ(Zero)))), bb) 214.29/145.90 new_pr2F0(vyv184, Pos(Succ(Zero)), vyv188, h) -> new_pr2F(vyv184, Zero, Pos(Succ(Zero)), vyv188, h) 214.29/145.90 new_pr2F0G1(vyv227, vyv228, vyv229, Succ(Zero), ba) -> new_pr2F(vyv228, vyv229, Pos(Succ(Zero)), vyv227, ba) 214.29/145.90 new_pr2F0G(vyv188, vyv184, Pos(Succ(Zero)), h) -> new_pr2F(vyv184, Zero, Pos(Succ(Zero)), vyv188, h) 214.29/145.90 new_pr2F0G(vyv188, vyv184, Pos(Zero), h) -> new_pr2F0G(vyv188, new_sr(vyv184, h), new_primQuotInt(Zero, Pos(Succ(Succ(Zero)))), h) 214.29/145.90 214.29/145.90 The TRS R consists of the following rules: 214.29/145.90 214.29/145.90 new_sr3(vyv250, ty_Double) -> new_sr11(vyv250) 214.29/145.90 new_sr3(vyv250, ty_Int) -> new_sr7(vyv250) 214.29/145.90 new_sr3(vyv250, ty_Float) -> new_sr12(vyv250) 214.29/145.90 new_sr3(vyv250, ty_Integer) -> new_sr6(vyv250) 214.29/145.90 new_sr3(vyv250, app(ty_Ratio, bf)) -> new_sr5(vyv250, bf) 214.29/145.90 new_primQuotInt0(vyv2710, Pos(Succ(vyv28800))) -> Neg(new_primDivNatS1(vyv2710, vyv28800)) 214.29/145.90 new_primDivNatS1(Zero, vyv28500) -> Zero 214.29/145.90 new_primDivNatS1(Succ(Succ(vyv271000)), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS0(vyv271000), Zero)) 214.29/145.90 new_primDivNatS1(Succ(Zero), Succ(vyv285000)) -> Zero 214.29/145.90 new_primDivNatS1(Succ(Succ(vyv271000)), Succ(vyv285000)) -> new_primDivNatS01(vyv271000, vyv285000, vyv271000, vyv285000) 214.29/145.90 new_primDivNatS1(Succ(Zero), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS1, Zero)) 214.29/145.90 new_primMinusNatS1 -> Zero 214.29/145.90 new_primDivNatS01(vyv311, vyv312, Succ(vyv3130), Zero) -> new_primDivNatS02(vyv311, vyv312) 214.29/145.90 new_primDivNatS01(vyv311, vyv312, Zero, Succ(vyv3140)) -> Zero 214.29/145.90 new_primDivNatS01(vyv311, vyv312, Succ(vyv3130), Succ(vyv3140)) -> new_primDivNatS01(vyv311, vyv312, vyv3130, vyv3140) 214.29/145.90 new_primDivNatS01(vyv311, vyv312, Zero, Zero) -> new_primDivNatS02(vyv311, vyv312) 214.29/145.90 new_primDivNatS02(vyv311, vyv312) -> Succ(new_primDivNatS1(new_primMinusNatS2(vyv311, vyv312), Succ(vyv312))) 214.29/145.90 new_primMinusNatS2(Zero, Succ(vyv3120)) -> Zero 214.29/145.90 new_primMinusNatS2(Succ(vyv3110), Zero) -> Succ(vyv3110) 214.29/145.90 new_primMinusNatS2(Zero, Zero) -> Zero 214.29/145.90 new_primMinusNatS2(Succ(vyv3110), Succ(vyv3120)) -> new_primMinusNatS2(vyv3110, vyv3120) 214.29/145.90 new_primMinusNatS0(vyv271000) -> Succ(vyv271000) 214.29/145.90 new_sr5(:%(vyv1840, vyv1841), bd) -> new_reduce2Reduce1(vyv1840, vyv1840, vyv1841, vyv1841, new_esEs0(vyv1841, bd), bd) 214.29/145.90 new_esEs0(vyv1841, ty_Int) -> new_esEs(new_sr7(vyv1841)) 214.29/145.90 new_esEs0(vyv1841, ty_Integer) -> new_esEs1(new_sr6(vyv1841)) 214.29/145.90 new_reduce2Reduce1(vyv265, vyv266, vyv267, vyv268, False, bh) -> :%(new_quot0(vyv265, vyv266, vyv267, vyv268, bh), new_quot1(vyv267, vyv268, vyv265, vyv266, bh)) 214.29/145.90 new_reduce2Reduce1(vyv265, vyv266, vyv267, vyv268, True, bh) -> error([]) 214.29/145.90 new_quot0(vyv265, vyv266, vyv267, vyv268, ty_Integer) -> new_quot2(new_sr9(vyv265, vyv266), new_sr9(vyv265, vyv266), new_sr9(vyv267, vyv268)) 214.29/145.90 new_quot0(vyv265, vyv266, vyv267, vyv268, ty_Int) -> new_quot(new_sr10(vyv265, vyv266), new_sr10(vyv265, vyv266), new_sr10(vyv267, vyv268)) 214.29/145.90 new_quot1(vyv267, vyv268, vyv265, vyv266, ty_Int) -> new_quot(new_sr10(vyv267, vyv268), new_sr10(vyv265, vyv266), new_sr10(vyv267, vyv268)) 214.29/145.90 new_quot1(vyv267, vyv268, vyv265, vyv266, ty_Integer) -> new_quot2(new_sr9(vyv267, vyv268), new_sr9(vyv265, vyv266), new_sr9(vyv267, vyv268)) 214.29/145.90 new_sr9(vyv240, vyv239) -> error([]) 214.29/145.90 new_quot2(vyv274, vyv276, vyv275) -> error([]) 214.29/145.90 new_sr10(Pos(vyv2400), Pos(vyv2390)) -> Pos(new_primMulNat0(vyv2400, vyv2390)) 214.29/145.90 new_sr10(Neg(vyv2400), Neg(vyv2390)) -> Pos(new_primMulNat0(vyv2400, vyv2390)) 214.29/145.90 new_sr10(Pos(vyv2400), Neg(vyv2390)) -> Neg(new_primMulNat0(vyv2400, vyv2390)) 214.29/145.90 new_sr10(Neg(vyv2400), Pos(vyv2390)) -> Neg(new_primMulNat0(vyv2400, vyv2390)) 214.29/145.90 new_quot(Pos(vyv2710), vyv273, vyv272) -> new_primQuotInt(vyv2710, new_gcd(vyv273, vyv272)) 214.29/145.90 new_quot(Neg(vyv2710), vyv273, vyv272) -> new_primQuotInt0(vyv2710, new_gcd(vyv273, vyv272)) 214.29/145.90 new_gcd(vyv273, vyv272) -> new_gcd2(new_esEs(vyv273), vyv273, vyv272) 214.29/145.90 new_primQuotInt0(vyv2710, Neg(Zero)) -> new_error 214.29/145.90 new_primQuotInt0(vyv2710, Neg(Succ(vyv28800))) -> Pos(new_primDivNatS1(vyv2710, vyv28800)) 214.29/145.90 new_primQuotInt0(vyv2710, Pos(Zero)) -> new_error 214.29/145.90 new_error -> error([]) 214.29/145.90 new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) 214.29/145.90 new_esEs(Pos(Succ(vyv24300))) -> new_primEqInt(Pos(Succ(vyv24300))) 214.29/145.90 new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) 214.29/145.90 new_esEs(Neg(Succ(vyv24300))) -> new_primEqInt(Neg(Succ(vyv24300))) 214.29/145.90 new_gcd2(True, vyv273, vyv272) -> new_gcd1(new_esEs(vyv272), vyv273, vyv272) 214.29/145.90 new_gcd2(False, vyv273, vyv272) -> new_gcd0(vyv273, vyv272) 214.29/145.90 new_gcd0(vyv273, vyv272) -> new_gcd0Gcd'11(new_esEs(new_abs(vyv272)), vyv273, vyv272) 214.29/145.90 new_abs(Neg(Zero)) -> Neg(Zero) 214.29/145.90 new_abs(Neg(Succ(vyv27200))) -> Pos(Succ(vyv27200)) 214.29/145.90 new_abs(Pos(Succ(vyv27200))) -> Pos(Succ(vyv27200)) 214.29/145.90 new_abs(Pos(Zero)) -> Pos(Zero) 214.29/145.90 new_gcd0Gcd'11(True, vyv273, vyv272) -> new_abs(vyv273) 214.29/145.90 new_gcd0Gcd'11(False, vyv273, vyv272) -> new_gcd0Gcd'00(new_abs(vyv273), new_abs(vyv272)) 214.29/145.90 new_gcd0Gcd'10(False, vyv292, vyv293) -> new_gcd0Gcd'00(vyv292, new_rem(vyv293, vyv292)) 214.29/145.90 new_gcd0Gcd'00(vyv293, vyv292) -> new_gcd0Gcd'10(new_esEs(new_rem(vyv293, vyv292)), vyv292, vyv293) 214.29/145.90 new_rem(Pos(vyv2930), Neg(Zero)) -> new_error 214.29/145.90 new_rem(Neg(vyv2930), Pos(Zero)) -> new_error 214.29/145.90 new_rem(Pos(vyv2930), Neg(Succ(vyv29200))) -> Pos(new_primModNatS1(vyv2930, vyv29200)) 214.29/145.90 new_rem(Neg(vyv2930), Pos(Succ(vyv29200))) -> Neg(new_primModNatS1(vyv2930, vyv29200)) 214.29/145.90 new_rem(Pos(vyv2930), Pos(Succ(vyv29200))) -> Pos(new_primModNatS1(vyv2930, vyv29200)) 214.29/145.90 new_rem(Neg(vyv2930), Neg(Zero)) -> new_error 214.29/145.90 new_rem(Neg(vyv2930), Neg(Succ(vyv29200))) -> Neg(new_primModNatS1(vyv2930, vyv29200)) 214.29/145.90 new_rem(Pos(vyv2930), Pos(Zero)) -> new_error 214.29/145.90 new_gcd0Gcd'10(True, vyv292, vyv293) -> vyv292 214.29/145.90 new_primModNatS1(Succ(Zero), Succ(vyv292000)) -> Succ(Zero) 214.29/145.90 new_primModNatS1(Zero, vyv29200) -> Zero 214.29/145.90 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 214.29/145.90 new_primModNatS1(Succ(Succ(vyv293000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv293000), Zero) 214.29/145.90 new_primModNatS01(vyv331, vyv332, Zero, Zero) -> new_primModNatS02(vyv331, vyv332) 214.29/145.90 new_primModNatS02(vyv331, vyv332) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv331), Succ(vyv332)), Succ(vyv332)) 214.29/145.90 new_primModNatS1(Succ(Succ(vyv293000)), Succ(vyv292000)) -> new_primModNatS01(vyv293000, vyv292000, vyv293000, vyv292000) 214.29/145.90 new_primModNatS01(vyv331, vyv332, Succ(vyv3330), Zero) -> new_primModNatS02(vyv331, vyv332) 214.29/145.90 new_primModNatS01(vyv331, vyv332, Succ(vyv3330), Succ(vyv3340)) -> new_primModNatS01(vyv331, vyv332, vyv3330, vyv3340) 214.29/145.90 new_primModNatS01(vyv331, vyv332, Zero, Succ(vyv3340)) -> Succ(Succ(vyv331)) 214.29/145.90 new_gcd1(True, vyv273, vyv272) -> new_error 214.29/145.90 new_gcd1(False, vyv273, vyv272) -> new_gcd0(vyv273, vyv272) 214.29/145.90 new_primEqInt(Neg(Succ(vyv242000))) -> False 214.29/145.90 new_primEqInt(Pos(Zero)) -> True 214.29/145.90 new_primEqInt(Pos(Succ(vyv242000))) -> False 214.29/145.90 new_primEqInt(Neg(Zero)) -> True 214.29/145.90 new_primQuotInt(vyv2710, Neg(Zero)) -> new_error 214.29/145.90 new_primQuotInt(vyv2710, Pos(Succ(vyv28500))) -> Pos(new_primDivNatS1(vyv2710, vyv28500)) 214.29/145.90 new_primQuotInt(vyv2710, Pos(Zero)) -> new_error 214.29/145.90 new_primQuotInt(vyv2710, Neg(Succ(vyv28500))) -> Neg(new_primDivNatS1(vyv2710, vyv28500)) 214.29/145.90 new_primMulNat0(Succ(vyv24000), Zero) -> Zero 214.29/145.90 new_primMulNat0(Zero, Succ(vyv23900)) -> Zero 214.29/145.90 new_primMulNat0(Zero, Zero) -> Zero 214.29/145.90 new_primMulNat0(Succ(vyv24000), Succ(vyv23900)) -> new_primPlusNat0(new_primMulNat0(vyv24000, Succ(vyv23900)), Succ(vyv23900)) 214.29/145.90 new_primPlusNat0(Succ(vyv4000), Succ(vyv6000)) -> Succ(Succ(new_primPlusNat0(vyv4000, vyv6000))) 214.29/145.90 new_primPlusNat0(Zero, Succ(vyv6000)) -> Succ(vyv6000) 214.29/145.90 new_primPlusNat0(Zero, Zero) -> Zero 214.29/145.90 new_primPlusNat0(Succ(vyv4000), Zero) -> Succ(vyv4000) 214.29/145.90 new_sr6(vyv184) -> error([]) 214.29/145.90 new_esEs1(Integer(vyv2700)) -> new_primEqInt(vyv2700) 214.29/145.90 new_sr7(Pos(vyv1840)) -> Pos(new_primMulNat1(vyv1840)) 214.29/145.90 new_sr7(Neg(vyv1840)) -> Pos(new_primMulNat1(vyv1840)) 214.29/145.90 new_primMulNat1(Succ(vyv18400)) -> new_primPlusNat0(new_primMulNat2(vyv18400), Succ(vyv18400)) 214.29/145.90 new_primMulNat1(Zero) -> Zero 214.29/145.90 new_primMulNat2(Succ(vyv184000)) -> new_primPlusNat0(new_primMulNat3(vyv184000), Succ(Succ(vyv184000))) 214.29/145.90 new_primMulNat2(Zero) -> Zero 214.29/145.90 new_primMulNat3(Succ(vyv1840000)) -> new_primPlusNat0(new_primMulNat4(vyv1840000), Succ(Succ(Succ(vyv1840000)))) 214.29/145.90 new_primMulNat3(Zero) -> Zero 214.29/145.90 new_primMulNat4(Succ(vyv18400000)) -> new_primPlusNat0(new_primMulNat0(vyv18400000, Succ(Succ(Succ(Succ(vyv18400000))))), Succ(Succ(Succ(Succ(vyv18400000))))) 214.29/145.90 new_primMulNat4(Zero) -> Zero 214.29/145.90 new_sr12(vyv184) -> error([]) 214.29/145.90 new_sr11(vyv184) -> error([]) 214.29/145.90 new_sr0(vyv184, ty_Double) -> new_sr11(vyv184) 214.29/145.90 new_sr0(vyv184, ty_Float) -> new_sr12(vyv184) 214.29/145.90 new_sr0(vyv184, ty_Int) -> new_sr7(vyv184) 214.29/145.90 new_sr0(vyv184, app(ty_Ratio, bd)) -> new_sr5(vyv184, bd) 214.29/145.90 new_sr0(vyv184, ty_Integer) -> new_sr6(vyv184) 214.29/145.90 new_sr(vyv184, ty_Double) -> new_sr11(vyv184) 214.29/145.90 new_sr(vyv184, app(ty_Ratio, bd)) -> new_sr5(vyv184, bd) 214.29/145.90 new_sr(vyv184, ty_Float) -> new_sr12(vyv184) 214.29/145.90 new_sr(vyv184, ty_Int) -> new_sr7(vyv184) 214.29/145.90 new_sr(vyv184, ty_Integer) -> new_sr6(vyv184) 214.29/145.90 new_fromInt0 -> Pos(Succ(Succ(Zero))) 214.29/145.90 new_ms0(vyv241, Neg(Zero)) -> Neg(Succ(vyv241)) 214.29/145.90 new_ms0(vyv241, Pos(vyv2440)) -> Neg(new_primPlusNat0(Succ(vyv241), vyv2440)) 214.29/145.90 new_ms0(vyv241, Neg(Succ(vyv24400))) -> new_primMinusNat0(vyv24400, vyv241) 214.29/145.90 new_sr4(vyv240, vyv239, app(ty_Ratio, be)) -> new_sr8(vyv240, vyv239, be) 214.29/145.90 new_sr4(vyv240, vyv239, ty_Float) -> new_sr14(vyv240, vyv239) 214.29/145.90 new_sr4(vyv240, vyv239, ty_Int) -> new_sr10(vyv240, vyv239) 214.29/145.90 new_sr4(vyv240, vyv239, ty_Double) -> new_sr13(vyv240, vyv239) 214.29/145.90 new_sr4(vyv240, vyv239, ty_Integer) -> new_sr9(vyv240, vyv239) 214.29/145.90 new_sr13(vyv240, vyv239) -> error([]) 214.29/145.90 new_sr14(vyv240, vyv239) -> error([]) 214.29/145.90 new_sr8(:%(vyv2400, vyv2401), :%(vyv2390, vyv2391), be) -> new_reduce2Reduce1(vyv2400, vyv2390, vyv2401, vyv2391, new_esEs2(vyv2401, vyv2391, be), be) 214.29/145.90 new_esEs2(vyv2401, vyv2391, ty_Integer) -> new_esEs1(new_sr9(vyv2401, vyv2391)) 214.29/145.90 new_esEs2(vyv2401, vyv2391, ty_Int) -> new_esEs(new_sr10(vyv2401, vyv2391)) 214.29/145.90 new_primMinusNat0(Succ(vyv2290), Succ(vyv245000)) -> new_primMinusNat0(vyv2290, vyv245000) 214.29/145.90 new_primMinusNat0(Zero, Zero) -> Pos(Zero) 214.29/145.90 new_primMinusNat0(Zero, Succ(vyv245000)) -> Neg(Succ(vyv245000)) 214.29/145.90 new_primMinusNat0(Succ(vyv2290), Zero) -> Pos(Succ(vyv2290)) 214.29/145.90 new_ms(vyv229, Neg(vyv2450)) -> Pos(new_primPlusNat0(Succ(vyv229), vyv2450)) 214.29/145.90 new_ms(vyv229, Pos(Succ(vyv24500))) -> new_primMinusNat0(vyv229, vyv24500) 214.29/145.90 new_ms(vyv229, Pos(Zero)) -> Pos(Succ(vyv229)) 214.29/145.90 new_sr1(vyv228, ty_Double) -> new_sr11(vyv228) 214.29/145.90 new_sr1(vyv228, ty_Float) -> new_sr12(vyv228) 214.29/145.90 new_sr1(vyv228, app(ty_Ratio, bg)) -> new_sr5(vyv228, bg) 214.29/145.90 new_sr1(vyv228, ty_Integer) -> new_sr6(vyv228) 214.29/145.90 new_sr1(vyv228, ty_Int) -> new_sr7(vyv228) 214.29/145.90 new_sr2(vyv228, vyv227, ty_Integer) -> new_sr9(vyv228, vyv227) 214.29/145.90 new_sr2(vyv228, vyv227, ty_Int) -> new_sr10(vyv228, vyv227) 214.29/145.90 new_sr2(vyv228, vyv227, app(ty_Ratio, bg)) -> new_sr8(vyv228, vyv227, bg) 214.29/145.90 new_sr2(vyv228, vyv227, ty_Double) -> new_sr13(vyv228, vyv227) 214.29/145.90 new_sr2(vyv228, vyv227, ty_Float) -> new_sr14(vyv228, vyv227) 214.29/145.90 214.29/145.90 The set Q consists of the following terms: 214.29/145.90 214.29/145.90 new_sr13(x0, x1) 214.29/145.90 new_primDivNatS01(x0, x1, Zero, Zero) 214.29/145.90 new_gcd0Gcd'11(False, x0, x1) 214.29/145.90 new_primMulNat4(Zero) 214.29/145.90 new_gcd0Gcd'11(True, x0, x1) 214.29/145.90 new_sr2(x0, x1, ty_Float) 214.29/145.90 new_sr5(:%(x0, x1), x2) 214.29/145.90 new_primEqInt(Pos(Zero)) 214.29/145.90 new_ms(x0, Neg(x1)) 214.29/145.90 new_sr2(x0, x1, ty_Double) 214.29/145.90 new_esEs(Pos(Succ(x0))) 214.29/145.90 new_primQuotInt0(x0, Neg(Zero)) 214.29/145.90 new_primMulNat3(Zero) 214.29/145.90 new_primModNatS02(x0, x1) 214.29/145.90 new_sr(x0, ty_Double) 214.29/145.90 new_sr0(x0, ty_Double) 214.29/145.90 new_primDivNatS1(Succ(Zero), Zero) 214.29/145.90 new_primMinusNatS0(x0) 214.29/145.90 new_sr11(x0) 214.29/145.90 new_sr0(x0, app(ty_Ratio, x1)) 214.29/145.90 new_rem(Pos(x0), Neg(Succ(x1))) 214.29/145.90 new_rem(Neg(x0), Pos(Succ(x1))) 214.29/145.90 new_primMulNat0(Zero, Zero) 214.29/145.90 new_primPlusNat0(Succ(x0), Zero) 214.29/145.90 new_fromInt0 214.29/145.90 new_primMulNat0(Succ(x0), Zero) 214.29/145.90 new_sr3(x0, ty_Float) 214.29/145.90 new_primMulNat2(Zero) 214.29/145.90 new_primQuotInt(x0, Pos(Zero)) 214.29/145.90 new_primMulNat2(Succ(x0)) 214.29/145.90 new_primQuotInt(x0, Neg(Zero)) 214.29/145.90 new_rem(Neg(x0), Neg(Succ(x1))) 214.29/145.90 new_primMinusNatS2(Zero, Succ(x0)) 214.29/145.90 new_sr(x0, ty_Int) 214.29/145.90 new_sr4(x0, x1, ty_Double) 214.29/145.90 new_primMulNat3(Succ(x0)) 214.29/145.90 new_sr0(x0, ty_Float) 214.29/145.90 new_esEs1(Integer(x0)) 214.29/145.90 new_primQuotInt0(x0, Pos(Zero)) 214.29/145.90 new_gcd2(True, x0, x1) 214.29/145.90 new_quot1(x0, x1, x2, x3, ty_Int) 214.29/145.90 new_primDivNatS1(Zero, x0) 214.29/145.90 new_primMinusNat0(Zero, Zero) 214.29/145.90 new_gcd(x0, x1) 214.29/145.90 new_gcd1(False, x0, x1) 214.29/145.90 new_esEs2(x0, x1, ty_Int) 214.29/145.90 new_sr3(x0, ty_Integer) 214.29/145.90 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 214.29/145.90 new_sr1(x0, app(ty_Ratio, x1)) 214.29/145.90 new_sr1(x0, ty_Float) 214.29/145.90 new_primPlusNat0(Zero, Succ(x0)) 214.29/145.90 new_sr8(:%(x0, x1), :%(x2, x3), x4) 214.29/145.90 new_abs(Neg(Zero)) 214.29/145.90 new_primMinusNatS2(Succ(x0), Zero) 214.29/145.90 new_error 214.29/145.90 new_primModNatS1(Succ(Zero), Zero) 214.29/145.90 new_primMulNat4(Succ(x0)) 214.29/145.90 new_sr1(x0, ty_Integer) 214.29/145.90 new_primDivNatS02(x0, x1) 214.29/145.90 new_sr1(x0, ty_Int) 214.29/145.90 new_rem(Neg(x0), Neg(Zero)) 214.29/145.90 new_primMinusNat0(Zero, Succ(x0)) 214.29/145.90 new_primEqInt(Neg(Zero)) 214.29/145.90 new_rem(Pos(x0), Pos(Succ(x1))) 214.29/145.90 new_abs(Pos(Succ(x0))) 214.29/145.90 new_primMulNat0(Succ(x0), Succ(x1)) 214.29/145.90 new_primMulNat0(Zero, Succ(x0)) 214.29/145.90 new_reduce2Reduce1(x0, x1, x2, x3, True, x4) 214.29/145.90 new_sr(x0, ty_Float) 214.29/145.90 new_gcd0Gcd'10(False, x0, x1) 214.29/145.90 new_sr12(x0) 214.29/145.90 new_primDivNatS01(x0, x1, Zero, Succ(x2)) 214.29/145.90 new_sr10(Pos(x0), Pos(x1)) 214.29/145.90 new_primModNatS01(x0, x1, Zero, Succ(x2)) 214.29/145.90 new_primPlusNat0(Zero, Zero) 214.29/145.90 new_sr(x0, ty_Integer) 214.29/145.90 new_primQuotInt0(x0, Pos(Succ(x1))) 214.29/145.90 new_primModNatS01(x0, x1, Succ(x2), Zero) 214.29/145.90 new_ms(x0, Pos(Succ(x1))) 214.29/145.90 new_primModNatS1(Succ(Succ(x0)), Zero) 214.29/145.90 new_sr4(x0, x1, ty_Integer) 214.29/145.90 new_rem(Pos(x0), Pos(Zero)) 214.29/145.90 new_sr4(x0, x1, ty_Int) 214.29/145.90 new_ms0(x0, Neg(Succ(x1))) 214.29/145.90 new_quot(Pos(x0), x1, x2) 214.29/145.90 new_primMinusNatS2(Zero, Zero) 214.29/145.90 new_esEs0(x0, ty_Int) 214.29/145.90 new_primMinusNat0(Succ(x0), Zero) 214.29/145.90 new_ms0(x0, Pos(x1)) 214.29/145.90 new_esEs(Pos(Zero)) 214.29/145.90 new_quot(Neg(x0), x1, x2) 214.29/145.90 new_primDivNatS01(x0, x1, Succ(x2), Succ(x3)) 214.29/145.90 new_quot2(x0, x1, x2) 214.29/145.90 new_primEqInt(Neg(Succ(x0))) 214.29/145.90 new_sr10(Neg(x0), Neg(x1)) 214.29/145.90 new_sr3(x0, app(ty_Ratio, x1)) 214.29/145.90 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 214.29/145.90 new_sr9(x0, x1) 214.29/145.90 new_sr2(x0, x1, ty_Integer) 214.29/145.90 new_sr7(Neg(x0)) 214.29/145.90 new_sr1(x0, ty_Double) 214.29/145.90 new_primQuotInt0(x0, Neg(Succ(x1))) 214.29/145.90 new_sr0(x0, ty_Integer) 214.29/145.90 new_rem(Pos(x0), Neg(Zero)) 214.29/145.90 new_rem(Neg(x0), Pos(Zero)) 214.29/145.90 new_gcd0Gcd'00(x0, x1) 214.29/145.90 new_primQuotInt(x0, Neg(Succ(x1))) 214.29/145.90 new_primMinusNatS2(Succ(x0), Succ(x1)) 214.29/145.90 new_ms(x0, Pos(Zero)) 214.29/145.90 new_abs(Pos(Zero)) 214.29/145.90 new_primMinusNat0(Succ(x0), Succ(x1)) 214.29/145.90 new_quot0(x0, x1, x2, x3, ty_Integer) 214.29/145.90 new_sr0(x0, ty_Int) 214.29/145.90 new_sr6(x0) 214.29/145.90 new_gcd2(False, x0, x1) 214.29/145.90 new_gcd1(True, x0, x1) 214.29/145.90 new_esEs2(x0, x1, ty_Integer) 214.29/145.90 new_primMinusNatS1 214.29/145.90 new_sr7(Pos(x0)) 214.29/145.90 new_gcd0Gcd'10(True, x0, x1) 214.29/145.90 new_primModNatS1(Zero, x0) 214.29/145.90 new_sr4(x0, x1, ty_Float) 214.29/145.90 new_sr10(Pos(x0), Neg(x1)) 214.29/145.90 new_sr10(Neg(x0), Pos(x1)) 214.29/145.90 new_primDivNatS01(x0, x1, Succ(x2), Zero) 214.29/145.90 new_primDivNatS1(Succ(Succ(x0)), Succ(x1)) 214.29/145.90 new_primPlusNat0(Succ(x0), Succ(x1)) 214.29/145.90 new_primDivNatS1(Succ(Zero), Succ(x0)) 214.29/145.90 new_primQuotInt(x0, Pos(Succ(x1))) 214.29/145.90 new_sr2(x0, x1, app(ty_Ratio, x2)) 214.29/145.90 new_abs(Neg(Succ(x0))) 214.29/145.90 new_esEs0(x0, ty_Integer) 214.29/145.90 new_sr3(x0, ty_Int) 214.29/145.90 new_esEs(Neg(Succ(x0))) 214.29/145.90 new_sr(x0, app(ty_Ratio, x1)) 214.29/145.90 new_ms0(x0, Neg(Zero)) 214.29/145.90 new_primModNatS01(x0, x1, Zero, Zero) 214.29/145.90 new_sr4(x0, x1, app(ty_Ratio, x2)) 214.29/145.90 new_gcd0(x0, x1) 214.29/145.90 new_primEqInt(Pos(Succ(x0))) 214.29/145.90 new_sr3(x0, ty_Double) 214.29/145.90 new_quot1(x0, x1, x2, x3, ty_Integer) 214.29/145.90 new_primDivNatS1(Succ(Succ(x0)), Zero) 214.29/145.90 new_primMulNat1(Succ(x0)) 214.29/145.90 new_sr14(x0, x1) 214.29/145.90 new_quot0(x0, x1, x2, x3, ty_Int) 214.29/145.90 new_sr2(x0, x1, ty_Int) 214.29/145.90 new_primModNatS1(Succ(Zero), Succ(x0)) 214.29/145.90 new_reduce2Reduce1(x0, x1, x2, x3, False, x4) 214.29/145.90 new_esEs(Neg(Zero)) 214.29/145.90 new_primMulNat1(Zero) 214.29/145.90 214.29/145.90 We have to consider all minimal (P,Q,R)-chains. 214.29/145.90 ---------------------------------------- 214.29/145.90 214.29/145.90 (708) TransformationProof (EQUIVALENT) 214.29/145.90 By rewriting [LPAR04] the rule new_pr2F0G1(vyv227, vyv228, vyv229, Zero, ba) -> new_pr2F0G(vyv227, new_sr1(vyv228, ba), new_primQuotInt(Succ(vyv229), new_fromInt0), ba) at position [2,1] we obtained the following new rules [LPAR04]: 214.29/145.90 214.29/145.90 (new_pr2F0G1(vyv227, vyv228, vyv229, Zero, ba) -> new_pr2F0G(vyv227, new_sr1(vyv228, ba), new_primQuotInt(Succ(vyv229), Pos(Succ(Succ(Zero)))), ba),new_pr2F0G1(vyv227, vyv228, vyv229, Zero, ba) -> new_pr2F0G(vyv227, new_sr1(vyv228, ba), new_primQuotInt(Succ(vyv229), Pos(Succ(Succ(Zero)))), ba)) 214.29/145.90 214.29/145.90 214.29/145.90 ---------------------------------------- 214.29/145.90 214.29/145.90 (709) 214.29/145.90 Obligation: 214.29/145.90 Q DP problem: 214.29/145.90 The TRS P consists of the following rules: 214.29/145.90 214.29/145.90 new_pr2F0G10(vyv249, vyv250, vyv251, Succ(Succ(vyv25200)), bb) -> new_pr2F0G10(vyv249, vyv250, vyv251, vyv25200, bb) 214.29/145.90 new_pr2F0G(vyv188, vyv184, Neg(Succ(Zero)), h) -> new_pr2F0G11(vyv188, vyv184, Zero, h) 214.29/145.90 new_pr2F0G(vyv188, vyv184, Pos(Succ(Succ(vyv223000))), h) -> new_pr2F0G1(vyv188, vyv184, Succ(vyv223000), vyv223000, h) 214.29/145.90 new_pr2F0(vyv184, Neg(Succ(Succ(vyv223000))), vyv188, h) -> new_pr2F0G10(vyv188, vyv184, Succ(vyv223000), vyv223000, h) 214.29/145.90 new_pr2F0(vyv184, Neg(Succ(Zero)), vyv188, h) -> new_pr2F0G11(vyv188, vyv184, Zero, h) 214.29/145.90 new_pr2F0G10(vyv249, vyv250, vyv251, Succ(Zero), bb) -> new_pr2F0G11(vyv249, vyv250, vyv251, bb) 214.29/145.90 new_pr2F0G(vyv188, vyv184, Neg(Succ(Succ(vyv223000))), h) -> new_pr2F0G10(vyv188, vyv184, Succ(vyv223000), vyv223000, h) 214.29/145.90 new_pr2F3(False, vyv228, vyv229, vyv245, vyv227, ba) -> new_pr2F0(vyv228, new_ms(vyv229, vyv245), new_sr2(vyv228, vyv227, ba), ba) 214.29/145.90 new_pr2F0(vyv184, Pos(Succ(Succ(vyv223000))), vyv188, h) -> new_pr2F0G1(vyv188, vyv184, Succ(vyv223000), vyv223000, h) 214.29/145.90 new_pr2F1(vyv240, vyv241, vyv244, vyv239, bc) -> new_pr2F30(new_esEs(new_ms0(vyv241, vyv244)), vyv240, vyv241, vyv244, vyv239, bc) 214.29/145.90 new_pr2F(vyv228, vyv229, vyv245, vyv227, ba) -> new_pr2F3(new_esEs(new_ms(vyv229, vyv245)), vyv228, vyv229, vyv245, vyv227, ba) 214.29/145.90 new_pr2F0G1(vyv227, vyv228, vyv229, Succ(Succ(vyv23000)), ba) -> new_pr2F0G1(vyv227, vyv228, vyv229, vyv23000, ba) 214.29/145.90 new_pr2F30(False, vyv240, vyv241, vyv244, vyv239, bc) -> new_pr2F0(vyv240, new_ms0(vyv241, vyv244), new_sr4(vyv240, vyv239, bc), bc) 214.29/145.90 new_pr2F0(vyv184, Pos(Zero), vyv188, h) -> new_pr2F0G(vyv188, new_sr(vyv184, h), new_primQuotInt(Zero, new_fromInt0), h) 214.29/145.90 new_pr2F0(vyv184, Neg(Zero), vyv188, h) -> new_pr2F0G(vyv188, new_sr0(vyv184, h), new_primQuotInt0(Zero, Pos(Succ(Succ(Zero)))), h) 214.29/145.90 new_pr2F0G11(vyv239, vyv240, vyv241, bc) -> new_pr2F1(vyv240, vyv241, Pos(Succ(Zero)), vyv239, bc) 214.29/145.90 new_pr2F0G(vyv188, vyv184, Neg(Zero), h) -> new_pr2F0G(vyv188, new_sr0(vyv184, h), new_primQuotInt0(Zero, Pos(Succ(Succ(Zero)))), h) 214.29/145.90 new_pr2F0G10(vyv249, vyv250, vyv251, Zero, bb) -> new_pr2F0G(vyv249, new_sr3(vyv250, bb), new_primQuotInt0(Succ(vyv251), Pos(Succ(Succ(Zero)))), bb) 214.29/145.90 new_pr2F0(vyv184, Pos(Succ(Zero)), vyv188, h) -> new_pr2F(vyv184, Zero, Pos(Succ(Zero)), vyv188, h) 214.29/145.90 new_pr2F0G1(vyv227, vyv228, vyv229, Succ(Zero), ba) -> new_pr2F(vyv228, vyv229, Pos(Succ(Zero)), vyv227, ba) 214.29/145.90 new_pr2F0G(vyv188, vyv184, Pos(Succ(Zero)), h) -> new_pr2F(vyv184, Zero, Pos(Succ(Zero)), vyv188, h) 214.29/145.90 new_pr2F0G(vyv188, vyv184, Pos(Zero), h) -> new_pr2F0G(vyv188, new_sr(vyv184, h), new_primQuotInt(Zero, Pos(Succ(Succ(Zero)))), h) 214.29/145.90 new_pr2F0G1(vyv227, vyv228, vyv229, Zero, ba) -> new_pr2F0G(vyv227, new_sr1(vyv228, ba), new_primQuotInt(Succ(vyv229), Pos(Succ(Succ(Zero)))), ba) 214.29/145.90 214.29/145.90 The TRS R consists of the following rules: 214.29/145.90 214.29/145.90 new_sr3(vyv250, ty_Double) -> new_sr11(vyv250) 214.29/145.90 new_sr3(vyv250, ty_Int) -> new_sr7(vyv250) 214.29/145.90 new_sr3(vyv250, ty_Float) -> new_sr12(vyv250) 214.29/145.90 new_sr3(vyv250, ty_Integer) -> new_sr6(vyv250) 214.29/145.90 new_sr3(vyv250, app(ty_Ratio, bf)) -> new_sr5(vyv250, bf) 214.29/145.90 new_primQuotInt0(vyv2710, Pos(Succ(vyv28800))) -> Neg(new_primDivNatS1(vyv2710, vyv28800)) 214.29/145.90 new_primDivNatS1(Zero, vyv28500) -> Zero 214.29/145.90 new_primDivNatS1(Succ(Succ(vyv271000)), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS0(vyv271000), Zero)) 214.29/145.90 new_primDivNatS1(Succ(Zero), Succ(vyv285000)) -> Zero 214.29/145.90 new_primDivNatS1(Succ(Succ(vyv271000)), Succ(vyv285000)) -> new_primDivNatS01(vyv271000, vyv285000, vyv271000, vyv285000) 214.29/145.90 new_primDivNatS1(Succ(Zero), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS1, Zero)) 214.29/145.90 new_primMinusNatS1 -> Zero 214.29/145.90 new_primDivNatS01(vyv311, vyv312, Succ(vyv3130), Zero) -> new_primDivNatS02(vyv311, vyv312) 214.29/145.90 new_primDivNatS01(vyv311, vyv312, Zero, Succ(vyv3140)) -> Zero 214.29/145.90 new_primDivNatS01(vyv311, vyv312, Succ(vyv3130), Succ(vyv3140)) -> new_primDivNatS01(vyv311, vyv312, vyv3130, vyv3140) 214.29/145.90 new_primDivNatS01(vyv311, vyv312, Zero, Zero) -> new_primDivNatS02(vyv311, vyv312) 214.29/145.90 new_primDivNatS02(vyv311, vyv312) -> Succ(new_primDivNatS1(new_primMinusNatS2(vyv311, vyv312), Succ(vyv312))) 214.29/145.90 new_primMinusNatS2(Zero, Succ(vyv3120)) -> Zero 214.29/145.90 new_primMinusNatS2(Succ(vyv3110), Zero) -> Succ(vyv3110) 214.29/145.90 new_primMinusNatS2(Zero, Zero) -> Zero 214.29/145.90 new_primMinusNatS2(Succ(vyv3110), Succ(vyv3120)) -> new_primMinusNatS2(vyv3110, vyv3120) 214.29/145.90 new_primMinusNatS0(vyv271000) -> Succ(vyv271000) 214.29/145.90 new_sr5(:%(vyv1840, vyv1841), bd) -> new_reduce2Reduce1(vyv1840, vyv1840, vyv1841, vyv1841, new_esEs0(vyv1841, bd), bd) 214.29/145.90 new_esEs0(vyv1841, ty_Int) -> new_esEs(new_sr7(vyv1841)) 214.29/145.90 new_esEs0(vyv1841, ty_Integer) -> new_esEs1(new_sr6(vyv1841)) 214.29/145.90 new_reduce2Reduce1(vyv265, vyv266, vyv267, vyv268, False, bh) -> :%(new_quot0(vyv265, vyv266, vyv267, vyv268, bh), new_quot1(vyv267, vyv268, vyv265, vyv266, bh)) 214.29/145.90 new_reduce2Reduce1(vyv265, vyv266, vyv267, vyv268, True, bh) -> error([]) 214.29/145.90 new_quot0(vyv265, vyv266, vyv267, vyv268, ty_Integer) -> new_quot2(new_sr9(vyv265, vyv266), new_sr9(vyv265, vyv266), new_sr9(vyv267, vyv268)) 214.29/145.90 new_quot0(vyv265, vyv266, vyv267, vyv268, ty_Int) -> new_quot(new_sr10(vyv265, vyv266), new_sr10(vyv265, vyv266), new_sr10(vyv267, vyv268)) 214.29/145.90 new_quot1(vyv267, vyv268, vyv265, vyv266, ty_Int) -> new_quot(new_sr10(vyv267, vyv268), new_sr10(vyv265, vyv266), new_sr10(vyv267, vyv268)) 214.29/145.90 new_quot1(vyv267, vyv268, vyv265, vyv266, ty_Integer) -> new_quot2(new_sr9(vyv267, vyv268), new_sr9(vyv265, vyv266), new_sr9(vyv267, vyv268)) 214.29/145.90 new_sr9(vyv240, vyv239) -> error([]) 214.29/145.90 new_quot2(vyv274, vyv276, vyv275) -> error([]) 214.29/145.90 new_sr10(Pos(vyv2400), Pos(vyv2390)) -> Pos(new_primMulNat0(vyv2400, vyv2390)) 214.29/145.90 new_sr10(Neg(vyv2400), Neg(vyv2390)) -> Pos(new_primMulNat0(vyv2400, vyv2390)) 214.29/145.90 new_sr10(Pos(vyv2400), Neg(vyv2390)) -> Neg(new_primMulNat0(vyv2400, vyv2390)) 214.29/145.90 new_sr10(Neg(vyv2400), Pos(vyv2390)) -> Neg(new_primMulNat0(vyv2400, vyv2390)) 214.29/145.90 new_quot(Pos(vyv2710), vyv273, vyv272) -> new_primQuotInt(vyv2710, new_gcd(vyv273, vyv272)) 214.29/145.90 new_quot(Neg(vyv2710), vyv273, vyv272) -> new_primQuotInt0(vyv2710, new_gcd(vyv273, vyv272)) 214.29/145.90 new_gcd(vyv273, vyv272) -> new_gcd2(new_esEs(vyv273), vyv273, vyv272) 214.29/145.90 new_primQuotInt0(vyv2710, Neg(Zero)) -> new_error 214.29/145.90 new_primQuotInt0(vyv2710, Neg(Succ(vyv28800))) -> Pos(new_primDivNatS1(vyv2710, vyv28800)) 214.29/145.90 new_primQuotInt0(vyv2710, Pos(Zero)) -> new_error 214.29/145.90 new_error -> error([]) 214.29/145.90 new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) 214.29/145.90 new_esEs(Pos(Succ(vyv24300))) -> new_primEqInt(Pos(Succ(vyv24300))) 214.29/145.90 new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) 214.29/145.90 new_esEs(Neg(Succ(vyv24300))) -> new_primEqInt(Neg(Succ(vyv24300))) 214.29/145.90 new_gcd2(True, vyv273, vyv272) -> new_gcd1(new_esEs(vyv272), vyv273, vyv272) 214.29/145.90 new_gcd2(False, vyv273, vyv272) -> new_gcd0(vyv273, vyv272) 214.29/145.90 new_gcd0(vyv273, vyv272) -> new_gcd0Gcd'11(new_esEs(new_abs(vyv272)), vyv273, vyv272) 214.29/145.90 new_abs(Neg(Zero)) -> Neg(Zero) 214.29/145.90 new_abs(Neg(Succ(vyv27200))) -> Pos(Succ(vyv27200)) 214.29/145.90 new_abs(Pos(Succ(vyv27200))) -> Pos(Succ(vyv27200)) 214.29/145.90 new_abs(Pos(Zero)) -> Pos(Zero) 214.29/145.90 new_gcd0Gcd'11(True, vyv273, vyv272) -> new_abs(vyv273) 214.29/145.90 new_gcd0Gcd'11(False, vyv273, vyv272) -> new_gcd0Gcd'00(new_abs(vyv273), new_abs(vyv272)) 214.29/145.90 new_gcd0Gcd'10(False, vyv292, vyv293) -> new_gcd0Gcd'00(vyv292, new_rem(vyv293, vyv292)) 214.29/145.90 new_gcd0Gcd'00(vyv293, vyv292) -> new_gcd0Gcd'10(new_esEs(new_rem(vyv293, vyv292)), vyv292, vyv293) 214.29/145.90 new_rem(Pos(vyv2930), Neg(Zero)) -> new_error 214.29/145.90 new_rem(Neg(vyv2930), Pos(Zero)) -> new_error 214.29/145.90 new_rem(Pos(vyv2930), Neg(Succ(vyv29200))) -> Pos(new_primModNatS1(vyv2930, vyv29200)) 214.29/145.90 new_rem(Neg(vyv2930), Pos(Succ(vyv29200))) -> Neg(new_primModNatS1(vyv2930, vyv29200)) 214.29/145.90 new_rem(Pos(vyv2930), Pos(Succ(vyv29200))) -> Pos(new_primModNatS1(vyv2930, vyv29200)) 214.29/145.90 new_rem(Neg(vyv2930), Neg(Zero)) -> new_error 214.29/145.90 new_rem(Neg(vyv2930), Neg(Succ(vyv29200))) -> Neg(new_primModNatS1(vyv2930, vyv29200)) 214.29/145.90 new_rem(Pos(vyv2930), Pos(Zero)) -> new_error 214.29/145.90 new_gcd0Gcd'10(True, vyv292, vyv293) -> vyv292 214.29/145.90 new_primModNatS1(Succ(Zero), Succ(vyv292000)) -> Succ(Zero) 214.29/145.90 new_primModNatS1(Zero, vyv29200) -> Zero 214.29/145.90 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 214.29/145.90 new_primModNatS1(Succ(Succ(vyv293000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv293000), Zero) 214.29/145.90 new_primModNatS01(vyv331, vyv332, Zero, Zero) -> new_primModNatS02(vyv331, vyv332) 214.29/145.90 new_primModNatS02(vyv331, vyv332) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv331), Succ(vyv332)), Succ(vyv332)) 214.29/145.90 new_primModNatS1(Succ(Succ(vyv293000)), Succ(vyv292000)) -> new_primModNatS01(vyv293000, vyv292000, vyv293000, vyv292000) 214.29/145.90 new_primModNatS01(vyv331, vyv332, Succ(vyv3330), Zero) -> new_primModNatS02(vyv331, vyv332) 214.29/145.90 new_primModNatS01(vyv331, vyv332, Succ(vyv3330), Succ(vyv3340)) -> new_primModNatS01(vyv331, vyv332, vyv3330, vyv3340) 214.29/145.90 new_primModNatS01(vyv331, vyv332, Zero, Succ(vyv3340)) -> Succ(Succ(vyv331)) 214.29/145.90 new_gcd1(True, vyv273, vyv272) -> new_error 214.29/145.90 new_gcd1(False, vyv273, vyv272) -> new_gcd0(vyv273, vyv272) 214.29/145.90 new_primEqInt(Neg(Succ(vyv242000))) -> False 214.29/145.90 new_primEqInt(Pos(Zero)) -> True 214.29/145.90 new_primEqInt(Pos(Succ(vyv242000))) -> False 214.29/145.90 new_primEqInt(Neg(Zero)) -> True 214.29/145.90 new_primQuotInt(vyv2710, Neg(Zero)) -> new_error 214.29/145.90 new_primQuotInt(vyv2710, Pos(Succ(vyv28500))) -> Pos(new_primDivNatS1(vyv2710, vyv28500)) 214.29/145.90 new_primQuotInt(vyv2710, Pos(Zero)) -> new_error 214.29/145.90 new_primQuotInt(vyv2710, Neg(Succ(vyv28500))) -> Neg(new_primDivNatS1(vyv2710, vyv28500)) 214.29/145.90 new_primMulNat0(Succ(vyv24000), Zero) -> Zero 214.29/145.90 new_primMulNat0(Zero, Succ(vyv23900)) -> Zero 214.29/145.90 new_primMulNat0(Zero, Zero) -> Zero 214.29/145.90 new_primMulNat0(Succ(vyv24000), Succ(vyv23900)) -> new_primPlusNat0(new_primMulNat0(vyv24000, Succ(vyv23900)), Succ(vyv23900)) 214.29/145.90 new_primPlusNat0(Succ(vyv4000), Succ(vyv6000)) -> Succ(Succ(new_primPlusNat0(vyv4000, vyv6000))) 214.29/145.90 new_primPlusNat0(Zero, Succ(vyv6000)) -> Succ(vyv6000) 214.29/145.90 new_primPlusNat0(Zero, Zero) -> Zero 214.29/145.90 new_primPlusNat0(Succ(vyv4000), Zero) -> Succ(vyv4000) 214.29/145.90 new_sr6(vyv184) -> error([]) 214.29/145.90 new_esEs1(Integer(vyv2700)) -> new_primEqInt(vyv2700) 214.29/145.90 new_sr7(Pos(vyv1840)) -> Pos(new_primMulNat1(vyv1840)) 214.29/145.90 new_sr7(Neg(vyv1840)) -> Pos(new_primMulNat1(vyv1840)) 214.29/145.90 new_primMulNat1(Succ(vyv18400)) -> new_primPlusNat0(new_primMulNat2(vyv18400), Succ(vyv18400)) 214.29/145.90 new_primMulNat1(Zero) -> Zero 214.29/145.90 new_primMulNat2(Succ(vyv184000)) -> new_primPlusNat0(new_primMulNat3(vyv184000), Succ(Succ(vyv184000))) 214.29/145.90 new_primMulNat2(Zero) -> Zero 214.29/145.90 new_primMulNat3(Succ(vyv1840000)) -> new_primPlusNat0(new_primMulNat4(vyv1840000), Succ(Succ(Succ(vyv1840000)))) 214.29/145.90 new_primMulNat3(Zero) -> Zero 214.29/145.90 new_primMulNat4(Succ(vyv18400000)) -> new_primPlusNat0(new_primMulNat0(vyv18400000, Succ(Succ(Succ(Succ(vyv18400000))))), Succ(Succ(Succ(Succ(vyv18400000))))) 214.29/145.90 new_primMulNat4(Zero) -> Zero 214.29/145.90 new_sr12(vyv184) -> error([]) 214.29/145.90 new_sr11(vyv184) -> error([]) 214.29/145.90 new_sr0(vyv184, ty_Double) -> new_sr11(vyv184) 214.29/145.90 new_sr0(vyv184, ty_Float) -> new_sr12(vyv184) 214.29/145.90 new_sr0(vyv184, ty_Int) -> new_sr7(vyv184) 214.29/145.90 new_sr0(vyv184, app(ty_Ratio, bd)) -> new_sr5(vyv184, bd) 214.29/145.90 new_sr0(vyv184, ty_Integer) -> new_sr6(vyv184) 214.29/145.90 new_sr(vyv184, ty_Double) -> new_sr11(vyv184) 214.29/145.90 new_sr(vyv184, app(ty_Ratio, bd)) -> new_sr5(vyv184, bd) 214.29/145.90 new_sr(vyv184, ty_Float) -> new_sr12(vyv184) 214.29/145.90 new_sr(vyv184, ty_Int) -> new_sr7(vyv184) 214.29/145.90 new_sr(vyv184, ty_Integer) -> new_sr6(vyv184) 214.29/145.90 new_fromInt0 -> Pos(Succ(Succ(Zero))) 214.29/145.90 new_ms0(vyv241, Neg(Zero)) -> Neg(Succ(vyv241)) 214.29/145.90 new_ms0(vyv241, Pos(vyv2440)) -> Neg(new_primPlusNat0(Succ(vyv241), vyv2440)) 214.29/145.90 new_ms0(vyv241, Neg(Succ(vyv24400))) -> new_primMinusNat0(vyv24400, vyv241) 214.29/145.90 new_sr4(vyv240, vyv239, app(ty_Ratio, be)) -> new_sr8(vyv240, vyv239, be) 214.29/145.90 new_sr4(vyv240, vyv239, ty_Float) -> new_sr14(vyv240, vyv239) 214.29/145.90 new_sr4(vyv240, vyv239, ty_Int) -> new_sr10(vyv240, vyv239) 214.29/145.90 new_sr4(vyv240, vyv239, ty_Double) -> new_sr13(vyv240, vyv239) 214.29/145.90 new_sr4(vyv240, vyv239, ty_Integer) -> new_sr9(vyv240, vyv239) 214.29/145.90 new_sr13(vyv240, vyv239) -> error([]) 214.29/145.90 new_sr14(vyv240, vyv239) -> error([]) 214.29/145.90 new_sr8(:%(vyv2400, vyv2401), :%(vyv2390, vyv2391), be) -> new_reduce2Reduce1(vyv2400, vyv2390, vyv2401, vyv2391, new_esEs2(vyv2401, vyv2391, be), be) 214.29/145.90 new_esEs2(vyv2401, vyv2391, ty_Integer) -> new_esEs1(new_sr9(vyv2401, vyv2391)) 214.29/145.90 new_esEs2(vyv2401, vyv2391, ty_Int) -> new_esEs(new_sr10(vyv2401, vyv2391)) 214.29/145.90 new_primMinusNat0(Succ(vyv2290), Succ(vyv245000)) -> new_primMinusNat0(vyv2290, vyv245000) 214.29/145.90 new_primMinusNat0(Zero, Zero) -> Pos(Zero) 214.29/145.90 new_primMinusNat0(Zero, Succ(vyv245000)) -> Neg(Succ(vyv245000)) 214.29/145.90 new_primMinusNat0(Succ(vyv2290), Zero) -> Pos(Succ(vyv2290)) 214.29/145.90 new_ms(vyv229, Neg(vyv2450)) -> Pos(new_primPlusNat0(Succ(vyv229), vyv2450)) 214.29/145.90 new_ms(vyv229, Pos(Succ(vyv24500))) -> new_primMinusNat0(vyv229, vyv24500) 214.29/145.90 new_ms(vyv229, Pos(Zero)) -> Pos(Succ(vyv229)) 214.29/145.90 new_sr1(vyv228, ty_Double) -> new_sr11(vyv228) 214.29/145.90 new_sr1(vyv228, ty_Float) -> new_sr12(vyv228) 214.29/145.90 new_sr1(vyv228, app(ty_Ratio, bg)) -> new_sr5(vyv228, bg) 214.29/145.90 new_sr1(vyv228, ty_Integer) -> new_sr6(vyv228) 214.29/145.90 new_sr1(vyv228, ty_Int) -> new_sr7(vyv228) 214.29/145.90 new_sr2(vyv228, vyv227, ty_Integer) -> new_sr9(vyv228, vyv227) 214.29/145.90 new_sr2(vyv228, vyv227, ty_Int) -> new_sr10(vyv228, vyv227) 214.29/145.90 new_sr2(vyv228, vyv227, app(ty_Ratio, bg)) -> new_sr8(vyv228, vyv227, bg) 214.29/145.90 new_sr2(vyv228, vyv227, ty_Double) -> new_sr13(vyv228, vyv227) 214.29/145.90 new_sr2(vyv228, vyv227, ty_Float) -> new_sr14(vyv228, vyv227) 214.29/145.90 214.29/145.90 The set Q consists of the following terms: 214.29/145.90 214.29/145.90 new_sr13(x0, x1) 214.29/145.90 new_primDivNatS01(x0, x1, Zero, Zero) 214.29/145.90 new_gcd0Gcd'11(False, x0, x1) 214.29/145.90 new_primMulNat4(Zero) 214.29/145.90 new_gcd0Gcd'11(True, x0, x1) 214.29/145.90 new_sr2(x0, x1, ty_Float) 214.29/145.90 new_sr5(:%(x0, x1), x2) 214.29/145.90 new_primEqInt(Pos(Zero)) 214.29/145.90 new_ms(x0, Neg(x1)) 214.29/145.90 new_sr2(x0, x1, ty_Double) 214.29/145.90 new_esEs(Pos(Succ(x0))) 214.29/145.90 new_primQuotInt0(x0, Neg(Zero)) 214.29/145.90 new_primMulNat3(Zero) 214.29/145.90 new_primModNatS02(x0, x1) 214.29/145.90 new_sr(x0, ty_Double) 214.29/145.90 new_sr0(x0, ty_Double) 214.29/145.90 new_primDivNatS1(Succ(Zero), Zero) 214.29/145.90 new_primMinusNatS0(x0) 214.29/145.90 new_sr11(x0) 214.29/145.90 new_sr0(x0, app(ty_Ratio, x1)) 214.29/145.90 new_rem(Pos(x0), Neg(Succ(x1))) 214.29/145.90 new_rem(Neg(x0), Pos(Succ(x1))) 214.29/145.90 new_primMulNat0(Zero, Zero) 214.29/145.90 new_primPlusNat0(Succ(x0), Zero) 214.29/145.90 new_fromInt0 214.29/145.90 new_primMulNat0(Succ(x0), Zero) 214.29/145.90 new_sr3(x0, ty_Float) 214.29/145.90 new_primMulNat2(Zero) 214.29/145.90 new_primQuotInt(x0, Pos(Zero)) 214.29/145.90 new_primMulNat2(Succ(x0)) 214.29/145.90 new_primQuotInt(x0, Neg(Zero)) 214.29/145.90 new_rem(Neg(x0), Neg(Succ(x1))) 214.29/145.90 new_primMinusNatS2(Zero, Succ(x0)) 214.29/145.90 new_sr(x0, ty_Int) 214.29/145.90 new_sr4(x0, x1, ty_Double) 214.29/145.90 new_primMulNat3(Succ(x0)) 214.29/145.90 new_sr0(x0, ty_Float) 214.29/145.90 new_esEs1(Integer(x0)) 214.29/145.90 new_primQuotInt0(x0, Pos(Zero)) 214.29/145.90 new_gcd2(True, x0, x1) 214.29/145.90 new_quot1(x0, x1, x2, x3, ty_Int) 214.29/145.90 new_primDivNatS1(Zero, x0) 214.29/145.90 new_primMinusNat0(Zero, Zero) 214.29/145.90 new_gcd(x0, x1) 214.29/145.90 new_gcd1(False, x0, x1) 214.29/145.90 new_esEs2(x0, x1, ty_Int) 214.29/145.90 new_sr3(x0, ty_Integer) 214.29/145.90 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 214.29/145.90 new_sr1(x0, app(ty_Ratio, x1)) 214.29/145.90 new_sr1(x0, ty_Float) 214.29/145.90 new_primPlusNat0(Zero, Succ(x0)) 214.29/145.90 new_sr8(:%(x0, x1), :%(x2, x3), x4) 214.29/145.90 new_abs(Neg(Zero)) 214.29/145.90 new_primMinusNatS2(Succ(x0), Zero) 214.29/145.90 new_error 214.29/145.90 new_primModNatS1(Succ(Zero), Zero) 214.29/145.90 new_primMulNat4(Succ(x0)) 214.29/145.90 new_sr1(x0, ty_Integer) 214.29/145.90 new_primDivNatS02(x0, x1) 214.29/145.90 new_sr1(x0, ty_Int) 214.29/145.90 new_rem(Neg(x0), Neg(Zero)) 214.29/145.90 new_primMinusNat0(Zero, Succ(x0)) 214.29/145.90 new_primEqInt(Neg(Zero)) 214.29/145.90 new_rem(Pos(x0), Pos(Succ(x1))) 214.29/145.90 new_abs(Pos(Succ(x0))) 214.29/145.90 new_primMulNat0(Succ(x0), Succ(x1)) 214.29/145.90 new_primMulNat0(Zero, Succ(x0)) 214.29/145.90 new_reduce2Reduce1(x0, x1, x2, x3, True, x4) 214.29/145.90 new_sr(x0, ty_Float) 214.29/145.90 new_gcd0Gcd'10(False, x0, x1) 214.29/145.90 new_sr12(x0) 214.29/145.90 new_primDivNatS01(x0, x1, Zero, Succ(x2)) 214.29/145.90 new_sr10(Pos(x0), Pos(x1)) 214.29/145.90 new_primModNatS01(x0, x1, Zero, Succ(x2)) 214.29/145.90 new_primPlusNat0(Zero, Zero) 214.29/145.90 new_sr(x0, ty_Integer) 214.29/145.90 new_primQuotInt0(x0, Pos(Succ(x1))) 214.29/145.90 new_primModNatS01(x0, x1, Succ(x2), Zero) 214.29/145.90 new_ms(x0, Pos(Succ(x1))) 214.29/145.90 new_primModNatS1(Succ(Succ(x0)), Zero) 214.29/145.90 new_sr4(x0, x1, ty_Integer) 214.29/145.90 new_rem(Pos(x0), Pos(Zero)) 214.29/145.90 new_sr4(x0, x1, ty_Int) 214.29/145.90 new_ms0(x0, Neg(Succ(x1))) 214.29/145.90 new_quot(Pos(x0), x1, x2) 214.29/145.90 new_primMinusNatS2(Zero, Zero) 214.29/145.90 new_esEs0(x0, ty_Int) 214.29/145.90 new_primMinusNat0(Succ(x0), Zero) 214.29/145.90 new_ms0(x0, Pos(x1)) 214.29/145.90 new_esEs(Pos(Zero)) 214.29/145.90 new_quot(Neg(x0), x1, x2) 214.29/145.90 new_primDivNatS01(x0, x1, Succ(x2), Succ(x3)) 214.29/145.90 new_quot2(x0, x1, x2) 214.29/145.90 new_primEqInt(Neg(Succ(x0))) 214.29/145.90 new_sr10(Neg(x0), Neg(x1)) 214.29/145.90 new_sr3(x0, app(ty_Ratio, x1)) 214.29/145.90 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 214.29/145.90 new_sr9(x0, x1) 214.29/145.90 new_sr2(x0, x1, ty_Integer) 214.29/145.90 new_sr7(Neg(x0)) 214.29/145.90 new_sr1(x0, ty_Double) 214.29/145.90 new_primQuotInt0(x0, Neg(Succ(x1))) 214.29/145.90 new_sr0(x0, ty_Integer) 214.29/145.90 new_rem(Pos(x0), Neg(Zero)) 214.29/145.90 new_rem(Neg(x0), Pos(Zero)) 214.29/145.90 new_gcd0Gcd'00(x0, x1) 214.29/145.90 new_primQuotInt(x0, Neg(Succ(x1))) 214.29/145.90 new_primMinusNatS2(Succ(x0), Succ(x1)) 214.29/145.90 new_ms(x0, Pos(Zero)) 214.29/145.90 new_abs(Pos(Zero)) 214.29/145.90 new_primMinusNat0(Succ(x0), Succ(x1)) 214.29/145.90 new_quot0(x0, x1, x2, x3, ty_Integer) 214.29/145.90 new_sr0(x0, ty_Int) 214.29/145.90 new_sr6(x0) 214.29/145.90 new_gcd2(False, x0, x1) 214.29/145.90 new_gcd1(True, x0, x1) 214.29/145.90 new_esEs2(x0, x1, ty_Integer) 214.29/145.90 new_primMinusNatS1 214.29/145.90 new_sr7(Pos(x0)) 214.29/145.90 new_gcd0Gcd'10(True, x0, x1) 214.29/145.90 new_primModNatS1(Zero, x0) 214.29/145.90 new_sr4(x0, x1, ty_Float) 214.29/145.90 new_sr10(Pos(x0), Neg(x1)) 214.29/145.90 new_sr10(Neg(x0), Pos(x1)) 214.29/145.90 new_primDivNatS01(x0, x1, Succ(x2), Zero) 214.29/145.90 new_primDivNatS1(Succ(Succ(x0)), Succ(x1)) 214.29/145.90 new_primPlusNat0(Succ(x0), Succ(x1)) 214.29/145.90 new_primDivNatS1(Succ(Zero), Succ(x0)) 214.29/145.90 new_primQuotInt(x0, Pos(Succ(x1))) 214.29/145.90 new_sr2(x0, x1, app(ty_Ratio, x2)) 214.29/145.90 new_abs(Neg(Succ(x0))) 214.29/145.90 new_esEs0(x0, ty_Integer) 214.29/145.90 new_sr3(x0, ty_Int) 214.29/145.90 new_esEs(Neg(Succ(x0))) 214.29/145.90 new_sr(x0, app(ty_Ratio, x1)) 214.29/145.90 new_ms0(x0, Neg(Zero)) 214.29/145.90 new_primModNatS01(x0, x1, Zero, Zero) 214.29/145.90 new_sr4(x0, x1, app(ty_Ratio, x2)) 214.29/145.90 new_gcd0(x0, x1) 214.29/145.90 new_primEqInt(Pos(Succ(x0))) 214.29/145.90 new_sr3(x0, ty_Double) 214.29/145.90 new_quot1(x0, x1, x2, x3, ty_Integer) 214.29/145.90 new_primDivNatS1(Succ(Succ(x0)), Zero) 214.29/145.90 new_primMulNat1(Succ(x0)) 214.29/145.90 new_sr14(x0, x1) 214.29/145.90 new_quot0(x0, x1, x2, x3, ty_Int) 214.29/145.90 new_sr2(x0, x1, ty_Int) 214.29/145.90 new_primModNatS1(Succ(Zero), Succ(x0)) 214.29/145.90 new_reduce2Reduce1(x0, x1, x2, x3, False, x4) 214.29/145.90 new_esEs(Neg(Zero)) 214.29/145.90 new_primMulNat1(Zero) 214.29/145.90 214.29/145.90 We have to consider all minimal (P,Q,R)-chains. 214.29/145.90 ---------------------------------------- 214.29/145.90 214.29/145.90 (710) TransformationProof (EQUIVALENT) 214.29/145.90 By rewriting [LPAR04] the rule new_pr2F0(vyv184, Pos(Zero), vyv188, h) -> new_pr2F0G(vyv188, new_sr(vyv184, h), new_primQuotInt(Zero, new_fromInt0), h) at position [2,1] we obtained the following new rules [LPAR04]: 214.29/145.90 214.29/145.90 (new_pr2F0(vyv184, Pos(Zero), vyv188, h) -> new_pr2F0G(vyv188, new_sr(vyv184, h), new_primQuotInt(Zero, Pos(Succ(Succ(Zero)))), h),new_pr2F0(vyv184, Pos(Zero), vyv188, h) -> new_pr2F0G(vyv188, new_sr(vyv184, h), new_primQuotInt(Zero, Pos(Succ(Succ(Zero)))), h)) 214.29/145.90 214.29/145.90 214.29/145.90 ---------------------------------------- 214.29/145.90 214.29/145.90 (711) 214.29/145.90 Obligation: 214.29/145.90 Q DP problem: 214.29/145.90 The TRS P consists of the following rules: 214.29/145.90 214.29/145.90 new_pr2F0G10(vyv249, vyv250, vyv251, Succ(Succ(vyv25200)), bb) -> new_pr2F0G10(vyv249, vyv250, vyv251, vyv25200, bb) 214.29/145.90 new_pr2F0G(vyv188, vyv184, Neg(Succ(Zero)), h) -> new_pr2F0G11(vyv188, vyv184, Zero, h) 214.29/145.90 new_pr2F0G(vyv188, vyv184, Pos(Succ(Succ(vyv223000))), h) -> new_pr2F0G1(vyv188, vyv184, Succ(vyv223000), vyv223000, h) 214.29/145.90 new_pr2F0(vyv184, Neg(Succ(Succ(vyv223000))), vyv188, h) -> new_pr2F0G10(vyv188, vyv184, Succ(vyv223000), vyv223000, h) 214.29/145.90 new_pr2F0(vyv184, Neg(Succ(Zero)), vyv188, h) -> new_pr2F0G11(vyv188, vyv184, Zero, h) 214.29/145.90 new_pr2F0G10(vyv249, vyv250, vyv251, Succ(Zero), bb) -> new_pr2F0G11(vyv249, vyv250, vyv251, bb) 214.29/145.90 new_pr2F0G(vyv188, vyv184, Neg(Succ(Succ(vyv223000))), h) -> new_pr2F0G10(vyv188, vyv184, Succ(vyv223000), vyv223000, h) 214.29/145.90 new_pr2F3(False, vyv228, vyv229, vyv245, vyv227, ba) -> new_pr2F0(vyv228, new_ms(vyv229, vyv245), new_sr2(vyv228, vyv227, ba), ba) 214.29/145.90 new_pr2F0(vyv184, Pos(Succ(Succ(vyv223000))), vyv188, h) -> new_pr2F0G1(vyv188, vyv184, Succ(vyv223000), vyv223000, h) 214.29/145.90 new_pr2F1(vyv240, vyv241, vyv244, vyv239, bc) -> new_pr2F30(new_esEs(new_ms0(vyv241, vyv244)), vyv240, vyv241, vyv244, vyv239, bc) 214.29/145.90 new_pr2F(vyv228, vyv229, vyv245, vyv227, ba) -> new_pr2F3(new_esEs(new_ms(vyv229, vyv245)), vyv228, vyv229, vyv245, vyv227, ba) 214.29/145.90 new_pr2F0G1(vyv227, vyv228, vyv229, Succ(Succ(vyv23000)), ba) -> new_pr2F0G1(vyv227, vyv228, vyv229, vyv23000, ba) 214.29/145.90 new_pr2F30(False, vyv240, vyv241, vyv244, vyv239, bc) -> new_pr2F0(vyv240, new_ms0(vyv241, vyv244), new_sr4(vyv240, vyv239, bc), bc) 214.29/145.90 new_pr2F0(vyv184, Neg(Zero), vyv188, h) -> new_pr2F0G(vyv188, new_sr0(vyv184, h), new_primQuotInt0(Zero, Pos(Succ(Succ(Zero)))), h) 214.29/145.90 new_pr2F0G11(vyv239, vyv240, vyv241, bc) -> new_pr2F1(vyv240, vyv241, Pos(Succ(Zero)), vyv239, bc) 214.29/145.90 new_pr2F0G(vyv188, vyv184, Neg(Zero), h) -> new_pr2F0G(vyv188, new_sr0(vyv184, h), new_primQuotInt0(Zero, Pos(Succ(Succ(Zero)))), h) 214.29/145.90 new_pr2F0G10(vyv249, vyv250, vyv251, Zero, bb) -> new_pr2F0G(vyv249, new_sr3(vyv250, bb), new_primQuotInt0(Succ(vyv251), Pos(Succ(Succ(Zero)))), bb) 214.29/145.90 new_pr2F0(vyv184, Pos(Succ(Zero)), vyv188, h) -> new_pr2F(vyv184, Zero, Pos(Succ(Zero)), vyv188, h) 214.29/145.90 new_pr2F0G1(vyv227, vyv228, vyv229, Succ(Zero), ba) -> new_pr2F(vyv228, vyv229, Pos(Succ(Zero)), vyv227, ba) 214.29/145.90 new_pr2F0G(vyv188, vyv184, Pos(Succ(Zero)), h) -> new_pr2F(vyv184, Zero, Pos(Succ(Zero)), vyv188, h) 214.29/145.90 new_pr2F0G(vyv188, vyv184, Pos(Zero), h) -> new_pr2F0G(vyv188, new_sr(vyv184, h), new_primQuotInt(Zero, Pos(Succ(Succ(Zero)))), h) 214.29/145.90 new_pr2F0G1(vyv227, vyv228, vyv229, Zero, ba) -> new_pr2F0G(vyv227, new_sr1(vyv228, ba), new_primQuotInt(Succ(vyv229), Pos(Succ(Succ(Zero)))), ba) 214.29/145.90 new_pr2F0(vyv184, Pos(Zero), vyv188, h) -> new_pr2F0G(vyv188, new_sr(vyv184, h), new_primQuotInt(Zero, Pos(Succ(Succ(Zero)))), h) 214.29/145.90 214.29/145.90 The TRS R consists of the following rules: 214.29/145.90 214.29/145.90 new_sr3(vyv250, ty_Double) -> new_sr11(vyv250) 214.29/145.90 new_sr3(vyv250, ty_Int) -> new_sr7(vyv250) 214.29/145.90 new_sr3(vyv250, ty_Float) -> new_sr12(vyv250) 214.29/145.90 new_sr3(vyv250, ty_Integer) -> new_sr6(vyv250) 214.29/145.90 new_sr3(vyv250, app(ty_Ratio, bf)) -> new_sr5(vyv250, bf) 214.29/145.90 new_primQuotInt0(vyv2710, Pos(Succ(vyv28800))) -> Neg(new_primDivNatS1(vyv2710, vyv28800)) 214.29/145.90 new_primDivNatS1(Zero, vyv28500) -> Zero 214.29/145.90 new_primDivNatS1(Succ(Succ(vyv271000)), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS0(vyv271000), Zero)) 214.29/145.90 new_primDivNatS1(Succ(Zero), Succ(vyv285000)) -> Zero 214.29/145.90 new_primDivNatS1(Succ(Succ(vyv271000)), Succ(vyv285000)) -> new_primDivNatS01(vyv271000, vyv285000, vyv271000, vyv285000) 214.29/145.90 new_primDivNatS1(Succ(Zero), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS1, Zero)) 214.29/145.90 new_primMinusNatS1 -> Zero 214.29/145.90 new_primDivNatS01(vyv311, vyv312, Succ(vyv3130), Zero) -> new_primDivNatS02(vyv311, vyv312) 214.29/145.90 new_primDivNatS01(vyv311, vyv312, Zero, Succ(vyv3140)) -> Zero 214.29/145.90 new_primDivNatS01(vyv311, vyv312, Succ(vyv3130), Succ(vyv3140)) -> new_primDivNatS01(vyv311, vyv312, vyv3130, vyv3140) 214.29/145.90 new_primDivNatS01(vyv311, vyv312, Zero, Zero) -> new_primDivNatS02(vyv311, vyv312) 214.29/145.90 new_primDivNatS02(vyv311, vyv312) -> Succ(new_primDivNatS1(new_primMinusNatS2(vyv311, vyv312), Succ(vyv312))) 214.29/145.90 new_primMinusNatS2(Zero, Succ(vyv3120)) -> Zero 214.29/145.90 new_primMinusNatS2(Succ(vyv3110), Zero) -> Succ(vyv3110) 214.29/145.90 new_primMinusNatS2(Zero, Zero) -> Zero 214.29/145.90 new_primMinusNatS2(Succ(vyv3110), Succ(vyv3120)) -> new_primMinusNatS2(vyv3110, vyv3120) 214.29/145.90 new_primMinusNatS0(vyv271000) -> Succ(vyv271000) 214.29/145.90 new_sr5(:%(vyv1840, vyv1841), bd) -> new_reduce2Reduce1(vyv1840, vyv1840, vyv1841, vyv1841, new_esEs0(vyv1841, bd), bd) 214.29/145.90 new_esEs0(vyv1841, ty_Int) -> new_esEs(new_sr7(vyv1841)) 214.29/145.90 new_esEs0(vyv1841, ty_Integer) -> new_esEs1(new_sr6(vyv1841)) 214.29/145.90 new_reduce2Reduce1(vyv265, vyv266, vyv267, vyv268, False, bh) -> :%(new_quot0(vyv265, vyv266, vyv267, vyv268, bh), new_quot1(vyv267, vyv268, vyv265, vyv266, bh)) 214.29/145.90 new_reduce2Reduce1(vyv265, vyv266, vyv267, vyv268, True, bh) -> error([]) 214.29/145.90 new_quot0(vyv265, vyv266, vyv267, vyv268, ty_Integer) -> new_quot2(new_sr9(vyv265, vyv266), new_sr9(vyv265, vyv266), new_sr9(vyv267, vyv268)) 214.29/145.90 new_quot0(vyv265, vyv266, vyv267, vyv268, ty_Int) -> new_quot(new_sr10(vyv265, vyv266), new_sr10(vyv265, vyv266), new_sr10(vyv267, vyv268)) 214.29/145.90 new_quot1(vyv267, vyv268, vyv265, vyv266, ty_Int) -> new_quot(new_sr10(vyv267, vyv268), new_sr10(vyv265, vyv266), new_sr10(vyv267, vyv268)) 214.29/145.90 new_quot1(vyv267, vyv268, vyv265, vyv266, ty_Integer) -> new_quot2(new_sr9(vyv267, vyv268), new_sr9(vyv265, vyv266), new_sr9(vyv267, vyv268)) 214.29/145.90 new_sr9(vyv240, vyv239) -> error([]) 214.29/145.90 new_quot2(vyv274, vyv276, vyv275) -> error([]) 214.29/145.90 new_sr10(Pos(vyv2400), Pos(vyv2390)) -> Pos(new_primMulNat0(vyv2400, vyv2390)) 214.29/145.90 new_sr10(Neg(vyv2400), Neg(vyv2390)) -> Pos(new_primMulNat0(vyv2400, vyv2390)) 214.29/145.90 new_sr10(Pos(vyv2400), Neg(vyv2390)) -> Neg(new_primMulNat0(vyv2400, vyv2390)) 214.29/145.90 new_sr10(Neg(vyv2400), Pos(vyv2390)) -> Neg(new_primMulNat0(vyv2400, vyv2390)) 214.29/145.90 new_quot(Pos(vyv2710), vyv273, vyv272) -> new_primQuotInt(vyv2710, new_gcd(vyv273, vyv272)) 214.29/145.90 new_quot(Neg(vyv2710), vyv273, vyv272) -> new_primQuotInt0(vyv2710, new_gcd(vyv273, vyv272)) 214.29/145.90 new_gcd(vyv273, vyv272) -> new_gcd2(new_esEs(vyv273), vyv273, vyv272) 214.29/145.90 new_primQuotInt0(vyv2710, Neg(Zero)) -> new_error 214.29/145.90 new_primQuotInt0(vyv2710, Neg(Succ(vyv28800))) -> Pos(new_primDivNatS1(vyv2710, vyv28800)) 214.29/145.90 new_primQuotInt0(vyv2710, Pos(Zero)) -> new_error 214.29/145.90 new_error -> error([]) 214.29/145.90 new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) 214.29/145.90 new_esEs(Pos(Succ(vyv24300))) -> new_primEqInt(Pos(Succ(vyv24300))) 214.29/145.90 new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) 214.29/145.90 new_esEs(Neg(Succ(vyv24300))) -> new_primEqInt(Neg(Succ(vyv24300))) 214.29/145.90 new_gcd2(True, vyv273, vyv272) -> new_gcd1(new_esEs(vyv272), vyv273, vyv272) 214.29/145.90 new_gcd2(False, vyv273, vyv272) -> new_gcd0(vyv273, vyv272) 214.29/145.90 new_gcd0(vyv273, vyv272) -> new_gcd0Gcd'11(new_esEs(new_abs(vyv272)), vyv273, vyv272) 214.29/145.90 new_abs(Neg(Zero)) -> Neg(Zero) 214.29/145.90 new_abs(Neg(Succ(vyv27200))) -> Pos(Succ(vyv27200)) 214.29/145.90 new_abs(Pos(Succ(vyv27200))) -> Pos(Succ(vyv27200)) 214.29/145.90 new_abs(Pos(Zero)) -> Pos(Zero) 214.29/145.90 new_gcd0Gcd'11(True, vyv273, vyv272) -> new_abs(vyv273) 214.29/145.90 new_gcd0Gcd'11(False, vyv273, vyv272) -> new_gcd0Gcd'00(new_abs(vyv273), new_abs(vyv272)) 214.29/145.90 new_gcd0Gcd'10(False, vyv292, vyv293) -> new_gcd0Gcd'00(vyv292, new_rem(vyv293, vyv292)) 214.29/145.90 new_gcd0Gcd'00(vyv293, vyv292) -> new_gcd0Gcd'10(new_esEs(new_rem(vyv293, vyv292)), vyv292, vyv293) 214.29/145.90 new_rem(Pos(vyv2930), Neg(Zero)) -> new_error 214.29/145.90 new_rem(Neg(vyv2930), Pos(Zero)) -> new_error 214.29/145.90 new_rem(Pos(vyv2930), Neg(Succ(vyv29200))) -> Pos(new_primModNatS1(vyv2930, vyv29200)) 214.29/145.90 new_rem(Neg(vyv2930), Pos(Succ(vyv29200))) -> Neg(new_primModNatS1(vyv2930, vyv29200)) 214.29/145.90 new_rem(Pos(vyv2930), Pos(Succ(vyv29200))) -> Pos(new_primModNatS1(vyv2930, vyv29200)) 214.29/145.90 new_rem(Neg(vyv2930), Neg(Zero)) -> new_error 214.29/145.90 new_rem(Neg(vyv2930), Neg(Succ(vyv29200))) -> Neg(new_primModNatS1(vyv2930, vyv29200)) 214.29/145.90 new_rem(Pos(vyv2930), Pos(Zero)) -> new_error 214.29/145.90 new_gcd0Gcd'10(True, vyv292, vyv293) -> vyv292 214.29/145.90 new_primModNatS1(Succ(Zero), Succ(vyv292000)) -> Succ(Zero) 214.29/145.90 new_primModNatS1(Zero, vyv29200) -> Zero 214.29/145.90 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 214.29/145.90 new_primModNatS1(Succ(Succ(vyv293000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv293000), Zero) 214.29/145.90 new_primModNatS01(vyv331, vyv332, Zero, Zero) -> new_primModNatS02(vyv331, vyv332) 214.29/145.90 new_primModNatS02(vyv331, vyv332) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv331), Succ(vyv332)), Succ(vyv332)) 214.29/145.90 new_primModNatS1(Succ(Succ(vyv293000)), Succ(vyv292000)) -> new_primModNatS01(vyv293000, vyv292000, vyv293000, vyv292000) 214.29/145.90 new_primModNatS01(vyv331, vyv332, Succ(vyv3330), Zero) -> new_primModNatS02(vyv331, vyv332) 214.29/145.90 new_primModNatS01(vyv331, vyv332, Succ(vyv3330), Succ(vyv3340)) -> new_primModNatS01(vyv331, vyv332, vyv3330, vyv3340) 214.29/145.90 new_primModNatS01(vyv331, vyv332, Zero, Succ(vyv3340)) -> Succ(Succ(vyv331)) 214.29/145.90 new_gcd1(True, vyv273, vyv272) -> new_error 214.29/145.90 new_gcd1(False, vyv273, vyv272) -> new_gcd0(vyv273, vyv272) 214.29/145.90 new_primEqInt(Neg(Succ(vyv242000))) -> False 214.29/145.90 new_primEqInt(Pos(Zero)) -> True 214.29/145.90 new_primEqInt(Pos(Succ(vyv242000))) -> False 214.29/145.90 new_primEqInt(Neg(Zero)) -> True 214.29/145.90 new_primQuotInt(vyv2710, Neg(Zero)) -> new_error 214.29/145.90 new_primQuotInt(vyv2710, Pos(Succ(vyv28500))) -> Pos(new_primDivNatS1(vyv2710, vyv28500)) 214.29/145.90 new_primQuotInt(vyv2710, Pos(Zero)) -> new_error 214.29/145.90 new_primQuotInt(vyv2710, Neg(Succ(vyv28500))) -> Neg(new_primDivNatS1(vyv2710, vyv28500)) 214.29/145.90 new_primMulNat0(Succ(vyv24000), Zero) -> Zero 214.29/145.90 new_primMulNat0(Zero, Succ(vyv23900)) -> Zero 214.29/145.90 new_primMulNat0(Zero, Zero) -> Zero 214.29/145.90 new_primMulNat0(Succ(vyv24000), Succ(vyv23900)) -> new_primPlusNat0(new_primMulNat0(vyv24000, Succ(vyv23900)), Succ(vyv23900)) 214.29/145.90 new_primPlusNat0(Succ(vyv4000), Succ(vyv6000)) -> Succ(Succ(new_primPlusNat0(vyv4000, vyv6000))) 214.29/145.90 new_primPlusNat0(Zero, Succ(vyv6000)) -> Succ(vyv6000) 214.29/145.90 new_primPlusNat0(Zero, Zero) -> Zero 214.29/145.90 new_primPlusNat0(Succ(vyv4000), Zero) -> Succ(vyv4000) 214.29/145.90 new_sr6(vyv184) -> error([]) 214.29/145.90 new_esEs1(Integer(vyv2700)) -> new_primEqInt(vyv2700) 214.29/145.90 new_sr7(Pos(vyv1840)) -> Pos(new_primMulNat1(vyv1840)) 214.29/145.90 new_sr7(Neg(vyv1840)) -> Pos(new_primMulNat1(vyv1840)) 214.29/145.90 new_primMulNat1(Succ(vyv18400)) -> new_primPlusNat0(new_primMulNat2(vyv18400), Succ(vyv18400)) 214.29/145.90 new_primMulNat1(Zero) -> Zero 214.29/145.90 new_primMulNat2(Succ(vyv184000)) -> new_primPlusNat0(new_primMulNat3(vyv184000), Succ(Succ(vyv184000))) 214.29/145.90 new_primMulNat2(Zero) -> Zero 214.29/145.90 new_primMulNat3(Succ(vyv1840000)) -> new_primPlusNat0(new_primMulNat4(vyv1840000), Succ(Succ(Succ(vyv1840000)))) 214.29/145.90 new_primMulNat3(Zero) -> Zero 214.29/145.90 new_primMulNat4(Succ(vyv18400000)) -> new_primPlusNat0(new_primMulNat0(vyv18400000, Succ(Succ(Succ(Succ(vyv18400000))))), Succ(Succ(Succ(Succ(vyv18400000))))) 214.29/145.90 new_primMulNat4(Zero) -> Zero 214.29/145.90 new_sr12(vyv184) -> error([]) 214.29/145.90 new_sr11(vyv184) -> error([]) 214.29/145.90 new_sr0(vyv184, ty_Double) -> new_sr11(vyv184) 214.29/145.90 new_sr0(vyv184, ty_Float) -> new_sr12(vyv184) 214.29/145.90 new_sr0(vyv184, ty_Int) -> new_sr7(vyv184) 214.29/145.90 new_sr0(vyv184, app(ty_Ratio, bd)) -> new_sr5(vyv184, bd) 214.29/145.90 new_sr0(vyv184, ty_Integer) -> new_sr6(vyv184) 214.29/145.90 new_sr(vyv184, ty_Double) -> new_sr11(vyv184) 214.29/145.90 new_sr(vyv184, app(ty_Ratio, bd)) -> new_sr5(vyv184, bd) 214.29/145.90 new_sr(vyv184, ty_Float) -> new_sr12(vyv184) 214.29/145.90 new_sr(vyv184, ty_Int) -> new_sr7(vyv184) 214.29/145.90 new_sr(vyv184, ty_Integer) -> new_sr6(vyv184) 214.29/145.90 new_fromInt0 -> Pos(Succ(Succ(Zero))) 214.29/145.90 new_ms0(vyv241, Neg(Zero)) -> Neg(Succ(vyv241)) 214.29/145.90 new_ms0(vyv241, Pos(vyv2440)) -> Neg(new_primPlusNat0(Succ(vyv241), vyv2440)) 214.29/145.90 new_ms0(vyv241, Neg(Succ(vyv24400))) -> new_primMinusNat0(vyv24400, vyv241) 214.29/145.90 new_sr4(vyv240, vyv239, app(ty_Ratio, be)) -> new_sr8(vyv240, vyv239, be) 214.29/145.90 new_sr4(vyv240, vyv239, ty_Float) -> new_sr14(vyv240, vyv239) 214.29/145.90 new_sr4(vyv240, vyv239, ty_Int) -> new_sr10(vyv240, vyv239) 214.29/145.90 new_sr4(vyv240, vyv239, ty_Double) -> new_sr13(vyv240, vyv239) 214.29/145.90 new_sr4(vyv240, vyv239, ty_Integer) -> new_sr9(vyv240, vyv239) 214.29/145.90 new_sr13(vyv240, vyv239) -> error([]) 214.29/145.90 new_sr14(vyv240, vyv239) -> error([]) 214.29/145.90 new_sr8(:%(vyv2400, vyv2401), :%(vyv2390, vyv2391), be) -> new_reduce2Reduce1(vyv2400, vyv2390, vyv2401, vyv2391, new_esEs2(vyv2401, vyv2391, be), be) 214.29/145.90 new_esEs2(vyv2401, vyv2391, ty_Integer) -> new_esEs1(new_sr9(vyv2401, vyv2391)) 214.29/145.90 new_esEs2(vyv2401, vyv2391, ty_Int) -> new_esEs(new_sr10(vyv2401, vyv2391)) 214.29/145.90 new_primMinusNat0(Succ(vyv2290), Succ(vyv245000)) -> new_primMinusNat0(vyv2290, vyv245000) 214.29/145.90 new_primMinusNat0(Zero, Zero) -> Pos(Zero) 214.29/145.90 new_primMinusNat0(Zero, Succ(vyv245000)) -> Neg(Succ(vyv245000)) 214.29/145.90 new_primMinusNat0(Succ(vyv2290), Zero) -> Pos(Succ(vyv2290)) 214.29/145.90 new_ms(vyv229, Neg(vyv2450)) -> Pos(new_primPlusNat0(Succ(vyv229), vyv2450)) 214.29/145.90 new_ms(vyv229, Pos(Succ(vyv24500))) -> new_primMinusNat0(vyv229, vyv24500) 214.29/145.90 new_ms(vyv229, Pos(Zero)) -> Pos(Succ(vyv229)) 214.29/145.90 new_sr1(vyv228, ty_Double) -> new_sr11(vyv228) 214.29/145.90 new_sr1(vyv228, ty_Float) -> new_sr12(vyv228) 214.29/145.90 new_sr1(vyv228, app(ty_Ratio, bg)) -> new_sr5(vyv228, bg) 214.29/145.90 new_sr1(vyv228, ty_Integer) -> new_sr6(vyv228) 214.29/145.90 new_sr1(vyv228, ty_Int) -> new_sr7(vyv228) 214.29/145.90 new_sr2(vyv228, vyv227, ty_Integer) -> new_sr9(vyv228, vyv227) 214.29/145.90 new_sr2(vyv228, vyv227, ty_Int) -> new_sr10(vyv228, vyv227) 214.29/145.90 new_sr2(vyv228, vyv227, app(ty_Ratio, bg)) -> new_sr8(vyv228, vyv227, bg) 214.29/145.90 new_sr2(vyv228, vyv227, ty_Double) -> new_sr13(vyv228, vyv227) 214.29/145.90 new_sr2(vyv228, vyv227, ty_Float) -> new_sr14(vyv228, vyv227) 214.29/145.90 214.29/145.90 The set Q consists of the following terms: 214.29/145.90 214.29/145.90 new_sr13(x0, x1) 214.29/145.90 new_primDivNatS01(x0, x1, Zero, Zero) 214.29/145.90 new_gcd0Gcd'11(False, x0, x1) 214.29/145.90 new_primMulNat4(Zero) 214.29/145.90 new_gcd0Gcd'11(True, x0, x1) 214.29/145.90 new_sr2(x0, x1, ty_Float) 214.29/145.90 new_sr5(:%(x0, x1), x2) 214.29/145.90 new_primEqInt(Pos(Zero)) 214.29/145.90 new_ms(x0, Neg(x1)) 214.29/145.90 new_sr2(x0, x1, ty_Double) 214.29/145.90 new_esEs(Pos(Succ(x0))) 214.29/145.90 new_primQuotInt0(x0, Neg(Zero)) 214.29/145.90 new_primMulNat3(Zero) 214.29/145.90 new_primModNatS02(x0, x1) 214.29/145.90 new_sr(x0, ty_Double) 214.29/145.90 new_sr0(x0, ty_Double) 214.29/145.90 new_primDivNatS1(Succ(Zero), Zero) 214.29/145.90 new_primMinusNatS0(x0) 214.29/145.90 new_sr11(x0) 214.29/145.90 new_sr0(x0, app(ty_Ratio, x1)) 214.29/145.90 new_rem(Pos(x0), Neg(Succ(x1))) 214.29/145.90 new_rem(Neg(x0), Pos(Succ(x1))) 214.29/145.90 new_primMulNat0(Zero, Zero) 214.29/145.90 new_primPlusNat0(Succ(x0), Zero) 214.29/145.90 new_fromInt0 214.29/145.90 new_primMulNat0(Succ(x0), Zero) 214.29/145.90 new_sr3(x0, ty_Float) 214.29/145.90 new_primMulNat2(Zero) 214.29/145.90 new_primQuotInt(x0, Pos(Zero)) 214.29/145.90 new_primMulNat2(Succ(x0)) 214.29/145.90 new_primQuotInt(x0, Neg(Zero)) 214.29/145.90 new_rem(Neg(x0), Neg(Succ(x1))) 214.29/145.90 new_primMinusNatS2(Zero, Succ(x0)) 214.29/145.90 new_sr(x0, ty_Int) 214.29/145.90 new_sr4(x0, x1, ty_Double) 214.29/145.90 new_primMulNat3(Succ(x0)) 214.29/145.90 new_sr0(x0, ty_Float) 214.29/145.90 new_esEs1(Integer(x0)) 214.29/145.90 new_primQuotInt0(x0, Pos(Zero)) 214.29/145.90 new_gcd2(True, x0, x1) 214.29/145.90 new_quot1(x0, x1, x2, x3, ty_Int) 214.29/145.90 new_primDivNatS1(Zero, x0) 214.29/145.90 new_primMinusNat0(Zero, Zero) 214.29/145.90 new_gcd(x0, x1) 214.29/145.90 new_gcd1(False, x0, x1) 214.29/145.90 new_esEs2(x0, x1, ty_Int) 214.29/145.90 new_sr3(x0, ty_Integer) 214.29/145.90 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 214.29/145.90 new_sr1(x0, app(ty_Ratio, x1)) 214.29/145.90 new_sr1(x0, ty_Float) 214.29/145.90 new_primPlusNat0(Zero, Succ(x0)) 214.29/145.90 new_sr8(:%(x0, x1), :%(x2, x3), x4) 214.29/145.90 new_abs(Neg(Zero)) 214.29/145.90 new_primMinusNatS2(Succ(x0), Zero) 214.29/145.90 new_error 214.29/145.90 new_primModNatS1(Succ(Zero), Zero) 214.29/145.90 new_primMulNat4(Succ(x0)) 214.29/145.90 new_sr1(x0, ty_Integer) 214.29/145.90 new_primDivNatS02(x0, x1) 214.29/145.90 new_sr1(x0, ty_Int) 214.29/145.90 new_rem(Neg(x0), Neg(Zero)) 214.29/145.90 new_primMinusNat0(Zero, Succ(x0)) 214.29/145.90 new_primEqInt(Neg(Zero)) 214.29/145.90 new_rem(Pos(x0), Pos(Succ(x1))) 214.29/145.90 new_abs(Pos(Succ(x0))) 214.29/145.90 new_primMulNat0(Succ(x0), Succ(x1)) 214.29/145.90 new_primMulNat0(Zero, Succ(x0)) 214.29/145.90 new_reduce2Reduce1(x0, x1, x2, x3, True, x4) 214.29/145.90 new_sr(x0, ty_Float) 214.29/145.90 new_gcd0Gcd'10(False, x0, x1) 214.29/145.90 new_sr12(x0) 214.29/145.90 new_primDivNatS01(x0, x1, Zero, Succ(x2)) 214.29/145.90 new_sr10(Pos(x0), Pos(x1)) 214.29/145.90 new_primModNatS01(x0, x1, Zero, Succ(x2)) 214.29/145.90 new_primPlusNat0(Zero, Zero) 214.29/145.90 new_sr(x0, ty_Integer) 214.29/145.90 new_primQuotInt0(x0, Pos(Succ(x1))) 214.29/145.90 new_primModNatS01(x0, x1, Succ(x2), Zero) 214.29/145.90 new_ms(x0, Pos(Succ(x1))) 214.29/145.90 new_primModNatS1(Succ(Succ(x0)), Zero) 214.29/145.90 new_sr4(x0, x1, ty_Integer) 214.29/145.90 new_rem(Pos(x0), Pos(Zero)) 214.29/145.90 new_sr4(x0, x1, ty_Int) 214.29/145.90 new_ms0(x0, Neg(Succ(x1))) 214.29/145.90 new_quot(Pos(x0), x1, x2) 214.29/145.90 new_primMinusNatS2(Zero, Zero) 214.29/145.90 new_esEs0(x0, ty_Int) 214.29/145.90 new_primMinusNat0(Succ(x0), Zero) 214.29/145.90 new_ms0(x0, Pos(x1)) 214.29/145.90 new_esEs(Pos(Zero)) 214.29/145.90 new_quot(Neg(x0), x1, x2) 214.29/145.90 new_primDivNatS01(x0, x1, Succ(x2), Succ(x3)) 214.29/145.90 new_quot2(x0, x1, x2) 214.29/145.90 new_primEqInt(Neg(Succ(x0))) 214.29/145.90 new_sr10(Neg(x0), Neg(x1)) 214.29/145.90 new_sr3(x0, app(ty_Ratio, x1)) 214.29/145.90 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 214.29/145.90 new_sr9(x0, x1) 214.29/145.90 new_sr2(x0, x1, ty_Integer) 214.29/145.90 new_sr7(Neg(x0)) 214.29/145.90 new_sr1(x0, ty_Double) 214.29/145.90 new_primQuotInt0(x0, Neg(Succ(x1))) 214.29/145.90 new_sr0(x0, ty_Integer) 214.29/145.90 new_rem(Pos(x0), Neg(Zero)) 214.29/145.90 new_rem(Neg(x0), Pos(Zero)) 214.29/145.90 new_gcd0Gcd'00(x0, x1) 214.29/145.90 new_primQuotInt(x0, Neg(Succ(x1))) 214.29/145.90 new_primMinusNatS2(Succ(x0), Succ(x1)) 214.29/145.90 new_ms(x0, Pos(Zero)) 214.29/145.90 new_abs(Pos(Zero)) 214.29/145.90 new_primMinusNat0(Succ(x0), Succ(x1)) 214.29/145.90 new_quot0(x0, x1, x2, x3, ty_Integer) 214.29/145.90 new_sr0(x0, ty_Int) 214.29/145.90 new_sr6(x0) 214.29/145.90 new_gcd2(False, x0, x1) 214.29/145.90 new_gcd1(True, x0, x1) 214.29/145.90 new_esEs2(x0, x1, ty_Integer) 214.29/145.90 new_primMinusNatS1 214.29/145.90 new_sr7(Pos(x0)) 214.29/145.90 new_gcd0Gcd'10(True, x0, x1) 214.29/145.90 new_primModNatS1(Zero, x0) 214.29/145.90 new_sr4(x0, x1, ty_Float) 214.29/145.90 new_sr10(Pos(x0), Neg(x1)) 214.29/145.90 new_sr10(Neg(x0), Pos(x1)) 214.29/145.90 new_primDivNatS01(x0, x1, Succ(x2), Zero) 214.29/145.90 new_primDivNatS1(Succ(Succ(x0)), Succ(x1)) 214.29/145.90 new_primPlusNat0(Succ(x0), Succ(x1)) 214.29/145.90 new_primDivNatS1(Succ(Zero), Succ(x0)) 214.29/145.90 new_primQuotInt(x0, Pos(Succ(x1))) 214.29/145.90 new_sr2(x0, x1, app(ty_Ratio, x2)) 214.29/145.90 new_abs(Neg(Succ(x0))) 214.29/145.90 new_esEs0(x0, ty_Integer) 214.29/145.90 new_sr3(x0, ty_Int) 214.29/145.90 new_esEs(Neg(Succ(x0))) 214.29/145.90 new_sr(x0, app(ty_Ratio, x1)) 214.29/145.90 new_ms0(x0, Neg(Zero)) 214.29/145.90 new_primModNatS01(x0, x1, Zero, Zero) 214.29/145.90 new_sr4(x0, x1, app(ty_Ratio, x2)) 214.29/145.90 new_gcd0(x0, x1) 214.29/145.90 new_primEqInt(Pos(Succ(x0))) 214.29/145.90 new_sr3(x0, ty_Double) 214.29/145.90 new_quot1(x0, x1, x2, x3, ty_Integer) 214.29/145.90 new_primDivNatS1(Succ(Succ(x0)), Zero) 214.29/145.90 new_primMulNat1(Succ(x0)) 214.29/145.90 new_sr14(x0, x1) 214.29/145.90 new_quot0(x0, x1, x2, x3, ty_Int) 214.29/145.90 new_sr2(x0, x1, ty_Int) 214.29/145.90 new_primModNatS1(Succ(Zero), Succ(x0)) 214.29/145.90 new_reduce2Reduce1(x0, x1, x2, x3, False, x4) 214.29/145.90 new_esEs(Neg(Zero)) 214.29/145.90 new_primMulNat1(Zero) 214.29/145.90 214.29/145.90 We have to consider all minimal (P,Q,R)-chains. 214.29/145.90 ---------------------------------------- 214.29/145.90 214.29/145.90 (712) UsableRulesProof (EQUIVALENT) 214.29/145.90 As all Q-normal forms are R-normal forms we are in the innermost case. Hence, by the usable rules processor [LPAR04] we can delete all non-usable rules [FROCOS05] from R. 214.29/145.90 ---------------------------------------- 214.29/145.90 214.29/145.90 (713) 214.29/145.90 Obligation: 214.29/145.90 Q DP problem: 214.29/145.90 The TRS P consists of the following rules: 214.29/145.90 214.29/145.90 new_pr2F0G10(vyv249, vyv250, vyv251, Succ(Succ(vyv25200)), bb) -> new_pr2F0G10(vyv249, vyv250, vyv251, vyv25200, bb) 214.29/145.90 new_pr2F0G(vyv188, vyv184, Neg(Succ(Zero)), h) -> new_pr2F0G11(vyv188, vyv184, Zero, h) 214.29/145.90 new_pr2F0G(vyv188, vyv184, Pos(Succ(Succ(vyv223000))), h) -> new_pr2F0G1(vyv188, vyv184, Succ(vyv223000), vyv223000, h) 214.29/145.90 new_pr2F0(vyv184, Neg(Succ(Succ(vyv223000))), vyv188, h) -> new_pr2F0G10(vyv188, vyv184, Succ(vyv223000), vyv223000, h) 214.29/145.90 new_pr2F0(vyv184, Neg(Succ(Zero)), vyv188, h) -> new_pr2F0G11(vyv188, vyv184, Zero, h) 214.29/145.90 new_pr2F0G10(vyv249, vyv250, vyv251, Succ(Zero), bb) -> new_pr2F0G11(vyv249, vyv250, vyv251, bb) 214.29/145.90 new_pr2F0G(vyv188, vyv184, Neg(Succ(Succ(vyv223000))), h) -> new_pr2F0G10(vyv188, vyv184, Succ(vyv223000), vyv223000, h) 214.29/145.90 new_pr2F3(False, vyv228, vyv229, vyv245, vyv227, ba) -> new_pr2F0(vyv228, new_ms(vyv229, vyv245), new_sr2(vyv228, vyv227, ba), ba) 214.29/145.90 new_pr2F0(vyv184, Pos(Succ(Succ(vyv223000))), vyv188, h) -> new_pr2F0G1(vyv188, vyv184, Succ(vyv223000), vyv223000, h) 214.29/145.90 new_pr2F1(vyv240, vyv241, vyv244, vyv239, bc) -> new_pr2F30(new_esEs(new_ms0(vyv241, vyv244)), vyv240, vyv241, vyv244, vyv239, bc) 214.29/145.90 new_pr2F(vyv228, vyv229, vyv245, vyv227, ba) -> new_pr2F3(new_esEs(new_ms(vyv229, vyv245)), vyv228, vyv229, vyv245, vyv227, ba) 214.29/145.90 new_pr2F0G1(vyv227, vyv228, vyv229, Succ(Succ(vyv23000)), ba) -> new_pr2F0G1(vyv227, vyv228, vyv229, vyv23000, ba) 214.29/145.90 new_pr2F30(False, vyv240, vyv241, vyv244, vyv239, bc) -> new_pr2F0(vyv240, new_ms0(vyv241, vyv244), new_sr4(vyv240, vyv239, bc), bc) 214.29/145.90 new_pr2F0(vyv184, Neg(Zero), vyv188, h) -> new_pr2F0G(vyv188, new_sr0(vyv184, h), new_primQuotInt0(Zero, Pos(Succ(Succ(Zero)))), h) 214.29/145.90 new_pr2F0G11(vyv239, vyv240, vyv241, bc) -> new_pr2F1(vyv240, vyv241, Pos(Succ(Zero)), vyv239, bc) 214.29/145.90 new_pr2F0G(vyv188, vyv184, Neg(Zero), h) -> new_pr2F0G(vyv188, new_sr0(vyv184, h), new_primQuotInt0(Zero, Pos(Succ(Succ(Zero)))), h) 214.29/145.90 new_pr2F0G10(vyv249, vyv250, vyv251, Zero, bb) -> new_pr2F0G(vyv249, new_sr3(vyv250, bb), new_primQuotInt0(Succ(vyv251), Pos(Succ(Succ(Zero)))), bb) 214.29/145.90 new_pr2F0(vyv184, Pos(Succ(Zero)), vyv188, h) -> new_pr2F(vyv184, Zero, Pos(Succ(Zero)), vyv188, h) 214.29/145.90 new_pr2F0G1(vyv227, vyv228, vyv229, Succ(Zero), ba) -> new_pr2F(vyv228, vyv229, Pos(Succ(Zero)), vyv227, ba) 214.29/145.90 new_pr2F0G(vyv188, vyv184, Pos(Succ(Zero)), h) -> new_pr2F(vyv184, Zero, Pos(Succ(Zero)), vyv188, h) 214.29/145.90 new_pr2F0G(vyv188, vyv184, Pos(Zero), h) -> new_pr2F0G(vyv188, new_sr(vyv184, h), new_primQuotInt(Zero, Pos(Succ(Succ(Zero)))), h) 214.29/145.90 new_pr2F0G1(vyv227, vyv228, vyv229, Zero, ba) -> new_pr2F0G(vyv227, new_sr1(vyv228, ba), new_primQuotInt(Succ(vyv229), Pos(Succ(Succ(Zero)))), ba) 214.29/145.90 new_pr2F0(vyv184, Pos(Zero), vyv188, h) -> new_pr2F0G(vyv188, new_sr(vyv184, h), new_primQuotInt(Zero, Pos(Succ(Succ(Zero)))), h) 214.29/145.90 214.29/145.90 The TRS R consists of the following rules: 214.29/145.90 214.29/145.90 new_sr(vyv184, ty_Double) -> new_sr11(vyv184) 214.29/145.90 new_sr(vyv184, app(ty_Ratio, bd)) -> new_sr5(vyv184, bd) 214.29/145.90 new_sr(vyv184, ty_Float) -> new_sr12(vyv184) 214.29/145.90 new_sr(vyv184, ty_Int) -> new_sr7(vyv184) 214.29/145.90 new_sr(vyv184, ty_Integer) -> new_sr6(vyv184) 214.29/145.90 new_primQuotInt(vyv2710, Pos(Succ(vyv28500))) -> Pos(new_primDivNatS1(vyv2710, vyv28500)) 214.29/145.90 new_primDivNatS1(Zero, vyv28500) -> Zero 214.29/145.90 new_primDivNatS1(Succ(Succ(vyv271000)), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS0(vyv271000), Zero)) 214.29/145.90 new_primDivNatS1(Succ(Zero), Succ(vyv285000)) -> Zero 214.29/145.90 new_primDivNatS1(Succ(Succ(vyv271000)), Succ(vyv285000)) -> new_primDivNatS01(vyv271000, vyv285000, vyv271000, vyv285000) 214.29/145.90 new_primDivNatS1(Succ(Zero), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS1, Zero)) 214.29/145.90 new_primMinusNatS1 -> Zero 214.29/145.90 new_primDivNatS01(vyv311, vyv312, Succ(vyv3130), Zero) -> new_primDivNatS02(vyv311, vyv312) 214.29/145.90 new_primDivNatS01(vyv311, vyv312, Zero, Succ(vyv3140)) -> Zero 214.29/145.90 new_primDivNatS01(vyv311, vyv312, Succ(vyv3130), Succ(vyv3140)) -> new_primDivNatS01(vyv311, vyv312, vyv3130, vyv3140) 214.29/145.90 new_primDivNatS01(vyv311, vyv312, Zero, Zero) -> new_primDivNatS02(vyv311, vyv312) 214.29/145.90 new_primDivNatS02(vyv311, vyv312) -> Succ(new_primDivNatS1(new_primMinusNatS2(vyv311, vyv312), Succ(vyv312))) 214.29/145.90 new_primMinusNatS2(Zero, Succ(vyv3120)) -> Zero 214.29/145.90 new_primMinusNatS2(Succ(vyv3110), Zero) -> Succ(vyv3110) 214.29/145.90 new_primMinusNatS2(Zero, Zero) -> Zero 214.29/145.90 new_primMinusNatS2(Succ(vyv3110), Succ(vyv3120)) -> new_primMinusNatS2(vyv3110, vyv3120) 214.29/145.90 new_primMinusNatS0(vyv271000) -> Succ(vyv271000) 214.29/145.90 new_sr6(vyv184) -> error([]) 214.29/145.90 new_sr7(Pos(vyv1840)) -> Pos(new_primMulNat1(vyv1840)) 214.29/145.90 new_sr7(Neg(vyv1840)) -> Pos(new_primMulNat1(vyv1840)) 214.29/145.90 new_primMulNat1(Succ(vyv18400)) -> new_primPlusNat0(new_primMulNat2(vyv18400), Succ(vyv18400)) 214.29/145.90 new_primMulNat1(Zero) -> Zero 214.29/145.90 new_primMulNat2(Succ(vyv184000)) -> new_primPlusNat0(new_primMulNat3(vyv184000), Succ(Succ(vyv184000))) 214.29/145.90 new_primMulNat2(Zero) -> Zero 214.29/145.90 new_primPlusNat0(Succ(vyv4000), Succ(vyv6000)) -> Succ(Succ(new_primPlusNat0(vyv4000, vyv6000))) 214.29/145.90 new_primPlusNat0(Zero, Succ(vyv6000)) -> Succ(vyv6000) 214.29/145.90 new_primPlusNat0(Zero, Zero) -> Zero 214.29/145.90 new_primPlusNat0(Succ(vyv4000), Zero) -> Succ(vyv4000) 214.29/145.90 new_primMulNat3(Succ(vyv1840000)) -> new_primPlusNat0(new_primMulNat4(vyv1840000), Succ(Succ(Succ(vyv1840000)))) 214.29/145.90 new_primMulNat3(Zero) -> Zero 214.29/145.90 new_primMulNat4(Succ(vyv18400000)) -> new_primPlusNat0(new_primMulNat0(vyv18400000, Succ(Succ(Succ(Succ(vyv18400000))))), Succ(Succ(Succ(Succ(vyv18400000))))) 214.29/145.90 new_primMulNat4(Zero) -> Zero 214.29/145.90 new_primMulNat0(Zero, Succ(vyv23900)) -> Zero 214.29/145.90 new_primMulNat0(Succ(vyv24000), Succ(vyv23900)) -> new_primPlusNat0(new_primMulNat0(vyv24000, Succ(vyv23900)), Succ(vyv23900)) 214.29/145.90 new_sr12(vyv184) -> error([]) 214.29/145.90 new_sr5(:%(vyv1840, vyv1841), bd) -> new_reduce2Reduce1(vyv1840, vyv1840, vyv1841, vyv1841, new_esEs0(vyv1841, bd), bd) 214.29/145.90 new_esEs0(vyv1841, ty_Int) -> new_esEs(new_sr7(vyv1841)) 214.29/145.90 new_esEs0(vyv1841, ty_Integer) -> new_esEs1(new_sr6(vyv1841)) 214.29/145.90 new_reduce2Reduce1(vyv265, vyv266, vyv267, vyv268, False, bh) -> :%(new_quot0(vyv265, vyv266, vyv267, vyv268, bh), new_quot1(vyv267, vyv268, vyv265, vyv266, bh)) 214.29/145.90 new_reduce2Reduce1(vyv265, vyv266, vyv267, vyv268, True, bh) -> error([]) 214.29/145.90 new_quot0(vyv265, vyv266, vyv267, vyv268, ty_Integer) -> new_quot2(new_sr9(vyv265, vyv266), new_sr9(vyv265, vyv266), new_sr9(vyv267, vyv268)) 214.29/145.90 new_quot0(vyv265, vyv266, vyv267, vyv268, ty_Int) -> new_quot(new_sr10(vyv265, vyv266), new_sr10(vyv265, vyv266), new_sr10(vyv267, vyv268)) 214.29/145.90 new_quot1(vyv267, vyv268, vyv265, vyv266, ty_Int) -> new_quot(new_sr10(vyv267, vyv268), new_sr10(vyv265, vyv266), new_sr10(vyv267, vyv268)) 214.29/145.90 new_quot1(vyv267, vyv268, vyv265, vyv266, ty_Integer) -> new_quot2(new_sr9(vyv267, vyv268), new_sr9(vyv265, vyv266), new_sr9(vyv267, vyv268)) 214.29/145.90 new_sr9(vyv240, vyv239) -> error([]) 214.29/145.90 new_quot2(vyv274, vyv276, vyv275) -> error([]) 214.29/145.90 new_sr10(Pos(vyv2400), Pos(vyv2390)) -> Pos(new_primMulNat0(vyv2400, vyv2390)) 214.29/145.90 new_sr10(Neg(vyv2400), Neg(vyv2390)) -> Pos(new_primMulNat0(vyv2400, vyv2390)) 214.29/145.90 new_sr10(Pos(vyv2400), Neg(vyv2390)) -> Neg(new_primMulNat0(vyv2400, vyv2390)) 214.29/145.90 new_sr10(Neg(vyv2400), Pos(vyv2390)) -> Neg(new_primMulNat0(vyv2400, vyv2390)) 214.29/145.90 new_quot(Pos(vyv2710), vyv273, vyv272) -> new_primQuotInt(vyv2710, new_gcd(vyv273, vyv272)) 214.29/145.90 new_quot(Neg(vyv2710), vyv273, vyv272) -> new_primQuotInt0(vyv2710, new_gcd(vyv273, vyv272)) 214.29/145.90 new_gcd(vyv273, vyv272) -> new_gcd2(new_esEs(vyv273), vyv273, vyv272) 214.29/145.90 new_primQuotInt0(vyv2710, Pos(Succ(vyv28800))) -> Neg(new_primDivNatS1(vyv2710, vyv28800)) 214.29/145.90 new_primQuotInt0(vyv2710, Neg(Zero)) -> new_error 214.29/145.90 new_primQuotInt0(vyv2710, Neg(Succ(vyv28800))) -> Pos(new_primDivNatS1(vyv2710, vyv28800)) 214.29/145.90 new_primQuotInt0(vyv2710, Pos(Zero)) -> new_error 214.29/145.90 new_error -> error([]) 214.29/145.90 new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) 214.29/145.90 new_esEs(Pos(Succ(vyv24300))) -> new_primEqInt(Pos(Succ(vyv24300))) 214.29/145.90 new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) 214.29/145.90 new_esEs(Neg(Succ(vyv24300))) -> new_primEqInt(Neg(Succ(vyv24300))) 214.29/145.90 new_gcd2(True, vyv273, vyv272) -> new_gcd1(new_esEs(vyv272), vyv273, vyv272) 214.29/145.90 new_gcd2(False, vyv273, vyv272) -> new_gcd0(vyv273, vyv272) 214.29/145.90 new_gcd0(vyv273, vyv272) -> new_gcd0Gcd'11(new_esEs(new_abs(vyv272)), vyv273, vyv272) 214.29/145.91 new_abs(Neg(Zero)) -> Neg(Zero) 214.29/145.91 new_abs(Neg(Succ(vyv27200))) -> Pos(Succ(vyv27200)) 214.29/145.91 new_abs(Pos(Succ(vyv27200))) -> Pos(Succ(vyv27200)) 214.29/145.91 new_abs(Pos(Zero)) -> Pos(Zero) 214.29/145.91 new_gcd0Gcd'11(True, vyv273, vyv272) -> new_abs(vyv273) 214.29/145.91 new_gcd0Gcd'11(False, vyv273, vyv272) -> new_gcd0Gcd'00(new_abs(vyv273), new_abs(vyv272)) 214.29/145.91 new_gcd0Gcd'00(vyv293, vyv292) -> new_gcd0Gcd'10(new_esEs(new_rem(vyv293, vyv292)), vyv292, vyv293) 214.29/145.91 new_gcd0Gcd'10(False, vyv292, vyv293) -> new_gcd0Gcd'00(vyv292, new_rem(vyv293, vyv292)) 214.29/145.91 new_rem(Pos(vyv2930), Neg(Zero)) -> new_error 214.29/145.91 new_rem(Neg(vyv2930), Pos(Zero)) -> new_error 214.29/145.91 new_rem(Pos(vyv2930), Neg(Succ(vyv29200))) -> Pos(new_primModNatS1(vyv2930, vyv29200)) 214.29/145.91 new_rem(Neg(vyv2930), Pos(Succ(vyv29200))) -> Neg(new_primModNatS1(vyv2930, vyv29200)) 214.29/145.91 new_rem(Pos(vyv2930), Pos(Succ(vyv29200))) -> Pos(new_primModNatS1(vyv2930, vyv29200)) 214.29/145.91 new_rem(Neg(vyv2930), Neg(Zero)) -> new_error 214.29/145.91 new_rem(Neg(vyv2930), Neg(Succ(vyv29200))) -> Neg(new_primModNatS1(vyv2930, vyv29200)) 214.29/145.91 new_rem(Pos(vyv2930), Pos(Zero)) -> new_error 214.29/145.91 new_gcd0Gcd'10(True, vyv292, vyv293) -> vyv292 214.29/145.91 new_primModNatS1(Succ(Zero), Succ(vyv292000)) -> Succ(Zero) 214.29/145.91 new_primModNatS1(Zero, vyv29200) -> Zero 214.29/145.91 new_primModNatS1(Succ(Succ(vyv293000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv293000), Zero) 214.29/145.91 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 214.29/145.91 new_primModNatS1(Succ(Succ(vyv293000)), Succ(vyv292000)) -> new_primModNatS01(vyv293000, vyv292000, vyv293000, vyv292000) 214.29/145.91 new_primModNatS01(vyv331, vyv332, Zero, Zero) -> new_primModNatS02(vyv331, vyv332) 214.29/145.91 new_primModNatS02(vyv331, vyv332) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv331), Succ(vyv332)), Succ(vyv332)) 214.29/145.91 new_primModNatS01(vyv331, vyv332, Succ(vyv3330), Zero) -> new_primModNatS02(vyv331, vyv332) 214.29/145.91 new_primModNatS01(vyv331, vyv332, Succ(vyv3330), Succ(vyv3340)) -> new_primModNatS01(vyv331, vyv332, vyv3330, vyv3340) 214.29/145.91 new_primModNatS01(vyv331, vyv332, Zero, Succ(vyv3340)) -> Succ(Succ(vyv331)) 214.29/145.91 new_gcd1(True, vyv273, vyv272) -> new_error 214.29/145.91 new_gcd1(False, vyv273, vyv272) -> new_gcd0(vyv273, vyv272) 214.29/145.91 new_primEqInt(Neg(Succ(vyv242000))) -> False 214.29/145.91 new_primEqInt(Pos(Zero)) -> True 214.29/145.91 new_primEqInt(Pos(Succ(vyv242000))) -> False 214.29/145.91 new_primEqInt(Neg(Zero)) -> True 214.29/145.91 new_primQuotInt(vyv2710, Neg(Zero)) -> new_error 214.29/145.91 new_primQuotInt(vyv2710, Pos(Zero)) -> new_error 214.29/145.91 new_primQuotInt(vyv2710, Neg(Succ(vyv28500))) -> Neg(new_primDivNatS1(vyv2710, vyv28500)) 214.29/145.91 new_primMulNat0(Succ(vyv24000), Zero) -> Zero 214.29/145.91 new_primMulNat0(Zero, Zero) -> Zero 214.29/145.91 new_esEs1(Integer(vyv2700)) -> new_primEqInt(vyv2700) 214.29/145.91 new_sr11(vyv184) -> error([]) 214.29/145.91 new_sr1(vyv228, ty_Double) -> new_sr11(vyv228) 214.29/145.91 new_sr1(vyv228, ty_Float) -> new_sr12(vyv228) 214.29/145.91 new_sr1(vyv228, app(ty_Ratio, bg)) -> new_sr5(vyv228, bg) 214.29/145.91 new_sr1(vyv228, ty_Integer) -> new_sr6(vyv228) 214.29/145.91 new_sr1(vyv228, ty_Int) -> new_sr7(vyv228) 214.29/145.91 new_sr3(vyv250, ty_Double) -> new_sr11(vyv250) 214.29/145.91 new_sr3(vyv250, ty_Int) -> new_sr7(vyv250) 214.29/145.91 new_sr3(vyv250, ty_Float) -> new_sr12(vyv250) 214.29/145.91 new_sr3(vyv250, ty_Integer) -> new_sr6(vyv250) 214.29/145.91 new_sr3(vyv250, app(ty_Ratio, bf)) -> new_sr5(vyv250, bf) 214.29/145.91 new_sr0(vyv184, ty_Double) -> new_sr11(vyv184) 214.29/145.91 new_sr0(vyv184, ty_Float) -> new_sr12(vyv184) 214.29/145.91 new_sr0(vyv184, ty_Int) -> new_sr7(vyv184) 214.29/145.91 new_sr0(vyv184, app(ty_Ratio, bd)) -> new_sr5(vyv184, bd) 214.29/145.91 new_sr0(vyv184, ty_Integer) -> new_sr6(vyv184) 214.29/145.91 new_ms0(vyv241, Neg(Zero)) -> Neg(Succ(vyv241)) 214.29/145.91 new_ms0(vyv241, Pos(vyv2440)) -> Neg(new_primPlusNat0(Succ(vyv241), vyv2440)) 214.29/145.91 new_ms0(vyv241, Neg(Succ(vyv24400))) -> new_primMinusNat0(vyv24400, vyv241) 214.29/145.91 new_sr4(vyv240, vyv239, app(ty_Ratio, be)) -> new_sr8(vyv240, vyv239, be) 214.29/145.91 new_sr4(vyv240, vyv239, ty_Float) -> new_sr14(vyv240, vyv239) 214.29/145.91 new_sr4(vyv240, vyv239, ty_Int) -> new_sr10(vyv240, vyv239) 214.29/145.91 new_sr4(vyv240, vyv239, ty_Double) -> new_sr13(vyv240, vyv239) 214.29/145.91 new_sr4(vyv240, vyv239, ty_Integer) -> new_sr9(vyv240, vyv239) 214.29/145.91 new_sr13(vyv240, vyv239) -> error([]) 214.29/145.91 new_sr14(vyv240, vyv239) -> error([]) 214.29/145.91 new_sr8(:%(vyv2400, vyv2401), :%(vyv2390, vyv2391), be) -> new_reduce2Reduce1(vyv2400, vyv2390, vyv2401, vyv2391, new_esEs2(vyv2401, vyv2391, be), be) 214.29/145.91 new_esEs2(vyv2401, vyv2391, ty_Integer) -> new_esEs1(new_sr9(vyv2401, vyv2391)) 214.29/145.91 new_esEs2(vyv2401, vyv2391, ty_Int) -> new_esEs(new_sr10(vyv2401, vyv2391)) 214.29/145.91 new_primMinusNat0(Succ(vyv2290), Succ(vyv245000)) -> new_primMinusNat0(vyv2290, vyv245000) 214.29/145.91 new_primMinusNat0(Zero, Zero) -> Pos(Zero) 214.29/145.91 new_primMinusNat0(Zero, Succ(vyv245000)) -> Neg(Succ(vyv245000)) 214.29/145.91 new_primMinusNat0(Succ(vyv2290), Zero) -> Pos(Succ(vyv2290)) 214.29/145.91 new_ms(vyv229, Neg(vyv2450)) -> Pos(new_primPlusNat0(Succ(vyv229), vyv2450)) 214.29/145.91 new_ms(vyv229, Pos(Succ(vyv24500))) -> new_primMinusNat0(vyv229, vyv24500) 214.29/145.91 new_ms(vyv229, Pos(Zero)) -> Pos(Succ(vyv229)) 214.29/145.91 new_sr2(vyv228, vyv227, ty_Integer) -> new_sr9(vyv228, vyv227) 214.29/145.91 new_sr2(vyv228, vyv227, ty_Int) -> new_sr10(vyv228, vyv227) 214.29/145.91 new_sr2(vyv228, vyv227, app(ty_Ratio, bg)) -> new_sr8(vyv228, vyv227, bg) 214.29/145.91 new_sr2(vyv228, vyv227, ty_Double) -> new_sr13(vyv228, vyv227) 214.29/145.91 new_sr2(vyv228, vyv227, ty_Float) -> new_sr14(vyv228, vyv227) 214.29/145.91 214.29/145.91 The set Q consists of the following terms: 214.29/145.91 214.29/145.91 new_sr13(x0, x1) 214.29/145.91 new_primDivNatS01(x0, x1, Zero, Zero) 214.29/145.91 new_gcd0Gcd'11(False, x0, x1) 214.29/145.91 new_primMulNat4(Zero) 214.29/145.91 new_gcd0Gcd'11(True, x0, x1) 214.29/145.91 new_sr2(x0, x1, ty_Float) 214.29/145.91 new_sr5(:%(x0, x1), x2) 214.29/145.91 new_primEqInt(Pos(Zero)) 214.29/145.91 new_ms(x0, Neg(x1)) 214.29/145.91 new_sr2(x0, x1, ty_Double) 214.29/145.91 new_esEs(Pos(Succ(x0))) 214.29/145.91 new_primQuotInt0(x0, Neg(Zero)) 214.29/145.91 new_primMulNat3(Zero) 214.29/145.91 new_primModNatS02(x0, x1) 214.29/145.91 new_sr(x0, ty_Double) 214.29/145.91 new_sr0(x0, ty_Double) 214.29/145.91 new_primDivNatS1(Succ(Zero), Zero) 214.29/145.91 new_primMinusNatS0(x0) 214.29/145.91 new_sr11(x0) 214.29/145.91 new_sr0(x0, app(ty_Ratio, x1)) 214.29/145.91 new_rem(Pos(x0), Neg(Succ(x1))) 214.29/145.91 new_rem(Neg(x0), Pos(Succ(x1))) 214.29/145.91 new_primMulNat0(Zero, Zero) 214.29/145.91 new_primPlusNat0(Succ(x0), Zero) 214.29/145.91 new_fromInt0 214.29/145.91 new_primMulNat0(Succ(x0), Zero) 214.29/145.91 new_sr3(x0, ty_Float) 214.29/145.91 new_primMulNat2(Zero) 214.29/145.91 new_primQuotInt(x0, Pos(Zero)) 214.29/145.91 new_primMulNat2(Succ(x0)) 214.29/145.91 new_primQuotInt(x0, Neg(Zero)) 214.29/145.91 new_rem(Neg(x0), Neg(Succ(x1))) 214.29/145.91 new_primMinusNatS2(Zero, Succ(x0)) 214.29/145.91 new_sr(x0, ty_Int) 214.29/145.91 new_sr4(x0, x1, ty_Double) 214.29/145.91 new_primMulNat3(Succ(x0)) 214.29/145.91 new_sr0(x0, ty_Float) 214.29/145.91 new_esEs1(Integer(x0)) 214.29/145.91 new_primQuotInt0(x0, Pos(Zero)) 214.29/145.91 new_gcd2(True, x0, x1) 214.29/145.91 new_quot1(x0, x1, x2, x3, ty_Int) 214.29/145.91 new_primDivNatS1(Zero, x0) 214.29/145.91 new_primMinusNat0(Zero, Zero) 214.29/145.91 new_gcd(x0, x1) 214.29/145.91 new_gcd1(False, x0, x1) 214.29/145.91 new_esEs2(x0, x1, ty_Int) 214.29/145.91 new_sr3(x0, ty_Integer) 214.29/145.91 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 214.29/145.91 new_sr1(x0, app(ty_Ratio, x1)) 214.29/145.91 new_sr1(x0, ty_Float) 214.29/145.91 new_primPlusNat0(Zero, Succ(x0)) 214.29/145.91 new_sr8(:%(x0, x1), :%(x2, x3), x4) 214.29/145.91 new_abs(Neg(Zero)) 214.29/145.91 new_primMinusNatS2(Succ(x0), Zero) 214.29/145.91 new_error 214.29/145.91 new_primModNatS1(Succ(Zero), Zero) 214.29/145.91 new_primMulNat4(Succ(x0)) 214.29/145.91 new_sr1(x0, ty_Integer) 214.29/145.91 new_primDivNatS02(x0, x1) 214.29/145.91 new_sr1(x0, ty_Int) 214.29/145.91 new_rem(Neg(x0), Neg(Zero)) 214.29/145.91 new_primMinusNat0(Zero, Succ(x0)) 214.29/145.91 new_primEqInt(Neg(Zero)) 214.29/145.91 new_rem(Pos(x0), Pos(Succ(x1))) 214.29/145.91 new_abs(Pos(Succ(x0))) 214.29/145.91 new_primMulNat0(Succ(x0), Succ(x1)) 214.29/145.91 new_primMulNat0(Zero, Succ(x0)) 214.29/145.91 new_reduce2Reduce1(x0, x1, x2, x3, True, x4) 214.29/145.91 new_sr(x0, ty_Float) 214.29/145.91 new_gcd0Gcd'10(False, x0, x1) 214.29/145.91 new_sr12(x0) 214.29/145.91 new_primDivNatS01(x0, x1, Zero, Succ(x2)) 214.29/145.91 new_sr10(Pos(x0), Pos(x1)) 214.29/145.91 new_primModNatS01(x0, x1, Zero, Succ(x2)) 214.29/145.91 new_primPlusNat0(Zero, Zero) 214.29/145.91 new_sr(x0, ty_Integer) 214.29/145.91 new_primQuotInt0(x0, Pos(Succ(x1))) 214.29/145.91 new_primModNatS01(x0, x1, Succ(x2), Zero) 214.29/145.91 new_ms(x0, Pos(Succ(x1))) 214.29/145.91 new_primModNatS1(Succ(Succ(x0)), Zero) 214.29/145.91 new_sr4(x0, x1, ty_Integer) 214.29/145.91 new_rem(Pos(x0), Pos(Zero)) 214.29/145.91 new_sr4(x0, x1, ty_Int) 214.29/145.91 new_ms0(x0, Neg(Succ(x1))) 214.29/145.91 new_quot(Pos(x0), x1, x2) 214.29/145.91 new_primMinusNatS2(Zero, Zero) 214.29/145.91 new_esEs0(x0, ty_Int) 214.29/145.91 new_primMinusNat0(Succ(x0), Zero) 214.29/145.91 new_ms0(x0, Pos(x1)) 214.29/145.91 new_esEs(Pos(Zero)) 214.29/145.91 new_quot(Neg(x0), x1, x2) 214.29/145.91 new_primDivNatS01(x0, x1, Succ(x2), Succ(x3)) 214.29/145.91 new_quot2(x0, x1, x2) 214.29/145.91 new_primEqInt(Neg(Succ(x0))) 214.29/145.91 new_sr10(Neg(x0), Neg(x1)) 214.29/145.91 new_sr3(x0, app(ty_Ratio, x1)) 214.29/145.91 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 214.29/145.91 new_sr9(x0, x1) 214.29/145.91 new_sr2(x0, x1, ty_Integer) 214.29/145.91 new_sr7(Neg(x0)) 214.29/145.91 new_sr1(x0, ty_Double) 214.29/145.91 new_primQuotInt0(x0, Neg(Succ(x1))) 214.29/145.91 new_sr0(x0, ty_Integer) 214.29/145.91 new_rem(Pos(x0), Neg(Zero)) 214.29/145.91 new_rem(Neg(x0), Pos(Zero)) 214.29/145.91 new_gcd0Gcd'00(x0, x1) 214.29/145.91 new_primQuotInt(x0, Neg(Succ(x1))) 214.29/145.91 new_primMinusNatS2(Succ(x0), Succ(x1)) 214.29/145.91 new_ms(x0, Pos(Zero)) 214.29/145.91 new_abs(Pos(Zero)) 214.29/145.91 new_primMinusNat0(Succ(x0), Succ(x1)) 214.29/145.91 new_quot0(x0, x1, x2, x3, ty_Integer) 214.29/145.91 new_sr0(x0, ty_Int) 214.29/145.91 new_sr6(x0) 214.29/145.91 new_gcd2(False, x0, x1) 214.29/145.91 new_gcd1(True, x0, x1) 214.29/145.91 new_esEs2(x0, x1, ty_Integer) 214.29/145.91 new_primMinusNatS1 214.29/145.91 new_sr7(Pos(x0)) 214.29/145.91 new_gcd0Gcd'10(True, x0, x1) 214.29/145.91 new_primModNatS1(Zero, x0) 214.29/145.91 new_sr4(x0, x1, ty_Float) 214.29/145.91 new_sr10(Pos(x0), Neg(x1)) 214.29/145.91 new_sr10(Neg(x0), Pos(x1)) 214.29/145.91 new_primDivNatS01(x0, x1, Succ(x2), Zero) 214.29/145.91 new_primDivNatS1(Succ(Succ(x0)), Succ(x1)) 214.29/145.91 new_primPlusNat0(Succ(x0), Succ(x1)) 214.29/145.91 new_primDivNatS1(Succ(Zero), Succ(x0)) 214.29/145.91 new_primQuotInt(x0, Pos(Succ(x1))) 214.29/145.91 new_sr2(x0, x1, app(ty_Ratio, x2)) 214.29/145.91 new_abs(Neg(Succ(x0))) 214.29/145.91 new_esEs0(x0, ty_Integer) 214.29/145.91 new_sr3(x0, ty_Int) 214.29/145.91 new_esEs(Neg(Succ(x0))) 214.29/145.91 new_sr(x0, app(ty_Ratio, x1)) 214.29/145.91 new_ms0(x0, Neg(Zero)) 214.29/145.91 new_primModNatS01(x0, x1, Zero, Zero) 214.29/145.91 new_sr4(x0, x1, app(ty_Ratio, x2)) 214.29/145.91 new_gcd0(x0, x1) 214.29/145.91 new_primEqInt(Pos(Succ(x0))) 214.29/145.91 new_sr3(x0, ty_Double) 214.29/145.91 new_quot1(x0, x1, x2, x3, ty_Integer) 214.29/145.91 new_primDivNatS1(Succ(Succ(x0)), Zero) 214.29/145.91 new_primMulNat1(Succ(x0)) 214.29/145.91 new_sr14(x0, x1) 214.29/145.91 new_quot0(x0, x1, x2, x3, ty_Int) 214.29/145.91 new_sr2(x0, x1, ty_Int) 214.29/145.91 new_primModNatS1(Succ(Zero), Succ(x0)) 214.29/145.91 new_reduce2Reduce1(x0, x1, x2, x3, False, x4) 214.29/145.91 new_esEs(Neg(Zero)) 214.29/145.91 new_primMulNat1(Zero) 214.29/145.91 214.29/145.91 We have to consider all minimal (P,Q,R)-chains. 214.29/145.91 ---------------------------------------- 214.29/145.91 214.29/145.91 (714) QReductionProof (EQUIVALENT) 214.29/145.91 We deleted the following terms from Q as each root-symbol of these terms does neither occur in P nor in R.[THIEMANN]. 214.29/145.91 214.29/145.91 new_fromInt0 214.29/145.91 214.29/145.91 214.29/145.91 ---------------------------------------- 214.29/145.91 214.29/145.91 (715) 214.29/145.91 Obligation: 214.29/145.91 Q DP problem: 214.29/145.91 The TRS P consists of the following rules: 214.29/145.91 214.29/145.91 new_pr2F0G10(vyv249, vyv250, vyv251, Succ(Succ(vyv25200)), bb) -> new_pr2F0G10(vyv249, vyv250, vyv251, vyv25200, bb) 214.29/145.91 new_pr2F0G(vyv188, vyv184, Neg(Succ(Zero)), h) -> new_pr2F0G11(vyv188, vyv184, Zero, h) 214.29/145.91 new_pr2F0G(vyv188, vyv184, Pos(Succ(Succ(vyv223000))), h) -> new_pr2F0G1(vyv188, vyv184, Succ(vyv223000), vyv223000, h) 214.29/145.91 new_pr2F0(vyv184, Neg(Succ(Succ(vyv223000))), vyv188, h) -> new_pr2F0G10(vyv188, vyv184, Succ(vyv223000), vyv223000, h) 214.29/145.91 new_pr2F0(vyv184, Neg(Succ(Zero)), vyv188, h) -> new_pr2F0G11(vyv188, vyv184, Zero, h) 214.29/145.91 new_pr2F0G10(vyv249, vyv250, vyv251, Succ(Zero), bb) -> new_pr2F0G11(vyv249, vyv250, vyv251, bb) 214.29/145.91 new_pr2F0G(vyv188, vyv184, Neg(Succ(Succ(vyv223000))), h) -> new_pr2F0G10(vyv188, vyv184, Succ(vyv223000), vyv223000, h) 214.29/145.91 new_pr2F3(False, vyv228, vyv229, vyv245, vyv227, ba) -> new_pr2F0(vyv228, new_ms(vyv229, vyv245), new_sr2(vyv228, vyv227, ba), ba) 214.29/145.91 new_pr2F0(vyv184, Pos(Succ(Succ(vyv223000))), vyv188, h) -> new_pr2F0G1(vyv188, vyv184, Succ(vyv223000), vyv223000, h) 214.29/145.91 new_pr2F1(vyv240, vyv241, vyv244, vyv239, bc) -> new_pr2F30(new_esEs(new_ms0(vyv241, vyv244)), vyv240, vyv241, vyv244, vyv239, bc) 214.29/145.91 new_pr2F(vyv228, vyv229, vyv245, vyv227, ba) -> new_pr2F3(new_esEs(new_ms(vyv229, vyv245)), vyv228, vyv229, vyv245, vyv227, ba) 214.29/145.91 new_pr2F0G1(vyv227, vyv228, vyv229, Succ(Succ(vyv23000)), ba) -> new_pr2F0G1(vyv227, vyv228, vyv229, vyv23000, ba) 214.29/145.91 new_pr2F30(False, vyv240, vyv241, vyv244, vyv239, bc) -> new_pr2F0(vyv240, new_ms0(vyv241, vyv244), new_sr4(vyv240, vyv239, bc), bc) 214.29/145.91 new_pr2F0(vyv184, Neg(Zero), vyv188, h) -> new_pr2F0G(vyv188, new_sr0(vyv184, h), new_primQuotInt0(Zero, Pos(Succ(Succ(Zero)))), h) 214.29/145.91 new_pr2F0G11(vyv239, vyv240, vyv241, bc) -> new_pr2F1(vyv240, vyv241, Pos(Succ(Zero)), vyv239, bc) 214.29/145.91 new_pr2F0G(vyv188, vyv184, Neg(Zero), h) -> new_pr2F0G(vyv188, new_sr0(vyv184, h), new_primQuotInt0(Zero, Pos(Succ(Succ(Zero)))), h) 214.29/145.91 new_pr2F0G10(vyv249, vyv250, vyv251, Zero, bb) -> new_pr2F0G(vyv249, new_sr3(vyv250, bb), new_primQuotInt0(Succ(vyv251), Pos(Succ(Succ(Zero)))), bb) 214.29/145.91 new_pr2F0(vyv184, Pos(Succ(Zero)), vyv188, h) -> new_pr2F(vyv184, Zero, Pos(Succ(Zero)), vyv188, h) 214.29/145.91 new_pr2F0G1(vyv227, vyv228, vyv229, Succ(Zero), ba) -> new_pr2F(vyv228, vyv229, Pos(Succ(Zero)), vyv227, ba) 214.29/145.91 new_pr2F0G(vyv188, vyv184, Pos(Succ(Zero)), h) -> new_pr2F(vyv184, Zero, Pos(Succ(Zero)), vyv188, h) 214.29/145.91 new_pr2F0G(vyv188, vyv184, Pos(Zero), h) -> new_pr2F0G(vyv188, new_sr(vyv184, h), new_primQuotInt(Zero, Pos(Succ(Succ(Zero)))), h) 214.29/145.91 new_pr2F0G1(vyv227, vyv228, vyv229, Zero, ba) -> new_pr2F0G(vyv227, new_sr1(vyv228, ba), new_primQuotInt(Succ(vyv229), Pos(Succ(Succ(Zero)))), ba) 214.29/145.91 new_pr2F0(vyv184, Pos(Zero), vyv188, h) -> new_pr2F0G(vyv188, new_sr(vyv184, h), new_primQuotInt(Zero, Pos(Succ(Succ(Zero)))), h) 214.29/145.91 214.29/145.91 The TRS R consists of the following rules: 214.29/145.91 214.29/145.91 new_sr(vyv184, ty_Double) -> new_sr11(vyv184) 214.29/145.91 new_sr(vyv184, app(ty_Ratio, bd)) -> new_sr5(vyv184, bd) 214.29/145.91 new_sr(vyv184, ty_Float) -> new_sr12(vyv184) 214.29/145.91 new_sr(vyv184, ty_Int) -> new_sr7(vyv184) 214.29/145.91 new_sr(vyv184, ty_Integer) -> new_sr6(vyv184) 214.29/145.91 new_primQuotInt(vyv2710, Pos(Succ(vyv28500))) -> Pos(new_primDivNatS1(vyv2710, vyv28500)) 214.29/145.91 new_primDivNatS1(Zero, vyv28500) -> Zero 214.29/145.91 new_primDivNatS1(Succ(Succ(vyv271000)), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS0(vyv271000), Zero)) 214.29/145.91 new_primDivNatS1(Succ(Zero), Succ(vyv285000)) -> Zero 214.29/145.91 new_primDivNatS1(Succ(Succ(vyv271000)), Succ(vyv285000)) -> new_primDivNatS01(vyv271000, vyv285000, vyv271000, vyv285000) 214.29/145.91 new_primDivNatS1(Succ(Zero), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS1, Zero)) 214.29/145.91 new_primMinusNatS1 -> Zero 214.29/145.91 new_primDivNatS01(vyv311, vyv312, Succ(vyv3130), Zero) -> new_primDivNatS02(vyv311, vyv312) 214.29/145.91 new_primDivNatS01(vyv311, vyv312, Zero, Succ(vyv3140)) -> Zero 214.29/145.91 new_primDivNatS01(vyv311, vyv312, Succ(vyv3130), Succ(vyv3140)) -> new_primDivNatS01(vyv311, vyv312, vyv3130, vyv3140) 214.29/145.91 new_primDivNatS01(vyv311, vyv312, Zero, Zero) -> new_primDivNatS02(vyv311, vyv312) 214.29/145.91 new_primDivNatS02(vyv311, vyv312) -> Succ(new_primDivNatS1(new_primMinusNatS2(vyv311, vyv312), Succ(vyv312))) 214.29/145.91 new_primMinusNatS2(Zero, Succ(vyv3120)) -> Zero 214.29/145.91 new_primMinusNatS2(Succ(vyv3110), Zero) -> Succ(vyv3110) 214.29/145.91 new_primMinusNatS2(Zero, Zero) -> Zero 214.29/145.91 new_primMinusNatS2(Succ(vyv3110), Succ(vyv3120)) -> new_primMinusNatS2(vyv3110, vyv3120) 214.29/145.91 new_primMinusNatS0(vyv271000) -> Succ(vyv271000) 214.29/145.91 new_sr6(vyv184) -> error([]) 214.29/145.91 new_sr7(Pos(vyv1840)) -> Pos(new_primMulNat1(vyv1840)) 214.29/145.91 new_sr7(Neg(vyv1840)) -> Pos(new_primMulNat1(vyv1840)) 214.29/145.91 new_primMulNat1(Succ(vyv18400)) -> new_primPlusNat0(new_primMulNat2(vyv18400), Succ(vyv18400)) 214.29/145.91 new_primMulNat1(Zero) -> Zero 214.29/145.91 new_primMulNat2(Succ(vyv184000)) -> new_primPlusNat0(new_primMulNat3(vyv184000), Succ(Succ(vyv184000))) 214.29/145.91 new_primMulNat2(Zero) -> Zero 214.29/145.91 new_primPlusNat0(Succ(vyv4000), Succ(vyv6000)) -> Succ(Succ(new_primPlusNat0(vyv4000, vyv6000))) 214.29/145.91 new_primPlusNat0(Zero, Succ(vyv6000)) -> Succ(vyv6000) 214.29/145.91 new_primPlusNat0(Zero, Zero) -> Zero 214.29/145.91 new_primPlusNat0(Succ(vyv4000), Zero) -> Succ(vyv4000) 214.29/145.91 new_primMulNat3(Succ(vyv1840000)) -> new_primPlusNat0(new_primMulNat4(vyv1840000), Succ(Succ(Succ(vyv1840000)))) 214.29/145.91 new_primMulNat3(Zero) -> Zero 214.29/145.91 new_primMulNat4(Succ(vyv18400000)) -> new_primPlusNat0(new_primMulNat0(vyv18400000, Succ(Succ(Succ(Succ(vyv18400000))))), Succ(Succ(Succ(Succ(vyv18400000))))) 214.29/145.91 new_primMulNat4(Zero) -> Zero 214.29/145.91 new_primMulNat0(Zero, Succ(vyv23900)) -> Zero 214.29/145.91 new_primMulNat0(Succ(vyv24000), Succ(vyv23900)) -> new_primPlusNat0(new_primMulNat0(vyv24000, Succ(vyv23900)), Succ(vyv23900)) 214.29/145.91 new_sr12(vyv184) -> error([]) 214.29/145.91 new_sr5(:%(vyv1840, vyv1841), bd) -> new_reduce2Reduce1(vyv1840, vyv1840, vyv1841, vyv1841, new_esEs0(vyv1841, bd), bd) 214.29/145.91 new_esEs0(vyv1841, ty_Int) -> new_esEs(new_sr7(vyv1841)) 214.29/145.91 new_esEs0(vyv1841, ty_Integer) -> new_esEs1(new_sr6(vyv1841)) 214.29/145.91 new_reduce2Reduce1(vyv265, vyv266, vyv267, vyv268, False, bh) -> :%(new_quot0(vyv265, vyv266, vyv267, vyv268, bh), new_quot1(vyv267, vyv268, vyv265, vyv266, bh)) 214.29/145.91 new_reduce2Reduce1(vyv265, vyv266, vyv267, vyv268, True, bh) -> error([]) 214.29/145.91 new_quot0(vyv265, vyv266, vyv267, vyv268, ty_Integer) -> new_quot2(new_sr9(vyv265, vyv266), new_sr9(vyv265, vyv266), new_sr9(vyv267, vyv268)) 214.29/145.91 new_quot0(vyv265, vyv266, vyv267, vyv268, ty_Int) -> new_quot(new_sr10(vyv265, vyv266), new_sr10(vyv265, vyv266), new_sr10(vyv267, vyv268)) 214.29/145.91 new_quot1(vyv267, vyv268, vyv265, vyv266, ty_Int) -> new_quot(new_sr10(vyv267, vyv268), new_sr10(vyv265, vyv266), new_sr10(vyv267, vyv268)) 214.29/145.91 new_quot1(vyv267, vyv268, vyv265, vyv266, ty_Integer) -> new_quot2(new_sr9(vyv267, vyv268), new_sr9(vyv265, vyv266), new_sr9(vyv267, vyv268)) 214.29/145.91 new_sr9(vyv240, vyv239) -> error([]) 214.29/145.91 new_quot2(vyv274, vyv276, vyv275) -> error([]) 214.29/145.91 new_sr10(Pos(vyv2400), Pos(vyv2390)) -> Pos(new_primMulNat0(vyv2400, vyv2390)) 214.29/145.91 new_sr10(Neg(vyv2400), Neg(vyv2390)) -> Pos(new_primMulNat0(vyv2400, vyv2390)) 214.29/145.91 new_sr10(Pos(vyv2400), Neg(vyv2390)) -> Neg(new_primMulNat0(vyv2400, vyv2390)) 214.29/145.91 new_sr10(Neg(vyv2400), Pos(vyv2390)) -> Neg(new_primMulNat0(vyv2400, vyv2390)) 214.29/145.91 new_quot(Pos(vyv2710), vyv273, vyv272) -> new_primQuotInt(vyv2710, new_gcd(vyv273, vyv272)) 214.29/145.91 new_quot(Neg(vyv2710), vyv273, vyv272) -> new_primQuotInt0(vyv2710, new_gcd(vyv273, vyv272)) 214.29/145.91 new_gcd(vyv273, vyv272) -> new_gcd2(new_esEs(vyv273), vyv273, vyv272) 214.29/145.91 new_primQuotInt0(vyv2710, Pos(Succ(vyv28800))) -> Neg(new_primDivNatS1(vyv2710, vyv28800)) 214.29/145.91 new_primQuotInt0(vyv2710, Neg(Zero)) -> new_error 214.29/145.91 new_primQuotInt0(vyv2710, Neg(Succ(vyv28800))) -> Pos(new_primDivNatS1(vyv2710, vyv28800)) 214.29/145.91 new_primQuotInt0(vyv2710, Pos(Zero)) -> new_error 214.29/145.91 new_error -> error([]) 214.29/145.91 new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) 214.29/145.91 new_esEs(Pos(Succ(vyv24300))) -> new_primEqInt(Pos(Succ(vyv24300))) 214.29/145.91 new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) 214.29/145.91 new_esEs(Neg(Succ(vyv24300))) -> new_primEqInt(Neg(Succ(vyv24300))) 214.29/145.91 new_gcd2(True, vyv273, vyv272) -> new_gcd1(new_esEs(vyv272), vyv273, vyv272) 214.29/145.91 new_gcd2(False, vyv273, vyv272) -> new_gcd0(vyv273, vyv272) 214.29/145.91 new_gcd0(vyv273, vyv272) -> new_gcd0Gcd'11(new_esEs(new_abs(vyv272)), vyv273, vyv272) 214.29/145.91 new_abs(Neg(Zero)) -> Neg(Zero) 214.29/145.91 new_abs(Neg(Succ(vyv27200))) -> Pos(Succ(vyv27200)) 214.29/145.91 new_abs(Pos(Succ(vyv27200))) -> Pos(Succ(vyv27200)) 214.29/145.91 new_abs(Pos(Zero)) -> Pos(Zero) 214.29/145.91 new_gcd0Gcd'11(True, vyv273, vyv272) -> new_abs(vyv273) 214.29/145.91 new_gcd0Gcd'11(False, vyv273, vyv272) -> new_gcd0Gcd'00(new_abs(vyv273), new_abs(vyv272)) 214.29/145.91 new_gcd0Gcd'00(vyv293, vyv292) -> new_gcd0Gcd'10(new_esEs(new_rem(vyv293, vyv292)), vyv292, vyv293) 214.29/145.91 new_gcd0Gcd'10(False, vyv292, vyv293) -> new_gcd0Gcd'00(vyv292, new_rem(vyv293, vyv292)) 214.29/145.91 new_rem(Pos(vyv2930), Neg(Zero)) -> new_error 214.29/145.91 new_rem(Neg(vyv2930), Pos(Zero)) -> new_error 214.29/145.91 new_rem(Pos(vyv2930), Neg(Succ(vyv29200))) -> Pos(new_primModNatS1(vyv2930, vyv29200)) 214.29/145.91 new_rem(Neg(vyv2930), Pos(Succ(vyv29200))) -> Neg(new_primModNatS1(vyv2930, vyv29200)) 214.29/145.91 new_rem(Pos(vyv2930), Pos(Succ(vyv29200))) -> Pos(new_primModNatS1(vyv2930, vyv29200)) 214.29/145.91 new_rem(Neg(vyv2930), Neg(Zero)) -> new_error 214.29/145.91 new_rem(Neg(vyv2930), Neg(Succ(vyv29200))) -> Neg(new_primModNatS1(vyv2930, vyv29200)) 214.29/145.91 new_rem(Pos(vyv2930), Pos(Zero)) -> new_error 214.29/145.91 new_gcd0Gcd'10(True, vyv292, vyv293) -> vyv292 214.29/145.91 new_primModNatS1(Succ(Zero), Succ(vyv292000)) -> Succ(Zero) 214.29/145.91 new_primModNatS1(Zero, vyv29200) -> Zero 214.29/145.91 new_primModNatS1(Succ(Succ(vyv293000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv293000), Zero) 214.29/145.91 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 214.29/145.91 new_primModNatS1(Succ(Succ(vyv293000)), Succ(vyv292000)) -> new_primModNatS01(vyv293000, vyv292000, vyv293000, vyv292000) 214.29/145.91 new_primModNatS01(vyv331, vyv332, Zero, Zero) -> new_primModNatS02(vyv331, vyv332) 214.29/145.91 new_primModNatS02(vyv331, vyv332) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv331), Succ(vyv332)), Succ(vyv332)) 214.29/145.91 new_primModNatS01(vyv331, vyv332, Succ(vyv3330), Zero) -> new_primModNatS02(vyv331, vyv332) 214.29/145.91 new_primModNatS01(vyv331, vyv332, Succ(vyv3330), Succ(vyv3340)) -> new_primModNatS01(vyv331, vyv332, vyv3330, vyv3340) 214.29/145.91 new_primModNatS01(vyv331, vyv332, Zero, Succ(vyv3340)) -> Succ(Succ(vyv331)) 214.29/145.91 new_gcd1(True, vyv273, vyv272) -> new_error 214.29/145.91 new_gcd1(False, vyv273, vyv272) -> new_gcd0(vyv273, vyv272) 214.29/145.91 new_primEqInt(Neg(Succ(vyv242000))) -> False 214.29/145.91 new_primEqInt(Pos(Zero)) -> True 214.29/145.91 new_primEqInt(Pos(Succ(vyv242000))) -> False 214.29/145.91 new_primEqInt(Neg(Zero)) -> True 214.29/145.91 new_primQuotInt(vyv2710, Neg(Zero)) -> new_error 214.29/145.91 new_primQuotInt(vyv2710, Pos(Zero)) -> new_error 214.29/145.91 new_primQuotInt(vyv2710, Neg(Succ(vyv28500))) -> Neg(new_primDivNatS1(vyv2710, vyv28500)) 214.29/145.91 new_primMulNat0(Succ(vyv24000), Zero) -> Zero 214.29/145.91 new_primMulNat0(Zero, Zero) -> Zero 214.29/145.91 new_esEs1(Integer(vyv2700)) -> new_primEqInt(vyv2700) 214.29/145.91 new_sr11(vyv184) -> error([]) 214.29/145.91 new_sr1(vyv228, ty_Double) -> new_sr11(vyv228) 214.29/145.91 new_sr1(vyv228, ty_Float) -> new_sr12(vyv228) 214.29/145.91 new_sr1(vyv228, app(ty_Ratio, bg)) -> new_sr5(vyv228, bg) 214.29/145.91 new_sr1(vyv228, ty_Integer) -> new_sr6(vyv228) 214.29/145.91 new_sr1(vyv228, ty_Int) -> new_sr7(vyv228) 214.29/145.91 new_sr3(vyv250, ty_Double) -> new_sr11(vyv250) 214.29/145.91 new_sr3(vyv250, ty_Int) -> new_sr7(vyv250) 214.29/145.91 new_sr3(vyv250, ty_Float) -> new_sr12(vyv250) 214.29/145.91 new_sr3(vyv250, ty_Integer) -> new_sr6(vyv250) 214.29/145.91 new_sr3(vyv250, app(ty_Ratio, bf)) -> new_sr5(vyv250, bf) 214.29/145.91 new_sr0(vyv184, ty_Double) -> new_sr11(vyv184) 214.29/145.91 new_sr0(vyv184, ty_Float) -> new_sr12(vyv184) 214.29/145.91 new_sr0(vyv184, ty_Int) -> new_sr7(vyv184) 214.29/145.91 new_sr0(vyv184, app(ty_Ratio, bd)) -> new_sr5(vyv184, bd) 214.29/145.91 new_sr0(vyv184, ty_Integer) -> new_sr6(vyv184) 214.29/145.91 new_ms0(vyv241, Neg(Zero)) -> Neg(Succ(vyv241)) 214.29/145.91 new_ms0(vyv241, Pos(vyv2440)) -> Neg(new_primPlusNat0(Succ(vyv241), vyv2440)) 214.29/145.91 new_ms0(vyv241, Neg(Succ(vyv24400))) -> new_primMinusNat0(vyv24400, vyv241) 214.29/145.91 new_sr4(vyv240, vyv239, app(ty_Ratio, be)) -> new_sr8(vyv240, vyv239, be) 214.29/145.91 new_sr4(vyv240, vyv239, ty_Float) -> new_sr14(vyv240, vyv239) 214.29/145.91 new_sr4(vyv240, vyv239, ty_Int) -> new_sr10(vyv240, vyv239) 214.29/145.91 new_sr4(vyv240, vyv239, ty_Double) -> new_sr13(vyv240, vyv239) 214.29/145.91 new_sr4(vyv240, vyv239, ty_Integer) -> new_sr9(vyv240, vyv239) 214.29/145.91 new_sr13(vyv240, vyv239) -> error([]) 214.29/145.91 new_sr14(vyv240, vyv239) -> error([]) 214.29/145.91 new_sr8(:%(vyv2400, vyv2401), :%(vyv2390, vyv2391), be) -> new_reduce2Reduce1(vyv2400, vyv2390, vyv2401, vyv2391, new_esEs2(vyv2401, vyv2391, be), be) 214.29/145.91 new_esEs2(vyv2401, vyv2391, ty_Integer) -> new_esEs1(new_sr9(vyv2401, vyv2391)) 214.29/145.91 new_esEs2(vyv2401, vyv2391, ty_Int) -> new_esEs(new_sr10(vyv2401, vyv2391)) 214.29/145.91 new_primMinusNat0(Succ(vyv2290), Succ(vyv245000)) -> new_primMinusNat0(vyv2290, vyv245000) 214.29/145.91 new_primMinusNat0(Zero, Zero) -> Pos(Zero) 214.29/145.91 new_primMinusNat0(Zero, Succ(vyv245000)) -> Neg(Succ(vyv245000)) 214.29/145.91 new_primMinusNat0(Succ(vyv2290), Zero) -> Pos(Succ(vyv2290)) 214.29/145.91 new_ms(vyv229, Neg(vyv2450)) -> Pos(new_primPlusNat0(Succ(vyv229), vyv2450)) 214.29/145.91 new_ms(vyv229, Pos(Succ(vyv24500))) -> new_primMinusNat0(vyv229, vyv24500) 214.29/145.91 new_ms(vyv229, Pos(Zero)) -> Pos(Succ(vyv229)) 214.29/145.91 new_sr2(vyv228, vyv227, ty_Integer) -> new_sr9(vyv228, vyv227) 214.29/145.91 new_sr2(vyv228, vyv227, ty_Int) -> new_sr10(vyv228, vyv227) 214.29/145.91 new_sr2(vyv228, vyv227, app(ty_Ratio, bg)) -> new_sr8(vyv228, vyv227, bg) 214.29/145.91 new_sr2(vyv228, vyv227, ty_Double) -> new_sr13(vyv228, vyv227) 214.29/145.91 new_sr2(vyv228, vyv227, ty_Float) -> new_sr14(vyv228, vyv227) 214.29/145.91 214.29/145.91 The set Q consists of the following terms: 214.29/145.91 214.29/145.91 new_sr13(x0, x1) 214.29/145.91 new_primDivNatS01(x0, x1, Zero, Zero) 214.29/145.91 new_gcd0Gcd'11(False, x0, x1) 214.29/145.91 new_primMulNat4(Zero) 214.29/145.91 new_gcd0Gcd'11(True, x0, x1) 214.29/145.91 new_sr2(x0, x1, ty_Float) 214.29/145.91 new_sr5(:%(x0, x1), x2) 214.29/145.91 new_primEqInt(Pos(Zero)) 214.29/145.91 new_ms(x0, Neg(x1)) 214.29/145.91 new_sr2(x0, x1, ty_Double) 214.29/145.91 new_esEs(Pos(Succ(x0))) 214.29/145.91 new_primQuotInt0(x0, Neg(Zero)) 214.29/145.91 new_primMulNat3(Zero) 214.29/145.91 new_primModNatS02(x0, x1) 214.29/145.91 new_sr(x0, ty_Double) 214.29/145.91 new_sr0(x0, ty_Double) 214.29/145.91 new_primDivNatS1(Succ(Zero), Zero) 214.29/145.91 new_primMinusNatS0(x0) 214.29/145.91 new_sr11(x0) 214.29/145.91 new_sr0(x0, app(ty_Ratio, x1)) 214.29/145.91 new_rem(Pos(x0), Neg(Succ(x1))) 214.29/145.91 new_rem(Neg(x0), Pos(Succ(x1))) 214.29/145.91 new_primMulNat0(Zero, Zero) 214.29/145.91 new_primPlusNat0(Succ(x0), Zero) 214.29/145.91 new_primMulNat0(Succ(x0), Zero) 214.29/145.91 new_sr3(x0, ty_Float) 214.29/145.91 new_primMulNat2(Zero) 214.29/145.91 new_primQuotInt(x0, Pos(Zero)) 214.29/145.91 new_primMulNat2(Succ(x0)) 214.29/145.91 new_primQuotInt(x0, Neg(Zero)) 214.29/145.91 new_rem(Neg(x0), Neg(Succ(x1))) 214.29/145.91 new_primMinusNatS2(Zero, Succ(x0)) 214.29/145.91 new_sr(x0, ty_Int) 214.29/145.91 new_sr4(x0, x1, ty_Double) 214.29/145.91 new_primMulNat3(Succ(x0)) 214.29/145.91 new_sr0(x0, ty_Float) 214.29/145.91 new_esEs1(Integer(x0)) 214.29/145.91 new_primQuotInt0(x0, Pos(Zero)) 214.29/145.91 new_gcd2(True, x0, x1) 214.29/145.91 new_quot1(x0, x1, x2, x3, ty_Int) 214.29/145.91 new_primDivNatS1(Zero, x0) 214.29/145.91 new_primMinusNat0(Zero, Zero) 214.29/145.91 new_gcd(x0, x1) 214.29/145.91 new_gcd1(False, x0, x1) 214.29/145.91 new_esEs2(x0, x1, ty_Int) 214.29/145.91 new_sr3(x0, ty_Integer) 214.29/145.91 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 214.29/145.91 new_sr1(x0, app(ty_Ratio, x1)) 214.29/145.91 new_sr1(x0, ty_Float) 214.29/145.91 new_primPlusNat0(Zero, Succ(x0)) 214.29/145.91 new_sr8(:%(x0, x1), :%(x2, x3), x4) 214.29/145.91 new_abs(Neg(Zero)) 214.29/145.91 new_primMinusNatS2(Succ(x0), Zero) 214.29/145.91 new_error 214.29/145.91 new_primModNatS1(Succ(Zero), Zero) 214.29/145.91 new_primMulNat4(Succ(x0)) 214.29/145.91 new_sr1(x0, ty_Integer) 214.29/145.91 new_primDivNatS02(x0, x1) 214.29/145.91 new_sr1(x0, ty_Int) 214.29/145.91 new_rem(Neg(x0), Neg(Zero)) 214.29/145.91 new_primMinusNat0(Zero, Succ(x0)) 214.29/145.91 new_primEqInt(Neg(Zero)) 214.29/145.91 new_rem(Pos(x0), Pos(Succ(x1))) 214.29/145.91 new_abs(Pos(Succ(x0))) 214.29/145.91 new_primMulNat0(Succ(x0), Succ(x1)) 214.29/145.91 new_primMulNat0(Zero, Succ(x0)) 214.29/145.91 new_reduce2Reduce1(x0, x1, x2, x3, True, x4) 214.29/145.91 new_sr(x0, ty_Float) 214.29/145.91 new_gcd0Gcd'10(False, x0, x1) 214.29/145.91 new_sr12(x0) 214.29/145.91 new_primDivNatS01(x0, x1, Zero, Succ(x2)) 214.29/145.91 new_sr10(Pos(x0), Pos(x1)) 214.29/145.91 new_primModNatS01(x0, x1, Zero, Succ(x2)) 214.29/145.91 new_primPlusNat0(Zero, Zero) 214.29/145.91 new_sr(x0, ty_Integer) 214.29/145.91 new_primQuotInt0(x0, Pos(Succ(x1))) 214.29/145.91 new_primModNatS01(x0, x1, Succ(x2), Zero) 214.29/145.91 new_ms(x0, Pos(Succ(x1))) 214.29/145.91 new_primModNatS1(Succ(Succ(x0)), Zero) 214.29/145.91 new_sr4(x0, x1, ty_Integer) 214.29/145.91 new_rem(Pos(x0), Pos(Zero)) 214.29/145.91 new_sr4(x0, x1, ty_Int) 214.29/145.91 new_ms0(x0, Neg(Succ(x1))) 214.29/145.91 new_quot(Pos(x0), x1, x2) 214.29/145.91 new_primMinusNatS2(Zero, Zero) 214.29/145.91 new_esEs0(x0, ty_Int) 214.29/145.91 new_primMinusNat0(Succ(x0), Zero) 214.29/145.91 new_ms0(x0, Pos(x1)) 214.29/145.91 new_esEs(Pos(Zero)) 214.29/145.91 new_quot(Neg(x0), x1, x2) 214.29/145.91 new_primDivNatS01(x0, x1, Succ(x2), Succ(x3)) 214.29/145.91 new_quot2(x0, x1, x2) 214.29/145.91 new_primEqInt(Neg(Succ(x0))) 214.29/145.91 new_sr10(Neg(x0), Neg(x1)) 214.29/145.91 new_sr3(x0, app(ty_Ratio, x1)) 214.29/145.91 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 214.29/145.91 new_sr9(x0, x1) 214.29/145.91 new_sr2(x0, x1, ty_Integer) 214.29/145.91 new_sr7(Neg(x0)) 214.29/145.91 new_sr1(x0, ty_Double) 214.29/145.91 new_primQuotInt0(x0, Neg(Succ(x1))) 214.29/145.91 new_sr0(x0, ty_Integer) 214.29/145.91 new_rem(Pos(x0), Neg(Zero)) 214.29/145.91 new_rem(Neg(x0), Pos(Zero)) 214.29/145.91 new_gcd0Gcd'00(x0, x1) 214.29/145.91 new_primQuotInt(x0, Neg(Succ(x1))) 214.29/145.91 new_primMinusNatS2(Succ(x0), Succ(x1)) 214.29/145.91 new_ms(x0, Pos(Zero)) 214.29/145.91 new_abs(Pos(Zero)) 214.29/145.91 new_primMinusNat0(Succ(x0), Succ(x1)) 214.29/145.91 new_quot0(x0, x1, x2, x3, ty_Integer) 214.29/145.91 new_sr0(x0, ty_Int) 214.29/145.91 new_sr6(x0) 214.29/145.91 new_gcd2(False, x0, x1) 214.29/145.91 new_gcd1(True, x0, x1) 214.29/145.91 new_esEs2(x0, x1, ty_Integer) 214.29/145.91 new_primMinusNatS1 214.29/145.91 new_sr7(Pos(x0)) 214.29/145.91 new_gcd0Gcd'10(True, x0, x1) 214.29/145.91 new_primModNatS1(Zero, x0) 214.29/145.91 new_sr4(x0, x1, ty_Float) 214.29/145.91 new_sr10(Pos(x0), Neg(x1)) 214.29/145.91 new_sr10(Neg(x0), Pos(x1)) 214.29/145.91 new_primDivNatS01(x0, x1, Succ(x2), Zero) 214.29/145.91 new_primDivNatS1(Succ(Succ(x0)), Succ(x1)) 214.29/145.91 new_primPlusNat0(Succ(x0), Succ(x1)) 214.29/145.91 new_primDivNatS1(Succ(Zero), Succ(x0)) 214.29/145.91 new_primQuotInt(x0, Pos(Succ(x1))) 214.29/145.91 new_sr2(x0, x1, app(ty_Ratio, x2)) 214.29/145.91 new_abs(Neg(Succ(x0))) 214.29/145.91 new_esEs0(x0, ty_Integer) 214.29/145.91 new_sr3(x0, ty_Int) 214.29/145.91 new_esEs(Neg(Succ(x0))) 214.29/145.91 new_sr(x0, app(ty_Ratio, x1)) 214.29/145.91 new_ms0(x0, Neg(Zero)) 214.29/145.91 new_primModNatS01(x0, x1, Zero, Zero) 214.29/145.91 new_sr4(x0, x1, app(ty_Ratio, x2)) 214.29/145.91 new_gcd0(x0, x1) 214.29/145.91 new_primEqInt(Pos(Succ(x0))) 214.29/145.91 new_sr3(x0, ty_Double) 214.29/145.91 new_quot1(x0, x1, x2, x3, ty_Integer) 214.29/145.91 new_primDivNatS1(Succ(Succ(x0)), Zero) 214.29/145.91 new_primMulNat1(Succ(x0)) 214.29/145.91 new_sr14(x0, x1) 214.29/145.91 new_quot0(x0, x1, x2, x3, ty_Int) 214.29/145.91 new_sr2(x0, x1, ty_Int) 214.29/145.91 new_primModNatS1(Succ(Zero), Succ(x0)) 214.29/145.91 new_reduce2Reduce1(x0, x1, x2, x3, False, x4) 214.29/145.91 new_esEs(Neg(Zero)) 214.29/145.91 new_primMulNat1(Zero) 214.29/145.91 214.29/145.91 We have to consider all minimal (P,Q,R)-chains. 214.29/145.91 ---------------------------------------- 214.29/145.91 214.29/145.91 (716) TransformationProof (EQUIVALENT) 214.29/145.91 By rewriting [LPAR04] the rule new_pr2F0(vyv184, Neg(Zero), vyv188, h) -> new_pr2F0G(vyv188, new_sr0(vyv184, h), new_primQuotInt0(Zero, Pos(Succ(Succ(Zero)))), h) at position [2] we obtained the following new rules [LPAR04]: 214.29/145.91 214.29/145.91 (new_pr2F0(vyv184, Neg(Zero), vyv188, h) -> new_pr2F0G(vyv188, new_sr0(vyv184, h), Neg(new_primDivNatS1(Zero, Succ(Zero))), h),new_pr2F0(vyv184, Neg(Zero), vyv188, h) -> new_pr2F0G(vyv188, new_sr0(vyv184, h), Neg(new_primDivNatS1(Zero, Succ(Zero))), h)) 214.29/145.91 214.29/145.91 214.29/145.91 ---------------------------------------- 214.29/145.91 214.29/145.91 (717) 214.29/145.91 Obligation: 214.29/145.91 Q DP problem: 214.29/145.91 The TRS P consists of the following rules: 214.29/145.91 214.29/145.91 new_pr2F0G10(vyv249, vyv250, vyv251, Succ(Succ(vyv25200)), bb) -> new_pr2F0G10(vyv249, vyv250, vyv251, vyv25200, bb) 214.29/145.91 new_pr2F0G(vyv188, vyv184, Neg(Succ(Zero)), h) -> new_pr2F0G11(vyv188, vyv184, Zero, h) 214.29/145.91 new_pr2F0G(vyv188, vyv184, Pos(Succ(Succ(vyv223000))), h) -> new_pr2F0G1(vyv188, vyv184, Succ(vyv223000), vyv223000, h) 214.29/145.91 new_pr2F0(vyv184, Neg(Succ(Succ(vyv223000))), vyv188, h) -> new_pr2F0G10(vyv188, vyv184, Succ(vyv223000), vyv223000, h) 214.29/145.91 new_pr2F0(vyv184, Neg(Succ(Zero)), vyv188, h) -> new_pr2F0G11(vyv188, vyv184, Zero, h) 214.29/145.91 new_pr2F0G10(vyv249, vyv250, vyv251, Succ(Zero), bb) -> new_pr2F0G11(vyv249, vyv250, vyv251, bb) 214.29/145.91 new_pr2F0G(vyv188, vyv184, Neg(Succ(Succ(vyv223000))), h) -> new_pr2F0G10(vyv188, vyv184, Succ(vyv223000), vyv223000, h) 214.29/145.91 new_pr2F3(False, vyv228, vyv229, vyv245, vyv227, ba) -> new_pr2F0(vyv228, new_ms(vyv229, vyv245), new_sr2(vyv228, vyv227, ba), ba) 214.29/145.91 new_pr2F0(vyv184, Pos(Succ(Succ(vyv223000))), vyv188, h) -> new_pr2F0G1(vyv188, vyv184, Succ(vyv223000), vyv223000, h) 214.29/145.91 new_pr2F1(vyv240, vyv241, vyv244, vyv239, bc) -> new_pr2F30(new_esEs(new_ms0(vyv241, vyv244)), vyv240, vyv241, vyv244, vyv239, bc) 214.29/145.91 new_pr2F(vyv228, vyv229, vyv245, vyv227, ba) -> new_pr2F3(new_esEs(new_ms(vyv229, vyv245)), vyv228, vyv229, vyv245, vyv227, ba) 214.29/145.91 new_pr2F0G1(vyv227, vyv228, vyv229, Succ(Succ(vyv23000)), ba) -> new_pr2F0G1(vyv227, vyv228, vyv229, vyv23000, ba) 214.29/145.91 new_pr2F30(False, vyv240, vyv241, vyv244, vyv239, bc) -> new_pr2F0(vyv240, new_ms0(vyv241, vyv244), new_sr4(vyv240, vyv239, bc), bc) 214.29/145.91 new_pr2F0G11(vyv239, vyv240, vyv241, bc) -> new_pr2F1(vyv240, vyv241, Pos(Succ(Zero)), vyv239, bc) 214.29/145.91 new_pr2F0G(vyv188, vyv184, Neg(Zero), h) -> new_pr2F0G(vyv188, new_sr0(vyv184, h), new_primQuotInt0(Zero, Pos(Succ(Succ(Zero)))), h) 214.29/145.91 new_pr2F0G10(vyv249, vyv250, vyv251, Zero, bb) -> new_pr2F0G(vyv249, new_sr3(vyv250, bb), new_primQuotInt0(Succ(vyv251), Pos(Succ(Succ(Zero)))), bb) 214.29/145.91 new_pr2F0(vyv184, Pos(Succ(Zero)), vyv188, h) -> new_pr2F(vyv184, Zero, Pos(Succ(Zero)), vyv188, h) 214.29/145.91 new_pr2F0G1(vyv227, vyv228, vyv229, Succ(Zero), ba) -> new_pr2F(vyv228, vyv229, Pos(Succ(Zero)), vyv227, ba) 214.29/145.91 new_pr2F0G(vyv188, vyv184, Pos(Succ(Zero)), h) -> new_pr2F(vyv184, Zero, Pos(Succ(Zero)), vyv188, h) 214.29/145.91 new_pr2F0G(vyv188, vyv184, Pos(Zero), h) -> new_pr2F0G(vyv188, new_sr(vyv184, h), new_primQuotInt(Zero, Pos(Succ(Succ(Zero)))), h) 214.29/145.91 new_pr2F0G1(vyv227, vyv228, vyv229, Zero, ba) -> new_pr2F0G(vyv227, new_sr1(vyv228, ba), new_primQuotInt(Succ(vyv229), Pos(Succ(Succ(Zero)))), ba) 214.29/145.91 new_pr2F0(vyv184, Pos(Zero), vyv188, h) -> new_pr2F0G(vyv188, new_sr(vyv184, h), new_primQuotInt(Zero, Pos(Succ(Succ(Zero)))), h) 214.29/145.91 new_pr2F0(vyv184, Neg(Zero), vyv188, h) -> new_pr2F0G(vyv188, new_sr0(vyv184, h), Neg(new_primDivNatS1(Zero, Succ(Zero))), h) 214.29/145.91 214.29/145.91 The TRS R consists of the following rules: 214.29/145.91 214.29/145.91 new_sr(vyv184, ty_Double) -> new_sr11(vyv184) 214.29/145.91 new_sr(vyv184, app(ty_Ratio, bd)) -> new_sr5(vyv184, bd) 214.29/145.91 new_sr(vyv184, ty_Float) -> new_sr12(vyv184) 214.29/145.91 new_sr(vyv184, ty_Int) -> new_sr7(vyv184) 214.29/145.91 new_sr(vyv184, ty_Integer) -> new_sr6(vyv184) 214.29/145.91 new_primQuotInt(vyv2710, Pos(Succ(vyv28500))) -> Pos(new_primDivNatS1(vyv2710, vyv28500)) 214.29/145.91 new_primDivNatS1(Zero, vyv28500) -> Zero 214.29/145.91 new_primDivNatS1(Succ(Succ(vyv271000)), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS0(vyv271000), Zero)) 214.29/145.91 new_primDivNatS1(Succ(Zero), Succ(vyv285000)) -> Zero 214.29/145.91 new_primDivNatS1(Succ(Succ(vyv271000)), Succ(vyv285000)) -> new_primDivNatS01(vyv271000, vyv285000, vyv271000, vyv285000) 214.29/145.91 new_primDivNatS1(Succ(Zero), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS1, Zero)) 214.29/145.91 new_primMinusNatS1 -> Zero 214.29/145.91 new_primDivNatS01(vyv311, vyv312, Succ(vyv3130), Zero) -> new_primDivNatS02(vyv311, vyv312) 214.29/145.91 new_primDivNatS01(vyv311, vyv312, Zero, Succ(vyv3140)) -> Zero 214.29/145.91 new_primDivNatS01(vyv311, vyv312, Succ(vyv3130), Succ(vyv3140)) -> new_primDivNatS01(vyv311, vyv312, vyv3130, vyv3140) 214.29/145.91 new_primDivNatS01(vyv311, vyv312, Zero, Zero) -> new_primDivNatS02(vyv311, vyv312) 214.29/145.91 new_primDivNatS02(vyv311, vyv312) -> Succ(new_primDivNatS1(new_primMinusNatS2(vyv311, vyv312), Succ(vyv312))) 214.29/145.91 new_primMinusNatS2(Zero, Succ(vyv3120)) -> Zero 214.29/145.91 new_primMinusNatS2(Succ(vyv3110), Zero) -> Succ(vyv3110) 214.29/145.91 new_primMinusNatS2(Zero, Zero) -> Zero 214.29/145.91 new_primMinusNatS2(Succ(vyv3110), Succ(vyv3120)) -> new_primMinusNatS2(vyv3110, vyv3120) 214.29/145.91 new_primMinusNatS0(vyv271000) -> Succ(vyv271000) 214.29/145.91 new_sr6(vyv184) -> error([]) 214.29/145.91 new_sr7(Pos(vyv1840)) -> Pos(new_primMulNat1(vyv1840)) 214.29/145.91 new_sr7(Neg(vyv1840)) -> Pos(new_primMulNat1(vyv1840)) 214.29/145.91 new_primMulNat1(Succ(vyv18400)) -> new_primPlusNat0(new_primMulNat2(vyv18400), Succ(vyv18400)) 214.29/145.91 new_primMulNat1(Zero) -> Zero 214.29/145.91 new_primMulNat2(Succ(vyv184000)) -> new_primPlusNat0(new_primMulNat3(vyv184000), Succ(Succ(vyv184000))) 214.29/145.91 new_primMulNat2(Zero) -> Zero 214.29/145.91 new_primPlusNat0(Succ(vyv4000), Succ(vyv6000)) -> Succ(Succ(new_primPlusNat0(vyv4000, vyv6000))) 214.29/145.91 new_primPlusNat0(Zero, Succ(vyv6000)) -> Succ(vyv6000) 214.29/145.91 new_primPlusNat0(Zero, Zero) -> Zero 214.29/145.91 new_primPlusNat0(Succ(vyv4000), Zero) -> Succ(vyv4000) 214.29/145.91 new_primMulNat3(Succ(vyv1840000)) -> new_primPlusNat0(new_primMulNat4(vyv1840000), Succ(Succ(Succ(vyv1840000)))) 214.29/145.91 new_primMulNat3(Zero) -> Zero 214.29/145.91 new_primMulNat4(Succ(vyv18400000)) -> new_primPlusNat0(new_primMulNat0(vyv18400000, Succ(Succ(Succ(Succ(vyv18400000))))), Succ(Succ(Succ(Succ(vyv18400000))))) 214.29/145.91 new_primMulNat4(Zero) -> Zero 214.29/145.91 new_primMulNat0(Zero, Succ(vyv23900)) -> Zero 214.29/145.91 new_primMulNat0(Succ(vyv24000), Succ(vyv23900)) -> new_primPlusNat0(new_primMulNat0(vyv24000, Succ(vyv23900)), Succ(vyv23900)) 214.29/145.91 new_sr12(vyv184) -> error([]) 214.29/145.91 new_sr5(:%(vyv1840, vyv1841), bd) -> new_reduce2Reduce1(vyv1840, vyv1840, vyv1841, vyv1841, new_esEs0(vyv1841, bd), bd) 214.29/145.91 new_esEs0(vyv1841, ty_Int) -> new_esEs(new_sr7(vyv1841)) 214.29/145.91 new_esEs0(vyv1841, ty_Integer) -> new_esEs1(new_sr6(vyv1841)) 214.29/145.91 new_reduce2Reduce1(vyv265, vyv266, vyv267, vyv268, False, bh) -> :%(new_quot0(vyv265, vyv266, vyv267, vyv268, bh), new_quot1(vyv267, vyv268, vyv265, vyv266, bh)) 214.29/145.91 new_reduce2Reduce1(vyv265, vyv266, vyv267, vyv268, True, bh) -> error([]) 214.29/145.91 new_quot0(vyv265, vyv266, vyv267, vyv268, ty_Integer) -> new_quot2(new_sr9(vyv265, vyv266), new_sr9(vyv265, vyv266), new_sr9(vyv267, vyv268)) 214.29/145.91 new_quot0(vyv265, vyv266, vyv267, vyv268, ty_Int) -> new_quot(new_sr10(vyv265, vyv266), new_sr10(vyv265, vyv266), new_sr10(vyv267, vyv268)) 214.29/145.91 new_quot1(vyv267, vyv268, vyv265, vyv266, ty_Int) -> new_quot(new_sr10(vyv267, vyv268), new_sr10(vyv265, vyv266), new_sr10(vyv267, vyv268)) 214.29/145.91 new_quot1(vyv267, vyv268, vyv265, vyv266, ty_Integer) -> new_quot2(new_sr9(vyv267, vyv268), new_sr9(vyv265, vyv266), new_sr9(vyv267, vyv268)) 214.29/145.91 new_sr9(vyv240, vyv239) -> error([]) 214.29/145.91 new_quot2(vyv274, vyv276, vyv275) -> error([]) 214.29/145.91 new_sr10(Pos(vyv2400), Pos(vyv2390)) -> Pos(new_primMulNat0(vyv2400, vyv2390)) 214.29/145.91 new_sr10(Neg(vyv2400), Neg(vyv2390)) -> Pos(new_primMulNat0(vyv2400, vyv2390)) 214.29/145.91 new_sr10(Pos(vyv2400), Neg(vyv2390)) -> Neg(new_primMulNat0(vyv2400, vyv2390)) 214.29/145.91 new_sr10(Neg(vyv2400), Pos(vyv2390)) -> Neg(new_primMulNat0(vyv2400, vyv2390)) 214.29/145.91 new_quot(Pos(vyv2710), vyv273, vyv272) -> new_primQuotInt(vyv2710, new_gcd(vyv273, vyv272)) 214.29/145.91 new_quot(Neg(vyv2710), vyv273, vyv272) -> new_primQuotInt0(vyv2710, new_gcd(vyv273, vyv272)) 214.29/145.91 new_gcd(vyv273, vyv272) -> new_gcd2(new_esEs(vyv273), vyv273, vyv272) 214.29/145.91 new_primQuotInt0(vyv2710, Pos(Succ(vyv28800))) -> Neg(new_primDivNatS1(vyv2710, vyv28800)) 214.29/145.91 new_primQuotInt0(vyv2710, Neg(Zero)) -> new_error 214.29/145.91 new_primQuotInt0(vyv2710, Neg(Succ(vyv28800))) -> Pos(new_primDivNatS1(vyv2710, vyv28800)) 214.29/145.91 new_primQuotInt0(vyv2710, Pos(Zero)) -> new_error 214.29/145.91 new_error -> error([]) 214.29/145.91 new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) 214.29/145.91 new_esEs(Pos(Succ(vyv24300))) -> new_primEqInt(Pos(Succ(vyv24300))) 214.29/145.91 new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) 214.29/145.91 new_esEs(Neg(Succ(vyv24300))) -> new_primEqInt(Neg(Succ(vyv24300))) 214.29/145.91 new_gcd2(True, vyv273, vyv272) -> new_gcd1(new_esEs(vyv272), vyv273, vyv272) 214.29/145.91 new_gcd2(False, vyv273, vyv272) -> new_gcd0(vyv273, vyv272) 214.29/145.91 new_gcd0(vyv273, vyv272) -> new_gcd0Gcd'11(new_esEs(new_abs(vyv272)), vyv273, vyv272) 214.29/145.91 new_abs(Neg(Zero)) -> Neg(Zero) 214.29/145.91 new_abs(Neg(Succ(vyv27200))) -> Pos(Succ(vyv27200)) 214.29/145.91 new_abs(Pos(Succ(vyv27200))) -> Pos(Succ(vyv27200)) 214.29/145.91 new_abs(Pos(Zero)) -> Pos(Zero) 214.29/145.91 new_gcd0Gcd'11(True, vyv273, vyv272) -> new_abs(vyv273) 214.29/145.91 new_gcd0Gcd'11(False, vyv273, vyv272) -> new_gcd0Gcd'00(new_abs(vyv273), new_abs(vyv272)) 214.29/145.91 new_gcd0Gcd'00(vyv293, vyv292) -> new_gcd0Gcd'10(new_esEs(new_rem(vyv293, vyv292)), vyv292, vyv293) 214.29/145.91 new_gcd0Gcd'10(False, vyv292, vyv293) -> new_gcd0Gcd'00(vyv292, new_rem(vyv293, vyv292)) 214.29/145.91 new_rem(Pos(vyv2930), Neg(Zero)) -> new_error 214.29/145.91 new_rem(Neg(vyv2930), Pos(Zero)) -> new_error 214.29/145.91 new_rem(Pos(vyv2930), Neg(Succ(vyv29200))) -> Pos(new_primModNatS1(vyv2930, vyv29200)) 214.29/145.91 new_rem(Neg(vyv2930), Pos(Succ(vyv29200))) -> Neg(new_primModNatS1(vyv2930, vyv29200)) 214.29/145.91 new_rem(Pos(vyv2930), Pos(Succ(vyv29200))) -> Pos(new_primModNatS1(vyv2930, vyv29200)) 214.29/145.91 new_rem(Neg(vyv2930), Neg(Zero)) -> new_error 214.29/145.91 new_rem(Neg(vyv2930), Neg(Succ(vyv29200))) -> Neg(new_primModNatS1(vyv2930, vyv29200)) 214.29/145.91 new_rem(Pos(vyv2930), Pos(Zero)) -> new_error 214.29/145.91 new_gcd0Gcd'10(True, vyv292, vyv293) -> vyv292 214.29/145.91 new_primModNatS1(Succ(Zero), Succ(vyv292000)) -> Succ(Zero) 214.29/145.91 new_primModNatS1(Zero, vyv29200) -> Zero 214.29/145.91 new_primModNatS1(Succ(Succ(vyv293000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv293000), Zero) 214.29/145.91 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 214.29/145.91 new_primModNatS1(Succ(Succ(vyv293000)), Succ(vyv292000)) -> new_primModNatS01(vyv293000, vyv292000, vyv293000, vyv292000) 214.29/145.91 new_primModNatS01(vyv331, vyv332, Zero, Zero) -> new_primModNatS02(vyv331, vyv332) 214.29/145.91 new_primModNatS02(vyv331, vyv332) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv331), Succ(vyv332)), Succ(vyv332)) 214.29/145.91 new_primModNatS01(vyv331, vyv332, Succ(vyv3330), Zero) -> new_primModNatS02(vyv331, vyv332) 214.29/145.91 new_primModNatS01(vyv331, vyv332, Succ(vyv3330), Succ(vyv3340)) -> new_primModNatS01(vyv331, vyv332, vyv3330, vyv3340) 214.29/145.91 new_primModNatS01(vyv331, vyv332, Zero, Succ(vyv3340)) -> Succ(Succ(vyv331)) 214.29/145.91 new_gcd1(True, vyv273, vyv272) -> new_error 214.29/145.91 new_gcd1(False, vyv273, vyv272) -> new_gcd0(vyv273, vyv272) 214.29/145.91 new_primEqInt(Neg(Succ(vyv242000))) -> False 214.29/145.91 new_primEqInt(Pos(Zero)) -> True 214.29/145.91 new_primEqInt(Pos(Succ(vyv242000))) -> False 214.29/145.91 new_primEqInt(Neg(Zero)) -> True 214.29/145.91 new_primQuotInt(vyv2710, Neg(Zero)) -> new_error 214.29/145.91 new_primQuotInt(vyv2710, Pos(Zero)) -> new_error 214.29/145.91 new_primQuotInt(vyv2710, Neg(Succ(vyv28500))) -> Neg(new_primDivNatS1(vyv2710, vyv28500)) 214.29/145.91 new_primMulNat0(Succ(vyv24000), Zero) -> Zero 214.29/145.91 new_primMulNat0(Zero, Zero) -> Zero 214.29/145.91 new_esEs1(Integer(vyv2700)) -> new_primEqInt(vyv2700) 214.29/145.91 new_sr11(vyv184) -> error([]) 214.29/145.91 new_sr1(vyv228, ty_Double) -> new_sr11(vyv228) 214.29/145.91 new_sr1(vyv228, ty_Float) -> new_sr12(vyv228) 214.29/145.91 new_sr1(vyv228, app(ty_Ratio, bg)) -> new_sr5(vyv228, bg) 214.29/145.91 new_sr1(vyv228, ty_Integer) -> new_sr6(vyv228) 214.29/145.91 new_sr1(vyv228, ty_Int) -> new_sr7(vyv228) 214.29/145.91 new_sr3(vyv250, ty_Double) -> new_sr11(vyv250) 214.29/145.91 new_sr3(vyv250, ty_Int) -> new_sr7(vyv250) 214.29/145.91 new_sr3(vyv250, ty_Float) -> new_sr12(vyv250) 214.29/145.91 new_sr3(vyv250, ty_Integer) -> new_sr6(vyv250) 214.29/145.91 new_sr3(vyv250, app(ty_Ratio, bf)) -> new_sr5(vyv250, bf) 214.29/145.91 new_sr0(vyv184, ty_Double) -> new_sr11(vyv184) 214.29/145.91 new_sr0(vyv184, ty_Float) -> new_sr12(vyv184) 214.29/145.91 new_sr0(vyv184, ty_Int) -> new_sr7(vyv184) 214.29/145.91 new_sr0(vyv184, app(ty_Ratio, bd)) -> new_sr5(vyv184, bd) 214.29/145.91 new_sr0(vyv184, ty_Integer) -> new_sr6(vyv184) 214.29/145.91 new_ms0(vyv241, Neg(Zero)) -> Neg(Succ(vyv241)) 214.29/145.91 new_ms0(vyv241, Pos(vyv2440)) -> Neg(new_primPlusNat0(Succ(vyv241), vyv2440)) 214.29/145.91 new_ms0(vyv241, Neg(Succ(vyv24400))) -> new_primMinusNat0(vyv24400, vyv241) 214.29/145.91 new_sr4(vyv240, vyv239, app(ty_Ratio, be)) -> new_sr8(vyv240, vyv239, be) 214.29/145.91 new_sr4(vyv240, vyv239, ty_Float) -> new_sr14(vyv240, vyv239) 214.29/145.91 new_sr4(vyv240, vyv239, ty_Int) -> new_sr10(vyv240, vyv239) 214.29/145.91 new_sr4(vyv240, vyv239, ty_Double) -> new_sr13(vyv240, vyv239) 214.29/145.91 new_sr4(vyv240, vyv239, ty_Integer) -> new_sr9(vyv240, vyv239) 214.29/145.91 new_sr13(vyv240, vyv239) -> error([]) 214.29/145.91 new_sr14(vyv240, vyv239) -> error([]) 214.29/145.91 new_sr8(:%(vyv2400, vyv2401), :%(vyv2390, vyv2391), be) -> new_reduce2Reduce1(vyv2400, vyv2390, vyv2401, vyv2391, new_esEs2(vyv2401, vyv2391, be), be) 214.29/145.91 new_esEs2(vyv2401, vyv2391, ty_Integer) -> new_esEs1(new_sr9(vyv2401, vyv2391)) 214.29/145.91 new_esEs2(vyv2401, vyv2391, ty_Int) -> new_esEs(new_sr10(vyv2401, vyv2391)) 214.29/145.91 new_primMinusNat0(Succ(vyv2290), Succ(vyv245000)) -> new_primMinusNat0(vyv2290, vyv245000) 214.29/145.91 new_primMinusNat0(Zero, Zero) -> Pos(Zero) 214.29/145.91 new_primMinusNat0(Zero, Succ(vyv245000)) -> Neg(Succ(vyv245000)) 214.29/145.91 new_primMinusNat0(Succ(vyv2290), Zero) -> Pos(Succ(vyv2290)) 214.29/145.91 new_ms(vyv229, Neg(vyv2450)) -> Pos(new_primPlusNat0(Succ(vyv229), vyv2450)) 214.29/145.91 new_ms(vyv229, Pos(Succ(vyv24500))) -> new_primMinusNat0(vyv229, vyv24500) 214.29/145.91 new_ms(vyv229, Pos(Zero)) -> Pos(Succ(vyv229)) 214.29/145.91 new_sr2(vyv228, vyv227, ty_Integer) -> new_sr9(vyv228, vyv227) 214.29/145.91 new_sr2(vyv228, vyv227, ty_Int) -> new_sr10(vyv228, vyv227) 214.29/145.91 new_sr2(vyv228, vyv227, app(ty_Ratio, bg)) -> new_sr8(vyv228, vyv227, bg) 214.29/145.91 new_sr2(vyv228, vyv227, ty_Double) -> new_sr13(vyv228, vyv227) 214.29/145.91 new_sr2(vyv228, vyv227, ty_Float) -> new_sr14(vyv228, vyv227) 214.29/145.91 214.29/145.91 The set Q consists of the following terms: 214.29/145.91 214.29/145.91 new_sr13(x0, x1) 214.29/145.91 new_primDivNatS01(x0, x1, Zero, Zero) 214.29/145.91 new_gcd0Gcd'11(False, x0, x1) 214.29/145.91 new_primMulNat4(Zero) 214.29/145.91 new_gcd0Gcd'11(True, x0, x1) 214.29/145.91 new_sr2(x0, x1, ty_Float) 214.29/145.91 new_sr5(:%(x0, x1), x2) 214.29/145.91 new_primEqInt(Pos(Zero)) 214.29/145.91 new_ms(x0, Neg(x1)) 214.29/145.91 new_sr2(x0, x1, ty_Double) 214.29/145.91 new_esEs(Pos(Succ(x0))) 214.29/145.91 new_primQuotInt0(x0, Neg(Zero)) 214.29/145.91 new_primMulNat3(Zero) 214.29/145.91 new_primModNatS02(x0, x1) 214.29/145.91 new_sr(x0, ty_Double) 214.29/145.91 new_sr0(x0, ty_Double) 214.29/145.91 new_primDivNatS1(Succ(Zero), Zero) 214.29/145.91 new_primMinusNatS0(x0) 214.29/145.91 new_sr11(x0) 214.29/145.91 new_sr0(x0, app(ty_Ratio, x1)) 214.29/145.91 new_rem(Pos(x0), Neg(Succ(x1))) 214.29/145.91 new_rem(Neg(x0), Pos(Succ(x1))) 214.29/145.91 new_primMulNat0(Zero, Zero) 214.29/145.91 new_primPlusNat0(Succ(x0), Zero) 214.29/145.91 new_primMulNat0(Succ(x0), Zero) 214.29/145.91 new_sr3(x0, ty_Float) 214.29/145.91 new_primMulNat2(Zero) 214.29/145.91 new_primQuotInt(x0, Pos(Zero)) 214.29/145.91 new_primMulNat2(Succ(x0)) 214.29/145.91 new_primQuotInt(x0, Neg(Zero)) 214.29/145.91 new_rem(Neg(x0), Neg(Succ(x1))) 214.29/145.91 new_primMinusNatS2(Zero, Succ(x0)) 214.29/145.91 new_sr(x0, ty_Int) 214.29/145.91 new_sr4(x0, x1, ty_Double) 214.29/145.91 new_primMulNat3(Succ(x0)) 214.29/145.91 new_sr0(x0, ty_Float) 214.29/145.91 new_esEs1(Integer(x0)) 214.29/145.91 new_primQuotInt0(x0, Pos(Zero)) 214.29/145.91 new_gcd2(True, x0, x1) 214.29/145.91 new_quot1(x0, x1, x2, x3, ty_Int) 214.29/145.91 new_primDivNatS1(Zero, x0) 214.29/145.91 new_primMinusNat0(Zero, Zero) 214.29/145.91 new_gcd(x0, x1) 214.29/145.91 new_gcd1(False, x0, x1) 214.29/145.91 new_esEs2(x0, x1, ty_Int) 214.29/145.91 new_sr3(x0, ty_Integer) 214.29/145.91 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 214.29/145.91 new_sr1(x0, app(ty_Ratio, x1)) 214.29/145.91 new_sr1(x0, ty_Float) 214.29/145.91 new_primPlusNat0(Zero, Succ(x0)) 214.29/145.91 new_sr8(:%(x0, x1), :%(x2, x3), x4) 214.29/145.91 new_abs(Neg(Zero)) 214.29/145.91 new_primMinusNatS2(Succ(x0), Zero) 214.29/145.91 new_error 214.29/145.91 new_primModNatS1(Succ(Zero), Zero) 214.29/145.91 new_primMulNat4(Succ(x0)) 214.29/145.91 new_sr1(x0, ty_Integer) 214.29/145.91 new_primDivNatS02(x0, x1) 214.29/145.91 new_sr1(x0, ty_Int) 214.29/145.91 new_rem(Neg(x0), Neg(Zero)) 214.29/145.91 new_primMinusNat0(Zero, Succ(x0)) 214.29/145.91 new_primEqInt(Neg(Zero)) 214.29/145.91 new_rem(Pos(x0), Pos(Succ(x1))) 214.29/145.91 new_abs(Pos(Succ(x0))) 214.29/145.91 new_primMulNat0(Succ(x0), Succ(x1)) 214.29/145.91 new_primMulNat0(Zero, Succ(x0)) 214.29/145.91 new_reduce2Reduce1(x0, x1, x2, x3, True, x4) 214.29/145.91 new_sr(x0, ty_Float) 214.29/145.91 new_gcd0Gcd'10(False, x0, x1) 214.29/145.91 new_sr12(x0) 214.29/145.91 new_primDivNatS01(x0, x1, Zero, Succ(x2)) 214.29/145.91 new_sr10(Pos(x0), Pos(x1)) 214.29/145.91 new_primModNatS01(x0, x1, Zero, Succ(x2)) 214.29/145.91 new_primPlusNat0(Zero, Zero) 214.29/145.91 new_sr(x0, ty_Integer) 214.29/145.91 new_primQuotInt0(x0, Pos(Succ(x1))) 214.29/145.91 new_primModNatS01(x0, x1, Succ(x2), Zero) 214.29/145.91 new_ms(x0, Pos(Succ(x1))) 214.29/145.91 new_primModNatS1(Succ(Succ(x0)), Zero) 214.29/145.91 new_sr4(x0, x1, ty_Integer) 214.29/145.91 new_rem(Pos(x0), Pos(Zero)) 214.29/145.91 new_sr4(x0, x1, ty_Int) 214.29/145.91 new_ms0(x0, Neg(Succ(x1))) 214.29/145.91 new_quot(Pos(x0), x1, x2) 214.29/145.91 new_primMinusNatS2(Zero, Zero) 214.29/145.91 new_esEs0(x0, ty_Int) 214.29/145.91 new_primMinusNat0(Succ(x0), Zero) 214.29/145.91 new_ms0(x0, Pos(x1)) 214.29/145.91 new_esEs(Pos(Zero)) 214.29/145.91 new_quot(Neg(x0), x1, x2) 214.29/145.91 new_primDivNatS01(x0, x1, Succ(x2), Succ(x3)) 214.29/145.91 new_quot2(x0, x1, x2) 214.29/145.91 new_primEqInt(Neg(Succ(x0))) 214.29/145.91 new_sr10(Neg(x0), Neg(x1)) 214.29/145.91 new_sr3(x0, app(ty_Ratio, x1)) 214.29/145.91 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 214.29/145.91 new_sr9(x0, x1) 214.29/145.91 new_sr2(x0, x1, ty_Integer) 214.29/145.91 new_sr7(Neg(x0)) 214.29/145.91 new_sr1(x0, ty_Double) 214.29/145.91 new_primQuotInt0(x0, Neg(Succ(x1))) 214.29/145.91 new_sr0(x0, ty_Integer) 214.29/145.91 new_rem(Pos(x0), Neg(Zero)) 214.29/145.91 new_rem(Neg(x0), Pos(Zero)) 214.29/145.91 new_gcd0Gcd'00(x0, x1) 214.29/145.91 new_primQuotInt(x0, Neg(Succ(x1))) 214.29/145.91 new_primMinusNatS2(Succ(x0), Succ(x1)) 214.29/145.91 new_ms(x0, Pos(Zero)) 214.29/145.91 new_abs(Pos(Zero)) 214.29/145.91 new_primMinusNat0(Succ(x0), Succ(x1)) 214.29/145.91 new_quot0(x0, x1, x2, x3, ty_Integer) 214.29/145.91 new_sr0(x0, ty_Int) 214.29/145.91 new_sr6(x0) 214.29/145.91 new_gcd2(False, x0, x1) 214.29/145.91 new_gcd1(True, x0, x1) 214.29/145.91 new_esEs2(x0, x1, ty_Integer) 214.29/145.91 new_primMinusNatS1 214.29/145.91 new_sr7(Pos(x0)) 214.29/145.91 new_gcd0Gcd'10(True, x0, x1) 214.29/145.91 new_primModNatS1(Zero, x0) 214.29/145.91 new_sr4(x0, x1, ty_Float) 214.29/145.91 new_sr10(Pos(x0), Neg(x1)) 214.29/145.91 new_sr10(Neg(x0), Pos(x1)) 214.29/145.91 new_primDivNatS01(x0, x1, Succ(x2), Zero) 214.29/145.91 new_primDivNatS1(Succ(Succ(x0)), Succ(x1)) 214.29/145.91 new_primPlusNat0(Succ(x0), Succ(x1)) 214.29/145.91 new_primDivNatS1(Succ(Zero), Succ(x0)) 214.29/145.91 new_primQuotInt(x0, Pos(Succ(x1))) 214.29/145.91 new_sr2(x0, x1, app(ty_Ratio, x2)) 214.29/145.91 new_abs(Neg(Succ(x0))) 214.29/145.91 new_esEs0(x0, ty_Integer) 214.29/145.91 new_sr3(x0, ty_Int) 214.29/145.91 new_esEs(Neg(Succ(x0))) 214.29/145.91 new_sr(x0, app(ty_Ratio, x1)) 214.29/145.91 new_ms0(x0, Neg(Zero)) 214.29/145.91 new_primModNatS01(x0, x1, Zero, Zero) 214.29/145.91 new_sr4(x0, x1, app(ty_Ratio, x2)) 214.29/145.91 new_gcd0(x0, x1) 214.29/145.91 new_primEqInt(Pos(Succ(x0))) 214.29/145.91 new_sr3(x0, ty_Double) 214.29/145.91 new_quot1(x0, x1, x2, x3, ty_Integer) 214.29/145.91 new_primDivNatS1(Succ(Succ(x0)), Zero) 214.29/145.91 new_primMulNat1(Succ(x0)) 214.29/145.91 new_sr14(x0, x1) 214.29/145.91 new_quot0(x0, x1, x2, x3, ty_Int) 214.29/145.91 new_sr2(x0, x1, ty_Int) 214.29/145.91 new_primModNatS1(Succ(Zero), Succ(x0)) 214.29/145.91 new_reduce2Reduce1(x0, x1, x2, x3, False, x4) 214.29/145.91 new_esEs(Neg(Zero)) 214.29/145.91 new_primMulNat1(Zero) 214.29/145.91 214.29/145.91 We have to consider all minimal (P,Q,R)-chains. 214.29/145.91 ---------------------------------------- 214.29/145.91 214.29/145.91 (718) TransformationProof (EQUIVALENT) 214.29/145.91 By rewriting [LPAR04] the rule new_pr2F0G(vyv188, vyv184, Neg(Zero), h) -> new_pr2F0G(vyv188, new_sr0(vyv184, h), new_primQuotInt0(Zero, Pos(Succ(Succ(Zero)))), h) at position [2] we obtained the following new rules [LPAR04]: 214.29/145.91 214.29/145.91 (new_pr2F0G(vyv188, vyv184, Neg(Zero), h) -> new_pr2F0G(vyv188, new_sr0(vyv184, h), Neg(new_primDivNatS1(Zero, Succ(Zero))), h),new_pr2F0G(vyv188, vyv184, Neg(Zero), h) -> new_pr2F0G(vyv188, new_sr0(vyv184, h), Neg(new_primDivNatS1(Zero, Succ(Zero))), h)) 214.29/145.91 214.29/145.91 214.29/145.91 ---------------------------------------- 214.29/145.91 214.29/145.91 (719) 214.29/145.91 Obligation: 214.29/145.91 Q DP problem: 214.29/145.91 The TRS P consists of the following rules: 214.29/145.91 214.29/145.91 new_pr2F0G10(vyv249, vyv250, vyv251, Succ(Succ(vyv25200)), bb) -> new_pr2F0G10(vyv249, vyv250, vyv251, vyv25200, bb) 214.29/145.91 new_pr2F0G(vyv188, vyv184, Neg(Succ(Zero)), h) -> new_pr2F0G11(vyv188, vyv184, Zero, h) 214.29/145.91 new_pr2F0G(vyv188, vyv184, Pos(Succ(Succ(vyv223000))), h) -> new_pr2F0G1(vyv188, vyv184, Succ(vyv223000), vyv223000, h) 214.29/145.91 new_pr2F0(vyv184, Neg(Succ(Succ(vyv223000))), vyv188, h) -> new_pr2F0G10(vyv188, vyv184, Succ(vyv223000), vyv223000, h) 214.29/145.91 new_pr2F0(vyv184, Neg(Succ(Zero)), vyv188, h) -> new_pr2F0G11(vyv188, vyv184, Zero, h) 214.29/145.91 new_pr2F0G10(vyv249, vyv250, vyv251, Succ(Zero), bb) -> new_pr2F0G11(vyv249, vyv250, vyv251, bb) 214.29/145.91 new_pr2F0G(vyv188, vyv184, Neg(Succ(Succ(vyv223000))), h) -> new_pr2F0G10(vyv188, vyv184, Succ(vyv223000), vyv223000, h) 214.29/145.91 new_pr2F3(False, vyv228, vyv229, vyv245, vyv227, ba) -> new_pr2F0(vyv228, new_ms(vyv229, vyv245), new_sr2(vyv228, vyv227, ba), ba) 214.29/145.91 new_pr2F0(vyv184, Pos(Succ(Succ(vyv223000))), vyv188, h) -> new_pr2F0G1(vyv188, vyv184, Succ(vyv223000), vyv223000, h) 214.29/145.91 new_pr2F1(vyv240, vyv241, vyv244, vyv239, bc) -> new_pr2F30(new_esEs(new_ms0(vyv241, vyv244)), vyv240, vyv241, vyv244, vyv239, bc) 214.29/145.91 new_pr2F(vyv228, vyv229, vyv245, vyv227, ba) -> new_pr2F3(new_esEs(new_ms(vyv229, vyv245)), vyv228, vyv229, vyv245, vyv227, ba) 214.29/145.91 new_pr2F0G1(vyv227, vyv228, vyv229, Succ(Succ(vyv23000)), ba) -> new_pr2F0G1(vyv227, vyv228, vyv229, vyv23000, ba) 214.29/145.91 new_pr2F30(False, vyv240, vyv241, vyv244, vyv239, bc) -> new_pr2F0(vyv240, new_ms0(vyv241, vyv244), new_sr4(vyv240, vyv239, bc), bc) 214.29/145.91 new_pr2F0G11(vyv239, vyv240, vyv241, bc) -> new_pr2F1(vyv240, vyv241, Pos(Succ(Zero)), vyv239, bc) 214.29/145.91 new_pr2F0G10(vyv249, vyv250, vyv251, Zero, bb) -> new_pr2F0G(vyv249, new_sr3(vyv250, bb), new_primQuotInt0(Succ(vyv251), Pos(Succ(Succ(Zero)))), bb) 214.29/145.91 new_pr2F0(vyv184, Pos(Succ(Zero)), vyv188, h) -> new_pr2F(vyv184, Zero, Pos(Succ(Zero)), vyv188, h) 214.29/145.91 new_pr2F0G1(vyv227, vyv228, vyv229, Succ(Zero), ba) -> new_pr2F(vyv228, vyv229, Pos(Succ(Zero)), vyv227, ba) 214.29/145.91 new_pr2F0G(vyv188, vyv184, Pos(Succ(Zero)), h) -> new_pr2F(vyv184, Zero, Pos(Succ(Zero)), vyv188, h) 214.29/145.91 new_pr2F0G(vyv188, vyv184, Pos(Zero), h) -> new_pr2F0G(vyv188, new_sr(vyv184, h), new_primQuotInt(Zero, Pos(Succ(Succ(Zero)))), h) 214.29/145.91 new_pr2F0G1(vyv227, vyv228, vyv229, Zero, ba) -> new_pr2F0G(vyv227, new_sr1(vyv228, ba), new_primQuotInt(Succ(vyv229), Pos(Succ(Succ(Zero)))), ba) 214.29/145.91 new_pr2F0(vyv184, Pos(Zero), vyv188, h) -> new_pr2F0G(vyv188, new_sr(vyv184, h), new_primQuotInt(Zero, Pos(Succ(Succ(Zero)))), h) 214.29/145.91 new_pr2F0(vyv184, Neg(Zero), vyv188, h) -> new_pr2F0G(vyv188, new_sr0(vyv184, h), Neg(new_primDivNatS1(Zero, Succ(Zero))), h) 214.29/145.91 new_pr2F0G(vyv188, vyv184, Neg(Zero), h) -> new_pr2F0G(vyv188, new_sr0(vyv184, h), Neg(new_primDivNatS1(Zero, Succ(Zero))), h) 214.29/145.91 214.29/145.91 The TRS R consists of the following rules: 214.29/145.91 214.29/145.91 new_sr(vyv184, ty_Double) -> new_sr11(vyv184) 214.29/145.91 new_sr(vyv184, app(ty_Ratio, bd)) -> new_sr5(vyv184, bd) 214.29/145.91 new_sr(vyv184, ty_Float) -> new_sr12(vyv184) 214.29/145.91 new_sr(vyv184, ty_Int) -> new_sr7(vyv184) 214.29/145.91 new_sr(vyv184, ty_Integer) -> new_sr6(vyv184) 214.29/145.91 new_primQuotInt(vyv2710, Pos(Succ(vyv28500))) -> Pos(new_primDivNatS1(vyv2710, vyv28500)) 214.29/145.91 new_primDivNatS1(Zero, vyv28500) -> Zero 214.29/145.91 new_primDivNatS1(Succ(Succ(vyv271000)), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS0(vyv271000), Zero)) 214.29/145.91 new_primDivNatS1(Succ(Zero), Succ(vyv285000)) -> Zero 214.29/145.91 new_primDivNatS1(Succ(Succ(vyv271000)), Succ(vyv285000)) -> new_primDivNatS01(vyv271000, vyv285000, vyv271000, vyv285000) 214.29/145.91 new_primDivNatS1(Succ(Zero), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS1, Zero)) 214.29/145.91 new_primMinusNatS1 -> Zero 214.29/145.91 new_primDivNatS01(vyv311, vyv312, Succ(vyv3130), Zero) -> new_primDivNatS02(vyv311, vyv312) 214.29/145.91 new_primDivNatS01(vyv311, vyv312, Zero, Succ(vyv3140)) -> Zero 214.29/145.91 new_primDivNatS01(vyv311, vyv312, Succ(vyv3130), Succ(vyv3140)) -> new_primDivNatS01(vyv311, vyv312, vyv3130, vyv3140) 214.29/145.91 new_primDivNatS01(vyv311, vyv312, Zero, Zero) -> new_primDivNatS02(vyv311, vyv312) 214.29/145.91 new_primDivNatS02(vyv311, vyv312) -> Succ(new_primDivNatS1(new_primMinusNatS2(vyv311, vyv312), Succ(vyv312))) 214.29/145.91 new_primMinusNatS2(Zero, Succ(vyv3120)) -> Zero 214.29/145.91 new_primMinusNatS2(Succ(vyv3110), Zero) -> Succ(vyv3110) 214.29/145.91 new_primMinusNatS2(Zero, Zero) -> Zero 214.29/145.91 new_primMinusNatS2(Succ(vyv3110), Succ(vyv3120)) -> new_primMinusNatS2(vyv3110, vyv3120) 214.29/145.91 new_primMinusNatS0(vyv271000) -> Succ(vyv271000) 214.29/145.91 new_sr6(vyv184) -> error([]) 214.29/145.91 new_sr7(Pos(vyv1840)) -> Pos(new_primMulNat1(vyv1840)) 214.29/145.91 new_sr7(Neg(vyv1840)) -> Pos(new_primMulNat1(vyv1840)) 214.29/145.91 new_primMulNat1(Succ(vyv18400)) -> new_primPlusNat0(new_primMulNat2(vyv18400), Succ(vyv18400)) 214.29/145.91 new_primMulNat1(Zero) -> Zero 214.29/145.91 new_primMulNat2(Succ(vyv184000)) -> new_primPlusNat0(new_primMulNat3(vyv184000), Succ(Succ(vyv184000))) 214.29/145.91 new_primMulNat2(Zero) -> Zero 214.29/145.91 new_primPlusNat0(Succ(vyv4000), Succ(vyv6000)) -> Succ(Succ(new_primPlusNat0(vyv4000, vyv6000))) 214.29/145.91 new_primPlusNat0(Zero, Succ(vyv6000)) -> Succ(vyv6000) 214.29/145.91 new_primPlusNat0(Zero, Zero) -> Zero 214.29/145.91 new_primPlusNat0(Succ(vyv4000), Zero) -> Succ(vyv4000) 214.29/145.91 new_primMulNat3(Succ(vyv1840000)) -> new_primPlusNat0(new_primMulNat4(vyv1840000), Succ(Succ(Succ(vyv1840000)))) 214.29/145.91 new_primMulNat3(Zero) -> Zero 214.29/145.91 new_primMulNat4(Succ(vyv18400000)) -> new_primPlusNat0(new_primMulNat0(vyv18400000, Succ(Succ(Succ(Succ(vyv18400000))))), Succ(Succ(Succ(Succ(vyv18400000))))) 214.29/145.91 new_primMulNat4(Zero) -> Zero 214.29/145.91 new_primMulNat0(Zero, Succ(vyv23900)) -> Zero 214.29/145.91 new_primMulNat0(Succ(vyv24000), Succ(vyv23900)) -> new_primPlusNat0(new_primMulNat0(vyv24000, Succ(vyv23900)), Succ(vyv23900)) 214.29/145.91 new_sr12(vyv184) -> error([]) 214.29/145.91 new_sr5(:%(vyv1840, vyv1841), bd) -> new_reduce2Reduce1(vyv1840, vyv1840, vyv1841, vyv1841, new_esEs0(vyv1841, bd), bd) 214.29/145.91 new_esEs0(vyv1841, ty_Int) -> new_esEs(new_sr7(vyv1841)) 214.29/145.91 new_esEs0(vyv1841, ty_Integer) -> new_esEs1(new_sr6(vyv1841)) 214.29/145.91 new_reduce2Reduce1(vyv265, vyv266, vyv267, vyv268, False, bh) -> :%(new_quot0(vyv265, vyv266, vyv267, vyv268, bh), new_quot1(vyv267, vyv268, vyv265, vyv266, bh)) 214.29/145.91 new_reduce2Reduce1(vyv265, vyv266, vyv267, vyv268, True, bh) -> error([]) 214.29/145.91 new_quot0(vyv265, vyv266, vyv267, vyv268, ty_Integer) -> new_quot2(new_sr9(vyv265, vyv266), new_sr9(vyv265, vyv266), new_sr9(vyv267, vyv268)) 214.29/145.91 new_quot0(vyv265, vyv266, vyv267, vyv268, ty_Int) -> new_quot(new_sr10(vyv265, vyv266), new_sr10(vyv265, vyv266), new_sr10(vyv267, vyv268)) 214.29/145.91 new_quot1(vyv267, vyv268, vyv265, vyv266, ty_Int) -> new_quot(new_sr10(vyv267, vyv268), new_sr10(vyv265, vyv266), new_sr10(vyv267, vyv268)) 214.29/145.91 new_quot1(vyv267, vyv268, vyv265, vyv266, ty_Integer) -> new_quot2(new_sr9(vyv267, vyv268), new_sr9(vyv265, vyv266), new_sr9(vyv267, vyv268)) 214.29/145.91 new_sr9(vyv240, vyv239) -> error([]) 214.29/145.91 new_quot2(vyv274, vyv276, vyv275) -> error([]) 214.29/145.91 new_sr10(Pos(vyv2400), Pos(vyv2390)) -> Pos(new_primMulNat0(vyv2400, vyv2390)) 214.29/145.91 new_sr10(Neg(vyv2400), Neg(vyv2390)) -> Pos(new_primMulNat0(vyv2400, vyv2390)) 214.29/145.91 new_sr10(Pos(vyv2400), Neg(vyv2390)) -> Neg(new_primMulNat0(vyv2400, vyv2390)) 214.29/145.91 new_sr10(Neg(vyv2400), Pos(vyv2390)) -> Neg(new_primMulNat0(vyv2400, vyv2390)) 214.29/145.91 new_quot(Pos(vyv2710), vyv273, vyv272) -> new_primQuotInt(vyv2710, new_gcd(vyv273, vyv272)) 214.29/145.91 new_quot(Neg(vyv2710), vyv273, vyv272) -> new_primQuotInt0(vyv2710, new_gcd(vyv273, vyv272)) 214.29/145.91 new_gcd(vyv273, vyv272) -> new_gcd2(new_esEs(vyv273), vyv273, vyv272) 214.29/145.91 new_primQuotInt0(vyv2710, Pos(Succ(vyv28800))) -> Neg(new_primDivNatS1(vyv2710, vyv28800)) 214.29/145.91 new_primQuotInt0(vyv2710, Neg(Zero)) -> new_error 214.29/145.91 new_primQuotInt0(vyv2710, Neg(Succ(vyv28800))) -> Pos(new_primDivNatS1(vyv2710, vyv28800)) 214.29/145.91 new_primQuotInt0(vyv2710, Pos(Zero)) -> new_error 214.29/145.91 new_error -> error([]) 214.29/145.91 new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) 214.29/145.91 new_esEs(Pos(Succ(vyv24300))) -> new_primEqInt(Pos(Succ(vyv24300))) 214.29/145.91 new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) 214.29/145.91 new_esEs(Neg(Succ(vyv24300))) -> new_primEqInt(Neg(Succ(vyv24300))) 214.29/145.91 new_gcd2(True, vyv273, vyv272) -> new_gcd1(new_esEs(vyv272), vyv273, vyv272) 214.29/145.91 new_gcd2(False, vyv273, vyv272) -> new_gcd0(vyv273, vyv272) 214.29/145.91 new_gcd0(vyv273, vyv272) -> new_gcd0Gcd'11(new_esEs(new_abs(vyv272)), vyv273, vyv272) 214.29/145.91 new_abs(Neg(Zero)) -> Neg(Zero) 214.29/145.91 new_abs(Neg(Succ(vyv27200))) -> Pos(Succ(vyv27200)) 214.29/145.91 new_abs(Pos(Succ(vyv27200))) -> Pos(Succ(vyv27200)) 214.29/145.91 new_abs(Pos(Zero)) -> Pos(Zero) 214.29/145.91 new_gcd0Gcd'11(True, vyv273, vyv272) -> new_abs(vyv273) 214.29/145.91 new_gcd0Gcd'11(False, vyv273, vyv272) -> new_gcd0Gcd'00(new_abs(vyv273), new_abs(vyv272)) 214.29/145.91 new_gcd0Gcd'00(vyv293, vyv292) -> new_gcd0Gcd'10(new_esEs(new_rem(vyv293, vyv292)), vyv292, vyv293) 214.29/145.91 new_gcd0Gcd'10(False, vyv292, vyv293) -> new_gcd0Gcd'00(vyv292, new_rem(vyv293, vyv292)) 214.29/145.91 new_rem(Pos(vyv2930), Neg(Zero)) -> new_error 214.29/145.91 new_rem(Neg(vyv2930), Pos(Zero)) -> new_error 214.29/145.91 new_rem(Pos(vyv2930), Neg(Succ(vyv29200))) -> Pos(new_primModNatS1(vyv2930, vyv29200)) 214.29/145.91 new_rem(Neg(vyv2930), Pos(Succ(vyv29200))) -> Neg(new_primModNatS1(vyv2930, vyv29200)) 214.29/145.91 new_rem(Pos(vyv2930), Pos(Succ(vyv29200))) -> Pos(new_primModNatS1(vyv2930, vyv29200)) 214.29/145.91 new_rem(Neg(vyv2930), Neg(Zero)) -> new_error 214.29/145.91 new_rem(Neg(vyv2930), Neg(Succ(vyv29200))) -> Neg(new_primModNatS1(vyv2930, vyv29200)) 214.29/145.91 new_rem(Pos(vyv2930), Pos(Zero)) -> new_error 214.29/145.91 new_gcd0Gcd'10(True, vyv292, vyv293) -> vyv292 214.29/145.91 new_primModNatS1(Succ(Zero), Succ(vyv292000)) -> Succ(Zero) 214.29/145.91 new_primModNatS1(Zero, vyv29200) -> Zero 214.29/145.91 new_primModNatS1(Succ(Succ(vyv293000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv293000), Zero) 214.29/145.91 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 214.29/145.91 new_primModNatS1(Succ(Succ(vyv293000)), Succ(vyv292000)) -> new_primModNatS01(vyv293000, vyv292000, vyv293000, vyv292000) 214.29/145.91 new_primModNatS01(vyv331, vyv332, Zero, Zero) -> new_primModNatS02(vyv331, vyv332) 214.29/145.91 new_primModNatS02(vyv331, vyv332) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv331), Succ(vyv332)), Succ(vyv332)) 214.29/145.91 new_primModNatS01(vyv331, vyv332, Succ(vyv3330), Zero) -> new_primModNatS02(vyv331, vyv332) 214.29/145.91 new_primModNatS01(vyv331, vyv332, Succ(vyv3330), Succ(vyv3340)) -> new_primModNatS01(vyv331, vyv332, vyv3330, vyv3340) 214.29/145.91 new_primModNatS01(vyv331, vyv332, Zero, Succ(vyv3340)) -> Succ(Succ(vyv331)) 214.29/145.91 new_gcd1(True, vyv273, vyv272) -> new_error 214.29/145.91 new_gcd1(False, vyv273, vyv272) -> new_gcd0(vyv273, vyv272) 214.29/145.91 new_primEqInt(Neg(Succ(vyv242000))) -> False 214.29/145.91 new_primEqInt(Pos(Zero)) -> True 214.29/145.91 new_primEqInt(Pos(Succ(vyv242000))) -> False 214.29/145.91 new_primEqInt(Neg(Zero)) -> True 214.29/145.91 new_primQuotInt(vyv2710, Neg(Zero)) -> new_error 214.29/145.91 new_primQuotInt(vyv2710, Pos(Zero)) -> new_error 214.29/145.91 new_primQuotInt(vyv2710, Neg(Succ(vyv28500))) -> Neg(new_primDivNatS1(vyv2710, vyv28500)) 214.29/145.91 new_primMulNat0(Succ(vyv24000), Zero) -> Zero 214.29/145.91 new_primMulNat0(Zero, Zero) -> Zero 214.29/145.91 new_esEs1(Integer(vyv2700)) -> new_primEqInt(vyv2700) 214.29/145.91 new_sr11(vyv184) -> error([]) 214.29/145.91 new_sr1(vyv228, ty_Double) -> new_sr11(vyv228) 214.29/145.91 new_sr1(vyv228, ty_Float) -> new_sr12(vyv228) 214.29/145.91 new_sr1(vyv228, app(ty_Ratio, bg)) -> new_sr5(vyv228, bg) 214.29/145.91 new_sr1(vyv228, ty_Integer) -> new_sr6(vyv228) 214.29/145.91 new_sr1(vyv228, ty_Int) -> new_sr7(vyv228) 214.29/145.91 new_sr3(vyv250, ty_Double) -> new_sr11(vyv250) 214.29/145.91 new_sr3(vyv250, ty_Int) -> new_sr7(vyv250) 214.29/145.91 new_sr3(vyv250, ty_Float) -> new_sr12(vyv250) 214.29/145.91 new_sr3(vyv250, ty_Integer) -> new_sr6(vyv250) 214.29/145.91 new_sr3(vyv250, app(ty_Ratio, bf)) -> new_sr5(vyv250, bf) 214.29/145.91 new_sr0(vyv184, ty_Double) -> new_sr11(vyv184) 214.29/145.91 new_sr0(vyv184, ty_Float) -> new_sr12(vyv184) 214.29/145.91 new_sr0(vyv184, ty_Int) -> new_sr7(vyv184) 214.29/145.91 new_sr0(vyv184, app(ty_Ratio, bd)) -> new_sr5(vyv184, bd) 214.29/145.91 new_sr0(vyv184, ty_Integer) -> new_sr6(vyv184) 214.29/145.91 new_ms0(vyv241, Neg(Zero)) -> Neg(Succ(vyv241)) 214.29/145.91 new_ms0(vyv241, Pos(vyv2440)) -> Neg(new_primPlusNat0(Succ(vyv241), vyv2440)) 214.29/145.91 new_ms0(vyv241, Neg(Succ(vyv24400))) -> new_primMinusNat0(vyv24400, vyv241) 214.29/145.91 new_sr4(vyv240, vyv239, app(ty_Ratio, be)) -> new_sr8(vyv240, vyv239, be) 214.29/145.91 new_sr4(vyv240, vyv239, ty_Float) -> new_sr14(vyv240, vyv239) 214.29/145.91 new_sr4(vyv240, vyv239, ty_Int) -> new_sr10(vyv240, vyv239) 214.29/145.91 new_sr4(vyv240, vyv239, ty_Double) -> new_sr13(vyv240, vyv239) 214.29/145.91 new_sr4(vyv240, vyv239, ty_Integer) -> new_sr9(vyv240, vyv239) 214.29/145.91 new_sr13(vyv240, vyv239) -> error([]) 214.29/145.91 new_sr14(vyv240, vyv239) -> error([]) 214.29/145.91 new_sr8(:%(vyv2400, vyv2401), :%(vyv2390, vyv2391), be) -> new_reduce2Reduce1(vyv2400, vyv2390, vyv2401, vyv2391, new_esEs2(vyv2401, vyv2391, be), be) 214.29/145.91 new_esEs2(vyv2401, vyv2391, ty_Integer) -> new_esEs1(new_sr9(vyv2401, vyv2391)) 214.29/145.91 new_esEs2(vyv2401, vyv2391, ty_Int) -> new_esEs(new_sr10(vyv2401, vyv2391)) 214.29/145.91 new_primMinusNat0(Succ(vyv2290), Succ(vyv245000)) -> new_primMinusNat0(vyv2290, vyv245000) 214.29/145.91 new_primMinusNat0(Zero, Zero) -> Pos(Zero) 214.29/145.91 new_primMinusNat0(Zero, Succ(vyv245000)) -> Neg(Succ(vyv245000)) 214.29/145.91 new_primMinusNat0(Succ(vyv2290), Zero) -> Pos(Succ(vyv2290)) 214.29/145.91 new_ms(vyv229, Neg(vyv2450)) -> Pos(new_primPlusNat0(Succ(vyv229), vyv2450)) 214.29/145.91 new_ms(vyv229, Pos(Succ(vyv24500))) -> new_primMinusNat0(vyv229, vyv24500) 214.29/145.91 new_ms(vyv229, Pos(Zero)) -> Pos(Succ(vyv229)) 214.29/145.91 new_sr2(vyv228, vyv227, ty_Integer) -> new_sr9(vyv228, vyv227) 214.29/145.91 new_sr2(vyv228, vyv227, ty_Int) -> new_sr10(vyv228, vyv227) 214.29/145.91 new_sr2(vyv228, vyv227, app(ty_Ratio, bg)) -> new_sr8(vyv228, vyv227, bg) 214.29/145.91 new_sr2(vyv228, vyv227, ty_Double) -> new_sr13(vyv228, vyv227) 214.29/145.91 new_sr2(vyv228, vyv227, ty_Float) -> new_sr14(vyv228, vyv227) 214.29/145.91 214.29/145.91 The set Q consists of the following terms: 214.29/145.91 214.29/145.91 new_sr13(x0, x1) 214.29/145.91 new_primDivNatS01(x0, x1, Zero, Zero) 214.29/145.91 new_gcd0Gcd'11(False, x0, x1) 214.29/145.91 new_primMulNat4(Zero) 214.29/145.91 new_gcd0Gcd'11(True, x0, x1) 214.29/145.91 new_sr2(x0, x1, ty_Float) 214.29/145.91 new_sr5(:%(x0, x1), x2) 214.29/145.91 new_primEqInt(Pos(Zero)) 214.29/145.91 new_ms(x0, Neg(x1)) 214.29/145.91 new_sr2(x0, x1, ty_Double) 214.29/145.91 new_esEs(Pos(Succ(x0))) 214.29/145.91 new_primQuotInt0(x0, Neg(Zero)) 214.29/145.91 new_primMulNat3(Zero) 214.29/145.91 new_primModNatS02(x0, x1) 214.29/145.91 new_sr(x0, ty_Double) 214.29/145.91 new_sr0(x0, ty_Double) 214.29/145.91 new_primDivNatS1(Succ(Zero), Zero) 214.29/145.91 new_primMinusNatS0(x0) 214.29/145.91 new_sr11(x0) 214.29/145.91 new_sr0(x0, app(ty_Ratio, x1)) 214.29/145.91 new_rem(Pos(x0), Neg(Succ(x1))) 214.29/145.91 new_rem(Neg(x0), Pos(Succ(x1))) 214.29/145.91 new_primMulNat0(Zero, Zero) 214.29/145.91 new_primPlusNat0(Succ(x0), Zero) 214.29/145.91 new_primMulNat0(Succ(x0), Zero) 214.29/145.91 new_sr3(x0, ty_Float) 214.29/145.91 new_primMulNat2(Zero) 214.29/145.91 new_primQuotInt(x0, Pos(Zero)) 214.29/145.91 new_primMulNat2(Succ(x0)) 214.29/145.91 new_primQuotInt(x0, Neg(Zero)) 214.29/145.91 new_rem(Neg(x0), Neg(Succ(x1))) 214.29/145.91 new_primMinusNatS2(Zero, Succ(x0)) 214.29/145.91 new_sr(x0, ty_Int) 214.29/145.91 new_sr4(x0, x1, ty_Double) 214.29/145.91 new_primMulNat3(Succ(x0)) 214.29/145.91 new_sr0(x0, ty_Float) 214.29/145.91 new_esEs1(Integer(x0)) 214.29/145.91 new_primQuotInt0(x0, Pos(Zero)) 214.29/145.91 new_gcd2(True, x0, x1) 214.29/145.91 new_quot1(x0, x1, x2, x3, ty_Int) 214.29/145.91 new_primDivNatS1(Zero, x0) 214.29/145.91 new_primMinusNat0(Zero, Zero) 214.29/145.91 new_gcd(x0, x1) 214.29/145.91 new_gcd1(False, x0, x1) 214.29/145.91 new_esEs2(x0, x1, ty_Int) 214.29/145.91 new_sr3(x0, ty_Integer) 214.29/145.91 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 214.29/145.91 new_sr1(x0, app(ty_Ratio, x1)) 214.29/145.91 new_sr1(x0, ty_Float) 214.29/145.91 new_primPlusNat0(Zero, Succ(x0)) 214.29/145.91 new_sr8(:%(x0, x1), :%(x2, x3), x4) 214.29/145.91 new_abs(Neg(Zero)) 214.29/145.91 new_primMinusNatS2(Succ(x0), Zero) 214.29/145.91 new_error 214.29/145.91 new_primModNatS1(Succ(Zero), Zero) 214.29/145.91 new_primMulNat4(Succ(x0)) 214.29/145.91 new_sr1(x0, ty_Integer) 214.29/145.91 new_primDivNatS02(x0, x1) 214.29/145.91 new_sr1(x0, ty_Int) 214.29/145.91 new_rem(Neg(x0), Neg(Zero)) 214.29/145.91 new_primMinusNat0(Zero, Succ(x0)) 214.29/145.91 new_primEqInt(Neg(Zero)) 214.29/145.91 new_rem(Pos(x0), Pos(Succ(x1))) 214.29/145.91 new_abs(Pos(Succ(x0))) 214.29/145.91 new_primMulNat0(Succ(x0), Succ(x1)) 214.29/145.91 new_primMulNat0(Zero, Succ(x0)) 214.29/145.91 new_reduce2Reduce1(x0, x1, x2, x3, True, x4) 214.29/145.91 new_sr(x0, ty_Float) 214.29/145.91 new_gcd0Gcd'10(False, x0, x1) 214.29/145.91 new_sr12(x0) 214.29/145.91 new_primDivNatS01(x0, x1, Zero, Succ(x2)) 214.29/145.91 new_sr10(Pos(x0), Pos(x1)) 214.29/145.91 new_primModNatS01(x0, x1, Zero, Succ(x2)) 214.29/145.91 new_primPlusNat0(Zero, Zero) 214.29/145.91 new_sr(x0, ty_Integer) 214.29/145.91 new_primQuotInt0(x0, Pos(Succ(x1))) 214.29/145.91 new_primModNatS01(x0, x1, Succ(x2), Zero) 214.29/145.91 new_ms(x0, Pos(Succ(x1))) 214.29/145.91 new_primModNatS1(Succ(Succ(x0)), Zero) 214.29/145.91 new_sr4(x0, x1, ty_Integer) 214.29/145.91 new_rem(Pos(x0), Pos(Zero)) 214.29/145.91 new_sr4(x0, x1, ty_Int) 214.29/145.91 new_ms0(x0, Neg(Succ(x1))) 214.29/145.91 new_quot(Pos(x0), x1, x2) 214.29/145.91 new_primMinusNatS2(Zero, Zero) 214.29/145.91 new_esEs0(x0, ty_Int) 214.29/145.91 new_primMinusNat0(Succ(x0), Zero) 214.29/145.91 new_ms0(x0, Pos(x1)) 214.29/145.91 new_esEs(Pos(Zero)) 214.29/145.91 new_quot(Neg(x0), x1, x2) 214.29/145.91 new_primDivNatS01(x0, x1, Succ(x2), Succ(x3)) 214.29/145.91 new_quot2(x0, x1, x2) 214.29/145.91 new_primEqInt(Neg(Succ(x0))) 214.29/145.91 new_sr10(Neg(x0), Neg(x1)) 214.29/145.91 new_sr3(x0, app(ty_Ratio, x1)) 214.29/145.91 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 214.29/145.91 new_sr9(x0, x1) 214.29/145.91 new_sr2(x0, x1, ty_Integer) 214.29/145.91 new_sr7(Neg(x0)) 214.29/145.91 new_sr1(x0, ty_Double) 214.29/145.91 new_primQuotInt0(x0, Neg(Succ(x1))) 214.29/145.91 new_sr0(x0, ty_Integer) 214.29/145.91 new_rem(Pos(x0), Neg(Zero)) 214.29/145.91 new_rem(Neg(x0), Pos(Zero)) 214.29/145.91 new_gcd0Gcd'00(x0, x1) 214.29/145.91 new_primQuotInt(x0, Neg(Succ(x1))) 214.29/145.91 new_primMinusNatS2(Succ(x0), Succ(x1)) 214.29/145.91 new_ms(x0, Pos(Zero)) 214.29/145.91 new_abs(Pos(Zero)) 214.29/145.91 new_primMinusNat0(Succ(x0), Succ(x1)) 214.29/145.91 new_quot0(x0, x1, x2, x3, ty_Integer) 214.29/145.91 new_sr0(x0, ty_Int) 214.29/145.91 new_sr6(x0) 214.29/145.91 new_gcd2(False, x0, x1) 214.29/145.91 new_gcd1(True, x0, x1) 214.29/145.91 new_esEs2(x0, x1, ty_Integer) 214.29/145.91 new_primMinusNatS1 214.29/145.91 new_sr7(Pos(x0)) 214.29/145.91 new_gcd0Gcd'10(True, x0, x1) 214.29/145.91 new_primModNatS1(Zero, x0) 214.29/145.91 new_sr4(x0, x1, ty_Float) 214.29/145.91 new_sr10(Pos(x0), Neg(x1)) 214.29/145.91 new_sr10(Neg(x0), Pos(x1)) 214.29/145.91 new_primDivNatS01(x0, x1, Succ(x2), Zero) 214.29/145.91 new_primDivNatS1(Succ(Succ(x0)), Succ(x1)) 214.29/145.91 new_primPlusNat0(Succ(x0), Succ(x1)) 214.29/145.91 new_primDivNatS1(Succ(Zero), Succ(x0)) 214.29/145.91 new_primQuotInt(x0, Pos(Succ(x1))) 214.29/145.91 new_sr2(x0, x1, app(ty_Ratio, x2)) 214.29/145.91 new_abs(Neg(Succ(x0))) 214.29/145.91 new_esEs0(x0, ty_Integer) 214.29/145.91 new_sr3(x0, ty_Int) 214.29/145.91 new_esEs(Neg(Succ(x0))) 214.29/145.91 new_sr(x0, app(ty_Ratio, x1)) 214.29/145.91 new_ms0(x0, Neg(Zero)) 214.29/145.91 new_primModNatS01(x0, x1, Zero, Zero) 214.29/145.91 new_sr4(x0, x1, app(ty_Ratio, x2)) 214.29/145.91 new_gcd0(x0, x1) 214.29/145.91 new_primEqInt(Pos(Succ(x0))) 214.29/145.91 new_sr3(x0, ty_Double) 214.29/145.91 new_quot1(x0, x1, x2, x3, ty_Integer) 214.29/145.91 new_primDivNatS1(Succ(Succ(x0)), Zero) 214.29/145.91 new_primMulNat1(Succ(x0)) 214.29/145.91 new_sr14(x0, x1) 214.29/145.91 new_quot0(x0, x1, x2, x3, ty_Int) 214.29/145.91 new_sr2(x0, x1, ty_Int) 214.29/145.91 new_primModNatS1(Succ(Zero), Succ(x0)) 214.29/145.91 new_reduce2Reduce1(x0, x1, x2, x3, False, x4) 214.29/145.91 new_esEs(Neg(Zero)) 214.29/145.91 new_primMulNat1(Zero) 214.29/145.91 214.29/145.91 We have to consider all minimal (P,Q,R)-chains. 214.29/145.91 ---------------------------------------- 214.29/145.91 214.29/145.91 (720) TransformationProof (EQUIVALENT) 214.29/145.91 By rewriting [LPAR04] the rule new_pr2F0G10(vyv249, vyv250, vyv251, Zero, bb) -> new_pr2F0G(vyv249, new_sr3(vyv250, bb), new_primQuotInt0(Succ(vyv251), Pos(Succ(Succ(Zero)))), bb) at position [2] we obtained the following new rules [LPAR04]: 214.29/145.91 214.29/145.91 (new_pr2F0G10(vyv249, vyv250, vyv251, Zero, bb) -> new_pr2F0G(vyv249, new_sr3(vyv250, bb), Neg(new_primDivNatS1(Succ(vyv251), Succ(Zero))), bb),new_pr2F0G10(vyv249, vyv250, vyv251, Zero, bb) -> new_pr2F0G(vyv249, new_sr3(vyv250, bb), Neg(new_primDivNatS1(Succ(vyv251), Succ(Zero))), bb)) 214.29/145.91 214.29/145.91 214.29/145.91 ---------------------------------------- 214.29/145.91 214.29/145.91 (721) 214.29/145.91 Obligation: 214.29/145.91 Q DP problem: 214.29/145.91 The TRS P consists of the following rules: 214.29/145.91 214.29/145.91 new_pr2F0G10(vyv249, vyv250, vyv251, Succ(Succ(vyv25200)), bb) -> new_pr2F0G10(vyv249, vyv250, vyv251, vyv25200, bb) 214.29/145.91 new_pr2F0G(vyv188, vyv184, Neg(Succ(Zero)), h) -> new_pr2F0G11(vyv188, vyv184, Zero, h) 214.29/145.91 new_pr2F0G(vyv188, vyv184, Pos(Succ(Succ(vyv223000))), h) -> new_pr2F0G1(vyv188, vyv184, Succ(vyv223000), vyv223000, h) 214.29/145.91 new_pr2F0(vyv184, Neg(Succ(Succ(vyv223000))), vyv188, h) -> new_pr2F0G10(vyv188, vyv184, Succ(vyv223000), vyv223000, h) 214.29/145.91 new_pr2F0(vyv184, Neg(Succ(Zero)), vyv188, h) -> new_pr2F0G11(vyv188, vyv184, Zero, h) 214.29/145.91 new_pr2F0G10(vyv249, vyv250, vyv251, Succ(Zero), bb) -> new_pr2F0G11(vyv249, vyv250, vyv251, bb) 214.29/145.91 new_pr2F0G(vyv188, vyv184, Neg(Succ(Succ(vyv223000))), h) -> new_pr2F0G10(vyv188, vyv184, Succ(vyv223000), vyv223000, h) 214.29/145.91 new_pr2F3(False, vyv228, vyv229, vyv245, vyv227, ba) -> new_pr2F0(vyv228, new_ms(vyv229, vyv245), new_sr2(vyv228, vyv227, ba), ba) 214.29/145.91 new_pr2F0(vyv184, Pos(Succ(Succ(vyv223000))), vyv188, h) -> new_pr2F0G1(vyv188, vyv184, Succ(vyv223000), vyv223000, h) 214.29/145.91 new_pr2F1(vyv240, vyv241, vyv244, vyv239, bc) -> new_pr2F30(new_esEs(new_ms0(vyv241, vyv244)), vyv240, vyv241, vyv244, vyv239, bc) 214.29/145.91 new_pr2F(vyv228, vyv229, vyv245, vyv227, ba) -> new_pr2F3(new_esEs(new_ms(vyv229, vyv245)), vyv228, vyv229, vyv245, vyv227, ba) 214.29/145.91 new_pr2F0G1(vyv227, vyv228, vyv229, Succ(Succ(vyv23000)), ba) -> new_pr2F0G1(vyv227, vyv228, vyv229, vyv23000, ba) 214.29/145.91 new_pr2F30(False, vyv240, vyv241, vyv244, vyv239, bc) -> new_pr2F0(vyv240, new_ms0(vyv241, vyv244), new_sr4(vyv240, vyv239, bc), bc) 214.29/145.91 new_pr2F0G11(vyv239, vyv240, vyv241, bc) -> new_pr2F1(vyv240, vyv241, Pos(Succ(Zero)), vyv239, bc) 214.29/145.91 new_pr2F0(vyv184, Pos(Succ(Zero)), vyv188, h) -> new_pr2F(vyv184, Zero, Pos(Succ(Zero)), vyv188, h) 214.29/145.91 new_pr2F0G1(vyv227, vyv228, vyv229, Succ(Zero), ba) -> new_pr2F(vyv228, vyv229, Pos(Succ(Zero)), vyv227, ba) 214.29/145.91 new_pr2F0G(vyv188, vyv184, Pos(Succ(Zero)), h) -> new_pr2F(vyv184, Zero, Pos(Succ(Zero)), vyv188, h) 214.29/145.91 new_pr2F0G(vyv188, vyv184, Pos(Zero), h) -> new_pr2F0G(vyv188, new_sr(vyv184, h), new_primQuotInt(Zero, Pos(Succ(Succ(Zero)))), h) 214.29/145.91 new_pr2F0G1(vyv227, vyv228, vyv229, Zero, ba) -> new_pr2F0G(vyv227, new_sr1(vyv228, ba), new_primQuotInt(Succ(vyv229), Pos(Succ(Succ(Zero)))), ba) 214.29/145.91 new_pr2F0(vyv184, Pos(Zero), vyv188, h) -> new_pr2F0G(vyv188, new_sr(vyv184, h), new_primQuotInt(Zero, Pos(Succ(Succ(Zero)))), h) 214.29/145.91 new_pr2F0(vyv184, Neg(Zero), vyv188, h) -> new_pr2F0G(vyv188, new_sr0(vyv184, h), Neg(new_primDivNatS1(Zero, Succ(Zero))), h) 214.29/145.91 new_pr2F0G(vyv188, vyv184, Neg(Zero), h) -> new_pr2F0G(vyv188, new_sr0(vyv184, h), Neg(new_primDivNatS1(Zero, Succ(Zero))), h) 214.29/145.91 new_pr2F0G10(vyv249, vyv250, vyv251, Zero, bb) -> new_pr2F0G(vyv249, new_sr3(vyv250, bb), Neg(new_primDivNatS1(Succ(vyv251), Succ(Zero))), bb) 214.29/145.91 214.29/145.91 The TRS R consists of the following rules: 214.29/145.91 214.29/145.91 new_sr(vyv184, ty_Double) -> new_sr11(vyv184) 214.29/145.91 new_sr(vyv184, app(ty_Ratio, bd)) -> new_sr5(vyv184, bd) 214.29/145.91 new_sr(vyv184, ty_Float) -> new_sr12(vyv184) 214.29/145.91 new_sr(vyv184, ty_Int) -> new_sr7(vyv184) 214.29/145.91 new_sr(vyv184, ty_Integer) -> new_sr6(vyv184) 214.29/145.91 new_primQuotInt(vyv2710, Pos(Succ(vyv28500))) -> Pos(new_primDivNatS1(vyv2710, vyv28500)) 214.29/145.91 new_primDivNatS1(Zero, vyv28500) -> Zero 214.29/145.91 new_primDivNatS1(Succ(Succ(vyv271000)), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS0(vyv271000), Zero)) 214.29/145.91 new_primDivNatS1(Succ(Zero), Succ(vyv285000)) -> Zero 214.29/145.91 new_primDivNatS1(Succ(Succ(vyv271000)), Succ(vyv285000)) -> new_primDivNatS01(vyv271000, vyv285000, vyv271000, vyv285000) 214.29/145.91 new_primDivNatS1(Succ(Zero), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS1, Zero)) 214.29/145.91 new_primMinusNatS1 -> Zero 214.29/145.91 new_primDivNatS01(vyv311, vyv312, Succ(vyv3130), Zero) -> new_primDivNatS02(vyv311, vyv312) 214.29/145.91 new_primDivNatS01(vyv311, vyv312, Zero, Succ(vyv3140)) -> Zero 214.29/145.91 new_primDivNatS01(vyv311, vyv312, Succ(vyv3130), Succ(vyv3140)) -> new_primDivNatS01(vyv311, vyv312, vyv3130, vyv3140) 214.29/145.91 new_primDivNatS01(vyv311, vyv312, Zero, Zero) -> new_primDivNatS02(vyv311, vyv312) 214.29/145.91 new_primDivNatS02(vyv311, vyv312) -> Succ(new_primDivNatS1(new_primMinusNatS2(vyv311, vyv312), Succ(vyv312))) 214.29/145.91 new_primMinusNatS2(Zero, Succ(vyv3120)) -> Zero 214.29/145.91 new_primMinusNatS2(Succ(vyv3110), Zero) -> Succ(vyv3110) 214.29/145.91 new_primMinusNatS2(Zero, Zero) -> Zero 214.29/145.91 new_primMinusNatS2(Succ(vyv3110), Succ(vyv3120)) -> new_primMinusNatS2(vyv3110, vyv3120) 214.29/145.91 new_primMinusNatS0(vyv271000) -> Succ(vyv271000) 214.29/145.91 new_sr6(vyv184) -> error([]) 214.29/145.91 new_sr7(Pos(vyv1840)) -> Pos(new_primMulNat1(vyv1840)) 214.29/145.91 new_sr7(Neg(vyv1840)) -> Pos(new_primMulNat1(vyv1840)) 214.29/145.91 new_primMulNat1(Succ(vyv18400)) -> new_primPlusNat0(new_primMulNat2(vyv18400), Succ(vyv18400)) 214.29/145.91 new_primMulNat1(Zero) -> Zero 214.29/145.91 new_primMulNat2(Succ(vyv184000)) -> new_primPlusNat0(new_primMulNat3(vyv184000), Succ(Succ(vyv184000))) 214.29/145.91 new_primMulNat2(Zero) -> Zero 214.29/145.91 new_primPlusNat0(Succ(vyv4000), Succ(vyv6000)) -> Succ(Succ(new_primPlusNat0(vyv4000, vyv6000))) 214.29/145.91 new_primPlusNat0(Zero, Succ(vyv6000)) -> Succ(vyv6000) 214.29/145.91 new_primPlusNat0(Zero, Zero) -> Zero 214.29/145.91 new_primPlusNat0(Succ(vyv4000), Zero) -> Succ(vyv4000) 214.29/145.91 new_primMulNat3(Succ(vyv1840000)) -> new_primPlusNat0(new_primMulNat4(vyv1840000), Succ(Succ(Succ(vyv1840000)))) 214.29/145.91 new_primMulNat3(Zero) -> Zero 214.29/145.91 new_primMulNat4(Succ(vyv18400000)) -> new_primPlusNat0(new_primMulNat0(vyv18400000, Succ(Succ(Succ(Succ(vyv18400000))))), Succ(Succ(Succ(Succ(vyv18400000))))) 214.29/145.91 new_primMulNat4(Zero) -> Zero 214.29/145.91 new_primMulNat0(Zero, Succ(vyv23900)) -> Zero 214.29/145.91 new_primMulNat0(Succ(vyv24000), Succ(vyv23900)) -> new_primPlusNat0(new_primMulNat0(vyv24000, Succ(vyv23900)), Succ(vyv23900)) 214.29/145.91 new_sr12(vyv184) -> error([]) 214.29/145.91 new_sr5(:%(vyv1840, vyv1841), bd) -> new_reduce2Reduce1(vyv1840, vyv1840, vyv1841, vyv1841, new_esEs0(vyv1841, bd), bd) 214.29/145.91 new_esEs0(vyv1841, ty_Int) -> new_esEs(new_sr7(vyv1841)) 214.29/145.91 new_esEs0(vyv1841, ty_Integer) -> new_esEs1(new_sr6(vyv1841)) 214.29/145.91 new_reduce2Reduce1(vyv265, vyv266, vyv267, vyv268, False, bh) -> :%(new_quot0(vyv265, vyv266, vyv267, vyv268, bh), new_quot1(vyv267, vyv268, vyv265, vyv266, bh)) 214.29/145.91 new_reduce2Reduce1(vyv265, vyv266, vyv267, vyv268, True, bh) -> error([]) 214.29/145.91 new_quot0(vyv265, vyv266, vyv267, vyv268, ty_Integer) -> new_quot2(new_sr9(vyv265, vyv266), new_sr9(vyv265, vyv266), new_sr9(vyv267, vyv268)) 214.29/145.91 new_quot0(vyv265, vyv266, vyv267, vyv268, ty_Int) -> new_quot(new_sr10(vyv265, vyv266), new_sr10(vyv265, vyv266), new_sr10(vyv267, vyv268)) 214.29/145.91 new_quot1(vyv267, vyv268, vyv265, vyv266, ty_Int) -> new_quot(new_sr10(vyv267, vyv268), new_sr10(vyv265, vyv266), new_sr10(vyv267, vyv268)) 214.29/145.91 new_quot1(vyv267, vyv268, vyv265, vyv266, ty_Integer) -> new_quot2(new_sr9(vyv267, vyv268), new_sr9(vyv265, vyv266), new_sr9(vyv267, vyv268)) 214.29/145.91 new_sr9(vyv240, vyv239) -> error([]) 214.29/145.91 new_quot2(vyv274, vyv276, vyv275) -> error([]) 214.29/145.91 new_sr10(Pos(vyv2400), Pos(vyv2390)) -> Pos(new_primMulNat0(vyv2400, vyv2390)) 214.29/145.91 new_sr10(Neg(vyv2400), Neg(vyv2390)) -> Pos(new_primMulNat0(vyv2400, vyv2390)) 214.29/145.91 new_sr10(Pos(vyv2400), Neg(vyv2390)) -> Neg(new_primMulNat0(vyv2400, vyv2390)) 214.29/145.91 new_sr10(Neg(vyv2400), Pos(vyv2390)) -> Neg(new_primMulNat0(vyv2400, vyv2390)) 214.29/145.91 new_quot(Pos(vyv2710), vyv273, vyv272) -> new_primQuotInt(vyv2710, new_gcd(vyv273, vyv272)) 214.29/145.91 new_quot(Neg(vyv2710), vyv273, vyv272) -> new_primQuotInt0(vyv2710, new_gcd(vyv273, vyv272)) 214.29/145.91 new_gcd(vyv273, vyv272) -> new_gcd2(new_esEs(vyv273), vyv273, vyv272) 214.29/145.91 new_primQuotInt0(vyv2710, Pos(Succ(vyv28800))) -> Neg(new_primDivNatS1(vyv2710, vyv28800)) 214.29/145.91 new_primQuotInt0(vyv2710, Neg(Zero)) -> new_error 214.29/145.91 new_primQuotInt0(vyv2710, Neg(Succ(vyv28800))) -> Pos(new_primDivNatS1(vyv2710, vyv28800)) 214.29/145.91 new_primQuotInt0(vyv2710, Pos(Zero)) -> new_error 214.29/145.91 new_error -> error([]) 214.29/145.91 new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) 214.29/145.91 new_esEs(Pos(Succ(vyv24300))) -> new_primEqInt(Pos(Succ(vyv24300))) 214.29/145.91 new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) 214.29/145.91 new_esEs(Neg(Succ(vyv24300))) -> new_primEqInt(Neg(Succ(vyv24300))) 214.29/145.91 new_gcd2(True, vyv273, vyv272) -> new_gcd1(new_esEs(vyv272), vyv273, vyv272) 214.29/145.91 new_gcd2(False, vyv273, vyv272) -> new_gcd0(vyv273, vyv272) 214.29/145.91 new_gcd0(vyv273, vyv272) -> new_gcd0Gcd'11(new_esEs(new_abs(vyv272)), vyv273, vyv272) 214.29/145.91 new_abs(Neg(Zero)) -> Neg(Zero) 214.29/145.91 new_abs(Neg(Succ(vyv27200))) -> Pos(Succ(vyv27200)) 214.29/145.91 new_abs(Pos(Succ(vyv27200))) -> Pos(Succ(vyv27200)) 214.29/145.91 new_abs(Pos(Zero)) -> Pos(Zero) 214.29/145.91 new_gcd0Gcd'11(True, vyv273, vyv272) -> new_abs(vyv273) 214.29/145.91 new_gcd0Gcd'11(False, vyv273, vyv272) -> new_gcd0Gcd'00(new_abs(vyv273), new_abs(vyv272)) 214.29/145.91 new_gcd0Gcd'00(vyv293, vyv292) -> new_gcd0Gcd'10(new_esEs(new_rem(vyv293, vyv292)), vyv292, vyv293) 214.29/145.91 new_gcd0Gcd'10(False, vyv292, vyv293) -> new_gcd0Gcd'00(vyv292, new_rem(vyv293, vyv292)) 214.29/145.91 new_rem(Pos(vyv2930), Neg(Zero)) -> new_error 214.29/145.91 new_rem(Neg(vyv2930), Pos(Zero)) -> new_error 214.29/145.91 new_rem(Pos(vyv2930), Neg(Succ(vyv29200))) -> Pos(new_primModNatS1(vyv2930, vyv29200)) 214.29/145.91 new_rem(Neg(vyv2930), Pos(Succ(vyv29200))) -> Neg(new_primModNatS1(vyv2930, vyv29200)) 214.29/145.91 new_rem(Pos(vyv2930), Pos(Succ(vyv29200))) -> Pos(new_primModNatS1(vyv2930, vyv29200)) 214.29/145.91 new_rem(Neg(vyv2930), Neg(Zero)) -> new_error 214.29/145.91 new_rem(Neg(vyv2930), Neg(Succ(vyv29200))) -> Neg(new_primModNatS1(vyv2930, vyv29200)) 214.29/145.91 new_rem(Pos(vyv2930), Pos(Zero)) -> new_error 214.29/145.91 new_gcd0Gcd'10(True, vyv292, vyv293) -> vyv292 214.29/145.91 new_primModNatS1(Succ(Zero), Succ(vyv292000)) -> Succ(Zero) 214.29/145.91 new_primModNatS1(Zero, vyv29200) -> Zero 214.29/145.91 new_primModNatS1(Succ(Succ(vyv293000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv293000), Zero) 214.29/145.91 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 214.29/145.91 new_primModNatS1(Succ(Succ(vyv293000)), Succ(vyv292000)) -> new_primModNatS01(vyv293000, vyv292000, vyv293000, vyv292000) 214.29/145.91 new_primModNatS01(vyv331, vyv332, Zero, Zero) -> new_primModNatS02(vyv331, vyv332) 214.29/145.91 new_primModNatS02(vyv331, vyv332) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv331), Succ(vyv332)), Succ(vyv332)) 214.29/145.91 new_primModNatS01(vyv331, vyv332, Succ(vyv3330), Zero) -> new_primModNatS02(vyv331, vyv332) 214.29/145.91 new_primModNatS01(vyv331, vyv332, Succ(vyv3330), Succ(vyv3340)) -> new_primModNatS01(vyv331, vyv332, vyv3330, vyv3340) 214.29/145.91 new_primModNatS01(vyv331, vyv332, Zero, Succ(vyv3340)) -> Succ(Succ(vyv331)) 214.29/145.91 new_gcd1(True, vyv273, vyv272) -> new_error 214.29/145.91 new_gcd1(False, vyv273, vyv272) -> new_gcd0(vyv273, vyv272) 214.29/145.91 new_primEqInt(Neg(Succ(vyv242000))) -> False 214.29/145.91 new_primEqInt(Pos(Zero)) -> True 214.29/145.91 new_primEqInt(Pos(Succ(vyv242000))) -> False 214.29/145.91 new_primEqInt(Neg(Zero)) -> True 214.29/145.91 new_primQuotInt(vyv2710, Neg(Zero)) -> new_error 214.29/145.91 new_primQuotInt(vyv2710, Pos(Zero)) -> new_error 214.29/145.91 new_primQuotInt(vyv2710, Neg(Succ(vyv28500))) -> Neg(new_primDivNatS1(vyv2710, vyv28500)) 214.29/145.91 new_primMulNat0(Succ(vyv24000), Zero) -> Zero 214.29/145.91 new_primMulNat0(Zero, Zero) -> Zero 214.29/145.91 new_esEs1(Integer(vyv2700)) -> new_primEqInt(vyv2700) 214.29/145.91 new_sr11(vyv184) -> error([]) 214.29/145.91 new_sr1(vyv228, ty_Double) -> new_sr11(vyv228) 214.29/145.91 new_sr1(vyv228, ty_Float) -> new_sr12(vyv228) 214.29/145.91 new_sr1(vyv228, app(ty_Ratio, bg)) -> new_sr5(vyv228, bg) 214.29/145.91 new_sr1(vyv228, ty_Integer) -> new_sr6(vyv228) 214.29/145.91 new_sr1(vyv228, ty_Int) -> new_sr7(vyv228) 214.29/145.91 new_sr3(vyv250, ty_Double) -> new_sr11(vyv250) 214.29/145.91 new_sr3(vyv250, ty_Int) -> new_sr7(vyv250) 214.29/145.91 new_sr3(vyv250, ty_Float) -> new_sr12(vyv250) 214.29/145.91 new_sr3(vyv250, ty_Integer) -> new_sr6(vyv250) 214.29/145.91 new_sr3(vyv250, app(ty_Ratio, bf)) -> new_sr5(vyv250, bf) 214.29/145.91 new_sr0(vyv184, ty_Double) -> new_sr11(vyv184) 214.29/145.91 new_sr0(vyv184, ty_Float) -> new_sr12(vyv184) 214.29/145.91 new_sr0(vyv184, ty_Int) -> new_sr7(vyv184) 214.29/145.91 new_sr0(vyv184, app(ty_Ratio, bd)) -> new_sr5(vyv184, bd) 214.29/145.91 new_sr0(vyv184, ty_Integer) -> new_sr6(vyv184) 214.29/145.91 new_ms0(vyv241, Neg(Zero)) -> Neg(Succ(vyv241)) 214.29/145.91 new_ms0(vyv241, Pos(vyv2440)) -> Neg(new_primPlusNat0(Succ(vyv241), vyv2440)) 214.29/145.91 new_ms0(vyv241, Neg(Succ(vyv24400))) -> new_primMinusNat0(vyv24400, vyv241) 214.29/145.91 new_sr4(vyv240, vyv239, app(ty_Ratio, be)) -> new_sr8(vyv240, vyv239, be) 214.29/145.91 new_sr4(vyv240, vyv239, ty_Float) -> new_sr14(vyv240, vyv239) 214.29/145.91 new_sr4(vyv240, vyv239, ty_Int) -> new_sr10(vyv240, vyv239) 214.29/145.91 new_sr4(vyv240, vyv239, ty_Double) -> new_sr13(vyv240, vyv239) 214.29/145.91 new_sr4(vyv240, vyv239, ty_Integer) -> new_sr9(vyv240, vyv239) 214.29/145.91 new_sr13(vyv240, vyv239) -> error([]) 214.29/145.91 new_sr14(vyv240, vyv239) -> error([]) 214.29/145.91 new_sr8(:%(vyv2400, vyv2401), :%(vyv2390, vyv2391), be) -> new_reduce2Reduce1(vyv2400, vyv2390, vyv2401, vyv2391, new_esEs2(vyv2401, vyv2391, be), be) 214.29/145.91 new_esEs2(vyv2401, vyv2391, ty_Integer) -> new_esEs1(new_sr9(vyv2401, vyv2391)) 214.29/145.91 new_esEs2(vyv2401, vyv2391, ty_Int) -> new_esEs(new_sr10(vyv2401, vyv2391)) 214.29/145.91 new_primMinusNat0(Succ(vyv2290), Succ(vyv245000)) -> new_primMinusNat0(vyv2290, vyv245000) 214.29/145.91 new_primMinusNat0(Zero, Zero) -> Pos(Zero) 214.29/145.91 new_primMinusNat0(Zero, Succ(vyv245000)) -> Neg(Succ(vyv245000)) 214.29/145.91 new_primMinusNat0(Succ(vyv2290), Zero) -> Pos(Succ(vyv2290)) 214.29/145.91 new_ms(vyv229, Neg(vyv2450)) -> Pos(new_primPlusNat0(Succ(vyv229), vyv2450)) 214.29/145.91 new_ms(vyv229, Pos(Succ(vyv24500))) -> new_primMinusNat0(vyv229, vyv24500) 214.29/145.91 new_ms(vyv229, Pos(Zero)) -> Pos(Succ(vyv229)) 214.29/145.91 new_sr2(vyv228, vyv227, ty_Integer) -> new_sr9(vyv228, vyv227) 214.29/145.91 new_sr2(vyv228, vyv227, ty_Int) -> new_sr10(vyv228, vyv227) 214.29/145.91 new_sr2(vyv228, vyv227, app(ty_Ratio, bg)) -> new_sr8(vyv228, vyv227, bg) 214.29/145.91 new_sr2(vyv228, vyv227, ty_Double) -> new_sr13(vyv228, vyv227) 214.29/145.91 new_sr2(vyv228, vyv227, ty_Float) -> new_sr14(vyv228, vyv227) 214.29/145.91 214.29/145.91 The set Q consists of the following terms: 214.29/145.91 214.29/145.91 new_sr13(x0, x1) 214.29/145.91 new_primDivNatS01(x0, x1, Zero, Zero) 214.29/145.91 new_gcd0Gcd'11(False, x0, x1) 214.29/145.91 new_primMulNat4(Zero) 214.29/145.91 new_gcd0Gcd'11(True, x0, x1) 214.29/145.91 new_sr2(x0, x1, ty_Float) 214.29/145.91 new_sr5(:%(x0, x1), x2) 214.29/145.91 new_primEqInt(Pos(Zero)) 214.29/145.91 new_ms(x0, Neg(x1)) 214.29/145.91 new_sr2(x0, x1, ty_Double) 214.29/145.91 new_esEs(Pos(Succ(x0))) 214.29/145.91 new_primQuotInt0(x0, Neg(Zero)) 214.29/145.91 new_primMulNat3(Zero) 214.29/145.91 new_primModNatS02(x0, x1) 214.29/145.91 new_sr(x0, ty_Double) 214.29/145.91 new_sr0(x0, ty_Double) 214.29/145.91 new_primDivNatS1(Succ(Zero), Zero) 214.29/145.91 new_primMinusNatS0(x0) 214.29/145.91 new_sr11(x0) 214.29/145.91 new_sr0(x0, app(ty_Ratio, x1)) 214.29/145.91 new_rem(Pos(x0), Neg(Succ(x1))) 214.29/145.91 new_rem(Neg(x0), Pos(Succ(x1))) 214.29/145.91 new_primMulNat0(Zero, Zero) 214.29/145.91 new_primPlusNat0(Succ(x0), Zero) 214.29/145.91 new_primMulNat0(Succ(x0), Zero) 214.29/145.91 new_sr3(x0, ty_Float) 214.29/145.91 new_primMulNat2(Zero) 214.29/145.91 new_primQuotInt(x0, Pos(Zero)) 214.29/145.91 new_primMulNat2(Succ(x0)) 214.29/145.91 new_primQuotInt(x0, Neg(Zero)) 214.29/145.91 new_rem(Neg(x0), Neg(Succ(x1))) 214.29/145.91 new_primMinusNatS2(Zero, Succ(x0)) 214.29/145.91 new_sr(x0, ty_Int) 214.29/145.91 new_sr4(x0, x1, ty_Double) 214.29/145.91 new_primMulNat3(Succ(x0)) 214.29/145.91 new_sr0(x0, ty_Float) 214.29/145.91 new_esEs1(Integer(x0)) 214.29/145.91 new_primQuotInt0(x0, Pos(Zero)) 214.29/145.91 new_gcd2(True, x0, x1) 214.29/145.91 new_quot1(x0, x1, x2, x3, ty_Int) 214.29/145.91 new_primDivNatS1(Zero, x0) 214.29/145.91 new_primMinusNat0(Zero, Zero) 214.29/145.91 new_gcd(x0, x1) 214.29/145.91 new_gcd1(False, x0, x1) 214.29/145.91 new_esEs2(x0, x1, ty_Int) 214.29/145.91 new_sr3(x0, ty_Integer) 214.29/145.91 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 214.29/145.91 new_sr1(x0, app(ty_Ratio, x1)) 214.29/145.91 new_sr1(x0, ty_Float) 214.29/145.91 new_primPlusNat0(Zero, Succ(x0)) 214.29/145.91 new_sr8(:%(x0, x1), :%(x2, x3), x4) 214.29/145.91 new_abs(Neg(Zero)) 214.29/145.91 new_primMinusNatS2(Succ(x0), Zero) 214.29/145.91 new_error 214.29/145.91 new_primModNatS1(Succ(Zero), Zero) 214.29/145.91 new_primMulNat4(Succ(x0)) 214.29/145.91 new_sr1(x0, ty_Integer) 214.29/145.91 new_primDivNatS02(x0, x1) 214.29/145.91 new_sr1(x0, ty_Int) 214.29/145.91 new_rem(Neg(x0), Neg(Zero)) 214.29/145.91 new_primMinusNat0(Zero, Succ(x0)) 214.29/145.91 new_primEqInt(Neg(Zero)) 214.29/145.91 new_rem(Pos(x0), Pos(Succ(x1))) 214.29/145.91 new_abs(Pos(Succ(x0))) 214.29/145.91 new_primMulNat0(Succ(x0), Succ(x1)) 214.29/145.91 new_primMulNat0(Zero, Succ(x0)) 214.29/145.91 new_reduce2Reduce1(x0, x1, x2, x3, True, x4) 214.29/145.91 new_sr(x0, ty_Float) 214.29/145.91 new_gcd0Gcd'10(False, x0, x1) 214.29/145.91 new_sr12(x0) 214.29/145.91 new_primDivNatS01(x0, x1, Zero, Succ(x2)) 214.29/145.91 new_sr10(Pos(x0), Pos(x1)) 214.29/145.91 new_primModNatS01(x0, x1, Zero, Succ(x2)) 214.29/145.91 new_primPlusNat0(Zero, Zero) 214.29/145.91 new_sr(x0, ty_Integer) 214.29/145.91 new_primQuotInt0(x0, Pos(Succ(x1))) 214.29/145.91 new_primModNatS01(x0, x1, Succ(x2), Zero) 214.29/145.91 new_ms(x0, Pos(Succ(x1))) 214.29/145.91 new_primModNatS1(Succ(Succ(x0)), Zero) 214.29/145.91 new_sr4(x0, x1, ty_Integer) 214.29/145.91 new_rem(Pos(x0), Pos(Zero)) 214.29/145.91 new_sr4(x0, x1, ty_Int) 214.29/145.91 new_ms0(x0, Neg(Succ(x1))) 214.29/145.91 new_quot(Pos(x0), x1, x2) 214.29/145.91 new_primMinusNatS2(Zero, Zero) 214.29/145.91 new_esEs0(x0, ty_Int) 214.29/145.91 new_primMinusNat0(Succ(x0), Zero) 214.29/145.91 new_ms0(x0, Pos(x1)) 214.29/145.91 new_esEs(Pos(Zero)) 214.29/145.91 new_quot(Neg(x0), x1, x2) 214.29/145.91 new_primDivNatS01(x0, x1, Succ(x2), Succ(x3)) 214.29/145.91 new_quot2(x0, x1, x2) 214.29/145.91 new_primEqInt(Neg(Succ(x0))) 214.29/145.91 new_sr10(Neg(x0), Neg(x1)) 214.29/145.91 new_sr3(x0, app(ty_Ratio, x1)) 214.29/145.91 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 214.29/145.91 new_sr9(x0, x1) 214.29/145.91 new_sr2(x0, x1, ty_Integer) 214.29/145.91 new_sr7(Neg(x0)) 214.29/145.91 new_sr1(x0, ty_Double) 214.29/145.91 new_primQuotInt0(x0, Neg(Succ(x1))) 214.29/145.91 new_sr0(x0, ty_Integer) 214.29/145.91 new_rem(Pos(x0), Neg(Zero)) 214.29/145.91 new_rem(Neg(x0), Pos(Zero)) 214.29/145.91 new_gcd0Gcd'00(x0, x1) 214.29/145.91 new_primQuotInt(x0, Neg(Succ(x1))) 214.29/145.91 new_primMinusNatS2(Succ(x0), Succ(x1)) 214.29/145.91 new_ms(x0, Pos(Zero)) 214.29/145.91 new_abs(Pos(Zero)) 214.29/145.91 new_primMinusNat0(Succ(x0), Succ(x1)) 214.29/145.91 new_quot0(x0, x1, x2, x3, ty_Integer) 214.29/145.91 new_sr0(x0, ty_Int) 214.29/145.91 new_sr6(x0) 214.29/145.91 new_gcd2(False, x0, x1) 214.29/145.91 new_gcd1(True, x0, x1) 214.29/145.91 new_esEs2(x0, x1, ty_Integer) 214.29/145.91 new_primMinusNatS1 214.29/145.91 new_sr7(Pos(x0)) 214.29/145.91 new_gcd0Gcd'10(True, x0, x1) 214.29/145.91 new_primModNatS1(Zero, x0) 214.29/145.91 new_sr4(x0, x1, ty_Float) 214.29/145.91 new_sr10(Pos(x0), Neg(x1)) 214.29/145.91 new_sr10(Neg(x0), Pos(x1)) 214.29/145.91 new_primDivNatS01(x0, x1, Succ(x2), Zero) 214.29/145.91 new_primDivNatS1(Succ(Succ(x0)), Succ(x1)) 214.29/145.91 new_primPlusNat0(Succ(x0), Succ(x1)) 214.29/145.91 new_primDivNatS1(Succ(Zero), Succ(x0)) 214.29/145.91 new_primQuotInt(x0, Pos(Succ(x1))) 214.29/145.91 new_sr2(x0, x1, app(ty_Ratio, x2)) 214.29/145.91 new_abs(Neg(Succ(x0))) 214.29/145.91 new_esEs0(x0, ty_Integer) 214.29/145.91 new_sr3(x0, ty_Int) 214.29/145.91 new_esEs(Neg(Succ(x0))) 214.29/145.91 new_sr(x0, app(ty_Ratio, x1)) 214.29/145.91 new_ms0(x0, Neg(Zero)) 214.29/145.91 new_primModNatS01(x0, x1, Zero, Zero) 214.29/145.91 new_sr4(x0, x1, app(ty_Ratio, x2)) 214.29/145.91 new_gcd0(x0, x1) 214.29/145.91 new_primEqInt(Pos(Succ(x0))) 214.29/145.91 new_sr3(x0, ty_Double) 214.29/145.91 new_quot1(x0, x1, x2, x3, ty_Integer) 214.29/145.91 new_primDivNatS1(Succ(Succ(x0)), Zero) 214.29/145.91 new_primMulNat1(Succ(x0)) 214.29/145.91 new_sr14(x0, x1) 214.29/145.91 new_quot0(x0, x1, x2, x3, ty_Int) 214.29/145.91 new_sr2(x0, x1, ty_Int) 214.29/145.91 new_primModNatS1(Succ(Zero), Succ(x0)) 214.29/145.91 new_reduce2Reduce1(x0, x1, x2, x3, False, x4) 214.29/145.91 new_esEs(Neg(Zero)) 214.29/145.91 new_primMulNat1(Zero) 214.29/145.91 214.29/145.91 We have to consider all minimal (P,Q,R)-chains. 214.29/145.91 ---------------------------------------- 214.29/145.91 214.29/145.91 (722) TransformationProof (EQUIVALENT) 214.29/145.91 By rewriting [LPAR04] the rule new_pr2F0G(vyv188, vyv184, Pos(Zero), h) -> new_pr2F0G(vyv188, new_sr(vyv184, h), new_primQuotInt(Zero, Pos(Succ(Succ(Zero)))), h) at position [2] we obtained the following new rules [LPAR04]: 214.29/145.91 214.29/145.91 (new_pr2F0G(vyv188, vyv184, Pos(Zero), h) -> new_pr2F0G(vyv188, new_sr(vyv184, h), Pos(new_primDivNatS1(Zero, Succ(Zero))), h),new_pr2F0G(vyv188, vyv184, Pos(Zero), h) -> new_pr2F0G(vyv188, new_sr(vyv184, h), Pos(new_primDivNatS1(Zero, Succ(Zero))), h)) 214.29/145.91 214.29/145.91 214.29/145.91 ---------------------------------------- 214.29/145.91 214.29/145.91 (723) 214.29/145.91 Obligation: 214.29/145.91 Q DP problem: 214.29/145.91 The TRS P consists of the following rules: 214.29/145.91 214.29/145.91 new_pr2F0G10(vyv249, vyv250, vyv251, Succ(Succ(vyv25200)), bb) -> new_pr2F0G10(vyv249, vyv250, vyv251, vyv25200, bb) 214.29/145.91 new_pr2F0G(vyv188, vyv184, Neg(Succ(Zero)), h) -> new_pr2F0G11(vyv188, vyv184, Zero, h) 214.29/145.91 new_pr2F0G(vyv188, vyv184, Pos(Succ(Succ(vyv223000))), h) -> new_pr2F0G1(vyv188, vyv184, Succ(vyv223000), vyv223000, h) 214.29/145.91 new_pr2F0(vyv184, Neg(Succ(Succ(vyv223000))), vyv188, h) -> new_pr2F0G10(vyv188, vyv184, Succ(vyv223000), vyv223000, h) 214.29/145.91 new_pr2F0(vyv184, Neg(Succ(Zero)), vyv188, h) -> new_pr2F0G11(vyv188, vyv184, Zero, h) 214.29/145.91 new_pr2F0G10(vyv249, vyv250, vyv251, Succ(Zero), bb) -> new_pr2F0G11(vyv249, vyv250, vyv251, bb) 214.29/145.91 new_pr2F0G(vyv188, vyv184, Neg(Succ(Succ(vyv223000))), h) -> new_pr2F0G10(vyv188, vyv184, Succ(vyv223000), vyv223000, h) 214.29/145.91 new_pr2F3(False, vyv228, vyv229, vyv245, vyv227, ba) -> new_pr2F0(vyv228, new_ms(vyv229, vyv245), new_sr2(vyv228, vyv227, ba), ba) 214.29/145.91 new_pr2F0(vyv184, Pos(Succ(Succ(vyv223000))), vyv188, h) -> new_pr2F0G1(vyv188, vyv184, Succ(vyv223000), vyv223000, h) 214.29/145.91 new_pr2F1(vyv240, vyv241, vyv244, vyv239, bc) -> new_pr2F30(new_esEs(new_ms0(vyv241, vyv244)), vyv240, vyv241, vyv244, vyv239, bc) 214.29/145.91 new_pr2F(vyv228, vyv229, vyv245, vyv227, ba) -> new_pr2F3(new_esEs(new_ms(vyv229, vyv245)), vyv228, vyv229, vyv245, vyv227, ba) 214.29/145.91 new_pr2F0G1(vyv227, vyv228, vyv229, Succ(Succ(vyv23000)), ba) -> new_pr2F0G1(vyv227, vyv228, vyv229, vyv23000, ba) 214.29/145.91 new_pr2F30(False, vyv240, vyv241, vyv244, vyv239, bc) -> new_pr2F0(vyv240, new_ms0(vyv241, vyv244), new_sr4(vyv240, vyv239, bc), bc) 214.29/145.91 new_pr2F0G11(vyv239, vyv240, vyv241, bc) -> new_pr2F1(vyv240, vyv241, Pos(Succ(Zero)), vyv239, bc) 214.29/145.91 new_pr2F0(vyv184, Pos(Succ(Zero)), vyv188, h) -> new_pr2F(vyv184, Zero, Pos(Succ(Zero)), vyv188, h) 214.29/145.91 new_pr2F0G1(vyv227, vyv228, vyv229, Succ(Zero), ba) -> new_pr2F(vyv228, vyv229, Pos(Succ(Zero)), vyv227, ba) 214.29/145.91 new_pr2F0G(vyv188, vyv184, Pos(Succ(Zero)), h) -> new_pr2F(vyv184, Zero, Pos(Succ(Zero)), vyv188, h) 214.29/145.91 new_pr2F0G1(vyv227, vyv228, vyv229, Zero, ba) -> new_pr2F0G(vyv227, new_sr1(vyv228, ba), new_primQuotInt(Succ(vyv229), Pos(Succ(Succ(Zero)))), ba) 214.29/145.91 new_pr2F0(vyv184, Pos(Zero), vyv188, h) -> new_pr2F0G(vyv188, new_sr(vyv184, h), new_primQuotInt(Zero, Pos(Succ(Succ(Zero)))), h) 214.29/145.91 new_pr2F0(vyv184, Neg(Zero), vyv188, h) -> new_pr2F0G(vyv188, new_sr0(vyv184, h), Neg(new_primDivNatS1(Zero, Succ(Zero))), h) 214.29/145.91 new_pr2F0G(vyv188, vyv184, Neg(Zero), h) -> new_pr2F0G(vyv188, new_sr0(vyv184, h), Neg(new_primDivNatS1(Zero, Succ(Zero))), h) 214.29/145.91 new_pr2F0G10(vyv249, vyv250, vyv251, Zero, bb) -> new_pr2F0G(vyv249, new_sr3(vyv250, bb), Neg(new_primDivNatS1(Succ(vyv251), Succ(Zero))), bb) 214.29/145.91 new_pr2F0G(vyv188, vyv184, Pos(Zero), h) -> new_pr2F0G(vyv188, new_sr(vyv184, h), Pos(new_primDivNatS1(Zero, Succ(Zero))), h) 214.29/145.91 214.29/145.91 The TRS R consists of the following rules: 214.29/145.91 214.29/145.91 new_sr(vyv184, ty_Double) -> new_sr11(vyv184) 214.29/145.91 new_sr(vyv184, app(ty_Ratio, bd)) -> new_sr5(vyv184, bd) 214.29/145.91 new_sr(vyv184, ty_Float) -> new_sr12(vyv184) 214.29/145.91 new_sr(vyv184, ty_Int) -> new_sr7(vyv184) 214.29/145.91 new_sr(vyv184, ty_Integer) -> new_sr6(vyv184) 214.29/145.91 new_primQuotInt(vyv2710, Pos(Succ(vyv28500))) -> Pos(new_primDivNatS1(vyv2710, vyv28500)) 214.29/145.91 new_primDivNatS1(Zero, vyv28500) -> Zero 214.29/145.91 new_primDivNatS1(Succ(Succ(vyv271000)), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS0(vyv271000), Zero)) 214.29/145.91 new_primDivNatS1(Succ(Zero), Succ(vyv285000)) -> Zero 214.29/145.91 new_primDivNatS1(Succ(Succ(vyv271000)), Succ(vyv285000)) -> new_primDivNatS01(vyv271000, vyv285000, vyv271000, vyv285000) 214.29/145.91 new_primDivNatS1(Succ(Zero), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS1, Zero)) 214.29/145.91 new_primMinusNatS1 -> Zero 214.29/145.91 new_primDivNatS01(vyv311, vyv312, Succ(vyv3130), Zero) -> new_primDivNatS02(vyv311, vyv312) 214.29/145.91 new_primDivNatS01(vyv311, vyv312, Zero, Succ(vyv3140)) -> Zero 214.29/145.91 new_primDivNatS01(vyv311, vyv312, Succ(vyv3130), Succ(vyv3140)) -> new_primDivNatS01(vyv311, vyv312, vyv3130, vyv3140) 214.29/145.91 new_primDivNatS01(vyv311, vyv312, Zero, Zero) -> new_primDivNatS02(vyv311, vyv312) 214.29/145.91 new_primDivNatS02(vyv311, vyv312) -> Succ(new_primDivNatS1(new_primMinusNatS2(vyv311, vyv312), Succ(vyv312))) 214.29/145.91 new_primMinusNatS2(Zero, Succ(vyv3120)) -> Zero 214.29/145.91 new_primMinusNatS2(Succ(vyv3110), Zero) -> Succ(vyv3110) 214.29/145.91 new_primMinusNatS2(Zero, Zero) -> Zero 214.29/145.91 new_primMinusNatS2(Succ(vyv3110), Succ(vyv3120)) -> new_primMinusNatS2(vyv3110, vyv3120) 214.29/145.91 new_primMinusNatS0(vyv271000) -> Succ(vyv271000) 214.29/145.91 new_sr6(vyv184) -> error([]) 214.29/145.91 new_sr7(Pos(vyv1840)) -> Pos(new_primMulNat1(vyv1840)) 214.29/145.91 new_sr7(Neg(vyv1840)) -> Pos(new_primMulNat1(vyv1840)) 214.29/145.91 new_primMulNat1(Succ(vyv18400)) -> new_primPlusNat0(new_primMulNat2(vyv18400), Succ(vyv18400)) 214.29/145.91 new_primMulNat1(Zero) -> Zero 214.29/145.91 new_primMulNat2(Succ(vyv184000)) -> new_primPlusNat0(new_primMulNat3(vyv184000), Succ(Succ(vyv184000))) 214.29/145.91 new_primMulNat2(Zero) -> Zero 214.29/145.91 new_primPlusNat0(Succ(vyv4000), Succ(vyv6000)) -> Succ(Succ(new_primPlusNat0(vyv4000, vyv6000))) 214.29/145.91 new_primPlusNat0(Zero, Succ(vyv6000)) -> Succ(vyv6000) 214.29/145.91 new_primPlusNat0(Zero, Zero) -> Zero 214.29/145.91 new_primPlusNat0(Succ(vyv4000), Zero) -> Succ(vyv4000) 214.29/145.91 new_primMulNat3(Succ(vyv1840000)) -> new_primPlusNat0(new_primMulNat4(vyv1840000), Succ(Succ(Succ(vyv1840000)))) 214.29/145.91 new_primMulNat3(Zero) -> Zero 214.29/145.91 new_primMulNat4(Succ(vyv18400000)) -> new_primPlusNat0(new_primMulNat0(vyv18400000, Succ(Succ(Succ(Succ(vyv18400000))))), Succ(Succ(Succ(Succ(vyv18400000))))) 214.29/145.91 new_primMulNat4(Zero) -> Zero 214.29/145.91 new_primMulNat0(Zero, Succ(vyv23900)) -> Zero 214.29/145.91 new_primMulNat0(Succ(vyv24000), Succ(vyv23900)) -> new_primPlusNat0(new_primMulNat0(vyv24000, Succ(vyv23900)), Succ(vyv23900)) 214.29/145.91 new_sr12(vyv184) -> error([]) 214.29/145.91 new_sr5(:%(vyv1840, vyv1841), bd) -> new_reduce2Reduce1(vyv1840, vyv1840, vyv1841, vyv1841, new_esEs0(vyv1841, bd), bd) 214.29/145.91 new_esEs0(vyv1841, ty_Int) -> new_esEs(new_sr7(vyv1841)) 214.29/145.91 new_esEs0(vyv1841, ty_Integer) -> new_esEs1(new_sr6(vyv1841)) 214.29/145.91 new_reduce2Reduce1(vyv265, vyv266, vyv267, vyv268, False, bh) -> :%(new_quot0(vyv265, vyv266, vyv267, vyv268, bh), new_quot1(vyv267, vyv268, vyv265, vyv266, bh)) 214.29/145.91 new_reduce2Reduce1(vyv265, vyv266, vyv267, vyv268, True, bh) -> error([]) 214.29/145.91 new_quot0(vyv265, vyv266, vyv267, vyv268, ty_Integer) -> new_quot2(new_sr9(vyv265, vyv266), new_sr9(vyv265, vyv266), new_sr9(vyv267, vyv268)) 214.29/145.91 new_quot0(vyv265, vyv266, vyv267, vyv268, ty_Int) -> new_quot(new_sr10(vyv265, vyv266), new_sr10(vyv265, vyv266), new_sr10(vyv267, vyv268)) 214.29/145.91 new_quot1(vyv267, vyv268, vyv265, vyv266, ty_Int) -> new_quot(new_sr10(vyv267, vyv268), new_sr10(vyv265, vyv266), new_sr10(vyv267, vyv268)) 214.29/145.91 new_quot1(vyv267, vyv268, vyv265, vyv266, ty_Integer) -> new_quot2(new_sr9(vyv267, vyv268), new_sr9(vyv265, vyv266), new_sr9(vyv267, vyv268)) 214.29/145.91 new_sr9(vyv240, vyv239) -> error([]) 214.29/145.91 new_quot2(vyv274, vyv276, vyv275) -> error([]) 214.29/145.91 new_sr10(Pos(vyv2400), Pos(vyv2390)) -> Pos(new_primMulNat0(vyv2400, vyv2390)) 214.29/145.91 new_sr10(Neg(vyv2400), Neg(vyv2390)) -> Pos(new_primMulNat0(vyv2400, vyv2390)) 214.29/145.91 new_sr10(Pos(vyv2400), Neg(vyv2390)) -> Neg(new_primMulNat0(vyv2400, vyv2390)) 214.29/145.91 new_sr10(Neg(vyv2400), Pos(vyv2390)) -> Neg(new_primMulNat0(vyv2400, vyv2390)) 214.29/145.91 new_quot(Pos(vyv2710), vyv273, vyv272) -> new_primQuotInt(vyv2710, new_gcd(vyv273, vyv272)) 214.29/145.91 new_quot(Neg(vyv2710), vyv273, vyv272) -> new_primQuotInt0(vyv2710, new_gcd(vyv273, vyv272)) 214.29/145.91 new_gcd(vyv273, vyv272) -> new_gcd2(new_esEs(vyv273), vyv273, vyv272) 214.29/145.91 new_primQuotInt0(vyv2710, Pos(Succ(vyv28800))) -> Neg(new_primDivNatS1(vyv2710, vyv28800)) 214.29/145.91 new_primQuotInt0(vyv2710, Neg(Zero)) -> new_error 214.29/145.91 new_primQuotInt0(vyv2710, Neg(Succ(vyv28800))) -> Pos(new_primDivNatS1(vyv2710, vyv28800)) 214.29/145.91 new_primQuotInt0(vyv2710, Pos(Zero)) -> new_error 214.29/145.91 new_error -> error([]) 214.29/145.91 new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) 214.29/145.91 new_esEs(Pos(Succ(vyv24300))) -> new_primEqInt(Pos(Succ(vyv24300))) 214.29/145.91 new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) 214.29/145.91 new_esEs(Neg(Succ(vyv24300))) -> new_primEqInt(Neg(Succ(vyv24300))) 214.29/145.91 new_gcd2(True, vyv273, vyv272) -> new_gcd1(new_esEs(vyv272), vyv273, vyv272) 214.29/145.91 new_gcd2(False, vyv273, vyv272) -> new_gcd0(vyv273, vyv272) 214.29/145.91 new_gcd0(vyv273, vyv272) -> new_gcd0Gcd'11(new_esEs(new_abs(vyv272)), vyv273, vyv272) 214.29/145.91 new_abs(Neg(Zero)) -> Neg(Zero) 214.29/145.91 new_abs(Neg(Succ(vyv27200))) -> Pos(Succ(vyv27200)) 214.29/145.91 new_abs(Pos(Succ(vyv27200))) -> Pos(Succ(vyv27200)) 214.29/145.91 new_abs(Pos(Zero)) -> Pos(Zero) 214.29/145.91 new_gcd0Gcd'11(True, vyv273, vyv272) -> new_abs(vyv273) 214.29/145.91 new_gcd0Gcd'11(False, vyv273, vyv272) -> new_gcd0Gcd'00(new_abs(vyv273), new_abs(vyv272)) 214.29/145.91 new_gcd0Gcd'00(vyv293, vyv292) -> new_gcd0Gcd'10(new_esEs(new_rem(vyv293, vyv292)), vyv292, vyv293) 214.29/145.91 new_gcd0Gcd'10(False, vyv292, vyv293) -> new_gcd0Gcd'00(vyv292, new_rem(vyv293, vyv292)) 214.29/145.91 new_rem(Pos(vyv2930), Neg(Zero)) -> new_error 214.29/145.91 new_rem(Neg(vyv2930), Pos(Zero)) -> new_error 214.29/145.91 new_rem(Pos(vyv2930), Neg(Succ(vyv29200))) -> Pos(new_primModNatS1(vyv2930, vyv29200)) 214.29/145.91 new_rem(Neg(vyv2930), Pos(Succ(vyv29200))) -> Neg(new_primModNatS1(vyv2930, vyv29200)) 214.29/145.91 new_rem(Pos(vyv2930), Pos(Succ(vyv29200))) -> Pos(new_primModNatS1(vyv2930, vyv29200)) 214.29/145.91 new_rem(Neg(vyv2930), Neg(Zero)) -> new_error 214.29/145.91 new_rem(Neg(vyv2930), Neg(Succ(vyv29200))) -> Neg(new_primModNatS1(vyv2930, vyv29200)) 214.29/145.91 new_rem(Pos(vyv2930), Pos(Zero)) -> new_error 214.29/145.91 new_gcd0Gcd'10(True, vyv292, vyv293) -> vyv292 214.29/145.91 new_primModNatS1(Succ(Zero), Succ(vyv292000)) -> Succ(Zero) 214.29/145.91 new_primModNatS1(Zero, vyv29200) -> Zero 214.29/145.91 new_primModNatS1(Succ(Succ(vyv293000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv293000), Zero) 214.29/145.91 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 214.29/145.91 new_primModNatS1(Succ(Succ(vyv293000)), Succ(vyv292000)) -> new_primModNatS01(vyv293000, vyv292000, vyv293000, vyv292000) 214.29/145.91 new_primModNatS01(vyv331, vyv332, Zero, Zero) -> new_primModNatS02(vyv331, vyv332) 214.29/145.91 new_primModNatS02(vyv331, vyv332) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv331), Succ(vyv332)), Succ(vyv332)) 214.29/145.91 new_primModNatS01(vyv331, vyv332, Succ(vyv3330), Zero) -> new_primModNatS02(vyv331, vyv332) 214.29/145.91 new_primModNatS01(vyv331, vyv332, Succ(vyv3330), Succ(vyv3340)) -> new_primModNatS01(vyv331, vyv332, vyv3330, vyv3340) 214.29/145.91 new_primModNatS01(vyv331, vyv332, Zero, Succ(vyv3340)) -> Succ(Succ(vyv331)) 214.29/145.91 new_gcd1(True, vyv273, vyv272) -> new_error 214.29/145.91 new_gcd1(False, vyv273, vyv272) -> new_gcd0(vyv273, vyv272) 214.29/145.91 new_primEqInt(Neg(Succ(vyv242000))) -> False 214.29/145.91 new_primEqInt(Pos(Zero)) -> True 214.29/145.91 new_primEqInt(Pos(Succ(vyv242000))) -> False 214.29/145.91 new_primEqInt(Neg(Zero)) -> True 214.29/145.91 new_primQuotInt(vyv2710, Neg(Zero)) -> new_error 214.29/145.91 new_primQuotInt(vyv2710, Pos(Zero)) -> new_error 214.29/145.91 new_primQuotInt(vyv2710, Neg(Succ(vyv28500))) -> Neg(new_primDivNatS1(vyv2710, vyv28500)) 214.29/145.91 new_primMulNat0(Succ(vyv24000), Zero) -> Zero 214.29/145.91 new_primMulNat0(Zero, Zero) -> Zero 214.29/145.91 new_esEs1(Integer(vyv2700)) -> new_primEqInt(vyv2700) 214.29/145.91 new_sr11(vyv184) -> error([]) 214.29/145.91 new_sr1(vyv228, ty_Double) -> new_sr11(vyv228) 214.29/145.91 new_sr1(vyv228, ty_Float) -> new_sr12(vyv228) 214.29/145.91 new_sr1(vyv228, app(ty_Ratio, bg)) -> new_sr5(vyv228, bg) 214.29/145.91 new_sr1(vyv228, ty_Integer) -> new_sr6(vyv228) 214.29/145.91 new_sr1(vyv228, ty_Int) -> new_sr7(vyv228) 214.29/145.91 new_sr3(vyv250, ty_Double) -> new_sr11(vyv250) 214.29/145.91 new_sr3(vyv250, ty_Int) -> new_sr7(vyv250) 214.29/145.91 new_sr3(vyv250, ty_Float) -> new_sr12(vyv250) 214.29/145.91 new_sr3(vyv250, ty_Integer) -> new_sr6(vyv250) 214.29/145.91 new_sr3(vyv250, app(ty_Ratio, bf)) -> new_sr5(vyv250, bf) 214.29/145.91 new_sr0(vyv184, ty_Double) -> new_sr11(vyv184) 214.29/145.91 new_sr0(vyv184, ty_Float) -> new_sr12(vyv184) 214.29/145.91 new_sr0(vyv184, ty_Int) -> new_sr7(vyv184) 214.29/145.91 new_sr0(vyv184, app(ty_Ratio, bd)) -> new_sr5(vyv184, bd) 214.29/145.91 new_sr0(vyv184, ty_Integer) -> new_sr6(vyv184) 214.29/145.91 new_ms0(vyv241, Neg(Zero)) -> Neg(Succ(vyv241)) 214.29/145.91 new_ms0(vyv241, Pos(vyv2440)) -> Neg(new_primPlusNat0(Succ(vyv241), vyv2440)) 214.29/145.91 new_ms0(vyv241, Neg(Succ(vyv24400))) -> new_primMinusNat0(vyv24400, vyv241) 214.29/145.91 new_sr4(vyv240, vyv239, app(ty_Ratio, be)) -> new_sr8(vyv240, vyv239, be) 214.29/145.91 new_sr4(vyv240, vyv239, ty_Float) -> new_sr14(vyv240, vyv239) 214.29/145.91 new_sr4(vyv240, vyv239, ty_Int) -> new_sr10(vyv240, vyv239) 214.29/145.91 new_sr4(vyv240, vyv239, ty_Double) -> new_sr13(vyv240, vyv239) 214.29/145.91 new_sr4(vyv240, vyv239, ty_Integer) -> new_sr9(vyv240, vyv239) 214.29/145.91 new_sr13(vyv240, vyv239) -> error([]) 214.29/145.91 new_sr14(vyv240, vyv239) -> error([]) 214.29/145.91 new_sr8(:%(vyv2400, vyv2401), :%(vyv2390, vyv2391), be) -> new_reduce2Reduce1(vyv2400, vyv2390, vyv2401, vyv2391, new_esEs2(vyv2401, vyv2391, be), be) 214.29/145.91 new_esEs2(vyv2401, vyv2391, ty_Integer) -> new_esEs1(new_sr9(vyv2401, vyv2391)) 214.29/145.91 new_esEs2(vyv2401, vyv2391, ty_Int) -> new_esEs(new_sr10(vyv2401, vyv2391)) 214.29/145.91 new_primMinusNat0(Succ(vyv2290), Succ(vyv245000)) -> new_primMinusNat0(vyv2290, vyv245000) 214.29/145.91 new_primMinusNat0(Zero, Zero) -> Pos(Zero) 214.29/145.91 new_primMinusNat0(Zero, Succ(vyv245000)) -> Neg(Succ(vyv245000)) 214.29/145.91 new_primMinusNat0(Succ(vyv2290), Zero) -> Pos(Succ(vyv2290)) 214.29/145.91 new_ms(vyv229, Neg(vyv2450)) -> Pos(new_primPlusNat0(Succ(vyv229), vyv2450)) 214.29/145.91 new_ms(vyv229, Pos(Succ(vyv24500))) -> new_primMinusNat0(vyv229, vyv24500) 214.29/145.91 new_ms(vyv229, Pos(Zero)) -> Pos(Succ(vyv229)) 214.29/145.91 new_sr2(vyv228, vyv227, ty_Integer) -> new_sr9(vyv228, vyv227) 214.29/145.91 new_sr2(vyv228, vyv227, ty_Int) -> new_sr10(vyv228, vyv227) 214.29/145.91 new_sr2(vyv228, vyv227, app(ty_Ratio, bg)) -> new_sr8(vyv228, vyv227, bg) 214.29/145.91 new_sr2(vyv228, vyv227, ty_Double) -> new_sr13(vyv228, vyv227) 214.29/145.91 new_sr2(vyv228, vyv227, ty_Float) -> new_sr14(vyv228, vyv227) 214.29/145.91 214.29/145.91 The set Q consists of the following terms: 214.29/145.91 214.29/145.91 new_sr13(x0, x1) 214.29/145.91 new_primDivNatS01(x0, x1, Zero, Zero) 214.29/145.91 new_gcd0Gcd'11(False, x0, x1) 214.29/145.91 new_primMulNat4(Zero) 214.29/145.91 new_gcd0Gcd'11(True, x0, x1) 214.29/145.91 new_sr2(x0, x1, ty_Float) 214.29/145.91 new_sr5(:%(x0, x1), x2) 214.29/145.91 new_primEqInt(Pos(Zero)) 214.29/145.91 new_ms(x0, Neg(x1)) 214.29/145.91 new_sr2(x0, x1, ty_Double) 214.29/145.91 new_esEs(Pos(Succ(x0))) 214.29/145.91 new_primQuotInt0(x0, Neg(Zero)) 214.29/145.91 new_primMulNat3(Zero) 214.29/145.91 new_primModNatS02(x0, x1) 214.29/145.91 new_sr(x0, ty_Double) 214.29/145.91 new_sr0(x0, ty_Double) 214.29/145.91 new_primDivNatS1(Succ(Zero), Zero) 214.29/145.91 new_primMinusNatS0(x0) 214.29/145.91 new_sr11(x0) 214.29/145.91 new_sr0(x0, app(ty_Ratio, x1)) 214.29/145.91 new_rem(Pos(x0), Neg(Succ(x1))) 214.29/145.91 new_rem(Neg(x0), Pos(Succ(x1))) 214.29/145.91 new_primMulNat0(Zero, Zero) 214.29/145.91 new_primPlusNat0(Succ(x0), Zero) 214.29/145.91 new_primMulNat0(Succ(x0), Zero) 214.29/145.91 new_sr3(x0, ty_Float) 214.29/145.91 new_primMulNat2(Zero) 214.29/145.91 new_primQuotInt(x0, Pos(Zero)) 214.29/145.91 new_primMulNat2(Succ(x0)) 214.29/145.91 new_primQuotInt(x0, Neg(Zero)) 214.29/145.91 new_rem(Neg(x0), Neg(Succ(x1))) 214.29/145.91 new_primMinusNatS2(Zero, Succ(x0)) 214.29/145.91 new_sr(x0, ty_Int) 214.29/145.91 new_sr4(x0, x1, ty_Double) 214.29/145.91 new_primMulNat3(Succ(x0)) 214.29/145.91 new_sr0(x0, ty_Float) 214.29/145.91 new_esEs1(Integer(x0)) 214.29/145.91 new_primQuotInt0(x0, Pos(Zero)) 214.29/145.91 new_gcd2(True, x0, x1) 214.29/145.91 new_quot1(x0, x1, x2, x3, ty_Int) 214.29/145.91 new_primDivNatS1(Zero, x0) 214.29/145.91 new_primMinusNat0(Zero, Zero) 214.29/145.91 new_gcd(x0, x1) 214.29/145.91 new_gcd1(False, x0, x1) 214.29/145.91 new_esEs2(x0, x1, ty_Int) 214.29/145.91 new_sr3(x0, ty_Integer) 214.29/145.91 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 214.29/145.91 new_sr1(x0, app(ty_Ratio, x1)) 214.29/145.91 new_sr1(x0, ty_Float) 214.29/145.91 new_primPlusNat0(Zero, Succ(x0)) 214.29/145.91 new_sr8(:%(x0, x1), :%(x2, x3), x4) 214.29/145.91 new_abs(Neg(Zero)) 214.29/145.91 new_primMinusNatS2(Succ(x0), Zero) 214.29/145.91 new_error 214.29/145.91 new_primModNatS1(Succ(Zero), Zero) 214.29/145.91 new_primMulNat4(Succ(x0)) 214.29/145.91 new_sr1(x0, ty_Integer) 214.29/145.91 new_primDivNatS02(x0, x1) 214.29/145.91 new_sr1(x0, ty_Int) 214.29/145.91 new_rem(Neg(x0), Neg(Zero)) 214.29/145.91 new_primMinusNat0(Zero, Succ(x0)) 214.29/145.91 new_primEqInt(Neg(Zero)) 214.29/145.91 new_rem(Pos(x0), Pos(Succ(x1))) 214.29/145.91 new_abs(Pos(Succ(x0))) 214.29/145.91 new_primMulNat0(Succ(x0), Succ(x1)) 214.29/145.91 new_primMulNat0(Zero, Succ(x0)) 214.29/145.91 new_reduce2Reduce1(x0, x1, x2, x3, True, x4) 214.29/145.91 new_sr(x0, ty_Float) 214.29/145.91 new_gcd0Gcd'10(False, x0, x1) 214.29/145.91 new_sr12(x0) 214.29/145.91 new_primDivNatS01(x0, x1, Zero, Succ(x2)) 214.29/145.91 new_sr10(Pos(x0), Pos(x1)) 214.29/145.91 new_primModNatS01(x0, x1, Zero, Succ(x2)) 214.29/145.91 new_primPlusNat0(Zero, Zero) 214.29/145.91 new_sr(x0, ty_Integer) 214.29/145.91 new_primQuotInt0(x0, Pos(Succ(x1))) 214.29/145.91 new_primModNatS01(x0, x1, Succ(x2), Zero) 214.29/145.91 new_ms(x0, Pos(Succ(x1))) 214.29/145.91 new_primModNatS1(Succ(Succ(x0)), Zero) 214.29/145.91 new_sr4(x0, x1, ty_Integer) 214.29/145.91 new_rem(Pos(x0), Pos(Zero)) 214.29/145.91 new_sr4(x0, x1, ty_Int) 214.29/145.91 new_ms0(x0, Neg(Succ(x1))) 214.29/145.91 new_quot(Pos(x0), x1, x2) 214.29/145.91 new_primMinusNatS2(Zero, Zero) 214.29/145.91 new_esEs0(x0, ty_Int) 214.29/145.91 new_primMinusNat0(Succ(x0), Zero) 214.29/145.91 new_ms0(x0, Pos(x1)) 214.29/145.91 new_esEs(Pos(Zero)) 214.29/145.91 new_quot(Neg(x0), x1, x2) 214.29/145.91 new_primDivNatS01(x0, x1, Succ(x2), Succ(x3)) 214.29/145.91 new_quot2(x0, x1, x2) 214.29/145.91 new_primEqInt(Neg(Succ(x0))) 214.29/145.91 new_sr10(Neg(x0), Neg(x1)) 214.29/145.91 new_sr3(x0, app(ty_Ratio, x1)) 214.29/145.91 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 214.29/145.91 new_sr9(x0, x1) 214.29/145.91 new_sr2(x0, x1, ty_Integer) 214.29/145.91 new_sr7(Neg(x0)) 214.29/145.91 new_sr1(x0, ty_Double) 214.29/145.91 new_primQuotInt0(x0, Neg(Succ(x1))) 214.29/145.91 new_sr0(x0, ty_Integer) 214.29/145.91 new_rem(Pos(x0), Neg(Zero)) 214.29/145.91 new_rem(Neg(x0), Pos(Zero)) 214.29/145.91 new_gcd0Gcd'00(x0, x1) 214.29/145.91 new_primQuotInt(x0, Neg(Succ(x1))) 214.29/145.91 new_primMinusNatS2(Succ(x0), Succ(x1)) 214.29/145.91 new_ms(x0, Pos(Zero)) 214.29/145.91 new_abs(Pos(Zero)) 214.29/145.91 new_primMinusNat0(Succ(x0), Succ(x1)) 214.29/145.91 new_quot0(x0, x1, x2, x3, ty_Integer) 214.29/145.91 new_sr0(x0, ty_Int) 214.29/145.91 new_sr6(x0) 214.29/145.91 new_gcd2(False, x0, x1) 214.29/145.91 new_gcd1(True, x0, x1) 214.29/145.91 new_esEs2(x0, x1, ty_Integer) 214.29/145.91 new_primMinusNatS1 214.29/145.91 new_sr7(Pos(x0)) 214.29/145.91 new_gcd0Gcd'10(True, x0, x1) 214.29/145.91 new_primModNatS1(Zero, x0) 214.29/145.91 new_sr4(x0, x1, ty_Float) 214.29/145.91 new_sr10(Pos(x0), Neg(x1)) 214.29/145.91 new_sr10(Neg(x0), Pos(x1)) 214.29/145.91 new_primDivNatS01(x0, x1, Succ(x2), Zero) 214.29/145.91 new_primDivNatS1(Succ(Succ(x0)), Succ(x1)) 214.29/145.91 new_primPlusNat0(Succ(x0), Succ(x1)) 214.29/145.91 new_primDivNatS1(Succ(Zero), Succ(x0)) 214.29/145.91 new_primQuotInt(x0, Pos(Succ(x1))) 214.29/145.91 new_sr2(x0, x1, app(ty_Ratio, x2)) 214.29/145.91 new_abs(Neg(Succ(x0))) 214.29/145.91 new_esEs0(x0, ty_Integer) 214.29/145.91 new_sr3(x0, ty_Int) 214.29/145.91 new_esEs(Neg(Succ(x0))) 214.29/145.91 new_sr(x0, app(ty_Ratio, x1)) 214.29/145.91 new_ms0(x0, Neg(Zero)) 214.29/145.91 new_primModNatS01(x0, x1, Zero, Zero) 214.29/145.91 new_sr4(x0, x1, app(ty_Ratio, x2)) 214.29/145.91 new_gcd0(x0, x1) 214.29/145.91 new_primEqInt(Pos(Succ(x0))) 214.29/145.91 new_sr3(x0, ty_Double) 214.29/145.91 new_quot1(x0, x1, x2, x3, ty_Integer) 214.29/145.91 new_primDivNatS1(Succ(Succ(x0)), Zero) 214.29/145.91 new_primMulNat1(Succ(x0)) 214.29/145.91 new_sr14(x0, x1) 214.29/145.91 new_quot0(x0, x1, x2, x3, ty_Int) 214.29/145.91 new_sr2(x0, x1, ty_Int) 214.29/145.91 new_primModNatS1(Succ(Zero), Succ(x0)) 214.29/145.91 new_reduce2Reduce1(x0, x1, x2, x3, False, x4) 214.29/145.91 new_esEs(Neg(Zero)) 214.29/145.91 new_primMulNat1(Zero) 214.29/145.91 214.29/145.91 We have to consider all minimal (P,Q,R)-chains. 214.29/145.91 ---------------------------------------- 214.29/145.91 214.29/145.91 (724) TransformationProof (EQUIVALENT) 214.29/145.91 By rewriting [LPAR04] the rule new_pr2F0G1(vyv227, vyv228, vyv229, Zero, ba) -> new_pr2F0G(vyv227, new_sr1(vyv228, ba), new_primQuotInt(Succ(vyv229), Pos(Succ(Succ(Zero)))), ba) at position [2] we obtained the following new rules [LPAR04]: 214.29/145.91 214.29/145.91 (new_pr2F0G1(vyv227, vyv228, vyv229, Zero, ba) -> new_pr2F0G(vyv227, new_sr1(vyv228, ba), Pos(new_primDivNatS1(Succ(vyv229), Succ(Zero))), ba),new_pr2F0G1(vyv227, vyv228, vyv229, Zero, ba) -> new_pr2F0G(vyv227, new_sr1(vyv228, ba), Pos(new_primDivNatS1(Succ(vyv229), Succ(Zero))), ba)) 214.29/145.91 214.29/145.91 214.29/145.91 ---------------------------------------- 214.29/145.91 214.29/145.91 (725) 214.29/145.91 Obligation: 214.29/145.91 Q DP problem: 214.29/145.91 The TRS P consists of the following rules: 214.29/145.91 214.29/145.91 new_pr2F0G10(vyv249, vyv250, vyv251, Succ(Succ(vyv25200)), bb) -> new_pr2F0G10(vyv249, vyv250, vyv251, vyv25200, bb) 214.29/145.91 new_pr2F0G(vyv188, vyv184, Neg(Succ(Zero)), h) -> new_pr2F0G11(vyv188, vyv184, Zero, h) 214.29/145.91 new_pr2F0G(vyv188, vyv184, Pos(Succ(Succ(vyv223000))), h) -> new_pr2F0G1(vyv188, vyv184, Succ(vyv223000), vyv223000, h) 214.29/145.91 new_pr2F0(vyv184, Neg(Succ(Succ(vyv223000))), vyv188, h) -> new_pr2F0G10(vyv188, vyv184, Succ(vyv223000), vyv223000, h) 214.29/145.91 new_pr2F0(vyv184, Neg(Succ(Zero)), vyv188, h) -> new_pr2F0G11(vyv188, vyv184, Zero, h) 214.29/145.91 new_pr2F0G10(vyv249, vyv250, vyv251, Succ(Zero), bb) -> new_pr2F0G11(vyv249, vyv250, vyv251, bb) 214.29/145.92 new_pr2F0G(vyv188, vyv184, Neg(Succ(Succ(vyv223000))), h) -> new_pr2F0G10(vyv188, vyv184, Succ(vyv223000), vyv223000, h) 214.29/145.92 new_pr2F3(False, vyv228, vyv229, vyv245, vyv227, ba) -> new_pr2F0(vyv228, new_ms(vyv229, vyv245), new_sr2(vyv228, vyv227, ba), ba) 214.29/145.92 new_pr2F0(vyv184, Pos(Succ(Succ(vyv223000))), vyv188, h) -> new_pr2F0G1(vyv188, vyv184, Succ(vyv223000), vyv223000, h) 214.29/145.92 new_pr2F1(vyv240, vyv241, vyv244, vyv239, bc) -> new_pr2F30(new_esEs(new_ms0(vyv241, vyv244)), vyv240, vyv241, vyv244, vyv239, bc) 214.29/145.92 new_pr2F(vyv228, vyv229, vyv245, vyv227, ba) -> new_pr2F3(new_esEs(new_ms(vyv229, vyv245)), vyv228, vyv229, vyv245, vyv227, ba) 214.29/145.92 new_pr2F0G1(vyv227, vyv228, vyv229, Succ(Succ(vyv23000)), ba) -> new_pr2F0G1(vyv227, vyv228, vyv229, vyv23000, ba) 214.29/145.92 new_pr2F30(False, vyv240, vyv241, vyv244, vyv239, bc) -> new_pr2F0(vyv240, new_ms0(vyv241, vyv244), new_sr4(vyv240, vyv239, bc), bc) 214.29/145.92 new_pr2F0G11(vyv239, vyv240, vyv241, bc) -> new_pr2F1(vyv240, vyv241, Pos(Succ(Zero)), vyv239, bc) 214.29/145.92 new_pr2F0(vyv184, Pos(Succ(Zero)), vyv188, h) -> new_pr2F(vyv184, Zero, Pos(Succ(Zero)), vyv188, h) 214.29/145.92 new_pr2F0G1(vyv227, vyv228, vyv229, Succ(Zero), ba) -> new_pr2F(vyv228, vyv229, Pos(Succ(Zero)), vyv227, ba) 214.29/145.92 new_pr2F0G(vyv188, vyv184, Pos(Succ(Zero)), h) -> new_pr2F(vyv184, Zero, Pos(Succ(Zero)), vyv188, h) 214.29/145.92 new_pr2F0(vyv184, Pos(Zero), vyv188, h) -> new_pr2F0G(vyv188, new_sr(vyv184, h), new_primQuotInt(Zero, Pos(Succ(Succ(Zero)))), h) 214.29/145.92 new_pr2F0(vyv184, Neg(Zero), vyv188, h) -> new_pr2F0G(vyv188, new_sr0(vyv184, h), Neg(new_primDivNatS1(Zero, Succ(Zero))), h) 214.29/145.92 new_pr2F0G(vyv188, vyv184, Neg(Zero), h) -> new_pr2F0G(vyv188, new_sr0(vyv184, h), Neg(new_primDivNatS1(Zero, Succ(Zero))), h) 214.29/145.92 new_pr2F0G10(vyv249, vyv250, vyv251, Zero, bb) -> new_pr2F0G(vyv249, new_sr3(vyv250, bb), Neg(new_primDivNatS1(Succ(vyv251), Succ(Zero))), bb) 214.29/145.92 new_pr2F0G(vyv188, vyv184, Pos(Zero), h) -> new_pr2F0G(vyv188, new_sr(vyv184, h), Pos(new_primDivNatS1(Zero, Succ(Zero))), h) 214.29/145.92 new_pr2F0G1(vyv227, vyv228, vyv229, Zero, ba) -> new_pr2F0G(vyv227, new_sr1(vyv228, ba), Pos(new_primDivNatS1(Succ(vyv229), Succ(Zero))), ba) 214.29/145.92 214.29/145.92 The TRS R consists of the following rules: 214.29/145.92 214.29/145.92 new_sr(vyv184, ty_Double) -> new_sr11(vyv184) 214.29/145.92 new_sr(vyv184, app(ty_Ratio, bd)) -> new_sr5(vyv184, bd) 214.29/145.92 new_sr(vyv184, ty_Float) -> new_sr12(vyv184) 214.29/145.92 new_sr(vyv184, ty_Int) -> new_sr7(vyv184) 214.29/145.92 new_sr(vyv184, ty_Integer) -> new_sr6(vyv184) 214.29/145.92 new_primQuotInt(vyv2710, Pos(Succ(vyv28500))) -> Pos(new_primDivNatS1(vyv2710, vyv28500)) 214.29/145.92 new_primDivNatS1(Zero, vyv28500) -> Zero 214.29/145.92 new_primDivNatS1(Succ(Succ(vyv271000)), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS0(vyv271000), Zero)) 214.29/145.92 new_primDivNatS1(Succ(Zero), Succ(vyv285000)) -> Zero 214.29/145.92 new_primDivNatS1(Succ(Succ(vyv271000)), Succ(vyv285000)) -> new_primDivNatS01(vyv271000, vyv285000, vyv271000, vyv285000) 214.29/145.92 new_primDivNatS1(Succ(Zero), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS1, Zero)) 214.29/145.92 new_primMinusNatS1 -> Zero 214.29/145.92 new_primDivNatS01(vyv311, vyv312, Succ(vyv3130), Zero) -> new_primDivNatS02(vyv311, vyv312) 214.29/145.92 new_primDivNatS01(vyv311, vyv312, Zero, Succ(vyv3140)) -> Zero 214.29/145.92 new_primDivNatS01(vyv311, vyv312, Succ(vyv3130), Succ(vyv3140)) -> new_primDivNatS01(vyv311, vyv312, vyv3130, vyv3140) 214.29/145.92 new_primDivNatS01(vyv311, vyv312, Zero, Zero) -> new_primDivNatS02(vyv311, vyv312) 214.29/145.92 new_primDivNatS02(vyv311, vyv312) -> Succ(new_primDivNatS1(new_primMinusNatS2(vyv311, vyv312), Succ(vyv312))) 214.29/145.92 new_primMinusNatS2(Zero, Succ(vyv3120)) -> Zero 214.29/145.92 new_primMinusNatS2(Succ(vyv3110), Zero) -> Succ(vyv3110) 214.29/145.92 new_primMinusNatS2(Zero, Zero) -> Zero 214.29/145.92 new_primMinusNatS2(Succ(vyv3110), Succ(vyv3120)) -> new_primMinusNatS2(vyv3110, vyv3120) 214.29/145.92 new_primMinusNatS0(vyv271000) -> Succ(vyv271000) 214.29/145.92 new_sr6(vyv184) -> error([]) 214.29/145.92 new_sr7(Pos(vyv1840)) -> Pos(new_primMulNat1(vyv1840)) 214.29/145.92 new_sr7(Neg(vyv1840)) -> Pos(new_primMulNat1(vyv1840)) 214.29/145.92 new_primMulNat1(Succ(vyv18400)) -> new_primPlusNat0(new_primMulNat2(vyv18400), Succ(vyv18400)) 214.29/145.92 new_primMulNat1(Zero) -> Zero 214.29/145.92 new_primMulNat2(Succ(vyv184000)) -> new_primPlusNat0(new_primMulNat3(vyv184000), Succ(Succ(vyv184000))) 214.29/145.92 new_primMulNat2(Zero) -> Zero 214.29/145.92 new_primPlusNat0(Succ(vyv4000), Succ(vyv6000)) -> Succ(Succ(new_primPlusNat0(vyv4000, vyv6000))) 214.29/145.92 new_primPlusNat0(Zero, Succ(vyv6000)) -> Succ(vyv6000) 214.29/145.92 new_primPlusNat0(Zero, Zero) -> Zero 214.29/145.92 new_primPlusNat0(Succ(vyv4000), Zero) -> Succ(vyv4000) 214.29/145.92 new_primMulNat3(Succ(vyv1840000)) -> new_primPlusNat0(new_primMulNat4(vyv1840000), Succ(Succ(Succ(vyv1840000)))) 214.29/145.92 new_primMulNat3(Zero) -> Zero 214.29/145.92 new_primMulNat4(Succ(vyv18400000)) -> new_primPlusNat0(new_primMulNat0(vyv18400000, Succ(Succ(Succ(Succ(vyv18400000))))), Succ(Succ(Succ(Succ(vyv18400000))))) 214.29/145.92 new_primMulNat4(Zero) -> Zero 214.29/145.92 new_primMulNat0(Zero, Succ(vyv23900)) -> Zero 214.29/145.92 new_primMulNat0(Succ(vyv24000), Succ(vyv23900)) -> new_primPlusNat0(new_primMulNat0(vyv24000, Succ(vyv23900)), Succ(vyv23900)) 214.29/145.92 new_sr12(vyv184) -> error([]) 214.29/145.92 new_sr5(:%(vyv1840, vyv1841), bd) -> new_reduce2Reduce1(vyv1840, vyv1840, vyv1841, vyv1841, new_esEs0(vyv1841, bd), bd) 214.29/145.92 new_esEs0(vyv1841, ty_Int) -> new_esEs(new_sr7(vyv1841)) 214.29/145.92 new_esEs0(vyv1841, ty_Integer) -> new_esEs1(new_sr6(vyv1841)) 214.29/145.92 new_reduce2Reduce1(vyv265, vyv266, vyv267, vyv268, False, bh) -> :%(new_quot0(vyv265, vyv266, vyv267, vyv268, bh), new_quot1(vyv267, vyv268, vyv265, vyv266, bh)) 214.29/145.92 new_reduce2Reduce1(vyv265, vyv266, vyv267, vyv268, True, bh) -> error([]) 214.29/145.92 new_quot0(vyv265, vyv266, vyv267, vyv268, ty_Integer) -> new_quot2(new_sr9(vyv265, vyv266), new_sr9(vyv265, vyv266), new_sr9(vyv267, vyv268)) 214.29/145.92 new_quot0(vyv265, vyv266, vyv267, vyv268, ty_Int) -> new_quot(new_sr10(vyv265, vyv266), new_sr10(vyv265, vyv266), new_sr10(vyv267, vyv268)) 214.29/145.92 new_quot1(vyv267, vyv268, vyv265, vyv266, ty_Int) -> new_quot(new_sr10(vyv267, vyv268), new_sr10(vyv265, vyv266), new_sr10(vyv267, vyv268)) 214.29/145.92 new_quot1(vyv267, vyv268, vyv265, vyv266, ty_Integer) -> new_quot2(new_sr9(vyv267, vyv268), new_sr9(vyv265, vyv266), new_sr9(vyv267, vyv268)) 214.29/145.92 new_sr9(vyv240, vyv239) -> error([]) 214.29/145.92 new_quot2(vyv274, vyv276, vyv275) -> error([]) 214.29/145.92 new_sr10(Pos(vyv2400), Pos(vyv2390)) -> Pos(new_primMulNat0(vyv2400, vyv2390)) 214.29/145.92 new_sr10(Neg(vyv2400), Neg(vyv2390)) -> Pos(new_primMulNat0(vyv2400, vyv2390)) 214.29/145.92 new_sr10(Pos(vyv2400), Neg(vyv2390)) -> Neg(new_primMulNat0(vyv2400, vyv2390)) 214.29/145.92 new_sr10(Neg(vyv2400), Pos(vyv2390)) -> Neg(new_primMulNat0(vyv2400, vyv2390)) 214.29/145.92 new_quot(Pos(vyv2710), vyv273, vyv272) -> new_primQuotInt(vyv2710, new_gcd(vyv273, vyv272)) 214.29/145.92 new_quot(Neg(vyv2710), vyv273, vyv272) -> new_primQuotInt0(vyv2710, new_gcd(vyv273, vyv272)) 214.29/145.92 new_gcd(vyv273, vyv272) -> new_gcd2(new_esEs(vyv273), vyv273, vyv272) 214.29/145.92 new_primQuotInt0(vyv2710, Pos(Succ(vyv28800))) -> Neg(new_primDivNatS1(vyv2710, vyv28800)) 214.29/145.92 new_primQuotInt0(vyv2710, Neg(Zero)) -> new_error 214.29/145.92 new_primQuotInt0(vyv2710, Neg(Succ(vyv28800))) -> Pos(new_primDivNatS1(vyv2710, vyv28800)) 214.29/145.92 new_primQuotInt0(vyv2710, Pos(Zero)) -> new_error 214.29/145.92 new_error -> error([]) 214.29/145.92 new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) 214.29/145.92 new_esEs(Pos(Succ(vyv24300))) -> new_primEqInt(Pos(Succ(vyv24300))) 214.29/145.92 new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) 214.29/145.92 new_esEs(Neg(Succ(vyv24300))) -> new_primEqInt(Neg(Succ(vyv24300))) 214.29/145.92 new_gcd2(True, vyv273, vyv272) -> new_gcd1(new_esEs(vyv272), vyv273, vyv272) 214.29/145.92 new_gcd2(False, vyv273, vyv272) -> new_gcd0(vyv273, vyv272) 214.29/145.92 new_gcd0(vyv273, vyv272) -> new_gcd0Gcd'11(new_esEs(new_abs(vyv272)), vyv273, vyv272) 214.29/145.92 new_abs(Neg(Zero)) -> Neg(Zero) 214.29/145.92 new_abs(Neg(Succ(vyv27200))) -> Pos(Succ(vyv27200)) 214.29/145.92 new_abs(Pos(Succ(vyv27200))) -> Pos(Succ(vyv27200)) 214.29/145.92 new_abs(Pos(Zero)) -> Pos(Zero) 214.29/145.92 new_gcd0Gcd'11(True, vyv273, vyv272) -> new_abs(vyv273) 214.29/145.92 new_gcd0Gcd'11(False, vyv273, vyv272) -> new_gcd0Gcd'00(new_abs(vyv273), new_abs(vyv272)) 214.29/145.92 new_gcd0Gcd'00(vyv293, vyv292) -> new_gcd0Gcd'10(new_esEs(new_rem(vyv293, vyv292)), vyv292, vyv293) 214.29/145.92 new_gcd0Gcd'10(False, vyv292, vyv293) -> new_gcd0Gcd'00(vyv292, new_rem(vyv293, vyv292)) 214.29/145.92 new_rem(Pos(vyv2930), Neg(Zero)) -> new_error 214.29/145.92 new_rem(Neg(vyv2930), Pos(Zero)) -> new_error 214.29/145.92 new_rem(Pos(vyv2930), Neg(Succ(vyv29200))) -> Pos(new_primModNatS1(vyv2930, vyv29200)) 214.29/145.92 new_rem(Neg(vyv2930), Pos(Succ(vyv29200))) -> Neg(new_primModNatS1(vyv2930, vyv29200)) 214.29/145.92 new_rem(Pos(vyv2930), Pos(Succ(vyv29200))) -> Pos(new_primModNatS1(vyv2930, vyv29200)) 214.29/145.92 new_rem(Neg(vyv2930), Neg(Zero)) -> new_error 214.29/145.92 new_rem(Neg(vyv2930), Neg(Succ(vyv29200))) -> Neg(new_primModNatS1(vyv2930, vyv29200)) 214.29/145.92 new_rem(Pos(vyv2930), Pos(Zero)) -> new_error 214.29/145.92 new_gcd0Gcd'10(True, vyv292, vyv293) -> vyv292 214.29/145.92 new_primModNatS1(Succ(Zero), Succ(vyv292000)) -> Succ(Zero) 214.29/145.92 new_primModNatS1(Zero, vyv29200) -> Zero 214.29/145.92 new_primModNatS1(Succ(Succ(vyv293000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv293000), Zero) 214.29/145.92 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 214.29/145.92 new_primModNatS1(Succ(Succ(vyv293000)), Succ(vyv292000)) -> new_primModNatS01(vyv293000, vyv292000, vyv293000, vyv292000) 214.29/145.92 new_primModNatS01(vyv331, vyv332, Zero, Zero) -> new_primModNatS02(vyv331, vyv332) 214.29/145.92 new_primModNatS02(vyv331, vyv332) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv331), Succ(vyv332)), Succ(vyv332)) 214.29/145.92 new_primModNatS01(vyv331, vyv332, Succ(vyv3330), Zero) -> new_primModNatS02(vyv331, vyv332) 214.29/145.92 new_primModNatS01(vyv331, vyv332, Succ(vyv3330), Succ(vyv3340)) -> new_primModNatS01(vyv331, vyv332, vyv3330, vyv3340) 214.29/145.92 new_primModNatS01(vyv331, vyv332, Zero, Succ(vyv3340)) -> Succ(Succ(vyv331)) 214.29/145.92 new_gcd1(True, vyv273, vyv272) -> new_error 214.29/145.92 new_gcd1(False, vyv273, vyv272) -> new_gcd0(vyv273, vyv272) 214.29/145.92 new_primEqInt(Neg(Succ(vyv242000))) -> False 214.29/145.92 new_primEqInt(Pos(Zero)) -> True 214.29/145.92 new_primEqInt(Pos(Succ(vyv242000))) -> False 214.29/145.92 new_primEqInt(Neg(Zero)) -> True 214.29/145.92 new_primQuotInt(vyv2710, Neg(Zero)) -> new_error 214.29/145.92 new_primQuotInt(vyv2710, Pos(Zero)) -> new_error 214.29/145.92 new_primQuotInt(vyv2710, Neg(Succ(vyv28500))) -> Neg(new_primDivNatS1(vyv2710, vyv28500)) 214.29/145.92 new_primMulNat0(Succ(vyv24000), Zero) -> Zero 214.29/145.92 new_primMulNat0(Zero, Zero) -> Zero 214.29/145.92 new_esEs1(Integer(vyv2700)) -> new_primEqInt(vyv2700) 214.29/145.92 new_sr11(vyv184) -> error([]) 214.29/145.92 new_sr1(vyv228, ty_Double) -> new_sr11(vyv228) 214.29/145.92 new_sr1(vyv228, ty_Float) -> new_sr12(vyv228) 214.29/145.92 new_sr1(vyv228, app(ty_Ratio, bg)) -> new_sr5(vyv228, bg) 214.29/145.92 new_sr1(vyv228, ty_Integer) -> new_sr6(vyv228) 214.29/145.92 new_sr1(vyv228, ty_Int) -> new_sr7(vyv228) 214.29/145.92 new_sr3(vyv250, ty_Double) -> new_sr11(vyv250) 214.29/145.92 new_sr3(vyv250, ty_Int) -> new_sr7(vyv250) 214.29/145.92 new_sr3(vyv250, ty_Float) -> new_sr12(vyv250) 214.29/145.92 new_sr3(vyv250, ty_Integer) -> new_sr6(vyv250) 214.29/145.92 new_sr3(vyv250, app(ty_Ratio, bf)) -> new_sr5(vyv250, bf) 214.29/145.92 new_sr0(vyv184, ty_Double) -> new_sr11(vyv184) 214.29/145.92 new_sr0(vyv184, ty_Float) -> new_sr12(vyv184) 214.29/145.92 new_sr0(vyv184, ty_Int) -> new_sr7(vyv184) 214.29/145.92 new_sr0(vyv184, app(ty_Ratio, bd)) -> new_sr5(vyv184, bd) 214.29/145.92 new_sr0(vyv184, ty_Integer) -> new_sr6(vyv184) 214.29/145.92 new_ms0(vyv241, Neg(Zero)) -> Neg(Succ(vyv241)) 214.29/145.92 new_ms0(vyv241, Pos(vyv2440)) -> Neg(new_primPlusNat0(Succ(vyv241), vyv2440)) 214.29/145.92 new_ms0(vyv241, Neg(Succ(vyv24400))) -> new_primMinusNat0(vyv24400, vyv241) 214.29/145.92 new_sr4(vyv240, vyv239, app(ty_Ratio, be)) -> new_sr8(vyv240, vyv239, be) 214.29/145.92 new_sr4(vyv240, vyv239, ty_Float) -> new_sr14(vyv240, vyv239) 214.29/145.92 new_sr4(vyv240, vyv239, ty_Int) -> new_sr10(vyv240, vyv239) 214.29/145.92 new_sr4(vyv240, vyv239, ty_Double) -> new_sr13(vyv240, vyv239) 214.29/145.92 new_sr4(vyv240, vyv239, ty_Integer) -> new_sr9(vyv240, vyv239) 214.29/145.92 new_sr13(vyv240, vyv239) -> error([]) 214.29/145.92 new_sr14(vyv240, vyv239) -> error([]) 214.29/145.92 new_sr8(:%(vyv2400, vyv2401), :%(vyv2390, vyv2391), be) -> new_reduce2Reduce1(vyv2400, vyv2390, vyv2401, vyv2391, new_esEs2(vyv2401, vyv2391, be), be) 214.29/145.92 new_esEs2(vyv2401, vyv2391, ty_Integer) -> new_esEs1(new_sr9(vyv2401, vyv2391)) 214.29/145.92 new_esEs2(vyv2401, vyv2391, ty_Int) -> new_esEs(new_sr10(vyv2401, vyv2391)) 214.29/145.92 new_primMinusNat0(Succ(vyv2290), Succ(vyv245000)) -> new_primMinusNat0(vyv2290, vyv245000) 214.29/145.92 new_primMinusNat0(Zero, Zero) -> Pos(Zero) 214.29/145.92 new_primMinusNat0(Zero, Succ(vyv245000)) -> Neg(Succ(vyv245000)) 214.29/145.92 new_primMinusNat0(Succ(vyv2290), Zero) -> Pos(Succ(vyv2290)) 214.29/145.92 new_ms(vyv229, Neg(vyv2450)) -> Pos(new_primPlusNat0(Succ(vyv229), vyv2450)) 214.29/145.92 new_ms(vyv229, Pos(Succ(vyv24500))) -> new_primMinusNat0(vyv229, vyv24500) 214.29/145.92 new_ms(vyv229, Pos(Zero)) -> Pos(Succ(vyv229)) 214.29/145.92 new_sr2(vyv228, vyv227, ty_Integer) -> new_sr9(vyv228, vyv227) 214.29/145.92 new_sr2(vyv228, vyv227, ty_Int) -> new_sr10(vyv228, vyv227) 214.29/145.92 new_sr2(vyv228, vyv227, app(ty_Ratio, bg)) -> new_sr8(vyv228, vyv227, bg) 214.29/145.92 new_sr2(vyv228, vyv227, ty_Double) -> new_sr13(vyv228, vyv227) 214.29/145.92 new_sr2(vyv228, vyv227, ty_Float) -> new_sr14(vyv228, vyv227) 214.29/145.92 214.29/145.92 The set Q consists of the following terms: 214.29/145.92 214.29/145.92 new_sr13(x0, x1) 214.29/145.92 new_primDivNatS01(x0, x1, Zero, Zero) 214.29/145.92 new_gcd0Gcd'11(False, x0, x1) 214.29/145.92 new_primMulNat4(Zero) 214.29/145.92 new_gcd0Gcd'11(True, x0, x1) 214.29/145.92 new_sr2(x0, x1, ty_Float) 214.29/145.92 new_sr5(:%(x0, x1), x2) 214.29/145.92 new_primEqInt(Pos(Zero)) 214.29/145.92 new_ms(x0, Neg(x1)) 214.29/145.92 new_sr2(x0, x1, ty_Double) 214.29/145.92 new_esEs(Pos(Succ(x0))) 214.29/145.92 new_primQuotInt0(x0, Neg(Zero)) 214.29/145.92 new_primMulNat3(Zero) 214.29/145.92 new_primModNatS02(x0, x1) 214.29/145.92 new_sr(x0, ty_Double) 214.29/145.92 new_sr0(x0, ty_Double) 214.29/145.92 new_primDivNatS1(Succ(Zero), Zero) 214.29/145.92 new_primMinusNatS0(x0) 214.29/145.92 new_sr11(x0) 214.29/145.92 new_sr0(x0, app(ty_Ratio, x1)) 214.29/145.92 new_rem(Pos(x0), Neg(Succ(x1))) 214.29/145.92 new_rem(Neg(x0), Pos(Succ(x1))) 214.29/145.92 new_primMulNat0(Zero, Zero) 214.29/145.92 new_primPlusNat0(Succ(x0), Zero) 214.29/145.92 new_primMulNat0(Succ(x0), Zero) 214.29/145.92 new_sr3(x0, ty_Float) 214.29/145.92 new_primMulNat2(Zero) 214.29/145.92 new_primQuotInt(x0, Pos(Zero)) 214.29/145.92 new_primMulNat2(Succ(x0)) 214.29/145.92 new_primQuotInt(x0, Neg(Zero)) 214.29/145.92 new_rem(Neg(x0), Neg(Succ(x1))) 214.29/145.92 new_primMinusNatS2(Zero, Succ(x0)) 214.29/145.92 new_sr(x0, ty_Int) 214.29/145.92 new_sr4(x0, x1, ty_Double) 214.29/145.92 new_primMulNat3(Succ(x0)) 214.29/145.92 new_sr0(x0, ty_Float) 214.29/145.92 new_esEs1(Integer(x0)) 214.29/145.92 new_primQuotInt0(x0, Pos(Zero)) 214.29/145.92 new_gcd2(True, x0, x1) 214.29/145.92 new_quot1(x0, x1, x2, x3, ty_Int) 214.29/145.92 new_primDivNatS1(Zero, x0) 214.29/145.92 new_primMinusNat0(Zero, Zero) 214.29/145.92 new_gcd(x0, x1) 214.29/145.92 new_gcd1(False, x0, x1) 214.29/145.92 new_esEs2(x0, x1, ty_Int) 214.29/145.92 new_sr3(x0, ty_Integer) 214.29/145.92 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 214.29/145.92 new_sr1(x0, app(ty_Ratio, x1)) 214.29/145.92 new_sr1(x0, ty_Float) 214.29/145.92 new_primPlusNat0(Zero, Succ(x0)) 214.29/145.92 new_sr8(:%(x0, x1), :%(x2, x3), x4) 214.29/145.92 new_abs(Neg(Zero)) 214.29/145.92 new_primMinusNatS2(Succ(x0), Zero) 214.29/145.92 new_error 214.29/145.92 new_primModNatS1(Succ(Zero), Zero) 214.29/145.92 new_primMulNat4(Succ(x0)) 214.29/145.92 new_sr1(x0, ty_Integer) 214.29/145.92 new_primDivNatS02(x0, x1) 214.29/145.92 new_sr1(x0, ty_Int) 214.29/145.92 new_rem(Neg(x0), Neg(Zero)) 214.29/145.92 new_primMinusNat0(Zero, Succ(x0)) 214.29/145.92 new_primEqInt(Neg(Zero)) 214.29/145.92 new_rem(Pos(x0), Pos(Succ(x1))) 214.29/145.92 new_abs(Pos(Succ(x0))) 214.29/145.92 new_primMulNat0(Succ(x0), Succ(x1)) 214.29/145.92 new_primMulNat0(Zero, Succ(x0)) 214.29/145.92 new_reduce2Reduce1(x0, x1, x2, x3, True, x4) 214.29/145.92 new_sr(x0, ty_Float) 214.29/145.92 new_gcd0Gcd'10(False, x0, x1) 214.29/145.92 new_sr12(x0) 214.29/145.92 new_primDivNatS01(x0, x1, Zero, Succ(x2)) 214.29/145.92 new_sr10(Pos(x0), Pos(x1)) 214.29/145.92 new_primModNatS01(x0, x1, Zero, Succ(x2)) 214.29/145.92 new_primPlusNat0(Zero, Zero) 214.29/145.92 new_sr(x0, ty_Integer) 214.29/145.92 new_primQuotInt0(x0, Pos(Succ(x1))) 214.29/145.92 new_primModNatS01(x0, x1, Succ(x2), Zero) 214.29/145.92 new_ms(x0, Pos(Succ(x1))) 214.29/145.92 new_primModNatS1(Succ(Succ(x0)), Zero) 214.29/145.92 new_sr4(x0, x1, ty_Integer) 214.29/145.92 new_rem(Pos(x0), Pos(Zero)) 214.29/145.92 new_sr4(x0, x1, ty_Int) 214.29/145.92 new_ms0(x0, Neg(Succ(x1))) 214.29/145.92 new_quot(Pos(x0), x1, x2) 214.29/145.92 new_primMinusNatS2(Zero, Zero) 214.29/145.92 new_esEs0(x0, ty_Int) 214.29/145.92 new_primMinusNat0(Succ(x0), Zero) 214.29/145.92 new_ms0(x0, Pos(x1)) 214.29/145.92 new_esEs(Pos(Zero)) 214.29/145.92 new_quot(Neg(x0), x1, x2) 214.29/145.92 new_primDivNatS01(x0, x1, Succ(x2), Succ(x3)) 214.29/145.92 new_quot2(x0, x1, x2) 214.29/145.92 new_primEqInt(Neg(Succ(x0))) 214.29/145.92 new_sr10(Neg(x0), Neg(x1)) 214.29/145.92 new_sr3(x0, app(ty_Ratio, x1)) 214.29/145.92 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 214.29/145.92 new_sr9(x0, x1) 214.29/145.92 new_sr2(x0, x1, ty_Integer) 214.29/145.92 new_sr7(Neg(x0)) 214.29/145.92 new_sr1(x0, ty_Double) 214.29/145.92 new_primQuotInt0(x0, Neg(Succ(x1))) 214.29/145.92 new_sr0(x0, ty_Integer) 214.29/145.92 new_rem(Pos(x0), Neg(Zero)) 214.29/145.92 new_rem(Neg(x0), Pos(Zero)) 214.29/145.92 new_gcd0Gcd'00(x0, x1) 214.29/145.92 new_primQuotInt(x0, Neg(Succ(x1))) 214.29/145.92 new_primMinusNatS2(Succ(x0), Succ(x1)) 214.29/145.92 new_ms(x0, Pos(Zero)) 214.29/145.92 new_abs(Pos(Zero)) 214.29/145.92 new_primMinusNat0(Succ(x0), Succ(x1)) 214.29/145.92 new_quot0(x0, x1, x2, x3, ty_Integer) 214.29/145.92 new_sr0(x0, ty_Int) 214.29/145.92 new_sr6(x0) 214.29/145.92 new_gcd2(False, x0, x1) 214.29/145.92 new_gcd1(True, x0, x1) 214.29/145.92 new_esEs2(x0, x1, ty_Integer) 214.29/145.92 new_primMinusNatS1 214.29/145.92 new_sr7(Pos(x0)) 214.29/145.92 new_gcd0Gcd'10(True, x0, x1) 214.29/145.92 new_primModNatS1(Zero, x0) 214.29/145.92 new_sr4(x0, x1, ty_Float) 214.29/145.92 new_sr10(Pos(x0), Neg(x1)) 214.29/145.92 new_sr10(Neg(x0), Pos(x1)) 214.29/145.92 new_primDivNatS01(x0, x1, Succ(x2), Zero) 214.29/145.92 new_primDivNatS1(Succ(Succ(x0)), Succ(x1)) 214.29/145.92 new_primPlusNat0(Succ(x0), Succ(x1)) 214.29/145.92 new_primDivNatS1(Succ(Zero), Succ(x0)) 214.29/145.92 new_primQuotInt(x0, Pos(Succ(x1))) 214.29/145.92 new_sr2(x0, x1, app(ty_Ratio, x2)) 214.29/145.92 new_abs(Neg(Succ(x0))) 214.29/145.92 new_esEs0(x0, ty_Integer) 214.29/145.92 new_sr3(x0, ty_Int) 214.29/145.92 new_esEs(Neg(Succ(x0))) 214.29/145.92 new_sr(x0, app(ty_Ratio, x1)) 214.29/145.92 new_ms0(x0, Neg(Zero)) 214.29/145.92 new_primModNatS01(x0, x1, Zero, Zero) 214.29/145.92 new_sr4(x0, x1, app(ty_Ratio, x2)) 214.29/145.92 new_gcd0(x0, x1) 214.29/145.92 new_primEqInt(Pos(Succ(x0))) 214.29/145.92 new_sr3(x0, ty_Double) 214.29/145.92 new_quot1(x0, x1, x2, x3, ty_Integer) 214.29/145.92 new_primDivNatS1(Succ(Succ(x0)), Zero) 214.29/145.92 new_primMulNat1(Succ(x0)) 214.29/145.92 new_sr14(x0, x1) 214.29/145.92 new_quot0(x0, x1, x2, x3, ty_Int) 214.29/145.92 new_sr2(x0, x1, ty_Int) 214.29/145.92 new_primModNatS1(Succ(Zero), Succ(x0)) 214.29/145.92 new_reduce2Reduce1(x0, x1, x2, x3, False, x4) 214.29/145.92 new_esEs(Neg(Zero)) 214.29/145.92 new_primMulNat1(Zero) 214.29/145.92 214.29/145.92 We have to consider all minimal (P,Q,R)-chains. 214.29/145.92 ---------------------------------------- 214.29/145.92 214.29/145.92 (726) TransformationProof (EQUIVALENT) 214.29/145.92 By rewriting [LPAR04] the rule new_pr2F0(vyv184, Pos(Zero), vyv188, h) -> new_pr2F0G(vyv188, new_sr(vyv184, h), new_primQuotInt(Zero, Pos(Succ(Succ(Zero)))), h) at position [2] we obtained the following new rules [LPAR04]: 214.29/145.92 214.29/145.92 (new_pr2F0(vyv184, Pos(Zero), vyv188, h) -> new_pr2F0G(vyv188, new_sr(vyv184, h), Pos(new_primDivNatS1(Zero, Succ(Zero))), h),new_pr2F0(vyv184, Pos(Zero), vyv188, h) -> new_pr2F0G(vyv188, new_sr(vyv184, h), Pos(new_primDivNatS1(Zero, Succ(Zero))), h)) 214.29/145.92 214.29/145.92 214.29/145.92 ---------------------------------------- 214.29/145.92 214.29/145.92 (727) 214.29/145.92 Obligation: 214.29/145.92 Q DP problem: 214.29/145.92 The TRS P consists of the following rules: 214.29/145.92 214.29/145.92 new_pr2F0G10(vyv249, vyv250, vyv251, Succ(Succ(vyv25200)), bb) -> new_pr2F0G10(vyv249, vyv250, vyv251, vyv25200, bb) 214.29/145.92 new_pr2F0G(vyv188, vyv184, Neg(Succ(Zero)), h) -> new_pr2F0G11(vyv188, vyv184, Zero, h) 214.29/145.92 new_pr2F0G(vyv188, vyv184, Pos(Succ(Succ(vyv223000))), h) -> new_pr2F0G1(vyv188, vyv184, Succ(vyv223000), vyv223000, h) 214.29/145.92 new_pr2F0(vyv184, Neg(Succ(Succ(vyv223000))), vyv188, h) -> new_pr2F0G10(vyv188, vyv184, Succ(vyv223000), vyv223000, h) 214.29/145.92 new_pr2F0(vyv184, Neg(Succ(Zero)), vyv188, h) -> new_pr2F0G11(vyv188, vyv184, Zero, h) 214.29/145.92 new_pr2F0G10(vyv249, vyv250, vyv251, Succ(Zero), bb) -> new_pr2F0G11(vyv249, vyv250, vyv251, bb) 214.29/145.92 new_pr2F0G(vyv188, vyv184, Neg(Succ(Succ(vyv223000))), h) -> new_pr2F0G10(vyv188, vyv184, Succ(vyv223000), vyv223000, h) 214.29/145.92 new_pr2F3(False, vyv228, vyv229, vyv245, vyv227, ba) -> new_pr2F0(vyv228, new_ms(vyv229, vyv245), new_sr2(vyv228, vyv227, ba), ba) 214.29/145.92 new_pr2F0(vyv184, Pos(Succ(Succ(vyv223000))), vyv188, h) -> new_pr2F0G1(vyv188, vyv184, Succ(vyv223000), vyv223000, h) 214.29/145.92 new_pr2F1(vyv240, vyv241, vyv244, vyv239, bc) -> new_pr2F30(new_esEs(new_ms0(vyv241, vyv244)), vyv240, vyv241, vyv244, vyv239, bc) 214.29/145.92 new_pr2F(vyv228, vyv229, vyv245, vyv227, ba) -> new_pr2F3(new_esEs(new_ms(vyv229, vyv245)), vyv228, vyv229, vyv245, vyv227, ba) 214.29/145.92 new_pr2F0G1(vyv227, vyv228, vyv229, Succ(Succ(vyv23000)), ba) -> new_pr2F0G1(vyv227, vyv228, vyv229, vyv23000, ba) 214.29/145.92 new_pr2F30(False, vyv240, vyv241, vyv244, vyv239, bc) -> new_pr2F0(vyv240, new_ms0(vyv241, vyv244), new_sr4(vyv240, vyv239, bc), bc) 214.29/145.92 new_pr2F0G11(vyv239, vyv240, vyv241, bc) -> new_pr2F1(vyv240, vyv241, Pos(Succ(Zero)), vyv239, bc) 214.29/145.92 new_pr2F0(vyv184, Pos(Succ(Zero)), vyv188, h) -> new_pr2F(vyv184, Zero, Pos(Succ(Zero)), vyv188, h) 214.29/145.92 new_pr2F0G1(vyv227, vyv228, vyv229, Succ(Zero), ba) -> new_pr2F(vyv228, vyv229, Pos(Succ(Zero)), vyv227, ba) 214.29/145.92 new_pr2F0G(vyv188, vyv184, Pos(Succ(Zero)), h) -> new_pr2F(vyv184, Zero, Pos(Succ(Zero)), vyv188, h) 214.29/145.92 new_pr2F0(vyv184, Neg(Zero), vyv188, h) -> new_pr2F0G(vyv188, new_sr0(vyv184, h), Neg(new_primDivNatS1(Zero, Succ(Zero))), h) 214.29/145.92 new_pr2F0G(vyv188, vyv184, Neg(Zero), h) -> new_pr2F0G(vyv188, new_sr0(vyv184, h), Neg(new_primDivNatS1(Zero, Succ(Zero))), h) 214.29/145.92 new_pr2F0G10(vyv249, vyv250, vyv251, Zero, bb) -> new_pr2F0G(vyv249, new_sr3(vyv250, bb), Neg(new_primDivNatS1(Succ(vyv251), Succ(Zero))), bb) 214.29/145.92 new_pr2F0G(vyv188, vyv184, Pos(Zero), h) -> new_pr2F0G(vyv188, new_sr(vyv184, h), Pos(new_primDivNatS1(Zero, Succ(Zero))), h) 214.29/145.92 new_pr2F0G1(vyv227, vyv228, vyv229, Zero, ba) -> new_pr2F0G(vyv227, new_sr1(vyv228, ba), Pos(new_primDivNatS1(Succ(vyv229), Succ(Zero))), ba) 214.29/145.92 new_pr2F0(vyv184, Pos(Zero), vyv188, h) -> new_pr2F0G(vyv188, new_sr(vyv184, h), Pos(new_primDivNatS1(Zero, Succ(Zero))), h) 214.29/145.92 214.29/145.92 The TRS R consists of the following rules: 214.29/145.92 214.29/145.92 new_sr(vyv184, ty_Double) -> new_sr11(vyv184) 214.29/145.92 new_sr(vyv184, app(ty_Ratio, bd)) -> new_sr5(vyv184, bd) 214.29/145.92 new_sr(vyv184, ty_Float) -> new_sr12(vyv184) 214.29/145.92 new_sr(vyv184, ty_Int) -> new_sr7(vyv184) 214.29/145.92 new_sr(vyv184, ty_Integer) -> new_sr6(vyv184) 214.29/145.92 new_primQuotInt(vyv2710, Pos(Succ(vyv28500))) -> Pos(new_primDivNatS1(vyv2710, vyv28500)) 214.29/145.92 new_primDivNatS1(Zero, vyv28500) -> Zero 214.29/145.92 new_primDivNatS1(Succ(Succ(vyv271000)), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS0(vyv271000), Zero)) 214.29/145.92 new_primDivNatS1(Succ(Zero), Succ(vyv285000)) -> Zero 214.29/145.92 new_primDivNatS1(Succ(Succ(vyv271000)), Succ(vyv285000)) -> new_primDivNatS01(vyv271000, vyv285000, vyv271000, vyv285000) 214.29/145.92 new_primDivNatS1(Succ(Zero), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS1, Zero)) 214.29/145.92 new_primMinusNatS1 -> Zero 214.29/145.92 new_primDivNatS01(vyv311, vyv312, Succ(vyv3130), Zero) -> new_primDivNatS02(vyv311, vyv312) 214.29/145.92 new_primDivNatS01(vyv311, vyv312, Zero, Succ(vyv3140)) -> Zero 214.29/145.92 new_primDivNatS01(vyv311, vyv312, Succ(vyv3130), Succ(vyv3140)) -> new_primDivNatS01(vyv311, vyv312, vyv3130, vyv3140) 214.29/145.92 new_primDivNatS01(vyv311, vyv312, Zero, Zero) -> new_primDivNatS02(vyv311, vyv312) 214.29/145.92 new_primDivNatS02(vyv311, vyv312) -> Succ(new_primDivNatS1(new_primMinusNatS2(vyv311, vyv312), Succ(vyv312))) 214.29/145.92 new_primMinusNatS2(Zero, Succ(vyv3120)) -> Zero 214.29/145.92 new_primMinusNatS2(Succ(vyv3110), Zero) -> Succ(vyv3110) 214.29/145.92 new_primMinusNatS2(Zero, Zero) -> Zero 214.29/145.92 new_primMinusNatS2(Succ(vyv3110), Succ(vyv3120)) -> new_primMinusNatS2(vyv3110, vyv3120) 214.29/145.92 new_primMinusNatS0(vyv271000) -> Succ(vyv271000) 214.29/145.92 new_sr6(vyv184) -> error([]) 214.29/145.92 new_sr7(Pos(vyv1840)) -> Pos(new_primMulNat1(vyv1840)) 214.29/145.92 new_sr7(Neg(vyv1840)) -> Pos(new_primMulNat1(vyv1840)) 214.29/145.92 new_primMulNat1(Succ(vyv18400)) -> new_primPlusNat0(new_primMulNat2(vyv18400), Succ(vyv18400)) 214.29/145.92 new_primMulNat1(Zero) -> Zero 214.29/145.92 new_primMulNat2(Succ(vyv184000)) -> new_primPlusNat0(new_primMulNat3(vyv184000), Succ(Succ(vyv184000))) 214.29/145.92 new_primMulNat2(Zero) -> Zero 214.29/145.92 new_primPlusNat0(Succ(vyv4000), Succ(vyv6000)) -> Succ(Succ(new_primPlusNat0(vyv4000, vyv6000))) 214.29/145.92 new_primPlusNat0(Zero, Succ(vyv6000)) -> Succ(vyv6000) 214.29/145.92 new_primPlusNat0(Zero, Zero) -> Zero 214.29/145.92 new_primPlusNat0(Succ(vyv4000), Zero) -> Succ(vyv4000) 214.29/145.92 new_primMulNat3(Succ(vyv1840000)) -> new_primPlusNat0(new_primMulNat4(vyv1840000), Succ(Succ(Succ(vyv1840000)))) 214.29/145.92 new_primMulNat3(Zero) -> Zero 214.29/145.92 new_primMulNat4(Succ(vyv18400000)) -> new_primPlusNat0(new_primMulNat0(vyv18400000, Succ(Succ(Succ(Succ(vyv18400000))))), Succ(Succ(Succ(Succ(vyv18400000))))) 214.29/145.92 new_primMulNat4(Zero) -> Zero 214.29/145.92 new_primMulNat0(Zero, Succ(vyv23900)) -> Zero 214.29/145.92 new_primMulNat0(Succ(vyv24000), Succ(vyv23900)) -> new_primPlusNat0(new_primMulNat0(vyv24000, Succ(vyv23900)), Succ(vyv23900)) 214.29/145.92 new_sr12(vyv184) -> error([]) 214.29/145.92 new_sr5(:%(vyv1840, vyv1841), bd) -> new_reduce2Reduce1(vyv1840, vyv1840, vyv1841, vyv1841, new_esEs0(vyv1841, bd), bd) 214.29/145.92 new_esEs0(vyv1841, ty_Int) -> new_esEs(new_sr7(vyv1841)) 214.29/145.92 new_esEs0(vyv1841, ty_Integer) -> new_esEs1(new_sr6(vyv1841)) 214.29/145.92 new_reduce2Reduce1(vyv265, vyv266, vyv267, vyv268, False, bh) -> :%(new_quot0(vyv265, vyv266, vyv267, vyv268, bh), new_quot1(vyv267, vyv268, vyv265, vyv266, bh)) 214.29/145.92 new_reduce2Reduce1(vyv265, vyv266, vyv267, vyv268, True, bh) -> error([]) 214.29/145.92 new_quot0(vyv265, vyv266, vyv267, vyv268, ty_Integer) -> new_quot2(new_sr9(vyv265, vyv266), new_sr9(vyv265, vyv266), new_sr9(vyv267, vyv268)) 214.29/145.92 new_quot0(vyv265, vyv266, vyv267, vyv268, ty_Int) -> new_quot(new_sr10(vyv265, vyv266), new_sr10(vyv265, vyv266), new_sr10(vyv267, vyv268)) 214.29/145.92 new_quot1(vyv267, vyv268, vyv265, vyv266, ty_Int) -> new_quot(new_sr10(vyv267, vyv268), new_sr10(vyv265, vyv266), new_sr10(vyv267, vyv268)) 214.29/145.92 new_quot1(vyv267, vyv268, vyv265, vyv266, ty_Integer) -> new_quot2(new_sr9(vyv267, vyv268), new_sr9(vyv265, vyv266), new_sr9(vyv267, vyv268)) 214.29/145.92 new_sr9(vyv240, vyv239) -> error([]) 214.29/145.92 new_quot2(vyv274, vyv276, vyv275) -> error([]) 214.29/145.92 new_sr10(Pos(vyv2400), Pos(vyv2390)) -> Pos(new_primMulNat0(vyv2400, vyv2390)) 214.29/145.92 new_sr10(Neg(vyv2400), Neg(vyv2390)) -> Pos(new_primMulNat0(vyv2400, vyv2390)) 214.29/145.92 new_sr10(Pos(vyv2400), Neg(vyv2390)) -> Neg(new_primMulNat0(vyv2400, vyv2390)) 214.29/145.92 new_sr10(Neg(vyv2400), Pos(vyv2390)) -> Neg(new_primMulNat0(vyv2400, vyv2390)) 214.29/145.92 new_quot(Pos(vyv2710), vyv273, vyv272) -> new_primQuotInt(vyv2710, new_gcd(vyv273, vyv272)) 214.29/145.92 new_quot(Neg(vyv2710), vyv273, vyv272) -> new_primQuotInt0(vyv2710, new_gcd(vyv273, vyv272)) 214.29/145.92 new_gcd(vyv273, vyv272) -> new_gcd2(new_esEs(vyv273), vyv273, vyv272) 214.29/145.92 new_primQuotInt0(vyv2710, Pos(Succ(vyv28800))) -> Neg(new_primDivNatS1(vyv2710, vyv28800)) 214.29/145.92 new_primQuotInt0(vyv2710, Neg(Zero)) -> new_error 214.29/145.92 new_primQuotInt0(vyv2710, Neg(Succ(vyv28800))) -> Pos(new_primDivNatS1(vyv2710, vyv28800)) 214.29/145.92 new_primQuotInt0(vyv2710, Pos(Zero)) -> new_error 214.29/145.92 new_error -> error([]) 214.29/145.92 new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) 214.29/145.92 new_esEs(Pos(Succ(vyv24300))) -> new_primEqInt(Pos(Succ(vyv24300))) 214.29/145.92 new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) 214.29/145.92 new_esEs(Neg(Succ(vyv24300))) -> new_primEqInt(Neg(Succ(vyv24300))) 214.29/145.92 new_gcd2(True, vyv273, vyv272) -> new_gcd1(new_esEs(vyv272), vyv273, vyv272) 214.29/145.92 new_gcd2(False, vyv273, vyv272) -> new_gcd0(vyv273, vyv272) 214.29/145.92 new_gcd0(vyv273, vyv272) -> new_gcd0Gcd'11(new_esEs(new_abs(vyv272)), vyv273, vyv272) 214.29/145.92 new_abs(Neg(Zero)) -> Neg(Zero) 214.29/145.92 new_abs(Neg(Succ(vyv27200))) -> Pos(Succ(vyv27200)) 214.29/145.92 new_abs(Pos(Succ(vyv27200))) -> Pos(Succ(vyv27200)) 214.29/145.92 new_abs(Pos(Zero)) -> Pos(Zero) 214.29/145.92 new_gcd0Gcd'11(True, vyv273, vyv272) -> new_abs(vyv273) 214.29/145.92 new_gcd0Gcd'11(False, vyv273, vyv272) -> new_gcd0Gcd'00(new_abs(vyv273), new_abs(vyv272)) 214.29/145.92 new_gcd0Gcd'00(vyv293, vyv292) -> new_gcd0Gcd'10(new_esEs(new_rem(vyv293, vyv292)), vyv292, vyv293) 214.29/145.92 new_gcd0Gcd'10(False, vyv292, vyv293) -> new_gcd0Gcd'00(vyv292, new_rem(vyv293, vyv292)) 214.29/145.92 new_rem(Pos(vyv2930), Neg(Zero)) -> new_error 214.29/145.92 new_rem(Neg(vyv2930), Pos(Zero)) -> new_error 214.29/145.92 new_rem(Pos(vyv2930), Neg(Succ(vyv29200))) -> Pos(new_primModNatS1(vyv2930, vyv29200)) 214.29/145.92 new_rem(Neg(vyv2930), Pos(Succ(vyv29200))) -> Neg(new_primModNatS1(vyv2930, vyv29200)) 214.29/145.92 new_rem(Pos(vyv2930), Pos(Succ(vyv29200))) -> Pos(new_primModNatS1(vyv2930, vyv29200)) 214.29/145.92 new_rem(Neg(vyv2930), Neg(Zero)) -> new_error 214.29/145.92 new_rem(Neg(vyv2930), Neg(Succ(vyv29200))) -> Neg(new_primModNatS1(vyv2930, vyv29200)) 214.29/145.92 new_rem(Pos(vyv2930), Pos(Zero)) -> new_error 214.29/145.92 new_gcd0Gcd'10(True, vyv292, vyv293) -> vyv292 214.29/145.92 new_primModNatS1(Succ(Zero), Succ(vyv292000)) -> Succ(Zero) 214.29/145.92 new_primModNatS1(Zero, vyv29200) -> Zero 214.29/145.92 new_primModNatS1(Succ(Succ(vyv293000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv293000), Zero) 214.29/145.92 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 214.29/145.92 new_primModNatS1(Succ(Succ(vyv293000)), Succ(vyv292000)) -> new_primModNatS01(vyv293000, vyv292000, vyv293000, vyv292000) 214.29/145.92 new_primModNatS01(vyv331, vyv332, Zero, Zero) -> new_primModNatS02(vyv331, vyv332) 214.29/145.92 new_primModNatS02(vyv331, vyv332) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv331), Succ(vyv332)), Succ(vyv332)) 214.29/145.92 new_primModNatS01(vyv331, vyv332, Succ(vyv3330), Zero) -> new_primModNatS02(vyv331, vyv332) 214.29/145.92 new_primModNatS01(vyv331, vyv332, Succ(vyv3330), Succ(vyv3340)) -> new_primModNatS01(vyv331, vyv332, vyv3330, vyv3340) 214.29/145.92 new_primModNatS01(vyv331, vyv332, Zero, Succ(vyv3340)) -> Succ(Succ(vyv331)) 214.29/145.92 new_gcd1(True, vyv273, vyv272) -> new_error 214.29/145.92 new_gcd1(False, vyv273, vyv272) -> new_gcd0(vyv273, vyv272) 214.29/145.92 new_primEqInt(Neg(Succ(vyv242000))) -> False 214.29/145.92 new_primEqInt(Pos(Zero)) -> True 214.29/145.92 new_primEqInt(Pos(Succ(vyv242000))) -> False 214.29/145.92 new_primEqInt(Neg(Zero)) -> True 214.29/145.92 new_primQuotInt(vyv2710, Neg(Zero)) -> new_error 214.29/145.92 new_primQuotInt(vyv2710, Pos(Zero)) -> new_error 214.29/145.92 new_primQuotInt(vyv2710, Neg(Succ(vyv28500))) -> Neg(new_primDivNatS1(vyv2710, vyv28500)) 214.29/145.92 new_primMulNat0(Succ(vyv24000), Zero) -> Zero 214.29/145.92 new_primMulNat0(Zero, Zero) -> Zero 214.29/145.92 new_esEs1(Integer(vyv2700)) -> new_primEqInt(vyv2700) 214.29/145.92 new_sr11(vyv184) -> error([]) 214.29/145.92 new_sr1(vyv228, ty_Double) -> new_sr11(vyv228) 214.29/145.92 new_sr1(vyv228, ty_Float) -> new_sr12(vyv228) 214.29/145.92 new_sr1(vyv228, app(ty_Ratio, bg)) -> new_sr5(vyv228, bg) 214.29/145.92 new_sr1(vyv228, ty_Integer) -> new_sr6(vyv228) 214.29/145.92 new_sr1(vyv228, ty_Int) -> new_sr7(vyv228) 214.29/145.92 new_sr3(vyv250, ty_Double) -> new_sr11(vyv250) 214.29/145.92 new_sr3(vyv250, ty_Int) -> new_sr7(vyv250) 214.29/145.92 new_sr3(vyv250, ty_Float) -> new_sr12(vyv250) 214.29/145.92 new_sr3(vyv250, ty_Integer) -> new_sr6(vyv250) 214.29/145.92 new_sr3(vyv250, app(ty_Ratio, bf)) -> new_sr5(vyv250, bf) 214.29/145.92 new_sr0(vyv184, ty_Double) -> new_sr11(vyv184) 214.29/145.92 new_sr0(vyv184, ty_Float) -> new_sr12(vyv184) 214.29/145.92 new_sr0(vyv184, ty_Int) -> new_sr7(vyv184) 214.29/145.92 new_sr0(vyv184, app(ty_Ratio, bd)) -> new_sr5(vyv184, bd) 214.29/145.92 new_sr0(vyv184, ty_Integer) -> new_sr6(vyv184) 214.29/145.92 new_ms0(vyv241, Neg(Zero)) -> Neg(Succ(vyv241)) 214.29/145.92 new_ms0(vyv241, Pos(vyv2440)) -> Neg(new_primPlusNat0(Succ(vyv241), vyv2440)) 214.29/145.92 new_ms0(vyv241, Neg(Succ(vyv24400))) -> new_primMinusNat0(vyv24400, vyv241) 214.29/145.92 new_sr4(vyv240, vyv239, app(ty_Ratio, be)) -> new_sr8(vyv240, vyv239, be) 214.29/145.92 new_sr4(vyv240, vyv239, ty_Float) -> new_sr14(vyv240, vyv239) 214.29/145.92 new_sr4(vyv240, vyv239, ty_Int) -> new_sr10(vyv240, vyv239) 214.29/145.92 new_sr4(vyv240, vyv239, ty_Double) -> new_sr13(vyv240, vyv239) 214.29/145.92 new_sr4(vyv240, vyv239, ty_Integer) -> new_sr9(vyv240, vyv239) 214.29/145.92 new_sr13(vyv240, vyv239) -> error([]) 214.29/145.92 new_sr14(vyv240, vyv239) -> error([]) 214.29/145.92 new_sr8(:%(vyv2400, vyv2401), :%(vyv2390, vyv2391), be) -> new_reduce2Reduce1(vyv2400, vyv2390, vyv2401, vyv2391, new_esEs2(vyv2401, vyv2391, be), be) 214.29/145.92 new_esEs2(vyv2401, vyv2391, ty_Integer) -> new_esEs1(new_sr9(vyv2401, vyv2391)) 214.29/145.92 new_esEs2(vyv2401, vyv2391, ty_Int) -> new_esEs(new_sr10(vyv2401, vyv2391)) 214.29/145.92 new_primMinusNat0(Succ(vyv2290), Succ(vyv245000)) -> new_primMinusNat0(vyv2290, vyv245000) 214.29/145.92 new_primMinusNat0(Zero, Zero) -> Pos(Zero) 214.29/145.92 new_primMinusNat0(Zero, Succ(vyv245000)) -> Neg(Succ(vyv245000)) 214.29/145.92 new_primMinusNat0(Succ(vyv2290), Zero) -> Pos(Succ(vyv2290)) 214.29/145.92 new_ms(vyv229, Neg(vyv2450)) -> Pos(new_primPlusNat0(Succ(vyv229), vyv2450)) 214.29/145.92 new_ms(vyv229, Pos(Succ(vyv24500))) -> new_primMinusNat0(vyv229, vyv24500) 214.29/145.92 new_ms(vyv229, Pos(Zero)) -> Pos(Succ(vyv229)) 214.29/145.92 new_sr2(vyv228, vyv227, ty_Integer) -> new_sr9(vyv228, vyv227) 214.29/145.92 new_sr2(vyv228, vyv227, ty_Int) -> new_sr10(vyv228, vyv227) 214.29/145.92 new_sr2(vyv228, vyv227, app(ty_Ratio, bg)) -> new_sr8(vyv228, vyv227, bg) 214.29/145.92 new_sr2(vyv228, vyv227, ty_Double) -> new_sr13(vyv228, vyv227) 214.29/145.92 new_sr2(vyv228, vyv227, ty_Float) -> new_sr14(vyv228, vyv227) 214.29/145.92 214.29/145.92 The set Q consists of the following terms: 214.29/145.92 214.29/145.92 new_sr13(x0, x1) 214.29/145.92 new_primDivNatS01(x0, x1, Zero, Zero) 214.29/145.92 new_gcd0Gcd'11(False, x0, x1) 214.29/145.92 new_primMulNat4(Zero) 214.29/145.92 new_gcd0Gcd'11(True, x0, x1) 214.29/145.92 new_sr2(x0, x1, ty_Float) 214.29/145.92 new_sr5(:%(x0, x1), x2) 214.29/145.92 new_primEqInt(Pos(Zero)) 214.29/145.92 new_ms(x0, Neg(x1)) 214.29/145.92 new_sr2(x0, x1, ty_Double) 214.29/145.92 new_esEs(Pos(Succ(x0))) 214.29/145.92 new_primQuotInt0(x0, Neg(Zero)) 214.29/145.92 new_primMulNat3(Zero) 214.29/145.92 new_primModNatS02(x0, x1) 214.29/145.92 new_sr(x0, ty_Double) 214.29/145.92 new_sr0(x0, ty_Double) 214.29/145.92 new_primDivNatS1(Succ(Zero), Zero) 214.29/145.92 new_primMinusNatS0(x0) 214.29/145.92 new_sr11(x0) 214.29/145.92 new_sr0(x0, app(ty_Ratio, x1)) 214.29/145.92 new_rem(Pos(x0), Neg(Succ(x1))) 214.29/145.92 new_rem(Neg(x0), Pos(Succ(x1))) 214.29/145.92 new_primMulNat0(Zero, Zero) 214.29/145.92 new_primPlusNat0(Succ(x0), Zero) 214.29/145.92 new_primMulNat0(Succ(x0), Zero) 214.29/145.92 new_sr3(x0, ty_Float) 214.29/145.92 new_primMulNat2(Zero) 214.29/145.92 new_primQuotInt(x0, Pos(Zero)) 214.29/145.92 new_primMulNat2(Succ(x0)) 214.29/145.92 new_primQuotInt(x0, Neg(Zero)) 214.29/145.92 new_rem(Neg(x0), Neg(Succ(x1))) 214.29/145.92 new_primMinusNatS2(Zero, Succ(x0)) 214.29/145.92 new_sr(x0, ty_Int) 214.29/145.92 new_sr4(x0, x1, ty_Double) 214.29/145.92 new_primMulNat3(Succ(x0)) 214.29/145.92 new_sr0(x0, ty_Float) 214.29/145.92 new_esEs1(Integer(x0)) 214.29/145.92 new_primQuotInt0(x0, Pos(Zero)) 214.29/145.92 new_gcd2(True, x0, x1) 214.29/145.92 new_quot1(x0, x1, x2, x3, ty_Int) 214.29/145.92 new_primDivNatS1(Zero, x0) 214.29/145.92 new_primMinusNat0(Zero, Zero) 214.29/145.92 new_gcd(x0, x1) 214.29/145.92 new_gcd1(False, x0, x1) 214.29/145.92 new_esEs2(x0, x1, ty_Int) 214.29/145.92 new_sr3(x0, ty_Integer) 214.29/145.92 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 214.29/145.92 new_sr1(x0, app(ty_Ratio, x1)) 214.29/145.92 new_sr1(x0, ty_Float) 214.29/145.92 new_primPlusNat0(Zero, Succ(x0)) 214.29/145.92 new_sr8(:%(x0, x1), :%(x2, x3), x4) 214.29/145.92 new_abs(Neg(Zero)) 214.29/145.92 new_primMinusNatS2(Succ(x0), Zero) 214.29/145.92 new_error 214.29/145.92 new_primModNatS1(Succ(Zero), Zero) 214.29/145.92 new_primMulNat4(Succ(x0)) 214.29/145.92 new_sr1(x0, ty_Integer) 214.29/145.92 new_primDivNatS02(x0, x1) 214.29/145.92 new_sr1(x0, ty_Int) 214.29/145.92 new_rem(Neg(x0), Neg(Zero)) 214.29/145.92 new_primMinusNat0(Zero, Succ(x0)) 214.29/145.92 new_primEqInt(Neg(Zero)) 214.29/145.92 new_rem(Pos(x0), Pos(Succ(x1))) 214.29/145.92 new_abs(Pos(Succ(x0))) 214.29/145.92 new_primMulNat0(Succ(x0), Succ(x1)) 214.29/145.92 new_primMulNat0(Zero, Succ(x0)) 214.29/145.92 new_reduce2Reduce1(x0, x1, x2, x3, True, x4) 214.29/145.92 new_sr(x0, ty_Float) 214.29/145.92 new_gcd0Gcd'10(False, x0, x1) 214.29/145.92 new_sr12(x0) 214.29/145.92 new_primDivNatS01(x0, x1, Zero, Succ(x2)) 214.29/145.92 new_sr10(Pos(x0), Pos(x1)) 214.29/145.92 new_primModNatS01(x0, x1, Zero, Succ(x2)) 214.29/145.92 new_primPlusNat0(Zero, Zero) 214.29/145.92 new_sr(x0, ty_Integer) 214.29/145.92 new_primQuotInt0(x0, Pos(Succ(x1))) 214.29/145.92 new_primModNatS01(x0, x1, Succ(x2), Zero) 214.29/145.92 new_ms(x0, Pos(Succ(x1))) 214.29/145.92 new_primModNatS1(Succ(Succ(x0)), Zero) 214.29/145.92 new_sr4(x0, x1, ty_Integer) 214.29/145.92 new_rem(Pos(x0), Pos(Zero)) 214.29/145.92 new_sr4(x0, x1, ty_Int) 214.29/145.92 new_ms0(x0, Neg(Succ(x1))) 214.29/145.92 new_quot(Pos(x0), x1, x2) 214.29/145.92 new_primMinusNatS2(Zero, Zero) 214.29/145.92 new_esEs0(x0, ty_Int) 214.29/145.92 new_primMinusNat0(Succ(x0), Zero) 214.29/145.92 new_ms0(x0, Pos(x1)) 214.29/145.92 new_esEs(Pos(Zero)) 214.29/145.92 new_quot(Neg(x0), x1, x2) 214.29/145.92 new_primDivNatS01(x0, x1, Succ(x2), Succ(x3)) 214.29/145.92 new_quot2(x0, x1, x2) 214.29/145.92 new_primEqInt(Neg(Succ(x0))) 214.29/145.92 new_sr10(Neg(x0), Neg(x1)) 214.29/145.92 new_sr3(x0, app(ty_Ratio, x1)) 214.29/145.92 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 214.29/145.92 new_sr9(x0, x1) 214.29/145.92 new_sr2(x0, x1, ty_Integer) 214.29/145.92 new_sr7(Neg(x0)) 214.29/145.92 new_sr1(x0, ty_Double) 214.29/145.92 new_primQuotInt0(x0, Neg(Succ(x1))) 214.29/145.92 new_sr0(x0, ty_Integer) 214.29/145.92 new_rem(Pos(x0), Neg(Zero)) 214.29/145.92 new_rem(Neg(x0), Pos(Zero)) 214.29/145.92 new_gcd0Gcd'00(x0, x1) 214.29/145.92 new_primQuotInt(x0, Neg(Succ(x1))) 214.29/145.92 new_primMinusNatS2(Succ(x0), Succ(x1)) 214.29/145.92 new_ms(x0, Pos(Zero)) 214.29/145.92 new_abs(Pos(Zero)) 214.29/145.92 new_primMinusNat0(Succ(x0), Succ(x1)) 214.29/145.92 new_quot0(x0, x1, x2, x3, ty_Integer) 214.29/145.92 new_sr0(x0, ty_Int) 214.29/145.92 new_sr6(x0) 214.29/145.92 new_gcd2(False, x0, x1) 214.29/145.92 new_gcd1(True, x0, x1) 214.29/145.92 new_esEs2(x0, x1, ty_Integer) 214.29/145.92 new_primMinusNatS1 214.29/145.92 new_sr7(Pos(x0)) 214.29/145.92 new_gcd0Gcd'10(True, x0, x1) 214.29/145.92 new_primModNatS1(Zero, x0) 214.29/145.92 new_sr4(x0, x1, ty_Float) 214.29/145.92 new_sr10(Pos(x0), Neg(x1)) 214.29/145.92 new_sr10(Neg(x0), Pos(x1)) 214.29/145.92 new_primDivNatS01(x0, x1, Succ(x2), Zero) 214.29/145.92 new_primDivNatS1(Succ(Succ(x0)), Succ(x1)) 214.29/145.92 new_primPlusNat0(Succ(x0), Succ(x1)) 214.29/145.92 new_primDivNatS1(Succ(Zero), Succ(x0)) 214.29/145.92 new_primQuotInt(x0, Pos(Succ(x1))) 214.29/145.92 new_sr2(x0, x1, app(ty_Ratio, x2)) 214.29/145.92 new_abs(Neg(Succ(x0))) 214.29/145.92 new_esEs0(x0, ty_Integer) 214.29/145.92 new_sr3(x0, ty_Int) 214.29/145.92 new_esEs(Neg(Succ(x0))) 214.29/145.92 new_sr(x0, app(ty_Ratio, x1)) 214.29/145.92 new_ms0(x0, Neg(Zero)) 214.29/145.92 new_primModNatS01(x0, x1, Zero, Zero) 214.29/145.92 new_sr4(x0, x1, app(ty_Ratio, x2)) 214.29/145.92 new_gcd0(x0, x1) 214.29/145.92 new_primEqInt(Pos(Succ(x0))) 214.29/145.92 new_sr3(x0, ty_Double) 214.29/145.92 new_quot1(x0, x1, x2, x3, ty_Integer) 214.29/145.92 new_primDivNatS1(Succ(Succ(x0)), Zero) 214.29/145.92 new_primMulNat1(Succ(x0)) 214.29/145.92 new_sr14(x0, x1) 214.29/145.92 new_quot0(x0, x1, x2, x3, ty_Int) 214.29/145.92 new_sr2(x0, x1, ty_Int) 214.29/145.92 new_primModNatS1(Succ(Zero), Succ(x0)) 214.29/145.92 new_reduce2Reduce1(x0, x1, x2, x3, False, x4) 214.29/145.92 new_esEs(Neg(Zero)) 214.29/145.92 new_primMulNat1(Zero) 214.29/145.92 214.29/145.92 We have to consider all minimal (P,Q,R)-chains. 214.29/145.92 ---------------------------------------- 214.29/145.92 214.29/145.92 (728) TransformationProof (EQUIVALENT) 214.29/145.92 By rewriting [LPAR04] the rule new_pr2F0(vyv184, Neg(Zero), vyv188, h) -> new_pr2F0G(vyv188, new_sr0(vyv184, h), Neg(new_primDivNatS1(Zero, Succ(Zero))), h) at position [2,0] we obtained the following new rules [LPAR04]: 214.29/145.92 214.29/145.92 (new_pr2F0(vyv184, Neg(Zero), vyv188, h) -> new_pr2F0G(vyv188, new_sr0(vyv184, h), Neg(Zero), h),new_pr2F0(vyv184, Neg(Zero), vyv188, h) -> new_pr2F0G(vyv188, new_sr0(vyv184, h), Neg(Zero), h)) 214.29/145.92 214.29/145.92 214.29/145.92 ---------------------------------------- 214.29/145.92 214.29/145.92 (729) 214.29/145.92 Obligation: 214.29/145.92 Q DP problem: 214.29/145.92 The TRS P consists of the following rules: 214.29/145.92 214.29/145.92 new_pr2F0G10(vyv249, vyv250, vyv251, Succ(Succ(vyv25200)), bb) -> new_pr2F0G10(vyv249, vyv250, vyv251, vyv25200, bb) 214.29/145.92 new_pr2F0G(vyv188, vyv184, Neg(Succ(Zero)), h) -> new_pr2F0G11(vyv188, vyv184, Zero, h) 214.29/145.92 new_pr2F0G(vyv188, vyv184, Pos(Succ(Succ(vyv223000))), h) -> new_pr2F0G1(vyv188, vyv184, Succ(vyv223000), vyv223000, h) 214.29/145.92 new_pr2F0(vyv184, Neg(Succ(Succ(vyv223000))), vyv188, h) -> new_pr2F0G10(vyv188, vyv184, Succ(vyv223000), vyv223000, h) 214.29/145.92 new_pr2F0(vyv184, Neg(Succ(Zero)), vyv188, h) -> new_pr2F0G11(vyv188, vyv184, Zero, h) 214.29/145.92 new_pr2F0G10(vyv249, vyv250, vyv251, Succ(Zero), bb) -> new_pr2F0G11(vyv249, vyv250, vyv251, bb) 214.29/145.92 new_pr2F0G(vyv188, vyv184, Neg(Succ(Succ(vyv223000))), h) -> new_pr2F0G10(vyv188, vyv184, Succ(vyv223000), vyv223000, h) 214.29/145.92 new_pr2F3(False, vyv228, vyv229, vyv245, vyv227, ba) -> new_pr2F0(vyv228, new_ms(vyv229, vyv245), new_sr2(vyv228, vyv227, ba), ba) 214.29/145.92 new_pr2F0(vyv184, Pos(Succ(Succ(vyv223000))), vyv188, h) -> new_pr2F0G1(vyv188, vyv184, Succ(vyv223000), vyv223000, h) 214.29/145.92 new_pr2F1(vyv240, vyv241, vyv244, vyv239, bc) -> new_pr2F30(new_esEs(new_ms0(vyv241, vyv244)), vyv240, vyv241, vyv244, vyv239, bc) 214.29/145.92 new_pr2F(vyv228, vyv229, vyv245, vyv227, ba) -> new_pr2F3(new_esEs(new_ms(vyv229, vyv245)), vyv228, vyv229, vyv245, vyv227, ba) 214.29/145.92 new_pr2F0G1(vyv227, vyv228, vyv229, Succ(Succ(vyv23000)), ba) -> new_pr2F0G1(vyv227, vyv228, vyv229, vyv23000, ba) 214.29/145.92 new_pr2F30(False, vyv240, vyv241, vyv244, vyv239, bc) -> new_pr2F0(vyv240, new_ms0(vyv241, vyv244), new_sr4(vyv240, vyv239, bc), bc) 214.29/145.92 new_pr2F0G11(vyv239, vyv240, vyv241, bc) -> new_pr2F1(vyv240, vyv241, Pos(Succ(Zero)), vyv239, bc) 214.29/145.92 new_pr2F0(vyv184, Pos(Succ(Zero)), vyv188, h) -> new_pr2F(vyv184, Zero, Pos(Succ(Zero)), vyv188, h) 214.29/145.92 new_pr2F0G1(vyv227, vyv228, vyv229, Succ(Zero), ba) -> new_pr2F(vyv228, vyv229, Pos(Succ(Zero)), vyv227, ba) 214.29/145.92 new_pr2F0G(vyv188, vyv184, Pos(Succ(Zero)), h) -> new_pr2F(vyv184, Zero, Pos(Succ(Zero)), vyv188, h) 214.29/145.92 new_pr2F0G(vyv188, vyv184, Neg(Zero), h) -> new_pr2F0G(vyv188, new_sr0(vyv184, h), Neg(new_primDivNatS1(Zero, Succ(Zero))), h) 214.29/145.92 new_pr2F0G10(vyv249, vyv250, vyv251, Zero, bb) -> new_pr2F0G(vyv249, new_sr3(vyv250, bb), Neg(new_primDivNatS1(Succ(vyv251), Succ(Zero))), bb) 214.29/145.92 new_pr2F0G(vyv188, vyv184, Pos(Zero), h) -> new_pr2F0G(vyv188, new_sr(vyv184, h), Pos(new_primDivNatS1(Zero, Succ(Zero))), h) 214.29/145.92 new_pr2F0G1(vyv227, vyv228, vyv229, Zero, ba) -> new_pr2F0G(vyv227, new_sr1(vyv228, ba), Pos(new_primDivNatS1(Succ(vyv229), Succ(Zero))), ba) 214.29/145.92 new_pr2F0(vyv184, Pos(Zero), vyv188, h) -> new_pr2F0G(vyv188, new_sr(vyv184, h), Pos(new_primDivNatS1(Zero, Succ(Zero))), h) 214.29/145.92 new_pr2F0(vyv184, Neg(Zero), vyv188, h) -> new_pr2F0G(vyv188, new_sr0(vyv184, h), Neg(Zero), h) 214.29/145.92 214.29/145.92 The TRS R consists of the following rules: 214.29/145.92 214.29/145.92 new_sr(vyv184, ty_Double) -> new_sr11(vyv184) 214.29/145.92 new_sr(vyv184, app(ty_Ratio, bd)) -> new_sr5(vyv184, bd) 214.29/145.92 new_sr(vyv184, ty_Float) -> new_sr12(vyv184) 214.29/145.92 new_sr(vyv184, ty_Int) -> new_sr7(vyv184) 214.29/145.92 new_sr(vyv184, ty_Integer) -> new_sr6(vyv184) 214.29/145.92 new_primQuotInt(vyv2710, Pos(Succ(vyv28500))) -> Pos(new_primDivNatS1(vyv2710, vyv28500)) 214.29/145.92 new_primDivNatS1(Zero, vyv28500) -> Zero 214.29/145.92 new_primDivNatS1(Succ(Succ(vyv271000)), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS0(vyv271000), Zero)) 214.29/145.92 new_primDivNatS1(Succ(Zero), Succ(vyv285000)) -> Zero 214.29/145.92 new_primDivNatS1(Succ(Succ(vyv271000)), Succ(vyv285000)) -> new_primDivNatS01(vyv271000, vyv285000, vyv271000, vyv285000) 214.29/145.92 new_primDivNatS1(Succ(Zero), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS1, Zero)) 214.29/145.92 new_primMinusNatS1 -> Zero 214.29/145.92 new_primDivNatS01(vyv311, vyv312, Succ(vyv3130), Zero) -> new_primDivNatS02(vyv311, vyv312) 214.29/145.92 new_primDivNatS01(vyv311, vyv312, Zero, Succ(vyv3140)) -> Zero 214.29/145.92 new_primDivNatS01(vyv311, vyv312, Succ(vyv3130), Succ(vyv3140)) -> new_primDivNatS01(vyv311, vyv312, vyv3130, vyv3140) 214.29/145.92 new_primDivNatS01(vyv311, vyv312, Zero, Zero) -> new_primDivNatS02(vyv311, vyv312) 214.29/145.92 new_primDivNatS02(vyv311, vyv312) -> Succ(new_primDivNatS1(new_primMinusNatS2(vyv311, vyv312), Succ(vyv312))) 214.29/145.92 new_primMinusNatS2(Zero, Succ(vyv3120)) -> Zero 214.29/145.92 new_primMinusNatS2(Succ(vyv3110), Zero) -> Succ(vyv3110) 214.29/145.92 new_primMinusNatS2(Zero, Zero) -> Zero 214.29/145.92 new_primMinusNatS2(Succ(vyv3110), Succ(vyv3120)) -> new_primMinusNatS2(vyv3110, vyv3120) 214.29/145.92 new_primMinusNatS0(vyv271000) -> Succ(vyv271000) 214.29/145.92 new_sr6(vyv184) -> error([]) 214.29/145.92 new_sr7(Pos(vyv1840)) -> Pos(new_primMulNat1(vyv1840)) 214.29/145.92 new_sr7(Neg(vyv1840)) -> Pos(new_primMulNat1(vyv1840)) 214.29/145.92 new_primMulNat1(Succ(vyv18400)) -> new_primPlusNat0(new_primMulNat2(vyv18400), Succ(vyv18400)) 214.29/145.92 new_primMulNat1(Zero) -> Zero 214.29/145.92 new_primMulNat2(Succ(vyv184000)) -> new_primPlusNat0(new_primMulNat3(vyv184000), Succ(Succ(vyv184000))) 214.29/145.92 new_primMulNat2(Zero) -> Zero 214.29/145.92 new_primPlusNat0(Succ(vyv4000), Succ(vyv6000)) -> Succ(Succ(new_primPlusNat0(vyv4000, vyv6000))) 214.29/145.92 new_primPlusNat0(Zero, Succ(vyv6000)) -> Succ(vyv6000) 214.29/145.92 new_primPlusNat0(Zero, Zero) -> Zero 214.29/145.92 new_primPlusNat0(Succ(vyv4000), Zero) -> Succ(vyv4000) 214.29/145.92 new_primMulNat3(Succ(vyv1840000)) -> new_primPlusNat0(new_primMulNat4(vyv1840000), Succ(Succ(Succ(vyv1840000)))) 214.29/145.92 new_primMulNat3(Zero) -> Zero 214.29/145.92 new_primMulNat4(Succ(vyv18400000)) -> new_primPlusNat0(new_primMulNat0(vyv18400000, Succ(Succ(Succ(Succ(vyv18400000))))), Succ(Succ(Succ(Succ(vyv18400000))))) 214.29/145.92 new_primMulNat4(Zero) -> Zero 214.29/145.92 new_primMulNat0(Zero, Succ(vyv23900)) -> Zero 214.29/145.92 new_primMulNat0(Succ(vyv24000), Succ(vyv23900)) -> new_primPlusNat0(new_primMulNat0(vyv24000, Succ(vyv23900)), Succ(vyv23900)) 214.29/145.92 new_sr12(vyv184) -> error([]) 214.29/145.92 new_sr5(:%(vyv1840, vyv1841), bd) -> new_reduce2Reduce1(vyv1840, vyv1840, vyv1841, vyv1841, new_esEs0(vyv1841, bd), bd) 214.29/145.92 new_esEs0(vyv1841, ty_Int) -> new_esEs(new_sr7(vyv1841)) 214.29/145.92 new_esEs0(vyv1841, ty_Integer) -> new_esEs1(new_sr6(vyv1841)) 214.29/145.92 new_reduce2Reduce1(vyv265, vyv266, vyv267, vyv268, False, bh) -> :%(new_quot0(vyv265, vyv266, vyv267, vyv268, bh), new_quot1(vyv267, vyv268, vyv265, vyv266, bh)) 214.29/145.92 new_reduce2Reduce1(vyv265, vyv266, vyv267, vyv268, True, bh) -> error([]) 214.29/145.92 new_quot0(vyv265, vyv266, vyv267, vyv268, ty_Integer) -> new_quot2(new_sr9(vyv265, vyv266), new_sr9(vyv265, vyv266), new_sr9(vyv267, vyv268)) 214.29/145.92 new_quot0(vyv265, vyv266, vyv267, vyv268, ty_Int) -> new_quot(new_sr10(vyv265, vyv266), new_sr10(vyv265, vyv266), new_sr10(vyv267, vyv268)) 214.29/145.92 new_quot1(vyv267, vyv268, vyv265, vyv266, ty_Int) -> new_quot(new_sr10(vyv267, vyv268), new_sr10(vyv265, vyv266), new_sr10(vyv267, vyv268)) 214.29/145.92 new_quot1(vyv267, vyv268, vyv265, vyv266, ty_Integer) -> new_quot2(new_sr9(vyv267, vyv268), new_sr9(vyv265, vyv266), new_sr9(vyv267, vyv268)) 214.29/145.92 new_sr9(vyv240, vyv239) -> error([]) 214.29/145.92 new_quot2(vyv274, vyv276, vyv275) -> error([]) 214.29/145.92 new_sr10(Pos(vyv2400), Pos(vyv2390)) -> Pos(new_primMulNat0(vyv2400, vyv2390)) 214.29/145.92 new_sr10(Neg(vyv2400), Neg(vyv2390)) -> Pos(new_primMulNat0(vyv2400, vyv2390)) 214.29/145.92 new_sr10(Pos(vyv2400), Neg(vyv2390)) -> Neg(new_primMulNat0(vyv2400, vyv2390)) 214.29/145.92 new_sr10(Neg(vyv2400), Pos(vyv2390)) -> Neg(new_primMulNat0(vyv2400, vyv2390)) 214.29/145.92 new_quot(Pos(vyv2710), vyv273, vyv272) -> new_primQuotInt(vyv2710, new_gcd(vyv273, vyv272)) 214.29/145.92 new_quot(Neg(vyv2710), vyv273, vyv272) -> new_primQuotInt0(vyv2710, new_gcd(vyv273, vyv272)) 214.29/145.92 new_gcd(vyv273, vyv272) -> new_gcd2(new_esEs(vyv273), vyv273, vyv272) 214.29/145.92 new_primQuotInt0(vyv2710, Pos(Succ(vyv28800))) -> Neg(new_primDivNatS1(vyv2710, vyv28800)) 214.29/145.92 new_primQuotInt0(vyv2710, Neg(Zero)) -> new_error 214.29/145.92 new_primQuotInt0(vyv2710, Neg(Succ(vyv28800))) -> Pos(new_primDivNatS1(vyv2710, vyv28800)) 214.29/145.92 new_primQuotInt0(vyv2710, Pos(Zero)) -> new_error 214.29/145.92 new_error -> error([]) 214.29/145.92 new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) 214.29/145.92 new_esEs(Pos(Succ(vyv24300))) -> new_primEqInt(Pos(Succ(vyv24300))) 214.29/145.92 new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) 214.29/145.92 new_esEs(Neg(Succ(vyv24300))) -> new_primEqInt(Neg(Succ(vyv24300))) 214.29/145.92 new_gcd2(True, vyv273, vyv272) -> new_gcd1(new_esEs(vyv272), vyv273, vyv272) 214.29/145.92 new_gcd2(False, vyv273, vyv272) -> new_gcd0(vyv273, vyv272) 214.29/145.92 new_gcd0(vyv273, vyv272) -> new_gcd0Gcd'11(new_esEs(new_abs(vyv272)), vyv273, vyv272) 214.29/145.92 new_abs(Neg(Zero)) -> Neg(Zero) 214.29/145.92 new_abs(Neg(Succ(vyv27200))) -> Pos(Succ(vyv27200)) 214.29/145.92 new_abs(Pos(Succ(vyv27200))) -> Pos(Succ(vyv27200)) 214.29/145.92 new_abs(Pos(Zero)) -> Pos(Zero) 214.29/145.92 new_gcd0Gcd'11(True, vyv273, vyv272) -> new_abs(vyv273) 214.29/145.92 new_gcd0Gcd'11(False, vyv273, vyv272) -> new_gcd0Gcd'00(new_abs(vyv273), new_abs(vyv272)) 214.29/145.92 new_gcd0Gcd'00(vyv293, vyv292) -> new_gcd0Gcd'10(new_esEs(new_rem(vyv293, vyv292)), vyv292, vyv293) 214.29/145.92 new_gcd0Gcd'10(False, vyv292, vyv293) -> new_gcd0Gcd'00(vyv292, new_rem(vyv293, vyv292)) 214.29/145.92 new_rem(Pos(vyv2930), Neg(Zero)) -> new_error 214.29/145.92 new_rem(Neg(vyv2930), Pos(Zero)) -> new_error 214.29/145.92 new_rem(Pos(vyv2930), Neg(Succ(vyv29200))) -> Pos(new_primModNatS1(vyv2930, vyv29200)) 214.29/145.92 new_rem(Neg(vyv2930), Pos(Succ(vyv29200))) -> Neg(new_primModNatS1(vyv2930, vyv29200)) 214.29/145.92 new_rem(Pos(vyv2930), Pos(Succ(vyv29200))) -> Pos(new_primModNatS1(vyv2930, vyv29200)) 214.29/145.92 new_rem(Neg(vyv2930), Neg(Zero)) -> new_error 214.29/145.92 new_rem(Neg(vyv2930), Neg(Succ(vyv29200))) -> Neg(new_primModNatS1(vyv2930, vyv29200)) 214.29/145.92 new_rem(Pos(vyv2930), Pos(Zero)) -> new_error 214.29/145.92 new_gcd0Gcd'10(True, vyv292, vyv293) -> vyv292 214.29/145.92 new_primModNatS1(Succ(Zero), Succ(vyv292000)) -> Succ(Zero) 214.29/145.92 new_primModNatS1(Zero, vyv29200) -> Zero 214.29/145.92 new_primModNatS1(Succ(Succ(vyv293000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv293000), Zero) 214.29/145.92 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 214.29/145.92 new_primModNatS1(Succ(Succ(vyv293000)), Succ(vyv292000)) -> new_primModNatS01(vyv293000, vyv292000, vyv293000, vyv292000) 214.29/145.92 new_primModNatS01(vyv331, vyv332, Zero, Zero) -> new_primModNatS02(vyv331, vyv332) 214.29/145.92 new_primModNatS02(vyv331, vyv332) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv331), Succ(vyv332)), Succ(vyv332)) 214.29/145.92 new_primModNatS01(vyv331, vyv332, Succ(vyv3330), Zero) -> new_primModNatS02(vyv331, vyv332) 214.29/145.92 new_primModNatS01(vyv331, vyv332, Succ(vyv3330), Succ(vyv3340)) -> new_primModNatS01(vyv331, vyv332, vyv3330, vyv3340) 214.29/145.92 new_primModNatS01(vyv331, vyv332, Zero, Succ(vyv3340)) -> Succ(Succ(vyv331)) 214.29/145.92 new_gcd1(True, vyv273, vyv272) -> new_error 214.29/145.92 new_gcd1(False, vyv273, vyv272) -> new_gcd0(vyv273, vyv272) 214.29/145.92 new_primEqInt(Neg(Succ(vyv242000))) -> False 214.29/145.92 new_primEqInt(Pos(Zero)) -> True 214.29/145.92 new_primEqInt(Pos(Succ(vyv242000))) -> False 214.29/145.92 new_primEqInt(Neg(Zero)) -> True 214.29/145.92 new_primQuotInt(vyv2710, Neg(Zero)) -> new_error 214.29/145.92 new_primQuotInt(vyv2710, Pos(Zero)) -> new_error 214.29/145.92 new_primQuotInt(vyv2710, Neg(Succ(vyv28500))) -> Neg(new_primDivNatS1(vyv2710, vyv28500)) 214.29/145.92 new_primMulNat0(Succ(vyv24000), Zero) -> Zero 214.29/145.92 new_primMulNat0(Zero, Zero) -> Zero 214.29/145.92 new_esEs1(Integer(vyv2700)) -> new_primEqInt(vyv2700) 214.29/145.92 new_sr11(vyv184) -> error([]) 214.29/145.92 new_sr1(vyv228, ty_Double) -> new_sr11(vyv228) 214.29/145.92 new_sr1(vyv228, ty_Float) -> new_sr12(vyv228) 214.29/145.92 new_sr1(vyv228, app(ty_Ratio, bg)) -> new_sr5(vyv228, bg) 214.29/145.92 new_sr1(vyv228, ty_Integer) -> new_sr6(vyv228) 214.29/145.92 new_sr1(vyv228, ty_Int) -> new_sr7(vyv228) 214.29/145.92 new_sr3(vyv250, ty_Double) -> new_sr11(vyv250) 214.29/145.92 new_sr3(vyv250, ty_Int) -> new_sr7(vyv250) 214.29/145.92 new_sr3(vyv250, ty_Float) -> new_sr12(vyv250) 214.29/145.92 new_sr3(vyv250, ty_Integer) -> new_sr6(vyv250) 214.29/145.92 new_sr3(vyv250, app(ty_Ratio, bf)) -> new_sr5(vyv250, bf) 214.29/145.92 new_sr0(vyv184, ty_Double) -> new_sr11(vyv184) 214.29/145.92 new_sr0(vyv184, ty_Float) -> new_sr12(vyv184) 214.29/145.92 new_sr0(vyv184, ty_Int) -> new_sr7(vyv184) 214.29/145.92 new_sr0(vyv184, app(ty_Ratio, bd)) -> new_sr5(vyv184, bd) 214.29/145.92 new_sr0(vyv184, ty_Integer) -> new_sr6(vyv184) 214.29/145.92 new_ms0(vyv241, Neg(Zero)) -> Neg(Succ(vyv241)) 214.29/145.92 new_ms0(vyv241, Pos(vyv2440)) -> Neg(new_primPlusNat0(Succ(vyv241), vyv2440)) 214.29/145.92 new_ms0(vyv241, Neg(Succ(vyv24400))) -> new_primMinusNat0(vyv24400, vyv241) 214.29/145.92 new_sr4(vyv240, vyv239, app(ty_Ratio, be)) -> new_sr8(vyv240, vyv239, be) 214.29/145.92 new_sr4(vyv240, vyv239, ty_Float) -> new_sr14(vyv240, vyv239) 214.29/145.92 new_sr4(vyv240, vyv239, ty_Int) -> new_sr10(vyv240, vyv239) 214.29/145.92 new_sr4(vyv240, vyv239, ty_Double) -> new_sr13(vyv240, vyv239) 214.29/145.92 new_sr4(vyv240, vyv239, ty_Integer) -> new_sr9(vyv240, vyv239) 214.29/145.92 new_sr13(vyv240, vyv239) -> error([]) 214.29/145.92 new_sr14(vyv240, vyv239) -> error([]) 214.29/145.92 new_sr8(:%(vyv2400, vyv2401), :%(vyv2390, vyv2391), be) -> new_reduce2Reduce1(vyv2400, vyv2390, vyv2401, vyv2391, new_esEs2(vyv2401, vyv2391, be), be) 214.29/145.92 new_esEs2(vyv2401, vyv2391, ty_Integer) -> new_esEs1(new_sr9(vyv2401, vyv2391)) 214.29/145.92 new_esEs2(vyv2401, vyv2391, ty_Int) -> new_esEs(new_sr10(vyv2401, vyv2391)) 214.29/145.92 new_primMinusNat0(Succ(vyv2290), Succ(vyv245000)) -> new_primMinusNat0(vyv2290, vyv245000) 214.29/145.92 new_primMinusNat0(Zero, Zero) -> Pos(Zero) 214.29/145.92 new_primMinusNat0(Zero, Succ(vyv245000)) -> Neg(Succ(vyv245000)) 214.29/145.92 new_primMinusNat0(Succ(vyv2290), Zero) -> Pos(Succ(vyv2290)) 214.29/145.92 new_ms(vyv229, Neg(vyv2450)) -> Pos(new_primPlusNat0(Succ(vyv229), vyv2450)) 214.29/145.92 new_ms(vyv229, Pos(Succ(vyv24500))) -> new_primMinusNat0(vyv229, vyv24500) 214.29/145.92 new_ms(vyv229, Pos(Zero)) -> Pos(Succ(vyv229)) 214.29/145.92 new_sr2(vyv228, vyv227, ty_Integer) -> new_sr9(vyv228, vyv227) 214.29/145.92 new_sr2(vyv228, vyv227, ty_Int) -> new_sr10(vyv228, vyv227) 214.29/145.92 new_sr2(vyv228, vyv227, app(ty_Ratio, bg)) -> new_sr8(vyv228, vyv227, bg) 214.29/145.92 new_sr2(vyv228, vyv227, ty_Double) -> new_sr13(vyv228, vyv227) 214.29/145.92 new_sr2(vyv228, vyv227, ty_Float) -> new_sr14(vyv228, vyv227) 214.29/145.92 214.29/145.92 The set Q consists of the following terms: 214.29/145.92 214.29/145.92 new_sr13(x0, x1) 214.29/145.92 new_primDivNatS01(x0, x1, Zero, Zero) 214.29/145.92 new_gcd0Gcd'11(False, x0, x1) 214.29/145.92 new_primMulNat4(Zero) 214.29/145.92 new_gcd0Gcd'11(True, x0, x1) 214.29/145.92 new_sr2(x0, x1, ty_Float) 214.29/145.92 new_sr5(:%(x0, x1), x2) 214.29/145.92 new_primEqInt(Pos(Zero)) 214.29/145.92 new_ms(x0, Neg(x1)) 214.29/145.92 new_sr2(x0, x1, ty_Double) 214.29/145.92 new_esEs(Pos(Succ(x0))) 214.29/145.92 new_primQuotInt0(x0, Neg(Zero)) 214.29/145.92 new_primMulNat3(Zero) 214.29/145.92 new_primModNatS02(x0, x1) 214.29/145.92 new_sr(x0, ty_Double) 214.29/145.92 new_sr0(x0, ty_Double) 214.29/145.92 new_primDivNatS1(Succ(Zero), Zero) 214.29/145.92 new_primMinusNatS0(x0) 214.29/145.92 new_sr11(x0) 214.29/145.92 new_sr0(x0, app(ty_Ratio, x1)) 214.29/145.92 new_rem(Pos(x0), Neg(Succ(x1))) 214.29/145.92 new_rem(Neg(x0), Pos(Succ(x1))) 214.29/145.92 new_primMulNat0(Zero, Zero) 214.29/145.92 new_primPlusNat0(Succ(x0), Zero) 214.29/145.92 new_primMulNat0(Succ(x0), Zero) 214.29/145.92 new_sr3(x0, ty_Float) 214.29/145.92 new_primMulNat2(Zero) 214.29/145.92 new_primQuotInt(x0, Pos(Zero)) 214.29/145.92 new_primMulNat2(Succ(x0)) 214.29/145.92 new_primQuotInt(x0, Neg(Zero)) 214.29/145.92 new_rem(Neg(x0), Neg(Succ(x1))) 214.29/145.92 new_primMinusNatS2(Zero, Succ(x0)) 214.29/145.92 new_sr(x0, ty_Int) 214.29/145.92 new_sr4(x0, x1, ty_Double) 214.29/145.92 new_primMulNat3(Succ(x0)) 214.29/145.92 new_sr0(x0, ty_Float) 214.29/145.92 new_esEs1(Integer(x0)) 214.29/145.92 new_primQuotInt0(x0, Pos(Zero)) 214.29/145.92 new_gcd2(True, x0, x1) 214.29/145.92 new_quot1(x0, x1, x2, x3, ty_Int) 214.29/145.92 new_primDivNatS1(Zero, x0) 214.29/145.92 new_primMinusNat0(Zero, Zero) 214.29/145.92 new_gcd(x0, x1) 214.29/145.92 new_gcd1(False, x0, x1) 214.29/145.92 new_esEs2(x0, x1, ty_Int) 214.29/145.92 new_sr3(x0, ty_Integer) 214.29/145.92 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 214.29/145.92 new_sr1(x0, app(ty_Ratio, x1)) 214.29/145.92 new_sr1(x0, ty_Float) 214.29/145.92 new_primPlusNat0(Zero, Succ(x0)) 214.29/145.92 new_sr8(:%(x0, x1), :%(x2, x3), x4) 214.29/145.92 new_abs(Neg(Zero)) 214.29/145.92 new_primMinusNatS2(Succ(x0), Zero) 214.29/145.92 new_error 214.29/145.92 new_primModNatS1(Succ(Zero), Zero) 214.29/145.92 new_primMulNat4(Succ(x0)) 214.29/145.92 new_sr1(x0, ty_Integer) 214.29/145.92 new_primDivNatS02(x0, x1) 214.29/145.92 new_sr1(x0, ty_Int) 214.29/145.92 new_rem(Neg(x0), Neg(Zero)) 214.29/145.92 new_primMinusNat0(Zero, Succ(x0)) 214.29/145.92 new_primEqInt(Neg(Zero)) 214.29/145.92 new_rem(Pos(x0), Pos(Succ(x1))) 214.29/145.92 new_abs(Pos(Succ(x0))) 214.29/145.92 new_primMulNat0(Succ(x0), Succ(x1)) 214.29/145.92 new_primMulNat0(Zero, Succ(x0)) 214.29/145.92 new_reduce2Reduce1(x0, x1, x2, x3, True, x4) 214.29/145.92 new_sr(x0, ty_Float) 214.29/145.92 new_gcd0Gcd'10(False, x0, x1) 214.29/145.92 new_sr12(x0) 214.29/145.92 new_primDivNatS01(x0, x1, Zero, Succ(x2)) 214.29/145.92 new_sr10(Pos(x0), Pos(x1)) 214.29/145.92 new_primModNatS01(x0, x1, Zero, Succ(x2)) 214.29/145.92 new_primPlusNat0(Zero, Zero) 214.29/145.92 new_sr(x0, ty_Integer) 214.29/145.92 new_primQuotInt0(x0, Pos(Succ(x1))) 214.29/145.92 new_primModNatS01(x0, x1, Succ(x2), Zero) 214.29/145.92 new_ms(x0, Pos(Succ(x1))) 214.29/145.92 new_primModNatS1(Succ(Succ(x0)), Zero) 214.29/145.92 new_sr4(x0, x1, ty_Integer) 214.29/145.92 new_rem(Pos(x0), Pos(Zero)) 214.29/145.92 new_sr4(x0, x1, ty_Int) 214.29/145.92 new_ms0(x0, Neg(Succ(x1))) 214.29/145.92 new_quot(Pos(x0), x1, x2) 214.29/145.92 new_primMinusNatS2(Zero, Zero) 214.29/145.92 new_esEs0(x0, ty_Int) 214.29/145.92 new_primMinusNat0(Succ(x0), Zero) 214.29/145.92 new_ms0(x0, Pos(x1)) 214.29/145.92 new_esEs(Pos(Zero)) 214.29/145.92 new_quot(Neg(x0), x1, x2) 214.29/145.92 new_primDivNatS01(x0, x1, Succ(x2), Succ(x3)) 214.29/145.92 new_quot2(x0, x1, x2) 214.29/145.92 new_primEqInt(Neg(Succ(x0))) 214.29/145.92 new_sr10(Neg(x0), Neg(x1)) 214.29/145.92 new_sr3(x0, app(ty_Ratio, x1)) 214.29/145.92 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 214.29/145.92 new_sr9(x0, x1) 214.29/145.92 new_sr2(x0, x1, ty_Integer) 214.29/145.92 new_sr7(Neg(x0)) 214.29/145.92 new_sr1(x0, ty_Double) 214.29/145.92 new_primQuotInt0(x0, Neg(Succ(x1))) 214.29/145.92 new_sr0(x0, ty_Integer) 214.29/145.92 new_rem(Pos(x0), Neg(Zero)) 214.29/145.92 new_rem(Neg(x0), Pos(Zero)) 214.29/145.92 new_gcd0Gcd'00(x0, x1) 214.29/145.92 new_primQuotInt(x0, Neg(Succ(x1))) 214.29/145.92 new_primMinusNatS2(Succ(x0), Succ(x1)) 214.29/145.92 new_ms(x0, Pos(Zero)) 214.29/145.92 new_abs(Pos(Zero)) 214.29/145.92 new_primMinusNat0(Succ(x0), Succ(x1)) 214.29/145.92 new_quot0(x0, x1, x2, x3, ty_Integer) 214.29/145.92 new_sr0(x0, ty_Int) 214.29/145.92 new_sr6(x0) 214.29/145.92 new_gcd2(False, x0, x1) 214.29/145.92 new_gcd1(True, x0, x1) 214.29/145.92 new_esEs2(x0, x1, ty_Integer) 214.29/145.92 new_primMinusNatS1 214.29/145.92 new_sr7(Pos(x0)) 214.29/145.92 new_gcd0Gcd'10(True, x0, x1) 214.29/145.92 new_primModNatS1(Zero, x0) 214.29/145.92 new_sr4(x0, x1, ty_Float) 214.29/145.92 new_sr10(Pos(x0), Neg(x1)) 214.29/145.92 new_sr10(Neg(x0), Pos(x1)) 214.29/145.92 new_primDivNatS01(x0, x1, Succ(x2), Zero) 214.29/145.92 new_primDivNatS1(Succ(Succ(x0)), Succ(x1)) 214.29/145.92 new_primPlusNat0(Succ(x0), Succ(x1)) 214.29/145.92 new_primDivNatS1(Succ(Zero), Succ(x0)) 214.29/145.92 new_primQuotInt(x0, Pos(Succ(x1))) 214.29/145.92 new_sr2(x0, x1, app(ty_Ratio, x2)) 214.29/145.92 new_abs(Neg(Succ(x0))) 214.29/145.92 new_esEs0(x0, ty_Integer) 214.29/145.92 new_sr3(x0, ty_Int) 214.29/145.92 new_esEs(Neg(Succ(x0))) 214.29/145.92 new_sr(x0, app(ty_Ratio, x1)) 214.29/145.92 new_ms0(x0, Neg(Zero)) 214.29/145.92 new_primModNatS01(x0, x1, Zero, Zero) 214.29/145.92 new_sr4(x0, x1, app(ty_Ratio, x2)) 214.29/145.92 new_gcd0(x0, x1) 214.29/145.92 new_primEqInt(Pos(Succ(x0))) 214.29/145.92 new_sr3(x0, ty_Double) 214.29/145.92 new_quot1(x0, x1, x2, x3, ty_Integer) 214.29/145.92 new_primDivNatS1(Succ(Succ(x0)), Zero) 214.29/145.92 new_primMulNat1(Succ(x0)) 214.29/145.92 new_sr14(x0, x1) 214.29/145.92 new_quot0(x0, x1, x2, x3, ty_Int) 214.29/145.92 new_sr2(x0, x1, ty_Int) 214.29/145.92 new_primModNatS1(Succ(Zero), Succ(x0)) 214.29/145.92 new_reduce2Reduce1(x0, x1, x2, x3, False, x4) 214.29/145.92 new_esEs(Neg(Zero)) 214.29/145.92 new_primMulNat1(Zero) 214.29/145.92 214.29/145.92 We have to consider all minimal (P,Q,R)-chains. 214.29/145.92 ---------------------------------------- 214.29/145.92 214.29/145.92 (730) TransformationProof (EQUIVALENT) 214.29/145.92 By rewriting [LPAR04] the rule new_pr2F0G(vyv188, vyv184, Neg(Zero), h) -> new_pr2F0G(vyv188, new_sr0(vyv184, h), Neg(new_primDivNatS1(Zero, Succ(Zero))), h) at position [2,0] we obtained the following new rules [LPAR04]: 214.29/145.92 214.29/145.92 (new_pr2F0G(vyv188, vyv184, Neg(Zero), h) -> new_pr2F0G(vyv188, new_sr0(vyv184, h), Neg(Zero), h),new_pr2F0G(vyv188, vyv184, Neg(Zero), h) -> new_pr2F0G(vyv188, new_sr0(vyv184, h), Neg(Zero), h)) 214.29/145.92 214.29/145.92 214.29/145.92 ---------------------------------------- 214.29/145.92 214.29/145.92 (731) 214.29/145.92 Obligation: 214.29/145.92 Q DP problem: 214.29/145.92 The TRS P consists of the following rules: 214.29/145.92 214.29/145.92 new_pr2F0G10(vyv249, vyv250, vyv251, Succ(Succ(vyv25200)), bb) -> new_pr2F0G10(vyv249, vyv250, vyv251, vyv25200, bb) 214.29/145.92 new_pr2F0G(vyv188, vyv184, Neg(Succ(Zero)), h) -> new_pr2F0G11(vyv188, vyv184, Zero, h) 214.29/145.92 new_pr2F0G(vyv188, vyv184, Pos(Succ(Succ(vyv223000))), h) -> new_pr2F0G1(vyv188, vyv184, Succ(vyv223000), vyv223000, h) 214.29/145.92 new_pr2F0(vyv184, Neg(Succ(Succ(vyv223000))), vyv188, h) -> new_pr2F0G10(vyv188, vyv184, Succ(vyv223000), vyv223000, h) 214.29/145.92 new_pr2F0(vyv184, Neg(Succ(Zero)), vyv188, h) -> new_pr2F0G11(vyv188, vyv184, Zero, h) 214.29/145.92 new_pr2F0G10(vyv249, vyv250, vyv251, Succ(Zero), bb) -> new_pr2F0G11(vyv249, vyv250, vyv251, bb) 214.29/145.92 new_pr2F0G(vyv188, vyv184, Neg(Succ(Succ(vyv223000))), h) -> new_pr2F0G10(vyv188, vyv184, Succ(vyv223000), vyv223000, h) 214.29/145.92 new_pr2F3(False, vyv228, vyv229, vyv245, vyv227, ba) -> new_pr2F0(vyv228, new_ms(vyv229, vyv245), new_sr2(vyv228, vyv227, ba), ba) 214.29/145.92 new_pr2F0(vyv184, Pos(Succ(Succ(vyv223000))), vyv188, h) -> new_pr2F0G1(vyv188, vyv184, Succ(vyv223000), vyv223000, h) 214.29/145.92 new_pr2F1(vyv240, vyv241, vyv244, vyv239, bc) -> new_pr2F30(new_esEs(new_ms0(vyv241, vyv244)), vyv240, vyv241, vyv244, vyv239, bc) 214.29/145.92 new_pr2F(vyv228, vyv229, vyv245, vyv227, ba) -> new_pr2F3(new_esEs(new_ms(vyv229, vyv245)), vyv228, vyv229, vyv245, vyv227, ba) 214.29/145.92 new_pr2F0G1(vyv227, vyv228, vyv229, Succ(Succ(vyv23000)), ba) -> new_pr2F0G1(vyv227, vyv228, vyv229, vyv23000, ba) 214.29/145.92 new_pr2F30(False, vyv240, vyv241, vyv244, vyv239, bc) -> new_pr2F0(vyv240, new_ms0(vyv241, vyv244), new_sr4(vyv240, vyv239, bc), bc) 214.29/145.92 new_pr2F0G11(vyv239, vyv240, vyv241, bc) -> new_pr2F1(vyv240, vyv241, Pos(Succ(Zero)), vyv239, bc) 214.29/145.92 new_pr2F0(vyv184, Pos(Succ(Zero)), vyv188, h) -> new_pr2F(vyv184, Zero, Pos(Succ(Zero)), vyv188, h) 214.29/145.92 new_pr2F0G1(vyv227, vyv228, vyv229, Succ(Zero), ba) -> new_pr2F(vyv228, vyv229, Pos(Succ(Zero)), vyv227, ba) 214.29/145.92 new_pr2F0G(vyv188, vyv184, Pos(Succ(Zero)), h) -> new_pr2F(vyv184, Zero, Pos(Succ(Zero)), vyv188, h) 214.29/145.92 new_pr2F0G10(vyv249, vyv250, vyv251, Zero, bb) -> new_pr2F0G(vyv249, new_sr3(vyv250, bb), Neg(new_primDivNatS1(Succ(vyv251), Succ(Zero))), bb) 214.29/145.92 new_pr2F0G(vyv188, vyv184, Pos(Zero), h) -> new_pr2F0G(vyv188, new_sr(vyv184, h), Pos(new_primDivNatS1(Zero, Succ(Zero))), h) 214.29/145.92 new_pr2F0G1(vyv227, vyv228, vyv229, Zero, ba) -> new_pr2F0G(vyv227, new_sr1(vyv228, ba), Pos(new_primDivNatS1(Succ(vyv229), Succ(Zero))), ba) 214.29/145.92 new_pr2F0(vyv184, Pos(Zero), vyv188, h) -> new_pr2F0G(vyv188, new_sr(vyv184, h), Pos(new_primDivNatS1(Zero, Succ(Zero))), h) 214.29/145.92 new_pr2F0(vyv184, Neg(Zero), vyv188, h) -> new_pr2F0G(vyv188, new_sr0(vyv184, h), Neg(Zero), h) 214.29/145.92 new_pr2F0G(vyv188, vyv184, Neg(Zero), h) -> new_pr2F0G(vyv188, new_sr0(vyv184, h), Neg(Zero), h) 214.29/145.92 214.29/145.92 The TRS R consists of the following rules: 214.29/145.92 214.29/145.92 new_sr(vyv184, ty_Double) -> new_sr11(vyv184) 214.29/145.92 new_sr(vyv184, app(ty_Ratio, bd)) -> new_sr5(vyv184, bd) 214.29/145.92 new_sr(vyv184, ty_Float) -> new_sr12(vyv184) 214.29/145.92 new_sr(vyv184, ty_Int) -> new_sr7(vyv184) 214.29/145.92 new_sr(vyv184, ty_Integer) -> new_sr6(vyv184) 214.29/145.92 new_primQuotInt(vyv2710, Pos(Succ(vyv28500))) -> Pos(new_primDivNatS1(vyv2710, vyv28500)) 214.29/145.92 new_primDivNatS1(Zero, vyv28500) -> Zero 214.29/145.92 new_primDivNatS1(Succ(Succ(vyv271000)), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS0(vyv271000), Zero)) 214.29/145.92 new_primDivNatS1(Succ(Zero), Succ(vyv285000)) -> Zero 214.29/145.92 new_primDivNatS1(Succ(Succ(vyv271000)), Succ(vyv285000)) -> new_primDivNatS01(vyv271000, vyv285000, vyv271000, vyv285000) 214.29/145.92 new_primDivNatS1(Succ(Zero), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS1, Zero)) 214.29/145.92 new_primMinusNatS1 -> Zero 214.29/145.92 new_primDivNatS01(vyv311, vyv312, Succ(vyv3130), Zero) -> new_primDivNatS02(vyv311, vyv312) 214.29/145.92 new_primDivNatS01(vyv311, vyv312, Zero, Succ(vyv3140)) -> Zero 214.29/145.92 new_primDivNatS01(vyv311, vyv312, Succ(vyv3130), Succ(vyv3140)) -> new_primDivNatS01(vyv311, vyv312, vyv3130, vyv3140) 214.29/145.92 new_primDivNatS01(vyv311, vyv312, Zero, Zero) -> new_primDivNatS02(vyv311, vyv312) 214.29/145.92 new_primDivNatS02(vyv311, vyv312) -> Succ(new_primDivNatS1(new_primMinusNatS2(vyv311, vyv312), Succ(vyv312))) 214.29/145.92 new_primMinusNatS2(Zero, Succ(vyv3120)) -> Zero 214.29/145.92 new_primMinusNatS2(Succ(vyv3110), Zero) -> Succ(vyv3110) 214.29/145.92 new_primMinusNatS2(Zero, Zero) -> Zero 214.29/145.92 new_primMinusNatS2(Succ(vyv3110), Succ(vyv3120)) -> new_primMinusNatS2(vyv3110, vyv3120) 214.29/145.92 new_primMinusNatS0(vyv271000) -> Succ(vyv271000) 214.29/145.92 new_sr6(vyv184) -> error([]) 214.29/145.92 new_sr7(Pos(vyv1840)) -> Pos(new_primMulNat1(vyv1840)) 214.29/145.92 new_sr7(Neg(vyv1840)) -> Pos(new_primMulNat1(vyv1840)) 214.29/145.92 new_primMulNat1(Succ(vyv18400)) -> new_primPlusNat0(new_primMulNat2(vyv18400), Succ(vyv18400)) 214.29/145.92 new_primMulNat1(Zero) -> Zero 214.29/145.92 new_primMulNat2(Succ(vyv184000)) -> new_primPlusNat0(new_primMulNat3(vyv184000), Succ(Succ(vyv184000))) 214.29/145.92 new_primMulNat2(Zero) -> Zero 214.29/145.92 new_primPlusNat0(Succ(vyv4000), Succ(vyv6000)) -> Succ(Succ(new_primPlusNat0(vyv4000, vyv6000))) 214.29/145.92 new_primPlusNat0(Zero, Succ(vyv6000)) -> Succ(vyv6000) 214.29/145.92 new_primPlusNat0(Zero, Zero) -> Zero 214.29/145.92 new_primPlusNat0(Succ(vyv4000), Zero) -> Succ(vyv4000) 214.29/145.92 new_primMulNat3(Succ(vyv1840000)) -> new_primPlusNat0(new_primMulNat4(vyv1840000), Succ(Succ(Succ(vyv1840000)))) 214.29/145.92 new_primMulNat3(Zero) -> Zero 214.29/145.92 new_primMulNat4(Succ(vyv18400000)) -> new_primPlusNat0(new_primMulNat0(vyv18400000, Succ(Succ(Succ(Succ(vyv18400000))))), Succ(Succ(Succ(Succ(vyv18400000))))) 214.29/145.92 new_primMulNat4(Zero) -> Zero 214.29/145.92 new_primMulNat0(Zero, Succ(vyv23900)) -> Zero 214.29/145.92 new_primMulNat0(Succ(vyv24000), Succ(vyv23900)) -> new_primPlusNat0(new_primMulNat0(vyv24000, Succ(vyv23900)), Succ(vyv23900)) 214.29/145.92 new_sr12(vyv184) -> error([]) 214.29/145.92 new_sr5(:%(vyv1840, vyv1841), bd) -> new_reduce2Reduce1(vyv1840, vyv1840, vyv1841, vyv1841, new_esEs0(vyv1841, bd), bd) 214.29/145.92 new_esEs0(vyv1841, ty_Int) -> new_esEs(new_sr7(vyv1841)) 214.29/145.92 new_esEs0(vyv1841, ty_Integer) -> new_esEs1(new_sr6(vyv1841)) 214.29/145.92 new_reduce2Reduce1(vyv265, vyv266, vyv267, vyv268, False, bh) -> :%(new_quot0(vyv265, vyv266, vyv267, vyv268, bh), new_quot1(vyv267, vyv268, vyv265, vyv266, bh)) 214.29/145.92 new_reduce2Reduce1(vyv265, vyv266, vyv267, vyv268, True, bh) -> error([]) 214.29/145.92 new_quot0(vyv265, vyv266, vyv267, vyv268, ty_Integer) -> new_quot2(new_sr9(vyv265, vyv266), new_sr9(vyv265, vyv266), new_sr9(vyv267, vyv268)) 214.29/145.92 new_quot0(vyv265, vyv266, vyv267, vyv268, ty_Int) -> new_quot(new_sr10(vyv265, vyv266), new_sr10(vyv265, vyv266), new_sr10(vyv267, vyv268)) 214.29/145.92 new_quot1(vyv267, vyv268, vyv265, vyv266, ty_Int) -> new_quot(new_sr10(vyv267, vyv268), new_sr10(vyv265, vyv266), new_sr10(vyv267, vyv268)) 214.29/145.92 new_quot1(vyv267, vyv268, vyv265, vyv266, ty_Integer) -> new_quot2(new_sr9(vyv267, vyv268), new_sr9(vyv265, vyv266), new_sr9(vyv267, vyv268)) 214.29/145.92 new_sr9(vyv240, vyv239) -> error([]) 214.29/145.92 new_quot2(vyv274, vyv276, vyv275) -> error([]) 214.29/145.92 new_sr10(Pos(vyv2400), Pos(vyv2390)) -> Pos(new_primMulNat0(vyv2400, vyv2390)) 214.29/145.92 new_sr10(Neg(vyv2400), Neg(vyv2390)) -> Pos(new_primMulNat0(vyv2400, vyv2390)) 214.29/145.92 new_sr10(Pos(vyv2400), Neg(vyv2390)) -> Neg(new_primMulNat0(vyv2400, vyv2390)) 214.29/145.92 new_sr10(Neg(vyv2400), Pos(vyv2390)) -> Neg(new_primMulNat0(vyv2400, vyv2390)) 214.29/145.92 new_quot(Pos(vyv2710), vyv273, vyv272) -> new_primQuotInt(vyv2710, new_gcd(vyv273, vyv272)) 214.29/145.92 new_quot(Neg(vyv2710), vyv273, vyv272) -> new_primQuotInt0(vyv2710, new_gcd(vyv273, vyv272)) 214.29/145.92 new_gcd(vyv273, vyv272) -> new_gcd2(new_esEs(vyv273), vyv273, vyv272) 214.29/145.92 new_primQuotInt0(vyv2710, Pos(Succ(vyv28800))) -> Neg(new_primDivNatS1(vyv2710, vyv28800)) 214.29/145.92 new_primQuotInt0(vyv2710, Neg(Zero)) -> new_error 214.29/145.92 new_primQuotInt0(vyv2710, Neg(Succ(vyv28800))) -> Pos(new_primDivNatS1(vyv2710, vyv28800)) 214.29/145.92 new_primQuotInt0(vyv2710, Pos(Zero)) -> new_error 214.29/145.92 new_error -> error([]) 214.29/145.92 new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) 214.29/145.92 new_esEs(Pos(Succ(vyv24300))) -> new_primEqInt(Pos(Succ(vyv24300))) 214.29/145.92 new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) 214.29/145.92 new_esEs(Neg(Succ(vyv24300))) -> new_primEqInt(Neg(Succ(vyv24300))) 214.29/145.92 new_gcd2(True, vyv273, vyv272) -> new_gcd1(new_esEs(vyv272), vyv273, vyv272) 214.29/145.92 new_gcd2(False, vyv273, vyv272) -> new_gcd0(vyv273, vyv272) 214.29/145.92 new_gcd0(vyv273, vyv272) -> new_gcd0Gcd'11(new_esEs(new_abs(vyv272)), vyv273, vyv272) 214.29/145.92 new_abs(Neg(Zero)) -> Neg(Zero) 214.29/145.92 new_abs(Neg(Succ(vyv27200))) -> Pos(Succ(vyv27200)) 214.29/145.92 new_abs(Pos(Succ(vyv27200))) -> Pos(Succ(vyv27200)) 214.29/145.92 new_abs(Pos(Zero)) -> Pos(Zero) 214.29/145.92 new_gcd0Gcd'11(True, vyv273, vyv272) -> new_abs(vyv273) 214.29/145.92 new_gcd0Gcd'11(False, vyv273, vyv272) -> new_gcd0Gcd'00(new_abs(vyv273), new_abs(vyv272)) 214.29/145.92 new_gcd0Gcd'00(vyv293, vyv292) -> new_gcd0Gcd'10(new_esEs(new_rem(vyv293, vyv292)), vyv292, vyv293) 214.29/145.92 new_gcd0Gcd'10(False, vyv292, vyv293) -> new_gcd0Gcd'00(vyv292, new_rem(vyv293, vyv292)) 214.29/145.92 new_rem(Pos(vyv2930), Neg(Zero)) -> new_error 214.29/145.92 new_rem(Neg(vyv2930), Pos(Zero)) -> new_error 214.29/145.92 new_rem(Pos(vyv2930), Neg(Succ(vyv29200))) -> Pos(new_primModNatS1(vyv2930, vyv29200)) 214.29/145.92 new_rem(Neg(vyv2930), Pos(Succ(vyv29200))) -> Neg(new_primModNatS1(vyv2930, vyv29200)) 214.29/145.92 new_rem(Pos(vyv2930), Pos(Succ(vyv29200))) -> Pos(new_primModNatS1(vyv2930, vyv29200)) 214.29/145.92 new_rem(Neg(vyv2930), Neg(Zero)) -> new_error 214.29/145.92 new_rem(Neg(vyv2930), Neg(Succ(vyv29200))) -> Neg(new_primModNatS1(vyv2930, vyv29200)) 214.29/145.92 new_rem(Pos(vyv2930), Pos(Zero)) -> new_error 214.29/145.92 new_gcd0Gcd'10(True, vyv292, vyv293) -> vyv292 214.29/145.92 new_primModNatS1(Succ(Zero), Succ(vyv292000)) -> Succ(Zero) 214.29/145.92 new_primModNatS1(Zero, vyv29200) -> Zero 214.29/145.92 new_primModNatS1(Succ(Succ(vyv293000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv293000), Zero) 214.29/145.92 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 214.29/145.92 new_primModNatS1(Succ(Succ(vyv293000)), Succ(vyv292000)) -> new_primModNatS01(vyv293000, vyv292000, vyv293000, vyv292000) 214.29/145.92 new_primModNatS01(vyv331, vyv332, Zero, Zero) -> new_primModNatS02(vyv331, vyv332) 214.29/145.92 new_primModNatS02(vyv331, vyv332) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv331), Succ(vyv332)), Succ(vyv332)) 214.29/145.92 new_primModNatS01(vyv331, vyv332, Succ(vyv3330), Zero) -> new_primModNatS02(vyv331, vyv332) 214.29/145.92 new_primModNatS01(vyv331, vyv332, Succ(vyv3330), Succ(vyv3340)) -> new_primModNatS01(vyv331, vyv332, vyv3330, vyv3340) 214.29/145.92 new_primModNatS01(vyv331, vyv332, Zero, Succ(vyv3340)) -> Succ(Succ(vyv331)) 214.29/145.92 new_gcd1(True, vyv273, vyv272) -> new_error 214.29/145.92 new_gcd1(False, vyv273, vyv272) -> new_gcd0(vyv273, vyv272) 214.29/145.92 new_primEqInt(Neg(Succ(vyv242000))) -> False 214.29/145.92 new_primEqInt(Pos(Zero)) -> True 214.29/145.92 new_primEqInt(Pos(Succ(vyv242000))) -> False 214.29/145.92 new_primEqInt(Neg(Zero)) -> True 214.29/145.92 new_primQuotInt(vyv2710, Neg(Zero)) -> new_error 214.29/145.92 new_primQuotInt(vyv2710, Pos(Zero)) -> new_error 214.29/145.92 new_primQuotInt(vyv2710, Neg(Succ(vyv28500))) -> Neg(new_primDivNatS1(vyv2710, vyv28500)) 214.29/145.92 new_primMulNat0(Succ(vyv24000), Zero) -> Zero 214.29/145.92 new_primMulNat0(Zero, Zero) -> Zero 214.29/145.92 new_esEs1(Integer(vyv2700)) -> new_primEqInt(vyv2700) 214.29/145.92 new_sr11(vyv184) -> error([]) 214.29/145.92 new_sr1(vyv228, ty_Double) -> new_sr11(vyv228) 214.29/145.92 new_sr1(vyv228, ty_Float) -> new_sr12(vyv228) 214.29/145.92 new_sr1(vyv228, app(ty_Ratio, bg)) -> new_sr5(vyv228, bg) 214.29/145.92 new_sr1(vyv228, ty_Integer) -> new_sr6(vyv228) 214.29/145.92 new_sr1(vyv228, ty_Int) -> new_sr7(vyv228) 214.29/145.92 new_sr3(vyv250, ty_Double) -> new_sr11(vyv250) 214.29/145.92 new_sr3(vyv250, ty_Int) -> new_sr7(vyv250) 214.29/145.92 new_sr3(vyv250, ty_Float) -> new_sr12(vyv250) 214.29/145.92 new_sr3(vyv250, ty_Integer) -> new_sr6(vyv250) 214.29/145.92 new_sr3(vyv250, app(ty_Ratio, bf)) -> new_sr5(vyv250, bf) 214.29/145.92 new_sr0(vyv184, ty_Double) -> new_sr11(vyv184) 214.29/145.92 new_sr0(vyv184, ty_Float) -> new_sr12(vyv184) 214.29/145.92 new_sr0(vyv184, ty_Int) -> new_sr7(vyv184) 214.29/145.92 new_sr0(vyv184, app(ty_Ratio, bd)) -> new_sr5(vyv184, bd) 214.29/145.92 new_sr0(vyv184, ty_Integer) -> new_sr6(vyv184) 214.29/145.92 new_ms0(vyv241, Neg(Zero)) -> Neg(Succ(vyv241)) 214.29/145.92 new_ms0(vyv241, Pos(vyv2440)) -> Neg(new_primPlusNat0(Succ(vyv241), vyv2440)) 214.29/145.92 new_ms0(vyv241, Neg(Succ(vyv24400))) -> new_primMinusNat0(vyv24400, vyv241) 214.29/145.92 new_sr4(vyv240, vyv239, app(ty_Ratio, be)) -> new_sr8(vyv240, vyv239, be) 214.29/145.92 new_sr4(vyv240, vyv239, ty_Float) -> new_sr14(vyv240, vyv239) 214.29/145.92 new_sr4(vyv240, vyv239, ty_Int) -> new_sr10(vyv240, vyv239) 214.29/145.92 new_sr4(vyv240, vyv239, ty_Double) -> new_sr13(vyv240, vyv239) 214.29/145.92 new_sr4(vyv240, vyv239, ty_Integer) -> new_sr9(vyv240, vyv239) 214.29/145.92 new_sr13(vyv240, vyv239) -> error([]) 214.29/145.92 new_sr14(vyv240, vyv239) -> error([]) 214.29/145.92 new_sr8(:%(vyv2400, vyv2401), :%(vyv2390, vyv2391), be) -> new_reduce2Reduce1(vyv2400, vyv2390, vyv2401, vyv2391, new_esEs2(vyv2401, vyv2391, be), be) 214.29/145.92 new_esEs2(vyv2401, vyv2391, ty_Integer) -> new_esEs1(new_sr9(vyv2401, vyv2391)) 214.29/145.92 new_esEs2(vyv2401, vyv2391, ty_Int) -> new_esEs(new_sr10(vyv2401, vyv2391)) 214.29/145.92 new_primMinusNat0(Succ(vyv2290), Succ(vyv245000)) -> new_primMinusNat0(vyv2290, vyv245000) 214.29/145.92 new_primMinusNat0(Zero, Zero) -> Pos(Zero) 214.29/145.92 new_primMinusNat0(Zero, Succ(vyv245000)) -> Neg(Succ(vyv245000)) 214.29/145.92 new_primMinusNat0(Succ(vyv2290), Zero) -> Pos(Succ(vyv2290)) 214.29/145.92 new_ms(vyv229, Neg(vyv2450)) -> Pos(new_primPlusNat0(Succ(vyv229), vyv2450)) 214.29/145.92 new_ms(vyv229, Pos(Succ(vyv24500))) -> new_primMinusNat0(vyv229, vyv24500) 214.29/145.92 new_ms(vyv229, Pos(Zero)) -> Pos(Succ(vyv229)) 214.29/145.92 new_sr2(vyv228, vyv227, ty_Integer) -> new_sr9(vyv228, vyv227) 214.29/145.92 new_sr2(vyv228, vyv227, ty_Int) -> new_sr10(vyv228, vyv227) 214.29/145.92 new_sr2(vyv228, vyv227, app(ty_Ratio, bg)) -> new_sr8(vyv228, vyv227, bg) 214.29/145.92 new_sr2(vyv228, vyv227, ty_Double) -> new_sr13(vyv228, vyv227) 214.29/145.92 new_sr2(vyv228, vyv227, ty_Float) -> new_sr14(vyv228, vyv227) 214.29/145.92 214.29/145.92 The set Q consists of the following terms: 214.29/145.92 214.29/145.92 new_sr13(x0, x1) 214.29/145.92 new_primDivNatS01(x0, x1, Zero, Zero) 214.29/145.92 new_gcd0Gcd'11(False, x0, x1) 214.29/145.92 new_primMulNat4(Zero) 214.29/145.92 new_gcd0Gcd'11(True, x0, x1) 214.29/145.92 new_sr2(x0, x1, ty_Float) 214.29/145.92 new_sr5(:%(x0, x1), x2) 214.29/145.92 new_primEqInt(Pos(Zero)) 214.29/145.92 new_ms(x0, Neg(x1)) 214.29/145.92 new_sr2(x0, x1, ty_Double) 214.29/145.92 new_esEs(Pos(Succ(x0))) 214.29/145.92 new_primQuotInt0(x0, Neg(Zero)) 214.29/145.92 new_primMulNat3(Zero) 214.29/145.92 new_primModNatS02(x0, x1) 214.29/145.92 new_sr(x0, ty_Double) 214.29/145.92 new_sr0(x0, ty_Double) 214.29/145.92 new_primDivNatS1(Succ(Zero), Zero) 214.29/145.92 new_primMinusNatS0(x0) 214.29/145.92 new_sr11(x0) 214.29/145.92 new_sr0(x0, app(ty_Ratio, x1)) 214.29/145.92 new_rem(Pos(x0), Neg(Succ(x1))) 214.29/145.92 new_rem(Neg(x0), Pos(Succ(x1))) 214.29/145.92 new_primMulNat0(Zero, Zero) 214.29/145.92 new_primPlusNat0(Succ(x0), Zero) 214.29/145.92 new_primMulNat0(Succ(x0), Zero) 214.29/145.92 new_sr3(x0, ty_Float) 214.29/145.92 new_primMulNat2(Zero) 214.29/145.92 new_primQuotInt(x0, Pos(Zero)) 214.29/145.92 new_primMulNat2(Succ(x0)) 214.29/145.92 new_primQuotInt(x0, Neg(Zero)) 214.29/145.92 new_rem(Neg(x0), Neg(Succ(x1))) 214.29/145.92 new_primMinusNatS2(Zero, Succ(x0)) 214.29/145.92 new_sr(x0, ty_Int) 214.29/145.92 new_sr4(x0, x1, ty_Double) 214.29/145.92 new_primMulNat3(Succ(x0)) 214.29/145.92 new_sr0(x0, ty_Float) 214.29/145.92 new_esEs1(Integer(x0)) 214.29/145.92 new_primQuotInt0(x0, Pos(Zero)) 214.29/145.92 new_gcd2(True, x0, x1) 214.29/145.92 new_quot1(x0, x1, x2, x3, ty_Int) 214.29/145.92 new_primDivNatS1(Zero, x0) 214.29/145.92 new_primMinusNat0(Zero, Zero) 214.29/145.92 new_gcd(x0, x1) 214.29/145.92 new_gcd1(False, x0, x1) 214.29/145.92 new_esEs2(x0, x1, ty_Int) 214.29/145.92 new_sr3(x0, ty_Integer) 214.29/145.92 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 214.29/145.92 new_sr1(x0, app(ty_Ratio, x1)) 214.29/145.92 new_sr1(x0, ty_Float) 214.29/145.92 new_primPlusNat0(Zero, Succ(x0)) 214.29/145.92 new_sr8(:%(x0, x1), :%(x2, x3), x4) 214.29/145.92 new_abs(Neg(Zero)) 214.29/145.92 new_primMinusNatS2(Succ(x0), Zero) 214.29/145.92 new_error 214.29/145.92 new_primModNatS1(Succ(Zero), Zero) 214.29/145.92 new_primMulNat4(Succ(x0)) 214.29/145.92 new_sr1(x0, ty_Integer) 214.29/145.92 new_primDivNatS02(x0, x1) 214.29/145.92 new_sr1(x0, ty_Int) 214.29/145.92 new_rem(Neg(x0), Neg(Zero)) 214.29/145.92 new_primMinusNat0(Zero, Succ(x0)) 214.29/145.92 new_primEqInt(Neg(Zero)) 214.29/145.92 new_rem(Pos(x0), Pos(Succ(x1))) 214.29/145.92 new_abs(Pos(Succ(x0))) 214.29/145.92 new_primMulNat0(Succ(x0), Succ(x1)) 214.29/145.92 new_primMulNat0(Zero, Succ(x0)) 214.29/145.92 new_reduce2Reduce1(x0, x1, x2, x3, True, x4) 214.29/145.92 new_sr(x0, ty_Float) 214.29/145.92 new_gcd0Gcd'10(False, x0, x1) 214.29/145.92 new_sr12(x0) 214.29/145.92 new_primDivNatS01(x0, x1, Zero, Succ(x2)) 214.29/145.92 new_sr10(Pos(x0), Pos(x1)) 214.29/145.92 new_primModNatS01(x0, x1, Zero, Succ(x2)) 214.29/145.92 new_primPlusNat0(Zero, Zero) 214.29/145.92 new_sr(x0, ty_Integer) 214.29/145.92 new_primQuotInt0(x0, Pos(Succ(x1))) 214.29/145.92 new_primModNatS01(x0, x1, Succ(x2), Zero) 214.29/145.92 new_ms(x0, Pos(Succ(x1))) 214.29/145.92 new_primModNatS1(Succ(Succ(x0)), Zero) 214.29/145.92 new_sr4(x0, x1, ty_Integer) 214.29/145.92 new_rem(Pos(x0), Pos(Zero)) 214.29/145.92 new_sr4(x0, x1, ty_Int) 214.29/145.92 new_ms0(x0, Neg(Succ(x1))) 214.29/145.92 new_quot(Pos(x0), x1, x2) 214.29/145.92 new_primMinusNatS2(Zero, Zero) 214.29/145.92 new_esEs0(x0, ty_Int) 214.29/145.92 new_primMinusNat0(Succ(x0), Zero) 214.29/145.92 new_ms0(x0, Pos(x1)) 214.29/145.92 new_esEs(Pos(Zero)) 214.29/145.92 new_quot(Neg(x0), x1, x2) 214.29/145.92 new_primDivNatS01(x0, x1, Succ(x2), Succ(x3)) 214.29/145.92 new_quot2(x0, x1, x2) 214.29/145.92 new_primEqInt(Neg(Succ(x0))) 214.29/145.92 new_sr10(Neg(x0), Neg(x1)) 214.29/145.92 new_sr3(x0, app(ty_Ratio, x1)) 214.29/145.92 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 214.29/145.92 new_sr9(x0, x1) 214.29/145.92 new_sr2(x0, x1, ty_Integer) 214.29/145.92 new_sr7(Neg(x0)) 214.29/145.92 new_sr1(x0, ty_Double) 214.29/145.92 new_primQuotInt0(x0, Neg(Succ(x1))) 214.29/145.92 new_sr0(x0, ty_Integer) 214.29/145.92 new_rem(Pos(x0), Neg(Zero)) 214.29/145.92 new_rem(Neg(x0), Pos(Zero)) 214.29/145.92 new_gcd0Gcd'00(x0, x1) 214.29/145.92 new_primQuotInt(x0, Neg(Succ(x1))) 214.29/145.92 new_primMinusNatS2(Succ(x0), Succ(x1)) 214.29/145.92 new_ms(x0, Pos(Zero)) 214.29/145.92 new_abs(Pos(Zero)) 214.29/145.92 new_primMinusNat0(Succ(x0), Succ(x1)) 214.29/145.92 new_quot0(x0, x1, x2, x3, ty_Integer) 214.29/145.92 new_sr0(x0, ty_Int) 214.29/145.92 new_sr6(x0) 214.29/145.92 new_gcd2(False, x0, x1) 214.29/145.92 new_gcd1(True, x0, x1) 214.29/145.92 new_esEs2(x0, x1, ty_Integer) 214.29/145.92 new_primMinusNatS1 214.29/145.92 new_sr7(Pos(x0)) 214.29/145.92 new_gcd0Gcd'10(True, x0, x1) 214.29/145.92 new_primModNatS1(Zero, x0) 214.29/145.92 new_sr4(x0, x1, ty_Float) 214.29/145.92 new_sr10(Pos(x0), Neg(x1)) 214.29/145.92 new_sr10(Neg(x0), Pos(x1)) 214.29/145.92 new_primDivNatS01(x0, x1, Succ(x2), Zero) 214.29/145.92 new_primDivNatS1(Succ(Succ(x0)), Succ(x1)) 214.29/145.92 new_primPlusNat0(Succ(x0), Succ(x1)) 214.29/145.92 new_primDivNatS1(Succ(Zero), Succ(x0)) 214.29/145.92 new_primQuotInt(x0, Pos(Succ(x1))) 214.29/145.92 new_sr2(x0, x1, app(ty_Ratio, x2)) 214.29/145.92 new_abs(Neg(Succ(x0))) 214.29/145.92 new_esEs0(x0, ty_Integer) 214.29/145.92 new_sr3(x0, ty_Int) 214.29/145.92 new_esEs(Neg(Succ(x0))) 214.29/145.92 new_sr(x0, app(ty_Ratio, x1)) 214.29/145.92 new_ms0(x0, Neg(Zero)) 214.29/145.92 new_primModNatS01(x0, x1, Zero, Zero) 214.29/145.92 new_sr4(x0, x1, app(ty_Ratio, x2)) 214.29/145.92 new_gcd0(x0, x1) 214.29/145.92 new_primEqInt(Pos(Succ(x0))) 214.29/145.92 new_sr3(x0, ty_Double) 214.29/145.92 new_quot1(x0, x1, x2, x3, ty_Integer) 214.29/145.92 new_primDivNatS1(Succ(Succ(x0)), Zero) 214.29/145.92 new_primMulNat1(Succ(x0)) 214.29/145.92 new_sr14(x0, x1) 214.29/145.92 new_quot0(x0, x1, x2, x3, ty_Int) 214.29/145.92 new_sr2(x0, x1, ty_Int) 214.29/145.92 new_primModNatS1(Succ(Zero), Succ(x0)) 214.29/145.92 new_reduce2Reduce1(x0, x1, x2, x3, False, x4) 214.29/145.92 new_esEs(Neg(Zero)) 214.29/145.92 new_primMulNat1(Zero) 214.29/145.92 214.29/145.92 We have to consider all minimal (P,Q,R)-chains. 214.29/145.92 ---------------------------------------- 214.29/145.92 214.29/145.92 (732) DependencyGraphProof (EQUIVALENT) 214.29/145.92 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 2 SCCs with 1 less node. 214.29/145.92 ---------------------------------------- 214.29/145.92 214.29/145.92 (733) 214.29/145.92 Complex Obligation (AND) 214.29/145.92 214.29/145.92 ---------------------------------------- 214.29/145.92 214.29/145.92 (734) 214.29/145.92 Obligation: 214.29/145.92 Q DP problem: 214.29/145.92 The TRS P consists of the following rules: 214.29/145.92 214.29/145.92 new_pr2F0G(vyv188, vyv184, Neg(Zero), h) -> new_pr2F0G(vyv188, new_sr0(vyv184, h), Neg(Zero), h) 214.29/145.92 214.29/145.92 The TRS R consists of the following rules: 214.29/145.92 214.29/145.92 new_sr(vyv184, ty_Double) -> new_sr11(vyv184) 214.29/145.92 new_sr(vyv184, app(ty_Ratio, bd)) -> new_sr5(vyv184, bd) 214.29/145.92 new_sr(vyv184, ty_Float) -> new_sr12(vyv184) 214.29/145.92 new_sr(vyv184, ty_Int) -> new_sr7(vyv184) 214.29/145.92 new_sr(vyv184, ty_Integer) -> new_sr6(vyv184) 214.29/145.92 new_primQuotInt(vyv2710, Pos(Succ(vyv28500))) -> Pos(new_primDivNatS1(vyv2710, vyv28500)) 214.29/145.92 new_primDivNatS1(Zero, vyv28500) -> Zero 214.29/145.92 new_primDivNatS1(Succ(Succ(vyv271000)), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS0(vyv271000), Zero)) 214.29/145.92 new_primDivNatS1(Succ(Zero), Succ(vyv285000)) -> Zero 214.29/145.92 new_primDivNatS1(Succ(Succ(vyv271000)), Succ(vyv285000)) -> new_primDivNatS01(vyv271000, vyv285000, vyv271000, vyv285000) 214.29/145.92 new_primDivNatS1(Succ(Zero), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS1, Zero)) 214.29/145.92 new_primMinusNatS1 -> Zero 214.29/145.92 new_primDivNatS01(vyv311, vyv312, Succ(vyv3130), Zero) -> new_primDivNatS02(vyv311, vyv312) 214.29/145.92 new_primDivNatS01(vyv311, vyv312, Zero, Succ(vyv3140)) -> Zero 214.29/145.92 new_primDivNatS01(vyv311, vyv312, Succ(vyv3130), Succ(vyv3140)) -> new_primDivNatS01(vyv311, vyv312, vyv3130, vyv3140) 214.29/145.92 new_primDivNatS01(vyv311, vyv312, Zero, Zero) -> new_primDivNatS02(vyv311, vyv312) 214.29/145.92 new_primDivNatS02(vyv311, vyv312) -> Succ(new_primDivNatS1(new_primMinusNatS2(vyv311, vyv312), Succ(vyv312))) 214.29/145.92 new_primMinusNatS2(Zero, Succ(vyv3120)) -> Zero 214.29/145.92 new_primMinusNatS2(Succ(vyv3110), Zero) -> Succ(vyv3110) 214.29/145.92 new_primMinusNatS2(Zero, Zero) -> Zero 214.29/145.92 new_primMinusNatS2(Succ(vyv3110), Succ(vyv3120)) -> new_primMinusNatS2(vyv3110, vyv3120) 214.29/145.92 new_primMinusNatS0(vyv271000) -> Succ(vyv271000) 214.29/145.92 new_sr6(vyv184) -> error([]) 214.29/145.92 new_sr7(Pos(vyv1840)) -> Pos(new_primMulNat1(vyv1840)) 214.29/145.92 new_sr7(Neg(vyv1840)) -> Pos(new_primMulNat1(vyv1840)) 214.29/145.92 new_primMulNat1(Succ(vyv18400)) -> new_primPlusNat0(new_primMulNat2(vyv18400), Succ(vyv18400)) 214.29/145.92 new_primMulNat1(Zero) -> Zero 214.29/145.92 new_primMulNat2(Succ(vyv184000)) -> new_primPlusNat0(new_primMulNat3(vyv184000), Succ(Succ(vyv184000))) 214.29/145.92 new_primMulNat2(Zero) -> Zero 214.29/145.92 new_primPlusNat0(Succ(vyv4000), Succ(vyv6000)) -> Succ(Succ(new_primPlusNat0(vyv4000, vyv6000))) 214.29/145.92 new_primPlusNat0(Zero, Succ(vyv6000)) -> Succ(vyv6000) 214.29/145.92 new_primPlusNat0(Zero, Zero) -> Zero 214.29/145.92 new_primPlusNat0(Succ(vyv4000), Zero) -> Succ(vyv4000) 214.29/145.92 new_primMulNat3(Succ(vyv1840000)) -> new_primPlusNat0(new_primMulNat4(vyv1840000), Succ(Succ(Succ(vyv1840000)))) 214.29/145.92 new_primMulNat3(Zero) -> Zero 214.29/145.92 new_primMulNat4(Succ(vyv18400000)) -> new_primPlusNat0(new_primMulNat0(vyv18400000, Succ(Succ(Succ(Succ(vyv18400000))))), Succ(Succ(Succ(Succ(vyv18400000))))) 214.29/145.92 new_primMulNat4(Zero) -> Zero 214.29/145.92 new_primMulNat0(Zero, Succ(vyv23900)) -> Zero 214.29/145.92 new_primMulNat0(Succ(vyv24000), Succ(vyv23900)) -> new_primPlusNat0(new_primMulNat0(vyv24000, Succ(vyv23900)), Succ(vyv23900)) 214.29/145.92 new_sr12(vyv184) -> error([]) 214.29/145.92 new_sr5(:%(vyv1840, vyv1841), bd) -> new_reduce2Reduce1(vyv1840, vyv1840, vyv1841, vyv1841, new_esEs0(vyv1841, bd), bd) 214.29/145.92 new_esEs0(vyv1841, ty_Int) -> new_esEs(new_sr7(vyv1841)) 214.29/145.92 new_esEs0(vyv1841, ty_Integer) -> new_esEs1(new_sr6(vyv1841)) 214.29/145.92 new_reduce2Reduce1(vyv265, vyv266, vyv267, vyv268, False, bh) -> :%(new_quot0(vyv265, vyv266, vyv267, vyv268, bh), new_quot1(vyv267, vyv268, vyv265, vyv266, bh)) 214.29/145.92 new_reduce2Reduce1(vyv265, vyv266, vyv267, vyv268, True, bh) -> error([]) 214.29/145.92 new_quot0(vyv265, vyv266, vyv267, vyv268, ty_Integer) -> new_quot2(new_sr9(vyv265, vyv266), new_sr9(vyv265, vyv266), new_sr9(vyv267, vyv268)) 214.29/145.92 new_quot0(vyv265, vyv266, vyv267, vyv268, ty_Int) -> new_quot(new_sr10(vyv265, vyv266), new_sr10(vyv265, vyv266), new_sr10(vyv267, vyv268)) 214.29/145.92 new_quot1(vyv267, vyv268, vyv265, vyv266, ty_Int) -> new_quot(new_sr10(vyv267, vyv268), new_sr10(vyv265, vyv266), new_sr10(vyv267, vyv268)) 214.29/145.92 new_quot1(vyv267, vyv268, vyv265, vyv266, ty_Integer) -> new_quot2(new_sr9(vyv267, vyv268), new_sr9(vyv265, vyv266), new_sr9(vyv267, vyv268)) 214.29/145.92 new_sr9(vyv240, vyv239) -> error([]) 214.29/145.92 new_quot2(vyv274, vyv276, vyv275) -> error([]) 214.29/145.92 new_sr10(Pos(vyv2400), Pos(vyv2390)) -> Pos(new_primMulNat0(vyv2400, vyv2390)) 214.29/145.92 new_sr10(Neg(vyv2400), Neg(vyv2390)) -> Pos(new_primMulNat0(vyv2400, vyv2390)) 214.29/145.92 new_sr10(Pos(vyv2400), Neg(vyv2390)) -> Neg(new_primMulNat0(vyv2400, vyv2390)) 214.29/145.92 new_sr10(Neg(vyv2400), Pos(vyv2390)) -> Neg(new_primMulNat0(vyv2400, vyv2390)) 214.29/145.92 new_quot(Pos(vyv2710), vyv273, vyv272) -> new_primQuotInt(vyv2710, new_gcd(vyv273, vyv272)) 214.29/145.92 new_quot(Neg(vyv2710), vyv273, vyv272) -> new_primQuotInt0(vyv2710, new_gcd(vyv273, vyv272)) 214.29/145.92 new_gcd(vyv273, vyv272) -> new_gcd2(new_esEs(vyv273), vyv273, vyv272) 214.29/145.92 new_primQuotInt0(vyv2710, Pos(Succ(vyv28800))) -> Neg(new_primDivNatS1(vyv2710, vyv28800)) 214.29/145.92 new_primQuotInt0(vyv2710, Neg(Zero)) -> new_error 214.29/145.92 new_primQuotInt0(vyv2710, Neg(Succ(vyv28800))) -> Pos(new_primDivNatS1(vyv2710, vyv28800)) 214.29/145.92 new_primQuotInt0(vyv2710, Pos(Zero)) -> new_error 214.29/145.92 new_error -> error([]) 214.29/145.92 new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) 214.29/145.92 new_esEs(Pos(Succ(vyv24300))) -> new_primEqInt(Pos(Succ(vyv24300))) 214.29/145.92 new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) 214.29/145.92 new_esEs(Neg(Succ(vyv24300))) -> new_primEqInt(Neg(Succ(vyv24300))) 214.29/145.92 new_gcd2(True, vyv273, vyv272) -> new_gcd1(new_esEs(vyv272), vyv273, vyv272) 214.29/145.92 new_gcd2(False, vyv273, vyv272) -> new_gcd0(vyv273, vyv272) 214.29/145.92 new_gcd0(vyv273, vyv272) -> new_gcd0Gcd'11(new_esEs(new_abs(vyv272)), vyv273, vyv272) 214.29/145.92 new_abs(Neg(Zero)) -> Neg(Zero) 214.29/145.92 new_abs(Neg(Succ(vyv27200))) -> Pos(Succ(vyv27200)) 214.29/145.92 new_abs(Pos(Succ(vyv27200))) -> Pos(Succ(vyv27200)) 214.29/145.92 new_abs(Pos(Zero)) -> Pos(Zero) 214.29/145.92 new_gcd0Gcd'11(True, vyv273, vyv272) -> new_abs(vyv273) 214.29/145.92 new_gcd0Gcd'11(False, vyv273, vyv272) -> new_gcd0Gcd'00(new_abs(vyv273), new_abs(vyv272)) 214.29/145.92 new_gcd0Gcd'00(vyv293, vyv292) -> new_gcd0Gcd'10(new_esEs(new_rem(vyv293, vyv292)), vyv292, vyv293) 214.29/145.92 new_gcd0Gcd'10(False, vyv292, vyv293) -> new_gcd0Gcd'00(vyv292, new_rem(vyv293, vyv292)) 214.29/145.92 new_rem(Pos(vyv2930), Neg(Zero)) -> new_error 214.29/145.92 new_rem(Neg(vyv2930), Pos(Zero)) -> new_error 214.29/145.92 new_rem(Pos(vyv2930), Neg(Succ(vyv29200))) -> Pos(new_primModNatS1(vyv2930, vyv29200)) 214.29/145.92 new_rem(Neg(vyv2930), Pos(Succ(vyv29200))) -> Neg(new_primModNatS1(vyv2930, vyv29200)) 214.29/145.92 new_rem(Pos(vyv2930), Pos(Succ(vyv29200))) -> Pos(new_primModNatS1(vyv2930, vyv29200)) 214.29/145.92 new_rem(Neg(vyv2930), Neg(Zero)) -> new_error 214.29/145.92 new_rem(Neg(vyv2930), Neg(Succ(vyv29200))) -> Neg(new_primModNatS1(vyv2930, vyv29200)) 214.29/145.92 new_rem(Pos(vyv2930), Pos(Zero)) -> new_error 214.29/145.92 new_gcd0Gcd'10(True, vyv292, vyv293) -> vyv292 214.29/145.92 new_primModNatS1(Succ(Zero), Succ(vyv292000)) -> Succ(Zero) 214.29/145.92 new_primModNatS1(Zero, vyv29200) -> Zero 214.29/145.92 new_primModNatS1(Succ(Succ(vyv293000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv293000), Zero) 214.29/145.92 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 214.29/145.92 new_primModNatS1(Succ(Succ(vyv293000)), Succ(vyv292000)) -> new_primModNatS01(vyv293000, vyv292000, vyv293000, vyv292000) 214.29/145.92 new_primModNatS01(vyv331, vyv332, Zero, Zero) -> new_primModNatS02(vyv331, vyv332) 214.29/145.92 new_primModNatS02(vyv331, vyv332) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv331), Succ(vyv332)), Succ(vyv332)) 214.29/145.92 new_primModNatS01(vyv331, vyv332, Succ(vyv3330), Zero) -> new_primModNatS02(vyv331, vyv332) 214.29/145.92 new_primModNatS01(vyv331, vyv332, Succ(vyv3330), Succ(vyv3340)) -> new_primModNatS01(vyv331, vyv332, vyv3330, vyv3340) 214.29/145.92 new_primModNatS01(vyv331, vyv332, Zero, Succ(vyv3340)) -> Succ(Succ(vyv331)) 214.29/145.92 new_gcd1(True, vyv273, vyv272) -> new_error 214.29/145.92 new_gcd1(False, vyv273, vyv272) -> new_gcd0(vyv273, vyv272) 214.29/145.92 new_primEqInt(Neg(Succ(vyv242000))) -> False 214.29/145.92 new_primEqInt(Pos(Zero)) -> True 214.29/145.92 new_primEqInt(Pos(Succ(vyv242000))) -> False 214.29/145.92 new_primEqInt(Neg(Zero)) -> True 214.29/145.92 new_primQuotInt(vyv2710, Neg(Zero)) -> new_error 214.29/145.92 new_primQuotInt(vyv2710, Pos(Zero)) -> new_error 214.29/145.92 new_primQuotInt(vyv2710, Neg(Succ(vyv28500))) -> Neg(new_primDivNatS1(vyv2710, vyv28500)) 214.29/145.92 new_primMulNat0(Succ(vyv24000), Zero) -> Zero 214.29/145.92 new_primMulNat0(Zero, Zero) -> Zero 214.29/145.92 new_esEs1(Integer(vyv2700)) -> new_primEqInt(vyv2700) 214.29/145.92 new_sr11(vyv184) -> error([]) 214.29/145.92 new_sr1(vyv228, ty_Double) -> new_sr11(vyv228) 214.29/145.92 new_sr1(vyv228, ty_Float) -> new_sr12(vyv228) 214.29/145.92 new_sr1(vyv228, app(ty_Ratio, bg)) -> new_sr5(vyv228, bg) 214.29/145.92 new_sr1(vyv228, ty_Integer) -> new_sr6(vyv228) 214.29/145.92 new_sr1(vyv228, ty_Int) -> new_sr7(vyv228) 214.29/145.92 new_sr3(vyv250, ty_Double) -> new_sr11(vyv250) 214.29/145.92 new_sr3(vyv250, ty_Int) -> new_sr7(vyv250) 214.29/145.92 new_sr3(vyv250, ty_Float) -> new_sr12(vyv250) 214.29/145.92 new_sr3(vyv250, ty_Integer) -> new_sr6(vyv250) 214.29/145.92 new_sr3(vyv250, app(ty_Ratio, bf)) -> new_sr5(vyv250, bf) 214.29/145.92 new_sr0(vyv184, ty_Double) -> new_sr11(vyv184) 214.29/145.92 new_sr0(vyv184, ty_Float) -> new_sr12(vyv184) 214.29/145.92 new_sr0(vyv184, ty_Int) -> new_sr7(vyv184) 214.29/145.92 new_sr0(vyv184, app(ty_Ratio, bd)) -> new_sr5(vyv184, bd) 214.29/145.92 new_sr0(vyv184, ty_Integer) -> new_sr6(vyv184) 214.29/145.92 new_ms0(vyv241, Neg(Zero)) -> Neg(Succ(vyv241)) 214.29/145.92 new_ms0(vyv241, Pos(vyv2440)) -> Neg(new_primPlusNat0(Succ(vyv241), vyv2440)) 214.29/145.92 new_ms0(vyv241, Neg(Succ(vyv24400))) -> new_primMinusNat0(vyv24400, vyv241) 214.29/145.92 new_sr4(vyv240, vyv239, app(ty_Ratio, be)) -> new_sr8(vyv240, vyv239, be) 214.29/145.92 new_sr4(vyv240, vyv239, ty_Float) -> new_sr14(vyv240, vyv239) 214.29/145.92 new_sr4(vyv240, vyv239, ty_Int) -> new_sr10(vyv240, vyv239) 214.29/145.92 new_sr4(vyv240, vyv239, ty_Double) -> new_sr13(vyv240, vyv239) 214.29/145.92 new_sr4(vyv240, vyv239, ty_Integer) -> new_sr9(vyv240, vyv239) 214.29/145.92 new_sr13(vyv240, vyv239) -> error([]) 214.29/145.92 new_sr14(vyv240, vyv239) -> error([]) 214.29/145.92 new_sr8(:%(vyv2400, vyv2401), :%(vyv2390, vyv2391), be) -> new_reduce2Reduce1(vyv2400, vyv2390, vyv2401, vyv2391, new_esEs2(vyv2401, vyv2391, be), be) 214.29/145.92 new_esEs2(vyv2401, vyv2391, ty_Integer) -> new_esEs1(new_sr9(vyv2401, vyv2391)) 214.29/145.92 new_esEs2(vyv2401, vyv2391, ty_Int) -> new_esEs(new_sr10(vyv2401, vyv2391)) 214.29/145.92 new_primMinusNat0(Succ(vyv2290), Succ(vyv245000)) -> new_primMinusNat0(vyv2290, vyv245000) 214.29/145.92 new_primMinusNat0(Zero, Zero) -> Pos(Zero) 214.29/145.92 new_primMinusNat0(Zero, Succ(vyv245000)) -> Neg(Succ(vyv245000)) 214.29/145.92 new_primMinusNat0(Succ(vyv2290), Zero) -> Pos(Succ(vyv2290)) 214.29/145.92 new_ms(vyv229, Neg(vyv2450)) -> Pos(new_primPlusNat0(Succ(vyv229), vyv2450)) 214.29/145.92 new_ms(vyv229, Pos(Succ(vyv24500))) -> new_primMinusNat0(vyv229, vyv24500) 214.29/145.92 new_ms(vyv229, Pos(Zero)) -> Pos(Succ(vyv229)) 214.29/145.92 new_sr2(vyv228, vyv227, ty_Integer) -> new_sr9(vyv228, vyv227) 214.29/145.92 new_sr2(vyv228, vyv227, ty_Int) -> new_sr10(vyv228, vyv227) 214.29/145.92 new_sr2(vyv228, vyv227, app(ty_Ratio, bg)) -> new_sr8(vyv228, vyv227, bg) 214.29/145.92 new_sr2(vyv228, vyv227, ty_Double) -> new_sr13(vyv228, vyv227) 214.29/145.92 new_sr2(vyv228, vyv227, ty_Float) -> new_sr14(vyv228, vyv227) 214.29/145.92 214.29/145.92 The set Q consists of the following terms: 214.29/145.92 214.29/145.92 new_sr13(x0, x1) 214.29/145.92 new_primDivNatS01(x0, x1, Zero, Zero) 214.29/145.92 new_gcd0Gcd'11(False, x0, x1) 214.29/145.92 new_primMulNat4(Zero) 214.29/145.92 new_gcd0Gcd'11(True, x0, x1) 214.29/145.92 new_sr2(x0, x1, ty_Float) 214.29/145.92 new_sr5(:%(x0, x1), x2) 214.29/145.92 new_primEqInt(Pos(Zero)) 214.29/145.92 new_ms(x0, Neg(x1)) 214.29/145.92 new_sr2(x0, x1, ty_Double) 214.29/145.92 new_esEs(Pos(Succ(x0))) 214.29/145.92 new_primQuotInt0(x0, Neg(Zero)) 214.29/145.92 new_primMulNat3(Zero) 214.29/145.92 new_primModNatS02(x0, x1) 214.29/145.92 new_sr(x0, ty_Double) 214.29/145.92 new_sr0(x0, ty_Double) 214.29/145.92 new_primDivNatS1(Succ(Zero), Zero) 214.29/145.92 new_primMinusNatS0(x0) 214.29/145.92 new_sr11(x0) 214.29/145.92 new_sr0(x0, app(ty_Ratio, x1)) 214.29/145.92 new_rem(Pos(x0), Neg(Succ(x1))) 214.29/145.92 new_rem(Neg(x0), Pos(Succ(x1))) 214.29/145.92 new_primMulNat0(Zero, Zero) 214.29/145.92 new_primPlusNat0(Succ(x0), Zero) 214.29/145.92 new_primMulNat0(Succ(x0), Zero) 214.29/145.92 new_sr3(x0, ty_Float) 214.29/145.92 new_primMulNat2(Zero) 214.29/145.92 new_primQuotInt(x0, Pos(Zero)) 214.29/145.92 new_primMulNat2(Succ(x0)) 214.29/145.92 new_primQuotInt(x0, Neg(Zero)) 214.29/145.92 new_rem(Neg(x0), Neg(Succ(x1))) 214.29/145.92 new_primMinusNatS2(Zero, Succ(x0)) 214.29/145.92 new_sr(x0, ty_Int) 214.29/145.92 new_sr4(x0, x1, ty_Double) 214.29/145.92 new_primMulNat3(Succ(x0)) 214.29/145.92 new_sr0(x0, ty_Float) 214.29/145.92 new_esEs1(Integer(x0)) 214.29/145.92 new_primQuotInt0(x0, Pos(Zero)) 214.29/145.92 new_gcd2(True, x0, x1) 214.29/145.92 new_quot1(x0, x1, x2, x3, ty_Int) 214.29/145.92 new_primDivNatS1(Zero, x0) 214.29/145.92 new_primMinusNat0(Zero, Zero) 214.29/145.92 new_gcd(x0, x1) 214.29/145.92 new_gcd1(False, x0, x1) 214.29/145.92 new_esEs2(x0, x1, ty_Int) 214.29/145.92 new_sr3(x0, ty_Integer) 214.29/145.92 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 214.29/145.92 new_sr1(x0, app(ty_Ratio, x1)) 214.29/145.92 new_sr1(x0, ty_Float) 214.29/145.92 new_primPlusNat0(Zero, Succ(x0)) 214.29/145.92 new_sr8(:%(x0, x1), :%(x2, x3), x4) 214.29/145.92 new_abs(Neg(Zero)) 214.29/145.92 new_primMinusNatS2(Succ(x0), Zero) 214.29/145.92 new_error 214.29/145.92 new_primModNatS1(Succ(Zero), Zero) 214.29/145.92 new_primMulNat4(Succ(x0)) 214.29/145.92 new_sr1(x0, ty_Integer) 214.29/145.92 new_primDivNatS02(x0, x1) 214.29/145.92 new_sr1(x0, ty_Int) 214.29/145.92 new_rem(Neg(x0), Neg(Zero)) 214.29/145.92 new_primMinusNat0(Zero, Succ(x0)) 214.29/145.92 new_primEqInt(Neg(Zero)) 214.29/145.92 new_rem(Pos(x0), Pos(Succ(x1))) 214.29/145.92 new_abs(Pos(Succ(x0))) 214.29/145.92 new_primMulNat0(Succ(x0), Succ(x1)) 214.29/145.92 new_primMulNat0(Zero, Succ(x0)) 214.29/145.92 new_reduce2Reduce1(x0, x1, x2, x3, True, x4) 214.29/145.92 new_sr(x0, ty_Float) 214.29/145.92 new_gcd0Gcd'10(False, x0, x1) 214.29/145.92 new_sr12(x0) 214.29/145.92 new_primDivNatS01(x0, x1, Zero, Succ(x2)) 214.29/145.92 new_sr10(Pos(x0), Pos(x1)) 214.29/145.92 new_primModNatS01(x0, x1, Zero, Succ(x2)) 214.29/145.92 new_primPlusNat0(Zero, Zero) 214.29/145.92 new_sr(x0, ty_Integer) 214.29/145.92 new_primQuotInt0(x0, Pos(Succ(x1))) 214.29/145.92 new_primModNatS01(x0, x1, Succ(x2), Zero) 214.29/145.92 new_ms(x0, Pos(Succ(x1))) 214.29/145.92 new_primModNatS1(Succ(Succ(x0)), Zero) 214.29/145.92 new_sr4(x0, x1, ty_Integer) 214.29/145.92 new_rem(Pos(x0), Pos(Zero)) 214.29/145.92 new_sr4(x0, x1, ty_Int) 214.29/145.92 new_ms0(x0, Neg(Succ(x1))) 214.29/145.92 new_quot(Pos(x0), x1, x2) 214.29/145.92 new_primMinusNatS2(Zero, Zero) 214.29/145.92 new_esEs0(x0, ty_Int) 214.29/145.92 new_primMinusNat0(Succ(x0), Zero) 214.29/145.92 new_ms0(x0, Pos(x1)) 214.29/145.92 new_esEs(Pos(Zero)) 214.29/145.92 new_quot(Neg(x0), x1, x2) 214.29/145.92 new_primDivNatS01(x0, x1, Succ(x2), Succ(x3)) 214.29/145.92 new_quot2(x0, x1, x2) 214.29/145.92 new_primEqInt(Neg(Succ(x0))) 214.29/145.92 new_sr10(Neg(x0), Neg(x1)) 214.29/145.92 new_sr3(x0, app(ty_Ratio, x1)) 214.29/145.92 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 214.29/145.92 new_sr9(x0, x1) 214.29/145.92 new_sr2(x0, x1, ty_Integer) 214.29/145.92 new_sr7(Neg(x0)) 214.29/145.92 new_sr1(x0, ty_Double) 214.29/145.92 new_primQuotInt0(x0, Neg(Succ(x1))) 214.29/145.92 new_sr0(x0, ty_Integer) 214.29/145.92 new_rem(Pos(x0), Neg(Zero)) 214.29/145.92 new_rem(Neg(x0), Pos(Zero)) 214.29/145.92 new_gcd0Gcd'00(x0, x1) 214.29/145.92 new_primQuotInt(x0, Neg(Succ(x1))) 214.29/145.92 new_primMinusNatS2(Succ(x0), Succ(x1)) 214.29/145.92 new_ms(x0, Pos(Zero)) 214.29/145.92 new_abs(Pos(Zero)) 214.29/145.92 new_primMinusNat0(Succ(x0), Succ(x1)) 214.29/145.92 new_quot0(x0, x1, x2, x3, ty_Integer) 214.29/145.92 new_sr0(x0, ty_Int) 214.29/145.92 new_sr6(x0) 214.29/145.92 new_gcd2(False, x0, x1) 214.29/145.92 new_gcd1(True, x0, x1) 214.29/145.92 new_esEs2(x0, x1, ty_Integer) 214.29/145.92 new_primMinusNatS1 214.29/145.92 new_sr7(Pos(x0)) 214.29/145.92 new_gcd0Gcd'10(True, x0, x1) 214.29/145.92 new_primModNatS1(Zero, x0) 214.29/145.92 new_sr4(x0, x1, ty_Float) 214.29/145.92 new_sr10(Pos(x0), Neg(x1)) 214.29/145.92 new_sr10(Neg(x0), Pos(x1)) 214.29/145.92 new_primDivNatS01(x0, x1, Succ(x2), Zero) 214.29/145.92 new_primDivNatS1(Succ(Succ(x0)), Succ(x1)) 214.29/145.92 new_primPlusNat0(Succ(x0), Succ(x1)) 214.29/145.92 new_primDivNatS1(Succ(Zero), Succ(x0)) 214.29/145.92 new_primQuotInt(x0, Pos(Succ(x1))) 214.29/145.92 new_sr2(x0, x1, app(ty_Ratio, x2)) 214.29/145.92 new_abs(Neg(Succ(x0))) 214.29/145.92 new_esEs0(x0, ty_Integer) 214.29/145.92 new_sr3(x0, ty_Int) 214.29/145.92 new_esEs(Neg(Succ(x0))) 214.29/145.92 new_sr(x0, app(ty_Ratio, x1)) 214.29/145.92 new_ms0(x0, Neg(Zero)) 214.29/145.92 new_primModNatS01(x0, x1, Zero, Zero) 214.29/145.92 new_sr4(x0, x1, app(ty_Ratio, x2)) 214.29/145.92 new_gcd0(x0, x1) 214.29/145.92 new_primEqInt(Pos(Succ(x0))) 214.29/145.92 new_sr3(x0, ty_Double) 214.29/145.92 new_quot1(x0, x1, x2, x3, ty_Integer) 214.29/145.92 new_primDivNatS1(Succ(Succ(x0)), Zero) 214.29/145.92 new_primMulNat1(Succ(x0)) 214.29/145.92 new_sr14(x0, x1) 214.29/145.92 new_quot0(x0, x1, x2, x3, ty_Int) 214.29/145.92 new_sr2(x0, x1, ty_Int) 214.29/145.92 new_primModNatS1(Succ(Zero), Succ(x0)) 214.29/145.92 new_reduce2Reduce1(x0, x1, x2, x3, False, x4) 214.29/145.92 new_esEs(Neg(Zero)) 214.29/145.92 new_primMulNat1(Zero) 214.29/145.92 214.29/145.92 We have to consider all minimal (P,Q,R)-chains. 214.29/145.92 ---------------------------------------- 214.29/145.92 214.29/145.92 (735) UsableRulesProof (EQUIVALENT) 214.29/145.92 As all Q-normal forms are R-normal forms we are in the innermost case. Hence, by the usable rules processor [LPAR04] we can delete all non-usable rules [FROCOS05] from R. 214.29/145.92 ---------------------------------------- 214.29/145.92 214.29/145.92 (736) 214.29/145.92 Obligation: 214.29/145.92 Q DP problem: 214.29/145.92 The TRS P consists of the following rules: 214.29/145.92 214.29/145.92 new_pr2F0G(vyv188, vyv184, Neg(Zero), h) -> new_pr2F0G(vyv188, new_sr0(vyv184, h), Neg(Zero), h) 214.29/145.92 214.29/145.92 The TRS R consists of the following rules: 214.29/145.92 214.29/145.92 new_sr0(vyv184, ty_Double) -> new_sr11(vyv184) 214.29/145.92 new_sr0(vyv184, ty_Float) -> new_sr12(vyv184) 214.29/145.92 new_sr0(vyv184, ty_Int) -> new_sr7(vyv184) 214.29/145.92 new_sr0(vyv184, app(ty_Ratio, bd)) -> new_sr5(vyv184, bd) 214.29/145.92 new_sr0(vyv184, ty_Integer) -> new_sr6(vyv184) 214.29/145.92 new_sr6(vyv184) -> error([]) 214.29/145.92 new_sr5(:%(vyv1840, vyv1841), bd) -> new_reduce2Reduce1(vyv1840, vyv1840, vyv1841, vyv1841, new_esEs0(vyv1841, bd), bd) 214.29/145.92 new_esEs0(vyv1841, ty_Int) -> new_esEs(new_sr7(vyv1841)) 214.29/145.92 new_esEs0(vyv1841, ty_Integer) -> new_esEs1(new_sr6(vyv1841)) 214.29/145.92 new_reduce2Reduce1(vyv265, vyv266, vyv267, vyv268, False, bh) -> :%(new_quot0(vyv265, vyv266, vyv267, vyv268, bh), new_quot1(vyv267, vyv268, vyv265, vyv266, bh)) 214.29/145.92 new_reduce2Reduce1(vyv265, vyv266, vyv267, vyv268, True, bh) -> error([]) 214.29/145.92 new_quot0(vyv265, vyv266, vyv267, vyv268, ty_Integer) -> new_quot2(new_sr9(vyv265, vyv266), new_sr9(vyv265, vyv266), new_sr9(vyv267, vyv268)) 214.29/145.92 new_quot0(vyv265, vyv266, vyv267, vyv268, ty_Int) -> new_quot(new_sr10(vyv265, vyv266), new_sr10(vyv265, vyv266), new_sr10(vyv267, vyv268)) 214.29/145.92 new_quot1(vyv267, vyv268, vyv265, vyv266, ty_Int) -> new_quot(new_sr10(vyv267, vyv268), new_sr10(vyv265, vyv266), new_sr10(vyv267, vyv268)) 214.29/145.92 new_quot1(vyv267, vyv268, vyv265, vyv266, ty_Integer) -> new_quot2(new_sr9(vyv267, vyv268), new_sr9(vyv265, vyv266), new_sr9(vyv267, vyv268)) 214.29/145.92 new_sr9(vyv240, vyv239) -> error([]) 214.29/145.92 new_quot2(vyv274, vyv276, vyv275) -> error([]) 214.29/145.92 new_sr10(Pos(vyv2400), Pos(vyv2390)) -> Pos(new_primMulNat0(vyv2400, vyv2390)) 214.29/145.92 new_sr10(Neg(vyv2400), Neg(vyv2390)) -> Pos(new_primMulNat0(vyv2400, vyv2390)) 214.29/145.92 new_sr10(Pos(vyv2400), Neg(vyv2390)) -> Neg(new_primMulNat0(vyv2400, vyv2390)) 214.29/145.92 new_sr10(Neg(vyv2400), Pos(vyv2390)) -> Neg(new_primMulNat0(vyv2400, vyv2390)) 214.29/145.92 new_quot(Pos(vyv2710), vyv273, vyv272) -> new_primQuotInt(vyv2710, new_gcd(vyv273, vyv272)) 214.29/145.92 new_quot(Neg(vyv2710), vyv273, vyv272) -> new_primQuotInt0(vyv2710, new_gcd(vyv273, vyv272)) 214.29/145.92 new_gcd(vyv273, vyv272) -> new_gcd2(new_esEs(vyv273), vyv273, vyv272) 214.29/145.92 new_primQuotInt0(vyv2710, Pos(Succ(vyv28800))) -> Neg(new_primDivNatS1(vyv2710, vyv28800)) 214.29/145.92 new_primQuotInt0(vyv2710, Neg(Zero)) -> new_error 214.29/145.92 new_primQuotInt0(vyv2710, Neg(Succ(vyv28800))) -> Pos(new_primDivNatS1(vyv2710, vyv28800)) 214.29/145.92 new_primQuotInt0(vyv2710, Pos(Zero)) -> new_error 214.29/145.92 new_error -> error([]) 214.29/145.92 new_primDivNatS1(Zero, vyv28500) -> Zero 214.29/145.92 new_primDivNatS1(Succ(Succ(vyv271000)), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS0(vyv271000), Zero)) 214.29/145.92 new_primDivNatS1(Succ(Zero), Succ(vyv285000)) -> Zero 214.29/145.92 new_primDivNatS1(Succ(Succ(vyv271000)), Succ(vyv285000)) -> new_primDivNatS01(vyv271000, vyv285000, vyv271000, vyv285000) 214.29/145.92 new_primDivNatS1(Succ(Zero), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS1, Zero)) 214.29/145.92 new_primMinusNatS1 -> Zero 214.29/145.92 new_primDivNatS01(vyv311, vyv312, Succ(vyv3130), Zero) -> new_primDivNatS02(vyv311, vyv312) 214.29/145.92 new_primDivNatS01(vyv311, vyv312, Zero, Succ(vyv3140)) -> Zero 214.29/145.92 new_primDivNatS01(vyv311, vyv312, Succ(vyv3130), Succ(vyv3140)) -> new_primDivNatS01(vyv311, vyv312, vyv3130, vyv3140) 214.29/145.92 new_primDivNatS01(vyv311, vyv312, Zero, Zero) -> new_primDivNatS02(vyv311, vyv312) 214.29/145.92 new_primDivNatS02(vyv311, vyv312) -> Succ(new_primDivNatS1(new_primMinusNatS2(vyv311, vyv312), Succ(vyv312))) 214.29/145.92 new_primMinusNatS2(Zero, Succ(vyv3120)) -> Zero 214.29/145.92 new_primMinusNatS2(Succ(vyv3110), Zero) -> Succ(vyv3110) 214.29/145.92 new_primMinusNatS2(Zero, Zero) -> Zero 214.29/145.92 new_primMinusNatS2(Succ(vyv3110), Succ(vyv3120)) -> new_primMinusNatS2(vyv3110, vyv3120) 214.29/145.92 new_primMinusNatS0(vyv271000) -> Succ(vyv271000) 214.29/145.92 new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) 214.29/145.92 new_esEs(Pos(Succ(vyv24300))) -> new_primEqInt(Pos(Succ(vyv24300))) 214.29/145.92 new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) 214.29/145.92 new_esEs(Neg(Succ(vyv24300))) -> new_primEqInt(Neg(Succ(vyv24300))) 214.29/145.92 new_gcd2(True, vyv273, vyv272) -> new_gcd1(new_esEs(vyv272), vyv273, vyv272) 214.29/145.92 new_gcd2(False, vyv273, vyv272) -> new_gcd0(vyv273, vyv272) 214.29/145.92 new_gcd0(vyv273, vyv272) -> new_gcd0Gcd'11(new_esEs(new_abs(vyv272)), vyv273, vyv272) 214.29/145.92 new_abs(Neg(Zero)) -> Neg(Zero) 214.29/145.92 new_abs(Neg(Succ(vyv27200))) -> Pos(Succ(vyv27200)) 214.29/145.92 new_abs(Pos(Succ(vyv27200))) -> Pos(Succ(vyv27200)) 214.29/145.92 new_abs(Pos(Zero)) -> Pos(Zero) 214.29/145.92 new_gcd0Gcd'11(True, vyv273, vyv272) -> new_abs(vyv273) 214.29/145.92 new_gcd0Gcd'11(False, vyv273, vyv272) -> new_gcd0Gcd'00(new_abs(vyv273), new_abs(vyv272)) 214.29/145.92 new_gcd0Gcd'10(False, vyv292, vyv293) -> new_gcd0Gcd'00(vyv292, new_rem(vyv293, vyv292)) 214.29/145.92 new_gcd0Gcd'00(vyv293, vyv292) -> new_gcd0Gcd'10(new_esEs(new_rem(vyv293, vyv292)), vyv292, vyv293) 214.29/145.92 new_rem(Pos(vyv2930), Neg(Zero)) -> new_error 214.29/145.92 new_rem(Neg(vyv2930), Pos(Zero)) -> new_error 214.29/145.92 new_rem(Pos(vyv2930), Neg(Succ(vyv29200))) -> Pos(new_primModNatS1(vyv2930, vyv29200)) 214.29/145.92 new_rem(Neg(vyv2930), Pos(Succ(vyv29200))) -> Neg(new_primModNatS1(vyv2930, vyv29200)) 214.29/145.92 new_rem(Pos(vyv2930), Pos(Succ(vyv29200))) -> Pos(new_primModNatS1(vyv2930, vyv29200)) 214.29/145.92 new_rem(Neg(vyv2930), Neg(Zero)) -> new_error 214.29/145.92 new_rem(Neg(vyv2930), Neg(Succ(vyv29200))) -> Neg(new_primModNatS1(vyv2930, vyv29200)) 214.29/145.92 new_rem(Pos(vyv2930), Pos(Zero)) -> new_error 214.29/145.92 new_gcd0Gcd'10(True, vyv292, vyv293) -> vyv292 214.29/145.92 new_primModNatS1(Succ(Zero), Succ(vyv292000)) -> Succ(Zero) 214.29/145.92 new_primModNatS1(Zero, vyv29200) -> Zero 214.29/145.92 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 214.29/145.92 new_primModNatS1(Succ(Succ(vyv293000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv293000), Zero) 214.29/145.92 new_primModNatS1(Succ(Succ(vyv293000)), Succ(vyv292000)) -> new_primModNatS01(vyv293000, vyv292000, vyv293000, vyv292000) 214.29/145.92 new_primModNatS01(vyv331, vyv332, Zero, Zero) -> new_primModNatS02(vyv331, vyv332) 214.29/145.92 new_primModNatS02(vyv331, vyv332) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv331), Succ(vyv332)), Succ(vyv332)) 214.29/145.92 new_primModNatS01(vyv331, vyv332, Succ(vyv3330), Zero) -> new_primModNatS02(vyv331, vyv332) 214.29/145.92 new_primModNatS01(vyv331, vyv332, Succ(vyv3330), Succ(vyv3340)) -> new_primModNatS01(vyv331, vyv332, vyv3330, vyv3340) 214.29/145.92 new_primModNatS01(vyv331, vyv332, Zero, Succ(vyv3340)) -> Succ(Succ(vyv331)) 214.29/145.92 new_gcd1(True, vyv273, vyv272) -> new_error 214.29/145.92 new_gcd1(False, vyv273, vyv272) -> new_gcd0(vyv273, vyv272) 214.29/145.92 new_primEqInt(Neg(Succ(vyv242000))) -> False 214.29/145.92 new_primEqInt(Pos(Zero)) -> True 214.29/145.92 new_primEqInt(Pos(Succ(vyv242000))) -> False 214.29/145.92 new_primEqInt(Neg(Zero)) -> True 214.29/145.92 new_primQuotInt(vyv2710, Pos(Succ(vyv28500))) -> Pos(new_primDivNatS1(vyv2710, vyv28500)) 214.29/145.92 new_primQuotInt(vyv2710, Neg(Zero)) -> new_error 214.29/145.92 new_primQuotInt(vyv2710, Pos(Zero)) -> new_error 214.29/145.92 new_primQuotInt(vyv2710, Neg(Succ(vyv28500))) -> Neg(new_primDivNatS1(vyv2710, vyv28500)) 214.29/145.92 new_primMulNat0(Zero, Succ(vyv23900)) -> Zero 214.29/145.92 new_primMulNat0(Succ(vyv24000), Succ(vyv23900)) -> new_primPlusNat0(new_primMulNat0(vyv24000, Succ(vyv23900)), Succ(vyv23900)) 214.29/145.92 new_primMulNat0(Succ(vyv24000), Zero) -> Zero 214.29/145.92 new_primMulNat0(Zero, Zero) -> Zero 214.29/145.92 new_primPlusNat0(Succ(vyv4000), Succ(vyv6000)) -> Succ(Succ(new_primPlusNat0(vyv4000, vyv6000))) 214.29/145.92 new_primPlusNat0(Zero, Succ(vyv6000)) -> Succ(vyv6000) 214.29/145.92 new_primPlusNat0(Zero, Zero) -> Zero 214.29/145.92 new_primPlusNat0(Succ(vyv4000), Zero) -> Succ(vyv4000) 214.29/145.92 new_esEs1(Integer(vyv2700)) -> new_primEqInt(vyv2700) 214.29/145.92 new_sr7(Pos(vyv1840)) -> Pos(new_primMulNat1(vyv1840)) 214.29/145.92 new_sr7(Neg(vyv1840)) -> Pos(new_primMulNat1(vyv1840)) 214.29/145.92 new_primMulNat1(Succ(vyv18400)) -> new_primPlusNat0(new_primMulNat2(vyv18400), Succ(vyv18400)) 214.29/145.92 new_primMulNat1(Zero) -> Zero 214.29/145.92 new_primMulNat2(Succ(vyv184000)) -> new_primPlusNat0(new_primMulNat3(vyv184000), Succ(Succ(vyv184000))) 214.29/145.92 new_primMulNat2(Zero) -> Zero 214.29/145.92 new_primMulNat3(Succ(vyv1840000)) -> new_primPlusNat0(new_primMulNat4(vyv1840000), Succ(Succ(Succ(vyv1840000)))) 214.29/145.92 new_primMulNat3(Zero) -> Zero 214.29/145.92 new_primMulNat4(Succ(vyv18400000)) -> new_primPlusNat0(new_primMulNat0(vyv18400000, Succ(Succ(Succ(Succ(vyv18400000))))), Succ(Succ(Succ(Succ(vyv18400000))))) 214.29/145.92 new_primMulNat4(Zero) -> Zero 214.29/145.92 new_sr12(vyv184) -> error([]) 214.29/145.92 new_sr11(vyv184) -> error([]) 214.29/145.92 214.29/145.92 The set Q consists of the following terms: 214.29/145.92 214.29/145.92 new_sr13(x0, x1) 214.29/145.92 new_primDivNatS01(x0, x1, Zero, Zero) 214.29/145.92 new_gcd0Gcd'11(False, x0, x1) 214.29/145.92 new_primMulNat4(Zero) 214.29/145.92 new_gcd0Gcd'11(True, x0, x1) 214.29/145.92 new_sr2(x0, x1, ty_Float) 214.29/145.92 new_sr5(:%(x0, x1), x2) 214.29/145.92 new_primEqInt(Pos(Zero)) 214.29/145.92 new_ms(x0, Neg(x1)) 214.29/145.92 new_sr2(x0, x1, ty_Double) 214.29/145.92 new_esEs(Pos(Succ(x0))) 214.29/145.92 new_primQuotInt0(x0, Neg(Zero)) 214.29/145.92 new_primMulNat3(Zero) 214.29/145.92 new_primModNatS02(x0, x1) 214.29/145.92 new_sr(x0, ty_Double) 214.29/145.92 new_sr0(x0, ty_Double) 214.29/145.92 new_primDivNatS1(Succ(Zero), Zero) 214.29/145.92 new_primMinusNatS0(x0) 214.29/145.92 new_sr11(x0) 214.29/145.92 new_sr0(x0, app(ty_Ratio, x1)) 214.29/145.92 new_rem(Pos(x0), Neg(Succ(x1))) 214.29/145.92 new_rem(Neg(x0), Pos(Succ(x1))) 214.29/145.92 new_primMulNat0(Zero, Zero) 214.29/145.92 new_primPlusNat0(Succ(x0), Zero) 214.29/145.92 new_primMulNat0(Succ(x0), Zero) 214.29/145.92 new_sr3(x0, ty_Float) 214.29/145.92 new_primMulNat2(Zero) 214.29/145.92 new_primQuotInt(x0, Pos(Zero)) 214.29/145.92 new_primMulNat2(Succ(x0)) 214.29/145.92 new_primQuotInt(x0, Neg(Zero)) 214.29/145.92 new_rem(Neg(x0), Neg(Succ(x1))) 214.29/145.92 new_primMinusNatS2(Zero, Succ(x0)) 214.29/145.92 new_sr(x0, ty_Int) 214.29/145.92 new_sr4(x0, x1, ty_Double) 214.29/145.92 new_primMulNat3(Succ(x0)) 214.29/145.92 new_sr0(x0, ty_Float) 214.29/145.92 new_esEs1(Integer(x0)) 214.29/145.92 new_primQuotInt0(x0, Pos(Zero)) 214.29/145.92 new_gcd2(True, x0, x1) 214.29/145.92 new_quot1(x0, x1, x2, x3, ty_Int) 214.29/145.92 new_primDivNatS1(Zero, x0) 214.29/145.92 new_primMinusNat0(Zero, Zero) 214.29/145.92 new_gcd(x0, x1) 214.29/145.92 new_gcd1(False, x0, x1) 214.29/145.92 new_esEs2(x0, x1, ty_Int) 214.29/145.92 new_sr3(x0, ty_Integer) 214.29/145.92 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 214.29/145.92 new_sr1(x0, app(ty_Ratio, x1)) 214.29/145.92 new_sr1(x0, ty_Float) 214.29/145.92 new_primPlusNat0(Zero, Succ(x0)) 214.29/145.92 new_sr8(:%(x0, x1), :%(x2, x3), x4) 214.29/145.92 new_abs(Neg(Zero)) 214.29/145.92 new_primMinusNatS2(Succ(x0), Zero) 214.29/145.92 new_error 214.29/145.92 new_primModNatS1(Succ(Zero), Zero) 214.29/145.92 new_primMulNat4(Succ(x0)) 214.29/145.92 new_sr1(x0, ty_Integer) 214.29/145.92 new_primDivNatS02(x0, x1) 214.29/145.92 new_sr1(x0, ty_Int) 214.29/145.92 new_rem(Neg(x0), Neg(Zero)) 214.29/145.92 new_primMinusNat0(Zero, Succ(x0)) 214.29/145.92 new_primEqInt(Neg(Zero)) 214.29/145.92 new_rem(Pos(x0), Pos(Succ(x1))) 214.29/145.92 new_abs(Pos(Succ(x0))) 214.29/145.92 new_primMulNat0(Succ(x0), Succ(x1)) 214.29/145.92 new_primMulNat0(Zero, Succ(x0)) 214.29/145.93 new_reduce2Reduce1(x0, x1, x2, x3, True, x4) 214.29/145.93 new_sr(x0, ty_Float) 214.29/145.93 new_gcd0Gcd'10(False, x0, x1) 214.29/145.93 new_sr12(x0) 214.29/145.93 new_primDivNatS01(x0, x1, Zero, Succ(x2)) 214.29/145.93 new_sr10(Pos(x0), Pos(x1)) 214.29/145.93 new_primModNatS01(x0, x1, Zero, Succ(x2)) 214.29/145.93 new_primPlusNat0(Zero, Zero) 214.29/145.93 new_sr(x0, ty_Integer) 214.29/145.93 new_primQuotInt0(x0, Pos(Succ(x1))) 214.29/145.93 new_primModNatS01(x0, x1, Succ(x2), Zero) 214.29/145.93 new_ms(x0, Pos(Succ(x1))) 214.29/145.93 new_primModNatS1(Succ(Succ(x0)), Zero) 214.29/145.93 new_sr4(x0, x1, ty_Integer) 214.29/145.93 new_rem(Pos(x0), Pos(Zero)) 214.29/145.93 new_sr4(x0, x1, ty_Int) 214.29/145.93 new_ms0(x0, Neg(Succ(x1))) 214.29/145.93 new_quot(Pos(x0), x1, x2) 214.29/145.93 new_primMinusNatS2(Zero, Zero) 214.29/145.93 new_esEs0(x0, ty_Int) 214.29/145.93 new_primMinusNat0(Succ(x0), Zero) 214.29/145.93 new_ms0(x0, Pos(x1)) 214.29/145.93 new_esEs(Pos(Zero)) 214.29/145.93 new_quot(Neg(x0), x1, x2) 214.29/145.93 new_primDivNatS01(x0, x1, Succ(x2), Succ(x3)) 214.29/145.93 new_quot2(x0, x1, x2) 214.29/145.93 new_primEqInt(Neg(Succ(x0))) 214.29/145.93 new_sr10(Neg(x0), Neg(x1)) 214.29/145.93 new_sr3(x0, app(ty_Ratio, x1)) 214.29/145.93 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 214.29/145.93 new_sr9(x0, x1) 214.29/145.93 new_sr2(x0, x1, ty_Integer) 214.29/145.93 new_sr7(Neg(x0)) 214.29/145.93 new_sr1(x0, ty_Double) 214.29/145.93 new_primQuotInt0(x0, Neg(Succ(x1))) 214.29/145.93 new_sr0(x0, ty_Integer) 214.29/145.93 new_rem(Pos(x0), Neg(Zero)) 214.29/145.93 new_rem(Neg(x0), Pos(Zero)) 214.29/145.93 new_gcd0Gcd'00(x0, x1) 214.29/145.93 new_primQuotInt(x0, Neg(Succ(x1))) 214.29/145.93 new_primMinusNatS2(Succ(x0), Succ(x1)) 214.29/145.93 new_ms(x0, Pos(Zero)) 214.29/145.93 new_abs(Pos(Zero)) 214.29/145.93 new_primMinusNat0(Succ(x0), Succ(x1)) 214.29/145.93 new_quot0(x0, x1, x2, x3, ty_Integer) 214.29/145.93 new_sr0(x0, ty_Int) 214.29/145.93 new_sr6(x0) 214.29/145.93 new_gcd2(False, x0, x1) 214.29/145.93 new_gcd1(True, x0, x1) 214.29/145.93 new_esEs2(x0, x1, ty_Integer) 214.29/145.93 new_primMinusNatS1 214.29/145.93 new_sr7(Pos(x0)) 214.29/145.93 new_gcd0Gcd'10(True, x0, x1) 214.29/145.93 new_primModNatS1(Zero, x0) 214.29/145.93 new_sr4(x0, x1, ty_Float) 214.29/145.93 new_sr10(Pos(x0), Neg(x1)) 214.29/145.93 new_sr10(Neg(x0), Pos(x1)) 214.29/145.93 new_primDivNatS01(x0, x1, Succ(x2), Zero) 214.29/145.93 new_primDivNatS1(Succ(Succ(x0)), Succ(x1)) 214.29/145.93 new_primPlusNat0(Succ(x0), Succ(x1)) 214.29/145.93 new_primDivNatS1(Succ(Zero), Succ(x0)) 214.29/145.93 new_primQuotInt(x0, Pos(Succ(x1))) 214.29/145.93 new_sr2(x0, x1, app(ty_Ratio, x2)) 214.29/145.93 new_abs(Neg(Succ(x0))) 214.29/145.93 new_esEs0(x0, ty_Integer) 214.29/145.93 new_sr3(x0, ty_Int) 214.29/145.93 new_esEs(Neg(Succ(x0))) 214.29/145.93 new_sr(x0, app(ty_Ratio, x1)) 214.29/145.93 new_ms0(x0, Neg(Zero)) 214.29/145.93 new_primModNatS01(x0, x1, Zero, Zero) 214.29/145.93 new_sr4(x0, x1, app(ty_Ratio, x2)) 214.29/145.93 new_gcd0(x0, x1) 214.29/145.93 new_primEqInt(Pos(Succ(x0))) 214.29/145.93 new_sr3(x0, ty_Double) 214.29/145.93 new_quot1(x0, x1, x2, x3, ty_Integer) 214.29/145.93 new_primDivNatS1(Succ(Succ(x0)), Zero) 214.29/145.93 new_primMulNat1(Succ(x0)) 214.29/145.93 new_sr14(x0, x1) 214.29/145.93 new_quot0(x0, x1, x2, x3, ty_Int) 214.29/145.93 new_sr2(x0, x1, ty_Int) 214.29/145.93 new_primModNatS1(Succ(Zero), Succ(x0)) 214.29/145.93 new_reduce2Reduce1(x0, x1, x2, x3, False, x4) 214.29/145.93 new_esEs(Neg(Zero)) 214.29/145.93 new_primMulNat1(Zero) 214.29/145.93 214.29/145.93 We have to consider all minimal (P,Q,R)-chains. 214.29/145.93 ---------------------------------------- 214.29/145.93 214.29/145.93 (737) QReductionProof (EQUIVALENT) 214.29/145.93 We deleted the following terms from Q as each root-symbol of these terms does neither occur in P nor in R.[THIEMANN]. 214.29/145.93 214.29/145.93 new_sr13(x0, x1) 214.29/145.93 new_sr2(x0, x1, ty_Float) 214.29/145.93 new_ms(x0, Neg(x1)) 214.29/145.93 new_sr2(x0, x1, ty_Double) 214.29/145.93 new_sr(x0, ty_Double) 214.29/145.93 new_sr3(x0, ty_Float) 214.29/145.93 new_sr(x0, ty_Int) 214.29/145.93 new_sr4(x0, x1, ty_Double) 214.29/145.93 new_primMinusNat0(Zero, Zero) 214.29/145.93 new_esEs2(x0, x1, ty_Int) 214.29/145.93 new_sr3(x0, ty_Integer) 214.29/145.93 new_sr1(x0, app(ty_Ratio, x1)) 214.29/145.93 new_sr1(x0, ty_Float) 214.29/145.93 new_sr8(:%(x0, x1), :%(x2, x3), x4) 214.29/145.93 new_sr1(x0, ty_Integer) 214.29/145.93 new_sr1(x0, ty_Int) 214.29/145.93 new_primMinusNat0(Zero, Succ(x0)) 214.29/145.93 new_sr(x0, ty_Float) 214.29/145.93 new_sr(x0, ty_Integer) 214.29/145.93 new_ms(x0, Pos(Succ(x1))) 214.29/145.93 new_sr4(x0, x1, ty_Integer) 214.29/145.93 new_sr4(x0, x1, ty_Int) 214.29/145.93 new_ms0(x0, Neg(Succ(x1))) 214.29/145.93 new_primMinusNat0(Succ(x0), Zero) 214.29/145.93 new_ms0(x0, Pos(x1)) 214.29/145.93 new_sr3(x0, app(ty_Ratio, x1)) 214.29/145.93 new_sr2(x0, x1, ty_Integer) 214.29/145.93 new_sr1(x0, ty_Double) 214.29/145.93 new_ms(x0, Pos(Zero)) 214.29/145.93 new_primMinusNat0(Succ(x0), Succ(x1)) 214.29/145.93 new_esEs2(x0, x1, ty_Integer) 214.29/145.93 new_sr4(x0, x1, ty_Float) 214.29/145.93 new_sr2(x0, x1, app(ty_Ratio, x2)) 214.29/145.93 new_sr3(x0, ty_Int) 214.29/145.93 new_sr(x0, app(ty_Ratio, x1)) 214.29/145.93 new_ms0(x0, Neg(Zero)) 214.29/145.93 new_sr4(x0, x1, app(ty_Ratio, x2)) 214.29/145.93 new_sr3(x0, ty_Double) 214.29/145.93 new_sr14(x0, x1) 214.29/145.93 new_sr2(x0, x1, ty_Int) 214.33/145.93 214.33/145.93 214.33/145.93 ---------------------------------------- 214.33/145.93 214.33/145.93 (738) 214.33/145.93 Obligation: 214.33/145.93 Q DP problem: 214.33/145.93 The TRS P consists of the following rules: 214.33/145.93 214.33/145.93 new_pr2F0G(vyv188, vyv184, Neg(Zero), h) -> new_pr2F0G(vyv188, new_sr0(vyv184, h), Neg(Zero), h) 214.33/145.93 214.33/145.93 The TRS R consists of the following rules: 214.33/145.93 214.33/145.93 new_sr0(vyv184, ty_Double) -> new_sr11(vyv184) 214.33/145.93 new_sr0(vyv184, ty_Float) -> new_sr12(vyv184) 214.33/145.93 new_sr0(vyv184, ty_Int) -> new_sr7(vyv184) 214.33/145.93 new_sr0(vyv184, app(ty_Ratio, bd)) -> new_sr5(vyv184, bd) 214.33/145.93 new_sr0(vyv184, ty_Integer) -> new_sr6(vyv184) 214.33/145.93 new_sr6(vyv184) -> error([]) 214.33/145.93 new_sr5(:%(vyv1840, vyv1841), bd) -> new_reduce2Reduce1(vyv1840, vyv1840, vyv1841, vyv1841, new_esEs0(vyv1841, bd), bd) 214.33/145.93 new_esEs0(vyv1841, ty_Int) -> new_esEs(new_sr7(vyv1841)) 214.33/145.93 new_esEs0(vyv1841, ty_Integer) -> new_esEs1(new_sr6(vyv1841)) 214.33/145.93 new_reduce2Reduce1(vyv265, vyv266, vyv267, vyv268, False, bh) -> :%(new_quot0(vyv265, vyv266, vyv267, vyv268, bh), new_quot1(vyv267, vyv268, vyv265, vyv266, bh)) 214.33/145.93 new_reduce2Reduce1(vyv265, vyv266, vyv267, vyv268, True, bh) -> error([]) 214.33/145.93 new_quot0(vyv265, vyv266, vyv267, vyv268, ty_Integer) -> new_quot2(new_sr9(vyv265, vyv266), new_sr9(vyv265, vyv266), new_sr9(vyv267, vyv268)) 214.33/145.93 new_quot0(vyv265, vyv266, vyv267, vyv268, ty_Int) -> new_quot(new_sr10(vyv265, vyv266), new_sr10(vyv265, vyv266), new_sr10(vyv267, vyv268)) 214.33/145.93 new_quot1(vyv267, vyv268, vyv265, vyv266, ty_Int) -> new_quot(new_sr10(vyv267, vyv268), new_sr10(vyv265, vyv266), new_sr10(vyv267, vyv268)) 214.33/145.93 new_quot1(vyv267, vyv268, vyv265, vyv266, ty_Integer) -> new_quot2(new_sr9(vyv267, vyv268), new_sr9(vyv265, vyv266), new_sr9(vyv267, vyv268)) 214.33/145.93 new_sr9(vyv240, vyv239) -> error([]) 214.33/145.93 new_quot2(vyv274, vyv276, vyv275) -> error([]) 214.33/145.93 new_sr10(Pos(vyv2400), Pos(vyv2390)) -> Pos(new_primMulNat0(vyv2400, vyv2390)) 214.33/145.93 new_sr10(Neg(vyv2400), Neg(vyv2390)) -> Pos(new_primMulNat0(vyv2400, vyv2390)) 214.33/145.93 new_sr10(Pos(vyv2400), Neg(vyv2390)) -> Neg(new_primMulNat0(vyv2400, vyv2390)) 214.33/145.93 new_sr10(Neg(vyv2400), Pos(vyv2390)) -> Neg(new_primMulNat0(vyv2400, vyv2390)) 214.33/145.93 new_quot(Pos(vyv2710), vyv273, vyv272) -> new_primQuotInt(vyv2710, new_gcd(vyv273, vyv272)) 214.33/145.93 new_quot(Neg(vyv2710), vyv273, vyv272) -> new_primQuotInt0(vyv2710, new_gcd(vyv273, vyv272)) 214.33/145.93 new_gcd(vyv273, vyv272) -> new_gcd2(new_esEs(vyv273), vyv273, vyv272) 214.33/145.93 new_primQuotInt0(vyv2710, Pos(Succ(vyv28800))) -> Neg(new_primDivNatS1(vyv2710, vyv28800)) 214.33/145.93 new_primQuotInt0(vyv2710, Neg(Zero)) -> new_error 214.33/145.93 new_primQuotInt0(vyv2710, Neg(Succ(vyv28800))) -> Pos(new_primDivNatS1(vyv2710, vyv28800)) 214.33/145.93 new_primQuotInt0(vyv2710, Pos(Zero)) -> new_error 214.33/145.93 new_error -> error([]) 214.33/145.93 new_primDivNatS1(Zero, vyv28500) -> Zero 214.33/145.93 new_primDivNatS1(Succ(Succ(vyv271000)), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS0(vyv271000), Zero)) 214.33/145.93 new_primDivNatS1(Succ(Zero), Succ(vyv285000)) -> Zero 214.33/145.93 new_primDivNatS1(Succ(Succ(vyv271000)), Succ(vyv285000)) -> new_primDivNatS01(vyv271000, vyv285000, vyv271000, vyv285000) 214.33/145.93 new_primDivNatS1(Succ(Zero), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS1, Zero)) 214.33/145.93 new_primMinusNatS1 -> Zero 214.33/145.93 new_primDivNatS01(vyv311, vyv312, Succ(vyv3130), Zero) -> new_primDivNatS02(vyv311, vyv312) 214.33/145.93 new_primDivNatS01(vyv311, vyv312, Zero, Succ(vyv3140)) -> Zero 214.33/145.93 new_primDivNatS01(vyv311, vyv312, Succ(vyv3130), Succ(vyv3140)) -> new_primDivNatS01(vyv311, vyv312, vyv3130, vyv3140) 214.33/145.93 new_primDivNatS01(vyv311, vyv312, Zero, Zero) -> new_primDivNatS02(vyv311, vyv312) 214.33/145.93 new_primDivNatS02(vyv311, vyv312) -> Succ(new_primDivNatS1(new_primMinusNatS2(vyv311, vyv312), Succ(vyv312))) 214.33/145.93 new_primMinusNatS2(Zero, Succ(vyv3120)) -> Zero 214.33/145.93 new_primMinusNatS2(Succ(vyv3110), Zero) -> Succ(vyv3110) 214.33/145.93 new_primMinusNatS2(Zero, Zero) -> Zero 214.33/145.93 new_primMinusNatS2(Succ(vyv3110), Succ(vyv3120)) -> new_primMinusNatS2(vyv3110, vyv3120) 214.33/145.93 new_primMinusNatS0(vyv271000) -> Succ(vyv271000) 214.33/145.93 new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) 214.33/145.93 new_esEs(Pos(Succ(vyv24300))) -> new_primEqInt(Pos(Succ(vyv24300))) 214.33/145.93 new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) 214.33/145.93 new_esEs(Neg(Succ(vyv24300))) -> new_primEqInt(Neg(Succ(vyv24300))) 214.33/145.93 new_gcd2(True, vyv273, vyv272) -> new_gcd1(new_esEs(vyv272), vyv273, vyv272) 214.33/145.93 new_gcd2(False, vyv273, vyv272) -> new_gcd0(vyv273, vyv272) 214.33/145.93 new_gcd0(vyv273, vyv272) -> new_gcd0Gcd'11(new_esEs(new_abs(vyv272)), vyv273, vyv272) 214.33/145.93 new_abs(Neg(Zero)) -> Neg(Zero) 214.33/145.93 new_abs(Neg(Succ(vyv27200))) -> Pos(Succ(vyv27200)) 214.33/145.93 new_abs(Pos(Succ(vyv27200))) -> Pos(Succ(vyv27200)) 214.33/145.93 new_abs(Pos(Zero)) -> Pos(Zero) 214.33/145.93 new_gcd0Gcd'11(True, vyv273, vyv272) -> new_abs(vyv273) 214.33/145.93 new_gcd0Gcd'11(False, vyv273, vyv272) -> new_gcd0Gcd'00(new_abs(vyv273), new_abs(vyv272)) 214.33/145.93 new_gcd0Gcd'10(False, vyv292, vyv293) -> new_gcd0Gcd'00(vyv292, new_rem(vyv293, vyv292)) 214.33/145.93 new_gcd0Gcd'00(vyv293, vyv292) -> new_gcd0Gcd'10(new_esEs(new_rem(vyv293, vyv292)), vyv292, vyv293) 214.33/145.93 new_rem(Pos(vyv2930), Neg(Zero)) -> new_error 214.33/145.93 new_rem(Neg(vyv2930), Pos(Zero)) -> new_error 214.33/145.93 new_rem(Pos(vyv2930), Neg(Succ(vyv29200))) -> Pos(new_primModNatS1(vyv2930, vyv29200)) 214.33/145.93 new_rem(Neg(vyv2930), Pos(Succ(vyv29200))) -> Neg(new_primModNatS1(vyv2930, vyv29200)) 214.33/145.93 new_rem(Pos(vyv2930), Pos(Succ(vyv29200))) -> Pos(new_primModNatS1(vyv2930, vyv29200)) 214.33/145.93 new_rem(Neg(vyv2930), Neg(Zero)) -> new_error 214.33/145.93 new_rem(Neg(vyv2930), Neg(Succ(vyv29200))) -> Neg(new_primModNatS1(vyv2930, vyv29200)) 214.33/145.93 new_rem(Pos(vyv2930), Pos(Zero)) -> new_error 214.33/145.93 new_gcd0Gcd'10(True, vyv292, vyv293) -> vyv292 214.33/145.93 new_primModNatS1(Succ(Zero), Succ(vyv292000)) -> Succ(Zero) 214.33/145.93 new_primModNatS1(Zero, vyv29200) -> Zero 214.33/145.93 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 214.33/145.93 new_primModNatS1(Succ(Succ(vyv293000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv293000), Zero) 214.33/145.93 new_primModNatS1(Succ(Succ(vyv293000)), Succ(vyv292000)) -> new_primModNatS01(vyv293000, vyv292000, vyv293000, vyv292000) 214.33/145.93 new_primModNatS01(vyv331, vyv332, Zero, Zero) -> new_primModNatS02(vyv331, vyv332) 214.33/145.93 new_primModNatS02(vyv331, vyv332) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv331), Succ(vyv332)), Succ(vyv332)) 214.33/145.93 new_primModNatS01(vyv331, vyv332, Succ(vyv3330), Zero) -> new_primModNatS02(vyv331, vyv332) 214.33/145.93 new_primModNatS01(vyv331, vyv332, Succ(vyv3330), Succ(vyv3340)) -> new_primModNatS01(vyv331, vyv332, vyv3330, vyv3340) 214.33/145.93 new_primModNatS01(vyv331, vyv332, Zero, Succ(vyv3340)) -> Succ(Succ(vyv331)) 214.33/145.93 new_gcd1(True, vyv273, vyv272) -> new_error 214.33/145.93 new_gcd1(False, vyv273, vyv272) -> new_gcd0(vyv273, vyv272) 214.33/145.93 new_primEqInt(Neg(Succ(vyv242000))) -> False 214.33/145.93 new_primEqInt(Pos(Zero)) -> True 214.33/145.93 new_primEqInt(Pos(Succ(vyv242000))) -> False 214.33/145.93 new_primEqInt(Neg(Zero)) -> True 214.33/145.93 new_primQuotInt(vyv2710, Pos(Succ(vyv28500))) -> Pos(new_primDivNatS1(vyv2710, vyv28500)) 214.33/145.93 new_primQuotInt(vyv2710, Neg(Zero)) -> new_error 214.33/145.93 new_primQuotInt(vyv2710, Pos(Zero)) -> new_error 214.33/145.93 new_primQuotInt(vyv2710, Neg(Succ(vyv28500))) -> Neg(new_primDivNatS1(vyv2710, vyv28500)) 214.33/145.93 new_primMulNat0(Zero, Succ(vyv23900)) -> Zero 214.33/145.93 new_primMulNat0(Succ(vyv24000), Succ(vyv23900)) -> new_primPlusNat0(new_primMulNat0(vyv24000, Succ(vyv23900)), Succ(vyv23900)) 214.33/145.93 new_primMulNat0(Succ(vyv24000), Zero) -> Zero 214.33/145.93 new_primMulNat0(Zero, Zero) -> Zero 214.33/145.93 new_primPlusNat0(Succ(vyv4000), Succ(vyv6000)) -> Succ(Succ(new_primPlusNat0(vyv4000, vyv6000))) 214.33/145.93 new_primPlusNat0(Zero, Succ(vyv6000)) -> Succ(vyv6000) 214.33/145.93 new_primPlusNat0(Zero, Zero) -> Zero 214.33/145.93 new_primPlusNat0(Succ(vyv4000), Zero) -> Succ(vyv4000) 214.33/145.93 new_esEs1(Integer(vyv2700)) -> new_primEqInt(vyv2700) 214.33/145.93 new_sr7(Pos(vyv1840)) -> Pos(new_primMulNat1(vyv1840)) 214.33/145.93 new_sr7(Neg(vyv1840)) -> Pos(new_primMulNat1(vyv1840)) 214.33/145.93 new_primMulNat1(Succ(vyv18400)) -> new_primPlusNat0(new_primMulNat2(vyv18400), Succ(vyv18400)) 214.33/145.93 new_primMulNat1(Zero) -> Zero 214.33/145.93 new_primMulNat2(Succ(vyv184000)) -> new_primPlusNat0(new_primMulNat3(vyv184000), Succ(Succ(vyv184000))) 214.33/145.93 new_primMulNat2(Zero) -> Zero 214.33/145.93 new_primMulNat3(Succ(vyv1840000)) -> new_primPlusNat0(new_primMulNat4(vyv1840000), Succ(Succ(Succ(vyv1840000)))) 214.33/145.93 new_primMulNat3(Zero) -> Zero 214.33/145.93 new_primMulNat4(Succ(vyv18400000)) -> new_primPlusNat0(new_primMulNat0(vyv18400000, Succ(Succ(Succ(Succ(vyv18400000))))), Succ(Succ(Succ(Succ(vyv18400000))))) 214.33/145.93 new_primMulNat4(Zero) -> Zero 214.33/145.93 new_sr12(vyv184) -> error([]) 214.33/145.93 new_sr11(vyv184) -> error([]) 214.33/145.93 214.33/145.93 The set Q consists of the following terms: 214.33/145.93 214.33/145.93 new_primDivNatS01(x0, x1, Zero, Zero) 214.33/145.93 new_gcd0Gcd'11(False, x0, x1) 214.33/145.93 new_primMulNat4(Zero) 214.33/145.93 new_gcd0Gcd'11(True, x0, x1) 214.33/145.93 new_sr5(:%(x0, x1), x2) 214.33/145.93 new_primEqInt(Pos(Zero)) 214.33/145.93 new_esEs(Pos(Succ(x0))) 214.33/145.93 new_primQuotInt0(x0, Neg(Zero)) 214.33/145.93 new_primMulNat3(Zero) 214.33/145.93 new_primModNatS02(x0, x1) 214.33/145.93 new_sr0(x0, ty_Double) 214.33/145.93 new_primDivNatS1(Succ(Zero), Zero) 214.33/145.93 new_primMinusNatS0(x0) 214.33/145.93 new_sr11(x0) 214.33/145.93 new_sr0(x0, app(ty_Ratio, x1)) 214.33/145.93 new_rem(Pos(x0), Neg(Succ(x1))) 214.33/145.93 new_rem(Neg(x0), Pos(Succ(x1))) 214.33/145.93 new_primMulNat0(Zero, Zero) 214.33/145.93 new_primPlusNat0(Succ(x0), Zero) 214.33/145.93 new_primMulNat0(Succ(x0), Zero) 214.33/145.93 new_primMulNat2(Zero) 214.33/145.93 new_primQuotInt(x0, Pos(Zero)) 214.33/145.93 new_primMulNat2(Succ(x0)) 214.33/145.93 new_primQuotInt(x0, Neg(Zero)) 214.33/145.93 new_rem(Neg(x0), Neg(Succ(x1))) 214.33/145.93 new_primMinusNatS2(Zero, Succ(x0)) 214.33/145.93 new_primMulNat3(Succ(x0)) 214.33/145.93 new_sr0(x0, ty_Float) 214.33/145.93 new_esEs1(Integer(x0)) 214.33/145.93 new_primQuotInt0(x0, Pos(Zero)) 214.33/145.93 new_gcd2(True, x0, x1) 214.33/145.93 new_quot1(x0, x1, x2, x3, ty_Int) 214.33/145.93 new_primDivNatS1(Zero, x0) 214.33/145.93 new_gcd(x0, x1) 214.33/145.93 new_gcd1(False, x0, x1) 214.33/145.93 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 214.33/145.93 new_primPlusNat0(Zero, Succ(x0)) 214.33/145.93 new_abs(Neg(Zero)) 214.33/145.93 new_primMinusNatS2(Succ(x0), Zero) 214.33/145.93 new_error 214.33/145.93 new_primModNatS1(Succ(Zero), Zero) 214.33/145.93 new_primMulNat4(Succ(x0)) 214.33/145.93 new_primDivNatS02(x0, x1) 214.33/145.93 new_rem(Neg(x0), Neg(Zero)) 214.33/145.93 new_primEqInt(Neg(Zero)) 214.33/145.93 new_rem(Pos(x0), Pos(Succ(x1))) 214.33/145.93 new_abs(Pos(Succ(x0))) 214.33/145.93 new_primMulNat0(Succ(x0), Succ(x1)) 214.33/145.93 new_primMulNat0(Zero, Succ(x0)) 214.33/145.93 new_reduce2Reduce1(x0, x1, x2, x3, True, x4) 214.33/145.93 new_gcd0Gcd'10(False, x0, x1) 214.33/145.93 new_sr12(x0) 214.33/145.93 new_primDivNatS01(x0, x1, Zero, Succ(x2)) 214.33/145.93 new_sr10(Pos(x0), Pos(x1)) 214.33/145.93 new_primModNatS01(x0, x1, Zero, Succ(x2)) 214.33/145.93 new_primPlusNat0(Zero, Zero) 214.33/145.93 new_primQuotInt0(x0, Pos(Succ(x1))) 214.33/145.93 new_primModNatS01(x0, x1, Succ(x2), Zero) 214.33/145.93 new_primModNatS1(Succ(Succ(x0)), Zero) 214.33/145.93 new_rem(Pos(x0), Pos(Zero)) 214.33/145.93 new_quot(Pos(x0), x1, x2) 214.33/145.93 new_primMinusNatS2(Zero, Zero) 214.33/145.93 new_esEs0(x0, ty_Int) 214.33/145.93 new_esEs(Pos(Zero)) 214.33/145.93 new_quot(Neg(x0), x1, x2) 214.33/145.93 new_primDivNatS01(x0, x1, Succ(x2), Succ(x3)) 214.33/145.93 new_quot2(x0, x1, x2) 214.33/145.93 new_primEqInt(Neg(Succ(x0))) 214.33/145.93 new_sr10(Neg(x0), Neg(x1)) 214.33/145.93 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 214.33/145.93 new_sr9(x0, x1) 214.33/145.93 new_sr7(Neg(x0)) 214.33/145.93 new_primQuotInt0(x0, Neg(Succ(x1))) 214.33/145.93 new_sr0(x0, ty_Integer) 214.33/145.93 new_rem(Pos(x0), Neg(Zero)) 214.33/145.93 new_rem(Neg(x0), Pos(Zero)) 214.33/145.93 new_gcd0Gcd'00(x0, x1) 214.33/145.93 new_primQuotInt(x0, Neg(Succ(x1))) 214.33/145.93 new_primMinusNatS2(Succ(x0), Succ(x1)) 214.33/145.93 new_abs(Pos(Zero)) 214.33/145.93 new_quot0(x0, x1, x2, x3, ty_Integer) 214.33/145.93 new_sr0(x0, ty_Int) 214.33/145.93 new_sr6(x0) 214.33/145.93 new_gcd2(False, x0, x1) 214.33/145.93 new_gcd1(True, x0, x1) 214.33/145.93 new_primMinusNatS1 214.33/145.93 new_sr7(Pos(x0)) 214.33/145.93 new_gcd0Gcd'10(True, x0, x1) 214.33/145.93 new_primModNatS1(Zero, x0) 214.33/145.93 new_sr10(Pos(x0), Neg(x1)) 214.33/145.93 new_sr10(Neg(x0), Pos(x1)) 214.33/145.93 new_primDivNatS01(x0, x1, Succ(x2), Zero) 214.33/145.93 new_primDivNatS1(Succ(Succ(x0)), Succ(x1)) 214.33/145.93 new_primPlusNat0(Succ(x0), Succ(x1)) 214.33/145.93 new_primDivNatS1(Succ(Zero), Succ(x0)) 214.33/145.93 new_primQuotInt(x0, Pos(Succ(x1))) 214.33/145.93 new_abs(Neg(Succ(x0))) 214.33/145.93 new_esEs0(x0, ty_Integer) 214.33/145.93 new_esEs(Neg(Succ(x0))) 214.33/145.93 new_primModNatS01(x0, x1, Zero, Zero) 214.33/145.93 new_gcd0(x0, x1) 214.33/145.93 new_primEqInt(Pos(Succ(x0))) 214.33/145.93 new_quot1(x0, x1, x2, x3, ty_Integer) 214.33/145.93 new_primDivNatS1(Succ(Succ(x0)), Zero) 214.33/145.93 new_primMulNat1(Succ(x0)) 214.33/145.93 new_quot0(x0, x1, x2, x3, ty_Int) 214.33/145.93 new_primModNatS1(Succ(Zero), Succ(x0)) 214.33/145.93 new_reduce2Reduce1(x0, x1, x2, x3, False, x4) 214.33/145.93 new_esEs(Neg(Zero)) 214.33/145.93 new_primMulNat1(Zero) 214.33/145.93 214.33/145.93 We have to consider all minimal (P,Q,R)-chains. 214.33/145.93 ---------------------------------------- 214.33/145.93 214.33/145.93 (739) MNOCProof (EQUIVALENT) 214.33/145.93 We use the modular non-overlap check [FROCOS05] to decrease Q to the empty set. 214.33/145.93 ---------------------------------------- 214.33/145.93 214.33/145.93 (740) 214.33/145.93 Obligation: 214.33/145.93 Q DP problem: 214.33/145.93 The TRS P consists of the following rules: 214.33/145.93 214.33/145.93 new_pr2F0G(vyv188, vyv184, Neg(Zero), h) -> new_pr2F0G(vyv188, new_sr0(vyv184, h), Neg(Zero), h) 214.33/145.93 214.33/145.93 The TRS R consists of the following rules: 214.33/145.93 214.33/145.93 new_sr0(vyv184, ty_Double) -> new_sr11(vyv184) 214.33/145.93 new_sr0(vyv184, ty_Float) -> new_sr12(vyv184) 214.33/145.93 new_sr0(vyv184, ty_Int) -> new_sr7(vyv184) 214.33/145.93 new_sr0(vyv184, app(ty_Ratio, bd)) -> new_sr5(vyv184, bd) 214.33/145.93 new_sr0(vyv184, ty_Integer) -> new_sr6(vyv184) 214.33/145.93 new_sr6(vyv184) -> error([]) 214.33/145.93 new_sr5(:%(vyv1840, vyv1841), bd) -> new_reduce2Reduce1(vyv1840, vyv1840, vyv1841, vyv1841, new_esEs0(vyv1841, bd), bd) 214.33/145.93 new_esEs0(vyv1841, ty_Int) -> new_esEs(new_sr7(vyv1841)) 214.33/145.93 new_esEs0(vyv1841, ty_Integer) -> new_esEs1(new_sr6(vyv1841)) 214.33/145.93 new_reduce2Reduce1(vyv265, vyv266, vyv267, vyv268, False, bh) -> :%(new_quot0(vyv265, vyv266, vyv267, vyv268, bh), new_quot1(vyv267, vyv268, vyv265, vyv266, bh)) 214.33/145.93 new_reduce2Reduce1(vyv265, vyv266, vyv267, vyv268, True, bh) -> error([]) 214.33/145.93 new_quot0(vyv265, vyv266, vyv267, vyv268, ty_Integer) -> new_quot2(new_sr9(vyv265, vyv266), new_sr9(vyv265, vyv266), new_sr9(vyv267, vyv268)) 214.33/145.93 new_quot0(vyv265, vyv266, vyv267, vyv268, ty_Int) -> new_quot(new_sr10(vyv265, vyv266), new_sr10(vyv265, vyv266), new_sr10(vyv267, vyv268)) 214.33/145.93 new_quot1(vyv267, vyv268, vyv265, vyv266, ty_Int) -> new_quot(new_sr10(vyv267, vyv268), new_sr10(vyv265, vyv266), new_sr10(vyv267, vyv268)) 214.33/145.93 new_quot1(vyv267, vyv268, vyv265, vyv266, ty_Integer) -> new_quot2(new_sr9(vyv267, vyv268), new_sr9(vyv265, vyv266), new_sr9(vyv267, vyv268)) 214.33/145.93 new_sr9(vyv240, vyv239) -> error([]) 214.33/145.93 new_quot2(vyv274, vyv276, vyv275) -> error([]) 214.33/145.93 new_sr10(Pos(vyv2400), Pos(vyv2390)) -> Pos(new_primMulNat0(vyv2400, vyv2390)) 214.33/145.93 new_sr10(Neg(vyv2400), Neg(vyv2390)) -> Pos(new_primMulNat0(vyv2400, vyv2390)) 214.33/145.93 new_sr10(Pos(vyv2400), Neg(vyv2390)) -> Neg(new_primMulNat0(vyv2400, vyv2390)) 214.33/145.93 new_sr10(Neg(vyv2400), Pos(vyv2390)) -> Neg(new_primMulNat0(vyv2400, vyv2390)) 214.33/145.93 new_quot(Pos(vyv2710), vyv273, vyv272) -> new_primQuotInt(vyv2710, new_gcd(vyv273, vyv272)) 214.33/145.93 new_quot(Neg(vyv2710), vyv273, vyv272) -> new_primQuotInt0(vyv2710, new_gcd(vyv273, vyv272)) 214.33/145.93 new_gcd(vyv273, vyv272) -> new_gcd2(new_esEs(vyv273), vyv273, vyv272) 214.33/145.93 new_primQuotInt0(vyv2710, Pos(Succ(vyv28800))) -> Neg(new_primDivNatS1(vyv2710, vyv28800)) 214.33/145.93 new_primQuotInt0(vyv2710, Neg(Zero)) -> new_error 214.33/145.93 new_primQuotInt0(vyv2710, Neg(Succ(vyv28800))) -> Pos(new_primDivNatS1(vyv2710, vyv28800)) 214.33/145.93 new_primQuotInt0(vyv2710, Pos(Zero)) -> new_error 214.33/145.93 new_error -> error([]) 214.33/145.93 new_primDivNatS1(Zero, vyv28500) -> Zero 214.33/145.93 new_primDivNatS1(Succ(Succ(vyv271000)), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS0(vyv271000), Zero)) 214.33/145.93 new_primDivNatS1(Succ(Zero), Succ(vyv285000)) -> Zero 214.33/145.93 new_primDivNatS1(Succ(Succ(vyv271000)), Succ(vyv285000)) -> new_primDivNatS01(vyv271000, vyv285000, vyv271000, vyv285000) 214.33/145.93 new_primDivNatS1(Succ(Zero), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS1, Zero)) 214.33/145.93 new_primMinusNatS1 -> Zero 214.33/145.93 new_primDivNatS01(vyv311, vyv312, Succ(vyv3130), Zero) -> new_primDivNatS02(vyv311, vyv312) 214.33/145.93 new_primDivNatS01(vyv311, vyv312, Zero, Succ(vyv3140)) -> Zero 214.33/145.93 new_primDivNatS01(vyv311, vyv312, Succ(vyv3130), Succ(vyv3140)) -> new_primDivNatS01(vyv311, vyv312, vyv3130, vyv3140) 214.33/145.93 new_primDivNatS01(vyv311, vyv312, Zero, Zero) -> new_primDivNatS02(vyv311, vyv312) 214.33/145.93 new_primDivNatS02(vyv311, vyv312) -> Succ(new_primDivNatS1(new_primMinusNatS2(vyv311, vyv312), Succ(vyv312))) 214.33/145.93 new_primMinusNatS2(Zero, Succ(vyv3120)) -> Zero 214.33/145.93 new_primMinusNatS2(Succ(vyv3110), Zero) -> Succ(vyv3110) 214.33/145.93 new_primMinusNatS2(Zero, Zero) -> Zero 214.33/145.93 new_primMinusNatS2(Succ(vyv3110), Succ(vyv3120)) -> new_primMinusNatS2(vyv3110, vyv3120) 214.33/145.93 new_primMinusNatS0(vyv271000) -> Succ(vyv271000) 214.33/145.93 new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) 214.33/145.93 new_esEs(Pos(Succ(vyv24300))) -> new_primEqInt(Pos(Succ(vyv24300))) 214.33/145.93 new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) 214.33/145.93 new_esEs(Neg(Succ(vyv24300))) -> new_primEqInt(Neg(Succ(vyv24300))) 214.33/145.93 new_gcd2(True, vyv273, vyv272) -> new_gcd1(new_esEs(vyv272), vyv273, vyv272) 214.33/145.93 new_gcd2(False, vyv273, vyv272) -> new_gcd0(vyv273, vyv272) 214.33/145.93 new_gcd0(vyv273, vyv272) -> new_gcd0Gcd'11(new_esEs(new_abs(vyv272)), vyv273, vyv272) 214.33/145.93 new_abs(Neg(Zero)) -> Neg(Zero) 214.33/145.93 new_abs(Neg(Succ(vyv27200))) -> Pos(Succ(vyv27200)) 214.33/145.93 new_abs(Pos(Succ(vyv27200))) -> Pos(Succ(vyv27200)) 214.33/145.93 new_abs(Pos(Zero)) -> Pos(Zero) 214.33/145.93 new_gcd0Gcd'11(True, vyv273, vyv272) -> new_abs(vyv273) 214.33/145.93 new_gcd0Gcd'11(False, vyv273, vyv272) -> new_gcd0Gcd'00(new_abs(vyv273), new_abs(vyv272)) 214.33/145.93 new_gcd0Gcd'10(False, vyv292, vyv293) -> new_gcd0Gcd'00(vyv292, new_rem(vyv293, vyv292)) 214.33/145.93 new_gcd0Gcd'00(vyv293, vyv292) -> new_gcd0Gcd'10(new_esEs(new_rem(vyv293, vyv292)), vyv292, vyv293) 214.33/145.93 new_rem(Pos(vyv2930), Neg(Zero)) -> new_error 214.33/145.93 new_rem(Neg(vyv2930), Pos(Zero)) -> new_error 214.33/145.93 new_rem(Pos(vyv2930), Neg(Succ(vyv29200))) -> Pos(new_primModNatS1(vyv2930, vyv29200)) 214.33/145.93 new_rem(Neg(vyv2930), Pos(Succ(vyv29200))) -> Neg(new_primModNatS1(vyv2930, vyv29200)) 214.33/145.93 new_rem(Pos(vyv2930), Pos(Succ(vyv29200))) -> Pos(new_primModNatS1(vyv2930, vyv29200)) 214.33/145.93 new_rem(Neg(vyv2930), Neg(Zero)) -> new_error 214.33/145.93 new_rem(Neg(vyv2930), Neg(Succ(vyv29200))) -> Neg(new_primModNatS1(vyv2930, vyv29200)) 214.33/145.93 new_rem(Pos(vyv2930), Pos(Zero)) -> new_error 214.33/145.93 new_gcd0Gcd'10(True, vyv292, vyv293) -> vyv292 214.33/145.93 new_primModNatS1(Succ(Zero), Succ(vyv292000)) -> Succ(Zero) 214.33/145.93 new_primModNatS1(Zero, vyv29200) -> Zero 214.33/145.93 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 214.33/145.93 new_primModNatS1(Succ(Succ(vyv293000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv293000), Zero) 214.33/145.93 new_primModNatS1(Succ(Succ(vyv293000)), Succ(vyv292000)) -> new_primModNatS01(vyv293000, vyv292000, vyv293000, vyv292000) 214.33/145.93 new_primModNatS01(vyv331, vyv332, Zero, Zero) -> new_primModNatS02(vyv331, vyv332) 214.33/145.93 new_primModNatS02(vyv331, vyv332) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv331), Succ(vyv332)), Succ(vyv332)) 214.33/145.93 new_primModNatS01(vyv331, vyv332, Succ(vyv3330), Zero) -> new_primModNatS02(vyv331, vyv332) 214.33/145.93 new_primModNatS01(vyv331, vyv332, Succ(vyv3330), Succ(vyv3340)) -> new_primModNatS01(vyv331, vyv332, vyv3330, vyv3340) 214.33/145.93 new_primModNatS01(vyv331, vyv332, Zero, Succ(vyv3340)) -> Succ(Succ(vyv331)) 214.33/145.93 new_gcd1(True, vyv273, vyv272) -> new_error 214.33/145.93 new_gcd1(False, vyv273, vyv272) -> new_gcd0(vyv273, vyv272) 214.33/145.93 new_primEqInt(Neg(Succ(vyv242000))) -> False 214.33/145.93 new_primEqInt(Pos(Zero)) -> True 214.33/145.93 new_primEqInt(Pos(Succ(vyv242000))) -> False 214.33/145.93 new_primEqInt(Neg(Zero)) -> True 214.33/145.93 new_primQuotInt(vyv2710, Pos(Succ(vyv28500))) -> Pos(new_primDivNatS1(vyv2710, vyv28500)) 214.33/145.93 new_primQuotInt(vyv2710, Neg(Zero)) -> new_error 214.33/145.93 new_primQuotInt(vyv2710, Pos(Zero)) -> new_error 214.33/145.93 new_primQuotInt(vyv2710, Neg(Succ(vyv28500))) -> Neg(new_primDivNatS1(vyv2710, vyv28500)) 214.33/145.93 new_primMulNat0(Zero, Succ(vyv23900)) -> Zero 214.33/145.93 new_primMulNat0(Succ(vyv24000), Succ(vyv23900)) -> new_primPlusNat0(new_primMulNat0(vyv24000, Succ(vyv23900)), Succ(vyv23900)) 214.33/145.93 new_primMulNat0(Succ(vyv24000), Zero) -> Zero 214.33/145.93 new_primMulNat0(Zero, Zero) -> Zero 214.33/145.93 new_primPlusNat0(Succ(vyv4000), Succ(vyv6000)) -> Succ(Succ(new_primPlusNat0(vyv4000, vyv6000))) 214.33/145.93 new_primPlusNat0(Zero, Succ(vyv6000)) -> Succ(vyv6000) 214.33/145.93 new_primPlusNat0(Zero, Zero) -> Zero 214.33/145.93 new_primPlusNat0(Succ(vyv4000), Zero) -> Succ(vyv4000) 214.33/145.93 new_esEs1(Integer(vyv2700)) -> new_primEqInt(vyv2700) 214.33/145.93 new_sr7(Pos(vyv1840)) -> Pos(new_primMulNat1(vyv1840)) 214.33/145.93 new_sr7(Neg(vyv1840)) -> Pos(new_primMulNat1(vyv1840)) 214.33/145.93 new_primMulNat1(Succ(vyv18400)) -> new_primPlusNat0(new_primMulNat2(vyv18400), Succ(vyv18400)) 214.33/145.93 new_primMulNat1(Zero) -> Zero 214.33/145.93 new_primMulNat2(Succ(vyv184000)) -> new_primPlusNat0(new_primMulNat3(vyv184000), Succ(Succ(vyv184000))) 214.33/145.93 new_primMulNat2(Zero) -> Zero 214.33/145.93 new_primMulNat3(Succ(vyv1840000)) -> new_primPlusNat0(new_primMulNat4(vyv1840000), Succ(Succ(Succ(vyv1840000)))) 214.33/145.93 new_primMulNat3(Zero) -> Zero 214.33/145.93 new_primMulNat4(Succ(vyv18400000)) -> new_primPlusNat0(new_primMulNat0(vyv18400000, Succ(Succ(Succ(Succ(vyv18400000))))), Succ(Succ(Succ(Succ(vyv18400000))))) 214.33/145.93 new_primMulNat4(Zero) -> Zero 214.33/145.93 new_sr12(vyv184) -> error([]) 214.33/145.93 new_sr11(vyv184) -> error([]) 214.33/145.93 214.33/145.93 Q is empty. 214.33/145.93 We have to consider all (P,Q,R)-chains. 214.33/145.93 ---------------------------------------- 214.33/145.93 214.33/145.93 (741) NonTerminationLoopProof (COMPLETE) 214.33/145.93 We used the non-termination processor [FROCOS05] to show that the DP problem is infinite. 214.33/145.93 Found a loop by semiunifying a rule from P directly. 214.33/145.93 214.33/145.93 s = new_pr2F0G(vyv188, vyv184, Neg(Zero), h) evaluates to t =new_pr2F0G(vyv188, new_sr0(vyv184, h), Neg(Zero), h) 214.33/145.93 214.33/145.93 Thus s starts an infinite chain as s semiunifies with t with the following substitutions: 214.33/145.93 * Matcher: [vyv184 / new_sr0(vyv184, h)] 214.33/145.93 * Semiunifier: [ ] 214.33/145.93 214.33/145.93 -------------------------------------------------------------------------------- 214.33/145.93 Rewriting sequence 214.33/145.93 214.33/145.93 The DP semiunifies directly so there is only one rewrite step from new_pr2F0G(vyv188, vyv184, Neg(Zero), h) to new_pr2F0G(vyv188, new_sr0(vyv184, h), Neg(Zero), h). 214.33/145.93 214.33/145.93 214.33/145.93 214.33/145.93 214.33/145.93 ---------------------------------------- 214.33/145.93 214.33/145.93 (742) 214.33/145.93 NO 214.33/145.93 214.33/145.93 ---------------------------------------- 214.33/145.93 214.33/145.93 (743) 214.33/145.93 Obligation: 214.33/145.93 Q DP problem: 214.33/145.93 The TRS P consists of the following rules: 214.33/145.93 214.33/145.93 new_pr2F0G10(vyv249, vyv250, vyv251, Succ(Zero), bb) -> new_pr2F0G11(vyv249, vyv250, vyv251, bb) 214.33/145.93 new_pr2F0G11(vyv239, vyv240, vyv241, bc) -> new_pr2F1(vyv240, vyv241, Pos(Succ(Zero)), vyv239, bc) 214.33/145.93 new_pr2F1(vyv240, vyv241, vyv244, vyv239, bc) -> new_pr2F30(new_esEs(new_ms0(vyv241, vyv244)), vyv240, vyv241, vyv244, vyv239, bc) 214.33/145.93 new_pr2F30(False, vyv240, vyv241, vyv244, vyv239, bc) -> new_pr2F0(vyv240, new_ms0(vyv241, vyv244), new_sr4(vyv240, vyv239, bc), bc) 214.33/145.93 new_pr2F0(vyv184, Neg(Succ(Succ(vyv223000))), vyv188, h) -> new_pr2F0G10(vyv188, vyv184, Succ(vyv223000), vyv223000, h) 214.33/145.93 new_pr2F0G10(vyv249, vyv250, vyv251, Succ(Succ(vyv25200)), bb) -> new_pr2F0G10(vyv249, vyv250, vyv251, vyv25200, bb) 214.33/145.93 new_pr2F0G10(vyv249, vyv250, vyv251, Zero, bb) -> new_pr2F0G(vyv249, new_sr3(vyv250, bb), Neg(new_primDivNatS1(Succ(vyv251), Succ(Zero))), bb) 214.33/145.93 new_pr2F0G(vyv188, vyv184, Neg(Succ(Zero)), h) -> new_pr2F0G11(vyv188, vyv184, Zero, h) 214.33/145.93 new_pr2F0G(vyv188, vyv184, Neg(Succ(Succ(vyv223000))), h) -> new_pr2F0G10(vyv188, vyv184, Succ(vyv223000), vyv223000, h) 214.33/145.93 new_pr2F0(vyv184, Neg(Succ(Zero)), vyv188, h) -> new_pr2F0G11(vyv188, vyv184, Zero, h) 214.33/145.93 new_pr2F0(vyv184, Pos(Succ(Succ(vyv223000))), vyv188, h) -> new_pr2F0G1(vyv188, vyv184, Succ(vyv223000), vyv223000, h) 214.33/145.93 new_pr2F0G1(vyv227, vyv228, vyv229, Succ(Succ(vyv23000)), ba) -> new_pr2F0G1(vyv227, vyv228, vyv229, vyv23000, ba) 214.33/145.93 new_pr2F0G1(vyv227, vyv228, vyv229, Succ(Zero), ba) -> new_pr2F(vyv228, vyv229, Pos(Succ(Zero)), vyv227, ba) 214.33/145.93 new_pr2F(vyv228, vyv229, vyv245, vyv227, ba) -> new_pr2F3(new_esEs(new_ms(vyv229, vyv245)), vyv228, vyv229, vyv245, vyv227, ba) 214.33/145.93 new_pr2F3(False, vyv228, vyv229, vyv245, vyv227, ba) -> new_pr2F0(vyv228, new_ms(vyv229, vyv245), new_sr2(vyv228, vyv227, ba), ba) 214.33/145.93 new_pr2F0(vyv184, Pos(Succ(Zero)), vyv188, h) -> new_pr2F(vyv184, Zero, Pos(Succ(Zero)), vyv188, h) 214.33/145.93 new_pr2F0(vyv184, Pos(Zero), vyv188, h) -> new_pr2F0G(vyv188, new_sr(vyv184, h), Pos(new_primDivNatS1(Zero, Succ(Zero))), h) 214.33/145.93 new_pr2F0G(vyv188, vyv184, Pos(Succ(Succ(vyv223000))), h) -> new_pr2F0G1(vyv188, vyv184, Succ(vyv223000), vyv223000, h) 214.33/145.93 new_pr2F0G1(vyv227, vyv228, vyv229, Zero, ba) -> new_pr2F0G(vyv227, new_sr1(vyv228, ba), Pos(new_primDivNatS1(Succ(vyv229), Succ(Zero))), ba) 214.33/145.93 new_pr2F0G(vyv188, vyv184, Pos(Succ(Zero)), h) -> new_pr2F(vyv184, Zero, Pos(Succ(Zero)), vyv188, h) 214.33/145.93 new_pr2F0G(vyv188, vyv184, Pos(Zero), h) -> new_pr2F0G(vyv188, new_sr(vyv184, h), Pos(new_primDivNatS1(Zero, Succ(Zero))), h) 214.33/145.93 214.33/145.93 The TRS R consists of the following rules: 214.33/145.93 214.33/145.93 new_sr(vyv184, ty_Double) -> new_sr11(vyv184) 214.33/145.93 new_sr(vyv184, app(ty_Ratio, bd)) -> new_sr5(vyv184, bd) 214.33/145.93 new_sr(vyv184, ty_Float) -> new_sr12(vyv184) 214.33/145.93 new_sr(vyv184, ty_Int) -> new_sr7(vyv184) 214.33/145.93 new_sr(vyv184, ty_Integer) -> new_sr6(vyv184) 214.33/145.93 new_primQuotInt(vyv2710, Pos(Succ(vyv28500))) -> Pos(new_primDivNatS1(vyv2710, vyv28500)) 214.33/145.93 new_primDivNatS1(Zero, vyv28500) -> Zero 214.33/145.93 new_primDivNatS1(Succ(Succ(vyv271000)), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS0(vyv271000), Zero)) 214.33/145.93 new_primDivNatS1(Succ(Zero), Succ(vyv285000)) -> Zero 214.33/145.93 new_primDivNatS1(Succ(Succ(vyv271000)), Succ(vyv285000)) -> new_primDivNatS01(vyv271000, vyv285000, vyv271000, vyv285000) 214.33/145.93 new_primDivNatS1(Succ(Zero), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS1, Zero)) 214.33/145.93 new_primMinusNatS1 -> Zero 214.33/145.93 new_primDivNatS01(vyv311, vyv312, Succ(vyv3130), Zero) -> new_primDivNatS02(vyv311, vyv312) 214.33/145.93 new_primDivNatS01(vyv311, vyv312, Zero, Succ(vyv3140)) -> Zero 214.33/145.93 new_primDivNatS01(vyv311, vyv312, Succ(vyv3130), Succ(vyv3140)) -> new_primDivNatS01(vyv311, vyv312, vyv3130, vyv3140) 214.33/145.93 new_primDivNatS01(vyv311, vyv312, Zero, Zero) -> new_primDivNatS02(vyv311, vyv312) 214.33/145.93 new_primDivNatS02(vyv311, vyv312) -> Succ(new_primDivNatS1(new_primMinusNatS2(vyv311, vyv312), Succ(vyv312))) 214.33/145.93 new_primMinusNatS2(Zero, Succ(vyv3120)) -> Zero 214.33/145.93 new_primMinusNatS2(Succ(vyv3110), Zero) -> Succ(vyv3110) 214.33/145.93 new_primMinusNatS2(Zero, Zero) -> Zero 214.33/145.93 new_primMinusNatS2(Succ(vyv3110), Succ(vyv3120)) -> new_primMinusNatS2(vyv3110, vyv3120) 214.33/145.93 new_primMinusNatS0(vyv271000) -> Succ(vyv271000) 214.33/145.93 new_sr6(vyv184) -> error([]) 214.33/145.93 new_sr7(Pos(vyv1840)) -> Pos(new_primMulNat1(vyv1840)) 214.33/145.93 new_sr7(Neg(vyv1840)) -> Pos(new_primMulNat1(vyv1840)) 214.33/145.93 new_primMulNat1(Succ(vyv18400)) -> new_primPlusNat0(new_primMulNat2(vyv18400), Succ(vyv18400)) 214.33/145.93 new_primMulNat1(Zero) -> Zero 214.33/145.93 new_primMulNat2(Succ(vyv184000)) -> new_primPlusNat0(new_primMulNat3(vyv184000), Succ(Succ(vyv184000))) 214.33/145.93 new_primMulNat2(Zero) -> Zero 214.33/145.93 new_primPlusNat0(Succ(vyv4000), Succ(vyv6000)) -> Succ(Succ(new_primPlusNat0(vyv4000, vyv6000))) 214.33/145.93 new_primPlusNat0(Zero, Succ(vyv6000)) -> Succ(vyv6000) 214.33/145.93 new_primPlusNat0(Zero, Zero) -> Zero 214.33/145.93 new_primPlusNat0(Succ(vyv4000), Zero) -> Succ(vyv4000) 214.33/145.93 new_primMulNat3(Succ(vyv1840000)) -> new_primPlusNat0(new_primMulNat4(vyv1840000), Succ(Succ(Succ(vyv1840000)))) 214.33/145.93 new_primMulNat3(Zero) -> Zero 214.33/145.93 new_primMulNat4(Succ(vyv18400000)) -> new_primPlusNat0(new_primMulNat0(vyv18400000, Succ(Succ(Succ(Succ(vyv18400000))))), Succ(Succ(Succ(Succ(vyv18400000))))) 214.33/145.93 new_primMulNat4(Zero) -> Zero 214.33/145.93 new_primMulNat0(Zero, Succ(vyv23900)) -> Zero 214.33/145.93 new_primMulNat0(Succ(vyv24000), Succ(vyv23900)) -> new_primPlusNat0(new_primMulNat0(vyv24000, Succ(vyv23900)), Succ(vyv23900)) 214.33/145.93 new_sr12(vyv184) -> error([]) 214.33/145.93 new_sr5(:%(vyv1840, vyv1841), bd) -> new_reduce2Reduce1(vyv1840, vyv1840, vyv1841, vyv1841, new_esEs0(vyv1841, bd), bd) 214.33/145.93 new_esEs0(vyv1841, ty_Int) -> new_esEs(new_sr7(vyv1841)) 214.33/145.93 new_esEs0(vyv1841, ty_Integer) -> new_esEs1(new_sr6(vyv1841)) 214.33/145.93 new_reduce2Reduce1(vyv265, vyv266, vyv267, vyv268, False, bh) -> :%(new_quot0(vyv265, vyv266, vyv267, vyv268, bh), new_quot1(vyv267, vyv268, vyv265, vyv266, bh)) 214.33/145.93 new_reduce2Reduce1(vyv265, vyv266, vyv267, vyv268, True, bh) -> error([]) 214.33/145.93 new_quot0(vyv265, vyv266, vyv267, vyv268, ty_Integer) -> new_quot2(new_sr9(vyv265, vyv266), new_sr9(vyv265, vyv266), new_sr9(vyv267, vyv268)) 214.33/145.93 new_quot0(vyv265, vyv266, vyv267, vyv268, ty_Int) -> new_quot(new_sr10(vyv265, vyv266), new_sr10(vyv265, vyv266), new_sr10(vyv267, vyv268)) 214.33/145.93 new_quot1(vyv267, vyv268, vyv265, vyv266, ty_Int) -> new_quot(new_sr10(vyv267, vyv268), new_sr10(vyv265, vyv266), new_sr10(vyv267, vyv268)) 214.33/145.93 new_quot1(vyv267, vyv268, vyv265, vyv266, ty_Integer) -> new_quot2(new_sr9(vyv267, vyv268), new_sr9(vyv265, vyv266), new_sr9(vyv267, vyv268)) 214.33/145.93 new_sr9(vyv240, vyv239) -> error([]) 214.33/145.93 new_quot2(vyv274, vyv276, vyv275) -> error([]) 214.33/145.93 new_sr10(Pos(vyv2400), Pos(vyv2390)) -> Pos(new_primMulNat0(vyv2400, vyv2390)) 214.33/145.93 new_sr10(Neg(vyv2400), Neg(vyv2390)) -> Pos(new_primMulNat0(vyv2400, vyv2390)) 214.33/145.93 new_sr10(Pos(vyv2400), Neg(vyv2390)) -> Neg(new_primMulNat0(vyv2400, vyv2390)) 214.33/145.93 new_sr10(Neg(vyv2400), Pos(vyv2390)) -> Neg(new_primMulNat0(vyv2400, vyv2390)) 214.33/145.93 new_quot(Pos(vyv2710), vyv273, vyv272) -> new_primQuotInt(vyv2710, new_gcd(vyv273, vyv272)) 214.33/145.93 new_quot(Neg(vyv2710), vyv273, vyv272) -> new_primQuotInt0(vyv2710, new_gcd(vyv273, vyv272)) 214.33/145.93 new_gcd(vyv273, vyv272) -> new_gcd2(new_esEs(vyv273), vyv273, vyv272) 214.33/145.93 new_primQuotInt0(vyv2710, Pos(Succ(vyv28800))) -> Neg(new_primDivNatS1(vyv2710, vyv28800)) 214.33/145.93 new_primQuotInt0(vyv2710, Neg(Zero)) -> new_error 214.33/145.93 new_primQuotInt0(vyv2710, Neg(Succ(vyv28800))) -> Pos(new_primDivNatS1(vyv2710, vyv28800)) 214.33/145.93 new_primQuotInt0(vyv2710, Pos(Zero)) -> new_error 214.33/145.93 new_error -> error([]) 214.33/145.93 new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) 214.33/145.93 new_esEs(Pos(Succ(vyv24300))) -> new_primEqInt(Pos(Succ(vyv24300))) 214.33/145.93 new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) 214.33/145.93 new_esEs(Neg(Succ(vyv24300))) -> new_primEqInt(Neg(Succ(vyv24300))) 214.33/145.93 new_gcd2(True, vyv273, vyv272) -> new_gcd1(new_esEs(vyv272), vyv273, vyv272) 214.33/145.93 new_gcd2(False, vyv273, vyv272) -> new_gcd0(vyv273, vyv272) 214.33/145.93 new_gcd0(vyv273, vyv272) -> new_gcd0Gcd'11(new_esEs(new_abs(vyv272)), vyv273, vyv272) 214.33/145.93 new_abs(Neg(Zero)) -> Neg(Zero) 214.33/145.93 new_abs(Neg(Succ(vyv27200))) -> Pos(Succ(vyv27200)) 214.33/145.93 new_abs(Pos(Succ(vyv27200))) -> Pos(Succ(vyv27200)) 214.33/145.93 new_abs(Pos(Zero)) -> Pos(Zero) 214.33/145.93 new_gcd0Gcd'11(True, vyv273, vyv272) -> new_abs(vyv273) 214.33/145.93 new_gcd0Gcd'11(False, vyv273, vyv272) -> new_gcd0Gcd'00(new_abs(vyv273), new_abs(vyv272)) 214.33/145.93 new_gcd0Gcd'00(vyv293, vyv292) -> new_gcd0Gcd'10(new_esEs(new_rem(vyv293, vyv292)), vyv292, vyv293) 214.33/145.93 new_gcd0Gcd'10(False, vyv292, vyv293) -> new_gcd0Gcd'00(vyv292, new_rem(vyv293, vyv292)) 214.33/145.93 new_rem(Pos(vyv2930), Neg(Zero)) -> new_error 214.33/145.93 new_rem(Neg(vyv2930), Pos(Zero)) -> new_error 214.33/145.93 new_rem(Pos(vyv2930), Neg(Succ(vyv29200))) -> Pos(new_primModNatS1(vyv2930, vyv29200)) 214.33/145.93 new_rem(Neg(vyv2930), Pos(Succ(vyv29200))) -> Neg(new_primModNatS1(vyv2930, vyv29200)) 214.33/145.93 new_rem(Pos(vyv2930), Pos(Succ(vyv29200))) -> Pos(new_primModNatS1(vyv2930, vyv29200)) 214.33/145.93 new_rem(Neg(vyv2930), Neg(Zero)) -> new_error 214.33/145.93 new_rem(Neg(vyv2930), Neg(Succ(vyv29200))) -> Neg(new_primModNatS1(vyv2930, vyv29200)) 214.33/145.93 new_rem(Pos(vyv2930), Pos(Zero)) -> new_error 214.33/145.93 new_gcd0Gcd'10(True, vyv292, vyv293) -> vyv292 214.33/145.93 new_primModNatS1(Succ(Zero), Succ(vyv292000)) -> Succ(Zero) 214.33/145.93 new_primModNatS1(Zero, vyv29200) -> Zero 214.33/145.93 new_primModNatS1(Succ(Succ(vyv293000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv293000), Zero) 214.33/145.93 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 214.33/145.93 new_primModNatS1(Succ(Succ(vyv293000)), Succ(vyv292000)) -> new_primModNatS01(vyv293000, vyv292000, vyv293000, vyv292000) 214.33/145.93 new_primModNatS01(vyv331, vyv332, Zero, Zero) -> new_primModNatS02(vyv331, vyv332) 214.33/145.93 new_primModNatS02(vyv331, vyv332) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv331), Succ(vyv332)), Succ(vyv332)) 214.33/145.93 new_primModNatS01(vyv331, vyv332, Succ(vyv3330), Zero) -> new_primModNatS02(vyv331, vyv332) 214.33/145.93 new_primModNatS01(vyv331, vyv332, Succ(vyv3330), Succ(vyv3340)) -> new_primModNatS01(vyv331, vyv332, vyv3330, vyv3340) 214.33/145.93 new_primModNatS01(vyv331, vyv332, Zero, Succ(vyv3340)) -> Succ(Succ(vyv331)) 214.33/145.93 new_gcd1(True, vyv273, vyv272) -> new_error 214.33/145.93 new_gcd1(False, vyv273, vyv272) -> new_gcd0(vyv273, vyv272) 214.33/145.93 new_primEqInt(Neg(Succ(vyv242000))) -> False 214.33/145.93 new_primEqInt(Pos(Zero)) -> True 214.33/145.93 new_primEqInt(Pos(Succ(vyv242000))) -> False 214.33/145.93 new_primEqInt(Neg(Zero)) -> True 214.33/145.93 new_primQuotInt(vyv2710, Neg(Zero)) -> new_error 214.33/145.93 new_primQuotInt(vyv2710, Pos(Zero)) -> new_error 214.33/145.93 new_primQuotInt(vyv2710, Neg(Succ(vyv28500))) -> Neg(new_primDivNatS1(vyv2710, vyv28500)) 214.33/145.93 new_primMulNat0(Succ(vyv24000), Zero) -> Zero 214.33/145.93 new_primMulNat0(Zero, Zero) -> Zero 214.33/145.93 new_esEs1(Integer(vyv2700)) -> new_primEqInt(vyv2700) 214.33/145.93 new_sr11(vyv184) -> error([]) 214.33/145.93 new_sr1(vyv228, ty_Double) -> new_sr11(vyv228) 214.33/145.93 new_sr1(vyv228, ty_Float) -> new_sr12(vyv228) 214.33/145.93 new_sr1(vyv228, app(ty_Ratio, bg)) -> new_sr5(vyv228, bg) 214.33/145.93 new_sr1(vyv228, ty_Integer) -> new_sr6(vyv228) 214.33/145.93 new_sr1(vyv228, ty_Int) -> new_sr7(vyv228) 214.33/145.93 new_sr3(vyv250, ty_Double) -> new_sr11(vyv250) 214.33/145.93 new_sr3(vyv250, ty_Int) -> new_sr7(vyv250) 214.33/145.93 new_sr3(vyv250, ty_Float) -> new_sr12(vyv250) 214.33/145.93 new_sr3(vyv250, ty_Integer) -> new_sr6(vyv250) 214.33/145.93 new_sr3(vyv250, app(ty_Ratio, bf)) -> new_sr5(vyv250, bf) 214.33/145.93 new_sr0(vyv184, ty_Double) -> new_sr11(vyv184) 214.33/145.93 new_sr0(vyv184, ty_Float) -> new_sr12(vyv184) 214.33/145.93 new_sr0(vyv184, ty_Int) -> new_sr7(vyv184) 214.33/145.93 new_sr0(vyv184, app(ty_Ratio, bd)) -> new_sr5(vyv184, bd) 214.33/145.93 new_sr0(vyv184, ty_Integer) -> new_sr6(vyv184) 214.33/145.93 new_ms0(vyv241, Neg(Zero)) -> Neg(Succ(vyv241)) 214.33/145.93 new_ms0(vyv241, Pos(vyv2440)) -> Neg(new_primPlusNat0(Succ(vyv241), vyv2440)) 214.33/145.93 new_ms0(vyv241, Neg(Succ(vyv24400))) -> new_primMinusNat0(vyv24400, vyv241) 214.33/145.93 new_sr4(vyv240, vyv239, app(ty_Ratio, be)) -> new_sr8(vyv240, vyv239, be) 214.33/145.93 new_sr4(vyv240, vyv239, ty_Float) -> new_sr14(vyv240, vyv239) 214.33/145.93 new_sr4(vyv240, vyv239, ty_Int) -> new_sr10(vyv240, vyv239) 214.33/145.93 new_sr4(vyv240, vyv239, ty_Double) -> new_sr13(vyv240, vyv239) 214.33/145.93 new_sr4(vyv240, vyv239, ty_Integer) -> new_sr9(vyv240, vyv239) 214.33/145.93 new_sr13(vyv240, vyv239) -> error([]) 214.33/145.93 new_sr14(vyv240, vyv239) -> error([]) 214.33/145.93 new_sr8(:%(vyv2400, vyv2401), :%(vyv2390, vyv2391), be) -> new_reduce2Reduce1(vyv2400, vyv2390, vyv2401, vyv2391, new_esEs2(vyv2401, vyv2391, be), be) 214.33/145.93 new_esEs2(vyv2401, vyv2391, ty_Integer) -> new_esEs1(new_sr9(vyv2401, vyv2391)) 214.33/145.93 new_esEs2(vyv2401, vyv2391, ty_Int) -> new_esEs(new_sr10(vyv2401, vyv2391)) 214.33/145.93 new_primMinusNat0(Succ(vyv2290), Succ(vyv245000)) -> new_primMinusNat0(vyv2290, vyv245000) 214.33/145.93 new_primMinusNat0(Zero, Zero) -> Pos(Zero) 214.33/145.93 new_primMinusNat0(Zero, Succ(vyv245000)) -> Neg(Succ(vyv245000)) 214.33/145.93 new_primMinusNat0(Succ(vyv2290), Zero) -> Pos(Succ(vyv2290)) 214.33/145.93 new_ms(vyv229, Neg(vyv2450)) -> Pos(new_primPlusNat0(Succ(vyv229), vyv2450)) 214.33/145.93 new_ms(vyv229, Pos(Succ(vyv24500))) -> new_primMinusNat0(vyv229, vyv24500) 214.33/145.93 new_ms(vyv229, Pos(Zero)) -> Pos(Succ(vyv229)) 214.33/145.93 new_sr2(vyv228, vyv227, ty_Integer) -> new_sr9(vyv228, vyv227) 214.33/145.93 new_sr2(vyv228, vyv227, ty_Int) -> new_sr10(vyv228, vyv227) 214.33/145.93 new_sr2(vyv228, vyv227, app(ty_Ratio, bg)) -> new_sr8(vyv228, vyv227, bg) 214.33/145.93 new_sr2(vyv228, vyv227, ty_Double) -> new_sr13(vyv228, vyv227) 214.33/145.93 new_sr2(vyv228, vyv227, ty_Float) -> new_sr14(vyv228, vyv227) 214.33/145.93 214.33/145.93 The set Q consists of the following terms: 214.33/145.93 214.33/145.93 new_sr13(x0, x1) 214.33/145.93 new_primDivNatS01(x0, x1, Zero, Zero) 214.33/145.93 new_gcd0Gcd'11(False, x0, x1) 214.33/145.93 new_primMulNat4(Zero) 214.33/145.93 new_gcd0Gcd'11(True, x0, x1) 214.33/145.93 new_sr2(x0, x1, ty_Float) 214.33/145.93 new_sr5(:%(x0, x1), x2) 214.33/145.93 new_primEqInt(Pos(Zero)) 214.33/145.93 new_ms(x0, Neg(x1)) 214.33/145.93 new_sr2(x0, x1, ty_Double) 214.33/145.93 new_esEs(Pos(Succ(x0))) 214.33/145.93 new_primQuotInt0(x0, Neg(Zero)) 214.33/145.93 new_primMulNat3(Zero) 214.33/145.93 new_primModNatS02(x0, x1) 214.33/145.93 new_sr(x0, ty_Double) 214.33/145.93 new_sr0(x0, ty_Double) 214.33/145.93 new_primDivNatS1(Succ(Zero), Zero) 214.33/145.93 new_primMinusNatS0(x0) 214.33/145.93 new_sr11(x0) 214.33/145.93 new_sr0(x0, app(ty_Ratio, x1)) 214.33/145.93 new_rem(Pos(x0), Neg(Succ(x1))) 214.33/145.93 new_rem(Neg(x0), Pos(Succ(x1))) 214.33/145.93 new_primMulNat0(Zero, Zero) 214.33/145.93 new_primPlusNat0(Succ(x0), Zero) 214.33/145.93 new_primMulNat0(Succ(x0), Zero) 214.33/145.93 new_sr3(x0, ty_Float) 214.33/145.93 new_primMulNat2(Zero) 214.33/145.93 new_primQuotInt(x0, Pos(Zero)) 214.33/145.93 new_primMulNat2(Succ(x0)) 214.33/145.93 new_primQuotInt(x0, Neg(Zero)) 214.33/145.93 new_rem(Neg(x0), Neg(Succ(x1))) 214.33/145.93 new_primMinusNatS2(Zero, Succ(x0)) 214.33/145.93 new_sr(x0, ty_Int) 214.33/145.93 new_sr4(x0, x1, ty_Double) 214.33/145.93 new_primMulNat3(Succ(x0)) 214.33/145.93 new_sr0(x0, ty_Float) 214.33/145.93 new_esEs1(Integer(x0)) 214.33/145.93 new_primQuotInt0(x0, Pos(Zero)) 214.33/145.93 new_gcd2(True, x0, x1) 214.33/145.93 new_quot1(x0, x1, x2, x3, ty_Int) 214.33/145.93 new_primDivNatS1(Zero, x0) 214.33/145.93 new_primMinusNat0(Zero, Zero) 214.33/145.93 new_gcd(x0, x1) 214.33/145.93 new_gcd1(False, x0, x1) 214.33/145.93 new_esEs2(x0, x1, ty_Int) 214.33/145.93 new_sr3(x0, ty_Integer) 214.33/145.93 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 214.33/145.93 new_sr1(x0, app(ty_Ratio, x1)) 214.33/145.93 new_sr1(x0, ty_Float) 214.33/145.93 new_primPlusNat0(Zero, Succ(x0)) 214.33/145.93 new_sr8(:%(x0, x1), :%(x2, x3), x4) 214.33/145.93 new_abs(Neg(Zero)) 214.33/145.93 new_primMinusNatS2(Succ(x0), Zero) 214.33/145.93 new_error 214.33/145.93 new_primModNatS1(Succ(Zero), Zero) 214.33/145.93 new_primMulNat4(Succ(x0)) 214.33/145.93 new_sr1(x0, ty_Integer) 214.33/145.93 new_primDivNatS02(x0, x1) 214.33/145.93 new_sr1(x0, ty_Int) 214.33/145.93 new_rem(Neg(x0), Neg(Zero)) 214.33/145.93 new_primMinusNat0(Zero, Succ(x0)) 214.33/145.93 new_primEqInt(Neg(Zero)) 214.33/145.93 new_rem(Pos(x0), Pos(Succ(x1))) 214.33/145.93 new_abs(Pos(Succ(x0))) 214.33/145.93 new_primMulNat0(Succ(x0), Succ(x1)) 214.33/145.93 new_primMulNat0(Zero, Succ(x0)) 214.33/145.93 new_reduce2Reduce1(x0, x1, x2, x3, True, x4) 214.33/145.93 new_sr(x0, ty_Float) 214.33/145.93 new_gcd0Gcd'10(False, x0, x1) 214.33/145.93 new_sr12(x0) 214.33/145.93 new_primDivNatS01(x0, x1, Zero, Succ(x2)) 214.33/145.93 new_sr10(Pos(x0), Pos(x1)) 214.33/145.93 new_primModNatS01(x0, x1, Zero, Succ(x2)) 214.33/145.93 new_primPlusNat0(Zero, Zero) 214.33/145.93 new_sr(x0, ty_Integer) 214.33/145.93 new_primQuotInt0(x0, Pos(Succ(x1))) 214.33/145.93 new_primModNatS01(x0, x1, Succ(x2), Zero) 214.33/145.93 new_ms(x0, Pos(Succ(x1))) 214.33/145.93 new_primModNatS1(Succ(Succ(x0)), Zero) 214.33/145.93 new_sr4(x0, x1, ty_Integer) 214.33/145.93 new_rem(Pos(x0), Pos(Zero)) 214.33/145.93 new_sr4(x0, x1, ty_Int) 214.33/145.93 new_ms0(x0, Neg(Succ(x1))) 214.33/145.93 new_quot(Pos(x0), x1, x2) 214.33/145.93 new_primMinusNatS2(Zero, Zero) 214.33/145.93 new_esEs0(x0, ty_Int) 214.33/145.93 new_primMinusNat0(Succ(x0), Zero) 214.33/145.93 new_ms0(x0, Pos(x1)) 214.33/145.93 new_esEs(Pos(Zero)) 214.33/145.93 new_quot(Neg(x0), x1, x2) 214.33/145.93 new_primDivNatS01(x0, x1, Succ(x2), Succ(x3)) 214.33/145.93 new_quot2(x0, x1, x2) 214.33/145.93 new_primEqInt(Neg(Succ(x0))) 214.33/145.93 new_sr10(Neg(x0), Neg(x1)) 214.33/145.93 new_sr3(x0, app(ty_Ratio, x1)) 214.33/145.93 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 214.33/145.93 new_sr9(x0, x1) 214.33/145.93 new_sr2(x0, x1, ty_Integer) 214.33/145.93 new_sr7(Neg(x0)) 214.33/145.93 new_sr1(x0, ty_Double) 214.33/145.93 new_primQuotInt0(x0, Neg(Succ(x1))) 214.33/145.93 new_sr0(x0, ty_Integer) 214.33/145.93 new_rem(Pos(x0), Neg(Zero)) 214.33/145.93 new_rem(Neg(x0), Pos(Zero)) 214.33/145.93 new_gcd0Gcd'00(x0, x1) 214.33/145.93 new_primQuotInt(x0, Neg(Succ(x1))) 214.33/145.93 new_primMinusNatS2(Succ(x0), Succ(x1)) 214.33/145.93 new_ms(x0, Pos(Zero)) 214.33/145.93 new_abs(Pos(Zero)) 214.33/145.93 new_primMinusNat0(Succ(x0), Succ(x1)) 214.33/145.93 new_quot0(x0, x1, x2, x3, ty_Integer) 214.33/145.93 new_sr0(x0, ty_Int) 214.33/145.93 new_sr6(x0) 214.33/145.93 new_gcd2(False, x0, x1) 214.33/145.93 new_gcd1(True, x0, x1) 214.33/145.93 new_esEs2(x0, x1, ty_Integer) 214.33/145.93 new_primMinusNatS1 214.33/145.93 new_sr7(Pos(x0)) 214.33/145.93 new_gcd0Gcd'10(True, x0, x1) 214.33/145.93 new_primModNatS1(Zero, x0) 214.33/145.93 new_sr4(x0, x1, ty_Float) 214.33/145.93 new_sr10(Pos(x0), Neg(x1)) 214.33/145.93 new_sr10(Neg(x0), Pos(x1)) 214.33/145.93 new_primDivNatS01(x0, x1, Succ(x2), Zero) 214.33/145.93 new_primDivNatS1(Succ(Succ(x0)), Succ(x1)) 214.33/145.93 new_primPlusNat0(Succ(x0), Succ(x1)) 214.33/145.93 new_primDivNatS1(Succ(Zero), Succ(x0)) 214.33/145.93 new_primQuotInt(x0, Pos(Succ(x1))) 214.33/145.93 new_sr2(x0, x1, app(ty_Ratio, x2)) 214.33/145.93 new_abs(Neg(Succ(x0))) 214.33/145.93 new_esEs0(x0, ty_Integer) 214.33/145.93 new_sr3(x0, ty_Int) 214.33/145.93 new_esEs(Neg(Succ(x0))) 214.33/145.93 new_sr(x0, app(ty_Ratio, x1)) 214.33/145.93 new_ms0(x0, Neg(Zero)) 214.33/145.93 new_primModNatS01(x0, x1, Zero, Zero) 214.33/145.93 new_sr4(x0, x1, app(ty_Ratio, x2)) 214.33/145.93 new_gcd0(x0, x1) 214.33/145.93 new_primEqInt(Pos(Succ(x0))) 214.33/145.93 new_sr3(x0, ty_Double) 214.33/145.93 new_quot1(x0, x1, x2, x3, ty_Integer) 214.33/145.93 new_primDivNatS1(Succ(Succ(x0)), Zero) 214.33/145.93 new_primMulNat1(Succ(x0)) 214.33/145.93 new_sr14(x0, x1) 214.33/145.93 new_quot0(x0, x1, x2, x3, ty_Int) 214.33/145.93 new_sr2(x0, x1, ty_Int) 214.33/145.93 new_primModNatS1(Succ(Zero), Succ(x0)) 214.33/145.93 new_reduce2Reduce1(x0, x1, x2, x3, False, x4) 214.33/145.93 new_esEs(Neg(Zero)) 214.33/145.93 new_primMulNat1(Zero) 214.33/145.93 214.33/145.93 We have to consider all minimal (P,Q,R)-chains. 214.33/145.93 ---------------------------------------- 214.33/145.93 214.33/145.93 (744) UsableRulesProof (EQUIVALENT) 214.33/145.93 As all Q-normal forms are R-normal forms we are in the innermost case. Hence, by the usable rules processor [LPAR04] we can delete all non-usable rules [FROCOS05] from R. 214.33/145.93 ---------------------------------------- 214.33/145.93 214.33/145.93 (745) 214.33/145.93 Obligation: 214.33/145.93 Q DP problem: 214.33/145.93 The TRS P consists of the following rules: 214.33/145.93 214.33/145.93 new_pr2F0G10(vyv249, vyv250, vyv251, Succ(Zero), bb) -> new_pr2F0G11(vyv249, vyv250, vyv251, bb) 214.33/145.93 new_pr2F0G11(vyv239, vyv240, vyv241, bc) -> new_pr2F1(vyv240, vyv241, Pos(Succ(Zero)), vyv239, bc) 214.33/145.93 new_pr2F1(vyv240, vyv241, vyv244, vyv239, bc) -> new_pr2F30(new_esEs(new_ms0(vyv241, vyv244)), vyv240, vyv241, vyv244, vyv239, bc) 214.33/145.93 new_pr2F30(False, vyv240, vyv241, vyv244, vyv239, bc) -> new_pr2F0(vyv240, new_ms0(vyv241, vyv244), new_sr4(vyv240, vyv239, bc), bc) 214.33/145.93 new_pr2F0(vyv184, Neg(Succ(Succ(vyv223000))), vyv188, h) -> new_pr2F0G10(vyv188, vyv184, Succ(vyv223000), vyv223000, h) 214.33/145.93 new_pr2F0G10(vyv249, vyv250, vyv251, Succ(Succ(vyv25200)), bb) -> new_pr2F0G10(vyv249, vyv250, vyv251, vyv25200, bb) 214.33/145.93 new_pr2F0G10(vyv249, vyv250, vyv251, Zero, bb) -> new_pr2F0G(vyv249, new_sr3(vyv250, bb), Neg(new_primDivNatS1(Succ(vyv251), Succ(Zero))), bb) 214.33/145.93 new_pr2F0G(vyv188, vyv184, Neg(Succ(Zero)), h) -> new_pr2F0G11(vyv188, vyv184, Zero, h) 214.33/145.93 new_pr2F0G(vyv188, vyv184, Neg(Succ(Succ(vyv223000))), h) -> new_pr2F0G10(vyv188, vyv184, Succ(vyv223000), vyv223000, h) 214.33/145.93 new_pr2F0(vyv184, Neg(Succ(Zero)), vyv188, h) -> new_pr2F0G11(vyv188, vyv184, Zero, h) 214.33/145.93 new_pr2F0(vyv184, Pos(Succ(Succ(vyv223000))), vyv188, h) -> new_pr2F0G1(vyv188, vyv184, Succ(vyv223000), vyv223000, h) 214.33/145.93 new_pr2F0G1(vyv227, vyv228, vyv229, Succ(Succ(vyv23000)), ba) -> new_pr2F0G1(vyv227, vyv228, vyv229, vyv23000, ba) 214.33/145.93 new_pr2F0G1(vyv227, vyv228, vyv229, Succ(Zero), ba) -> new_pr2F(vyv228, vyv229, Pos(Succ(Zero)), vyv227, ba) 214.33/145.93 new_pr2F(vyv228, vyv229, vyv245, vyv227, ba) -> new_pr2F3(new_esEs(new_ms(vyv229, vyv245)), vyv228, vyv229, vyv245, vyv227, ba) 214.33/145.93 new_pr2F3(False, vyv228, vyv229, vyv245, vyv227, ba) -> new_pr2F0(vyv228, new_ms(vyv229, vyv245), new_sr2(vyv228, vyv227, ba), ba) 214.33/145.93 new_pr2F0(vyv184, Pos(Succ(Zero)), vyv188, h) -> new_pr2F(vyv184, Zero, Pos(Succ(Zero)), vyv188, h) 214.33/145.93 new_pr2F0(vyv184, Pos(Zero), vyv188, h) -> new_pr2F0G(vyv188, new_sr(vyv184, h), Pos(new_primDivNatS1(Zero, Succ(Zero))), h) 214.33/145.93 new_pr2F0G(vyv188, vyv184, Pos(Succ(Succ(vyv223000))), h) -> new_pr2F0G1(vyv188, vyv184, Succ(vyv223000), vyv223000, h) 214.33/145.93 new_pr2F0G1(vyv227, vyv228, vyv229, Zero, ba) -> new_pr2F0G(vyv227, new_sr1(vyv228, ba), Pos(new_primDivNatS1(Succ(vyv229), Succ(Zero))), ba) 214.33/145.93 new_pr2F0G(vyv188, vyv184, Pos(Succ(Zero)), h) -> new_pr2F(vyv184, Zero, Pos(Succ(Zero)), vyv188, h) 214.33/145.93 new_pr2F0G(vyv188, vyv184, Pos(Zero), h) -> new_pr2F0G(vyv188, new_sr(vyv184, h), Pos(new_primDivNatS1(Zero, Succ(Zero))), h) 214.33/145.93 214.33/145.93 The TRS R consists of the following rules: 214.33/145.93 214.33/145.93 new_sr(vyv184, ty_Double) -> new_sr11(vyv184) 214.33/145.93 new_sr(vyv184, app(ty_Ratio, bd)) -> new_sr5(vyv184, bd) 214.33/145.93 new_sr(vyv184, ty_Float) -> new_sr12(vyv184) 214.33/145.93 new_sr(vyv184, ty_Int) -> new_sr7(vyv184) 214.33/145.93 new_sr(vyv184, ty_Integer) -> new_sr6(vyv184) 214.33/145.93 new_primDivNatS1(Zero, vyv28500) -> Zero 214.33/145.93 new_sr6(vyv184) -> error([]) 214.33/145.93 new_sr7(Pos(vyv1840)) -> Pos(new_primMulNat1(vyv1840)) 214.33/145.93 new_sr7(Neg(vyv1840)) -> Pos(new_primMulNat1(vyv1840)) 214.33/145.93 new_primMulNat1(Succ(vyv18400)) -> new_primPlusNat0(new_primMulNat2(vyv18400), Succ(vyv18400)) 214.33/145.93 new_primMulNat1(Zero) -> Zero 214.33/145.93 new_primMulNat2(Succ(vyv184000)) -> new_primPlusNat0(new_primMulNat3(vyv184000), Succ(Succ(vyv184000))) 214.33/145.93 new_primMulNat2(Zero) -> Zero 214.33/145.93 new_primPlusNat0(Succ(vyv4000), Succ(vyv6000)) -> Succ(Succ(new_primPlusNat0(vyv4000, vyv6000))) 214.33/145.93 new_primPlusNat0(Zero, Succ(vyv6000)) -> Succ(vyv6000) 214.33/145.93 new_primPlusNat0(Zero, Zero) -> Zero 214.33/145.93 new_primPlusNat0(Succ(vyv4000), Zero) -> Succ(vyv4000) 214.33/145.93 new_primMulNat3(Succ(vyv1840000)) -> new_primPlusNat0(new_primMulNat4(vyv1840000), Succ(Succ(Succ(vyv1840000)))) 214.33/145.93 new_primMulNat3(Zero) -> Zero 214.33/145.93 new_primMulNat4(Succ(vyv18400000)) -> new_primPlusNat0(new_primMulNat0(vyv18400000, Succ(Succ(Succ(Succ(vyv18400000))))), Succ(Succ(Succ(Succ(vyv18400000))))) 214.33/145.93 new_primMulNat4(Zero) -> Zero 214.33/145.93 new_primMulNat0(Zero, Succ(vyv23900)) -> Zero 214.33/145.93 new_primMulNat0(Succ(vyv24000), Succ(vyv23900)) -> new_primPlusNat0(new_primMulNat0(vyv24000, Succ(vyv23900)), Succ(vyv23900)) 214.33/145.93 new_sr12(vyv184) -> error([]) 214.33/145.93 new_sr5(:%(vyv1840, vyv1841), bd) -> new_reduce2Reduce1(vyv1840, vyv1840, vyv1841, vyv1841, new_esEs0(vyv1841, bd), bd) 214.33/145.93 new_esEs0(vyv1841, ty_Int) -> new_esEs(new_sr7(vyv1841)) 214.33/145.93 new_esEs0(vyv1841, ty_Integer) -> new_esEs1(new_sr6(vyv1841)) 214.33/145.93 new_reduce2Reduce1(vyv265, vyv266, vyv267, vyv268, False, bh) -> :%(new_quot0(vyv265, vyv266, vyv267, vyv268, bh), new_quot1(vyv267, vyv268, vyv265, vyv266, bh)) 214.33/145.93 new_reduce2Reduce1(vyv265, vyv266, vyv267, vyv268, True, bh) -> error([]) 214.33/145.93 new_quot0(vyv265, vyv266, vyv267, vyv268, ty_Integer) -> new_quot2(new_sr9(vyv265, vyv266), new_sr9(vyv265, vyv266), new_sr9(vyv267, vyv268)) 214.33/145.93 new_quot0(vyv265, vyv266, vyv267, vyv268, ty_Int) -> new_quot(new_sr10(vyv265, vyv266), new_sr10(vyv265, vyv266), new_sr10(vyv267, vyv268)) 214.33/145.93 new_quot1(vyv267, vyv268, vyv265, vyv266, ty_Int) -> new_quot(new_sr10(vyv267, vyv268), new_sr10(vyv265, vyv266), new_sr10(vyv267, vyv268)) 214.33/145.93 new_quot1(vyv267, vyv268, vyv265, vyv266, ty_Integer) -> new_quot2(new_sr9(vyv267, vyv268), new_sr9(vyv265, vyv266), new_sr9(vyv267, vyv268)) 214.33/145.93 new_sr9(vyv240, vyv239) -> error([]) 214.33/145.93 new_quot2(vyv274, vyv276, vyv275) -> error([]) 214.33/145.93 new_sr10(Pos(vyv2400), Pos(vyv2390)) -> Pos(new_primMulNat0(vyv2400, vyv2390)) 214.33/145.93 new_sr10(Neg(vyv2400), Neg(vyv2390)) -> Pos(new_primMulNat0(vyv2400, vyv2390)) 214.33/145.93 new_sr10(Pos(vyv2400), Neg(vyv2390)) -> Neg(new_primMulNat0(vyv2400, vyv2390)) 214.33/145.93 new_sr10(Neg(vyv2400), Pos(vyv2390)) -> Neg(new_primMulNat0(vyv2400, vyv2390)) 214.33/145.93 new_quot(Pos(vyv2710), vyv273, vyv272) -> new_primQuotInt(vyv2710, new_gcd(vyv273, vyv272)) 214.33/145.93 new_quot(Neg(vyv2710), vyv273, vyv272) -> new_primQuotInt0(vyv2710, new_gcd(vyv273, vyv272)) 214.33/145.93 new_gcd(vyv273, vyv272) -> new_gcd2(new_esEs(vyv273), vyv273, vyv272) 214.33/145.93 new_primQuotInt0(vyv2710, Pos(Succ(vyv28800))) -> Neg(new_primDivNatS1(vyv2710, vyv28800)) 214.33/145.93 new_primQuotInt0(vyv2710, Neg(Zero)) -> new_error 214.33/145.93 new_primQuotInt0(vyv2710, Neg(Succ(vyv28800))) -> Pos(new_primDivNatS1(vyv2710, vyv28800)) 214.33/145.93 new_primQuotInt0(vyv2710, Pos(Zero)) -> new_error 214.33/145.93 new_error -> error([]) 214.33/145.93 new_primDivNatS1(Succ(Succ(vyv271000)), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS0(vyv271000), Zero)) 214.33/145.93 new_primDivNatS1(Succ(Zero), Succ(vyv285000)) -> Zero 214.33/145.93 new_primDivNatS1(Succ(Succ(vyv271000)), Succ(vyv285000)) -> new_primDivNatS01(vyv271000, vyv285000, vyv271000, vyv285000) 214.33/145.93 new_primDivNatS1(Succ(Zero), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS1, Zero)) 214.33/145.93 new_primMinusNatS1 -> Zero 214.33/145.93 new_primDivNatS01(vyv311, vyv312, Succ(vyv3130), Zero) -> new_primDivNatS02(vyv311, vyv312) 214.33/145.93 new_primDivNatS01(vyv311, vyv312, Zero, Succ(vyv3140)) -> Zero 214.33/145.93 new_primDivNatS01(vyv311, vyv312, Succ(vyv3130), Succ(vyv3140)) -> new_primDivNatS01(vyv311, vyv312, vyv3130, vyv3140) 214.33/145.93 new_primDivNatS01(vyv311, vyv312, Zero, Zero) -> new_primDivNatS02(vyv311, vyv312) 214.33/145.93 new_primDivNatS02(vyv311, vyv312) -> Succ(new_primDivNatS1(new_primMinusNatS2(vyv311, vyv312), Succ(vyv312))) 214.33/145.93 new_primMinusNatS2(Zero, Succ(vyv3120)) -> Zero 214.33/145.93 new_primMinusNatS2(Succ(vyv3110), Zero) -> Succ(vyv3110) 214.33/145.93 new_primMinusNatS2(Zero, Zero) -> Zero 214.33/145.93 new_primMinusNatS2(Succ(vyv3110), Succ(vyv3120)) -> new_primMinusNatS2(vyv3110, vyv3120) 214.33/145.93 new_primMinusNatS0(vyv271000) -> Succ(vyv271000) 214.33/145.93 new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) 214.33/145.93 new_esEs(Pos(Succ(vyv24300))) -> new_primEqInt(Pos(Succ(vyv24300))) 214.33/145.93 new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) 214.33/145.93 new_esEs(Neg(Succ(vyv24300))) -> new_primEqInt(Neg(Succ(vyv24300))) 214.33/145.93 new_gcd2(True, vyv273, vyv272) -> new_gcd1(new_esEs(vyv272), vyv273, vyv272) 214.33/145.93 new_gcd2(False, vyv273, vyv272) -> new_gcd0(vyv273, vyv272) 214.33/145.93 new_gcd0(vyv273, vyv272) -> new_gcd0Gcd'11(new_esEs(new_abs(vyv272)), vyv273, vyv272) 214.33/145.93 new_abs(Neg(Zero)) -> Neg(Zero) 214.33/145.93 new_abs(Neg(Succ(vyv27200))) -> Pos(Succ(vyv27200)) 214.33/145.93 new_abs(Pos(Succ(vyv27200))) -> Pos(Succ(vyv27200)) 214.33/145.93 new_abs(Pos(Zero)) -> Pos(Zero) 214.33/145.93 new_gcd0Gcd'11(True, vyv273, vyv272) -> new_abs(vyv273) 214.33/145.93 new_gcd0Gcd'11(False, vyv273, vyv272) -> new_gcd0Gcd'00(new_abs(vyv273), new_abs(vyv272)) 214.33/145.93 new_gcd0Gcd'10(False, vyv292, vyv293) -> new_gcd0Gcd'00(vyv292, new_rem(vyv293, vyv292)) 214.33/145.93 new_gcd0Gcd'00(vyv293, vyv292) -> new_gcd0Gcd'10(new_esEs(new_rem(vyv293, vyv292)), vyv292, vyv293) 214.33/145.93 new_rem(Pos(vyv2930), Neg(Zero)) -> new_error 214.33/145.93 new_rem(Neg(vyv2930), Pos(Zero)) -> new_error 214.33/145.93 new_rem(Pos(vyv2930), Neg(Succ(vyv29200))) -> Pos(new_primModNatS1(vyv2930, vyv29200)) 214.33/145.93 new_rem(Neg(vyv2930), Pos(Succ(vyv29200))) -> Neg(new_primModNatS1(vyv2930, vyv29200)) 214.33/145.93 new_rem(Pos(vyv2930), Pos(Succ(vyv29200))) -> Pos(new_primModNatS1(vyv2930, vyv29200)) 214.33/145.93 new_rem(Neg(vyv2930), Neg(Zero)) -> new_error 214.33/145.93 new_rem(Neg(vyv2930), Neg(Succ(vyv29200))) -> Neg(new_primModNatS1(vyv2930, vyv29200)) 214.33/145.93 new_rem(Pos(vyv2930), Pos(Zero)) -> new_error 214.33/145.93 new_gcd0Gcd'10(True, vyv292, vyv293) -> vyv292 214.33/145.93 new_primModNatS1(Succ(Zero), Succ(vyv292000)) -> Succ(Zero) 214.33/145.93 new_primModNatS1(Zero, vyv29200) -> Zero 214.33/145.93 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 214.33/145.93 new_primModNatS1(Succ(Succ(vyv293000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv293000), Zero) 214.33/145.93 new_primModNatS1(Succ(Succ(vyv293000)), Succ(vyv292000)) -> new_primModNatS01(vyv293000, vyv292000, vyv293000, vyv292000) 214.33/145.93 new_primModNatS01(vyv331, vyv332, Zero, Zero) -> new_primModNatS02(vyv331, vyv332) 214.33/145.93 new_primModNatS02(vyv331, vyv332) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv331), Succ(vyv332)), Succ(vyv332)) 214.33/145.93 new_primModNatS01(vyv331, vyv332, Succ(vyv3330), Zero) -> new_primModNatS02(vyv331, vyv332) 214.33/145.93 new_primModNatS01(vyv331, vyv332, Succ(vyv3330), Succ(vyv3340)) -> new_primModNatS01(vyv331, vyv332, vyv3330, vyv3340) 214.33/145.93 new_primModNatS01(vyv331, vyv332, Zero, Succ(vyv3340)) -> Succ(Succ(vyv331)) 214.33/145.93 new_gcd1(True, vyv273, vyv272) -> new_error 214.33/145.93 new_gcd1(False, vyv273, vyv272) -> new_gcd0(vyv273, vyv272) 214.33/145.93 new_primEqInt(Neg(Succ(vyv242000))) -> False 214.33/145.93 new_primEqInt(Pos(Zero)) -> True 214.33/145.93 new_primEqInt(Pos(Succ(vyv242000))) -> False 214.33/145.93 new_primEqInt(Neg(Zero)) -> True 214.33/145.93 new_primQuotInt(vyv2710, Pos(Succ(vyv28500))) -> Pos(new_primDivNatS1(vyv2710, vyv28500)) 214.33/145.93 new_primQuotInt(vyv2710, Neg(Zero)) -> new_error 214.33/145.93 new_primQuotInt(vyv2710, Pos(Zero)) -> new_error 214.33/145.93 new_primQuotInt(vyv2710, Neg(Succ(vyv28500))) -> Neg(new_primDivNatS1(vyv2710, vyv28500)) 214.33/145.93 new_primMulNat0(Succ(vyv24000), Zero) -> Zero 214.33/145.93 new_primMulNat0(Zero, Zero) -> Zero 214.33/145.93 new_esEs1(Integer(vyv2700)) -> new_primEqInt(vyv2700) 214.33/145.93 new_sr11(vyv184) -> error([]) 214.33/145.93 new_sr1(vyv228, ty_Double) -> new_sr11(vyv228) 214.33/145.93 new_sr1(vyv228, ty_Float) -> new_sr12(vyv228) 214.33/145.93 new_sr1(vyv228, app(ty_Ratio, bg)) -> new_sr5(vyv228, bg) 214.33/145.93 new_sr1(vyv228, ty_Integer) -> new_sr6(vyv228) 214.33/145.93 new_sr1(vyv228, ty_Int) -> new_sr7(vyv228) 214.33/145.93 new_ms(vyv229, Neg(vyv2450)) -> Pos(new_primPlusNat0(Succ(vyv229), vyv2450)) 214.33/145.93 new_ms(vyv229, Pos(Succ(vyv24500))) -> new_primMinusNat0(vyv229, vyv24500) 214.33/145.93 new_ms(vyv229, Pos(Zero)) -> Pos(Succ(vyv229)) 214.33/145.93 new_sr2(vyv228, vyv227, ty_Integer) -> new_sr9(vyv228, vyv227) 214.33/145.93 new_sr2(vyv228, vyv227, ty_Int) -> new_sr10(vyv228, vyv227) 214.33/145.93 new_sr2(vyv228, vyv227, app(ty_Ratio, bg)) -> new_sr8(vyv228, vyv227, bg) 214.33/145.93 new_sr2(vyv228, vyv227, ty_Double) -> new_sr13(vyv228, vyv227) 214.33/145.93 new_sr2(vyv228, vyv227, ty_Float) -> new_sr14(vyv228, vyv227) 214.33/145.93 new_sr14(vyv240, vyv239) -> error([]) 214.33/145.93 new_sr13(vyv240, vyv239) -> error([]) 214.33/145.93 new_sr8(:%(vyv2400, vyv2401), :%(vyv2390, vyv2391), be) -> new_reduce2Reduce1(vyv2400, vyv2390, vyv2401, vyv2391, new_esEs2(vyv2401, vyv2391, be), be) 214.33/145.93 new_esEs2(vyv2401, vyv2391, ty_Integer) -> new_esEs1(new_sr9(vyv2401, vyv2391)) 214.33/145.93 new_esEs2(vyv2401, vyv2391, ty_Int) -> new_esEs(new_sr10(vyv2401, vyv2391)) 214.33/145.93 new_primMinusNat0(Succ(vyv2290), Succ(vyv245000)) -> new_primMinusNat0(vyv2290, vyv245000) 214.33/145.93 new_primMinusNat0(Zero, Zero) -> Pos(Zero) 214.33/145.93 new_primMinusNat0(Zero, Succ(vyv245000)) -> Neg(Succ(vyv245000)) 214.33/145.93 new_primMinusNat0(Succ(vyv2290), Zero) -> Pos(Succ(vyv2290)) 214.33/145.93 new_sr3(vyv250, ty_Double) -> new_sr11(vyv250) 214.33/145.93 new_sr3(vyv250, ty_Int) -> new_sr7(vyv250) 214.33/145.93 new_sr3(vyv250, ty_Float) -> new_sr12(vyv250) 214.33/145.93 new_sr3(vyv250, ty_Integer) -> new_sr6(vyv250) 214.33/145.93 new_sr3(vyv250, app(ty_Ratio, bf)) -> new_sr5(vyv250, bf) 214.33/145.93 new_ms0(vyv241, Neg(Zero)) -> Neg(Succ(vyv241)) 214.33/145.93 new_ms0(vyv241, Pos(vyv2440)) -> Neg(new_primPlusNat0(Succ(vyv241), vyv2440)) 214.33/145.93 new_ms0(vyv241, Neg(Succ(vyv24400))) -> new_primMinusNat0(vyv24400, vyv241) 214.33/145.93 new_sr4(vyv240, vyv239, app(ty_Ratio, be)) -> new_sr8(vyv240, vyv239, be) 214.33/145.93 new_sr4(vyv240, vyv239, ty_Float) -> new_sr14(vyv240, vyv239) 214.33/145.93 new_sr4(vyv240, vyv239, ty_Int) -> new_sr10(vyv240, vyv239) 214.33/145.93 new_sr4(vyv240, vyv239, ty_Double) -> new_sr13(vyv240, vyv239) 214.33/145.93 new_sr4(vyv240, vyv239, ty_Integer) -> new_sr9(vyv240, vyv239) 214.33/145.93 214.33/145.93 The set Q consists of the following terms: 214.33/145.93 214.33/145.93 new_sr13(x0, x1) 214.33/145.93 new_primDivNatS01(x0, x1, Zero, Zero) 214.33/145.93 new_gcd0Gcd'11(False, x0, x1) 214.33/145.93 new_primMulNat4(Zero) 214.33/145.93 new_gcd0Gcd'11(True, x0, x1) 214.33/145.93 new_sr2(x0, x1, ty_Float) 214.33/145.93 new_sr5(:%(x0, x1), x2) 214.33/145.93 new_primEqInt(Pos(Zero)) 214.33/145.93 new_ms(x0, Neg(x1)) 214.33/145.93 new_sr2(x0, x1, ty_Double) 214.33/145.93 new_esEs(Pos(Succ(x0))) 214.33/145.93 new_primQuotInt0(x0, Neg(Zero)) 214.33/145.93 new_primMulNat3(Zero) 214.33/145.93 new_primModNatS02(x0, x1) 214.33/145.93 new_sr(x0, ty_Double) 214.33/145.93 new_sr0(x0, ty_Double) 214.33/145.93 new_primDivNatS1(Succ(Zero), Zero) 214.33/145.93 new_primMinusNatS0(x0) 214.33/145.93 new_sr11(x0) 214.33/145.93 new_sr0(x0, app(ty_Ratio, x1)) 214.33/145.93 new_rem(Pos(x0), Neg(Succ(x1))) 214.33/145.93 new_rem(Neg(x0), Pos(Succ(x1))) 214.33/145.93 new_primMulNat0(Zero, Zero) 214.33/145.93 new_primPlusNat0(Succ(x0), Zero) 214.33/145.93 new_primMulNat0(Succ(x0), Zero) 214.33/145.93 new_sr3(x0, ty_Float) 214.33/145.93 new_primMulNat2(Zero) 214.33/145.93 new_primQuotInt(x0, Pos(Zero)) 214.33/145.93 new_primMulNat2(Succ(x0)) 214.33/145.93 new_primQuotInt(x0, Neg(Zero)) 214.33/145.93 new_rem(Neg(x0), Neg(Succ(x1))) 214.33/145.93 new_primMinusNatS2(Zero, Succ(x0)) 214.33/145.93 new_sr(x0, ty_Int) 214.33/145.93 new_sr4(x0, x1, ty_Double) 214.33/145.93 new_primMulNat3(Succ(x0)) 214.33/145.93 new_sr0(x0, ty_Float) 214.33/145.93 new_esEs1(Integer(x0)) 214.33/145.93 new_primQuotInt0(x0, Pos(Zero)) 214.33/145.93 new_gcd2(True, x0, x1) 214.33/145.93 new_quot1(x0, x1, x2, x3, ty_Int) 214.33/145.93 new_primDivNatS1(Zero, x0) 214.33/145.93 new_primMinusNat0(Zero, Zero) 214.33/145.93 new_gcd(x0, x1) 214.33/145.93 new_gcd1(False, x0, x1) 214.33/145.93 new_esEs2(x0, x1, ty_Int) 214.33/145.93 new_sr3(x0, ty_Integer) 214.33/145.93 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 214.33/145.93 new_sr1(x0, app(ty_Ratio, x1)) 214.33/145.93 new_sr1(x0, ty_Float) 214.33/145.93 new_primPlusNat0(Zero, Succ(x0)) 214.33/145.93 new_sr8(:%(x0, x1), :%(x2, x3), x4) 214.33/145.93 new_abs(Neg(Zero)) 214.33/145.93 new_primMinusNatS2(Succ(x0), Zero) 214.33/145.93 new_error 214.33/145.93 new_primModNatS1(Succ(Zero), Zero) 214.33/145.93 new_primMulNat4(Succ(x0)) 214.33/145.93 new_sr1(x0, ty_Integer) 214.33/145.93 new_primDivNatS02(x0, x1) 214.33/145.93 new_sr1(x0, ty_Int) 214.33/145.93 new_rem(Neg(x0), Neg(Zero)) 214.33/145.93 new_primMinusNat0(Zero, Succ(x0)) 214.33/145.93 new_primEqInt(Neg(Zero)) 214.33/145.93 new_rem(Pos(x0), Pos(Succ(x1))) 214.33/145.93 new_abs(Pos(Succ(x0))) 214.33/145.93 new_primMulNat0(Succ(x0), Succ(x1)) 214.33/145.93 new_primMulNat0(Zero, Succ(x0)) 214.33/145.93 new_reduce2Reduce1(x0, x1, x2, x3, True, x4) 214.33/145.93 new_sr(x0, ty_Float) 214.33/145.93 new_gcd0Gcd'10(False, x0, x1) 214.33/145.93 new_sr12(x0) 214.33/145.93 new_primDivNatS01(x0, x1, Zero, Succ(x2)) 214.33/145.93 new_sr10(Pos(x0), Pos(x1)) 214.33/145.93 new_primModNatS01(x0, x1, Zero, Succ(x2)) 214.33/145.93 new_primPlusNat0(Zero, Zero) 214.33/145.93 new_sr(x0, ty_Integer) 214.33/145.93 new_primQuotInt0(x0, Pos(Succ(x1))) 214.33/145.93 new_primModNatS01(x0, x1, Succ(x2), Zero) 214.33/145.93 new_ms(x0, Pos(Succ(x1))) 214.33/145.93 new_primModNatS1(Succ(Succ(x0)), Zero) 214.33/145.93 new_sr4(x0, x1, ty_Integer) 214.33/145.93 new_rem(Pos(x0), Pos(Zero)) 214.33/145.93 new_sr4(x0, x1, ty_Int) 214.33/145.93 new_ms0(x0, Neg(Succ(x1))) 214.33/145.93 new_quot(Pos(x0), x1, x2) 214.33/145.93 new_primMinusNatS2(Zero, Zero) 214.33/145.93 new_esEs0(x0, ty_Int) 214.33/145.93 new_primMinusNat0(Succ(x0), Zero) 214.33/145.93 new_ms0(x0, Pos(x1)) 214.33/145.93 new_esEs(Pos(Zero)) 214.33/145.93 new_quot(Neg(x0), x1, x2) 214.33/145.93 new_primDivNatS01(x0, x1, Succ(x2), Succ(x3)) 214.33/145.93 new_quot2(x0, x1, x2) 214.33/145.93 new_primEqInt(Neg(Succ(x0))) 214.33/145.93 new_sr10(Neg(x0), Neg(x1)) 214.33/145.93 new_sr3(x0, app(ty_Ratio, x1)) 214.33/145.93 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 214.33/145.93 new_sr9(x0, x1) 214.33/145.93 new_sr2(x0, x1, ty_Integer) 214.33/145.93 new_sr7(Neg(x0)) 214.33/145.93 new_sr1(x0, ty_Double) 214.33/145.93 new_primQuotInt0(x0, Neg(Succ(x1))) 214.33/145.93 new_sr0(x0, ty_Integer) 214.33/145.93 new_rem(Pos(x0), Neg(Zero)) 214.33/145.93 new_rem(Neg(x0), Pos(Zero)) 214.33/145.93 new_gcd0Gcd'00(x0, x1) 214.33/145.93 new_primQuotInt(x0, Neg(Succ(x1))) 214.33/145.93 new_primMinusNatS2(Succ(x0), Succ(x1)) 214.33/145.93 new_ms(x0, Pos(Zero)) 214.33/145.93 new_abs(Pos(Zero)) 214.33/145.93 new_primMinusNat0(Succ(x0), Succ(x1)) 214.33/145.93 new_quot0(x0, x1, x2, x3, ty_Integer) 214.33/145.93 new_sr0(x0, ty_Int) 214.33/145.93 new_sr6(x0) 214.33/145.93 new_gcd2(False, x0, x1) 214.33/145.93 new_gcd1(True, x0, x1) 214.33/145.93 new_esEs2(x0, x1, ty_Integer) 214.33/145.93 new_primMinusNatS1 214.33/145.93 new_sr7(Pos(x0)) 214.33/145.93 new_gcd0Gcd'10(True, x0, x1) 214.33/145.93 new_primModNatS1(Zero, x0) 214.33/145.93 new_sr4(x0, x1, ty_Float) 214.33/145.93 new_sr10(Pos(x0), Neg(x1)) 214.33/145.93 new_sr10(Neg(x0), Pos(x1)) 214.33/145.93 new_primDivNatS01(x0, x1, Succ(x2), Zero) 214.33/145.93 new_primDivNatS1(Succ(Succ(x0)), Succ(x1)) 214.33/145.93 new_primPlusNat0(Succ(x0), Succ(x1)) 214.33/145.93 new_primDivNatS1(Succ(Zero), Succ(x0)) 214.33/145.93 new_primQuotInt(x0, Pos(Succ(x1))) 214.33/145.93 new_sr2(x0, x1, app(ty_Ratio, x2)) 214.33/145.93 new_abs(Neg(Succ(x0))) 214.33/145.93 new_esEs0(x0, ty_Integer) 214.33/145.93 new_sr3(x0, ty_Int) 214.33/145.93 new_esEs(Neg(Succ(x0))) 214.33/145.93 new_sr(x0, app(ty_Ratio, x1)) 214.33/145.93 new_ms0(x0, Neg(Zero)) 214.33/145.93 new_primModNatS01(x0, x1, Zero, Zero) 214.33/145.93 new_sr4(x0, x1, app(ty_Ratio, x2)) 214.33/145.93 new_gcd0(x0, x1) 214.33/145.93 new_primEqInt(Pos(Succ(x0))) 214.33/145.93 new_sr3(x0, ty_Double) 214.33/145.93 new_quot1(x0, x1, x2, x3, ty_Integer) 214.33/145.93 new_primDivNatS1(Succ(Succ(x0)), Zero) 214.33/145.93 new_primMulNat1(Succ(x0)) 214.33/145.93 new_sr14(x0, x1) 214.33/145.93 new_quot0(x0, x1, x2, x3, ty_Int) 214.33/145.93 new_sr2(x0, x1, ty_Int) 214.33/145.93 new_primModNatS1(Succ(Zero), Succ(x0)) 214.33/145.93 new_reduce2Reduce1(x0, x1, x2, x3, False, x4) 214.33/145.93 new_esEs(Neg(Zero)) 214.33/145.93 new_primMulNat1(Zero) 214.33/145.93 214.33/145.93 We have to consider all minimal (P,Q,R)-chains. 214.33/145.93 ---------------------------------------- 214.33/145.93 214.33/145.93 (746) QReductionProof (EQUIVALENT) 214.33/145.93 We deleted the following terms from Q as each root-symbol of these terms does neither occur in P nor in R.[THIEMANN]. 214.33/145.93 214.33/145.93 new_sr0(x0, ty_Double) 214.33/145.93 new_sr0(x0, app(ty_Ratio, x1)) 214.33/145.93 new_sr0(x0, ty_Float) 214.33/145.93 new_sr0(x0, ty_Integer) 214.33/145.93 new_sr0(x0, ty_Int) 214.33/145.93 214.33/145.93 214.33/145.93 ---------------------------------------- 214.33/145.93 214.33/145.93 (747) 214.33/145.93 Obligation: 214.33/145.93 Q DP problem: 214.33/145.93 The TRS P consists of the following rules: 214.33/145.93 214.33/145.93 new_pr2F0G10(vyv249, vyv250, vyv251, Succ(Zero), bb) -> new_pr2F0G11(vyv249, vyv250, vyv251, bb) 214.33/145.93 new_pr2F0G11(vyv239, vyv240, vyv241, bc) -> new_pr2F1(vyv240, vyv241, Pos(Succ(Zero)), vyv239, bc) 214.33/145.93 new_pr2F1(vyv240, vyv241, vyv244, vyv239, bc) -> new_pr2F30(new_esEs(new_ms0(vyv241, vyv244)), vyv240, vyv241, vyv244, vyv239, bc) 214.33/145.93 new_pr2F30(False, vyv240, vyv241, vyv244, vyv239, bc) -> new_pr2F0(vyv240, new_ms0(vyv241, vyv244), new_sr4(vyv240, vyv239, bc), bc) 214.33/145.93 new_pr2F0(vyv184, Neg(Succ(Succ(vyv223000))), vyv188, h) -> new_pr2F0G10(vyv188, vyv184, Succ(vyv223000), vyv223000, h) 214.33/145.93 new_pr2F0G10(vyv249, vyv250, vyv251, Succ(Succ(vyv25200)), bb) -> new_pr2F0G10(vyv249, vyv250, vyv251, vyv25200, bb) 214.33/145.93 new_pr2F0G10(vyv249, vyv250, vyv251, Zero, bb) -> new_pr2F0G(vyv249, new_sr3(vyv250, bb), Neg(new_primDivNatS1(Succ(vyv251), Succ(Zero))), bb) 214.33/145.93 new_pr2F0G(vyv188, vyv184, Neg(Succ(Zero)), h) -> new_pr2F0G11(vyv188, vyv184, Zero, h) 214.33/145.93 new_pr2F0G(vyv188, vyv184, Neg(Succ(Succ(vyv223000))), h) -> new_pr2F0G10(vyv188, vyv184, Succ(vyv223000), vyv223000, h) 214.33/145.93 new_pr2F0(vyv184, Neg(Succ(Zero)), vyv188, h) -> new_pr2F0G11(vyv188, vyv184, Zero, h) 214.33/145.93 new_pr2F0(vyv184, Pos(Succ(Succ(vyv223000))), vyv188, h) -> new_pr2F0G1(vyv188, vyv184, Succ(vyv223000), vyv223000, h) 214.33/145.93 new_pr2F0G1(vyv227, vyv228, vyv229, Succ(Succ(vyv23000)), ba) -> new_pr2F0G1(vyv227, vyv228, vyv229, vyv23000, ba) 214.33/145.93 new_pr2F0G1(vyv227, vyv228, vyv229, Succ(Zero), ba) -> new_pr2F(vyv228, vyv229, Pos(Succ(Zero)), vyv227, ba) 214.33/145.93 new_pr2F(vyv228, vyv229, vyv245, vyv227, ba) -> new_pr2F3(new_esEs(new_ms(vyv229, vyv245)), vyv228, vyv229, vyv245, vyv227, ba) 214.33/145.93 new_pr2F3(False, vyv228, vyv229, vyv245, vyv227, ba) -> new_pr2F0(vyv228, new_ms(vyv229, vyv245), new_sr2(vyv228, vyv227, ba), ba) 214.33/145.93 new_pr2F0(vyv184, Pos(Succ(Zero)), vyv188, h) -> new_pr2F(vyv184, Zero, Pos(Succ(Zero)), vyv188, h) 214.33/145.93 new_pr2F0(vyv184, Pos(Zero), vyv188, h) -> new_pr2F0G(vyv188, new_sr(vyv184, h), Pos(new_primDivNatS1(Zero, Succ(Zero))), h) 214.33/145.93 new_pr2F0G(vyv188, vyv184, Pos(Succ(Succ(vyv223000))), h) -> new_pr2F0G1(vyv188, vyv184, Succ(vyv223000), vyv223000, h) 214.33/145.93 new_pr2F0G1(vyv227, vyv228, vyv229, Zero, ba) -> new_pr2F0G(vyv227, new_sr1(vyv228, ba), Pos(new_primDivNatS1(Succ(vyv229), Succ(Zero))), ba) 214.33/145.93 new_pr2F0G(vyv188, vyv184, Pos(Succ(Zero)), h) -> new_pr2F(vyv184, Zero, Pos(Succ(Zero)), vyv188, h) 214.33/145.93 new_pr2F0G(vyv188, vyv184, Pos(Zero), h) -> new_pr2F0G(vyv188, new_sr(vyv184, h), Pos(new_primDivNatS1(Zero, Succ(Zero))), h) 214.33/145.93 214.33/145.93 The TRS R consists of the following rules: 214.33/145.93 214.33/145.93 new_sr(vyv184, ty_Double) -> new_sr11(vyv184) 214.33/145.93 new_sr(vyv184, app(ty_Ratio, bd)) -> new_sr5(vyv184, bd) 214.33/145.93 new_sr(vyv184, ty_Float) -> new_sr12(vyv184) 214.33/145.93 new_sr(vyv184, ty_Int) -> new_sr7(vyv184) 214.33/145.93 new_sr(vyv184, ty_Integer) -> new_sr6(vyv184) 214.33/145.93 new_primDivNatS1(Zero, vyv28500) -> Zero 214.33/145.93 new_sr6(vyv184) -> error([]) 214.33/145.93 new_sr7(Pos(vyv1840)) -> Pos(new_primMulNat1(vyv1840)) 214.33/145.93 new_sr7(Neg(vyv1840)) -> Pos(new_primMulNat1(vyv1840)) 214.33/145.93 new_primMulNat1(Succ(vyv18400)) -> new_primPlusNat0(new_primMulNat2(vyv18400), Succ(vyv18400)) 214.33/145.93 new_primMulNat1(Zero) -> Zero 214.33/145.93 new_primMulNat2(Succ(vyv184000)) -> new_primPlusNat0(new_primMulNat3(vyv184000), Succ(Succ(vyv184000))) 214.33/145.93 new_primMulNat2(Zero) -> Zero 214.33/145.93 new_primPlusNat0(Succ(vyv4000), Succ(vyv6000)) -> Succ(Succ(new_primPlusNat0(vyv4000, vyv6000))) 214.33/145.93 new_primPlusNat0(Zero, Succ(vyv6000)) -> Succ(vyv6000) 214.33/145.93 new_primPlusNat0(Zero, Zero) -> Zero 214.33/145.93 new_primPlusNat0(Succ(vyv4000), Zero) -> Succ(vyv4000) 214.33/145.93 new_primMulNat3(Succ(vyv1840000)) -> new_primPlusNat0(new_primMulNat4(vyv1840000), Succ(Succ(Succ(vyv1840000)))) 214.33/145.93 new_primMulNat3(Zero) -> Zero 214.33/145.93 new_primMulNat4(Succ(vyv18400000)) -> new_primPlusNat0(new_primMulNat0(vyv18400000, Succ(Succ(Succ(Succ(vyv18400000))))), Succ(Succ(Succ(Succ(vyv18400000))))) 214.33/145.93 new_primMulNat4(Zero) -> Zero 214.33/145.93 new_primMulNat0(Zero, Succ(vyv23900)) -> Zero 214.33/145.93 new_primMulNat0(Succ(vyv24000), Succ(vyv23900)) -> new_primPlusNat0(new_primMulNat0(vyv24000, Succ(vyv23900)), Succ(vyv23900)) 214.33/145.93 new_sr12(vyv184) -> error([]) 214.33/145.93 new_sr5(:%(vyv1840, vyv1841), bd) -> new_reduce2Reduce1(vyv1840, vyv1840, vyv1841, vyv1841, new_esEs0(vyv1841, bd), bd) 214.33/145.93 new_esEs0(vyv1841, ty_Int) -> new_esEs(new_sr7(vyv1841)) 214.33/145.93 new_esEs0(vyv1841, ty_Integer) -> new_esEs1(new_sr6(vyv1841)) 214.33/145.93 new_reduce2Reduce1(vyv265, vyv266, vyv267, vyv268, False, bh) -> :%(new_quot0(vyv265, vyv266, vyv267, vyv268, bh), new_quot1(vyv267, vyv268, vyv265, vyv266, bh)) 214.33/145.93 new_reduce2Reduce1(vyv265, vyv266, vyv267, vyv268, True, bh) -> error([]) 214.33/145.93 new_quot0(vyv265, vyv266, vyv267, vyv268, ty_Integer) -> new_quot2(new_sr9(vyv265, vyv266), new_sr9(vyv265, vyv266), new_sr9(vyv267, vyv268)) 214.33/145.93 new_quot0(vyv265, vyv266, vyv267, vyv268, ty_Int) -> new_quot(new_sr10(vyv265, vyv266), new_sr10(vyv265, vyv266), new_sr10(vyv267, vyv268)) 214.33/145.93 new_quot1(vyv267, vyv268, vyv265, vyv266, ty_Int) -> new_quot(new_sr10(vyv267, vyv268), new_sr10(vyv265, vyv266), new_sr10(vyv267, vyv268)) 214.33/145.93 new_quot1(vyv267, vyv268, vyv265, vyv266, ty_Integer) -> new_quot2(new_sr9(vyv267, vyv268), new_sr9(vyv265, vyv266), new_sr9(vyv267, vyv268)) 214.33/145.93 new_sr9(vyv240, vyv239) -> error([]) 214.33/145.93 new_quot2(vyv274, vyv276, vyv275) -> error([]) 214.33/145.93 new_sr10(Pos(vyv2400), Pos(vyv2390)) -> Pos(new_primMulNat0(vyv2400, vyv2390)) 214.33/145.93 new_sr10(Neg(vyv2400), Neg(vyv2390)) -> Pos(new_primMulNat0(vyv2400, vyv2390)) 214.33/145.93 new_sr10(Pos(vyv2400), Neg(vyv2390)) -> Neg(new_primMulNat0(vyv2400, vyv2390)) 214.33/145.93 new_sr10(Neg(vyv2400), Pos(vyv2390)) -> Neg(new_primMulNat0(vyv2400, vyv2390)) 214.33/145.93 new_quot(Pos(vyv2710), vyv273, vyv272) -> new_primQuotInt(vyv2710, new_gcd(vyv273, vyv272)) 214.33/145.93 new_quot(Neg(vyv2710), vyv273, vyv272) -> new_primQuotInt0(vyv2710, new_gcd(vyv273, vyv272)) 214.33/145.93 new_gcd(vyv273, vyv272) -> new_gcd2(new_esEs(vyv273), vyv273, vyv272) 214.33/145.93 new_primQuotInt0(vyv2710, Pos(Succ(vyv28800))) -> Neg(new_primDivNatS1(vyv2710, vyv28800)) 214.33/145.93 new_primQuotInt0(vyv2710, Neg(Zero)) -> new_error 214.33/145.93 new_primQuotInt0(vyv2710, Neg(Succ(vyv28800))) -> Pos(new_primDivNatS1(vyv2710, vyv28800)) 214.33/145.93 new_primQuotInt0(vyv2710, Pos(Zero)) -> new_error 214.33/145.93 new_error -> error([]) 214.33/145.93 new_primDivNatS1(Succ(Succ(vyv271000)), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS0(vyv271000), Zero)) 214.33/145.93 new_primDivNatS1(Succ(Zero), Succ(vyv285000)) -> Zero 214.33/145.93 new_primDivNatS1(Succ(Succ(vyv271000)), Succ(vyv285000)) -> new_primDivNatS01(vyv271000, vyv285000, vyv271000, vyv285000) 214.33/145.93 new_primDivNatS1(Succ(Zero), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS1, Zero)) 214.33/145.93 new_primMinusNatS1 -> Zero 214.33/145.93 new_primDivNatS01(vyv311, vyv312, Succ(vyv3130), Zero) -> new_primDivNatS02(vyv311, vyv312) 214.33/145.93 new_primDivNatS01(vyv311, vyv312, Zero, Succ(vyv3140)) -> Zero 214.33/145.93 new_primDivNatS01(vyv311, vyv312, Succ(vyv3130), Succ(vyv3140)) -> new_primDivNatS01(vyv311, vyv312, vyv3130, vyv3140) 214.33/145.93 new_primDivNatS01(vyv311, vyv312, Zero, Zero) -> new_primDivNatS02(vyv311, vyv312) 214.33/145.93 new_primDivNatS02(vyv311, vyv312) -> Succ(new_primDivNatS1(new_primMinusNatS2(vyv311, vyv312), Succ(vyv312))) 214.33/145.93 new_primMinusNatS2(Zero, Succ(vyv3120)) -> Zero 214.33/145.93 new_primMinusNatS2(Succ(vyv3110), Zero) -> Succ(vyv3110) 214.33/145.93 new_primMinusNatS2(Zero, Zero) -> Zero 214.33/145.93 new_primMinusNatS2(Succ(vyv3110), Succ(vyv3120)) -> new_primMinusNatS2(vyv3110, vyv3120) 214.33/145.93 new_primMinusNatS0(vyv271000) -> Succ(vyv271000) 214.33/145.93 new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) 214.33/145.93 new_esEs(Pos(Succ(vyv24300))) -> new_primEqInt(Pos(Succ(vyv24300))) 214.33/145.93 new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) 214.33/145.93 new_esEs(Neg(Succ(vyv24300))) -> new_primEqInt(Neg(Succ(vyv24300))) 214.33/145.93 new_gcd2(True, vyv273, vyv272) -> new_gcd1(new_esEs(vyv272), vyv273, vyv272) 214.33/145.93 new_gcd2(False, vyv273, vyv272) -> new_gcd0(vyv273, vyv272) 214.33/145.93 new_gcd0(vyv273, vyv272) -> new_gcd0Gcd'11(new_esEs(new_abs(vyv272)), vyv273, vyv272) 214.33/145.93 new_abs(Neg(Zero)) -> Neg(Zero) 214.33/145.93 new_abs(Neg(Succ(vyv27200))) -> Pos(Succ(vyv27200)) 214.33/145.93 new_abs(Pos(Succ(vyv27200))) -> Pos(Succ(vyv27200)) 214.33/145.93 new_abs(Pos(Zero)) -> Pos(Zero) 214.33/145.93 new_gcd0Gcd'11(True, vyv273, vyv272) -> new_abs(vyv273) 214.33/145.93 new_gcd0Gcd'11(False, vyv273, vyv272) -> new_gcd0Gcd'00(new_abs(vyv273), new_abs(vyv272)) 214.33/145.93 new_gcd0Gcd'10(False, vyv292, vyv293) -> new_gcd0Gcd'00(vyv292, new_rem(vyv293, vyv292)) 214.33/145.93 new_gcd0Gcd'00(vyv293, vyv292) -> new_gcd0Gcd'10(new_esEs(new_rem(vyv293, vyv292)), vyv292, vyv293) 214.33/145.93 new_rem(Pos(vyv2930), Neg(Zero)) -> new_error 214.33/145.93 new_rem(Neg(vyv2930), Pos(Zero)) -> new_error 214.33/145.93 new_rem(Pos(vyv2930), Neg(Succ(vyv29200))) -> Pos(new_primModNatS1(vyv2930, vyv29200)) 214.33/145.93 new_rem(Neg(vyv2930), Pos(Succ(vyv29200))) -> Neg(new_primModNatS1(vyv2930, vyv29200)) 214.33/145.93 new_rem(Pos(vyv2930), Pos(Succ(vyv29200))) -> Pos(new_primModNatS1(vyv2930, vyv29200)) 214.33/145.93 new_rem(Neg(vyv2930), Neg(Zero)) -> new_error 214.33/145.93 new_rem(Neg(vyv2930), Neg(Succ(vyv29200))) -> Neg(new_primModNatS1(vyv2930, vyv29200)) 214.33/145.93 new_rem(Pos(vyv2930), Pos(Zero)) -> new_error 214.33/145.93 new_gcd0Gcd'10(True, vyv292, vyv293) -> vyv292 214.33/145.93 new_primModNatS1(Succ(Zero), Succ(vyv292000)) -> Succ(Zero) 214.33/145.93 new_primModNatS1(Zero, vyv29200) -> Zero 214.33/145.93 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 214.33/145.93 new_primModNatS1(Succ(Succ(vyv293000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv293000), Zero) 214.33/145.93 new_primModNatS1(Succ(Succ(vyv293000)), Succ(vyv292000)) -> new_primModNatS01(vyv293000, vyv292000, vyv293000, vyv292000) 214.33/145.93 new_primModNatS01(vyv331, vyv332, Zero, Zero) -> new_primModNatS02(vyv331, vyv332) 214.33/145.93 new_primModNatS02(vyv331, vyv332) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv331), Succ(vyv332)), Succ(vyv332)) 214.33/145.93 new_primModNatS01(vyv331, vyv332, Succ(vyv3330), Zero) -> new_primModNatS02(vyv331, vyv332) 214.33/145.93 new_primModNatS01(vyv331, vyv332, Succ(vyv3330), Succ(vyv3340)) -> new_primModNatS01(vyv331, vyv332, vyv3330, vyv3340) 214.33/145.93 new_primModNatS01(vyv331, vyv332, Zero, Succ(vyv3340)) -> Succ(Succ(vyv331)) 214.33/145.93 new_gcd1(True, vyv273, vyv272) -> new_error 214.33/145.93 new_gcd1(False, vyv273, vyv272) -> new_gcd0(vyv273, vyv272) 214.33/145.93 new_primEqInt(Neg(Succ(vyv242000))) -> False 214.33/145.93 new_primEqInt(Pos(Zero)) -> True 214.33/145.93 new_primEqInt(Pos(Succ(vyv242000))) -> False 214.33/145.93 new_primEqInt(Neg(Zero)) -> True 214.33/145.93 new_primQuotInt(vyv2710, Pos(Succ(vyv28500))) -> Pos(new_primDivNatS1(vyv2710, vyv28500)) 214.33/145.93 new_primQuotInt(vyv2710, Neg(Zero)) -> new_error 214.33/145.93 new_primQuotInt(vyv2710, Pos(Zero)) -> new_error 214.33/145.93 new_primQuotInt(vyv2710, Neg(Succ(vyv28500))) -> Neg(new_primDivNatS1(vyv2710, vyv28500)) 214.33/145.93 new_primMulNat0(Succ(vyv24000), Zero) -> Zero 214.33/145.93 new_primMulNat0(Zero, Zero) -> Zero 214.33/145.93 new_esEs1(Integer(vyv2700)) -> new_primEqInt(vyv2700) 214.33/145.93 new_sr11(vyv184) -> error([]) 214.33/145.93 new_sr1(vyv228, ty_Double) -> new_sr11(vyv228) 214.33/145.93 new_sr1(vyv228, ty_Float) -> new_sr12(vyv228) 214.33/145.93 new_sr1(vyv228, app(ty_Ratio, bg)) -> new_sr5(vyv228, bg) 214.33/145.93 new_sr1(vyv228, ty_Integer) -> new_sr6(vyv228) 214.33/145.93 new_sr1(vyv228, ty_Int) -> new_sr7(vyv228) 214.33/145.93 new_ms(vyv229, Neg(vyv2450)) -> Pos(new_primPlusNat0(Succ(vyv229), vyv2450)) 214.33/145.93 new_ms(vyv229, Pos(Succ(vyv24500))) -> new_primMinusNat0(vyv229, vyv24500) 214.33/145.93 new_ms(vyv229, Pos(Zero)) -> Pos(Succ(vyv229)) 214.33/145.93 new_sr2(vyv228, vyv227, ty_Integer) -> new_sr9(vyv228, vyv227) 214.33/145.93 new_sr2(vyv228, vyv227, ty_Int) -> new_sr10(vyv228, vyv227) 214.33/145.93 new_sr2(vyv228, vyv227, app(ty_Ratio, bg)) -> new_sr8(vyv228, vyv227, bg) 214.33/145.93 new_sr2(vyv228, vyv227, ty_Double) -> new_sr13(vyv228, vyv227) 214.33/145.93 new_sr2(vyv228, vyv227, ty_Float) -> new_sr14(vyv228, vyv227) 214.33/145.93 new_sr14(vyv240, vyv239) -> error([]) 214.33/145.93 new_sr13(vyv240, vyv239) -> error([]) 214.33/145.93 new_sr8(:%(vyv2400, vyv2401), :%(vyv2390, vyv2391), be) -> new_reduce2Reduce1(vyv2400, vyv2390, vyv2401, vyv2391, new_esEs2(vyv2401, vyv2391, be), be) 214.33/145.93 new_esEs2(vyv2401, vyv2391, ty_Integer) -> new_esEs1(new_sr9(vyv2401, vyv2391)) 214.33/145.93 new_esEs2(vyv2401, vyv2391, ty_Int) -> new_esEs(new_sr10(vyv2401, vyv2391)) 214.33/145.93 new_primMinusNat0(Succ(vyv2290), Succ(vyv245000)) -> new_primMinusNat0(vyv2290, vyv245000) 214.33/145.93 new_primMinusNat0(Zero, Zero) -> Pos(Zero) 214.33/145.93 new_primMinusNat0(Zero, Succ(vyv245000)) -> Neg(Succ(vyv245000)) 214.33/145.93 new_primMinusNat0(Succ(vyv2290), Zero) -> Pos(Succ(vyv2290)) 214.33/145.93 new_sr3(vyv250, ty_Double) -> new_sr11(vyv250) 214.33/145.93 new_sr3(vyv250, ty_Int) -> new_sr7(vyv250) 214.33/145.93 new_sr3(vyv250, ty_Float) -> new_sr12(vyv250) 214.33/145.93 new_sr3(vyv250, ty_Integer) -> new_sr6(vyv250) 214.33/145.93 new_sr3(vyv250, app(ty_Ratio, bf)) -> new_sr5(vyv250, bf) 214.33/145.93 new_ms0(vyv241, Neg(Zero)) -> Neg(Succ(vyv241)) 214.33/145.93 new_ms0(vyv241, Pos(vyv2440)) -> Neg(new_primPlusNat0(Succ(vyv241), vyv2440)) 214.33/145.93 new_ms0(vyv241, Neg(Succ(vyv24400))) -> new_primMinusNat0(vyv24400, vyv241) 214.33/145.93 new_sr4(vyv240, vyv239, app(ty_Ratio, be)) -> new_sr8(vyv240, vyv239, be) 214.33/145.93 new_sr4(vyv240, vyv239, ty_Float) -> new_sr14(vyv240, vyv239) 214.33/145.93 new_sr4(vyv240, vyv239, ty_Int) -> new_sr10(vyv240, vyv239) 214.33/145.93 new_sr4(vyv240, vyv239, ty_Double) -> new_sr13(vyv240, vyv239) 214.33/145.93 new_sr4(vyv240, vyv239, ty_Integer) -> new_sr9(vyv240, vyv239) 214.33/145.93 214.33/145.93 The set Q consists of the following terms: 214.33/145.93 214.33/145.93 new_sr13(x0, x1) 214.33/145.93 new_primDivNatS01(x0, x1, Zero, Zero) 214.33/145.93 new_gcd0Gcd'11(False, x0, x1) 214.33/145.93 new_primMulNat4(Zero) 214.33/145.93 new_gcd0Gcd'11(True, x0, x1) 214.33/145.93 new_sr2(x0, x1, ty_Float) 214.33/145.93 new_sr5(:%(x0, x1), x2) 214.33/145.93 new_primEqInt(Pos(Zero)) 214.33/145.93 new_ms(x0, Neg(x1)) 214.33/145.93 new_sr2(x0, x1, ty_Double) 214.33/145.93 new_esEs(Pos(Succ(x0))) 214.33/145.93 new_primQuotInt0(x0, Neg(Zero)) 214.33/145.93 new_primMulNat3(Zero) 214.33/145.93 new_primModNatS02(x0, x1) 214.33/145.93 new_sr(x0, ty_Double) 214.33/145.93 new_primDivNatS1(Succ(Zero), Zero) 214.33/145.93 new_primMinusNatS0(x0) 214.33/145.93 new_sr11(x0) 214.33/145.93 new_rem(Pos(x0), Neg(Succ(x1))) 214.33/145.93 new_rem(Neg(x0), Pos(Succ(x1))) 214.33/145.93 new_primMulNat0(Zero, Zero) 214.33/145.93 new_primPlusNat0(Succ(x0), Zero) 214.33/145.93 new_primMulNat0(Succ(x0), Zero) 214.33/145.93 new_sr3(x0, ty_Float) 214.33/145.93 new_primMulNat2(Zero) 214.33/145.93 new_primQuotInt(x0, Pos(Zero)) 214.33/145.93 new_primMulNat2(Succ(x0)) 214.33/145.93 new_primQuotInt(x0, Neg(Zero)) 214.33/145.93 new_rem(Neg(x0), Neg(Succ(x1))) 214.33/145.93 new_primMinusNatS2(Zero, Succ(x0)) 214.33/145.93 new_sr(x0, ty_Int) 214.33/145.93 new_sr4(x0, x1, ty_Double) 214.33/145.93 new_primMulNat3(Succ(x0)) 214.33/145.93 new_esEs1(Integer(x0)) 214.33/145.93 new_primQuotInt0(x0, Pos(Zero)) 214.33/145.93 new_gcd2(True, x0, x1) 214.33/145.93 new_quot1(x0, x1, x2, x3, ty_Int) 214.33/145.93 new_primDivNatS1(Zero, x0) 214.33/145.93 new_primMinusNat0(Zero, Zero) 214.33/145.93 new_gcd(x0, x1) 214.33/145.93 new_gcd1(False, x0, x1) 214.33/145.93 new_esEs2(x0, x1, ty_Int) 214.33/145.93 new_sr3(x0, ty_Integer) 214.33/145.93 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 214.33/145.93 new_sr1(x0, app(ty_Ratio, x1)) 214.33/145.93 new_sr1(x0, ty_Float) 214.33/145.93 new_primPlusNat0(Zero, Succ(x0)) 214.33/145.93 new_sr8(:%(x0, x1), :%(x2, x3), x4) 214.33/145.93 new_abs(Neg(Zero)) 214.33/145.93 new_primMinusNatS2(Succ(x0), Zero) 214.33/145.93 new_error 214.33/145.93 new_primModNatS1(Succ(Zero), Zero) 214.33/145.93 new_primMulNat4(Succ(x0)) 214.33/145.93 new_sr1(x0, ty_Integer) 214.33/145.93 new_primDivNatS02(x0, x1) 214.33/145.93 new_sr1(x0, ty_Int) 214.33/145.93 new_rem(Neg(x0), Neg(Zero)) 214.33/145.93 new_primMinusNat0(Zero, Succ(x0)) 214.33/145.93 new_primEqInt(Neg(Zero)) 214.33/145.93 new_rem(Pos(x0), Pos(Succ(x1))) 214.33/145.93 new_abs(Pos(Succ(x0))) 214.33/145.93 new_primMulNat0(Succ(x0), Succ(x1)) 214.33/145.93 new_primMulNat0(Zero, Succ(x0)) 214.33/145.93 new_reduce2Reduce1(x0, x1, x2, x3, True, x4) 214.33/145.93 new_sr(x0, ty_Float) 214.33/145.93 new_gcd0Gcd'10(False, x0, x1) 214.33/145.93 new_sr12(x0) 214.33/145.93 new_primDivNatS01(x0, x1, Zero, Succ(x2)) 214.33/145.93 new_sr10(Pos(x0), Pos(x1)) 214.33/145.93 new_primModNatS01(x0, x1, Zero, Succ(x2)) 214.33/145.93 new_primPlusNat0(Zero, Zero) 214.33/145.93 new_sr(x0, ty_Integer) 214.33/145.93 new_primQuotInt0(x0, Pos(Succ(x1))) 214.33/145.93 new_primModNatS01(x0, x1, Succ(x2), Zero) 214.33/145.93 new_ms(x0, Pos(Succ(x1))) 214.33/145.93 new_primModNatS1(Succ(Succ(x0)), Zero) 214.33/145.93 new_sr4(x0, x1, ty_Integer) 214.33/145.93 new_rem(Pos(x0), Pos(Zero)) 214.33/145.93 new_sr4(x0, x1, ty_Int) 214.33/145.93 new_ms0(x0, Neg(Succ(x1))) 214.33/145.93 new_quot(Pos(x0), x1, x2) 214.33/145.93 new_primMinusNatS2(Zero, Zero) 214.33/145.93 new_esEs0(x0, ty_Int) 214.33/145.93 new_primMinusNat0(Succ(x0), Zero) 214.33/145.93 new_ms0(x0, Pos(x1)) 214.33/145.93 new_esEs(Pos(Zero)) 214.33/145.93 new_quot(Neg(x0), x1, x2) 214.33/145.93 new_primDivNatS01(x0, x1, Succ(x2), Succ(x3)) 214.33/145.93 new_quot2(x0, x1, x2) 214.33/145.93 new_primEqInt(Neg(Succ(x0))) 214.33/145.93 new_sr10(Neg(x0), Neg(x1)) 214.33/145.93 new_sr3(x0, app(ty_Ratio, x1)) 214.33/145.93 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 214.33/145.93 new_sr9(x0, x1) 214.33/145.93 new_sr2(x0, x1, ty_Integer) 214.33/145.93 new_sr7(Neg(x0)) 214.33/145.93 new_sr1(x0, ty_Double) 214.33/145.93 new_primQuotInt0(x0, Neg(Succ(x1))) 214.33/145.93 new_rem(Pos(x0), Neg(Zero)) 214.33/145.93 new_rem(Neg(x0), Pos(Zero)) 214.33/145.93 new_gcd0Gcd'00(x0, x1) 214.33/145.93 new_primQuotInt(x0, Neg(Succ(x1))) 214.33/145.93 new_primMinusNatS2(Succ(x0), Succ(x1)) 214.33/145.93 new_ms(x0, Pos(Zero)) 214.33/145.93 new_abs(Pos(Zero)) 214.33/145.93 new_primMinusNat0(Succ(x0), Succ(x1)) 214.33/145.93 new_quot0(x0, x1, x2, x3, ty_Integer) 214.33/145.93 new_sr6(x0) 214.33/145.93 new_gcd2(False, x0, x1) 214.33/145.93 new_gcd1(True, x0, x1) 214.33/145.93 new_esEs2(x0, x1, ty_Integer) 214.33/145.93 new_primMinusNatS1 214.33/145.93 new_sr7(Pos(x0)) 214.33/145.93 new_gcd0Gcd'10(True, x0, x1) 214.33/145.93 new_primModNatS1(Zero, x0) 214.33/145.93 new_sr4(x0, x1, ty_Float) 214.33/145.93 new_sr10(Pos(x0), Neg(x1)) 214.33/145.93 new_sr10(Neg(x0), Pos(x1)) 214.33/145.93 new_primDivNatS01(x0, x1, Succ(x2), Zero) 214.33/145.93 new_primDivNatS1(Succ(Succ(x0)), Succ(x1)) 214.33/145.93 new_primPlusNat0(Succ(x0), Succ(x1)) 214.33/145.93 new_primDivNatS1(Succ(Zero), Succ(x0)) 214.33/145.93 new_primQuotInt(x0, Pos(Succ(x1))) 214.33/145.93 new_sr2(x0, x1, app(ty_Ratio, x2)) 214.33/145.93 new_abs(Neg(Succ(x0))) 214.33/145.93 new_esEs0(x0, ty_Integer) 214.33/145.93 new_sr3(x0, ty_Int) 214.33/145.93 new_esEs(Neg(Succ(x0))) 214.33/145.93 new_sr(x0, app(ty_Ratio, x1)) 214.33/145.93 new_ms0(x0, Neg(Zero)) 214.33/145.93 new_primModNatS01(x0, x1, Zero, Zero) 214.33/145.93 new_sr4(x0, x1, app(ty_Ratio, x2)) 214.33/145.93 new_gcd0(x0, x1) 214.33/145.93 new_primEqInt(Pos(Succ(x0))) 214.33/145.93 new_sr3(x0, ty_Double) 214.33/145.93 new_quot1(x0, x1, x2, x3, ty_Integer) 214.33/145.93 new_primDivNatS1(Succ(Succ(x0)), Zero) 214.33/145.93 new_primMulNat1(Succ(x0)) 214.33/145.93 new_sr14(x0, x1) 214.33/145.93 new_quot0(x0, x1, x2, x3, ty_Int) 214.33/145.93 new_sr2(x0, x1, ty_Int) 214.33/145.93 new_primModNatS1(Succ(Zero), Succ(x0)) 214.33/145.93 new_reduce2Reduce1(x0, x1, x2, x3, False, x4) 214.33/145.93 new_esEs(Neg(Zero)) 214.33/145.93 new_primMulNat1(Zero) 214.33/145.93 214.33/145.93 We have to consider all minimal (P,Q,R)-chains. 214.33/145.93 ---------------------------------------- 214.33/145.93 214.33/145.93 (748) TransformationProof (EQUIVALENT) 214.33/145.93 By rewriting [LPAR04] the rule new_pr2F0(vyv184, Pos(Zero), vyv188, h) -> new_pr2F0G(vyv188, new_sr(vyv184, h), Pos(new_primDivNatS1(Zero, Succ(Zero))), h) at position [2,0] we obtained the following new rules [LPAR04]: 214.33/145.93 214.33/145.93 (new_pr2F0(vyv184, Pos(Zero), vyv188, h) -> new_pr2F0G(vyv188, new_sr(vyv184, h), Pos(Zero), h),new_pr2F0(vyv184, Pos(Zero), vyv188, h) -> new_pr2F0G(vyv188, new_sr(vyv184, h), Pos(Zero), h)) 214.33/145.93 214.33/145.93 214.33/145.93 ---------------------------------------- 214.33/145.93 214.33/145.93 (749) 214.33/145.93 Obligation: 214.33/145.93 Q DP problem: 214.33/145.93 The TRS P consists of the following rules: 214.33/145.93 214.33/145.93 new_pr2F0G10(vyv249, vyv250, vyv251, Succ(Zero), bb) -> new_pr2F0G11(vyv249, vyv250, vyv251, bb) 214.33/145.93 new_pr2F0G11(vyv239, vyv240, vyv241, bc) -> new_pr2F1(vyv240, vyv241, Pos(Succ(Zero)), vyv239, bc) 214.33/145.93 new_pr2F1(vyv240, vyv241, vyv244, vyv239, bc) -> new_pr2F30(new_esEs(new_ms0(vyv241, vyv244)), vyv240, vyv241, vyv244, vyv239, bc) 214.33/145.93 new_pr2F30(False, vyv240, vyv241, vyv244, vyv239, bc) -> new_pr2F0(vyv240, new_ms0(vyv241, vyv244), new_sr4(vyv240, vyv239, bc), bc) 214.33/145.93 new_pr2F0(vyv184, Neg(Succ(Succ(vyv223000))), vyv188, h) -> new_pr2F0G10(vyv188, vyv184, Succ(vyv223000), vyv223000, h) 214.33/145.93 new_pr2F0G10(vyv249, vyv250, vyv251, Succ(Succ(vyv25200)), bb) -> new_pr2F0G10(vyv249, vyv250, vyv251, vyv25200, bb) 214.33/145.93 new_pr2F0G10(vyv249, vyv250, vyv251, Zero, bb) -> new_pr2F0G(vyv249, new_sr3(vyv250, bb), Neg(new_primDivNatS1(Succ(vyv251), Succ(Zero))), bb) 214.33/145.93 new_pr2F0G(vyv188, vyv184, Neg(Succ(Zero)), h) -> new_pr2F0G11(vyv188, vyv184, Zero, h) 214.33/145.93 new_pr2F0G(vyv188, vyv184, Neg(Succ(Succ(vyv223000))), h) -> new_pr2F0G10(vyv188, vyv184, Succ(vyv223000), vyv223000, h) 214.33/145.93 new_pr2F0(vyv184, Neg(Succ(Zero)), vyv188, h) -> new_pr2F0G11(vyv188, vyv184, Zero, h) 214.33/145.93 new_pr2F0(vyv184, Pos(Succ(Succ(vyv223000))), vyv188, h) -> new_pr2F0G1(vyv188, vyv184, Succ(vyv223000), vyv223000, h) 214.33/145.93 new_pr2F0G1(vyv227, vyv228, vyv229, Succ(Succ(vyv23000)), ba) -> new_pr2F0G1(vyv227, vyv228, vyv229, vyv23000, ba) 214.33/145.93 new_pr2F0G1(vyv227, vyv228, vyv229, Succ(Zero), ba) -> new_pr2F(vyv228, vyv229, Pos(Succ(Zero)), vyv227, ba) 214.33/145.93 new_pr2F(vyv228, vyv229, vyv245, vyv227, ba) -> new_pr2F3(new_esEs(new_ms(vyv229, vyv245)), vyv228, vyv229, vyv245, vyv227, ba) 214.33/145.93 new_pr2F3(False, vyv228, vyv229, vyv245, vyv227, ba) -> new_pr2F0(vyv228, new_ms(vyv229, vyv245), new_sr2(vyv228, vyv227, ba), ba) 214.33/145.93 new_pr2F0(vyv184, Pos(Succ(Zero)), vyv188, h) -> new_pr2F(vyv184, Zero, Pos(Succ(Zero)), vyv188, h) 214.33/145.93 new_pr2F0G(vyv188, vyv184, Pos(Succ(Succ(vyv223000))), h) -> new_pr2F0G1(vyv188, vyv184, Succ(vyv223000), vyv223000, h) 214.33/145.93 new_pr2F0G1(vyv227, vyv228, vyv229, Zero, ba) -> new_pr2F0G(vyv227, new_sr1(vyv228, ba), Pos(new_primDivNatS1(Succ(vyv229), Succ(Zero))), ba) 214.33/145.93 new_pr2F0G(vyv188, vyv184, Pos(Succ(Zero)), h) -> new_pr2F(vyv184, Zero, Pos(Succ(Zero)), vyv188, h) 214.33/145.93 new_pr2F0G(vyv188, vyv184, Pos(Zero), h) -> new_pr2F0G(vyv188, new_sr(vyv184, h), Pos(new_primDivNatS1(Zero, Succ(Zero))), h) 214.33/145.93 new_pr2F0(vyv184, Pos(Zero), vyv188, h) -> new_pr2F0G(vyv188, new_sr(vyv184, h), Pos(Zero), h) 214.33/145.93 214.33/145.93 The TRS R consists of the following rules: 214.33/145.93 214.33/145.93 new_sr(vyv184, ty_Double) -> new_sr11(vyv184) 214.33/145.93 new_sr(vyv184, app(ty_Ratio, bd)) -> new_sr5(vyv184, bd) 214.33/145.93 new_sr(vyv184, ty_Float) -> new_sr12(vyv184) 214.33/145.93 new_sr(vyv184, ty_Int) -> new_sr7(vyv184) 214.33/145.93 new_sr(vyv184, ty_Integer) -> new_sr6(vyv184) 214.33/145.93 new_primDivNatS1(Zero, vyv28500) -> Zero 214.33/145.93 new_sr6(vyv184) -> error([]) 214.33/145.93 new_sr7(Pos(vyv1840)) -> Pos(new_primMulNat1(vyv1840)) 214.33/145.93 new_sr7(Neg(vyv1840)) -> Pos(new_primMulNat1(vyv1840)) 214.33/145.93 new_primMulNat1(Succ(vyv18400)) -> new_primPlusNat0(new_primMulNat2(vyv18400), Succ(vyv18400)) 214.33/145.93 new_primMulNat1(Zero) -> Zero 214.33/145.93 new_primMulNat2(Succ(vyv184000)) -> new_primPlusNat0(new_primMulNat3(vyv184000), Succ(Succ(vyv184000))) 214.33/145.93 new_primMulNat2(Zero) -> Zero 214.33/145.93 new_primPlusNat0(Succ(vyv4000), Succ(vyv6000)) -> Succ(Succ(new_primPlusNat0(vyv4000, vyv6000))) 214.33/145.93 new_primPlusNat0(Zero, Succ(vyv6000)) -> Succ(vyv6000) 214.33/145.93 new_primPlusNat0(Zero, Zero) -> Zero 214.33/145.93 new_primPlusNat0(Succ(vyv4000), Zero) -> Succ(vyv4000) 214.33/145.93 new_primMulNat3(Succ(vyv1840000)) -> new_primPlusNat0(new_primMulNat4(vyv1840000), Succ(Succ(Succ(vyv1840000)))) 214.33/145.93 new_primMulNat3(Zero) -> Zero 214.33/145.93 new_primMulNat4(Succ(vyv18400000)) -> new_primPlusNat0(new_primMulNat0(vyv18400000, Succ(Succ(Succ(Succ(vyv18400000))))), Succ(Succ(Succ(Succ(vyv18400000))))) 214.33/145.93 new_primMulNat4(Zero) -> Zero 214.33/145.93 new_primMulNat0(Zero, Succ(vyv23900)) -> Zero 214.33/145.93 new_primMulNat0(Succ(vyv24000), Succ(vyv23900)) -> new_primPlusNat0(new_primMulNat0(vyv24000, Succ(vyv23900)), Succ(vyv23900)) 214.33/145.93 new_sr12(vyv184) -> error([]) 214.33/145.93 new_sr5(:%(vyv1840, vyv1841), bd) -> new_reduce2Reduce1(vyv1840, vyv1840, vyv1841, vyv1841, new_esEs0(vyv1841, bd), bd) 214.33/145.93 new_esEs0(vyv1841, ty_Int) -> new_esEs(new_sr7(vyv1841)) 214.33/145.93 new_esEs0(vyv1841, ty_Integer) -> new_esEs1(new_sr6(vyv1841)) 214.33/145.93 new_reduce2Reduce1(vyv265, vyv266, vyv267, vyv268, False, bh) -> :%(new_quot0(vyv265, vyv266, vyv267, vyv268, bh), new_quot1(vyv267, vyv268, vyv265, vyv266, bh)) 214.33/145.93 new_reduce2Reduce1(vyv265, vyv266, vyv267, vyv268, True, bh) -> error([]) 214.33/145.93 new_quot0(vyv265, vyv266, vyv267, vyv268, ty_Integer) -> new_quot2(new_sr9(vyv265, vyv266), new_sr9(vyv265, vyv266), new_sr9(vyv267, vyv268)) 214.33/145.93 new_quot0(vyv265, vyv266, vyv267, vyv268, ty_Int) -> new_quot(new_sr10(vyv265, vyv266), new_sr10(vyv265, vyv266), new_sr10(vyv267, vyv268)) 214.33/145.93 new_quot1(vyv267, vyv268, vyv265, vyv266, ty_Int) -> new_quot(new_sr10(vyv267, vyv268), new_sr10(vyv265, vyv266), new_sr10(vyv267, vyv268)) 214.33/145.93 new_quot1(vyv267, vyv268, vyv265, vyv266, ty_Integer) -> new_quot2(new_sr9(vyv267, vyv268), new_sr9(vyv265, vyv266), new_sr9(vyv267, vyv268)) 214.33/145.93 new_sr9(vyv240, vyv239) -> error([]) 214.33/145.93 new_quot2(vyv274, vyv276, vyv275) -> error([]) 214.33/145.93 new_sr10(Pos(vyv2400), Pos(vyv2390)) -> Pos(new_primMulNat0(vyv2400, vyv2390)) 214.33/145.93 new_sr10(Neg(vyv2400), Neg(vyv2390)) -> Pos(new_primMulNat0(vyv2400, vyv2390)) 214.33/145.93 new_sr10(Pos(vyv2400), Neg(vyv2390)) -> Neg(new_primMulNat0(vyv2400, vyv2390)) 214.33/145.93 new_sr10(Neg(vyv2400), Pos(vyv2390)) -> Neg(new_primMulNat0(vyv2400, vyv2390)) 214.33/145.93 new_quot(Pos(vyv2710), vyv273, vyv272) -> new_primQuotInt(vyv2710, new_gcd(vyv273, vyv272)) 214.33/145.93 new_quot(Neg(vyv2710), vyv273, vyv272) -> new_primQuotInt0(vyv2710, new_gcd(vyv273, vyv272)) 214.33/145.93 new_gcd(vyv273, vyv272) -> new_gcd2(new_esEs(vyv273), vyv273, vyv272) 214.33/145.93 new_primQuotInt0(vyv2710, Pos(Succ(vyv28800))) -> Neg(new_primDivNatS1(vyv2710, vyv28800)) 214.33/145.93 new_primQuotInt0(vyv2710, Neg(Zero)) -> new_error 214.33/145.93 new_primQuotInt0(vyv2710, Neg(Succ(vyv28800))) -> Pos(new_primDivNatS1(vyv2710, vyv28800)) 214.33/145.93 new_primQuotInt0(vyv2710, Pos(Zero)) -> new_error 214.33/145.93 new_error -> error([]) 214.33/145.93 new_primDivNatS1(Succ(Succ(vyv271000)), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS0(vyv271000), Zero)) 214.33/145.93 new_primDivNatS1(Succ(Zero), Succ(vyv285000)) -> Zero 214.33/145.93 new_primDivNatS1(Succ(Succ(vyv271000)), Succ(vyv285000)) -> new_primDivNatS01(vyv271000, vyv285000, vyv271000, vyv285000) 214.33/145.93 new_primDivNatS1(Succ(Zero), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS1, Zero)) 214.33/145.93 new_primMinusNatS1 -> Zero 214.33/145.93 new_primDivNatS01(vyv311, vyv312, Succ(vyv3130), Zero) -> new_primDivNatS02(vyv311, vyv312) 214.33/145.93 new_primDivNatS01(vyv311, vyv312, Zero, Succ(vyv3140)) -> Zero 214.33/145.93 new_primDivNatS01(vyv311, vyv312, Succ(vyv3130), Succ(vyv3140)) -> new_primDivNatS01(vyv311, vyv312, vyv3130, vyv3140) 214.33/145.93 new_primDivNatS01(vyv311, vyv312, Zero, Zero) -> new_primDivNatS02(vyv311, vyv312) 214.33/145.93 new_primDivNatS02(vyv311, vyv312) -> Succ(new_primDivNatS1(new_primMinusNatS2(vyv311, vyv312), Succ(vyv312))) 214.33/145.93 new_primMinusNatS2(Zero, Succ(vyv3120)) -> Zero 214.33/145.93 new_primMinusNatS2(Succ(vyv3110), Zero) -> Succ(vyv3110) 214.33/145.93 new_primMinusNatS2(Zero, Zero) -> Zero 214.33/145.93 new_primMinusNatS2(Succ(vyv3110), Succ(vyv3120)) -> new_primMinusNatS2(vyv3110, vyv3120) 214.33/145.93 new_primMinusNatS0(vyv271000) -> Succ(vyv271000) 214.33/145.93 new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) 214.33/145.93 new_esEs(Pos(Succ(vyv24300))) -> new_primEqInt(Pos(Succ(vyv24300))) 214.33/145.93 new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) 214.33/145.93 new_esEs(Neg(Succ(vyv24300))) -> new_primEqInt(Neg(Succ(vyv24300))) 214.33/145.93 new_gcd2(True, vyv273, vyv272) -> new_gcd1(new_esEs(vyv272), vyv273, vyv272) 214.33/145.93 new_gcd2(False, vyv273, vyv272) -> new_gcd0(vyv273, vyv272) 214.33/145.93 new_gcd0(vyv273, vyv272) -> new_gcd0Gcd'11(new_esEs(new_abs(vyv272)), vyv273, vyv272) 214.33/145.93 new_abs(Neg(Zero)) -> Neg(Zero) 214.33/145.93 new_abs(Neg(Succ(vyv27200))) -> Pos(Succ(vyv27200)) 214.33/145.93 new_abs(Pos(Succ(vyv27200))) -> Pos(Succ(vyv27200)) 214.33/145.93 new_abs(Pos(Zero)) -> Pos(Zero) 214.33/145.93 new_gcd0Gcd'11(True, vyv273, vyv272) -> new_abs(vyv273) 214.33/145.93 new_gcd0Gcd'11(False, vyv273, vyv272) -> new_gcd0Gcd'00(new_abs(vyv273), new_abs(vyv272)) 214.33/145.93 new_gcd0Gcd'10(False, vyv292, vyv293) -> new_gcd0Gcd'00(vyv292, new_rem(vyv293, vyv292)) 214.33/145.93 new_gcd0Gcd'00(vyv293, vyv292) -> new_gcd0Gcd'10(new_esEs(new_rem(vyv293, vyv292)), vyv292, vyv293) 214.33/145.93 new_rem(Pos(vyv2930), Neg(Zero)) -> new_error 214.33/145.93 new_rem(Neg(vyv2930), Pos(Zero)) -> new_error 214.33/145.93 new_rem(Pos(vyv2930), Neg(Succ(vyv29200))) -> Pos(new_primModNatS1(vyv2930, vyv29200)) 214.33/145.93 new_rem(Neg(vyv2930), Pos(Succ(vyv29200))) -> Neg(new_primModNatS1(vyv2930, vyv29200)) 214.33/145.93 new_rem(Pos(vyv2930), Pos(Succ(vyv29200))) -> Pos(new_primModNatS1(vyv2930, vyv29200)) 214.33/145.93 new_rem(Neg(vyv2930), Neg(Zero)) -> new_error 214.33/145.93 new_rem(Neg(vyv2930), Neg(Succ(vyv29200))) -> Neg(new_primModNatS1(vyv2930, vyv29200)) 214.33/145.93 new_rem(Pos(vyv2930), Pos(Zero)) -> new_error 214.33/145.93 new_gcd0Gcd'10(True, vyv292, vyv293) -> vyv292 214.33/145.93 new_primModNatS1(Succ(Zero), Succ(vyv292000)) -> Succ(Zero) 214.33/145.93 new_primModNatS1(Zero, vyv29200) -> Zero 214.33/145.93 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 214.33/145.93 new_primModNatS1(Succ(Succ(vyv293000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv293000), Zero) 214.33/145.93 new_primModNatS1(Succ(Succ(vyv293000)), Succ(vyv292000)) -> new_primModNatS01(vyv293000, vyv292000, vyv293000, vyv292000) 214.33/145.93 new_primModNatS01(vyv331, vyv332, Zero, Zero) -> new_primModNatS02(vyv331, vyv332) 214.33/145.93 new_primModNatS02(vyv331, vyv332) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv331), Succ(vyv332)), Succ(vyv332)) 214.33/145.93 new_primModNatS01(vyv331, vyv332, Succ(vyv3330), Zero) -> new_primModNatS02(vyv331, vyv332) 214.33/145.93 new_primModNatS01(vyv331, vyv332, Succ(vyv3330), Succ(vyv3340)) -> new_primModNatS01(vyv331, vyv332, vyv3330, vyv3340) 214.33/145.93 new_primModNatS01(vyv331, vyv332, Zero, Succ(vyv3340)) -> Succ(Succ(vyv331)) 214.33/145.93 new_gcd1(True, vyv273, vyv272) -> new_error 214.33/145.93 new_gcd1(False, vyv273, vyv272) -> new_gcd0(vyv273, vyv272) 214.33/145.93 new_primEqInt(Neg(Succ(vyv242000))) -> False 214.33/145.93 new_primEqInt(Pos(Zero)) -> True 214.33/145.93 new_primEqInt(Pos(Succ(vyv242000))) -> False 214.33/145.93 new_primEqInt(Neg(Zero)) -> True 214.33/145.93 new_primQuotInt(vyv2710, Pos(Succ(vyv28500))) -> Pos(new_primDivNatS1(vyv2710, vyv28500)) 214.33/145.93 new_primQuotInt(vyv2710, Neg(Zero)) -> new_error 214.33/145.93 new_primQuotInt(vyv2710, Pos(Zero)) -> new_error 214.33/145.93 new_primQuotInt(vyv2710, Neg(Succ(vyv28500))) -> Neg(new_primDivNatS1(vyv2710, vyv28500)) 214.33/145.93 new_primMulNat0(Succ(vyv24000), Zero) -> Zero 214.33/145.93 new_primMulNat0(Zero, Zero) -> Zero 214.33/145.93 new_esEs1(Integer(vyv2700)) -> new_primEqInt(vyv2700) 214.33/145.93 new_sr11(vyv184) -> error([]) 214.33/145.93 new_sr1(vyv228, ty_Double) -> new_sr11(vyv228) 214.33/145.93 new_sr1(vyv228, ty_Float) -> new_sr12(vyv228) 214.33/145.93 new_sr1(vyv228, app(ty_Ratio, bg)) -> new_sr5(vyv228, bg) 214.33/145.93 new_sr1(vyv228, ty_Integer) -> new_sr6(vyv228) 214.33/145.93 new_sr1(vyv228, ty_Int) -> new_sr7(vyv228) 214.33/145.93 new_ms(vyv229, Neg(vyv2450)) -> Pos(new_primPlusNat0(Succ(vyv229), vyv2450)) 214.33/145.93 new_ms(vyv229, Pos(Succ(vyv24500))) -> new_primMinusNat0(vyv229, vyv24500) 214.33/145.93 new_ms(vyv229, Pos(Zero)) -> Pos(Succ(vyv229)) 214.33/145.93 new_sr2(vyv228, vyv227, ty_Integer) -> new_sr9(vyv228, vyv227) 214.33/145.93 new_sr2(vyv228, vyv227, ty_Int) -> new_sr10(vyv228, vyv227) 214.33/145.93 new_sr2(vyv228, vyv227, app(ty_Ratio, bg)) -> new_sr8(vyv228, vyv227, bg) 214.33/145.93 new_sr2(vyv228, vyv227, ty_Double) -> new_sr13(vyv228, vyv227) 214.33/145.93 new_sr2(vyv228, vyv227, ty_Float) -> new_sr14(vyv228, vyv227) 214.33/145.93 new_sr14(vyv240, vyv239) -> error([]) 214.33/145.93 new_sr13(vyv240, vyv239) -> error([]) 214.33/145.93 new_sr8(:%(vyv2400, vyv2401), :%(vyv2390, vyv2391), be) -> new_reduce2Reduce1(vyv2400, vyv2390, vyv2401, vyv2391, new_esEs2(vyv2401, vyv2391, be), be) 214.33/145.93 new_esEs2(vyv2401, vyv2391, ty_Integer) -> new_esEs1(new_sr9(vyv2401, vyv2391)) 214.33/145.93 new_esEs2(vyv2401, vyv2391, ty_Int) -> new_esEs(new_sr10(vyv2401, vyv2391)) 214.33/145.93 new_primMinusNat0(Succ(vyv2290), Succ(vyv245000)) -> new_primMinusNat0(vyv2290, vyv245000) 214.33/145.93 new_primMinusNat0(Zero, Zero) -> Pos(Zero) 214.33/145.93 new_primMinusNat0(Zero, Succ(vyv245000)) -> Neg(Succ(vyv245000)) 214.33/145.93 new_primMinusNat0(Succ(vyv2290), Zero) -> Pos(Succ(vyv2290)) 214.33/145.93 new_sr3(vyv250, ty_Double) -> new_sr11(vyv250) 214.33/145.93 new_sr3(vyv250, ty_Int) -> new_sr7(vyv250) 214.33/145.93 new_sr3(vyv250, ty_Float) -> new_sr12(vyv250) 214.33/145.93 new_sr3(vyv250, ty_Integer) -> new_sr6(vyv250) 214.33/145.93 new_sr3(vyv250, app(ty_Ratio, bf)) -> new_sr5(vyv250, bf) 214.33/145.93 new_ms0(vyv241, Neg(Zero)) -> Neg(Succ(vyv241)) 214.33/145.93 new_ms0(vyv241, Pos(vyv2440)) -> Neg(new_primPlusNat0(Succ(vyv241), vyv2440)) 214.33/145.93 new_ms0(vyv241, Neg(Succ(vyv24400))) -> new_primMinusNat0(vyv24400, vyv241) 214.33/145.93 new_sr4(vyv240, vyv239, app(ty_Ratio, be)) -> new_sr8(vyv240, vyv239, be) 214.33/145.93 new_sr4(vyv240, vyv239, ty_Float) -> new_sr14(vyv240, vyv239) 214.33/145.93 new_sr4(vyv240, vyv239, ty_Int) -> new_sr10(vyv240, vyv239) 214.33/145.93 new_sr4(vyv240, vyv239, ty_Double) -> new_sr13(vyv240, vyv239) 214.33/145.93 new_sr4(vyv240, vyv239, ty_Integer) -> new_sr9(vyv240, vyv239) 214.33/145.93 214.33/145.93 The set Q consists of the following terms: 214.33/145.93 214.33/145.93 new_sr13(x0, x1) 214.33/145.93 new_primDivNatS01(x0, x1, Zero, Zero) 214.33/145.93 new_gcd0Gcd'11(False, x0, x1) 214.33/145.93 new_primMulNat4(Zero) 214.33/145.93 new_gcd0Gcd'11(True, x0, x1) 214.33/145.93 new_sr2(x0, x1, ty_Float) 214.33/145.93 new_sr5(:%(x0, x1), x2) 214.33/145.93 new_primEqInt(Pos(Zero)) 214.33/145.93 new_ms(x0, Neg(x1)) 214.33/145.93 new_sr2(x0, x1, ty_Double) 214.33/145.93 new_esEs(Pos(Succ(x0))) 214.33/145.93 new_primQuotInt0(x0, Neg(Zero)) 214.33/145.93 new_primMulNat3(Zero) 214.33/145.93 new_primModNatS02(x0, x1) 214.33/145.93 new_sr(x0, ty_Double) 214.33/145.93 new_primDivNatS1(Succ(Zero), Zero) 214.33/145.93 new_primMinusNatS0(x0) 214.33/145.93 new_sr11(x0) 214.33/145.93 new_rem(Pos(x0), Neg(Succ(x1))) 214.33/145.93 new_rem(Neg(x0), Pos(Succ(x1))) 214.33/145.93 new_primMulNat0(Zero, Zero) 214.33/145.93 new_primPlusNat0(Succ(x0), Zero) 214.33/145.93 new_primMulNat0(Succ(x0), Zero) 214.33/145.93 new_sr3(x0, ty_Float) 214.33/145.93 new_primMulNat2(Zero) 214.33/145.93 new_primQuotInt(x0, Pos(Zero)) 214.33/145.93 new_primMulNat2(Succ(x0)) 214.33/145.93 new_primQuotInt(x0, Neg(Zero)) 214.33/145.93 new_rem(Neg(x0), Neg(Succ(x1))) 214.33/145.93 new_primMinusNatS2(Zero, Succ(x0)) 214.33/145.93 new_sr(x0, ty_Int) 214.33/145.93 new_sr4(x0, x1, ty_Double) 214.33/145.93 new_primMulNat3(Succ(x0)) 214.33/145.93 new_esEs1(Integer(x0)) 214.33/145.93 new_primQuotInt0(x0, Pos(Zero)) 214.33/145.93 new_gcd2(True, x0, x1) 214.33/145.93 new_quot1(x0, x1, x2, x3, ty_Int) 214.33/145.93 new_primDivNatS1(Zero, x0) 214.33/145.93 new_primMinusNat0(Zero, Zero) 214.33/145.93 new_gcd(x0, x1) 214.33/145.93 new_gcd1(False, x0, x1) 214.33/145.93 new_esEs2(x0, x1, ty_Int) 214.33/145.93 new_sr3(x0, ty_Integer) 214.33/145.93 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 214.33/145.93 new_sr1(x0, app(ty_Ratio, x1)) 214.33/145.93 new_sr1(x0, ty_Float) 214.33/145.93 new_primPlusNat0(Zero, Succ(x0)) 214.33/145.93 new_sr8(:%(x0, x1), :%(x2, x3), x4) 214.33/145.93 new_abs(Neg(Zero)) 214.33/145.93 new_primMinusNatS2(Succ(x0), Zero) 214.33/145.93 new_error 214.33/145.93 new_primModNatS1(Succ(Zero), Zero) 214.33/145.93 new_primMulNat4(Succ(x0)) 214.33/145.93 new_sr1(x0, ty_Integer) 214.33/145.93 new_primDivNatS02(x0, x1) 214.33/145.93 new_sr1(x0, ty_Int) 214.33/145.93 new_rem(Neg(x0), Neg(Zero)) 214.33/145.93 new_primMinusNat0(Zero, Succ(x0)) 214.33/145.93 new_primEqInt(Neg(Zero)) 214.33/145.93 new_rem(Pos(x0), Pos(Succ(x1))) 214.33/145.93 new_abs(Pos(Succ(x0))) 214.33/145.93 new_primMulNat0(Succ(x0), Succ(x1)) 214.33/145.93 new_primMulNat0(Zero, Succ(x0)) 214.33/145.93 new_reduce2Reduce1(x0, x1, x2, x3, True, x4) 214.33/145.93 new_sr(x0, ty_Float) 214.33/145.93 new_gcd0Gcd'10(False, x0, x1) 214.33/145.93 new_sr12(x0) 214.33/145.93 new_primDivNatS01(x0, x1, Zero, Succ(x2)) 214.33/145.93 new_sr10(Pos(x0), Pos(x1)) 214.33/145.93 new_primModNatS01(x0, x1, Zero, Succ(x2)) 214.33/145.93 new_primPlusNat0(Zero, Zero) 214.33/145.93 new_sr(x0, ty_Integer) 214.33/145.93 new_primQuotInt0(x0, Pos(Succ(x1))) 214.33/145.93 new_primModNatS01(x0, x1, Succ(x2), Zero) 214.33/145.93 new_ms(x0, Pos(Succ(x1))) 214.33/145.93 new_primModNatS1(Succ(Succ(x0)), Zero) 214.33/145.93 new_sr4(x0, x1, ty_Integer) 214.33/145.93 new_rem(Pos(x0), Pos(Zero)) 214.33/145.93 new_sr4(x0, x1, ty_Int) 214.33/145.93 new_ms0(x0, Neg(Succ(x1))) 214.33/145.93 new_quot(Pos(x0), x1, x2) 214.33/145.93 new_primMinusNatS2(Zero, Zero) 214.33/145.93 new_esEs0(x0, ty_Int) 214.33/145.93 new_primMinusNat0(Succ(x0), Zero) 214.33/145.93 new_ms0(x0, Pos(x1)) 214.33/145.93 new_esEs(Pos(Zero)) 214.33/145.93 new_quot(Neg(x0), x1, x2) 214.33/145.93 new_primDivNatS01(x0, x1, Succ(x2), Succ(x3)) 214.33/145.93 new_quot2(x0, x1, x2) 214.33/145.93 new_primEqInt(Neg(Succ(x0))) 214.33/145.93 new_sr10(Neg(x0), Neg(x1)) 214.33/145.93 new_sr3(x0, app(ty_Ratio, x1)) 214.33/145.93 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 214.33/145.93 new_sr9(x0, x1) 214.33/145.93 new_sr2(x0, x1, ty_Integer) 214.33/145.93 new_sr7(Neg(x0)) 214.33/145.93 new_sr1(x0, ty_Double) 214.33/145.93 new_primQuotInt0(x0, Neg(Succ(x1))) 214.33/145.93 new_rem(Pos(x0), Neg(Zero)) 214.33/145.93 new_rem(Neg(x0), Pos(Zero)) 214.33/145.93 new_gcd0Gcd'00(x0, x1) 214.33/145.93 new_primQuotInt(x0, Neg(Succ(x1))) 214.33/145.93 new_primMinusNatS2(Succ(x0), Succ(x1)) 214.33/145.93 new_ms(x0, Pos(Zero)) 214.33/145.93 new_abs(Pos(Zero)) 214.33/145.93 new_primMinusNat0(Succ(x0), Succ(x1)) 214.33/145.93 new_quot0(x0, x1, x2, x3, ty_Integer) 214.33/145.93 new_sr6(x0) 214.33/145.93 new_gcd2(False, x0, x1) 214.33/145.93 new_gcd1(True, x0, x1) 214.33/145.93 new_esEs2(x0, x1, ty_Integer) 214.33/145.93 new_primMinusNatS1 214.33/145.93 new_sr7(Pos(x0)) 214.33/145.93 new_gcd0Gcd'10(True, x0, x1) 214.33/145.93 new_primModNatS1(Zero, x0) 214.33/145.93 new_sr4(x0, x1, ty_Float) 214.33/145.93 new_sr10(Pos(x0), Neg(x1)) 214.33/145.93 new_sr10(Neg(x0), Pos(x1)) 214.33/145.93 new_primDivNatS01(x0, x1, Succ(x2), Zero) 214.33/145.93 new_primDivNatS1(Succ(Succ(x0)), Succ(x1)) 214.33/145.93 new_primPlusNat0(Succ(x0), Succ(x1)) 214.33/145.93 new_primDivNatS1(Succ(Zero), Succ(x0)) 214.33/145.93 new_primQuotInt(x0, Pos(Succ(x1))) 214.33/145.93 new_sr2(x0, x1, app(ty_Ratio, x2)) 214.33/145.93 new_abs(Neg(Succ(x0))) 214.33/145.93 new_esEs0(x0, ty_Integer) 214.33/145.93 new_sr3(x0, ty_Int) 214.33/145.93 new_esEs(Neg(Succ(x0))) 214.33/145.93 new_sr(x0, app(ty_Ratio, x1)) 214.33/145.93 new_ms0(x0, Neg(Zero)) 214.33/145.93 new_primModNatS01(x0, x1, Zero, Zero) 214.33/145.93 new_sr4(x0, x1, app(ty_Ratio, x2)) 214.33/145.93 new_gcd0(x0, x1) 214.33/145.93 new_primEqInt(Pos(Succ(x0))) 214.33/145.93 new_sr3(x0, ty_Double) 214.33/145.93 new_quot1(x0, x1, x2, x3, ty_Integer) 214.33/145.93 new_primDivNatS1(Succ(Succ(x0)), Zero) 214.33/145.93 new_primMulNat1(Succ(x0)) 214.33/145.93 new_sr14(x0, x1) 214.33/145.93 new_quot0(x0, x1, x2, x3, ty_Int) 214.33/145.93 new_sr2(x0, x1, ty_Int) 214.33/145.93 new_primModNatS1(Succ(Zero), Succ(x0)) 214.33/145.93 new_reduce2Reduce1(x0, x1, x2, x3, False, x4) 214.33/145.93 new_esEs(Neg(Zero)) 214.33/145.93 new_primMulNat1(Zero) 214.33/145.93 214.33/145.93 We have to consider all minimal (P,Q,R)-chains. 214.33/145.93 ---------------------------------------- 214.33/145.93 214.33/145.93 (750) TransformationProof (EQUIVALENT) 214.33/145.93 By rewriting [LPAR04] the rule new_pr2F0G(vyv188, vyv184, Pos(Zero), h) -> new_pr2F0G(vyv188, new_sr(vyv184, h), Pos(new_primDivNatS1(Zero, Succ(Zero))), h) at position [2,0] we obtained the following new rules [LPAR04]: 214.33/145.93 214.33/145.93 (new_pr2F0G(vyv188, vyv184, Pos(Zero), h) -> new_pr2F0G(vyv188, new_sr(vyv184, h), Pos(Zero), h),new_pr2F0G(vyv188, vyv184, Pos(Zero), h) -> new_pr2F0G(vyv188, new_sr(vyv184, h), Pos(Zero), h)) 214.33/145.93 214.33/145.93 214.33/145.93 ---------------------------------------- 214.33/145.93 214.33/145.93 (751) 214.33/145.93 Obligation: 214.33/145.93 Q DP problem: 214.33/145.93 The TRS P consists of the following rules: 214.33/145.93 214.33/145.93 new_pr2F0G10(vyv249, vyv250, vyv251, Succ(Zero), bb) -> new_pr2F0G11(vyv249, vyv250, vyv251, bb) 214.33/145.93 new_pr2F0G11(vyv239, vyv240, vyv241, bc) -> new_pr2F1(vyv240, vyv241, Pos(Succ(Zero)), vyv239, bc) 214.33/145.93 new_pr2F1(vyv240, vyv241, vyv244, vyv239, bc) -> new_pr2F30(new_esEs(new_ms0(vyv241, vyv244)), vyv240, vyv241, vyv244, vyv239, bc) 214.33/145.93 new_pr2F30(False, vyv240, vyv241, vyv244, vyv239, bc) -> new_pr2F0(vyv240, new_ms0(vyv241, vyv244), new_sr4(vyv240, vyv239, bc), bc) 214.33/145.93 new_pr2F0(vyv184, Neg(Succ(Succ(vyv223000))), vyv188, h) -> new_pr2F0G10(vyv188, vyv184, Succ(vyv223000), vyv223000, h) 214.33/145.93 new_pr2F0G10(vyv249, vyv250, vyv251, Succ(Succ(vyv25200)), bb) -> new_pr2F0G10(vyv249, vyv250, vyv251, vyv25200, bb) 214.33/145.93 new_pr2F0G10(vyv249, vyv250, vyv251, Zero, bb) -> new_pr2F0G(vyv249, new_sr3(vyv250, bb), Neg(new_primDivNatS1(Succ(vyv251), Succ(Zero))), bb) 214.33/145.93 new_pr2F0G(vyv188, vyv184, Neg(Succ(Zero)), h) -> new_pr2F0G11(vyv188, vyv184, Zero, h) 214.33/145.93 new_pr2F0G(vyv188, vyv184, Neg(Succ(Succ(vyv223000))), h) -> new_pr2F0G10(vyv188, vyv184, Succ(vyv223000), vyv223000, h) 214.33/145.93 new_pr2F0(vyv184, Neg(Succ(Zero)), vyv188, h) -> new_pr2F0G11(vyv188, vyv184, Zero, h) 214.33/145.93 new_pr2F0(vyv184, Pos(Succ(Succ(vyv223000))), vyv188, h) -> new_pr2F0G1(vyv188, vyv184, Succ(vyv223000), vyv223000, h) 214.33/145.93 new_pr2F0G1(vyv227, vyv228, vyv229, Succ(Succ(vyv23000)), ba) -> new_pr2F0G1(vyv227, vyv228, vyv229, vyv23000, ba) 214.33/145.93 new_pr2F0G1(vyv227, vyv228, vyv229, Succ(Zero), ba) -> new_pr2F(vyv228, vyv229, Pos(Succ(Zero)), vyv227, ba) 214.33/145.93 new_pr2F(vyv228, vyv229, vyv245, vyv227, ba) -> new_pr2F3(new_esEs(new_ms(vyv229, vyv245)), vyv228, vyv229, vyv245, vyv227, ba) 214.33/145.93 new_pr2F3(False, vyv228, vyv229, vyv245, vyv227, ba) -> new_pr2F0(vyv228, new_ms(vyv229, vyv245), new_sr2(vyv228, vyv227, ba), ba) 214.33/145.93 new_pr2F0(vyv184, Pos(Succ(Zero)), vyv188, h) -> new_pr2F(vyv184, Zero, Pos(Succ(Zero)), vyv188, h) 214.33/145.93 new_pr2F0G(vyv188, vyv184, Pos(Succ(Succ(vyv223000))), h) -> new_pr2F0G1(vyv188, vyv184, Succ(vyv223000), vyv223000, h) 214.33/145.93 new_pr2F0G1(vyv227, vyv228, vyv229, Zero, ba) -> new_pr2F0G(vyv227, new_sr1(vyv228, ba), Pos(new_primDivNatS1(Succ(vyv229), Succ(Zero))), ba) 214.33/145.93 new_pr2F0G(vyv188, vyv184, Pos(Succ(Zero)), h) -> new_pr2F(vyv184, Zero, Pos(Succ(Zero)), vyv188, h) 214.33/145.93 new_pr2F0(vyv184, Pos(Zero), vyv188, h) -> new_pr2F0G(vyv188, new_sr(vyv184, h), Pos(Zero), h) 214.33/145.93 new_pr2F0G(vyv188, vyv184, Pos(Zero), h) -> new_pr2F0G(vyv188, new_sr(vyv184, h), Pos(Zero), h) 214.33/145.93 214.33/145.93 The TRS R consists of the following rules: 214.33/145.93 214.33/145.93 new_sr(vyv184, ty_Double) -> new_sr11(vyv184) 214.33/145.93 new_sr(vyv184, app(ty_Ratio, bd)) -> new_sr5(vyv184, bd) 214.33/145.93 new_sr(vyv184, ty_Float) -> new_sr12(vyv184) 214.33/145.93 new_sr(vyv184, ty_Int) -> new_sr7(vyv184) 214.33/145.93 new_sr(vyv184, ty_Integer) -> new_sr6(vyv184) 214.33/145.93 new_primDivNatS1(Zero, vyv28500) -> Zero 214.33/145.93 new_sr6(vyv184) -> error([]) 214.33/145.93 new_sr7(Pos(vyv1840)) -> Pos(new_primMulNat1(vyv1840)) 214.33/145.93 new_sr7(Neg(vyv1840)) -> Pos(new_primMulNat1(vyv1840)) 214.33/145.93 new_primMulNat1(Succ(vyv18400)) -> new_primPlusNat0(new_primMulNat2(vyv18400), Succ(vyv18400)) 214.33/145.93 new_primMulNat1(Zero) -> Zero 214.33/145.93 new_primMulNat2(Succ(vyv184000)) -> new_primPlusNat0(new_primMulNat3(vyv184000), Succ(Succ(vyv184000))) 214.33/145.93 new_primMulNat2(Zero) -> Zero 214.33/145.93 new_primPlusNat0(Succ(vyv4000), Succ(vyv6000)) -> Succ(Succ(new_primPlusNat0(vyv4000, vyv6000))) 214.33/145.93 new_primPlusNat0(Zero, Succ(vyv6000)) -> Succ(vyv6000) 214.33/145.93 new_primPlusNat0(Zero, Zero) -> Zero 214.33/145.93 new_primPlusNat0(Succ(vyv4000), Zero) -> Succ(vyv4000) 214.33/145.93 new_primMulNat3(Succ(vyv1840000)) -> new_primPlusNat0(new_primMulNat4(vyv1840000), Succ(Succ(Succ(vyv1840000)))) 214.33/145.93 new_primMulNat3(Zero) -> Zero 214.33/145.93 new_primMulNat4(Succ(vyv18400000)) -> new_primPlusNat0(new_primMulNat0(vyv18400000, Succ(Succ(Succ(Succ(vyv18400000))))), Succ(Succ(Succ(Succ(vyv18400000))))) 214.33/145.93 new_primMulNat4(Zero) -> Zero 214.33/145.93 new_primMulNat0(Zero, Succ(vyv23900)) -> Zero 214.33/145.93 new_primMulNat0(Succ(vyv24000), Succ(vyv23900)) -> new_primPlusNat0(new_primMulNat0(vyv24000, Succ(vyv23900)), Succ(vyv23900)) 214.33/145.93 new_sr12(vyv184) -> error([]) 214.33/145.93 new_sr5(:%(vyv1840, vyv1841), bd) -> new_reduce2Reduce1(vyv1840, vyv1840, vyv1841, vyv1841, new_esEs0(vyv1841, bd), bd) 214.33/145.93 new_esEs0(vyv1841, ty_Int) -> new_esEs(new_sr7(vyv1841)) 214.33/145.93 new_esEs0(vyv1841, ty_Integer) -> new_esEs1(new_sr6(vyv1841)) 214.33/145.93 new_reduce2Reduce1(vyv265, vyv266, vyv267, vyv268, False, bh) -> :%(new_quot0(vyv265, vyv266, vyv267, vyv268, bh), new_quot1(vyv267, vyv268, vyv265, vyv266, bh)) 214.33/145.93 new_reduce2Reduce1(vyv265, vyv266, vyv267, vyv268, True, bh) -> error([]) 214.33/145.93 new_quot0(vyv265, vyv266, vyv267, vyv268, ty_Integer) -> new_quot2(new_sr9(vyv265, vyv266), new_sr9(vyv265, vyv266), new_sr9(vyv267, vyv268)) 214.33/145.93 new_quot0(vyv265, vyv266, vyv267, vyv268, ty_Int) -> new_quot(new_sr10(vyv265, vyv266), new_sr10(vyv265, vyv266), new_sr10(vyv267, vyv268)) 214.33/145.93 new_quot1(vyv267, vyv268, vyv265, vyv266, ty_Int) -> new_quot(new_sr10(vyv267, vyv268), new_sr10(vyv265, vyv266), new_sr10(vyv267, vyv268)) 214.33/145.93 new_quot1(vyv267, vyv268, vyv265, vyv266, ty_Integer) -> new_quot2(new_sr9(vyv267, vyv268), new_sr9(vyv265, vyv266), new_sr9(vyv267, vyv268)) 214.33/145.93 new_sr9(vyv240, vyv239) -> error([]) 214.33/145.93 new_quot2(vyv274, vyv276, vyv275) -> error([]) 214.33/145.93 new_sr10(Pos(vyv2400), Pos(vyv2390)) -> Pos(new_primMulNat0(vyv2400, vyv2390)) 214.33/145.93 new_sr10(Neg(vyv2400), Neg(vyv2390)) -> Pos(new_primMulNat0(vyv2400, vyv2390)) 214.33/145.93 new_sr10(Pos(vyv2400), Neg(vyv2390)) -> Neg(new_primMulNat0(vyv2400, vyv2390)) 214.33/145.93 new_sr10(Neg(vyv2400), Pos(vyv2390)) -> Neg(new_primMulNat0(vyv2400, vyv2390)) 214.33/145.93 new_quot(Pos(vyv2710), vyv273, vyv272) -> new_primQuotInt(vyv2710, new_gcd(vyv273, vyv272)) 214.33/145.93 new_quot(Neg(vyv2710), vyv273, vyv272) -> new_primQuotInt0(vyv2710, new_gcd(vyv273, vyv272)) 214.33/145.93 new_gcd(vyv273, vyv272) -> new_gcd2(new_esEs(vyv273), vyv273, vyv272) 214.33/145.93 new_primQuotInt0(vyv2710, Pos(Succ(vyv28800))) -> Neg(new_primDivNatS1(vyv2710, vyv28800)) 214.33/145.93 new_primQuotInt0(vyv2710, Neg(Zero)) -> new_error 214.33/145.93 new_primQuotInt0(vyv2710, Neg(Succ(vyv28800))) -> Pos(new_primDivNatS1(vyv2710, vyv28800)) 214.33/145.93 new_primQuotInt0(vyv2710, Pos(Zero)) -> new_error 214.33/145.93 new_error -> error([]) 214.33/145.93 new_primDivNatS1(Succ(Succ(vyv271000)), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS0(vyv271000), Zero)) 214.33/145.93 new_primDivNatS1(Succ(Zero), Succ(vyv285000)) -> Zero 214.33/145.93 new_primDivNatS1(Succ(Succ(vyv271000)), Succ(vyv285000)) -> new_primDivNatS01(vyv271000, vyv285000, vyv271000, vyv285000) 214.33/145.93 new_primDivNatS1(Succ(Zero), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS1, Zero)) 214.33/145.93 new_primMinusNatS1 -> Zero 214.33/145.93 new_primDivNatS01(vyv311, vyv312, Succ(vyv3130), Zero) -> new_primDivNatS02(vyv311, vyv312) 214.33/145.93 new_primDivNatS01(vyv311, vyv312, Zero, Succ(vyv3140)) -> Zero 214.33/145.93 new_primDivNatS01(vyv311, vyv312, Succ(vyv3130), Succ(vyv3140)) -> new_primDivNatS01(vyv311, vyv312, vyv3130, vyv3140) 214.33/145.93 new_primDivNatS01(vyv311, vyv312, Zero, Zero) -> new_primDivNatS02(vyv311, vyv312) 214.33/145.93 new_primDivNatS02(vyv311, vyv312) -> Succ(new_primDivNatS1(new_primMinusNatS2(vyv311, vyv312), Succ(vyv312))) 214.33/145.93 new_primMinusNatS2(Zero, Succ(vyv3120)) -> Zero 214.33/145.93 new_primMinusNatS2(Succ(vyv3110), Zero) -> Succ(vyv3110) 214.33/145.93 new_primMinusNatS2(Zero, Zero) -> Zero 214.33/145.93 new_primMinusNatS2(Succ(vyv3110), Succ(vyv3120)) -> new_primMinusNatS2(vyv3110, vyv3120) 214.33/145.93 new_primMinusNatS0(vyv271000) -> Succ(vyv271000) 214.33/145.93 new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) 214.33/145.94 new_esEs(Pos(Succ(vyv24300))) -> new_primEqInt(Pos(Succ(vyv24300))) 214.33/145.94 new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) 214.33/145.94 new_esEs(Neg(Succ(vyv24300))) -> new_primEqInt(Neg(Succ(vyv24300))) 214.33/145.94 new_gcd2(True, vyv273, vyv272) -> new_gcd1(new_esEs(vyv272), vyv273, vyv272) 214.33/145.94 new_gcd2(False, vyv273, vyv272) -> new_gcd0(vyv273, vyv272) 214.33/145.94 new_gcd0(vyv273, vyv272) -> new_gcd0Gcd'11(new_esEs(new_abs(vyv272)), vyv273, vyv272) 214.33/145.94 new_abs(Neg(Zero)) -> Neg(Zero) 214.33/145.94 new_abs(Neg(Succ(vyv27200))) -> Pos(Succ(vyv27200)) 214.33/145.94 new_abs(Pos(Succ(vyv27200))) -> Pos(Succ(vyv27200)) 214.33/145.94 new_abs(Pos(Zero)) -> Pos(Zero) 214.33/145.94 new_gcd0Gcd'11(True, vyv273, vyv272) -> new_abs(vyv273) 214.33/145.94 new_gcd0Gcd'11(False, vyv273, vyv272) -> new_gcd0Gcd'00(new_abs(vyv273), new_abs(vyv272)) 214.33/145.94 new_gcd0Gcd'10(False, vyv292, vyv293) -> new_gcd0Gcd'00(vyv292, new_rem(vyv293, vyv292)) 214.33/145.94 new_gcd0Gcd'00(vyv293, vyv292) -> new_gcd0Gcd'10(new_esEs(new_rem(vyv293, vyv292)), vyv292, vyv293) 214.33/145.94 new_rem(Pos(vyv2930), Neg(Zero)) -> new_error 214.33/145.94 new_rem(Neg(vyv2930), Pos(Zero)) -> new_error 214.33/145.94 new_rem(Pos(vyv2930), Neg(Succ(vyv29200))) -> Pos(new_primModNatS1(vyv2930, vyv29200)) 214.33/145.94 new_rem(Neg(vyv2930), Pos(Succ(vyv29200))) -> Neg(new_primModNatS1(vyv2930, vyv29200)) 214.33/145.94 new_rem(Pos(vyv2930), Pos(Succ(vyv29200))) -> Pos(new_primModNatS1(vyv2930, vyv29200)) 214.33/145.94 new_rem(Neg(vyv2930), Neg(Zero)) -> new_error 214.33/145.94 new_rem(Neg(vyv2930), Neg(Succ(vyv29200))) -> Neg(new_primModNatS1(vyv2930, vyv29200)) 214.33/145.94 new_rem(Pos(vyv2930), Pos(Zero)) -> new_error 214.33/145.94 new_gcd0Gcd'10(True, vyv292, vyv293) -> vyv292 214.33/145.94 new_primModNatS1(Succ(Zero), Succ(vyv292000)) -> Succ(Zero) 214.33/145.94 new_primModNatS1(Zero, vyv29200) -> Zero 214.33/145.94 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 214.33/145.94 new_primModNatS1(Succ(Succ(vyv293000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv293000), Zero) 214.33/145.94 new_primModNatS1(Succ(Succ(vyv293000)), Succ(vyv292000)) -> new_primModNatS01(vyv293000, vyv292000, vyv293000, vyv292000) 214.33/145.94 new_primModNatS01(vyv331, vyv332, Zero, Zero) -> new_primModNatS02(vyv331, vyv332) 214.33/145.94 new_primModNatS02(vyv331, vyv332) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv331), Succ(vyv332)), Succ(vyv332)) 214.33/145.94 new_primModNatS01(vyv331, vyv332, Succ(vyv3330), Zero) -> new_primModNatS02(vyv331, vyv332) 214.33/145.94 new_primModNatS01(vyv331, vyv332, Succ(vyv3330), Succ(vyv3340)) -> new_primModNatS01(vyv331, vyv332, vyv3330, vyv3340) 214.33/145.94 new_primModNatS01(vyv331, vyv332, Zero, Succ(vyv3340)) -> Succ(Succ(vyv331)) 214.33/145.94 new_gcd1(True, vyv273, vyv272) -> new_error 214.33/145.94 new_gcd1(False, vyv273, vyv272) -> new_gcd0(vyv273, vyv272) 214.33/145.94 new_primEqInt(Neg(Succ(vyv242000))) -> False 214.33/145.94 new_primEqInt(Pos(Zero)) -> True 214.33/145.94 new_primEqInt(Pos(Succ(vyv242000))) -> False 214.33/145.94 new_primEqInt(Neg(Zero)) -> True 214.33/145.94 new_primQuotInt(vyv2710, Pos(Succ(vyv28500))) -> Pos(new_primDivNatS1(vyv2710, vyv28500)) 214.33/145.94 new_primQuotInt(vyv2710, Neg(Zero)) -> new_error 214.33/145.94 new_primQuotInt(vyv2710, Pos(Zero)) -> new_error 214.33/145.94 new_primQuotInt(vyv2710, Neg(Succ(vyv28500))) -> Neg(new_primDivNatS1(vyv2710, vyv28500)) 214.33/145.94 new_primMulNat0(Succ(vyv24000), Zero) -> Zero 214.33/145.94 new_primMulNat0(Zero, Zero) -> Zero 214.33/145.94 new_esEs1(Integer(vyv2700)) -> new_primEqInt(vyv2700) 214.33/145.94 new_sr11(vyv184) -> error([]) 214.33/145.94 new_sr1(vyv228, ty_Double) -> new_sr11(vyv228) 214.33/145.94 new_sr1(vyv228, ty_Float) -> new_sr12(vyv228) 214.33/145.94 new_sr1(vyv228, app(ty_Ratio, bg)) -> new_sr5(vyv228, bg) 214.33/145.94 new_sr1(vyv228, ty_Integer) -> new_sr6(vyv228) 214.33/145.94 new_sr1(vyv228, ty_Int) -> new_sr7(vyv228) 214.33/145.94 new_ms(vyv229, Neg(vyv2450)) -> Pos(new_primPlusNat0(Succ(vyv229), vyv2450)) 214.33/145.94 new_ms(vyv229, Pos(Succ(vyv24500))) -> new_primMinusNat0(vyv229, vyv24500) 214.33/145.94 new_ms(vyv229, Pos(Zero)) -> Pos(Succ(vyv229)) 214.33/145.94 new_sr2(vyv228, vyv227, ty_Integer) -> new_sr9(vyv228, vyv227) 214.33/145.94 new_sr2(vyv228, vyv227, ty_Int) -> new_sr10(vyv228, vyv227) 214.33/145.94 new_sr2(vyv228, vyv227, app(ty_Ratio, bg)) -> new_sr8(vyv228, vyv227, bg) 214.33/145.94 new_sr2(vyv228, vyv227, ty_Double) -> new_sr13(vyv228, vyv227) 214.33/145.94 new_sr2(vyv228, vyv227, ty_Float) -> new_sr14(vyv228, vyv227) 214.33/145.94 new_sr14(vyv240, vyv239) -> error([]) 214.33/145.94 new_sr13(vyv240, vyv239) -> error([]) 214.33/145.94 new_sr8(:%(vyv2400, vyv2401), :%(vyv2390, vyv2391), be) -> new_reduce2Reduce1(vyv2400, vyv2390, vyv2401, vyv2391, new_esEs2(vyv2401, vyv2391, be), be) 214.33/145.94 new_esEs2(vyv2401, vyv2391, ty_Integer) -> new_esEs1(new_sr9(vyv2401, vyv2391)) 214.33/145.94 new_esEs2(vyv2401, vyv2391, ty_Int) -> new_esEs(new_sr10(vyv2401, vyv2391)) 214.33/145.94 new_primMinusNat0(Succ(vyv2290), Succ(vyv245000)) -> new_primMinusNat0(vyv2290, vyv245000) 214.33/145.94 new_primMinusNat0(Zero, Zero) -> Pos(Zero) 214.33/145.94 new_primMinusNat0(Zero, Succ(vyv245000)) -> Neg(Succ(vyv245000)) 214.33/145.94 new_primMinusNat0(Succ(vyv2290), Zero) -> Pos(Succ(vyv2290)) 214.33/145.94 new_sr3(vyv250, ty_Double) -> new_sr11(vyv250) 214.33/145.94 new_sr3(vyv250, ty_Int) -> new_sr7(vyv250) 214.33/145.94 new_sr3(vyv250, ty_Float) -> new_sr12(vyv250) 214.33/145.94 new_sr3(vyv250, ty_Integer) -> new_sr6(vyv250) 214.33/145.94 new_sr3(vyv250, app(ty_Ratio, bf)) -> new_sr5(vyv250, bf) 214.33/145.94 new_ms0(vyv241, Neg(Zero)) -> Neg(Succ(vyv241)) 214.33/145.94 new_ms0(vyv241, Pos(vyv2440)) -> Neg(new_primPlusNat0(Succ(vyv241), vyv2440)) 214.33/145.94 new_ms0(vyv241, Neg(Succ(vyv24400))) -> new_primMinusNat0(vyv24400, vyv241) 214.33/145.94 new_sr4(vyv240, vyv239, app(ty_Ratio, be)) -> new_sr8(vyv240, vyv239, be) 214.33/145.94 new_sr4(vyv240, vyv239, ty_Float) -> new_sr14(vyv240, vyv239) 214.33/145.94 new_sr4(vyv240, vyv239, ty_Int) -> new_sr10(vyv240, vyv239) 214.33/145.94 new_sr4(vyv240, vyv239, ty_Double) -> new_sr13(vyv240, vyv239) 214.33/145.94 new_sr4(vyv240, vyv239, ty_Integer) -> new_sr9(vyv240, vyv239) 214.33/145.94 214.33/145.94 The set Q consists of the following terms: 214.33/145.94 214.33/145.94 new_sr13(x0, x1) 214.33/145.94 new_primDivNatS01(x0, x1, Zero, Zero) 214.33/145.94 new_gcd0Gcd'11(False, x0, x1) 214.33/145.94 new_primMulNat4(Zero) 214.33/145.94 new_gcd0Gcd'11(True, x0, x1) 214.33/145.94 new_sr2(x0, x1, ty_Float) 214.33/145.94 new_sr5(:%(x0, x1), x2) 214.33/145.94 new_primEqInt(Pos(Zero)) 214.33/145.94 new_ms(x0, Neg(x1)) 214.33/145.94 new_sr2(x0, x1, ty_Double) 214.33/145.94 new_esEs(Pos(Succ(x0))) 214.33/145.94 new_primQuotInt0(x0, Neg(Zero)) 214.33/145.94 new_primMulNat3(Zero) 214.33/145.94 new_primModNatS02(x0, x1) 214.33/145.94 new_sr(x0, ty_Double) 214.33/145.94 new_primDivNatS1(Succ(Zero), Zero) 214.33/145.94 new_primMinusNatS0(x0) 214.33/145.94 new_sr11(x0) 214.33/145.94 new_rem(Pos(x0), Neg(Succ(x1))) 214.33/145.94 new_rem(Neg(x0), Pos(Succ(x1))) 214.33/145.94 new_primMulNat0(Zero, Zero) 214.33/145.94 new_primPlusNat0(Succ(x0), Zero) 214.33/145.94 new_primMulNat0(Succ(x0), Zero) 214.33/145.94 new_sr3(x0, ty_Float) 214.33/145.94 new_primMulNat2(Zero) 214.33/145.94 new_primQuotInt(x0, Pos(Zero)) 214.33/145.94 new_primMulNat2(Succ(x0)) 214.33/145.94 new_primQuotInt(x0, Neg(Zero)) 214.33/145.94 new_rem(Neg(x0), Neg(Succ(x1))) 214.33/145.94 new_primMinusNatS2(Zero, Succ(x0)) 214.33/145.94 new_sr(x0, ty_Int) 214.33/145.94 new_sr4(x0, x1, ty_Double) 214.33/145.94 new_primMulNat3(Succ(x0)) 214.33/145.94 new_esEs1(Integer(x0)) 214.33/145.94 new_primQuotInt0(x0, Pos(Zero)) 214.33/145.94 new_gcd2(True, x0, x1) 214.33/145.94 new_quot1(x0, x1, x2, x3, ty_Int) 214.33/145.94 new_primDivNatS1(Zero, x0) 214.33/145.94 new_primMinusNat0(Zero, Zero) 214.33/145.94 new_gcd(x0, x1) 214.33/145.94 new_gcd1(False, x0, x1) 214.33/145.94 new_esEs2(x0, x1, ty_Int) 214.33/145.94 new_sr3(x0, ty_Integer) 214.33/145.94 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 214.33/145.94 new_sr1(x0, app(ty_Ratio, x1)) 214.33/145.94 new_sr1(x0, ty_Float) 214.33/145.94 new_primPlusNat0(Zero, Succ(x0)) 214.33/145.94 new_sr8(:%(x0, x1), :%(x2, x3), x4) 214.33/145.94 new_abs(Neg(Zero)) 214.33/145.94 new_primMinusNatS2(Succ(x0), Zero) 214.33/145.94 new_error 214.33/145.94 new_primModNatS1(Succ(Zero), Zero) 214.33/145.94 new_primMulNat4(Succ(x0)) 214.33/145.94 new_sr1(x0, ty_Integer) 214.33/145.94 new_primDivNatS02(x0, x1) 214.33/145.94 new_sr1(x0, ty_Int) 214.33/145.94 new_rem(Neg(x0), Neg(Zero)) 214.33/145.94 new_primMinusNat0(Zero, Succ(x0)) 214.33/145.94 new_primEqInt(Neg(Zero)) 214.33/145.94 new_rem(Pos(x0), Pos(Succ(x1))) 214.33/145.94 new_abs(Pos(Succ(x0))) 214.33/145.94 new_primMulNat0(Succ(x0), Succ(x1)) 214.33/145.94 new_primMulNat0(Zero, Succ(x0)) 214.33/145.94 new_reduce2Reduce1(x0, x1, x2, x3, True, x4) 214.33/145.94 new_sr(x0, ty_Float) 214.33/145.94 new_gcd0Gcd'10(False, x0, x1) 214.33/145.94 new_sr12(x0) 214.33/145.94 new_primDivNatS01(x0, x1, Zero, Succ(x2)) 214.33/145.94 new_sr10(Pos(x0), Pos(x1)) 214.33/145.94 new_primModNatS01(x0, x1, Zero, Succ(x2)) 214.33/145.94 new_primPlusNat0(Zero, Zero) 214.33/145.94 new_sr(x0, ty_Integer) 214.33/145.94 new_primQuotInt0(x0, Pos(Succ(x1))) 214.33/145.94 new_primModNatS01(x0, x1, Succ(x2), Zero) 214.33/145.94 new_ms(x0, Pos(Succ(x1))) 214.33/145.94 new_primModNatS1(Succ(Succ(x0)), Zero) 214.33/145.94 new_sr4(x0, x1, ty_Integer) 214.33/145.94 new_rem(Pos(x0), Pos(Zero)) 214.33/145.94 new_sr4(x0, x1, ty_Int) 214.33/145.94 new_ms0(x0, Neg(Succ(x1))) 214.33/145.94 new_quot(Pos(x0), x1, x2) 214.33/145.94 new_primMinusNatS2(Zero, Zero) 214.33/145.94 new_esEs0(x0, ty_Int) 214.33/145.94 new_primMinusNat0(Succ(x0), Zero) 214.33/145.94 new_ms0(x0, Pos(x1)) 214.33/145.94 new_esEs(Pos(Zero)) 214.33/145.94 new_quot(Neg(x0), x1, x2) 214.33/145.94 new_primDivNatS01(x0, x1, Succ(x2), Succ(x3)) 214.33/145.94 new_quot2(x0, x1, x2) 214.33/145.94 new_primEqInt(Neg(Succ(x0))) 214.33/145.94 new_sr10(Neg(x0), Neg(x1)) 214.33/145.94 new_sr3(x0, app(ty_Ratio, x1)) 214.33/145.94 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 214.33/145.94 new_sr9(x0, x1) 214.33/145.94 new_sr2(x0, x1, ty_Integer) 214.33/145.94 new_sr7(Neg(x0)) 214.33/145.94 new_sr1(x0, ty_Double) 214.33/145.94 new_primQuotInt0(x0, Neg(Succ(x1))) 214.33/145.94 new_rem(Pos(x0), Neg(Zero)) 214.33/145.94 new_rem(Neg(x0), Pos(Zero)) 214.33/145.94 new_gcd0Gcd'00(x0, x1) 214.33/145.94 new_primQuotInt(x0, Neg(Succ(x1))) 214.33/145.94 new_primMinusNatS2(Succ(x0), Succ(x1)) 214.33/145.94 new_ms(x0, Pos(Zero)) 214.33/145.94 new_abs(Pos(Zero)) 214.33/145.94 new_primMinusNat0(Succ(x0), Succ(x1)) 214.33/145.94 new_quot0(x0, x1, x2, x3, ty_Integer) 214.33/145.94 new_sr6(x0) 214.33/145.94 new_gcd2(False, x0, x1) 214.33/145.94 new_gcd1(True, x0, x1) 214.33/145.94 new_esEs2(x0, x1, ty_Integer) 214.33/145.94 new_primMinusNatS1 214.33/145.94 new_sr7(Pos(x0)) 214.33/145.94 new_gcd0Gcd'10(True, x0, x1) 214.33/145.94 new_primModNatS1(Zero, x0) 214.33/145.94 new_sr4(x0, x1, ty_Float) 214.33/145.94 new_sr10(Pos(x0), Neg(x1)) 214.33/145.94 new_sr10(Neg(x0), Pos(x1)) 214.33/145.94 new_primDivNatS01(x0, x1, Succ(x2), Zero) 214.33/145.94 new_primDivNatS1(Succ(Succ(x0)), Succ(x1)) 214.33/145.94 new_primPlusNat0(Succ(x0), Succ(x1)) 214.33/145.94 new_primDivNatS1(Succ(Zero), Succ(x0)) 214.33/145.94 new_primQuotInt(x0, Pos(Succ(x1))) 214.33/145.94 new_sr2(x0, x1, app(ty_Ratio, x2)) 214.33/145.94 new_abs(Neg(Succ(x0))) 214.33/145.94 new_esEs0(x0, ty_Integer) 214.33/145.94 new_sr3(x0, ty_Int) 214.33/145.94 new_esEs(Neg(Succ(x0))) 214.33/145.94 new_sr(x0, app(ty_Ratio, x1)) 214.33/145.94 new_ms0(x0, Neg(Zero)) 214.33/145.94 new_primModNatS01(x0, x1, Zero, Zero) 214.33/145.94 new_sr4(x0, x1, app(ty_Ratio, x2)) 214.33/145.94 new_gcd0(x0, x1) 214.33/145.94 new_primEqInt(Pos(Succ(x0))) 214.33/145.94 new_sr3(x0, ty_Double) 214.33/145.94 new_quot1(x0, x1, x2, x3, ty_Integer) 214.33/145.94 new_primDivNatS1(Succ(Succ(x0)), Zero) 214.33/145.94 new_primMulNat1(Succ(x0)) 214.33/145.94 new_sr14(x0, x1) 214.33/145.94 new_quot0(x0, x1, x2, x3, ty_Int) 214.33/145.94 new_sr2(x0, x1, ty_Int) 214.33/145.94 new_primModNatS1(Succ(Zero), Succ(x0)) 214.33/145.94 new_reduce2Reduce1(x0, x1, x2, x3, False, x4) 214.33/145.94 new_esEs(Neg(Zero)) 214.33/145.94 new_primMulNat1(Zero) 214.33/145.94 214.33/145.94 We have to consider all minimal (P,Q,R)-chains. 214.33/145.94 ---------------------------------------- 214.33/145.94 214.33/145.94 (752) DependencyGraphProof (EQUIVALENT) 214.33/145.94 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 2 SCCs with 1 less node. 214.33/145.94 ---------------------------------------- 214.33/145.94 214.33/145.94 (753) 214.33/145.94 Complex Obligation (AND) 214.33/145.94 214.33/145.94 ---------------------------------------- 214.33/145.94 214.33/145.94 (754) 214.33/145.94 Obligation: 214.33/145.94 Q DP problem: 214.33/145.94 The TRS P consists of the following rules: 214.33/145.94 214.33/145.94 new_pr2F0G(vyv188, vyv184, Pos(Zero), h) -> new_pr2F0G(vyv188, new_sr(vyv184, h), Pos(Zero), h) 214.33/145.94 214.33/145.94 The TRS R consists of the following rules: 214.33/145.94 214.33/145.94 new_sr(vyv184, ty_Double) -> new_sr11(vyv184) 214.33/145.94 new_sr(vyv184, app(ty_Ratio, bd)) -> new_sr5(vyv184, bd) 214.33/145.94 new_sr(vyv184, ty_Float) -> new_sr12(vyv184) 214.33/145.94 new_sr(vyv184, ty_Int) -> new_sr7(vyv184) 214.33/145.94 new_sr(vyv184, ty_Integer) -> new_sr6(vyv184) 214.33/145.94 new_primDivNatS1(Zero, vyv28500) -> Zero 214.33/145.94 new_sr6(vyv184) -> error([]) 214.33/145.94 new_sr7(Pos(vyv1840)) -> Pos(new_primMulNat1(vyv1840)) 214.33/145.94 new_sr7(Neg(vyv1840)) -> Pos(new_primMulNat1(vyv1840)) 214.33/145.94 new_primMulNat1(Succ(vyv18400)) -> new_primPlusNat0(new_primMulNat2(vyv18400), Succ(vyv18400)) 214.33/145.94 new_primMulNat1(Zero) -> Zero 214.33/145.94 new_primMulNat2(Succ(vyv184000)) -> new_primPlusNat0(new_primMulNat3(vyv184000), Succ(Succ(vyv184000))) 214.33/145.94 new_primMulNat2(Zero) -> Zero 214.33/145.94 new_primPlusNat0(Succ(vyv4000), Succ(vyv6000)) -> Succ(Succ(new_primPlusNat0(vyv4000, vyv6000))) 214.33/145.94 new_primPlusNat0(Zero, Succ(vyv6000)) -> Succ(vyv6000) 214.33/145.94 new_primPlusNat0(Zero, Zero) -> Zero 214.33/145.94 new_primPlusNat0(Succ(vyv4000), Zero) -> Succ(vyv4000) 214.33/145.94 new_primMulNat3(Succ(vyv1840000)) -> new_primPlusNat0(new_primMulNat4(vyv1840000), Succ(Succ(Succ(vyv1840000)))) 214.33/145.94 new_primMulNat3(Zero) -> Zero 214.33/145.94 new_primMulNat4(Succ(vyv18400000)) -> new_primPlusNat0(new_primMulNat0(vyv18400000, Succ(Succ(Succ(Succ(vyv18400000))))), Succ(Succ(Succ(Succ(vyv18400000))))) 214.33/145.94 new_primMulNat4(Zero) -> Zero 214.33/145.94 new_primMulNat0(Zero, Succ(vyv23900)) -> Zero 214.33/145.94 new_primMulNat0(Succ(vyv24000), Succ(vyv23900)) -> new_primPlusNat0(new_primMulNat0(vyv24000, Succ(vyv23900)), Succ(vyv23900)) 214.33/145.94 new_sr12(vyv184) -> error([]) 214.33/145.94 new_sr5(:%(vyv1840, vyv1841), bd) -> new_reduce2Reduce1(vyv1840, vyv1840, vyv1841, vyv1841, new_esEs0(vyv1841, bd), bd) 214.33/145.94 new_esEs0(vyv1841, ty_Int) -> new_esEs(new_sr7(vyv1841)) 214.33/145.94 new_esEs0(vyv1841, ty_Integer) -> new_esEs1(new_sr6(vyv1841)) 214.33/145.94 new_reduce2Reduce1(vyv265, vyv266, vyv267, vyv268, False, bh) -> :%(new_quot0(vyv265, vyv266, vyv267, vyv268, bh), new_quot1(vyv267, vyv268, vyv265, vyv266, bh)) 214.33/145.94 new_reduce2Reduce1(vyv265, vyv266, vyv267, vyv268, True, bh) -> error([]) 214.33/145.94 new_quot0(vyv265, vyv266, vyv267, vyv268, ty_Integer) -> new_quot2(new_sr9(vyv265, vyv266), new_sr9(vyv265, vyv266), new_sr9(vyv267, vyv268)) 214.33/145.94 new_quot0(vyv265, vyv266, vyv267, vyv268, ty_Int) -> new_quot(new_sr10(vyv265, vyv266), new_sr10(vyv265, vyv266), new_sr10(vyv267, vyv268)) 214.33/145.94 new_quot1(vyv267, vyv268, vyv265, vyv266, ty_Int) -> new_quot(new_sr10(vyv267, vyv268), new_sr10(vyv265, vyv266), new_sr10(vyv267, vyv268)) 214.33/145.94 new_quot1(vyv267, vyv268, vyv265, vyv266, ty_Integer) -> new_quot2(new_sr9(vyv267, vyv268), new_sr9(vyv265, vyv266), new_sr9(vyv267, vyv268)) 214.33/145.94 new_sr9(vyv240, vyv239) -> error([]) 214.33/145.94 new_quot2(vyv274, vyv276, vyv275) -> error([]) 214.33/145.94 new_sr10(Pos(vyv2400), Pos(vyv2390)) -> Pos(new_primMulNat0(vyv2400, vyv2390)) 214.33/145.94 new_sr10(Neg(vyv2400), Neg(vyv2390)) -> Pos(new_primMulNat0(vyv2400, vyv2390)) 214.33/145.94 new_sr10(Pos(vyv2400), Neg(vyv2390)) -> Neg(new_primMulNat0(vyv2400, vyv2390)) 214.33/145.94 new_sr10(Neg(vyv2400), Pos(vyv2390)) -> Neg(new_primMulNat0(vyv2400, vyv2390)) 214.33/145.94 new_quot(Pos(vyv2710), vyv273, vyv272) -> new_primQuotInt(vyv2710, new_gcd(vyv273, vyv272)) 214.33/145.94 new_quot(Neg(vyv2710), vyv273, vyv272) -> new_primQuotInt0(vyv2710, new_gcd(vyv273, vyv272)) 214.33/145.94 new_gcd(vyv273, vyv272) -> new_gcd2(new_esEs(vyv273), vyv273, vyv272) 214.33/145.94 new_primQuotInt0(vyv2710, Pos(Succ(vyv28800))) -> Neg(new_primDivNatS1(vyv2710, vyv28800)) 214.33/145.94 new_primQuotInt0(vyv2710, Neg(Zero)) -> new_error 214.33/145.94 new_primQuotInt0(vyv2710, Neg(Succ(vyv28800))) -> Pos(new_primDivNatS1(vyv2710, vyv28800)) 214.33/145.94 new_primQuotInt0(vyv2710, Pos(Zero)) -> new_error 214.33/145.94 new_error -> error([]) 214.33/145.94 new_primDivNatS1(Succ(Succ(vyv271000)), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS0(vyv271000), Zero)) 214.33/145.94 new_primDivNatS1(Succ(Zero), Succ(vyv285000)) -> Zero 214.33/145.94 new_primDivNatS1(Succ(Succ(vyv271000)), Succ(vyv285000)) -> new_primDivNatS01(vyv271000, vyv285000, vyv271000, vyv285000) 214.33/145.94 new_primDivNatS1(Succ(Zero), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS1, Zero)) 214.33/145.94 new_primMinusNatS1 -> Zero 214.33/145.94 new_primDivNatS01(vyv311, vyv312, Succ(vyv3130), Zero) -> new_primDivNatS02(vyv311, vyv312) 214.33/145.94 new_primDivNatS01(vyv311, vyv312, Zero, Succ(vyv3140)) -> Zero 214.33/145.94 new_primDivNatS01(vyv311, vyv312, Succ(vyv3130), Succ(vyv3140)) -> new_primDivNatS01(vyv311, vyv312, vyv3130, vyv3140) 214.33/145.94 new_primDivNatS01(vyv311, vyv312, Zero, Zero) -> new_primDivNatS02(vyv311, vyv312) 214.33/145.94 new_primDivNatS02(vyv311, vyv312) -> Succ(new_primDivNatS1(new_primMinusNatS2(vyv311, vyv312), Succ(vyv312))) 214.33/145.94 new_primMinusNatS2(Zero, Succ(vyv3120)) -> Zero 214.33/145.94 new_primMinusNatS2(Succ(vyv3110), Zero) -> Succ(vyv3110) 214.33/145.94 new_primMinusNatS2(Zero, Zero) -> Zero 214.33/145.94 new_primMinusNatS2(Succ(vyv3110), Succ(vyv3120)) -> new_primMinusNatS2(vyv3110, vyv3120) 214.33/145.94 new_primMinusNatS0(vyv271000) -> Succ(vyv271000) 214.33/145.94 new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) 214.33/145.94 new_esEs(Pos(Succ(vyv24300))) -> new_primEqInt(Pos(Succ(vyv24300))) 214.33/145.94 new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) 214.33/145.94 new_esEs(Neg(Succ(vyv24300))) -> new_primEqInt(Neg(Succ(vyv24300))) 214.33/145.94 new_gcd2(True, vyv273, vyv272) -> new_gcd1(new_esEs(vyv272), vyv273, vyv272) 214.33/145.94 new_gcd2(False, vyv273, vyv272) -> new_gcd0(vyv273, vyv272) 214.33/145.94 new_gcd0(vyv273, vyv272) -> new_gcd0Gcd'11(new_esEs(new_abs(vyv272)), vyv273, vyv272) 214.33/145.94 new_abs(Neg(Zero)) -> Neg(Zero) 214.33/145.94 new_abs(Neg(Succ(vyv27200))) -> Pos(Succ(vyv27200)) 214.33/145.94 new_abs(Pos(Succ(vyv27200))) -> Pos(Succ(vyv27200)) 214.33/145.94 new_abs(Pos(Zero)) -> Pos(Zero) 214.33/145.94 new_gcd0Gcd'11(True, vyv273, vyv272) -> new_abs(vyv273) 214.33/145.94 new_gcd0Gcd'11(False, vyv273, vyv272) -> new_gcd0Gcd'00(new_abs(vyv273), new_abs(vyv272)) 214.33/145.94 new_gcd0Gcd'10(False, vyv292, vyv293) -> new_gcd0Gcd'00(vyv292, new_rem(vyv293, vyv292)) 214.33/145.94 new_gcd0Gcd'00(vyv293, vyv292) -> new_gcd0Gcd'10(new_esEs(new_rem(vyv293, vyv292)), vyv292, vyv293) 214.33/145.94 new_rem(Pos(vyv2930), Neg(Zero)) -> new_error 214.33/145.94 new_rem(Neg(vyv2930), Pos(Zero)) -> new_error 214.33/145.94 new_rem(Pos(vyv2930), Neg(Succ(vyv29200))) -> Pos(new_primModNatS1(vyv2930, vyv29200)) 214.33/145.94 new_rem(Neg(vyv2930), Pos(Succ(vyv29200))) -> Neg(new_primModNatS1(vyv2930, vyv29200)) 214.33/145.94 new_rem(Pos(vyv2930), Pos(Succ(vyv29200))) -> Pos(new_primModNatS1(vyv2930, vyv29200)) 214.33/145.94 new_rem(Neg(vyv2930), Neg(Zero)) -> new_error 214.33/145.94 new_rem(Neg(vyv2930), Neg(Succ(vyv29200))) -> Neg(new_primModNatS1(vyv2930, vyv29200)) 214.33/145.94 new_rem(Pos(vyv2930), Pos(Zero)) -> new_error 214.33/145.94 new_gcd0Gcd'10(True, vyv292, vyv293) -> vyv292 214.33/145.94 new_primModNatS1(Succ(Zero), Succ(vyv292000)) -> Succ(Zero) 214.33/145.94 new_primModNatS1(Zero, vyv29200) -> Zero 214.33/145.94 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 214.33/145.94 new_primModNatS1(Succ(Succ(vyv293000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv293000), Zero) 214.33/145.94 new_primModNatS1(Succ(Succ(vyv293000)), Succ(vyv292000)) -> new_primModNatS01(vyv293000, vyv292000, vyv293000, vyv292000) 214.33/145.94 new_primModNatS01(vyv331, vyv332, Zero, Zero) -> new_primModNatS02(vyv331, vyv332) 214.33/145.94 new_primModNatS02(vyv331, vyv332) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv331), Succ(vyv332)), Succ(vyv332)) 214.33/145.94 new_primModNatS01(vyv331, vyv332, Succ(vyv3330), Zero) -> new_primModNatS02(vyv331, vyv332) 214.33/145.94 new_primModNatS01(vyv331, vyv332, Succ(vyv3330), Succ(vyv3340)) -> new_primModNatS01(vyv331, vyv332, vyv3330, vyv3340) 214.33/145.94 new_primModNatS01(vyv331, vyv332, Zero, Succ(vyv3340)) -> Succ(Succ(vyv331)) 214.33/145.94 new_gcd1(True, vyv273, vyv272) -> new_error 214.33/145.94 new_gcd1(False, vyv273, vyv272) -> new_gcd0(vyv273, vyv272) 214.33/145.94 new_primEqInt(Neg(Succ(vyv242000))) -> False 214.33/145.94 new_primEqInt(Pos(Zero)) -> True 214.33/145.94 new_primEqInt(Pos(Succ(vyv242000))) -> False 214.33/145.94 new_primEqInt(Neg(Zero)) -> True 214.33/145.94 new_primQuotInt(vyv2710, Pos(Succ(vyv28500))) -> Pos(new_primDivNatS1(vyv2710, vyv28500)) 214.33/145.94 new_primQuotInt(vyv2710, Neg(Zero)) -> new_error 214.33/145.94 new_primQuotInt(vyv2710, Pos(Zero)) -> new_error 214.33/145.94 new_primQuotInt(vyv2710, Neg(Succ(vyv28500))) -> Neg(new_primDivNatS1(vyv2710, vyv28500)) 214.33/145.94 new_primMulNat0(Succ(vyv24000), Zero) -> Zero 214.33/145.94 new_primMulNat0(Zero, Zero) -> Zero 214.33/145.94 new_esEs1(Integer(vyv2700)) -> new_primEqInt(vyv2700) 214.33/145.94 new_sr11(vyv184) -> error([]) 214.33/145.94 new_sr1(vyv228, ty_Double) -> new_sr11(vyv228) 214.33/145.94 new_sr1(vyv228, ty_Float) -> new_sr12(vyv228) 214.33/145.94 new_sr1(vyv228, app(ty_Ratio, bg)) -> new_sr5(vyv228, bg) 214.33/145.94 new_sr1(vyv228, ty_Integer) -> new_sr6(vyv228) 214.33/145.94 new_sr1(vyv228, ty_Int) -> new_sr7(vyv228) 214.33/145.94 new_ms(vyv229, Neg(vyv2450)) -> Pos(new_primPlusNat0(Succ(vyv229), vyv2450)) 214.33/145.94 new_ms(vyv229, Pos(Succ(vyv24500))) -> new_primMinusNat0(vyv229, vyv24500) 214.33/145.94 new_ms(vyv229, Pos(Zero)) -> Pos(Succ(vyv229)) 214.33/145.94 new_sr2(vyv228, vyv227, ty_Integer) -> new_sr9(vyv228, vyv227) 214.33/145.94 new_sr2(vyv228, vyv227, ty_Int) -> new_sr10(vyv228, vyv227) 214.33/145.94 new_sr2(vyv228, vyv227, app(ty_Ratio, bg)) -> new_sr8(vyv228, vyv227, bg) 214.33/145.94 new_sr2(vyv228, vyv227, ty_Double) -> new_sr13(vyv228, vyv227) 214.33/145.94 new_sr2(vyv228, vyv227, ty_Float) -> new_sr14(vyv228, vyv227) 214.33/145.94 new_sr14(vyv240, vyv239) -> error([]) 214.33/145.94 new_sr13(vyv240, vyv239) -> error([]) 214.33/145.94 new_sr8(:%(vyv2400, vyv2401), :%(vyv2390, vyv2391), be) -> new_reduce2Reduce1(vyv2400, vyv2390, vyv2401, vyv2391, new_esEs2(vyv2401, vyv2391, be), be) 214.33/145.94 new_esEs2(vyv2401, vyv2391, ty_Integer) -> new_esEs1(new_sr9(vyv2401, vyv2391)) 214.33/145.94 new_esEs2(vyv2401, vyv2391, ty_Int) -> new_esEs(new_sr10(vyv2401, vyv2391)) 214.33/145.94 new_primMinusNat0(Succ(vyv2290), Succ(vyv245000)) -> new_primMinusNat0(vyv2290, vyv245000) 214.33/145.94 new_primMinusNat0(Zero, Zero) -> Pos(Zero) 214.33/145.94 new_primMinusNat0(Zero, Succ(vyv245000)) -> Neg(Succ(vyv245000)) 214.33/145.94 new_primMinusNat0(Succ(vyv2290), Zero) -> Pos(Succ(vyv2290)) 214.33/145.94 new_sr3(vyv250, ty_Double) -> new_sr11(vyv250) 214.33/145.94 new_sr3(vyv250, ty_Int) -> new_sr7(vyv250) 214.33/145.94 new_sr3(vyv250, ty_Float) -> new_sr12(vyv250) 214.33/145.94 new_sr3(vyv250, ty_Integer) -> new_sr6(vyv250) 214.33/145.94 new_sr3(vyv250, app(ty_Ratio, bf)) -> new_sr5(vyv250, bf) 214.33/145.94 new_ms0(vyv241, Neg(Zero)) -> Neg(Succ(vyv241)) 214.33/145.94 new_ms0(vyv241, Pos(vyv2440)) -> Neg(new_primPlusNat0(Succ(vyv241), vyv2440)) 214.33/145.94 new_ms0(vyv241, Neg(Succ(vyv24400))) -> new_primMinusNat0(vyv24400, vyv241) 214.33/145.94 new_sr4(vyv240, vyv239, app(ty_Ratio, be)) -> new_sr8(vyv240, vyv239, be) 214.33/145.94 new_sr4(vyv240, vyv239, ty_Float) -> new_sr14(vyv240, vyv239) 214.33/145.94 new_sr4(vyv240, vyv239, ty_Int) -> new_sr10(vyv240, vyv239) 214.33/145.94 new_sr4(vyv240, vyv239, ty_Double) -> new_sr13(vyv240, vyv239) 214.33/145.94 new_sr4(vyv240, vyv239, ty_Integer) -> new_sr9(vyv240, vyv239) 214.33/145.94 214.33/145.94 The set Q consists of the following terms: 214.33/145.94 214.33/145.94 new_sr13(x0, x1) 214.33/145.94 new_primDivNatS01(x0, x1, Zero, Zero) 214.33/145.94 new_gcd0Gcd'11(False, x0, x1) 214.33/145.94 new_primMulNat4(Zero) 214.33/145.94 new_gcd0Gcd'11(True, x0, x1) 214.33/145.94 new_sr2(x0, x1, ty_Float) 214.33/145.94 new_sr5(:%(x0, x1), x2) 214.33/145.94 new_primEqInt(Pos(Zero)) 214.33/145.94 new_ms(x0, Neg(x1)) 214.33/145.94 new_sr2(x0, x1, ty_Double) 214.33/145.94 new_esEs(Pos(Succ(x0))) 214.33/145.94 new_primQuotInt0(x0, Neg(Zero)) 214.33/145.94 new_primMulNat3(Zero) 214.33/145.94 new_primModNatS02(x0, x1) 214.33/145.94 new_sr(x0, ty_Double) 214.33/145.94 new_primDivNatS1(Succ(Zero), Zero) 214.33/145.94 new_primMinusNatS0(x0) 214.33/145.94 new_sr11(x0) 214.33/145.94 new_rem(Pos(x0), Neg(Succ(x1))) 214.33/145.94 new_rem(Neg(x0), Pos(Succ(x1))) 214.33/145.94 new_primMulNat0(Zero, Zero) 214.33/145.94 new_primPlusNat0(Succ(x0), Zero) 214.33/145.94 new_primMulNat0(Succ(x0), Zero) 214.33/145.94 new_sr3(x0, ty_Float) 214.33/145.94 new_primMulNat2(Zero) 214.33/145.94 new_primQuotInt(x0, Pos(Zero)) 214.33/145.94 new_primMulNat2(Succ(x0)) 214.33/145.94 new_primQuotInt(x0, Neg(Zero)) 214.33/145.94 new_rem(Neg(x0), Neg(Succ(x1))) 214.33/145.94 new_primMinusNatS2(Zero, Succ(x0)) 214.33/145.94 new_sr(x0, ty_Int) 214.33/145.94 new_sr4(x0, x1, ty_Double) 214.33/145.94 new_primMulNat3(Succ(x0)) 214.33/145.94 new_esEs1(Integer(x0)) 214.33/145.94 new_primQuotInt0(x0, Pos(Zero)) 214.33/145.94 new_gcd2(True, x0, x1) 214.33/145.94 new_quot1(x0, x1, x2, x3, ty_Int) 214.33/145.94 new_primDivNatS1(Zero, x0) 214.33/145.94 new_primMinusNat0(Zero, Zero) 214.33/145.94 new_gcd(x0, x1) 214.33/145.94 new_gcd1(False, x0, x1) 214.33/145.94 new_esEs2(x0, x1, ty_Int) 214.33/145.94 new_sr3(x0, ty_Integer) 214.33/145.94 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 214.33/145.94 new_sr1(x0, app(ty_Ratio, x1)) 214.33/145.94 new_sr1(x0, ty_Float) 214.33/145.94 new_primPlusNat0(Zero, Succ(x0)) 214.33/145.94 new_sr8(:%(x0, x1), :%(x2, x3), x4) 214.33/145.94 new_abs(Neg(Zero)) 214.33/145.94 new_primMinusNatS2(Succ(x0), Zero) 214.33/145.94 new_error 214.33/145.94 new_primModNatS1(Succ(Zero), Zero) 214.33/145.94 new_primMulNat4(Succ(x0)) 214.33/145.94 new_sr1(x0, ty_Integer) 214.33/145.94 new_primDivNatS02(x0, x1) 214.33/145.94 new_sr1(x0, ty_Int) 214.33/145.94 new_rem(Neg(x0), Neg(Zero)) 214.33/145.94 new_primMinusNat0(Zero, Succ(x0)) 214.33/145.94 new_primEqInt(Neg(Zero)) 214.33/145.94 new_rem(Pos(x0), Pos(Succ(x1))) 214.33/145.94 new_abs(Pos(Succ(x0))) 214.33/145.94 new_primMulNat0(Succ(x0), Succ(x1)) 214.33/145.94 new_primMulNat0(Zero, Succ(x0)) 214.33/145.94 new_reduce2Reduce1(x0, x1, x2, x3, True, x4) 214.33/145.94 new_sr(x0, ty_Float) 214.33/145.94 new_gcd0Gcd'10(False, x0, x1) 214.33/145.94 new_sr12(x0) 214.33/145.94 new_primDivNatS01(x0, x1, Zero, Succ(x2)) 214.33/145.94 new_sr10(Pos(x0), Pos(x1)) 214.33/145.94 new_primModNatS01(x0, x1, Zero, Succ(x2)) 214.33/145.94 new_primPlusNat0(Zero, Zero) 214.33/145.94 new_sr(x0, ty_Integer) 214.33/145.94 new_primQuotInt0(x0, Pos(Succ(x1))) 214.33/145.94 new_primModNatS01(x0, x1, Succ(x2), Zero) 214.33/145.94 new_ms(x0, Pos(Succ(x1))) 214.33/145.94 new_primModNatS1(Succ(Succ(x0)), Zero) 214.33/145.94 new_sr4(x0, x1, ty_Integer) 214.33/145.94 new_rem(Pos(x0), Pos(Zero)) 214.33/145.94 new_sr4(x0, x1, ty_Int) 214.33/145.94 new_ms0(x0, Neg(Succ(x1))) 214.33/145.94 new_quot(Pos(x0), x1, x2) 214.33/145.94 new_primMinusNatS2(Zero, Zero) 214.33/145.94 new_esEs0(x0, ty_Int) 214.33/145.94 new_primMinusNat0(Succ(x0), Zero) 214.33/145.94 new_ms0(x0, Pos(x1)) 214.33/145.94 new_esEs(Pos(Zero)) 214.33/145.94 new_quot(Neg(x0), x1, x2) 214.33/145.94 new_primDivNatS01(x0, x1, Succ(x2), Succ(x3)) 214.33/145.94 new_quot2(x0, x1, x2) 214.33/145.94 new_primEqInt(Neg(Succ(x0))) 214.33/145.94 new_sr10(Neg(x0), Neg(x1)) 214.33/145.94 new_sr3(x0, app(ty_Ratio, x1)) 214.33/145.94 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 214.33/145.94 new_sr9(x0, x1) 214.33/145.94 new_sr2(x0, x1, ty_Integer) 214.33/145.94 new_sr7(Neg(x0)) 214.33/145.94 new_sr1(x0, ty_Double) 214.33/145.94 new_primQuotInt0(x0, Neg(Succ(x1))) 214.33/145.94 new_rem(Pos(x0), Neg(Zero)) 214.33/145.94 new_rem(Neg(x0), Pos(Zero)) 214.33/145.94 new_gcd0Gcd'00(x0, x1) 214.33/145.94 new_primQuotInt(x0, Neg(Succ(x1))) 214.33/145.94 new_primMinusNatS2(Succ(x0), Succ(x1)) 214.33/145.94 new_ms(x0, Pos(Zero)) 214.33/145.94 new_abs(Pos(Zero)) 214.33/145.94 new_primMinusNat0(Succ(x0), Succ(x1)) 214.33/145.94 new_quot0(x0, x1, x2, x3, ty_Integer) 214.33/145.94 new_sr6(x0) 214.33/145.94 new_gcd2(False, x0, x1) 214.33/145.94 new_gcd1(True, x0, x1) 214.33/145.94 new_esEs2(x0, x1, ty_Integer) 214.33/145.94 new_primMinusNatS1 214.33/145.94 new_sr7(Pos(x0)) 214.33/145.94 new_gcd0Gcd'10(True, x0, x1) 214.33/145.94 new_primModNatS1(Zero, x0) 214.33/145.94 new_sr4(x0, x1, ty_Float) 214.33/145.94 new_sr10(Pos(x0), Neg(x1)) 214.33/145.94 new_sr10(Neg(x0), Pos(x1)) 214.33/145.94 new_primDivNatS01(x0, x1, Succ(x2), Zero) 214.33/145.94 new_primDivNatS1(Succ(Succ(x0)), Succ(x1)) 214.33/145.94 new_primPlusNat0(Succ(x0), Succ(x1)) 214.33/145.94 new_primDivNatS1(Succ(Zero), Succ(x0)) 214.33/145.94 new_primQuotInt(x0, Pos(Succ(x1))) 214.33/145.94 new_sr2(x0, x1, app(ty_Ratio, x2)) 214.33/145.94 new_abs(Neg(Succ(x0))) 214.33/145.94 new_esEs0(x0, ty_Integer) 214.33/145.94 new_sr3(x0, ty_Int) 214.33/145.94 new_esEs(Neg(Succ(x0))) 214.33/145.94 new_sr(x0, app(ty_Ratio, x1)) 214.33/145.94 new_ms0(x0, Neg(Zero)) 214.33/145.94 new_primModNatS01(x0, x1, Zero, Zero) 214.33/145.94 new_sr4(x0, x1, app(ty_Ratio, x2)) 214.33/145.94 new_gcd0(x0, x1) 214.33/145.94 new_primEqInt(Pos(Succ(x0))) 214.33/145.94 new_sr3(x0, ty_Double) 214.33/145.94 new_quot1(x0, x1, x2, x3, ty_Integer) 214.33/145.94 new_primDivNatS1(Succ(Succ(x0)), Zero) 214.33/145.94 new_primMulNat1(Succ(x0)) 214.33/145.94 new_sr14(x0, x1) 214.33/145.94 new_quot0(x0, x1, x2, x3, ty_Int) 214.33/145.94 new_sr2(x0, x1, ty_Int) 214.33/145.94 new_primModNatS1(Succ(Zero), Succ(x0)) 214.33/145.94 new_reduce2Reduce1(x0, x1, x2, x3, False, x4) 214.33/145.94 new_esEs(Neg(Zero)) 214.33/145.94 new_primMulNat1(Zero) 214.33/145.94 214.33/145.94 We have to consider all minimal (P,Q,R)-chains. 214.33/145.94 ---------------------------------------- 214.33/145.94 214.33/145.94 (755) UsableRulesProof (EQUIVALENT) 214.33/145.94 As all Q-normal forms are R-normal forms we are in the innermost case. Hence, by the usable rules processor [LPAR04] we can delete all non-usable rules [FROCOS05] from R. 214.33/145.94 ---------------------------------------- 214.33/145.94 214.33/145.94 (756) 214.33/145.94 Obligation: 214.33/145.94 Q DP problem: 214.33/145.94 The TRS P consists of the following rules: 214.33/145.94 214.33/145.94 new_pr2F0G(vyv188, vyv184, Pos(Zero), h) -> new_pr2F0G(vyv188, new_sr(vyv184, h), Pos(Zero), h) 214.33/145.94 214.33/145.94 The TRS R consists of the following rules: 214.33/145.94 214.33/145.94 new_sr(vyv184, ty_Double) -> new_sr11(vyv184) 214.33/145.94 new_sr(vyv184, app(ty_Ratio, bd)) -> new_sr5(vyv184, bd) 214.33/145.94 new_sr(vyv184, ty_Float) -> new_sr12(vyv184) 214.33/145.94 new_sr(vyv184, ty_Int) -> new_sr7(vyv184) 214.33/145.94 new_sr(vyv184, ty_Integer) -> new_sr6(vyv184) 214.33/145.94 new_sr6(vyv184) -> error([]) 214.33/145.94 new_sr7(Pos(vyv1840)) -> Pos(new_primMulNat1(vyv1840)) 214.33/145.94 new_sr7(Neg(vyv1840)) -> Pos(new_primMulNat1(vyv1840)) 214.33/145.94 new_primMulNat1(Succ(vyv18400)) -> new_primPlusNat0(new_primMulNat2(vyv18400), Succ(vyv18400)) 214.33/145.94 new_primMulNat1(Zero) -> Zero 214.33/145.94 new_primMulNat2(Succ(vyv184000)) -> new_primPlusNat0(new_primMulNat3(vyv184000), Succ(Succ(vyv184000))) 214.33/145.94 new_primMulNat2(Zero) -> Zero 214.33/145.94 new_primPlusNat0(Succ(vyv4000), Succ(vyv6000)) -> Succ(Succ(new_primPlusNat0(vyv4000, vyv6000))) 214.33/145.94 new_primPlusNat0(Zero, Succ(vyv6000)) -> Succ(vyv6000) 214.33/145.94 new_primPlusNat0(Zero, Zero) -> Zero 214.33/145.94 new_primPlusNat0(Succ(vyv4000), Zero) -> Succ(vyv4000) 214.33/145.94 new_primMulNat3(Succ(vyv1840000)) -> new_primPlusNat0(new_primMulNat4(vyv1840000), Succ(Succ(Succ(vyv1840000)))) 214.33/145.94 new_primMulNat3(Zero) -> Zero 214.33/145.94 new_primMulNat4(Succ(vyv18400000)) -> new_primPlusNat0(new_primMulNat0(vyv18400000, Succ(Succ(Succ(Succ(vyv18400000))))), Succ(Succ(Succ(Succ(vyv18400000))))) 214.33/145.94 new_primMulNat4(Zero) -> Zero 214.33/145.94 new_primMulNat0(Zero, Succ(vyv23900)) -> Zero 214.33/145.94 new_primMulNat0(Succ(vyv24000), Succ(vyv23900)) -> new_primPlusNat0(new_primMulNat0(vyv24000, Succ(vyv23900)), Succ(vyv23900)) 214.33/145.94 new_sr12(vyv184) -> error([]) 214.33/145.94 new_sr5(:%(vyv1840, vyv1841), bd) -> new_reduce2Reduce1(vyv1840, vyv1840, vyv1841, vyv1841, new_esEs0(vyv1841, bd), bd) 214.33/145.94 new_esEs0(vyv1841, ty_Int) -> new_esEs(new_sr7(vyv1841)) 214.33/145.94 new_esEs0(vyv1841, ty_Integer) -> new_esEs1(new_sr6(vyv1841)) 214.33/145.94 new_reduce2Reduce1(vyv265, vyv266, vyv267, vyv268, False, bh) -> :%(new_quot0(vyv265, vyv266, vyv267, vyv268, bh), new_quot1(vyv267, vyv268, vyv265, vyv266, bh)) 214.33/145.94 new_reduce2Reduce1(vyv265, vyv266, vyv267, vyv268, True, bh) -> error([]) 214.33/145.94 new_quot0(vyv265, vyv266, vyv267, vyv268, ty_Integer) -> new_quot2(new_sr9(vyv265, vyv266), new_sr9(vyv265, vyv266), new_sr9(vyv267, vyv268)) 214.33/145.94 new_quot0(vyv265, vyv266, vyv267, vyv268, ty_Int) -> new_quot(new_sr10(vyv265, vyv266), new_sr10(vyv265, vyv266), new_sr10(vyv267, vyv268)) 214.33/145.94 new_quot1(vyv267, vyv268, vyv265, vyv266, ty_Int) -> new_quot(new_sr10(vyv267, vyv268), new_sr10(vyv265, vyv266), new_sr10(vyv267, vyv268)) 214.33/145.94 new_quot1(vyv267, vyv268, vyv265, vyv266, ty_Integer) -> new_quot2(new_sr9(vyv267, vyv268), new_sr9(vyv265, vyv266), new_sr9(vyv267, vyv268)) 214.33/145.94 new_sr9(vyv240, vyv239) -> error([]) 214.33/145.94 new_quot2(vyv274, vyv276, vyv275) -> error([]) 214.33/145.94 new_sr10(Pos(vyv2400), Pos(vyv2390)) -> Pos(new_primMulNat0(vyv2400, vyv2390)) 214.33/145.94 new_sr10(Neg(vyv2400), Neg(vyv2390)) -> Pos(new_primMulNat0(vyv2400, vyv2390)) 214.33/145.94 new_sr10(Pos(vyv2400), Neg(vyv2390)) -> Neg(new_primMulNat0(vyv2400, vyv2390)) 214.33/145.94 new_sr10(Neg(vyv2400), Pos(vyv2390)) -> Neg(new_primMulNat0(vyv2400, vyv2390)) 214.33/145.94 new_quot(Pos(vyv2710), vyv273, vyv272) -> new_primQuotInt(vyv2710, new_gcd(vyv273, vyv272)) 214.33/145.94 new_quot(Neg(vyv2710), vyv273, vyv272) -> new_primQuotInt0(vyv2710, new_gcd(vyv273, vyv272)) 214.33/145.94 new_gcd(vyv273, vyv272) -> new_gcd2(new_esEs(vyv273), vyv273, vyv272) 214.33/145.94 new_primQuotInt0(vyv2710, Pos(Succ(vyv28800))) -> Neg(new_primDivNatS1(vyv2710, vyv28800)) 214.33/145.94 new_primQuotInt0(vyv2710, Neg(Zero)) -> new_error 214.33/145.94 new_primQuotInt0(vyv2710, Neg(Succ(vyv28800))) -> Pos(new_primDivNatS1(vyv2710, vyv28800)) 214.33/145.94 new_primQuotInt0(vyv2710, Pos(Zero)) -> new_error 214.33/145.94 new_error -> error([]) 214.33/145.94 new_primDivNatS1(Zero, vyv28500) -> Zero 214.33/145.94 new_primDivNatS1(Succ(Succ(vyv271000)), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS0(vyv271000), Zero)) 214.33/145.94 new_primDivNatS1(Succ(Zero), Succ(vyv285000)) -> Zero 214.33/145.94 new_primDivNatS1(Succ(Succ(vyv271000)), Succ(vyv285000)) -> new_primDivNatS01(vyv271000, vyv285000, vyv271000, vyv285000) 214.33/145.94 new_primDivNatS1(Succ(Zero), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS1, Zero)) 214.33/145.94 new_primMinusNatS1 -> Zero 214.33/145.94 new_primDivNatS01(vyv311, vyv312, Succ(vyv3130), Zero) -> new_primDivNatS02(vyv311, vyv312) 214.33/145.94 new_primDivNatS01(vyv311, vyv312, Zero, Succ(vyv3140)) -> Zero 214.33/145.94 new_primDivNatS01(vyv311, vyv312, Succ(vyv3130), Succ(vyv3140)) -> new_primDivNatS01(vyv311, vyv312, vyv3130, vyv3140) 214.33/145.94 new_primDivNatS01(vyv311, vyv312, Zero, Zero) -> new_primDivNatS02(vyv311, vyv312) 214.33/145.94 new_primDivNatS02(vyv311, vyv312) -> Succ(new_primDivNatS1(new_primMinusNatS2(vyv311, vyv312), Succ(vyv312))) 214.33/145.94 new_primMinusNatS2(Zero, Succ(vyv3120)) -> Zero 214.33/145.94 new_primMinusNatS2(Succ(vyv3110), Zero) -> Succ(vyv3110) 214.33/145.94 new_primMinusNatS2(Zero, Zero) -> Zero 214.33/145.94 new_primMinusNatS2(Succ(vyv3110), Succ(vyv3120)) -> new_primMinusNatS2(vyv3110, vyv3120) 214.33/145.94 new_primMinusNatS0(vyv271000) -> Succ(vyv271000) 214.33/145.94 new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) 214.33/145.94 new_esEs(Pos(Succ(vyv24300))) -> new_primEqInt(Pos(Succ(vyv24300))) 214.33/145.94 new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) 214.33/145.94 new_esEs(Neg(Succ(vyv24300))) -> new_primEqInt(Neg(Succ(vyv24300))) 214.33/145.94 new_gcd2(True, vyv273, vyv272) -> new_gcd1(new_esEs(vyv272), vyv273, vyv272) 214.33/145.94 new_gcd2(False, vyv273, vyv272) -> new_gcd0(vyv273, vyv272) 214.33/145.94 new_gcd0(vyv273, vyv272) -> new_gcd0Gcd'11(new_esEs(new_abs(vyv272)), vyv273, vyv272) 214.33/145.94 new_abs(Neg(Zero)) -> Neg(Zero) 214.33/145.94 new_abs(Neg(Succ(vyv27200))) -> Pos(Succ(vyv27200)) 214.33/145.94 new_abs(Pos(Succ(vyv27200))) -> Pos(Succ(vyv27200)) 214.33/145.94 new_abs(Pos(Zero)) -> Pos(Zero) 214.33/145.94 new_gcd0Gcd'11(True, vyv273, vyv272) -> new_abs(vyv273) 214.33/145.94 new_gcd0Gcd'11(False, vyv273, vyv272) -> new_gcd0Gcd'00(new_abs(vyv273), new_abs(vyv272)) 214.33/145.94 new_gcd0Gcd'00(vyv293, vyv292) -> new_gcd0Gcd'10(new_esEs(new_rem(vyv293, vyv292)), vyv292, vyv293) 214.33/145.94 new_gcd0Gcd'10(False, vyv292, vyv293) -> new_gcd0Gcd'00(vyv292, new_rem(vyv293, vyv292)) 214.33/145.94 new_rem(Pos(vyv2930), Neg(Zero)) -> new_error 214.33/145.94 new_rem(Neg(vyv2930), Pos(Zero)) -> new_error 214.33/145.94 new_rem(Pos(vyv2930), Neg(Succ(vyv29200))) -> Pos(new_primModNatS1(vyv2930, vyv29200)) 214.33/145.94 new_rem(Neg(vyv2930), Pos(Succ(vyv29200))) -> Neg(new_primModNatS1(vyv2930, vyv29200)) 214.33/145.94 new_rem(Pos(vyv2930), Pos(Succ(vyv29200))) -> Pos(new_primModNatS1(vyv2930, vyv29200)) 214.33/145.94 new_rem(Neg(vyv2930), Neg(Zero)) -> new_error 214.33/145.94 new_rem(Neg(vyv2930), Neg(Succ(vyv29200))) -> Neg(new_primModNatS1(vyv2930, vyv29200)) 214.33/145.94 new_rem(Pos(vyv2930), Pos(Zero)) -> new_error 214.33/145.94 new_gcd0Gcd'10(True, vyv292, vyv293) -> vyv292 214.33/145.94 new_primModNatS1(Succ(Zero), Succ(vyv292000)) -> Succ(Zero) 214.33/145.94 new_primModNatS1(Zero, vyv29200) -> Zero 214.33/145.94 new_primModNatS1(Succ(Succ(vyv293000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv293000), Zero) 214.33/145.94 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 214.33/145.94 new_primModNatS1(Succ(Succ(vyv293000)), Succ(vyv292000)) -> new_primModNatS01(vyv293000, vyv292000, vyv293000, vyv292000) 214.33/145.94 new_primModNatS01(vyv331, vyv332, Zero, Zero) -> new_primModNatS02(vyv331, vyv332) 214.33/145.94 new_primModNatS02(vyv331, vyv332) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv331), Succ(vyv332)), Succ(vyv332)) 214.33/145.94 new_primModNatS01(vyv331, vyv332, Succ(vyv3330), Zero) -> new_primModNatS02(vyv331, vyv332) 214.33/145.94 new_primModNatS01(vyv331, vyv332, Succ(vyv3330), Succ(vyv3340)) -> new_primModNatS01(vyv331, vyv332, vyv3330, vyv3340) 214.33/145.94 new_primModNatS01(vyv331, vyv332, Zero, Succ(vyv3340)) -> Succ(Succ(vyv331)) 214.33/145.94 new_gcd1(True, vyv273, vyv272) -> new_error 214.33/145.94 new_gcd1(False, vyv273, vyv272) -> new_gcd0(vyv273, vyv272) 214.33/145.94 new_primEqInt(Neg(Succ(vyv242000))) -> False 214.33/145.94 new_primEqInt(Pos(Zero)) -> True 214.33/145.94 new_primEqInt(Pos(Succ(vyv242000))) -> False 214.33/145.94 new_primEqInt(Neg(Zero)) -> True 214.33/145.94 new_primQuotInt(vyv2710, Pos(Succ(vyv28500))) -> Pos(new_primDivNatS1(vyv2710, vyv28500)) 214.33/145.94 new_primQuotInt(vyv2710, Neg(Zero)) -> new_error 214.33/145.94 new_primQuotInt(vyv2710, Pos(Zero)) -> new_error 214.33/145.94 new_primQuotInt(vyv2710, Neg(Succ(vyv28500))) -> Neg(new_primDivNatS1(vyv2710, vyv28500)) 214.33/145.94 new_primMulNat0(Succ(vyv24000), Zero) -> Zero 214.33/145.94 new_primMulNat0(Zero, Zero) -> Zero 214.33/145.94 new_esEs1(Integer(vyv2700)) -> new_primEqInt(vyv2700) 214.33/145.94 new_sr11(vyv184) -> error([]) 214.33/145.94 214.33/145.94 The set Q consists of the following terms: 214.33/145.94 214.33/145.94 new_sr13(x0, x1) 214.33/145.94 new_primDivNatS01(x0, x1, Zero, Zero) 214.33/145.94 new_gcd0Gcd'11(False, x0, x1) 214.33/145.94 new_primMulNat4(Zero) 214.33/145.94 new_gcd0Gcd'11(True, x0, x1) 214.33/145.94 new_sr2(x0, x1, ty_Float) 214.33/145.94 new_sr5(:%(x0, x1), x2) 214.33/145.94 new_primEqInt(Pos(Zero)) 214.33/145.94 new_ms(x0, Neg(x1)) 214.33/145.94 new_sr2(x0, x1, ty_Double) 214.33/145.94 new_esEs(Pos(Succ(x0))) 214.33/145.94 new_primQuotInt0(x0, Neg(Zero)) 214.33/145.94 new_primMulNat3(Zero) 214.33/145.94 new_primModNatS02(x0, x1) 214.33/145.94 new_sr(x0, ty_Double) 214.33/145.94 new_primDivNatS1(Succ(Zero), Zero) 214.33/145.94 new_primMinusNatS0(x0) 214.33/145.94 new_sr11(x0) 214.33/145.94 new_rem(Pos(x0), Neg(Succ(x1))) 214.33/145.94 new_rem(Neg(x0), Pos(Succ(x1))) 214.33/145.94 new_primMulNat0(Zero, Zero) 214.33/145.94 new_primPlusNat0(Succ(x0), Zero) 214.33/145.94 new_primMulNat0(Succ(x0), Zero) 214.33/145.94 new_sr3(x0, ty_Float) 214.33/145.94 new_primMulNat2(Zero) 214.33/145.94 new_primQuotInt(x0, Pos(Zero)) 214.33/145.94 new_primMulNat2(Succ(x0)) 214.33/145.94 new_primQuotInt(x0, Neg(Zero)) 214.33/145.94 new_rem(Neg(x0), Neg(Succ(x1))) 214.33/145.94 new_primMinusNatS2(Zero, Succ(x0)) 214.33/145.94 new_sr(x0, ty_Int) 214.33/145.94 new_sr4(x0, x1, ty_Double) 214.33/145.94 new_primMulNat3(Succ(x0)) 214.33/145.94 new_esEs1(Integer(x0)) 214.33/145.94 new_primQuotInt0(x0, Pos(Zero)) 214.33/145.94 new_gcd2(True, x0, x1) 214.33/145.94 new_quot1(x0, x1, x2, x3, ty_Int) 214.33/145.94 new_primDivNatS1(Zero, x0) 214.33/145.94 new_primMinusNat0(Zero, Zero) 214.33/145.94 new_gcd(x0, x1) 214.33/145.94 new_gcd1(False, x0, x1) 214.33/145.94 new_esEs2(x0, x1, ty_Int) 214.33/145.94 new_sr3(x0, ty_Integer) 214.33/145.94 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 214.33/145.94 new_sr1(x0, app(ty_Ratio, x1)) 214.33/145.94 new_sr1(x0, ty_Float) 214.33/145.94 new_primPlusNat0(Zero, Succ(x0)) 214.33/145.94 new_sr8(:%(x0, x1), :%(x2, x3), x4) 214.33/145.94 new_abs(Neg(Zero)) 214.33/145.94 new_primMinusNatS2(Succ(x0), Zero) 214.33/145.94 new_error 214.33/145.94 new_primModNatS1(Succ(Zero), Zero) 214.33/145.94 new_primMulNat4(Succ(x0)) 214.33/145.94 new_sr1(x0, ty_Integer) 214.33/145.94 new_primDivNatS02(x0, x1) 214.33/145.94 new_sr1(x0, ty_Int) 214.33/145.94 new_rem(Neg(x0), Neg(Zero)) 214.33/145.94 new_primMinusNat0(Zero, Succ(x0)) 214.33/145.94 new_primEqInt(Neg(Zero)) 214.33/145.94 new_rem(Pos(x0), Pos(Succ(x1))) 214.33/145.94 new_abs(Pos(Succ(x0))) 214.33/145.94 new_primMulNat0(Succ(x0), Succ(x1)) 214.33/145.94 new_primMulNat0(Zero, Succ(x0)) 214.33/145.94 new_reduce2Reduce1(x0, x1, x2, x3, True, x4) 214.33/145.94 new_sr(x0, ty_Float) 214.33/145.94 new_gcd0Gcd'10(False, x0, x1) 214.33/145.94 new_sr12(x0) 214.33/145.94 new_primDivNatS01(x0, x1, Zero, Succ(x2)) 214.33/145.94 new_sr10(Pos(x0), Pos(x1)) 214.33/145.94 new_primModNatS01(x0, x1, Zero, Succ(x2)) 214.33/145.94 new_primPlusNat0(Zero, Zero) 214.33/145.94 new_sr(x0, ty_Integer) 214.33/145.94 new_primQuotInt0(x0, Pos(Succ(x1))) 214.33/145.94 new_primModNatS01(x0, x1, Succ(x2), Zero) 214.33/145.94 new_ms(x0, Pos(Succ(x1))) 214.33/145.94 new_primModNatS1(Succ(Succ(x0)), Zero) 214.33/145.94 new_sr4(x0, x1, ty_Integer) 214.33/145.94 new_rem(Pos(x0), Pos(Zero)) 214.33/145.94 new_sr4(x0, x1, ty_Int) 214.33/145.94 new_ms0(x0, Neg(Succ(x1))) 214.33/145.94 new_quot(Pos(x0), x1, x2) 214.33/145.94 new_primMinusNatS2(Zero, Zero) 214.33/145.94 new_esEs0(x0, ty_Int) 214.33/145.94 new_primMinusNat0(Succ(x0), Zero) 214.33/145.94 new_ms0(x0, Pos(x1)) 214.33/145.94 new_esEs(Pos(Zero)) 214.33/145.94 new_quot(Neg(x0), x1, x2) 214.33/145.94 new_primDivNatS01(x0, x1, Succ(x2), Succ(x3)) 214.33/145.94 new_quot2(x0, x1, x2) 214.33/145.94 new_primEqInt(Neg(Succ(x0))) 214.33/145.94 new_sr10(Neg(x0), Neg(x1)) 214.33/145.94 new_sr3(x0, app(ty_Ratio, x1)) 214.33/145.94 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 214.33/145.94 new_sr9(x0, x1) 214.33/145.94 new_sr2(x0, x1, ty_Integer) 214.33/145.94 new_sr7(Neg(x0)) 214.33/145.94 new_sr1(x0, ty_Double) 214.33/145.94 new_primQuotInt0(x0, Neg(Succ(x1))) 214.33/145.94 new_rem(Pos(x0), Neg(Zero)) 214.33/145.94 new_rem(Neg(x0), Pos(Zero)) 214.33/145.94 new_gcd0Gcd'00(x0, x1) 214.33/145.94 new_primQuotInt(x0, Neg(Succ(x1))) 214.33/145.94 new_primMinusNatS2(Succ(x0), Succ(x1)) 214.33/145.94 new_ms(x0, Pos(Zero)) 214.33/145.94 new_abs(Pos(Zero)) 214.33/145.94 new_primMinusNat0(Succ(x0), Succ(x1)) 214.33/145.94 new_quot0(x0, x1, x2, x3, ty_Integer) 214.33/145.94 new_sr6(x0) 214.33/145.94 new_gcd2(False, x0, x1) 214.33/145.94 new_gcd1(True, x0, x1) 214.33/145.94 new_esEs2(x0, x1, ty_Integer) 214.33/145.94 new_primMinusNatS1 214.33/145.94 new_sr7(Pos(x0)) 214.33/145.94 new_gcd0Gcd'10(True, x0, x1) 214.33/145.94 new_primModNatS1(Zero, x0) 214.33/145.94 new_sr4(x0, x1, ty_Float) 214.33/145.94 new_sr10(Pos(x0), Neg(x1)) 214.33/145.94 new_sr10(Neg(x0), Pos(x1)) 214.33/145.94 new_primDivNatS01(x0, x1, Succ(x2), Zero) 214.33/145.94 new_primDivNatS1(Succ(Succ(x0)), Succ(x1)) 214.33/145.94 new_primPlusNat0(Succ(x0), Succ(x1)) 214.33/145.94 new_primDivNatS1(Succ(Zero), Succ(x0)) 214.33/145.94 new_primQuotInt(x0, Pos(Succ(x1))) 214.33/145.94 new_sr2(x0, x1, app(ty_Ratio, x2)) 214.33/145.94 new_abs(Neg(Succ(x0))) 214.33/145.94 new_esEs0(x0, ty_Integer) 214.33/145.94 new_sr3(x0, ty_Int) 214.33/145.94 new_esEs(Neg(Succ(x0))) 214.33/145.94 new_sr(x0, app(ty_Ratio, x1)) 214.33/145.94 new_ms0(x0, Neg(Zero)) 214.33/145.94 new_primModNatS01(x0, x1, Zero, Zero) 214.33/145.94 new_sr4(x0, x1, app(ty_Ratio, x2)) 214.33/145.94 new_gcd0(x0, x1) 214.33/145.94 new_primEqInt(Pos(Succ(x0))) 214.33/145.94 new_sr3(x0, ty_Double) 214.33/145.94 new_quot1(x0, x1, x2, x3, ty_Integer) 214.33/145.94 new_primDivNatS1(Succ(Succ(x0)), Zero) 214.33/145.94 new_primMulNat1(Succ(x0)) 214.33/145.94 new_sr14(x0, x1) 214.33/145.94 new_quot0(x0, x1, x2, x3, ty_Int) 214.33/145.94 new_sr2(x0, x1, ty_Int) 214.33/145.94 new_primModNatS1(Succ(Zero), Succ(x0)) 214.33/145.94 new_reduce2Reduce1(x0, x1, x2, x3, False, x4) 214.33/145.94 new_esEs(Neg(Zero)) 214.33/145.94 new_primMulNat1(Zero) 214.33/145.94 214.33/145.94 We have to consider all minimal (P,Q,R)-chains. 214.33/145.94 ---------------------------------------- 214.33/145.94 214.33/145.94 (757) QReductionProof (EQUIVALENT) 214.33/145.94 We deleted the following terms from Q as each root-symbol of these terms does neither occur in P nor in R.[THIEMANN]. 214.33/145.94 214.33/145.94 new_sr13(x0, x1) 214.33/145.94 new_sr2(x0, x1, ty_Float) 214.33/145.94 new_ms(x0, Neg(x1)) 214.33/145.94 new_sr2(x0, x1, ty_Double) 214.33/145.94 new_sr3(x0, ty_Float) 214.33/145.94 new_sr4(x0, x1, ty_Double) 214.33/145.94 new_primMinusNat0(Zero, Zero) 214.33/145.94 new_esEs2(x0, x1, ty_Int) 214.33/145.94 new_sr3(x0, ty_Integer) 214.33/145.94 new_sr1(x0, app(ty_Ratio, x1)) 214.33/145.94 new_sr1(x0, ty_Float) 214.33/145.94 new_sr8(:%(x0, x1), :%(x2, x3), x4) 214.33/145.94 new_sr1(x0, ty_Integer) 214.33/145.94 new_sr1(x0, ty_Int) 214.33/145.94 new_primMinusNat0(Zero, Succ(x0)) 214.33/145.94 new_ms(x0, Pos(Succ(x1))) 214.33/145.94 new_sr4(x0, x1, ty_Integer) 214.33/145.94 new_sr4(x0, x1, ty_Int) 214.33/145.94 new_ms0(x0, Neg(Succ(x1))) 214.33/145.94 new_primMinusNat0(Succ(x0), Zero) 214.33/145.94 new_ms0(x0, Pos(x1)) 214.33/145.94 new_sr3(x0, app(ty_Ratio, x1)) 214.33/145.94 new_sr2(x0, x1, ty_Integer) 214.33/145.94 new_sr1(x0, ty_Double) 214.33/145.94 new_ms(x0, Pos(Zero)) 214.33/145.94 new_primMinusNat0(Succ(x0), Succ(x1)) 214.33/145.94 new_esEs2(x0, x1, ty_Integer) 214.33/145.94 new_sr4(x0, x1, ty_Float) 214.33/145.94 new_sr2(x0, x1, app(ty_Ratio, x2)) 214.33/145.94 new_sr3(x0, ty_Int) 214.33/145.94 new_ms0(x0, Neg(Zero)) 214.33/145.94 new_sr4(x0, x1, app(ty_Ratio, x2)) 214.33/145.94 new_sr3(x0, ty_Double) 214.33/145.94 new_sr14(x0, x1) 214.33/145.94 new_sr2(x0, x1, ty_Int) 214.33/145.94 214.33/145.94 214.33/145.94 ---------------------------------------- 214.33/145.94 214.33/145.94 (758) 214.33/145.94 Obligation: 214.33/145.94 Q DP problem: 214.33/145.94 The TRS P consists of the following rules: 214.33/145.94 214.33/145.94 new_pr2F0G(vyv188, vyv184, Pos(Zero), h) -> new_pr2F0G(vyv188, new_sr(vyv184, h), Pos(Zero), h) 214.33/145.94 214.33/145.94 The TRS R consists of the following rules: 214.33/145.94 214.33/145.94 new_sr(vyv184, ty_Double) -> new_sr11(vyv184) 214.33/145.94 new_sr(vyv184, app(ty_Ratio, bd)) -> new_sr5(vyv184, bd) 214.33/145.94 new_sr(vyv184, ty_Float) -> new_sr12(vyv184) 214.33/145.94 new_sr(vyv184, ty_Int) -> new_sr7(vyv184) 214.33/145.94 new_sr(vyv184, ty_Integer) -> new_sr6(vyv184) 214.33/145.94 new_sr6(vyv184) -> error([]) 214.33/145.94 new_sr7(Pos(vyv1840)) -> Pos(new_primMulNat1(vyv1840)) 214.33/145.94 new_sr7(Neg(vyv1840)) -> Pos(new_primMulNat1(vyv1840)) 214.33/145.94 new_primMulNat1(Succ(vyv18400)) -> new_primPlusNat0(new_primMulNat2(vyv18400), Succ(vyv18400)) 214.33/145.94 new_primMulNat1(Zero) -> Zero 214.33/145.94 new_primMulNat2(Succ(vyv184000)) -> new_primPlusNat0(new_primMulNat3(vyv184000), Succ(Succ(vyv184000))) 214.33/145.94 new_primMulNat2(Zero) -> Zero 214.33/145.94 new_primPlusNat0(Succ(vyv4000), Succ(vyv6000)) -> Succ(Succ(new_primPlusNat0(vyv4000, vyv6000))) 214.33/145.94 new_primPlusNat0(Zero, Succ(vyv6000)) -> Succ(vyv6000) 214.33/145.94 new_primPlusNat0(Zero, Zero) -> Zero 214.33/145.94 new_primPlusNat0(Succ(vyv4000), Zero) -> Succ(vyv4000) 214.33/145.94 new_primMulNat3(Succ(vyv1840000)) -> new_primPlusNat0(new_primMulNat4(vyv1840000), Succ(Succ(Succ(vyv1840000)))) 214.33/145.94 new_primMulNat3(Zero) -> Zero 214.33/145.94 new_primMulNat4(Succ(vyv18400000)) -> new_primPlusNat0(new_primMulNat0(vyv18400000, Succ(Succ(Succ(Succ(vyv18400000))))), Succ(Succ(Succ(Succ(vyv18400000))))) 214.33/145.94 new_primMulNat4(Zero) -> Zero 214.33/145.94 new_primMulNat0(Zero, Succ(vyv23900)) -> Zero 214.33/145.94 new_primMulNat0(Succ(vyv24000), Succ(vyv23900)) -> new_primPlusNat0(new_primMulNat0(vyv24000, Succ(vyv23900)), Succ(vyv23900)) 214.33/145.94 new_sr12(vyv184) -> error([]) 214.33/145.94 new_sr5(:%(vyv1840, vyv1841), bd) -> new_reduce2Reduce1(vyv1840, vyv1840, vyv1841, vyv1841, new_esEs0(vyv1841, bd), bd) 214.33/145.94 new_esEs0(vyv1841, ty_Int) -> new_esEs(new_sr7(vyv1841)) 214.33/145.94 new_esEs0(vyv1841, ty_Integer) -> new_esEs1(new_sr6(vyv1841)) 214.33/145.94 new_reduce2Reduce1(vyv265, vyv266, vyv267, vyv268, False, bh) -> :%(new_quot0(vyv265, vyv266, vyv267, vyv268, bh), new_quot1(vyv267, vyv268, vyv265, vyv266, bh)) 214.33/145.94 new_reduce2Reduce1(vyv265, vyv266, vyv267, vyv268, True, bh) -> error([]) 214.33/145.94 new_quot0(vyv265, vyv266, vyv267, vyv268, ty_Integer) -> new_quot2(new_sr9(vyv265, vyv266), new_sr9(vyv265, vyv266), new_sr9(vyv267, vyv268)) 214.33/145.94 new_quot0(vyv265, vyv266, vyv267, vyv268, ty_Int) -> new_quot(new_sr10(vyv265, vyv266), new_sr10(vyv265, vyv266), new_sr10(vyv267, vyv268)) 214.33/145.94 new_quot1(vyv267, vyv268, vyv265, vyv266, ty_Int) -> new_quot(new_sr10(vyv267, vyv268), new_sr10(vyv265, vyv266), new_sr10(vyv267, vyv268)) 214.33/145.94 new_quot1(vyv267, vyv268, vyv265, vyv266, ty_Integer) -> new_quot2(new_sr9(vyv267, vyv268), new_sr9(vyv265, vyv266), new_sr9(vyv267, vyv268)) 214.33/145.94 new_sr9(vyv240, vyv239) -> error([]) 214.33/145.94 new_quot2(vyv274, vyv276, vyv275) -> error([]) 214.33/145.94 new_sr10(Pos(vyv2400), Pos(vyv2390)) -> Pos(new_primMulNat0(vyv2400, vyv2390)) 214.33/145.94 new_sr10(Neg(vyv2400), Neg(vyv2390)) -> Pos(new_primMulNat0(vyv2400, vyv2390)) 214.33/145.94 new_sr10(Pos(vyv2400), Neg(vyv2390)) -> Neg(new_primMulNat0(vyv2400, vyv2390)) 214.33/145.94 new_sr10(Neg(vyv2400), Pos(vyv2390)) -> Neg(new_primMulNat0(vyv2400, vyv2390)) 214.33/145.94 new_quot(Pos(vyv2710), vyv273, vyv272) -> new_primQuotInt(vyv2710, new_gcd(vyv273, vyv272)) 214.33/145.94 new_quot(Neg(vyv2710), vyv273, vyv272) -> new_primQuotInt0(vyv2710, new_gcd(vyv273, vyv272)) 214.33/145.94 new_gcd(vyv273, vyv272) -> new_gcd2(new_esEs(vyv273), vyv273, vyv272) 214.33/145.94 new_primQuotInt0(vyv2710, Pos(Succ(vyv28800))) -> Neg(new_primDivNatS1(vyv2710, vyv28800)) 214.33/145.94 new_primQuotInt0(vyv2710, Neg(Zero)) -> new_error 214.33/145.94 new_primQuotInt0(vyv2710, Neg(Succ(vyv28800))) -> Pos(new_primDivNatS1(vyv2710, vyv28800)) 214.33/145.94 new_primQuotInt0(vyv2710, Pos(Zero)) -> new_error 214.33/145.94 new_error -> error([]) 214.33/145.94 new_primDivNatS1(Zero, vyv28500) -> Zero 214.33/145.94 new_primDivNatS1(Succ(Succ(vyv271000)), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS0(vyv271000), Zero)) 214.33/145.94 new_primDivNatS1(Succ(Zero), Succ(vyv285000)) -> Zero 214.33/145.94 new_primDivNatS1(Succ(Succ(vyv271000)), Succ(vyv285000)) -> new_primDivNatS01(vyv271000, vyv285000, vyv271000, vyv285000) 214.33/145.94 new_primDivNatS1(Succ(Zero), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS1, Zero)) 214.33/145.94 new_primMinusNatS1 -> Zero 214.33/145.94 new_primDivNatS01(vyv311, vyv312, Succ(vyv3130), Zero) -> new_primDivNatS02(vyv311, vyv312) 214.33/145.94 new_primDivNatS01(vyv311, vyv312, Zero, Succ(vyv3140)) -> Zero 214.33/145.94 new_primDivNatS01(vyv311, vyv312, Succ(vyv3130), Succ(vyv3140)) -> new_primDivNatS01(vyv311, vyv312, vyv3130, vyv3140) 214.33/145.94 new_primDivNatS01(vyv311, vyv312, Zero, Zero) -> new_primDivNatS02(vyv311, vyv312) 214.33/145.94 new_primDivNatS02(vyv311, vyv312) -> Succ(new_primDivNatS1(new_primMinusNatS2(vyv311, vyv312), Succ(vyv312))) 214.33/145.94 new_primMinusNatS2(Zero, Succ(vyv3120)) -> Zero 214.33/145.94 new_primMinusNatS2(Succ(vyv3110), Zero) -> Succ(vyv3110) 214.33/145.94 new_primMinusNatS2(Zero, Zero) -> Zero 214.33/145.94 new_primMinusNatS2(Succ(vyv3110), Succ(vyv3120)) -> new_primMinusNatS2(vyv3110, vyv3120) 214.33/145.94 new_primMinusNatS0(vyv271000) -> Succ(vyv271000) 214.33/145.94 new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) 214.33/145.94 new_esEs(Pos(Succ(vyv24300))) -> new_primEqInt(Pos(Succ(vyv24300))) 214.33/145.94 new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) 214.33/145.94 new_esEs(Neg(Succ(vyv24300))) -> new_primEqInt(Neg(Succ(vyv24300))) 214.33/145.94 new_gcd2(True, vyv273, vyv272) -> new_gcd1(new_esEs(vyv272), vyv273, vyv272) 214.33/145.94 new_gcd2(False, vyv273, vyv272) -> new_gcd0(vyv273, vyv272) 214.33/145.94 new_gcd0(vyv273, vyv272) -> new_gcd0Gcd'11(new_esEs(new_abs(vyv272)), vyv273, vyv272) 214.33/145.94 new_abs(Neg(Zero)) -> Neg(Zero) 214.33/145.94 new_abs(Neg(Succ(vyv27200))) -> Pos(Succ(vyv27200)) 214.33/145.94 new_abs(Pos(Succ(vyv27200))) -> Pos(Succ(vyv27200)) 214.33/145.94 new_abs(Pos(Zero)) -> Pos(Zero) 214.33/145.94 new_gcd0Gcd'11(True, vyv273, vyv272) -> new_abs(vyv273) 214.33/145.94 new_gcd0Gcd'11(False, vyv273, vyv272) -> new_gcd0Gcd'00(new_abs(vyv273), new_abs(vyv272)) 214.33/145.94 new_gcd0Gcd'00(vyv293, vyv292) -> new_gcd0Gcd'10(new_esEs(new_rem(vyv293, vyv292)), vyv292, vyv293) 214.33/145.94 new_gcd0Gcd'10(False, vyv292, vyv293) -> new_gcd0Gcd'00(vyv292, new_rem(vyv293, vyv292)) 214.33/145.94 new_rem(Pos(vyv2930), Neg(Zero)) -> new_error 214.33/145.94 new_rem(Neg(vyv2930), Pos(Zero)) -> new_error 214.33/145.94 new_rem(Pos(vyv2930), Neg(Succ(vyv29200))) -> Pos(new_primModNatS1(vyv2930, vyv29200)) 214.33/145.94 new_rem(Neg(vyv2930), Pos(Succ(vyv29200))) -> Neg(new_primModNatS1(vyv2930, vyv29200)) 214.33/145.94 new_rem(Pos(vyv2930), Pos(Succ(vyv29200))) -> Pos(new_primModNatS1(vyv2930, vyv29200)) 214.33/145.94 new_rem(Neg(vyv2930), Neg(Zero)) -> new_error 214.33/145.94 new_rem(Neg(vyv2930), Neg(Succ(vyv29200))) -> Neg(new_primModNatS1(vyv2930, vyv29200)) 214.33/145.94 new_rem(Pos(vyv2930), Pos(Zero)) -> new_error 214.33/145.94 new_gcd0Gcd'10(True, vyv292, vyv293) -> vyv292 214.33/145.94 new_primModNatS1(Succ(Zero), Succ(vyv292000)) -> Succ(Zero) 214.33/145.94 new_primModNatS1(Zero, vyv29200) -> Zero 214.33/145.94 new_primModNatS1(Succ(Succ(vyv293000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv293000), Zero) 214.33/145.94 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 214.33/145.94 new_primModNatS1(Succ(Succ(vyv293000)), Succ(vyv292000)) -> new_primModNatS01(vyv293000, vyv292000, vyv293000, vyv292000) 214.33/145.94 new_primModNatS01(vyv331, vyv332, Zero, Zero) -> new_primModNatS02(vyv331, vyv332) 214.33/145.94 new_primModNatS02(vyv331, vyv332) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv331), Succ(vyv332)), Succ(vyv332)) 214.33/145.94 new_primModNatS01(vyv331, vyv332, Succ(vyv3330), Zero) -> new_primModNatS02(vyv331, vyv332) 214.33/145.94 new_primModNatS01(vyv331, vyv332, Succ(vyv3330), Succ(vyv3340)) -> new_primModNatS01(vyv331, vyv332, vyv3330, vyv3340) 214.33/145.94 new_primModNatS01(vyv331, vyv332, Zero, Succ(vyv3340)) -> Succ(Succ(vyv331)) 214.33/145.94 new_gcd1(True, vyv273, vyv272) -> new_error 214.33/145.94 new_gcd1(False, vyv273, vyv272) -> new_gcd0(vyv273, vyv272) 214.33/145.94 new_primEqInt(Neg(Succ(vyv242000))) -> False 214.33/145.94 new_primEqInt(Pos(Zero)) -> True 214.33/145.94 new_primEqInt(Pos(Succ(vyv242000))) -> False 214.33/145.94 new_primEqInt(Neg(Zero)) -> True 214.33/145.94 new_primQuotInt(vyv2710, Pos(Succ(vyv28500))) -> Pos(new_primDivNatS1(vyv2710, vyv28500)) 214.33/145.94 new_primQuotInt(vyv2710, Neg(Zero)) -> new_error 214.33/145.94 new_primQuotInt(vyv2710, Pos(Zero)) -> new_error 214.33/145.94 new_primQuotInt(vyv2710, Neg(Succ(vyv28500))) -> Neg(new_primDivNatS1(vyv2710, vyv28500)) 214.33/145.94 new_primMulNat0(Succ(vyv24000), Zero) -> Zero 214.33/145.94 new_primMulNat0(Zero, Zero) -> Zero 214.33/145.94 new_esEs1(Integer(vyv2700)) -> new_primEqInt(vyv2700) 214.33/145.94 new_sr11(vyv184) -> error([]) 214.33/145.94 214.33/145.94 The set Q consists of the following terms: 214.33/145.94 214.33/145.94 new_primDivNatS01(x0, x1, Zero, Zero) 214.33/145.94 new_gcd0Gcd'11(False, x0, x1) 214.33/145.94 new_primMulNat4(Zero) 214.33/145.94 new_gcd0Gcd'11(True, x0, x1) 214.33/145.94 new_sr5(:%(x0, x1), x2) 214.33/145.94 new_primEqInt(Pos(Zero)) 214.33/145.94 new_esEs(Pos(Succ(x0))) 214.33/145.94 new_primQuotInt0(x0, Neg(Zero)) 214.33/145.94 new_primMulNat3(Zero) 214.33/145.94 new_primModNatS02(x0, x1) 214.33/145.94 new_sr(x0, ty_Double) 214.33/145.94 new_primDivNatS1(Succ(Zero), Zero) 214.33/145.94 new_primMinusNatS0(x0) 214.33/145.94 new_sr11(x0) 214.33/145.94 new_rem(Pos(x0), Neg(Succ(x1))) 214.33/145.94 new_rem(Neg(x0), Pos(Succ(x1))) 214.33/145.94 new_primMulNat0(Zero, Zero) 214.33/145.94 new_primPlusNat0(Succ(x0), Zero) 214.33/145.94 new_primMulNat0(Succ(x0), Zero) 214.33/145.94 new_primMulNat2(Zero) 214.33/145.94 new_primQuotInt(x0, Pos(Zero)) 214.33/145.94 new_primMulNat2(Succ(x0)) 214.33/145.94 new_primQuotInt(x0, Neg(Zero)) 214.33/145.94 new_rem(Neg(x0), Neg(Succ(x1))) 214.33/145.94 new_primMinusNatS2(Zero, Succ(x0)) 214.33/145.94 new_sr(x0, ty_Int) 214.33/145.94 new_primMulNat3(Succ(x0)) 214.33/145.94 new_esEs1(Integer(x0)) 214.33/145.94 new_primQuotInt0(x0, Pos(Zero)) 214.33/145.94 new_gcd2(True, x0, x1) 214.33/145.94 new_quot1(x0, x1, x2, x3, ty_Int) 214.33/145.94 new_primDivNatS1(Zero, x0) 214.33/145.94 new_gcd(x0, x1) 214.33/145.94 new_gcd1(False, x0, x1) 214.33/145.94 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 214.33/145.94 new_primPlusNat0(Zero, Succ(x0)) 214.33/145.94 new_abs(Neg(Zero)) 214.33/145.94 new_primMinusNatS2(Succ(x0), Zero) 214.33/145.94 new_error 214.33/145.94 new_primModNatS1(Succ(Zero), Zero) 214.33/145.94 new_primMulNat4(Succ(x0)) 214.33/145.94 new_primDivNatS02(x0, x1) 214.33/145.94 new_rem(Neg(x0), Neg(Zero)) 214.33/145.94 new_primEqInt(Neg(Zero)) 214.33/145.94 new_rem(Pos(x0), Pos(Succ(x1))) 214.33/145.94 new_abs(Pos(Succ(x0))) 214.33/145.94 new_primMulNat0(Succ(x0), Succ(x1)) 214.33/145.94 new_primMulNat0(Zero, Succ(x0)) 214.33/145.94 new_reduce2Reduce1(x0, x1, x2, x3, True, x4) 214.33/145.94 new_sr(x0, ty_Float) 214.33/145.94 new_gcd0Gcd'10(False, x0, x1) 214.33/145.94 new_sr12(x0) 214.33/145.94 new_primDivNatS01(x0, x1, Zero, Succ(x2)) 214.33/145.94 new_sr10(Pos(x0), Pos(x1)) 214.33/145.94 new_primModNatS01(x0, x1, Zero, Succ(x2)) 214.33/145.94 new_primPlusNat0(Zero, Zero) 214.33/145.94 new_sr(x0, ty_Integer) 214.33/145.94 new_primQuotInt0(x0, Pos(Succ(x1))) 214.33/145.94 new_primModNatS01(x0, x1, Succ(x2), Zero) 214.33/145.94 new_primModNatS1(Succ(Succ(x0)), Zero) 214.33/145.94 new_rem(Pos(x0), Pos(Zero)) 214.33/145.94 new_quot(Pos(x0), x1, x2) 214.33/145.94 new_primMinusNatS2(Zero, Zero) 214.33/145.94 new_esEs0(x0, ty_Int) 214.33/145.94 new_esEs(Pos(Zero)) 214.33/145.94 new_quot(Neg(x0), x1, x2) 214.33/145.94 new_primDivNatS01(x0, x1, Succ(x2), Succ(x3)) 214.33/145.94 new_quot2(x0, x1, x2) 214.33/145.94 new_primEqInt(Neg(Succ(x0))) 214.33/145.94 new_sr10(Neg(x0), Neg(x1)) 214.33/145.94 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 214.33/145.94 new_sr9(x0, x1) 214.33/145.94 new_sr7(Neg(x0)) 214.33/145.94 new_primQuotInt0(x0, Neg(Succ(x1))) 214.33/145.94 new_rem(Pos(x0), Neg(Zero)) 214.33/145.94 new_rem(Neg(x0), Pos(Zero)) 214.33/145.94 new_gcd0Gcd'00(x0, x1) 214.33/145.94 new_primQuotInt(x0, Neg(Succ(x1))) 214.33/145.94 new_primMinusNatS2(Succ(x0), Succ(x1)) 214.33/145.94 new_abs(Pos(Zero)) 214.33/145.94 new_quot0(x0, x1, x2, x3, ty_Integer) 214.33/145.94 new_sr6(x0) 214.33/145.94 new_gcd2(False, x0, x1) 214.33/145.94 new_gcd1(True, x0, x1) 214.33/145.94 new_primMinusNatS1 214.33/145.94 new_sr7(Pos(x0)) 214.33/145.94 new_gcd0Gcd'10(True, x0, x1) 214.33/145.94 new_primModNatS1(Zero, x0) 214.33/145.94 new_sr10(Pos(x0), Neg(x1)) 214.33/145.94 new_sr10(Neg(x0), Pos(x1)) 214.33/145.94 new_primDivNatS01(x0, x1, Succ(x2), Zero) 214.33/145.94 new_primDivNatS1(Succ(Succ(x0)), Succ(x1)) 214.33/145.94 new_primPlusNat0(Succ(x0), Succ(x1)) 214.33/145.94 new_primDivNatS1(Succ(Zero), Succ(x0)) 214.33/145.94 new_primQuotInt(x0, Pos(Succ(x1))) 214.33/145.94 new_abs(Neg(Succ(x0))) 214.33/145.94 new_esEs0(x0, ty_Integer) 214.33/145.94 new_esEs(Neg(Succ(x0))) 214.33/145.94 new_sr(x0, app(ty_Ratio, x1)) 214.33/145.94 new_primModNatS01(x0, x1, Zero, Zero) 214.33/145.94 new_gcd0(x0, x1) 214.33/145.94 new_primEqInt(Pos(Succ(x0))) 214.33/145.94 new_quot1(x0, x1, x2, x3, ty_Integer) 214.33/145.94 new_primDivNatS1(Succ(Succ(x0)), Zero) 214.33/145.94 new_primMulNat1(Succ(x0)) 214.33/145.94 new_quot0(x0, x1, x2, x3, ty_Int) 214.33/145.94 new_primModNatS1(Succ(Zero), Succ(x0)) 214.33/145.94 new_reduce2Reduce1(x0, x1, x2, x3, False, x4) 214.33/145.94 new_esEs(Neg(Zero)) 214.33/145.94 new_primMulNat1(Zero) 214.33/145.94 214.33/145.94 We have to consider all minimal (P,Q,R)-chains. 214.33/145.94 ---------------------------------------- 214.33/145.94 214.33/145.94 (759) MNOCProof (EQUIVALENT) 214.33/145.94 We use the modular non-overlap check [FROCOS05] to decrease Q to the empty set. 214.33/145.94 ---------------------------------------- 214.33/145.94 214.33/145.94 (760) 214.33/145.94 Obligation: 214.33/145.94 Q DP problem: 214.33/145.94 The TRS P consists of the following rules: 214.33/145.94 214.33/145.94 new_pr2F0G(vyv188, vyv184, Pos(Zero), h) -> new_pr2F0G(vyv188, new_sr(vyv184, h), Pos(Zero), h) 214.33/145.94 214.33/145.94 The TRS R consists of the following rules: 214.33/145.94 214.33/145.94 new_sr(vyv184, ty_Double) -> new_sr11(vyv184) 214.33/145.94 new_sr(vyv184, app(ty_Ratio, bd)) -> new_sr5(vyv184, bd) 214.33/145.94 new_sr(vyv184, ty_Float) -> new_sr12(vyv184) 214.33/145.94 new_sr(vyv184, ty_Int) -> new_sr7(vyv184) 214.33/145.94 new_sr(vyv184, ty_Integer) -> new_sr6(vyv184) 214.33/145.94 new_sr6(vyv184) -> error([]) 214.33/145.94 new_sr7(Pos(vyv1840)) -> Pos(new_primMulNat1(vyv1840)) 214.33/145.94 new_sr7(Neg(vyv1840)) -> Pos(new_primMulNat1(vyv1840)) 214.33/145.94 new_primMulNat1(Succ(vyv18400)) -> new_primPlusNat0(new_primMulNat2(vyv18400), Succ(vyv18400)) 214.33/145.94 new_primMulNat1(Zero) -> Zero 214.33/145.94 new_primMulNat2(Succ(vyv184000)) -> new_primPlusNat0(new_primMulNat3(vyv184000), Succ(Succ(vyv184000))) 214.33/145.94 new_primMulNat2(Zero) -> Zero 214.33/145.94 new_primPlusNat0(Succ(vyv4000), Succ(vyv6000)) -> Succ(Succ(new_primPlusNat0(vyv4000, vyv6000))) 214.33/145.94 new_primPlusNat0(Zero, Succ(vyv6000)) -> Succ(vyv6000) 214.33/145.94 new_primPlusNat0(Zero, Zero) -> Zero 214.33/145.94 new_primPlusNat0(Succ(vyv4000), Zero) -> Succ(vyv4000) 214.33/145.94 new_primMulNat3(Succ(vyv1840000)) -> new_primPlusNat0(new_primMulNat4(vyv1840000), Succ(Succ(Succ(vyv1840000)))) 214.33/145.94 new_primMulNat3(Zero) -> Zero 214.33/145.94 new_primMulNat4(Succ(vyv18400000)) -> new_primPlusNat0(new_primMulNat0(vyv18400000, Succ(Succ(Succ(Succ(vyv18400000))))), Succ(Succ(Succ(Succ(vyv18400000))))) 214.33/145.94 new_primMulNat4(Zero) -> Zero 214.33/145.94 new_primMulNat0(Zero, Succ(vyv23900)) -> Zero 214.33/145.94 new_primMulNat0(Succ(vyv24000), Succ(vyv23900)) -> new_primPlusNat0(new_primMulNat0(vyv24000, Succ(vyv23900)), Succ(vyv23900)) 214.33/145.94 new_sr12(vyv184) -> error([]) 214.33/145.94 new_sr5(:%(vyv1840, vyv1841), bd) -> new_reduce2Reduce1(vyv1840, vyv1840, vyv1841, vyv1841, new_esEs0(vyv1841, bd), bd) 214.33/145.94 new_esEs0(vyv1841, ty_Int) -> new_esEs(new_sr7(vyv1841)) 214.33/145.94 new_esEs0(vyv1841, ty_Integer) -> new_esEs1(new_sr6(vyv1841)) 214.33/145.94 new_reduce2Reduce1(vyv265, vyv266, vyv267, vyv268, False, bh) -> :%(new_quot0(vyv265, vyv266, vyv267, vyv268, bh), new_quot1(vyv267, vyv268, vyv265, vyv266, bh)) 214.33/145.94 new_reduce2Reduce1(vyv265, vyv266, vyv267, vyv268, True, bh) -> error([]) 214.33/145.94 new_quot0(vyv265, vyv266, vyv267, vyv268, ty_Integer) -> new_quot2(new_sr9(vyv265, vyv266), new_sr9(vyv265, vyv266), new_sr9(vyv267, vyv268)) 214.33/145.94 new_quot0(vyv265, vyv266, vyv267, vyv268, ty_Int) -> new_quot(new_sr10(vyv265, vyv266), new_sr10(vyv265, vyv266), new_sr10(vyv267, vyv268)) 214.33/145.94 new_quot1(vyv267, vyv268, vyv265, vyv266, ty_Int) -> new_quot(new_sr10(vyv267, vyv268), new_sr10(vyv265, vyv266), new_sr10(vyv267, vyv268)) 214.33/145.94 new_quot1(vyv267, vyv268, vyv265, vyv266, ty_Integer) -> new_quot2(new_sr9(vyv267, vyv268), new_sr9(vyv265, vyv266), new_sr9(vyv267, vyv268)) 214.33/145.94 new_sr9(vyv240, vyv239) -> error([]) 214.33/145.94 new_quot2(vyv274, vyv276, vyv275) -> error([]) 214.33/145.94 new_sr10(Pos(vyv2400), Pos(vyv2390)) -> Pos(new_primMulNat0(vyv2400, vyv2390)) 214.33/145.94 new_sr10(Neg(vyv2400), Neg(vyv2390)) -> Pos(new_primMulNat0(vyv2400, vyv2390)) 214.33/145.94 new_sr10(Pos(vyv2400), Neg(vyv2390)) -> Neg(new_primMulNat0(vyv2400, vyv2390)) 214.33/145.94 new_sr10(Neg(vyv2400), Pos(vyv2390)) -> Neg(new_primMulNat0(vyv2400, vyv2390)) 214.33/145.94 new_quot(Pos(vyv2710), vyv273, vyv272) -> new_primQuotInt(vyv2710, new_gcd(vyv273, vyv272)) 214.33/145.94 new_quot(Neg(vyv2710), vyv273, vyv272) -> new_primQuotInt0(vyv2710, new_gcd(vyv273, vyv272)) 214.33/145.94 new_gcd(vyv273, vyv272) -> new_gcd2(new_esEs(vyv273), vyv273, vyv272) 214.33/145.94 new_primQuotInt0(vyv2710, Pos(Succ(vyv28800))) -> Neg(new_primDivNatS1(vyv2710, vyv28800)) 214.33/145.94 new_primQuotInt0(vyv2710, Neg(Zero)) -> new_error 214.33/145.94 new_primQuotInt0(vyv2710, Neg(Succ(vyv28800))) -> Pos(new_primDivNatS1(vyv2710, vyv28800)) 214.33/145.94 new_primQuotInt0(vyv2710, Pos(Zero)) -> new_error 214.33/145.94 new_error -> error([]) 214.33/145.94 new_primDivNatS1(Zero, vyv28500) -> Zero 214.33/145.94 new_primDivNatS1(Succ(Succ(vyv271000)), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS0(vyv271000), Zero)) 214.33/145.94 new_primDivNatS1(Succ(Zero), Succ(vyv285000)) -> Zero 214.33/145.94 new_primDivNatS1(Succ(Succ(vyv271000)), Succ(vyv285000)) -> new_primDivNatS01(vyv271000, vyv285000, vyv271000, vyv285000) 214.33/145.94 new_primDivNatS1(Succ(Zero), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS1, Zero)) 214.33/145.94 new_primMinusNatS1 -> Zero 214.33/145.94 new_primDivNatS01(vyv311, vyv312, Succ(vyv3130), Zero) -> new_primDivNatS02(vyv311, vyv312) 214.33/145.94 new_primDivNatS01(vyv311, vyv312, Zero, Succ(vyv3140)) -> Zero 214.33/145.94 new_primDivNatS01(vyv311, vyv312, Succ(vyv3130), Succ(vyv3140)) -> new_primDivNatS01(vyv311, vyv312, vyv3130, vyv3140) 214.33/145.94 new_primDivNatS01(vyv311, vyv312, Zero, Zero) -> new_primDivNatS02(vyv311, vyv312) 214.33/145.94 new_primDivNatS02(vyv311, vyv312) -> Succ(new_primDivNatS1(new_primMinusNatS2(vyv311, vyv312), Succ(vyv312))) 214.33/145.94 new_primMinusNatS2(Zero, Succ(vyv3120)) -> Zero 214.33/145.94 new_primMinusNatS2(Succ(vyv3110), Zero) -> Succ(vyv3110) 214.33/145.94 new_primMinusNatS2(Zero, Zero) -> Zero 214.33/145.94 new_primMinusNatS2(Succ(vyv3110), Succ(vyv3120)) -> new_primMinusNatS2(vyv3110, vyv3120) 214.33/145.94 new_primMinusNatS0(vyv271000) -> Succ(vyv271000) 214.33/145.94 new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) 214.33/145.94 new_esEs(Pos(Succ(vyv24300))) -> new_primEqInt(Pos(Succ(vyv24300))) 214.33/145.94 new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) 214.33/145.94 new_esEs(Neg(Succ(vyv24300))) -> new_primEqInt(Neg(Succ(vyv24300))) 214.33/145.94 new_gcd2(True, vyv273, vyv272) -> new_gcd1(new_esEs(vyv272), vyv273, vyv272) 214.33/145.94 new_gcd2(False, vyv273, vyv272) -> new_gcd0(vyv273, vyv272) 214.33/145.94 new_gcd0(vyv273, vyv272) -> new_gcd0Gcd'11(new_esEs(new_abs(vyv272)), vyv273, vyv272) 214.33/145.94 new_abs(Neg(Zero)) -> Neg(Zero) 214.33/145.94 new_abs(Neg(Succ(vyv27200))) -> Pos(Succ(vyv27200)) 214.33/145.94 new_abs(Pos(Succ(vyv27200))) -> Pos(Succ(vyv27200)) 214.33/145.94 new_abs(Pos(Zero)) -> Pos(Zero) 214.33/145.94 new_gcd0Gcd'11(True, vyv273, vyv272) -> new_abs(vyv273) 214.33/145.94 new_gcd0Gcd'11(False, vyv273, vyv272) -> new_gcd0Gcd'00(new_abs(vyv273), new_abs(vyv272)) 214.33/145.94 new_gcd0Gcd'00(vyv293, vyv292) -> new_gcd0Gcd'10(new_esEs(new_rem(vyv293, vyv292)), vyv292, vyv293) 214.33/145.94 new_gcd0Gcd'10(False, vyv292, vyv293) -> new_gcd0Gcd'00(vyv292, new_rem(vyv293, vyv292)) 214.33/145.94 new_rem(Pos(vyv2930), Neg(Zero)) -> new_error 214.33/145.94 new_rem(Neg(vyv2930), Pos(Zero)) -> new_error 214.33/145.94 new_rem(Pos(vyv2930), Neg(Succ(vyv29200))) -> Pos(new_primModNatS1(vyv2930, vyv29200)) 214.33/145.94 new_rem(Neg(vyv2930), Pos(Succ(vyv29200))) -> Neg(new_primModNatS1(vyv2930, vyv29200)) 214.33/145.94 new_rem(Pos(vyv2930), Pos(Succ(vyv29200))) -> Pos(new_primModNatS1(vyv2930, vyv29200)) 214.33/145.94 new_rem(Neg(vyv2930), Neg(Zero)) -> new_error 214.33/145.94 new_rem(Neg(vyv2930), Neg(Succ(vyv29200))) -> Neg(new_primModNatS1(vyv2930, vyv29200)) 214.33/145.94 new_rem(Pos(vyv2930), Pos(Zero)) -> new_error 214.33/145.94 new_gcd0Gcd'10(True, vyv292, vyv293) -> vyv292 214.33/145.94 new_primModNatS1(Succ(Zero), Succ(vyv292000)) -> Succ(Zero) 214.33/145.94 new_primModNatS1(Zero, vyv29200) -> Zero 214.33/145.94 new_primModNatS1(Succ(Succ(vyv293000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv293000), Zero) 214.33/145.94 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 214.33/145.94 new_primModNatS1(Succ(Succ(vyv293000)), Succ(vyv292000)) -> new_primModNatS01(vyv293000, vyv292000, vyv293000, vyv292000) 214.33/145.94 new_primModNatS01(vyv331, vyv332, Zero, Zero) -> new_primModNatS02(vyv331, vyv332) 214.33/145.94 new_primModNatS02(vyv331, vyv332) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv331), Succ(vyv332)), Succ(vyv332)) 214.33/145.94 new_primModNatS01(vyv331, vyv332, Succ(vyv3330), Zero) -> new_primModNatS02(vyv331, vyv332) 214.33/145.94 new_primModNatS01(vyv331, vyv332, Succ(vyv3330), Succ(vyv3340)) -> new_primModNatS01(vyv331, vyv332, vyv3330, vyv3340) 214.33/145.94 new_primModNatS01(vyv331, vyv332, Zero, Succ(vyv3340)) -> Succ(Succ(vyv331)) 214.33/145.94 new_gcd1(True, vyv273, vyv272) -> new_error 214.33/145.94 new_gcd1(False, vyv273, vyv272) -> new_gcd0(vyv273, vyv272) 214.33/145.94 new_primEqInt(Neg(Succ(vyv242000))) -> False 214.33/145.94 new_primEqInt(Pos(Zero)) -> True 214.33/145.94 new_primEqInt(Pos(Succ(vyv242000))) -> False 214.33/145.94 new_primEqInt(Neg(Zero)) -> True 214.33/145.94 new_primQuotInt(vyv2710, Pos(Succ(vyv28500))) -> Pos(new_primDivNatS1(vyv2710, vyv28500)) 214.33/145.94 new_primQuotInt(vyv2710, Neg(Zero)) -> new_error 214.33/145.94 new_primQuotInt(vyv2710, Pos(Zero)) -> new_error 214.33/145.94 new_primQuotInt(vyv2710, Neg(Succ(vyv28500))) -> Neg(new_primDivNatS1(vyv2710, vyv28500)) 214.33/145.94 new_primMulNat0(Succ(vyv24000), Zero) -> Zero 214.33/145.94 new_primMulNat0(Zero, Zero) -> Zero 214.33/145.94 new_esEs1(Integer(vyv2700)) -> new_primEqInt(vyv2700) 214.33/145.94 new_sr11(vyv184) -> error([]) 214.33/145.94 214.33/145.94 Q is empty. 214.33/145.94 We have to consider all (P,Q,R)-chains. 214.33/145.94 ---------------------------------------- 214.33/145.94 214.33/145.94 (761) NonTerminationLoopProof (COMPLETE) 214.33/145.94 We used the non-termination processor [FROCOS05] to show that the DP problem is infinite. 214.33/145.94 Found a loop by semiunifying a rule from P directly. 214.33/145.94 214.33/145.94 s = new_pr2F0G(vyv188, vyv184, Pos(Zero), h) evaluates to t =new_pr2F0G(vyv188, new_sr(vyv184, h), Pos(Zero), h) 214.33/145.94 214.33/145.94 Thus s starts an infinite chain as s semiunifies with t with the following substitutions: 214.33/145.94 * Matcher: [vyv184 / new_sr(vyv184, h)] 214.33/145.94 * Semiunifier: [ ] 214.33/145.94 214.33/145.94 -------------------------------------------------------------------------------- 214.33/145.94 Rewriting sequence 214.33/145.94 214.33/145.94 The DP semiunifies directly so there is only one rewrite step from new_pr2F0G(vyv188, vyv184, Pos(Zero), h) to new_pr2F0G(vyv188, new_sr(vyv184, h), Pos(Zero), h). 214.33/145.94 214.33/145.94 214.33/145.94 214.33/145.94 214.33/145.94 ---------------------------------------- 214.33/145.94 214.33/145.94 (762) 214.33/145.94 NO 214.33/145.94 214.33/145.94 ---------------------------------------- 214.33/145.94 214.33/145.94 (763) 214.33/145.94 Obligation: 214.33/145.94 Q DP problem: 214.33/145.94 The TRS P consists of the following rules: 214.33/145.94 214.33/145.94 new_pr2F0G11(vyv239, vyv240, vyv241, bc) -> new_pr2F1(vyv240, vyv241, Pos(Succ(Zero)), vyv239, bc) 214.33/145.94 new_pr2F1(vyv240, vyv241, vyv244, vyv239, bc) -> new_pr2F30(new_esEs(new_ms0(vyv241, vyv244)), vyv240, vyv241, vyv244, vyv239, bc) 214.33/145.94 new_pr2F30(False, vyv240, vyv241, vyv244, vyv239, bc) -> new_pr2F0(vyv240, new_ms0(vyv241, vyv244), new_sr4(vyv240, vyv239, bc), bc) 214.33/145.94 new_pr2F0(vyv184, Neg(Succ(Succ(vyv223000))), vyv188, h) -> new_pr2F0G10(vyv188, vyv184, Succ(vyv223000), vyv223000, h) 214.33/145.94 new_pr2F0G10(vyv249, vyv250, vyv251, Succ(Succ(vyv25200)), bb) -> new_pr2F0G10(vyv249, vyv250, vyv251, vyv25200, bb) 214.33/145.94 new_pr2F0G10(vyv249, vyv250, vyv251, Succ(Zero), bb) -> new_pr2F0G11(vyv249, vyv250, vyv251, bb) 214.33/145.94 new_pr2F0G10(vyv249, vyv250, vyv251, Zero, bb) -> new_pr2F0G(vyv249, new_sr3(vyv250, bb), Neg(new_primDivNatS1(Succ(vyv251), Succ(Zero))), bb) 214.33/145.94 new_pr2F0G(vyv188, vyv184, Neg(Succ(Zero)), h) -> new_pr2F0G11(vyv188, vyv184, Zero, h) 214.33/145.94 new_pr2F0G(vyv188, vyv184, Neg(Succ(Succ(vyv223000))), h) -> new_pr2F0G10(vyv188, vyv184, Succ(vyv223000), vyv223000, h) 214.33/145.94 new_pr2F0(vyv184, Neg(Succ(Zero)), vyv188, h) -> new_pr2F0G11(vyv188, vyv184, Zero, h) 214.33/145.94 new_pr2F0(vyv184, Pos(Succ(Succ(vyv223000))), vyv188, h) -> new_pr2F0G1(vyv188, vyv184, Succ(vyv223000), vyv223000, h) 214.33/145.94 new_pr2F0G1(vyv227, vyv228, vyv229, Succ(Succ(vyv23000)), ba) -> new_pr2F0G1(vyv227, vyv228, vyv229, vyv23000, ba) 214.33/145.94 new_pr2F0G1(vyv227, vyv228, vyv229, Succ(Zero), ba) -> new_pr2F(vyv228, vyv229, Pos(Succ(Zero)), vyv227, ba) 214.33/145.94 new_pr2F(vyv228, vyv229, vyv245, vyv227, ba) -> new_pr2F3(new_esEs(new_ms(vyv229, vyv245)), vyv228, vyv229, vyv245, vyv227, ba) 214.33/145.94 new_pr2F3(False, vyv228, vyv229, vyv245, vyv227, ba) -> new_pr2F0(vyv228, new_ms(vyv229, vyv245), new_sr2(vyv228, vyv227, ba), ba) 214.33/145.94 new_pr2F0(vyv184, Pos(Succ(Zero)), vyv188, h) -> new_pr2F(vyv184, Zero, Pos(Succ(Zero)), vyv188, h) 214.33/145.94 new_pr2F0G1(vyv227, vyv228, vyv229, Zero, ba) -> new_pr2F0G(vyv227, new_sr1(vyv228, ba), Pos(new_primDivNatS1(Succ(vyv229), Succ(Zero))), ba) 214.33/145.94 new_pr2F0G(vyv188, vyv184, Pos(Succ(Succ(vyv223000))), h) -> new_pr2F0G1(vyv188, vyv184, Succ(vyv223000), vyv223000, h) 214.33/145.94 new_pr2F0G(vyv188, vyv184, Pos(Succ(Zero)), h) -> new_pr2F(vyv184, Zero, Pos(Succ(Zero)), vyv188, h) 214.33/145.94 214.33/145.94 The TRS R consists of the following rules: 214.33/145.94 214.33/145.94 new_sr(vyv184, ty_Double) -> new_sr11(vyv184) 214.33/145.94 new_sr(vyv184, app(ty_Ratio, bd)) -> new_sr5(vyv184, bd) 214.33/145.94 new_sr(vyv184, ty_Float) -> new_sr12(vyv184) 214.33/145.94 new_sr(vyv184, ty_Int) -> new_sr7(vyv184) 214.33/145.94 new_sr(vyv184, ty_Integer) -> new_sr6(vyv184) 214.33/145.94 new_primDivNatS1(Zero, vyv28500) -> Zero 214.33/145.94 new_sr6(vyv184) -> error([]) 214.33/145.94 new_sr7(Pos(vyv1840)) -> Pos(new_primMulNat1(vyv1840)) 214.33/145.94 new_sr7(Neg(vyv1840)) -> Pos(new_primMulNat1(vyv1840)) 214.33/145.94 new_primMulNat1(Succ(vyv18400)) -> new_primPlusNat0(new_primMulNat2(vyv18400), Succ(vyv18400)) 214.33/145.94 new_primMulNat1(Zero) -> Zero 214.33/145.94 new_primMulNat2(Succ(vyv184000)) -> new_primPlusNat0(new_primMulNat3(vyv184000), Succ(Succ(vyv184000))) 214.33/145.94 new_primMulNat2(Zero) -> Zero 214.33/145.94 new_primPlusNat0(Succ(vyv4000), Succ(vyv6000)) -> Succ(Succ(new_primPlusNat0(vyv4000, vyv6000))) 214.33/145.94 new_primPlusNat0(Zero, Succ(vyv6000)) -> Succ(vyv6000) 214.33/145.94 new_primPlusNat0(Zero, Zero) -> Zero 214.33/145.94 new_primPlusNat0(Succ(vyv4000), Zero) -> Succ(vyv4000) 214.33/145.94 new_primMulNat3(Succ(vyv1840000)) -> new_primPlusNat0(new_primMulNat4(vyv1840000), Succ(Succ(Succ(vyv1840000)))) 214.33/145.94 new_primMulNat3(Zero) -> Zero 214.33/145.94 new_primMulNat4(Succ(vyv18400000)) -> new_primPlusNat0(new_primMulNat0(vyv18400000, Succ(Succ(Succ(Succ(vyv18400000))))), Succ(Succ(Succ(Succ(vyv18400000))))) 214.33/145.94 new_primMulNat4(Zero) -> Zero 214.33/145.94 new_primMulNat0(Zero, Succ(vyv23900)) -> Zero 214.33/145.94 new_primMulNat0(Succ(vyv24000), Succ(vyv23900)) -> new_primPlusNat0(new_primMulNat0(vyv24000, Succ(vyv23900)), Succ(vyv23900)) 214.33/145.94 new_sr12(vyv184) -> error([]) 214.33/145.94 new_sr5(:%(vyv1840, vyv1841), bd) -> new_reduce2Reduce1(vyv1840, vyv1840, vyv1841, vyv1841, new_esEs0(vyv1841, bd), bd) 214.33/145.94 new_esEs0(vyv1841, ty_Int) -> new_esEs(new_sr7(vyv1841)) 214.33/145.94 new_esEs0(vyv1841, ty_Integer) -> new_esEs1(new_sr6(vyv1841)) 214.33/145.94 new_reduce2Reduce1(vyv265, vyv266, vyv267, vyv268, False, bh) -> :%(new_quot0(vyv265, vyv266, vyv267, vyv268, bh), new_quot1(vyv267, vyv268, vyv265, vyv266, bh)) 214.33/145.94 new_reduce2Reduce1(vyv265, vyv266, vyv267, vyv268, True, bh) -> error([]) 214.33/145.94 new_quot0(vyv265, vyv266, vyv267, vyv268, ty_Integer) -> new_quot2(new_sr9(vyv265, vyv266), new_sr9(vyv265, vyv266), new_sr9(vyv267, vyv268)) 214.33/145.94 new_quot0(vyv265, vyv266, vyv267, vyv268, ty_Int) -> new_quot(new_sr10(vyv265, vyv266), new_sr10(vyv265, vyv266), new_sr10(vyv267, vyv268)) 214.33/145.94 new_quot1(vyv267, vyv268, vyv265, vyv266, ty_Int) -> new_quot(new_sr10(vyv267, vyv268), new_sr10(vyv265, vyv266), new_sr10(vyv267, vyv268)) 214.33/145.94 new_quot1(vyv267, vyv268, vyv265, vyv266, ty_Integer) -> new_quot2(new_sr9(vyv267, vyv268), new_sr9(vyv265, vyv266), new_sr9(vyv267, vyv268)) 214.33/145.94 new_sr9(vyv240, vyv239) -> error([]) 214.33/145.94 new_quot2(vyv274, vyv276, vyv275) -> error([]) 214.33/145.94 new_sr10(Pos(vyv2400), Pos(vyv2390)) -> Pos(new_primMulNat0(vyv2400, vyv2390)) 214.33/145.94 new_sr10(Neg(vyv2400), Neg(vyv2390)) -> Pos(new_primMulNat0(vyv2400, vyv2390)) 214.33/145.94 new_sr10(Pos(vyv2400), Neg(vyv2390)) -> Neg(new_primMulNat0(vyv2400, vyv2390)) 214.33/145.94 new_sr10(Neg(vyv2400), Pos(vyv2390)) -> Neg(new_primMulNat0(vyv2400, vyv2390)) 214.33/145.94 new_quot(Pos(vyv2710), vyv273, vyv272) -> new_primQuotInt(vyv2710, new_gcd(vyv273, vyv272)) 214.33/145.94 new_quot(Neg(vyv2710), vyv273, vyv272) -> new_primQuotInt0(vyv2710, new_gcd(vyv273, vyv272)) 214.33/145.94 new_gcd(vyv273, vyv272) -> new_gcd2(new_esEs(vyv273), vyv273, vyv272) 214.33/145.94 new_primQuotInt0(vyv2710, Pos(Succ(vyv28800))) -> Neg(new_primDivNatS1(vyv2710, vyv28800)) 214.33/145.94 new_primQuotInt0(vyv2710, Neg(Zero)) -> new_error 214.33/145.94 new_primQuotInt0(vyv2710, Neg(Succ(vyv28800))) -> Pos(new_primDivNatS1(vyv2710, vyv28800)) 214.33/145.94 new_primQuotInt0(vyv2710, Pos(Zero)) -> new_error 214.33/145.94 new_error -> error([]) 214.33/145.94 new_primDivNatS1(Succ(Succ(vyv271000)), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS0(vyv271000), Zero)) 214.33/145.94 new_primDivNatS1(Succ(Zero), Succ(vyv285000)) -> Zero 214.33/145.94 new_primDivNatS1(Succ(Succ(vyv271000)), Succ(vyv285000)) -> new_primDivNatS01(vyv271000, vyv285000, vyv271000, vyv285000) 214.33/145.94 new_primDivNatS1(Succ(Zero), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS1, Zero)) 214.33/145.94 new_primMinusNatS1 -> Zero 214.33/145.94 new_primDivNatS01(vyv311, vyv312, Succ(vyv3130), Zero) -> new_primDivNatS02(vyv311, vyv312) 214.33/145.94 new_primDivNatS01(vyv311, vyv312, Zero, Succ(vyv3140)) -> Zero 214.33/145.94 new_primDivNatS01(vyv311, vyv312, Succ(vyv3130), Succ(vyv3140)) -> new_primDivNatS01(vyv311, vyv312, vyv3130, vyv3140) 214.33/145.94 new_primDivNatS01(vyv311, vyv312, Zero, Zero) -> new_primDivNatS02(vyv311, vyv312) 214.33/145.94 new_primDivNatS02(vyv311, vyv312) -> Succ(new_primDivNatS1(new_primMinusNatS2(vyv311, vyv312), Succ(vyv312))) 214.33/145.94 new_primMinusNatS2(Zero, Succ(vyv3120)) -> Zero 214.33/145.94 new_primMinusNatS2(Succ(vyv3110), Zero) -> Succ(vyv3110) 214.33/145.94 new_primMinusNatS2(Zero, Zero) -> Zero 214.33/145.94 new_primMinusNatS2(Succ(vyv3110), Succ(vyv3120)) -> new_primMinusNatS2(vyv3110, vyv3120) 214.33/145.94 new_primMinusNatS0(vyv271000) -> Succ(vyv271000) 214.33/145.94 new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) 214.33/145.94 new_esEs(Pos(Succ(vyv24300))) -> new_primEqInt(Pos(Succ(vyv24300))) 214.33/145.94 new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) 214.33/145.94 new_esEs(Neg(Succ(vyv24300))) -> new_primEqInt(Neg(Succ(vyv24300))) 214.33/145.94 new_gcd2(True, vyv273, vyv272) -> new_gcd1(new_esEs(vyv272), vyv273, vyv272) 214.33/145.94 new_gcd2(False, vyv273, vyv272) -> new_gcd0(vyv273, vyv272) 214.33/145.94 new_gcd0(vyv273, vyv272) -> new_gcd0Gcd'11(new_esEs(new_abs(vyv272)), vyv273, vyv272) 214.33/145.94 new_abs(Neg(Zero)) -> Neg(Zero) 214.33/145.94 new_abs(Neg(Succ(vyv27200))) -> Pos(Succ(vyv27200)) 214.33/145.94 new_abs(Pos(Succ(vyv27200))) -> Pos(Succ(vyv27200)) 214.33/145.94 new_abs(Pos(Zero)) -> Pos(Zero) 214.33/145.94 new_gcd0Gcd'11(True, vyv273, vyv272) -> new_abs(vyv273) 214.33/145.94 new_gcd0Gcd'11(False, vyv273, vyv272) -> new_gcd0Gcd'00(new_abs(vyv273), new_abs(vyv272)) 214.33/145.94 new_gcd0Gcd'10(False, vyv292, vyv293) -> new_gcd0Gcd'00(vyv292, new_rem(vyv293, vyv292)) 214.33/145.94 new_gcd0Gcd'00(vyv293, vyv292) -> new_gcd0Gcd'10(new_esEs(new_rem(vyv293, vyv292)), vyv292, vyv293) 214.33/145.94 new_rem(Pos(vyv2930), Neg(Zero)) -> new_error 214.33/145.94 new_rem(Neg(vyv2930), Pos(Zero)) -> new_error 214.33/145.94 new_rem(Pos(vyv2930), Neg(Succ(vyv29200))) -> Pos(new_primModNatS1(vyv2930, vyv29200)) 214.33/145.94 new_rem(Neg(vyv2930), Pos(Succ(vyv29200))) -> Neg(new_primModNatS1(vyv2930, vyv29200)) 214.33/145.94 new_rem(Pos(vyv2930), Pos(Succ(vyv29200))) -> Pos(new_primModNatS1(vyv2930, vyv29200)) 214.33/145.94 new_rem(Neg(vyv2930), Neg(Zero)) -> new_error 214.33/145.94 new_rem(Neg(vyv2930), Neg(Succ(vyv29200))) -> Neg(new_primModNatS1(vyv2930, vyv29200)) 214.33/145.94 new_rem(Pos(vyv2930), Pos(Zero)) -> new_error 214.33/145.94 new_gcd0Gcd'10(True, vyv292, vyv293) -> vyv292 214.33/145.94 new_primModNatS1(Succ(Zero), Succ(vyv292000)) -> Succ(Zero) 214.33/145.94 new_primModNatS1(Zero, vyv29200) -> Zero 214.33/145.94 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 214.33/145.94 new_primModNatS1(Succ(Succ(vyv293000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv293000), Zero) 214.33/145.94 new_primModNatS1(Succ(Succ(vyv293000)), Succ(vyv292000)) -> new_primModNatS01(vyv293000, vyv292000, vyv293000, vyv292000) 214.33/145.94 new_primModNatS01(vyv331, vyv332, Zero, Zero) -> new_primModNatS02(vyv331, vyv332) 214.33/145.94 new_primModNatS02(vyv331, vyv332) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv331), Succ(vyv332)), Succ(vyv332)) 214.33/145.94 new_primModNatS01(vyv331, vyv332, Succ(vyv3330), Zero) -> new_primModNatS02(vyv331, vyv332) 214.33/145.94 new_primModNatS01(vyv331, vyv332, Succ(vyv3330), Succ(vyv3340)) -> new_primModNatS01(vyv331, vyv332, vyv3330, vyv3340) 214.33/145.94 new_primModNatS01(vyv331, vyv332, Zero, Succ(vyv3340)) -> Succ(Succ(vyv331)) 214.33/145.94 new_gcd1(True, vyv273, vyv272) -> new_error 214.33/145.94 new_gcd1(False, vyv273, vyv272) -> new_gcd0(vyv273, vyv272) 214.33/145.94 new_primEqInt(Neg(Succ(vyv242000))) -> False 214.33/145.94 new_primEqInt(Pos(Zero)) -> True 214.33/145.94 new_primEqInt(Pos(Succ(vyv242000))) -> False 214.33/145.94 new_primEqInt(Neg(Zero)) -> True 214.33/145.94 new_primQuotInt(vyv2710, Pos(Succ(vyv28500))) -> Pos(new_primDivNatS1(vyv2710, vyv28500)) 214.33/145.94 new_primQuotInt(vyv2710, Neg(Zero)) -> new_error 214.33/145.94 new_primQuotInt(vyv2710, Pos(Zero)) -> new_error 214.33/145.94 new_primQuotInt(vyv2710, Neg(Succ(vyv28500))) -> Neg(new_primDivNatS1(vyv2710, vyv28500)) 214.33/145.94 new_primMulNat0(Succ(vyv24000), Zero) -> Zero 214.33/145.94 new_primMulNat0(Zero, Zero) -> Zero 214.33/145.94 new_esEs1(Integer(vyv2700)) -> new_primEqInt(vyv2700) 214.33/145.94 new_sr11(vyv184) -> error([]) 214.33/145.94 new_sr1(vyv228, ty_Double) -> new_sr11(vyv228) 214.33/145.94 new_sr1(vyv228, ty_Float) -> new_sr12(vyv228) 214.33/145.94 new_sr1(vyv228, app(ty_Ratio, bg)) -> new_sr5(vyv228, bg) 214.33/145.94 new_sr1(vyv228, ty_Integer) -> new_sr6(vyv228) 214.33/145.94 new_sr1(vyv228, ty_Int) -> new_sr7(vyv228) 214.33/145.94 new_ms(vyv229, Neg(vyv2450)) -> Pos(new_primPlusNat0(Succ(vyv229), vyv2450)) 214.33/145.94 new_ms(vyv229, Pos(Succ(vyv24500))) -> new_primMinusNat0(vyv229, vyv24500) 214.33/145.94 new_ms(vyv229, Pos(Zero)) -> Pos(Succ(vyv229)) 214.33/145.94 new_sr2(vyv228, vyv227, ty_Integer) -> new_sr9(vyv228, vyv227) 214.33/145.94 new_sr2(vyv228, vyv227, ty_Int) -> new_sr10(vyv228, vyv227) 214.33/145.94 new_sr2(vyv228, vyv227, app(ty_Ratio, bg)) -> new_sr8(vyv228, vyv227, bg) 214.33/145.94 new_sr2(vyv228, vyv227, ty_Double) -> new_sr13(vyv228, vyv227) 214.33/145.94 new_sr2(vyv228, vyv227, ty_Float) -> new_sr14(vyv228, vyv227) 214.33/145.94 new_sr14(vyv240, vyv239) -> error([]) 214.33/145.94 new_sr13(vyv240, vyv239) -> error([]) 214.33/145.94 new_sr8(:%(vyv2400, vyv2401), :%(vyv2390, vyv2391), be) -> new_reduce2Reduce1(vyv2400, vyv2390, vyv2401, vyv2391, new_esEs2(vyv2401, vyv2391, be), be) 214.33/145.94 new_esEs2(vyv2401, vyv2391, ty_Integer) -> new_esEs1(new_sr9(vyv2401, vyv2391)) 214.33/145.94 new_esEs2(vyv2401, vyv2391, ty_Int) -> new_esEs(new_sr10(vyv2401, vyv2391)) 214.33/145.94 new_primMinusNat0(Succ(vyv2290), Succ(vyv245000)) -> new_primMinusNat0(vyv2290, vyv245000) 214.33/145.94 new_primMinusNat0(Zero, Zero) -> Pos(Zero) 214.33/145.94 new_primMinusNat0(Zero, Succ(vyv245000)) -> Neg(Succ(vyv245000)) 214.33/145.94 new_primMinusNat0(Succ(vyv2290), Zero) -> Pos(Succ(vyv2290)) 214.33/145.94 new_sr3(vyv250, ty_Double) -> new_sr11(vyv250) 214.33/145.94 new_sr3(vyv250, ty_Int) -> new_sr7(vyv250) 214.33/145.94 new_sr3(vyv250, ty_Float) -> new_sr12(vyv250) 214.33/145.94 new_sr3(vyv250, ty_Integer) -> new_sr6(vyv250) 214.33/145.94 new_sr3(vyv250, app(ty_Ratio, bf)) -> new_sr5(vyv250, bf) 214.33/145.94 new_ms0(vyv241, Neg(Zero)) -> Neg(Succ(vyv241)) 214.33/145.94 new_ms0(vyv241, Pos(vyv2440)) -> Neg(new_primPlusNat0(Succ(vyv241), vyv2440)) 214.33/145.94 new_ms0(vyv241, Neg(Succ(vyv24400))) -> new_primMinusNat0(vyv24400, vyv241) 214.33/145.94 new_sr4(vyv240, vyv239, app(ty_Ratio, be)) -> new_sr8(vyv240, vyv239, be) 214.33/145.94 new_sr4(vyv240, vyv239, ty_Float) -> new_sr14(vyv240, vyv239) 214.33/145.94 new_sr4(vyv240, vyv239, ty_Int) -> new_sr10(vyv240, vyv239) 214.33/145.94 new_sr4(vyv240, vyv239, ty_Double) -> new_sr13(vyv240, vyv239) 214.33/145.94 new_sr4(vyv240, vyv239, ty_Integer) -> new_sr9(vyv240, vyv239) 214.33/145.94 214.33/145.94 The set Q consists of the following terms: 214.33/145.94 214.33/145.94 new_sr13(x0, x1) 214.33/145.94 new_primDivNatS01(x0, x1, Zero, Zero) 214.33/145.94 new_gcd0Gcd'11(False, x0, x1) 214.33/145.94 new_primMulNat4(Zero) 214.33/145.94 new_gcd0Gcd'11(True, x0, x1) 214.33/145.94 new_sr2(x0, x1, ty_Float) 214.33/145.94 new_sr5(:%(x0, x1), x2) 214.33/145.94 new_primEqInt(Pos(Zero)) 214.33/145.94 new_ms(x0, Neg(x1)) 214.33/145.94 new_sr2(x0, x1, ty_Double) 214.33/145.94 new_esEs(Pos(Succ(x0))) 214.33/145.94 new_primQuotInt0(x0, Neg(Zero)) 214.33/145.94 new_primMulNat3(Zero) 214.33/145.94 new_primModNatS02(x0, x1) 214.33/145.94 new_sr(x0, ty_Double) 214.33/145.94 new_primDivNatS1(Succ(Zero), Zero) 214.33/145.94 new_primMinusNatS0(x0) 214.33/145.94 new_sr11(x0) 214.33/145.94 new_rem(Pos(x0), Neg(Succ(x1))) 214.33/145.94 new_rem(Neg(x0), Pos(Succ(x1))) 214.33/145.94 new_primMulNat0(Zero, Zero) 214.33/145.94 new_primPlusNat0(Succ(x0), Zero) 214.33/145.94 new_primMulNat0(Succ(x0), Zero) 214.33/145.94 new_sr3(x0, ty_Float) 214.33/145.94 new_primMulNat2(Zero) 214.33/145.94 new_primQuotInt(x0, Pos(Zero)) 214.33/145.94 new_primMulNat2(Succ(x0)) 214.33/145.94 new_primQuotInt(x0, Neg(Zero)) 214.33/145.94 new_rem(Neg(x0), Neg(Succ(x1))) 214.33/145.94 new_primMinusNatS2(Zero, Succ(x0)) 214.33/145.94 new_sr(x0, ty_Int) 214.33/145.94 new_sr4(x0, x1, ty_Double) 214.33/145.94 new_primMulNat3(Succ(x0)) 214.33/145.94 new_esEs1(Integer(x0)) 214.33/145.94 new_primQuotInt0(x0, Pos(Zero)) 214.33/145.94 new_gcd2(True, x0, x1) 214.33/145.94 new_quot1(x0, x1, x2, x3, ty_Int) 214.33/145.94 new_primDivNatS1(Zero, x0) 214.33/145.94 new_primMinusNat0(Zero, Zero) 214.33/145.94 new_gcd(x0, x1) 214.33/145.94 new_gcd1(False, x0, x1) 214.33/145.94 new_esEs2(x0, x1, ty_Int) 214.33/145.94 new_sr3(x0, ty_Integer) 214.33/145.94 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 214.33/145.94 new_sr1(x0, app(ty_Ratio, x1)) 214.33/145.94 new_sr1(x0, ty_Float) 214.33/145.94 new_primPlusNat0(Zero, Succ(x0)) 214.33/145.94 new_sr8(:%(x0, x1), :%(x2, x3), x4) 214.33/145.94 new_abs(Neg(Zero)) 214.33/145.94 new_primMinusNatS2(Succ(x0), Zero) 214.33/145.94 new_error 214.33/145.94 new_primModNatS1(Succ(Zero), Zero) 214.33/145.94 new_primMulNat4(Succ(x0)) 214.33/145.94 new_sr1(x0, ty_Integer) 214.33/145.94 new_primDivNatS02(x0, x1) 214.33/145.94 new_sr1(x0, ty_Int) 214.33/145.94 new_rem(Neg(x0), Neg(Zero)) 214.33/145.94 new_primMinusNat0(Zero, Succ(x0)) 214.33/145.94 new_primEqInt(Neg(Zero)) 214.33/145.94 new_rem(Pos(x0), Pos(Succ(x1))) 214.33/145.94 new_abs(Pos(Succ(x0))) 214.33/145.94 new_primMulNat0(Succ(x0), Succ(x1)) 214.33/145.94 new_primMulNat0(Zero, Succ(x0)) 214.33/145.94 new_reduce2Reduce1(x0, x1, x2, x3, True, x4) 214.33/145.94 new_sr(x0, ty_Float) 214.33/145.94 new_gcd0Gcd'10(False, x0, x1) 214.33/145.94 new_sr12(x0) 214.33/145.94 new_primDivNatS01(x0, x1, Zero, Succ(x2)) 214.33/145.94 new_sr10(Pos(x0), Pos(x1)) 214.33/145.94 new_primModNatS01(x0, x1, Zero, Succ(x2)) 214.33/145.94 new_primPlusNat0(Zero, Zero) 214.33/145.94 new_sr(x0, ty_Integer) 214.33/145.94 new_primQuotInt0(x0, Pos(Succ(x1))) 214.33/145.94 new_primModNatS01(x0, x1, Succ(x2), Zero) 214.33/145.94 new_ms(x0, Pos(Succ(x1))) 214.33/145.94 new_primModNatS1(Succ(Succ(x0)), Zero) 214.33/145.94 new_sr4(x0, x1, ty_Integer) 214.33/145.94 new_rem(Pos(x0), Pos(Zero)) 214.33/145.94 new_sr4(x0, x1, ty_Int) 214.33/145.94 new_ms0(x0, Neg(Succ(x1))) 214.33/145.94 new_quot(Pos(x0), x1, x2) 214.33/145.94 new_primMinusNatS2(Zero, Zero) 214.33/145.94 new_esEs0(x0, ty_Int) 214.33/145.94 new_primMinusNat0(Succ(x0), Zero) 214.33/145.94 new_ms0(x0, Pos(x1)) 214.33/145.94 new_esEs(Pos(Zero)) 214.33/145.94 new_quot(Neg(x0), x1, x2) 214.33/145.94 new_primDivNatS01(x0, x1, Succ(x2), Succ(x3)) 214.33/145.94 new_quot2(x0, x1, x2) 214.33/145.94 new_primEqInt(Neg(Succ(x0))) 214.33/145.94 new_sr10(Neg(x0), Neg(x1)) 214.33/145.94 new_sr3(x0, app(ty_Ratio, x1)) 214.33/145.94 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 214.33/145.94 new_sr9(x0, x1) 214.33/145.94 new_sr2(x0, x1, ty_Integer) 214.33/145.94 new_sr7(Neg(x0)) 214.33/145.94 new_sr1(x0, ty_Double) 214.33/145.94 new_primQuotInt0(x0, Neg(Succ(x1))) 214.33/145.94 new_rem(Pos(x0), Neg(Zero)) 214.33/145.94 new_rem(Neg(x0), Pos(Zero)) 214.33/145.94 new_gcd0Gcd'00(x0, x1) 214.33/145.94 new_primQuotInt(x0, Neg(Succ(x1))) 214.33/145.94 new_primMinusNatS2(Succ(x0), Succ(x1)) 214.33/145.94 new_ms(x0, Pos(Zero)) 214.33/145.94 new_abs(Pos(Zero)) 214.33/145.94 new_primMinusNat0(Succ(x0), Succ(x1)) 214.33/145.94 new_quot0(x0, x1, x2, x3, ty_Integer) 214.33/145.94 new_sr6(x0) 214.33/145.94 new_gcd2(False, x0, x1) 214.33/145.94 new_gcd1(True, x0, x1) 214.33/145.94 new_esEs2(x0, x1, ty_Integer) 214.33/145.94 new_primMinusNatS1 214.33/145.94 new_sr7(Pos(x0)) 214.33/145.94 new_gcd0Gcd'10(True, x0, x1) 214.33/145.94 new_primModNatS1(Zero, x0) 214.33/145.94 new_sr4(x0, x1, ty_Float) 214.33/145.94 new_sr10(Pos(x0), Neg(x1)) 214.33/145.94 new_sr10(Neg(x0), Pos(x1)) 214.33/145.94 new_primDivNatS01(x0, x1, Succ(x2), Zero) 214.33/145.94 new_primDivNatS1(Succ(Succ(x0)), Succ(x1)) 214.33/145.94 new_primPlusNat0(Succ(x0), Succ(x1)) 214.33/145.94 new_primDivNatS1(Succ(Zero), Succ(x0)) 214.33/145.94 new_primQuotInt(x0, Pos(Succ(x1))) 214.33/145.94 new_sr2(x0, x1, app(ty_Ratio, x2)) 214.33/145.94 new_abs(Neg(Succ(x0))) 214.33/145.94 new_esEs0(x0, ty_Integer) 214.33/145.94 new_sr3(x0, ty_Int) 214.33/145.94 new_esEs(Neg(Succ(x0))) 214.33/145.94 new_sr(x0, app(ty_Ratio, x1)) 214.33/145.94 new_ms0(x0, Neg(Zero)) 214.33/145.94 new_primModNatS01(x0, x1, Zero, Zero) 214.33/145.94 new_sr4(x0, x1, app(ty_Ratio, x2)) 214.33/145.94 new_gcd0(x0, x1) 214.33/145.94 new_primEqInt(Pos(Succ(x0))) 214.33/145.94 new_sr3(x0, ty_Double) 214.33/145.94 new_quot1(x0, x1, x2, x3, ty_Integer) 214.33/145.94 new_primDivNatS1(Succ(Succ(x0)), Zero) 214.33/145.94 new_primMulNat1(Succ(x0)) 214.33/145.94 new_sr14(x0, x1) 214.33/145.94 new_quot0(x0, x1, x2, x3, ty_Int) 214.33/145.94 new_sr2(x0, x1, ty_Int) 214.33/145.94 new_primModNatS1(Succ(Zero), Succ(x0)) 214.33/145.94 new_reduce2Reduce1(x0, x1, x2, x3, False, x4) 214.33/145.94 new_esEs(Neg(Zero)) 214.33/145.94 new_primMulNat1(Zero) 214.33/145.94 214.33/145.94 We have to consider all minimal (P,Q,R)-chains. 214.33/145.94 ---------------------------------------- 214.33/145.94 214.33/145.94 (764) UsableRulesProof (EQUIVALENT) 214.33/145.94 As all Q-normal forms are R-normal forms we are in the innermost case. Hence, by the usable rules processor [LPAR04] we can delete all non-usable rules [FROCOS05] from R. 214.33/145.94 ---------------------------------------- 214.33/145.94 214.33/145.94 (765) 214.33/145.94 Obligation: 214.33/145.94 Q DP problem: 214.33/145.94 The TRS P consists of the following rules: 214.33/145.94 214.33/145.94 new_pr2F0G11(vyv239, vyv240, vyv241, bc) -> new_pr2F1(vyv240, vyv241, Pos(Succ(Zero)), vyv239, bc) 214.33/145.94 new_pr2F1(vyv240, vyv241, vyv244, vyv239, bc) -> new_pr2F30(new_esEs(new_ms0(vyv241, vyv244)), vyv240, vyv241, vyv244, vyv239, bc) 214.33/145.94 new_pr2F30(False, vyv240, vyv241, vyv244, vyv239, bc) -> new_pr2F0(vyv240, new_ms0(vyv241, vyv244), new_sr4(vyv240, vyv239, bc), bc) 214.33/145.94 new_pr2F0(vyv184, Neg(Succ(Succ(vyv223000))), vyv188, h) -> new_pr2F0G10(vyv188, vyv184, Succ(vyv223000), vyv223000, h) 214.33/145.94 new_pr2F0G10(vyv249, vyv250, vyv251, Succ(Succ(vyv25200)), bb) -> new_pr2F0G10(vyv249, vyv250, vyv251, vyv25200, bb) 214.33/145.94 new_pr2F0G10(vyv249, vyv250, vyv251, Succ(Zero), bb) -> new_pr2F0G11(vyv249, vyv250, vyv251, bb) 214.33/145.94 new_pr2F0G10(vyv249, vyv250, vyv251, Zero, bb) -> new_pr2F0G(vyv249, new_sr3(vyv250, bb), Neg(new_primDivNatS1(Succ(vyv251), Succ(Zero))), bb) 214.33/145.94 new_pr2F0G(vyv188, vyv184, Neg(Succ(Zero)), h) -> new_pr2F0G11(vyv188, vyv184, Zero, h) 214.33/145.94 new_pr2F0G(vyv188, vyv184, Neg(Succ(Succ(vyv223000))), h) -> new_pr2F0G10(vyv188, vyv184, Succ(vyv223000), vyv223000, h) 214.33/145.94 new_pr2F0(vyv184, Neg(Succ(Zero)), vyv188, h) -> new_pr2F0G11(vyv188, vyv184, Zero, h) 214.33/145.94 new_pr2F0(vyv184, Pos(Succ(Succ(vyv223000))), vyv188, h) -> new_pr2F0G1(vyv188, vyv184, Succ(vyv223000), vyv223000, h) 214.33/145.94 new_pr2F0G1(vyv227, vyv228, vyv229, Succ(Succ(vyv23000)), ba) -> new_pr2F0G1(vyv227, vyv228, vyv229, vyv23000, ba) 214.33/145.94 new_pr2F0G1(vyv227, vyv228, vyv229, Succ(Zero), ba) -> new_pr2F(vyv228, vyv229, Pos(Succ(Zero)), vyv227, ba) 214.33/145.94 new_pr2F(vyv228, vyv229, vyv245, vyv227, ba) -> new_pr2F3(new_esEs(new_ms(vyv229, vyv245)), vyv228, vyv229, vyv245, vyv227, ba) 214.33/145.94 new_pr2F3(False, vyv228, vyv229, vyv245, vyv227, ba) -> new_pr2F0(vyv228, new_ms(vyv229, vyv245), new_sr2(vyv228, vyv227, ba), ba) 214.33/145.94 new_pr2F0(vyv184, Pos(Succ(Zero)), vyv188, h) -> new_pr2F(vyv184, Zero, Pos(Succ(Zero)), vyv188, h) 214.33/145.94 new_pr2F0G1(vyv227, vyv228, vyv229, Zero, ba) -> new_pr2F0G(vyv227, new_sr1(vyv228, ba), Pos(new_primDivNatS1(Succ(vyv229), Succ(Zero))), ba) 214.33/145.94 new_pr2F0G(vyv188, vyv184, Pos(Succ(Succ(vyv223000))), h) -> new_pr2F0G1(vyv188, vyv184, Succ(vyv223000), vyv223000, h) 214.33/145.94 new_pr2F0G(vyv188, vyv184, Pos(Succ(Zero)), h) -> new_pr2F(vyv184, Zero, Pos(Succ(Zero)), vyv188, h) 214.33/145.94 214.33/145.94 The TRS R consists of the following rules: 214.33/145.94 214.33/145.94 new_sr1(vyv228, ty_Double) -> new_sr11(vyv228) 214.33/145.94 new_sr1(vyv228, ty_Float) -> new_sr12(vyv228) 214.33/145.94 new_sr1(vyv228, app(ty_Ratio, bg)) -> new_sr5(vyv228, bg) 214.33/145.94 new_sr1(vyv228, ty_Integer) -> new_sr6(vyv228) 214.33/145.94 new_sr1(vyv228, ty_Int) -> new_sr7(vyv228) 214.33/145.94 new_primDivNatS1(Succ(Zero), Succ(vyv285000)) -> Zero 214.33/145.94 new_primDivNatS1(Succ(Succ(vyv271000)), Succ(vyv285000)) -> new_primDivNatS01(vyv271000, vyv285000, vyv271000, vyv285000) 214.33/145.94 new_primDivNatS01(vyv311, vyv312, Succ(vyv3130), Zero) -> new_primDivNatS02(vyv311, vyv312) 214.33/145.94 new_primDivNatS01(vyv311, vyv312, Zero, Succ(vyv3140)) -> Zero 214.33/145.94 new_primDivNatS01(vyv311, vyv312, Succ(vyv3130), Succ(vyv3140)) -> new_primDivNatS01(vyv311, vyv312, vyv3130, vyv3140) 214.33/145.94 new_primDivNatS01(vyv311, vyv312, Zero, Zero) -> new_primDivNatS02(vyv311, vyv312) 214.33/145.94 new_primDivNatS02(vyv311, vyv312) -> Succ(new_primDivNatS1(new_primMinusNatS2(vyv311, vyv312), Succ(vyv312))) 214.33/145.94 new_primMinusNatS2(Zero, Succ(vyv3120)) -> Zero 214.33/145.94 new_primMinusNatS2(Succ(vyv3110), Zero) -> Succ(vyv3110) 214.33/145.94 new_primMinusNatS2(Zero, Zero) -> Zero 214.33/145.94 new_primMinusNatS2(Succ(vyv3110), Succ(vyv3120)) -> new_primMinusNatS2(vyv3110, vyv3120) 214.33/145.94 new_primDivNatS1(Zero, vyv28500) -> Zero 214.33/145.94 new_sr7(Pos(vyv1840)) -> Pos(new_primMulNat1(vyv1840)) 214.33/145.94 new_sr7(Neg(vyv1840)) -> Pos(new_primMulNat1(vyv1840)) 214.33/145.94 new_primMulNat1(Succ(vyv18400)) -> new_primPlusNat0(new_primMulNat2(vyv18400), Succ(vyv18400)) 214.33/145.94 new_primMulNat1(Zero) -> Zero 214.33/145.94 new_primMulNat2(Succ(vyv184000)) -> new_primPlusNat0(new_primMulNat3(vyv184000), Succ(Succ(vyv184000))) 214.33/145.94 new_primMulNat2(Zero) -> Zero 214.33/145.94 new_primPlusNat0(Succ(vyv4000), Succ(vyv6000)) -> Succ(Succ(new_primPlusNat0(vyv4000, vyv6000))) 214.33/145.94 new_primPlusNat0(Zero, Succ(vyv6000)) -> Succ(vyv6000) 214.33/145.94 new_primPlusNat0(Zero, Zero) -> Zero 214.33/145.94 new_primPlusNat0(Succ(vyv4000), Zero) -> Succ(vyv4000) 214.33/145.94 new_primMulNat3(Succ(vyv1840000)) -> new_primPlusNat0(new_primMulNat4(vyv1840000), Succ(Succ(Succ(vyv1840000)))) 214.33/145.94 new_primMulNat3(Zero) -> Zero 214.33/145.94 new_primMulNat4(Succ(vyv18400000)) -> new_primPlusNat0(new_primMulNat0(vyv18400000, Succ(Succ(Succ(Succ(vyv18400000))))), Succ(Succ(Succ(Succ(vyv18400000))))) 214.33/145.94 new_primMulNat4(Zero) -> Zero 214.33/145.94 new_primMulNat0(Zero, Succ(vyv23900)) -> Zero 214.33/145.94 new_primMulNat0(Succ(vyv24000), Succ(vyv23900)) -> new_primPlusNat0(new_primMulNat0(vyv24000, Succ(vyv23900)), Succ(vyv23900)) 214.33/145.94 new_sr6(vyv184) -> error([]) 214.33/145.94 new_sr5(:%(vyv1840, vyv1841), bd) -> new_reduce2Reduce1(vyv1840, vyv1840, vyv1841, vyv1841, new_esEs0(vyv1841, bd), bd) 214.33/145.94 new_esEs0(vyv1841, ty_Int) -> new_esEs(new_sr7(vyv1841)) 214.33/145.94 new_esEs0(vyv1841, ty_Integer) -> new_esEs1(new_sr6(vyv1841)) 214.33/145.94 new_reduce2Reduce1(vyv265, vyv266, vyv267, vyv268, False, bh) -> :%(new_quot0(vyv265, vyv266, vyv267, vyv268, bh), new_quot1(vyv267, vyv268, vyv265, vyv266, bh)) 214.33/145.94 new_reduce2Reduce1(vyv265, vyv266, vyv267, vyv268, True, bh) -> error([]) 214.33/145.94 new_quot0(vyv265, vyv266, vyv267, vyv268, ty_Integer) -> new_quot2(new_sr9(vyv265, vyv266), new_sr9(vyv265, vyv266), new_sr9(vyv267, vyv268)) 214.33/145.94 new_quot0(vyv265, vyv266, vyv267, vyv268, ty_Int) -> new_quot(new_sr10(vyv265, vyv266), new_sr10(vyv265, vyv266), new_sr10(vyv267, vyv268)) 214.33/145.94 new_quot1(vyv267, vyv268, vyv265, vyv266, ty_Int) -> new_quot(new_sr10(vyv267, vyv268), new_sr10(vyv265, vyv266), new_sr10(vyv267, vyv268)) 214.33/145.94 new_quot1(vyv267, vyv268, vyv265, vyv266, ty_Integer) -> new_quot2(new_sr9(vyv267, vyv268), new_sr9(vyv265, vyv266), new_sr9(vyv267, vyv268)) 214.33/145.94 new_sr9(vyv240, vyv239) -> error([]) 214.33/145.94 new_quot2(vyv274, vyv276, vyv275) -> error([]) 214.33/145.94 new_sr10(Pos(vyv2400), Pos(vyv2390)) -> Pos(new_primMulNat0(vyv2400, vyv2390)) 214.33/145.94 new_sr10(Neg(vyv2400), Neg(vyv2390)) -> Pos(new_primMulNat0(vyv2400, vyv2390)) 214.33/145.94 new_sr10(Pos(vyv2400), Neg(vyv2390)) -> Neg(new_primMulNat0(vyv2400, vyv2390)) 214.33/145.94 new_sr10(Neg(vyv2400), Pos(vyv2390)) -> Neg(new_primMulNat0(vyv2400, vyv2390)) 214.33/145.94 new_quot(Pos(vyv2710), vyv273, vyv272) -> new_primQuotInt(vyv2710, new_gcd(vyv273, vyv272)) 214.33/145.94 new_quot(Neg(vyv2710), vyv273, vyv272) -> new_primQuotInt0(vyv2710, new_gcd(vyv273, vyv272)) 214.33/145.94 new_gcd(vyv273, vyv272) -> new_gcd2(new_esEs(vyv273), vyv273, vyv272) 214.33/145.94 new_primQuotInt0(vyv2710, Pos(Succ(vyv28800))) -> Neg(new_primDivNatS1(vyv2710, vyv28800)) 214.33/145.94 new_primQuotInt0(vyv2710, Neg(Zero)) -> new_error 214.33/145.94 new_primQuotInt0(vyv2710, Neg(Succ(vyv28800))) -> Pos(new_primDivNatS1(vyv2710, vyv28800)) 214.33/145.94 new_primQuotInt0(vyv2710, Pos(Zero)) -> new_error 214.33/145.94 new_error -> error([]) 214.33/145.94 new_primDivNatS1(Succ(Succ(vyv271000)), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS0(vyv271000), Zero)) 214.33/145.94 new_primDivNatS1(Succ(Zero), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS1, Zero)) 214.33/145.94 new_primMinusNatS1 -> Zero 214.33/145.94 new_primMinusNatS0(vyv271000) -> Succ(vyv271000) 214.33/145.94 new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) 214.33/145.94 new_esEs(Pos(Succ(vyv24300))) -> new_primEqInt(Pos(Succ(vyv24300))) 214.33/145.94 new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) 214.33/145.94 new_esEs(Neg(Succ(vyv24300))) -> new_primEqInt(Neg(Succ(vyv24300))) 214.33/145.94 new_gcd2(True, vyv273, vyv272) -> new_gcd1(new_esEs(vyv272), vyv273, vyv272) 214.33/145.94 new_gcd2(False, vyv273, vyv272) -> new_gcd0(vyv273, vyv272) 214.33/145.94 new_gcd0(vyv273, vyv272) -> new_gcd0Gcd'11(new_esEs(new_abs(vyv272)), vyv273, vyv272) 214.33/145.94 new_abs(Neg(Zero)) -> Neg(Zero) 214.33/145.94 new_abs(Neg(Succ(vyv27200))) -> Pos(Succ(vyv27200)) 214.33/145.94 new_abs(Pos(Succ(vyv27200))) -> Pos(Succ(vyv27200)) 214.33/145.94 new_abs(Pos(Zero)) -> Pos(Zero) 214.33/145.94 new_gcd0Gcd'11(True, vyv273, vyv272) -> new_abs(vyv273) 214.33/145.94 new_gcd0Gcd'11(False, vyv273, vyv272) -> new_gcd0Gcd'00(new_abs(vyv273), new_abs(vyv272)) 214.33/145.94 new_gcd0Gcd'00(vyv293, vyv292) -> new_gcd0Gcd'10(new_esEs(new_rem(vyv293, vyv292)), vyv292, vyv293) 214.33/145.94 new_gcd0Gcd'10(False, vyv292, vyv293) -> new_gcd0Gcd'00(vyv292, new_rem(vyv293, vyv292)) 214.33/145.94 new_rem(Pos(vyv2930), Neg(Zero)) -> new_error 214.33/145.94 new_rem(Neg(vyv2930), Pos(Zero)) -> new_error 214.33/145.94 new_rem(Pos(vyv2930), Neg(Succ(vyv29200))) -> Pos(new_primModNatS1(vyv2930, vyv29200)) 214.33/145.94 new_rem(Neg(vyv2930), Pos(Succ(vyv29200))) -> Neg(new_primModNatS1(vyv2930, vyv29200)) 214.33/145.94 new_rem(Pos(vyv2930), Pos(Succ(vyv29200))) -> Pos(new_primModNatS1(vyv2930, vyv29200)) 214.33/145.94 new_rem(Neg(vyv2930), Neg(Zero)) -> new_error 214.33/145.94 new_rem(Neg(vyv2930), Neg(Succ(vyv29200))) -> Neg(new_primModNatS1(vyv2930, vyv29200)) 214.33/145.94 new_rem(Pos(vyv2930), Pos(Zero)) -> new_error 214.33/145.94 new_gcd0Gcd'10(True, vyv292, vyv293) -> vyv292 214.33/145.94 new_primModNatS1(Succ(Zero), Succ(vyv292000)) -> Succ(Zero) 214.33/145.94 new_primModNatS1(Zero, vyv29200) -> Zero 214.33/145.94 new_primModNatS1(Succ(Succ(vyv293000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv293000), Zero) 214.33/145.94 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 214.33/145.94 new_primModNatS1(Succ(Succ(vyv293000)), Succ(vyv292000)) -> new_primModNatS01(vyv293000, vyv292000, vyv293000, vyv292000) 214.33/145.94 new_primModNatS01(vyv331, vyv332, Zero, Zero) -> new_primModNatS02(vyv331, vyv332) 214.33/145.94 new_primModNatS02(vyv331, vyv332) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv331), Succ(vyv332)), Succ(vyv332)) 214.33/145.94 new_primModNatS01(vyv331, vyv332, Succ(vyv3330), Zero) -> new_primModNatS02(vyv331, vyv332) 214.33/145.94 new_primModNatS01(vyv331, vyv332, Succ(vyv3330), Succ(vyv3340)) -> new_primModNatS01(vyv331, vyv332, vyv3330, vyv3340) 214.33/145.94 new_primModNatS01(vyv331, vyv332, Zero, Succ(vyv3340)) -> Succ(Succ(vyv331)) 214.33/145.94 new_gcd1(True, vyv273, vyv272) -> new_error 214.33/145.94 new_gcd1(False, vyv273, vyv272) -> new_gcd0(vyv273, vyv272) 214.33/145.94 new_primEqInt(Neg(Succ(vyv242000))) -> False 214.33/145.94 new_primEqInt(Pos(Zero)) -> True 214.33/145.94 new_primEqInt(Pos(Succ(vyv242000))) -> False 214.33/145.94 new_primEqInt(Neg(Zero)) -> True 214.33/145.94 new_primQuotInt(vyv2710, Pos(Succ(vyv28500))) -> Pos(new_primDivNatS1(vyv2710, vyv28500)) 214.33/145.94 new_primQuotInt(vyv2710, Neg(Zero)) -> new_error 214.33/145.94 new_primQuotInt(vyv2710, Pos(Zero)) -> new_error 214.33/145.94 new_primQuotInt(vyv2710, Neg(Succ(vyv28500))) -> Neg(new_primDivNatS1(vyv2710, vyv28500)) 214.33/145.94 new_primMulNat0(Succ(vyv24000), Zero) -> Zero 214.33/145.94 new_primMulNat0(Zero, Zero) -> Zero 214.33/145.94 new_esEs1(Integer(vyv2700)) -> new_primEqInt(vyv2700) 214.33/145.94 new_sr12(vyv184) -> error([]) 214.33/145.94 new_sr11(vyv184) -> error([]) 214.33/145.94 new_ms(vyv229, Neg(vyv2450)) -> Pos(new_primPlusNat0(Succ(vyv229), vyv2450)) 214.33/145.94 new_ms(vyv229, Pos(Succ(vyv24500))) -> new_primMinusNat0(vyv229, vyv24500) 214.33/145.94 new_ms(vyv229, Pos(Zero)) -> Pos(Succ(vyv229)) 214.33/145.94 new_sr2(vyv228, vyv227, ty_Integer) -> new_sr9(vyv228, vyv227) 214.33/145.94 new_sr2(vyv228, vyv227, ty_Int) -> new_sr10(vyv228, vyv227) 214.33/145.94 new_sr2(vyv228, vyv227, app(ty_Ratio, bg)) -> new_sr8(vyv228, vyv227, bg) 214.33/145.94 new_sr2(vyv228, vyv227, ty_Double) -> new_sr13(vyv228, vyv227) 214.33/145.94 new_sr2(vyv228, vyv227, ty_Float) -> new_sr14(vyv228, vyv227) 214.33/145.94 new_sr14(vyv240, vyv239) -> error([]) 214.33/145.94 new_sr13(vyv240, vyv239) -> error([]) 214.33/145.94 new_sr8(:%(vyv2400, vyv2401), :%(vyv2390, vyv2391), be) -> new_reduce2Reduce1(vyv2400, vyv2390, vyv2401, vyv2391, new_esEs2(vyv2401, vyv2391, be), be) 214.33/145.94 new_esEs2(vyv2401, vyv2391, ty_Integer) -> new_esEs1(new_sr9(vyv2401, vyv2391)) 214.33/145.94 new_esEs2(vyv2401, vyv2391, ty_Int) -> new_esEs(new_sr10(vyv2401, vyv2391)) 214.33/145.94 new_primMinusNat0(Succ(vyv2290), Succ(vyv245000)) -> new_primMinusNat0(vyv2290, vyv245000) 214.33/145.94 new_primMinusNat0(Zero, Zero) -> Pos(Zero) 214.33/145.94 new_primMinusNat0(Zero, Succ(vyv245000)) -> Neg(Succ(vyv245000)) 214.33/145.94 new_primMinusNat0(Succ(vyv2290), Zero) -> Pos(Succ(vyv2290)) 214.33/145.94 new_sr3(vyv250, ty_Double) -> new_sr11(vyv250) 214.33/145.94 new_sr3(vyv250, ty_Int) -> new_sr7(vyv250) 214.33/145.94 new_sr3(vyv250, ty_Float) -> new_sr12(vyv250) 214.33/145.94 new_sr3(vyv250, ty_Integer) -> new_sr6(vyv250) 214.33/145.94 new_sr3(vyv250, app(ty_Ratio, bf)) -> new_sr5(vyv250, bf) 214.33/145.94 new_ms0(vyv241, Neg(Zero)) -> Neg(Succ(vyv241)) 214.33/145.94 new_ms0(vyv241, Pos(vyv2440)) -> Neg(new_primPlusNat0(Succ(vyv241), vyv2440)) 214.33/145.94 new_ms0(vyv241, Neg(Succ(vyv24400))) -> new_primMinusNat0(vyv24400, vyv241) 214.33/145.94 new_sr4(vyv240, vyv239, app(ty_Ratio, be)) -> new_sr8(vyv240, vyv239, be) 214.33/145.94 new_sr4(vyv240, vyv239, ty_Float) -> new_sr14(vyv240, vyv239) 214.33/145.94 new_sr4(vyv240, vyv239, ty_Int) -> new_sr10(vyv240, vyv239) 214.33/145.94 new_sr4(vyv240, vyv239, ty_Double) -> new_sr13(vyv240, vyv239) 214.33/145.94 new_sr4(vyv240, vyv239, ty_Integer) -> new_sr9(vyv240, vyv239) 214.33/145.94 214.33/145.94 The set Q consists of the following terms: 214.33/145.94 214.33/145.94 new_sr13(x0, x1) 214.33/145.94 new_primDivNatS01(x0, x1, Zero, Zero) 214.33/145.94 new_gcd0Gcd'11(False, x0, x1) 214.33/145.94 new_primMulNat4(Zero) 214.33/145.94 new_gcd0Gcd'11(True, x0, x1) 214.33/145.94 new_sr2(x0, x1, ty_Float) 214.33/145.94 new_sr5(:%(x0, x1), x2) 214.33/145.94 new_primEqInt(Pos(Zero)) 214.33/145.94 new_ms(x0, Neg(x1)) 214.33/145.94 new_sr2(x0, x1, ty_Double) 214.33/145.94 new_esEs(Pos(Succ(x0))) 214.33/145.94 new_primQuotInt0(x0, Neg(Zero)) 214.33/145.94 new_primMulNat3(Zero) 214.33/145.94 new_primModNatS02(x0, x1) 214.33/145.94 new_sr(x0, ty_Double) 214.33/145.94 new_primDivNatS1(Succ(Zero), Zero) 214.33/145.94 new_primMinusNatS0(x0) 214.33/145.94 new_sr11(x0) 214.33/145.94 new_rem(Pos(x0), Neg(Succ(x1))) 214.33/145.94 new_rem(Neg(x0), Pos(Succ(x1))) 214.33/145.94 new_primMulNat0(Zero, Zero) 214.33/145.94 new_primPlusNat0(Succ(x0), Zero) 214.33/145.94 new_primMulNat0(Succ(x0), Zero) 214.33/145.94 new_sr3(x0, ty_Float) 214.33/145.94 new_primMulNat2(Zero) 214.33/145.94 new_primQuotInt(x0, Pos(Zero)) 214.33/145.94 new_primMulNat2(Succ(x0)) 214.33/145.94 new_primQuotInt(x0, Neg(Zero)) 214.33/145.94 new_rem(Neg(x0), Neg(Succ(x1))) 214.33/145.94 new_primMinusNatS2(Zero, Succ(x0)) 214.33/145.94 new_sr(x0, ty_Int) 214.33/145.94 new_sr4(x0, x1, ty_Double) 214.33/145.94 new_primMulNat3(Succ(x0)) 214.33/145.94 new_esEs1(Integer(x0)) 214.33/145.94 new_primQuotInt0(x0, Pos(Zero)) 214.33/145.94 new_gcd2(True, x0, x1) 214.33/145.94 new_quot1(x0, x1, x2, x3, ty_Int) 214.33/145.94 new_primDivNatS1(Zero, x0) 214.33/145.94 new_primMinusNat0(Zero, Zero) 214.33/145.94 new_gcd(x0, x1) 214.33/145.94 new_gcd1(False, x0, x1) 214.33/145.94 new_esEs2(x0, x1, ty_Int) 214.33/145.94 new_sr3(x0, ty_Integer) 214.33/145.94 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 214.33/145.94 new_sr1(x0, app(ty_Ratio, x1)) 214.33/145.94 new_sr1(x0, ty_Float) 214.33/145.94 new_primPlusNat0(Zero, Succ(x0)) 214.33/145.94 new_sr8(:%(x0, x1), :%(x2, x3), x4) 214.33/145.94 new_abs(Neg(Zero)) 214.33/145.94 new_primMinusNatS2(Succ(x0), Zero) 214.33/145.94 new_error 214.33/145.94 new_primModNatS1(Succ(Zero), Zero) 214.33/145.94 new_primMulNat4(Succ(x0)) 214.33/145.94 new_sr1(x0, ty_Integer) 214.33/145.94 new_primDivNatS02(x0, x1) 214.33/145.94 new_sr1(x0, ty_Int) 214.33/145.94 new_rem(Neg(x0), Neg(Zero)) 214.33/145.94 new_primMinusNat0(Zero, Succ(x0)) 214.33/145.94 new_primEqInt(Neg(Zero)) 214.33/145.94 new_rem(Pos(x0), Pos(Succ(x1))) 214.33/145.94 new_abs(Pos(Succ(x0))) 214.33/145.94 new_primMulNat0(Succ(x0), Succ(x1)) 214.33/145.94 new_primMulNat0(Zero, Succ(x0)) 214.33/145.94 new_reduce2Reduce1(x0, x1, x2, x3, True, x4) 214.33/145.94 new_sr(x0, ty_Float) 214.33/145.94 new_gcd0Gcd'10(False, x0, x1) 214.33/145.94 new_sr12(x0) 214.33/145.94 new_primDivNatS01(x0, x1, Zero, Succ(x2)) 214.33/145.94 new_sr10(Pos(x0), Pos(x1)) 214.33/145.94 new_primModNatS01(x0, x1, Zero, Succ(x2)) 214.33/145.94 new_primPlusNat0(Zero, Zero) 214.33/145.94 new_sr(x0, ty_Integer) 214.33/145.94 new_primQuotInt0(x0, Pos(Succ(x1))) 214.33/145.94 new_primModNatS01(x0, x1, Succ(x2), Zero) 214.33/145.94 new_ms(x0, Pos(Succ(x1))) 214.33/145.94 new_primModNatS1(Succ(Succ(x0)), Zero) 214.33/145.94 new_sr4(x0, x1, ty_Integer) 214.33/145.94 new_rem(Pos(x0), Pos(Zero)) 214.33/145.94 new_sr4(x0, x1, ty_Int) 214.33/145.94 new_ms0(x0, Neg(Succ(x1))) 214.33/145.94 new_quot(Pos(x0), x1, x2) 214.33/145.94 new_primMinusNatS2(Zero, Zero) 214.33/145.94 new_esEs0(x0, ty_Int) 214.33/145.94 new_primMinusNat0(Succ(x0), Zero) 214.33/145.94 new_ms0(x0, Pos(x1)) 214.33/145.94 new_esEs(Pos(Zero)) 214.33/145.94 new_quot(Neg(x0), x1, x2) 214.33/145.94 new_primDivNatS01(x0, x1, Succ(x2), Succ(x3)) 214.33/145.94 new_quot2(x0, x1, x2) 214.33/145.94 new_primEqInt(Neg(Succ(x0))) 214.33/145.94 new_sr10(Neg(x0), Neg(x1)) 214.33/145.94 new_sr3(x0, app(ty_Ratio, x1)) 214.33/145.94 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 214.33/145.94 new_sr9(x0, x1) 214.33/145.94 new_sr2(x0, x1, ty_Integer) 214.33/145.94 new_sr7(Neg(x0)) 214.33/145.94 new_sr1(x0, ty_Double) 214.33/145.94 new_primQuotInt0(x0, Neg(Succ(x1))) 214.33/145.94 new_rem(Pos(x0), Neg(Zero)) 214.33/145.94 new_rem(Neg(x0), Pos(Zero)) 214.33/145.94 new_gcd0Gcd'00(x0, x1) 214.33/145.94 new_primQuotInt(x0, Neg(Succ(x1))) 214.33/145.94 new_primMinusNatS2(Succ(x0), Succ(x1)) 214.33/145.94 new_ms(x0, Pos(Zero)) 214.33/145.94 new_abs(Pos(Zero)) 214.33/145.94 new_primMinusNat0(Succ(x0), Succ(x1)) 214.33/145.94 new_quot0(x0, x1, x2, x3, ty_Integer) 214.33/145.94 new_sr6(x0) 214.33/145.94 new_gcd2(False, x0, x1) 214.33/145.94 new_gcd1(True, x0, x1) 214.33/145.94 new_esEs2(x0, x1, ty_Integer) 214.33/145.94 new_primMinusNatS1 214.33/145.94 new_sr7(Pos(x0)) 214.33/145.94 new_gcd0Gcd'10(True, x0, x1) 214.33/145.94 new_primModNatS1(Zero, x0) 214.33/145.94 new_sr4(x0, x1, ty_Float) 214.33/145.94 new_sr10(Pos(x0), Neg(x1)) 214.33/145.94 new_sr10(Neg(x0), Pos(x1)) 214.33/145.94 new_primDivNatS01(x0, x1, Succ(x2), Zero) 214.33/145.94 new_primDivNatS1(Succ(Succ(x0)), Succ(x1)) 214.33/145.94 new_primPlusNat0(Succ(x0), Succ(x1)) 214.33/145.94 new_primDivNatS1(Succ(Zero), Succ(x0)) 214.33/145.94 new_primQuotInt(x0, Pos(Succ(x1))) 214.33/145.94 new_sr2(x0, x1, app(ty_Ratio, x2)) 214.33/145.94 new_abs(Neg(Succ(x0))) 214.33/145.94 new_esEs0(x0, ty_Integer) 214.33/145.94 new_sr3(x0, ty_Int) 214.33/145.94 new_esEs(Neg(Succ(x0))) 214.33/145.94 new_sr(x0, app(ty_Ratio, x1)) 214.33/145.94 new_ms0(x0, Neg(Zero)) 214.33/145.94 new_primModNatS01(x0, x1, Zero, Zero) 214.33/145.94 new_sr4(x0, x1, app(ty_Ratio, x2)) 214.33/145.94 new_gcd0(x0, x1) 214.33/145.94 new_primEqInt(Pos(Succ(x0))) 214.33/145.94 new_sr3(x0, ty_Double) 214.33/145.94 new_quot1(x0, x1, x2, x3, ty_Integer) 214.33/145.94 new_primDivNatS1(Succ(Succ(x0)), Zero) 214.33/145.94 new_primMulNat1(Succ(x0)) 214.33/145.94 new_sr14(x0, x1) 214.33/145.94 new_quot0(x0, x1, x2, x3, ty_Int) 214.33/145.94 new_sr2(x0, x1, ty_Int) 214.33/145.94 new_primModNatS1(Succ(Zero), Succ(x0)) 214.33/145.94 new_reduce2Reduce1(x0, x1, x2, x3, False, x4) 214.33/145.94 new_esEs(Neg(Zero)) 214.33/145.94 new_primMulNat1(Zero) 214.33/145.94 214.33/145.94 We have to consider all minimal (P,Q,R)-chains. 214.33/145.94 ---------------------------------------- 214.33/145.94 214.33/145.94 (766) QReductionProof (EQUIVALENT) 214.33/145.94 We deleted the following terms from Q as each root-symbol of these terms does neither occur in P nor in R.[THIEMANN]. 214.33/145.94 214.33/145.94 new_sr(x0, ty_Double) 214.33/145.94 new_sr(x0, ty_Int) 214.33/145.94 new_sr(x0, ty_Float) 214.33/145.94 new_sr(x0, ty_Integer) 214.33/145.94 new_sr(x0, app(ty_Ratio, x1)) 214.33/145.94 214.33/145.94 214.33/145.94 ---------------------------------------- 214.33/145.94 214.33/145.94 (767) 214.33/145.94 Obligation: 214.33/145.94 Q DP problem: 214.33/145.94 The TRS P consists of the following rules: 214.33/145.94 214.33/145.94 new_pr2F0G11(vyv239, vyv240, vyv241, bc) -> new_pr2F1(vyv240, vyv241, Pos(Succ(Zero)), vyv239, bc) 214.33/145.94 new_pr2F1(vyv240, vyv241, vyv244, vyv239, bc) -> new_pr2F30(new_esEs(new_ms0(vyv241, vyv244)), vyv240, vyv241, vyv244, vyv239, bc) 214.33/145.94 new_pr2F30(False, vyv240, vyv241, vyv244, vyv239, bc) -> new_pr2F0(vyv240, new_ms0(vyv241, vyv244), new_sr4(vyv240, vyv239, bc), bc) 214.33/145.94 new_pr2F0(vyv184, Neg(Succ(Succ(vyv223000))), vyv188, h) -> new_pr2F0G10(vyv188, vyv184, Succ(vyv223000), vyv223000, h) 214.33/145.94 new_pr2F0G10(vyv249, vyv250, vyv251, Succ(Succ(vyv25200)), bb) -> new_pr2F0G10(vyv249, vyv250, vyv251, vyv25200, bb) 214.33/145.94 new_pr2F0G10(vyv249, vyv250, vyv251, Succ(Zero), bb) -> new_pr2F0G11(vyv249, vyv250, vyv251, bb) 214.33/145.94 new_pr2F0G10(vyv249, vyv250, vyv251, Zero, bb) -> new_pr2F0G(vyv249, new_sr3(vyv250, bb), Neg(new_primDivNatS1(Succ(vyv251), Succ(Zero))), bb) 214.33/145.94 new_pr2F0G(vyv188, vyv184, Neg(Succ(Zero)), h) -> new_pr2F0G11(vyv188, vyv184, Zero, h) 214.33/145.94 new_pr2F0G(vyv188, vyv184, Neg(Succ(Succ(vyv223000))), h) -> new_pr2F0G10(vyv188, vyv184, Succ(vyv223000), vyv223000, h) 214.33/145.94 new_pr2F0(vyv184, Neg(Succ(Zero)), vyv188, h) -> new_pr2F0G11(vyv188, vyv184, Zero, h) 214.33/145.94 new_pr2F0(vyv184, Pos(Succ(Succ(vyv223000))), vyv188, h) -> new_pr2F0G1(vyv188, vyv184, Succ(vyv223000), vyv223000, h) 214.33/145.94 new_pr2F0G1(vyv227, vyv228, vyv229, Succ(Succ(vyv23000)), ba) -> new_pr2F0G1(vyv227, vyv228, vyv229, vyv23000, ba) 214.33/145.94 new_pr2F0G1(vyv227, vyv228, vyv229, Succ(Zero), ba) -> new_pr2F(vyv228, vyv229, Pos(Succ(Zero)), vyv227, ba) 214.33/145.94 new_pr2F(vyv228, vyv229, vyv245, vyv227, ba) -> new_pr2F3(new_esEs(new_ms(vyv229, vyv245)), vyv228, vyv229, vyv245, vyv227, ba) 214.33/145.94 new_pr2F3(False, vyv228, vyv229, vyv245, vyv227, ba) -> new_pr2F0(vyv228, new_ms(vyv229, vyv245), new_sr2(vyv228, vyv227, ba), ba) 214.33/145.94 new_pr2F0(vyv184, Pos(Succ(Zero)), vyv188, h) -> new_pr2F(vyv184, Zero, Pos(Succ(Zero)), vyv188, h) 214.33/145.94 new_pr2F0G1(vyv227, vyv228, vyv229, Zero, ba) -> new_pr2F0G(vyv227, new_sr1(vyv228, ba), Pos(new_primDivNatS1(Succ(vyv229), Succ(Zero))), ba) 214.33/145.94 new_pr2F0G(vyv188, vyv184, Pos(Succ(Succ(vyv223000))), h) -> new_pr2F0G1(vyv188, vyv184, Succ(vyv223000), vyv223000, h) 214.33/145.94 new_pr2F0G(vyv188, vyv184, Pos(Succ(Zero)), h) -> new_pr2F(vyv184, Zero, Pos(Succ(Zero)), vyv188, h) 214.33/145.94 214.33/145.94 The TRS R consists of the following rules: 214.33/145.94 214.33/145.94 new_sr1(vyv228, ty_Double) -> new_sr11(vyv228) 214.33/145.94 new_sr1(vyv228, ty_Float) -> new_sr12(vyv228) 214.33/145.94 new_sr1(vyv228, app(ty_Ratio, bg)) -> new_sr5(vyv228, bg) 214.33/145.94 new_sr1(vyv228, ty_Integer) -> new_sr6(vyv228) 214.33/145.94 new_sr1(vyv228, ty_Int) -> new_sr7(vyv228) 214.33/145.94 new_primDivNatS1(Succ(Zero), Succ(vyv285000)) -> Zero 214.33/145.94 new_primDivNatS1(Succ(Succ(vyv271000)), Succ(vyv285000)) -> new_primDivNatS01(vyv271000, vyv285000, vyv271000, vyv285000) 214.33/145.94 new_primDivNatS01(vyv311, vyv312, Succ(vyv3130), Zero) -> new_primDivNatS02(vyv311, vyv312) 214.33/145.94 new_primDivNatS01(vyv311, vyv312, Zero, Succ(vyv3140)) -> Zero 214.33/145.94 new_primDivNatS01(vyv311, vyv312, Succ(vyv3130), Succ(vyv3140)) -> new_primDivNatS01(vyv311, vyv312, vyv3130, vyv3140) 214.33/145.94 new_primDivNatS01(vyv311, vyv312, Zero, Zero) -> new_primDivNatS02(vyv311, vyv312) 214.33/145.94 new_primDivNatS02(vyv311, vyv312) -> Succ(new_primDivNatS1(new_primMinusNatS2(vyv311, vyv312), Succ(vyv312))) 214.33/145.94 new_primMinusNatS2(Zero, Succ(vyv3120)) -> Zero 214.33/145.94 new_primMinusNatS2(Succ(vyv3110), Zero) -> Succ(vyv3110) 214.33/145.94 new_primMinusNatS2(Zero, Zero) -> Zero 214.33/145.94 new_primMinusNatS2(Succ(vyv3110), Succ(vyv3120)) -> new_primMinusNatS2(vyv3110, vyv3120) 214.33/145.94 new_primDivNatS1(Zero, vyv28500) -> Zero 214.33/145.94 new_sr7(Pos(vyv1840)) -> Pos(new_primMulNat1(vyv1840)) 214.33/145.94 new_sr7(Neg(vyv1840)) -> Pos(new_primMulNat1(vyv1840)) 214.33/145.94 new_primMulNat1(Succ(vyv18400)) -> new_primPlusNat0(new_primMulNat2(vyv18400), Succ(vyv18400)) 214.33/145.94 new_primMulNat1(Zero) -> Zero 214.33/145.94 new_primMulNat2(Succ(vyv184000)) -> new_primPlusNat0(new_primMulNat3(vyv184000), Succ(Succ(vyv184000))) 214.33/145.94 new_primMulNat2(Zero) -> Zero 214.33/145.94 new_primPlusNat0(Succ(vyv4000), Succ(vyv6000)) -> Succ(Succ(new_primPlusNat0(vyv4000, vyv6000))) 214.33/145.94 new_primPlusNat0(Zero, Succ(vyv6000)) -> Succ(vyv6000) 214.33/145.94 new_primPlusNat0(Zero, Zero) -> Zero 214.33/145.94 new_primPlusNat0(Succ(vyv4000), Zero) -> Succ(vyv4000) 214.33/145.94 new_primMulNat3(Succ(vyv1840000)) -> new_primPlusNat0(new_primMulNat4(vyv1840000), Succ(Succ(Succ(vyv1840000)))) 214.33/145.94 new_primMulNat3(Zero) -> Zero 214.33/145.94 new_primMulNat4(Succ(vyv18400000)) -> new_primPlusNat0(new_primMulNat0(vyv18400000, Succ(Succ(Succ(Succ(vyv18400000))))), Succ(Succ(Succ(Succ(vyv18400000))))) 214.33/145.94 new_primMulNat4(Zero) -> Zero 214.33/145.94 new_primMulNat0(Zero, Succ(vyv23900)) -> Zero 214.33/145.94 new_primMulNat0(Succ(vyv24000), Succ(vyv23900)) -> new_primPlusNat0(new_primMulNat0(vyv24000, Succ(vyv23900)), Succ(vyv23900)) 214.33/145.94 new_sr6(vyv184) -> error([]) 214.33/145.94 new_sr5(:%(vyv1840, vyv1841), bd) -> new_reduce2Reduce1(vyv1840, vyv1840, vyv1841, vyv1841, new_esEs0(vyv1841, bd), bd) 214.33/145.94 new_esEs0(vyv1841, ty_Int) -> new_esEs(new_sr7(vyv1841)) 214.33/145.94 new_esEs0(vyv1841, ty_Integer) -> new_esEs1(new_sr6(vyv1841)) 214.33/145.94 new_reduce2Reduce1(vyv265, vyv266, vyv267, vyv268, False, bh) -> :%(new_quot0(vyv265, vyv266, vyv267, vyv268, bh), new_quot1(vyv267, vyv268, vyv265, vyv266, bh)) 214.33/145.94 new_reduce2Reduce1(vyv265, vyv266, vyv267, vyv268, True, bh) -> error([]) 214.33/145.94 new_quot0(vyv265, vyv266, vyv267, vyv268, ty_Integer) -> new_quot2(new_sr9(vyv265, vyv266), new_sr9(vyv265, vyv266), new_sr9(vyv267, vyv268)) 214.33/145.94 new_quot0(vyv265, vyv266, vyv267, vyv268, ty_Int) -> new_quot(new_sr10(vyv265, vyv266), new_sr10(vyv265, vyv266), new_sr10(vyv267, vyv268)) 214.33/145.94 new_quot1(vyv267, vyv268, vyv265, vyv266, ty_Int) -> new_quot(new_sr10(vyv267, vyv268), new_sr10(vyv265, vyv266), new_sr10(vyv267, vyv268)) 214.33/145.94 new_quot1(vyv267, vyv268, vyv265, vyv266, ty_Integer) -> new_quot2(new_sr9(vyv267, vyv268), new_sr9(vyv265, vyv266), new_sr9(vyv267, vyv268)) 214.33/145.94 new_sr9(vyv240, vyv239) -> error([]) 214.33/145.94 new_quot2(vyv274, vyv276, vyv275) -> error([]) 214.33/145.94 new_sr10(Pos(vyv2400), Pos(vyv2390)) -> Pos(new_primMulNat0(vyv2400, vyv2390)) 214.33/145.94 new_sr10(Neg(vyv2400), Neg(vyv2390)) -> Pos(new_primMulNat0(vyv2400, vyv2390)) 214.33/145.94 new_sr10(Pos(vyv2400), Neg(vyv2390)) -> Neg(new_primMulNat0(vyv2400, vyv2390)) 214.33/145.94 new_sr10(Neg(vyv2400), Pos(vyv2390)) -> Neg(new_primMulNat0(vyv2400, vyv2390)) 214.33/145.94 new_quot(Pos(vyv2710), vyv273, vyv272) -> new_primQuotInt(vyv2710, new_gcd(vyv273, vyv272)) 214.33/145.94 new_quot(Neg(vyv2710), vyv273, vyv272) -> new_primQuotInt0(vyv2710, new_gcd(vyv273, vyv272)) 214.33/145.94 new_gcd(vyv273, vyv272) -> new_gcd2(new_esEs(vyv273), vyv273, vyv272) 214.33/145.94 new_primQuotInt0(vyv2710, Pos(Succ(vyv28800))) -> Neg(new_primDivNatS1(vyv2710, vyv28800)) 214.33/145.94 new_primQuotInt0(vyv2710, Neg(Zero)) -> new_error 214.33/145.94 new_primQuotInt0(vyv2710, Neg(Succ(vyv28800))) -> Pos(new_primDivNatS1(vyv2710, vyv28800)) 214.33/145.94 new_primQuotInt0(vyv2710, Pos(Zero)) -> new_error 214.33/145.94 new_error -> error([]) 214.33/145.94 new_primDivNatS1(Succ(Succ(vyv271000)), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS0(vyv271000), Zero)) 214.33/145.94 new_primDivNatS1(Succ(Zero), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS1, Zero)) 214.33/145.95 new_primMinusNatS1 -> Zero 214.33/145.95 new_primMinusNatS0(vyv271000) -> Succ(vyv271000) 214.33/145.95 new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) 214.33/145.95 new_esEs(Pos(Succ(vyv24300))) -> new_primEqInt(Pos(Succ(vyv24300))) 214.33/145.95 new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) 214.33/145.95 new_esEs(Neg(Succ(vyv24300))) -> new_primEqInt(Neg(Succ(vyv24300))) 214.33/145.95 new_gcd2(True, vyv273, vyv272) -> new_gcd1(new_esEs(vyv272), vyv273, vyv272) 214.33/145.95 new_gcd2(False, vyv273, vyv272) -> new_gcd0(vyv273, vyv272) 214.33/145.95 new_gcd0(vyv273, vyv272) -> new_gcd0Gcd'11(new_esEs(new_abs(vyv272)), vyv273, vyv272) 214.33/145.95 new_abs(Neg(Zero)) -> Neg(Zero) 214.33/145.95 new_abs(Neg(Succ(vyv27200))) -> Pos(Succ(vyv27200)) 214.33/145.95 new_abs(Pos(Succ(vyv27200))) -> Pos(Succ(vyv27200)) 214.33/145.95 new_abs(Pos(Zero)) -> Pos(Zero) 214.33/145.95 new_gcd0Gcd'11(True, vyv273, vyv272) -> new_abs(vyv273) 214.33/145.95 new_gcd0Gcd'11(False, vyv273, vyv272) -> new_gcd0Gcd'00(new_abs(vyv273), new_abs(vyv272)) 214.33/145.95 new_gcd0Gcd'00(vyv293, vyv292) -> new_gcd0Gcd'10(new_esEs(new_rem(vyv293, vyv292)), vyv292, vyv293) 214.33/145.95 new_gcd0Gcd'10(False, vyv292, vyv293) -> new_gcd0Gcd'00(vyv292, new_rem(vyv293, vyv292)) 214.33/145.95 new_rem(Pos(vyv2930), Neg(Zero)) -> new_error 214.33/145.95 new_rem(Neg(vyv2930), Pos(Zero)) -> new_error 214.33/145.95 new_rem(Pos(vyv2930), Neg(Succ(vyv29200))) -> Pos(new_primModNatS1(vyv2930, vyv29200)) 214.33/145.95 new_rem(Neg(vyv2930), Pos(Succ(vyv29200))) -> Neg(new_primModNatS1(vyv2930, vyv29200)) 214.33/145.95 new_rem(Pos(vyv2930), Pos(Succ(vyv29200))) -> Pos(new_primModNatS1(vyv2930, vyv29200)) 214.33/145.95 new_rem(Neg(vyv2930), Neg(Zero)) -> new_error 214.33/145.95 new_rem(Neg(vyv2930), Neg(Succ(vyv29200))) -> Neg(new_primModNatS1(vyv2930, vyv29200)) 214.33/145.95 new_rem(Pos(vyv2930), Pos(Zero)) -> new_error 214.33/145.95 new_gcd0Gcd'10(True, vyv292, vyv293) -> vyv292 214.33/145.95 new_primModNatS1(Succ(Zero), Succ(vyv292000)) -> Succ(Zero) 214.33/145.95 new_primModNatS1(Zero, vyv29200) -> Zero 214.33/145.95 new_primModNatS1(Succ(Succ(vyv293000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv293000), Zero) 214.33/145.95 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 214.33/145.95 new_primModNatS1(Succ(Succ(vyv293000)), Succ(vyv292000)) -> new_primModNatS01(vyv293000, vyv292000, vyv293000, vyv292000) 214.33/145.95 new_primModNatS01(vyv331, vyv332, Zero, Zero) -> new_primModNatS02(vyv331, vyv332) 214.33/145.95 new_primModNatS02(vyv331, vyv332) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv331), Succ(vyv332)), Succ(vyv332)) 214.33/145.95 new_primModNatS01(vyv331, vyv332, Succ(vyv3330), Zero) -> new_primModNatS02(vyv331, vyv332) 214.33/145.95 new_primModNatS01(vyv331, vyv332, Succ(vyv3330), Succ(vyv3340)) -> new_primModNatS01(vyv331, vyv332, vyv3330, vyv3340) 214.33/145.95 new_primModNatS01(vyv331, vyv332, Zero, Succ(vyv3340)) -> Succ(Succ(vyv331)) 214.33/145.95 new_gcd1(True, vyv273, vyv272) -> new_error 214.33/145.95 new_gcd1(False, vyv273, vyv272) -> new_gcd0(vyv273, vyv272) 214.33/145.95 new_primEqInt(Neg(Succ(vyv242000))) -> False 214.33/145.95 new_primEqInt(Pos(Zero)) -> True 214.33/145.95 new_primEqInt(Pos(Succ(vyv242000))) -> False 214.33/145.95 new_primEqInt(Neg(Zero)) -> True 214.33/145.95 new_primQuotInt(vyv2710, Pos(Succ(vyv28500))) -> Pos(new_primDivNatS1(vyv2710, vyv28500)) 214.33/145.95 new_primQuotInt(vyv2710, Neg(Zero)) -> new_error 214.33/145.95 new_primQuotInt(vyv2710, Pos(Zero)) -> new_error 214.33/145.95 new_primQuotInt(vyv2710, Neg(Succ(vyv28500))) -> Neg(new_primDivNatS1(vyv2710, vyv28500)) 214.33/145.95 new_primMulNat0(Succ(vyv24000), Zero) -> Zero 214.33/145.95 new_primMulNat0(Zero, Zero) -> Zero 214.33/145.95 new_esEs1(Integer(vyv2700)) -> new_primEqInt(vyv2700) 214.33/145.95 new_sr12(vyv184) -> error([]) 214.33/145.95 new_sr11(vyv184) -> error([]) 214.33/145.95 new_ms(vyv229, Neg(vyv2450)) -> Pos(new_primPlusNat0(Succ(vyv229), vyv2450)) 214.33/145.95 new_ms(vyv229, Pos(Succ(vyv24500))) -> new_primMinusNat0(vyv229, vyv24500) 214.33/145.95 new_ms(vyv229, Pos(Zero)) -> Pos(Succ(vyv229)) 214.33/145.95 new_sr2(vyv228, vyv227, ty_Integer) -> new_sr9(vyv228, vyv227) 214.33/145.95 new_sr2(vyv228, vyv227, ty_Int) -> new_sr10(vyv228, vyv227) 214.33/145.95 new_sr2(vyv228, vyv227, app(ty_Ratio, bg)) -> new_sr8(vyv228, vyv227, bg) 214.33/145.95 new_sr2(vyv228, vyv227, ty_Double) -> new_sr13(vyv228, vyv227) 214.33/145.95 new_sr2(vyv228, vyv227, ty_Float) -> new_sr14(vyv228, vyv227) 214.33/145.95 new_sr14(vyv240, vyv239) -> error([]) 214.33/145.95 new_sr13(vyv240, vyv239) -> error([]) 214.33/145.95 new_sr8(:%(vyv2400, vyv2401), :%(vyv2390, vyv2391), be) -> new_reduce2Reduce1(vyv2400, vyv2390, vyv2401, vyv2391, new_esEs2(vyv2401, vyv2391, be), be) 214.33/145.95 new_esEs2(vyv2401, vyv2391, ty_Integer) -> new_esEs1(new_sr9(vyv2401, vyv2391)) 214.33/145.95 new_esEs2(vyv2401, vyv2391, ty_Int) -> new_esEs(new_sr10(vyv2401, vyv2391)) 214.33/145.95 new_primMinusNat0(Succ(vyv2290), Succ(vyv245000)) -> new_primMinusNat0(vyv2290, vyv245000) 214.33/145.95 new_primMinusNat0(Zero, Zero) -> Pos(Zero) 214.33/145.95 new_primMinusNat0(Zero, Succ(vyv245000)) -> Neg(Succ(vyv245000)) 214.33/145.95 new_primMinusNat0(Succ(vyv2290), Zero) -> Pos(Succ(vyv2290)) 214.33/145.95 new_sr3(vyv250, ty_Double) -> new_sr11(vyv250) 214.33/145.95 new_sr3(vyv250, ty_Int) -> new_sr7(vyv250) 214.33/145.95 new_sr3(vyv250, ty_Float) -> new_sr12(vyv250) 214.33/145.95 new_sr3(vyv250, ty_Integer) -> new_sr6(vyv250) 214.33/145.95 new_sr3(vyv250, app(ty_Ratio, bf)) -> new_sr5(vyv250, bf) 214.33/145.95 new_ms0(vyv241, Neg(Zero)) -> Neg(Succ(vyv241)) 214.33/145.95 new_ms0(vyv241, Pos(vyv2440)) -> Neg(new_primPlusNat0(Succ(vyv241), vyv2440)) 214.33/145.95 new_ms0(vyv241, Neg(Succ(vyv24400))) -> new_primMinusNat0(vyv24400, vyv241) 214.33/145.95 new_sr4(vyv240, vyv239, app(ty_Ratio, be)) -> new_sr8(vyv240, vyv239, be) 214.33/145.95 new_sr4(vyv240, vyv239, ty_Float) -> new_sr14(vyv240, vyv239) 214.33/145.95 new_sr4(vyv240, vyv239, ty_Int) -> new_sr10(vyv240, vyv239) 214.33/145.95 new_sr4(vyv240, vyv239, ty_Double) -> new_sr13(vyv240, vyv239) 214.33/145.95 new_sr4(vyv240, vyv239, ty_Integer) -> new_sr9(vyv240, vyv239) 214.33/145.95 214.33/145.95 The set Q consists of the following terms: 214.33/145.95 214.33/145.95 new_sr13(x0, x1) 214.33/145.95 new_primDivNatS01(x0, x1, Zero, Zero) 214.33/145.95 new_gcd0Gcd'11(False, x0, x1) 214.33/145.95 new_primMulNat4(Zero) 214.33/145.95 new_gcd0Gcd'11(True, x0, x1) 214.33/145.95 new_sr2(x0, x1, ty_Float) 214.33/145.95 new_sr5(:%(x0, x1), x2) 214.33/145.95 new_primEqInt(Pos(Zero)) 214.33/145.95 new_ms(x0, Neg(x1)) 214.33/145.95 new_sr2(x0, x1, ty_Double) 214.33/145.95 new_esEs(Pos(Succ(x0))) 214.33/145.95 new_primQuotInt0(x0, Neg(Zero)) 214.33/145.95 new_primMulNat3(Zero) 214.33/145.95 new_primModNatS02(x0, x1) 214.33/145.95 new_primDivNatS1(Succ(Zero), Zero) 214.33/145.95 new_primMinusNatS0(x0) 214.33/145.95 new_sr11(x0) 214.33/145.95 new_rem(Pos(x0), Neg(Succ(x1))) 214.33/145.95 new_rem(Neg(x0), Pos(Succ(x1))) 214.33/145.95 new_primMulNat0(Zero, Zero) 214.33/145.95 new_primPlusNat0(Succ(x0), Zero) 214.33/145.95 new_primMulNat0(Succ(x0), Zero) 214.33/145.95 new_sr3(x0, ty_Float) 214.33/145.95 new_primMulNat2(Zero) 214.33/145.95 new_primQuotInt(x0, Pos(Zero)) 214.33/145.95 new_primMulNat2(Succ(x0)) 214.33/145.95 new_primQuotInt(x0, Neg(Zero)) 214.33/145.95 new_rem(Neg(x0), Neg(Succ(x1))) 214.33/145.95 new_primMinusNatS2(Zero, Succ(x0)) 214.33/145.95 new_sr4(x0, x1, ty_Double) 214.33/145.95 new_primMulNat3(Succ(x0)) 214.33/145.95 new_esEs1(Integer(x0)) 214.33/145.95 new_primQuotInt0(x0, Pos(Zero)) 214.33/145.95 new_gcd2(True, x0, x1) 214.33/145.95 new_quot1(x0, x1, x2, x3, ty_Int) 214.33/145.95 new_primDivNatS1(Zero, x0) 214.33/145.95 new_primMinusNat0(Zero, Zero) 214.33/145.95 new_gcd(x0, x1) 214.33/145.95 new_gcd1(False, x0, x1) 214.33/145.95 new_esEs2(x0, x1, ty_Int) 214.33/145.95 new_sr3(x0, ty_Integer) 214.33/145.95 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 214.33/145.95 new_sr1(x0, app(ty_Ratio, x1)) 214.33/145.95 new_sr1(x0, ty_Float) 214.33/145.95 new_primPlusNat0(Zero, Succ(x0)) 214.33/145.95 new_sr8(:%(x0, x1), :%(x2, x3), x4) 214.33/145.95 new_abs(Neg(Zero)) 214.33/145.95 new_primMinusNatS2(Succ(x0), Zero) 214.33/145.95 new_error 214.33/145.95 new_primModNatS1(Succ(Zero), Zero) 214.33/145.95 new_primMulNat4(Succ(x0)) 214.33/145.95 new_sr1(x0, ty_Integer) 214.33/145.95 new_primDivNatS02(x0, x1) 214.33/145.95 new_sr1(x0, ty_Int) 214.33/145.95 new_rem(Neg(x0), Neg(Zero)) 214.33/145.95 new_primMinusNat0(Zero, Succ(x0)) 214.33/145.95 new_primEqInt(Neg(Zero)) 214.33/145.95 new_rem(Pos(x0), Pos(Succ(x1))) 214.33/145.95 new_abs(Pos(Succ(x0))) 214.33/145.95 new_primMulNat0(Succ(x0), Succ(x1)) 214.33/145.95 new_primMulNat0(Zero, Succ(x0)) 214.33/145.95 new_reduce2Reduce1(x0, x1, x2, x3, True, x4) 214.33/145.95 new_gcd0Gcd'10(False, x0, x1) 214.33/145.95 new_sr12(x0) 214.33/145.95 new_primDivNatS01(x0, x1, Zero, Succ(x2)) 214.33/145.95 new_sr10(Pos(x0), Pos(x1)) 214.33/145.95 new_primModNatS01(x0, x1, Zero, Succ(x2)) 214.33/145.95 new_primPlusNat0(Zero, Zero) 214.33/145.95 new_primQuotInt0(x0, Pos(Succ(x1))) 214.33/145.95 new_primModNatS01(x0, x1, Succ(x2), Zero) 214.33/145.95 new_ms(x0, Pos(Succ(x1))) 214.33/145.95 new_primModNatS1(Succ(Succ(x0)), Zero) 214.33/145.95 new_sr4(x0, x1, ty_Integer) 214.33/145.95 new_rem(Pos(x0), Pos(Zero)) 214.33/145.95 new_sr4(x0, x1, ty_Int) 214.33/145.95 new_ms0(x0, Neg(Succ(x1))) 214.33/145.95 new_quot(Pos(x0), x1, x2) 214.33/145.95 new_primMinusNatS2(Zero, Zero) 214.33/145.95 new_esEs0(x0, ty_Int) 214.33/145.95 new_primMinusNat0(Succ(x0), Zero) 214.33/145.95 new_ms0(x0, Pos(x1)) 214.33/145.95 new_esEs(Pos(Zero)) 214.33/145.95 new_quot(Neg(x0), x1, x2) 214.33/145.95 new_primDivNatS01(x0, x1, Succ(x2), Succ(x3)) 214.33/145.95 new_quot2(x0, x1, x2) 214.33/145.95 new_primEqInt(Neg(Succ(x0))) 214.33/145.95 new_sr10(Neg(x0), Neg(x1)) 214.33/145.95 new_sr3(x0, app(ty_Ratio, x1)) 214.33/145.95 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 214.33/145.95 new_sr9(x0, x1) 214.33/145.95 new_sr2(x0, x1, ty_Integer) 214.33/145.95 new_sr7(Neg(x0)) 214.33/145.95 new_sr1(x0, ty_Double) 214.33/145.95 new_primQuotInt0(x0, Neg(Succ(x1))) 214.33/145.95 new_rem(Pos(x0), Neg(Zero)) 214.33/145.95 new_rem(Neg(x0), Pos(Zero)) 214.33/145.95 new_gcd0Gcd'00(x0, x1) 214.33/145.95 new_primQuotInt(x0, Neg(Succ(x1))) 214.33/145.95 new_primMinusNatS2(Succ(x0), Succ(x1)) 214.33/145.95 new_ms(x0, Pos(Zero)) 214.33/145.95 new_abs(Pos(Zero)) 214.33/145.95 new_primMinusNat0(Succ(x0), Succ(x1)) 214.33/145.95 new_quot0(x0, x1, x2, x3, ty_Integer) 214.33/145.95 new_sr6(x0) 214.33/145.95 new_gcd2(False, x0, x1) 214.33/145.95 new_gcd1(True, x0, x1) 214.33/145.95 new_esEs2(x0, x1, ty_Integer) 214.33/145.95 new_primMinusNatS1 214.33/145.95 new_sr7(Pos(x0)) 214.33/145.95 new_gcd0Gcd'10(True, x0, x1) 214.33/145.95 new_primModNatS1(Zero, x0) 214.33/145.95 new_sr4(x0, x1, ty_Float) 214.33/145.95 new_sr10(Pos(x0), Neg(x1)) 214.33/145.95 new_sr10(Neg(x0), Pos(x1)) 214.33/145.95 new_primDivNatS01(x0, x1, Succ(x2), Zero) 214.33/145.95 new_primDivNatS1(Succ(Succ(x0)), Succ(x1)) 214.33/145.95 new_primPlusNat0(Succ(x0), Succ(x1)) 214.33/145.95 new_primDivNatS1(Succ(Zero), Succ(x0)) 214.33/145.95 new_primQuotInt(x0, Pos(Succ(x1))) 214.33/145.95 new_sr2(x0, x1, app(ty_Ratio, x2)) 214.33/145.95 new_abs(Neg(Succ(x0))) 214.33/145.95 new_esEs0(x0, ty_Integer) 214.33/145.95 new_sr3(x0, ty_Int) 214.33/145.95 new_esEs(Neg(Succ(x0))) 214.33/145.95 new_ms0(x0, Neg(Zero)) 214.33/145.95 new_primModNatS01(x0, x1, Zero, Zero) 214.33/145.95 new_sr4(x0, x1, app(ty_Ratio, x2)) 214.33/145.95 new_gcd0(x0, x1) 214.33/145.95 new_primEqInt(Pos(Succ(x0))) 214.33/145.95 new_sr3(x0, ty_Double) 214.33/145.95 new_quot1(x0, x1, x2, x3, ty_Integer) 214.33/145.95 new_primDivNatS1(Succ(Succ(x0)), Zero) 214.33/145.95 new_primMulNat1(Succ(x0)) 214.33/145.95 new_sr14(x0, x1) 214.33/145.95 new_quot0(x0, x1, x2, x3, ty_Int) 214.33/145.95 new_sr2(x0, x1, ty_Int) 214.33/145.95 new_primModNatS1(Succ(Zero), Succ(x0)) 214.33/145.95 new_reduce2Reduce1(x0, x1, x2, x3, False, x4) 214.33/145.95 new_esEs(Neg(Zero)) 214.33/145.95 new_primMulNat1(Zero) 214.33/145.95 214.33/145.95 We have to consider all minimal (P,Q,R)-chains. 214.33/145.95 ---------------------------------------- 214.33/145.95 214.33/145.95 (768) TransformationProof (EQUIVALENT) 214.33/145.95 By instantiating [LPAR04] the rule new_pr2F1(vyv240, vyv241, vyv244, vyv239, bc) -> new_pr2F30(new_esEs(new_ms0(vyv241, vyv244)), vyv240, vyv241, vyv244, vyv239, bc) we obtained the following new rules [LPAR04]: 214.33/145.95 214.33/145.95 (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)) 214.33/145.95 214.33/145.95 214.33/145.95 ---------------------------------------- 214.33/145.95 214.33/145.95 (769) 214.33/145.95 Obligation: 214.33/145.95 Q DP problem: 214.33/145.95 The TRS P consists of the following rules: 214.33/145.95 214.33/145.95 new_pr2F0G11(vyv239, vyv240, vyv241, bc) -> new_pr2F1(vyv240, vyv241, Pos(Succ(Zero)), vyv239, bc) 214.33/145.95 new_pr2F30(False, vyv240, vyv241, vyv244, vyv239, bc) -> new_pr2F0(vyv240, new_ms0(vyv241, vyv244), new_sr4(vyv240, vyv239, bc), bc) 214.33/145.95 new_pr2F0(vyv184, Neg(Succ(Succ(vyv223000))), vyv188, h) -> new_pr2F0G10(vyv188, vyv184, Succ(vyv223000), vyv223000, h) 214.33/145.95 new_pr2F0G10(vyv249, vyv250, vyv251, Succ(Succ(vyv25200)), bb) -> new_pr2F0G10(vyv249, vyv250, vyv251, vyv25200, bb) 214.33/145.95 new_pr2F0G10(vyv249, vyv250, vyv251, Succ(Zero), bb) -> new_pr2F0G11(vyv249, vyv250, vyv251, bb) 214.33/145.95 new_pr2F0G10(vyv249, vyv250, vyv251, Zero, bb) -> new_pr2F0G(vyv249, new_sr3(vyv250, bb), Neg(new_primDivNatS1(Succ(vyv251), Succ(Zero))), bb) 214.33/145.95 new_pr2F0G(vyv188, vyv184, Neg(Succ(Zero)), h) -> new_pr2F0G11(vyv188, vyv184, Zero, h) 214.33/145.95 new_pr2F0G(vyv188, vyv184, Neg(Succ(Succ(vyv223000))), h) -> new_pr2F0G10(vyv188, vyv184, Succ(vyv223000), vyv223000, h) 214.33/145.95 new_pr2F0(vyv184, Neg(Succ(Zero)), vyv188, h) -> new_pr2F0G11(vyv188, vyv184, Zero, h) 214.33/145.95 new_pr2F0(vyv184, Pos(Succ(Succ(vyv223000))), vyv188, h) -> new_pr2F0G1(vyv188, vyv184, Succ(vyv223000), vyv223000, h) 214.33/145.95 new_pr2F0G1(vyv227, vyv228, vyv229, Succ(Succ(vyv23000)), ba) -> new_pr2F0G1(vyv227, vyv228, vyv229, vyv23000, ba) 214.33/145.95 new_pr2F0G1(vyv227, vyv228, vyv229, Succ(Zero), ba) -> new_pr2F(vyv228, vyv229, Pos(Succ(Zero)), vyv227, ba) 214.33/145.95 new_pr2F(vyv228, vyv229, vyv245, vyv227, ba) -> new_pr2F3(new_esEs(new_ms(vyv229, vyv245)), vyv228, vyv229, vyv245, vyv227, ba) 214.33/145.95 new_pr2F3(False, vyv228, vyv229, vyv245, vyv227, ba) -> new_pr2F0(vyv228, new_ms(vyv229, vyv245), new_sr2(vyv228, vyv227, ba), ba) 214.33/145.95 new_pr2F0(vyv184, Pos(Succ(Zero)), vyv188, h) -> new_pr2F(vyv184, Zero, Pos(Succ(Zero)), vyv188, h) 214.33/145.95 new_pr2F0G1(vyv227, vyv228, vyv229, Zero, ba) -> new_pr2F0G(vyv227, new_sr1(vyv228, ba), Pos(new_primDivNatS1(Succ(vyv229), Succ(Zero))), ba) 214.33/145.95 new_pr2F0G(vyv188, vyv184, Pos(Succ(Succ(vyv223000))), h) -> new_pr2F0G1(vyv188, vyv184, Succ(vyv223000), vyv223000, h) 214.33/145.95 new_pr2F0G(vyv188, vyv184, Pos(Succ(Zero)), h) -> new_pr2F(vyv184, Zero, Pos(Succ(Zero)), vyv188, h) 214.33/145.95 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) 214.33/145.95 214.33/145.95 The TRS R consists of the following rules: 214.33/145.95 214.33/145.95 new_sr1(vyv228, ty_Double) -> new_sr11(vyv228) 214.33/145.95 new_sr1(vyv228, ty_Float) -> new_sr12(vyv228) 214.33/145.95 new_sr1(vyv228, app(ty_Ratio, bg)) -> new_sr5(vyv228, bg) 214.33/145.95 new_sr1(vyv228, ty_Integer) -> new_sr6(vyv228) 214.33/145.95 new_sr1(vyv228, ty_Int) -> new_sr7(vyv228) 214.33/145.95 new_primDivNatS1(Succ(Zero), Succ(vyv285000)) -> Zero 214.33/145.95 new_primDivNatS1(Succ(Succ(vyv271000)), Succ(vyv285000)) -> new_primDivNatS01(vyv271000, vyv285000, vyv271000, vyv285000) 214.33/145.95 new_primDivNatS01(vyv311, vyv312, Succ(vyv3130), Zero) -> new_primDivNatS02(vyv311, vyv312) 214.33/145.95 new_primDivNatS01(vyv311, vyv312, Zero, Succ(vyv3140)) -> Zero 214.33/145.95 new_primDivNatS01(vyv311, vyv312, Succ(vyv3130), Succ(vyv3140)) -> new_primDivNatS01(vyv311, vyv312, vyv3130, vyv3140) 214.33/145.95 new_primDivNatS01(vyv311, vyv312, Zero, Zero) -> new_primDivNatS02(vyv311, vyv312) 214.33/145.95 new_primDivNatS02(vyv311, vyv312) -> Succ(new_primDivNatS1(new_primMinusNatS2(vyv311, vyv312), Succ(vyv312))) 214.33/145.95 new_primMinusNatS2(Zero, Succ(vyv3120)) -> Zero 214.33/145.95 new_primMinusNatS2(Succ(vyv3110), Zero) -> Succ(vyv3110) 214.33/145.95 new_primMinusNatS2(Zero, Zero) -> Zero 214.33/145.95 new_primMinusNatS2(Succ(vyv3110), Succ(vyv3120)) -> new_primMinusNatS2(vyv3110, vyv3120) 214.33/145.95 new_primDivNatS1(Zero, vyv28500) -> Zero 214.33/145.95 new_sr7(Pos(vyv1840)) -> Pos(new_primMulNat1(vyv1840)) 214.33/145.95 new_sr7(Neg(vyv1840)) -> Pos(new_primMulNat1(vyv1840)) 214.33/145.95 new_primMulNat1(Succ(vyv18400)) -> new_primPlusNat0(new_primMulNat2(vyv18400), Succ(vyv18400)) 214.33/145.95 new_primMulNat1(Zero) -> Zero 214.33/145.95 new_primMulNat2(Succ(vyv184000)) -> new_primPlusNat0(new_primMulNat3(vyv184000), Succ(Succ(vyv184000))) 214.33/145.95 new_primMulNat2(Zero) -> Zero 214.33/145.95 new_primPlusNat0(Succ(vyv4000), Succ(vyv6000)) -> Succ(Succ(new_primPlusNat0(vyv4000, vyv6000))) 214.33/145.95 new_primPlusNat0(Zero, Succ(vyv6000)) -> Succ(vyv6000) 214.33/145.95 new_primPlusNat0(Zero, Zero) -> Zero 214.33/145.95 new_primPlusNat0(Succ(vyv4000), Zero) -> Succ(vyv4000) 214.33/145.95 new_primMulNat3(Succ(vyv1840000)) -> new_primPlusNat0(new_primMulNat4(vyv1840000), Succ(Succ(Succ(vyv1840000)))) 214.33/145.95 new_primMulNat3(Zero) -> Zero 214.33/145.95 new_primMulNat4(Succ(vyv18400000)) -> new_primPlusNat0(new_primMulNat0(vyv18400000, Succ(Succ(Succ(Succ(vyv18400000))))), Succ(Succ(Succ(Succ(vyv18400000))))) 214.33/145.95 new_primMulNat4(Zero) -> Zero 214.33/145.95 new_primMulNat0(Zero, Succ(vyv23900)) -> Zero 214.33/145.95 new_primMulNat0(Succ(vyv24000), Succ(vyv23900)) -> new_primPlusNat0(new_primMulNat0(vyv24000, Succ(vyv23900)), Succ(vyv23900)) 214.33/145.95 new_sr6(vyv184) -> error([]) 214.33/145.95 new_sr5(:%(vyv1840, vyv1841), bd) -> new_reduce2Reduce1(vyv1840, vyv1840, vyv1841, vyv1841, new_esEs0(vyv1841, bd), bd) 214.33/145.95 new_esEs0(vyv1841, ty_Int) -> new_esEs(new_sr7(vyv1841)) 214.33/145.95 new_esEs0(vyv1841, ty_Integer) -> new_esEs1(new_sr6(vyv1841)) 214.33/145.95 new_reduce2Reduce1(vyv265, vyv266, vyv267, vyv268, False, bh) -> :%(new_quot0(vyv265, vyv266, vyv267, vyv268, bh), new_quot1(vyv267, vyv268, vyv265, vyv266, bh)) 214.33/145.95 new_reduce2Reduce1(vyv265, vyv266, vyv267, vyv268, True, bh) -> error([]) 214.33/145.95 new_quot0(vyv265, vyv266, vyv267, vyv268, ty_Integer) -> new_quot2(new_sr9(vyv265, vyv266), new_sr9(vyv265, vyv266), new_sr9(vyv267, vyv268)) 214.33/145.95 new_quot0(vyv265, vyv266, vyv267, vyv268, ty_Int) -> new_quot(new_sr10(vyv265, vyv266), new_sr10(vyv265, vyv266), new_sr10(vyv267, vyv268)) 214.33/145.95 new_quot1(vyv267, vyv268, vyv265, vyv266, ty_Int) -> new_quot(new_sr10(vyv267, vyv268), new_sr10(vyv265, vyv266), new_sr10(vyv267, vyv268)) 214.33/145.95 new_quot1(vyv267, vyv268, vyv265, vyv266, ty_Integer) -> new_quot2(new_sr9(vyv267, vyv268), new_sr9(vyv265, vyv266), new_sr9(vyv267, vyv268)) 214.33/145.95 new_sr9(vyv240, vyv239) -> error([]) 214.33/145.95 new_quot2(vyv274, vyv276, vyv275) -> error([]) 214.33/145.95 new_sr10(Pos(vyv2400), Pos(vyv2390)) -> Pos(new_primMulNat0(vyv2400, vyv2390)) 214.33/145.95 new_sr10(Neg(vyv2400), Neg(vyv2390)) -> Pos(new_primMulNat0(vyv2400, vyv2390)) 214.33/145.95 new_sr10(Pos(vyv2400), Neg(vyv2390)) -> Neg(new_primMulNat0(vyv2400, vyv2390)) 214.33/145.95 new_sr10(Neg(vyv2400), Pos(vyv2390)) -> Neg(new_primMulNat0(vyv2400, vyv2390)) 214.33/145.95 new_quot(Pos(vyv2710), vyv273, vyv272) -> new_primQuotInt(vyv2710, new_gcd(vyv273, vyv272)) 214.33/145.95 new_quot(Neg(vyv2710), vyv273, vyv272) -> new_primQuotInt0(vyv2710, new_gcd(vyv273, vyv272)) 214.33/145.95 new_gcd(vyv273, vyv272) -> new_gcd2(new_esEs(vyv273), vyv273, vyv272) 214.33/145.95 new_primQuotInt0(vyv2710, Pos(Succ(vyv28800))) -> Neg(new_primDivNatS1(vyv2710, vyv28800)) 214.33/145.95 new_primQuotInt0(vyv2710, Neg(Zero)) -> new_error 214.33/145.95 new_primQuotInt0(vyv2710, Neg(Succ(vyv28800))) -> Pos(new_primDivNatS1(vyv2710, vyv28800)) 214.33/145.95 new_primQuotInt0(vyv2710, Pos(Zero)) -> new_error 214.33/145.95 new_error -> error([]) 214.33/145.95 new_primDivNatS1(Succ(Succ(vyv271000)), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS0(vyv271000), Zero)) 214.33/145.95 new_primDivNatS1(Succ(Zero), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS1, Zero)) 214.33/145.95 new_primMinusNatS1 -> Zero 214.33/145.95 new_primMinusNatS0(vyv271000) -> Succ(vyv271000) 214.33/145.95 new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) 214.33/145.95 new_esEs(Pos(Succ(vyv24300))) -> new_primEqInt(Pos(Succ(vyv24300))) 214.33/145.95 new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) 214.33/145.95 new_esEs(Neg(Succ(vyv24300))) -> new_primEqInt(Neg(Succ(vyv24300))) 214.33/145.95 new_gcd2(True, vyv273, vyv272) -> new_gcd1(new_esEs(vyv272), vyv273, vyv272) 214.33/145.95 new_gcd2(False, vyv273, vyv272) -> new_gcd0(vyv273, vyv272) 214.33/145.95 new_gcd0(vyv273, vyv272) -> new_gcd0Gcd'11(new_esEs(new_abs(vyv272)), vyv273, vyv272) 214.33/145.95 new_abs(Neg(Zero)) -> Neg(Zero) 214.33/145.95 new_abs(Neg(Succ(vyv27200))) -> Pos(Succ(vyv27200)) 214.33/145.95 new_abs(Pos(Succ(vyv27200))) -> Pos(Succ(vyv27200)) 214.33/145.95 new_abs(Pos(Zero)) -> Pos(Zero) 214.33/145.95 new_gcd0Gcd'11(True, vyv273, vyv272) -> new_abs(vyv273) 214.33/145.95 new_gcd0Gcd'11(False, vyv273, vyv272) -> new_gcd0Gcd'00(new_abs(vyv273), new_abs(vyv272)) 214.33/145.95 new_gcd0Gcd'00(vyv293, vyv292) -> new_gcd0Gcd'10(new_esEs(new_rem(vyv293, vyv292)), vyv292, vyv293) 214.33/145.95 new_gcd0Gcd'10(False, vyv292, vyv293) -> new_gcd0Gcd'00(vyv292, new_rem(vyv293, vyv292)) 214.33/145.95 new_rem(Pos(vyv2930), Neg(Zero)) -> new_error 214.33/145.95 new_rem(Neg(vyv2930), Pos(Zero)) -> new_error 214.33/145.95 new_rem(Pos(vyv2930), Neg(Succ(vyv29200))) -> Pos(new_primModNatS1(vyv2930, vyv29200)) 214.33/145.95 new_rem(Neg(vyv2930), Pos(Succ(vyv29200))) -> Neg(new_primModNatS1(vyv2930, vyv29200)) 214.33/145.95 new_rem(Pos(vyv2930), Pos(Succ(vyv29200))) -> Pos(new_primModNatS1(vyv2930, vyv29200)) 214.33/145.95 new_rem(Neg(vyv2930), Neg(Zero)) -> new_error 214.33/145.95 new_rem(Neg(vyv2930), Neg(Succ(vyv29200))) -> Neg(new_primModNatS1(vyv2930, vyv29200)) 214.33/145.95 new_rem(Pos(vyv2930), Pos(Zero)) -> new_error 214.33/145.95 new_gcd0Gcd'10(True, vyv292, vyv293) -> vyv292 214.33/145.95 new_primModNatS1(Succ(Zero), Succ(vyv292000)) -> Succ(Zero) 214.33/145.95 new_primModNatS1(Zero, vyv29200) -> Zero 214.33/145.95 new_primModNatS1(Succ(Succ(vyv293000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv293000), Zero) 214.33/145.95 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 214.33/145.95 new_primModNatS1(Succ(Succ(vyv293000)), Succ(vyv292000)) -> new_primModNatS01(vyv293000, vyv292000, vyv293000, vyv292000) 214.33/145.95 new_primModNatS01(vyv331, vyv332, Zero, Zero) -> new_primModNatS02(vyv331, vyv332) 214.33/145.95 new_primModNatS02(vyv331, vyv332) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv331), Succ(vyv332)), Succ(vyv332)) 214.33/145.95 new_primModNatS01(vyv331, vyv332, Succ(vyv3330), Zero) -> new_primModNatS02(vyv331, vyv332) 214.33/145.95 new_primModNatS01(vyv331, vyv332, Succ(vyv3330), Succ(vyv3340)) -> new_primModNatS01(vyv331, vyv332, vyv3330, vyv3340) 214.33/145.95 new_primModNatS01(vyv331, vyv332, Zero, Succ(vyv3340)) -> Succ(Succ(vyv331)) 214.33/145.95 new_gcd1(True, vyv273, vyv272) -> new_error 214.33/145.95 new_gcd1(False, vyv273, vyv272) -> new_gcd0(vyv273, vyv272) 214.33/145.95 new_primEqInt(Neg(Succ(vyv242000))) -> False 214.33/145.95 new_primEqInt(Pos(Zero)) -> True 214.33/145.95 new_primEqInt(Pos(Succ(vyv242000))) -> False 214.33/145.95 new_primEqInt(Neg(Zero)) -> True 214.33/145.95 new_primQuotInt(vyv2710, Pos(Succ(vyv28500))) -> Pos(new_primDivNatS1(vyv2710, vyv28500)) 214.33/145.95 new_primQuotInt(vyv2710, Neg(Zero)) -> new_error 214.33/145.95 new_primQuotInt(vyv2710, Pos(Zero)) -> new_error 214.33/145.95 new_primQuotInt(vyv2710, Neg(Succ(vyv28500))) -> Neg(new_primDivNatS1(vyv2710, vyv28500)) 214.33/145.95 new_primMulNat0(Succ(vyv24000), Zero) -> Zero 214.33/145.95 new_primMulNat0(Zero, Zero) -> Zero 214.33/145.95 new_esEs1(Integer(vyv2700)) -> new_primEqInt(vyv2700) 214.33/145.95 new_sr12(vyv184) -> error([]) 214.33/145.95 new_sr11(vyv184) -> error([]) 214.33/145.95 new_ms(vyv229, Neg(vyv2450)) -> Pos(new_primPlusNat0(Succ(vyv229), vyv2450)) 214.33/145.95 new_ms(vyv229, Pos(Succ(vyv24500))) -> new_primMinusNat0(vyv229, vyv24500) 214.33/145.95 new_ms(vyv229, Pos(Zero)) -> Pos(Succ(vyv229)) 214.33/145.95 new_sr2(vyv228, vyv227, ty_Integer) -> new_sr9(vyv228, vyv227) 214.33/145.95 new_sr2(vyv228, vyv227, ty_Int) -> new_sr10(vyv228, vyv227) 214.33/145.95 new_sr2(vyv228, vyv227, app(ty_Ratio, bg)) -> new_sr8(vyv228, vyv227, bg) 214.33/145.95 new_sr2(vyv228, vyv227, ty_Double) -> new_sr13(vyv228, vyv227) 214.33/145.95 new_sr2(vyv228, vyv227, ty_Float) -> new_sr14(vyv228, vyv227) 214.33/145.95 new_sr14(vyv240, vyv239) -> error([]) 214.33/145.95 new_sr13(vyv240, vyv239) -> error([]) 214.33/145.95 new_sr8(:%(vyv2400, vyv2401), :%(vyv2390, vyv2391), be) -> new_reduce2Reduce1(vyv2400, vyv2390, vyv2401, vyv2391, new_esEs2(vyv2401, vyv2391, be), be) 214.33/145.95 new_esEs2(vyv2401, vyv2391, ty_Integer) -> new_esEs1(new_sr9(vyv2401, vyv2391)) 214.33/145.95 new_esEs2(vyv2401, vyv2391, ty_Int) -> new_esEs(new_sr10(vyv2401, vyv2391)) 214.33/145.95 new_primMinusNat0(Succ(vyv2290), Succ(vyv245000)) -> new_primMinusNat0(vyv2290, vyv245000) 214.33/145.95 new_primMinusNat0(Zero, Zero) -> Pos(Zero) 214.33/145.95 new_primMinusNat0(Zero, Succ(vyv245000)) -> Neg(Succ(vyv245000)) 214.33/145.95 new_primMinusNat0(Succ(vyv2290), Zero) -> Pos(Succ(vyv2290)) 214.33/145.95 new_sr3(vyv250, ty_Double) -> new_sr11(vyv250) 214.33/145.95 new_sr3(vyv250, ty_Int) -> new_sr7(vyv250) 214.33/145.95 new_sr3(vyv250, ty_Float) -> new_sr12(vyv250) 214.33/145.95 new_sr3(vyv250, ty_Integer) -> new_sr6(vyv250) 214.33/145.95 new_sr3(vyv250, app(ty_Ratio, bf)) -> new_sr5(vyv250, bf) 214.33/145.95 new_ms0(vyv241, Neg(Zero)) -> Neg(Succ(vyv241)) 214.33/145.95 new_ms0(vyv241, Pos(vyv2440)) -> Neg(new_primPlusNat0(Succ(vyv241), vyv2440)) 214.33/145.95 new_ms0(vyv241, Neg(Succ(vyv24400))) -> new_primMinusNat0(vyv24400, vyv241) 214.33/145.95 new_sr4(vyv240, vyv239, app(ty_Ratio, be)) -> new_sr8(vyv240, vyv239, be) 214.33/145.95 new_sr4(vyv240, vyv239, ty_Float) -> new_sr14(vyv240, vyv239) 214.33/145.95 new_sr4(vyv240, vyv239, ty_Int) -> new_sr10(vyv240, vyv239) 214.33/145.95 new_sr4(vyv240, vyv239, ty_Double) -> new_sr13(vyv240, vyv239) 214.33/145.95 new_sr4(vyv240, vyv239, ty_Integer) -> new_sr9(vyv240, vyv239) 214.33/145.95 214.33/145.95 The set Q consists of the following terms: 214.33/145.95 214.33/145.95 new_sr13(x0, x1) 214.33/145.95 new_primDivNatS01(x0, x1, Zero, Zero) 214.33/145.95 new_gcd0Gcd'11(False, x0, x1) 214.33/145.95 new_primMulNat4(Zero) 214.33/145.95 new_gcd0Gcd'11(True, x0, x1) 214.33/145.95 new_sr2(x0, x1, ty_Float) 214.33/145.95 new_sr5(:%(x0, x1), x2) 214.33/145.95 new_primEqInt(Pos(Zero)) 214.33/145.95 new_ms(x0, Neg(x1)) 214.33/145.95 new_sr2(x0, x1, ty_Double) 214.33/145.95 new_esEs(Pos(Succ(x0))) 214.33/145.95 new_primQuotInt0(x0, Neg(Zero)) 214.33/145.95 new_primMulNat3(Zero) 214.33/145.95 new_primModNatS02(x0, x1) 214.33/145.95 new_primDivNatS1(Succ(Zero), Zero) 214.33/145.95 new_primMinusNatS0(x0) 214.33/145.95 new_sr11(x0) 214.33/145.95 new_rem(Pos(x0), Neg(Succ(x1))) 214.33/145.95 new_rem(Neg(x0), Pos(Succ(x1))) 214.33/145.95 new_primMulNat0(Zero, Zero) 214.33/145.95 new_primPlusNat0(Succ(x0), Zero) 214.33/145.95 new_primMulNat0(Succ(x0), Zero) 214.33/145.95 new_sr3(x0, ty_Float) 214.33/145.95 new_primMulNat2(Zero) 214.33/145.95 new_primQuotInt(x0, Pos(Zero)) 214.33/145.95 new_primMulNat2(Succ(x0)) 214.33/145.95 new_primQuotInt(x0, Neg(Zero)) 214.33/145.95 new_rem(Neg(x0), Neg(Succ(x1))) 214.33/145.95 new_primMinusNatS2(Zero, Succ(x0)) 214.33/145.95 new_sr4(x0, x1, ty_Double) 214.33/145.95 new_primMulNat3(Succ(x0)) 214.33/145.95 new_esEs1(Integer(x0)) 214.33/145.95 new_primQuotInt0(x0, Pos(Zero)) 214.33/145.95 new_gcd2(True, x0, x1) 214.33/145.95 new_quot1(x0, x1, x2, x3, ty_Int) 214.33/145.95 new_primDivNatS1(Zero, x0) 214.33/145.95 new_primMinusNat0(Zero, Zero) 214.33/145.95 new_gcd(x0, x1) 214.33/145.95 new_gcd1(False, x0, x1) 214.33/145.95 new_esEs2(x0, x1, ty_Int) 214.33/145.95 new_sr3(x0, ty_Integer) 214.33/145.95 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 214.33/145.95 new_sr1(x0, app(ty_Ratio, x1)) 214.33/145.95 new_sr1(x0, ty_Float) 214.33/145.95 new_primPlusNat0(Zero, Succ(x0)) 214.33/145.95 new_sr8(:%(x0, x1), :%(x2, x3), x4) 214.33/145.95 new_abs(Neg(Zero)) 214.33/145.95 new_primMinusNatS2(Succ(x0), Zero) 214.33/145.95 new_error 214.33/145.95 new_primModNatS1(Succ(Zero), Zero) 214.33/145.95 new_primMulNat4(Succ(x0)) 214.33/145.95 new_sr1(x0, ty_Integer) 214.33/145.95 new_primDivNatS02(x0, x1) 214.33/145.95 new_sr1(x0, ty_Int) 214.33/145.95 new_rem(Neg(x0), Neg(Zero)) 214.33/145.95 new_primMinusNat0(Zero, Succ(x0)) 214.33/145.95 new_primEqInt(Neg(Zero)) 214.33/145.95 new_rem(Pos(x0), Pos(Succ(x1))) 214.33/145.95 new_abs(Pos(Succ(x0))) 214.33/145.95 new_primMulNat0(Succ(x0), Succ(x1)) 214.33/145.95 new_primMulNat0(Zero, Succ(x0)) 214.33/145.95 new_reduce2Reduce1(x0, x1, x2, x3, True, x4) 214.33/145.95 new_gcd0Gcd'10(False, x0, x1) 214.33/145.95 new_sr12(x0) 214.33/145.95 new_primDivNatS01(x0, x1, Zero, Succ(x2)) 214.33/145.95 new_sr10(Pos(x0), Pos(x1)) 214.33/145.95 new_primModNatS01(x0, x1, Zero, Succ(x2)) 214.33/145.95 new_primPlusNat0(Zero, Zero) 214.33/145.95 new_primQuotInt0(x0, Pos(Succ(x1))) 214.33/145.95 new_primModNatS01(x0, x1, Succ(x2), Zero) 214.33/145.95 new_ms(x0, Pos(Succ(x1))) 214.33/145.95 new_primModNatS1(Succ(Succ(x0)), Zero) 214.33/145.95 new_sr4(x0, x1, ty_Integer) 214.33/145.95 new_rem(Pos(x0), Pos(Zero)) 214.33/145.95 new_sr4(x0, x1, ty_Int) 214.33/145.95 new_ms0(x0, Neg(Succ(x1))) 214.33/145.95 new_quot(Pos(x0), x1, x2) 214.33/145.95 new_primMinusNatS2(Zero, Zero) 214.33/145.95 new_esEs0(x0, ty_Int) 214.33/145.95 new_primMinusNat0(Succ(x0), Zero) 214.33/145.95 new_ms0(x0, Pos(x1)) 214.33/145.95 new_esEs(Pos(Zero)) 214.33/145.95 new_quot(Neg(x0), x1, x2) 214.33/145.95 new_primDivNatS01(x0, x1, Succ(x2), Succ(x3)) 214.33/145.95 new_quot2(x0, x1, x2) 214.33/145.95 new_primEqInt(Neg(Succ(x0))) 214.33/145.95 new_sr10(Neg(x0), Neg(x1)) 214.33/145.95 new_sr3(x0, app(ty_Ratio, x1)) 214.33/145.95 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 214.33/145.95 new_sr9(x0, x1) 214.33/145.95 new_sr2(x0, x1, ty_Integer) 214.33/145.95 new_sr7(Neg(x0)) 214.33/145.95 new_sr1(x0, ty_Double) 214.33/145.95 new_primQuotInt0(x0, Neg(Succ(x1))) 214.33/145.95 new_rem(Pos(x0), Neg(Zero)) 214.33/145.95 new_rem(Neg(x0), Pos(Zero)) 214.33/145.95 new_gcd0Gcd'00(x0, x1) 214.33/145.95 new_primQuotInt(x0, Neg(Succ(x1))) 214.33/145.95 new_primMinusNatS2(Succ(x0), Succ(x1)) 214.33/145.95 new_ms(x0, Pos(Zero)) 214.33/145.95 new_abs(Pos(Zero)) 214.33/145.95 new_primMinusNat0(Succ(x0), Succ(x1)) 214.33/145.95 new_quot0(x0, x1, x2, x3, ty_Integer) 214.33/145.95 new_sr6(x0) 214.33/145.95 new_gcd2(False, x0, x1) 214.33/145.95 new_gcd1(True, x0, x1) 214.33/145.95 new_esEs2(x0, x1, ty_Integer) 214.33/145.95 new_primMinusNatS1 214.33/145.95 new_sr7(Pos(x0)) 214.33/145.95 new_gcd0Gcd'10(True, x0, x1) 214.33/145.95 new_primModNatS1(Zero, x0) 214.33/145.95 new_sr4(x0, x1, ty_Float) 214.33/145.95 new_sr10(Pos(x0), Neg(x1)) 214.33/145.95 new_sr10(Neg(x0), Pos(x1)) 214.33/145.95 new_primDivNatS01(x0, x1, Succ(x2), Zero) 214.33/145.95 new_primDivNatS1(Succ(Succ(x0)), Succ(x1)) 214.33/145.95 new_primPlusNat0(Succ(x0), Succ(x1)) 214.33/145.95 new_primDivNatS1(Succ(Zero), Succ(x0)) 214.33/145.95 new_primQuotInt(x0, Pos(Succ(x1))) 214.33/145.95 new_sr2(x0, x1, app(ty_Ratio, x2)) 214.33/145.95 new_abs(Neg(Succ(x0))) 214.33/145.95 new_esEs0(x0, ty_Integer) 214.33/145.95 new_sr3(x0, ty_Int) 214.33/145.95 new_esEs(Neg(Succ(x0))) 214.33/145.95 new_ms0(x0, Neg(Zero)) 214.33/145.95 new_primModNatS01(x0, x1, Zero, Zero) 214.33/145.95 new_sr4(x0, x1, app(ty_Ratio, x2)) 214.33/145.95 new_gcd0(x0, x1) 214.33/145.95 new_primEqInt(Pos(Succ(x0))) 214.33/145.95 new_sr3(x0, ty_Double) 214.33/145.95 new_quot1(x0, x1, x2, x3, ty_Integer) 214.33/145.95 new_primDivNatS1(Succ(Succ(x0)), Zero) 214.33/145.95 new_primMulNat1(Succ(x0)) 214.33/145.95 new_sr14(x0, x1) 214.33/145.95 new_quot0(x0, x1, x2, x3, ty_Int) 214.33/145.95 new_sr2(x0, x1, ty_Int) 214.33/145.95 new_primModNatS1(Succ(Zero), Succ(x0)) 214.33/145.95 new_reduce2Reduce1(x0, x1, x2, x3, False, x4) 214.33/145.95 new_esEs(Neg(Zero)) 214.33/145.95 new_primMulNat1(Zero) 214.33/145.95 214.33/145.95 We have to consider all minimal (P,Q,R)-chains. 214.33/145.95 ---------------------------------------- 214.33/145.95 214.33/145.95 (770) TransformationProof (EQUIVALENT) 214.33/145.95 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]: 214.33/145.95 214.33/145.95 (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)) 214.33/145.95 214.33/145.95 214.33/145.95 ---------------------------------------- 214.33/145.95 214.33/145.95 (771) 214.33/145.95 Obligation: 214.33/145.95 Q DP problem: 214.33/145.95 The TRS P consists of the following rules: 214.33/145.95 214.33/145.95 new_pr2F0G11(vyv239, vyv240, vyv241, bc) -> new_pr2F1(vyv240, vyv241, Pos(Succ(Zero)), vyv239, bc) 214.33/145.95 new_pr2F30(False, vyv240, vyv241, vyv244, vyv239, bc) -> new_pr2F0(vyv240, new_ms0(vyv241, vyv244), new_sr4(vyv240, vyv239, bc), bc) 214.33/145.95 new_pr2F0(vyv184, Neg(Succ(Succ(vyv223000))), vyv188, h) -> new_pr2F0G10(vyv188, vyv184, Succ(vyv223000), vyv223000, h) 214.33/145.95 new_pr2F0G10(vyv249, vyv250, vyv251, Succ(Succ(vyv25200)), bb) -> new_pr2F0G10(vyv249, vyv250, vyv251, vyv25200, bb) 214.33/145.95 new_pr2F0G10(vyv249, vyv250, vyv251, Succ(Zero), bb) -> new_pr2F0G11(vyv249, vyv250, vyv251, bb) 214.33/145.95 new_pr2F0G10(vyv249, vyv250, vyv251, Zero, bb) -> new_pr2F0G(vyv249, new_sr3(vyv250, bb), Neg(new_primDivNatS1(Succ(vyv251), Succ(Zero))), bb) 214.33/145.95 new_pr2F0G(vyv188, vyv184, Neg(Succ(Zero)), h) -> new_pr2F0G11(vyv188, vyv184, Zero, h) 214.33/145.95 new_pr2F0G(vyv188, vyv184, Neg(Succ(Succ(vyv223000))), h) -> new_pr2F0G10(vyv188, vyv184, Succ(vyv223000), vyv223000, h) 214.33/145.95 new_pr2F0(vyv184, Neg(Succ(Zero)), vyv188, h) -> new_pr2F0G11(vyv188, vyv184, Zero, h) 214.33/145.95 new_pr2F0(vyv184, Pos(Succ(Succ(vyv223000))), vyv188, h) -> new_pr2F0G1(vyv188, vyv184, Succ(vyv223000), vyv223000, h) 214.33/145.95 new_pr2F0G1(vyv227, vyv228, vyv229, Succ(Succ(vyv23000)), ba) -> new_pr2F0G1(vyv227, vyv228, vyv229, vyv23000, ba) 214.33/145.95 new_pr2F0G1(vyv227, vyv228, vyv229, Succ(Zero), ba) -> new_pr2F(vyv228, vyv229, Pos(Succ(Zero)), vyv227, ba) 214.33/145.95 new_pr2F(vyv228, vyv229, vyv245, vyv227, ba) -> new_pr2F3(new_esEs(new_ms(vyv229, vyv245)), vyv228, vyv229, vyv245, vyv227, ba) 214.33/145.95 new_pr2F3(False, vyv228, vyv229, vyv245, vyv227, ba) -> new_pr2F0(vyv228, new_ms(vyv229, vyv245), new_sr2(vyv228, vyv227, ba), ba) 214.33/145.95 new_pr2F0(vyv184, Pos(Succ(Zero)), vyv188, h) -> new_pr2F(vyv184, Zero, Pos(Succ(Zero)), vyv188, h) 214.33/145.95 new_pr2F0G1(vyv227, vyv228, vyv229, Zero, ba) -> new_pr2F0G(vyv227, new_sr1(vyv228, ba), Pos(new_primDivNatS1(Succ(vyv229), Succ(Zero))), ba) 214.33/145.95 new_pr2F0G(vyv188, vyv184, Pos(Succ(Succ(vyv223000))), h) -> new_pr2F0G1(vyv188, vyv184, Succ(vyv223000), vyv223000, h) 214.33/145.95 new_pr2F0G(vyv188, vyv184, Pos(Succ(Zero)), h) -> new_pr2F(vyv184, Zero, Pos(Succ(Zero)), vyv188, h) 214.33/145.95 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) 214.33/145.95 214.33/145.95 The TRS R consists of the following rules: 214.33/145.95 214.33/145.95 new_sr1(vyv228, ty_Double) -> new_sr11(vyv228) 214.33/145.95 new_sr1(vyv228, ty_Float) -> new_sr12(vyv228) 214.33/145.95 new_sr1(vyv228, app(ty_Ratio, bg)) -> new_sr5(vyv228, bg) 214.33/145.95 new_sr1(vyv228, ty_Integer) -> new_sr6(vyv228) 214.33/145.95 new_sr1(vyv228, ty_Int) -> new_sr7(vyv228) 214.33/145.95 new_primDivNatS1(Succ(Zero), Succ(vyv285000)) -> Zero 214.33/145.95 new_primDivNatS1(Succ(Succ(vyv271000)), Succ(vyv285000)) -> new_primDivNatS01(vyv271000, vyv285000, vyv271000, vyv285000) 214.33/145.95 new_primDivNatS01(vyv311, vyv312, Succ(vyv3130), Zero) -> new_primDivNatS02(vyv311, vyv312) 214.33/145.95 new_primDivNatS01(vyv311, vyv312, Zero, Succ(vyv3140)) -> Zero 214.33/145.95 new_primDivNatS01(vyv311, vyv312, Succ(vyv3130), Succ(vyv3140)) -> new_primDivNatS01(vyv311, vyv312, vyv3130, vyv3140) 214.33/145.95 new_primDivNatS01(vyv311, vyv312, Zero, Zero) -> new_primDivNatS02(vyv311, vyv312) 214.33/145.95 new_primDivNatS02(vyv311, vyv312) -> Succ(new_primDivNatS1(new_primMinusNatS2(vyv311, vyv312), Succ(vyv312))) 214.33/145.95 new_primMinusNatS2(Zero, Succ(vyv3120)) -> Zero 214.33/145.95 new_primMinusNatS2(Succ(vyv3110), Zero) -> Succ(vyv3110) 214.33/145.95 new_primMinusNatS2(Zero, Zero) -> Zero 214.33/145.95 new_primMinusNatS2(Succ(vyv3110), Succ(vyv3120)) -> new_primMinusNatS2(vyv3110, vyv3120) 214.33/145.95 new_primDivNatS1(Zero, vyv28500) -> Zero 214.33/145.95 new_sr7(Pos(vyv1840)) -> Pos(new_primMulNat1(vyv1840)) 214.33/145.95 new_sr7(Neg(vyv1840)) -> Pos(new_primMulNat1(vyv1840)) 214.33/145.95 new_primMulNat1(Succ(vyv18400)) -> new_primPlusNat0(new_primMulNat2(vyv18400), Succ(vyv18400)) 214.33/145.95 new_primMulNat1(Zero) -> Zero 214.33/145.95 new_primMulNat2(Succ(vyv184000)) -> new_primPlusNat0(new_primMulNat3(vyv184000), Succ(Succ(vyv184000))) 214.33/145.95 new_primMulNat2(Zero) -> Zero 214.33/145.95 new_primPlusNat0(Succ(vyv4000), Succ(vyv6000)) -> Succ(Succ(new_primPlusNat0(vyv4000, vyv6000))) 214.33/145.95 new_primPlusNat0(Zero, Succ(vyv6000)) -> Succ(vyv6000) 214.33/145.95 new_primPlusNat0(Zero, Zero) -> Zero 214.33/145.95 new_primPlusNat0(Succ(vyv4000), Zero) -> Succ(vyv4000) 214.33/145.95 new_primMulNat3(Succ(vyv1840000)) -> new_primPlusNat0(new_primMulNat4(vyv1840000), Succ(Succ(Succ(vyv1840000)))) 214.33/145.95 new_primMulNat3(Zero) -> Zero 214.33/145.95 new_primMulNat4(Succ(vyv18400000)) -> new_primPlusNat0(new_primMulNat0(vyv18400000, Succ(Succ(Succ(Succ(vyv18400000))))), Succ(Succ(Succ(Succ(vyv18400000))))) 214.33/145.95 new_primMulNat4(Zero) -> Zero 214.33/145.95 new_primMulNat0(Zero, Succ(vyv23900)) -> Zero 214.33/145.95 new_primMulNat0(Succ(vyv24000), Succ(vyv23900)) -> new_primPlusNat0(new_primMulNat0(vyv24000, Succ(vyv23900)), Succ(vyv23900)) 214.33/145.95 new_sr6(vyv184) -> error([]) 214.33/145.95 new_sr5(:%(vyv1840, vyv1841), bd) -> new_reduce2Reduce1(vyv1840, vyv1840, vyv1841, vyv1841, new_esEs0(vyv1841, bd), bd) 214.33/145.95 new_esEs0(vyv1841, ty_Int) -> new_esEs(new_sr7(vyv1841)) 214.33/145.95 new_esEs0(vyv1841, ty_Integer) -> new_esEs1(new_sr6(vyv1841)) 214.33/145.95 new_reduce2Reduce1(vyv265, vyv266, vyv267, vyv268, False, bh) -> :%(new_quot0(vyv265, vyv266, vyv267, vyv268, bh), new_quot1(vyv267, vyv268, vyv265, vyv266, bh)) 214.33/145.95 new_reduce2Reduce1(vyv265, vyv266, vyv267, vyv268, True, bh) -> error([]) 214.33/145.95 new_quot0(vyv265, vyv266, vyv267, vyv268, ty_Integer) -> new_quot2(new_sr9(vyv265, vyv266), new_sr9(vyv265, vyv266), new_sr9(vyv267, vyv268)) 214.33/145.95 new_quot0(vyv265, vyv266, vyv267, vyv268, ty_Int) -> new_quot(new_sr10(vyv265, vyv266), new_sr10(vyv265, vyv266), new_sr10(vyv267, vyv268)) 214.33/145.95 new_quot1(vyv267, vyv268, vyv265, vyv266, ty_Int) -> new_quot(new_sr10(vyv267, vyv268), new_sr10(vyv265, vyv266), new_sr10(vyv267, vyv268)) 214.33/145.95 new_quot1(vyv267, vyv268, vyv265, vyv266, ty_Integer) -> new_quot2(new_sr9(vyv267, vyv268), new_sr9(vyv265, vyv266), new_sr9(vyv267, vyv268)) 214.33/145.95 new_sr9(vyv240, vyv239) -> error([]) 214.33/145.95 new_quot2(vyv274, vyv276, vyv275) -> error([]) 214.33/145.95 new_sr10(Pos(vyv2400), Pos(vyv2390)) -> Pos(new_primMulNat0(vyv2400, vyv2390)) 214.33/145.95 new_sr10(Neg(vyv2400), Neg(vyv2390)) -> Pos(new_primMulNat0(vyv2400, vyv2390)) 214.33/145.95 new_sr10(Pos(vyv2400), Neg(vyv2390)) -> Neg(new_primMulNat0(vyv2400, vyv2390)) 214.33/145.95 new_sr10(Neg(vyv2400), Pos(vyv2390)) -> Neg(new_primMulNat0(vyv2400, vyv2390)) 214.33/145.95 new_quot(Pos(vyv2710), vyv273, vyv272) -> new_primQuotInt(vyv2710, new_gcd(vyv273, vyv272)) 214.33/145.95 new_quot(Neg(vyv2710), vyv273, vyv272) -> new_primQuotInt0(vyv2710, new_gcd(vyv273, vyv272)) 214.33/145.95 new_gcd(vyv273, vyv272) -> new_gcd2(new_esEs(vyv273), vyv273, vyv272) 214.33/145.95 new_primQuotInt0(vyv2710, Pos(Succ(vyv28800))) -> Neg(new_primDivNatS1(vyv2710, vyv28800)) 214.33/145.95 new_primQuotInt0(vyv2710, Neg(Zero)) -> new_error 214.33/145.95 new_primQuotInt0(vyv2710, Neg(Succ(vyv28800))) -> Pos(new_primDivNatS1(vyv2710, vyv28800)) 214.33/145.95 new_primQuotInt0(vyv2710, Pos(Zero)) -> new_error 214.33/145.95 new_error -> error([]) 214.33/145.95 new_primDivNatS1(Succ(Succ(vyv271000)), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS0(vyv271000), Zero)) 214.33/145.95 new_primDivNatS1(Succ(Zero), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS1, Zero)) 214.33/145.95 new_primMinusNatS1 -> Zero 214.33/145.95 new_primMinusNatS0(vyv271000) -> Succ(vyv271000) 214.33/145.95 new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) 214.33/145.95 new_esEs(Pos(Succ(vyv24300))) -> new_primEqInt(Pos(Succ(vyv24300))) 214.33/145.95 new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) 214.33/145.95 new_esEs(Neg(Succ(vyv24300))) -> new_primEqInt(Neg(Succ(vyv24300))) 214.33/145.95 new_gcd2(True, vyv273, vyv272) -> new_gcd1(new_esEs(vyv272), vyv273, vyv272) 214.33/145.95 new_gcd2(False, vyv273, vyv272) -> new_gcd0(vyv273, vyv272) 214.33/145.95 new_gcd0(vyv273, vyv272) -> new_gcd0Gcd'11(new_esEs(new_abs(vyv272)), vyv273, vyv272) 214.33/145.95 new_abs(Neg(Zero)) -> Neg(Zero) 214.33/145.95 new_abs(Neg(Succ(vyv27200))) -> Pos(Succ(vyv27200)) 214.33/145.95 new_abs(Pos(Succ(vyv27200))) -> Pos(Succ(vyv27200)) 214.33/145.95 new_abs(Pos(Zero)) -> Pos(Zero) 214.33/145.95 new_gcd0Gcd'11(True, vyv273, vyv272) -> new_abs(vyv273) 214.33/145.95 new_gcd0Gcd'11(False, vyv273, vyv272) -> new_gcd0Gcd'00(new_abs(vyv273), new_abs(vyv272)) 214.33/145.95 new_gcd0Gcd'00(vyv293, vyv292) -> new_gcd0Gcd'10(new_esEs(new_rem(vyv293, vyv292)), vyv292, vyv293) 214.33/145.95 new_gcd0Gcd'10(False, vyv292, vyv293) -> new_gcd0Gcd'00(vyv292, new_rem(vyv293, vyv292)) 214.33/145.95 new_rem(Pos(vyv2930), Neg(Zero)) -> new_error 214.33/145.95 new_rem(Neg(vyv2930), Pos(Zero)) -> new_error 214.33/145.95 new_rem(Pos(vyv2930), Neg(Succ(vyv29200))) -> Pos(new_primModNatS1(vyv2930, vyv29200)) 214.33/145.95 new_rem(Neg(vyv2930), Pos(Succ(vyv29200))) -> Neg(new_primModNatS1(vyv2930, vyv29200)) 214.33/145.95 new_rem(Pos(vyv2930), Pos(Succ(vyv29200))) -> Pos(new_primModNatS1(vyv2930, vyv29200)) 214.33/145.95 new_rem(Neg(vyv2930), Neg(Zero)) -> new_error 214.33/145.95 new_rem(Neg(vyv2930), Neg(Succ(vyv29200))) -> Neg(new_primModNatS1(vyv2930, vyv29200)) 214.33/145.95 new_rem(Pos(vyv2930), Pos(Zero)) -> new_error 214.33/145.95 new_gcd0Gcd'10(True, vyv292, vyv293) -> vyv292 214.33/145.95 new_primModNatS1(Succ(Zero), Succ(vyv292000)) -> Succ(Zero) 214.33/145.95 new_primModNatS1(Zero, vyv29200) -> Zero 214.33/145.95 new_primModNatS1(Succ(Succ(vyv293000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv293000), Zero) 214.33/145.95 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 214.33/145.95 new_primModNatS1(Succ(Succ(vyv293000)), Succ(vyv292000)) -> new_primModNatS01(vyv293000, vyv292000, vyv293000, vyv292000) 214.33/145.95 new_primModNatS01(vyv331, vyv332, Zero, Zero) -> new_primModNatS02(vyv331, vyv332) 214.33/145.95 new_primModNatS02(vyv331, vyv332) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv331), Succ(vyv332)), Succ(vyv332)) 214.33/145.95 new_primModNatS01(vyv331, vyv332, Succ(vyv3330), Zero) -> new_primModNatS02(vyv331, vyv332) 214.33/145.95 new_primModNatS01(vyv331, vyv332, Succ(vyv3330), Succ(vyv3340)) -> new_primModNatS01(vyv331, vyv332, vyv3330, vyv3340) 214.33/145.95 new_primModNatS01(vyv331, vyv332, Zero, Succ(vyv3340)) -> Succ(Succ(vyv331)) 214.33/145.95 new_gcd1(True, vyv273, vyv272) -> new_error 214.33/145.95 new_gcd1(False, vyv273, vyv272) -> new_gcd0(vyv273, vyv272) 214.33/145.95 new_primEqInt(Neg(Succ(vyv242000))) -> False 214.33/145.95 new_primEqInt(Pos(Zero)) -> True 214.33/145.95 new_primEqInt(Pos(Succ(vyv242000))) -> False 214.33/145.95 new_primEqInt(Neg(Zero)) -> True 214.33/145.95 new_primQuotInt(vyv2710, Pos(Succ(vyv28500))) -> Pos(new_primDivNatS1(vyv2710, vyv28500)) 214.33/145.95 new_primQuotInt(vyv2710, Neg(Zero)) -> new_error 214.33/145.95 new_primQuotInt(vyv2710, Pos(Zero)) -> new_error 214.33/145.95 new_primQuotInt(vyv2710, Neg(Succ(vyv28500))) -> Neg(new_primDivNatS1(vyv2710, vyv28500)) 214.33/145.95 new_primMulNat0(Succ(vyv24000), Zero) -> Zero 214.33/145.95 new_primMulNat0(Zero, Zero) -> Zero 214.33/145.95 new_esEs1(Integer(vyv2700)) -> new_primEqInt(vyv2700) 214.33/145.95 new_sr12(vyv184) -> error([]) 214.33/145.95 new_sr11(vyv184) -> error([]) 214.33/145.95 new_ms(vyv229, Neg(vyv2450)) -> Pos(new_primPlusNat0(Succ(vyv229), vyv2450)) 214.33/145.95 new_ms(vyv229, Pos(Succ(vyv24500))) -> new_primMinusNat0(vyv229, vyv24500) 214.33/145.95 new_ms(vyv229, Pos(Zero)) -> Pos(Succ(vyv229)) 214.33/145.95 new_sr2(vyv228, vyv227, ty_Integer) -> new_sr9(vyv228, vyv227) 214.33/145.95 new_sr2(vyv228, vyv227, ty_Int) -> new_sr10(vyv228, vyv227) 214.33/145.95 new_sr2(vyv228, vyv227, app(ty_Ratio, bg)) -> new_sr8(vyv228, vyv227, bg) 214.33/145.95 new_sr2(vyv228, vyv227, ty_Double) -> new_sr13(vyv228, vyv227) 214.33/145.95 new_sr2(vyv228, vyv227, ty_Float) -> new_sr14(vyv228, vyv227) 214.33/145.95 new_sr14(vyv240, vyv239) -> error([]) 214.33/145.95 new_sr13(vyv240, vyv239) -> error([]) 214.33/145.95 new_sr8(:%(vyv2400, vyv2401), :%(vyv2390, vyv2391), be) -> new_reduce2Reduce1(vyv2400, vyv2390, vyv2401, vyv2391, new_esEs2(vyv2401, vyv2391, be), be) 214.33/145.95 new_esEs2(vyv2401, vyv2391, ty_Integer) -> new_esEs1(new_sr9(vyv2401, vyv2391)) 214.33/145.95 new_esEs2(vyv2401, vyv2391, ty_Int) -> new_esEs(new_sr10(vyv2401, vyv2391)) 214.33/145.95 new_primMinusNat0(Succ(vyv2290), Succ(vyv245000)) -> new_primMinusNat0(vyv2290, vyv245000) 214.33/145.95 new_primMinusNat0(Zero, Zero) -> Pos(Zero) 214.33/145.95 new_primMinusNat0(Zero, Succ(vyv245000)) -> Neg(Succ(vyv245000)) 214.33/145.95 new_primMinusNat0(Succ(vyv2290), Zero) -> Pos(Succ(vyv2290)) 214.33/145.95 new_sr3(vyv250, ty_Double) -> new_sr11(vyv250) 214.33/145.95 new_sr3(vyv250, ty_Int) -> new_sr7(vyv250) 214.33/145.95 new_sr3(vyv250, ty_Float) -> new_sr12(vyv250) 214.33/145.95 new_sr3(vyv250, ty_Integer) -> new_sr6(vyv250) 214.33/145.95 new_sr3(vyv250, app(ty_Ratio, bf)) -> new_sr5(vyv250, bf) 214.33/145.95 new_ms0(vyv241, Neg(Zero)) -> Neg(Succ(vyv241)) 214.33/145.95 new_ms0(vyv241, Pos(vyv2440)) -> Neg(new_primPlusNat0(Succ(vyv241), vyv2440)) 214.33/145.95 new_ms0(vyv241, Neg(Succ(vyv24400))) -> new_primMinusNat0(vyv24400, vyv241) 214.33/145.95 new_sr4(vyv240, vyv239, app(ty_Ratio, be)) -> new_sr8(vyv240, vyv239, be) 214.33/145.95 new_sr4(vyv240, vyv239, ty_Float) -> new_sr14(vyv240, vyv239) 214.33/145.95 new_sr4(vyv240, vyv239, ty_Int) -> new_sr10(vyv240, vyv239) 214.33/145.95 new_sr4(vyv240, vyv239, ty_Double) -> new_sr13(vyv240, vyv239) 214.33/145.95 new_sr4(vyv240, vyv239, ty_Integer) -> new_sr9(vyv240, vyv239) 214.33/145.95 214.33/145.95 The set Q consists of the following terms: 214.33/145.95 214.33/145.95 new_sr13(x0, x1) 214.33/145.95 new_primDivNatS01(x0, x1, Zero, Zero) 214.33/145.95 new_gcd0Gcd'11(False, x0, x1) 214.33/145.95 new_primMulNat4(Zero) 214.33/145.95 new_gcd0Gcd'11(True, x0, x1) 214.33/145.95 new_sr2(x0, x1, ty_Float) 214.33/145.95 new_sr5(:%(x0, x1), x2) 214.33/145.95 new_primEqInt(Pos(Zero)) 214.33/145.95 new_ms(x0, Neg(x1)) 214.33/145.95 new_sr2(x0, x1, ty_Double) 214.33/145.95 new_esEs(Pos(Succ(x0))) 214.33/145.95 new_primQuotInt0(x0, Neg(Zero)) 214.33/145.95 new_primMulNat3(Zero) 214.33/145.95 new_primModNatS02(x0, x1) 214.33/145.95 new_primDivNatS1(Succ(Zero), Zero) 214.33/145.95 new_primMinusNatS0(x0) 214.33/145.95 new_sr11(x0) 214.33/145.95 new_rem(Pos(x0), Neg(Succ(x1))) 214.33/145.95 new_rem(Neg(x0), Pos(Succ(x1))) 214.33/145.95 new_primMulNat0(Zero, Zero) 214.33/145.95 new_primPlusNat0(Succ(x0), Zero) 214.33/145.95 new_primMulNat0(Succ(x0), Zero) 214.33/145.95 new_sr3(x0, ty_Float) 214.33/145.95 new_primMulNat2(Zero) 214.33/145.95 new_primQuotInt(x0, Pos(Zero)) 214.33/145.95 new_primMulNat2(Succ(x0)) 214.33/145.95 new_primQuotInt(x0, Neg(Zero)) 214.33/145.95 new_rem(Neg(x0), Neg(Succ(x1))) 214.33/145.95 new_primMinusNatS2(Zero, Succ(x0)) 214.33/145.95 new_sr4(x0, x1, ty_Double) 214.33/145.95 new_primMulNat3(Succ(x0)) 214.33/145.95 new_esEs1(Integer(x0)) 214.33/145.95 new_primQuotInt0(x0, Pos(Zero)) 214.33/145.95 new_gcd2(True, x0, x1) 214.33/145.95 new_quot1(x0, x1, x2, x3, ty_Int) 214.33/145.95 new_primDivNatS1(Zero, x0) 214.33/145.95 new_primMinusNat0(Zero, Zero) 214.33/145.95 new_gcd(x0, x1) 214.33/145.95 new_gcd1(False, x0, x1) 214.33/145.95 new_esEs2(x0, x1, ty_Int) 214.33/145.95 new_sr3(x0, ty_Integer) 214.33/145.95 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 214.33/145.95 new_sr1(x0, app(ty_Ratio, x1)) 214.33/145.95 new_sr1(x0, ty_Float) 214.33/145.95 new_primPlusNat0(Zero, Succ(x0)) 214.33/145.95 new_sr8(:%(x0, x1), :%(x2, x3), x4) 214.33/145.95 new_abs(Neg(Zero)) 214.33/145.95 new_primMinusNatS2(Succ(x0), Zero) 214.33/145.95 new_error 214.33/145.95 new_primModNatS1(Succ(Zero), Zero) 214.33/145.95 new_primMulNat4(Succ(x0)) 214.33/145.95 new_sr1(x0, ty_Integer) 214.33/145.95 new_primDivNatS02(x0, x1) 214.33/145.95 new_sr1(x0, ty_Int) 214.33/145.95 new_rem(Neg(x0), Neg(Zero)) 214.33/145.95 new_primMinusNat0(Zero, Succ(x0)) 214.33/145.95 new_primEqInt(Neg(Zero)) 214.33/145.95 new_rem(Pos(x0), Pos(Succ(x1))) 214.33/145.95 new_abs(Pos(Succ(x0))) 214.33/145.95 new_primMulNat0(Succ(x0), Succ(x1)) 214.33/145.95 new_primMulNat0(Zero, Succ(x0)) 214.33/145.95 new_reduce2Reduce1(x0, x1, x2, x3, True, x4) 214.33/145.95 new_gcd0Gcd'10(False, x0, x1) 214.33/145.95 new_sr12(x0) 214.33/145.95 new_primDivNatS01(x0, x1, Zero, Succ(x2)) 214.33/145.95 new_sr10(Pos(x0), Pos(x1)) 214.33/145.95 new_primModNatS01(x0, x1, Zero, Succ(x2)) 214.33/145.95 new_primPlusNat0(Zero, Zero) 214.33/145.95 new_primQuotInt0(x0, Pos(Succ(x1))) 214.33/145.95 new_primModNatS01(x0, x1, Succ(x2), Zero) 214.33/145.95 new_ms(x0, Pos(Succ(x1))) 214.33/145.95 new_primModNatS1(Succ(Succ(x0)), Zero) 214.33/145.95 new_sr4(x0, x1, ty_Integer) 214.33/145.95 new_rem(Pos(x0), Pos(Zero)) 214.33/145.95 new_sr4(x0, x1, ty_Int) 214.33/145.95 new_ms0(x0, Neg(Succ(x1))) 214.33/145.95 new_quot(Pos(x0), x1, x2) 214.33/145.95 new_primMinusNatS2(Zero, Zero) 214.33/145.95 new_esEs0(x0, ty_Int) 214.33/145.95 new_primMinusNat0(Succ(x0), Zero) 214.33/145.95 new_ms0(x0, Pos(x1)) 214.33/145.95 new_esEs(Pos(Zero)) 214.33/145.95 new_quot(Neg(x0), x1, x2) 214.33/145.95 new_primDivNatS01(x0, x1, Succ(x2), Succ(x3)) 214.33/145.95 new_quot2(x0, x1, x2) 214.33/145.95 new_primEqInt(Neg(Succ(x0))) 214.33/145.95 new_sr10(Neg(x0), Neg(x1)) 214.33/145.95 new_sr3(x0, app(ty_Ratio, x1)) 214.33/145.95 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 214.33/145.95 new_sr9(x0, x1) 214.33/145.95 new_sr2(x0, x1, ty_Integer) 214.33/145.95 new_sr7(Neg(x0)) 214.33/145.95 new_sr1(x0, ty_Double) 214.33/145.95 new_primQuotInt0(x0, Neg(Succ(x1))) 214.33/145.95 new_rem(Pos(x0), Neg(Zero)) 214.33/145.95 new_rem(Neg(x0), Pos(Zero)) 214.33/145.95 new_gcd0Gcd'00(x0, x1) 214.33/145.95 new_primQuotInt(x0, Neg(Succ(x1))) 214.33/145.95 new_primMinusNatS2(Succ(x0), Succ(x1)) 214.33/145.95 new_ms(x0, Pos(Zero)) 214.33/145.95 new_abs(Pos(Zero)) 214.33/145.95 new_primMinusNat0(Succ(x0), Succ(x1)) 214.33/145.95 new_quot0(x0, x1, x2, x3, ty_Integer) 214.33/145.95 new_sr6(x0) 214.33/145.95 new_gcd2(False, x0, x1) 214.33/145.95 new_gcd1(True, x0, x1) 214.33/145.95 new_esEs2(x0, x1, ty_Integer) 214.33/145.95 new_primMinusNatS1 214.33/145.95 new_sr7(Pos(x0)) 214.33/145.95 new_gcd0Gcd'10(True, x0, x1) 214.33/145.95 new_primModNatS1(Zero, x0) 214.33/145.95 new_sr4(x0, x1, ty_Float) 214.33/145.95 new_sr10(Pos(x0), Neg(x1)) 214.33/145.95 new_sr10(Neg(x0), Pos(x1)) 214.33/145.95 new_primDivNatS01(x0, x1, Succ(x2), Zero) 214.33/145.95 new_primDivNatS1(Succ(Succ(x0)), Succ(x1)) 214.33/145.95 new_primPlusNat0(Succ(x0), Succ(x1)) 214.33/145.95 new_primDivNatS1(Succ(Zero), Succ(x0)) 214.33/145.95 new_primQuotInt(x0, Pos(Succ(x1))) 214.33/145.95 new_sr2(x0, x1, app(ty_Ratio, x2)) 214.33/145.95 new_abs(Neg(Succ(x0))) 214.33/145.95 new_esEs0(x0, ty_Integer) 214.33/145.95 new_sr3(x0, ty_Int) 214.33/145.95 new_esEs(Neg(Succ(x0))) 214.33/145.95 new_ms0(x0, Neg(Zero)) 214.33/145.95 new_primModNatS01(x0, x1, Zero, Zero) 214.33/145.95 new_sr4(x0, x1, app(ty_Ratio, x2)) 214.33/145.95 new_gcd0(x0, x1) 214.33/145.95 new_primEqInt(Pos(Succ(x0))) 214.33/145.95 new_sr3(x0, ty_Double) 214.33/145.95 new_quot1(x0, x1, x2, x3, ty_Integer) 214.33/145.95 new_primDivNatS1(Succ(Succ(x0)), Zero) 214.33/145.95 new_primMulNat1(Succ(x0)) 214.33/145.95 new_sr14(x0, x1) 214.33/145.95 new_quot0(x0, x1, x2, x3, ty_Int) 214.33/145.95 new_sr2(x0, x1, ty_Int) 214.33/145.95 new_primModNatS1(Succ(Zero), Succ(x0)) 214.33/145.95 new_reduce2Reduce1(x0, x1, x2, x3, False, x4) 214.33/145.95 new_esEs(Neg(Zero)) 214.33/145.95 new_primMulNat1(Zero) 214.33/145.95 214.33/145.95 We have to consider all minimal (P,Q,R)-chains. 214.33/145.95 ---------------------------------------- 214.33/145.95 214.33/145.95 (772) TransformationProof (EQUIVALENT) 214.33/145.95 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]: 214.33/145.95 214.33/145.95 (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)) 214.33/145.95 214.33/145.95 214.33/145.95 ---------------------------------------- 214.33/145.95 214.33/145.95 (773) 214.33/145.95 Obligation: 214.33/145.95 Q DP problem: 214.33/145.95 The TRS P consists of the following rules: 214.33/145.95 214.33/145.95 new_pr2F0G11(vyv239, vyv240, vyv241, bc) -> new_pr2F1(vyv240, vyv241, Pos(Succ(Zero)), vyv239, bc) 214.33/145.95 new_pr2F30(False, vyv240, vyv241, vyv244, vyv239, bc) -> new_pr2F0(vyv240, new_ms0(vyv241, vyv244), new_sr4(vyv240, vyv239, bc), bc) 214.33/145.95 new_pr2F0(vyv184, Neg(Succ(Succ(vyv223000))), vyv188, h) -> new_pr2F0G10(vyv188, vyv184, Succ(vyv223000), vyv223000, h) 214.33/145.95 new_pr2F0G10(vyv249, vyv250, vyv251, Succ(Succ(vyv25200)), bb) -> new_pr2F0G10(vyv249, vyv250, vyv251, vyv25200, bb) 214.33/145.95 new_pr2F0G10(vyv249, vyv250, vyv251, Succ(Zero), bb) -> new_pr2F0G11(vyv249, vyv250, vyv251, bb) 214.33/145.95 new_pr2F0G10(vyv249, vyv250, vyv251, Zero, bb) -> new_pr2F0G(vyv249, new_sr3(vyv250, bb), Neg(new_primDivNatS1(Succ(vyv251), Succ(Zero))), bb) 214.33/145.95 new_pr2F0G(vyv188, vyv184, Neg(Succ(Zero)), h) -> new_pr2F0G11(vyv188, vyv184, Zero, h) 214.33/145.95 new_pr2F0G(vyv188, vyv184, Neg(Succ(Succ(vyv223000))), h) -> new_pr2F0G10(vyv188, vyv184, Succ(vyv223000), vyv223000, h) 214.33/145.95 new_pr2F0(vyv184, Neg(Succ(Zero)), vyv188, h) -> new_pr2F0G11(vyv188, vyv184, Zero, h) 214.33/145.95 new_pr2F0(vyv184, Pos(Succ(Succ(vyv223000))), vyv188, h) -> new_pr2F0G1(vyv188, vyv184, Succ(vyv223000), vyv223000, h) 214.33/145.95 new_pr2F0G1(vyv227, vyv228, vyv229, Succ(Succ(vyv23000)), ba) -> new_pr2F0G1(vyv227, vyv228, vyv229, vyv23000, ba) 214.33/145.95 new_pr2F0G1(vyv227, vyv228, vyv229, Succ(Zero), ba) -> new_pr2F(vyv228, vyv229, Pos(Succ(Zero)), vyv227, ba) 214.33/145.95 new_pr2F(vyv228, vyv229, vyv245, vyv227, ba) -> new_pr2F3(new_esEs(new_ms(vyv229, vyv245)), vyv228, vyv229, vyv245, vyv227, ba) 214.33/145.95 new_pr2F3(False, vyv228, vyv229, vyv245, vyv227, ba) -> new_pr2F0(vyv228, new_ms(vyv229, vyv245), new_sr2(vyv228, vyv227, ba), ba) 214.33/145.95 new_pr2F0(vyv184, Pos(Succ(Zero)), vyv188, h) -> new_pr2F(vyv184, Zero, Pos(Succ(Zero)), vyv188, h) 214.33/145.95 new_pr2F0G1(vyv227, vyv228, vyv229, Zero, ba) -> new_pr2F0G(vyv227, new_sr1(vyv228, ba), Pos(new_primDivNatS1(Succ(vyv229), Succ(Zero))), ba) 214.33/145.95 new_pr2F0G(vyv188, vyv184, Pos(Succ(Succ(vyv223000))), h) -> new_pr2F0G1(vyv188, vyv184, Succ(vyv223000), vyv223000, h) 214.33/145.95 new_pr2F0G(vyv188, vyv184, Pos(Succ(Zero)), h) -> new_pr2F(vyv184, Zero, Pos(Succ(Zero)), vyv188, h) 214.33/145.95 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) 214.33/145.95 214.33/145.95 The TRS R consists of the following rules: 214.33/145.95 214.33/145.95 new_sr1(vyv228, ty_Double) -> new_sr11(vyv228) 214.33/145.95 new_sr1(vyv228, ty_Float) -> new_sr12(vyv228) 214.33/145.95 new_sr1(vyv228, app(ty_Ratio, bg)) -> new_sr5(vyv228, bg) 214.33/145.95 new_sr1(vyv228, ty_Integer) -> new_sr6(vyv228) 214.33/145.95 new_sr1(vyv228, ty_Int) -> new_sr7(vyv228) 214.33/145.95 new_primDivNatS1(Succ(Zero), Succ(vyv285000)) -> Zero 214.33/145.95 new_primDivNatS1(Succ(Succ(vyv271000)), Succ(vyv285000)) -> new_primDivNatS01(vyv271000, vyv285000, vyv271000, vyv285000) 214.33/145.95 new_primDivNatS01(vyv311, vyv312, Succ(vyv3130), Zero) -> new_primDivNatS02(vyv311, vyv312) 214.33/145.95 new_primDivNatS01(vyv311, vyv312, Zero, Succ(vyv3140)) -> Zero 214.33/145.95 new_primDivNatS01(vyv311, vyv312, Succ(vyv3130), Succ(vyv3140)) -> new_primDivNatS01(vyv311, vyv312, vyv3130, vyv3140) 214.33/145.95 new_primDivNatS01(vyv311, vyv312, Zero, Zero) -> new_primDivNatS02(vyv311, vyv312) 214.33/145.95 new_primDivNatS02(vyv311, vyv312) -> Succ(new_primDivNatS1(new_primMinusNatS2(vyv311, vyv312), Succ(vyv312))) 214.33/145.95 new_primMinusNatS2(Zero, Succ(vyv3120)) -> Zero 214.33/145.95 new_primMinusNatS2(Succ(vyv3110), Zero) -> Succ(vyv3110) 214.33/145.95 new_primMinusNatS2(Zero, Zero) -> Zero 214.33/145.95 new_primMinusNatS2(Succ(vyv3110), Succ(vyv3120)) -> new_primMinusNatS2(vyv3110, vyv3120) 214.33/145.95 new_primDivNatS1(Zero, vyv28500) -> Zero 214.33/145.95 new_sr7(Pos(vyv1840)) -> Pos(new_primMulNat1(vyv1840)) 214.33/145.95 new_sr7(Neg(vyv1840)) -> Pos(new_primMulNat1(vyv1840)) 214.33/145.95 new_primMulNat1(Succ(vyv18400)) -> new_primPlusNat0(new_primMulNat2(vyv18400), Succ(vyv18400)) 214.33/145.95 new_primMulNat1(Zero) -> Zero 214.33/145.95 new_primMulNat2(Succ(vyv184000)) -> new_primPlusNat0(new_primMulNat3(vyv184000), Succ(Succ(vyv184000))) 214.33/145.95 new_primMulNat2(Zero) -> Zero 214.33/145.95 new_primPlusNat0(Succ(vyv4000), Succ(vyv6000)) -> Succ(Succ(new_primPlusNat0(vyv4000, vyv6000))) 214.33/145.95 new_primPlusNat0(Zero, Succ(vyv6000)) -> Succ(vyv6000) 214.33/145.95 new_primPlusNat0(Zero, Zero) -> Zero 214.33/145.95 new_primPlusNat0(Succ(vyv4000), Zero) -> Succ(vyv4000) 214.33/145.95 new_primMulNat3(Succ(vyv1840000)) -> new_primPlusNat0(new_primMulNat4(vyv1840000), Succ(Succ(Succ(vyv1840000)))) 214.33/145.95 new_primMulNat3(Zero) -> Zero 214.33/145.95 new_primMulNat4(Succ(vyv18400000)) -> new_primPlusNat0(new_primMulNat0(vyv18400000, Succ(Succ(Succ(Succ(vyv18400000))))), Succ(Succ(Succ(Succ(vyv18400000))))) 214.33/145.95 new_primMulNat4(Zero) -> Zero 214.33/145.95 new_primMulNat0(Zero, Succ(vyv23900)) -> Zero 214.33/145.95 new_primMulNat0(Succ(vyv24000), Succ(vyv23900)) -> new_primPlusNat0(new_primMulNat0(vyv24000, Succ(vyv23900)), Succ(vyv23900)) 214.33/145.95 new_sr6(vyv184) -> error([]) 214.33/145.95 new_sr5(:%(vyv1840, vyv1841), bd) -> new_reduce2Reduce1(vyv1840, vyv1840, vyv1841, vyv1841, new_esEs0(vyv1841, bd), bd) 214.33/145.95 new_esEs0(vyv1841, ty_Int) -> new_esEs(new_sr7(vyv1841)) 214.33/145.95 new_esEs0(vyv1841, ty_Integer) -> new_esEs1(new_sr6(vyv1841)) 214.33/145.95 new_reduce2Reduce1(vyv265, vyv266, vyv267, vyv268, False, bh) -> :%(new_quot0(vyv265, vyv266, vyv267, vyv268, bh), new_quot1(vyv267, vyv268, vyv265, vyv266, bh)) 214.33/145.95 new_reduce2Reduce1(vyv265, vyv266, vyv267, vyv268, True, bh) -> error([]) 214.33/145.95 new_quot0(vyv265, vyv266, vyv267, vyv268, ty_Integer) -> new_quot2(new_sr9(vyv265, vyv266), new_sr9(vyv265, vyv266), new_sr9(vyv267, vyv268)) 214.33/145.95 new_quot0(vyv265, vyv266, vyv267, vyv268, ty_Int) -> new_quot(new_sr10(vyv265, vyv266), new_sr10(vyv265, vyv266), new_sr10(vyv267, vyv268)) 214.33/145.95 new_quot1(vyv267, vyv268, vyv265, vyv266, ty_Int) -> new_quot(new_sr10(vyv267, vyv268), new_sr10(vyv265, vyv266), new_sr10(vyv267, vyv268)) 214.33/145.95 new_quot1(vyv267, vyv268, vyv265, vyv266, ty_Integer) -> new_quot2(new_sr9(vyv267, vyv268), new_sr9(vyv265, vyv266), new_sr9(vyv267, vyv268)) 214.33/145.95 new_sr9(vyv240, vyv239) -> error([]) 214.33/145.95 new_quot2(vyv274, vyv276, vyv275) -> error([]) 214.33/145.95 new_sr10(Pos(vyv2400), Pos(vyv2390)) -> Pos(new_primMulNat0(vyv2400, vyv2390)) 214.33/145.95 new_sr10(Neg(vyv2400), Neg(vyv2390)) -> Pos(new_primMulNat0(vyv2400, vyv2390)) 214.33/145.95 new_sr10(Pos(vyv2400), Neg(vyv2390)) -> Neg(new_primMulNat0(vyv2400, vyv2390)) 214.33/145.95 new_sr10(Neg(vyv2400), Pos(vyv2390)) -> Neg(new_primMulNat0(vyv2400, vyv2390)) 214.33/145.95 new_quot(Pos(vyv2710), vyv273, vyv272) -> new_primQuotInt(vyv2710, new_gcd(vyv273, vyv272)) 214.33/145.95 new_quot(Neg(vyv2710), vyv273, vyv272) -> new_primQuotInt0(vyv2710, new_gcd(vyv273, vyv272)) 214.33/145.95 new_gcd(vyv273, vyv272) -> new_gcd2(new_esEs(vyv273), vyv273, vyv272) 214.33/145.95 new_primQuotInt0(vyv2710, Pos(Succ(vyv28800))) -> Neg(new_primDivNatS1(vyv2710, vyv28800)) 214.33/145.95 new_primQuotInt0(vyv2710, Neg(Zero)) -> new_error 214.33/145.95 new_primQuotInt0(vyv2710, Neg(Succ(vyv28800))) -> Pos(new_primDivNatS1(vyv2710, vyv28800)) 214.33/145.95 new_primQuotInt0(vyv2710, Pos(Zero)) -> new_error 214.33/145.95 new_error -> error([]) 214.33/145.95 new_primDivNatS1(Succ(Succ(vyv271000)), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS0(vyv271000), Zero)) 214.33/145.95 new_primDivNatS1(Succ(Zero), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS1, Zero)) 214.33/145.95 new_primMinusNatS1 -> Zero 214.33/145.95 new_primMinusNatS0(vyv271000) -> Succ(vyv271000) 214.33/145.95 new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) 214.33/145.95 new_esEs(Pos(Succ(vyv24300))) -> new_primEqInt(Pos(Succ(vyv24300))) 214.33/145.95 new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) 214.33/145.95 new_esEs(Neg(Succ(vyv24300))) -> new_primEqInt(Neg(Succ(vyv24300))) 214.33/145.95 new_gcd2(True, vyv273, vyv272) -> new_gcd1(new_esEs(vyv272), vyv273, vyv272) 214.33/145.95 new_gcd2(False, vyv273, vyv272) -> new_gcd0(vyv273, vyv272) 214.33/145.95 new_gcd0(vyv273, vyv272) -> new_gcd0Gcd'11(new_esEs(new_abs(vyv272)), vyv273, vyv272) 214.33/145.95 new_abs(Neg(Zero)) -> Neg(Zero) 214.33/145.95 new_abs(Neg(Succ(vyv27200))) -> Pos(Succ(vyv27200)) 214.33/145.95 new_abs(Pos(Succ(vyv27200))) -> Pos(Succ(vyv27200)) 214.33/145.95 new_abs(Pos(Zero)) -> Pos(Zero) 214.33/145.95 new_gcd0Gcd'11(True, vyv273, vyv272) -> new_abs(vyv273) 214.33/145.95 new_gcd0Gcd'11(False, vyv273, vyv272) -> new_gcd0Gcd'00(new_abs(vyv273), new_abs(vyv272)) 214.33/145.95 new_gcd0Gcd'00(vyv293, vyv292) -> new_gcd0Gcd'10(new_esEs(new_rem(vyv293, vyv292)), vyv292, vyv293) 214.33/145.95 new_gcd0Gcd'10(False, vyv292, vyv293) -> new_gcd0Gcd'00(vyv292, new_rem(vyv293, vyv292)) 214.33/145.95 new_rem(Pos(vyv2930), Neg(Zero)) -> new_error 214.33/145.95 new_rem(Neg(vyv2930), Pos(Zero)) -> new_error 214.33/145.95 new_rem(Pos(vyv2930), Neg(Succ(vyv29200))) -> Pos(new_primModNatS1(vyv2930, vyv29200)) 214.33/145.95 new_rem(Neg(vyv2930), Pos(Succ(vyv29200))) -> Neg(new_primModNatS1(vyv2930, vyv29200)) 214.33/145.95 new_rem(Pos(vyv2930), Pos(Succ(vyv29200))) -> Pos(new_primModNatS1(vyv2930, vyv29200)) 214.33/145.95 new_rem(Neg(vyv2930), Neg(Zero)) -> new_error 214.33/145.95 new_rem(Neg(vyv2930), Neg(Succ(vyv29200))) -> Neg(new_primModNatS1(vyv2930, vyv29200)) 214.33/145.95 new_rem(Pos(vyv2930), Pos(Zero)) -> new_error 214.33/145.95 new_gcd0Gcd'10(True, vyv292, vyv293) -> vyv292 214.33/145.95 new_primModNatS1(Succ(Zero), Succ(vyv292000)) -> Succ(Zero) 214.33/145.95 new_primModNatS1(Zero, vyv29200) -> Zero 214.33/145.95 new_primModNatS1(Succ(Succ(vyv293000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv293000), Zero) 214.33/145.95 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 214.33/145.95 new_primModNatS1(Succ(Succ(vyv293000)), Succ(vyv292000)) -> new_primModNatS01(vyv293000, vyv292000, vyv293000, vyv292000) 214.33/145.95 new_primModNatS01(vyv331, vyv332, Zero, Zero) -> new_primModNatS02(vyv331, vyv332) 214.33/145.95 new_primModNatS02(vyv331, vyv332) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv331), Succ(vyv332)), Succ(vyv332)) 214.33/145.95 new_primModNatS01(vyv331, vyv332, Succ(vyv3330), Zero) -> new_primModNatS02(vyv331, vyv332) 214.33/145.95 new_primModNatS01(vyv331, vyv332, Succ(vyv3330), Succ(vyv3340)) -> new_primModNatS01(vyv331, vyv332, vyv3330, vyv3340) 214.33/145.95 new_primModNatS01(vyv331, vyv332, Zero, Succ(vyv3340)) -> Succ(Succ(vyv331)) 214.33/145.95 new_gcd1(True, vyv273, vyv272) -> new_error 214.33/145.95 new_gcd1(False, vyv273, vyv272) -> new_gcd0(vyv273, vyv272) 214.33/145.95 new_primEqInt(Neg(Succ(vyv242000))) -> False 214.33/145.95 new_primEqInt(Pos(Zero)) -> True 214.33/145.95 new_primEqInt(Pos(Succ(vyv242000))) -> False 214.33/145.95 new_primEqInt(Neg(Zero)) -> True 214.33/145.95 new_primQuotInt(vyv2710, Pos(Succ(vyv28500))) -> Pos(new_primDivNatS1(vyv2710, vyv28500)) 214.33/145.95 new_primQuotInt(vyv2710, Neg(Zero)) -> new_error 214.33/145.95 new_primQuotInt(vyv2710, Pos(Zero)) -> new_error 214.33/145.95 new_primQuotInt(vyv2710, Neg(Succ(vyv28500))) -> Neg(new_primDivNatS1(vyv2710, vyv28500)) 214.33/145.95 new_primMulNat0(Succ(vyv24000), Zero) -> Zero 214.33/145.95 new_primMulNat0(Zero, Zero) -> Zero 214.33/145.95 new_esEs1(Integer(vyv2700)) -> new_primEqInt(vyv2700) 214.33/145.95 new_sr12(vyv184) -> error([]) 214.33/145.95 new_sr11(vyv184) -> error([]) 214.33/145.95 new_ms(vyv229, Neg(vyv2450)) -> Pos(new_primPlusNat0(Succ(vyv229), vyv2450)) 214.33/145.95 new_ms(vyv229, Pos(Succ(vyv24500))) -> new_primMinusNat0(vyv229, vyv24500) 214.33/145.95 new_ms(vyv229, Pos(Zero)) -> Pos(Succ(vyv229)) 214.33/145.95 new_sr2(vyv228, vyv227, ty_Integer) -> new_sr9(vyv228, vyv227) 214.33/145.95 new_sr2(vyv228, vyv227, ty_Int) -> new_sr10(vyv228, vyv227) 214.33/145.95 new_sr2(vyv228, vyv227, app(ty_Ratio, bg)) -> new_sr8(vyv228, vyv227, bg) 214.33/145.95 new_sr2(vyv228, vyv227, ty_Double) -> new_sr13(vyv228, vyv227) 214.33/145.95 new_sr2(vyv228, vyv227, ty_Float) -> new_sr14(vyv228, vyv227) 214.33/145.95 new_sr14(vyv240, vyv239) -> error([]) 214.33/145.95 new_sr13(vyv240, vyv239) -> error([]) 214.33/145.95 new_sr8(:%(vyv2400, vyv2401), :%(vyv2390, vyv2391), be) -> new_reduce2Reduce1(vyv2400, vyv2390, vyv2401, vyv2391, new_esEs2(vyv2401, vyv2391, be), be) 214.33/145.95 new_esEs2(vyv2401, vyv2391, ty_Integer) -> new_esEs1(new_sr9(vyv2401, vyv2391)) 214.33/145.95 new_esEs2(vyv2401, vyv2391, ty_Int) -> new_esEs(new_sr10(vyv2401, vyv2391)) 214.33/145.95 new_primMinusNat0(Succ(vyv2290), Succ(vyv245000)) -> new_primMinusNat0(vyv2290, vyv245000) 214.33/145.95 new_primMinusNat0(Zero, Zero) -> Pos(Zero) 214.33/145.95 new_primMinusNat0(Zero, Succ(vyv245000)) -> Neg(Succ(vyv245000)) 214.33/145.95 new_primMinusNat0(Succ(vyv2290), Zero) -> Pos(Succ(vyv2290)) 214.33/145.95 new_sr3(vyv250, ty_Double) -> new_sr11(vyv250) 214.33/145.95 new_sr3(vyv250, ty_Int) -> new_sr7(vyv250) 214.33/145.95 new_sr3(vyv250, ty_Float) -> new_sr12(vyv250) 214.33/145.95 new_sr3(vyv250, ty_Integer) -> new_sr6(vyv250) 214.33/145.95 new_sr3(vyv250, app(ty_Ratio, bf)) -> new_sr5(vyv250, bf) 214.33/145.95 new_ms0(vyv241, Neg(Zero)) -> Neg(Succ(vyv241)) 214.33/145.95 new_ms0(vyv241, Pos(vyv2440)) -> Neg(new_primPlusNat0(Succ(vyv241), vyv2440)) 214.33/145.95 new_ms0(vyv241, Neg(Succ(vyv24400))) -> new_primMinusNat0(vyv24400, vyv241) 214.33/145.95 new_sr4(vyv240, vyv239, app(ty_Ratio, be)) -> new_sr8(vyv240, vyv239, be) 214.33/145.95 new_sr4(vyv240, vyv239, ty_Float) -> new_sr14(vyv240, vyv239) 214.33/145.95 new_sr4(vyv240, vyv239, ty_Int) -> new_sr10(vyv240, vyv239) 214.33/145.95 new_sr4(vyv240, vyv239, ty_Double) -> new_sr13(vyv240, vyv239) 214.33/145.95 new_sr4(vyv240, vyv239, ty_Integer) -> new_sr9(vyv240, vyv239) 214.33/145.95 214.33/145.95 The set Q consists of the following terms: 214.33/145.95 214.33/145.95 new_sr13(x0, x1) 214.33/145.95 new_primDivNatS01(x0, x1, Zero, Zero) 214.33/145.95 new_gcd0Gcd'11(False, x0, x1) 214.33/145.95 new_primMulNat4(Zero) 214.33/145.95 new_gcd0Gcd'11(True, x0, x1) 214.33/145.95 new_sr2(x0, x1, ty_Float) 214.33/145.95 new_sr5(:%(x0, x1), x2) 214.33/145.95 new_primEqInt(Pos(Zero)) 214.33/145.95 new_ms(x0, Neg(x1)) 214.33/145.95 new_sr2(x0, x1, ty_Double) 214.33/145.95 new_esEs(Pos(Succ(x0))) 214.33/145.95 new_primQuotInt0(x0, Neg(Zero)) 214.33/145.95 new_primMulNat3(Zero) 214.33/145.95 new_primModNatS02(x0, x1) 214.33/145.95 new_primDivNatS1(Succ(Zero), Zero) 214.33/145.95 new_primMinusNatS0(x0) 214.33/145.95 new_sr11(x0) 214.33/145.95 new_rem(Pos(x0), Neg(Succ(x1))) 214.33/145.95 new_rem(Neg(x0), Pos(Succ(x1))) 214.33/145.95 new_primMulNat0(Zero, Zero) 214.33/145.95 new_primPlusNat0(Succ(x0), Zero) 214.33/145.95 new_primMulNat0(Succ(x0), Zero) 214.33/145.95 new_sr3(x0, ty_Float) 214.33/145.95 new_primMulNat2(Zero) 214.33/145.95 new_primQuotInt(x0, Pos(Zero)) 214.33/145.95 new_primMulNat2(Succ(x0)) 214.33/145.95 new_primQuotInt(x0, Neg(Zero)) 214.33/145.95 new_rem(Neg(x0), Neg(Succ(x1))) 214.33/145.95 new_primMinusNatS2(Zero, Succ(x0)) 214.33/145.95 new_sr4(x0, x1, ty_Double) 214.33/145.95 new_primMulNat3(Succ(x0)) 214.33/145.95 new_esEs1(Integer(x0)) 214.33/145.95 new_primQuotInt0(x0, Pos(Zero)) 214.33/145.95 new_gcd2(True, x0, x1) 214.33/145.95 new_quot1(x0, x1, x2, x3, ty_Int) 214.33/145.95 new_primDivNatS1(Zero, x0) 214.33/145.95 new_primMinusNat0(Zero, Zero) 214.33/145.95 new_gcd(x0, x1) 214.33/145.95 new_gcd1(False, x0, x1) 214.33/145.95 new_esEs2(x0, x1, ty_Int) 214.33/145.95 new_sr3(x0, ty_Integer) 214.33/145.95 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 214.33/145.95 new_sr1(x0, app(ty_Ratio, x1)) 214.33/145.95 new_sr1(x0, ty_Float) 214.33/145.95 new_primPlusNat0(Zero, Succ(x0)) 214.33/145.95 new_sr8(:%(x0, x1), :%(x2, x3), x4) 214.33/145.95 new_abs(Neg(Zero)) 214.33/145.95 new_primMinusNatS2(Succ(x0), Zero) 214.33/145.95 new_error 214.33/145.95 new_primModNatS1(Succ(Zero), Zero) 214.33/145.95 new_primMulNat4(Succ(x0)) 214.33/145.95 new_sr1(x0, ty_Integer) 214.33/145.95 new_primDivNatS02(x0, x1) 214.33/145.95 new_sr1(x0, ty_Int) 214.33/145.95 new_rem(Neg(x0), Neg(Zero)) 214.33/145.95 new_primMinusNat0(Zero, Succ(x0)) 214.33/145.95 new_primEqInt(Neg(Zero)) 214.33/145.95 new_rem(Pos(x0), Pos(Succ(x1))) 214.33/145.95 new_abs(Pos(Succ(x0))) 214.33/145.95 new_primMulNat0(Succ(x0), Succ(x1)) 214.33/145.95 new_primMulNat0(Zero, Succ(x0)) 214.33/145.95 new_reduce2Reduce1(x0, x1, x2, x3, True, x4) 214.33/145.95 new_gcd0Gcd'10(False, x0, x1) 214.33/145.95 new_sr12(x0) 214.33/145.95 new_primDivNatS01(x0, x1, Zero, Succ(x2)) 214.33/145.95 new_sr10(Pos(x0), Pos(x1)) 214.33/145.95 new_primModNatS01(x0, x1, Zero, Succ(x2)) 214.33/145.95 new_primPlusNat0(Zero, Zero) 214.33/145.95 new_primQuotInt0(x0, Pos(Succ(x1))) 214.33/145.95 new_primModNatS01(x0, x1, Succ(x2), Zero) 214.33/145.95 new_ms(x0, Pos(Succ(x1))) 214.33/145.95 new_primModNatS1(Succ(Succ(x0)), Zero) 214.33/145.95 new_sr4(x0, x1, ty_Integer) 214.33/145.95 new_rem(Pos(x0), Pos(Zero)) 214.33/145.95 new_sr4(x0, x1, ty_Int) 214.33/145.95 new_ms0(x0, Neg(Succ(x1))) 214.33/145.95 new_quot(Pos(x0), x1, x2) 214.33/145.95 new_primMinusNatS2(Zero, Zero) 214.33/145.95 new_esEs0(x0, ty_Int) 214.33/145.95 new_primMinusNat0(Succ(x0), Zero) 214.33/145.95 new_ms0(x0, Pos(x1)) 214.33/145.95 new_esEs(Pos(Zero)) 214.33/145.95 new_quot(Neg(x0), x1, x2) 214.33/145.95 new_primDivNatS01(x0, x1, Succ(x2), Succ(x3)) 214.33/145.95 new_quot2(x0, x1, x2) 214.33/145.95 new_primEqInt(Neg(Succ(x0))) 214.33/145.95 new_sr10(Neg(x0), Neg(x1)) 214.33/145.95 new_sr3(x0, app(ty_Ratio, x1)) 214.33/145.95 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 214.33/145.95 new_sr9(x0, x1) 214.33/145.95 new_sr2(x0, x1, ty_Integer) 214.33/145.95 new_sr7(Neg(x0)) 214.33/145.95 new_sr1(x0, ty_Double) 214.33/145.95 new_primQuotInt0(x0, Neg(Succ(x1))) 214.33/145.95 new_rem(Pos(x0), Neg(Zero)) 214.33/145.95 new_rem(Neg(x0), Pos(Zero)) 214.33/145.95 new_gcd0Gcd'00(x0, x1) 214.33/145.95 new_primQuotInt(x0, Neg(Succ(x1))) 214.33/145.95 new_primMinusNatS2(Succ(x0), Succ(x1)) 214.33/145.95 new_ms(x0, Pos(Zero)) 214.33/145.95 new_abs(Pos(Zero)) 214.33/145.95 new_primMinusNat0(Succ(x0), Succ(x1)) 214.33/145.95 new_quot0(x0, x1, x2, x3, ty_Integer) 214.33/145.95 new_sr6(x0) 214.33/145.95 new_gcd2(False, x0, x1) 214.33/145.95 new_gcd1(True, x0, x1) 214.33/145.95 new_esEs2(x0, x1, ty_Integer) 214.33/145.95 new_primMinusNatS1 214.33/145.95 new_sr7(Pos(x0)) 214.33/145.95 new_gcd0Gcd'10(True, x0, x1) 214.33/145.95 new_primModNatS1(Zero, x0) 214.33/145.95 new_sr4(x0, x1, ty_Float) 214.33/145.95 new_sr10(Pos(x0), Neg(x1)) 214.33/145.95 new_sr10(Neg(x0), Pos(x1)) 214.33/145.95 new_primDivNatS01(x0, x1, Succ(x2), Zero) 214.33/145.95 new_primDivNatS1(Succ(Succ(x0)), Succ(x1)) 214.33/145.95 new_primPlusNat0(Succ(x0), Succ(x1)) 214.33/145.95 new_primDivNatS1(Succ(Zero), Succ(x0)) 214.33/145.95 new_primQuotInt(x0, Pos(Succ(x1))) 214.33/145.95 new_sr2(x0, x1, app(ty_Ratio, x2)) 214.33/145.95 new_abs(Neg(Succ(x0))) 214.33/145.95 new_esEs0(x0, ty_Integer) 214.33/145.95 new_sr3(x0, ty_Int) 214.33/145.95 new_esEs(Neg(Succ(x0))) 214.33/145.95 new_ms0(x0, Neg(Zero)) 214.33/145.95 new_primModNatS01(x0, x1, Zero, Zero) 214.33/145.95 new_sr4(x0, x1, app(ty_Ratio, x2)) 214.33/145.95 new_gcd0(x0, x1) 214.33/145.95 new_primEqInt(Pos(Succ(x0))) 214.33/145.95 new_sr3(x0, ty_Double) 214.33/145.95 new_quot1(x0, x1, x2, x3, ty_Integer) 214.33/145.95 new_primDivNatS1(Succ(Succ(x0)), Zero) 214.33/145.95 new_primMulNat1(Succ(x0)) 214.33/145.95 new_sr14(x0, x1) 214.33/145.95 new_quot0(x0, x1, x2, x3, ty_Int) 214.33/145.95 new_sr2(x0, x1, ty_Int) 214.33/145.95 new_primModNatS1(Succ(Zero), Succ(x0)) 214.33/145.95 new_reduce2Reduce1(x0, x1, x2, x3, False, x4) 214.33/145.95 new_esEs(Neg(Zero)) 214.33/145.95 new_primMulNat1(Zero) 214.33/145.95 214.33/145.95 We have to consider all minimal (P,Q,R)-chains. 214.33/145.95 ---------------------------------------- 214.33/145.95 214.33/145.95 (774) TransformationProof (EQUIVALENT) 214.33/145.95 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]: 214.33/145.95 214.33/145.95 (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)) 214.33/145.95 214.33/145.95 214.33/145.95 ---------------------------------------- 214.33/145.95 214.33/145.95 (775) 214.33/145.95 Obligation: 214.33/145.95 Q DP problem: 214.33/145.95 The TRS P consists of the following rules: 214.33/145.95 214.33/145.95 new_pr2F0G11(vyv239, vyv240, vyv241, bc) -> new_pr2F1(vyv240, vyv241, Pos(Succ(Zero)), vyv239, bc) 214.33/145.95 new_pr2F30(False, vyv240, vyv241, vyv244, vyv239, bc) -> new_pr2F0(vyv240, new_ms0(vyv241, vyv244), new_sr4(vyv240, vyv239, bc), bc) 214.33/145.95 new_pr2F0(vyv184, Neg(Succ(Succ(vyv223000))), vyv188, h) -> new_pr2F0G10(vyv188, vyv184, Succ(vyv223000), vyv223000, h) 214.33/145.95 new_pr2F0G10(vyv249, vyv250, vyv251, Succ(Succ(vyv25200)), bb) -> new_pr2F0G10(vyv249, vyv250, vyv251, vyv25200, bb) 214.33/145.95 new_pr2F0G10(vyv249, vyv250, vyv251, Succ(Zero), bb) -> new_pr2F0G11(vyv249, vyv250, vyv251, bb) 214.33/145.95 new_pr2F0G10(vyv249, vyv250, vyv251, Zero, bb) -> new_pr2F0G(vyv249, new_sr3(vyv250, bb), Neg(new_primDivNatS1(Succ(vyv251), Succ(Zero))), bb) 214.33/145.95 new_pr2F0G(vyv188, vyv184, Neg(Succ(Zero)), h) -> new_pr2F0G11(vyv188, vyv184, Zero, h) 214.33/145.95 new_pr2F0G(vyv188, vyv184, Neg(Succ(Succ(vyv223000))), h) -> new_pr2F0G10(vyv188, vyv184, Succ(vyv223000), vyv223000, h) 214.33/145.95 new_pr2F0(vyv184, Neg(Succ(Zero)), vyv188, h) -> new_pr2F0G11(vyv188, vyv184, Zero, h) 214.33/145.95 new_pr2F0(vyv184, Pos(Succ(Succ(vyv223000))), vyv188, h) -> new_pr2F0G1(vyv188, vyv184, Succ(vyv223000), vyv223000, h) 214.33/145.95 new_pr2F0G1(vyv227, vyv228, vyv229, Succ(Succ(vyv23000)), ba) -> new_pr2F0G1(vyv227, vyv228, vyv229, vyv23000, ba) 214.33/145.95 new_pr2F0G1(vyv227, vyv228, vyv229, Succ(Zero), ba) -> new_pr2F(vyv228, vyv229, Pos(Succ(Zero)), vyv227, ba) 214.33/145.95 new_pr2F(vyv228, vyv229, vyv245, vyv227, ba) -> new_pr2F3(new_esEs(new_ms(vyv229, vyv245)), vyv228, vyv229, vyv245, vyv227, ba) 214.33/145.95 new_pr2F3(False, vyv228, vyv229, vyv245, vyv227, ba) -> new_pr2F0(vyv228, new_ms(vyv229, vyv245), new_sr2(vyv228, vyv227, ba), ba) 214.33/145.95 new_pr2F0(vyv184, Pos(Succ(Zero)), vyv188, h) -> new_pr2F(vyv184, Zero, Pos(Succ(Zero)), vyv188, h) 214.33/145.95 new_pr2F0G1(vyv227, vyv228, vyv229, Zero, ba) -> new_pr2F0G(vyv227, new_sr1(vyv228, ba), Pos(new_primDivNatS1(Succ(vyv229), Succ(Zero))), ba) 214.33/145.95 new_pr2F0G(vyv188, vyv184, Pos(Succ(Succ(vyv223000))), h) -> new_pr2F0G1(vyv188, vyv184, Succ(vyv223000), vyv223000, h) 214.33/145.95 new_pr2F0G(vyv188, vyv184, Pos(Succ(Zero)), h) -> new_pr2F(vyv184, Zero, Pos(Succ(Zero)), vyv188, h) 214.33/145.95 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) 214.33/145.95 214.33/145.95 The TRS R consists of the following rules: 214.33/145.95 214.33/145.95 new_sr1(vyv228, ty_Double) -> new_sr11(vyv228) 214.33/145.95 new_sr1(vyv228, ty_Float) -> new_sr12(vyv228) 214.33/145.95 new_sr1(vyv228, app(ty_Ratio, bg)) -> new_sr5(vyv228, bg) 214.33/145.95 new_sr1(vyv228, ty_Integer) -> new_sr6(vyv228) 214.33/145.95 new_sr1(vyv228, ty_Int) -> new_sr7(vyv228) 214.33/145.95 new_primDivNatS1(Succ(Zero), Succ(vyv285000)) -> Zero 214.33/145.95 new_primDivNatS1(Succ(Succ(vyv271000)), Succ(vyv285000)) -> new_primDivNatS01(vyv271000, vyv285000, vyv271000, vyv285000) 214.33/145.95 new_primDivNatS01(vyv311, vyv312, Succ(vyv3130), Zero) -> new_primDivNatS02(vyv311, vyv312) 214.33/145.95 new_primDivNatS01(vyv311, vyv312, Zero, Succ(vyv3140)) -> Zero 214.33/145.95 new_primDivNatS01(vyv311, vyv312, Succ(vyv3130), Succ(vyv3140)) -> new_primDivNatS01(vyv311, vyv312, vyv3130, vyv3140) 214.33/145.95 new_primDivNatS01(vyv311, vyv312, Zero, Zero) -> new_primDivNatS02(vyv311, vyv312) 214.33/145.95 new_primDivNatS02(vyv311, vyv312) -> Succ(new_primDivNatS1(new_primMinusNatS2(vyv311, vyv312), Succ(vyv312))) 214.33/145.95 new_primMinusNatS2(Zero, Succ(vyv3120)) -> Zero 214.33/145.95 new_primMinusNatS2(Succ(vyv3110), Zero) -> Succ(vyv3110) 214.33/145.95 new_primMinusNatS2(Zero, Zero) -> Zero 214.33/145.95 new_primMinusNatS2(Succ(vyv3110), Succ(vyv3120)) -> new_primMinusNatS2(vyv3110, vyv3120) 214.33/145.95 new_primDivNatS1(Zero, vyv28500) -> Zero 214.33/145.95 new_sr7(Pos(vyv1840)) -> Pos(new_primMulNat1(vyv1840)) 214.33/145.95 new_sr7(Neg(vyv1840)) -> Pos(new_primMulNat1(vyv1840)) 214.33/145.95 new_primMulNat1(Succ(vyv18400)) -> new_primPlusNat0(new_primMulNat2(vyv18400), Succ(vyv18400)) 214.33/145.95 new_primMulNat1(Zero) -> Zero 214.33/145.95 new_primMulNat2(Succ(vyv184000)) -> new_primPlusNat0(new_primMulNat3(vyv184000), Succ(Succ(vyv184000))) 214.33/145.95 new_primMulNat2(Zero) -> Zero 214.33/145.95 new_primPlusNat0(Succ(vyv4000), Succ(vyv6000)) -> Succ(Succ(new_primPlusNat0(vyv4000, vyv6000))) 214.33/145.95 new_primPlusNat0(Zero, Succ(vyv6000)) -> Succ(vyv6000) 214.33/145.95 new_primPlusNat0(Zero, Zero) -> Zero 214.33/145.95 new_primPlusNat0(Succ(vyv4000), Zero) -> Succ(vyv4000) 214.33/145.95 new_primMulNat3(Succ(vyv1840000)) -> new_primPlusNat0(new_primMulNat4(vyv1840000), Succ(Succ(Succ(vyv1840000)))) 214.33/145.95 new_primMulNat3(Zero) -> Zero 214.33/145.95 new_primMulNat4(Succ(vyv18400000)) -> new_primPlusNat0(new_primMulNat0(vyv18400000, Succ(Succ(Succ(Succ(vyv18400000))))), Succ(Succ(Succ(Succ(vyv18400000))))) 214.33/145.95 new_primMulNat4(Zero) -> Zero 214.33/145.95 new_primMulNat0(Zero, Succ(vyv23900)) -> Zero 214.33/145.95 new_primMulNat0(Succ(vyv24000), Succ(vyv23900)) -> new_primPlusNat0(new_primMulNat0(vyv24000, Succ(vyv23900)), Succ(vyv23900)) 214.33/145.95 new_sr6(vyv184) -> error([]) 214.33/145.95 new_sr5(:%(vyv1840, vyv1841), bd) -> new_reduce2Reduce1(vyv1840, vyv1840, vyv1841, vyv1841, new_esEs0(vyv1841, bd), bd) 214.33/145.95 new_esEs0(vyv1841, ty_Int) -> new_esEs(new_sr7(vyv1841)) 214.33/145.95 new_esEs0(vyv1841, ty_Integer) -> new_esEs1(new_sr6(vyv1841)) 214.33/145.95 new_reduce2Reduce1(vyv265, vyv266, vyv267, vyv268, False, bh) -> :%(new_quot0(vyv265, vyv266, vyv267, vyv268, bh), new_quot1(vyv267, vyv268, vyv265, vyv266, bh)) 214.33/145.95 new_reduce2Reduce1(vyv265, vyv266, vyv267, vyv268, True, bh) -> error([]) 214.33/145.95 new_quot0(vyv265, vyv266, vyv267, vyv268, ty_Integer) -> new_quot2(new_sr9(vyv265, vyv266), new_sr9(vyv265, vyv266), new_sr9(vyv267, vyv268)) 214.33/145.95 new_quot0(vyv265, vyv266, vyv267, vyv268, ty_Int) -> new_quot(new_sr10(vyv265, vyv266), new_sr10(vyv265, vyv266), new_sr10(vyv267, vyv268)) 214.33/145.95 new_quot1(vyv267, vyv268, vyv265, vyv266, ty_Int) -> new_quot(new_sr10(vyv267, vyv268), new_sr10(vyv265, vyv266), new_sr10(vyv267, vyv268)) 214.33/145.95 new_quot1(vyv267, vyv268, vyv265, vyv266, ty_Integer) -> new_quot2(new_sr9(vyv267, vyv268), new_sr9(vyv265, vyv266), new_sr9(vyv267, vyv268)) 214.33/145.95 new_sr9(vyv240, vyv239) -> error([]) 214.33/145.95 new_quot2(vyv274, vyv276, vyv275) -> error([]) 214.33/145.95 new_sr10(Pos(vyv2400), Pos(vyv2390)) -> Pos(new_primMulNat0(vyv2400, vyv2390)) 214.33/145.95 new_sr10(Neg(vyv2400), Neg(vyv2390)) -> Pos(new_primMulNat0(vyv2400, vyv2390)) 214.33/145.95 new_sr10(Pos(vyv2400), Neg(vyv2390)) -> Neg(new_primMulNat0(vyv2400, vyv2390)) 214.33/145.95 new_sr10(Neg(vyv2400), Pos(vyv2390)) -> Neg(new_primMulNat0(vyv2400, vyv2390)) 214.33/145.95 new_quot(Pos(vyv2710), vyv273, vyv272) -> new_primQuotInt(vyv2710, new_gcd(vyv273, vyv272)) 214.33/145.95 new_quot(Neg(vyv2710), vyv273, vyv272) -> new_primQuotInt0(vyv2710, new_gcd(vyv273, vyv272)) 214.33/145.95 new_gcd(vyv273, vyv272) -> new_gcd2(new_esEs(vyv273), vyv273, vyv272) 214.33/145.95 new_primQuotInt0(vyv2710, Pos(Succ(vyv28800))) -> Neg(new_primDivNatS1(vyv2710, vyv28800)) 214.33/145.95 new_primQuotInt0(vyv2710, Neg(Zero)) -> new_error 214.33/145.95 new_primQuotInt0(vyv2710, Neg(Succ(vyv28800))) -> Pos(new_primDivNatS1(vyv2710, vyv28800)) 214.33/145.95 new_primQuotInt0(vyv2710, Pos(Zero)) -> new_error 214.33/145.95 new_error -> error([]) 214.33/145.95 new_primDivNatS1(Succ(Succ(vyv271000)), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS0(vyv271000), Zero)) 214.33/145.95 new_primDivNatS1(Succ(Zero), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS1, Zero)) 214.33/145.95 new_primMinusNatS1 -> Zero 214.33/145.95 new_primMinusNatS0(vyv271000) -> Succ(vyv271000) 214.33/145.95 new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) 214.33/145.95 new_esEs(Pos(Succ(vyv24300))) -> new_primEqInt(Pos(Succ(vyv24300))) 214.33/145.95 new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) 214.33/145.95 new_esEs(Neg(Succ(vyv24300))) -> new_primEqInt(Neg(Succ(vyv24300))) 214.33/145.95 new_gcd2(True, vyv273, vyv272) -> new_gcd1(new_esEs(vyv272), vyv273, vyv272) 214.33/145.95 new_gcd2(False, vyv273, vyv272) -> new_gcd0(vyv273, vyv272) 214.33/145.95 new_gcd0(vyv273, vyv272) -> new_gcd0Gcd'11(new_esEs(new_abs(vyv272)), vyv273, vyv272) 214.33/145.95 new_abs(Neg(Zero)) -> Neg(Zero) 214.33/145.95 new_abs(Neg(Succ(vyv27200))) -> Pos(Succ(vyv27200)) 214.33/145.95 new_abs(Pos(Succ(vyv27200))) -> Pos(Succ(vyv27200)) 214.33/145.95 new_abs(Pos(Zero)) -> Pos(Zero) 214.33/145.95 new_gcd0Gcd'11(True, vyv273, vyv272) -> new_abs(vyv273) 214.33/145.95 new_gcd0Gcd'11(False, vyv273, vyv272) -> new_gcd0Gcd'00(new_abs(vyv273), new_abs(vyv272)) 214.33/145.95 new_gcd0Gcd'00(vyv293, vyv292) -> new_gcd0Gcd'10(new_esEs(new_rem(vyv293, vyv292)), vyv292, vyv293) 214.33/145.95 new_gcd0Gcd'10(False, vyv292, vyv293) -> new_gcd0Gcd'00(vyv292, new_rem(vyv293, vyv292)) 214.33/145.95 new_rem(Pos(vyv2930), Neg(Zero)) -> new_error 214.33/145.95 new_rem(Neg(vyv2930), Pos(Zero)) -> new_error 214.33/145.95 new_rem(Pos(vyv2930), Neg(Succ(vyv29200))) -> Pos(new_primModNatS1(vyv2930, vyv29200)) 214.33/145.95 new_rem(Neg(vyv2930), Pos(Succ(vyv29200))) -> Neg(new_primModNatS1(vyv2930, vyv29200)) 214.33/145.95 new_rem(Pos(vyv2930), Pos(Succ(vyv29200))) -> Pos(new_primModNatS1(vyv2930, vyv29200)) 214.33/145.95 new_rem(Neg(vyv2930), Neg(Zero)) -> new_error 214.33/145.95 new_rem(Neg(vyv2930), Neg(Succ(vyv29200))) -> Neg(new_primModNatS1(vyv2930, vyv29200)) 214.33/145.95 new_rem(Pos(vyv2930), Pos(Zero)) -> new_error 214.33/145.95 new_gcd0Gcd'10(True, vyv292, vyv293) -> vyv292 214.33/145.95 new_primModNatS1(Succ(Zero), Succ(vyv292000)) -> Succ(Zero) 214.33/145.95 new_primModNatS1(Zero, vyv29200) -> Zero 214.33/145.95 new_primModNatS1(Succ(Succ(vyv293000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv293000), Zero) 214.33/145.95 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 214.33/145.95 new_primModNatS1(Succ(Succ(vyv293000)), Succ(vyv292000)) -> new_primModNatS01(vyv293000, vyv292000, vyv293000, vyv292000) 214.33/145.95 new_primModNatS01(vyv331, vyv332, Zero, Zero) -> new_primModNatS02(vyv331, vyv332) 214.33/145.95 new_primModNatS02(vyv331, vyv332) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv331), Succ(vyv332)), Succ(vyv332)) 214.33/145.95 new_primModNatS01(vyv331, vyv332, Succ(vyv3330), Zero) -> new_primModNatS02(vyv331, vyv332) 214.33/145.95 new_primModNatS01(vyv331, vyv332, Succ(vyv3330), Succ(vyv3340)) -> new_primModNatS01(vyv331, vyv332, vyv3330, vyv3340) 214.33/145.95 new_primModNatS01(vyv331, vyv332, Zero, Succ(vyv3340)) -> Succ(Succ(vyv331)) 214.33/145.95 new_gcd1(True, vyv273, vyv272) -> new_error 214.33/145.95 new_gcd1(False, vyv273, vyv272) -> new_gcd0(vyv273, vyv272) 214.33/145.95 new_primEqInt(Neg(Succ(vyv242000))) -> False 214.33/145.95 new_primEqInt(Pos(Zero)) -> True 214.33/145.95 new_primEqInt(Pos(Succ(vyv242000))) -> False 214.33/145.95 new_primEqInt(Neg(Zero)) -> True 214.33/145.95 new_primQuotInt(vyv2710, Pos(Succ(vyv28500))) -> Pos(new_primDivNatS1(vyv2710, vyv28500)) 214.33/145.95 new_primQuotInt(vyv2710, Neg(Zero)) -> new_error 214.33/145.95 new_primQuotInt(vyv2710, Pos(Zero)) -> new_error 214.33/145.95 new_primQuotInt(vyv2710, Neg(Succ(vyv28500))) -> Neg(new_primDivNatS1(vyv2710, vyv28500)) 214.33/145.95 new_primMulNat0(Succ(vyv24000), Zero) -> Zero 214.33/145.95 new_primMulNat0(Zero, Zero) -> Zero 214.33/145.95 new_esEs1(Integer(vyv2700)) -> new_primEqInt(vyv2700) 214.33/145.95 new_sr12(vyv184) -> error([]) 214.33/145.95 new_sr11(vyv184) -> error([]) 214.33/145.95 new_ms(vyv229, Neg(vyv2450)) -> Pos(new_primPlusNat0(Succ(vyv229), vyv2450)) 214.33/145.95 new_ms(vyv229, Pos(Succ(vyv24500))) -> new_primMinusNat0(vyv229, vyv24500) 214.33/145.95 new_ms(vyv229, Pos(Zero)) -> Pos(Succ(vyv229)) 214.33/145.95 new_sr2(vyv228, vyv227, ty_Integer) -> new_sr9(vyv228, vyv227) 214.33/145.95 new_sr2(vyv228, vyv227, ty_Int) -> new_sr10(vyv228, vyv227) 214.33/145.95 new_sr2(vyv228, vyv227, app(ty_Ratio, bg)) -> new_sr8(vyv228, vyv227, bg) 214.33/145.95 new_sr2(vyv228, vyv227, ty_Double) -> new_sr13(vyv228, vyv227) 214.33/145.95 new_sr2(vyv228, vyv227, ty_Float) -> new_sr14(vyv228, vyv227) 214.33/145.95 new_sr14(vyv240, vyv239) -> error([]) 214.33/145.95 new_sr13(vyv240, vyv239) -> error([]) 214.33/145.95 new_sr8(:%(vyv2400, vyv2401), :%(vyv2390, vyv2391), be) -> new_reduce2Reduce1(vyv2400, vyv2390, vyv2401, vyv2391, new_esEs2(vyv2401, vyv2391, be), be) 214.33/145.95 new_esEs2(vyv2401, vyv2391, ty_Integer) -> new_esEs1(new_sr9(vyv2401, vyv2391)) 214.33/145.95 new_esEs2(vyv2401, vyv2391, ty_Int) -> new_esEs(new_sr10(vyv2401, vyv2391)) 214.33/145.95 new_primMinusNat0(Succ(vyv2290), Succ(vyv245000)) -> new_primMinusNat0(vyv2290, vyv245000) 214.33/145.95 new_primMinusNat0(Zero, Zero) -> Pos(Zero) 214.33/145.95 new_primMinusNat0(Zero, Succ(vyv245000)) -> Neg(Succ(vyv245000)) 214.33/145.95 new_primMinusNat0(Succ(vyv2290), Zero) -> Pos(Succ(vyv2290)) 214.33/145.95 new_sr3(vyv250, ty_Double) -> new_sr11(vyv250) 214.33/145.95 new_sr3(vyv250, ty_Int) -> new_sr7(vyv250) 214.33/145.95 new_sr3(vyv250, ty_Float) -> new_sr12(vyv250) 214.33/145.95 new_sr3(vyv250, ty_Integer) -> new_sr6(vyv250) 214.33/145.95 new_sr3(vyv250, app(ty_Ratio, bf)) -> new_sr5(vyv250, bf) 214.33/145.95 new_ms0(vyv241, Neg(Zero)) -> Neg(Succ(vyv241)) 214.33/145.95 new_ms0(vyv241, Pos(vyv2440)) -> Neg(new_primPlusNat0(Succ(vyv241), vyv2440)) 214.33/145.95 new_ms0(vyv241, Neg(Succ(vyv24400))) -> new_primMinusNat0(vyv24400, vyv241) 214.33/145.95 new_sr4(vyv240, vyv239, app(ty_Ratio, be)) -> new_sr8(vyv240, vyv239, be) 214.33/145.95 new_sr4(vyv240, vyv239, ty_Float) -> new_sr14(vyv240, vyv239) 214.33/145.95 new_sr4(vyv240, vyv239, ty_Int) -> new_sr10(vyv240, vyv239) 214.33/145.95 new_sr4(vyv240, vyv239, ty_Double) -> new_sr13(vyv240, vyv239) 214.33/145.95 new_sr4(vyv240, vyv239, ty_Integer) -> new_sr9(vyv240, vyv239) 214.33/145.95 214.33/145.95 The set Q consists of the following terms: 214.33/145.95 214.33/145.95 new_sr13(x0, x1) 214.33/145.95 new_primDivNatS01(x0, x1, Zero, Zero) 214.33/145.95 new_gcd0Gcd'11(False, x0, x1) 214.33/145.95 new_primMulNat4(Zero) 214.33/145.95 new_gcd0Gcd'11(True, x0, x1) 214.33/145.95 new_sr2(x0, x1, ty_Float) 214.33/145.95 new_sr5(:%(x0, x1), x2) 214.33/145.95 new_primEqInt(Pos(Zero)) 214.33/145.95 new_ms(x0, Neg(x1)) 214.33/145.95 new_sr2(x0, x1, ty_Double) 214.33/145.95 new_esEs(Pos(Succ(x0))) 214.33/145.95 new_primQuotInt0(x0, Neg(Zero)) 214.33/145.95 new_primMulNat3(Zero) 214.33/145.95 new_primModNatS02(x0, x1) 214.33/145.95 new_primDivNatS1(Succ(Zero), Zero) 214.33/145.95 new_primMinusNatS0(x0) 214.33/145.95 new_sr11(x0) 214.33/145.95 new_rem(Pos(x0), Neg(Succ(x1))) 214.33/145.95 new_rem(Neg(x0), Pos(Succ(x1))) 214.33/145.95 new_primMulNat0(Zero, Zero) 214.33/145.95 new_primPlusNat0(Succ(x0), Zero) 214.33/145.95 new_primMulNat0(Succ(x0), Zero) 214.33/145.95 new_sr3(x0, ty_Float) 214.33/145.95 new_primMulNat2(Zero) 214.33/145.95 new_primQuotInt(x0, Pos(Zero)) 214.33/145.95 new_primMulNat2(Succ(x0)) 214.33/145.95 new_primQuotInt(x0, Neg(Zero)) 214.33/145.95 new_rem(Neg(x0), Neg(Succ(x1))) 214.33/145.95 new_primMinusNatS2(Zero, Succ(x0)) 214.33/145.95 new_sr4(x0, x1, ty_Double) 214.33/145.95 new_primMulNat3(Succ(x0)) 214.33/145.95 new_esEs1(Integer(x0)) 214.33/145.95 new_primQuotInt0(x0, Pos(Zero)) 214.33/145.95 new_gcd2(True, x0, x1) 214.33/145.95 new_quot1(x0, x1, x2, x3, ty_Int) 214.33/145.95 new_primDivNatS1(Zero, x0) 214.33/145.95 new_primMinusNat0(Zero, Zero) 214.33/145.95 new_gcd(x0, x1) 214.33/145.95 new_gcd1(False, x0, x1) 214.33/145.95 new_esEs2(x0, x1, ty_Int) 214.33/145.95 new_sr3(x0, ty_Integer) 214.33/145.95 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 214.33/145.95 new_sr1(x0, app(ty_Ratio, x1)) 214.33/145.95 new_sr1(x0, ty_Float) 214.33/145.95 new_primPlusNat0(Zero, Succ(x0)) 214.33/145.95 new_sr8(:%(x0, x1), :%(x2, x3), x4) 214.33/145.95 new_abs(Neg(Zero)) 214.33/145.95 new_primMinusNatS2(Succ(x0), Zero) 214.33/145.95 new_error 214.33/145.95 new_primModNatS1(Succ(Zero), Zero) 214.33/145.95 new_primMulNat4(Succ(x0)) 214.33/145.95 new_sr1(x0, ty_Integer) 214.33/145.95 new_primDivNatS02(x0, x1) 214.33/145.95 new_sr1(x0, ty_Int) 214.33/145.95 new_rem(Neg(x0), Neg(Zero)) 214.33/145.95 new_primMinusNat0(Zero, Succ(x0)) 214.33/145.95 new_primEqInt(Neg(Zero)) 214.33/145.95 new_rem(Pos(x0), Pos(Succ(x1))) 214.33/145.95 new_abs(Pos(Succ(x0))) 214.33/145.95 new_primMulNat0(Succ(x0), Succ(x1)) 214.33/145.95 new_primMulNat0(Zero, Succ(x0)) 214.33/145.95 new_reduce2Reduce1(x0, x1, x2, x3, True, x4) 214.33/145.95 new_gcd0Gcd'10(False, x0, x1) 214.33/145.95 new_sr12(x0) 214.33/145.95 new_primDivNatS01(x0, x1, Zero, Succ(x2)) 214.33/145.95 new_sr10(Pos(x0), Pos(x1)) 214.33/145.95 new_primModNatS01(x0, x1, Zero, Succ(x2)) 214.33/145.95 new_primPlusNat0(Zero, Zero) 214.33/145.95 new_primQuotInt0(x0, Pos(Succ(x1))) 214.33/145.95 new_primModNatS01(x0, x1, Succ(x2), Zero) 214.33/145.95 new_ms(x0, Pos(Succ(x1))) 214.33/145.95 new_primModNatS1(Succ(Succ(x0)), Zero) 214.33/145.95 new_sr4(x0, x1, ty_Integer) 214.33/145.95 new_rem(Pos(x0), Pos(Zero)) 214.33/145.95 new_sr4(x0, x1, ty_Int) 214.33/145.95 new_ms0(x0, Neg(Succ(x1))) 214.33/145.95 new_quot(Pos(x0), x1, x2) 214.33/145.95 new_primMinusNatS2(Zero, Zero) 214.33/145.95 new_esEs0(x0, ty_Int) 214.33/145.95 new_primMinusNat0(Succ(x0), Zero) 214.33/145.95 new_ms0(x0, Pos(x1)) 214.33/145.95 new_esEs(Pos(Zero)) 214.33/145.95 new_quot(Neg(x0), x1, x2) 214.33/145.95 new_primDivNatS01(x0, x1, Succ(x2), Succ(x3)) 214.33/145.95 new_quot2(x0, x1, x2) 214.33/145.95 new_primEqInt(Neg(Succ(x0))) 214.33/145.95 new_sr10(Neg(x0), Neg(x1)) 214.33/145.95 new_sr3(x0, app(ty_Ratio, x1)) 214.33/145.95 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 214.33/145.95 new_sr9(x0, x1) 214.33/145.95 new_sr2(x0, x1, ty_Integer) 214.33/145.95 new_sr7(Neg(x0)) 214.33/145.95 new_sr1(x0, ty_Double) 214.33/145.95 new_primQuotInt0(x0, Neg(Succ(x1))) 214.33/145.95 new_rem(Pos(x0), Neg(Zero)) 214.33/145.95 new_rem(Neg(x0), Pos(Zero)) 214.33/145.95 new_gcd0Gcd'00(x0, x1) 214.33/145.95 new_primQuotInt(x0, Neg(Succ(x1))) 214.33/145.95 new_primMinusNatS2(Succ(x0), Succ(x1)) 214.33/145.95 new_ms(x0, Pos(Zero)) 214.33/145.95 new_abs(Pos(Zero)) 214.33/145.95 new_primMinusNat0(Succ(x0), Succ(x1)) 214.33/145.95 new_quot0(x0, x1, x2, x3, ty_Integer) 214.33/145.95 new_sr6(x0) 214.33/145.95 new_gcd2(False, x0, x1) 214.33/145.95 new_gcd1(True, x0, x1) 214.33/145.95 new_esEs2(x0, x1, ty_Integer) 214.33/145.95 new_primMinusNatS1 214.33/145.95 new_sr7(Pos(x0)) 214.33/145.95 new_gcd0Gcd'10(True, x0, x1) 214.33/145.95 new_primModNatS1(Zero, x0) 214.33/145.95 new_sr4(x0, x1, ty_Float) 214.33/145.95 new_sr10(Pos(x0), Neg(x1)) 214.33/145.95 new_sr10(Neg(x0), Pos(x1)) 214.33/145.95 new_primDivNatS01(x0, x1, Succ(x2), Zero) 214.33/145.95 new_primDivNatS1(Succ(Succ(x0)), Succ(x1)) 214.33/145.95 new_primPlusNat0(Succ(x0), Succ(x1)) 214.33/145.95 new_primDivNatS1(Succ(Zero), Succ(x0)) 214.33/145.95 new_primQuotInt(x0, Pos(Succ(x1))) 214.33/145.95 new_sr2(x0, x1, app(ty_Ratio, x2)) 214.33/145.95 new_abs(Neg(Succ(x0))) 214.33/145.95 new_esEs0(x0, ty_Integer) 214.33/145.95 new_sr3(x0, ty_Int) 214.33/145.95 new_esEs(Neg(Succ(x0))) 214.33/145.95 new_ms0(x0, Neg(Zero)) 214.33/145.95 new_primModNatS01(x0, x1, Zero, Zero) 214.33/145.95 new_sr4(x0, x1, app(ty_Ratio, x2)) 214.33/145.95 new_gcd0(x0, x1) 214.33/145.95 new_primEqInt(Pos(Succ(x0))) 214.33/145.95 new_sr3(x0, ty_Double) 214.33/145.95 new_quot1(x0, x1, x2, x3, ty_Integer) 214.33/145.95 new_primDivNatS1(Succ(Succ(x0)), Zero) 214.33/145.95 new_primMulNat1(Succ(x0)) 214.33/145.95 new_sr14(x0, x1) 214.33/145.95 new_quot0(x0, x1, x2, x3, ty_Int) 214.33/145.95 new_sr2(x0, x1, ty_Int) 214.33/145.95 new_primModNatS1(Succ(Zero), Succ(x0)) 214.33/145.95 new_reduce2Reduce1(x0, x1, x2, x3, False, x4) 214.33/145.95 new_esEs(Neg(Zero)) 214.33/145.95 new_primMulNat1(Zero) 214.33/145.95 214.33/145.95 We have to consider all minimal (P,Q,R)-chains. 214.33/145.95 ---------------------------------------- 214.33/145.95 214.33/145.95 (776) TransformationProof (EQUIVALENT) 214.33/145.95 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]: 214.33/145.95 214.33/145.95 (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)) 214.33/145.95 214.33/145.95 214.33/145.95 ---------------------------------------- 214.33/145.95 214.33/145.95 (777) 214.33/145.95 Obligation: 214.33/145.95 Q DP problem: 214.33/145.95 The TRS P consists of the following rules: 214.33/145.95 214.33/145.95 new_pr2F0G11(vyv239, vyv240, vyv241, bc) -> new_pr2F1(vyv240, vyv241, Pos(Succ(Zero)), vyv239, bc) 214.33/145.95 new_pr2F30(False, vyv240, vyv241, vyv244, vyv239, bc) -> new_pr2F0(vyv240, new_ms0(vyv241, vyv244), new_sr4(vyv240, vyv239, bc), bc) 214.33/145.95 new_pr2F0(vyv184, Neg(Succ(Succ(vyv223000))), vyv188, h) -> new_pr2F0G10(vyv188, vyv184, Succ(vyv223000), vyv223000, h) 214.33/145.95 new_pr2F0G10(vyv249, vyv250, vyv251, Succ(Succ(vyv25200)), bb) -> new_pr2F0G10(vyv249, vyv250, vyv251, vyv25200, bb) 214.33/145.95 new_pr2F0G10(vyv249, vyv250, vyv251, Succ(Zero), bb) -> new_pr2F0G11(vyv249, vyv250, vyv251, bb) 214.33/145.95 new_pr2F0G10(vyv249, vyv250, vyv251, Zero, bb) -> new_pr2F0G(vyv249, new_sr3(vyv250, bb), Neg(new_primDivNatS1(Succ(vyv251), Succ(Zero))), bb) 214.33/145.95 new_pr2F0G(vyv188, vyv184, Neg(Succ(Zero)), h) -> new_pr2F0G11(vyv188, vyv184, Zero, h) 214.33/145.95 new_pr2F0G(vyv188, vyv184, Neg(Succ(Succ(vyv223000))), h) -> new_pr2F0G10(vyv188, vyv184, Succ(vyv223000), vyv223000, h) 214.33/145.95 new_pr2F0(vyv184, Neg(Succ(Zero)), vyv188, h) -> new_pr2F0G11(vyv188, vyv184, Zero, h) 214.33/145.95 new_pr2F0(vyv184, Pos(Succ(Succ(vyv223000))), vyv188, h) -> new_pr2F0G1(vyv188, vyv184, Succ(vyv223000), vyv223000, h) 214.33/145.95 new_pr2F0G1(vyv227, vyv228, vyv229, Succ(Succ(vyv23000)), ba) -> new_pr2F0G1(vyv227, vyv228, vyv229, vyv23000, ba) 214.33/145.95 new_pr2F0G1(vyv227, vyv228, vyv229, Succ(Zero), ba) -> new_pr2F(vyv228, vyv229, Pos(Succ(Zero)), vyv227, ba) 214.33/145.95 new_pr2F(vyv228, vyv229, vyv245, vyv227, ba) -> new_pr2F3(new_esEs(new_ms(vyv229, vyv245)), vyv228, vyv229, vyv245, vyv227, ba) 214.33/145.95 new_pr2F3(False, vyv228, vyv229, vyv245, vyv227, ba) -> new_pr2F0(vyv228, new_ms(vyv229, vyv245), new_sr2(vyv228, vyv227, ba), ba) 214.33/145.95 new_pr2F0(vyv184, Pos(Succ(Zero)), vyv188, h) -> new_pr2F(vyv184, Zero, Pos(Succ(Zero)), vyv188, h) 214.33/145.95 new_pr2F0G1(vyv227, vyv228, vyv229, Zero, ba) -> new_pr2F0G(vyv227, new_sr1(vyv228, ba), Pos(new_primDivNatS1(Succ(vyv229), Succ(Zero))), ba) 214.33/145.95 new_pr2F0G(vyv188, vyv184, Pos(Succ(Succ(vyv223000))), h) -> new_pr2F0G1(vyv188, vyv184, Succ(vyv223000), vyv223000, h) 214.33/145.95 new_pr2F0G(vyv188, vyv184, Pos(Succ(Zero)), h) -> new_pr2F(vyv184, Zero, Pos(Succ(Zero)), vyv188, h) 214.33/145.95 new_pr2F1(z1, z2, Pos(Succ(Zero)), z0, z3) -> new_pr2F30(False, z1, z2, Pos(Succ(Zero)), z0, z3) 214.33/145.95 214.33/145.95 The TRS R consists of the following rules: 214.33/145.95 214.33/145.95 new_sr1(vyv228, ty_Double) -> new_sr11(vyv228) 214.33/145.95 new_sr1(vyv228, ty_Float) -> new_sr12(vyv228) 214.33/145.95 new_sr1(vyv228, app(ty_Ratio, bg)) -> new_sr5(vyv228, bg) 214.33/145.95 new_sr1(vyv228, ty_Integer) -> new_sr6(vyv228) 214.33/145.95 new_sr1(vyv228, ty_Int) -> new_sr7(vyv228) 214.33/145.95 new_primDivNatS1(Succ(Zero), Succ(vyv285000)) -> Zero 214.33/145.95 new_primDivNatS1(Succ(Succ(vyv271000)), Succ(vyv285000)) -> new_primDivNatS01(vyv271000, vyv285000, vyv271000, vyv285000) 214.33/145.95 new_primDivNatS01(vyv311, vyv312, Succ(vyv3130), Zero) -> new_primDivNatS02(vyv311, vyv312) 214.33/145.95 new_primDivNatS01(vyv311, vyv312, Zero, Succ(vyv3140)) -> Zero 214.33/145.95 new_primDivNatS01(vyv311, vyv312, Succ(vyv3130), Succ(vyv3140)) -> new_primDivNatS01(vyv311, vyv312, vyv3130, vyv3140) 214.33/145.95 new_primDivNatS01(vyv311, vyv312, Zero, Zero) -> new_primDivNatS02(vyv311, vyv312) 214.33/145.95 new_primDivNatS02(vyv311, vyv312) -> Succ(new_primDivNatS1(new_primMinusNatS2(vyv311, vyv312), Succ(vyv312))) 214.33/145.95 new_primMinusNatS2(Zero, Succ(vyv3120)) -> Zero 214.33/145.95 new_primMinusNatS2(Succ(vyv3110), Zero) -> Succ(vyv3110) 214.33/145.95 new_primMinusNatS2(Zero, Zero) -> Zero 214.33/145.95 new_primMinusNatS2(Succ(vyv3110), Succ(vyv3120)) -> new_primMinusNatS2(vyv3110, vyv3120) 214.33/145.95 new_primDivNatS1(Zero, vyv28500) -> Zero 214.33/145.95 new_sr7(Pos(vyv1840)) -> Pos(new_primMulNat1(vyv1840)) 214.33/145.95 new_sr7(Neg(vyv1840)) -> Pos(new_primMulNat1(vyv1840)) 214.33/145.95 new_primMulNat1(Succ(vyv18400)) -> new_primPlusNat0(new_primMulNat2(vyv18400), Succ(vyv18400)) 214.33/145.95 new_primMulNat1(Zero) -> Zero 214.33/145.95 new_primMulNat2(Succ(vyv184000)) -> new_primPlusNat0(new_primMulNat3(vyv184000), Succ(Succ(vyv184000))) 214.33/145.95 new_primMulNat2(Zero) -> Zero 214.33/145.95 new_primPlusNat0(Succ(vyv4000), Succ(vyv6000)) -> Succ(Succ(new_primPlusNat0(vyv4000, vyv6000))) 214.33/145.95 new_primPlusNat0(Zero, Succ(vyv6000)) -> Succ(vyv6000) 214.33/145.95 new_primPlusNat0(Zero, Zero) -> Zero 214.33/145.95 new_primPlusNat0(Succ(vyv4000), Zero) -> Succ(vyv4000) 214.33/145.95 new_primMulNat3(Succ(vyv1840000)) -> new_primPlusNat0(new_primMulNat4(vyv1840000), Succ(Succ(Succ(vyv1840000)))) 214.33/145.95 new_primMulNat3(Zero) -> Zero 214.33/145.95 new_primMulNat4(Succ(vyv18400000)) -> new_primPlusNat0(new_primMulNat0(vyv18400000, Succ(Succ(Succ(Succ(vyv18400000))))), Succ(Succ(Succ(Succ(vyv18400000))))) 214.33/145.95 new_primMulNat4(Zero) -> Zero 214.33/145.95 new_primMulNat0(Zero, Succ(vyv23900)) -> Zero 214.33/145.95 new_primMulNat0(Succ(vyv24000), Succ(vyv23900)) -> new_primPlusNat0(new_primMulNat0(vyv24000, Succ(vyv23900)), Succ(vyv23900)) 214.33/145.95 new_sr6(vyv184) -> error([]) 214.33/145.95 new_sr5(:%(vyv1840, vyv1841), bd) -> new_reduce2Reduce1(vyv1840, vyv1840, vyv1841, vyv1841, new_esEs0(vyv1841, bd), bd) 214.33/145.95 new_esEs0(vyv1841, ty_Int) -> new_esEs(new_sr7(vyv1841)) 214.33/145.95 new_esEs0(vyv1841, ty_Integer) -> new_esEs1(new_sr6(vyv1841)) 214.33/145.95 new_reduce2Reduce1(vyv265, vyv266, vyv267, vyv268, False, bh) -> :%(new_quot0(vyv265, vyv266, vyv267, vyv268, bh), new_quot1(vyv267, vyv268, vyv265, vyv266, bh)) 214.33/145.95 new_reduce2Reduce1(vyv265, vyv266, vyv267, vyv268, True, bh) -> error([]) 214.33/145.95 new_quot0(vyv265, vyv266, vyv267, vyv268, ty_Integer) -> new_quot2(new_sr9(vyv265, vyv266), new_sr9(vyv265, vyv266), new_sr9(vyv267, vyv268)) 214.33/145.95 new_quot0(vyv265, vyv266, vyv267, vyv268, ty_Int) -> new_quot(new_sr10(vyv265, vyv266), new_sr10(vyv265, vyv266), new_sr10(vyv267, vyv268)) 214.33/145.95 new_quot1(vyv267, vyv268, vyv265, vyv266, ty_Int) -> new_quot(new_sr10(vyv267, vyv268), new_sr10(vyv265, vyv266), new_sr10(vyv267, vyv268)) 214.33/145.95 new_quot1(vyv267, vyv268, vyv265, vyv266, ty_Integer) -> new_quot2(new_sr9(vyv267, vyv268), new_sr9(vyv265, vyv266), new_sr9(vyv267, vyv268)) 214.33/145.95 new_sr9(vyv240, vyv239) -> error([]) 214.33/145.95 new_quot2(vyv274, vyv276, vyv275) -> error([]) 214.33/145.95 new_sr10(Pos(vyv2400), Pos(vyv2390)) -> Pos(new_primMulNat0(vyv2400, vyv2390)) 214.33/145.95 new_sr10(Neg(vyv2400), Neg(vyv2390)) -> Pos(new_primMulNat0(vyv2400, vyv2390)) 214.33/145.95 new_sr10(Pos(vyv2400), Neg(vyv2390)) -> Neg(new_primMulNat0(vyv2400, vyv2390)) 214.33/145.95 new_sr10(Neg(vyv2400), Pos(vyv2390)) -> Neg(new_primMulNat0(vyv2400, vyv2390)) 214.33/145.95 new_quot(Pos(vyv2710), vyv273, vyv272) -> new_primQuotInt(vyv2710, new_gcd(vyv273, vyv272)) 214.33/145.95 new_quot(Neg(vyv2710), vyv273, vyv272) -> new_primQuotInt0(vyv2710, new_gcd(vyv273, vyv272)) 214.33/145.95 new_gcd(vyv273, vyv272) -> new_gcd2(new_esEs(vyv273), vyv273, vyv272) 214.33/145.95 new_primQuotInt0(vyv2710, Pos(Succ(vyv28800))) -> Neg(new_primDivNatS1(vyv2710, vyv28800)) 214.33/145.95 new_primQuotInt0(vyv2710, Neg(Zero)) -> new_error 214.33/145.95 new_primQuotInt0(vyv2710, Neg(Succ(vyv28800))) -> Pos(new_primDivNatS1(vyv2710, vyv28800)) 214.33/145.95 new_primQuotInt0(vyv2710, Pos(Zero)) -> new_error 214.33/145.95 new_error -> error([]) 214.33/145.95 new_primDivNatS1(Succ(Succ(vyv271000)), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS0(vyv271000), Zero)) 214.33/145.95 new_primDivNatS1(Succ(Zero), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS1, Zero)) 214.33/145.95 new_primMinusNatS1 -> Zero 214.33/145.95 new_primMinusNatS0(vyv271000) -> Succ(vyv271000) 214.33/145.95 new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) 214.33/145.95 new_esEs(Pos(Succ(vyv24300))) -> new_primEqInt(Pos(Succ(vyv24300))) 214.33/145.95 new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) 214.33/145.95 new_esEs(Neg(Succ(vyv24300))) -> new_primEqInt(Neg(Succ(vyv24300))) 214.33/145.95 new_gcd2(True, vyv273, vyv272) -> new_gcd1(new_esEs(vyv272), vyv273, vyv272) 214.33/145.95 new_gcd2(False, vyv273, vyv272) -> new_gcd0(vyv273, vyv272) 214.33/145.95 new_gcd0(vyv273, vyv272) -> new_gcd0Gcd'11(new_esEs(new_abs(vyv272)), vyv273, vyv272) 214.33/145.95 new_abs(Neg(Zero)) -> Neg(Zero) 214.33/145.95 new_abs(Neg(Succ(vyv27200))) -> Pos(Succ(vyv27200)) 214.33/145.95 new_abs(Pos(Succ(vyv27200))) -> Pos(Succ(vyv27200)) 214.33/145.95 new_abs(Pos(Zero)) -> Pos(Zero) 214.33/145.95 new_gcd0Gcd'11(True, vyv273, vyv272) -> new_abs(vyv273) 214.33/145.95 new_gcd0Gcd'11(False, vyv273, vyv272) -> new_gcd0Gcd'00(new_abs(vyv273), new_abs(vyv272)) 214.33/145.95 new_gcd0Gcd'00(vyv293, vyv292) -> new_gcd0Gcd'10(new_esEs(new_rem(vyv293, vyv292)), vyv292, vyv293) 214.33/145.95 new_gcd0Gcd'10(False, vyv292, vyv293) -> new_gcd0Gcd'00(vyv292, new_rem(vyv293, vyv292)) 214.33/145.95 new_rem(Pos(vyv2930), Neg(Zero)) -> new_error 214.33/145.95 new_rem(Neg(vyv2930), Pos(Zero)) -> new_error 214.33/145.95 new_rem(Pos(vyv2930), Neg(Succ(vyv29200))) -> Pos(new_primModNatS1(vyv2930, vyv29200)) 214.33/145.95 new_rem(Neg(vyv2930), Pos(Succ(vyv29200))) -> Neg(new_primModNatS1(vyv2930, vyv29200)) 214.33/145.95 new_rem(Pos(vyv2930), Pos(Succ(vyv29200))) -> Pos(new_primModNatS1(vyv2930, vyv29200)) 214.33/145.95 new_rem(Neg(vyv2930), Neg(Zero)) -> new_error 214.33/145.95 new_rem(Neg(vyv2930), Neg(Succ(vyv29200))) -> Neg(new_primModNatS1(vyv2930, vyv29200)) 214.33/145.95 new_rem(Pos(vyv2930), Pos(Zero)) -> new_error 214.33/145.95 new_gcd0Gcd'10(True, vyv292, vyv293) -> vyv292 214.33/145.95 new_primModNatS1(Succ(Zero), Succ(vyv292000)) -> Succ(Zero) 214.33/145.95 new_primModNatS1(Zero, vyv29200) -> Zero 214.33/145.95 new_primModNatS1(Succ(Succ(vyv293000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv293000), Zero) 214.33/145.95 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 214.33/145.95 new_primModNatS1(Succ(Succ(vyv293000)), Succ(vyv292000)) -> new_primModNatS01(vyv293000, vyv292000, vyv293000, vyv292000) 214.33/145.95 new_primModNatS01(vyv331, vyv332, Zero, Zero) -> new_primModNatS02(vyv331, vyv332) 214.33/145.95 new_primModNatS02(vyv331, vyv332) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv331), Succ(vyv332)), Succ(vyv332)) 214.33/145.95 new_primModNatS01(vyv331, vyv332, Succ(vyv3330), Zero) -> new_primModNatS02(vyv331, vyv332) 214.33/145.95 new_primModNatS01(vyv331, vyv332, Succ(vyv3330), Succ(vyv3340)) -> new_primModNatS01(vyv331, vyv332, vyv3330, vyv3340) 214.33/145.95 new_primModNatS01(vyv331, vyv332, Zero, Succ(vyv3340)) -> Succ(Succ(vyv331)) 214.33/145.95 new_gcd1(True, vyv273, vyv272) -> new_error 214.33/145.95 new_gcd1(False, vyv273, vyv272) -> new_gcd0(vyv273, vyv272) 214.33/145.95 new_primEqInt(Neg(Succ(vyv242000))) -> False 214.33/145.95 new_primEqInt(Pos(Zero)) -> True 214.33/145.95 new_primEqInt(Pos(Succ(vyv242000))) -> False 214.33/145.95 new_primEqInt(Neg(Zero)) -> True 214.33/145.95 new_primQuotInt(vyv2710, Pos(Succ(vyv28500))) -> Pos(new_primDivNatS1(vyv2710, vyv28500)) 214.33/145.95 new_primQuotInt(vyv2710, Neg(Zero)) -> new_error 214.33/145.95 new_primQuotInt(vyv2710, Pos(Zero)) -> new_error 214.33/145.95 new_primQuotInt(vyv2710, Neg(Succ(vyv28500))) -> Neg(new_primDivNatS1(vyv2710, vyv28500)) 214.33/145.95 new_primMulNat0(Succ(vyv24000), Zero) -> Zero 214.33/145.95 new_primMulNat0(Zero, Zero) -> Zero 214.33/145.95 new_esEs1(Integer(vyv2700)) -> new_primEqInt(vyv2700) 214.33/145.95 new_sr12(vyv184) -> error([]) 214.33/145.95 new_sr11(vyv184) -> error([]) 214.33/145.95 new_ms(vyv229, Neg(vyv2450)) -> Pos(new_primPlusNat0(Succ(vyv229), vyv2450)) 214.33/145.95 new_ms(vyv229, Pos(Succ(vyv24500))) -> new_primMinusNat0(vyv229, vyv24500) 214.33/145.95 new_ms(vyv229, Pos(Zero)) -> Pos(Succ(vyv229)) 214.33/145.95 new_sr2(vyv228, vyv227, ty_Integer) -> new_sr9(vyv228, vyv227) 214.33/145.95 new_sr2(vyv228, vyv227, ty_Int) -> new_sr10(vyv228, vyv227) 214.33/145.95 new_sr2(vyv228, vyv227, app(ty_Ratio, bg)) -> new_sr8(vyv228, vyv227, bg) 214.33/145.95 new_sr2(vyv228, vyv227, ty_Double) -> new_sr13(vyv228, vyv227) 214.33/145.95 new_sr2(vyv228, vyv227, ty_Float) -> new_sr14(vyv228, vyv227) 214.33/145.95 new_sr14(vyv240, vyv239) -> error([]) 214.33/145.95 new_sr13(vyv240, vyv239) -> error([]) 214.33/145.95 new_sr8(:%(vyv2400, vyv2401), :%(vyv2390, vyv2391), be) -> new_reduce2Reduce1(vyv2400, vyv2390, vyv2401, vyv2391, new_esEs2(vyv2401, vyv2391, be), be) 214.33/145.95 new_esEs2(vyv2401, vyv2391, ty_Integer) -> new_esEs1(new_sr9(vyv2401, vyv2391)) 214.33/145.95 new_esEs2(vyv2401, vyv2391, ty_Int) -> new_esEs(new_sr10(vyv2401, vyv2391)) 214.33/145.95 new_primMinusNat0(Succ(vyv2290), Succ(vyv245000)) -> new_primMinusNat0(vyv2290, vyv245000) 214.33/145.95 new_primMinusNat0(Zero, Zero) -> Pos(Zero) 214.33/145.95 new_primMinusNat0(Zero, Succ(vyv245000)) -> Neg(Succ(vyv245000)) 214.33/145.95 new_primMinusNat0(Succ(vyv2290), Zero) -> Pos(Succ(vyv2290)) 214.33/145.95 new_sr3(vyv250, ty_Double) -> new_sr11(vyv250) 214.33/145.95 new_sr3(vyv250, ty_Int) -> new_sr7(vyv250) 214.33/145.95 new_sr3(vyv250, ty_Float) -> new_sr12(vyv250) 214.33/145.95 new_sr3(vyv250, ty_Integer) -> new_sr6(vyv250) 214.33/145.95 new_sr3(vyv250, app(ty_Ratio, bf)) -> new_sr5(vyv250, bf) 214.33/145.95 new_ms0(vyv241, Neg(Zero)) -> Neg(Succ(vyv241)) 214.33/145.95 new_ms0(vyv241, Pos(vyv2440)) -> Neg(new_primPlusNat0(Succ(vyv241), vyv2440)) 214.33/145.95 new_ms0(vyv241, Neg(Succ(vyv24400))) -> new_primMinusNat0(vyv24400, vyv241) 214.33/145.95 new_sr4(vyv240, vyv239, app(ty_Ratio, be)) -> new_sr8(vyv240, vyv239, be) 214.33/145.95 new_sr4(vyv240, vyv239, ty_Float) -> new_sr14(vyv240, vyv239) 214.33/145.95 new_sr4(vyv240, vyv239, ty_Int) -> new_sr10(vyv240, vyv239) 214.33/145.95 new_sr4(vyv240, vyv239, ty_Double) -> new_sr13(vyv240, vyv239) 214.33/145.95 new_sr4(vyv240, vyv239, ty_Integer) -> new_sr9(vyv240, vyv239) 214.33/145.95 214.33/145.95 The set Q consists of the following terms: 214.33/145.95 214.33/145.95 new_sr13(x0, x1) 214.33/145.95 new_primDivNatS01(x0, x1, Zero, Zero) 214.33/145.95 new_gcd0Gcd'11(False, x0, x1) 214.33/145.95 new_primMulNat4(Zero) 214.33/145.95 new_gcd0Gcd'11(True, x0, x1) 214.33/145.95 new_sr2(x0, x1, ty_Float) 214.33/145.95 new_sr5(:%(x0, x1), x2) 214.33/145.95 new_primEqInt(Pos(Zero)) 214.33/145.95 new_ms(x0, Neg(x1)) 214.33/145.95 new_sr2(x0, x1, ty_Double) 214.33/145.95 new_esEs(Pos(Succ(x0))) 214.33/145.95 new_primQuotInt0(x0, Neg(Zero)) 214.33/145.95 new_primMulNat3(Zero) 214.33/145.95 new_primModNatS02(x0, x1) 214.33/145.95 new_primDivNatS1(Succ(Zero), Zero) 214.33/145.95 new_primMinusNatS0(x0) 214.33/145.95 new_sr11(x0) 214.33/145.95 new_rem(Pos(x0), Neg(Succ(x1))) 214.33/145.95 new_rem(Neg(x0), Pos(Succ(x1))) 214.33/145.95 new_primMulNat0(Zero, Zero) 214.33/145.95 new_primPlusNat0(Succ(x0), Zero) 214.33/145.95 new_primMulNat0(Succ(x0), Zero) 214.33/145.95 new_sr3(x0, ty_Float) 214.33/145.95 new_primMulNat2(Zero) 214.33/145.95 new_primQuotInt(x0, Pos(Zero)) 214.33/145.95 new_primMulNat2(Succ(x0)) 214.33/145.95 new_primQuotInt(x0, Neg(Zero)) 214.33/145.95 new_rem(Neg(x0), Neg(Succ(x1))) 214.33/145.95 new_primMinusNatS2(Zero, Succ(x0)) 214.33/145.95 new_sr4(x0, x1, ty_Double) 214.33/145.95 new_primMulNat3(Succ(x0)) 214.33/145.95 new_esEs1(Integer(x0)) 214.33/145.95 new_primQuotInt0(x0, Pos(Zero)) 214.33/145.95 new_gcd2(True, x0, x1) 214.33/145.95 new_quot1(x0, x1, x2, x3, ty_Int) 214.33/145.95 new_primDivNatS1(Zero, x0) 214.33/145.95 new_primMinusNat0(Zero, Zero) 214.33/145.95 new_gcd(x0, x1) 214.33/145.95 new_gcd1(False, x0, x1) 214.33/145.95 new_esEs2(x0, x1, ty_Int) 214.33/145.95 new_sr3(x0, ty_Integer) 214.33/145.95 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 214.33/145.95 new_sr1(x0, app(ty_Ratio, x1)) 214.33/145.95 new_sr1(x0, ty_Float) 214.33/145.95 new_primPlusNat0(Zero, Succ(x0)) 214.33/145.95 new_sr8(:%(x0, x1), :%(x2, x3), x4) 214.33/145.95 new_abs(Neg(Zero)) 214.33/145.95 new_primMinusNatS2(Succ(x0), Zero) 214.33/145.95 new_error 214.33/145.95 new_primModNatS1(Succ(Zero), Zero) 214.33/145.95 new_primMulNat4(Succ(x0)) 214.33/145.95 new_sr1(x0, ty_Integer) 214.33/145.95 new_primDivNatS02(x0, x1) 214.33/145.95 new_sr1(x0, ty_Int) 214.33/145.95 new_rem(Neg(x0), Neg(Zero)) 214.33/145.95 new_primMinusNat0(Zero, Succ(x0)) 214.33/145.95 new_primEqInt(Neg(Zero)) 214.33/145.95 new_rem(Pos(x0), Pos(Succ(x1))) 214.33/145.95 new_abs(Pos(Succ(x0))) 214.33/145.95 new_primMulNat0(Succ(x0), Succ(x1)) 214.33/145.95 new_primMulNat0(Zero, Succ(x0)) 214.33/145.95 new_reduce2Reduce1(x0, x1, x2, x3, True, x4) 214.33/145.95 new_gcd0Gcd'10(False, x0, x1) 214.33/145.95 new_sr12(x0) 214.33/145.95 new_primDivNatS01(x0, x1, Zero, Succ(x2)) 214.33/145.95 new_sr10(Pos(x0), Pos(x1)) 214.33/145.95 new_primModNatS01(x0, x1, Zero, Succ(x2)) 214.33/145.95 new_primPlusNat0(Zero, Zero) 214.33/145.95 new_primQuotInt0(x0, Pos(Succ(x1))) 214.33/145.95 new_primModNatS01(x0, x1, Succ(x2), Zero) 214.33/145.95 new_ms(x0, Pos(Succ(x1))) 214.33/145.95 new_primModNatS1(Succ(Succ(x0)), Zero) 214.33/145.95 new_sr4(x0, x1, ty_Integer) 214.33/145.95 new_rem(Pos(x0), Pos(Zero)) 214.33/145.95 new_sr4(x0, x1, ty_Int) 214.33/145.95 new_ms0(x0, Neg(Succ(x1))) 214.33/145.95 new_quot(Pos(x0), x1, x2) 214.33/145.95 new_primMinusNatS2(Zero, Zero) 214.33/145.95 new_esEs0(x0, ty_Int) 214.33/145.95 new_primMinusNat0(Succ(x0), Zero) 214.33/145.95 new_ms0(x0, Pos(x1)) 214.33/145.95 new_esEs(Pos(Zero)) 214.33/145.95 new_quot(Neg(x0), x1, x2) 214.33/145.95 new_primDivNatS01(x0, x1, Succ(x2), Succ(x3)) 214.33/145.95 new_quot2(x0, x1, x2) 214.33/145.95 new_primEqInt(Neg(Succ(x0))) 214.33/145.95 new_sr10(Neg(x0), Neg(x1)) 214.33/145.95 new_sr3(x0, app(ty_Ratio, x1)) 214.33/145.95 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 214.33/145.95 new_sr9(x0, x1) 214.33/145.95 new_sr2(x0, x1, ty_Integer) 214.33/145.95 new_sr7(Neg(x0)) 214.33/145.95 new_sr1(x0, ty_Double) 214.33/145.95 new_primQuotInt0(x0, Neg(Succ(x1))) 214.33/145.95 new_rem(Pos(x0), Neg(Zero)) 214.33/145.95 new_rem(Neg(x0), Pos(Zero)) 214.33/145.95 new_gcd0Gcd'00(x0, x1) 214.33/145.95 new_primQuotInt(x0, Neg(Succ(x1))) 214.33/145.95 new_primMinusNatS2(Succ(x0), Succ(x1)) 214.33/145.95 new_ms(x0, Pos(Zero)) 214.33/145.95 new_abs(Pos(Zero)) 214.33/145.95 new_primMinusNat0(Succ(x0), Succ(x1)) 214.33/145.95 new_quot0(x0, x1, x2, x3, ty_Integer) 214.33/145.95 new_sr6(x0) 214.33/145.95 new_gcd2(False, x0, x1) 214.33/145.95 new_gcd1(True, x0, x1) 214.33/145.95 new_esEs2(x0, x1, ty_Integer) 214.33/145.95 new_primMinusNatS1 214.33/145.95 new_sr7(Pos(x0)) 214.33/145.95 new_gcd0Gcd'10(True, x0, x1) 214.33/145.95 new_primModNatS1(Zero, x0) 214.33/145.95 new_sr4(x0, x1, ty_Float) 214.33/145.95 new_sr10(Pos(x0), Neg(x1)) 214.33/145.95 new_sr10(Neg(x0), Pos(x1)) 214.33/145.95 new_primDivNatS01(x0, x1, Succ(x2), Zero) 214.33/145.95 new_primDivNatS1(Succ(Succ(x0)), Succ(x1)) 214.33/145.95 new_primPlusNat0(Succ(x0), Succ(x1)) 214.33/145.95 new_primDivNatS1(Succ(Zero), Succ(x0)) 214.33/145.95 new_primQuotInt(x0, Pos(Succ(x1))) 214.33/145.95 new_sr2(x0, x1, app(ty_Ratio, x2)) 214.33/145.95 new_abs(Neg(Succ(x0))) 214.33/145.95 new_esEs0(x0, ty_Integer) 214.33/145.95 new_sr3(x0, ty_Int) 214.33/145.95 new_esEs(Neg(Succ(x0))) 214.33/145.95 new_ms0(x0, Neg(Zero)) 214.33/145.95 new_primModNatS01(x0, x1, Zero, Zero) 214.33/145.95 new_sr4(x0, x1, app(ty_Ratio, x2)) 214.33/145.95 new_gcd0(x0, x1) 214.33/145.95 new_primEqInt(Pos(Succ(x0))) 214.33/145.95 new_sr3(x0, ty_Double) 214.33/145.95 new_quot1(x0, x1, x2, x3, ty_Integer) 214.33/145.95 new_primDivNatS1(Succ(Succ(x0)), Zero) 214.33/145.95 new_primMulNat1(Succ(x0)) 214.33/145.95 new_sr14(x0, x1) 214.33/145.95 new_quot0(x0, x1, x2, x3, ty_Int) 214.33/145.95 new_sr2(x0, x1, ty_Int) 214.33/145.95 new_primModNatS1(Succ(Zero), Succ(x0)) 214.33/145.95 new_reduce2Reduce1(x0, x1, x2, x3, False, x4) 214.33/145.95 new_esEs(Neg(Zero)) 214.33/145.95 new_primMulNat1(Zero) 214.33/145.95 214.33/145.95 We have to consider all minimal (P,Q,R)-chains. 214.33/145.95 ---------------------------------------- 214.33/145.95 214.33/145.95 (778) TransformationProof (EQUIVALENT) 214.33/145.95 By instantiating [LPAR04] the rule new_pr2F30(False, vyv240, vyv241, vyv244, vyv239, bc) -> new_pr2F0(vyv240, new_ms0(vyv241, vyv244), new_sr4(vyv240, vyv239, bc), bc) we obtained the following new rules [LPAR04]: 214.33/145.95 214.33/145.95 (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)) 214.33/145.95 214.33/145.95 214.33/145.95 ---------------------------------------- 214.33/145.95 214.33/145.95 (779) 214.33/145.95 Obligation: 214.33/145.95 Q DP problem: 214.33/145.95 The TRS P consists of the following rules: 214.33/145.95 214.33/145.95 new_pr2F0G11(vyv239, vyv240, vyv241, bc) -> new_pr2F1(vyv240, vyv241, Pos(Succ(Zero)), vyv239, bc) 214.33/145.95 new_pr2F0(vyv184, Neg(Succ(Succ(vyv223000))), vyv188, h) -> new_pr2F0G10(vyv188, vyv184, Succ(vyv223000), vyv223000, h) 214.33/145.95 new_pr2F0G10(vyv249, vyv250, vyv251, Succ(Succ(vyv25200)), bb) -> new_pr2F0G10(vyv249, vyv250, vyv251, vyv25200, bb) 214.33/145.95 new_pr2F0G10(vyv249, vyv250, vyv251, Succ(Zero), bb) -> new_pr2F0G11(vyv249, vyv250, vyv251, bb) 214.33/145.95 new_pr2F0G10(vyv249, vyv250, vyv251, Zero, bb) -> new_pr2F0G(vyv249, new_sr3(vyv250, bb), Neg(new_primDivNatS1(Succ(vyv251), Succ(Zero))), bb) 214.33/145.95 new_pr2F0G(vyv188, vyv184, Neg(Succ(Zero)), h) -> new_pr2F0G11(vyv188, vyv184, Zero, h) 214.33/145.95 new_pr2F0G(vyv188, vyv184, Neg(Succ(Succ(vyv223000))), h) -> new_pr2F0G10(vyv188, vyv184, Succ(vyv223000), vyv223000, h) 214.33/145.95 new_pr2F0(vyv184, Neg(Succ(Zero)), vyv188, h) -> new_pr2F0G11(vyv188, vyv184, Zero, h) 214.33/145.95 new_pr2F0(vyv184, Pos(Succ(Succ(vyv223000))), vyv188, h) -> new_pr2F0G1(vyv188, vyv184, Succ(vyv223000), vyv223000, h) 214.33/145.95 new_pr2F0G1(vyv227, vyv228, vyv229, Succ(Succ(vyv23000)), ba) -> new_pr2F0G1(vyv227, vyv228, vyv229, vyv23000, ba) 214.33/145.95 new_pr2F0G1(vyv227, vyv228, vyv229, Succ(Zero), ba) -> new_pr2F(vyv228, vyv229, Pos(Succ(Zero)), vyv227, ba) 214.33/145.95 new_pr2F(vyv228, vyv229, vyv245, vyv227, ba) -> new_pr2F3(new_esEs(new_ms(vyv229, vyv245)), vyv228, vyv229, vyv245, vyv227, ba) 214.33/145.95 new_pr2F3(False, vyv228, vyv229, vyv245, vyv227, ba) -> new_pr2F0(vyv228, new_ms(vyv229, vyv245), new_sr2(vyv228, vyv227, ba), ba) 214.33/145.95 new_pr2F0(vyv184, Pos(Succ(Zero)), vyv188, h) -> new_pr2F(vyv184, Zero, Pos(Succ(Zero)), vyv188, h) 214.33/145.95 new_pr2F0G1(vyv227, vyv228, vyv229, Zero, ba) -> new_pr2F0G(vyv227, new_sr1(vyv228, ba), Pos(new_primDivNatS1(Succ(vyv229), Succ(Zero))), ba) 214.33/145.95 new_pr2F0G(vyv188, vyv184, Pos(Succ(Succ(vyv223000))), h) -> new_pr2F0G1(vyv188, vyv184, Succ(vyv223000), vyv223000, h) 214.33/145.95 new_pr2F0G(vyv188, vyv184, Pos(Succ(Zero)), h) -> new_pr2F(vyv184, Zero, Pos(Succ(Zero)), vyv188, h) 214.33/145.95 new_pr2F1(z1, z2, Pos(Succ(Zero)), z0, z3) -> new_pr2F30(False, z1, z2, Pos(Succ(Zero)), z0, z3) 214.33/145.95 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) 214.33/145.95 214.33/145.95 The TRS R consists of the following rules: 214.33/145.95 214.33/145.95 new_sr1(vyv228, ty_Double) -> new_sr11(vyv228) 214.33/145.95 new_sr1(vyv228, ty_Float) -> new_sr12(vyv228) 214.33/145.95 new_sr1(vyv228, app(ty_Ratio, bg)) -> new_sr5(vyv228, bg) 214.33/145.95 new_sr1(vyv228, ty_Integer) -> new_sr6(vyv228) 214.33/145.95 new_sr1(vyv228, ty_Int) -> new_sr7(vyv228) 214.33/145.95 new_primDivNatS1(Succ(Zero), Succ(vyv285000)) -> Zero 214.33/145.95 new_primDivNatS1(Succ(Succ(vyv271000)), Succ(vyv285000)) -> new_primDivNatS01(vyv271000, vyv285000, vyv271000, vyv285000) 214.33/145.95 new_primDivNatS01(vyv311, vyv312, Succ(vyv3130), Zero) -> new_primDivNatS02(vyv311, vyv312) 214.33/145.95 new_primDivNatS01(vyv311, vyv312, Zero, Succ(vyv3140)) -> Zero 214.33/145.95 new_primDivNatS01(vyv311, vyv312, Succ(vyv3130), Succ(vyv3140)) -> new_primDivNatS01(vyv311, vyv312, vyv3130, vyv3140) 214.33/145.95 new_primDivNatS01(vyv311, vyv312, Zero, Zero) -> new_primDivNatS02(vyv311, vyv312) 214.33/145.95 new_primDivNatS02(vyv311, vyv312) -> Succ(new_primDivNatS1(new_primMinusNatS2(vyv311, vyv312), Succ(vyv312))) 214.33/145.95 new_primMinusNatS2(Zero, Succ(vyv3120)) -> Zero 214.33/145.95 new_primMinusNatS2(Succ(vyv3110), Zero) -> Succ(vyv3110) 214.33/145.95 new_primMinusNatS2(Zero, Zero) -> Zero 214.33/145.95 new_primMinusNatS2(Succ(vyv3110), Succ(vyv3120)) -> new_primMinusNatS2(vyv3110, vyv3120) 214.33/145.95 new_primDivNatS1(Zero, vyv28500) -> Zero 214.33/145.95 new_sr7(Pos(vyv1840)) -> Pos(new_primMulNat1(vyv1840)) 214.33/145.95 new_sr7(Neg(vyv1840)) -> Pos(new_primMulNat1(vyv1840)) 214.33/145.95 new_primMulNat1(Succ(vyv18400)) -> new_primPlusNat0(new_primMulNat2(vyv18400), Succ(vyv18400)) 214.33/145.95 new_primMulNat1(Zero) -> Zero 214.33/145.95 new_primMulNat2(Succ(vyv184000)) -> new_primPlusNat0(new_primMulNat3(vyv184000), Succ(Succ(vyv184000))) 214.33/145.95 new_primMulNat2(Zero) -> Zero 214.33/145.95 new_primPlusNat0(Succ(vyv4000), Succ(vyv6000)) -> Succ(Succ(new_primPlusNat0(vyv4000, vyv6000))) 214.33/145.95 new_primPlusNat0(Zero, Succ(vyv6000)) -> Succ(vyv6000) 214.33/145.95 new_primPlusNat0(Zero, Zero) -> Zero 214.33/145.95 new_primPlusNat0(Succ(vyv4000), Zero) -> Succ(vyv4000) 214.33/145.95 new_primMulNat3(Succ(vyv1840000)) -> new_primPlusNat0(new_primMulNat4(vyv1840000), Succ(Succ(Succ(vyv1840000)))) 214.33/145.95 new_primMulNat3(Zero) -> Zero 214.33/145.95 new_primMulNat4(Succ(vyv18400000)) -> new_primPlusNat0(new_primMulNat0(vyv18400000, Succ(Succ(Succ(Succ(vyv18400000))))), Succ(Succ(Succ(Succ(vyv18400000))))) 214.33/145.95 new_primMulNat4(Zero) -> Zero 214.33/145.95 new_primMulNat0(Zero, Succ(vyv23900)) -> Zero 214.33/145.95 new_primMulNat0(Succ(vyv24000), Succ(vyv23900)) -> new_primPlusNat0(new_primMulNat0(vyv24000, Succ(vyv23900)), Succ(vyv23900)) 214.33/145.95 new_sr6(vyv184) -> error([]) 214.33/145.95 new_sr5(:%(vyv1840, vyv1841), bd) -> new_reduce2Reduce1(vyv1840, vyv1840, vyv1841, vyv1841, new_esEs0(vyv1841, bd), bd) 214.33/145.95 new_esEs0(vyv1841, ty_Int) -> new_esEs(new_sr7(vyv1841)) 214.33/145.95 new_esEs0(vyv1841, ty_Integer) -> new_esEs1(new_sr6(vyv1841)) 214.33/145.95 new_reduce2Reduce1(vyv265, vyv266, vyv267, vyv268, False, bh) -> :%(new_quot0(vyv265, vyv266, vyv267, vyv268, bh), new_quot1(vyv267, vyv268, vyv265, vyv266, bh)) 214.33/145.95 new_reduce2Reduce1(vyv265, vyv266, vyv267, vyv268, True, bh) -> error([]) 214.33/145.95 new_quot0(vyv265, vyv266, vyv267, vyv268, ty_Integer) -> new_quot2(new_sr9(vyv265, vyv266), new_sr9(vyv265, vyv266), new_sr9(vyv267, vyv268)) 214.33/145.95 new_quot0(vyv265, vyv266, vyv267, vyv268, ty_Int) -> new_quot(new_sr10(vyv265, vyv266), new_sr10(vyv265, vyv266), new_sr10(vyv267, vyv268)) 214.33/145.95 new_quot1(vyv267, vyv268, vyv265, vyv266, ty_Int) -> new_quot(new_sr10(vyv267, vyv268), new_sr10(vyv265, vyv266), new_sr10(vyv267, vyv268)) 214.33/145.95 new_quot1(vyv267, vyv268, vyv265, vyv266, ty_Integer) -> new_quot2(new_sr9(vyv267, vyv268), new_sr9(vyv265, vyv266), new_sr9(vyv267, vyv268)) 214.33/145.95 new_sr9(vyv240, vyv239) -> error([]) 214.33/145.95 new_quot2(vyv274, vyv276, vyv275) -> error([]) 214.33/145.95 new_sr10(Pos(vyv2400), Pos(vyv2390)) -> Pos(new_primMulNat0(vyv2400, vyv2390)) 214.33/145.95 new_sr10(Neg(vyv2400), Neg(vyv2390)) -> Pos(new_primMulNat0(vyv2400, vyv2390)) 214.33/145.95 new_sr10(Pos(vyv2400), Neg(vyv2390)) -> Neg(new_primMulNat0(vyv2400, vyv2390)) 214.33/145.95 new_sr10(Neg(vyv2400), Pos(vyv2390)) -> Neg(new_primMulNat0(vyv2400, vyv2390)) 214.33/145.95 new_quot(Pos(vyv2710), vyv273, vyv272) -> new_primQuotInt(vyv2710, new_gcd(vyv273, vyv272)) 214.33/145.95 new_quot(Neg(vyv2710), vyv273, vyv272) -> new_primQuotInt0(vyv2710, new_gcd(vyv273, vyv272)) 214.33/145.95 new_gcd(vyv273, vyv272) -> new_gcd2(new_esEs(vyv273), vyv273, vyv272) 214.33/145.95 new_primQuotInt0(vyv2710, Pos(Succ(vyv28800))) -> Neg(new_primDivNatS1(vyv2710, vyv28800)) 214.33/145.95 new_primQuotInt0(vyv2710, Neg(Zero)) -> new_error 214.33/145.95 new_primQuotInt0(vyv2710, Neg(Succ(vyv28800))) -> Pos(new_primDivNatS1(vyv2710, vyv28800)) 214.33/145.95 new_primQuotInt0(vyv2710, Pos(Zero)) -> new_error 214.33/145.95 new_error -> error([]) 214.33/145.95 new_primDivNatS1(Succ(Succ(vyv271000)), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS0(vyv271000), Zero)) 214.33/145.95 new_primDivNatS1(Succ(Zero), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS1, Zero)) 214.33/145.95 new_primMinusNatS1 -> Zero 214.33/145.95 new_primMinusNatS0(vyv271000) -> Succ(vyv271000) 214.33/145.95 new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) 214.33/145.95 new_esEs(Pos(Succ(vyv24300))) -> new_primEqInt(Pos(Succ(vyv24300))) 214.33/145.95 new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) 214.33/145.95 new_esEs(Neg(Succ(vyv24300))) -> new_primEqInt(Neg(Succ(vyv24300))) 214.33/145.95 new_gcd2(True, vyv273, vyv272) -> new_gcd1(new_esEs(vyv272), vyv273, vyv272) 214.33/145.95 new_gcd2(False, vyv273, vyv272) -> new_gcd0(vyv273, vyv272) 214.33/145.95 new_gcd0(vyv273, vyv272) -> new_gcd0Gcd'11(new_esEs(new_abs(vyv272)), vyv273, vyv272) 214.33/145.95 new_abs(Neg(Zero)) -> Neg(Zero) 214.33/145.95 new_abs(Neg(Succ(vyv27200))) -> Pos(Succ(vyv27200)) 214.33/145.95 new_abs(Pos(Succ(vyv27200))) -> Pos(Succ(vyv27200)) 214.33/145.95 new_abs(Pos(Zero)) -> Pos(Zero) 214.33/145.95 new_gcd0Gcd'11(True, vyv273, vyv272) -> new_abs(vyv273) 214.33/145.95 new_gcd0Gcd'11(False, vyv273, vyv272) -> new_gcd0Gcd'00(new_abs(vyv273), new_abs(vyv272)) 214.33/145.95 new_gcd0Gcd'00(vyv293, vyv292) -> new_gcd0Gcd'10(new_esEs(new_rem(vyv293, vyv292)), vyv292, vyv293) 214.33/145.95 new_gcd0Gcd'10(False, vyv292, vyv293) -> new_gcd0Gcd'00(vyv292, new_rem(vyv293, vyv292)) 214.33/145.95 new_rem(Pos(vyv2930), Neg(Zero)) -> new_error 214.33/145.95 new_rem(Neg(vyv2930), Pos(Zero)) -> new_error 214.33/145.95 new_rem(Pos(vyv2930), Neg(Succ(vyv29200))) -> Pos(new_primModNatS1(vyv2930, vyv29200)) 214.33/145.95 new_rem(Neg(vyv2930), Pos(Succ(vyv29200))) -> Neg(new_primModNatS1(vyv2930, vyv29200)) 214.33/145.95 new_rem(Pos(vyv2930), Pos(Succ(vyv29200))) -> Pos(new_primModNatS1(vyv2930, vyv29200)) 214.33/145.95 new_rem(Neg(vyv2930), Neg(Zero)) -> new_error 214.33/145.95 new_rem(Neg(vyv2930), Neg(Succ(vyv29200))) -> Neg(new_primModNatS1(vyv2930, vyv29200)) 214.33/145.95 new_rem(Pos(vyv2930), Pos(Zero)) -> new_error 214.33/145.95 new_gcd0Gcd'10(True, vyv292, vyv293) -> vyv292 214.33/145.95 new_primModNatS1(Succ(Zero), Succ(vyv292000)) -> Succ(Zero) 214.33/145.95 new_primModNatS1(Zero, vyv29200) -> Zero 214.33/145.95 new_primModNatS1(Succ(Succ(vyv293000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv293000), Zero) 214.33/145.95 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 214.33/145.95 new_primModNatS1(Succ(Succ(vyv293000)), Succ(vyv292000)) -> new_primModNatS01(vyv293000, vyv292000, vyv293000, vyv292000) 214.33/145.95 new_primModNatS01(vyv331, vyv332, Zero, Zero) -> new_primModNatS02(vyv331, vyv332) 214.33/145.95 new_primModNatS02(vyv331, vyv332) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv331), Succ(vyv332)), Succ(vyv332)) 214.33/145.95 new_primModNatS01(vyv331, vyv332, Succ(vyv3330), Zero) -> new_primModNatS02(vyv331, vyv332) 214.33/145.95 new_primModNatS01(vyv331, vyv332, Succ(vyv3330), Succ(vyv3340)) -> new_primModNatS01(vyv331, vyv332, vyv3330, vyv3340) 214.33/145.95 new_primModNatS01(vyv331, vyv332, Zero, Succ(vyv3340)) -> Succ(Succ(vyv331)) 214.33/145.95 new_gcd1(True, vyv273, vyv272) -> new_error 214.33/145.95 new_gcd1(False, vyv273, vyv272) -> new_gcd0(vyv273, vyv272) 214.33/145.95 new_primEqInt(Neg(Succ(vyv242000))) -> False 214.33/145.95 new_primEqInt(Pos(Zero)) -> True 214.33/145.95 new_primEqInt(Pos(Succ(vyv242000))) -> False 214.33/145.95 new_primEqInt(Neg(Zero)) -> True 214.33/145.95 new_primQuotInt(vyv2710, Pos(Succ(vyv28500))) -> Pos(new_primDivNatS1(vyv2710, vyv28500)) 214.33/145.95 new_primQuotInt(vyv2710, Neg(Zero)) -> new_error 214.33/145.95 new_primQuotInt(vyv2710, Pos(Zero)) -> new_error 214.33/145.95 new_primQuotInt(vyv2710, Neg(Succ(vyv28500))) -> Neg(new_primDivNatS1(vyv2710, vyv28500)) 214.33/145.95 new_primMulNat0(Succ(vyv24000), Zero) -> Zero 214.33/145.95 new_primMulNat0(Zero, Zero) -> Zero 214.33/145.95 new_esEs1(Integer(vyv2700)) -> new_primEqInt(vyv2700) 214.33/145.95 new_sr12(vyv184) -> error([]) 214.33/145.95 new_sr11(vyv184) -> error([]) 214.33/145.95 new_ms(vyv229, Neg(vyv2450)) -> Pos(new_primPlusNat0(Succ(vyv229), vyv2450)) 214.33/145.95 new_ms(vyv229, Pos(Succ(vyv24500))) -> new_primMinusNat0(vyv229, vyv24500) 214.33/145.95 new_ms(vyv229, Pos(Zero)) -> Pos(Succ(vyv229)) 214.33/145.95 new_sr2(vyv228, vyv227, ty_Integer) -> new_sr9(vyv228, vyv227) 214.33/145.95 new_sr2(vyv228, vyv227, ty_Int) -> new_sr10(vyv228, vyv227) 214.33/145.95 new_sr2(vyv228, vyv227, app(ty_Ratio, bg)) -> new_sr8(vyv228, vyv227, bg) 214.33/145.95 new_sr2(vyv228, vyv227, ty_Double) -> new_sr13(vyv228, vyv227) 214.33/145.95 new_sr2(vyv228, vyv227, ty_Float) -> new_sr14(vyv228, vyv227) 214.33/145.95 new_sr14(vyv240, vyv239) -> error([]) 214.33/145.95 new_sr13(vyv240, vyv239) -> error([]) 214.33/145.95 new_sr8(:%(vyv2400, vyv2401), :%(vyv2390, vyv2391), be) -> new_reduce2Reduce1(vyv2400, vyv2390, vyv2401, vyv2391, new_esEs2(vyv2401, vyv2391, be), be) 214.33/145.96 new_esEs2(vyv2401, vyv2391, ty_Integer) -> new_esEs1(new_sr9(vyv2401, vyv2391)) 214.33/145.96 new_esEs2(vyv2401, vyv2391, ty_Int) -> new_esEs(new_sr10(vyv2401, vyv2391)) 214.33/145.96 new_primMinusNat0(Succ(vyv2290), Succ(vyv245000)) -> new_primMinusNat0(vyv2290, vyv245000) 214.33/145.96 new_primMinusNat0(Zero, Zero) -> Pos(Zero) 214.33/145.96 new_primMinusNat0(Zero, Succ(vyv245000)) -> Neg(Succ(vyv245000)) 214.33/145.96 new_primMinusNat0(Succ(vyv2290), Zero) -> Pos(Succ(vyv2290)) 214.33/145.96 new_sr3(vyv250, ty_Double) -> new_sr11(vyv250) 214.33/145.96 new_sr3(vyv250, ty_Int) -> new_sr7(vyv250) 214.33/145.96 new_sr3(vyv250, ty_Float) -> new_sr12(vyv250) 214.33/145.96 new_sr3(vyv250, ty_Integer) -> new_sr6(vyv250) 214.33/145.96 new_sr3(vyv250, app(ty_Ratio, bf)) -> new_sr5(vyv250, bf) 214.33/145.96 new_ms0(vyv241, Neg(Zero)) -> Neg(Succ(vyv241)) 214.33/145.96 new_ms0(vyv241, Pos(vyv2440)) -> Neg(new_primPlusNat0(Succ(vyv241), vyv2440)) 214.33/145.96 new_ms0(vyv241, Neg(Succ(vyv24400))) -> new_primMinusNat0(vyv24400, vyv241) 214.33/145.96 new_sr4(vyv240, vyv239, app(ty_Ratio, be)) -> new_sr8(vyv240, vyv239, be) 214.33/145.96 new_sr4(vyv240, vyv239, ty_Float) -> new_sr14(vyv240, vyv239) 214.33/145.96 new_sr4(vyv240, vyv239, ty_Int) -> new_sr10(vyv240, vyv239) 214.33/145.96 new_sr4(vyv240, vyv239, ty_Double) -> new_sr13(vyv240, vyv239) 214.33/145.96 new_sr4(vyv240, vyv239, ty_Integer) -> new_sr9(vyv240, vyv239) 214.33/145.96 214.33/145.96 The set Q consists of the following terms: 214.33/145.96 214.33/145.96 new_sr13(x0, x1) 214.33/145.96 new_primDivNatS01(x0, x1, Zero, Zero) 214.33/145.96 new_gcd0Gcd'11(False, x0, x1) 214.33/145.96 new_primMulNat4(Zero) 214.33/145.96 new_gcd0Gcd'11(True, x0, x1) 214.33/145.96 new_sr2(x0, x1, ty_Float) 214.33/145.96 new_sr5(:%(x0, x1), x2) 214.33/145.96 new_primEqInt(Pos(Zero)) 214.33/145.96 new_ms(x0, Neg(x1)) 214.33/145.96 new_sr2(x0, x1, ty_Double) 214.33/145.96 new_esEs(Pos(Succ(x0))) 214.33/145.96 new_primQuotInt0(x0, Neg(Zero)) 214.33/145.96 new_primMulNat3(Zero) 214.33/145.96 new_primModNatS02(x0, x1) 214.33/145.96 new_primDivNatS1(Succ(Zero), Zero) 214.33/145.96 new_primMinusNatS0(x0) 214.33/145.96 new_sr11(x0) 214.33/145.96 new_rem(Pos(x0), Neg(Succ(x1))) 214.33/145.96 new_rem(Neg(x0), Pos(Succ(x1))) 214.33/145.96 new_primMulNat0(Zero, Zero) 214.33/145.96 new_primPlusNat0(Succ(x0), Zero) 214.33/145.96 new_primMulNat0(Succ(x0), Zero) 214.33/145.96 new_sr3(x0, ty_Float) 214.33/145.96 new_primMulNat2(Zero) 214.33/145.96 new_primQuotInt(x0, Pos(Zero)) 214.33/145.96 new_primMulNat2(Succ(x0)) 214.33/145.96 new_primQuotInt(x0, Neg(Zero)) 214.33/145.96 new_rem(Neg(x0), Neg(Succ(x1))) 214.33/145.96 new_primMinusNatS2(Zero, Succ(x0)) 214.33/145.96 new_sr4(x0, x1, ty_Double) 214.33/145.96 new_primMulNat3(Succ(x0)) 214.33/145.96 new_esEs1(Integer(x0)) 214.33/145.96 new_primQuotInt0(x0, Pos(Zero)) 214.33/145.96 new_gcd2(True, x0, x1) 214.33/145.96 new_quot1(x0, x1, x2, x3, ty_Int) 214.33/145.96 new_primDivNatS1(Zero, x0) 214.33/145.96 new_primMinusNat0(Zero, Zero) 214.33/145.96 new_gcd(x0, x1) 214.33/145.96 new_gcd1(False, x0, x1) 214.33/145.96 new_esEs2(x0, x1, ty_Int) 214.33/145.96 new_sr3(x0, ty_Integer) 214.33/145.96 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 214.33/145.96 new_sr1(x0, app(ty_Ratio, x1)) 214.33/145.96 new_sr1(x0, ty_Float) 214.33/145.96 new_primPlusNat0(Zero, Succ(x0)) 214.33/145.96 new_sr8(:%(x0, x1), :%(x2, x3), x4) 214.33/145.96 new_abs(Neg(Zero)) 214.33/145.96 new_primMinusNatS2(Succ(x0), Zero) 214.33/145.96 new_error 214.33/145.96 new_primModNatS1(Succ(Zero), Zero) 214.33/145.96 new_primMulNat4(Succ(x0)) 214.33/145.96 new_sr1(x0, ty_Integer) 214.33/145.96 new_primDivNatS02(x0, x1) 214.33/145.96 new_sr1(x0, ty_Int) 214.33/145.96 new_rem(Neg(x0), Neg(Zero)) 214.33/145.96 new_primMinusNat0(Zero, Succ(x0)) 214.33/145.96 new_primEqInt(Neg(Zero)) 214.33/145.96 new_rem(Pos(x0), Pos(Succ(x1))) 214.33/145.96 new_abs(Pos(Succ(x0))) 214.33/145.96 new_primMulNat0(Succ(x0), Succ(x1)) 214.33/145.96 new_primMulNat0(Zero, Succ(x0)) 214.33/145.96 new_reduce2Reduce1(x0, x1, x2, x3, True, x4) 214.33/145.96 new_gcd0Gcd'10(False, x0, x1) 214.33/145.96 new_sr12(x0) 214.33/145.96 new_primDivNatS01(x0, x1, Zero, Succ(x2)) 214.33/145.96 new_sr10(Pos(x0), Pos(x1)) 214.33/145.96 new_primModNatS01(x0, x1, Zero, Succ(x2)) 214.33/145.96 new_primPlusNat0(Zero, Zero) 214.33/145.96 new_primQuotInt0(x0, Pos(Succ(x1))) 214.33/145.96 new_primModNatS01(x0, x1, Succ(x2), Zero) 214.33/145.96 new_ms(x0, Pos(Succ(x1))) 214.33/145.96 new_primModNatS1(Succ(Succ(x0)), Zero) 214.33/145.96 new_sr4(x0, x1, ty_Integer) 214.33/145.96 new_rem(Pos(x0), Pos(Zero)) 214.33/145.96 new_sr4(x0, x1, ty_Int) 214.33/145.96 new_ms0(x0, Neg(Succ(x1))) 214.33/145.96 new_quot(Pos(x0), x1, x2) 214.33/145.96 new_primMinusNatS2(Zero, Zero) 214.33/145.96 new_esEs0(x0, ty_Int) 214.33/145.96 new_primMinusNat0(Succ(x0), Zero) 214.33/145.96 new_ms0(x0, Pos(x1)) 214.33/145.96 new_esEs(Pos(Zero)) 214.33/145.96 new_quot(Neg(x0), x1, x2) 214.33/145.96 new_primDivNatS01(x0, x1, Succ(x2), Succ(x3)) 214.33/145.96 new_quot2(x0, x1, x2) 214.33/145.96 new_primEqInt(Neg(Succ(x0))) 214.33/145.96 new_sr10(Neg(x0), Neg(x1)) 214.33/145.96 new_sr3(x0, app(ty_Ratio, x1)) 214.33/145.96 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 214.33/145.96 new_sr9(x0, x1) 214.33/145.96 new_sr2(x0, x1, ty_Integer) 214.33/145.96 new_sr7(Neg(x0)) 214.33/145.96 new_sr1(x0, ty_Double) 214.33/145.96 new_primQuotInt0(x0, Neg(Succ(x1))) 214.33/145.96 new_rem(Pos(x0), Neg(Zero)) 214.33/145.96 new_rem(Neg(x0), Pos(Zero)) 214.33/145.96 new_gcd0Gcd'00(x0, x1) 214.33/145.96 new_primQuotInt(x0, Neg(Succ(x1))) 214.33/145.96 new_primMinusNatS2(Succ(x0), Succ(x1)) 214.33/145.96 new_ms(x0, Pos(Zero)) 214.33/145.96 new_abs(Pos(Zero)) 214.33/145.96 new_primMinusNat0(Succ(x0), Succ(x1)) 214.33/145.96 new_quot0(x0, x1, x2, x3, ty_Integer) 214.33/145.96 new_sr6(x0) 214.33/145.96 new_gcd2(False, x0, x1) 214.33/145.96 new_gcd1(True, x0, x1) 214.33/145.96 new_esEs2(x0, x1, ty_Integer) 214.33/145.96 new_primMinusNatS1 214.33/145.96 new_sr7(Pos(x0)) 214.33/145.96 new_gcd0Gcd'10(True, x0, x1) 214.33/145.96 new_primModNatS1(Zero, x0) 214.33/145.96 new_sr4(x0, x1, ty_Float) 214.33/145.96 new_sr10(Pos(x0), Neg(x1)) 214.33/145.96 new_sr10(Neg(x0), Pos(x1)) 214.33/145.96 new_primDivNatS01(x0, x1, Succ(x2), Zero) 214.33/145.96 new_primDivNatS1(Succ(Succ(x0)), Succ(x1)) 214.33/145.96 new_primPlusNat0(Succ(x0), Succ(x1)) 214.33/145.96 new_primDivNatS1(Succ(Zero), Succ(x0)) 214.33/145.96 new_primQuotInt(x0, Pos(Succ(x1))) 214.33/145.96 new_sr2(x0, x1, app(ty_Ratio, x2)) 214.33/145.96 new_abs(Neg(Succ(x0))) 214.33/145.96 new_esEs0(x0, ty_Integer) 214.33/145.96 new_sr3(x0, ty_Int) 214.33/145.96 new_esEs(Neg(Succ(x0))) 214.33/145.96 new_ms0(x0, Neg(Zero)) 214.33/145.96 new_primModNatS01(x0, x1, Zero, Zero) 214.33/145.96 new_sr4(x0, x1, app(ty_Ratio, x2)) 214.33/145.96 new_gcd0(x0, x1) 214.33/145.96 new_primEqInt(Pos(Succ(x0))) 214.33/145.96 new_sr3(x0, ty_Double) 214.33/145.96 new_quot1(x0, x1, x2, x3, ty_Integer) 214.33/145.96 new_primDivNatS1(Succ(Succ(x0)), Zero) 214.33/145.96 new_primMulNat1(Succ(x0)) 214.33/145.96 new_sr14(x0, x1) 214.33/145.96 new_quot0(x0, x1, x2, x3, ty_Int) 214.33/145.96 new_sr2(x0, x1, ty_Int) 214.33/145.96 new_primModNatS1(Succ(Zero), Succ(x0)) 214.33/145.96 new_reduce2Reduce1(x0, x1, x2, x3, False, x4) 214.33/145.96 new_esEs(Neg(Zero)) 214.33/145.96 new_primMulNat1(Zero) 214.33/145.96 214.33/145.96 We have to consider all minimal (P,Q,R)-chains. 214.33/145.96 ---------------------------------------- 214.33/145.96 214.33/145.96 (780) UsableRulesProof (EQUIVALENT) 214.33/145.96 As all Q-normal forms are R-normal forms we are in the innermost case. Hence, by the usable rules processor [LPAR04] we can delete all non-usable rules [FROCOS05] from R. 214.33/145.96 ---------------------------------------- 214.33/145.96 214.33/145.96 (781) 214.33/145.96 Obligation: 214.33/145.96 Q DP problem: 214.33/145.96 The TRS P consists of the following rules: 214.33/145.96 214.33/145.96 new_pr2F0G11(vyv239, vyv240, vyv241, bc) -> new_pr2F1(vyv240, vyv241, Pos(Succ(Zero)), vyv239, bc) 214.33/145.96 new_pr2F0(vyv184, Neg(Succ(Succ(vyv223000))), vyv188, h) -> new_pr2F0G10(vyv188, vyv184, Succ(vyv223000), vyv223000, h) 214.33/145.96 new_pr2F0G10(vyv249, vyv250, vyv251, Succ(Succ(vyv25200)), bb) -> new_pr2F0G10(vyv249, vyv250, vyv251, vyv25200, bb) 214.33/145.96 new_pr2F0G10(vyv249, vyv250, vyv251, Succ(Zero), bb) -> new_pr2F0G11(vyv249, vyv250, vyv251, bb) 214.33/145.96 new_pr2F0G10(vyv249, vyv250, vyv251, Zero, bb) -> new_pr2F0G(vyv249, new_sr3(vyv250, bb), Neg(new_primDivNatS1(Succ(vyv251), Succ(Zero))), bb) 214.33/145.96 new_pr2F0G(vyv188, vyv184, Neg(Succ(Zero)), h) -> new_pr2F0G11(vyv188, vyv184, Zero, h) 214.33/145.96 new_pr2F0G(vyv188, vyv184, Neg(Succ(Succ(vyv223000))), h) -> new_pr2F0G10(vyv188, vyv184, Succ(vyv223000), vyv223000, h) 214.33/145.96 new_pr2F0(vyv184, Neg(Succ(Zero)), vyv188, h) -> new_pr2F0G11(vyv188, vyv184, Zero, h) 214.33/145.96 new_pr2F0(vyv184, Pos(Succ(Succ(vyv223000))), vyv188, h) -> new_pr2F0G1(vyv188, vyv184, Succ(vyv223000), vyv223000, h) 214.33/145.96 new_pr2F0G1(vyv227, vyv228, vyv229, Succ(Succ(vyv23000)), ba) -> new_pr2F0G1(vyv227, vyv228, vyv229, vyv23000, ba) 214.33/145.96 new_pr2F0G1(vyv227, vyv228, vyv229, Succ(Zero), ba) -> new_pr2F(vyv228, vyv229, Pos(Succ(Zero)), vyv227, ba) 214.33/145.96 new_pr2F(vyv228, vyv229, vyv245, vyv227, ba) -> new_pr2F3(new_esEs(new_ms(vyv229, vyv245)), vyv228, vyv229, vyv245, vyv227, ba) 214.33/145.96 new_pr2F3(False, vyv228, vyv229, vyv245, vyv227, ba) -> new_pr2F0(vyv228, new_ms(vyv229, vyv245), new_sr2(vyv228, vyv227, ba), ba) 214.33/145.96 new_pr2F0(vyv184, Pos(Succ(Zero)), vyv188, h) -> new_pr2F(vyv184, Zero, Pos(Succ(Zero)), vyv188, h) 214.33/145.96 new_pr2F0G1(vyv227, vyv228, vyv229, Zero, ba) -> new_pr2F0G(vyv227, new_sr1(vyv228, ba), Pos(new_primDivNatS1(Succ(vyv229), Succ(Zero))), ba) 214.33/145.96 new_pr2F0G(vyv188, vyv184, Pos(Succ(Succ(vyv223000))), h) -> new_pr2F0G1(vyv188, vyv184, Succ(vyv223000), vyv223000, h) 214.33/145.96 new_pr2F0G(vyv188, vyv184, Pos(Succ(Zero)), h) -> new_pr2F(vyv184, Zero, Pos(Succ(Zero)), vyv188, h) 214.33/145.96 new_pr2F1(z1, z2, Pos(Succ(Zero)), z0, z3) -> new_pr2F30(False, z1, z2, Pos(Succ(Zero)), z0, z3) 214.33/145.96 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) 214.33/145.96 214.33/145.96 The TRS R consists of the following rules: 214.33/145.96 214.33/145.96 new_ms0(vyv241, Pos(vyv2440)) -> Neg(new_primPlusNat0(Succ(vyv241), vyv2440)) 214.33/145.96 new_sr4(vyv240, vyv239, app(ty_Ratio, be)) -> new_sr8(vyv240, vyv239, be) 214.33/145.96 new_sr4(vyv240, vyv239, ty_Float) -> new_sr14(vyv240, vyv239) 214.33/145.96 new_sr4(vyv240, vyv239, ty_Int) -> new_sr10(vyv240, vyv239) 214.33/145.96 new_sr4(vyv240, vyv239, ty_Double) -> new_sr13(vyv240, vyv239) 214.33/145.96 new_sr4(vyv240, vyv239, ty_Integer) -> new_sr9(vyv240, vyv239) 214.33/145.96 new_sr9(vyv240, vyv239) -> error([]) 214.33/145.96 new_sr13(vyv240, vyv239) -> error([]) 214.33/145.96 new_sr10(Pos(vyv2400), Pos(vyv2390)) -> Pos(new_primMulNat0(vyv2400, vyv2390)) 214.33/145.96 new_sr10(Neg(vyv2400), Neg(vyv2390)) -> Pos(new_primMulNat0(vyv2400, vyv2390)) 214.33/145.96 new_sr10(Pos(vyv2400), Neg(vyv2390)) -> Neg(new_primMulNat0(vyv2400, vyv2390)) 214.33/145.96 new_sr10(Neg(vyv2400), Pos(vyv2390)) -> Neg(new_primMulNat0(vyv2400, vyv2390)) 214.33/145.96 new_primMulNat0(Zero, Succ(vyv23900)) -> Zero 214.33/145.96 new_primMulNat0(Succ(vyv24000), Succ(vyv23900)) -> new_primPlusNat0(new_primMulNat0(vyv24000, Succ(vyv23900)), Succ(vyv23900)) 214.33/145.96 new_primMulNat0(Succ(vyv24000), Zero) -> Zero 214.33/145.96 new_primMulNat0(Zero, Zero) -> Zero 214.33/145.96 new_primPlusNat0(Succ(vyv4000), Succ(vyv6000)) -> Succ(Succ(new_primPlusNat0(vyv4000, vyv6000))) 214.33/145.96 new_primPlusNat0(Zero, Succ(vyv6000)) -> Succ(vyv6000) 214.33/145.96 new_primPlusNat0(Zero, Zero) -> Zero 214.33/145.96 new_primPlusNat0(Succ(vyv4000), Zero) -> Succ(vyv4000) 214.33/145.96 new_sr14(vyv240, vyv239) -> error([]) 214.33/145.96 new_sr8(:%(vyv2400, vyv2401), :%(vyv2390, vyv2391), be) -> new_reduce2Reduce1(vyv2400, vyv2390, vyv2401, vyv2391, new_esEs2(vyv2401, vyv2391, be), be) 214.33/145.96 new_esEs2(vyv2401, vyv2391, ty_Integer) -> new_esEs1(new_sr9(vyv2401, vyv2391)) 214.33/145.96 new_esEs2(vyv2401, vyv2391, ty_Int) -> new_esEs(new_sr10(vyv2401, vyv2391)) 214.33/145.96 new_reduce2Reduce1(vyv265, vyv266, vyv267, vyv268, False, bh) -> :%(new_quot0(vyv265, vyv266, vyv267, vyv268, bh), new_quot1(vyv267, vyv268, vyv265, vyv266, bh)) 214.33/145.96 new_reduce2Reduce1(vyv265, vyv266, vyv267, vyv268, True, bh) -> error([]) 214.33/145.96 new_quot0(vyv265, vyv266, vyv267, vyv268, ty_Integer) -> new_quot2(new_sr9(vyv265, vyv266), new_sr9(vyv265, vyv266), new_sr9(vyv267, vyv268)) 214.33/145.96 new_quot0(vyv265, vyv266, vyv267, vyv268, ty_Int) -> new_quot(new_sr10(vyv265, vyv266), new_sr10(vyv265, vyv266), new_sr10(vyv267, vyv268)) 214.33/145.96 new_quot1(vyv267, vyv268, vyv265, vyv266, ty_Int) -> new_quot(new_sr10(vyv267, vyv268), new_sr10(vyv265, vyv266), new_sr10(vyv267, vyv268)) 214.33/145.96 new_quot1(vyv267, vyv268, vyv265, vyv266, ty_Integer) -> new_quot2(new_sr9(vyv267, vyv268), new_sr9(vyv265, vyv266), new_sr9(vyv267, vyv268)) 214.33/145.96 new_quot2(vyv274, vyv276, vyv275) -> error([]) 214.33/145.96 new_quot(Pos(vyv2710), vyv273, vyv272) -> new_primQuotInt(vyv2710, new_gcd(vyv273, vyv272)) 214.33/145.96 new_quot(Neg(vyv2710), vyv273, vyv272) -> new_primQuotInt0(vyv2710, new_gcd(vyv273, vyv272)) 214.33/145.96 new_gcd(vyv273, vyv272) -> new_gcd2(new_esEs(vyv273), vyv273, vyv272) 214.33/145.96 new_primQuotInt0(vyv2710, Pos(Succ(vyv28800))) -> Neg(new_primDivNatS1(vyv2710, vyv28800)) 214.33/145.96 new_primQuotInt0(vyv2710, Neg(Zero)) -> new_error 214.33/145.96 new_primQuotInt0(vyv2710, Neg(Succ(vyv28800))) -> Pos(new_primDivNatS1(vyv2710, vyv28800)) 214.33/145.96 new_primQuotInt0(vyv2710, Pos(Zero)) -> new_error 214.33/145.96 new_error -> error([]) 214.33/145.96 new_primDivNatS1(Succ(Zero), Succ(vyv285000)) -> Zero 214.33/145.96 new_primDivNatS1(Succ(Succ(vyv271000)), Succ(vyv285000)) -> new_primDivNatS01(vyv271000, vyv285000, vyv271000, vyv285000) 214.33/145.96 new_primDivNatS1(Zero, vyv28500) -> Zero 214.33/145.96 new_primDivNatS1(Succ(Succ(vyv271000)), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS0(vyv271000), Zero)) 214.33/145.96 new_primDivNatS1(Succ(Zero), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS1, Zero)) 214.33/145.96 new_primMinusNatS1 -> Zero 214.33/145.96 new_primMinusNatS0(vyv271000) -> Succ(vyv271000) 214.33/145.96 new_primDivNatS01(vyv311, vyv312, Succ(vyv3130), Zero) -> new_primDivNatS02(vyv311, vyv312) 214.33/145.96 new_primDivNatS01(vyv311, vyv312, Zero, Succ(vyv3140)) -> Zero 214.33/145.96 new_primDivNatS01(vyv311, vyv312, Succ(vyv3130), Succ(vyv3140)) -> new_primDivNatS01(vyv311, vyv312, vyv3130, vyv3140) 214.33/145.96 new_primDivNatS01(vyv311, vyv312, Zero, Zero) -> new_primDivNatS02(vyv311, vyv312) 214.33/145.96 new_primDivNatS02(vyv311, vyv312) -> Succ(new_primDivNatS1(new_primMinusNatS2(vyv311, vyv312), Succ(vyv312))) 214.33/145.96 new_primMinusNatS2(Zero, Succ(vyv3120)) -> Zero 214.33/145.96 new_primMinusNatS2(Succ(vyv3110), Zero) -> Succ(vyv3110) 214.33/145.96 new_primMinusNatS2(Zero, Zero) -> Zero 214.33/145.96 new_primMinusNatS2(Succ(vyv3110), Succ(vyv3120)) -> new_primMinusNatS2(vyv3110, vyv3120) 214.33/145.96 new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) 214.33/145.96 new_esEs(Pos(Succ(vyv24300))) -> new_primEqInt(Pos(Succ(vyv24300))) 214.33/145.96 new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) 214.33/145.96 new_esEs(Neg(Succ(vyv24300))) -> new_primEqInt(Neg(Succ(vyv24300))) 214.33/145.96 new_gcd2(True, vyv273, vyv272) -> new_gcd1(new_esEs(vyv272), vyv273, vyv272) 214.33/145.96 new_gcd2(False, vyv273, vyv272) -> new_gcd0(vyv273, vyv272) 214.33/145.96 new_gcd0(vyv273, vyv272) -> new_gcd0Gcd'11(new_esEs(new_abs(vyv272)), vyv273, vyv272) 214.33/145.96 new_abs(Neg(Zero)) -> Neg(Zero) 214.33/145.96 new_abs(Neg(Succ(vyv27200))) -> Pos(Succ(vyv27200)) 214.33/145.96 new_abs(Pos(Succ(vyv27200))) -> Pos(Succ(vyv27200)) 214.33/145.96 new_abs(Pos(Zero)) -> Pos(Zero) 214.33/145.96 new_gcd0Gcd'11(True, vyv273, vyv272) -> new_abs(vyv273) 214.33/145.96 new_gcd0Gcd'11(False, vyv273, vyv272) -> new_gcd0Gcd'00(new_abs(vyv273), new_abs(vyv272)) 214.33/145.96 new_gcd0Gcd'10(False, vyv292, vyv293) -> new_gcd0Gcd'00(vyv292, new_rem(vyv293, vyv292)) 214.33/145.96 new_gcd0Gcd'00(vyv293, vyv292) -> new_gcd0Gcd'10(new_esEs(new_rem(vyv293, vyv292)), vyv292, vyv293) 214.33/145.96 new_rem(Pos(vyv2930), Neg(Zero)) -> new_error 214.33/145.96 new_rem(Neg(vyv2930), Pos(Zero)) -> new_error 214.33/145.96 new_rem(Pos(vyv2930), Neg(Succ(vyv29200))) -> Pos(new_primModNatS1(vyv2930, vyv29200)) 214.33/145.96 new_rem(Neg(vyv2930), Pos(Succ(vyv29200))) -> Neg(new_primModNatS1(vyv2930, vyv29200)) 214.33/145.96 new_rem(Pos(vyv2930), Pos(Succ(vyv29200))) -> Pos(new_primModNatS1(vyv2930, vyv29200)) 214.33/145.96 new_rem(Neg(vyv2930), Neg(Zero)) -> new_error 214.33/145.96 new_rem(Neg(vyv2930), Neg(Succ(vyv29200))) -> Neg(new_primModNatS1(vyv2930, vyv29200)) 214.33/145.96 new_rem(Pos(vyv2930), Pos(Zero)) -> new_error 214.33/145.96 new_gcd0Gcd'10(True, vyv292, vyv293) -> vyv292 214.33/145.96 new_primModNatS1(Succ(Zero), Succ(vyv292000)) -> Succ(Zero) 214.33/145.96 new_primModNatS1(Zero, vyv29200) -> Zero 214.33/145.96 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 214.33/145.96 new_primModNatS1(Succ(Succ(vyv293000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv293000), Zero) 214.33/145.96 new_primModNatS1(Succ(Succ(vyv293000)), Succ(vyv292000)) -> new_primModNatS01(vyv293000, vyv292000, vyv293000, vyv292000) 214.33/145.96 new_primModNatS01(vyv331, vyv332, Zero, Zero) -> new_primModNatS02(vyv331, vyv332) 214.33/145.96 new_primModNatS02(vyv331, vyv332) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv331), Succ(vyv332)), Succ(vyv332)) 214.33/145.96 new_primModNatS01(vyv331, vyv332, Succ(vyv3330), Zero) -> new_primModNatS02(vyv331, vyv332) 214.33/145.96 new_primModNatS01(vyv331, vyv332, Succ(vyv3330), Succ(vyv3340)) -> new_primModNatS01(vyv331, vyv332, vyv3330, vyv3340) 214.33/145.96 new_primModNatS01(vyv331, vyv332, Zero, Succ(vyv3340)) -> Succ(Succ(vyv331)) 214.33/145.96 new_gcd1(True, vyv273, vyv272) -> new_error 214.33/145.96 new_gcd1(False, vyv273, vyv272) -> new_gcd0(vyv273, vyv272) 214.33/145.96 new_primEqInt(Neg(Succ(vyv242000))) -> False 214.33/145.96 new_primEqInt(Pos(Zero)) -> True 214.33/145.96 new_primEqInt(Pos(Succ(vyv242000))) -> False 214.33/145.96 new_primEqInt(Neg(Zero)) -> True 214.33/145.96 new_primQuotInt(vyv2710, Pos(Succ(vyv28500))) -> Pos(new_primDivNatS1(vyv2710, vyv28500)) 214.33/145.96 new_primQuotInt(vyv2710, Neg(Zero)) -> new_error 214.33/145.96 new_primQuotInt(vyv2710, Pos(Zero)) -> new_error 214.33/145.96 new_primQuotInt(vyv2710, Neg(Succ(vyv28500))) -> Neg(new_primDivNatS1(vyv2710, vyv28500)) 214.33/145.96 new_esEs1(Integer(vyv2700)) -> new_primEqInt(vyv2700) 214.33/145.96 new_sr1(vyv228, ty_Double) -> new_sr11(vyv228) 214.33/145.96 new_sr1(vyv228, ty_Float) -> new_sr12(vyv228) 214.33/145.96 new_sr1(vyv228, app(ty_Ratio, bg)) -> new_sr5(vyv228, bg) 214.33/145.96 new_sr1(vyv228, ty_Integer) -> new_sr6(vyv228) 214.33/145.96 new_sr1(vyv228, ty_Int) -> new_sr7(vyv228) 214.33/145.96 new_sr7(Pos(vyv1840)) -> Pos(new_primMulNat1(vyv1840)) 214.33/145.96 new_sr7(Neg(vyv1840)) -> Pos(new_primMulNat1(vyv1840)) 214.33/145.96 new_primMulNat1(Succ(vyv18400)) -> new_primPlusNat0(new_primMulNat2(vyv18400), Succ(vyv18400)) 214.33/145.96 new_primMulNat1(Zero) -> Zero 214.33/145.96 new_primMulNat2(Succ(vyv184000)) -> new_primPlusNat0(new_primMulNat3(vyv184000), Succ(Succ(vyv184000))) 214.33/145.96 new_primMulNat2(Zero) -> Zero 214.33/145.96 new_primMulNat3(Succ(vyv1840000)) -> new_primPlusNat0(new_primMulNat4(vyv1840000), Succ(Succ(Succ(vyv1840000)))) 214.33/145.96 new_primMulNat3(Zero) -> Zero 214.33/145.96 new_primMulNat4(Succ(vyv18400000)) -> new_primPlusNat0(new_primMulNat0(vyv18400000, Succ(Succ(Succ(Succ(vyv18400000))))), Succ(Succ(Succ(Succ(vyv18400000))))) 214.33/145.96 new_primMulNat4(Zero) -> Zero 214.33/145.96 new_sr6(vyv184) -> error([]) 214.33/145.96 new_sr5(:%(vyv1840, vyv1841), bd) -> new_reduce2Reduce1(vyv1840, vyv1840, vyv1841, vyv1841, new_esEs0(vyv1841, bd), bd) 214.33/145.96 new_esEs0(vyv1841, ty_Int) -> new_esEs(new_sr7(vyv1841)) 214.33/145.96 new_esEs0(vyv1841, ty_Integer) -> new_esEs1(new_sr6(vyv1841)) 214.33/145.96 new_sr12(vyv184) -> error([]) 214.33/145.96 new_sr11(vyv184) -> error([]) 214.33/145.96 new_ms(vyv229, Neg(vyv2450)) -> Pos(new_primPlusNat0(Succ(vyv229), vyv2450)) 214.33/145.96 new_ms(vyv229, Pos(Succ(vyv24500))) -> new_primMinusNat0(vyv229, vyv24500) 214.33/145.96 new_ms(vyv229, Pos(Zero)) -> Pos(Succ(vyv229)) 214.33/145.96 new_sr2(vyv228, vyv227, ty_Integer) -> new_sr9(vyv228, vyv227) 214.33/145.96 new_sr2(vyv228, vyv227, ty_Int) -> new_sr10(vyv228, vyv227) 214.33/145.96 new_sr2(vyv228, vyv227, app(ty_Ratio, bg)) -> new_sr8(vyv228, vyv227, bg) 214.33/145.96 new_sr2(vyv228, vyv227, ty_Double) -> new_sr13(vyv228, vyv227) 214.33/145.96 new_sr2(vyv228, vyv227, ty_Float) -> new_sr14(vyv228, vyv227) 214.33/145.96 new_primMinusNat0(Succ(vyv2290), Succ(vyv245000)) -> new_primMinusNat0(vyv2290, vyv245000) 214.33/145.96 new_primMinusNat0(Zero, Zero) -> Pos(Zero) 214.33/145.96 new_primMinusNat0(Zero, Succ(vyv245000)) -> Neg(Succ(vyv245000)) 214.33/145.96 new_primMinusNat0(Succ(vyv2290), Zero) -> Pos(Succ(vyv2290)) 214.33/145.96 new_sr3(vyv250, ty_Double) -> new_sr11(vyv250) 214.33/145.96 new_sr3(vyv250, ty_Int) -> new_sr7(vyv250) 214.33/145.96 new_sr3(vyv250, ty_Float) -> new_sr12(vyv250) 214.33/145.96 new_sr3(vyv250, ty_Integer) -> new_sr6(vyv250) 214.33/145.96 new_sr3(vyv250, app(ty_Ratio, bf)) -> new_sr5(vyv250, bf) 214.33/145.96 214.33/145.96 The set Q consists of the following terms: 214.33/145.96 214.33/145.96 new_sr13(x0, x1) 214.33/145.96 new_primDivNatS01(x0, x1, Zero, Zero) 214.33/145.96 new_gcd0Gcd'11(False, x0, x1) 214.33/145.96 new_primMulNat4(Zero) 214.33/145.96 new_gcd0Gcd'11(True, x0, x1) 214.33/145.96 new_sr2(x0, x1, ty_Float) 214.33/145.96 new_sr5(:%(x0, x1), x2) 214.33/145.96 new_primEqInt(Pos(Zero)) 214.33/145.96 new_ms(x0, Neg(x1)) 214.33/145.96 new_sr2(x0, x1, ty_Double) 214.33/145.96 new_esEs(Pos(Succ(x0))) 214.33/145.96 new_primQuotInt0(x0, Neg(Zero)) 214.33/145.96 new_primMulNat3(Zero) 214.33/145.96 new_primModNatS02(x0, x1) 214.33/145.96 new_primDivNatS1(Succ(Zero), Zero) 214.33/145.96 new_primMinusNatS0(x0) 214.33/145.96 new_sr11(x0) 214.33/145.96 new_rem(Pos(x0), Neg(Succ(x1))) 214.33/145.96 new_rem(Neg(x0), Pos(Succ(x1))) 214.33/145.96 new_primMulNat0(Zero, Zero) 214.33/145.96 new_primPlusNat0(Succ(x0), Zero) 214.33/145.96 new_primMulNat0(Succ(x0), Zero) 214.33/145.96 new_sr3(x0, ty_Float) 214.33/145.96 new_primMulNat2(Zero) 214.33/145.96 new_primQuotInt(x0, Pos(Zero)) 214.33/145.96 new_primMulNat2(Succ(x0)) 214.33/145.96 new_primQuotInt(x0, Neg(Zero)) 214.33/145.96 new_rem(Neg(x0), Neg(Succ(x1))) 214.33/145.96 new_primMinusNatS2(Zero, Succ(x0)) 214.33/145.96 new_sr4(x0, x1, ty_Double) 214.33/145.96 new_primMulNat3(Succ(x0)) 214.33/145.96 new_esEs1(Integer(x0)) 214.33/145.96 new_primQuotInt0(x0, Pos(Zero)) 214.33/145.96 new_gcd2(True, x0, x1) 214.33/145.96 new_quot1(x0, x1, x2, x3, ty_Int) 214.33/145.96 new_primDivNatS1(Zero, x0) 214.33/145.96 new_primMinusNat0(Zero, Zero) 214.33/145.96 new_gcd(x0, x1) 214.33/145.96 new_gcd1(False, x0, x1) 214.33/145.96 new_esEs2(x0, x1, ty_Int) 214.33/145.96 new_sr3(x0, ty_Integer) 214.33/145.96 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 214.33/145.96 new_sr1(x0, app(ty_Ratio, x1)) 214.33/145.96 new_sr1(x0, ty_Float) 214.33/145.96 new_primPlusNat0(Zero, Succ(x0)) 214.33/145.96 new_sr8(:%(x0, x1), :%(x2, x3), x4) 214.33/145.96 new_abs(Neg(Zero)) 214.33/145.96 new_primMinusNatS2(Succ(x0), Zero) 214.33/145.96 new_error 214.33/145.96 new_primModNatS1(Succ(Zero), Zero) 214.33/145.96 new_primMulNat4(Succ(x0)) 214.33/145.96 new_sr1(x0, ty_Integer) 214.33/145.96 new_primDivNatS02(x0, x1) 214.33/145.96 new_sr1(x0, ty_Int) 214.33/145.96 new_rem(Neg(x0), Neg(Zero)) 214.33/145.96 new_primMinusNat0(Zero, Succ(x0)) 214.33/145.96 new_primEqInt(Neg(Zero)) 214.33/145.96 new_rem(Pos(x0), Pos(Succ(x1))) 214.33/145.96 new_abs(Pos(Succ(x0))) 214.33/145.96 new_primMulNat0(Succ(x0), Succ(x1)) 214.33/145.96 new_primMulNat0(Zero, Succ(x0)) 214.33/145.96 new_reduce2Reduce1(x0, x1, x2, x3, True, x4) 214.33/145.96 new_gcd0Gcd'10(False, x0, x1) 214.33/145.96 new_sr12(x0) 214.33/145.96 new_primDivNatS01(x0, x1, Zero, Succ(x2)) 214.33/145.96 new_sr10(Pos(x0), Pos(x1)) 214.33/145.96 new_primModNatS01(x0, x1, Zero, Succ(x2)) 214.33/145.96 new_primPlusNat0(Zero, Zero) 214.33/145.96 new_primQuotInt0(x0, Pos(Succ(x1))) 214.33/145.96 new_primModNatS01(x0, x1, Succ(x2), Zero) 214.33/145.96 new_ms(x0, Pos(Succ(x1))) 214.33/145.96 new_primModNatS1(Succ(Succ(x0)), Zero) 214.33/145.96 new_sr4(x0, x1, ty_Integer) 214.33/145.96 new_rem(Pos(x0), Pos(Zero)) 214.33/145.96 new_sr4(x0, x1, ty_Int) 214.33/145.96 new_ms0(x0, Neg(Succ(x1))) 214.33/145.96 new_quot(Pos(x0), x1, x2) 214.33/145.96 new_primMinusNatS2(Zero, Zero) 214.33/145.96 new_esEs0(x0, ty_Int) 214.33/145.96 new_primMinusNat0(Succ(x0), Zero) 214.33/145.96 new_ms0(x0, Pos(x1)) 214.33/145.96 new_esEs(Pos(Zero)) 214.33/145.96 new_quot(Neg(x0), x1, x2) 214.33/145.96 new_primDivNatS01(x0, x1, Succ(x2), Succ(x3)) 214.33/145.96 new_quot2(x0, x1, x2) 214.33/145.96 new_primEqInt(Neg(Succ(x0))) 214.33/145.96 new_sr10(Neg(x0), Neg(x1)) 214.33/145.96 new_sr3(x0, app(ty_Ratio, x1)) 214.33/145.96 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 214.33/145.96 new_sr9(x0, x1) 214.33/145.96 new_sr2(x0, x1, ty_Integer) 214.33/145.96 new_sr7(Neg(x0)) 214.33/145.96 new_sr1(x0, ty_Double) 214.33/145.96 new_primQuotInt0(x0, Neg(Succ(x1))) 214.33/145.96 new_rem(Pos(x0), Neg(Zero)) 214.33/145.96 new_rem(Neg(x0), Pos(Zero)) 214.33/145.96 new_gcd0Gcd'00(x0, x1) 214.33/145.96 new_primQuotInt(x0, Neg(Succ(x1))) 214.33/145.96 new_primMinusNatS2(Succ(x0), Succ(x1)) 214.33/145.96 new_ms(x0, Pos(Zero)) 214.33/145.96 new_abs(Pos(Zero)) 214.33/145.96 new_primMinusNat0(Succ(x0), Succ(x1)) 214.33/145.96 new_quot0(x0, x1, x2, x3, ty_Integer) 214.33/145.96 new_sr6(x0) 214.33/145.96 new_gcd2(False, x0, x1) 214.33/145.96 new_gcd1(True, x0, x1) 214.33/145.96 new_esEs2(x0, x1, ty_Integer) 214.33/145.96 new_primMinusNatS1 214.33/145.96 new_sr7(Pos(x0)) 214.33/145.96 new_gcd0Gcd'10(True, x0, x1) 214.33/145.96 new_primModNatS1(Zero, x0) 214.33/145.96 new_sr4(x0, x1, ty_Float) 214.33/145.96 new_sr10(Pos(x0), Neg(x1)) 214.33/145.96 new_sr10(Neg(x0), Pos(x1)) 214.33/145.96 new_primDivNatS01(x0, x1, Succ(x2), Zero) 214.33/145.96 new_primDivNatS1(Succ(Succ(x0)), Succ(x1)) 214.33/145.96 new_primPlusNat0(Succ(x0), Succ(x1)) 214.33/145.96 new_primDivNatS1(Succ(Zero), Succ(x0)) 214.33/145.96 new_primQuotInt(x0, Pos(Succ(x1))) 214.33/145.96 new_sr2(x0, x1, app(ty_Ratio, x2)) 214.33/145.96 new_abs(Neg(Succ(x0))) 214.33/145.96 new_esEs0(x0, ty_Integer) 214.33/145.96 new_sr3(x0, ty_Int) 214.33/145.96 new_esEs(Neg(Succ(x0))) 214.33/145.96 new_ms0(x0, Neg(Zero)) 214.33/145.96 new_primModNatS01(x0, x1, Zero, Zero) 214.33/145.96 new_sr4(x0, x1, app(ty_Ratio, x2)) 214.33/145.96 new_gcd0(x0, x1) 214.33/145.96 new_primEqInt(Pos(Succ(x0))) 214.33/145.96 new_sr3(x0, ty_Double) 214.33/145.96 new_quot1(x0, x1, x2, x3, ty_Integer) 214.33/145.96 new_primDivNatS1(Succ(Succ(x0)), Zero) 214.33/145.96 new_primMulNat1(Succ(x0)) 214.33/145.96 new_sr14(x0, x1) 214.33/145.96 new_quot0(x0, x1, x2, x3, ty_Int) 214.33/145.96 new_sr2(x0, x1, ty_Int) 214.33/145.96 new_primModNatS1(Succ(Zero), Succ(x0)) 214.33/145.96 new_reduce2Reduce1(x0, x1, x2, x3, False, x4) 214.33/145.96 new_esEs(Neg(Zero)) 214.33/145.96 new_primMulNat1(Zero) 214.33/145.96 214.33/145.96 We have to consider all minimal (P,Q,R)-chains. 214.33/145.96 ---------------------------------------- 214.33/145.96 214.33/145.96 (782) TransformationProof (EQUIVALENT) 214.33/145.96 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]: 214.33/145.96 214.33/145.96 (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)) 214.33/145.96 214.33/145.96 214.33/145.96 ---------------------------------------- 214.33/145.96 214.33/145.96 (783) 214.33/145.96 Obligation: 214.33/145.96 Q DP problem: 214.33/145.96 The TRS P consists of the following rules: 214.33/145.96 214.33/145.96 new_pr2F0G11(vyv239, vyv240, vyv241, bc) -> new_pr2F1(vyv240, vyv241, Pos(Succ(Zero)), vyv239, bc) 214.33/145.96 new_pr2F0(vyv184, Neg(Succ(Succ(vyv223000))), vyv188, h) -> new_pr2F0G10(vyv188, vyv184, Succ(vyv223000), vyv223000, h) 214.33/145.96 new_pr2F0G10(vyv249, vyv250, vyv251, Succ(Succ(vyv25200)), bb) -> new_pr2F0G10(vyv249, vyv250, vyv251, vyv25200, bb) 214.33/145.96 new_pr2F0G10(vyv249, vyv250, vyv251, Succ(Zero), bb) -> new_pr2F0G11(vyv249, vyv250, vyv251, bb) 214.33/145.96 new_pr2F0G10(vyv249, vyv250, vyv251, Zero, bb) -> new_pr2F0G(vyv249, new_sr3(vyv250, bb), Neg(new_primDivNatS1(Succ(vyv251), Succ(Zero))), bb) 214.33/145.96 new_pr2F0G(vyv188, vyv184, Neg(Succ(Zero)), h) -> new_pr2F0G11(vyv188, vyv184, Zero, h) 214.33/145.96 new_pr2F0G(vyv188, vyv184, Neg(Succ(Succ(vyv223000))), h) -> new_pr2F0G10(vyv188, vyv184, Succ(vyv223000), vyv223000, h) 214.33/145.96 new_pr2F0(vyv184, Neg(Succ(Zero)), vyv188, h) -> new_pr2F0G11(vyv188, vyv184, Zero, h) 214.33/145.96 new_pr2F0(vyv184, Pos(Succ(Succ(vyv223000))), vyv188, h) -> new_pr2F0G1(vyv188, vyv184, Succ(vyv223000), vyv223000, h) 214.33/145.96 new_pr2F0G1(vyv227, vyv228, vyv229, Succ(Succ(vyv23000)), ba) -> new_pr2F0G1(vyv227, vyv228, vyv229, vyv23000, ba) 214.33/145.96 new_pr2F0G1(vyv227, vyv228, vyv229, Succ(Zero), ba) -> new_pr2F(vyv228, vyv229, Pos(Succ(Zero)), vyv227, ba) 214.33/145.96 new_pr2F(vyv228, vyv229, vyv245, vyv227, ba) -> new_pr2F3(new_esEs(new_ms(vyv229, vyv245)), vyv228, vyv229, vyv245, vyv227, ba) 214.33/145.96 new_pr2F3(False, vyv228, vyv229, vyv245, vyv227, ba) -> new_pr2F0(vyv228, new_ms(vyv229, vyv245), new_sr2(vyv228, vyv227, ba), ba) 214.33/145.96 new_pr2F0(vyv184, Pos(Succ(Zero)), vyv188, h) -> new_pr2F(vyv184, Zero, Pos(Succ(Zero)), vyv188, h) 214.33/145.96 new_pr2F0G1(vyv227, vyv228, vyv229, Zero, ba) -> new_pr2F0G(vyv227, new_sr1(vyv228, ba), Pos(new_primDivNatS1(Succ(vyv229), Succ(Zero))), ba) 214.33/145.96 new_pr2F0G(vyv188, vyv184, Pos(Succ(Succ(vyv223000))), h) -> new_pr2F0G1(vyv188, vyv184, Succ(vyv223000), vyv223000, h) 214.33/145.96 new_pr2F0G(vyv188, vyv184, Pos(Succ(Zero)), h) -> new_pr2F(vyv184, Zero, Pos(Succ(Zero)), vyv188, h) 214.33/145.96 new_pr2F1(z1, z2, Pos(Succ(Zero)), z0, z3) -> new_pr2F30(False, z1, z2, Pos(Succ(Zero)), z0, z3) 214.33/145.96 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) 214.33/145.96 214.33/145.96 The TRS R consists of the following rules: 214.33/145.96 214.33/145.96 new_ms0(vyv241, Pos(vyv2440)) -> Neg(new_primPlusNat0(Succ(vyv241), vyv2440)) 214.33/145.96 new_sr4(vyv240, vyv239, app(ty_Ratio, be)) -> new_sr8(vyv240, vyv239, be) 214.33/145.96 new_sr4(vyv240, vyv239, ty_Float) -> new_sr14(vyv240, vyv239) 214.33/145.96 new_sr4(vyv240, vyv239, ty_Int) -> new_sr10(vyv240, vyv239) 214.33/145.96 new_sr4(vyv240, vyv239, ty_Double) -> new_sr13(vyv240, vyv239) 214.33/145.96 new_sr4(vyv240, vyv239, ty_Integer) -> new_sr9(vyv240, vyv239) 214.33/145.96 new_sr9(vyv240, vyv239) -> error([]) 214.33/145.96 new_sr13(vyv240, vyv239) -> error([]) 214.33/145.96 new_sr10(Pos(vyv2400), Pos(vyv2390)) -> Pos(new_primMulNat0(vyv2400, vyv2390)) 214.33/145.96 new_sr10(Neg(vyv2400), Neg(vyv2390)) -> Pos(new_primMulNat0(vyv2400, vyv2390)) 214.33/145.96 new_sr10(Pos(vyv2400), Neg(vyv2390)) -> Neg(new_primMulNat0(vyv2400, vyv2390)) 214.33/145.96 new_sr10(Neg(vyv2400), Pos(vyv2390)) -> Neg(new_primMulNat0(vyv2400, vyv2390)) 214.33/145.96 new_primMulNat0(Zero, Succ(vyv23900)) -> Zero 214.33/145.96 new_primMulNat0(Succ(vyv24000), Succ(vyv23900)) -> new_primPlusNat0(new_primMulNat0(vyv24000, Succ(vyv23900)), Succ(vyv23900)) 214.33/145.96 new_primMulNat0(Succ(vyv24000), Zero) -> Zero 214.33/145.96 new_primMulNat0(Zero, Zero) -> Zero 214.33/145.96 new_primPlusNat0(Succ(vyv4000), Succ(vyv6000)) -> Succ(Succ(new_primPlusNat0(vyv4000, vyv6000))) 214.33/145.96 new_primPlusNat0(Zero, Succ(vyv6000)) -> Succ(vyv6000) 214.33/145.96 new_primPlusNat0(Zero, Zero) -> Zero 214.33/145.96 new_primPlusNat0(Succ(vyv4000), Zero) -> Succ(vyv4000) 214.33/145.96 new_sr14(vyv240, vyv239) -> error([]) 214.33/145.96 new_sr8(:%(vyv2400, vyv2401), :%(vyv2390, vyv2391), be) -> new_reduce2Reduce1(vyv2400, vyv2390, vyv2401, vyv2391, new_esEs2(vyv2401, vyv2391, be), be) 214.33/145.96 new_esEs2(vyv2401, vyv2391, ty_Integer) -> new_esEs1(new_sr9(vyv2401, vyv2391)) 214.33/145.96 new_esEs2(vyv2401, vyv2391, ty_Int) -> new_esEs(new_sr10(vyv2401, vyv2391)) 214.33/145.96 new_reduce2Reduce1(vyv265, vyv266, vyv267, vyv268, False, bh) -> :%(new_quot0(vyv265, vyv266, vyv267, vyv268, bh), new_quot1(vyv267, vyv268, vyv265, vyv266, bh)) 214.33/145.96 new_reduce2Reduce1(vyv265, vyv266, vyv267, vyv268, True, bh) -> error([]) 214.33/145.96 new_quot0(vyv265, vyv266, vyv267, vyv268, ty_Integer) -> new_quot2(new_sr9(vyv265, vyv266), new_sr9(vyv265, vyv266), new_sr9(vyv267, vyv268)) 214.33/145.96 new_quot0(vyv265, vyv266, vyv267, vyv268, ty_Int) -> new_quot(new_sr10(vyv265, vyv266), new_sr10(vyv265, vyv266), new_sr10(vyv267, vyv268)) 214.33/145.96 new_quot1(vyv267, vyv268, vyv265, vyv266, ty_Int) -> new_quot(new_sr10(vyv267, vyv268), new_sr10(vyv265, vyv266), new_sr10(vyv267, vyv268)) 214.33/145.96 new_quot1(vyv267, vyv268, vyv265, vyv266, ty_Integer) -> new_quot2(new_sr9(vyv267, vyv268), new_sr9(vyv265, vyv266), new_sr9(vyv267, vyv268)) 214.33/145.96 new_quot2(vyv274, vyv276, vyv275) -> error([]) 214.33/145.96 new_quot(Pos(vyv2710), vyv273, vyv272) -> new_primQuotInt(vyv2710, new_gcd(vyv273, vyv272)) 214.33/145.96 new_quot(Neg(vyv2710), vyv273, vyv272) -> new_primQuotInt0(vyv2710, new_gcd(vyv273, vyv272)) 214.33/145.96 new_gcd(vyv273, vyv272) -> new_gcd2(new_esEs(vyv273), vyv273, vyv272) 214.33/145.96 new_primQuotInt0(vyv2710, Pos(Succ(vyv28800))) -> Neg(new_primDivNatS1(vyv2710, vyv28800)) 214.33/145.96 new_primQuotInt0(vyv2710, Neg(Zero)) -> new_error 214.33/145.96 new_primQuotInt0(vyv2710, Neg(Succ(vyv28800))) -> Pos(new_primDivNatS1(vyv2710, vyv28800)) 214.33/145.96 new_primQuotInt0(vyv2710, Pos(Zero)) -> new_error 214.33/145.96 new_error -> error([]) 214.33/145.96 new_primDivNatS1(Succ(Zero), Succ(vyv285000)) -> Zero 214.33/145.96 new_primDivNatS1(Succ(Succ(vyv271000)), Succ(vyv285000)) -> new_primDivNatS01(vyv271000, vyv285000, vyv271000, vyv285000) 214.33/145.96 new_primDivNatS1(Zero, vyv28500) -> Zero 214.33/145.96 new_primDivNatS1(Succ(Succ(vyv271000)), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS0(vyv271000), Zero)) 214.33/145.96 new_primDivNatS1(Succ(Zero), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS1, Zero)) 214.33/145.96 new_primMinusNatS1 -> Zero 214.33/145.96 new_primMinusNatS0(vyv271000) -> Succ(vyv271000) 214.33/145.96 new_primDivNatS01(vyv311, vyv312, Succ(vyv3130), Zero) -> new_primDivNatS02(vyv311, vyv312) 214.33/145.96 new_primDivNatS01(vyv311, vyv312, Zero, Succ(vyv3140)) -> Zero 214.33/145.96 new_primDivNatS01(vyv311, vyv312, Succ(vyv3130), Succ(vyv3140)) -> new_primDivNatS01(vyv311, vyv312, vyv3130, vyv3140) 214.33/145.96 new_primDivNatS01(vyv311, vyv312, Zero, Zero) -> new_primDivNatS02(vyv311, vyv312) 214.33/145.96 new_primDivNatS02(vyv311, vyv312) -> Succ(new_primDivNatS1(new_primMinusNatS2(vyv311, vyv312), Succ(vyv312))) 214.33/145.96 new_primMinusNatS2(Zero, Succ(vyv3120)) -> Zero 214.33/145.96 new_primMinusNatS2(Succ(vyv3110), Zero) -> Succ(vyv3110) 214.33/145.96 new_primMinusNatS2(Zero, Zero) -> Zero 214.33/145.96 new_primMinusNatS2(Succ(vyv3110), Succ(vyv3120)) -> new_primMinusNatS2(vyv3110, vyv3120) 214.33/145.96 new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) 214.33/145.96 new_esEs(Pos(Succ(vyv24300))) -> new_primEqInt(Pos(Succ(vyv24300))) 214.33/145.96 new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) 214.33/145.96 new_esEs(Neg(Succ(vyv24300))) -> new_primEqInt(Neg(Succ(vyv24300))) 214.33/145.96 new_gcd2(True, vyv273, vyv272) -> new_gcd1(new_esEs(vyv272), vyv273, vyv272) 214.33/145.96 new_gcd2(False, vyv273, vyv272) -> new_gcd0(vyv273, vyv272) 214.33/145.96 new_gcd0(vyv273, vyv272) -> new_gcd0Gcd'11(new_esEs(new_abs(vyv272)), vyv273, vyv272) 214.33/145.96 new_abs(Neg(Zero)) -> Neg(Zero) 214.33/145.96 new_abs(Neg(Succ(vyv27200))) -> Pos(Succ(vyv27200)) 214.33/145.96 new_abs(Pos(Succ(vyv27200))) -> Pos(Succ(vyv27200)) 214.33/145.96 new_abs(Pos(Zero)) -> Pos(Zero) 214.33/145.96 new_gcd0Gcd'11(True, vyv273, vyv272) -> new_abs(vyv273) 214.33/145.96 new_gcd0Gcd'11(False, vyv273, vyv272) -> new_gcd0Gcd'00(new_abs(vyv273), new_abs(vyv272)) 214.33/145.96 new_gcd0Gcd'10(False, vyv292, vyv293) -> new_gcd0Gcd'00(vyv292, new_rem(vyv293, vyv292)) 214.33/145.96 new_gcd0Gcd'00(vyv293, vyv292) -> new_gcd0Gcd'10(new_esEs(new_rem(vyv293, vyv292)), vyv292, vyv293) 214.33/145.96 new_rem(Pos(vyv2930), Neg(Zero)) -> new_error 214.33/145.96 new_rem(Neg(vyv2930), Pos(Zero)) -> new_error 214.33/145.96 new_rem(Pos(vyv2930), Neg(Succ(vyv29200))) -> Pos(new_primModNatS1(vyv2930, vyv29200)) 214.33/145.96 new_rem(Neg(vyv2930), Pos(Succ(vyv29200))) -> Neg(new_primModNatS1(vyv2930, vyv29200)) 214.33/145.96 new_rem(Pos(vyv2930), Pos(Succ(vyv29200))) -> Pos(new_primModNatS1(vyv2930, vyv29200)) 214.33/145.96 new_rem(Neg(vyv2930), Neg(Zero)) -> new_error 214.33/145.96 new_rem(Neg(vyv2930), Neg(Succ(vyv29200))) -> Neg(new_primModNatS1(vyv2930, vyv29200)) 214.33/145.96 new_rem(Pos(vyv2930), Pos(Zero)) -> new_error 214.33/145.96 new_gcd0Gcd'10(True, vyv292, vyv293) -> vyv292 214.33/145.96 new_primModNatS1(Succ(Zero), Succ(vyv292000)) -> Succ(Zero) 214.33/145.96 new_primModNatS1(Zero, vyv29200) -> Zero 214.33/145.96 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 214.33/145.96 new_primModNatS1(Succ(Succ(vyv293000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv293000), Zero) 214.33/145.96 new_primModNatS1(Succ(Succ(vyv293000)), Succ(vyv292000)) -> new_primModNatS01(vyv293000, vyv292000, vyv293000, vyv292000) 214.33/145.96 new_primModNatS01(vyv331, vyv332, Zero, Zero) -> new_primModNatS02(vyv331, vyv332) 214.33/145.96 new_primModNatS02(vyv331, vyv332) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv331), Succ(vyv332)), Succ(vyv332)) 214.33/145.96 new_primModNatS01(vyv331, vyv332, Succ(vyv3330), Zero) -> new_primModNatS02(vyv331, vyv332) 214.33/145.96 new_primModNatS01(vyv331, vyv332, Succ(vyv3330), Succ(vyv3340)) -> new_primModNatS01(vyv331, vyv332, vyv3330, vyv3340) 214.33/145.96 new_primModNatS01(vyv331, vyv332, Zero, Succ(vyv3340)) -> Succ(Succ(vyv331)) 214.33/145.96 new_gcd1(True, vyv273, vyv272) -> new_error 214.33/145.96 new_gcd1(False, vyv273, vyv272) -> new_gcd0(vyv273, vyv272) 214.33/145.96 new_primEqInt(Neg(Succ(vyv242000))) -> False 214.33/145.96 new_primEqInt(Pos(Zero)) -> True 214.33/145.96 new_primEqInt(Pos(Succ(vyv242000))) -> False 214.33/145.96 new_primEqInt(Neg(Zero)) -> True 214.33/145.96 new_primQuotInt(vyv2710, Pos(Succ(vyv28500))) -> Pos(new_primDivNatS1(vyv2710, vyv28500)) 214.33/145.96 new_primQuotInt(vyv2710, Neg(Zero)) -> new_error 214.33/145.96 new_primQuotInt(vyv2710, Pos(Zero)) -> new_error 214.33/145.96 new_primQuotInt(vyv2710, Neg(Succ(vyv28500))) -> Neg(new_primDivNatS1(vyv2710, vyv28500)) 214.33/145.96 new_esEs1(Integer(vyv2700)) -> new_primEqInt(vyv2700) 214.33/145.96 new_sr1(vyv228, ty_Double) -> new_sr11(vyv228) 214.33/145.96 new_sr1(vyv228, ty_Float) -> new_sr12(vyv228) 214.33/145.96 new_sr1(vyv228, app(ty_Ratio, bg)) -> new_sr5(vyv228, bg) 214.33/145.96 new_sr1(vyv228, ty_Integer) -> new_sr6(vyv228) 214.33/145.96 new_sr1(vyv228, ty_Int) -> new_sr7(vyv228) 214.33/145.96 new_sr7(Pos(vyv1840)) -> Pos(new_primMulNat1(vyv1840)) 214.33/145.96 new_sr7(Neg(vyv1840)) -> Pos(new_primMulNat1(vyv1840)) 214.33/145.96 new_primMulNat1(Succ(vyv18400)) -> new_primPlusNat0(new_primMulNat2(vyv18400), Succ(vyv18400)) 214.33/145.96 new_primMulNat1(Zero) -> Zero 214.33/145.96 new_primMulNat2(Succ(vyv184000)) -> new_primPlusNat0(new_primMulNat3(vyv184000), Succ(Succ(vyv184000))) 214.33/145.96 new_primMulNat2(Zero) -> Zero 214.33/145.96 new_primMulNat3(Succ(vyv1840000)) -> new_primPlusNat0(new_primMulNat4(vyv1840000), Succ(Succ(Succ(vyv1840000)))) 214.33/145.96 new_primMulNat3(Zero) -> Zero 214.33/145.96 new_primMulNat4(Succ(vyv18400000)) -> new_primPlusNat0(new_primMulNat0(vyv18400000, Succ(Succ(Succ(Succ(vyv18400000))))), Succ(Succ(Succ(Succ(vyv18400000))))) 214.33/145.96 new_primMulNat4(Zero) -> Zero 214.33/145.96 new_sr6(vyv184) -> error([]) 214.33/145.96 new_sr5(:%(vyv1840, vyv1841), bd) -> new_reduce2Reduce1(vyv1840, vyv1840, vyv1841, vyv1841, new_esEs0(vyv1841, bd), bd) 214.33/145.96 new_esEs0(vyv1841, ty_Int) -> new_esEs(new_sr7(vyv1841)) 214.33/145.96 new_esEs0(vyv1841, ty_Integer) -> new_esEs1(new_sr6(vyv1841)) 214.33/145.96 new_sr12(vyv184) -> error([]) 214.33/145.96 new_sr11(vyv184) -> error([]) 214.33/145.96 new_ms(vyv229, Neg(vyv2450)) -> Pos(new_primPlusNat0(Succ(vyv229), vyv2450)) 214.33/145.96 new_ms(vyv229, Pos(Succ(vyv24500))) -> new_primMinusNat0(vyv229, vyv24500) 214.33/145.96 new_ms(vyv229, Pos(Zero)) -> Pos(Succ(vyv229)) 214.33/145.96 new_sr2(vyv228, vyv227, ty_Integer) -> new_sr9(vyv228, vyv227) 214.33/145.96 new_sr2(vyv228, vyv227, ty_Int) -> new_sr10(vyv228, vyv227) 214.33/145.96 new_sr2(vyv228, vyv227, app(ty_Ratio, bg)) -> new_sr8(vyv228, vyv227, bg) 214.33/145.96 new_sr2(vyv228, vyv227, ty_Double) -> new_sr13(vyv228, vyv227) 214.33/145.96 new_sr2(vyv228, vyv227, ty_Float) -> new_sr14(vyv228, vyv227) 214.33/145.96 new_primMinusNat0(Succ(vyv2290), Succ(vyv245000)) -> new_primMinusNat0(vyv2290, vyv245000) 214.33/145.96 new_primMinusNat0(Zero, Zero) -> Pos(Zero) 214.33/145.96 new_primMinusNat0(Zero, Succ(vyv245000)) -> Neg(Succ(vyv245000)) 214.33/145.96 new_primMinusNat0(Succ(vyv2290), Zero) -> Pos(Succ(vyv2290)) 214.33/145.96 new_sr3(vyv250, ty_Double) -> new_sr11(vyv250) 214.33/145.96 new_sr3(vyv250, ty_Int) -> new_sr7(vyv250) 214.33/145.96 new_sr3(vyv250, ty_Float) -> new_sr12(vyv250) 214.33/145.96 new_sr3(vyv250, ty_Integer) -> new_sr6(vyv250) 214.33/145.96 new_sr3(vyv250, app(ty_Ratio, bf)) -> new_sr5(vyv250, bf) 214.33/145.96 214.33/145.96 The set Q consists of the following terms: 214.33/145.96 214.33/145.96 new_sr13(x0, x1) 214.33/145.96 new_primDivNatS01(x0, x1, Zero, Zero) 214.33/145.96 new_gcd0Gcd'11(False, x0, x1) 214.33/145.96 new_primMulNat4(Zero) 214.33/145.96 new_gcd0Gcd'11(True, x0, x1) 214.33/145.96 new_sr2(x0, x1, ty_Float) 214.33/145.96 new_sr5(:%(x0, x1), x2) 214.33/145.96 new_primEqInt(Pos(Zero)) 214.33/145.96 new_ms(x0, Neg(x1)) 214.33/145.96 new_sr2(x0, x1, ty_Double) 214.33/145.96 new_esEs(Pos(Succ(x0))) 214.33/145.96 new_primQuotInt0(x0, Neg(Zero)) 214.33/145.96 new_primMulNat3(Zero) 214.33/145.96 new_primModNatS02(x0, x1) 214.33/145.96 new_primDivNatS1(Succ(Zero), Zero) 214.33/145.96 new_primMinusNatS0(x0) 214.33/145.96 new_sr11(x0) 214.33/145.96 new_rem(Pos(x0), Neg(Succ(x1))) 214.33/145.96 new_rem(Neg(x0), Pos(Succ(x1))) 214.33/145.96 new_primMulNat0(Zero, Zero) 214.33/145.96 new_primPlusNat0(Succ(x0), Zero) 214.33/145.96 new_primMulNat0(Succ(x0), Zero) 214.33/145.96 new_sr3(x0, ty_Float) 214.33/145.96 new_primMulNat2(Zero) 214.33/145.96 new_primQuotInt(x0, Pos(Zero)) 214.33/145.96 new_primMulNat2(Succ(x0)) 214.33/145.96 new_primQuotInt(x0, Neg(Zero)) 214.33/145.96 new_rem(Neg(x0), Neg(Succ(x1))) 214.33/145.96 new_primMinusNatS2(Zero, Succ(x0)) 214.33/145.96 new_sr4(x0, x1, ty_Double) 214.33/145.96 new_primMulNat3(Succ(x0)) 214.33/145.96 new_esEs1(Integer(x0)) 214.33/145.96 new_primQuotInt0(x0, Pos(Zero)) 214.33/145.96 new_gcd2(True, x0, x1) 214.33/145.96 new_quot1(x0, x1, x2, x3, ty_Int) 214.33/145.96 new_primDivNatS1(Zero, x0) 214.33/145.96 new_primMinusNat0(Zero, Zero) 214.33/145.96 new_gcd(x0, x1) 214.33/145.96 new_gcd1(False, x0, x1) 214.33/145.96 new_esEs2(x0, x1, ty_Int) 214.33/145.96 new_sr3(x0, ty_Integer) 214.33/145.96 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 214.33/145.96 new_sr1(x0, app(ty_Ratio, x1)) 214.33/145.96 new_sr1(x0, ty_Float) 214.33/145.96 new_primPlusNat0(Zero, Succ(x0)) 214.33/145.96 new_sr8(:%(x0, x1), :%(x2, x3), x4) 214.33/145.96 new_abs(Neg(Zero)) 214.33/145.96 new_primMinusNatS2(Succ(x0), Zero) 214.33/145.96 new_error 214.33/145.96 new_primModNatS1(Succ(Zero), Zero) 214.33/145.96 new_primMulNat4(Succ(x0)) 214.33/145.96 new_sr1(x0, ty_Integer) 214.33/145.96 new_primDivNatS02(x0, x1) 214.33/145.96 new_sr1(x0, ty_Int) 214.33/145.96 new_rem(Neg(x0), Neg(Zero)) 214.33/145.96 new_primMinusNat0(Zero, Succ(x0)) 214.33/145.96 new_primEqInt(Neg(Zero)) 214.33/145.96 new_rem(Pos(x0), Pos(Succ(x1))) 214.33/145.96 new_abs(Pos(Succ(x0))) 214.33/145.96 new_primMulNat0(Succ(x0), Succ(x1)) 214.33/145.96 new_primMulNat0(Zero, Succ(x0)) 214.33/145.96 new_reduce2Reduce1(x0, x1, x2, x3, True, x4) 214.33/145.96 new_gcd0Gcd'10(False, x0, x1) 214.33/145.96 new_sr12(x0) 214.33/145.96 new_primDivNatS01(x0, x1, Zero, Succ(x2)) 214.33/145.96 new_sr10(Pos(x0), Pos(x1)) 214.33/145.96 new_primModNatS01(x0, x1, Zero, Succ(x2)) 214.33/145.96 new_primPlusNat0(Zero, Zero) 214.33/145.96 new_primQuotInt0(x0, Pos(Succ(x1))) 214.33/145.96 new_primModNatS01(x0, x1, Succ(x2), Zero) 214.33/145.96 new_ms(x0, Pos(Succ(x1))) 214.33/145.96 new_primModNatS1(Succ(Succ(x0)), Zero) 214.33/145.96 new_sr4(x0, x1, ty_Integer) 214.33/145.96 new_rem(Pos(x0), Pos(Zero)) 214.33/145.96 new_sr4(x0, x1, ty_Int) 214.33/145.96 new_ms0(x0, Neg(Succ(x1))) 214.33/145.96 new_quot(Pos(x0), x1, x2) 214.33/145.96 new_primMinusNatS2(Zero, Zero) 214.33/145.96 new_esEs0(x0, ty_Int) 214.33/145.96 new_primMinusNat0(Succ(x0), Zero) 214.33/145.96 new_ms0(x0, Pos(x1)) 214.33/145.96 new_esEs(Pos(Zero)) 214.33/145.96 new_quot(Neg(x0), x1, x2) 214.33/145.96 new_primDivNatS01(x0, x1, Succ(x2), Succ(x3)) 214.33/145.96 new_quot2(x0, x1, x2) 214.33/145.96 new_primEqInt(Neg(Succ(x0))) 214.33/145.96 new_sr10(Neg(x0), Neg(x1)) 214.33/145.96 new_sr3(x0, app(ty_Ratio, x1)) 214.33/145.96 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 214.33/145.96 new_sr9(x0, x1) 214.33/145.96 new_sr2(x0, x1, ty_Integer) 214.33/145.96 new_sr7(Neg(x0)) 214.33/145.96 new_sr1(x0, ty_Double) 214.33/145.96 new_primQuotInt0(x0, Neg(Succ(x1))) 214.33/145.96 new_rem(Pos(x0), Neg(Zero)) 214.33/145.96 new_rem(Neg(x0), Pos(Zero)) 214.33/145.96 new_gcd0Gcd'00(x0, x1) 214.33/145.96 new_primQuotInt(x0, Neg(Succ(x1))) 214.33/145.96 new_primMinusNatS2(Succ(x0), Succ(x1)) 214.33/145.96 new_ms(x0, Pos(Zero)) 214.33/145.96 new_abs(Pos(Zero)) 214.33/145.96 new_primMinusNat0(Succ(x0), Succ(x1)) 214.33/145.96 new_quot0(x0, x1, x2, x3, ty_Integer) 214.33/145.96 new_sr6(x0) 214.33/145.96 new_gcd2(False, x0, x1) 214.33/145.96 new_gcd1(True, x0, x1) 214.33/145.96 new_esEs2(x0, x1, ty_Integer) 214.33/145.96 new_primMinusNatS1 214.33/145.96 new_sr7(Pos(x0)) 214.33/145.96 new_gcd0Gcd'10(True, x0, x1) 214.33/145.96 new_primModNatS1(Zero, x0) 214.33/145.96 new_sr4(x0, x1, ty_Float) 214.33/145.96 new_sr10(Pos(x0), Neg(x1)) 214.33/145.96 new_sr10(Neg(x0), Pos(x1)) 214.33/145.96 new_primDivNatS01(x0, x1, Succ(x2), Zero) 214.33/145.96 new_primDivNatS1(Succ(Succ(x0)), Succ(x1)) 214.33/145.96 new_primPlusNat0(Succ(x0), Succ(x1)) 214.33/145.96 new_primDivNatS1(Succ(Zero), Succ(x0)) 214.33/145.96 new_primQuotInt(x0, Pos(Succ(x1))) 214.33/145.96 new_sr2(x0, x1, app(ty_Ratio, x2)) 214.33/145.96 new_abs(Neg(Succ(x0))) 214.33/145.96 new_esEs0(x0, ty_Integer) 214.33/145.96 new_sr3(x0, ty_Int) 214.33/145.96 new_esEs(Neg(Succ(x0))) 214.33/145.96 new_ms0(x0, Neg(Zero)) 214.33/145.96 new_primModNatS01(x0, x1, Zero, Zero) 214.33/145.96 new_sr4(x0, x1, app(ty_Ratio, x2)) 214.33/145.96 new_gcd0(x0, x1) 214.33/145.96 new_primEqInt(Pos(Succ(x0))) 214.33/145.96 new_sr3(x0, ty_Double) 214.33/145.96 new_quot1(x0, x1, x2, x3, ty_Integer) 214.33/145.96 new_primDivNatS1(Succ(Succ(x0)), Zero) 214.33/145.96 new_primMulNat1(Succ(x0)) 214.33/145.96 new_sr14(x0, x1) 214.33/145.96 new_quot0(x0, x1, x2, x3, ty_Int) 214.33/145.96 new_sr2(x0, x1, ty_Int) 214.33/145.96 new_primModNatS1(Succ(Zero), Succ(x0)) 214.33/145.96 new_reduce2Reduce1(x0, x1, x2, x3, False, x4) 214.33/145.96 new_esEs(Neg(Zero)) 214.33/145.96 new_primMulNat1(Zero) 214.33/145.96 214.33/145.96 We have to consider all minimal (P,Q,R)-chains. 214.33/145.96 ---------------------------------------- 214.33/145.96 214.33/145.96 (784) DependencyGraphProof (EQUIVALENT) 214.33/145.96 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 2 SCCs. 214.33/145.96 ---------------------------------------- 214.33/145.96 214.33/145.96 (785) 214.33/145.96 Complex Obligation (AND) 214.33/145.96 214.33/145.96 ---------------------------------------- 214.33/145.96 214.33/145.96 (786) 214.33/145.96 Obligation: 214.33/145.96 Q DP problem: 214.33/145.96 The TRS P consists of the following rules: 214.33/145.96 214.33/145.96 new_pr2F1(z1, z2, Pos(Succ(Zero)), z0, z3) -> new_pr2F30(False, z1, z2, Pos(Succ(Zero)), z0, z3) 214.33/145.96 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) 214.33/145.96 new_pr2F0(vyv184, Neg(Succ(Succ(vyv223000))), vyv188, h) -> new_pr2F0G10(vyv188, vyv184, Succ(vyv223000), vyv223000, h) 214.33/145.96 new_pr2F0G10(vyv249, vyv250, vyv251, Succ(Succ(vyv25200)), bb) -> new_pr2F0G10(vyv249, vyv250, vyv251, vyv25200, bb) 214.33/145.96 new_pr2F0G10(vyv249, vyv250, vyv251, Succ(Zero), bb) -> new_pr2F0G11(vyv249, vyv250, vyv251, bb) 214.33/145.96 new_pr2F0G11(vyv239, vyv240, vyv241, bc) -> new_pr2F1(vyv240, vyv241, Pos(Succ(Zero)), vyv239, bc) 214.33/145.96 new_pr2F0G10(vyv249, vyv250, vyv251, Zero, bb) -> new_pr2F0G(vyv249, new_sr3(vyv250, bb), Neg(new_primDivNatS1(Succ(vyv251), Succ(Zero))), bb) 214.33/145.96 new_pr2F0G(vyv188, vyv184, Neg(Succ(Zero)), h) -> new_pr2F0G11(vyv188, vyv184, Zero, h) 214.33/145.96 new_pr2F0G(vyv188, vyv184, Neg(Succ(Succ(vyv223000))), h) -> new_pr2F0G10(vyv188, vyv184, Succ(vyv223000), vyv223000, h) 214.33/145.96 new_pr2F0(vyv184, Neg(Succ(Zero)), vyv188, h) -> new_pr2F0G11(vyv188, vyv184, Zero, h) 214.33/145.96 214.33/145.96 The TRS R consists of the following rules: 214.33/145.96 214.33/145.96 new_ms0(vyv241, Pos(vyv2440)) -> Neg(new_primPlusNat0(Succ(vyv241), vyv2440)) 214.33/145.96 new_sr4(vyv240, vyv239, app(ty_Ratio, be)) -> new_sr8(vyv240, vyv239, be) 214.33/145.96 new_sr4(vyv240, vyv239, ty_Float) -> new_sr14(vyv240, vyv239) 214.33/145.96 new_sr4(vyv240, vyv239, ty_Int) -> new_sr10(vyv240, vyv239) 214.33/145.96 new_sr4(vyv240, vyv239, ty_Double) -> new_sr13(vyv240, vyv239) 214.33/145.96 new_sr4(vyv240, vyv239, ty_Integer) -> new_sr9(vyv240, vyv239) 214.33/145.96 new_sr9(vyv240, vyv239) -> error([]) 214.33/145.96 new_sr13(vyv240, vyv239) -> error([]) 214.33/145.96 new_sr10(Pos(vyv2400), Pos(vyv2390)) -> Pos(new_primMulNat0(vyv2400, vyv2390)) 214.33/145.96 new_sr10(Neg(vyv2400), Neg(vyv2390)) -> Pos(new_primMulNat0(vyv2400, vyv2390)) 214.33/145.96 new_sr10(Pos(vyv2400), Neg(vyv2390)) -> Neg(new_primMulNat0(vyv2400, vyv2390)) 214.33/145.96 new_sr10(Neg(vyv2400), Pos(vyv2390)) -> Neg(new_primMulNat0(vyv2400, vyv2390)) 214.33/145.96 new_primMulNat0(Zero, Succ(vyv23900)) -> Zero 214.33/145.96 new_primMulNat0(Succ(vyv24000), Succ(vyv23900)) -> new_primPlusNat0(new_primMulNat0(vyv24000, Succ(vyv23900)), Succ(vyv23900)) 214.33/145.96 new_primMulNat0(Succ(vyv24000), Zero) -> Zero 214.33/145.96 new_primMulNat0(Zero, Zero) -> Zero 214.33/145.96 new_primPlusNat0(Succ(vyv4000), Succ(vyv6000)) -> Succ(Succ(new_primPlusNat0(vyv4000, vyv6000))) 214.33/145.96 new_primPlusNat0(Zero, Succ(vyv6000)) -> Succ(vyv6000) 214.33/145.96 new_primPlusNat0(Zero, Zero) -> Zero 214.33/145.96 new_primPlusNat0(Succ(vyv4000), Zero) -> Succ(vyv4000) 214.33/145.96 new_sr14(vyv240, vyv239) -> error([]) 214.33/145.96 new_sr8(:%(vyv2400, vyv2401), :%(vyv2390, vyv2391), be) -> new_reduce2Reduce1(vyv2400, vyv2390, vyv2401, vyv2391, new_esEs2(vyv2401, vyv2391, be), be) 214.33/145.96 new_esEs2(vyv2401, vyv2391, ty_Integer) -> new_esEs1(new_sr9(vyv2401, vyv2391)) 214.33/145.96 new_esEs2(vyv2401, vyv2391, ty_Int) -> new_esEs(new_sr10(vyv2401, vyv2391)) 214.33/145.96 new_reduce2Reduce1(vyv265, vyv266, vyv267, vyv268, False, bh) -> :%(new_quot0(vyv265, vyv266, vyv267, vyv268, bh), new_quot1(vyv267, vyv268, vyv265, vyv266, bh)) 214.33/145.96 new_reduce2Reduce1(vyv265, vyv266, vyv267, vyv268, True, bh) -> error([]) 214.33/145.96 new_quot0(vyv265, vyv266, vyv267, vyv268, ty_Integer) -> new_quot2(new_sr9(vyv265, vyv266), new_sr9(vyv265, vyv266), new_sr9(vyv267, vyv268)) 214.33/145.96 new_quot0(vyv265, vyv266, vyv267, vyv268, ty_Int) -> new_quot(new_sr10(vyv265, vyv266), new_sr10(vyv265, vyv266), new_sr10(vyv267, vyv268)) 214.33/145.96 new_quot1(vyv267, vyv268, vyv265, vyv266, ty_Int) -> new_quot(new_sr10(vyv267, vyv268), new_sr10(vyv265, vyv266), new_sr10(vyv267, vyv268)) 214.33/145.96 new_quot1(vyv267, vyv268, vyv265, vyv266, ty_Integer) -> new_quot2(new_sr9(vyv267, vyv268), new_sr9(vyv265, vyv266), new_sr9(vyv267, vyv268)) 214.33/145.96 new_quot2(vyv274, vyv276, vyv275) -> error([]) 214.33/145.96 new_quot(Pos(vyv2710), vyv273, vyv272) -> new_primQuotInt(vyv2710, new_gcd(vyv273, vyv272)) 214.33/145.96 new_quot(Neg(vyv2710), vyv273, vyv272) -> new_primQuotInt0(vyv2710, new_gcd(vyv273, vyv272)) 214.33/145.96 new_gcd(vyv273, vyv272) -> new_gcd2(new_esEs(vyv273), vyv273, vyv272) 214.33/145.96 new_primQuotInt0(vyv2710, Pos(Succ(vyv28800))) -> Neg(new_primDivNatS1(vyv2710, vyv28800)) 214.33/145.96 new_primQuotInt0(vyv2710, Neg(Zero)) -> new_error 214.33/145.96 new_primQuotInt0(vyv2710, Neg(Succ(vyv28800))) -> Pos(new_primDivNatS1(vyv2710, vyv28800)) 214.33/145.96 new_primQuotInt0(vyv2710, Pos(Zero)) -> new_error 214.33/145.96 new_error -> error([]) 214.33/145.96 new_primDivNatS1(Succ(Zero), Succ(vyv285000)) -> Zero 214.33/145.96 new_primDivNatS1(Succ(Succ(vyv271000)), Succ(vyv285000)) -> new_primDivNatS01(vyv271000, vyv285000, vyv271000, vyv285000) 214.33/145.96 new_primDivNatS1(Zero, vyv28500) -> Zero 214.33/145.96 new_primDivNatS1(Succ(Succ(vyv271000)), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS0(vyv271000), Zero)) 214.33/145.96 new_primDivNatS1(Succ(Zero), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS1, Zero)) 214.33/145.96 new_primMinusNatS1 -> Zero 214.33/145.96 new_primMinusNatS0(vyv271000) -> Succ(vyv271000) 214.33/145.96 new_primDivNatS01(vyv311, vyv312, Succ(vyv3130), Zero) -> new_primDivNatS02(vyv311, vyv312) 214.33/145.96 new_primDivNatS01(vyv311, vyv312, Zero, Succ(vyv3140)) -> Zero 214.33/145.96 new_primDivNatS01(vyv311, vyv312, Succ(vyv3130), Succ(vyv3140)) -> new_primDivNatS01(vyv311, vyv312, vyv3130, vyv3140) 214.33/145.96 new_primDivNatS01(vyv311, vyv312, Zero, Zero) -> new_primDivNatS02(vyv311, vyv312) 214.33/145.96 new_primDivNatS02(vyv311, vyv312) -> Succ(new_primDivNatS1(new_primMinusNatS2(vyv311, vyv312), Succ(vyv312))) 214.33/145.96 new_primMinusNatS2(Zero, Succ(vyv3120)) -> Zero 214.33/145.96 new_primMinusNatS2(Succ(vyv3110), Zero) -> Succ(vyv3110) 214.33/145.96 new_primMinusNatS2(Zero, Zero) -> Zero 214.33/145.96 new_primMinusNatS2(Succ(vyv3110), Succ(vyv3120)) -> new_primMinusNatS2(vyv3110, vyv3120) 214.33/145.96 new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) 214.33/145.96 new_esEs(Pos(Succ(vyv24300))) -> new_primEqInt(Pos(Succ(vyv24300))) 214.33/145.96 new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) 214.33/145.96 new_esEs(Neg(Succ(vyv24300))) -> new_primEqInt(Neg(Succ(vyv24300))) 214.33/145.96 new_gcd2(True, vyv273, vyv272) -> new_gcd1(new_esEs(vyv272), vyv273, vyv272) 214.33/145.96 new_gcd2(False, vyv273, vyv272) -> new_gcd0(vyv273, vyv272) 214.33/145.96 new_gcd0(vyv273, vyv272) -> new_gcd0Gcd'11(new_esEs(new_abs(vyv272)), vyv273, vyv272) 214.33/145.96 new_abs(Neg(Zero)) -> Neg(Zero) 214.33/145.96 new_abs(Neg(Succ(vyv27200))) -> Pos(Succ(vyv27200)) 214.33/145.96 new_abs(Pos(Succ(vyv27200))) -> Pos(Succ(vyv27200)) 214.33/145.96 new_abs(Pos(Zero)) -> Pos(Zero) 214.33/145.96 new_gcd0Gcd'11(True, vyv273, vyv272) -> new_abs(vyv273) 214.33/145.96 new_gcd0Gcd'11(False, vyv273, vyv272) -> new_gcd0Gcd'00(new_abs(vyv273), new_abs(vyv272)) 214.33/145.96 new_gcd0Gcd'10(False, vyv292, vyv293) -> new_gcd0Gcd'00(vyv292, new_rem(vyv293, vyv292)) 214.33/145.96 new_gcd0Gcd'00(vyv293, vyv292) -> new_gcd0Gcd'10(new_esEs(new_rem(vyv293, vyv292)), vyv292, vyv293) 214.33/145.96 new_rem(Pos(vyv2930), Neg(Zero)) -> new_error 214.33/145.96 new_rem(Neg(vyv2930), Pos(Zero)) -> new_error 214.33/145.96 new_rem(Pos(vyv2930), Neg(Succ(vyv29200))) -> Pos(new_primModNatS1(vyv2930, vyv29200)) 214.33/145.96 new_rem(Neg(vyv2930), Pos(Succ(vyv29200))) -> Neg(new_primModNatS1(vyv2930, vyv29200)) 214.33/145.96 new_rem(Pos(vyv2930), Pos(Succ(vyv29200))) -> Pos(new_primModNatS1(vyv2930, vyv29200)) 214.33/145.96 new_rem(Neg(vyv2930), Neg(Zero)) -> new_error 214.33/145.96 new_rem(Neg(vyv2930), Neg(Succ(vyv29200))) -> Neg(new_primModNatS1(vyv2930, vyv29200)) 214.33/145.96 new_rem(Pos(vyv2930), Pos(Zero)) -> new_error 214.33/145.96 new_gcd0Gcd'10(True, vyv292, vyv293) -> vyv292 214.33/145.96 new_primModNatS1(Succ(Zero), Succ(vyv292000)) -> Succ(Zero) 214.33/145.96 new_primModNatS1(Zero, vyv29200) -> Zero 214.33/145.96 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 214.33/145.96 new_primModNatS1(Succ(Succ(vyv293000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv293000), Zero) 214.33/145.96 new_primModNatS1(Succ(Succ(vyv293000)), Succ(vyv292000)) -> new_primModNatS01(vyv293000, vyv292000, vyv293000, vyv292000) 214.33/145.96 new_primModNatS01(vyv331, vyv332, Zero, Zero) -> new_primModNatS02(vyv331, vyv332) 214.33/145.96 new_primModNatS02(vyv331, vyv332) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv331), Succ(vyv332)), Succ(vyv332)) 214.33/145.96 new_primModNatS01(vyv331, vyv332, Succ(vyv3330), Zero) -> new_primModNatS02(vyv331, vyv332) 214.33/145.96 new_primModNatS01(vyv331, vyv332, Succ(vyv3330), Succ(vyv3340)) -> new_primModNatS01(vyv331, vyv332, vyv3330, vyv3340) 214.33/145.96 new_primModNatS01(vyv331, vyv332, Zero, Succ(vyv3340)) -> Succ(Succ(vyv331)) 214.33/145.96 new_gcd1(True, vyv273, vyv272) -> new_error 214.33/145.96 new_gcd1(False, vyv273, vyv272) -> new_gcd0(vyv273, vyv272) 214.33/145.96 new_primEqInt(Neg(Succ(vyv242000))) -> False 214.33/145.96 new_primEqInt(Pos(Zero)) -> True 214.33/145.96 new_primEqInt(Pos(Succ(vyv242000))) -> False 214.33/145.96 new_primEqInt(Neg(Zero)) -> True 214.33/145.96 new_primQuotInt(vyv2710, Pos(Succ(vyv28500))) -> Pos(new_primDivNatS1(vyv2710, vyv28500)) 214.33/145.96 new_primQuotInt(vyv2710, Neg(Zero)) -> new_error 214.33/145.96 new_primQuotInt(vyv2710, Pos(Zero)) -> new_error 214.33/145.96 new_primQuotInt(vyv2710, Neg(Succ(vyv28500))) -> Neg(new_primDivNatS1(vyv2710, vyv28500)) 214.33/145.96 new_esEs1(Integer(vyv2700)) -> new_primEqInt(vyv2700) 214.33/145.96 new_sr1(vyv228, ty_Double) -> new_sr11(vyv228) 214.33/145.96 new_sr1(vyv228, ty_Float) -> new_sr12(vyv228) 214.33/145.96 new_sr1(vyv228, app(ty_Ratio, bg)) -> new_sr5(vyv228, bg) 214.33/145.96 new_sr1(vyv228, ty_Integer) -> new_sr6(vyv228) 214.33/145.96 new_sr1(vyv228, ty_Int) -> new_sr7(vyv228) 214.33/145.96 new_sr7(Pos(vyv1840)) -> Pos(new_primMulNat1(vyv1840)) 214.33/145.96 new_sr7(Neg(vyv1840)) -> Pos(new_primMulNat1(vyv1840)) 214.33/145.96 new_primMulNat1(Succ(vyv18400)) -> new_primPlusNat0(new_primMulNat2(vyv18400), Succ(vyv18400)) 214.33/145.96 new_primMulNat1(Zero) -> Zero 214.33/145.96 new_primMulNat2(Succ(vyv184000)) -> new_primPlusNat0(new_primMulNat3(vyv184000), Succ(Succ(vyv184000))) 214.33/145.96 new_primMulNat2(Zero) -> Zero 214.33/145.96 new_primMulNat3(Succ(vyv1840000)) -> new_primPlusNat0(new_primMulNat4(vyv1840000), Succ(Succ(Succ(vyv1840000)))) 214.33/145.96 new_primMulNat3(Zero) -> Zero 214.33/145.96 new_primMulNat4(Succ(vyv18400000)) -> new_primPlusNat0(new_primMulNat0(vyv18400000, Succ(Succ(Succ(Succ(vyv18400000))))), Succ(Succ(Succ(Succ(vyv18400000))))) 214.33/145.96 new_primMulNat4(Zero) -> Zero 214.33/145.96 new_sr6(vyv184) -> error([]) 214.33/145.96 new_sr5(:%(vyv1840, vyv1841), bd) -> new_reduce2Reduce1(vyv1840, vyv1840, vyv1841, vyv1841, new_esEs0(vyv1841, bd), bd) 214.33/145.96 new_esEs0(vyv1841, ty_Int) -> new_esEs(new_sr7(vyv1841)) 214.33/145.96 new_esEs0(vyv1841, ty_Integer) -> new_esEs1(new_sr6(vyv1841)) 214.33/145.96 new_sr12(vyv184) -> error([]) 214.33/145.96 new_sr11(vyv184) -> error([]) 214.33/145.96 new_ms(vyv229, Neg(vyv2450)) -> Pos(new_primPlusNat0(Succ(vyv229), vyv2450)) 214.33/145.96 new_ms(vyv229, Pos(Succ(vyv24500))) -> new_primMinusNat0(vyv229, vyv24500) 214.33/145.96 new_ms(vyv229, Pos(Zero)) -> Pos(Succ(vyv229)) 214.33/145.96 new_sr2(vyv228, vyv227, ty_Integer) -> new_sr9(vyv228, vyv227) 214.33/145.96 new_sr2(vyv228, vyv227, ty_Int) -> new_sr10(vyv228, vyv227) 214.33/145.96 new_sr2(vyv228, vyv227, app(ty_Ratio, bg)) -> new_sr8(vyv228, vyv227, bg) 214.33/145.96 new_sr2(vyv228, vyv227, ty_Double) -> new_sr13(vyv228, vyv227) 214.33/145.96 new_sr2(vyv228, vyv227, ty_Float) -> new_sr14(vyv228, vyv227) 214.33/145.96 new_primMinusNat0(Succ(vyv2290), Succ(vyv245000)) -> new_primMinusNat0(vyv2290, vyv245000) 214.33/145.96 new_primMinusNat0(Zero, Zero) -> Pos(Zero) 214.33/145.96 new_primMinusNat0(Zero, Succ(vyv245000)) -> Neg(Succ(vyv245000)) 214.33/145.96 new_primMinusNat0(Succ(vyv2290), Zero) -> Pos(Succ(vyv2290)) 214.33/145.96 new_sr3(vyv250, ty_Double) -> new_sr11(vyv250) 214.33/145.96 new_sr3(vyv250, ty_Int) -> new_sr7(vyv250) 214.33/145.96 new_sr3(vyv250, ty_Float) -> new_sr12(vyv250) 214.33/145.96 new_sr3(vyv250, ty_Integer) -> new_sr6(vyv250) 214.33/145.96 new_sr3(vyv250, app(ty_Ratio, bf)) -> new_sr5(vyv250, bf) 214.33/145.96 214.33/145.96 The set Q consists of the following terms: 214.33/145.96 214.33/145.96 new_sr13(x0, x1) 214.33/145.96 new_primDivNatS01(x0, x1, Zero, Zero) 214.33/145.96 new_gcd0Gcd'11(False, x0, x1) 214.33/145.96 new_primMulNat4(Zero) 214.33/145.96 new_gcd0Gcd'11(True, x0, x1) 214.33/145.96 new_sr2(x0, x1, ty_Float) 214.33/145.96 new_sr5(:%(x0, x1), x2) 214.33/145.96 new_primEqInt(Pos(Zero)) 214.33/145.96 new_ms(x0, Neg(x1)) 214.33/145.96 new_sr2(x0, x1, ty_Double) 214.33/145.96 new_esEs(Pos(Succ(x0))) 214.33/145.96 new_primQuotInt0(x0, Neg(Zero)) 214.33/145.96 new_primMulNat3(Zero) 214.33/145.96 new_primModNatS02(x0, x1) 214.33/145.96 new_primDivNatS1(Succ(Zero), Zero) 214.33/145.96 new_primMinusNatS0(x0) 214.33/145.96 new_sr11(x0) 214.33/145.96 new_rem(Pos(x0), Neg(Succ(x1))) 214.33/145.96 new_rem(Neg(x0), Pos(Succ(x1))) 214.33/145.96 new_primMulNat0(Zero, Zero) 214.33/145.96 new_primPlusNat0(Succ(x0), Zero) 214.33/145.96 new_primMulNat0(Succ(x0), Zero) 214.33/145.96 new_sr3(x0, ty_Float) 214.33/145.96 new_primMulNat2(Zero) 214.33/145.96 new_primQuotInt(x0, Pos(Zero)) 214.33/145.96 new_primMulNat2(Succ(x0)) 214.33/145.96 new_primQuotInt(x0, Neg(Zero)) 214.33/145.96 new_rem(Neg(x0), Neg(Succ(x1))) 214.33/145.96 new_primMinusNatS2(Zero, Succ(x0)) 214.33/145.96 new_sr4(x0, x1, ty_Double) 214.33/145.96 new_primMulNat3(Succ(x0)) 214.33/145.96 new_esEs1(Integer(x0)) 214.33/145.96 new_primQuotInt0(x0, Pos(Zero)) 214.33/145.96 new_gcd2(True, x0, x1) 214.33/145.96 new_quot1(x0, x1, x2, x3, ty_Int) 214.33/145.96 new_primDivNatS1(Zero, x0) 214.33/145.96 new_primMinusNat0(Zero, Zero) 214.33/145.96 new_gcd(x0, x1) 214.33/145.96 new_gcd1(False, x0, x1) 214.33/145.96 new_esEs2(x0, x1, ty_Int) 214.33/145.96 new_sr3(x0, ty_Integer) 214.33/145.96 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 214.33/145.96 new_sr1(x0, app(ty_Ratio, x1)) 214.33/145.96 new_sr1(x0, ty_Float) 214.33/145.96 new_primPlusNat0(Zero, Succ(x0)) 214.33/145.96 new_sr8(:%(x0, x1), :%(x2, x3), x4) 214.33/145.96 new_abs(Neg(Zero)) 214.33/145.96 new_primMinusNatS2(Succ(x0), Zero) 214.33/145.96 new_error 214.33/145.96 new_primModNatS1(Succ(Zero), Zero) 214.33/145.96 new_primMulNat4(Succ(x0)) 214.33/145.96 new_sr1(x0, ty_Integer) 214.33/145.96 new_primDivNatS02(x0, x1) 214.33/145.96 new_sr1(x0, ty_Int) 214.33/145.96 new_rem(Neg(x0), Neg(Zero)) 214.33/145.96 new_primMinusNat0(Zero, Succ(x0)) 214.33/145.96 new_primEqInt(Neg(Zero)) 214.33/145.96 new_rem(Pos(x0), Pos(Succ(x1))) 214.33/145.96 new_abs(Pos(Succ(x0))) 214.33/145.96 new_primMulNat0(Succ(x0), Succ(x1)) 214.33/145.96 new_primMulNat0(Zero, Succ(x0)) 214.33/145.96 new_reduce2Reduce1(x0, x1, x2, x3, True, x4) 214.33/145.96 new_gcd0Gcd'10(False, x0, x1) 214.33/145.96 new_sr12(x0) 214.33/145.96 new_primDivNatS01(x0, x1, Zero, Succ(x2)) 214.33/145.96 new_sr10(Pos(x0), Pos(x1)) 214.33/145.96 new_primModNatS01(x0, x1, Zero, Succ(x2)) 214.33/145.96 new_primPlusNat0(Zero, Zero) 214.33/145.96 new_primQuotInt0(x0, Pos(Succ(x1))) 214.33/145.96 new_primModNatS01(x0, x1, Succ(x2), Zero) 214.33/145.96 new_ms(x0, Pos(Succ(x1))) 214.33/145.96 new_primModNatS1(Succ(Succ(x0)), Zero) 214.33/145.96 new_sr4(x0, x1, ty_Integer) 214.33/145.96 new_rem(Pos(x0), Pos(Zero)) 214.33/145.96 new_sr4(x0, x1, ty_Int) 214.33/145.96 new_ms0(x0, Neg(Succ(x1))) 214.33/145.96 new_quot(Pos(x0), x1, x2) 214.33/145.96 new_primMinusNatS2(Zero, Zero) 214.33/145.96 new_esEs0(x0, ty_Int) 214.33/145.96 new_primMinusNat0(Succ(x0), Zero) 214.33/145.96 new_ms0(x0, Pos(x1)) 214.33/145.96 new_esEs(Pos(Zero)) 214.33/145.96 new_quot(Neg(x0), x1, x2) 214.33/145.96 new_primDivNatS01(x0, x1, Succ(x2), Succ(x3)) 214.33/145.96 new_quot2(x0, x1, x2) 214.33/145.96 new_primEqInt(Neg(Succ(x0))) 214.33/145.96 new_sr10(Neg(x0), Neg(x1)) 214.33/145.96 new_sr3(x0, app(ty_Ratio, x1)) 214.33/145.96 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 214.33/145.96 new_sr9(x0, x1) 214.33/145.96 new_sr2(x0, x1, ty_Integer) 214.33/145.96 new_sr7(Neg(x0)) 214.33/145.96 new_sr1(x0, ty_Double) 214.33/145.96 new_primQuotInt0(x0, Neg(Succ(x1))) 214.33/145.96 new_rem(Pos(x0), Neg(Zero)) 214.33/145.96 new_rem(Neg(x0), Pos(Zero)) 214.33/145.96 new_gcd0Gcd'00(x0, x1) 214.33/145.96 new_primQuotInt(x0, Neg(Succ(x1))) 214.33/145.96 new_primMinusNatS2(Succ(x0), Succ(x1)) 214.33/145.96 new_ms(x0, Pos(Zero)) 214.33/145.96 new_abs(Pos(Zero)) 214.33/145.96 new_primMinusNat0(Succ(x0), Succ(x1)) 214.33/145.96 new_quot0(x0, x1, x2, x3, ty_Integer) 214.33/145.96 new_sr6(x0) 214.33/145.96 new_gcd2(False, x0, x1) 214.33/145.96 new_gcd1(True, x0, x1) 214.33/145.96 new_esEs2(x0, x1, ty_Integer) 214.33/145.96 new_primMinusNatS1 214.33/145.96 new_sr7(Pos(x0)) 214.33/145.96 new_gcd0Gcd'10(True, x0, x1) 214.33/145.96 new_primModNatS1(Zero, x0) 214.33/145.96 new_sr4(x0, x1, ty_Float) 214.33/145.96 new_sr10(Pos(x0), Neg(x1)) 214.33/145.96 new_sr10(Neg(x0), Pos(x1)) 214.33/145.96 new_primDivNatS01(x0, x1, Succ(x2), Zero) 214.33/145.96 new_primDivNatS1(Succ(Succ(x0)), Succ(x1)) 214.33/145.96 new_primPlusNat0(Succ(x0), Succ(x1)) 214.33/145.96 new_primDivNatS1(Succ(Zero), Succ(x0)) 214.33/145.96 new_primQuotInt(x0, Pos(Succ(x1))) 214.33/145.96 new_sr2(x0, x1, app(ty_Ratio, x2)) 214.33/145.96 new_abs(Neg(Succ(x0))) 214.33/145.96 new_esEs0(x0, ty_Integer) 214.33/145.96 new_sr3(x0, ty_Int) 214.33/145.96 new_esEs(Neg(Succ(x0))) 214.33/145.96 new_ms0(x0, Neg(Zero)) 214.33/145.96 new_primModNatS01(x0, x1, Zero, Zero) 214.33/145.96 new_sr4(x0, x1, app(ty_Ratio, x2)) 214.33/145.96 new_gcd0(x0, x1) 214.33/145.96 new_primEqInt(Pos(Succ(x0))) 214.33/145.96 new_sr3(x0, ty_Double) 214.33/145.96 new_quot1(x0, x1, x2, x3, ty_Integer) 214.33/145.96 new_primDivNatS1(Succ(Succ(x0)), Zero) 214.33/145.96 new_primMulNat1(Succ(x0)) 214.33/145.96 new_sr14(x0, x1) 214.33/145.96 new_quot0(x0, x1, x2, x3, ty_Int) 214.33/145.96 new_sr2(x0, x1, ty_Int) 214.33/145.96 new_primModNatS1(Succ(Zero), Succ(x0)) 214.33/145.96 new_reduce2Reduce1(x0, x1, x2, x3, False, x4) 214.33/145.96 new_esEs(Neg(Zero)) 214.33/145.96 new_primMulNat1(Zero) 214.33/145.96 214.33/145.96 We have to consider all minimal (P,Q,R)-chains. 214.33/145.96 ---------------------------------------- 214.33/145.96 214.33/145.96 (787) UsableRulesProof (EQUIVALENT) 214.33/145.96 As all Q-normal forms are R-normal forms we are in the innermost case. Hence, by the usable rules processor [LPAR04] we can delete all non-usable rules [FROCOS05] from R. 214.33/145.96 ---------------------------------------- 214.33/145.96 214.33/145.96 (788) 214.33/145.96 Obligation: 214.33/145.96 Q DP problem: 214.33/145.96 The TRS P consists of the following rules: 214.33/145.96 214.33/145.96 new_pr2F1(z1, z2, Pos(Succ(Zero)), z0, z3) -> new_pr2F30(False, z1, z2, Pos(Succ(Zero)), z0, z3) 214.33/145.96 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) 214.33/145.96 new_pr2F0(vyv184, Neg(Succ(Succ(vyv223000))), vyv188, h) -> new_pr2F0G10(vyv188, vyv184, Succ(vyv223000), vyv223000, h) 214.33/145.96 new_pr2F0G10(vyv249, vyv250, vyv251, Succ(Succ(vyv25200)), bb) -> new_pr2F0G10(vyv249, vyv250, vyv251, vyv25200, bb) 214.33/145.96 new_pr2F0G10(vyv249, vyv250, vyv251, Succ(Zero), bb) -> new_pr2F0G11(vyv249, vyv250, vyv251, bb) 214.33/145.96 new_pr2F0G11(vyv239, vyv240, vyv241, bc) -> new_pr2F1(vyv240, vyv241, Pos(Succ(Zero)), vyv239, bc) 214.33/145.96 new_pr2F0G10(vyv249, vyv250, vyv251, Zero, bb) -> new_pr2F0G(vyv249, new_sr3(vyv250, bb), Neg(new_primDivNatS1(Succ(vyv251), Succ(Zero))), bb) 214.33/145.96 new_pr2F0G(vyv188, vyv184, Neg(Succ(Zero)), h) -> new_pr2F0G11(vyv188, vyv184, Zero, h) 214.33/145.96 new_pr2F0G(vyv188, vyv184, Neg(Succ(Succ(vyv223000))), h) -> new_pr2F0G10(vyv188, vyv184, Succ(vyv223000), vyv223000, h) 214.33/145.96 new_pr2F0(vyv184, Neg(Succ(Zero)), vyv188, h) -> new_pr2F0G11(vyv188, vyv184, Zero, h) 214.33/145.96 214.33/145.96 The TRS R consists of the following rules: 214.33/145.96 214.33/145.96 new_sr3(vyv250, ty_Double) -> new_sr11(vyv250) 214.33/145.96 new_sr3(vyv250, ty_Int) -> new_sr7(vyv250) 214.33/145.96 new_sr3(vyv250, ty_Float) -> new_sr12(vyv250) 214.33/145.96 new_sr3(vyv250, ty_Integer) -> new_sr6(vyv250) 214.33/145.96 new_sr3(vyv250, app(ty_Ratio, bf)) -> new_sr5(vyv250, bf) 214.33/145.96 new_primDivNatS1(Succ(Zero), Succ(vyv285000)) -> Zero 214.33/145.96 new_primDivNatS1(Succ(Succ(vyv271000)), Succ(vyv285000)) -> new_primDivNatS01(vyv271000, vyv285000, vyv271000, vyv285000) 214.33/145.96 new_primDivNatS01(vyv311, vyv312, Succ(vyv3130), Zero) -> new_primDivNatS02(vyv311, vyv312) 214.33/145.96 new_primDivNatS01(vyv311, vyv312, Zero, Succ(vyv3140)) -> Zero 214.33/145.96 new_primDivNatS01(vyv311, vyv312, Succ(vyv3130), Succ(vyv3140)) -> new_primDivNatS01(vyv311, vyv312, vyv3130, vyv3140) 214.33/145.96 new_primDivNatS01(vyv311, vyv312, Zero, Zero) -> new_primDivNatS02(vyv311, vyv312) 214.33/145.96 new_primDivNatS02(vyv311, vyv312) -> Succ(new_primDivNatS1(new_primMinusNatS2(vyv311, vyv312), Succ(vyv312))) 214.33/145.96 new_primMinusNatS2(Zero, Succ(vyv3120)) -> Zero 214.33/145.96 new_primMinusNatS2(Succ(vyv3110), Zero) -> Succ(vyv3110) 214.33/145.96 new_primMinusNatS2(Zero, Zero) -> Zero 214.33/145.96 new_primMinusNatS2(Succ(vyv3110), Succ(vyv3120)) -> new_primMinusNatS2(vyv3110, vyv3120) 214.33/145.96 new_primDivNatS1(Zero, vyv28500) -> Zero 214.33/145.96 new_sr5(:%(vyv1840, vyv1841), bd) -> new_reduce2Reduce1(vyv1840, vyv1840, vyv1841, vyv1841, new_esEs0(vyv1841, bd), bd) 214.33/145.96 new_esEs0(vyv1841, ty_Int) -> new_esEs(new_sr7(vyv1841)) 214.33/145.96 new_esEs0(vyv1841, ty_Integer) -> new_esEs1(new_sr6(vyv1841)) 214.33/145.96 new_reduce2Reduce1(vyv265, vyv266, vyv267, vyv268, False, bh) -> :%(new_quot0(vyv265, vyv266, vyv267, vyv268, bh), new_quot1(vyv267, vyv268, vyv265, vyv266, bh)) 214.33/145.96 new_reduce2Reduce1(vyv265, vyv266, vyv267, vyv268, True, bh) -> error([]) 214.33/145.96 new_quot0(vyv265, vyv266, vyv267, vyv268, ty_Integer) -> new_quot2(new_sr9(vyv265, vyv266), new_sr9(vyv265, vyv266), new_sr9(vyv267, vyv268)) 214.33/145.96 new_quot0(vyv265, vyv266, vyv267, vyv268, ty_Int) -> new_quot(new_sr10(vyv265, vyv266), new_sr10(vyv265, vyv266), new_sr10(vyv267, vyv268)) 214.33/145.96 new_quot1(vyv267, vyv268, vyv265, vyv266, ty_Int) -> new_quot(new_sr10(vyv267, vyv268), new_sr10(vyv265, vyv266), new_sr10(vyv267, vyv268)) 214.33/145.96 new_quot1(vyv267, vyv268, vyv265, vyv266, ty_Integer) -> new_quot2(new_sr9(vyv267, vyv268), new_sr9(vyv265, vyv266), new_sr9(vyv267, vyv268)) 214.33/145.96 new_sr9(vyv240, vyv239) -> error([]) 214.33/145.96 new_quot2(vyv274, vyv276, vyv275) -> error([]) 214.33/145.96 new_sr10(Pos(vyv2400), Pos(vyv2390)) -> Pos(new_primMulNat0(vyv2400, vyv2390)) 214.33/145.96 new_sr10(Neg(vyv2400), Neg(vyv2390)) -> Pos(new_primMulNat0(vyv2400, vyv2390)) 214.33/145.96 new_sr10(Pos(vyv2400), Neg(vyv2390)) -> Neg(new_primMulNat0(vyv2400, vyv2390)) 214.33/145.96 new_sr10(Neg(vyv2400), Pos(vyv2390)) -> Neg(new_primMulNat0(vyv2400, vyv2390)) 214.33/145.96 new_quot(Pos(vyv2710), vyv273, vyv272) -> new_primQuotInt(vyv2710, new_gcd(vyv273, vyv272)) 214.33/145.96 new_quot(Neg(vyv2710), vyv273, vyv272) -> new_primQuotInt0(vyv2710, new_gcd(vyv273, vyv272)) 214.33/145.96 new_gcd(vyv273, vyv272) -> new_gcd2(new_esEs(vyv273), vyv273, vyv272) 214.33/145.96 new_primQuotInt0(vyv2710, Pos(Succ(vyv28800))) -> Neg(new_primDivNatS1(vyv2710, vyv28800)) 214.33/145.96 new_primQuotInt0(vyv2710, Neg(Zero)) -> new_error 214.33/145.96 new_primQuotInt0(vyv2710, Neg(Succ(vyv28800))) -> Pos(new_primDivNatS1(vyv2710, vyv28800)) 214.33/145.96 new_primQuotInt0(vyv2710, Pos(Zero)) -> new_error 214.33/145.96 new_error -> error([]) 214.33/145.96 new_primDivNatS1(Succ(Succ(vyv271000)), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS0(vyv271000), Zero)) 214.33/145.96 new_primDivNatS1(Succ(Zero), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS1, Zero)) 214.33/145.96 new_primMinusNatS1 -> Zero 214.33/145.96 new_primMinusNatS0(vyv271000) -> Succ(vyv271000) 214.33/145.96 new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) 214.33/145.96 new_esEs(Pos(Succ(vyv24300))) -> new_primEqInt(Pos(Succ(vyv24300))) 214.33/145.96 new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) 214.33/145.96 new_esEs(Neg(Succ(vyv24300))) -> new_primEqInt(Neg(Succ(vyv24300))) 214.33/145.96 new_gcd2(True, vyv273, vyv272) -> new_gcd1(new_esEs(vyv272), vyv273, vyv272) 214.33/145.96 new_gcd2(False, vyv273, vyv272) -> new_gcd0(vyv273, vyv272) 214.33/145.96 new_gcd0(vyv273, vyv272) -> new_gcd0Gcd'11(new_esEs(new_abs(vyv272)), vyv273, vyv272) 214.33/145.96 new_abs(Neg(Zero)) -> Neg(Zero) 214.33/145.96 new_abs(Neg(Succ(vyv27200))) -> Pos(Succ(vyv27200)) 214.33/145.96 new_abs(Pos(Succ(vyv27200))) -> Pos(Succ(vyv27200)) 214.33/145.96 new_abs(Pos(Zero)) -> Pos(Zero) 214.33/145.96 new_gcd0Gcd'11(True, vyv273, vyv272) -> new_abs(vyv273) 214.33/145.96 new_gcd0Gcd'11(False, vyv273, vyv272) -> new_gcd0Gcd'00(new_abs(vyv273), new_abs(vyv272)) 214.33/145.96 new_gcd0Gcd'10(False, vyv292, vyv293) -> new_gcd0Gcd'00(vyv292, new_rem(vyv293, vyv292)) 214.33/145.96 new_gcd0Gcd'00(vyv293, vyv292) -> new_gcd0Gcd'10(new_esEs(new_rem(vyv293, vyv292)), vyv292, vyv293) 214.33/145.96 new_rem(Pos(vyv2930), Neg(Zero)) -> new_error 214.33/145.96 new_rem(Neg(vyv2930), Pos(Zero)) -> new_error 214.33/145.96 new_rem(Pos(vyv2930), Neg(Succ(vyv29200))) -> Pos(new_primModNatS1(vyv2930, vyv29200)) 214.33/145.96 new_rem(Neg(vyv2930), Pos(Succ(vyv29200))) -> Neg(new_primModNatS1(vyv2930, vyv29200)) 214.33/145.96 new_rem(Pos(vyv2930), Pos(Succ(vyv29200))) -> Pos(new_primModNatS1(vyv2930, vyv29200)) 214.33/145.96 new_rem(Neg(vyv2930), Neg(Zero)) -> new_error 214.33/145.96 new_rem(Neg(vyv2930), Neg(Succ(vyv29200))) -> Neg(new_primModNatS1(vyv2930, vyv29200)) 214.33/145.96 new_rem(Pos(vyv2930), Pos(Zero)) -> new_error 214.33/145.96 new_gcd0Gcd'10(True, vyv292, vyv293) -> vyv292 214.33/145.96 new_primModNatS1(Succ(Zero), Succ(vyv292000)) -> Succ(Zero) 214.33/145.96 new_primModNatS1(Zero, vyv29200) -> Zero 214.33/145.96 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 214.33/145.96 new_primModNatS1(Succ(Succ(vyv293000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv293000), Zero) 214.33/145.96 new_primModNatS1(Succ(Succ(vyv293000)), Succ(vyv292000)) -> new_primModNatS01(vyv293000, vyv292000, vyv293000, vyv292000) 214.33/145.96 new_primModNatS01(vyv331, vyv332, Zero, Zero) -> new_primModNatS02(vyv331, vyv332) 214.33/145.96 new_primModNatS02(vyv331, vyv332) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv331), Succ(vyv332)), Succ(vyv332)) 214.33/145.96 new_primModNatS01(vyv331, vyv332, Succ(vyv3330), Zero) -> new_primModNatS02(vyv331, vyv332) 214.33/145.96 new_primModNatS01(vyv331, vyv332, Succ(vyv3330), Succ(vyv3340)) -> new_primModNatS01(vyv331, vyv332, vyv3330, vyv3340) 214.33/145.96 new_primModNatS01(vyv331, vyv332, Zero, Succ(vyv3340)) -> Succ(Succ(vyv331)) 214.33/145.96 new_gcd1(True, vyv273, vyv272) -> new_error 214.33/145.96 new_gcd1(False, vyv273, vyv272) -> new_gcd0(vyv273, vyv272) 214.33/145.96 new_primEqInt(Neg(Succ(vyv242000))) -> False 214.33/145.96 new_primEqInt(Pos(Zero)) -> True 214.33/145.96 new_primEqInt(Pos(Succ(vyv242000))) -> False 214.33/145.96 new_primEqInt(Neg(Zero)) -> True 214.33/145.96 new_primQuotInt(vyv2710, Pos(Succ(vyv28500))) -> Pos(new_primDivNatS1(vyv2710, vyv28500)) 214.33/145.96 new_primQuotInt(vyv2710, Neg(Zero)) -> new_error 214.33/145.96 new_primQuotInt(vyv2710, Pos(Zero)) -> new_error 214.33/145.96 new_primQuotInt(vyv2710, Neg(Succ(vyv28500))) -> Neg(new_primDivNatS1(vyv2710, vyv28500)) 214.33/145.96 new_primMulNat0(Zero, Succ(vyv23900)) -> Zero 214.33/145.96 new_primMulNat0(Succ(vyv24000), Succ(vyv23900)) -> new_primPlusNat0(new_primMulNat0(vyv24000, Succ(vyv23900)), Succ(vyv23900)) 214.33/145.96 new_primMulNat0(Succ(vyv24000), Zero) -> Zero 214.33/145.96 new_primMulNat0(Zero, Zero) -> Zero 214.33/145.96 new_primPlusNat0(Succ(vyv4000), Succ(vyv6000)) -> Succ(Succ(new_primPlusNat0(vyv4000, vyv6000))) 214.33/145.96 new_primPlusNat0(Zero, Succ(vyv6000)) -> Succ(vyv6000) 214.33/145.96 new_primPlusNat0(Zero, Zero) -> Zero 214.33/145.96 new_primPlusNat0(Succ(vyv4000), Zero) -> Succ(vyv4000) 214.33/145.96 new_sr6(vyv184) -> error([]) 214.33/145.96 new_esEs1(Integer(vyv2700)) -> new_primEqInt(vyv2700) 214.33/145.96 new_sr7(Pos(vyv1840)) -> Pos(new_primMulNat1(vyv1840)) 214.33/145.96 new_sr7(Neg(vyv1840)) -> Pos(new_primMulNat1(vyv1840)) 214.33/145.96 new_primMulNat1(Succ(vyv18400)) -> new_primPlusNat0(new_primMulNat2(vyv18400), Succ(vyv18400)) 214.33/145.96 new_primMulNat1(Zero) -> Zero 214.33/145.96 new_primMulNat2(Succ(vyv184000)) -> new_primPlusNat0(new_primMulNat3(vyv184000), Succ(Succ(vyv184000))) 214.33/145.96 new_primMulNat2(Zero) -> Zero 214.33/145.96 new_primMulNat3(Succ(vyv1840000)) -> new_primPlusNat0(new_primMulNat4(vyv1840000), Succ(Succ(Succ(vyv1840000)))) 214.33/145.96 new_primMulNat3(Zero) -> Zero 214.33/145.96 new_primMulNat4(Succ(vyv18400000)) -> new_primPlusNat0(new_primMulNat0(vyv18400000, Succ(Succ(Succ(Succ(vyv18400000))))), Succ(Succ(Succ(Succ(vyv18400000))))) 214.33/145.96 new_primMulNat4(Zero) -> Zero 214.33/145.96 new_sr12(vyv184) -> error([]) 214.33/145.96 new_sr11(vyv184) -> error([]) 214.33/145.96 new_sr4(vyv240, vyv239, app(ty_Ratio, be)) -> new_sr8(vyv240, vyv239, be) 214.33/145.96 new_sr4(vyv240, vyv239, ty_Float) -> new_sr14(vyv240, vyv239) 214.33/145.96 new_sr4(vyv240, vyv239, ty_Int) -> new_sr10(vyv240, vyv239) 214.33/145.96 new_sr4(vyv240, vyv239, ty_Double) -> new_sr13(vyv240, vyv239) 214.33/145.96 new_sr4(vyv240, vyv239, ty_Integer) -> new_sr9(vyv240, vyv239) 214.33/145.96 new_sr13(vyv240, vyv239) -> error([]) 214.33/145.96 new_sr14(vyv240, vyv239) -> error([]) 214.33/145.96 new_sr8(:%(vyv2400, vyv2401), :%(vyv2390, vyv2391), be) -> new_reduce2Reduce1(vyv2400, vyv2390, vyv2401, vyv2391, new_esEs2(vyv2401, vyv2391, be), be) 214.33/145.96 new_esEs2(vyv2401, vyv2391, ty_Integer) -> new_esEs1(new_sr9(vyv2401, vyv2391)) 214.33/145.96 new_esEs2(vyv2401, vyv2391, ty_Int) -> new_esEs(new_sr10(vyv2401, vyv2391)) 214.33/145.96 214.33/145.96 The set Q consists of the following terms: 214.33/145.96 214.33/145.96 new_sr13(x0, x1) 214.33/145.96 new_primDivNatS01(x0, x1, Zero, Zero) 214.33/145.96 new_gcd0Gcd'11(False, x0, x1) 214.33/145.96 new_primMulNat4(Zero) 214.33/145.96 new_gcd0Gcd'11(True, x0, x1) 214.33/145.96 new_sr2(x0, x1, ty_Float) 214.33/145.96 new_sr5(:%(x0, x1), x2) 214.33/145.96 new_primEqInt(Pos(Zero)) 214.33/145.96 new_ms(x0, Neg(x1)) 214.33/145.96 new_sr2(x0, x1, ty_Double) 214.33/145.96 new_esEs(Pos(Succ(x0))) 214.33/145.96 new_primQuotInt0(x0, Neg(Zero)) 214.33/145.96 new_primMulNat3(Zero) 214.33/145.96 new_primModNatS02(x0, x1) 214.33/145.96 new_primDivNatS1(Succ(Zero), Zero) 214.33/145.96 new_primMinusNatS0(x0) 214.33/145.96 new_sr11(x0) 214.33/145.96 new_rem(Pos(x0), Neg(Succ(x1))) 214.33/145.96 new_rem(Neg(x0), Pos(Succ(x1))) 214.33/145.96 new_primMulNat0(Zero, Zero) 214.33/145.96 new_primPlusNat0(Succ(x0), Zero) 214.33/145.96 new_primMulNat0(Succ(x0), Zero) 214.33/145.96 new_sr3(x0, ty_Float) 214.33/145.96 new_primMulNat2(Zero) 214.33/145.96 new_primQuotInt(x0, Pos(Zero)) 214.33/145.96 new_primMulNat2(Succ(x0)) 214.33/145.96 new_primQuotInt(x0, Neg(Zero)) 214.33/145.96 new_rem(Neg(x0), Neg(Succ(x1))) 214.33/145.96 new_primMinusNatS2(Zero, Succ(x0)) 214.33/145.96 new_sr4(x0, x1, ty_Double) 214.33/145.96 new_primMulNat3(Succ(x0)) 214.33/145.96 new_esEs1(Integer(x0)) 214.33/145.96 new_primQuotInt0(x0, Pos(Zero)) 214.33/145.96 new_gcd2(True, x0, x1) 214.33/145.96 new_quot1(x0, x1, x2, x3, ty_Int) 214.33/145.96 new_primDivNatS1(Zero, x0) 214.33/145.96 new_primMinusNat0(Zero, Zero) 214.33/145.96 new_gcd(x0, x1) 214.33/145.96 new_gcd1(False, x0, x1) 214.33/145.96 new_esEs2(x0, x1, ty_Int) 214.33/145.96 new_sr3(x0, ty_Integer) 214.33/145.96 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 214.33/145.96 new_sr1(x0, app(ty_Ratio, x1)) 214.33/145.96 new_sr1(x0, ty_Float) 214.33/145.96 new_primPlusNat0(Zero, Succ(x0)) 214.33/145.96 new_sr8(:%(x0, x1), :%(x2, x3), x4) 214.33/145.96 new_abs(Neg(Zero)) 214.33/145.96 new_primMinusNatS2(Succ(x0), Zero) 214.33/145.96 new_error 214.33/145.96 new_primModNatS1(Succ(Zero), Zero) 214.33/145.96 new_primMulNat4(Succ(x0)) 214.33/145.96 new_sr1(x0, ty_Integer) 214.33/145.96 new_primDivNatS02(x0, x1) 214.33/145.96 new_sr1(x0, ty_Int) 214.33/145.96 new_rem(Neg(x0), Neg(Zero)) 214.33/145.96 new_primMinusNat0(Zero, Succ(x0)) 214.33/145.96 new_primEqInt(Neg(Zero)) 214.33/145.96 new_rem(Pos(x0), Pos(Succ(x1))) 214.33/145.96 new_abs(Pos(Succ(x0))) 214.33/145.96 new_primMulNat0(Succ(x0), Succ(x1)) 214.33/145.96 new_primMulNat0(Zero, Succ(x0)) 214.33/145.96 new_reduce2Reduce1(x0, x1, x2, x3, True, x4) 214.33/145.96 new_gcd0Gcd'10(False, x0, x1) 214.33/145.96 new_sr12(x0) 214.33/145.96 new_primDivNatS01(x0, x1, Zero, Succ(x2)) 214.33/145.96 new_sr10(Pos(x0), Pos(x1)) 214.33/145.96 new_primModNatS01(x0, x1, Zero, Succ(x2)) 214.33/145.96 new_primPlusNat0(Zero, Zero) 214.33/145.96 new_primQuotInt0(x0, Pos(Succ(x1))) 214.33/145.96 new_primModNatS01(x0, x1, Succ(x2), Zero) 214.33/145.96 new_ms(x0, Pos(Succ(x1))) 214.33/145.96 new_primModNatS1(Succ(Succ(x0)), Zero) 214.33/145.96 new_sr4(x0, x1, ty_Integer) 214.33/145.96 new_rem(Pos(x0), Pos(Zero)) 214.33/145.96 new_sr4(x0, x1, ty_Int) 214.33/145.96 new_ms0(x0, Neg(Succ(x1))) 214.33/145.96 new_quot(Pos(x0), x1, x2) 214.33/145.96 new_primMinusNatS2(Zero, Zero) 214.33/145.96 new_esEs0(x0, ty_Int) 214.33/145.96 new_primMinusNat0(Succ(x0), Zero) 214.33/145.96 new_ms0(x0, Pos(x1)) 214.33/145.96 new_esEs(Pos(Zero)) 214.33/145.96 new_quot(Neg(x0), x1, x2) 214.33/145.96 new_primDivNatS01(x0, x1, Succ(x2), Succ(x3)) 214.33/145.96 new_quot2(x0, x1, x2) 214.33/145.96 new_primEqInt(Neg(Succ(x0))) 214.33/145.96 new_sr10(Neg(x0), Neg(x1)) 214.33/145.96 new_sr3(x0, app(ty_Ratio, x1)) 214.33/145.96 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 214.33/145.96 new_sr9(x0, x1) 214.33/145.96 new_sr2(x0, x1, ty_Integer) 214.33/145.96 new_sr7(Neg(x0)) 214.33/145.96 new_sr1(x0, ty_Double) 214.33/145.96 new_primQuotInt0(x0, Neg(Succ(x1))) 214.33/145.96 new_rem(Pos(x0), Neg(Zero)) 214.33/145.96 new_rem(Neg(x0), Pos(Zero)) 214.33/145.96 new_gcd0Gcd'00(x0, x1) 214.33/145.96 new_primQuotInt(x0, Neg(Succ(x1))) 214.33/145.96 new_primMinusNatS2(Succ(x0), Succ(x1)) 214.33/145.96 new_ms(x0, Pos(Zero)) 214.33/145.96 new_abs(Pos(Zero)) 214.33/145.96 new_primMinusNat0(Succ(x0), Succ(x1)) 214.33/145.96 new_quot0(x0, x1, x2, x3, ty_Integer) 214.33/145.96 new_sr6(x0) 214.33/145.96 new_gcd2(False, x0, x1) 214.33/145.96 new_gcd1(True, x0, x1) 214.33/145.96 new_esEs2(x0, x1, ty_Integer) 214.33/145.96 new_primMinusNatS1 214.33/145.96 new_sr7(Pos(x0)) 214.33/145.96 new_gcd0Gcd'10(True, x0, x1) 214.33/145.96 new_primModNatS1(Zero, x0) 214.33/145.96 new_sr4(x0, x1, ty_Float) 214.33/145.96 new_sr10(Pos(x0), Neg(x1)) 214.33/145.96 new_sr10(Neg(x0), Pos(x1)) 214.33/145.96 new_primDivNatS01(x0, x1, Succ(x2), Zero) 214.33/145.96 new_primDivNatS1(Succ(Succ(x0)), Succ(x1)) 214.33/145.96 new_primPlusNat0(Succ(x0), Succ(x1)) 214.33/145.96 new_primDivNatS1(Succ(Zero), Succ(x0)) 214.33/145.96 new_primQuotInt(x0, Pos(Succ(x1))) 214.33/145.96 new_sr2(x0, x1, app(ty_Ratio, x2)) 214.33/145.96 new_abs(Neg(Succ(x0))) 214.33/145.96 new_esEs0(x0, ty_Integer) 214.33/145.96 new_sr3(x0, ty_Int) 214.33/145.96 new_esEs(Neg(Succ(x0))) 214.33/145.96 new_ms0(x0, Neg(Zero)) 214.33/145.96 new_primModNatS01(x0, x1, Zero, Zero) 214.33/145.96 new_sr4(x0, x1, app(ty_Ratio, x2)) 214.33/145.96 new_gcd0(x0, x1) 214.33/145.96 new_primEqInt(Pos(Succ(x0))) 214.33/145.96 new_sr3(x0, ty_Double) 214.33/145.96 new_quot1(x0, x1, x2, x3, ty_Integer) 214.33/145.96 new_primDivNatS1(Succ(Succ(x0)), Zero) 214.33/145.96 new_primMulNat1(Succ(x0)) 214.33/145.96 new_sr14(x0, x1) 214.33/145.96 new_quot0(x0, x1, x2, x3, ty_Int) 214.33/145.96 new_sr2(x0, x1, ty_Int) 214.33/145.96 new_primModNatS1(Succ(Zero), Succ(x0)) 214.33/145.96 new_reduce2Reduce1(x0, x1, x2, x3, False, x4) 214.33/145.96 new_esEs(Neg(Zero)) 214.33/145.96 new_primMulNat1(Zero) 214.33/145.96 214.33/145.96 We have to consider all minimal (P,Q,R)-chains. 214.33/145.96 ---------------------------------------- 214.33/145.96 214.33/145.96 (789) QReductionProof (EQUIVALENT) 214.33/145.96 We deleted the following terms from Q as each root-symbol of these terms does neither occur in P nor in R.[THIEMANN]. 214.33/145.96 214.33/145.96 new_sr2(x0, x1, ty_Float) 214.33/145.96 new_ms(x0, Neg(x1)) 214.33/145.96 new_sr2(x0, x1, ty_Double) 214.33/145.96 new_primMinusNat0(Zero, Zero) 214.33/145.96 new_sr1(x0, app(ty_Ratio, x1)) 214.33/145.96 new_sr1(x0, ty_Float) 214.33/145.96 new_sr1(x0, ty_Integer) 214.33/145.96 new_sr1(x0, ty_Int) 214.33/145.96 new_primMinusNat0(Zero, Succ(x0)) 214.33/145.96 new_ms(x0, Pos(Succ(x1))) 214.33/145.96 new_ms0(x0, Neg(Succ(x1))) 214.33/145.96 new_primMinusNat0(Succ(x0), Zero) 214.33/145.96 new_ms0(x0, Pos(x1)) 214.33/145.96 new_sr2(x0, x1, ty_Integer) 214.33/145.96 new_sr1(x0, ty_Double) 214.33/145.96 new_ms(x0, Pos(Zero)) 214.33/145.96 new_primMinusNat0(Succ(x0), Succ(x1)) 214.33/145.96 new_sr2(x0, x1, app(ty_Ratio, x2)) 214.33/145.96 new_ms0(x0, Neg(Zero)) 214.33/145.96 new_sr2(x0, x1, ty_Int) 214.33/145.96 214.33/145.96 214.33/145.96 ---------------------------------------- 214.33/145.96 214.33/145.96 (790) 214.33/145.96 Obligation: 214.33/145.96 Q DP problem: 214.33/145.96 The TRS P consists of the following rules: 214.33/145.96 214.33/145.96 new_pr2F1(z1, z2, Pos(Succ(Zero)), z0, z3) -> new_pr2F30(False, z1, z2, Pos(Succ(Zero)), z0, z3) 214.33/145.96 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) 214.33/145.96 new_pr2F0(vyv184, Neg(Succ(Succ(vyv223000))), vyv188, h) -> new_pr2F0G10(vyv188, vyv184, Succ(vyv223000), vyv223000, h) 214.33/145.96 new_pr2F0G10(vyv249, vyv250, vyv251, Succ(Succ(vyv25200)), bb) -> new_pr2F0G10(vyv249, vyv250, vyv251, vyv25200, bb) 214.33/145.96 new_pr2F0G10(vyv249, vyv250, vyv251, Succ(Zero), bb) -> new_pr2F0G11(vyv249, vyv250, vyv251, bb) 214.33/145.96 new_pr2F0G11(vyv239, vyv240, vyv241, bc) -> new_pr2F1(vyv240, vyv241, Pos(Succ(Zero)), vyv239, bc) 214.33/145.96 new_pr2F0G10(vyv249, vyv250, vyv251, Zero, bb) -> new_pr2F0G(vyv249, new_sr3(vyv250, bb), Neg(new_primDivNatS1(Succ(vyv251), Succ(Zero))), bb) 214.33/145.96 new_pr2F0G(vyv188, vyv184, Neg(Succ(Zero)), h) -> new_pr2F0G11(vyv188, vyv184, Zero, h) 214.33/145.96 new_pr2F0G(vyv188, vyv184, Neg(Succ(Succ(vyv223000))), h) -> new_pr2F0G10(vyv188, vyv184, Succ(vyv223000), vyv223000, h) 214.33/145.96 new_pr2F0(vyv184, Neg(Succ(Zero)), vyv188, h) -> new_pr2F0G11(vyv188, vyv184, Zero, h) 214.33/145.96 214.33/145.96 The TRS R consists of the following rules: 214.33/145.96 214.33/145.96 new_sr3(vyv250, ty_Double) -> new_sr11(vyv250) 214.33/145.96 new_sr3(vyv250, ty_Int) -> new_sr7(vyv250) 214.33/145.96 new_sr3(vyv250, ty_Float) -> new_sr12(vyv250) 214.33/145.96 new_sr3(vyv250, ty_Integer) -> new_sr6(vyv250) 214.33/145.96 new_sr3(vyv250, app(ty_Ratio, bf)) -> new_sr5(vyv250, bf) 214.33/145.96 new_primDivNatS1(Succ(Zero), Succ(vyv285000)) -> Zero 214.33/145.96 new_primDivNatS1(Succ(Succ(vyv271000)), Succ(vyv285000)) -> new_primDivNatS01(vyv271000, vyv285000, vyv271000, vyv285000) 214.33/145.96 new_primDivNatS01(vyv311, vyv312, Succ(vyv3130), Zero) -> new_primDivNatS02(vyv311, vyv312) 214.33/145.96 new_primDivNatS01(vyv311, vyv312, Zero, Succ(vyv3140)) -> Zero 214.33/145.96 new_primDivNatS01(vyv311, vyv312, Succ(vyv3130), Succ(vyv3140)) -> new_primDivNatS01(vyv311, vyv312, vyv3130, vyv3140) 214.33/145.96 new_primDivNatS01(vyv311, vyv312, Zero, Zero) -> new_primDivNatS02(vyv311, vyv312) 214.33/145.96 new_primDivNatS02(vyv311, vyv312) -> Succ(new_primDivNatS1(new_primMinusNatS2(vyv311, vyv312), Succ(vyv312))) 214.33/145.96 new_primMinusNatS2(Zero, Succ(vyv3120)) -> Zero 214.33/145.96 new_primMinusNatS2(Succ(vyv3110), Zero) -> Succ(vyv3110) 214.33/145.96 new_primMinusNatS2(Zero, Zero) -> Zero 214.33/145.96 new_primMinusNatS2(Succ(vyv3110), Succ(vyv3120)) -> new_primMinusNatS2(vyv3110, vyv3120) 214.33/145.96 new_primDivNatS1(Zero, vyv28500) -> Zero 214.33/145.96 new_sr5(:%(vyv1840, vyv1841), bd) -> new_reduce2Reduce1(vyv1840, vyv1840, vyv1841, vyv1841, new_esEs0(vyv1841, bd), bd) 214.33/145.96 new_esEs0(vyv1841, ty_Int) -> new_esEs(new_sr7(vyv1841)) 214.33/145.96 new_esEs0(vyv1841, ty_Integer) -> new_esEs1(new_sr6(vyv1841)) 214.33/145.96 new_reduce2Reduce1(vyv265, vyv266, vyv267, vyv268, False, bh) -> :%(new_quot0(vyv265, vyv266, vyv267, vyv268, bh), new_quot1(vyv267, vyv268, vyv265, vyv266, bh)) 214.33/145.96 new_reduce2Reduce1(vyv265, vyv266, vyv267, vyv268, True, bh) -> error([]) 214.33/145.96 new_quot0(vyv265, vyv266, vyv267, vyv268, ty_Integer) -> new_quot2(new_sr9(vyv265, vyv266), new_sr9(vyv265, vyv266), new_sr9(vyv267, vyv268)) 214.33/145.96 new_quot0(vyv265, vyv266, vyv267, vyv268, ty_Int) -> new_quot(new_sr10(vyv265, vyv266), new_sr10(vyv265, vyv266), new_sr10(vyv267, vyv268)) 214.33/145.96 new_quot1(vyv267, vyv268, vyv265, vyv266, ty_Int) -> new_quot(new_sr10(vyv267, vyv268), new_sr10(vyv265, vyv266), new_sr10(vyv267, vyv268)) 214.33/145.96 new_quot1(vyv267, vyv268, vyv265, vyv266, ty_Integer) -> new_quot2(new_sr9(vyv267, vyv268), new_sr9(vyv265, vyv266), new_sr9(vyv267, vyv268)) 214.33/145.96 new_sr9(vyv240, vyv239) -> error([]) 214.33/145.96 new_quot2(vyv274, vyv276, vyv275) -> error([]) 214.33/145.96 new_sr10(Pos(vyv2400), Pos(vyv2390)) -> Pos(new_primMulNat0(vyv2400, vyv2390)) 214.33/145.96 new_sr10(Neg(vyv2400), Neg(vyv2390)) -> Pos(new_primMulNat0(vyv2400, vyv2390)) 214.33/145.96 new_sr10(Pos(vyv2400), Neg(vyv2390)) -> Neg(new_primMulNat0(vyv2400, vyv2390)) 214.33/145.96 new_sr10(Neg(vyv2400), Pos(vyv2390)) -> Neg(new_primMulNat0(vyv2400, vyv2390)) 214.33/145.96 new_quot(Pos(vyv2710), vyv273, vyv272) -> new_primQuotInt(vyv2710, new_gcd(vyv273, vyv272)) 214.33/145.96 new_quot(Neg(vyv2710), vyv273, vyv272) -> new_primQuotInt0(vyv2710, new_gcd(vyv273, vyv272)) 214.33/145.96 new_gcd(vyv273, vyv272) -> new_gcd2(new_esEs(vyv273), vyv273, vyv272) 214.33/145.96 new_primQuotInt0(vyv2710, Pos(Succ(vyv28800))) -> Neg(new_primDivNatS1(vyv2710, vyv28800)) 214.33/145.96 new_primQuotInt0(vyv2710, Neg(Zero)) -> new_error 214.33/145.96 new_primQuotInt0(vyv2710, Neg(Succ(vyv28800))) -> Pos(new_primDivNatS1(vyv2710, vyv28800)) 214.33/145.96 new_primQuotInt0(vyv2710, Pos(Zero)) -> new_error 214.33/145.96 new_error -> error([]) 214.33/145.96 new_primDivNatS1(Succ(Succ(vyv271000)), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS0(vyv271000), Zero)) 214.33/145.96 new_primDivNatS1(Succ(Zero), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS1, Zero)) 214.33/145.96 new_primMinusNatS1 -> Zero 214.33/145.96 new_primMinusNatS0(vyv271000) -> Succ(vyv271000) 214.33/145.96 new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) 214.33/145.96 new_esEs(Pos(Succ(vyv24300))) -> new_primEqInt(Pos(Succ(vyv24300))) 214.33/145.96 new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) 214.33/145.96 new_esEs(Neg(Succ(vyv24300))) -> new_primEqInt(Neg(Succ(vyv24300))) 214.33/145.96 new_gcd2(True, vyv273, vyv272) -> new_gcd1(new_esEs(vyv272), vyv273, vyv272) 214.33/145.96 new_gcd2(False, vyv273, vyv272) -> new_gcd0(vyv273, vyv272) 214.33/145.96 new_gcd0(vyv273, vyv272) -> new_gcd0Gcd'11(new_esEs(new_abs(vyv272)), vyv273, vyv272) 214.33/145.96 new_abs(Neg(Zero)) -> Neg(Zero) 214.33/145.96 new_abs(Neg(Succ(vyv27200))) -> Pos(Succ(vyv27200)) 214.33/145.96 new_abs(Pos(Succ(vyv27200))) -> Pos(Succ(vyv27200)) 214.33/145.96 new_abs(Pos(Zero)) -> Pos(Zero) 214.33/145.96 new_gcd0Gcd'11(True, vyv273, vyv272) -> new_abs(vyv273) 214.33/145.96 new_gcd0Gcd'11(False, vyv273, vyv272) -> new_gcd0Gcd'00(new_abs(vyv273), new_abs(vyv272)) 214.33/145.96 new_gcd0Gcd'10(False, vyv292, vyv293) -> new_gcd0Gcd'00(vyv292, new_rem(vyv293, vyv292)) 214.33/145.96 new_gcd0Gcd'00(vyv293, vyv292) -> new_gcd0Gcd'10(new_esEs(new_rem(vyv293, vyv292)), vyv292, vyv293) 214.33/145.96 new_rem(Pos(vyv2930), Neg(Zero)) -> new_error 214.33/145.96 new_rem(Neg(vyv2930), Pos(Zero)) -> new_error 214.33/145.96 new_rem(Pos(vyv2930), Neg(Succ(vyv29200))) -> Pos(new_primModNatS1(vyv2930, vyv29200)) 214.33/145.96 new_rem(Neg(vyv2930), Pos(Succ(vyv29200))) -> Neg(new_primModNatS1(vyv2930, vyv29200)) 214.33/145.96 new_rem(Pos(vyv2930), Pos(Succ(vyv29200))) -> Pos(new_primModNatS1(vyv2930, vyv29200)) 214.33/145.96 new_rem(Neg(vyv2930), Neg(Zero)) -> new_error 214.33/145.96 new_rem(Neg(vyv2930), Neg(Succ(vyv29200))) -> Neg(new_primModNatS1(vyv2930, vyv29200)) 214.33/145.96 new_rem(Pos(vyv2930), Pos(Zero)) -> new_error 214.33/145.96 new_gcd0Gcd'10(True, vyv292, vyv293) -> vyv292 214.33/145.96 new_primModNatS1(Succ(Zero), Succ(vyv292000)) -> Succ(Zero) 214.33/145.96 new_primModNatS1(Zero, vyv29200) -> Zero 214.33/145.96 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 214.33/145.96 new_primModNatS1(Succ(Succ(vyv293000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv293000), Zero) 214.33/145.96 new_primModNatS1(Succ(Succ(vyv293000)), Succ(vyv292000)) -> new_primModNatS01(vyv293000, vyv292000, vyv293000, vyv292000) 214.33/145.96 new_primModNatS01(vyv331, vyv332, Zero, Zero) -> new_primModNatS02(vyv331, vyv332) 214.33/145.96 new_primModNatS02(vyv331, vyv332) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv331), Succ(vyv332)), Succ(vyv332)) 214.33/145.96 new_primModNatS01(vyv331, vyv332, Succ(vyv3330), Zero) -> new_primModNatS02(vyv331, vyv332) 214.33/145.96 new_primModNatS01(vyv331, vyv332, Succ(vyv3330), Succ(vyv3340)) -> new_primModNatS01(vyv331, vyv332, vyv3330, vyv3340) 214.33/145.96 new_primModNatS01(vyv331, vyv332, Zero, Succ(vyv3340)) -> Succ(Succ(vyv331)) 214.33/145.96 new_gcd1(True, vyv273, vyv272) -> new_error 214.33/145.96 new_gcd1(False, vyv273, vyv272) -> new_gcd0(vyv273, vyv272) 214.33/145.96 new_primEqInt(Neg(Succ(vyv242000))) -> False 214.33/145.96 new_primEqInt(Pos(Zero)) -> True 214.33/145.96 new_primEqInt(Pos(Succ(vyv242000))) -> False 214.33/145.96 new_primEqInt(Neg(Zero)) -> True 214.33/145.96 new_primQuotInt(vyv2710, Pos(Succ(vyv28500))) -> Pos(new_primDivNatS1(vyv2710, vyv28500)) 214.33/145.96 new_primQuotInt(vyv2710, Neg(Zero)) -> new_error 214.33/145.96 new_primQuotInt(vyv2710, Pos(Zero)) -> new_error 214.33/145.96 new_primQuotInt(vyv2710, Neg(Succ(vyv28500))) -> Neg(new_primDivNatS1(vyv2710, vyv28500)) 214.33/145.96 new_primMulNat0(Zero, Succ(vyv23900)) -> Zero 214.33/145.96 new_primMulNat0(Succ(vyv24000), Succ(vyv23900)) -> new_primPlusNat0(new_primMulNat0(vyv24000, Succ(vyv23900)), Succ(vyv23900)) 214.33/145.96 new_primMulNat0(Succ(vyv24000), Zero) -> Zero 214.33/145.96 new_primMulNat0(Zero, Zero) -> Zero 214.33/145.96 new_primPlusNat0(Succ(vyv4000), Succ(vyv6000)) -> Succ(Succ(new_primPlusNat0(vyv4000, vyv6000))) 214.33/145.96 new_primPlusNat0(Zero, Succ(vyv6000)) -> Succ(vyv6000) 214.33/145.96 new_primPlusNat0(Zero, Zero) -> Zero 214.33/145.96 new_primPlusNat0(Succ(vyv4000), Zero) -> Succ(vyv4000) 214.33/145.96 new_sr6(vyv184) -> error([]) 214.33/145.96 new_esEs1(Integer(vyv2700)) -> new_primEqInt(vyv2700) 214.33/145.96 new_sr7(Pos(vyv1840)) -> Pos(new_primMulNat1(vyv1840)) 214.33/145.96 new_sr7(Neg(vyv1840)) -> Pos(new_primMulNat1(vyv1840)) 214.33/145.96 new_primMulNat1(Succ(vyv18400)) -> new_primPlusNat0(new_primMulNat2(vyv18400), Succ(vyv18400)) 214.33/145.96 new_primMulNat1(Zero) -> Zero 214.33/145.96 new_primMulNat2(Succ(vyv184000)) -> new_primPlusNat0(new_primMulNat3(vyv184000), Succ(Succ(vyv184000))) 214.33/145.96 new_primMulNat2(Zero) -> Zero 214.33/145.96 new_primMulNat3(Succ(vyv1840000)) -> new_primPlusNat0(new_primMulNat4(vyv1840000), Succ(Succ(Succ(vyv1840000)))) 214.33/145.96 new_primMulNat3(Zero) -> Zero 214.33/145.96 new_primMulNat4(Succ(vyv18400000)) -> new_primPlusNat0(new_primMulNat0(vyv18400000, Succ(Succ(Succ(Succ(vyv18400000))))), Succ(Succ(Succ(Succ(vyv18400000))))) 214.33/145.96 new_primMulNat4(Zero) -> Zero 214.33/145.96 new_sr12(vyv184) -> error([]) 214.33/145.96 new_sr11(vyv184) -> error([]) 214.33/145.96 new_sr4(vyv240, vyv239, app(ty_Ratio, be)) -> new_sr8(vyv240, vyv239, be) 214.33/145.96 new_sr4(vyv240, vyv239, ty_Float) -> new_sr14(vyv240, vyv239) 214.33/145.96 new_sr4(vyv240, vyv239, ty_Int) -> new_sr10(vyv240, vyv239) 214.33/145.96 new_sr4(vyv240, vyv239, ty_Double) -> new_sr13(vyv240, vyv239) 214.33/145.96 new_sr4(vyv240, vyv239, ty_Integer) -> new_sr9(vyv240, vyv239) 214.33/145.96 new_sr13(vyv240, vyv239) -> error([]) 214.33/145.96 new_sr14(vyv240, vyv239) -> error([]) 214.33/145.96 new_sr8(:%(vyv2400, vyv2401), :%(vyv2390, vyv2391), be) -> new_reduce2Reduce1(vyv2400, vyv2390, vyv2401, vyv2391, new_esEs2(vyv2401, vyv2391, be), be) 214.33/145.96 new_esEs2(vyv2401, vyv2391, ty_Integer) -> new_esEs1(new_sr9(vyv2401, vyv2391)) 214.33/145.96 new_esEs2(vyv2401, vyv2391, ty_Int) -> new_esEs(new_sr10(vyv2401, vyv2391)) 214.33/145.96 214.33/145.96 The set Q consists of the following terms: 214.33/145.96 214.33/145.96 new_sr13(x0, x1) 214.33/145.96 new_primDivNatS01(x0, x1, Zero, Zero) 214.33/145.96 new_gcd0Gcd'11(False, x0, x1) 214.33/145.96 new_primMulNat4(Zero) 214.33/145.96 new_gcd0Gcd'11(True, x0, x1) 214.33/145.96 new_sr5(:%(x0, x1), x2) 214.33/145.96 new_primEqInt(Pos(Zero)) 214.33/145.96 new_esEs(Pos(Succ(x0))) 214.33/145.96 new_primQuotInt0(x0, Neg(Zero)) 214.33/145.96 new_primMulNat3(Zero) 214.33/145.96 new_primModNatS02(x0, x1) 214.33/145.96 new_primDivNatS1(Succ(Zero), Zero) 214.33/145.96 new_primMinusNatS0(x0) 214.33/145.96 new_sr11(x0) 214.33/145.96 new_rem(Pos(x0), Neg(Succ(x1))) 214.33/145.96 new_rem(Neg(x0), Pos(Succ(x1))) 214.33/145.96 new_primMulNat0(Zero, Zero) 214.33/145.96 new_primPlusNat0(Succ(x0), Zero) 214.33/145.96 new_primMulNat0(Succ(x0), Zero) 214.33/145.96 new_sr3(x0, ty_Float) 214.33/145.96 new_primMulNat2(Zero) 214.33/145.96 new_primQuotInt(x0, Pos(Zero)) 214.33/145.96 new_primMulNat2(Succ(x0)) 214.33/145.96 new_primQuotInt(x0, Neg(Zero)) 214.33/145.96 new_rem(Neg(x0), Neg(Succ(x1))) 214.33/145.96 new_primMinusNatS2(Zero, Succ(x0)) 214.33/145.96 new_sr4(x0, x1, ty_Double) 214.33/145.96 new_primMulNat3(Succ(x0)) 214.33/145.96 new_esEs1(Integer(x0)) 214.33/145.96 new_primQuotInt0(x0, Pos(Zero)) 214.33/145.96 new_gcd2(True, x0, x1) 214.33/145.96 new_quot1(x0, x1, x2, x3, ty_Int) 214.33/145.96 new_primDivNatS1(Zero, x0) 214.33/145.96 new_gcd(x0, x1) 214.33/145.96 new_gcd1(False, x0, x1) 214.33/145.96 new_esEs2(x0, x1, ty_Int) 214.33/145.96 new_sr3(x0, ty_Integer) 214.33/145.96 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 214.33/145.96 new_primPlusNat0(Zero, Succ(x0)) 214.33/145.96 new_sr8(:%(x0, x1), :%(x2, x3), x4) 214.33/145.96 new_abs(Neg(Zero)) 214.33/145.96 new_primMinusNatS2(Succ(x0), Zero) 214.33/145.96 new_error 214.33/145.96 new_primModNatS1(Succ(Zero), Zero) 214.33/145.96 new_primMulNat4(Succ(x0)) 214.33/145.96 new_primDivNatS02(x0, x1) 214.33/145.96 new_rem(Neg(x0), Neg(Zero)) 214.33/145.96 new_primEqInt(Neg(Zero)) 214.33/145.96 new_rem(Pos(x0), Pos(Succ(x1))) 214.33/145.96 new_abs(Pos(Succ(x0))) 214.33/145.96 new_primMulNat0(Succ(x0), Succ(x1)) 214.33/145.96 new_primMulNat0(Zero, Succ(x0)) 214.33/145.96 new_reduce2Reduce1(x0, x1, x2, x3, True, x4) 214.33/145.96 new_gcd0Gcd'10(False, x0, x1) 214.33/145.96 new_sr12(x0) 214.33/145.96 new_primDivNatS01(x0, x1, Zero, Succ(x2)) 214.33/145.96 new_sr10(Pos(x0), Pos(x1)) 214.33/145.96 new_primModNatS01(x0, x1, Zero, Succ(x2)) 214.33/145.96 new_primPlusNat0(Zero, Zero) 214.33/145.96 new_primQuotInt0(x0, Pos(Succ(x1))) 214.33/145.96 new_primModNatS01(x0, x1, Succ(x2), Zero) 214.33/145.96 new_primModNatS1(Succ(Succ(x0)), Zero) 214.33/145.96 new_sr4(x0, x1, ty_Integer) 214.33/145.96 new_rem(Pos(x0), Pos(Zero)) 214.33/145.96 new_sr4(x0, x1, ty_Int) 214.33/145.96 new_quot(Pos(x0), x1, x2) 214.33/145.96 new_primMinusNatS2(Zero, Zero) 214.33/145.96 new_esEs0(x0, ty_Int) 214.33/145.96 new_esEs(Pos(Zero)) 214.33/145.96 new_quot(Neg(x0), x1, x2) 214.33/145.96 new_primDivNatS01(x0, x1, Succ(x2), Succ(x3)) 214.33/145.96 new_quot2(x0, x1, x2) 214.33/145.96 new_primEqInt(Neg(Succ(x0))) 214.33/145.96 new_sr10(Neg(x0), Neg(x1)) 214.33/145.96 new_sr3(x0, app(ty_Ratio, x1)) 214.33/145.96 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 214.33/145.96 new_sr9(x0, x1) 214.33/145.96 new_sr7(Neg(x0)) 214.33/145.96 new_primQuotInt0(x0, Neg(Succ(x1))) 214.33/145.96 new_rem(Pos(x0), Neg(Zero)) 214.33/145.96 new_rem(Neg(x0), Pos(Zero)) 214.33/145.96 new_gcd0Gcd'00(x0, x1) 214.33/145.96 new_primQuotInt(x0, Neg(Succ(x1))) 214.33/145.96 new_primMinusNatS2(Succ(x0), Succ(x1)) 214.33/145.96 new_abs(Pos(Zero)) 214.33/145.96 new_quot0(x0, x1, x2, x3, ty_Integer) 214.33/145.96 new_sr6(x0) 214.33/145.96 new_gcd2(False, x0, x1) 214.33/145.96 new_gcd1(True, x0, x1) 214.33/145.96 new_esEs2(x0, x1, ty_Integer) 214.33/145.96 new_primMinusNatS1 214.33/145.96 new_sr7(Pos(x0)) 214.33/145.96 new_gcd0Gcd'10(True, x0, x1) 214.33/145.96 new_primModNatS1(Zero, x0) 214.33/145.96 new_sr4(x0, x1, ty_Float) 214.33/145.96 new_sr10(Pos(x0), Neg(x1)) 214.33/145.96 new_sr10(Neg(x0), Pos(x1)) 214.33/145.96 new_primDivNatS01(x0, x1, Succ(x2), Zero) 214.33/145.96 new_primDivNatS1(Succ(Succ(x0)), Succ(x1)) 214.33/145.96 new_primPlusNat0(Succ(x0), Succ(x1)) 214.33/145.96 new_primDivNatS1(Succ(Zero), Succ(x0)) 214.33/145.96 new_primQuotInt(x0, Pos(Succ(x1))) 214.33/145.96 new_abs(Neg(Succ(x0))) 214.33/145.96 new_esEs0(x0, ty_Integer) 214.33/145.96 new_sr3(x0, ty_Int) 214.33/145.96 new_esEs(Neg(Succ(x0))) 214.33/145.96 new_primModNatS01(x0, x1, Zero, Zero) 214.33/145.96 new_sr4(x0, x1, app(ty_Ratio, x2)) 214.33/145.96 new_gcd0(x0, x1) 214.33/145.96 new_primEqInt(Pos(Succ(x0))) 214.33/145.96 new_sr3(x0, ty_Double) 214.33/145.96 new_quot1(x0, x1, x2, x3, ty_Integer) 214.33/145.96 new_primDivNatS1(Succ(Succ(x0)), Zero) 214.33/145.96 new_primMulNat1(Succ(x0)) 214.33/145.96 new_sr14(x0, x1) 214.33/145.96 new_quot0(x0, x1, x2, x3, ty_Int) 214.33/145.96 new_primModNatS1(Succ(Zero), Succ(x0)) 214.33/145.96 new_reduce2Reduce1(x0, x1, x2, x3, False, x4) 214.33/145.96 new_esEs(Neg(Zero)) 214.33/145.96 new_primMulNat1(Zero) 214.33/145.96 214.33/145.96 We have to consider all minimal (P,Q,R)-chains. 214.33/145.96 ---------------------------------------- 214.33/145.96 214.33/145.96 (791) TransformationProof (EQUIVALENT) 214.33/145.96 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]: 214.33/145.96 214.33/145.96 (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)) 214.33/145.96 214.33/145.96 214.33/145.96 ---------------------------------------- 214.33/145.96 214.33/145.96 (792) 214.33/145.96 Obligation: 214.33/145.96 Q DP problem: 214.33/145.96 The TRS P consists of the following rules: 214.33/145.96 214.33/145.96 new_pr2F1(z1, z2, Pos(Succ(Zero)), z0, z3) -> new_pr2F30(False, z1, z2, Pos(Succ(Zero)), z0, z3) 214.33/145.96 new_pr2F0(vyv184, Neg(Succ(Succ(vyv223000))), vyv188, h) -> new_pr2F0G10(vyv188, vyv184, Succ(vyv223000), vyv223000, h) 214.33/145.96 new_pr2F0G10(vyv249, vyv250, vyv251, Succ(Succ(vyv25200)), bb) -> new_pr2F0G10(vyv249, vyv250, vyv251, vyv25200, bb) 214.33/145.96 new_pr2F0G10(vyv249, vyv250, vyv251, Succ(Zero), bb) -> new_pr2F0G11(vyv249, vyv250, vyv251, bb) 214.33/145.96 new_pr2F0G11(vyv239, vyv240, vyv241, bc) -> new_pr2F1(vyv240, vyv241, Pos(Succ(Zero)), vyv239, bc) 214.33/145.96 new_pr2F0G10(vyv249, vyv250, vyv251, Zero, bb) -> new_pr2F0G(vyv249, new_sr3(vyv250, bb), Neg(new_primDivNatS1(Succ(vyv251), Succ(Zero))), bb) 214.33/145.96 new_pr2F0G(vyv188, vyv184, Neg(Succ(Zero)), h) -> new_pr2F0G11(vyv188, vyv184, Zero, h) 214.33/145.96 new_pr2F0G(vyv188, vyv184, Neg(Succ(Succ(vyv223000))), h) -> new_pr2F0G10(vyv188, vyv184, Succ(vyv223000), vyv223000, h) 214.33/145.96 new_pr2F0(vyv184, Neg(Succ(Zero)), vyv188, h) -> new_pr2F0G11(vyv188, vyv184, Zero, h) 214.33/145.96 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) 214.33/145.96 214.33/145.96 The TRS R consists of the following rules: 214.33/145.96 214.33/145.96 new_sr3(vyv250, ty_Double) -> new_sr11(vyv250) 214.33/145.96 new_sr3(vyv250, ty_Int) -> new_sr7(vyv250) 214.33/145.96 new_sr3(vyv250, ty_Float) -> new_sr12(vyv250) 214.33/145.96 new_sr3(vyv250, ty_Integer) -> new_sr6(vyv250) 214.33/145.96 new_sr3(vyv250, app(ty_Ratio, bf)) -> new_sr5(vyv250, bf) 214.33/145.96 new_primDivNatS1(Succ(Zero), Succ(vyv285000)) -> Zero 214.33/145.96 new_primDivNatS1(Succ(Succ(vyv271000)), Succ(vyv285000)) -> new_primDivNatS01(vyv271000, vyv285000, vyv271000, vyv285000) 214.33/145.96 new_primDivNatS01(vyv311, vyv312, Succ(vyv3130), Zero) -> new_primDivNatS02(vyv311, vyv312) 214.33/145.96 new_primDivNatS01(vyv311, vyv312, Zero, Succ(vyv3140)) -> Zero 214.33/145.96 new_primDivNatS01(vyv311, vyv312, Succ(vyv3130), Succ(vyv3140)) -> new_primDivNatS01(vyv311, vyv312, vyv3130, vyv3140) 214.33/145.96 new_primDivNatS01(vyv311, vyv312, Zero, Zero) -> new_primDivNatS02(vyv311, vyv312) 214.33/145.96 new_primDivNatS02(vyv311, vyv312) -> Succ(new_primDivNatS1(new_primMinusNatS2(vyv311, vyv312), Succ(vyv312))) 214.33/145.96 new_primMinusNatS2(Zero, Succ(vyv3120)) -> Zero 214.33/145.96 new_primMinusNatS2(Succ(vyv3110), Zero) -> Succ(vyv3110) 214.33/145.96 new_primMinusNatS2(Zero, Zero) -> Zero 214.33/145.96 new_primMinusNatS2(Succ(vyv3110), Succ(vyv3120)) -> new_primMinusNatS2(vyv3110, vyv3120) 214.33/145.96 new_primDivNatS1(Zero, vyv28500) -> Zero 214.33/145.96 new_sr5(:%(vyv1840, vyv1841), bd) -> new_reduce2Reduce1(vyv1840, vyv1840, vyv1841, vyv1841, new_esEs0(vyv1841, bd), bd) 214.33/145.96 new_esEs0(vyv1841, ty_Int) -> new_esEs(new_sr7(vyv1841)) 214.33/145.96 new_esEs0(vyv1841, ty_Integer) -> new_esEs1(new_sr6(vyv1841)) 214.33/145.96 new_reduce2Reduce1(vyv265, vyv266, vyv267, vyv268, False, bh) -> :%(new_quot0(vyv265, vyv266, vyv267, vyv268, bh), new_quot1(vyv267, vyv268, vyv265, vyv266, bh)) 214.33/145.96 new_reduce2Reduce1(vyv265, vyv266, vyv267, vyv268, True, bh) -> error([]) 214.33/145.96 new_quot0(vyv265, vyv266, vyv267, vyv268, ty_Integer) -> new_quot2(new_sr9(vyv265, vyv266), new_sr9(vyv265, vyv266), new_sr9(vyv267, vyv268)) 214.33/145.96 new_quot0(vyv265, vyv266, vyv267, vyv268, ty_Int) -> new_quot(new_sr10(vyv265, vyv266), new_sr10(vyv265, vyv266), new_sr10(vyv267, vyv268)) 214.33/145.96 new_quot1(vyv267, vyv268, vyv265, vyv266, ty_Int) -> new_quot(new_sr10(vyv267, vyv268), new_sr10(vyv265, vyv266), new_sr10(vyv267, vyv268)) 214.33/145.96 new_quot1(vyv267, vyv268, vyv265, vyv266, ty_Integer) -> new_quot2(new_sr9(vyv267, vyv268), new_sr9(vyv265, vyv266), new_sr9(vyv267, vyv268)) 214.33/145.96 new_sr9(vyv240, vyv239) -> error([]) 214.33/145.96 new_quot2(vyv274, vyv276, vyv275) -> error([]) 214.33/145.96 new_sr10(Pos(vyv2400), Pos(vyv2390)) -> Pos(new_primMulNat0(vyv2400, vyv2390)) 214.33/145.96 new_sr10(Neg(vyv2400), Neg(vyv2390)) -> Pos(new_primMulNat0(vyv2400, vyv2390)) 214.33/145.96 new_sr10(Pos(vyv2400), Neg(vyv2390)) -> Neg(new_primMulNat0(vyv2400, vyv2390)) 214.33/145.96 new_sr10(Neg(vyv2400), Pos(vyv2390)) -> Neg(new_primMulNat0(vyv2400, vyv2390)) 214.33/145.96 new_quot(Pos(vyv2710), vyv273, vyv272) -> new_primQuotInt(vyv2710, new_gcd(vyv273, vyv272)) 214.33/145.96 new_quot(Neg(vyv2710), vyv273, vyv272) -> new_primQuotInt0(vyv2710, new_gcd(vyv273, vyv272)) 214.33/145.96 new_gcd(vyv273, vyv272) -> new_gcd2(new_esEs(vyv273), vyv273, vyv272) 214.33/145.96 new_primQuotInt0(vyv2710, Pos(Succ(vyv28800))) -> Neg(new_primDivNatS1(vyv2710, vyv28800)) 214.33/145.96 new_primQuotInt0(vyv2710, Neg(Zero)) -> new_error 214.33/145.96 new_primQuotInt0(vyv2710, Neg(Succ(vyv28800))) -> Pos(new_primDivNatS1(vyv2710, vyv28800)) 214.33/145.96 new_primQuotInt0(vyv2710, Pos(Zero)) -> new_error 214.33/145.96 new_error -> error([]) 214.33/145.96 new_primDivNatS1(Succ(Succ(vyv271000)), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS0(vyv271000), Zero)) 214.33/145.96 new_primDivNatS1(Succ(Zero), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS1, Zero)) 214.33/145.96 new_primMinusNatS1 -> Zero 214.33/145.96 new_primMinusNatS0(vyv271000) -> Succ(vyv271000) 214.33/145.96 new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) 214.33/145.96 new_esEs(Pos(Succ(vyv24300))) -> new_primEqInt(Pos(Succ(vyv24300))) 214.33/145.96 new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) 214.33/145.96 new_esEs(Neg(Succ(vyv24300))) -> new_primEqInt(Neg(Succ(vyv24300))) 214.33/145.96 new_gcd2(True, vyv273, vyv272) -> new_gcd1(new_esEs(vyv272), vyv273, vyv272) 214.33/145.96 new_gcd2(False, vyv273, vyv272) -> new_gcd0(vyv273, vyv272) 214.33/145.96 new_gcd0(vyv273, vyv272) -> new_gcd0Gcd'11(new_esEs(new_abs(vyv272)), vyv273, vyv272) 214.33/145.96 new_abs(Neg(Zero)) -> Neg(Zero) 214.33/145.96 new_abs(Neg(Succ(vyv27200))) -> Pos(Succ(vyv27200)) 214.33/145.96 new_abs(Pos(Succ(vyv27200))) -> Pos(Succ(vyv27200)) 214.33/145.96 new_abs(Pos(Zero)) -> Pos(Zero) 214.33/145.96 new_gcd0Gcd'11(True, vyv273, vyv272) -> new_abs(vyv273) 214.33/145.96 new_gcd0Gcd'11(False, vyv273, vyv272) -> new_gcd0Gcd'00(new_abs(vyv273), new_abs(vyv272)) 214.33/145.96 new_gcd0Gcd'10(False, vyv292, vyv293) -> new_gcd0Gcd'00(vyv292, new_rem(vyv293, vyv292)) 214.33/145.96 new_gcd0Gcd'00(vyv293, vyv292) -> new_gcd0Gcd'10(new_esEs(new_rem(vyv293, vyv292)), vyv292, vyv293) 214.33/145.96 new_rem(Pos(vyv2930), Neg(Zero)) -> new_error 214.33/145.96 new_rem(Neg(vyv2930), Pos(Zero)) -> new_error 214.33/145.96 new_rem(Pos(vyv2930), Neg(Succ(vyv29200))) -> Pos(new_primModNatS1(vyv2930, vyv29200)) 214.33/145.96 new_rem(Neg(vyv2930), Pos(Succ(vyv29200))) -> Neg(new_primModNatS1(vyv2930, vyv29200)) 214.33/145.96 new_rem(Pos(vyv2930), Pos(Succ(vyv29200))) -> Pos(new_primModNatS1(vyv2930, vyv29200)) 214.33/145.96 new_rem(Neg(vyv2930), Neg(Zero)) -> new_error 214.33/145.96 new_rem(Neg(vyv2930), Neg(Succ(vyv29200))) -> Neg(new_primModNatS1(vyv2930, vyv29200)) 214.33/145.96 new_rem(Pos(vyv2930), Pos(Zero)) -> new_error 214.33/145.96 new_gcd0Gcd'10(True, vyv292, vyv293) -> vyv292 214.33/145.96 new_primModNatS1(Succ(Zero), Succ(vyv292000)) -> Succ(Zero) 214.33/145.96 new_primModNatS1(Zero, vyv29200) -> Zero 214.33/145.96 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 214.33/145.96 new_primModNatS1(Succ(Succ(vyv293000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv293000), Zero) 214.33/145.96 new_primModNatS1(Succ(Succ(vyv293000)), Succ(vyv292000)) -> new_primModNatS01(vyv293000, vyv292000, vyv293000, vyv292000) 214.33/145.96 new_primModNatS01(vyv331, vyv332, Zero, Zero) -> new_primModNatS02(vyv331, vyv332) 214.33/145.96 new_primModNatS02(vyv331, vyv332) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv331), Succ(vyv332)), Succ(vyv332)) 214.33/145.96 new_primModNatS01(vyv331, vyv332, Succ(vyv3330), Zero) -> new_primModNatS02(vyv331, vyv332) 214.33/145.96 new_primModNatS01(vyv331, vyv332, Succ(vyv3330), Succ(vyv3340)) -> new_primModNatS01(vyv331, vyv332, vyv3330, vyv3340) 214.33/145.96 new_primModNatS01(vyv331, vyv332, Zero, Succ(vyv3340)) -> Succ(Succ(vyv331)) 214.33/145.96 new_gcd1(True, vyv273, vyv272) -> new_error 214.33/145.96 new_gcd1(False, vyv273, vyv272) -> new_gcd0(vyv273, vyv272) 214.33/145.96 new_primEqInt(Neg(Succ(vyv242000))) -> False 214.33/145.96 new_primEqInt(Pos(Zero)) -> True 214.33/145.96 new_primEqInt(Pos(Succ(vyv242000))) -> False 214.33/145.96 new_primEqInt(Neg(Zero)) -> True 214.33/145.96 new_primQuotInt(vyv2710, Pos(Succ(vyv28500))) -> Pos(new_primDivNatS1(vyv2710, vyv28500)) 214.33/145.96 new_primQuotInt(vyv2710, Neg(Zero)) -> new_error 214.33/145.96 new_primQuotInt(vyv2710, Pos(Zero)) -> new_error 214.33/145.96 new_primQuotInt(vyv2710, Neg(Succ(vyv28500))) -> Neg(new_primDivNatS1(vyv2710, vyv28500)) 214.33/145.96 new_primMulNat0(Zero, Succ(vyv23900)) -> Zero 214.33/145.96 new_primMulNat0(Succ(vyv24000), Succ(vyv23900)) -> new_primPlusNat0(new_primMulNat0(vyv24000, Succ(vyv23900)), Succ(vyv23900)) 214.33/145.96 new_primMulNat0(Succ(vyv24000), Zero) -> Zero 214.33/145.96 new_primMulNat0(Zero, Zero) -> Zero 214.33/145.96 new_primPlusNat0(Succ(vyv4000), Succ(vyv6000)) -> Succ(Succ(new_primPlusNat0(vyv4000, vyv6000))) 214.33/145.96 new_primPlusNat0(Zero, Succ(vyv6000)) -> Succ(vyv6000) 214.33/145.96 new_primPlusNat0(Zero, Zero) -> Zero 214.33/145.96 new_primPlusNat0(Succ(vyv4000), Zero) -> Succ(vyv4000) 214.33/145.96 new_sr6(vyv184) -> error([]) 214.33/145.96 new_esEs1(Integer(vyv2700)) -> new_primEqInt(vyv2700) 214.33/145.96 new_sr7(Pos(vyv1840)) -> Pos(new_primMulNat1(vyv1840)) 214.33/145.96 new_sr7(Neg(vyv1840)) -> Pos(new_primMulNat1(vyv1840)) 214.33/145.96 new_primMulNat1(Succ(vyv18400)) -> new_primPlusNat0(new_primMulNat2(vyv18400), Succ(vyv18400)) 214.33/145.96 new_primMulNat1(Zero) -> Zero 214.33/145.96 new_primMulNat2(Succ(vyv184000)) -> new_primPlusNat0(new_primMulNat3(vyv184000), Succ(Succ(vyv184000))) 214.33/145.96 new_primMulNat2(Zero) -> Zero 214.33/145.96 new_primMulNat3(Succ(vyv1840000)) -> new_primPlusNat0(new_primMulNat4(vyv1840000), Succ(Succ(Succ(vyv1840000)))) 214.33/145.96 new_primMulNat3(Zero) -> Zero 214.33/145.96 new_primMulNat4(Succ(vyv18400000)) -> new_primPlusNat0(new_primMulNat0(vyv18400000, Succ(Succ(Succ(Succ(vyv18400000))))), Succ(Succ(Succ(Succ(vyv18400000))))) 214.33/145.96 new_primMulNat4(Zero) -> Zero 214.33/145.96 new_sr12(vyv184) -> error([]) 214.33/145.96 new_sr11(vyv184) -> error([]) 214.33/145.96 new_sr4(vyv240, vyv239, app(ty_Ratio, be)) -> new_sr8(vyv240, vyv239, be) 214.33/145.96 new_sr4(vyv240, vyv239, ty_Float) -> new_sr14(vyv240, vyv239) 214.33/145.96 new_sr4(vyv240, vyv239, ty_Int) -> new_sr10(vyv240, vyv239) 214.33/145.96 new_sr4(vyv240, vyv239, ty_Double) -> new_sr13(vyv240, vyv239) 214.33/145.96 new_sr4(vyv240, vyv239, ty_Integer) -> new_sr9(vyv240, vyv239) 214.33/145.96 new_sr13(vyv240, vyv239) -> error([]) 214.33/145.96 new_sr14(vyv240, vyv239) -> error([]) 214.33/145.96 new_sr8(:%(vyv2400, vyv2401), :%(vyv2390, vyv2391), be) -> new_reduce2Reduce1(vyv2400, vyv2390, vyv2401, vyv2391, new_esEs2(vyv2401, vyv2391, be), be) 214.33/145.96 new_esEs2(vyv2401, vyv2391, ty_Integer) -> new_esEs1(new_sr9(vyv2401, vyv2391)) 214.33/145.96 new_esEs2(vyv2401, vyv2391, ty_Int) -> new_esEs(new_sr10(vyv2401, vyv2391)) 214.33/145.96 214.33/145.96 The set Q consists of the following terms: 214.33/145.96 214.33/145.96 new_sr13(x0, x1) 214.33/145.96 new_primDivNatS01(x0, x1, Zero, Zero) 214.33/145.96 new_gcd0Gcd'11(False, x0, x1) 214.33/145.96 new_primMulNat4(Zero) 214.33/145.96 new_gcd0Gcd'11(True, x0, x1) 214.33/145.96 new_sr5(:%(x0, x1), x2) 214.33/145.96 new_primEqInt(Pos(Zero)) 214.33/145.96 new_esEs(Pos(Succ(x0))) 214.33/145.96 new_primQuotInt0(x0, Neg(Zero)) 214.33/145.96 new_primMulNat3(Zero) 214.33/145.96 new_primModNatS02(x0, x1) 214.33/145.96 new_primDivNatS1(Succ(Zero), Zero) 214.33/145.96 new_primMinusNatS0(x0) 214.33/145.96 new_sr11(x0) 214.33/145.96 new_rem(Pos(x0), Neg(Succ(x1))) 214.33/145.96 new_rem(Neg(x0), Pos(Succ(x1))) 214.33/145.96 new_primMulNat0(Zero, Zero) 214.33/145.96 new_primPlusNat0(Succ(x0), Zero) 214.33/145.96 new_primMulNat0(Succ(x0), Zero) 214.33/145.96 new_sr3(x0, ty_Float) 214.33/145.96 new_primMulNat2(Zero) 214.33/145.96 new_primQuotInt(x0, Pos(Zero)) 214.33/145.96 new_primMulNat2(Succ(x0)) 214.33/145.96 new_primQuotInt(x0, Neg(Zero)) 214.33/145.96 new_rem(Neg(x0), Neg(Succ(x1))) 214.33/145.96 new_primMinusNatS2(Zero, Succ(x0)) 214.33/145.96 new_sr4(x0, x1, ty_Double) 214.33/145.96 new_primMulNat3(Succ(x0)) 214.33/145.96 new_esEs1(Integer(x0)) 214.33/145.96 new_primQuotInt0(x0, Pos(Zero)) 214.33/145.96 new_gcd2(True, x0, x1) 214.33/145.96 new_quot1(x0, x1, x2, x3, ty_Int) 214.33/145.96 new_primDivNatS1(Zero, x0) 214.33/145.96 new_gcd(x0, x1) 214.33/145.96 new_gcd1(False, x0, x1) 214.33/145.96 new_esEs2(x0, x1, ty_Int) 214.33/145.96 new_sr3(x0, ty_Integer) 214.33/145.96 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 214.33/145.96 new_primPlusNat0(Zero, Succ(x0)) 214.33/145.96 new_sr8(:%(x0, x1), :%(x2, x3), x4) 214.33/145.96 new_abs(Neg(Zero)) 214.33/145.96 new_primMinusNatS2(Succ(x0), Zero) 214.33/145.96 new_error 214.33/145.96 new_primModNatS1(Succ(Zero), Zero) 214.33/145.96 new_primMulNat4(Succ(x0)) 214.33/145.96 new_primDivNatS02(x0, x1) 214.33/145.96 new_rem(Neg(x0), Neg(Zero)) 214.33/145.96 new_primEqInt(Neg(Zero)) 214.33/145.96 new_rem(Pos(x0), Pos(Succ(x1))) 214.33/145.96 new_abs(Pos(Succ(x0))) 214.33/145.96 new_primMulNat0(Succ(x0), Succ(x1)) 214.33/145.96 new_primMulNat0(Zero, Succ(x0)) 214.33/145.96 new_reduce2Reduce1(x0, x1, x2, x3, True, x4) 214.33/145.96 new_gcd0Gcd'10(False, x0, x1) 214.33/145.96 new_sr12(x0) 214.33/145.96 new_primDivNatS01(x0, x1, Zero, Succ(x2)) 214.33/145.96 new_sr10(Pos(x0), Pos(x1)) 214.33/145.96 new_primModNatS01(x0, x1, Zero, Succ(x2)) 214.33/145.96 new_primPlusNat0(Zero, Zero) 214.33/145.96 new_primQuotInt0(x0, Pos(Succ(x1))) 214.33/145.96 new_primModNatS01(x0, x1, Succ(x2), Zero) 214.33/145.96 new_primModNatS1(Succ(Succ(x0)), Zero) 214.33/145.96 new_sr4(x0, x1, ty_Integer) 214.33/145.96 new_rem(Pos(x0), Pos(Zero)) 214.33/145.96 new_sr4(x0, x1, ty_Int) 214.33/145.96 new_quot(Pos(x0), x1, x2) 214.33/145.96 new_primMinusNatS2(Zero, Zero) 214.33/145.96 new_esEs0(x0, ty_Int) 214.33/145.96 new_esEs(Pos(Zero)) 214.33/145.96 new_quot(Neg(x0), x1, x2) 214.33/145.96 new_primDivNatS01(x0, x1, Succ(x2), Succ(x3)) 214.33/145.96 new_quot2(x0, x1, x2) 214.33/145.96 new_primEqInt(Neg(Succ(x0))) 214.33/145.96 new_sr10(Neg(x0), Neg(x1)) 214.33/145.96 new_sr3(x0, app(ty_Ratio, x1)) 214.33/145.96 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 214.33/145.96 new_sr9(x0, x1) 214.33/145.96 new_sr7(Neg(x0)) 214.33/145.96 new_primQuotInt0(x0, Neg(Succ(x1))) 214.33/145.96 new_rem(Pos(x0), Neg(Zero)) 214.33/145.96 new_rem(Neg(x0), Pos(Zero)) 214.33/145.96 new_gcd0Gcd'00(x0, x1) 214.33/145.96 new_primQuotInt(x0, Neg(Succ(x1))) 214.33/145.96 new_primMinusNatS2(Succ(x0), Succ(x1)) 214.33/145.96 new_abs(Pos(Zero)) 214.33/145.96 new_quot0(x0, x1, x2, x3, ty_Integer) 214.33/145.96 new_sr6(x0) 214.33/145.96 new_gcd2(False, x0, x1) 214.33/145.96 new_gcd1(True, x0, x1) 214.33/145.96 new_esEs2(x0, x1, ty_Integer) 214.33/145.96 new_primMinusNatS1 214.33/145.96 new_sr7(Pos(x0)) 214.33/145.96 new_gcd0Gcd'10(True, x0, x1) 214.33/145.96 new_primModNatS1(Zero, x0) 214.33/145.96 new_sr4(x0, x1, ty_Float) 214.33/145.96 new_sr10(Pos(x0), Neg(x1)) 214.33/145.96 new_sr10(Neg(x0), Pos(x1)) 214.33/145.96 new_primDivNatS01(x0, x1, Succ(x2), Zero) 214.33/145.96 new_primDivNatS1(Succ(Succ(x0)), Succ(x1)) 214.33/145.96 new_primPlusNat0(Succ(x0), Succ(x1)) 214.33/145.96 new_primDivNatS1(Succ(Zero), Succ(x0)) 214.33/145.96 new_primQuotInt(x0, Pos(Succ(x1))) 214.33/145.96 new_abs(Neg(Succ(x0))) 214.33/145.96 new_esEs0(x0, ty_Integer) 214.33/145.96 new_sr3(x0, ty_Int) 214.33/145.96 new_esEs(Neg(Succ(x0))) 214.33/145.96 new_primModNatS01(x0, x1, Zero, Zero) 214.33/145.96 new_sr4(x0, x1, app(ty_Ratio, x2)) 214.33/145.96 new_gcd0(x0, x1) 214.33/145.96 new_primEqInt(Pos(Succ(x0))) 214.33/145.96 new_sr3(x0, ty_Double) 214.33/145.96 new_quot1(x0, x1, x2, x3, ty_Integer) 214.33/145.96 new_primDivNatS1(Succ(Succ(x0)), Zero) 214.33/145.96 new_primMulNat1(Succ(x0)) 214.33/145.96 new_sr14(x0, x1) 214.33/145.96 new_quot0(x0, x1, x2, x3, ty_Int) 214.33/145.96 new_primModNatS1(Succ(Zero), Succ(x0)) 214.33/145.96 new_reduce2Reduce1(x0, x1, x2, x3, False, x4) 214.33/145.96 new_esEs(Neg(Zero)) 214.33/145.96 new_primMulNat1(Zero) 214.33/145.96 214.33/145.96 We have to consider all minimal (P,Q,R)-chains. 214.33/145.96 ---------------------------------------- 214.33/145.96 214.33/145.96 (793) DependencyGraphProof (EQUIVALENT) 214.33/145.96 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. 214.33/145.96 ---------------------------------------- 214.33/145.96 214.33/145.96 (794) 214.33/145.96 Obligation: 214.33/145.96 Q DP problem: 214.33/145.96 The TRS P consists of the following rules: 214.33/145.96 214.33/145.96 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) 214.33/145.96 new_pr2F0(vyv184, Neg(Succ(Succ(vyv223000))), vyv188, h) -> new_pr2F0G10(vyv188, vyv184, Succ(vyv223000), vyv223000, h) 214.33/145.96 new_pr2F0G10(vyv249, vyv250, vyv251, Succ(Succ(vyv25200)), bb) -> new_pr2F0G10(vyv249, vyv250, vyv251, vyv25200, bb) 214.33/145.96 new_pr2F0G10(vyv249, vyv250, vyv251, Succ(Zero), bb) -> new_pr2F0G11(vyv249, vyv250, vyv251, bb) 214.33/145.96 new_pr2F0G11(vyv239, vyv240, vyv241, bc) -> new_pr2F1(vyv240, vyv241, Pos(Succ(Zero)), vyv239, bc) 214.33/145.97 new_pr2F1(z1, z2, Pos(Succ(Zero)), z0, z3) -> new_pr2F30(False, z1, z2, Pos(Succ(Zero)), z0, z3) 214.33/145.97 new_pr2F0G10(vyv249, vyv250, vyv251, Zero, bb) -> new_pr2F0G(vyv249, new_sr3(vyv250, bb), Neg(new_primDivNatS1(Succ(vyv251), Succ(Zero))), bb) 214.33/145.97 new_pr2F0G(vyv188, vyv184, Neg(Succ(Zero)), h) -> new_pr2F0G11(vyv188, vyv184, Zero, h) 214.33/145.97 new_pr2F0G(vyv188, vyv184, Neg(Succ(Succ(vyv223000))), h) -> new_pr2F0G10(vyv188, vyv184, Succ(vyv223000), vyv223000, h) 214.33/145.97 214.33/145.97 The TRS R consists of the following rules: 214.33/145.97 214.33/145.97 new_sr3(vyv250, ty_Double) -> new_sr11(vyv250) 214.33/145.97 new_sr3(vyv250, ty_Int) -> new_sr7(vyv250) 214.33/145.97 new_sr3(vyv250, ty_Float) -> new_sr12(vyv250) 214.33/145.97 new_sr3(vyv250, ty_Integer) -> new_sr6(vyv250) 214.33/145.97 new_sr3(vyv250, app(ty_Ratio, bf)) -> new_sr5(vyv250, bf) 214.33/145.97 new_primDivNatS1(Succ(Zero), Succ(vyv285000)) -> Zero 214.33/145.97 new_primDivNatS1(Succ(Succ(vyv271000)), Succ(vyv285000)) -> new_primDivNatS01(vyv271000, vyv285000, vyv271000, vyv285000) 214.33/145.97 new_primDivNatS01(vyv311, vyv312, Succ(vyv3130), Zero) -> new_primDivNatS02(vyv311, vyv312) 214.33/145.97 new_primDivNatS01(vyv311, vyv312, Zero, Succ(vyv3140)) -> Zero 214.33/145.97 new_primDivNatS01(vyv311, vyv312, Succ(vyv3130), Succ(vyv3140)) -> new_primDivNatS01(vyv311, vyv312, vyv3130, vyv3140) 214.33/145.97 new_primDivNatS01(vyv311, vyv312, Zero, Zero) -> new_primDivNatS02(vyv311, vyv312) 214.33/145.97 new_primDivNatS02(vyv311, vyv312) -> Succ(new_primDivNatS1(new_primMinusNatS2(vyv311, vyv312), Succ(vyv312))) 214.33/145.97 new_primMinusNatS2(Zero, Succ(vyv3120)) -> Zero 214.33/145.97 new_primMinusNatS2(Succ(vyv3110), Zero) -> Succ(vyv3110) 214.33/145.97 new_primMinusNatS2(Zero, Zero) -> Zero 214.33/145.97 new_primMinusNatS2(Succ(vyv3110), Succ(vyv3120)) -> new_primMinusNatS2(vyv3110, vyv3120) 214.33/145.97 new_primDivNatS1(Zero, vyv28500) -> Zero 214.33/145.97 new_sr5(:%(vyv1840, vyv1841), bd) -> new_reduce2Reduce1(vyv1840, vyv1840, vyv1841, vyv1841, new_esEs0(vyv1841, bd), bd) 214.33/145.97 new_esEs0(vyv1841, ty_Int) -> new_esEs(new_sr7(vyv1841)) 214.33/145.97 new_esEs0(vyv1841, ty_Integer) -> new_esEs1(new_sr6(vyv1841)) 214.33/145.97 new_reduce2Reduce1(vyv265, vyv266, vyv267, vyv268, False, bh) -> :%(new_quot0(vyv265, vyv266, vyv267, vyv268, bh), new_quot1(vyv267, vyv268, vyv265, vyv266, bh)) 214.33/145.97 new_reduce2Reduce1(vyv265, vyv266, vyv267, vyv268, True, bh) -> error([]) 214.33/145.97 new_quot0(vyv265, vyv266, vyv267, vyv268, ty_Integer) -> new_quot2(new_sr9(vyv265, vyv266), new_sr9(vyv265, vyv266), new_sr9(vyv267, vyv268)) 214.33/145.97 new_quot0(vyv265, vyv266, vyv267, vyv268, ty_Int) -> new_quot(new_sr10(vyv265, vyv266), new_sr10(vyv265, vyv266), new_sr10(vyv267, vyv268)) 214.33/145.97 new_quot1(vyv267, vyv268, vyv265, vyv266, ty_Int) -> new_quot(new_sr10(vyv267, vyv268), new_sr10(vyv265, vyv266), new_sr10(vyv267, vyv268)) 214.33/145.97 new_quot1(vyv267, vyv268, vyv265, vyv266, ty_Integer) -> new_quot2(new_sr9(vyv267, vyv268), new_sr9(vyv265, vyv266), new_sr9(vyv267, vyv268)) 214.33/145.97 new_sr9(vyv240, vyv239) -> error([]) 214.33/145.97 new_quot2(vyv274, vyv276, vyv275) -> error([]) 214.33/145.97 new_sr10(Pos(vyv2400), Pos(vyv2390)) -> Pos(new_primMulNat0(vyv2400, vyv2390)) 214.33/145.97 new_sr10(Neg(vyv2400), Neg(vyv2390)) -> Pos(new_primMulNat0(vyv2400, vyv2390)) 214.33/145.97 new_sr10(Pos(vyv2400), Neg(vyv2390)) -> Neg(new_primMulNat0(vyv2400, vyv2390)) 214.33/145.97 new_sr10(Neg(vyv2400), Pos(vyv2390)) -> Neg(new_primMulNat0(vyv2400, vyv2390)) 214.33/145.97 new_quot(Pos(vyv2710), vyv273, vyv272) -> new_primQuotInt(vyv2710, new_gcd(vyv273, vyv272)) 214.33/145.97 new_quot(Neg(vyv2710), vyv273, vyv272) -> new_primQuotInt0(vyv2710, new_gcd(vyv273, vyv272)) 214.33/145.97 new_gcd(vyv273, vyv272) -> new_gcd2(new_esEs(vyv273), vyv273, vyv272) 214.33/145.97 new_primQuotInt0(vyv2710, Pos(Succ(vyv28800))) -> Neg(new_primDivNatS1(vyv2710, vyv28800)) 214.33/145.97 new_primQuotInt0(vyv2710, Neg(Zero)) -> new_error 214.33/145.97 new_primQuotInt0(vyv2710, Neg(Succ(vyv28800))) -> Pos(new_primDivNatS1(vyv2710, vyv28800)) 214.33/145.97 new_primQuotInt0(vyv2710, Pos(Zero)) -> new_error 214.33/145.97 new_error -> error([]) 214.33/145.97 new_primDivNatS1(Succ(Succ(vyv271000)), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS0(vyv271000), Zero)) 214.33/145.97 new_primDivNatS1(Succ(Zero), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS1, Zero)) 214.33/145.97 new_primMinusNatS1 -> Zero 214.33/145.97 new_primMinusNatS0(vyv271000) -> Succ(vyv271000) 214.33/145.97 new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) 214.33/145.97 new_esEs(Pos(Succ(vyv24300))) -> new_primEqInt(Pos(Succ(vyv24300))) 214.33/145.97 new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) 214.33/145.97 new_esEs(Neg(Succ(vyv24300))) -> new_primEqInt(Neg(Succ(vyv24300))) 214.33/145.97 new_gcd2(True, vyv273, vyv272) -> new_gcd1(new_esEs(vyv272), vyv273, vyv272) 214.33/145.97 new_gcd2(False, vyv273, vyv272) -> new_gcd0(vyv273, vyv272) 214.33/145.97 new_gcd0(vyv273, vyv272) -> new_gcd0Gcd'11(new_esEs(new_abs(vyv272)), vyv273, vyv272) 214.33/145.97 new_abs(Neg(Zero)) -> Neg(Zero) 214.33/145.97 new_abs(Neg(Succ(vyv27200))) -> Pos(Succ(vyv27200)) 214.33/145.97 new_abs(Pos(Succ(vyv27200))) -> Pos(Succ(vyv27200)) 214.33/145.97 new_abs(Pos(Zero)) -> Pos(Zero) 214.33/145.97 new_gcd0Gcd'11(True, vyv273, vyv272) -> new_abs(vyv273) 214.33/145.97 new_gcd0Gcd'11(False, vyv273, vyv272) -> new_gcd0Gcd'00(new_abs(vyv273), new_abs(vyv272)) 214.33/145.97 new_gcd0Gcd'10(False, vyv292, vyv293) -> new_gcd0Gcd'00(vyv292, new_rem(vyv293, vyv292)) 214.33/145.97 new_gcd0Gcd'00(vyv293, vyv292) -> new_gcd0Gcd'10(new_esEs(new_rem(vyv293, vyv292)), vyv292, vyv293) 214.33/145.97 new_rem(Pos(vyv2930), Neg(Zero)) -> new_error 214.33/145.97 new_rem(Neg(vyv2930), Pos(Zero)) -> new_error 214.33/145.97 new_rem(Pos(vyv2930), Neg(Succ(vyv29200))) -> Pos(new_primModNatS1(vyv2930, vyv29200)) 214.33/145.97 new_rem(Neg(vyv2930), Pos(Succ(vyv29200))) -> Neg(new_primModNatS1(vyv2930, vyv29200)) 214.33/145.97 new_rem(Pos(vyv2930), Pos(Succ(vyv29200))) -> Pos(new_primModNatS1(vyv2930, vyv29200)) 214.33/145.97 new_rem(Neg(vyv2930), Neg(Zero)) -> new_error 214.33/145.97 new_rem(Neg(vyv2930), Neg(Succ(vyv29200))) -> Neg(new_primModNatS1(vyv2930, vyv29200)) 214.33/145.97 new_rem(Pos(vyv2930), Pos(Zero)) -> new_error 214.33/145.97 new_gcd0Gcd'10(True, vyv292, vyv293) -> vyv292 214.33/145.97 new_primModNatS1(Succ(Zero), Succ(vyv292000)) -> Succ(Zero) 214.33/145.97 new_primModNatS1(Zero, vyv29200) -> Zero 214.33/145.97 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 214.33/145.97 new_primModNatS1(Succ(Succ(vyv293000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv293000), Zero) 214.33/145.97 new_primModNatS1(Succ(Succ(vyv293000)), Succ(vyv292000)) -> new_primModNatS01(vyv293000, vyv292000, vyv293000, vyv292000) 214.33/145.97 new_primModNatS01(vyv331, vyv332, Zero, Zero) -> new_primModNatS02(vyv331, vyv332) 214.33/145.97 new_primModNatS02(vyv331, vyv332) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv331), Succ(vyv332)), Succ(vyv332)) 214.33/145.97 new_primModNatS01(vyv331, vyv332, Succ(vyv3330), Zero) -> new_primModNatS02(vyv331, vyv332) 214.33/145.97 new_primModNatS01(vyv331, vyv332, Succ(vyv3330), Succ(vyv3340)) -> new_primModNatS01(vyv331, vyv332, vyv3330, vyv3340) 214.33/145.97 new_primModNatS01(vyv331, vyv332, Zero, Succ(vyv3340)) -> Succ(Succ(vyv331)) 214.33/145.97 new_gcd1(True, vyv273, vyv272) -> new_error 214.33/145.97 new_gcd1(False, vyv273, vyv272) -> new_gcd0(vyv273, vyv272) 214.33/145.97 new_primEqInt(Neg(Succ(vyv242000))) -> False 214.33/145.97 new_primEqInt(Pos(Zero)) -> True 214.33/145.97 new_primEqInt(Pos(Succ(vyv242000))) -> False 214.33/145.97 new_primEqInt(Neg(Zero)) -> True 214.33/145.97 new_primQuotInt(vyv2710, Pos(Succ(vyv28500))) -> Pos(new_primDivNatS1(vyv2710, vyv28500)) 214.33/145.97 new_primQuotInt(vyv2710, Neg(Zero)) -> new_error 214.33/145.97 new_primQuotInt(vyv2710, Pos(Zero)) -> new_error 214.33/145.97 new_primQuotInt(vyv2710, Neg(Succ(vyv28500))) -> Neg(new_primDivNatS1(vyv2710, vyv28500)) 214.33/145.97 new_primMulNat0(Zero, Succ(vyv23900)) -> Zero 214.33/145.97 new_primMulNat0(Succ(vyv24000), Succ(vyv23900)) -> new_primPlusNat0(new_primMulNat0(vyv24000, Succ(vyv23900)), Succ(vyv23900)) 214.33/145.97 new_primMulNat0(Succ(vyv24000), Zero) -> Zero 214.33/145.97 new_primMulNat0(Zero, Zero) -> Zero 214.33/145.97 new_primPlusNat0(Succ(vyv4000), Succ(vyv6000)) -> Succ(Succ(new_primPlusNat0(vyv4000, vyv6000))) 214.33/145.97 new_primPlusNat0(Zero, Succ(vyv6000)) -> Succ(vyv6000) 214.33/145.97 new_primPlusNat0(Zero, Zero) -> Zero 214.33/145.97 new_primPlusNat0(Succ(vyv4000), Zero) -> Succ(vyv4000) 214.33/145.97 new_sr6(vyv184) -> error([]) 214.33/145.97 new_esEs1(Integer(vyv2700)) -> new_primEqInt(vyv2700) 214.33/145.97 new_sr7(Pos(vyv1840)) -> Pos(new_primMulNat1(vyv1840)) 214.33/145.97 new_sr7(Neg(vyv1840)) -> Pos(new_primMulNat1(vyv1840)) 214.33/145.97 new_primMulNat1(Succ(vyv18400)) -> new_primPlusNat0(new_primMulNat2(vyv18400), Succ(vyv18400)) 214.33/145.97 new_primMulNat1(Zero) -> Zero 214.33/145.97 new_primMulNat2(Succ(vyv184000)) -> new_primPlusNat0(new_primMulNat3(vyv184000), Succ(Succ(vyv184000))) 214.33/145.97 new_primMulNat2(Zero) -> Zero 214.33/145.97 new_primMulNat3(Succ(vyv1840000)) -> new_primPlusNat0(new_primMulNat4(vyv1840000), Succ(Succ(Succ(vyv1840000)))) 214.33/145.97 new_primMulNat3(Zero) -> Zero 214.33/145.97 new_primMulNat4(Succ(vyv18400000)) -> new_primPlusNat0(new_primMulNat0(vyv18400000, Succ(Succ(Succ(Succ(vyv18400000))))), Succ(Succ(Succ(Succ(vyv18400000))))) 214.33/145.97 new_primMulNat4(Zero) -> Zero 214.33/145.97 new_sr12(vyv184) -> error([]) 214.33/145.97 new_sr11(vyv184) -> error([]) 214.33/145.97 new_sr4(vyv240, vyv239, app(ty_Ratio, be)) -> new_sr8(vyv240, vyv239, be) 214.33/145.97 new_sr4(vyv240, vyv239, ty_Float) -> new_sr14(vyv240, vyv239) 214.33/145.97 new_sr4(vyv240, vyv239, ty_Int) -> new_sr10(vyv240, vyv239) 214.33/145.97 new_sr4(vyv240, vyv239, ty_Double) -> new_sr13(vyv240, vyv239) 214.33/145.97 new_sr4(vyv240, vyv239, ty_Integer) -> new_sr9(vyv240, vyv239) 214.33/145.97 new_sr13(vyv240, vyv239) -> error([]) 214.33/145.97 new_sr14(vyv240, vyv239) -> error([]) 214.33/145.97 new_sr8(:%(vyv2400, vyv2401), :%(vyv2390, vyv2391), be) -> new_reduce2Reduce1(vyv2400, vyv2390, vyv2401, vyv2391, new_esEs2(vyv2401, vyv2391, be), be) 214.33/145.97 new_esEs2(vyv2401, vyv2391, ty_Integer) -> new_esEs1(new_sr9(vyv2401, vyv2391)) 214.33/145.97 new_esEs2(vyv2401, vyv2391, ty_Int) -> new_esEs(new_sr10(vyv2401, vyv2391)) 214.33/145.97 214.33/145.97 The set Q consists of the following terms: 214.33/145.97 214.33/145.97 new_sr13(x0, x1) 214.33/145.97 new_primDivNatS01(x0, x1, Zero, Zero) 214.33/145.97 new_gcd0Gcd'11(False, x0, x1) 214.33/145.97 new_primMulNat4(Zero) 214.33/145.97 new_gcd0Gcd'11(True, x0, x1) 214.33/145.97 new_sr5(:%(x0, x1), x2) 214.33/145.97 new_primEqInt(Pos(Zero)) 214.33/145.97 new_esEs(Pos(Succ(x0))) 214.33/145.97 new_primQuotInt0(x0, Neg(Zero)) 214.33/145.97 new_primMulNat3(Zero) 214.33/145.97 new_primModNatS02(x0, x1) 214.33/145.97 new_primDivNatS1(Succ(Zero), Zero) 214.33/145.97 new_primMinusNatS0(x0) 214.33/145.97 new_sr11(x0) 214.33/145.97 new_rem(Pos(x0), Neg(Succ(x1))) 214.33/145.97 new_rem(Neg(x0), Pos(Succ(x1))) 214.33/145.97 new_primMulNat0(Zero, Zero) 214.33/145.97 new_primPlusNat0(Succ(x0), Zero) 214.33/145.97 new_primMulNat0(Succ(x0), Zero) 214.33/145.97 new_sr3(x0, ty_Float) 214.33/145.97 new_primMulNat2(Zero) 214.33/145.97 new_primQuotInt(x0, Pos(Zero)) 214.33/145.97 new_primMulNat2(Succ(x0)) 214.33/145.97 new_primQuotInt(x0, Neg(Zero)) 214.33/145.97 new_rem(Neg(x0), Neg(Succ(x1))) 214.33/145.97 new_primMinusNatS2(Zero, Succ(x0)) 214.33/145.97 new_sr4(x0, x1, ty_Double) 214.33/145.97 new_primMulNat3(Succ(x0)) 214.33/145.97 new_esEs1(Integer(x0)) 214.33/145.97 new_primQuotInt0(x0, Pos(Zero)) 214.33/145.97 new_gcd2(True, x0, x1) 214.33/145.97 new_quot1(x0, x1, x2, x3, ty_Int) 214.33/145.97 new_primDivNatS1(Zero, x0) 214.33/145.97 new_gcd(x0, x1) 214.33/145.97 new_gcd1(False, x0, x1) 214.33/145.97 new_esEs2(x0, x1, ty_Int) 214.33/145.97 new_sr3(x0, ty_Integer) 214.33/145.97 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 214.33/145.97 new_primPlusNat0(Zero, Succ(x0)) 214.33/145.97 new_sr8(:%(x0, x1), :%(x2, x3), x4) 214.33/145.97 new_abs(Neg(Zero)) 214.33/145.97 new_primMinusNatS2(Succ(x0), Zero) 214.33/145.97 new_error 214.33/145.97 new_primModNatS1(Succ(Zero), Zero) 214.33/145.97 new_primMulNat4(Succ(x0)) 214.33/145.97 new_primDivNatS02(x0, x1) 214.33/145.97 new_rem(Neg(x0), Neg(Zero)) 214.33/145.97 new_primEqInt(Neg(Zero)) 214.33/145.97 new_rem(Pos(x0), Pos(Succ(x1))) 214.33/145.97 new_abs(Pos(Succ(x0))) 214.33/145.97 new_primMulNat0(Succ(x0), Succ(x1)) 214.33/145.97 new_primMulNat0(Zero, Succ(x0)) 214.33/145.97 new_reduce2Reduce1(x0, x1, x2, x3, True, x4) 214.33/145.97 new_gcd0Gcd'10(False, x0, x1) 214.33/145.97 new_sr12(x0) 214.33/145.97 new_primDivNatS01(x0, x1, Zero, Succ(x2)) 214.33/145.97 new_sr10(Pos(x0), Pos(x1)) 214.33/145.97 new_primModNatS01(x0, x1, Zero, Succ(x2)) 214.33/145.97 new_primPlusNat0(Zero, Zero) 214.33/145.97 new_primQuotInt0(x0, Pos(Succ(x1))) 214.33/145.97 new_primModNatS01(x0, x1, Succ(x2), Zero) 214.33/145.97 new_primModNatS1(Succ(Succ(x0)), Zero) 214.33/145.97 new_sr4(x0, x1, ty_Integer) 214.33/145.97 new_rem(Pos(x0), Pos(Zero)) 214.33/145.97 new_sr4(x0, x1, ty_Int) 214.33/145.97 new_quot(Pos(x0), x1, x2) 214.33/145.97 new_primMinusNatS2(Zero, Zero) 214.33/145.97 new_esEs0(x0, ty_Int) 214.33/145.97 new_esEs(Pos(Zero)) 214.33/145.97 new_quot(Neg(x0), x1, x2) 214.33/145.97 new_primDivNatS01(x0, x1, Succ(x2), Succ(x3)) 214.33/145.97 new_quot2(x0, x1, x2) 214.33/145.97 new_primEqInt(Neg(Succ(x0))) 214.33/145.97 new_sr10(Neg(x0), Neg(x1)) 214.33/145.97 new_sr3(x0, app(ty_Ratio, x1)) 214.33/145.97 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 214.33/145.97 new_sr9(x0, x1) 214.33/145.97 new_sr7(Neg(x0)) 214.33/145.97 new_primQuotInt0(x0, Neg(Succ(x1))) 214.33/145.97 new_rem(Pos(x0), Neg(Zero)) 214.33/145.97 new_rem(Neg(x0), Pos(Zero)) 214.33/145.97 new_gcd0Gcd'00(x0, x1) 214.33/145.97 new_primQuotInt(x0, Neg(Succ(x1))) 214.33/145.97 new_primMinusNatS2(Succ(x0), Succ(x1)) 214.33/145.97 new_abs(Pos(Zero)) 214.33/145.97 new_quot0(x0, x1, x2, x3, ty_Integer) 214.33/145.97 new_sr6(x0) 214.33/145.97 new_gcd2(False, x0, x1) 214.33/145.97 new_gcd1(True, x0, x1) 214.33/145.97 new_esEs2(x0, x1, ty_Integer) 214.33/145.97 new_primMinusNatS1 214.33/145.97 new_sr7(Pos(x0)) 214.33/145.97 new_gcd0Gcd'10(True, x0, x1) 214.33/145.97 new_primModNatS1(Zero, x0) 214.33/145.97 new_sr4(x0, x1, ty_Float) 214.33/145.97 new_sr10(Pos(x0), Neg(x1)) 214.33/145.97 new_sr10(Neg(x0), Pos(x1)) 214.33/145.97 new_primDivNatS01(x0, x1, Succ(x2), Zero) 214.33/145.97 new_primDivNatS1(Succ(Succ(x0)), Succ(x1)) 214.33/145.97 new_primPlusNat0(Succ(x0), Succ(x1)) 214.33/145.97 new_primDivNatS1(Succ(Zero), Succ(x0)) 214.33/145.97 new_primQuotInt(x0, Pos(Succ(x1))) 214.33/145.97 new_abs(Neg(Succ(x0))) 214.33/145.97 new_esEs0(x0, ty_Integer) 214.33/145.97 new_sr3(x0, ty_Int) 214.33/145.97 new_esEs(Neg(Succ(x0))) 214.33/145.97 new_primModNatS01(x0, x1, Zero, Zero) 214.33/145.97 new_sr4(x0, x1, app(ty_Ratio, x2)) 214.33/145.97 new_gcd0(x0, x1) 214.33/145.97 new_primEqInt(Pos(Succ(x0))) 214.33/145.97 new_sr3(x0, ty_Double) 214.33/145.97 new_quot1(x0, x1, x2, x3, ty_Integer) 214.33/145.97 new_primDivNatS1(Succ(Succ(x0)), Zero) 214.33/145.97 new_primMulNat1(Succ(x0)) 214.33/145.97 new_sr14(x0, x1) 214.33/145.97 new_quot0(x0, x1, x2, x3, ty_Int) 214.33/145.97 new_primModNatS1(Succ(Zero), Succ(x0)) 214.33/145.97 new_reduce2Reduce1(x0, x1, x2, x3, False, x4) 214.33/145.97 new_esEs(Neg(Zero)) 214.33/145.97 new_primMulNat1(Zero) 214.33/145.97 214.33/145.97 We have to consider all minimal (P,Q,R)-chains. 214.33/145.97 ---------------------------------------- 214.33/145.97 214.33/145.97 (795) MNOCProof (EQUIVALENT) 214.33/145.97 We use the modular non-overlap check [FROCOS05] to decrease Q to the empty set. 214.33/145.97 ---------------------------------------- 214.33/145.97 214.33/145.97 (796) 214.33/145.97 Obligation: 214.33/145.97 Q DP problem: 214.33/145.97 The TRS P consists of the following rules: 214.33/145.97 214.33/145.97 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) 214.33/145.97 new_pr2F0(vyv184, Neg(Succ(Succ(vyv223000))), vyv188, h) -> new_pr2F0G10(vyv188, vyv184, Succ(vyv223000), vyv223000, h) 214.33/145.97 new_pr2F0G10(vyv249, vyv250, vyv251, Succ(Succ(vyv25200)), bb) -> new_pr2F0G10(vyv249, vyv250, vyv251, vyv25200, bb) 214.33/145.97 new_pr2F0G10(vyv249, vyv250, vyv251, Succ(Zero), bb) -> new_pr2F0G11(vyv249, vyv250, vyv251, bb) 214.33/145.97 new_pr2F0G11(vyv239, vyv240, vyv241, bc) -> new_pr2F1(vyv240, vyv241, Pos(Succ(Zero)), vyv239, bc) 214.33/145.97 new_pr2F1(z1, z2, Pos(Succ(Zero)), z0, z3) -> new_pr2F30(False, z1, z2, Pos(Succ(Zero)), z0, z3) 214.33/145.97 new_pr2F0G10(vyv249, vyv250, vyv251, Zero, bb) -> new_pr2F0G(vyv249, new_sr3(vyv250, bb), Neg(new_primDivNatS1(Succ(vyv251), Succ(Zero))), bb) 214.33/145.97 new_pr2F0G(vyv188, vyv184, Neg(Succ(Zero)), h) -> new_pr2F0G11(vyv188, vyv184, Zero, h) 214.33/145.97 new_pr2F0G(vyv188, vyv184, Neg(Succ(Succ(vyv223000))), h) -> new_pr2F0G10(vyv188, vyv184, Succ(vyv223000), vyv223000, h) 214.33/145.97 214.33/145.97 The TRS R consists of the following rules: 214.33/145.97 214.33/145.97 new_sr3(vyv250, ty_Double) -> new_sr11(vyv250) 214.33/145.97 new_sr3(vyv250, ty_Int) -> new_sr7(vyv250) 214.33/145.97 new_sr3(vyv250, ty_Float) -> new_sr12(vyv250) 214.33/145.97 new_sr3(vyv250, ty_Integer) -> new_sr6(vyv250) 214.33/145.97 new_sr3(vyv250, app(ty_Ratio, bf)) -> new_sr5(vyv250, bf) 214.33/145.97 new_primDivNatS1(Succ(Zero), Succ(vyv285000)) -> Zero 214.33/145.97 new_primDivNatS1(Succ(Succ(vyv271000)), Succ(vyv285000)) -> new_primDivNatS01(vyv271000, vyv285000, vyv271000, vyv285000) 214.33/145.97 new_primDivNatS01(vyv311, vyv312, Succ(vyv3130), Zero) -> new_primDivNatS02(vyv311, vyv312) 214.33/145.97 new_primDivNatS01(vyv311, vyv312, Zero, Succ(vyv3140)) -> Zero 214.33/145.97 new_primDivNatS01(vyv311, vyv312, Succ(vyv3130), Succ(vyv3140)) -> new_primDivNatS01(vyv311, vyv312, vyv3130, vyv3140) 214.33/145.97 new_primDivNatS01(vyv311, vyv312, Zero, Zero) -> new_primDivNatS02(vyv311, vyv312) 214.33/145.97 new_primDivNatS02(vyv311, vyv312) -> Succ(new_primDivNatS1(new_primMinusNatS2(vyv311, vyv312), Succ(vyv312))) 214.33/145.97 new_primMinusNatS2(Zero, Succ(vyv3120)) -> Zero 214.33/145.97 new_primMinusNatS2(Succ(vyv3110), Zero) -> Succ(vyv3110) 214.33/145.97 new_primMinusNatS2(Zero, Zero) -> Zero 214.33/145.97 new_primMinusNatS2(Succ(vyv3110), Succ(vyv3120)) -> new_primMinusNatS2(vyv3110, vyv3120) 214.33/145.97 new_primDivNatS1(Zero, vyv28500) -> Zero 214.33/145.97 new_sr5(:%(vyv1840, vyv1841), bd) -> new_reduce2Reduce1(vyv1840, vyv1840, vyv1841, vyv1841, new_esEs0(vyv1841, bd), bd) 214.33/145.97 new_esEs0(vyv1841, ty_Int) -> new_esEs(new_sr7(vyv1841)) 214.33/145.97 new_esEs0(vyv1841, ty_Integer) -> new_esEs1(new_sr6(vyv1841)) 214.33/145.97 new_reduce2Reduce1(vyv265, vyv266, vyv267, vyv268, False, bh) -> :%(new_quot0(vyv265, vyv266, vyv267, vyv268, bh), new_quot1(vyv267, vyv268, vyv265, vyv266, bh)) 214.33/145.97 new_reduce2Reduce1(vyv265, vyv266, vyv267, vyv268, True, bh) -> error([]) 214.33/145.97 new_quot0(vyv265, vyv266, vyv267, vyv268, ty_Integer) -> new_quot2(new_sr9(vyv265, vyv266), new_sr9(vyv265, vyv266), new_sr9(vyv267, vyv268)) 214.33/145.97 new_quot0(vyv265, vyv266, vyv267, vyv268, ty_Int) -> new_quot(new_sr10(vyv265, vyv266), new_sr10(vyv265, vyv266), new_sr10(vyv267, vyv268)) 214.33/145.97 new_quot1(vyv267, vyv268, vyv265, vyv266, ty_Int) -> new_quot(new_sr10(vyv267, vyv268), new_sr10(vyv265, vyv266), new_sr10(vyv267, vyv268)) 214.33/145.97 new_quot1(vyv267, vyv268, vyv265, vyv266, ty_Integer) -> new_quot2(new_sr9(vyv267, vyv268), new_sr9(vyv265, vyv266), new_sr9(vyv267, vyv268)) 214.33/145.97 new_sr9(vyv240, vyv239) -> error([]) 214.33/145.97 new_quot2(vyv274, vyv276, vyv275) -> error([]) 214.33/145.97 new_sr10(Pos(vyv2400), Pos(vyv2390)) -> Pos(new_primMulNat0(vyv2400, vyv2390)) 214.33/145.97 new_sr10(Neg(vyv2400), Neg(vyv2390)) -> Pos(new_primMulNat0(vyv2400, vyv2390)) 214.33/145.97 new_sr10(Pos(vyv2400), Neg(vyv2390)) -> Neg(new_primMulNat0(vyv2400, vyv2390)) 214.33/145.97 new_sr10(Neg(vyv2400), Pos(vyv2390)) -> Neg(new_primMulNat0(vyv2400, vyv2390)) 214.33/145.97 new_quot(Pos(vyv2710), vyv273, vyv272) -> new_primQuotInt(vyv2710, new_gcd(vyv273, vyv272)) 214.33/145.97 new_quot(Neg(vyv2710), vyv273, vyv272) -> new_primQuotInt0(vyv2710, new_gcd(vyv273, vyv272)) 214.33/145.97 new_gcd(vyv273, vyv272) -> new_gcd2(new_esEs(vyv273), vyv273, vyv272) 214.33/145.97 new_primQuotInt0(vyv2710, Pos(Succ(vyv28800))) -> Neg(new_primDivNatS1(vyv2710, vyv28800)) 214.33/145.97 new_primQuotInt0(vyv2710, Neg(Zero)) -> new_error 214.33/145.97 new_primQuotInt0(vyv2710, Neg(Succ(vyv28800))) -> Pos(new_primDivNatS1(vyv2710, vyv28800)) 214.33/145.97 new_primQuotInt0(vyv2710, Pos(Zero)) -> new_error 214.33/145.97 new_error -> error([]) 214.33/145.97 new_primDivNatS1(Succ(Succ(vyv271000)), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS0(vyv271000), Zero)) 214.33/145.97 new_primDivNatS1(Succ(Zero), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS1, Zero)) 214.33/145.97 new_primMinusNatS1 -> Zero 214.33/145.97 new_primMinusNatS0(vyv271000) -> Succ(vyv271000) 214.33/145.97 new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) 214.33/145.97 new_esEs(Pos(Succ(vyv24300))) -> new_primEqInt(Pos(Succ(vyv24300))) 214.33/145.97 new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) 214.33/145.97 new_esEs(Neg(Succ(vyv24300))) -> new_primEqInt(Neg(Succ(vyv24300))) 214.33/145.97 new_gcd2(True, vyv273, vyv272) -> new_gcd1(new_esEs(vyv272), vyv273, vyv272) 214.33/145.97 new_gcd2(False, vyv273, vyv272) -> new_gcd0(vyv273, vyv272) 214.33/145.97 new_gcd0(vyv273, vyv272) -> new_gcd0Gcd'11(new_esEs(new_abs(vyv272)), vyv273, vyv272) 214.33/145.97 new_abs(Neg(Zero)) -> Neg(Zero) 214.33/145.97 new_abs(Neg(Succ(vyv27200))) -> Pos(Succ(vyv27200)) 214.33/145.97 new_abs(Pos(Succ(vyv27200))) -> Pos(Succ(vyv27200)) 214.33/145.97 new_abs(Pos(Zero)) -> Pos(Zero) 214.33/145.97 new_gcd0Gcd'11(True, vyv273, vyv272) -> new_abs(vyv273) 214.33/145.97 new_gcd0Gcd'11(False, vyv273, vyv272) -> new_gcd0Gcd'00(new_abs(vyv273), new_abs(vyv272)) 214.33/145.97 new_gcd0Gcd'10(False, vyv292, vyv293) -> new_gcd0Gcd'00(vyv292, new_rem(vyv293, vyv292)) 214.33/145.97 new_gcd0Gcd'00(vyv293, vyv292) -> new_gcd0Gcd'10(new_esEs(new_rem(vyv293, vyv292)), vyv292, vyv293) 214.33/145.97 new_rem(Pos(vyv2930), Neg(Zero)) -> new_error 214.33/145.97 new_rem(Neg(vyv2930), Pos(Zero)) -> new_error 214.33/145.97 new_rem(Pos(vyv2930), Neg(Succ(vyv29200))) -> Pos(new_primModNatS1(vyv2930, vyv29200)) 214.33/145.97 new_rem(Neg(vyv2930), Pos(Succ(vyv29200))) -> Neg(new_primModNatS1(vyv2930, vyv29200)) 214.33/145.97 new_rem(Pos(vyv2930), Pos(Succ(vyv29200))) -> Pos(new_primModNatS1(vyv2930, vyv29200)) 214.33/145.97 new_rem(Neg(vyv2930), Neg(Zero)) -> new_error 214.33/145.97 new_rem(Neg(vyv2930), Neg(Succ(vyv29200))) -> Neg(new_primModNatS1(vyv2930, vyv29200)) 214.33/145.97 new_rem(Pos(vyv2930), Pos(Zero)) -> new_error 214.33/145.97 new_gcd0Gcd'10(True, vyv292, vyv293) -> vyv292 214.33/145.97 new_primModNatS1(Succ(Zero), Succ(vyv292000)) -> Succ(Zero) 214.33/145.97 new_primModNatS1(Zero, vyv29200) -> Zero 214.33/145.97 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 214.33/145.97 new_primModNatS1(Succ(Succ(vyv293000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv293000), Zero) 214.33/145.97 new_primModNatS1(Succ(Succ(vyv293000)), Succ(vyv292000)) -> new_primModNatS01(vyv293000, vyv292000, vyv293000, vyv292000) 214.33/145.97 new_primModNatS01(vyv331, vyv332, Zero, Zero) -> new_primModNatS02(vyv331, vyv332) 214.33/145.97 new_primModNatS02(vyv331, vyv332) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv331), Succ(vyv332)), Succ(vyv332)) 214.33/145.97 new_primModNatS01(vyv331, vyv332, Succ(vyv3330), Zero) -> new_primModNatS02(vyv331, vyv332) 214.33/145.97 new_primModNatS01(vyv331, vyv332, Succ(vyv3330), Succ(vyv3340)) -> new_primModNatS01(vyv331, vyv332, vyv3330, vyv3340) 214.33/145.97 new_primModNatS01(vyv331, vyv332, Zero, Succ(vyv3340)) -> Succ(Succ(vyv331)) 214.33/145.97 new_gcd1(True, vyv273, vyv272) -> new_error 214.33/145.97 new_gcd1(False, vyv273, vyv272) -> new_gcd0(vyv273, vyv272) 214.33/145.97 new_primEqInt(Neg(Succ(vyv242000))) -> False 214.33/145.97 new_primEqInt(Pos(Zero)) -> True 214.33/145.97 new_primEqInt(Pos(Succ(vyv242000))) -> False 214.33/145.97 new_primEqInt(Neg(Zero)) -> True 214.33/145.97 new_primQuotInt(vyv2710, Pos(Succ(vyv28500))) -> Pos(new_primDivNatS1(vyv2710, vyv28500)) 214.33/145.97 new_primQuotInt(vyv2710, Neg(Zero)) -> new_error 214.33/145.97 new_primQuotInt(vyv2710, Pos(Zero)) -> new_error 214.33/145.97 new_primQuotInt(vyv2710, Neg(Succ(vyv28500))) -> Neg(new_primDivNatS1(vyv2710, vyv28500)) 214.33/145.97 new_primMulNat0(Zero, Succ(vyv23900)) -> Zero 214.33/145.97 new_primMulNat0(Succ(vyv24000), Succ(vyv23900)) -> new_primPlusNat0(new_primMulNat0(vyv24000, Succ(vyv23900)), Succ(vyv23900)) 214.33/145.97 new_primMulNat0(Succ(vyv24000), Zero) -> Zero 214.33/145.97 new_primMulNat0(Zero, Zero) -> Zero 214.33/145.97 new_primPlusNat0(Succ(vyv4000), Succ(vyv6000)) -> Succ(Succ(new_primPlusNat0(vyv4000, vyv6000))) 214.33/145.97 new_primPlusNat0(Zero, Succ(vyv6000)) -> Succ(vyv6000) 214.33/145.97 new_primPlusNat0(Zero, Zero) -> Zero 214.33/145.97 new_primPlusNat0(Succ(vyv4000), Zero) -> Succ(vyv4000) 214.33/145.97 new_sr6(vyv184) -> error([]) 214.33/145.97 new_esEs1(Integer(vyv2700)) -> new_primEqInt(vyv2700) 214.33/145.97 new_sr7(Pos(vyv1840)) -> Pos(new_primMulNat1(vyv1840)) 214.33/145.97 new_sr7(Neg(vyv1840)) -> Pos(new_primMulNat1(vyv1840)) 214.33/145.97 new_primMulNat1(Succ(vyv18400)) -> new_primPlusNat0(new_primMulNat2(vyv18400), Succ(vyv18400)) 214.33/145.97 new_primMulNat1(Zero) -> Zero 214.33/145.97 new_primMulNat2(Succ(vyv184000)) -> new_primPlusNat0(new_primMulNat3(vyv184000), Succ(Succ(vyv184000))) 214.33/145.97 new_primMulNat2(Zero) -> Zero 214.33/145.97 new_primMulNat3(Succ(vyv1840000)) -> new_primPlusNat0(new_primMulNat4(vyv1840000), Succ(Succ(Succ(vyv1840000)))) 214.33/145.97 new_primMulNat3(Zero) -> Zero 214.33/145.97 new_primMulNat4(Succ(vyv18400000)) -> new_primPlusNat0(new_primMulNat0(vyv18400000, Succ(Succ(Succ(Succ(vyv18400000))))), Succ(Succ(Succ(Succ(vyv18400000))))) 214.33/145.97 new_primMulNat4(Zero) -> Zero 214.33/145.97 new_sr12(vyv184) -> error([]) 214.33/145.97 new_sr11(vyv184) -> error([]) 214.33/145.97 new_sr4(vyv240, vyv239, app(ty_Ratio, be)) -> new_sr8(vyv240, vyv239, be) 214.33/145.97 new_sr4(vyv240, vyv239, ty_Float) -> new_sr14(vyv240, vyv239) 214.33/145.97 new_sr4(vyv240, vyv239, ty_Int) -> new_sr10(vyv240, vyv239) 214.33/145.97 new_sr4(vyv240, vyv239, ty_Double) -> new_sr13(vyv240, vyv239) 214.33/145.97 new_sr4(vyv240, vyv239, ty_Integer) -> new_sr9(vyv240, vyv239) 214.33/145.97 new_sr13(vyv240, vyv239) -> error([]) 214.33/145.97 new_sr14(vyv240, vyv239) -> error([]) 214.33/145.97 new_sr8(:%(vyv2400, vyv2401), :%(vyv2390, vyv2391), be) -> new_reduce2Reduce1(vyv2400, vyv2390, vyv2401, vyv2391, new_esEs2(vyv2401, vyv2391, be), be) 214.33/145.97 new_esEs2(vyv2401, vyv2391, ty_Integer) -> new_esEs1(new_sr9(vyv2401, vyv2391)) 214.33/145.97 new_esEs2(vyv2401, vyv2391, ty_Int) -> new_esEs(new_sr10(vyv2401, vyv2391)) 214.33/145.97 214.33/145.97 Q is empty. 214.33/145.97 We have to consider all (P,Q,R)-chains. 214.33/145.97 ---------------------------------------- 214.33/145.97 214.33/145.97 (797) InductionCalculusProof (EQUIVALENT) 214.33/145.97 Note that final constraints are written in bold face. 214.33/145.97 214.33/145.97 214.33/145.97 214.33/145.97 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: 214.33/145.97 *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: 214.33/145.97 214.33/145.97 (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)) 214.33/145.97 214.33/145.97 214.33/145.97 214.33/145.97 We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: 214.33/145.97 214.33/145.97 (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)) 214.33/145.97 214.33/145.97 214.33/145.97 214.33/145.97 214.33/145.97 214.33/145.97 214.33/145.97 214.33/145.97 214.33/145.97 For Pair new_pr2F0(vyv184, Neg(Succ(Succ(vyv223000))), vyv188, h) -> new_pr2F0G10(vyv188, vyv184, Succ(vyv223000), vyv223000, h) the following chains were created: 214.33/145.97 *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: 214.33/145.97 214.33/145.97 (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)) 214.33/145.97 214.33/145.97 214.33/145.97 214.33/145.97 We simplified constraint (1) using rules (I), (II), (III), (IV) which results in the following new constraint: 214.33/145.97 214.33/145.97 (2) (new_pr2F0(x48, Neg(Succ(Succ(Succ(Succ(x55))))), x50, x51)_>=_new_pr2F0G10(x50, x48, Succ(Succ(Succ(x55))), Succ(Succ(x55)), x51)) 214.33/145.97 214.33/145.97 214.33/145.97 214.33/145.97 214.33/145.97 *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: 214.33/145.97 214.33/145.97 (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)) 214.33/145.97 214.33/145.97 214.33/145.97 214.33/145.97 We simplified constraint (1) using rules (I), (II), (III), (IV) which results in the following new constraint: 214.33/145.97 214.33/145.97 (2) (new_pr2F0(x57, Neg(Succ(Succ(Succ(Zero)))), x59, x60)_>=_new_pr2F0G10(x59, x57, Succ(Succ(Zero)), Succ(Zero), x60)) 214.33/145.97 214.33/145.97 214.33/145.97 214.33/145.97 214.33/145.97 *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: 214.33/145.97 214.33/145.97 (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)) 214.33/145.97 214.33/145.97 214.33/145.97 214.33/145.97 We simplified constraint (1) using rules (I), (II), (III), (IV) which results in the following new constraint: 214.33/145.97 214.33/145.97 (2) (new_pr2F0(x73, Neg(Succ(Succ(Zero))), x75, x76)_>=_new_pr2F0G10(x75, x73, Succ(Zero), Zero, x76)) 214.33/145.97 214.33/145.97 214.33/145.97 214.33/145.97 214.33/145.97 214.33/145.97 214.33/145.97 214.33/145.97 214.33/145.97 For Pair new_pr2F0G10(vyv249, vyv250, vyv251, Succ(Succ(vyv25200)), bb) -> new_pr2F0G10(vyv249, vyv250, vyv251, vyv25200, bb) the following chains were created: 214.33/145.97 *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: 214.33/145.97 214.33/145.97 (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)) 214.33/145.97 214.33/145.97 214.33/145.97 214.33/145.97 We simplified constraint (1) using rules (I), (II), (III), (IV) which results in the following new constraint: 214.33/145.97 214.33/145.97 (2) (new_pr2F0G10(x99, x100, x101, Succ(Succ(Succ(Succ(x107)))), x103)_>=_new_pr2F0G10(x99, x100, x101, Succ(Succ(x107)), x103)) 214.33/145.97 214.33/145.97 214.33/145.97 214.33/145.97 214.33/145.97 *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: 214.33/145.97 214.33/145.97 (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)) 214.33/145.97 214.33/145.97 214.33/145.97 214.33/145.97 We simplified constraint (1) using rules (I), (II), (III), (IV) which results in the following new constraint: 214.33/145.97 214.33/145.97 (2) (new_pr2F0G10(x109, x110, x111, Succ(Succ(Succ(Zero))), x113)_>=_new_pr2F0G10(x109, x110, x111, Succ(Zero), x113)) 214.33/145.97 214.33/145.97 214.33/145.97 214.33/145.97 214.33/145.97 *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: 214.33/145.97 214.33/145.97 (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)) 214.33/145.97 214.33/145.97 214.33/145.97 214.33/145.97 We simplified constraint (1) using rules (I), (II), (III), (IV) which results in the following new constraint: 214.33/145.97 214.33/145.97 (2) (new_pr2F0G10(x128, x129, x130, Succ(Succ(Zero)), x132)_>=_new_pr2F0G10(x128, x129, x130, Zero, x132)) 214.33/145.97 214.33/145.97 214.33/145.97 214.33/145.97 214.33/145.97 214.33/145.97 214.33/145.97 214.33/145.97 214.33/145.97 For Pair new_pr2F0G10(vyv249, vyv250, vyv251, Succ(Zero), bb) -> new_pr2F0G11(vyv249, vyv250, vyv251, bb) the following chains were created: 214.33/145.97 *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: 214.33/145.97 214.33/145.97 (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)) 214.33/145.97 214.33/145.97 214.33/145.97 214.33/145.97 We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: 214.33/145.97 214.33/145.97 (2) (new_pr2F0G10(x163, x164, x165, Succ(Zero), x166)_>=_new_pr2F0G11(x163, x164, x165, x166)) 214.33/145.97 214.33/145.97 214.33/145.97 214.33/145.97 214.33/145.97 214.33/145.97 214.33/145.97 214.33/145.97 214.33/145.97 For Pair new_pr2F0G11(vyv239, vyv240, vyv241, bc) -> new_pr2F1(vyv240, vyv241, Pos(Succ(Zero)), vyv239, bc) the following chains were created: 214.33/145.97 *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: 214.33/145.97 214.33/145.97 (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)) 214.33/145.97 214.33/145.97 214.33/145.97 214.33/145.97 We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: 214.33/145.97 214.33/145.97 (2) (new_pr2F0G11(x207, x208, x209, x210)_>=_new_pr2F1(x208, x209, Pos(Succ(Zero)), x207, x210)) 214.33/145.97 214.33/145.97 214.33/145.97 214.33/145.97 214.33/145.97 214.33/145.97 214.33/145.97 214.33/145.97 214.33/145.97 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: 214.33/145.97 *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: 214.33/145.97 214.33/145.97 (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)) 214.33/145.97 214.33/145.97 214.33/145.97 214.33/145.97 We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: 214.33/145.97 214.33/145.97 (2) (new_pr2F1(x227, x228, Pos(Succ(Zero)), x229, x230)_>=_new_pr2F30(False, x227, x228, Pos(Succ(Zero)), x229, x230)) 214.33/145.97 214.33/145.97 214.33/145.97 214.33/145.97 214.33/145.97 214.33/145.97 214.33/145.97 214.33/145.97 214.33/145.97 For Pair new_pr2F0G10(vyv249, vyv250, vyv251, Zero, bb) -> new_pr2F0G(vyv249, new_sr3(vyv250, bb), Neg(new_primDivNatS1(Succ(vyv251), Succ(Zero))), bb) the following chains were created: 214.33/145.97 *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: 214.33/145.97 214.33/145.97 (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)) 214.33/145.97 214.33/145.97 214.33/145.97 214.33/145.97 We simplified constraint (1) using rules (I), (II), (IV), (VII) which results in the following new constraint: 214.33/145.97 214.33/145.97 (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)) 214.33/145.97 214.33/145.97 214.33/145.97 214.33/145.97 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: 214.33/145.97 214.33/145.97 (3) (new_primDivNatS01(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)) 214.33/145.97 214.33/145.97 (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)) 214.33/145.97 214.33/145.97 (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)) 214.33/145.97 214.33/145.97 214.33/145.97 214.33/145.97 We simplified constraint (3) using rules (I), (II), (III), (VII) which results in the following new constraint: 214.33/145.97 214.33/145.97 (6) (x394=x397 & x393=x398 & new_primDivNatS01(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)) 214.33/145.97 214.33/145.97 214.33/145.97 214.33/145.97 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_primDivNatS01(x394, x393, x397, x398)=Succ(Zero) which results in the following new constraints: 214.33/145.97 214.33/145.97 (7) (new_primDivNatS02(x401, x400)=Succ(Zero) & x401=Succ(x399) & x400=Zero & Zero=x400 ==> new_pr2F0G10(x295, x296, Succ(x401), Zero, x298)_>=_new_pr2F0G(x295, new_sr3(x296, x298), Neg(new_primDivNatS1(Succ(Succ(x401)), Succ(Zero))), x298)) 214.33/145.97 214.33/145.97 (8) (new_primDivNatS01(x408, x407, x406, x405)=Succ(Zero) & x408=Succ(x406) & x407=Succ(x405) & Zero=x407 & (\/x409,x410,x411:new_primDivNatS01(x408, x407, x406, x405)=Succ(Zero) & x408=x406 & x407=x405 & Zero=x407 ==> new_pr2F0G10(x409, x410, Succ(x408), Zero, x411)_>=_new_pr2F0G(x409, new_sr3(x410, x411), Neg(new_primDivNatS1(Succ(Succ(x408)), Succ(Zero))), x411)) ==> new_pr2F0G10(x295, x296, Succ(x408), Zero, x298)_>=_new_pr2F0G(x295, new_sr3(x296, x298), Neg(new_primDivNatS1(Succ(Succ(x408)), Succ(Zero))), x298)) 214.33/145.97 214.33/145.97 (9) (new_primDivNatS02(x413, x412)=Succ(Zero) & x413=Zero & x412=Zero & Zero=x412 ==> new_pr2F0G10(x295, x296, Succ(x413), Zero, x298)_>=_new_pr2F0G(x295, new_sr3(x296, x298), Neg(new_primDivNatS1(Succ(Succ(x413)), Succ(Zero))), x298)) 214.33/145.97 214.33/145.97 214.33/145.97 214.33/145.97 We simplified constraint (7) using rules (I), (II), (III), (IV), (VII) which results in the following new constraint: 214.33/145.97 214.33/145.97 (10) (new_pr2F0G10(x295, x296, Succ(Succ(x399)), Zero, x298)_>=_new_pr2F0G(x295, new_sr3(x296, x298), Neg(new_primDivNatS1(Succ(Succ(Succ(x399))), Succ(Zero))), x298)) 214.33/145.97 214.33/145.97 214.33/145.97 214.33/145.97 We solved constraint (8) using rules (I), (II), (III).We simplified constraint (9) using rules (I), (II), (III), (IV), (VII) which results in the following new constraint: 214.33/145.97 214.33/145.97 (11) (new_pr2F0G10(x295, x296, Succ(Zero), Zero, x298)_>=_new_pr2F0G(x295, new_sr3(x296, x298), Neg(new_primDivNatS1(Succ(Succ(Zero)), Succ(Zero))), x298)) 214.33/145.97 214.33/145.97 214.33/145.97 214.33/145.97 214.33/145.97 *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: 214.33/145.97 214.33/145.97 (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)) 214.33/145.97 214.33/145.97 214.33/145.97 214.33/145.97 We simplified constraint (1) using rules (I), (II), (IV), (VII) which results in the following new constraint: 214.33/145.97 214.33/145.97 (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)) 214.33/145.97 214.33/145.97 214.33/145.97 214.33/145.97 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: 214.33/145.97 214.33/145.97 (3) (new_primDivNatS01(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)) 214.33/145.97 214.33/145.97 (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)) 214.33/145.97 214.33/145.97 (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)) 214.33/145.97 214.33/145.97 214.33/145.97 214.33/145.97 We simplified constraint (3) using rules (I), (II), (III), (VII) which results in the following new constraint: 214.33/145.97 214.33/145.97 (6) (x422=x425 & x421=x426 & new_primDivNatS01(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)) 214.33/145.97 214.33/145.97 214.33/145.97 214.33/145.97 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_primDivNatS01(x422, x421, x425, x426)=Succ(Succ(x308)) which results in the following new constraints: 214.33/145.97 214.33/145.97 (7) (new_primDivNatS02(x429, x428)=Succ(Succ(x308)) & x429=Succ(x427) & x428=Zero & Zero=x428 ==> new_pr2F0G10(x302, x303, Succ(x429), Zero, x305)_>=_new_pr2F0G(x302, new_sr3(x303, x305), Neg(new_primDivNatS1(Succ(Succ(x429)), Succ(Zero))), x305)) 214.33/145.97 214.33/145.97 (8) (new_primDivNatS01(x436, x435, x434, x433)=Succ(Succ(x308)) & x436=Succ(x434) & x435=Succ(x433) & Zero=x435 & (\/x437,x438,x439,x440:new_primDivNatS01(x436, x435, x434, x433)=Succ(Succ(x437)) & x436=x434 & x435=x433 & Zero=x435 ==> new_pr2F0G10(x438, x439, Succ(x436), Zero, x440)_>=_new_pr2F0G(x438, new_sr3(x439, x440), Neg(new_primDivNatS1(Succ(Succ(x436)), Succ(Zero))), x440)) ==> new_pr2F0G10(x302, x303, Succ(x436), Zero, x305)_>=_new_pr2F0G(x302, new_sr3(x303, x305), Neg(new_primDivNatS1(Succ(Succ(x436)), Succ(Zero))), x305)) 214.33/145.97 214.33/145.97 (9) (new_primDivNatS02(x442, x441)=Succ(Succ(x308)) & x442=Zero & x441=Zero & Zero=x441 ==> new_pr2F0G10(x302, x303, Succ(x442), Zero, x305)_>=_new_pr2F0G(x302, new_sr3(x303, x305), Neg(new_primDivNatS1(Succ(Succ(x442)), Succ(Zero))), x305)) 214.33/145.97 214.33/145.97 214.33/145.97 214.33/145.97 We simplified constraint (7) using rules (I), (II), (III), (IV), (VII) which results in the following new constraint: 214.33/145.97 214.33/145.97 (10) (new_pr2F0G10(x302, x303, Succ(Succ(x427)), Zero, x305)_>=_new_pr2F0G(x302, new_sr3(x303, x305), Neg(new_primDivNatS1(Succ(Succ(Succ(x427))), Succ(Zero))), x305)) 214.33/145.97 214.33/145.97 214.33/145.97 214.33/145.97 We solved constraint (8) using rules (I), (II), (III).We simplified constraint (9) using rules (I), (II), (III), (IV), (VII) which results in the following new constraint: 214.33/145.97 214.33/145.97 (11) (new_pr2F0G10(x302, x303, Succ(Zero), Zero, x305)_>=_new_pr2F0G(x302, new_sr3(x303, x305), Neg(new_primDivNatS1(Succ(Succ(Zero)), Succ(Zero))), x305)) 214.33/145.97 214.33/145.97 214.33/145.97 214.33/145.97 214.33/145.97 214.33/145.97 214.33/145.97 214.33/145.97 214.33/145.97 For Pair new_pr2F0G(vyv188, vyv184, Neg(Succ(Zero)), h) -> new_pr2F0G11(vyv188, vyv184, Zero, h) the following chains were created: 214.33/145.97 *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: 214.33/145.97 214.33/145.97 (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)) 214.33/145.97 214.33/145.97 214.33/145.97 214.33/145.97 We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: 214.33/145.97 214.33/145.97 (2) (new_pr2F0G(x322, x323, Neg(Succ(Zero)), x324)_>=_new_pr2F0G11(x322, x323, Zero, x324)) 214.33/145.97 214.33/145.97 214.33/145.97 214.33/145.97 214.33/145.97 214.33/145.97 214.33/145.97 214.33/145.97 214.33/145.97 For Pair new_pr2F0G(vyv188, vyv184, Neg(Succ(Succ(vyv223000))), h) -> new_pr2F0G10(vyv188, vyv184, Succ(vyv223000), vyv223000, h) the following chains were created: 214.33/145.97 *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: 214.33/145.97 214.33/145.97 (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)) 214.33/145.97 214.33/145.97 214.33/145.97 214.33/145.97 We simplified constraint (1) using rules (I), (II), (III), (IV) which results in the following new constraint: 214.33/145.97 214.33/145.97 (2) (new_pr2F0G(x349, x350, Neg(Succ(Succ(Succ(Succ(x356))))), x352)_>=_new_pr2F0G10(x349, x350, Succ(Succ(Succ(x356))), Succ(Succ(x356)), x352)) 214.33/145.97 214.33/145.97 214.33/145.97 214.33/145.97 214.33/145.97 *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: 214.33/145.97 214.33/145.97 (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)) 214.33/145.97 214.33/145.97 214.33/145.97 214.33/145.97 We simplified constraint (1) using rules (I), (II), (III), (IV) which results in the following new constraint: 214.33/145.97 214.33/145.97 (2) (new_pr2F0G(x358, x359, Neg(Succ(Succ(Succ(Zero)))), x361)_>=_new_pr2F0G10(x358, x359, Succ(Succ(Zero)), Succ(Zero), x361)) 214.33/145.97 214.33/145.97 214.33/145.97 214.33/145.97 214.33/145.97 *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: 214.33/145.97 214.33/145.97 (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)) 214.33/145.97 214.33/145.97 214.33/145.97 214.33/145.97 We simplified constraint (1) using rules (I), (II), (III), (IV) which results in the following new constraint: 214.33/145.97 214.33/145.97 (2) (new_pr2F0G(x374, x375, Neg(Succ(Succ(Zero))), x377)_>=_new_pr2F0G10(x374, x375, Succ(Zero), Zero, x377)) 214.33/145.97 214.33/145.97 214.33/145.97 214.33/145.97 214.33/145.97 214.33/145.97 214.33/145.97 214.33/145.97 214.33/145.97 To summarize, we get the following constraints P__>=_ for the following pairs. 214.33/145.97 214.33/145.97 *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) 214.33/145.97 214.33/145.97 *(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)) 214.33/145.97 214.33/145.97 214.33/145.97 214.33/145.97 214.33/145.97 *new_pr2F0(vyv184, Neg(Succ(Succ(vyv223000))), vyv188, h) -> new_pr2F0G10(vyv188, vyv184, Succ(vyv223000), vyv223000, h) 214.33/145.97 214.33/145.97 *(new_pr2F0(x48, Neg(Succ(Succ(Succ(Succ(x55))))), x50, x51)_>=_new_pr2F0G10(x50, x48, Succ(Succ(Succ(x55))), Succ(Succ(x55)), x51)) 214.33/145.97 214.33/145.97 214.33/145.97 *(new_pr2F0(x57, Neg(Succ(Succ(Succ(Zero)))), x59, x60)_>=_new_pr2F0G10(x59, x57, Succ(Succ(Zero)), Succ(Zero), x60)) 214.33/145.97 214.33/145.97 214.33/145.97 *(new_pr2F0(x73, Neg(Succ(Succ(Zero))), x75, x76)_>=_new_pr2F0G10(x75, x73, Succ(Zero), Zero, x76)) 214.33/145.97 214.33/145.97 214.33/145.97 214.33/145.97 214.33/145.97 *new_pr2F0G10(vyv249, vyv250, vyv251, Succ(Succ(vyv25200)), bb) -> new_pr2F0G10(vyv249, vyv250, vyv251, vyv25200, bb) 214.33/145.97 214.33/145.97 *(new_pr2F0G10(x99, x100, x101, Succ(Succ(Succ(Succ(x107)))), x103)_>=_new_pr2F0G10(x99, x100, x101, Succ(Succ(x107)), x103)) 214.33/145.97 214.33/145.97 214.33/145.97 *(new_pr2F0G10(x109, x110, x111, Succ(Succ(Succ(Zero))), x113)_>=_new_pr2F0G10(x109, x110, x111, Succ(Zero), x113)) 214.33/145.97 214.33/145.97 214.33/145.97 *(new_pr2F0G10(x128, x129, x130, Succ(Succ(Zero)), x132)_>=_new_pr2F0G10(x128, x129, x130, Zero, x132)) 214.33/145.97 214.33/145.97 214.33/145.97 214.33/145.97 214.33/145.97 *new_pr2F0G10(vyv249, vyv250, vyv251, Succ(Zero), bb) -> new_pr2F0G11(vyv249, vyv250, vyv251, bb) 214.33/145.97 214.33/145.97 *(new_pr2F0G10(x163, x164, x165, Succ(Zero), x166)_>=_new_pr2F0G11(x163, x164, x165, x166)) 214.33/145.97 214.33/145.97 214.33/145.97 214.33/145.97 214.33/145.97 *new_pr2F0G11(vyv239, vyv240, vyv241, bc) -> new_pr2F1(vyv240, vyv241, Pos(Succ(Zero)), vyv239, bc) 214.33/145.97 214.33/145.97 *(new_pr2F0G11(x207, x208, x209, x210)_>=_new_pr2F1(x208, x209, Pos(Succ(Zero)), x207, x210)) 214.33/145.97 214.33/145.97 214.33/145.97 214.33/145.97 214.33/145.97 *new_pr2F1(z1, z2, Pos(Succ(Zero)), z0, z3) -> new_pr2F30(False, z1, z2, Pos(Succ(Zero)), z0, z3) 214.33/145.97 214.33/145.97 *(new_pr2F1(x227, x228, Pos(Succ(Zero)), x229, x230)_>=_new_pr2F30(False, x227, x228, Pos(Succ(Zero)), x229, x230)) 214.33/145.97 214.33/145.97 214.33/145.97 214.33/145.97 214.33/145.97 *new_pr2F0G10(vyv249, vyv250, vyv251, Zero, bb) -> new_pr2F0G(vyv249, new_sr3(vyv250, bb), Neg(new_primDivNatS1(Succ(vyv251), Succ(Zero))), bb) 214.33/145.97 214.33/145.97 *(new_pr2F0G10(x295, x296, Succ(Succ(x399)), Zero, x298)_>=_new_pr2F0G(x295, new_sr3(x296, x298), Neg(new_primDivNatS1(Succ(Succ(Succ(x399))), Succ(Zero))), x298)) 214.33/145.97 214.33/145.97 214.33/145.97 *(new_pr2F0G10(x295, x296, Succ(Zero), Zero, x298)_>=_new_pr2F0G(x295, new_sr3(x296, x298), Neg(new_primDivNatS1(Succ(Succ(Zero)), Succ(Zero))), x298)) 214.33/145.97 214.33/145.97 214.33/145.97 *(new_pr2F0G10(x302, x303, Succ(Succ(x427)), Zero, x305)_>=_new_pr2F0G(x302, new_sr3(x303, x305), Neg(new_primDivNatS1(Succ(Succ(Succ(x427))), Succ(Zero))), x305)) 214.33/145.97 214.33/145.97 214.33/145.97 *(new_pr2F0G10(x302, x303, Succ(Zero), Zero, x305)_>=_new_pr2F0G(x302, new_sr3(x303, x305), Neg(new_primDivNatS1(Succ(Succ(Zero)), Succ(Zero))), x305)) 214.33/145.97 214.33/145.97 214.33/145.97 214.33/145.97 214.33/145.97 *new_pr2F0G(vyv188, vyv184, Neg(Succ(Zero)), h) -> new_pr2F0G11(vyv188, vyv184, Zero, h) 214.33/145.97 214.33/145.97 *(new_pr2F0G(x322, x323, Neg(Succ(Zero)), x324)_>=_new_pr2F0G11(x322, x323, Zero, x324)) 214.33/145.97 214.33/145.97 214.33/145.97 214.33/145.97 214.33/145.97 *new_pr2F0G(vyv188, vyv184, Neg(Succ(Succ(vyv223000))), h) -> new_pr2F0G10(vyv188, vyv184, Succ(vyv223000), vyv223000, h) 214.33/145.97 214.33/145.97 *(new_pr2F0G(x349, x350, Neg(Succ(Succ(Succ(Succ(x356))))), x352)_>=_new_pr2F0G10(x349, x350, Succ(Succ(Succ(x356))), Succ(Succ(x356)), x352)) 214.33/145.97 214.33/145.97 214.33/145.97 *(new_pr2F0G(x358, x359, Neg(Succ(Succ(Succ(Zero)))), x361)_>=_new_pr2F0G10(x358, x359, Succ(Succ(Zero)), Succ(Zero), x361)) 214.33/145.97 214.33/145.97 214.33/145.97 *(new_pr2F0G(x374, x375, Neg(Succ(Succ(Zero))), x377)_>=_new_pr2F0G10(x374, x375, Succ(Zero), Zero, x377)) 214.33/145.97 214.33/145.97 214.33/145.97 214.33/145.97 214.33/145.97 214.33/145.97 214.33/145.97 214.33/145.97 214.33/145.97 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. 214.33/145.97 ---------------------------------------- 214.33/145.97 214.33/145.97 (798) 214.33/145.97 Obligation: 214.33/145.97 Q DP problem: 214.33/145.97 The TRS P consists of the following rules: 214.33/145.97 214.33/145.97 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) 214.33/145.97 new_pr2F0(vyv184, Neg(Succ(Succ(vyv223000))), vyv188, h) -> new_pr2F0G10(vyv188, vyv184, Succ(vyv223000), vyv223000, h) 214.33/145.97 new_pr2F0G10(vyv249, vyv250, vyv251, Succ(Succ(vyv25200)), bb) -> new_pr2F0G10(vyv249, vyv250, vyv251, vyv25200, bb) 214.33/145.97 new_pr2F0G10(vyv249, vyv250, vyv251, Succ(Zero), bb) -> new_pr2F0G11(vyv249, vyv250, vyv251, bb) 214.33/145.97 new_pr2F0G11(vyv239, vyv240, vyv241, bc) -> new_pr2F1(vyv240, vyv241, Pos(Succ(Zero)), vyv239, bc) 214.33/145.97 new_pr2F1(z1, z2, Pos(Succ(Zero)), z0, z3) -> new_pr2F30(False, z1, z2, Pos(Succ(Zero)), z0, z3) 214.33/145.97 new_pr2F0G10(vyv249, vyv250, vyv251, Zero, bb) -> new_pr2F0G(vyv249, new_sr3(vyv250, bb), Neg(new_primDivNatS1(Succ(vyv251), Succ(Zero))), bb) 214.33/145.97 new_pr2F0G(vyv188, vyv184, Neg(Succ(Zero)), h) -> new_pr2F0G11(vyv188, vyv184, Zero, h) 214.33/145.97 new_pr2F0G(vyv188, vyv184, Neg(Succ(Succ(vyv223000))), h) -> new_pr2F0G10(vyv188, vyv184, Succ(vyv223000), vyv223000, h) 214.33/145.97 214.33/145.97 The TRS R consists of the following rules: 214.33/145.97 214.33/145.97 new_sr3(vyv250, ty_Double) -> new_sr11(vyv250) 214.33/145.97 new_sr3(vyv250, ty_Int) -> new_sr7(vyv250) 214.33/145.97 new_sr3(vyv250, ty_Float) -> new_sr12(vyv250) 214.33/145.97 new_sr3(vyv250, ty_Integer) -> new_sr6(vyv250) 214.33/145.97 new_sr3(vyv250, app(ty_Ratio, bf)) -> new_sr5(vyv250, bf) 214.33/145.97 new_primDivNatS1(Succ(Zero), Succ(vyv285000)) -> Zero 214.33/145.97 new_primDivNatS1(Succ(Succ(vyv271000)), Succ(vyv285000)) -> new_primDivNatS01(vyv271000, vyv285000, vyv271000, vyv285000) 214.33/145.97 new_primDivNatS01(vyv311, vyv312, Succ(vyv3130), Zero) -> new_primDivNatS02(vyv311, vyv312) 214.33/145.97 new_primDivNatS01(vyv311, vyv312, Zero, Succ(vyv3140)) -> Zero 214.33/145.97 new_primDivNatS01(vyv311, vyv312, Succ(vyv3130), Succ(vyv3140)) -> new_primDivNatS01(vyv311, vyv312, vyv3130, vyv3140) 214.33/145.97 new_primDivNatS01(vyv311, vyv312, Zero, Zero) -> new_primDivNatS02(vyv311, vyv312) 214.33/145.97 new_primDivNatS02(vyv311, vyv312) -> Succ(new_primDivNatS1(new_primMinusNatS2(vyv311, vyv312), Succ(vyv312))) 214.33/145.97 new_primMinusNatS2(Zero, Succ(vyv3120)) -> Zero 214.33/145.97 new_primMinusNatS2(Succ(vyv3110), Zero) -> Succ(vyv3110) 214.33/145.97 new_primMinusNatS2(Zero, Zero) -> Zero 214.33/145.97 new_primMinusNatS2(Succ(vyv3110), Succ(vyv3120)) -> new_primMinusNatS2(vyv3110, vyv3120) 214.33/145.97 new_primDivNatS1(Zero, vyv28500) -> Zero 214.33/145.97 new_sr5(:%(vyv1840, vyv1841), bd) -> new_reduce2Reduce1(vyv1840, vyv1840, vyv1841, vyv1841, new_esEs0(vyv1841, bd), bd) 214.33/145.97 new_esEs0(vyv1841, ty_Int) -> new_esEs(new_sr7(vyv1841)) 214.33/145.97 new_esEs0(vyv1841, ty_Integer) -> new_esEs1(new_sr6(vyv1841)) 214.33/145.97 new_reduce2Reduce1(vyv265, vyv266, vyv267, vyv268, False, bh) -> :%(new_quot0(vyv265, vyv266, vyv267, vyv268, bh), new_quot1(vyv267, vyv268, vyv265, vyv266, bh)) 214.33/145.97 new_reduce2Reduce1(vyv265, vyv266, vyv267, vyv268, True, bh) -> error([]) 214.33/145.97 new_quot0(vyv265, vyv266, vyv267, vyv268, ty_Integer) -> new_quot2(new_sr9(vyv265, vyv266), new_sr9(vyv265, vyv266), new_sr9(vyv267, vyv268)) 214.33/145.97 new_quot0(vyv265, vyv266, vyv267, vyv268, ty_Int) -> new_quot(new_sr10(vyv265, vyv266), new_sr10(vyv265, vyv266), new_sr10(vyv267, vyv268)) 214.33/145.97 new_quot1(vyv267, vyv268, vyv265, vyv266, ty_Int) -> new_quot(new_sr10(vyv267, vyv268), new_sr10(vyv265, vyv266), new_sr10(vyv267, vyv268)) 214.33/145.97 new_quot1(vyv267, vyv268, vyv265, vyv266, ty_Integer) -> new_quot2(new_sr9(vyv267, vyv268), new_sr9(vyv265, vyv266), new_sr9(vyv267, vyv268)) 214.33/145.97 new_sr9(vyv240, vyv239) -> error([]) 214.33/145.97 new_quot2(vyv274, vyv276, vyv275) -> error([]) 214.33/145.97 new_sr10(Pos(vyv2400), Pos(vyv2390)) -> Pos(new_primMulNat0(vyv2400, vyv2390)) 214.33/145.97 new_sr10(Neg(vyv2400), Neg(vyv2390)) -> Pos(new_primMulNat0(vyv2400, vyv2390)) 214.33/145.97 new_sr10(Pos(vyv2400), Neg(vyv2390)) -> Neg(new_primMulNat0(vyv2400, vyv2390)) 214.33/145.97 new_sr10(Neg(vyv2400), Pos(vyv2390)) -> Neg(new_primMulNat0(vyv2400, vyv2390)) 214.33/145.97 new_quot(Pos(vyv2710), vyv273, vyv272) -> new_primQuotInt(vyv2710, new_gcd(vyv273, vyv272)) 214.33/145.97 new_quot(Neg(vyv2710), vyv273, vyv272) -> new_primQuotInt0(vyv2710, new_gcd(vyv273, vyv272)) 214.33/145.97 new_gcd(vyv273, vyv272) -> new_gcd2(new_esEs(vyv273), vyv273, vyv272) 214.33/145.97 new_primQuotInt0(vyv2710, Pos(Succ(vyv28800))) -> Neg(new_primDivNatS1(vyv2710, vyv28800)) 214.33/145.97 new_primQuotInt0(vyv2710, Neg(Zero)) -> new_error 214.33/145.97 new_primQuotInt0(vyv2710, Neg(Succ(vyv28800))) -> Pos(new_primDivNatS1(vyv2710, vyv28800)) 214.33/145.97 new_primQuotInt0(vyv2710, Pos(Zero)) -> new_error 214.33/145.97 new_error -> error([]) 214.33/145.97 new_primDivNatS1(Succ(Succ(vyv271000)), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS0(vyv271000), Zero)) 214.33/145.97 new_primDivNatS1(Succ(Zero), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS1, Zero)) 214.33/145.97 new_primMinusNatS1 -> Zero 214.33/145.97 new_primMinusNatS0(vyv271000) -> Succ(vyv271000) 214.33/145.97 new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) 214.33/145.97 new_esEs(Pos(Succ(vyv24300))) -> new_primEqInt(Pos(Succ(vyv24300))) 214.33/145.97 new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) 214.33/145.97 new_esEs(Neg(Succ(vyv24300))) -> new_primEqInt(Neg(Succ(vyv24300))) 214.33/145.97 new_gcd2(True, vyv273, vyv272) -> new_gcd1(new_esEs(vyv272), vyv273, vyv272) 214.33/145.97 new_gcd2(False, vyv273, vyv272) -> new_gcd0(vyv273, vyv272) 214.33/145.97 new_gcd0(vyv273, vyv272) -> new_gcd0Gcd'11(new_esEs(new_abs(vyv272)), vyv273, vyv272) 214.33/145.97 new_abs(Neg(Zero)) -> Neg(Zero) 214.33/145.97 new_abs(Neg(Succ(vyv27200))) -> Pos(Succ(vyv27200)) 214.33/145.97 new_abs(Pos(Succ(vyv27200))) -> Pos(Succ(vyv27200)) 214.33/145.97 new_abs(Pos(Zero)) -> Pos(Zero) 214.33/145.97 new_gcd0Gcd'11(True, vyv273, vyv272) -> new_abs(vyv273) 214.33/145.97 new_gcd0Gcd'11(False, vyv273, vyv272) -> new_gcd0Gcd'00(new_abs(vyv273), new_abs(vyv272)) 214.33/145.97 new_gcd0Gcd'10(False, vyv292, vyv293) -> new_gcd0Gcd'00(vyv292, new_rem(vyv293, vyv292)) 214.33/145.97 new_gcd0Gcd'00(vyv293, vyv292) -> new_gcd0Gcd'10(new_esEs(new_rem(vyv293, vyv292)), vyv292, vyv293) 214.33/145.97 new_rem(Pos(vyv2930), Neg(Zero)) -> new_error 214.33/145.97 new_rem(Neg(vyv2930), Pos(Zero)) -> new_error 214.33/145.97 new_rem(Pos(vyv2930), Neg(Succ(vyv29200))) -> Pos(new_primModNatS1(vyv2930, vyv29200)) 214.33/145.97 new_rem(Neg(vyv2930), Pos(Succ(vyv29200))) -> Neg(new_primModNatS1(vyv2930, vyv29200)) 214.33/145.97 new_rem(Pos(vyv2930), Pos(Succ(vyv29200))) -> Pos(new_primModNatS1(vyv2930, vyv29200)) 214.33/145.97 new_rem(Neg(vyv2930), Neg(Zero)) -> new_error 214.33/145.97 new_rem(Neg(vyv2930), Neg(Succ(vyv29200))) -> Neg(new_primModNatS1(vyv2930, vyv29200)) 214.33/145.97 new_rem(Pos(vyv2930), Pos(Zero)) -> new_error 214.33/145.97 new_gcd0Gcd'10(True, vyv292, vyv293) -> vyv292 214.33/145.97 new_primModNatS1(Succ(Zero), Succ(vyv292000)) -> Succ(Zero) 214.33/145.97 new_primModNatS1(Zero, vyv29200) -> Zero 214.33/145.97 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 214.33/145.97 new_primModNatS1(Succ(Succ(vyv293000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv293000), Zero) 214.33/145.97 new_primModNatS1(Succ(Succ(vyv293000)), Succ(vyv292000)) -> new_primModNatS01(vyv293000, vyv292000, vyv293000, vyv292000) 214.33/145.97 new_primModNatS01(vyv331, vyv332, Zero, Zero) -> new_primModNatS02(vyv331, vyv332) 214.33/145.97 new_primModNatS02(vyv331, vyv332) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv331), Succ(vyv332)), Succ(vyv332)) 214.33/145.97 new_primModNatS01(vyv331, vyv332, Succ(vyv3330), Zero) -> new_primModNatS02(vyv331, vyv332) 214.33/145.97 new_primModNatS01(vyv331, vyv332, Succ(vyv3330), Succ(vyv3340)) -> new_primModNatS01(vyv331, vyv332, vyv3330, vyv3340) 214.33/145.97 new_primModNatS01(vyv331, vyv332, Zero, Succ(vyv3340)) -> Succ(Succ(vyv331)) 214.33/145.97 new_gcd1(True, vyv273, vyv272) -> new_error 214.33/145.97 new_gcd1(False, vyv273, vyv272) -> new_gcd0(vyv273, vyv272) 214.33/145.97 new_primEqInt(Neg(Succ(vyv242000))) -> False 214.33/145.97 new_primEqInt(Pos(Zero)) -> True 214.33/145.97 new_primEqInt(Pos(Succ(vyv242000))) -> False 214.33/145.97 new_primEqInt(Neg(Zero)) -> True 214.33/145.97 new_primQuotInt(vyv2710, Pos(Succ(vyv28500))) -> Pos(new_primDivNatS1(vyv2710, vyv28500)) 214.33/145.97 new_primQuotInt(vyv2710, Neg(Zero)) -> new_error 214.33/145.97 new_primQuotInt(vyv2710, Pos(Zero)) -> new_error 214.33/145.97 new_primQuotInt(vyv2710, Neg(Succ(vyv28500))) -> Neg(new_primDivNatS1(vyv2710, vyv28500)) 214.33/145.97 new_primMulNat0(Zero, Succ(vyv23900)) -> Zero 214.33/145.97 new_primMulNat0(Succ(vyv24000), Succ(vyv23900)) -> new_primPlusNat0(new_primMulNat0(vyv24000, Succ(vyv23900)), Succ(vyv23900)) 214.33/145.97 new_primMulNat0(Succ(vyv24000), Zero) -> Zero 214.33/145.97 new_primMulNat0(Zero, Zero) -> Zero 214.33/145.97 new_primPlusNat0(Succ(vyv4000), Succ(vyv6000)) -> Succ(Succ(new_primPlusNat0(vyv4000, vyv6000))) 214.33/145.97 new_primPlusNat0(Zero, Succ(vyv6000)) -> Succ(vyv6000) 214.33/145.97 new_primPlusNat0(Zero, Zero) -> Zero 214.33/145.97 new_primPlusNat0(Succ(vyv4000), Zero) -> Succ(vyv4000) 214.33/145.97 new_sr6(vyv184) -> error([]) 214.33/145.97 new_esEs1(Integer(vyv2700)) -> new_primEqInt(vyv2700) 214.33/145.97 new_sr7(Pos(vyv1840)) -> Pos(new_primMulNat1(vyv1840)) 214.33/145.97 new_sr7(Neg(vyv1840)) -> Pos(new_primMulNat1(vyv1840)) 214.33/145.97 new_primMulNat1(Succ(vyv18400)) -> new_primPlusNat0(new_primMulNat2(vyv18400), Succ(vyv18400)) 214.33/145.97 new_primMulNat1(Zero) -> Zero 214.33/145.97 new_primMulNat2(Succ(vyv184000)) -> new_primPlusNat0(new_primMulNat3(vyv184000), Succ(Succ(vyv184000))) 214.33/145.97 new_primMulNat2(Zero) -> Zero 214.33/145.97 new_primMulNat3(Succ(vyv1840000)) -> new_primPlusNat0(new_primMulNat4(vyv1840000), Succ(Succ(Succ(vyv1840000)))) 214.33/145.97 new_primMulNat3(Zero) -> Zero 214.33/145.97 new_primMulNat4(Succ(vyv18400000)) -> new_primPlusNat0(new_primMulNat0(vyv18400000, Succ(Succ(Succ(Succ(vyv18400000))))), Succ(Succ(Succ(Succ(vyv18400000))))) 214.33/145.97 new_primMulNat4(Zero) -> Zero 214.33/145.97 new_sr12(vyv184) -> error([]) 214.33/145.97 new_sr11(vyv184) -> error([]) 214.33/145.97 new_sr4(vyv240, vyv239, app(ty_Ratio, be)) -> new_sr8(vyv240, vyv239, be) 214.33/145.97 new_sr4(vyv240, vyv239, ty_Float) -> new_sr14(vyv240, vyv239) 214.33/145.97 new_sr4(vyv240, vyv239, ty_Int) -> new_sr10(vyv240, vyv239) 214.33/145.97 new_sr4(vyv240, vyv239, ty_Double) -> new_sr13(vyv240, vyv239) 214.33/145.97 new_sr4(vyv240, vyv239, ty_Integer) -> new_sr9(vyv240, vyv239) 214.33/145.97 new_sr13(vyv240, vyv239) -> error([]) 214.33/145.97 new_sr14(vyv240, vyv239) -> error([]) 214.33/145.97 new_sr8(:%(vyv2400, vyv2401), :%(vyv2390, vyv2391), be) -> new_reduce2Reduce1(vyv2400, vyv2390, vyv2401, vyv2391, new_esEs2(vyv2401, vyv2391, be), be) 214.33/145.97 new_esEs2(vyv2401, vyv2391, ty_Integer) -> new_esEs1(new_sr9(vyv2401, vyv2391)) 214.33/145.97 new_esEs2(vyv2401, vyv2391, ty_Int) -> new_esEs(new_sr10(vyv2401, vyv2391)) 214.33/145.97 214.33/145.97 The set Q consists of the following terms: 214.33/145.97 214.33/145.97 new_sr13(x0, x1) 214.33/145.97 new_primDivNatS01(x0, x1, Zero, Zero) 214.33/145.97 new_gcd0Gcd'11(False, x0, x1) 214.33/145.97 new_primMulNat4(Zero) 214.33/145.97 new_gcd0Gcd'11(True, x0, x1) 214.33/145.97 new_sr5(:%(x0, x1), x2) 214.33/145.97 new_primEqInt(Pos(Zero)) 214.33/145.97 new_esEs(Pos(Succ(x0))) 214.33/145.97 new_primQuotInt0(x0, Neg(Zero)) 214.33/145.97 new_primMulNat3(Zero) 214.33/145.97 new_primModNatS02(x0, x1) 214.33/145.97 new_primDivNatS1(Succ(Zero), Zero) 214.33/145.97 new_primMinusNatS0(x0) 214.33/145.97 new_sr11(x0) 214.33/145.97 new_rem(Pos(x0), Neg(Succ(x1))) 214.33/145.97 new_rem(Neg(x0), Pos(Succ(x1))) 214.33/145.97 new_primMulNat0(Zero, Zero) 214.33/145.97 new_primPlusNat0(Succ(x0), Zero) 214.33/145.97 new_primMulNat0(Succ(x0), Zero) 214.33/145.97 new_sr3(x0, ty_Float) 214.33/145.97 new_primMulNat2(Zero) 214.33/145.97 new_primQuotInt(x0, Pos(Zero)) 214.33/145.97 new_primMulNat2(Succ(x0)) 214.33/145.97 new_primQuotInt(x0, Neg(Zero)) 214.33/145.97 new_rem(Neg(x0), Neg(Succ(x1))) 214.33/145.97 new_primMinusNatS2(Zero, Succ(x0)) 214.33/145.97 new_sr4(x0, x1, ty_Double) 214.33/145.97 new_primMulNat3(Succ(x0)) 214.33/145.97 new_esEs1(Integer(x0)) 214.33/145.97 new_primQuotInt0(x0, Pos(Zero)) 214.33/145.97 new_gcd2(True, x0, x1) 214.33/145.97 new_quot1(x0, x1, x2, x3, ty_Int) 214.33/145.97 new_primDivNatS1(Zero, x0) 214.33/145.97 new_gcd(x0, x1) 214.33/145.97 new_gcd1(False, x0, x1) 214.33/145.97 new_esEs2(x0, x1, ty_Int) 214.33/145.97 new_sr3(x0, ty_Integer) 214.33/145.97 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 214.33/145.97 new_primPlusNat0(Zero, Succ(x0)) 214.33/145.97 new_sr8(:%(x0, x1), :%(x2, x3), x4) 214.33/145.97 new_abs(Neg(Zero)) 214.33/145.97 new_primMinusNatS2(Succ(x0), Zero) 214.33/145.97 new_error 214.33/145.97 new_primModNatS1(Succ(Zero), Zero) 214.33/145.97 new_primMulNat4(Succ(x0)) 214.33/145.97 new_primDivNatS02(x0, x1) 214.33/145.97 new_rem(Neg(x0), Neg(Zero)) 214.33/145.97 new_primEqInt(Neg(Zero)) 214.33/145.97 new_rem(Pos(x0), Pos(Succ(x1))) 214.33/145.97 new_abs(Pos(Succ(x0))) 214.33/145.97 new_primMulNat0(Succ(x0), Succ(x1)) 214.33/145.97 new_primMulNat0(Zero, Succ(x0)) 214.33/145.97 new_reduce2Reduce1(x0, x1, x2, x3, True, x4) 214.33/145.97 new_gcd0Gcd'10(False, x0, x1) 214.33/145.97 new_sr12(x0) 214.33/145.97 new_primDivNatS01(x0, x1, Zero, Succ(x2)) 214.33/145.97 new_sr10(Pos(x0), Pos(x1)) 214.33/145.97 new_primModNatS01(x0, x1, Zero, Succ(x2)) 214.33/145.97 new_primPlusNat0(Zero, Zero) 214.33/145.97 new_primQuotInt0(x0, Pos(Succ(x1))) 214.33/145.97 new_primModNatS01(x0, x1, Succ(x2), Zero) 214.33/145.97 new_primModNatS1(Succ(Succ(x0)), Zero) 214.33/145.97 new_sr4(x0, x1, ty_Integer) 214.33/145.97 new_rem(Pos(x0), Pos(Zero)) 214.33/145.97 new_sr4(x0, x1, ty_Int) 214.33/145.97 new_quot(Pos(x0), x1, x2) 214.33/145.97 new_primMinusNatS2(Zero, Zero) 214.33/145.97 new_esEs0(x0, ty_Int) 214.33/145.97 new_esEs(Pos(Zero)) 214.33/145.97 new_quot(Neg(x0), x1, x2) 214.33/145.97 new_primDivNatS01(x0, x1, Succ(x2), Succ(x3)) 214.33/145.97 new_quot2(x0, x1, x2) 214.33/145.97 new_primEqInt(Neg(Succ(x0))) 214.33/145.97 new_sr10(Neg(x0), Neg(x1)) 214.33/145.97 new_sr3(x0, app(ty_Ratio, x1)) 214.33/145.97 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 214.33/145.97 new_sr9(x0, x1) 214.33/145.97 new_sr7(Neg(x0)) 214.33/145.97 new_primQuotInt0(x0, Neg(Succ(x1))) 214.33/145.97 new_rem(Pos(x0), Neg(Zero)) 214.33/145.97 new_rem(Neg(x0), Pos(Zero)) 214.33/145.97 new_gcd0Gcd'00(x0, x1) 214.33/145.97 new_primQuotInt(x0, Neg(Succ(x1))) 214.33/145.97 new_primMinusNatS2(Succ(x0), Succ(x1)) 214.33/145.97 new_abs(Pos(Zero)) 214.33/145.97 new_quot0(x0, x1, x2, x3, ty_Integer) 214.33/145.97 new_sr6(x0) 214.33/145.97 new_gcd2(False, x0, x1) 214.33/145.97 new_gcd1(True, x0, x1) 214.33/145.97 new_esEs2(x0, x1, ty_Integer) 214.33/145.97 new_primMinusNatS1 214.33/145.97 new_sr7(Pos(x0)) 214.33/145.97 new_gcd0Gcd'10(True, x0, x1) 214.33/145.97 new_primModNatS1(Zero, x0) 214.33/145.97 new_sr4(x0, x1, ty_Float) 214.33/145.97 new_sr10(Pos(x0), Neg(x1)) 214.33/145.97 new_sr10(Neg(x0), Pos(x1)) 214.33/145.97 new_primDivNatS01(x0, x1, Succ(x2), Zero) 214.33/145.97 new_primDivNatS1(Succ(Succ(x0)), Succ(x1)) 214.33/145.97 new_primPlusNat0(Succ(x0), Succ(x1)) 214.33/145.97 new_primDivNatS1(Succ(Zero), Succ(x0)) 214.33/145.97 new_primQuotInt(x0, Pos(Succ(x1))) 214.33/145.97 new_abs(Neg(Succ(x0))) 214.33/145.97 new_esEs0(x0, ty_Integer) 214.33/145.97 new_sr3(x0, ty_Int) 214.33/145.97 new_esEs(Neg(Succ(x0))) 214.33/145.97 new_primModNatS01(x0, x1, Zero, Zero) 214.33/145.97 new_sr4(x0, x1, app(ty_Ratio, x2)) 214.33/145.97 new_gcd0(x0, x1) 214.33/145.97 new_primEqInt(Pos(Succ(x0))) 214.33/145.97 new_sr3(x0, ty_Double) 214.33/145.97 new_quot1(x0, x1, x2, x3, ty_Integer) 214.33/145.97 new_primDivNatS1(Succ(Succ(x0)), Zero) 214.33/145.97 new_primMulNat1(Succ(x0)) 214.33/145.97 new_sr14(x0, x1) 214.33/145.97 new_quot0(x0, x1, x2, x3, ty_Int) 214.33/145.97 new_primModNatS1(Succ(Zero), Succ(x0)) 214.33/145.97 new_reduce2Reduce1(x0, x1, x2, x3, False, x4) 214.33/145.97 new_esEs(Neg(Zero)) 214.33/145.97 new_primMulNat1(Zero) 214.33/145.97 214.33/145.97 We have to consider all minimal (P,Q,R)-chains. 214.33/145.97 ---------------------------------------- 214.33/145.97 214.33/145.97 (799) QDPPairToRuleProof (EQUIVALENT) 214.33/145.97 The dependency pair new_pr2F0G10(vyv249, vyv250, vyv251, Succ(Succ(vyv25200)), bb) -> new_pr2F0G10(vyv249, vyv250, vyv251, vyv25200, bb) was transformed to the following new rules: 214.33/145.97 anew_new_pr2F0G10(Succ(Succ(vyv25200))) -> new_new_pr2F0G10(vyv25200) 214.33/145.97 new_new_pr2F0G10(Succ(Succ(vyv25200))) -> new_new_pr2F0G10(vyv25200) 214.33/145.97 new_new_pr2F0G10(Succ(Zero)) -> cons_new_pr2F0G10(Succ(Zero)) 214.33/145.97 new_new_pr2F0G10(Zero) -> cons_new_pr2F0G10(Zero) 214.33/145.97 214.33/145.97 the following new pairs maintain the fan-in: 214.33/145.97 new_pr2F0(vyv184, Neg(Succ(Succ(vyv223000))), vyv188, h) -> H(vyv188, vyv184, Succ(vyv223000), h, anew_new_pr2F0G10(vyv223000)) 214.33/145.97 new_pr2F0G(vyv188, vyv184, Neg(Succ(Succ(vyv223000))), h) -> H(vyv188, vyv184, Succ(vyv223000), h, anew_new_pr2F0G10(vyv223000)) 214.33/145.97 214.33/145.97 the following new pairs maintain the fan-out: 214.33/145.97 H(vyv249, vyv250, vyv251, bb, cons_new_pr2F0G10(Succ(Zero))) -> new_pr2F0G10(vyv249, vyv250, vyv251, Succ(Zero), bb) 214.33/145.97 H(vyv249, vyv250, vyv251, bb, cons_new_pr2F0G10(Zero)) -> new_pr2F0G10(vyv249, vyv250, vyv251, Zero, bb) 214.33/145.97 214.33/145.97 ---------------------------------------- 214.33/145.97 214.33/145.97 (800) 214.33/145.97 Complex Obligation (AND) 214.33/145.97 214.33/145.97 ---------------------------------------- 214.33/145.97 214.33/145.97 (801) 214.33/145.97 Obligation: 214.33/145.97 Q DP problem: 214.33/145.97 The TRS P consists of the following rules: 214.33/145.97 214.33/145.97 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) 214.33/145.97 new_pr2F0(vyv184, Neg(Succ(Succ(vyv223000))), vyv188, h) -> new_pr2F0G10(vyv188, vyv184, Succ(vyv223000), vyv223000, h) 214.33/145.97 new_pr2F0G10(vyv249, vyv250, vyv251, Succ(Zero), bb) -> new_pr2F0G11(vyv249, vyv250, vyv251, bb) 214.33/145.97 new_pr2F0G11(vyv239, vyv240, vyv241, bc) -> new_pr2F1(vyv240, vyv241, Pos(Succ(Zero)), vyv239, bc) 214.33/145.97 new_pr2F1(z1, z2, Pos(Succ(Zero)), z0, z3) -> new_pr2F30(False, z1, z2, Pos(Succ(Zero)), z0, z3) 214.33/145.97 new_pr2F0G10(vyv249, vyv250, vyv251, Zero, bb) -> new_pr2F0G(vyv249, new_sr3(vyv250, bb), Neg(new_primDivNatS1(Succ(vyv251), Succ(Zero))), bb) 214.33/145.97 new_pr2F0G(vyv188, vyv184, Neg(Succ(Zero)), h) -> new_pr2F0G11(vyv188, vyv184, Zero, h) 214.33/145.97 new_pr2F0G(vyv188, vyv184, Neg(Succ(Succ(vyv223000))), h) -> new_pr2F0G10(vyv188, vyv184, Succ(vyv223000), vyv223000, h) 214.33/145.97 new_pr2F0(vyv184, Neg(Succ(Succ(vyv223000))), vyv188, h) -> H(vyv188, vyv184, Succ(vyv223000), h, anew_new_pr2F0G10(vyv223000)) 214.33/145.97 new_pr2F0G(vyv188, vyv184, Neg(Succ(Succ(vyv223000))), h) -> H(vyv188, vyv184, Succ(vyv223000), h, anew_new_pr2F0G10(vyv223000)) 214.33/145.97 H(vyv249, vyv250, vyv251, bb, cons_new_pr2F0G10(Succ(Zero))) -> new_pr2F0G10(vyv249, vyv250, vyv251, Succ(Zero), bb) 214.33/145.97 H(vyv249, vyv250, vyv251, bb, cons_new_pr2F0G10(Zero)) -> new_pr2F0G10(vyv249, vyv250, vyv251, Zero, bb) 214.33/145.97 214.33/145.97 The TRS R consists of the following rules: 214.33/145.97 214.33/145.97 new_sr3(vyv250, ty_Double) -> new_sr11(vyv250) 214.33/145.97 new_sr3(vyv250, ty_Int) -> new_sr7(vyv250) 214.33/145.97 new_sr3(vyv250, ty_Float) -> new_sr12(vyv250) 214.33/145.97 new_sr3(vyv250, ty_Integer) -> new_sr6(vyv250) 214.33/145.97 new_sr3(vyv250, app(ty_Ratio, bf)) -> new_sr5(vyv250, bf) 214.33/145.97 new_primDivNatS1(Succ(Zero), Succ(vyv285000)) -> Zero 214.33/145.97 new_primDivNatS1(Succ(Succ(vyv271000)), Succ(vyv285000)) -> new_primDivNatS01(vyv271000, vyv285000, vyv271000, vyv285000) 214.33/145.97 new_primDivNatS01(vyv311, vyv312, Succ(vyv3130), Zero) -> new_primDivNatS02(vyv311, vyv312) 214.33/145.97 new_primDivNatS01(vyv311, vyv312, Zero, Succ(vyv3140)) -> Zero 214.33/145.97 new_primDivNatS01(vyv311, vyv312, Succ(vyv3130), Succ(vyv3140)) -> new_primDivNatS01(vyv311, vyv312, vyv3130, vyv3140) 214.33/145.97 new_primDivNatS01(vyv311, vyv312, Zero, Zero) -> new_primDivNatS02(vyv311, vyv312) 214.33/145.97 new_primDivNatS02(vyv311, vyv312) -> Succ(new_primDivNatS1(new_primMinusNatS2(vyv311, vyv312), Succ(vyv312))) 214.33/145.97 new_primMinusNatS2(Zero, Succ(vyv3120)) -> Zero 214.33/145.97 new_primMinusNatS2(Succ(vyv3110), Zero) -> Succ(vyv3110) 214.33/145.97 new_primMinusNatS2(Zero, Zero) -> Zero 214.33/145.97 new_primMinusNatS2(Succ(vyv3110), Succ(vyv3120)) -> new_primMinusNatS2(vyv3110, vyv3120) 214.33/145.97 new_primDivNatS1(Zero, vyv28500) -> Zero 214.33/145.97 new_sr5(:%(vyv1840, vyv1841), bd) -> new_reduce2Reduce1(vyv1840, vyv1840, vyv1841, vyv1841, new_esEs0(vyv1841, bd), bd) 214.33/145.97 new_esEs0(vyv1841, ty_Int) -> new_esEs(new_sr7(vyv1841)) 214.33/145.97 new_esEs0(vyv1841, ty_Integer) -> new_esEs1(new_sr6(vyv1841)) 214.33/145.97 new_reduce2Reduce1(vyv265, vyv266, vyv267, vyv268, False, bh) -> :%(new_quot0(vyv265, vyv266, vyv267, vyv268, bh), new_quot1(vyv267, vyv268, vyv265, vyv266, bh)) 214.33/145.97 new_reduce2Reduce1(vyv265, vyv266, vyv267, vyv268, True, bh) -> error([]) 214.33/145.97 new_quot0(vyv265, vyv266, vyv267, vyv268, ty_Integer) -> new_quot2(new_sr9(vyv265, vyv266), new_sr9(vyv265, vyv266), new_sr9(vyv267, vyv268)) 214.33/145.97 new_quot0(vyv265, vyv266, vyv267, vyv268, ty_Int) -> new_quot(new_sr10(vyv265, vyv266), new_sr10(vyv265, vyv266), new_sr10(vyv267, vyv268)) 214.33/145.97 new_quot1(vyv267, vyv268, vyv265, vyv266, ty_Int) -> new_quot(new_sr10(vyv267, vyv268), new_sr10(vyv265, vyv266), new_sr10(vyv267, vyv268)) 214.33/145.97 new_quot1(vyv267, vyv268, vyv265, vyv266, ty_Integer) -> new_quot2(new_sr9(vyv267, vyv268), new_sr9(vyv265, vyv266), new_sr9(vyv267, vyv268)) 214.33/145.97 new_sr9(vyv240, vyv239) -> error([]) 214.33/145.97 new_quot2(vyv274, vyv276, vyv275) -> error([]) 214.33/145.97 new_sr10(Pos(vyv2400), Pos(vyv2390)) -> Pos(new_primMulNat0(vyv2400, vyv2390)) 214.33/145.97 new_sr10(Neg(vyv2400), Neg(vyv2390)) -> Pos(new_primMulNat0(vyv2400, vyv2390)) 214.33/145.97 new_sr10(Pos(vyv2400), Neg(vyv2390)) -> Neg(new_primMulNat0(vyv2400, vyv2390)) 214.33/145.97 new_sr10(Neg(vyv2400), Pos(vyv2390)) -> Neg(new_primMulNat0(vyv2400, vyv2390)) 214.33/145.97 new_quot(Pos(vyv2710), vyv273, vyv272) -> new_primQuotInt(vyv2710, new_gcd(vyv273, vyv272)) 214.33/145.97 new_quot(Neg(vyv2710), vyv273, vyv272) -> new_primQuotInt0(vyv2710, new_gcd(vyv273, vyv272)) 214.33/145.97 new_gcd(vyv273, vyv272) -> new_gcd2(new_esEs(vyv273), vyv273, vyv272) 214.33/145.97 new_primQuotInt0(vyv2710, Pos(Succ(vyv28800))) -> Neg(new_primDivNatS1(vyv2710, vyv28800)) 214.33/145.97 new_primQuotInt0(vyv2710, Neg(Zero)) -> new_error 214.33/145.97 new_primQuotInt0(vyv2710, Neg(Succ(vyv28800))) -> Pos(new_primDivNatS1(vyv2710, vyv28800)) 214.33/145.97 new_primQuotInt0(vyv2710, Pos(Zero)) -> new_error 214.33/145.97 new_error -> error([]) 214.33/145.97 new_primDivNatS1(Succ(Succ(vyv271000)), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS0(vyv271000), Zero)) 214.33/145.97 new_primDivNatS1(Succ(Zero), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS1, Zero)) 214.33/145.97 new_primMinusNatS1 -> Zero 214.33/145.97 new_primMinusNatS0(vyv271000) -> Succ(vyv271000) 214.33/145.97 new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) 214.33/145.97 new_esEs(Pos(Succ(vyv24300))) -> new_primEqInt(Pos(Succ(vyv24300))) 214.33/145.97 new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) 214.33/145.97 new_esEs(Neg(Succ(vyv24300))) -> new_primEqInt(Neg(Succ(vyv24300))) 214.33/145.97 new_gcd2(True, vyv273, vyv272) -> new_gcd1(new_esEs(vyv272), vyv273, vyv272) 214.33/145.97 new_gcd2(False, vyv273, vyv272) -> new_gcd0(vyv273, vyv272) 214.33/145.97 new_gcd0(vyv273, vyv272) -> new_gcd0Gcd'11(new_esEs(new_abs(vyv272)), vyv273, vyv272) 214.33/145.97 new_abs(Neg(Zero)) -> Neg(Zero) 214.33/145.97 new_abs(Neg(Succ(vyv27200))) -> Pos(Succ(vyv27200)) 214.33/145.97 new_abs(Pos(Succ(vyv27200))) -> Pos(Succ(vyv27200)) 214.33/145.97 new_abs(Pos(Zero)) -> Pos(Zero) 214.33/145.97 new_gcd0Gcd'11(True, vyv273, vyv272) -> new_abs(vyv273) 214.33/145.97 new_gcd0Gcd'11(False, vyv273, vyv272) -> new_gcd0Gcd'00(new_abs(vyv273), new_abs(vyv272)) 214.33/145.97 new_gcd0Gcd'10(False, vyv292, vyv293) -> new_gcd0Gcd'00(vyv292, new_rem(vyv293, vyv292)) 214.33/145.97 new_gcd0Gcd'00(vyv293, vyv292) -> new_gcd0Gcd'10(new_esEs(new_rem(vyv293, vyv292)), vyv292, vyv293) 214.33/145.97 new_rem(Pos(vyv2930), Neg(Zero)) -> new_error 214.33/145.97 new_rem(Neg(vyv2930), Pos(Zero)) -> new_error 214.33/145.97 new_rem(Pos(vyv2930), Neg(Succ(vyv29200))) -> Pos(new_primModNatS1(vyv2930, vyv29200)) 214.33/145.97 new_rem(Neg(vyv2930), Pos(Succ(vyv29200))) -> Neg(new_primModNatS1(vyv2930, vyv29200)) 214.33/145.97 new_rem(Pos(vyv2930), Pos(Succ(vyv29200))) -> Pos(new_primModNatS1(vyv2930, vyv29200)) 214.33/145.97 new_rem(Neg(vyv2930), Neg(Zero)) -> new_error 214.33/145.97 new_rem(Neg(vyv2930), Neg(Succ(vyv29200))) -> Neg(new_primModNatS1(vyv2930, vyv29200)) 214.33/145.97 new_rem(Pos(vyv2930), Pos(Zero)) -> new_error 214.33/145.97 new_gcd0Gcd'10(True, vyv292, vyv293) -> vyv292 214.33/145.97 new_primModNatS1(Succ(Zero), Succ(vyv292000)) -> Succ(Zero) 214.33/145.97 new_primModNatS1(Zero, vyv29200) -> Zero 214.33/145.97 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 214.33/145.97 new_primModNatS1(Succ(Succ(vyv293000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv293000), Zero) 214.33/145.97 new_primModNatS1(Succ(Succ(vyv293000)), Succ(vyv292000)) -> new_primModNatS01(vyv293000, vyv292000, vyv293000, vyv292000) 214.33/145.97 new_primModNatS01(vyv331, vyv332, Zero, Zero) -> new_primModNatS02(vyv331, vyv332) 214.33/145.97 new_primModNatS02(vyv331, vyv332) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv331), Succ(vyv332)), Succ(vyv332)) 214.33/145.97 new_primModNatS01(vyv331, vyv332, Succ(vyv3330), Zero) -> new_primModNatS02(vyv331, vyv332) 214.33/145.97 new_primModNatS01(vyv331, vyv332, Succ(vyv3330), Succ(vyv3340)) -> new_primModNatS01(vyv331, vyv332, vyv3330, vyv3340) 214.33/145.97 new_primModNatS01(vyv331, vyv332, Zero, Succ(vyv3340)) -> Succ(Succ(vyv331)) 214.33/145.97 new_gcd1(True, vyv273, vyv272) -> new_error 214.33/145.97 new_gcd1(False, vyv273, vyv272) -> new_gcd0(vyv273, vyv272) 214.33/145.97 new_primEqInt(Neg(Succ(vyv242000))) -> False 214.33/145.97 new_primEqInt(Pos(Zero)) -> True 214.33/145.97 new_primEqInt(Pos(Succ(vyv242000))) -> False 214.33/145.97 new_primEqInt(Neg(Zero)) -> True 214.33/145.97 new_primQuotInt(vyv2710, Pos(Succ(vyv28500))) -> Pos(new_primDivNatS1(vyv2710, vyv28500)) 214.33/145.97 new_primQuotInt(vyv2710, Neg(Zero)) -> new_error 214.33/145.97 new_primQuotInt(vyv2710, Pos(Zero)) -> new_error 214.33/145.97 new_primQuotInt(vyv2710, Neg(Succ(vyv28500))) -> Neg(new_primDivNatS1(vyv2710, vyv28500)) 214.33/145.97 new_primMulNat0(Zero, Succ(vyv23900)) -> Zero 214.33/145.97 new_primMulNat0(Succ(vyv24000), Succ(vyv23900)) -> new_primPlusNat0(new_primMulNat0(vyv24000, Succ(vyv23900)), Succ(vyv23900)) 214.33/145.97 new_primMulNat0(Succ(vyv24000), Zero) -> Zero 214.33/145.97 new_primMulNat0(Zero, Zero) -> Zero 214.33/145.97 new_primPlusNat0(Succ(vyv4000), Succ(vyv6000)) -> Succ(Succ(new_primPlusNat0(vyv4000, vyv6000))) 214.33/145.97 new_primPlusNat0(Zero, Succ(vyv6000)) -> Succ(vyv6000) 214.33/145.97 new_primPlusNat0(Zero, Zero) -> Zero 214.33/145.97 new_primPlusNat0(Succ(vyv4000), Zero) -> Succ(vyv4000) 214.33/145.97 new_sr6(vyv184) -> error([]) 214.33/145.97 new_esEs1(Integer(vyv2700)) -> new_primEqInt(vyv2700) 214.33/145.97 new_sr7(Pos(vyv1840)) -> Pos(new_primMulNat1(vyv1840)) 214.33/145.97 new_sr7(Neg(vyv1840)) -> Pos(new_primMulNat1(vyv1840)) 214.33/145.97 new_primMulNat1(Succ(vyv18400)) -> new_primPlusNat0(new_primMulNat2(vyv18400), Succ(vyv18400)) 214.33/145.97 new_primMulNat1(Zero) -> Zero 214.33/145.97 new_primMulNat2(Succ(vyv184000)) -> new_primPlusNat0(new_primMulNat3(vyv184000), Succ(Succ(vyv184000))) 214.33/145.97 new_primMulNat2(Zero) -> Zero 214.33/145.97 new_primMulNat3(Succ(vyv1840000)) -> new_primPlusNat0(new_primMulNat4(vyv1840000), Succ(Succ(Succ(vyv1840000)))) 214.33/145.97 new_primMulNat3(Zero) -> Zero 214.33/145.97 new_primMulNat4(Succ(vyv18400000)) -> new_primPlusNat0(new_primMulNat0(vyv18400000, Succ(Succ(Succ(Succ(vyv18400000))))), Succ(Succ(Succ(Succ(vyv18400000))))) 214.33/145.97 new_primMulNat4(Zero) -> Zero 214.33/145.97 new_sr12(vyv184) -> error([]) 214.33/145.97 new_sr11(vyv184) -> error([]) 214.33/145.97 new_sr4(vyv240, vyv239, app(ty_Ratio, be)) -> new_sr8(vyv240, vyv239, be) 214.33/145.97 new_sr4(vyv240, vyv239, ty_Float) -> new_sr14(vyv240, vyv239) 214.33/145.97 new_sr4(vyv240, vyv239, ty_Int) -> new_sr10(vyv240, vyv239) 214.33/145.97 new_sr4(vyv240, vyv239, ty_Double) -> new_sr13(vyv240, vyv239) 214.33/145.97 new_sr4(vyv240, vyv239, ty_Integer) -> new_sr9(vyv240, vyv239) 214.33/145.97 new_sr13(vyv240, vyv239) -> error([]) 214.33/145.97 new_sr14(vyv240, vyv239) -> error([]) 214.33/145.97 new_sr8(:%(vyv2400, vyv2401), :%(vyv2390, vyv2391), be) -> new_reduce2Reduce1(vyv2400, vyv2390, vyv2401, vyv2391, new_esEs2(vyv2401, vyv2391, be), be) 214.33/145.97 new_esEs2(vyv2401, vyv2391, ty_Integer) -> new_esEs1(new_sr9(vyv2401, vyv2391)) 214.33/145.97 new_esEs2(vyv2401, vyv2391, ty_Int) -> new_esEs(new_sr10(vyv2401, vyv2391)) 214.33/145.97 anew_new_pr2F0G10(Succ(Succ(vyv25200))) -> new_new_pr2F0G10(vyv25200) 214.33/145.97 new_new_pr2F0G10(Succ(Succ(vyv25200))) -> new_new_pr2F0G10(vyv25200) 214.33/145.97 new_new_pr2F0G10(Succ(Zero)) -> cons_new_pr2F0G10(Succ(Zero)) 214.33/145.97 new_new_pr2F0G10(Zero) -> cons_new_pr2F0G10(Zero) 214.33/145.97 214.33/145.97 The set Q consists of the following terms: 214.33/145.97 214.33/145.97 new_sr13(x0, x1) 214.33/145.97 new_primDivNatS01(x0, x1, Zero, Zero) 214.33/145.97 new_gcd0Gcd'11(False, x0, x1) 214.33/145.97 new_primMulNat4(Zero) 214.33/145.97 new_gcd0Gcd'11(True, x0, x1) 214.33/145.97 new_sr5(:%(x0, x1), x2) 214.33/145.97 new_primEqInt(Pos(Zero)) 214.33/145.97 new_esEs(Pos(Succ(x0))) 214.33/145.97 new_primQuotInt0(x0, Neg(Zero)) 214.33/145.97 new_primMulNat3(Zero) 214.33/145.97 new_primModNatS02(x0, x1) 214.33/145.97 new_primDivNatS1(Succ(Zero), Zero) 214.33/145.97 new_primMinusNatS0(x0) 214.33/145.97 new_sr11(x0) 214.33/145.97 new_rem(Pos(x0), Neg(Succ(x1))) 214.33/145.97 new_rem(Neg(x0), Pos(Succ(x1))) 214.33/145.97 new_primMulNat0(Zero, Zero) 214.33/145.97 new_primPlusNat0(Succ(x0), Zero) 214.33/145.97 new_primMulNat0(Succ(x0), Zero) 214.33/145.97 new_sr3(x0, ty_Float) 214.33/145.97 new_primMulNat2(Zero) 214.33/145.97 new_primQuotInt(x0, Pos(Zero)) 214.33/145.97 new_primMulNat2(Succ(x0)) 214.33/145.97 new_primQuotInt(x0, Neg(Zero)) 214.33/145.97 new_rem(Neg(x0), Neg(Succ(x1))) 214.33/145.97 new_primMinusNatS2(Zero, Succ(x0)) 214.33/145.97 new_sr4(x0, x1, ty_Double) 214.33/145.97 new_primMulNat3(Succ(x0)) 214.33/145.97 new_esEs1(Integer(x0)) 214.33/145.97 new_primQuotInt0(x0, Pos(Zero)) 214.33/145.97 new_gcd2(True, x0, x1) 214.33/145.97 new_quot1(x0, x1, x2, x3, ty_Int) 214.33/145.97 new_primDivNatS1(Zero, x0) 214.33/145.97 new_gcd(x0, x1) 214.33/145.97 new_gcd1(False, x0, x1) 214.33/145.97 new_esEs2(x0, x1, ty_Int) 214.33/145.97 new_sr3(x0, ty_Integer) 214.33/145.97 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 214.33/145.97 new_primPlusNat0(Zero, Succ(x0)) 214.33/145.97 new_sr8(:%(x0, x1), :%(x2, x3), x4) 214.33/145.97 new_abs(Neg(Zero)) 214.33/145.97 new_primMinusNatS2(Succ(x0), Zero) 214.33/145.97 new_error 214.33/145.97 new_primModNatS1(Succ(Zero), Zero) 214.33/145.97 new_primMulNat4(Succ(x0)) 214.33/145.97 new_primDivNatS02(x0, x1) 214.33/145.97 new_rem(Neg(x0), Neg(Zero)) 214.33/145.97 new_primEqInt(Neg(Zero)) 214.33/145.97 new_rem(Pos(x0), Pos(Succ(x1))) 214.33/145.97 new_abs(Pos(Succ(x0))) 214.33/145.97 new_primMulNat0(Succ(x0), Succ(x1)) 214.33/145.97 new_primMulNat0(Zero, Succ(x0)) 214.33/145.97 new_reduce2Reduce1(x0, x1, x2, x3, True, x4) 214.33/145.97 new_gcd0Gcd'10(False, x0, x1) 214.33/145.97 new_sr12(x0) 214.33/145.97 new_primDivNatS01(x0, x1, Zero, Succ(x2)) 214.33/145.97 new_sr10(Pos(x0), Pos(x1)) 214.33/145.97 new_primModNatS01(x0, x1, Zero, Succ(x2)) 214.33/145.97 new_primPlusNat0(Zero, Zero) 214.33/145.97 new_primQuotInt0(x0, Pos(Succ(x1))) 214.33/145.97 new_primModNatS01(x0, x1, Succ(x2), Zero) 214.33/145.97 new_primModNatS1(Succ(Succ(x0)), Zero) 214.33/145.97 new_sr4(x0, x1, ty_Integer) 214.33/145.97 new_rem(Pos(x0), Pos(Zero)) 214.33/145.97 new_sr4(x0, x1, ty_Int) 214.33/145.97 new_quot(Pos(x0), x1, x2) 214.33/145.97 new_primMinusNatS2(Zero, Zero) 214.33/145.97 new_esEs0(x0, ty_Int) 214.33/145.97 new_esEs(Pos(Zero)) 214.33/145.97 new_quot(Neg(x0), x1, x2) 214.33/145.97 new_primDivNatS01(x0, x1, Succ(x2), Succ(x3)) 214.33/145.97 new_quot2(x0, x1, x2) 214.33/145.97 new_primEqInt(Neg(Succ(x0))) 214.33/145.97 new_sr10(Neg(x0), Neg(x1)) 214.33/145.97 new_sr3(x0, app(ty_Ratio, x1)) 214.33/145.97 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 214.33/145.97 new_sr9(x0, x1) 214.33/145.97 new_sr7(Neg(x0)) 214.33/145.97 new_primQuotInt0(x0, Neg(Succ(x1))) 214.33/145.97 new_rem(Pos(x0), Neg(Zero)) 214.33/145.97 new_rem(Neg(x0), Pos(Zero)) 214.33/145.97 new_gcd0Gcd'00(x0, x1) 214.33/145.97 new_primQuotInt(x0, Neg(Succ(x1))) 214.33/145.97 new_primMinusNatS2(Succ(x0), Succ(x1)) 214.33/145.97 new_abs(Pos(Zero)) 214.33/145.97 new_quot0(x0, x1, x2, x3, ty_Integer) 214.33/145.97 new_sr6(x0) 214.33/145.97 new_gcd2(False, x0, x1) 214.33/145.97 new_gcd1(True, x0, x1) 214.33/145.97 new_esEs2(x0, x1, ty_Integer) 214.33/145.97 new_primMinusNatS1 214.33/145.97 new_sr7(Pos(x0)) 214.33/145.97 new_gcd0Gcd'10(True, x0, x1) 214.33/145.97 new_primModNatS1(Zero, x0) 214.33/145.97 new_sr4(x0, x1, ty_Float) 214.33/145.97 new_sr10(Pos(x0), Neg(x1)) 214.33/145.97 new_sr10(Neg(x0), Pos(x1)) 214.33/145.97 new_primDivNatS01(x0, x1, Succ(x2), Zero) 214.33/145.97 new_primDivNatS1(Succ(Succ(x0)), Succ(x1)) 214.33/145.97 new_primPlusNat0(Succ(x0), Succ(x1)) 214.33/145.97 new_primDivNatS1(Succ(Zero), Succ(x0)) 214.33/145.97 new_primQuotInt(x0, Pos(Succ(x1))) 214.33/145.97 new_abs(Neg(Succ(x0))) 214.33/145.97 new_esEs0(x0, ty_Integer) 214.33/145.97 new_sr3(x0, ty_Int) 214.33/145.97 new_esEs(Neg(Succ(x0))) 214.33/145.97 new_primModNatS01(x0, x1, Zero, Zero) 214.33/145.97 new_sr4(x0, x1, app(ty_Ratio, x2)) 214.33/145.97 new_gcd0(x0, x1) 214.33/145.97 new_primEqInt(Pos(Succ(x0))) 214.33/145.97 new_sr3(x0, ty_Double) 214.33/145.97 new_quot1(x0, x1, x2, x3, ty_Integer) 214.33/145.97 new_primDivNatS1(Succ(Succ(x0)), Zero) 214.33/145.97 new_primMulNat1(Succ(x0)) 214.33/145.97 new_sr14(x0, x1) 214.33/145.97 new_quot0(x0, x1, x2, x3, ty_Int) 214.33/145.97 new_primModNatS1(Succ(Zero), Succ(x0)) 214.33/145.97 new_reduce2Reduce1(x0, x1, x2, x3, False, x4) 214.33/145.97 new_esEs(Neg(Zero)) 214.33/145.97 new_primMulNat1(Zero) 214.33/145.97 new_new_pr2F0G10(Succ(Succ(x0))) 214.33/145.97 anew_new_pr2F0G10(Succ(Succ(x0))) 214.33/145.97 new_new_pr2F0G10(Succ(Zero)) 214.33/145.97 new_new_pr2F0G10(Zero) 214.33/145.97 214.33/145.97 We have to consider all minimal (P,Q,R)-chains. 214.33/145.97 ---------------------------------------- 214.33/145.97 214.33/145.97 (802) MNOCProof (EQUIVALENT) 214.33/145.97 We use the modular non-overlap check [FROCOS05] to decrease Q to the empty set. 214.33/145.97 ---------------------------------------- 214.33/145.97 214.33/145.97 (803) 214.33/145.97 Obligation: 214.33/145.97 Q DP problem: 214.33/145.97 The TRS P consists of the following rules: 214.33/145.97 214.33/145.97 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) 214.33/145.97 new_pr2F0(vyv184, Neg(Succ(Succ(vyv223000))), vyv188, h) -> new_pr2F0G10(vyv188, vyv184, Succ(vyv223000), vyv223000, h) 214.33/145.97 new_pr2F0G10(vyv249, vyv250, vyv251, Succ(Zero), bb) -> new_pr2F0G11(vyv249, vyv250, vyv251, bb) 214.33/145.97 new_pr2F0G11(vyv239, vyv240, vyv241, bc) -> new_pr2F1(vyv240, vyv241, Pos(Succ(Zero)), vyv239, bc) 214.33/145.97 new_pr2F1(z1, z2, Pos(Succ(Zero)), z0, z3) -> new_pr2F30(False, z1, z2, Pos(Succ(Zero)), z0, z3) 214.33/145.97 new_pr2F0G10(vyv249, vyv250, vyv251, Zero, bb) -> new_pr2F0G(vyv249, new_sr3(vyv250, bb), Neg(new_primDivNatS1(Succ(vyv251), Succ(Zero))), bb) 214.33/145.97 new_pr2F0G(vyv188, vyv184, Neg(Succ(Zero)), h) -> new_pr2F0G11(vyv188, vyv184, Zero, h) 214.33/145.97 new_pr2F0G(vyv188, vyv184, Neg(Succ(Succ(vyv223000))), h) -> new_pr2F0G10(vyv188, vyv184, Succ(vyv223000), vyv223000, h) 214.33/145.97 new_pr2F0(vyv184, Neg(Succ(Succ(vyv223000))), vyv188, h) -> H(vyv188, vyv184, Succ(vyv223000), h, anew_new_pr2F0G10(vyv223000)) 214.33/145.97 new_pr2F0G(vyv188, vyv184, Neg(Succ(Succ(vyv223000))), h) -> H(vyv188, vyv184, Succ(vyv223000), h, anew_new_pr2F0G10(vyv223000)) 214.33/145.97 H(vyv249, vyv250, vyv251, bb, cons_new_pr2F0G10(Succ(Zero))) -> new_pr2F0G10(vyv249, vyv250, vyv251, Succ(Zero), bb) 214.33/145.97 H(vyv249, vyv250, vyv251, bb, cons_new_pr2F0G10(Zero)) -> new_pr2F0G10(vyv249, vyv250, vyv251, Zero, bb) 214.33/145.97 214.33/145.97 The TRS R consists of the following rules: 214.33/145.97 214.33/145.97 new_sr3(vyv250, ty_Double) -> new_sr11(vyv250) 214.33/145.97 new_sr3(vyv250, ty_Int) -> new_sr7(vyv250) 214.33/145.97 new_sr3(vyv250, ty_Float) -> new_sr12(vyv250) 214.33/145.97 new_sr3(vyv250, ty_Integer) -> new_sr6(vyv250) 214.33/145.97 new_sr3(vyv250, app(ty_Ratio, bf)) -> new_sr5(vyv250, bf) 214.33/145.97 new_primDivNatS1(Succ(Zero), Succ(vyv285000)) -> Zero 214.33/145.97 new_primDivNatS1(Succ(Succ(vyv271000)), Succ(vyv285000)) -> new_primDivNatS01(vyv271000, vyv285000, vyv271000, vyv285000) 214.33/145.97 new_primDivNatS01(vyv311, vyv312, Succ(vyv3130), Zero) -> new_primDivNatS02(vyv311, vyv312) 214.33/145.97 new_primDivNatS01(vyv311, vyv312, Zero, Succ(vyv3140)) -> Zero 214.33/145.97 new_primDivNatS01(vyv311, vyv312, Succ(vyv3130), Succ(vyv3140)) -> new_primDivNatS01(vyv311, vyv312, vyv3130, vyv3140) 214.33/145.97 new_primDivNatS01(vyv311, vyv312, Zero, Zero) -> new_primDivNatS02(vyv311, vyv312) 214.33/145.97 new_primDivNatS02(vyv311, vyv312) -> Succ(new_primDivNatS1(new_primMinusNatS2(vyv311, vyv312), Succ(vyv312))) 214.33/145.97 new_primMinusNatS2(Zero, Succ(vyv3120)) -> Zero 214.33/145.97 new_primMinusNatS2(Succ(vyv3110), Zero) -> Succ(vyv3110) 214.33/145.97 new_primMinusNatS2(Zero, Zero) -> Zero 214.33/145.97 new_primMinusNatS2(Succ(vyv3110), Succ(vyv3120)) -> new_primMinusNatS2(vyv3110, vyv3120) 214.33/145.97 new_primDivNatS1(Zero, vyv28500) -> Zero 214.33/145.97 new_sr5(:%(vyv1840, vyv1841), bd) -> new_reduce2Reduce1(vyv1840, vyv1840, vyv1841, vyv1841, new_esEs0(vyv1841, bd), bd) 214.33/145.97 new_esEs0(vyv1841, ty_Int) -> new_esEs(new_sr7(vyv1841)) 214.33/145.97 new_esEs0(vyv1841, ty_Integer) -> new_esEs1(new_sr6(vyv1841)) 214.33/145.97 new_reduce2Reduce1(vyv265, vyv266, vyv267, vyv268, False, bh) -> :%(new_quot0(vyv265, vyv266, vyv267, vyv268, bh), new_quot1(vyv267, vyv268, vyv265, vyv266, bh)) 214.33/145.97 new_reduce2Reduce1(vyv265, vyv266, vyv267, vyv268, True, bh) -> error([]) 214.33/145.97 new_quot0(vyv265, vyv266, vyv267, vyv268, ty_Integer) -> new_quot2(new_sr9(vyv265, vyv266), new_sr9(vyv265, vyv266), new_sr9(vyv267, vyv268)) 214.33/145.97 new_quot0(vyv265, vyv266, vyv267, vyv268, ty_Int) -> new_quot(new_sr10(vyv265, vyv266), new_sr10(vyv265, vyv266), new_sr10(vyv267, vyv268)) 214.33/145.97 new_quot1(vyv267, vyv268, vyv265, vyv266, ty_Int) -> new_quot(new_sr10(vyv267, vyv268), new_sr10(vyv265, vyv266), new_sr10(vyv267, vyv268)) 214.33/145.97 new_quot1(vyv267, vyv268, vyv265, vyv266, ty_Integer) -> new_quot2(new_sr9(vyv267, vyv268), new_sr9(vyv265, vyv266), new_sr9(vyv267, vyv268)) 214.33/145.97 new_sr9(vyv240, vyv239) -> error([]) 214.33/145.97 new_quot2(vyv274, vyv276, vyv275) -> error([]) 214.33/145.97 new_sr10(Pos(vyv2400), Pos(vyv2390)) -> Pos(new_primMulNat0(vyv2400, vyv2390)) 214.33/145.97 new_sr10(Neg(vyv2400), Neg(vyv2390)) -> Pos(new_primMulNat0(vyv2400, vyv2390)) 214.33/145.97 new_sr10(Pos(vyv2400), Neg(vyv2390)) -> Neg(new_primMulNat0(vyv2400, vyv2390)) 214.33/145.97 new_sr10(Neg(vyv2400), Pos(vyv2390)) -> Neg(new_primMulNat0(vyv2400, vyv2390)) 214.33/145.97 new_quot(Pos(vyv2710), vyv273, vyv272) -> new_primQuotInt(vyv2710, new_gcd(vyv273, vyv272)) 214.33/145.97 new_quot(Neg(vyv2710), vyv273, vyv272) -> new_primQuotInt0(vyv2710, new_gcd(vyv273, vyv272)) 214.33/145.97 new_gcd(vyv273, vyv272) -> new_gcd2(new_esEs(vyv273), vyv273, vyv272) 214.33/145.97 new_primQuotInt0(vyv2710, Pos(Succ(vyv28800))) -> Neg(new_primDivNatS1(vyv2710, vyv28800)) 214.33/145.97 new_primQuotInt0(vyv2710, Neg(Zero)) -> new_error 214.33/145.97 new_primQuotInt0(vyv2710, Neg(Succ(vyv28800))) -> Pos(new_primDivNatS1(vyv2710, vyv28800)) 214.33/145.97 new_primQuotInt0(vyv2710, Pos(Zero)) -> new_error 214.33/145.97 new_error -> error([]) 214.33/145.97 new_primDivNatS1(Succ(Succ(vyv271000)), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS0(vyv271000), Zero)) 214.33/145.97 new_primDivNatS1(Succ(Zero), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS1, Zero)) 214.33/145.97 new_primMinusNatS1 -> Zero 214.33/145.97 new_primMinusNatS0(vyv271000) -> Succ(vyv271000) 214.33/145.97 new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) 214.33/145.97 new_esEs(Pos(Succ(vyv24300))) -> new_primEqInt(Pos(Succ(vyv24300))) 214.33/145.97 new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) 214.33/145.97 new_esEs(Neg(Succ(vyv24300))) -> new_primEqInt(Neg(Succ(vyv24300))) 214.33/145.97 new_gcd2(True, vyv273, vyv272) -> new_gcd1(new_esEs(vyv272), vyv273, vyv272) 214.33/145.97 new_gcd2(False, vyv273, vyv272) -> new_gcd0(vyv273, vyv272) 214.33/145.97 new_gcd0(vyv273, vyv272) -> new_gcd0Gcd'11(new_esEs(new_abs(vyv272)), vyv273, vyv272) 214.33/145.97 new_abs(Neg(Zero)) -> Neg(Zero) 214.33/145.97 new_abs(Neg(Succ(vyv27200))) -> Pos(Succ(vyv27200)) 214.33/145.97 new_abs(Pos(Succ(vyv27200))) -> Pos(Succ(vyv27200)) 214.33/145.97 new_abs(Pos(Zero)) -> Pos(Zero) 214.33/145.97 new_gcd0Gcd'11(True, vyv273, vyv272) -> new_abs(vyv273) 214.33/145.97 new_gcd0Gcd'11(False, vyv273, vyv272) -> new_gcd0Gcd'00(new_abs(vyv273), new_abs(vyv272)) 214.33/145.97 new_gcd0Gcd'10(False, vyv292, vyv293) -> new_gcd0Gcd'00(vyv292, new_rem(vyv293, vyv292)) 214.33/145.97 new_gcd0Gcd'00(vyv293, vyv292) -> new_gcd0Gcd'10(new_esEs(new_rem(vyv293, vyv292)), vyv292, vyv293) 214.33/145.97 new_rem(Pos(vyv2930), Neg(Zero)) -> new_error 214.33/145.97 new_rem(Neg(vyv2930), Pos(Zero)) -> new_error 214.33/145.97 new_rem(Pos(vyv2930), Neg(Succ(vyv29200))) -> Pos(new_primModNatS1(vyv2930, vyv29200)) 214.33/145.97 new_rem(Neg(vyv2930), Pos(Succ(vyv29200))) -> Neg(new_primModNatS1(vyv2930, vyv29200)) 214.33/145.97 new_rem(Pos(vyv2930), Pos(Succ(vyv29200))) -> Pos(new_primModNatS1(vyv2930, vyv29200)) 214.33/145.97 new_rem(Neg(vyv2930), Neg(Zero)) -> new_error 214.33/145.97 new_rem(Neg(vyv2930), Neg(Succ(vyv29200))) -> Neg(new_primModNatS1(vyv2930, vyv29200)) 214.33/145.97 new_rem(Pos(vyv2930), Pos(Zero)) -> new_error 214.33/145.97 new_gcd0Gcd'10(True, vyv292, vyv293) -> vyv292 214.33/145.97 new_primModNatS1(Succ(Zero), Succ(vyv292000)) -> Succ(Zero) 214.33/145.97 new_primModNatS1(Zero, vyv29200) -> Zero 214.33/145.97 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 214.33/145.97 new_primModNatS1(Succ(Succ(vyv293000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv293000), Zero) 214.33/145.97 new_primModNatS1(Succ(Succ(vyv293000)), Succ(vyv292000)) -> new_primModNatS01(vyv293000, vyv292000, vyv293000, vyv292000) 214.33/145.97 new_primModNatS01(vyv331, vyv332, Zero, Zero) -> new_primModNatS02(vyv331, vyv332) 214.33/145.97 new_primModNatS02(vyv331, vyv332) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv331), Succ(vyv332)), Succ(vyv332)) 214.33/145.97 new_primModNatS01(vyv331, vyv332, Succ(vyv3330), Zero) -> new_primModNatS02(vyv331, vyv332) 214.33/145.97 new_primModNatS01(vyv331, vyv332, Succ(vyv3330), Succ(vyv3340)) -> new_primModNatS01(vyv331, vyv332, vyv3330, vyv3340) 214.33/145.97 new_primModNatS01(vyv331, vyv332, Zero, Succ(vyv3340)) -> Succ(Succ(vyv331)) 214.33/145.97 new_gcd1(True, vyv273, vyv272) -> new_error 214.33/145.97 new_gcd1(False, vyv273, vyv272) -> new_gcd0(vyv273, vyv272) 214.33/145.97 new_primEqInt(Neg(Succ(vyv242000))) -> False 214.33/145.97 new_primEqInt(Pos(Zero)) -> True 214.33/145.97 new_primEqInt(Pos(Succ(vyv242000))) -> False 214.33/145.97 new_primEqInt(Neg(Zero)) -> True 214.33/145.97 new_primQuotInt(vyv2710, Pos(Succ(vyv28500))) -> Pos(new_primDivNatS1(vyv2710, vyv28500)) 214.33/145.97 new_primQuotInt(vyv2710, Neg(Zero)) -> new_error 214.33/145.97 new_primQuotInt(vyv2710, Pos(Zero)) -> new_error 214.33/145.97 new_primQuotInt(vyv2710, Neg(Succ(vyv28500))) -> Neg(new_primDivNatS1(vyv2710, vyv28500)) 214.33/145.97 new_primMulNat0(Zero, Succ(vyv23900)) -> Zero 214.33/145.97 new_primMulNat0(Succ(vyv24000), Succ(vyv23900)) -> new_primPlusNat0(new_primMulNat0(vyv24000, Succ(vyv23900)), Succ(vyv23900)) 214.33/145.97 new_primMulNat0(Succ(vyv24000), Zero) -> Zero 214.33/145.97 new_primMulNat0(Zero, Zero) -> Zero 214.33/145.97 new_primPlusNat0(Succ(vyv4000), Succ(vyv6000)) -> Succ(Succ(new_primPlusNat0(vyv4000, vyv6000))) 214.33/145.97 new_primPlusNat0(Zero, Succ(vyv6000)) -> Succ(vyv6000) 214.33/145.97 new_primPlusNat0(Zero, Zero) -> Zero 214.33/145.97 new_primPlusNat0(Succ(vyv4000), Zero) -> Succ(vyv4000) 214.33/145.97 new_sr6(vyv184) -> error([]) 214.33/145.97 new_esEs1(Integer(vyv2700)) -> new_primEqInt(vyv2700) 214.33/145.97 new_sr7(Pos(vyv1840)) -> Pos(new_primMulNat1(vyv1840)) 214.33/145.97 new_sr7(Neg(vyv1840)) -> Pos(new_primMulNat1(vyv1840)) 214.33/145.97 new_primMulNat1(Succ(vyv18400)) -> new_primPlusNat0(new_primMulNat2(vyv18400), Succ(vyv18400)) 214.33/145.97 new_primMulNat1(Zero) -> Zero 214.33/145.97 new_primMulNat2(Succ(vyv184000)) -> new_primPlusNat0(new_primMulNat3(vyv184000), Succ(Succ(vyv184000))) 214.33/145.97 new_primMulNat2(Zero) -> Zero 214.33/145.97 new_primMulNat3(Succ(vyv1840000)) -> new_primPlusNat0(new_primMulNat4(vyv1840000), Succ(Succ(Succ(vyv1840000)))) 214.33/145.97 new_primMulNat3(Zero) -> Zero 214.33/145.97 new_primMulNat4(Succ(vyv18400000)) -> new_primPlusNat0(new_primMulNat0(vyv18400000, Succ(Succ(Succ(Succ(vyv18400000))))), Succ(Succ(Succ(Succ(vyv18400000))))) 214.33/145.97 new_primMulNat4(Zero) -> Zero 214.33/145.97 new_sr12(vyv184) -> error([]) 214.33/145.97 new_sr11(vyv184) -> error([]) 214.33/145.97 new_sr4(vyv240, vyv239, app(ty_Ratio, be)) -> new_sr8(vyv240, vyv239, be) 214.33/145.97 new_sr4(vyv240, vyv239, ty_Float) -> new_sr14(vyv240, vyv239) 214.33/145.97 new_sr4(vyv240, vyv239, ty_Int) -> new_sr10(vyv240, vyv239) 214.33/145.97 new_sr4(vyv240, vyv239, ty_Double) -> new_sr13(vyv240, vyv239) 214.33/145.97 new_sr4(vyv240, vyv239, ty_Integer) -> new_sr9(vyv240, vyv239) 214.33/145.97 new_sr13(vyv240, vyv239) -> error([]) 214.33/145.97 new_sr14(vyv240, vyv239) -> error([]) 214.33/145.97 new_sr8(:%(vyv2400, vyv2401), :%(vyv2390, vyv2391), be) -> new_reduce2Reduce1(vyv2400, vyv2390, vyv2401, vyv2391, new_esEs2(vyv2401, vyv2391, be), be) 214.33/145.97 new_esEs2(vyv2401, vyv2391, ty_Integer) -> new_esEs1(new_sr9(vyv2401, vyv2391)) 214.33/145.97 new_esEs2(vyv2401, vyv2391, ty_Int) -> new_esEs(new_sr10(vyv2401, vyv2391)) 214.33/145.97 anew_new_pr2F0G10(Succ(Succ(vyv25200))) -> new_new_pr2F0G10(vyv25200) 214.33/145.97 new_new_pr2F0G10(Succ(Succ(vyv25200))) -> new_new_pr2F0G10(vyv25200) 214.33/145.97 new_new_pr2F0G10(Succ(Zero)) -> cons_new_pr2F0G10(Succ(Zero)) 214.33/145.97 new_new_pr2F0G10(Zero) -> cons_new_pr2F0G10(Zero) 214.33/145.97 214.33/145.97 Q is empty. 214.33/145.97 We have to consider all (P,Q,R)-chains. 214.33/145.97 ---------------------------------------- 214.33/145.97 214.33/145.97 (804) InductionCalculusProof (EQUIVALENT) 214.33/145.97 Note that final constraints are written in bold face. 214.33/145.97 214.33/145.97 214.33/145.97 214.33/145.97 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: 214.33/145.97 *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: 214.33/145.97 214.33/145.97 (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)) 214.33/145.97 214.33/145.97 214.33/145.97 214.33/145.97 We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: 214.33/145.97 214.33/145.97 (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)) 214.33/145.97 214.33/145.97 214.33/145.97 214.33/145.97 214.33/145.97 *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: 214.33/145.97 214.33/145.97 (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)) 214.33/145.97 214.33/145.97 214.33/145.97 214.33/145.97 We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: 214.33/145.97 214.33/145.97 (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)) 214.33/145.97 214.33/145.97 214.33/145.97 214.33/145.97 214.33/145.97 214.33/145.97 214.33/145.97 214.33/145.97 214.33/145.97 For Pair new_pr2F0(vyv184, Neg(Succ(Succ(vyv223000))), vyv188, h) -> new_pr2F0G10(vyv188, vyv184, Succ(vyv223000), vyv223000, h) the following chains were created: 214.33/145.97 *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: 214.33/145.97 214.33/145.97 (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)) 214.33/145.97 214.33/145.97 214.33/145.97 214.33/145.97 We simplified constraint (1) using rules (I), (II), (III), (IV) which results in the following new constraint: 214.33/145.97 214.33/145.97 (2) (new_pr2F0(x64, Neg(Succ(Succ(Succ(Zero)))), x66, x67)_>=_new_pr2F0G10(x66, x64, Succ(Succ(Zero)), Succ(Zero), x67)) 214.33/145.97 214.33/145.97 214.33/145.97 214.33/145.97 214.33/145.97 *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: 214.33/145.97 214.33/145.97 (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)) 214.33/145.97 214.33/145.97 214.33/145.97 214.33/145.97 We simplified constraint (1) using rules (I), (II), (III), (IV) which results in the following new constraint: 214.33/145.97 214.33/145.97 (2) (new_pr2F0(x80, Neg(Succ(Succ(Zero))), x82, x83)_>=_new_pr2F0G10(x82, x80, Succ(Zero), Zero, x83)) 214.33/145.97 214.33/145.97 214.33/145.97 214.33/145.97 214.33/145.97 214.33/145.97 214.33/145.97 214.33/145.97 214.33/145.97 For Pair new_pr2F0G10(vyv249, vyv250, vyv251, Succ(Zero), bb) -> new_pr2F0G11(vyv249, vyv250, vyv251, bb) the following chains were created: 214.33/145.97 *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: 214.33/145.97 214.33/145.97 (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)) 214.33/145.97 214.33/145.97 214.33/145.97 214.33/145.97 We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: 214.33/145.97 214.33/145.97 (2) (new_pr2F0G10(x124, x125, x126, Succ(Zero), x127)_>=_new_pr2F0G11(x124, x125, x126, x127)) 214.33/145.97 214.33/145.97 214.33/145.97 214.33/145.97 214.33/145.97 214.33/145.97 214.33/145.97 214.33/145.97 214.33/145.97 For Pair new_pr2F0G11(vyv239, vyv240, vyv241, bc) -> new_pr2F1(vyv240, vyv241, Pos(Succ(Zero)), vyv239, bc) the following chains were created: 214.33/145.97 *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: 214.33/145.97 214.33/145.97 (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)) 214.33/145.97 214.33/145.97 214.33/145.97 214.33/145.97 We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: 214.33/145.97 214.33/145.97 (2) (new_pr2F0G11(x180, x181, x182, x183)_>=_new_pr2F1(x181, x182, Pos(Succ(Zero)), x180, x183)) 214.33/145.97 214.33/145.97 214.33/145.97 214.33/145.97 214.33/145.97 214.33/145.97 214.33/145.97 214.33/145.97 214.33/145.97 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: 214.33/145.97 *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: 214.33/145.97 214.33/145.97 (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)) 214.33/145.97 214.33/145.97 214.33/145.97 214.33/145.97 We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: 214.33/145.97 214.33/145.97 (2) (new_pr2F1(x216, x217, Pos(Succ(Zero)), x218, x219)_>=_new_pr2F30(False, x216, x217, Pos(Succ(Zero)), x218, x219)) 214.33/145.97 214.33/145.97 214.33/145.97 214.33/145.97 214.33/145.97 214.33/145.97 214.33/145.97 214.33/145.97 214.33/145.97 For Pair new_pr2F0G10(vyv249, vyv250, vyv251, Zero, bb) -> new_pr2F0G(vyv249, new_sr3(vyv250, bb), Neg(new_primDivNatS1(Succ(vyv251), Succ(Zero))), bb) the following chains were created: 214.33/145.97 *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: 214.33/145.97 214.33/145.97 (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)) 214.33/145.97 214.33/145.97 214.33/145.97 214.33/145.97 We simplified constraint (1) using rules (I), (II), (IV), (VII) which results in the following new constraint: 214.33/145.97 214.33/145.97 (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)) 214.33/145.97 214.33/145.97 214.33/145.97 214.33/145.97 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: 214.33/145.97 214.33/145.97 (3) (new_primDivNatS01(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)) 214.33/145.97 214.33/145.97 (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)) 214.33/145.97 214.33/145.97 (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)) 214.33/145.97 214.33/145.97 214.33/145.97 214.33/145.97 We simplified constraint (3) using rules (I), (II), (III), (VII) which results in the following new constraint: 214.33/145.97 214.33/145.97 (6) (x643=x646 & x642=x647 & new_primDivNatS01(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)) 214.33/145.97 214.33/145.97 214.33/145.97 214.33/145.97 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_primDivNatS01(x643, x642, x646, x647)=Succ(Zero) which results in the following new constraints: 214.33/145.97 214.33/145.97 (7) (new_primDivNatS02(x650, x649)=Succ(Zero) & x650=Succ(x648) & x649=Zero & Zero=x649 ==> new_pr2F0G10(x292, x293, Succ(x650), Zero, x295)_>=_new_pr2F0G(x292, new_sr3(x293, x295), Neg(new_primDivNatS1(Succ(Succ(x650)), Succ(Zero))), x295)) 214.33/145.97 214.33/145.97 (8) (new_primDivNatS01(x657, x656, x655, x654)=Succ(Zero) & x657=Succ(x655) & x656=Succ(x654) & Zero=x656 & (\/x658,x659,x660:new_primDivNatS01(x657, x656, x655, x654)=Succ(Zero) & x657=x655 & x656=x654 & Zero=x656 ==> new_pr2F0G10(x658, x659, Succ(x657), Zero, x660)_>=_new_pr2F0G(x658, new_sr3(x659, x660), Neg(new_primDivNatS1(Succ(Succ(x657)), Succ(Zero))), x660)) ==> new_pr2F0G10(x292, x293, Succ(x657), Zero, x295)_>=_new_pr2F0G(x292, new_sr3(x293, x295), Neg(new_primDivNatS1(Succ(Succ(x657)), Succ(Zero))), x295)) 214.33/145.97 214.33/145.97 (9) (new_primDivNatS02(x662, x661)=Succ(Zero) & x662=Zero & x661=Zero & Zero=x661 ==> new_pr2F0G10(x292, x293, Succ(x662), Zero, x295)_>=_new_pr2F0G(x292, new_sr3(x293, x295), Neg(new_primDivNatS1(Succ(Succ(x662)), Succ(Zero))), x295)) 214.33/145.97 214.33/145.97 214.33/145.97 214.33/145.97 We simplified constraint (7) using rules (I), (II), (III), (IV), (VII) which results in the following new constraint: 214.33/145.97 214.33/145.97 (10) (new_pr2F0G10(x292, x293, Succ(Succ(x648)), Zero, x295)_>=_new_pr2F0G(x292, new_sr3(x293, x295), Neg(new_primDivNatS1(Succ(Succ(Succ(x648))), Succ(Zero))), x295)) 214.33/145.97 214.33/145.97 214.33/145.97 214.33/145.97 We solved constraint (8) using rules (I), (II), (III).We simplified constraint (9) using rules (I), (II), (III), (IV), (VII) which results in the following new constraint: 214.33/145.97 214.33/145.97 (11) (new_pr2F0G10(x292, x293, Succ(Zero), Zero, x295)_>=_new_pr2F0G(x292, new_sr3(x293, x295), Neg(new_primDivNatS1(Succ(Succ(Zero)), Succ(Zero))), x295)) 214.33/145.97 214.33/145.97 214.33/145.97 214.33/145.97 214.33/145.97 *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: 214.33/145.97 214.33/145.97 (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)) 214.33/145.97 214.33/145.97 214.33/145.97 214.33/145.97 We simplified constraint (1) using rules (I), (II), (IV), (VII) which results in the following new constraint: 214.33/145.97 214.33/145.97 (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)) 214.33/145.97 214.33/145.97 214.33/145.97 214.33/145.97 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: 214.33/145.97 214.33/145.97 (3) (new_primDivNatS01(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)) 214.33/145.97 214.33/145.97 (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)) 214.33/145.97 214.33/145.97 (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)) 214.33/145.97 214.33/145.97 214.33/145.97 214.33/145.97 We simplified constraint (3) using rules (I), (II), (III), (VII) which results in the following new constraint: 214.33/145.97 214.33/145.97 (6) (x671=x674 & x670=x675 & new_primDivNatS01(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)) 214.33/145.97 214.33/145.97 214.33/145.97 214.33/145.97 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_primDivNatS01(x671, x670, x674, x675)=Succ(Succ(x305)) which results in the following new constraints: 214.33/145.97 214.33/145.97 (7) (new_primDivNatS02(x678, x677)=Succ(Succ(x305)) & x678=Succ(x676) & x677=Zero & Zero=x677 ==> new_pr2F0G10(x299, x300, Succ(x678), Zero, x302)_>=_new_pr2F0G(x299, new_sr3(x300, x302), Neg(new_primDivNatS1(Succ(Succ(x678)), Succ(Zero))), x302)) 214.33/145.97 214.33/145.97 (8) (new_primDivNatS01(x685, x684, x683, x682)=Succ(Succ(x305)) & x685=Succ(x683) & x684=Succ(x682) & Zero=x684 & (\/x686,x687,x688,x689:new_primDivNatS01(x685, x684, x683, x682)=Succ(Succ(x686)) & x685=x683 & x684=x682 & Zero=x684 ==> new_pr2F0G10(x687, x688, Succ(x685), Zero, x689)_>=_new_pr2F0G(x687, new_sr3(x688, x689), Neg(new_primDivNatS1(Succ(Succ(x685)), Succ(Zero))), x689)) ==> new_pr2F0G10(x299, x300, Succ(x685), Zero, x302)_>=_new_pr2F0G(x299, new_sr3(x300, x302), Neg(new_primDivNatS1(Succ(Succ(x685)), Succ(Zero))), x302)) 214.33/145.97 214.33/145.97 (9) (new_primDivNatS02(x691, x690)=Succ(Succ(x305)) & x691=Zero & x690=Zero & Zero=x690 ==> new_pr2F0G10(x299, x300, Succ(x691), Zero, x302)_>=_new_pr2F0G(x299, new_sr3(x300, x302), Neg(new_primDivNatS1(Succ(Succ(x691)), Succ(Zero))), x302)) 214.33/145.97 214.33/145.97 214.33/145.97 214.33/145.97 We simplified constraint (7) using rules (I), (II), (III), (IV), (VII) which results in the following new constraint: 214.33/145.97 214.33/145.97 (10) (new_pr2F0G10(x299, x300, Succ(Succ(x676)), Zero, x302)_>=_new_pr2F0G(x299, new_sr3(x300, x302), Neg(new_primDivNatS1(Succ(Succ(Succ(x676))), Succ(Zero))), x302)) 214.33/145.97 214.33/145.97 214.33/145.97 214.33/145.97 We solved constraint (8) using rules (I), (II), (III).We simplified constraint (9) using rules (I), (II), (III), (IV), (VII) which results in the following new constraint: 214.33/145.97 214.33/145.97 (11) (new_pr2F0G10(x299, x300, Succ(Zero), Zero, x302)_>=_new_pr2F0G(x299, new_sr3(x300, x302), Neg(new_primDivNatS1(Succ(Succ(Zero)), Succ(Zero))), x302)) 214.33/145.97 214.33/145.97 214.33/145.97 214.33/145.97 214.33/145.97 *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: 214.33/145.97 214.33/145.97 (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)) 214.33/145.97 214.33/145.97 214.33/145.97 214.33/145.97 We simplified constraint (1) using rules (I), (II), (IV), (VII) which results in the following new constraint: 214.33/145.97 214.33/145.97 (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)) 214.33/145.97 214.33/145.97 214.33/145.97 214.33/145.97 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: 214.33/145.97 214.33/145.97 (3) (new_primDivNatS01(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)) 214.33/145.97 214.33/145.97 (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)) 214.33/145.97 214.33/145.97 (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)) 214.33/145.97 214.33/145.97 214.33/145.97 214.33/145.97 We simplified constraint (3) using rules (I), (II), (III), (VII) which results in the following new constraint: 214.33/145.97 214.33/145.97 (6) (x700=x703 & x699=x704 & new_primDivNatS01(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)) 214.33/145.97 214.33/145.97 214.33/145.97 214.33/145.97 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_primDivNatS01(x700, x699, x703, x704)=Succ(Succ(x317)) which results in the following new constraints: 214.33/145.97 214.33/145.97 (7) (new_primDivNatS02(x707, x706)=Succ(Succ(x317)) & x707=Succ(x705) & x706=Zero & Zero=x706 ==> new_pr2F0G10(x311, x312, Succ(x707), Zero, x314)_>=_new_pr2F0G(x311, new_sr3(x312, x314), Neg(new_primDivNatS1(Succ(Succ(x707)), Succ(Zero))), x314)) 214.33/145.97 214.33/145.97 (8) (new_primDivNatS01(x714, x713, x712, x711)=Succ(Succ(x317)) & x714=Succ(x712) & x713=Succ(x711) & Zero=x713 & (\/x715,x716,x717,x718:new_primDivNatS01(x714, x713, x712, x711)=Succ(Succ(x715)) & x714=x712 & x713=x711 & Zero=x713 ==> new_pr2F0G10(x716, x717, Succ(x714), Zero, x718)_>=_new_pr2F0G(x716, new_sr3(x717, x718), Neg(new_primDivNatS1(Succ(Succ(x714)), Succ(Zero))), x718)) ==> new_pr2F0G10(x311, x312, Succ(x714), Zero, x314)_>=_new_pr2F0G(x311, new_sr3(x312, x314), Neg(new_primDivNatS1(Succ(Succ(x714)), Succ(Zero))), x314)) 214.33/145.97 214.33/145.97 (9) (new_primDivNatS02(x720, x719)=Succ(Succ(x317)) & x720=Zero & x719=Zero & Zero=x719 ==> new_pr2F0G10(x311, x312, Succ(x720), Zero, x314)_>=_new_pr2F0G(x311, new_sr3(x312, x314), Neg(new_primDivNatS1(Succ(Succ(x720)), Succ(Zero))), x314)) 214.33/145.97 214.33/145.97 214.33/145.97 214.33/145.97 We simplified constraint (7) using rules (I), (II), (III), (IV), (VII) which results in the following new constraint: 214.33/145.97 214.33/145.97 (10) (new_pr2F0G10(x311, x312, Succ(Succ(x705)), Zero, x314)_>=_new_pr2F0G(x311, new_sr3(x312, x314), Neg(new_primDivNatS1(Succ(Succ(Succ(x705))), Succ(Zero))), x314)) 214.33/145.97 214.33/145.97 214.33/145.97 214.33/145.97 We solved constraint (8) using rules (I), (II), (III).We simplified constraint (9) using rules (I), (II), (III), (IV), (VII) which results in the following new constraint: 214.33/145.97 214.33/145.97 (11) (new_pr2F0G10(x311, x312, Succ(Zero), Zero, x314)_>=_new_pr2F0G(x311, new_sr3(x312, x314), Neg(new_primDivNatS1(Succ(Succ(Zero)), Succ(Zero))), x314)) 214.33/145.97 214.33/145.97 214.33/145.97 214.33/145.97 214.33/145.97 214.33/145.97 214.33/145.97 214.33/145.97 214.33/145.97 For Pair new_pr2F0G(vyv188, vyv184, Neg(Succ(Zero)), h) -> new_pr2F0G11(vyv188, vyv184, Zero, h) the following chains were created: 214.33/145.97 *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: 214.33/145.97 214.33/145.97 (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)) 214.33/145.97 214.33/145.97 214.33/145.97 214.33/145.97 We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: 214.33/145.97 214.33/145.97 (2) (new_pr2F0G(x336, x337, Neg(Succ(Zero)), x338)_>=_new_pr2F0G11(x336, x337, Zero, x338)) 214.33/145.97 214.33/145.97 214.33/145.97 214.33/145.97 214.33/145.97 214.33/145.97 214.33/145.97 214.33/145.97 214.33/145.97 For Pair new_pr2F0G(vyv188, vyv184, Neg(Succ(Succ(vyv223000))), h) -> new_pr2F0G10(vyv188, vyv184, Succ(vyv223000), vyv223000, h) the following chains were created: 214.33/145.97 *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: 214.33/145.97 214.33/145.97 (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)) 214.33/145.97 214.33/145.97 214.33/145.97 214.33/145.97 We simplified constraint (1) using rules (I), (II), (III), (IV) which results in the following new constraint: 214.33/145.97 214.33/145.97 (2) (new_pr2F0G(x375, x376, Neg(Succ(Succ(Succ(Zero)))), x378)_>=_new_pr2F0G10(x375, x376, Succ(Succ(Zero)), Succ(Zero), x378)) 214.33/145.97 214.33/145.97 214.33/145.97 214.33/145.97 214.33/145.97 *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: 214.33/145.97 214.33/145.97 (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)) 214.33/145.97 214.33/145.97 214.33/145.97 214.33/145.97 We simplified constraint (1) using rules (I), (II), (III), (IV) which results in the following new constraint: 214.33/145.97 214.33/145.97 (2) (new_pr2F0G(x391, x392, Neg(Succ(Succ(Zero))), x394)_>=_new_pr2F0G10(x391, x392, Succ(Zero), Zero, x394)) 214.33/145.97 214.33/145.97 214.33/145.97 214.33/145.97 214.33/145.97 214.33/145.97 214.33/145.97 214.33/145.97 214.33/145.97 For Pair new_pr2F0(vyv184, Neg(Succ(Succ(vyv223000))), vyv188, h) -> H(vyv188, vyv184, Succ(vyv223000), h, anew_new_pr2F0G10(vyv223000)) the following chains were created: 214.33/145.97 *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: 214.33/145.97 214.33/145.97 (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))) 214.33/145.97 214.33/145.97 214.33/145.97 214.33/145.97 We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: 214.33/145.97 214.33/145.97 (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))) 214.33/145.97 214.33/145.97 214.33/145.97 214.33/145.97 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: 214.33/145.97 214.33/145.97 (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))))) 214.33/145.97 214.33/145.97 214.33/145.97 214.33/145.97 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: 214.33/145.97 214.33/145.97 (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))))))) 214.33/145.97 214.33/145.97 (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)))))) 214.33/145.97 214.33/145.97 (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))))) 214.33/145.97 214.33/145.97 214.33/145.97 214.33/145.97 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: 214.33/145.97 214.33/145.97 (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))))))) 214.33/145.97 214.33/145.97 214.33/145.97 214.33/145.97 We simplified constraint (5) using rules (I), (II) which results in the following new constraint: 214.33/145.97 214.33/145.97 (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)))))) 214.33/145.97 214.33/145.97 214.33/145.97 214.33/145.97 We solved constraint (6) using rules (I), (II). 214.33/145.97 *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: 214.33/145.97 214.33/145.97 (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))) 214.33/145.97 214.33/145.97 214.33/145.97 214.33/145.97 We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: 214.33/145.97 214.33/145.97 (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))) 214.33/145.97 214.33/145.97 214.33/145.97 214.33/145.97 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: 214.33/145.97 214.33/145.97 (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))))) 214.33/145.97 214.33/145.97 214.33/145.97 214.33/145.97 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: 214.33/145.97 214.33/145.97 (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))))))) 214.33/145.97 214.33/145.97 (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)))))) 214.33/145.97 214.33/145.97 (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))))) 214.33/145.97 214.33/145.97 214.33/145.97 214.33/145.97 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: 214.33/145.97 214.33/145.97 (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))))))) 214.33/145.97 214.33/145.97 214.33/145.97 214.33/145.97 We solved constraint (5) using rules (I), (II).We simplified constraint (6) using rules (I), (II) which results in the following new constraint: 214.33/145.97 214.33/145.97 (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))))) 214.33/145.97 214.33/145.97 214.33/145.97 214.33/145.97 214.33/145.97 214.33/145.97 214.33/145.97 214.33/145.97 214.33/145.97 For Pair new_pr2F0G(vyv188, vyv184, Neg(Succ(Succ(vyv223000))), h) -> H(vyv188, vyv184, Succ(vyv223000), h, anew_new_pr2F0G10(vyv223000)) the following chains were created: 214.33/145.97 *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: 214.33/145.97 214.33/145.97 (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))) 214.33/145.97 214.33/145.97 214.33/145.97 214.33/145.97 We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: 214.33/145.97 214.33/145.97 (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))) 214.33/145.97 214.33/145.97 214.33/145.97 214.33/145.97 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: 214.33/145.98 214.33/145.98 (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))))) 214.33/145.98 214.33/145.98 214.33/145.98 214.33/145.98 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: 214.33/145.98 214.33/145.98 (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))))))) 214.33/145.98 214.33/145.98 (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)))))) 214.33/145.98 214.33/145.98 (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))))) 214.33/145.98 214.33/145.98 214.33/145.98 214.33/145.98 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: 214.33/145.98 214.33/145.98 (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))))))) 214.33/145.98 214.33/145.98 214.33/145.98 214.33/145.98 We simplified constraint (5) using rules (I), (II) which results in the following new constraint: 214.33/145.98 214.33/145.98 (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)))))) 214.33/145.98 214.33/145.98 214.33/145.98 214.33/145.98 We solved constraint (6) using rules (I), (II). 214.33/145.98 *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: 214.33/145.98 214.33/145.98 (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))) 214.33/145.98 214.33/145.98 214.33/145.98 214.33/145.98 We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: 214.33/145.98 214.33/145.98 (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))) 214.33/145.98 214.33/145.98 214.33/145.98 214.33/145.98 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: 214.33/145.98 214.33/145.98 (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))))) 214.33/145.98 214.33/145.98 214.33/145.98 214.33/145.98 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: 214.33/145.98 214.33/145.98 (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))))))) 214.33/145.98 214.33/145.98 (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)))))) 214.33/145.98 214.33/145.98 (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))))) 214.33/145.98 214.33/145.98 214.33/145.98 214.33/145.98 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: 214.33/145.98 214.33/145.98 (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))))))) 214.33/145.98 214.33/145.98 214.33/145.98 214.33/145.98 We solved constraint (5) using rules (I), (II).We simplified constraint (6) using rules (I), (II) which results in the following new constraint: 214.33/145.98 214.33/145.98 (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))))) 214.33/145.98 214.33/145.98 214.33/145.98 214.33/145.98 214.33/145.98 214.33/145.98 214.33/145.98 214.33/145.98 214.33/145.98 For Pair H(vyv249, vyv250, vyv251, bb, cons_new_pr2F0G10(Succ(Zero))) -> new_pr2F0G10(vyv249, vyv250, vyv251, Succ(Zero), bb) the following chains were created: 214.33/145.98 *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: 214.33/145.98 214.33/145.98 (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)) 214.33/145.98 214.33/145.98 214.33/145.98 214.33/145.98 We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: 214.33/145.98 214.33/145.98 (2) (H(x543, x544, x545, x546, cons_new_pr2F0G10(Succ(Zero)))_>=_new_pr2F0G10(x543, x544, x545, Succ(Zero), x546)) 214.33/145.98 214.33/145.98 214.33/145.98 214.33/145.98 214.33/145.98 214.33/145.98 214.33/145.98 214.33/145.98 214.33/145.98 For Pair H(vyv249, vyv250, vyv251, bb, cons_new_pr2F0G10(Zero)) -> new_pr2F0G10(vyv249, vyv250, vyv251, Zero, bb) the following chains were created: 214.33/145.98 *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: 214.33/145.98 214.33/145.98 (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)) 214.33/145.98 214.33/145.98 214.33/145.98 214.33/145.98 We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: 214.33/145.98 214.33/145.98 (2) (H(x607, x608, x609, x610, cons_new_pr2F0G10(Zero))_>=_new_pr2F0G10(x607, x608, x609, Zero, x610)) 214.33/145.98 214.33/145.98 214.33/145.98 214.33/145.98 214.33/145.98 214.33/145.98 214.33/145.98 214.33/145.98 214.33/145.98 To summarize, we get the following constraints P__>=_ for the following pairs. 214.33/145.98 214.33/145.98 *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) 214.33/145.98 214.33/145.98 *(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)) 214.33/145.98 214.33/145.98 214.33/145.98 *(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)) 214.33/145.98 214.33/145.98 214.33/145.98 214.33/145.98 214.33/145.98 *new_pr2F0(vyv184, Neg(Succ(Succ(vyv223000))), vyv188, h) -> new_pr2F0G10(vyv188, vyv184, Succ(vyv223000), vyv223000, h) 214.33/145.98 214.33/145.98 *(new_pr2F0(x64, Neg(Succ(Succ(Succ(Zero)))), x66, x67)_>=_new_pr2F0G10(x66, x64, Succ(Succ(Zero)), Succ(Zero), x67)) 214.33/145.98 214.33/145.98 214.33/145.98 *(new_pr2F0(x80, Neg(Succ(Succ(Zero))), x82, x83)_>=_new_pr2F0G10(x82, x80, Succ(Zero), Zero, x83)) 214.33/145.98 214.33/145.98 214.33/145.98 214.33/145.98 214.33/145.98 *new_pr2F0G10(vyv249, vyv250, vyv251, Succ(Zero), bb) -> new_pr2F0G11(vyv249, vyv250, vyv251, bb) 214.33/145.98 214.33/145.98 *(new_pr2F0G10(x124, x125, x126, Succ(Zero), x127)_>=_new_pr2F0G11(x124, x125, x126, x127)) 214.33/145.98 214.33/145.98 214.33/145.98 214.33/145.98 214.33/145.98 *new_pr2F0G11(vyv239, vyv240, vyv241, bc) -> new_pr2F1(vyv240, vyv241, Pos(Succ(Zero)), vyv239, bc) 214.33/145.98 214.33/145.98 *(new_pr2F0G11(x180, x181, x182, x183)_>=_new_pr2F1(x181, x182, Pos(Succ(Zero)), x180, x183)) 214.33/145.98 214.33/145.98 214.33/145.98 214.33/145.98 214.33/145.98 *new_pr2F1(z1, z2, Pos(Succ(Zero)), z0, z3) -> new_pr2F30(False, z1, z2, Pos(Succ(Zero)), z0, z3) 214.33/145.98 214.33/145.98 *(new_pr2F1(x216, x217, Pos(Succ(Zero)), x218, x219)_>=_new_pr2F30(False, x216, x217, Pos(Succ(Zero)), x218, x219)) 214.33/145.98 214.33/145.98 214.33/145.98 214.33/145.98 214.33/145.98 *new_pr2F0G10(vyv249, vyv250, vyv251, Zero, bb) -> new_pr2F0G(vyv249, new_sr3(vyv250, bb), Neg(new_primDivNatS1(Succ(vyv251), Succ(Zero))), bb) 214.33/145.98 214.33/145.98 *(new_pr2F0G10(x292, x293, Succ(Succ(x648)), Zero, x295)_>=_new_pr2F0G(x292, new_sr3(x293, x295), Neg(new_primDivNatS1(Succ(Succ(Succ(x648))), Succ(Zero))), x295)) 214.33/145.98 214.33/145.98 214.33/145.98 *(new_pr2F0G10(x292, x293, Succ(Zero), Zero, x295)_>=_new_pr2F0G(x292, new_sr3(x293, x295), Neg(new_primDivNatS1(Succ(Succ(Zero)), Succ(Zero))), x295)) 214.33/145.98 214.33/145.98 214.33/145.98 *(new_pr2F0G10(x299, x300, Succ(Succ(x676)), Zero, x302)_>=_new_pr2F0G(x299, new_sr3(x300, x302), Neg(new_primDivNatS1(Succ(Succ(Succ(x676))), Succ(Zero))), x302)) 214.33/145.98 214.33/145.98 214.33/145.98 *(new_pr2F0G10(x299, x300, Succ(Zero), Zero, x302)_>=_new_pr2F0G(x299, new_sr3(x300, x302), Neg(new_primDivNatS1(Succ(Succ(Zero)), Succ(Zero))), x302)) 214.33/145.98 214.33/145.98 214.33/145.98 *(new_pr2F0G10(x311, x312, Succ(Succ(x705)), Zero, x314)_>=_new_pr2F0G(x311, new_sr3(x312, x314), Neg(new_primDivNatS1(Succ(Succ(Succ(x705))), Succ(Zero))), x314)) 214.33/145.98 214.33/145.98 214.33/145.98 *(new_pr2F0G10(x311, x312, Succ(Zero), Zero, x314)_>=_new_pr2F0G(x311, new_sr3(x312, x314), Neg(new_primDivNatS1(Succ(Succ(Zero)), Succ(Zero))), x314)) 214.33/145.98 214.33/145.98 214.33/145.98 214.33/145.98 214.33/145.98 *new_pr2F0G(vyv188, vyv184, Neg(Succ(Zero)), h) -> new_pr2F0G11(vyv188, vyv184, Zero, h) 214.33/145.98 214.33/145.98 *(new_pr2F0G(x336, x337, Neg(Succ(Zero)), x338)_>=_new_pr2F0G11(x336, x337, Zero, x338)) 214.33/145.98 214.33/145.98 214.33/145.98 214.33/145.98 214.33/145.98 *new_pr2F0G(vyv188, vyv184, Neg(Succ(Succ(vyv223000))), h) -> new_pr2F0G10(vyv188, vyv184, Succ(vyv223000), vyv223000, h) 214.33/145.98 214.33/145.98 *(new_pr2F0G(x375, x376, Neg(Succ(Succ(Succ(Zero)))), x378)_>=_new_pr2F0G10(x375, x376, Succ(Succ(Zero)), Succ(Zero), x378)) 214.33/145.98 214.33/145.98 214.33/145.98 *(new_pr2F0G(x391, x392, Neg(Succ(Succ(Zero))), x394)_>=_new_pr2F0G10(x391, x392, Succ(Zero), Zero, x394)) 214.33/145.98 214.33/145.98 214.33/145.98 214.33/145.98 214.33/145.98 *new_pr2F0(vyv184, Neg(Succ(Succ(vyv223000))), vyv188, h) -> H(vyv188, vyv184, Succ(vyv223000), h, anew_new_pr2F0G10(vyv223000)) 214.33/145.98 214.33/145.98 *(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))))))) 214.33/145.98 214.33/145.98 214.33/145.98 *(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)))))) 214.33/145.98 214.33/145.98 214.33/145.98 *(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))))))) 214.33/145.98 214.33/145.98 214.33/145.98 *(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))))) 214.33/145.98 214.33/145.98 214.33/145.98 214.33/145.98 214.33/145.98 *new_pr2F0G(vyv188, vyv184, Neg(Succ(Succ(vyv223000))), h) -> H(vyv188, vyv184, Succ(vyv223000), h, anew_new_pr2F0G10(vyv223000)) 214.33/145.98 214.33/145.98 *(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))))))) 214.33/145.98 214.33/145.98 214.33/145.98 *(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)))))) 214.33/145.98 214.33/145.98 214.33/145.98 *(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))))))) 214.33/145.98 214.33/145.98 214.33/145.98 *(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))))) 214.33/145.98 214.33/145.98 214.33/145.98 214.33/145.98 214.33/145.98 *H(vyv249, vyv250, vyv251, bb, cons_new_pr2F0G10(Succ(Zero))) -> new_pr2F0G10(vyv249, vyv250, vyv251, Succ(Zero), bb) 214.33/145.98 214.33/145.98 *(H(x543, x544, x545, x546, cons_new_pr2F0G10(Succ(Zero)))_>=_new_pr2F0G10(x543, x544, x545, Succ(Zero), x546)) 214.33/145.98 214.33/145.98 214.33/145.98 214.33/145.98 214.33/145.98 *H(vyv249, vyv250, vyv251, bb, cons_new_pr2F0G10(Zero)) -> new_pr2F0G10(vyv249, vyv250, vyv251, Zero, bb) 214.33/145.98 214.33/145.98 *(H(x607, x608, x609, x610, cons_new_pr2F0G10(Zero))_>=_new_pr2F0G10(x607, x608, x609, Zero, x610)) 214.33/145.98 214.33/145.98 214.33/145.98 214.33/145.98 214.33/145.98 214.33/145.98 214.33/145.98 214.33/145.98 214.33/145.98 The constraints for P_> respective P_bound are constructed from P__>=_ where we just replace every occurence of "t _>=_ s" in P__>=_ by "t > s" respective "t _>=_ c". Here c stands for the fresh constant used for P_bound. 214.33/145.98 ---------------------------------------- 214.33/145.98 214.33/145.98 (805) 214.33/145.98 Obligation: 214.33/145.98 Q DP problem: 214.33/145.98 The TRS P consists of the following rules: 214.33/145.98 214.33/145.98 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) 214.33/145.98 new_pr2F0(vyv184, Neg(Succ(Succ(vyv223000))), vyv188, h) -> new_pr2F0G10(vyv188, vyv184, Succ(vyv223000), vyv223000, h) 214.33/145.98 new_pr2F0G10(vyv249, vyv250, vyv251, Succ(Zero), bb) -> new_pr2F0G11(vyv249, vyv250, vyv251, bb) 214.33/145.98 new_pr2F0G11(vyv239, vyv240, vyv241, bc) -> new_pr2F1(vyv240, vyv241, Pos(Succ(Zero)), vyv239, bc) 214.33/145.98 new_pr2F1(z1, z2, Pos(Succ(Zero)), z0, z3) -> new_pr2F30(False, z1, z2, Pos(Succ(Zero)), z0, z3) 214.33/145.98 new_pr2F0G10(vyv249, vyv250, vyv251, Zero, bb) -> new_pr2F0G(vyv249, new_sr3(vyv250, bb), Neg(new_primDivNatS1(Succ(vyv251), Succ(Zero))), bb) 214.33/145.98 new_pr2F0G(vyv188, vyv184, Neg(Succ(Zero)), h) -> new_pr2F0G11(vyv188, vyv184, Zero, h) 214.33/145.98 new_pr2F0G(vyv188, vyv184, Neg(Succ(Succ(vyv223000))), h) -> new_pr2F0G10(vyv188, vyv184, Succ(vyv223000), vyv223000, h) 214.33/145.98 new_pr2F0(vyv184, Neg(Succ(Succ(vyv223000))), vyv188, h) -> H(vyv188, vyv184, Succ(vyv223000), h, anew_new_pr2F0G10(vyv223000)) 214.33/145.98 new_pr2F0G(vyv188, vyv184, Neg(Succ(Succ(vyv223000))), h) -> H(vyv188, vyv184, Succ(vyv223000), h, anew_new_pr2F0G10(vyv223000)) 214.33/145.98 H(vyv249, vyv250, vyv251, bb, cons_new_pr2F0G10(Succ(Zero))) -> new_pr2F0G10(vyv249, vyv250, vyv251, Succ(Zero), bb) 214.33/145.98 H(vyv249, vyv250, vyv251, bb, cons_new_pr2F0G10(Zero)) -> new_pr2F0G10(vyv249, vyv250, vyv251, Zero, bb) 214.33/145.98 214.33/145.98 The TRS R consists of the following rules: 214.33/145.98 214.33/145.98 new_sr3(vyv250, ty_Double) -> new_sr11(vyv250) 214.33/145.98 new_sr3(vyv250, ty_Int) -> new_sr7(vyv250) 214.33/145.98 new_sr3(vyv250, ty_Float) -> new_sr12(vyv250) 214.33/145.98 new_sr3(vyv250, ty_Integer) -> new_sr6(vyv250) 214.33/145.98 new_sr3(vyv250, app(ty_Ratio, bf)) -> new_sr5(vyv250, bf) 214.33/145.98 new_primDivNatS1(Succ(Zero), Succ(vyv285000)) -> Zero 214.33/145.98 new_primDivNatS1(Succ(Succ(vyv271000)), Succ(vyv285000)) -> new_primDivNatS01(vyv271000, vyv285000, vyv271000, vyv285000) 214.33/145.98 new_primDivNatS01(vyv311, vyv312, Succ(vyv3130), Zero) -> new_primDivNatS02(vyv311, vyv312) 214.33/145.98 new_primDivNatS01(vyv311, vyv312, Zero, Succ(vyv3140)) -> Zero 214.33/145.98 new_primDivNatS01(vyv311, vyv312, Succ(vyv3130), Succ(vyv3140)) -> new_primDivNatS01(vyv311, vyv312, vyv3130, vyv3140) 214.33/145.98 new_primDivNatS01(vyv311, vyv312, Zero, Zero) -> new_primDivNatS02(vyv311, vyv312) 214.33/145.98 new_primDivNatS02(vyv311, vyv312) -> Succ(new_primDivNatS1(new_primMinusNatS2(vyv311, vyv312), Succ(vyv312))) 214.33/145.98 new_primMinusNatS2(Zero, Succ(vyv3120)) -> Zero 214.33/145.98 new_primMinusNatS2(Succ(vyv3110), Zero) -> Succ(vyv3110) 214.33/145.98 new_primMinusNatS2(Zero, Zero) -> Zero 214.33/145.98 new_primMinusNatS2(Succ(vyv3110), Succ(vyv3120)) -> new_primMinusNatS2(vyv3110, vyv3120) 214.33/145.98 new_primDivNatS1(Zero, vyv28500) -> Zero 214.33/145.98 new_sr5(:%(vyv1840, vyv1841), bd) -> new_reduce2Reduce1(vyv1840, vyv1840, vyv1841, vyv1841, new_esEs0(vyv1841, bd), bd) 214.33/145.98 new_esEs0(vyv1841, ty_Int) -> new_esEs(new_sr7(vyv1841)) 214.33/145.98 new_esEs0(vyv1841, ty_Integer) -> new_esEs1(new_sr6(vyv1841)) 214.33/145.98 new_reduce2Reduce1(vyv265, vyv266, vyv267, vyv268, False, bh) -> :%(new_quot0(vyv265, vyv266, vyv267, vyv268, bh), new_quot1(vyv267, vyv268, vyv265, vyv266, bh)) 214.33/145.98 new_reduce2Reduce1(vyv265, vyv266, vyv267, vyv268, True, bh) -> error([]) 214.33/145.98 new_quot0(vyv265, vyv266, vyv267, vyv268, ty_Integer) -> new_quot2(new_sr9(vyv265, vyv266), new_sr9(vyv265, vyv266), new_sr9(vyv267, vyv268)) 214.33/145.98 new_quot0(vyv265, vyv266, vyv267, vyv268, ty_Int) -> new_quot(new_sr10(vyv265, vyv266), new_sr10(vyv265, vyv266), new_sr10(vyv267, vyv268)) 214.33/145.98 new_quot1(vyv267, vyv268, vyv265, vyv266, ty_Int) -> new_quot(new_sr10(vyv267, vyv268), new_sr10(vyv265, vyv266), new_sr10(vyv267, vyv268)) 214.33/145.98 new_quot1(vyv267, vyv268, vyv265, vyv266, ty_Integer) -> new_quot2(new_sr9(vyv267, vyv268), new_sr9(vyv265, vyv266), new_sr9(vyv267, vyv268)) 214.33/145.98 new_sr9(vyv240, vyv239) -> error([]) 214.33/145.98 new_quot2(vyv274, vyv276, vyv275) -> error([]) 214.33/145.98 new_sr10(Pos(vyv2400), Pos(vyv2390)) -> Pos(new_primMulNat0(vyv2400, vyv2390)) 214.33/145.98 new_sr10(Neg(vyv2400), Neg(vyv2390)) -> Pos(new_primMulNat0(vyv2400, vyv2390)) 214.33/145.98 new_sr10(Pos(vyv2400), Neg(vyv2390)) -> Neg(new_primMulNat0(vyv2400, vyv2390)) 214.33/145.98 new_sr10(Neg(vyv2400), Pos(vyv2390)) -> Neg(new_primMulNat0(vyv2400, vyv2390)) 214.33/145.98 new_quot(Pos(vyv2710), vyv273, vyv272) -> new_primQuotInt(vyv2710, new_gcd(vyv273, vyv272)) 214.33/145.98 new_quot(Neg(vyv2710), vyv273, vyv272) -> new_primQuotInt0(vyv2710, new_gcd(vyv273, vyv272)) 214.33/145.98 new_gcd(vyv273, vyv272) -> new_gcd2(new_esEs(vyv273), vyv273, vyv272) 214.33/145.98 new_primQuotInt0(vyv2710, Pos(Succ(vyv28800))) -> Neg(new_primDivNatS1(vyv2710, vyv28800)) 214.33/145.98 new_primQuotInt0(vyv2710, Neg(Zero)) -> new_error 214.33/145.98 new_primQuotInt0(vyv2710, Neg(Succ(vyv28800))) -> Pos(new_primDivNatS1(vyv2710, vyv28800)) 214.33/145.98 new_primQuotInt0(vyv2710, Pos(Zero)) -> new_error 214.33/145.98 new_error -> error([]) 214.33/145.98 new_primDivNatS1(Succ(Succ(vyv271000)), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS0(vyv271000), Zero)) 214.33/145.98 new_primDivNatS1(Succ(Zero), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS1, Zero)) 214.33/145.98 new_primMinusNatS1 -> Zero 214.33/145.98 new_primMinusNatS0(vyv271000) -> Succ(vyv271000) 214.33/145.98 new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) 214.33/145.98 new_esEs(Pos(Succ(vyv24300))) -> new_primEqInt(Pos(Succ(vyv24300))) 214.33/145.98 new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) 214.33/145.98 new_esEs(Neg(Succ(vyv24300))) -> new_primEqInt(Neg(Succ(vyv24300))) 214.33/145.98 new_gcd2(True, vyv273, vyv272) -> new_gcd1(new_esEs(vyv272), vyv273, vyv272) 214.33/145.98 new_gcd2(False, vyv273, vyv272) -> new_gcd0(vyv273, vyv272) 214.33/145.98 new_gcd0(vyv273, vyv272) -> new_gcd0Gcd'11(new_esEs(new_abs(vyv272)), vyv273, vyv272) 214.33/145.98 new_abs(Neg(Zero)) -> Neg(Zero) 214.33/145.98 new_abs(Neg(Succ(vyv27200))) -> Pos(Succ(vyv27200)) 214.33/145.98 new_abs(Pos(Succ(vyv27200))) -> Pos(Succ(vyv27200)) 214.33/145.98 new_abs(Pos(Zero)) -> Pos(Zero) 214.33/145.98 new_gcd0Gcd'11(True, vyv273, vyv272) -> new_abs(vyv273) 214.33/145.98 new_gcd0Gcd'11(False, vyv273, vyv272) -> new_gcd0Gcd'00(new_abs(vyv273), new_abs(vyv272)) 214.33/145.98 new_gcd0Gcd'10(False, vyv292, vyv293) -> new_gcd0Gcd'00(vyv292, new_rem(vyv293, vyv292)) 214.33/145.98 new_gcd0Gcd'00(vyv293, vyv292) -> new_gcd0Gcd'10(new_esEs(new_rem(vyv293, vyv292)), vyv292, vyv293) 214.33/145.98 new_rem(Pos(vyv2930), Neg(Zero)) -> new_error 214.33/145.98 new_rem(Neg(vyv2930), Pos(Zero)) -> new_error 214.33/145.98 new_rem(Pos(vyv2930), Neg(Succ(vyv29200))) -> Pos(new_primModNatS1(vyv2930, vyv29200)) 214.33/145.98 new_rem(Neg(vyv2930), Pos(Succ(vyv29200))) -> Neg(new_primModNatS1(vyv2930, vyv29200)) 214.33/145.98 new_rem(Pos(vyv2930), Pos(Succ(vyv29200))) -> Pos(new_primModNatS1(vyv2930, vyv29200)) 214.33/145.98 new_rem(Neg(vyv2930), Neg(Zero)) -> new_error 214.33/145.98 new_rem(Neg(vyv2930), Neg(Succ(vyv29200))) -> Neg(new_primModNatS1(vyv2930, vyv29200)) 214.33/145.98 new_rem(Pos(vyv2930), Pos(Zero)) -> new_error 214.33/145.98 new_gcd0Gcd'10(True, vyv292, vyv293) -> vyv292 214.33/145.98 new_primModNatS1(Succ(Zero), Succ(vyv292000)) -> Succ(Zero) 214.33/145.98 new_primModNatS1(Zero, vyv29200) -> Zero 214.33/145.98 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 214.33/145.98 new_primModNatS1(Succ(Succ(vyv293000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv293000), Zero) 214.33/145.98 new_primModNatS1(Succ(Succ(vyv293000)), Succ(vyv292000)) -> new_primModNatS01(vyv293000, vyv292000, vyv293000, vyv292000) 214.33/145.98 new_primModNatS01(vyv331, vyv332, Zero, Zero) -> new_primModNatS02(vyv331, vyv332) 214.33/145.98 new_primModNatS02(vyv331, vyv332) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv331), Succ(vyv332)), Succ(vyv332)) 214.33/145.98 new_primModNatS01(vyv331, vyv332, Succ(vyv3330), Zero) -> new_primModNatS02(vyv331, vyv332) 214.33/145.98 new_primModNatS01(vyv331, vyv332, Succ(vyv3330), Succ(vyv3340)) -> new_primModNatS01(vyv331, vyv332, vyv3330, vyv3340) 214.33/145.98 new_primModNatS01(vyv331, vyv332, Zero, Succ(vyv3340)) -> Succ(Succ(vyv331)) 214.33/145.98 new_gcd1(True, vyv273, vyv272) -> new_error 214.33/145.98 new_gcd1(False, vyv273, vyv272) -> new_gcd0(vyv273, vyv272) 214.33/145.98 new_primEqInt(Neg(Succ(vyv242000))) -> False 214.33/145.98 new_primEqInt(Pos(Zero)) -> True 214.33/145.98 new_primEqInt(Pos(Succ(vyv242000))) -> False 214.33/145.98 new_primEqInt(Neg(Zero)) -> True 214.33/145.98 new_primQuotInt(vyv2710, Pos(Succ(vyv28500))) -> Pos(new_primDivNatS1(vyv2710, vyv28500)) 214.33/145.98 new_primQuotInt(vyv2710, Neg(Zero)) -> new_error 214.33/145.98 new_primQuotInt(vyv2710, Pos(Zero)) -> new_error 214.33/145.98 new_primQuotInt(vyv2710, Neg(Succ(vyv28500))) -> Neg(new_primDivNatS1(vyv2710, vyv28500)) 214.33/145.98 new_primMulNat0(Zero, Succ(vyv23900)) -> Zero 214.33/145.98 new_primMulNat0(Succ(vyv24000), Succ(vyv23900)) -> new_primPlusNat0(new_primMulNat0(vyv24000, Succ(vyv23900)), Succ(vyv23900)) 214.33/145.98 new_primMulNat0(Succ(vyv24000), Zero) -> Zero 214.33/145.98 new_primMulNat0(Zero, Zero) -> Zero 214.33/145.98 new_primPlusNat0(Succ(vyv4000), Succ(vyv6000)) -> Succ(Succ(new_primPlusNat0(vyv4000, vyv6000))) 214.33/145.98 new_primPlusNat0(Zero, Succ(vyv6000)) -> Succ(vyv6000) 214.33/145.98 new_primPlusNat0(Zero, Zero) -> Zero 214.33/145.98 new_primPlusNat0(Succ(vyv4000), Zero) -> Succ(vyv4000) 214.33/145.98 new_sr6(vyv184) -> error([]) 214.33/145.98 new_esEs1(Integer(vyv2700)) -> new_primEqInt(vyv2700) 214.33/145.98 new_sr7(Pos(vyv1840)) -> Pos(new_primMulNat1(vyv1840)) 214.33/145.98 new_sr7(Neg(vyv1840)) -> Pos(new_primMulNat1(vyv1840)) 214.33/145.98 new_primMulNat1(Succ(vyv18400)) -> new_primPlusNat0(new_primMulNat2(vyv18400), Succ(vyv18400)) 214.33/145.98 new_primMulNat1(Zero) -> Zero 214.33/145.98 new_primMulNat2(Succ(vyv184000)) -> new_primPlusNat0(new_primMulNat3(vyv184000), Succ(Succ(vyv184000))) 214.33/145.98 new_primMulNat2(Zero) -> Zero 214.33/145.98 new_primMulNat3(Succ(vyv1840000)) -> new_primPlusNat0(new_primMulNat4(vyv1840000), Succ(Succ(Succ(vyv1840000)))) 214.33/145.98 new_primMulNat3(Zero) -> Zero 214.33/145.98 new_primMulNat4(Succ(vyv18400000)) -> new_primPlusNat0(new_primMulNat0(vyv18400000, Succ(Succ(Succ(Succ(vyv18400000))))), Succ(Succ(Succ(Succ(vyv18400000))))) 214.33/145.98 new_primMulNat4(Zero) -> Zero 214.33/145.98 new_sr12(vyv184) -> error([]) 214.33/145.98 new_sr11(vyv184) -> error([]) 214.33/145.98 new_sr4(vyv240, vyv239, app(ty_Ratio, be)) -> new_sr8(vyv240, vyv239, be) 214.33/145.98 new_sr4(vyv240, vyv239, ty_Float) -> new_sr14(vyv240, vyv239) 214.33/145.98 new_sr4(vyv240, vyv239, ty_Int) -> new_sr10(vyv240, vyv239) 214.33/145.98 new_sr4(vyv240, vyv239, ty_Double) -> new_sr13(vyv240, vyv239) 214.33/145.98 new_sr4(vyv240, vyv239, ty_Integer) -> new_sr9(vyv240, vyv239) 214.33/145.98 new_sr13(vyv240, vyv239) -> error([]) 214.33/145.98 new_sr14(vyv240, vyv239) -> error([]) 214.33/145.98 new_sr8(:%(vyv2400, vyv2401), :%(vyv2390, vyv2391), be) -> new_reduce2Reduce1(vyv2400, vyv2390, vyv2401, vyv2391, new_esEs2(vyv2401, vyv2391, be), be) 214.33/145.98 new_esEs2(vyv2401, vyv2391, ty_Integer) -> new_esEs1(new_sr9(vyv2401, vyv2391)) 214.33/145.98 new_esEs2(vyv2401, vyv2391, ty_Int) -> new_esEs(new_sr10(vyv2401, vyv2391)) 214.33/145.98 anew_new_pr2F0G10(Succ(Succ(vyv25200))) -> new_new_pr2F0G10(vyv25200) 214.33/145.98 new_new_pr2F0G10(Succ(Succ(vyv25200))) -> new_new_pr2F0G10(vyv25200) 214.33/145.98 new_new_pr2F0G10(Succ(Zero)) -> cons_new_pr2F0G10(Succ(Zero)) 214.33/145.98 new_new_pr2F0G10(Zero) -> cons_new_pr2F0G10(Zero) 214.33/145.98 214.33/145.98 The set Q consists of the following terms: 214.33/145.98 214.33/145.98 new_sr13(x0, x1) 214.33/145.98 new_primDivNatS01(x0, x1, Zero, Zero) 214.33/145.98 new_gcd0Gcd'11(False, x0, x1) 214.33/145.98 new_primMulNat4(Zero) 214.33/145.98 new_gcd0Gcd'11(True, x0, x1) 214.33/145.98 new_sr5(:%(x0, x1), x2) 214.33/145.98 new_primEqInt(Pos(Zero)) 214.33/145.98 new_esEs(Pos(Succ(x0))) 214.33/145.98 new_primQuotInt0(x0, Neg(Zero)) 214.33/145.98 new_primMulNat3(Zero) 214.33/145.98 new_primModNatS02(x0, x1) 214.33/145.98 new_primDivNatS1(Succ(Zero), Zero) 214.33/145.98 new_primMinusNatS0(x0) 214.33/145.98 new_sr11(x0) 214.33/145.98 new_rem(Pos(x0), Neg(Succ(x1))) 214.33/145.98 new_rem(Neg(x0), Pos(Succ(x1))) 214.33/145.98 new_primMulNat0(Zero, Zero) 214.33/145.98 new_primPlusNat0(Succ(x0), Zero) 214.33/145.98 new_primMulNat0(Succ(x0), Zero) 214.33/145.98 new_sr3(x0, ty_Float) 214.33/145.98 new_primMulNat2(Zero) 214.33/145.98 new_primQuotInt(x0, Pos(Zero)) 214.33/145.98 new_primMulNat2(Succ(x0)) 214.33/145.98 new_primQuotInt(x0, Neg(Zero)) 214.33/145.98 new_rem(Neg(x0), Neg(Succ(x1))) 214.33/145.98 new_primMinusNatS2(Zero, Succ(x0)) 214.33/145.98 new_sr4(x0, x1, ty_Double) 214.33/145.98 new_primMulNat3(Succ(x0)) 214.33/145.98 new_esEs1(Integer(x0)) 214.33/145.98 new_primQuotInt0(x0, Pos(Zero)) 214.33/145.98 new_gcd2(True, x0, x1) 214.33/145.98 new_quot1(x0, x1, x2, x3, ty_Int) 214.33/145.98 new_primDivNatS1(Zero, x0) 214.33/145.98 new_gcd(x0, x1) 214.33/145.98 new_gcd1(False, x0, x1) 214.33/145.98 new_esEs2(x0, x1, ty_Int) 214.33/145.98 new_sr3(x0, ty_Integer) 214.33/145.98 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 214.33/145.98 new_primPlusNat0(Zero, Succ(x0)) 214.33/145.98 new_sr8(:%(x0, x1), :%(x2, x3), x4) 214.33/145.98 new_abs(Neg(Zero)) 214.33/145.98 new_primMinusNatS2(Succ(x0), Zero) 214.33/145.98 new_error 214.33/145.98 new_primModNatS1(Succ(Zero), Zero) 214.33/145.98 new_primMulNat4(Succ(x0)) 214.33/145.98 new_primDivNatS02(x0, x1) 214.33/145.98 new_rem(Neg(x0), Neg(Zero)) 214.33/145.98 new_primEqInt(Neg(Zero)) 214.33/145.98 new_rem(Pos(x0), Pos(Succ(x1))) 214.33/145.98 new_abs(Pos(Succ(x0))) 214.33/145.98 new_primMulNat0(Succ(x0), Succ(x1)) 214.33/145.98 new_primMulNat0(Zero, Succ(x0)) 214.33/145.98 new_reduce2Reduce1(x0, x1, x2, x3, True, x4) 214.33/145.98 new_gcd0Gcd'10(False, x0, x1) 214.33/145.98 new_sr12(x0) 214.33/145.98 new_primDivNatS01(x0, x1, Zero, Succ(x2)) 214.33/145.98 new_sr10(Pos(x0), Pos(x1)) 214.33/145.98 new_primModNatS01(x0, x1, Zero, Succ(x2)) 214.33/145.98 new_primPlusNat0(Zero, Zero) 214.33/145.98 new_primQuotInt0(x0, Pos(Succ(x1))) 214.33/145.98 new_primModNatS01(x0, x1, Succ(x2), Zero) 214.33/145.98 new_primModNatS1(Succ(Succ(x0)), Zero) 214.33/145.98 new_sr4(x0, x1, ty_Integer) 214.33/145.98 new_rem(Pos(x0), Pos(Zero)) 214.33/145.98 new_sr4(x0, x1, ty_Int) 214.33/145.98 new_quot(Pos(x0), x1, x2) 214.33/145.98 new_primMinusNatS2(Zero, Zero) 214.33/145.98 new_esEs0(x0, ty_Int) 214.33/145.98 new_esEs(Pos(Zero)) 214.33/145.98 new_quot(Neg(x0), x1, x2) 214.33/145.98 new_primDivNatS01(x0, x1, Succ(x2), Succ(x3)) 214.33/145.98 new_quot2(x0, x1, x2) 214.33/145.98 new_primEqInt(Neg(Succ(x0))) 214.33/145.98 new_sr10(Neg(x0), Neg(x1)) 214.33/145.98 new_sr3(x0, app(ty_Ratio, x1)) 214.33/145.98 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 214.33/145.98 new_sr9(x0, x1) 214.33/145.98 new_sr7(Neg(x0)) 214.33/145.98 new_primQuotInt0(x0, Neg(Succ(x1))) 214.33/145.98 new_rem(Pos(x0), Neg(Zero)) 214.33/145.98 new_rem(Neg(x0), Pos(Zero)) 214.33/145.98 new_gcd0Gcd'00(x0, x1) 214.33/145.98 new_primQuotInt(x0, Neg(Succ(x1))) 214.33/145.98 new_primMinusNatS2(Succ(x0), Succ(x1)) 214.33/145.98 new_abs(Pos(Zero)) 214.33/145.98 new_quot0(x0, x1, x2, x3, ty_Integer) 214.33/145.98 new_sr6(x0) 214.33/145.98 new_gcd2(False, x0, x1) 214.33/145.98 new_gcd1(True, x0, x1) 214.33/145.98 new_esEs2(x0, x1, ty_Integer) 214.33/145.98 new_primMinusNatS1 214.33/145.98 new_sr7(Pos(x0)) 214.33/145.98 new_gcd0Gcd'10(True, x0, x1) 214.33/145.98 new_primModNatS1(Zero, x0) 214.33/145.98 new_sr4(x0, x1, ty_Float) 214.33/145.98 new_sr10(Pos(x0), Neg(x1)) 214.33/145.98 new_sr10(Neg(x0), Pos(x1)) 214.33/145.98 new_primDivNatS01(x0, x1, Succ(x2), Zero) 214.33/145.98 new_primDivNatS1(Succ(Succ(x0)), Succ(x1)) 214.33/145.98 new_primPlusNat0(Succ(x0), Succ(x1)) 214.33/145.98 new_primDivNatS1(Succ(Zero), Succ(x0)) 214.33/145.98 new_primQuotInt(x0, Pos(Succ(x1))) 214.33/145.98 new_abs(Neg(Succ(x0))) 214.33/145.98 new_esEs0(x0, ty_Integer) 214.33/145.98 new_sr3(x0, ty_Int) 214.33/145.98 new_esEs(Neg(Succ(x0))) 214.33/145.98 new_primModNatS01(x0, x1, Zero, Zero) 214.33/145.98 new_sr4(x0, x1, app(ty_Ratio, x2)) 214.33/145.98 new_gcd0(x0, x1) 214.33/145.98 new_primEqInt(Pos(Succ(x0))) 214.33/145.98 new_sr3(x0, ty_Double) 214.33/145.98 new_quot1(x0, x1, x2, x3, ty_Integer) 214.33/145.98 new_primDivNatS1(Succ(Succ(x0)), Zero) 214.33/145.98 new_primMulNat1(Succ(x0)) 214.33/145.98 new_sr14(x0, x1) 214.33/145.98 new_quot0(x0, x1, x2, x3, ty_Int) 214.33/145.98 new_primModNatS1(Succ(Zero), Succ(x0)) 214.33/145.98 new_reduce2Reduce1(x0, x1, x2, x3, False, x4) 214.33/145.98 new_esEs(Neg(Zero)) 214.33/145.98 new_primMulNat1(Zero) 214.33/145.98 new_new_pr2F0G10(Succ(Succ(x0))) 214.33/145.98 anew_new_pr2F0G10(Succ(Succ(x0))) 214.33/145.98 new_new_pr2F0G10(Succ(Zero)) 214.33/145.98 new_new_pr2F0G10(Zero) 214.33/145.98 214.33/145.98 We have to consider all minimal (P,Q,R)-chains. 214.33/145.98 ---------------------------------------- 214.33/145.98 214.33/145.98 (806) TransformationProof (EQUIVALENT) 214.33/145.98 By narrowing [LPAR04] the rule new_pr2F0G10(vyv249, vyv250, vyv251, Zero, bb) -> new_pr2F0G(vyv249, new_sr3(vyv250, bb), Neg(new_primDivNatS1(Succ(vyv251), Succ(Zero))), bb) at position [2,0] we obtained the following new rules [LPAR04]: 214.33/145.98 214.33/145.98 (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)) 214.33/145.98 (new_pr2F0G10(y0, y1, Succ(x0), Zero, y3) -> new_pr2F0G(y0, new_sr3(y1, y3), Neg(new_primDivNatS01(x0, Zero, x0, Zero)), y3),new_pr2F0G10(y0, y1, Succ(x0), Zero, y3) -> new_pr2F0G(y0, new_sr3(y1, y3), Neg(new_primDivNatS01(x0, Zero, x0, Zero)), y3)) 214.33/145.98 214.33/145.98 214.33/145.98 ---------------------------------------- 214.33/145.98 214.33/145.98 (807) 214.33/145.98 Obligation: 214.33/145.98 Q DP problem: 214.33/145.98 The TRS P consists of the following rules: 214.33/145.98 214.33/145.98 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) 214.33/145.98 new_pr2F0(vyv184, Neg(Succ(Succ(vyv223000))), vyv188, h) -> new_pr2F0G10(vyv188, vyv184, Succ(vyv223000), vyv223000, h) 214.33/145.98 new_pr2F0G10(vyv249, vyv250, vyv251, Succ(Zero), bb) -> new_pr2F0G11(vyv249, vyv250, vyv251, bb) 214.33/145.98 new_pr2F0G11(vyv239, vyv240, vyv241, bc) -> new_pr2F1(vyv240, vyv241, Pos(Succ(Zero)), vyv239, bc) 214.33/145.98 new_pr2F1(z1, z2, Pos(Succ(Zero)), z0, z3) -> new_pr2F30(False, z1, z2, Pos(Succ(Zero)), z0, z3) 214.33/145.98 new_pr2F0G(vyv188, vyv184, Neg(Succ(Zero)), h) -> new_pr2F0G11(vyv188, vyv184, Zero, h) 214.33/145.98 new_pr2F0G(vyv188, vyv184, Neg(Succ(Succ(vyv223000))), h) -> new_pr2F0G10(vyv188, vyv184, Succ(vyv223000), vyv223000, h) 214.33/145.98 new_pr2F0(vyv184, Neg(Succ(Succ(vyv223000))), vyv188, h) -> H(vyv188, vyv184, Succ(vyv223000), h, anew_new_pr2F0G10(vyv223000)) 214.33/145.98 new_pr2F0G(vyv188, vyv184, Neg(Succ(Succ(vyv223000))), h) -> H(vyv188, vyv184, Succ(vyv223000), h, anew_new_pr2F0G10(vyv223000)) 214.33/145.98 H(vyv249, vyv250, vyv251, bb, cons_new_pr2F0G10(Succ(Zero))) -> new_pr2F0G10(vyv249, vyv250, vyv251, Succ(Zero), bb) 214.33/145.98 H(vyv249, vyv250, vyv251, bb, cons_new_pr2F0G10(Zero)) -> new_pr2F0G10(vyv249, vyv250, vyv251, Zero, bb) 214.33/145.98 new_pr2F0G10(y0, y1, Zero, Zero, y3) -> new_pr2F0G(y0, new_sr3(y1, y3), Neg(Zero), y3) 214.33/145.98 new_pr2F0G10(y0, y1, Succ(x0), Zero, y3) -> new_pr2F0G(y0, new_sr3(y1, y3), Neg(new_primDivNatS01(x0, Zero, x0, Zero)), y3) 214.33/145.98 214.33/145.98 The TRS R consists of the following rules: 214.33/145.98 214.33/145.98 new_sr3(vyv250, ty_Double) -> new_sr11(vyv250) 214.33/145.98 new_sr3(vyv250, ty_Int) -> new_sr7(vyv250) 214.33/145.98 new_sr3(vyv250, ty_Float) -> new_sr12(vyv250) 214.33/145.98 new_sr3(vyv250, ty_Integer) -> new_sr6(vyv250) 214.33/145.98 new_sr3(vyv250, app(ty_Ratio, bf)) -> new_sr5(vyv250, bf) 214.33/145.98 new_primDivNatS1(Succ(Zero), Succ(vyv285000)) -> Zero 214.33/145.98 new_primDivNatS1(Succ(Succ(vyv271000)), Succ(vyv285000)) -> new_primDivNatS01(vyv271000, vyv285000, vyv271000, vyv285000) 214.33/145.98 new_primDivNatS01(vyv311, vyv312, Succ(vyv3130), Zero) -> new_primDivNatS02(vyv311, vyv312) 214.33/145.98 new_primDivNatS01(vyv311, vyv312, Zero, Succ(vyv3140)) -> Zero 214.33/145.98 new_primDivNatS01(vyv311, vyv312, Succ(vyv3130), Succ(vyv3140)) -> new_primDivNatS01(vyv311, vyv312, vyv3130, vyv3140) 214.33/145.98 new_primDivNatS01(vyv311, vyv312, Zero, Zero) -> new_primDivNatS02(vyv311, vyv312) 214.33/145.98 new_primDivNatS02(vyv311, vyv312) -> Succ(new_primDivNatS1(new_primMinusNatS2(vyv311, vyv312), Succ(vyv312))) 214.33/145.98 new_primMinusNatS2(Zero, Succ(vyv3120)) -> Zero 214.33/145.98 new_primMinusNatS2(Succ(vyv3110), Zero) -> Succ(vyv3110) 214.33/145.98 new_primMinusNatS2(Zero, Zero) -> Zero 214.33/145.98 new_primMinusNatS2(Succ(vyv3110), Succ(vyv3120)) -> new_primMinusNatS2(vyv3110, vyv3120) 214.33/145.98 new_primDivNatS1(Zero, vyv28500) -> Zero 214.33/145.98 new_sr5(:%(vyv1840, vyv1841), bd) -> new_reduce2Reduce1(vyv1840, vyv1840, vyv1841, vyv1841, new_esEs0(vyv1841, bd), bd) 214.33/145.98 new_esEs0(vyv1841, ty_Int) -> new_esEs(new_sr7(vyv1841)) 214.33/145.98 new_esEs0(vyv1841, ty_Integer) -> new_esEs1(new_sr6(vyv1841)) 214.33/145.98 new_reduce2Reduce1(vyv265, vyv266, vyv267, vyv268, False, bh) -> :%(new_quot0(vyv265, vyv266, vyv267, vyv268, bh), new_quot1(vyv267, vyv268, vyv265, vyv266, bh)) 214.33/145.98 new_reduce2Reduce1(vyv265, vyv266, vyv267, vyv268, True, bh) -> error([]) 214.33/145.98 new_quot0(vyv265, vyv266, vyv267, vyv268, ty_Integer) -> new_quot2(new_sr9(vyv265, vyv266), new_sr9(vyv265, vyv266), new_sr9(vyv267, vyv268)) 214.33/145.98 new_quot0(vyv265, vyv266, vyv267, vyv268, ty_Int) -> new_quot(new_sr10(vyv265, vyv266), new_sr10(vyv265, vyv266), new_sr10(vyv267, vyv268)) 214.33/145.98 new_quot1(vyv267, vyv268, vyv265, vyv266, ty_Int) -> new_quot(new_sr10(vyv267, vyv268), new_sr10(vyv265, vyv266), new_sr10(vyv267, vyv268)) 214.33/145.98 new_quot1(vyv267, vyv268, vyv265, vyv266, ty_Integer) -> new_quot2(new_sr9(vyv267, vyv268), new_sr9(vyv265, vyv266), new_sr9(vyv267, vyv268)) 214.33/145.98 new_sr9(vyv240, vyv239) -> error([]) 214.33/145.98 new_quot2(vyv274, vyv276, vyv275) -> error([]) 214.33/145.98 new_sr10(Pos(vyv2400), Pos(vyv2390)) -> Pos(new_primMulNat0(vyv2400, vyv2390)) 214.33/145.98 new_sr10(Neg(vyv2400), Neg(vyv2390)) -> Pos(new_primMulNat0(vyv2400, vyv2390)) 214.33/145.98 new_sr10(Pos(vyv2400), Neg(vyv2390)) -> Neg(new_primMulNat0(vyv2400, vyv2390)) 214.33/145.98 new_sr10(Neg(vyv2400), Pos(vyv2390)) -> Neg(new_primMulNat0(vyv2400, vyv2390)) 214.33/145.98 new_quot(Pos(vyv2710), vyv273, vyv272) -> new_primQuotInt(vyv2710, new_gcd(vyv273, vyv272)) 214.33/145.98 new_quot(Neg(vyv2710), vyv273, vyv272) -> new_primQuotInt0(vyv2710, new_gcd(vyv273, vyv272)) 214.33/145.98 new_gcd(vyv273, vyv272) -> new_gcd2(new_esEs(vyv273), vyv273, vyv272) 214.33/145.98 new_primQuotInt0(vyv2710, Pos(Succ(vyv28800))) -> Neg(new_primDivNatS1(vyv2710, vyv28800)) 214.33/145.98 new_primQuotInt0(vyv2710, Neg(Zero)) -> new_error 214.33/145.98 new_primQuotInt0(vyv2710, Neg(Succ(vyv28800))) -> Pos(new_primDivNatS1(vyv2710, vyv28800)) 214.33/145.98 new_primQuotInt0(vyv2710, Pos(Zero)) -> new_error 214.33/145.98 new_error -> error([]) 214.33/145.98 new_primDivNatS1(Succ(Succ(vyv271000)), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS0(vyv271000), Zero)) 214.33/145.98 new_primDivNatS1(Succ(Zero), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS1, Zero)) 214.33/145.98 new_primMinusNatS1 -> Zero 214.33/145.98 new_primMinusNatS0(vyv271000) -> Succ(vyv271000) 214.33/145.98 new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) 214.33/145.98 new_esEs(Pos(Succ(vyv24300))) -> new_primEqInt(Pos(Succ(vyv24300))) 214.33/145.98 new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) 214.33/145.98 new_esEs(Neg(Succ(vyv24300))) -> new_primEqInt(Neg(Succ(vyv24300))) 214.33/145.98 new_gcd2(True, vyv273, vyv272) -> new_gcd1(new_esEs(vyv272), vyv273, vyv272) 214.33/145.98 new_gcd2(False, vyv273, vyv272) -> new_gcd0(vyv273, vyv272) 214.33/145.98 new_gcd0(vyv273, vyv272) -> new_gcd0Gcd'11(new_esEs(new_abs(vyv272)), vyv273, vyv272) 214.33/145.98 new_abs(Neg(Zero)) -> Neg(Zero) 214.33/145.98 new_abs(Neg(Succ(vyv27200))) -> Pos(Succ(vyv27200)) 214.33/145.98 new_abs(Pos(Succ(vyv27200))) -> Pos(Succ(vyv27200)) 214.33/145.98 new_abs(Pos(Zero)) -> Pos(Zero) 214.33/145.98 new_gcd0Gcd'11(True, vyv273, vyv272) -> new_abs(vyv273) 214.33/145.98 new_gcd0Gcd'11(False, vyv273, vyv272) -> new_gcd0Gcd'00(new_abs(vyv273), new_abs(vyv272)) 214.33/145.98 new_gcd0Gcd'10(False, vyv292, vyv293) -> new_gcd0Gcd'00(vyv292, new_rem(vyv293, vyv292)) 214.33/145.98 new_gcd0Gcd'00(vyv293, vyv292) -> new_gcd0Gcd'10(new_esEs(new_rem(vyv293, vyv292)), vyv292, vyv293) 214.33/145.98 new_rem(Pos(vyv2930), Neg(Zero)) -> new_error 214.33/145.98 new_rem(Neg(vyv2930), Pos(Zero)) -> new_error 214.33/145.98 new_rem(Pos(vyv2930), Neg(Succ(vyv29200))) -> Pos(new_primModNatS1(vyv2930, vyv29200)) 214.33/145.98 new_rem(Neg(vyv2930), Pos(Succ(vyv29200))) -> Neg(new_primModNatS1(vyv2930, vyv29200)) 214.33/145.98 new_rem(Pos(vyv2930), Pos(Succ(vyv29200))) -> Pos(new_primModNatS1(vyv2930, vyv29200)) 214.33/145.98 new_rem(Neg(vyv2930), Neg(Zero)) -> new_error 214.33/145.98 new_rem(Neg(vyv2930), Neg(Succ(vyv29200))) -> Neg(new_primModNatS1(vyv2930, vyv29200)) 214.33/145.98 new_rem(Pos(vyv2930), Pos(Zero)) -> new_error 214.33/145.98 new_gcd0Gcd'10(True, vyv292, vyv293) -> vyv292 214.33/145.98 new_primModNatS1(Succ(Zero), Succ(vyv292000)) -> Succ(Zero) 214.33/145.98 new_primModNatS1(Zero, vyv29200) -> Zero 214.33/145.98 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 214.33/145.98 new_primModNatS1(Succ(Succ(vyv293000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv293000), Zero) 214.33/145.98 new_primModNatS1(Succ(Succ(vyv293000)), Succ(vyv292000)) -> new_primModNatS01(vyv293000, vyv292000, vyv293000, vyv292000) 214.33/145.98 new_primModNatS01(vyv331, vyv332, Zero, Zero) -> new_primModNatS02(vyv331, vyv332) 214.33/145.98 new_primModNatS02(vyv331, vyv332) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv331), Succ(vyv332)), Succ(vyv332)) 214.33/145.98 new_primModNatS01(vyv331, vyv332, Succ(vyv3330), Zero) -> new_primModNatS02(vyv331, vyv332) 214.33/145.98 new_primModNatS01(vyv331, vyv332, Succ(vyv3330), Succ(vyv3340)) -> new_primModNatS01(vyv331, vyv332, vyv3330, vyv3340) 214.33/145.98 new_primModNatS01(vyv331, vyv332, Zero, Succ(vyv3340)) -> Succ(Succ(vyv331)) 214.33/145.98 new_gcd1(True, vyv273, vyv272) -> new_error 214.33/145.98 new_gcd1(False, vyv273, vyv272) -> new_gcd0(vyv273, vyv272) 214.33/145.98 new_primEqInt(Neg(Succ(vyv242000))) -> False 214.33/145.98 new_primEqInt(Pos(Zero)) -> True 214.33/145.98 new_primEqInt(Pos(Succ(vyv242000))) -> False 214.33/145.98 new_primEqInt(Neg(Zero)) -> True 214.33/145.98 new_primQuotInt(vyv2710, Pos(Succ(vyv28500))) -> Pos(new_primDivNatS1(vyv2710, vyv28500)) 214.33/145.98 new_primQuotInt(vyv2710, Neg(Zero)) -> new_error 214.33/145.98 new_primQuotInt(vyv2710, Pos(Zero)) -> new_error 214.33/145.98 new_primQuotInt(vyv2710, Neg(Succ(vyv28500))) -> Neg(new_primDivNatS1(vyv2710, vyv28500)) 214.33/145.98 new_primMulNat0(Zero, Succ(vyv23900)) -> Zero 214.33/145.98 new_primMulNat0(Succ(vyv24000), Succ(vyv23900)) -> new_primPlusNat0(new_primMulNat0(vyv24000, Succ(vyv23900)), Succ(vyv23900)) 214.33/145.98 new_primMulNat0(Succ(vyv24000), Zero) -> Zero 214.33/145.98 new_primMulNat0(Zero, Zero) -> Zero 214.33/145.98 new_primPlusNat0(Succ(vyv4000), Succ(vyv6000)) -> Succ(Succ(new_primPlusNat0(vyv4000, vyv6000))) 214.33/145.98 new_primPlusNat0(Zero, Succ(vyv6000)) -> Succ(vyv6000) 214.33/145.98 new_primPlusNat0(Zero, Zero) -> Zero 214.33/145.98 new_primPlusNat0(Succ(vyv4000), Zero) -> Succ(vyv4000) 214.33/145.98 new_sr6(vyv184) -> error([]) 214.33/145.98 new_esEs1(Integer(vyv2700)) -> new_primEqInt(vyv2700) 214.33/145.98 new_sr7(Pos(vyv1840)) -> Pos(new_primMulNat1(vyv1840)) 214.33/145.98 new_sr7(Neg(vyv1840)) -> Pos(new_primMulNat1(vyv1840)) 214.33/145.98 new_primMulNat1(Succ(vyv18400)) -> new_primPlusNat0(new_primMulNat2(vyv18400), Succ(vyv18400)) 214.33/145.98 new_primMulNat1(Zero) -> Zero 214.33/145.98 new_primMulNat2(Succ(vyv184000)) -> new_primPlusNat0(new_primMulNat3(vyv184000), Succ(Succ(vyv184000))) 214.33/145.98 new_primMulNat2(Zero) -> Zero 214.33/145.98 new_primMulNat3(Succ(vyv1840000)) -> new_primPlusNat0(new_primMulNat4(vyv1840000), Succ(Succ(Succ(vyv1840000)))) 214.33/145.98 new_primMulNat3(Zero) -> Zero 214.33/145.98 new_primMulNat4(Succ(vyv18400000)) -> new_primPlusNat0(new_primMulNat0(vyv18400000, Succ(Succ(Succ(Succ(vyv18400000))))), Succ(Succ(Succ(Succ(vyv18400000))))) 214.33/145.98 new_primMulNat4(Zero) -> Zero 214.33/145.98 new_sr12(vyv184) -> error([]) 214.33/145.98 new_sr11(vyv184) -> error([]) 214.33/145.98 new_sr4(vyv240, vyv239, app(ty_Ratio, be)) -> new_sr8(vyv240, vyv239, be) 214.33/145.98 new_sr4(vyv240, vyv239, ty_Float) -> new_sr14(vyv240, vyv239) 214.33/145.98 new_sr4(vyv240, vyv239, ty_Int) -> new_sr10(vyv240, vyv239) 214.33/145.98 new_sr4(vyv240, vyv239, ty_Double) -> new_sr13(vyv240, vyv239) 214.33/145.98 new_sr4(vyv240, vyv239, ty_Integer) -> new_sr9(vyv240, vyv239) 214.33/145.98 new_sr13(vyv240, vyv239) -> error([]) 214.33/145.98 new_sr14(vyv240, vyv239) -> error([]) 214.33/145.98 new_sr8(:%(vyv2400, vyv2401), :%(vyv2390, vyv2391), be) -> new_reduce2Reduce1(vyv2400, vyv2390, vyv2401, vyv2391, new_esEs2(vyv2401, vyv2391, be), be) 214.33/145.98 new_esEs2(vyv2401, vyv2391, ty_Integer) -> new_esEs1(new_sr9(vyv2401, vyv2391)) 214.33/145.98 new_esEs2(vyv2401, vyv2391, ty_Int) -> new_esEs(new_sr10(vyv2401, vyv2391)) 214.33/145.98 anew_new_pr2F0G10(Succ(Succ(vyv25200))) -> new_new_pr2F0G10(vyv25200) 214.33/145.98 new_new_pr2F0G10(Succ(Succ(vyv25200))) -> new_new_pr2F0G10(vyv25200) 214.33/145.98 new_new_pr2F0G10(Succ(Zero)) -> cons_new_pr2F0G10(Succ(Zero)) 214.33/145.98 new_new_pr2F0G10(Zero) -> cons_new_pr2F0G10(Zero) 214.33/145.98 214.33/145.98 The set Q consists of the following terms: 214.33/145.98 214.33/145.98 new_sr13(x0, x1) 214.33/145.98 new_primDivNatS01(x0, x1, Zero, Zero) 214.33/145.98 new_gcd0Gcd'11(False, x0, x1) 214.33/145.98 new_primMulNat4(Zero) 214.33/145.98 new_gcd0Gcd'11(True, x0, x1) 214.33/145.98 new_sr5(:%(x0, x1), x2) 214.33/145.98 new_primEqInt(Pos(Zero)) 214.33/145.98 new_esEs(Pos(Succ(x0))) 214.33/145.98 new_primQuotInt0(x0, Neg(Zero)) 214.33/145.98 new_primMulNat3(Zero) 214.33/145.98 new_primModNatS02(x0, x1) 214.33/145.98 new_primDivNatS1(Succ(Zero), Zero) 214.33/145.98 new_primMinusNatS0(x0) 214.33/145.98 new_sr11(x0) 214.33/145.98 new_rem(Pos(x0), Neg(Succ(x1))) 214.33/145.98 new_rem(Neg(x0), Pos(Succ(x1))) 214.33/145.98 new_primMulNat0(Zero, Zero) 214.33/145.98 new_primPlusNat0(Succ(x0), Zero) 214.33/145.98 new_primMulNat0(Succ(x0), Zero) 214.33/145.98 new_sr3(x0, ty_Float) 214.33/145.98 new_primMulNat2(Zero) 214.33/145.98 new_primQuotInt(x0, Pos(Zero)) 214.33/145.98 new_primMulNat2(Succ(x0)) 214.33/145.98 new_primQuotInt(x0, Neg(Zero)) 214.33/145.98 new_rem(Neg(x0), Neg(Succ(x1))) 214.33/145.98 new_primMinusNatS2(Zero, Succ(x0)) 214.33/145.98 new_sr4(x0, x1, ty_Double) 214.33/145.98 new_primMulNat3(Succ(x0)) 214.33/145.98 new_esEs1(Integer(x0)) 214.33/145.98 new_primQuotInt0(x0, Pos(Zero)) 214.33/145.98 new_gcd2(True, x0, x1) 214.33/145.98 new_quot1(x0, x1, x2, x3, ty_Int) 214.33/145.98 new_primDivNatS1(Zero, x0) 214.33/145.98 new_gcd(x0, x1) 214.33/145.98 new_gcd1(False, x0, x1) 214.33/145.98 new_esEs2(x0, x1, ty_Int) 214.33/145.98 new_sr3(x0, ty_Integer) 214.33/145.98 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 214.33/145.98 new_primPlusNat0(Zero, Succ(x0)) 214.33/145.98 new_sr8(:%(x0, x1), :%(x2, x3), x4) 214.33/145.98 new_abs(Neg(Zero)) 214.33/145.98 new_primMinusNatS2(Succ(x0), Zero) 214.33/145.98 new_error 214.33/145.98 new_primModNatS1(Succ(Zero), Zero) 214.33/145.98 new_primMulNat4(Succ(x0)) 214.33/145.98 new_primDivNatS02(x0, x1) 214.33/145.98 new_rem(Neg(x0), Neg(Zero)) 214.33/145.98 new_primEqInt(Neg(Zero)) 214.33/145.98 new_rem(Pos(x0), Pos(Succ(x1))) 214.33/145.98 new_abs(Pos(Succ(x0))) 214.33/145.98 new_primMulNat0(Succ(x0), Succ(x1)) 214.33/145.98 new_primMulNat0(Zero, Succ(x0)) 214.33/145.98 new_reduce2Reduce1(x0, x1, x2, x3, True, x4) 214.33/145.98 new_gcd0Gcd'10(False, x0, x1) 214.33/145.98 new_sr12(x0) 214.33/145.98 new_primDivNatS01(x0, x1, Zero, Succ(x2)) 214.33/145.98 new_sr10(Pos(x0), Pos(x1)) 214.33/145.98 new_primModNatS01(x0, x1, Zero, Succ(x2)) 214.33/145.98 new_primPlusNat0(Zero, Zero) 214.33/145.98 new_primQuotInt0(x0, Pos(Succ(x1))) 214.33/145.98 new_primModNatS01(x0, x1, Succ(x2), Zero) 214.33/145.98 new_primModNatS1(Succ(Succ(x0)), Zero) 214.33/145.98 new_sr4(x0, x1, ty_Integer) 214.33/145.98 new_rem(Pos(x0), Pos(Zero)) 214.33/145.98 new_sr4(x0, x1, ty_Int) 214.33/145.98 new_quot(Pos(x0), x1, x2) 214.33/145.98 new_primMinusNatS2(Zero, Zero) 214.33/145.98 new_esEs0(x0, ty_Int) 214.33/145.98 new_esEs(Pos(Zero)) 214.33/145.98 new_quot(Neg(x0), x1, x2) 214.33/145.98 new_primDivNatS01(x0, x1, Succ(x2), Succ(x3)) 214.33/145.98 new_quot2(x0, x1, x2) 214.33/145.98 new_primEqInt(Neg(Succ(x0))) 214.33/145.98 new_sr10(Neg(x0), Neg(x1)) 214.33/145.98 new_sr3(x0, app(ty_Ratio, x1)) 214.33/145.98 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 214.33/145.98 new_sr9(x0, x1) 214.33/145.98 new_sr7(Neg(x0)) 214.33/145.98 new_primQuotInt0(x0, Neg(Succ(x1))) 214.33/145.98 new_rem(Pos(x0), Neg(Zero)) 214.33/145.98 new_rem(Neg(x0), Pos(Zero)) 214.33/145.98 new_gcd0Gcd'00(x0, x1) 214.33/145.98 new_primQuotInt(x0, Neg(Succ(x1))) 214.33/145.98 new_primMinusNatS2(Succ(x0), Succ(x1)) 214.33/145.98 new_abs(Pos(Zero)) 214.33/145.98 new_quot0(x0, x1, x2, x3, ty_Integer) 214.33/145.98 new_sr6(x0) 214.33/145.98 new_gcd2(False, x0, x1) 214.33/145.98 new_gcd1(True, x0, x1) 214.33/145.98 new_esEs2(x0, x1, ty_Integer) 214.33/145.98 new_primMinusNatS1 214.33/145.98 new_sr7(Pos(x0)) 214.33/145.98 new_gcd0Gcd'10(True, x0, x1) 214.33/145.98 new_primModNatS1(Zero, x0) 214.33/145.98 new_sr4(x0, x1, ty_Float) 214.33/145.98 new_sr10(Pos(x0), Neg(x1)) 214.33/145.98 new_sr10(Neg(x0), Pos(x1)) 214.33/145.98 new_primDivNatS01(x0, x1, Succ(x2), Zero) 214.33/145.98 new_primDivNatS1(Succ(Succ(x0)), Succ(x1)) 214.33/145.98 new_primPlusNat0(Succ(x0), Succ(x1)) 214.33/145.98 new_primDivNatS1(Succ(Zero), Succ(x0)) 214.33/145.98 new_primQuotInt(x0, Pos(Succ(x1))) 214.33/145.98 new_abs(Neg(Succ(x0))) 214.33/145.98 new_esEs0(x0, ty_Integer) 214.33/145.98 new_sr3(x0, ty_Int) 214.33/145.98 new_esEs(Neg(Succ(x0))) 214.33/145.98 new_primModNatS01(x0, x1, Zero, Zero) 214.33/145.98 new_sr4(x0, x1, app(ty_Ratio, x2)) 214.33/145.98 new_gcd0(x0, x1) 214.33/145.98 new_primEqInt(Pos(Succ(x0))) 214.33/145.98 new_sr3(x0, ty_Double) 214.33/145.98 new_quot1(x0, x1, x2, x3, ty_Integer) 214.33/145.98 new_primDivNatS1(Succ(Succ(x0)), Zero) 214.33/145.98 new_primMulNat1(Succ(x0)) 214.33/145.98 new_sr14(x0, x1) 214.33/145.98 new_quot0(x0, x1, x2, x3, ty_Int) 214.33/145.98 new_primModNatS1(Succ(Zero), Succ(x0)) 214.33/145.98 new_reduce2Reduce1(x0, x1, x2, x3, False, x4) 214.33/145.98 new_esEs(Neg(Zero)) 214.33/145.98 new_primMulNat1(Zero) 214.33/145.98 new_new_pr2F0G10(Succ(Succ(x0))) 214.33/145.98 anew_new_pr2F0G10(Succ(Succ(x0))) 214.33/145.98 new_new_pr2F0G10(Succ(Zero)) 214.33/145.98 new_new_pr2F0G10(Zero) 214.33/145.98 214.33/145.98 We have to consider all minimal (P,Q,R)-chains. 214.33/145.98 ---------------------------------------- 214.33/145.98 214.33/145.98 (808) DependencyGraphProof (EQUIVALENT) 214.33/145.98 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. 214.33/145.98 ---------------------------------------- 214.33/145.98 214.33/145.98 (809) 214.33/145.98 Obligation: 214.33/145.98 Q DP problem: 214.33/145.98 The TRS P consists of the following rules: 214.33/145.98 214.33/145.98 new_pr2F0(vyv184, Neg(Succ(Succ(vyv223000))), vyv188, h) -> new_pr2F0G10(vyv188, vyv184, Succ(vyv223000), vyv223000, h) 214.33/145.98 new_pr2F0G10(vyv249, vyv250, vyv251, Succ(Zero), bb) -> new_pr2F0G11(vyv249, vyv250, vyv251, bb) 214.33/145.98 new_pr2F0G11(vyv239, vyv240, vyv241, bc) -> new_pr2F1(vyv240, vyv241, Pos(Succ(Zero)), vyv239, bc) 214.33/145.98 new_pr2F1(z1, z2, Pos(Succ(Zero)), z0, z3) -> new_pr2F30(False, z1, z2, Pos(Succ(Zero)), z0, z3) 214.33/145.98 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) 214.33/145.98 new_pr2F0(vyv184, Neg(Succ(Succ(vyv223000))), vyv188, h) -> H(vyv188, vyv184, Succ(vyv223000), h, anew_new_pr2F0G10(vyv223000)) 214.33/145.98 H(vyv249, vyv250, vyv251, bb, cons_new_pr2F0G10(Succ(Zero))) -> new_pr2F0G10(vyv249, vyv250, vyv251, Succ(Zero), bb) 214.33/145.98 H(vyv249, vyv250, vyv251, bb, cons_new_pr2F0G10(Zero)) -> new_pr2F0G10(vyv249, vyv250, vyv251, Zero, bb) 214.33/145.98 new_pr2F0G10(y0, y1, Succ(x0), Zero, y3) -> new_pr2F0G(y0, new_sr3(y1, y3), Neg(new_primDivNatS01(x0, Zero, x0, Zero)), y3) 214.33/145.98 new_pr2F0G(vyv188, vyv184, Neg(Succ(Zero)), h) -> new_pr2F0G11(vyv188, vyv184, Zero, h) 214.33/145.98 new_pr2F0G(vyv188, vyv184, Neg(Succ(Succ(vyv223000))), h) -> new_pr2F0G10(vyv188, vyv184, Succ(vyv223000), vyv223000, h) 214.33/145.98 new_pr2F0G(vyv188, vyv184, Neg(Succ(Succ(vyv223000))), h) -> H(vyv188, vyv184, Succ(vyv223000), h, anew_new_pr2F0G10(vyv223000)) 214.33/145.98 214.33/145.98 The TRS R consists of the following rules: 214.33/145.98 214.33/145.98 new_sr3(vyv250, ty_Double) -> new_sr11(vyv250) 214.33/145.98 new_sr3(vyv250, ty_Int) -> new_sr7(vyv250) 214.33/145.98 new_sr3(vyv250, ty_Float) -> new_sr12(vyv250) 214.33/145.98 new_sr3(vyv250, ty_Integer) -> new_sr6(vyv250) 214.33/145.98 new_sr3(vyv250, app(ty_Ratio, bf)) -> new_sr5(vyv250, bf) 214.33/145.98 new_primDivNatS1(Succ(Zero), Succ(vyv285000)) -> Zero 214.33/145.98 new_primDivNatS1(Succ(Succ(vyv271000)), Succ(vyv285000)) -> new_primDivNatS01(vyv271000, vyv285000, vyv271000, vyv285000) 214.33/145.98 new_primDivNatS01(vyv311, vyv312, Succ(vyv3130), Zero) -> new_primDivNatS02(vyv311, vyv312) 214.33/145.98 new_primDivNatS01(vyv311, vyv312, Zero, Succ(vyv3140)) -> Zero 214.33/145.98 new_primDivNatS01(vyv311, vyv312, Succ(vyv3130), Succ(vyv3140)) -> new_primDivNatS01(vyv311, vyv312, vyv3130, vyv3140) 214.33/145.98 new_primDivNatS01(vyv311, vyv312, Zero, Zero) -> new_primDivNatS02(vyv311, vyv312) 214.33/145.98 new_primDivNatS02(vyv311, vyv312) -> Succ(new_primDivNatS1(new_primMinusNatS2(vyv311, vyv312), Succ(vyv312))) 214.33/145.98 new_primMinusNatS2(Zero, Succ(vyv3120)) -> Zero 214.33/145.98 new_primMinusNatS2(Succ(vyv3110), Zero) -> Succ(vyv3110) 214.33/145.98 new_primMinusNatS2(Zero, Zero) -> Zero 214.33/145.98 new_primMinusNatS2(Succ(vyv3110), Succ(vyv3120)) -> new_primMinusNatS2(vyv3110, vyv3120) 214.33/145.98 new_primDivNatS1(Zero, vyv28500) -> Zero 214.33/145.98 new_sr5(:%(vyv1840, vyv1841), bd) -> new_reduce2Reduce1(vyv1840, vyv1840, vyv1841, vyv1841, new_esEs0(vyv1841, bd), bd) 214.33/145.98 new_esEs0(vyv1841, ty_Int) -> new_esEs(new_sr7(vyv1841)) 214.33/145.98 new_esEs0(vyv1841, ty_Integer) -> new_esEs1(new_sr6(vyv1841)) 214.33/145.98 new_reduce2Reduce1(vyv265, vyv266, vyv267, vyv268, False, bh) -> :%(new_quot0(vyv265, vyv266, vyv267, vyv268, bh), new_quot1(vyv267, vyv268, vyv265, vyv266, bh)) 214.33/145.98 new_reduce2Reduce1(vyv265, vyv266, vyv267, vyv268, True, bh) -> error([]) 214.33/145.98 new_quot0(vyv265, vyv266, vyv267, vyv268, ty_Integer) -> new_quot2(new_sr9(vyv265, vyv266), new_sr9(vyv265, vyv266), new_sr9(vyv267, vyv268)) 214.33/145.98 new_quot0(vyv265, vyv266, vyv267, vyv268, ty_Int) -> new_quot(new_sr10(vyv265, vyv266), new_sr10(vyv265, vyv266), new_sr10(vyv267, vyv268)) 214.33/145.98 new_quot1(vyv267, vyv268, vyv265, vyv266, ty_Int) -> new_quot(new_sr10(vyv267, vyv268), new_sr10(vyv265, vyv266), new_sr10(vyv267, vyv268)) 214.33/145.98 new_quot1(vyv267, vyv268, vyv265, vyv266, ty_Integer) -> new_quot2(new_sr9(vyv267, vyv268), new_sr9(vyv265, vyv266), new_sr9(vyv267, vyv268)) 214.33/145.98 new_sr9(vyv240, vyv239) -> error([]) 214.33/145.98 new_quot2(vyv274, vyv276, vyv275) -> error([]) 214.33/145.98 new_sr10(Pos(vyv2400), Pos(vyv2390)) -> Pos(new_primMulNat0(vyv2400, vyv2390)) 214.33/145.98 new_sr10(Neg(vyv2400), Neg(vyv2390)) -> Pos(new_primMulNat0(vyv2400, vyv2390)) 214.33/145.98 new_sr10(Pos(vyv2400), Neg(vyv2390)) -> Neg(new_primMulNat0(vyv2400, vyv2390)) 214.33/145.98 new_sr10(Neg(vyv2400), Pos(vyv2390)) -> Neg(new_primMulNat0(vyv2400, vyv2390)) 214.33/145.98 new_quot(Pos(vyv2710), vyv273, vyv272) -> new_primQuotInt(vyv2710, new_gcd(vyv273, vyv272)) 214.33/145.98 new_quot(Neg(vyv2710), vyv273, vyv272) -> new_primQuotInt0(vyv2710, new_gcd(vyv273, vyv272)) 214.33/145.98 new_gcd(vyv273, vyv272) -> new_gcd2(new_esEs(vyv273), vyv273, vyv272) 214.33/145.98 new_primQuotInt0(vyv2710, Pos(Succ(vyv28800))) -> Neg(new_primDivNatS1(vyv2710, vyv28800)) 214.33/145.98 new_primQuotInt0(vyv2710, Neg(Zero)) -> new_error 214.33/145.98 new_primQuotInt0(vyv2710, Neg(Succ(vyv28800))) -> Pos(new_primDivNatS1(vyv2710, vyv28800)) 214.33/145.98 new_primQuotInt0(vyv2710, Pos(Zero)) -> new_error 214.33/145.98 new_error -> error([]) 214.33/145.98 new_primDivNatS1(Succ(Succ(vyv271000)), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS0(vyv271000), Zero)) 214.33/145.98 new_primDivNatS1(Succ(Zero), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS1, Zero)) 214.33/145.98 new_primMinusNatS1 -> Zero 214.33/145.98 new_primMinusNatS0(vyv271000) -> Succ(vyv271000) 214.33/145.98 new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) 214.33/145.98 new_esEs(Pos(Succ(vyv24300))) -> new_primEqInt(Pos(Succ(vyv24300))) 214.33/145.98 new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) 214.33/145.98 new_esEs(Neg(Succ(vyv24300))) -> new_primEqInt(Neg(Succ(vyv24300))) 214.33/145.98 new_gcd2(True, vyv273, vyv272) -> new_gcd1(new_esEs(vyv272), vyv273, vyv272) 214.33/145.98 new_gcd2(False, vyv273, vyv272) -> new_gcd0(vyv273, vyv272) 214.33/145.98 new_gcd0(vyv273, vyv272) -> new_gcd0Gcd'11(new_esEs(new_abs(vyv272)), vyv273, vyv272) 214.33/145.98 new_abs(Neg(Zero)) -> Neg(Zero) 214.33/145.98 new_abs(Neg(Succ(vyv27200))) -> Pos(Succ(vyv27200)) 214.33/145.98 new_abs(Pos(Succ(vyv27200))) -> Pos(Succ(vyv27200)) 214.33/145.98 new_abs(Pos(Zero)) -> Pos(Zero) 214.33/145.98 new_gcd0Gcd'11(True, vyv273, vyv272) -> new_abs(vyv273) 214.33/145.98 new_gcd0Gcd'11(False, vyv273, vyv272) -> new_gcd0Gcd'00(new_abs(vyv273), new_abs(vyv272)) 214.33/145.98 new_gcd0Gcd'10(False, vyv292, vyv293) -> new_gcd0Gcd'00(vyv292, new_rem(vyv293, vyv292)) 214.33/145.98 new_gcd0Gcd'00(vyv293, vyv292) -> new_gcd0Gcd'10(new_esEs(new_rem(vyv293, vyv292)), vyv292, vyv293) 214.33/145.98 new_rem(Pos(vyv2930), Neg(Zero)) -> new_error 214.33/145.98 new_rem(Neg(vyv2930), Pos(Zero)) -> new_error 214.33/145.98 new_rem(Pos(vyv2930), Neg(Succ(vyv29200))) -> Pos(new_primModNatS1(vyv2930, vyv29200)) 214.33/145.98 new_rem(Neg(vyv2930), Pos(Succ(vyv29200))) -> Neg(new_primModNatS1(vyv2930, vyv29200)) 214.33/145.98 new_rem(Pos(vyv2930), Pos(Succ(vyv29200))) -> Pos(new_primModNatS1(vyv2930, vyv29200)) 214.33/145.98 new_rem(Neg(vyv2930), Neg(Zero)) -> new_error 214.33/145.98 new_rem(Neg(vyv2930), Neg(Succ(vyv29200))) -> Neg(new_primModNatS1(vyv2930, vyv29200)) 214.33/145.98 new_rem(Pos(vyv2930), Pos(Zero)) -> new_error 214.33/145.98 new_gcd0Gcd'10(True, vyv292, vyv293) -> vyv292 214.33/145.98 new_primModNatS1(Succ(Zero), Succ(vyv292000)) -> Succ(Zero) 214.33/145.98 new_primModNatS1(Zero, vyv29200) -> Zero 214.33/145.98 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 214.33/145.98 new_primModNatS1(Succ(Succ(vyv293000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv293000), Zero) 214.33/145.98 new_primModNatS1(Succ(Succ(vyv293000)), Succ(vyv292000)) -> new_primModNatS01(vyv293000, vyv292000, vyv293000, vyv292000) 214.33/145.98 new_primModNatS01(vyv331, vyv332, Zero, Zero) -> new_primModNatS02(vyv331, vyv332) 214.33/145.98 new_primModNatS02(vyv331, vyv332) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv331), Succ(vyv332)), Succ(vyv332)) 214.33/145.98 new_primModNatS01(vyv331, vyv332, Succ(vyv3330), Zero) -> new_primModNatS02(vyv331, vyv332) 214.33/145.98 new_primModNatS01(vyv331, vyv332, Succ(vyv3330), Succ(vyv3340)) -> new_primModNatS01(vyv331, vyv332, vyv3330, vyv3340) 214.33/145.98 new_primModNatS01(vyv331, vyv332, Zero, Succ(vyv3340)) -> Succ(Succ(vyv331)) 214.33/145.98 new_gcd1(True, vyv273, vyv272) -> new_error 214.33/145.98 new_gcd1(False, vyv273, vyv272) -> new_gcd0(vyv273, vyv272) 214.33/145.98 new_primEqInt(Neg(Succ(vyv242000))) -> False 214.33/145.98 new_primEqInt(Pos(Zero)) -> True 214.33/145.98 new_primEqInt(Pos(Succ(vyv242000))) -> False 214.33/145.98 new_primEqInt(Neg(Zero)) -> True 214.33/145.98 new_primQuotInt(vyv2710, Pos(Succ(vyv28500))) -> Pos(new_primDivNatS1(vyv2710, vyv28500)) 214.33/145.98 new_primQuotInt(vyv2710, Neg(Zero)) -> new_error 214.33/145.98 new_primQuotInt(vyv2710, Pos(Zero)) -> new_error 214.33/145.98 new_primQuotInt(vyv2710, Neg(Succ(vyv28500))) -> Neg(new_primDivNatS1(vyv2710, vyv28500)) 214.33/145.98 new_primMulNat0(Zero, Succ(vyv23900)) -> Zero 214.33/145.98 new_primMulNat0(Succ(vyv24000), Succ(vyv23900)) -> new_primPlusNat0(new_primMulNat0(vyv24000, Succ(vyv23900)), Succ(vyv23900)) 214.33/145.98 new_primMulNat0(Succ(vyv24000), Zero) -> Zero 214.33/145.98 new_primMulNat0(Zero, Zero) -> Zero 214.33/145.98 new_primPlusNat0(Succ(vyv4000), Succ(vyv6000)) -> Succ(Succ(new_primPlusNat0(vyv4000, vyv6000))) 214.33/145.98 new_primPlusNat0(Zero, Succ(vyv6000)) -> Succ(vyv6000) 214.33/145.98 new_primPlusNat0(Zero, Zero) -> Zero 214.33/145.98 new_primPlusNat0(Succ(vyv4000), Zero) -> Succ(vyv4000) 214.33/145.98 new_sr6(vyv184) -> error([]) 214.33/145.98 new_esEs1(Integer(vyv2700)) -> new_primEqInt(vyv2700) 214.33/145.98 new_sr7(Pos(vyv1840)) -> Pos(new_primMulNat1(vyv1840)) 214.33/145.98 new_sr7(Neg(vyv1840)) -> Pos(new_primMulNat1(vyv1840)) 214.33/145.98 new_primMulNat1(Succ(vyv18400)) -> new_primPlusNat0(new_primMulNat2(vyv18400), Succ(vyv18400)) 214.33/145.98 new_primMulNat1(Zero) -> Zero 214.33/145.98 new_primMulNat2(Succ(vyv184000)) -> new_primPlusNat0(new_primMulNat3(vyv184000), Succ(Succ(vyv184000))) 214.33/145.98 new_primMulNat2(Zero) -> Zero 214.33/145.98 new_primMulNat3(Succ(vyv1840000)) -> new_primPlusNat0(new_primMulNat4(vyv1840000), Succ(Succ(Succ(vyv1840000)))) 214.33/145.98 new_primMulNat3(Zero) -> Zero 214.33/145.98 new_primMulNat4(Succ(vyv18400000)) -> new_primPlusNat0(new_primMulNat0(vyv18400000, Succ(Succ(Succ(Succ(vyv18400000))))), Succ(Succ(Succ(Succ(vyv18400000))))) 214.33/145.98 new_primMulNat4(Zero) -> Zero 214.33/145.98 new_sr12(vyv184) -> error([]) 214.33/145.98 new_sr11(vyv184) -> error([]) 214.33/145.98 new_sr4(vyv240, vyv239, app(ty_Ratio, be)) -> new_sr8(vyv240, vyv239, be) 214.33/145.98 new_sr4(vyv240, vyv239, ty_Float) -> new_sr14(vyv240, vyv239) 214.33/145.98 new_sr4(vyv240, vyv239, ty_Int) -> new_sr10(vyv240, vyv239) 214.33/145.98 new_sr4(vyv240, vyv239, ty_Double) -> new_sr13(vyv240, vyv239) 214.33/145.98 new_sr4(vyv240, vyv239, ty_Integer) -> new_sr9(vyv240, vyv239) 214.33/145.98 new_sr13(vyv240, vyv239) -> error([]) 214.33/145.98 new_sr14(vyv240, vyv239) -> error([]) 214.33/145.98 new_sr8(:%(vyv2400, vyv2401), :%(vyv2390, vyv2391), be) -> new_reduce2Reduce1(vyv2400, vyv2390, vyv2401, vyv2391, new_esEs2(vyv2401, vyv2391, be), be) 214.33/145.98 new_esEs2(vyv2401, vyv2391, ty_Integer) -> new_esEs1(new_sr9(vyv2401, vyv2391)) 214.33/145.98 new_esEs2(vyv2401, vyv2391, ty_Int) -> new_esEs(new_sr10(vyv2401, vyv2391)) 214.33/145.98 anew_new_pr2F0G10(Succ(Succ(vyv25200))) -> new_new_pr2F0G10(vyv25200) 214.33/145.98 new_new_pr2F0G10(Succ(Succ(vyv25200))) -> new_new_pr2F0G10(vyv25200) 214.33/145.98 new_new_pr2F0G10(Succ(Zero)) -> cons_new_pr2F0G10(Succ(Zero)) 214.33/145.98 new_new_pr2F0G10(Zero) -> cons_new_pr2F0G10(Zero) 214.33/145.98 214.33/145.98 The set Q consists of the following terms: 214.33/145.98 214.33/145.98 new_sr13(x0, x1) 214.33/145.98 new_primDivNatS01(x0, x1, Zero, Zero) 214.33/145.98 new_gcd0Gcd'11(False, x0, x1) 214.33/145.98 new_primMulNat4(Zero) 214.33/145.98 new_gcd0Gcd'11(True, x0, x1) 214.33/145.98 new_sr5(:%(x0, x1), x2) 214.33/145.98 new_primEqInt(Pos(Zero)) 214.33/145.98 new_esEs(Pos(Succ(x0))) 214.33/145.98 new_primQuotInt0(x0, Neg(Zero)) 214.33/145.98 new_primMulNat3(Zero) 214.33/145.98 new_primModNatS02(x0, x1) 214.33/145.98 new_primDivNatS1(Succ(Zero), Zero) 214.33/145.98 new_primMinusNatS0(x0) 214.33/145.98 new_sr11(x0) 214.33/145.98 new_rem(Pos(x0), Neg(Succ(x1))) 214.33/145.98 new_rem(Neg(x0), Pos(Succ(x1))) 214.33/145.98 new_primMulNat0(Zero, Zero) 214.33/145.98 new_primPlusNat0(Succ(x0), Zero) 214.33/145.98 new_primMulNat0(Succ(x0), Zero) 214.33/145.98 new_sr3(x0, ty_Float) 214.33/145.98 new_primMulNat2(Zero) 214.33/145.98 new_primQuotInt(x0, Pos(Zero)) 214.33/145.98 new_primMulNat2(Succ(x0)) 214.33/145.98 new_primQuotInt(x0, Neg(Zero)) 214.33/145.98 new_rem(Neg(x0), Neg(Succ(x1))) 214.33/145.98 new_primMinusNatS2(Zero, Succ(x0)) 214.33/145.98 new_sr4(x0, x1, ty_Double) 214.33/145.98 new_primMulNat3(Succ(x0)) 214.33/145.98 new_esEs1(Integer(x0)) 214.33/145.98 new_primQuotInt0(x0, Pos(Zero)) 214.33/145.98 new_gcd2(True, x0, x1) 214.33/145.98 new_quot1(x0, x1, x2, x3, ty_Int) 214.33/145.98 new_primDivNatS1(Zero, x0) 214.33/145.98 new_gcd(x0, x1) 214.33/145.98 new_gcd1(False, x0, x1) 214.33/145.98 new_esEs2(x0, x1, ty_Int) 214.33/145.98 new_sr3(x0, ty_Integer) 214.33/145.98 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 214.33/145.98 new_primPlusNat0(Zero, Succ(x0)) 214.33/145.98 new_sr8(:%(x0, x1), :%(x2, x3), x4) 214.33/145.98 new_abs(Neg(Zero)) 214.33/145.98 new_primMinusNatS2(Succ(x0), Zero) 214.33/145.98 new_error 214.33/145.98 new_primModNatS1(Succ(Zero), Zero) 214.33/145.98 new_primMulNat4(Succ(x0)) 214.33/145.98 new_primDivNatS02(x0, x1) 214.33/145.98 new_rem(Neg(x0), Neg(Zero)) 214.33/145.98 new_primEqInt(Neg(Zero)) 214.33/145.98 new_rem(Pos(x0), Pos(Succ(x1))) 214.33/145.98 new_abs(Pos(Succ(x0))) 214.33/145.98 new_primMulNat0(Succ(x0), Succ(x1)) 214.33/145.98 new_primMulNat0(Zero, Succ(x0)) 214.33/145.98 new_reduce2Reduce1(x0, x1, x2, x3, True, x4) 214.33/145.98 new_gcd0Gcd'10(False, x0, x1) 214.33/145.98 new_sr12(x0) 214.33/145.98 new_primDivNatS01(x0, x1, Zero, Succ(x2)) 214.33/145.98 new_sr10(Pos(x0), Pos(x1)) 214.33/145.98 new_primModNatS01(x0, x1, Zero, Succ(x2)) 214.33/145.98 new_primPlusNat0(Zero, Zero) 214.33/145.98 new_primQuotInt0(x0, Pos(Succ(x1))) 214.33/145.98 new_primModNatS01(x0, x1, Succ(x2), Zero) 214.33/145.98 new_primModNatS1(Succ(Succ(x0)), Zero) 214.33/145.98 new_sr4(x0, x1, ty_Integer) 214.33/145.98 new_rem(Pos(x0), Pos(Zero)) 214.33/145.98 new_sr4(x0, x1, ty_Int) 214.33/145.98 new_quot(Pos(x0), x1, x2) 214.33/145.98 new_primMinusNatS2(Zero, Zero) 214.33/145.98 new_esEs0(x0, ty_Int) 214.33/145.98 new_esEs(Pos(Zero)) 214.33/145.98 new_quot(Neg(x0), x1, x2) 214.33/145.98 new_primDivNatS01(x0, x1, Succ(x2), Succ(x3)) 214.33/145.98 new_quot2(x0, x1, x2) 214.33/145.98 new_primEqInt(Neg(Succ(x0))) 214.33/145.98 new_sr10(Neg(x0), Neg(x1)) 214.33/145.98 new_sr3(x0, app(ty_Ratio, x1)) 214.33/145.98 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 214.33/145.98 new_sr9(x0, x1) 214.33/145.98 new_sr7(Neg(x0)) 214.33/145.98 new_primQuotInt0(x0, Neg(Succ(x1))) 214.33/145.98 new_rem(Pos(x0), Neg(Zero)) 214.33/145.98 new_rem(Neg(x0), Pos(Zero)) 214.33/145.98 new_gcd0Gcd'00(x0, x1) 214.33/145.98 new_primQuotInt(x0, Neg(Succ(x1))) 214.33/145.98 new_primMinusNatS2(Succ(x0), Succ(x1)) 214.33/145.98 new_abs(Pos(Zero)) 214.33/145.98 new_quot0(x0, x1, x2, x3, ty_Integer) 214.33/145.98 new_sr6(x0) 214.33/145.98 new_gcd2(False, x0, x1) 214.33/145.98 new_gcd1(True, x0, x1) 214.33/145.98 new_esEs2(x0, x1, ty_Integer) 214.33/145.98 new_primMinusNatS1 214.33/145.98 new_sr7(Pos(x0)) 214.33/145.98 new_gcd0Gcd'10(True, x0, x1) 214.33/145.98 new_primModNatS1(Zero, x0) 214.33/145.98 new_sr4(x0, x1, ty_Float) 214.33/145.98 new_sr10(Pos(x0), Neg(x1)) 214.33/145.98 new_sr10(Neg(x0), Pos(x1)) 214.33/145.98 new_primDivNatS01(x0, x1, Succ(x2), Zero) 214.33/145.98 new_primDivNatS1(Succ(Succ(x0)), Succ(x1)) 214.33/145.98 new_primPlusNat0(Succ(x0), Succ(x1)) 214.33/145.98 new_primDivNatS1(Succ(Zero), Succ(x0)) 214.33/145.98 new_primQuotInt(x0, Pos(Succ(x1))) 214.33/145.98 new_abs(Neg(Succ(x0))) 214.33/145.98 new_esEs0(x0, ty_Integer) 214.33/145.98 new_sr3(x0, ty_Int) 214.33/145.98 new_esEs(Neg(Succ(x0))) 214.33/145.98 new_primModNatS01(x0, x1, Zero, Zero) 214.33/145.98 new_sr4(x0, x1, app(ty_Ratio, x2)) 214.33/145.98 new_gcd0(x0, x1) 214.33/145.98 new_primEqInt(Pos(Succ(x0))) 214.33/145.98 new_sr3(x0, ty_Double) 214.33/145.98 new_quot1(x0, x1, x2, x3, ty_Integer) 214.33/145.98 new_primDivNatS1(Succ(Succ(x0)), Zero) 214.33/145.98 new_primMulNat1(Succ(x0)) 214.33/145.98 new_sr14(x0, x1) 214.33/145.98 new_quot0(x0, x1, x2, x3, ty_Int) 214.33/145.98 new_primModNatS1(Succ(Zero), Succ(x0)) 214.33/145.98 new_reduce2Reduce1(x0, x1, x2, x3, False, x4) 214.33/145.98 new_esEs(Neg(Zero)) 214.33/145.98 new_primMulNat1(Zero) 214.33/145.98 new_new_pr2F0G10(Succ(Succ(x0))) 214.33/145.98 anew_new_pr2F0G10(Succ(Succ(x0))) 214.33/145.98 new_new_pr2F0G10(Succ(Zero)) 214.33/145.98 new_new_pr2F0G10(Zero) 214.33/145.98 214.33/145.98 We have to consider all minimal (P,Q,R)-chains. 214.33/145.98 ---------------------------------------- 214.33/145.98 214.33/145.98 (810) TransformationProof (EQUIVALENT) 214.33/145.98 By narrowing [LPAR04] the rule new_pr2F0(vyv184, Neg(Succ(Succ(vyv223000))), vyv188, h) -> H(vyv188, vyv184, Succ(vyv223000), h, anew_new_pr2F0G10(vyv223000)) at position [4] we obtained the following new rules [LPAR04]: 214.33/145.98 214.33/145.98 (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))) 214.33/145.98 214.33/145.98 214.33/145.98 ---------------------------------------- 214.33/145.98 214.33/145.98 (811) 214.33/145.98 Obligation: 214.33/145.98 Q DP problem: 214.33/145.98 The TRS P consists of the following rules: 214.33/145.98 214.33/145.98 new_pr2F0(vyv184, Neg(Succ(Succ(vyv223000))), vyv188, h) -> new_pr2F0G10(vyv188, vyv184, Succ(vyv223000), vyv223000, h) 214.33/145.98 new_pr2F0G10(vyv249, vyv250, vyv251, Succ(Zero), bb) -> new_pr2F0G11(vyv249, vyv250, vyv251, bb) 214.33/145.98 new_pr2F0G11(vyv239, vyv240, vyv241, bc) -> new_pr2F1(vyv240, vyv241, Pos(Succ(Zero)), vyv239, bc) 214.33/145.98 new_pr2F1(z1, z2, Pos(Succ(Zero)), z0, z3) -> new_pr2F30(False, z1, z2, Pos(Succ(Zero)), z0, z3) 214.33/145.98 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) 214.33/145.98 H(vyv249, vyv250, vyv251, bb, cons_new_pr2F0G10(Succ(Zero))) -> new_pr2F0G10(vyv249, vyv250, vyv251, Succ(Zero), bb) 214.33/145.98 H(vyv249, vyv250, vyv251, bb, cons_new_pr2F0G10(Zero)) -> new_pr2F0G10(vyv249, vyv250, vyv251, Zero, bb) 214.33/145.98 new_pr2F0G10(y0, y1, Succ(x0), Zero, y3) -> new_pr2F0G(y0, new_sr3(y1, y3), Neg(new_primDivNatS01(x0, Zero, x0, Zero)), y3) 214.33/145.98 new_pr2F0G(vyv188, vyv184, Neg(Succ(Zero)), h) -> new_pr2F0G11(vyv188, vyv184, Zero, h) 214.33/145.98 new_pr2F0G(vyv188, vyv184, Neg(Succ(Succ(vyv223000))), h) -> new_pr2F0G10(vyv188, vyv184, Succ(vyv223000), vyv223000, h) 214.33/145.98 new_pr2F0G(vyv188, vyv184, Neg(Succ(Succ(vyv223000))), h) -> H(vyv188, vyv184, Succ(vyv223000), h, anew_new_pr2F0G10(vyv223000)) 214.33/145.98 new_pr2F0(y0, Neg(Succ(Succ(Succ(Succ(x0))))), y2, y3) -> H(y2, y0, Succ(Succ(Succ(x0))), y3, new_new_pr2F0G10(x0)) 214.33/145.98 214.33/145.98 The TRS R consists of the following rules: 214.33/145.98 214.33/145.98 new_sr3(vyv250, ty_Double) -> new_sr11(vyv250) 214.33/145.98 new_sr3(vyv250, ty_Int) -> new_sr7(vyv250) 214.33/145.98 new_sr3(vyv250, ty_Float) -> new_sr12(vyv250) 214.33/145.98 new_sr3(vyv250, ty_Integer) -> new_sr6(vyv250) 214.33/145.98 new_sr3(vyv250, app(ty_Ratio, bf)) -> new_sr5(vyv250, bf) 214.33/145.98 new_primDivNatS1(Succ(Zero), Succ(vyv285000)) -> Zero 214.33/145.98 new_primDivNatS1(Succ(Succ(vyv271000)), Succ(vyv285000)) -> new_primDivNatS01(vyv271000, vyv285000, vyv271000, vyv285000) 214.33/145.98 new_primDivNatS01(vyv311, vyv312, Succ(vyv3130), Zero) -> new_primDivNatS02(vyv311, vyv312) 214.33/145.98 new_primDivNatS01(vyv311, vyv312, Zero, Succ(vyv3140)) -> Zero 214.33/145.98 new_primDivNatS01(vyv311, vyv312, Succ(vyv3130), Succ(vyv3140)) -> new_primDivNatS01(vyv311, vyv312, vyv3130, vyv3140) 214.33/145.98 new_primDivNatS01(vyv311, vyv312, Zero, Zero) -> new_primDivNatS02(vyv311, vyv312) 214.33/145.98 new_primDivNatS02(vyv311, vyv312) -> Succ(new_primDivNatS1(new_primMinusNatS2(vyv311, vyv312), Succ(vyv312))) 214.33/145.98 new_primMinusNatS2(Zero, Succ(vyv3120)) -> Zero 214.33/145.98 new_primMinusNatS2(Succ(vyv3110), Zero) -> Succ(vyv3110) 214.33/145.98 new_primMinusNatS2(Zero, Zero) -> Zero 214.33/145.98 new_primMinusNatS2(Succ(vyv3110), Succ(vyv3120)) -> new_primMinusNatS2(vyv3110, vyv3120) 214.33/145.98 new_primDivNatS1(Zero, vyv28500) -> Zero 214.33/145.98 new_sr5(:%(vyv1840, vyv1841), bd) -> new_reduce2Reduce1(vyv1840, vyv1840, vyv1841, vyv1841, new_esEs0(vyv1841, bd), bd) 214.33/145.98 new_esEs0(vyv1841, ty_Int) -> new_esEs(new_sr7(vyv1841)) 214.33/145.98 new_esEs0(vyv1841, ty_Integer) -> new_esEs1(new_sr6(vyv1841)) 214.33/145.98 new_reduce2Reduce1(vyv265, vyv266, vyv267, vyv268, False, bh) -> :%(new_quot0(vyv265, vyv266, vyv267, vyv268, bh), new_quot1(vyv267, vyv268, vyv265, vyv266, bh)) 214.33/145.98 new_reduce2Reduce1(vyv265, vyv266, vyv267, vyv268, True, bh) -> error([]) 214.33/145.98 new_quot0(vyv265, vyv266, vyv267, vyv268, ty_Integer) -> new_quot2(new_sr9(vyv265, vyv266), new_sr9(vyv265, vyv266), new_sr9(vyv267, vyv268)) 214.33/145.98 new_quot0(vyv265, vyv266, vyv267, vyv268, ty_Int) -> new_quot(new_sr10(vyv265, vyv266), new_sr10(vyv265, vyv266), new_sr10(vyv267, vyv268)) 214.33/145.98 new_quot1(vyv267, vyv268, vyv265, vyv266, ty_Int) -> new_quot(new_sr10(vyv267, vyv268), new_sr10(vyv265, vyv266), new_sr10(vyv267, vyv268)) 214.33/145.98 new_quot1(vyv267, vyv268, vyv265, vyv266, ty_Integer) -> new_quot2(new_sr9(vyv267, vyv268), new_sr9(vyv265, vyv266), new_sr9(vyv267, vyv268)) 214.33/145.98 new_sr9(vyv240, vyv239) -> error([]) 214.33/145.98 new_quot2(vyv274, vyv276, vyv275) -> error([]) 214.33/145.98 new_sr10(Pos(vyv2400), Pos(vyv2390)) -> Pos(new_primMulNat0(vyv2400, vyv2390)) 214.33/145.98 new_sr10(Neg(vyv2400), Neg(vyv2390)) -> Pos(new_primMulNat0(vyv2400, vyv2390)) 214.33/145.98 new_sr10(Pos(vyv2400), Neg(vyv2390)) -> Neg(new_primMulNat0(vyv2400, vyv2390)) 214.33/145.98 new_sr10(Neg(vyv2400), Pos(vyv2390)) -> Neg(new_primMulNat0(vyv2400, vyv2390)) 214.33/145.98 new_quot(Pos(vyv2710), vyv273, vyv272) -> new_primQuotInt(vyv2710, new_gcd(vyv273, vyv272)) 214.33/145.98 new_quot(Neg(vyv2710), vyv273, vyv272) -> new_primQuotInt0(vyv2710, new_gcd(vyv273, vyv272)) 214.33/145.98 new_gcd(vyv273, vyv272) -> new_gcd2(new_esEs(vyv273), vyv273, vyv272) 214.33/145.98 new_primQuotInt0(vyv2710, Pos(Succ(vyv28800))) -> Neg(new_primDivNatS1(vyv2710, vyv28800)) 214.33/145.98 new_primQuotInt0(vyv2710, Neg(Zero)) -> new_error 214.33/145.98 new_primQuotInt0(vyv2710, Neg(Succ(vyv28800))) -> Pos(new_primDivNatS1(vyv2710, vyv28800)) 214.33/145.98 new_primQuotInt0(vyv2710, Pos(Zero)) -> new_error 214.33/145.98 new_error -> error([]) 214.33/145.98 new_primDivNatS1(Succ(Succ(vyv271000)), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS0(vyv271000), Zero)) 214.33/145.98 new_primDivNatS1(Succ(Zero), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS1, Zero)) 214.33/145.98 new_primMinusNatS1 -> Zero 214.33/145.98 new_primMinusNatS0(vyv271000) -> Succ(vyv271000) 214.33/145.98 new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) 214.33/145.98 new_esEs(Pos(Succ(vyv24300))) -> new_primEqInt(Pos(Succ(vyv24300))) 214.33/145.98 new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) 214.33/145.98 new_esEs(Neg(Succ(vyv24300))) -> new_primEqInt(Neg(Succ(vyv24300))) 214.33/145.98 new_gcd2(True, vyv273, vyv272) -> new_gcd1(new_esEs(vyv272), vyv273, vyv272) 214.33/145.98 new_gcd2(False, vyv273, vyv272) -> new_gcd0(vyv273, vyv272) 214.33/145.98 new_gcd0(vyv273, vyv272) -> new_gcd0Gcd'11(new_esEs(new_abs(vyv272)), vyv273, vyv272) 214.33/145.98 new_abs(Neg(Zero)) -> Neg(Zero) 214.33/145.98 new_abs(Neg(Succ(vyv27200))) -> Pos(Succ(vyv27200)) 214.33/145.98 new_abs(Pos(Succ(vyv27200))) -> Pos(Succ(vyv27200)) 214.33/145.98 new_abs(Pos(Zero)) -> Pos(Zero) 214.33/145.98 new_gcd0Gcd'11(True, vyv273, vyv272) -> new_abs(vyv273) 214.33/145.98 new_gcd0Gcd'11(False, vyv273, vyv272) -> new_gcd0Gcd'00(new_abs(vyv273), new_abs(vyv272)) 214.33/145.98 new_gcd0Gcd'10(False, vyv292, vyv293) -> new_gcd0Gcd'00(vyv292, new_rem(vyv293, vyv292)) 214.33/145.98 new_gcd0Gcd'00(vyv293, vyv292) -> new_gcd0Gcd'10(new_esEs(new_rem(vyv293, vyv292)), vyv292, vyv293) 214.33/145.98 new_rem(Pos(vyv2930), Neg(Zero)) -> new_error 214.33/145.98 new_rem(Neg(vyv2930), Pos(Zero)) -> new_error 214.33/145.98 new_rem(Pos(vyv2930), Neg(Succ(vyv29200))) -> Pos(new_primModNatS1(vyv2930, vyv29200)) 214.33/145.98 new_rem(Neg(vyv2930), Pos(Succ(vyv29200))) -> Neg(new_primModNatS1(vyv2930, vyv29200)) 214.33/145.98 new_rem(Pos(vyv2930), Pos(Succ(vyv29200))) -> Pos(new_primModNatS1(vyv2930, vyv29200)) 214.33/145.98 new_rem(Neg(vyv2930), Neg(Zero)) -> new_error 214.33/145.98 new_rem(Neg(vyv2930), Neg(Succ(vyv29200))) -> Neg(new_primModNatS1(vyv2930, vyv29200)) 214.33/145.98 new_rem(Pos(vyv2930), Pos(Zero)) -> new_error 214.33/145.98 new_gcd0Gcd'10(True, vyv292, vyv293) -> vyv292 214.33/145.98 new_primModNatS1(Succ(Zero), Succ(vyv292000)) -> Succ(Zero) 214.33/145.98 new_primModNatS1(Zero, vyv29200) -> Zero 214.33/145.98 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 214.33/145.98 new_primModNatS1(Succ(Succ(vyv293000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv293000), Zero) 214.33/145.98 new_primModNatS1(Succ(Succ(vyv293000)), Succ(vyv292000)) -> new_primModNatS01(vyv293000, vyv292000, vyv293000, vyv292000) 214.33/145.98 new_primModNatS01(vyv331, vyv332, Zero, Zero) -> new_primModNatS02(vyv331, vyv332) 214.33/145.98 new_primModNatS02(vyv331, vyv332) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv331), Succ(vyv332)), Succ(vyv332)) 214.33/145.98 new_primModNatS01(vyv331, vyv332, Succ(vyv3330), Zero) -> new_primModNatS02(vyv331, vyv332) 214.33/145.98 new_primModNatS01(vyv331, vyv332, Succ(vyv3330), Succ(vyv3340)) -> new_primModNatS01(vyv331, vyv332, vyv3330, vyv3340) 214.33/145.98 new_primModNatS01(vyv331, vyv332, Zero, Succ(vyv3340)) -> Succ(Succ(vyv331)) 214.33/145.98 new_gcd1(True, vyv273, vyv272) -> new_error 214.33/145.98 new_gcd1(False, vyv273, vyv272) -> new_gcd0(vyv273, vyv272) 214.33/145.98 new_primEqInt(Neg(Succ(vyv242000))) -> False 214.33/145.98 new_primEqInt(Pos(Zero)) -> True 214.33/145.98 new_primEqInt(Pos(Succ(vyv242000))) -> False 214.33/145.98 new_primEqInt(Neg(Zero)) -> True 214.33/145.98 new_primQuotInt(vyv2710, Pos(Succ(vyv28500))) -> Pos(new_primDivNatS1(vyv2710, vyv28500)) 214.33/145.98 new_primQuotInt(vyv2710, Neg(Zero)) -> new_error 214.33/145.98 new_primQuotInt(vyv2710, Pos(Zero)) -> new_error 214.33/145.98 new_primQuotInt(vyv2710, Neg(Succ(vyv28500))) -> Neg(new_primDivNatS1(vyv2710, vyv28500)) 214.33/145.98 new_primMulNat0(Zero, Succ(vyv23900)) -> Zero 214.33/145.98 new_primMulNat0(Succ(vyv24000), Succ(vyv23900)) -> new_primPlusNat0(new_primMulNat0(vyv24000, Succ(vyv23900)), Succ(vyv23900)) 214.33/145.98 new_primMulNat0(Succ(vyv24000), Zero) -> Zero 214.33/145.98 new_primMulNat0(Zero, Zero) -> Zero 214.33/145.98 new_primPlusNat0(Succ(vyv4000), Succ(vyv6000)) -> Succ(Succ(new_primPlusNat0(vyv4000, vyv6000))) 214.33/145.98 new_primPlusNat0(Zero, Succ(vyv6000)) -> Succ(vyv6000) 214.33/145.98 new_primPlusNat0(Zero, Zero) -> Zero 214.33/145.98 new_primPlusNat0(Succ(vyv4000), Zero) -> Succ(vyv4000) 214.33/145.98 new_sr6(vyv184) -> error([]) 214.33/145.98 new_esEs1(Integer(vyv2700)) -> new_primEqInt(vyv2700) 214.33/145.98 new_sr7(Pos(vyv1840)) -> Pos(new_primMulNat1(vyv1840)) 214.33/145.98 new_sr7(Neg(vyv1840)) -> Pos(new_primMulNat1(vyv1840)) 214.33/145.98 new_primMulNat1(Succ(vyv18400)) -> new_primPlusNat0(new_primMulNat2(vyv18400), Succ(vyv18400)) 214.33/145.98 new_primMulNat1(Zero) -> Zero 214.33/145.98 new_primMulNat2(Succ(vyv184000)) -> new_primPlusNat0(new_primMulNat3(vyv184000), Succ(Succ(vyv184000))) 214.33/145.98 new_primMulNat2(Zero) -> Zero 214.33/145.98 new_primMulNat3(Succ(vyv1840000)) -> new_primPlusNat0(new_primMulNat4(vyv1840000), Succ(Succ(Succ(vyv1840000)))) 214.33/145.98 new_primMulNat3(Zero) -> Zero 214.33/145.98 new_primMulNat4(Succ(vyv18400000)) -> new_primPlusNat0(new_primMulNat0(vyv18400000, Succ(Succ(Succ(Succ(vyv18400000))))), Succ(Succ(Succ(Succ(vyv18400000))))) 214.33/145.98 new_primMulNat4(Zero) -> Zero 214.33/145.98 new_sr12(vyv184) -> error([]) 214.33/145.98 new_sr11(vyv184) -> error([]) 214.33/145.98 new_sr4(vyv240, vyv239, app(ty_Ratio, be)) -> new_sr8(vyv240, vyv239, be) 214.33/145.98 new_sr4(vyv240, vyv239, ty_Float) -> new_sr14(vyv240, vyv239) 214.33/145.98 new_sr4(vyv240, vyv239, ty_Int) -> new_sr10(vyv240, vyv239) 214.33/145.98 new_sr4(vyv240, vyv239, ty_Double) -> new_sr13(vyv240, vyv239) 214.33/145.98 new_sr4(vyv240, vyv239, ty_Integer) -> new_sr9(vyv240, vyv239) 214.33/145.98 new_sr13(vyv240, vyv239) -> error([]) 214.33/145.98 new_sr14(vyv240, vyv239) -> error([]) 214.33/145.98 new_sr8(:%(vyv2400, vyv2401), :%(vyv2390, vyv2391), be) -> new_reduce2Reduce1(vyv2400, vyv2390, vyv2401, vyv2391, new_esEs2(vyv2401, vyv2391, be), be) 214.33/145.98 new_esEs2(vyv2401, vyv2391, ty_Integer) -> new_esEs1(new_sr9(vyv2401, vyv2391)) 214.33/145.98 new_esEs2(vyv2401, vyv2391, ty_Int) -> new_esEs(new_sr10(vyv2401, vyv2391)) 214.33/145.98 anew_new_pr2F0G10(Succ(Succ(vyv25200))) -> new_new_pr2F0G10(vyv25200) 214.33/145.98 new_new_pr2F0G10(Succ(Succ(vyv25200))) -> new_new_pr2F0G10(vyv25200) 214.33/145.98 new_new_pr2F0G10(Succ(Zero)) -> cons_new_pr2F0G10(Succ(Zero)) 214.33/145.98 new_new_pr2F0G10(Zero) -> cons_new_pr2F0G10(Zero) 214.33/145.98 214.33/145.98 The set Q consists of the following terms: 214.33/145.98 214.33/145.98 new_sr13(x0, x1) 214.33/145.98 new_primDivNatS01(x0, x1, Zero, Zero) 214.33/145.98 new_gcd0Gcd'11(False, x0, x1) 214.33/145.98 new_primMulNat4(Zero) 214.33/145.98 new_gcd0Gcd'11(True, x0, x1) 214.33/145.98 new_sr5(:%(x0, x1), x2) 214.33/145.98 new_primEqInt(Pos(Zero)) 214.33/145.98 new_esEs(Pos(Succ(x0))) 214.33/145.98 new_primQuotInt0(x0, Neg(Zero)) 214.33/145.98 new_primMulNat3(Zero) 214.33/145.98 new_primModNatS02(x0, x1) 214.33/145.98 new_primDivNatS1(Succ(Zero), Zero) 214.33/145.98 new_primMinusNatS0(x0) 214.33/145.98 new_sr11(x0) 214.33/145.98 new_rem(Pos(x0), Neg(Succ(x1))) 214.33/145.98 new_rem(Neg(x0), Pos(Succ(x1))) 214.33/145.98 new_primMulNat0(Zero, Zero) 214.33/145.98 new_primPlusNat0(Succ(x0), Zero) 214.33/145.98 new_primMulNat0(Succ(x0), Zero) 214.33/145.98 new_sr3(x0, ty_Float) 214.33/145.98 new_primMulNat2(Zero) 214.33/145.98 new_primQuotInt(x0, Pos(Zero)) 214.33/145.98 new_primMulNat2(Succ(x0)) 214.33/145.98 new_primQuotInt(x0, Neg(Zero)) 214.33/145.98 new_rem(Neg(x0), Neg(Succ(x1))) 214.33/145.98 new_primMinusNatS2(Zero, Succ(x0)) 214.33/145.98 new_sr4(x0, x1, ty_Double) 214.33/145.98 new_primMulNat3(Succ(x0)) 214.33/145.98 new_esEs1(Integer(x0)) 214.33/145.98 new_primQuotInt0(x0, Pos(Zero)) 214.33/145.98 new_gcd2(True, x0, x1) 214.33/145.98 new_quot1(x0, x1, x2, x3, ty_Int) 214.33/145.98 new_primDivNatS1(Zero, x0) 214.33/145.98 new_gcd(x0, x1) 214.33/145.98 new_gcd1(False, x0, x1) 214.33/145.98 new_esEs2(x0, x1, ty_Int) 214.33/145.98 new_sr3(x0, ty_Integer) 214.33/145.98 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 214.33/145.98 new_primPlusNat0(Zero, Succ(x0)) 214.33/145.98 new_sr8(:%(x0, x1), :%(x2, x3), x4) 214.33/145.98 new_abs(Neg(Zero)) 214.33/145.98 new_primMinusNatS2(Succ(x0), Zero) 214.33/145.98 new_error 214.33/145.98 new_primModNatS1(Succ(Zero), Zero) 214.33/145.98 new_primMulNat4(Succ(x0)) 214.33/145.98 new_primDivNatS02(x0, x1) 214.33/145.98 new_rem(Neg(x0), Neg(Zero)) 214.33/145.98 new_primEqInt(Neg(Zero)) 214.33/145.98 new_rem(Pos(x0), Pos(Succ(x1))) 214.33/145.98 new_abs(Pos(Succ(x0))) 214.33/145.98 new_primMulNat0(Succ(x0), Succ(x1)) 214.33/145.98 new_primMulNat0(Zero, Succ(x0)) 214.33/145.98 new_reduce2Reduce1(x0, x1, x2, x3, True, x4) 214.33/145.98 new_gcd0Gcd'10(False, x0, x1) 214.33/145.98 new_sr12(x0) 214.33/145.98 new_primDivNatS01(x0, x1, Zero, Succ(x2)) 214.33/145.98 new_sr10(Pos(x0), Pos(x1)) 214.33/145.98 new_primModNatS01(x0, x1, Zero, Succ(x2)) 214.33/145.98 new_primPlusNat0(Zero, Zero) 214.33/145.98 new_primQuotInt0(x0, Pos(Succ(x1))) 214.33/145.98 new_primModNatS01(x0, x1, Succ(x2), Zero) 214.33/145.98 new_primModNatS1(Succ(Succ(x0)), Zero) 214.33/145.98 new_sr4(x0, x1, ty_Integer) 214.33/145.98 new_rem(Pos(x0), Pos(Zero)) 214.33/145.98 new_sr4(x0, x1, ty_Int) 214.33/145.98 new_quot(Pos(x0), x1, x2) 214.33/145.98 new_primMinusNatS2(Zero, Zero) 214.33/145.98 new_esEs0(x0, ty_Int) 214.33/145.98 new_esEs(Pos(Zero)) 214.33/145.98 new_quot(Neg(x0), x1, x2) 214.33/145.98 new_primDivNatS01(x0, x1, Succ(x2), Succ(x3)) 214.33/145.98 new_quot2(x0, x1, x2) 214.33/145.98 new_primEqInt(Neg(Succ(x0))) 214.33/145.98 new_sr10(Neg(x0), Neg(x1)) 214.33/145.98 new_sr3(x0, app(ty_Ratio, x1)) 214.33/145.98 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 214.33/145.98 new_sr9(x0, x1) 214.33/145.98 new_sr7(Neg(x0)) 214.33/145.98 new_primQuotInt0(x0, Neg(Succ(x1))) 214.33/145.98 new_rem(Pos(x0), Neg(Zero)) 214.33/145.98 new_rem(Neg(x0), Pos(Zero)) 214.33/145.98 new_gcd0Gcd'00(x0, x1) 214.33/145.98 new_primQuotInt(x0, Neg(Succ(x1))) 214.33/145.98 new_primMinusNatS2(Succ(x0), Succ(x1)) 214.33/145.98 new_abs(Pos(Zero)) 214.33/145.98 new_quot0(x0, x1, x2, x3, ty_Integer) 214.33/145.98 new_sr6(x0) 214.33/145.98 new_gcd2(False, x0, x1) 214.33/145.98 new_gcd1(True, x0, x1) 214.33/145.98 new_esEs2(x0, x1, ty_Integer) 214.33/145.98 new_primMinusNatS1 214.33/145.98 new_sr7(Pos(x0)) 214.33/145.98 new_gcd0Gcd'10(True, x0, x1) 214.33/145.98 new_primModNatS1(Zero, x0) 214.33/145.98 new_sr4(x0, x1, ty_Float) 214.33/145.98 new_sr10(Pos(x0), Neg(x1)) 214.33/145.98 new_sr10(Neg(x0), Pos(x1)) 214.33/145.98 new_primDivNatS01(x0, x1, Succ(x2), Zero) 214.33/145.98 new_primDivNatS1(Succ(Succ(x0)), Succ(x1)) 214.33/145.98 new_primPlusNat0(Succ(x0), Succ(x1)) 214.33/145.98 new_primDivNatS1(Succ(Zero), Succ(x0)) 214.33/145.98 new_primQuotInt(x0, Pos(Succ(x1))) 214.33/145.98 new_abs(Neg(Succ(x0))) 214.33/145.98 new_esEs0(x0, ty_Integer) 214.33/145.98 new_sr3(x0, ty_Int) 214.33/145.98 new_esEs(Neg(Succ(x0))) 214.33/145.98 new_primModNatS01(x0, x1, Zero, Zero) 214.33/145.98 new_sr4(x0, x1, app(ty_Ratio, x2)) 214.33/145.98 new_gcd0(x0, x1) 214.33/145.98 new_primEqInt(Pos(Succ(x0))) 214.33/145.98 new_sr3(x0, ty_Double) 214.33/145.98 new_quot1(x0, x1, x2, x3, ty_Integer) 214.33/145.98 new_primDivNatS1(Succ(Succ(x0)), Zero) 214.33/145.98 new_primMulNat1(Succ(x0)) 214.33/145.98 new_sr14(x0, x1) 214.33/145.98 new_quot0(x0, x1, x2, x3, ty_Int) 214.33/145.98 new_primModNatS1(Succ(Zero), Succ(x0)) 214.33/145.98 new_reduce2Reduce1(x0, x1, x2, x3, False, x4) 214.33/145.98 new_esEs(Neg(Zero)) 214.33/145.98 new_primMulNat1(Zero) 214.33/145.98 new_new_pr2F0G10(Succ(Succ(x0))) 214.33/145.98 anew_new_pr2F0G10(Succ(Succ(x0))) 214.33/145.98 new_new_pr2F0G10(Succ(Zero)) 214.33/145.98 new_new_pr2F0G10(Zero) 214.33/145.98 214.33/145.98 We have to consider all minimal (P,Q,R)-chains. 214.33/145.98 ---------------------------------------- 214.33/145.98 214.33/145.98 (812) TransformationProof (EQUIVALENT) 214.33/145.98 By narrowing [LPAR04] the rule new_pr2F0G10(y0, y1, Succ(x0), Zero, y3) -> new_pr2F0G(y0, new_sr3(y1, y3), Neg(new_primDivNatS01(x0, Zero, x0, Zero)), y3) at position [2,0] we obtained the following new rules [LPAR04]: 214.33/145.98 214.33/145.98 (new_pr2F0G10(y0, y1, Succ(Succ(x2)), Zero, y3) -> new_pr2F0G(y0, new_sr3(y1, y3), Neg(new_primDivNatS02(Succ(x2), Zero)), y3),new_pr2F0G10(y0, y1, Succ(Succ(x2)), Zero, y3) -> new_pr2F0G(y0, new_sr3(y1, y3), Neg(new_primDivNatS02(Succ(x2), Zero)), y3)) 214.33/145.98 (new_pr2F0G10(y0, y1, Succ(Zero), Zero, y3) -> new_pr2F0G(y0, new_sr3(y1, y3), Neg(new_primDivNatS02(Zero, Zero)), y3),new_pr2F0G10(y0, y1, Succ(Zero), Zero, y3) -> new_pr2F0G(y0, new_sr3(y1, y3), Neg(new_primDivNatS02(Zero, Zero)), y3)) 214.33/145.98 214.33/145.98 214.33/145.98 ---------------------------------------- 214.33/145.98 214.33/145.98 (813) 214.33/145.98 Obligation: 214.33/145.98 Q DP problem: 214.33/145.98 The TRS P consists of the following rules: 214.33/145.98 214.33/145.98 new_pr2F0(vyv184, Neg(Succ(Succ(vyv223000))), vyv188, h) -> new_pr2F0G10(vyv188, vyv184, Succ(vyv223000), vyv223000, h) 214.33/145.98 new_pr2F0G10(vyv249, vyv250, vyv251, Succ(Zero), bb) -> new_pr2F0G11(vyv249, vyv250, vyv251, bb) 214.33/145.98 new_pr2F0G11(vyv239, vyv240, vyv241, bc) -> new_pr2F1(vyv240, vyv241, Pos(Succ(Zero)), vyv239, bc) 214.33/145.98 new_pr2F1(z1, z2, Pos(Succ(Zero)), z0, z3) -> new_pr2F30(False, z1, z2, Pos(Succ(Zero)), z0, z3) 214.33/145.98 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) 214.33/145.98 H(vyv249, vyv250, vyv251, bb, cons_new_pr2F0G10(Succ(Zero))) -> new_pr2F0G10(vyv249, vyv250, vyv251, Succ(Zero), bb) 214.33/145.98 H(vyv249, vyv250, vyv251, bb, cons_new_pr2F0G10(Zero)) -> new_pr2F0G10(vyv249, vyv250, vyv251, Zero, bb) 214.33/145.98 new_pr2F0G(vyv188, vyv184, Neg(Succ(Zero)), h) -> new_pr2F0G11(vyv188, vyv184, Zero, h) 214.33/145.98 new_pr2F0G(vyv188, vyv184, Neg(Succ(Succ(vyv223000))), h) -> new_pr2F0G10(vyv188, vyv184, Succ(vyv223000), vyv223000, h) 214.33/145.98 new_pr2F0G(vyv188, vyv184, Neg(Succ(Succ(vyv223000))), h) -> H(vyv188, vyv184, Succ(vyv223000), h, anew_new_pr2F0G10(vyv223000)) 214.33/145.98 new_pr2F0(y0, Neg(Succ(Succ(Succ(Succ(x0))))), y2, y3) -> H(y2, y0, Succ(Succ(Succ(x0))), y3, new_new_pr2F0G10(x0)) 214.33/145.98 new_pr2F0G10(y0, y1, Succ(Succ(x2)), Zero, y3) -> new_pr2F0G(y0, new_sr3(y1, y3), Neg(new_primDivNatS02(Succ(x2), Zero)), y3) 214.33/145.98 new_pr2F0G10(y0, y1, Succ(Zero), Zero, y3) -> new_pr2F0G(y0, new_sr3(y1, y3), Neg(new_primDivNatS02(Zero, Zero)), y3) 214.33/145.98 214.33/145.98 The TRS R consists of the following rules: 214.33/145.98 214.33/145.98 new_sr3(vyv250, ty_Double) -> new_sr11(vyv250) 214.33/145.98 new_sr3(vyv250, ty_Int) -> new_sr7(vyv250) 214.33/145.98 new_sr3(vyv250, ty_Float) -> new_sr12(vyv250) 214.33/145.98 new_sr3(vyv250, ty_Integer) -> new_sr6(vyv250) 214.33/145.98 new_sr3(vyv250, app(ty_Ratio, bf)) -> new_sr5(vyv250, bf) 214.33/145.98 new_primDivNatS1(Succ(Zero), Succ(vyv285000)) -> Zero 214.33/145.98 new_primDivNatS1(Succ(Succ(vyv271000)), Succ(vyv285000)) -> new_primDivNatS01(vyv271000, vyv285000, vyv271000, vyv285000) 214.33/145.98 new_primDivNatS01(vyv311, vyv312, Succ(vyv3130), Zero) -> new_primDivNatS02(vyv311, vyv312) 214.33/145.98 new_primDivNatS01(vyv311, vyv312, Zero, Succ(vyv3140)) -> Zero 214.33/145.98 new_primDivNatS01(vyv311, vyv312, Succ(vyv3130), Succ(vyv3140)) -> new_primDivNatS01(vyv311, vyv312, vyv3130, vyv3140) 214.33/145.98 new_primDivNatS01(vyv311, vyv312, Zero, Zero) -> new_primDivNatS02(vyv311, vyv312) 214.33/145.98 new_primDivNatS02(vyv311, vyv312) -> Succ(new_primDivNatS1(new_primMinusNatS2(vyv311, vyv312), Succ(vyv312))) 214.33/145.98 new_primMinusNatS2(Zero, Succ(vyv3120)) -> Zero 214.33/145.98 new_primMinusNatS2(Succ(vyv3110), Zero) -> Succ(vyv3110) 214.33/145.98 new_primMinusNatS2(Zero, Zero) -> Zero 214.33/145.98 new_primMinusNatS2(Succ(vyv3110), Succ(vyv3120)) -> new_primMinusNatS2(vyv3110, vyv3120) 214.33/145.98 new_primDivNatS1(Zero, vyv28500) -> Zero 214.33/145.98 new_sr5(:%(vyv1840, vyv1841), bd) -> new_reduce2Reduce1(vyv1840, vyv1840, vyv1841, vyv1841, new_esEs0(vyv1841, bd), bd) 214.33/145.98 new_esEs0(vyv1841, ty_Int) -> new_esEs(new_sr7(vyv1841)) 214.33/145.98 new_esEs0(vyv1841, ty_Integer) -> new_esEs1(new_sr6(vyv1841)) 214.33/145.98 new_reduce2Reduce1(vyv265, vyv266, vyv267, vyv268, False, bh) -> :%(new_quot0(vyv265, vyv266, vyv267, vyv268, bh), new_quot1(vyv267, vyv268, vyv265, vyv266, bh)) 214.33/145.98 new_reduce2Reduce1(vyv265, vyv266, vyv267, vyv268, True, bh) -> error([]) 214.33/145.98 new_quot0(vyv265, vyv266, vyv267, vyv268, ty_Integer) -> new_quot2(new_sr9(vyv265, vyv266), new_sr9(vyv265, vyv266), new_sr9(vyv267, vyv268)) 214.33/145.98 new_quot0(vyv265, vyv266, vyv267, vyv268, ty_Int) -> new_quot(new_sr10(vyv265, vyv266), new_sr10(vyv265, vyv266), new_sr10(vyv267, vyv268)) 214.33/145.98 new_quot1(vyv267, vyv268, vyv265, vyv266, ty_Int) -> new_quot(new_sr10(vyv267, vyv268), new_sr10(vyv265, vyv266), new_sr10(vyv267, vyv268)) 214.33/145.98 new_quot1(vyv267, vyv268, vyv265, vyv266, ty_Integer) -> new_quot2(new_sr9(vyv267, vyv268), new_sr9(vyv265, vyv266), new_sr9(vyv267, vyv268)) 214.33/145.98 new_sr9(vyv240, vyv239) -> error([]) 214.33/145.98 new_quot2(vyv274, vyv276, vyv275) -> error([]) 214.33/145.98 new_sr10(Pos(vyv2400), Pos(vyv2390)) -> Pos(new_primMulNat0(vyv2400, vyv2390)) 214.33/145.98 new_sr10(Neg(vyv2400), Neg(vyv2390)) -> Pos(new_primMulNat0(vyv2400, vyv2390)) 214.33/145.98 new_sr10(Pos(vyv2400), Neg(vyv2390)) -> Neg(new_primMulNat0(vyv2400, vyv2390)) 214.33/145.98 new_sr10(Neg(vyv2400), Pos(vyv2390)) -> Neg(new_primMulNat0(vyv2400, vyv2390)) 214.33/145.98 new_quot(Pos(vyv2710), vyv273, vyv272) -> new_primQuotInt(vyv2710, new_gcd(vyv273, vyv272)) 214.33/145.98 new_quot(Neg(vyv2710), vyv273, vyv272) -> new_primQuotInt0(vyv2710, new_gcd(vyv273, vyv272)) 214.33/145.98 new_gcd(vyv273, vyv272) -> new_gcd2(new_esEs(vyv273), vyv273, vyv272) 214.33/145.98 new_primQuotInt0(vyv2710, Pos(Succ(vyv28800))) -> Neg(new_primDivNatS1(vyv2710, vyv28800)) 214.33/145.98 new_primQuotInt0(vyv2710, Neg(Zero)) -> new_error 214.33/145.98 new_primQuotInt0(vyv2710, Neg(Succ(vyv28800))) -> Pos(new_primDivNatS1(vyv2710, vyv28800)) 214.33/145.98 new_primQuotInt0(vyv2710, Pos(Zero)) -> new_error 214.33/145.98 new_error -> error([]) 214.33/145.98 new_primDivNatS1(Succ(Succ(vyv271000)), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS0(vyv271000), Zero)) 214.33/145.98 new_primDivNatS1(Succ(Zero), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS1, Zero)) 214.33/145.98 new_primMinusNatS1 -> Zero 214.33/145.98 new_primMinusNatS0(vyv271000) -> Succ(vyv271000) 214.33/145.98 new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) 214.33/145.98 new_esEs(Pos(Succ(vyv24300))) -> new_primEqInt(Pos(Succ(vyv24300))) 214.33/145.98 new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) 214.33/145.98 new_esEs(Neg(Succ(vyv24300))) -> new_primEqInt(Neg(Succ(vyv24300))) 214.33/145.98 new_gcd2(True, vyv273, vyv272) -> new_gcd1(new_esEs(vyv272), vyv273, vyv272) 214.33/145.98 new_gcd2(False, vyv273, vyv272) -> new_gcd0(vyv273, vyv272) 214.33/145.98 new_gcd0(vyv273, vyv272) -> new_gcd0Gcd'11(new_esEs(new_abs(vyv272)), vyv273, vyv272) 214.33/145.98 new_abs(Neg(Zero)) -> Neg(Zero) 214.33/145.98 new_abs(Neg(Succ(vyv27200))) -> Pos(Succ(vyv27200)) 214.33/145.98 new_abs(Pos(Succ(vyv27200))) -> Pos(Succ(vyv27200)) 214.33/145.98 new_abs(Pos(Zero)) -> Pos(Zero) 214.33/145.98 new_gcd0Gcd'11(True, vyv273, vyv272) -> new_abs(vyv273) 214.33/145.98 new_gcd0Gcd'11(False, vyv273, vyv272) -> new_gcd0Gcd'00(new_abs(vyv273), new_abs(vyv272)) 214.33/145.98 new_gcd0Gcd'10(False, vyv292, vyv293) -> new_gcd0Gcd'00(vyv292, new_rem(vyv293, vyv292)) 214.33/145.98 new_gcd0Gcd'00(vyv293, vyv292) -> new_gcd0Gcd'10(new_esEs(new_rem(vyv293, vyv292)), vyv292, vyv293) 214.33/145.98 new_rem(Pos(vyv2930), Neg(Zero)) -> new_error 214.33/145.98 new_rem(Neg(vyv2930), Pos(Zero)) -> new_error 214.33/145.98 new_rem(Pos(vyv2930), Neg(Succ(vyv29200))) -> Pos(new_primModNatS1(vyv2930, vyv29200)) 214.33/145.98 new_rem(Neg(vyv2930), Pos(Succ(vyv29200))) -> Neg(new_primModNatS1(vyv2930, vyv29200)) 214.33/145.98 new_rem(Pos(vyv2930), Pos(Succ(vyv29200))) -> Pos(new_primModNatS1(vyv2930, vyv29200)) 214.33/145.98 new_rem(Neg(vyv2930), Neg(Zero)) -> new_error 214.33/145.98 new_rem(Neg(vyv2930), Neg(Succ(vyv29200))) -> Neg(new_primModNatS1(vyv2930, vyv29200)) 214.33/145.98 new_rem(Pos(vyv2930), Pos(Zero)) -> new_error 214.33/145.98 new_gcd0Gcd'10(True, vyv292, vyv293) -> vyv292 214.33/145.98 new_primModNatS1(Succ(Zero), Succ(vyv292000)) -> Succ(Zero) 214.33/145.98 new_primModNatS1(Zero, vyv29200) -> Zero 214.33/145.98 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 214.33/145.98 new_primModNatS1(Succ(Succ(vyv293000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv293000), Zero) 214.33/145.98 new_primModNatS1(Succ(Succ(vyv293000)), Succ(vyv292000)) -> new_primModNatS01(vyv293000, vyv292000, vyv293000, vyv292000) 214.33/145.98 new_primModNatS01(vyv331, vyv332, Zero, Zero) -> new_primModNatS02(vyv331, vyv332) 214.33/145.98 new_primModNatS02(vyv331, vyv332) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv331), Succ(vyv332)), Succ(vyv332)) 214.33/145.98 new_primModNatS01(vyv331, vyv332, Succ(vyv3330), Zero) -> new_primModNatS02(vyv331, vyv332) 214.33/145.98 new_primModNatS01(vyv331, vyv332, Succ(vyv3330), Succ(vyv3340)) -> new_primModNatS01(vyv331, vyv332, vyv3330, vyv3340) 214.33/145.98 new_primModNatS01(vyv331, vyv332, Zero, Succ(vyv3340)) -> Succ(Succ(vyv331)) 214.33/145.98 new_gcd1(True, vyv273, vyv272) -> new_error 214.33/145.98 new_gcd1(False, vyv273, vyv272) -> new_gcd0(vyv273, vyv272) 214.33/145.98 new_primEqInt(Neg(Succ(vyv242000))) -> False 214.33/145.98 new_primEqInt(Pos(Zero)) -> True 214.33/145.98 new_primEqInt(Pos(Succ(vyv242000))) -> False 214.33/145.98 new_primEqInt(Neg(Zero)) -> True 214.33/145.98 new_primQuotInt(vyv2710, Pos(Succ(vyv28500))) -> Pos(new_primDivNatS1(vyv2710, vyv28500)) 214.33/145.98 new_primQuotInt(vyv2710, Neg(Zero)) -> new_error 214.33/145.98 new_primQuotInt(vyv2710, Pos(Zero)) -> new_error 214.33/145.98 new_primQuotInt(vyv2710, Neg(Succ(vyv28500))) -> Neg(new_primDivNatS1(vyv2710, vyv28500)) 214.33/145.98 new_primMulNat0(Zero, Succ(vyv23900)) -> Zero 214.33/145.98 new_primMulNat0(Succ(vyv24000), Succ(vyv23900)) -> new_primPlusNat0(new_primMulNat0(vyv24000, Succ(vyv23900)), Succ(vyv23900)) 214.33/145.98 new_primMulNat0(Succ(vyv24000), Zero) -> Zero 214.33/145.98 new_primMulNat0(Zero, Zero) -> Zero 214.33/145.98 new_primPlusNat0(Succ(vyv4000), Succ(vyv6000)) -> Succ(Succ(new_primPlusNat0(vyv4000, vyv6000))) 214.33/145.98 new_primPlusNat0(Zero, Succ(vyv6000)) -> Succ(vyv6000) 214.33/145.98 new_primPlusNat0(Zero, Zero) -> Zero 214.33/145.98 new_primPlusNat0(Succ(vyv4000), Zero) -> Succ(vyv4000) 214.33/145.98 new_sr6(vyv184) -> error([]) 214.33/145.98 new_esEs1(Integer(vyv2700)) -> new_primEqInt(vyv2700) 214.33/145.98 new_sr7(Pos(vyv1840)) -> Pos(new_primMulNat1(vyv1840)) 214.33/145.98 new_sr7(Neg(vyv1840)) -> Pos(new_primMulNat1(vyv1840)) 214.33/145.98 new_primMulNat1(Succ(vyv18400)) -> new_primPlusNat0(new_primMulNat2(vyv18400), Succ(vyv18400)) 214.33/145.98 new_primMulNat1(Zero) -> Zero 214.33/145.98 new_primMulNat2(Succ(vyv184000)) -> new_primPlusNat0(new_primMulNat3(vyv184000), Succ(Succ(vyv184000))) 214.33/145.98 new_primMulNat2(Zero) -> Zero 214.33/145.98 new_primMulNat3(Succ(vyv1840000)) -> new_primPlusNat0(new_primMulNat4(vyv1840000), Succ(Succ(Succ(vyv1840000)))) 214.33/145.98 new_primMulNat3(Zero) -> Zero 214.33/145.98 new_primMulNat4(Succ(vyv18400000)) -> new_primPlusNat0(new_primMulNat0(vyv18400000, Succ(Succ(Succ(Succ(vyv18400000))))), Succ(Succ(Succ(Succ(vyv18400000))))) 214.33/145.98 new_primMulNat4(Zero) -> Zero 214.33/145.98 new_sr12(vyv184) -> error([]) 214.33/145.98 new_sr11(vyv184) -> error([]) 214.33/145.98 new_sr4(vyv240, vyv239, app(ty_Ratio, be)) -> new_sr8(vyv240, vyv239, be) 214.33/145.98 new_sr4(vyv240, vyv239, ty_Float) -> new_sr14(vyv240, vyv239) 214.33/145.98 new_sr4(vyv240, vyv239, ty_Int) -> new_sr10(vyv240, vyv239) 214.33/145.98 new_sr4(vyv240, vyv239, ty_Double) -> new_sr13(vyv240, vyv239) 214.33/145.98 new_sr4(vyv240, vyv239, ty_Integer) -> new_sr9(vyv240, vyv239) 214.33/145.98 new_sr13(vyv240, vyv239) -> error([]) 214.33/145.98 new_sr14(vyv240, vyv239) -> error([]) 214.33/145.98 new_sr8(:%(vyv2400, vyv2401), :%(vyv2390, vyv2391), be) -> new_reduce2Reduce1(vyv2400, vyv2390, vyv2401, vyv2391, new_esEs2(vyv2401, vyv2391, be), be) 214.33/145.98 new_esEs2(vyv2401, vyv2391, ty_Integer) -> new_esEs1(new_sr9(vyv2401, vyv2391)) 214.33/145.98 new_esEs2(vyv2401, vyv2391, ty_Int) -> new_esEs(new_sr10(vyv2401, vyv2391)) 214.33/145.98 anew_new_pr2F0G10(Succ(Succ(vyv25200))) -> new_new_pr2F0G10(vyv25200) 214.33/145.98 new_new_pr2F0G10(Succ(Succ(vyv25200))) -> new_new_pr2F0G10(vyv25200) 214.33/145.98 new_new_pr2F0G10(Succ(Zero)) -> cons_new_pr2F0G10(Succ(Zero)) 214.33/145.98 new_new_pr2F0G10(Zero) -> cons_new_pr2F0G10(Zero) 214.33/145.98 214.33/145.98 The set Q consists of the following terms: 214.33/145.98 214.33/145.98 new_sr13(x0, x1) 214.33/145.98 new_primDivNatS01(x0, x1, Zero, Zero) 214.33/145.98 new_gcd0Gcd'11(False, x0, x1) 214.33/145.98 new_primMulNat4(Zero) 214.33/145.98 new_gcd0Gcd'11(True, x0, x1) 214.33/145.98 new_sr5(:%(x0, x1), x2) 214.33/145.98 new_primEqInt(Pos(Zero)) 214.33/145.98 new_esEs(Pos(Succ(x0))) 214.33/145.98 new_primQuotInt0(x0, Neg(Zero)) 214.33/145.98 new_primMulNat3(Zero) 214.33/145.98 new_primModNatS02(x0, x1) 214.33/145.98 new_primDivNatS1(Succ(Zero), Zero) 214.33/145.98 new_primMinusNatS0(x0) 214.33/145.98 new_sr11(x0) 214.33/145.98 new_rem(Pos(x0), Neg(Succ(x1))) 214.33/145.98 new_rem(Neg(x0), Pos(Succ(x1))) 214.33/145.98 new_primMulNat0(Zero, Zero) 214.33/145.98 new_primPlusNat0(Succ(x0), Zero) 214.33/145.98 new_primMulNat0(Succ(x0), Zero) 214.33/145.98 new_sr3(x0, ty_Float) 214.33/145.98 new_primMulNat2(Zero) 214.33/145.98 new_primQuotInt(x0, Pos(Zero)) 214.33/145.98 new_primMulNat2(Succ(x0)) 214.33/145.98 new_primQuotInt(x0, Neg(Zero)) 214.33/145.98 new_rem(Neg(x0), Neg(Succ(x1))) 214.33/145.98 new_primMinusNatS2(Zero, Succ(x0)) 214.33/145.98 new_sr4(x0, x1, ty_Double) 214.33/145.98 new_primMulNat3(Succ(x0)) 214.33/145.98 new_esEs1(Integer(x0)) 214.33/145.98 new_primQuotInt0(x0, Pos(Zero)) 214.33/145.98 new_gcd2(True, x0, x1) 214.33/145.98 new_quot1(x0, x1, x2, x3, ty_Int) 214.33/145.98 new_primDivNatS1(Zero, x0) 214.33/145.98 new_gcd(x0, x1) 214.33/145.98 new_gcd1(False, x0, x1) 214.33/145.98 new_esEs2(x0, x1, ty_Int) 214.33/145.98 new_sr3(x0, ty_Integer) 214.33/145.98 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 214.33/145.98 new_primPlusNat0(Zero, Succ(x0)) 214.33/145.98 new_sr8(:%(x0, x1), :%(x2, x3), x4) 214.33/145.98 new_abs(Neg(Zero)) 214.33/145.98 new_primMinusNatS2(Succ(x0), Zero) 214.33/145.98 new_error 214.33/145.98 new_primModNatS1(Succ(Zero), Zero) 214.33/145.98 new_primMulNat4(Succ(x0)) 214.33/145.98 new_primDivNatS02(x0, x1) 214.33/145.98 new_rem(Neg(x0), Neg(Zero)) 214.33/145.98 new_primEqInt(Neg(Zero)) 214.33/145.98 new_rem(Pos(x0), Pos(Succ(x1))) 214.33/145.98 new_abs(Pos(Succ(x0))) 214.33/145.98 new_primMulNat0(Succ(x0), Succ(x1)) 214.33/145.98 new_primMulNat0(Zero, Succ(x0)) 214.33/145.98 new_reduce2Reduce1(x0, x1, x2, x3, True, x4) 214.33/145.98 new_gcd0Gcd'10(False, x0, x1) 214.33/145.98 new_sr12(x0) 214.33/145.98 new_primDivNatS01(x0, x1, Zero, Succ(x2)) 214.33/145.98 new_sr10(Pos(x0), Pos(x1)) 214.33/145.98 new_primModNatS01(x0, x1, Zero, Succ(x2)) 214.33/145.98 new_primPlusNat0(Zero, Zero) 214.33/145.98 new_primQuotInt0(x0, Pos(Succ(x1))) 214.33/145.98 new_primModNatS01(x0, x1, Succ(x2), Zero) 214.33/145.98 new_primModNatS1(Succ(Succ(x0)), Zero) 214.33/145.98 new_sr4(x0, x1, ty_Integer) 214.33/145.98 new_rem(Pos(x0), Pos(Zero)) 214.33/145.98 new_sr4(x0, x1, ty_Int) 214.33/145.98 new_quot(Pos(x0), x1, x2) 214.33/145.98 new_primMinusNatS2(Zero, Zero) 214.33/145.98 new_esEs0(x0, ty_Int) 214.33/145.98 new_esEs(Pos(Zero)) 214.33/145.98 new_quot(Neg(x0), x1, x2) 214.33/145.98 new_primDivNatS01(x0, x1, Succ(x2), Succ(x3)) 214.33/145.98 new_quot2(x0, x1, x2) 214.33/145.98 new_primEqInt(Neg(Succ(x0))) 214.33/145.98 new_sr10(Neg(x0), Neg(x1)) 214.33/145.98 new_sr3(x0, app(ty_Ratio, x1)) 214.33/145.98 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 214.33/145.98 new_sr9(x0, x1) 214.33/145.98 new_sr7(Neg(x0)) 214.33/145.98 new_primQuotInt0(x0, Neg(Succ(x1))) 214.33/145.98 new_rem(Pos(x0), Neg(Zero)) 214.33/145.98 new_rem(Neg(x0), Pos(Zero)) 214.33/145.98 new_gcd0Gcd'00(x0, x1) 214.33/145.98 new_primQuotInt(x0, Neg(Succ(x1))) 214.33/145.98 new_primMinusNatS2(Succ(x0), Succ(x1)) 214.33/145.98 new_abs(Pos(Zero)) 214.33/145.98 new_quot0(x0, x1, x2, x3, ty_Integer) 214.33/145.98 new_sr6(x0) 214.33/145.98 new_gcd2(False, x0, x1) 214.33/145.98 new_gcd1(True, x0, x1) 214.33/145.98 new_esEs2(x0, x1, ty_Integer) 214.33/145.98 new_primMinusNatS1 214.33/145.98 new_sr7(Pos(x0)) 214.33/145.98 new_gcd0Gcd'10(True, x0, x1) 214.33/145.98 new_primModNatS1(Zero, x0) 214.33/145.98 new_sr4(x0, x1, ty_Float) 214.33/145.98 new_sr10(Pos(x0), Neg(x1)) 214.33/145.98 new_sr10(Neg(x0), Pos(x1)) 214.33/145.98 new_primDivNatS01(x0, x1, Succ(x2), Zero) 214.33/145.98 new_primDivNatS1(Succ(Succ(x0)), Succ(x1)) 214.33/145.98 new_primPlusNat0(Succ(x0), Succ(x1)) 214.33/145.98 new_primDivNatS1(Succ(Zero), Succ(x0)) 214.33/145.98 new_primQuotInt(x0, Pos(Succ(x1))) 214.33/145.98 new_abs(Neg(Succ(x0))) 214.33/145.98 new_esEs0(x0, ty_Integer) 214.33/145.98 new_sr3(x0, ty_Int) 214.33/145.98 new_esEs(Neg(Succ(x0))) 214.33/145.98 new_primModNatS01(x0, x1, Zero, Zero) 214.33/145.98 new_sr4(x0, x1, app(ty_Ratio, x2)) 214.33/145.98 new_gcd0(x0, x1) 214.33/145.98 new_primEqInt(Pos(Succ(x0))) 214.33/145.98 new_sr3(x0, ty_Double) 214.33/145.98 new_quot1(x0, x1, x2, x3, ty_Integer) 214.33/145.98 new_primDivNatS1(Succ(Succ(x0)), Zero) 214.33/145.98 new_primMulNat1(Succ(x0)) 214.33/145.98 new_sr14(x0, x1) 214.33/145.98 new_quot0(x0, x1, x2, x3, ty_Int) 214.33/145.98 new_primModNatS1(Succ(Zero), Succ(x0)) 214.33/145.98 new_reduce2Reduce1(x0, x1, x2, x3, False, x4) 214.33/145.98 new_esEs(Neg(Zero)) 214.33/145.98 new_primMulNat1(Zero) 214.33/145.98 new_new_pr2F0G10(Succ(Succ(x0))) 214.33/145.98 anew_new_pr2F0G10(Succ(Succ(x0))) 214.33/145.98 new_new_pr2F0G10(Succ(Zero)) 214.33/145.98 new_new_pr2F0G10(Zero) 214.33/145.98 214.33/145.98 We have to consider all minimal (P,Q,R)-chains. 214.33/145.98 ---------------------------------------- 214.33/145.98 214.33/145.98 (814) TransformationProof (EQUIVALENT) 214.33/145.98 By rewriting [LPAR04] the rule new_pr2F0G10(y0, y1, Succ(Succ(x2)), Zero, y3) -> new_pr2F0G(y0, new_sr3(y1, y3), Neg(new_primDivNatS02(Succ(x2), Zero)), y3) at position [2,0] we obtained the following new rules [LPAR04]: 214.33/145.98 214.33/145.98 (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)) 214.33/145.98 214.33/145.98 214.33/145.98 ---------------------------------------- 214.33/145.98 214.33/145.98 (815) 214.33/145.98 Obligation: 214.33/145.98 Q DP problem: 214.33/145.98 The TRS P consists of the following rules: 214.33/145.98 214.33/145.98 new_pr2F0(vyv184, Neg(Succ(Succ(vyv223000))), vyv188, h) -> new_pr2F0G10(vyv188, vyv184, Succ(vyv223000), vyv223000, h) 214.33/145.98 new_pr2F0G10(vyv249, vyv250, vyv251, Succ(Zero), bb) -> new_pr2F0G11(vyv249, vyv250, vyv251, bb) 214.33/145.98 new_pr2F0G11(vyv239, vyv240, vyv241, bc) -> new_pr2F1(vyv240, vyv241, Pos(Succ(Zero)), vyv239, bc) 214.33/145.98 new_pr2F1(z1, z2, Pos(Succ(Zero)), z0, z3) -> new_pr2F30(False, z1, z2, Pos(Succ(Zero)), z0, z3) 214.33/145.98 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) 214.33/145.98 H(vyv249, vyv250, vyv251, bb, cons_new_pr2F0G10(Succ(Zero))) -> new_pr2F0G10(vyv249, vyv250, vyv251, Succ(Zero), bb) 214.33/145.98 H(vyv249, vyv250, vyv251, bb, cons_new_pr2F0G10(Zero)) -> new_pr2F0G10(vyv249, vyv250, vyv251, Zero, bb) 214.33/145.98 new_pr2F0G(vyv188, vyv184, Neg(Succ(Zero)), h) -> new_pr2F0G11(vyv188, vyv184, Zero, h) 214.33/145.98 new_pr2F0G(vyv188, vyv184, Neg(Succ(Succ(vyv223000))), h) -> new_pr2F0G10(vyv188, vyv184, Succ(vyv223000), vyv223000, h) 214.33/145.98 new_pr2F0G(vyv188, vyv184, Neg(Succ(Succ(vyv223000))), h) -> H(vyv188, vyv184, Succ(vyv223000), h, anew_new_pr2F0G10(vyv223000)) 214.33/145.98 new_pr2F0(y0, Neg(Succ(Succ(Succ(Succ(x0))))), y2, y3) -> H(y2, y0, Succ(Succ(Succ(x0))), y3, new_new_pr2F0G10(x0)) 214.33/145.98 new_pr2F0G10(y0, y1, Succ(Zero), Zero, y3) -> new_pr2F0G(y0, new_sr3(y1, y3), Neg(new_primDivNatS02(Zero, Zero)), y3) 214.33/145.98 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) 214.33/145.98 214.33/145.98 The TRS R consists of the following rules: 214.33/145.98 214.33/145.98 new_sr3(vyv250, ty_Double) -> new_sr11(vyv250) 214.33/145.98 new_sr3(vyv250, ty_Int) -> new_sr7(vyv250) 214.33/145.98 new_sr3(vyv250, ty_Float) -> new_sr12(vyv250) 214.33/145.98 new_sr3(vyv250, ty_Integer) -> new_sr6(vyv250) 214.33/145.98 new_sr3(vyv250, app(ty_Ratio, bf)) -> new_sr5(vyv250, bf) 214.33/145.98 new_primDivNatS1(Succ(Zero), Succ(vyv285000)) -> Zero 214.33/145.98 new_primDivNatS1(Succ(Succ(vyv271000)), Succ(vyv285000)) -> new_primDivNatS01(vyv271000, vyv285000, vyv271000, vyv285000) 214.33/145.98 new_primDivNatS01(vyv311, vyv312, Succ(vyv3130), Zero) -> new_primDivNatS02(vyv311, vyv312) 214.33/145.98 new_primDivNatS01(vyv311, vyv312, Zero, Succ(vyv3140)) -> Zero 214.33/145.98 new_primDivNatS01(vyv311, vyv312, Succ(vyv3130), Succ(vyv3140)) -> new_primDivNatS01(vyv311, vyv312, vyv3130, vyv3140) 214.33/145.98 new_primDivNatS01(vyv311, vyv312, Zero, Zero) -> new_primDivNatS02(vyv311, vyv312) 214.33/145.98 new_primDivNatS02(vyv311, vyv312) -> Succ(new_primDivNatS1(new_primMinusNatS2(vyv311, vyv312), Succ(vyv312))) 214.33/145.98 new_primMinusNatS2(Zero, Succ(vyv3120)) -> Zero 214.33/145.98 new_primMinusNatS2(Succ(vyv3110), Zero) -> Succ(vyv3110) 214.33/145.98 new_primMinusNatS2(Zero, Zero) -> Zero 214.33/145.98 new_primMinusNatS2(Succ(vyv3110), Succ(vyv3120)) -> new_primMinusNatS2(vyv3110, vyv3120) 214.33/145.98 new_primDivNatS1(Zero, vyv28500) -> Zero 214.33/145.98 new_sr5(:%(vyv1840, vyv1841), bd) -> new_reduce2Reduce1(vyv1840, vyv1840, vyv1841, vyv1841, new_esEs0(vyv1841, bd), bd) 214.33/145.98 new_esEs0(vyv1841, ty_Int) -> new_esEs(new_sr7(vyv1841)) 214.33/145.98 new_esEs0(vyv1841, ty_Integer) -> new_esEs1(new_sr6(vyv1841)) 214.33/145.98 new_reduce2Reduce1(vyv265, vyv266, vyv267, vyv268, False, bh) -> :%(new_quot0(vyv265, vyv266, vyv267, vyv268, bh), new_quot1(vyv267, vyv268, vyv265, vyv266, bh)) 214.33/145.98 new_reduce2Reduce1(vyv265, vyv266, vyv267, vyv268, True, bh) -> error([]) 214.33/145.98 new_quot0(vyv265, vyv266, vyv267, vyv268, ty_Integer) -> new_quot2(new_sr9(vyv265, vyv266), new_sr9(vyv265, vyv266), new_sr9(vyv267, vyv268)) 214.33/145.98 new_quot0(vyv265, vyv266, vyv267, vyv268, ty_Int) -> new_quot(new_sr10(vyv265, vyv266), new_sr10(vyv265, vyv266), new_sr10(vyv267, vyv268)) 214.33/145.98 new_quot1(vyv267, vyv268, vyv265, vyv266, ty_Int) -> new_quot(new_sr10(vyv267, vyv268), new_sr10(vyv265, vyv266), new_sr10(vyv267, vyv268)) 214.33/145.98 new_quot1(vyv267, vyv268, vyv265, vyv266, ty_Integer) -> new_quot2(new_sr9(vyv267, vyv268), new_sr9(vyv265, vyv266), new_sr9(vyv267, vyv268)) 214.33/145.98 new_sr9(vyv240, vyv239) -> error([]) 214.33/145.98 new_quot2(vyv274, vyv276, vyv275) -> error([]) 214.33/145.98 new_sr10(Pos(vyv2400), Pos(vyv2390)) -> Pos(new_primMulNat0(vyv2400, vyv2390)) 214.33/145.98 new_sr10(Neg(vyv2400), Neg(vyv2390)) -> Pos(new_primMulNat0(vyv2400, vyv2390)) 214.33/145.98 new_sr10(Pos(vyv2400), Neg(vyv2390)) -> Neg(new_primMulNat0(vyv2400, vyv2390)) 214.33/145.98 new_sr10(Neg(vyv2400), Pos(vyv2390)) -> Neg(new_primMulNat0(vyv2400, vyv2390)) 214.33/145.98 new_quot(Pos(vyv2710), vyv273, vyv272) -> new_primQuotInt(vyv2710, new_gcd(vyv273, vyv272)) 214.33/145.98 new_quot(Neg(vyv2710), vyv273, vyv272) -> new_primQuotInt0(vyv2710, new_gcd(vyv273, vyv272)) 214.33/145.98 new_gcd(vyv273, vyv272) -> new_gcd2(new_esEs(vyv273), vyv273, vyv272) 214.33/145.98 new_primQuotInt0(vyv2710, Pos(Succ(vyv28800))) -> Neg(new_primDivNatS1(vyv2710, vyv28800)) 214.33/145.98 new_primQuotInt0(vyv2710, Neg(Zero)) -> new_error 214.33/145.98 new_primQuotInt0(vyv2710, Neg(Succ(vyv28800))) -> Pos(new_primDivNatS1(vyv2710, vyv28800)) 214.33/145.98 new_primQuotInt0(vyv2710, Pos(Zero)) -> new_error 214.33/145.98 new_error -> error([]) 214.33/145.98 new_primDivNatS1(Succ(Succ(vyv271000)), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS0(vyv271000), Zero)) 214.33/145.98 new_primDivNatS1(Succ(Zero), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS1, Zero)) 214.33/145.98 new_primMinusNatS1 -> Zero 214.33/145.98 new_primMinusNatS0(vyv271000) -> Succ(vyv271000) 214.33/145.98 new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) 214.33/145.98 new_esEs(Pos(Succ(vyv24300))) -> new_primEqInt(Pos(Succ(vyv24300))) 214.33/145.98 new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) 214.33/145.98 new_esEs(Neg(Succ(vyv24300))) -> new_primEqInt(Neg(Succ(vyv24300))) 214.33/145.98 new_gcd2(True, vyv273, vyv272) -> new_gcd1(new_esEs(vyv272), vyv273, vyv272) 214.33/145.98 new_gcd2(False, vyv273, vyv272) -> new_gcd0(vyv273, vyv272) 214.33/145.98 new_gcd0(vyv273, vyv272) -> new_gcd0Gcd'11(new_esEs(new_abs(vyv272)), vyv273, vyv272) 214.33/145.98 new_abs(Neg(Zero)) -> Neg(Zero) 214.33/145.98 new_abs(Neg(Succ(vyv27200))) -> Pos(Succ(vyv27200)) 214.33/145.98 new_abs(Pos(Succ(vyv27200))) -> Pos(Succ(vyv27200)) 214.33/145.98 new_abs(Pos(Zero)) -> Pos(Zero) 214.33/145.98 new_gcd0Gcd'11(True, vyv273, vyv272) -> new_abs(vyv273) 214.33/145.98 new_gcd0Gcd'11(False, vyv273, vyv272) -> new_gcd0Gcd'00(new_abs(vyv273), new_abs(vyv272)) 214.33/145.98 new_gcd0Gcd'10(False, vyv292, vyv293) -> new_gcd0Gcd'00(vyv292, new_rem(vyv293, vyv292)) 214.33/145.98 new_gcd0Gcd'00(vyv293, vyv292) -> new_gcd0Gcd'10(new_esEs(new_rem(vyv293, vyv292)), vyv292, vyv293) 214.33/145.98 new_rem(Pos(vyv2930), Neg(Zero)) -> new_error 214.33/145.98 new_rem(Neg(vyv2930), Pos(Zero)) -> new_error 214.33/145.98 new_rem(Pos(vyv2930), Neg(Succ(vyv29200))) -> Pos(new_primModNatS1(vyv2930, vyv29200)) 214.33/145.98 new_rem(Neg(vyv2930), Pos(Succ(vyv29200))) -> Neg(new_primModNatS1(vyv2930, vyv29200)) 214.33/145.98 new_rem(Pos(vyv2930), Pos(Succ(vyv29200))) -> Pos(new_primModNatS1(vyv2930, vyv29200)) 214.33/145.98 new_rem(Neg(vyv2930), Neg(Zero)) -> new_error 214.33/145.98 new_rem(Neg(vyv2930), Neg(Succ(vyv29200))) -> Neg(new_primModNatS1(vyv2930, vyv29200)) 214.33/145.98 new_rem(Pos(vyv2930), Pos(Zero)) -> new_error 214.33/145.98 new_gcd0Gcd'10(True, vyv292, vyv293) -> vyv292 214.33/145.98 new_primModNatS1(Succ(Zero), Succ(vyv292000)) -> Succ(Zero) 214.33/145.98 new_primModNatS1(Zero, vyv29200) -> Zero 214.33/145.98 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 214.33/145.98 new_primModNatS1(Succ(Succ(vyv293000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv293000), Zero) 214.33/145.98 new_primModNatS1(Succ(Succ(vyv293000)), Succ(vyv292000)) -> new_primModNatS01(vyv293000, vyv292000, vyv293000, vyv292000) 214.33/145.98 new_primModNatS01(vyv331, vyv332, Zero, Zero) -> new_primModNatS02(vyv331, vyv332) 214.33/145.98 new_primModNatS02(vyv331, vyv332) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv331), Succ(vyv332)), Succ(vyv332)) 214.33/145.98 new_primModNatS01(vyv331, vyv332, Succ(vyv3330), Zero) -> new_primModNatS02(vyv331, vyv332) 214.33/145.98 new_primModNatS01(vyv331, vyv332, Succ(vyv3330), Succ(vyv3340)) -> new_primModNatS01(vyv331, vyv332, vyv3330, vyv3340) 214.33/145.98 new_primModNatS01(vyv331, vyv332, Zero, Succ(vyv3340)) -> Succ(Succ(vyv331)) 214.33/145.98 new_gcd1(True, vyv273, vyv272) -> new_error 214.33/145.98 new_gcd1(False, vyv273, vyv272) -> new_gcd0(vyv273, vyv272) 214.33/145.98 new_primEqInt(Neg(Succ(vyv242000))) -> False 214.33/145.98 new_primEqInt(Pos(Zero)) -> True 214.33/145.98 new_primEqInt(Pos(Succ(vyv242000))) -> False 214.33/145.98 new_primEqInt(Neg(Zero)) -> True 214.33/145.98 new_primQuotInt(vyv2710, Pos(Succ(vyv28500))) -> Pos(new_primDivNatS1(vyv2710, vyv28500)) 214.33/145.98 new_primQuotInt(vyv2710, Neg(Zero)) -> new_error 214.33/145.98 new_primQuotInt(vyv2710, Pos(Zero)) -> new_error 214.33/145.98 new_primQuotInt(vyv2710, Neg(Succ(vyv28500))) -> Neg(new_primDivNatS1(vyv2710, vyv28500)) 214.33/145.98 new_primMulNat0(Zero, Succ(vyv23900)) -> Zero 214.33/145.98 new_primMulNat0(Succ(vyv24000), Succ(vyv23900)) -> new_primPlusNat0(new_primMulNat0(vyv24000, Succ(vyv23900)), Succ(vyv23900)) 214.33/145.98 new_primMulNat0(Succ(vyv24000), Zero) -> Zero 214.33/145.98 new_primMulNat0(Zero, Zero) -> Zero 214.33/145.98 new_primPlusNat0(Succ(vyv4000), Succ(vyv6000)) -> Succ(Succ(new_primPlusNat0(vyv4000, vyv6000))) 214.33/145.98 new_primPlusNat0(Zero, Succ(vyv6000)) -> Succ(vyv6000) 214.33/145.98 new_primPlusNat0(Zero, Zero) -> Zero 214.33/145.98 new_primPlusNat0(Succ(vyv4000), Zero) -> Succ(vyv4000) 214.33/145.98 new_sr6(vyv184) -> error([]) 214.33/145.98 new_esEs1(Integer(vyv2700)) -> new_primEqInt(vyv2700) 214.33/145.98 new_sr7(Pos(vyv1840)) -> Pos(new_primMulNat1(vyv1840)) 214.33/145.98 new_sr7(Neg(vyv1840)) -> Pos(new_primMulNat1(vyv1840)) 214.33/145.98 new_primMulNat1(Succ(vyv18400)) -> new_primPlusNat0(new_primMulNat2(vyv18400), Succ(vyv18400)) 214.33/145.98 new_primMulNat1(Zero) -> Zero 214.33/145.98 new_primMulNat2(Succ(vyv184000)) -> new_primPlusNat0(new_primMulNat3(vyv184000), Succ(Succ(vyv184000))) 214.33/145.98 new_primMulNat2(Zero) -> Zero 214.33/145.98 new_primMulNat3(Succ(vyv1840000)) -> new_primPlusNat0(new_primMulNat4(vyv1840000), Succ(Succ(Succ(vyv1840000)))) 214.33/145.98 new_primMulNat3(Zero) -> Zero 214.33/145.98 new_primMulNat4(Succ(vyv18400000)) -> new_primPlusNat0(new_primMulNat0(vyv18400000, Succ(Succ(Succ(Succ(vyv18400000))))), Succ(Succ(Succ(Succ(vyv18400000))))) 214.33/145.98 new_primMulNat4(Zero) -> Zero 214.33/145.98 new_sr12(vyv184) -> error([]) 214.33/145.98 new_sr11(vyv184) -> error([]) 214.33/145.98 new_sr4(vyv240, vyv239, app(ty_Ratio, be)) -> new_sr8(vyv240, vyv239, be) 214.33/145.98 new_sr4(vyv240, vyv239, ty_Float) -> new_sr14(vyv240, vyv239) 214.33/145.98 new_sr4(vyv240, vyv239, ty_Int) -> new_sr10(vyv240, vyv239) 214.33/145.98 new_sr4(vyv240, vyv239, ty_Double) -> new_sr13(vyv240, vyv239) 214.33/145.98 new_sr4(vyv240, vyv239, ty_Integer) -> new_sr9(vyv240, vyv239) 214.33/145.98 new_sr13(vyv240, vyv239) -> error([]) 214.33/145.98 new_sr14(vyv240, vyv239) -> error([]) 214.33/145.98 new_sr8(:%(vyv2400, vyv2401), :%(vyv2390, vyv2391), be) -> new_reduce2Reduce1(vyv2400, vyv2390, vyv2401, vyv2391, new_esEs2(vyv2401, vyv2391, be), be) 214.33/145.98 new_esEs2(vyv2401, vyv2391, ty_Integer) -> new_esEs1(new_sr9(vyv2401, vyv2391)) 214.33/145.98 new_esEs2(vyv2401, vyv2391, ty_Int) -> new_esEs(new_sr10(vyv2401, vyv2391)) 214.33/145.98 anew_new_pr2F0G10(Succ(Succ(vyv25200))) -> new_new_pr2F0G10(vyv25200) 214.33/145.98 new_new_pr2F0G10(Succ(Succ(vyv25200))) -> new_new_pr2F0G10(vyv25200) 214.33/145.98 new_new_pr2F0G10(Succ(Zero)) -> cons_new_pr2F0G10(Succ(Zero)) 214.33/145.98 new_new_pr2F0G10(Zero) -> cons_new_pr2F0G10(Zero) 214.33/145.98 214.33/145.98 The set Q consists of the following terms: 214.33/145.98 214.33/145.98 new_sr13(x0, x1) 214.33/145.98 new_primDivNatS01(x0, x1, Zero, Zero) 214.33/145.98 new_gcd0Gcd'11(False, x0, x1) 214.33/145.98 new_primMulNat4(Zero) 214.33/145.98 new_gcd0Gcd'11(True, x0, x1) 214.33/145.98 new_sr5(:%(x0, x1), x2) 214.33/145.98 new_primEqInt(Pos(Zero)) 214.33/145.98 new_esEs(Pos(Succ(x0))) 214.33/145.98 new_primQuotInt0(x0, Neg(Zero)) 214.33/145.98 new_primMulNat3(Zero) 214.33/145.98 new_primModNatS02(x0, x1) 214.33/145.98 new_primDivNatS1(Succ(Zero), Zero) 214.33/145.98 new_primMinusNatS0(x0) 214.33/145.98 new_sr11(x0) 214.33/145.98 new_rem(Pos(x0), Neg(Succ(x1))) 214.33/145.98 new_rem(Neg(x0), Pos(Succ(x1))) 214.33/145.98 new_primMulNat0(Zero, Zero) 214.33/145.98 new_primPlusNat0(Succ(x0), Zero) 214.33/145.98 new_primMulNat0(Succ(x0), Zero) 214.33/145.98 new_sr3(x0, ty_Float) 214.33/145.98 new_primMulNat2(Zero) 214.33/145.98 new_primQuotInt(x0, Pos(Zero)) 214.33/145.98 new_primMulNat2(Succ(x0)) 214.33/145.98 new_primQuotInt(x0, Neg(Zero)) 214.33/145.98 new_rem(Neg(x0), Neg(Succ(x1))) 214.33/145.98 new_primMinusNatS2(Zero, Succ(x0)) 214.33/145.98 new_sr4(x0, x1, ty_Double) 214.33/145.98 new_primMulNat3(Succ(x0)) 214.33/145.98 new_esEs1(Integer(x0)) 214.33/145.98 new_primQuotInt0(x0, Pos(Zero)) 214.33/145.98 new_gcd2(True, x0, x1) 214.33/145.98 new_quot1(x0, x1, x2, x3, ty_Int) 214.33/145.98 new_primDivNatS1(Zero, x0) 214.33/145.98 new_gcd(x0, x1) 214.33/145.98 new_gcd1(False, x0, x1) 214.33/145.98 new_esEs2(x0, x1, ty_Int) 214.33/145.98 new_sr3(x0, ty_Integer) 214.33/145.98 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 214.33/145.98 new_primPlusNat0(Zero, Succ(x0)) 214.33/145.98 new_sr8(:%(x0, x1), :%(x2, x3), x4) 214.33/145.98 new_abs(Neg(Zero)) 214.33/145.98 new_primMinusNatS2(Succ(x0), Zero) 214.33/145.98 new_error 214.33/145.98 new_primModNatS1(Succ(Zero), Zero) 214.33/145.98 new_primMulNat4(Succ(x0)) 214.33/145.98 new_primDivNatS02(x0, x1) 214.33/145.98 new_rem(Neg(x0), Neg(Zero)) 214.33/145.98 new_primEqInt(Neg(Zero)) 214.33/145.98 new_rem(Pos(x0), Pos(Succ(x1))) 214.33/145.98 new_abs(Pos(Succ(x0))) 214.33/145.98 new_primMulNat0(Succ(x0), Succ(x1)) 214.33/145.98 new_primMulNat0(Zero, Succ(x0)) 214.33/145.98 new_reduce2Reduce1(x0, x1, x2, x3, True, x4) 214.33/145.98 new_gcd0Gcd'10(False, x0, x1) 214.33/145.98 new_sr12(x0) 214.33/145.98 new_primDivNatS01(x0, x1, Zero, Succ(x2)) 214.33/145.98 new_sr10(Pos(x0), Pos(x1)) 214.33/145.98 new_primModNatS01(x0, x1, Zero, Succ(x2)) 214.33/145.98 new_primPlusNat0(Zero, Zero) 214.33/145.98 new_primQuotInt0(x0, Pos(Succ(x1))) 214.33/145.98 new_primModNatS01(x0, x1, Succ(x2), Zero) 214.33/145.98 new_primModNatS1(Succ(Succ(x0)), Zero) 214.33/145.98 new_sr4(x0, x1, ty_Integer) 214.33/145.98 new_rem(Pos(x0), Pos(Zero)) 214.33/145.98 new_sr4(x0, x1, ty_Int) 214.33/145.98 new_quot(Pos(x0), x1, x2) 214.33/145.98 new_primMinusNatS2(Zero, Zero) 214.33/145.98 new_esEs0(x0, ty_Int) 214.33/145.98 new_esEs(Pos(Zero)) 214.33/145.98 new_quot(Neg(x0), x1, x2) 214.33/145.98 new_primDivNatS01(x0, x1, Succ(x2), Succ(x3)) 214.33/145.98 new_quot2(x0, x1, x2) 214.33/145.98 new_primEqInt(Neg(Succ(x0))) 214.33/145.98 new_sr10(Neg(x0), Neg(x1)) 214.33/145.98 new_sr3(x0, app(ty_Ratio, x1)) 214.33/145.98 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 214.33/145.98 new_sr9(x0, x1) 214.33/145.98 new_sr7(Neg(x0)) 214.33/145.98 new_primQuotInt0(x0, Neg(Succ(x1))) 214.33/145.98 new_rem(Pos(x0), Neg(Zero)) 214.33/145.98 new_rem(Neg(x0), Pos(Zero)) 214.33/145.98 new_gcd0Gcd'00(x0, x1) 214.33/145.98 new_primQuotInt(x0, Neg(Succ(x1))) 214.33/145.98 new_primMinusNatS2(Succ(x0), Succ(x1)) 214.33/145.98 new_abs(Pos(Zero)) 214.33/145.98 new_quot0(x0, x1, x2, x3, ty_Integer) 214.33/145.98 new_sr6(x0) 214.33/145.98 new_gcd2(False, x0, x1) 214.33/145.98 new_gcd1(True, x0, x1) 214.33/145.98 new_esEs2(x0, x1, ty_Integer) 214.33/145.98 new_primMinusNatS1 214.33/145.98 new_sr7(Pos(x0)) 214.33/145.98 new_gcd0Gcd'10(True, x0, x1) 214.33/145.98 new_primModNatS1(Zero, x0) 214.33/145.98 new_sr4(x0, x1, ty_Float) 214.33/145.98 new_sr10(Pos(x0), Neg(x1)) 214.33/145.98 new_sr10(Neg(x0), Pos(x1)) 214.33/145.98 new_primDivNatS01(x0, x1, Succ(x2), Zero) 214.33/145.98 new_primDivNatS1(Succ(Succ(x0)), Succ(x1)) 214.33/145.98 new_primPlusNat0(Succ(x0), Succ(x1)) 214.33/145.98 new_primDivNatS1(Succ(Zero), Succ(x0)) 214.33/145.98 new_primQuotInt(x0, Pos(Succ(x1))) 214.33/145.98 new_abs(Neg(Succ(x0))) 214.33/145.98 new_esEs0(x0, ty_Integer) 214.33/145.98 new_sr3(x0, ty_Int) 214.33/145.98 new_esEs(Neg(Succ(x0))) 214.33/145.98 new_primModNatS01(x0, x1, Zero, Zero) 214.33/145.98 new_sr4(x0, x1, app(ty_Ratio, x2)) 214.33/145.98 new_gcd0(x0, x1) 214.33/145.98 new_primEqInt(Pos(Succ(x0))) 214.33/145.98 new_sr3(x0, ty_Double) 214.33/145.98 new_quot1(x0, x1, x2, x3, ty_Integer) 214.33/145.98 new_primDivNatS1(Succ(Succ(x0)), Zero) 214.33/145.98 new_primMulNat1(Succ(x0)) 214.33/145.98 new_sr14(x0, x1) 214.33/145.98 new_quot0(x0, x1, x2, x3, ty_Int) 214.33/145.98 new_primModNatS1(Succ(Zero), Succ(x0)) 214.33/145.98 new_reduce2Reduce1(x0, x1, x2, x3, False, x4) 214.33/145.98 new_esEs(Neg(Zero)) 214.33/145.98 new_primMulNat1(Zero) 214.33/145.98 new_new_pr2F0G10(Succ(Succ(x0))) 214.33/145.98 anew_new_pr2F0G10(Succ(Succ(x0))) 214.33/145.98 new_new_pr2F0G10(Succ(Zero)) 214.33/145.98 new_new_pr2F0G10(Zero) 214.33/145.98 214.33/145.98 We have to consider all minimal (P,Q,R)-chains. 214.33/145.98 ---------------------------------------- 214.33/145.98 214.33/145.98 (816) TransformationProof (EQUIVALENT) 214.33/145.98 By rewriting [LPAR04] the rule new_pr2F0G10(y0, y1, Succ(Zero), Zero, y3) -> new_pr2F0G(y0, new_sr3(y1, y3), Neg(new_primDivNatS02(Zero, Zero)), y3) at position [2,0] we obtained the following new rules [LPAR04]: 214.33/145.98 214.33/145.98 (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)) 214.33/145.98 214.33/145.98 214.33/145.98 ---------------------------------------- 214.33/145.98 214.33/145.98 (817) 214.33/145.98 Obligation: 214.33/145.98 Q DP problem: 214.33/145.98 The TRS P consists of the following rules: 214.33/145.98 214.33/145.98 new_pr2F0(vyv184, Neg(Succ(Succ(vyv223000))), vyv188, h) -> new_pr2F0G10(vyv188, vyv184, Succ(vyv223000), vyv223000, h) 214.33/145.98 new_pr2F0G10(vyv249, vyv250, vyv251, Succ(Zero), bb) -> new_pr2F0G11(vyv249, vyv250, vyv251, bb) 214.33/145.98 new_pr2F0G11(vyv239, vyv240, vyv241, bc) -> new_pr2F1(vyv240, vyv241, Pos(Succ(Zero)), vyv239, bc) 214.33/145.98 new_pr2F1(z1, z2, Pos(Succ(Zero)), z0, z3) -> new_pr2F30(False, z1, z2, Pos(Succ(Zero)), z0, z3) 214.33/145.98 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) 214.33/145.98 H(vyv249, vyv250, vyv251, bb, cons_new_pr2F0G10(Succ(Zero))) -> new_pr2F0G10(vyv249, vyv250, vyv251, Succ(Zero), bb) 214.33/145.98 H(vyv249, vyv250, vyv251, bb, cons_new_pr2F0G10(Zero)) -> new_pr2F0G10(vyv249, vyv250, vyv251, Zero, bb) 214.33/145.98 new_pr2F0G(vyv188, vyv184, Neg(Succ(Zero)), h) -> new_pr2F0G11(vyv188, vyv184, Zero, h) 214.33/145.98 new_pr2F0G(vyv188, vyv184, Neg(Succ(Succ(vyv223000))), h) -> new_pr2F0G10(vyv188, vyv184, Succ(vyv223000), vyv223000, h) 214.33/145.98 new_pr2F0G(vyv188, vyv184, Neg(Succ(Succ(vyv223000))), h) -> H(vyv188, vyv184, Succ(vyv223000), h, anew_new_pr2F0G10(vyv223000)) 214.33/145.98 new_pr2F0(y0, Neg(Succ(Succ(Succ(Succ(x0))))), y2, y3) -> H(y2, y0, Succ(Succ(Succ(x0))), y3, new_new_pr2F0G10(x0)) 214.33/145.98 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) 214.33/145.98 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) 214.33/145.98 214.33/145.98 The TRS R consists of the following rules: 214.33/145.98 214.33/145.98 new_sr3(vyv250, ty_Double) -> new_sr11(vyv250) 214.33/145.98 new_sr3(vyv250, ty_Int) -> new_sr7(vyv250) 214.33/145.98 new_sr3(vyv250, ty_Float) -> new_sr12(vyv250) 214.33/145.98 new_sr3(vyv250, ty_Integer) -> new_sr6(vyv250) 214.33/145.98 new_sr3(vyv250, app(ty_Ratio, bf)) -> new_sr5(vyv250, bf) 214.33/145.98 new_primDivNatS1(Succ(Zero), Succ(vyv285000)) -> Zero 214.33/145.99 new_primDivNatS1(Succ(Succ(vyv271000)), Succ(vyv285000)) -> new_primDivNatS01(vyv271000, vyv285000, vyv271000, vyv285000) 214.33/145.99 new_primDivNatS01(vyv311, vyv312, Succ(vyv3130), Zero) -> new_primDivNatS02(vyv311, vyv312) 214.33/145.99 new_primDivNatS01(vyv311, vyv312, Zero, Succ(vyv3140)) -> Zero 214.33/145.99 new_primDivNatS01(vyv311, vyv312, Succ(vyv3130), Succ(vyv3140)) -> new_primDivNatS01(vyv311, vyv312, vyv3130, vyv3140) 214.33/145.99 new_primDivNatS01(vyv311, vyv312, Zero, Zero) -> new_primDivNatS02(vyv311, vyv312) 214.33/145.99 new_primDivNatS02(vyv311, vyv312) -> Succ(new_primDivNatS1(new_primMinusNatS2(vyv311, vyv312), Succ(vyv312))) 214.33/145.99 new_primMinusNatS2(Zero, Succ(vyv3120)) -> Zero 214.33/145.99 new_primMinusNatS2(Succ(vyv3110), Zero) -> Succ(vyv3110) 214.33/145.99 new_primMinusNatS2(Zero, Zero) -> Zero 214.33/145.99 new_primMinusNatS2(Succ(vyv3110), Succ(vyv3120)) -> new_primMinusNatS2(vyv3110, vyv3120) 214.33/145.99 new_primDivNatS1(Zero, vyv28500) -> Zero 214.33/145.99 new_sr5(:%(vyv1840, vyv1841), bd) -> new_reduce2Reduce1(vyv1840, vyv1840, vyv1841, vyv1841, new_esEs0(vyv1841, bd), bd) 214.33/145.99 new_esEs0(vyv1841, ty_Int) -> new_esEs(new_sr7(vyv1841)) 214.33/145.99 new_esEs0(vyv1841, ty_Integer) -> new_esEs1(new_sr6(vyv1841)) 214.33/145.99 new_reduce2Reduce1(vyv265, vyv266, vyv267, vyv268, False, bh) -> :%(new_quot0(vyv265, vyv266, vyv267, vyv268, bh), new_quot1(vyv267, vyv268, vyv265, vyv266, bh)) 214.33/145.99 new_reduce2Reduce1(vyv265, vyv266, vyv267, vyv268, True, bh) -> error([]) 214.33/145.99 new_quot0(vyv265, vyv266, vyv267, vyv268, ty_Integer) -> new_quot2(new_sr9(vyv265, vyv266), new_sr9(vyv265, vyv266), new_sr9(vyv267, vyv268)) 214.33/145.99 new_quot0(vyv265, vyv266, vyv267, vyv268, ty_Int) -> new_quot(new_sr10(vyv265, vyv266), new_sr10(vyv265, vyv266), new_sr10(vyv267, vyv268)) 214.33/145.99 new_quot1(vyv267, vyv268, vyv265, vyv266, ty_Int) -> new_quot(new_sr10(vyv267, vyv268), new_sr10(vyv265, vyv266), new_sr10(vyv267, vyv268)) 214.33/145.99 new_quot1(vyv267, vyv268, vyv265, vyv266, ty_Integer) -> new_quot2(new_sr9(vyv267, vyv268), new_sr9(vyv265, vyv266), new_sr9(vyv267, vyv268)) 214.33/145.99 new_sr9(vyv240, vyv239) -> error([]) 214.33/145.99 new_quot2(vyv274, vyv276, vyv275) -> error([]) 214.33/145.99 new_sr10(Pos(vyv2400), Pos(vyv2390)) -> Pos(new_primMulNat0(vyv2400, vyv2390)) 214.33/145.99 new_sr10(Neg(vyv2400), Neg(vyv2390)) -> Pos(new_primMulNat0(vyv2400, vyv2390)) 214.33/145.99 new_sr10(Pos(vyv2400), Neg(vyv2390)) -> Neg(new_primMulNat0(vyv2400, vyv2390)) 214.33/145.99 new_sr10(Neg(vyv2400), Pos(vyv2390)) -> Neg(new_primMulNat0(vyv2400, vyv2390)) 214.33/145.99 new_quot(Pos(vyv2710), vyv273, vyv272) -> new_primQuotInt(vyv2710, new_gcd(vyv273, vyv272)) 214.33/145.99 new_quot(Neg(vyv2710), vyv273, vyv272) -> new_primQuotInt0(vyv2710, new_gcd(vyv273, vyv272)) 214.33/145.99 new_gcd(vyv273, vyv272) -> new_gcd2(new_esEs(vyv273), vyv273, vyv272) 214.33/145.99 new_primQuotInt0(vyv2710, Pos(Succ(vyv28800))) -> Neg(new_primDivNatS1(vyv2710, vyv28800)) 214.33/145.99 new_primQuotInt0(vyv2710, Neg(Zero)) -> new_error 214.33/145.99 new_primQuotInt0(vyv2710, Neg(Succ(vyv28800))) -> Pos(new_primDivNatS1(vyv2710, vyv28800)) 214.33/145.99 new_primQuotInt0(vyv2710, Pos(Zero)) -> new_error 214.33/145.99 new_error -> error([]) 214.33/145.99 new_primDivNatS1(Succ(Succ(vyv271000)), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS0(vyv271000), Zero)) 214.33/145.99 new_primDivNatS1(Succ(Zero), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS1, Zero)) 214.33/145.99 new_primMinusNatS1 -> Zero 214.33/145.99 new_primMinusNatS0(vyv271000) -> Succ(vyv271000) 214.33/145.99 new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) 214.33/145.99 new_esEs(Pos(Succ(vyv24300))) -> new_primEqInt(Pos(Succ(vyv24300))) 214.33/145.99 new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) 214.33/145.99 new_esEs(Neg(Succ(vyv24300))) -> new_primEqInt(Neg(Succ(vyv24300))) 214.33/145.99 new_gcd2(True, vyv273, vyv272) -> new_gcd1(new_esEs(vyv272), vyv273, vyv272) 214.33/145.99 new_gcd2(False, vyv273, vyv272) -> new_gcd0(vyv273, vyv272) 214.33/145.99 new_gcd0(vyv273, vyv272) -> new_gcd0Gcd'11(new_esEs(new_abs(vyv272)), vyv273, vyv272) 214.33/145.99 new_abs(Neg(Zero)) -> Neg(Zero) 214.33/145.99 new_abs(Neg(Succ(vyv27200))) -> Pos(Succ(vyv27200)) 214.33/145.99 new_abs(Pos(Succ(vyv27200))) -> Pos(Succ(vyv27200)) 214.33/145.99 new_abs(Pos(Zero)) -> Pos(Zero) 214.33/145.99 new_gcd0Gcd'11(True, vyv273, vyv272) -> new_abs(vyv273) 214.33/145.99 new_gcd0Gcd'11(False, vyv273, vyv272) -> new_gcd0Gcd'00(new_abs(vyv273), new_abs(vyv272)) 214.33/145.99 new_gcd0Gcd'10(False, vyv292, vyv293) -> new_gcd0Gcd'00(vyv292, new_rem(vyv293, vyv292)) 214.33/145.99 new_gcd0Gcd'00(vyv293, vyv292) -> new_gcd0Gcd'10(new_esEs(new_rem(vyv293, vyv292)), vyv292, vyv293) 214.33/145.99 new_rem(Pos(vyv2930), Neg(Zero)) -> new_error 214.33/145.99 new_rem(Neg(vyv2930), Pos(Zero)) -> new_error 214.33/145.99 new_rem(Pos(vyv2930), Neg(Succ(vyv29200))) -> Pos(new_primModNatS1(vyv2930, vyv29200)) 214.33/145.99 new_rem(Neg(vyv2930), Pos(Succ(vyv29200))) -> Neg(new_primModNatS1(vyv2930, vyv29200)) 214.33/145.99 new_rem(Pos(vyv2930), Pos(Succ(vyv29200))) -> Pos(new_primModNatS1(vyv2930, vyv29200)) 214.33/145.99 new_rem(Neg(vyv2930), Neg(Zero)) -> new_error 214.33/145.99 new_rem(Neg(vyv2930), Neg(Succ(vyv29200))) -> Neg(new_primModNatS1(vyv2930, vyv29200)) 214.33/145.99 new_rem(Pos(vyv2930), Pos(Zero)) -> new_error 214.33/145.99 new_gcd0Gcd'10(True, vyv292, vyv293) -> vyv292 214.33/145.99 new_primModNatS1(Succ(Zero), Succ(vyv292000)) -> Succ(Zero) 214.33/145.99 new_primModNatS1(Zero, vyv29200) -> Zero 214.33/145.99 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 214.33/145.99 new_primModNatS1(Succ(Succ(vyv293000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv293000), Zero) 214.33/145.99 new_primModNatS1(Succ(Succ(vyv293000)), Succ(vyv292000)) -> new_primModNatS01(vyv293000, vyv292000, vyv293000, vyv292000) 214.33/145.99 new_primModNatS01(vyv331, vyv332, Zero, Zero) -> new_primModNatS02(vyv331, vyv332) 214.33/145.99 new_primModNatS02(vyv331, vyv332) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv331), Succ(vyv332)), Succ(vyv332)) 214.33/145.99 new_primModNatS01(vyv331, vyv332, Succ(vyv3330), Zero) -> new_primModNatS02(vyv331, vyv332) 214.33/145.99 new_primModNatS01(vyv331, vyv332, Succ(vyv3330), Succ(vyv3340)) -> new_primModNatS01(vyv331, vyv332, vyv3330, vyv3340) 214.33/145.99 new_primModNatS01(vyv331, vyv332, Zero, Succ(vyv3340)) -> Succ(Succ(vyv331)) 214.33/145.99 new_gcd1(True, vyv273, vyv272) -> new_error 214.33/145.99 new_gcd1(False, vyv273, vyv272) -> new_gcd0(vyv273, vyv272) 214.33/145.99 new_primEqInt(Neg(Succ(vyv242000))) -> False 214.33/145.99 new_primEqInt(Pos(Zero)) -> True 214.33/145.99 new_primEqInt(Pos(Succ(vyv242000))) -> False 214.33/145.99 new_primEqInt(Neg(Zero)) -> True 214.33/145.99 new_primQuotInt(vyv2710, Pos(Succ(vyv28500))) -> Pos(new_primDivNatS1(vyv2710, vyv28500)) 214.33/145.99 new_primQuotInt(vyv2710, Neg(Zero)) -> new_error 214.33/145.99 new_primQuotInt(vyv2710, Pos(Zero)) -> new_error 214.33/145.99 new_primQuotInt(vyv2710, Neg(Succ(vyv28500))) -> Neg(new_primDivNatS1(vyv2710, vyv28500)) 214.33/145.99 new_primMulNat0(Zero, Succ(vyv23900)) -> Zero 214.33/145.99 new_primMulNat0(Succ(vyv24000), Succ(vyv23900)) -> new_primPlusNat0(new_primMulNat0(vyv24000, Succ(vyv23900)), Succ(vyv23900)) 214.33/145.99 new_primMulNat0(Succ(vyv24000), Zero) -> Zero 214.33/145.99 new_primMulNat0(Zero, Zero) -> Zero 214.33/145.99 new_primPlusNat0(Succ(vyv4000), Succ(vyv6000)) -> Succ(Succ(new_primPlusNat0(vyv4000, vyv6000))) 214.33/145.99 new_primPlusNat0(Zero, Succ(vyv6000)) -> Succ(vyv6000) 214.33/145.99 new_primPlusNat0(Zero, Zero) -> Zero 214.33/145.99 new_primPlusNat0(Succ(vyv4000), Zero) -> Succ(vyv4000) 214.33/145.99 new_sr6(vyv184) -> error([]) 214.33/145.99 new_esEs1(Integer(vyv2700)) -> new_primEqInt(vyv2700) 214.33/145.99 new_sr7(Pos(vyv1840)) -> Pos(new_primMulNat1(vyv1840)) 214.33/145.99 new_sr7(Neg(vyv1840)) -> Pos(new_primMulNat1(vyv1840)) 214.33/145.99 new_primMulNat1(Succ(vyv18400)) -> new_primPlusNat0(new_primMulNat2(vyv18400), Succ(vyv18400)) 214.33/145.99 new_primMulNat1(Zero) -> Zero 214.33/145.99 new_primMulNat2(Succ(vyv184000)) -> new_primPlusNat0(new_primMulNat3(vyv184000), Succ(Succ(vyv184000))) 214.33/145.99 new_primMulNat2(Zero) -> Zero 214.33/145.99 new_primMulNat3(Succ(vyv1840000)) -> new_primPlusNat0(new_primMulNat4(vyv1840000), Succ(Succ(Succ(vyv1840000)))) 214.33/145.99 new_primMulNat3(Zero) -> Zero 214.33/145.99 new_primMulNat4(Succ(vyv18400000)) -> new_primPlusNat0(new_primMulNat0(vyv18400000, Succ(Succ(Succ(Succ(vyv18400000))))), Succ(Succ(Succ(Succ(vyv18400000))))) 214.33/145.99 new_primMulNat4(Zero) -> Zero 214.33/145.99 new_sr12(vyv184) -> error([]) 214.33/145.99 new_sr11(vyv184) -> error([]) 214.33/145.99 new_sr4(vyv240, vyv239, app(ty_Ratio, be)) -> new_sr8(vyv240, vyv239, be) 214.33/145.99 new_sr4(vyv240, vyv239, ty_Float) -> new_sr14(vyv240, vyv239) 214.33/145.99 new_sr4(vyv240, vyv239, ty_Int) -> new_sr10(vyv240, vyv239) 214.33/145.99 new_sr4(vyv240, vyv239, ty_Double) -> new_sr13(vyv240, vyv239) 214.33/145.99 new_sr4(vyv240, vyv239, ty_Integer) -> new_sr9(vyv240, vyv239) 214.33/145.99 new_sr13(vyv240, vyv239) -> error([]) 214.33/145.99 new_sr14(vyv240, vyv239) -> error([]) 214.33/145.99 new_sr8(:%(vyv2400, vyv2401), :%(vyv2390, vyv2391), be) -> new_reduce2Reduce1(vyv2400, vyv2390, vyv2401, vyv2391, new_esEs2(vyv2401, vyv2391, be), be) 214.33/145.99 new_esEs2(vyv2401, vyv2391, ty_Integer) -> new_esEs1(new_sr9(vyv2401, vyv2391)) 214.33/145.99 new_esEs2(vyv2401, vyv2391, ty_Int) -> new_esEs(new_sr10(vyv2401, vyv2391)) 214.33/145.99 anew_new_pr2F0G10(Succ(Succ(vyv25200))) -> new_new_pr2F0G10(vyv25200) 214.33/145.99 new_new_pr2F0G10(Succ(Succ(vyv25200))) -> new_new_pr2F0G10(vyv25200) 214.33/145.99 new_new_pr2F0G10(Succ(Zero)) -> cons_new_pr2F0G10(Succ(Zero)) 214.33/145.99 new_new_pr2F0G10(Zero) -> cons_new_pr2F0G10(Zero) 214.33/145.99 214.33/145.99 The set Q consists of the following terms: 214.33/145.99 214.33/145.99 new_sr13(x0, x1) 214.33/145.99 new_primDivNatS01(x0, x1, Zero, Zero) 214.33/145.99 new_gcd0Gcd'11(False, x0, x1) 214.33/145.99 new_primMulNat4(Zero) 214.33/145.99 new_gcd0Gcd'11(True, x0, x1) 214.33/145.99 new_sr5(:%(x0, x1), x2) 214.33/145.99 new_primEqInt(Pos(Zero)) 214.33/145.99 new_esEs(Pos(Succ(x0))) 214.33/145.99 new_primQuotInt0(x0, Neg(Zero)) 214.33/145.99 new_primMulNat3(Zero) 214.33/145.99 new_primModNatS02(x0, x1) 214.33/145.99 new_primDivNatS1(Succ(Zero), Zero) 214.33/145.99 new_primMinusNatS0(x0) 214.33/145.99 new_sr11(x0) 214.33/145.99 new_rem(Pos(x0), Neg(Succ(x1))) 214.33/145.99 new_rem(Neg(x0), Pos(Succ(x1))) 214.33/145.99 new_primMulNat0(Zero, Zero) 214.33/145.99 new_primPlusNat0(Succ(x0), Zero) 214.33/145.99 new_primMulNat0(Succ(x0), Zero) 214.33/145.99 new_sr3(x0, ty_Float) 214.33/145.99 new_primMulNat2(Zero) 214.33/145.99 new_primQuotInt(x0, Pos(Zero)) 214.33/145.99 new_primMulNat2(Succ(x0)) 214.33/145.99 new_primQuotInt(x0, Neg(Zero)) 214.33/145.99 new_rem(Neg(x0), Neg(Succ(x1))) 214.33/145.99 new_primMinusNatS2(Zero, Succ(x0)) 214.33/145.99 new_sr4(x0, x1, ty_Double) 214.33/145.99 new_primMulNat3(Succ(x0)) 214.33/145.99 new_esEs1(Integer(x0)) 214.33/145.99 new_primQuotInt0(x0, Pos(Zero)) 214.33/145.99 new_gcd2(True, x0, x1) 214.33/145.99 new_quot1(x0, x1, x2, x3, ty_Int) 214.33/145.99 new_primDivNatS1(Zero, x0) 214.33/145.99 new_gcd(x0, x1) 214.33/145.99 new_gcd1(False, x0, x1) 214.33/145.99 new_esEs2(x0, x1, ty_Int) 214.33/145.99 new_sr3(x0, ty_Integer) 214.33/145.99 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 214.33/145.99 new_primPlusNat0(Zero, Succ(x0)) 214.33/145.99 new_sr8(:%(x0, x1), :%(x2, x3), x4) 214.33/145.99 new_abs(Neg(Zero)) 214.33/145.99 new_primMinusNatS2(Succ(x0), Zero) 214.33/145.99 new_error 214.33/145.99 new_primModNatS1(Succ(Zero), Zero) 214.33/145.99 new_primMulNat4(Succ(x0)) 214.33/145.99 new_primDivNatS02(x0, x1) 214.33/145.99 new_rem(Neg(x0), Neg(Zero)) 214.33/145.99 new_primEqInt(Neg(Zero)) 214.33/145.99 new_rem(Pos(x0), Pos(Succ(x1))) 214.33/145.99 new_abs(Pos(Succ(x0))) 214.33/145.99 new_primMulNat0(Succ(x0), Succ(x1)) 214.33/145.99 new_primMulNat0(Zero, Succ(x0)) 214.33/145.99 new_reduce2Reduce1(x0, x1, x2, x3, True, x4) 214.33/145.99 new_gcd0Gcd'10(False, x0, x1) 214.33/145.99 new_sr12(x0) 214.33/145.99 new_primDivNatS01(x0, x1, Zero, Succ(x2)) 214.33/145.99 new_sr10(Pos(x0), Pos(x1)) 214.33/145.99 new_primModNatS01(x0, x1, Zero, Succ(x2)) 214.33/145.99 new_primPlusNat0(Zero, Zero) 214.33/145.99 new_primQuotInt0(x0, Pos(Succ(x1))) 214.33/145.99 new_primModNatS01(x0, x1, Succ(x2), Zero) 214.33/145.99 new_primModNatS1(Succ(Succ(x0)), Zero) 214.33/145.99 new_sr4(x0, x1, ty_Integer) 214.33/145.99 new_rem(Pos(x0), Pos(Zero)) 214.33/145.99 new_sr4(x0, x1, ty_Int) 214.33/145.99 new_quot(Pos(x0), x1, x2) 214.33/145.99 new_primMinusNatS2(Zero, Zero) 214.33/145.99 new_esEs0(x0, ty_Int) 214.33/145.99 new_esEs(Pos(Zero)) 214.33/145.99 new_quot(Neg(x0), x1, x2) 214.33/145.99 new_primDivNatS01(x0, x1, Succ(x2), Succ(x3)) 214.33/145.99 new_quot2(x0, x1, x2) 214.33/145.99 new_primEqInt(Neg(Succ(x0))) 214.33/145.99 new_sr10(Neg(x0), Neg(x1)) 214.33/145.99 new_sr3(x0, app(ty_Ratio, x1)) 214.33/145.99 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 214.33/145.99 new_sr9(x0, x1) 214.33/145.99 new_sr7(Neg(x0)) 214.33/145.99 new_primQuotInt0(x0, Neg(Succ(x1))) 214.33/145.99 new_rem(Pos(x0), Neg(Zero)) 214.33/145.99 new_rem(Neg(x0), Pos(Zero)) 214.33/145.99 new_gcd0Gcd'00(x0, x1) 214.33/145.99 new_primQuotInt(x0, Neg(Succ(x1))) 214.33/145.99 new_primMinusNatS2(Succ(x0), Succ(x1)) 214.33/145.99 new_abs(Pos(Zero)) 214.33/145.99 new_quot0(x0, x1, x2, x3, ty_Integer) 214.33/145.99 new_sr6(x0) 214.33/145.99 new_gcd2(False, x0, x1) 214.33/145.99 new_gcd1(True, x0, x1) 214.33/145.99 new_esEs2(x0, x1, ty_Integer) 214.33/145.99 new_primMinusNatS1 214.33/145.99 new_sr7(Pos(x0)) 214.33/145.99 new_gcd0Gcd'10(True, x0, x1) 214.33/145.99 new_primModNatS1(Zero, x0) 214.33/145.99 new_sr4(x0, x1, ty_Float) 214.33/145.99 new_sr10(Pos(x0), Neg(x1)) 214.33/145.99 new_sr10(Neg(x0), Pos(x1)) 214.33/145.99 new_primDivNatS01(x0, x1, Succ(x2), Zero) 214.33/145.99 new_primDivNatS1(Succ(Succ(x0)), Succ(x1)) 214.33/145.99 new_primPlusNat0(Succ(x0), Succ(x1)) 214.33/145.99 new_primDivNatS1(Succ(Zero), Succ(x0)) 214.33/145.99 new_primQuotInt(x0, Pos(Succ(x1))) 214.33/145.99 new_abs(Neg(Succ(x0))) 214.33/145.99 new_esEs0(x0, ty_Integer) 214.33/145.99 new_sr3(x0, ty_Int) 214.33/145.99 new_esEs(Neg(Succ(x0))) 214.33/145.99 new_primModNatS01(x0, x1, Zero, Zero) 214.33/145.99 new_sr4(x0, x1, app(ty_Ratio, x2)) 214.33/145.99 new_gcd0(x0, x1) 214.33/145.99 new_primEqInt(Pos(Succ(x0))) 214.33/145.99 new_sr3(x0, ty_Double) 214.33/145.99 new_quot1(x0, x1, x2, x3, ty_Integer) 214.33/145.99 new_primDivNatS1(Succ(Succ(x0)), Zero) 214.33/145.99 new_primMulNat1(Succ(x0)) 214.33/145.99 new_sr14(x0, x1) 214.33/145.99 new_quot0(x0, x1, x2, x3, ty_Int) 214.33/145.99 new_primModNatS1(Succ(Zero), Succ(x0)) 214.33/145.99 new_reduce2Reduce1(x0, x1, x2, x3, False, x4) 214.33/145.99 new_esEs(Neg(Zero)) 214.33/145.99 new_primMulNat1(Zero) 214.33/145.99 new_new_pr2F0G10(Succ(Succ(x0))) 214.33/145.99 anew_new_pr2F0G10(Succ(Succ(x0))) 214.33/145.99 new_new_pr2F0G10(Succ(Zero)) 214.33/145.99 new_new_pr2F0G10(Zero) 214.33/145.99 214.33/145.99 We have to consider all minimal (P,Q,R)-chains. 214.33/145.99 ---------------------------------------- 214.33/145.99 214.33/145.99 (818) TransformationProof (EQUIVALENT) 214.33/145.99 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]: 214.33/145.99 214.33/145.99 (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)) 214.33/145.99 214.33/145.99 214.33/145.99 ---------------------------------------- 214.33/145.99 214.33/145.99 (819) 214.33/145.99 Obligation: 214.33/145.99 Q DP problem: 214.33/145.99 The TRS P consists of the following rules: 214.33/145.99 214.33/145.99 new_pr2F0(vyv184, Neg(Succ(Succ(vyv223000))), vyv188, h) -> new_pr2F0G10(vyv188, vyv184, Succ(vyv223000), vyv223000, h) 214.33/145.99 new_pr2F0G10(vyv249, vyv250, vyv251, Succ(Zero), bb) -> new_pr2F0G11(vyv249, vyv250, vyv251, bb) 214.33/145.99 new_pr2F0G11(vyv239, vyv240, vyv241, bc) -> new_pr2F1(vyv240, vyv241, Pos(Succ(Zero)), vyv239, bc) 214.33/145.99 new_pr2F1(z1, z2, Pos(Succ(Zero)), z0, z3) -> new_pr2F30(False, z1, z2, Pos(Succ(Zero)), z0, z3) 214.33/145.99 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) 214.33/145.99 H(vyv249, vyv250, vyv251, bb, cons_new_pr2F0G10(Succ(Zero))) -> new_pr2F0G10(vyv249, vyv250, vyv251, Succ(Zero), bb) 214.33/145.99 H(vyv249, vyv250, vyv251, bb, cons_new_pr2F0G10(Zero)) -> new_pr2F0G10(vyv249, vyv250, vyv251, Zero, bb) 214.33/145.99 new_pr2F0G(vyv188, vyv184, Neg(Succ(Zero)), h) -> new_pr2F0G11(vyv188, vyv184, Zero, h) 214.33/145.99 new_pr2F0G(vyv188, vyv184, Neg(Succ(Succ(vyv223000))), h) -> new_pr2F0G10(vyv188, vyv184, Succ(vyv223000), vyv223000, h) 214.33/145.99 new_pr2F0G(vyv188, vyv184, Neg(Succ(Succ(vyv223000))), h) -> H(vyv188, vyv184, Succ(vyv223000), h, anew_new_pr2F0G10(vyv223000)) 214.33/145.99 new_pr2F0(y0, Neg(Succ(Succ(Succ(Succ(x0))))), y2, y3) -> H(y2, y0, Succ(Succ(Succ(x0))), y3, new_new_pr2F0G10(x0)) 214.33/145.99 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) 214.33/145.99 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) 214.33/145.99 214.33/145.99 The TRS R consists of the following rules: 214.33/145.99 214.33/145.99 new_sr3(vyv250, ty_Double) -> new_sr11(vyv250) 214.33/145.99 new_sr3(vyv250, ty_Int) -> new_sr7(vyv250) 214.33/145.99 new_sr3(vyv250, ty_Float) -> new_sr12(vyv250) 214.33/145.99 new_sr3(vyv250, ty_Integer) -> new_sr6(vyv250) 214.33/145.99 new_sr3(vyv250, app(ty_Ratio, bf)) -> new_sr5(vyv250, bf) 214.33/145.99 new_primDivNatS1(Succ(Zero), Succ(vyv285000)) -> Zero 214.33/145.99 new_primDivNatS1(Succ(Succ(vyv271000)), Succ(vyv285000)) -> new_primDivNatS01(vyv271000, vyv285000, vyv271000, vyv285000) 214.33/145.99 new_primDivNatS01(vyv311, vyv312, Succ(vyv3130), Zero) -> new_primDivNatS02(vyv311, vyv312) 214.33/145.99 new_primDivNatS01(vyv311, vyv312, Zero, Succ(vyv3140)) -> Zero 214.33/145.99 new_primDivNatS01(vyv311, vyv312, Succ(vyv3130), Succ(vyv3140)) -> new_primDivNatS01(vyv311, vyv312, vyv3130, vyv3140) 214.33/145.99 new_primDivNatS01(vyv311, vyv312, Zero, Zero) -> new_primDivNatS02(vyv311, vyv312) 214.33/145.99 new_primDivNatS02(vyv311, vyv312) -> Succ(new_primDivNatS1(new_primMinusNatS2(vyv311, vyv312), Succ(vyv312))) 214.33/145.99 new_primMinusNatS2(Zero, Succ(vyv3120)) -> Zero 214.33/145.99 new_primMinusNatS2(Succ(vyv3110), Zero) -> Succ(vyv3110) 214.33/145.99 new_primMinusNatS2(Zero, Zero) -> Zero 214.33/145.99 new_primMinusNatS2(Succ(vyv3110), Succ(vyv3120)) -> new_primMinusNatS2(vyv3110, vyv3120) 214.33/145.99 new_primDivNatS1(Zero, vyv28500) -> Zero 214.33/145.99 new_sr5(:%(vyv1840, vyv1841), bd) -> new_reduce2Reduce1(vyv1840, vyv1840, vyv1841, vyv1841, new_esEs0(vyv1841, bd), bd) 214.33/145.99 new_esEs0(vyv1841, ty_Int) -> new_esEs(new_sr7(vyv1841)) 214.33/145.99 new_esEs0(vyv1841, ty_Integer) -> new_esEs1(new_sr6(vyv1841)) 214.33/145.99 new_reduce2Reduce1(vyv265, vyv266, vyv267, vyv268, False, bh) -> :%(new_quot0(vyv265, vyv266, vyv267, vyv268, bh), new_quot1(vyv267, vyv268, vyv265, vyv266, bh)) 214.33/145.99 new_reduce2Reduce1(vyv265, vyv266, vyv267, vyv268, True, bh) -> error([]) 214.33/145.99 new_quot0(vyv265, vyv266, vyv267, vyv268, ty_Integer) -> new_quot2(new_sr9(vyv265, vyv266), new_sr9(vyv265, vyv266), new_sr9(vyv267, vyv268)) 214.33/145.99 new_quot0(vyv265, vyv266, vyv267, vyv268, ty_Int) -> new_quot(new_sr10(vyv265, vyv266), new_sr10(vyv265, vyv266), new_sr10(vyv267, vyv268)) 214.33/145.99 new_quot1(vyv267, vyv268, vyv265, vyv266, ty_Int) -> new_quot(new_sr10(vyv267, vyv268), new_sr10(vyv265, vyv266), new_sr10(vyv267, vyv268)) 214.33/145.99 new_quot1(vyv267, vyv268, vyv265, vyv266, ty_Integer) -> new_quot2(new_sr9(vyv267, vyv268), new_sr9(vyv265, vyv266), new_sr9(vyv267, vyv268)) 214.33/145.99 new_sr9(vyv240, vyv239) -> error([]) 214.33/145.99 new_quot2(vyv274, vyv276, vyv275) -> error([]) 214.33/145.99 new_sr10(Pos(vyv2400), Pos(vyv2390)) -> Pos(new_primMulNat0(vyv2400, vyv2390)) 214.33/145.99 new_sr10(Neg(vyv2400), Neg(vyv2390)) -> Pos(new_primMulNat0(vyv2400, vyv2390)) 214.33/145.99 new_sr10(Pos(vyv2400), Neg(vyv2390)) -> Neg(new_primMulNat0(vyv2400, vyv2390)) 214.33/145.99 new_sr10(Neg(vyv2400), Pos(vyv2390)) -> Neg(new_primMulNat0(vyv2400, vyv2390)) 214.33/145.99 new_quot(Pos(vyv2710), vyv273, vyv272) -> new_primQuotInt(vyv2710, new_gcd(vyv273, vyv272)) 214.33/145.99 new_quot(Neg(vyv2710), vyv273, vyv272) -> new_primQuotInt0(vyv2710, new_gcd(vyv273, vyv272)) 214.33/145.99 new_gcd(vyv273, vyv272) -> new_gcd2(new_esEs(vyv273), vyv273, vyv272) 214.33/145.99 new_primQuotInt0(vyv2710, Pos(Succ(vyv28800))) -> Neg(new_primDivNatS1(vyv2710, vyv28800)) 214.33/145.99 new_primQuotInt0(vyv2710, Neg(Zero)) -> new_error 214.33/145.99 new_primQuotInt0(vyv2710, Neg(Succ(vyv28800))) -> Pos(new_primDivNatS1(vyv2710, vyv28800)) 214.33/145.99 new_primQuotInt0(vyv2710, Pos(Zero)) -> new_error 214.33/145.99 new_error -> error([]) 214.33/145.99 new_primDivNatS1(Succ(Succ(vyv271000)), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS0(vyv271000), Zero)) 214.33/145.99 new_primDivNatS1(Succ(Zero), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS1, Zero)) 214.33/145.99 new_primMinusNatS1 -> Zero 214.33/145.99 new_primMinusNatS0(vyv271000) -> Succ(vyv271000) 214.33/145.99 new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) 214.33/145.99 new_esEs(Pos(Succ(vyv24300))) -> new_primEqInt(Pos(Succ(vyv24300))) 214.33/145.99 new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) 214.33/145.99 new_esEs(Neg(Succ(vyv24300))) -> new_primEqInt(Neg(Succ(vyv24300))) 214.33/145.99 new_gcd2(True, vyv273, vyv272) -> new_gcd1(new_esEs(vyv272), vyv273, vyv272) 214.33/145.99 new_gcd2(False, vyv273, vyv272) -> new_gcd0(vyv273, vyv272) 214.33/145.99 new_gcd0(vyv273, vyv272) -> new_gcd0Gcd'11(new_esEs(new_abs(vyv272)), vyv273, vyv272) 214.33/145.99 new_abs(Neg(Zero)) -> Neg(Zero) 214.33/145.99 new_abs(Neg(Succ(vyv27200))) -> Pos(Succ(vyv27200)) 214.33/145.99 new_abs(Pos(Succ(vyv27200))) -> Pos(Succ(vyv27200)) 214.33/145.99 new_abs(Pos(Zero)) -> Pos(Zero) 214.33/145.99 new_gcd0Gcd'11(True, vyv273, vyv272) -> new_abs(vyv273) 214.33/145.99 new_gcd0Gcd'11(False, vyv273, vyv272) -> new_gcd0Gcd'00(new_abs(vyv273), new_abs(vyv272)) 214.33/145.99 new_gcd0Gcd'10(False, vyv292, vyv293) -> new_gcd0Gcd'00(vyv292, new_rem(vyv293, vyv292)) 214.33/145.99 new_gcd0Gcd'00(vyv293, vyv292) -> new_gcd0Gcd'10(new_esEs(new_rem(vyv293, vyv292)), vyv292, vyv293) 214.33/145.99 new_rem(Pos(vyv2930), Neg(Zero)) -> new_error 214.33/145.99 new_rem(Neg(vyv2930), Pos(Zero)) -> new_error 214.33/145.99 new_rem(Pos(vyv2930), Neg(Succ(vyv29200))) -> Pos(new_primModNatS1(vyv2930, vyv29200)) 214.33/145.99 new_rem(Neg(vyv2930), Pos(Succ(vyv29200))) -> Neg(new_primModNatS1(vyv2930, vyv29200)) 214.33/145.99 new_rem(Pos(vyv2930), Pos(Succ(vyv29200))) -> Pos(new_primModNatS1(vyv2930, vyv29200)) 214.33/145.99 new_rem(Neg(vyv2930), Neg(Zero)) -> new_error 214.33/145.99 new_rem(Neg(vyv2930), Neg(Succ(vyv29200))) -> Neg(new_primModNatS1(vyv2930, vyv29200)) 214.33/145.99 new_rem(Pos(vyv2930), Pos(Zero)) -> new_error 214.33/145.99 new_gcd0Gcd'10(True, vyv292, vyv293) -> vyv292 214.33/145.99 new_primModNatS1(Succ(Zero), Succ(vyv292000)) -> Succ(Zero) 214.33/145.99 new_primModNatS1(Zero, vyv29200) -> Zero 214.33/145.99 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 214.33/145.99 new_primModNatS1(Succ(Succ(vyv293000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv293000), Zero) 214.33/145.99 new_primModNatS1(Succ(Succ(vyv293000)), Succ(vyv292000)) -> new_primModNatS01(vyv293000, vyv292000, vyv293000, vyv292000) 214.33/145.99 new_primModNatS01(vyv331, vyv332, Zero, Zero) -> new_primModNatS02(vyv331, vyv332) 214.33/145.99 new_primModNatS02(vyv331, vyv332) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv331), Succ(vyv332)), Succ(vyv332)) 214.33/145.99 new_primModNatS01(vyv331, vyv332, Succ(vyv3330), Zero) -> new_primModNatS02(vyv331, vyv332) 214.33/145.99 new_primModNatS01(vyv331, vyv332, Succ(vyv3330), Succ(vyv3340)) -> new_primModNatS01(vyv331, vyv332, vyv3330, vyv3340) 214.33/145.99 new_primModNatS01(vyv331, vyv332, Zero, Succ(vyv3340)) -> Succ(Succ(vyv331)) 214.33/145.99 new_gcd1(True, vyv273, vyv272) -> new_error 214.33/145.99 new_gcd1(False, vyv273, vyv272) -> new_gcd0(vyv273, vyv272) 214.33/145.99 new_primEqInt(Neg(Succ(vyv242000))) -> False 214.33/145.99 new_primEqInt(Pos(Zero)) -> True 214.33/145.99 new_primEqInt(Pos(Succ(vyv242000))) -> False 214.33/145.99 new_primEqInt(Neg(Zero)) -> True 214.33/145.99 new_primQuotInt(vyv2710, Pos(Succ(vyv28500))) -> Pos(new_primDivNatS1(vyv2710, vyv28500)) 214.33/145.99 new_primQuotInt(vyv2710, Neg(Zero)) -> new_error 214.33/145.99 new_primQuotInt(vyv2710, Pos(Zero)) -> new_error 214.33/145.99 new_primQuotInt(vyv2710, Neg(Succ(vyv28500))) -> Neg(new_primDivNatS1(vyv2710, vyv28500)) 214.33/145.99 new_primMulNat0(Zero, Succ(vyv23900)) -> Zero 214.33/145.99 new_primMulNat0(Succ(vyv24000), Succ(vyv23900)) -> new_primPlusNat0(new_primMulNat0(vyv24000, Succ(vyv23900)), Succ(vyv23900)) 214.33/145.99 new_primMulNat0(Succ(vyv24000), Zero) -> Zero 214.33/145.99 new_primMulNat0(Zero, Zero) -> Zero 214.33/145.99 new_primPlusNat0(Succ(vyv4000), Succ(vyv6000)) -> Succ(Succ(new_primPlusNat0(vyv4000, vyv6000))) 214.33/145.99 new_primPlusNat0(Zero, Succ(vyv6000)) -> Succ(vyv6000) 214.33/145.99 new_primPlusNat0(Zero, Zero) -> Zero 214.33/145.99 new_primPlusNat0(Succ(vyv4000), Zero) -> Succ(vyv4000) 214.33/145.99 new_sr6(vyv184) -> error([]) 214.33/145.99 new_esEs1(Integer(vyv2700)) -> new_primEqInt(vyv2700) 214.33/145.99 new_sr7(Pos(vyv1840)) -> Pos(new_primMulNat1(vyv1840)) 214.33/145.99 new_sr7(Neg(vyv1840)) -> Pos(new_primMulNat1(vyv1840)) 214.33/145.99 new_primMulNat1(Succ(vyv18400)) -> new_primPlusNat0(new_primMulNat2(vyv18400), Succ(vyv18400)) 214.33/145.99 new_primMulNat1(Zero) -> Zero 214.33/145.99 new_primMulNat2(Succ(vyv184000)) -> new_primPlusNat0(new_primMulNat3(vyv184000), Succ(Succ(vyv184000))) 214.33/145.99 new_primMulNat2(Zero) -> Zero 214.33/145.99 new_primMulNat3(Succ(vyv1840000)) -> new_primPlusNat0(new_primMulNat4(vyv1840000), Succ(Succ(Succ(vyv1840000)))) 214.33/145.99 new_primMulNat3(Zero) -> Zero 214.33/145.99 new_primMulNat4(Succ(vyv18400000)) -> new_primPlusNat0(new_primMulNat0(vyv18400000, Succ(Succ(Succ(Succ(vyv18400000))))), Succ(Succ(Succ(Succ(vyv18400000))))) 214.33/145.99 new_primMulNat4(Zero) -> Zero 214.33/145.99 new_sr12(vyv184) -> error([]) 214.33/145.99 new_sr11(vyv184) -> error([]) 214.33/145.99 new_sr4(vyv240, vyv239, app(ty_Ratio, be)) -> new_sr8(vyv240, vyv239, be) 214.33/145.99 new_sr4(vyv240, vyv239, ty_Float) -> new_sr14(vyv240, vyv239) 214.33/145.99 new_sr4(vyv240, vyv239, ty_Int) -> new_sr10(vyv240, vyv239) 214.33/145.99 new_sr4(vyv240, vyv239, ty_Double) -> new_sr13(vyv240, vyv239) 214.33/145.99 new_sr4(vyv240, vyv239, ty_Integer) -> new_sr9(vyv240, vyv239) 214.33/145.99 new_sr13(vyv240, vyv239) -> error([]) 214.33/145.99 new_sr14(vyv240, vyv239) -> error([]) 214.33/145.99 new_sr8(:%(vyv2400, vyv2401), :%(vyv2390, vyv2391), be) -> new_reduce2Reduce1(vyv2400, vyv2390, vyv2401, vyv2391, new_esEs2(vyv2401, vyv2391, be), be) 214.33/145.99 new_esEs2(vyv2401, vyv2391, ty_Integer) -> new_esEs1(new_sr9(vyv2401, vyv2391)) 214.33/145.99 new_esEs2(vyv2401, vyv2391, ty_Int) -> new_esEs(new_sr10(vyv2401, vyv2391)) 214.33/145.99 anew_new_pr2F0G10(Succ(Succ(vyv25200))) -> new_new_pr2F0G10(vyv25200) 214.33/145.99 new_new_pr2F0G10(Succ(Succ(vyv25200))) -> new_new_pr2F0G10(vyv25200) 214.33/145.99 new_new_pr2F0G10(Succ(Zero)) -> cons_new_pr2F0G10(Succ(Zero)) 214.33/145.99 new_new_pr2F0G10(Zero) -> cons_new_pr2F0G10(Zero) 214.33/145.99 214.33/145.99 The set Q consists of the following terms: 214.33/145.99 214.33/145.99 new_sr13(x0, x1) 214.33/145.99 new_primDivNatS01(x0, x1, Zero, Zero) 214.33/145.99 new_gcd0Gcd'11(False, x0, x1) 214.33/145.99 new_primMulNat4(Zero) 214.33/145.99 new_gcd0Gcd'11(True, x0, x1) 214.33/145.99 new_sr5(:%(x0, x1), x2) 214.33/145.99 new_primEqInt(Pos(Zero)) 214.33/145.99 new_esEs(Pos(Succ(x0))) 214.33/145.99 new_primQuotInt0(x0, Neg(Zero)) 214.33/145.99 new_primMulNat3(Zero) 214.33/145.99 new_primModNatS02(x0, x1) 214.33/145.99 new_primDivNatS1(Succ(Zero), Zero) 214.33/145.99 new_primMinusNatS0(x0) 214.33/145.99 new_sr11(x0) 214.33/145.99 new_rem(Pos(x0), Neg(Succ(x1))) 214.33/145.99 new_rem(Neg(x0), Pos(Succ(x1))) 214.33/145.99 new_primMulNat0(Zero, Zero) 214.33/145.99 new_primPlusNat0(Succ(x0), Zero) 214.33/145.99 new_primMulNat0(Succ(x0), Zero) 214.33/145.99 new_sr3(x0, ty_Float) 214.33/145.99 new_primMulNat2(Zero) 214.33/145.99 new_primQuotInt(x0, Pos(Zero)) 214.33/145.99 new_primMulNat2(Succ(x0)) 214.33/145.99 new_primQuotInt(x0, Neg(Zero)) 214.33/145.99 new_rem(Neg(x0), Neg(Succ(x1))) 214.33/145.99 new_primMinusNatS2(Zero, Succ(x0)) 214.33/145.99 new_sr4(x0, x1, ty_Double) 214.33/145.99 new_primMulNat3(Succ(x0)) 214.33/145.99 new_esEs1(Integer(x0)) 214.33/145.99 new_primQuotInt0(x0, Pos(Zero)) 214.33/145.99 new_gcd2(True, x0, x1) 214.33/145.99 new_quot1(x0, x1, x2, x3, ty_Int) 214.33/145.99 new_primDivNatS1(Zero, x0) 214.33/145.99 new_gcd(x0, x1) 214.33/145.99 new_gcd1(False, x0, x1) 214.33/145.99 new_esEs2(x0, x1, ty_Int) 214.33/145.99 new_sr3(x0, ty_Integer) 214.33/145.99 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 214.33/145.99 new_primPlusNat0(Zero, Succ(x0)) 214.33/145.99 new_sr8(:%(x0, x1), :%(x2, x3), x4) 214.33/145.99 new_abs(Neg(Zero)) 214.33/145.99 new_primMinusNatS2(Succ(x0), Zero) 214.33/145.99 new_error 214.33/145.99 new_primModNatS1(Succ(Zero), Zero) 214.33/145.99 new_primMulNat4(Succ(x0)) 214.33/145.99 new_primDivNatS02(x0, x1) 214.33/145.99 new_rem(Neg(x0), Neg(Zero)) 214.33/145.99 new_primEqInt(Neg(Zero)) 214.33/145.99 new_rem(Pos(x0), Pos(Succ(x1))) 214.33/145.99 new_abs(Pos(Succ(x0))) 214.33/145.99 new_primMulNat0(Succ(x0), Succ(x1)) 214.33/145.99 new_primMulNat0(Zero, Succ(x0)) 214.33/145.99 new_reduce2Reduce1(x0, x1, x2, x3, True, x4) 214.33/145.99 new_gcd0Gcd'10(False, x0, x1) 214.33/145.99 new_sr12(x0) 214.33/145.99 new_primDivNatS01(x0, x1, Zero, Succ(x2)) 214.33/145.99 new_sr10(Pos(x0), Pos(x1)) 214.33/145.99 new_primModNatS01(x0, x1, Zero, Succ(x2)) 214.33/145.99 new_primPlusNat0(Zero, Zero) 214.33/145.99 new_primQuotInt0(x0, Pos(Succ(x1))) 214.33/145.99 new_primModNatS01(x0, x1, Succ(x2), Zero) 214.33/145.99 new_primModNatS1(Succ(Succ(x0)), Zero) 214.33/145.99 new_sr4(x0, x1, ty_Integer) 214.33/145.99 new_rem(Pos(x0), Pos(Zero)) 214.33/145.99 new_sr4(x0, x1, ty_Int) 214.33/145.99 new_quot(Pos(x0), x1, x2) 214.33/145.99 new_primMinusNatS2(Zero, Zero) 214.33/145.99 new_esEs0(x0, ty_Int) 214.33/145.99 new_esEs(Pos(Zero)) 214.33/145.99 new_quot(Neg(x0), x1, x2) 214.33/145.99 new_primDivNatS01(x0, x1, Succ(x2), Succ(x3)) 214.33/145.99 new_quot2(x0, x1, x2) 214.33/145.99 new_primEqInt(Neg(Succ(x0))) 214.33/145.99 new_sr10(Neg(x0), Neg(x1)) 214.33/145.99 new_sr3(x0, app(ty_Ratio, x1)) 214.33/145.99 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 214.33/145.99 new_sr9(x0, x1) 214.33/145.99 new_sr7(Neg(x0)) 214.33/145.99 new_primQuotInt0(x0, Neg(Succ(x1))) 214.33/145.99 new_rem(Pos(x0), Neg(Zero)) 214.33/145.99 new_rem(Neg(x0), Pos(Zero)) 214.33/145.99 new_gcd0Gcd'00(x0, x1) 214.33/145.99 new_primQuotInt(x0, Neg(Succ(x1))) 214.33/145.99 new_primMinusNatS2(Succ(x0), Succ(x1)) 214.33/145.99 new_abs(Pos(Zero)) 214.33/145.99 new_quot0(x0, x1, x2, x3, ty_Integer) 214.33/145.99 new_sr6(x0) 214.33/145.99 new_gcd2(False, x0, x1) 214.33/145.99 new_gcd1(True, x0, x1) 214.33/145.99 new_esEs2(x0, x1, ty_Integer) 214.33/145.99 new_primMinusNatS1 214.33/145.99 new_sr7(Pos(x0)) 214.33/145.99 new_gcd0Gcd'10(True, x0, x1) 214.33/145.99 new_primModNatS1(Zero, x0) 214.33/145.99 new_sr4(x0, x1, ty_Float) 214.33/145.99 new_sr10(Pos(x0), Neg(x1)) 214.33/145.99 new_sr10(Neg(x0), Pos(x1)) 214.33/145.99 new_primDivNatS01(x0, x1, Succ(x2), Zero) 214.33/145.99 new_primDivNatS1(Succ(Succ(x0)), Succ(x1)) 214.33/145.99 new_primPlusNat0(Succ(x0), Succ(x1)) 214.33/145.99 new_primDivNatS1(Succ(Zero), Succ(x0)) 214.33/145.99 new_primQuotInt(x0, Pos(Succ(x1))) 214.33/145.99 new_abs(Neg(Succ(x0))) 214.33/145.99 new_esEs0(x0, ty_Integer) 214.33/145.99 new_sr3(x0, ty_Int) 214.33/145.99 new_esEs(Neg(Succ(x0))) 214.33/145.99 new_primModNatS01(x0, x1, Zero, Zero) 214.33/145.99 new_sr4(x0, x1, app(ty_Ratio, x2)) 214.33/145.99 new_gcd0(x0, x1) 214.33/145.99 new_primEqInt(Pos(Succ(x0))) 214.33/145.99 new_sr3(x0, ty_Double) 214.33/145.99 new_quot1(x0, x1, x2, x3, ty_Integer) 214.33/145.99 new_primDivNatS1(Succ(Succ(x0)), Zero) 214.33/145.99 new_primMulNat1(Succ(x0)) 214.33/145.99 new_sr14(x0, x1) 214.33/145.99 new_quot0(x0, x1, x2, x3, ty_Int) 214.33/145.99 new_primModNatS1(Succ(Zero), Succ(x0)) 214.33/145.99 new_reduce2Reduce1(x0, x1, x2, x3, False, x4) 214.33/145.99 new_esEs(Neg(Zero)) 214.33/145.99 new_primMulNat1(Zero) 214.33/145.99 new_new_pr2F0G10(Succ(Succ(x0))) 214.33/145.99 anew_new_pr2F0G10(Succ(Succ(x0))) 214.33/145.99 new_new_pr2F0G10(Succ(Zero)) 214.33/145.99 new_new_pr2F0G10(Zero) 214.33/145.99 214.33/145.99 We have to consider all minimal (P,Q,R)-chains. 214.33/145.99 ---------------------------------------- 214.33/145.99 214.33/145.99 (820) TransformationProof (EQUIVALENT) 214.33/145.99 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]: 214.33/145.99 214.33/145.99 (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)) 214.33/145.99 214.33/145.99 214.33/145.99 ---------------------------------------- 214.33/145.99 214.33/145.99 (821) 214.33/145.99 Obligation: 214.33/145.99 Q DP problem: 214.33/145.99 The TRS P consists of the following rules: 214.33/145.99 214.33/145.99 new_pr2F0(vyv184, Neg(Succ(Succ(vyv223000))), vyv188, h) -> new_pr2F0G10(vyv188, vyv184, Succ(vyv223000), vyv223000, h) 214.33/145.99 new_pr2F0G10(vyv249, vyv250, vyv251, Succ(Zero), bb) -> new_pr2F0G11(vyv249, vyv250, vyv251, bb) 214.33/145.99 new_pr2F0G11(vyv239, vyv240, vyv241, bc) -> new_pr2F1(vyv240, vyv241, Pos(Succ(Zero)), vyv239, bc) 214.33/145.99 new_pr2F1(z1, z2, Pos(Succ(Zero)), z0, z3) -> new_pr2F30(False, z1, z2, Pos(Succ(Zero)), z0, z3) 214.33/145.99 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) 214.33/145.99 H(vyv249, vyv250, vyv251, bb, cons_new_pr2F0G10(Succ(Zero))) -> new_pr2F0G10(vyv249, vyv250, vyv251, Succ(Zero), bb) 214.33/145.99 H(vyv249, vyv250, vyv251, bb, cons_new_pr2F0G10(Zero)) -> new_pr2F0G10(vyv249, vyv250, vyv251, Zero, bb) 214.33/145.99 new_pr2F0G(vyv188, vyv184, Neg(Succ(Zero)), h) -> new_pr2F0G11(vyv188, vyv184, Zero, h) 214.33/145.99 new_pr2F0G(vyv188, vyv184, Neg(Succ(Succ(vyv223000))), h) -> new_pr2F0G10(vyv188, vyv184, Succ(vyv223000), vyv223000, h) 214.33/145.99 new_pr2F0G(vyv188, vyv184, Neg(Succ(Succ(vyv223000))), h) -> H(vyv188, vyv184, Succ(vyv223000), h, anew_new_pr2F0G10(vyv223000)) 214.33/145.99 new_pr2F0(y0, Neg(Succ(Succ(Succ(Succ(x0))))), y2, y3) -> H(y2, y0, Succ(Succ(Succ(x0))), y3, new_new_pr2F0G10(x0)) 214.33/145.99 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) 214.33/145.99 new_pr2F0G10(y0, y1, Succ(Zero), Zero, y3) -> new_pr2F0G(y0, new_sr3(y1, y3), Neg(Succ(new_primDivNatS1(Zero, Succ(Zero)))), y3) 214.33/145.99 214.33/145.99 The TRS R consists of the following rules: 214.33/145.99 214.33/145.99 new_sr3(vyv250, ty_Double) -> new_sr11(vyv250) 214.33/145.99 new_sr3(vyv250, ty_Int) -> new_sr7(vyv250) 214.33/145.99 new_sr3(vyv250, ty_Float) -> new_sr12(vyv250) 214.33/145.99 new_sr3(vyv250, ty_Integer) -> new_sr6(vyv250) 214.33/145.99 new_sr3(vyv250, app(ty_Ratio, bf)) -> new_sr5(vyv250, bf) 214.33/145.99 new_primDivNatS1(Succ(Zero), Succ(vyv285000)) -> Zero 214.33/145.99 new_primDivNatS1(Succ(Succ(vyv271000)), Succ(vyv285000)) -> new_primDivNatS01(vyv271000, vyv285000, vyv271000, vyv285000) 214.33/145.99 new_primDivNatS01(vyv311, vyv312, Succ(vyv3130), Zero) -> new_primDivNatS02(vyv311, vyv312) 214.33/145.99 new_primDivNatS01(vyv311, vyv312, Zero, Succ(vyv3140)) -> Zero 214.33/145.99 new_primDivNatS01(vyv311, vyv312, Succ(vyv3130), Succ(vyv3140)) -> new_primDivNatS01(vyv311, vyv312, vyv3130, vyv3140) 214.33/145.99 new_primDivNatS01(vyv311, vyv312, Zero, Zero) -> new_primDivNatS02(vyv311, vyv312) 214.33/145.99 new_primDivNatS02(vyv311, vyv312) -> Succ(new_primDivNatS1(new_primMinusNatS2(vyv311, vyv312), Succ(vyv312))) 214.33/145.99 new_primMinusNatS2(Zero, Succ(vyv3120)) -> Zero 214.33/145.99 new_primMinusNatS2(Succ(vyv3110), Zero) -> Succ(vyv3110) 214.33/145.99 new_primMinusNatS2(Zero, Zero) -> Zero 214.33/145.99 new_primMinusNatS2(Succ(vyv3110), Succ(vyv3120)) -> new_primMinusNatS2(vyv3110, vyv3120) 214.33/145.99 new_primDivNatS1(Zero, vyv28500) -> Zero 214.33/145.99 new_sr5(:%(vyv1840, vyv1841), bd) -> new_reduce2Reduce1(vyv1840, vyv1840, vyv1841, vyv1841, new_esEs0(vyv1841, bd), bd) 214.33/145.99 new_esEs0(vyv1841, ty_Int) -> new_esEs(new_sr7(vyv1841)) 214.33/145.99 new_esEs0(vyv1841, ty_Integer) -> new_esEs1(new_sr6(vyv1841)) 214.33/145.99 new_reduce2Reduce1(vyv265, vyv266, vyv267, vyv268, False, bh) -> :%(new_quot0(vyv265, vyv266, vyv267, vyv268, bh), new_quot1(vyv267, vyv268, vyv265, vyv266, bh)) 214.33/145.99 new_reduce2Reduce1(vyv265, vyv266, vyv267, vyv268, True, bh) -> error([]) 214.33/145.99 new_quot0(vyv265, vyv266, vyv267, vyv268, ty_Integer) -> new_quot2(new_sr9(vyv265, vyv266), new_sr9(vyv265, vyv266), new_sr9(vyv267, vyv268)) 214.33/145.99 new_quot0(vyv265, vyv266, vyv267, vyv268, ty_Int) -> new_quot(new_sr10(vyv265, vyv266), new_sr10(vyv265, vyv266), new_sr10(vyv267, vyv268)) 214.33/145.99 new_quot1(vyv267, vyv268, vyv265, vyv266, ty_Int) -> new_quot(new_sr10(vyv267, vyv268), new_sr10(vyv265, vyv266), new_sr10(vyv267, vyv268)) 214.33/145.99 new_quot1(vyv267, vyv268, vyv265, vyv266, ty_Integer) -> new_quot2(new_sr9(vyv267, vyv268), new_sr9(vyv265, vyv266), new_sr9(vyv267, vyv268)) 214.33/145.99 new_sr9(vyv240, vyv239) -> error([]) 214.33/145.99 new_quot2(vyv274, vyv276, vyv275) -> error([]) 214.33/145.99 new_sr10(Pos(vyv2400), Pos(vyv2390)) -> Pos(new_primMulNat0(vyv2400, vyv2390)) 214.33/145.99 new_sr10(Neg(vyv2400), Neg(vyv2390)) -> Pos(new_primMulNat0(vyv2400, vyv2390)) 214.33/145.99 new_sr10(Pos(vyv2400), Neg(vyv2390)) -> Neg(new_primMulNat0(vyv2400, vyv2390)) 214.33/145.99 new_sr10(Neg(vyv2400), Pos(vyv2390)) -> Neg(new_primMulNat0(vyv2400, vyv2390)) 214.33/145.99 new_quot(Pos(vyv2710), vyv273, vyv272) -> new_primQuotInt(vyv2710, new_gcd(vyv273, vyv272)) 214.33/145.99 new_quot(Neg(vyv2710), vyv273, vyv272) -> new_primQuotInt0(vyv2710, new_gcd(vyv273, vyv272)) 214.33/145.99 new_gcd(vyv273, vyv272) -> new_gcd2(new_esEs(vyv273), vyv273, vyv272) 214.33/145.99 new_primQuotInt0(vyv2710, Pos(Succ(vyv28800))) -> Neg(new_primDivNatS1(vyv2710, vyv28800)) 214.33/145.99 new_primQuotInt0(vyv2710, Neg(Zero)) -> new_error 214.33/145.99 new_primQuotInt0(vyv2710, Neg(Succ(vyv28800))) -> Pos(new_primDivNatS1(vyv2710, vyv28800)) 214.33/145.99 new_primQuotInt0(vyv2710, Pos(Zero)) -> new_error 214.33/145.99 new_error -> error([]) 214.33/145.99 new_primDivNatS1(Succ(Succ(vyv271000)), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS0(vyv271000), Zero)) 214.33/145.99 new_primDivNatS1(Succ(Zero), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS1, Zero)) 214.33/145.99 new_primMinusNatS1 -> Zero 214.33/145.99 new_primMinusNatS0(vyv271000) -> Succ(vyv271000) 214.33/145.99 new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) 214.33/145.99 new_esEs(Pos(Succ(vyv24300))) -> new_primEqInt(Pos(Succ(vyv24300))) 214.33/145.99 new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) 214.33/145.99 new_esEs(Neg(Succ(vyv24300))) -> new_primEqInt(Neg(Succ(vyv24300))) 214.33/145.99 new_gcd2(True, vyv273, vyv272) -> new_gcd1(new_esEs(vyv272), vyv273, vyv272) 214.33/145.99 new_gcd2(False, vyv273, vyv272) -> new_gcd0(vyv273, vyv272) 214.33/145.99 new_gcd0(vyv273, vyv272) -> new_gcd0Gcd'11(new_esEs(new_abs(vyv272)), vyv273, vyv272) 214.33/145.99 new_abs(Neg(Zero)) -> Neg(Zero) 214.33/145.99 new_abs(Neg(Succ(vyv27200))) -> Pos(Succ(vyv27200)) 214.33/145.99 new_abs(Pos(Succ(vyv27200))) -> Pos(Succ(vyv27200)) 214.33/145.99 new_abs(Pos(Zero)) -> Pos(Zero) 214.33/145.99 new_gcd0Gcd'11(True, vyv273, vyv272) -> new_abs(vyv273) 214.33/145.99 new_gcd0Gcd'11(False, vyv273, vyv272) -> new_gcd0Gcd'00(new_abs(vyv273), new_abs(vyv272)) 214.33/145.99 new_gcd0Gcd'10(False, vyv292, vyv293) -> new_gcd0Gcd'00(vyv292, new_rem(vyv293, vyv292)) 214.33/145.99 new_gcd0Gcd'00(vyv293, vyv292) -> new_gcd0Gcd'10(new_esEs(new_rem(vyv293, vyv292)), vyv292, vyv293) 214.33/145.99 new_rem(Pos(vyv2930), Neg(Zero)) -> new_error 214.33/145.99 new_rem(Neg(vyv2930), Pos(Zero)) -> new_error 214.33/145.99 new_rem(Pos(vyv2930), Neg(Succ(vyv29200))) -> Pos(new_primModNatS1(vyv2930, vyv29200)) 214.33/145.99 new_rem(Neg(vyv2930), Pos(Succ(vyv29200))) -> Neg(new_primModNatS1(vyv2930, vyv29200)) 214.33/145.99 new_rem(Pos(vyv2930), Pos(Succ(vyv29200))) -> Pos(new_primModNatS1(vyv2930, vyv29200)) 214.33/145.99 new_rem(Neg(vyv2930), Neg(Zero)) -> new_error 214.33/145.99 new_rem(Neg(vyv2930), Neg(Succ(vyv29200))) -> Neg(new_primModNatS1(vyv2930, vyv29200)) 214.33/145.99 new_rem(Pos(vyv2930), Pos(Zero)) -> new_error 214.33/145.99 new_gcd0Gcd'10(True, vyv292, vyv293) -> vyv292 214.33/145.99 new_primModNatS1(Succ(Zero), Succ(vyv292000)) -> Succ(Zero) 214.33/145.99 new_primModNatS1(Zero, vyv29200) -> Zero 214.33/145.99 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 214.33/145.99 new_primModNatS1(Succ(Succ(vyv293000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv293000), Zero) 214.33/145.99 new_primModNatS1(Succ(Succ(vyv293000)), Succ(vyv292000)) -> new_primModNatS01(vyv293000, vyv292000, vyv293000, vyv292000) 214.33/145.99 new_primModNatS01(vyv331, vyv332, Zero, Zero) -> new_primModNatS02(vyv331, vyv332) 214.33/145.99 new_primModNatS02(vyv331, vyv332) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv331), Succ(vyv332)), Succ(vyv332)) 214.33/145.99 new_primModNatS01(vyv331, vyv332, Succ(vyv3330), Zero) -> new_primModNatS02(vyv331, vyv332) 214.33/145.99 new_primModNatS01(vyv331, vyv332, Succ(vyv3330), Succ(vyv3340)) -> new_primModNatS01(vyv331, vyv332, vyv3330, vyv3340) 214.33/145.99 new_primModNatS01(vyv331, vyv332, Zero, Succ(vyv3340)) -> Succ(Succ(vyv331)) 214.33/145.99 new_gcd1(True, vyv273, vyv272) -> new_error 214.33/145.99 new_gcd1(False, vyv273, vyv272) -> new_gcd0(vyv273, vyv272) 214.33/145.99 new_primEqInt(Neg(Succ(vyv242000))) -> False 214.33/145.99 new_primEqInt(Pos(Zero)) -> True 214.33/145.99 new_primEqInt(Pos(Succ(vyv242000))) -> False 214.33/145.99 new_primEqInt(Neg(Zero)) -> True 214.33/145.99 new_primQuotInt(vyv2710, Pos(Succ(vyv28500))) -> Pos(new_primDivNatS1(vyv2710, vyv28500)) 214.33/145.99 new_primQuotInt(vyv2710, Neg(Zero)) -> new_error 214.33/145.99 new_primQuotInt(vyv2710, Pos(Zero)) -> new_error 214.33/145.99 new_primQuotInt(vyv2710, Neg(Succ(vyv28500))) -> Neg(new_primDivNatS1(vyv2710, vyv28500)) 214.33/145.99 new_primMulNat0(Zero, Succ(vyv23900)) -> Zero 214.33/145.99 new_primMulNat0(Succ(vyv24000), Succ(vyv23900)) -> new_primPlusNat0(new_primMulNat0(vyv24000, Succ(vyv23900)), Succ(vyv23900)) 214.33/145.99 new_primMulNat0(Succ(vyv24000), Zero) -> Zero 214.33/145.99 new_primMulNat0(Zero, Zero) -> Zero 214.33/145.99 new_primPlusNat0(Succ(vyv4000), Succ(vyv6000)) -> Succ(Succ(new_primPlusNat0(vyv4000, vyv6000))) 214.33/145.99 new_primPlusNat0(Zero, Succ(vyv6000)) -> Succ(vyv6000) 214.33/145.99 new_primPlusNat0(Zero, Zero) -> Zero 214.33/145.99 new_primPlusNat0(Succ(vyv4000), Zero) -> Succ(vyv4000) 214.33/145.99 new_sr6(vyv184) -> error([]) 214.33/145.99 new_esEs1(Integer(vyv2700)) -> new_primEqInt(vyv2700) 214.33/145.99 new_sr7(Pos(vyv1840)) -> Pos(new_primMulNat1(vyv1840)) 214.33/145.99 new_sr7(Neg(vyv1840)) -> Pos(new_primMulNat1(vyv1840)) 214.33/145.99 new_primMulNat1(Succ(vyv18400)) -> new_primPlusNat0(new_primMulNat2(vyv18400), Succ(vyv18400)) 214.33/145.99 new_primMulNat1(Zero) -> Zero 214.33/145.99 new_primMulNat2(Succ(vyv184000)) -> new_primPlusNat0(new_primMulNat3(vyv184000), Succ(Succ(vyv184000))) 214.33/145.99 new_primMulNat2(Zero) -> Zero 214.33/145.99 new_primMulNat3(Succ(vyv1840000)) -> new_primPlusNat0(new_primMulNat4(vyv1840000), Succ(Succ(Succ(vyv1840000)))) 214.33/145.99 new_primMulNat3(Zero) -> Zero 214.33/145.99 new_primMulNat4(Succ(vyv18400000)) -> new_primPlusNat0(new_primMulNat0(vyv18400000, Succ(Succ(Succ(Succ(vyv18400000))))), Succ(Succ(Succ(Succ(vyv18400000))))) 214.33/145.99 new_primMulNat4(Zero) -> Zero 214.33/145.99 new_sr12(vyv184) -> error([]) 214.33/145.99 new_sr11(vyv184) -> error([]) 214.33/145.99 new_sr4(vyv240, vyv239, app(ty_Ratio, be)) -> new_sr8(vyv240, vyv239, be) 214.33/145.99 new_sr4(vyv240, vyv239, ty_Float) -> new_sr14(vyv240, vyv239) 214.33/145.99 new_sr4(vyv240, vyv239, ty_Int) -> new_sr10(vyv240, vyv239) 214.33/145.99 new_sr4(vyv240, vyv239, ty_Double) -> new_sr13(vyv240, vyv239) 214.33/145.99 new_sr4(vyv240, vyv239, ty_Integer) -> new_sr9(vyv240, vyv239) 214.33/145.99 new_sr13(vyv240, vyv239) -> error([]) 214.33/145.99 new_sr14(vyv240, vyv239) -> error([]) 214.33/145.99 new_sr8(:%(vyv2400, vyv2401), :%(vyv2390, vyv2391), be) -> new_reduce2Reduce1(vyv2400, vyv2390, vyv2401, vyv2391, new_esEs2(vyv2401, vyv2391, be), be) 214.33/145.99 new_esEs2(vyv2401, vyv2391, ty_Integer) -> new_esEs1(new_sr9(vyv2401, vyv2391)) 214.33/145.99 new_esEs2(vyv2401, vyv2391, ty_Int) -> new_esEs(new_sr10(vyv2401, vyv2391)) 214.33/145.99 anew_new_pr2F0G10(Succ(Succ(vyv25200))) -> new_new_pr2F0G10(vyv25200) 214.33/145.99 new_new_pr2F0G10(Succ(Succ(vyv25200))) -> new_new_pr2F0G10(vyv25200) 214.33/145.99 new_new_pr2F0G10(Succ(Zero)) -> cons_new_pr2F0G10(Succ(Zero)) 214.33/145.99 new_new_pr2F0G10(Zero) -> cons_new_pr2F0G10(Zero) 214.33/145.99 214.33/145.99 The set Q consists of the following terms: 214.33/145.99 214.33/145.99 new_sr13(x0, x1) 214.33/145.99 new_primDivNatS01(x0, x1, Zero, Zero) 214.33/145.99 new_gcd0Gcd'11(False, x0, x1) 214.33/145.99 new_primMulNat4(Zero) 214.33/145.99 new_gcd0Gcd'11(True, x0, x1) 214.33/145.99 new_sr5(:%(x0, x1), x2) 214.33/145.99 new_primEqInt(Pos(Zero)) 214.33/145.99 new_esEs(Pos(Succ(x0))) 214.33/145.99 new_primQuotInt0(x0, Neg(Zero)) 214.33/145.99 new_primMulNat3(Zero) 214.33/145.99 new_primModNatS02(x0, x1) 214.33/145.99 new_primDivNatS1(Succ(Zero), Zero) 214.33/145.99 new_primMinusNatS0(x0) 214.33/145.99 new_sr11(x0) 214.33/145.99 new_rem(Pos(x0), Neg(Succ(x1))) 214.33/145.99 new_rem(Neg(x0), Pos(Succ(x1))) 214.33/145.99 new_primMulNat0(Zero, Zero) 214.33/145.99 new_primPlusNat0(Succ(x0), Zero) 214.33/145.99 new_primMulNat0(Succ(x0), Zero) 214.33/145.99 new_sr3(x0, ty_Float) 214.33/145.99 new_primMulNat2(Zero) 214.33/145.99 new_primQuotInt(x0, Pos(Zero)) 214.33/145.99 new_primMulNat2(Succ(x0)) 214.33/145.99 new_primQuotInt(x0, Neg(Zero)) 214.33/145.99 new_rem(Neg(x0), Neg(Succ(x1))) 214.33/145.99 new_primMinusNatS2(Zero, Succ(x0)) 214.33/145.99 new_sr4(x0, x1, ty_Double) 214.33/145.99 new_primMulNat3(Succ(x0)) 214.33/145.99 new_esEs1(Integer(x0)) 214.33/145.99 new_primQuotInt0(x0, Pos(Zero)) 214.33/145.99 new_gcd2(True, x0, x1) 214.33/145.99 new_quot1(x0, x1, x2, x3, ty_Int) 214.33/145.99 new_primDivNatS1(Zero, x0) 214.33/145.99 new_gcd(x0, x1) 214.33/145.99 new_gcd1(False, x0, x1) 214.33/145.99 new_esEs2(x0, x1, ty_Int) 214.33/145.99 new_sr3(x0, ty_Integer) 214.33/145.99 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 214.33/145.99 new_primPlusNat0(Zero, Succ(x0)) 214.33/145.99 new_sr8(:%(x0, x1), :%(x2, x3), x4) 214.33/145.99 new_abs(Neg(Zero)) 214.33/145.99 new_primMinusNatS2(Succ(x0), Zero) 214.33/145.99 new_error 214.33/145.99 new_primModNatS1(Succ(Zero), Zero) 214.33/145.99 new_primMulNat4(Succ(x0)) 214.33/145.99 new_primDivNatS02(x0, x1) 214.33/145.99 new_rem(Neg(x0), Neg(Zero)) 214.33/145.99 new_primEqInt(Neg(Zero)) 214.33/145.99 new_rem(Pos(x0), Pos(Succ(x1))) 214.33/145.99 new_abs(Pos(Succ(x0))) 214.33/145.99 new_primMulNat0(Succ(x0), Succ(x1)) 214.33/145.99 new_primMulNat0(Zero, Succ(x0)) 214.33/145.99 new_reduce2Reduce1(x0, x1, x2, x3, True, x4) 214.33/145.99 new_gcd0Gcd'10(False, x0, x1) 214.33/145.99 new_sr12(x0) 214.33/145.99 new_primDivNatS01(x0, x1, Zero, Succ(x2)) 214.33/145.99 new_sr10(Pos(x0), Pos(x1)) 214.33/145.99 new_primModNatS01(x0, x1, Zero, Succ(x2)) 214.33/145.99 new_primPlusNat0(Zero, Zero) 214.33/145.99 new_primQuotInt0(x0, Pos(Succ(x1))) 214.33/145.99 new_primModNatS01(x0, x1, Succ(x2), Zero) 214.33/145.99 new_primModNatS1(Succ(Succ(x0)), Zero) 214.33/145.99 new_sr4(x0, x1, ty_Integer) 214.33/145.99 new_rem(Pos(x0), Pos(Zero)) 214.33/145.99 new_sr4(x0, x1, ty_Int) 214.33/145.99 new_quot(Pos(x0), x1, x2) 214.33/145.99 new_primMinusNatS2(Zero, Zero) 214.33/145.99 new_esEs0(x0, ty_Int) 214.33/145.99 new_esEs(Pos(Zero)) 214.33/145.99 new_quot(Neg(x0), x1, x2) 214.33/145.99 new_primDivNatS01(x0, x1, Succ(x2), Succ(x3)) 214.33/145.99 new_quot2(x0, x1, x2) 214.33/145.99 new_primEqInt(Neg(Succ(x0))) 214.33/145.99 new_sr10(Neg(x0), Neg(x1)) 214.33/145.99 new_sr3(x0, app(ty_Ratio, x1)) 214.33/145.99 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 214.33/145.99 new_sr9(x0, x1) 214.33/145.99 new_sr7(Neg(x0)) 214.33/145.99 new_primQuotInt0(x0, Neg(Succ(x1))) 214.33/145.99 new_rem(Pos(x0), Neg(Zero)) 214.33/145.99 new_rem(Neg(x0), Pos(Zero)) 214.33/145.99 new_gcd0Gcd'00(x0, x1) 214.33/145.99 new_primQuotInt(x0, Neg(Succ(x1))) 214.33/145.99 new_primMinusNatS2(Succ(x0), Succ(x1)) 214.33/145.99 new_abs(Pos(Zero)) 214.33/145.99 new_quot0(x0, x1, x2, x3, ty_Integer) 214.33/145.99 new_sr6(x0) 214.33/145.99 new_gcd2(False, x0, x1) 214.33/145.99 new_gcd1(True, x0, x1) 214.33/145.99 new_esEs2(x0, x1, ty_Integer) 214.33/145.99 new_primMinusNatS1 214.33/145.99 new_sr7(Pos(x0)) 214.33/145.99 new_gcd0Gcd'10(True, x0, x1) 214.33/145.99 new_primModNatS1(Zero, x0) 214.33/145.99 new_sr4(x0, x1, ty_Float) 214.33/145.99 new_sr10(Pos(x0), Neg(x1)) 214.33/145.99 new_sr10(Neg(x0), Pos(x1)) 214.33/145.99 new_primDivNatS01(x0, x1, Succ(x2), Zero) 214.33/145.99 new_primDivNatS1(Succ(Succ(x0)), Succ(x1)) 214.33/145.99 new_primPlusNat0(Succ(x0), Succ(x1)) 214.33/145.99 new_primDivNatS1(Succ(Zero), Succ(x0)) 214.33/145.99 new_primQuotInt(x0, Pos(Succ(x1))) 214.33/145.99 new_abs(Neg(Succ(x0))) 214.33/145.99 new_esEs0(x0, ty_Integer) 214.33/145.99 new_sr3(x0, ty_Int) 214.33/145.99 new_esEs(Neg(Succ(x0))) 214.33/145.99 new_primModNatS01(x0, x1, Zero, Zero) 214.33/145.99 new_sr4(x0, x1, app(ty_Ratio, x2)) 214.33/145.99 new_gcd0(x0, x1) 214.33/145.99 new_primEqInt(Pos(Succ(x0))) 214.33/145.99 new_sr3(x0, ty_Double) 214.33/145.99 new_quot1(x0, x1, x2, x3, ty_Integer) 214.33/145.99 new_primDivNatS1(Succ(Succ(x0)), Zero) 214.33/145.99 new_primMulNat1(Succ(x0)) 214.33/145.99 new_sr14(x0, x1) 214.33/145.99 new_quot0(x0, x1, x2, x3, ty_Int) 214.33/145.99 new_primModNatS1(Succ(Zero), Succ(x0)) 214.33/145.99 new_reduce2Reduce1(x0, x1, x2, x3, False, x4) 214.33/145.99 new_esEs(Neg(Zero)) 214.33/145.99 new_primMulNat1(Zero) 214.33/145.99 new_new_pr2F0G10(Succ(Succ(x0))) 214.33/145.99 anew_new_pr2F0G10(Succ(Succ(x0))) 214.33/145.99 new_new_pr2F0G10(Succ(Zero)) 214.33/145.99 new_new_pr2F0G10(Zero) 214.33/145.99 214.33/145.99 We have to consider all minimal (P,Q,R)-chains. 214.33/145.99 ---------------------------------------- 214.33/145.99 214.33/145.99 (822) TransformationProof (EQUIVALENT) 214.33/145.99 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]: 214.33/145.99 214.33/145.99 (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)) 214.33/145.99 214.33/145.99 214.33/145.99 ---------------------------------------- 214.33/145.99 214.33/145.99 (823) 214.33/145.99 Obligation: 214.33/145.99 Q DP problem: 214.33/145.99 The TRS P consists of the following rules: 214.33/145.99 214.33/145.99 new_pr2F0(vyv184, Neg(Succ(Succ(vyv223000))), vyv188, h) -> new_pr2F0G10(vyv188, vyv184, Succ(vyv223000), vyv223000, h) 214.33/145.99 new_pr2F0G10(vyv249, vyv250, vyv251, Succ(Zero), bb) -> new_pr2F0G11(vyv249, vyv250, vyv251, bb) 214.33/145.99 new_pr2F0G11(vyv239, vyv240, vyv241, bc) -> new_pr2F1(vyv240, vyv241, Pos(Succ(Zero)), vyv239, bc) 214.33/145.99 new_pr2F1(z1, z2, Pos(Succ(Zero)), z0, z3) -> new_pr2F30(False, z1, z2, Pos(Succ(Zero)), z0, z3) 214.33/145.99 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) 214.33/145.99 H(vyv249, vyv250, vyv251, bb, cons_new_pr2F0G10(Succ(Zero))) -> new_pr2F0G10(vyv249, vyv250, vyv251, Succ(Zero), bb) 214.33/145.99 H(vyv249, vyv250, vyv251, bb, cons_new_pr2F0G10(Zero)) -> new_pr2F0G10(vyv249, vyv250, vyv251, Zero, bb) 214.33/145.99 new_pr2F0G(vyv188, vyv184, Neg(Succ(Zero)), h) -> new_pr2F0G11(vyv188, vyv184, Zero, h) 214.33/145.99 new_pr2F0G(vyv188, vyv184, Neg(Succ(Succ(vyv223000))), h) -> new_pr2F0G10(vyv188, vyv184, Succ(vyv223000), vyv223000, h) 214.33/145.99 new_pr2F0G(vyv188, vyv184, Neg(Succ(Succ(vyv223000))), h) -> H(vyv188, vyv184, Succ(vyv223000), h, anew_new_pr2F0G10(vyv223000)) 214.33/145.99 new_pr2F0(y0, Neg(Succ(Succ(Succ(Succ(x0))))), y2, y3) -> H(y2, y0, Succ(Succ(Succ(x0))), y3, new_new_pr2F0G10(x0)) 214.33/145.99 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) 214.33/145.99 new_pr2F0G10(y0, y1, Succ(Zero), Zero, y3) -> new_pr2F0G(y0, new_sr3(y1, y3), Neg(Succ(Zero)), y3) 214.33/145.99 214.33/145.99 The TRS R consists of the following rules: 214.33/145.99 214.33/145.99 new_sr3(vyv250, ty_Double) -> new_sr11(vyv250) 214.33/145.99 new_sr3(vyv250, ty_Int) -> new_sr7(vyv250) 214.33/145.99 new_sr3(vyv250, ty_Float) -> new_sr12(vyv250) 214.33/145.99 new_sr3(vyv250, ty_Integer) -> new_sr6(vyv250) 214.33/145.99 new_sr3(vyv250, app(ty_Ratio, bf)) -> new_sr5(vyv250, bf) 214.33/145.99 new_primDivNatS1(Succ(Zero), Succ(vyv285000)) -> Zero 214.33/145.99 new_primDivNatS1(Succ(Succ(vyv271000)), Succ(vyv285000)) -> new_primDivNatS01(vyv271000, vyv285000, vyv271000, vyv285000) 214.33/145.99 new_primDivNatS01(vyv311, vyv312, Succ(vyv3130), Zero) -> new_primDivNatS02(vyv311, vyv312) 214.33/145.99 new_primDivNatS01(vyv311, vyv312, Zero, Succ(vyv3140)) -> Zero 214.33/145.99 new_primDivNatS01(vyv311, vyv312, Succ(vyv3130), Succ(vyv3140)) -> new_primDivNatS01(vyv311, vyv312, vyv3130, vyv3140) 214.33/145.99 new_primDivNatS01(vyv311, vyv312, Zero, Zero) -> new_primDivNatS02(vyv311, vyv312) 214.33/145.99 new_primDivNatS02(vyv311, vyv312) -> Succ(new_primDivNatS1(new_primMinusNatS2(vyv311, vyv312), Succ(vyv312))) 214.33/145.99 new_primMinusNatS2(Zero, Succ(vyv3120)) -> Zero 214.33/145.99 new_primMinusNatS2(Succ(vyv3110), Zero) -> Succ(vyv3110) 214.33/145.99 new_primMinusNatS2(Zero, Zero) -> Zero 214.33/145.99 new_primMinusNatS2(Succ(vyv3110), Succ(vyv3120)) -> new_primMinusNatS2(vyv3110, vyv3120) 214.33/145.99 new_primDivNatS1(Zero, vyv28500) -> Zero 214.33/145.99 new_sr5(:%(vyv1840, vyv1841), bd) -> new_reduce2Reduce1(vyv1840, vyv1840, vyv1841, vyv1841, new_esEs0(vyv1841, bd), bd) 214.33/145.99 new_esEs0(vyv1841, ty_Int) -> new_esEs(new_sr7(vyv1841)) 214.33/145.99 new_esEs0(vyv1841, ty_Integer) -> new_esEs1(new_sr6(vyv1841)) 214.33/145.99 new_reduce2Reduce1(vyv265, vyv266, vyv267, vyv268, False, bh) -> :%(new_quot0(vyv265, vyv266, vyv267, vyv268, bh), new_quot1(vyv267, vyv268, vyv265, vyv266, bh)) 214.33/145.99 new_reduce2Reduce1(vyv265, vyv266, vyv267, vyv268, True, bh) -> error([]) 214.33/145.99 new_quot0(vyv265, vyv266, vyv267, vyv268, ty_Integer) -> new_quot2(new_sr9(vyv265, vyv266), new_sr9(vyv265, vyv266), new_sr9(vyv267, vyv268)) 214.33/145.99 new_quot0(vyv265, vyv266, vyv267, vyv268, ty_Int) -> new_quot(new_sr10(vyv265, vyv266), new_sr10(vyv265, vyv266), new_sr10(vyv267, vyv268)) 214.33/145.99 new_quot1(vyv267, vyv268, vyv265, vyv266, ty_Int) -> new_quot(new_sr10(vyv267, vyv268), new_sr10(vyv265, vyv266), new_sr10(vyv267, vyv268)) 214.33/145.99 new_quot1(vyv267, vyv268, vyv265, vyv266, ty_Integer) -> new_quot2(new_sr9(vyv267, vyv268), new_sr9(vyv265, vyv266), new_sr9(vyv267, vyv268)) 214.33/145.99 new_sr9(vyv240, vyv239) -> error([]) 214.33/145.99 new_quot2(vyv274, vyv276, vyv275) -> error([]) 214.33/145.99 new_sr10(Pos(vyv2400), Pos(vyv2390)) -> Pos(new_primMulNat0(vyv2400, vyv2390)) 214.33/145.99 new_sr10(Neg(vyv2400), Neg(vyv2390)) -> Pos(new_primMulNat0(vyv2400, vyv2390)) 214.33/145.99 new_sr10(Pos(vyv2400), Neg(vyv2390)) -> Neg(new_primMulNat0(vyv2400, vyv2390)) 214.33/145.99 new_sr10(Neg(vyv2400), Pos(vyv2390)) -> Neg(new_primMulNat0(vyv2400, vyv2390)) 214.33/145.99 new_quot(Pos(vyv2710), vyv273, vyv272) -> new_primQuotInt(vyv2710, new_gcd(vyv273, vyv272)) 214.33/145.99 new_quot(Neg(vyv2710), vyv273, vyv272) -> new_primQuotInt0(vyv2710, new_gcd(vyv273, vyv272)) 214.33/145.99 new_gcd(vyv273, vyv272) -> new_gcd2(new_esEs(vyv273), vyv273, vyv272) 214.33/145.99 new_primQuotInt0(vyv2710, Pos(Succ(vyv28800))) -> Neg(new_primDivNatS1(vyv2710, vyv28800)) 214.33/145.99 new_primQuotInt0(vyv2710, Neg(Zero)) -> new_error 214.33/145.99 new_primQuotInt0(vyv2710, Neg(Succ(vyv28800))) -> Pos(new_primDivNatS1(vyv2710, vyv28800)) 214.33/145.99 new_primQuotInt0(vyv2710, Pos(Zero)) -> new_error 214.33/145.99 new_error -> error([]) 214.33/145.99 new_primDivNatS1(Succ(Succ(vyv271000)), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS0(vyv271000), Zero)) 214.33/145.99 new_primDivNatS1(Succ(Zero), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS1, Zero)) 214.33/145.99 new_primMinusNatS1 -> Zero 214.33/145.99 new_primMinusNatS0(vyv271000) -> Succ(vyv271000) 214.33/145.99 new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) 214.33/145.99 new_esEs(Pos(Succ(vyv24300))) -> new_primEqInt(Pos(Succ(vyv24300))) 214.33/145.99 new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) 214.33/145.99 new_esEs(Neg(Succ(vyv24300))) -> new_primEqInt(Neg(Succ(vyv24300))) 214.33/145.99 new_gcd2(True, vyv273, vyv272) -> new_gcd1(new_esEs(vyv272), vyv273, vyv272) 214.33/145.99 new_gcd2(False, vyv273, vyv272) -> new_gcd0(vyv273, vyv272) 214.33/145.99 new_gcd0(vyv273, vyv272) -> new_gcd0Gcd'11(new_esEs(new_abs(vyv272)), vyv273, vyv272) 214.33/145.99 new_abs(Neg(Zero)) -> Neg(Zero) 214.33/145.99 new_abs(Neg(Succ(vyv27200))) -> Pos(Succ(vyv27200)) 214.33/145.99 new_abs(Pos(Succ(vyv27200))) -> Pos(Succ(vyv27200)) 214.33/145.99 new_abs(Pos(Zero)) -> Pos(Zero) 214.33/145.99 new_gcd0Gcd'11(True, vyv273, vyv272) -> new_abs(vyv273) 214.33/145.99 new_gcd0Gcd'11(False, vyv273, vyv272) -> new_gcd0Gcd'00(new_abs(vyv273), new_abs(vyv272)) 214.33/145.99 new_gcd0Gcd'10(False, vyv292, vyv293) -> new_gcd0Gcd'00(vyv292, new_rem(vyv293, vyv292)) 214.33/145.99 new_gcd0Gcd'00(vyv293, vyv292) -> new_gcd0Gcd'10(new_esEs(new_rem(vyv293, vyv292)), vyv292, vyv293) 214.33/145.99 new_rem(Pos(vyv2930), Neg(Zero)) -> new_error 214.33/145.99 new_rem(Neg(vyv2930), Pos(Zero)) -> new_error 214.33/145.99 new_rem(Pos(vyv2930), Neg(Succ(vyv29200))) -> Pos(new_primModNatS1(vyv2930, vyv29200)) 214.33/145.99 new_rem(Neg(vyv2930), Pos(Succ(vyv29200))) -> Neg(new_primModNatS1(vyv2930, vyv29200)) 214.33/145.99 new_rem(Pos(vyv2930), Pos(Succ(vyv29200))) -> Pos(new_primModNatS1(vyv2930, vyv29200)) 214.33/145.99 new_rem(Neg(vyv2930), Neg(Zero)) -> new_error 214.33/145.99 new_rem(Neg(vyv2930), Neg(Succ(vyv29200))) -> Neg(new_primModNatS1(vyv2930, vyv29200)) 214.33/145.99 new_rem(Pos(vyv2930), Pos(Zero)) -> new_error 214.33/145.99 new_gcd0Gcd'10(True, vyv292, vyv293) -> vyv292 214.33/145.99 new_primModNatS1(Succ(Zero), Succ(vyv292000)) -> Succ(Zero) 214.33/145.99 new_primModNatS1(Zero, vyv29200) -> Zero 214.33/145.99 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 214.33/145.99 new_primModNatS1(Succ(Succ(vyv293000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv293000), Zero) 214.33/145.99 new_primModNatS1(Succ(Succ(vyv293000)), Succ(vyv292000)) -> new_primModNatS01(vyv293000, vyv292000, vyv293000, vyv292000) 214.33/145.99 new_primModNatS01(vyv331, vyv332, Zero, Zero) -> new_primModNatS02(vyv331, vyv332) 214.33/145.99 new_primModNatS02(vyv331, vyv332) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv331), Succ(vyv332)), Succ(vyv332)) 214.33/145.99 new_primModNatS01(vyv331, vyv332, Succ(vyv3330), Zero) -> new_primModNatS02(vyv331, vyv332) 214.33/145.99 new_primModNatS01(vyv331, vyv332, Succ(vyv3330), Succ(vyv3340)) -> new_primModNatS01(vyv331, vyv332, vyv3330, vyv3340) 214.33/145.99 new_primModNatS01(vyv331, vyv332, Zero, Succ(vyv3340)) -> Succ(Succ(vyv331)) 214.33/145.99 new_gcd1(True, vyv273, vyv272) -> new_error 214.33/145.99 new_gcd1(False, vyv273, vyv272) -> new_gcd0(vyv273, vyv272) 214.33/145.99 new_primEqInt(Neg(Succ(vyv242000))) -> False 214.33/145.99 new_primEqInt(Pos(Zero)) -> True 214.33/145.99 new_primEqInt(Pos(Succ(vyv242000))) -> False 214.33/145.99 new_primEqInt(Neg(Zero)) -> True 214.33/145.99 new_primQuotInt(vyv2710, Pos(Succ(vyv28500))) -> Pos(new_primDivNatS1(vyv2710, vyv28500)) 214.33/145.99 new_primQuotInt(vyv2710, Neg(Zero)) -> new_error 214.33/145.99 new_primQuotInt(vyv2710, Pos(Zero)) -> new_error 214.33/145.99 new_primQuotInt(vyv2710, Neg(Succ(vyv28500))) -> Neg(new_primDivNatS1(vyv2710, vyv28500)) 214.33/145.99 new_primMulNat0(Zero, Succ(vyv23900)) -> Zero 214.33/145.99 new_primMulNat0(Succ(vyv24000), Succ(vyv23900)) -> new_primPlusNat0(new_primMulNat0(vyv24000, Succ(vyv23900)), Succ(vyv23900)) 214.33/145.99 new_primMulNat0(Succ(vyv24000), Zero) -> Zero 214.33/145.99 new_primMulNat0(Zero, Zero) -> Zero 214.33/145.99 new_primPlusNat0(Succ(vyv4000), Succ(vyv6000)) -> Succ(Succ(new_primPlusNat0(vyv4000, vyv6000))) 214.33/145.99 new_primPlusNat0(Zero, Succ(vyv6000)) -> Succ(vyv6000) 214.33/145.99 new_primPlusNat0(Zero, Zero) -> Zero 214.33/145.99 new_primPlusNat0(Succ(vyv4000), Zero) -> Succ(vyv4000) 214.33/145.99 new_sr6(vyv184) -> error([]) 214.33/145.99 new_esEs1(Integer(vyv2700)) -> new_primEqInt(vyv2700) 214.33/145.99 new_sr7(Pos(vyv1840)) -> Pos(new_primMulNat1(vyv1840)) 214.33/145.99 new_sr7(Neg(vyv1840)) -> Pos(new_primMulNat1(vyv1840)) 214.33/145.99 new_primMulNat1(Succ(vyv18400)) -> new_primPlusNat0(new_primMulNat2(vyv18400), Succ(vyv18400)) 214.33/145.99 new_primMulNat1(Zero) -> Zero 214.33/145.99 new_primMulNat2(Succ(vyv184000)) -> new_primPlusNat0(new_primMulNat3(vyv184000), Succ(Succ(vyv184000))) 214.33/145.99 new_primMulNat2(Zero) -> Zero 214.33/145.99 new_primMulNat3(Succ(vyv1840000)) -> new_primPlusNat0(new_primMulNat4(vyv1840000), Succ(Succ(Succ(vyv1840000)))) 214.33/145.99 new_primMulNat3(Zero) -> Zero 214.33/145.99 new_primMulNat4(Succ(vyv18400000)) -> new_primPlusNat0(new_primMulNat0(vyv18400000, Succ(Succ(Succ(Succ(vyv18400000))))), Succ(Succ(Succ(Succ(vyv18400000))))) 214.33/145.99 new_primMulNat4(Zero) -> Zero 214.33/145.99 new_sr12(vyv184) -> error([]) 214.33/145.99 new_sr11(vyv184) -> error([]) 214.33/145.99 new_sr4(vyv240, vyv239, app(ty_Ratio, be)) -> new_sr8(vyv240, vyv239, be) 214.33/145.99 new_sr4(vyv240, vyv239, ty_Float) -> new_sr14(vyv240, vyv239) 214.33/145.99 new_sr4(vyv240, vyv239, ty_Int) -> new_sr10(vyv240, vyv239) 214.33/145.99 new_sr4(vyv240, vyv239, ty_Double) -> new_sr13(vyv240, vyv239) 214.33/145.99 new_sr4(vyv240, vyv239, ty_Integer) -> new_sr9(vyv240, vyv239) 214.33/145.99 new_sr13(vyv240, vyv239) -> error([]) 214.33/145.99 new_sr14(vyv240, vyv239) -> error([]) 214.33/145.99 new_sr8(:%(vyv2400, vyv2401), :%(vyv2390, vyv2391), be) -> new_reduce2Reduce1(vyv2400, vyv2390, vyv2401, vyv2391, new_esEs2(vyv2401, vyv2391, be), be) 214.33/145.99 new_esEs2(vyv2401, vyv2391, ty_Integer) -> new_esEs1(new_sr9(vyv2401, vyv2391)) 214.33/145.99 new_esEs2(vyv2401, vyv2391, ty_Int) -> new_esEs(new_sr10(vyv2401, vyv2391)) 214.33/145.99 anew_new_pr2F0G10(Succ(Succ(vyv25200))) -> new_new_pr2F0G10(vyv25200) 214.33/145.99 new_new_pr2F0G10(Succ(Succ(vyv25200))) -> new_new_pr2F0G10(vyv25200) 214.33/145.99 new_new_pr2F0G10(Succ(Zero)) -> cons_new_pr2F0G10(Succ(Zero)) 214.33/145.99 new_new_pr2F0G10(Zero) -> cons_new_pr2F0G10(Zero) 214.33/145.99 214.33/145.99 The set Q consists of the following terms: 214.33/145.99 214.33/145.99 new_sr13(x0, x1) 214.33/145.99 new_primDivNatS01(x0, x1, Zero, Zero) 214.33/145.99 new_gcd0Gcd'11(False, x0, x1) 214.33/145.99 new_primMulNat4(Zero) 214.33/145.99 new_gcd0Gcd'11(True, x0, x1) 214.33/145.99 new_sr5(:%(x0, x1), x2) 214.33/145.99 new_primEqInt(Pos(Zero)) 214.33/145.99 new_esEs(Pos(Succ(x0))) 214.33/145.99 new_primQuotInt0(x0, Neg(Zero)) 214.33/145.99 new_primMulNat3(Zero) 214.33/145.99 new_primModNatS02(x0, x1) 214.33/145.99 new_primDivNatS1(Succ(Zero), Zero) 214.33/145.99 new_primMinusNatS0(x0) 214.33/145.99 new_sr11(x0) 214.33/145.99 new_rem(Pos(x0), Neg(Succ(x1))) 214.33/145.99 new_rem(Neg(x0), Pos(Succ(x1))) 214.33/145.99 new_primMulNat0(Zero, Zero) 214.33/145.99 new_primPlusNat0(Succ(x0), Zero) 214.33/145.99 new_primMulNat0(Succ(x0), Zero) 214.33/145.99 new_sr3(x0, ty_Float) 214.33/145.99 new_primMulNat2(Zero) 214.33/145.99 new_primQuotInt(x0, Pos(Zero)) 214.33/145.99 new_primMulNat2(Succ(x0)) 214.33/145.99 new_primQuotInt(x0, Neg(Zero)) 214.33/145.99 new_rem(Neg(x0), Neg(Succ(x1))) 214.33/145.99 new_primMinusNatS2(Zero, Succ(x0)) 214.33/145.99 new_sr4(x0, x1, ty_Double) 214.33/145.99 new_primMulNat3(Succ(x0)) 214.33/145.99 new_esEs1(Integer(x0)) 214.33/145.99 new_primQuotInt0(x0, Pos(Zero)) 214.33/145.99 new_gcd2(True, x0, x1) 214.33/145.99 new_quot1(x0, x1, x2, x3, ty_Int) 214.33/145.99 new_primDivNatS1(Zero, x0) 214.33/145.99 new_gcd(x0, x1) 214.33/145.99 new_gcd1(False, x0, x1) 214.33/145.99 new_esEs2(x0, x1, ty_Int) 214.33/145.99 new_sr3(x0, ty_Integer) 214.33/145.99 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 214.33/145.99 new_primPlusNat0(Zero, Succ(x0)) 214.33/145.99 new_sr8(:%(x0, x1), :%(x2, x3), x4) 214.33/145.99 new_abs(Neg(Zero)) 214.33/145.99 new_primMinusNatS2(Succ(x0), Zero) 214.33/145.99 new_error 214.33/145.99 new_primModNatS1(Succ(Zero), Zero) 214.33/145.99 new_primMulNat4(Succ(x0)) 214.33/145.99 new_primDivNatS02(x0, x1) 214.33/145.99 new_rem(Neg(x0), Neg(Zero)) 214.33/145.99 new_primEqInt(Neg(Zero)) 214.33/145.99 new_rem(Pos(x0), Pos(Succ(x1))) 214.33/145.99 new_abs(Pos(Succ(x0))) 214.33/145.99 new_primMulNat0(Succ(x0), Succ(x1)) 214.33/145.99 new_primMulNat0(Zero, Succ(x0)) 214.33/145.99 new_reduce2Reduce1(x0, x1, x2, x3, True, x4) 214.33/145.99 new_gcd0Gcd'10(False, x0, x1) 214.33/145.99 new_sr12(x0) 214.33/145.99 new_primDivNatS01(x0, x1, Zero, Succ(x2)) 214.33/145.99 new_sr10(Pos(x0), Pos(x1)) 214.33/145.99 new_primModNatS01(x0, x1, Zero, Succ(x2)) 214.33/145.99 new_primPlusNat0(Zero, Zero) 214.33/145.99 new_primQuotInt0(x0, Pos(Succ(x1))) 214.33/145.99 new_primModNatS01(x0, x1, Succ(x2), Zero) 214.33/145.99 new_primModNatS1(Succ(Succ(x0)), Zero) 214.33/145.99 new_sr4(x0, x1, ty_Integer) 214.33/145.99 new_rem(Pos(x0), Pos(Zero)) 214.33/145.99 new_sr4(x0, x1, ty_Int) 214.33/145.99 new_quot(Pos(x0), x1, x2) 214.33/145.99 new_primMinusNatS2(Zero, Zero) 214.33/145.99 new_esEs0(x0, ty_Int) 214.33/145.99 new_esEs(Pos(Zero)) 214.33/145.99 new_quot(Neg(x0), x1, x2) 214.33/145.99 new_primDivNatS01(x0, x1, Succ(x2), Succ(x3)) 214.33/145.99 new_quot2(x0, x1, x2) 214.33/145.99 new_primEqInt(Neg(Succ(x0))) 214.33/145.99 new_sr10(Neg(x0), Neg(x1)) 214.33/145.99 new_sr3(x0, app(ty_Ratio, x1)) 214.33/145.99 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 214.33/145.99 new_sr9(x0, x1) 214.33/145.99 new_sr7(Neg(x0)) 214.33/145.99 new_primQuotInt0(x0, Neg(Succ(x1))) 214.33/145.99 new_rem(Pos(x0), Neg(Zero)) 214.33/145.99 new_rem(Neg(x0), Pos(Zero)) 214.33/145.99 new_gcd0Gcd'00(x0, x1) 214.33/145.99 new_primQuotInt(x0, Neg(Succ(x1))) 214.33/145.99 new_primMinusNatS2(Succ(x0), Succ(x1)) 214.33/145.99 new_abs(Pos(Zero)) 214.33/145.99 new_quot0(x0, x1, x2, x3, ty_Integer) 214.33/145.99 new_sr6(x0) 214.33/145.99 new_gcd2(False, x0, x1) 214.33/145.99 new_gcd1(True, x0, x1) 214.33/145.99 new_esEs2(x0, x1, ty_Integer) 214.33/145.99 new_primMinusNatS1 214.33/145.99 new_sr7(Pos(x0)) 214.33/145.99 new_gcd0Gcd'10(True, x0, x1) 214.33/145.99 new_primModNatS1(Zero, x0) 214.33/145.99 new_sr4(x0, x1, ty_Float) 214.33/145.99 new_sr10(Pos(x0), Neg(x1)) 214.33/145.99 new_sr10(Neg(x0), Pos(x1)) 214.33/145.99 new_primDivNatS01(x0, x1, Succ(x2), Zero) 214.33/145.99 new_primDivNatS1(Succ(Succ(x0)), Succ(x1)) 214.33/145.99 new_primPlusNat0(Succ(x0), Succ(x1)) 214.33/145.99 new_primDivNatS1(Succ(Zero), Succ(x0)) 214.33/145.99 new_primQuotInt(x0, Pos(Succ(x1))) 214.33/145.99 new_abs(Neg(Succ(x0))) 214.33/145.99 new_esEs0(x0, ty_Integer) 214.33/145.99 new_sr3(x0, ty_Int) 214.33/145.99 new_esEs(Neg(Succ(x0))) 214.33/145.99 new_primModNatS01(x0, x1, Zero, Zero) 214.33/145.99 new_sr4(x0, x1, app(ty_Ratio, x2)) 214.33/145.99 new_gcd0(x0, x1) 214.33/145.99 new_primEqInt(Pos(Succ(x0))) 214.33/145.99 new_sr3(x0, ty_Double) 214.33/145.99 new_quot1(x0, x1, x2, x3, ty_Integer) 214.33/145.99 new_primDivNatS1(Succ(Succ(x0)), Zero) 214.33/145.99 new_primMulNat1(Succ(x0)) 214.33/145.99 new_sr14(x0, x1) 214.33/145.99 new_quot0(x0, x1, x2, x3, ty_Int) 214.33/145.99 new_primModNatS1(Succ(Zero), Succ(x0)) 214.33/145.99 new_reduce2Reduce1(x0, x1, x2, x3, False, x4) 214.33/145.99 new_esEs(Neg(Zero)) 214.33/145.99 new_primMulNat1(Zero) 214.33/145.99 new_new_pr2F0G10(Succ(Succ(x0))) 214.33/145.99 anew_new_pr2F0G10(Succ(Succ(x0))) 214.33/145.99 new_new_pr2F0G10(Succ(Zero)) 214.33/145.99 new_new_pr2F0G10(Zero) 214.33/145.99 214.33/145.99 We have to consider all minimal (P,Q,R)-chains. 214.33/145.99 ---------------------------------------- 214.33/145.99 214.33/145.99 (824) TransformationProof (EQUIVALENT) 214.33/145.99 By narrowing [LPAR04] the rule new_pr2F0G(vyv188, vyv184, Neg(Succ(Succ(vyv223000))), h) -> H(vyv188, vyv184, Succ(vyv223000), h, anew_new_pr2F0G10(vyv223000)) at position [4] we obtained the following new rules [LPAR04]: 214.33/145.99 214.33/145.99 (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))) 214.33/145.99 214.33/145.99 214.33/145.99 ---------------------------------------- 214.33/145.99 214.33/145.99 (825) 214.33/145.99 Obligation: 214.33/145.99 Q DP problem: 214.33/145.99 The TRS P consists of the following rules: 214.33/145.99 214.33/145.99 new_pr2F0(vyv184, Neg(Succ(Succ(vyv223000))), vyv188, h) -> new_pr2F0G10(vyv188, vyv184, Succ(vyv223000), vyv223000, h) 214.33/145.99 new_pr2F0G10(vyv249, vyv250, vyv251, Succ(Zero), bb) -> new_pr2F0G11(vyv249, vyv250, vyv251, bb) 214.33/145.99 new_pr2F0G11(vyv239, vyv240, vyv241, bc) -> new_pr2F1(vyv240, vyv241, Pos(Succ(Zero)), vyv239, bc) 214.33/145.99 new_pr2F1(z1, z2, Pos(Succ(Zero)), z0, z3) -> new_pr2F30(False, z1, z2, Pos(Succ(Zero)), z0, z3) 214.33/145.99 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) 214.33/145.99 H(vyv249, vyv250, vyv251, bb, cons_new_pr2F0G10(Succ(Zero))) -> new_pr2F0G10(vyv249, vyv250, vyv251, Succ(Zero), bb) 214.33/145.99 H(vyv249, vyv250, vyv251, bb, cons_new_pr2F0G10(Zero)) -> new_pr2F0G10(vyv249, vyv250, vyv251, Zero, bb) 214.33/145.99 new_pr2F0G(vyv188, vyv184, Neg(Succ(Zero)), h) -> new_pr2F0G11(vyv188, vyv184, Zero, h) 214.33/145.99 new_pr2F0G(vyv188, vyv184, Neg(Succ(Succ(vyv223000))), h) -> new_pr2F0G10(vyv188, vyv184, Succ(vyv223000), vyv223000, h) 214.33/145.99 new_pr2F0(y0, Neg(Succ(Succ(Succ(Succ(x0))))), y2, y3) -> H(y2, y0, Succ(Succ(Succ(x0))), y3, new_new_pr2F0G10(x0)) 214.33/145.99 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) 214.33/145.99 new_pr2F0G10(y0, y1, Succ(Zero), Zero, y3) -> new_pr2F0G(y0, new_sr3(y1, y3), Neg(Succ(Zero)), y3) 214.33/145.99 new_pr2F0G(y0, y1, Neg(Succ(Succ(Succ(Succ(x0))))), y3) -> H(y0, y1, Succ(Succ(Succ(x0))), y3, new_new_pr2F0G10(x0)) 214.33/145.99 214.33/145.99 The TRS R consists of the following rules: 214.33/145.99 214.33/145.99 new_sr3(vyv250, ty_Double) -> new_sr11(vyv250) 214.33/145.99 new_sr3(vyv250, ty_Int) -> new_sr7(vyv250) 214.33/145.99 new_sr3(vyv250, ty_Float) -> new_sr12(vyv250) 214.33/145.99 new_sr3(vyv250, ty_Integer) -> new_sr6(vyv250) 214.33/145.99 new_sr3(vyv250, app(ty_Ratio, bf)) -> new_sr5(vyv250, bf) 214.33/145.99 new_primDivNatS1(Succ(Zero), Succ(vyv285000)) -> Zero 214.33/145.99 new_primDivNatS1(Succ(Succ(vyv271000)), Succ(vyv285000)) -> new_primDivNatS01(vyv271000, vyv285000, vyv271000, vyv285000) 214.33/145.99 new_primDivNatS01(vyv311, vyv312, Succ(vyv3130), Zero) -> new_primDivNatS02(vyv311, vyv312) 214.33/145.99 new_primDivNatS01(vyv311, vyv312, Zero, Succ(vyv3140)) -> Zero 214.33/145.99 new_primDivNatS01(vyv311, vyv312, Succ(vyv3130), Succ(vyv3140)) -> new_primDivNatS01(vyv311, vyv312, vyv3130, vyv3140) 214.33/145.99 new_primDivNatS01(vyv311, vyv312, Zero, Zero) -> new_primDivNatS02(vyv311, vyv312) 214.33/145.99 new_primDivNatS02(vyv311, vyv312) -> Succ(new_primDivNatS1(new_primMinusNatS2(vyv311, vyv312), Succ(vyv312))) 214.33/145.99 new_primMinusNatS2(Zero, Succ(vyv3120)) -> Zero 214.33/145.99 new_primMinusNatS2(Succ(vyv3110), Zero) -> Succ(vyv3110) 214.33/145.99 new_primMinusNatS2(Zero, Zero) -> Zero 214.33/145.99 new_primMinusNatS2(Succ(vyv3110), Succ(vyv3120)) -> new_primMinusNatS2(vyv3110, vyv3120) 214.33/145.99 new_primDivNatS1(Zero, vyv28500) -> Zero 214.33/145.99 new_sr5(:%(vyv1840, vyv1841), bd) -> new_reduce2Reduce1(vyv1840, vyv1840, vyv1841, vyv1841, new_esEs0(vyv1841, bd), bd) 214.33/145.99 new_esEs0(vyv1841, ty_Int) -> new_esEs(new_sr7(vyv1841)) 214.33/145.99 new_esEs0(vyv1841, ty_Integer) -> new_esEs1(new_sr6(vyv1841)) 214.33/145.99 new_reduce2Reduce1(vyv265, vyv266, vyv267, vyv268, False, bh) -> :%(new_quot0(vyv265, vyv266, vyv267, vyv268, bh), new_quot1(vyv267, vyv268, vyv265, vyv266, bh)) 214.33/145.99 new_reduce2Reduce1(vyv265, vyv266, vyv267, vyv268, True, bh) -> error([]) 214.33/145.99 new_quot0(vyv265, vyv266, vyv267, vyv268, ty_Integer) -> new_quot2(new_sr9(vyv265, vyv266), new_sr9(vyv265, vyv266), new_sr9(vyv267, vyv268)) 214.33/145.99 new_quot0(vyv265, vyv266, vyv267, vyv268, ty_Int) -> new_quot(new_sr10(vyv265, vyv266), new_sr10(vyv265, vyv266), new_sr10(vyv267, vyv268)) 214.33/145.99 new_quot1(vyv267, vyv268, vyv265, vyv266, ty_Int) -> new_quot(new_sr10(vyv267, vyv268), new_sr10(vyv265, vyv266), new_sr10(vyv267, vyv268)) 214.33/145.99 new_quot1(vyv267, vyv268, vyv265, vyv266, ty_Integer) -> new_quot2(new_sr9(vyv267, vyv268), new_sr9(vyv265, vyv266), new_sr9(vyv267, vyv268)) 214.33/145.99 new_sr9(vyv240, vyv239) -> error([]) 214.33/145.99 new_quot2(vyv274, vyv276, vyv275) -> error([]) 214.33/145.99 new_sr10(Pos(vyv2400), Pos(vyv2390)) -> Pos(new_primMulNat0(vyv2400, vyv2390)) 214.33/145.99 new_sr10(Neg(vyv2400), Neg(vyv2390)) -> Pos(new_primMulNat0(vyv2400, vyv2390)) 214.33/145.99 new_sr10(Pos(vyv2400), Neg(vyv2390)) -> Neg(new_primMulNat0(vyv2400, vyv2390)) 214.33/145.99 new_sr10(Neg(vyv2400), Pos(vyv2390)) -> Neg(new_primMulNat0(vyv2400, vyv2390)) 214.33/145.99 new_quot(Pos(vyv2710), vyv273, vyv272) -> new_primQuotInt(vyv2710, new_gcd(vyv273, vyv272)) 214.33/145.99 new_quot(Neg(vyv2710), vyv273, vyv272) -> new_primQuotInt0(vyv2710, new_gcd(vyv273, vyv272)) 214.33/145.99 new_gcd(vyv273, vyv272) -> new_gcd2(new_esEs(vyv273), vyv273, vyv272) 214.33/145.99 new_primQuotInt0(vyv2710, Pos(Succ(vyv28800))) -> Neg(new_primDivNatS1(vyv2710, vyv28800)) 214.33/145.99 new_primQuotInt0(vyv2710, Neg(Zero)) -> new_error 214.33/145.99 new_primQuotInt0(vyv2710, Neg(Succ(vyv28800))) -> Pos(new_primDivNatS1(vyv2710, vyv28800)) 214.33/145.99 new_primQuotInt0(vyv2710, Pos(Zero)) -> new_error 214.33/145.99 new_error -> error([]) 214.33/145.99 new_primDivNatS1(Succ(Succ(vyv271000)), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS0(vyv271000), Zero)) 214.33/145.99 new_primDivNatS1(Succ(Zero), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS1, Zero)) 214.33/145.99 new_primMinusNatS1 -> Zero 214.33/145.99 new_primMinusNatS0(vyv271000) -> Succ(vyv271000) 214.33/145.99 new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) 214.33/145.99 new_esEs(Pos(Succ(vyv24300))) -> new_primEqInt(Pos(Succ(vyv24300))) 214.33/145.99 new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) 214.33/145.99 new_esEs(Neg(Succ(vyv24300))) -> new_primEqInt(Neg(Succ(vyv24300))) 214.33/145.99 new_gcd2(True, vyv273, vyv272) -> new_gcd1(new_esEs(vyv272), vyv273, vyv272) 214.33/145.99 new_gcd2(False, vyv273, vyv272) -> new_gcd0(vyv273, vyv272) 214.33/145.99 new_gcd0(vyv273, vyv272) -> new_gcd0Gcd'11(new_esEs(new_abs(vyv272)), vyv273, vyv272) 214.33/145.99 new_abs(Neg(Zero)) -> Neg(Zero) 214.33/145.99 new_abs(Neg(Succ(vyv27200))) -> Pos(Succ(vyv27200)) 214.33/145.99 new_abs(Pos(Succ(vyv27200))) -> Pos(Succ(vyv27200)) 214.33/145.99 new_abs(Pos(Zero)) -> Pos(Zero) 214.33/145.99 new_gcd0Gcd'11(True, vyv273, vyv272) -> new_abs(vyv273) 214.33/145.99 new_gcd0Gcd'11(False, vyv273, vyv272) -> new_gcd0Gcd'00(new_abs(vyv273), new_abs(vyv272)) 214.33/145.99 new_gcd0Gcd'10(False, vyv292, vyv293) -> new_gcd0Gcd'00(vyv292, new_rem(vyv293, vyv292)) 214.33/145.99 new_gcd0Gcd'00(vyv293, vyv292) -> new_gcd0Gcd'10(new_esEs(new_rem(vyv293, vyv292)), vyv292, vyv293) 214.33/145.99 new_rem(Pos(vyv2930), Neg(Zero)) -> new_error 214.33/145.99 new_rem(Neg(vyv2930), Pos(Zero)) -> new_error 214.33/145.99 new_rem(Pos(vyv2930), Neg(Succ(vyv29200))) -> Pos(new_primModNatS1(vyv2930, vyv29200)) 214.33/145.99 new_rem(Neg(vyv2930), Pos(Succ(vyv29200))) -> Neg(new_primModNatS1(vyv2930, vyv29200)) 214.33/145.99 new_rem(Pos(vyv2930), Pos(Succ(vyv29200))) -> Pos(new_primModNatS1(vyv2930, vyv29200)) 214.33/145.99 new_rem(Neg(vyv2930), Neg(Zero)) -> new_error 214.33/145.99 new_rem(Neg(vyv2930), Neg(Succ(vyv29200))) -> Neg(new_primModNatS1(vyv2930, vyv29200)) 214.33/145.99 new_rem(Pos(vyv2930), Pos(Zero)) -> new_error 214.33/145.99 new_gcd0Gcd'10(True, vyv292, vyv293) -> vyv292 214.33/145.99 new_primModNatS1(Succ(Zero), Succ(vyv292000)) -> Succ(Zero) 214.33/145.99 new_primModNatS1(Zero, vyv29200) -> Zero 214.33/145.99 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 214.33/145.99 new_primModNatS1(Succ(Succ(vyv293000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv293000), Zero) 214.33/145.99 new_primModNatS1(Succ(Succ(vyv293000)), Succ(vyv292000)) -> new_primModNatS01(vyv293000, vyv292000, vyv293000, vyv292000) 214.33/145.99 new_primModNatS01(vyv331, vyv332, Zero, Zero) -> new_primModNatS02(vyv331, vyv332) 214.33/145.99 new_primModNatS02(vyv331, vyv332) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv331), Succ(vyv332)), Succ(vyv332)) 214.33/145.99 new_primModNatS01(vyv331, vyv332, Succ(vyv3330), Zero) -> new_primModNatS02(vyv331, vyv332) 214.33/145.99 new_primModNatS01(vyv331, vyv332, Succ(vyv3330), Succ(vyv3340)) -> new_primModNatS01(vyv331, vyv332, vyv3330, vyv3340) 214.33/145.99 new_primModNatS01(vyv331, vyv332, Zero, Succ(vyv3340)) -> Succ(Succ(vyv331)) 214.33/145.99 new_gcd1(True, vyv273, vyv272) -> new_error 214.33/145.99 new_gcd1(False, vyv273, vyv272) -> new_gcd0(vyv273, vyv272) 214.33/145.99 new_primEqInt(Neg(Succ(vyv242000))) -> False 214.33/145.99 new_primEqInt(Pos(Zero)) -> True 214.33/145.99 new_primEqInt(Pos(Succ(vyv242000))) -> False 214.33/145.99 new_primEqInt(Neg(Zero)) -> True 214.33/145.99 new_primQuotInt(vyv2710, Pos(Succ(vyv28500))) -> Pos(new_primDivNatS1(vyv2710, vyv28500)) 214.33/145.99 new_primQuotInt(vyv2710, Neg(Zero)) -> new_error 214.33/145.99 new_primQuotInt(vyv2710, Pos(Zero)) -> new_error 214.33/145.99 new_primQuotInt(vyv2710, Neg(Succ(vyv28500))) -> Neg(new_primDivNatS1(vyv2710, vyv28500)) 214.33/145.99 new_primMulNat0(Zero, Succ(vyv23900)) -> Zero 214.33/145.99 new_primMulNat0(Succ(vyv24000), Succ(vyv23900)) -> new_primPlusNat0(new_primMulNat0(vyv24000, Succ(vyv23900)), Succ(vyv23900)) 214.33/145.99 new_primMulNat0(Succ(vyv24000), Zero) -> Zero 214.33/145.99 new_primMulNat0(Zero, Zero) -> Zero 214.33/145.99 new_primPlusNat0(Succ(vyv4000), Succ(vyv6000)) -> Succ(Succ(new_primPlusNat0(vyv4000, vyv6000))) 214.33/145.99 new_primPlusNat0(Zero, Succ(vyv6000)) -> Succ(vyv6000) 214.33/145.99 new_primPlusNat0(Zero, Zero) -> Zero 214.33/145.99 new_primPlusNat0(Succ(vyv4000), Zero) -> Succ(vyv4000) 214.33/145.99 new_sr6(vyv184) -> error([]) 214.33/145.99 new_esEs1(Integer(vyv2700)) -> new_primEqInt(vyv2700) 214.33/145.99 new_sr7(Pos(vyv1840)) -> Pos(new_primMulNat1(vyv1840)) 214.33/145.99 new_sr7(Neg(vyv1840)) -> Pos(new_primMulNat1(vyv1840)) 214.33/145.99 new_primMulNat1(Succ(vyv18400)) -> new_primPlusNat0(new_primMulNat2(vyv18400), Succ(vyv18400)) 214.33/145.99 new_primMulNat1(Zero) -> Zero 214.33/145.99 new_primMulNat2(Succ(vyv184000)) -> new_primPlusNat0(new_primMulNat3(vyv184000), Succ(Succ(vyv184000))) 214.33/145.99 new_primMulNat2(Zero) -> Zero 214.33/145.99 new_primMulNat3(Succ(vyv1840000)) -> new_primPlusNat0(new_primMulNat4(vyv1840000), Succ(Succ(Succ(vyv1840000)))) 214.33/145.99 new_primMulNat3(Zero) -> Zero 214.33/145.99 new_primMulNat4(Succ(vyv18400000)) -> new_primPlusNat0(new_primMulNat0(vyv18400000, Succ(Succ(Succ(Succ(vyv18400000))))), Succ(Succ(Succ(Succ(vyv18400000))))) 214.33/145.99 new_primMulNat4(Zero) -> Zero 214.33/145.99 new_sr12(vyv184) -> error([]) 214.33/145.99 new_sr11(vyv184) -> error([]) 214.33/145.99 new_sr4(vyv240, vyv239, app(ty_Ratio, be)) -> new_sr8(vyv240, vyv239, be) 214.33/145.99 new_sr4(vyv240, vyv239, ty_Float) -> new_sr14(vyv240, vyv239) 214.33/145.99 new_sr4(vyv240, vyv239, ty_Int) -> new_sr10(vyv240, vyv239) 214.33/145.99 new_sr4(vyv240, vyv239, ty_Double) -> new_sr13(vyv240, vyv239) 214.33/145.99 new_sr4(vyv240, vyv239, ty_Integer) -> new_sr9(vyv240, vyv239) 214.33/145.99 new_sr13(vyv240, vyv239) -> error([]) 214.33/145.99 new_sr14(vyv240, vyv239) -> error([]) 214.33/145.99 new_sr8(:%(vyv2400, vyv2401), :%(vyv2390, vyv2391), be) -> new_reduce2Reduce1(vyv2400, vyv2390, vyv2401, vyv2391, new_esEs2(vyv2401, vyv2391, be), be) 214.33/145.99 new_esEs2(vyv2401, vyv2391, ty_Integer) -> new_esEs1(new_sr9(vyv2401, vyv2391)) 214.33/145.99 new_esEs2(vyv2401, vyv2391, ty_Int) -> new_esEs(new_sr10(vyv2401, vyv2391)) 214.33/145.99 anew_new_pr2F0G10(Succ(Succ(vyv25200))) -> new_new_pr2F0G10(vyv25200) 214.33/145.99 new_new_pr2F0G10(Succ(Succ(vyv25200))) -> new_new_pr2F0G10(vyv25200) 214.33/145.99 new_new_pr2F0G10(Succ(Zero)) -> cons_new_pr2F0G10(Succ(Zero)) 214.33/145.99 new_new_pr2F0G10(Zero) -> cons_new_pr2F0G10(Zero) 214.33/145.99 214.33/145.99 The set Q consists of the following terms: 214.33/145.99 214.33/145.99 new_sr13(x0, x1) 214.33/145.99 new_primDivNatS01(x0, x1, Zero, Zero) 214.33/145.99 new_gcd0Gcd'11(False, x0, x1) 214.33/145.99 new_primMulNat4(Zero) 214.33/145.99 new_gcd0Gcd'11(True, x0, x1) 214.33/145.99 new_sr5(:%(x0, x1), x2) 214.33/145.99 new_primEqInt(Pos(Zero)) 214.33/145.99 new_esEs(Pos(Succ(x0))) 214.33/145.99 new_primQuotInt0(x0, Neg(Zero)) 214.33/145.99 new_primMulNat3(Zero) 214.33/145.99 new_primModNatS02(x0, x1) 214.33/145.99 new_primDivNatS1(Succ(Zero), Zero) 214.33/145.99 new_primMinusNatS0(x0) 214.33/145.99 new_sr11(x0) 214.33/145.99 new_rem(Pos(x0), Neg(Succ(x1))) 214.33/145.99 new_rem(Neg(x0), Pos(Succ(x1))) 214.33/145.99 new_primMulNat0(Zero, Zero) 214.33/145.99 new_primPlusNat0(Succ(x0), Zero) 214.33/145.99 new_primMulNat0(Succ(x0), Zero) 214.33/145.99 new_sr3(x0, ty_Float) 214.33/145.99 new_primMulNat2(Zero) 214.33/145.99 new_primQuotInt(x0, Pos(Zero)) 214.33/145.99 new_primMulNat2(Succ(x0)) 214.33/145.99 new_primQuotInt(x0, Neg(Zero)) 214.33/145.99 new_rem(Neg(x0), Neg(Succ(x1))) 214.33/145.99 new_primMinusNatS2(Zero, Succ(x0)) 214.33/145.99 new_sr4(x0, x1, ty_Double) 214.33/145.99 new_primMulNat3(Succ(x0)) 214.33/145.99 new_esEs1(Integer(x0)) 214.33/145.99 new_primQuotInt0(x0, Pos(Zero)) 214.33/145.99 new_gcd2(True, x0, x1) 214.33/145.99 new_quot1(x0, x1, x2, x3, ty_Int) 214.33/145.99 new_primDivNatS1(Zero, x0) 214.33/145.99 new_gcd(x0, x1) 214.33/145.99 new_gcd1(False, x0, x1) 214.33/145.99 new_esEs2(x0, x1, ty_Int) 214.33/145.99 new_sr3(x0, ty_Integer) 214.33/145.99 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 214.33/145.99 new_primPlusNat0(Zero, Succ(x0)) 214.33/145.99 new_sr8(:%(x0, x1), :%(x2, x3), x4) 214.33/145.99 new_abs(Neg(Zero)) 214.33/145.99 new_primMinusNatS2(Succ(x0), Zero) 214.33/145.99 new_error 214.33/145.99 new_primModNatS1(Succ(Zero), Zero) 214.33/145.99 new_primMulNat4(Succ(x0)) 214.33/145.99 new_primDivNatS02(x0, x1) 214.33/145.99 new_rem(Neg(x0), Neg(Zero)) 214.33/145.99 new_primEqInt(Neg(Zero)) 214.33/145.99 new_rem(Pos(x0), Pos(Succ(x1))) 214.33/145.99 new_abs(Pos(Succ(x0))) 214.33/145.99 new_primMulNat0(Succ(x0), Succ(x1)) 214.33/145.99 new_primMulNat0(Zero, Succ(x0)) 214.33/145.99 new_reduce2Reduce1(x0, x1, x2, x3, True, x4) 214.33/145.99 new_gcd0Gcd'10(False, x0, x1) 214.33/145.99 new_sr12(x0) 214.33/145.99 new_primDivNatS01(x0, x1, Zero, Succ(x2)) 214.33/145.99 new_sr10(Pos(x0), Pos(x1)) 214.33/145.99 new_primModNatS01(x0, x1, Zero, Succ(x2)) 214.33/145.99 new_primPlusNat0(Zero, Zero) 214.33/145.99 new_primQuotInt0(x0, Pos(Succ(x1))) 214.33/145.99 new_primModNatS01(x0, x1, Succ(x2), Zero) 214.33/145.99 new_primModNatS1(Succ(Succ(x0)), Zero) 214.33/145.99 new_sr4(x0, x1, ty_Integer) 214.33/145.99 new_rem(Pos(x0), Pos(Zero)) 214.33/145.99 new_sr4(x0, x1, ty_Int) 214.33/145.99 new_quot(Pos(x0), x1, x2) 214.33/145.99 new_primMinusNatS2(Zero, Zero) 214.33/145.99 new_esEs0(x0, ty_Int) 214.33/145.99 new_esEs(Pos(Zero)) 214.33/145.99 new_quot(Neg(x0), x1, x2) 214.33/145.99 new_primDivNatS01(x0, x1, Succ(x2), Succ(x3)) 214.33/145.99 new_quot2(x0, x1, x2) 214.33/145.99 new_primEqInt(Neg(Succ(x0))) 214.33/145.99 new_sr10(Neg(x0), Neg(x1)) 214.33/145.99 new_sr3(x0, app(ty_Ratio, x1)) 214.33/145.99 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 214.33/145.99 new_sr9(x0, x1) 214.33/145.99 new_sr7(Neg(x0)) 214.33/145.99 new_primQuotInt0(x0, Neg(Succ(x1))) 214.33/145.99 new_rem(Pos(x0), Neg(Zero)) 214.33/145.99 new_rem(Neg(x0), Pos(Zero)) 214.33/145.99 new_gcd0Gcd'00(x0, x1) 214.33/145.99 new_primQuotInt(x0, Neg(Succ(x1))) 214.33/145.99 new_primMinusNatS2(Succ(x0), Succ(x1)) 214.33/145.99 new_abs(Pos(Zero)) 214.33/145.99 new_quot0(x0, x1, x2, x3, ty_Integer) 214.33/145.99 new_sr6(x0) 214.33/145.99 new_gcd2(False, x0, x1) 214.33/145.99 new_gcd1(True, x0, x1) 214.33/145.99 new_esEs2(x0, x1, ty_Integer) 214.33/145.99 new_primMinusNatS1 214.33/145.99 new_sr7(Pos(x0)) 214.33/145.99 new_gcd0Gcd'10(True, x0, x1) 214.33/145.99 new_primModNatS1(Zero, x0) 214.33/145.99 new_sr4(x0, x1, ty_Float) 214.33/145.99 new_sr10(Pos(x0), Neg(x1)) 214.33/145.99 new_sr10(Neg(x0), Pos(x1)) 214.33/145.99 new_primDivNatS01(x0, x1, Succ(x2), Zero) 214.33/145.99 new_primDivNatS1(Succ(Succ(x0)), Succ(x1)) 214.33/145.99 new_primPlusNat0(Succ(x0), Succ(x1)) 214.33/145.99 new_primDivNatS1(Succ(Zero), Succ(x0)) 214.33/145.99 new_primQuotInt(x0, Pos(Succ(x1))) 214.33/145.99 new_abs(Neg(Succ(x0))) 214.33/145.99 new_esEs0(x0, ty_Integer) 214.33/145.99 new_sr3(x0, ty_Int) 214.33/145.99 new_esEs(Neg(Succ(x0))) 214.33/145.99 new_primModNatS01(x0, x1, Zero, Zero) 214.33/145.99 new_sr4(x0, x1, app(ty_Ratio, x2)) 214.33/145.99 new_gcd0(x0, x1) 214.33/145.99 new_primEqInt(Pos(Succ(x0))) 214.33/145.99 new_sr3(x0, ty_Double) 214.33/145.99 new_quot1(x0, x1, x2, x3, ty_Integer) 214.33/145.99 new_primDivNatS1(Succ(Succ(x0)), Zero) 214.33/145.99 new_primMulNat1(Succ(x0)) 214.33/145.99 new_sr14(x0, x1) 214.33/145.99 new_quot0(x0, x1, x2, x3, ty_Int) 214.33/145.99 new_primModNatS1(Succ(Zero), Succ(x0)) 214.33/145.99 new_reduce2Reduce1(x0, x1, x2, x3, False, x4) 214.33/145.99 new_esEs(Neg(Zero)) 214.33/145.99 new_primMulNat1(Zero) 214.33/145.99 new_new_pr2F0G10(Succ(Succ(x0))) 214.33/145.99 anew_new_pr2F0G10(Succ(Succ(x0))) 214.33/145.99 new_new_pr2F0G10(Succ(Zero)) 214.33/145.99 new_new_pr2F0G10(Zero) 214.33/145.99 214.33/145.99 We have to consider all minimal (P,Q,R)-chains. 214.33/145.99 ---------------------------------------- 214.33/145.99 214.33/145.99 (826) UsableRulesProof (EQUIVALENT) 214.33/145.99 As all Q-normal forms are R-normal forms we are in the innermost case. Hence, by the usable rules processor [LPAR04] we can delete all non-usable rules [FROCOS05] from R. 214.33/145.99 ---------------------------------------- 214.33/145.99 214.33/145.99 (827) 214.33/145.99 Obligation: 214.33/145.99 Q DP problem: 214.33/145.99 The TRS P consists of the following rules: 214.33/145.99 214.33/145.99 new_pr2F0(vyv184, Neg(Succ(Succ(vyv223000))), vyv188, h) -> new_pr2F0G10(vyv188, vyv184, Succ(vyv223000), vyv223000, h) 214.33/145.99 new_pr2F0G10(vyv249, vyv250, vyv251, Succ(Zero), bb) -> new_pr2F0G11(vyv249, vyv250, vyv251, bb) 214.33/145.99 new_pr2F0G11(vyv239, vyv240, vyv241, bc) -> new_pr2F1(vyv240, vyv241, Pos(Succ(Zero)), vyv239, bc) 214.33/145.99 new_pr2F1(z1, z2, Pos(Succ(Zero)), z0, z3) -> new_pr2F30(False, z1, z2, Pos(Succ(Zero)), z0, z3) 214.33/145.99 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) 214.33/145.99 H(vyv249, vyv250, vyv251, bb, cons_new_pr2F0G10(Succ(Zero))) -> new_pr2F0G10(vyv249, vyv250, vyv251, Succ(Zero), bb) 214.33/145.99 H(vyv249, vyv250, vyv251, bb, cons_new_pr2F0G10(Zero)) -> new_pr2F0G10(vyv249, vyv250, vyv251, Zero, bb) 214.33/145.99 new_pr2F0G(vyv188, vyv184, Neg(Succ(Zero)), h) -> new_pr2F0G11(vyv188, vyv184, Zero, h) 214.33/145.99 new_pr2F0G(vyv188, vyv184, Neg(Succ(Succ(vyv223000))), h) -> new_pr2F0G10(vyv188, vyv184, Succ(vyv223000), vyv223000, h) 214.33/145.99 new_pr2F0(y0, Neg(Succ(Succ(Succ(Succ(x0))))), y2, y3) -> H(y2, y0, Succ(Succ(Succ(x0))), y3, new_new_pr2F0G10(x0)) 214.33/145.99 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) 214.33/145.99 new_pr2F0G10(y0, y1, Succ(Zero), Zero, y3) -> new_pr2F0G(y0, new_sr3(y1, y3), Neg(Succ(Zero)), y3) 214.33/145.99 new_pr2F0G(y0, y1, Neg(Succ(Succ(Succ(Succ(x0))))), y3) -> H(y0, y1, Succ(Succ(Succ(x0))), y3, new_new_pr2F0G10(x0)) 214.33/145.99 214.33/145.99 The TRS R consists of the following rules: 214.33/145.99 214.33/145.99 new_new_pr2F0G10(Succ(Succ(vyv25200))) -> new_new_pr2F0G10(vyv25200) 214.33/145.99 new_new_pr2F0G10(Succ(Zero)) -> cons_new_pr2F0G10(Succ(Zero)) 214.33/145.99 new_new_pr2F0G10(Zero) -> cons_new_pr2F0G10(Zero) 214.33/145.99 new_sr3(vyv250, ty_Double) -> new_sr11(vyv250) 214.33/145.99 new_sr3(vyv250, ty_Int) -> new_sr7(vyv250) 214.33/145.99 new_sr3(vyv250, ty_Float) -> new_sr12(vyv250) 214.33/145.99 new_sr3(vyv250, ty_Integer) -> new_sr6(vyv250) 214.33/145.99 new_sr3(vyv250, app(ty_Ratio, bf)) -> new_sr5(vyv250, bf) 214.33/145.99 new_sr5(:%(vyv1840, vyv1841), bd) -> new_reduce2Reduce1(vyv1840, vyv1840, vyv1841, vyv1841, new_esEs0(vyv1841, bd), bd) 214.33/145.99 new_esEs0(vyv1841, ty_Int) -> new_esEs(new_sr7(vyv1841)) 214.33/145.99 new_esEs0(vyv1841, ty_Integer) -> new_esEs1(new_sr6(vyv1841)) 214.33/145.99 new_reduce2Reduce1(vyv265, vyv266, vyv267, vyv268, False, bh) -> :%(new_quot0(vyv265, vyv266, vyv267, vyv268, bh), new_quot1(vyv267, vyv268, vyv265, vyv266, bh)) 214.33/145.99 new_reduce2Reduce1(vyv265, vyv266, vyv267, vyv268, True, bh) -> error([]) 214.33/145.99 new_quot0(vyv265, vyv266, vyv267, vyv268, ty_Integer) -> new_quot2(new_sr9(vyv265, vyv266), new_sr9(vyv265, vyv266), new_sr9(vyv267, vyv268)) 214.33/145.99 new_quot0(vyv265, vyv266, vyv267, vyv268, ty_Int) -> new_quot(new_sr10(vyv265, vyv266), new_sr10(vyv265, vyv266), new_sr10(vyv267, vyv268)) 214.33/145.99 new_quot1(vyv267, vyv268, vyv265, vyv266, ty_Int) -> new_quot(new_sr10(vyv267, vyv268), new_sr10(vyv265, vyv266), new_sr10(vyv267, vyv268)) 214.33/145.99 new_quot1(vyv267, vyv268, vyv265, vyv266, ty_Integer) -> new_quot2(new_sr9(vyv267, vyv268), new_sr9(vyv265, vyv266), new_sr9(vyv267, vyv268)) 214.33/145.99 new_sr9(vyv240, vyv239) -> error([]) 214.33/145.99 new_quot2(vyv274, vyv276, vyv275) -> error([]) 214.33/145.99 new_sr10(Pos(vyv2400), Pos(vyv2390)) -> Pos(new_primMulNat0(vyv2400, vyv2390)) 214.33/145.99 new_sr10(Neg(vyv2400), Neg(vyv2390)) -> Pos(new_primMulNat0(vyv2400, vyv2390)) 214.33/145.99 new_sr10(Pos(vyv2400), Neg(vyv2390)) -> Neg(new_primMulNat0(vyv2400, vyv2390)) 214.33/145.99 new_sr10(Neg(vyv2400), Pos(vyv2390)) -> Neg(new_primMulNat0(vyv2400, vyv2390)) 214.33/145.99 new_quot(Pos(vyv2710), vyv273, vyv272) -> new_primQuotInt(vyv2710, new_gcd(vyv273, vyv272)) 214.33/145.99 new_quot(Neg(vyv2710), vyv273, vyv272) -> new_primQuotInt0(vyv2710, new_gcd(vyv273, vyv272)) 214.33/145.99 new_gcd(vyv273, vyv272) -> new_gcd2(new_esEs(vyv273), vyv273, vyv272) 214.33/145.99 new_primQuotInt0(vyv2710, Pos(Succ(vyv28800))) -> Neg(new_primDivNatS1(vyv2710, vyv28800)) 214.33/145.99 new_primQuotInt0(vyv2710, Neg(Zero)) -> new_error 214.33/145.99 new_primQuotInt0(vyv2710, Neg(Succ(vyv28800))) -> Pos(new_primDivNatS1(vyv2710, vyv28800)) 214.33/145.99 new_primQuotInt0(vyv2710, Pos(Zero)) -> new_error 214.33/145.99 new_error -> error([]) 214.33/145.99 new_primDivNatS1(Succ(Zero), Succ(vyv285000)) -> Zero 214.33/145.99 new_primDivNatS1(Succ(Succ(vyv271000)), Succ(vyv285000)) -> new_primDivNatS01(vyv271000, vyv285000, vyv271000, vyv285000) 214.33/145.99 new_primDivNatS1(Zero, vyv28500) -> Zero 214.33/145.99 new_primDivNatS1(Succ(Succ(vyv271000)), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS0(vyv271000), Zero)) 214.33/145.99 new_primDivNatS1(Succ(Zero), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS1, Zero)) 214.33/145.99 new_primMinusNatS1 -> Zero 214.33/145.99 new_primMinusNatS0(vyv271000) -> Succ(vyv271000) 214.33/145.99 new_primDivNatS01(vyv311, vyv312, Succ(vyv3130), Zero) -> new_primDivNatS02(vyv311, vyv312) 214.33/145.99 new_primDivNatS01(vyv311, vyv312, Zero, Succ(vyv3140)) -> Zero 214.33/145.99 new_primDivNatS01(vyv311, vyv312, Succ(vyv3130), Succ(vyv3140)) -> new_primDivNatS01(vyv311, vyv312, vyv3130, vyv3140) 214.33/145.99 new_primDivNatS01(vyv311, vyv312, Zero, Zero) -> new_primDivNatS02(vyv311, vyv312) 214.33/145.99 new_primDivNatS02(vyv311, vyv312) -> Succ(new_primDivNatS1(new_primMinusNatS2(vyv311, vyv312), Succ(vyv312))) 214.33/145.99 new_primMinusNatS2(Zero, Succ(vyv3120)) -> Zero 214.33/145.99 new_primMinusNatS2(Succ(vyv3110), Zero) -> Succ(vyv3110) 214.33/145.99 new_primMinusNatS2(Zero, Zero) -> Zero 214.33/145.99 new_primMinusNatS2(Succ(vyv3110), Succ(vyv3120)) -> new_primMinusNatS2(vyv3110, vyv3120) 214.33/145.99 new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) 214.33/145.99 new_esEs(Pos(Succ(vyv24300))) -> new_primEqInt(Pos(Succ(vyv24300))) 214.33/145.99 new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) 214.33/145.99 new_esEs(Neg(Succ(vyv24300))) -> new_primEqInt(Neg(Succ(vyv24300))) 214.33/145.99 new_gcd2(True, vyv273, vyv272) -> new_gcd1(new_esEs(vyv272), vyv273, vyv272) 214.33/145.99 new_gcd2(False, vyv273, vyv272) -> new_gcd0(vyv273, vyv272) 214.33/145.99 new_gcd0(vyv273, vyv272) -> new_gcd0Gcd'11(new_esEs(new_abs(vyv272)), vyv273, vyv272) 214.33/145.99 new_abs(Neg(Zero)) -> Neg(Zero) 214.33/145.99 new_abs(Neg(Succ(vyv27200))) -> Pos(Succ(vyv27200)) 214.33/145.99 new_abs(Pos(Succ(vyv27200))) -> Pos(Succ(vyv27200)) 214.33/145.99 new_abs(Pos(Zero)) -> Pos(Zero) 214.33/145.99 new_gcd0Gcd'11(True, vyv273, vyv272) -> new_abs(vyv273) 214.33/145.99 new_gcd0Gcd'11(False, vyv273, vyv272) -> new_gcd0Gcd'00(new_abs(vyv273), new_abs(vyv272)) 214.33/145.99 new_gcd0Gcd'00(vyv293, vyv292) -> new_gcd0Gcd'10(new_esEs(new_rem(vyv293, vyv292)), vyv292, vyv293) 214.33/145.99 new_gcd0Gcd'10(False, vyv292, vyv293) -> new_gcd0Gcd'00(vyv292, new_rem(vyv293, vyv292)) 214.33/145.99 new_rem(Pos(vyv2930), Neg(Zero)) -> new_error 214.33/145.99 new_rem(Neg(vyv2930), Pos(Zero)) -> new_error 214.33/145.99 new_rem(Pos(vyv2930), Neg(Succ(vyv29200))) -> Pos(new_primModNatS1(vyv2930, vyv29200)) 214.33/145.99 new_rem(Neg(vyv2930), Pos(Succ(vyv29200))) -> Neg(new_primModNatS1(vyv2930, vyv29200)) 214.33/145.99 new_rem(Pos(vyv2930), Pos(Succ(vyv29200))) -> Pos(new_primModNatS1(vyv2930, vyv29200)) 214.33/145.99 new_rem(Neg(vyv2930), Neg(Zero)) -> new_error 214.33/145.99 new_rem(Neg(vyv2930), Neg(Succ(vyv29200))) -> Neg(new_primModNatS1(vyv2930, vyv29200)) 214.33/145.99 new_rem(Pos(vyv2930), Pos(Zero)) -> new_error 214.33/145.99 new_gcd0Gcd'10(True, vyv292, vyv293) -> vyv292 214.33/145.99 new_primModNatS1(Succ(Zero), Succ(vyv292000)) -> Succ(Zero) 214.33/145.99 new_primModNatS1(Zero, vyv29200) -> Zero 214.33/145.99 new_primModNatS1(Succ(Succ(vyv293000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv293000), Zero) 214.33/145.99 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 214.33/145.99 new_primModNatS1(Succ(Succ(vyv293000)), Succ(vyv292000)) -> new_primModNatS01(vyv293000, vyv292000, vyv293000, vyv292000) 214.33/145.99 new_primModNatS01(vyv331, vyv332, Zero, Zero) -> new_primModNatS02(vyv331, vyv332) 214.33/145.99 new_primModNatS02(vyv331, vyv332) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv331), Succ(vyv332)), Succ(vyv332)) 214.33/145.99 new_primModNatS01(vyv331, vyv332, Succ(vyv3330), Zero) -> new_primModNatS02(vyv331, vyv332) 214.33/145.99 new_primModNatS01(vyv331, vyv332, Succ(vyv3330), Succ(vyv3340)) -> new_primModNatS01(vyv331, vyv332, vyv3330, vyv3340) 214.33/145.99 new_primModNatS01(vyv331, vyv332, Zero, Succ(vyv3340)) -> Succ(Succ(vyv331)) 214.33/145.99 new_gcd1(True, vyv273, vyv272) -> new_error 214.33/145.99 new_gcd1(False, vyv273, vyv272) -> new_gcd0(vyv273, vyv272) 214.33/145.99 new_primEqInt(Neg(Succ(vyv242000))) -> False 214.33/145.99 new_primEqInt(Pos(Zero)) -> True 214.33/145.99 new_primEqInt(Pos(Succ(vyv242000))) -> False 214.33/145.99 new_primEqInt(Neg(Zero)) -> True 214.33/145.99 new_primQuotInt(vyv2710, Pos(Succ(vyv28500))) -> Pos(new_primDivNatS1(vyv2710, vyv28500)) 214.33/145.99 new_primQuotInt(vyv2710, Neg(Zero)) -> new_error 214.33/145.99 new_primQuotInt(vyv2710, Pos(Zero)) -> new_error 214.33/145.99 new_primQuotInt(vyv2710, Neg(Succ(vyv28500))) -> Neg(new_primDivNatS1(vyv2710, vyv28500)) 214.33/145.99 new_primMulNat0(Zero, Succ(vyv23900)) -> Zero 214.33/145.99 new_primMulNat0(Succ(vyv24000), Succ(vyv23900)) -> new_primPlusNat0(new_primMulNat0(vyv24000, Succ(vyv23900)), Succ(vyv23900)) 214.33/145.99 new_primMulNat0(Succ(vyv24000), Zero) -> Zero 214.33/145.99 new_primMulNat0(Zero, Zero) -> Zero 214.33/145.99 new_primPlusNat0(Succ(vyv4000), Succ(vyv6000)) -> Succ(Succ(new_primPlusNat0(vyv4000, vyv6000))) 214.33/145.99 new_primPlusNat0(Zero, Succ(vyv6000)) -> Succ(vyv6000) 214.33/145.99 new_primPlusNat0(Zero, Zero) -> Zero 214.33/145.99 new_primPlusNat0(Succ(vyv4000), Zero) -> Succ(vyv4000) 214.33/145.99 new_sr6(vyv184) -> error([]) 214.33/145.99 new_esEs1(Integer(vyv2700)) -> new_primEqInt(vyv2700) 214.33/145.99 new_sr7(Pos(vyv1840)) -> Pos(new_primMulNat1(vyv1840)) 214.33/145.99 new_sr7(Neg(vyv1840)) -> Pos(new_primMulNat1(vyv1840)) 214.33/145.99 new_primMulNat1(Succ(vyv18400)) -> new_primPlusNat0(new_primMulNat2(vyv18400), Succ(vyv18400)) 214.33/145.99 new_primMulNat1(Zero) -> Zero 214.33/145.99 new_primMulNat2(Succ(vyv184000)) -> new_primPlusNat0(new_primMulNat3(vyv184000), Succ(Succ(vyv184000))) 214.33/145.99 new_primMulNat2(Zero) -> Zero 214.33/145.99 new_primMulNat3(Succ(vyv1840000)) -> new_primPlusNat0(new_primMulNat4(vyv1840000), Succ(Succ(Succ(vyv1840000)))) 214.33/145.99 new_primMulNat3(Zero) -> Zero 214.33/145.99 new_primMulNat4(Succ(vyv18400000)) -> new_primPlusNat0(new_primMulNat0(vyv18400000, Succ(Succ(Succ(Succ(vyv18400000))))), Succ(Succ(Succ(Succ(vyv18400000))))) 214.33/145.99 new_primMulNat4(Zero) -> Zero 214.33/145.99 new_sr12(vyv184) -> error([]) 214.33/145.99 new_sr11(vyv184) -> error([]) 214.33/145.99 new_sr4(vyv240, vyv239, app(ty_Ratio, be)) -> new_sr8(vyv240, vyv239, be) 214.33/145.99 new_sr4(vyv240, vyv239, ty_Float) -> new_sr14(vyv240, vyv239) 214.33/145.99 new_sr4(vyv240, vyv239, ty_Int) -> new_sr10(vyv240, vyv239) 214.33/145.99 new_sr4(vyv240, vyv239, ty_Double) -> new_sr13(vyv240, vyv239) 214.33/145.99 new_sr4(vyv240, vyv239, ty_Integer) -> new_sr9(vyv240, vyv239) 214.33/145.99 new_sr13(vyv240, vyv239) -> error([]) 214.33/145.99 new_sr14(vyv240, vyv239) -> error([]) 214.33/145.99 new_sr8(:%(vyv2400, vyv2401), :%(vyv2390, vyv2391), be) -> new_reduce2Reduce1(vyv2400, vyv2390, vyv2401, vyv2391, new_esEs2(vyv2401, vyv2391, be), be) 214.33/145.99 new_esEs2(vyv2401, vyv2391, ty_Integer) -> new_esEs1(new_sr9(vyv2401, vyv2391)) 214.33/145.99 new_esEs2(vyv2401, vyv2391, ty_Int) -> new_esEs(new_sr10(vyv2401, vyv2391)) 214.33/145.99 214.33/145.99 The set Q consists of the following terms: 214.33/145.99 214.33/145.99 new_sr13(x0, x1) 214.33/145.99 new_primDivNatS01(x0, x1, Zero, Zero) 214.33/145.99 new_gcd0Gcd'11(False, x0, x1) 214.33/145.99 new_primMulNat4(Zero) 214.33/145.99 new_gcd0Gcd'11(True, x0, x1) 214.33/145.99 new_sr5(:%(x0, x1), x2) 214.33/145.99 new_primEqInt(Pos(Zero)) 214.33/145.99 new_esEs(Pos(Succ(x0))) 214.33/145.99 new_primQuotInt0(x0, Neg(Zero)) 214.33/145.99 new_primMulNat3(Zero) 214.33/145.99 new_primModNatS02(x0, x1) 214.33/145.99 new_primDivNatS1(Succ(Zero), Zero) 214.33/145.99 new_primMinusNatS0(x0) 214.33/145.99 new_sr11(x0) 214.33/145.99 new_rem(Pos(x0), Neg(Succ(x1))) 214.33/145.99 new_rem(Neg(x0), Pos(Succ(x1))) 214.33/145.99 new_primMulNat0(Zero, Zero) 214.33/145.99 new_primPlusNat0(Succ(x0), Zero) 214.33/145.99 new_primMulNat0(Succ(x0), Zero) 214.33/145.99 new_sr3(x0, ty_Float) 214.33/145.99 new_primMulNat2(Zero) 214.33/145.99 new_primQuotInt(x0, Pos(Zero)) 214.33/145.99 new_primMulNat2(Succ(x0)) 214.33/145.99 new_primQuotInt(x0, Neg(Zero)) 214.33/145.99 new_rem(Neg(x0), Neg(Succ(x1))) 214.33/145.99 new_primMinusNatS2(Zero, Succ(x0)) 214.33/145.99 new_sr4(x0, x1, ty_Double) 214.33/145.99 new_primMulNat3(Succ(x0)) 214.33/145.99 new_esEs1(Integer(x0)) 214.33/145.99 new_primQuotInt0(x0, Pos(Zero)) 214.33/145.99 new_gcd2(True, x0, x1) 214.33/145.99 new_quot1(x0, x1, x2, x3, ty_Int) 214.33/145.99 new_primDivNatS1(Zero, x0) 214.33/145.99 new_gcd(x0, x1) 214.33/145.99 new_gcd1(False, x0, x1) 214.33/145.99 new_esEs2(x0, x1, ty_Int) 214.33/145.99 new_sr3(x0, ty_Integer) 214.33/145.99 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 214.33/145.99 new_primPlusNat0(Zero, Succ(x0)) 214.33/145.99 new_sr8(:%(x0, x1), :%(x2, x3), x4) 214.33/145.99 new_abs(Neg(Zero)) 214.33/145.99 new_primMinusNatS2(Succ(x0), Zero) 214.33/145.99 new_error 214.33/145.99 new_primModNatS1(Succ(Zero), Zero) 214.33/145.99 new_primMulNat4(Succ(x0)) 214.33/145.99 new_primDivNatS02(x0, x1) 214.33/145.99 new_rem(Neg(x0), Neg(Zero)) 214.33/145.99 new_primEqInt(Neg(Zero)) 214.33/145.99 new_rem(Pos(x0), Pos(Succ(x1))) 214.33/145.99 new_abs(Pos(Succ(x0))) 214.33/145.99 new_primMulNat0(Succ(x0), Succ(x1)) 214.33/145.99 new_primMulNat0(Zero, Succ(x0)) 214.33/145.99 new_reduce2Reduce1(x0, x1, x2, x3, True, x4) 214.33/145.99 new_gcd0Gcd'10(False, x0, x1) 214.33/145.99 new_sr12(x0) 214.33/145.99 new_primDivNatS01(x0, x1, Zero, Succ(x2)) 214.33/145.99 new_sr10(Pos(x0), Pos(x1)) 214.33/145.99 new_primModNatS01(x0, x1, Zero, Succ(x2)) 214.33/145.99 new_primPlusNat0(Zero, Zero) 214.33/145.99 new_primQuotInt0(x0, Pos(Succ(x1))) 214.33/145.99 new_primModNatS01(x0, x1, Succ(x2), Zero) 214.33/145.99 new_primModNatS1(Succ(Succ(x0)), Zero) 214.33/145.99 new_sr4(x0, x1, ty_Integer) 214.33/145.99 new_rem(Pos(x0), Pos(Zero)) 214.33/145.99 new_sr4(x0, x1, ty_Int) 214.33/145.99 new_quot(Pos(x0), x1, x2) 214.33/145.99 new_primMinusNatS2(Zero, Zero) 214.33/145.99 new_esEs0(x0, ty_Int) 214.33/145.99 new_esEs(Pos(Zero)) 214.33/145.99 new_quot(Neg(x0), x1, x2) 214.33/145.99 new_primDivNatS01(x0, x1, Succ(x2), Succ(x3)) 214.33/145.99 new_quot2(x0, x1, x2) 214.33/145.99 new_primEqInt(Neg(Succ(x0))) 214.33/145.99 new_sr10(Neg(x0), Neg(x1)) 214.33/145.99 new_sr3(x0, app(ty_Ratio, x1)) 214.33/145.99 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 214.33/145.99 new_sr9(x0, x1) 214.33/145.99 new_sr7(Neg(x0)) 214.33/145.99 new_primQuotInt0(x0, Neg(Succ(x1))) 214.33/145.99 new_rem(Pos(x0), Neg(Zero)) 214.33/145.99 new_rem(Neg(x0), Pos(Zero)) 214.33/145.99 new_gcd0Gcd'00(x0, x1) 214.33/145.99 new_primQuotInt(x0, Neg(Succ(x1))) 214.33/145.99 new_primMinusNatS2(Succ(x0), Succ(x1)) 214.33/145.99 new_abs(Pos(Zero)) 214.33/145.99 new_quot0(x0, x1, x2, x3, ty_Integer) 214.33/145.99 new_sr6(x0) 214.33/145.99 new_gcd2(False, x0, x1) 214.33/145.99 new_gcd1(True, x0, x1) 214.33/145.99 new_esEs2(x0, x1, ty_Integer) 214.33/145.99 new_primMinusNatS1 214.33/145.99 new_sr7(Pos(x0)) 214.33/145.99 new_gcd0Gcd'10(True, x0, x1) 214.33/145.99 new_primModNatS1(Zero, x0) 214.33/145.99 new_sr4(x0, x1, ty_Float) 214.33/145.99 new_sr10(Pos(x0), Neg(x1)) 214.33/145.99 new_sr10(Neg(x0), Pos(x1)) 214.33/145.99 new_primDivNatS01(x0, x1, Succ(x2), Zero) 214.33/145.99 new_primDivNatS1(Succ(Succ(x0)), Succ(x1)) 214.33/145.99 new_primPlusNat0(Succ(x0), Succ(x1)) 214.33/145.99 new_primDivNatS1(Succ(Zero), Succ(x0)) 214.33/145.99 new_primQuotInt(x0, Pos(Succ(x1))) 214.33/145.99 new_abs(Neg(Succ(x0))) 214.33/145.99 new_esEs0(x0, ty_Integer) 214.33/145.99 new_sr3(x0, ty_Int) 214.33/145.99 new_esEs(Neg(Succ(x0))) 214.33/145.99 new_primModNatS01(x0, x1, Zero, Zero) 214.33/145.99 new_sr4(x0, x1, app(ty_Ratio, x2)) 214.33/145.99 new_gcd0(x0, x1) 214.33/145.99 new_primEqInt(Pos(Succ(x0))) 214.33/145.99 new_sr3(x0, ty_Double) 214.33/145.99 new_quot1(x0, x1, x2, x3, ty_Integer) 214.33/145.99 new_primDivNatS1(Succ(Succ(x0)), Zero) 214.33/145.99 new_primMulNat1(Succ(x0)) 214.33/145.99 new_sr14(x0, x1) 214.33/145.99 new_quot0(x0, x1, x2, x3, ty_Int) 214.33/145.99 new_primModNatS1(Succ(Zero), Succ(x0)) 214.33/145.99 new_reduce2Reduce1(x0, x1, x2, x3, False, x4) 214.33/145.99 new_esEs(Neg(Zero)) 214.33/145.99 new_primMulNat1(Zero) 214.33/145.99 new_new_pr2F0G10(Succ(Succ(x0))) 214.33/145.99 anew_new_pr2F0G10(Succ(Succ(x0))) 214.33/145.99 new_new_pr2F0G10(Succ(Zero)) 214.33/145.99 new_new_pr2F0G10(Zero) 214.33/145.99 214.33/145.99 We have to consider all minimal (P,Q,R)-chains. 214.33/145.99 ---------------------------------------- 214.33/145.99 214.33/145.99 (828) QReductionProof (EQUIVALENT) 214.33/145.99 We deleted the following terms from Q as each root-symbol of these terms does neither occur in P nor in R.[THIEMANN]. 214.33/145.99 214.33/145.99 anew_new_pr2F0G10(Succ(Succ(x0))) 214.33/145.99 214.33/145.99 214.33/145.99 ---------------------------------------- 214.33/145.99 214.33/145.99 (829) 214.33/145.99 Obligation: 214.33/145.99 Q DP problem: 214.33/145.99 The TRS P consists of the following rules: 214.33/145.99 214.33/145.99 new_pr2F0(vyv184, Neg(Succ(Succ(vyv223000))), vyv188, h) -> new_pr2F0G10(vyv188, vyv184, Succ(vyv223000), vyv223000, h) 214.33/145.99 new_pr2F0G10(vyv249, vyv250, vyv251, Succ(Zero), bb) -> new_pr2F0G11(vyv249, vyv250, vyv251, bb) 214.33/145.99 new_pr2F0G11(vyv239, vyv240, vyv241, bc) -> new_pr2F1(vyv240, vyv241, Pos(Succ(Zero)), vyv239, bc) 214.33/145.99 new_pr2F1(z1, z2, Pos(Succ(Zero)), z0, z3) -> new_pr2F30(False, z1, z2, Pos(Succ(Zero)), z0, z3) 214.33/145.99 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) 214.33/145.99 H(vyv249, vyv250, vyv251, bb, cons_new_pr2F0G10(Succ(Zero))) -> new_pr2F0G10(vyv249, vyv250, vyv251, Succ(Zero), bb) 214.33/145.99 H(vyv249, vyv250, vyv251, bb, cons_new_pr2F0G10(Zero)) -> new_pr2F0G10(vyv249, vyv250, vyv251, Zero, bb) 214.33/145.99 new_pr2F0G(vyv188, vyv184, Neg(Succ(Zero)), h) -> new_pr2F0G11(vyv188, vyv184, Zero, h) 214.33/145.99 new_pr2F0G(vyv188, vyv184, Neg(Succ(Succ(vyv223000))), h) -> new_pr2F0G10(vyv188, vyv184, Succ(vyv223000), vyv223000, h) 214.33/145.99 new_pr2F0(y0, Neg(Succ(Succ(Succ(Succ(x0))))), y2, y3) -> H(y2, y0, Succ(Succ(Succ(x0))), y3, new_new_pr2F0G10(x0)) 214.33/145.99 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) 214.33/145.99 new_pr2F0G10(y0, y1, Succ(Zero), Zero, y3) -> new_pr2F0G(y0, new_sr3(y1, y3), Neg(Succ(Zero)), y3) 214.33/145.99 new_pr2F0G(y0, y1, Neg(Succ(Succ(Succ(Succ(x0))))), y3) -> H(y0, y1, Succ(Succ(Succ(x0))), y3, new_new_pr2F0G10(x0)) 214.33/145.99 214.33/145.99 The TRS R consists of the following rules: 214.33/145.99 214.33/145.99 new_new_pr2F0G10(Succ(Succ(vyv25200))) -> new_new_pr2F0G10(vyv25200) 214.33/145.99 new_new_pr2F0G10(Succ(Zero)) -> cons_new_pr2F0G10(Succ(Zero)) 214.33/145.99 new_new_pr2F0G10(Zero) -> cons_new_pr2F0G10(Zero) 214.33/145.99 new_sr3(vyv250, ty_Double) -> new_sr11(vyv250) 214.33/145.99 new_sr3(vyv250, ty_Int) -> new_sr7(vyv250) 214.33/145.99 new_sr3(vyv250, ty_Float) -> new_sr12(vyv250) 214.33/145.99 new_sr3(vyv250, ty_Integer) -> new_sr6(vyv250) 214.33/145.99 new_sr3(vyv250, app(ty_Ratio, bf)) -> new_sr5(vyv250, bf) 214.33/145.99 new_sr5(:%(vyv1840, vyv1841), bd) -> new_reduce2Reduce1(vyv1840, vyv1840, vyv1841, vyv1841, new_esEs0(vyv1841, bd), bd) 214.33/145.99 new_esEs0(vyv1841, ty_Int) -> new_esEs(new_sr7(vyv1841)) 214.33/145.99 new_esEs0(vyv1841, ty_Integer) -> new_esEs1(new_sr6(vyv1841)) 214.33/145.99 new_reduce2Reduce1(vyv265, vyv266, vyv267, vyv268, False, bh) -> :%(new_quot0(vyv265, vyv266, vyv267, vyv268, bh), new_quot1(vyv267, vyv268, vyv265, vyv266, bh)) 214.33/145.99 new_reduce2Reduce1(vyv265, vyv266, vyv267, vyv268, True, bh) -> error([]) 214.33/145.99 new_quot0(vyv265, vyv266, vyv267, vyv268, ty_Integer) -> new_quot2(new_sr9(vyv265, vyv266), new_sr9(vyv265, vyv266), new_sr9(vyv267, vyv268)) 214.33/145.99 new_quot0(vyv265, vyv266, vyv267, vyv268, ty_Int) -> new_quot(new_sr10(vyv265, vyv266), new_sr10(vyv265, vyv266), new_sr10(vyv267, vyv268)) 214.33/145.99 new_quot1(vyv267, vyv268, vyv265, vyv266, ty_Int) -> new_quot(new_sr10(vyv267, vyv268), new_sr10(vyv265, vyv266), new_sr10(vyv267, vyv268)) 214.33/145.99 new_quot1(vyv267, vyv268, vyv265, vyv266, ty_Integer) -> new_quot2(new_sr9(vyv267, vyv268), new_sr9(vyv265, vyv266), new_sr9(vyv267, vyv268)) 214.33/145.99 new_sr9(vyv240, vyv239) -> error([]) 214.33/145.99 new_quot2(vyv274, vyv276, vyv275) -> error([]) 214.33/145.99 new_sr10(Pos(vyv2400), Pos(vyv2390)) -> Pos(new_primMulNat0(vyv2400, vyv2390)) 214.33/145.99 new_sr10(Neg(vyv2400), Neg(vyv2390)) -> Pos(new_primMulNat0(vyv2400, vyv2390)) 214.33/145.99 new_sr10(Pos(vyv2400), Neg(vyv2390)) -> Neg(new_primMulNat0(vyv2400, vyv2390)) 214.33/145.99 new_sr10(Neg(vyv2400), Pos(vyv2390)) -> Neg(new_primMulNat0(vyv2400, vyv2390)) 214.33/145.99 new_quot(Pos(vyv2710), vyv273, vyv272) -> new_primQuotInt(vyv2710, new_gcd(vyv273, vyv272)) 214.33/145.99 new_quot(Neg(vyv2710), vyv273, vyv272) -> new_primQuotInt0(vyv2710, new_gcd(vyv273, vyv272)) 214.33/145.99 new_gcd(vyv273, vyv272) -> new_gcd2(new_esEs(vyv273), vyv273, vyv272) 214.33/145.99 new_primQuotInt0(vyv2710, Pos(Succ(vyv28800))) -> Neg(new_primDivNatS1(vyv2710, vyv28800)) 214.33/145.99 new_primQuotInt0(vyv2710, Neg(Zero)) -> new_error 214.33/145.99 new_primQuotInt0(vyv2710, Neg(Succ(vyv28800))) -> Pos(new_primDivNatS1(vyv2710, vyv28800)) 214.33/145.99 new_primQuotInt0(vyv2710, Pos(Zero)) -> new_error 214.33/145.99 new_error -> error([]) 214.33/145.99 new_primDivNatS1(Succ(Zero), Succ(vyv285000)) -> Zero 214.33/145.99 new_primDivNatS1(Succ(Succ(vyv271000)), Succ(vyv285000)) -> new_primDivNatS01(vyv271000, vyv285000, vyv271000, vyv285000) 214.33/145.99 new_primDivNatS1(Zero, vyv28500) -> Zero 214.33/145.99 new_primDivNatS1(Succ(Succ(vyv271000)), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS0(vyv271000), Zero)) 214.33/145.99 new_primDivNatS1(Succ(Zero), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS1, Zero)) 214.33/145.99 new_primMinusNatS1 -> Zero 214.33/145.99 new_primMinusNatS0(vyv271000) -> Succ(vyv271000) 214.33/145.99 new_primDivNatS01(vyv311, vyv312, Succ(vyv3130), Zero) -> new_primDivNatS02(vyv311, vyv312) 214.33/145.99 new_primDivNatS01(vyv311, vyv312, Zero, Succ(vyv3140)) -> Zero 214.33/145.99 new_primDivNatS01(vyv311, vyv312, Succ(vyv3130), Succ(vyv3140)) -> new_primDivNatS01(vyv311, vyv312, vyv3130, vyv3140) 214.33/145.99 new_primDivNatS01(vyv311, vyv312, Zero, Zero) -> new_primDivNatS02(vyv311, vyv312) 214.33/145.99 new_primDivNatS02(vyv311, vyv312) -> Succ(new_primDivNatS1(new_primMinusNatS2(vyv311, vyv312), Succ(vyv312))) 214.33/145.99 new_primMinusNatS2(Zero, Succ(vyv3120)) -> Zero 214.33/145.99 new_primMinusNatS2(Succ(vyv3110), Zero) -> Succ(vyv3110) 214.33/145.99 new_primMinusNatS2(Zero, Zero) -> Zero 214.33/145.99 new_primMinusNatS2(Succ(vyv3110), Succ(vyv3120)) -> new_primMinusNatS2(vyv3110, vyv3120) 214.33/145.99 new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) 214.33/145.99 new_esEs(Pos(Succ(vyv24300))) -> new_primEqInt(Pos(Succ(vyv24300))) 214.33/145.99 new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) 214.33/145.99 new_esEs(Neg(Succ(vyv24300))) -> new_primEqInt(Neg(Succ(vyv24300))) 214.33/145.99 new_gcd2(True, vyv273, vyv272) -> new_gcd1(new_esEs(vyv272), vyv273, vyv272) 214.33/145.99 new_gcd2(False, vyv273, vyv272) -> new_gcd0(vyv273, vyv272) 214.33/145.99 new_gcd0(vyv273, vyv272) -> new_gcd0Gcd'11(new_esEs(new_abs(vyv272)), vyv273, vyv272) 214.33/145.99 new_abs(Neg(Zero)) -> Neg(Zero) 214.33/145.99 new_abs(Neg(Succ(vyv27200))) -> Pos(Succ(vyv27200)) 214.33/145.99 new_abs(Pos(Succ(vyv27200))) -> Pos(Succ(vyv27200)) 214.33/145.99 new_abs(Pos(Zero)) -> Pos(Zero) 214.33/145.99 new_gcd0Gcd'11(True, vyv273, vyv272) -> new_abs(vyv273) 214.33/145.99 new_gcd0Gcd'11(False, vyv273, vyv272) -> new_gcd0Gcd'00(new_abs(vyv273), new_abs(vyv272)) 214.33/145.99 new_gcd0Gcd'00(vyv293, vyv292) -> new_gcd0Gcd'10(new_esEs(new_rem(vyv293, vyv292)), vyv292, vyv293) 214.33/145.99 new_gcd0Gcd'10(False, vyv292, vyv293) -> new_gcd0Gcd'00(vyv292, new_rem(vyv293, vyv292)) 214.33/145.99 new_rem(Pos(vyv2930), Neg(Zero)) -> new_error 214.33/145.99 new_rem(Neg(vyv2930), Pos(Zero)) -> new_error 214.33/145.99 new_rem(Pos(vyv2930), Neg(Succ(vyv29200))) -> Pos(new_primModNatS1(vyv2930, vyv29200)) 214.33/145.99 new_rem(Neg(vyv2930), Pos(Succ(vyv29200))) -> Neg(new_primModNatS1(vyv2930, vyv29200)) 214.33/145.99 new_rem(Pos(vyv2930), Pos(Succ(vyv29200))) -> Pos(new_primModNatS1(vyv2930, vyv29200)) 214.33/145.99 new_rem(Neg(vyv2930), Neg(Zero)) -> new_error 214.33/145.99 new_rem(Neg(vyv2930), Neg(Succ(vyv29200))) -> Neg(new_primModNatS1(vyv2930, vyv29200)) 214.33/145.99 new_rem(Pos(vyv2930), Pos(Zero)) -> new_error 214.33/145.99 new_gcd0Gcd'10(True, vyv292, vyv293) -> vyv292 214.33/145.99 new_primModNatS1(Succ(Zero), Succ(vyv292000)) -> Succ(Zero) 214.33/145.99 new_primModNatS1(Zero, vyv29200) -> Zero 214.33/145.99 new_primModNatS1(Succ(Succ(vyv293000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv293000), Zero) 214.33/145.99 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 214.33/145.99 new_primModNatS1(Succ(Succ(vyv293000)), Succ(vyv292000)) -> new_primModNatS01(vyv293000, vyv292000, vyv293000, vyv292000) 214.33/145.99 new_primModNatS01(vyv331, vyv332, Zero, Zero) -> new_primModNatS02(vyv331, vyv332) 214.33/145.99 new_primModNatS02(vyv331, vyv332) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv331), Succ(vyv332)), Succ(vyv332)) 214.33/145.99 new_primModNatS01(vyv331, vyv332, Succ(vyv3330), Zero) -> new_primModNatS02(vyv331, vyv332) 214.33/145.99 new_primModNatS01(vyv331, vyv332, Succ(vyv3330), Succ(vyv3340)) -> new_primModNatS01(vyv331, vyv332, vyv3330, vyv3340) 214.33/145.99 new_primModNatS01(vyv331, vyv332, Zero, Succ(vyv3340)) -> Succ(Succ(vyv331)) 214.33/145.99 new_gcd1(True, vyv273, vyv272) -> new_error 214.33/145.99 new_gcd1(False, vyv273, vyv272) -> new_gcd0(vyv273, vyv272) 214.33/145.99 new_primEqInt(Neg(Succ(vyv242000))) -> False 214.33/145.99 new_primEqInt(Pos(Zero)) -> True 214.33/145.99 new_primEqInt(Pos(Succ(vyv242000))) -> False 214.33/145.99 new_primEqInt(Neg(Zero)) -> True 214.33/145.99 new_primQuotInt(vyv2710, Pos(Succ(vyv28500))) -> Pos(new_primDivNatS1(vyv2710, vyv28500)) 214.33/145.99 new_primQuotInt(vyv2710, Neg(Zero)) -> new_error 214.33/145.99 new_primQuotInt(vyv2710, Pos(Zero)) -> new_error 214.33/145.99 new_primQuotInt(vyv2710, Neg(Succ(vyv28500))) -> Neg(new_primDivNatS1(vyv2710, vyv28500)) 214.33/145.99 new_primMulNat0(Zero, Succ(vyv23900)) -> Zero 214.33/145.99 new_primMulNat0(Succ(vyv24000), Succ(vyv23900)) -> new_primPlusNat0(new_primMulNat0(vyv24000, Succ(vyv23900)), Succ(vyv23900)) 214.33/145.99 new_primMulNat0(Succ(vyv24000), Zero) -> Zero 214.33/145.99 new_primMulNat0(Zero, Zero) -> Zero 214.33/145.99 new_primPlusNat0(Succ(vyv4000), Succ(vyv6000)) -> Succ(Succ(new_primPlusNat0(vyv4000, vyv6000))) 214.33/145.99 new_primPlusNat0(Zero, Succ(vyv6000)) -> Succ(vyv6000) 214.33/145.99 new_primPlusNat0(Zero, Zero) -> Zero 214.33/145.99 new_primPlusNat0(Succ(vyv4000), Zero) -> Succ(vyv4000) 214.33/145.99 new_sr6(vyv184) -> error([]) 214.33/145.99 new_esEs1(Integer(vyv2700)) -> new_primEqInt(vyv2700) 214.33/145.99 new_sr7(Pos(vyv1840)) -> Pos(new_primMulNat1(vyv1840)) 214.33/145.99 new_sr7(Neg(vyv1840)) -> Pos(new_primMulNat1(vyv1840)) 214.33/145.99 new_primMulNat1(Succ(vyv18400)) -> new_primPlusNat0(new_primMulNat2(vyv18400), Succ(vyv18400)) 214.33/145.99 new_primMulNat1(Zero) -> Zero 214.33/145.99 new_primMulNat2(Succ(vyv184000)) -> new_primPlusNat0(new_primMulNat3(vyv184000), Succ(Succ(vyv184000))) 214.33/145.99 new_primMulNat2(Zero) -> Zero 214.33/145.99 new_primMulNat3(Succ(vyv1840000)) -> new_primPlusNat0(new_primMulNat4(vyv1840000), Succ(Succ(Succ(vyv1840000)))) 214.33/145.99 new_primMulNat3(Zero) -> Zero 214.33/145.99 new_primMulNat4(Succ(vyv18400000)) -> new_primPlusNat0(new_primMulNat0(vyv18400000, Succ(Succ(Succ(Succ(vyv18400000))))), Succ(Succ(Succ(Succ(vyv18400000))))) 214.33/145.99 new_primMulNat4(Zero) -> Zero 214.33/145.99 new_sr12(vyv184) -> error([]) 214.33/145.99 new_sr11(vyv184) -> error([]) 214.33/145.99 new_sr4(vyv240, vyv239, app(ty_Ratio, be)) -> new_sr8(vyv240, vyv239, be) 214.33/145.99 new_sr4(vyv240, vyv239, ty_Float) -> new_sr14(vyv240, vyv239) 214.33/145.99 new_sr4(vyv240, vyv239, ty_Int) -> new_sr10(vyv240, vyv239) 214.33/145.99 new_sr4(vyv240, vyv239, ty_Double) -> new_sr13(vyv240, vyv239) 214.33/145.99 new_sr4(vyv240, vyv239, ty_Integer) -> new_sr9(vyv240, vyv239) 214.33/145.99 new_sr13(vyv240, vyv239) -> error([]) 214.33/145.99 new_sr14(vyv240, vyv239) -> error([]) 214.33/145.99 new_sr8(:%(vyv2400, vyv2401), :%(vyv2390, vyv2391), be) -> new_reduce2Reduce1(vyv2400, vyv2390, vyv2401, vyv2391, new_esEs2(vyv2401, vyv2391, be), be) 214.33/145.99 new_esEs2(vyv2401, vyv2391, ty_Integer) -> new_esEs1(new_sr9(vyv2401, vyv2391)) 214.33/145.99 new_esEs2(vyv2401, vyv2391, ty_Int) -> new_esEs(new_sr10(vyv2401, vyv2391)) 214.33/145.99 214.33/145.99 The set Q consists of the following terms: 214.33/145.99 214.33/145.99 new_sr13(x0, x1) 214.33/145.99 new_primDivNatS01(x0, x1, Zero, Zero) 214.33/145.99 new_gcd0Gcd'11(False, x0, x1) 214.33/145.99 new_primMulNat4(Zero) 214.33/145.99 new_gcd0Gcd'11(True, x0, x1) 214.33/145.99 new_sr5(:%(x0, x1), x2) 214.33/145.99 new_primEqInt(Pos(Zero)) 214.33/145.99 new_esEs(Pos(Succ(x0))) 214.33/145.99 new_primQuotInt0(x0, Neg(Zero)) 214.33/145.99 new_primMulNat3(Zero) 214.33/145.99 new_primModNatS02(x0, x1) 214.33/145.99 new_primDivNatS1(Succ(Zero), Zero) 214.33/145.99 new_primMinusNatS0(x0) 214.33/145.99 new_sr11(x0) 214.33/145.99 new_rem(Pos(x0), Neg(Succ(x1))) 214.33/145.99 new_rem(Neg(x0), Pos(Succ(x1))) 214.33/145.99 new_primMulNat0(Zero, Zero) 214.33/145.99 new_primPlusNat0(Succ(x0), Zero) 214.33/145.99 new_primMulNat0(Succ(x0), Zero) 214.33/145.99 new_sr3(x0, ty_Float) 214.33/145.99 new_primMulNat2(Zero) 214.33/145.99 new_primQuotInt(x0, Pos(Zero)) 214.33/145.99 new_primMulNat2(Succ(x0)) 214.33/145.99 new_primQuotInt(x0, Neg(Zero)) 214.33/145.99 new_rem(Neg(x0), Neg(Succ(x1))) 214.33/145.99 new_primMinusNatS2(Zero, Succ(x0)) 214.33/145.99 new_sr4(x0, x1, ty_Double) 214.33/145.99 new_primMulNat3(Succ(x0)) 214.33/145.99 new_esEs1(Integer(x0)) 214.33/145.99 new_primQuotInt0(x0, Pos(Zero)) 214.33/145.99 new_gcd2(True, x0, x1) 214.33/145.99 new_quot1(x0, x1, x2, x3, ty_Int) 214.33/145.99 new_primDivNatS1(Zero, x0) 214.33/145.99 new_gcd(x0, x1) 214.33/145.99 new_gcd1(False, x0, x1) 214.33/145.99 new_esEs2(x0, x1, ty_Int) 214.33/145.99 new_sr3(x0, ty_Integer) 214.33/145.99 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 214.33/145.99 new_primPlusNat0(Zero, Succ(x0)) 214.33/145.99 new_sr8(:%(x0, x1), :%(x2, x3), x4) 214.33/145.99 new_abs(Neg(Zero)) 214.33/145.99 new_primMinusNatS2(Succ(x0), Zero) 214.33/145.99 new_error 214.33/145.99 new_primModNatS1(Succ(Zero), Zero) 214.33/145.99 new_primMulNat4(Succ(x0)) 214.33/145.99 new_primDivNatS02(x0, x1) 214.33/145.99 new_rem(Neg(x0), Neg(Zero)) 214.33/145.99 new_primEqInt(Neg(Zero)) 214.33/145.99 new_rem(Pos(x0), Pos(Succ(x1))) 214.33/145.99 new_abs(Pos(Succ(x0))) 214.33/145.99 new_primMulNat0(Succ(x0), Succ(x1)) 214.33/145.99 new_primMulNat0(Zero, Succ(x0)) 214.33/145.99 new_reduce2Reduce1(x0, x1, x2, x3, True, x4) 214.33/145.99 new_gcd0Gcd'10(False, x0, x1) 214.33/145.99 new_sr12(x0) 214.33/145.99 new_primDivNatS01(x0, x1, Zero, Succ(x2)) 214.33/145.99 new_sr10(Pos(x0), Pos(x1)) 214.33/145.99 new_primModNatS01(x0, x1, Zero, Succ(x2)) 214.33/145.99 new_primPlusNat0(Zero, Zero) 214.33/145.99 new_primQuotInt0(x0, Pos(Succ(x1))) 214.33/145.99 new_primModNatS01(x0, x1, Succ(x2), Zero) 214.33/145.99 new_primModNatS1(Succ(Succ(x0)), Zero) 214.33/145.99 new_sr4(x0, x1, ty_Integer) 214.33/145.99 new_rem(Pos(x0), Pos(Zero)) 214.33/145.99 new_sr4(x0, x1, ty_Int) 214.33/145.99 new_quot(Pos(x0), x1, x2) 214.33/145.99 new_primMinusNatS2(Zero, Zero) 214.33/145.99 new_esEs0(x0, ty_Int) 214.33/145.99 new_esEs(Pos(Zero)) 214.33/145.99 new_quot(Neg(x0), x1, x2) 214.33/145.99 new_primDivNatS01(x0, x1, Succ(x2), Succ(x3)) 214.33/145.99 new_quot2(x0, x1, x2) 214.33/145.99 new_primEqInt(Neg(Succ(x0))) 214.33/145.99 new_sr10(Neg(x0), Neg(x1)) 214.33/145.99 new_sr3(x0, app(ty_Ratio, x1)) 214.33/145.99 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 214.33/145.99 new_sr9(x0, x1) 214.33/145.99 new_sr7(Neg(x0)) 214.33/145.99 new_primQuotInt0(x0, Neg(Succ(x1))) 214.33/145.99 new_rem(Pos(x0), Neg(Zero)) 214.33/145.99 new_rem(Neg(x0), Pos(Zero)) 214.33/145.99 new_gcd0Gcd'00(x0, x1) 214.33/145.99 new_primQuotInt(x0, Neg(Succ(x1))) 214.33/145.99 new_primMinusNatS2(Succ(x0), Succ(x1)) 214.33/145.99 new_abs(Pos(Zero)) 214.33/145.99 new_quot0(x0, x1, x2, x3, ty_Integer) 214.33/145.99 new_sr6(x0) 214.33/145.99 new_gcd2(False, x0, x1) 214.33/145.99 new_gcd1(True, x0, x1) 214.33/145.99 new_esEs2(x0, x1, ty_Integer) 214.33/145.99 new_primMinusNatS1 214.33/145.99 new_sr7(Pos(x0)) 214.33/145.99 new_gcd0Gcd'10(True, x0, x1) 214.33/145.99 new_primModNatS1(Zero, x0) 214.33/145.99 new_sr4(x0, x1, ty_Float) 214.33/145.99 new_sr10(Pos(x0), Neg(x1)) 214.33/145.99 new_sr10(Neg(x0), Pos(x1)) 214.33/145.99 new_primDivNatS01(x0, x1, Succ(x2), Zero) 214.33/145.99 new_primDivNatS1(Succ(Succ(x0)), Succ(x1)) 214.33/145.99 new_primPlusNat0(Succ(x0), Succ(x1)) 214.33/145.99 new_primDivNatS1(Succ(Zero), Succ(x0)) 214.33/145.99 new_primQuotInt(x0, Pos(Succ(x1))) 214.33/145.99 new_abs(Neg(Succ(x0))) 214.33/145.99 new_esEs0(x0, ty_Integer) 214.33/145.99 new_sr3(x0, ty_Int) 214.33/145.99 new_esEs(Neg(Succ(x0))) 214.33/145.99 new_primModNatS01(x0, x1, Zero, Zero) 214.33/145.99 new_sr4(x0, x1, app(ty_Ratio, x2)) 214.33/145.99 new_gcd0(x0, x1) 214.33/145.99 new_primEqInt(Pos(Succ(x0))) 214.33/145.99 new_sr3(x0, ty_Double) 214.33/145.99 new_quot1(x0, x1, x2, x3, ty_Integer) 214.33/145.99 new_primDivNatS1(Succ(Succ(x0)), Zero) 214.33/145.99 new_primMulNat1(Succ(x0)) 214.33/145.99 new_sr14(x0, x1) 214.33/145.99 new_quot0(x0, x1, x2, x3, ty_Int) 214.33/145.99 new_primModNatS1(Succ(Zero), Succ(x0)) 214.33/145.99 new_reduce2Reduce1(x0, x1, x2, x3, False, x4) 214.33/145.99 new_esEs(Neg(Zero)) 214.33/145.99 new_primMulNat1(Zero) 214.33/145.99 new_new_pr2F0G10(Succ(Succ(x0))) 214.33/145.99 new_new_pr2F0G10(Succ(Zero)) 214.33/145.99 new_new_pr2F0G10(Zero) 214.33/145.99 214.33/145.99 We have to consider all minimal (P,Q,R)-chains. 214.33/145.99 ---------------------------------------- 214.33/145.99 214.33/145.99 (830) TransformationProof (EQUIVALENT) 214.33/145.99 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]: 214.33/145.99 214.33/145.99 (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))) 214.33/145.99 (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)))) 214.33/145.99 (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))) 214.33/145.99 214.33/145.99 214.33/145.99 ---------------------------------------- 214.33/145.99 214.33/145.99 (831) 214.33/145.99 Obligation: 214.33/145.99 Q DP problem: 214.33/145.99 The TRS P consists of the following rules: 214.33/145.99 214.33/145.99 new_pr2F0(vyv184, Neg(Succ(Succ(vyv223000))), vyv188, h) -> new_pr2F0G10(vyv188, vyv184, Succ(vyv223000), vyv223000, h) 214.33/145.99 new_pr2F0G10(vyv249, vyv250, vyv251, Succ(Zero), bb) -> new_pr2F0G11(vyv249, vyv250, vyv251, bb) 214.33/145.99 new_pr2F0G11(vyv239, vyv240, vyv241, bc) -> new_pr2F1(vyv240, vyv241, Pos(Succ(Zero)), vyv239, bc) 214.33/145.99 new_pr2F1(z1, z2, Pos(Succ(Zero)), z0, z3) -> new_pr2F30(False, z1, z2, Pos(Succ(Zero)), z0, z3) 214.33/145.99 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) 214.33/145.99 H(vyv249, vyv250, vyv251, bb, cons_new_pr2F0G10(Succ(Zero))) -> new_pr2F0G10(vyv249, vyv250, vyv251, Succ(Zero), bb) 214.33/145.99 H(vyv249, vyv250, vyv251, bb, cons_new_pr2F0G10(Zero)) -> new_pr2F0G10(vyv249, vyv250, vyv251, Zero, bb) 214.33/145.99 new_pr2F0G(vyv188, vyv184, Neg(Succ(Zero)), h) -> new_pr2F0G11(vyv188, vyv184, Zero, h) 214.33/145.99 new_pr2F0G(vyv188, vyv184, Neg(Succ(Succ(vyv223000))), h) -> new_pr2F0G10(vyv188, vyv184, Succ(vyv223000), vyv223000, h) 214.33/145.99 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) 214.33/145.99 new_pr2F0G10(y0, y1, Succ(Zero), Zero, y3) -> new_pr2F0G(y0, new_sr3(y1, y3), Neg(Succ(Zero)), y3) 214.33/145.99 new_pr2F0G(y0, y1, Neg(Succ(Succ(Succ(Succ(x0))))), y3) -> H(y0, y1, Succ(Succ(Succ(x0))), y3, new_new_pr2F0G10(x0)) 214.33/145.99 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)) 214.33/145.99 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))) 214.33/145.99 new_pr2F0(y0, Neg(Succ(Succ(Succ(Succ(Zero))))), y2, y3) -> H(y2, y0, Succ(Succ(Succ(Zero))), y3, cons_new_pr2F0G10(Zero)) 214.33/145.99 214.33/145.99 The TRS R consists of the following rules: 214.33/145.99 214.33/145.99 new_new_pr2F0G10(Succ(Succ(vyv25200))) -> new_new_pr2F0G10(vyv25200) 214.33/145.99 new_new_pr2F0G10(Succ(Zero)) -> cons_new_pr2F0G10(Succ(Zero)) 214.33/145.99 new_new_pr2F0G10(Zero) -> cons_new_pr2F0G10(Zero) 214.33/145.99 new_sr3(vyv250, ty_Double) -> new_sr11(vyv250) 214.33/145.99 new_sr3(vyv250, ty_Int) -> new_sr7(vyv250) 214.33/145.99 new_sr3(vyv250, ty_Float) -> new_sr12(vyv250) 214.33/145.99 new_sr3(vyv250, ty_Integer) -> new_sr6(vyv250) 214.33/145.99 new_sr3(vyv250, app(ty_Ratio, bf)) -> new_sr5(vyv250, bf) 214.33/146.00 new_sr5(:%(vyv1840, vyv1841), bd) -> new_reduce2Reduce1(vyv1840, vyv1840, vyv1841, vyv1841, new_esEs0(vyv1841, bd), bd) 214.33/146.00 new_esEs0(vyv1841, ty_Int) -> new_esEs(new_sr7(vyv1841)) 214.33/146.00 new_esEs0(vyv1841, ty_Integer) -> new_esEs1(new_sr6(vyv1841)) 214.33/146.00 new_reduce2Reduce1(vyv265, vyv266, vyv267, vyv268, False, bh) -> :%(new_quot0(vyv265, vyv266, vyv267, vyv268, bh), new_quot1(vyv267, vyv268, vyv265, vyv266, bh)) 214.33/146.00 new_reduce2Reduce1(vyv265, vyv266, vyv267, vyv268, True, bh) -> error([]) 214.33/146.00 new_quot0(vyv265, vyv266, vyv267, vyv268, ty_Integer) -> new_quot2(new_sr9(vyv265, vyv266), new_sr9(vyv265, vyv266), new_sr9(vyv267, vyv268)) 214.33/146.00 new_quot0(vyv265, vyv266, vyv267, vyv268, ty_Int) -> new_quot(new_sr10(vyv265, vyv266), new_sr10(vyv265, vyv266), new_sr10(vyv267, vyv268)) 214.33/146.00 new_quot1(vyv267, vyv268, vyv265, vyv266, ty_Int) -> new_quot(new_sr10(vyv267, vyv268), new_sr10(vyv265, vyv266), new_sr10(vyv267, vyv268)) 214.33/146.00 new_quot1(vyv267, vyv268, vyv265, vyv266, ty_Integer) -> new_quot2(new_sr9(vyv267, vyv268), new_sr9(vyv265, vyv266), new_sr9(vyv267, vyv268)) 214.33/146.00 new_sr9(vyv240, vyv239) -> error([]) 214.33/146.00 new_quot2(vyv274, vyv276, vyv275) -> error([]) 214.33/146.00 new_sr10(Pos(vyv2400), Pos(vyv2390)) -> Pos(new_primMulNat0(vyv2400, vyv2390)) 214.33/146.00 new_sr10(Neg(vyv2400), Neg(vyv2390)) -> Pos(new_primMulNat0(vyv2400, vyv2390)) 214.33/146.00 new_sr10(Pos(vyv2400), Neg(vyv2390)) -> Neg(new_primMulNat0(vyv2400, vyv2390)) 214.33/146.00 new_sr10(Neg(vyv2400), Pos(vyv2390)) -> Neg(new_primMulNat0(vyv2400, vyv2390)) 214.33/146.00 new_quot(Pos(vyv2710), vyv273, vyv272) -> new_primQuotInt(vyv2710, new_gcd(vyv273, vyv272)) 214.33/146.00 new_quot(Neg(vyv2710), vyv273, vyv272) -> new_primQuotInt0(vyv2710, new_gcd(vyv273, vyv272)) 214.33/146.00 new_gcd(vyv273, vyv272) -> new_gcd2(new_esEs(vyv273), vyv273, vyv272) 214.33/146.00 new_primQuotInt0(vyv2710, Pos(Succ(vyv28800))) -> Neg(new_primDivNatS1(vyv2710, vyv28800)) 214.33/146.00 new_primQuotInt0(vyv2710, Neg(Zero)) -> new_error 214.33/146.00 new_primQuotInt0(vyv2710, Neg(Succ(vyv28800))) -> Pos(new_primDivNatS1(vyv2710, vyv28800)) 214.33/146.00 new_primQuotInt0(vyv2710, Pos(Zero)) -> new_error 214.33/146.00 new_error -> error([]) 214.33/146.00 new_primDivNatS1(Succ(Zero), Succ(vyv285000)) -> Zero 214.33/146.00 new_primDivNatS1(Succ(Succ(vyv271000)), Succ(vyv285000)) -> new_primDivNatS01(vyv271000, vyv285000, vyv271000, vyv285000) 214.33/146.00 new_primDivNatS1(Zero, vyv28500) -> Zero 214.33/146.00 new_primDivNatS1(Succ(Succ(vyv271000)), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS0(vyv271000), Zero)) 214.33/146.00 new_primDivNatS1(Succ(Zero), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS1, Zero)) 214.33/146.00 new_primMinusNatS1 -> Zero 214.33/146.00 new_primMinusNatS0(vyv271000) -> Succ(vyv271000) 214.33/146.00 new_primDivNatS01(vyv311, vyv312, Succ(vyv3130), Zero) -> new_primDivNatS02(vyv311, vyv312) 214.33/146.00 new_primDivNatS01(vyv311, vyv312, Zero, Succ(vyv3140)) -> Zero 214.33/146.00 new_primDivNatS01(vyv311, vyv312, Succ(vyv3130), Succ(vyv3140)) -> new_primDivNatS01(vyv311, vyv312, vyv3130, vyv3140) 214.33/146.00 new_primDivNatS01(vyv311, vyv312, Zero, Zero) -> new_primDivNatS02(vyv311, vyv312) 214.33/146.00 new_primDivNatS02(vyv311, vyv312) -> Succ(new_primDivNatS1(new_primMinusNatS2(vyv311, vyv312), Succ(vyv312))) 214.33/146.00 new_primMinusNatS2(Zero, Succ(vyv3120)) -> Zero 214.33/146.00 new_primMinusNatS2(Succ(vyv3110), Zero) -> Succ(vyv3110) 214.33/146.00 new_primMinusNatS2(Zero, Zero) -> Zero 214.33/146.00 new_primMinusNatS2(Succ(vyv3110), Succ(vyv3120)) -> new_primMinusNatS2(vyv3110, vyv3120) 214.33/146.00 new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) 214.33/146.00 new_esEs(Pos(Succ(vyv24300))) -> new_primEqInt(Pos(Succ(vyv24300))) 214.33/146.00 new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) 214.33/146.00 new_esEs(Neg(Succ(vyv24300))) -> new_primEqInt(Neg(Succ(vyv24300))) 214.33/146.00 new_gcd2(True, vyv273, vyv272) -> new_gcd1(new_esEs(vyv272), vyv273, vyv272) 214.33/146.00 new_gcd2(False, vyv273, vyv272) -> new_gcd0(vyv273, vyv272) 214.33/146.00 new_gcd0(vyv273, vyv272) -> new_gcd0Gcd'11(new_esEs(new_abs(vyv272)), vyv273, vyv272) 214.33/146.00 new_abs(Neg(Zero)) -> Neg(Zero) 214.33/146.00 new_abs(Neg(Succ(vyv27200))) -> Pos(Succ(vyv27200)) 214.33/146.00 new_abs(Pos(Succ(vyv27200))) -> Pos(Succ(vyv27200)) 214.33/146.00 new_abs(Pos(Zero)) -> Pos(Zero) 214.33/146.00 new_gcd0Gcd'11(True, vyv273, vyv272) -> new_abs(vyv273) 214.33/146.00 new_gcd0Gcd'11(False, vyv273, vyv272) -> new_gcd0Gcd'00(new_abs(vyv273), new_abs(vyv272)) 214.33/146.00 new_gcd0Gcd'00(vyv293, vyv292) -> new_gcd0Gcd'10(new_esEs(new_rem(vyv293, vyv292)), vyv292, vyv293) 214.33/146.00 new_gcd0Gcd'10(False, vyv292, vyv293) -> new_gcd0Gcd'00(vyv292, new_rem(vyv293, vyv292)) 214.33/146.00 new_rem(Pos(vyv2930), Neg(Zero)) -> new_error 214.33/146.00 new_rem(Neg(vyv2930), Pos(Zero)) -> new_error 214.33/146.00 new_rem(Pos(vyv2930), Neg(Succ(vyv29200))) -> Pos(new_primModNatS1(vyv2930, vyv29200)) 214.33/146.00 new_rem(Neg(vyv2930), Pos(Succ(vyv29200))) -> Neg(new_primModNatS1(vyv2930, vyv29200)) 214.33/146.00 new_rem(Pos(vyv2930), Pos(Succ(vyv29200))) -> Pos(new_primModNatS1(vyv2930, vyv29200)) 214.33/146.00 new_rem(Neg(vyv2930), Neg(Zero)) -> new_error 214.33/146.00 new_rem(Neg(vyv2930), Neg(Succ(vyv29200))) -> Neg(new_primModNatS1(vyv2930, vyv29200)) 214.33/146.00 new_rem(Pos(vyv2930), Pos(Zero)) -> new_error 214.33/146.00 new_gcd0Gcd'10(True, vyv292, vyv293) -> vyv292 214.33/146.00 new_primModNatS1(Succ(Zero), Succ(vyv292000)) -> Succ(Zero) 214.33/146.00 new_primModNatS1(Zero, vyv29200) -> Zero 214.33/146.00 new_primModNatS1(Succ(Succ(vyv293000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv293000), Zero) 214.33/146.00 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 214.33/146.00 new_primModNatS1(Succ(Succ(vyv293000)), Succ(vyv292000)) -> new_primModNatS01(vyv293000, vyv292000, vyv293000, vyv292000) 214.33/146.00 new_primModNatS01(vyv331, vyv332, Zero, Zero) -> new_primModNatS02(vyv331, vyv332) 214.33/146.00 new_primModNatS02(vyv331, vyv332) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv331), Succ(vyv332)), Succ(vyv332)) 214.33/146.00 new_primModNatS01(vyv331, vyv332, Succ(vyv3330), Zero) -> new_primModNatS02(vyv331, vyv332) 214.33/146.00 new_primModNatS01(vyv331, vyv332, Succ(vyv3330), Succ(vyv3340)) -> new_primModNatS01(vyv331, vyv332, vyv3330, vyv3340) 214.33/146.00 new_primModNatS01(vyv331, vyv332, Zero, Succ(vyv3340)) -> Succ(Succ(vyv331)) 214.33/146.00 new_gcd1(True, vyv273, vyv272) -> new_error 214.33/146.00 new_gcd1(False, vyv273, vyv272) -> new_gcd0(vyv273, vyv272) 214.33/146.00 new_primEqInt(Neg(Succ(vyv242000))) -> False 214.33/146.00 new_primEqInt(Pos(Zero)) -> True 214.33/146.00 new_primEqInt(Pos(Succ(vyv242000))) -> False 214.33/146.00 new_primEqInt(Neg(Zero)) -> True 214.33/146.00 new_primQuotInt(vyv2710, Pos(Succ(vyv28500))) -> Pos(new_primDivNatS1(vyv2710, vyv28500)) 214.33/146.00 new_primQuotInt(vyv2710, Neg(Zero)) -> new_error 214.33/146.00 new_primQuotInt(vyv2710, Pos(Zero)) -> new_error 214.33/146.00 new_primQuotInt(vyv2710, Neg(Succ(vyv28500))) -> Neg(new_primDivNatS1(vyv2710, vyv28500)) 214.33/146.00 new_primMulNat0(Zero, Succ(vyv23900)) -> Zero 214.33/146.00 new_primMulNat0(Succ(vyv24000), Succ(vyv23900)) -> new_primPlusNat0(new_primMulNat0(vyv24000, Succ(vyv23900)), Succ(vyv23900)) 214.33/146.00 new_primMulNat0(Succ(vyv24000), Zero) -> Zero 214.33/146.00 new_primMulNat0(Zero, Zero) -> Zero 214.33/146.00 new_primPlusNat0(Succ(vyv4000), Succ(vyv6000)) -> Succ(Succ(new_primPlusNat0(vyv4000, vyv6000))) 214.33/146.00 new_primPlusNat0(Zero, Succ(vyv6000)) -> Succ(vyv6000) 214.33/146.00 new_primPlusNat0(Zero, Zero) -> Zero 214.33/146.00 new_primPlusNat0(Succ(vyv4000), Zero) -> Succ(vyv4000) 214.33/146.00 new_sr6(vyv184) -> error([]) 214.33/146.00 new_esEs1(Integer(vyv2700)) -> new_primEqInt(vyv2700) 214.33/146.00 new_sr7(Pos(vyv1840)) -> Pos(new_primMulNat1(vyv1840)) 214.33/146.00 new_sr7(Neg(vyv1840)) -> Pos(new_primMulNat1(vyv1840)) 214.33/146.00 new_primMulNat1(Succ(vyv18400)) -> new_primPlusNat0(new_primMulNat2(vyv18400), Succ(vyv18400)) 214.33/146.00 new_primMulNat1(Zero) -> Zero 214.33/146.00 new_primMulNat2(Succ(vyv184000)) -> new_primPlusNat0(new_primMulNat3(vyv184000), Succ(Succ(vyv184000))) 214.33/146.00 new_primMulNat2(Zero) -> Zero 214.33/146.00 new_primMulNat3(Succ(vyv1840000)) -> new_primPlusNat0(new_primMulNat4(vyv1840000), Succ(Succ(Succ(vyv1840000)))) 214.33/146.00 new_primMulNat3(Zero) -> Zero 214.33/146.00 new_primMulNat4(Succ(vyv18400000)) -> new_primPlusNat0(new_primMulNat0(vyv18400000, Succ(Succ(Succ(Succ(vyv18400000))))), Succ(Succ(Succ(Succ(vyv18400000))))) 214.33/146.00 new_primMulNat4(Zero) -> Zero 214.33/146.00 new_sr12(vyv184) -> error([]) 214.33/146.00 new_sr11(vyv184) -> error([]) 214.33/146.00 new_sr4(vyv240, vyv239, app(ty_Ratio, be)) -> new_sr8(vyv240, vyv239, be) 214.33/146.00 new_sr4(vyv240, vyv239, ty_Float) -> new_sr14(vyv240, vyv239) 214.33/146.00 new_sr4(vyv240, vyv239, ty_Int) -> new_sr10(vyv240, vyv239) 214.33/146.00 new_sr4(vyv240, vyv239, ty_Double) -> new_sr13(vyv240, vyv239) 214.33/146.00 new_sr4(vyv240, vyv239, ty_Integer) -> new_sr9(vyv240, vyv239) 214.33/146.00 new_sr13(vyv240, vyv239) -> error([]) 214.33/146.00 new_sr14(vyv240, vyv239) -> error([]) 214.33/146.00 new_sr8(:%(vyv2400, vyv2401), :%(vyv2390, vyv2391), be) -> new_reduce2Reduce1(vyv2400, vyv2390, vyv2401, vyv2391, new_esEs2(vyv2401, vyv2391, be), be) 214.33/146.00 new_esEs2(vyv2401, vyv2391, ty_Integer) -> new_esEs1(new_sr9(vyv2401, vyv2391)) 214.33/146.00 new_esEs2(vyv2401, vyv2391, ty_Int) -> new_esEs(new_sr10(vyv2401, vyv2391)) 214.33/146.00 214.33/146.00 The set Q consists of the following terms: 214.33/146.00 214.33/146.00 new_sr13(x0, x1) 214.33/146.00 new_primDivNatS01(x0, x1, Zero, Zero) 214.33/146.00 new_gcd0Gcd'11(False, x0, x1) 214.33/146.00 new_primMulNat4(Zero) 214.33/146.00 new_gcd0Gcd'11(True, x0, x1) 214.33/146.00 new_sr5(:%(x0, x1), x2) 214.33/146.00 new_primEqInt(Pos(Zero)) 214.33/146.00 new_esEs(Pos(Succ(x0))) 214.33/146.00 new_primQuotInt0(x0, Neg(Zero)) 214.33/146.00 new_primMulNat3(Zero) 214.33/146.00 new_primModNatS02(x0, x1) 214.33/146.00 new_primDivNatS1(Succ(Zero), Zero) 214.33/146.00 new_primMinusNatS0(x0) 214.33/146.00 new_sr11(x0) 214.33/146.00 new_rem(Pos(x0), Neg(Succ(x1))) 214.33/146.00 new_rem(Neg(x0), Pos(Succ(x1))) 214.33/146.00 new_primMulNat0(Zero, Zero) 214.33/146.00 new_primPlusNat0(Succ(x0), Zero) 214.33/146.00 new_primMulNat0(Succ(x0), Zero) 214.33/146.00 new_sr3(x0, ty_Float) 214.33/146.00 new_primMulNat2(Zero) 214.33/146.00 new_primQuotInt(x0, Pos(Zero)) 214.33/146.00 new_primMulNat2(Succ(x0)) 214.33/146.00 new_primQuotInt(x0, Neg(Zero)) 214.33/146.00 new_rem(Neg(x0), Neg(Succ(x1))) 214.33/146.00 new_primMinusNatS2(Zero, Succ(x0)) 214.33/146.00 new_sr4(x0, x1, ty_Double) 214.33/146.00 new_primMulNat3(Succ(x0)) 214.33/146.00 new_esEs1(Integer(x0)) 214.33/146.00 new_primQuotInt0(x0, Pos(Zero)) 214.33/146.00 new_gcd2(True, x0, x1) 214.33/146.00 new_quot1(x0, x1, x2, x3, ty_Int) 214.33/146.00 new_primDivNatS1(Zero, x0) 214.33/146.00 new_gcd(x0, x1) 214.33/146.00 new_gcd1(False, x0, x1) 214.33/146.00 new_esEs2(x0, x1, ty_Int) 214.33/146.00 new_sr3(x0, ty_Integer) 214.33/146.00 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 214.33/146.00 new_primPlusNat0(Zero, Succ(x0)) 214.33/146.00 new_sr8(:%(x0, x1), :%(x2, x3), x4) 214.33/146.00 new_abs(Neg(Zero)) 214.33/146.00 new_primMinusNatS2(Succ(x0), Zero) 214.33/146.00 new_error 214.33/146.00 new_primModNatS1(Succ(Zero), Zero) 214.33/146.00 new_primMulNat4(Succ(x0)) 214.33/146.00 new_primDivNatS02(x0, x1) 214.33/146.00 new_rem(Neg(x0), Neg(Zero)) 214.33/146.00 new_primEqInt(Neg(Zero)) 214.33/146.00 new_rem(Pos(x0), Pos(Succ(x1))) 214.33/146.00 new_abs(Pos(Succ(x0))) 214.33/146.00 new_primMulNat0(Succ(x0), Succ(x1)) 214.33/146.00 new_primMulNat0(Zero, Succ(x0)) 214.33/146.00 new_reduce2Reduce1(x0, x1, x2, x3, True, x4) 214.33/146.00 new_gcd0Gcd'10(False, x0, x1) 214.33/146.00 new_sr12(x0) 214.33/146.00 new_primDivNatS01(x0, x1, Zero, Succ(x2)) 214.33/146.00 new_sr10(Pos(x0), Pos(x1)) 214.33/146.00 new_primModNatS01(x0, x1, Zero, Succ(x2)) 214.33/146.00 new_primPlusNat0(Zero, Zero) 214.33/146.00 new_primQuotInt0(x0, Pos(Succ(x1))) 214.33/146.00 new_primModNatS01(x0, x1, Succ(x2), Zero) 214.33/146.00 new_primModNatS1(Succ(Succ(x0)), Zero) 214.33/146.00 new_sr4(x0, x1, ty_Integer) 214.33/146.00 new_rem(Pos(x0), Pos(Zero)) 214.33/146.00 new_sr4(x0, x1, ty_Int) 214.33/146.00 new_quot(Pos(x0), x1, x2) 214.33/146.00 new_primMinusNatS2(Zero, Zero) 214.33/146.00 new_esEs0(x0, ty_Int) 214.33/146.00 new_esEs(Pos(Zero)) 214.33/146.00 new_quot(Neg(x0), x1, x2) 214.33/146.00 new_primDivNatS01(x0, x1, Succ(x2), Succ(x3)) 214.33/146.00 new_quot2(x0, x1, x2) 214.33/146.00 new_primEqInt(Neg(Succ(x0))) 214.33/146.00 new_sr10(Neg(x0), Neg(x1)) 214.33/146.00 new_sr3(x0, app(ty_Ratio, x1)) 214.33/146.00 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 214.33/146.00 new_sr9(x0, x1) 214.33/146.00 new_sr7(Neg(x0)) 214.33/146.00 new_primQuotInt0(x0, Neg(Succ(x1))) 214.33/146.00 new_rem(Pos(x0), Neg(Zero)) 214.33/146.00 new_rem(Neg(x0), Pos(Zero)) 214.33/146.00 new_gcd0Gcd'00(x0, x1) 214.33/146.00 new_primQuotInt(x0, Neg(Succ(x1))) 214.33/146.00 new_primMinusNatS2(Succ(x0), Succ(x1)) 214.33/146.00 new_abs(Pos(Zero)) 214.33/146.00 new_quot0(x0, x1, x2, x3, ty_Integer) 214.33/146.00 new_sr6(x0) 214.33/146.00 new_gcd2(False, x0, x1) 214.33/146.00 new_gcd1(True, x0, x1) 214.33/146.00 new_esEs2(x0, x1, ty_Integer) 214.33/146.00 new_primMinusNatS1 214.33/146.00 new_sr7(Pos(x0)) 214.33/146.00 new_gcd0Gcd'10(True, x0, x1) 214.33/146.00 new_primModNatS1(Zero, x0) 214.33/146.00 new_sr4(x0, x1, ty_Float) 214.33/146.00 new_sr10(Pos(x0), Neg(x1)) 214.33/146.00 new_sr10(Neg(x0), Pos(x1)) 214.33/146.00 new_primDivNatS01(x0, x1, Succ(x2), Zero) 214.33/146.00 new_primDivNatS1(Succ(Succ(x0)), Succ(x1)) 214.33/146.00 new_primPlusNat0(Succ(x0), Succ(x1)) 214.33/146.00 new_primDivNatS1(Succ(Zero), Succ(x0)) 214.33/146.00 new_primQuotInt(x0, Pos(Succ(x1))) 214.33/146.00 new_abs(Neg(Succ(x0))) 214.33/146.00 new_esEs0(x0, ty_Integer) 214.33/146.00 new_sr3(x0, ty_Int) 214.33/146.00 new_esEs(Neg(Succ(x0))) 214.33/146.00 new_primModNatS01(x0, x1, Zero, Zero) 214.33/146.00 new_sr4(x0, x1, app(ty_Ratio, x2)) 214.33/146.00 new_gcd0(x0, x1) 214.33/146.00 new_primEqInt(Pos(Succ(x0))) 214.33/146.00 new_sr3(x0, ty_Double) 214.33/146.00 new_quot1(x0, x1, x2, x3, ty_Integer) 214.33/146.00 new_primDivNatS1(Succ(Succ(x0)), Zero) 214.33/146.00 new_primMulNat1(Succ(x0)) 214.33/146.00 new_sr14(x0, x1) 214.33/146.00 new_quot0(x0, x1, x2, x3, ty_Int) 214.33/146.00 new_primModNatS1(Succ(Zero), Succ(x0)) 214.33/146.00 new_reduce2Reduce1(x0, x1, x2, x3, False, x4) 214.33/146.00 new_esEs(Neg(Zero)) 214.33/146.00 new_primMulNat1(Zero) 214.33/146.00 new_new_pr2F0G10(Succ(Succ(x0))) 214.33/146.00 new_new_pr2F0G10(Succ(Zero)) 214.33/146.00 new_new_pr2F0G10(Zero) 214.33/146.00 214.33/146.00 We have to consider all minimal (P,Q,R)-chains. 214.33/146.00 ---------------------------------------- 214.33/146.00 214.33/146.00 (832) TransformationProof (EQUIVALENT) 214.33/146.00 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]: 214.33/146.00 214.33/146.00 (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)) 214.33/146.00 (new_pr2F0G10(y0, y1, Succ(Succ(Succ(x0))), Zero, y3) -> new_pr2F0G(y0, new_sr3(y1, y3), Neg(Succ(new_primDivNatS01(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_primDivNatS01(x0, Zero, x0, Zero))), y3)) 214.33/146.00 214.33/146.00 214.33/146.00 ---------------------------------------- 214.33/146.00 214.33/146.00 (833) 214.33/146.00 Obligation: 214.33/146.00 Q DP problem: 214.33/146.00 The TRS P consists of the following rules: 214.33/146.00 214.33/146.00 new_pr2F0(vyv184, Neg(Succ(Succ(vyv223000))), vyv188, h) -> new_pr2F0G10(vyv188, vyv184, Succ(vyv223000), vyv223000, h) 214.33/146.00 new_pr2F0G10(vyv249, vyv250, vyv251, Succ(Zero), bb) -> new_pr2F0G11(vyv249, vyv250, vyv251, bb) 214.33/146.00 new_pr2F0G11(vyv239, vyv240, vyv241, bc) -> new_pr2F1(vyv240, vyv241, Pos(Succ(Zero)), vyv239, bc) 214.33/146.00 new_pr2F1(z1, z2, Pos(Succ(Zero)), z0, z3) -> new_pr2F30(False, z1, z2, Pos(Succ(Zero)), z0, z3) 214.33/146.00 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) 214.33/146.00 H(vyv249, vyv250, vyv251, bb, cons_new_pr2F0G10(Succ(Zero))) -> new_pr2F0G10(vyv249, vyv250, vyv251, Succ(Zero), bb) 214.33/146.00 H(vyv249, vyv250, vyv251, bb, cons_new_pr2F0G10(Zero)) -> new_pr2F0G10(vyv249, vyv250, vyv251, Zero, bb) 214.33/146.00 new_pr2F0G(vyv188, vyv184, Neg(Succ(Zero)), h) -> new_pr2F0G11(vyv188, vyv184, Zero, h) 214.33/146.00 new_pr2F0G(vyv188, vyv184, Neg(Succ(Succ(vyv223000))), h) -> new_pr2F0G10(vyv188, vyv184, Succ(vyv223000), vyv223000, h) 214.33/146.00 new_pr2F0G10(y0, y1, Succ(Zero), Zero, y3) -> new_pr2F0G(y0, new_sr3(y1, y3), Neg(Succ(Zero)), y3) 214.33/146.00 new_pr2F0G(y0, y1, Neg(Succ(Succ(Succ(Succ(x0))))), y3) -> H(y0, y1, Succ(Succ(Succ(x0))), y3, new_new_pr2F0G10(x0)) 214.33/146.00 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)) 214.33/146.00 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))) 214.33/146.00 new_pr2F0(y0, Neg(Succ(Succ(Succ(Succ(Zero))))), y2, y3) -> H(y2, y0, Succ(Succ(Succ(Zero))), y3, cons_new_pr2F0G10(Zero)) 214.33/146.00 new_pr2F0G10(y0, y1, Succ(Succ(Zero)), Zero, y3) -> new_pr2F0G(y0, new_sr3(y1, y3), Neg(Succ(Zero)), y3) 214.33/146.00 new_pr2F0G10(y0, y1, Succ(Succ(Succ(x0))), Zero, y3) -> new_pr2F0G(y0, new_sr3(y1, y3), Neg(Succ(new_primDivNatS01(x0, Zero, x0, Zero))), y3) 214.33/146.00 214.33/146.00 The TRS R consists of the following rules: 214.33/146.00 214.33/146.00 new_new_pr2F0G10(Succ(Succ(vyv25200))) -> new_new_pr2F0G10(vyv25200) 214.33/146.00 new_new_pr2F0G10(Succ(Zero)) -> cons_new_pr2F0G10(Succ(Zero)) 214.33/146.00 new_new_pr2F0G10(Zero) -> cons_new_pr2F0G10(Zero) 214.33/146.00 new_sr3(vyv250, ty_Double) -> new_sr11(vyv250) 214.33/146.00 new_sr3(vyv250, ty_Int) -> new_sr7(vyv250) 214.33/146.00 new_sr3(vyv250, ty_Float) -> new_sr12(vyv250) 214.33/146.00 new_sr3(vyv250, ty_Integer) -> new_sr6(vyv250) 214.33/146.00 new_sr3(vyv250, app(ty_Ratio, bf)) -> new_sr5(vyv250, bf) 214.33/146.00 new_sr5(:%(vyv1840, vyv1841), bd) -> new_reduce2Reduce1(vyv1840, vyv1840, vyv1841, vyv1841, new_esEs0(vyv1841, bd), bd) 214.33/146.00 new_esEs0(vyv1841, ty_Int) -> new_esEs(new_sr7(vyv1841)) 214.33/146.00 new_esEs0(vyv1841, ty_Integer) -> new_esEs1(new_sr6(vyv1841)) 214.33/146.00 new_reduce2Reduce1(vyv265, vyv266, vyv267, vyv268, False, bh) -> :%(new_quot0(vyv265, vyv266, vyv267, vyv268, bh), new_quot1(vyv267, vyv268, vyv265, vyv266, bh)) 214.33/146.00 new_reduce2Reduce1(vyv265, vyv266, vyv267, vyv268, True, bh) -> error([]) 214.33/146.00 new_quot0(vyv265, vyv266, vyv267, vyv268, ty_Integer) -> new_quot2(new_sr9(vyv265, vyv266), new_sr9(vyv265, vyv266), new_sr9(vyv267, vyv268)) 214.33/146.00 new_quot0(vyv265, vyv266, vyv267, vyv268, ty_Int) -> new_quot(new_sr10(vyv265, vyv266), new_sr10(vyv265, vyv266), new_sr10(vyv267, vyv268)) 214.33/146.00 new_quot1(vyv267, vyv268, vyv265, vyv266, ty_Int) -> new_quot(new_sr10(vyv267, vyv268), new_sr10(vyv265, vyv266), new_sr10(vyv267, vyv268)) 214.33/146.00 new_quot1(vyv267, vyv268, vyv265, vyv266, ty_Integer) -> new_quot2(new_sr9(vyv267, vyv268), new_sr9(vyv265, vyv266), new_sr9(vyv267, vyv268)) 214.33/146.00 new_sr9(vyv240, vyv239) -> error([]) 214.33/146.00 new_quot2(vyv274, vyv276, vyv275) -> error([]) 214.33/146.00 new_sr10(Pos(vyv2400), Pos(vyv2390)) -> Pos(new_primMulNat0(vyv2400, vyv2390)) 214.33/146.00 new_sr10(Neg(vyv2400), Neg(vyv2390)) -> Pos(new_primMulNat0(vyv2400, vyv2390)) 214.33/146.00 new_sr10(Pos(vyv2400), Neg(vyv2390)) -> Neg(new_primMulNat0(vyv2400, vyv2390)) 214.33/146.00 new_sr10(Neg(vyv2400), Pos(vyv2390)) -> Neg(new_primMulNat0(vyv2400, vyv2390)) 214.33/146.00 new_quot(Pos(vyv2710), vyv273, vyv272) -> new_primQuotInt(vyv2710, new_gcd(vyv273, vyv272)) 214.33/146.00 new_quot(Neg(vyv2710), vyv273, vyv272) -> new_primQuotInt0(vyv2710, new_gcd(vyv273, vyv272)) 214.33/146.00 new_gcd(vyv273, vyv272) -> new_gcd2(new_esEs(vyv273), vyv273, vyv272) 214.33/146.00 new_primQuotInt0(vyv2710, Pos(Succ(vyv28800))) -> Neg(new_primDivNatS1(vyv2710, vyv28800)) 214.33/146.00 new_primQuotInt0(vyv2710, Neg(Zero)) -> new_error 214.33/146.00 new_primQuotInt0(vyv2710, Neg(Succ(vyv28800))) -> Pos(new_primDivNatS1(vyv2710, vyv28800)) 214.33/146.00 new_primQuotInt0(vyv2710, Pos(Zero)) -> new_error 214.33/146.00 new_error -> error([]) 214.33/146.00 new_primDivNatS1(Succ(Zero), Succ(vyv285000)) -> Zero 214.33/146.00 new_primDivNatS1(Succ(Succ(vyv271000)), Succ(vyv285000)) -> new_primDivNatS01(vyv271000, vyv285000, vyv271000, vyv285000) 214.33/146.00 new_primDivNatS1(Zero, vyv28500) -> Zero 214.33/146.00 new_primDivNatS1(Succ(Succ(vyv271000)), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS0(vyv271000), Zero)) 214.33/146.00 new_primDivNatS1(Succ(Zero), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS1, Zero)) 214.33/146.00 new_primMinusNatS1 -> Zero 214.33/146.00 new_primMinusNatS0(vyv271000) -> Succ(vyv271000) 214.33/146.00 new_primDivNatS01(vyv311, vyv312, Succ(vyv3130), Zero) -> new_primDivNatS02(vyv311, vyv312) 214.33/146.00 new_primDivNatS01(vyv311, vyv312, Zero, Succ(vyv3140)) -> Zero 214.33/146.00 new_primDivNatS01(vyv311, vyv312, Succ(vyv3130), Succ(vyv3140)) -> new_primDivNatS01(vyv311, vyv312, vyv3130, vyv3140) 214.33/146.00 new_primDivNatS01(vyv311, vyv312, Zero, Zero) -> new_primDivNatS02(vyv311, vyv312) 214.33/146.00 new_primDivNatS02(vyv311, vyv312) -> Succ(new_primDivNatS1(new_primMinusNatS2(vyv311, vyv312), Succ(vyv312))) 214.33/146.00 new_primMinusNatS2(Zero, Succ(vyv3120)) -> Zero 214.33/146.00 new_primMinusNatS2(Succ(vyv3110), Zero) -> Succ(vyv3110) 214.33/146.00 new_primMinusNatS2(Zero, Zero) -> Zero 214.33/146.00 new_primMinusNatS2(Succ(vyv3110), Succ(vyv3120)) -> new_primMinusNatS2(vyv3110, vyv3120) 214.33/146.00 new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) 214.33/146.00 new_esEs(Pos(Succ(vyv24300))) -> new_primEqInt(Pos(Succ(vyv24300))) 214.33/146.00 new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) 214.33/146.00 new_esEs(Neg(Succ(vyv24300))) -> new_primEqInt(Neg(Succ(vyv24300))) 214.33/146.00 new_gcd2(True, vyv273, vyv272) -> new_gcd1(new_esEs(vyv272), vyv273, vyv272) 214.33/146.00 new_gcd2(False, vyv273, vyv272) -> new_gcd0(vyv273, vyv272) 214.33/146.00 new_gcd0(vyv273, vyv272) -> new_gcd0Gcd'11(new_esEs(new_abs(vyv272)), vyv273, vyv272) 214.33/146.00 new_abs(Neg(Zero)) -> Neg(Zero) 214.33/146.00 new_abs(Neg(Succ(vyv27200))) -> Pos(Succ(vyv27200)) 214.33/146.00 new_abs(Pos(Succ(vyv27200))) -> Pos(Succ(vyv27200)) 214.33/146.00 new_abs(Pos(Zero)) -> Pos(Zero) 214.33/146.00 new_gcd0Gcd'11(True, vyv273, vyv272) -> new_abs(vyv273) 214.33/146.00 new_gcd0Gcd'11(False, vyv273, vyv272) -> new_gcd0Gcd'00(new_abs(vyv273), new_abs(vyv272)) 214.33/146.00 new_gcd0Gcd'00(vyv293, vyv292) -> new_gcd0Gcd'10(new_esEs(new_rem(vyv293, vyv292)), vyv292, vyv293) 214.33/146.00 new_gcd0Gcd'10(False, vyv292, vyv293) -> new_gcd0Gcd'00(vyv292, new_rem(vyv293, vyv292)) 214.33/146.00 new_rem(Pos(vyv2930), Neg(Zero)) -> new_error 214.33/146.00 new_rem(Neg(vyv2930), Pos(Zero)) -> new_error 214.33/146.00 new_rem(Pos(vyv2930), Neg(Succ(vyv29200))) -> Pos(new_primModNatS1(vyv2930, vyv29200)) 214.33/146.00 new_rem(Neg(vyv2930), Pos(Succ(vyv29200))) -> Neg(new_primModNatS1(vyv2930, vyv29200)) 214.33/146.00 new_rem(Pos(vyv2930), Pos(Succ(vyv29200))) -> Pos(new_primModNatS1(vyv2930, vyv29200)) 214.33/146.00 new_rem(Neg(vyv2930), Neg(Zero)) -> new_error 214.33/146.00 new_rem(Neg(vyv2930), Neg(Succ(vyv29200))) -> Neg(new_primModNatS1(vyv2930, vyv29200)) 214.33/146.00 new_rem(Pos(vyv2930), Pos(Zero)) -> new_error 214.33/146.00 new_gcd0Gcd'10(True, vyv292, vyv293) -> vyv292 214.33/146.00 new_primModNatS1(Succ(Zero), Succ(vyv292000)) -> Succ(Zero) 214.33/146.00 new_primModNatS1(Zero, vyv29200) -> Zero 214.33/146.00 new_primModNatS1(Succ(Succ(vyv293000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv293000), Zero) 214.33/146.00 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 214.33/146.00 new_primModNatS1(Succ(Succ(vyv293000)), Succ(vyv292000)) -> new_primModNatS01(vyv293000, vyv292000, vyv293000, vyv292000) 214.33/146.00 new_primModNatS01(vyv331, vyv332, Zero, Zero) -> new_primModNatS02(vyv331, vyv332) 214.33/146.00 new_primModNatS02(vyv331, vyv332) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv331), Succ(vyv332)), Succ(vyv332)) 214.33/146.00 new_primModNatS01(vyv331, vyv332, Succ(vyv3330), Zero) -> new_primModNatS02(vyv331, vyv332) 214.33/146.00 new_primModNatS01(vyv331, vyv332, Succ(vyv3330), Succ(vyv3340)) -> new_primModNatS01(vyv331, vyv332, vyv3330, vyv3340) 214.33/146.00 new_primModNatS01(vyv331, vyv332, Zero, Succ(vyv3340)) -> Succ(Succ(vyv331)) 214.33/146.00 new_gcd1(True, vyv273, vyv272) -> new_error 214.33/146.00 new_gcd1(False, vyv273, vyv272) -> new_gcd0(vyv273, vyv272) 214.33/146.00 new_primEqInt(Neg(Succ(vyv242000))) -> False 214.33/146.00 new_primEqInt(Pos(Zero)) -> True 214.33/146.00 new_primEqInt(Pos(Succ(vyv242000))) -> False 214.33/146.00 new_primEqInt(Neg(Zero)) -> True 214.33/146.00 new_primQuotInt(vyv2710, Pos(Succ(vyv28500))) -> Pos(new_primDivNatS1(vyv2710, vyv28500)) 214.33/146.00 new_primQuotInt(vyv2710, Neg(Zero)) -> new_error 214.33/146.00 new_primQuotInt(vyv2710, Pos(Zero)) -> new_error 214.33/146.00 new_primQuotInt(vyv2710, Neg(Succ(vyv28500))) -> Neg(new_primDivNatS1(vyv2710, vyv28500)) 214.33/146.00 new_primMulNat0(Zero, Succ(vyv23900)) -> Zero 214.33/146.00 new_primMulNat0(Succ(vyv24000), Succ(vyv23900)) -> new_primPlusNat0(new_primMulNat0(vyv24000, Succ(vyv23900)), Succ(vyv23900)) 214.33/146.00 new_primMulNat0(Succ(vyv24000), Zero) -> Zero 214.33/146.00 new_primMulNat0(Zero, Zero) -> Zero 214.33/146.00 new_primPlusNat0(Succ(vyv4000), Succ(vyv6000)) -> Succ(Succ(new_primPlusNat0(vyv4000, vyv6000))) 214.33/146.00 new_primPlusNat0(Zero, Succ(vyv6000)) -> Succ(vyv6000) 214.33/146.00 new_primPlusNat0(Zero, Zero) -> Zero 214.33/146.00 new_primPlusNat0(Succ(vyv4000), Zero) -> Succ(vyv4000) 214.33/146.00 new_sr6(vyv184) -> error([]) 214.33/146.00 new_esEs1(Integer(vyv2700)) -> new_primEqInt(vyv2700) 214.33/146.00 new_sr7(Pos(vyv1840)) -> Pos(new_primMulNat1(vyv1840)) 214.33/146.00 new_sr7(Neg(vyv1840)) -> Pos(new_primMulNat1(vyv1840)) 214.33/146.00 new_primMulNat1(Succ(vyv18400)) -> new_primPlusNat0(new_primMulNat2(vyv18400), Succ(vyv18400)) 214.33/146.00 new_primMulNat1(Zero) -> Zero 214.33/146.00 new_primMulNat2(Succ(vyv184000)) -> new_primPlusNat0(new_primMulNat3(vyv184000), Succ(Succ(vyv184000))) 214.33/146.00 new_primMulNat2(Zero) -> Zero 214.33/146.00 new_primMulNat3(Succ(vyv1840000)) -> new_primPlusNat0(new_primMulNat4(vyv1840000), Succ(Succ(Succ(vyv1840000)))) 214.33/146.00 new_primMulNat3(Zero) -> Zero 214.33/146.00 new_primMulNat4(Succ(vyv18400000)) -> new_primPlusNat0(new_primMulNat0(vyv18400000, Succ(Succ(Succ(Succ(vyv18400000))))), Succ(Succ(Succ(Succ(vyv18400000))))) 214.33/146.00 new_primMulNat4(Zero) -> Zero 214.33/146.00 new_sr12(vyv184) -> error([]) 214.33/146.00 new_sr11(vyv184) -> error([]) 214.33/146.00 new_sr4(vyv240, vyv239, app(ty_Ratio, be)) -> new_sr8(vyv240, vyv239, be) 214.33/146.00 new_sr4(vyv240, vyv239, ty_Float) -> new_sr14(vyv240, vyv239) 214.33/146.00 new_sr4(vyv240, vyv239, ty_Int) -> new_sr10(vyv240, vyv239) 214.33/146.00 new_sr4(vyv240, vyv239, ty_Double) -> new_sr13(vyv240, vyv239) 214.33/146.00 new_sr4(vyv240, vyv239, ty_Integer) -> new_sr9(vyv240, vyv239) 214.33/146.00 new_sr13(vyv240, vyv239) -> error([]) 214.33/146.00 new_sr14(vyv240, vyv239) -> error([]) 214.33/146.00 new_sr8(:%(vyv2400, vyv2401), :%(vyv2390, vyv2391), be) -> new_reduce2Reduce1(vyv2400, vyv2390, vyv2401, vyv2391, new_esEs2(vyv2401, vyv2391, be), be) 214.33/146.00 new_esEs2(vyv2401, vyv2391, ty_Integer) -> new_esEs1(new_sr9(vyv2401, vyv2391)) 214.33/146.00 new_esEs2(vyv2401, vyv2391, ty_Int) -> new_esEs(new_sr10(vyv2401, vyv2391)) 214.33/146.00 214.33/146.00 The set Q consists of the following terms: 214.33/146.00 214.33/146.00 new_sr13(x0, x1) 214.33/146.00 new_primDivNatS01(x0, x1, Zero, Zero) 214.33/146.00 new_gcd0Gcd'11(False, x0, x1) 214.33/146.00 new_primMulNat4(Zero) 214.33/146.00 new_gcd0Gcd'11(True, x0, x1) 214.33/146.00 new_sr5(:%(x0, x1), x2) 214.33/146.00 new_primEqInt(Pos(Zero)) 214.33/146.00 new_esEs(Pos(Succ(x0))) 214.33/146.00 new_primQuotInt0(x0, Neg(Zero)) 214.33/146.00 new_primMulNat3(Zero) 214.33/146.00 new_primModNatS02(x0, x1) 214.33/146.00 new_primDivNatS1(Succ(Zero), Zero) 214.33/146.00 new_primMinusNatS0(x0) 214.33/146.00 new_sr11(x0) 214.33/146.00 new_rem(Pos(x0), Neg(Succ(x1))) 214.33/146.00 new_rem(Neg(x0), Pos(Succ(x1))) 214.33/146.00 new_primMulNat0(Zero, Zero) 214.33/146.00 new_primPlusNat0(Succ(x0), Zero) 214.33/146.00 new_primMulNat0(Succ(x0), Zero) 214.33/146.00 new_sr3(x0, ty_Float) 214.33/146.00 new_primMulNat2(Zero) 214.33/146.00 new_primQuotInt(x0, Pos(Zero)) 214.33/146.00 new_primMulNat2(Succ(x0)) 214.33/146.00 new_primQuotInt(x0, Neg(Zero)) 214.33/146.00 new_rem(Neg(x0), Neg(Succ(x1))) 214.33/146.00 new_primMinusNatS2(Zero, Succ(x0)) 214.33/146.00 new_sr4(x0, x1, ty_Double) 214.33/146.00 new_primMulNat3(Succ(x0)) 214.33/146.00 new_esEs1(Integer(x0)) 214.33/146.00 new_primQuotInt0(x0, Pos(Zero)) 214.33/146.00 new_gcd2(True, x0, x1) 214.33/146.00 new_quot1(x0, x1, x2, x3, ty_Int) 214.33/146.00 new_primDivNatS1(Zero, x0) 214.33/146.00 new_gcd(x0, x1) 214.33/146.00 new_gcd1(False, x0, x1) 214.33/146.00 new_esEs2(x0, x1, ty_Int) 214.33/146.00 new_sr3(x0, ty_Integer) 214.33/146.00 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 214.33/146.00 new_primPlusNat0(Zero, Succ(x0)) 214.33/146.00 new_sr8(:%(x0, x1), :%(x2, x3), x4) 214.33/146.00 new_abs(Neg(Zero)) 214.33/146.00 new_primMinusNatS2(Succ(x0), Zero) 214.33/146.00 new_error 214.33/146.00 new_primModNatS1(Succ(Zero), Zero) 214.33/146.00 new_primMulNat4(Succ(x0)) 214.33/146.00 new_primDivNatS02(x0, x1) 214.33/146.00 new_rem(Neg(x0), Neg(Zero)) 214.33/146.00 new_primEqInt(Neg(Zero)) 214.33/146.00 new_rem(Pos(x0), Pos(Succ(x1))) 214.33/146.00 new_abs(Pos(Succ(x0))) 214.33/146.00 new_primMulNat0(Succ(x0), Succ(x1)) 214.33/146.00 new_primMulNat0(Zero, Succ(x0)) 214.33/146.00 new_reduce2Reduce1(x0, x1, x2, x3, True, x4) 214.33/146.00 new_gcd0Gcd'10(False, x0, x1) 214.33/146.00 new_sr12(x0) 214.33/146.00 new_primDivNatS01(x0, x1, Zero, Succ(x2)) 214.33/146.00 new_sr10(Pos(x0), Pos(x1)) 214.33/146.00 new_primModNatS01(x0, x1, Zero, Succ(x2)) 214.33/146.00 new_primPlusNat0(Zero, Zero) 214.33/146.00 new_primQuotInt0(x0, Pos(Succ(x1))) 214.33/146.00 new_primModNatS01(x0, x1, Succ(x2), Zero) 214.33/146.00 new_primModNatS1(Succ(Succ(x0)), Zero) 214.33/146.00 new_sr4(x0, x1, ty_Integer) 214.33/146.00 new_rem(Pos(x0), Pos(Zero)) 214.33/146.00 new_sr4(x0, x1, ty_Int) 214.33/146.00 new_quot(Pos(x0), x1, x2) 214.33/146.00 new_primMinusNatS2(Zero, Zero) 214.33/146.00 new_esEs0(x0, ty_Int) 214.33/146.00 new_esEs(Pos(Zero)) 214.33/146.00 new_quot(Neg(x0), x1, x2) 214.33/146.00 new_primDivNatS01(x0, x1, Succ(x2), Succ(x3)) 214.33/146.00 new_quot2(x0, x1, x2) 214.33/146.00 new_primEqInt(Neg(Succ(x0))) 214.33/146.00 new_sr10(Neg(x0), Neg(x1)) 214.33/146.00 new_sr3(x0, app(ty_Ratio, x1)) 214.33/146.00 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 214.33/146.00 new_sr9(x0, x1) 214.33/146.00 new_sr7(Neg(x0)) 214.33/146.00 new_primQuotInt0(x0, Neg(Succ(x1))) 214.33/146.00 new_rem(Pos(x0), Neg(Zero)) 214.33/146.00 new_rem(Neg(x0), Pos(Zero)) 214.33/146.00 new_gcd0Gcd'00(x0, x1) 214.33/146.00 new_primQuotInt(x0, Neg(Succ(x1))) 214.33/146.00 new_primMinusNatS2(Succ(x0), Succ(x1)) 214.33/146.00 new_abs(Pos(Zero)) 214.33/146.00 new_quot0(x0, x1, x2, x3, ty_Integer) 214.33/146.00 new_sr6(x0) 214.33/146.00 new_gcd2(False, x0, x1) 214.33/146.00 new_gcd1(True, x0, x1) 214.33/146.00 new_esEs2(x0, x1, ty_Integer) 214.33/146.00 new_primMinusNatS1 214.33/146.00 new_sr7(Pos(x0)) 214.33/146.00 new_gcd0Gcd'10(True, x0, x1) 214.33/146.00 new_primModNatS1(Zero, x0) 214.33/146.00 new_sr4(x0, x1, ty_Float) 214.33/146.00 new_sr10(Pos(x0), Neg(x1)) 214.33/146.00 new_sr10(Neg(x0), Pos(x1)) 214.33/146.00 new_primDivNatS01(x0, x1, Succ(x2), Zero) 214.33/146.00 new_primDivNatS1(Succ(Succ(x0)), Succ(x1)) 214.33/146.00 new_primPlusNat0(Succ(x0), Succ(x1)) 214.33/146.00 new_primDivNatS1(Succ(Zero), Succ(x0)) 214.33/146.00 new_primQuotInt(x0, Pos(Succ(x1))) 214.33/146.00 new_abs(Neg(Succ(x0))) 214.33/146.00 new_esEs0(x0, ty_Integer) 214.33/146.00 new_sr3(x0, ty_Int) 214.33/146.00 new_esEs(Neg(Succ(x0))) 214.33/146.00 new_primModNatS01(x0, x1, Zero, Zero) 214.33/146.00 new_sr4(x0, x1, app(ty_Ratio, x2)) 214.33/146.00 new_gcd0(x0, x1) 214.33/146.00 new_primEqInt(Pos(Succ(x0))) 214.33/146.00 new_sr3(x0, ty_Double) 214.33/146.00 new_quot1(x0, x1, x2, x3, ty_Integer) 214.33/146.00 new_primDivNatS1(Succ(Succ(x0)), Zero) 214.33/146.00 new_primMulNat1(Succ(x0)) 214.33/146.00 new_sr14(x0, x1) 214.33/146.00 new_quot0(x0, x1, x2, x3, ty_Int) 214.33/146.00 new_primModNatS1(Succ(Zero), Succ(x0)) 214.33/146.00 new_reduce2Reduce1(x0, x1, x2, x3, False, x4) 214.33/146.00 new_esEs(Neg(Zero)) 214.33/146.00 new_primMulNat1(Zero) 214.33/146.00 new_new_pr2F0G10(Succ(Succ(x0))) 214.33/146.00 new_new_pr2F0G10(Succ(Zero)) 214.33/146.00 new_new_pr2F0G10(Zero) 214.33/146.00 214.33/146.00 We have to consider all minimal (P,Q,R)-chains. 214.33/146.00 ---------------------------------------- 214.33/146.00 214.33/146.00 (834) TransformationProof (EQUIVALENT) 214.33/146.00 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]: 214.33/146.00 214.33/146.00 (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))) 214.33/146.00 (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)))) 214.33/146.00 (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))) 214.33/146.00 214.33/146.00 214.33/146.00 ---------------------------------------- 214.33/146.00 214.33/146.00 (835) 214.33/146.00 Obligation: 214.33/146.00 Q DP problem: 214.33/146.00 The TRS P consists of the following rules: 214.33/146.00 214.33/146.00 new_pr2F0(vyv184, Neg(Succ(Succ(vyv223000))), vyv188, h) -> new_pr2F0G10(vyv188, vyv184, Succ(vyv223000), vyv223000, h) 214.33/146.00 new_pr2F0G10(vyv249, vyv250, vyv251, Succ(Zero), bb) -> new_pr2F0G11(vyv249, vyv250, vyv251, bb) 214.33/146.00 new_pr2F0G11(vyv239, vyv240, vyv241, bc) -> new_pr2F1(vyv240, vyv241, Pos(Succ(Zero)), vyv239, bc) 214.33/146.00 new_pr2F1(z1, z2, Pos(Succ(Zero)), z0, z3) -> new_pr2F30(False, z1, z2, Pos(Succ(Zero)), z0, z3) 214.33/146.00 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) 214.33/146.00 H(vyv249, vyv250, vyv251, bb, cons_new_pr2F0G10(Succ(Zero))) -> new_pr2F0G10(vyv249, vyv250, vyv251, Succ(Zero), bb) 214.33/146.00 H(vyv249, vyv250, vyv251, bb, cons_new_pr2F0G10(Zero)) -> new_pr2F0G10(vyv249, vyv250, vyv251, Zero, bb) 214.33/146.00 new_pr2F0G(vyv188, vyv184, Neg(Succ(Zero)), h) -> new_pr2F0G11(vyv188, vyv184, Zero, h) 214.33/146.00 new_pr2F0G(vyv188, vyv184, Neg(Succ(Succ(vyv223000))), h) -> new_pr2F0G10(vyv188, vyv184, Succ(vyv223000), vyv223000, h) 214.33/146.00 new_pr2F0G10(y0, y1, Succ(Zero), Zero, y3) -> new_pr2F0G(y0, new_sr3(y1, y3), Neg(Succ(Zero)), y3) 214.33/146.00 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)) 214.33/146.00 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))) 214.33/146.00 new_pr2F0(y0, Neg(Succ(Succ(Succ(Succ(Zero))))), y2, y3) -> H(y2, y0, Succ(Succ(Succ(Zero))), y3, cons_new_pr2F0G10(Zero)) 214.33/146.00 new_pr2F0G10(y0, y1, Succ(Succ(Zero)), Zero, y3) -> new_pr2F0G(y0, new_sr3(y1, y3), Neg(Succ(Zero)), y3) 214.33/146.00 new_pr2F0G10(y0, y1, Succ(Succ(Succ(x0))), Zero, y3) -> new_pr2F0G(y0, new_sr3(y1, y3), Neg(Succ(new_primDivNatS01(x0, Zero, x0, Zero))), y3) 214.33/146.00 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)) 214.33/146.00 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))) 214.33/146.00 new_pr2F0G(y0, y1, Neg(Succ(Succ(Succ(Succ(Zero))))), y3) -> H(y0, y1, Succ(Succ(Succ(Zero))), y3, cons_new_pr2F0G10(Zero)) 214.33/146.00 214.33/146.00 The TRS R consists of the following rules: 214.33/146.00 214.33/146.00 new_new_pr2F0G10(Succ(Succ(vyv25200))) -> new_new_pr2F0G10(vyv25200) 214.33/146.00 new_new_pr2F0G10(Succ(Zero)) -> cons_new_pr2F0G10(Succ(Zero)) 214.33/146.00 new_new_pr2F0G10(Zero) -> cons_new_pr2F0G10(Zero) 214.33/146.00 new_sr3(vyv250, ty_Double) -> new_sr11(vyv250) 214.33/146.00 new_sr3(vyv250, ty_Int) -> new_sr7(vyv250) 214.33/146.00 new_sr3(vyv250, ty_Float) -> new_sr12(vyv250) 214.33/146.00 new_sr3(vyv250, ty_Integer) -> new_sr6(vyv250) 214.33/146.00 new_sr3(vyv250, app(ty_Ratio, bf)) -> new_sr5(vyv250, bf) 214.33/146.00 new_sr5(:%(vyv1840, vyv1841), bd) -> new_reduce2Reduce1(vyv1840, vyv1840, vyv1841, vyv1841, new_esEs0(vyv1841, bd), bd) 214.33/146.00 new_esEs0(vyv1841, ty_Int) -> new_esEs(new_sr7(vyv1841)) 214.33/146.00 new_esEs0(vyv1841, ty_Integer) -> new_esEs1(new_sr6(vyv1841)) 214.33/146.00 new_reduce2Reduce1(vyv265, vyv266, vyv267, vyv268, False, bh) -> :%(new_quot0(vyv265, vyv266, vyv267, vyv268, bh), new_quot1(vyv267, vyv268, vyv265, vyv266, bh)) 214.33/146.00 new_reduce2Reduce1(vyv265, vyv266, vyv267, vyv268, True, bh) -> error([]) 214.33/146.00 new_quot0(vyv265, vyv266, vyv267, vyv268, ty_Integer) -> new_quot2(new_sr9(vyv265, vyv266), new_sr9(vyv265, vyv266), new_sr9(vyv267, vyv268)) 214.33/146.00 new_quot0(vyv265, vyv266, vyv267, vyv268, ty_Int) -> new_quot(new_sr10(vyv265, vyv266), new_sr10(vyv265, vyv266), new_sr10(vyv267, vyv268)) 214.33/146.00 new_quot1(vyv267, vyv268, vyv265, vyv266, ty_Int) -> new_quot(new_sr10(vyv267, vyv268), new_sr10(vyv265, vyv266), new_sr10(vyv267, vyv268)) 214.33/146.00 new_quot1(vyv267, vyv268, vyv265, vyv266, ty_Integer) -> new_quot2(new_sr9(vyv267, vyv268), new_sr9(vyv265, vyv266), new_sr9(vyv267, vyv268)) 214.33/146.00 new_sr9(vyv240, vyv239) -> error([]) 214.33/146.00 new_quot2(vyv274, vyv276, vyv275) -> error([]) 214.33/146.00 new_sr10(Pos(vyv2400), Pos(vyv2390)) -> Pos(new_primMulNat0(vyv2400, vyv2390)) 214.33/146.00 new_sr10(Neg(vyv2400), Neg(vyv2390)) -> Pos(new_primMulNat0(vyv2400, vyv2390)) 214.33/146.00 new_sr10(Pos(vyv2400), Neg(vyv2390)) -> Neg(new_primMulNat0(vyv2400, vyv2390)) 214.33/146.00 new_sr10(Neg(vyv2400), Pos(vyv2390)) -> Neg(new_primMulNat0(vyv2400, vyv2390)) 214.33/146.00 new_quot(Pos(vyv2710), vyv273, vyv272) -> new_primQuotInt(vyv2710, new_gcd(vyv273, vyv272)) 214.33/146.00 new_quot(Neg(vyv2710), vyv273, vyv272) -> new_primQuotInt0(vyv2710, new_gcd(vyv273, vyv272)) 214.33/146.00 new_gcd(vyv273, vyv272) -> new_gcd2(new_esEs(vyv273), vyv273, vyv272) 214.33/146.00 new_primQuotInt0(vyv2710, Pos(Succ(vyv28800))) -> Neg(new_primDivNatS1(vyv2710, vyv28800)) 214.33/146.00 new_primQuotInt0(vyv2710, Neg(Zero)) -> new_error 214.33/146.00 new_primQuotInt0(vyv2710, Neg(Succ(vyv28800))) -> Pos(new_primDivNatS1(vyv2710, vyv28800)) 214.33/146.00 new_primQuotInt0(vyv2710, Pos(Zero)) -> new_error 214.33/146.00 new_error -> error([]) 214.33/146.00 new_primDivNatS1(Succ(Zero), Succ(vyv285000)) -> Zero 214.33/146.00 new_primDivNatS1(Succ(Succ(vyv271000)), Succ(vyv285000)) -> new_primDivNatS01(vyv271000, vyv285000, vyv271000, vyv285000) 214.33/146.00 new_primDivNatS1(Zero, vyv28500) -> Zero 214.33/146.00 new_primDivNatS1(Succ(Succ(vyv271000)), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS0(vyv271000), Zero)) 214.33/146.00 new_primDivNatS1(Succ(Zero), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS1, Zero)) 214.33/146.00 new_primMinusNatS1 -> Zero 214.33/146.00 new_primMinusNatS0(vyv271000) -> Succ(vyv271000) 214.33/146.00 new_primDivNatS01(vyv311, vyv312, Succ(vyv3130), Zero) -> new_primDivNatS02(vyv311, vyv312) 214.33/146.00 new_primDivNatS01(vyv311, vyv312, Zero, Succ(vyv3140)) -> Zero 214.33/146.00 new_primDivNatS01(vyv311, vyv312, Succ(vyv3130), Succ(vyv3140)) -> new_primDivNatS01(vyv311, vyv312, vyv3130, vyv3140) 214.33/146.00 new_primDivNatS01(vyv311, vyv312, Zero, Zero) -> new_primDivNatS02(vyv311, vyv312) 214.33/146.00 new_primDivNatS02(vyv311, vyv312) -> Succ(new_primDivNatS1(new_primMinusNatS2(vyv311, vyv312), Succ(vyv312))) 214.33/146.00 new_primMinusNatS2(Zero, Succ(vyv3120)) -> Zero 214.33/146.00 new_primMinusNatS2(Succ(vyv3110), Zero) -> Succ(vyv3110) 214.33/146.00 new_primMinusNatS2(Zero, Zero) -> Zero 214.33/146.00 new_primMinusNatS2(Succ(vyv3110), Succ(vyv3120)) -> new_primMinusNatS2(vyv3110, vyv3120) 214.33/146.00 new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) 214.33/146.00 new_esEs(Pos(Succ(vyv24300))) -> new_primEqInt(Pos(Succ(vyv24300))) 214.33/146.00 new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) 214.33/146.00 new_esEs(Neg(Succ(vyv24300))) -> new_primEqInt(Neg(Succ(vyv24300))) 214.33/146.00 new_gcd2(True, vyv273, vyv272) -> new_gcd1(new_esEs(vyv272), vyv273, vyv272) 214.33/146.00 new_gcd2(False, vyv273, vyv272) -> new_gcd0(vyv273, vyv272) 214.33/146.00 new_gcd0(vyv273, vyv272) -> new_gcd0Gcd'11(new_esEs(new_abs(vyv272)), vyv273, vyv272) 214.33/146.00 new_abs(Neg(Zero)) -> Neg(Zero) 214.33/146.00 new_abs(Neg(Succ(vyv27200))) -> Pos(Succ(vyv27200)) 214.33/146.00 new_abs(Pos(Succ(vyv27200))) -> Pos(Succ(vyv27200)) 214.33/146.00 new_abs(Pos(Zero)) -> Pos(Zero) 214.33/146.00 new_gcd0Gcd'11(True, vyv273, vyv272) -> new_abs(vyv273) 214.33/146.00 new_gcd0Gcd'11(False, vyv273, vyv272) -> new_gcd0Gcd'00(new_abs(vyv273), new_abs(vyv272)) 214.33/146.00 new_gcd0Gcd'00(vyv293, vyv292) -> new_gcd0Gcd'10(new_esEs(new_rem(vyv293, vyv292)), vyv292, vyv293) 214.33/146.00 new_gcd0Gcd'10(False, vyv292, vyv293) -> new_gcd0Gcd'00(vyv292, new_rem(vyv293, vyv292)) 214.33/146.00 new_rem(Pos(vyv2930), Neg(Zero)) -> new_error 214.33/146.00 new_rem(Neg(vyv2930), Pos(Zero)) -> new_error 214.33/146.00 new_rem(Pos(vyv2930), Neg(Succ(vyv29200))) -> Pos(new_primModNatS1(vyv2930, vyv29200)) 214.33/146.00 new_rem(Neg(vyv2930), Pos(Succ(vyv29200))) -> Neg(new_primModNatS1(vyv2930, vyv29200)) 214.33/146.00 new_rem(Pos(vyv2930), Pos(Succ(vyv29200))) -> Pos(new_primModNatS1(vyv2930, vyv29200)) 214.33/146.00 new_rem(Neg(vyv2930), Neg(Zero)) -> new_error 214.33/146.00 new_rem(Neg(vyv2930), Neg(Succ(vyv29200))) -> Neg(new_primModNatS1(vyv2930, vyv29200)) 214.33/146.00 new_rem(Pos(vyv2930), Pos(Zero)) -> new_error 214.33/146.00 new_gcd0Gcd'10(True, vyv292, vyv293) -> vyv292 214.33/146.00 new_primModNatS1(Succ(Zero), Succ(vyv292000)) -> Succ(Zero) 214.33/146.00 new_primModNatS1(Zero, vyv29200) -> Zero 214.33/146.00 new_primModNatS1(Succ(Succ(vyv293000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv293000), Zero) 214.33/146.00 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 214.33/146.00 new_primModNatS1(Succ(Succ(vyv293000)), Succ(vyv292000)) -> new_primModNatS01(vyv293000, vyv292000, vyv293000, vyv292000) 214.33/146.00 new_primModNatS01(vyv331, vyv332, Zero, Zero) -> new_primModNatS02(vyv331, vyv332) 214.33/146.00 new_primModNatS02(vyv331, vyv332) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv331), Succ(vyv332)), Succ(vyv332)) 214.33/146.00 new_primModNatS01(vyv331, vyv332, Succ(vyv3330), Zero) -> new_primModNatS02(vyv331, vyv332) 214.33/146.00 new_primModNatS01(vyv331, vyv332, Succ(vyv3330), Succ(vyv3340)) -> new_primModNatS01(vyv331, vyv332, vyv3330, vyv3340) 214.33/146.00 new_primModNatS01(vyv331, vyv332, Zero, Succ(vyv3340)) -> Succ(Succ(vyv331)) 214.33/146.00 new_gcd1(True, vyv273, vyv272) -> new_error 214.33/146.00 new_gcd1(False, vyv273, vyv272) -> new_gcd0(vyv273, vyv272) 214.33/146.00 new_primEqInt(Neg(Succ(vyv242000))) -> False 214.33/146.00 new_primEqInt(Pos(Zero)) -> True 214.33/146.00 new_primEqInt(Pos(Succ(vyv242000))) -> False 214.33/146.00 new_primEqInt(Neg(Zero)) -> True 214.33/146.00 new_primQuotInt(vyv2710, Pos(Succ(vyv28500))) -> Pos(new_primDivNatS1(vyv2710, vyv28500)) 214.33/146.00 new_primQuotInt(vyv2710, Neg(Zero)) -> new_error 214.33/146.00 new_primQuotInt(vyv2710, Pos(Zero)) -> new_error 214.33/146.00 new_primQuotInt(vyv2710, Neg(Succ(vyv28500))) -> Neg(new_primDivNatS1(vyv2710, vyv28500)) 214.33/146.00 new_primMulNat0(Zero, Succ(vyv23900)) -> Zero 214.33/146.00 new_primMulNat0(Succ(vyv24000), Succ(vyv23900)) -> new_primPlusNat0(new_primMulNat0(vyv24000, Succ(vyv23900)), Succ(vyv23900)) 214.33/146.00 new_primMulNat0(Succ(vyv24000), Zero) -> Zero 214.33/146.00 new_primMulNat0(Zero, Zero) -> Zero 214.33/146.00 new_primPlusNat0(Succ(vyv4000), Succ(vyv6000)) -> Succ(Succ(new_primPlusNat0(vyv4000, vyv6000))) 214.33/146.00 new_primPlusNat0(Zero, Succ(vyv6000)) -> Succ(vyv6000) 214.33/146.00 new_primPlusNat0(Zero, Zero) -> Zero 214.33/146.00 new_primPlusNat0(Succ(vyv4000), Zero) -> Succ(vyv4000) 214.33/146.00 new_sr6(vyv184) -> error([]) 214.33/146.00 new_esEs1(Integer(vyv2700)) -> new_primEqInt(vyv2700) 214.33/146.00 new_sr7(Pos(vyv1840)) -> Pos(new_primMulNat1(vyv1840)) 214.33/146.00 new_sr7(Neg(vyv1840)) -> Pos(new_primMulNat1(vyv1840)) 214.33/146.00 new_primMulNat1(Succ(vyv18400)) -> new_primPlusNat0(new_primMulNat2(vyv18400), Succ(vyv18400)) 214.33/146.00 new_primMulNat1(Zero) -> Zero 214.33/146.00 new_primMulNat2(Succ(vyv184000)) -> new_primPlusNat0(new_primMulNat3(vyv184000), Succ(Succ(vyv184000))) 214.33/146.00 new_primMulNat2(Zero) -> Zero 214.33/146.00 new_primMulNat3(Succ(vyv1840000)) -> new_primPlusNat0(new_primMulNat4(vyv1840000), Succ(Succ(Succ(vyv1840000)))) 214.33/146.00 new_primMulNat3(Zero) -> Zero 214.33/146.00 new_primMulNat4(Succ(vyv18400000)) -> new_primPlusNat0(new_primMulNat0(vyv18400000, Succ(Succ(Succ(Succ(vyv18400000))))), Succ(Succ(Succ(Succ(vyv18400000))))) 214.33/146.00 new_primMulNat4(Zero) -> Zero 214.33/146.00 new_sr12(vyv184) -> error([]) 214.33/146.00 new_sr11(vyv184) -> error([]) 214.33/146.00 new_sr4(vyv240, vyv239, app(ty_Ratio, be)) -> new_sr8(vyv240, vyv239, be) 214.33/146.00 new_sr4(vyv240, vyv239, ty_Float) -> new_sr14(vyv240, vyv239) 214.33/146.00 new_sr4(vyv240, vyv239, ty_Int) -> new_sr10(vyv240, vyv239) 214.33/146.00 new_sr4(vyv240, vyv239, ty_Double) -> new_sr13(vyv240, vyv239) 214.33/146.00 new_sr4(vyv240, vyv239, ty_Integer) -> new_sr9(vyv240, vyv239) 214.33/146.00 new_sr13(vyv240, vyv239) -> error([]) 214.33/146.00 new_sr14(vyv240, vyv239) -> error([]) 214.33/146.00 new_sr8(:%(vyv2400, vyv2401), :%(vyv2390, vyv2391), be) -> new_reduce2Reduce1(vyv2400, vyv2390, vyv2401, vyv2391, new_esEs2(vyv2401, vyv2391, be), be) 214.33/146.00 new_esEs2(vyv2401, vyv2391, ty_Integer) -> new_esEs1(new_sr9(vyv2401, vyv2391)) 214.33/146.00 new_esEs2(vyv2401, vyv2391, ty_Int) -> new_esEs(new_sr10(vyv2401, vyv2391)) 214.33/146.00 214.33/146.00 The set Q consists of the following terms: 214.33/146.00 214.33/146.00 new_sr13(x0, x1) 214.33/146.00 new_primDivNatS01(x0, x1, Zero, Zero) 214.33/146.00 new_gcd0Gcd'11(False, x0, x1) 214.33/146.00 new_primMulNat4(Zero) 214.33/146.00 new_gcd0Gcd'11(True, x0, x1) 214.33/146.00 new_sr5(:%(x0, x1), x2) 214.33/146.00 new_primEqInt(Pos(Zero)) 214.33/146.00 new_esEs(Pos(Succ(x0))) 214.33/146.00 new_primQuotInt0(x0, Neg(Zero)) 214.33/146.00 new_primMulNat3(Zero) 214.33/146.00 new_primModNatS02(x0, x1) 214.33/146.00 new_primDivNatS1(Succ(Zero), Zero) 214.33/146.00 new_primMinusNatS0(x0) 214.33/146.00 new_sr11(x0) 214.33/146.00 new_rem(Pos(x0), Neg(Succ(x1))) 214.33/146.00 new_rem(Neg(x0), Pos(Succ(x1))) 214.33/146.00 new_primMulNat0(Zero, Zero) 214.33/146.00 new_primPlusNat0(Succ(x0), Zero) 214.33/146.00 new_primMulNat0(Succ(x0), Zero) 214.33/146.00 new_sr3(x0, ty_Float) 214.33/146.00 new_primMulNat2(Zero) 214.33/146.00 new_primQuotInt(x0, Pos(Zero)) 214.33/146.00 new_primMulNat2(Succ(x0)) 214.33/146.00 new_primQuotInt(x0, Neg(Zero)) 214.33/146.00 new_rem(Neg(x0), Neg(Succ(x1))) 214.33/146.00 new_primMinusNatS2(Zero, Succ(x0)) 214.33/146.00 new_sr4(x0, x1, ty_Double) 214.33/146.00 new_primMulNat3(Succ(x0)) 214.33/146.00 new_esEs1(Integer(x0)) 214.33/146.00 new_primQuotInt0(x0, Pos(Zero)) 214.33/146.00 new_gcd2(True, x0, x1) 214.33/146.00 new_quot1(x0, x1, x2, x3, ty_Int) 214.33/146.00 new_primDivNatS1(Zero, x0) 214.33/146.00 new_gcd(x0, x1) 214.33/146.00 new_gcd1(False, x0, x1) 214.33/146.00 new_esEs2(x0, x1, ty_Int) 214.33/146.00 new_sr3(x0, ty_Integer) 214.33/146.00 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 214.33/146.00 new_primPlusNat0(Zero, Succ(x0)) 214.33/146.00 new_sr8(:%(x0, x1), :%(x2, x3), x4) 214.33/146.00 new_abs(Neg(Zero)) 214.33/146.00 new_primMinusNatS2(Succ(x0), Zero) 214.33/146.00 new_error 214.33/146.00 new_primModNatS1(Succ(Zero), Zero) 214.33/146.00 new_primMulNat4(Succ(x0)) 214.33/146.00 new_primDivNatS02(x0, x1) 214.33/146.00 new_rem(Neg(x0), Neg(Zero)) 214.33/146.00 new_primEqInt(Neg(Zero)) 214.33/146.00 new_rem(Pos(x0), Pos(Succ(x1))) 214.33/146.00 new_abs(Pos(Succ(x0))) 214.33/146.00 new_primMulNat0(Succ(x0), Succ(x1)) 214.33/146.00 new_primMulNat0(Zero, Succ(x0)) 214.33/146.00 new_reduce2Reduce1(x0, x1, x2, x3, True, x4) 214.33/146.00 new_gcd0Gcd'10(False, x0, x1) 214.33/146.00 new_sr12(x0) 214.33/146.00 new_primDivNatS01(x0, x1, Zero, Succ(x2)) 214.33/146.00 new_sr10(Pos(x0), Pos(x1)) 214.33/146.00 new_primModNatS01(x0, x1, Zero, Succ(x2)) 214.33/146.00 new_primPlusNat0(Zero, Zero) 214.33/146.00 new_primQuotInt0(x0, Pos(Succ(x1))) 214.33/146.00 new_primModNatS01(x0, x1, Succ(x2), Zero) 214.33/146.00 new_primModNatS1(Succ(Succ(x0)), Zero) 214.33/146.00 new_sr4(x0, x1, ty_Integer) 214.33/146.00 new_rem(Pos(x0), Pos(Zero)) 214.33/146.00 new_sr4(x0, x1, ty_Int) 214.33/146.00 new_quot(Pos(x0), x1, x2) 214.33/146.00 new_primMinusNatS2(Zero, Zero) 214.33/146.00 new_esEs0(x0, ty_Int) 214.33/146.00 new_esEs(Pos(Zero)) 214.33/146.00 new_quot(Neg(x0), x1, x2) 214.33/146.00 new_primDivNatS01(x0, x1, Succ(x2), Succ(x3)) 214.33/146.00 new_quot2(x0, x1, x2) 214.33/146.00 new_primEqInt(Neg(Succ(x0))) 214.33/146.00 new_sr10(Neg(x0), Neg(x1)) 214.33/146.00 new_sr3(x0, app(ty_Ratio, x1)) 214.33/146.00 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 214.33/146.00 new_sr9(x0, x1) 214.33/146.00 new_sr7(Neg(x0)) 214.33/146.00 new_primQuotInt0(x0, Neg(Succ(x1))) 214.33/146.00 new_rem(Pos(x0), Neg(Zero)) 214.33/146.00 new_rem(Neg(x0), Pos(Zero)) 214.33/146.00 new_gcd0Gcd'00(x0, x1) 214.33/146.00 new_primQuotInt(x0, Neg(Succ(x1))) 214.33/146.00 new_primMinusNatS2(Succ(x0), Succ(x1)) 214.33/146.00 new_abs(Pos(Zero)) 214.33/146.00 new_quot0(x0, x1, x2, x3, ty_Integer) 214.33/146.00 new_sr6(x0) 214.33/146.00 new_gcd2(False, x0, x1) 214.33/146.00 new_gcd1(True, x0, x1) 214.33/146.00 new_esEs2(x0, x1, ty_Integer) 214.33/146.00 new_primMinusNatS1 214.33/146.00 new_sr7(Pos(x0)) 214.33/146.00 new_gcd0Gcd'10(True, x0, x1) 214.33/146.00 new_primModNatS1(Zero, x0) 214.33/146.00 new_sr4(x0, x1, ty_Float) 214.33/146.00 new_sr10(Pos(x0), Neg(x1)) 214.33/146.00 new_sr10(Neg(x0), Pos(x1)) 214.33/146.00 new_primDivNatS01(x0, x1, Succ(x2), Zero) 214.33/146.00 new_primDivNatS1(Succ(Succ(x0)), Succ(x1)) 214.33/146.00 new_primPlusNat0(Succ(x0), Succ(x1)) 214.33/146.00 new_primDivNatS1(Succ(Zero), Succ(x0)) 214.33/146.00 new_primQuotInt(x0, Pos(Succ(x1))) 214.33/146.00 new_abs(Neg(Succ(x0))) 214.33/146.00 new_esEs0(x0, ty_Integer) 214.33/146.00 new_sr3(x0, ty_Int) 214.33/146.00 new_esEs(Neg(Succ(x0))) 214.33/146.00 new_primModNatS01(x0, x1, Zero, Zero) 214.33/146.00 new_sr4(x0, x1, app(ty_Ratio, x2)) 214.33/146.00 new_gcd0(x0, x1) 214.33/146.00 new_primEqInt(Pos(Succ(x0))) 214.33/146.00 new_sr3(x0, ty_Double) 214.33/146.00 new_quot1(x0, x1, x2, x3, ty_Integer) 214.33/146.00 new_primDivNatS1(Succ(Succ(x0)), Zero) 214.33/146.00 new_primMulNat1(Succ(x0)) 214.33/146.00 new_sr14(x0, x1) 214.33/146.00 new_quot0(x0, x1, x2, x3, ty_Int) 214.33/146.00 new_primModNatS1(Succ(Zero), Succ(x0)) 214.33/146.00 new_reduce2Reduce1(x0, x1, x2, x3, False, x4) 214.33/146.00 new_esEs(Neg(Zero)) 214.33/146.00 new_primMulNat1(Zero) 214.33/146.00 new_new_pr2F0G10(Succ(Succ(x0))) 214.33/146.00 new_new_pr2F0G10(Succ(Zero)) 214.33/146.00 new_new_pr2F0G10(Zero) 214.33/146.00 214.33/146.00 We have to consider all minimal (P,Q,R)-chains. 214.33/146.00 ---------------------------------------- 214.33/146.00 214.33/146.00 (836) TransformationProof (EQUIVALENT) 214.33/146.00 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]: 214.33/146.00 214.33/146.00 (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))) 214.33/146.00 (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)))) 214.33/146.00 (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))) 214.33/146.00 214.33/146.00 214.33/146.00 ---------------------------------------- 214.33/146.00 214.33/146.00 (837) 214.33/146.00 Obligation: 214.33/146.00 Q DP problem: 214.33/146.00 The TRS P consists of the following rules: 214.33/146.00 214.33/146.00 new_pr2F0(vyv184, Neg(Succ(Succ(vyv223000))), vyv188, h) -> new_pr2F0G10(vyv188, vyv184, Succ(vyv223000), vyv223000, h) 214.33/146.00 new_pr2F0G10(vyv249, vyv250, vyv251, Succ(Zero), bb) -> new_pr2F0G11(vyv249, vyv250, vyv251, bb) 214.33/146.00 new_pr2F0G11(vyv239, vyv240, vyv241, bc) -> new_pr2F1(vyv240, vyv241, Pos(Succ(Zero)), vyv239, bc) 214.33/146.00 new_pr2F1(z1, z2, Pos(Succ(Zero)), z0, z3) -> new_pr2F30(False, z1, z2, Pos(Succ(Zero)), z0, z3) 214.33/146.00 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) 214.33/146.00 H(vyv249, vyv250, vyv251, bb, cons_new_pr2F0G10(Succ(Zero))) -> new_pr2F0G10(vyv249, vyv250, vyv251, Succ(Zero), bb) 214.33/146.00 H(vyv249, vyv250, vyv251, bb, cons_new_pr2F0G10(Zero)) -> new_pr2F0G10(vyv249, vyv250, vyv251, Zero, bb) 214.33/146.00 new_pr2F0G(vyv188, vyv184, Neg(Succ(Zero)), h) -> new_pr2F0G11(vyv188, vyv184, Zero, h) 214.33/146.00 new_pr2F0G(vyv188, vyv184, Neg(Succ(Succ(vyv223000))), h) -> new_pr2F0G10(vyv188, vyv184, Succ(vyv223000), vyv223000, h) 214.33/146.00 new_pr2F0G10(y0, y1, Succ(Zero), Zero, y3) -> new_pr2F0G(y0, new_sr3(y1, y3), Neg(Succ(Zero)), y3) 214.33/146.00 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))) 214.33/146.00 new_pr2F0(y0, Neg(Succ(Succ(Succ(Succ(Zero))))), y2, y3) -> H(y2, y0, Succ(Succ(Succ(Zero))), y3, cons_new_pr2F0G10(Zero)) 214.33/146.00 new_pr2F0G10(y0, y1, Succ(Succ(Zero)), Zero, y3) -> new_pr2F0G(y0, new_sr3(y1, y3), Neg(Succ(Zero)), y3) 214.33/146.00 new_pr2F0G10(y0, y1, Succ(Succ(Succ(x0))), Zero, y3) -> new_pr2F0G(y0, new_sr3(y1, y3), Neg(Succ(new_primDivNatS01(x0, Zero, x0, Zero))), y3) 214.33/146.00 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)) 214.33/146.00 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))) 214.33/146.00 new_pr2F0G(y0, y1, Neg(Succ(Succ(Succ(Succ(Zero))))), y3) -> H(y0, y1, Succ(Succ(Succ(Zero))), y3, cons_new_pr2F0G10(Zero)) 214.33/146.00 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)) 214.33/146.00 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))) 214.33/146.00 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)) 214.33/146.00 214.33/146.00 The TRS R consists of the following rules: 214.33/146.00 214.33/146.00 new_new_pr2F0G10(Succ(Succ(vyv25200))) -> new_new_pr2F0G10(vyv25200) 214.33/146.00 new_new_pr2F0G10(Succ(Zero)) -> cons_new_pr2F0G10(Succ(Zero)) 214.33/146.00 new_new_pr2F0G10(Zero) -> cons_new_pr2F0G10(Zero) 214.33/146.00 new_sr3(vyv250, ty_Double) -> new_sr11(vyv250) 214.33/146.00 new_sr3(vyv250, ty_Int) -> new_sr7(vyv250) 214.33/146.00 new_sr3(vyv250, ty_Float) -> new_sr12(vyv250) 214.33/146.00 new_sr3(vyv250, ty_Integer) -> new_sr6(vyv250) 214.33/146.00 new_sr3(vyv250, app(ty_Ratio, bf)) -> new_sr5(vyv250, bf) 214.33/146.00 new_sr5(:%(vyv1840, vyv1841), bd) -> new_reduce2Reduce1(vyv1840, vyv1840, vyv1841, vyv1841, new_esEs0(vyv1841, bd), bd) 214.33/146.00 new_esEs0(vyv1841, ty_Int) -> new_esEs(new_sr7(vyv1841)) 214.33/146.00 new_esEs0(vyv1841, ty_Integer) -> new_esEs1(new_sr6(vyv1841)) 214.33/146.00 new_reduce2Reduce1(vyv265, vyv266, vyv267, vyv268, False, bh) -> :%(new_quot0(vyv265, vyv266, vyv267, vyv268, bh), new_quot1(vyv267, vyv268, vyv265, vyv266, bh)) 214.33/146.00 new_reduce2Reduce1(vyv265, vyv266, vyv267, vyv268, True, bh) -> error([]) 214.33/146.00 new_quot0(vyv265, vyv266, vyv267, vyv268, ty_Integer) -> new_quot2(new_sr9(vyv265, vyv266), new_sr9(vyv265, vyv266), new_sr9(vyv267, vyv268)) 214.33/146.00 new_quot0(vyv265, vyv266, vyv267, vyv268, ty_Int) -> new_quot(new_sr10(vyv265, vyv266), new_sr10(vyv265, vyv266), new_sr10(vyv267, vyv268)) 214.33/146.00 new_quot1(vyv267, vyv268, vyv265, vyv266, ty_Int) -> new_quot(new_sr10(vyv267, vyv268), new_sr10(vyv265, vyv266), new_sr10(vyv267, vyv268)) 214.33/146.00 new_quot1(vyv267, vyv268, vyv265, vyv266, ty_Integer) -> new_quot2(new_sr9(vyv267, vyv268), new_sr9(vyv265, vyv266), new_sr9(vyv267, vyv268)) 214.33/146.00 new_sr9(vyv240, vyv239) -> error([]) 214.33/146.00 new_quot2(vyv274, vyv276, vyv275) -> error([]) 214.33/146.00 new_sr10(Pos(vyv2400), Pos(vyv2390)) -> Pos(new_primMulNat0(vyv2400, vyv2390)) 214.33/146.00 new_sr10(Neg(vyv2400), Neg(vyv2390)) -> Pos(new_primMulNat0(vyv2400, vyv2390)) 214.33/146.00 new_sr10(Pos(vyv2400), Neg(vyv2390)) -> Neg(new_primMulNat0(vyv2400, vyv2390)) 214.33/146.00 new_sr10(Neg(vyv2400), Pos(vyv2390)) -> Neg(new_primMulNat0(vyv2400, vyv2390)) 214.33/146.00 new_quot(Pos(vyv2710), vyv273, vyv272) -> new_primQuotInt(vyv2710, new_gcd(vyv273, vyv272)) 214.33/146.00 new_quot(Neg(vyv2710), vyv273, vyv272) -> new_primQuotInt0(vyv2710, new_gcd(vyv273, vyv272)) 214.33/146.00 new_gcd(vyv273, vyv272) -> new_gcd2(new_esEs(vyv273), vyv273, vyv272) 214.33/146.00 new_primQuotInt0(vyv2710, Pos(Succ(vyv28800))) -> Neg(new_primDivNatS1(vyv2710, vyv28800)) 214.33/146.00 new_primQuotInt0(vyv2710, Neg(Zero)) -> new_error 214.33/146.00 new_primQuotInt0(vyv2710, Neg(Succ(vyv28800))) -> Pos(new_primDivNatS1(vyv2710, vyv28800)) 214.33/146.00 new_primQuotInt0(vyv2710, Pos(Zero)) -> new_error 214.33/146.00 new_error -> error([]) 214.33/146.00 new_primDivNatS1(Succ(Zero), Succ(vyv285000)) -> Zero 214.33/146.00 new_primDivNatS1(Succ(Succ(vyv271000)), Succ(vyv285000)) -> new_primDivNatS01(vyv271000, vyv285000, vyv271000, vyv285000) 214.33/146.00 new_primDivNatS1(Zero, vyv28500) -> Zero 214.33/146.00 new_primDivNatS1(Succ(Succ(vyv271000)), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS0(vyv271000), Zero)) 214.33/146.00 new_primDivNatS1(Succ(Zero), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS1, Zero)) 214.33/146.00 new_primMinusNatS1 -> Zero 214.33/146.00 new_primMinusNatS0(vyv271000) -> Succ(vyv271000) 214.33/146.00 new_primDivNatS01(vyv311, vyv312, Succ(vyv3130), Zero) -> new_primDivNatS02(vyv311, vyv312) 214.33/146.00 new_primDivNatS01(vyv311, vyv312, Zero, Succ(vyv3140)) -> Zero 214.33/146.00 new_primDivNatS01(vyv311, vyv312, Succ(vyv3130), Succ(vyv3140)) -> new_primDivNatS01(vyv311, vyv312, vyv3130, vyv3140) 214.33/146.00 new_primDivNatS01(vyv311, vyv312, Zero, Zero) -> new_primDivNatS02(vyv311, vyv312) 214.33/146.00 new_primDivNatS02(vyv311, vyv312) -> Succ(new_primDivNatS1(new_primMinusNatS2(vyv311, vyv312), Succ(vyv312))) 214.33/146.00 new_primMinusNatS2(Zero, Succ(vyv3120)) -> Zero 214.33/146.00 new_primMinusNatS2(Succ(vyv3110), Zero) -> Succ(vyv3110) 214.33/146.00 new_primMinusNatS2(Zero, Zero) -> Zero 214.33/146.00 new_primMinusNatS2(Succ(vyv3110), Succ(vyv3120)) -> new_primMinusNatS2(vyv3110, vyv3120) 214.33/146.00 new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) 214.33/146.00 new_esEs(Pos(Succ(vyv24300))) -> new_primEqInt(Pos(Succ(vyv24300))) 214.33/146.00 new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) 214.33/146.00 new_esEs(Neg(Succ(vyv24300))) -> new_primEqInt(Neg(Succ(vyv24300))) 214.33/146.00 new_gcd2(True, vyv273, vyv272) -> new_gcd1(new_esEs(vyv272), vyv273, vyv272) 214.33/146.00 new_gcd2(False, vyv273, vyv272) -> new_gcd0(vyv273, vyv272) 214.33/146.00 new_gcd0(vyv273, vyv272) -> new_gcd0Gcd'11(new_esEs(new_abs(vyv272)), vyv273, vyv272) 214.33/146.00 new_abs(Neg(Zero)) -> Neg(Zero) 214.33/146.00 new_abs(Neg(Succ(vyv27200))) -> Pos(Succ(vyv27200)) 214.33/146.00 new_abs(Pos(Succ(vyv27200))) -> Pos(Succ(vyv27200)) 214.33/146.00 new_abs(Pos(Zero)) -> Pos(Zero) 214.33/146.00 new_gcd0Gcd'11(True, vyv273, vyv272) -> new_abs(vyv273) 214.33/146.00 new_gcd0Gcd'11(False, vyv273, vyv272) -> new_gcd0Gcd'00(new_abs(vyv273), new_abs(vyv272)) 214.33/146.00 new_gcd0Gcd'00(vyv293, vyv292) -> new_gcd0Gcd'10(new_esEs(new_rem(vyv293, vyv292)), vyv292, vyv293) 214.33/146.00 new_gcd0Gcd'10(False, vyv292, vyv293) -> new_gcd0Gcd'00(vyv292, new_rem(vyv293, vyv292)) 214.33/146.00 new_rem(Pos(vyv2930), Neg(Zero)) -> new_error 214.33/146.00 new_rem(Neg(vyv2930), Pos(Zero)) -> new_error 214.33/146.00 new_rem(Pos(vyv2930), Neg(Succ(vyv29200))) -> Pos(new_primModNatS1(vyv2930, vyv29200)) 214.33/146.00 new_rem(Neg(vyv2930), Pos(Succ(vyv29200))) -> Neg(new_primModNatS1(vyv2930, vyv29200)) 214.33/146.00 new_rem(Pos(vyv2930), Pos(Succ(vyv29200))) -> Pos(new_primModNatS1(vyv2930, vyv29200)) 214.33/146.00 new_rem(Neg(vyv2930), Neg(Zero)) -> new_error 214.33/146.00 new_rem(Neg(vyv2930), Neg(Succ(vyv29200))) -> Neg(new_primModNatS1(vyv2930, vyv29200)) 214.33/146.00 new_rem(Pos(vyv2930), Pos(Zero)) -> new_error 214.33/146.00 new_gcd0Gcd'10(True, vyv292, vyv293) -> vyv292 214.33/146.00 new_primModNatS1(Succ(Zero), Succ(vyv292000)) -> Succ(Zero) 214.33/146.00 new_primModNatS1(Zero, vyv29200) -> Zero 214.33/146.00 new_primModNatS1(Succ(Succ(vyv293000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv293000), Zero) 214.33/146.00 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 214.33/146.00 new_primModNatS1(Succ(Succ(vyv293000)), Succ(vyv292000)) -> new_primModNatS01(vyv293000, vyv292000, vyv293000, vyv292000) 214.33/146.00 new_primModNatS01(vyv331, vyv332, Zero, Zero) -> new_primModNatS02(vyv331, vyv332) 214.33/146.00 new_primModNatS02(vyv331, vyv332) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv331), Succ(vyv332)), Succ(vyv332)) 214.33/146.00 new_primModNatS01(vyv331, vyv332, Succ(vyv3330), Zero) -> new_primModNatS02(vyv331, vyv332) 214.33/146.00 new_primModNatS01(vyv331, vyv332, Succ(vyv3330), Succ(vyv3340)) -> new_primModNatS01(vyv331, vyv332, vyv3330, vyv3340) 214.33/146.00 new_primModNatS01(vyv331, vyv332, Zero, Succ(vyv3340)) -> Succ(Succ(vyv331)) 214.33/146.00 new_gcd1(True, vyv273, vyv272) -> new_error 214.33/146.00 new_gcd1(False, vyv273, vyv272) -> new_gcd0(vyv273, vyv272) 214.33/146.00 new_primEqInt(Neg(Succ(vyv242000))) -> False 214.33/146.00 new_primEqInt(Pos(Zero)) -> True 214.33/146.00 new_primEqInt(Pos(Succ(vyv242000))) -> False 214.33/146.00 new_primEqInt(Neg(Zero)) -> True 214.33/146.00 new_primQuotInt(vyv2710, Pos(Succ(vyv28500))) -> Pos(new_primDivNatS1(vyv2710, vyv28500)) 214.33/146.00 new_primQuotInt(vyv2710, Neg(Zero)) -> new_error 214.33/146.00 new_primQuotInt(vyv2710, Pos(Zero)) -> new_error 214.33/146.00 new_primQuotInt(vyv2710, Neg(Succ(vyv28500))) -> Neg(new_primDivNatS1(vyv2710, vyv28500)) 214.33/146.00 new_primMulNat0(Zero, Succ(vyv23900)) -> Zero 214.33/146.00 new_primMulNat0(Succ(vyv24000), Succ(vyv23900)) -> new_primPlusNat0(new_primMulNat0(vyv24000, Succ(vyv23900)), Succ(vyv23900)) 214.33/146.00 new_primMulNat0(Succ(vyv24000), Zero) -> Zero 214.33/146.00 new_primMulNat0(Zero, Zero) -> Zero 214.33/146.00 new_primPlusNat0(Succ(vyv4000), Succ(vyv6000)) -> Succ(Succ(new_primPlusNat0(vyv4000, vyv6000))) 214.33/146.00 new_primPlusNat0(Zero, Succ(vyv6000)) -> Succ(vyv6000) 214.33/146.00 new_primPlusNat0(Zero, Zero) -> Zero 214.33/146.00 new_primPlusNat0(Succ(vyv4000), Zero) -> Succ(vyv4000) 214.33/146.00 new_sr6(vyv184) -> error([]) 214.33/146.00 new_esEs1(Integer(vyv2700)) -> new_primEqInt(vyv2700) 214.33/146.00 new_sr7(Pos(vyv1840)) -> Pos(new_primMulNat1(vyv1840)) 214.33/146.00 new_sr7(Neg(vyv1840)) -> Pos(new_primMulNat1(vyv1840)) 214.33/146.00 new_primMulNat1(Succ(vyv18400)) -> new_primPlusNat0(new_primMulNat2(vyv18400), Succ(vyv18400)) 214.33/146.00 new_primMulNat1(Zero) -> Zero 214.33/146.00 new_primMulNat2(Succ(vyv184000)) -> new_primPlusNat0(new_primMulNat3(vyv184000), Succ(Succ(vyv184000))) 214.33/146.00 new_primMulNat2(Zero) -> Zero 214.33/146.00 new_primMulNat3(Succ(vyv1840000)) -> new_primPlusNat0(new_primMulNat4(vyv1840000), Succ(Succ(Succ(vyv1840000)))) 214.33/146.00 new_primMulNat3(Zero) -> Zero 214.33/146.00 new_primMulNat4(Succ(vyv18400000)) -> new_primPlusNat0(new_primMulNat0(vyv18400000, Succ(Succ(Succ(Succ(vyv18400000))))), Succ(Succ(Succ(Succ(vyv18400000))))) 214.33/146.00 new_primMulNat4(Zero) -> Zero 214.33/146.00 new_sr12(vyv184) -> error([]) 214.33/146.00 new_sr11(vyv184) -> error([]) 214.33/146.00 new_sr4(vyv240, vyv239, app(ty_Ratio, be)) -> new_sr8(vyv240, vyv239, be) 214.33/146.00 new_sr4(vyv240, vyv239, ty_Float) -> new_sr14(vyv240, vyv239) 214.33/146.00 new_sr4(vyv240, vyv239, ty_Int) -> new_sr10(vyv240, vyv239) 214.33/146.00 new_sr4(vyv240, vyv239, ty_Double) -> new_sr13(vyv240, vyv239) 214.33/146.00 new_sr4(vyv240, vyv239, ty_Integer) -> new_sr9(vyv240, vyv239) 214.33/146.00 new_sr13(vyv240, vyv239) -> error([]) 214.33/146.00 new_sr14(vyv240, vyv239) -> error([]) 214.33/146.00 new_sr8(:%(vyv2400, vyv2401), :%(vyv2390, vyv2391), be) -> new_reduce2Reduce1(vyv2400, vyv2390, vyv2401, vyv2391, new_esEs2(vyv2401, vyv2391, be), be) 214.33/146.00 new_esEs2(vyv2401, vyv2391, ty_Integer) -> new_esEs1(new_sr9(vyv2401, vyv2391)) 214.33/146.00 new_esEs2(vyv2401, vyv2391, ty_Int) -> new_esEs(new_sr10(vyv2401, vyv2391)) 214.33/146.00 214.33/146.00 The set Q consists of the following terms: 214.33/146.00 214.33/146.00 new_sr13(x0, x1) 214.33/146.00 new_primDivNatS01(x0, x1, Zero, Zero) 214.33/146.00 new_gcd0Gcd'11(False, x0, x1) 214.33/146.00 new_primMulNat4(Zero) 214.33/146.00 new_gcd0Gcd'11(True, x0, x1) 214.33/146.00 new_sr5(:%(x0, x1), x2) 214.33/146.00 new_primEqInt(Pos(Zero)) 214.33/146.00 new_esEs(Pos(Succ(x0))) 214.33/146.00 new_primQuotInt0(x0, Neg(Zero)) 214.33/146.00 new_primMulNat3(Zero) 214.33/146.00 new_primModNatS02(x0, x1) 214.33/146.00 new_primDivNatS1(Succ(Zero), Zero) 214.33/146.00 new_primMinusNatS0(x0) 214.33/146.00 new_sr11(x0) 214.33/146.00 new_rem(Pos(x0), Neg(Succ(x1))) 214.33/146.00 new_rem(Neg(x0), Pos(Succ(x1))) 214.33/146.00 new_primMulNat0(Zero, Zero) 214.33/146.00 new_primPlusNat0(Succ(x0), Zero) 214.33/146.00 new_primMulNat0(Succ(x0), Zero) 214.33/146.00 new_sr3(x0, ty_Float) 214.33/146.00 new_primMulNat2(Zero) 214.33/146.00 new_primQuotInt(x0, Pos(Zero)) 214.33/146.00 new_primMulNat2(Succ(x0)) 214.33/146.00 new_primQuotInt(x0, Neg(Zero)) 214.33/146.00 new_rem(Neg(x0), Neg(Succ(x1))) 214.33/146.00 new_primMinusNatS2(Zero, Succ(x0)) 214.33/146.00 new_sr4(x0, x1, ty_Double) 214.33/146.00 new_primMulNat3(Succ(x0)) 214.33/146.00 new_esEs1(Integer(x0)) 214.33/146.00 new_primQuotInt0(x0, Pos(Zero)) 214.33/146.00 new_gcd2(True, x0, x1) 214.33/146.00 new_quot1(x0, x1, x2, x3, ty_Int) 214.33/146.00 new_primDivNatS1(Zero, x0) 214.33/146.00 new_gcd(x0, x1) 214.33/146.00 new_gcd1(False, x0, x1) 214.33/146.00 new_esEs2(x0, x1, ty_Int) 214.33/146.00 new_sr3(x0, ty_Integer) 214.33/146.00 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 214.33/146.00 new_primPlusNat0(Zero, Succ(x0)) 214.33/146.00 new_sr8(:%(x0, x1), :%(x2, x3), x4) 214.33/146.00 new_abs(Neg(Zero)) 214.33/146.00 new_primMinusNatS2(Succ(x0), Zero) 214.33/146.00 new_error 214.33/146.00 new_primModNatS1(Succ(Zero), Zero) 214.33/146.00 new_primMulNat4(Succ(x0)) 214.33/146.00 new_primDivNatS02(x0, x1) 214.33/146.00 new_rem(Neg(x0), Neg(Zero)) 214.33/146.00 new_primEqInt(Neg(Zero)) 214.33/146.00 new_rem(Pos(x0), Pos(Succ(x1))) 214.33/146.00 new_abs(Pos(Succ(x0))) 214.33/146.00 new_primMulNat0(Succ(x0), Succ(x1)) 214.33/146.00 new_primMulNat0(Zero, Succ(x0)) 214.33/146.00 new_reduce2Reduce1(x0, x1, x2, x3, True, x4) 214.33/146.00 new_gcd0Gcd'10(False, x0, x1) 214.33/146.00 new_sr12(x0) 214.33/146.00 new_primDivNatS01(x0, x1, Zero, Succ(x2)) 214.33/146.00 new_sr10(Pos(x0), Pos(x1)) 214.33/146.00 new_primModNatS01(x0, x1, Zero, Succ(x2)) 214.33/146.00 new_primPlusNat0(Zero, Zero) 214.33/146.00 new_primQuotInt0(x0, Pos(Succ(x1))) 214.33/146.00 new_primModNatS01(x0, x1, Succ(x2), Zero) 214.33/146.00 new_primModNatS1(Succ(Succ(x0)), Zero) 214.33/146.00 new_sr4(x0, x1, ty_Integer) 214.33/146.00 new_rem(Pos(x0), Pos(Zero)) 214.33/146.00 new_sr4(x0, x1, ty_Int) 214.33/146.00 new_quot(Pos(x0), x1, x2) 214.33/146.00 new_primMinusNatS2(Zero, Zero) 214.33/146.00 new_esEs0(x0, ty_Int) 214.33/146.00 new_esEs(Pos(Zero)) 214.33/146.00 new_quot(Neg(x0), x1, x2) 214.33/146.00 new_primDivNatS01(x0, x1, Succ(x2), Succ(x3)) 214.33/146.00 new_quot2(x0, x1, x2) 214.33/146.00 new_primEqInt(Neg(Succ(x0))) 214.33/146.00 new_sr10(Neg(x0), Neg(x1)) 214.33/146.00 new_sr3(x0, app(ty_Ratio, x1)) 214.33/146.00 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 214.33/146.00 new_sr9(x0, x1) 214.33/146.00 new_sr7(Neg(x0)) 214.33/146.00 new_primQuotInt0(x0, Neg(Succ(x1))) 214.33/146.00 new_rem(Pos(x0), Neg(Zero)) 214.33/146.00 new_rem(Neg(x0), Pos(Zero)) 214.33/146.00 new_gcd0Gcd'00(x0, x1) 214.33/146.00 new_primQuotInt(x0, Neg(Succ(x1))) 214.33/146.00 new_primMinusNatS2(Succ(x0), Succ(x1)) 214.33/146.00 new_abs(Pos(Zero)) 214.33/146.00 new_quot0(x0, x1, x2, x3, ty_Integer) 214.33/146.00 new_sr6(x0) 214.33/146.00 new_gcd2(False, x0, x1) 214.33/146.00 new_gcd1(True, x0, x1) 214.33/146.00 new_esEs2(x0, x1, ty_Integer) 214.33/146.00 new_primMinusNatS1 214.33/146.00 new_sr7(Pos(x0)) 214.33/146.00 new_gcd0Gcd'10(True, x0, x1) 214.33/146.00 new_primModNatS1(Zero, x0) 214.33/146.00 new_sr4(x0, x1, ty_Float) 214.33/146.00 new_sr10(Pos(x0), Neg(x1)) 214.33/146.00 new_sr10(Neg(x0), Pos(x1)) 214.33/146.00 new_primDivNatS01(x0, x1, Succ(x2), Zero) 214.33/146.00 new_primDivNatS1(Succ(Succ(x0)), Succ(x1)) 214.33/146.00 new_primPlusNat0(Succ(x0), Succ(x1)) 214.33/146.00 new_primDivNatS1(Succ(Zero), Succ(x0)) 214.33/146.00 new_primQuotInt(x0, Pos(Succ(x1))) 214.33/146.00 new_abs(Neg(Succ(x0))) 214.33/146.00 new_esEs0(x0, ty_Integer) 214.33/146.00 new_sr3(x0, ty_Int) 214.33/146.00 new_esEs(Neg(Succ(x0))) 214.33/146.00 new_primModNatS01(x0, x1, Zero, Zero) 214.33/146.00 new_sr4(x0, x1, app(ty_Ratio, x2)) 214.33/146.00 new_gcd0(x0, x1) 214.33/146.00 new_primEqInt(Pos(Succ(x0))) 214.33/146.00 new_sr3(x0, ty_Double) 214.33/146.00 new_quot1(x0, x1, x2, x3, ty_Integer) 214.33/146.00 new_primDivNatS1(Succ(Succ(x0)), Zero) 214.33/146.00 new_primMulNat1(Succ(x0)) 214.33/146.00 new_sr14(x0, x1) 214.33/146.00 new_quot0(x0, x1, x2, x3, ty_Int) 214.33/146.00 new_primModNatS1(Succ(Zero), Succ(x0)) 214.33/146.00 new_reduce2Reduce1(x0, x1, x2, x3, False, x4) 214.33/146.00 new_esEs(Neg(Zero)) 214.33/146.00 new_primMulNat1(Zero) 214.33/146.00 new_new_pr2F0G10(Succ(Succ(x0))) 214.33/146.00 new_new_pr2F0G10(Succ(Zero)) 214.33/146.00 new_new_pr2F0G10(Zero) 214.33/146.00 214.33/146.00 We have to consider all minimal (P,Q,R)-chains. 214.33/146.00 ---------------------------------------- 214.33/146.00 214.33/146.00 (838) TransformationProof (EQUIVALENT) 214.33/146.00 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_primDivNatS01(x0, Zero, x0, Zero))), y3) at position [2,0,0] we obtained the following new rules [LPAR04]: 214.33/146.00 214.33/146.00 (new_pr2F0G10(y0, y1, Succ(Succ(Succ(Succ(x2)))), Zero, y3) -> new_pr2F0G(y0, new_sr3(y1, y3), Neg(Succ(new_primDivNatS02(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_primDivNatS02(Succ(x2), Zero))), y3)) 214.33/146.00 (new_pr2F0G10(y0, y1, Succ(Succ(Succ(Zero))), Zero, y3) -> new_pr2F0G(y0, new_sr3(y1, y3), Neg(Succ(new_primDivNatS02(Zero, Zero))), y3),new_pr2F0G10(y0, y1, Succ(Succ(Succ(Zero))), Zero, y3) -> new_pr2F0G(y0, new_sr3(y1, y3), Neg(Succ(new_primDivNatS02(Zero, Zero))), y3)) 214.33/146.00 214.33/146.00 214.33/146.00 ---------------------------------------- 214.33/146.00 214.33/146.00 (839) 214.33/146.00 Obligation: 214.33/146.00 Q DP problem: 214.33/146.00 The TRS P consists of the following rules: 214.33/146.00 214.33/146.00 new_pr2F0(vyv184, Neg(Succ(Succ(vyv223000))), vyv188, h) -> new_pr2F0G10(vyv188, vyv184, Succ(vyv223000), vyv223000, h) 214.33/146.00 new_pr2F0G10(vyv249, vyv250, vyv251, Succ(Zero), bb) -> new_pr2F0G11(vyv249, vyv250, vyv251, bb) 214.33/146.00 new_pr2F0G11(vyv239, vyv240, vyv241, bc) -> new_pr2F1(vyv240, vyv241, Pos(Succ(Zero)), vyv239, bc) 214.33/146.00 new_pr2F1(z1, z2, Pos(Succ(Zero)), z0, z3) -> new_pr2F30(False, z1, z2, Pos(Succ(Zero)), z0, z3) 214.33/146.00 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) 214.33/146.00 H(vyv249, vyv250, vyv251, bb, cons_new_pr2F0G10(Succ(Zero))) -> new_pr2F0G10(vyv249, vyv250, vyv251, Succ(Zero), bb) 214.33/146.00 H(vyv249, vyv250, vyv251, bb, cons_new_pr2F0G10(Zero)) -> new_pr2F0G10(vyv249, vyv250, vyv251, Zero, bb) 214.33/146.00 new_pr2F0G(vyv188, vyv184, Neg(Succ(Zero)), h) -> new_pr2F0G11(vyv188, vyv184, Zero, h) 214.33/146.00 new_pr2F0G(vyv188, vyv184, Neg(Succ(Succ(vyv223000))), h) -> new_pr2F0G10(vyv188, vyv184, Succ(vyv223000), vyv223000, h) 214.33/146.00 new_pr2F0G10(y0, y1, Succ(Zero), Zero, y3) -> new_pr2F0G(y0, new_sr3(y1, y3), Neg(Succ(Zero)), y3) 214.33/146.00 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))) 214.33/146.00 new_pr2F0(y0, Neg(Succ(Succ(Succ(Succ(Zero))))), y2, y3) -> H(y2, y0, Succ(Succ(Succ(Zero))), y3, cons_new_pr2F0G10(Zero)) 214.33/146.00 new_pr2F0G10(y0, y1, Succ(Succ(Zero)), Zero, y3) -> new_pr2F0G(y0, new_sr3(y1, y3), Neg(Succ(Zero)), y3) 214.33/146.00 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)) 214.33/146.00 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))) 214.33/146.00 new_pr2F0G(y0, y1, Neg(Succ(Succ(Succ(Succ(Zero))))), y3) -> H(y0, y1, Succ(Succ(Succ(Zero))), y3, cons_new_pr2F0G10(Zero)) 214.33/146.00 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)) 214.33/146.00 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))) 214.33/146.00 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)) 214.33/146.00 new_pr2F0G10(y0, y1, Succ(Succ(Succ(Succ(x2)))), Zero, y3) -> new_pr2F0G(y0, new_sr3(y1, y3), Neg(Succ(new_primDivNatS02(Succ(x2), Zero))), y3) 214.33/146.00 new_pr2F0G10(y0, y1, Succ(Succ(Succ(Zero))), Zero, y3) -> new_pr2F0G(y0, new_sr3(y1, y3), Neg(Succ(new_primDivNatS02(Zero, Zero))), y3) 214.33/146.00 214.33/146.00 The TRS R consists of the following rules: 214.33/146.00 214.33/146.00 new_new_pr2F0G10(Succ(Succ(vyv25200))) -> new_new_pr2F0G10(vyv25200) 214.33/146.00 new_new_pr2F0G10(Succ(Zero)) -> cons_new_pr2F0G10(Succ(Zero)) 214.33/146.00 new_new_pr2F0G10(Zero) -> cons_new_pr2F0G10(Zero) 214.33/146.00 new_sr3(vyv250, ty_Double) -> new_sr11(vyv250) 214.33/146.00 new_sr3(vyv250, ty_Int) -> new_sr7(vyv250) 214.33/146.00 new_sr3(vyv250, ty_Float) -> new_sr12(vyv250) 214.33/146.00 new_sr3(vyv250, ty_Integer) -> new_sr6(vyv250) 214.33/146.00 new_sr3(vyv250, app(ty_Ratio, bf)) -> new_sr5(vyv250, bf) 214.33/146.00 new_sr5(:%(vyv1840, vyv1841), bd) -> new_reduce2Reduce1(vyv1840, vyv1840, vyv1841, vyv1841, new_esEs0(vyv1841, bd), bd) 214.33/146.00 new_esEs0(vyv1841, ty_Int) -> new_esEs(new_sr7(vyv1841)) 214.33/146.00 new_esEs0(vyv1841, ty_Integer) -> new_esEs1(new_sr6(vyv1841)) 214.33/146.00 new_reduce2Reduce1(vyv265, vyv266, vyv267, vyv268, False, bh) -> :%(new_quot0(vyv265, vyv266, vyv267, vyv268, bh), new_quot1(vyv267, vyv268, vyv265, vyv266, bh)) 214.33/146.00 new_reduce2Reduce1(vyv265, vyv266, vyv267, vyv268, True, bh) -> error([]) 214.33/146.00 new_quot0(vyv265, vyv266, vyv267, vyv268, ty_Integer) -> new_quot2(new_sr9(vyv265, vyv266), new_sr9(vyv265, vyv266), new_sr9(vyv267, vyv268)) 214.33/146.00 new_quot0(vyv265, vyv266, vyv267, vyv268, ty_Int) -> new_quot(new_sr10(vyv265, vyv266), new_sr10(vyv265, vyv266), new_sr10(vyv267, vyv268)) 214.33/146.00 new_quot1(vyv267, vyv268, vyv265, vyv266, ty_Int) -> new_quot(new_sr10(vyv267, vyv268), new_sr10(vyv265, vyv266), new_sr10(vyv267, vyv268)) 214.33/146.00 new_quot1(vyv267, vyv268, vyv265, vyv266, ty_Integer) -> new_quot2(new_sr9(vyv267, vyv268), new_sr9(vyv265, vyv266), new_sr9(vyv267, vyv268)) 214.33/146.00 new_sr9(vyv240, vyv239) -> error([]) 214.33/146.00 new_quot2(vyv274, vyv276, vyv275) -> error([]) 214.33/146.00 new_sr10(Pos(vyv2400), Pos(vyv2390)) -> Pos(new_primMulNat0(vyv2400, vyv2390)) 214.33/146.00 new_sr10(Neg(vyv2400), Neg(vyv2390)) -> Pos(new_primMulNat0(vyv2400, vyv2390)) 214.33/146.00 new_sr10(Pos(vyv2400), Neg(vyv2390)) -> Neg(new_primMulNat0(vyv2400, vyv2390)) 214.33/146.00 new_sr10(Neg(vyv2400), Pos(vyv2390)) -> Neg(new_primMulNat0(vyv2400, vyv2390)) 214.33/146.00 new_quot(Pos(vyv2710), vyv273, vyv272) -> new_primQuotInt(vyv2710, new_gcd(vyv273, vyv272)) 214.33/146.00 new_quot(Neg(vyv2710), vyv273, vyv272) -> new_primQuotInt0(vyv2710, new_gcd(vyv273, vyv272)) 214.33/146.00 new_gcd(vyv273, vyv272) -> new_gcd2(new_esEs(vyv273), vyv273, vyv272) 214.33/146.00 new_primQuotInt0(vyv2710, Pos(Succ(vyv28800))) -> Neg(new_primDivNatS1(vyv2710, vyv28800)) 214.33/146.00 new_primQuotInt0(vyv2710, Neg(Zero)) -> new_error 214.33/146.00 new_primQuotInt0(vyv2710, Neg(Succ(vyv28800))) -> Pos(new_primDivNatS1(vyv2710, vyv28800)) 214.33/146.00 new_primQuotInt0(vyv2710, Pos(Zero)) -> new_error 214.33/146.00 new_error -> error([]) 214.33/146.00 new_primDivNatS1(Succ(Zero), Succ(vyv285000)) -> Zero 214.33/146.00 new_primDivNatS1(Succ(Succ(vyv271000)), Succ(vyv285000)) -> new_primDivNatS01(vyv271000, vyv285000, vyv271000, vyv285000) 214.33/146.00 new_primDivNatS1(Zero, vyv28500) -> Zero 214.33/146.00 new_primDivNatS1(Succ(Succ(vyv271000)), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS0(vyv271000), Zero)) 214.33/146.00 new_primDivNatS1(Succ(Zero), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS1, Zero)) 214.33/146.00 new_primMinusNatS1 -> Zero 214.33/146.00 new_primMinusNatS0(vyv271000) -> Succ(vyv271000) 214.33/146.00 new_primDivNatS01(vyv311, vyv312, Succ(vyv3130), Zero) -> new_primDivNatS02(vyv311, vyv312) 214.33/146.00 new_primDivNatS01(vyv311, vyv312, Zero, Succ(vyv3140)) -> Zero 214.33/146.00 new_primDivNatS01(vyv311, vyv312, Succ(vyv3130), Succ(vyv3140)) -> new_primDivNatS01(vyv311, vyv312, vyv3130, vyv3140) 214.33/146.00 new_primDivNatS01(vyv311, vyv312, Zero, Zero) -> new_primDivNatS02(vyv311, vyv312) 214.33/146.00 new_primDivNatS02(vyv311, vyv312) -> Succ(new_primDivNatS1(new_primMinusNatS2(vyv311, vyv312), Succ(vyv312))) 214.33/146.00 new_primMinusNatS2(Zero, Succ(vyv3120)) -> Zero 214.33/146.00 new_primMinusNatS2(Succ(vyv3110), Zero) -> Succ(vyv3110) 214.33/146.00 new_primMinusNatS2(Zero, Zero) -> Zero 214.33/146.00 new_primMinusNatS2(Succ(vyv3110), Succ(vyv3120)) -> new_primMinusNatS2(vyv3110, vyv3120) 214.33/146.00 new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) 214.33/146.00 new_esEs(Pos(Succ(vyv24300))) -> new_primEqInt(Pos(Succ(vyv24300))) 214.33/146.00 new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) 214.33/146.00 new_esEs(Neg(Succ(vyv24300))) -> new_primEqInt(Neg(Succ(vyv24300))) 214.33/146.00 new_gcd2(True, vyv273, vyv272) -> new_gcd1(new_esEs(vyv272), vyv273, vyv272) 214.33/146.00 new_gcd2(False, vyv273, vyv272) -> new_gcd0(vyv273, vyv272) 214.33/146.00 new_gcd0(vyv273, vyv272) -> new_gcd0Gcd'11(new_esEs(new_abs(vyv272)), vyv273, vyv272) 214.33/146.00 new_abs(Neg(Zero)) -> Neg(Zero) 214.33/146.00 new_abs(Neg(Succ(vyv27200))) -> Pos(Succ(vyv27200)) 214.33/146.00 new_abs(Pos(Succ(vyv27200))) -> Pos(Succ(vyv27200)) 214.33/146.00 new_abs(Pos(Zero)) -> Pos(Zero) 214.33/146.00 new_gcd0Gcd'11(True, vyv273, vyv272) -> new_abs(vyv273) 214.33/146.00 new_gcd0Gcd'11(False, vyv273, vyv272) -> new_gcd0Gcd'00(new_abs(vyv273), new_abs(vyv272)) 214.33/146.00 new_gcd0Gcd'00(vyv293, vyv292) -> new_gcd0Gcd'10(new_esEs(new_rem(vyv293, vyv292)), vyv292, vyv293) 214.33/146.00 new_gcd0Gcd'10(False, vyv292, vyv293) -> new_gcd0Gcd'00(vyv292, new_rem(vyv293, vyv292)) 214.33/146.00 new_rem(Pos(vyv2930), Neg(Zero)) -> new_error 214.33/146.00 new_rem(Neg(vyv2930), Pos(Zero)) -> new_error 214.33/146.00 new_rem(Pos(vyv2930), Neg(Succ(vyv29200))) -> Pos(new_primModNatS1(vyv2930, vyv29200)) 214.33/146.00 new_rem(Neg(vyv2930), Pos(Succ(vyv29200))) -> Neg(new_primModNatS1(vyv2930, vyv29200)) 214.33/146.00 new_rem(Pos(vyv2930), Pos(Succ(vyv29200))) -> Pos(new_primModNatS1(vyv2930, vyv29200)) 214.33/146.00 new_rem(Neg(vyv2930), Neg(Zero)) -> new_error 214.33/146.00 new_rem(Neg(vyv2930), Neg(Succ(vyv29200))) -> Neg(new_primModNatS1(vyv2930, vyv29200)) 214.33/146.00 new_rem(Pos(vyv2930), Pos(Zero)) -> new_error 214.33/146.00 new_gcd0Gcd'10(True, vyv292, vyv293) -> vyv292 214.33/146.00 new_primModNatS1(Succ(Zero), Succ(vyv292000)) -> Succ(Zero) 214.33/146.00 new_primModNatS1(Zero, vyv29200) -> Zero 214.33/146.00 new_primModNatS1(Succ(Succ(vyv293000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv293000), Zero) 214.33/146.00 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 214.33/146.00 new_primModNatS1(Succ(Succ(vyv293000)), Succ(vyv292000)) -> new_primModNatS01(vyv293000, vyv292000, vyv293000, vyv292000) 214.33/146.00 new_primModNatS01(vyv331, vyv332, Zero, Zero) -> new_primModNatS02(vyv331, vyv332) 214.33/146.00 new_primModNatS02(vyv331, vyv332) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv331), Succ(vyv332)), Succ(vyv332)) 214.33/146.00 new_primModNatS01(vyv331, vyv332, Succ(vyv3330), Zero) -> new_primModNatS02(vyv331, vyv332) 214.33/146.00 new_primModNatS01(vyv331, vyv332, Succ(vyv3330), Succ(vyv3340)) -> new_primModNatS01(vyv331, vyv332, vyv3330, vyv3340) 214.33/146.00 new_primModNatS01(vyv331, vyv332, Zero, Succ(vyv3340)) -> Succ(Succ(vyv331)) 214.33/146.00 new_gcd1(True, vyv273, vyv272) -> new_error 214.33/146.00 new_gcd1(False, vyv273, vyv272) -> new_gcd0(vyv273, vyv272) 214.33/146.00 new_primEqInt(Neg(Succ(vyv242000))) -> False 214.33/146.00 new_primEqInt(Pos(Zero)) -> True 214.33/146.00 new_primEqInt(Pos(Succ(vyv242000))) -> False 214.33/146.00 new_primEqInt(Neg(Zero)) -> True 214.33/146.00 new_primQuotInt(vyv2710, Pos(Succ(vyv28500))) -> Pos(new_primDivNatS1(vyv2710, vyv28500)) 214.33/146.00 new_primQuotInt(vyv2710, Neg(Zero)) -> new_error 214.33/146.00 new_primQuotInt(vyv2710, Pos(Zero)) -> new_error 214.33/146.00 new_primQuotInt(vyv2710, Neg(Succ(vyv28500))) -> Neg(new_primDivNatS1(vyv2710, vyv28500)) 214.33/146.00 new_primMulNat0(Zero, Succ(vyv23900)) -> Zero 214.33/146.00 new_primMulNat0(Succ(vyv24000), Succ(vyv23900)) -> new_primPlusNat0(new_primMulNat0(vyv24000, Succ(vyv23900)), Succ(vyv23900)) 214.33/146.00 new_primMulNat0(Succ(vyv24000), Zero) -> Zero 214.33/146.00 new_primMulNat0(Zero, Zero) -> Zero 214.33/146.00 new_primPlusNat0(Succ(vyv4000), Succ(vyv6000)) -> Succ(Succ(new_primPlusNat0(vyv4000, vyv6000))) 214.33/146.00 new_primPlusNat0(Zero, Succ(vyv6000)) -> Succ(vyv6000) 214.33/146.00 new_primPlusNat0(Zero, Zero) -> Zero 214.33/146.00 new_primPlusNat0(Succ(vyv4000), Zero) -> Succ(vyv4000) 214.33/146.00 new_sr6(vyv184) -> error([]) 214.33/146.00 new_esEs1(Integer(vyv2700)) -> new_primEqInt(vyv2700) 214.33/146.00 new_sr7(Pos(vyv1840)) -> Pos(new_primMulNat1(vyv1840)) 214.33/146.00 new_sr7(Neg(vyv1840)) -> Pos(new_primMulNat1(vyv1840)) 214.33/146.00 new_primMulNat1(Succ(vyv18400)) -> new_primPlusNat0(new_primMulNat2(vyv18400), Succ(vyv18400)) 214.33/146.00 new_primMulNat1(Zero) -> Zero 214.33/146.00 new_primMulNat2(Succ(vyv184000)) -> new_primPlusNat0(new_primMulNat3(vyv184000), Succ(Succ(vyv184000))) 214.33/146.00 new_primMulNat2(Zero) -> Zero 214.33/146.00 new_primMulNat3(Succ(vyv1840000)) -> new_primPlusNat0(new_primMulNat4(vyv1840000), Succ(Succ(Succ(vyv1840000)))) 214.33/146.00 new_primMulNat3(Zero) -> Zero 214.33/146.00 new_primMulNat4(Succ(vyv18400000)) -> new_primPlusNat0(new_primMulNat0(vyv18400000, Succ(Succ(Succ(Succ(vyv18400000))))), Succ(Succ(Succ(Succ(vyv18400000))))) 214.33/146.00 new_primMulNat4(Zero) -> Zero 214.33/146.00 new_sr12(vyv184) -> error([]) 214.33/146.00 new_sr11(vyv184) -> error([]) 214.33/146.00 new_sr4(vyv240, vyv239, app(ty_Ratio, be)) -> new_sr8(vyv240, vyv239, be) 214.33/146.00 new_sr4(vyv240, vyv239, ty_Float) -> new_sr14(vyv240, vyv239) 214.33/146.00 new_sr4(vyv240, vyv239, ty_Int) -> new_sr10(vyv240, vyv239) 214.33/146.00 new_sr4(vyv240, vyv239, ty_Double) -> new_sr13(vyv240, vyv239) 214.33/146.00 new_sr4(vyv240, vyv239, ty_Integer) -> new_sr9(vyv240, vyv239) 214.33/146.00 new_sr13(vyv240, vyv239) -> error([]) 214.33/146.00 new_sr14(vyv240, vyv239) -> error([]) 214.33/146.00 new_sr8(:%(vyv2400, vyv2401), :%(vyv2390, vyv2391), be) -> new_reduce2Reduce1(vyv2400, vyv2390, vyv2401, vyv2391, new_esEs2(vyv2401, vyv2391, be), be) 214.33/146.00 new_esEs2(vyv2401, vyv2391, ty_Integer) -> new_esEs1(new_sr9(vyv2401, vyv2391)) 214.33/146.00 new_esEs2(vyv2401, vyv2391, ty_Int) -> new_esEs(new_sr10(vyv2401, vyv2391)) 214.33/146.00 214.33/146.00 The set Q consists of the following terms: 214.33/146.00 214.33/146.00 new_sr13(x0, x1) 214.33/146.00 new_primDivNatS01(x0, x1, Zero, Zero) 214.33/146.00 new_gcd0Gcd'11(False, x0, x1) 214.33/146.00 new_primMulNat4(Zero) 214.33/146.00 new_gcd0Gcd'11(True, x0, x1) 214.33/146.00 new_sr5(:%(x0, x1), x2) 214.33/146.00 new_primEqInt(Pos(Zero)) 214.33/146.00 new_esEs(Pos(Succ(x0))) 214.33/146.00 new_primQuotInt0(x0, Neg(Zero)) 214.33/146.00 new_primMulNat3(Zero) 214.33/146.00 new_primModNatS02(x0, x1) 214.33/146.00 new_primDivNatS1(Succ(Zero), Zero) 214.33/146.00 new_primMinusNatS0(x0) 214.33/146.00 new_sr11(x0) 214.33/146.00 new_rem(Pos(x0), Neg(Succ(x1))) 214.33/146.00 new_rem(Neg(x0), Pos(Succ(x1))) 214.33/146.00 new_primMulNat0(Zero, Zero) 214.33/146.00 new_primPlusNat0(Succ(x0), Zero) 214.33/146.00 new_primMulNat0(Succ(x0), Zero) 214.33/146.00 new_sr3(x0, ty_Float) 214.33/146.00 new_primMulNat2(Zero) 214.33/146.00 new_primQuotInt(x0, Pos(Zero)) 214.33/146.00 new_primMulNat2(Succ(x0)) 214.33/146.00 new_primQuotInt(x0, Neg(Zero)) 214.33/146.00 new_rem(Neg(x0), Neg(Succ(x1))) 214.33/146.00 new_primMinusNatS2(Zero, Succ(x0)) 214.33/146.00 new_sr4(x0, x1, ty_Double) 214.33/146.00 new_primMulNat3(Succ(x0)) 214.33/146.00 new_esEs1(Integer(x0)) 214.33/146.00 new_primQuotInt0(x0, Pos(Zero)) 214.33/146.00 new_gcd2(True, x0, x1) 214.33/146.00 new_quot1(x0, x1, x2, x3, ty_Int) 214.33/146.00 new_primDivNatS1(Zero, x0) 214.33/146.00 new_gcd(x0, x1) 214.33/146.00 new_gcd1(False, x0, x1) 214.33/146.00 new_esEs2(x0, x1, ty_Int) 214.33/146.00 new_sr3(x0, ty_Integer) 214.33/146.00 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 214.33/146.00 new_primPlusNat0(Zero, Succ(x0)) 214.33/146.00 new_sr8(:%(x0, x1), :%(x2, x3), x4) 214.33/146.00 new_abs(Neg(Zero)) 214.33/146.00 new_primMinusNatS2(Succ(x0), Zero) 214.33/146.00 new_error 214.33/146.00 new_primModNatS1(Succ(Zero), Zero) 214.33/146.00 new_primMulNat4(Succ(x0)) 214.33/146.00 new_primDivNatS02(x0, x1) 214.33/146.00 new_rem(Neg(x0), Neg(Zero)) 214.33/146.00 new_primEqInt(Neg(Zero)) 214.33/146.00 new_rem(Pos(x0), Pos(Succ(x1))) 214.33/146.00 new_abs(Pos(Succ(x0))) 214.33/146.00 new_primMulNat0(Succ(x0), Succ(x1)) 214.33/146.00 new_primMulNat0(Zero, Succ(x0)) 214.33/146.00 new_reduce2Reduce1(x0, x1, x2, x3, True, x4) 214.33/146.00 new_gcd0Gcd'10(False, x0, x1) 214.33/146.00 new_sr12(x0) 214.33/146.00 new_primDivNatS01(x0, x1, Zero, Succ(x2)) 214.33/146.00 new_sr10(Pos(x0), Pos(x1)) 214.33/146.00 new_primModNatS01(x0, x1, Zero, Succ(x2)) 214.33/146.00 new_primPlusNat0(Zero, Zero) 214.33/146.00 new_primQuotInt0(x0, Pos(Succ(x1))) 214.33/146.00 new_primModNatS01(x0, x1, Succ(x2), Zero) 214.33/146.00 new_primModNatS1(Succ(Succ(x0)), Zero) 214.33/146.00 new_sr4(x0, x1, ty_Integer) 214.33/146.00 new_rem(Pos(x0), Pos(Zero)) 214.33/146.00 new_sr4(x0, x1, ty_Int) 214.33/146.00 new_quot(Pos(x0), x1, x2) 214.33/146.00 new_primMinusNatS2(Zero, Zero) 214.33/146.00 new_esEs0(x0, ty_Int) 214.33/146.00 new_esEs(Pos(Zero)) 214.33/146.00 new_quot(Neg(x0), x1, x2) 214.33/146.00 new_primDivNatS01(x0, x1, Succ(x2), Succ(x3)) 214.33/146.00 new_quot2(x0, x1, x2) 214.33/146.00 new_primEqInt(Neg(Succ(x0))) 214.33/146.00 new_sr10(Neg(x0), Neg(x1)) 214.33/146.00 new_sr3(x0, app(ty_Ratio, x1)) 214.33/146.00 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 214.33/146.00 new_sr9(x0, x1) 214.33/146.00 new_sr7(Neg(x0)) 214.33/146.00 new_primQuotInt0(x0, Neg(Succ(x1))) 214.33/146.00 new_rem(Pos(x0), Neg(Zero)) 214.33/146.00 new_rem(Neg(x0), Pos(Zero)) 214.33/146.00 new_gcd0Gcd'00(x0, x1) 214.33/146.00 new_primQuotInt(x0, Neg(Succ(x1))) 214.33/146.00 new_primMinusNatS2(Succ(x0), Succ(x1)) 214.33/146.00 new_abs(Pos(Zero)) 214.33/146.00 new_quot0(x0, x1, x2, x3, ty_Integer) 214.33/146.00 new_sr6(x0) 214.33/146.00 new_gcd2(False, x0, x1) 214.33/146.00 new_gcd1(True, x0, x1) 214.33/146.00 new_esEs2(x0, x1, ty_Integer) 214.33/146.00 new_primMinusNatS1 214.33/146.00 new_sr7(Pos(x0)) 214.33/146.00 new_gcd0Gcd'10(True, x0, x1) 214.33/146.00 new_primModNatS1(Zero, x0) 214.33/146.00 new_sr4(x0, x1, ty_Float) 214.33/146.00 new_sr10(Pos(x0), Neg(x1)) 214.33/146.00 new_sr10(Neg(x0), Pos(x1)) 214.33/146.00 new_primDivNatS01(x0, x1, Succ(x2), Zero) 214.33/146.00 new_primDivNatS1(Succ(Succ(x0)), Succ(x1)) 214.33/146.00 new_primPlusNat0(Succ(x0), Succ(x1)) 214.33/146.00 new_primDivNatS1(Succ(Zero), Succ(x0)) 214.33/146.00 new_primQuotInt(x0, Pos(Succ(x1))) 214.33/146.00 new_abs(Neg(Succ(x0))) 214.33/146.00 new_esEs0(x0, ty_Integer) 214.33/146.00 new_sr3(x0, ty_Int) 214.33/146.00 new_esEs(Neg(Succ(x0))) 214.33/146.00 new_primModNatS01(x0, x1, Zero, Zero) 214.33/146.00 new_sr4(x0, x1, app(ty_Ratio, x2)) 214.33/146.00 new_gcd0(x0, x1) 214.33/146.00 new_primEqInt(Pos(Succ(x0))) 214.33/146.00 new_sr3(x0, ty_Double) 214.33/146.00 new_quot1(x0, x1, x2, x3, ty_Integer) 214.33/146.00 new_primDivNatS1(Succ(Succ(x0)), Zero) 214.33/146.00 new_primMulNat1(Succ(x0)) 214.33/146.00 new_sr14(x0, x1) 214.33/146.00 new_quot0(x0, x1, x2, x3, ty_Int) 214.33/146.00 new_primModNatS1(Succ(Zero), Succ(x0)) 214.33/146.00 new_reduce2Reduce1(x0, x1, x2, x3, False, x4) 214.33/146.00 new_esEs(Neg(Zero)) 214.33/146.00 new_primMulNat1(Zero) 214.33/146.00 new_new_pr2F0G10(Succ(Succ(x0))) 214.33/146.00 new_new_pr2F0G10(Succ(Zero)) 214.33/146.00 new_new_pr2F0G10(Zero) 214.33/146.00 214.33/146.00 We have to consider all minimal (P,Q,R)-chains. 214.33/146.00 ---------------------------------------- 214.33/146.00 214.33/146.00 (840) TransformationProof (EQUIVALENT) 214.33/146.00 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_primDivNatS02(Succ(x2), Zero))), y3) at position [2,0,0] we obtained the following new rules [LPAR04]: 214.33/146.00 214.33/146.00 (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)) 214.33/146.00 214.33/146.00 214.33/146.00 ---------------------------------------- 214.33/146.00 214.33/146.00 (841) 214.33/146.00 Obligation: 214.33/146.00 Q DP problem: 214.33/146.00 The TRS P consists of the following rules: 214.33/146.00 214.33/146.00 new_pr2F0(vyv184, Neg(Succ(Succ(vyv223000))), vyv188, h) -> new_pr2F0G10(vyv188, vyv184, Succ(vyv223000), vyv223000, h) 214.33/146.00 new_pr2F0G10(vyv249, vyv250, vyv251, Succ(Zero), bb) -> new_pr2F0G11(vyv249, vyv250, vyv251, bb) 214.33/146.00 new_pr2F0G11(vyv239, vyv240, vyv241, bc) -> new_pr2F1(vyv240, vyv241, Pos(Succ(Zero)), vyv239, bc) 214.33/146.00 new_pr2F1(z1, z2, Pos(Succ(Zero)), z0, z3) -> new_pr2F30(False, z1, z2, Pos(Succ(Zero)), z0, z3) 214.33/146.00 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) 214.33/146.00 H(vyv249, vyv250, vyv251, bb, cons_new_pr2F0G10(Succ(Zero))) -> new_pr2F0G10(vyv249, vyv250, vyv251, Succ(Zero), bb) 214.33/146.00 H(vyv249, vyv250, vyv251, bb, cons_new_pr2F0G10(Zero)) -> new_pr2F0G10(vyv249, vyv250, vyv251, Zero, bb) 214.33/146.00 new_pr2F0G(vyv188, vyv184, Neg(Succ(Zero)), h) -> new_pr2F0G11(vyv188, vyv184, Zero, h) 214.33/146.00 new_pr2F0G(vyv188, vyv184, Neg(Succ(Succ(vyv223000))), h) -> new_pr2F0G10(vyv188, vyv184, Succ(vyv223000), vyv223000, h) 214.33/146.00 new_pr2F0G10(y0, y1, Succ(Zero), Zero, y3) -> new_pr2F0G(y0, new_sr3(y1, y3), Neg(Succ(Zero)), y3) 214.33/146.00 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))) 214.33/146.00 new_pr2F0(y0, Neg(Succ(Succ(Succ(Succ(Zero))))), y2, y3) -> H(y2, y0, Succ(Succ(Succ(Zero))), y3, cons_new_pr2F0G10(Zero)) 214.33/146.00 new_pr2F0G10(y0, y1, Succ(Succ(Zero)), Zero, y3) -> new_pr2F0G(y0, new_sr3(y1, y3), Neg(Succ(Zero)), y3) 214.33/146.00 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)) 214.33/146.00 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))) 214.33/146.00 new_pr2F0G(y0, y1, Neg(Succ(Succ(Succ(Succ(Zero))))), y3) -> H(y0, y1, Succ(Succ(Succ(Zero))), y3, cons_new_pr2F0G10(Zero)) 214.33/146.00 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)) 214.33/146.00 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))) 214.33/146.00 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)) 214.33/146.00 new_pr2F0G10(y0, y1, Succ(Succ(Succ(Zero))), Zero, y3) -> new_pr2F0G(y0, new_sr3(y1, y3), Neg(Succ(new_primDivNatS02(Zero, Zero))), y3) 214.33/146.00 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) 214.33/146.00 214.33/146.00 The TRS R consists of the following rules: 214.33/146.00 214.33/146.00 new_new_pr2F0G10(Succ(Succ(vyv25200))) -> new_new_pr2F0G10(vyv25200) 214.33/146.00 new_new_pr2F0G10(Succ(Zero)) -> cons_new_pr2F0G10(Succ(Zero)) 214.33/146.00 new_new_pr2F0G10(Zero) -> cons_new_pr2F0G10(Zero) 214.33/146.00 new_sr3(vyv250, ty_Double) -> new_sr11(vyv250) 214.33/146.00 new_sr3(vyv250, ty_Int) -> new_sr7(vyv250) 214.33/146.00 new_sr3(vyv250, ty_Float) -> new_sr12(vyv250) 214.33/146.00 new_sr3(vyv250, ty_Integer) -> new_sr6(vyv250) 214.33/146.00 new_sr3(vyv250, app(ty_Ratio, bf)) -> new_sr5(vyv250, bf) 214.33/146.00 new_sr5(:%(vyv1840, vyv1841), bd) -> new_reduce2Reduce1(vyv1840, vyv1840, vyv1841, vyv1841, new_esEs0(vyv1841, bd), bd) 214.33/146.00 new_esEs0(vyv1841, ty_Int) -> new_esEs(new_sr7(vyv1841)) 214.33/146.00 new_esEs0(vyv1841, ty_Integer) -> new_esEs1(new_sr6(vyv1841)) 214.33/146.00 new_reduce2Reduce1(vyv265, vyv266, vyv267, vyv268, False, bh) -> :%(new_quot0(vyv265, vyv266, vyv267, vyv268, bh), new_quot1(vyv267, vyv268, vyv265, vyv266, bh)) 214.33/146.00 new_reduce2Reduce1(vyv265, vyv266, vyv267, vyv268, True, bh) -> error([]) 214.33/146.00 new_quot0(vyv265, vyv266, vyv267, vyv268, ty_Integer) -> new_quot2(new_sr9(vyv265, vyv266), new_sr9(vyv265, vyv266), new_sr9(vyv267, vyv268)) 214.33/146.00 new_quot0(vyv265, vyv266, vyv267, vyv268, ty_Int) -> new_quot(new_sr10(vyv265, vyv266), new_sr10(vyv265, vyv266), new_sr10(vyv267, vyv268)) 214.33/146.00 new_quot1(vyv267, vyv268, vyv265, vyv266, ty_Int) -> new_quot(new_sr10(vyv267, vyv268), new_sr10(vyv265, vyv266), new_sr10(vyv267, vyv268)) 214.33/146.00 new_quot1(vyv267, vyv268, vyv265, vyv266, ty_Integer) -> new_quot2(new_sr9(vyv267, vyv268), new_sr9(vyv265, vyv266), new_sr9(vyv267, vyv268)) 214.33/146.00 new_sr9(vyv240, vyv239) -> error([]) 214.33/146.00 new_quot2(vyv274, vyv276, vyv275) -> error([]) 214.33/146.00 new_sr10(Pos(vyv2400), Pos(vyv2390)) -> Pos(new_primMulNat0(vyv2400, vyv2390)) 214.33/146.00 new_sr10(Neg(vyv2400), Neg(vyv2390)) -> Pos(new_primMulNat0(vyv2400, vyv2390)) 214.33/146.00 new_sr10(Pos(vyv2400), Neg(vyv2390)) -> Neg(new_primMulNat0(vyv2400, vyv2390)) 214.33/146.00 new_sr10(Neg(vyv2400), Pos(vyv2390)) -> Neg(new_primMulNat0(vyv2400, vyv2390)) 214.33/146.00 new_quot(Pos(vyv2710), vyv273, vyv272) -> new_primQuotInt(vyv2710, new_gcd(vyv273, vyv272)) 214.33/146.00 new_quot(Neg(vyv2710), vyv273, vyv272) -> new_primQuotInt0(vyv2710, new_gcd(vyv273, vyv272)) 214.33/146.00 new_gcd(vyv273, vyv272) -> new_gcd2(new_esEs(vyv273), vyv273, vyv272) 214.33/146.00 new_primQuotInt0(vyv2710, Pos(Succ(vyv28800))) -> Neg(new_primDivNatS1(vyv2710, vyv28800)) 214.33/146.00 new_primQuotInt0(vyv2710, Neg(Zero)) -> new_error 214.33/146.00 new_primQuotInt0(vyv2710, Neg(Succ(vyv28800))) -> Pos(new_primDivNatS1(vyv2710, vyv28800)) 214.33/146.00 new_primQuotInt0(vyv2710, Pos(Zero)) -> new_error 214.33/146.00 new_error -> error([]) 214.33/146.00 new_primDivNatS1(Succ(Zero), Succ(vyv285000)) -> Zero 214.33/146.00 new_primDivNatS1(Succ(Succ(vyv271000)), Succ(vyv285000)) -> new_primDivNatS01(vyv271000, vyv285000, vyv271000, vyv285000) 214.33/146.00 new_primDivNatS1(Zero, vyv28500) -> Zero 214.33/146.00 new_primDivNatS1(Succ(Succ(vyv271000)), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS0(vyv271000), Zero)) 214.33/146.00 new_primDivNatS1(Succ(Zero), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS1, Zero)) 214.33/146.00 new_primMinusNatS1 -> Zero 214.33/146.00 new_primMinusNatS0(vyv271000) -> Succ(vyv271000) 214.33/146.00 new_primDivNatS01(vyv311, vyv312, Succ(vyv3130), Zero) -> new_primDivNatS02(vyv311, vyv312) 214.33/146.00 new_primDivNatS01(vyv311, vyv312, Zero, Succ(vyv3140)) -> Zero 214.33/146.00 new_primDivNatS01(vyv311, vyv312, Succ(vyv3130), Succ(vyv3140)) -> new_primDivNatS01(vyv311, vyv312, vyv3130, vyv3140) 214.33/146.00 new_primDivNatS01(vyv311, vyv312, Zero, Zero) -> new_primDivNatS02(vyv311, vyv312) 214.33/146.00 new_primDivNatS02(vyv311, vyv312) -> Succ(new_primDivNatS1(new_primMinusNatS2(vyv311, vyv312), Succ(vyv312))) 214.33/146.00 new_primMinusNatS2(Zero, Succ(vyv3120)) -> Zero 214.33/146.00 new_primMinusNatS2(Succ(vyv3110), Zero) -> Succ(vyv3110) 214.33/146.00 new_primMinusNatS2(Zero, Zero) -> Zero 214.33/146.00 new_primMinusNatS2(Succ(vyv3110), Succ(vyv3120)) -> new_primMinusNatS2(vyv3110, vyv3120) 214.33/146.00 new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) 214.33/146.00 new_esEs(Pos(Succ(vyv24300))) -> new_primEqInt(Pos(Succ(vyv24300))) 214.33/146.00 new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) 214.33/146.00 new_esEs(Neg(Succ(vyv24300))) -> new_primEqInt(Neg(Succ(vyv24300))) 214.33/146.00 new_gcd2(True, vyv273, vyv272) -> new_gcd1(new_esEs(vyv272), vyv273, vyv272) 214.33/146.00 new_gcd2(False, vyv273, vyv272) -> new_gcd0(vyv273, vyv272) 214.33/146.00 new_gcd0(vyv273, vyv272) -> new_gcd0Gcd'11(new_esEs(new_abs(vyv272)), vyv273, vyv272) 214.33/146.00 new_abs(Neg(Zero)) -> Neg(Zero) 214.33/146.00 new_abs(Neg(Succ(vyv27200))) -> Pos(Succ(vyv27200)) 214.33/146.00 new_abs(Pos(Succ(vyv27200))) -> Pos(Succ(vyv27200)) 214.33/146.00 new_abs(Pos(Zero)) -> Pos(Zero) 214.33/146.00 new_gcd0Gcd'11(True, vyv273, vyv272) -> new_abs(vyv273) 214.33/146.00 new_gcd0Gcd'11(False, vyv273, vyv272) -> new_gcd0Gcd'00(new_abs(vyv273), new_abs(vyv272)) 214.33/146.00 new_gcd0Gcd'00(vyv293, vyv292) -> new_gcd0Gcd'10(new_esEs(new_rem(vyv293, vyv292)), vyv292, vyv293) 214.33/146.00 new_gcd0Gcd'10(False, vyv292, vyv293) -> new_gcd0Gcd'00(vyv292, new_rem(vyv293, vyv292)) 214.33/146.00 new_rem(Pos(vyv2930), Neg(Zero)) -> new_error 214.33/146.00 new_rem(Neg(vyv2930), Pos(Zero)) -> new_error 214.33/146.00 new_rem(Pos(vyv2930), Neg(Succ(vyv29200))) -> Pos(new_primModNatS1(vyv2930, vyv29200)) 214.33/146.00 new_rem(Neg(vyv2930), Pos(Succ(vyv29200))) -> Neg(new_primModNatS1(vyv2930, vyv29200)) 214.33/146.00 new_rem(Pos(vyv2930), Pos(Succ(vyv29200))) -> Pos(new_primModNatS1(vyv2930, vyv29200)) 214.33/146.00 new_rem(Neg(vyv2930), Neg(Zero)) -> new_error 214.33/146.00 new_rem(Neg(vyv2930), Neg(Succ(vyv29200))) -> Neg(new_primModNatS1(vyv2930, vyv29200)) 214.33/146.00 new_rem(Pos(vyv2930), Pos(Zero)) -> new_error 214.33/146.00 new_gcd0Gcd'10(True, vyv292, vyv293) -> vyv292 214.33/146.00 new_primModNatS1(Succ(Zero), Succ(vyv292000)) -> Succ(Zero) 214.33/146.00 new_primModNatS1(Zero, vyv29200) -> Zero 214.33/146.00 new_primModNatS1(Succ(Succ(vyv293000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv293000), Zero) 214.33/146.00 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 214.33/146.00 new_primModNatS1(Succ(Succ(vyv293000)), Succ(vyv292000)) -> new_primModNatS01(vyv293000, vyv292000, vyv293000, vyv292000) 214.33/146.00 new_primModNatS01(vyv331, vyv332, Zero, Zero) -> new_primModNatS02(vyv331, vyv332) 214.33/146.00 new_primModNatS02(vyv331, vyv332) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv331), Succ(vyv332)), Succ(vyv332)) 214.33/146.00 new_primModNatS01(vyv331, vyv332, Succ(vyv3330), Zero) -> new_primModNatS02(vyv331, vyv332) 214.33/146.00 new_primModNatS01(vyv331, vyv332, Succ(vyv3330), Succ(vyv3340)) -> new_primModNatS01(vyv331, vyv332, vyv3330, vyv3340) 214.33/146.00 new_primModNatS01(vyv331, vyv332, Zero, Succ(vyv3340)) -> Succ(Succ(vyv331)) 214.33/146.00 new_gcd1(True, vyv273, vyv272) -> new_error 214.33/146.00 new_gcd1(False, vyv273, vyv272) -> new_gcd0(vyv273, vyv272) 214.33/146.00 new_primEqInt(Neg(Succ(vyv242000))) -> False 214.33/146.00 new_primEqInt(Pos(Zero)) -> True 214.33/146.00 new_primEqInt(Pos(Succ(vyv242000))) -> False 214.33/146.00 new_primEqInt(Neg(Zero)) -> True 214.33/146.00 new_primQuotInt(vyv2710, Pos(Succ(vyv28500))) -> Pos(new_primDivNatS1(vyv2710, vyv28500)) 214.33/146.00 new_primQuotInt(vyv2710, Neg(Zero)) -> new_error 214.33/146.00 new_primQuotInt(vyv2710, Pos(Zero)) -> new_error 214.33/146.00 new_primQuotInt(vyv2710, Neg(Succ(vyv28500))) -> Neg(new_primDivNatS1(vyv2710, vyv28500)) 214.33/146.00 new_primMulNat0(Zero, Succ(vyv23900)) -> Zero 214.33/146.00 new_primMulNat0(Succ(vyv24000), Succ(vyv23900)) -> new_primPlusNat0(new_primMulNat0(vyv24000, Succ(vyv23900)), Succ(vyv23900)) 214.33/146.00 new_primMulNat0(Succ(vyv24000), Zero) -> Zero 214.33/146.00 new_primMulNat0(Zero, Zero) -> Zero 214.33/146.00 new_primPlusNat0(Succ(vyv4000), Succ(vyv6000)) -> Succ(Succ(new_primPlusNat0(vyv4000, vyv6000))) 214.33/146.00 new_primPlusNat0(Zero, Succ(vyv6000)) -> Succ(vyv6000) 214.33/146.00 new_primPlusNat0(Zero, Zero) -> Zero 214.33/146.00 new_primPlusNat0(Succ(vyv4000), Zero) -> Succ(vyv4000) 214.33/146.00 new_sr6(vyv184) -> error([]) 214.33/146.00 new_esEs1(Integer(vyv2700)) -> new_primEqInt(vyv2700) 214.33/146.00 new_sr7(Pos(vyv1840)) -> Pos(new_primMulNat1(vyv1840)) 214.33/146.00 new_sr7(Neg(vyv1840)) -> Pos(new_primMulNat1(vyv1840)) 214.33/146.00 new_primMulNat1(Succ(vyv18400)) -> new_primPlusNat0(new_primMulNat2(vyv18400), Succ(vyv18400)) 214.33/146.00 new_primMulNat1(Zero) -> Zero 214.33/146.00 new_primMulNat2(Succ(vyv184000)) -> new_primPlusNat0(new_primMulNat3(vyv184000), Succ(Succ(vyv184000))) 214.33/146.00 new_primMulNat2(Zero) -> Zero 214.33/146.00 new_primMulNat3(Succ(vyv1840000)) -> new_primPlusNat0(new_primMulNat4(vyv1840000), Succ(Succ(Succ(vyv1840000)))) 214.33/146.00 new_primMulNat3(Zero) -> Zero 214.33/146.00 new_primMulNat4(Succ(vyv18400000)) -> new_primPlusNat0(new_primMulNat0(vyv18400000, Succ(Succ(Succ(Succ(vyv18400000))))), Succ(Succ(Succ(Succ(vyv18400000))))) 214.33/146.00 new_primMulNat4(Zero) -> Zero 214.33/146.00 new_sr12(vyv184) -> error([]) 214.33/146.00 new_sr11(vyv184) -> error([]) 214.33/146.00 new_sr4(vyv240, vyv239, app(ty_Ratio, be)) -> new_sr8(vyv240, vyv239, be) 214.33/146.00 new_sr4(vyv240, vyv239, ty_Float) -> new_sr14(vyv240, vyv239) 214.33/146.00 new_sr4(vyv240, vyv239, ty_Int) -> new_sr10(vyv240, vyv239) 214.33/146.00 new_sr4(vyv240, vyv239, ty_Double) -> new_sr13(vyv240, vyv239) 214.33/146.00 new_sr4(vyv240, vyv239, ty_Integer) -> new_sr9(vyv240, vyv239) 214.33/146.00 new_sr13(vyv240, vyv239) -> error([]) 214.33/146.00 new_sr14(vyv240, vyv239) -> error([]) 214.33/146.00 new_sr8(:%(vyv2400, vyv2401), :%(vyv2390, vyv2391), be) -> new_reduce2Reduce1(vyv2400, vyv2390, vyv2401, vyv2391, new_esEs2(vyv2401, vyv2391, be), be) 214.33/146.00 new_esEs2(vyv2401, vyv2391, ty_Integer) -> new_esEs1(new_sr9(vyv2401, vyv2391)) 214.33/146.00 new_esEs2(vyv2401, vyv2391, ty_Int) -> new_esEs(new_sr10(vyv2401, vyv2391)) 214.33/146.00 214.33/146.00 The set Q consists of the following terms: 214.33/146.00 214.33/146.00 new_sr13(x0, x1) 214.33/146.00 new_primDivNatS01(x0, x1, Zero, Zero) 214.33/146.00 new_gcd0Gcd'11(False, x0, x1) 214.33/146.00 new_primMulNat4(Zero) 214.33/146.00 new_gcd0Gcd'11(True, x0, x1) 214.33/146.00 new_sr5(:%(x0, x1), x2) 214.33/146.00 new_primEqInt(Pos(Zero)) 214.33/146.00 new_esEs(Pos(Succ(x0))) 214.33/146.00 new_primQuotInt0(x0, Neg(Zero)) 214.33/146.00 new_primMulNat3(Zero) 214.33/146.00 new_primModNatS02(x0, x1) 214.33/146.00 new_primDivNatS1(Succ(Zero), Zero) 214.33/146.00 new_primMinusNatS0(x0) 214.33/146.00 new_sr11(x0) 214.33/146.00 new_rem(Pos(x0), Neg(Succ(x1))) 214.33/146.00 new_rem(Neg(x0), Pos(Succ(x1))) 214.33/146.00 new_primMulNat0(Zero, Zero) 214.33/146.00 new_primPlusNat0(Succ(x0), Zero) 214.33/146.00 new_primMulNat0(Succ(x0), Zero) 214.33/146.00 new_sr3(x0, ty_Float) 214.33/146.00 new_primMulNat2(Zero) 214.33/146.00 new_primQuotInt(x0, Pos(Zero)) 214.33/146.00 new_primMulNat2(Succ(x0)) 214.33/146.00 new_primQuotInt(x0, Neg(Zero)) 214.33/146.00 new_rem(Neg(x0), Neg(Succ(x1))) 214.33/146.00 new_primMinusNatS2(Zero, Succ(x0)) 214.33/146.00 new_sr4(x0, x1, ty_Double) 214.33/146.00 new_primMulNat3(Succ(x0)) 214.33/146.00 new_esEs1(Integer(x0)) 214.33/146.00 new_primQuotInt0(x0, Pos(Zero)) 214.33/146.00 new_gcd2(True, x0, x1) 214.33/146.00 new_quot1(x0, x1, x2, x3, ty_Int) 214.33/146.00 new_primDivNatS1(Zero, x0) 214.33/146.00 new_gcd(x0, x1) 214.33/146.00 new_gcd1(False, x0, x1) 214.33/146.00 new_esEs2(x0, x1, ty_Int) 214.33/146.00 new_sr3(x0, ty_Integer) 214.33/146.00 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 214.33/146.00 new_primPlusNat0(Zero, Succ(x0)) 214.33/146.00 new_sr8(:%(x0, x1), :%(x2, x3), x4) 214.33/146.00 new_abs(Neg(Zero)) 214.33/146.00 new_primMinusNatS2(Succ(x0), Zero) 214.33/146.00 new_error 214.33/146.00 new_primModNatS1(Succ(Zero), Zero) 214.33/146.00 new_primMulNat4(Succ(x0)) 214.33/146.00 new_primDivNatS02(x0, x1) 214.33/146.00 new_rem(Neg(x0), Neg(Zero)) 214.33/146.00 new_primEqInt(Neg(Zero)) 214.33/146.00 new_rem(Pos(x0), Pos(Succ(x1))) 214.33/146.00 new_abs(Pos(Succ(x0))) 214.33/146.00 new_primMulNat0(Succ(x0), Succ(x1)) 214.33/146.00 new_primMulNat0(Zero, Succ(x0)) 214.33/146.00 new_reduce2Reduce1(x0, x1, x2, x3, True, x4) 214.33/146.00 new_gcd0Gcd'10(False, x0, x1) 214.33/146.00 new_sr12(x0) 214.33/146.00 new_primDivNatS01(x0, x1, Zero, Succ(x2)) 214.33/146.00 new_sr10(Pos(x0), Pos(x1)) 214.33/146.00 new_primModNatS01(x0, x1, Zero, Succ(x2)) 214.33/146.00 new_primPlusNat0(Zero, Zero) 214.33/146.00 new_primQuotInt0(x0, Pos(Succ(x1))) 214.33/146.00 new_primModNatS01(x0, x1, Succ(x2), Zero) 214.33/146.00 new_primModNatS1(Succ(Succ(x0)), Zero) 214.33/146.00 new_sr4(x0, x1, ty_Integer) 214.33/146.00 new_rem(Pos(x0), Pos(Zero)) 214.33/146.00 new_sr4(x0, x1, ty_Int) 214.33/146.00 new_quot(Pos(x0), x1, x2) 214.33/146.00 new_primMinusNatS2(Zero, Zero) 214.33/146.00 new_esEs0(x0, ty_Int) 214.33/146.00 new_esEs(Pos(Zero)) 214.33/146.00 new_quot(Neg(x0), x1, x2) 214.33/146.00 new_primDivNatS01(x0, x1, Succ(x2), Succ(x3)) 214.33/146.00 new_quot2(x0, x1, x2) 214.33/146.00 new_primEqInt(Neg(Succ(x0))) 214.33/146.00 new_sr10(Neg(x0), Neg(x1)) 214.33/146.00 new_sr3(x0, app(ty_Ratio, x1)) 214.33/146.00 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 214.33/146.00 new_sr9(x0, x1) 214.33/146.00 new_sr7(Neg(x0)) 214.33/146.00 new_primQuotInt0(x0, Neg(Succ(x1))) 214.33/146.00 new_rem(Pos(x0), Neg(Zero)) 214.33/146.00 new_rem(Neg(x0), Pos(Zero)) 214.33/146.00 new_gcd0Gcd'00(x0, x1) 214.33/146.00 new_primQuotInt(x0, Neg(Succ(x1))) 214.33/146.00 new_primMinusNatS2(Succ(x0), Succ(x1)) 214.33/146.00 new_abs(Pos(Zero)) 214.33/146.00 new_quot0(x0, x1, x2, x3, ty_Integer) 214.33/146.00 new_sr6(x0) 214.33/146.00 new_gcd2(False, x0, x1) 214.33/146.00 new_gcd1(True, x0, x1) 214.33/146.00 new_esEs2(x0, x1, ty_Integer) 214.33/146.00 new_primMinusNatS1 214.33/146.00 new_sr7(Pos(x0)) 214.33/146.00 new_gcd0Gcd'10(True, x0, x1) 214.33/146.00 new_primModNatS1(Zero, x0) 214.33/146.00 new_sr4(x0, x1, ty_Float) 214.33/146.00 new_sr10(Pos(x0), Neg(x1)) 214.33/146.00 new_sr10(Neg(x0), Pos(x1)) 214.33/146.00 new_primDivNatS01(x0, x1, Succ(x2), Zero) 214.33/146.00 new_primDivNatS1(Succ(Succ(x0)), Succ(x1)) 214.33/146.00 new_primPlusNat0(Succ(x0), Succ(x1)) 214.33/146.00 new_primDivNatS1(Succ(Zero), Succ(x0)) 214.33/146.00 new_primQuotInt(x0, Pos(Succ(x1))) 214.33/146.00 new_abs(Neg(Succ(x0))) 214.33/146.00 new_esEs0(x0, ty_Integer) 214.33/146.00 new_sr3(x0, ty_Int) 214.33/146.00 new_esEs(Neg(Succ(x0))) 214.33/146.00 new_primModNatS01(x0, x1, Zero, Zero) 214.33/146.00 new_sr4(x0, x1, app(ty_Ratio, x2)) 214.33/146.00 new_gcd0(x0, x1) 214.33/146.00 new_primEqInt(Pos(Succ(x0))) 214.33/146.00 new_sr3(x0, ty_Double) 214.33/146.00 new_quot1(x0, x1, x2, x3, ty_Integer) 214.33/146.00 new_primDivNatS1(Succ(Succ(x0)), Zero) 214.33/146.00 new_primMulNat1(Succ(x0)) 214.33/146.00 new_sr14(x0, x1) 214.33/146.00 new_quot0(x0, x1, x2, x3, ty_Int) 214.33/146.00 new_primModNatS1(Succ(Zero), Succ(x0)) 214.33/146.00 new_reduce2Reduce1(x0, x1, x2, x3, False, x4) 214.33/146.00 new_esEs(Neg(Zero)) 214.33/146.00 new_primMulNat1(Zero) 214.33/146.00 new_new_pr2F0G10(Succ(Succ(x0))) 214.33/146.00 new_new_pr2F0G10(Succ(Zero)) 214.33/146.00 new_new_pr2F0G10(Zero) 214.33/146.00 214.33/146.00 We have to consider all minimal (P,Q,R)-chains. 214.33/146.00 ---------------------------------------- 214.33/146.00 214.33/146.00 (842) TransformationProof (EQUIVALENT) 214.33/146.00 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_primDivNatS02(Zero, Zero))), y3) at position [2,0,0] we obtained the following new rules [LPAR04]: 214.33/146.00 214.33/146.00 (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)) 214.33/146.00 214.33/146.00 214.33/146.00 ---------------------------------------- 214.33/146.00 214.33/146.00 (843) 214.33/146.00 Obligation: 214.33/146.00 Q DP problem: 214.33/146.00 The TRS P consists of the following rules: 214.33/146.00 214.33/146.00 new_pr2F0(vyv184, Neg(Succ(Succ(vyv223000))), vyv188, h) -> new_pr2F0G10(vyv188, vyv184, Succ(vyv223000), vyv223000, h) 214.33/146.00 new_pr2F0G10(vyv249, vyv250, vyv251, Succ(Zero), bb) -> new_pr2F0G11(vyv249, vyv250, vyv251, bb) 214.33/146.00 new_pr2F0G11(vyv239, vyv240, vyv241, bc) -> new_pr2F1(vyv240, vyv241, Pos(Succ(Zero)), vyv239, bc) 214.33/146.00 new_pr2F1(z1, z2, Pos(Succ(Zero)), z0, z3) -> new_pr2F30(False, z1, z2, Pos(Succ(Zero)), z0, z3) 214.33/146.00 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) 214.33/146.00 H(vyv249, vyv250, vyv251, bb, cons_new_pr2F0G10(Succ(Zero))) -> new_pr2F0G10(vyv249, vyv250, vyv251, Succ(Zero), bb) 214.33/146.00 H(vyv249, vyv250, vyv251, bb, cons_new_pr2F0G10(Zero)) -> new_pr2F0G10(vyv249, vyv250, vyv251, Zero, bb) 214.33/146.00 new_pr2F0G(vyv188, vyv184, Neg(Succ(Zero)), h) -> new_pr2F0G11(vyv188, vyv184, Zero, h) 214.33/146.00 new_pr2F0G(vyv188, vyv184, Neg(Succ(Succ(vyv223000))), h) -> new_pr2F0G10(vyv188, vyv184, Succ(vyv223000), vyv223000, h) 214.33/146.00 new_pr2F0G10(y0, y1, Succ(Zero), Zero, y3) -> new_pr2F0G(y0, new_sr3(y1, y3), Neg(Succ(Zero)), y3) 214.33/146.00 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))) 214.33/146.00 new_pr2F0(y0, Neg(Succ(Succ(Succ(Succ(Zero))))), y2, y3) -> H(y2, y0, Succ(Succ(Succ(Zero))), y3, cons_new_pr2F0G10(Zero)) 214.33/146.00 new_pr2F0G10(y0, y1, Succ(Succ(Zero)), Zero, y3) -> new_pr2F0G(y0, new_sr3(y1, y3), Neg(Succ(Zero)), y3) 214.33/146.00 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)) 214.33/146.00 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))) 214.33/146.00 new_pr2F0G(y0, y1, Neg(Succ(Succ(Succ(Succ(Zero))))), y3) -> H(y0, y1, Succ(Succ(Succ(Zero))), y3, cons_new_pr2F0G10(Zero)) 214.33/146.00 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)) 214.33/146.00 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))) 214.33/146.00 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)) 214.33/146.00 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) 214.33/146.00 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) 214.33/146.00 214.33/146.00 The TRS R consists of the following rules: 214.33/146.00 214.33/146.00 new_new_pr2F0G10(Succ(Succ(vyv25200))) -> new_new_pr2F0G10(vyv25200) 214.33/146.00 new_new_pr2F0G10(Succ(Zero)) -> cons_new_pr2F0G10(Succ(Zero)) 214.33/146.00 new_new_pr2F0G10(Zero) -> cons_new_pr2F0G10(Zero) 214.33/146.00 new_sr3(vyv250, ty_Double) -> new_sr11(vyv250) 214.33/146.00 new_sr3(vyv250, ty_Int) -> new_sr7(vyv250) 214.33/146.00 new_sr3(vyv250, ty_Float) -> new_sr12(vyv250) 214.33/146.00 new_sr3(vyv250, ty_Integer) -> new_sr6(vyv250) 214.33/146.00 new_sr3(vyv250, app(ty_Ratio, bf)) -> new_sr5(vyv250, bf) 214.33/146.00 new_sr5(:%(vyv1840, vyv1841), bd) -> new_reduce2Reduce1(vyv1840, vyv1840, vyv1841, vyv1841, new_esEs0(vyv1841, bd), bd) 214.33/146.00 new_esEs0(vyv1841, ty_Int) -> new_esEs(new_sr7(vyv1841)) 214.33/146.00 new_esEs0(vyv1841, ty_Integer) -> new_esEs1(new_sr6(vyv1841)) 214.33/146.00 new_reduce2Reduce1(vyv265, vyv266, vyv267, vyv268, False, bh) -> :%(new_quot0(vyv265, vyv266, vyv267, vyv268, bh), new_quot1(vyv267, vyv268, vyv265, vyv266, bh)) 214.33/146.00 new_reduce2Reduce1(vyv265, vyv266, vyv267, vyv268, True, bh) -> error([]) 214.33/146.00 new_quot0(vyv265, vyv266, vyv267, vyv268, ty_Integer) -> new_quot2(new_sr9(vyv265, vyv266), new_sr9(vyv265, vyv266), new_sr9(vyv267, vyv268)) 214.33/146.00 new_quot0(vyv265, vyv266, vyv267, vyv268, ty_Int) -> new_quot(new_sr10(vyv265, vyv266), new_sr10(vyv265, vyv266), new_sr10(vyv267, vyv268)) 214.33/146.00 new_quot1(vyv267, vyv268, vyv265, vyv266, ty_Int) -> new_quot(new_sr10(vyv267, vyv268), new_sr10(vyv265, vyv266), new_sr10(vyv267, vyv268)) 214.33/146.00 new_quot1(vyv267, vyv268, vyv265, vyv266, ty_Integer) -> new_quot2(new_sr9(vyv267, vyv268), new_sr9(vyv265, vyv266), new_sr9(vyv267, vyv268)) 214.33/146.00 new_sr9(vyv240, vyv239) -> error([]) 214.33/146.00 new_quot2(vyv274, vyv276, vyv275) -> error([]) 214.33/146.00 new_sr10(Pos(vyv2400), Pos(vyv2390)) -> Pos(new_primMulNat0(vyv2400, vyv2390)) 214.33/146.00 new_sr10(Neg(vyv2400), Neg(vyv2390)) -> Pos(new_primMulNat0(vyv2400, vyv2390)) 214.33/146.00 new_sr10(Pos(vyv2400), Neg(vyv2390)) -> Neg(new_primMulNat0(vyv2400, vyv2390)) 214.33/146.00 new_sr10(Neg(vyv2400), Pos(vyv2390)) -> Neg(new_primMulNat0(vyv2400, vyv2390)) 214.33/146.00 new_quot(Pos(vyv2710), vyv273, vyv272) -> new_primQuotInt(vyv2710, new_gcd(vyv273, vyv272)) 214.33/146.00 new_quot(Neg(vyv2710), vyv273, vyv272) -> new_primQuotInt0(vyv2710, new_gcd(vyv273, vyv272)) 214.33/146.00 new_gcd(vyv273, vyv272) -> new_gcd2(new_esEs(vyv273), vyv273, vyv272) 214.33/146.00 new_primQuotInt0(vyv2710, Pos(Succ(vyv28800))) -> Neg(new_primDivNatS1(vyv2710, vyv28800)) 214.33/146.00 new_primQuotInt0(vyv2710, Neg(Zero)) -> new_error 214.33/146.00 new_primQuotInt0(vyv2710, Neg(Succ(vyv28800))) -> Pos(new_primDivNatS1(vyv2710, vyv28800)) 214.33/146.00 new_primQuotInt0(vyv2710, Pos(Zero)) -> new_error 214.33/146.00 new_error -> error([]) 214.33/146.00 new_primDivNatS1(Succ(Zero), Succ(vyv285000)) -> Zero 214.33/146.00 new_primDivNatS1(Succ(Succ(vyv271000)), Succ(vyv285000)) -> new_primDivNatS01(vyv271000, vyv285000, vyv271000, vyv285000) 214.33/146.00 new_primDivNatS1(Zero, vyv28500) -> Zero 214.33/146.00 new_primDivNatS1(Succ(Succ(vyv271000)), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS0(vyv271000), Zero)) 214.33/146.00 new_primDivNatS1(Succ(Zero), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS1, Zero)) 214.33/146.00 new_primMinusNatS1 -> Zero 214.33/146.00 new_primMinusNatS0(vyv271000) -> Succ(vyv271000) 214.33/146.00 new_primDivNatS01(vyv311, vyv312, Succ(vyv3130), Zero) -> new_primDivNatS02(vyv311, vyv312) 214.33/146.00 new_primDivNatS01(vyv311, vyv312, Zero, Succ(vyv3140)) -> Zero 214.33/146.00 new_primDivNatS01(vyv311, vyv312, Succ(vyv3130), Succ(vyv3140)) -> new_primDivNatS01(vyv311, vyv312, vyv3130, vyv3140) 214.33/146.00 new_primDivNatS01(vyv311, vyv312, Zero, Zero) -> new_primDivNatS02(vyv311, vyv312) 214.33/146.00 new_primDivNatS02(vyv311, vyv312) -> Succ(new_primDivNatS1(new_primMinusNatS2(vyv311, vyv312), Succ(vyv312))) 214.33/146.00 new_primMinusNatS2(Zero, Succ(vyv3120)) -> Zero 214.33/146.00 new_primMinusNatS2(Succ(vyv3110), Zero) -> Succ(vyv3110) 214.33/146.00 new_primMinusNatS2(Zero, Zero) -> Zero 214.33/146.00 new_primMinusNatS2(Succ(vyv3110), Succ(vyv3120)) -> new_primMinusNatS2(vyv3110, vyv3120) 214.33/146.00 new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) 214.33/146.00 new_esEs(Pos(Succ(vyv24300))) -> new_primEqInt(Pos(Succ(vyv24300))) 214.33/146.00 new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) 214.33/146.00 new_esEs(Neg(Succ(vyv24300))) -> new_primEqInt(Neg(Succ(vyv24300))) 214.33/146.00 new_gcd2(True, vyv273, vyv272) -> new_gcd1(new_esEs(vyv272), vyv273, vyv272) 214.33/146.00 new_gcd2(False, vyv273, vyv272) -> new_gcd0(vyv273, vyv272) 214.33/146.00 new_gcd0(vyv273, vyv272) -> new_gcd0Gcd'11(new_esEs(new_abs(vyv272)), vyv273, vyv272) 214.33/146.00 new_abs(Neg(Zero)) -> Neg(Zero) 214.33/146.00 new_abs(Neg(Succ(vyv27200))) -> Pos(Succ(vyv27200)) 214.33/146.00 new_abs(Pos(Succ(vyv27200))) -> Pos(Succ(vyv27200)) 214.33/146.00 new_abs(Pos(Zero)) -> Pos(Zero) 214.33/146.00 new_gcd0Gcd'11(True, vyv273, vyv272) -> new_abs(vyv273) 214.33/146.00 new_gcd0Gcd'11(False, vyv273, vyv272) -> new_gcd0Gcd'00(new_abs(vyv273), new_abs(vyv272)) 214.33/146.00 new_gcd0Gcd'00(vyv293, vyv292) -> new_gcd0Gcd'10(new_esEs(new_rem(vyv293, vyv292)), vyv292, vyv293) 214.33/146.00 new_gcd0Gcd'10(False, vyv292, vyv293) -> new_gcd0Gcd'00(vyv292, new_rem(vyv293, vyv292)) 214.33/146.00 new_rem(Pos(vyv2930), Neg(Zero)) -> new_error 214.33/146.00 new_rem(Neg(vyv2930), Pos(Zero)) -> new_error 214.33/146.00 new_rem(Pos(vyv2930), Neg(Succ(vyv29200))) -> Pos(new_primModNatS1(vyv2930, vyv29200)) 214.33/146.00 new_rem(Neg(vyv2930), Pos(Succ(vyv29200))) -> Neg(new_primModNatS1(vyv2930, vyv29200)) 214.33/146.00 new_rem(Pos(vyv2930), Pos(Succ(vyv29200))) -> Pos(new_primModNatS1(vyv2930, vyv29200)) 214.33/146.00 new_rem(Neg(vyv2930), Neg(Zero)) -> new_error 214.33/146.00 new_rem(Neg(vyv2930), Neg(Succ(vyv29200))) -> Neg(new_primModNatS1(vyv2930, vyv29200)) 214.33/146.00 new_rem(Pos(vyv2930), Pos(Zero)) -> new_error 214.33/146.00 new_gcd0Gcd'10(True, vyv292, vyv293) -> vyv292 214.33/146.00 new_primModNatS1(Succ(Zero), Succ(vyv292000)) -> Succ(Zero) 214.33/146.00 new_primModNatS1(Zero, vyv29200) -> Zero 214.33/146.00 new_primModNatS1(Succ(Succ(vyv293000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv293000), Zero) 214.33/146.00 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 214.33/146.00 new_primModNatS1(Succ(Succ(vyv293000)), Succ(vyv292000)) -> new_primModNatS01(vyv293000, vyv292000, vyv293000, vyv292000) 214.33/146.00 new_primModNatS01(vyv331, vyv332, Zero, Zero) -> new_primModNatS02(vyv331, vyv332) 214.33/146.00 new_primModNatS02(vyv331, vyv332) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv331), Succ(vyv332)), Succ(vyv332)) 214.33/146.00 new_primModNatS01(vyv331, vyv332, Succ(vyv3330), Zero) -> new_primModNatS02(vyv331, vyv332) 214.33/146.00 new_primModNatS01(vyv331, vyv332, Succ(vyv3330), Succ(vyv3340)) -> new_primModNatS01(vyv331, vyv332, vyv3330, vyv3340) 214.33/146.00 new_primModNatS01(vyv331, vyv332, Zero, Succ(vyv3340)) -> Succ(Succ(vyv331)) 214.33/146.00 new_gcd1(True, vyv273, vyv272) -> new_error 214.33/146.00 new_gcd1(False, vyv273, vyv272) -> new_gcd0(vyv273, vyv272) 214.33/146.00 new_primEqInt(Neg(Succ(vyv242000))) -> False 214.33/146.00 new_primEqInt(Pos(Zero)) -> True 214.33/146.00 new_primEqInt(Pos(Succ(vyv242000))) -> False 214.33/146.00 new_primEqInt(Neg(Zero)) -> True 214.33/146.00 new_primQuotInt(vyv2710, Pos(Succ(vyv28500))) -> Pos(new_primDivNatS1(vyv2710, vyv28500)) 214.33/146.00 new_primQuotInt(vyv2710, Neg(Zero)) -> new_error 214.33/146.00 new_primQuotInt(vyv2710, Pos(Zero)) -> new_error 214.33/146.00 new_primQuotInt(vyv2710, Neg(Succ(vyv28500))) -> Neg(new_primDivNatS1(vyv2710, vyv28500)) 214.33/146.00 new_primMulNat0(Zero, Succ(vyv23900)) -> Zero 214.33/146.00 new_primMulNat0(Succ(vyv24000), Succ(vyv23900)) -> new_primPlusNat0(new_primMulNat0(vyv24000, Succ(vyv23900)), Succ(vyv23900)) 214.33/146.00 new_primMulNat0(Succ(vyv24000), Zero) -> Zero 214.33/146.00 new_primMulNat0(Zero, Zero) -> Zero 214.33/146.00 new_primPlusNat0(Succ(vyv4000), Succ(vyv6000)) -> Succ(Succ(new_primPlusNat0(vyv4000, vyv6000))) 214.33/146.00 new_primPlusNat0(Zero, Succ(vyv6000)) -> Succ(vyv6000) 214.33/146.00 new_primPlusNat0(Zero, Zero) -> Zero 214.33/146.00 new_primPlusNat0(Succ(vyv4000), Zero) -> Succ(vyv4000) 214.33/146.00 new_sr6(vyv184) -> error([]) 214.33/146.00 new_esEs1(Integer(vyv2700)) -> new_primEqInt(vyv2700) 214.33/146.00 new_sr7(Pos(vyv1840)) -> Pos(new_primMulNat1(vyv1840)) 214.33/146.00 new_sr7(Neg(vyv1840)) -> Pos(new_primMulNat1(vyv1840)) 214.33/146.00 new_primMulNat1(Succ(vyv18400)) -> new_primPlusNat0(new_primMulNat2(vyv18400), Succ(vyv18400)) 214.33/146.00 new_primMulNat1(Zero) -> Zero 214.33/146.00 new_primMulNat2(Succ(vyv184000)) -> new_primPlusNat0(new_primMulNat3(vyv184000), Succ(Succ(vyv184000))) 214.33/146.00 new_primMulNat2(Zero) -> Zero 214.33/146.00 new_primMulNat3(Succ(vyv1840000)) -> new_primPlusNat0(new_primMulNat4(vyv1840000), Succ(Succ(Succ(vyv1840000)))) 214.33/146.00 new_primMulNat3(Zero) -> Zero 214.33/146.00 new_primMulNat4(Succ(vyv18400000)) -> new_primPlusNat0(new_primMulNat0(vyv18400000, Succ(Succ(Succ(Succ(vyv18400000))))), Succ(Succ(Succ(Succ(vyv18400000))))) 214.33/146.00 new_primMulNat4(Zero) -> Zero 214.33/146.00 new_sr12(vyv184) -> error([]) 214.33/146.00 new_sr11(vyv184) -> error([]) 214.33/146.00 new_sr4(vyv240, vyv239, app(ty_Ratio, be)) -> new_sr8(vyv240, vyv239, be) 214.33/146.00 new_sr4(vyv240, vyv239, ty_Float) -> new_sr14(vyv240, vyv239) 214.33/146.00 new_sr4(vyv240, vyv239, ty_Int) -> new_sr10(vyv240, vyv239) 214.33/146.00 new_sr4(vyv240, vyv239, ty_Double) -> new_sr13(vyv240, vyv239) 214.33/146.00 new_sr4(vyv240, vyv239, ty_Integer) -> new_sr9(vyv240, vyv239) 214.33/146.00 new_sr13(vyv240, vyv239) -> error([]) 214.33/146.00 new_sr14(vyv240, vyv239) -> error([]) 214.33/146.00 new_sr8(:%(vyv2400, vyv2401), :%(vyv2390, vyv2391), be) -> new_reduce2Reduce1(vyv2400, vyv2390, vyv2401, vyv2391, new_esEs2(vyv2401, vyv2391, be), be) 214.33/146.00 new_esEs2(vyv2401, vyv2391, ty_Integer) -> new_esEs1(new_sr9(vyv2401, vyv2391)) 214.33/146.00 new_esEs2(vyv2401, vyv2391, ty_Int) -> new_esEs(new_sr10(vyv2401, vyv2391)) 214.33/146.00 214.33/146.00 The set Q consists of the following terms: 214.33/146.00 214.33/146.00 new_sr13(x0, x1) 214.33/146.00 new_primDivNatS01(x0, x1, Zero, Zero) 214.33/146.00 new_gcd0Gcd'11(False, x0, x1) 214.33/146.00 new_primMulNat4(Zero) 214.33/146.00 new_gcd0Gcd'11(True, x0, x1) 214.33/146.00 new_sr5(:%(x0, x1), x2) 214.33/146.00 new_primEqInt(Pos(Zero)) 214.33/146.00 new_esEs(Pos(Succ(x0))) 214.33/146.00 new_primQuotInt0(x0, Neg(Zero)) 214.33/146.00 new_primMulNat3(Zero) 214.33/146.00 new_primModNatS02(x0, x1) 214.33/146.00 new_primDivNatS1(Succ(Zero), Zero) 214.33/146.00 new_primMinusNatS0(x0) 214.33/146.00 new_sr11(x0) 214.33/146.00 new_rem(Pos(x0), Neg(Succ(x1))) 214.33/146.00 new_rem(Neg(x0), Pos(Succ(x1))) 214.33/146.00 new_primMulNat0(Zero, Zero) 214.33/146.00 new_primPlusNat0(Succ(x0), Zero) 214.33/146.00 new_primMulNat0(Succ(x0), Zero) 214.33/146.00 new_sr3(x0, ty_Float) 214.33/146.00 new_primMulNat2(Zero) 214.33/146.00 new_primQuotInt(x0, Pos(Zero)) 214.33/146.00 new_primMulNat2(Succ(x0)) 214.33/146.00 new_primQuotInt(x0, Neg(Zero)) 214.33/146.00 new_rem(Neg(x0), Neg(Succ(x1))) 214.33/146.00 new_primMinusNatS2(Zero, Succ(x0)) 214.33/146.00 new_sr4(x0, x1, ty_Double) 214.33/146.00 new_primMulNat3(Succ(x0)) 214.33/146.00 new_esEs1(Integer(x0)) 214.33/146.00 new_primQuotInt0(x0, Pos(Zero)) 214.33/146.00 new_gcd2(True, x0, x1) 214.33/146.00 new_quot1(x0, x1, x2, x3, ty_Int) 214.33/146.00 new_primDivNatS1(Zero, x0) 214.33/146.00 new_gcd(x0, x1) 214.33/146.00 new_gcd1(False, x0, x1) 214.33/146.00 new_esEs2(x0, x1, ty_Int) 214.33/146.00 new_sr3(x0, ty_Integer) 214.33/146.00 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 214.33/146.00 new_primPlusNat0(Zero, Succ(x0)) 214.33/146.00 new_sr8(:%(x0, x1), :%(x2, x3), x4) 214.33/146.00 new_abs(Neg(Zero)) 214.33/146.00 new_primMinusNatS2(Succ(x0), Zero) 214.33/146.00 new_error 214.33/146.00 new_primModNatS1(Succ(Zero), Zero) 214.33/146.00 new_primMulNat4(Succ(x0)) 214.33/146.00 new_primDivNatS02(x0, x1) 214.33/146.00 new_rem(Neg(x0), Neg(Zero)) 214.33/146.00 new_primEqInt(Neg(Zero)) 214.33/146.00 new_rem(Pos(x0), Pos(Succ(x1))) 214.33/146.00 new_abs(Pos(Succ(x0))) 214.33/146.00 new_primMulNat0(Succ(x0), Succ(x1)) 214.33/146.00 new_primMulNat0(Zero, Succ(x0)) 214.33/146.00 new_reduce2Reduce1(x0, x1, x2, x3, True, x4) 214.33/146.00 new_gcd0Gcd'10(False, x0, x1) 214.33/146.00 new_sr12(x0) 214.33/146.00 new_primDivNatS01(x0, x1, Zero, Succ(x2)) 214.33/146.00 new_sr10(Pos(x0), Pos(x1)) 214.33/146.00 new_primModNatS01(x0, x1, Zero, Succ(x2)) 214.33/146.00 new_primPlusNat0(Zero, Zero) 214.33/146.00 new_primQuotInt0(x0, Pos(Succ(x1))) 214.33/146.00 new_primModNatS01(x0, x1, Succ(x2), Zero) 214.33/146.00 new_primModNatS1(Succ(Succ(x0)), Zero) 214.33/146.00 new_sr4(x0, x1, ty_Integer) 214.33/146.00 new_rem(Pos(x0), Pos(Zero)) 214.33/146.00 new_sr4(x0, x1, ty_Int) 214.33/146.00 new_quot(Pos(x0), x1, x2) 214.33/146.00 new_primMinusNatS2(Zero, Zero) 214.33/146.00 new_esEs0(x0, ty_Int) 214.33/146.00 new_esEs(Pos(Zero)) 214.33/146.00 new_quot(Neg(x0), x1, x2) 214.33/146.00 new_primDivNatS01(x0, x1, Succ(x2), Succ(x3)) 214.33/146.00 new_quot2(x0, x1, x2) 214.33/146.00 new_primEqInt(Neg(Succ(x0))) 214.33/146.00 new_sr10(Neg(x0), Neg(x1)) 214.33/146.00 new_sr3(x0, app(ty_Ratio, x1)) 214.33/146.00 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 214.33/146.00 new_sr9(x0, x1) 214.33/146.00 new_sr7(Neg(x0)) 214.33/146.00 new_primQuotInt0(x0, Neg(Succ(x1))) 214.33/146.00 new_rem(Pos(x0), Neg(Zero)) 214.33/146.00 new_rem(Neg(x0), Pos(Zero)) 214.33/146.00 new_gcd0Gcd'00(x0, x1) 214.33/146.00 new_primQuotInt(x0, Neg(Succ(x1))) 214.33/146.00 new_primMinusNatS2(Succ(x0), Succ(x1)) 214.33/146.00 new_abs(Pos(Zero)) 214.33/146.00 new_quot0(x0, x1, x2, x3, ty_Integer) 214.33/146.00 new_sr6(x0) 214.33/146.00 new_gcd2(False, x0, x1) 214.33/146.00 new_gcd1(True, x0, x1) 214.33/146.00 new_esEs2(x0, x1, ty_Integer) 214.33/146.00 new_primMinusNatS1 214.33/146.00 new_sr7(Pos(x0)) 214.33/146.00 new_gcd0Gcd'10(True, x0, x1) 214.33/146.00 new_primModNatS1(Zero, x0) 214.33/146.00 new_sr4(x0, x1, ty_Float) 214.33/146.00 new_sr10(Pos(x0), Neg(x1)) 214.33/146.00 new_sr10(Neg(x0), Pos(x1)) 214.33/146.00 new_primDivNatS01(x0, x1, Succ(x2), Zero) 214.33/146.00 new_primDivNatS1(Succ(Succ(x0)), Succ(x1)) 214.33/146.00 new_primPlusNat0(Succ(x0), Succ(x1)) 214.33/146.00 new_primDivNatS1(Succ(Zero), Succ(x0)) 214.33/146.00 new_primQuotInt(x0, Pos(Succ(x1))) 214.33/146.00 new_abs(Neg(Succ(x0))) 214.33/146.00 new_esEs0(x0, ty_Integer) 214.33/146.00 new_sr3(x0, ty_Int) 214.33/146.00 new_esEs(Neg(Succ(x0))) 214.33/146.00 new_primModNatS01(x0, x1, Zero, Zero) 214.33/146.00 new_sr4(x0, x1, app(ty_Ratio, x2)) 214.33/146.00 new_gcd0(x0, x1) 214.33/146.00 new_primEqInt(Pos(Succ(x0))) 214.33/146.00 new_sr3(x0, ty_Double) 214.33/146.00 new_quot1(x0, x1, x2, x3, ty_Integer) 214.33/146.00 new_primDivNatS1(Succ(Succ(x0)), Zero) 214.33/146.00 new_primMulNat1(Succ(x0)) 214.33/146.00 new_sr14(x0, x1) 214.33/146.00 new_quot0(x0, x1, x2, x3, ty_Int) 214.33/146.00 new_primModNatS1(Succ(Zero), Succ(x0)) 214.33/146.00 new_reduce2Reduce1(x0, x1, x2, x3, False, x4) 214.33/146.00 new_esEs(Neg(Zero)) 214.33/146.00 new_primMulNat1(Zero) 214.33/146.00 new_new_pr2F0G10(Succ(Succ(x0))) 214.33/146.00 new_new_pr2F0G10(Succ(Zero)) 214.33/146.00 new_new_pr2F0G10(Zero) 214.33/146.01 214.33/146.01 We have to consider all minimal (P,Q,R)-chains. 214.33/146.01 ---------------------------------------- 214.33/146.01 214.33/146.01 (844) TransformationProof (EQUIVALENT) 214.33/146.01 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]: 214.33/146.01 214.33/146.01 (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)) 214.33/146.01 214.33/146.01 214.33/146.01 ---------------------------------------- 214.33/146.01 214.33/146.01 (845) 214.33/146.01 Obligation: 214.33/146.01 Q DP problem: 214.33/146.01 The TRS P consists of the following rules: 214.33/146.01 214.33/146.01 new_pr2F0(vyv184, Neg(Succ(Succ(vyv223000))), vyv188, h) -> new_pr2F0G10(vyv188, vyv184, Succ(vyv223000), vyv223000, h) 214.33/146.01 new_pr2F0G10(vyv249, vyv250, vyv251, Succ(Zero), bb) -> new_pr2F0G11(vyv249, vyv250, vyv251, bb) 214.33/146.01 new_pr2F0G11(vyv239, vyv240, vyv241, bc) -> new_pr2F1(vyv240, vyv241, Pos(Succ(Zero)), vyv239, bc) 214.33/146.01 new_pr2F1(z1, z2, Pos(Succ(Zero)), z0, z3) -> new_pr2F30(False, z1, z2, Pos(Succ(Zero)), z0, z3) 214.33/146.01 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) 214.33/146.01 H(vyv249, vyv250, vyv251, bb, cons_new_pr2F0G10(Succ(Zero))) -> new_pr2F0G10(vyv249, vyv250, vyv251, Succ(Zero), bb) 214.33/146.01 H(vyv249, vyv250, vyv251, bb, cons_new_pr2F0G10(Zero)) -> new_pr2F0G10(vyv249, vyv250, vyv251, Zero, bb) 214.33/146.01 new_pr2F0G(vyv188, vyv184, Neg(Succ(Zero)), h) -> new_pr2F0G11(vyv188, vyv184, Zero, h) 214.33/146.01 new_pr2F0G(vyv188, vyv184, Neg(Succ(Succ(vyv223000))), h) -> new_pr2F0G10(vyv188, vyv184, Succ(vyv223000), vyv223000, h) 214.33/146.01 new_pr2F0G10(y0, y1, Succ(Zero), Zero, y3) -> new_pr2F0G(y0, new_sr3(y1, y3), Neg(Succ(Zero)), y3) 214.33/146.01 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))) 214.33/146.01 new_pr2F0(y0, Neg(Succ(Succ(Succ(Succ(Zero))))), y2, y3) -> H(y2, y0, Succ(Succ(Succ(Zero))), y3, cons_new_pr2F0G10(Zero)) 214.33/146.01 new_pr2F0G10(y0, y1, Succ(Succ(Zero)), Zero, y3) -> new_pr2F0G(y0, new_sr3(y1, y3), Neg(Succ(Zero)), y3) 214.33/146.01 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)) 214.33/146.01 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))) 214.33/146.01 new_pr2F0G(y0, y1, Neg(Succ(Succ(Succ(Succ(Zero))))), y3) -> H(y0, y1, Succ(Succ(Succ(Zero))), y3, cons_new_pr2F0G10(Zero)) 214.33/146.01 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)) 214.33/146.01 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))) 214.33/146.01 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)) 214.33/146.01 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) 214.33/146.01 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) 214.33/146.01 214.33/146.01 The TRS R consists of the following rules: 214.33/146.01 214.33/146.01 new_new_pr2F0G10(Succ(Succ(vyv25200))) -> new_new_pr2F0G10(vyv25200) 214.33/146.01 new_new_pr2F0G10(Succ(Zero)) -> cons_new_pr2F0G10(Succ(Zero)) 214.33/146.01 new_new_pr2F0G10(Zero) -> cons_new_pr2F0G10(Zero) 214.33/146.01 new_sr3(vyv250, ty_Double) -> new_sr11(vyv250) 214.33/146.01 new_sr3(vyv250, ty_Int) -> new_sr7(vyv250) 214.33/146.01 new_sr3(vyv250, ty_Float) -> new_sr12(vyv250) 214.33/146.01 new_sr3(vyv250, ty_Integer) -> new_sr6(vyv250) 214.33/146.01 new_sr3(vyv250, app(ty_Ratio, bf)) -> new_sr5(vyv250, bf) 214.33/146.01 new_sr5(:%(vyv1840, vyv1841), bd) -> new_reduce2Reduce1(vyv1840, vyv1840, vyv1841, vyv1841, new_esEs0(vyv1841, bd), bd) 214.33/146.01 new_esEs0(vyv1841, ty_Int) -> new_esEs(new_sr7(vyv1841)) 214.33/146.01 new_esEs0(vyv1841, ty_Integer) -> new_esEs1(new_sr6(vyv1841)) 214.33/146.01 new_reduce2Reduce1(vyv265, vyv266, vyv267, vyv268, False, bh) -> :%(new_quot0(vyv265, vyv266, vyv267, vyv268, bh), new_quot1(vyv267, vyv268, vyv265, vyv266, bh)) 214.33/146.01 new_reduce2Reduce1(vyv265, vyv266, vyv267, vyv268, True, bh) -> error([]) 214.33/146.01 new_quot0(vyv265, vyv266, vyv267, vyv268, ty_Integer) -> new_quot2(new_sr9(vyv265, vyv266), new_sr9(vyv265, vyv266), new_sr9(vyv267, vyv268)) 214.33/146.01 new_quot0(vyv265, vyv266, vyv267, vyv268, ty_Int) -> new_quot(new_sr10(vyv265, vyv266), new_sr10(vyv265, vyv266), new_sr10(vyv267, vyv268)) 214.33/146.01 new_quot1(vyv267, vyv268, vyv265, vyv266, ty_Int) -> new_quot(new_sr10(vyv267, vyv268), new_sr10(vyv265, vyv266), new_sr10(vyv267, vyv268)) 214.33/146.01 new_quot1(vyv267, vyv268, vyv265, vyv266, ty_Integer) -> new_quot2(new_sr9(vyv267, vyv268), new_sr9(vyv265, vyv266), new_sr9(vyv267, vyv268)) 214.33/146.01 new_sr9(vyv240, vyv239) -> error([]) 214.33/146.01 new_quot2(vyv274, vyv276, vyv275) -> error([]) 214.33/146.01 new_sr10(Pos(vyv2400), Pos(vyv2390)) -> Pos(new_primMulNat0(vyv2400, vyv2390)) 214.33/146.01 new_sr10(Neg(vyv2400), Neg(vyv2390)) -> Pos(new_primMulNat0(vyv2400, vyv2390)) 214.33/146.01 new_sr10(Pos(vyv2400), Neg(vyv2390)) -> Neg(new_primMulNat0(vyv2400, vyv2390)) 214.33/146.01 new_sr10(Neg(vyv2400), Pos(vyv2390)) -> Neg(new_primMulNat0(vyv2400, vyv2390)) 214.33/146.01 new_quot(Pos(vyv2710), vyv273, vyv272) -> new_primQuotInt(vyv2710, new_gcd(vyv273, vyv272)) 214.33/146.01 new_quot(Neg(vyv2710), vyv273, vyv272) -> new_primQuotInt0(vyv2710, new_gcd(vyv273, vyv272)) 214.33/146.01 new_gcd(vyv273, vyv272) -> new_gcd2(new_esEs(vyv273), vyv273, vyv272) 214.33/146.01 new_primQuotInt0(vyv2710, Pos(Succ(vyv28800))) -> Neg(new_primDivNatS1(vyv2710, vyv28800)) 214.33/146.01 new_primQuotInt0(vyv2710, Neg(Zero)) -> new_error 214.33/146.01 new_primQuotInt0(vyv2710, Neg(Succ(vyv28800))) -> Pos(new_primDivNatS1(vyv2710, vyv28800)) 214.33/146.01 new_primQuotInt0(vyv2710, Pos(Zero)) -> new_error 214.33/146.01 new_error -> error([]) 214.33/146.01 new_primDivNatS1(Succ(Zero), Succ(vyv285000)) -> Zero 214.33/146.01 new_primDivNatS1(Succ(Succ(vyv271000)), Succ(vyv285000)) -> new_primDivNatS01(vyv271000, vyv285000, vyv271000, vyv285000) 214.33/146.01 new_primDivNatS1(Zero, vyv28500) -> Zero 214.33/146.01 new_primDivNatS1(Succ(Succ(vyv271000)), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS0(vyv271000), Zero)) 214.33/146.01 new_primDivNatS1(Succ(Zero), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS1, Zero)) 214.33/146.01 new_primMinusNatS1 -> Zero 214.33/146.01 new_primMinusNatS0(vyv271000) -> Succ(vyv271000) 214.33/146.01 new_primDivNatS01(vyv311, vyv312, Succ(vyv3130), Zero) -> new_primDivNatS02(vyv311, vyv312) 214.33/146.01 new_primDivNatS01(vyv311, vyv312, Zero, Succ(vyv3140)) -> Zero 214.33/146.01 new_primDivNatS01(vyv311, vyv312, Succ(vyv3130), Succ(vyv3140)) -> new_primDivNatS01(vyv311, vyv312, vyv3130, vyv3140) 214.33/146.01 new_primDivNatS01(vyv311, vyv312, Zero, Zero) -> new_primDivNatS02(vyv311, vyv312) 214.33/146.01 new_primDivNatS02(vyv311, vyv312) -> Succ(new_primDivNatS1(new_primMinusNatS2(vyv311, vyv312), Succ(vyv312))) 214.33/146.01 new_primMinusNatS2(Zero, Succ(vyv3120)) -> Zero 214.33/146.01 new_primMinusNatS2(Succ(vyv3110), Zero) -> Succ(vyv3110) 214.33/146.01 new_primMinusNatS2(Zero, Zero) -> Zero 214.33/146.01 new_primMinusNatS2(Succ(vyv3110), Succ(vyv3120)) -> new_primMinusNatS2(vyv3110, vyv3120) 214.33/146.01 new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) 214.33/146.01 new_esEs(Pos(Succ(vyv24300))) -> new_primEqInt(Pos(Succ(vyv24300))) 214.33/146.01 new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) 214.33/146.01 new_esEs(Neg(Succ(vyv24300))) -> new_primEqInt(Neg(Succ(vyv24300))) 214.33/146.01 new_gcd2(True, vyv273, vyv272) -> new_gcd1(new_esEs(vyv272), vyv273, vyv272) 214.33/146.01 new_gcd2(False, vyv273, vyv272) -> new_gcd0(vyv273, vyv272) 214.33/146.01 new_gcd0(vyv273, vyv272) -> new_gcd0Gcd'11(new_esEs(new_abs(vyv272)), vyv273, vyv272) 214.33/146.01 new_abs(Neg(Zero)) -> Neg(Zero) 214.33/146.01 new_abs(Neg(Succ(vyv27200))) -> Pos(Succ(vyv27200)) 214.33/146.01 new_abs(Pos(Succ(vyv27200))) -> Pos(Succ(vyv27200)) 214.33/146.01 new_abs(Pos(Zero)) -> Pos(Zero) 214.33/146.01 new_gcd0Gcd'11(True, vyv273, vyv272) -> new_abs(vyv273) 214.33/146.01 new_gcd0Gcd'11(False, vyv273, vyv272) -> new_gcd0Gcd'00(new_abs(vyv273), new_abs(vyv272)) 214.33/146.01 new_gcd0Gcd'00(vyv293, vyv292) -> new_gcd0Gcd'10(new_esEs(new_rem(vyv293, vyv292)), vyv292, vyv293) 214.33/146.01 new_gcd0Gcd'10(False, vyv292, vyv293) -> new_gcd0Gcd'00(vyv292, new_rem(vyv293, vyv292)) 214.33/146.01 new_rem(Pos(vyv2930), Neg(Zero)) -> new_error 214.33/146.01 new_rem(Neg(vyv2930), Pos(Zero)) -> new_error 214.33/146.01 new_rem(Pos(vyv2930), Neg(Succ(vyv29200))) -> Pos(new_primModNatS1(vyv2930, vyv29200)) 214.33/146.01 new_rem(Neg(vyv2930), Pos(Succ(vyv29200))) -> Neg(new_primModNatS1(vyv2930, vyv29200)) 214.33/146.01 new_rem(Pos(vyv2930), Pos(Succ(vyv29200))) -> Pos(new_primModNatS1(vyv2930, vyv29200)) 214.33/146.01 new_rem(Neg(vyv2930), Neg(Zero)) -> new_error 214.33/146.01 new_rem(Neg(vyv2930), Neg(Succ(vyv29200))) -> Neg(new_primModNatS1(vyv2930, vyv29200)) 214.33/146.01 new_rem(Pos(vyv2930), Pos(Zero)) -> new_error 214.33/146.01 new_gcd0Gcd'10(True, vyv292, vyv293) -> vyv292 214.33/146.01 new_primModNatS1(Succ(Zero), Succ(vyv292000)) -> Succ(Zero) 214.33/146.01 new_primModNatS1(Zero, vyv29200) -> Zero 214.33/146.01 new_primModNatS1(Succ(Succ(vyv293000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv293000), Zero) 214.33/146.01 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 214.33/146.01 new_primModNatS1(Succ(Succ(vyv293000)), Succ(vyv292000)) -> new_primModNatS01(vyv293000, vyv292000, vyv293000, vyv292000) 214.33/146.01 new_primModNatS01(vyv331, vyv332, Zero, Zero) -> new_primModNatS02(vyv331, vyv332) 214.33/146.01 new_primModNatS02(vyv331, vyv332) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv331), Succ(vyv332)), Succ(vyv332)) 214.33/146.01 new_primModNatS01(vyv331, vyv332, Succ(vyv3330), Zero) -> new_primModNatS02(vyv331, vyv332) 214.33/146.01 new_primModNatS01(vyv331, vyv332, Succ(vyv3330), Succ(vyv3340)) -> new_primModNatS01(vyv331, vyv332, vyv3330, vyv3340) 214.33/146.01 new_primModNatS01(vyv331, vyv332, Zero, Succ(vyv3340)) -> Succ(Succ(vyv331)) 214.33/146.01 new_gcd1(True, vyv273, vyv272) -> new_error 214.33/146.01 new_gcd1(False, vyv273, vyv272) -> new_gcd0(vyv273, vyv272) 214.33/146.01 new_primEqInt(Neg(Succ(vyv242000))) -> False 214.33/146.01 new_primEqInt(Pos(Zero)) -> True 214.33/146.01 new_primEqInt(Pos(Succ(vyv242000))) -> False 214.33/146.01 new_primEqInt(Neg(Zero)) -> True 214.33/146.01 new_primQuotInt(vyv2710, Pos(Succ(vyv28500))) -> Pos(new_primDivNatS1(vyv2710, vyv28500)) 214.33/146.01 new_primQuotInt(vyv2710, Neg(Zero)) -> new_error 214.33/146.01 new_primQuotInt(vyv2710, Pos(Zero)) -> new_error 214.33/146.01 new_primQuotInt(vyv2710, Neg(Succ(vyv28500))) -> Neg(new_primDivNatS1(vyv2710, vyv28500)) 214.33/146.01 new_primMulNat0(Zero, Succ(vyv23900)) -> Zero 214.33/146.01 new_primMulNat0(Succ(vyv24000), Succ(vyv23900)) -> new_primPlusNat0(new_primMulNat0(vyv24000, Succ(vyv23900)), Succ(vyv23900)) 214.33/146.01 new_primMulNat0(Succ(vyv24000), Zero) -> Zero 214.33/146.01 new_primMulNat0(Zero, Zero) -> Zero 214.33/146.01 new_primPlusNat0(Succ(vyv4000), Succ(vyv6000)) -> Succ(Succ(new_primPlusNat0(vyv4000, vyv6000))) 214.33/146.01 new_primPlusNat0(Zero, Succ(vyv6000)) -> Succ(vyv6000) 214.33/146.01 new_primPlusNat0(Zero, Zero) -> Zero 214.33/146.01 new_primPlusNat0(Succ(vyv4000), Zero) -> Succ(vyv4000) 214.33/146.01 new_sr6(vyv184) -> error([]) 214.33/146.01 new_esEs1(Integer(vyv2700)) -> new_primEqInt(vyv2700) 214.33/146.01 new_sr7(Pos(vyv1840)) -> Pos(new_primMulNat1(vyv1840)) 214.33/146.01 new_sr7(Neg(vyv1840)) -> Pos(new_primMulNat1(vyv1840)) 214.33/146.01 new_primMulNat1(Succ(vyv18400)) -> new_primPlusNat0(new_primMulNat2(vyv18400), Succ(vyv18400)) 214.33/146.01 new_primMulNat1(Zero) -> Zero 214.33/146.01 new_primMulNat2(Succ(vyv184000)) -> new_primPlusNat0(new_primMulNat3(vyv184000), Succ(Succ(vyv184000))) 214.33/146.01 new_primMulNat2(Zero) -> Zero 214.33/146.01 new_primMulNat3(Succ(vyv1840000)) -> new_primPlusNat0(new_primMulNat4(vyv1840000), Succ(Succ(Succ(vyv1840000)))) 214.33/146.01 new_primMulNat3(Zero) -> Zero 214.33/146.01 new_primMulNat4(Succ(vyv18400000)) -> new_primPlusNat0(new_primMulNat0(vyv18400000, Succ(Succ(Succ(Succ(vyv18400000))))), Succ(Succ(Succ(Succ(vyv18400000))))) 214.33/146.01 new_primMulNat4(Zero) -> Zero 214.33/146.01 new_sr12(vyv184) -> error([]) 214.33/146.01 new_sr11(vyv184) -> error([]) 214.33/146.01 new_sr4(vyv240, vyv239, app(ty_Ratio, be)) -> new_sr8(vyv240, vyv239, be) 214.33/146.01 new_sr4(vyv240, vyv239, ty_Float) -> new_sr14(vyv240, vyv239) 214.33/146.01 new_sr4(vyv240, vyv239, ty_Int) -> new_sr10(vyv240, vyv239) 214.33/146.01 new_sr4(vyv240, vyv239, ty_Double) -> new_sr13(vyv240, vyv239) 214.33/146.01 new_sr4(vyv240, vyv239, ty_Integer) -> new_sr9(vyv240, vyv239) 214.33/146.01 new_sr13(vyv240, vyv239) -> error([]) 214.33/146.01 new_sr14(vyv240, vyv239) -> error([]) 214.33/146.01 new_sr8(:%(vyv2400, vyv2401), :%(vyv2390, vyv2391), be) -> new_reduce2Reduce1(vyv2400, vyv2390, vyv2401, vyv2391, new_esEs2(vyv2401, vyv2391, be), be) 214.33/146.01 new_esEs2(vyv2401, vyv2391, ty_Integer) -> new_esEs1(new_sr9(vyv2401, vyv2391)) 214.33/146.01 new_esEs2(vyv2401, vyv2391, ty_Int) -> new_esEs(new_sr10(vyv2401, vyv2391)) 214.33/146.01 214.33/146.01 The set Q consists of the following terms: 214.33/146.01 214.33/146.01 new_sr13(x0, x1) 214.33/146.01 new_primDivNatS01(x0, x1, Zero, Zero) 214.33/146.01 new_gcd0Gcd'11(False, x0, x1) 214.33/146.01 new_primMulNat4(Zero) 214.33/146.01 new_gcd0Gcd'11(True, x0, x1) 214.33/146.01 new_sr5(:%(x0, x1), x2) 214.33/146.01 new_primEqInt(Pos(Zero)) 214.33/146.01 new_esEs(Pos(Succ(x0))) 214.33/146.01 new_primQuotInt0(x0, Neg(Zero)) 214.33/146.01 new_primMulNat3(Zero) 214.33/146.01 new_primModNatS02(x0, x1) 214.33/146.01 new_primDivNatS1(Succ(Zero), Zero) 214.33/146.01 new_primMinusNatS0(x0) 214.33/146.01 new_sr11(x0) 214.33/146.01 new_rem(Pos(x0), Neg(Succ(x1))) 214.33/146.01 new_rem(Neg(x0), Pos(Succ(x1))) 214.33/146.01 new_primMulNat0(Zero, Zero) 214.33/146.01 new_primPlusNat0(Succ(x0), Zero) 214.33/146.01 new_primMulNat0(Succ(x0), Zero) 214.33/146.01 new_sr3(x0, ty_Float) 214.33/146.01 new_primMulNat2(Zero) 214.33/146.01 new_primQuotInt(x0, Pos(Zero)) 214.33/146.01 new_primMulNat2(Succ(x0)) 214.33/146.01 new_primQuotInt(x0, Neg(Zero)) 214.33/146.01 new_rem(Neg(x0), Neg(Succ(x1))) 214.33/146.01 new_primMinusNatS2(Zero, Succ(x0)) 214.33/146.01 new_sr4(x0, x1, ty_Double) 214.33/146.01 new_primMulNat3(Succ(x0)) 214.33/146.01 new_esEs1(Integer(x0)) 214.33/146.01 new_primQuotInt0(x0, Pos(Zero)) 214.33/146.01 new_gcd2(True, x0, x1) 214.33/146.01 new_quot1(x0, x1, x2, x3, ty_Int) 214.33/146.01 new_primDivNatS1(Zero, x0) 214.33/146.01 new_gcd(x0, x1) 214.33/146.01 new_gcd1(False, x0, x1) 214.33/146.01 new_esEs2(x0, x1, ty_Int) 214.33/146.01 new_sr3(x0, ty_Integer) 214.33/146.01 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 214.33/146.01 new_primPlusNat0(Zero, Succ(x0)) 214.33/146.01 new_sr8(:%(x0, x1), :%(x2, x3), x4) 214.33/146.01 new_abs(Neg(Zero)) 214.33/146.01 new_primMinusNatS2(Succ(x0), Zero) 214.33/146.01 new_error 214.33/146.01 new_primModNatS1(Succ(Zero), Zero) 214.33/146.01 new_primMulNat4(Succ(x0)) 214.33/146.01 new_primDivNatS02(x0, x1) 214.33/146.01 new_rem(Neg(x0), Neg(Zero)) 214.33/146.01 new_primEqInt(Neg(Zero)) 214.33/146.01 new_rem(Pos(x0), Pos(Succ(x1))) 214.33/146.01 new_abs(Pos(Succ(x0))) 214.33/146.01 new_primMulNat0(Succ(x0), Succ(x1)) 214.33/146.01 new_primMulNat0(Zero, Succ(x0)) 214.33/146.01 new_reduce2Reduce1(x0, x1, x2, x3, True, x4) 214.33/146.01 new_gcd0Gcd'10(False, x0, x1) 214.33/146.01 new_sr12(x0) 214.33/146.01 new_primDivNatS01(x0, x1, Zero, Succ(x2)) 214.33/146.01 new_sr10(Pos(x0), Pos(x1)) 214.33/146.01 new_primModNatS01(x0, x1, Zero, Succ(x2)) 214.33/146.01 new_primPlusNat0(Zero, Zero) 214.33/146.01 new_primQuotInt0(x0, Pos(Succ(x1))) 214.33/146.01 new_primModNatS01(x0, x1, Succ(x2), Zero) 214.33/146.01 new_primModNatS1(Succ(Succ(x0)), Zero) 214.33/146.01 new_sr4(x0, x1, ty_Integer) 214.33/146.01 new_rem(Pos(x0), Pos(Zero)) 214.33/146.01 new_sr4(x0, x1, ty_Int) 214.33/146.01 new_quot(Pos(x0), x1, x2) 214.33/146.01 new_primMinusNatS2(Zero, Zero) 214.33/146.01 new_esEs0(x0, ty_Int) 214.33/146.01 new_esEs(Pos(Zero)) 214.33/146.01 new_quot(Neg(x0), x1, x2) 214.33/146.01 new_primDivNatS01(x0, x1, Succ(x2), Succ(x3)) 214.33/146.01 new_quot2(x0, x1, x2) 214.33/146.01 new_primEqInt(Neg(Succ(x0))) 214.33/146.01 new_sr10(Neg(x0), Neg(x1)) 214.33/146.01 new_sr3(x0, app(ty_Ratio, x1)) 214.33/146.01 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 214.33/146.01 new_sr9(x0, x1) 214.33/146.01 new_sr7(Neg(x0)) 214.33/146.01 new_primQuotInt0(x0, Neg(Succ(x1))) 214.33/146.01 new_rem(Pos(x0), Neg(Zero)) 214.33/146.01 new_rem(Neg(x0), Pos(Zero)) 214.33/146.01 new_gcd0Gcd'00(x0, x1) 214.33/146.01 new_primQuotInt(x0, Neg(Succ(x1))) 214.33/146.01 new_primMinusNatS2(Succ(x0), Succ(x1)) 214.33/146.01 new_abs(Pos(Zero)) 214.33/146.01 new_quot0(x0, x1, x2, x3, ty_Integer) 214.33/146.01 new_sr6(x0) 214.33/146.01 new_gcd2(False, x0, x1) 214.33/146.01 new_gcd1(True, x0, x1) 214.33/146.01 new_esEs2(x0, x1, ty_Integer) 214.33/146.01 new_primMinusNatS1 214.33/146.01 new_sr7(Pos(x0)) 214.33/146.01 new_gcd0Gcd'10(True, x0, x1) 214.33/146.01 new_primModNatS1(Zero, x0) 214.33/146.01 new_sr4(x0, x1, ty_Float) 214.33/146.01 new_sr10(Pos(x0), Neg(x1)) 214.33/146.01 new_sr10(Neg(x0), Pos(x1)) 214.33/146.01 new_primDivNatS01(x0, x1, Succ(x2), Zero) 214.33/146.01 new_primDivNatS1(Succ(Succ(x0)), Succ(x1)) 214.33/146.01 new_primPlusNat0(Succ(x0), Succ(x1)) 214.33/146.01 new_primDivNatS1(Succ(Zero), Succ(x0)) 214.33/146.01 new_primQuotInt(x0, Pos(Succ(x1))) 214.33/146.01 new_abs(Neg(Succ(x0))) 214.33/146.01 new_esEs0(x0, ty_Integer) 214.33/146.01 new_sr3(x0, ty_Int) 214.33/146.01 new_esEs(Neg(Succ(x0))) 214.33/146.01 new_primModNatS01(x0, x1, Zero, Zero) 214.33/146.01 new_sr4(x0, x1, app(ty_Ratio, x2)) 214.33/146.01 new_gcd0(x0, x1) 214.33/146.01 new_primEqInt(Pos(Succ(x0))) 214.33/146.01 new_sr3(x0, ty_Double) 214.33/146.01 new_quot1(x0, x1, x2, x3, ty_Integer) 214.33/146.01 new_primDivNatS1(Succ(Succ(x0)), Zero) 214.33/146.01 new_primMulNat1(Succ(x0)) 214.33/146.01 new_sr14(x0, x1) 214.33/146.01 new_quot0(x0, x1, x2, x3, ty_Int) 214.33/146.01 new_primModNatS1(Succ(Zero), Succ(x0)) 214.33/146.01 new_reduce2Reduce1(x0, x1, x2, x3, False, x4) 214.33/146.01 new_esEs(Neg(Zero)) 214.33/146.01 new_primMulNat1(Zero) 214.33/146.01 new_new_pr2F0G10(Succ(Succ(x0))) 214.33/146.01 new_new_pr2F0G10(Succ(Zero)) 214.33/146.01 new_new_pr2F0G10(Zero) 214.33/146.01 214.33/146.01 We have to consider all minimal (P,Q,R)-chains. 214.33/146.01 ---------------------------------------- 214.33/146.01 214.33/146.01 (846) TransformationProof (EQUIVALENT) 214.33/146.01 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]: 214.33/146.01 214.33/146.01 (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)) 214.33/146.01 214.33/146.01 214.33/146.01 ---------------------------------------- 214.33/146.01 214.33/146.01 (847) 214.33/146.01 Obligation: 214.33/146.01 Q DP problem: 214.33/146.01 The TRS P consists of the following rules: 214.33/146.01 214.33/146.01 new_pr2F0(vyv184, Neg(Succ(Succ(vyv223000))), vyv188, h) -> new_pr2F0G10(vyv188, vyv184, Succ(vyv223000), vyv223000, h) 214.33/146.01 new_pr2F0G10(vyv249, vyv250, vyv251, Succ(Zero), bb) -> new_pr2F0G11(vyv249, vyv250, vyv251, bb) 214.33/146.01 new_pr2F0G11(vyv239, vyv240, vyv241, bc) -> new_pr2F1(vyv240, vyv241, Pos(Succ(Zero)), vyv239, bc) 214.33/146.01 new_pr2F1(z1, z2, Pos(Succ(Zero)), z0, z3) -> new_pr2F30(False, z1, z2, Pos(Succ(Zero)), z0, z3) 214.33/146.01 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) 214.33/146.01 H(vyv249, vyv250, vyv251, bb, cons_new_pr2F0G10(Succ(Zero))) -> new_pr2F0G10(vyv249, vyv250, vyv251, Succ(Zero), bb) 214.33/146.01 H(vyv249, vyv250, vyv251, bb, cons_new_pr2F0G10(Zero)) -> new_pr2F0G10(vyv249, vyv250, vyv251, Zero, bb) 214.33/146.01 new_pr2F0G(vyv188, vyv184, Neg(Succ(Zero)), h) -> new_pr2F0G11(vyv188, vyv184, Zero, h) 214.33/146.01 new_pr2F0G(vyv188, vyv184, Neg(Succ(Succ(vyv223000))), h) -> new_pr2F0G10(vyv188, vyv184, Succ(vyv223000), vyv223000, h) 214.33/146.01 new_pr2F0G10(y0, y1, Succ(Zero), Zero, y3) -> new_pr2F0G(y0, new_sr3(y1, y3), Neg(Succ(Zero)), y3) 214.33/146.01 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))) 214.33/146.01 new_pr2F0(y0, Neg(Succ(Succ(Succ(Succ(Zero))))), y2, y3) -> H(y2, y0, Succ(Succ(Succ(Zero))), y3, cons_new_pr2F0G10(Zero)) 214.33/146.01 new_pr2F0G10(y0, y1, Succ(Succ(Zero)), Zero, y3) -> new_pr2F0G(y0, new_sr3(y1, y3), Neg(Succ(Zero)), y3) 214.33/146.01 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)) 214.33/146.01 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))) 214.33/146.01 new_pr2F0G(y0, y1, Neg(Succ(Succ(Succ(Succ(Zero))))), y3) -> H(y0, y1, Succ(Succ(Succ(Zero))), y3, cons_new_pr2F0G10(Zero)) 214.33/146.01 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)) 214.33/146.01 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))) 214.33/146.01 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)) 214.33/146.01 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) 214.33/146.01 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) 214.33/146.01 214.33/146.01 The TRS R consists of the following rules: 214.33/146.01 214.33/146.01 new_new_pr2F0G10(Succ(Succ(vyv25200))) -> new_new_pr2F0G10(vyv25200) 214.33/146.01 new_new_pr2F0G10(Succ(Zero)) -> cons_new_pr2F0G10(Succ(Zero)) 214.33/146.01 new_new_pr2F0G10(Zero) -> cons_new_pr2F0G10(Zero) 214.33/146.01 new_sr3(vyv250, ty_Double) -> new_sr11(vyv250) 214.33/146.01 new_sr3(vyv250, ty_Int) -> new_sr7(vyv250) 214.33/146.01 new_sr3(vyv250, ty_Float) -> new_sr12(vyv250) 214.33/146.01 new_sr3(vyv250, ty_Integer) -> new_sr6(vyv250) 214.33/146.01 new_sr3(vyv250, app(ty_Ratio, bf)) -> new_sr5(vyv250, bf) 214.33/146.01 new_sr5(:%(vyv1840, vyv1841), bd) -> new_reduce2Reduce1(vyv1840, vyv1840, vyv1841, vyv1841, new_esEs0(vyv1841, bd), bd) 214.33/146.01 new_esEs0(vyv1841, ty_Int) -> new_esEs(new_sr7(vyv1841)) 214.33/146.01 new_esEs0(vyv1841, ty_Integer) -> new_esEs1(new_sr6(vyv1841)) 214.33/146.01 new_reduce2Reduce1(vyv265, vyv266, vyv267, vyv268, False, bh) -> :%(new_quot0(vyv265, vyv266, vyv267, vyv268, bh), new_quot1(vyv267, vyv268, vyv265, vyv266, bh)) 214.33/146.01 new_reduce2Reduce1(vyv265, vyv266, vyv267, vyv268, True, bh) -> error([]) 214.33/146.01 new_quot0(vyv265, vyv266, vyv267, vyv268, ty_Integer) -> new_quot2(new_sr9(vyv265, vyv266), new_sr9(vyv265, vyv266), new_sr9(vyv267, vyv268)) 214.33/146.01 new_quot0(vyv265, vyv266, vyv267, vyv268, ty_Int) -> new_quot(new_sr10(vyv265, vyv266), new_sr10(vyv265, vyv266), new_sr10(vyv267, vyv268)) 214.33/146.01 new_quot1(vyv267, vyv268, vyv265, vyv266, ty_Int) -> new_quot(new_sr10(vyv267, vyv268), new_sr10(vyv265, vyv266), new_sr10(vyv267, vyv268)) 214.33/146.01 new_quot1(vyv267, vyv268, vyv265, vyv266, ty_Integer) -> new_quot2(new_sr9(vyv267, vyv268), new_sr9(vyv265, vyv266), new_sr9(vyv267, vyv268)) 214.33/146.01 new_sr9(vyv240, vyv239) -> error([]) 214.33/146.01 new_quot2(vyv274, vyv276, vyv275) -> error([]) 214.33/146.01 new_sr10(Pos(vyv2400), Pos(vyv2390)) -> Pos(new_primMulNat0(vyv2400, vyv2390)) 214.33/146.01 new_sr10(Neg(vyv2400), Neg(vyv2390)) -> Pos(new_primMulNat0(vyv2400, vyv2390)) 214.33/146.01 new_sr10(Pos(vyv2400), Neg(vyv2390)) -> Neg(new_primMulNat0(vyv2400, vyv2390)) 214.33/146.01 new_sr10(Neg(vyv2400), Pos(vyv2390)) -> Neg(new_primMulNat0(vyv2400, vyv2390)) 214.33/146.01 new_quot(Pos(vyv2710), vyv273, vyv272) -> new_primQuotInt(vyv2710, new_gcd(vyv273, vyv272)) 214.33/146.01 new_quot(Neg(vyv2710), vyv273, vyv272) -> new_primQuotInt0(vyv2710, new_gcd(vyv273, vyv272)) 214.33/146.01 new_gcd(vyv273, vyv272) -> new_gcd2(new_esEs(vyv273), vyv273, vyv272) 214.33/146.01 new_primQuotInt0(vyv2710, Pos(Succ(vyv28800))) -> Neg(new_primDivNatS1(vyv2710, vyv28800)) 214.33/146.01 new_primQuotInt0(vyv2710, Neg(Zero)) -> new_error 214.33/146.01 new_primQuotInt0(vyv2710, Neg(Succ(vyv28800))) -> Pos(new_primDivNatS1(vyv2710, vyv28800)) 214.33/146.01 new_primQuotInt0(vyv2710, Pos(Zero)) -> new_error 214.33/146.01 new_error -> error([]) 214.33/146.01 new_primDivNatS1(Succ(Zero), Succ(vyv285000)) -> Zero 214.33/146.01 new_primDivNatS1(Succ(Succ(vyv271000)), Succ(vyv285000)) -> new_primDivNatS01(vyv271000, vyv285000, vyv271000, vyv285000) 214.33/146.01 new_primDivNatS1(Zero, vyv28500) -> Zero 214.33/146.01 new_primDivNatS1(Succ(Succ(vyv271000)), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS0(vyv271000), Zero)) 214.33/146.01 new_primDivNatS1(Succ(Zero), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS1, Zero)) 214.33/146.01 new_primMinusNatS1 -> Zero 214.33/146.01 new_primMinusNatS0(vyv271000) -> Succ(vyv271000) 214.33/146.01 new_primDivNatS01(vyv311, vyv312, Succ(vyv3130), Zero) -> new_primDivNatS02(vyv311, vyv312) 214.33/146.01 new_primDivNatS01(vyv311, vyv312, Zero, Succ(vyv3140)) -> Zero 214.33/146.01 new_primDivNatS01(vyv311, vyv312, Succ(vyv3130), Succ(vyv3140)) -> new_primDivNatS01(vyv311, vyv312, vyv3130, vyv3140) 214.33/146.01 new_primDivNatS01(vyv311, vyv312, Zero, Zero) -> new_primDivNatS02(vyv311, vyv312) 214.33/146.01 new_primDivNatS02(vyv311, vyv312) -> Succ(new_primDivNatS1(new_primMinusNatS2(vyv311, vyv312), Succ(vyv312))) 214.33/146.01 new_primMinusNatS2(Zero, Succ(vyv3120)) -> Zero 214.33/146.01 new_primMinusNatS2(Succ(vyv3110), Zero) -> Succ(vyv3110) 214.33/146.01 new_primMinusNatS2(Zero, Zero) -> Zero 214.33/146.01 new_primMinusNatS2(Succ(vyv3110), Succ(vyv3120)) -> new_primMinusNatS2(vyv3110, vyv3120) 214.33/146.01 new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) 214.33/146.01 new_esEs(Pos(Succ(vyv24300))) -> new_primEqInt(Pos(Succ(vyv24300))) 214.33/146.01 new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) 214.33/146.01 new_esEs(Neg(Succ(vyv24300))) -> new_primEqInt(Neg(Succ(vyv24300))) 214.33/146.01 new_gcd2(True, vyv273, vyv272) -> new_gcd1(new_esEs(vyv272), vyv273, vyv272) 214.33/146.01 new_gcd2(False, vyv273, vyv272) -> new_gcd0(vyv273, vyv272) 214.33/146.01 new_gcd0(vyv273, vyv272) -> new_gcd0Gcd'11(new_esEs(new_abs(vyv272)), vyv273, vyv272) 214.33/146.01 new_abs(Neg(Zero)) -> Neg(Zero) 214.33/146.01 new_abs(Neg(Succ(vyv27200))) -> Pos(Succ(vyv27200)) 214.33/146.01 new_abs(Pos(Succ(vyv27200))) -> Pos(Succ(vyv27200)) 214.33/146.01 new_abs(Pos(Zero)) -> Pos(Zero) 214.33/146.01 new_gcd0Gcd'11(True, vyv273, vyv272) -> new_abs(vyv273) 214.33/146.01 new_gcd0Gcd'11(False, vyv273, vyv272) -> new_gcd0Gcd'00(new_abs(vyv273), new_abs(vyv272)) 214.33/146.01 new_gcd0Gcd'00(vyv293, vyv292) -> new_gcd0Gcd'10(new_esEs(new_rem(vyv293, vyv292)), vyv292, vyv293) 214.33/146.01 new_gcd0Gcd'10(False, vyv292, vyv293) -> new_gcd0Gcd'00(vyv292, new_rem(vyv293, vyv292)) 214.33/146.01 new_rem(Pos(vyv2930), Neg(Zero)) -> new_error 214.33/146.01 new_rem(Neg(vyv2930), Pos(Zero)) -> new_error 214.33/146.01 new_rem(Pos(vyv2930), Neg(Succ(vyv29200))) -> Pos(new_primModNatS1(vyv2930, vyv29200)) 214.33/146.01 new_rem(Neg(vyv2930), Pos(Succ(vyv29200))) -> Neg(new_primModNatS1(vyv2930, vyv29200)) 214.33/146.01 new_rem(Pos(vyv2930), Pos(Succ(vyv29200))) -> Pos(new_primModNatS1(vyv2930, vyv29200)) 214.33/146.01 new_rem(Neg(vyv2930), Neg(Zero)) -> new_error 214.33/146.01 new_rem(Neg(vyv2930), Neg(Succ(vyv29200))) -> Neg(new_primModNatS1(vyv2930, vyv29200)) 214.33/146.01 new_rem(Pos(vyv2930), Pos(Zero)) -> new_error 214.33/146.01 new_gcd0Gcd'10(True, vyv292, vyv293) -> vyv292 214.33/146.01 new_primModNatS1(Succ(Zero), Succ(vyv292000)) -> Succ(Zero) 214.33/146.01 new_primModNatS1(Zero, vyv29200) -> Zero 214.33/146.01 new_primModNatS1(Succ(Succ(vyv293000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv293000), Zero) 214.33/146.01 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 214.33/146.01 new_primModNatS1(Succ(Succ(vyv293000)), Succ(vyv292000)) -> new_primModNatS01(vyv293000, vyv292000, vyv293000, vyv292000) 214.33/146.01 new_primModNatS01(vyv331, vyv332, Zero, Zero) -> new_primModNatS02(vyv331, vyv332) 214.33/146.01 new_primModNatS02(vyv331, vyv332) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv331), Succ(vyv332)), Succ(vyv332)) 214.33/146.01 new_primModNatS01(vyv331, vyv332, Succ(vyv3330), Zero) -> new_primModNatS02(vyv331, vyv332) 214.33/146.01 new_primModNatS01(vyv331, vyv332, Succ(vyv3330), Succ(vyv3340)) -> new_primModNatS01(vyv331, vyv332, vyv3330, vyv3340) 214.33/146.01 new_primModNatS01(vyv331, vyv332, Zero, Succ(vyv3340)) -> Succ(Succ(vyv331)) 214.33/146.01 new_gcd1(True, vyv273, vyv272) -> new_error 214.33/146.01 new_gcd1(False, vyv273, vyv272) -> new_gcd0(vyv273, vyv272) 214.33/146.01 new_primEqInt(Neg(Succ(vyv242000))) -> False 214.33/146.01 new_primEqInt(Pos(Zero)) -> True 214.33/146.01 new_primEqInt(Pos(Succ(vyv242000))) -> False 214.33/146.01 new_primEqInt(Neg(Zero)) -> True 214.33/146.01 new_primQuotInt(vyv2710, Pos(Succ(vyv28500))) -> Pos(new_primDivNatS1(vyv2710, vyv28500)) 214.33/146.01 new_primQuotInt(vyv2710, Neg(Zero)) -> new_error 214.33/146.01 new_primQuotInt(vyv2710, Pos(Zero)) -> new_error 214.33/146.01 new_primQuotInt(vyv2710, Neg(Succ(vyv28500))) -> Neg(new_primDivNatS1(vyv2710, vyv28500)) 214.33/146.01 new_primMulNat0(Zero, Succ(vyv23900)) -> Zero 214.33/146.01 new_primMulNat0(Succ(vyv24000), Succ(vyv23900)) -> new_primPlusNat0(new_primMulNat0(vyv24000, Succ(vyv23900)), Succ(vyv23900)) 214.33/146.01 new_primMulNat0(Succ(vyv24000), Zero) -> Zero 214.33/146.01 new_primMulNat0(Zero, Zero) -> Zero 214.33/146.01 new_primPlusNat0(Succ(vyv4000), Succ(vyv6000)) -> Succ(Succ(new_primPlusNat0(vyv4000, vyv6000))) 214.33/146.01 new_primPlusNat0(Zero, Succ(vyv6000)) -> Succ(vyv6000) 214.33/146.01 new_primPlusNat0(Zero, Zero) -> Zero 214.33/146.01 new_primPlusNat0(Succ(vyv4000), Zero) -> Succ(vyv4000) 214.33/146.01 new_sr6(vyv184) -> error([]) 214.33/146.01 new_esEs1(Integer(vyv2700)) -> new_primEqInt(vyv2700) 214.33/146.01 new_sr7(Pos(vyv1840)) -> Pos(new_primMulNat1(vyv1840)) 214.33/146.01 new_sr7(Neg(vyv1840)) -> Pos(new_primMulNat1(vyv1840)) 214.33/146.01 new_primMulNat1(Succ(vyv18400)) -> new_primPlusNat0(new_primMulNat2(vyv18400), Succ(vyv18400)) 214.33/146.01 new_primMulNat1(Zero) -> Zero 214.33/146.01 new_primMulNat2(Succ(vyv184000)) -> new_primPlusNat0(new_primMulNat3(vyv184000), Succ(Succ(vyv184000))) 214.33/146.01 new_primMulNat2(Zero) -> Zero 214.33/146.01 new_primMulNat3(Succ(vyv1840000)) -> new_primPlusNat0(new_primMulNat4(vyv1840000), Succ(Succ(Succ(vyv1840000)))) 214.33/146.01 new_primMulNat3(Zero) -> Zero 214.33/146.01 new_primMulNat4(Succ(vyv18400000)) -> new_primPlusNat0(new_primMulNat0(vyv18400000, Succ(Succ(Succ(Succ(vyv18400000))))), Succ(Succ(Succ(Succ(vyv18400000))))) 214.33/146.01 new_primMulNat4(Zero) -> Zero 214.33/146.01 new_sr12(vyv184) -> error([]) 214.33/146.01 new_sr11(vyv184) -> error([]) 214.33/146.01 new_sr4(vyv240, vyv239, app(ty_Ratio, be)) -> new_sr8(vyv240, vyv239, be) 214.33/146.01 new_sr4(vyv240, vyv239, ty_Float) -> new_sr14(vyv240, vyv239) 214.33/146.01 new_sr4(vyv240, vyv239, ty_Int) -> new_sr10(vyv240, vyv239) 214.33/146.01 new_sr4(vyv240, vyv239, ty_Double) -> new_sr13(vyv240, vyv239) 214.33/146.01 new_sr4(vyv240, vyv239, ty_Integer) -> new_sr9(vyv240, vyv239) 214.33/146.01 new_sr13(vyv240, vyv239) -> error([]) 214.33/146.01 new_sr14(vyv240, vyv239) -> error([]) 214.33/146.01 new_sr8(:%(vyv2400, vyv2401), :%(vyv2390, vyv2391), be) -> new_reduce2Reduce1(vyv2400, vyv2390, vyv2401, vyv2391, new_esEs2(vyv2401, vyv2391, be), be) 214.33/146.01 new_esEs2(vyv2401, vyv2391, ty_Integer) -> new_esEs1(new_sr9(vyv2401, vyv2391)) 214.33/146.01 new_esEs2(vyv2401, vyv2391, ty_Int) -> new_esEs(new_sr10(vyv2401, vyv2391)) 214.33/146.01 214.33/146.01 The set Q consists of the following terms: 214.33/146.01 214.33/146.01 new_sr13(x0, x1) 214.33/146.01 new_primDivNatS01(x0, x1, Zero, Zero) 214.33/146.01 new_gcd0Gcd'11(False, x0, x1) 214.33/146.01 new_primMulNat4(Zero) 214.33/146.01 new_gcd0Gcd'11(True, x0, x1) 214.33/146.01 new_sr5(:%(x0, x1), x2) 214.33/146.01 new_primEqInt(Pos(Zero)) 214.33/146.01 new_esEs(Pos(Succ(x0))) 214.33/146.01 new_primQuotInt0(x0, Neg(Zero)) 214.33/146.01 new_primMulNat3(Zero) 214.33/146.01 new_primModNatS02(x0, x1) 214.33/146.01 new_primDivNatS1(Succ(Zero), Zero) 214.33/146.01 new_primMinusNatS0(x0) 214.33/146.01 new_sr11(x0) 214.33/146.01 new_rem(Pos(x0), Neg(Succ(x1))) 214.33/146.01 new_rem(Neg(x0), Pos(Succ(x1))) 214.33/146.01 new_primMulNat0(Zero, Zero) 214.33/146.01 new_primPlusNat0(Succ(x0), Zero) 214.33/146.01 new_primMulNat0(Succ(x0), Zero) 214.33/146.01 new_sr3(x0, ty_Float) 214.33/146.01 new_primMulNat2(Zero) 214.33/146.01 new_primQuotInt(x0, Pos(Zero)) 214.33/146.01 new_primMulNat2(Succ(x0)) 214.33/146.01 new_primQuotInt(x0, Neg(Zero)) 214.33/146.01 new_rem(Neg(x0), Neg(Succ(x1))) 214.33/146.01 new_primMinusNatS2(Zero, Succ(x0)) 214.33/146.01 new_sr4(x0, x1, ty_Double) 214.33/146.01 new_primMulNat3(Succ(x0)) 214.33/146.01 new_esEs1(Integer(x0)) 214.33/146.01 new_primQuotInt0(x0, Pos(Zero)) 214.33/146.01 new_gcd2(True, x0, x1) 214.33/146.01 new_quot1(x0, x1, x2, x3, ty_Int) 214.33/146.01 new_primDivNatS1(Zero, x0) 214.33/146.01 new_gcd(x0, x1) 214.33/146.01 new_gcd1(False, x0, x1) 214.33/146.01 new_esEs2(x0, x1, ty_Int) 214.33/146.01 new_sr3(x0, ty_Integer) 214.33/146.01 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 214.33/146.01 new_primPlusNat0(Zero, Succ(x0)) 214.33/146.01 new_sr8(:%(x0, x1), :%(x2, x3), x4) 214.33/146.01 new_abs(Neg(Zero)) 214.33/146.01 new_primMinusNatS2(Succ(x0), Zero) 214.33/146.01 new_error 214.33/146.01 new_primModNatS1(Succ(Zero), Zero) 214.33/146.01 new_primMulNat4(Succ(x0)) 214.33/146.01 new_primDivNatS02(x0, x1) 214.33/146.01 new_rem(Neg(x0), Neg(Zero)) 214.33/146.01 new_primEqInt(Neg(Zero)) 214.33/146.01 new_rem(Pos(x0), Pos(Succ(x1))) 214.33/146.01 new_abs(Pos(Succ(x0))) 214.33/146.01 new_primMulNat0(Succ(x0), Succ(x1)) 214.33/146.01 new_primMulNat0(Zero, Succ(x0)) 214.33/146.01 new_reduce2Reduce1(x0, x1, x2, x3, True, x4) 214.33/146.01 new_gcd0Gcd'10(False, x0, x1) 214.33/146.01 new_sr12(x0) 214.33/146.01 new_primDivNatS01(x0, x1, Zero, Succ(x2)) 214.33/146.01 new_sr10(Pos(x0), Pos(x1)) 214.33/146.01 new_primModNatS01(x0, x1, Zero, Succ(x2)) 214.33/146.01 new_primPlusNat0(Zero, Zero) 214.33/146.01 new_primQuotInt0(x0, Pos(Succ(x1))) 214.33/146.01 new_primModNatS01(x0, x1, Succ(x2), Zero) 214.33/146.01 new_primModNatS1(Succ(Succ(x0)), Zero) 214.33/146.01 new_sr4(x0, x1, ty_Integer) 214.33/146.01 new_rem(Pos(x0), Pos(Zero)) 214.33/146.01 new_sr4(x0, x1, ty_Int) 214.33/146.01 new_quot(Pos(x0), x1, x2) 214.33/146.01 new_primMinusNatS2(Zero, Zero) 214.33/146.01 new_esEs0(x0, ty_Int) 214.33/146.01 new_esEs(Pos(Zero)) 214.33/146.01 new_quot(Neg(x0), x1, x2) 214.33/146.01 new_primDivNatS01(x0, x1, Succ(x2), Succ(x3)) 214.33/146.01 new_quot2(x0, x1, x2) 214.33/146.01 new_primEqInt(Neg(Succ(x0))) 214.33/146.01 new_sr10(Neg(x0), Neg(x1)) 214.33/146.01 new_sr3(x0, app(ty_Ratio, x1)) 214.33/146.01 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 214.33/146.01 new_sr9(x0, x1) 214.33/146.01 new_sr7(Neg(x0)) 214.33/146.01 new_primQuotInt0(x0, Neg(Succ(x1))) 214.33/146.01 new_rem(Pos(x0), Neg(Zero)) 214.33/146.01 new_rem(Neg(x0), Pos(Zero)) 214.33/146.01 new_gcd0Gcd'00(x0, x1) 214.33/146.01 new_primQuotInt(x0, Neg(Succ(x1))) 214.33/146.01 new_primMinusNatS2(Succ(x0), Succ(x1)) 214.33/146.01 new_abs(Pos(Zero)) 214.33/146.01 new_quot0(x0, x1, x2, x3, ty_Integer) 214.33/146.01 new_sr6(x0) 214.33/146.01 new_gcd2(False, x0, x1) 214.33/146.01 new_gcd1(True, x0, x1) 214.33/146.01 new_esEs2(x0, x1, ty_Integer) 214.33/146.01 new_primMinusNatS1 214.33/146.01 new_sr7(Pos(x0)) 214.33/146.01 new_gcd0Gcd'10(True, x0, x1) 214.33/146.01 new_primModNatS1(Zero, x0) 214.33/146.01 new_sr4(x0, x1, ty_Float) 214.33/146.01 new_sr10(Pos(x0), Neg(x1)) 214.33/146.01 new_sr10(Neg(x0), Pos(x1)) 214.33/146.01 new_primDivNatS01(x0, x1, Succ(x2), Zero) 214.33/146.01 new_primDivNatS1(Succ(Succ(x0)), Succ(x1)) 214.33/146.01 new_primPlusNat0(Succ(x0), Succ(x1)) 214.33/146.01 new_primDivNatS1(Succ(Zero), Succ(x0)) 214.33/146.01 new_primQuotInt(x0, Pos(Succ(x1))) 214.33/146.01 new_abs(Neg(Succ(x0))) 214.33/146.01 new_esEs0(x0, ty_Integer) 214.33/146.01 new_sr3(x0, ty_Int) 214.33/146.01 new_esEs(Neg(Succ(x0))) 214.33/146.01 new_primModNatS01(x0, x1, Zero, Zero) 214.33/146.01 new_sr4(x0, x1, app(ty_Ratio, x2)) 214.33/146.01 new_gcd0(x0, x1) 214.33/146.01 new_primEqInt(Pos(Succ(x0))) 214.33/146.01 new_sr3(x0, ty_Double) 214.33/146.01 new_quot1(x0, x1, x2, x3, ty_Integer) 214.33/146.01 new_primDivNatS1(Succ(Succ(x0)), Zero) 214.33/146.01 new_primMulNat1(Succ(x0)) 214.33/146.01 new_sr14(x0, x1) 214.33/146.01 new_quot0(x0, x1, x2, x3, ty_Int) 214.33/146.01 new_primModNatS1(Succ(Zero), Succ(x0)) 214.33/146.01 new_reduce2Reduce1(x0, x1, x2, x3, False, x4) 214.33/146.01 new_esEs(Neg(Zero)) 214.33/146.01 new_primMulNat1(Zero) 214.33/146.01 new_new_pr2F0G10(Succ(Succ(x0))) 214.33/146.01 new_new_pr2F0G10(Succ(Zero)) 214.33/146.01 new_new_pr2F0G10(Zero) 214.33/146.01 214.33/146.01 We have to consider all minimal (P,Q,R)-chains. 214.33/146.01 ---------------------------------------- 214.33/146.01 214.33/146.01 (848) TransformationProof (EQUIVALENT) 214.33/146.01 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]: 214.33/146.01 214.33/146.01 (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)) 214.33/146.01 214.33/146.01 214.33/146.01 ---------------------------------------- 214.33/146.01 214.33/146.01 (849) 214.33/146.01 Obligation: 214.33/146.01 Q DP problem: 214.33/146.01 The TRS P consists of the following rules: 214.33/146.01 214.33/146.01 new_pr2F0(vyv184, Neg(Succ(Succ(vyv223000))), vyv188, h) -> new_pr2F0G10(vyv188, vyv184, Succ(vyv223000), vyv223000, h) 214.33/146.01 new_pr2F0G10(vyv249, vyv250, vyv251, Succ(Zero), bb) -> new_pr2F0G11(vyv249, vyv250, vyv251, bb) 214.33/146.01 new_pr2F0G11(vyv239, vyv240, vyv241, bc) -> new_pr2F1(vyv240, vyv241, Pos(Succ(Zero)), vyv239, bc) 214.33/146.01 new_pr2F1(z1, z2, Pos(Succ(Zero)), z0, z3) -> new_pr2F30(False, z1, z2, Pos(Succ(Zero)), z0, z3) 214.33/146.01 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) 214.33/146.01 H(vyv249, vyv250, vyv251, bb, cons_new_pr2F0G10(Succ(Zero))) -> new_pr2F0G10(vyv249, vyv250, vyv251, Succ(Zero), bb) 214.33/146.01 H(vyv249, vyv250, vyv251, bb, cons_new_pr2F0G10(Zero)) -> new_pr2F0G10(vyv249, vyv250, vyv251, Zero, bb) 214.33/146.01 new_pr2F0G(vyv188, vyv184, Neg(Succ(Zero)), h) -> new_pr2F0G11(vyv188, vyv184, Zero, h) 214.33/146.01 new_pr2F0G(vyv188, vyv184, Neg(Succ(Succ(vyv223000))), h) -> new_pr2F0G10(vyv188, vyv184, Succ(vyv223000), vyv223000, h) 214.33/146.01 new_pr2F0G10(y0, y1, Succ(Zero), Zero, y3) -> new_pr2F0G(y0, new_sr3(y1, y3), Neg(Succ(Zero)), y3) 214.33/146.01 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))) 214.33/146.01 new_pr2F0(y0, Neg(Succ(Succ(Succ(Succ(Zero))))), y2, y3) -> H(y2, y0, Succ(Succ(Succ(Zero))), y3, cons_new_pr2F0G10(Zero)) 214.33/146.01 new_pr2F0G10(y0, y1, Succ(Succ(Zero)), Zero, y3) -> new_pr2F0G(y0, new_sr3(y1, y3), Neg(Succ(Zero)), y3) 214.33/146.01 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)) 214.33/146.01 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))) 214.33/146.01 new_pr2F0G(y0, y1, Neg(Succ(Succ(Succ(Succ(Zero))))), y3) -> H(y0, y1, Succ(Succ(Succ(Zero))), y3, cons_new_pr2F0G10(Zero)) 214.33/146.01 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)) 214.33/146.01 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))) 214.33/146.01 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)) 214.33/146.01 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) 214.33/146.01 new_pr2F0G10(y0, y1, Succ(Succ(Succ(Zero))), Zero, y3) -> new_pr2F0G(y0, new_sr3(y1, y3), Neg(Succ(Succ(Zero))), y3) 214.33/146.01 214.33/146.01 The TRS R consists of the following rules: 214.33/146.01 214.33/146.01 new_new_pr2F0G10(Succ(Succ(vyv25200))) -> new_new_pr2F0G10(vyv25200) 214.33/146.01 new_new_pr2F0G10(Succ(Zero)) -> cons_new_pr2F0G10(Succ(Zero)) 214.33/146.01 new_new_pr2F0G10(Zero) -> cons_new_pr2F0G10(Zero) 214.33/146.01 new_sr3(vyv250, ty_Double) -> new_sr11(vyv250) 214.33/146.01 new_sr3(vyv250, ty_Int) -> new_sr7(vyv250) 214.33/146.01 new_sr3(vyv250, ty_Float) -> new_sr12(vyv250) 214.33/146.01 new_sr3(vyv250, ty_Integer) -> new_sr6(vyv250) 214.33/146.01 new_sr3(vyv250, app(ty_Ratio, bf)) -> new_sr5(vyv250, bf) 214.33/146.01 new_sr5(:%(vyv1840, vyv1841), bd) -> new_reduce2Reduce1(vyv1840, vyv1840, vyv1841, vyv1841, new_esEs0(vyv1841, bd), bd) 214.33/146.01 new_esEs0(vyv1841, ty_Int) -> new_esEs(new_sr7(vyv1841)) 214.33/146.01 new_esEs0(vyv1841, ty_Integer) -> new_esEs1(new_sr6(vyv1841)) 214.33/146.01 new_reduce2Reduce1(vyv265, vyv266, vyv267, vyv268, False, bh) -> :%(new_quot0(vyv265, vyv266, vyv267, vyv268, bh), new_quot1(vyv267, vyv268, vyv265, vyv266, bh)) 214.33/146.01 new_reduce2Reduce1(vyv265, vyv266, vyv267, vyv268, True, bh) -> error([]) 214.33/146.01 new_quot0(vyv265, vyv266, vyv267, vyv268, ty_Integer) -> new_quot2(new_sr9(vyv265, vyv266), new_sr9(vyv265, vyv266), new_sr9(vyv267, vyv268)) 214.33/146.01 new_quot0(vyv265, vyv266, vyv267, vyv268, ty_Int) -> new_quot(new_sr10(vyv265, vyv266), new_sr10(vyv265, vyv266), new_sr10(vyv267, vyv268)) 214.33/146.01 new_quot1(vyv267, vyv268, vyv265, vyv266, ty_Int) -> new_quot(new_sr10(vyv267, vyv268), new_sr10(vyv265, vyv266), new_sr10(vyv267, vyv268)) 214.33/146.01 new_quot1(vyv267, vyv268, vyv265, vyv266, ty_Integer) -> new_quot2(new_sr9(vyv267, vyv268), new_sr9(vyv265, vyv266), new_sr9(vyv267, vyv268)) 214.33/146.01 new_sr9(vyv240, vyv239) -> error([]) 214.33/146.01 new_quot2(vyv274, vyv276, vyv275) -> error([]) 214.33/146.01 new_sr10(Pos(vyv2400), Pos(vyv2390)) -> Pos(new_primMulNat0(vyv2400, vyv2390)) 214.33/146.01 new_sr10(Neg(vyv2400), Neg(vyv2390)) -> Pos(new_primMulNat0(vyv2400, vyv2390)) 214.33/146.01 new_sr10(Pos(vyv2400), Neg(vyv2390)) -> Neg(new_primMulNat0(vyv2400, vyv2390)) 214.33/146.01 new_sr10(Neg(vyv2400), Pos(vyv2390)) -> Neg(new_primMulNat0(vyv2400, vyv2390)) 214.33/146.01 new_quot(Pos(vyv2710), vyv273, vyv272) -> new_primQuotInt(vyv2710, new_gcd(vyv273, vyv272)) 214.33/146.01 new_quot(Neg(vyv2710), vyv273, vyv272) -> new_primQuotInt0(vyv2710, new_gcd(vyv273, vyv272)) 214.33/146.01 new_gcd(vyv273, vyv272) -> new_gcd2(new_esEs(vyv273), vyv273, vyv272) 214.33/146.01 new_primQuotInt0(vyv2710, Pos(Succ(vyv28800))) -> Neg(new_primDivNatS1(vyv2710, vyv28800)) 214.33/146.01 new_primQuotInt0(vyv2710, Neg(Zero)) -> new_error 214.33/146.01 new_primQuotInt0(vyv2710, Neg(Succ(vyv28800))) -> Pos(new_primDivNatS1(vyv2710, vyv28800)) 214.33/146.01 new_primQuotInt0(vyv2710, Pos(Zero)) -> new_error 214.33/146.01 new_error -> error([]) 214.33/146.01 new_primDivNatS1(Succ(Zero), Succ(vyv285000)) -> Zero 214.33/146.01 new_primDivNatS1(Succ(Succ(vyv271000)), Succ(vyv285000)) -> new_primDivNatS01(vyv271000, vyv285000, vyv271000, vyv285000) 214.33/146.01 new_primDivNatS1(Zero, vyv28500) -> Zero 214.33/146.01 new_primDivNatS1(Succ(Succ(vyv271000)), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS0(vyv271000), Zero)) 214.33/146.01 new_primDivNatS1(Succ(Zero), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS1, Zero)) 214.33/146.01 new_primMinusNatS1 -> Zero 214.33/146.01 new_primMinusNatS0(vyv271000) -> Succ(vyv271000) 214.33/146.01 new_primDivNatS01(vyv311, vyv312, Succ(vyv3130), Zero) -> new_primDivNatS02(vyv311, vyv312) 214.33/146.01 new_primDivNatS01(vyv311, vyv312, Zero, Succ(vyv3140)) -> Zero 214.33/146.01 new_primDivNatS01(vyv311, vyv312, Succ(vyv3130), Succ(vyv3140)) -> new_primDivNatS01(vyv311, vyv312, vyv3130, vyv3140) 214.33/146.01 new_primDivNatS01(vyv311, vyv312, Zero, Zero) -> new_primDivNatS02(vyv311, vyv312) 214.33/146.01 new_primDivNatS02(vyv311, vyv312) -> Succ(new_primDivNatS1(new_primMinusNatS2(vyv311, vyv312), Succ(vyv312))) 214.33/146.01 new_primMinusNatS2(Zero, Succ(vyv3120)) -> Zero 214.33/146.01 new_primMinusNatS2(Succ(vyv3110), Zero) -> Succ(vyv3110) 214.33/146.01 new_primMinusNatS2(Zero, Zero) -> Zero 214.33/146.01 new_primMinusNatS2(Succ(vyv3110), Succ(vyv3120)) -> new_primMinusNatS2(vyv3110, vyv3120) 214.33/146.01 new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) 214.33/146.01 new_esEs(Pos(Succ(vyv24300))) -> new_primEqInt(Pos(Succ(vyv24300))) 214.33/146.01 new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) 214.33/146.01 new_esEs(Neg(Succ(vyv24300))) -> new_primEqInt(Neg(Succ(vyv24300))) 214.33/146.01 new_gcd2(True, vyv273, vyv272) -> new_gcd1(new_esEs(vyv272), vyv273, vyv272) 214.33/146.01 new_gcd2(False, vyv273, vyv272) -> new_gcd0(vyv273, vyv272) 214.33/146.01 new_gcd0(vyv273, vyv272) -> new_gcd0Gcd'11(new_esEs(new_abs(vyv272)), vyv273, vyv272) 214.33/146.01 new_abs(Neg(Zero)) -> Neg(Zero) 214.33/146.01 new_abs(Neg(Succ(vyv27200))) -> Pos(Succ(vyv27200)) 214.33/146.01 new_abs(Pos(Succ(vyv27200))) -> Pos(Succ(vyv27200)) 214.33/146.01 new_abs(Pos(Zero)) -> Pos(Zero) 214.33/146.01 new_gcd0Gcd'11(True, vyv273, vyv272) -> new_abs(vyv273) 214.33/146.01 new_gcd0Gcd'11(False, vyv273, vyv272) -> new_gcd0Gcd'00(new_abs(vyv273), new_abs(vyv272)) 214.33/146.01 new_gcd0Gcd'00(vyv293, vyv292) -> new_gcd0Gcd'10(new_esEs(new_rem(vyv293, vyv292)), vyv292, vyv293) 214.33/146.01 new_gcd0Gcd'10(False, vyv292, vyv293) -> new_gcd0Gcd'00(vyv292, new_rem(vyv293, vyv292)) 214.33/146.01 new_rem(Pos(vyv2930), Neg(Zero)) -> new_error 214.33/146.01 new_rem(Neg(vyv2930), Pos(Zero)) -> new_error 214.33/146.01 new_rem(Pos(vyv2930), Neg(Succ(vyv29200))) -> Pos(new_primModNatS1(vyv2930, vyv29200)) 214.33/146.01 new_rem(Neg(vyv2930), Pos(Succ(vyv29200))) -> Neg(new_primModNatS1(vyv2930, vyv29200)) 214.33/146.01 new_rem(Pos(vyv2930), Pos(Succ(vyv29200))) -> Pos(new_primModNatS1(vyv2930, vyv29200)) 214.33/146.01 new_rem(Neg(vyv2930), Neg(Zero)) -> new_error 214.33/146.01 new_rem(Neg(vyv2930), Neg(Succ(vyv29200))) -> Neg(new_primModNatS1(vyv2930, vyv29200)) 214.33/146.01 new_rem(Pos(vyv2930), Pos(Zero)) -> new_error 214.33/146.01 new_gcd0Gcd'10(True, vyv292, vyv293) -> vyv292 214.33/146.01 new_primModNatS1(Succ(Zero), Succ(vyv292000)) -> Succ(Zero) 214.33/146.01 new_primModNatS1(Zero, vyv29200) -> Zero 214.33/146.01 new_primModNatS1(Succ(Succ(vyv293000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv293000), Zero) 214.33/146.01 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 214.33/146.01 new_primModNatS1(Succ(Succ(vyv293000)), Succ(vyv292000)) -> new_primModNatS01(vyv293000, vyv292000, vyv293000, vyv292000) 214.33/146.01 new_primModNatS01(vyv331, vyv332, Zero, Zero) -> new_primModNatS02(vyv331, vyv332) 214.33/146.01 new_primModNatS02(vyv331, vyv332) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv331), Succ(vyv332)), Succ(vyv332)) 214.33/146.01 new_primModNatS01(vyv331, vyv332, Succ(vyv3330), Zero) -> new_primModNatS02(vyv331, vyv332) 214.33/146.01 new_primModNatS01(vyv331, vyv332, Succ(vyv3330), Succ(vyv3340)) -> new_primModNatS01(vyv331, vyv332, vyv3330, vyv3340) 214.33/146.01 new_primModNatS01(vyv331, vyv332, Zero, Succ(vyv3340)) -> Succ(Succ(vyv331)) 214.33/146.01 new_gcd1(True, vyv273, vyv272) -> new_error 214.33/146.01 new_gcd1(False, vyv273, vyv272) -> new_gcd0(vyv273, vyv272) 214.33/146.01 new_primEqInt(Neg(Succ(vyv242000))) -> False 214.33/146.01 new_primEqInt(Pos(Zero)) -> True 214.33/146.01 new_primEqInt(Pos(Succ(vyv242000))) -> False 214.33/146.01 new_primEqInt(Neg(Zero)) -> True 214.33/146.01 new_primQuotInt(vyv2710, Pos(Succ(vyv28500))) -> Pos(new_primDivNatS1(vyv2710, vyv28500)) 214.33/146.01 new_primQuotInt(vyv2710, Neg(Zero)) -> new_error 214.33/146.01 new_primQuotInt(vyv2710, Pos(Zero)) -> new_error 214.33/146.01 new_primQuotInt(vyv2710, Neg(Succ(vyv28500))) -> Neg(new_primDivNatS1(vyv2710, vyv28500)) 214.33/146.01 new_primMulNat0(Zero, Succ(vyv23900)) -> Zero 214.33/146.01 new_primMulNat0(Succ(vyv24000), Succ(vyv23900)) -> new_primPlusNat0(new_primMulNat0(vyv24000, Succ(vyv23900)), Succ(vyv23900)) 214.33/146.01 new_primMulNat0(Succ(vyv24000), Zero) -> Zero 214.33/146.01 new_primMulNat0(Zero, Zero) -> Zero 214.33/146.01 new_primPlusNat0(Succ(vyv4000), Succ(vyv6000)) -> Succ(Succ(new_primPlusNat0(vyv4000, vyv6000))) 214.33/146.01 new_primPlusNat0(Zero, Succ(vyv6000)) -> Succ(vyv6000) 214.33/146.01 new_primPlusNat0(Zero, Zero) -> Zero 214.33/146.01 new_primPlusNat0(Succ(vyv4000), Zero) -> Succ(vyv4000) 214.33/146.01 new_sr6(vyv184) -> error([]) 214.33/146.01 new_esEs1(Integer(vyv2700)) -> new_primEqInt(vyv2700) 214.33/146.01 new_sr7(Pos(vyv1840)) -> Pos(new_primMulNat1(vyv1840)) 214.33/146.01 new_sr7(Neg(vyv1840)) -> Pos(new_primMulNat1(vyv1840)) 214.33/146.01 new_primMulNat1(Succ(vyv18400)) -> new_primPlusNat0(new_primMulNat2(vyv18400), Succ(vyv18400)) 214.33/146.01 new_primMulNat1(Zero) -> Zero 214.33/146.01 new_primMulNat2(Succ(vyv184000)) -> new_primPlusNat0(new_primMulNat3(vyv184000), Succ(Succ(vyv184000))) 214.33/146.01 new_primMulNat2(Zero) -> Zero 214.33/146.01 new_primMulNat3(Succ(vyv1840000)) -> new_primPlusNat0(new_primMulNat4(vyv1840000), Succ(Succ(Succ(vyv1840000)))) 214.33/146.01 new_primMulNat3(Zero) -> Zero 214.33/146.01 new_primMulNat4(Succ(vyv18400000)) -> new_primPlusNat0(new_primMulNat0(vyv18400000, Succ(Succ(Succ(Succ(vyv18400000))))), Succ(Succ(Succ(Succ(vyv18400000))))) 214.33/146.01 new_primMulNat4(Zero) -> Zero 214.33/146.01 new_sr12(vyv184) -> error([]) 214.33/146.01 new_sr11(vyv184) -> error([]) 214.33/146.01 new_sr4(vyv240, vyv239, app(ty_Ratio, be)) -> new_sr8(vyv240, vyv239, be) 214.33/146.01 new_sr4(vyv240, vyv239, ty_Float) -> new_sr14(vyv240, vyv239) 214.33/146.01 new_sr4(vyv240, vyv239, ty_Int) -> new_sr10(vyv240, vyv239) 214.33/146.01 new_sr4(vyv240, vyv239, ty_Double) -> new_sr13(vyv240, vyv239) 214.33/146.01 new_sr4(vyv240, vyv239, ty_Integer) -> new_sr9(vyv240, vyv239) 214.33/146.01 new_sr13(vyv240, vyv239) -> error([]) 214.33/146.01 new_sr14(vyv240, vyv239) -> error([]) 214.33/146.01 new_sr8(:%(vyv2400, vyv2401), :%(vyv2390, vyv2391), be) -> new_reduce2Reduce1(vyv2400, vyv2390, vyv2401, vyv2391, new_esEs2(vyv2401, vyv2391, be), be) 214.33/146.01 new_esEs2(vyv2401, vyv2391, ty_Integer) -> new_esEs1(new_sr9(vyv2401, vyv2391)) 214.33/146.01 new_esEs2(vyv2401, vyv2391, ty_Int) -> new_esEs(new_sr10(vyv2401, vyv2391)) 214.33/146.01 214.33/146.01 The set Q consists of the following terms: 214.33/146.01 214.33/146.01 new_sr13(x0, x1) 214.33/146.01 new_primDivNatS01(x0, x1, Zero, Zero) 214.33/146.01 new_gcd0Gcd'11(False, x0, x1) 214.33/146.01 new_primMulNat4(Zero) 214.33/146.01 new_gcd0Gcd'11(True, x0, x1) 214.33/146.01 new_sr5(:%(x0, x1), x2) 214.33/146.01 new_primEqInt(Pos(Zero)) 214.33/146.01 new_esEs(Pos(Succ(x0))) 214.33/146.01 new_primQuotInt0(x0, Neg(Zero)) 214.33/146.01 new_primMulNat3(Zero) 214.33/146.01 new_primModNatS02(x0, x1) 214.33/146.01 new_primDivNatS1(Succ(Zero), Zero) 214.33/146.01 new_primMinusNatS0(x0) 214.33/146.01 new_sr11(x0) 214.33/146.01 new_rem(Pos(x0), Neg(Succ(x1))) 214.33/146.01 new_rem(Neg(x0), Pos(Succ(x1))) 214.33/146.01 new_primMulNat0(Zero, Zero) 214.33/146.01 new_primPlusNat0(Succ(x0), Zero) 214.33/146.01 new_primMulNat0(Succ(x0), Zero) 214.33/146.01 new_sr3(x0, ty_Float) 214.33/146.01 new_primMulNat2(Zero) 214.33/146.01 new_primQuotInt(x0, Pos(Zero)) 214.33/146.01 new_primMulNat2(Succ(x0)) 214.33/146.01 new_primQuotInt(x0, Neg(Zero)) 214.33/146.01 new_rem(Neg(x0), Neg(Succ(x1))) 214.33/146.01 new_primMinusNatS2(Zero, Succ(x0)) 214.33/146.01 new_sr4(x0, x1, ty_Double) 214.33/146.01 new_primMulNat3(Succ(x0)) 214.33/146.01 new_esEs1(Integer(x0)) 214.33/146.01 new_primQuotInt0(x0, Pos(Zero)) 214.33/146.01 new_gcd2(True, x0, x1) 214.33/146.01 new_quot1(x0, x1, x2, x3, ty_Int) 214.33/146.01 new_primDivNatS1(Zero, x0) 214.33/146.01 new_gcd(x0, x1) 214.33/146.01 new_gcd1(False, x0, x1) 214.33/146.01 new_esEs2(x0, x1, ty_Int) 214.33/146.01 new_sr3(x0, ty_Integer) 214.33/146.01 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 214.33/146.01 new_primPlusNat0(Zero, Succ(x0)) 214.33/146.01 new_sr8(:%(x0, x1), :%(x2, x3), x4) 214.33/146.01 new_abs(Neg(Zero)) 214.33/146.01 new_primMinusNatS2(Succ(x0), Zero) 214.33/146.01 new_error 214.33/146.01 new_primModNatS1(Succ(Zero), Zero) 214.33/146.01 new_primMulNat4(Succ(x0)) 214.33/146.01 new_primDivNatS02(x0, x1) 214.33/146.01 new_rem(Neg(x0), Neg(Zero)) 214.33/146.01 new_primEqInt(Neg(Zero)) 214.33/146.01 new_rem(Pos(x0), Pos(Succ(x1))) 214.33/146.01 new_abs(Pos(Succ(x0))) 214.33/146.01 new_primMulNat0(Succ(x0), Succ(x1)) 214.33/146.01 new_primMulNat0(Zero, Succ(x0)) 214.33/146.01 new_reduce2Reduce1(x0, x1, x2, x3, True, x4) 214.33/146.01 new_gcd0Gcd'10(False, x0, x1) 214.33/146.01 new_sr12(x0) 214.33/146.01 new_primDivNatS01(x0, x1, Zero, Succ(x2)) 214.33/146.01 new_sr10(Pos(x0), Pos(x1)) 214.33/146.01 new_primModNatS01(x0, x1, Zero, Succ(x2)) 214.33/146.01 new_primPlusNat0(Zero, Zero) 214.33/146.01 new_primQuotInt0(x0, Pos(Succ(x1))) 214.33/146.01 new_primModNatS01(x0, x1, Succ(x2), Zero) 214.33/146.01 new_primModNatS1(Succ(Succ(x0)), Zero) 214.33/146.01 new_sr4(x0, x1, ty_Integer) 214.33/146.01 new_rem(Pos(x0), Pos(Zero)) 214.33/146.01 new_sr4(x0, x1, ty_Int) 214.33/146.01 new_quot(Pos(x0), x1, x2) 214.33/146.01 new_primMinusNatS2(Zero, Zero) 214.33/146.01 new_esEs0(x0, ty_Int) 214.33/146.01 new_esEs(Pos(Zero)) 214.33/146.01 new_quot(Neg(x0), x1, x2) 214.33/146.01 new_primDivNatS01(x0, x1, Succ(x2), Succ(x3)) 214.33/146.01 new_quot2(x0, x1, x2) 214.33/146.01 new_primEqInt(Neg(Succ(x0))) 214.33/146.01 new_sr10(Neg(x0), Neg(x1)) 214.33/146.01 new_sr3(x0, app(ty_Ratio, x1)) 214.33/146.01 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 214.33/146.01 new_sr9(x0, x1) 214.33/146.01 new_sr7(Neg(x0)) 214.33/146.01 new_primQuotInt0(x0, Neg(Succ(x1))) 214.33/146.01 new_rem(Pos(x0), Neg(Zero)) 214.33/146.01 new_rem(Neg(x0), Pos(Zero)) 214.33/146.01 new_gcd0Gcd'00(x0, x1) 214.33/146.01 new_primQuotInt(x0, Neg(Succ(x1))) 214.33/146.01 new_primMinusNatS2(Succ(x0), Succ(x1)) 214.33/146.01 new_abs(Pos(Zero)) 214.33/146.01 new_quot0(x0, x1, x2, x3, ty_Integer) 214.33/146.01 new_sr6(x0) 214.33/146.01 new_gcd2(False, x0, x1) 214.33/146.01 new_gcd1(True, x0, x1) 214.33/146.01 new_esEs2(x0, x1, ty_Integer) 214.33/146.01 new_primMinusNatS1 214.33/146.01 new_sr7(Pos(x0)) 214.33/146.01 new_gcd0Gcd'10(True, x0, x1) 214.33/146.01 new_primModNatS1(Zero, x0) 214.33/146.01 new_sr4(x0, x1, ty_Float) 214.33/146.01 new_sr10(Pos(x0), Neg(x1)) 214.33/146.01 new_sr10(Neg(x0), Pos(x1)) 214.33/146.01 new_primDivNatS01(x0, x1, Succ(x2), Zero) 214.33/146.01 new_primDivNatS1(Succ(Succ(x0)), Succ(x1)) 214.33/146.01 new_primPlusNat0(Succ(x0), Succ(x1)) 214.33/146.01 new_primDivNatS1(Succ(Zero), Succ(x0)) 214.33/146.01 new_primQuotInt(x0, Pos(Succ(x1))) 214.33/146.01 new_abs(Neg(Succ(x0))) 214.33/146.01 new_esEs0(x0, ty_Integer) 214.33/146.01 new_sr3(x0, ty_Int) 214.33/146.01 new_esEs(Neg(Succ(x0))) 214.33/146.01 new_primModNatS01(x0, x1, Zero, Zero) 214.33/146.01 new_sr4(x0, x1, app(ty_Ratio, x2)) 214.33/146.01 new_gcd0(x0, x1) 214.33/146.01 new_primEqInt(Pos(Succ(x0))) 214.33/146.01 new_sr3(x0, ty_Double) 214.33/146.01 new_quot1(x0, x1, x2, x3, ty_Integer) 214.33/146.01 new_primDivNatS1(Succ(Succ(x0)), Zero) 214.33/146.01 new_primMulNat1(Succ(x0)) 214.33/146.01 new_sr14(x0, x1) 214.33/146.01 new_quot0(x0, x1, x2, x3, ty_Int) 214.33/146.01 new_primModNatS1(Succ(Zero), Succ(x0)) 214.33/146.01 new_reduce2Reduce1(x0, x1, x2, x3, False, x4) 214.33/146.01 new_esEs(Neg(Zero)) 214.33/146.01 new_primMulNat1(Zero) 214.33/146.01 new_new_pr2F0G10(Succ(Succ(x0))) 214.33/146.01 new_new_pr2F0G10(Succ(Zero)) 214.33/146.01 new_new_pr2F0G10(Zero) 214.33/146.01 214.33/146.01 We have to consider all minimal (P,Q,R)-chains. 214.33/146.01 ---------------------------------------- 214.33/146.01 214.33/146.01 (850) TransformationProof (EQUIVALENT) 214.33/146.01 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]: 214.33/146.01 214.33/146.01 (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))) 214.33/146.01 (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)))) 214.33/146.01 (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))) 214.33/146.01 214.33/146.01 214.33/146.01 ---------------------------------------- 214.33/146.01 214.33/146.01 (851) 214.33/146.01 Obligation: 214.33/146.01 Q DP problem: 214.33/146.01 The TRS P consists of the following rules: 214.33/146.01 214.33/146.01 new_pr2F0(vyv184, Neg(Succ(Succ(vyv223000))), vyv188, h) -> new_pr2F0G10(vyv188, vyv184, Succ(vyv223000), vyv223000, h) 214.33/146.01 new_pr2F0G10(vyv249, vyv250, vyv251, Succ(Zero), bb) -> new_pr2F0G11(vyv249, vyv250, vyv251, bb) 214.33/146.01 new_pr2F0G11(vyv239, vyv240, vyv241, bc) -> new_pr2F1(vyv240, vyv241, Pos(Succ(Zero)), vyv239, bc) 214.33/146.01 new_pr2F1(z1, z2, Pos(Succ(Zero)), z0, z3) -> new_pr2F30(False, z1, z2, Pos(Succ(Zero)), z0, z3) 214.33/146.01 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) 214.33/146.01 H(vyv249, vyv250, vyv251, bb, cons_new_pr2F0G10(Succ(Zero))) -> new_pr2F0G10(vyv249, vyv250, vyv251, Succ(Zero), bb) 214.33/146.01 H(vyv249, vyv250, vyv251, bb, cons_new_pr2F0G10(Zero)) -> new_pr2F0G10(vyv249, vyv250, vyv251, Zero, bb) 214.33/146.01 new_pr2F0G(vyv188, vyv184, Neg(Succ(Zero)), h) -> new_pr2F0G11(vyv188, vyv184, Zero, h) 214.33/146.01 new_pr2F0G(vyv188, vyv184, Neg(Succ(Succ(vyv223000))), h) -> new_pr2F0G10(vyv188, vyv184, Succ(vyv223000), vyv223000, h) 214.33/146.01 new_pr2F0G10(y0, y1, Succ(Zero), Zero, y3) -> new_pr2F0G(y0, new_sr3(y1, y3), Neg(Succ(Zero)), y3) 214.33/146.01 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))) 214.33/146.01 new_pr2F0(y0, Neg(Succ(Succ(Succ(Succ(Zero))))), y2, y3) -> H(y2, y0, Succ(Succ(Succ(Zero))), y3, cons_new_pr2F0G10(Zero)) 214.33/146.01 new_pr2F0G10(y0, y1, Succ(Succ(Zero)), Zero, y3) -> new_pr2F0G(y0, new_sr3(y1, y3), Neg(Succ(Zero)), y3) 214.33/146.01 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))) 214.33/146.01 new_pr2F0G(y0, y1, Neg(Succ(Succ(Succ(Succ(Zero))))), y3) -> H(y0, y1, Succ(Succ(Succ(Zero))), y3, cons_new_pr2F0G10(Zero)) 214.33/146.01 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)) 214.33/146.01 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))) 214.33/146.01 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)) 214.33/146.01 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) 214.33/146.01 new_pr2F0G10(y0, y1, Succ(Succ(Succ(Zero))), Zero, y3) -> new_pr2F0G(y0, new_sr3(y1, y3), Neg(Succ(Succ(Zero))), y3) 214.33/146.01 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)) 214.33/146.01 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))) 214.33/146.01 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)) 214.33/146.01 214.33/146.01 The TRS R consists of the following rules: 214.33/146.01 214.33/146.01 new_new_pr2F0G10(Succ(Succ(vyv25200))) -> new_new_pr2F0G10(vyv25200) 214.33/146.01 new_new_pr2F0G10(Succ(Zero)) -> cons_new_pr2F0G10(Succ(Zero)) 214.33/146.01 new_new_pr2F0G10(Zero) -> cons_new_pr2F0G10(Zero) 214.33/146.01 new_sr3(vyv250, ty_Double) -> new_sr11(vyv250) 214.33/146.01 new_sr3(vyv250, ty_Int) -> new_sr7(vyv250) 214.33/146.01 new_sr3(vyv250, ty_Float) -> new_sr12(vyv250) 214.33/146.01 new_sr3(vyv250, ty_Integer) -> new_sr6(vyv250) 214.33/146.01 new_sr3(vyv250, app(ty_Ratio, bf)) -> new_sr5(vyv250, bf) 214.33/146.01 new_sr5(:%(vyv1840, vyv1841), bd) -> new_reduce2Reduce1(vyv1840, vyv1840, vyv1841, vyv1841, new_esEs0(vyv1841, bd), bd) 214.33/146.01 new_esEs0(vyv1841, ty_Int) -> new_esEs(new_sr7(vyv1841)) 214.33/146.01 new_esEs0(vyv1841, ty_Integer) -> new_esEs1(new_sr6(vyv1841)) 214.33/146.01 new_reduce2Reduce1(vyv265, vyv266, vyv267, vyv268, False, bh) -> :%(new_quot0(vyv265, vyv266, vyv267, vyv268, bh), new_quot1(vyv267, vyv268, vyv265, vyv266, bh)) 214.33/146.01 new_reduce2Reduce1(vyv265, vyv266, vyv267, vyv268, True, bh) -> error([]) 214.33/146.01 new_quot0(vyv265, vyv266, vyv267, vyv268, ty_Integer) -> new_quot2(new_sr9(vyv265, vyv266), new_sr9(vyv265, vyv266), new_sr9(vyv267, vyv268)) 214.33/146.01 new_quot0(vyv265, vyv266, vyv267, vyv268, ty_Int) -> new_quot(new_sr10(vyv265, vyv266), new_sr10(vyv265, vyv266), new_sr10(vyv267, vyv268)) 214.33/146.01 new_quot1(vyv267, vyv268, vyv265, vyv266, ty_Int) -> new_quot(new_sr10(vyv267, vyv268), new_sr10(vyv265, vyv266), new_sr10(vyv267, vyv268)) 214.33/146.01 new_quot1(vyv267, vyv268, vyv265, vyv266, ty_Integer) -> new_quot2(new_sr9(vyv267, vyv268), new_sr9(vyv265, vyv266), new_sr9(vyv267, vyv268)) 214.33/146.01 new_sr9(vyv240, vyv239) -> error([]) 214.33/146.01 new_quot2(vyv274, vyv276, vyv275) -> error([]) 214.33/146.01 new_sr10(Pos(vyv2400), Pos(vyv2390)) -> Pos(new_primMulNat0(vyv2400, vyv2390)) 214.33/146.01 new_sr10(Neg(vyv2400), Neg(vyv2390)) -> Pos(new_primMulNat0(vyv2400, vyv2390)) 214.33/146.01 new_sr10(Pos(vyv2400), Neg(vyv2390)) -> Neg(new_primMulNat0(vyv2400, vyv2390)) 214.33/146.01 new_sr10(Neg(vyv2400), Pos(vyv2390)) -> Neg(new_primMulNat0(vyv2400, vyv2390)) 214.33/146.01 new_quot(Pos(vyv2710), vyv273, vyv272) -> new_primQuotInt(vyv2710, new_gcd(vyv273, vyv272)) 214.33/146.01 new_quot(Neg(vyv2710), vyv273, vyv272) -> new_primQuotInt0(vyv2710, new_gcd(vyv273, vyv272)) 214.33/146.01 new_gcd(vyv273, vyv272) -> new_gcd2(new_esEs(vyv273), vyv273, vyv272) 214.33/146.01 new_primQuotInt0(vyv2710, Pos(Succ(vyv28800))) -> Neg(new_primDivNatS1(vyv2710, vyv28800)) 214.33/146.01 new_primQuotInt0(vyv2710, Neg(Zero)) -> new_error 214.33/146.01 new_primQuotInt0(vyv2710, Neg(Succ(vyv28800))) -> Pos(new_primDivNatS1(vyv2710, vyv28800)) 214.33/146.01 new_primQuotInt0(vyv2710, Pos(Zero)) -> new_error 214.33/146.01 new_error -> error([]) 214.33/146.01 new_primDivNatS1(Succ(Zero), Succ(vyv285000)) -> Zero 214.33/146.01 new_primDivNatS1(Succ(Succ(vyv271000)), Succ(vyv285000)) -> new_primDivNatS01(vyv271000, vyv285000, vyv271000, vyv285000) 214.33/146.01 new_primDivNatS1(Zero, vyv28500) -> Zero 214.33/146.01 new_primDivNatS1(Succ(Succ(vyv271000)), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS0(vyv271000), Zero)) 214.33/146.01 new_primDivNatS1(Succ(Zero), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS1, Zero)) 214.33/146.01 new_primMinusNatS1 -> Zero 214.33/146.01 new_primMinusNatS0(vyv271000) -> Succ(vyv271000) 214.33/146.01 new_primDivNatS01(vyv311, vyv312, Succ(vyv3130), Zero) -> new_primDivNatS02(vyv311, vyv312) 214.33/146.01 new_primDivNatS01(vyv311, vyv312, Zero, Succ(vyv3140)) -> Zero 214.33/146.01 new_primDivNatS01(vyv311, vyv312, Succ(vyv3130), Succ(vyv3140)) -> new_primDivNatS01(vyv311, vyv312, vyv3130, vyv3140) 214.33/146.01 new_primDivNatS01(vyv311, vyv312, Zero, Zero) -> new_primDivNatS02(vyv311, vyv312) 214.33/146.01 new_primDivNatS02(vyv311, vyv312) -> Succ(new_primDivNatS1(new_primMinusNatS2(vyv311, vyv312), Succ(vyv312))) 214.33/146.01 new_primMinusNatS2(Zero, Succ(vyv3120)) -> Zero 214.33/146.01 new_primMinusNatS2(Succ(vyv3110), Zero) -> Succ(vyv3110) 214.33/146.01 new_primMinusNatS2(Zero, Zero) -> Zero 214.33/146.01 new_primMinusNatS2(Succ(vyv3110), Succ(vyv3120)) -> new_primMinusNatS2(vyv3110, vyv3120) 214.33/146.01 new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) 214.33/146.01 new_esEs(Pos(Succ(vyv24300))) -> new_primEqInt(Pos(Succ(vyv24300))) 214.33/146.01 new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) 214.33/146.01 new_esEs(Neg(Succ(vyv24300))) -> new_primEqInt(Neg(Succ(vyv24300))) 214.33/146.01 new_gcd2(True, vyv273, vyv272) -> new_gcd1(new_esEs(vyv272), vyv273, vyv272) 214.33/146.01 new_gcd2(False, vyv273, vyv272) -> new_gcd0(vyv273, vyv272) 214.33/146.01 new_gcd0(vyv273, vyv272) -> new_gcd0Gcd'11(new_esEs(new_abs(vyv272)), vyv273, vyv272) 214.33/146.01 new_abs(Neg(Zero)) -> Neg(Zero) 214.33/146.01 new_abs(Neg(Succ(vyv27200))) -> Pos(Succ(vyv27200)) 214.33/146.01 new_abs(Pos(Succ(vyv27200))) -> Pos(Succ(vyv27200)) 214.33/146.01 new_abs(Pos(Zero)) -> Pos(Zero) 214.33/146.01 new_gcd0Gcd'11(True, vyv273, vyv272) -> new_abs(vyv273) 214.33/146.01 new_gcd0Gcd'11(False, vyv273, vyv272) -> new_gcd0Gcd'00(new_abs(vyv273), new_abs(vyv272)) 214.33/146.01 new_gcd0Gcd'00(vyv293, vyv292) -> new_gcd0Gcd'10(new_esEs(new_rem(vyv293, vyv292)), vyv292, vyv293) 214.33/146.01 new_gcd0Gcd'10(False, vyv292, vyv293) -> new_gcd0Gcd'00(vyv292, new_rem(vyv293, vyv292)) 214.33/146.01 new_rem(Pos(vyv2930), Neg(Zero)) -> new_error 214.33/146.01 new_rem(Neg(vyv2930), Pos(Zero)) -> new_error 214.33/146.01 new_rem(Pos(vyv2930), Neg(Succ(vyv29200))) -> Pos(new_primModNatS1(vyv2930, vyv29200)) 214.33/146.01 new_rem(Neg(vyv2930), Pos(Succ(vyv29200))) -> Neg(new_primModNatS1(vyv2930, vyv29200)) 214.33/146.01 new_rem(Pos(vyv2930), Pos(Succ(vyv29200))) -> Pos(new_primModNatS1(vyv2930, vyv29200)) 214.33/146.01 new_rem(Neg(vyv2930), Neg(Zero)) -> new_error 214.33/146.01 new_rem(Neg(vyv2930), Neg(Succ(vyv29200))) -> Neg(new_primModNatS1(vyv2930, vyv29200)) 214.33/146.01 new_rem(Pos(vyv2930), Pos(Zero)) -> new_error 214.33/146.01 new_gcd0Gcd'10(True, vyv292, vyv293) -> vyv292 214.33/146.01 new_primModNatS1(Succ(Zero), Succ(vyv292000)) -> Succ(Zero) 214.33/146.01 new_primModNatS1(Zero, vyv29200) -> Zero 214.33/146.01 new_primModNatS1(Succ(Succ(vyv293000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv293000), Zero) 214.33/146.01 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 214.33/146.01 new_primModNatS1(Succ(Succ(vyv293000)), Succ(vyv292000)) -> new_primModNatS01(vyv293000, vyv292000, vyv293000, vyv292000) 214.33/146.01 new_primModNatS01(vyv331, vyv332, Zero, Zero) -> new_primModNatS02(vyv331, vyv332) 214.33/146.01 new_primModNatS02(vyv331, vyv332) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv331), Succ(vyv332)), Succ(vyv332)) 214.33/146.01 new_primModNatS01(vyv331, vyv332, Succ(vyv3330), Zero) -> new_primModNatS02(vyv331, vyv332) 214.33/146.01 new_primModNatS01(vyv331, vyv332, Succ(vyv3330), Succ(vyv3340)) -> new_primModNatS01(vyv331, vyv332, vyv3330, vyv3340) 214.33/146.01 new_primModNatS01(vyv331, vyv332, Zero, Succ(vyv3340)) -> Succ(Succ(vyv331)) 214.33/146.01 new_gcd1(True, vyv273, vyv272) -> new_error 214.33/146.01 new_gcd1(False, vyv273, vyv272) -> new_gcd0(vyv273, vyv272) 214.33/146.01 new_primEqInt(Neg(Succ(vyv242000))) -> False 214.33/146.01 new_primEqInt(Pos(Zero)) -> True 214.33/146.01 new_primEqInt(Pos(Succ(vyv242000))) -> False 214.33/146.01 new_primEqInt(Neg(Zero)) -> True 214.33/146.01 new_primQuotInt(vyv2710, Pos(Succ(vyv28500))) -> Pos(new_primDivNatS1(vyv2710, vyv28500)) 214.33/146.01 new_primQuotInt(vyv2710, Neg(Zero)) -> new_error 214.33/146.01 new_primQuotInt(vyv2710, Pos(Zero)) -> new_error 214.33/146.01 new_primQuotInt(vyv2710, Neg(Succ(vyv28500))) -> Neg(new_primDivNatS1(vyv2710, vyv28500)) 214.33/146.01 new_primMulNat0(Zero, Succ(vyv23900)) -> Zero 214.33/146.01 new_primMulNat0(Succ(vyv24000), Succ(vyv23900)) -> new_primPlusNat0(new_primMulNat0(vyv24000, Succ(vyv23900)), Succ(vyv23900)) 214.33/146.01 new_primMulNat0(Succ(vyv24000), Zero) -> Zero 214.33/146.01 new_primMulNat0(Zero, Zero) -> Zero 214.33/146.01 new_primPlusNat0(Succ(vyv4000), Succ(vyv6000)) -> Succ(Succ(new_primPlusNat0(vyv4000, vyv6000))) 214.33/146.01 new_primPlusNat0(Zero, Succ(vyv6000)) -> Succ(vyv6000) 214.33/146.01 new_primPlusNat0(Zero, Zero) -> Zero 214.33/146.01 new_primPlusNat0(Succ(vyv4000), Zero) -> Succ(vyv4000) 214.33/146.01 new_sr6(vyv184) -> error([]) 214.33/146.01 new_esEs1(Integer(vyv2700)) -> new_primEqInt(vyv2700) 214.33/146.01 new_sr7(Pos(vyv1840)) -> Pos(new_primMulNat1(vyv1840)) 214.33/146.01 new_sr7(Neg(vyv1840)) -> Pos(new_primMulNat1(vyv1840)) 214.33/146.01 new_primMulNat1(Succ(vyv18400)) -> new_primPlusNat0(new_primMulNat2(vyv18400), Succ(vyv18400)) 214.33/146.01 new_primMulNat1(Zero) -> Zero 214.33/146.01 new_primMulNat2(Succ(vyv184000)) -> new_primPlusNat0(new_primMulNat3(vyv184000), Succ(Succ(vyv184000))) 214.33/146.01 new_primMulNat2(Zero) -> Zero 214.33/146.01 new_primMulNat3(Succ(vyv1840000)) -> new_primPlusNat0(new_primMulNat4(vyv1840000), Succ(Succ(Succ(vyv1840000)))) 214.33/146.01 new_primMulNat3(Zero) -> Zero 214.33/146.01 new_primMulNat4(Succ(vyv18400000)) -> new_primPlusNat0(new_primMulNat0(vyv18400000, Succ(Succ(Succ(Succ(vyv18400000))))), Succ(Succ(Succ(Succ(vyv18400000))))) 214.33/146.01 new_primMulNat4(Zero) -> Zero 214.33/146.01 new_sr12(vyv184) -> error([]) 214.33/146.01 new_sr11(vyv184) -> error([]) 214.33/146.01 new_sr4(vyv240, vyv239, app(ty_Ratio, be)) -> new_sr8(vyv240, vyv239, be) 214.33/146.01 new_sr4(vyv240, vyv239, ty_Float) -> new_sr14(vyv240, vyv239) 214.33/146.01 new_sr4(vyv240, vyv239, ty_Int) -> new_sr10(vyv240, vyv239) 214.33/146.01 new_sr4(vyv240, vyv239, ty_Double) -> new_sr13(vyv240, vyv239) 214.33/146.01 new_sr4(vyv240, vyv239, ty_Integer) -> new_sr9(vyv240, vyv239) 214.33/146.01 new_sr13(vyv240, vyv239) -> error([]) 214.33/146.01 new_sr14(vyv240, vyv239) -> error([]) 214.33/146.01 new_sr8(:%(vyv2400, vyv2401), :%(vyv2390, vyv2391), be) -> new_reduce2Reduce1(vyv2400, vyv2390, vyv2401, vyv2391, new_esEs2(vyv2401, vyv2391, be), be) 214.33/146.01 new_esEs2(vyv2401, vyv2391, ty_Integer) -> new_esEs1(new_sr9(vyv2401, vyv2391)) 214.33/146.01 new_esEs2(vyv2401, vyv2391, ty_Int) -> new_esEs(new_sr10(vyv2401, vyv2391)) 214.33/146.01 214.33/146.01 The set Q consists of the following terms: 214.33/146.01 214.33/146.01 new_sr13(x0, x1) 214.33/146.01 new_primDivNatS01(x0, x1, Zero, Zero) 214.33/146.01 new_gcd0Gcd'11(False, x0, x1) 214.33/146.01 new_primMulNat4(Zero) 214.33/146.01 new_gcd0Gcd'11(True, x0, x1) 214.33/146.01 new_sr5(:%(x0, x1), x2) 214.33/146.01 new_primEqInt(Pos(Zero)) 214.33/146.01 new_esEs(Pos(Succ(x0))) 214.33/146.01 new_primQuotInt0(x0, Neg(Zero)) 214.33/146.01 new_primMulNat3(Zero) 214.33/146.01 new_primModNatS02(x0, x1) 214.33/146.01 new_primDivNatS1(Succ(Zero), Zero) 214.33/146.01 new_primMinusNatS0(x0) 214.33/146.01 new_sr11(x0) 214.33/146.01 new_rem(Pos(x0), Neg(Succ(x1))) 214.33/146.01 new_rem(Neg(x0), Pos(Succ(x1))) 214.33/146.01 new_primMulNat0(Zero, Zero) 214.33/146.01 new_primPlusNat0(Succ(x0), Zero) 214.33/146.01 new_primMulNat0(Succ(x0), Zero) 214.33/146.01 new_sr3(x0, ty_Float) 214.33/146.01 new_primMulNat2(Zero) 214.33/146.01 new_primQuotInt(x0, Pos(Zero)) 214.33/146.01 new_primMulNat2(Succ(x0)) 214.33/146.01 new_primQuotInt(x0, Neg(Zero)) 214.33/146.01 new_rem(Neg(x0), Neg(Succ(x1))) 214.33/146.01 new_primMinusNatS2(Zero, Succ(x0)) 214.33/146.01 new_sr4(x0, x1, ty_Double) 214.33/146.01 new_primMulNat3(Succ(x0)) 214.33/146.01 new_esEs1(Integer(x0)) 214.33/146.01 new_primQuotInt0(x0, Pos(Zero)) 214.33/146.01 new_gcd2(True, x0, x1) 214.33/146.01 new_quot1(x0, x1, x2, x3, ty_Int) 214.33/146.01 new_primDivNatS1(Zero, x0) 214.33/146.01 new_gcd(x0, x1) 214.33/146.01 new_gcd1(False, x0, x1) 214.33/146.01 new_esEs2(x0, x1, ty_Int) 214.33/146.01 new_sr3(x0, ty_Integer) 214.33/146.01 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 214.33/146.01 new_primPlusNat0(Zero, Succ(x0)) 214.33/146.01 new_sr8(:%(x0, x1), :%(x2, x3), x4) 214.33/146.01 new_abs(Neg(Zero)) 214.33/146.01 new_primMinusNatS2(Succ(x0), Zero) 214.33/146.01 new_error 214.33/146.01 new_primModNatS1(Succ(Zero), Zero) 214.33/146.01 new_primMulNat4(Succ(x0)) 214.33/146.01 new_primDivNatS02(x0, x1) 214.33/146.01 new_rem(Neg(x0), Neg(Zero)) 214.33/146.01 new_primEqInt(Neg(Zero)) 214.33/146.01 new_rem(Pos(x0), Pos(Succ(x1))) 214.33/146.01 new_abs(Pos(Succ(x0))) 214.33/146.01 new_primMulNat0(Succ(x0), Succ(x1)) 214.33/146.01 new_primMulNat0(Zero, Succ(x0)) 214.33/146.01 new_reduce2Reduce1(x0, x1, x2, x3, True, x4) 214.33/146.01 new_gcd0Gcd'10(False, x0, x1) 214.33/146.01 new_sr12(x0) 214.33/146.01 new_primDivNatS01(x0, x1, Zero, Succ(x2)) 214.33/146.01 new_sr10(Pos(x0), Pos(x1)) 214.33/146.01 new_primModNatS01(x0, x1, Zero, Succ(x2)) 214.33/146.01 new_primPlusNat0(Zero, Zero) 214.33/146.01 new_primQuotInt0(x0, Pos(Succ(x1))) 214.33/146.01 new_primModNatS01(x0, x1, Succ(x2), Zero) 214.33/146.01 new_primModNatS1(Succ(Succ(x0)), Zero) 214.33/146.01 new_sr4(x0, x1, ty_Integer) 214.33/146.01 new_rem(Pos(x0), Pos(Zero)) 214.33/146.01 new_sr4(x0, x1, ty_Int) 214.33/146.01 new_quot(Pos(x0), x1, x2) 214.33/146.01 new_primMinusNatS2(Zero, Zero) 214.33/146.01 new_esEs0(x0, ty_Int) 214.33/146.01 new_esEs(Pos(Zero)) 214.33/146.01 new_quot(Neg(x0), x1, x2) 214.33/146.01 new_primDivNatS01(x0, x1, Succ(x2), Succ(x3)) 214.33/146.01 new_quot2(x0, x1, x2) 214.33/146.01 new_primEqInt(Neg(Succ(x0))) 214.33/146.01 new_sr10(Neg(x0), Neg(x1)) 214.33/146.01 new_sr3(x0, app(ty_Ratio, x1)) 214.33/146.01 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 214.33/146.01 new_sr9(x0, x1) 214.33/146.01 new_sr7(Neg(x0)) 214.33/146.01 new_primQuotInt0(x0, Neg(Succ(x1))) 214.33/146.01 new_rem(Pos(x0), Neg(Zero)) 214.33/146.01 new_rem(Neg(x0), Pos(Zero)) 214.33/146.01 new_gcd0Gcd'00(x0, x1) 214.33/146.01 new_primQuotInt(x0, Neg(Succ(x1))) 214.33/146.01 new_primMinusNatS2(Succ(x0), Succ(x1)) 214.33/146.01 new_abs(Pos(Zero)) 214.33/146.01 new_quot0(x0, x1, x2, x3, ty_Integer) 214.33/146.01 new_sr6(x0) 214.33/146.01 new_gcd2(False, x0, x1) 214.33/146.01 new_gcd1(True, x0, x1) 214.33/146.01 new_esEs2(x0, x1, ty_Integer) 214.33/146.01 new_primMinusNatS1 214.33/146.01 new_sr7(Pos(x0)) 214.33/146.01 new_gcd0Gcd'10(True, x0, x1) 214.33/146.01 new_primModNatS1(Zero, x0) 214.33/146.01 new_sr4(x0, x1, ty_Float) 214.33/146.01 new_sr10(Pos(x0), Neg(x1)) 214.33/146.01 new_sr10(Neg(x0), Pos(x1)) 214.33/146.01 new_primDivNatS01(x0, x1, Succ(x2), Zero) 214.33/146.01 new_primDivNatS1(Succ(Succ(x0)), Succ(x1)) 214.33/146.01 new_primPlusNat0(Succ(x0), Succ(x1)) 214.33/146.01 new_primDivNatS1(Succ(Zero), Succ(x0)) 214.33/146.01 new_primQuotInt(x0, Pos(Succ(x1))) 214.33/146.01 new_abs(Neg(Succ(x0))) 214.33/146.01 new_esEs0(x0, ty_Integer) 214.33/146.01 new_sr3(x0, ty_Int) 214.33/146.01 new_esEs(Neg(Succ(x0))) 214.33/146.01 new_primModNatS01(x0, x1, Zero, Zero) 214.33/146.01 new_sr4(x0, x1, app(ty_Ratio, x2)) 214.33/146.01 new_gcd0(x0, x1) 214.33/146.01 new_primEqInt(Pos(Succ(x0))) 214.33/146.01 new_sr3(x0, ty_Double) 214.33/146.01 new_quot1(x0, x1, x2, x3, ty_Integer) 214.33/146.01 new_primDivNatS1(Succ(Succ(x0)), Zero) 214.33/146.01 new_primMulNat1(Succ(x0)) 214.33/146.01 new_sr14(x0, x1) 214.33/146.01 new_quot0(x0, x1, x2, x3, ty_Int) 214.33/146.01 new_primModNatS1(Succ(Zero), Succ(x0)) 214.33/146.01 new_reduce2Reduce1(x0, x1, x2, x3, False, x4) 214.33/146.01 new_esEs(Neg(Zero)) 214.33/146.01 new_primMulNat1(Zero) 214.33/146.01 new_new_pr2F0G10(Succ(Succ(x0))) 214.33/146.01 new_new_pr2F0G10(Succ(Zero)) 214.33/146.01 new_new_pr2F0G10(Zero) 214.33/146.01 214.33/146.01 We have to consider all minimal (P,Q,R)-chains. 214.33/146.01 ---------------------------------------- 214.33/146.01 214.33/146.01 (852) TransformationProof (EQUIVALENT) 214.33/146.01 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]: 214.33/146.01 214.33/146.01 (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))) 214.33/146.01 (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)))) 214.33/146.01 (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))) 214.33/146.01 214.33/146.01 214.33/146.01 ---------------------------------------- 214.33/146.01 214.33/146.01 (853) 214.33/146.01 Obligation: 214.33/146.01 Q DP problem: 214.33/146.01 The TRS P consists of the following rules: 214.33/146.01 214.33/146.01 new_pr2F0(vyv184, Neg(Succ(Succ(vyv223000))), vyv188, h) -> new_pr2F0G10(vyv188, vyv184, Succ(vyv223000), vyv223000, h) 214.33/146.01 new_pr2F0G10(vyv249, vyv250, vyv251, Succ(Zero), bb) -> new_pr2F0G11(vyv249, vyv250, vyv251, bb) 214.33/146.01 new_pr2F0G11(vyv239, vyv240, vyv241, bc) -> new_pr2F1(vyv240, vyv241, Pos(Succ(Zero)), vyv239, bc) 214.33/146.01 new_pr2F1(z1, z2, Pos(Succ(Zero)), z0, z3) -> new_pr2F30(False, z1, z2, Pos(Succ(Zero)), z0, z3) 214.33/146.01 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) 214.33/146.01 H(vyv249, vyv250, vyv251, bb, cons_new_pr2F0G10(Succ(Zero))) -> new_pr2F0G10(vyv249, vyv250, vyv251, Succ(Zero), bb) 214.33/146.01 H(vyv249, vyv250, vyv251, bb, cons_new_pr2F0G10(Zero)) -> new_pr2F0G10(vyv249, vyv250, vyv251, Zero, bb) 214.33/146.01 new_pr2F0G(vyv188, vyv184, Neg(Succ(Zero)), h) -> new_pr2F0G11(vyv188, vyv184, Zero, h) 214.33/146.01 new_pr2F0G(vyv188, vyv184, Neg(Succ(Succ(vyv223000))), h) -> new_pr2F0G10(vyv188, vyv184, Succ(vyv223000), vyv223000, h) 214.33/146.01 new_pr2F0G10(y0, y1, Succ(Zero), Zero, y3) -> new_pr2F0G(y0, new_sr3(y1, y3), Neg(Succ(Zero)), y3) 214.33/146.01 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))) 214.33/146.01 new_pr2F0(y0, Neg(Succ(Succ(Succ(Succ(Zero))))), y2, y3) -> H(y2, y0, Succ(Succ(Succ(Zero))), y3, cons_new_pr2F0G10(Zero)) 214.33/146.01 new_pr2F0G10(y0, y1, Succ(Succ(Zero)), Zero, y3) -> new_pr2F0G(y0, new_sr3(y1, y3), Neg(Succ(Zero)), y3) 214.33/146.01 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))) 214.33/146.01 new_pr2F0G(y0, y1, Neg(Succ(Succ(Succ(Succ(Zero))))), y3) -> H(y0, y1, Succ(Succ(Succ(Zero))), y3, cons_new_pr2F0G10(Zero)) 214.33/146.01 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))) 214.33/146.01 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)) 214.33/146.01 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) 214.33/146.01 new_pr2F0G10(y0, y1, Succ(Succ(Succ(Zero))), Zero, y3) -> new_pr2F0G(y0, new_sr3(y1, y3), Neg(Succ(Succ(Zero))), y3) 214.33/146.01 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)) 214.33/146.01 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))) 214.33/146.01 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)) 214.33/146.01 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)) 214.33/146.01 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))) 214.33/146.01 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)) 214.33/146.01 214.33/146.01 The TRS R consists of the following rules: 214.33/146.01 214.33/146.01 new_new_pr2F0G10(Succ(Succ(vyv25200))) -> new_new_pr2F0G10(vyv25200) 214.33/146.01 new_new_pr2F0G10(Succ(Zero)) -> cons_new_pr2F0G10(Succ(Zero)) 214.33/146.01 new_new_pr2F0G10(Zero) -> cons_new_pr2F0G10(Zero) 214.33/146.01 new_sr3(vyv250, ty_Double) -> new_sr11(vyv250) 214.33/146.01 new_sr3(vyv250, ty_Int) -> new_sr7(vyv250) 214.33/146.01 new_sr3(vyv250, ty_Float) -> new_sr12(vyv250) 214.33/146.01 new_sr3(vyv250, ty_Integer) -> new_sr6(vyv250) 214.33/146.01 new_sr3(vyv250, app(ty_Ratio, bf)) -> new_sr5(vyv250, bf) 214.33/146.01 new_sr5(:%(vyv1840, vyv1841), bd) -> new_reduce2Reduce1(vyv1840, vyv1840, vyv1841, vyv1841, new_esEs0(vyv1841, bd), bd) 214.33/146.01 new_esEs0(vyv1841, ty_Int) -> new_esEs(new_sr7(vyv1841)) 214.33/146.01 new_esEs0(vyv1841, ty_Integer) -> new_esEs1(new_sr6(vyv1841)) 214.33/146.01 new_reduce2Reduce1(vyv265, vyv266, vyv267, vyv268, False, bh) -> :%(new_quot0(vyv265, vyv266, vyv267, vyv268, bh), new_quot1(vyv267, vyv268, vyv265, vyv266, bh)) 214.33/146.01 new_reduce2Reduce1(vyv265, vyv266, vyv267, vyv268, True, bh) -> error([]) 214.33/146.01 new_quot0(vyv265, vyv266, vyv267, vyv268, ty_Integer) -> new_quot2(new_sr9(vyv265, vyv266), new_sr9(vyv265, vyv266), new_sr9(vyv267, vyv268)) 214.33/146.01 new_quot0(vyv265, vyv266, vyv267, vyv268, ty_Int) -> new_quot(new_sr10(vyv265, vyv266), new_sr10(vyv265, vyv266), new_sr10(vyv267, vyv268)) 214.33/146.01 new_quot1(vyv267, vyv268, vyv265, vyv266, ty_Int) -> new_quot(new_sr10(vyv267, vyv268), new_sr10(vyv265, vyv266), new_sr10(vyv267, vyv268)) 214.33/146.01 new_quot1(vyv267, vyv268, vyv265, vyv266, ty_Integer) -> new_quot2(new_sr9(vyv267, vyv268), new_sr9(vyv265, vyv266), new_sr9(vyv267, vyv268)) 214.33/146.01 new_sr9(vyv240, vyv239) -> error([]) 214.33/146.01 new_quot2(vyv274, vyv276, vyv275) -> error([]) 214.33/146.01 new_sr10(Pos(vyv2400), Pos(vyv2390)) -> Pos(new_primMulNat0(vyv2400, vyv2390)) 214.33/146.01 new_sr10(Neg(vyv2400), Neg(vyv2390)) -> Pos(new_primMulNat0(vyv2400, vyv2390)) 214.33/146.01 new_sr10(Pos(vyv2400), Neg(vyv2390)) -> Neg(new_primMulNat0(vyv2400, vyv2390)) 214.33/146.01 new_sr10(Neg(vyv2400), Pos(vyv2390)) -> Neg(new_primMulNat0(vyv2400, vyv2390)) 214.33/146.01 new_quot(Pos(vyv2710), vyv273, vyv272) -> new_primQuotInt(vyv2710, new_gcd(vyv273, vyv272)) 214.33/146.01 new_quot(Neg(vyv2710), vyv273, vyv272) -> new_primQuotInt0(vyv2710, new_gcd(vyv273, vyv272)) 214.33/146.01 new_gcd(vyv273, vyv272) -> new_gcd2(new_esEs(vyv273), vyv273, vyv272) 214.33/146.01 new_primQuotInt0(vyv2710, Pos(Succ(vyv28800))) -> Neg(new_primDivNatS1(vyv2710, vyv28800)) 214.33/146.01 new_primQuotInt0(vyv2710, Neg(Zero)) -> new_error 214.33/146.01 new_primQuotInt0(vyv2710, Neg(Succ(vyv28800))) -> Pos(new_primDivNatS1(vyv2710, vyv28800)) 214.33/146.01 new_primQuotInt0(vyv2710, Pos(Zero)) -> new_error 214.33/146.01 new_error -> error([]) 214.33/146.01 new_primDivNatS1(Succ(Zero), Succ(vyv285000)) -> Zero 214.33/146.01 new_primDivNatS1(Succ(Succ(vyv271000)), Succ(vyv285000)) -> new_primDivNatS01(vyv271000, vyv285000, vyv271000, vyv285000) 214.33/146.01 new_primDivNatS1(Zero, vyv28500) -> Zero 214.33/146.01 new_primDivNatS1(Succ(Succ(vyv271000)), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS0(vyv271000), Zero)) 214.33/146.01 new_primDivNatS1(Succ(Zero), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS1, Zero)) 214.33/146.01 new_primMinusNatS1 -> Zero 214.33/146.01 new_primMinusNatS0(vyv271000) -> Succ(vyv271000) 214.33/146.01 new_primDivNatS01(vyv311, vyv312, Succ(vyv3130), Zero) -> new_primDivNatS02(vyv311, vyv312) 214.33/146.01 new_primDivNatS01(vyv311, vyv312, Zero, Succ(vyv3140)) -> Zero 214.33/146.01 new_primDivNatS01(vyv311, vyv312, Succ(vyv3130), Succ(vyv3140)) -> new_primDivNatS01(vyv311, vyv312, vyv3130, vyv3140) 214.33/146.01 new_primDivNatS01(vyv311, vyv312, Zero, Zero) -> new_primDivNatS02(vyv311, vyv312) 214.33/146.01 new_primDivNatS02(vyv311, vyv312) -> Succ(new_primDivNatS1(new_primMinusNatS2(vyv311, vyv312), Succ(vyv312))) 214.33/146.01 new_primMinusNatS2(Zero, Succ(vyv3120)) -> Zero 214.33/146.01 new_primMinusNatS2(Succ(vyv3110), Zero) -> Succ(vyv3110) 214.33/146.01 new_primMinusNatS2(Zero, Zero) -> Zero 214.33/146.01 new_primMinusNatS2(Succ(vyv3110), Succ(vyv3120)) -> new_primMinusNatS2(vyv3110, vyv3120) 214.33/146.01 new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) 214.33/146.01 new_esEs(Pos(Succ(vyv24300))) -> new_primEqInt(Pos(Succ(vyv24300))) 214.33/146.01 new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) 214.33/146.01 new_esEs(Neg(Succ(vyv24300))) -> new_primEqInt(Neg(Succ(vyv24300))) 214.33/146.01 new_gcd2(True, vyv273, vyv272) -> new_gcd1(new_esEs(vyv272), vyv273, vyv272) 214.33/146.01 new_gcd2(False, vyv273, vyv272) -> new_gcd0(vyv273, vyv272) 214.33/146.01 new_gcd0(vyv273, vyv272) -> new_gcd0Gcd'11(new_esEs(new_abs(vyv272)), vyv273, vyv272) 214.33/146.01 new_abs(Neg(Zero)) -> Neg(Zero) 214.33/146.01 new_abs(Neg(Succ(vyv27200))) -> Pos(Succ(vyv27200)) 214.33/146.01 new_abs(Pos(Succ(vyv27200))) -> Pos(Succ(vyv27200)) 214.33/146.01 new_abs(Pos(Zero)) -> Pos(Zero) 214.33/146.01 new_gcd0Gcd'11(True, vyv273, vyv272) -> new_abs(vyv273) 214.33/146.01 new_gcd0Gcd'11(False, vyv273, vyv272) -> new_gcd0Gcd'00(new_abs(vyv273), new_abs(vyv272)) 214.33/146.01 new_gcd0Gcd'00(vyv293, vyv292) -> new_gcd0Gcd'10(new_esEs(new_rem(vyv293, vyv292)), vyv292, vyv293) 214.33/146.01 new_gcd0Gcd'10(False, vyv292, vyv293) -> new_gcd0Gcd'00(vyv292, new_rem(vyv293, vyv292)) 214.33/146.01 new_rem(Pos(vyv2930), Neg(Zero)) -> new_error 214.33/146.01 new_rem(Neg(vyv2930), Pos(Zero)) -> new_error 214.33/146.01 new_rem(Pos(vyv2930), Neg(Succ(vyv29200))) -> Pos(new_primModNatS1(vyv2930, vyv29200)) 214.33/146.01 new_rem(Neg(vyv2930), Pos(Succ(vyv29200))) -> Neg(new_primModNatS1(vyv2930, vyv29200)) 214.33/146.01 new_rem(Pos(vyv2930), Pos(Succ(vyv29200))) -> Pos(new_primModNatS1(vyv2930, vyv29200)) 214.33/146.01 new_rem(Neg(vyv2930), Neg(Zero)) -> new_error 214.33/146.01 new_rem(Neg(vyv2930), Neg(Succ(vyv29200))) -> Neg(new_primModNatS1(vyv2930, vyv29200)) 214.33/146.01 new_rem(Pos(vyv2930), Pos(Zero)) -> new_error 214.33/146.01 new_gcd0Gcd'10(True, vyv292, vyv293) -> vyv292 214.33/146.01 new_primModNatS1(Succ(Zero), Succ(vyv292000)) -> Succ(Zero) 214.33/146.01 new_primModNatS1(Zero, vyv29200) -> Zero 214.33/146.01 new_primModNatS1(Succ(Succ(vyv293000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv293000), Zero) 214.33/146.01 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 214.33/146.01 new_primModNatS1(Succ(Succ(vyv293000)), Succ(vyv292000)) -> new_primModNatS01(vyv293000, vyv292000, vyv293000, vyv292000) 214.33/146.01 new_primModNatS01(vyv331, vyv332, Zero, Zero) -> new_primModNatS02(vyv331, vyv332) 214.33/146.01 new_primModNatS02(vyv331, vyv332) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv331), Succ(vyv332)), Succ(vyv332)) 214.33/146.01 new_primModNatS01(vyv331, vyv332, Succ(vyv3330), Zero) -> new_primModNatS02(vyv331, vyv332) 214.33/146.01 new_primModNatS01(vyv331, vyv332, Succ(vyv3330), Succ(vyv3340)) -> new_primModNatS01(vyv331, vyv332, vyv3330, vyv3340) 214.33/146.01 new_primModNatS01(vyv331, vyv332, Zero, Succ(vyv3340)) -> Succ(Succ(vyv331)) 214.33/146.01 new_gcd1(True, vyv273, vyv272) -> new_error 214.33/146.01 new_gcd1(False, vyv273, vyv272) -> new_gcd0(vyv273, vyv272) 214.33/146.01 new_primEqInt(Neg(Succ(vyv242000))) -> False 214.33/146.01 new_primEqInt(Pos(Zero)) -> True 214.33/146.01 new_primEqInt(Pos(Succ(vyv242000))) -> False 214.33/146.01 new_primEqInt(Neg(Zero)) -> True 214.33/146.01 new_primQuotInt(vyv2710, Pos(Succ(vyv28500))) -> Pos(new_primDivNatS1(vyv2710, vyv28500)) 214.33/146.01 new_primQuotInt(vyv2710, Neg(Zero)) -> new_error 214.33/146.01 new_primQuotInt(vyv2710, Pos(Zero)) -> new_error 214.33/146.01 new_primQuotInt(vyv2710, Neg(Succ(vyv28500))) -> Neg(new_primDivNatS1(vyv2710, vyv28500)) 214.33/146.01 new_primMulNat0(Zero, Succ(vyv23900)) -> Zero 214.33/146.01 new_primMulNat0(Succ(vyv24000), Succ(vyv23900)) -> new_primPlusNat0(new_primMulNat0(vyv24000, Succ(vyv23900)), Succ(vyv23900)) 214.33/146.01 new_primMulNat0(Succ(vyv24000), Zero) -> Zero 214.33/146.01 new_primMulNat0(Zero, Zero) -> Zero 214.33/146.01 new_primPlusNat0(Succ(vyv4000), Succ(vyv6000)) -> Succ(Succ(new_primPlusNat0(vyv4000, vyv6000))) 214.33/146.01 new_primPlusNat0(Zero, Succ(vyv6000)) -> Succ(vyv6000) 214.33/146.01 new_primPlusNat0(Zero, Zero) -> Zero 214.33/146.01 new_primPlusNat0(Succ(vyv4000), Zero) -> Succ(vyv4000) 214.33/146.01 new_sr6(vyv184) -> error([]) 214.33/146.01 new_esEs1(Integer(vyv2700)) -> new_primEqInt(vyv2700) 214.33/146.01 new_sr7(Pos(vyv1840)) -> Pos(new_primMulNat1(vyv1840)) 214.33/146.01 new_sr7(Neg(vyv1840)) -> Pos(new_primMulNat1(vyv1840)) 214.33/146.01 new_primMulNat1(Succ(vyv18400)) -> new_primPlusNat0(new_primMulNat2(vyv18400), Succ(vyv18400)) 214.33/146.01 new_primMulNat1(Zero) -> Zero 214.33/146.01 new_primMulNat2(Succ(vyv184000)) -> new_primPlusNat0(new_primMulNat3(vyv184000), Succ(Succ(vyv184000))) 214.33/146.01 new_primMulNat2(Zero) -> Zero 214.33/146.01 new_primMulNat3(Succ(vyv1840000)) -> new_primPlusNat0(new_primMulNat4(vyv1840000), Succ(Succ(Succ(vyv1840000)))) 214.33/146.01 new_primMulNat3(Zero) -> Zero 214.33/146.01 new_primMulNat4(Succ(vyv18400000)) -> new_primPlusNat0(new_primMulNat0(vyv18400000, Succ(Succ(Succ(Succ(vyv18400000))))), Succ(Succ(Succ(Succ(vyv18400000))))) 214.33/146.01 new_primMulNat4(Zero) -> Zero 214.33/146.01 new_sr12(vyv184) -> error([]) 214.33/146.01 new_sr11(vyv184) -> error([]) 214.33/146.01 new_sr4(vyv240, vyv239, app(ty_Ratio, be)) -> new_sr8(vyv240, vyv239, be) 214.33/146.01 new_sr4(vyv240, vyv239, ty_Float) -> new_sr14(vyv240, vyv239) 214.33/146.01 new_sr4(vyv240, vyv239, ty_Int) -> new_sr10(vyv240, vyv239) 214.33/146.01 new_sr4(vyv240, vyv239, ty_Double) -> new_sr13(vyv240, vyv239) 214.33/146.01 new_sr4(vyv240, vyv239, ty_Integer) -> new_sr9(vyv240, vyv239) 214.33/146.01 new_sr13(vyv240, vyv239) -> error([]) 214.33/146.01 new_sr14(vyv240, vyv239) -> error([]) 214.33/146.01 new_sr8(:%(vyv2400, vyv2401), :%(vyv2390, vyv2391), be) -> new_reduce2Reduce1(vyv2400, vyv2390, vyv2401, vyv2391, new_esEs2(vyv2401, vyv2391, be), be) 214.33/146.01 new_esEs2(vyv2401, vyv2391, ty_Integer) -> new_esEs1(new_sr9(vyv2401, vyv2391)) 214.33/146.01 new_esEs2(vyv2401, vyv2391, ty_Int) -> new_esEs(new_sr10(vyv2401, vyv2391)) 214.33/146.01 214.33/146.01 The set Q consists of the following terms: 214.33/146.01 214.33/146.01 new_sr13(x0, x1) 214.33/146.01 new_primDivNatS01(x0, x1, Zero, Zero) 214.33/146.01 new_gcd0Gcd'11(False, x0, x1) 214.33/146.01 new_primMulNat4(Zero) 214.33/146.01 new_gcd0Gcd'11(True, x0, x1) 214.33/146.01 new_sr5(:%(x0, x1), x2) 214.33/146.01 new_primEqInt(Pos(Zero)) 214.33/146.01 new_esEs(Pos(Succ(x0))) 214.33/146.01 new_primQuotInt0(x0, Neg(Zero)) 214.33/146.01 new_primMulNat3(Zero) 214.33/146.01 new_primModNatS02(x0, x1) 214.33/146.01 new_primDivNatS1(Succ(Zero), Zero) 214.33/146.01 new_primMinusNatS0(x0) 214.33/146.01 new_sr11(x0) 214.33/146.01 new_rem(Pos(x0), Neg(Succ(x1))) 214.33/146.01 new_rem(Neg(x0), Pos(Succ(x1))) 214.33/146.01 new_primMulNat0(Zero, Zero) 214.33/146.01 new_primPlusNat0(Succ(x0), Zero) 214.33/146.01 new_primMulNat0(Succ(x0), Zero) 214.33/146.01 new_sr3(x0, ty_Float) 214.33/146.01 new_primMulNat2(Zero) 214.33/146.01 new_primQuotInt(x0, Pos(Zero)) 214.33/146.01 new_primMulNat2(Succ(x0)) 214.33/146.01 new_primQuotInt(x0, Neg(Zero)) 214.33/146.01 new_rem(Neg(x0), Neg(Succ(x1))) 214.33/146.01 new_primMinusNatS2(Zero, Succ(x0)) 214.33/146.01 new_sr4(x0, x1, ty_Double) 214.33/146.01 new_primMulNat3(Succ(x0)) 214.33/146.01 new_esEs1(Integer(x0)) 214.33/146.01 new_primQuotInt0(x0, Pos(Zero)) 214.33/146.01 new_gcd2(True, x0, x1) 214.33/146.01 new_quot1(x0, x1, x2, x3, ty_Int) 214.33/146.01 new_primDivNatS1(Zero, x0) 214.33/146.01 new_gcd(x0, x1) 214.33/146.01 new_gcd1(False, x0, x1) 214.33/146.01 new_esEs2(x0, x1, ty_Int) 214.33/146.01 new_sr3(x0, ty_Integer) 214.33/146.01 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 214.33/146.01 new_primPlusNat0(Zero, Succ(x0)) 214.33/146.01 new_sr8(:%(x0, x1), :%(x2, x3), x4) 214.33/146.01 new_abs(Neg(Zero)) 214.33/146.01 new_primMinusNatS2(Succ(x0), Zero) 214.33/146.01 new_error 214.33/146.01 new_primModNatS1(Succ(Zero), Zero) 214.33/146.01 new_primMulNat4(Succ(x0)) 214.33/146.01 new_primDivNatS02(x0, x1) 214.33/146.01 new_rem(Neg(x0), Neg(Zero)) 214.33/146.01 new_primEqInt(Neg(Zero)) 214.33/146.01 new_rem(Pos(x0), Pos(Succ(x1))) 214.33/146.01 new_abs(Pos(Succ(x0))) 214.33/146.01 new_primMulNat0(Succ(x0), Succ(x1)) 214.33/146.01 new_primMulNat0(Zero, Succ(x0)) 214.33/146.01 new_reduce2Reduce1(x0, x1, x2, x3, True, x4) 214.33/146.01 new_gcd0Gcd'10(False, x0, x1) 214.33/146.01 new_sr12(x0) 214.33/146.01 new_primDivNatS01(x0, x1, Zero, Succ(x2)) 214.33/146.01 new_sr10(Pos(x0), Pos(x1)) 214.33/146.01 new_primModNatS01(x0, x1, Zero, Succ(x2)) 214.33/146.01 new_primPlusNat0(Zero, Zero) 214.33/146.01 new_primQuotInt0(x0, Pos(Succ(x1))) 214.33/146.01 new_primModNatS01(x0, x1, Succ(x2), Zero) 214.33/146.01 new_primModNatS1(Succ(Succ(x0)), Zero) 214.33/146.01 new_sr4(x0, x1, ty_Integer) 214.33/146.01 new_rem(Pos(x0), Pos(Zero)) 214.33/146.01 new_sr4(x0, x1, ty_Int) 214.33/146.01 new_quot(Pos(x0), x1, x2) 214.33/146.01 new_primMinusNatS2(Zero, Zero) 214.33/146.01 new_esEs0(x0, ty_Int) 214.33/146.01 new_esEs(Pos(Zero)) 214.33/146.01 new_quot(Neg(x0), x1, x2) 214.33/146.01 new_primDivNatS01(x0, x1, Succ(x2), Succ(x3)) 214.33/146.01 new_quot2(x0, x1, x2) 214.33/146.01 new_primEqInt(Neg(Succ(x0))) 214.33/146.01 new_sr10(Neg(x0), Neg(x1)) 214.33/146.01 new_sr3(x0, app(ty_Ratio, x1)) 214.33/146.01 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 214.33/146.01 new_sr9(x0, x1) 214.33/146.01 new_sr7(Neg(x0)) 214.33/146.01 new_primQuotInt0(x0, Neg(Succ(x1))) 214.33/146.01 new_rem(Pos(x0), Neg(Zero)) 214.33/146.01 new_rem(Neg(x0), Pos(Zero)) 214.33/146.01 new_gcd0Gcd'00(x0, x1) 214.33/146.01 new_primQuotInt(x0, Neg(Succ(x1))) 214.33/146.01 new_primMinusNatS2(Succ(x0), Succ(x1)) 214.33/146.01 new_abs(Pos(Zero)) 214.33/146.01 new_quot0(x0, x1, x2, x3, ty_Integer) 214.33/146.01 new_sr6(x0) 214.33/146.01 new_gcd2(False, x0, x1) 214.33/146.01 new_gcd1(True, x0, x1) 214.33/146.01 new_esEs2(x0, x1, ty_Integer) 214.33/146.01 new_primMinusNatS1 214.33/146.01 new_sr7(Pos(x0)) 214.33/146.01 new_gcd0Gcd'10(True, x0, x1) 214.33/146.01 new_primModNatS1(Zero, x0) 214.33/146.01 new_sr4(x0, x1, ty_Float) 214.33/146.01 new_sr10(Pos(x0), Neg(x1)) 214.33/146.01 new_sr10(Neg(x0), Pos(x1)) 214.33/146.01 new_primDivNatS01(x0, x1, Succ(x2), Zero) 214.33/146.01 new_primDivNatS1(Succ(Succ(x0)), Succ(x1)) 214.33/146.01 new_primPlusNat0(Succ(x0), Succ(x1)) 214.33/146.01 new_primDivNatS1(Succ(Zero), Succ(x0)) 214.33/146.01 new_primQuotInt(x0, Pos(Succ(x1))) 214.33/146.01 new_abs(Neg(Succ(x0))) 214.33/146.01 new_esEs0(x0, ty_Integer) 214.33/146.01 new_sr3(x0, ty_Int) 214.33/146.01 new_esEs(Neg(Succ(x0))) 214.33/146.01 new_primModNatS01(x0, x1, Zero, Zero) 214.33/146.01 new_sr4(x0, x1, app(ty_Ratio, x2)) 214.33/146.01 new_gcd0(x0, x1) 214.33/146.01 new_primEqInt(Pos(Succ(x0))) 214.33/146.01 new_sr3(x0, ty_Double) 214.33/146.01 new_quot1(x0, x1, x2, x3, ty_Integer) 214.33/146.01 new_primDivNatS1(Succ(Succ(x0)), Zero) 214.33/146.01 new_primMulNat1(Succ(x0)) 214.33/146.01 new_sr14(x0, x1) 214.33/146.01 new_quot0(x0, x1, x2, x3, ty_Int) 214.33/146.01 new_primModNatS1(Succ(Zero), Succ(x0)) 214.33/146.01 new_reduce2Reduce1(x0, x1, x2, x3, False, x4) 214.33/146.01 new_esEs(Neg(Zero)) 214.33/146.01 new_primMulNat1(Zero) 214.33/146.01 new_new_pr2F0G10(Succ(Succ(x0))) 214.33/146.01 new_new_pr2F0G10(Succ(Zero)) 214.33/146.01 new_new_pr2F0G10(Zero) 214.33/146.01 214.33/146.01 We have to consider all minimal (P,Q,R)-chains. 214.33/146.01 ---------------------------------------- 214.33/146.01 214.33/146.01 (854) TransformationProof (EQUIVALENT) 214.33/146.01 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]: 214.33/146.01 214.33/146.01 (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))) 214.33/146.01 (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)))) 214.33/146.01 (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))) 214.33/146.01 214.33/146.01 214.33/146.01 ---------------------------------------- 214.33/146.01 214.33/146.01 (855) 214.33/146.01 Obligation: 214.33/146.01 Q DP problem: 214.33/146.01 The TRS P consists of the following rules: 214.33/146.01 214.33/146.01 new_pr2F0(vyv184, Neg(Succ(Succ(vyv223000))), vyv188, h) -> new_pr2F0G10(vyv188, vyv184, Succ(vyv223000), vyv223000, h) 214.33/146.01 new_pr2F0G10(vyv249, vyv250, vyv251, Succ(Zero), bb) -> new_pr2F0G11(vyv249, vyv250, vyv251, bb) 214.33/146.01 new_pr2F0G11(vyv239, vyv240, vyv241, bc) -> new_pr2F1(vyv240, vyv241, Pos(Succ(Zero)), vyv239, bc) 214.33/146.01 new_pr2F1(z1, z2, Pos(Succ(Zero)), z0, z3) -> new_pr2F30(False, z1, z2, Pos(Succ(Zero)), z0, z3) 214.33/146.01 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) 214.33/146.01 H(vyv249, vyv250, vyv251, bb, cons_new_pr2F0G10(Succ(Zero))) -> new_pr2F0G10(vyv249, vyv250, vyv251, Succ(Zero), bb) 214.33/146.01 H(vyv249, vyv250, vyv251, bb, cons_new_pr2F0G10(Zero)) -> new_pr2F0G10(vyv249, vyv250, vyv251, Zero, bb) 214.33/146.01 new_pr2F0G(vyv188, vyv184, Neg(Succ(Zero)), h) -> new_pr2F0G11(vyv188, vyv184, Zero, h) 214.33/146.01 new_pr2F0G(vyv188, vyv184, Neg(Succ(Succ(vyv223000))), h) -> new_pr2F0G10(vyv188, vyv184, Succ(vyv223000), vyv223000, h) 214.33/146.01 new_pr2F0G10(y0, y1, Succ(Zero), Zero, y3) -> new_pr2F0G(y0, new_sr3(y1, y3), Neg(Succ(Zero)), y3) 214.33/146.01 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))) 214.33/146.01 new_pr2F0(y0, Neg(Succ(Succ(Succ(Succ(Zero))))), y2, y3) -> H(y2, y0, Succ(Succ(Succ(Zero))), y3, cons_new_pr2F0G10(Zero)) 214.33/146.01 new_pr2F0G10(y0, y1, Succ(Succ(Zero)), Zero, y3) -> new_pr2F0G(y0, new_sr3(y1, y3), Neg(Succ(Zero)), y3) 214.33/146.01 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))) 214.33/146.01 new_pr2F0G(y0, y1, Neg(Succ(Succ(Succ(Succ(Zero))))), y3) -> H(y0, y1, Succ(Succ(Succ(Zero))), y3, cons_new_pr2F0G10(Zero)) 214.33/146.01 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))) 214.33/146.01 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)) 214.33/146.01 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) 214.33/146.01 new_pr2F0G10(y0, y1, Succ(Succ(Succ(Zero))), Zero, y3) -> new_pr2F0G(y0, new_sr3(y1, y3), Neg(Succ(Succ(Zero))), y3) 214.33/146.01 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))) 214.33/146.01 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)) 214.33/146.01 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)) 214.33/146.01 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))) 214.33/146.01 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)) 214.33/146.01 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)) 214.33/146.01 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))) 214.33/146.01 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)) 214.33/146.01 214.33/146.01 The TRS R consists of the following rules: 214.33/146.01 214.33/146.01 new_new_pr2F0G10(Succ(Succ(vyv25200))) -> new_new_pr2F0G10(vyv25200) 214.33/146.01 new_new_pr2F0G10(Succ(Zero)) -> cons_new_pr2F0G10(Succ(Zero)) 214.33/146.01 new_new_pr2F0G10(Zero) -> cons_new_pr2F0G10(Zero) 214.33/146.01 new_sr3(vyv250, ty_Double) -> new_sr11(vyv250) 214.33/146.01 new_sr3(vyv250, ty_Int) -> new_sr7(vyv250) 214.33/146.01 new_sr3(vyv250, ty_Float) -> new_sr12(vyv250) 214.33/146.01 new_sr3(vyv250, ty_Integer) -> new_sr6(vyv250) 214.33/146.01 new_sr3(vyv250, app(ty_Ratio, bf)) -> new_sr5(vyv250, bf) 214.33/146.01 new_sr5(:%(vyv1840, vyv1841), bd) -> new_reduce2Reduce1(vyv1840, vyv1840, vyv1841, vyv1841, new_esEs0(vyv1841, bd), bd) 214.33/146.01 new_esEs0(vyv1841, ty_Int) -> new_esEs(new_sr7(vyv1841)) 214.33/146.01 new_esEs0(vyv1841, ty_Integer) -> new_esEs1(new_sr6(vyv1841)) 214.33/146.01 new_reduce2Reduce1(vyv265, vyv266, vyv267, vyv268, False, bh) -> :%(new_quot0(vyv265, vyv266, vyv267, vyv268, bh), new_quot1(vyv267, vyv268, vyv265, vyv266, bh)) 214.33/146.01 new_reduce2Reduce1(vyv265, vyv266, vyv267, vyv268, True, bh) -> error([]) 214.33/146.01 new_quot0(vyv265, vyv266, vyv267, vyv268, ty_Integer) -> new_quot2(new_sr9(vyv265, vyv266), new_sr9(vyv265, vyv266), new_sr9(vyv267, vyv268)) 214.33/146.01 new_quot0(vyv265, vyv266, vyv267, vyv268, ty_Int) -> new_quot(new_sr10(vyv265, vyv266), new_sr10(vyv265, vyv266), new_sr10(vyv267, vyv268)) 214.33/146.01 new_quot1(vyv267, vyv268, vyv265, vyv266, ty_Int) -> new_quot(new_sr10(vyv267, vyv268), new_sr10(vyv265, vyv266), new_sr10(vyv267, vyv268)) 214.33/146.01 new_quot1(vyv267, vyv268, vyv265, vyv266, ty_Integer) -> new_quot2(new_sr9(vyv267, vyv268), new_sr9(vyv265, vyv266), new_sr9(vyv267, vyv268)) 214.33/146.01 new_sr9(vyv240, vyv239) -> error([]) 214.33/146.01 new_quot2(vyv274, vyv276, vyv275) -> error([]) 214.33/146.01 new_sr10(Pos(vyv2400), Pos(vyv2390)) -> Pos(new_primMulNat0(vyv2400, vyv2390)) 214.33/146.01 new_sr10(Neg(vyv2400), Neg(vyv2390)) -> Pos(new_primMulNat0(vyv2400, vyv2390)) 214.33/146.01 new_sr10(Pos(vyv2400), Neg(vyv2390)) -> Neg(new_primMulNat0(vyv2400, vyv2390)) 214.33/146.01 new_sr10(Neg(vyv2400), Pos(vyv2390)) -> Neg(new_primMulNat0(vyv2400, vyv2390)) 214.33/146.01 new_quot(Pos(vyv2710), vyv273, vyv272) -> new_primQuotInt(vyv2710, new_gcd(vyv273, vyv272)) 214.33/146.01 new_quot(Neg(vyv2710), vyv273, vyv272) -> new_primQuotInt0(vyv2710, new_gcd(vyv273, vyv272)) 214.33/146.01 new_gcd(vyv273, vyv272) -> new_gcd2(new_esEs(vyv273), vyv273, vyv272) 214.33/146.01 new_primQuotInt0(vyv2710, Pos(Succ(vyv28800))) -> Neg(new_primDivNatS1(vyv2710, vyv28800)) 214.33/146.01 new_primQuotInt0(vyv2710, Neg(Zero)) -> new_error 214.33/146.01 new_primQuotInt0(vyv2710, Neg(Succ(vyv28800))) -> Pos(new_primDivNatS1(vyv2710, vyv28800)) 214.33/146.01 new_primQuotInt0(vyv2710, Pos(Zero)) -> new_error 214.33/146.01 new_error -> error([]) 214.33/146.01 new_primDivNatS1(Succ(Zero), Succ(vyv285000)) -> Zero 214.33/146.01 new_primDivNatS1(Succ(Succ(vyv271000)), Succ(vyv285000)) -> new_primDivNatS01(vyv271000, vyv285000, vyv271000, vyv285000) 214.33/146.01 new_primDivNatS1(Zero, vyv28500) -> Zero 214.33/146.01 new_primDivNatS1(Succ(Succ(vyv271000)), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS0(vyv271000), Zero)) 214.33/146.01 new_primDivNatS1(Succ(Zero), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS1, Zero)) 214.33/146.01 new_primMinusNatS1 -> Zero 214.33/146.01 new_primMinusNatS0(vyv271000) -> Succ(vyv271000) 214.33/146.01 new_primDivNatS01(vyv311, vyv312, Succ(vyv3130), Zero) -> new_primDivNatS02(vyv311, vyv312) 214.33/146.01 new_primDivNatS01(vyv311, vyv312, Zero, Succ(vyv3140)) -> Zero 214.33/146.01 new_primDivNatS01(vyv311, vyv312, Succ(vyv3130), Succ(vyv3140)) -> new_primDivNatS01(vyv311, vyv312, vyv3130, vyv3140) 214.33/146.01 new_primDivNatS01(vyv311, vyv312, Zero, Zero) -> new_primDivNatS02(vyv311, vyv312) 214.33/146.01 new_primDivNatS02(vyv311, vyv312) -> Succ(new_primDivNatS1(new_primMinusNatS2(vyv311, vyv312), Succ(vyv312))) 214.33/146.01 new_primMinusNatS2(Zero, Succ(vyv3120)) -> Zero 214.33/146.01 new_primMinusNatS2(Succ(vyv3110), Zero) -> Succ(vyv3110) 214.33/146.01 new_primMinusNatS2(Zero, Zero) -> Zero 214.33/146.01 new_primMinusNatS2(Succ(vyv3110), Succ(vyv3120)) -> new_primMinusNatS2(vyv3110, vyv3120) 214.33/146.01 new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) 214.33/146.01 new_esEs(Pos(Succ(vyv24300))) -> new_primEqInt(Pos(Succ(vyv24300))) 214.33/146.01 new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) 214.33/146.01 new_esEs(Neg(Succ(vyv24300))) -> new_primEqInt(Neg(Succ(vyv24300))) 214.33/146.01 new_gcd2(True, vyv273, vyv272) -> new_gcd1(new_esEs(vyv272), vyv273, vyv272) 214.33/146.01 new_gcd2(False, vyv273, vyv272) -> new_gcd0(vyv273, vyv272) 214.33/146.01 new_gcd0(vyv273, vyv272) -> new_gcd0Gcd'11(new_esEs(new_abs(vyv272)), vyv273, vyv272) 214.33/146.01 new_abs(Neg(Zero)) -> Neg(Zero) 214.33/146.01 new_abs(Neg(Succ(vyv27200))) -> Pos(Succ(vyv27200)) 214.33/146.01 new_abs(Pos(Succ(vyv27200))) -> Pos(Succ(vyv27200)) 214.33/146.01 new_abs(Pos(Zero)) -> Pos(Zero) 214.33/146.01 new_gcd0Gcd'11(True, vyv273, vyv272) -> new_abs(vyv273) 214.33/146.01 new_gcd0Gcd'11(False, vyv273, vyv272) -> new_gcd0Gcd'00(new_abs(vyv273), new_abs(vyv272)) 214.33/146.01 new_gcd0Gcd'00(vyv293, vyv292) -> new_gcd0Gcd'10(new_esEs(new_rem(vyv293, vyv292)), vyv292, vyv293) 214.33/146.01 new_gcd0Gcd'10(False, vyv292, vyv293) -> new_gcd0Gcd'00(vyv292, new_rem(vyv293, vyv292)) 214.33/146.01 new_rem(Pos(vyv2930), Neg(Zero)) -> new_error 214.33/146.01 new_rem(Neg(vyv2930), Pos(Zero)) -> new_error 214.33/146.01 new_rem(Pos(vyv2930), Neg(Succ(vyv29200))) -> Pos(new_primModNatS1(vyv2930, vyv29200)) 214.33/146.01 new_rem(Neg(vyv2930), Pos(Succ(vyv29200))) -> Neg(new_primModNatS1(vyv2930, vyv29200)) 214.33/146.01 new_rem(Pos(vyv2930), Pos(Succ(vyv29200))) -> Pos(new_primModNatS1(vyv2930, vyv29200)) 214.33/146.01 new_rem(Neg(vyv2930), Neg(Zero)) -> new_error 214.33/146.01 new_rem(Neg(vyv2930), Neg(Succ(vyv29200))) -> Neg(new_primModNatS1(vyv2930, vyv29200)) 214.33/146.01 new_rem(Pos(vyv2930), Pos(Zero)) -> new_error 214.33/146.01 new_gcd0Gcd'10(True, vyv292, vyv293) -> vyv292 214.33/146.01 new_primModNatS1(Succ(Zero), Succ(vyv292000)) -> Succ(Zero) 214.33/146.01 new_primModNatS1(Zero, vyv29200) -> Zero 214.33/146.01 new_primModNatS1(Succ(Succ(vyv293000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv293000), Zero) 214.33/146.01 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 214.33/146.01 new_primModNatS1(Succ(Succ(vyv293000)), Succ(vyv292000)) -> new_primModNatS01(vyv293000, vyv292000, vyv293000, vyv292000) 214.33/146.01 new_primModNatS01(vyv331, vyv332, Zero, Zero) -> new_primModNatS02(vyv331, vyv332) 214.33/146.01 new_primModNatS02(vyv331, vyv332) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv331), Succ(vyv332)), Succ(vyv332)) 214.33/146.01 new_primModNatS01(vyv331, vyv332, Succ(vyv3330), Zero) -> new_primModNatS02(vyv331, vyv332) 214.33/146.01 new_primModNatS01(vyv331, vyv332, Succ(vyv3330), Succ(vyv3340)) -> new_primModNatS01(vyv331, vyv332, vyv3330, vyv3340) 214.33/146.01 new_primModNatS01(vyv331, vyv332, Zero, Succ(vyv3340)) -> Succ(Succ(vyv331)) 214.33/146.01 new_gcd1(True, vyv273, vyv272) -> new_error 214.33/146.01 new_gcd1(False, vyv273, vyv272) -> new_gcd0(vyv273, vyv272) 214.33/146.01 new_primEqInt(Neg(Succ(vyv242000))) -> False 214.33/146.01 new_primEqInt(Pos(Zero)) -> True 214.33/146.01 new_primEqInt(Pos(Succ(vyv242000))) -> False 214.33/146.01 new_primEqInt(Neg(Zero)) -> True 214.33/146.01 new_primQuotInt(vyv2710, Pos(Succ(vyv28500))) -> Pos(new_primDivNatS1(vyv2710, vyv28500)) 214.33/146.01 new_primQuotInt(vyv2710, Neg(Zero)) -> new_error 214.33/146.01 new_primQuotInt(vyv2710, Pos(Zero)) -> new_error 214.33/146.01 new_primQuotInt(vyv2710, Neg(Succ(vyv28500))) -> Neg(new_primDivNatS1(vyv2710, vyv28500)) 214.33/146.01 new_primMulNat0(Zero, Succ(vyv23900)) -> Zero 214.33/146.01 new_primMulNat0(Succ(vyv24000), Succ(vyv23900)) -> new_primPlusNat0(new_primMulNat0(vyv24000, Succ(vyv23900)), Succ(vyv23900)) 214.33/146.01 new_primMulNat0(Succ(vyv24000), Zero) -> Zero 214.33/146.01 new_primMulNat0(Zero, Zero) -> Zero 214.33/146.01 new_primPlusNat0(Succ(vyv4000), Succ(vyv6000)) -> Succ(Succ(new_primPlusNat0(vyv4000, vyv6000))) 214.33/146.01 new_primPlusNat0(Zero, Succ(vyv6000)) -> Succ(vyv6000) 214.33/146.01 new_primPlusNat0(Zero, Zero) -> Zero 214.33/146.01 new_primPlusNat0(Succ(vyv4000), Zero) -> Succ(vyv4000) 214.33/146.01 new_sr6(vyv184) -> error([]) 214.33/146.01 new_esEs1(Integer(vyv2700)) -> new_primEqInt(vyv2700) 214.33/146.01 new_sr7(Pos(vyv1840)) -> Pos(new_primMulNat1(vyv1840)) 214.33/146.01 new_sr7(Neg(vyv1840)) -> Pos(new_primMulNat1(vyv1840)) 214.33/146.01 new_primMulNat1(Succ(vyv18400)) -> new_primPlusNat0(new_primMulNat2(vyv18400), Succ(vyv18400)) 214.33/146.01 new_primMulNat1(Zero) -> Zero 214.33/146.01 new_primMulNat2(Succ(vyv184000)) -> new_primPlusNat0(new_primMulNat3(vyv184000), Succ(Succ(vyv184000))) 214.33/146.01 new_primMulNat2(Zero) -> Zero 214.33/146.01 new_primMulNat3(Succ(vyv1840000)) -> new_primPlusNat0(new_primMulNat4(vyv1840000), Succ(Succ(Succ(vyv1840000)))) 214.33/146.01 new_primMulNat3(Zero) -> Zero 214.33/146.01 new_primMulNat4(Succ(vyv18400000)) -> new_primPlusNat0(new_primMulNat0(vyv18400000, Succ(Succ(Succ(Succ(vyv18400000))))), Succ(Succ(Succ(Succ(vyv18400000))))) 214.33/146.01 new_primMulNat4(Zero) -> Zero 214.33/146.01 new_sr12(vyv184) -> error([]) 214.33/146.01 new_sr11(vyv184) -> error([]) 214.33/146.01 new_sr4(vyv240, vyv239, app(ty_Ratio, be)) -> new_sr8(vyv240, vyv239, be) 214.33/146.01 new_sr4(vyv240, vyv239, ty_Float) -> new_sr14(vyv240, vyv239) 214.33/146.01 new_sr4(vyv240, vyv239, ty_Int) -> new_sr10(vyv240, vyv239) 214.33/146.01 new_sr4(vyv240, vyv239, ty_Double) -> new_sr13(vyv240, vyv239) 214.33/146.01 new_sr4(vyv240, vyv239, ty_Integer) -> new_sr9(vyv240, vyv239) 214.33/146.01 new_sr13(vyv240, vyv239) -> error([]) 214.33/146.01 new_sr14(vyv240, vyv239) -> error([]) 214.33/146.01 new_sr8(:%(vyv2400, vyv2401), :%(vyv2390, vyv2391), be) -> new_reduce2Reduce1(vyv2400, vyv2390, vyv2401, vyv2391, new_esEs2(vyv2401, vyv2391, be), be) 214.33/146.01 new_esEs2(vyv2401, vyv2391, ty_Integer) -> new_esEs1(new_sr9(vyv2401, vyv2391)) 214.33/146.01 new_esEs2(vyv2401, vyv2391, ty_Int) -> new_esEs(new_sr10(vyv2401, vyv2391)) 214.33/146.01 214.33/146.01 The set Q consists of the following terms: 214.33/146.01 214.33/146.01 new_sr13(x0, x1) 214.33/146.01 new_primDivNatS01(x0, x1, Zero, Zero) 214.33/146.01 new_gcd0Gcd'11(False, x0, x1) 214.33/146.01 new_primMulNat4(Zero) 214.33/146.01 new_gcd0Gcd'11(True, x0, x1) 214.33/146.01 new_sr5(:%(x0, x1), x2) 214.33/146.01 new_primEqInt(Pos(Zero)) 214.33/146.01 new_esEs(Pos(Succ(x0))) 214.33/146.01 new_primQuotInt0(x0, Neg(Zero)) 214.33/146.01 new_primMulNat3(Zero) 214.33/146.01 new_primModNatS02(x0, x1) 214.33/146.01 new_primDivNatS1(Succ(Zero), Zero) 214.33/146.01 new_primMinusNatS0(x0) 214.33/146.01 new_sr11(x0) 214.33/146.01 new_rem(Pos(x0), Neg(Succ(x1))) 214.33/146.01 new_rem(Neg(x0), Pos(Succ(x1))) 214.33/146.01 new_primMulNat0(Zero, Zero) 214.33/146.01 new_primPlusNat0(Succ(x0), Zero) 214.33/146.01 new_primMulNat0(Succ(x0), Zero) 214.33/146.01 new_sr3(x0, ty_Float) 214.33/146.01 new_primMulNat2(Zero) 214.33/146.01 new_primQuotInt(x0, Pos(Zero)) 214.33/146.01 new_primMulNat2(Succ(x0)) 214.33/146.01 new_primQuotInt(x0, Neg(Zero)) 214.33/146.01 new_rem(Neg(x0), Neg(Succ(x1))) 214.33/146.01 new_primMinusNatS2(Zero, Succ(x0)) 214.33/146.01 new_sr4(x0, x1, ty_Double) 214.33/146.01 new_primMulNat3(Succ(x0)) 214.33/146.01 new_esEs1(Integer(x0)) 214.33/146.01 new_primQuotInt0(x0, Pos(Zero)) 214.33/146.01 new_gcd2(True, x0, x1) 214.33/146.01 new_quot1(x0, x1, x2, x3, ty_Int) 214.33/146.01 new_primDivNatS1(Zero, x0) 214.33/146.01 new_gcd(x0, x1) 214.33/146.01 new_gcd1(False, x0, x1) 214.33/146.01 new_esEs2(x0, x1, ty_Int) 214.33/146.01 new_sr3(x0, ty_Integer) 214.33/146.01 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 214.33/146.01 new_primPlusNat0(Zero, Succ(x0)) 214.33/146.01 new_sr8(:%(x0, x1), :%(x2, x3), x4) 214.33/146.01 new_abs(Neg(Zero)) 214.33/146.01 new_primMinusNatS2(Succ(x0), Zero) 214.33/146.01 new_error 214.33/146.01 new_primModNatS1(Succ(Zero), Zero) 214.33/146.01 new_primMulNat4(Succ(x0)) 214.33/146.01 new_primDivNatS02(x0, x1) 214.33/146.01 new_rem(Neg(x0), Neg(Zero)) 214.33/146.01 new_primEqInt(Neg(Zero)) 214.33/146.01 new_rem(Pos(x0), Pos(Succ(x1))) 214.33/146.01 new_abs(Pos(Succ(x0))) 214.33/146.01 new_primMulNat0(Succ(x0), Succ(x1)) 214.33/146.01 new_primMulNat0(Zero, Succ(x0)) 214.33/146.01 new_reduce2Reduce1(x0, x1, x2, x3, True, x4) 214.33/146.01 new_gcd0Gcd'10(False, x0, x1) 214.33/146.01 new_sr12(x0) 214.33/146.01 new_primDivNatS01(x0, x1, Zero, Succ(x2)) 214.33/146.01 new_sr10(Pos(x0), Pos(x1)) 214.33/146.01 new_primModNatS01(x0, x1, Zero, Succ(x2)) 214.33/146.01 new_primPlusNat0(Zero, Zero) 214.33/146.01 new_primQuotInt0(x0, Pos(Succ(x1))) 214.33/146.01 new_primModNatS01(x0, x1, Succ(x2), Zero) 214.33/146.01 new_primModNatS1(Succ(Succ(x0)), Zero) 214.33/146.01 new_sr4(x0, x1, ty_Integer) 214.33/146.01 new_rem(Pos(x0), Pos(Zero)) 214.33/146.01 new_sr4(x0, x1, ty_Int) 214.33/146.01 new_quot(Pos(x0), x1, x2) 214.33/146.01 new_primMinusNatS2(Zero, Zero) 214.33/146.01 new_esEs0(x0, ty_Int) 214.33/146.01 new_esEs(Pos(Zero)) 214.33/146.01 new_quot(Neg(x0), x1, x2) 214.33/146.01 new_primDivNatS01(x0, x1, Succ(x2), Succ(x3)) 214.33/146.01 new_quot2(x0, x1, x2) 214.33/146.01 new_primEqInt(Neg(Succ(x0))) 214.33/146.01 new_sr10(Neg(x0), Neg(x1)) 214.33/146.01 new_sr3(x0, app(ty_Ratio, x1)) 214.33/146.01 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 214.33/146.01 new_sr9(x0, x1) 214.33/146.01 new_sr7(Neg(x0)) 214.33/146.01 new_primQuotInt0(x0, Neg(Succ(x1))) 214.33/146.01 new_rem(Pos(x0), Neg(Zero)) 214.33/146.01 new_rem(Neg(x0), Pos(Zero)) 214.33/146.01 new_gcd0Gcd'00(x0, x1) 214.33/146.01 new_primQuotInt(x0, Neg(Succ(x1))) 214.33/146.01 new_primMinusNatS2(Succ(x0), Succ(x1)) 214.33/146.01 new_abs(Pos(Zero)) 214.33/146.01 new_quot0(x0, x1, x2, x3, ty_Integer) 214.33/146.01 new_sr6(x0) 214.33/146.01 new_gcd2(False, x0, x1) 214.33/146.01 new_gcd1(True, x0, x1) 214.33/146.01 new_esEs2(x0, x1, ty_Integer) 214.33/146.01 new_primMinusNatS1 214.33/146.01 new_sr7(Pos(x0)) 214.33/146.01 new_gcd0Gcd'10(True, x0, x1) 214.33/146.01 new_primModNatS1(Zero, x0) 214.33/146.01 new_sr4(x0, x1, ty_Float) 214.33/146.01 new_sr10(Pos(x0), Neg(x1)) 214.33/146.01 new_sr10(Neg(x0), Pos(x1)) 214.33/146.01 new_primDivNatS01(x0, x1, Succ(x2), Zero) 214.33/146.01 new_primDivNatS1(Succ(Succ(x0)), Succ(x1)) 214.33/146.01 new_primPlusNat0(Succ(x0), Succ(x1)) 214.33/146.01 new_primDivNatS1(Succ(Zero), Succ(x0)) 214.33/146.01 new_primQuotInt(x0, Pos(Succ(x1))) 214.33/146.01 new_abs(Neg(Succ(x0))) 214.33/146.01 new_esEs0(x0, ty_Integer) 214.33/146.01 new_sr3(x0, ty_Int) 214.33/146.01 new_esEs(Neg(Succ(x0))) 214.33/146.01 new_primModNatS01(x0, x1, Zero, Zero) 214.33/146.01 new_sr4(x0, x1, app(ty_Ratio, x2)) 214.33/146.01 new_gcd0(x0, x1) 214.33/146.01 new_primEqInt(Pos(Succ(x0))) 214.33/146.01 new_sr3(x0, ty_Double) 214.33/146.01 new_quot1(x0, x1, x2, x3, ty_Integer) 214.33/146.01 new_primDivNatS1(Succ(Succ(x0)), Zero) 214.33/146.01 new_primMulNat1(Succ(x0)) 214.33/146.01 new_sr14(x0, x1) 214.33/146.01 new_quot0(x0, x1, x2, x3, ty_Int) 214.33/146.01 new_primModNatS1(Succ(Zero), Succ(x0)) 214.33/146.01 new_reduce2Reduce1(x0, x1, x2, x3, False, x4) 214.33/146.01 new_esEs(Neg(Zero)) 214.33/146.01 new_primMulNat1(Zero) 214.33/146.01 new_new_pr2F0G10(Succ(Succ(x0))) 214.33/146.01 new_new_pr2F0G10(Succ(Zero)) 214.33/146.01 new_new_pr2F0G10(Zero) 214.33/146.01 214.33/146.01 We have to consider all minimal (P,Q,R)-chains. 214.33/146.01 ---------------------------------------- 214.33/146.01 214.33/146.01 (856) MNOCProof (EQUIVALENT) 214.33/146.01 We use the modular non-overlap check [FROCOS05] to decrease Q to the empty set. 214.33/146.01 ---------------------------------------- 214.33/146.01 214.33/146.01 (857) 214.33/146.01 Obligation: 214.33/146.01 Q DP problem: 214.33/146.01 The TRS P consists of the following rules: 214.33/146.01 214.33/146.01 new_pr2F0(vyv184, Neg(Succ(Succ(vyv223000))), vyv188, h) -> new_pr2F0G10(vyv188, vyv184, Succ(vyv223000), vyv223000, h) 214.33/146.01 new_pr2F0G10(vyv249, vyv250, vyv251, Succ(Zero), bb) -> new_pr2F0G11(vyv249, vyv250, vyv251, bb) 214.33/146.01 new_pr2F0G11(vyv239, vyv240, vyv241, bc) -> new_pr2F1(vyv240, vyv241, Pos(Succ(Zero)), vyv239, bc) 214.33/146.01 new_pr2F1(z1, z2, Pos(Succ(Zero)), z0, z3) -> new_pr2F30(False, z1, z2, Pos(Succ(Zero)), z0, z3) 214.33/146.01 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) 214.33/146.01 H(vyv249, vyv250, vyv251, bb, cons_new_pr2F0G10(Succ(Zero))) -> new_pr2F0G10(vyv249, vyv250, vyv251, Succ(Zero), bb) 214.33/146.01 H(vyv249, vyv250, vyv251, bb, cons_new_pr2F0G10(Zero)) -> new_pr2F0G10(vyv249, vyv250, vyv251, Zero, bb) 214.33/146.01 new_pr2F0G(vyv188, vyv184, Neg(Succ(Zero)), h) -> new_pr2F0G11(vyv188, vyv184, Zero, h) 214.33/146.01 new_pr2F0G(vyv188, vyv184, Neg(Succ(Succ(vyv223000))), h) -> new_pr2F0G10(vyv188, vyv184, Succ(vyv223000), vyv223000, h) 214.33/146.01 new_pr2F0G10(y0, y1, Succ(Zero), Zero, y3) -> new_pr2F0G(y0, new_sr3(y1, y3), Neg(Succ(Zero)), y3) 214.33/146.01 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))) 214.33/146.01 new_pr2F0(y0, Neg(Succ(Succ(Succ(Succ(Zero))))), y2, y3) -> H(y2, y0, Succ(Succ(Succ(Zero))), y3, cons_new_pr2F0G10(Zero)) 214.33/146.01 new_pr2F0G10(y0, y1, Succ(Succ(Zero)), Zero, y3) -> new_pr2F0G(y0, new_sr3(y1, y3), Neg(Succ(Zero)), y3) 214.33/146.01 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))) 214.33/146.01 new_pr2F0G(y0, y1, Neg(Succ(Succ(Succ(Succ(Zero))))), y3) -> H(y0, y1, Succ(Succ(Succ(Zero))), y3, cons_new_pr2F0G10(Zero)) 214.33/146.01 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))) 214.33/146.01 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)) 214.33/146.01 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) 214.33/146.01 new_pr2F0G10(y0, y1, Succ(Succ(Succ(Zero))), Zero, y3) -> new_pr2F0G(y0, new_sr3(y1, y3), Neg(Succ(Succ(Zero))), y3) 214.33/146.01 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))) 214.33/146.01 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)) 214.33/146.01 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)) 214.33/146.01 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))) 214.33/146.01 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)) 214.33/146.01 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)) 214.33/146.01 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))) 214.33/146.01 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)) 214.33/146.01 214.33/146.01 The TRS R consists of the following rules: 214.33/146.01 214.33/146.01 new_new_pr2F0G10(Succ(Succ(vyv25200))) -> new_new_pr2F0G10(vyv25200) 214.33/146.01 new_new_pr2F0G10(Succ(Zero)) -> cons_new_pr2F0G10(Succ(Zero)) 214.33/146.01 new_new_pr2F0G10(Zero) -> cons_new_pr2F0G10(Zero) 214.33/146.01 new_sr3(vyv250, ty_Double) -> new_sr11(vyv250) 214.33/146.01 new_sr3(vyv250, ty_Int) -> new_sr7(vyv250) 214.33/146.01 new_sr3(vyv250, ty_Float) -> new_sr12(vyv250) 214.33/146.01 new_sr3(vyv250, ty_Integer) -> new_sr6(vyv250) 214.33/146.01 new_sr3(vyv250, app(ty_Ratio, bf)) -> new_sr5(vyv250, bf) 214.33/146.01 new_sr5(:%(vyv1840, vyv1841), bd) -> new_reduce2Reduce1(vyv1840, vyv1840, vyv1841, vyv1841, new_esEs0(vyv1841, bd), bd) 214.33/146.01 new_esEs0(vyv1841, ty_Int) -> new_esEs(new_sr7(vyv1841)) 214.33/146.01 new_esEs0(vyv1841, ty_Integer) -> new_esEs1(new_sr6(vyv1841)) 214.33/146.01 new_reduce2Reduce1(vyv265, vyv266, vyv267, vyv268, False, bh) -> :%(new_quot0(vyv265, vyv266, vyv267, vyv268, bh), new_quot1(vyv267, vyv268, vyv265, vyv266, bh)) 214.33/146.01 new_reduce2Reduce1(vyv265, vyv266, vyv267, vyv268, True, bh) -> error([]) 214.33/146.01 new_quot0(vyv265, vyv266, vyv267, vyv268, ty_Integer) -> new_quot2(new_sr9(vyv265, vyv266), new_sr9(vyv265, vyv266), new_sr9(vyv267, vyv268)) 214.33/146.01 new_quot0(vyv265, vyv266, vyv267, vyv268, ty_Int) -> new_quot(new_sr10(vyv265, vyv266), new_sr10(vyv265, vyv266), new_sr10(vyv267, vyv268)) 214.33/146.01 new_quot1(vyv267, vyv268, vyv265, vyv266, ty_Int) -> new_quot(new_sr10(vyv267, vyv268), new_sr10(vyv265, vyv266), new_sr10(vyv267, vyv268)) 214.33/146.01 new_quot1(vyv267, vyv268, vyv265, vyv266, ty_Integer) -> new_quot2(new_sr9(vyv267, vyv268), new_sr9(vyv265, vyv266), new_sr9(vyv267, vyv268)) 214.33/146.01 new_sr9(vyv240, vyv239) -> error([]) 214.33/146.01 new_quot2(vyv274, vyv276, vyv275) -> error([]) 214.33/146.01 new_sr10(Pos(vyv2400), Pos(vyv2390)) -> Pos(new_primMulNat0(vyv2400, vyv2390)) 214.33/146.01 new_sr10(Neg(vyv2400), Neg(vyv2390)) -> Pos(new_primMulNat0(vyv2400, vyv2390)) 214.33/146.01 new_sr10(Pos(vyv2400), Neg(vyv2390)) -> Neg(new_primMulNat0(vyv2400, vyv2390)) 214.33/146.01 new_sr10(Neg(vyv2400), Pos(vyv2390)) -> Neg(new_primMulNat0(vyv2400, vyv2390)) 214.33/146.01 new_quot(Pos(vyv2710), vyv273, vyv272) -> new_primQuotInt(vyv2710, new_gcd(vyv273, vyv272)) 214.33/146.01 new_quot(Neg(vyv2710), vyv273, vyv272) -> new_primQuotInt0(vyv2710, new_gcd(vyv273, vyv272)) 214.33/146.01 new_gcd(vyv273, vyv272) -> new_gcd2(new_esEs(vyv273), vyv273, vyv272) 214.33/146.01 new_primQuotInt0(vyv2710, Pos(Succ(vyv28800))) -> Neg(new_primDivNatS1(vyv2710, vyv28800)) 214.33/146.01 new_primQuotInt0(vyv2710, Neg(Zero)) -> new_error 214.33/146.01 new_primQuotInt0(vyv2710, Neg(Succ(vyv28800))) -> Pos(new_primDivNatS1(vyv2710, vyv28800)) 214.33/146.01 new_primQuotInt0(vyv2710, Pos(Zero)) -> new_error 214.33/146.01 new_error -> error([]) 214.33/146.01 new_primDivNatS1(Succ(Zero), Succ(vyv285000)) -> Zero 214.33/146.01 new_primDivNatS1(Succ(Succ(vyv271000)), Succ(vyv285000)) -> new_primDivNatS01(vyv271000, vyv285000, vyv271000, vyv285000) 214.33/146.01 new_primDivNatS1(Zero, vyv28500) -> Zero 214.33/146.01 new_primDivNatS1(Succ(Succ(vyv271000)), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS0(vyv271000), Zero)) 214.33/146.01 new_primDivNatS1(Succ(Zero), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS1, Zero)) 214.33/146.01 new_primMinusNatS1 -> Zero 214.33/146.01 new_primMinusNatS0(vyv271000) -> Succ(vyv271000) 214.33/146.01 new_primDivNatS01(vyv311, vyv312, Succ(vyv3130), Zero) -> new_primDivNatS02(vyv311, vyv312) 214.33/146.01 new_primDivNatS01(vyv311, vyv312, Zero, Succ(vyv3140)) -> Zero 214.33/146.01 new_primDivNatS01(vyv311, vyv312, Succ(vyv3130), Succ(vyv3140)) -> new_primDivNatS01(vyv311, vyv312, vyv3130, vyv3140) 214.33/146.01 new_primDivNatS01(vyv311, vyv312, Zero, Zero) -> new_primDivNatS02(vyv311, vyv312) 214.33/146.01 new_primDivNatS02(vyv311, vyv312) -> Succ(new_primDivNatS1(new_primMinusNatS2(vyv311, vyv312), Succ(vyv312))) 214.33/146.01 new_primMinusNatS2(Zero, Succ(vyv3120)) -> Zero 214.33/146.01 new_primMinusNatS2(Succ(vyv3110), Zero) -> Succ(vyv3110) 214.33/146.01 new_primMinusNatS2(Zero, Zero) -> Zero 214.33/146.01 new_primMinusNatS2(Succ(vyv3110), Succ(vyv3120)) -> new_primMinusNatS2(vyv3110, vyv3120) 214.33/146.01 new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) 214.33/146.01 new_esEs(Pos(Succ(vyv24300))) -> new_primEqInt(Pos(Succ(vyv24300))) 214.33/146.01 new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) 214.33/146.01 new_esEs(Neg(Succ(vyv24300))) -> new_primEqInt(Neg(Succ(vyv24300))) 214.33/146.01 new_gcd2(True, vyv273, vyv272) -> new_gcd1(new_esEs(vyv272), vyv273, vyv272) 214.33/146.01 new_gcd2(False, vyv273, vyv272) -> new_gcd0(vyv273, vyv272) 214.33/146.01 new_gcd0(vyv273, vyv272) -> new_gcd0Gcd'11(new_esEs(new_abs(vyv272)), vyv273, vyv272) 214.33/146.01 new_abs(Neg(Zero)) -> Neg(Zero) 214.33/146.01 new_abs(Neg(Succ(vyv27200))) -> Pos(Succ(vyv27200)) 214.33/146.01 new_abs(Pos(Succ(vyv27200))) -> Pos(Succ(vyv27200)) 214.33/146.01 new_abs(Pos(Zero)) -> Pos(Zero) 214.33/146.01 new_gcd0Gcd'11(True, vyv273, vyv272) -> new_abs(vyv273) 214.33/146.01 new_gcd0Gcd'11(False, vyv273, vyv272) -> new_gcd0Gcd'00(new_abs(vyv273), new_abs(vyv272)) 214.33/146.01 new_gcd0Gcd'00(vyv293, vyv292) -> new_gcd0Gcd'10(new_esEs(new_rem(vyv293, vyv292)), vyv292, vyv293) 214.33/146.01 new_gcd0Gcd'10(False, vyv292, vyv293) -> new_gcd0Gcd'00(vyv292, new_rem(vyv293, vyv292)) 214.33/146.01 new_rem(Pos(vyv2930), Neg(Zero)) -> new_error 214.33/146.01 new_rem(Neg(vyv2930), Pos(Zero)) -> new_error 214.33/146.01 new_rem(Pos(vyv2930), Neg(Succ(vyv29200))) -> Pos(new_primModNatS1(vyv2930, vyv29200)) 214.33/146.01 new_rem(Neg(vyv2930), Pos(Succ(vyv29200))) -> Neg(new_primModNatS1(vyv2930, vyv29200)) 214.33/146.01 new_rem(Pos(vyv2930), Pos(Succ(vyv29200))) -> Pos(new_primModNatS1(vyv2930, vyv29200)) 214.33/146.01 new_rem(Neg(vyv2930), Neg(Zero)) -> new_error 214.33/146.01 new_rem(Neg(vyv2930), Neg(Succ(vyv29200))) -> Neg(new_primModNatS1(vyv2930, vyv29200)) 214.33/146.01 new_rem(Pos(vyv2930), Pos(Zero)) -> new_error 214.33/146.01 new_gcd0Gcd'10(True, vyv292, vyv293) -> vyv292 214.33/146.01 new_primModNatS1(Succ(Zero), Succ(vyv292000)) -> Succ(Zero) 214.33/146.01 new_primModNatS1(Zero, vyv29200) -> Zero 214.33/146.01 new_primModNatS1(Succ(Succ(vyv293000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv293000), Zero) 214.33/146.01 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 214.33/146.01 new_primModNatS1(Succ(Succ(vyv293000)), Succ(vyv292000)) -> new_primModNatS01(vyv293000, vyv292000, vyv293000, vyv292000) 214.33/146.01 new_primModNatS01(vyv331, vyv332, Zero, Zero) -> new_primModNatS02(vyv331, vyv332) 214.33/146.01 new_primModNatS02(vyv331, vyv332) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv331), Succ(vyv332)), Succ(vyv332)) 214.33/146.01 new_primModNatS01(vyv331, vyv332, Succ(vyv3330), Zero) -> new_primModNatS02(vyv331, vyv332) 214.33/146.01 new_primModNatS01(vyv331, vyv332, Succ(vyv3330), Succ(vyv3340)) -> new_primModNatS01(vyv331, vyv332, vyv3330, vyv3340) 214.33/146.01 new_primModNatS01(vyv331, vyv332, Zero, Succ(vyv3340)) -> Succ(Succ(vyv331)) 214.33/146.01 new_gcd1(True, vyv273, vyv272) -> new_error 214.33/146.01 new_gcd1(False, vyv273, vyv272) -> new_gcd0(vyv273, vyv272) 214.33/146.01 new_primEqInt(Neg(Succ(vyv242000))) -> False 214.33/146.01 new_primEqInt(Pos(Zero)) -> True 214.33/146.01 new_primEqInt(Pos(Succ(vyv242000))) -> False 214.33/146.01 new_primEqInt(Neg(Zero)) -> True 214.33/146.01 new_primQuotInt(vyv2710, Pos(Succ(vyv28500))) -> Pos(new_primDivNatS1(vyv2710, vyv28500)) 214.33/146.01 new_primQuotInt(vyv2710, Neg(Zero)) -> new_error 214.33/146.01 new_primQuotInt(vyv2710, Pos(Zero)) -> new_error 214.33/146.01 new_primQuotInt(vyv2710, Neg(Succ(vyv28500))) -> Neg(new_primDivNatS1(vyv2710, vyv28500)) 214.33/146.01 new_primMulNat0(Zero, Succ(vyv23900)) -> Zero 214.33/146.01 new_primMulNat0(Succ(vyv24000), Succ(vyv23900)) -> new_primPlusNat0(new_primMulNat0(vyv24000, Succ(vyv23900)), Succ(vyv23900)) 214.33/146.01 new_primMulNat0(Succ(vyv24000), Zero) -> Zero 214.33/146.01 new_primMulNat0(Zero, Zero) -> Zero 214.33/146.01 new_primPlusNat0(Succ(vyv4000), Succ(vyv6000)) -> Succ(Succ(new_primPlusNat0(vyv4000, vyv6000))) 214.33/146.01 new_primPlusNat0(Zero, Succ(vyv6000)) -> Succ(vyv6000) 214.33/146.01 new_primPlusNat0(Zero, Zero) -> Zero 214.33/146.01 new_primPlusNat0(Succ(vyv4000), Zero) -> Succ(vyv4000) 214.33/146.01 new_sr6(vyv184) -> error([]) 214.33/146.01 new_esEs1(Integer(vyv2700)) -> new_primEqInt(vyv2700) 214.33/146.01 new_sr7(Pos(vyv1840)) -> Pos(new_primMulNat1(vyv1840)) 214.33/146.01 new_sr7(Neg(vyv1840)) -> Pos(new_primMulNat1(vyv1840)) 214.33/146.01 new_primMulNat1(Succ(vyv18400)) -> new_primPlusNat0(new_primMulNat2(vyv18400), Succ(vyv18400)) 214.33/146.01 new_primMulNat1(Zero) -> Zero 214.33/146.01 new_primMulNat2(Succ(vyv184000)) -> new_primPlusNat0(new_primMulNat3(vyv184000), Succ(Succ(vyv184000))) 214.33/146.01 new_primMulNat2(Zero) -> Zero 214.33/146.01 new_primMulNat3(Succ(vyv1840000)) -> new_primPlusNat0(new_primMulNat4(vyv1840000), Succ(Succ(Succ(vyv1840000)))) 214.33/146.01 new_primMulNat3(Zero) -> Zero 214.33/146.01 new_primMulNat4(Succ(vyv18400000)) -> new_primPlusNat0(new_primMulNat0(vyv18400000, Succ(Succ(Succ(Succ(vyv18400000))))), Succ(Succ(Succ(Succ(vyv18400000))))) 214.33/146.01 new_primMulNat4(Zero) -> Zero 214.33/146.01 new_sr12(vyv184) -> error([]) 214.33/146.01 new_sr11(vyv184) -> error([]) 214.33/146.01 new_sr4(vyv240, vyv239, app(ty_Ratio, be)) -> new_sr8(vyv240, vyv239, be) 214.33/146.01 new_sr4(vyv240, vyv239, ty_Float) -> new_sr14(vyv240, vyv239) 214.33/146.01 new_sr4(vyv240, vyv239, ty_Int) -> new_sr10(vyv240, vyv239) 214.33/146.01 new_sr4(vyv240, vyv239, ty_Double) -> new_sr13(vyv240, vyv239) 214.33/146.01 new_sr4(vyv240, vyv239, ty_Integer) -> new_sr9(vyv240, vyv239) 214.33/146.01 new_sr13(vyv240, vyv239) -> error([]) 214.33/146.01 new_sr14(vyv240, vyv239) -> error([]) 214.33/146.01 new_sr8(:%(vyv2400, vyv2401), :%(vyv2390, vyv2391), be) -> new_reduce2Reduce1(vyv2400, vyv2390, vyv2401, vyv2391, new_esEs2(vyv2401, vyv2391, be), be) 214.33/146.01 new_esEs2(vyv2401, vyv2391, ty_Integer) -> new_esEs1(new_sr9(vyv2401, vyv2391)) 214.33/146.01 new_esEs2(vyv2401, vyv2391, ty_Int) -> new_esEs(new_sr10(vyv2401, vyv2391)) 214.33/146.01 214.33/146.01 Q is empty. 214.33/146.01 We have to consider all (P,Q,R)-chains. 214.33/146.01 ---------------------------------------- 214.33/146.01 214.33/146.01 (858) InductionCalculusProof (EQUIVALENT) 214.33/146.01 Note that final constraints are written in bold face. 214.33/146.01 214.33/146.01 214.33/146.01 214.33/146.01 For Pair new_pr2F0(vyv184, Neg(Succ(Succ(vyv223000))), vyv188, h) -> new_pr2F0G10(vyv188, vyv184, Succ(vyv223000), vyv223000, h) the following chains were created: 214.33/146.01 *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: 214.33/146.01 214.33/146.01 (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)) 214.33/146.01 214.33/146.01 214.33/146.01 214.33/146.01 We simplified constraint (1) using rules (I), (II), (III), (IV) which results in the following new constraint: 214.33/146.01 214.33/146.01 (2) (new_pr2F0(x4, Neg(Succ(Succ(Succ(Zero)))), x6, x7)_>=_new_pr2F0G10(x6, x4, Succ(Succ(Zero)), Succ(Zero), x7)) 214.33/146.01 214.33/146.01 214.33/146.01 214.33/146.01 214.33/146.01 *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: 214.33/146.01 214.33/146.01 (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)) 214.33/146.01 214.33/146.01 214.33/146.01 214.33/146.01 We simplified constraint (1) using rules (I), (II), (III), (IV) which results in the following new constraint: 214.33/146.01 214.33/146.01 (2) (new_pr2F0(x40, Neg(Succ(Succ(Zero))), x42, x43)_>=_new_pr2F0G10(x42, x40, Succ(Zero), Zero, x43)) 214.33/146.01 214.33/146.01 214.33/146.01 214.33/146.01 214.33/146.01 214.33/146.01 214.33/146.01 214.33/146.01 214.33/146.01 For Pair new_pr2F0G10(vyv249, vyv250, vyv251, Succ(Zero), bb) -> new_pr2F0G11(vyv249, vyv250, vyv251, bb) the following chains were created: 214.33/146.01 *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: 214.33/146.01 214.33/146.01 (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)) 214.33/146.01 214.33/146.01 214.33/146.01 214.33/146.01 We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: 214.33/146.02 214.33/146.02 (2) (new_pr2F0G10(x123, x124, x125, Succ(Zero), x126)_>=_new_pr2F0G11(x123, x124, x125, x126)) 214.33/146.02 214.33/146.02 214.33/146.02 214.33/146.02 214.33/146.02 214.33/146.02 214.33/146.02 214.33/146.02 214.33/146.02 For Pair new_pr2F0G11(vyv239, vyv240, vyv241, bc) -> new_pr2F1(vyv240, vyv241, Pos(Succ(Zero)), vyv239, bc) the following chains were created: 214.33/146.02 *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: 214.33/146.02 214.33/146.02 (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)) 214.33/146.02 214.33/146.02 214.33/146.02 214.33/146.02 We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: 214.33/146.02 214.33/146.02 (2) (new_pr2F0G11(x239, x240, x241, x242)_>=_new_pr2F1(x240, x241, Pos(Succ(Zero)), x239, x242)) 214.33/146.02 214.33/146.02 214.33/146.02 214.33/146.02 214.33/146.02 214.33/146.02 214.33/146.02 214.33/146.02 214.33/146.02 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: 214.33/146.02 *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: 214.33/146.02 214.33/146.02 (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)) 214.33/146.02 214.33/146.02 214.33/146.02 214.33/146.02 We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: 214.33/146.02 214.33/146.02 (2) (new_pr2F1(x355, x356, Pos(Succ(Zero)), x357, x358)_>=_new_pr2F30(False, x355, x356, Pos(Succ(Zero)), x357, x358)) 214.33/146.02 214.33/146.02 214.33/146.02 214.33/146.02 214.33/146.02 214.33/146.02 214.33/146.02 214.33/146.02 214.33/146.02 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: 214.33/146.02 *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: 214.33/146.02 214.33/146.02 (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)) 214.33/146.02 214.33/146.02 214.33/146.02 214.33/146.02 We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: 214.33/146.02 214.33/146.02 (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)) 214.33/146.02 214.33/146.02 214.33/146.02 214.33/146.02 214.33/146.02 *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: 214.33/146.02 214.33/146.02 (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)) 214.33/146.02 214.33/146.02 214.33/146.02 214.33/146.02 We simplified constraint (1) using rules (I), (II), (IV), (VII) which results in the following new constraint: 214.33/146.02 214.33/146.02 (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)) 214.33/146.02 214.33/146.02 214.33/146.02 214.33/146.02 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: 214.33/146.02 214.33/146.02 (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)) 214.33/146.02 214.33/146.02 (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)) 214.33/146.02 214.33/146.02 (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)) 214.33/146.02 214.33/146.02 214.33/146.02 214.33/146.02 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: 214.33/146.02 214.33/146.02 (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)) 214.33/146.02 214.33/146.02 214.33/146.02 214.33/146.02 214.33/146.02 *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: 214.33/146.02 214.33/146.02 (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)) 214.33/146.02 214.33/146.02 214.33/146.02 214.33/146.02 We simplified constraint (1) using rules (I), (II), (IV), (VII) which results in the following new constraint: 214.33/146.02 214.33/146.02 (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)) 214.33/146.02 214.33/146.02 214.33/146.02 214.33/146.02 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: 214.33/146.02 214.33/146.02 (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)) 214.33/146.02 214.33/146.02 (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)) 214.33/146.02 214.33/146.02 (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)) 214.33/146.02 214.33/146.02 214.33/146.02 214.33/146.02 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: 214.33/146.02 214.33/146.02 (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)) 214.33/146.02 214.33/146.02 214.33/146.02 214.33/146.02 214.33/146.02 *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: 214.33/146.02 214.33/146.02 (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)) 214.33/146.02 214.33/146.02 214.33/146.02 214.33/146.02 We simplified constraint (1) using rules (I), (II), (IV), (VII) which results in the following new constraint: 214.33/146.02 214.33/146.02 (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)) 214.33/146.02 214.33/146.02 214.33/146.02 214.33/146.02 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: 214.33/146.02 214.33/146.02 (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)) 214.33/146.02 214.33/146.02 (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)) 214.33/146.02 214.33/146.02 (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)) 214.33/146.02 214.33/146.02 214.33/146.02 214.33/146.02 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: 214.33/146.02 214.33/146.02 (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)) 214.33/146.02 214.33/146.02 214.33/146.02 214.33/146.02 214.33/146.02 *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: 214.33/146.02 214.33/146.02 (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)) 214.33/146.02 214.33/146.02 214.33/146.02 214.33/146.02 We simplified constraint (1) using rules (I), (II), (IV), (VII) which results in the following new constraint: 214.33/146.02 214.33/146.02 (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)) 214.33/146.02 214.33/146.02 214.33/146.02 214.33/146.02 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: 214.33/146.02 214.33/146.02 (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)) 214.33/146.02 214.33/146.02 (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)) 214.33/146.02 214.33/146.02 (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)) 214.33/146.02 214.33/146.02 214.33/146.02 214.33/146.02 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: 214.33/146.02 214.33/146.02 (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)) 214.33/146.02 214.33/146.02 214.33/146.02 214.33/146.02 214.33/146.02 *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: 214.33/146.02 214.33/146.02 (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)) 214.33/146.02 214.33/146.02 214.33/146.02 214.33/146.02 We simplified constraint (1) using rules (I), (II), (IV), (VII) which results in the following new constraint: 214.33/146.02 214.33/146.02 (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)) 214.33/146.02 214.33/146.02 214.33/146.02 214.33/146.02 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: 214.33/146.02 214.33/146.02 (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)) 214.33/146.02 214.33/146.02 (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)) 214.33/146.02 214.33/146.02 (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)) 214.33/146.02 214.33/146.02 214.33/146.02 214.33/146.02 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: 214.33/146.02 214.33/146.02 (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)) 214.33/146.02 214.33/146.02 214.33/146.02 214.33/146.02 214.33/146.02 *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: 214.33/146.02 214.33/146.02 (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)) 214.33/146.02 214.33/146.02 214.33/146.02 214.33/146.02 We simplified constraint (1) using rules (I), (II), (IV), (VII) which results in the following new constraint: 214.33/146.02 214.33/146.02 (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)) 214.33/146.02 214.33/146.02 214.33/146.02 214.33/146.02 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: 214.33/146.02 214.33/146.02 (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)) 214.33/146.02 214.33/146.02 (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)) 214.33/146.02 214.33/146.02 (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)) 214.33/146.02 214.33/146.02 214.33/146.02 214.33/146.02 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: 214.33/146.02 214.33/146.02 (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)) 214.33/146.02 214.33/146.02 214.33/146.02 214.33/146.02 214.33/146.02 *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: 214.33/146.02 214.33/146.02 (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)) 214.33/146.02 214.33/146.02 214.33/146.02 214.33/146.02 We simplified constraint (1) using rules (I), (II), (IV), (VII) which results in the following new constraint: 214.33/146.02 214.33/146.02 (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)) 214.33/146.02 214.33/146.02 214.33/146.02 214.33/146.02 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: 214.33/146.02 214.33/146.02 (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)) 214.33/146.02 214.33/146.02 (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)) 214.33/146.02 214.33/146.02 (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)) 214.33/146.02 214.33/146.02 214.33/146.02 214.33/146.02 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: 214.33/146.02 214.33/146.02 (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)) 214.33/146.02 214.33/146.02 214.33/146.02 214.33/146.02 214.33/146.02 214.33/146.02 214.33/146.02 214.33/146.02 214.33/146.02 For Pair H(vyv249, vyv250, vyv251, bb, cons_new_pr2F0G10(Succ(Zero))) -> new_pr2F0G10(vyv249, vyv250, vyv251, Succ(Zero), bb) the following chains were created: 214.33/146.02 *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: 214.33/146.02 214.33/146.02 (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)) 214.33/146.02 214.33/146.02 214.33/146.02 214.33/146.02 We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: 214.33/146.02 214.33/146.02 (2) (H(x589, x590, x591, x592, cons_new_pr2F0G10(Succ(Zero)))_>=_new_pr2F0G10(x589, x590, x591, Succ(Zero), x592)) 214.33/146.02 214.33/146.02 214.33/146.02 214.33/146.02 214.33/146.02 214.33/146.02 214.33/146.02 214.33/146.02 214.33/146.02 For Pair H(vyv249, vyv250, vyv251, bb, cons_new_pr2F0G10(Zero)) -> new_pr2F0G10(vyv249, vyv250, vyv251, Zero, bb) the following chains were created: 214.33/146.02 *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: 214.33/146.02 214.33/146.02 (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)) 214.33/146.02 214.33/146.02 214.33/146.02 214.33/146.02 We simplified constraint (1) using rules (I), (II), (III), (IV) which results in the following new constraint: 214.33/146.02 214.33/146.02 (2) (H(x733, x734, Succ(Zero), x736, cons_new_pr2F0G10(Zero))_>=_new_pr2F0G10(x733, x734, Succ(Zero), Zero, x736)) 214.33/146.02 214.33/146.02 214.33/146.02 214.33/146.02 214.33/146.02 *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: 214.33/146.02 214.33/146.02 (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)) 214.33/146.02 214.33/146.02 214.33/146.02 214.33/146.02 We simplified constraint (1) using rules (I), (II), (III), (IV) which results in the following new constraint: 214.33/146.02 214.33/146.02 (2) (H(x748, x749, Succ(Succ(Zero)), x751, cons_new_pr2F0G10(Zero))_>=_new_pr2F0G10(x748, x749, Succ(Succ(Zero)), Zero, x751)) 214.33/146.02 214.33/146.02 214.33/146.02 214.33/146.02 214.33/146.02 *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: 214.33/146.02 214.33/146.02 (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)) 214.33/146.02 214.33/146.02 214.33/146.02 214.33/146.02 We simplified constraint (1) using rules (I), (II), (III), (IV) which results in the following new constraint: 214.33/146.02 214.33/146.02 (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)) 214.33/146.02 214.33/146.02 214.33/146.02 214.33/146.02 214.33/146.02 *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: 214.33/146.02 214.33/146.02 (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)) 214.33/146.02 214.33/146.02 214.33/146.02 214.33/146.02 We simplified constraint (1) using rules (I), (II), (III), (IV) which results in the following new constraint: 214.33/146.02 214.33/146.02 (2) (H(x779, x780, Succ(Succ(Succ(Zero))), x782, cons_new_pr2F0G10(Zero))_>=_new_pr2F0G10(x779, x780, Succ(Succ(Succ(Zero))), Zero, x782)) 214.33/146.02 214.33/146.02 214.33/146.02 214.33/146.02 214.33/146.02 214.33/146.02 214.33/146.02 214.33/146.02 214.33/146.02 For Pair new_pr2F0G(vyv188, vyv184, Neg(Succ(Zero)), h) -> new_pr2F0G11(vyv188, vyv184, Zero, h) the following chains were created: 214.33/146.02 *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: 214.33/146.02 214.33/146.02 (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)) 214.33/146.02 214.33/146.02 214.33/146.02 214.33/146.02 We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: 214.33/146.02 214.33/146.02 (2) (new_pr2F0G(x824, x825, Neg(Succ(Zero)), x826)_>=_new_pr2F0G11(x824, x825, Zero, x826)) 214.33/146.02 214.33/146.02 214.33/146.02 214.33/146.02 214.33/146.02 214.33/146.02 214.33/146.02 214.33/146.02 214.33/146.02 For Pair new_pr2F0G(vyv188, vyv184, Neg(Succ(Succ(vyv223000))), h) -> new_pr2F0G10(vyv188, vyv184, Succ(vyv223000), vyv223000, h) the following chains were created: 214.33/146.02 *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: 214.33/146.02 214.33/146.02 (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)) 214.33/146.02 214.33/146.02 214.33/146.02 214.33/146.02 We simplified constraint (1) using rules (I), (II), (III), (IV) which results in the following new constraint: 214.33/146.02 214.33/146.02 (2) (new_pr2F0G(x907, x908, Neg(Succ(Succ(Succ(Zero)))), x910)_>=_new_pr2F0G10(x907, x908, Succ(Succ(Zero)), Succ(Zero), x910)) 214.33/146.02 214.33/146.02 214.33/146.02 214.33/146.02 214.33/146.02 *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: 214.33/146.02 214.33/146.02 (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)) 214.33/146.02 214.33/146.02 214.33/146.02 214.33/146.02 We simplified constraint (1) using rules (I), (II), (III), (IV) which results in the following new constraint: 214.33/146.02 214.33/146.02 (2) (new_pr2F0G(x943, x944, Neg(Succ(Succ(Zero))), x946)_>=_new_pr2F0G10(x943, x944, Succ(Zero), Zero, x946)) 214.33/146.02 214.33/146.02 214.33/146.02 214.33/146.02 214.33/146.02 214.33/146.02 214.33/146.02 214.33/146.02 214.33/146.02 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: 214.33/146.02 *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: 214.33/146.02 214.33/146.02 (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)) 214.33/146.02 214.33/146.02 214.33/146.02 214.33/146.02 We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: 214.33/146.02 214.33/146.02 (2) (new_pr2F0G10(x1039, x1040, Succ(Zero), Zero, x1041)_>=_new_pr2F0G(x1039, new_sr3(x1040, x1041), Neg(Succ(Zero)), x1041)) 214.33/146.02 214.33/146.02 214.33/146.02 214.33/146.02 214.33/146.02 214.33/146.02 214.33/146.02 214.33/146.02 214.33/146.02 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: 214.33/146.02 *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: 214.33/146.02 214.33/146.02 (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)))) 214.33/146.02 214.33/146.02 214.33/146.02 214.33/146.02 We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: 214.33/146.02 214.33/146.02 (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)))) 214.33/146.02 214.33/146.02 214.33/146.02 214.33/146.02 214.33/146.02 214.33/146.02 214.33/146.02 214.33/146.02 214.33/146.02 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: 214.33/146.02 *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: 214.33/146.02 214.33/146.02 (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))) 214.33/146.02 214.33/146.02 214.33/146.02 214.33/146.02 We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: 214.33/146.02 214.33/146.02 (2) (new_pr2F0(x1205, Neg(Succ(Succ(Succ(Succ(Zero))))), x1206, x1207)_>=_H(x1206, x1205, Succ(Succ(Succ(Zero))), x1207, cons_new_pr2F0G10(Zero))) 214.33/146.02 214.33/146.02 214.33/146.02 214.33/146.02 214.33/146.02 214.33/146.02 214.33/146.02 214.33/146.02 214.33/146.02 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: 214.33/146.02 *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: 214.33/146.02 214.33/146.02 (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)) 214.33/146.02 214.33/146.02 214.33/146.02 214.33/146.02 We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: 214.33/146.02 214.33/146.02 (2) (new_pr2F0G10(x1293, x1294, Succ(Succ(Zero)), Zero, x1295)_>=_new_pr2F0G(x1293, new_sr3(x1294, x1295), Neg(Succ(Zero)), x1295)) 214.33/146.02 214.33/146.02 214.33/146.02 214.33/146.02 214.33/146.02 214.33/146.02 214.33/146.02 214.33/146.02 214.33/146.02 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: 214.33/146.02 *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: 214.33/146.02 214.33/146.02 (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)))) 214.33/146.02 214.33/146.02 214.33/146.02 214.33/146.02 We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: 214.33/146.02 214.33/146.02 (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)))) 214.33/146.02 214.33/146.02 214.33/146.02 214.33/146.02 214.33/146.02 214.33/146.02 214.33/146.02 214.33/146.02 214.33/146.02 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: 214.33/146.02 *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: 214.33/146.02 214.33/146.02 (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))) 214.33/146.02 214.33/146.02 214.33/146.02 214.33/146.02 We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: 214.33/146.02 214.33/146.02 (2) (new_pr2F0G(x1459, x1460, Neg(Succ(Succ(Succ(Succ(Zero))))), x1461)_>=_H(x1459, x1460, Succ(Succ(Succ(Zero))), x1461, cons_new_pr2F0G10(Zero))) 214.33/146.02 214.33/146.02 214.33/146.02 214.33/146.02 214.33/146.02 214.33/146.02 214.33/146.02 214.33/146.02 214.33/146.02 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: 214.33/146.02 *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: 214.33/146.02 214.33/146.02 (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)))) 214.33/146.02 214.33/146.02 214.33/146.02 214.33/146.02 We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: 214.33/146.02 214.33/146.02 (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)))) 214.33/146.02 214.33/146.02 214.33/146.02 214.33/146.02 214.33/146.02 214.33/146.02 214.33/146.02 214.33/146.02 214.33/146.02 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: 214.33/146.02 *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: 214.33/146.02 214.33/146.02 (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))) 214.33/146.02 214.33/146.02 214.33/146.02 214.33/146.02 We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: 214.33/146.02 214.33/146.02 (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))) 214.33/146.02 214.33/146.02 214.33/146.02 214.33/146.02 214.33/146.02 214.33/146.02 214.33/146.02 214.33/146.02 214.33/146.02 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: 214.33/146.02 *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: 214.33/146.02 214.33/146.02 (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)) 214.33/146.02 214.33/146.02 214.33/146.02 214.33/146.02 We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: 214.33/146.02 214.33/146.02 (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)) 214.33/146.02 214.33/146.02 214.33/146.02 214.33/146.02 214.33/146.02 *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: 214.33/146.02 214.33/146.02 (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)) 214.33/146.02 214.33/146.02 214.33/146.02 214.33/146.02 We simplified constraint (1) using rules (I), (II), (IV), (VII) which results in the following new constraint: 214.33/146.02 214.33/146.02 (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)) 214.33/146.02 214.33/146.02 214.33/146.02 214.33/146.02 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: 214.33/146.02 214.33/146.02 (3) (new_primDivNatS01(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)) 214.33/146.02 214.33/146.02 (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)) 214.33/146.02 214.33/146.02 (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)) 214.33/146.02 214.33/146.02 214.33/146.02 214.33/146.02 We simplified constraint (3) using rules (I), (II), (III), (VII) which results in the following new constraint: 214.33/146.02 214.33/146.02 (6) (x2718=x2721 & x2717=x2722 & new_primDivNatS01(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)) 214.33/146.02 214.33/146.02 214.33/146.02 214.33/146.02 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_primDivNatS01(x2718, x2717, x2721, x2722)=Succ(Succ(Succ(Zero))) which results in the following new constraints: 214.33/146.02 214.33/146.02 (7) (new_primDivNatS02(x2725, x2724)=Succ(Succ(Succ(Zero))) & x2725=Succ(x2723) & x2724=Zero & Zero=x2724 ==> new_pr2F0G10(x1752, x1753, Succ(Succ(Succ(Succ(Succ(x2725))))), Zero, x1755)_>=_new_pr2F0G(x1752, new_sr3(x1753, x1755), Neg(Succ(Succ(new_primDivNatS1(Succ(Succ(x2725)), Succ(Zero))))), x1755)) 214.33/146.02 214.33/146.02 (8) (new_primDivNatS01(x2732, x2731, x2730, x2729)=Succ(Succ(Succ(Zero))) & x2732=Succ(x2730) & x2731=Succ(x2729) & Zero=x2731 & (\/x2733,x2734,x2735:new_primDivNatS01(x2732, x2731, x2730, x2729)=Succ(Succ(Succ(Zero))) & x2732=x2730 & x2731=x2729 & Zero=x2731 ==> new_pr2F0G10(x2733, x2734, Succ(Succ(Succ(Succ(Succ(x2732))))), Zero, x2735)_>=_new_pr2F0G(x2733, new_sr3(x2734, x2735), Neg(Succ(Succ(new_primDivNatS1(Succ(Succ(x2732)), Succ(Zero))))), x2735)) ==> new_pr2F0G10(x1752, x1753, Succ(Succ(Succ(Succ(Succ(x2732))))), Zero, x1755)_>=_new_pr2F0G(x1752, new_sr3(x1753, x1755), Neg(Succ(Succ(new_primDivNatS1(Succ(Succ(x2732)), Succ(Zero))))), x1755)) 214.33/146.02 214.33/146.02 (9) (new_primDivNatS02(x2737, x2736)=Succ(Succ(Succ(Zero))) & x2737=Zero & x2736=Zero & Zero=x2736 ==> new_pr2F0G10(x1752, x1753, Succ(Succ(Succ(Succ(Succ(x2737))))), Zero, x1755)_>=_new_pr2F0G(x1752, new_sr3(x1753, x1755), Neg(Succ(Succ(new_primDivNatS1(Succ(Succ(x2737)), Succ(Zero))))), x1755)) 214.33/146.02 214.33/146.02 214.33/146.02 214.33/146.02 We simplified constraint (7) using rules (I), (II), (III), (IV), (VII) which results in the following new constraint: 214.33/146.02 214.33/146.02 (10) (new_pr2F0G10(x1752, x1753, Succ(Succ(Succ(Succ(Succ(Succ(x2723)))))), Zero, x1755)_>=_new_pr2F0G(x1752, new_sr3(x1753, x1755), Neg(Succ(Succ(new_primDivNatS1(Succ(Succ(Succ(x2723))), Succ(Zero))))), x1755)) 214.33/146.02 214.33/146.02 214.33/146.02 214.33/146.02 We solved constraint (8) using rules (I), (II), (III).We simplified constraint (9) using rules (I), (II), (III), (IV), (VII) which results in the following new constraint: 214.33/146.02 214.33/146.02 (11) (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)) 214.33/146.02 214.33/146.02 214.33/146.02 214.33/146.02 214.33/146.02 *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: 214.33/146.02 214.33/146.02 (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)) 214.33/146.02 214.33/146.02 214.33/146.02 214.33/146.02 We simplified constraint (1) using rules (I), (II), (IV), (VII) which results in the following new constraint: 214.33/146.02 214.33/146.02 (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)) 214.33/146.02 214.33/146.02 214.33/146.02 214.33/146.02 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: 214.33/146.02 214.33/146.02 (3) (new_primDivNatS01(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)) 214.33/146.02 214.33/146.02 (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)) 214.33/146.02 214.33/146.02 (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)) 214.33/146.02 214.33/146.02 214.33/146.02 214.33/146.02 We simplified constraint (3) using rules (I), (II), (III), (VII) which results in the following new constraint: 214.33/146.02 214.33/146.02 (6) (x2746=x2749 & x2745=x2750 & new_primDivNatS01(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)) 214.33/146.02 214.33/146.02 214.33/146.02 214.33/146.02 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_primDivNatS01(x2746, x2745, x2749, x2750)=Succ(Succ(Zero)) which results in the following new constraints: 214.33/146.02 214.33/146.02 (7) (new_primDivNatS02(x2753, x2752)=Succ(Succ(Zero)) & x2753=Succ(x2751) & x2752=Zero & Zero=x2752 ==> new_pr2F0G10(x1759, x1760, Succ(Succ(Succ(Succ(Succ(x2753))))), Zero, x1762)_>=_new_pr2F0G(x1759, new_sr3(x1760, x1762), Neg(Succ(Succ(new_primDivNatS1(Succ(Succ(x2753)), Succ(Zero))))), x1762)) 214.33/146.02 214.33/146.02 (8) (new_primDivNatS01(x2760, x2759, x2758, x2757)=Succ(Succ(Zero)) & x2760=Succ(x2758) & x2759=Succ(x2757) & Zero=x2759 & (\/x2761,x2762,x2763:new_primDivNatS01(x2760, x2759, x2758, x2757)=Succ(Succ(Zero)) & x2760=x2758 & x2759=x2757 & Zero=x2759 ==> new_pr2F0G10(x2761, x2762, Succ(Succ(Succ(Succ(Succ(x2760))))), Zero, x2763)_>=_new_pr2F0G(x2761, new_sr3(x2762, x2763), Neg(Succ(Succ(new_primDivNatS1(Succ(Succ(x2760)), Succ(Zero))))), x2763)) ==> new_pr2F0G10(x1759, x1760, Succ(Succ(Succ(Succ(Succ(x2760))))), Zero, x1762)_>=_new_pr2F0G(x1759, new_sr3(x1760, x1762), Neg(Succ(Succ(new_primDivNatS1(Succ(Succ(x2760)), Succ(Zero))))), x1762)) 214.33/146.02 214.33/146.02 (9) (new_primDivNatS02(x2765, x2764)=Succ(Succ(Zero)) & x2765=Zero & x2764=Zero & Zero=x2764 ==> new_pr2F0G10(x1759, x1760, Succ(Succ(Succ(Succ(Succ(x2765))))), Zero, x1762)_>=_new_pr2F0G(x1759, new_sr3(x1760, x1762), Neg(Succ(Succ(new_primDivNatS1(Succ(Succ(x2765)), Succ(Zero))))), x1762)) 214.33/146.02 214.33/146.02 214.33/146.02 214.33/146.02 We simplified constraint (7) using rules (I), (II), (III), (IV), (VII) which results in the following new constraint: 214.33/146.02 214.33/146.02 (10) (new_pr2F0G10(x1759, x1760, Succ(Succ(Succ(Succ(Succ(Succ(x2751)))))), Zero, x1762)_>=_new_pr2F0G(x1759, new_sr3(x1760, x1762), Neg(Succ(Succ(new_primDivNatS1(Succ(Succ(Succ(x2751))), Succ(Zero))))), x1762)) 214.33/146.02 214.33/146.02 214.33/146.02 214.33/146.02 We solved constraint (8) using rules (I), (II), (III).We simplified constraint (9) using rules (I), (II), (III), (IV), (VII) which results in the following new constraint: 214.33/146.02 214.33/146.02 (11) (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)) 214.33/146.02 214.33/146.02 214.33/146.02 214.33/146.02 214.33/146.02 *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: 214.33/146.02 214.33/146.02 (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)) 214.33/146.02 214.33/146.02 214.33/146.02 214.33/146.02 We simplified constraint (1) using rules (I), (II), (IV), (VII) which results in the following new constraint: 214.33/146.02 214.33/146.02 (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)) 214.33/146.02 214.33/146.02 214.33/146.02 214.33/146.02 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: 214.33/146.02 214.33/146.02 (3) (new_primDivNatS01(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)) 214.33/146.02 214.33/146.02 (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)) 214.33/146.02 214.33/146.02 (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)) 214.33/146.02 214.33/146.02 214.33/146.02 214.33/146.02 We simplified constraint (3) using rules (I), (II), (III), (VII) which results in the following new constraint: 214.33/146.02 214.33/146.02 (6) (x2774=x2777 & x2773=x2778 & new_primDivNatS01(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)) 214.33/146.02 214.33/146.02 214.33/146.02 214.33/146.02 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_primDivNatS01(x2774, x2773, x2777, x2778)=Succ(Succ(Succ(Succ(Succ(Zero))))) which results in the following new constraints: 214.33/146.02 214.33/146.02 (7) (new_primDivNatS02(x2781, x2780)=Succ(Succ(Succ(Succ(Succ(Zero))))) & x2781=Succ(x2779) & x2780=Zero & Zero=x2780 ==> new_pr2F0G10(x1782, x1783, Succ(Succ(Succ(Succ(Succ(x2781))))), Zero, x1785)_>=_new_pr2F0G(x1782, new_sr3(x1783, x1785), Neg(Succ(Succ(new_primDivNatS1(Succ(Succ(x2781)), Succ(Zero))))), x1785)) 214.33/146.02 214.33/146.02 (8) (new_primDivNatS01(x2788, x2787, x2786, x2785)=Succ(Succ(Succ(Succ(Succ(Zero))))) & x2788=Succ(x2786) & x2787=Succ(x2785) & Zero=x2787 & (\/x2789,x2790,x2791:new_primDivNatS01(x2788, x2787, x2786, x2785)=Succ(Succ(Succ(Succ(Succ(Zero))))) & x2788=x2786 & x2787=x2785 & Zero=x2787 ==> new_pr2F0G10(x2789, x2790, Succ(Succ(Succ(Succ(Succ(x2788))))), Zero, x2791)_>=_new_pr2F0G(x2789, new_sr3(x2790, x2791), Neg(Succ(Succ(new_primDivNatS1(Succ(Succ(x2788)), Succ(Zero))))), x2791)) ==> new_pr2F0G10(x1782, x1783, Succ(Succ(Succ(Succ(Succ(x2788))))), Zero, x1785)_>=_new_pr2F0G(x1782, new_sr3(x1783, x1785), Neg(Succ(Succ(new_primDivNatS1(Succ(Succ(x2788)), Succ(Zero))))), x1785)) 214.33/146.02 214.33/146.02 (9) (new_primDivNatS02(x2793, x2792)=Succ(Succ(Succ(Succ(Succ(Zero))))) & x2793=Zero & x2792=Zero & Zero=x2792 ==> new_pr2F0G10(x1782, x1783, Succ(Succ(Succ(Succ(Succ(x2793))))), Zero, x1785)_>=_new_pr2F0G(x1782, new_sr3(x1783, x1785), Neg(Succ(Succ(new_primDivNatS1(Succ(Succ(x2793)), Succ(Zero))))), x1785)) 214.33/146.02 214.33/146.02 214.33/146.02 214.33/146.02 We simplified constraint (7) using rules (I), (II), (III), (IV), (VII) which results in the following new constraint: 214.33/146.02 214.33/146.02 (10) (new_pr2F0G10(x1782, x1783, Succ(Succ(Succ(Succ(Succ(Succ(x2779)))))), Zero, x1785)_>=_new_pr2F0G(x1782, new_sr3(x1783, x1785), Neg(Succ(Succ(new_primDivNatS1(Succ(Succ(Succ(x2779))), Succ(Zero))))), x1785)) 214.33/146.02 214.33/146.02 214.33/146.02 214.33/146.02 We solved constraint (8) using rules (I), (II), (III).We simplified constraint (9) using rules (I), (II), (III), (IV), (VII) which results in the following new constraint: 214.33/146.02 214.33/146.02 (11) (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)) 214.33/146.02 214.33/146.02 214.33/146.02 214.33/146.02 214.33/146.02 *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: 214.33/146.02 214.33/146.02 (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)) 214.33/146.02 214.33/146.02 214.33/146.02 214.33/146.02 We simplified constraint (1) using rules (I), (II), (IV), (VII) which results in the following new constraint: 214.33/146.02 214.33/146.02 (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)) 214.33/146.02 214.33/146.02 214.33/146.02 214.33/146.02 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: 214.33/146.02 214.33/146.02 (3) (new_primDivNatS01(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)) 214.33/146.02 214.33/146.02 (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)) 214.33/146.02 214.33/146.02 (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)) 214.33/146.02 214.33/146.02 214.33/146.02 214.33/146.02 We simplified constraint (3) using rules (I), (II), (III), (VII) which results in the following new constraint: 214.33/146.02 214.33/146.02 (6) (x2802=x2805 & x2801=x2806 & new_primDivNatS01(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)) 214.33/146.02 214.33/146.02 214.33/146.02 214.33/146.02 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_primDivNatS01(x2802, x2801, x2805, x2806)=Succ(Succ(Succ(Succ(Zero)))) which results in the following new constraints: 214.33/146.02 214.33/146.02 (7) (new_primDivNatS02(x2809, x2808)=Succ(Succ(Succ(Succ(Zero)))) & x2809=Succ(x2807) & x2808=Zero & Zero=x2808 ==> new_pr2F0G10(x1789, x1790, Succ(Succ(Succ(Succ(Succ(x2809))))), Zero, x1792)_>=_new_pr2F0G(x1789, new_sr3(x1790, x1792), Neg(Succ(Succ(new_primDivNatS1(Succ(Succ(x2809)), Succ(Zero))))), x1792)) 214.33/146.02 214.33/146.02 (8) (new_primDivNatS01(x2816, x2815, x2814, x2813)=Succ(Succ(Succ(Succ(Zero)))) & x2816=Succ(x2814) & x2815=Succ(x2813) & Zero=x2815 & (\/x2817,x2818,x2819:new_primDivNatS01(x2816, x2815, x2814, x2813)=Succ(Succ(Succ(Succ(Zero)))) & x2816=x2814 & x2815=x2813 & Zero=x2815 ==> new_pr2F0G10(x2817, x2818, Succ(Succ(Succ(Succ(Succ(x2816))))), Zero, x2819)_>=_new_pr2F0G(x2817, new_sr3(x2818, x2819), Neg(Succ(Succ(new_primDivNatS1(Succ(Succ(x2816)), Succ(Zero))))), x2819)) ==> new_pr2F0G10(x1789, x1790, Succ(Succ(Succ(Succ(Succ(x2816))))), Zero, x1792)_>=_new_pr2F0G(x1789, new_sr3(x1790, x1792), Neg(Succ(Succ(new_primDivNatS1(Succ(Succ(x2816)), Succ(Zero))))), x1792)) 214.33/146.02 214.33/146.02 (9) (new_primDivNatS02(x2821, x2820)=Succ(Succ(Succ(Succ(Zero)))) & x2821=Zero & x2820=Zero & Zero=x2820 ==> new_pr2F0G10(x1789, x1790, Succ(Succ(Succ(Succ(Succ(x2821))))), Zero, x1792)_>=_new_pr2F0G(x1789, new_sr3(x1790, x1792), Neg(Succ(Succ(new_primDivNatS1(Succ(Succ(x2821)), Succ(Zero))))), x1792)) 214.33/146.02 214.33/146.02 214.33/146.02 214.33/146.02 We simplified constraint (7) using rules (I), (II), (III), (IV), (VII) which results in the following new constraint: 214.33/146.02 214.33/146.02 (10) (new_pr2F0G10(x1789, x1790, Succ(Succ(Succ(Succ(Succ(Succ(x2807)))))), Zero, x1792)_>=_new_pr2F0G(x1789, new_sr3(x1790, x1792), Neg(Succ(Succ(new_primDivNatS1(Succ(Succ(Succ(x2807))), Succ(Zero))))), x1792)) 214.33/146.02 214.33/146.02 214.33/146.02 214.33/146.02 We solved constraint (8) using rules (I), (II), (III).We simplified constraint (9) using rules (I), (II), (III), (IV), (VII) which results in the following new constraint: 214.33/146.02 214.33/146.02 (11) (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)) 214.33/146.02 214.33/146.02 214.33/146.02 214.33/146.02 214.33/146.02 *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: 214.33/146.02 214.33/146.02 (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)) 214.33/146.02 214.33/146.02 214.33/146.02 214.33/146.02 We simplified constraint (1) using rules (I), (II), (IV), (VII) which results in the following new constraint: 214.33/146.02 214.33/146.02 (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)) 214.33/146.02 214.33/146.02 214.33/146.02 214.33/146.02 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: 214.33/146.02 214.33/146.02 (3) (new_primDivNatS01(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)) 214.33/146.02 214.33/146.02 (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)) 214.33/146.02 214.33/146.02 (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)) 214.33/146.02 214.33/146.02 214.33/146.02 214.33/146.02 We simplified constraint (3) using rules (I), (II), (III), (VII) which results in the following new constraint: 214.33/146.02 214.33/146.02 (6) (x2830=x2833 & x2829=x2834 & new_primDivNatS01(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)) 214.33/146.02 214.33/146.02 214.33/146.02 214.33/146.02 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_primDivNatS01(x2830, x2829, x2833, x2834)=Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(x1814)))))))) which results in the following new constraints: 214.33/146.02 214.33/146.02 (7) (new_primDivNatS02(x2837, x2836)=Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(x1814)))))))) & x2837=Succ(x2835) & x2836=Zero & Zero=x2836 ==> new_pr2F0G10(x1808, x1809, Succ(Succ(Succ(Succ(Succ(x2837))))), Zero, x1811)_>=_new_pr2F0G(x1808, new_sr3(x1809, x1811), Neg(Succ(Succ(new_primDivNatS1(Succ(Succ(x2837)), Succ(Zero))))), x1811)) 214.33/146.02 214.33/146.02 (8) (new_primDivNatS01(x2844, x2843, x2842, x2841)=Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(x1814)))))))) & x2844=Succ(x2842) & x2843=Succ(x2841) & Zero=x2843 & (\/x2845,x2846,x2847,x2848:new_primDivNatS01(x2844, x2843, x2842, x2841)=Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(x2845)))))))) & x2844=x2842 & x2843=x2841 & Zero=x2843 ==> new_pr2F0G10(x2846, x2847, Succ(Succ(Succ(Succ(Succ(x2844))))), Zero, x2848)_>=_new_pr2F0G(x2846, new_sr3(x2847, x2848), Neg(Succ(Succ(new_primDivNatS1(Succ(Succ(x2844)), Succ(Zero))))), x2848)) ==> new_pr2F0G10(x1808, x1809, Succ(Succ(Succ(Succ(Succ(x2844))))), Zero, x1811)_>=_new_pr2F0G(x1808, new_sr3(x1809, x1811), Neg(Succ(Succ(new_primDivNatS1(Succ(Succ(x2844)), Succ(Zero))))), x1811)) 214.33/146.02 214.33/146.02 (9) (new_primDivNatS02(x2850, x2849)=Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(x1814)))))))) & x2850=Zero & x2849=Zero & Zero=x2849 ==> new_pr2F0G10(x1808, x1809, Succ(Succ(Succ(Succ(Succ(x2850))))), Zero, x1811)_>=_new_pr2F0G(x1808, new_sr3(x1809, x1811), Neg(Succ(Succ(new_primDivNatS1(Succ(Succ(x2850)), Succ(Zero))))), x1811)) 214.33/146.02 214.33/146.02 214.33/146.02 214.33/146.02 We simplified constraint (7) using rules (I), (II), (III), (IV), (VII) which results in the following new constraint: 214.33/146.02 214.33/146.02 (10) (new_pr2F0G10(x1808, x1809, Succ(Succ(Succ(Succ(Succ(Succ(x2835)))))), Zero, x1811)_>=_new_pr2F0G(x1808, new_sr3(x1809, x1811), Neg(Succ(Succ(new_primDivNatS1(Succ(Succ(Succ(x2835))), Succ(Zero))))), x1811)) 214.33/146.02 214.33/146.02 214.33/146.02 214.33/146.02 We solved constraint (8) using rules (I), (II), (III).We simplified constraint (9) using rules (I), (II), (III), (IV), (VII) which results in the following new constraint: 214.33/146.02 214.33/146.02 (11) (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)) 214.33/146.02 214.33/146.02 214.33/146.02 214.33/146.02 214.33/146.02 *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: 214.33/146.02 214.33/146.02 (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)) 214.33/146.02 214.33/146.02 214.33/146.02 214.33/146.02 We simplified constraint (1) using rules (I), (II), (IV), (VII) which results in the following new constraint: 214.33/146.02 214.33/146.02 (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)) 214.33/146.02 214.33/146.02 214.33/146.02 214.33/146.02 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: 214.33/146.02 214.33/146.02 (3) (new_primDivNatS01(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)) 214.33/146.02 214.33/146.02 (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)) 214.33/146.02 214.33/146.02 (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)) 214.33/146.02 214.33/146.02 214.33/146.02 214.33/146.02 We simplified constraint (3) using rules (I), (II), (III), (VII) which results in the following new constraint: 214.33/146.02 214.33/146.02 (6) (x2859=x2862 & x2858=x2863 & new_primDivNatS01(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)) 214.33/146.02 214.33/146.02 214.33/146.02 214.33/146.02 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_primDivNatS01(x2859, x2858, x2862, x2863)=Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero))))))) which results in the following new constraints: 214.33/146.02 214.33/146.02 (7) (new_primDivNatS02(x2866, x2865)=Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero))))))) & x2866=Succ(x2864) & x2865=Zero & Zero=x2865 ==> new_pr2F0G10(x1816, x1817, Succ(Succ(Succ(Succ(Succ(x2866))))), Zero, x1819)_>=_new_pr2F0G(x1816, new_sr3(x1817, x1819), Neg(Succ(Succ(new_primDivNatS1(Succ(Succ(x2866)), Succ(Zero))))), x1819)) 214.33/146.02 214.33/146.02 (8) (new_primDivNatS01(x2873, x2872, x2871, x2870)=Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero))))))) & x2873=Succ(x2871) & x2872=Succ(x2870) & Zero=x2872 & (\/x2874,x2875,x2876:new_primDivNatS01(x2873, x2872, x2871, x2870)=Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero))))))) & x2873=x2871 & x2872=x2870 & Zero=x2872 ==> new_pr2F0G10(x2874, x2875, Succ(Succ(Succ(Succ(Succ(x2873))))), Zero, x2876)_>=_new_pr2F0G(x2874, new_sr3(x2875, x2876), Neg(Succ(Succ(new_primDivNatS1(Succ(Succ(x2873)), Succ(Zero))))), x2876)) ==> new_pr2F0G10(x1816, x1817, Succ(Succ(Succ(Succ(Succ(x2873))))), Zero, x1819)_>=_new_pr2F0G(x1816, new_sr3(x1817, x1819), Neg(Succ(Succ(new_primDivNatS1(Succ(Succ(x2873)), Succ(Zero))))), x1819)) 214.33/146.02 214.33/146.02 (9) (new_primDivNatS02(x2878, x2877)=Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero))))))) & x2878=Zero & x2877=Zero & Zero=x2877 ==> new_pr2F0G10(x1816, x1817, Succ(Succ(Succ(Succ(Succ(x2878))))), Zero, x1819)_>=_new_pr2F0G(x1816, new_sr3(x1817, x1819), Neg(Succ(Succ(new_primDivNatS1(Succ(Succ(x2878)), Succ(Zero))))), x1819)) 214.33/146.02 214.33/146.02 214.33/146.02 214.33/146.02 We simplified constraint (7) using rules (I), (II), (III), (IV), (VII) which results in the following new constraint: 214.33/146.02 214.33/146.02 (10) (new_pr2F0G10(x1816, x1817, Succ(Succ(Succ(Succ(Succ(Succ(x2864)))))), Zero, x1819)_>=_new_pr2F0G(x1816, new_sr3(x1817, x1819), Neg(Succ(Succ(new_primDivNatS1(Succ(Succ(Succ(x2864))), Succ(Zero))))), x1819)) 214.33/146.02 214.33/146.02 214.33/146.02 214.33/146.02 We solved constraint (8) using rules (I), (II), (III).We simplified constraint (9) using rules (I), (II), (III), (IV), (VII) which results in the following new constraint: 214.33/146.02 214.33/146.02 (11) (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)) 214.33/146.02 214.33/146.02 214.33/146.02 214.33/146.02 214.33/146.02 *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: 214.33/146.02 214.33/146.02 (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)) 214.33/146.02 214.33/146.02 214.33/146.02 214.33/146.02 We simplified constraint (1) using rules (I), (II), (IV), (VII) which results in the following new constraint: 214.33/146.02 214.33/146.02 (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)) 214.33/146.02 214.33/146.02 214.33/146.02 214.33/146.02 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: 214.33/146.02 214.33/146.02 (3) (new_primDivNatS01(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)) 214.33/146.02 214.33/146.02 (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)) 214.33/146.02 214.33/146.02 (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)) 214.33/146.02 214.33/146.02 214.33/146.02 214.33/146.02 We simplified constraint (3) using rules (I), (II), (III), (VII) which results in the following new constraint: 214.33/146.02 214.33/146.02 (6) (x2887=x2890 & x2886=x2891 & new_primDivNatS01(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)) 214.33/146.02 214.33/146.02 214.33/146.02 214.33/146.02 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_primDivNatS01(x2887, x2886, x2890, x2891)=Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))) which results in the following new constraints: 214.33/146.02 214.33/146.02 (7) (new_primDivNatS02(x2894, x2893)=Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))) & x2894=Succ(x2892) & x2893=Zero & Zero=x2893 ==> new_pr2F0G10(x1823, x1824, Succ(Succ(Succ(Succ(Succ(x2894))))), Zero, x1826)_>=_new_pr2F0G(x1823, new_sr3(x1824, x1826), Neg(Succ(Succ(new_primDivNatS1(Succ(Succ(x2894)), Succ(Zero))))), x1826)) 214.33/146.02 214.33/146.02 (8) (new_primDivNatS01(x2901, x2900, x2899, x2898)=Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))) & x2901=Succ(x2899) & x2900=Succ(x2898) & Zero=x2900 & (\/x2902,x2903,x2904:new_primDivNatS01(x2901, x2900, x2899, x2898)=Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))) & x2901=x2899 & x2900=x2898 & Zero=x2900 ==> new_pr2F0G10(x2902, x2903, Succ(Succ(Succ(Succ(Succ(x2901))))), Zero, x2904)_>=_new_pr2F0G(x2902, new_sr3(x2903, x2904), Neg(Succ(Succ(new_primDivNatS1(Succ(Succ(x2901)), Succ(Zero))))), x2904)) ==> new_pr2F0G10(x1823, x1824, Succ(Succ(Succ(Succ(Succ(x2901))))), Zero, x1826)_>=_new_pr2F0G(x1823, new_sr3(x1824, x1826), Neg(Succ(Succ(new_primDivNatS1(Succ(Succ(x2901)), Succ(Zero))))), x1826)) 214.33/146.02 214.33/146.02 (9) (new_primDivNatS02(x2906, x2905)=Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))) & x2906=Zero & x2905=Zero & Zero=x2905 ==> new_pr2F0G10(x1823, x1824, Succ(Succ(Succ(Succ(Succ(x2906))))), Zero, x1826)_>=_new_pr2F0G(x1823, new_sr3(x1824, x1826), Neg(Succ(Succ(new_primDivNatS1(Succ(Succ(x2906)), Succ(Zero))))), x1826)) 214.33/146.02 214.33/146.02 214.33/146.02 214.33/146.02 We simplified constraint (7) using rules (I), (II), (III), (IV), (VII) which results in the following new constraint: 214.33/146.02 214.33/146.02 (10) (new_pr2F0G10(x1823, x1824, Succ(Succ(Succ(Succ(Succ(Succ(x2892)))))), Zero, x1826)_>=_new_pr2F0G(x1823, new_sr3(x1824, x1826), Neg(Succ(Succ(new_primDivNatS1(Succ(Succ(Succ(x2892))), Succ(Zero))))), x1826)) 214.33/146.02 214.33/146.02 214.33/146.02 214.33/146.02 We solved constraint (8) using rules (I), (II), (III).We simplified constraint (9) using rules (I), (II), (III), (IV), (VII) which results in the following new constraint: 214.33/146.02 214.33/146.02 (11) (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)) 214.33/146.02 214.33/146.02 214.33/146.02 214.33/146.02 214.33/146.02 214.33/146.02 214.33/146.02 214.33/146.02 214.33/146.02 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: 214.33/146.02 *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: 214.33/146.02 214.33/146.02 (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)) 214.33/146.02 214.33/146.02 214.33/146.02 214.33/146.02 We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: 214.33/146.02 214.33/146.02 (2) (new_pr2F0G10(x1854, x1855, Succ(Succ(Succ(Zero))), Zero, x1856)_>=_new_pr2F0G(x1854, new_sr3(x1855, x1856), Neg(Succ(Succ(Zero))), x1856)) 214.33/146.02 214.33/146.02 214.33/146.02 214.33/146.02 214.33/146.02 214.33/146.02 214.33/146.02 214.33/146.02 214.33/146.02 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: 214.33/146.02 *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: 214.33/146.02 214.33/146.02 (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)))) 214.33/146.02 214.33/146.02 214.33/146.02 214.33/146.02 We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: 214.33/146.02 214.33/146.02 (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)))) 214.33/146.02 214.33/146.02 214.33/146.02 214.33/146.02 214.33/146.02 214.33/146.02 214.33/146.02 214.33/146.02 214.33/146.02 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: 214.33/146.02 *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: 214.33/146.02 214.33/146.02 (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))) 214.33/146.02 214.33/146.02 214.33/146.02 214.33/146.02 We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: 214.33/146.02 214.33/146.02 (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))) 214.33/146.02 214.33/146.02 214.33/146.02 214.33/146.02 214.33/146.02 214.33/146.02 214.33/146.02 214.33/146.02 214.33/146.02 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: 214.33/146.02 *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: 214.33/146.02 214.33/146.02 (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))) 214.33/146.02 214.33/146.02 214.33/146.02 214.33/146.02 We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: 214.33/146.02 214.33/146.02 (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))) 214.33/146.02 214.33/146.02 214.33/146.02 214.33/146.02 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: 214.33/146.02 214.33/146.02 (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))))) 214.33/146.02 214.33/146.02 (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)))) 214.33/146.02 214.33/146.02 (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))) 214.33/146.02 214.33/146.02 214.33/146.02 214.33/146.02 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: 214.33/146.02 214.33/146.02 (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))))) 214.33/146.02 214.33/146.02 214.33/146.02 214.33/146.02 We simplified constraint (4) using rules (I), (II) which results in the following new constraint: 214.33/146.02 214.33/146.02 (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)))) 214.33/146.02 214.33/146.02 214.33/146.02 214.33/146.02 We solved constraint (5) using rules (I), (II). 214.33/146.02 *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: 214.33/146.02 214.33/146.02 (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))) 214.33/146.02 214.33/146.02 214.33/146.02 214.33/146.02 We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: 214.33/146.02 214.33/146.02 (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))) 214.33/146.02 214.33/146.02 214.33/146.02 214.33/146.02 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: 214.33/146.02 214.33/146.02 (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))))) 214.33/146.02 214.33/146.02 (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)))) 214.33/146.02 214.33/146.02 (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))) 214.33/146.02 214.33/146.02 214.33/146.02 214.33/146.02 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: 214.33/146.02 214.33/146.02 (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))))) 214.33/146.02 214.33/146.02 214.33/146.02 214.33/146.02 We solved constraint (4) using rules (I), (II).We simplified constraint (5) using rules (I), (II) which results in the following new constraint: 214.33/146.02 214.33/146.02 (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))) 214.33/146.02 214.33/146.02 214.33/146.02 214.33/146.02 214.33/146.02 214.33/146.02 214.33/146.02 214.33/146.02 214.33/146.02 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: 214.33/146.02 *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: 214.33/146.02 214.33/146.02 (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)))) 214.33/146.02 214.33/146.02 214.33/146.02 214.33/146.02 We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: 214.33/146.02 214.33/146.02 (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)))) 214.33/146.02 214.33/146.02 214.33/146.02 214.33/146.02 214.33/146.02 214.33/146.02 214.33/146.02 214.33/146.02 214.33/146.02 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: 214.33/146.02 *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: 214.33/146.02 214.33/146.02 (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))) 214.33/146.02 214.33/146.02 214.33/146.02 214.33/146.02 We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: 214.33/146.02 214.33/146.02 (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))) 214.33/146.02 214.33/146.02 214.33/146.02 214.33/146.02 214.33/146.02 214.33/146.02 214.33/146.02 214.33/146.02 214.33/146.02 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: 214.33/146.02 *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: 214.33/146.02 214.33/146.02 (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))) 214.33/146.02 214.33/146.02 214.33/146.02 214.33/146.02 We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: 214.33/146.02 214.33/146.02 (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))) 214.33/146.02 214.33/146.02 214.33/146.02 214.33/146.02 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: 214.33/146.02 214.33/146.02 (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))))) 214.33/146.02 214.33/146.02 (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)))) 214.33/146.02 214.33/146.02 (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))) 214.33/146.02 214.33/146.02 214.33/146.02 214.33/146.02 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: 214.33/146.02 214.33/146.02 (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))))) 214.33/146.02 214.33/146.02 214.33/146.02 214.33/146.02 We simplified constraint (4) using rules (I), (II) which results in the following new constraint: 214.33/146.02 214.33/146.02 (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)))) 214.33/146.02 214.33/146.02 214.33/146.02 214.33/146.02 We solved constraint (5) using rules (I), (II). 214.33/146.02 *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: 214.33/146.02 214.33/146.02 (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))) 214.33/146.02 214.33/146.02 214.33/146.02 214.33/146.02 We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: 214.33/146.02 214.33/146.02 (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))) 214.33/146.02 214.33/146.02 214.33/146.02 214.33/146.02 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: 214.33/146.02 214.33/146.02 (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))))) 214.33/146.02 214.33/146.02 (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)))) 214.33/146.02 214.33/146.02 (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))) 214.33/146.02 214.33/146.02 214.33/146.02 214.33/146.02 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: 214.33/146.02 214.33/146.02 (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))))) 214.33/146.02 214.33/146.02 214.33/146.02 214.33/146.02 We solved constraint (4) using rules (I), (II).We simplified constraint (5) using rules (I), (II) which results in the following new constraint: 214.33/146.02 214.33/146.02 (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))) 214.33/146.02 214.33/146.02 214.33/146.02 214.33/146.02 214.33/146.02 214.33/146.02 214.33/146.02 214.33/146.02 214.33/146.02 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: 214.33/146.02 *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: 214.33/146.02 214.33/146.02 (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)))) 214.33/146.02 214.33/146.02 214.33/146.02 214.33/146.02 We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: 214.33/146.02 214.33/146.02 (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)))) 214.33/146.02 214.33/146.02 214.33/146.02 214.33/146.02 214.33/146.02 214.33/146.02 214.33/146.02 214.33/146.02 214.33/146.02 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: 214.33/146.02 *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: 214.33/146.02 214.33/146.02 (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))) 214.33/146.02 214.33/146.02 214.33/146.02 214.33/146.02 We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: 214.33/146.02 214.33/146.02 (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))) 214.33/146.02 214.33/146.02 214.33/146.02 214.33/146.02 214.33/146.02 214.33/146.02 214.33/146.02 214.33/146.02 214.33/146.02 To summarize, we get the following constraints P__>=_ for the following pairs. 214.33/146.02 214.33/146.02 *new_pr2F0(vyv184, Neg(Succ(Succ(vyv223000))), vyv188, h) -> new_pr2F0G10(vyv188, vyv184, Succ(vyv223000), vyv223000, h) 214.33/146.02 214.33/146.02 *(new_pr2F0(x4, Neg(Succ(Succ(Succ(Zero)))), x6, x7)_>=_new_pr2F0G10(x6, x4, Succ(Succ(Zero)), Succ(Zero), x7)) 214.33/146.02 214.33/146.02 214.33/146.02 *(new_pr2F0(x40, Neg(Succ(Succ(Zero))), x42, x43)_>=_new_pr2F0G10(x42, x40, Succ(Zero), Zero, x43)) 214.33/146.02 214.33/146.02 214.33/146.02 214.33/146.02 214.33/146.02 *new_pr2F0G10(vyv249, vyv250, vyv251, Succ(Zero), bb) -> new_pr2F0G11(vyv249, vyv250, vyv251, bb) 214.33/146.02 214.33/146.02 *(new_pr2F0G10(x123, x124, x125, Succ(Zero), x126)_>=_new_pr2F0G11(x123, x124, x125, x126)) 214.33/146.02 214.33/146.02 214.33/146.02 214.33/146.02 214.33/146.02 *new_pr2F0G11(vyv239, vyv240, vyv241, bc) -> new_pr2F1(vyv240, vyv241, Pos(Succ(Zero)), vyv239, bc) 214.33/146.02 214.33/146.02 *(new_pr2F0G11(x239, x240, x241, x242)_>=_new_pr2F1(x240, x241, Pos(Succ(Zero)), x239, x242)) 214.33/146.02 214.33/146.02 214.33/146.02 214.33/146.02 214.33/146.02 *new_pr2F1(z1, z2, Pos(Succ(Zero)), z0, z3) -> new_pr2F30(False, z1, z2, Pos(Succ(Zero)), z0, z3) 214.33/146.02 214.33/146.02 *(new_pr2F1(x355, x356, Pos(Succ(Zero)), x357, x358)_>=_new_pr2F30(False, x355, x356, Pos(Succ(Zero)), x357, x358)) 214.33/146.02 214.33/146.02 214.33/146.02 214.33/146.02 214.33/146.02 *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) 214.33/146.02 214.33/146.02 *(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)) 214.33/146.02 214.33/146.02 214.33/146.02 *(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)) 214.33/146.02 214.33/146.02 214.33/146.02 *(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)) 214.33/146.02 214.33/146.02 214.33/146.02 *(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)) 214.33/146.02 214.33/146.02 214.33/146.02 *(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)) 214.33/146.02 214.33/146.02 214.33/146.02 *(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)) 214.33/146.02 214.33/146.02 214.33/146.02 *(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)) 214.33/146.02 214.33/146.02 214.33/146.02 *(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)) 214.33/146.02 214.33/146.02 214.33/146.02 214.33/146.02 214.33/146.02 *H(vyv249, vyv250, vyv251, bb, cons_new_pr2F0G10(Succ(Zero))) -> new_pr2F0G10(vyv249, vyv250, vyv251, Succ(Zero), bb) 214.33/146.02 214.33/146.02 *(H(x589, x590, x591, x592, cons_new_pr2F0G10(Succ(Zero)))_>=_new_pr2F0G10(x589, x590, x591, Succ(Zero), x592)) 214.33/146.02 214.33/146.02 214.33/146.02 214.33/146.02 214.33/146.02 *H(vyv249, vyv250, vyv251, bb, cons_new_pr2F0G10(Zero)) -> new_pr2F0G10(vyv249, vyv250, vyv251, Zero, bb) 214.33/146.02 214.33/146.02 *(H(x733, x734, Succ(Zero), x736, cons_new_pr2F0G10(Zero))_>=_new_pr2F0G10(x733, x734, Succ(Zero), Zero, x736)) 214.33/146.02 214.33/146.02 214.33/146.02 *(H(x748, x749, Succ(Succ(Zero)), x751, cons_new_pr2F0G10(Zero))_>=_new_pr2F0G10(x748, x749, Succ(Succ(Zero)), Zero, x751)) 214.33/146.02 214.33/146.02 214.33/146.02 *(H(x771, x772, Succ(Succ(Succ(Succ(x777)))), x774, cons_new_pr2F0G10(Zero))_>=_new_pr2F0G10(x771, x772, Succ(Succ(Succ(Succ(x777)))), Zero, x774)) 214.33/146.02 214.33/146.02 214.33/146.02 *(H(x779, x780, Succ(Succ(Succ(Zero))), x782, cons_new_pr2F0G10(Zero))_>=_new_pr2F0G10(x779, x780, Succ(Succ(Succ(Zero))), Zero, x782)) 214.33/146.02 214.33/146.02 214.33/146.02 214.33/146.02 214.33/146.02 *new_pr2F0G(vyv188, vyv184, Neg(Succ(Zero)), h) -> new_pr2F0G11(vyv188, vyv184, Zero, h) 214.33/146.02 214.33/146.02 *(new_pr2F0G(x824, x825, Neg(Succ(Zero)), x826)_>=_new_pr2F0G11(x824, x825, Zero, x826)) 214.33/146.02 214.33/146.02 214.33/146.02 214.33/146.02 214.33/146.02 *new_pr2F0G(vyv188, vyv184, Neg(Succ(Succ(vyv223000))), h) -> new_pr2F0G10(vyv188, vyv184, Succ(vyv223000), vyv223000, h) 214.33/146.02 214.33/146.02 *(new_pr2F0G(x907, x908, Neg(Succ(Succ(Succ(Zero)))), x910)_>=_new_pr2F0G10(x907, x908, Succ(Succ(Zero)), Succ(Zero), x910)) 214.33/146.02 214.33/146.02 214.33/146.02 *(new_pr2F0G(x943, x944, Neg(Succ(Succ(Zero))), x946)_>=_new_pr2F0G10(x943, x944, Succ(Zero), Zero, x946)) 214.33/146.02 214.33/146.02 214.33/146.02 214.33/146.02 214.33/146.02 *new_pr2F0G10(y0, y1, Succ(Zero), Zero, y3) -> new_pr2F0G(y0, new_sr3(y1, y3), Neg(Succ(Zero)), y3) 214.33/146.02 214.33/146.02 *(new_pr2F0G10(x1039, x1040, Succ(Zero), Zero, x1041)_>=_new_pr2F0G(x1039, new_sr3(x1040, x1041), Neg(Succ(Zero)), x1041)) 214.33/146.02 214.33/146.02 214.33/146.02 214.33/146.02 214.33/146.02 *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))) 214.33/146.02 214.33/146.02 *(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)))) 214.33/146.02 214.33/146.02 214.33/146.02 214.33/146.02 214.33/146.02 *new_pr2F0(y0, Neg(Succ(Succ(Succ(Succ(Zero))))), y2, y3) -> H(y2, y0, Succ(Succ(Succ(Zero))), y3, cons_new_pr2F0G10(Zero)) 214.33/146.02 214.33/146.02 *(new_pr2F0(x1205, Neg(Succ(Succ(Succ(Succ(Zero))))), x1206, x1207)_>=_H(x1206, x1205, Succ(Succ(Succ(Zero))), x1207, cons_new_pr2F0G10(Zero))) 214.33/146.02 214.33/146.02 214.33/146.02 214.33/146.02 214.33/146.02 *new_pr2F0G10(y0, y1, Succ(Succ(Zero)), Zero, y3) -> new_pr2F0G(y0, new_sr3(y1, y3), Neg(Succ(Zero)), y3) 214.33/146.02 214.33/146.02 *(new_pr2F0G10(x1293, x1294, Succ(Succ(Zero)), Zero, x1295)_>=_new_pr2F0G(x1293, new_sr3(x1294, x1295), Neg(Succ(Zero)), x1295)) 214.33/146.02 214.33/146.02 214.33/146.02 214.33/146.02 214.33/146.02 *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))) 214.33/146.02 214.33/146.02 *(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)))) 214.33/146.02 214.33/146.02 214.33/146.02 214.33/146.02 214.33/146.02 *new_pr2F0G(y0, y1, Neg(Succ(Succ(Succ(Succ(Zero))))), y3) -> H(y0, y1, Succ(Succ(Succ(Zero))), y3, cons_new_pr2F0G10(Zero)) 214.33/146.02 214.33/146.02 *(new_pr2F0G(x1459, x1460, Neg(Succ(Succ(Succ(Succ(Zero))))), x1461)_>=_H(x1459, x1460, Succ(Succ(Succ(Zero))), x1461, cons_new_pr2F0G10(Zero))) 214.33/146.02 214.33/146.02 214.33/146.02 214.33/146.02 214.33/146.02 *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))) 214.33/146.02 214.33/146.02 *(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)))) 214.33/146.02 214.33/146.02 214.33/146.02 214.33/146.02 214.33/146.02 *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)) 214.33/146.02 214.33/146.02 *(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))) 214.33/146.02 214.33/146.02 214.33/146.02 214.33/146.02 214.33/146.02 *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) 214.33/146.02 214.33/146.02 *(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)) 214.33/146.02 214.33/146.02 214.33/146.02 *(new_pr2F0G10(x1752, x1753, Succ(Succ(Succ(Succ(Succ(Succ(x2723)))))), Zero, x1755)_>=_new_pr2F0G(x1752, new_sr3(x1753, x1755), Neg(Succ(Succ(new_primDivNatS1(Succ(Succ(Succ(x2723))), Succ(Zero))))), x1755)) 214.33/146.02 214.33/146.02 214.33/146.02 *(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)) 214.33/146.02 214.33/146.02 214.33/146.02 *(new_pr2F0G10(x1759, x1760, Succ(Succ(Succ(Succ(Succ(Succ(x2751)))))), Zero, x1762)_>=_new_pr2F0G(x1759, new_sr3(x1760, x1762), Neg(Succ(Succ(new_primDivNatS1(Succ(Succ(Succ(x2751))), Succ(Zero))))), x1762)) 214.33/146.02 214.33/146.02 214.33/146.02 *(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)) 214.33/146.02 214.33/146.02 214.33/146.02 *(new_pr2F0G10(x1782, x1783, Succ(Succ(Succ(Succ(Succ(Succ(x2779)))))), Zero, x1785)_>=_new_pr2F0G(x1782, new_sr3(x1783, x1785), Neg(Succ(Succ(new_primDivNatS1(Succ(Succ(Succ(x2779))), Succ(Zero))))), x1785)) 214.33/146.02 214.33/146.02 214.33/146.02 *(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)) 214.33/146.02 214.33/146.02 214.33/146.02 *(new_pr2F0G10(x1789, x1790, Succ(Succ(Succ(Succ(Succ(Succ(x2807)))))), Zero, x1792)_>=_new_pr2F0G(x1789, new_sr3(x1790, x1792), Neg(Succ(Succ(new_primDivNatS1(Succ(Succ(Succ(x2807))), Succ(Zero))))), x1792)) 214.33/146.02 214.33/146.02 214.33/146.02 *(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)) 214.33/146.02 214.33/146.02 214.33/146.02 *(new_pr2F0G10(x1808, x1809, Succ(Succ(Succ(Succ(Succ(Succ(x2835)))))), Zero, x1811)_>=_new_pr2F0G(x1808, new_sr3(x1809, x1811), Neg(Succ(Succ(new_primDivNatS1(Succ(Succ(Succ(x2835))), Succ(Zero))))), x1811)) 214.33/146.02 214.33/146.02 214.33/146.02 *(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)) 214.33/146.02 214.33/146.02 214.33/146.02 *(new_pr2F0G10(x1816, x1817, Succ(Succ(Succ(Succ(Succ(Succ(x2864)))))), Zero, x1819)_>=_new_pr2F0G(x1816, new_sr3(x1817, x1819), Neg(Succ(Succ(new_primDivNatS1(Succ(Succ(Succ(x2864))), Succ(Zero))))), x1819)) 214.33/146.02 214.33/146.02 214.33/146.02 *(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)) 214.33/146.02 214.33/146.02 214.33/146.02 *(new_pr2F0G10(x1823, x1824, Succ(Succ(Succ(Succ(Succ(Succ(x2892)))))), Zero, x1826)_>=_new_pr2F0G(x1823, new_sr3(x1824, x1826), Neg(Succ(Succ(new_primDivNatS1(Succ(Succ(Succ(x2892))), Succ(Zero))))), x1826)) 214.33/146.02 214.33/146.02 214.33/146.02 *(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)) 214.33/146.02 214.33/146.02 214.33/146.02 214.33/146.02 214.33/146.02 *new_pr2F0G10(y0, y1, Succ(Succ(Succ(Zero))), Zero, y3) -> new_pr2F0G(y0, new_sr3(y1, y3), Neg(Succ(Succ(Zero))), y3) 214.33/146.02 214.33/146.02 *(new_pr2F0G10(x1854, x1855, Succ(Succ(Succ(Zero))), Zero, x1856)_>=_new_pr2F0G(x1854, new_sr3(x1855, x1856), Neg(Succ(Succ(Zero))), x1856)) 214.33/146.02 214.33/146.02 214.33/146.02 214.33/146.02 214.33/146.02 *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))) 214.33/146.02 214.33/146.02 *(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)))) 214.33/146.02 214.33/146.02 214.33/146.02 214.33/146.02 214.33/146.02 *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)) 214.33/146.02 214.33/146.02 *(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))) 214.33/146.02 214.33/146.02 214.33/146.02 214.33/146.02 214.33/146.02 *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)) 214.33/146.02 214.33/146.02 *(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))))) 214.33/146.02 214.33/146.02 214.33/146.02 *(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)))) 214.33/146.02 214.33/146.02 214.33/146.02 *(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))))) 214.33/146.02 214.33/146.02 214.33/146.02 *(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))) 214.33/146.02 214.33/146.02 214.33/146.02 214.33/146.02 214.33/146.02 *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))) 214.33/146.02 214.33/146.02 *(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)))) 214.33/146.02 214.33/146.02 214.33/146.02 214.33/146.02 214.33/146.02 *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)) 214.33/146.02 214.33/146.02 *(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))) 214.33/146.02 214.33/146.02 214.33/146.02 214.33/146.02 214.33/146.02 *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)) 214.33/146.02 214.33/146.02 *(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))))) 214.33/146.02 214.33/146.02 214.33/146.02 *(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)))) 214.33/146.02 214.33/146.02 214.33/146.02 *(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))))) 214.33/146.02 214.33/146.02 214.33/146.02 *(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))) 214.33/146.02 214.33/146.02 214.33/146.02 214.33/146.02 214.33/146.02 *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))) 214.33/146.02 214.33/146.02 *(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)))) 214.33/146.02 214.33/146.02 214.33/146.02 214.33/146.02 214.33/146.02 *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)) 214.33/146.02 214.33/146.02 *(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))) 214.33/146.02 214.33/146.02 214.33/146.02 214.33/146.02 214.33/146.02 214.33/146.02 214.33/146.02 214.33/146.02 214.33/146.02 The constraints for P_> respective P_bound are constructed from P__>=_ where we just replace every occurence of "t _>=_ s" in P__>=_ by "t > s" respective "t _>=_ c". Here c stands for the fresh constant used for P_bound. 214.33/146.02 ---------------------------------------- 214.33/146.02 214.33/146.02 (859) 214.33/146.02 Obligation: 214.33/146.02 Q DP problem: 214.33/146.02 The TRS P consists of the following rules: 214.33/146.02 214.33/146.02 new_pr2F0(vyv184, Neg(Succ(Succ(vyv223000))), vyv188, h) -> new_pr2F0G10(vyv188, vyv184, Succ(vyv223000), vyv223000, h) 214.33/146.02 new_pr2F0G10(vyv249, vyv250, vyv251, Succ(Zero), bb) -> new_pr2F0G11(vyv249, vyv250, vyv251, bb) 214.33/146.02 new_pr2F0G11(vyv239, vyv240, vyv241, bc) -> new_pr2F1(vyv240, vyv241, Pos(Succ(Zero)), vyv239, bc) 214.33/146.02 new_pr2F1(z1, z2, Pos(Succ(Zero)), z0, z3) -> new_pr2F30(False, z1, z2, Pos(Succ(Zero)), z0, z3) 214.33/146.02 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) 214.33/146.02 H(vyv249, vyv250, vyv251, bb, cons_new_pr2F0G10(Succ(Zero))) -> new_pr2F0G10(vyv249, vyv250, vyv251, Succ(Zero), bb) 214.33/146.02 H(vyv249, vyv250, vyv251, bb, cons_new_pr2F0G10(Zero)) -> new_pr2F0G10(vyv249, vyv250, vyv251, Zero, bb) 214.33/146.02 new_pr2F0G(vyv188, vyv184, Neg(Succ(Zero)), h) -> new_pr2F0G11(vyv188, vyv184, Zero, h) 214.33/146.02 new_pr2F0G(vyv188, vyv184, Neg(Succ(Succ(vyv223000))), h) -> new_pr2F0G10(vyv188, vyv184, Succ(vyv223000), vyv223000, h) 214.33/146.02 new_pr2F0G10(y0, y1, Succ(Zero), Zero, y3) -> new_pr2F0G(y0, new_sr3(y1, y3), Neg(Succ(Zero)), y3) 214.33/146.02 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))) 214.33/146.02 new_pr2F0(y0, Neg(Succ(Succ(Succ(Succ(Zero))))), y2, y3) -> H(y2, y0, Succ(Succ(Succ(Zero))), y3, cons_new_pr2F0G10(Zero)) 214.33/146.02 new_pr2F0G10(y0, y1, Succ(Succ(Zero)), Zero, y3) -> new_pr2F0G(y0, new_sr3(y1, y3), Neg(Succ(Zero)), y3) 214.33/146.02 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))) 214.33/146.02 new_pr2F0G(y0, y1, Neg(Succ(Succ(Succ(Succ(Zero))))), y3) -> H(y0, y1, Succ(Succ(Succ(Zero))), y3, cons_new_pr2F0G10(Zero)) 214.33/146.02 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))) 214.33/146.02 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)) 214.33/146.02 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) 214.33/146.02 new_pr2F0G10(y0, y1, Succ(Succ(Succ(Zero))), Zero, y3) -> new_pr2F0G(y0, new_sr3(y1, y3), Neg(Succ(Succ(Zero))), y3) 214.33/146.02 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))) 214.33/146.02 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)) 214.33/146.02 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)) 214.33/146.02 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))) 214.33/146.02 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)) 214.33/146.02 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)) 214.33/146.02 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))) 214.33/146.02 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)) 214.33/146.02 214.33/146.02 The TRS R consists of the following rules: 214.33/146.02 214.33/146.02 new_new_pr2F0G10(Succ(Succ(vyv25200))) -> new_new_pr2F0G10(vyv25200) 214.33/146.02 new_new_pr2F0G10(Succ(Zero)) -> cons_new_pr2F0G10(Succ(Zero)) 214.33/146.02 new_new_pr2F0G10(Zero) -> cons_new_pr2F0G10(Zero) 214.33/146.02 new_sr3(vyv250, ty_Double) -> new_sr11(vyv250) 214.33/146.02 new_sr3(vyv250, ty_Int) -> new_sr7(vyv250) 214.33/146.02 new_sr3(vyv250, ty_Float) -> new_sr12(vyv250) 214.33/146.02 new_sr3(vyv250, ty_Integer) -> new_sr6(vyv250) 214.33/146.02 new_sr3(vyv250, app(ty_Ratio, bf)) -> new_sr5(vyv250, bf) 214.33/146.02 new_sr5(:%(vyv1840, vyv1841), bd) -> new_reduce2Reduce1(vyv1840, vyv1840, vyv1841, vyv1841, new_esEs0(vyv1841, bd), bd) 214.33/146.02 new_esEs0(vyv1841, ty_Int) -> new_esEs(new_sr7(vyv1841)) 214.33/146.02 new_esEs0(vyv1841, ty_Integer) -> new_esEs1(new_sr6(vyv1841)) 214.33/146.02 new_reduce2Reduce1(vyv265, vyv266, vyv267, vyv268, False, bh) -> :%(new_quot0(vyv265, vyv266, vyv267, vyv268, bh), new_quot1(vyv267, vyv268, vyv265, vyv266, bh)) 214.33/146.02 new_reduce2Reduce1(vyv265, vyv266, vyv267, vyv268, True, bh) -> error([]) 214.33/146.02 new_quot0(vyv265, vyv266, vyv267, vyv268, ty_Integer) -> new_quot2(new_sr9(vyv265, vyv266), new_sr9(vyv265, vyv266), new_sr9(vyv267, vyv268)) 214.33/146.02 new_quot0(vyv265, vyv266, vyv267, vyv268, ty_Int) -> new_quot(new_sr10(vyv265, vyv266), new_sr10(vyv265, vyv266), new_sr10(vyv267, vyv268)) 214.33/146.02 new_quot1(vyv267, vyv268, vyv265, vyv266, ty_Int) -> new_quot(new_sr10(vyv267, vyv268), new_sr10(vyv265, vyv266), new_sr10(vyv267, vyv268)) 214.33/146.02 new_quot1(vyv267, vyv268, vyv265, vyv266, ty_Integer) -> new_quot2(new_sr9(vyv267, vyv268), new_sr9(vyv265, vyv266), new_sr9(vyv267, vyv268)) 214.33/146.02 new_sr9(vyv240, vyv239) -> error([]) 214.33/146.02 new_quot2(vyv274, vyv276, vyv275) -> error([]) 214.33/146.02 new_sr10(Pos(vyv2400), Pos(vyv2390)) -> Pos(new_primMulNat0(vyv2400, vyv2390)) 214.33/146.02 new_sr10(Neg(vyv2400), Neg(vyv2390)) -> Pos(new_primMulNat0(vyv2400, vyv2390)) 214.33/146.02 new_sr10(Pos(vyv2400), Neg(vyv2390)) -> Neg(new_primMulNat0(vyv2400, vyv2390)) 214.33/146.02 new_sr10(Neg(vyv2400), Pos(vyv2390)) -> Neg(new_primMulNat0(vyv2400, vyv2390)) 214.33/146.02 new_quot(Pos(vyv2710), vyv273, vyv272) -> new_primQuotInt(vyv2710, new_gcd(vyv273, vyv272)) 214.33/146.02 new_quot(Neg(vyv2710), vyv273, vyv272) -> new_primQuotInt0(vyv2710, new_gcd(vyv273, vyv272)) 214.33/146.02 new_gcd(vyv273, vyv272) -> new_gcd2(new_esEs(vyv273), vyv273, vyv272) 214.33/146.02 new_primQuotInt0(vyv2710, Pos(Succ(vyv28800))) -> Neg(new_primDivNatS1(vyv2710, vyv28800)) 214.33/146.02 new_primQuotInt0(vyv2710, Neg(Zero)) -> new_error 214.33/146.02 new_primQuotInt0(vyv2710, Neg(Succ(vyv28800))) -> Pos(new_primDivNatS1(vyv2710, vyv28800)) 214.33/146.02 new_primQuotInt0(vyv2710, Pos(Zero)) -> new_error 214.33/146.02 new_error -> error([]) 214.33/146.02 new_primDivNatS1(Succ(Zero), Succ(vyv285000)) -> Zero 214.33/146.02 new_primDivNatS1(Succ(Succ(vyv271000)), Succ(vyv285000)) -> new_primDivNatS01(vyv271000, vyv285000, vyv271000, vyv285000) 214.33/146.02 new_primDivNatS1(Zero, vyv28500) -> Zero 214.33/146.02 new_primDivNatS1(Succ(Succ(vyv271000)), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS0(vyv271000), Zero)) 214.33/146.02 new_primDivNatS1(Succ(Zero), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS1, Zero)) 214.33/146.02 new_primMinusNatS1 -> Zero 214.33/146.02 new_primMinusNatS0(vyv271000) -> Succ(vyv271000) 214.33/146.02 new_primDivNatS01(vyv311, vyv312, Succ(vyv3130), Zero) -> new_primDivNatS02(vyv311, vyv312) 214.33/146.02 new_primDivNatS01(vyv311, vyv312, Zero, Succ(vyv3140)) -> Zero 214.33/146.02 new_primDivNatS01(vyv311, vyv312, Succ(vyv3130), Succ(vyv3140)) -> new_primDivNatS01(vyv311, vyv312, vyv3130, vyv3140) 214.33/146.02 new_primDivNatS01(vyv311, vyv312, Zero, Zero) -> new_primDivNatS02(vyv311, vyv312) 214.33/146.02 new_primDivNatS02(vyv311, vyv312) -> Succ(new_primDivNatS1(new_primMinusNatS2(vyv311, vyv312), Succ(vyv312))) 214.33/146.02 new_primMinusNatS2(Zero, Succ(vyv3120)) -> Zero 214.33/146.02 new_primMinusNatS2(Succ(vyv3110), Zero) -> Succ(vyv3110) 214.33/146.02 new_primMinusNatS2(Zero, Zero) -> Zero 214.33/146.02 new_primMinusNatS2(Succ(vyv3110), Succ(vyv3120)) -> new_primMinusNatS2(vyv3110, vyv3120) 214.33/146.02 new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) 214.33/146.02 new_esEs(Pos(Succ(vyv24300))) -> new_primEqInt(Pos(Succ(vyv24300))) 214.33/146.02 new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) 214.33/146.02 new_esEs(Neg(Succ(vyv24300))) -> new_primEqInt(Neg(Succ(vyv24300))) 214.33/146.02 new_gcd2(True, vyv273, vyv272) -> new_gcd1(new_esEs(vyv272), vyv273, vyv272) 214.33/146.02 new_gcd2(False, vyv273, vyv272) -> new_gcd0(vyv273, vyv272) 214.33/146.02 new_gcd0(vyv273, vyv272) -> new_gcd0Gcd'11(new_esEs(new_abs(vyv272)), vyv273, vyv272) 214.33/146.02 new_abs(Neg(Zero)) -> Neg(Zero) 214.33/146.02 new_abs(Neg(Succ(vyv27200))) -> Pos(Succ(vyv27200)) 214.33/146.02 new_abs(Pos(Succ(vyv27200))) -> Pos(Succ(vyv27200)) 214.33/146.02 new_abs(Pos(Zero)) -> Pos(Zero) 214.33/146.02 new_gcd0Gcd'11(True, vyv273, vyv272) -> new_abs(vyv273) 214.33/146.02 new_gcd0Gcd'11(False, vyv273, vyv272) -> new_gcd0Gcd'00(new_abs(vyv273), new_abs(vyv272)) 214.33/146.02 new_gcd0Gcd'00(vyv293, vyv292) -> new_gcd0Gcd'10(new_esEs(new_rem(vyv293, vyv292)), vyv292, vyv293) 214.33/146.02 new_gcd0Gcd'10(False, vyv292, vyv293) -> new_gcd0Gcd'00(vyv292, new_rem(vyv293, vyv292)) 214.33/146.02 new_rem(Pos(vyv2930), Neg(Zero)) -> new_error 214.33/146.02 new_rem(Neg(vyv2930), Pos(Zero)) -> new_error 214.33/146.02 new_rem(Pos(vyv2930), Neg(Succ(vyv29200))) -> Pos(new_primModNatS1(vyv2930, vyv29200)) 214.33/146.02 new_rem(Neg(vyv2930), Pos(Succ(vyv29200))) -> Neg(new_primModNatS1(vyv2930, vyv29200)) 214.33/146.02 new_rem(Pos(vyv2930), Pos(Succ(vyv29200))) -> Pos(new_primModNatS1(vyv2930, vyv29200)) 214.33/146.02 new_rem(Neg(vyv2930), Neg(Zero)) -> new_error 214.33/146.02 new_rem(Neg(vyv2930), Neg(Succ(vyv29200))) -> Neg(new_primModNatS1(vyv2930, vyv29200)) 214.33/146.02 new_rem(Pos(vyv2930), Pos(Zero)) -> new_error 214.33/146.02 new_gcd0Gcd'10(True, vyv292, vyv293) -> vyv292 214.33/146.02 new_primModNatS1(Succ(Zero), Succ(vyv292000)) -> Succ(Zero) 214.33/146.02 new_primModNatS1(Zero, vyv29200) -> Zero 214.33/146.02 new_primModNatS1(Succ(Succ(vyv293000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv293000), Zero) 214.33/146.02 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 214.33/146.02 new_primModNatS1(Succ(Succ(vyv293000)), Succ(vyv292000)) -> new_primModNatS01(vyv293000, vyv292000, vyv293000, vyv292000) 214.33/146.02 new_primModNatS01(vyv331, vyv332, Zero, Zero) -> new_primModNatS02(vyv331, vyv332) 214.33/146.02 new_primModNatS02(vyv331, vyv332) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv331), Succ(vyv332)), Succ(vyv332)) 214.33/146.02 new_primModNatS01(vyv331, vyv332, Succ(vyv3330), Zero) -> new_primModNatS02(vyv331, vyv332) 214.33/146.02 new_primModNatS01(vyv331, vyv332, Succ(vyv3330), Succ(vyv3340)) -> new_primModNatS01(vyv331, vyv332, vyv3330, vyv3340) 214.33/146.02 new_primModNatS01(vyv331, vyv332, Zero, Succ(vyv3340)) -> Succ(Succ(vyv331)) 214.33/146.02 new_gcd1(True, vyv273, vyv272) -> new_error 214.33/146.02 new_gcd1(False, vyv273, vyv272) -> new_gcd0(vyv273, vyv272) 214.33/146.02 new_primEqInt(Neg(Succ(vyv242000))) -> False 214.33/146.02 new_primEqInt(Pos(Zero)) -> True 214.33/146.02 new_primEqInt(Pos(Succ(vyv242000))) -> False 214.33/146.02 new_primEqInt(Neg(Zero)) -> True 214.33/146.02 new_primQuotInt(vyv2710, Pos(Succ(vyv28500))) -> Pos(new_primDivNatS1(vyv2710, vyv28500)) 214.33/146.02 new_primQuotInt(vyv2710, Neg(Zero)) -> new_error 214.33/146.02 new_primQuotInt(vyv2710, Pos(Zero)) -> new_error 214.33/146.02 new_primQuotInt(vyv2710, Neg(Succ(vyv28500))) -> Neg(new_primDivNatS1(vyv2710, vyv28500)) 214.33/146.02 new_primMulNat0(Zero, Succ(vyv23900)) -> Zero 214.33/146.02 new_primMulNat0(Succ(vyv24000), Succ(vyv23900)) -> new_primPlusNat0(new_primMulNat0(vyv24000, Succ(vyv23900)), Succ(vyv23900)) 214.33/146.02 new_primMulNat0(Succ(vyv24000), Zero) -> Zero 214.33/146.02 new_primMulNat0(Zero, Zero) -> Zero 214.33/146.02 new_primPlusNat0(Succ(vyv4000), Succ(vyv6000)) -> Succ(Succ(new_primPlusNat0(vyv4000, vyv6000))) 214.33/146.02 new_primPlusNat0(Zero, Succ(vyv6000)) -> Succ(vyv6000) 214.33/146.02 new_primPlusNat0(Zero, Zero) -> Zero 214.33/146.02 new_primPlusNat0(Succ(vyv4000), Zero) -> Succ(vyv4000) 214.33/146.02 new_sr6(vyv184) -> error([]) 214.33/146.02 new_esEs1(Integer(vyv2700)) -> new_primEqInt(vyv2700) 214.33/146.02 new_sr7(Pos(vyv1840)) -> Pos(new_primMulNat1(vyv1840)) 214.33/146.02 new_sr7(Neg(vyv1840)) -> Pos(new_primMulNat1(vyv1840)) 214.33/146.02 new_primMulNat1(Succ(vyv18400)) -> new_primPlusNat0(new_primMulNat2(vyv18400), Succ(vyv18400)) 214.33/146.02 new_primMulNat1(Zero) -> Zero 214.33/146.02 new_primMulNat2(Succ(vyv184000)) -> new_primPlusNat0(new_primMulNat3(vyv184000), Succ(Succ(vyv184000))) 214.33/146.02 new_primMulNat2(Zero) -> Zero 214.33/146.02 new_primMulNat3(Succ(vyv1840000)) -> new_primPlusNat0(new_primMulNat4(vyv1840000), Succ(Succ(Succ(vyv1840000)))) 214.33/146.02 new_primMulNat3(Zero) -> Zero 214.33/146.02 new_primMulNat4(Succ(vyv18400000)) -> new_primPlusNat0(new_primMulNat0(vyv18400000, Succ(Succ(Succ(Succ(vyv18400000))))), Succ(Succ(Succ(Succ(vyv18400000))))) 214.33/146.02 new_primMulNat4(Zero) -> Zero 214.33/146.02 new_sr12(vyv184) -> error([]) 214.33/146.02 new_sr11(vyv184) -> error([]) 214.33/146.02 new_sr4(vyv240, vyv239, app(ty_Ratio, be)) -> new_sr8(vyv240, vyv239, be) 214.33/146.02 new_sr4(vyv240, vyv239, ty_Float) -> new_sr14(vyv240, vyv239) 214.33/146.02 new_sr4(vyv240, vyv239, ty_Int) -> new_sr10(vyv240, vyv239) 214.33/146.02 new_sr4(vyv240, vyv239, ty_Double) -> new_sr13(vyv240, vyv239) 214.33/146.02 new_sr4(vyv240, vyv239, ty_Integer) -> new_sr9(vyv240, vyv239) 214.33/146.02 new_sr13(vyv240, vyv239) -> error([]) 214.33/146.02 new_sr14(vyv240, vyv239) -> error([]) 214.33/146.02 new_sr8(:%(vyv2400, vyv2401), :%(vyv2390, vyv2391), be) -> new_reduce2Reduce1(vyv2400, vyv2390, vyv2401, vyv2391, new_esEs2(vyv2401, vyv2391, be), be) 214.33/146.02 new_esEs2(vyv2401, vyv2391, ty_Integer) -> new_esEs1(new_sr9(vyv2401, vyv2391)) 214.33/146.02 new_esEs2(vyv2401, vyv2391, ty_Int) -> new_esEs(new_sr10(vyv2401, vyv2391)) 214.33/146.02 214.33/146.02 The set Q consists of the following terms: 214.33/146.02 214.33/146.02 new_sr13(x0, x1) 214.33/146.02 new_primDivNatS01(x0, x1, Zero, Zero) 214.33/146.02 new_gcd0Gcd'11(False, x0, x1) 214.33/146.02 new_primMulNat4(Zero) 214.33/146.02 new_gcd0Gcd'11(True, x0, x1) 214.33/146.02 new_sr5(:%(x0, x1), x2) 214.33/146.02 new_primEqInt(Pos(Zero)) 214.33/146.02 new_esEs(Pos(Succ(x0))) 214.33/146.02 new_primQuotInt0(x0, Neg(Zero)) 214.33/146.02 new_primMulNat3(Zero) 214.33/146.02 new_primModNatS02(x0, x1) 214.33/146.02 new_primDivNatS1(Succ(Zero), Zero) 214.33/146.02 new_primMinusNatS0(x0) 214.33/146.02 new_sr11(x0) 214.33/146.02 new_rem(Pos(x0), Neg(Succ(x1))) 214.33/146.02 new_rem(Neg(x0), Pos(Succ(x1))) 214.33/146.02 new_primMulNat0(Zero, Zero) 214.33/146.02 new_primPlusNat0(Succ(x0), Zero) 214.33/146.02 new_primMulNat0(Succ(x0), Zero) 214.33/146.02 new_sr3(x0, ty_Float) 214.33/146.02 new_primMulNat2(Zero) 214.33/146.02 new_primQuotInt(x0, Pos(Zero)) 214.33/146.02 new_primMulNat2(Succ(x0)) 214.33/146.02 new_primQuotInt(x0, Neg(Zero)) 214.33/146.02 new_rem(Neg(x0), Neg(Succ(x1))) 214.33/146.02 new_primMinusNatS2(Zero, Succ(x0)) 214.33/146.02 new_sr4(x0, x1, ty_Double) 214.33/146.02 new_primMulNat3(Succ(x0)) 214.33/146.02 new_esEs1(Integer(x0)) 214.33/146.02 new_primQuotInt0(x0, Pos(Zero)) 214.33/146.02 new_gcd2(True, x0, x1) 214.33/146.02 new_quot1(x0, x1, x2, x3, ty_Int) 214.33/146.02 new_primDivNatS1(Zero, x0) 214.33/146.02 new_gcd(x0, x1) 214.33/146.02 new_gcd1(False, x0, x1) 214.33/146.02 new_esEs2(x0, x1, ty_Int) 214.33/146.02 new_sr3(x0, ty_Integer) 214.33/146.02 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 214.33/146.02 new_primPlusNat0(Zero, Succ(x0)) 214.33/146.02 new_sr8(:%(x0, x1), :%(x2, x3), x4) 214.33/146.02 new_abs(Neg(Zero)) 214.33/146.02 new_primMinusNatS2(Succ(x0), Zero) 214.33/146.02 new_error 214.33/146.02 new_primModNatS1(Succ(Zero), Zero) 214.33/146.02 new_primMulNat4(Succ(x0)) 214.33/146.02 new_primDivNatS02(x0, x1) 214.33/146.02 new_rem(Neg(x0), Neg(Zero)) 214.33/146.02 new_primEqInt(Neg(Zero)) 214.33/146.02 new_rem(Pos(x0), Pos(Succ(x1))) 214.33/146.02 new_abs(Pos(Succ(x0))) 214.33/146.02 new_primMulNat0(Succ(x0), Succ(x1)) 214.33/146.02 new_primMulNat0(Zero, Succ(x0)) 214.33/146.02 new_reduce2Reduce1(x0, x1, x2, x3, True, x4) 214.33/146.02 new_gcd0Gcd'10(False, x0, x1) 214.33/146.02 new_sr12(x0) 214.33/146.02 new_primDivNatS01(x0, x1, Zero, Succ(x2)) 214.33/146.02 new_sr10(Pos(x0), Pos(x1)) 214.33/146.02 new_primModNatS01(x0, x1, Zero, Succ(x2)) 214.33/146.02 new_primPlusNat0(Zero, Zero) 214.33/146.02 new_primQuotInt0(x0, Pos(Succ(x1))) 214.33/146.02 new_primModNatS01(x0, x1, Succ(x2), Zero) 214.33/146.02 new_primModNatS1(Succ(Succ(x0)), Zero) 214.33/146.02 new_sr4(x0, x1, ty_Integer) 214.33/146.02 new_rem(Pos(x0), Pos(Zero)) 214.33/146.02 new_sr4(x0, x1, ty_Int) 214.33/146.02 new_quot(Pos(x0), x1, x2) 214.33/146.02 new_primMinusNatS2(Zero, Zero) 214.33/146.02 new_esEs0(x0, ty_Int) 214.33/146.02 new_esEs(Pos(Zero)) 214.33/146.02 new_quot(Neg(x0), x1, x2) 214.33/146.02 new_primDivNatS01(x0, x1, Succ(x2), Succ(x3)) 214.33/146.02 new_quot2(x0, x1, x2) 214.33/146.02 new_primEqInt(Neg(Succ(x0))) 214.33/146.02 new_sr10(Neg(x0), Neg(x1)) 214.33/146.02 new_sr3(x0, app(ty_Ratio, x1)) 214.33/146.02 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 214.33/146.02 new_sr9(x0, x1) 214.33/146.02 new_sr7(Neg(x0)) 214.33/146.02 new_primQuotInt0(x0, Neg(Succ(x1))) 214.33/146.02 new_rem(Pos(x0), Neg(Zero)) 214.33/146.02 new_rem(Neg(x0), Pos(Zero)) 214.33/146.02 new_gcd0Gcd'00(x0, x1) 214.33/146.02 new_primQuotInt(x0, Neg(Succ(x1))) 214.33/146.02 new_primMinusNatS2(Succ(x0), Succ(x1)) 214.33/146.02 new_abs(Pos(Zero)) 214.33/146.02 new_quot0(x0, x1, x2, x3, ty_Integer) 214.33/146.02 new_sr6(x0) 214.33/146.02 new_gcd2(False, x0, x1) 214.33/146.02 new_gcd1(True, x0, x1) 214.33/146.02 new_esEs2(x0, x1, ty_Integer) 214.33/146.02 new_primMinusNatS1 214.33/146.02 new_sr7(Pos(x0)) 214.33/146.02 new_gcd0Gcd'10(True, x0, x1) 214.33/146.02 new_primModNatS1(Zero, x0) 214.33/146.02 new_sr4(x0, x1, ty_Float) 214.33/146.02 new_sr10(Pos(x0), Neg(x1)) 214.33/146.02 new_sr10(Neg(x0), Pos(x1)) 214.33/146.02 new_primDivNatS01(x0, x1, Succ(x2), Zero) 214.33/146.02 new_primDivNatS1(Succ(Succ(x0)), Succ(x1)) 214.33/146.02 new_primPlusNat0(Succ(x0), Succ(x1)) 214.33/146.02 new_primDivNatS1(Succ(Zero), Succ(x0)) 214.33/146.02 new_primQuotInt(x0, Pos(Succ(x1))) 214.33/146.02 new_abs(Neg(Succ(x0))) 214.33/146.02 new_esEs0(x0, ty_Integer) 214.33/146.02 new_sr3(x0, ty_Int) 214.33/146.02 new_esEs(Neg(Succ(x0))) 214.33/146.02 new_primModNatS01(x0, x1, Zero, Zero) 214.33/146.02 new_sr4(x0, x1, app(ty_Ratio, x2)) 214.33/146.02 new_gcd0(x0, x1) 214.33/146.02 new_primEqInt(Pos(Succ(x0))) 214.33/146.02 new_sr3(x0, ty_Double) 214.33/146.02 new_quot1(x0, x1, x2, x3, ty_Integer) 214.33/146.02 new_primDivNatS1(Succ(Succ(x0)), Zero) 214.33/146.02 new_primMulNat1(Succ(x0)) 214.33/146.02 new_sr14(x0, x1) 214.33/146.02 new_quot0(x0, x1, x2, x3, ty_Int) 214.33/146.02 new_primModNatS1(Succ(Zero), Succ(x0)) 214.33/146.02 new_reduce2Reduce1(x0, x1, x2, x3, False, x4) 214.33/146.02 new_esEs(Neg(Zero)) 214.33/146.02 new_primMulNat1(Zero) 214.33/146.02 new_new_pr2F0G10(Succ(Succ(x0))) 214.33/146.02 new_new_pr2F0G10(Succ(Zero)) 214.33/146.02 new_new_pr2F0G10(Zero) 214.33/146.02 214.33/146.02 We have to consider all minimal (P,Q,R)-chains. 214.33/146.02 ---------------------------------------- 214.33/146.02 214.33/146.02 (860) 214.33/146.02 Obligation: 214.33/146.02 Q DP problem: 214.33/146.02 The TRS P consists of the following rules: 214.33/146.02 214.33/146.02 new_pr2F0G10(vyv249, vyv250, vyv251, Succ(Succ(vyv25200)), bb) -> new_pr2F0G10(vyv249, vyv250, vyv251, vyv25200, bb) 214.33/146.02 214.33/146.02 R is empty. 214.33/146.02 Q is empty. 214.33/146.02 We have to consider all minimal (P,Q,R)-chains. 214.33/146.02 ---------------------------------------- 214.33/146.02 214.33/146.02 (861) QDPSizeChangeProof (EQUIVALENT) 214.33/146.02 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. 214.33/146.02 214.33/146.02 From the DPs we obtained the following set of size-change graphs: 214.33/146.02 *new_pr2F0G10(vyv249, vyv250, vyv251, Succ(Succ(vyv25200)), bb) -> new_pr2F0G10(vyv249, vyv250, vyv251, vyv25200, bb) 214.33/146.02 The graph contains the following edges 1 >= 1, 2 >= 2, 3 >= 3, 4 > 4, 5 >= 5 214.33/146.02 214.33/146.02 214.33/146.02 ---------------------------------------- 214.33/146.02 214.33/146.02 (862) 214.33/146.02 YES 214.33/146.02 214.33/146.02 ---------------------------------------- 214.33/146.02 214.33/146.02 (863) 214.33/146.02 Obligation: 214.33/146.02 Q DP problem: 214.33/146.02 The TRS P consists of the following rules: 214.33/146.02 214.33/146.02 new_pr2F0(vyv184, Pos(Succ(Succ(vyv223000))), vyv188, h) -> new_pr2F0G1(vyv188, vyv184, Succ(vyv223000), vyv223000, h) 214.33/146.02 new_pr2F0G1(vyv227, vyv228, vyv229, Succ(Succ(vyv23000)), ba) -> new_pr2F0G1(vyv227, vyv228, vyv229, vyv23000, ba) 214.33/146.02 new_pr2F0G1(vyv227, vyv228, vyv229, Succ(Zero), ba) -> new_pr2F(vyv228, vyv229, Pos(Succ(Zero)), vyv227, ba) 214.33/146.02 new_pr2F(vyv228, vyv229, vyv245, vyv227, ba) -> new_pr2F3(new_esEs(new_ms(vyv229, vyv245)), vyv228, vyv229, vyv245, vyv227, ba) 214.33/146.02 new_pr2F3(False, vyv228, vyv229, vyv245, vyv227, ba) -> new_pr2F0(vyv228, new_ms(vyv229, vyv245), new_sr2(vyv228, vyv227, ba), ba) 214.33/146.02 new_pr2F0(vyv184, Pos(Succ(Zero)), vyv188, h) -> new_pr2F(vyv184, Zero, Pos(Succ(Zero)), vyv188, h) 214.33/146.02 new_pr2F0G1(vyv227, vyv228, vyv229, Zero, ba) -> new_pr2F0G(vyv227, new_sr1(vyv228, ba), Pos(new_primDivNatS1(Succ(vyv229), Succ(Zero))), ba) 214.33/146.02 new_pr2F0G(vyv188, vyv184, Pos(Succ(Succ(vyv223000))), h) -> new_pr2F0G1(vyv188, vyv184, Succ(vyv223000), vyv223000, h) 214.33/146.02 new_pr2F0G(vyv188, vyv184, Pos(Succ(Zero)), h) -> new_pr2F(vyv184, Zero, Pos(Succ(Zero)), vyv188, h) 214.33/146.02 214.33/146.02 The TRS R consists of the following rules: 214.33/146.02 214.33/146.02 new_ms0(vyv241, Pos(vyv2440)) -> Neg(new_primPlusNat0(Succ(vyv241), vyv2440)) 214.33/146.02 new_sr4(vyv240, vyv239, app(ty_Ratio, be)) -> new_sr8(vyv240, vyv239, be) 214.33/146.02 new_sr4(vyv240, vyv239, ty_Float) -> new_sr14(vyv240, vyv239) 214.33/146.02 new_sr4(vyv240, vyv239, ty_Int) -> new_sr10(vyv240, vyv239) 214.33/146.02 new_sr4(vyv240, vyv239, ty_Double) -> new_sr13(vyv240, vyv239) 214.33/146.02 new_sr4(vyv240, vyv239, ty_Integer) -> new_sr9(vyv240, vyv239) 214.33/146.02 new_sr9(vyv240, vyv239) -> error([]) 214.33/146.02 new_sr13(vyv240, vyv239) -> error([]) 214.33/146.02 new_sr10(Pos(vyv2400), Pos(vyv2390)) -> Pos(new_primMulNat0(vyv2400, vyv2390)) 214.33/146.02 new_sr10(Neg(vyv2400), Neg(vyv2390)) -> Pos(new_primMulNat0(vyv2400, vyv2390)) 214.33/146.02 new_sr10(Pos(vyv2400), Neg(vyv2390)) -> Neg(new_primMulNat0(vyv2400, vyv2390)) 214.33/146.02 new_sr10(Neg(vyv2400), Pos(vyv2390)) -> Neg(new_primMulNat0(vyv2400, vyv2390)) 214.33/146.02 new_primMulNat0(Zero, Succ(vyv23900)) -> Zero 214.33/146.02 new_primMulNat0(Succ(vyv24000), Succ(vyv23900)) -> new_primPlusNat0(new_primMulNat0(vyv24000, Succ(vyv23900)), Succ(vyv23900)) 214.33/146.02 new_primMulNat0(Succ(vyv24000), Zero) -> Zero 214.33/146.02 new_primMulNat0(Zero, Zero) -> Zero 214.33/146.02 new_primPlusNat0(Succ(vyv4000), Succ(vyv6000)) -> Succ(Succ(new_primPlusNat0(vyv4000, vyv6000))) 214.33/146.02 new_primPlusNat0(Zero, Succ(vyv6000)) -> Succ(vyv6000) 214.33/146.02 new_primPlusNat0(Zero, Zero) -> Zero 214.33/146.02 new_primPlusNat0(Succ(vyv4000), Zero) -> Succ(vyv4000) 214.33/146.02 new_sr14(vyv240, vyv239) -> error([]) 214.33/146.02 new_sr8(:%(vyv2400, vyv2401), :%(vyv2390, vyv2391), be) -> new_reduce2Reduce1(vyv2400, vyv2390, vyv2401, vyv2391, new_esEs2(vyv2401, vyv2391, be), be) 214.33/146.02 new_esEs2(vyv2401, vyv2391, ty_Integer) -> new_esEs1(new_sr9(vyv2401, vyv2391)) 214.33/146.02 new_esEs2(vyv2401, vyv2391, ty_Int) -> new_esEs(new_sr10(vyv2401, vyv2391)) 214.33/146.02 new_reduce2Reduce1(vyv265, vyv266, vyv267, vyv268, False, bh) -> :%(new_quot0(vyv265, vyv266, vyv267, vyv268, bh), new_quot1(vyv267, vyv268, vyv265, vyv266, bh)) 214.33/146.02 new_reduce2Reduce1(vyv265, vyv266, vyv267, vyv268, True, bh) -> error([]) 214.33/146.02 new_quot0(vyv265, vyv266, vyv267, vyv268, ty_Integer) -> new_quot2(new_sr9(vyv265, vyv266), new_sr9(vyv265, vyv266), new_sr9(vyv267, vyv268)) 214.33/146.02 new_quot0(vyv265, vyv266, vyv267, vyv268, ty_Int) -> new_quot(new_sr10(vyv265, vyv266), new_sr10(vyv265, vyv266), new_sr10(vyv267, vyv268)) 214.33/146.02 new_quot1(vyv267, vyv268, vyv265, vyv266, ty_Int) -> new_quot(new_sr10(vyv267, vyv268), new_sr10(vyv265, vyv266), new_sr10(vyv267, vyv268)) 214.33/146.02 new_quot1(vyv267, vyv268, vyv265, vyv266, ty_Integer) -> new_quot2(new_sr9(vyv267, vyv268), new_sr9(vyv265, vyv266), new_sr9(vyv267, vyv268)) 214.33/146.02 new_quot2(vyv274, vyv276, vyv275) -> error([]) 214.33/146.02 new_quot(Pos(vyv2710), vyv273, vyv272) -> new_primQuotInt(vyv2710, new_gcd(vyv273, vyv272)) 214.33/146.02 new_quot(Neg(vyv2710), vyv273, vyv272) -> new_primQuotInt0(vyv2710, new_gcd(vyv273, vyv272)) 214.33/146.02 new_gcd(vyv273, vyv272) -> new_gcd2(new_esEs(vyv273), vyv273, vyv272) 214.33/146.02 new_primQuotInt0(vyv2710, Pos(Succ(vyv28800))) -> Neg(new_primDivNatS1(vyv2710, vyv28800)) 214.33/146.02 new_primQuotInt0(vyv2710, Neg(Zero)) -> new_error 214.33/146.02 new_primQuotInt0(vyv2710, Neg(Succ(vyv28800))) -> Pos(new_primDivNatS1(vyv2710, vyv28800)) 214.33/146.02 new_primQuotInt0(vyv2710, Pos(Zero)) -> new_error 214.33/146.02 new_error -> error([]) 214.33/146.02 new_primDivNatS1(Succ(Zero), Succ(vyv285000)) -> Zero 214.33/146.02 new_primDivNatS1(Succ(Succ(vyv271000)), Succ(vyv285000)) -> new_primDivNatS01(vyv271000, vyv285000, vyv271000, vyv285000) 214.33/146.02 new_primDivNatS1(Zero, vyv28500) -> Zero 214.33/146.02 new_primDivNatS1(Succ(Succ(vyv271000)), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS0(vyv271000), Zero)) 214.33/146.02 new_primDivNatS1(Succ(Zero), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS1, Zero)) 214.33/146.02 new_primMinusNatS1 -> Zero 214.33/146.02 new_primMinusNatS0(vyv271000) -> Succ(vyv271000) 214.33/146.02 new_primDivNatS01(vyv311, vyv312, Succ(vyv3130), Zero) -> new_primDivNatS02(vyv311, vyv312) 214.33/146.02 new_primDivNatS01(vyv311, vyv312, Zero, Succ(vyv3140)) -> Zero 214.33/146.02 new_primDivNatS01(vyv311, vyv312, Succ(vyv3130), Succ(vyv3140)) -> new_primDivNatS01(vyv311, vyv312, vyv3130, vyv3140) 214.33/146.02 new_primDivNatS01(vyv311, vyv312, Zero, Zero) -> new_primDivNatS02(vyv311, vyv312) 214.33/146.02 new_primDivNatS02(vyv311, vyv312) -> Succ(new_primDivNatS1(new_primMinusNatS2(vyv311, vyv312), Succ(vyv312))) 214.33/146.02 new_primMinusNatS2(Zero, Succ(vyv3120)) -> Zero 214.33/146.02 new_primMinusNatS2(Succ(vyv3110), Zero) -> Succ(vyv3110) 214.33/146.02 new_primMinusNatS2(Zero, Zero) -> Zero 214.33/146.02 new_primMinusNatS2(Succ(vyv3110), Succ(vyv3120)) -> new_primMinusNatS2(vyv3110, vyv3120) 214.33/146.02 new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) 214.33/146.02 new_esEs(Pos(Succ(vyv24300))) -> new_primEqInt(Pos(Succ(vyv24300))) 214.33/146.02 new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) 214.33/146.02 new_esEs(Neg(Succ(vyv24300))) -> new_primEqInt(Neg(Succ(vyv24300))) 214.33/146.02 new_gcd2(True, vyv273, vyv272) -> new_gcd1(new_esEs(vyv272), vyv273, vyv272) 214.33/146.02 new_gcd2(False, vyv273, vyv272) -> new_gcd0(vyv273, vyv272) 214.33/146.02 new_gcd0(vyv273, vyv272) -> new_gcd0Gcd'11(new_esEs(new_abs(vyv272)), vyv273, vyv272) 214.33/146.02 new_abs(Neg(Zero)) -> Neg(Zero) 214.33/146.02 new_abs(Neg(Succ(vyv27200))) -> Pos(Succ(vyv27200)) 214.33/146.02 new_abs(Pos(Succ(vyv27200))) -> Pos(Succ(vyv27200)) 214.33/146.02 new_abs(Pos(Zero)) -> Pos(Zero) 214.33/146.02 new_gcd0Gcd'11(True, vyv273, vyv272) -> new_abs(vyv273) 214.33/146.02 new_gcd0Gcd'11(False, vyv273, vyv272) -> new_gcd0Gcd'00(new_abs(vyv273), new_abs(vyv272)) 214.33/146.02 new_gcd0Gcd'10(False, vyv292, vyv293) -> new_gcd0Gcd'00(vyv292, new_rem(vyv293, vyv292)) 214.33/146.02 new_gcd0Gcd'00(vyv293, vyv292) -> new_gcd0Gcd'10(new_esEs(new_rem(vyv293, vyv292)), vyv292, vyv293) 214.33/146.02 new_rem(Pos(vyv2930), Neg(Zero)) -> new_error 214.33/146.02 new_rem(Neg(vyv2930), Pos(Zero)) -> new_error 214.33/146.02 new_rem(Pos(vyv2930), Neg(Succ(vyv29200))) -> Pos(new_primModNatS1(vyv2930, vyv29200)) 214.33/146.02 new_rem(Neg(vyv2930), Pos(Succ(vyv29200))) -> Neg(new_primModNatS1(vyv2930, vyv29200)) 214.33/146.02 new_rem(Pos(vyv2930), Pos(Succ(vyv29200))) -> Pos(new_primModNatS1(vyv2930, vyv29200)) 214.33/146.02 new_rem(Neg(vyv2930), Neg(Zero)) -> new_error 214.33/146.02 new_rem(Neg(vyv2930), Neg(Succ(vyv29200))) -> Neg(new_primModNatS1(vyv2930, vyv29200)) 214.33/146.02 new_rem(Pos(vyv2930), Pos(Zero)) -> new_error 214.33/146.02 new_gcd0Gcd'10(True, vyv292, vyv293) -> vyv292 214.33/146.02 new_primModNatS1(Succ(Zero), Succ(vyv292000)) -> Succ(Zero) 214.33/146.02 new_primModNatS1(Zero, vyv29200) -> Zero 214.33/146.02 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 214.33/146.02 new_primModNatS1(Succ(Succ(vyv293000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv293000), Zero) 214.33/146.02 new_primModNatS1(Succ(Succ(vyv293000)), Succ(vyv292000)) -> new_primModNatS01(vyv293000, vyv292000, vyv293000, vyv292000) 214.33/146.02 new_primModNatS01(vyv331, vyv332, Zero, Zero) -> new_primModNatS02(vyv331, vyv332) 214.33/146.02 new_primModNatS02(vyv331, vyv332) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv331), Succ(vyv332)), Succ(vyv332)) 214.33/146.02 new_primModNatS01(vyv331, vyv332, Succ(vyv3330), Zero) -> new_primModNatS02(vyv331, vyv332) 214.33/146.02 new_primModNatS01(vyv331, vyv332, Succ(vyv3330), Succ(vyv3340)) -> new_primModNatS01(vyv331, vyv332, vyv3330, vyv3340) 214.33/146.02 new_primModNatS01(vyv331, vyv332, Zero, Succ(vyv3340)) -> Succ(Succ(vyv331)) 214.33/146.02 new_gcd1(True, vyv273, vyv272) -> new_error 214.33/146.02 new_gcd1(False, vyv273, vyv272) -> new_gcd0(vyv273, vyv272) 214.33/146.02 new_primEqInt(Neg(Succ(vyv242000))) -> False 214.33/146.02 new_primEqInt(Pos(Zero)) -> True 214.33/146.02 new_primEqInt(Pos(Succ(vyv242000))) -> False 214.33/146.02 new_primEqInt(Neg(Zero)) -> True 214.33/146.02 new_primQuotInt(vyv2710, Pos(Succ(vyv28500))) -> Pos(new_primDivNatS1(vyv2710, vyv28500)) 214.33/146.02 new_primQuotInt(vyv2710, Neg(Zero)) -> new_error 214.33/146.02 new_primQuotInt(vyv2710, Pos(Zero)) -> new_error 214.33/146.02 new_primQuotInt(vyv2710, Neg(Succ(vyv28500))) -> Neg(new_primDivNatS1(vyv2710, vyv28500)) 214.33/146.02 new_esEs1(Integer(vyv2700)) -> new_primEqInt(vyv2700) 214.33/146.02 new_sr1(vyv228, ty_Double) -> new_sr11(vyv228) 214.33/146.02 new_sr1(vyv228, ty_Float) -> new_sr12(vyv228) 214.33/146.02 new_sr1(vyv228, app(ty_Ratio, bg)) -> new_sr5(vyv228, bg) 214.33/146.02 new_sr1(vyv228, ty_Integer) -> new_sr6(vyv228) 214.33/146.02 new_sr1(vyv228, ty_Int) -> new_sr7(vyv228) 214.33/146.02 new_sr7(Pos(vyv1840)) -> Pos(new_primMulNat1(vyv1840)) 214.33/146.03 new_sr7(Neg(vyv1840)) -> Pos(new_primMulNat1(vyv1840)) 214.33/146.03 new_primMulNat1(Succ(vyv18400)) -> new_primPlusNat0(new_primMulNat2(vyv18400), Succ(vyv18400)) 214.33/146.03 new_primMulNat1(Zero) -> Zero 214.33/146.03 new_primMulNat2(Succ(vyv184000)) -> new_primPlusNat0(new_primMulNat3(vyv184000), Succ(Succ(vyv184000))) 214.33/146.03 new_primMulNat2(Zero) -> Zero 214.33/146.03 new_primMulNat3(Succ(vyv1840000)) -> new_primPlusNat0(new_primMulNat4(vyv1840000), Succ(Succ(Succ(vyv1840000)))) 214.33/146.03 new_primMulNat3(Zero) -> Zero 214.33/146.03 new_primMulNat4(Succ(vyv18400000)) -> new_primPlusNat0(new_primMulNat0(vyv18400000, Succ(Succ(Succ(Succ(vyv18400000))))), Succ(Succ(Succ(Succ(vyv18400000))))) 214.33/146.03 new_primMulNat4(Zero) -> Zero 214.33/146.03 new_sr6(vyv184) -> error([]) 214.33/146.03 new_sr5(:%(vyv1840, vyv1841), bd) -> new_reduce2Reduce1(vyv1840, vyv1840, vyv1841, vyv1841, new_esEs0(vyv1841, bd), bd) 214.33/146.03 new_esEs0(vyv1841, ty_Int) -> new_esEs(new_sr7(vyv1841)) 214.33/146.03 new_esEs0(vyv1841, ty_Integer) -> new_esEs1(new_sr6(vyv1841)) 214.33/146.03 new_sr12(vyv184) -> error([]) 214.33/146.03 new_sr11(vyv184) -> error([]) 214.33/146.03 new_ms(vyv229, Neg(vyv2450)) -> Pos(new_primPlusNat0(Succ(vyv229), vyv2450)) 214.33/146.03 new_ms(vyv229, Pos(Succ(vyv24500))) -> new_primMinusNat0(vyv229, vyv24500) 214.33/146.03 new_ms(vyv229, Pos(Zero)) -> Pos(Succ(vyv229)) 214.33/146.03 new_sr2(vyv228, vyv227, ty_Integer) -> new_sr9(vyv228, vyv227) 214.33/146.03 new_sr2(vyv228, vyv227, ty_Int) -> new_sr10(vyv228, vyv227) 214.33/146.03 new_sr2(vyv228, vyv227, app(ty_Ratio, bg)) -> new_sr8(vyv228, vyv227, bg) 214.33/146.03 new_sr2(vyv228, vyv227, ty_Double) -> new_sr13(vyv228, vyv227) 214.33/146.03 new_sr2(vyv228, vyv227, ty_Float) -> new_sr14(vyv228, vyv227) 214.33/146.03 new_primMinusNat0(Succ(vyv2290), Succ(vyv245000)) -> new_primMinusNat0(vyv2290, vyv245000) 214.33/146.03 new_primMinusNat0(Zero, Zero) -> Pos(Zero) 214.33/146.03 new_primMinusNat0(Zero, Succ(vyv245000)) -> Neg(Succ(vyv245000)) 214.33/146.03 new_primMinusNat0(Succ(vyv2290), Zero) -> Pos(Succ(vyv2290)) 214.33/146.03 new_sr3(vyv250, ty_Double) -> new_sr11(vyv250) 214.33/146.03 new_sr3(vyv250, ty_Int) -> new_sr7(vyv250) 214.33/146.03 new_sr3(vyv250, ty_Float) -> new_sr12(vyv250) 214.33/146.03 new_sr3(vyv250, ty_Integer) -> new_sr6(vyv250) 214.33/146.03 new_sr3(vyv250, app(ty_Ratio, bf)) -> new_sr5(vyv250, bf) 214.33/146.03 214.33/146.03 The set Q consists of the following terms: 214.33/146.03 214.33/146.03 new_sr13(x0, x1) 214.33/146.03 new_primDivNatS01(x0, x1, Zero, Zero) 214.33/146.03 new_gcd0Gcd'11(False, x0, x1) 214.33/146.03 new_primMulNat4(Zero) 214.33/146.03 new_gcd0Gcd'11(True, x0, x1) 214.33/146.03 new_sr2(x0, x1, ty_Float) 214.33/146.03 new_sr5(:%(x0, x1), x2) 214.33/146.03 new_primEqInt(Pos(Zero)) 214.33/146.03 new_ms(x0, Neg(x1)) 214.33/146.03 new_sr2(x0, x1, ty_Double) 214.33/146.03 new_esEs(Pos(Succ(x0))) 214.33/146.03 new_primQuotInt0(x0, Neg(Zero)) 214.33/146.03 new_primMulNat3(Zero) 214.33/146.03 new_primModNatS02(x0, x1) 214.33/146.03 new_primDivNatS1(Succ(Zero), Zero) 214.33/146.03 new_primMinusNatS0(x0) 214.33/146.03 new_sr11(x0) 214.33/146.03 new_rem(Pos(x0), Neg(Succ(x1))) 214.33/146.03 new_rem(Neg(x0), Pos(Succ(x1))) 214.33/146.03 new_primMulNat0(Zero, Zero) 214.33/146.03 new_primPlusNat0(Succ(x0), Zero) 214.33/146.03 new_primMulNat0(Succ(x0), Zero) 214.33/146.03 new_sr3(x0, ty_Float) 214.33/146.03 new_primMulNat2(Zero) 214.33/146.03 new_primQuotInt(x0, Pos(Zero)) 214.33/146.03 new_primMulNat2(Succ(x0)) 214.33/146.03 new_primQuotInt(x0, Neg(Zero)) 214.33/146.03 new_rem(Neg(x0), Neg(Succ(x1))) 214.33/146.03 new_primMinusNatS2(Zero, Succ(x0)) 214.33/146.03 new_sr4(x0, x1, ty_Double) 214.33/146.03 new_primMulNat3(Succ(x0)) 214.33/146.03 new_esEs1(Integer(x0)) 214.33/146.03 new_primQuotInt0(x0, Pos(Zero)) 214.33/146.03 new_gcd2(True, x0, x1) 214.33/146.03 new_quot1(x0, x1, x2, x3, ty_Int) 214.33/146.03 new_primDivNatS1(Zero, x0) 214.33/146.03 new_primMinusNat0(Zero, Zero) 214.33/146.03 new_gcd(x0, x1) 214.33/146.03 new_gcd1(False, x0, x1) 214.33/146.03 new_esEs2(x0, x1, ty_Int) 214.33/146.03 new_sr3(x0, ty_Integer) 214.33/146.03 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 214.33/146.03 new_sr1(x0, app(ty_Ratio, x1)) 214.33/146.03 new_sr1(x0, ty_Float) 214.33/146.03 new_primPlusNat0(Zero, Succ(x0)) 214.33/146.03 new_sr8(:%(x0, x1), :%(x2, x3), x4) 214.33/146.03 new_abs(Neg(Zero)) 214.33/146.03 new_primMinusNatS2(Succ(x0), Zero) 214.33/146.03 new_error 214.33/146.03 new_primModNatS1(Succ(Zero), Zero) 214.33/146.03 new_primMulNat4(Succ(x0)) 214.33/146.03 new_sr1(x0, ty_Integer) 214.33/146.03 new_primDivNatS02(x0, x1) 214.33/146.03 new_sr1(x0, ty_Int) 214.33/146.03 new_rem(Neg(x0), Neg(Zero)) 214.33/146.03 new_primMinusNat0(Zero, Succ(x0)) 214.33/146.03 new_primEqInt(Neg(Zero)) 214.33/146.03 new_rem(Pos(x0), Pos(Succ(x1))) 214.33/146.03 new_abs(Pos(Succ(x0))) 214.33/146.03 new_primMulNat0(Succ(x0), Succ(x1)) 214.33/146.03 new_primMulNat0(Zero, Succ(x0)) 214.33/146.03 new_reduce2Reduce1(x0, x1, x2, x3, True, x4) 214.33/146.03 new_gcd0Gcd'10(False, x0, x1) 214.33/146.03 new_sr12(x0) 214.33/146.03 new_primDivNatS01(x0, x1, Zero, Succ(x2)) 214.33/146.03 new_sr10(Pos(x0), Pos(x1)) 214.33/146.03 new_primModNatS01(x0, x1, Zero, Succ(x2)) 214.33/146.03 new_primPlusNat0(Zero, Zero) 214.33/146.03 new_primQuotInt0(x0, Pos(Succ(x1))) 214.33/146.03 new_primModNatS01(x0, x1, Succ(x2), Zero) 214.33/146.03 new_ms(x0, Pos(Succ(x1))) 214.33/146.03 new_primModNatS1(Succ(Succ(x0)), Zero) 214.33/146.03 new_sr4(x0, x1, ty_Integer) 214.33/146.03 new_rem(Pos(x0), Pos(Zero)) 214.33/146.03 new_sr4(x0, x1, ty_Int) 214.33/146.03 new_ms0(x0, Neg(Succ(x1))) 214.33/146.03 new_quot(Pos(x0), x1, x2) 214.33/146.03 new_primMinusNatS2(Zero, Zero) 214.33/146.03 new_esEs0(x0, ty_Int) 214.33/146.03 new_primMinusNat0(Succ(x0), Zero) 214.33/146.03 new_ms0(x0, Pos(x1)) 214.33/146.03 new_esEs(Pos(Zero)) 214.33/146.03 new_quot(Neg(x0), x1, x2) 214.33/146.03 new_primDivNatS01(x0, x1, Succ(x2), Succ(x3)) 214.33/146.03 new_quot2(x0, x1, x2) 214.33/146.03 new_primEqInt(Neg(Succ(x0))) 214.33/146.03 new_sr10(Neg(x0), Neg(x1)) 214.33/146.03 new_sr3(x0, app(ty_Ratio, x1)) 214.33/146.03 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 214.33/146.03 new_sr9(x0, x1) 214.33/146.03 new_sr2(x0, x1, ty_Integer) 214.33/146.03 new_sr7(Neg(x0)) 214.33/146.03 new_sr1(x0, ty_Double) 214.33/146.03 new_primQuotInt0(x0, Neg(Succ(x1))) 214.33/146.03 new_rem(Pos(x0), Neg(Zero)) 214.33/146.03 new_rem(Neg(x0), Pos(Zero)) 214.33/146.03 new_gcd0Gcd'00(x0, x1) 214.33/146.03 new_primQuotInt(x0, Neg(Succ(x1))) 214.33/146.03 new_primMinusNatS2(Succ(x0), Succ(x1)) 214.33/146.03 new_ms(x0, Pos(Zero)) 214.33/146.03 new_abs(Pos(Zero)) 214.33/146.03 new_primMinusNat0(Succ(x0), Succ(x1)) 214.33/146.03 new_quot0(x0, x1, x2, x3, ty_Integer) 214.33/146.03 new_sr6(x0) 214.33/146.03 new_gcd2(False, x0, x1) 214.33/146.03 new_gcd1(True, x0, x1) 214.33/146.03 new_esEs2(x0, x1, ty_Integer) 214.33/146.03 new_primMinusNatS1 214.33/146.03 new_sr7(Pos(x0)) 214.33/146.03 new_gcd0Gcd'10(True, x0, x1) 214.33/146.03 new_primModNatS1(Zero, x0) 214.33/146.03 new_sr4(x0, x1, ty_Float) 214.33/146.03 new_sr10(Pos(x0), Neg(x1)) 214.33/146.03 new_sr10(Neg(x0), Pos(x1)) 214.33/146.03 new_primDivNatS01(x0, x1, Succ(x2), Zero) 214.33/146.03 new_primDivNatS1(Succ(Succ(x0)), Succ(x1)) 214.33/146.03 new_primPlusNat0(Succ(x0), Succ(x1)) 214.33/146.03 new_primDivNatS1(Succ(Zero), Succ(x0)) 214.33/146.03 new_primQuotInt(x0, Pos(Succ(x1))) 214.33/146.03 new_sr2(x0, x1, app(ty_Ratio, x2)) 214.33/146.03 new_abs(Neg(Succ(x0))) 214.33/146.03 new_esEs0(x0, ty_Integer) 214.33/146.03 new_sr3(x0, ty_Int) 214.33/146.03 new_esEs(Neg(Succ(x0))) 214.33/146.03 new_ms0(x0, Neg(Zero)) 214.33/146.03 new_primModNatS01(x0, x1, Zero, Zero) 214.33/146.03 new_sr4(x0, x1, app(ty_Ratio, x2)) 214.33/146.03 new_gcd0(x0, x1) 214.33/146.03 new_primEqInt(Pos(Succ(x0))) 214.33/146.03 new_sr3(x0, ty_Double) 214.33/146.03 new_quot1(x0, x1, x2, x3, ty_Integer) 214.33/146.03 new_primDivNatS1(Succ(Succ(x0)), Zero) 214.33/146.03 new_primMulNat1(Succ(x0)) 214.33/146.03 new_sr14(x0, x1) 214.33/146.03 new_quot0(x0, x1, x2, x3, ty_Int) 214.33/146.03 new_sr2(x0, x1, ty_Int) 214.33/146.03 new_primModNatS1(Succ(Zero), Succ(x0)) 214.33/146.03 new_reduce2Reduce1(x0, x1, x2, x3, False, x4) 214.33/146.03 new_esEs(Neg(Zero)) 214.33/146.03 new_primMulNat1(Zero) 214.33/146.03 214.33/146.03 We have to consider all minimal (P,Q,R)-chains. 214.33/146.03 ---------------------------------------- 214.33/146.03 214.33/146.03 (864) UsableRulesProof (EQUIVALENT) 214.33/146.03 As all Q-normal forms are R-normal forms we are in the innermost case. Hence, by the usable rules processor [LPAR04] we can delete all non-usable rules [FROCOS05] from R. 214.33/146.03 ---------------------------------------- 214.33/146.03 214.33/146.03 (865) 214.33/146.03 Obligation: 214.33/146.03 Q DP problem: 214.33/146.03 The TRS P consists of the following rules: 214.33/146.03 214.33/146.03 new_pr2F0(vyv184, Pos(Succ(Succ(vyv223000))), vyv188, h) -> new_pr2F0G1(vyv188, vyv184, Succ(vyv223000), vyv223000, h) 214.33/146.03 new_pr2F0G1(vyv227, vyv228, vyv229, Succ(Succ(vyv23000)), ba) -> new_pr2F0G1(vyv227, vyv228, vyv229, vyv23000, ba) 214.33/146.03 new_pr2F0G1(vyv227, vyv228, vyv229, Succ(Zero), ba) -> new_pr2F(vyv228, vyv229, Pos(Succ(Zero)), vyv227, ba) 214.33/146.03 new_pr2F(vyv228, vyv229, vyv245, vyv227, ba) -> new_pr2F3(new_esEs(new_ms(vyv229, vyv245)), vyv228, vyv229, vyv245, vyv227, ba) 214.33/146.03 new_pr2F3(False, vyv228, vyv229, vyv245, vyv227, ba) -> new_pr2F0(vyv228, new_ms(vyv229, vyv245), new_sr2(vyv228, vyv227, ba), ba) 214.33/146.03 new_pr2F0(vyv184, Pos(Succ(Zero)), vyv188, h) -> new_pr2F(vyv184, Zero, Pos(Succ(Zero)), vyv188, h) 214.33/146.03 new_pr2F0G1(vyv227, vyv228, vyv229, Zero, ba) -> new_pr2F0G(vyv227, new_sr1(vyv228, ba), Pos(new_primDivNatS1(Succ(vyv229), Succ(Zero))), ba) 214.33/146.03 new_pr2F0G(vyv188, vyv184, Pos(Succ(Succ(vyv223000))), h) -> new_pr2F0G1(vyv188, vyv184, Succ(vyv223000), vyv223000, h) 214.33/146.03 new_pr2F0G(vyv188, vyv184, Pos(Succ(Zero)), h) -> new_pr2F(vyv184, Zero, Pos(Succ(Zero)), vyv188, h) 214.33/146.03 214.33/146.03 The TRS R consists of the following rules: 214.33/146.03 214.33/146.03 new_sr1(vyv228, ty_Double) -> new_sr11(vyv228) 214.33/146.03 new_sr1(vyv228, ty_Float) -> new_sr12(vyv228) 214.33/146.03 new_sr1(vyv228, app(ty_Ratio, bg)) -> new_sr5(vyv228, bg) 214.33/146.03 new_sr1(vyv228, ty_Integer) -> new_sr6(vyv228) 214.33/146.03 new_sr1(vyv228, ty_Int) -> new_sr7(vyv228) 214.33/146.03 new_primDivNatS1(Succ(Zero), Succ(vyv285000)) -> Zero 214.33/146.03 new_primDivNatS1(Succ(Succ(vyv271000)), Succ(vyv285000)) -> new_primDivNatS01(vyv271000, vyv285000, vyv271000, vyv285000) 214.33/146.03 new_primDivNatS01(vyv311, vyv312, Succ(vyv3130), Zero) -> new_primDivNatS02(vyv311, vyv312) 214.33/146.03 new_primDivNatS01(vyv311, vyv312, Zero, Succ(vyv3140)) -> Zero 214.33/146.03 new_primDivNatS01(vyv311, vyv312, Succ(vyv3130), Succ(vyv3140)) -> new_primDivNatS01(vyv311, vyv312, vyv3130, vyv3140) 214.33/146.03 new_primDivNatS01(vyv311, vyv312, Zero, Zero) -> new_primDivNatS02(vyv311, vyv312) 214.33/146.03 new_primDivNatS02(vyv311, vyv312) -> Succ(new_primDivNatS1(new_primMinusNatS2(vyv311, vyv312), Succ(vyv312))) 214.33/146.03 new_primMinusNatS2(Zero, Succ(vyv3120)) -> Zero 214.33/146.03 new_primMinusNatS2(Succ(vyv3110), Zero) -> Succ(vyv3110) 214.33/146.03 new_primMinusNatS2(Zero, Zero) -> Zero 214.33/146.03 new_primMinusNatS2(Succ(vyv3110), Succ(vyv3120)) -> new_primMinusNatS2(vyv3110, vyv3120) 214.33/146.03 new_primDivNatS1(Zero, vyv28500) -> Zero 214.33/146.03 new_sr7(Pos(vyv1840)) -> Pos(new_primMulNat1(vyv1840)) 214.33/146.03 new_sr7(Neg(vyv1840)) -> Pos(new_primMulNat1(vyv1840)) 214.33/146.03 new_primMulNat1(Succ(vyv18400)) -> new_primPlusNat0(new_primMulNat2(vyv18400), Succ(vyv18400)) 214.33/146.03 new_primMulNat1(Zero) -> Zero 214.33/146.03 new_primMulNat2(Succ(vyv184000)) -> new_primPlusNat0(new_primMulNat3(vyv184000), Succ(Succ(vyv184000))) 214.33/146.03 new_primMulNat2(Zero) -> Zero 214.33/146.03 new_primPlusNat0(Succ(vyv4000), Succ(vyv6000)) -> Succ(Succ(new_primPlusNat0(vyv4000, vyv6000))) 214.33/146.03 new_primPlusNat0(Zero, Succ(vyv6000)) -> Succ(vyv6000) 214.33/146.03 new_primPlusNat0(Zero, Zero) -> Zero 214.33/146.03 new_primPlusNat0(Succ(vyv4000), Zero) -> Succ(vyv4000) 214.33/146.03 new_primMulNat3(Succ(vyv1840000)) -> new_primPlusNat0(new_primMulNat4(vyv1840000), Succ(Succ(Succ(vyv1840000)))) 214.33/146.03 new_primMulNat3(Zero) -> Zero 214.33/146.03 new_primMulNat4(Succ(vyv18400000)) -> new_primPlusNat0(new_primMulNat0(vyv18400000, Succ(Succ(Succ(Succ(vyv18400000))))), Succ(Succ(Succ(Succ(vyv18400000))))) 214.33/146.03 new_primMulNat4(Zero) -> Zero 214.33/146.03 new_primMulNat0(Zero, Succ(vyv23900)) -> Zero 214.33/146.03 new_primMulNat0(Succ(vyv24000), Succ(vyv23900)) -> new_primPlusNat0(new_primMulNat0(vyv24000, Succ(vyv23900)), Succ(vyv23900)) 214.33/146.03 new_sr6(vyv184) -> error([]) 214.33/146.03 new_sr5(:%(vyv1840, vyv1841), bd) -> new_reduce2Reduce1(vyv1840, vyv1840, vyv1841, vyv1841, new_esEs0(vyv1841, bd), bd) 214.33/146.03 new_esEs0(vyv1841, ty_Int) -> new_esEs(new_sr7(vyv1841)) 214.33/146.03 new_esEs0(vyv1841, ty_Integer) -> new_esEs1(new_sr6(vyv1841)) 214.33/146.03 new_reduce2Reduce1(vyv265, vyv266, vyv267, vyv268, False, bh) -> :%(new_quot0(vyv265, vyv266, vyv267, vyv268, bh), new_quot1(vyv267, vyv268, vyv265, vyv266, bh)) 214.33/146.03 new_reduce2Reduce1(vyv265, vyv266, vyv267, vyv268, True, bh) -> error([]) 214.33/146.03 new_quot0(vyv265, vyv266, vyv267, vyv268, ty_Integer) -> new_quot2(new_sr9(vyv265, vyv266), new_sr9(vyv265, vyv266), new_sr9(vyv267, vyv268)) 214.33/146.03 new_quot0(vyv265, vyv266, vyv267, vyv268, ty_Int) -> new_quot(new_sr10(vyv265, vyv266), new_sr10(vyv265, vyv266), new_sr10(vyv267, vyv268)) 214.33/146.03 new_quot1(vyv267, vyv268, vyv265, vyv266, ty_Int) -> new_quot(new_sr10(vyv267, vyv268), new_sr10(vyv265, vyv266), new_sr10(vyv267, vyv268)) 214.33/146.03 new_quot1(vyv267, vyv268, vyv265, vyv266, ty_Integer) -> new_quot2(new_sr9(vyv267, vyv268), new_sr9(vyv265, vyv266), new_sr9(vyv267, vyv268)) 214.33/146.03 new_sr9(vyv240, vyv239) -> error([]) 214.33/146.03 new_quot2(vyv274, vyv276, vyv275) -> error([]) 214.33/146.03 new_sr10(Pos(vyv2400), Pos(vyv2390)) -> Pos(new_primMulNat0(vyv2400, vyv2390)) 214.33/146.03 new_sr10(Neg(vyv2400), Neg(vyv2390)) -> Pos(new_primMulNat0(vyv2400, vyv2390)) 214.33/146.03 new_sr10(Pos(vyv2400), Neg(vyv2390)) -> Neg(new_primMulNat0(vyv2400, vyv2390)) 214.33/146.03 new_sr10(Neg(vyv2400), Pos(vyv2390)) -> Neg(new_primMulNat0(vyv2400, vyv2390)) 214.33/146.03 new_quot(Pos(vyv2710), vyv273, vyv272) -> new_primQuotInt(vyv2710, new_gcd(vyv273, vyv272)) 214.33/146.03 new_quot(Neg(vyv2710), vyv273, vyv272) -> new_primQuotInt0(vyv2710, new_gcd(vyv273, vyv272)) 214.33/146.03 new_gcd(vyv273, vyv272) -> new_gcd2(new_esEs(vyv273), vyv273, vyv272) 214.33/146.03 new_primQuotInt0(vyv2710, Pos(Succ(vyv28800))) -> Neg(new_primDivNatS1(vyv2710, vyv28800)) 214.33/146.03 new_primQuotInt0(vyv2710, Neg(Zero)) -> new_error 214.33/146.03 new_primQuotInt0(vyv2710, Neg(Succ(vyv28800))) -> Pos(new_primDivNatS1(vyv2710, vyv28800)) 214.33/146.03 new_primQuotInt0(vyv2710, Pos(Zero)) -> new_error 214.33/146.03 new_error -> error([]) 214.33/146.03 new_primDivNatS1(Succ(Succ(vyv271000)), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS0(vyv271000), Zero)) 214.33/146.03 new_primDivNatS1(Succ(Zero), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS1, Zero)) 214.33/146.03 new_primMinusNatS1 -> Zero 214.33/146.03 new_primMinusNatS0(vyv271000) -> Succ(vyv271000) 214.33/146.03 new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) 214.33/146.03 new_esEs(Pos(Succ(vyv24300))) -> new_primEqInt(Pos(Succ(vyv24300))) 214.33/146.03 new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) 214.33/146.03 new_esEs(Neg(Succ(vyv24300))) -> new_primEqInt(Neg(Succ(vyv24300))) 214.33/146.03 new_gcd2(True, vyv273, vyv272) -> new_gcd1(new_esEs(vyv272), vyv273, vyv272) 214.33/146.03 new_gcd2(False, vyv273, vyv272) -> new_gcd0(vyv273, vyv272) 214.33/146.03 new_gcd0(vyv273, vyv272) -> new_gcd0Gcd'11(new_esEs(new_abs(vyv272)), vyv273, vyv272) 214.33/146.03 new_abs(Neg(Zero)) -> Neg(Zero) 214.33/146.03 new_abs(Neg(Succ(vyv27200))) -> Pos(Succ(vyv27200)) 214.33/146.03 new_abs(Pos(Succ(vyv27200))) -> Pos(Succ(vyv27200)) 214.33/146.03 new_abs(Pos(Zero)) -> Pos(Zero) 214.33/146.03 new_gcd0Gcd'11(True, vyv273, vyv272) -> new_abs(vyv273) 214.33/146.03 new_gcd0Gcd'11(False, vyv273, vyv272) -> new_gcd0Gcd'00(new_abs(vyv273), new_abs(vyv272)) 214.33/146.03 new_gcd0Gcd'10(False, vyv292, vyv293) -> new_gcd0Gcd'00(vyv292, new_rem(vyv293, vyv292)) 214.33/146.03 new_gcd0Gcd'00(vyv293, vyv292) -> new_gcd0Gcd'10(new_esEs(new_rem(vyv293, vyv292)), vyv292, vyv293) 214.33/146.03 new_rem(Pos(vyv2930), Neg(Zero)) -> new_error 214.33/146.03 new_rem(Neg(vyv2930), Pos(Zero)) -> new_error 214.33/146.03 new_rem(Pos(vyv2930), Neg(Succ(vyv29200))) -> Pos(new_primModNatS1(vyv2930, vyv29200)) 214.33/146.03 new_rem(Neg(vyv2930), Pos(Succ(vyv29200))) -> Neg(new_primModNatS1(vyv2930, vyv29200)) 214.33/146.03 new_rem(Pos(vyv2930), Pos(Succ(vyv29200))) -> Pos(new_primModNatS1(vyv2930, vyv29200)) 214.33/146.03 new_rem(Neg(vyv2930), Neg(Zero)) -> new_error 214.33/146.03 new_rem(Neg(vyv2930), Neg(Succ(vyv29200))) -> Neg(new_primModNatS1(vyv2930, vyv29200)) 214.33/146.03 new_rem(Pos(vyv2930), Pos(Zero)) -> new_error 214.33/146.03 new_gcd0Gcd'10(True, vyv292, vyv293) -> vyv292 214.33/146.03 new_primModNatS1(Succ(Zero), Succ(vyv292000)) -> Succ(Zero) 214.33/146.03 new_primModNatS1(Zero, vyv29200) -> Zero 214.33/146.03 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 214.33/146.03 new_primModNatS1(Succ(Succ(vyv293000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv293000), Zero) 214.33/146.03 new_primModNatS1(Succ(Succ(vyv293000)), Succ(vyv292000)) -> new_primModNatS01(vyv293000, vyv292000, vyv293000, vyv292000) 214.33/146.03 new_primModNatS01(vyv331, vyv332, Zero, Zero) -> new_primModNatS02(vyv331, vyv332) 214.33/146.03 new_primModNatS02(vyv331, vyv332) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv331), Succ(vyv332)), Succ(vyv332)) 214.33/146.03 new_primModNatS01(vyv331, vyv332, Succ(vyv3330), Zero) -> new_primModNatS02(vyv331, vyv332) 214.33/146.03 new_primModNatS01(vyv331, vyv332, Succ(vyv3330), Succ(vyv3340)) -> new_primModNatS01(vyv331, vyv332, vyv3330, vyv3340) 214.33/146.03 new_primModNatS01(vyv331, vyv332, Zero, Succ(vyv3340)) -> Succ(Succ(vyv331)) 214.33/146.03 new_gcd1(True, vyv273, vyv272) -> new_error 214.33/146.03 new_gcd1(False, vyv273, vyv272) -> new_gcd0(vyv273, vyv272) 214.33/146.03 new_primEqInt(Neg(Succ(vyv242000))) -> False 214.33/146.03 new_primEqInt(Pos(Zero)) -> True 214.33/146.03 new_primEqInt(Pos(Succ(vyv242000))) -> False 214.33/146.03 new_primEqInt(Neg(Zero)) -> True 214.33/146.03 new_primQuotInt(vyv2710, Pos(Succ(vyv28500))) -> Pos(new_primDivNatS1(vyv2710, vyv28500)) 214.33/146.03 new_primQuotInt(vyv2710, Neg(Zero)) -> new_error 214.33/146.03 new_primQuotInt(vyv2710, Pos(Zero)) -> new_error 214.33/146.03 new_primQuotInt(vyv2710, Neg(Succ(vyv28500))) -> Neg(new_primDivNatS1(vyv2710, vyv28500)) 214.33/146.03 new_primMulNat0(Succ(vyv24000), Zero) -> Zero 214.33/146.03 new_primMulNat0(Zero, Zero) -> Zero 214.33/146.03 new_esEs1(Integer(vyv2700)) -> new_primEqInt(vyv2700) 214.33/146.03 new_sr12(vyv184) -> error([]) 214.33/146.03 new_sr11(vyv184) -> error([]) 214.33/146.03 new_ms(vyv229, Neg(vyv2450)) -> Pos(new_primPlusNat0(Succ(vyv229), vyv2450)) 214.33/146.03 new_ms(vyv229, Pos(Succ(vyv24500))) -> new_primMinusNat0(vyv229, vyv24500) 214.33/146.03 new_ms(vyv229, Pos(Zero)) -> Pos(Succ(vyv229)) 214.33/146.03 new_sr2(vyv228, vyv227, ty_Integer) -> new_sr9(vyv228, vyv227) 214.33/146.03 new_sr2(vyv228, vyv227, ty_Int) -> new_sr10(vyv228, vyv227) 214.33/146.03 new_sr2(vyv228, vyv227, app(ty_Ratio, bg)) -> new_sr8(vyv228, vyv227, bg) 214.33/146.03 new_sr2(vyv228, vyv227, ty_Double) -> new_sr13(vyv228, vyv227) 214.33/146.03 new_sr2(vyv228, vyv227, ty_Float) -> new_sr14(vyv228, vyv227) 214.33/146.03 new_sr14(vyv240, vyv239) -> error([]) 214.33/146.03 new_sr13(vyv240, vyv239) -> error([]) 214.33/146.03 new_sr8(:%(vyv2400, vyv2401), :%(vyv2390, vyv2391), be) -> new_reduce2Reduce1(vyv2400, vyv2390, vyv2401, vyv2391, new_esEs2(vyv2401, vyv2391, be), be) 214.33/146.03 new_esEs2(vyv2401, vyv2391, ty_Integer) -> new_esEs1(new_sr9(vyv2401, vyv2391)) 214.33/146.03 new_esEs2(vyv2401, vyv2391, ty_Int) -> new_esEs(new_sr10(vyv2401, vyv2391)) 214.33/146.03 new_primMinusNat0(Succ(vyv2290), Succ(vyv245000)) -> new_primMinusNat0(vyv2290, vyv245000) 214.33/146.03 new_primMinusNat0(Zero, Zero) -> Pos(Zero) 214.33/146.03 new_primMinusNat0(Zero, Succ(vyv245000)) -> Neg(Succ(vyv245000)) 214.33/146.03 new_primMinusNat0(Succ(vyv2290), Zero) -> Pos(Succ(vyv2290)) 214.33/146.03 214.33/146.03 The set Q consists of the following terms: 214.33/146.03 214.33/146.03 new_sr13(x0, x1) 214.33/146.03 new_primDivNatS01(x0, x1, Zero, Zero) 214.33/146.03 new_gcd0Gcd'11(False, x0, x1) 214.33/146.03 new_primMulNat4(Zero) 214.33/146.03 new_gcd0Gcd'11(True, x0, x1) 214.33/146.03 new_sr2(x0, x1, ty_Float) 214.33/146.03 new_sr5(:%(x0, x1), x2) 214.33/146.03 new_primEqInt(Pos(Zero)) 214.33/146.03 new_ms(x0, Neg(x1)) 214.33/146.03 new_sr2(x0, x1, ty_Double) 214.33/146.03 new_esEs(Pos(Succ(x0))) 214.33/146.03 new_primQuotInt0(x0, Neg(Zero)) 214.33/146.03 new_primMulNat3(Zero) 214.33/146.03 new_primModNatS02(x0, x1) 214.33/146.03 new_primDivNatS1(Succ(Zero), Zero) 214.33/146.03 new_primMinusNatS0(x0) 214.33/146.03 new_sr11(x0) 214.33/146.03 new_rem(Pos(x0), Neg(Succ(x1))) 214.33/146.03 new_rem(Neg(x0), Pos(Succ(x1))) 214.33/146.03 new_primMulNat0(Zero, Zero) 214.33/146.03 new_primPlusNat0(Succ(x0), Zero) 214.33/146.03 new_primMulNat0(Succ(x0), Zero) 214.33/146.03 new_sr3(x0, ty_Float) 214.33/146.03 new_primMulNat2(Zero) 214.33/146.03 new_primQuotInt(x0, Pos(Zero)) 214.33/146.03 new_primMulNat2(Succ(x0)) 214.33/146.03 new_primQuotInt(x0, Neg(Zero)) 214.33/146.03 new_rem(Neg(x0), Neg(Succ(x1))) 214.33/146.03 new_primMinusNatS2(Zero, Succ(x0)) 214.33/146.03 new_sr4(x0, x1, ty_Double) 214.33/146.03 new_primMulNat3(Succ(x0)) 214.33/146.03 new_esEs1(Integer(x0)) 214.33/146.03 new_primQuotInt0(x0, Pos(Zero)) 214.33/146.03 new_gcd2(True, x0, x1) 214.33/146.03 new_quot1(x0, x1, x2, x3, ty_Int) 214.33/146.03 new_primDivNatS1(Zero, x0) 214.33/146.03 new_primMinusNat0(Zero, Zero) 214.33/146.03 new_gcd(x0, x1) 214.33/146.03 new_gcd1(False, x0, x1) 214.33/146.03 new_esEs2(x0, x1, ty_Int) 214.33/146.03 new_sr3(x0, ty_Integer) 214.33/146.03 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 214.33/146.03 new_sr1(x0, app(ty_Ratio, x1)) 214.33/146.03 new_sr1(x0, ty_Float) 214.33/146.03 new_primPlusNat0(Zero, Succ(x0)) 214.33/146.03 new_sr8(:%(x0, x1), :%(x2, x3), x4) 214.33/146.03 new_abs(Neg(Zero)) 214.33/146.03 new_primMinusNatS2(Succ(x0), Zero) 214.33/146.03 new_error 214.33/146.03 new_primModNatS1(Succ(Zero), Zero) 214.33/146.03 new_primMulNat4(Succ(x0)) 214.33/146.03 new_sr1(x0, ty_Integer) 214.33/146.03 new_primDivNatS02(x0, x1) 214.33/146.03 new_sr1(x0, ty_Int) 214.33/146.03 new_rem(Neg(x0), Neg(Zero)) 214.33/146.03 new_primMinusNat0(Zero, Succ(x0)) 214.33/146.03 new_primEqInt(Neg(Zero)) 214.33/146.03 new_rem(Pos(x0), Pos(Succ(x1))) 214.33/146.03 new_abs(Pos(Succ(x0))) 214.33/146.03 new_primMulNat0(Succ(x0), Succ(x1)) 214.33/146.03 new_primMulNat0(Zero, Succ(x0)) 214.33/146.03 new_reduce2Reduce1(x0, x1, x2, x3, True, x4) 214.33/146.03 new_gcd0Gcd'10(False, x0, x1) 214.33/146.03 new_sr12(x0) 214.33/146.03 new_primDivNatS01(x0, x1, Zero, Succ(x2)) 214.33/146.03 new_sr10(Pos(x0), Pos(x1)) 214.33/146.03 new_primModNatS01(x0, x1, Zero, Succ(x2)) 214.33/146.03 new_primPlusNat0(Zero, Zero) 214.33/146.03 new_primQuotInt0(x0, Pos(Succ(x1))) 214.33/146.03 new_primModNatS01(x0, x1, Succ(x2), Zero) 214.33/146.03 new_ms(x0, Pos(Succ(x1))) 214.33/146.03 new_primModNatS1(Succ(Succ(x0)), Zero) 214.33/146.03 new_sr4(x0, x1, ty_Integer) 214.33/146.03 new_rem(Pos(x0), Pos(Zero)) 214.33/146.03 new_sr4(x0, x1, ty_Int) 214.33/146.03 new_ms0(x0, Neg(Succ(x1))) 214.33/146.03 new_quot(Pos(x0), x1, x2) 214.33/146.03 new_primMinusNatS2(Zero, Zero) 214.33/146.03 new_esEs0(x0, ty_Int) 214.33/146.03 new_primMinusNat0(Succ(x0), Zero) 214.33/146.03 new_ms0(x0, Pos(x1)) 214.33/146.03 new_esEs(Pos(Zero)) 214.33/146.03 new_quot(Neg(x0), x1, x2) 214.33/146.03 new_primDivNatS01(x0, x1, Succ(x2), Succ(x3)) 214.33/146.03 new_quot2(x0, x1, x2) 214.33/146.03 new_primEqInt(Neg(Succ(x0))) 214.33/146.03 new_sr10(Neg(x0), Neg(x1)) 214.33/146.03 new_sr3(x0, app(ty_Ratio, x1)) 214.33/146.03 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 214.33/146.03 new_sr9(x0, x1) 214.33/146.03 new_sr2(x0, x1, ty_Integer) 214.33/146.03 new_sr7(Neg(x0)) 214.33/146.03 new_sr1(x0, ty_Double) 214.33/146.03 new_primQuotInt0(x0, Neg(Succ(x1))) 214.33/146.03 new_rem(Pos(x0), Neg(Zero)) 214.33/146.03 new_rem(Neg(x0), Pos(Zero)) 214.33/146.03 new_gcd0Gcd'00(x0, x1) 214.33/146.03 new_primQuotInt(x0, Neg(Succ(x1))) 214.33/146.03 new_primMinusNatS2(Succ(x0), Succ(x1)) 214.33/146.03 new_ms(x0, Pos(Zero)) 214.33/146.03 new_abs(Pos(Zero)) 214.33/146.03 new_primMinusNat0(Succ(x0), Succ(x1)) 214.33/146.03 new_quot0(x0, x1, x2, x3, ty_Integer) 214.33/146.03 new_sr6(x0) 214.33/146.03 new_gcd2(False, x0, x1) 214.33/146.03 new_gcd1(True, x0, x1) 214.33/146.03 new_esEs2(x0, x1, ty_Integer) 214.33/146.03 new_primMinusNatS1 214.33/146.03 new_sr7(Pos(x0)) 214.33/146.03 new_gcd0Gcd'10(True, x0, x1) 214.33/146.03 new_primModNatS1(Zero, x0) 214.33/146.03 new_sr4(x0, x1, ty_Float) 214.33/146.03 new_sr10(Pos(x0), Neg(x1)) 214.33/146.03 new_sr10(Neg(x0), Pos(x1)) 214.33/146.03 new_primDivNatS01(x0, x1, Succ(x2), Zero) 214.33/146.03 new_primDivNatS1(Succ(Succ(x0)), Succ(x1)) 214.33/146.03 new_primPlusNat0(Succ(x0), Succ(x1)) 214.33/146.03 new_primDivNatS1(Succ(Zero), Succ(x0)) 214.33/146.03 new_primQuotInt(x0, Pos(Succ(x1))) 214.33/146.03 new_sr2(x0, x1, app(ty_Ratio, x2)) 214.33/146.03 new_abs(Neg(Succ(x0))) 214.33/146.03 new_esEs0(x0, ty_Integer) 214.33/146.03 new_sr3(x0, ty_Int) 214.33/146.03 new_esEs(Neg(Succ(x0))) 214.33/146.03 new_ms0(x0, Neg(Zero)) 214.33/146.03 new_primModNatS01(x0, x1, Zero, Zero) 214.33/146.03 new_sr4(x0, x1, app(ty_Ratio, x2)) 214.33/146.03 new_gcd0(x0, x1) 214.33/146.03 new_primEqInt(Pos(Succ(x0))) 214.33/146.03 new_sr3(x0, ty_Double) 214.33/146.03 new_quot1(x0, x1, x2, x3, ty_Integer) 214.33/146.03 new_primDivNatS1(Succ(Succ(x0)), Zero) 214.33/146.03 new_primMulNat1(Succ(x0)) 214.33/146.03 new_sr14(x0, x1) 214.33/146.03 new_quot0(x0, x1, x2, x3, ty_Int) 214.33/146.03 new_sr2(x0, x1, ty_Int) 214.33/146.03 new_primModNatS1(Succ(Zero), Succ(x0)) 214.33/146.03 new_reduce2Reduce1(x0, x1, x2, x3, False, x4) 214.33/146.03 new_esEs(Neg(Zero)) 214.33/146.03 new_primMulNat1(Zero) 214.33/146.03 214.33/146.03 We have to consider all minimal (P,Q,R)-chains. 214.33/146.03 ---------------------------------------- 214.33/146.03 214.33/146.03 (866) QReductionProof (EQUIVALENT) 214.33/146.03 We deleted the following terms from Q as each root-symbol of these terms does neither occur in P nor in R.[THIEMANN]. 214.33/146.03 214.33/146.03 new_sr3(x0, ty_Float) 214.33/146.03 new_sr4(x0, x1, ty_Double) 214.33/146.03 new_sr3(x0, ty_Integer) 214.33/146.03 new_sr4(x0, x1, ty_Integer) 214.33/146.03 new_sr4(x0, x1, ty_Int) 214.33/146.03 new_ms0(x0, Neg(Succ(x1))) 214.33/146.03 new_ms0(x0, Pos(x1)) 214.33/146.03 new_sr3(x0, app(ty_Ratio, x1)) 214.33/146.03 new_sr4(x0, x1, ty_Float) 214.33/146.03 new_sr3(x0, ty_Int) 214.33/146.03 new_ms0(x0, Neg(Zero)) 214.33/146.03 new_sr4(x0, x1, app(ty_Ratio, x2)) 214.33/146.03 new_sr3(x0, ty_Double) 214.33/146.03 214.33/146.03 214.33/146.03 ---------------------------------------- 214.33/146.03 214.33/146.03 (867) 214.33/146.03 Obligation: 214.33/146.03 Q DP problem: 214.33/146.03 The TRS P consists of the following rules: 214.33/146.03 214.33/146.03 new_pr2F0(vyv184, Pos(Succ(Succ(vyv223000))), vyv188, h) -> new_pr2F0G1(vyv188, vyv184, Succ(vyv223000), vyv223000, h) 214.33/146.03 new_pr2F0G1(vyv227, vyv228, vyv229, Succ(Succ(vyv23000)), ba) -> new_pr2F0G1(vyv227, vyv228, vyv229, vyv23000, ba) 214.33/146.03 new_pr2F0G1(vyv227, vyv228, vyv229, Succ(Zero), ba) -> new_pr2F(vyv228, vyv229, Pos(Succ(Zero)), vyv227, ba) 214.33/146.03 new_pr2F(vyv228, vyv229, vyv245, vyv227, ba) -> new_pr2F3(new_esEs(new_ms(vyv229, vyv245)), vyv228, vyv229, vyv245, vyv227, ba) 214.33/146.03 new_pr2F3(False, vyv228, vyv229, vyv245, vyv227, ba) -> new_pr2F0(vyv228, new_ms(vyv229, vyv245), new_sr2(vyv228, vyv227, ba), ba) 214.33/146.03 new_pr2F0(vyv184, Pos(Succ(Zero)), vyv188, h) -> new_pr2F(vyv184, Zero, Pos(Succ(Zero)), vyv188, h) 214.33/146.03 new_pr2F0G1(vyv227, vyv228, vyv229, Zero, ba) -> new_pr2F0G(vyv227, new_sr1(vyv228, ba), Pos(new_primDivNatS1(Succ(vyv229), Succ(Zero))), ba) 214.33/146.03 new_pr2F0G(vyv188, vyv184, Pos(Succ(Succ(vyv223000))), h) -> new_pr2F0G1(vyv188, vyv184, Succ(vyv223000), vyv223000, h) 214.33/146.03 new_pr2F0G(vyv188, vyv184, Pos(Succ(Zero)), h) -> new_pr2F(vyv184, Zero, Pos(Succ(Zero)), vyv188, h) 214.33/146.03 214.33/146.03 The TRS R consists of the following rules: 214.33/146.03 214.33/146.03 new_sr1(vyv228, ty_Double) -> new_sr11(vyv228) 214.33/146.03 new_sr1(vyv228, ty_Float) -> new_sr12(vyv228) 214.33/146.03 new_sr1(vyv228, app(ty_Ratio, bg)) -> new_sr5(vyv228, bg) 214.33/146.03 new_sr1(vyv228, ty_Integer) -> new_sr6(vyv228) 214.33/146.03 new_sr1(vyv228, ty_Int) -> new_sr7(vyv228) 214.33/146.03 new_primDivNatS1(Succ(Zero), Succ(vyv285000)) -> Zero 214.33/146.03 new_primDivNatS1(Succ(Succ(vyv271000)), Succ(vyv285000)) -> new_primDivNatS01(vyv271000, vyv285000, vyv271000, vyv285000) 214.33/146.03 new_primDivNatS01(vyv311, vyv312, Succ(vyv3130), Zero) -> new_primDivNatS02(vyv311, vyv312) 214.33/146.03 new_primDivNatS01(vyv311, vyv312, Zero, Succ(vyv3140)) -> Zero 214.33/146.03 new_primDivNatS01(vyv311, vyv312, Succ(vyv3130), Succ(vyv3140)) -> new_primDivNatS01(vyv311, vyv312, vyv3130, vyv3140) 214.33/146.03 new_primDivNatS01(vyv311, vyv312, Zero, Zero) -> new_primDivNatS02(vyv311, vyv312) 214.33/146.03 new_primDivNatS02(vyv311, vyv312) -> Succ(new_primDivNatS1(new_primMinusNatS2(vyv311, vyv312), Succ(vyv312))) 214.33/146.03 new_primMinusNatS2(Zero, Succ(vyv3120)) -> Zero 214.33/146.03 new_primMinusNatS2(Succ(vyv3110), Zero) -> Succ(vyv3110) 214.33/146.03 new_primMinusNatS2(Zero, Zero) -> Zero 214.33/146.03 new_primMinusNatS2(Succ(vyv3110), Succ(vyv3120)) -> new_primMinusNatS2(vyv3110, vyv3120) 214.33/146.03 new_primDivNatS1(Zero, vyv28500) -> Zero 214.33/146.03 new_sr7(Pos(vyv1840)) -> Pos(new_primMulNat1(vyv1840)) 214.33/146.03 new_sr7(Neg(vyv1840)) -> Pos(new_primMulNat1(vyv1840)) 214.33/146.03 new_primMulNat1(Succ(vyv18400)) -> new_primPlusNat0(new_primMulNat2(vyv18400), Succ(vyv18400)) 214.33/146.03 new_primMulNat1(Zero) -> Zero 214.33/146.03 new_primMulNat2(Succ(vyv184000)) -> new_primPlusNat0(new_primMulNat3(vyv184000), Succ(Succ(vyv184000))) 214.33/146.03 new_primMulNat2(Zero) -> Zero 214.33/146.03 new_primPlusNat0(Succ(vyv4000), Succ(vyv6000)) -> Succ(Succ(new_primPlusNat0(vyv4000, vyv6000))) 214.33/146.03 new_primPlusNat0(Zero, Succ(vyv6000)) -> Succ(vyv6000) 214.33/146.03 new_primPlusNat0(Zero, Zero) -> Zero 214.33/146.03 new_primPlusNat0(Succ(vyv4000), Zero) -> Succ(vyv4000) 214.33/146.03 new_primMulNat3(Succ(vyv1840000)) -> new_primPlusNat0(new_primMulNat4(vyv1840000), Succ(Succ(Succ(vyv1840000)))) 214.33/146.03 new_primMulNat3(Zero) -> Zero 214.33/146.03 new_primMulNat4(Succ(vyv18400000)) -> new_primPlusNat0(new_primMulNat0(vyv18400000, Succ(Succ(Succ(Succ(vyv18400000))))), Succ(Succ(Succ(Succ(vyv18400000))))) 214.33/146.03 new_primMulNat4(Zero) -> Zero 214.33/146.03 new_primMulNat0(Zero, Succ(vyv23900)) -> Zero 214.33/146.03 new_primMulNat0(Succ(vyv24000), Succ(vyv23900)) -> new_primPlusNat0(new_primMulNat0(vyv24000, Succ(vyv23900)), Succ(vyv23900)) 214.33/146.03 new_sr6(vyv184) -> error([]) 214.33/146.03 new_sr5(:%(vyv1840, vyv1841), bd) -> new_reduce2Reduce1(vyv1840, vyv1840, vyv1841, vyv1841, new_esEs0(vyv1841, bd), bd) 214.33/146.03 new_esEs0(vyv1841, ty_Int) -> new_esEs(new_sr7(vyv1841)) 214.33/146.03 new_esEs0(vyv1841, ty_Integer) -> new_esEs1(new_sr6(vyv1841)) 214.33/146.03 new_reduce2Reduce1(vyv265, vyv266, vyv267, vyv268, False, bh) -> :%(new_quot0(vyv265, vyv266, vyv267, vyv268, bh), new_quot1(vyv267, vyv268, vyv265, vyv266, bh)) 214.33/146.03 new_reduce2Reduce1(vyv265, vyv266, vyv267, vyv268, True, bh) -> error([]) 214.33/146.03 new_quot0(vyv265, vyv266, vyv267, vyv268, ty_Integer) -> new_quot2(new_sr9(vyv265, vyv266), new_sr9(vyv265, vyv266), new_sr9(vyv267, vyv268)) 214.33/146.03 new_quot0(vyv265, vyv266, vyv267, vyv268, ty_Int) -> new_quot(new_sr10(vyv265, vyv266), new_sr10(vyv265, vyv266), new_sr10(vyv267, vyv268)) 214.33/146.03 new_quot1(vyv267, vyv268, vyv265, vyv266, ty_Int) -> new_quot(new_sr10(vyv267, vyv268), new_sr10(vyv265, vyv266), new_sr10(vyv267, vyv268)) 214.33/146.03 new_quot1(vyv267, vyv268, vyv265, vyv266, ty_Integer) -> new_quot2(new_sr9(vyv267, vyv268), new_sr9(vyv265, vyv266), new_sr9(vyv267, vyv268)) 214.33/146.03 new_sr9(vyv240, vyv239) -> error([]) 214.33/146.03 new_quot2(vyv274, vyv276, vyv275) -> error([]) 214.33/146.03 new_sr10(Pos(vyv2400), Pos(vyv2390)) -> Pos(new_primMulNat0(vyv2400, vyv2390)) 214.33/146.03 new_sr10(Neg(vyv2400), Neg(vyv2390)) -> Pos(new_primMulNat0(vyv2400, vyv2390)) 214.33/146.03 new_sr10(Pos(vyv2400), Neg(vyv2390)) -> Neg(new_primMulNat0(vyv2400, vyv2390)) 214.33/146.03 new_sr10(Neg(vyv2400), Pos(vyv2390)) -> Neg(new_primMulNat0(vyv2400, vyv2390)) 214.33/146.03 new_quot(Pos(vyv2710), vyv273, vyv272) -> new_primQuotInt(vyv2710, new_gcd(vyv273, vyv272)) 214.33/146.03 new_quot(Neg(vyv2710), vyv273, vyv272) -> new_primQuotInt0(vyv2710, new_gcd(vyv273, vyv272)) 214.33/146.03 new_gcd(vyv273, vyv272) -> new_gcd2(new_esEs(vyv273), vyv273, vyv272) 214.33/146.03 new_primQuotInt0(vyv2710, Pos(Succ(vyv28800))) -> Neg(new_primDivNatS1(vyv2710, vyv28800)) 214.33/146.03 new_primQuotInt0(vyv2710, Neg(Zero)) -> new_error 214.33/146.03 new_primQuotInt0(vyv2710, Neg(Succ(vyv28800))) -> Pos(new_primDivNatS1(vyv2710, vyv28800)) 214.33/146.03 new_primQuotInt0(vyv2710, Pos(Zero)) -> new_error 214.33/146.03 new_error -> error([]) 214.33/146.03 new_primDivNatS1(Succ(Succ(vyv271000)), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS0(vyv271000), Zero)) 214.33/146.03 new_primDivNatS1(Succ(Zero), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS1, Zero)) 214.33/146.03 new_primMinusNatS1 -> Zero 214.33/146.03 new_primMinusNatS0(vyv271000) -> Succ(vyv271000) 214.33/146.03 new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) 214.33/146.03 new_esEs(Pos(Succ(vyv24300))) -> new_primEqInt(Pos(Succ(vyv24300))) 214.33/146.03 new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) 214.33/146.03 new_esEs(Neg(Succ(vyv24300))) -> new_primEqInt(Neg(Succ(vyv24300))) 214.33/146.03 new_gcd2(True, vyv273, vyv272) -> new_gcd1(new_esEs(vyv272), vyv273, vyv272) 214.33/146.03 new_gcd2(False, vyv273, vyv272) -> new_gcd0(vyv273, vyv272) 214.33/146.03 new_gcd0(vyv273, vyv272) -> new_gcd0Gcd'11(new_esEs(new_abs(vyv272)), vyv273, vyv272) 214.33/146.03 new_abs(Neg(Zero)) -> Neg(Zero) 214.33/146.03 new_abs(Neg(Succ(vyv27200))) -> Pos(Succ(vyv27200)) 214.33/146.03 new_abs(Pos(Succ(vyv27200))) -> Pos(Succ(vyv27200)) 214.33/146.03 new_abs(Pos(Zero)) -> Pos(Zero) 214.33/146.03 new_gcd0Gcd'11(True, vyv273, vyv272) -> new_abs(vyv273) 214.33/146.03 new_gcd0Gcd'11(False, vyv273, vyv272) -> new_gcd0Gcd'00(new_abs(vyv273), new_abs(vyv272)) 214.33/146.03 new_gcd0Gcd'10(False, vyv292, vyv293) -> new_gcd0Gcd'00(vyv292, new_rem(vyv293, vyv292)) 214.33/146.03 new_gcd0Gcd'00(vyv293, vyv292) -> new_gcd0Gcd'10(new_esEs(new_rem(vyv293, vyv292)), vyv292, vyv293) 214.33/146.03 new_rem(Pos(vyv2930), Neg(Zero)) -> new_error 214.33/146.03 new_rem(Neg(vyv2930), Pos(Zero)) -> new_error 214.33/146.03 new_rem(Pos(vyv2930), Neg(Succ(vyv29200))) -> Pos(new_primModNatS1(vyv2930, vyv29200)) 214.33/146.03 new_rem(Neg(vyv2930), Pos(Succ(vyv29200))) -> Neg(new_primModNatS1(vyv2930, vyv29200)) 214.33/146.03 new_rem(Pos(vyv2930), Pos(Succ(vyv29200))) -> Pos(new_primModNatS1(vyv2930, vyv29200)) 214.33/146.03 new_rem(Neg(vyv2930), Neg(Zero)) -> new_error 214.33/146.03 new_rem(Neg(vyv2930), Neg(Succ(vyv29200))) -> Neg(new_primModNatS1(vyv2930, vyv29200)) 214.33/146.03 new_rem(Pos(vyv2930), Pos(Zero)) -> new_error 214.33/146.03 new_gcd0Gcd'10(True, vyv292, vyv293) -> vyv292 214.33/146.03 new_primModNatS1(Succ(Zero), Succ(vyv292000)) -> Succ(Zero) 214.33/146.03 new_primModNatS1(Zero, vyv29200) -> Zero 214.33/146.03 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 214.33/146.03 new_primModNatS1(Succ(Succ(vyv293000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv293000), Zero) 214.33/146.03 new_primModNatS1(Succ(Succ(vyv293000)), Succ(vyv292000)) -> new_primModNatS01(vyv293000, vyv292000, vyv293000, vyv292000) 214.33/146.03 new_primModNatS01(vyv331, vyv332, Zero, Zero) -> new_primModNatS02(vyv331, vyv332) 214.33/146.03 new_primModNatS02(vyv331, vyv332) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv331), Succ(vyv332)), Succ(vyv332)) 214.33/146.03 new_primModNatS01(vyv331, vyv332, Succ(vyv3330), Zero) -> new_primModNatS02(vyv331, vyv332) 214.33/146.03 new_primModNatS01(vyv331, vyv332, Succ(vyv3330), Succ(vyv3340)) -> new_primModNatS01(vyv331, vyv332, vyv3330, vyv3340) 214.33/146.03 new_primModNatS01(vyv331, vyv332, Zero, Succ(vyv3340)) -> Succ(Succ(vyv331)) 214.33/146.03 new_gcd1(True, vyv273, vyv272) -> new_error 214.33/146.03 new_gcd1(False, vyv273, vyv272) -> new_gcd0(vyv273, vyv272) 214.33/146.03 new_primEqInt(Neg(Succ(vyv242000))) -> False 214.33/146.03 new_primEqInt(Pos(Zero)) -> True 214.33/146.03 new_primEqInt(Pos(Succ(vyv242000))) -> False 214.33/146.03 new_primEqInt(Neg(Zero)) -> True 214.33/146.03 new_primQuotInt(vyv2710, Pos(Succ(vyv28500))) -> Pos(new_primDivNatS1(vyv2710, vyv28500)) 214.33/146.03 new_primQuotInt(vyv2710, Neg(Zero)) -> new_error 214.33/146.03 new_primQuotInt(vyv2710, Pos(Zero)) -> new_error 214.33/146.03 new_primQuotInt(vyv2710, Neg(Succ(vyv28500))) -> Neg(new_primDivNatS1(vyv2710, vyv28500)) 214.33/146.03 new_primMulNat0(Succ(vyv24000), Zero) -> Zero 214.33/146.03 new_primMulNat0(Zero, Zero) -> Zero 214.33/146.03 new_esEs1(Integer(vyv2700)) -> new_primEqInt(vyv2700) 214.33/146.03 new_sr12(vyv184) -> error([]) 214.33/146.03 new_sr11(vyv184) -> error([]) 214.33/146.03 new_ms(vyv229, Neg(vyv2450)) -> Pos(new_primPlusNat0(Succ(vyv229), vyv2450)) 214.33/146.03 new_ms(vyv229, Pos(Succ(vyv24500))) -> new_primMinusNat0(vyv229, vyv24500) 214.33/146.03 new_ms(vyv229, Pos(Zero)) -> Pos(Succ(vyv229)) 214.33/146.03 new_sr2(vyv228, vyv227, ty_Integer) -> new_sr9(vyv228, vyv227) 214.33/146.03 new_sr2(vyv228, vyv227, ty_Int) -> new_sr10(vyv228, vyv227) 214.33/146.03 new_sr2(vyv228, vyv227, app(ty_Ratio, bg)) -> new_sr8(vyv228, vyv227, bg) 214.33/146.03 new_sr2(vyv228, vyv227, ty_Double) -> new_sr13(vyv228, vyv227) 214.33/146.03 new_sr2(vyv228, vyv227, ty_Float) -> new_sr14(vyv228, vyv227) 214.33/146.03 new_sr14(vyv240, vyv239) -> error([]) 214.33/146.03 new_sr13(vyv240, vyv239) -> error([]) 214.33/146.03 new_sr8(:%(vyv2400, vyv2401), :%(vyv2390, vyv2391), be) -> new_reduce2Reduce1(vyv2400, vyv2390, vyv2401, vyv2391, new_esEs2(vyv2401, vyv2391, be), be) 214.33/146.03 new_esEs2(vyv2401, vyv2391, ty_Integer) -> new_esEs1(new_sr9(vyv2401, vyv2391)) 214.33/146.03 new_esEs2(vyv2401, vyv2391, ty_Int) -> new_esEs(new_sr10(vyv2401, vyv2391)) 214.33/146.03 new_primMinusNat0(Succ(vyv2290), Succ(vyv245000)) -> new_primMinusNat0(vyv2290, vyv245000) 214.33/146.03 new_primMinusNat0(Zero, Zero) -> Pos(Zero) 214.33/146.03 new_primMinusNat0(Zero, Succ(vyv245000)) -> Neg(Succ(vyv245000)) 214.33/146.03 new_primMinusNat0(Succ(vyv2290), Zero) -> Pos(Succ(vyv2290)) 214.33/146.03 214.33/146.03 The set Q consists of the following terms: 214.33/146.03 214.33/146.03 new_sr13(x0, x1) 214.33/146.03 new_primDivNatS01(x0, x1, Zero, Zero) 214.33/146.03 new_gcd0Gcd'11(False, x0, x1) 214.33/146.03 new_primMulNat4(Zero) 214.33/146.03 new_gcd0Gcd'11(True, x0, x1) 214.33/146.03 new_sr2(x0, x1, ty_Float) 214.33/146.03 new_sr5(:%(x0, x1), x2) 214.33/146.03 new_primEqInt(Pos(Zero)) 214.33/146.03 new_ms(x0, Neg(x1)) 214.33/146.03 new_sr2(x0, x1, ty_Double) 214.33/146.03 new_esEs(Pos(Succ(x0))) 214.33/146.03 new_primQuotInt0(x0, Neg(Zero)) 214.33/146.03 new_primMulNat3(Zero) 214.33/146.03 new_primModNatS02(x0, x1) 214.33/146.03 new_primDivNatS1(Succ(Zero), Zero) 214.33/146.03 new_primMinusNatS0(x0) 214.33/146.03 new_sr11(x0) 214.33/146.03 new_rem(Pos(x0), Neg(Succ(x1))) 214.33/146.03 new_rem(Neg(x0), Pos(Succ(x1))) 214.33/146.03 new_primMulNat0(Zero, Zero) 214.33/146.03 new_primPlusNat0(Succ(x0), Zero) 214.33/146.03 new_primMulNat0(Succ(x0), Zero) 214.33/146.03 new_primMulNat2(Zero) 214.33/146.03 new_primQuotInt(x0, Pos(Zero)) 214.33/146.03 new_primMulNat2(Succ(x0)) 214.33/146.03 new_primQuotInt(x0, Neg(Zero)) 214.33/146.03 new_rem(Neg(x0), Neg(Succ(x1))) 214.33/146.03 new_primMinusNatS2(Zero, Succ(x0)) 214.33/146.03 new_primMulNat3(Succ(x0)) 214.33/146.03 new_esEs1(Integer(x0)) 214.33/146.03 new_primQuotInt0(x0, Pos(Zero)) 214.33/146.03 new_gcd2(True, x0, x1) 214.33/146.03 new_quot1(x0, x1, x2, x3, ty_Int) 214.33/146.03 new_primDivNatS1(Zero, x0) 214.33/146.03 new_primMinusNat0(Zero, Zero) 214.33/146.03 new_gcd(x0, x1) 214.33/146.03 new_gcd1(False, x0, x1) 214.33/146.03 new_esEs2(x0, x1, ty_Int) 214.33/146.03 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 214.33/146.03 new_sr1(x0, app(ty_Ratio, x1)) 214.33/146.03 new_sr1(x0, ty_Float) 214.33/146.03 new_primPlusNat0(Zero, Succ(x0)) 214.33/146.03 new_sr8(:%(x0, x1), :%(x2, x3), x4) 214.33/146.03 new_abs(Neg(Zero)) 214.33/146.03 new_primMinusNatS2(Succ(x0), Zero) 214.33/146.03 new_error 214.33/146.03 new_primModNatS1(Succ(Zero), Zero) 214.33/146.03 new_primMulNat4(Succ(x0)) 214.33/146.03 new_sr1(x0, ty_Integer) 214.33/146.03 new_primDivNatS02(x0, x1) 214.33/146.03 new_sr1(x0, ty_Int) 214.33/146.03 new_rem(Neg(x0), Neg(Zero)) 214.33/146.03 new_primMinusNat0(Zero, Succ(x0)) 214.33/146.03 new_primEqInt(Neg(Zero)) 214.33/146.03 new_rem(Pos(x0), Pos(Succ(x1))) 214.33/146.03 new_abs(Pos(Succ(x0))) 214.33/146.03 new_primMulNat0(Succ(x0), Succ(x1)) 214.33/146.03 new_primMulNat0(Zero, Succ(x0)) 214.33/146.03 new_reduce2Reduce1(x0, x1, x2, x3, True, x4) 214.33/146.03 new_gcd0Gcd'10(False, x0, x1) 214.33/146.03 new_sr12(x0) 214.33/146.03 new_primDivNatS01(x0, x1, Zero, Succ(x2)) 214.33/146.03 new_sr10(Pos(x0), Pos(x1)) 214.33/146.03 new_primModNatS01(x0, x1, Zero, Succ(x2)) 214.33/146.03 new_primPlusNat0(Zero, Zero) 214.33/146.03 new_primQuotInt0(x0, Pos(Succ(x1))) 214.33/146.03 new_primModNatS01(x0, x1, Succ(x2), Zero) 214.33/146.03 new_ms(x0, Pos(Succ(x1))) 214.33/146.03 new_primModNatS1(Succ(Succ(x0)), Zero) 214.33/146.03 new_rem(Pos(x0), Pos(Zero)) 214.33/146.03 new_quot(Pos(x0), x1, x2) 214.33/146.03 new_primMinusNatS2(Zero, Zero) 214.33/146.03 new_esEs0(x0, ty_Int) 214.33/146.03 new_primMinusNat0(Succ(x0), Zero) 214.33/146.03 new_esEs(Pos(Zero)) 214.33/146.03 new_quot(Neg(x0), x1, x2) 214.33/146.03 new_primDivNatS01(x0, x1, Succ(x2), Succ(x3)) 214.33/146.03 new_quot2(x0, x1, x2) 214.33/146.03 new_primEqInt(Neg(Succ(x0))) 214.33/146.03 new_sr10(Neg(x0), Neg(x1)) 214.33/146.03 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 214.33/146.03 new_sr9(x0, x1) 214.33/146.03 new_sr2(x0, x1, ty_Integer) 214.33/146.03 new_sr7(Neg(x0)) 214.33/146.03 new_sr1(x0, ty_Double) 214.33/146.03 new_primQuotInt0(x0, Neg(Succ(x1))) 214.33/146.03 new_rem(Pos(x0), Neg(Zero)) 214.33/146.03 new_rem(Neg(x0), Pos(Zero)) 214.33/146.03 new_gcd0Gcd'00(x0, x1) 214.33/146.03 new_primQuotInt(x0, Neg(Succ(x1))) 214.33/146.03 new_primMinusNatS2(Succ(x0), Succ(x1)) 214.33/146.03 new_ms(x0, Pos(Zero)) 214.33/146.03 new_abs(Pos(Zero)) 214.33/146.03 new_primMinusNat0(Succ(x0), Succ(x1)) 214.33/146.03 new_quot0(x0, x1, x2, x3, ty_Integer) 214.33/146.03 new_sr6(x0) 214.33/146.03 new_gcd2(False, x0, x1) 214.33/146.03 new_gcd1(True, x0, x1) 214.33/146.03 new_esEs2(x0, x1, ty_Integer) 214.33/146.03 new_primMinusNatS1 214.33/146.03 new_sr7(Pos(x0)) 214.33/146.03 new_gcd0Gcd'10(True, x0, x1) 214.33/146.03 new_primModNatS1(Zero, x0) 214.33/146.03 new_sr10(Pos(x0), Neg(x1)) 214.33/146.03 new_sr10(Neg(x0), Pos(x1)) 214.33/146.03 new_primDivNatS01(x0, x1, Succ(x2), Zero) 214.33/146.03 new_primDivNatS1(Succ(Succ(x0)), Succ(x1)) 214.33/146.03 new_primPlusNat0(Succ(x0), Succ(x1)) 214.33/146.03 new_primDivNatS1(Succ(Zero), Succ(x0)) 214.33/146.03 new_primQuotInt(x0, Pos(Succ(x1))) 214.33/146.03 new_sr2(x0, x1, app(ty_Ratio, x2)) 214.33/146.03 new_abs(Neg(Succ(x0))) 214.33/146.03 new_esEs0(x0, ty_Integer) 214.33/146.03 new_esEs(Neg(Succ(x0))) 214.33/146.03 new_primModNatS01(x0, x1, Zero, Zero) 214.33/146.03 new_gcd0(x0, x1) 214.33/146.03 new_primEqInt(Pos(Succ(x0))) 214.33/146.03 new_quot1(x0, x1, x2, x3, ty_Integer) 214.33/146.03 new_primDivNatS1(Succ(Succ(x0)), Zero) 214.33/146.03 new_primMulNat1(Succ(x0)) 214.33/146.03 new_sr14(x0, x1) 214.33/146.03 new_quot0(x0, x1, x2, x3, ty_Int) 214.33/146.03 new_sr2(x0, x1, ty_Int) 214.33/146.03 new_primModNatS1(Succ(Zero), Succ(x0)) 214.33/146.03 new_reduce2Reduce1(x0, x1, x2, x3, False, x4) 214.33/146.03 new_esEs(Neg(Zero)) 214.33/146.03 new_primMulNat1(Zero) 214.33/146.03 214.33/146.03 We have to consider all minimal (P,Q,R)-chains. 214.33/146.03 ---------------------------------------- 214.33/146.03 214.33/146.03 (868) TransformationProof (EQUIVALENT) 214.33/146.03 By instantiating [LPAR04] the rule new_pr2F(vyv228, vyv229, vyv245, vyv227, ba) -> new_pr2F3(new_esEs(new_ms(vyv229, vyv245)), vyv228, vyv229, vyv245, vyv227, ba) we obtained the following new rules [LPAR04]: 214.33/146.03 214.33/146.03 (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)) 214.33/146.03 (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)) 214.33/146.03 214.33/146.03 214.33/146.03 ---------------------------------------- 214.33/146.03 214.33/146.03 (869) 214.33/146.03 Obligation: 214.33/146.03 Q DP problem: 214.33/146.03 The TRS P consists of the following rules: 214.33/146.03 214.33/146.03 new_pr2F0(vyv184, Pos(Succ(Succ(vyv223000))), vyv188, h) -> new_pr2F0G1(vyv188, vyv184, Succ(vyv223000), vyv223000, h) 214.33/146.03 new_pr2F0G1(vyv227, vyv228, vyv229, Succ(Succ(vyv23000)), ba) -> new_pr2F0G1(vyv227, vyv228, vyv229, vyv23000, ba) 214.33/146.03 new_pr2F0G1(vyv227, vyv228, vyv229, Succ(Zero), ba) -> new_pr2F(vyv228, vyv229, Pos(Succ(Zero)), vyv227, ba) 214.33/146.03 new_pr2F3(False, vyv228, vyv229, vyv245, vyv227, ba) -> new_pr2F0(vyv228, new_ms(vyv229, vyv245), new_sr2(vyv228, vyv227, ba), ba) 214.33/146.03 new_pr2F0(vyv184, Pos(Succ(Zero)), vyv188, h) -> new_pr2F(vyv184, Zero, Pos(Succ(Zero)), vyv188, h) 214.33/146.03 new_pr2F0G1(vyv227, vyv228, vyv229, Zero, ba) -> new_pr2F0G(vyv227, new_sr1(vyv228, ba), Pos(new_primDivNatS1(Succ(vyv229), Succ(Zero))), ba) 214.33/146.03 new_pr2F0G(vyv188, vyv184, Pos(Succ(Succ(vyv223000))), h) -> new_pr2F0G1(vyv188, vyv184, Succ(vyv223000), vyv223000, h) 214.33/146.03 new_pr2F0G(vyv188, vyv184, Pos(Succ(Zero)), h) -> new_pr2F(vyv184, Zero, Pos(Succ(Zero)), vyv188, h) 214.33/146.03 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) 214.33/146.03 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) 214.33/146.03 214.33/146.03 The TRS R consists of the following rules: 214.33/146.03 214.33/146.03 new_sr1(vyv228, ty_Double) -> new_sr11(vyv228) 214.33/146.03 new_sr1(vyv228, ty_Float) -> new_sr12(vyv228) 214.33/146.03 new_sr1(vyv228, app(ty_Ratio, bg)) -> new_sr5(vyv228, bg) 214.33/146.03 new_sr1(vyv228, ty_Integer) -> new_sr6(vyv228) 214.33/146.03 new_sr1(vyv228, ty_Int) -> new_sr7(vyv228) 214.33/146.03 new_primDivNatS1(Succ(Zero), Succ(vyv285000)) -> Zero 214.33/146.03 new_primDivNatS1(Succ(Succ(vyv271000)), Succ(vyv285000)) -> new_primDivNatS01(vyv271000, vyv285000, vyv271000, vyv285000) 214.33/146.03 new_primDivNatS01(vyv311, vyv312, Succ(vyv3130), Zero) -> new_primDivNatS02(vyv311, vyv312) 214.33/146.03 new_primDivNatS01(vyv311, vyv312, Zero, Succ(vyv3140)) -> Zero 214.33/146.03 new_primDivNatS01(vyv311, vyv312, Succ(vyv3130), Succ(vyv3140)) -> new_primDivNatS01(vyv311, vyv312, vyv3130, vyv3140) 214.33/146.03 new_primDivNatS01(vyv311, vyv312, Zero, Zero) -> new_primDivNatS02(vyv311, vyv312) 214.33/146.03 new_primDivNatS02(vyv311, vyv312) -> Succ(new_primDivNatS1(new_primMinusNatS2(vyv311, vyv312), Succ(vyv312))) 214.33/146.03 new_primMinusNatS2(Zero, Succ(vyv3120)) -> Zero 214.33/146.03 new_primMinusNatS2(Succ(vyv3110), Zero) -> Succ(vyv3110) 214.33/146.03 new_primMinusNatS2(Zero, Zero) -> Zero 214.33/146.03 new_primMinusNatS2(Succ(vyv3110), Succ(vyv3120)) -> new_primMinusNatS2(vyv3110, vyv3120) 214.33/146.03 new_primDivNatS1(Zero, vyv28500) -> Zero 214.33/146.03 new_sr7(Pos(vyv1840)) -> Pos(new_primMulNat1(vyv1840)) 214.33/146.03 new_sr7(Neg(vyv1840)) -> Pos(new_primMulNat1(vyv1840)) 214.33/146.03 new_primMulNat1(Succ(vyv18400)) -> new_primPlusNat0(new_primMulNat2(vyv18400), Succ(vyv18400)) 214.33/146.03 new_primMulNat1(Zero) -> Zero 214.33/146.03 new_primMulNat2(Succ(vyv184000)) -> new_primPlusNat0(new_primMulNat3(vyv184000), Succ(Succ(vyv184000))) 214.33/146.03 new_primMulNat2(Zero) -> Zero 214.33/146.03 new_primPlusNat0(Succ(vyv4000), Succ(vyv6000)) -> Succ(Succ(new_primPlusNat0(vyv4000, vyv6000))) 214.33/146.03 new_primPlusNat0(Zero, Succ(vyv6000)) -> Succ(vyv6000) 214.33/146.03 new_primPlusNat0(Zero, Zero) -> Zero 214.33/146.03 new_primPlusNat0(Succ(vyv4000), Zero) -> Succ(vyv4000) 214.33/146.03 new_primMulNat3(Succ(vyv1840000)) -> new_primPlusNat0(new_primMulNat4(vyv1840000), Succ(Succ(Succ(vyv1840000)))) 214.33/146.03 new_primMulNat3(Zero) -> Zero 214.33/146.03 new_primMulNat4(Succ(vyv18400000)) -> new_primPlusNat0(new_primMulNat0(vyv18400000, Succ(Succ(Succ(Succ(vyv18400000))))), Succ(Succ(Succ(Succ(vyv18400000))))) 214.33/146.03 new_primMulNat4(Zero) -> Zero 214.33/146.03 new_primMulNat0(Zero, Succ(vyv23900)) -> Zero 214.33/146.03 new_primMulNat0(Succ(vyv24000), Succ(vyv23900)) -> new_primPlusNat0(new_primMulNat0(vyv24000, Succ(vyv23900)), Succ(vyv23900)) 214.33/146.03 new_sr6(vyv184) -> error([]) 214.33/146.03 new_sr5(:%(vyv1840, vyv1841), bd) -> new_reduce2Reduce1(vyv1840, vyv1840, vyv1841, vyv1841, new_esEs0(vyv1841, bd), bd) 214.33/146.03 new_esEs0(vyv1841, ty_Int) -> new_esEs(new_sr7(vyv1841)) 214.33/146.03 new_esEs0(vyv1841, ty_Integer) -> new_esEs1(new_sr6(vyv1841)) 214.33/146.03 new_reduce2Reduce1(vyv265, vyv266, vyv267, vyv268, False, bh) -> :%(new_quot0(vyv265, vyv266, vyv267, vyv268, bh), new_quot1(vyv267, vyv268, vyv265, vyv266, bh)) 214.33/146.03 new_reduce2Reduce1(vyv265, vyv266, vyv267, vyv268, True, bh) -> error([]) 214.33/146.03 new_quot0(vyv265, vyv266, vyv267, vyv268, ty_Integer) -> new_quot2(new_sr9(vyv265, vyv266), new_sr9(vyv265, vyv266), new_sr9(vyv267, vyv268)) 214.33/146.03 new_quot0(vyv265, vyv266, vyv267, vyv268, ty_Int) -> new_quot(new_sr10(vyv265, vyv266), new_sr10(vyv265, vyv266), new_sr10(vyv267, vyv268)) 214.33/146.03 new_quot1(vyv267, vyv268, vyv265, vyv266, ty_Int) -> new_quot(new_sr10(vyv267, vyv268), new_sr10(vyv265, vyv266), new_sr10(vyv267, vyv268)) 214.33/146.03 new_quot1(vyv267, vyv268, vyv265, vyv266, ty_Integer) -> new_quot2(new_sr9(vyv267, vyv268), new_sr9(vyv265, vyv266), new_sr9(vyv267, vyv268)) 214.33/146.03 new_sr9(vyv240, vyv239) -> error([]) 214.33/146.03 new_quot2(vyv274, vyv276, vyv275) -> error([]) 214.33/146.03 new_sr10(Pos(vyv2400), Pos(vyv2390)) -> Pos(new_primMulNat0(vyv2400, vyv2390)) 214.33/146.03 new_sr10(Neg(vyv2400), Neg(vyv2390)) -> Pos(new_primMulNat0(vyv2400, vyv2390)) 214.33/146.03 new_sr10(Pos(vyv2400), Neg(vyv2390)) -> Neg(new_primMulNat0(vyv2400, vyv2390)) 214.33/146.03 new_sr10(Neg(vyv2400), Pos(vyv2390)) -> Neg(new_primMulNat0(vyv2400, vyv2390)) 214.33/146.03 new_quot(Pos(vyv2710), vyv273, vyv272) -> new_primQuotInt(vyv2710, new_gcd(vyv273, vyv272)) 214.33/146.03 new_quot(Neg(vyv2710), vyv273, vyv272) -> new_primQuotInt0(vyv2710, new_gcd(vyv273, vyv272)) 214.33/146.03 new_gcd(vyv273, vyv272) -> new_gcd2(new_esEs(vyv273), vyv273, vyv272) 214.33/146.03 new_primQuotInt0(vyv2710, Pos(Succ(vyv28800))) -> Neg(new_primDivNatS1(vyv2710, vyv28800)) 214.33/146.03 new_primQuotInt0(vyv2710, Neg(Zero)) -> new_error 214.33/146.03 new_primQuotInt0(vyv2710, Neg(Succ(vyv28800))) -> Pos(new_primDivNatS1(vyv2710, vyv28800)) 214.33/146.03 new_primQuotInt0(vyv2710, Pos(Zero)) -> new_error 214.33/146.03 new_error -> error([]) 214.33/146.03 new_primDivNatS1(Succ(Succ(vyv271000)), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS0(vyv271000), Zero)) 214.33/146.03 new_primDivNatS1(Succ(Zero), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS1, Zero)) 214.33/146.03 new_primMinusNatS1 -> Zero 214.33/146.03 new_primMinusNatS0(vyv271000) -> Succ(vyv271000) 214.33/146.03 new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) 214.33/146.03 new_esEs(Pos(Succ(vyv24300))) -> new_primEqInt(Pos(Succ(vyv24300))) 214.33/146.03 new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) 214.33/146.03 new_esEs(Neg(Succ(vyv24300))) -> new_primEqInt(Neg(Succ(vyv24300))) 214.33/146.03 new_gcd2(True, vyv273, vyv272) -> new_gcd1(new_esEs(vyv272), vyv273, vyv272) 214.33/146.03 new_gcd2(False, vyv273, vyv272) -> new_gcd0(vyv273, vyv272) 214.33/146.03 new_gcd0(vyv273, vyv272) -> new_gcd0Gcd'11(new_esEs(new_abs(vyv272)), vyv273, vyv272) 214.33/146.03 new_abs(Neg(Zero)) -> Neg(Zero) 214.33/146.03 new_abs(Neg(Succ(vyv27200))) -> Pos(Succ(vyv27200)) 214.33/146.03 new_abs(Pos(Succ(vyv27200))) -> Pos(Succ(vyv27200)) 214.33/146.03 new_abs(Pos(Zero)) -> Pos(Zero) 214.33/146.03 new_gcd0Gcd'11(True, vyv273, vyv272) -> new_abs(vyv273) 214.33/146.03 new_gcd0Gcd'11(False, vyv273, vyv272) -> new_gcd0Gcd'00(new_abs(vyv273), new_abs(vyv272)) 214.33/146.03 new_gcd0Gcd'10(False, vyv292, vyv293) -> new_gcd0Gcd'00(vyv292, new_rem(vyv293, vyv292)) 214.33/146.03 new_gcd0Gcd'00(vyv293, vyv292) -> new_gcd0Gcd'10(new_esEs(new_rem(vyv293, vyv292)), vyv292, vyv293) 214.33/146.03 new_rem(Pos(vyv2930), Neg(Zero)) -> new_error 214.33/146.03 new_rem(Neg(vyv2930), Pos(Zero)) -> new_error 214.33/146.03 new_rem(Pos(vyv2930), Neg(Succ(vyv29200))) -> Pos(new_primModNatS1(vyv2930, vyv29200)) 214.33/146.03 new_rem(Neg(vyv2930), Pos(Succ(vyv29200))) -> Neg(new_primModNatS1(vyv2930, vyv29200)) 214.33/146.03 new_rem(Pos(vyv2930), Pos(Succ(vyv29200))) -> Pos(new_primModNatS1(vyv2930, vyv29200)) 214.33/146.03 new_rem(Neg(vyv2930), Neg(Zero)) -> new_error 214.33/146.03 new_rem(Neg(vyv2930), Neg(Succ(vyv29200))) -> Neg(new_primModNatS1(vyv2930, vyv29200)) 214.33/146.03 new_rem(Pos(vyv2930), Pos(Zero)) -> new_error 214.33/146.03 new_gcd0Gcd'10(True, vyv292, vyv293) -> vyv292 214.33/146.03 new_primModNatS1(Succ(Zero), Succ(vyv292000)) -> Succ(Zero) 214.33/146.03 new_primModNatS1(Zero, vyv29200) -> Zero 214.33/146.03 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 214.33/146.03 new_primModNatS1(Succ(Succ(vyv293000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv293000), Zero) 214.33/146.03 new_primModNatS1(Succ(Succ(vyv293000)), Succ(vyv292000)) -> new_primModNatS01(vyv293000, vyv292000, vyv293000, vyv292000) 214.33/146.03 new_primModNatS01(vyv331, vyv332, Zero, Zero) -> new_primModNatS02(vyv331, vyv332) 214.33/146.03 new_primModNatS02(vyv331, vyv332) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv331), Succ(vyv332)), Succ(vyv332)) 214.33/146.03 new_primModNatS01(vyv331, vyv332, Succ(vyv3330), Zero) -> new_primModNatS02(vyv331, vyv332) 214.33/146.03 new_primModNatS01(vyv331, vyv332, Succ(vyv3330), Succ(vyv3340)) -> new_primModNatS01(vyv331, vyv332, vyv3330, vyv3340) 214.33/146.03 new_primModNatS01(vyv331, vyv332, Zero, Succ(vyv3340)) -> Succ(Succ(vyv331)) 214.33/146.03 new_gcd1(True, vyv273, vyv272) -> new_error 214.33/146.03 new_gcd1(False, vyv273, vyv272) -> new_gcd0(vyv273, vyv272) 214.33/146.03 new_primEqInt(Neg(Succ(vyv242000))) -> False 214.33/146.03 new_primEqInt(Pos(Zero)) -> True 214.33/146.03 new_primEqInt(Pos(Succ(vyv242000))) -> False 214.33/146.03 new_primEqInt(Neg(Zero)) -> True 214.33/146.03 new_primQuotInt(vyv2710, Pos(Succ(vyv28500))) -> Pos(new_primDivNatS1(vyv2710, vyv28500)) 214.33/146.03 new_primQuotInt(vyv2710, Neg(Zero)) -> new_error 214.33/146.03 new_primQuotInt(vyv2710, Pos(Zero)) -> new_error 214.33/146.03 new_primQuotInt(vyv2710, Neg(Succ(vyv28500))) -> Neg(new_primDivNatS1(vyv2710, vyv28500)) 214.33/146.03 new_primMulNat0(Succ(vyv24000), Zero) -> Zero 214.33/146.03 new_primMulNat0(Zero, Zero) -> Zero 214.33/146.03 new_esEs1(Integer(vyv2700)) -> new_primEqInt(vyv2700) 214.33/146.03 new_sr12(vyv184) -> error([]) 214.33/146.03 new_sr11(vyv184) -> error([]) 214.33/146.03 new_ms(vyv229, Neg(vyv2450)) -> Pos(new_primPlusNat0(Succ(vyv229), vyv2450)) 214.33/146.03 new_ms(vyv229, Pos(Succ(vyv24500))) -> new_primMinusNat0(vyv229, vyv24500) 214.33/146.03 new_ms(vyv229, Pos(Zero)) -> Pos(Succ(vyv229)) 214.33/146.03 new_sr2(vyv228, vyv227, ty_Integer) -> new_sr9(vyv228, vyv227) 214.33/146.03 new_sr2(vyv228, vyv227, ty_Int) -> new_sr10(vyv228, vyv227) 214.33/146.03 new_sr2(vyv228, vyv227, app(ty_Ratio, bg)) -> new_sr8(vyv228, vyv227, bg) 214.33/146.03 new_sr2(vyv228, vyv227, ty_Double) -> new_sr13(vyv228, vyv227) 214.33/146.03 new_sr2(vyv228, vyv227, ty_Float) -> new_sr14(vyv228, vyv227) 214.33/146.03 new_sr14(vyv240, vyv239) -> error([]) 214.33/146.03 new_sr13(vyv240, vyv239) -> error([]) 214.33/146.03 new_sr8(:%(vyv2400, vyv2401), :%(vyv2390, vyv2391), be) -> new_reduce2Reduce1(vyv2400, vyv2390, vyv2401, vyv2391, new_esEs2(vyv2401, vyv2391, be), be) 214.33/146.03 new_esEs2(vyv2401, vyv2391, ty_Integer) -> new_esEs1(new_sr9(vyv2401, vyv2391)) 214.33/146.03 new_esEs2(vyv2401, vyv2391, ty_Int) -> new_esEs(new_sr10(vyv2401, vyv2391)) 214.33/146.03 new_primMinusNat0(Succ(vyv2290), Succ(vyv245000)) -> new_primMinusNat0(vyv2290, vyv245000) 214.33/146.03 new_primMinusNat0(Zero, Zero) -> Pos(Zero) 214.33/146.03 new_primMinusNat0(Zero, Succ(vyv245000)) -> Neg(Succ(vyv245000)) 214.33/146.03 new_primMinusNat0(Succ(vyv2290), Zero) -> Pos(Succ(vyv2290)) 214.33/146.03 214.33/146.03 The set Q consists of the following terms: 214.33/146.03 214.33/146.03 new_sr13(x0, x1) 214.33/146.03 new_primDivNatS01(x0, x1, Zero, Zero) 214.33/146.03 new_gcd0Gcd'11(False, x0, x1) 214.33/146.03 new_primMulNat4(Zero) 214.33/146.03 new_gcd0Gcd'11(True, x0, x1) 214.33/146.03 new_sr2(x0, x1, ty_Float) 214.33/146.03 new_sr5(:%(x0, x1), x2) 214.33/146.03 new_primEqInt(Pos(Zero)) 214.33/146.03 new_ms(x0, Neg(x1)) 214.33/146.03 new_sr2(x0, x1, ty_Double) 214.33/146.03 new_esEs(Pos(Succ(x0))) 214.33/146.03 new_primQuotInt0(x0, Neg(Zero)) 214.33/146.03 new_primMulNat3(Zero) 214.33/146.03 new_primModNatS02(x0, x1) 214.33/146.03 new_primDivNatS1(Succ(Zero), Zero) 214.33/146.03 new_primMinusNatS0(x0) 214.33/146.03 new_sr11(x0) 214.33/146.03 new_rem(Pos(x0), Neg(Succ(x1))) 214.33/146.03 new_rem(Neg(x0), Pos(Succ(x1))) 214.33/146.03 new_primMulNat0(Zero, Zero) 214.33/146.03 new_primPlusNat0(Succ(x0), Zero) 214.33/146.03 new_primMulNat0(Succ(x0), Zero) 214.33/146.03 new_primMulNat2(Zero) 214.33/146.03 new_primQuotInt(x0, Pos(Zero)) 214.33/146.03 new_primMulNat2(Succ(x0)) 214.33/146.03 new_primQuotInt(x0, Neg(Zero)) 214.33/146.03 new_rem(Neg(x0), Neg(Succ(x1))) 214.33/146.03 new_primMinusNatS2(Zero, Succ(x0)) 214.33/146.03 new_primMulNat3(Succ(x0)) 214.33/146.03 new_esEs1(Integer(x0)) 214.33/146.03 new_primQuotInt0(x0, Pos(Zero)) 214.33/146.03 new_gcd2(True, x0, x1) 214.33/146.03 new_quot1(x0, x1, x2, x3, ty_Int) 214.33/146.03 new_primDivNatS1(Zero, x0) 214.33/146.03 new_primMinusNat0(Zero, Zero) 214.33/146.03 new_gcd(x0, x1) 214.33/146.03 new_gcd1(False, x0, x1) 214.33/146.03 new_esEs2(x0, x1, ty_Int) 214.33/146.03 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 214.33/146.03 new_sr1(x0, app(ty_Ratio, x1)) 214.33/146.03 new_sr1(x0, ty_Float) 214.33/146.03 new_primPlusNat0(Zero, Succ(x0)) 214.33/146.03 new_sr8(:%(x0, x1), :%(x2, x3), x4) 214.33/146.03 new_abs(Neg(Zero)) 214.33/146.03 new_primMinusNatS2(Succ(x0), Zero) 214.33/146.03 new_error 214.33/146.03 new_primModNatS1(Succ(Zero), Zero) 214.33/146.03 new_primMulNat4(Succ(x0)) 214.33/146.03 new_sr1(x0, ty_Integer) 214.33/146.03 new_primDivNatS02(x0, x1) 214.33/146.03 new_sr1(x0, ty_Int) 214.33/146.03 new_rem(Neg(x0), Neg(Zero)) 214.33/146.03 new_primMinusNat0(Zero, Succ(x0)) 214.33/146.03 new_primEqInt(Neg(Zero)) 214.33/146.03 new_rem(Pos(x0), Pos(Succ(x1))) 214.33/146.03 new_abs(Pos(Succ(x0))) 214.33/146.03 new_primMulNat0(Succ(x0), Succ(x1)) 214.33/146.03 new_primMulNat0(Zero, Succ(x0)) 214.33/146.03 new_reduce2Reduce1(x0, x1, x2, x3, True, x4) 214.33/146.03 new_gcd0Gcd'10(False, x0, x1) 214.33/146.03 new_sr12(x0) 214.33/146.03 new_primDivNatS01(x0, x1, Zero, Succ(x2)) 214.33/146.03 new_sr10(Pos(x0), Pos(x1)) 214.33/146.03 new_primModNatS01(x0, x1, Zero, Succ(x2)) 214.33/146.03 new_primPlusNat0(Zero, Zero) 214.33/146.03 new_primQuotInt0(x0, Pos(Succ(x1))) 214.33/146.03 new_primModNatS01(x0, x1, Succ(x2), Zero) 214.33/146.03 new_ms(x0, Pos(Succ(x1))) 214.33/146.03 new_primModNatS1(Succ(Succ(x0)), Zero) 214.33/146.03 new_rem(Pos(x0), Pos(Zero)) 214.33/146.03 new_quot(Pos(x0), x1, x2) 214.33/146.03 new_primMinusNatS2(Zero, Zero) 214.33/146.03 new_esEs0(x0, ty_Int) 214.33/146.03 new_primMinusNat0(Succ(x0), Zero) 214.33/146.03 new_esEs(Pos(Zero)) 214.33/146.03 new_quot(Neg(x0), x1, x2) 214.33/146.03 new_primDivNatS01(x0, x1, Succ(x2), Succ(x3)) 214.33/146.03 new_quot2(x0, x1, x2) 214.33/146.03 new_primEqInt(Neg(Succ(x0))) 214.33/146.03 new_sr10(Neg(x0), Neg(x1)) 214.33/146.03 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 214.33/146.03 new_sr9(x0, x1) 214.33/146.03 new_sr2(x0, x1, ty_Integer) 214.33/146.03 new_sr7(Neg(x0)) 214.33/146.03 new_sr1(x0, ty_Double) 214.33/146.03 new_primQuotInt0(x0, Neg(Succ(x1))) 214.33/146.03 new_rem(Pos(x0), Neg(Zero)) 214.33/146.03 new_rem(Neg(x0), Pos(Zero)) 214.33/146.03 new_gcd0Gcd'00(x0, x1) 214.33/146.03 new_primQuotInt(x0, Neg(Succ(x1))) 214.33/146.03 new_primMinusNatS2(Succ(x0), Succ(x1)) 214.33/146.03 new_ms(x0, Pos(Zero)) 214.33/146.03 new_abs(Pos(Zero)) 214.33/146.03 new_primMinusNat0(Succ(x0), Succ(x1)) 214.33/146.03 new_quot0(x0, x1, x2, x3, ty_Integer) 214.33/146.03 new_sr6(x0) 214.33/146.03 new_gcd2(False, x0, x1) 214.33/146.03 new_gcd1(True, x0, x1) 214.33/146.03 new_esEs2(x0, x1, ty_Integer) 214.33/146.03 new_primMinusNatS1 214.33/146.03 new_sr7(Pos(x0)) 214.33/146.03 new_gcd0Gcd'10(True, x0, x1) 214.33/146.03 new_primModNatS1(Zero, x0) 214.33/146.03 new_sr10(Pos(x0), Neg(x1)) 214.33/146.03 new_sr10(Neg(x0), Pos(x1)) 214.33/146.03 new_primDivNatS01(x0, x1, Succ(x2), Zero) 214.33/146.03 new_primDivNatS1(Succ(Succ(x0)), Succ(x1)) 214.33/146.03 new_primPlusNat0(Succ(x0), Succ(x1)) 214.33/146.03 new_primDivNatS1(Succ(Zero), Succ(x0)) 214.33/146.03 new_primQuotInt(x0, Pos(Succ(x1))) 214.33/146.03 new_sr2(x0, x1, app(ty_Ratio, x2)) 214.33/146.03 new_abs(Neg(Succ(x0))) 214.33/146.03 new_esEs0(x0, ty_Integer) 214.33/146.03 new_esEs(Neg(Succ(x0))) 214.33/146.03 new_primModNatS01(x0, x1, Zero, Zero) 214.33/146.03 new_gcd0(x0, x1) 214.33/146.03 new_primEqInt(Pos(Succ(x0))) 214.33/146.03 new_quot1(x0, x1, x2, x3, ty_Integer) 214.33/146.03 new_primDivNatS1(Succ(Succ(x0)), Zero) 214.33/146.03 new_primMulNat1(Succ(x0)) 214.33/146.03 new_sr14(x0, x1) 214.33/146.03 new_quot0(x0, x1, x2, x3, ty_Int) 214.33/146.03 new_sr2(x0, x1, ty_Int) 214.33/146.03 new_primModNatS1(Succ(Zero), Succ(x0)) 214.33/146.03 new_reduce2Reduce1(x0, x1, x2, x3, False, x4) 214.33/146.03 new_esEs(Neg(Zero)) 214.33/146.03 new_primMulNat1(Zero) 214.33/146.03 214.33/146.03 We have to consider all minimal (P,Q,R)-chains. 214.33/146.03 ---------------------------------------- 214.33/146.03 214.33/146.03 (870) TransformationProof (EQUIVALENT) 214.33/146.03 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]: 214.33/146.03 214.33/146.03 (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)) 214.33/146.03 214.33/146.03 214.33/146.03 ---------------------------------------- 214.33/146.03 214.33/146.03 (871) 214.33/146.03 Obligation: 214.33/146.03 Q DP problem: 214.33/146.03 The TRS P consists of the following rules: 214.33/146.03 214.33/146.03 new_pr2F0(vyv184, Pos(Succ(Succ(vyv223000))), vyv188, h) -> new_pr2F0G1(vyv188, vyv184, Succ(vyv223000), vyv223000, h) 214.33/146.03 new_pr2F0G1(vyv227, vyv228, vyv229, Succ(Succ(vyv23000)), ba) -> new_pr2F0G1(vyv227, vyv228, vyv229, vyv23000, ba) 214.33/146.03 new_pr2F0G1(vyv227, vyv228, vyv229, Succ(Zero), ba) -> new_pr2F(vyv228, vyv229, Pos(Succ(Zero)), vyv227, ba) 214.33/146.03 new_pr2F3(False, vyv228, vyv229, vyv245, vyv227, ba) -> new_pr2F0(vyv228, new_ms(vyv229, vyv245), new_sr2(vyv228, vyv227, ba), ba) 214.33/146.03 new_pr2F0(vyv184, Pos(Succ(Zero)), vyv188, h) -> new_pr2F(vyv184, Zero, Pos(Succ(Zero)), vyv188, h) 214.33/146.03 new_pr2F0G1(vyv227, vyv228, vyv229, Zero, ba) -> new_pr2F0G(vyv227, new_sr1(vyv228, ba), Pos(new_primDivNatS1(Succ(vyv229), Succ(Zero))), ba) 214.33/146.03 new_pr2F0G(vyv188, vyv184, Pos(Succ(Succ(vyv223000))), h) -> new_pr2F0G1(vyv188, vyv184, Succ(vyv223000), vyv223000, h) 214.33/146.03 new_pr2F0G(vyv188, vyv184, Pos(Succ(Zero)), h) -> new_pr2F(vyv184, Zero, Pos(Succ(Zero)), vyv188, h) 214.33/146.03 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) 214.33/146.03 new_pr2F(z1, z2, Pos(Succ(Zero)), z0, z3) -> new_pr2F3(new_esEs(new_primMinusNat0(z2, Zero)), z1, z2, Pos(Succ(Zero)), z0, z3) 214.33/146.03 214.33/146.03 The TRS R consists of the following rules: 214.33/146.03 214.33/146.03 new_sr1(vyv228, ty_Double) -> new_sr11(vyv228) 214.33/146.03 new_sr1(vyv228, ty_Float) -> new_sr12(vyv228) 214.33/146.03 new_sr1(vyv228, app(ty_Ratio, bg)) -> new_sr5(vyv228, bg) 214.33/146.03 new_sr1(vyv228, ty_Integer) -> new_sr6(vyv228) 214.33/146.03 new_sr1(vyv228, ty_Int) -> new_sr7(vyv228) 214.33/146.03 new_primDivNatS1(Succ(Zero), Succ(vyv285000)) -> Zero 214.33/146.03 new_primDivNatS1(Succ(Succ(vyv271000)), Succ(vyv285000)) -> new_primDivNatS01(vyv271000, vyv285000, vyv271000, vyv285000) 214.33/146.03 new_primDivNatS01(vyv311, vyv312, Succ(vyv3130), Zero) -> new_primDivNatS02(vyv311, vyv312) 214.33/146.03 new_primDivNatS01(vyv311, vyv312, Zero, Succ(vyv3140)) -> Zero 214.33/146.03 new_primDivNatS01(vyv311, vyv312, Succ(vyv3130), Succ(vyv3140)) -> new_primDivNatS01(vyv311, vyv312, vyv3130, vyv3140) 214.33/146.03 new_primDivNatS01(vyv311, vyv312, Zero, Zero) -> new_primDivNatS02(vyv311, vyv312) 214.33/146.03 new_primDivNatS02(vyv311, vyv312) -> Succ(new_primDivNatS1(new_primMinusNatS2(vyv311, vyv312), Succ(vyv312))) 214.33/146.03 new_primMinusNatS2(Zero, Succ(vyv3120)) -> Zero 214.33/146.03 new_primMinusNatS2(Succ(vyv3110), Zero) -> Succ(vyv3110) 214.33/146.03 new_primMinusNatS2(Zero, Zero) -> Zero 214.33/146.03 new_primMinusNatS2(Succ(vyv3110), Succ(vyv3120)) -> new_primMinusNatS2(vyv3110, vyv3120) 214.33/146.03 new_primDivNatS1(Zero, vyv28500) -> Zero 214.33/146.03 new_sr7(Pos(vyv1840)) -> Pos(new_primMulNat1(vyv1840)) 214.33/146.03 new_sr7(Neg(vyv1840)) -> Pos(new_primMulNat1(vyv1840)) 214.33/146.03 new_primMulNat1(Succ(vyv18400)) -> new_primPlusNat0(new_primMulNat2(vyv18400), Succ(vyv18400)) 214.33/146.03 new_primMulNat1(Zero) -> Zero 214.33/146.03 new_primMulNat2(Succ(vyv184000)) -> new_primPlusNat0(new_primMulNat3(vyv184000), Succ(Succ(vyv184000))) 214.33/146.03 new_primMulNat2(Zero) -> Zero 214.33/146.03 new_primPlusNat0(Succ(vyv4000), Succ(vyv6000)) -> Succ(Succ(new_primPlusNat0(vyv4000, vyv6000))) 214.33/146.03 new_primPlusNat0(Zero, Succ(vyv6000)) -> Succ(vyv6000) 214.33/146.03 new_primPlusNat0(Zero, Zero) -> Zero 214.33/146.03 new_primPlusNat0(Succ(vyv4000), Zero) -> Succ(vyv4000) 214.33/146.03 new_primMulNat3(Succ(vyv1840000)) -> new_primPlusNat0(new_primMulNat4(vyv1840000), Succ(Succ(Succ(vyv1840000)))) 214.33/146.03 new_primMulNat3(Zero) -> Zero 214.33/146.03 new_primMulNat4(Succ(vyv18400000)) -> new_primPlusNat0(new_primMulNat0(vyv18400000, Succ(Succ(Succ(Succ(vyv18400000))))), Succ(Succ(Succ(Succ(vyv18400000))))) 214.33/146.03 new_primMulNat4(Zero) -> Zero 214.33/146.03 new_primMulNat0(Zero, Succ(vyv23900)) -> Zero 214.33/146.03 new_primMulNat0(Succ(vyv24000), Succ(vyv23900)) -> new_primPlusNat0(new_primMulNat0(vyv24000, Succ(vyv23900)), Succ(vyv23900)) 214.33/146.03 new_sr6(vyv184) -> error([]) 214.33/146.03 new_sr5(:%(vyv1840, vyv1841), bd) -> new_reduce2Reduce1(vyv1840, vyv1840, vyv1841, vyv1841, new_esEs0(vyv1841, bd), bd) 214.33/146.03 new_esEs0(vyv1841, ty_Int) -> new_esEs(new_sr7(vyv1841)) 214.33/146.03 new_esEs0(vyv1841, ty_Integer) -> new_esEs1(new_sr6(vyv1841)) 214.33/146.03 new_reduce2Reduce1(vyv265, vyv266, vyv267, vyv268, False, bh) -> :%(new_quot0(vyv265, vyv266, vyv267, vyv268, bh), new_quot1(vyv267, vyv268, vyv265, vyv266, bh)) 214.33/146.03 new_reduce2Reduce1(vyv265, vyv266, vyv267, vyv268, True, bh) -> error([]) 214.33/146.03 new_quot0(vyv265, vyv266, vyv267, vyv268, ty_Integer) -> new_quot2(new_sr9(vyv265, vyv266), new_sr9(vyv265, vyv266), new_sr9(vyv267, vyv268)) 214.33/146.03 new_quot0(vyv265, vyv266, vyv267, vyv268, ty_Int) -> new_quot(new_sr10(vyv265, vyv266), new_sr10(vyv265, vyv266), new_sr10(vyv267, vyv268)) 214.33/146.03 new_quot1(vyv267, vyv268, vyv265, vyv266, ty_Int) -> new_quot(new_sr10(vyv267, vyv268), new_sr10(vyv265, vyv266), new_sr10(vyv267, vyv268)) 214.33/146.03 new_quot1(vyv267, vyv268, vyv265, vyv266, ty_Integer) -> new_quot2(new_sr9(vyv267, vyv268), new_sr9(vyv265, vyv266), new_sr9(vyv267, vyv268)) 214.33/146.03 new_sr9(vyv240, vyv239) -> error([]) 214.33/146.03 new_quot2(vyv274, vyv276, vyv275) -> error([]) 214.33/146.03 new_sr10(Pos(vyv2400), Pos(vyv2390)) -> Pos(new_primMulNat0(vyv2400, vyv2390)) 214.33/146.03 new_sr10(Neg(vyv2400), Neg(vyv2390)) -> Pos(new_primMulNat0(vyv2400, vyv2390)) 214.33/146.03 new_sr10(Pos(vyv2400), Neg(vyv2390)) -> Neg(new_primMulNat0(vyv2400, vyv2390)) 214.33/146.03 new_sr10(Neg(vyv2400), Pos(vyv2390)) -> Neg(new_primMulNat0(vyv2400, vyv2390)) 214.33/146.03 new_quot(Pos(vyv2710), vyv273, vyv272) -> new_primQuotInt(vyv2710, new_gcd(vyv273, vyv272)) 214.33/146.03 new_quot(Neg(vyv2710), vyv273, vyv272) -> new_primQuotInt0(vyv2710, new_gcd(vyv273, vyv272)) 214.33/146.03 new_gcd(vyv273, vyv272) -> new_gcd2(new_esEs(vyv273), vyv273, vyv272) 214.33/146.03 new_primQuotInt0(vyv2710, Pos(Succ(vyv28800))) -> Neg(new_primDivNatS1(vyv2710, vyv28800)) 214.33/146.03 new_primQuotInt0(vyv2710, Neg(Zero)) -> new_error 214.33/146.03 new_primQuotInt0(vyv2710, Neg(Succ(vyv28800))) -> Pos(new_primDivNatS1(vyv2710, vyv28800)) 214.33/146.03 new_primQuotInt0(vyv2710, Pos(Zero)) -> new_error 214.33/146.03 new_error -> error([]) 214.33/146.03 new_primDivNatS1(Succ(Succ(vyv271000)), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS0(vyv271000), Zero)) 214.33/146.03 new_primDivNatS1(Succ(Zero), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS1, Zero)) 214.33/146.03 new_primMinusNatS1 -> Zero 214.33/146.03 new_primMinusNatS0(vyv271000) -> Succ(vyv271000) 214.33/146.03 new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) 214.33/146.03 new_esEs(Pos(Succ(vyv24300))) -> new_primEqInt(Pos(Succ(vyv24300))) 214.33/146.03 new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) 214.33/146.03 new_esEs(Neg(Succ(vyv24300))) -> new_primEqInt(Neg(Succ(vyv24300))) 214.33/146.03 new_gcd2(True, vyv273, vyv272) -> new_gcd1(new_esEs(vyv272), vyv273, vyv272) 214.33/146.03 new_gcd2(False, vyv273, vyv272) -> new_gcd0(vyv273, vyv272) 214.33/146.03 new_gcd0(vyv273, vyv272) -> new_gcd0Gcd'11(new_esEs(new_abs(vyv272)), vyv273, vyv272) 214.33/146.03 new_abs(Neg(Zero)) -> Neg(Zero) 214.33/146.03 new_abs(Neg(Succ(vyv27200))) -> Pos(Succ(vyv27200)) 214.33/146.03 new_abs(Pos(Succ(vyv27200))) -> Pos(Succ(vyv27200)) 214.33/146.03 new_abs(Pos(Zero)) -> Pos(Zero) 214.33/146.03 new_gcd0Gcd'11(True, vyv273, vyv272) -> new_abs(vyv273) 214.33/146.03 new_gcd0Gcd'11(False, vyv273, vyv272) -> new_gcd0Gcd'00(new_abs(vyv273), new_abs(vyv272)) 214.33/146.03 new_gcd0Gcd'10(False, vyv292, vyv293) -> new_gcd0Gcd'00(vyv292, new_rem(vyv293, vyv292)) 214.33/146.03 new_gcd0Gcd'00(vyv293, vyv292) -> new_gcd0Gcd'10(new_esEs(new_rem(vyv293, vyv292)), vyv292, vyv293) 214.33/146.03 new_rem(Pos(vyv2930), Neg(Zero)) -> new_error 214.33/146.03 new_rem(Neg(vyv2930), Pos(Zero)) -> new_error 214.33/146.03 new_rem(Pos(vyv2930), Neg(Succ(vyv29200))) -> Pos(new_primModNatS1(vyv2930, vyv29200)) 214.33/146.03 new_rem(Neg(vyv2930), Pos(Succ(vyv29200))) -> Neg(new_primModNatS1(vyv2930, vyv29200)) 214.33/146.03 new_rem(Pos(vyv2930), Pos(Succ(vyv29200))) -> Pos(new_primModNatS1(vyv2930, vyv29200)) 214.33/146.03 new_rem(Neg(vyv2930), Neg(Zero)) -> new_error 214.33/146.03 new_rem(Neg(vyv2930), Neg(Succ(vyv29200))) -> Neg(new_primModNatS1(vyv2930, vyv29200)) 214.33/146.03 new_rem(Pos(vyv2930), Pos(Zero)) -> new_error 214.33/146.03 new_gcd0Gcd'10(True, vyv292, vyv293) -> vyv292 214.33/146.03 new_primModNatS1(Succ(Zero), Succ(vyv292000)) -> Succ(Zero) 214.33/146.03 new_primModNatS1(Zero, vyv29200) -> Zero 214.33/146.03 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 214.33/146.03 new_primModNatS1(Succ(Succ(vyv293000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv293000), Zero) 214.33/146.03 new_primModNatS1(Succ(Succ(vyv293000)), Succ(vyv292000)) -> new_primModNatS01(vyv293000, vyv292000, vyv293000, vyv292000) 214.33/146.03 new_primModNatS01(vyv331, vyv332, Zero, Zero) -> new_primModNatS02(vyv331, vyv332) 214.33/146.03 new_primModNatS02(vyv331, vyv332) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv331), Succ(vyv332)), Succ(vyv332)) 214.33/146.03 new_primModNatS01(vyv331, vyv332, Succ(vyv3330), Zero) -> new_primModNatS02(vyv331, vyv332) 214.33/146.03 new_primModNatS01(vyv331, vyv332, Succ(vyv3330), Succ(vyv3340)) -> new_primModNatS01(vyv331, vyv332, vyv3330, vyv3340) 214.33/146.03 new_primModNatS01(vyv331, vyv332, Zero, Succ(vyv3340)) -> Succ(Succ(vyv331)) 214.33/146.03 new_gcd1(True, vyv273, vyv272) -> new_error 214.33/146.03 new_gcd1(False, vyv273, vyv272) -> new_gcd0(vyv273, vyv272) 214.33/146.03 new_primEqInt(Neg(Succ(vyv242000))) -> False 214.33/146.03 new_primEqInt(Pos(Zero)) -> True 214.33/146.03 new_primEqInt(Pos(Succ(vyv242000))) -> False 214.33/146.03 new_primEqInt(Neg(Zero)) -> True 214.33/146.03 new_primQuotInt(vyv2710, Pos(Succ(vyv28500))) -> Pos(new_primDivNatS1(vyv2710, vyv28500)) 214.33/146.03 new_primQuotInt(vyv2710, Neg(Zero)) -> new_error 214.33/146.03 new_primQuotInt(vyv2710, Pos(Zero)) -> new_error 214.33/146.03 new_primQuotInt(vyv2710, Neg(Succ(vyv28500))) -> Neg(new_primDivNatS1(vyv2710, vyv28500)) 214.33/146.03 new_primMulNat0(Succ(vyv24000), Zero) -> Zero 214.33/146.03 new_primMulNat0(Zero, Zero) -> Zero 214.33/146.03 new_esEs1(Integer(vyv2700)) -> new_primEqInt(vyv2700) 214.33/146.03 new_sr12(vyv184) -> error([]) 214.33/146.03 new_sr11(vyv184) -> error([]) 214.33/146.03 new_ms(vyv229, Neg(vyv2450)) -> Pos(new_primPlusNat0(Succ(vyv229), vyv2450)) 214.33/146.03 new_ms(vyv229, Pos(Succ(vyv24500))) -> new_primMinusNat0(vyv229, vyv24500) 214.33/146.03 new_ms(vyv229, Pos(Zero)) -> Pos(Succ(vyv229)) 214.33/146.03 new_sr2(vyv228, vyv227, ty_Integer) -> new_sr9(vyv228, vyv227) 214.33/146.03 new_sr2(vyv228, vyv227, ty_Int) -> new_sr10(vyv228, vyv227) 214.33/146.03 new_sr2(vyv228, vyv227, app(ty_Ratio, bg)) -> new_sr8(vyv228, vyv227, bg) 214.33/146.03 new_sr2(vyv228, vyv227, ty_Double) -> new_sr13(vyv228, vyv227) 214.33/146.03 new_sr2(vyv228, vyv227, ty_Float) -> new_sr14(vyv228, vyv227) 214.33/146.03 new_sr14(vyv240, vyv239) -> error([]) 214.33/146.03 new_sr13(vyv240, vyv239) -> error([]) 214.33/146.03 new_sr8(:%(vyv2400, vyv2401), :%(vyv2390, vyv2391), be) -> new_reduce2Reduce1(vyv2400, vyv2390, vyv2401, vyv2391, new_esEs2(vyv2401, vyv2391, be), be) 214.33/146.03 new_esEs2(vyv2401, vyv2391, ty_Integer) -> new_esEs1(new_sr9(vyv2401, vyv2391)) 214.33/146.03 new_esEs2(vyv2401, vyv2391, ty_Int) -> new_esEs(new_sr10(vyv2401, vyv2391)) 214.33/146.03 new_primMinusNat0(Succ(vyv2290), Succ(vyv245000)) -> new_primMinusNat0(vyv2290, vyv245000) 214.33/146.03 new_primMinusNat0(Zero, Zero) -> Pos(Zero) 214.33/146.03 new_primMinusNat0(Zero, Succ(vyv245000)) -> Neg(Succ(vyv245000)) 214.33/146.03 new_primMinusNat0(Succ(vyv2290), Zero) -> Pos(Succ(vyv2290)) 214.33/146.03 214.33/146.03 The set Q consists of the following terms: 214.33/146.03 214.33/146.03 new_sr13(x0, x1) 214.33/146.03 new_primDivNatS01(x0, x1, Zero, Zero) 214.33/146.03 new_gcd0Gcd'11(False, x0, x1) 214.33/146.03 new_primMulNat4(Zero) 214.33/146.03 new_gcd0Gcd'11(True, x0, x1) 214.33/146.03 new_sr2(x0, x1, ty_Float) 214.33/146.03 new_sr5(:%(x0, x1), x2) 214.33/146.03 new_primEqInt(Pos(Zero)) 214.33/146.03 new_ms(x0, Neg(x1)) 214.33/146.03 new_sr2(x0, x1, ty_Double) 214.33/146.03 new_esEs(Pos(Succ(x0))) 214.33/146.03 new_primQuotInt0(x0, Neg(Zero)) 214.33/146.03 new_primMulNat3(Zero) 214.33/146.03 new_primModNatS02(x0, x1) 214.33/146.03 new_primDivNatS1(Succ(Zero), Zero) 214.33/146.03 new_primMinusNatS0(x0) 214.33/146.03 new_sr11(x0) 214.33/146.03 new_rem(Pos(x0), Neg(Succ(x1))) 214.33/146.03 new_rem(Neg(x0), Pos(Succ(x1))) 214.33/146.03 new_primMulNat0(Zero, Zero) 214.33/146.03 new_primPlusNat0(Succ(x0), Zero) 214.33/146.03 new_primMulNat0(Succ(x0), Zero) 214.33/146.03 new_primMulNat2(Zero) 214.33/146.03 new_primQuotInt(x0, Pos(Zero)) 214.33/146.03 new_primMulNat2(Succ(x0)) 214.33/146.03 new_primQuotInt(x0, Neg(Zero)) 214.33/146.03 new_rem(Neg(x0), Neg(Succ(x1))) 214.33/146.03 new_primMinusNatS2(Zero, Succ(x0)) 214.33/146.03 new_primMulNat3(Succ(x0)) 214.33/146.03 new_esEs1(Integer(x0)) 214.33/146.03 new_primQuotInt0(x0, Pos(Zero)) 214.33/146.03 new_gcd2(True, x0, x1) 214.33/146.03 new_quot1(x0, x1, x2, x3, ty_Int) 214.33/146.03 new_primDivNatS1(Zero, x0) 214.33/146.03 new_primMinusNat0(Zero, Zero) 214.33/146.03 new_gcd(x0, x1) 214.33/146.03 new_gcd1(False, x0, x1) 214.33/146.03 new_esEs2(x0, x1, ty_Int) 214.33/146.03 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 214.33/146.03 new_sr1(x0, app(ty_Ratio, x1)) 214.33/146.03 new_sr1(x0, ty_Float) 214.33/146.03 new_primPlusNat0(Zero, Succ(x0)) 214.33/146.03 new_sr8(:%(x0, x1), :%(x2, x3), x4) 214.33/146.03 new_abs(Neg(Zero)) 214.33/146.03 new_primMinusNatS2(Succ(x0), Zero) 214.33/146.03 new_error 214.33/146.03 new_primModNatS1(Succ(Zero), Zero) 214.33/146.03 new_primMulNat4(Succ(x0)) 214.33/146.03 new_sr1(x0, ty_Integer) 214.33/146.03 new_primDivNatS02(x0, x1) 214.33/146.03 new_sr1(x0, ty_Int) 214.33/146.03 new_rem(Neg(x0), Neg(Zero)) 214.33/146.03 new_primMinusNat0(Zero, Succ(x0)) 214.33/146.03 new_primEqInt(Neg(Zero)) 214.33/146.03 new_rem(Pos(x0), Pos(Succ(x1))) 214.33/146.03 new_abs(Pos(Succ(x0))) 214.33/146.03 new_primMulNat0(Succ(x0), Succ(x1)) 214.33/146.03 new_primMulNat0(Zero, Succ(x0)) 214.33/146.03 new_reduce2Reduce1(x0, x1, x2, x3, True, x4) 214.33/146.03 new_gcd0Gcd'10(False, x0, x1) 214.33/146.03 new_sr12(x0) 214.33/146.03 new_primDivNatS01(x0, x1, Zero, Succ(x2)) 214.33/146.03 new_sr10(Pos(x0), Pos(x1)) 214.33/146.03 new_primModNatS01(x0, x1, Zero, Succ(x2)) 214.33/146.03 new_primPlusNat0(Zero, Zero) 214.33/146.03 new_primQuotInt0(x0, Pos(Succ(x1))) 214.33/146.03 new_primModNatS01(x0, x1, Succ(x2), Zero) 214.33/146.03 new_ms(x0, Pos(Succ(x1))) 214.33/146.03 new_primModNatS1(Succ(Succ(x0)), Zero) 214.33/146.03 new_rem(Pos(x0), Pos(Zero)) 214.33/146.03 new_quot(Pos(x0), x1, x2) 214.33/146.03 new_primMinusNatS2(Zero, Zero) 214.33/146.03 new_esEs0(x0, ty_Int) 214.33/146.03 new_primMinusNat0(Succ(x0), Zero) 214.33/146.03 new_esEs(Pos(Zero)) 214.33/146.03 new_quot(Neg(x0), x1, x2) 214.33/146.03 new_primDivNatS01(x0, x1, Succ(x2), Succ(x3)) 214.33/146.03 new_quot2(x0, x1, x2) 214.33/146.03 new_primEqInt(Neg(Succ(x0))) 214.33/146.03 new_sr10(Neg(x0), Neg(x1)) 214.33/146.03 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 214.33/146.03 new_sr9(x0, x1) 214.33/146.03 new_sr2(x0, x1, ty_Integer) 214.33/146.03 new_sr7(Neg(x0)) 214.33/146.03 new_sr1(x0, ty_Double) 214.33/146.03 new_primQuotInt0(x0, Neg(Succ(x1))) 214.33/146.03 new_rem(Pos(x0), Neg(Zero)) 214.33/146.03 new_rem(Neg(x0), Pos(Zero)) 214.33/146.03 new_gcd0Gcd'00(x0, x1) 214.33/146.03 new_primQuotInt(x0, Neg(Succ(x1))) 214.33/146.03 new_primMinusNatS2(Succ(x0), Succ(x1)) 214.33/146.03 new_ms(x0, Pos(Zero)) 214.33/146.03 new_abs(Pos(Zero)) 214.33/146.03 new_primMinusNat0(Succ(x0), Succ(x1)) 214.33/146.03 new_quot0(x0, x1, x2, x3, ty_Integer) 214.33/146.03 new_sr6(x0) 214.33/146.03 new_gcd2(False, x0, x1) 214.33/146.03 new_gcd1(True, x0, x1) 214.33/146.03 new_esEs2(x0, x1, ty_Integer) 214.33/146.03 new_primMinusNatS1 214.33/146.03 new_sr7(Pos(x0)) 214.33/146.03 new_gcd0Gcd'10(True, x0, x1) 214.33/146.03 new_primModNatS1(Zero, x0) 214.33/146.03 new_sr10(Pos(x0), Neg(x1)) 214.33/146.03 new_sr10(Neg(x0), Pos(x1)) 214.33/146.03 new_primDivNatS01(x0, x1, Succ(x2), Zero) 214.33/146.03 new_primDivNatS1(Succ(Succ(x0)), Succ(x1)) 214.33/146.03 new_primPlusNat0(Succ(x0), Succ(x1)) 214.33/146.03 new_primDivNatS1(Succ(Zero), Succ(x0)) 214.33/146.03 new_primQuotInt(x0, Pos(Succ(x1))) 214.33/146.03 new_sr2(x0, x1, app(ty_Ratio, x2)) 214.33/146.03 new_abs(Neg(Succ(x0))) 214.33/146.03 new_esEs0(x0, ty_Integer) 214.33/146.03 new_esEs(Neg(Succ(x0))) 214.33/146.03 new_primModNatS01(x0, x1, Zero, Zero) 214.33/146.03 new_gcd0(x0, x1) 214.33/146.03 new_primEqInt(Pos(Succ(x0))) 214.33/146.03 new_quot1(x0, x1, x2, x3, ty_Integer) 214.33/146.03 new_primDivNatS1(Succ(Succ(x0)), Zero) 214.33/146.03 new_primMulNat1(Succ(x0)) 214.33/146.03 new_sr14(x0, x1) 214.33/146.03 new_quot0(x0, x1, x2, x3, ty_Int) 214.33/146.03 new_sr2(x0, x1, ty_Int) 214.33/146.03 new_primModNatS1(Succ(Zero), Succ(x0)) 214.33/146.03 new_reduce2Reduce1(x0, x1, x2, x3, False, x4) 214.33/146.03 new_esEs(Neg(Zero)) 214.33/146.03 new_primMulNat1(Zero) 214.33/146.03 214.33/146.03 We have to consider all minimal (P,Q,R)-chains. 214.33/146.03 ---------------------------------------- 214.33/146.03 214.33/146.03 (872) TransformationProof (EQUIVALENT) 214.33/146.03 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]: 214.33/146.03 214.33/146.03 (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)) 214.33/146.03 214.33/146.03 214.33/146.03 ---------------------------------------- 214.33/146.03 214.33/146.03 (873) 214.33/146.03 Obligation: 214.33/146.03 Q DP problem: 214.33/146.03 The TRS P consists of the following rules: 214.33/146.03 214.33/146.03 new_pr2F0(vyv184, Pos(Succ(Succ(vyv223000))), vyv188, h) -> new_pr2F0G1(vyv188, vyv184, Succ(vyv223000), vyv223000, h) 214.33/146.03 new_pr2F0G1(vyv227, vyv228, vyv229, Succ(Succ(vyv23000)), ba) -> new_pr2F0G1(vyv227, vyv228, vyv229, vyv23000, ba) 214.33/146.03 new_pr2F0G1(vyv227, vyv228, vyv229, Succ(Zero), ba) -> new_pr2F(vyv228, vyv229, Pos(Succ(Zero)), vyv227, ba) 214.33/146.03 new_pr2F3(False, vyv228, vyv229, vyv245, vyv227, ba) -> new_pr2F0(vyv228, new_ms(vyv229, vyv245), new_sr2(vyv228, vyv227, ba), ba) 214.33/146.03 new_pr2F0(vyv184, Pos(Succ(Zero)), vyv188, h) -> new_pr2F(vyv184, Zero, Pos(Succ(Zero)), vyv188, h) 214.33/146.03 new_pr2F0G1(vyv227, vyv228, vyv229, Zero, ba) -> new_pr2F0G(vyv227, new_sr1(vyv228, ba), Pos(new_primDivNatS1(Succ(vyv229), Succ(Zero))), ba) 214.33/146.03 new_pr2F0G(vyv188, vyv184, Pos(Succ(Succ(vyv223000))), h) -> new_pr2F0G1(vyv188, vyv184, Succ(vyv223000), vyv223000, h) 214.33/146.03 new_pr2F0G(vyv188, vyv184, Pos(Succ(Zero)), h) -> new_pr2F(vyv184, Zero, Pos(Succ(Zero)), vyv188, h) 214.33/146.03 new_pr2F(z1, z2, Pos(Succ(Zero)), z0, z3) -> new_pr2F3(new_esEs(new_primMinusNat0(z2, Zero)), z1, z2, Pos(Succ(Zero)), z0, z3) 214.33/146.03 new_pr2F(z0, Zero, Pos(Succ(Zero)), z1, z2) -> new_pr2F3(new_esEs(new_primMinusNat0(Zero, Zero)), z0, Zero, Pos(Succ(Zero)), z1, z2) 214.33/146.03 214.33/146.03 The TRS R consists of the following rules: 214.33/146.03 214.33/146.03 new_sr1(vyv228, ty_Double) -> new_sr11(vyv228) 214.33/146.03 new_sr1(vyv228, ty_Float) -> new_sr12(vyv228) 214.33/146.03 new_sr1(vyv228, app(ty_Ratio, bg)) -> new_sr5(vyv228, bg) 214.33/146.03 new_sr1(vyv228, ty_Integer) -> new_sr6(vyv228) 214.33/146.03 new_sr1(vyv228, ty_Int) -> new_sr7(vyv228) 214.33/146.03 new_primDivNatS1(Succ(Zero), Succ(vyv285000)) -> Zero 214.33/146.03 new_primDivNatS1(Succ(Succ(vyv271000)), Succ(vyv285000)) -> new_primDivNatS01(vyv271000, vyv285000, vyv271000, vyv285000) 214.33/146.03 new_primDivNatS01(vyv311, vyv312, Succ(vyv3130), Zero) -> new_primDivNatS02(vyv311, vyv312) 214.33/146.03 new_primDivNatS01(vyv311, vyv312, Zero, Succ(vyv3140)) -> Zero 214.33/146.03 new_primDivNatS01(vyv311, vyv312, Succ(vyv3130), Succ(vyv3140)) -> new_primDivNatS01(vyv311, vyv312, vyv3130, vyv3140) 214.33/146.03 new_primDivNatS01(vyv311, vyv312, Zero, Zero) -> new_primDivNatS02(vyv311, vyv312) 214.33/146.03 new_primDivNatS02(vyv311, vyv312) -> Succ(new_primDivNatS1(new_primMinusNatS2(vyv311, vyv312), Succ(vyv312))) 214.33/146.03 new_primMinusNatS2(Zero, Succ(vyv3120)) -> Zero 214.33/146.03 new_primMinusNatS2(Succ(vyv3110), Zero) -> Succ(vyv3110) 214.33/146.03 new_primMinusNatS2(Zero, Zero) -> Zero 214.33/146.03 new_primMinusNatS2(Succ(vyv3110), Succ(vyv3120)) -> new_primMinusNatS2(vyv3110, vyv3120) 214.33/146.03 new_primDivNatS1(Zero, vyv28500) -> Zero 214.33/146.03 new_sr7(Pos(vyv1840)) -> Pos(new_primMulNat1(vyv1840)) 214.33/146.03 new_sr7(Neg(vyv1840)) -> Pos(new_primMulNat1(vyv1840)) 214.33/146.03 new_primMulNat1(Succ(vyv18400)) -> new_primPlusNat0(new_primMulNat2(vyv18400), Succ(vyv18400)) 214.33/146.03 new_primMulNat1(Zero) -> Zero 214.33/146.03 new_primMulNat2(Succ(vyv184000)) -> new_primPlusNat0(new_primMulNat3(vyv184000), Succ(Succ(vyv184000))) 214.33/146.03 new_primMulNat2(Zero) -> Zero 214.33/146.03 new_primPlusNat0(Succ(vyv4000), Succ(vyv6000)) -> Succ(Succ(new_primPlusNat0(vyv4000, vyv6000))) 214.33/146.03 new_primPlusNat0(Zero, Succ(vyv6000)) -> Succ(vyv6000) 214.33/146.03 new_primPlusNat0(Zero, Zero) -> Zero 214.33/146.03 new_primPlusNat0(Succ(vyv4000), Zero) -> Succ(vyv4000) 214.33/146.03 new_primMulNat3(Succ(vyv1840000)) -> new_primPlusNat0(new_primMulNat4(vyv1840000), Succ(Succ(Succ(vyv1840000)))) 214.33/146.03 new_primMulNat3(Zero) -> Zero 214.33/146.03 new_primMulNat4(Succ(vyv18400000)) -> new_primPlusNat0(new_primMulNat0(vyv18400000, Succ(Succ(Succ(Succ(vyv18400000))))), Succ(Succ(Succ(Succ(vyv18400000))))) 214.33/146.03 new_primMulNat4(Zero) -> Zero 214.33/146.03 new_primMulNat0(Zero, Succ(vyv23900)) -> Zero 214.33/146.03 new_primMulNat0(Succ(vyv24000), Succ(vyv23900)) -> new_primPlusNat0(new_primMulNat0(vyv24000, Succ(vyv23900)), Succ(vyv23900)) 214.33/146.03 new_sr6(vyv184) -> error([]) 214.33/146.03 new_sr5(:%(vyv1840, vyv1841), bd) -> new_reduce2Reduce1(vyv1840, vyv1840, vyv1841, vyv1841, new_esEs0(vyv1841, bd), bd) 214.33/146.03 new_esEs0(vyv1841, ty_Int) -> new_esEs(new_sr7(vyv1841)) 214.33/146.03 new_esEs0(vyv1841, ty_Integer) -> new_esEs1(new_sr6(vyv1841)) 214.33/146.03 new_reduce2Reduce1(vyv265, vyv266, vyv267, vyv268, False, bh) -> :%(new_quot0(vyv265, vyv266, vyv267, vyv268, bh), new_quot1(vyv267, vyv268, vyv265, vyv266, bh)) 214.33/146.03 new_reduce2Reduce1(vyv265, vyv266, vyv267, vyv268, True, bh) -> error([]) 214.33/146.03 new_quot0(vyv265, vyv266, vyv267, vyv268, ty_Integer) -> new_quot2(new_sr9(vyv265, vyv266), new_sr9(vyv265, vyv266), new_sr9(vyv267, vyv268)) 214.33/146.03 new_quot0(vyv265, vyv266, vyv267, vyv268, ty_Int) -> new_quot(new_sr10(vyv265, vyv266), new_sr10(vyv265, vyv266), new_sr10(vyv267, vyv268)) 214.33/146.03 new_quot1(vyv267, vyv268, vyv265, vyv266, ty_Int) -> new_quot(new_sr10(vyv267, vyv268), new_sr10(vyv265, vyv266), new_sr10(vyv267, vyv268)) 214.33/146.03 new_quot1(vyv267, vyv268, vyv265, vyv266, ty_Integer) -> new_quot2(new_sr9(vyv267, vyv268), new_sr9(vyv265, vyv266), new_sr9(vyv267, vyv268)) 214.33/146.03 new_sr9(vyv240, vyv239) -> error([]) 214.33/146.03 new_quot2(vyv274, vyv276, vyv275) -> error([]) 214.33/146.03 new_sr10(Pos(vyv2400), Pos(vyv2390)) -> Pos(new_primMulNat0(vyv2400, vyv2390)) 214.33/146.03 new_sr10(Neg(vyv2400), Neg(vyv2390)) -> Pos(new_primMulNat0(vyv2400, vyv2390)) 214.33/146.03 new_sr10(Pos(vyv2400), Neg(vyv2390)) -> Neg(new_primMulNat0(vyv2400, vyv2390)) 214.33/146.03 new_sr10(Neg(vyv2400), Pos(vyv2390)) -> Neg(new_primMulNat0(vyv2400, vyv2390)) 214.33/146.03 new_quot(Pos(vyv2710), vyv273, vyv272) -> new_primQuotInt(vyv2710, new_gcd(vyv273, vyv272)) 214.33/146.03 new_quot(Neg(vyv2710), vyv273, vyv272) -> new_primQuotInt0(vyv2710, new_gcd(vyv273, vyv272)) 214.33/146.03 new_gcd(vyv273, vyv272) -> new_gcd2(new_esEs(vyv273), vyv273, vyv272) 214.33/146.03 new_primQuotInt0(vyv2710, Pos(Succ(vyv28800))) -> Neg(new_primDivNatS1(vyv2710, vyv28800)) 214.33/146.03 new_primQuotInt0(vyv2710, Neg(Zero)) -> new_error 214.33/146.03 new_primQuotInt0(vyv2710, Neg(Succ(vyv28800))) -> Pos(new_primDivNatS1(vyv2710, vyv28800)) 214.33/146.03 new_primQuotInt0(vyv2710, Pos(Zero)) -> new_error 214.33/146.03 new_error -> error([]) 214.33/146.03 new_primDivNatS1(Succ(Succ(vyv271000)), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS0(vyv271000), Zero)) 214.33/146.03 new_primDivNatS1(Succ(Zero), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS1, Zero)) 214.33/146.03 new_primMinusNatS1 -> Zero 214.33/146.03 new_primMinusNatS0(vyv271000) -> Succ(vyv271000) 214.33/146.03 new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) 214.33/146.03 new_esEs(Pos(Succ(vyv24300))) -> new_primEqInt(Pos(Succ(vyv24300))) 214.33/146.03 new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) 214.33/146.03 new_esEs(Neg(Succ(vyv24300))) -> new_primEqInt(Neg(Succ(vyv24300))) 214.33/146.03 new_gcd2(True, vyv273, vyv272) -> new_gcd1(new_esEs(vyv272), vyv273, vyv272) 214.33/146.03 new_gcd2(False, vyv273, vyv272) -> new_gcd0(vyv273, vyv272) 214.33/146.03 new_gcd0(vyv273, vyv272) -> new_gcd0Gcd'11(new_esEs(new_abs(vyv272)), vyv273, vyv272) 214.33/146.03 new_abs(Neg(Zero)) -> Neg(Zero) 214.33/146.03 new_abs(Neg(Succ(vyv27200))) -> Pos(Succ(vyv27200)) 214.33/146.03 new_abs(Pos(Succ(vyv27200))) -> Pos(Succ(vyv27200)) 214.33/146.03 new_abs(Pos(Zero)) -> Pos(Zero) 214.33/146.03 new_gcd0Gcd'11(True, vyv273, vyv272) -> new_abs(vyv273) 214.33/146.03 new_gcd0Gcd'11(False, vyv273, vyv272) -> new_gcd0Gcd'00(new_abs(vyv273), new_abs(vyv272)) 214.33/146.03 new_gcd0Gcd'10(False, vyv292, vyv293) -> new_gcd0Gcd'00(vyv292, new_rem(vyv293, vyv292)) 214.33/146.03 new_gcd0Gcd'00(vyv293, vyv292) -> new_gcd0Gcd'10(new_esEs(new_rem(vyv293, vyv292)), vyv292, vyv293) 214.33/146.03 new_rem(Pos(vyv2930), Neg(Zero)) -> new_error 214.33/146.03 new_rem(Neg(vyv2930), Pos(Zero)) -> new_error 214.33/146.03 new_rem(Pos(vyv2930), Neg(Succ(vyv29200))) -> Pos(new_primModNatS1(vyv2930, vyv29200)) 214.33/146.03 new_rem(Neg(vyv2930), Pos(Succ(vyv29200))) -> Neg(new_primModNatS1(vyv2930, vyv29200)) 214.33/146.03 new_rem(Pos(vyv2930), Pos(Succ(vyv29200))) -> Pos(new_primModNatS1(vyv2930, vyv29200)) 214.33/146.03 new_rem(Neg(vyv2930), Neg(Zero)) -> new_error 214.33/146.03 new_rem(Neg(vyv2930), Neg(Succ(vyv29200))) -> Neg(new_primModNatS1(vyv2930, vyv29200)) 214.33/146.03 new_rem(Pos(vyv2930), Pos(Zero)) -> new_error 214.33/146.03 new_gcd0Gcd'10(True, vyv292, vyv293) -> vyv292 214.33/146.03 new_primModNatS1(Succ(Zero), Succ(vyv292000)) -> Succ(Zero) 214.33/146.03 new_primModNatS1(Zero, vyv29200) -> Zero 214.33/146.03 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 214.33/146.03 new_primModNatS1(Succ(Succ(vyv293000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv293000), Zero) 214.33/146.03 new_primModNatS1(Succ(Succ(vyv293000)), Succ(vyv292000)) -> new_primModNatS01(vyv293000, vyv292000, vyv293000, vyv292000) 214.33/146.03 new_primModNatS01(vyv331, vyv332, Zero, Zero) -> new_primModNatS02(vyv331, vyv332) 214.33/146.03 new_primModNatS02(vyv331, vyv332) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv331), Succ(vyv332)), Succ(vyv332)) 214.33/146.03 new_primModNatS01(vyv331, vyv332, Succ(vyv3330), Zero) -> new_primModNatS02(vyv331, vyv332) 214.33/146.03 new_primModNatS01(vyv331, vyv332, Succ(vyv3330), Succ(vyv3340)) -> new_primModNatS01(vyv331, vyv332, vyv3330, vyv3340) 214.33/146.03 new_primModNatS01(vyv331, vyv332, Zero, Succ(vyv3340)) -> Succ(Succ(vyv331)) 214.33/146.03 new_gcd1(True, vyv273, vyv272) -> new_error 214.33/146.03 new_gcd1(False, vyv273, vyv272) -> new_gcd0(vyv273, vyv272) 214.33/146.03 new_primEqInt(Neg(Succ(vyv242000))) -> False 214.33/146.03 new_primEqInt(Pos(Zero)) -> True 214.33/146.03 new_primEqInt(Pos(Succ(vyv242000))) -> False 214.33/146.03 new_primEqInt(Neg(Zero)) -> True 214.33/146.03 new_primQuotInt(vyv2710, Pos(Succ(vyv28500))) -> Pos(new_primDivNatS1(vyv2710, vyv28500)) 214.33/146.03 new_primQuotInt(vyv2710, Neg(Zero)) -> new_error 214.33/146.03 new_primQuotInt(vyv2710, Pos(Zero)) -> new_error 214.33/146.03 new_primQuotInt(vyv2710, Neg(Succ(vyv28500))) -> Neg(new_primDivNatS1(vyv2710, vyv28500)) 214.33/146.03 new_primMulNat0(Succ(vyv24000), Zero) -> Zero 214.33/146.03 new_primMulNat0(Zero, Zero) -> Zero 214.33/146.03 new_esEs1(Integer(vyv2700)) -> new_primEqInt(vyv2700) 214.33/146.03 new_sr12(vyv184) -> error([]) 214.33/146.03 new_sr11(vyv184) -> error([]) 214.33/146.03 new_ms(vyv229, Neg(vyv2450)) -> Pos(new_primPlusNat0(Succ(vyv229), vyv2450)) 214.33/146.03 new_ms(vyv229, Pos(Succ(vyv24500))) -> new_primMinusNat0(vyv229, vyv24500) 214.33/146.03 new_ms(vyv229, Pos(Zero)) -> Pos(Succ(vyv229)) 214.33/146.03 new_sr2(vyv228, vyv227, ty_Integer) -> new_sr9(vyv228, vyv227) 214.33/146.03 new_sr2(vyv228, vyv227, ty_Int) -> new_sr10(vyv228, vyv227) 214.33/146.03 new_sr2(vyv228, vyv227, app(ty_Ratio, bg)) -> new_sr8(vyv228, vyv227, bg) 214.33/146.03 new_sr2(vyv228, vyv227, ty_Double) -> new_sr13(vyv228, vyv227) 214.33/146.03 new_sr2(vyv228, vyv227, ty_Float) -> new_sr14(vyv228, vyv227) 214.33/146.03 new_sr14(vyv240, vyv239) -> error([]) 214.33/146.03 new_sr13(vyv240, vyv239) -> error([]) 214.33/146.03 new_sr8(:%(vyv2400, vyv2401), :%(vyv2390, vyv2391), be) -> new_reduce2Reduce1(vyv2400, vyv2390, vyv2401, vyv2391, new_esEs2(vyv2401, vyv2391, be), be) 214.33/146.03 new_esEs2(vyv2401, vyv2391, ty_Integer) -> new_esEs1(new_sr9(vyv2401, vyv2391)) 214.33/146.03 new_esEs2(vyv2401, vyv2391, ty_Int) -> new_esEs(new_sr10(vyv2401, vyv2391)) 214.33/146.03 new_primMinusNat0(Succ(vyv2290), Succ(vyv245000)) -> new_primMinusNat0(vyv2290, vyv245000) 214.33/146.03 new_primMinusNat0(Zero, Zero) -> Pos(Zero) 214.33/146.03 new_primMinusNat0(Zero, Succ(vyv245000)) -> Neg(Succ(vyv245000)) 214.33/146.03 new_primMinusNat0(Succ(vyv2290), Zero) -> Pos(Succ(vyv2290)) 214.33/146.03 214.33/146.03 The set Q consists of the following terms: 214.33/146.03 214.33/146.03 new_sr13(x0, x1) 214.33/146.03 new_primDivNatS01(x0, x1, Zero, Zero) 214.33/146.03 new_gcd0Gcd'11(False, x0, x1) 214.33/146.03 new_primMulNat4(Zero) 214.33/146.03 new_gcd0Gcd'11(True, x0, x1) 214.33/146.03 new_sr2(x0, x1, ty_Float) 214.33/146.03 new_sr5(:%(x0, x1), x2) 214.33/146.03 new_primEqInt(Pos(Zero)) 214.33/146.03 new_ms(x0, Neg(x1)) 214.33/146.03 new_sr2(x0, x1, ty_Double) 214.33/146.03 new_esEs(Pos(Succ(x0))) 214.33/146.03 new_primQuotInt0(x0, Neg(Zero)) 214.33/146.03 new_primMulNat3(Zero) 214.33/146.03 new_primModNatS02(x0, x1) 214.33/146.03 new_primDivNatS1(Succ(Zero), Zero) 214.33/146.03 new_primMinusNatS0(x0) 214.33/146.03 new_sr11(x0) 214.33/146.03 new_rem(Pos(x0), Neg(Succ(x1))) 214.33/146.03 new_rem(Neg(x0), Pos(Succ(x1))) 214.33/146.03 new_primMulNat0(Zero, Zero) 214.33/146.03 new_primPlusNat0(Succ(x0), Zero) 214.33/146.03 new_primMulNat0(Succ(x0), Zero) 214.33/146.03 new_primMulNat2(Zero) 214.33/146.03 new_primQuotInt(x0, Pos(Zero)) 214.33/146.03 new_primMulNat2(Succ(x0)) 214.33/146.03 new_primQuotInt(x0, Neg(Zero)) 214.33/146.03 new_rem(Neg(x0), Neg(Succ(x1))) 214.33/146.03 new_primMinusNatS2(Zero, Succ(x0)) 214.33/146.03 new_primMulNat3(Succ(x0)) 214.33/146.03 new_esEs1(Integer(x0)) 214.33/146.03 new_primQuotInt0(x0, Pos(Zero)) 214.33/146.03 new_gcd2(True, x0, x1) 214.33/146.03 new_quot1(x0, x1, x2, x3, ty_Int) 214.33/146.03 new_primDivNatS1(Zero, x0) 214.33/146.03 new_primMinusNat0(Zero, Zero) 214.33/146.03 new_gcd(x0, x1) 214.33/146.03 new_gcd1(False, x0, x1) 214.33/146.03 new_esEs2(x0, x1, ty_Int) 214.33/146.03 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 214.33/146.03 new_sr1(x0, app(ty_Ratio, x1)) 214.33/146.03 new_sr1(x0, ty_Float) 214.33/146.03 new_primPlusNat0(Zero, Succ(x0)) 214.33/146.03 new_sr8(:%(x0, x1), :%(x2, x3), x4) 214.33/146.03 new_abs(Neg(Zero)) 214.33/146.03 new_primMinusNatS2(Succ(x0), Zero) 214.33/146.03 new_error 214.33/146.03 new_primModNatS1(Succ(Zero), Zero) 214.33/146.03 new_primMulNat4(Succ(x0)) 214.33/146.03 new_sr1(x0, ty_Integer) 214.33/146.03 new_primDivNatS02(x0, x1) 214.33/146.03 new_sr1(x0, ty_Int) 214.33/146.03 new_rem(Neg(x0), Neg(Zero)) 214.33/146.03 new_primMinusNat0(Zero, Succ(x0)) 214.33/146.03 new_primEqInt(Neg(Zero)) 214.33/146.03 new_rem(Pos(x0), Pos(Succ(x1))) 214.33/146.03 new_abs(Pos(Succ(x0))) 214.33/146.03 new_primMulNat0(Succ(x0), Succ(x1)) 214.33/146.03 new_primMulNat0(Zero, Succ(x0)) 214.33/146.03 new_reduce2Reduce1(x0, x1, x2, x3, True, x4) 214.33/146.03 new_gcd0Gcd'10(False, x0, x1) 214.33/146.03 new_sr12(x0) 214.33/146.03 new_primDivNatS01(x0, x1, Zero, Succ(x2)) 214.33/146.03 new_sr10(Pos(x0), Pos(x1)) 214.33/146.03 new_primModNatS01(x0, x1, Zero, Succ(x2)) 214.33/146.03 new_primPlusNat0(Zero, Zero) 214.33/146.03 new_primQuotInt0(x0, Pos(Succ(x1))) 214.33/146.03 new_primModNatS01(x0, x1, Succ(x2), Zero) 214.33/146.03 new_ms(x0, Pos(Succ(x1))) 214.33/146.03 new_primModNatS1(Succ(Succ(x0)), Zero) 214.33/146.03 new_rem(Pos(x0), Pos(Zero)) 214.33/146.03 new_quot(Pos(x0), x1, x2) 214.33/146.03 new_primMinusNatS2(Zero, Zero) 214.33/146.03 new_esEs0(x0, ty_Int) 214.33/146.03 new_primMinusNat0(Succ(x0), Zero) 214.33/146.03 new_esEs(Pos(Zero)) 214.33/146.03 new_quot(Neg(x0), x1, x2) 214.33/146.03 new_primDivNatS01(x0, x1, Succ(x2), Succ(x3)) 214.33/146.03 new_quot2(x0, x1, x2) 214.33/146.03 new_primEqInt(Neg(Succ(x0))) 214.33/146.03 new_sr10(Neg(x0), Neg(x1)) 214.33/146.03 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 214.33/146.03 new_sr9(x0, x1) 214.33/146.03 new_sr2(x0, x1, ty_Integer) 214.33/146.03 new_sr7(Neg(x0)) 214.33/146.03 new_sr1(x0, ty_Double) 214.33/146.03 new_primQuotInt0(x0, Neg(Succ(x1))) 214.33/146.03 new_rem(Pos(x0), Neg(Zero)) 214.33/146.03 new_rem(Neg(x0), Pos(Zero)) 214.33/146.03 new_gcd0Gcd'00(x0, x1) 214.33/146.03 new_primQuotInt(x0, Neg(Succ(x1))) 214.33/146.03 new_primMinusNatS2(Succ(x0), Succ(x1)) 214.33/146.03 new_ms(x0, Pos(Zero)) 214.33/146.03 new_abs(Pos(Zero)) 214.33/146.03 new_primMinusNat0(Succ(x0), Succ(x1)) 214.33/146.03 new_quot0(x0, x1, x2, x3, ty_Integer) 214.33/146.03 new_sr6(x0) 214.33/146.03 new_gcd2(False, x0, x1) 214.33/146.03 new_gcd1(True, x0, x1) 214.33/146.03 new_esEs2(x0, x1, ty_Integer) 214.33/146.03 new_primMinusNatS1 214.33/146.03 new_sr7(Pos(x0)) 214.33/146.03 new_gcd0Gcd'10(True, x0, x1) 214.33/146.03 new_primModNatS1(Zero, x0) 214.33/146.03 new_sr10(Pos(x0), Neg(x1)) 214.33/146.03 new_sr10(Neg(x0), Pos(x1)) 214.33/146.03 new_primDivNatS01(x0, x1, Succ(x2), Zero) 214.33/146.03 new_primDivNatS1(Succ(Succ(x0)), Succ(x1)) 214.33/146.03 new_primPlusNat0(Succ(x0), Succ(x1)) 214.33/146.03 new_primDivNatS1(Succ(Zero), Succ(x0)) 214.33/146.03 new_primQuotInt(x0, Pos(Succ(x1))) 214.33/146.03 new_sr2(x0, x1, app(ty_Ratio, x2)) 214.33/146.03 new_abs(Neg(Succ(x0))) 214.33/146.03 new_esEs0(x0, ty_Integer) 214.33/146.03 new_esEs(Neg(Succ(x0))) 214.33/146.03 new_primModNatS01(x0, x1, Zero, Zero) 214.33/146.03 new_gcd0(x0, x1) 214.33/146.03 new_primEqInt(Pos(Succ(x0))) 214.33/146.03 new_quot1(x0, x1, x2, x3, ty_Integer) 214.33/146.03 new_primDivNatS1(Succ(Succ(x0)), Zero) 214.33/146.03 new_primMulNat1(Succ(x0)) 214.33/146.03 new_sr14(x0, x1) 214.33/146.03 new_quot0(x0, x1, x2, x3, ty_Int) 214.33/146.03 new_sr2(x0, x1, ty_Int) 214.33/146.03 new_primModNatS1(Succ(Zero), Succ(x0)) 214.33/146.03 new_reduce2Reduce1(x0, x1, x2, x3, False, x4) 214.33/146.03 new_esEs(Neg(Zero)) 214.33/146.03 new_primMulNat1(Zero) 214.33/146.03 214.33/146.03 We have to consider all minimal (P,Q,R)-chains. 214.33/146.03 ---------------------------------------- 214.33/146.03 214.33/146.03 (874) TransformationProof (EQUIVALENT) 214.33/146.03 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]: 214.33/146.03 214.33/146.03 (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)) 214.33/146.03 214.33/146.03 214.33/146.03 ---------------------------------------- 214.33/146.03 214.33/146.03 (875) 214.33/146.03 Obligation: 214.33/146.03 Q DP problem: 214.33/146.03 The TRS P consists of the following rules: 214.33/146.03 214.33/146.03 new_pr2F0(vyv184, Pos(Succ(Succ(vyv223000))), vyv188, h) -> new_pr2F0G1(vyv188, vyv184, Succ(vyv223000), vyv223000, h) 214.33/146.03 new_pr2F0G1(vyv227, vyv228, vyv229, Succ(Succ(vyv23000)), ba) -> new_pr2F0G1(vyv227, vyv228, vyv229, vyv23000, ba) 214.33/146.03 new_pr2F0G1(vyv227, vyv228, vyv229, Succ(Zero), ba) -> new_pr2F(vyv228, vyv229, Pos(Succ(Zero)), vyv227, ba) 214.33/146.03 new_pr2F3(False, vyv228, vyv229, vyv245, vyv227, ba) -> new_pr2F0(vyv228, new_ms(vyv229, vyv245), new_sr2(vyv228, vyv227, ba), ba) 214.33/146.03 new_pr2F0(vyv184, Pos(Succ(Zero)), vyv188, h) -> new_pr2F(vyv184, Zero, Pos(Succ(Zero)), vyv188, h) 214.33/146.03 new_pr2F0G1(vyv227, vyv228, vyv229, Zero, ba) -> new_pr2F0G(vyv227, new_sr1(vyv228, ba), Pos(new_primDivNatS1(Succ(vyv229), Succ(Zero))), ba) 214.33/146.03 new_pr2F0G(vyv188, vyv184, Pos(Succ(Succ(vyv223000))), h) -> new_pr2F0G1(vyv188, vyv184, Succ(vyv223000), vyv223000, h) 214.33/146.03 new_pr2F0G(vyv188, vyv184, Pos(Succ(Zero)), h) -> new_pr2F(vyv184, Zero, Pos(Succ(Zero)), vyv188, h) 214.33/146.03 new_pr2F(z1, z2, Pos(Succ(Zero)), z0, z3) -> new_pr2F3(new_esEs(new_primMinusNat0(z2, Zero)), z1, z2, Pos(Succ(Zero)), z0, z3) 214.33/146.03 new_pr2F(z0, Zero, Pos(Succ(Zero)), z1, z2) -> new_pr2F3(new_esEs(Pos(Zero)), z0, Zero, Pos(Succ(Zero)), z1, z2) 214.33/146.03 214.33/146.03 The TRS R consists of the following rules: 214.33/146.03 214.33/146.03 new_sr1(vyv228, ty_Double) -> new_sr11(vyv228) 214.33/146.03 new_sr1(vyv228, ty_Float) -> new_sr12(vyv228) 214.33/146.03 new_sr1(vyv228, app(ty_Ratio, bg)) -> new_sr5(vyv228, bg) 214.33/146.03 new_sr1(vyv228, ty_Integer) -> new_sr6(vyv228) 214.33/146.03 new_sr1(vyv228, ty_Int) -> new_sr7(vyv228) 214.33/146.03 new_primDivNatS1(Succ(Zero), Succ(vyv285000)) -> Zero 214.33/146.03 new_primDivNatS1(Succ(Succ(vyv271000)), Succ(vyv285000)) -> new_primDivNatS01(vyv271000, vyv285000, vyv271000, vyv285000) 214.33/146.03 new_primDivNatS01(vyv311, vyv312, Succ(vyv3130), Zero) -> new_primDivNatS02(vyv311, vyv312) 214.33/146.03 new_primDivNatS01(vyv311, vyv312, Zero, Succ(vyv3140)) -> Zero 214.33/146.03 new_primDivNatS01(vyv311, vyv312, Succ(vyv3130), Succ(vyv3140)) -> new_primDivNatS01(vyv311, vyv312, vyv3130, vyv3140) 214.33/146.03 new_primDivNatS01(vyv311, vyv312, Zero, Zero) -> new_primDivNatS02(vyv311, vyv312) 214.33/146.03 new_primDivNatS02(vyv311, vyv312) -> Succ(new_primDivNatS1(new_primMinusNatS2(vyv311, vyv312), Succ(vyv312))) 214.33/146.03 new_primMinusNatS2(Zero, Succ(vyv3120)) -> Zero 214.33/146.03 new_primMinusNatS2(Succ(vyv3110), Zero) -> Succ(vyv3110) 214.33/146.03 new_primMinusNatS2(Zero, Zero) -> Zero 214.33/146.03 new_primMinusNatS2(Succ(vyv3110), Succ(vyv3120)) -> new_primMinusNatS2(vyv3110, vyv3120) 214.33/146.03 new_primDivNatS1(Zero, vyv28500) -> Zero 214.33/146.03 new_sr7(Pos(vyv1840)) -> Pos(new_primMulNat1(vyv1840)) 214.33/146.03 new_sr7(Neg(vyv1840)) -> Pos(new_primMulNat1(vyv1840)) 214.33/146.03 new_primMulNat1(Succ(vyv18400)) -> new_primPlusNat0(new_primMulNat2(vyv18400), Succ(vyv18400)) 214.33/146.03 new_primMulNat1(Zero) -> Zero 214.33/146.03 new_primMulNat2(Succ(vyv184000)) -> new_primPlusNat0(new_primMulNat3(vyv184000), Succ(Succ(vyv184000))) 214.33/146.03 new_primMulNat2(Zero) -> Zero 214.33/146.03 new_primPlusNat0(Succ(vyv4000), Succ(vyv6000)) -> Succ(Succ(new_primPlusNat0(vyv4000, vyv6000))) 214.33/146.03 new_primPlusNat0(Zero, Succ(vyv6000)) -> Succ(vyv6000) 214.33/146.03 new_primPlusNat0(Zero, Zero) -> Zero 214.33/146.03 new_primPlusNat0(Succ(vyv4000), Zero) -> Succ(vyv4000) 214.33/146.03 new_primMulNat3(Succ(vyv1840000)) -> new_primPlusNat0(new_primMulNat4(vyv1840000), Succ(Succ(Succ(vyv1840000)))) 214.33/146.03 new_primMulNat3(Zero) -> Zero 214.33/146.03 new_primMulNat4(Succ(vyv18400000)) -> new_primPlusNat0(new_primMulNat0(vyv18400000, Succ(Succ(Succ(Succ(vyv18400000))))), Succ(Succ(Succ(Succ(vyv18400000))))) 214.33/146.03 new_primMulNat4(Zero) -> Zero 214.33/146.03 new_primMulNat0(Zero, Succ(vyv23900)) -> Zero 214.33/146.03 new_primMulNat0(Succ(vyv24000), Succ(vyv23900)) -> new_primPlusNat0(new_primMulNat0(vyv24000, Succ(vyv23900)), Succ(vyv23900)) 214.33/146.03 new_sr6(vyv184) -> error([]) 214.33/146.03 new_sr5(:%(vyv1840, vyv1841), bd) -> new_reduce2Reduce1(vyv1840, vyv1840, vyv1841, vyv1841, new_esEs0(vyv1841, bd), bd) 214.33/146.03 new_esEs0(vyv1841, ty_Int) -> new_esEs(new_sr7(vyv1841)) 214.33/146.03 new_esEs0(vyv1841, ty_Integer) -> new_esEs1(new_sr6(vyv1841)) 214.33/146.03 new_reduce2Reduce1(vyv265, vyv266, vyv267, vyv268, False, bh) -> :%(new_quot0(vyv265, vyv266, vyv267, vyv268, bh), new_quot1(vyv267, vyv268, vyv265, vyv266, bh)) 214.33/146.03 new_reduce2Reduce1(vyv265, vyv266, vyv267, vyv268, True, bh) -> error([]) 214.33/146.03 new_quot0(vyv265, vyv266, vyv267, vyv268, ty_Integer) -> new_quot2(new_sr9(vyv265, vyv266), new_sr9(vyv265, vyv266), new_sr9(vyv267, vyv268)) 214.33/146.03 new_quot0(vyv265, vyv266, vyv267, vyv268, ty_Int) -> new_quot(new_sr10(vyv265, vyv266), new_sr10(vyv265, vyv266), new_sr10(vyv267, vyv268)) 214.33/146.03 new_quot1(vyv267, vyv268, vyv265, vyv266, ty_Int) -> new_quot(new_sr10(vyv267, vyv268), new_sr10(vyv265, vyv266), new_sr10(vyv267, vyv268)) 214.33/146.03 new_quot1(vyv267, vyv268, vyv265, vyv266, ty_Integer) -> new_quot2(new_sr9(vyv267, vyv268), new_sr9(vyv265, vyv266), new_sr9(vyv267, vyv268)) 214.33/146.03 new_sr9(vyv240, vyv239) -> error([]) 214.33/146.03 new_quot2(vyv274, vyv276, vyv275) -> error([]) 214.33/146.03 new_sr10(Pos(vyv2400), Pos(vyv2390)) -> Pos(new_primMulNat0(vyv2400, vyv2390)) 214.33/146.03 new_sr10(Neg(vyv2400), Neg(vyv2390)) -> Pos(new_primMulNat0(vyv2400, vyv2390)) 214.33/146.03 new_sr10(Pos(vyv2400), Neg(vyv2390)) -> Neg(new_primMulNat0(vyv2400, vyv2390)) 214.33/146.03 new_sr10(Neg(vyv2400), Pos(vyv2390)) -> Neg(new_primMulNat0(vyv2400, vyv2390)) 214.33/146.03 new_quot(Pos(vyv2710), vyv273, vyv272) -> new_primQuotInt(vyv2710, new_gcd(vyv273, vyv272)) 214.33/146.03 new_quot(Neg(vyv2710), vyv273, vyv272) -> new_primQuotInt0(vyv2710, new_gcd(vyv273, vyv272)) 214.33/146.03 new_gcd(vyv273, vyv272) -> new_gcd2(new_esEs(vyv273), vyv273, vyv272) 214.33/146.03 new_primQuotInt0(vyv2710, Pos(Succ(vyv28800))) -> Neg(new_primDivNatS1(vyv2710, vyv28800)) 214.33/146.03 new_primQuotInt0(vyv2710, Neg(Zero)) -> new_error 214.33/146.03 new_primQuotInt0(vyv2710, Neg(Succ(vyv28800))) -> Pos(new_primDivNatS1(vyv2710, vyv28800)) 214.33/146.03 new_primQuotInt0(vyv2710, Pos(Zero)) -> new_error 214.33/146.03 new_error -> error([]) 214.33/146.03 new_primDivNatS1(Succ(Succ(vyv271000)), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS0(vyv271000), Zero)) 214.33/146.03 new_primDivNatS1(Succ(Zero), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS1, Zero)) 214.33/146.03 new_primMinusNatS1 -> Zero 214.33/146.03 new_primMinusNatS0(vyv271000) -> Succ(vyv271000) 214.33/146.03 new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) 214.33/146.03 new_esEs(Pos(Succ(vyv24300))) -> new_primEqInt(Pos(Succ(vyv24300))) 214.33/146.03 new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) 214.33/146.03 new_esEs(Neg(Succ(vyv24300))) -> new_primEqInt(Neg(Succ(vyv24300))) 214.33/146.03 new_gcd2(True, vyv273, vyv272) -> new_gcd1(new_esEs(vyv272), vyv273, vyv272) 214.33/146.03 new_gcd2(False, vyv273, vyv272) -> new_gcd0(vyv273, vyv272) 214.33/146.03 new_gcd0(vyv273, vyv272) -> new_gcd0Gcd'11(new_esEs(new_abs(vyv272)), vyv273, vyv272) 214.33/146.03 new_abs(Neg(Zero)) -> Neg(Zero) 214.33/146.03 new_abs(Neg(Succ(vyv27200))) -> Pos(Succ(vyv27200)) 214.33/146.03 new_abs(Pos(Succ(vyv27200))) -> Pos(Succ(vyv27200)) 214.33/146.03 new_abs(Pos(Zero)) -> Pos(Zero) 214.33/146.03 new_gcd0Gcd'11(True, vyv273, vyv272) -> new_abs(vyv273) 214.33/146.03 new_gcd0Gcd'11(False, vyv273, vyv272) -> new_gcd0Gcd'00(new_abs(vyv273), new_abs(vyv272)) 214.33/146.03 new_gcd0Gcd'10(False, vyv292, vyv293) -> new_gcd0Gcd'00(vyv292, new_rem(vyv293, vyv292)) 214.33/146.03 new_gcd0Gcd'00(vyv293, vyv292) -> new_gcd0Gcd'10(new_esEs(new_rem(vyv293, vyv292)), vyv292, vyv293) 214.33/146.03 new_rem(Pos(vyv2930), Neg(Zero)) -> new_error 214.33/146.03 new_rem(Neg(vyv2930), Pos(Zero)) -> new_error 214.33/146.03 new_rem(Pos(vyv2930), Neg(Succ(vyv29200))) -> Pos(new_primModNatS1(vyv2930, vyv29200)) 214.33/146.03 new_rem(Neg(vyv2930), Pos(Succ(vyv29200))) -> Neg(new_primModNatS1(vyv2930, vyv29200)) 214.33/146.03 new_rem(Pos(vyv2930), Pos(Succ(vyv29200))) -> Pos(new_primModNatS1(vyv2930, vyv29200)) 214.33/146.03 new_rem(Neg(vyv2930), Neg(Zero)) -> new_error 214.33/146.03 new_rem(Neg(vyv2930), Neg(Succ(vyv29200))) -> Neg(new_primModNatS1(vyv2930, vyv29200)) 214.33/146.03 new_rem(Pos(vyv2930), Pos(Zero)) -> new_error 214.33/146.03 new_gcd0Gcd'10(True, vyv292, vyv293) -> vyv292 214.33/146.03 new_primModNatS1(Succ(Zero), Succ(vyv292000)) -> Succ(Zero) 214.33/146.03 new_primModNatS1(Zero, vyv29200) -> Zero 214.33/146.03 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 214.33/146.03 new_primModNatS1(Succ(Succ(vyv293000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv293000), Zero) 214.33/146.03 new_primModNatS1(Succ(Succ(vyv293000)), Succ(vyv292000)) -> new_primModNatS01(vyv293000, vyv292000, vyv293000, vyv292000) 214.33/146.03 new_primModNatS01(vyv331, vyv332, Zero, Zero) -> new_primModNatS02(vyv331, vyv332) 214.33/146.03 new_primModNatS02(vyv331, vyv332) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv331), Succ(vyv332)), Succ(vyv332)) 214.33/146.03 new_primModNatS01(vyv331, vyv332, Succ(vyv3330), Zero) -> new_primModNatS02(vyv331, vyv332) 214.33/146.03 new_primModNatS01(vyv331, vyv332, Succ(vyv3330), Succ(vyv3340)) -> new_primModNatS01(vyv331, vyv332, vyv3330, vyv3340) 214.33/146.03 new_primModNatS01(vyv331, vyv332, Zero, Succ(vyv3340)) -> Succ(Succ(vyv331)) 214.33/146.03 new_gcd1(True, vyv273, vyv272) -> new_error 214.33/146.03 new_gcd1(False, vyv273, vyv272) -> new_gcd0(vyv273, vyv272) 214.33/146.03 new_primEqInt(Neg(Succ(vyv242000))) -> False 214.33/146.03 new_primEqInt(Pos(Zero)) -> True 214.33/146.03 new_primEqInt(Pos(Succ(vyv242000))) -> False 214.33/146.03 new_primEqInt(Neg(Zero)) -> True 214.33/146.03 new_primQuotInt(vyv2710, Pos(Succ(vyv28500))) -> Pos(new_primDivNatS1(vyv2710, vyv28500)) 214.33/146.03 new_primQuotInt(vyv2710, Neg(Zero)) -> new_error 214.33/146.03 new_primQuotInt(vyv2710, Pos(Zero)) -> new_error 214.33/146.03 new_primQuotInt(vyv2710, Neg(Succ(vyv28500))) -> Neg(new_primDivNatS1(vyv2710, vyv28500)) 214.33/146.03 new_primMulNat0(Succ(vyv24000), Zero) -> Zero 214.33/146.03 new_primMulNat0(Zero, Zero) -> Zero 214.33/146.03 new_esEs1(Integer(vyv2700)) -> new_primEqInt(vyv2700) 214.33/146.03 new_sr12(vyv184) -> error([]) 214.33/146.03 new_sr11(vyv184) -> error([]) 214.33/146.03 new_ms(vyv229, Neg(vyv2450)) -> Pos(new_primPlusNat0(Succ(vyv229), vyv2450)) 214.33/146.03 new_ms(vyv229, Pos(Succ(vyv24500))) -> new_primMinusNat0(vyv229, vyv24500) 214.33/146.03 new_ms(vyv229, Pos(Zero)) -> Pos(Succ(vyv229)) 214.33/146.03 new_sr2(vyv228, vyv227, ty_Integer) -> new_sr9(vyv228, vyv227) 214.33/146.03 new_sr2(vyv228, vyv227, ty_Int) -> new_sr10(vyv228, vyv227) 214.33/146.03 new_sr2(vyv228, vyv227, app(ty_Ratio, bg)) -> new_sr8(vyv228, vyv227, bg) 214.33/146.03 new_sr2(vyv228, vyv227, ty_Double) -> new_sr13(vyv228, vyv227) 214.33/146.03 new_sr2(vyv228, vyv227, ty_Float) -> new_sr14(vyv228, vyv227) 214.33/146.03 new_sr14(vyv240, vyv239) -> error([]) 214.33/146.03 new_sr13(vyv240, vyv239) -> error([]) 214.33/146.03 new_sr8(:%(vyv2400, vyv2401), :%(vyv2390, vyv2391), be) -> new_reduce2Reduce1(vyv2400, vyv2390, vyv2401, vyv2391, new_esEs2(vyv2401, vyv2391, be), be) 214.33/146.03 new_esEs2(vyv2401, vyv2391, ty_Integer) -> new_esEs1(new_sr9(vyv2401, vyv2391)) 214.33/146.03 new_esEs2(vyv2401, vyv2391, ty_Int) -> new_esEs(new_sr10(vyv2401, vyv2391)) 214.33/146.03 new_primMinusNat0(Succ(vyv2290), Succ(vyv245000)) -> new_primMinusNat0(vyv2290, vyv245000) 214.33/146.03 new_primMinusNat0(Zero, Zero) -> Pos(Zero) 214.33/146.03 new_primMinusNat0(Zero, Succ(vyv245000)) -> Neg(Succ(vyv245000)) 214.33/146.03 new_primMinusNat0(Succ(vyv2290), Zero) -> Pos(Succ(vyv2290)) 214.33/146.03 214.33/146.03 The set Q consists of the following terms: 214.33/146.03 214.33/146.03 new_sr13(x0, x1) 214.33/146.03 new_primDivNatS01(x0, x1, Zero, Zero) 214.33/146.03 new_gcd0Gcd'11(False, x0, x1) 214.33/146.03 new_primMulNat4(Zero) 214.33/146.03 new_gcd0Gcd'11(True, x0, x1) 214.33/146.03 new_sr2(x0, x1, ty_Float) 214.33/146.03 new_sr5(:%(x0, x1), x2) 214.33/146.03 new_primEqInt(Pos(Zero)) 214.33/146.03 new_ms(x0, Neg(x1)) 214.33/146.03 new_sr2(x0, x1, ty_Double) 214.33/146.03 new_esEs(Pos(Succ(x0))) 214.33/146.03 new_primQuotInt0(x0, Neg(Zero)) 214.33/146.03 new_primMulNat3(Zero) 214.33/146.03 new_primModNatS02(x0, x1) 214.33/146.03 new_primDivNatS1(Succ(Zero), Zero) 214.33/146.03 new_primMinusNatS0(x0) 214.33/146.03 new_sr11(x0) 214.33/146.03 new_rem(Pos(x0), Neg(Succ(x1))) 214.33/146.03 new_rem(Neg(x0), Pos(Succ(x1))) 214.33/146.03 new_primMulNat0(Zero, Zero) 214.33/146.03 new_primPlusNat0(Succ(x0), Zero) 214.33/146.03 new_primMulNat0(Succ(x0), Zero) 214.33/146.03 new_primMulNat2(Zero) 214.33/146.03 new_primQuotInt(x0, Pos(Zero)) 214.33/146.03 new_primMulNat2(Succ(x0)) 214.33/146.03 new_primQuotInt(x0, Neg(Zero)) 214.33/146.03 new_rem(Neg(x0), Neg(Succ(x1))) 214.33/146.03 new_primMinusNatS2(Zero, Succ(x0)) 214.33/146.03 new_primMulNat3(Succ(x0)) 214.33/146.03 new_esEs1(Integer(x0)) 214.33/146.03 new_primQuotInt0(x0, Pos(Zero)) 214.33/146.03 new_gcd2(True, x0, x1) 214.33/146.03 new_quot1(x0, x1, x2, x3, ty_Int) 214.33/146.03 new_primDivNatS1(Zero, x0) 214.33/146.03 new_primMinusNat0(Zero, Zero) 214.33/146.03 new_gcd(x0, x1) 214.33/146.03 new_gcd1(False, x0, x1) 214.33/146.03 new_esEs2(x0, x1, ty_Int) 214.33/146.03 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 214.33/146.03 new_sr1(x0, app(ty_Ratio, x1)) 214.33/146.03 new_sr1(x0, ty_Float) 214.33/146.03 new_primPlusNat0(Zero, Succ(x0)) 214.33/146.03 new_sr8(:%(x0, x1), :%(x2, x3), x4) 214.33/146.03 new_abs(Neg(Zero)) 214.33/146.03 new_primMinusNatS2(Succ(x0), Zero) 214.33/146.03 new_error 214.33/146.03 new_primModNatS1(Succ(Zero), Zero) 214.33/146.03 new_primMulNat4(Succ(x0)) 214.33/146.03 new_sr1(x0, ty_Integer) 214.33/146.03 new_primDivNatS02(x0, x1) 214.33/146.03 new_sr1(x0, ty_Int) 214.33/146.03 new_rem(Neg(x0), Neg(Zero)) 214.33/146.03 new_primMinusNat0(Zero, Succ(x0)) 214.33/146.03 new_primEqInt(Neg(Zero)) 214.33/146.03 new_rem(Pos(x0), Pos(Succ(x1))) 214.33/146.03 new_abs(Pos(Succ(x0))) 214.33/146.03 new_primMulNat0(Succ(x0), Succ(x1)) 214.33/146.03 new_primMulNat0(Zero, Succ(x0)) 214.33/146.03 new_reduce2Reduce1(x0, x1, x2, x3, True, x4) 214.33/146.03 new_gcd0Gcd'10(False, x0, x1) 214.33/146.03 new_sr12(x0) 214.33/146.03 new_primDivNatS01(x0, x1, Zero, Succ(x2)) 214.33/146.03 new_sr10(Pos(x0), Pos(x1)) 214.33/146.03 new_primModNatS01(x0, x1, Zero, Succ(x2)) 214.33/146.03 new_primPlusNat0(Zero, Zero) 214.33/146.03 new_primQuotInt0(x0, Pos(Succ(x1))) 214.33/146.03 new_primModNatS01(x0, x1, Succ(x2), Zero) 214.33/146.03 new_ms(x0, Pos(Succ(x1))) 214.33/146.03 new_primModNatS1(Succ(Succ(x0)), Zero) 214.33/146.03 new_rem(Pos(x0), Pos(Zero)) 214.33/146.03 new_quot(Pos(x0), x1, x2) 214.33/146.03 new_primMinusNatS2(Zero, Zero) 214.33/146.03 new_esEs0(x0, ty_Int) 214.33/146.03 new_primMinusNat0(Succ(x0), Zero) 214.33/146.03 new_esEs(Pos(Zero)) 214.33/146.03 new_quot(Neg(x0), x1, x2) 214.33/146.03 new_primDivNatS01(x0, x1, Succ(x2), Succ(x3)) 214.33/146.03 new_quot2(x0, x1, x2) 214.33/146.03 new_primEqInt(Neg(Succ(x0))) 214.33/146.03 new_sr10(Neg(x0), Neg(x1)) 214.33/146.03 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 214.33/146.03 new_sr9(x0, x1) 214.33/146.03 new_sr2(x0, x1, ty_Integer) 214.33/146.03 new_sr7(Neg(x0)) 214.33/146.03 new_sr1(x0, ty_Double) 214.33/146.03 new_primQuotInt0(x0, Neg(Succ(x1))) 214.33/146.03 new_rem(Pos(x0), Neg(Zero)) 214.33/146.03 new_rem(Neg(x0), Pos(Zero)) 214.33/146.03 new_gcd0Gcd'00(x0, x1) 214.33/146.03 new_primQuotInt(x0, Neg(Succ(x1))) 214.33/146.03 new_primMinusNatS2(Succ(x0), Succ(x1)) 214.33/146.03 new_ms(x0, Pos(Zero)) 214.33/146.03 new_abs(Pos(Zero)) 214.33/146.03 new_primMinusNat0(Succ(x0), Succ(x1)) 214.33/146.03 new_quot0(x0, x1, x2, x3, ty_Integer) 214.33/146.03 new_sr6(x0) 214.33/146.03 new_gcd2(False, x0, x1) 214.33/146.03 new_gcd1(True, x0, x1) 214.33/146.03 new_esEs2(x0, x1, ty_Integer) 214.33/146.03 new_primMinusNatS1 214.33/146.03 new_sr7(Pos(x0)) 214.33/146.03 new_gcd0Gcd'10(True, x0, x1) 214.33/146.03 new_primModNatS1(Zero, x0) 214.33/146.03 new_sr10(Pos(x0), Neg(x1)) 214.33/146.03 new_sr10(Neg(x0), Pos(x1)) 214.33/146.03 new_primDivNatS01(x0, x1, Succ(x2), Zero) 214.33/146.03 new_primDivNatS1(Succ(Succ(x0)), Succ(x1)) 214.33/146.03 new_primPlusNat0(Succ(x0), Succ(x1)) 214.33/146.03 new_primDivNatS1(Succ(Zero), Succ(x0)) 214.33/146.03 new_primQuotInt(x0, Pos(Succ(x1))) 214.33/146.03 new_sr2(x0, x1, app(ty_Ratio, x2)) 214.33/146.03 new_abs(Neg(Succ(x0))) 214.33/146.03 new_esEs0(x0, ty_Integer) 214.33/146.03 new_esEs(Neg(Succ(x0))) 214.33/146.03 new_primModNatS01(x0, x1, Zero, Zero) 214.33/146.03 new_gcd0(x0, x1) 214.33/146.03 new_primEqInt(Pos(Succ(x0))) 214.33/146.03 new_quot1(x0, x1, x2, x3, ty_Integer) 214.33/146.03 new_primDivNatS1(Succ(Succ(x0)), Zero) 214.33/146.03 new_primMulNat1(Succ(x0)) 214.33/146.03 new_sr14(x0, x1) 214.33/146.03 new_quot0(x0, x1, x2, x3, ty_Int) 214.33/146.03 new_sr2(x0, x1, ty_Int) 214.33/146.03 new_primModNatS1(Succ(Zero), Succ(x0)) 214.33/146.03 new_reduce2Reduce1(x0, x1, x2, x3, False, x4) 214.33/146.03 new_esEs(Neg(Zero)) 214.33/146.03 new_primMulNat1(Zero) 214.33/146.03 214.33/146.03 We have to consider all minimal (P,Q,R)-chains. 214.33/146.03 ---------------------------------------- 214.33/146.03 214.33/146.03 (876) DependencyGraphProof (EQUIVALENT) 214.33/146.03 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. 214.33/146.03 ---------------------------------------- 214.33/146.03 214.33/146.03 (877) 214.33/146.03 Obligation: 214.33/146.03 Q DP problem: 214.33/146.03 The TRS P consists of the following rules: 214.33/146.03 214.33/146.03 new_pr2F0G1(vyv227, vyv228, vyv229, Succ(Succ(vyv23000)), ba) -> new_pr2F0G1(vyv227, vyv228, vyv229, vyv23000, ba) 214.33/146.03 new_pr2F0G1(vyv227, vyv228, vyv229, Succ(Zero), ba) -> new_pr2F(vyv228, vyv229, Pos(Succ(Zero)), vyv227, ba) 214.33/146.03 new_pr2F(z1, z2, Pos(Succ(Zero)), z0, z3) -> new_pr2F3(new_esEs(new_primMinusNat0(z2, Zero)), z1, z2, Pos(Succ(Zero)), z0, z3) 214.33/146.03 new_pr2F3(False, vyv228, vyv229, vyv245, vyv227, ba) -> new_pr2F0(vyv228, new_ms(vyv229, vyv245), new_sr2(vyv228, vyv227, ba), ba) 214.33/146.03 new_pr2F0(vyv184, Pos(Succ(Succ(vyv223000))), vyv188, h) -> new_pr2F0G1(vyv188, vyv184, Succ(vyv223000), vyv223000, h) 214.33/146.03 new_pr2F0G1(vyv227, vyv228, vyv229, Zero, ba) -> new_pr2F0G(vyv227, new_sr1(vyv228, ba), Pos(new_primDivNatS1(Succ(vyv229), Succ(Zero))), ba) 214.33/146.03 new_pr2F0G(vyv188, vyv184, Pos(Succ(Succ(vyv223000))), h) -> new_pr2F0G1(vyv188, vyv184, Succ(vyv223000), vyv223000, h) 214.33/146.03 new_pr2F0G(vyv188, vyv184, Pos(Succ(Zero)), h) -> new_pr2F(vyv184, Zero, Pos(Succ(Zero)), vyv188, h) 214.33/146.03 new_pr2F0(vyv184, Pos(Succ(Zero)), vyv188, h) -> new_pr2F(vyv184, Zero, Pos(Succ(Zero)), vyv188, h) 214.33/146.03 214.33/146.03 The TRS R consists of the following rules: 214.33/146.03 214.33/146.03 new_sr1(vyv228, ty_Double) -> new_sr11(vyv228) 214.33/146.03 new_sr1(vyv228, ty_Float) -> new_sr12(vyv228) 214.33/146.03 new_sr1(vyv228, app(ty_Ratio, bg)) -> new_sr5(vyv228, bg) 214.33/146.03 new_sr1(vyv228, ty_Integer) -> new_sr6(vyv228) 214.33/146.03 new_sr1(vyv228, ty_Int) -> new_sr7(vyv228) 214.33/146.03 new_primDivNatS1(Succ(Zero), Succ(vyv285000)) -> Zero 214.33/146.03 new_primDivNatS1(Succ(Succ(vyv271000)), Succ(vyv285000)) -> new_primDivNatS01(vyv271000, vyv285000, vyv271000, vyv285000) 214.33/146.03 new_primDivNatS01(vyv311, vyv312, Succ(vyv3130), Zero) -> new_primDivNatS02(vyv311, vyv312) 214.33/146.03 new_primDivNatS01(vyv311, vyv312, Zero, Succ(vyv3140)) -> Zero 214.33/146.03 new_primDivNatS01(vyv311, vyv312, Succ(vyv3130), Succ(vyv3140)) -> new_primDivNatS01(vyv311, vyv312, vyv3130, vyv3140) 214.33/146.03 new_primDivNatS01(vyv311, vyv312, Zero, Zero) -> new_primDivNatS02(vyv311, vyv312) 214.33/146.03 new_primDivNatS02(vyv311, vyv312) -> Succ(new_primDivNatS1(new_primMinusNatS2(vyv311, vyv312), Succ(vyv312))) 214.33/146.03 new_primMinusNatS2(Zero, Succ(vyv3120)) -> Zero 214.33/146.03 new_primMinusNatS2(Succ(vyv3110), Zero) -> Succ(vyv3110) 214.33/146.03 new_primMinusNatS2(Zero, Zero) -> Zero 214.33/146.03 new_primMinusNatS2(Succ(vyv3110), Succ(vyv3120)) -> new_primMinusNatS2(vyv3110, vyv3120) 214.33/146.03 new_primDivNatS1(Zero, vyv28500) -> Zero 214.33/146.03 new_sr7(Pos(vyv1840)) -> Pos(new_primMulNat1(vyv1840)) 214.33/146.03 new_sr7(Neg(vyv1840)) -> Pos(new_primMulNat1(vyv1840)) 214.33/146.03 new_primMulNat1(Succ(vyv18400)) -> new_primPlusNat0(new_primMulNat2(vyv18400), Succ(vyv18400)) 214.33/146.03 new_primMulNat1(Zero) -> Zero 214.33/146.03 new_primMulNat2(Succ(vyv184000)) -> new_primPlusNat0(new_primMulNat3(vyv184000), Succ(Succ(vyv184000))) 214.33/146.03 new_primMulNat2(Zero) -> Zero 214.33/146.03 new_primPlusNat0(Succ(vyv4000), Succ(vyv6000)) -> Succ(Succ(new_primPlusNat0(vyv4000, vyv6000))) 214.33/146.03 new_primPlusNat0(Zero, Succ(vyv6000)) -> Succ(vyv6000) 214.33/146.03 new_primPlusNat0(Zero, Zero) -> Zero 214.33/146.03 new_primPlusNat0(Succ(vyv4000), Zero) -> Succ(vyv4000) 214.33/146.03 new_primMulNat3(Succ(vyv1840000)) -> new_primPlusNat0(new_primMulNat4(vyv1840000), Succ(Succ(Succ(vyv1840000)))) 214.33/146.03 new_primMulNat3(Zero) -> Zero 214.33/146.03 new_primMulNat4(Succ(vyv18400000)) -> new_primPlusNat0(new_primMulNat0(vyv18400000, Succ(Succ(Succ(Succ(vyv18400000))))), Succ(Succ(Succ(Succ(vyv18400000))))) 214.33/146.03 new_primMulNat4(Zero) -> Zero 214.33/146.03 new_primMulNat0(Zero, Succ(vyv23900)) -> Zero 214.33/146.03 new_primMulNat0(Succ(vyv24000), Succ(vyv23900)) -> new_primPlusNat0(new_primMulNat0(vyv24000, Succ(vyv23900)), Succ(vyv23900)) 214.33/146.03 new_sr6(vyv184) -> error([]) 214.33/146.03 new_sr5(:%(vyv1840, vyv1841), bd) -> new_reduce2Reduce1(vyv1840, vyv1840, vyv1841, vyv1841, new_esEs0(vyv1841, bd), bd) 214.33/146.03 new_esEs0(vyv1841, ty_Int) -> new_esEs(new_sr7(vyv1841)) 214.33/146.03 new_esEs0(vyv1841, ty_Integer) -> new_esEs1(new_sr6(vyv1841)) 214.33/146.03 new_reduce2Reduce1(vyv265, vyv266, vyv267, vyv268, False, bh) -> :%(new_quot0(vyv265, vyv266, vyv267, vyv268, bh), new_quot1(vyv267, vyv268, vyv265, vyv266, bh)) 214.33/146.03 new_reduce2Reduce1(vyv265, vyv266, vyv267, vyv268, True, bh) -> error([]) 214.33/146.03 new_quot0(vyv265, vyv266, vyv267, vyv268, ty_Integer) -> new_quot2(new_sr9(vyv265, vyv266), new_sr9(vyv265, vyv266), new_sr9(vyv267, vyv268)) 214.33/146.03 new_quot0(vyv265, vyv266, vyv267, vyv268, ty_Int) -> new_quot(new_sr10(vyv265, vyv266), new_sr10(vyv265, vyv266), new_sr10(vyv267, vyv268)) 214.33/146.04 new_quot1(vyv267, vyv268, vyv265, vyv266, ty_Int) -> new_quot(new_sr10(vyv267, vyv268), new_sr10(vyv265, vyv266), new_sr10(vyv267, vyv268)) 214.33/146.04 new_quot1(vyv267, vyv268, vyv265, vyv266, ty_Integer) -> new_quot2(new_sr9(vyv267, vyv268), new_sr9(vyv265, vyv266), new_sr9(vyv267, vyv268)) 214.33/146.04 new_sr9(vyv240, vyv239) -> error([]) 214.33/146.04 new_quot2(vyv274, vyv276, vyv275) -> error([]) 214.33/146.04 new_sr10(Pos(vyv2400), Pos(vyv2390)) -> Pos(new_primMulNat0(vyv2400, vyv2390)) 214.33/146.04 new_sr10(Neg(vyv2400), Neg(vyv2390)) -> Pos(new_primMulNat0(vyv2400, vyv2390)) 214.33/146.04 new_sr10(Pos(vyv2400), Neg(vyv2390)) -> Neg(new_primMulNat0(vyv2400, vyv2390)) 214.33/146.04 new_sr10(Neg(vyv2400), Pos(vyv2390)) -> Neg(new_primMulNat0(vyv2400, vyv2390)) 214.33/146.04 new_quot(Pos(vyv2710), vyv273, vyv272) -> new_primQuotInt(vyv2710, new_gcd(vyv273, vyv272)) 214.33/146.04 new_quot(Neg(vyv2710), vyv273, vyv272) -> new_primQuotInt0(vyv2710, new_gcd(vyv273, vyv272)) 214.33/146.04 new_gcd(vyv273, vyv272) -> new_gcd2(new_esEs(vyv273), vyv273, vyv272) 214.33/146.04 new_primQuotInt0(vyv2710, Pos(Succ(vyv28800))) -> Neg(new_primDivNatS1(vyv2710, vyv28800)) 214.33/146.04 new_primQuotInt0(vyv2710, Neg(Zero)) -> new_error 214.33/146.04 new_primQuotInt0(vyv2710, Neg(Succ(vyv28800))) -> Pos(new_primDivNatS1(vyv2710, vyv28800)) 214.33/146.04 new_primQuotInt0(vyv2710, Pos(Zero)) -> new_error 214.33/146.04 new_error -> error([]) 214.33/146.04 new_primDivNatS1(Succ(Succ(vyv271000)), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS0(vyv271000), Zero)) 214.33/146.04 new_primDivNatS1(Succ(Zero), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS1, Zero)) 214.33/146.04 new_primMinusNatS1 -> Zero 214.33/146.04 new_primMinusNatS0(vyv271000) -> Succ(vyv271000) 214.33/146.04 new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) 214.33/146.04 new_esEs(Pos(Succ(vyv24300))) -> new_primEqInt(Pos(Succ(vyv24300))) 214.33/146.04 new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) 214.33/146.04 new_esEs(Neg(Succ(vyv24300))) -> new_primEqInt(Neg(Succ(vyv24300))) 214.33/146.04 new_gcd2(True, vyv273, vyv272) -> new_gcd1(new_esEs(vyv272), vyv273, vyv272) 214.33/146.04 new_gcd2(False, vyv273, vyv272) -> new_gcd0(vyv273, vyv272) 214.33/146.04 new_gcd0(vyv273, vyv272) -> new_gcd0Gcd'11(new_esEs(new_abs(vyv272)), vyv273, vyv272) 214.33/146.04 new_abs(Neg(Zero)) -> Neg(Zero) 214.33/146.04 new_abs(Neg(Succ(vyv27200))) -> Pos(Succ(vyv27200)) 214.33/146.04 new_abs(Pos(Succ(vyv27200))) -> Pos(Succ(vyv27200)) 214.33/146.04 new_abs(Pos(Zero)) -> Pos(Zero) 214.33/146.04 new_gcd0Gcd'11(True, vyv273, vyv272) -> new_abs(vyv273) 214.33/146.04 new_gcd0Gcd'11(False, vyv273, vyv272) -> new_gcd0Gcd'00(new_abs(vyv273), new_abs(vyv272)) 214.33/146.04 new_gcd0Gcd'10(False, vyv292, vyv293) -> new_gcd0Gcd'00(vyv292, new_rem(vyv293, vyv292)) 214.33/146.04 new_gcd0Gcd'00(vyv293, vyv292) -> new_gcd0Gcd'10(new_esEs(new_rem(vyv293, vyv292)), vyv292, vyv293) 214.33/146.04 new_rem(Pos(vyv2930), Neg(Zero)) -> new_error 214.33/146.04 new_rem(Neg(vyv2930), Pos(Zero)) -> new_error 214.33/146.04 new_rem(Pos(vyv2930), Neg(Succ(vyv29200))) -> Pos(new_primModNatS1(vyv2930, vyv29200)) 214.33/146.04 new_rem(Neg(vyv2930), Pos(Succ(vyv29200))) -> Neg(new_primModNatS1(vyv2930, vyv29200)) 214.33/146.04 new_rem(Pos(vyv2930), Pos(Succ(vyv29200))) -> Pos(new_primModNatS1(vyv2930, vyv29200)) 214.33/146.04 new_rem(Neg(vyv2930), Neg(Zero)) -> new_error 214.33/146.04 new_rem(Neg(vyv2930), Neg(Succ(vyv29200))) -> Neg(new_primModNatS1(vyv2930, vyv29200)) 214.33/146.04 new_rem(Pos(vyv2930), Pos(Zero)) -> new_error 214.33/146.04 new_gcd0Gcd'10(True, vyv292, vyv293) -> vyv292 214.33/146.04 new_primModNatS1(Succ(Zero), Succ(vyv292000)) -> Succ(Zero) 214.33/146.04 new_primModNatS1(Zero, vyv29200) -> Zero 214.33/146.04 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 214.33/146.04 new_primModNatS1(Succ(Succ(vyv293000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv293000), Zero) 214.33/146.04 new_primModNatS1(Succ(Succ(vyv293000)), Succ(vyv292000)) -> new_primModNatS01(vyv293000, vyv292000, vyv293000, vyv292000) 214.33/146.04 new_primModNatS01(vyv331, vyv332, Zero, Zero) -> new_primModNatS02(vyv331, vyv332) 214.33/146.04 new_primModNatS02(vyv331, vyv332) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv331), Succ(vyv332)), Succ(vyv332)) 214.33/146.04 new_primModNatS01(vyv331, vyv332, Succ(vyv3330), Zero) -> new_primModNatS02(vyv331, vyv332) 214.33/146.04 new_primModNatS01(vyv331, vyv332, Succ(vyv3330), Succ(vyv3340)) -> new_primModNatS01(vyv331, vyv332, vyv3330, vyv3340) 214.33/146.04 new_primModNatS01(vyv331, vyv332, Zero, Succ(vyv3340)) -> Succ(Succ(vyv331)) 214.33/146.04 new_gcd1(True, vyv273, vyv272) -> new_error 214.33/146.04 new_gcd1(False, vyv273, vyv272) -> new_gcd0(vyv273, vyv272) 214.33/146.04 new_primEqInt(Neg(Succ(vyv242000))) -> False 214.33/146.04 new_primEqInt(Pos(Zero)) -> True 214.33/146.04 new_primEqInt(Pos(Succ(vyv242000))) -> False 214.33/146.04 new_primEqInt(Neg(Zero)) -> True 214.33/146.04 new_primQuotInt(vyv2710, Pos(Succ(vyv28500))) -> Pos(new_primDivNatS1(vyv2710, vyv28500)) 214.33/146.04 new_primQuotInt(vyv2710, Neg(Zero)) -> new_error 214.33/146.04 new_primQuotInt(vyv2710, Pos(Zero)) -> new_error 214.33/146.04 new_primQuotInt(vyv2710, Neg(Succ(vyv28500))) -> Neg(new_primDivNatS1(vyv2710, vyv28500)) 214.33/146.04 new_primMulNat0(Succ(vyv24000), Zero) -> Zero 214.33/146.04 new_primMulNat0(Zero, Zero) -> Zero 214.33/146.04 new_esEs1(Integer(vyv2700)) -> new_primEqInt(vyv2700) 214.33/146.04 new_sr12(vyv184) -> error([]) 214.33/146.04 new_sr11(vyv184) -> error([]) 214.33/146.04 new_ms(vyv229, Neg(vyv2450)) -> Pos(new_primPlusNat0(Succ(vyv229), vyv2450)) 214.33/146.04 new_ms(vyv229, Pos(Succ(vyv24500))) -> new_primMinusNat0(vyv229, vyv24500) 214.33/146.04 new_ms(vyv229, Pos(Zero)) -> Pos(Succ(vyv229)) 214.33/146.04 new_sr2(vyv228, vyv227, ty_Integer) -> new_sr9(vyv228, vyv227) 214.33/146.04 new_sr2(vyv228, vyv227, ty_Int) -> new_sr10(vyv228, vyv227) 214.33/146.04 new_sr2(vyv228, vyv227, app(ty_Ratio, bg)) -> new_sr8(vyv228, vyv227, bg) 214.33/146.04 new_sr2(vyv228, vyv227, ty_Double) -> new_sr13(vyv228, vyv227) 214.33/146.04 new_sr2(vyv228, vyv227, ty_Float) -> new_sr14(vyv228, vyv227) 214.33/146.04 new_sr14(vyv240, vyv239) -> error([]) 214.33/146.04 new_sr13(vyv240, vyv239) -> error([]) 214.33/146.04 new_sr8(:%(vyv2400, vyv2401), :%(vyv2390, vyv2391), be) -> new_reduce2Reduce1(vyv2400, vyv2390, vyv2401, vyv2391, new_esEs2(vyv2401, vyv2391, be), be) 214.33/146.04 new_esEs2(vyv2401, vyv2391, ty_Integer) -> new_esEs1(new_sr9(vyv2401, vyv2391)) 214.33/146.04 new_esEs2(vyv2401, vyv2391, ty_Int) -> new_esEs(new_sr10(vyv2401, vyv2391)) 214.33/146.04 new_primMinusNat0(Succ(vyv2290), Succ(vyv245000)) -> new_primMinusNat0(vyv2290, vyv245000) 214.33/146.04 new_primMinusNat0(Zero, Zero) -> Pos(Zero) 214.33/146.04 new_primMinusNat0(Zero, Succ(vyv245000)) -> Neg(Succ(vyv245000)) 214.33/146.04 new_primMinusNat0(Succ(vyv2290), Zero) -> Pos(Succ(vyv2290)) 214.33/146.04 214.33/146.04 The set Q consists of the following terms: 214.33/146.04 214.33/146.04 new_sr13(x0, x1) 214.33/146.04 new_primDivNatS01(x0, x1, Zero, Zero) 214.33/146.04 new_gcd0Gcd'11(False, x0, x1) 214.33/146.04 new_primMulNat4(Zero) 214.33/146.04 new_gcd0Gcd'11(True, x0, x1) 214.33/146.04 new_sr2(x0, x1, ty_Float) 214.33/146.04 new_sr5(:%(x0, x1), x2) 214.33/146.04 new_primEqInt(Pos(Zero)) 214.33/146.04 new_ms(x0, Neg(x1)) 214.33/146.04 new_sr2(x0, x1, ty_Double) 214.33/146.04 new_esEs(Pos(Succ(x0))) 214.33/146.04 new_primQuotInt0(x0, Neg(Zero)) 214.33/146.04 new_primMulNat3(Zero) 214.33/146.04 new_primModNatS02(x0, x1) 214.33/146.04 new_primDivNatS1(Succ(Zero), Zero) 214.33/146.04 new_primMinusNatS0(x0) 214.33/146.04 new_sr11(x0) 214.33/146.04 new_rem(Pos(x0), Neg(Succ(x1))) 214.33/146.04 new_rem(Neg(x0), Pos(Succ(x1))) 214.33/146.04 new_primMulNat0(Zero, Zero) 214.33/146.04 new_primPlusNat0(Succ(x0), Zero) 214.33/146.04 new_primMulNat0(Succ(x0), Zero) 214.33/146.04 new_primMulNat2(Zero) 214.33/146.04 new_primQuotInt(x0, Pos(Zero)) 214.33/146.04 new_primMulNat2(Succ(x0)) 214.33/146.04 new_primQuotInt(x0, Neg(Zero)) 214.33/146.04 new_rem(Neg(x0), Neg(Succ(x1))) 214.33/146.04 new_primMinusNatS2(Zero, Succ(x0)) 214.33/146.04 new_primMulNat3(Succ(x0)) 214.33/146.04 new_esEs1(Integer(x0)) 214.33/146.04 new_primQuotInt0(x0, Pos(Zero)) 214.33/146.04 new_gcd2(True, x0, x1) 214.33/146.04 new_quot1(x0, x1, x2, x3, ty_Int) 214.33/146.04 new_primDivNatS1(Zero, x0) 214.33/146.04 new_primMinusNat0(Zero, Zero) 214.33/146.04 new_gcd(x0, x1) 214.33/146.04 new_gcd1(False, x0, x1) 214.33/146.04 new_esEs2(x0, x1, ty_Int) 214.33/146.04 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 214.33/146.04 new_sr1(x0, app(ty_Ratio, x1)) 214.33/146.04 new_sr1(x0, ty_Float) 214.33/146.04 new_primPlusNat0(Zero, Succ(x0)) 214.33/146.04 new_sr8(:%(x0, x1), :%(x2, x3), x4) 214.33/146.04 new_abs(Neg(Zero)) 214.33/146.04 new_primMinusNatS2(Succ(x0), Zero) 214.33/146.04 new_error 214.33/146.04 new_primModNatS1(Succ(Zero), Zero) 214.33/146.04 new_primMulNat4(Succ(x0)) 214.33/146.04 new_sr1(x0, ty_Integer) 214.33/146.04 new_primDivNatS02(x0, x1) 214.33/146.04 new_sr1(x0, ty_Int) 214.33/146.04 new_rem(Neg(x0), Neg(Zero)) 214.33/146.04 new_primMinusNat0(Zero, Succ(x0)) 214.33/146.04 new_primEqInt(Neg(Zero)) 214.33/146.04 new_rem(Pos(x0), Pos(Succ(x1))) 214.33/146.04 new_abs(Pos(Succ(x0))) 214.33/146.04 new_primMulNat0(Succ(x0), Succ(x1)) 214.33/146.04 new_primMulNat0(Zero, Succ(x0)) 214.33/146.04 new_reduce2Reduce1(x0, x1, x2, x3, True, x4) 214.33/146.04 new_gcd0Gcd'10(False, x0, x1) 214.33/146.04 new_sr12(x0) 214.33/146.04 new_primDivNatS01(x0, x1, Zero, Succ(x2)) 214.33/146.04 new_sr10(Pos(x0), Pos(x1)) 214.33/146.04 new_primModNatS01(x0, x1, Zero, Succ(x2)) 214.33/146.04 new_primPlusNat0(Zero, Zero) 214.33/146.04 new_primQuotInt0(x0, Pos(Succ(x1))) 214.33/146.04 new_primModNatS01(x0, x1, Succ(x2), Zero) 214.33/146.04 new_ms(x0, Pos(Succ(x1))) 214.33/146.04 new_primModNatS1(Succ(Succ(x0)), Zero) 214.33/146.04 new_rem(Pos(x0), Pos(Zero)) 214.33/146.04 new_quot(Pos(x0), x1, x2) 214.33/146.04 new_primMinusNatS2(Zero, Zero) 214.33/146.04 new_esEs0(x0, ty_Int) 214.33/146.04 new_primMinusNat0(Succ(x0), Zero) 214.33/146.04 new_esEs(Pos(Zero)) 214.33/146.04 new_quot(Neg(x0), x1, x2) 214.33/146.04 new_primDivNatS01(x0, x1, Succ(x2), Succ(x3)) 214.33/146.04 new_quot2(x0, x1, x2) 214.33/146.04 new_primEqInt(Neg(Succ(x0))) 214.33/146.04 new_sr10(Neg(x0), Neg(x1)) 214.33/146.04 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 214.33/146.04 new_sr9(x0, x1) 214.33/146.04 new_sr2(x0, x1, ty_Integer) 214.33/146.04 new_sr7(Neg(x0)) 214.33/146.04 new_sr1(x0, ty_Double) 214.33/146.04 new_primQuotInt0(x0, Neg(Succ(x1))) 214.33/146.04 new_rem(Pos(x0), Neg(Zero)) 214.33/146.04 new_rem(Neg(x0), Pos(Zero)) 214.33/146.04 new_gcd0Gcd'00(x0, x1) 214.33/146.04 new_primQuotInt(x0, Neg(Succ(x1))) 214.33/146.04 new_primMinusNatS2(Succ(x0), Succ(x1)) 214.33/146.04 new_ms(x0, Pos(Zero)) 214.33/146.04 new_abs(Pos(Zero)) 214.33/146.04 new_primMinusNat0(Succ(x0), Succ(x1)) 214.33/146.04 new_quot0(x0, x1, x2, x3, ty_Integer) 214.33/146.04 new_sr6(x0) 214.33/146.04 new_gcd2(False, x0, x1) 214.33/146.04 new_gcd1(True, x0, x1) 214.33/146.04 new_esEs2(x0, x1, ty_Integer) 214.33/146.04 new_primMinusNatS1 214.33/146.04 new_sr7(Pos(x0)) 214.33/146.04 new_gcd0Gcd'10(True, x0, x1) 214.33/146.04 new_primModNatS1(Zero, x0) 214.33/146.04 new_sr10(Pos(x0), Neg(x1)) 214.33/146.04 new_sr10(Neg(x0), Pos(x1)) 214.33/146.04 new_primDivNatS01(x0, x1, Succ(x2), Zero) 214.33/146.04 new_primDivNatS1(Succ(Succ(x0)), Succ(x1)) 214.33/146.04 new_primPlusNat0(Succ(x0), Succ(x1)) 214.33/146.04 new_primDivNatS1(Succ(Zero), Succ(x0)) 214.33/146.04 new_primQuotInt(x0, Pos(Succ(x1))) 214.33/146.04 new_sr2(x0, x1, app(ty_Ratio, x2)) 214.33/146.04 new_abs(Neg(Succ(x0))) 214.33/146.04 new_esEs0(x0, ty_Integer) 214.33/146.04 new_esEs(Neg(Succ(x0))) 214.33/146.04 new_primModNatS01(x0, x1, Zero, Zero) 214.33/146.04 new_gcd0(x0, x1) 214.33/146.04 new_primEqInt(Pos(Succ(x0))) 214.33/146.04 new_quot1(x0, x1, x2, x3, ty_Integer) 214.33/146.04 new_primDivNatS1(Succ(Succ(x0)), Zero) 214.33/146.04 new_primMulNat1(Succ(x0)) 214.33/146.04 new_sr14(x0, x1) 214.33/146.04 new_quot0(x0, x1, x2, x3, ty_Int) 214.33/146.04 new_sr2(x0, x1, ty_Int) 214.33/146.04 new_primModNatS1(Succ(Zero), Succ(x0)) 214.33/146.04 new_reduce2Reduce1(x0, x1, x2, x3, False, x4) 214.33/146.04 new_esEs(Neg(Zero)) 214.33/146.04 new_primMulNat1(Zero) 214.33/146.04 214.33/146.04 We have to consider all minimal (P,Q,R)-chains. 214.33/146.04 ---------------------------------------- 214.33/146.04 214.33/146.04 (878) TransformationProof (EQUIVALENT) 214.33/146.04 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]: 214.33/146.04 214.33/146.04 (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)) 214.33/146.04 (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)) 214.33/146.04 214.33/146.04 214.33/146.04 ---------------------------------------- 214.33/146.04 214.33/146.04 (879) 214.33/146.04 Obligation: 214.33/146.04 Q DP problem: 214.33/146.04 The TRS P consists of the following rules: 214.33/146.04 214.33/146.04 new_pr2F0G1(vyv227, vyv228, vyv229, Succ(Succ(vyv23000)), ba) -> new_pr2F0G1(vyv227, vyv228, vyv229, vyv23000, ba) 214.33/146.04 new_pr2F0G1(vyv227, vyv228, vyv229, Succ(Zero), ba) -> new_pr2F(vyv228, vyv229, Pos(Succ(Zero)), vyv227, ba) 214.33/146.04 new_pr2F3(False, vyv228, vyv229, vyv245, vyv227, ba) -> new_pr2F0(vyv228, new_ms(vyv229, vyv245), new_sr2(vyv228, vyv227, ba), ba) 214.33/146.04 new_pr2F0(vyv184, Pos(Succ(Succ(vyv223000))), vyv188, h) -> new_pr2F0G1(vyv188, vyv184, Succ(vyv223000), vyv223000, h) 214.33/146.04 new_pr2F0G1(vyv227, vyv228, vyv229, Zero, ba) -> new_pr2F0G(vyv227, new_sr1(vyv228, ba), Pos(new_primDivNatS1(Succ(vyv229), Succ(Zero))), ba) 214.33/146.04 new_pr2F0G(vyv188, vyv184, Pos(Succ(Succ(vyv223000))), h) -> new_pr2F0G1(vyv188, vyv184, Succ(vyv223000), vyv223000, h) 214.33/146.04 new_pr2F0G(vyv188, vyv184, Pos(Succ(Zero)), h) -> new_pr2F(vyv184, Zero, Pos(Succ(Zero)), vyv188, h) 214.33/146.04 new_pr2F0(vyv184, Pos(Succ(Zero)), vyv188, h) -> new_pr2F(vyv184, Zero, Pos(Succ(Zero)), vyv188, h) 214.33/146.04 new_pr2F(y0, Zero, Pos(Succ(Zero)), y2, y3) -> new_pr2F3(new_esEs(Pos(Zero)), y0, Zero, Pos(Succ(Zero)), y2, y3) 214.33/146.04 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) 214.33/146.04 214.33/146.04 The TRS R consists of the following rules: 214.33/146.04 214.33/146.04 new_sr1(vyv228, ty_Double) -> new_sr11(vyv228) 214.33/146.04 new_sr1(vyv228, ty_Float) -> new_sr12(vyv228) 214.33/146.04 new_sr1(vyv228, app(ty_Ratio, bg)) -> new_sr5(vyv228, bg) 214.33/146.04 new_sr1(vyv228, ty_Integer) -> new_sr6(vyv228) 214.33/146.04 new_sr1(vyv228, ty_Int) -> new_sr7(vyv228) 214.33/146.04 new_primDivNatS1(Succ(Zero), Succ(vyv285000)) -> Zero 214.33/146.04 new_primDivNatS1(Succ(Succ(vyv271000)), Succ(vyv285000)) -> new_primDivNatS01(vyv271000, vyv285000, vyv271000, vyv285000) 214.33/146.04 new_primDivNatS01(vyv311, vyv312, Succ(vyv3130), Zero) -> new_primDivNatS02(vyv311, vyv312) 214.33/146.04 new_primDivNatS01(vyv311, vyv312, Zero, Succ(vyv3140)) -> Zero 214.33/146.04 new_primDivNatS01(vyv311, vyv312, Succ(vyv3130), Succ(vyv3140)) -> new_primDivNatS01(vyv311, vyv312, vyv3130, vyv3140) 214.33/146.04 new_primDivNatS01(vyv311, vyv312, Zero, Zero) -> new_primDivNatS02(vyv311, vyv312) 214.33/146.04 new_primDivNatS02(vyv311, vyv312) -> Succ(new_primDivNatS1(new_primMinusNatS2(vyv311, vyv312), Succ(vyv312))) 214.33/146.04 new_primMinusNatS2(Zero, Succ(vyv3120)) -> Zero 214.33/146.04 new_primMinusNatS2(Succ(vyv3110), Zero) -> Succ(vyv3110) 214.33/146.04 new_primMinusNatS2(Zero, Zero) -> Zero 214.33/146.04 new_primMinusNatS2(Succ(vyv3110), Succ(vyv3120)) -> new_primMinusNatS2(vyv3110, vyv3120) 214.33/146.04 new_primDivNatS1(Zero, vyv28500) -> Zero 214.33/146.04 new_sr7(Pos(vyv1840)) -> Pos(new_primMulNat1(vyv1840)) 214.33/146.04 new_sr7(Neg(vyv1840)) -> Pos(new_primMulNat1(vyv1840)) 214.33/146.04 new_primMulNat1(Succ(vyv18400)) -> new_primPlusNat0(new_primMulNat2(vyv18400), Succ(vyv18400)) 214.33/146.04 new_primMulNat1(Zero) -> Zero 214.33/146.04 new_primMulNat2(Succ(vyv184000)) -> new_primPlusNat0(new_primMulNat3(vyv184000), Succ(Succ(vyv184000))) 214.33/146.04 new_primMulNat2(Zero) -> Zero 214.33/146.04 new_primPlusNat0(Succ(vyv4000), Succ(vyv6000)) -> Succ(Succ(new_primPlusNat0(vyv4000, vyv6000))) 214.33/146.04 new_primPlusNat0(Zero, Succ(vyv6000)) -> Succ(vyv6000) 214.33/146.04 new_primPlusNat0(Zero, Zero) -> Zero 214.33/146.04 new_primPlusNat0(Succ(vyv4000), Zero) -> Succ(vyv4000) 214.33/146.04 new_primMulNat3(Succ(vyv1840000)) -> new_primPlusNat0(new_primMulNat4(vyv1840000), Succ(Succ(Succ(vyv1840000)))) 214.33/146.04 new_primMulNat3(Zero) -> Zero 214.33/146.04 new_primMulNat4(Succ(vyv18400000)) -> new_primPlusNat0(new_primMulNat0(vyv18400000, Succ(Succ(Succ(Succ(vyv18400000))))), Succ(Succ(Succ(Succ(vyv18400000))))) 214.33/146.04 new_primMulNat4(Zero) -> Zero 214.33/146.04 new_primMulNat0(Zero, Succ(vyv23900)) -> Zero 214.33/146.04 new_primMulNat0(Succ(vyv24000), Succ(vyv23900)) -> new_primPlusNat0(new_primMulNat0(vyv24000, Succ(vyv23900)), Succ(vyv23900)) 214.33/146.04 new_sr6(vyv184) -> error([]) 214.33/146.04 new_sr5(:%(vyv1840, vyv1841), bd) -> new_reduce2Reduce1(vyv1840, vyv1840, vyv1841, vyv1841, new_esEs0(vyv1841, bd), bd) 214.33/146.04 new_esEs0(vyv1841, ty_Int) -> new_esEs(new_sr7(vyv1841)) 214.33/146.04 new_esEs0(vyv1841, ty_Integer) -> new_esEs1(new_sr6(vyv1841)) 214.33/146.04 new_reduce2Reduce1(vyv265, vyv266, vyv267, vyv268, False, bh) -> :%(new_quot0(vyv265, vyv266, vyv267, vyv268, bh), new_quot1(vyv267, vyv268, vyv265, vyv266, bh)) 214.33/146.04 new_reduce2Reduce1(vyv265, vyv266, vyv267, vyv268, True, bh) -> error([]) 214.33/146.04 new_quot0(vyv265, vyv266, vyv267, vyv268, ty_Integer) -> new_quot2(new_sr9(vyv265, vyv266), new_sr9(vyv265, vyv266), new_sr9(vyv267, vyv268)) 214.33/146.04 new_quot0(vyv265, vyv266, vyv267, vyv268, ty_Int) -> new_quot(new_sr10(vyv265, vyv266), new_sr10(vyv265, vyv266), new_sr10(vyv267, vyv268)) 214.33/146.04 new_quot1(vyv267, vyv268, vyv265, vyv266, ty_Int) -> new_quot(new_sr10(vyv267, vyv268), new_sr10(vyv265, vyv266), new_sr10(vyv267, vyv268)) 214.33/146.04 new_quot1(vyv267, vyv268, vyv265, vyv266, ty_Integer) -> new_quot2(new_sr9(vyv267, vyv268), new_sr9(vyv265, vyv266), new_sr9(vyv267, vyv268)) 214.33/146.04 new_sr9(vyv240, vyv239) -> error([]) 214.33/146.04 new_quot2(vyv274, vyv276, vyv275) -> error([]) 214.33/146.04 new_sr10(Pos(vyv2400), Pos(vyv2390)) -> Pos(new_primMulNat0(vyv2400, vyv2390)) 214.33/146.04 new_sr10(Neg(vyv2400), Neg(vyv2390)) -> Pos(new_primMulNat0(vyv2400, vyv2390)) 214.33/146.04 new_sr10(Pos(vyv2400), Neg(vyv2390)) -> Neg(new_primMulNat0(vyv2400, vyv2390)) 214.33/146.04 new_sr10(Neg(vyv2400), Pos(vyv2390)) -> Neg(new_primMulNat0(vyv2400, vyv2390)) 214.33/146.04 new_quot(Pos(vyv2710), vyv273, vyv272) -> new_primQuotInt(vyv2710, new_gcd(vyv273, vyv272)) 214.33/146.04 new_quot(Neg(vyv2710), vyv273, vyv272) -> new_primQuotInt0(vyv2710, new_gcd(vyv273, vyv272)) 214.33/146.04 new_gcd(vyv273, vyv272) -> new_gcd2(new_esEs(vyv273), vyv273, vyv272) 214.33/146.04 new_primQuotInt0(vyv2710, Pos(Succ(vyv28800))) -> Neg(new_primDivNatS1(vyv2710, vyv28800)) 214.33/146.04 new_primQuotInt0(vyv2710, Neg(Zero)) -> new_error 214.33/146.04 new_primQuotInt0(vyv2710, Neg(Succ(vyv28800))) -> Pos(new_primDivNatS1(vyv2710, vyv28800)) 214.33/146.04 new_primQuotInt0(vyv2710, Pos(Zero)) -> new_error 214.33/146.04 new_error -> error([]) 214.33/146.04 new_primDivNatS1(Succ(Succ(vyv271000)), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS0(vyv271000), Zero)) 214.33/146.04 new_primDivNatS1(Succ(Zero), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS1, Zero)) 214.33/146.04 new_primMinusNatS1 -> Zero 214.33/146.04 new_primMinusNatS0(vyv271000) -> Succ(vyv271000) 214.33/146.04 new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) 214.33/146.04 new_esEs(Pos(Succ(vyv24300))) -> new_primEqInt(Pos(Succ(vyv24300))) 214.33/146.04 new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) 214.33/146.04 new_esEs(Neg(Succ(vyv24300))) -> new_primEqInt(Neg(Succ(vyv24300))) 214.33/146.04 new_gcd2(True, vyv273, vyv272) -> new_gcd1(new_esEs(vyv272), vyv273, vyv272) 214.33/146.04 new_gcd2(False, vyv273, vyv272) -> new_gcd0(vyv273, vyv272) 214.33/146.04 new_gcd0(vyv273, vyv272) -> new_gcd0Gcd'11(new_esEs(new_abs(vyv272)), vyv273, vyv272) 214.33/146.04 new_abs(Neg(Zero)) -> Neg(Zero) 214.33/146.04 new_abs(Neg(Succ(vyv27200))) -> Pos(Succ(vyv27200)) 214.33/146.04 new_abs(Pos(Succ(vyv27200))) -> Pos(Succ(vyv27200)) 214.33/146.04 new_abs(Pos(Zero)) -> Pos(Zero) 214.33/146.04 new_gcd0Gcd'11(True, vyv273, vyv272) -> new_abs(vyv273) 214.33/146.04 new_gcd0Gcd'11(False, vyv273, vyv272) -> new_gcd0Gcd'00(new_abs(vyv273), new_abs(vyv272)) 214.33/146.04 new_gcd0Gcd'10(False, vyv292, vyv293) -> new_gcd0Gcd'00(vyv292, new_rem(vyv293, vyv292)) 214.33/146.04 new_gcd0Gcd'00(vyv293, vyv292) -> new_gcd0Gcd'10(new_esEs(new_rem(vyv293, vyv292)), vyv292, vyv293) 214.33/146.04 new_rem(Pos(vyv2930), Neg(Zero)) -> new_error 214.33/146.04 new_rem(Neg(vyv2930), Pos(Zero)) -> new_error 214.33/146.04 new_rem(Pos(vyv2930), Neg(Succ(vyv29200))) -> Pos(new_primModNatS1(vyv2930, vyv29200)) 214.33/146.04 new_rem(Neg(vyv2930), Pos(Succ(vyv29200))) -> Neg(new_primModNatS1(vyv2930, vyv29200)) 214.33/146.04 new_rem(Pos(vyv2930), Pos(Succ(vyv29200))) -> Pos(new_primModNatS1(vyv2930, vyv29200)) 214.33/146.04 new_rem(Neg(vyv2930), Neg(Zero)) -> new_error 214.33/146.04 new_rem(Neg(vyv2930), Neg(Succ(vyv29200))) -> Neg(new_primModNatS1(vyv2930, vyv29200)) 214.33/146.04 new_rem(Pos(vyv2930), Pos(Zero)) -> new_error 214.33/146.04 new_gcd0Gcd'10(True, vyv292, vyv293) -> vyv292 214.33/146.04 new_primModNatS1(Succ(Zero), Succ(vyv292000)) -> Succ(Zero) 214.33/146.04 new_primModNatS1(Zero, vyv29200) -> Zero 214.33/146.04 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 214.33/146.04 new_primModNatS1(Succ(Succ(vyv293000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv293000), Zero) 214.33/146.04 new_primModNatS1(Succ(Succ(vyv293000)), Succ(vyv292000)) -> new_primModNatS01(vyv293000, vyv292000, vyv293000, vyv292000) 214.33/146.04 new_primModNatS01(vyv331, vyv332, Zero, Zero) -> new_primModNatS02(vyv331, vyv332) 214.33/146.04 new_primModNatS02(vyv331, vyv332) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv331), Succ(vyv332)), Succ(vyv332)) 214.33/146.04 new_primModNatS01(vyv331, vyv332, Succ(vyv3330), Zero) -> new_primModNatS02(vyv331, vyv332) 214.33/146.04 new_primModNatS01(vyv331, vyv332, Succ(vyv3330), Succ(vyv3340)) -> new_primModNatS01(vyv331, vyv332, vyv3330, vyv3340) 214.33/146.04 new_primModNatS01(vyv331, vyv332, Zero, Succ(vyv3340)) -> Succ(Succ(vyv331)) 214.33/146.04 new_gcd1(True, vyv273, vyv272) -> new_error 214.33/146.04 new_gcd1(False, vyv273, vyv272) -> new_gcd0(vyv273, vyv272) 214.33/146.04 new_primEqInt(Neg(Succ(vyv242000))) -> False 214.33/146.04 new_primEqInt(Pos(Zero)) -> True 214.33/146.04 new_primEqInt(Pos(Succ(vyv242000))) -> False 214.33/146.04 new_primEqInt(Neg(Zero)) -> True 214.33/146.04 new_primQuotInt(vyv2710, Pos(Succ(vyv28500))) -> Pos(new_primDivNatS1(vyv2710, vyv28500)) 214.33/146.04 new_primQuotInt(vyv2710, Neg(Zero)) -> new_error 214.33/146.04 new_primQuotInt(vyv2710, Pos(Zero)) -> new_error 214.33/146.04 new_primQuotInt(vyv2710, Neg(Succ(vyv28500))) -> Neg(new_primDivNatS1(vyv2710, vyv28500)) 214.33/146.04 new_primMulNat0(Succ(vyv24000), Zero) -> Zero 214.33/146.04 new_primMulNat0(Zero, Zero) -> Zero 214.33/146.04 new_esEs1(Integer(vyv2700)) -> new_primEqInt(vyv2700) 214.33/146.04 new_sr12(vyv184) -> error([]) 214.33/146.04 new_sr11(vyv184) -> error([]) 214.33/146.04 new_ms(vyv229, Neg(vyv2450)) -> Pos(new_primPlusNat0(Succ(vyv229), vyv2450)) 214.33/146.04 new_ms(vyv229, Pos(Succ(vyv24500))) -> new_primMinusNat0(vyv229, vyv24500) 214.33/146.04 new_ms(vyv229, Pos(Zero)) -> Pos(Succ(vyv229)) 214.33/146.04 new_sr2(vyv228, vyv227, ty_Integer) -> new_sr9(vyv228, vyv227) 214.33/146.04 new_sr2(vyv228, vyv227, ty_Int) -> new_sr10(vyv228, vyv227) 214.33/146.04 new_sr2(vyv228, vyv227, app(ty_Ratio, bg)) -> new_sr8(vyv228, vyv227, bg) 214.33/146.04 new_sr2(vyv228, vyv227, ty_Double) -> new_sr13(vyv228, vyv227) 214.33/146.04 new_sr2(vyv228, vyv227, ty_Float) -> new_sr14(vyv228, vyv227) 214.33/146.04 new_sr14(vyv240, vyv239) -> error([]) 214.33/146.04 new_sr13(vyv240, vyv239) -> error([]) 214.33/146.04 new_sr8(:%(vyv2400, vyv2401), :%(vyv2390, vyv2391), be) -> new_reduce2Reduce1(vyv2400, vyv2390, vyv2401, vyv2391, new_esEs2(vyv2401, vyv2391, be), be) 214.33/146.04 new_esEs2(vyv2401, vyv2391, ty_Integer) -> new_esEs1(new_sr9(vyv2401, vyv2391)) 214.33/146.04 new_esEs2(vyv2401, vyv2391, ty_Int) -> new_esEs(new_sr10(vyv2401, vyv2391)) 214.33/146.04 new_primMinusNat0(Succ(vyv2290), Succ(vyv245000)) -> new_primMinusNat0(vyv2290, vyv245000) 214.33/146.04 new_primMinusNat0(Zero, Zero) -> Pos(Zero) 214.33/146.04 new_primMinusNat0(Zero, Succ(vyv245000)) -> Neg(Succ(vyv245000)) 214.33/146.04 new_primMinusNat0(Succ(vyv2290), Zero) -> Pos(Succ(vyv2290)) 214.33/146.04 214.33/146.04 The set Q consists of the following terms: 214.33/146.04 214.33/146.04 new_sr13(x0, x1) 214.33/146.04 new_primDivNatS01(x0, x1, Zero, Zero) 214.33/146.04 new_gcd0Gcd'11(False, x0, x1) 214.33/146.04 new_primMulNat4(Zero) 214.33/146.04 new_gcd0Gcd'11(True, x0, x1) 214.33/146.04 new_sr2(x0, x1, ty_Float) 214.33/146.04 new_sr5(:%(x0, x1), x2) 214.33/146.04 new_primEqInt(Pos(Zero)) 214.33/146.04 new_ms(x0, Neg(x1)) 214.33/146.04 new_sr2(x0, x1, ty_Double) 214.33/146.04 new_esEs(Pos(Succ(x0))) 214.33/146.04 new_primQuotInt0(x0, Neg(Zero)) 214.33/146.04 new_primMulNat3(Zero) 214.33/146.04 new_primModNatS02(x0, x1) 214.33/146.04 new_primDivNatS1(Succ(Zero), Zero) 214.33/146.04 new_primMinusNatS0(x0) 214.33/146.04 new_sr11(x0) 214.33/146.04 new_rem(Pos(x0), Neg(Succ(x1))) 214.33/146.04 new_rem(Neg(x0), Pos(Succ(x1))) 214.33/146.04 new_primMulNat0(Zero, Zero) 214.33/146.04 new_primPlusNat0(Succ(x0), Zero) 214.33/146.04 new_primMulNat0(Succ(x0), Zero) 214.33/146.04 new_primMulNat2(Zero) 214.33/146.04 new_primQuotInt(x0, Pos(Zero)) 214.33/146.04 new_primMulNat2(Succ(x0)) 214.33/146.04 new_primQuotInt(x0, Neg(Zero)) 214.33/146.04 new_rem(Neg(x0), Neg(Succ(x1))) 214.33/146.04 new_primMinusNatS2(Zero, Succ(x0)) 214.33/146.04 new_primMulNat3(Succ(x0)) 214.33/146.04 new_esEs1(Integer(x0)) 214.33/146.04 new_primQuotInt0(x0, Pos(Zero)) 214.33/146.04 new_gcd2(True, x0, x1) 214.33/146.04 new_quot1(x0, x1, x2, x3, ty_Int) 214.33/146.04 new_primDivNatS1(Zero, x0) 214.33/146.04 new_primMinusNat0(Zero, Zero) 214.33/146.04 new_gcd(x0, x1) 214.33/146.04 new_gcd1(False, x0, x1) 214.33/146.04 new_esEs2(x0, x1, ty_Int) 214.33/146.04 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 214.33/146.04 new_sr1(x0, app(ty_Ratio, x1)) 214.33/146.04 new_sr1(x0, ty_Float) 214.33/146.04 new_primPlusNat0(Zero, Succ(x0)) 214.33/146.04 new_sr8(:%(x0, x1), :%(x2, x3), x4) 214.33/146.04 new_abs(Neg(Zero)) 214.33/146.04 new_primMinusNatS2(Succ(x0), Zero) 214.33/146.04 new_error 214.33/146.04 new_primModNatS1(Succ(Zero), Zero) 214.33/146.04 new_primMulNat4(Succ(x0)) 214.33/146.04 new_sr1(x0, ty_Integer) 214.33/146.04 new_primDivNatS02(x0, x1) 214.33/146.04 new_sr1(x0, ty_Int) 214.33/146.04 new_rem(Neg(x0), Neg(Zero)) 214.33/146.04 new_primMinusNat0(Zero, Succ(x0)) 214.33/146.04 new_primEqInt(Neg(Zero)) 214.33/146.04 new_rem(Pos(x0), Pos(Succ(x1))) 214.33/146.04 new_abs(Pos(Succ(x0))) 214.33/146.04 new_primMulNat0(Succ(x0), Succ(x1)) 214.33/146.04 new_primMulNat0(Zero, Succ(x0)) 214.33/146.04 new_reduce2Reduce1(x0, x1, x2, x3, True, x4) 214.33/146.04 new_gcd0Gcd'10(False, x0, x1) 214.33/146.04 new_sr12(x0) 214.33/146.04 new_primDivNatS01(x0, x1, Zero, Succ(x2)) 214.33/146.04 new_sr10(Pos(x0), Pos(x1)) 214.33/146.04 new_primModNatS01(x0, x1, Zero, Succ(x2)) 214.33/146.04 new_primPlusNat0(Zero, Zero) 214.33/146.04 new_primQuotInt0(x0, Pos(Succ(x1))) 214.33/146.04 new_primModNatS01(x0, x1, Succ(x2), Zero) 214.33/146.04 new_ms(x0, Pos(Succ(x1))) 214.33/146.04 new_primModNatS1(Succ(Succ(x0)), Zero) 214.33/146.04 new_rem(Pos(x0), Pos(Zero)) 214.33/146.04 new_quot(Pos(x0), x1, x2) 214.33/146.04 new_primMinusNatS2(Zero, Zero) 214.33/146.04 new_esEs0(x0, ty_Int) 214.33/146.04 new_primMinusNat0(Succ(x0), Zero) 214.33/146.04 new_esEs(Pos(Zero)) 214.33/146.04 new_quot(Neg(x0), x1, x2) 214.33/146.04 new_primDivNatS01(x0, x1, Succ(x2), Succ(x3)) 214.33/146.04 new_quot2(x0, x1, x2) 214.33/146.04 new_primEqInt(Neg(Succ(x0))) 214.33/146.04 new_sr10(Neg(x0), Neg(x1)) 214.33/146.04 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 214.33/146.04 new_sr9(x0, x1) 214.33/146.04 new_sr2(x0, x1, ty_Integer) 214.33/146.04 new_sr7(Neg(x0)) 214.33/146.04 new_sr1(x0, ty_Double) 214.33/146.04 new_primQuotInt0(x0, Neg(Succ(x1))) 214.33/146.04 new_rem(Pos(x0), Neg(Zero)) 214.33/146.04 new_rem(Neg(x0), Pos(Zero)) 214.33/146.04 new_gcd0Gcd'00(x0, x1) 214.33/146.04 new_primQuotInt(x0, Neg(Succ(x1))) 214.33/146.04 new_primMinusNatS2(Succ(x0), Succ(x1)) 214.33/146.04 new_ms(x0, Pos(Zero)) 214.33/146.04 new_abs(Pos(Zero)) 214.33/146.04 new_primMinusNat0(Succ(x0), Succ(x1)) 214.33/146.04 new_quot0(x0, x1, x2, x3, ty_Integer) 214.33/146.04 new_sr6(x0) 214.33/146.04 new_gcd2(False, x0, x1) 214.33/146.04 new_gcd1(True, x0, x1) 214.33/146.04 new_esEs2(x0, x1, ty_Integer) 214.33/146.04 new_primMinusNatS1 214.33/146.04 new_sr7(Pos(x0)) 214.33/146.04 new_gcd0Gcd'10(True, x0, x1) 214.33/146.04 new_primModNatS1(Zero, x0) 214.33/146.04 new_sr10(Pos(x0), Neg(x1)) 214.33/146.04 new_sr10(Neg(x0), Pos(x1)) 214.33/146.04 new_primDivNatS01(x0, x1, Succ(x2), Zero) 214.33/146.04 new_primDivNatS1(Succ(Succ(x0)), Succ(x1)) 214.33/146.04 new_primPlusNat0(Succ(x0), Succ(x1)) 214.33/146.04 new_primDivNatS1(Succ(Zero), Succ(x0)) 214.33/146.04 new_primQuotInt(x0, Pos(Succ(x1))) 214.33/146.04 new_sr2(x0, x1, app(ty_Ratio, x2)) 214.33/146.04 new_abs(Neg(Succ(x0))) 214.33/146.04 new_esEs0(x0, ty_Integer) 214.33/146.04 new_esEs(Neg(Succ(x0))) 214.33/146.04 new_primModNatS01(x0, x1, Zero, Zero) 214.33/146.04 new_gcd0(x0, x1) 214.33/146.04 new_primEqInt(Pos(Succ(x0))) 214.33/146.04 new_quot1(x0, x1, x2, x3, ty_Integer) 214.33/146.04 new_primDivNatS1(Succ(Succ(x0)), Zero) 214.33/146.04 new_primMulNat1(Succ(x0)) 214.33/146.04 new_sr14(x0, x1) 214.33/146.04 new_quot0(x0, x1, x2, x3, ty_Int) 214.33/146.04 new_sr2(x0, x1, ty_Int) 214.33/146.04 new_primModNatS1(Succ(Zero), Succ(x0)) 214.33/146.04 new_reduce2Reduce1(x0, x1, x2, x3, False, x4) 214.33/146.04 new_esEs(Neg(Zero)) 214.33/146.04 new_primMulNat1(Zero) 214.33/146.04 214.33/146.04 We have to consider all minimal (P,Q,R)-chains. 214.33/146.04 ---------------------------------------- 214.33/146.04 214.33/146.04 (880) DependencyGraphProof (EQUIVALENT) 214.33/146.04 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 3 less nodes. 214.33/146.04 ---------------------------------------- 214.33/146.04 214.33/146.04 (881) 214.33/146.04 Obligation: 214.33/146.04 Q DP problem: 214.33/146.04 The TRS P consists of the following rules: 214.33/146.04 214.33/146.04 new_pr2F0G1(vyv227, vyv228, vyv229, Succ(Succ(vyv23000)), ba) -> new_pr2F0G1(vyv227, vyv228, vyv229, vyv23000, ba) 214.33/146.04 new_pr2F0G1(vyv227, vyv228, vyv229, Succ(Zero), ba) -> new_pr2F(vyv228, vyv229, Pos(Succ(Zero)), vyv227, ba) 214.33/146.04 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) 214.33/146.04 new_pr2F3(False, vyv228, vyv229, vyv245, vyv227, ba) -> new_pr2F0(vyv228, new_ms(vyv229, vyv245), new_sr2(vyv228, vyv227, ba), ba) 214.33/146.04 new_pr2F0(vyv184, Pos(Succ(Succ(vyv223000))), vyv188, h) -> new_pr2F0G1(vyv188, vyv184, Succ(vyv223000), vyv223000, h) 214.33/146.04 new_pr2F0G1(vyv227, vyv228, vyv229, Zero, ba) -> new_pr2F0G(vyv227, new_sr1(vyv228, ba), Pos(new_primDivNatS1(Succ(vyv229), Succ(Zero))), ba) 214.33/146.04 new_pr2F0G(vyv188, vyv184, Pos(Succ(Succ(vyv223000))), h) -> new_pr2F0G1(vyv188, vyv184, Succ(vyv223000), vyv223000, h) 214.33/146.04 214.33/146.04 The TRS R consists of the following rules: 214.33/146.04 214.33/146.04 new_sr1(vyv228, ty_Double) -> new_sr11(vyv228) 214.33/146.04 new_sr1(vyv228, ty_Float) -> new_sr12(vyv228) 214.33/146.04 new_sr1(vyv228, app(ty_Ratio, bg)) -> new_sr5(vyv228, bg) 214.33/146.04 new_sr1(vyv228, ty_Integer) -> new_sr6(vyv228) 214.33/146.04 new_sr1(vyv228, ty_Int) -> new_sr7(vyv228) 214.33/146.04 new_primDivNatS1(Succ(Zero), Succ(vyv285000)) -> Zero 214.33/146.04 new_primDivNatS1(Succ(Succ(vyv271000)), Succ(vyv285000)) -> new_primDivNatS01(vyv271000, vyv285000, vyv271000, vyv285000) 214.33/146.04 new_primDivNatS01(vyv311, vyv312, Succ(vyv3130), Zero) -> new_primDivNatS02(vyv311, vyv312) 214.33/146.04 new_primDivNatS01(vyv311, vyv312, Zero, Succ(vyv3140)) -> Zero 214.33/146.04 new_primDivNatS01(vyv311, vyv312, Succ(vyv3130), Succ(vyv3140)) -> new_primDivNatS01(vyv311, vyv312, vyv3130, vyv3140) 214.33/146.04 new_primDivNatS01(vyv311, vyv312, Zero, Zero) -> new_primDivNatS02(vyv311, vyv312) 214.33/146.04 new_primDivNatS02(vyv311, vyv312) -> Succ(new_primDivNatS1(new_primMinusNatS2(vyv311, vyv312), Succ(vyv312))) 214.33/146.04 new_primMinusNatS2(Zero, Succ(vyv3120)) -> Zero 214.33/146.04 new_primMinusNatS2(Succ(vyv3110), Zero) -> Succ(vyv3110) 214.33/146.04 new_primMinusNatS2(Zero, Zero) -> Zero 214.33/146.04 new_primMinusNatS2(Succ(vyv3110), Succ(vyv3120)) -> new_primMinusNatS2(vyv3110, vyv3120) 214.33/146.04 new_primDivNatS1(Zero, vyv28500) -> Zero 214.33/146.04 new_sr7(Pos(vyv1840)) -> Pos(new_primMulNat1(vyv1840)) 214.33/146.04 new_sr7(Neg(vyv1840)) -> Pos(new_primMulNat1(vyv1840)) 214.33/146.04 new_primMulNat1(Succ(vyv18400)) -> new_primPlusNat0(new_primMulNat2(vyv18400), Succ(vyv18400)) 214.33/146.04 new_primMulNat1(Zero) -> Zero 214.33/146.04 new_primMulNat2(Succ(vyv184000)) -> new_primPlusNat0(new_primMulNat3(vyv184000), Succ(Succ(vyv184000))) 214.33/146.04 new_primMulNat2(Zero) -> Zero 214.33/146.04 new_primPlusNat0(Succ(vyv4000), Succ(vyv6000)) -> Succ(Succ(new_primPlusNat0(vyv4000, vyv6000))) 214.33/146.04 new_primPlusNat0(Zero, Succ(vyv6000)) -> Succ(vyv6000) 214.33/146.04 new_primPlusNat0(Zero, Zero) -> Zero 214.33/146.04 new_primPlusNat0(Succ(vyv4000), Zero) -> Succ(vyv4000) 214.33/146.04 new_primMulNat3(Succ(vyv1840000)) -> new_primPlusNat0(new_primMulNat4(vyv1840000), Succ(Succ(Succ(vyv1840000)))) 214.33/146.04 new_primMulNat3(Zero) -> Zero 214.33/146.04 new_primMulNat4(Succ(vyv18400000)) -> new_primPlusNat0(new_primMulNat0(vyv18400000, Succ(Succ(Succ(Succ(vyv18400000))))), Succ(Succ(Succ(Succ(vyv18400000))))) 214.33/146.04 new_primMulNat4(Zero) -> Zero 214.33/146.04 new_primMulNat0(Zero, Succ(vyv23900)) -> Zero 214.33/146.04 new_primMulNat0(Succ(vyv24000), Succ(vyv23900)) -> new_primPlusNat0(new_primMulNat0(vyv24000, Succ(vyv23900)), Succ(vyv23900)) 214.33/146.04 new_sr6(vyv184) -> error([]) 214.33/146.04 new_sr5(:%(vyv1840, vyv1841), bd) -> new_reduce2Reduce1(vyv1840, vyv1840, vyv1841, vyv1841, new_esEs0(vyv1841, bd), bd) 214.33/146.04 new_esEs0(vyv1841, ty_Int) -> new_esEs(new_sr7(vyv1841)) 214.33/146.04 new_esEs0(vyv1841, ty_Integer) -> new_esEs1(new_sr6(vyv1841)) 214.33/146.04 new_reduce2Reduce1(vyv265, vyv266, vyv267, vyv268, False, bh) -> :%(new_quot0(vyv265, vyv266, vyv267, vyv268, bh), new_quot1(vyv267, vyv268, vyv265, vyv266, bh)) 214.33/146.04 new_reduce2Reduce1(vyv265, vyv266, vyv267, vyv268, True, bh) -> error([]) 214.33/146.04 new_quot0(vyv265, vyv266, vyv267, vyv268, ty_Integer) -> new_quot2(new_sr9(vyv265, vyv266), new_sr9(vyv265, vyv266), new_sr9(vyv267, vyv268)) 214.33/146.04 new_quot0(vyv265, vyv266, vyv267, vyv268, ty_Int) -> new_quot(new_sr10(vyv265, vyv266), new_sr10(vyv265, vyv266), new_sr10(vyv267, vyv268)) 214.33/146.04 new_quot1(vyv267, vyv268, vyv265, vyv266, ty_Int) -> new_quot(new_sr10(vyv267, vyv268), new_sr10(vyv265, vyv266), new_sr10(vyv267, vyv268)) 214.33/146.04 new_quot1(vyv267, vyv268, vyv265, vyv266, ty_Integer) -> new_quot2(new_sr9(vyv267, vyv268), new_sr9(vyv265, vyv266), new_sr9(vyv267, vyv268)) 214.33/146.04 new_sr9(vyv240, vyv239) -> error([]) 214.33/146.04 new_quot2(vyv274, vyv276, vyv275) -> error([]) 214.33/146.04 new_sr10(Pos(vyv2400), Pos(vyv2390)) -> Pos(new_primMulNat0(vyv2400, vyv2390)) 214.33/146.04 new_sr10(Neg(vyv2400), Neg(vyv2390)) -> Pos(new_primMulNat0(vyv2400, vyv2390)) 214.33/146.04 new_sr10(Pos(vyv2400), Neg(vyv2390)) -> Neg(new_primMulNat0(vyv2400, vyv2390)) 214.33/146.04 new_sr10(Neg(vyv2400), Pos(vyv2390)) -> Neg(new_primMulNat0(vyv2400, vyv2390)) 214.33/146.04 new_quot(Pos(vyv2710), vyv273, vyv272) -> new_primQuotInt(vyv2710, new_gcd(vyv273, vyv272)) 214.33/146.04 new_quot(Neg(vyv2710), vyv273, vyv272) -> new_primQuotInt0(vyv2710, new_gcd(vyv273, vyv272)) 214.33/146.04 new_gcd(vyv273, vyv272) -> new_gcd2(new_esEs(vyv273), vyv273, vyv272) 214.33/146.04 new_primQuotInt0(vyv2710, Pos(Succ(vyv28800))) -> Neg(new_primDivNatS1(vyv2710, vyv28800)) 214.33/146.04 new_primQuotInt0(vyv2710, Neg(Zero)) -> new_error 214.33/146.04 new_primQuotInt0(vyv2710, Neg(Succ(vyv28800))) -> Pos(new_primDivNatS1(vyv2710, vyv28800)) 214.33/146.04 new_primQuotInt0(vyv2710, Pos(Zero)) -> new_error 214.33/146.04 new_error -> error([]) 214.33/146.04 new_primDivNatS1(Succ(Succ(vyv271000)), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS0(vyv271000), Zero)) 214.33/146.04 new_primDivNatS1(Succ(Zero), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS1, Zero)) 214.33/146.04 new_primMinusNatS1 -> Zero 214.33/146.04 new_primMinusNatS0(vyv271000) -> Succ(vyv271000) 214.33/146.04 new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) 214.33/146.04 new_esEs(Pos(Succ(vyv24300))) -> new_primEqInt(Pos(Succ(vyv24300))) 214.33/146.04 new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) 214.33/146.04 new_esEs(Neg(Succ(vyv24300))) -> new_primEqInt(Neg(Succ(vyv24300))) 214.33/146.04 new_gcd2(True, vyv273, vyv272) -> new_gcd1(new_esEs(vyv272), vyv273, vyv272) 214.33/146.04 new_gcd2(False, vyv273, vyv272) -> new_gcd0(vyv273, vyv272) 214.33/146.04 new_gcd0(vyv273, vyv272) -> new_gcd0Gcd'11(new_esEs(new_abs(vyv272)), vyv273, vyv272) 214.33/146.04 new_abs(Neg(Zero)) -> Neg(Zero) 214.33/146.04 new_abs(Neg(Succ(vyv27200))) -> Pos(Succ(vyv27200)) 214.33/146.04 new_abs(Pos(Succ(vyv27200))) -> Pos(Succ(vyv27200)) 214.33/146.04 new_abs(Pos(Zero)) -> Pos(Zero) 214.33/146.04 new_gcd0Gcd'11(True, vyv273, vyv272) -> new_abs(vyv273) 214.33/146.04 new_gcd0Gcd'11(False, vyv273, vyv272) -> new_gcd0Gcd'00(new_abs(vyv273), new_abs(vyv272)) 214.33/146.04 new_gcd0Gcd'10(False, vyv292, vyv293) -> new_gcd0Gcd'00(vyv292, new_rem(vyv293, vyv292)) 214.33/146.04 new_gcd0Gcd'00(vyv293, vyv292) -> new_gcd0Gcd'10(new_esEs(new_rem(vyv293, vyv292)), vyv292, vyv293) 214.33/146.04 new_rem(Pos(vyv2930), Neg(Zero)) -> new_error 214.33/146.04 new_rem(Neg(vyv2930), Pos(Zero)) -> new_error 214.33/146.04 new_rem(Pos(vyv2930), Neg(Succ(vyv29200))) -> Pos(new_primModNatS1(vyv2930, vyv29200)) 214.33/146.04 new_rem(Neg(vyv2930), Pos(Succ(vyv29200))) -> Neg(new_primModNatS1(vyv2930, vyv29200)) 214.33/146.04 new_rem(Pos(vyv2930), Pos(Succ(vyv29200))) -> Pos(new_primModNatS1(vyv2930, vyv29200)) 214.33/146.04 new_rem(Neg(vyv2930), Neg(Zero)) -> new_error 214.33/146.04 new_rem(Neg(vyv2930), Neg(Succ(vyv29200))) -> Neg(new_primModNatS1(vyv2930, vyv29200)) 214.33/146.04 new_rem(Pos(vyv2930), Pos(Zero)) -> new_error 214.33/146.04 new_gcd0Gcd'10(True, vyv292, vyv293) -> vyv292 214.33/146.04 new_primModNatS1(Succ(Zero), Succ(vyv292000)) -> Succ(Zero) 214.33/146.04 new_primModNatS1(Zero, vyv29200) -> Zero 214.33/146.04 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 214.33/146.04 new_primModNatS1(Succ(Succ(vyv293000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv293000), Zero) 214.33/146.04 new_primModNatS1(Succ(Succ(vyv293000)), Succ(vyv292000)) -> new_primModNatS01(vyv293000, vyv292000, vyv293000, vyv292000) 214.33/146.04 new_primModNatS01(vyv331, vyv332, Zero, Zero) -> new_primModNatS02(vyv331, vyv332) 214.33/146.04 new_primModNatS02(vyv331, vyv332) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv331), Succ(vyv332)), Succ(vyv332)) 214.33/146.04 new_primModNatS01(vyv331, vyv332, Succ(vyv3330), Zero) -> new_primModNatS02(vyv331, vyv332) 214.33/146.04 new_primModNatS01(vyv331, vyv332, Succ(vyv3330), Succ(vyv3340)) -> new_primModNatS01(vyv331, vyv332, vyv3330, vyv3340) 214.33/146.04 new_primModNatS01(vyv331, vyv332, Zero, Succ(vyv3340)) -> Succ(Succ(vyv331)) 214.33/146.04 new_gcd1(True, vyv273, vyv272) -> new_error 214.33/146.04 new_gcd1(False, vyv273, vyv272) -> new_gcd0(vyv273, vyv272) 214.33/146.04 new_primEqInt(Neg(Succ(vyv242000))) -> False 214.33/146.04 new_primEqInt(Pos(Zero)) -> True 214.33/146.04 new_primEqInt(Pos(Succ(vyv242000))) -> False 214.33/146.04 new_primEqInt(Neg(Zero)) -> True 214.33/146.04 new_primQuotInt(vyv2710, Pos(Succ(vyv28500))) -> Pos(new_primDivNatS1(vyv2710, vyv28500)) 214.33/146.04 new_primQuotInt(vyv2710, Neg(Zero)) -> new_error 214.33/146.04 new_primQuotInt(vyv2710, Pos(Zero)) -> new_error 214.33/146.04 new_primQuotInt(vyv2710, Neg(Succ(vyv28500))) -> Neg(new_primDivNatS1(vyv2710, vyv28500)) 214.33/146.04 new_primMulNat0(Succ(vyv24000), Zero) -> Zero 214.33/146.04 new_primMulNat0(Zero, Zero) -> Zero 214.33/146.04 new_esEs1(Integer(vyv2700)) -> new_primEqInt(vyv2700) 214.33/146.04 new_sr12(vyv184) -> error([]) 214.33/146.04 new_sr11(vyv184) -> error([]) 214.33/146.04 new_ms(vyv229, Neg(vyv2450)) -> Pos(new_primPlusNat0(Succ(vyv229), vyv2450)) 214.33/146.04 new_ms(vyv229, Pos(Succ(vyv24500))) -> new_primMinusNat0(vyv229, vyv24500) 214.33/146.04 new_ms(vyv229, Pos(Zero)) -> Pos(Succ(vyv229)) 214.33/146.04 new_sr2(vyv228, vyv227, ty_Integer) -> new_sr9(vyv228, vyv227) 214.33/146.04 new_sr2(vyv228, vyv227, ty_Int) -> new_sr10(vyv228, vyv227) 214.33/146.04 new_sr2(vyv228, vyv227, app(ty_Ratio, bg)) -> new_sr8(vyv228, vyv227, bg) 214.33/146.04 new_sr2(vyv228, vyv227, ty_Double) -> new_sr13(vyv228, vyv227) 214.33/146.04 new_sr2(vyv228, vyv227, ty_Float) -> new_sr14(vyv228, vyv227) 214.33/146.04 new_sr14(vyv240, vyv239) -> error([]) 214.33/146.04 new_sr13(vyv240, vyv239) -> error([]) 214.33/146.04 new_sr8(:%(vyv2400, vyv2401), :%(vyv2390, vyv2391), be) -> new_reduce2Reduce1(vyv2400, vyv2390, vyv2401, vyv2391, new_esEs2(vyv2401, vyv2391, be), be) 214.33/146.04 new_esEs2(vyv2401, vyv2391, ty_Integer) -> new_esEs1(new_sr9(vyv2401, vyv2391)) 214.33/146.04 new_esEs2(vyv2401, vyv2391, ty_Int) -> new_esEs(new_sr10(vyv2401, vyv2391)) 214.33/146.04 new_primMinusNat0(Succ(vyv2290), Succ(vyv245000)) -> new_primMinusNat0(vyv2290, vyv245000) 214.33/146.04 new_primMinusNat0(Zero, Zero) -> Pos(Zero) 214.33/146.04 new_primMinusNat0(Zero, Succ(vyv245000)) -> Neg(Succ(vyv245000)) 214.33/146.04 new_primMinusNat0(Succ(vyv2290), Zero) -> Pos(Succ(vyv2290)) 214.33/146.04 214.33/146.04 The set Q consists of the following terms: 214.33/146.04 214.33/146.04 new_sr13(x0, x1) 214.33/146.04 new_primDivNatS01(x0, x1, Zero, Zero) 214.33/146.04 new_gcd0Gcd'11(False, x0, x1) 214.33/146.04 new_primMulNat4(Zero) 214.33/146.04 new_gcd0Gcd'11(True, x0, x1) 214.33/146.04 new_sr2(x0, x1, ty_Float) 214.33/146.04 new_sr5(:%(x0, x1), x2) 214.33/146.04 new_primEqInt(Pos(Zero)) 214.33/146.04 new_ms(x0, Neg(x1)) 214.33/146.04 new_sr2(x0, x1, ty_Double) 214.33/146.04 new_esEs(Pos(Succ(x0))) 214.33/146.04 new_primQuotInt0(x0, Neg(Zero)) 214.33/146.04 new_primMulNat3(Zero) 214.33/146.04 new_primModNatS02(x0, x1) 214.33/146.04 new_primDivNatS1(Succ(Zero), Zero) 214.33/146.04 new_primMinusNatS0(x0) 214.33/146.04 new_sr11(x0) 214.33/146.04 new_rem(Pos(x0), Neg(Succ(x1))) 214.33/146.04 new_rem(Neg(x0), Pos(Succ(x1))) 214.33/146.04 new_primMulNat0(Zero, Zero) 214.33/146.04 new_primPlusNat0(Succ(x0), Zero) 214.33/146.04 new_primMulNat0(Succ(x0), Zero) 214.33/146.04 new_primMulNat2(Zero) 214.33/146.04 new_primQuotInt(x0, Pos(Zero)) 214.33/146.04 new_primMulNat2(Succ(x0)) 214.33/146.04 new_primQuotInt(x0, Neg(Zero)) 214.33/146.04 new_rem(Neg(x0), Neg(Succ(x1))) 214.33/146.04 new_primMinusNatS2(Zero, Succ(x0)) 214.33/146.04 new_primMulNat3(Succ(x0)) 214.33/146.04 new_esEs1(Integer(x0)) 214.33/146.04 new_primQuotInt0(x0, Pos(Zero)) 214.33/146.04 new_gcd2(True, x0, x1) 214.33/146.04 new_quot1(x0, x1, x2, x3, ty_Int) 214.33/146.04 new_primDivNatS1(Zero, x0) 214.33/146.04 new_primMinusNat0(Zero, Zero) 214.33/146.04 new_gcd(x0, x1) 214.33/146.04 new_gcd1(False, x0, x1) 214.33/146.04 new_esEs2(x0, x1, ty_Int) 214.33/146.04 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 214.33/146.04 new_sr1(x0, app(ty_Ratio, x1)) 214.33/146.04 new_sr1(x0, ty_Float) 214.33/146.04 new_primPlusNat0(Zero, Succ(x0)) 214.33/146.04 new_sr8(:%(x0, x1), :%(x2, x3), x4) 214.33/146.04 new_abs(Neg(Zero)) 214.33/146.04 new_primMinusNatS2(Succ(x0), Zero) 214.33/146.04 new_error 214.33/146.04 new_primModNatS1(Succ(Zero), Zero) 214.33/146.04 new_primMulNat4(Succ(x0)) 214.33/146.04 new_sr1(x0, ty_Integer) 214.33/146.04 new_primDivNatS02(x0, x1) 214.33/146.04 new_sr1(x0, ty_Int) 214.33/146.04 new_rem(Neg(x0), Neg(Zero)) 214.33/146.04 new_primMinusNat0(Zero, Succ(x0)) 214.33/146.04 new_primEqInt(Neg(Zero)) 214.33/146.04 new_rem(Pos(x0), Pos(Succ(x1))) 214.33/146.04 new_abs(Pos(Succ(x0))) 214.33/146.04 new_primMulNat0(Succ(x0), Succ(x1)) 214.33/146.04 new_primMulNat0(Zero, Succ(x0)) 214.33/146.04 new_reduce2Reduce1(x0, x1, x2, x3, True, x4) 214.33/146.04 new_gcd0Gcd'10(False, x0, x1) 214.33/146.04 new_sr12(x0) 214.33/146.04 new_primDivNatS01(x0, x1, Zero, Succ(x2)) 214.33/146.04 new_sr10(Pos(x0), Pos(x1)) 214.33/146.04 new_primModNatS01(x0, x1, Zero, Succ(x2)) 214.33/146.04 new_primPlusNat0(Zero, Zero) 214.33/146.04 new_primQuotInt0(x0, Pos(Succ(x1))) 214.33/146.04 new_primModNatS01(x0, x1, Succ(x2), Zero) 214.33/146.04 new_ms(x0, Pos(Succ(x1))) 214.33/146.04 new_primModNatS1(Succ(Succ(x0)), Zero) 214.33/146.04 new_rem(Pos(x0), Pos(Zero)) 214.33/146.04 new_quot(Pos(x0), x1, x2) 214.33/146.04 new_primMinusNatS2(Zero, Zero) 214.33/146.04 new_esEs0(x0, ty_Int) 214.33/146.04 new_primMinusNat0(Succ(x0), Zero) 214.33/146.04 new_esEs(Pos(Zero)) 214.33/146.04 new_quot(Neg(x0), x1, x2) 214.33/146.04 new_primDivNatS01(x0, x1, Succ(x2), Succ(x3)) 214.33/146.04 new_quot2(x0, x1, x2) 214.33/146.04 new_primEqInt(Neg(Succ(x0))) 214.33/146.04 new_sr10(Neg(x0), Neg(x1)) 214.33/146.04 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 214.33/146.04 new_sr9(x0, x1) 214.33/146.04 new_sr2(x0, x1, ty_Integer) 214.33/146.04 new_sr7(Neg(x0)) 214.33/146.04 new_sr1(x0, ty_Double) 214.33/146.04 new_primQuotInt0(x0, Neg(Succ(x1))) 214.33/146.04 new_rem(Pos(x0), Neg(Zero)) 214.33/146.04 new_rem(Neg(x0), Pos(Zero)) 214.33/146.04 new_gcd0Gcd'00(x0, x1) 214.33/146.04 new_primQuotInt(x0, Neg(Succ(x1))) 214.33/146.04 new_primMinusNatS2(Succ(x0), Succ(x1)) 214.33/146.04 new_ms(x0, Pos(Zero)) 214.33/146.04 new_abs(Pos(Zero)) 214.33/146.04 new_primMinusNat0(Succ(x0), Succ(x1)) 214.33/146.04 new_quot0(x0, x1, x2, x3, ty_Integer) 214.33/146.04 new_sr6(x0) 214.33/146.04 new_gcd2(False, x0, x1) 214.33/146.04 new_gcd1(True, x0, x1) 214.33/146.04 new_esEs2(x0, x1, ty_Integer) 214.33/146.04 new_primMinusNatS1 214.33/146.04 new_sr7(Pos(x0)) 214.33/146.04 new_gcd0Gcd'10(True, x0, x1) 214.33/146.04 new_primModNatS1(Zero, x0) 214.33/146.04 new_sr10(Pos(x0), Neg(x1)) 214.33/146.04 new_sr10(Neg(x0), Pos(x1)) 214.33/146.04 new_primDivNatS01(x0, x1, Succ(x2), Zero) 214.33/146.04 new_primDivNatS1(Succ(Succ(x0)), Succ(x1)) 214.33/146.04 new_primPlusNat0(Succ(x0), Succ(x1)) 214.33/146.04 new_primDivNatS1(Succ(Zero), Succ(x0)) 214.33/146.04 new_primQuotInt(x0, Pos(Succ(x1))) 214.33/146.04 new_sr2(x0, x1, app(ty_Ratio, x2)) 214.33/146.04 new_abs(Neg(Succ(x0))) 214.33/146.04 new_esEs0(x0, ty_Integer) 214.33/146.04 new_esEs(Neg(Succ(x0))) 214.33/146.04 new_primModNatS01(x0, x1, Zero, Zero) 214.33/146.04 new_gcd0(x0, x1) 214.33/146.04 new_primEqInt(Pos(Succ(x0))) 214.33/146.04 new_quot1(x0, x1, x2, x3, ty_Integer) 214.33/146.04 new_primDivNatS1(Succ(Succ(x0)), Zero) 214.33/146.04 new_primMulNat1(Succ(x0)) 214.33/146.04 new_sr14(x0, x1) 214.33/146.04 new_quot0(x0, x1, x2, x3, ty_Int) 214.33/146.04 new_sr2(x0, x1, ty_Int) 214.33/146.04 new_primModNatS1(Succ(Zero), Succ(x0)) 214.33/146.04 new_reduce2Reduce1(x0, x1, x2, x3, False, x4) 214.33/146.04 new_esEs(Neg(Zero)) 214.33/146.04 new_primMulNat1(Zero) 214.33/146.04 214.33/146.04 We have to consider all minimal (P,Q,R)-chains. 214.33/146.04 ---------------------------------------- 214.33/146.04 214.33/146.04 (882) TransformationProof (EQUIVALENT) 214.33/146.04 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]: 214.33/146.04 214.33/146.04 (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)) 214.33/146.04 214.33/146.04 214.33/146.04 ---------------------------------------- 214.33/146.04 214.33/146.04 (883) 214.33/146.04 Obligation: 214.33/146.04 Q DP problem: 214.33/146.04 The TRS P consists of the following rules: 214.33/146.04 214.33/146.04 new_pr2F0G1(vyv227, vyv228, vyv229, Succ(Succ(vyv23000)), ba) -> new_pr2F0G1(vyv227, vyv228, vyv229, vyv23000, ba) 214.33/146.04 new_pr2F0G1(vyv227, vyv228, vyv229, Succ(Zero), ba) -> new_pr2F(vyv228, vyv229, Pos(Succ(Zero)), vyv227, ba) 214.33/146.04 new_pr2F3(False, vyv228, vyv229, vyv245, vyv227, ba) -> new_pr2F0(vyv228, new_ms(vyv229, vyv245), new_sr2(vyv228, vyv227, ba), ba) 214.33/146.04 new_pr2F0(vyv184, Pos(Succ(Succ(vyv223000))), vyv188, h) -> new_pr2F0G1(vyv188, vyv184, Succ(vyv223000), vyv223000, h) 214.33/146.04 new_pr2F0G1(vyv227, vyv228, vyv229, Zero, ba) -> new_pr2F0G(vyv227, new_sr1(vyv228, ba), Pos(new_primDivNatS1(Succ(vyv229), Succ(Zero))), ba) 214.33/146.04 new_pr2F0G(vyv188, vyv184, Pos(Succ(Succ(vyv223000))), h) -> new_pr2F0G1(vyv188, vyv184, Succ(vyv223000), vyv223000, h) 214.33/146.04 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) 214.33/146.04 214.33/146.04 The TRS R consists of the following rules: 214.33/146.04 214.33/146.04 new_sr1(vyv228, ty_Double) -> new_sr11(vyv228) 214.33/146.04 new_sr1(vyv228, ty_Float) -> new_sr12(vyv228) 214.33/146.04 new_sr1(vyv228, app(ty_Ratio, bg)) -> new_sr5(vyv228, bg) 214.33/146.04 new_sr1(vyv228, ty_Integer) -> new_sr6(vyv228) 214.33/146.04 new_sr1(vyv228, ty_Int) -> new_sr7(vyv228) 214.33/146.04 new_primDivNatS1(Succ(Zero), Succ(vyv285000)) -> Zero 214.33/146.04 new_primDivNatS1(Succ(Succ(vyv271000)), Succ(vyv285000)) -> new_primDivNatS01(vyv271000, vyv285000, vyv271000, vyv285000) 214.33/146.04 new_primDivNatS01(vyv311, vyv312, Succ(vyv3130), Zero) -> new_primDivNatS02(vyv311, vyv312) 214.33/146.04 new_primDivNatS01(vyv311, vyv312, Zero, Succ(vyv3140)) -> Zero 214.33/146.04 new_primDivNatS01(vyv311, vyv312, Succ(vyv3130), Succ(vyv3140)) -> new_primDivNatS01(vyv311, vyv312, vyv3130, vyv3140) 214.33/146.04 new_primDivNatS01(vyv311, vyv312, Zero, Zero) -> new_primDivNatS02(vyv311, vyv312) 214.33/146.04 new_primDivNatS02(vyv311, vyv312) -> Succ(new_primDivNatS1(new_primMinusNatS2(vyv311, vyv312), Succ(vyv312))) 214.33/146.04 new_primMinusNatS2(Zero, Succ(vyv3120)) -> Zero 214.33/146.04 new_primMinusNatS2(Succ(vyv3110), Zero) -> Succ(vyv3110) 214.33/146.04 new_primMinusNatS2(Zero, Zero) -> Zero 214.33/146.04 new_primMinusNatS2(Succ(vyv3110), Succ(vyv3120)) -> new_primMinusNatS2(vyv3110, vyv3120) 214.33/146.04 new_primDivNatS1(Zero, vyv28500) -> Zero 214.33/146.04 new_sr7(Pos(vyv1840)) -> Pos(new_primMulNat1(vyv1840)) 214.33/146.04 new_sr7(Neg(vyv1840)) -> Pos(new_primMulNat1(vyv1840)) 214.33/146.04 new_primMulNat1(Succ(vyv18400)) -> new_primPlusNat0(new_primMulNat2(vyv18400), Succ(vyv18400)) 214.33/146.04 new_primMulNat1(Zero) -> Zero 214.33/146.04 new_primMulNat2(Succ(vyv184000)) -> new_primPlusNat0(new_primMulNat3(vyv184000), Succ(Succ(vyv184000))) 214.33/146.04 new_primMulNat2(Zero) -> Zero 214.33/146.04 new_primPlusNat0(Succ(vyv4000), Succ(vyv6000)) -> Succ(Succ(new_primPlusNat0(vyv4000, vyv6000))) 214.33/146.04 new_primPlusNat0(Zero, Succ(vyv6000)) -> Succ(vyv6000) 214.33/146.04 new_primPlusNat0(Zero, Zero) -> Zero 214.33/146.04 new_primPlusNat0(Succ(vyv4000), Zero) -> Succ(vyv4000) 214.33/146.04 new_primMulNat3(Succ(vyv1840000)) -> new_primPlusNat0(new_primMulNat4(vyv1840000), Succ(Succ(Succ(vyv1840000)))) 214.33/146.04 new_primMulNat3(Zero) -> Zero 214.33/146.04 new_primMulNat4(Succ(vyv18400000)) -> new_primPlusNat0(new_primMulNat0(vyv18400000, Succ(Succ(Succ(Succ(vyv18400000))))), Succ(Succ(Succ(Succ(vyv18400000))))) 214.33/146.04 new_primMulNat4(Zero) -> Zero 214.33/146.04 new_primMulNat0(Zero, Succ(vyv23900)) -> Zero 214.33/146.04 new_primMulNat0(Succ(vyv24000), Succ(vyv23900)) -> new_primPlusNat0(new_primMulNat0(vyv24000, Succ(vyv23900)), Succ(vyv23900)) 214.33/146.04 new_sr6(vyv184) -> error([]) 214.33/146.04 new_sr5(:%(vyv1840, vyv1841), bd) -> new_reduce2Reduce1(vyv1840, vyv1840, vyv1841, vyv1841, new_esEs0(vyv1841, bd), bd) 214.33/146.04 new_esEs0(vyv1841, ty_Int) -> new_esEs(new_sr7(vyv1841)) 214.33/146.04 new_esEs0(vyv1841, ty_Integer) -> new_esEs1(new_sr6(vyv1841)) 214.33/146.04 new_reduce2Reduce1(vyv265, vyv266, vyv267, vyv268, False, bh) -> :%(new_quot0(vyv265, vyv266, vyv267, vyv268, bh), new_quot1(vyv267, vyv268, vyv265, vyv266, bh)) 214.33/146.04 new_reduce2Reduce1(vyv265, vyv266, vyv267, vyv268, True, bh) -> error([]) 214.33/146.04 new_quot0(vyv265, vyv266, vyv267, vyv268, ty_Integer) -> new_quot2(new_sr9(vyv265, vyv266), new_sr9(vyv265, vyv266), new_sr9(vyv267, vyv268)) 214.33/146.04 new_quot0(vyv265, vyv266, vyv267, vyv268, ty_Int) -> new_quot(new_sr10(vyv265, vyv266), new_sr10(vyv265, vyv266), new_sr10(vyv267, vyv268)) 214.33/146.04 new_quot1(vyv267, vyv268, vyv265, vyv266, ty_Int) -> new_quot(new_sr10(vyv267, vyv268), new_sr10(vyv265, vyv266), new_sr10(vyv267, vyv268)) 214.33/146.04 new_quot1(vyv267, vyv268, vyv265, vyv266, ty_Integer) -> new_quot2(new_sr9(vyv267, vyv268), new_sr9(vyv265, vyv266), new_sr9(vyv267, vyv268)) 214.33/146.04 new_sr9(vyv240, vyv239) -> error([]) 214.33/146.04 new_quot2(vyv274, vyv276, vyv275) -> error([]) 214.33/146.04 new_sr10(Pos(vyv2400), Pos(vyv2390)) -> Pos(new_primMulNat0(vyv2400, vyv2390)) 214.33/146.04 new_sr10(Neg(vyv2400), Neg(vyv2390)) -> Pos(new_primMulNat0(vyv2400, vyv2390)) 214.33/146.04 new_sr10(Pos(vyv2400), Neg(vyv2390)) -> Neg(new_primMulNat0(vyv2400, vyv2390)) 214.33/146.04 new_sr10(Neg(vyv2400), Pos(vyv2390)) -> Neg(new_primMulNat0(vyv2400, vyv2390)) 214.33/146.04 new_quot(Pos(vyv2710), vyv273, vyv272) -> new_primQuotInt(vyv2710, new_gcd(vyv273, vyv272)) 214.33/146.04 new_quot(Neg(vyv2710), vyv273, vyv272) -> new_primQuotInt0(vyv2710, new_gcd(vyv273, vyv272)) 214.33/146.04 new_gcd(vyv273, vyv272) -> new_gcd2(new_esEs(vyv273), vyv273, vyv272) 214.33/146.04 new_primQuotInt0(vyv2710, Pos(Succ(vyv28800))) -> Neg(new_primDivNatS1(vyv2710, vyv28800)) 214.33/146.04 new_primQuotInt0(vyv2710, Neg(Zero)) -> new_error 214.33/146.04 new_primQuotInt0(vyv2710, Neg(Succ(vyv28800))) -> Pos(new_primDivNatS1(vyv2710, vyv28800)) 214.33/146.04 new_primQuotInt0(vyv2710, Pos(Zero)) -> new_error 214.33/146.04 new_error -> error([]) 214.33/146.04 new_primDivNatS1(Succ(Succ(vyv271000)), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS0(vyv271000), Zero)) 214.33/146.04 new_primDivNatS1(Succ(Zero), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS1, Zero)) 214.33/146.04 new_primMinusNatS1 -> Zero 214.33/146.04 new_primMinusNatS0(vyv271000) -> Succ(vyv271000) 214.33/146.04 new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) 214.33/146.04 new_esEs(Pos(Succ(vyv24300))) -> new_primEqInt(Pos(Succ(vyv24300))) 214.33/146.04 new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) 214.33/146.04 new_esEs(Neg(Succ(vyv24300))) -> new_primEqInt(Neg(Succ(vyv24300))) 214.33/146.04 new_gcd2(True, vyv273, vyv272) -> new_gcd1(new_esEs(vyv272), vyv273, vyv272) 214.33/146.04 new_gcd2(False, vyv273, vyv272) -> new_gcd0(vyv273, vyv272) 214.33/146.04 new_gcd0(vyv273, vyv272) -> new_gcd0Gcd'11(new_esEs(new_abs(vyv272)), vyv273, vyv272) 214.33/146.04 new_abs(Neg(Zero)) -> Neg(Zero) 214.33/146.04 new_abs(Neg(Succ(vyv27200))) -> Pos(Succ(vyv27200)) 214.33/146.04 new_abs(Pos(Succ(vyv27200))) -> Pos(Succ(vyv27200)) 214.33/146.04 new_abs(Pos(Zero)) -> Pos(Zero) 214.33/146.04 new_gcd0Gcd'11(True, vyv273, vyv272) -> new_abs(vyv273) 214.33/146.04 new_gcd0Gcd'11(False, vyv273, vyv272) -> new_gcd0Gcd'00(new_abs(vyv273), new_abs(vyv272)) 214.33/146.04 new_gcd0Gcd'10(False, vyv292, vyv293) -> new_gcd0Gcd'00(vyv292, new_rem(vyv293, vyv292)) 214.33/146.04 new_gcd0Gcd'00(vyv293, vyv292) -> new_gcd0Gcd'10(new_esEs(new_rem(vyv293, vyv292)), vyv292, vyv293) 214.33/146.04 new_rem(Pos(vyv2930), Neg(Zero)) -> new_error 214.33/146.04 new_rem(Neg(vyv2930), Pos(Zero)) -> new_error 214.33/146.04 new_rem(Pos(vyv2930), Neg(Succ(vyv29200))) -> Pos(new_primModNatS1(vyv2930, vyv29200)) 214.33/146.04 new_rem(Neg(vyv2930), Pos(Succ(vyv29200))) -> Neg(new_primModNatS1(vyv2930, vyv29200)) 214.33/146.04 new_rem(Pos(vyv2930), Pos(Succ(vyv29200))) -> Pos(new_primModNatS1(vyv2930, vyv29200)) 214.33/146.04 new_rem(Neg(vyv2930), Neg(Zero)) -> new_error 214.33/146.04 new_rem(Neg(vyv2930), Neg(Succ(vyv29200))) -> Neg(new_primModNatS1(vyv2930, vyv29200)) 214.33/146.04 new_rem(Pos(vyv2930), Pos(Zero)) -> new_error 214.33/146.04 new_gcd0Gcd'10(True, vyv292, vyv293) -> vyv292 214.33/146.04 new_primModNatS1(Succ(Zero), Succ(vyv292000)) -> Succ(Zero) 214.33/146.04 new_primModNatS1(Zero, vyv29200) -> Zero 214.33/146.04 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 214.33/146.04 new_primModNatS1(Succ(Succ(vyv293000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv293000), Zero) 214.33/146.04 new_primModNatS1(Succ(Succ(vyv293000)), Succ(vyv292000)) -> new_primModNatS01(vyv293000, vyv292000, vyv293000, vyv292000) 214.33/146.04 new_primModNatS01(vyv331, vyv332, Zero, Zero) -> new_primModNatS02(vyv331, vyv332) 214.33/146.04 new_primModNatS02(vyv331, vyv332) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv331), Succ(vyv332)), Succ(vyv332)) 214.33/146.04 new_primModNatS01(vyv331, vyv332, Succ(vyv3330), Zero) -> new_primModNatS02(vyv331, vyv332) 214.33/146.04 new_primModNatS01(vyv331, vyv332, Succ(vyv3330), Succ(vyv3340)) -> new_primModNatS01(vyv331, vyv332, vyv3330, vyv3340) 214.33/146.04 new_primModNatS01(vyv331, vyv332, Zero, Succ(vyv3340)) -> Succ(Succ(vyv331)) 214.33/146.04 new_gcd1(True, vyv273, vyv272) -> new_error 214.33/146.04 new_gcd1(False, vyv273, vyv272) -> new_gcd0(vyv273, vyv272) 214.33/146.04 new_primEqInt(Neg(Succ(vyv242000))) -> False 214.33/146.04 new_primEqInt(Pos(Zero)) -> True 214.33/146.04 new_primEqInt(Pos(Succ(vyv242000))) -> False 214.33/146.04 new_primEqInt(Neg(Zero)) -> True 214.33/146.04 new_primQuotInt(vyv2710, Pos(Succ(vyv28500))) -> Pos(new_primDivNatS1(vyv2710, vyv28500)) 214.33/146.04 new_primQuotInt(vyv2710, Neg(Zero)) -> new_error 214.33/146.04 new_primQuotInt(vyv2710, Pos(Zero)) -> new_error 214.33/146.04 new_primQuotInt(vyv2710, Neg(Succ(vyv28500))) -> Neg(new_primDivNatS1(vyv2710, vyv28500)) 214.33/146.04 new_primMulNat0(Succ(vyv24000), Zero) -> Zero 214.33/146.04 new_primMulNat0(Zero, Zero) -> Zero 214.33/146.04 new_esEs1(Integer(vyv2700)) -> new_primEqInt(vyv2700) 214.33/146.04 new_sr12(vyv184) -> error([]) 214.33/146.04 new_sr11(vyv184) -> error([]) 214.33/146.04 new_ms(vyv229, Neg(vyv2450)) -> Pos(new_primPlusNat0(Succ(vyv229), vyv2450)) 214.33/146.04 new_ms(vyv229, Pos(Succ(vyv24500))) -> new_primMinusNat0(vyv229, vyv24500) 214.33/146.04 new_ms(vyv229, Pos(Zero)) -> Pos(Succ(vyv229)) 214.33/146.04 new_sr2(vyv228, vyv227, ty_Integer) -> new_sr9(vyv228, vyv227) 214.33/146.04 new_sr2(vyv228, vyv227, ty_Int) -> new_sr10(vyv228, vyv227) 214.33/146.04 new_sr2(vyv228, vyv227, app(ty_Ratio, bg)) -> new_sr8(vyv228, vyv227, bg) 214.33/146.04 new_sr2(vyv228, vyv227, ty_Double) -> new_sr13(vyv228, vyv227) 214.33/146.04 new_sr2(vyv228, vyv227, ty_Float) -> new_sr14(vyv228, vyv227) 214.33/146.04 new_sr14(vyv240, vyv239) -> error([]) 214.33/146.04 new_sr13(vyv240, vyv239) -> error([]) 214.33/146.04 new_sr8(:%(vyv2400, vyv2401), :%(vyv2390, vyv2391), be) -> new_reduce2Reduce1(vyv2400, vyv2390, vyv2401, vyv2391, new_esEs2(vyv2401, vyv2391, be), be) 214.33/146.04 new_esEs2(vyv2401, vyv2391, ty_Integer) -> new_esEs1(new_sr9(vyv2401, vyv2391)) 214.33/146.04 new_esEs2(vyv2401, vyv2391, ty_Int) -> new_esEs(new_sr10(vyv2401, vyv2391)) 214.33/146.04 new_primMinusNat0(Succ(vyv2290), Succ(vyv245000)) -> new_primMinusNat0(vyv2290, vyv245000) 214.33/146.04 new_primMinusNat0(Zero, Zero) -> Pos(Zero) 214.33/146.04 new_primMinusNat0(Zero, Succ(vyv245000)) -> Neg(Succ(vyv245000)) 214.33/146.04 new_primMinusNat0(Succ(vyv2290), Zero) -> Pos(Succ(vyv2290)) 214.33/146.04 214.33/146.04 The set Q consists of the following terms: 214.33/146.04 214.33/146.04 new_sr13(x0, x1) 214.33/146.04 new_primDivNatS01(x0, x1, Zero, Zero) 214.33/146.04 new_gcd0Gcd'11(False, x0, x1) 214.33/146.04 new_primMulNat4(Zero) 214.33/146.04 new_gcd0Gcd'11(True, x0, x1) 214.33/146.04 new_sr2(x0, x1, ty_Float) 214.33/146.04 new_sr5(:%(x0, x1), x2) 214.33/146.04 new_primEqInt(Pos(Zero)) 214.33/146.04 new_ms(x0, Neg(x1)) 214.33/146.04 new_sr2(x0, x1, ty_Double) 214.33/146.04 new_esEs(Pos(Succ(x0))) 214.33/146.04 new_primQuotInt0(x0, Neg(Zero)) 214.33/146.04 new_primMulNat3(Zero) 214.33/146.04 new_primModNatS02(x0, x1) 214.33/146.04 new_primDivNatS1(Succ(Zero), Zero) 214.33/146.04 new_primMinusNatS0(x0) 214.33/146.04 new_sr11(x0) 214.33/146.04 new_rem(Pos(x0), Neg(Succ(x1))) 214.33/146.04 new_rem(Neg(x0), Pos(Succ(x1))) 214.33/146.04 new_primMulNat0(Zero, Zero) 214.33/146.04 new_primPlusNat0(Succ(x0), Zero) 214.33/146.04 new_primMulNat0(Succ(x0), Zero) 214.33/146.04 new_primMulNat2(Zero) 214.33/146.04 new_primQuotInt(x0, Pos(Zero)) 214.33/146.04 new_primMulNat2(Succ(x0)) 214.33/146.04 new_primQuotInt(x0, Neg(Zero)) 214.33/146.04 new_rem(Neg(x0), Neg(Succ(x1))) 214.33/146.04 new_primMinusNatS2(Zero, Succ(x0)) 214.33/146.04 new_primMulNat3(Succ(x0)) 214.33/146.04 new_esEs1(Integer(x0)) 214.33/146.04 new_primQuotInt0(x0, Pos(Zero)) 214.33/146.04 new_gcd2(True, x0, x1) 214.33/146.04 new_quot1(x0, x1, x2, x3, ty_Int) 214.33/146.04 new_primDivNatS1(Zero, x0) 214.33/146.04 new_primMinusNat0(Zero, Zero) 214.33/146.04 new_gcd(x0, x1) 214.33/146.04 new_gcd1(False, x0, x1) 214.33/146.04 new_esEs2(x0, x1, ty_Int) 214.33/146.04 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 214.33/146.04 new_sr1(x0, app(ty_Ratio, x1)) 214.33/146.04 new_sr1(x0, ty_Float) 214.33/146.04 new_primPlusNat0(Zero, Succ(x0)) 214.33/146.04 new_sr8(:%(x0, x1), :%(x2, x3), x4) 214.33/146.04 new_abs(Neg(Zero)) 214.33/146.04 new_primMinusNatS2(Succ(x0), Zero) 214.33/146.04 new_error 214.33/146.04 new_primModNatS1(Succ(Zero), Zero) 214.33/146.04 new_primMulNat4(Succ(x0)) 214.33/146.04 new_sr1(x0, ty_Integer) 214.33/146.04 new_primDivNatS02(x0, x1) 214.33/146.04 new_sr1(x0, ty_Int) 214.33/146.04 new_rem(Neg(x0), Neg(Zero)) 214.33/146.04 new_primMinusNat0(Zero, Succ(x0)) 214.33/146.04 new_primEqInt(Neg(Zero)) 214.33/146.04 new_rem(Pos(x0), Pos(Succ(x1))) 214.33/146.04 new_abs(Pos(Succ(x0))) 214.33/146.04 new_primMulNat0(Succ(x0), Succ(x1)) 214.33/146.04 new_primMulNat0(Zero, Succ(x0)) 214.33/146.04 new_reduce2Reduce1(x0, x1, x2, x3, True, x4) 214.33/146.04 new_gcd0Gcd'10(False, x0, x1) 214.33/146.04 new_sr12(x0) 214.33/146.04 new_primDivNatS01(x0, x1, Zero, Succ(x2)) 214.33/146.04 new_sr10(Pos(x0), Pos(x1)) 214.33/146.04 new_primModNatS01(x0, x1, Zero, Succ(x2)) 214.33/146.04 new_primPlusNat0(Zero, Zero) 214.33/146.04 new_primQuotInt0(x0, Pos(Succ(x1))) 214.33/146.04 new_primModNatS01(x0, x1, Succ(x2), Zero) 214.33/146.04 new_ms(x0, Pos(Succ(x1))) 214.33/146.04 new_primModNatS1(Succ(Succ(x0)), Zero) 214.33/146.04 new_rem(Pos(x0), Pos(Zero)) 214.33/146.04 new_quot(Pos(x0), x1, x2) 214.33/146.04 new_primMinusNatS2(Zero, Zero) 214.33/146.04 new_esEs0(x0, ty_Int) 214.33/146.04 new_primMinusNat0(Succ(x0), Zero) 214.33/146.04 new_esEs(Pos(Zero)) 214.33/146.04 new_quot(Neg(x0), x1, x2) 214.33/146.04 new_primDivNatS01(x0, x1, Succ(x2), Succ(x3)) 214.33/146.04 new_quot2(x0, x1, x2) 214.33/146.04 new_primEqInt(Neg(Succ(x0))) 214.33/146.04 new_sr10(Neg(x0), Neg(x1)) 214.33/146.04 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 214.33/146.04 new_sr9(x0, x1) 214.33/146.04 new_sr2(x0, x1, ty_Integer) 214.33/146.04 new_sr7(Neg(x0)) 214.33/146.04 new_sr1(x0, ty_Double) 214.33/146.04 new_primQuotInt0(x0, Neg(Succ(x1))) 214.33/146.04 new_rem(Pos(x0), Neg(Zero)) 214.33/146.04 new_rem(Neg(x0), Pos(Zero)) 214.33/146.04 new_gcd0Gcd'00(x0, x1) 214.33/146.04 new_primQuotInt(x0, Neg(Succ(x1))) 214.33/146.04 new_primMinusNatS2(Succ(x0), Succ(x1)) 214.33/146.04 new_ms(x0, Pos(Zero)) 214.33/146.04 new_abs(Pos(Zero)) 214.33/146.04 new_primMinusNat0(Succ(x0), Succ(x1)) 214.33/146.04 new_quot0(x0, x1, x2, x3, ty_Integer) 214.33/146.04 new_sr6(x0) 214.33/146.04 new_gcd2(False, x0, x1) 214.33/146.04 new_gcd1(True, x0, x1) 214.33/146.04 new_esEs2(x0, x1, ty_Integer) 214.33/146.04 new_primMinusNatS1 214.33/146.04 new_sr7(Pos(x0)) 214.33/146.04 new_gcd0Gcd'10(True, x0, x1) 214.33/146.04 new_primModNatS1(Zero, x0) 214.33/146.04 new_sr10(Pos(x0), Neg(x1)) 214.33/146.04 new_sr10(Neg(x0), Pos(x1)) 214.33/146.04 new_primDivNatS01(x0, x1, Succ(x2), Zero) 214.33/146.04 new_primDivNatS1(Succ(Succ(x0)), Succ(x1)) 214.33/146.04 new_primPlusNat0(Succ(x0), Succ(x1)) 214.33/146.04 new_primDivNatS1(Succ(Zero), Succ(x0)) 214.33/146.04 new_primQuotInt(x0, Pos(Succ(x1))) 214.33/146.04 new_sr2(x0, x1, app(ty_Ratio, x2)) 214.33/146.04 new_abs(Neg(Succ(x0))) 214.33/146.04 new_esEs0(x0, ty_Integer) 214.33/146.04 new_esEs(Neg(Succ(x0))) 214.33/146.04 new_primModNatS01(x0, x1, Zero, Zero) 214.33/146.04 new_gcd0(x0, x1) 214.33/146.04 new_primEqInt(Pos(Succ(x0))) 214.33/146.04 new_quot1(x0, x1, x2, x3, ty_Integer) 214.33/146.04 new_primDivNatS1(Succ(Succ(x0)), Zero) 214.33/146.04 new_primMulNat1(Succ(x0)) 214.33/146.04 new_sr14(x0, x1) 214.33/146.04 new_quot0(x0, x1, x2, x3, ty_Int) 214.33/146.04 new_sr2(x0, x1, ty_Int) 214.33/146.04 new_primModNatS1(Succ(Zero), Succ(x0)) 214.33/146.04 new_reduce2Reduce1(x0, x1, x2, x3, False, x4) 214.33/146.04 new_esEs(Neg(Zero)) 214.33/146.04 new_primMulNat1(Zero) 214.33/146.04 214.33/146.04 We have to consider all minimal (P,Q,R)-chains. 214.33/146.04 ---------------------------------------- 214.33/146.04 214.33/146.04 (884) TransformationProof (EQUIVALENT) 214.33/146.04 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]: 214.33/146.04 214.33/146.04 (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)) 214.33/146.04 214.33/146.04 214.33/146.04 ---------------------------------------- 214.33/146.04 214.33/146.04 (885) 214.33/146.04 Obligation: 214.33/146.04 Q DP problem: 214.33/146.04 The TRS P consists of the following rules: 214.33/146.04 214.33/146.04 new_pr2F0G1(vyv227, vyv228, vyv229, Succ(Succ(vyv23000)), ba) -> new_pr2F0G1(vyv227, vyv228, vyv229, vyv23000, ba) 214.33/146.04 new_pr2F0G1(vyv227, vyv228, vyv229, Succ(Zero), ba) -> new_pr2F(vyv228, vyv229, Pos(Succ(Zero)), vyv227, ba) 214.33/146.04 new_pr2F3(False, vyv228, vyv229, vyv245, vyv227, ba) -> new_pr2F0(vyv228, new_ms(vyv229, vyv245), new_sr2(vyv228, vyv227, ba), ba) 214.33/146.04 new_pr2F0(vyv184, Pos(Succ(Succ(vyv223000))), vyv188, h) -> new_pr2F0G1(vyv188, vyv184, Succ(vyv223000), vyv223000, h) 214.33/146.04 new_pr2F0G1(vyv227, vyv228, vyv229, Zero, ba) -> new_pr2F0G(vyv227, new_sr1(vyv228, ba), Pos(new_primDivNatS1(Succ(vyv229), Succ(Zero))), ba) 214.33/146.04 new_pr2F0G(vyv188, vyv184, Pos(Succ(Succ(vyv223000))), h) -> new_pr2F0G1(vyv188, vyv184, Succ(vyv223000), vyv223000, h) 214.33/146.04 new_pr2F(y0, Succ(x0), Pos(Succ(Zero)), y2, y3) -> new_pr2F3(False, y0, Succ(x0), Pos(Succ(Zero)), y2, y3) 214.33/146.04 214.33/146.04 The TRS R consists of the following rules: 214.33/146.04 214.33/146.04 new_sr1(vyv228, ty_Double) -> new_sr11(vyv228) 214.33/146.04 new_sr1(vyv228, ty_Float) -> new_sr12(vyv228) 214.33/146.04 new_sr1(vyv228, app(ty_Ratio, bg)) -> new_sr5(vyv228, bg) 214.33/146.04 new_sr1(vyv228, ty_Integer) -> new_sr6(vyv228) 214.33/146.04 new_sr1(vyv228, ty_Int) -> new_sr7(vyv228) 214.33/146.04 new_primDivNatS1(Succ(Zero), Succ(vyv285000)) -> Zero 214.33/146.04 new_primDivNatS1(Succ(Succ(vyv271000)), Succ(vyv285000)) -> new_primDivNatS01(vyv271000, vyv285000, vyv271000, vyv285000) 214.33/146.04 new_primDivNatS01(vyv311, vyv312, Succ(vyv3130), Zero) -> new_primDivNatS02(vyv311, vyv312) 214.33/146.04 new_primDivNatS01(vyv311, vyv312, Zero, Succ(vyv3140)) -> Zero 214.33/146.04 new_primDivNatS01(vyv311, vyv312, Succ(vyv3130), Succ(vyv3140)) -> new_primDivNatS01(vyv311, vyv312, vyv3130, vyv3140) 214.33/146.04 new_primDivNatS01(vyv311, vyv312, Zero, Zero) -> new_primDivNatS02(vyv311, vyv312) 214.33/146.04 new_primDivNatS02(vyv311, vyv312) -> Succ(new_primDivNatS1(new_primMinusNatS2(vyv311, vyv312), Succ(vyv312))) 214.33/146.04 new_primMinusNatS2(Zero, Succ(vyv3120)) -> Zero 214.33/146.04 new_primMinusNatS2(Succ(vyv3110), Zero) -> Succ(vyv3110) 214.33/146.04 new_primMinusNatS2(Zero, Zero) -> Zero 214.33/146.04 new_primMinusNatS2(Succ(vyv3110), Succ(vyv3120)) -> new_primMinusNatS2(vyv3110, vyv3120) 214.33/146.04 new_primDivNatS1(Zero, vyv28500) -> Zero 214.33/146.04 new_sr7(Pos(vyv1840)) -> Pos(new_primMulNat1(vyv1840)) 214.33/146.04 new_sr7(Neg(vyv1840)) -> Pos(new_primMulNat1(vyv1840)) 214.33/146.04 new_primMulNat1(Succ(vyv18400)) -> new_primPlusNat0(new_primMulNat2(vyv18400), Succ(vyv18400)) 214.33/146.04 new_primMulNat1(Zero) -> Zero 214.33/146.04 new_primMulNat2(Succ(vyv184000)) -> new_primPlusNat0(new_primMulNat3(vyv184000), Succ(Succ(vyv184000))) 214.33/146.04 new_primMulNat2(Zero) -> Zero 214.33/146.04 new_primPlusNat0(Succ(vyv4000), Succ(vyv6000)) -> Succ(Succ(new_primPlusNat0(vyv4000, vyv6000))) 214.33/146.04 new_primPlusNat0(Zero, Succ(vyv6000)) -> Succ(vyv6000) 214.33/146.04 new_primPlusNat0(Zero, Zero) -> Zero 214.33/146.04 new_primPlusNat0(Succ(vyv4000), Zero) -> Succ(vyv4000) 214.33/146.04 new_primMulNat3(Succ(vyv1840000)) -> new_primPlusNat0(new_primMulNat4(vyv1840000), Succ(Succ(Succ(vyv1840000)))) 214.33/146.04 new_primMulNat3(Zero) -> Zero 214.33/146.04 new_primMulNat4(Succ(vyv18400000)) -> new_primPlusNat0(new_primMulNat0(vyv18400000, Succ(Succ(Succ(Succ(vyv18400000))))), Succ(Succ(Succ(Succ(vyv18400000))))) 214.33/146.04 new_primMulNat4(Zero) -> Zero 214.33/146.04 new_primMulNat0(Zero, Succ(vyv23900)) -> Zero 214.33/146.04 new_primMulNat0(Succ(vyv24000), Succ(vyv23900)) -> new_primPlusNat0(new_primMulNat0(vyv24000, Succ(vyv23900)), Succ(vyv23900)) 214.33/146.04 new_sr6(vyv184) -> error([]) 214.33/146.04 new_sr5(:%(vyv1840, vyv1841), bd) -> new_reduce2Reduce1(vyv1840, vyv1840, vyv1841, vyv1841, new_esEs0(vyv1841, bd), bd) 214.33/146.04 new_esEs0(vyv1841, ty_Int) -> new_esEs(new_sr7(vyv1841)) 214.33/146.04 new_esEs0(vyv1841, ty_Integer) -> new_esEs1(new_sr6(vyv1841)) 214.33/146.04 new_reduce2Reduce1(vyv265, vyv266, vyv267, vyv268, False, bh) -> :%(new_quot0(vyv265, vyv266, vyv267, vyv268, bh), new_quot1(vyv267, vyv268, vyv265, vyv266, bh)) 214.33/146.04 new_reduce2Reduce1(vyv265, vyv266, vyv267, vyv268, True, bh) -> error([]) 214.33/146.04 new_quot0(vyv265, vyv266, vyv267, vyv268, ty_Integer) -> new_quot2(new_sr9(vyv265, vyv266), new_sr9(vyv265, vyv266), new_sr9(vyv267, vyv268)) 214.33/146.04 new_quot0(vyv265, vyv266, vyv267, vyv268, ty_Int) -> new_quot(new_sr10(vyv265, vyv266), new_sr10(vyv265, vyv266), new_sr10(vyv267, vyv268)) 214.33/146.04 new_quot1(vyv267, vyv268, vyv265, vyv266, ty_Int) -> new_quot(new_sr10(vyv267, vyv268), new_sr10(vyv265, vyv266), new_sr10(vyv267, vyv268)) 214.33/146.04 new_quot1(vyv267, vyv268, vyv265, vyv266, ty_Integer) -> new_quot2(new_sr9(vyv267, vyv268), new_sr9(vyv265, vyv266), new_sr9(vyv267, vyv268)) 214.33/146.04 new_sr9(vyv240, vyv239) -> error([]) 214.33/146.04 new_quot2(vyv274, vyv276, vyv275) -> error([]) 214.33/146.04 new_sr10(Pos(vyv2400), Pos(vyv2390)) -> Pos(new_primMulNat0(vyv2400, vyv2390)) 214.33/146.04 new_sr10(Neg(vyv2400), Neg(vyv2390)) -> Pos(new_primMulNat0(vyv2400, vyv2390)) 214.33/146.04 new_sr10(Pos(vyv2400), Neg(vyv2390)) -> Neg(new_primMulNat0(vyv2400, vyv2390)) 214.33/146.04 new_sr10(Neg(vyv2400), Pos(vyv2390)) -> Neg(new_primMulNat0(vyv2400, vyv2390)) 214.33/146.04 new_quot(Pos(vyv2710), vyv273, vyv272) -> new_primQuotInt(vyv2710, new_gcd(vyv273, vyv272)) 214.33/146.04 new_quot(Neg(vyv2710), vyv273, vyv272) -> new_primQuotInt0(vyv2710, new_gcd(vyv273, vyv272)) 214.33/146.04 new_gcd(vyv273, vyv272) -> new_gcd2(new_esEs(vyv273), vyv273, vyv272) 214.33/146.04 new_primQuotInt0(vyv2710, Pos(Succ(vyv28800))) -> Neg(new_primDivNatS1(vyv2710, vyv28800)) 214.33/146.04 new_primQuotInt0(vyv2710, Neg(Zero)) -> new_error 214.33/146.04 new_primQuotInt0(vyv2710, Neg(Succ(vyv28800))) -> Pos(new_primDivNatS1(vyv2710, vyv28800)) 214.33/146.04 new_primQuotInt0(vyv2710, Pos(Zero)) -> new_error 214.33/146.04 new_error -> error([]) 214.33/146.04 new_primDivNatS1(Succ(Succ(vyv271000)), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS0(vyv271000), Zero)) 214.33/146.04 new_primDivNatS1(Succ(Zero), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS1, Zero)) 214.33/146.04 new_primMinusNatS1 -> Zero 214.33/146.04 new_primMinusNatS0(vyv271000) -> Succ(vyv271000) 214.33/146.04 new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) 214.33/146.04 new_esEs(Pos(Succ(vyv24300))) -> new_primEqInt(Pos(Succ(vyv24300))) 214.33/146.04 new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) 214.33/146.04 new_esEs(Neg(Succ(vyv24300))) -> new_primEqInt(Neg(Succ(vyv24300))) 214.33/146.04 new_gcd2(True, vyv273, vyv272) -> new_gcd1(new_esEs(vyv272), vyv273, vyv272) 214.33/146.04 new_gcd2(False, vyv273, vyv272) -> new_gcd0(vyv273, vyv272) 214.33/146.04 new_gcd0(vyv273, vyv272) -> new_gcd0Gcd'11(new_esEs(new_abs(vyv272)), vyv273, vyv272) 214.33/146.04 new_abs(Neg(Zero)) -> Neg(Zero) 214.33/146.04 new_abs(Neg(Succ(vyv27200))) -> Pos(Succ(vyv27200)) 214.33/146.04 new_abs(Pos(Succ(vyv27200))) -> Pos(Succ(vyv27200)) 214.33/146.04 new_abs(Pos(Zero)) -> Pos(Zero) 214.33/146.04 new_gcd0Gcd'11(True, vyv273, vyv272) -> new_abs(vyv273) 214.33/146.04 new_gcd0Gcd'11(False, vyv273, vyv272) -> new_gcd0Gcd'00(new_abs(vyv273), new_abs(vyv272)) 214.33/146.04 new_gcd0Gcd'10(False, vyv292, vyv293) -> new_gcd0Gcd'00(vyv292, new_rem(vyv293, vyv292)) 214.33/146.04 new_gcd0Gcd'00(vyv293, vyv292) -> new_gcd0Gcd'10(new_esEs(new_rem(vyv293, vyv292)), vyv292, vyv293) 214.33/146.04 new_rem(Pos(vyv2930), Neg(Zero)) -> new_error 214.33/146.04 new_rem(Neg(vyv2930), Pos(Zero)) -> new_error 214.33/146.04 new_rem(Pos(vyv2930), Neg(Succ(vyv29200))) -> Pos(new_primModNatS1(vyv2930, vyv29200)) 214.33/146.04 new_rem(Neg(vyv2930), Pos(Succ(vyv29200))) -> Neg(new_primModNatS1(vyv2930, vyv29200)) 214.33/146.04 new_rem(Pos(vyv2930), Pos(Succ(vyv29200))) -> Pos(new_primModNatS1(vyv2930, vyv29200)) 214.33/146.04 new_rem(Neg(vyv2930), Neg(Zero)) -> new_error 214.33/146.04 new_rem(Neg(vyv2930), Neg(Succ(vyv29200))) -> Neg(new_primModNatS1(vyv2930, vyv29200)) 214.33/146.04 new_rem(Pos(vyv2930), Pos(Zero)) -> new_error 214.33/146.04 new_gcd0Gcd'10(True, vyv292, vyv293) -> vyv292 214.33/146.04 new_primModNatS1(Succ(Zero), Succ(vyv292000)) -> Succ(Zero) 214.33/146.04 new_primModNatS1(Zero, vyv29200) -> Zero 214.33/146.04 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 214.33/146.04 new_primModNatS1(Succ(Succ(vyv293000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv293000), Zero) 214.33/146.04 new_primModNatS1(Succ(Succ(vyv293000)), Succ(vyv292000)) -> new_primModNatS01(vyv293000, vyv292000, vyv293000, vyv292000) 214.33/146.04 new_primModNatS01(vyv331, vyv332, Zero, Zero) -> new_primModNatS02(vyv331, vyv332) 214.33/146.04 new_primModNatS02(vyv331, vyv332) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv331), Succ(vyv332)), Succ(vyv332)) 214.33/146.04 new_primModNatS01(vyv331, vyv332, Succ(vyv3330), Zero) -> new_primModNatS02(vyv331, vyv332) 214.33/146.04 new_primModNatS01(vyv331, vyv332, Succ(vyv3330), Succ(vyv3340)) -> new_primModNatS01(vyv331, vyv332, vyv3330, vyv3340) 214.33/146.04 new_primModNatS01(vyv331, vyv332, Zero, Succ(vyv3340)) -> Succ(Succ(vyv331)) 214.33/146.04 new_gcd1(True, vyv273, vyv272) -> new_error 214.33/146.04 new_gcd1(False, vyv273, vyv272) -> new_gcd0(vyv273, vyv272) 214.33/146.04 new_primEqInt(Neg(Succ(vyv242000))) -> False 214.33/146.04 new_primEqInt(Pos(Zero)) -> True 214.33/146.04 new_primEqInt(Pos(Succ(vyv242000))) -> False 214.33/146.04 new_primEqInt(Neg(Zero)) -> True 214.33/146.04 new_primQuotInt(vyv2710, Pos(Succ(vyv28500))) -> Pos(new_primDivNatS1(vyv2710, vyv28500)) 214.33/146.04 new_primQuotInt(vyv2710, Neg(Zero)) -> new_error 214.33/146.04 new_primQuotInt(vyv2710, Pos(Zero)) -> new_error 214.33/146.04 new_primQuotInt(vyv2710, Neg(Succ(vyv28500))) -> Neg(new_primDivNatS1(vyv2710, vyv28500)) 214.33/146.04 new_primMulNat0(Succ(vyv24000), Zero) -> Zero 214.33/146.04 new_primMulNat0(Zero, Zero) -> Zero 214.33/146.04 new_esEs1(Integer(vyv2700)) -> new_primEqInt(vyv2700) 214.33/146.04 new_sr12(vyv184) -> error([]) 214.33/146.04 new_sr11(vyv184) -> error([]) 214.33/146.04 new_ms(vyv229, Neg(vyv2450)) -> Pos(new_primPlusNat0(Succ(vyv229), vyv2450)) 214.33/146.04 new_ms(vyv229, Pos(Succ(vyv24500))) -> new_primMinusNat0(vyv229, vyv24500) 214.33/146.04 new_ms(vyv229, Pos(Zero)) -> Pos(Succ(vyv229)) 214.33/146.04 new_sr2(vyv228, vyv227, ty_Integer) -> new_sr9(vyv228, vyv227) 214.33/146.04 new_sr2(vyv228, vyv227, ty_Int) -> new_sr10(vyv228, vyv227) 214.33/146.04 new_sr2(vyv228, vyv227, app(ty_Ratio, bg)) -> new_sr8(vyv228, vyv227, bg) 214.33/146.04 new_sr2(vyv228, vyv227, ty_Double) -> new_sr13(vyv228, vyv227) 214.33/146.04 new_sr2(vyv228, vyv227, ty_Float) -> new_sr14(vyv228, vyv227) 214.33/146.04 new_sr14(vyv240, vyv239) -> error([]) 214.33/146.04 new_sr13(vyv240, vyv239) -> error([]) 214.33/146.04 new_sr8(:%(vyv2400, vyv2401), :%(vyv2390, vyv2391), be) -> new_reduce2Reduce1(vyv2400, vyv2390, vyv2401, vyv2391, new_esEs2(vyv2401, vyv2391, be), be) 214.33/146.04 new_esEs2(vyv2401, vyv2391, ty_Integer) -> new_esEs1(new_sr9(vyv2401, vyv2391)) 214.33/146.04 new_esEs2(vyv2401, vyv2391, ty_Int) -> new_esEs(new_sr10(vyv2401, vyv2391)) 214.33/146.04 new_primMinusNat0(Succ(vyv2290), Succ(vyv245000)) -> new_primMinusNat0(vyv2290, vyv245000) 214.33/146.04 new_primMinusNat0(Zero, Zero) -> Pos(Zero) 214.33/146.04 new_primMinusNat0(Zero, Succ(vyv245000)) -> Neg(Succ(vyv245000)) 214.33/146.04 new_primMinusNat0(Succ(vyv2290), Zero) -> Pos(Succ(vyv2290)) 214.33/146.04 214.33/146.04 The set Q consists of the following terms: 214.33/146.04 214.33/146.04 new_sr13(x0, x1) 214.33/146.04 new_primDivNatS01(x0, x1, Zero, Zero) 214.33/146.04 new_gcd0Gcd'11(False, x0, x1) 214.33/146.04 new_primMulNat4(Zero) 214.33/146.04 new_gcd0Gcd'11(True, x0, x1) 214.33/146.04 new_sr2(x0, x1, ty_Float) 214.33/146.04 new_sr5(:%(x0, x1), x2) 214.33/146.04 new_primEqInt(Pos(Zero)) 214.33/146.04 new_ms(x0, Neg(x1)) 214.33/146.04 new_sr2(x0, x1, ty_Double) 214.33/146.04 new_esEs(Pos(Succ(x0))) 214.33/146.04 new_primQuotInt0(x0, Neg(Zero)) 214.33/146.04 new_primMulNat3(Zero) 214.33/146.04 new_primModNatS02(x0, x1) 214.33/146.04 new_primDivNatS1(Succ(Zero), Zero) 214.33/146.04 new_primMinusNatS0(x0) 214.33/146.04 new_sr11(x0) 214.33/146.04 new_rem(Pos(x0), Neg(Succ(x1))) 214.33/146.04 new_rem(Neg(x0), Pos(Succ(x1))) 214.33/146.04 new_primMulNat0(Zero, Zero) 214.33/146.04 new_primPlusNat0(Succ(x0), Zero) 214.33/146.04 new_primMulNat0(Succ(x0), Zero) 214.33/146.04 new_primMulNat2(Zero) 214.33/146.04 new_primQuotInt(x0, Pos(Zero)) 214.33/146.04 new_primMulNat2(Succ(x0)) 214.33/146.04 new_primQuotInt(x0, Neg(Zero)) 214.33/146.04 new_rem(Neg(x0), Neg(Succ(x1))) 214.33/146.04 new_primMinusNatS2(Zero, Succ(x0)) 214.33/146.04 new_primMulNat3(Succ(x0)) 214.33/146.04 new_esEs1(Integer(x0)) 214.33/146.04 new_primQuotInt0(x0, Pos(Zero)) 214.33/146.04 new_gcd2(True, x0, x1) 214.33/146.04 new_quot1(x0, x1, x2, x3, ty_Int) 214.33/146.04 new_primDivNatS1(Zero, x0) 214.33/146.04 new_primMinusNat0(Zero, Zero) 214.33/146.04 new_gcd(x0, x1) 214.33/146.04 new_gcd1(False, x0, x1) 214.33/146.04 new_esEs2(x0, x1, ty_Int) 214.33/146.04 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 214.33/146.04 new_sr1(x0, app(ty_Ratio, x1)) 214.33/146.04 new_sr1(x0, ty_Float) 214.33/146.04 new_primPlusNat0(Zero, Succ(x0)) 214.33/146.04 new_sr8(:%(x0, x1), :%(x2, x3), x4) 214.33/146.04 new_abs(Neg(Zero)) 214.33/146.04 new_primMinusNatS2(Succ(x0), Zero) 214.33/146.04 new_error 214.33/146.04 new_primModNatS1(Succ(Zero), Zero) 214.33/146.04 new_primMulNat4(Succ(x0)) 214.33/146.04 new_sr1(x0, ty_Integer) 214.33/146.04 new_primDivNatS02(x0, x1) 214.33/146.04 new_sr1(x0, ty_Int) 214.33/146.04 new_rem(Neg(x0), Neg(Zero)) 214.33/146.04 new_primMinusNat0(Zero, Succ(x0)) 214.33/146.04 new_primEqInt(Neg(Zero)) 214.33/146.04 new_rem(Pos(x0), Pos(Succ(x1))) 214.33/146.04 new_abs(Pos(Succ(x0))) 214.33/146.04 new_primMulNat0(Succ(x0), Succ(x1)) 214.33/146.04 new_primMulNat0(Zero, Succ(x0)) 214.33/146.04 new_reduce2Reduce1(x0, x1, x2, x3, True, x4) 214.33/146.04 new_gcd0Gcd'10(False, x0, x1) 214.33/146.04 new_sr12(x0) 214.33/146.04 new_primDivNatS01(x0, x1, Zero, Succ(x2)) 214.33/146.04 new_sr10(Pos(x0), Pos(x1)) 214.33/146.04 new_primModNatS01(x0, x1, Zero, Succ(x2)) 214.33/146.04 new_primPlusNat0(Zero, Zero) 214.33/146.04 new_primQuotInt0(x0, Pos(Succ(x1))) 214.33/146.04 new_primModNatS01(x0, x1, Succ(x2), Zero) 214.33/146.04 new_ms(x0, Pos(Succ(x1))) 214.33/146.04 new_primModNatS1(Succ(Succ(x0)), Zero) 214.33/146.04 new_rem(Pos(x0), Pos(Zero)) 214.33/146.04 new_quot(Pos(x0), x1, x2) 214.33/146.04 new_primMinusNatS2(Zero, Zero) 214.33/146.04 new_esEs0(x0, ty_Int) 214.33/146.04 new_primMinusNat0(Succ(x0), Zero) 214.33/146.04 new_esEs(Pos(Zero)) 214.33/146.04 new_quot(Neg(x0), x1, x2) 214.33/146.04 new_primDivNatS01(x0, x1, Succ(x2), Succ(x3)) 214.33/146.04 new_quot2(x0, x1, x2) 214.33/146.04 new_primEqInt(Neg(Succ(x0))) 214.33/146.04 new_sr10(Neg(x0), Neg(x1)) 214.33/146.04 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 214.33/146.04 new_sr9(x0, x1) 214.33/146.04 new_sr2(x0, x1, ty_Integer) 214.33/146.04 new_sr7(Neg(x0)) 214.33/146.04 new_sr1(x0, ty_Double) 214.33/146.04 new_primQuotInt0(x0, Neg(Succ(x1))) 214.33/146.04 new_rem(Pos(x0), Neg(Zero)) 214.33/146.04 new_rem(Neg(x0), Pos(Zero)) 214.33/146.04 new_gcd0Gcd'00(x0, x1) 214.33/146.04 new_primQuotInt(x0, Neg(Succ(x1))) 214.33/146.04 new_primMinusNatS2(Succ(x0), Succ(x1)) 214.33/146.04 new_ms(x0, Pos(Zero)) 214.33/146.04 new_abs(Pos(Zero)) 214.33/146.04 new_primMinusNat0(Succ(x0), Succ(x1)) 214.33/146.04 new_quot0(x0, x1, x2, x3, ty_Integer) 214.33/146.04 new_sr6(x0) 214.33/146.04 new_gcd2(False, x0, x1) 214.33/146.04 new_gcd1(True, x0, x1) 214.33/146.04 new_esEs2(x0, x1, ty_Integer) 214.33/146.04 new_primMinusNatS1 214.33/146.04 new_sr7(Pos(x0)) 214.33/146.04 new_gcd0Gcd'10(True, x0, x1) 214.33/146.04 new_primModNatS1(Zero, x0) 214.33/146.04 new_sr10(Pos(x0), Neg(x1)) 214.33/146.04 new_sr10(Neg(x0), Pos(x1)) 214.33/146.04 new_primDivNatS01(x0, x1, Succ(x2), Zero) 214.33/146.04 new_primDivNatS1(Succ(Succ(x0)), Succ(x1)) 214.33/146.04 new_primPlusNat0(Succ(x0), Succ(x1)) 214.33/146.04 new_primDivNatS1(Succ(Zero), Succ(x0)) 214.33/146.04 new_primQuotInt(x0, Pos(Succ(x1))) 214.33/146.04 new_sr2(x0, x1, app(ty_Ratio, x2)) 214.33/146.04 new_abs(Neg(Succ(x0))) 214.33/146.04 new_esEs0(x0, ty_Integer) 214.33/146.04 new_esEs(Neg(Succ(x0))) 214.33/146.04 new_primModNatS01(x0, x1, Zero, Zero) 214.33/146.04 new_gcd0(x0, x1) 214.33/146.04 new_primEqInt(Pos(Succ(x0))) 214.33/146.04 new_quot1(x0, x1, x2, x3, ty_Integer) 214.33/146.04 new_primDivNatS1(Succ(Succ(x0)), Zero) 214.33/146.04 new_primMulNat1(Succ(x0)) 214.33/146.04 new_sr14(x0, x1) 214.33/146.04 new_quot0(x0, x1, x2, x3, ty_Int) 214.33/146.04 new_sr2(x0, x1, ty_Int) 214.33/146.04 new_primModNatS1(Succ(Zero), Succ(x0)) 214.33/146.04 new_reduce2Reduce1(x0, x1, x2, x3, False, x4) 214.33/146.04 new_esEs(Neg(Zero)) 214.33/146.04 new_primMulNat1(Zero) 214.33/146.04 214.33/146.04 We have to consider all minimal (P,Q,R)-chains. 214.33/146.04 ---------------------------------------- 214.33/146.04 214.33/146.04 (886) TransformationProof (EQUIVALENT) 214.33/146.04 By instantiating [LPAR04] the rule new_pr2F3(False, vyv228, vyv229, vyv245, vyv227, ba) -> new_pr2F0(vyv228, new_ms(vyv229, vyv245), new_sr2(vyv228, vyv227, ba), ba) we obtained the following new rules [LPAR04]: 214.33/146.04 214.33/146.04 (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)) 214.33/146.04 214.33/146.04 214.33/146.04 ---------------------------------------- 214.33/146.04 214.33/146.04 (887) 214.33/146.04 Obligation: 214.33/146.04 Q DP problem: 214.33/146.04 The TRS P consists of the following rules: 214.33/146.04 214.33/146.04 new_pr2F0G1(vyv227, vyv228, vyv229, Succ(Succ(vyv23000)), ba) -> new_pr2F0G1(vyv227, vyv228, vyv229, vyv23000, ba) 214.33/146.04 new_pr2F0G1(vyv227, vyv228, vyv229, Succ(Zero), ba) -> new_pr2F(vyv228, vyv229, Pos(Succ(Zero)), vyv227, ba) 214.33/146.04 new_pr2F0(vyv184, Pos(Succ(Succ(vyv223000))), vyv188, h) -> new_pr2F0G1(vyv188, vyv184, Succ(vyv223000), vyv223000, h) 214.33/146.04 new_pr2F0G1(vyv227, vyv228, vyv229, Zero, ba) -> new_pr2F0G(vyv227, new_sr1(vyv228, ba), Pos(new_primDivNatS1(Succ(vyv229), Succ(Zero))), ba) 214.33/146.04 new_pr2F0G(vyv188, vyv184, Pos(Succ(Succ(vyv223000))), h) -> new_pr2F0G1(vyv188, vyv184, Succ(vyv223000), vyv223000, h) 214.33/146.04 new_pr2F(y0, Succ(x0), Pos(Succ(Zero)), y2, y3) -> new_pr2F3(False, y0, Succ(x0), Pos(Succ(Zero)), y2, y3) 214.33/146.04 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) 214.33/146.04 214.33/146.04 The TRS R consists of the following rules: 214.33/146.04 214.33/146.04 new_sr1(vyv228, ty_Double) -> new_sr11(vyv228) 214.33/146.04 new_sr1(vyv228, ty_Float) -> new_sr12(vyv228) 214.33/146.04 new_sr1(vyv228, app(ty_Ratio, bg)) -> new_sr5(vyv228, bg) 214.33/146.04 new_sr1(vyv228, ty_Integer) -> new_sr6(vyv228) 214.33/146.04 new_sr1(vyv228, ty_Int) -> new_sr7(vyv228) 214.33/146.04 new_primDivNatS1(Succ(Zero), Succ(vyv285000)) -> Zero 214.33/146.04 new_primDivNatS1(Succ(Succ(vyv271000)), Succ(vyv285000)) -> new_primDivNatS01(vyv271000, vyv285000, vyv271000, vyv285000) 214.33/146.04 new_primDivNatS01(vyv311, vyv312, Succ(vyv3130), Zero) -> new_primDivNatS02(vyv311, vyv312) 214.33/146.04 new_primDivNatS01(vyv311, vyv312, Zero, Succ(vyv3140)) -> Zero 214.33/146.04 new_primDivNatS01(vyv311, vyv312, Succ(vyv3130), Succ(vyv3140)) -> new_primDivNatS01(vyv311, vyv312, vyv3130, vyv3140) 214.33/146.04 new_primDivNatS01(vyv311, vyv312, Zero, Zero) -> new_primDivNatS02(vyv311, vyv312) 214.33/146.04 new_primDivNatS02(vyv311, vyv312) -> Succ(new_primDivNatS1(new_primMinusNatS2(vyv311, vyv312), Succ(vyv312))) 214.33/146.04 new_primMinusNatS2(Zero, Succ(vyv3120)) -> Zero 214.33/146.04 new_primMinusNatS2(Succ(vyv3110), Zero) -> Succ(vyv3110) 214.33/146.04 new_primMinusNatS2(Zero, Zero) -> Zero 214.33/146.04 new_primMinusNatS2(Succ(vyv3110), Succ(vyv3120)) -> new_primMinusNatS2(vyv3110, vyv3120) 214.33/146.04 new_primDivNatS1(Zero, vyv28500) -> Zero 214.33/146.04 new_sr7(Pos(vyv1840)) -> Pos(new_primMulNat1(vyv1840)) 214.33/146.04 new_sr7(Neg(vyv1840)) -> Pos(new_primMulNat1(vyv1840)) 214.33/146.04 new_primMulNat1(Succ(vyv18400)) -> new_primPlusNat0(new_primMulNat2(vyv18400), Succ(vyv18400)) 214.33/146.04 new_primMulNat1(Zero) -> Zero 214.33/146.04 new_primMulNat2(Succ(vyv184000)) -> new_primPlusNat0(new_primMulNat3(vyv184000), Succ(Succ(vyv184000))) 214.33/146.04 new_primMulNat2(Zero) -> Zero 214.33/146.04 new_primPlusNat0(Succ(vyv4000), Succ(vyv6000)) -> Succ(Succ(new_primPlusNat0(vyv4000, vyv6000))) 214.33/146.04 new_primPlusNat0(Zero, Succ(vyv6000)) -> Succ(vyv6000) 214.33/146.04 new_primPlusNat0(Zero, Zero) -> Zero 214.33/146.04 new_primPlusNat0(Succ(vyv4000), Zero) -> Succ(vyv4000) 214.33/146.04 new_primMulNat3(Succ(vyv1840000)) -> new_primPlusNat0(new_primMulNat4(vyv1840000), Succ(Succ(Succ(vyv1840000)))) 214.33/146.04 new_primMulNat3(Zero) -> Zero 214.33/146.04 new_primMulNat4(Succ(vyv18400000)) -> new_primPlusNat0(new_primMulNat0(vyv18400000, Succ(Succ(Succ(Succ(vyv18400000))))), Succ(Succ(Succ(Succ(vyv18400000))))) 214.33/146.04 new_primMulNat4(Zero) -> Zero 214.33/146.04 new_primMulNat0(Zero, Succ(vyv23900)) -> Zero 214.33/146.04 new_primMulNat0(Succ(vyv24000), Succ(vyv23900)) -> new_primPlusNat0(new_primMulNat0(vyv24000, Succ(vyv23900)), Succ(vyv23900)) 214.33/146.04 new_sr6(vyv184) -> error([]) 214.33/146.04 new_sr5(:%(vyv1840, vyv1841), bd) -> new_reduce2Reduce1(vyv1840, vyv1840, vyv1841, vyv1841, new_esEs0(vyv1841, bd), bd) 214.33/146.04 new_esEs0(vyv1841, ty_Int) -> new_esEs(new_sr7(vyv1841)) 214.33/146.04 new_esEs0(vyv1841, ty_Integer) -> new_esEs1(new_sr6(vyv1841)) 214.33/146.04 new_reduce2Reduce1(vyv265, vyv266, vyv267, vyv268, False, bh) -> :%(new_quot0(vyv265, vyv266, vyv267, vyv268, bh), new_quot1(vyv267, vyv268, vyv265, vyv266, bh)) 214.33/146.04 new_reduce2Reduce1(vyv265, vyv266, vyv267, vyv268, True, bh) -> error([]) 214.33/146.04 new_quot0(vyv265, vyv266, vyv267, vyv268, ty_Integer) -> new_quot2(new_sr9(vyv265, vyv266), new_sr9(vyv265, vyv266), new_sr9(vyv267, vyv268)) 214.33/146.04 new_quot0(vyv265, vyv266, vyv267, vyv268, ty_Int) -> new_quot(new_sr10(vyv265, vyv266), new_sr10(vyv265, vyv266), new_sr10(vyv267, vyv268)) 214.33/146.04 new_quot1(vyv267, vyv268, vyv265, vyv266, ty_Int) -> new_quot(new_sr10(vyv267, vyv268), new_sr10(vyv265, vyv266), new_sr10(vyv267, vyv268)) 214.33/146.04 new_quot1(vyv267, vyv268, vyv265, vyv266, ty_Integer) -> new_quot2(new_sr9(vyv267, vyv268), new_sr9(vyv265, vyv266), new_sr9(vyv267, vyv268)) 214.33/146.04 new_sr9(vyv240, vyv239) -> error([]) 214.33/146.04 new_quot2(vyv274, vyv276, vyv275) -> error([]) 214.33/146.04 new_sr10(Pos(vyv2400), Pos(vyv2390)) -> Pos(new_primMulNat0(vyv2400, vyv2390)) 214.33/146.04 new_sr10(Neg(vyv2400), Neg(vyv2390)) -> Pos(new_primMulNat0(vyv2400, vyv2390)) 214.33/146.04 new_sr10(Pos(vyv2400), Neg(vyv2390)) -> Neg(new_primMulNat0(vyv2400, vyv2390)) 214.33/146.04 new_sr10(Neg(vyv2400), Pos(vyv2390)) -> Neg(new_primMulNat0(vyv2400, vyv2390)) 214.33/146.04 new_quot(Pos(vyv2710), vyv273, vyv272) -> new_primQuotInt(vyv2710, new_gcd(vyv273, vyv272)) 214.33/146.04 new_quot(Neg(vyv2710), vyv273, vyv272) -> new_primQuotInt0(vyv2710, new_gcd(vyv273, vyv272)) 214.33/146.04 new_gcd(vyv273, vyv272) -> new_gcd2(new_esEs(vyv273), vyv273, vyv272) 214.33/146.04 new_primQuotInt0(vyv2710, Pos(Succ(vyv28800))) -> Neg(new_primDivNatS1(vyv2710, vyv28800)) 214.33/146.04 new_primQuotInt0(vyv2710, Neg(Zero)) -> new_error 214.33/146.04 new_primQuotInt0(vyv2710, Neg(Succ(vyv28800))) -> Pos(new_primDivNatS1(vyv2710, vyv28800)) 214.33/146.04 new_primQuotInt0(vyv2710, Pos(Zero)) -> new_error 214.33/146.04 new_error -> error([]) 214.33/146.04 new_primDivNatS1(Succ(Succ(vyv271000)), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS0(vyv271000), Zero)) 214.33/146.04 new_primDivNatS1(Succ(Zero), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS1, Zero)) 214.33/146.04 new_primMinusNatS1 -> Zero 214.33/146.04 new_primMinusNatS0(vyv271000) -> Succ(vyv271000) 214.33/146.04 new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) 214.33/146.04 new_esEs(Pos(Succ(vyv24300))) -> new_primEqInt(Pos(Succ(vyv24300))) 214.33/146.04 new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) 214.33/146.04 new_esEs(Neg(Succ(vyv24300))) -> new_primEqInt(Neg(Succ(vyv24300))) 214.33/146.04 new_gcd2(True, vyv273, vyv272) -> new_gcd1(new_esEs(vyv272), vyv273, vyv272) 214.33/146.04 new_gcd2(False, vyv273, vyv272) -> new_gcd0(vyv273, vyv272) 214.33/146.04 new_gcd0(vyv273, vyv272) -> new_gcd0Gcd'11(new_esEs(new_abs(vyv272)), vyv273, vyv272) 214.33/146.04 new_abs(Neg(Zero)) -> Neg(Zero) 214.33/146.04 new_abs(Neg(Succ(vyv27200))) -> Pos(Succ(vyv27200)) 214.33/146.04 new_abs(Pos(Succ(vyv27200))) -> Pos(Succ(vyv27200)) 214.33/146.04 new_abs(Pos(Zero)) -> Pos(Zero) 214.33/146.04 new_gcd0Gcd'11(True, vyv273, vyv272) -> new_abs(vyv273) 214.33/146.04 new_gcd0Gcd'11(False, vyv273, vyv272) -> new_gcd0Gcd'00(new_abs(vyv273), new_abs(vyv272)) 214.33/146.04 new_gcd0Gcd'10(False, vyv292, vyv293) -> new_gcd0Gcd'00(vyv292, new_rem(vyv293, vyv292)) 214.33/146.04 new_gcd0Gcd'00(vyv293, vyv292) -> new_gcd0Gcd'10(new_esEs(new_rem(vyv293, vyv292)), vyv292, vyv293) 214.33/146.04 new_rem(Pos(vyv2930), Neg(Zero)) -> new_error 214.33/146.04 new_rem(Neg(vyv2930), Pos(Zero)) -> new_error 214.33/146.04 new_rem(Pos(vyv2930), Neg(Succ(vyv29200))) -> Pos(new_primModNatS1(vyv2930, vyv29200)) 214.33/146.04 new_rem(Neg(vyv2930), Pos(Succ(vyv29200))) -> Neg(new_primModNatS1(vyv2930, vyv29200)) 214.33/146.04 new_rem(Pos(vyv2930), Pos(Succ(vyv29200))) -> Pos(new_primModNatS1(vyv2930, vyv29200)) 214.33/146.04 new_rem(Neg(vyv2930), Neg(Zero)) -> new_error 214.33/146.04 new_rem(Neg(vyv2930), Neg(Succ(vyv29200))) -> Neg(new_primModNatS1(vyv2930, vyv29200)) 214.33/146.04 new_rem(Pos(vyv2930), Pos(Zero)) -> new_error 214.33/146.04 new_gcd0Gcd'10(True, vyv292, vyv293) -> vyv292 214.33/146.04 new_primModNatS1(Succ(Zero), Succ(vyv292000)) -> Succ(Zero) 214.33/146.04 new_primModNatS1(Zero, vyv29200) -> Zero 214.33/146.04 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 214.33/146.04 new_primModNatS1(Succ(Succ(vyv293000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv293000), Zero) 214.33/146.04 new_primModNatS1(Succ(Succ(vyv293000)), Succ(vyv292000)) -> new_primModNatS01(vyv293000, vyv292000, vyv293000, vyv292000) 214.33/146.04 new_primModNatS01(vyv331, vyv332, Zero, Zero) -> new_primModNatS02(vyv331, vyv332) 214.33/146.04 new_primModNatS02(vyv331, vyv332) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv331), Succ(vyv332)), Succ(vyv332)) 214.33/146.04 new_primModNatS01(vyv331, vyv332, Succ(vyv3330), Zero) -> new_primModNatS02(vyv331, vyv332) 214.33/146.04 new_primModNatS01(vyv331, vyv332, Succ(vyv3330), Succ(vyv3340)) -> new_primModNatS01(vyv331, vyv332, vyv3330, vyv3340) 214.33/146.04 new_primModNatS01(vyv331, vyv332, Zero, Succ(vyv3340)) -> Succ(Succ(vyv331)) 214.33/146.04 new_gcd1(True, vyv273, vyv272) -> new_error 214.33/146.04 new_gcd1(False, vyv273, vyv272) -> new_gcd0(vyv273, vyv272) 214.33/146.04 new_primEqInt(Neg(Succ(vyv242000))) -> False 214.33/146.04 new_primEqInt(Pos(Zero)) -> True 214.33/146.04 new_primEqInt(Pos(Succ(vyv242000))) -> False 214.33/146.04 new_primEqInt(Neg(Zero)) -> True 214.33/146.04 new_primQuotInt(vyv2710, Pos(Succ(vyv28500))) -> Pos(new_primDivNatS1(vyv2710, vyv28500)) 214.33/146.04 new_primQuotInt(vyv2710, Neg(Zero)) -> new_error 214.33/146.04 new_primQuotInt(vyv2710, Pos(Zero)) -> new_error 214.33/146.04 new_primQuotInt(vyv2710, Neg(Succ(vyv28500))) -> Neg(new_primDivNatS1(vyv2710, vyv28500)) 214.33/146.04 new_primMulNat0(Succ(vyv24000), Zero) -> Zero 214.33/146.04 new_primMulNat0(Zero, Zero) -> Zero 214.33/146.04 new_esEs1(Integer(vyv2700)) -> new_primEqInt(vyv2700) 214.33/146.04 new_sr12(vyv184) -> error([]) 214.33/146.04 new_sr11(vyv184) -> error([]) 214.33/146.04 new_ms(vyv229, Neg(vyv2450)) -> Pos(new_primPlusNat0(Succ(vyv229), vyv2450)) 214.33/146.04 new_ms(vyv229, Pos(Succ(vyv24500))) -> new_primMinusNat0(vyv229, vyv24500) 214.33/146.04 new_ms(vyv229, Pos(Zero)) -> Pos(Succ(vyv229)) 214.33/146.04 new_sr2(vyv228, vyv227, ty_Integer) -> new_sr9(vyv228, vyv227) 214.33/146.04 new_sr2(vyv228, vyv227, ty_Int) -> new_sr10(vyv228, vyv227) 214.33/146.04 new_sr2(vyv228, vyv227, app(ty_Ratio, bg)) -> new_sr8(vyv228, vyv227, bg) 214.33/146.04 new_sr2(vyv228, vyv227, ty_Double) -> new_sr13(vyv228, vyv227) 214.33/146.04 new_sr2(vyv228, vyv227, ty_Float) -> new_sr14(vyv228, vyv227) 214.33/146.04 new_sr14(vyv240, vyv239) -> error([]) 214.33/146.04 new_sr13(vyv240, vyv239) -> error([]) 214.33/146.04 new_sr8(:%(vyv2400, vyv2401), :%(vyv2390, vyv2391), be) -> new_reduce2Reduce1(vyv2400, vyv2390, vyv2401, vyv2391, new_esEs2(vyv2401, vyv2391, be), be) 214.33/146.04 new_esEs2(vyv2401, vyv2391, ty_Integer) -> new_esEs1(new_sr9(vyv2401, vyv2391)) 214.33/146.04 new_esEs2(vyv2401, vyv2391, ty_Int) -> new_esEs(new_sr10(vyv2401, vyv2391)) 214.33/146.04 new_primMinusNat0(Succ(vyv2290), Succ(vyv245000)) -> new_primMinusNat0(vyv2290, vyv245000) 214.33/146.04 new_primMinusNat0(Zero, Zero) -> Pos(Zero) 214.33/146.04 new_primMinusNat0(Zero, Succ(vyv245000)) -> Neg(Succ(vyv245000)) 214.33/146.04 new_primMinusNat0(Succ(vyv2290), Zero) -> Pos(Succ(vyv2290)) 214.33/146.04 214.33/146.04 The set Q consists of the following terms: 214.33/146.04 214.33/146.04 new_sr13(x0, x1) 214.33/146.04 new_primDivNatS01(x0, x1, Zero, Zero) 214.33/146.04 new_gcd0Gcd'11(False, x0, x1) 214.33/146.04 new_primMulNat4(Zero) 214.33/146.04 new_gcd0Gcd'11(True, x0, x1) 214.33/146.04 new_sr2(x0, x1, ty_Float) 214.33/146.04 new_sr5(:%(x0, x1), x2) 214.33/146.04 new_primEqInt(Pos(Zero)) 214.33/146.04 new_ms(x0, Neg(x1)) 214.33/146.04 new_sr2(x0, x1, ty_Double) 214.33/146.04 new_esEs(Pos(Succ(x0))) 214.33/146.04 new_primQuotInt0(x0, Neg(Zero)) 214.33/146.04 new_primMulNat3(Zero) 214.33/146.04 new_primModNatS02(x0, x1) 214.33/146.04 new_primDivNatS1(Succ(Zero), Zero) 214.33/146.04 new_primMinusNatS0(x0) 214.33/146.04 new_sr11(x0) 214.33/146.04 new_rem(Pos(x0), Neg(Succ(x1))) 214.33/146.04 new_rem(Neg(x0), Pos(Succ(x1))) 214.33/146.04 new_primMulNat0(Zero, Zero) 214.33/146.04 new_primPlusNat0(Succ(x0), Zero) 214.33/146.04 new_primMulNat0(Succ(x0), Zero) 214.33/146.04 new_primMulNat2(Zero) 214.33/146.04 new_primQuotInt(x0, Pos(Zero)) 214.33/146.04 new_primMulNat2(Succ(x0)) 214.33/146.04 new_primQuotInt(x0, Neg(Zero)) 214.33/146.04 new_rem(Neg(x0), Neg(Succ(x1))) 214.33/146.04 new_primMinusNatS2(Zero, Succ(x0)) 214.33/146.04 new_primMulNat3(Succ(x0)) 214.33/146.04 new_esEs1(Integer(x0)) 214.33/146.04 new_primQuotInt0(x0, Pos(Zero)) 214.33/146.04 new_gcd2(True, x0, x1) 214.33/146.04 new_quot1(x0, x1, x2, x3, ty_Int) 214.33/146.04 new_primDivNatS1(Zero, x0) 214.33/146.04 new_primMinusNat0(Zero, Zero) 214.33/146.04 new_gcd(x0, x1) 214.33/146.04 new_gcd1(False, x0, x1) 214.33/146.04 new_esEs2(x0, x1, ty_Int) 214.33/146.04 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 214.33/146.04 new_sr1(x0, app(ty_Ratio, x1)) 214.33/146.04 new_sr1(x0, ty_Float) 214.33/146.04 new_primPlusNat0(Zero, Succ(x0)) 214.33/146.04 new_sr8(:%(x0, x1), :%(x2, x3), x4) 214.33/146.04 new_abs(Neg(Zero)) 214.33/146.04 new_primMinusNatS2(Succ(x0), Zero) 214.33/146.04 new_error 214.33/146.04 new_primModNatS1(Succ(Zero), Zero) 214.33/146.04 new_primMulNat4(Succ(x0)) 214.33/146.04 new_sr1(x0, ty_Integer) 214.33/146.04 new_primDivNatS02(x0, x1) 214.33/146.04 new_sr1(x0, ty_Int) 214.33/146.04 new_rem(Neg(x0), Neg(Zero)) 214.33/146.04 new_primMinusNat0(Zero, Succ(x0)) 214.33/146.04 new_primEqInt(Neg(Zero)) 214.33/146.04 new_rem(Pos(x0), Pos(Succ(x1))) 214.33/146.04 new_abs(Pos(Succ(x0))) 214.33/146.04 new_primMulNat0(Succ(x0), Succ(x1)) 214.33/146.04 new_primMulNat0(Zero, Succ(x0)) 214.33/146.04 new_reduce2Reduce1(x0, x1, x2, x3, True, x4) 214.33/146.04 new_gcd0Gcd'10(False, x0, x1) 214.33/146.04 new_sr12(x0) 214.33/146.04 new_primDivNatS01(x0, x1, Zero, Succ(x2)) 214.33/146.04 new_sr10(Pos(x0), Pos(x1)) 214.33/146.04 new_primModNatS01(x0, x1, Zero, Succ(x2)) 214.33/146.04 new_primPlusNat0(Zero, Zero) 214.33/146.04 new_primQuotInt0(x0, Pos(Succ(x1))) 214.33/146.04 new_primModNatS01(x0, x1, Succ(x2), Zero) 214.33/146.04 new_ms(x0, Pos(Succ(x1))) 214.33/146.04 new_primModNatS1(Succ(Succ(x0)), Zero) 214.33/146.04 new_rem(Pos(x0), Pos(Zero)) 214.33/146.04 new_quot(Pos(x0), x1, x2) 214.33/146.04 new_primMinusNatS2(Zero, Zero) 214.33/146.04 new_esEs0(x0, ty_Int) 214.33/146.04 new_primMinusNat0(Succ(x0), Zero) 214.33/146.04 new_esEs(Pos(Zero)) 214.33/146.04 new_quot(Neg(x0), x1, x2) 214.33/146.04 new_primDivNatS01(x0, x1, Succ(x2), Succ(x3)) 214.33/146.04 new_quot2(x0, x1, x2) 214.33/146.04 new_primEqInt(Neg(Succ(x0))) 214.33/146.04 new_sr10(Neg(x0), Neg(x1)) 214.33/146.04 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 214.33/146.04 new_sr9(x0, x1) 214.33/146.04 new_sr2(x0, x1, ty_Integer) 214.33/146.04 new_sr7(Neg(x0)) 214.33/146.04 new_sr1(x0, ty_Double) 214.33/146.04 new_primQuotInt0(x0, Neg(Succ(x1))) 214.33/146.04 new_rem(Pos(x0), Neg(Zero)) 214.33/146.04 new_rem(Neg(x0), Pos(Zero)) 214.33/146.04 new_gcd0Gcd'00(x0, x1) 214.33/146.04 new_primQuotInt(x0, Neg(Succ(x1))) 214.33/146.04 new_primMinusNatS2(Succ(x0), Succ(x1)) 214.33/146.04 new_ms(x0, Pos(Zero)) 214.33/146.04 new_abs(Pos(Zero)) 214.33/146.04 new_primMinusNat0(Succ(x0), Succ(x1)) 214.33/146.04 new_quot0(x0, x1, x2, x3, ty_Integer) 214.33/146.04 new_sr6(x0) 214.33/146.04 new_gcd2(False, x0, x1) 214.33/146.04 new_gcd1(True, x0, x1) 214.33/146.04 new_esEs2(x0, x1, ty_Integer) 214.33/146.04 new_primMinusNatS1 214.33/146.04 new_sr7(Pos(x0)) 214.33/146.04 new_gcd0Gcd'10(True, x0, x1) 214.33/146.04 new_primModNatS1(Zero, x0) 214.33/146.04 new_sr10(Pos(x0), Neg(x1)) 214.33/146.04 new_sr10(Neg(x0), Pos(x1)) 214.33/146.04 new_primDivNatS01(x0, x1, Succ(x2), Zero) 214.33/146.04 new_primDivNatS1(Succ(Succ(x0)), Succ(x1)) 214.33/146.04 new_primPlusNat0(Succ(x0), Succ(x1)) 214.33/146.04 new_primDivNatS1(Succ(Zero), Succ(x0)) 214.33/146.04 new_primQuotInt(x0, Pos(Succ(x1))) 214.33/146.04 new_sr2(x0, x1, app(ty_Ratio, x2)) 214.33/146.04 new_abs(Neg(Succ(x0))) 214.33/146.04 new_esEs0(x0, ty_Integer) 214.33/146.04 new_esEs(Neg(Succ(x0))) 214.33/146.04 new_primModNatS01(x0, x1, Zero, Zero) 214.33/146.04 new_gcd0(x0, x1) 214.33/146.04 new_primEqInt(Pos(Succ(x0))) 214.33/146.04 new_quot1(x0, x1, x2, x3, ty_Integer) 214.33/146.04 new_primDivNatS1(Succ(Succ(x0)), Zero) 214.33/146.04 new_primMulNat1(Succ(x0)) 214.33/146.04 new_sr14(x0, x1) 214.33/146.04 new_quot0(x0, x1, x2, x3, ty_Int) 214.33/146.04 new_sr2(x0, x1, ty_Int) 214.33/146.04 new_primModNatS1(Succ(Zero), Succ(x0)) 214.33/146.04 new_reduce2Reduce1(x0, x1, x2, x3, False, x4) 214.33/146.04 new_esEs(Neg(Zero)) 214.33/146.04 new_primMulNat1(Zero) 214.33/146.04 214.33/146.04 We have to consider all minimal (P,Q,R)-chains. 214.33/146.04 ---------------------------------------- 214.33/146.04 214.33/146.04 (888) UsableRulesProof (EQUIVALENT) 214.33/146.04 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. 214.33/146.04 ---------------------------------------- 214.33/146.04 214.33/146.04 (889) 214.33/146.04 Obligation: 214.33/146.04 Q DP problem: 214.33/146.04 The TRS P consists of the following rules: 214.33/146.04 214.33/146.04 new_pr2F0G1(vyv227, vyv228, vyv229, Succ(Succ(vyv23000)), ba) -> new_pr2F0G1(vyv227, vyv228, vyv229, vyv23000, ba) 214.33/146.04 new_pr2F0G1(vyv227, vyv228, vyv229, Succ(Zero), ba) -> new_pr2F(vyv228, vyv229, Pos(Succ(Zero)), vyv227, ba) 214.33/146.04 new_pr2F0(vyv184, Pos(Succ(Succ(vyv223000))), vyv188, h) -> new_pr2F0G1(vyv188, vyv184, Succ(vyv223000), vyv223000, h) 214.33/146.04 new_pr2F0G1(vyv227, vyv228, vyv229, Zero, ba) -> new_pr2F0G(vyv227, new_sr1(vyv228, ba), Pos(new_primDivNatS1(Succ(vyv229), Succ(Zero))), ba) 214.33/146.04 new_pr2F0G(vyv188, vyv184, Pos(Succ(Succ(vyv223000))), h) -> new_pr2F0G1(vyv188, vyv184, Succ(vyv223000), vyv223000, h) 214.33/146.04 new_pr2F(y0, Succ(x0), Pos(Succ(Zero)), y2, y3) -> new_pr2F3(False, y0, Succ(x0), Pos(Succ(Zero)), y2, y3) 214.33/146.04 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) 214.33/146.04 214.33/146.04 The TRS R consists of the following rules: 214.33/146.04 214.33/146.04 new_ms(vyv229, Pos(Succ(vyv24500))) -> new_primMinusNat0(vyv229, vyv24500) 214.33/146.04 new_sr2(vyv228, vyv227, ty_Integer) -> new_sr9(vyv228, vyv227) 214.33/146.04 new_sr2(vyv228, vyv227, ty_Int) -> new_sr10(vyv228, vyv227) 214.33/146.04 new_sr2(vyv228, vyv227, app(ty_Ratio, bg)) -> new_sr8(vyv228, vyv227, bg) 214.33/146.04 new_sr2(vyv228, vyv227, ty_Double) -> new_sr13(vyv228, vyv227) 214.33/146.04 new_sr2(vyv228, vyv227, ty_Float) -> new_sr14(vyv228, vyv227) 214.33/146.04 new_sr14(vyv240, vyv239) -> error([]) 214.33/146.04 new_sr13(vyv240, vyv239) -> error([]) 214.33/146.04 new_sr8(:%(vyv2400, vyv2401), :%(vyv2390, vyv2391), be) -> new_reduce2Reduce1(vyv2400, vyv2390, vyv2401, vyv2391, new_esEs2(vyv2401, vyv2391, be), be) 214.33/146.04 new_esEs2(vyv2401, vyv2391, ty_Integer) -> new_esEs1(new_sr9(vyv2401, vyv2391)) 214.33/146.04 new_esEs2(vyv2401, vyv2391, ty_Int) -> new_esEs(new_sr10(vyv2401, vyv2391)) 214.33/146.04 new_reduce2Reduce1(vyv265, vyv266, vyv267, vyv268, False, bh) -> :%(new_quot0(vyv265, vyv266, vyv267, vyv268, bh), new_quot1(vyv267, vyv268, vyv265, vyv266, bh)) 214.33/146.04 new_reduce2Reduce1(vyv265, vyv266, vyv267, vyv268, True, bh) -> error([]) 214.33/146.04 new_quot0(vyv265, vyv266, vyv267, vyv268, ty_Integer) -> new_quot2(new_sr9(vyv265, vyv266), new_sr9(vyv265, vyv266), new_sr9(vyv267, vyv268)) 214.33/146.04 new_quot0(vyv265, vyv266, vyv267, vyv268, ty_Int) -> new_quot(new_sr10(vyv265, vyv266), new_sr10(vyv265, vyv266), new_sr10(vyv267, vyv268)) 214.33/146.04 new_quot1(vyv267, vyv268, vyv265, vyv266, ty_Int) -> new_quot(new_sr10(vyv267, vyv268), new_sr10(vyv265, vyv266), new_sr10(vyv267, vyv268)) 214.33/146.04 new_quot1(vyv267, vyv268, vyv265, vyv266, ty_Integer) -> new_quot2(new_sr9(vyv267, vyv268), new_sr9(vyv265, vyv266), new_sr9(vyv267, vyv268)) 214.33/146.04 new_sr9(vyv240, vyv239) -> error([]) 214.33/146.04 new_quot2(vyv274, vyv276, vyv275) -> error([]) 214.33/146.04 new_sr10(Pos(vyv2400), Pos(vyv2390)) -> Pos(new_primMulNat0(vyv2400, vyv2390)) 214.33/146.04 new_sr10(Neg(vyv2400), Neg(vyv2390)) -> Pos(new_primMulNat0(vyv2400, vyv2390)) 214.33/146.04 new_sr10(Pos(vyv2400), Neg(vyv2390)) -> Neg(new_primMulNat0(vyv2400, vyv2390)) 214.33/146.04 new_sr10(Neg(vyv2400), Pos(vyv2390)) -> Neg(new_primMulNat0(vyv2400, vyv2390)) 214.33/146.04 new_quot(Pos(vyv2710), vyv273, vyv272) -> new_primQuotInt(vyv2710, new_gcd(vyv273, vyv272)) 214.33/146.04 new_quot(Neg(vyv2710), vyv273, vyv272) -> new_primQuotInt0(vyv2710, new_gcd(vyv273, vyv272)) 214.33/146.04 new_gcd(vyv273, vyv272) -> new_gcd2(new_esEs(vyv273), vyv273, vyv272) 214.33/146.04 new_primQuotInt0(vyv2710, Pos(Succ(vyv28800))) -> Neg(new_primDivNatS1(vyv2710, vyv28800)) 214.33/146.04 new_primQuotInt0(vyv2710, Neg(Zero)) -> new_error 214.33/146.04 new_primQuotInt0(vyv2710, Neg(Succ(vyv28800))) -> Pos(new_primDivNatS1(vyv2710, vyv28800)) 214.33/146.04 new_primQuotInt0(vyv2710, Pos(Zero)) -> new_error 214.33/146.04 new_error -> error([]) 214.33/146.04 new_primDivNatS1(Succ(Zero), Succ(vyv285000)) -> Zero 214.33/146.04 new_primDivNatS1(Succ(Succ(vyv271000)), Succ(vyv285000)) -> new_primDivNatS01(vyv271000, vyv285000, vyv271000, vyv285000) 214.33/146.04 new_primDivNatS1(Zero, vyv28500) -> Zero 214.33/146.04 new_primDivNatS1(Succ(Succ(vyv271000)), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS0(vyv271000), Zero)) 214.33/146.04 new_primDivNatS1(Succ(Zero), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS1, Zero)) 214.33/146.04 new_primMinusNatS1 -> Zero 214.33/146.04 new_primMinusNatS0(vyv271000) -> Succ(vyv271000) 214.33/146.04 new_primDivNatS01(vyv311, vyv312, Succ(vyv3130), Zero) -> new_primDivNatS02(vyv311, vyv312) 214.33/146.04 new_primDivNatS01(vyv311, vyv312, Zero, Succ(vyv3140)) -> Zero 214.33/146.04 new_primDivNatS01(vyv311, vyv312, Succ(vyv3130), Succ(vyv3140)) -> new_primDivNatS01(vyv311, vyv312, vyv3130, vyv3140) 214.33/146.04 new_primDivNatS01(vyv311, vyv312, Zero, Zero) -> new_primDivNatS02(vyv311, vyv312) 214.33/146.04 new_primDivNatS02(vyv311, vyv312) -> Succ(new_primDivNatS1(new_primMinusNatS2(vyv311, vyv312), Succ(vyv312))) 214.33/146.04 new_primMinusNatS2(Zero, Succ(vyv3120)) -> Zero 214.33/146.04 new_primMinusNatS2(Succ(vyv3110), Zero) -> Succ(vyv3110) 214.33/146.04 new_primMinusNatS2(Zero, Zero) -> Zero 214.33/146.04 new_primMinusNatS2(Succ(vyv3110), Succ(vyv3120)) -> new_primMinusNatS2(vyv3110, vyv3120) 214.33/146.04 new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) 214.33/146.04 new_esEs(Pos(Succ(vyv24300))) -> new_primEqInt(Pos(Succ(vyv24300))) 214.33/146.04 new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) 214.33/146.04 new_esEs(Neg(Succ(vyv24300))) -> new_primEqInt(Neg(Succ(vyv24300))) 214.33/146.04 new_gcd2(True, vyv273, vyv272) -> new_gcd1(new_esEs(vyv272), vyv273, vyv272) 214.33/146.04 new_gcd2(False, vyv273, vyv272) -> new_gcd0(vyv273, vyv272) 214.33/146.04 new_gcd0(vyv273, vyv272) -> new_gcd0Gcd'11(new_esEs(new_abs(vyv272)), vyv273, vyv272) 214.33/146.04 new_abs(Neg(Zero)) -> Neg(Zero) 214.33/146.04 new_abs(Neg(Succ(vyv27200))) -> Pos(Succ(vyv27200)) 214.33/146.04 new_abs(Pos(Succ(vyv27200))) -> Pos(Succ(vyv27200)) 214.33/146.04 new_abs(Pos(Zero)) -> Pos(Zero) 214.33/146.04 new_gcd0Gcd'11(True, vyv273, vyv272) -> new_abs(vyv273) 214.33/146.04 new_gcd0Gcd'11(False, vyv273, vyv272) -> new_gcd0Gcd'00(new_abs(vyv273), new_abs(vyv272)) 214.33/146.04 new_gcd0Gcd'00(vyv293, vyv292) -> new_gcd0Gcd'10(new_esEs(new_rem(vyv293, vyv292)), vyv292, vyv293) 214.33/146.04 new_gcd0Gcd'10(False, vyv292, vyv293) -> new_gcd0Gcd'00(vyv292, new_rem(vyv293, vyv292)) 214.33/146.04 new_rem(Pos(vyv2930), Neg(Zero)) -> new_error 214.33/146.04 new_rem(Neg(vyv2930), Pos(Zero)) -> new_error 214.33/146.04 new_rem(Pos(vyv2930), Neg(Succ(vyv29200))) -> Pos(new_primModNatS1(vyv2930, vyv29200)) 214.33/146.04 new_rem(Neg(vyv2930), Pos(Succ(vyv29200))) -> Neg(new_primModNatS1(vyv2930, vyv29200)) 214.33/146.04 new_rem(Pos(vyv2930), Pos(Succ(vyv29200))) -> Pos(new_primModNatS1(vyv2930, vyv29200)) 214.33/146.04 new_rem(Neg(vyv2930), Neg(Zero)) -> new_error 214.33/146.04 new_rem(Neg(vyv2930), Neg(Succ(vyv29200))) -> Neg(new_primModNatS1(vyv2930, vyv29200)) 214.33/146.04 new_rem(Pos(vyv2930), Pos(Zero)) -> new_error 214.33/146.04 new_gcd0Gcd'10(True, vyv292, vyv293) -> vyv292 214.33/146.04 new_primModNatS1(Succ(Zero), Succ(vyv292000)) -> Succ(Zero) 214.33/146.04 new_primModNatS1(Zero, vyv29200) -> Zero 214.33/146.04 new_primModNatS1(Succ(Succ(vyv293000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv293000), Zero) 214.33/146.04 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 214.33/146.04 new_primModNatS1(Succ(Succ(vyv293000)), Succ(vyv292000)) -> new_primModNatS01(vyv293000, vyv292000, vyv293000, vyv292000) 214.33/146.04 new_primModNatS01(vyv331, vyv332, Zero, Zero) -> new_primModNatS02(vyv331, vyv332) 214.33/146.04 new_primModNatS02(vyv331, vyv332) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv331), Succ(vyv332)), Succ(vyv332)) 214.33/146.04 new_primModNatS01(vyv331, vyv332, Succ(vyv3330), Zero) -> new_primModNatS02(vyv331, vyv332) 214.33/146.04 new_primModNatS01(vyv331, vyv332, Succ(vyv3330), Succ(vyv3340)) -> new_primModNatS01(vyv331, vyv332, vyv3330, vyv3340) 214.33/146.04 new_primModNatS01(vyv331, vyv332, Zero, Succ(vyv3340)) -> Succ(Succ(vyv331)) 214.33/146.04 new_gcd1(True, vyv273, vyv272) -> new_error 214.33/146.04 new_gcd1(False, vyv273, vyv272) -> new_gcd0(vyv273, vyv272) 214.33/146.04 new_primEqInt(Neg(Succ(vyv242000))) -> False 214.33/146.04 new_primEqInt(Pos(Zero)) -> True 214.33/146.04 new_primEqInt(Pos(Succ(vyv242000))) -> False 214.33/146.04 new_primEqInt(Neg(Zero)) -> True 214.33/146.04 new_primQuotInt(vyv2710, Pos(Succ(vyv28500))) -> Pos(new_primDivNatS1(vyv2710, vyv28500)) 214.33/146.04 new_primQuotInt(vyv2710, Neg(Zero)) -> new_error 214.33/146.04 new_primQuotInt(vyv2710, Pos(Zero)) -> new_error 214.33/146.04 new_primQuotInt(vyv2710, Neg(Succ(vyv28500))) -> Neg(new_primDivNatS1(vyv2710, vyv28500)) 214.33/146.04 new_primMulNat0(Zero, Succ(vyv23900)) -> Zero 214.33/146.04 new_primMulNat0(Succ(vyv24000), Succ(vyv23900)) -> new_primPlusNat0(new_primMulNat0(vyv24000, Succ(vyv23900)), Succ(vyv23900)) 214.33/146.04 new_primMulNat0(Succ(vyv24000), Zero) -> Zero 214.33/146.04 new_primMulNat0(Zero, Zero) -> Zero 214.33/146.04 new_primPlusNat0(Succ(vyv4000), Succ(vyv6000)) -> Succ(Succ(new_primPlusNat0(vyv4000, vyv6000))) 214.33/146.04 new_primPlusNat0(Zero, Succ(vyv6000)) -> Succ(vyv6000) 214.33/146.04 new_primPlusNat0(Zero, Zero) -> Zero 214.33/146.04 new_primPlusNat0(Succ(vyv4000), Zero) -> Succ(vyv4000) 214.33/146.04 new_esEs1(Integer(vyv2700)) -> new_primEqInt(vyv2700) 214.33/146.04 new_primMinusNat0(Succ(vyv2290), Succ(vyv245000)) -> new_primMinusNat0(vyv2290, vyv245000) 214.33/146.04 new_primMinusNat0(Zero, Zero) -> Pos(Zero) 214.33/146.04 new_primMinusNat0(Zero, Succ(vyv245000)) -> Neg(Succ(vyv245000)) 214.33/146.04 new_primMinusNat0(Succ(vyv2290), Zero) -> Pos(Succ(vyv2290)) 214.33/146.04 new_sr1(vyv228, ty_Double) -> new_sr11(vyv228) 214.33/146.04 new_sr1(vyv228, ty_Float) -> new_sr12(vyv228) 214.33/146.04 new_sr1(vyv228, app(ty_Ratio, bg)) -> new_sr5(vyv228, bg) 214.33/146.04 new_sr1(vyv228, ty_Integer) -> new_sr6(vyv228) 214.33/146.04 new_sr1(vyv228, ty_Int) -> new_sr7(vyv228) 214.33/146.04 new_sr7(Pos(vyv1840)) -> Pos(new_primMulNat1(vyv1840)) 214.33/146.04 new_sr7(Neg(vyv1840)) -> Pos(new_primMulNat1(vyv1840)) 214.33/146.04 new_primMulNat1(Succ(vyv18400)) -> new_primPlusNat0(new_primMulNat2(vyv18400), Succ(vyv18400)) 214.33/146.04 new_primMulNat1(Zero) -> Zero 214.33/146.04 new_primMulNat2(Succ(vyv184000)) -> new_primPlusNat0(new_primMulNat3(vyv184000), Succ(Succ(vyv184000))) 214.33/146.04 new_primMulNat2(Zero) -> Zero 214.33/146.04 new_primMulNat3(Succ(vyv1840000)) -> new_primPlusNat0(new_primMulNat4(vyv1840000), Succ(Succ(Succ(vyv1840000)))) 214.33/146.04 new_primMulNat3(Zero) -> Zero 214.33/146.04 new_primMulNat4(Succ(vyv18400000)) -> new_primPlusNat0(new_primMulNat0(vyv18400000, Succ(Succ(Succ(Succ(vyv18400000))))), Succ(Succ(Succ(Succ(vyv18400000))))) 214.33/146.04 new_primMulNat4(Zero) -> Zero 214.33/146.04 new_sr6(vyv184) -> error([]) 214.33/146.04 new_sr5(:%(vyv1840, vyv1841), bd) -> new_reduce2Reduce1(vyv1840, vyv1840, vyv1841, vyv1841, new_esEs0(vyv1841, bd), bd) 214.33/146.04 new_esEs0(vyv1841, ty_Int) -> new_esEs(new_sr7(vyv1841)) 214.33/146.04 new_esEs0(vyv1841, ty_Integer) -> new_esEs1(new_sr6(vyv1841)) 214.33/146.04 new_sr12(vyv184) -> error([]) 214.33/146.04 new_sr11(vyv184) -> error([]) 214.33/146.04 214.33/146.04 The set Q consists of the following terms: 214.33/146.04 214.33/146.04 new_sr13(x0, x1) 214.33/146.04 new_primDivNatS01(x0, x1, Zero, Zero) 214.33/146.04 new_gcd0Gcd'11(False, x0, x1) 214.33/146.04 new_primMulNat4(Zero) 214.33/146.04 new_gcd0Gcd'11(True, x0, x1) 214.33/146.04 new_sr2(x0, x1, ty_Float) 214.33/146.04 new_sr5(:%(x0, x1), x2) 214.33/146.04 new_primEqInt(Pos(Zero)) 214.33/146.04 new_ms(x0, Neg(x1)) 214.33/146.04 new_sr2(x0, x1, ty_Double) 214.33/146.04 new_esEs(Pos(Succ(x0))) 214.33/146.04 new_primQuotInt0(x0, Neg(Zero)) 214.33/146.04 new_primMulNat3(Zero) 214.33/146.04 new_primModNatS02(x0, x1) 214.33/146.04 new_primDivNatS1(Succ(Zero), Zero) 214.33/146.04 new_primMinusNatS0(x0) 214.33/146.04 new_sr11(x0) 214.33/146.04 new_rem(Pos(x0), Neg(Succ(x1))) 214.33/146.04 new_rem(Neg(x0), Pos(Succ(x1))) 214.33/146.04 new_primMulNat0(Zero, Zero) 214.33/146.04 new_primPlusNat0(Succ(x0), Zero) 214.33/146.04 new_primMulNat0(Succ(x0), Zero) 214.33/146.04 new_primMulNat2(Zero) 214.33/146.04 new_primQuotInt(x0, Pos(Zero)) 214.33/146.04 new_primMulNat2(Succ(x0)) 214.33/146.04 new_primQuotInt(x0, Neg(Zero)) 214.33/146.04 new_rem(Neg(x0), Neg(Succ(x1))) 214.33/146.04 new_primMinusNatS2(Zero, Succ(x0)) 214.33/146.04 new_primMulNat3(Succ(x0)) 214.33/146.04 new_esEs1(Integer(x0)) 214.33/146.04 new_primQuotInt0(x0, Pos(Zero)) 214.33/146.04 new_gcd2(True, x0, x1) 214.33/146.04 new_quot1(x0, x1, x2, x3, ty_Int) 214.33/146.04 new_primDivNatS1(Zero, x0) 214.33/146.04 new_primMinusNat0(Zero, Zero) 214.33/146.04 new_gcd(x0, x1) 214.33/146.04 new_gcd1(False, x0, x1) 214.33/146.04 new_esEs2(x0, x1, ty_Int) 214.33/146.04 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 214.33/146.04 new_sr1(x0, app(ty_Ratio, x1)) 214.33/146.04 new_sr1(x0, ty_Float) 214.33/146.04 new_primPlusNat0(Zero, Succ(x0)) 214.33/146.04 new_sr8(:%(x0, x1), :%(x2, x3), x4) 214.33/146.04 new_abs(Neg(Zero)) 214.33/146.04 new_primMinusNatS2(Succ(x0), Zero) 214.33/146.04 new_error 214.33/146.04 new_primModNatS1(Succ(Zero), Zero) 214.33/146.04 new_primMulNat4(Succ(x0)) 214.33/146.04 new_sr1(x0, ty_Integer) 214.33/146.04 new_primDivNatS02(x0, x1) 214.33/146.04 new_sr1(x0, ty_Int) 214.33/146.04 new_rem(Neg(x0), Neg(Zero)) 214.33/146.04 new_primMinusNat0(Zero, Succ(x0)) 214.33/146.04 new_primEqInt(Neg(Zero)) 214.33/146.04 new_rem(Pos(x0), Pos(Succ(x1))) 214.33/146.04 new_abs(Pos(Succ(x0))) 214.33/146.04 new_primMulNat0(Succ(x0), Succ(x1)) 214.33/146.04 new_primMulNat0(Zero, Succ(x0)) 214.33/146.04 new_reduce2Reduce1(x0, x1, x2, x3, True, x4) 214.33/146.04 new_gcd0Gcd'10(False, x0, x1) 214.33/146.04 new_sr12(x0) 214.33/146.04 new_primDivNatS01(x0, x1, Zero, Succ(x2)) 214.33/146.04 new_sr10(Pos(x0), Pos(x1)) 214.33/146.04 new_primModNatS01(x0, x1, Zero, Succ(x2)) 214.33/146.04 new_primPlusNat0(Zero, Zero) 214.33/146.04 new_primQuotInt0(x0, Pos(Succ(x1))) 214.33/146.04 new_primModNatS01(x0, x1, Succ(x2), Zero) 214.33/146.04 new_ms(x0, Pos(Succ(x1))) 214.33/146.04 new_primModNatS1(Succ(Succ(x0)), Zero) 214.33/146.04 new_rem(Pos(x0), Pos(Zero)) 214.33/146.04 new_quot(Pos(x0), x1, x2) 214.33/146.04 new_primMinusNatS2(Zero, Zero) 214.33/146.04 new_esEs0(x0, ty_Int) 214.33/146.04 new_primMinusNat0(Succ(x0), Zero) 214.33/146.04 new_esEs(Pos(Zero)) 214.33/146.04 new_quot(Neg(x0), x1, x2) 214.33/146.04 new_primDivNatS01(x0, x1, Succ(x2), Succ(x3)) 214.33/146.04 new_quot2(x0, x1, x2) 214.33/146.04 new_primEqInt(Neg(Succ(x0))) 214.33/146.04 new_sr10(Neg(x0), Neg(x1)) 214.33/146.04 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 214.33/146.04 new_sr9(x0, x1) 214.33/146.04 new_sr2(x0, x1, ty_Integer) 214.33/146.04 new_sr7(Neg(x0)) 214.33/146.04 new_sr1(x0, ty_Double) 214.33/146.04 new_primQuotInt0(x0, Neg(Succ(x1))) 214.33/146.04 new_rem(Pos(x0), Neg(Zero)) 214.33/146.04 new_rem(Neg(x0), Pos(Zero)) 214.33/146.04 new_gcd0Gcd'00(x0, x1) 214.33/146.04 new_primQuotInt(x0, Neg(Succ(x1))) 214.33/146.04 new_primMinusNatS2(Succ(x0), Succ(x1)) 214.33/146.04 new_ms(x0, Pos(Zero)) 214.33/146.04 new_abs(Pos(Zero)) 214.33/146.04 new_primMinusNat0(Succ(x0), Succ(x1)) 214.33/146.04 new_quot0(x0, x1, x2, x3, ty_Integer) 214.33/146.04 new_sr6(x0) 214.33/146.04 new_gcd2(False, x0, x1) 214.33/146.04 new_gcd1(True, x0, x1) 214.33/146.04 new_esEs2(x0, x1, ty_Integer) 214.33/146.04 new_primMinusNatS1 214.33/146.04 new_sr7(Pos(x0)) 214.33/146.04 new_gcd0Gcd'10(True, x0, x1) 214.33/146.04 new_primModNatS1(Zero, x0) 214.33/146.04 new_sr10(Pos(x0), Neg(x1)) 214.33/146.04 new_sr10(Neg(x0), Pos(x1)) 214.33/146.04 new_primDivNatS01(x0, x1, Succ(x2), Zero) 214.33/146.04 new_primDivNatS1(Succ(Succ(x0)), Succ(x1)) 214.33/146.04 new_primPlusNat0(Succ(x0), Succ(x1)) 214.33/146.04 new_primDivNatS1(Succ(Zero), Succ(x0)) 214.33/146.04 new_primQuotInt(x0, Pos(Succ(x1))) 214.33/146.04 new_sr2(x0, x1, app(ty_Ratio, x2)) 214.33/146.04 new_abs(Neg(Succ(x0))) 214.33/146.04 new_esEs0(x0, ty_Integer) 214.33/146.04 new_esEs(Neg(Succ(x0))) 214.33/146.04 new_primModNatS01(x0, x1, Zero, Zero) 214.33/146.04 new_gcd0(x0, x1) 214.33/146.04 new_primEqInt(Pos(Succ(x0))) 214.33/146.04 new_quot1(x0, x1, x2, x3, ty_Integer) 214.33/146.04 new_primDivNatS1(Succ(Succ(x0)), Zero) 214.33/146.04 new_primMulNat1(Succ(x0)) 214.33/146.04 new_sr14(x0, x1) 214.33/146.04 new_quot0(x0, x1, x2, x3, ty_Int) 214.33/146.04 new_sr2(x0, x1, ty_Int) 214.33/146.04 new_primModNatS1(Succ(Zero), Succ(x0)) 214.33/146.04 new_reduce2Reduce1(x0, x1, x2, x3, False, x4) 214.33/146.04 new_esEs(Neg(Zero)) 214.33/146.04 new_primMulNat1(Zero) 214.33/146.04 214.33/146.04 We have to consider all minimal (P,Q,R)-chains. 214.33/146.04 ---------------------------------------- 214.33/146.04 214.33/146.04 (890) TransformationProof (EQUIVALENT) 214.33/146.04 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]: 214.33/146.04 214.33/146.04 (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)) 214.33/146.04 214.33/146.04 214.33/146.04 ---------------------------------------- 214.33/146.04 214.33/146.04 (891) 214.33/146.04 Obligation: 214.33/146.04 Q DP problem: 214.33/146.04 The TRS P consists of the following rules: 214.33/146.04 214.33/146.04 new_pr2F0G1(vyv227, vyv228, vyv229, Succ(Succ(vyv23000)), ba) -> new_pr2F0G1(vyv227, vyv228, vyv229, vyv23000, ba) 214.33/146.04 new_pr2F0G1(vyv227, vyv228, vyv229, Succ(Zero), ba) -> new_pr2F(vyv228, vyv229, Pos(Succ(Zero)), vyv227, ba) 214.33/146.04 new_pr2F0(vyv184, Pos(Succ(Succ(vyv223000))), vyv188, h) -> new_pr2F0G1(vyv188, vyv184, Succ(vyv223000), vyv223000, h) 214.33/146.04 new_pr2F0G1(vyv227, vyv228, vyv229, Zero, ba) -> new_pr2F0G(vyv227, new_sr1(vyv228, ba), Pos(new_primDivNatS1(Succ(vyv229), Succ(Zero))), ba) 214.33/146.04 new_pr2F0G(vyv188, vyv184, Pos(Succ(Succ(vyv223000))), h) -> new_pr2F0G1(vyv188, vyv184, Succ(vyv223000), vyv223000, h) 214.33/146.04 new_pr2F(y0, Succ(x0), Pos(Succ(Zero)), y2, y3) -> new_pr2F3(False, y0, Succ(x0), Pos(Succ(Zero)), y2, y3) 214.33/146.04 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) 214.33/146.04 214.33/146.04 The TRS R consists of the following rules: 214.33/146.04 214.33/146.04 new_ms(vyv229, Pos(Succ(vyv24500))) -> new_primMinusNat0(vyv229, vyv24500) 214.33/146.04 new_sr2(vyv228, vyv227, ty_Integer) -> new_sr9(vyv228, vyv227) 214.33/146.04 new_sr2(vyv228, vyv227, ty_Int) -> new_sr10(vyv228, vyv227) 214.33/146.04 new_sr2(vyv228, vyv227, app(ty_Ratio, bg)) -> new_sr8(vyv228, vyv227, bg) 214.33/146.04 new_sr2(vyv228, vyv227, ty_Double) -> new_sr13(vyv228, vyv227) 214.33/146.04 new_sr2(vyv228, vyv227, ty_Float) -> new_sr14(vyv228, vyv227) 214.33/146.04 new_sr14(vyv240, vyv239) -> error([]) 214.33/146.04 new_sr13(vyv240, vyv239) -> error([]) 214.33/146.04 new_sr8(:%(vyv2400, vyv2401), :%(vyv2390, vyv2391), be) -> new_reduce2Reduce1(vyv2400, vyv2390, vyv2401, vyv2391, new_esEs2(vyv2401, vyv2391, be), be) 214.33/146.04 new_esEs2(vyv2401, vyv2391, ty_Integer) -> new_esEs1(new_sr9(vyv2401, vyv2391)) 214.33/146.04 new_esEs2(vyv2401, vyv2391, ty_Int) -> new_esEs(new_sr10(vyv2401, vyv2391)) 214.33/146.04 new_reduce2Reduce1(vyv265, vyv266, vyv267, vyv268, False, bh) -> :%(new_quot0(vyv265, vyv266, vyv267, vyv268, bh), new_quot1(vyv267, vyv268, vyv265, vyv266, bh)) 214.33/146.04 new_reduce2Reduce1(vyv265, vyv266, vyv267, vyv268, True, bh) -> error([]) 214.33/146.04 new_quot0(vyv265, vyv266, vyv267, vyv268, ty_Integer) -> new_quot2(new_sr9(vyv265, vyv266), new_sr9(vyv265, vyv266), new_sr9(vyv267, vyv268)) 214.33/146.04 new_quot0(vyv265, vyv266, vyv267, vyv268, ty_Int) -> new_quot(new_sr10(vyv265, vyv266), new_sr10(vyv265, vyv266), new_sr10(vyv267, vyv268)) 214.33/146.04 new_quot1(vyv267, vyv268, vyv265, vyv266, ty_Int) -> new_quot(new_sr10(vyv267, vyv268), new_sr10(vyv265, vyv266), new_sr10(vyv267, vyv268)) 214.33/146.04 new_quot1(vyv267, vyv268, vyv265, vyv266, ty_Integer) -> new_quot2(new_sr9(vyv267, vyv268), new_sr9(vyv265, vyv266), new_sr9(vyv267, vyv268)) 214.33/146.04 new_sr9(vyv240, vyv239) -> error([]) 214.33/146.04 new_quot2(vyv274, vyv276, vyv275) -> error([]) 214.33/146.04 new_sr10(Pos(vyv2400), Pos(vyv2390)) -> Pos(new_primMulNat0(vyv2400, vyv2390)) 214.33/146.04 new_sr10(Neg(vyv2400), Neg(vyv2390)) -> Pos(new_primMulNat0(vyv2400, vyv2390)) 214.33/146.04 new_sr10(Pos(vyv2400), Neg(vyv2390)) -> Neg(new_primMulNat0(vyv2400, vyv2390)) 214.33/146.04 new_sr10(Neg(vyv2400), Pos(vyv2390)) -> Neg(new_primMulNat0(vyv2400, vyv2390)) 214.33/146.04 new_quot(Pos(vyv2710), vyv273, vyv272) -> new_primQuotInt(vyv2710, new_gcd(vyv273, vyv272)) 214.33/146.04 new_quot(Neg(vyv2710), vyv273, vyv272) -> new_primQuotInt0(vyv2710, new_gcd(vyv273, vyv272)) 214.33/146.04 new_gcd(vyv273, vyv272) -> new_gcd2(new_esEs(vyv273), vyv273, vyv272) 214.33/146.04 new_primQuotInt0(vyv2710, Pos(Succ(vyv28800))) -> Neg(new_primDivNatS1(vyv2710, vyv28800)) 214.33/146.04 new_primQuotInt0(vyv2710, Neg(Zero)) -> new_error 214.33/146.04 new_primQuotInt0(vyv2710, Neg(Succ(vyv28800))) -> Pos(new_primDivNatS1(vyv2710, vyv28800)) 214.33/146.04 new_primQuotInt0(vyv2710, Pos(Zero)) -> new_error 214.33/146.04 new_error -> error([]) 214.33/146.04 new_primDivNatS1(Succ(Zero), Succ(vyv285000)) -> Zero 214.33/146.04 new_primDivNatS1(Succ(Succ(vyv271000)), Succ(vyv285000)) -> new_primDivNatS01(vyv271000, vyv285000, vyv271000, vyv285000) 214.33/146.04 new_primDivNatS1(Zero, vyv28500) -> Zero 214.33/146.04 new_primDivNatS1(Succ(Succ(vyv271000)), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS0(vyv271000), Zero)) 214.33/146.04 new_primDivNatS1(Succ(Zero), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS1, Zero)) 214.33/146.04 new_primMinusNatS1 -> Zero 214.33/146.04 new_primMinusNatS0(vyv271000) -> Succ(vyv271000) 214.33/146.04 new_primDivNatS01(vyv311, vyv312, Succ(vyv3130), Zero) -> new_primDivNatS02(vyv311, vyv312) 214.33/146.04 new_primDivNatS01(vyv311, vyv312, Zero, Succ(vyv3140)) -> Zero 214.33/146.04 new_primDivNatS01(vyv311, vyv312, Succ(vyv3130), Succ(vyv3140)) -> new_primDivNatS01(vyv311, vyv312, vyv3130, vyv3140) 214.33/146.04 new_primDivNatS01(vyv311, vyv312, Zero, Zero) -> new_primDivNatS02(vyv311, vyv312) 214.33/146.04 new_primDivNatS02(vyv311, vyv312) -> Succ(new_primDivNatS1(new_primMinusNatS2(vyv311, vyv312), Succ(vyv312))) 214.33/146.04 new_primMinusNatS2(Zero, Succ(vyv3120)) -> Zero 214.33/146.04 new_primMinusNatS2(Succ(vyv3110), Zero) -> Succ(vyv3110) 214.33/146.04 new_primMinusNatS2(Zero, Zero) -> Zero 214.33/146.04 new_primMinusNatS2(Succ(vyv3110), Succ(vyv3120)) -> new_primMinusNatS2(vyv3110, vyv3120) 214.33/146.04 new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) 214.33/146.05 new_esEs(Pos(Succ(vyv24300))) -> new_primEqInt(Pos(Succ(vyv24300))) 214.33/146.05 new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) 214.33/146.05 new_esEs(Neg(Succ(vyv24300))) -> new_primEqInt(Neg(Succ(vyv24300))) 214.33/146.05 new_gcd2(True, vyv273, vyv272) -> new_gcd1(new_esEs(vyv272), vyv273, vyv272) 214.33/146.05 new_gcd2(False, vyv273, vyv272) -> new_gcd0(vyv273, vyv272) 214.33/146.05 new_gcd0(vyv273, vyv272) -> new_gcd0Gcd'11(new_esEs(new_abs(vyv272)), vyv273, vyv272) 214.33/146.05 new_abs(Neg(Zero)) -> Neg(Zero) 214.33/146.05 new_abs(Neg(Succ(vyv27200))) -> Pos(Succ(vyv27200)) 214.33/146.05 new_abs(Pos(Succ(vyv27200))) -> Pos(Succ(vyv27200)) 214.33/146.05 new_abs(Pos(Zero)) -> Pos(Zero) 214.33/146.05 new_gcd0Gcd'11(True, vyv273, vyv272) -> new_abs(vyv273) 214.33/146.05 new_gcd0Gcd'11(False, vyv273, vyv272) -> new_gcd0Gcd'00(new_abs(vyv273), new_abs(vyv272)) 214.33/146.05 new_gcd0Gcd'00(vyv293, vyv292) -> new_gcd0Gcd'10(new_esEs(new_rem(vyv293, vyv292)), vyv292, vyv293) 214.33/146.05 new_gcd0Gcd'10(False, vyv292, vyv293) -> new_gcd0Gcd'00(vyv292, new_rem(vyv293, vyv292)) 214.33/146.05 new_rem(Pos(vyv2930), Neg(Zero)) -> new_error 214.33/146.05 new_rem(Neg(vyv2930), Pos(Zero)) -> new_error 214.33/146.05 new_rem(Pos(vyv2930), Neg(Succ(vyv29200))) -> Pos(new_primModNatS1(vyv2930, vyv29200)) 214.33/146.05 new_rem(Neg(vyv2930), Pos(Succ(vyv29200))) -> Neg(new_primModNatS1(vyv2930, vyv29200)) 214.33/146.05 new_rem(Pos(vyv2930), Pos(Succ(vyv29200))) -> Pos(new_primModNatS1(vyv2930, vyv29200)) 214.33/146.05 new_rem(Neg(vyv2930), Neg(Zero)) -> new_error 214.33/146.05 new_rem(Neg(vyv2930), Neg(Succ(vyv29200))) -> Neg(new_primModNatS1(vyv2930, vyv29200)) 214.33/146.05 new_rem(Pos(vyv2930), Pos(Zero)) -> new_error 214.33/146.05 new_gcd0Gcd'10(True, vyv292, vyv293) -> vyv292 214.33/146.05 new_primModNatS1(Succ(Zero), Succ(vyv292000)) -> Succ(Zero) 214.33/146.05 new_primModNatS1(Zero, vyv29200) -> Zero 214.33/146.05 new_primModNatS1(Succ(Succ(vyv293000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv293000), Zero) 214.33/146.05 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 214.33/146.05 new_primModNatS1(Succ(Succ(vyv293000)), Succ(vyv292000)) -> new_primModNatS01(vyv293000, vyv292000, vyv293000, vyv292000) 214.33/146.05 new_primModNatS01(vyv331, vyv332, Zero, Zero) -> new_primModNatS02(vyv331, vyv332) 214.33/146.05 new_primModNatS02(vyv331, vyv332) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv331), Succ(vyv332)), Succ(vyv332)) 214.33/146.05 new_primModNatS01(vyv331, vyv332, Succ(vyv3330), Zero) -> new_primModNatS02(vyv331, vyv332) 214.33/146.05 new_primModNatS01(vyv331, vyv332, Succ(vyv3330), Succ(vyv3340)) -> new_primModNatS01(vyv331, vyv332, vyv3330, vyv3340) 214.33/146.05 new_primModNatS01(vyv331, vyv332, Zero, Succ(vyv3340)) -> Succ(Succ(vyv331)) 214.33/146.05 new_gcd1(True, vyv273, vyv272) -> new_error 214.33/146.05 new_gcd1(False, vyv273, vyv272) -> new_gcd0(vyv273, vyv272) 214.33/146.05 new_primEqInt(Neg(Succ(vyv242000))) -> False 214.33/146.05 new_primEqInt(Pos(Zero)) -> True 214.33/146.05 new_primEqInt(Pos(Succ(vyv242000))) -> False 214.33/146.05 new_primEqInt(Neg(Zero)) -> True 214.33/146.05 new_primQuotInt(vyv2710, Pos(Succ(vyv28500))) -> Pos(new_primDivNatS1(vyv2710, vyv28500)) 214.33/146.05 new_primQuotInt(vyv2710, Neg(Zero)) -> new_error 214.33/146.05 new_primQuotInt(vyv2710, Pos(Zero)) -> new_error 214.33/146.05 new_primQuotInt(vyv2710, Neg(Succ(vyv28500))) -> Neg(new_primDivNatS1(vyv2710, vyv28500)) 214.33/146.05 new_primMulNat0(Zero, Succ(vyv23900)) -> Zero 214.33/146.05 new_primMulNat0(Succ(vyv24000), Succ(vyv23900)) -> new_primPlusNat0(new_primMulNat0(vyv24000, Succ(vyv23900)), Succ(vyv23900)) 214.33/146.05 new_primMulNat0(Succ(vyv24000), Zero) -> Zero 214.33/146.05 new_primMulNat0(Zero, Zero) -> Zero 214.33/146.05 new_primPlusNat0(Succ(vyv4000), Succ(vyv6000)) -> Succ(Succ(new_primPlusNat0(vyv4000, vyv6000))) 214.33/146.05 new_primPlusNat0(Zero, Succ(vyv6000)) -> Succ(vyv6000) 214.33/146.05 new_primPlusNat0(Zero, Zero) -> Zero 214.33/146.05 new_primPlusNat0(Succ(vyv4000), Zero) -> Succ(vyv4000) 214.33/146.05 new_esEs1(Integer(vyv2700)) -> new_primEqInt(vyv2700) 214.33/146.05 new_primMinusNat0(Succ(vyv2290), Succ(vyv245000)) -> new_primMinusNat0(vyv2290, vyv245000) 214.33/146.05 new_primMinusNat0(Zero, Zero) -> Pos(Zero) 214.33/146.05 new_primMinusNat0(Zero, Succ(vyv245000)) -> Neg(Succ(vyv245000)) 214.33/146.05 new_primMinusNat0(Succ(vyv2290), Zero) -> Pos(Succ(vyv2290)) 214.33/146.05 new_sr1(vyv228, ty_Double) -> new_sr11(vyv228) 214.33/146.05 new_sr1(vyv228, ty_Float) -> new_sr12(vyv228) 214.33/146.05 new_sr1(vyv228, app(ty_Ratio, bg)) -> new_sr5(vyv228, bg) 214.33/146.05 new_sr1(vyv228, ty_Integer) -> new_sr6(vyv228) 214.33/146.05 new_sr1(vyv228, ty_Int) -> new_sr7(vyv228) 214.33/146.05 new_sr7(Pos(vyv1840)) -> Pos(new_primMulNat1(vyv1840)) 214.33/146.05 new_sr7(Neg(vyv1840)) -> Pos(new_primMulNat1(vyv1840)) 214.33/146.05 new_primMulNat1(Succ(vyv18400)) -> new_primPlusNat0(new_primMulNat2(vyv18400), Succ(vyv18400)) 214.33/146.05 new_primMulNat1(Zero) -> Zero 214.33/146.05 new_primMulNat2(Succ(vyv184000)) -> new_primPlusNat0(new_primMulNat3(vyv184000), Succ(Succ(vyv184000))) 214.33/146.05 new_primMulNat2(Zero) -> Zero 214.33/146.05 new_primMulNat3(Succ(vyv1840000)) -> new_primPlusNat0(new_primMulNat4(vyv1840000), Succ(Succ(Succ(vyv1840000)))) 214.33/146.05 new_primMulNat3(Zero) -> Zero 214.33/146.05 new_primMulNat4(Succ(vyv18400000)) -> new_primPlusNat0(new_primMulNat0(vyv18400000, Succ(Succ(Succ(Succ(vyv18400000))))), Succ(Succ(Succ(Succ(vyv18400000))))) 214.33/146.05 new_primMulNat4(Zero) -> Zero 214.33/146.05 new_sr6(vyv184) -> error([]) 214.33/146.05 new_sr5(:%(vyv1840, vyv1841), bd) -> new_reduce2Reduce1(vyv1840, vyv1840, vyv1841, vyv1841, new_esEs0(vyv1841, bd), bd) 214.33/146.05 new_esEs0(vyv1841, ty_Int) -> new_esEs(new_sr7(vyv1841)) 214.33/146.05 new_esEs0(vyv1841, ty_Integer) -> new_esEs1(new_sr6(vyv1841)) 214.33/146.05 new_sr12(vyv184) -> error([]) 214.33/146.05 new_sr11(vyv184) -> error([]) 214.33/146.05 214.33/146.05 The set Q consists of the following terms: 214.33/146.05 214.33/146.05 new_sr13(x0, x1) 214.33/146.05 new_primDivNatS01(x0, x1, Zero, Zero) 214.33/146.05 new_gcd0Gcd'11(False, x0, x1) 214.33/146.05 new_primMulNat4(Zero) 214.33/146.05 new_gcd0Gcd'11(True, x0, x1) 214.33/146.05 new_sr2(x0, x1, ty_Float) 214.33/146.05 new_sr5(:%(x0, x1), x2) 214.33/146.05 new_primEqInt(Pos(Zero)) 214.33/146.05 new_ms(x0, Neg(x1)) 214.33/146.05 new_sr2(x0, x1, ty_Double) 214.33/146.05 new_esEs(Pos(Succ(x0))) 214.33/146.05 new_primQuotInt0(x0, Neg(Zero)) 214.33/146.05 new_primMulNat3(Zero) 214.33/146.05 new_primModNatS02(x0, x1) 214.33/146.05 new_primDivNatS1(Succ(Zero), Zero) 214.33/146.05 new_primMinusNatS0(x0) 214.33/146.05 new_sr11(x0) 214.33/146.05 new_rem(Pos(x0), Neg(Succ(x1))) 214.33/146.05 new_rem(Neg(x0), Pos(Succ(x1))) 214.33/146.05 new_primMulNat0(Zero, Zero) 214.33/146.05 new_primPlusNat0(Succ(x0), Zero) 214.33/146.05 new_primMulNat0(Succ(x0), Zero) 214.33/146.05 new_primMulNat2(Zero) 214.33/146.05 new_primQuotInt(x0, Pos(Zero)) 214.33/146.05 new_primMulNat2(Succ(x0)) 214.33/146.05 new_primQuotInt(x0, Neg(Zero)) 214.33/146.05 new_rem(Neg(x0), Neg(Succ(x1))) 214.33/146.05 new_primMinusNatS2(Zero, Succ(x0)) 214.33/146.05 new_primMulNat3(Succ(x0)) 214.33/146.05 new_esEs1(Integer(x0)) 214.33/146.05 new_primQuotInt0(x0, Pos(Zero)) 214.33/146.05 new_gcd2(True, x0, x1) 214.33/146.05 new_quot1(x0, x1, x2, x3, ty_Int) 214.33/146.05 new_primDivNatS1(Zero, x0) 214.33/146.05 new_primMinusNat0(Zero, Zero) 214.33/146.05 new_gcd(x0, x1) 214.33/146.05 new_gcd1(False, x0, x1) 214.33/146.05 new_esEs2(x0, x1, ty_Int) 214.33/146.05 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 214.33/146.05 new_sr1(x0, app(ty_Ratio, x1)) 214.33/146.05 new_sr1(x0, ty_Float) 214.33/146.05 new_primPlusNat0(Zero, Succ(x0)) 214.33/146.05 new_sr8(:%(x0, x1), :%(x2, x3), x4) 214.33/146.05 new_abs(Neg(Zero)) 214.33/146.05 new_primMinusNatS2(Succ(x0), Zero) 214.33/146.05 new_error 214.33/146.05 new_primModNatS1(Succ(Zero), Zero) 214.33/146.05 new_primMulNat4(Succ(x0)) 214.33/146.05 new_sr1(x0, ty_Integer) 214.33/146.05 new_primDivNatS02(x0, x1) 214.33/146.05 new_sr1(x0, ty_Int) 214.33/146.05 new_rem(Neg(x0), Neg(Zero)) 214.33/146.05 new_primMinusNat0(Zero, Succ(x0)) 214.33/146.05 new_primEqInt(Neg(Zero)) 214.33/146.05 new_rem(Pos(x0), Pos(Succ(x1))) 214.33/146.05 new_abs(Pos(Succ(x0))) 214.33/146.05 new_primMulNat0(Succ(x0), Succ(x1)) 214.33/146.05 new_primMulNat0(Zero, Succ(x0)) 214.33/146.05 new_reduce2Reduce1(x0, x1, x2, x3, True, x4) 214.33/146.05 new_gcd0Gcd'10(False, x0, x1) 214.33/146.05 new_sr12(x0) 214.33/146.05 new_primDivNatS01(x0, x1, Zero, Succ(x2)) 214.33/146.05 new_sr10(Pos(x0), Pos(x1)) 214.33/146.05 new_primModNatS01(x0, x1, Zero, Succ(x2)) 214.33/146.05 new_primPlusNat0(Zero, Zero) 214.33/146.05 new_primQuotInt0(x0, Pos(Succ(x1))) 214.33/146.05 new_primModNatS01(x0, x1, Succ(x2), Zero) 214.33/146.05 new_ms(x0, Pos(Succ(x1))) 214.33/146.05 new_primModNatS1(Succ(Succ(x0)), Zero) 214.33/146.05 new_rem(Pos(x0), Pos(Zero)) 214.33/146.05 new_quot(Pos(x0), x1, x2) 214.33/146.05 new_primMinusNatS2(Zero, Zero) 214.33/146.05 new_esEs0(x0, ty_Int) 214.33/146.05 new_primMinusNat0(Succ(x0), Zero) 214.33/146.05 new_esEs(Pos(Zero)) 214.33/146.05 new_quot(Neg(x0), x1, x2) 214.33/146.05 new_primDivNatS01(x0, x1, Succ(x2), Succ(x3)) 214.33/146.05 new_quot2(x0, x1, x2) 214.33/146.05 new_primEqInt(Neg(Succ(x0))) 214.33/146.05 new_sr10(Neg(x0), Neg(x1)) 214.33/146.05 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 214.33/146.05 new_sr9(x0, x1) 214.33/146.05 new_sr2(x0, x1, ty_Integer) 214.33/146.05 new_sr7(Neg(x0)) 214.33/146.05 new_sr1(x0, ty_Double) 214.33/146.05 new_primQuotInt0(x0, Neg(Succ(x1))) 214.33/146.05 new_rem(Pos(x0), Neg(Zero)) 214.33/146.05 new_rem(Neg(x0), Pos(Zero)) 214.33/146.05 new_gcd0Gcd'00(x0, x1) 214.33/146.05 new_primQuotInt(x0, Neg(Succ(x1))) 214.33/146.05 new_primMinusNatS2(Succ(x0), Succ(x1)) 214.33/146.05 new_ms(x0, Pos(Zero)) 214.33/146.05 new_abs(Pos(Zero)) 214.33/146.05 new_primMinusNat0(Succ(x0), Succ(x1)) 214.33/146.05 new_quot0(x0, x1, x2, x3, ty_Integer) 214.33/146.05 new_sr6(x0) 214.33/146.05 new_gcd2(False, x0, x1) 214.33/146.05 new_gcd1(True, x0, x1) 214.33/146.05 new_esEs2(x0, x1, ty_Integer) 214.33/146.05 new_primMinusNatS1 214.33/146.05 new_sr7(Pos(x0)) 214.33/146.05 new_gcd0Gcd'10(True, x0, x1) 214.33/146.05 new_primModNatS1(Zero, x0) 214.33/146.05 new_sr10(Pos(x0), Neg(x1)) 214.33/146.05 new_sr10(Neg(x0), Pos(x1)) 214.33/146.05 new_primDivNatS01(x0, x1, Succ(x2), Zero) 214.33/146.05 new_primDivNatS1(Succ(Succ(x0)), Succ(x1)) 214.33/146.05 new_primPlusNat0(Succ(x0), Succ(x1)) 214.33/146.05 new_primDivNatS1(Succ(Zero), Succ(x0)) 214.33/146.05 new_primQuotInt(x0, Pos(Succ(x1))) 214.33/146.05 new_sr2(x0, x1, app(ty_Ratio, x2)) 214.33/146.05 new_abs(Neg(Succ(x0))) 214.33/146.05 new_esEs0(x0, ty_Integer) 214.33/146.05 new_esEs(Neg(Succ(x0))) 214.33/146.05 new_primModNatS01(x0, x1, Zero, Zero) 214.33/146.05 new_gcd0(x0, x1) 214.33/146.05 new_primEqInt(Pos(Succ(x0))) 214.33/146.05 new_quot1(x0, x1, x2, x3, ty_Integer) 214.33/146.05 new_primDivNatS1(Succ(Succ(x0)), Zero) 214.33/146.05 new_primMulNat1(Succ(x0)) 214.33/146.05 new_sr14(x0, x1) 214.33/146.05 new_quot0(x0, x1, x2, x3, ty_Int) 214.33/146.05 new_sr2(x0, x1, ty_Int) 214.33/146.05 new_primModNatS1(Succ(Zero), Succ(x0)) 214.33/146.05 new_reduce2Reduce1(x0, x1, x2, x3, False, x4) 214.33/146.05 new_esEs(Neg(Zero)) 214.33/146.05 new_primMulNat1(Zero) 214.33/146.05 214.33/146.05 We have to consider all minimal (P,Q,R)-chains. 214.33/146.05 ---------------------------------------- 214.33/146.05 214.33/146.05 (892) UsableRulesProof (EQUIVALENT) 214.33/146.05 As all Q-normal forms are R-normal forms we are in the innermost case. Hence, by the usable rules processor [LPAR04] we can delete all non-usable rules [FROCOS05] from R. 214.33/146.05 ---------------------------------------- 214.33/146.05 214.33/146.05 (893) 214.33/146.05 Obligation: 214.33/146.05 Q DP problem: 214.33/146.05 The TRS P consists of the following rules: 214.33/146.05 214.33/146.05 new_pr2F0G1(vyv227, vyv228, vyv229, Succ(Succ(vyv23000)), ba) -> new_pr2F0G1(vyv227, vyv228, vyv229, vyv23000, ba) 214.33/146.05 new_pr2F0G1(vyv227, vyv228, vyv229, Succ(Zero), ba) -> new_pr2F(vyv228, vyv229, Pos(Succ(Zero)), vyv227, ba) 214.33/146.05 new_pr2F0(vyv184, Pos(Succ(Succ(vyv223000))), vyv188, h) -> new_pr2F0G1(vyv188, vyv184, Succ(vyv223000), vyv223000, h) 214.33/146.05 new_pr2F0G1(vyv227, vyv228, vyv229, Zero, ba) -> new_pr2F0G(vyv227, new_sr1(vyv228, ba), Pos(new_primDivNatS1(Succ(vyv229), Succ(Zero))), ba) 214.33/146.05 new_pr2F0G(vyv188, vyv184, Pos(Succ(Succ(vyv223000))), h) -> new_pr2F0G1(vyv188, vyv184, Succ(vyv223000), vyv223000, h) 214.33/146.05 new_pr2F(y0, Succ(x0), Pos(Succ(Zero)), y2, y3) -> new_pr2F3(False, y0, Succ(x0), Pos(Succ(Zero)), y2, y3) 214.33/146.05 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) 214.33/146.05 214.33/146.05 The TRS R consists of the following rules: 214.33/146.05 214.33/146.05 new_primMinusNat0(Succ(vyv2290), Zero) -> Pos(Succ(vyv2290)) 214.33/146.05 new_sr2(vyv228, vyv227, ty_Integer) -> new_sr9(vyv228, vyv227) 214.33/146.05 new_sr2(vyv228, vyv227, ty_Int) -> new_sr10(vyv228, vyv227) 214.33/146.05 new_sr2(vyv228, vyv227, app(ty_Ratio, bg)) -> new_sr8(vyv228, vyv227, bg) 214.33/146.05 new_sr2(vyv228, vyv227, ty_Double) -> new_sr13(vyv228, vyv227) 214.33/146.05 new_sr2(vyv228, vyv227, ty_Float) -> new_sr14(vyv228, vyv227) 214.33/146.05 new_sr14(vyv240, vyv239) -> error([]) 214.33/146.05 new_sr13(vyv240, vyv239) -> error([]) 214.33/146.05 new_sr8(:%(vyv2400, vyv2401), :%(vyv2390, vyv2391), be) -> new_reduce2Reduce1(vyv2400, vyv2390, vyv2401, vyv2391, new_esEs2(vyv2401, vyv2391, be), be) 214.33/146.05 new_esEs2(vyv2401, vyv2391, ty_Integer) -> new_esEs1(new_sr9(vyv2401, vyv2391)) 214.33/146.05 new_esEs2(vyv2401, vyv2391, ty_Int) -> new_esEs(new_sr10(vyv2401, vyv2391)) 214.33/146.05 new_reduce2Reduce1(vyv265, vyv266, vyv267, vyv268, False, bh) -> :%(new_quot0(vyv265, vyv266, vyv267, vyv268, bh), new_quot1(vyv267, vyv268, vyv265, vyv266, bh)) 214.33/146.05 new_reduce2Reduce1(vyv265, vyv266, vyv267, vyv268, True, bh) -> error([]) 214.33/146.05 new_quot0(vyv265, vyv266, vyv267, vyv268, ty_Integer) -> new_quot2(new_sr9(vyv265, vyv266), new_sr9(vyv265, vyv266), new_sr9(vyv267, vyv268)) 214.33/146.05 new_quot0(vyv265, vyv266, vyv267, vyv268, ty_Int) -> new_quot(new_sr10(vyv265, vyv266), new_sr10(vyv265, vyv266), new_sr10(vyv267, vyv268)) 214.33/146.05 new_quot1(vyv267, vyv268, vyv265, vyv266, ty_Int) -> new_quot(new_sr10(vyv267, vyv268), new_sr10(vyv265, vyv266), new_sr10(vyv267, vyv268)) 214.33/146.05 new_quot1(vyv267, vyv268, vyv265, vyv266, ty_Integer) -> new_quot2(new_sr9(vyv267, vyv268), new_sr9(vyv265, vyv266), new_sr9(vyv267, vyv268)) 214.33/146.05 new_sr9(vyv240, vyv239) -> error([]) 214.33/146.05 new_quot2(vyv274, vyv276, vyv275) -> error([]) 214.33/146.05 new_sr10(Pos(vyv2400), Pos(vyv2390)) -> Pos(new_primMulNat0(vyv2400, vyv2390)) 214.33/146.05 new_sr10(Neg(vyv2400), Neg(vyv2390)) -> Pos(new_primMulNat0(vyv2400, vyv2390)) 214.33/146.05 new_sr10(Pos(vyv2400), Neg(vyv2390)) -> Neg(new_primMulNat0(vyv2400, vyv2390)) 214.33/146.05 new_sr10(Neg(vyv2400), Pos(vyv2390)) -> Neg(new_primMulNat0(vyv2400, vyv2390)) 214.33/146.05 new_quot(Pos(vyv2710), vyv273, vyv272) -> new_primQuotInt(vyv2710, new_gcd(vyv273, vyv272)) 214.33/146.05 new_quot(Neg(vyv2710), vyv273, vyv272) -> new_primQuotInt0(vyv2710, new_gcd(vyv273, vyv272)) 214.33/146.05 new_gcd(vyv273, vyv272) -> new_gcd2(new_esEs(vyv273), vyv273, vyv272) 214.33/146.05 new_primQuotInt0(vyv2710, Pos(Succ(vyv28800))) -> Neg(new_primDivNatS1(vyv2710, vyv28800)) 214.33/146.05 new_primQuotInt0(vyv2710, Neg(Zero)) -> new_error 214.33/146.05 new_primQuotInt0(vyv2710, Neg(Succ(vyv28800))) -> Pos(new_primDivNatS1(vyv2710, vyv28800)) 214.33/146.05 new_primQuotInt0(vyv2710, Pos(Zero)) -> new_error 214.33/146.05 new_error -> error([]) 214.33/146.05 new_primDivNatS1(Succ(Zero), Succ(vyv285000)) -> Zero 214.33/146.05 new_primDivNatS1(Succ(Succ(vyv271000)), Succ(vyv285000)) -> new_primDivNatS01(vyv271000, vyv285000, vyv271000, vyv285000) 214.33/146.05 new_primDivNatS1(Zero, vyv28500) -> Zero 214.33/146.05 new_primDivNatS1(Succ(Succ(vyv271000)), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS0(vyv271000), Zero)) 214.33/146.05 new_primDivNatS1(Succ(Zero), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS1, Zero)) 214.33/146.05 new_primMinusNatS1 -> Zero 214.33/146.05 new_primMinusNatS0(vyv271000) -> Succ(vyv271000) 214.33/146.05 new_primDivNatS01(vyv311, vyv312, Succ(vyv3130), Zero) -> new_primDivNatS02(vyv311, vyv312) 214.33/146.05 new_primDivNatS01(vyv311, vyv312, Zero, Succ(vyv3140)) -> Zero 214.33/146.05 new_primDivNatS01(vyv311, vyv312, Succ(vyv3130), Succ(vyv3140)) -> new_primDivNatS01(vyv311, vyv312, vyv3130, vyv3140) 214.33/146.05 new_primDivNatS01(vyv311, vyv312, Zero, Zero) -> new_primDivNatS02(vyv311, vyv312) 214.33/146.05 new_primDivNatS02(vyv311, vyv312) -> Succ(new_primDivNatS1(new_primMinusNatS2(vyv311, vyv312), Succ(vyv312))) 214.33/146.05 new_primMinusNatS2(Zero, Succ(vyv3120)) -> Zero 214.33/146.05 new_primMinusNatS2(Succ(vyv3110), Zero) -> Succ(vyv3110) 214.33/146.05 new_primMinusNatS2(Zero, Zero) -> Zero 214.33/146.05 new_primMinusNatS2(Succ(vyv3110), Succ(vyv3120)) -> new_primMinusNatS2(vyv3110, vyv3120) 214.33/146.05 new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) 214.33/146.05 new_esEs(Pos(Succ(vyv24300))) -> new_primEqInt(Pos(Succ(vyv24300))) 214.33/146.05 new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) 214.33/146.05 new_esEs(Neg(Succ(vyv24300))) -> new_primEqInt(Neg(Succ(vyv24300))) 214.33/146.05 new_gcd2(True, vyv273, vyv272) -> new_gcd1(new_esEs(vyv272), vyv273, vyv272) 214.33/146.05 new_gcd2(False, vyv273, vyv272) -> new_gcd0(vyv273, vyv272) 214.33/146.05 new_gcd0(vyv273, vyv272) -> new_gcd0Gcd'11(new_esEs(new_abs(vyv272)), vyv273, vyv272) 214.33/146.05 new_abs(Neg(Zero)) -> Neg(Zero) 214.33/146.05 new_abs(Neg(Succ(vyv27200))) -> Pos(Succ(vyv27200)) 214.33/146.05 new_abs(Pos(Succ(vyv27200))) -> Pos(Succ(vyv27200)) 214.33/146.05 new_abs(Pos(Zero)) -> Pos(Zero) 214.33/146.05 new_gcd0Gcd'11(True, vyv273, vyv272) -> new_abs(vyv273) 214.33/146.05 new_gcd0Gcd'11(False, vyv273, vyv272) -> new_gcd0Gcd'00(new_abs(vyv273), new_abs(vyv272)) 214.33/146.05 new_gcd0Gcd'00(vyv293, vyv292) -> new_gcd0Gcd'10(new_esEs(new_rem(vyv293, vyv292)), vyv292, vyv293) 214.33/146.05 new_gcd0Gcd'10(False, vyv292, vyv293) -> new_gcd0Gcd'00(vyv292, new_rem(vyv293, vyv292)) 214.33/146.05 new_rem(Pos(vyv2930), Neg(Zero)) -> new_error 214.33/146.05 new_rem(Neg(vyv2930), Pos(Zero)) -> new_error 214.33/146.05 new_rem(Pos(vyv2930), Neg(Succ(vyv29200))) -> Pos(new_primModNatS1(vyv2930, vyv29200)) 214.33/146.05 new_rem(Neg(vyv2930), Pos(Succ(vyv29200))) -> Neg(new_primModNatS1(vyv2930, vyv29200)) 214.33/146.05 new_rem(Pos(vyv2930), Pos(Succ(vyv29200))) -> Pos(new_primModNatS1(vyv2930, vyv29200)) 214.33/146.05 new_rem(Neg(vyv2930), Neg(Zero)) -> new_error 214.33/146.05 new_rem(Neg(vyv2930), Neg(Succ(vyv29200))) -> Neg(new_primModNatS1(vyv2930, vyv29200)) 214.33/146.05 new_rem(Pos(vyv2930), Pos(Zero)) -> new_error 214.33/146.05 new_gcd0Gcd'10(True, vyv292, vyv293) -> vyv292 214.33/146.05 new_primModNatS1(Succ(Zero), Succ(vyv292000)) -> Succ(Zero) 214.33/146.05 new_primModNatS1(Zero, vyv29200) -> Zero 214.33/146.05 new_primModNatS1(Succ(Succ(vyv293000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv293000), Zero) 214.33/146.05 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 214.33/146.05 new_primModNatS1(Succ(Succ(vyv293000)), Succ(vyv292000)) -> new_primModNatS01(vyv293000, vyv292000, vyv293000, vyv292000) 214.33/146.05 new_primModNatS01(vyv331, vyv332, Zero, Zero) -> new_primModNatS02(vyv331, vyv332) 214.33/146.05 new_primModNatS02(vyv331, vyv332) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv331), Succ(vyv332)), Succ(vyv332)) 214.33/146.05 new_primModNatS01(vyv331, vyv332, Succ(vyv3330), Zero) -> new_primModNatS02(vyv331, vyv332) 214.33/146.05 new_primModNatS01(vyv331, vyv332, Succ(vyv3330), Succ(vyv3340)) -> new_primModNatS01(vyv331, vyv332, vyv3330, vyv3340) 214.33/146.05 new_primModNatS01(vyv331, vyv332, Zero, Succ(vyv3340)) -> Succ(Succ(vyv331)) 214.33/146.05 new_gcd1(True, vyv273, vyv272) -> new_error 214.33/146.05 new_gcd1(False, vyv273, vyv272) -> new_gcd0(vyv273, vyv272) 214.33/146.05 new_primEqInt(Neg(Succ(vyv242000))) -> False 214.33/146.05 new_primEqInt(Pos(Zero)) -> True 214.33/146.05 new_primEqInt(Pos(Succ(vyv242000))) -> False 214.33/146.05 new_primEqInt(Neg(Zero)) -> True 214.33/146.05 new_primQuotInt(vyv2710, Pos(Succ(vyv28500))) -> Pos(new_primDivNatS1(vyv2710, vyv28500)) 214.33/146.05 new_primQuotInt(vyv2710, Neg(Zero)) -> new_error 214.33/146.05 new_primQuotInt(vyv2710, Pos(Zero)) -> new_error 214.33/146.05 new_primQuotInt(vyv2710, Neg(Succ(vyv28500))) -> Neg(new_primDivNatS1(vyv2710, vyv28500)) 214.33/146.05 new_primMulNat0(Zero, Succ(vyv23900)) -> Zero 214.33/146.05 new_primMulNat0(Succ(vyv24000), Succ(vyv23900)) -> new_primPlusNat0(new_primMulNat0(vyv24000, Succ(vyv23900)), Succ(vyv23900)) 214.33/146.05 new_primMulNat0(Succ(vyv24000), Zero) -> Zero 214.33/146.05 new_primMulNat0(Zero, Zero) -> Zero 214.33/146.05 new_primPlusNat0(Succ(vyv4000), Succ(vyv6000)) -> Succ(Succ(new_primPlusNat0(vyv4000, vyv6000))) 214.33/146.05 new_primPlusNat0(Zero, Succ(vyv6000)) -> Succ(vyv6000) 214.33/146.05 new_primPlusNat0(Zero, Zero) -> Zero 214.33/146.05 new_primPlusNat0(Succ(vyv4000), Zero) -> Succ(vyv4000) 214.33/146.05 new_esEs1(Integer(vyv2700)) -> new_primEqInt(vyv2700) 214.33/146.05 new_sr1(vyv228, ty_Double) -> new_sr11(vyv228) 214.33/146.05 new_sr1(vyv228, ty_Float) -> new_sr12(vyv228) 214.33/146.05 new_sr1(vyv228, app(ty_Ratio, bg)) -> new_sr5(vyv228, bg) 214.33/146.05 new_sr1(vyv228, ty_Integer) -> new_sr6(vyv228) 214.33/146.05 new_sr1(vyv228, ty_Int) -> new_sr7(vyv228) 214.33/146.05 new_sr7(Pos(vyv1840)) -> Pos(new_primMulNat1(vyv1840)) 214.33/146.05 new_sr7(Neg(vyv1840)) -> Pos(new_primMulNat1(vyv1840)) 214.33/146.05 new_primMulNat1(Succ(vyv18400)) -> new_primPlusNat0(new_primMulNat2(vyv18400), Succ(vyv18400)) 214.33/146.05 new_primMulNat1(Zero) -> Zero 214.33/146.05 new_primMulNat2(Succ(vyv184000)) -> new_primPlusNat0(new_primMulNat3(vyv184000), Succ(Succ(vyv184000))) 214.33/146.05 new_primMulNat2(Zero) -> Zero 214.33/146.05 new_primMulNat3(Succ(vyv1840000)) -> new_primPlusNat0(new_primMulNat4(vyv1840000), Succ(Succ(Succ(vyv1840000)))) 214.33/146.05 new_primMulNat3(Zero) -> Zero 214.33/146.05 new_primMulNat4(Succ(vyv18400000)) -> new_primPlusNat0(new_primMulNat0(vyv18400000, Succ(Succ(Succ(Succ(vyv18400000))))), Succ(Succ(Succ(Succ(vyv18400000))))) 214.33/146.05 new_primMulNat4(Zero) -> Zero 214.33/146.05 new_sr6(vyv184) -> error([]) 214.33/146.05 new_sr5(:%(vyv1840, vyv1841), bd) -> new_reduce2Reduce1(vyv1840, vyv1840, vyv1841, vyv1841, new_esEs0(vyv1841, bd), bd) 214.33/146.05 new_esEs0(vyv1841, ty_Int) -> new_esEs(new_sr7(vyv1841)) 214.33/146.05 new_esEs0(vyv1841, ty_Integer) -> new_esEs1(new_sr6(vyv1841)) 214.33/146.05 new_sr12(vyv184) -> error([]) 214.33/146.05 new_sr11(vyv184) -> error([]) 214.33/146.05 214.33/146.05 The set Q consists of the following terms: 214.33/146.05 214.33/146.05 new_sr13(x0, x1) 214.33/146.05 new_primDivNatS01(x0, x1, Zero, Zero) 214.33/146.05 new_gcd0Gcd'11(False, x0, x1) 214.33/146.05 new_primMulNat4(Zero) 214.33/146.05 new_gcd0Gcd'11(True, x0, x1) 214.33/146.05 new_sr2(x0, x1, ty_Float) 214.33/146.05 new_sr5(:%(x0, x1), x2) 214.33/146.05 new_primEqInt(Pos(Zero)) 214.33/146.05 new_ms(x0, Neg(x1)) 214.33/146.05 new_sr2(x0, x1, ty_Double) 214.33/146.05 new_esEs(Pos(Succ(x0))) 214.33/146.05 new_primQuotInt0(x0, Neg(Zero)) 214.33/146.05 new_primMulNat3(Zero) 214.33/146.05 new_primModNatS02(x0, x1) 214.33/146.05 new_primDivNatS1(Succ(Zero), Zero) 214.33/146.05 new_primMinusNatS0(x0) 214.33/146.05 new_sr11(x0) 214.33/146.05 new_rem(Pos(x0), Neg(Succ(x1))) 214.33/146.05 new_rem(Neg(x0), Pos(Succ(x1))) 214.33/146.05 new_primMulNat0(Zero, Zero) 214.33/146.05 new_primPlusNat0(Succ(x0), Zero) 214.33/146.05 new_primMulNat0(Succ(x0), Zero) 214.33/146.05 new_primMulNat2(Zero) 214.33/146.05 new_primQuotInt(x0, Pos(Zero)) 214.33/146.05 new_primMulNat2(Succ(x0)) 214.33/146.05 new_primQuotInt(x0, Neg(Zero)) 214.33/146.05 new_rem(Neg(x0), Neg(Succ(x1))) 214.33/146.05 new_primMinusNatS2(Zero, Succ(x0)) 214.33/146.05 new_primMulNat3(Succ(x0)) 214.33/146.05 new_esEs1(Integer(x0)) 214.33/146.05 new_primQuotInt0(x0, Pos(Zero)) 214.33/146.05 new_gcd2(True, x0, x1) 214.33/146.05 new_quot1(x0, x1, x2, x3, ty_Int) 214.33/146.05 new_primDivNatS1(Zero, x0) 214.33/146.05 new_primMinusNat0(Zero, Zero) 214.33/146.05 new_gcd(x0, x1) 214.33/146.05 new_gcd1(False, x0, x1) 214.33/146.05 new_esEs2(x0, x1, ty_Int) 214.33/146.05 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 214.33/146.05 new_sr1(x0, app(ty_Ratio, x1)) 214.33/146.05 new_sr1(x0, ty_Float) 214.33/146.05 new_primPlusNat0(Zero, Succ(x0)) 214.33/146.05 new_sr8(:%(x0, x1), :%(x2, x3), x4) 214.33/146.05 new_abs(Neg(Zero)) 214.33/146.05 new_primMinusNatS2(Succ(x0), Zero) 214.33/146.05 new_error 214.33/146.05 new_primModNatS1(Succ(Zero), Zero) 214.33/146.05 new_primMulNat4(Succ(x0)) 214.33/146.05 new_sr1(x0, ty_Integer) 214.33/146.05 new_primDivNatS02(x0, x1) 214.33/146.05 new_sr1(x0, ty_Int) 214.33/146.05 new_rem(Neg(x0), Neg(Zero)) 214.33/146.05 new_primMinusNat0(Zero, Succ(x0)) 214.33/146.05 new_primEqInt(Neg(Zero)) 214.33/146.05 new_rem(Pos(x0), Pos(Succ(x1))) 214.33/146.05 new_abs(Pos(Succ(x0))) 214.33/146.05 new_primMulNat0(Succ(x0), Succ(x1)) 214.33/146.05 new_primMulNat0(Zero, Succ(x0)) 214.33/146.05 new_reduce2Reduce1(x0, x1, x2, x3, True, x4) 214.33/146.05 new_gcd0Gcd'10(False, x0, x1) 214.33/146.05 new_sr12(x0) 214.33/146.05 new_primDivNatS01(x0, x1, Zero, Succ(x2)) 214.33/146.05 new_sr10(Pos(x0), Pos(x1)) 214.33/146.05 new_primModNatS01(x0, x1, Zero, Succ(x2)) 214.33/146.05 new_primPlusNat0(Zero, Zero) 214.33/146.05 new_primQuotInt0(x0, Pos(Succ(x1))) 214.33/146.05 new_primModNatS01(x0, x1, Succ(x2), Zero) 214.33/146.05 new_ms(x0, Pos(Succ(x1))) 214.33/146.05 new_primModNatS1(Succ(Succ(x0)), Zero) 214.33/146.05 new_rem(Pos(x0), Pos(Zero)) 214.33/146.05 new_quot(Pos(x0), x1, x2) 214.33/146.05 new_primMinusNatS2(Zero, Zero) 214.33/146.05 new_esEs0(x0, ty_Int) 214.33/146.05 new_primMinusNat0(Succ(x0), Zero) 214.33/146.05 new_esEs(Pos(Zero)) 214.33/146.05 new_quot(Neg(x0), x1, x2) 214.33/146.05 new_primDivNatS01(x0, x1, Succ(x2), Succ(x3)) 214.33/146.05 new_quot2(x0, x1, x2) 214.33/146.05 new_primEqInt(Neg(Succ(x0))) 214.33/146.05 new_sr10(Neg(x0), Neg(x1)) 214.33/146.05 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 214.33/146.05 new_sr9(x0, x1) 214.33/146.05 new_sr2(x0, x1, ty_Integer) 214.33/146.05 new_sr7(Neg(x0)) 214.33/146.05 new_sr1(x0, ty_Double) 214.33/146.05 new_primQuotInt0(x0, Neg(Succ(x1))) 214.33/146.05 new_rem(Pos(x0), Neg(Zero)) 214.33/146.05 new_rem(Neg(x0), Pos(Zero)) 214.33/146.05 new_gcd0Gcd'00(x0, x1) 214.33/146.05 new_primQuotInt(x0, Neg(Succ(x1))) 214.33/146.05 new_primMinusNatS2(Succ(x0), Succ(x1)) 214.33/146.05 new_ms(x0, Pos(Zero)) 214.33/146.05 new_abs(Pos(Zero)) 214.33/146.05 new_primMinusNat0(Succ(x0), Succ(x1)) 214.33/146.05 new_quot0(x0, x1, x2, x3, ty_Integer) 214.33/146.05 new_sr6(x0) 214.33/146.05 new_gcd2(False, x0, x1) 214.33/146.05 new_gcd1(True, x0, x1) 214.33/146.05 new_esEs2(x0, x1, ty_Integer) 214.33/146.05 new_primMinusNatS1 214.33/146.05 new_sr7(Pos(x0)) 214.33/146.05 new_gcd0Gcd'10(True, x0, x1) 214.33/146.05 new_primModNatS1(Zero, x0) 214.33/146.05 new_sr10(Pos(x0), Neg(x1)) 214.33/146.05 new_sr10(Neg(x0), Pos(x1)) 214.33/146.05 new_primDivNatS01(x0, x1, Succ(x2), Zero) 214.33/146.05 new_primDivNatS1(Succ(Succ(x0)), Succ(x1)) 214.33/146.05 new_primPlusNat0(Succ(x0), Succ(x1)) 214.33/146.05 new_primDivNatS1(Succ(Zero), Succ(x0)) 214.33/146.05 new_primQuotInt(x0, Pos(Succ(x1))) 214.33/146.05 new_sr2(x0, x1, app(ty_Ratio, x2)) 214.33/146.05 new_abs(Neg(Succ(x0))) 214.33/146.05 new_esEs0(x0, ty_Integer) 214.33/146.05 new_esEs(Neg(Succ(x0))) 214.33/146.05 new_primModNatS01(x0, x1, Zero, Zero) 214.33/146.05 new_gcd0(x0, x1) 214.33/146.05 new_primEqInt(Pos(Succ(x0))) 214.33/146.05 new_quot1(x0, x1, x2, x3, ty_Integer) 214.33/146.05 new_primDivNatS1(Succ(Succ(x0)), Zero) 214.33/146.05 new_primMulNat1(Succ(x0)) 214.33/146.05 new_sr14(x0, x1) 214.33/146.05 new_quot0(x0, x1, x2, x3, ty_Int) 214.33/146.05 new_sr2(x0, x1, ty_Int) 214.33/146.05 new_primModNatS1(Succ(Zero), Succ(x0)) 214.33/146.05 new_reduce2Reduce1(x0, x1, x2, x3, False, x4) 214.33/146.05 new_esEs(Neg(Zero)) 214.33/146.05 new_primMulNat1(Zero) 214.33/146.05 214.33/146.05 We have to consider all minimal (P,Q,R)-chains. 214.33/146.05 ---------------------------------------- 214.33/146.05 214.33/146.05 (894) QReductionProof (EQUIVALENT) 214.33/146.05 We deleted the following terms from Q as each root-symbol of these terms does neither occur in P nor in R.[THIEMANN]. 214.33/146.05 214.33/146.05 new_ms(x0, Neg(x1)) 214.33/146.05 new_ms(x0, Pos(Succ(x1))) 214.33/146.05 new_ms(x0, Pos(Zero)) 214.33/146.05 214.33/146.05 214.33/146.05 ---------------------------------------- 214.33/146.05 214.33/146.05 (895) 214.33/146.05 Obligation: 214.33/146.05 Q DP problem: 214.33/146.05 The TRS P consists of the following rules: 214.33/146.05 214.33/146.05 new_pr2F0G1(vyv227, vyv228, vyv229, Succ(Succ(vyv23000)), ba) -> new_pr2F0G1(vyv227, vyv228, vyv229, vyv23000, ba) 214.33/146.05 new_pr2F0G1(vyv227, vyv228, vyv229, Succ(Zero), ba) -> new_pr2F(vyv228, vyv229, Pos(Succ(Zero)), vyv227, ba) 214.33/146.05 new_pr2F0(vyv184, Pos(Succ(Succ(vyv223000))), vyv188, h) -> new_pr2F0G1(vyv188, vyv184, Succ(vyv223000), vyv223000, h) 214.33/146.05 new_pr2F0G1(vyv227, vyv228, vyv229, Zero, ba) -> new_pr2F0G(vyv227, new_sr1(vyv228, ba), Pos(new_primDivNatS1(Succ(vyv229), Succ(Zero))), ba) 214.33/146.05 new_pr2F0G(vyv188, vyv184, Pos(Succ(Succ(vyv223000))), h) -> new_pr2F0G1(vyv188, vyv184, Succ(vyv223000), vyv223000, h) 214.33/146.05 new_pr2F(y0, Succ(x0), Pos(Succ(Zero)), y2, y3) -> new_pr2F3(False, y0, Succ(x0), Pos(Succ(Zero)), y2, y3) 214.33/146.05 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) 214.33/146.05 214.33/146.05 The TRS R consists of the following rules: 214.33/146.05 214.33/146.05 new_primMinusNat0(Succ(vyv2290), Zero) -> Pos(Succ(vyv2290)) 214.33/146.05 new_sr2(vyv228, vyv227, ty_Integer) -> new_sr9(vyv228, vyv227) 214.33/146.05 new_sr2(vyv228, vyv227, ty_Int) -> new_sr10(vyv228, vyv227) 214.33/146.05 new_sr2(vyv228, vyv227, app(ty_Ratio, bg)) -> new_sr8(vyv228, vyv227, bg) 214.33/146.05 new_sr2(vyv228, vyv227, ty_Double) -> new_sr13(vyv228, vyv227) 214.33/146.05 new_sr2(vyv228, vyv227, ty_Float) -> new_sr14(vyv228, vyv227) 214.33/146.05 new_sr14(vyv240, vyv239) -> error([]) 214.33/146.05 new_sr13(vyv240, vyv239) -> error([]) 214.33/146.05 new_sr8(:%(vyv2400, vyv2401), :%(vyv2390, vyv2391), be) -> new_reduce2Reduce1(vyv2400, vyv2390, vyv2401, vyv2391, new_esEs2(vyv2401, vyv2391, be), be) 214.33/146.05 new_esEs2(vyv2401, vyv2391, ty_Integer) -> new_esEs1(new_sr9(vyv2401, vyv2391)) 214.33/146.05 new_esEs2(vyv2401, vyv2391, ty_Int) -> new_esEs(new_sr10(vyv2401, vyv2391)) 214.33/146.05 new_reduce2Reduce1(vyv265, vyv266, vyv267, vyv268, False, bh) -> :%(new_quot0(vyv265, vyv266, vyv267, vyv268, bh), new_quot1(vyv267, vyv268, vyv265, vyv266, bh)) 214.33/146.05 new_reduce2Reduce1(vyv265, vyv266, vyv267, vyv268, True, bh) -> error([]) 214.33/146.05 new_quot0(vyv265, vyv266, vyv267, vyv268, ty_Integer) -> new_quot2(new_sr9(vyv265, vyv266), new_sr9(vyv265, vyv266), new_sr9(vyv267, vyv268)) 214.33/146.05 new_quot0(vyv265, vyv266, vyv267, vyv268, ty_Int) -> new_quot(new_sr10(vyv265, vyv266), new_sr10(vyv265, vyv266), new_sr10(vyv267, vyv268)) 214.33/146.05 new_quot1(vyv267, vyv268, vyv265, vyv266, ty_Int) -> new_quot(new_sr10(vyv267, vyv268), new_sr10(vyv265, vyv266), new_sr10(vyv267, vyv268)) 214.33/146.05 new_quot1(vyv267, vyv268, vyv265, vyv266, ty_Integer) -> new_quot2(new_sr9(vyv267, vyv268), new_sr9(vyv265, vyv266), new_sr9(vyv267, vyv268)) 214.33/146.05 new_sr9(vyv240, vyv239) -> error([]) 214.33/146.05 new_quot2(vyv274, vyv276, vyv275) -> error([]) 214.33/146.05 new_sr10(Pos(vyv2400), Pos(vyv2390)) -> Pos(new_primMulNat0(vyv2400, vyv2390)) 214.33/146.05 new_sr10(Neg(vyv2400), Neg(vyv2390)) -> Pos(new_primMulNat0(vyv2400, vyv2390)) 214.33/146.05 new_sr10(Pos(vyv2400), Neg(vyv2390)) -> Neg(new_primMulNat0(vyv2400, vyv2390)) 214.33/146.05 new_sr10(Neg(vyv2400), Pos(vyv2390)) -> Neg(new_primMulNat0(vyv2400, vyv2390)) 214.33/146.05 new_quot(Pos(vyv2710), vyv273, vyv272) -> new_primQuotInt(vyv2710, new_gcd(vyv273, vyv272)) 214.33/146.05 new_quot(Neg(vyv2710), vyv273, vyv272) -> new_primQuotInt0(vyv2710, new_gcd(vyv273, vyv272)) 214.33/146.05 new_gcd(vyv273, vyv272) -> new_gcd2(new_esEs(vyv273), vyv273, vyv272) 214.33/146.05 new_primQuotInt0(vyv2710, Pos(Succ(vyv28800))) -> Neg(new_primDivNatS1(vyv2710, vyv28800)) 214.33/146.05 new_primQuotInt0(vyv2710, Neg(Zero)) -> new_error 214.33/146.05 new_primQuotInt0(vyv2710, Neg(Succ(vyv28800))) -> Pos(new_primDivNatS1(vyv2710, vyv28800)) 214.33/146.05 new_primQuotInt0(vyv2710, Pos(Zero)) -> new_error 214.33/146.05 new_error -> error([]) 214.33/146.05 new_primDivNatS1(Succ(Zero), Succ(vyv285000)) -> Zero 214.33/146.05 new_primDivNatS1(Succ(Succ(vyv271000)), Succ(vyv285000)) -> new_primDivNatS01(vyv271000, vyv285000, vyv271000, vyv285000) 214.33/146.05 new_primDivNatS1(Zero, vyv28500) -> Zero 214.33/146.05 new_primDivNatS1(Succ(Succ(vyv271000)), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS0(vyv271000), Zero)) 214.33/146.05 new_primDivNatS1(Succ(Zero), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS1, Zero)) 214.33/146.05 new_primMinusNatS1 -> Zero 214.33/146.05 new_primMinusNatS0(vyv271000) -> Succ(vyv271000) 214.33/146.05 new_primDivNatS01(vyv311, vyv312, Succ(vyv3130), Zero) -> new_primDivNatS02(vyv311, vyv312) 214.33/146.05 new_primDivNatS01(vyv311, vyv312, Zero, Succ(vyv3140)) -> Zero 214.33/146.05 new_primDivNatS01(vyv311, vyv312, Succ(vyv3130), Succ(vyv3140)) -> new_primDivNatS01(vyv311, vyv312, vyv3130, vyv3140) 214.33/146.05 new_primDivNatS01(vyv311, vyv312, Zero, Zero) -> new_primDivNatS02(vyv311, vyv312) 214.33/146.05 new_primDivNatS02(vyv311, vyv312) -> Succ(new_primDivNatS1(new_primMinusNatS2(vyv311, vyv312), Succ(vyv312))) 214.33/146.05 new_primMinusNatS2(Zero, Succ(vyv3120)) -> Zero 214.33/146.05 new_primMinusNatS2(Succ(vyv3110), Zero) -> Succ(vyv3110) 214.33/146.05 new_primMinusNatS2(Zero, Zero) -> Zero 214.33/146.05 new_primMinusNatS2(Succ(vyv3110), Succ(vyv3120)) -> new_primMinusNatS2(vyv3110, vyv3120) 214.33/146.05 new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) 214.33/146.05 new_esEs(Pos(Succ(vyv24300))) -> new_primEqInt(Pos(Succ(vyv24300))) 214.33/146.05 new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) 214.33/146.05 new_esEs(Neg(Succ(vyv24300))) -> new_primEqInt(Neg(Succ(vyv24300))) 214.33/146.05 new_gcd2(True, vyv273, vyv272) -> new_gcd1(new_esEs(vyv272), vyv273, vyv272) 214.33/146.05 new_gcd2(False, vyv273, vyv272) -> new_gcd0(vyv273, vyv272) 214.33/146.05 new_gcd0(vyv273, vyv272) -> new_gcd0Gcd'11(new_esEs(new_abs(vyv272)), vyv273, vyv272) 214.33/146.05 new_abs(Neg(Zero)) -> Neg(Zero) 214.33/146.05 new_abs(Neg(Succ(vyv27200))) -> Pos(Succ(vyv27200)) 214.33/146.05 new_abs(Pos(Succ(vyv27200))) -> Pos(Succ(vyv27200)) 214.33/146.05 new_abs(Pos(Zero)) -> Pos(Zero) 214.33/146.05 new_gcd0Gcd'11(True, vyv273, vyv272) -> new_abs(vyv273) 214.33/146.05 new_gcd0Gcd'11(False, vyv273, vyv272) -> new_gcd0Gcd'00(new_abs(vyv273), new_abs(vyv272)) 214.33/146.05 new_gcd0Gcd'00(vyv293, vyv292) -> new_gcd0Gcd'10(new_esEs(new_rem(vyv293, vyv292)), vyv292, vyv293) 214.33/146.05 new_gcd0Gcd'10(False, vyv292, vyv293) -> new_gcd0Gcd'00(vyv292, new_rem(vyv293, vyv292)) 214.33/146.05 new_rem(Pos(vyv2930), Neg(Zero)) -> new_error 214.33/146.05 new_rem(Neg(vyv2930), Pos(Zero)) -> new_error 214.33/146.05 new_rem(Pos(vyv2930), Neg(Succ(vyv29200))) -> Pos(new_primModNatS1(vyv2930, vyv29200)) 214.33/146.05 new_rem(Neg(vyv2930), Pos(Succ(vyv29200))) -> Neg(new_primModNatS1(vyv2930, vyv29200)) 214.33/146.05 new_rem(Pos(vyv2930), Pos(Succ(vyv29200))) -> Pos(new_primModNatS1(vyv2930, vyv29200)) 214.33/146.05 new_rem(Neg(vyv2930), Neg(Zero)) -> new_error 214.33/146.05 new_rem(Neg(vyv2930), Neg(Succ(vyv29200))) -> Neg(new_primModNatS1(vyv2930, vyv29200)) 214.33/146.05 new_rem(Pos(vyv2930), Pos(Zero)) -> new_error 214.33/146.05 new_gcd0Gcd'10(True, vyv292, vyv293) -> vyv292 214.33/146.05 new_primModNatS1(Succ(Zero), Succ(vyv292000)) -> Succ(Zero) 214.33/146.05 new_primModNatS1(Zero, vyv29200) -> Zero 214.33/146.05 new_primModNatS1(Succ(Succ(vyv293000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv293000), Zero) 214.33/146.05 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 214.33/146.05 new_primModNatS1(Succ(Succ(vyv293000)), Succ(vyv292000)) -> new_primModNatS01(vyv293000, vyv292000, vyv293000, vyv292000) 214.33/146.05 new_primModNatS01(vyv331, vyv332, Zero, Zero) -> new_primModNatS02(vyv331, vyv332) 214.33/146.05 new_primModNatS02(vyv331, vyv332) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv331), Succ(vyv332)), Succ(vyv332)) 214.33/146.05 new_primModNatS01(vyv331, vyv332, Succ(vyv3330), Zero) -> new_primModNatS02(vyv331, vyv332) 214.33/146.05 new_primModNatS01(vyv331, vyv332, Succ(vyv3330), Succ(vyv3340)) -> new_primModNatS01(vyv331, vyv332, vyv3330, vyv3340) 214.33/146.05 new_primModNatS01(vyv331, vyv332, Zero, Succ(vyv3340)) -> Succ(Succ(vyv331)) 214.33/146.05 new_gcd1(True, vyv273, vyv272) -> new_error 214.33/146.05 new_gcd1(False, vyv273, vyv272) -> new_gcd0(vyv273, vyv272) 214.33/146.05 new_primEqInt(Neg(Succ(vyv242000))) -> False 214.33/146.05 new_primEqInt(Pos(Zero)) -> True 214.33/146.05 new_primEqInt(Pos(Succ(vyv242000))) -> False 214.33/146.05 new_primEqInt(Neg(Zero)) -> True 214.33/146.05 new_primQuotInt(vyv2710, Pos(Succ(vyv28500))) -> Pos(new_primDivNatS1(vyv2710, vyv28500)) 214.33/146.05 new_primQuotInt(vyv2710, Neg(Zero)) -> new_error 214.33/146.05 new_primQuotInt(vyv2710, Pos(Zero)) -> new_error 214.33/146.05 new_primQuotInt(vyv2710, Neg(Succ(vyv28500))) -> Neg(new_primDivNatS1(vyv2710, vyv28500)) 214.33/146.05 new_primMulNat0(Zero, Succ(vyv23900)) -> Zero 214.33/146.05 new_primMulNat0(Succ(vyv24000), Succ(vyv23900)) -> new_primPlusNat0(new_primMulNat0(vyv24000, Succ(vyv23900)), Succ(vyv23900)) 214.33/146.05 new_primMulNat0(Succ(vyv24000), Zero) -> Zero 214.33/146.05 new_primMulNat0(Zero, Zero) -> Zero 214.33/146.05 new_primPlusNat0(Succ(vyv4000), Succ(vyv6000)) -> Succ(Succ(new_primPlusNat0(vyv4000, vyv6000))) 214.33/146.05 new_primPlusNat0(Zero, Succ(vyv6000)) -> Succ(vyv6000) 214.33/146.05 new_primPlusNat0(Zero, Zero) -> Zero 214.33/146.05 new_primPlusNat0(Succ(vyv4000), Zero) -> Succ(vyv4000) 214.33/146.05 new_esEs1(Integer(vyv2700)) -> new_primEqInt(vyv2700) 214.33/146.05 new_sr1(vyv228, ty_Double) -> new_sr11(vyv228) 214.33/146.05 new_sr1(vyv228, ty_Float) -> new_sr12(vyv228) 214.33/146.05 new_sr1(vyv228, app(ty_Ratio, bg)) -> new_sr5(vyv228, bg) 214.33/146.05 new_sr1(vyv228, ty_Integer) -> new_sr6(vyv228) 214.33/146.05 new_sr1(vyv228, ty_Int) -> new_sr7(vyv228) 214.33/146.05 new_sr7(Pos(vyv1840)) -> Pos(new_primMulNat1(vyv1840)) 214.33/146.05 new_sr7(Neg(vyv1840)) -> Pos(new_primMulNat1(vyv1840)) 214.33/146.05 new_primMulNat1(Succ(vyv18400)) -> new_primPlusNat0(new_primMulNat2(vyv18400), Succ(vyv18400)) 214.33/146.05 new_primMulNat1(Zero) -> Zero 214.33/146.05 new_primMulNat2(Succ(vyv184000)) -> new_primPlusNat0(new_primMulNat3(vyv184000), Succ(Succ(vyv184000))) 214.33/146.05 new_primMulNat2(Zero) -> Zero 214.33/146.05 new_primMulNat3(Succ(vyv1840000)) -> new_primPlusNat0(new_primMulNat4(vyv1840000), Succ(Succ(Succ(vyv1840000)))) 214.33/146.05 new_primMulNat3(Zero) -> Zero 214.33/146.05 new_primMulNat4(Succ(vyv18400000)) -> new_primPlusNat0(new_primMulNat0(vyv18400000, Succ(Succ(Succ(Succ(vyv18400000))))), Succ(Succ(Succ(Succ(vyv18400000))))) 214.33/146.05 new_primMulNat4(Zero) -> Zero 214.33/146.05 new_sr6(vyv184) -> error([]) 214.33/146.05 new_sr5(:%(vyv1840, vyv1841), bd) -> new_reduce2Reduce1(vyv1840, vyv1840, vyv1841, vyv1841, new_esEs0(vyv1841, bd), bd) 214.33/146.05 new_esEs0(vyv1841, ty_Int) -> new_esEs(new_sr7(vyv1841)) 214.33/146.05 new_esEs0(vyv1841, ty_Integer) -> new_esEs1(new_sr6(vyv1841)) 214.33/146.05 new_sr12(vyv184) -> error([]) 214.33/146.05 new_sr11(vyv184) -> error([]) 214.33/146.05 214.33/146.05 The set Q consists of the following terms: 214.33/146.05 214.33/146.05 new_sr13(x0, x1) 214.33/146.05 new_primDivNatS01(x0, x1, Zero, Zero) 214.33/146.05 new_gcd0Gcd'11(False, x0, x1) 214.33/146.05 new_primMulNat4(Zero) 214.33/146.05 new_gcd0Gcd'11(True, x0, x1) 214.33/146.05 new_sr2(x0, x1, ty_Float) 214.33/146.05 new_sr5(:%(x0, x1), x2) 214.33/146.05 new_primEqInt(Pos(Zero)) 214.33/146.05 new_sr2(x0, x1, ty_Double) 214.33/146.05 new_esEs(Pos(Succ(x0))) 214.33/146.05 new_primQuotInt0(x0, Neg(Zero)) 214.33/146.05 new_primMulNat3(Zero) 214.33/146.05 new_primModNatS02(x0, x1) 214.33/146.05 new_primDivNatS1(Succ(Zero), Zero) 214.33/146.05 new_primMinusNatS0(x0) 214.33/146.05 new_sr11(x0) 214.33/146.05 new_rem(Pos(x0), Neg(Succ(x1))) 214.33/146.05 new_rem(Neg(x0), Pos(Succ(x1))) 214.33/146.05 new_primMulNat0(Zero, Zero) 214.33/146.05 new_primPlusNat0(Succ(x0), Zero) 214.33/146.05 new_primMulNat0(Succ(x0), Zero) 214.33/146.05 new_primMulNat2(Zero) 214.33/146.05 new_primQuotInt(x0, Pos(Zero)) 214.33/146.05 new_primMulNat2(Succ(x0)) 214.33/146.05 new_primQuotInt(x0, Neg(Zero)) 214.33/146.05 new_rem(Neg(x0), Neg(Succ(x1))) 214.33/146.05 new_primMinusNatS2(Zero, Succ(x0)) 214.33/146.05 new_primMulNat3(Succ(x0)) 214.33/146.05 new_esEs1(Integer(x0)) 214.33/146.05 new_primQuotInt0(x0, Pos(Zero)) 214.33/146.05 new_gcd2(True, x0, x1) 214.33/146.05 new_quot1(x0, x1, x2, x3, ty_Int) 214.33/146.05 new_primDivNatS1(Zero, x0) 214.33/146.05 new_primMinusNat0(Zero, Zero) 214.33/146.05 new_gcd(x0, x1) 214.33/146.05 new_gcd1(False, x0, x1) 214.33/146.05 new_esEs2(x0, x1, ty_Int) 214.33/146.05 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 214.33/146.05 new_sr1(x0, app(ty_Ratio, x1)) 214.33/146.05 new_sr1(x0, ty_Float) 214.33/146.05 new_primPlusNat0(Zero, Succ(x0)) 214.33/146.05 new_sr8(:%(x0, x1), :%(x2, x3), x4) 214.33/146.05 new_abs(Neg(Zero)) 214.33/146.05 new_primMinusNatS2(Succ(x0), Zero) 214.33/146.05 new_error 214.33/146.05 new_primModNatS1(Succ(Zero), Zero) 214.33/146.05 new_primMulNat4(Succ(x0)) 214.33/146.05 new_sr1(x0, ty_Integer) 214.33/146.05 new_primDivNatS02(x0, x1) 214.33/146.05 new_sr1(x0, ty_Int) 214.33/146.05 new_rem(Neg(x0), Neg(Zero)) 214.33/146.05 new_primMinusNat0(Zero, Succ(x0)) 214.33/146.05 new_primEqInt(Neg(Zero)) 214.33/146.05 new_rem(Pos(x0), Pos(Succ(x1))) 214.33/146.05 new_abs(Pos(Succ(x0))) 214.33/146.05 new_primMulNat0(Succ(x0), Succ(x1)) 214.33/146.05 new_primMulNat0(Zero, Succ(x0)) 214.33/146.05 new_reduce2Reduce1(x0, x1, x2, x3, True, x4) 214.33/146.05 new_gcd0Gcd'10(False, x0, x1) 214.33/146.05 new_sr12(x0) 214.33/146.05 new_primDivNatS01(x0, x1, Zero, Succ(x2)) 214.33/146.05 new_sr10(Pos(x0), Pos(x1)) 214.33/146.05 new_primModNatS01(x0, x1, Zero, Succ(x2)) 214.33/146.05 new_primPlusNat0(Zero, Zero) 214.33/146.05 new_primQuotInt0(x0, Pos(Succ(x1))) 214.33/146.05 new_primModNatS01(x0, x1, Succ(x2), Zero) 214.33/146.05 new_primModNatS1(Succ(Succ(x0)), Zero) 214.33/146.05 new_rem(Pos(x0), Pos(Zero)) 214.33/146.05 new_quot(Pos(x0), x1, x2) 214.33/146.05 new_primMinusNatS2(Zero, Zero) 214.33/146.05 new_esEs0(x0, ty_Int) 214.33/146.05 new_primMinusNat0(Succ(x0), Zero) 214.33/146.05 new_esEs(Pos(Zero)) 214.33/146.05 new_quot(Neg(x0), x1, x2) 214.33/146.05 new_primDivNatS01(x0, x1, Succ(x2), Succ(x3)) 214.33/146.05 new_quot2(x0, x1, x2) 214.33/146.05 new_primEqInt(Neg(Succ(x0))) 214.33/146.05 new_sr10(Neg(x0), Neg(x1)) 214.33/146.05 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 214.33/146.05 new_sr9(x0, x1) 214.33/146.05 new_sr2(x0, x1, ty_Integer) 214.33/146.05 new_sr7(Neg(x0)) 214.33/146.05 new_sr1(x0, ty_Double) 214.33/146.05 new_primQuotInt0(x0, Neg(Succ(x1))) 214.33/146.05 new_rem(Pos(x0), Neg(Zero)) 214.33/146.05 new_rem(Neg(x0), Pos(Zero)) 214.33/146.05 new_gcd0Gcd'00(x0, x1) 214.33/146.05 new_primQuotInt(x0, Neg(Succ(x1))) 214.33/146.05 new_primMinusNatS2(Succ(x0), Succ(x1)) 214.33/146.05 new_abs(Pos(Zero)) 214.33/146.05 new_primMinusNat0(Succ(x0), Succ(x1)) 214.33/146.05 new_quot0(x0, x1, x2, x3, ty_Integer) 214.33/146.05 new_sr6(x0) 214.33/146.05 new_gcd2(False, x0, x1) 214.33/146.05 new_gcd1(True, x0, x1) 214.33/146.05 new_esEs2(x0, x1, ty_Integer) 214.33/146.05 new_primMinusNatS1 214.33/146.05 new_sr7(Pos(x0)) 214.33/146.05 new_gcd0Gcd'10(True, x0, x1) 214.33/146.05 new_primModNatS1(Zero, x0) 214.33/146.05 new_sr10(Pos(x0), Neg(x1)) 214.33/146.05 new_sr10(Neg(x0), Pos(x1)) 214.33/146.05 new_primDivNatS01(x0, x1, Succ(x2), Zero) 214.33/146.05 new_primDivNatS1(Succ(Succ(x0)), Succ(x1)) 214.33/146.05 new_primPlusNat0(Succ(x0), Succ(x1)) 214.33/146.05 new_primDivNatS1(Succ(Zero), Succ(x0)) 214.33/146.05 new_primQuotInt(x0, Pos(Succ(x1))) 214.33/146.05 new_sr2(x0, x1, app(ty_Ratio, x2)) 214.33/146.05 new_abs(Neg(Succ(x0))) 214.33/146.05 new_esEs0(x0, ty_Integer) 214.33/146.05 new_esEs(Neg(Succ(x0))) 214.33/146.05 new_primModNatS01(x0, x1, Zero, Zero) 214.33/146.05 new_gcd0(x0, x1) 214.33/146.05 new_primEqInt(Pos(Succ(x0))) 214.33/146.05 new_quot1(x0, x1, x2, x3, ty_Integer) 214.33/146.05 new_primDivNatS1(Succ(Succ(x0)), Zero) 214.33/146.05 new_primMulNat1(Succ(x0)) 214.33/146.05 new_sr14(x0, x1) 214.33/146.05 new_quot0(x0, x1, x2, x3, ty_Int) 214.33/146.05 new_sr2(x0, x1, ty_Int) 214.33/146.05 new_primModNatS1(Succ(Zero), Succ(x0)) 214.33/146.05 new_reduce2Reduce1(x0, x1, x2, x3, False, x4) 214.33/146.05 new_esEs(Neg(Zero)) 214.33/146.05 new_primMulNat1(Zero) 214.33/146.05 214.33/146.05 We have to consider all minimal (P,Q,R)-chains. 214.33/146.05 ---------------------------------------- 214.33/146.05 214.33/146.05 (896) TransformationProof (EQUIVALENT) 214.33/146.05 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]: 214.33/146.05 214.33/146.05 (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)) 214.33/146.05 214.33/146.05 214.33/146.05 ---------------------------------------- 214.33/146.05 214.33/146.05 (897) 214.33/146.05 Obligation: 214.33/146.05 Q DP problem: 214.33/146.05 The TRS P consists of the following rules: 214.33/146.05 214.33/146.05 new_pr2F0G1(vyv227, vyv228, vyv229, Succ(Succ(vyv23000)), ba) -> new_pr2F0G1(vyv227, vyv228, vyv229, vyv23000, ba) 214.33/146.05 new_pr2F0G1(vyv227, vyv228, vyv229, Succ(Zero), ba) -> new_pr2F(vyv228, vyv229, Pos(Succ(Zero)), vyv227, ba) 214.33/146.05 new_pr2F0(vyv184, Pos(Succ(Succ(vyv223000))), vyv188, h) -> new_pr2F0G1(vyv188, vyv184, Succ(vyv223000), vyv223000, h) 214.33/146.05 new_pr2F0G1(vyv227, vyv228, vyv229, Zero, ba) -> new_pr2F0G(vyv227, new_sr1(vyv228, ba), Pos(new_primDivNatS1(Succ(vyv229), Succ(Zero))), ba) 214.33/146.05 new_pr2F0G(vyv188, vyv184, Pos(Succ(Succ(vyv223000))), h) -> new_pr2F0G1(vyv188, vyv184, Succ(vyv223000), vyv223000, h) 214.33/146.05 new_pr2F(y0, Succ(x0), Pos(Succ(Zero)), y2, y3) -> new_pr2F3(False, y0, Succ(x0), Pos(Succ(Zero)), y2, y3) 214.33/146.05 new_pr2F3(False, z0, Succ(z1), Pos(Succ(Zero)), z2, z3) -> new_pr2F0(z0, Pos(Succ(z1)), new_sr2(z0, z2, z3), z3) 214.33/146.05 214.33/146.05 The TRS R consists of the following rules: 214.33/146.05 214.33/146.05 new_primMinusNat0(Succ(vyv2290), Zero) -> Pos(Succ(vyv2290)) 214.33/146.05 new_sr2(vyv228, vyv227, ty_Integer) -> new_sr9(vyv228, vyv227) 214.33/146.05 new_sr2(vyv228, vyv227, ty_Int) -> new_sr10(vyv228, vyv227) 214.33/146.05 new_sr2(vyv228, vyv227, app(ty_Ratio, bg)) -> new_sr8(vyv228, vyv227, bg) 214.33/146.05 new_sr2(vyv228, vyv227, ty_Double) -> new_sr13(vyv228, vyv227) 214.33/146.05 new_sr2(vyv228, vyv227, ty_Float) -> new_sr14(vyv228, vyv227) 214.33/146.05 new_sr14(vyv240, vyv239) -> error([]) 214.33/146.05 new_sr13(vyv240, vyv239) -> error([]) 214.33/146.05 new_sr8(:%(vyv2400, vyv2401), :%(vyv2390, vyv2391), be) -> new_reduce2Reduce1(vyv2400, vyv2390, vyv2401, vyv2391, new_esEs2(vyv2401, vyv2391, be), be) 214.33/146.05 new_esEs2(vyv2401, vyv2391, ty_Integer) -> new_esEs1(new_sr9(vyv2401, vyv2391)) 214.33/146.05 new_esEs2(vyv2401, vyv2391, ty_Int) -> new_esEs(new_sr10(vyv2401, vyv2391)) 214.33/146.05 new_reduce2Reduce1(vyv265, vyv266, vyv267, vyv268, False, bh) -> :%(new_quot0(vyv265, vyv266, vyv267, vyv268, bh), new_quot1(vyv267, vyv268, vyv265, vyv266, bh)) 214.33/146.05 new_reduce2Reduce1(vyv265, vyv266, vyv267, vyv268, True, bh) -> error([]) 214.33/146.05 new_quot0(vyv265, vyv266, vyv267, vyv268, ty_Integer) -> new_quot2(new_sr9(vyv265, vyv266), new_sr9(vyv265, vyv266), new_sr9(vyv267, vyv268)) 214.33/146.05 new_quot0(vyv265, vyv266, vyv267, vyv268, ty_Int) -> new_quot(new_sr10(vyv265, vyv266), new_sr10(vyv265, vyv266), new_sr10(vyv267, vyv268)) 214.33/146.05 new_quot1(vyv267, vyv268, vyv265, vyv266, ty_Int) -> new_quot(new_sr10(vyv267, vyv268), new_sr10(vyv265, vyv266), new_sr10(vyv267, vyv268)) 214.33/146.05 new_quot1(vyv267, vyv268, vyv265, vyv266, ty_Integer) -> new_quot2(new_sr9(vyv267, vyv268), new_sr9(vyv265, vyv266), new_sr9(vyv267, vyv268)) 214.33/146.05 new_sr9(vyv240, vyv239) -> error([]) 214.33/146.05 new_quot2(vyv274, vyv276, vyv275) -> error([]) 214.33/146.05 new_sr10(Pos(vyv2400), Pos(vyv2390)) -> Pos(new_primMulNat0(vyv2400, vyv2390)) 214.33/146.05 new_sr10(Neg(vyv2400), Neg(vyv2390)) -> Pos(new_primMulNat0(vyv2400, vyv2390)) 214.33/146.05 new_sr10(Pos(vyv2400), Neg(vyv2390)) -> Neg(new_primMulNat0(vyv2400, vyv2390)) 214.33/146.05 new_sr10(Neg(vyv2400), Pos(vyv2390)) -> Neg(new_primMulNat0(vyv2400, vyv2390)) 214.33/146.05 new_quot(Pos(vyv2710), vyv273, vyv272) -> new_primQuotInt(vyv2710, new_gcd(vyv273, vyv272)) 214.33/146.05 new_quot(Neg(vyv2710), vyv273, vyv272) -> new_primQuotInt0(vyv2710, new_gcd(vyv273, vyv272)) 214.33/146.05 new_gcd(vyv273, vyv272) -> new_gcd2(new_esEs(vyv273), vyv273, vyv272) 214.33/146.05 new_primQuotInt0(vyv2710, Pos(Succ(vyv28800))) -> Neg(new_primDivNatS1(vyv2710, vyv28800)) 214.33/146.05 new_primQuotInt0(vyv2710, Neg(Zero)) -> new_error 214.33/146.05 new_primQuotInt0(vyv2710, Neg(Succ(vyv28800))) -> Pos(new_primDivNatS1(vyv2710, vyv28800)) 214.33/146.05 new_primQuotInt0(vyv2710, Pos(Zero)) -> new_error 214.33/146.05 new_error -> error([]) 214.33/146.05 new_primDivNatS1(Succ(Zero), Succ(vyv285000)) -> Zero 214.33/146.05 new_primDivNatS1(Succ(Succ(vyv271000)), Succ(vyv285000)) -> new_primDivNatS01(vyv271000, vyv285000, vyv271000, vyv285000) 214.33/146.05 new_primDivNatS1(Zero, vyv28500) -> Zero 214.33/146.05 new_primDivNatS1(Succ(Succ(vyv271000)), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS0(vyv271000), Zero)) 214.33/146.05 new_primDivNatS1(Succ(Zero), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS1, Zero)) 214.33/146.05 new_primMinusNatS1 -> Zero 214.33/146.05 new_primMinusNatS0(vyv271000) -> Succ(vyv271000) 214.33/146.05 new_primDivNatS01(vyv311, vyv312, Succ(vyv3130), Zero) -> new_primDivNatS02(vyv311, vyv312) 214.33/146.05 new_primDivNatS01(vyv311, vyv312, Zero, Succ(vyv3140)) -> Zero 214.33/146.05 new_primDivNatS01(vyv311, vyv312, Succ(vyv3130), Succ(vyv3140)) -> new_primDivNatS01(vyv311, vyv312, vyv3130, vyv3140) 214.33/146.05 new_primDivNatS01(vyv311, vyv312, Zero, Zero) -> new_primDivNatS02(vyv311, vyv312) 214.33/146.05 new_primDivNatS02(vyv311, vyv312) -> Succ(new_primDivNatS1(new_primMinusNatS2(vyv311, vyv312), Succ(vyv312))) 214.33/146.05 new_primMinusNatS2(Zero, Succ(vyv3120)) -> Zero 214.33/146.05 new_primMinusNatS2(Succ(vyv3110), Zero) -> Succ(vyv3110) 214.33/146.05 new_primMinusNatS2(Zero, Zero) -> Zero 214.33/146.05 new_primMinusNatS2(Succ(vyv3110), Succ(vyv3120)) -> new_primMinusNatS2(vyv3110, vyv3120) 214.33/146.05 new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) 214.33/146.05 new_esEs(Pos(Succ(vyv24300))) -> new_primEqInt(Pos(Succ(vyv24300))) 214.33/146.05 new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) 214.33/146.05 new_esEs(Neg(Succ(vyv24300))) -> new_primEqInt(Neg(Succ(vyv24300))) 214.33/146.05 new_gcd2(True, vyv273, vyv272) -> new_gcd1(new_esEs(vyv272), vyv273, vyv272) 214.33/146.05 new_gcd2(False, vyv273, vyv272) -> new_gcd0(vyv273, vyv272) 214.33/146.05 new_gcd0(vyv273, vyv272) -> new_gcd0Gcd'11(new_esEs(new_abs(vyv272)), vyv273, vyv272) 214.33/146.05 new_abs(Neg(Zero)) -> Neg(Zero) 214.33/146.05 new_abs(Neg(Succ(vyv27200))) -> Pos(Succ(vyv27200)) 214.33/146.05 new_abs(Pos(Succ(vyv27200))) -> Pos(Succ(vyv27200)) 214.33/146.05 new_abs(Pos(Zero)) -> Pos(Zero) 214.33/146.05 new_gcd0Gcd'11(True, vyv273, vyv272) -> new_abs(vyv273) 214.33/146.05 new_gcd0Gcd'11(False, vyv273, vyv272) -> new_gcd0Gcd'00(new_abs(vyv273), new_abs(vyv272)) 214.33/146.05 new_gcd0Gcd'00(vyv293, vyv292) -> new_gcd0Gcd'10(new_esEs(new_rem(vyv293, vyv292)), vyv292, vyv293) 214.33/146.05 new_gcd0Gcd'10(False, vyv292, vyv293) -> new_gcd0Gcd'00(vyv292, new_rem(vyv293, vyv292)) 214.33/146.05 new_rem(Pos(vyv2930), Neg(Zero)) -> new_error 214.33/146.05 new_rem(Neg(vyv2930), Pos(Zero)) -> new_error 214.33/146.05 new_rem(Pos(vyv2930), Neg(Succ(vyv29200))) -> Pos(new_primModNatS1(vyv2930, vyv29200)) 214.33/146.05 new_rem(Neg(vyv2930), Pos(Succ(vyv29200))) -> Neg(new_primModNatS1(vyv2930, vyv29200)) 214.33/146.05 new_rem(Pos(vyv2930), Pos(Succ(vyv29200))) -> Pos(new_primModNatS1(vyv2930, vyv29200)) 214.33/146.05 new_rem(Neg(vyv2930), Neg(Zero)) -> new_error 214.33/146.05 new_rem(Neg(vyv2930), Neg(Succ(vyv29200))) -> Neg(new_primModNatS1(vyv2930, vyv29200)) 214.33/146.05 new_rem(Pos(vyv2930), Pos(Zero)) -> new_error 214.33/146.05 new_gcd0Gcd'10(True, vyv292, vyv293) -> vyv292 214.33/146.05 new_primModNatS1(Succ(Zero), Succ(vyv292000)) -> Succ(Zero) 214.33/146.05 new_primModNatS1(Zero, vyv29200) -> Zero 214.33/146.05 new_primModNatS1(Succ(Succ(vyv293000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv293000), Zero) 214.33/146.05 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 214.33/146.05 new_primModNatS1(Succ(Succ(vyv293000)), Succ(vyv292000)) -> new_primModNatS01(vyv293000, vyv292000, vyv293000, vyv292000) 214.33/146.05 new_primModNatS01(vyv331, vyv332, Zero, Zero) -> new_primModNatS02(vyv331, vyv332) 214.33/146.05 new_primModNatS02(vyv331, vyv332) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv331), Succ(vyv332)), Succ(vyv332)) 214.33/146.05 new_primModNatS01(vyv331, vyv332, Succ(vyv3330), Zero) -> new_primModNatS02(vyv331, vyv332) 214.33/146.05 new_primModNatS01(vyv331, vyv332, Succ(vyv3330), Succ(vyv3340)) -> new_primModNatS01(vyv331, vyv332, vyv3330, vyv3340) 214.33/146.05 new_primModNatS01(vyv331, vyv332, Zero, Succ(vyv3340)) -> Succ(Succ(vyv331)) 214.33/146.05 new_gcd1(True, vyv273, vyv272) -> new_error 214.33/146.05 new_gcd1(False, vyv273, vyv272) -> new_gcd0(vyv273, vyv272) 214.33/146.05 new_primEqInt(Neg(Succ(vyv242000))) -> False 214.33/146.05 new_primEqInt(Pos(Zero)) -> True 214.33/146.05 new_primEqInt(Pos(Succ(vyv242000))) -> False 214.33/146.05 new_primEqInt(Neg(Zero)) -> True 214.33/146.05 new_primQuotInt(vyv2710, Pos(Succ(vyv28500))) -> Pos(new_primDivNatS1(vyv2710, vyv28500)) 214.33/146.05 new_primQuotInt(vyv2710, Neg(Zero)) -> new_error 214.33/146.05 new_primQuotInt(vyv2710, Pos(Zero)) -> new_error 214.33/146.05 new_primQuotInt(vyv2710, Neg(Succ(vyv28500))) -> Neg(new_primDivNatS1(vyv2710, vyv28500)) 214.33/146.05 new_primMulNat0(Zero, Succ(vyv23900)) -> Zero 214.33/146.05 new_primMulNat0(Succ(vyv24000), Succ(vyv23900)) -> new_primPlusNat0(new_primMulNat0(vyv24000, Succ(vyv23900)), Succ(vyv23900)) 214.33/146.05 new_primMulNat0(Succ(vyv24000), Zero) -> Zero 214.33/146.05 new_primMulNat0(Zero, Zero) -> Zero 214.33/146.05 new_primPlusNat0(Succ(vyv4000), Succ(vyv6000)) -> Succ(Succ(new_primPlusNat0(vyv4000, vyv6000))) 214.33/146.05 new_primPlusNat0(Zero, Succ(vyv6000)) -> Succ(vyv6000) 214.33/146.05 new_primPlusNat0(Zero, Zero) -> Zero 214.33/146.05 new_primPlusNat0(Succ(vyv4000), Zero) -> Succ(vyv4000) 214.33/146.05 new_esEs1(Integer(vyv2700)) -> new_primEqInt(vyv2700) 214.33/146.05 new_sr1(vyv228, ty_Double) -> new_sr11(vyv228) 214.33/146.05 new_sr1(vyv228, ty_Float) -> new_sr12(vyv228) 214.33/146.05 new_sr1(vyv228, app(ty_Ratio, bg)) -> new_sr5(vyv228, bg) 214.33/146.05 new_sr1(vyv228, ty_Integer) -> new_sr6(vyv228) 214.33/146.05 new_sr1(vyv228, ty_Int) -> new_sr7(vyv228) 214.33/146.05 new_sr7(Pos(vyv1840)) -> Pos(new_primMulNat1(vyv1840)) 214.33/146.05 new_sr7(Neg(vyv1840)) -> Pos(new_primMulNat1(vyv1840)) 214.33/146.05 new_primMulNat1(Succ(vyv18400)) -> new_primPlusNat0(new_primMulNat2(vyv18400), Succ(vyv18400)) 214.33/146.05 new_primMulNat1(Zero) -> Zero 214.33/146.05 new_primMulNat2(Succ(vyv184000)) -> new_primPlusNat0(new_primMulNat3(vyv184000), Succ(Succ(vyv184000))) 214.33/146.05 new_primMulNat2(Zero) -> Zero 214.33/146.05 new_primMulNat3(Succ(vyv1840000)) -> new_primPlusNat0(new_primMulNat4(vyv1840000), Succ(Succ(Succ(vyv1840000)))) 214.33/146.05 new_primMulNat3(Zero) -> Zero 214.33/146.05 new_primMulNat4(Succ(vyv18400000)) -> new_primPlusNat0(new_primMulNat0(vyv18400000, Succ(Succ(Succ(Succ(vyv18400000))))), Succ(Succ(Succ(Succ(vyv18400000))))) 214.33/146.05 new_primMulNat4(Zero) -> Zero 214.33/146.05 new_sr6(vyv184) -> error([]) 214.33/146.05 new_sr5(:%(vyv1840, vyv1841), bd) -> new_reduce2Reduce1(vyv1840, vyv1840, vyv1841, vyv1841, new_esEs0(vyv1841, bd), bd) 214.33/146.05 new_esEs0(vyv1841, ty_Int) -> new_esEs(new_sr7(vyv1841)) 214.33/146.05 new_esEs0(vyv1841, ty_Integer) -> new_esEs1(new_sr6(vyv1841)) 214.33/146.05 new_sr12(vyv184) -> error([]) 214.33/146.05 new_sr11(vyv184) -> error([]) 214.33/146.05 214.33/146.05 The set Q consists of the following terms: 214.33/146.05 214.33/146.05 new_sr13(x0, x1) 214.33/146.05 new_primDivNatS01(x0, x1, Zero, Zero) 214.33/146.05 new_gcd0Gcd'11(False, x0, x1) 214.33/146.05 new_primMulNat4(Zero) 214.33/146.05 new_gcd0Gcd'11(True, x0, x1) 214.33/146.05 new_sr2(x0, x1, ty_Float) 214.33/146.05 new_sr5(:%(x0, x1), x2) 214.33/146.05 new_primEqInt(Pos(Zero)) 214.33/146.05 new_sr2(x0, x1, ty_Double) 214.33/146.05 new_esEs(Pos(Succ(x0))) 214.33/146.05 new_primQuotInt0(x0, Neg(Zero)) 214.33/146.05 new_primMulNat3(Zero) 214.33/146.05 new_primModNatS02(x0, x1) 214.33/146.05 new_primDivNatS1(Succ(Zero), Zero) 214.33/146.05 new_primMinusNatS0(x0) 214.33/146.05 new_sr11(x0) 214.33/146.05 new_rem(Pos(x0), Neg(Succ(x1))) 214.33/146.05 new_rem(Neg(x0), Pos(Succ(x1))) 214.33/146.05 new_primMulNat0(Zero, Zero) 214.33/146.05 new_primPlusNat0(Succ(x0), Zero) 214.33/146.05 new_primMulNat0(Succ(x0), Zero) 214.33/146.05 new_primMulNat2(Zero) 214.33/146.05 new_primQuotInt(x0, Pos(Zero)) 214.33/146.05 new_primMulNat2(Succ(x0)) 214.33/146.05 new_primQuotInt(x0, Neg(Zero)) 214.33/146.05 new_rem(Neg(x0), Neg(Succ(x1))) 214.33/146.05 new_primMinusNatS2(Zero, Succ(x0)) 214.33/146.05 new_primMulNat3(Succ(x0)) 214.33/146.05 new_esEs1(Integer(x0)) 214.33/146.05 new_primQuotInt0(x0, Pos(Zero)) 214.33/146.05 new_gcd2(True, x0, x1) 214.33/146.05 new_quot1(x0, x1, x2, x3, ty_Int) 214.33/146.05 new_primDivNatS1(Zero, x0) 214.33/146.05 new_primMinusNat0(Zero, Zero) 214.33/146.05 new_gcd(x0, x1) 214.33/146.05 new_gcd1(False, x0, x1) 214.33/146.05 new_esEs2(x0, x1, ty_Int) 214.33/146.05 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 214.33/146.05 new_sr1(x0, app(ty_Ratio, x1)) 214.33/146.05 new_sr1(x0, ty_Float) 214.33/146.05 new_primPlusNat0(Zero, Succ(x0)) 214.33/146.05 new_sr8(:%(x0, x1), :%(x2, x3), x4) 214.33/146.05 new_abs(Neg(Zero)) 214.33/146.05 new_primMinusNatS2(Succ(x0), Zero) 214.33/146.05 new_error 214.33/146.05 new_primModNatS1(Succ(Zero), Zero) 214.33/146.05 new_primMulNat4(Succ(x0)) 214.33/146.05 new_sr1(x0, ty_Integer) 214.33/146.05 new_primDivNatS02(x0, x1) 214.33/146.05 new_sr1(x0, ty_Int) 214.33/146.05 new_rem(Neg(x0), Neg(Zero)) 214.33/146.05 new_primMinusNat0(Zero, Succ(x0)) 214.33/146.05 new_primEqInt(Neg(Zero)) 214.33/146.05 new_rem(Pos(x0), Pos(Succ(x1))) 214.33/146.05 new_abs(Pos(Succ(x0))) 214.33/146.05 new_primMulNat0(Succ(x0), Succ(x1)) 214.33/146.05 new_primMulNat0(Zero, Succ(x0)) 214.33/146.05 new_reduce2Reduce1(x0, x1, x2, x3, True, x4) 214.33/146.05 new_gcd0Gcd'10(False, x0, x1) 214.33/146.05 new_sr12(x0) 214.33/146.05 new_primDivNatS01(x0, x1, Zero, Succ(x2)) 214.33/146.05 new_sr10(Pos(x0), Pos(x1)) 214.33/146.05 new_primModNatS01(x0, x1, Zero, Succ(x2)) 214.33/146.05 new_primPlusNat0(Zero, Zero) 214.33/146.05 new_primQuotInt0(x0, Pos(Succ(x1))) 214.33/146.05 new_primModNatS01(x0, x1, Succ(x2), Zero) 214.33/146.05 new_primModNatS1(Succ(Succ(x0)), Zero) 214.33/146.05 new_rem(Pos(x0), Pos(Zero)) 214.33/146.05 new_quot(Pos(x0), x1, x2) 214.33/146.05 new_primMinusNatS2(Zero, Zero) 214.33/146.05 new_esEs0(x0, ty_Int) 214.33/146.05 new_primMinusNat0(Succ(x0), Zero) 214.33/146.05 new_esEs(Pos(Zero)) 214.33/146.05 new_quot(Neg(x0), x1, x2) 214.33/146.05 new_primDivNatS01(x0, x1, Succ(x2), Succ(x3)) 214.33/146.05 new_quot2(x0, x1, x2) 214.33/146.05 new_primEqInt(Neg(Succ(x0))) 214.33/146.05 new_sr10(Neg(x0), Neg(x1)) 214.33/146.05 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 214.33/146.05 new_sr9(x0, x1) 214.33/146.05 new_sr2(x0, x1, ty_Integer) 214.33/146.05 new_sr7(Neg(x0)) 214.33/146.05 new_sr1(x0, ty_Double) 214.33/146.05 new_primQuotInt0(x0, Neg(Succ(x1))) 214.33/146.05 new_rem(Pos(x0), Neg(Zero)) 214.33/146.05 new_rem(Neg(x0), Pos(Zero)) 214.33/146.05 new_gcd0Gcd'00(x0, x1) 214.33/146.05 new_primQuotInt(x0, Neg(Succ(x1))) 214.33/146.05 new_primMinusNatS2(Succ(x0), Succ(x1)) 214.33/146.05 new_abs(Pos(Zero)) 214.33/146.05 new_primMinusNat0(Succ(x0), Succ(x1)) 214.33/146.05 new_quot0(x0, x1, x2, x3, ty_Integer) 214.33/146.05 new_sr6(x0) 214.33/146.05 new_gcd2(False, x0, x1) 214.33/146.05 new_gcd1(True, x0, x1) 214.33/146.05 new_esEs2(x0, x1, ty_Integer) 214.33/146.05 new_primMinusNatS1 214.33/146.05 new_sr7(Pos(x0)) 214.33/146.05 new_gcd0Gcd'10(True, x0, x1) 214.33/146.05 new_primModNatS1(Zero, x0) 214.33/146.05 new_sr10(Pos(x0), Neg(x1)) 214.33/146.05 new_sr10(Neg(x0), Pos(x1)) 214.33/146.05 new_primDivNatS01(x0, x1, Succ(x2), Zero) 214.33/146.05 new_primDivNatS1(Succ(Succ(x0)), Succ(x1)) 214.33/146.05 new_primPlusNat0(Succ(x0), Succ(x1)) 214.33/146.05 new_primDivNatS1(Succ(Zero), Succ(x0)) 214.33/146.05 new_primQuotInt(x0, Pos(Succ(x1))) 214.33/146.05 new_sr2(x0, x1, app(ty_Ratio, x2)) 214.33/146.05 new_abs(Neg(Succ(x0))) 214.33/146.05 new_esEs0(x0, ty_Integer) 214.33/146.05 new_esEs(Neg(Succ(x0))) 214.33/146.05 new_primModNatS01(x0, x1, Zero, Zero) 214.33/146.05 new_gcd0(x0, x1) 214.33/146.05 new_primEqInt(Pos(Succ(x0))) 214.33/146.05 new_quot1(x0, x1, x2, x3, ty_Integer) 214.33/146.05 new_primDivNatS1(Succ(Succ(x0)), Zero) 214.33/146.05 new_primMulNat1(Succ(x0)) 214.33/146.05 new_sr14(x0, x1) 214.33/146.05 new_quot0(x0, x1, x2, x3, ty_Int) 214.33/146.05 new_sr2(x0, x1, ty_Int) 214.33/146.05 new_primModNatS1(Succ(Zero), Succ(x0)) 214.33/146.05 new_reduce2Reduce1(x0, x1, x2, x3, False, x4) 214.33/146.05 new_esEs(Neg(Zero)) 214.33/146.05 new_primMulNat1(Zero) 214.33/146.05 214.33/146.05 We have to consider all minimal (P,Q,R)-chains. 214.33/146.05 ---------------------------------------- 214.33/146.05 214.33/146.05 (898) UsableRulesProof (EQUIVALENT) 214.33/146.05 As all Q-normal forms are R-normal forms we are in the innermost case. Hence, by the usable rules processor [LPAR04] we can delete all non-usable rules [FROCOS05] from R. 214.33/146.05 ---------------------------------------- 214.33/146.05 214.33/146.05 (899) 214.33/146.05 Obligation: 214.33/146.05 Q DP problem: 214.33/146.05 The TRS P consists of the following rules: 214.33/146.05 214.33/146.05 new_pr2F0G1(vyv227, vyv228, vyv229, Succ(Succ(vyv23000)), ba) -> new_pr2F0G1(vyv227, vyv228, vyv229, vyv23000, ba) 214.33/146.05 new_pr2F0G1(vyv227, vyv228, vyv229, Succ(Zero), ba) -> new_pr2F(vyv228, vyv229, Pos(Succ(Zero)), vyv227, ba) 214.33/146.05 new_pr2F0(vyv184, Pos(Succ(Succ(vyv223000))), vyv188, h) -> new_pr2F0G1(vyv188, vyv184, Succ(vyv223000), vyv223000, h) 214.33/146.05 new_pr2F0G1(vyv227, vyv228, vyv229, Zero, ba) -> new_pr2F0G(vyv227, new_sr1(vyv228, ba), Pos(new_primDivNatS1(Succ(vyv229), Succ(Zero))), ba) 214.33/146.05 new_pr2F0G(vyv188, vyv184, Pos(Succ(Succ(vyv223000))), h) -> new_pr2F0G1(vyv188, vyv184, Succ(vyv223000), vyv223000, h) 214.33/146.05 new_pr2F(y0, Succ(x0), Pos(Succ(Zero)), y2, y3) -> new_pr2F3(False, y0, Succ(x0), Pos(Succ(Zero)), y2, y3) 214.33/146.05 new_pr2F3(False, z0, Succ(z1), Pos(Succ(Zero)), z2, z3) -> new_pr2F0(z0, Pos(Succ(z1)), new_sr2(z0, z2, z3), z3) 214.33/146.05 214.33/146.05 The TRS R consists of the following rules: 214.33/146.05 214.33/146.05 new_sr2(vyv228, vyv227, ty_Integer) -> new_sr9(vyv228, vyv227) 214.33/146.05 new_sr2(vyv228, vyv227, ty_Int) -> new_sr10(vyv228, vyv227) 214.33/146.05 new_sr2(vyv228, vyv227, app(ty_Ratio, bg)) -> new_sr8(vyv228, vyv227, bg) 214.33/146.05 new_sr2(vyv228, vyv227, ty_Double) -> new_sr13(vyv228, vyv227) 214.33/146.05 new_sr2(vyv228, vyv227, ty_Float) -> new_sr14(vyv228, vyv227) 214.33/146.05 new_sr14(vyv240, vyv239) -> error([]) 214.33/146.05 new_sr13(vyv240, vyv239) -> error([]) 214.33/146.05 new_sr8(:%(vyv2400, vyv2401), :%(vyv2390, vyv2391), be) -> new_reduce2Reduce1(vyv2400, vyv2390, vyv2401, vyv2391, new_esEs2(vyv2401, vyv2391, be), be) 214.33/146.05 new_esEs2(vyv2401, vyv2391, ty_Integer) -> new_esEs1(new_sr9(vyv2401, vyv2391)) 214.33/146.05 new_esEs2(vyv2401, vyv2391, ty_Int) -> new_esEs(new_sr10(vyv2401, vyv2391)) 214.33/146.05 new_reduce2Reduce1(vyv265, vyv266, vyv267, vyv268, False, bh) -> :%(new_quot0(vyv265, vyv266, vyv267, vyv268, bh), new_quot1(vyv267, vyv268, vyv265, vyv266, bh)) 214.33/146.05 new_reduce2Reduce1(vyv265, vyv266, vyv267, vyv268, True, bh) -> error([]) 214.33/146.05 new_quot0(vyv265, vyv266, vyv267, vyv268, ty_Integer) -> new_quot2(new_sr9(vyv265, vyv266), new_sr9(vyv265, vyv266), new_sr9(vyv267, vyv268)) 214.33/146.05 new_quot0(vyv265, vyv266, vyv267, vyv268, ty_Int) -> new_quot(new_sr10(vyv265, vyv266), new_sr10(vyv265, vyv266), new_sr10(vyv267, vyv268)) 214.33/146.05 new_quot1(vyv267, vyv268, vyv265, vyv266, ty_Int) -> new_quot(new_sr10(vyv267, vyv268), new_sr10(vyv265, vyv266), new_sr10(vyv267, vyv268)) 214.33/146.05 new_quot1(vyv267, vyv268, vyv265, vyv266, ty_Integer) -> new_quot2(new_sr9(vyv267, vyv268), new_sr9(vyv265, vyv266), new_sr9(vyv267, vyv268)) 214.33/146.05 new_sr9(vyv240, vyv239) -> error([]) 214.33/146.05 new_quot2(vyv274, vyv276, vyv275) -> error([]) 214.33/146.05 new_sr10(Pos(vyv2400), Pos(vyv2390)) -> Pos(new_primMulNat0(vyv2400, vyv2390)) 214.33/146.05 new_sr10(Neg(vyv2400), Neg(vyv2390)) -> Pos(new_primMulNat0(vyv2400, vyv2390)) 214.33/146.05 new_sr10(Pos(vyv2400), Neg(vyv2390)) -> Neg(new_primMulNat0(vyv2400, vyv2390)) 214.33/146.05 new_sr10(Neg(vyv2400), Pos(vyv2390)) -> Neg(new_primMulNat0(vyv2400, vyv2390)) 214.33/146.05 new_quot(Pos(vyv2710), vyv273, vyv272) -> new_primQuotInt(vyv2710, new_gcd(vyv273, vyv272)) 214.33/146.05 new_quot(Neg(vyv2710), vyv273, vyv272) -> new_primQuotInt0(vyv2710, new_gcd(vyv273, vyv272)) 214.33/146.05 new_gcd(vyv273, vyv272) -> new_gcd2(new_esEs(vyv273), vyv273, vyv272) 214.33/146.05 new_primQuotInt0(vyv2710, Pos(Succ(vyv28800))) -> Neg(new_primDivNatS1(vyv2710, vyv28800)) 214.33/146.05 new_primQuotInt0(vyv2710, Neg(Zero)) -> new_error 214.33/146.05 new_primQuotInt0(vyv2710, Neg(Succ(vyv28800))) -> Pos(new_primDivNatS1(vyv2710, vyv28800)) 214.33/146.05 new_primQuotInt0(vyv2710, Pos(Zero)) -> new_error 214.33/146.05 new_error -> error([]) 214.33/146.05 new_primDivNatS1(Succ(Zero), Succ(vyv285000)) -> Zero 214.33/146.05 new_primDivNatS1(Succ(Succ(vyv271000)), Succ(vyv285000)) -> new_primDivNatS01(vyv271000, vyv285000, vyv271000, vyv285000) 214.33/146.05 new_primDivNatS1(Zero, vyv28500) -> Zero 214.33/146.05 new_primDivNatS1(Succ(Succ(vyv271000)), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS0(vyv271000), Zero)) 214.33/146.05 new_primDivNatS1(Succ(Zero), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS1, Zero)) 214.33/146.05 new_primMinusNatS1 -> Zero 214.33/146.05 new_primMinusNatS0(vyv271000) -> Succ(vyv271000) 214.33/146.05 new_primDivNatS01(vyv311, vyv312, Succ(vyv3130), Zero) -> new_primDivNatS02(vyv311, vyv312) 214.33/146.05 new_primDivNatS01(vyv311, vyv312, Zero, Succ(vyv3140)) -> Zero 214.33/146.05 new_primDivNatS01(vyv311, vyv312, Succ(vyv3130), Succ(vyv3140)) -> new_primDivNatS01(vyv311, vyv312, vyv3130, vyv3140) 214.33/146.05 new_primDivNatS01(vyv311, vyv312, Zero, Zero) -> new_primDivNatS02(vyv311, vyv312) 214.33/146.05 new_primDivNatS02(vyv311, vyv312) -> Succ(new_primDivNatS1(new_primMinusNatS2(vyv311, vyv312), Succ(vyv312))) 214.33/146.05 new_primMinusNatS2(Zero, Succ(vyv3120)) -> Zero 214.33/146.05 new_primMinusNatS2(Succ(vyv3110), Zero) -> Succ(vyv3110) 214.33/146.05 new_primMinusNatS2(Zero, Zero) -> Zero 214.33/146.05 new_primMinusNatS2(Succ(vyv3110), Succ(vyv3120)) -> new_primMinusNatS2(vyv3110, vyv3120) 214.33/146.05 new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) 214.33/146.05 new_esEs(Pos(Succ(vyv24300))) -> new_primEqInt(Pos(Succ(vyv24300))) 214.33/146.05 new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) 214.33/146.05 new_esEs(Neg(Succ(vyv24300))) -> new_primEqInt(Neg(Succ(vyv24300))) 214.33/146.05 new_gcd2(True, vyv273, vyv272) -> new_gcd1(new_esEs(vyv272), vyv273, vyv272) 214.33/146.05 new_gcd2(False, vyv273, vyv272) -> new_gcd0(vyv273, vyv272) 214.33/146.05 new_gcd0(vyv273, vyv272) -> new_gcd0Gcd'11(new_esEs(new_abs(vyv272)), vyv273, vyv272) 214.33/146.05 new_abs(Neg(Zero)) -> Neg(Zero) 214.33/146.05 new_abs(Neg(Succ(vyv27200))) -> Pos(Succ(vyv27200)) 214.33/146.05 new_abs(Pos(Succ(vyv27200))) -> Pos(Succ(vyv27200)) 214.33/146.05 new_abs(Pos(Zero)) -> Pos(Zero) 214.33/146.05 new_gcd0Gcd'11(True, vyv273, vyv272) -> new_abs(vyv273) 214.33/146.05 new_gcd0Gcd'11(False, vyv273, vyv272) -> new_gcd0Gcd'00(new_abs(vyv273), new_abs(vyv272)) 214.33/146.05 new_gcd0Gcd'10(False, vyv292, vyv293) -> new_gcd0Gcd'00(vyv292, new_rem(vyv293, vyv292)) 214.33/146.05 new_gcd0Gcd'00(vyv293, vyv292) -> new_gcd0Gcd'10(new_esEs(new_rem(vyv293, vyv292)), vyv292, vyv293) 214.33/146.05 new_rem(Pos(vyv2930), Neg(Zero)) -> new_error 214.33/146.05 new_rem(Neg(vyv2930), Pos(Zero)) -> new_error 214.33/146.05 new_rem(Pos(vyv2930), Neg(Succ(vyv29200))) -> Pos(new_primModNatS1(vyv2930, vyv29200)) 214.33/146.05 new_rem(Neg(vyv2930), Pos(Succ(vyv29200))) -> Neg(new_primModNatS1(vyv2930, vyv29200)) 214.33/146.05 new_rem(Pos(vyv2930), Pos(Succ(vyv29200))) -> Pos(new_primModNatS1(vyv2930, vyv29200)) 214.33/146.05 new_rem(Neg(vyv2930), Neg(Zero)) -> new_error 214.33/146.05 new_rem(Neg(vyv2930), Neg(Succ(vyv29200))) -> Neg(new_primModNatS1(vyv2930, vyv29200)) 214.33/146.05 new_rem(Pos(vyv2930), Pos(Zero)) -> new_error 214.33/146.05 new_gcd0Gcd'10(True, vyv292, vyv293) -> vyv292 214.33/146.05 new_primModNatS1(Succ(Zero), Succ(vyv292000)) -> Succ(Zero) 214.33/146.05 new_primModNatS1(Zero, vyv29200) -> Zero 214.33/146.05 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 214.33/146.05 new_primModNatS1(Succ(Succ(vyv293000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv293000), Zero) 214.33/146.05 new_primModNatS1(Succ(Succ(vyv293000)), Succ(vyv292000)) -> new_primModNatS01(vyv293000, vyv292000, vyv293000, vyv292000) 214.33/146.05 new_primModNatS01(vyv331, vyv332, Zero, Zero) -> new_primModNatS02(vyv331, vyv332) 214.33/146.05 new_primModNatS02(vyv331, vyv332) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv331), Succ(vyv332)), Succ(vyv332)) 214.33/146.05 new_primModNatS01(vyv331, vyv332, Succ(vyv3330), Zero) -> new_primModNatS02(vyv331, vyv332) 214.33/146.05 new_primModNatS01(vyv331, vyv332, Succ(vyv3330), Succ(vyv3340)) -> new_primModNatS01(vyv331, vyv332, vyv3330, vyv3340) 214.33/146.05 new_primModNatS01(vyv331, vyv332, Zero, Succ(vyv3340)) -> Succ(Succ(vyv331)) 214.33/146.05 new_gcd1(True, vyv273, vyv272) -> new_error 214.33/146.05 new_gcd1(False, vyv273, vyv272) -> new_gcd0(vyv273, vyv272) 214.33/146.05 new_primEqInt(Neg(Succ(vyv242000))) -> False 214.33/146.05 new_primEqInt(Pos(Zero)) -> True 214.33/146.05 new_primEqInt(Pos(Succ(vyv242000))) -> False 214.33/146.05 new_primEqInt(Neg(Zero)) -> True 214.33/146.05 new_primQuotInt(vyv2710, Pos(Succ(vyv28500))) -> Pos(new_primDivNatS1(vyv2710, vyv28500)) 214.33/146.05 new_primQuotInt(vyv2710, Neg(Zero)) -> new_error 214.33/146.05 new_primQuotInt(vyv2710, Pos(Zero)) -> new_error 214.33/146.05 new_primQuotInt(vyv2710, Neg(Succ(vyv28500))) -> Neg(new_primDivNatS1(vyv2710, vyv28500)) 214.33/146.05 new_primMulNat0(Zero, Succ(vyv23900)) -> Zero 214.33/146.05 new_primMulNat0(Succ(vyv24000), Succ(vyv23900)) -> new_primPlusNat0(new_primMulNat0(vyv24000, Succ(vyv23900)), Succ(vyv23900)) 214.33/146.05 new_primMulNat0(Succ(vyv24000), Zero) -> Zero 214.33/146.05 new_primMulNat0(Zero, Zero) -> Zero 214.33/146.05 new_primPlusNat0(Succ(vyv4000), Succ(vyv6000)) -> Succ(Succ(new_primPlusNat0(vyv4000, vyv6000))) 214.33/146.05 new_primPlusNat0(Zero, Succ(vyv6000)) -> Succ(vyv6000) 214.33/146.05 new_primPlusNat0(Zero, Zero) -> Zero 214.33/146.05 new_primPlusNat0(Succ(vyv4000), Zero) -> Succ(vyv4000) 214.33/146.05 new_esEs1(Integer(vyv2700)) -> new_primEqInt(vyv2700) 214.33/146.05 new_sr1(vyv228, ty_Double) -> new_sr11(vyv228) 214.33/146.05 new_sr1(vyv228, ty_Float) -> new_sr12(vyv228) 214.33/146.05 new_sr1(vyv228, app(ty_Ratio, bg)) -> new_sr5(vyv228, bg) 214.33/146.05 new_sr1(vyv228, ty_Integer) -> new_sr6(vyv228) 214.33/146.05 new_sr1(vyv228, ty_Int) -> new_sr7(vyv228) 214.33/146.05 new_sr7(Pos(vyv1840)) -> Pos(new_primMulNat1(vyv1840)) 214.33/146.05 new_sr7(Neg(vyv1840)) -> Pos(new_primMulNat1(vyv1840)) 214.33/146.05 new_primMulNat1(Succ(vyv18400)) -> new_primPlusNat0(new_primMulNat2(vyv18400), Succ(vyv18400)) 214.33/146.05 new_primMulNat1(Zero) -> Zero 214.33/146.05 new_primMulNat2(Succ(vyv184000)) -> new_primPlusNat0(new_primMulNat3(vyv184000), Succ(Succ(vyv184000))) 214.33/146.05 new_primMulNat2(Zero) -> Zero 214.33/146.05 new_primMulNat3(Succ(vyv1840000)) -> new_primPlusNat0(new_primMulNat4(vyv1840000), Succ(Succ(Succ(vyv1840000)))) 214.33/146.05 new_primMulNat3(Zero) -> Zero 214.33/146.05 new_primMulNat4(Succ(vyv18400000)) -> new_primPlusNat0(new_primMulNat0(vyv18400000, Succ(Succ(Succ(Succ(vyv18400000))))), Succ(Succ(Succ(Succ(vyv18400000))))) 214.33/146.05 new_primMulNat4(Zero) -> Zero 214.33/146.05 new_sr6(vyv184) -> error([]) 214.33/146.05 new_sr5(:%(vyv1840, vyv1841), bd) -> new_reduce2Reduce1(vyv1840, vyv1840, vyv1841, vyv1841, new_esEs0(vyv1841, bd), bd) 214.33/146.05 new_esEs0(vyv1841, ty_Int) -> new_esEs(new_sr7(vyv1841)) 214.33/146.05 new_esEs0(vyv1841, ty_Integer) -> new_esEs1(new_sr6(vyv1841)) 214.33/146.05 new_sr12(vyv184) -> error([]) 214.33/146.05 new_sr11(vyv184) -> error([]) 214.33/146.05 214.33/146.05 The set Q consists of the following terms: 214.33/146.05 214.33/146.05 new_sr13(x0, x1) 214.33/146.05 new_primDivNatS01(x0, x1, Zero, Zero) 214.33/146.05 new_gcd0Gcd'11(False, x0, x1) 214.33/146.05 new_primMulNat4(Zero) 214.33/146.05 new_gcd0Gcd'11(True, x0, x1) 214.33/146.05 new_sr2(x0, x1, ty_Float) 214.33/146.05 new_sr5(:%(x0, x1), x2) 214.33/146.05 new_primEqInt(Pos(Zero)) 214.33/146.05 new_sr2(x0, x1, ty_Double) 214.33/146.05 new_esEs(Pos(Succ(x0))) 214.33/146.05 new_primQuotInt0(x0, Neg(Zero)) 214.33/146.05 new_primMulNat3(Zero) 214.33/146.05 new_primModNatS02(x0, x1) 214.33/146.05 new_primDivNatS1(Succ(Zero), Zero) 214.33/146.05 new_primMinusNatS0(x0) 214.33/146.05 new_sr11(x0) 214.33/146.05 new_rem(Pos(x0), Neg(Succ(x1))) 214.33/146.05 new_rem(Neg(x0), Pos(Succ(x1))) 214.33/146.05 new_primMulNat0(Zero, Zero) 214.33/146.05 new_primPlusNat0(Succ(x0), Zero) 214.33/146.05 new_primMulNat0(Succ(x0), Zero) 214.33/146.05 new_primMulNat2(Zero) 214.33/146.05 new_primQuotInt(x0, Pos(Zero)) 214.33/146.05 new_primMulNat2(Succ(x0)) 214.33/146.05 new_primQuotInt(x0, Neg(Zero)) 214.33/146.05 new_rem(Neg(x0), Neg(Succ(x1))) 214.33/146.05 new_primMinusNatS2(Zero, Succ(x0)) 214.33/146.05 new_primMulNat3(Succ(x0)) 214.33/146.05 new_esEs1(Integer(x0)) 214.33/146.05 new_primQuotInt0(x0, Pos(Zero)) 214.33/146.05 new_gcd2(True, x0, x1) 214.33/146.05 new_quot1(x0, x1, x2, x3, ty_Int) 214.33/146.05 new_primDivNatS1(Zero, x0) 214.33/146.05 new_primMinusNat0(Zero, Zero) 214.33/146.05 new_gcd(x0, x1) 214.33/146.05 new_gcd1(False, x0, x1) 214.33/146.05 new_esEs2(x0, x1, ty_Int) 214.33/146.05 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 214.33/146.05 new_sr1(x0, app(ty_Ratio, x1)) 214.33/146.05 new_sr1(x0, ty_Float) 214.33/146.05 new_primPlusNat0(Zero, Succ(x0)) 214.33/146.05 new_sr8(:%(x0, x1), :%(x2, x3), x4) 214.33/146.05 new_abs(Neg(Zero)) 214.33/146.05 new_primMinusNatS2(Succ(x0), Zero) 214.33/146.05 new_error 214.33/146.05 new_primModNatS1(Succ(Zero), Zero) 214.33/146.05 new_primMulNat4(Succ(x0)) 214.33/146.05 new_sr1(x0, ty_Integer) 214.33/146.05 new_primDivNatS02(x0, x1) 214.33/146.05 new_sr1(x0, ty_Int) 214.33/146.05 new_rem(Neg(x0), Neg(Zero)) 214.33/146.05 new_primMinusNat0(Zero, Succ(x0)) 214.33/146.05 new_primEqInt(Neg(Zero)) 214.33/146.05 new_rem(Pos(x0), Pos(Succ(x1))) 214.33/146.05 new_abs(Pos(Succ(x0))) 214.33/146.05 new_primMulNat0(Succ(x0), Succ(x1)) 214.33/146.05 new_primMulNat0(Zero, Succ(x0)) 214.33/146.05 new_reduce2Reduce1(x0, x1, x2, x3, True, x4) 214.33/146.05 new_gcd0Gcd'10(False, x0, x1) 214.33/146.05 new_sr12(x0) 214.33/146.05 new_primDivNatS01(x0, x1, Zero, Succ(x2)) 214.33/146.05 new_sr10(Pos(x0), Pos(x1)) 214.33/146.05 new_primModNatS01(x0, x1, Zero, Succ(x2)) 214.33/146.05 new_primPlusNat0(Zero, Zero) 214.33/146.05 new_primQuotInt0(x0, Pos(Succ(x1))) 214.33/146.05 new_primModNatS01(x0, x1, Succ(x2), Zero) 214.33/146.05 new_primModNatS1(Succ(Succ(x0)), Zero) 214.33/146.05 new_rem(Pos(x0), Pos(Zero)) 214.33/146.05 new_quot(Pos(x0), x1, x2) 214.33/146.05 new_primMinusNatS2(Zero, Zero) 214.33/146.05 new_esEs0(x0, ty_Int) 214.33/146.05 new_primMinusNat0(Succ(x0), Zero) 214.33/146.05 new_esEs(Pos(Zero)) 214.33/146.05 new_quot(Neg(x0), x1, x2) 214.33/146.05 new_primDivNatS01(x0, x1, Succ(x2), Succ(x3)) 214.33/146.05 new_quot2(x0, x1, x2) 214.33/146.05 new_primEqInt(Neg(Succ(x0))) 214.33/146.05 new_sr10(Neg(x0), Neg(x1)) 214.33/146.05 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 214.33/146.05 new_sr9(x0, x1) 214.33/146.05 new_sr2(x0, x1, ty_Integer) 214.33/146.05 new_sr7(Neg(x0)) 214.33/146.05 new_sr1(x0, ty_Double) 214.33/146.05 new_primQuotInt0(x0, Neg(Succ(x1))) 214.33/146.05 new_rem(Pos(x0), Neg(Zero)) 214.33/146.05 new_rem(Neg(x0), Pos(Zero)) 214.33/146.05 new_gcd0Gcd'00(x0, x1) 214.33/146.05 new_primQuotInt(x0, Neg(Succ(x1))) 214.33/146.05 new_primMinusNatS2(Succ(x0), Succ(x1)) 214.33/146.05 new_abs(Pos(Zero)) 214.33/146.05 new_primMinusNat0(Succ(x0), Succ(x1)) 214.33/146.05 new_quot0(x0, x1, x2, x3, ty_Integer) 214.33/146.05 new_sr6(x0) 214.33/146.05 new_gcd2(False, x0, x1) 214.33/146.05 new_gcd1(True, x0, x1) 214.33/146.05 new_esEs2(x0, x1, ty_Integer) 214.33/146.05 new_primMinusNatS1 214.33/146.05 new_sr7(Pos(x0)) 214.33/146.05 new_gcd0Gcd'10(True, x0, x1) 214.33/146.05 new_primModNatS1(Zero, x0) 214.33/146.05 new_sr10(Pos(x0), Neg(x1)) 214.33/146.05 new_sr10(Neg(x0), Pos(x1)) 214.33/146.05 new_primDivNatS01(x0, x1, Succ(x2), Zero) 214.33/146.05 new_primDivNatS1(Succ(Succ(x0)), Succ(x1)) 214.33/146.05 new_primPlusNat0(Succ(x0), Succ(x1)) 214.33/146.05 new_primDivNatS1(Succ(Zero), Succ(x0)) 214.33/146.05 new_primQuotInt(x0, Pos(Succ(x1))) 214.33/146.05 new_sr2(x0, x1, app(ty_Ratio, x2)) 214.33/146.05 new_abs(Neg(Succ(x0))) 214.33/146.05 new_esEs0(x0, ty_Integer) 214.33/146.05 new_esEs(Neg(Succ(x0))) 214.33/146.05 new_primModNatS01(x0, x1, Zero, Zero) 214.33/146.05 new_gcd0(x0, x1) 214.33/146.05 new_primEqInt(Pos(Succ(x0))) 214.33/146.05 new_quot1(x0, x1, x2, x3, ty_Integer) 214.33/146.05 new_primDivNatS1(Succ(Succ(x0)), Zero) 214.33/146.05 new_primMulNat1(Succ(x0)) 214.33/146.05 new_sr14(x0, x1) 214.33/146.05 new_quot0(x0, x1, x2, x3, ty_Int) 214.33/146.05 new_sr2(x0, x1, ty_Int) 214.33/146.05 new_primModNatS1(Succ(Zero), Succ(x0)) 214.33/146.05 new_reduce2Reduce1(x0, x1, x2, x3, False, x4) 214.33/146.05 new_esEs(Neg(Zero)) 214.33/146.05 new_primMulNat1(Zero) 214.33/146.05 214.33/146.05 We have to consider all minimal (P,Q,R)-chains. 214.33/146.05 ---------------------------------------- 214.33/146.05 214.33/146.05 (900) QReductionProof (EQUIVALENT) 214.33/146.05 We deleted the following terms from Q as each root-symbol of these terms does neither occur in P nor in R.[THIEMANN]. 214.33/146.05 214.33/146.05 new_primMinusNat0(Zero, Zero) 214.33/146.05 new_primMinusNat0(Zero, Succ(x0)) 214.33/146.05 new_primMinusNat0(Succ(x0), Zero) 214.33/146.05 new_primMinusNat0(Succ(x0), Succ(x1)) 214.33/146.05 214.33/146.05 214.33/146.05 ---------------------------------------- 214.33/146.05 214.33/146.05 (901) 214.33/146.05 Obligation: 214.33/146.05 Q DP problem: 214.33/146.05 The TRS P consists of the following rules: 214.33/146.05 214.33/146.05 new_pr2F0G1(vyv227, vyv228, vyv229, Succ(Succ(vyv23000)), ba) -> new_pr2F0G1(vyv227, vyv228, vyv229, vyv23000, ba) 214.33/146.05 new_pr2F0G1(vyv227, vyv228, vyv229, Succ(Zero), ba) -> new_pr2F(vyv228, vyv229, Pos(Succ(Zero)), vyv227, ba) 214.33/146.05 new_pr2F0(vyv184, Pos(Succ(Succ(vyv223000))), vyv188, h) -> new_pr2F0G1(vyv188, vyv184, Succ(vyv223000), vyv223000, h) 214.33/146.05 new_pr2F0G1(vyv227, vyv228, vyv229, Zero, ba) -> new_pr2F0G(vyv227, new_sr1(vyv228, ba), Pos(new_primDivNatS1(Succ(vyv229), Succ(Zero))), ba) 214.33/146.05 new_pr2F0G(vyv188, vyv184, Pos(Succ(Succ(vyv223000))), h) -> new_pr2F0G1(vyv188, vyv184, Succ(vyv223000), vyv223000, h) 214.33/146.05 new_pr2F(y0, Succ(x0), Pos(Succ(Zero)), y2, y3) -> new_pr2F3(False, y0, Succ(x0), Pos(Succ(Zero)), y2, y3) 214.33/146.05 new_pr2F3(False, z0, Succ(z1), Pos(Succ(Zero)), z2, z3) -> new_pr2F0(z0, Pos(Succ(z1)), new_sr2(z0, z2, z3), z3) 214.33/146.05 214.33/146.05 The TRS R consists of the following rules: 214.33/146.05 214.33/146.05 new_sr2(vyv228, vyv227, ty_Integer) -> new_sr9(vyv228, vyv227) 214.33/146.05 new_sr2(vyv228, vyv227, ty_Int) -> new_sr10(vyv228, vyv227) 214.33/146.05 new_sr2(vyv228, vyv227, app(ty_Ratio, bg)) -> new_sr8(vyv228, vyv227, bg) 214.33/146.05 new_sr2(vyv228, vyv227, ty_Double) -> new_sr13(vyv228, vyv227) 214.33/146.05 new_sr2(vyv228, vyv227, ty_Float) -> new_sr14(vyv228, vyv227) 214.33/146.05 new_sr14(vyv240, vyv239) -> error([]) 214.33/146.05 new_sr13(vyv240, vyv239) -> error([]) 214.33/146.05 new_sr8(:%(vyv2400, vyv2401), :%(vyv2390, vyv2391), be) -> new_reduce2Reduce1(vyv2400, vyv2390, vyv2401, vyv2391, new_esEs2(vyv2401, vyv2391, be), be) 214.33/146.05 new_esEs2(vyv2401, vyv2391, ty_Integer) -> new_esEs1(new_sr9(vyv2401, vyv2391)) 214.33/146.05 new_esEs2(vyv2401, vyv2391, ty_Int) -> new_esEs(new_sr10(vyv2401, vyv2391)) 214.33/146.05 new_reduce2Reduce1(vyv265, vyv266, vyv267, vyv268, False, bh) -> :%(new_quot0(vyv265, vyv266, vyv267, vyv268, bh), new_quot1(vyv267, vyv268, vyv265, vyv266, bh)) 214.33/146.05 new_reduce2Reduce1(vyv265, vyv266, vyv267, vyv268, True, bh) -> error([]) 214.33/146.05 new_quot0(vyv265, vyv266, vyv267, vyv268, ty_Integer) -> new_quot2(new_sr9(vyv265, vyv266), new_sr9(vyv265, vyv266), new_sr9(vyv267, vyv268)) 214.33/146.05 new_quot0(vyv265, vyv266, vyv267, vyv268, ty_Int) -> new_quot(new_sr10(vyv265, vyv266), new_sr10(vyv265, vyv266), new_sr10(vyv267, vyv268)) 214.33/146.05 new_quot1(vyv267, vyv268, vyv265, vyv266, ty_Int) -> new_quot(new_sr10(vyv267, vyv268), new_sr10(vyv265, vyv266), new_sr10(vyv267, vyv268)) 214.33/146.05 new_quot1(vyv267, vyv268, vyv265, vyv266, ty_Integer) -> new_quot2(new_sr9(vyv267, vyv268), new_sr9(vyv265, vyv266), new_sr9(vyv267, vyv268)) 214.33/146.05 new_sr9(vyv240, vyv239) -> error([]) 214.33/146.05 new_quot2(vyv274, vyv276, vyv275) -> error([]) 214.33/146.05 new_sr10(Pos(vyv2400), Pos(vyv2390)) -> Pos(new_primMulNat0(vyv2400, vyv2390)) 214.33/146.05 new_sr10(Neg(vyv2400), Neg(vyv2390)) -> Pos(new_primMulNat0(vyv2400, vyv2390)) 214.33/146.05 new_sr10(Pos(vyv2400), Neg(vyv2390)) -> Neg(new_primMulNat0(vyv2400, vyv2390)) 214.33/146.05 new_sr10(Neg(vyv2400), Pos(vyv2390)) -> Neg(new_primMulNat0(vyv2400, vyv2390)) 214.33/146.05 new_quot(Pos(vyv2710), vyv273, vyv272) -> new_primQuotInt(vyv2710, new_gcd(vyv273, vyv272)) 214.33/146.05 new_quot(Neg(vyv2710), vyv273, vyv272) -> new_primQuotInt0(vyv2710, new_gcd(vyv273, vyv272)) 214.33/146.05 new_gcd(vyv273, vyv272) -> new_gcd2(new_esEs(vyv273), vyv273, vyv272) 214.33/146.05 new_primQuotInt0(vyv2710, Pos(Succ(vyv28800))) -> Neg(new_primDivNatS1(vyv2710, vyv28800)) 214.33/146.05 new_primQuotInt0(vyv2710, Neg(Zero)) -> new_error 214.33/146.05 new_primQuotInt0(vyv2710, Neg(Succ(vyv28800))) -> Pos(new_primDivNatS1(vyv2710, vyv28800)) 214.33/146.05 new_primQuotInt0(vyv2710, Pos(Zero)) -> new_error 214.33/146.05 new_error -> error([]) 214.33/146.05 new_primDivNatS1(Succ(Zero), Succ(vyv285000)) -> Zero 214.33/146.05 new_primDivNatS1(Succ(Succ(vyv271000)), Succ(vyv285000)) -> new_primDivNatS01(vyv271000, vyv285000, vyv271000, vyv285000) 214.33/146.05 new_primDivNatS1(Zero, vyv28500) -> Zero 214.33/146.05 new_primDivNatS1(Succ(Succ(vyv271000)), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS0(vyv271000), Zero)) 214.33/146.05 new_primDivNatS1(Succ(Zero), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS1, Zero)) 214.33/146.05 new_primMinusNatS1 -> Zero 214.33/146.05 new_primMinusNatS0(vyv271000) -> Succ(vyv271000) 214.33/146.05 new_primDivNatS01(vyv311, vyv312, Succ(vyv3130), Zero) -> new_primDivNatS02(vyv311, vyv312) 214.33/146.05 new_primDivNatS01(vyv311, vyv312, Zero, Succ(vyv3140)) -> Zero 214.33/146.05 new_primDivNatS01(vyv311, vyv312, Succ(vyv3130), Succ(vyv3140)) -> new_primDivNatS01(vyv311, vyv312, vyv3130, vyv3140) 214.33/146.05 new_primDivNatS01(vyv311, vyv312, Zero, Zero) -> new_primDivNatS02(vyv311, vyv312) 214.33/146.05 new_primDivNatS02(vyv311, vyv312) -> Succ(new_primDivNatS1(new_primMinusNatS2(vyv311, vyv312), Succ(vyv312))) 214.33/146.05 new_primMinusNatS2(Zero, Succ(vyv3120)) -> Zero 214.33/146.05 new_primMinusNatS2(Succ(vyv3110), Zero) -> Succ(vyv3110) 214.33/146.05 new_primMinusNatS2(Zero, Zero) -> Zero 214.33/146.05 new_primMinusNatS2(Succ(vyv3110), Succ(vyv3120)) -> new_primMinusNatS2(vyv3110, vyv3120) 214.33/146.05 new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) 214.33/146.05 new_esEs(Pos(Succ(vyv24300))) -> new_primEqInt(Pos(Succ(vyv24300))) 214.33/146.05 new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) 214.33/146.05 new_esEs(Neg(Succ(vyv24300))) -> new_primEqInt(Neg(Succ(vyv24300))) 214.33/146.05 new_gcd2(True, vyv273, vyv272) -> new_gcd1(new_esEs(vyv272), vyv273, vyv272) 214.33/146.05 new_gcd2(False, vyv273, vyv272) -> new_gcd0(vyv273, vyv272) 214.33/146.05 new_gcd0(vyv273, vyv272) -> new_gcd0Gcd'11(new_esEs(new_abs(vyv272)), vyv273, vyv272) 214.33/146.05 new_abs(Neg(Zero)) -> Neg(Zero) 214.33/146.05 new_abs(Neg(Succ(vyv27200))) -> Pos(Succ(vyv27200)) 214.33/146.05 new_abs(Pos(Succ(vyv27200))) -> Pos(Succ(vyv27200)) 214.33/146.05 new_abs(Pos(Zero)) -> Pos(Zero) 214.33/146.05 new_gcd0Gcd'11(True, vyv273, vyv272) -> new_abs(vyv273) 214.33/146.05 new_gcd0Gcd'11(False, vyv273, vyv272) -> new_gcd0Gcd'00(new_abs(vyv273), new_abs(vyv272)) 214.33/146.05 new_gcd0Gcd'10(False, vyv292, vyv293) -> new_gcd0Gcd'00(vyv292, new_rem(vyv293, vyv292)) 214.33/146.05 new_gcd0Gcd'00(vyv293, vyv292) -> new_gcd0Gcd'10(new_esEs(new_rem(vyv293, vyv292)), vyv292, vyv293) 214.33/146.05 new_rem(Pos(vyv2930), Neg(Zero)) -> new_error 214.33/146.05 new_rem(Neg(vyv2930), Pos(Zero)) -> new_error 214.33/146.05 new_rem(Pos(vyv2930), Neg(Succ(vyv29200))) -> Pos(new_primModNatS1(vyv2930, vyv29200)) 214.33/146.05 new_rem(Neg(vyv2930), Pos(Succ(vyv29200))) -> Neg(new_primModNatS1(vyv2930, vyv29200)) 214.33/146.05 new_rem(Pos(vyv2930), Pos(Succ(vyv29200))) -> Pos(new_primModNatS1(vyv2930, vyv29200)) 214.33/146.05 new_rem(Neg(vyv2930), Neg(Zero)) -> new_error 214.33/146.05 new_rem(Neg(vyv2930), Neg(Succ(vyv29200))) -> Neg(new_primModNatS1(vyv2930, vyv29200)) 214.33/146.05 new_rem(Pos(vyv2930), Pos(Zero)) -> new_error 214.33/146.05 new_gcd0Gcd'10(True, vyv292, vyv293) -> vyv292 214.33/146.05 new_primModNatS1(Succ(Zero), Succ(vyv292000)) -> Succ(Zero) 214.33/146.05 new_primModNatS1(Zero, vyv29200) -> Zero 214.33/146.05 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 214.33/146.05 new_primModNatS1(Succ(Succ(vyv293000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv293000), Zero) 214.33/146.05 new_primModNatS1(Succ(Succ(vyv293000)), Succ(vyv292000)) -> new_primModNatS01(vyv293000, vyv292000, vyv293000, vyv292000) 214.33/146.05 new_primModNatS01(vyv331, vyv332, Zero, Zero) -> new_primModNatS02(vyv331, vyv332) 214.33/146.05 new_primModNatS02(vyv331, vyv332) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv331), Succ(vyv332)), Succ(vyv332)) 214.33/146.05 new_primModNatS01(vyv331, vyv332, Succ(vyv3330), Zero) -> new_primModNatS02(vyv331, vyv332) 214.33/146.05 new_primModNatS01(vyv331, vyv332, Succ(vyv3330), Succ(vyv3340)) -> new_primModNatS01(vyv331, vyv332, vyv3330, vyv3340) 214.33/146.05 new_primModNatS01(vyv331, vyv332, Zero, Succ(vyv3340)) -> Succ(Succ(vyv331)) 214.33/146.05 new_gcd1(True, vyv273, vyv272) -> new_error 214.33/146.05 new_gcd1(False, vyv273, vyv272) -> new_gcd0(vyv273, vyv272) 214.33/146.05 new_primEqInt(Neg(Succ(vyv242000))) -> False 214.33/146.05 new_primEqInt(Pos(Zero)) -> True 214.33/146.05 new_primEqInt(Pos(Succ(vyv242000))) -> False 214.33/146.05 new_primEqInt(Neg(Zero)) -> True 214.33/146.05 new_primQuotInt(vyv2710, Pos(Succ(vyv28500))) -> Pos(new_primDivNatS1(vyv2710, vyv28500)) 214.33/146.05 new_primQuotInt(vyv2710, Neg(Zero)) -> new_error 214.33/146.05 new_primQuotInt(vyv2710, Pos(Zero)) -> new_error 214.33/146.05 new_primQuotInt(vyv2710, Neg(Succ(vyv28500))) -> Neg(new_primDivNatS1(vyv2710, vyv28500)) 214.33/146.05 new_primMulNat0(Zero, Succ(vyv23900)) -> Zero 214.33/146.05 new_primMulNat0(Succ(vyv24000), Succ(vyv23900)) -> new_primPlusNat0(new_primMulNat0(vyv24000, Succ(vyv23900)), Succ(vyv23900)) 214.33/146.05 new_primMulNat0(Succ(vyv24000), Zero) -> Zero 214.33/146.05 new_primMulNat0(Zero, Zero) -> Zero 214.33/146.05 new_primPlusNat0(Succ(vyv4000), Succ(vyv6000)) -> Succ(Succ(new_primPlusNat0(vyv4000, vyv6000))) 214.33/146.05 new_primPlusNat0(Zero, Succ(vyv6000)) -> Succ(vyv6000) 214.33/146.05 new_primPlusNat0(Zero, Zero) -> Zero 214.33/146.05 new_primPlusNat0(Succ(vyv4000), Zero) -> Succ(vyv4000) 214.33/146.05 new_esEs1(Integer(vyv2700)) -> new_primEqInt(vyv2700) 214.33/146.05 new_sr1(vyv228, ty_Double) -> new_sr11(vyv228) 214.33/146.05 new_sr1(vyv228, ty_Float) -> new_sr12(vyv228) 214.33/146.05 new_sr1(vyv228, app(ty_Ratio, bg)) -> new_sr5(vyv228, bg) 214.33/146.05 new_sr1(vyv228, ty_Integer) -> new_sr6(vyv228) 214.33/146.05 new_sr1(vyv228, ty_Int) -> new_sr7(vyv228) 214.33/146.05 new_sr7(Pos(vyv1840)) -> Pos(new_primMulNat1(vyv1840)) 214.33/146.05 new_sr7(Neg(vyv1840)) -> Pos(new_primMulNat1(vyv1840)) 214.33/146.05 new_primMulNat1(Succ(vyv18400)) -> new_primPlusNat0(new_primMulNat2(vyv18400), Succ(vyv18400)) 214.33/146.05 new_primMulNat1(Zero) -> Zero 214.33/146.05 new_primMulNat2(Succ(vyv184000)) -> new_primPlusNat0(new_primMulNat3(vyv184000), Succ(Succ(vyv184000))) 214.33/146.05 new_primMulNat2(Zero) -> Zero 214.33/146.05 new_primMulNat3(Succ(vyv1840000)) -> new_primPlusNat0(new_primMulNat4(vyv1840000), Succ(Succ(Succ(vyv1840000)))) 214.33/146.05 new_primMulNat3(Zero) -> Zero 214.33/146.05 new_primMulNat4(Succ(vyv18400000)) -> new_primPlusNat0(new_primMulNat0(vyv18400000, Succ(Succ(Succ(Succ(vyv18400000))))), Succ(Succ(Succ(Succ(vyv18400000))))) 214.33/146.05 new_primMulNat4(Zero) -> Zero 214.33/146.05 new_sr6(vyv184) -> error([]) 214.33/146.05 new_sr5(:%(vyv1840, vyv1841), bd) -> new_reduce2Reduce1(vyv1840, vyv1840, vyv1841, vyv1841, new_esEs0(vyv1841, bd), bd) 214.33/146.05 new_esEs0(vyv1841, ty_Int) -> new_esEs(new_sr7(vyv1841)) 214.33/146.05 new_esEs0(vyv1841, ty_Integer) -> new_esEs1(new_sr6(vyv1841)) 214.33/146.05 new_sr12(vyv184) -> error([]) 214.33/146.05 new_sr11(vyv184) -> error([]) 214.33/146.05 214.33/146.05 The set Q consists of the following terms: 214.33/146.05 214.33/146.05 new_sr13(x0, x1) 214.33/146.05 new_primDivNatS01(x0, x1, Zero, Zero) 214.33/146.05 new_gcd0Gcd'11(False, x0, x1) 214.33/146.05 new_primMulNat4(Zero) 214.33/146.05 new_gcd0Gcd'11(True, x0, x1) 214.33/146.05 new_sr2(x0, x1, ty_Float) 214.33/146.05 new_sr5(:%(x0, x1), x2) 214.33/146.05 new_primEqInt(Pos(Zero)) 214.33/146.05 new_sr2(x0, x1, ty_Double) 214.33/146.05 new_esEs(Pos(Succ(x0))) 214.33/146.05 new_primQuotInt0(x0, Neg(Zero)) 214.33/146.05 new_primMulNat3(Zero) 214.33/146.05 new_primModNatS02(x0, x1) 214.33/146.05 new_primDivNatS1(Succ(Zero), Zero) 214.33/146.05 new_primMinusNatS0(x0) 214.33/146.05 new_sr11(x0) 214.33/146.05 new_rem(Pos(x0), Neg(Succ(x1))) 214.33/146.05 new_rem(Neg(x0), Pos(Succ(x1))) 214.33/146.05 new_primMulNat0(Zero, Zero) 214.33/146.05 new_primPlusNat0(Succ(x0), Zero) 214.33/146.05 new_primMulNat0(Succ(x0), Zero) 214.33/146.05 new_primMulNat2(Zero) 214.33/146.05 new_primQuotInt(x0, Pos(Zero)) 214.33/146.05 new_primMulNat2(Succ(x0)) 214.33/146.05 new_primQuotInt(x0, Neg(Zero)) 214.33/146.05 new_rem(Neg(x0), Neg(Succ(x1))) 214.33/146.05 new_primMinusNatS2(Zero, Succ(x0)) 214.33/146.05 new_primMulNat3(Succ(x0)) 214.33/146.05 new_esEs1(Integer(x0)) 214.33/146.05 new_primQuotInt0(x0, Pos(Zero)) 214.33/146.05 new_gcd2(True, x0, x1) 214.33/146.05 new_quot1(x0, x1, x2, x3, ty_Int) 214.33/146.05 new_primDivNatS1(Zero, x0) 214.33/146.05 new_gcd(x0, x1) 214.33/146.05 new_gcd1(False, x0, x1) 214.33/146.05 new_esEs2(x0, x1, ty_Int) 214.33/146.05 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 214.33/146.05 new_sr1(x0, app(ty_Ratio, x1)) 214.33/146.05 new_sr1(x0, ty_Float) 214.33/146.05 new_primPlusNat0(Zero, Succ(x0)) 214.33/146.05 new_sr8(:%(x0, x1), :%(x2, x3), x4) 214.33/146.05 new_abs(Neg(Zero)) 214.33/146.05 new_primMinusNatS2(Succ(x0), Zero) 214.33/146.05 new_error 214.33/146.05 new_primModNatS1(Succ(Zero), Zero) 214.33/146.05 new_primMulNat4(Succ(x0)) 214.33/146.05 new_sr1(x0, ty_Integer) 214.33/146.05 new_primDivNatS02(x0, x1) 214.33/146.05 new_sr1(x0, ty_Int) 214.33/146.05 new_rem(Neg(x0), Neg(Zero)) 214.33/146.05 new_primEqInt(Neg(Zero)) 214.33/146.05 new_rem(Pos(x0), Pos(Succ(x1))) 214.33/146.05 new_abs(Pos(Succ(x0))) 214.33/146.05 new_primMulNat0(Succ(x0), Succ(x1)) 214.33/146.05 new_primMulNat0(Zero, Succ(x0)) 214.33/146.05 new_reduce2Reduce1(x0, x1, x2, x3, True, x4) 214.33/146.05 new_gcd0Gcd'10(False, x0, x1) 214.33/146.05 new_sr12(x0) 214.33/146.05 new_primDivNatS01(x0, x1, Zero, Succ(x2)) 214.33/146.05 new_sr10(Pos(x0), Pos(x1)) 214.33/146.05 new_primModNatS01(x0, x1, Zero, Succ(x2)) 214.33/146.05 new_primPlusNat0(Zero, Zero) 214.33/146.05 new_primQuotInt0(x0, Pos(Succ(x1))) 214.33/146.05 new_primModNatS01(x0, x1, Succ(x2), Zero) 214.33/146.05 new_primModNatS1(Succ(Succ(x0)), Zero) 214.33/146.05 new_rem(Pos(x0), Pos(Zero)) 214.33/146.05 new_quot(Pos(x0), x1, x2) 214.33/146.05 new_primMinusNatS2(Zero, Zero) 214.33/146.05 new_esEs0(x0, ty_Int) 214.33/146.05 new_esEs(Pos(Zero)) 214.33/146.05 new_quot(Neg(x0), x1, x2) 214.33/146.05 new_primDivNatS01(x0, x1, Succ(x2), Succ(x3)) 214.33/146.05 new_quot2(x0, x1, x2) 214.33/146.05 new_primEqInt(Neg(Succ(x0))) 214.33/146.05 new_sr10(Neg(x0), Neg(x1)) 214.33/146.05 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 214.33/146.05 new_sr9(x0, x1) 214.33/146.05 new_sr2(x0, x1, ty_Integer) 214.33/146.05 new_sr7(Neg(x0)) 214.33/146.05 new_sr1(x0, ty_Double) 214.33/146.05 new_primQuotInt0(x0, Neg(Succ(x1))) 214.33/146.05 new_rem(Pos(x0), Neg(Zero)) 214.33/146.05 new_rem(Neg(x0), Pos(Zero)) 214.33/146.05 new_gcd0Gcd'00(x0, x1) 214.33/146.05 new_primQuotInt(x0, Neg(Succ(x1))) 214.33/146.05 new_primMinusNatS2(Succ(x0), Succ(x1)) 214.33/146.05 new_abs(Pos(Zero)) 214.33/146.05 new_quot0(x0, x1, x2, x3, ty_Integer) 214.33/146.05 new_sr6(x0) 214.33/146.05 new_gcd2(False, x0, x1) 214.33/146.05 new_gcd1(True, x0, x1) 214.33/146.05 new_esEs2(x0, x1, ty_Integer) 214.33/146.05 new_primMinusNatS1 214.33/146.05 new_sr7(Pos(x0)) 214.33/146.05 new_gcd0Gcd'10(True, x0, x1) 214.33/146.05 new_primModNatS1(Zero, x0) 214.33/146.05 new_sr10(Pos(x0), Neg(x1)) 214.33/146.05 new_sr10(Neg(x0), Pos(x1)) 214.33/146.05 new_primDivNatS01(x0, x1, Succ(x2), Zero) 214.33/146.05 new_primDivNatS1(Succ(Succ(x0)), Succ(x1)) 214.33/146.05 new_primPlusNat0(Succ(x0), Succ(x1)) 214.33/146.05 new_primDivNatS1(Succ(Zero), Succ(x0)) 214.33/146.05 new_primQuotInt(x0, Pos(Succ(x1))) 214.33/146.05 new_sr2(x0, x1, app(ty_Ratio, x2)) 214.33/146.05 new_abs(Neg(Succ(x0))) 214.33/146.05 new_esEs0(x0, ty_Integer) 214.33/146.05 new_esEs(Neg(Succ(x0))) 214.33/146.05 new_primModNatS01(x0, x1, Zero, Zero) 214.33/146.05 new_gcd0(x0, x1) 214.33/146.05 new_primEqInt(Pos(Succ(x0))) 214.33/146.05 new_quot1(x0, x1, x2, x3, ty_Integer) 214.33/146.05 new_primDivNatS1(Succ(Succ(x0)), Zero) 214.33/146.05 new_primMulNat1(Succ(x0)) 214.33/146.05 new_sr14(x0, x1) 214.33/146.05 new_quot0(x0, x1, x2, x3, ty_Int) 214.33/146.05 new_sr2(x0, x1, ty_Int) 214.33/146.05 new_primModNatS1(Succ(Zero), Succ(x0)) 214.33/146.05 new_reduce2Reduce1(x0, x1, x2, x3, False, x4) 214.33/146.05 new_esEs(Neg(Zero)) 214.33/146.05 new_primMulNat1(Zero) 214.33/146.05 214.33/146.05 We have to consider all minimal (P,Q,R)-chains. 214.33/146.05 ---------------------------------------- 214.33/146.05 214.33/146.05 (902) QDPOrderProof (EQUIVALENT) 214.33/146.05 We use the reduction pair processor [LPAR04,JAR06]. 214.33/146.05 214.33/146.05 214.33/146.05 The following pairs can be oriented strictly and are deleted. 214.33/146.05 214.33/146.05 new_pr2F3(False, z0, Succ(z1), Pos(Succ(Zero)), z2, z3) -> new_pr2F0(z0, Pos(Succ(z1)), new_sr2(z0, z2, z3), z3) 214.33/146.05 The remaining pairs can at least be oriented weakly. 214.33/146.05 Used ordering: Polynomial interpretation [POLO]: 214.33/146.05 214.33/146.05 POL(:%(x_1, x_2)) = 0 214.33/146.05 POL(False) = 0 214.33/146.05 POL(Integer(x_1)) = 1 + x_1 214.33/146.05 POL(Neg(x_1)) = 0 214.33/146.05 POL(Pos(x_1)) = x_1 214.33/146.05 POL(Succ(x_1)) = 1 + x_1 214.33/146.05 POL(True) = 0 214.33/146.05 POL(Zero) = 0 214.33/146.05 POL([]) = 1 214.33/146.05 POL(app(x_1, x_2)) = x_1 + x_2 214.33/146.05 POL(error(x_1)) = 0 214.33/146.05 POL(new_abs(x_1)) = 0 214.33/146.05 POL(new_error) = 1 214.33/146.05 POL(new_esEs(x_1)) = 0 214.33/146.05 POL(new_esEs0(x_1, x_2)) = x_1 214.33/146.05 POL(new_esEs1(x_1)) = 0 214.33/146.05 POL(new_esEs2(x_1, x_2, x_3)) = x_2 214.33/146.05 POL(new_gcd(x_1, x_2)) = x_1 + x_2 214.33/146.05 POL(new_gcd0(x_1, x_2)) = 1 + x_1 + x_2 214.33/146.05 POL(new_gcd0Gcd'00(x_1, x_2)) = 0 214.33/146.05 POL(new_gcd0Gcd'10(x_1, x_2, x_3)) = x_2 + x_3 214.33/146.05 POL(new_gcd0Gcd'11(x_1, x_2, x_3)) = x_2 + x_3 214.33/146.05 POL(new_gcd1(x_1, x_2, x_3)) = 1 + x_2 + x_3 214.33/146.05 POL(new_gcd2(x_1, x_2, x_3)) = 1 + x_2 + x_3 214.33/146.05 POL(new_pr2F(x_1, x_2, x_3, x_4, x_5)) = x_2 + x_3 + x_5 214.33/146.05 POL(new_pr2F0(x_1, x_2, x_3, x_4)) = x_2 + x_4 214.33/146.05 POL(new_pr2F0G(x_1, x_2, x_3, x_4)) = x_3 + x_4 214.33/146.05 POL(new_pr2F0G1(x_1, x_2, x_3, x_4, x_5)) = 1 + x_3 + x_5 214.33/146.05 POL(new_pr2F3(x_1, x_2, x_3, x_4, x_5, x_6)) = 1 + x_1 + x_3 + x_6 214.33/146.05 POL(new_primDivNatS01(x_1, x_2, x_3, x_4)) = 1 + x_1 214.33/146.05 POL(new_primDivNatS02(x_1, x_2)) = 1 + x_1 214.33/146.05 POL(new_primDivNatS1(x_1, x_2)) = x_1 214.33/146.05 POL(new_primEqInt(x_1)) = 0 214.33/146.05 POL(new_primMinusNatS0(x_1)) = x_1 214.33/146.05 POL(new_primMinusNatS1) = 0 214.33/146.05 POL(new_primMinusNatS2(x_1, x_2)) = x_1 214.33/146.05 POL(new_primModNatS01(x_1, x_2, x_3, x_4)) = 1 + x_1 + x_2 + x_3 214.33/146.05 POL(new_primModNatS02(x_1, x_2)) = 1 + x_1 + x_2 214.33/146.05 POL(new_primModNatS1(x_1, x_2)) = 0 214.33/146.05 POL(new_primMulNat0(x_1, x_2)) = 0 214.33/146.05 POL(new_primMulNat1(x_1)) = 0 214.33/146.05 POL(new_primMulNat2(x_1)) = 0 214.33/146.05 POL(new_primMulNat3(x_1)) = 0 214.33/146.05 POL(new_primMulNat4(x_1)) = 0 214.33/146.05 POL(new_primPlusNat0(x_1, x_2)) = 0 214.33/146.05 POL(new_primQuotInt(x_1, x_2)) = x_1 214.33/146.05 POL(new_primQuotInt0(x_1, x_2)) = x_1 214.33/146.05 POL(new_quot(x_1, x_2, x_3)) = 0 214.33/146.05 POL(new_quot0(x_1, x_2, x_3, x_4, x_5)) = x_1 + x_2 + x_3 + x_4 214.33/146.05 POL(new_quot1(x_1, x_2, x_3, x_4, x_5)) = x_1 + x_2 + x_3 + x_4 214.33/146.05 POL(new_quot2(x_1, x_2, x_3)) = 0 214.33/146.05 POL(new_reduce2Reduce1(x_1, x_2, x_3, x_4, x_5, x_6)) = 0 214.33/146.05 POL(new_rem(x_1, x_2)) = 0 214.33/146.05 POL(new_sr1(x_1, x_2)) = x_1 214.33/146.05 POL(new_sr10(x_1, x_2)) = 0 214.33/146.05 POL(new_sr11(x_1)) = 1 + x_1 214.33/146.05 POL(new_sr12(x_1)) = 1 + x_1 214.33/146.05 POL(new_sr13(x_1, x_2)) = 1 + x_1 + x_2 214.33/146.05 POL(new_sr14(x_1, x_2)) = 1 + x_1 + x_2 214.33/146.05 POL(new_sr2(x_1, x_2, x_3)) = x_1 + x_2 214.33/146.05 POL(new_sr5(x_1, x_2)) = 1 + x_1 + x_2 214.33/146.05 POL(new_sr6(x_1)) = x_1 214.33/146.05 POL(new_sr7(x_1)) = 0 214.33/146.05 POL(new_sr8(x_1, x_2, x_3)) = 1 + x_2 + x_3 214.33/146.05 POL(new_sr9(x_1, x_2)) = x_1 + x_2 214.33/146.05 POL(ty_Double) = 1 214.33/146.05 POL(ty_Float) = 1 214.33/146.05 POL(ty_Int) = 0 214.33/146.05 POL(ty_Integer) = 0 214.33/146.05 POL(ty_Ratio) = 1 214.33/146.05 214.33/146.05 The following usable rules [FROCOS05] with respect to the argument filtering of the ordering [JAR06] were oriented: 214.33/146.05 214.33/146.05 new_primDivNatS1(Succ(Zero), Succ(vyv285000)) -> Zero 214.33/146.05 new_primDivNatS1(Succ(Succ(vyv271000)), Succ(vyv285000)) -> new_primDivNatS01(vyv271000, vyv285000, vyv271000, vyv285000) 214.33/146.05 new_primDivNatS1(Zero, vyv28500) -> Zero 214.33/146.05 new_primDivNatS01(vyv311, vyv312, Zero, Succ(vyv3140)) -> Zero 214.33/146.05 new_primDivNatS01(vyv311, vyv312, Succ(vyv3130), Zero) -> new_primDivNatS02(vyv311, vyv312) 214.33/146.05 new_primDivNatS02(vyv311, vyv312) -> Succ(new_primDivNatS1(new_primMinusNatS2(vyv311, vyv312), Succ(vyv312))) 214.33/146.05 new_primMinusNatS2(Zero, Succ(vyv3120)) -> Zero 214.33/146.05 new_primMinusNatS2(Succ(vyv3110), Zero) -> Succ(vyv3110) 214.33/146.05 new_primMinusNatS2(Zero, Zero) -> Zero 214.33/146.05 new_primMinusNatS2(Succ(vyv3110), Succ(vyv3120)) -> new_primMinusNatS2(vyv3110, vyv3120) 214.33/146.05 new_primDivNatS01(vyv311, vyv312, Succ(vyv3130), Succ(vyv3140)) -> new_primDivNatS01(vyv311, vyv312, vyv3130, vyv3140) 214.33/146.05 new_primDivNatS01(vyv311, vyv312, Zero, Zero) -> new_primDivNatS02(vyv311, vyv312) 214.33/146.05 214.33/146.05 214.33/146.05 ---------------------------------------- 214.33/146.05 214.33/146.05 (903) 214.33/146.05 Obligation: 214.33/146.05 Q DP problem: 214.33/146.05 The TRS P consists of the following rules: 214.33/146.05 214.33/146.05 new_pr2F0G1(vyv227, vyv228, vyv229, Succ(Succ(vyv23000)), ba) -> new_pr2F0G1(vyv227, vyv228, vyv229, vyv23000, ba) 214.33/146.05 new_pr2F0G1(vyv227, vyv228, vyv229, Succ(Zero), ba) -> new_pr2F(vyv228, vyv229, Pos(Succ(Zero)), vyv227, ba) 214.33/146.05 new_pr2F0(vyv184, Pos(Succ(Succ(vyv223000))), vyv188, h) -> new_pr2F0G1(vyv188, vyv184, Succ(vyv223000), vyv223000, h) 214.33/146.05 new_pr2F0G1(vyv227, vyv228, vyv229, Zero, ba) -> new_pr2F0G(vyv227, new_sr1(vyv228, ba), Pos(new_primDivNatS1(Succ(vyv229), Succ(Zero))), ba) 214.33/146.05 new_pr2F0G(vyv188, vyv184, Pos(Succ(Succ(vyv223000))), h) -> new_pr2F0G1(vyv188, vyv184, Succ(vyv223000), vyv223000, h) 214.33/146.05 new_pr2F(y0, Succ(x0), Pos(Succ(Zero)), y2, y3) -> new_pr2F3(False, y0, Succ(x0), Pos(Succ(Zero)), y2, y3) 214.33/146.05 214.33/146.05 The TRS R consists of the following rules: 214.33/146.05 214.33/146.05 new_sr2(vyv228, vyv227, ty_Integer) -> new_sr9(vyv228, vyv227) 214.33/146.05 new_sr2(vyv228, vyv227, ty_Int) -> new_sr10(vyv228, vyv227) 214.33/146.05 new_sr2(vyv228, vyv227, app(ty_Ratio, bg)) -> new_sr8(vyv228, vyv227, bg) 214.33/146.05 new_sr2(vyv228, vyv227, ty_Double) -> new_sr13(vyv228, vyv227) 214.33/146.05 new_sr2(vyv228, vyv227, ty_Float) -> new_sr14(vyv228, vyv227) 214.33/146.05 new_sr14(vyv240, vyv239) -> error([]) 214.33/146.05 new_sr13(vyv240, vyv239) -> error([]) 214.33/146.05 new_sr8(:%(vyv2400, vyv2401), :%(vyv2390, vyv2391), be) -> new_reduce2Reduce1(vyv2400, vyv2390, vyv2401, vyv2391, new_esEs2(vyv2401, vyv2391, be), be) 214.33/146.05 new_esEs2(vyv2401, vyv2391, ty_Integer) -> new_esEs1(new_sr9(vyv2401, vyv2391)) 214.33/146.05 new_esEs2(vyv2401, vyv2391, ty_Int) -> new_esEs(new_sr10(vyv2401, vyv2391)) 214.33/146.05 new_reduce2Reduce1(vyv265, vyv266, vyv267, vyv268, False, bh) -> :%(new_quot0(vyv265, vyv266, vyv267, vyv268, bh), new_quot1(vyv267, vyv268, vyv265, vyv266, bh)) 214.33/146.05 new_reduce2Reduce1(vyv265, vyv266, vyv267, vyv268, True, bh) -> error([]) 214.33/146.05 new_quot0(vyv265, vyv266, vyv267, vyv268, ty_Integer) -> new_quot2(new_sr9(vyv265, vyv266), new_sr9(vyv265, vyv266), new_sr9(vyv267, vyv268)) 214.33/146.05 new_quot0(vyv265, vyv266, vyv267, vyv268, ty_Int) -> new_quot(new_sr10(vyv265, vyv266), new_sr10(vyv265, vyv266), new_sr10(vyv267, vyv268)) 214.33/146.05 new_quot1(vyv267, vyv268, vyv265, vyv266, ty_Int) -> new_quot(new_sr10(vyv267, vyv268), new_sr10(vyv265, vyv266), new_sr10(vyv267, vyv268)) 214.33/146.05 new_quot1(vyv267, vyv268, vyv265, vyv266, ty_Integer) -> new_quot2(new_sr9(vyv267, vyv268), new_sr9(vyv265, vyv266), new_sr9(vyv267, vyv268)) 214.33/146.05 new_sr9(vyv240, vyv239) -> error([]) 214.33/146.05 new_quot2(vyv274, vyv276, vyv275) -> error([]) 214.33/146.05 new_sr10(Pos(vyv2400), Pos(vyv2390)) -> Pos(new_primMulNat0(vyv2400, vyv2390)) 214.33/146.05 new_sr10(Neg(vyv2400), Neg(vyv2390)) -> Pos(new_primMulNat0(vyv2400, vyv2390)) 214.33/146.05 new_sr10(Pos(vyv2400), Neg(vyv2390)) -> Neg(new_primMulNat0(vyv2400, vyv2390)) 214.33/146.05 new_sr10(Neg(vyv2400), Pos(vyv2390)) -> Neg(new_primMulNat0(vyv2400, vyv2390)) 214.33/146.05 new_quot(Pos(vyv2710), vyv273, vyv272) -> new_primQuotInt(vyv2710, new_gcd(vyv273, vyv272)) 214.33/146.05 new_quot(Neg(vyv2710), vyv273, vyv272) -> new_primQuotInt0(vyv2710, new_gcd(vyv273, vyv272)) 214.33/146.05 new_gcd(vyv273, vyv272) -> new_gcd2(new_esEs(vyv273), vyv273, vyv272) 214.33/146.05 new_primQuotInt0(vyv2710, Pos(Succ(vyv28800))) -> Neg(new_primDivNatS1(vyv2710, vyv28800)) 214.33/146.05 new_primQuotInt0(vyv2710, Neg(Zero)) -> new_error 214.33/146.05 new_primQuotInt0(vyv2710, Neg(Succ(vyv28800))) -> Pos(new_primDivNatS1(vyv2710, vyv28800)) 214.33/146.05 new_primQuotInt0(vyv2710, Pos(Zero)) -> new_error 214.33/146.05 new_error -> error([]) 214.33/146.05 new_primDivNatS1(Succ(Zero), Succ(vyv285000)) -> Zero 214.33/146.05 new_primDivNatS1(Succ(Succ(vyv271000)), Succ(vyv285000)) -> new_primDivNatS01(vyv271000, vyv285000, vyv271000, vyv285000) 214.33/146.05 new_primDivNatS1(Zero, vyv28500) -> Zero 214.33/146.05 new_primDivNatS1(Succ(Succ(vyv271000)), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS0(vyv271000), Zero)) 214.33/146.05 new_primDivNatS1(Succ(Zero), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS1, Zero)) 214.33/146.05 new_primMinusNatS1 -> Zero 214.33/146.05 new_primMinusNatS0(vyv271000) -> Succ(vyv271000) 214.33/146.05 new_primDivNatS01(vyv311, vyv312, Succ(vyv3130), Zero) -> new_primDivNatS02(vyv311, vyv312) 214.33/146.05 new_primDivNatS01(vyv311, vyv312, Zero, Succ(vyv3140)) -> Zero 214.33/146.05 new_primDivNatS01(vyv311, vyv312, Succ(vyv3130), Succ(vyv3140)) -> new_primDivNatS01(vyv311, vyv312, vyv3130, vyv3140) 214.33/146.05 new_primDivNatS01(vyv311, vyv312, Zero, Zero) -> new_primDivNatS02(vyv311, vyv312) 214.33/146.05 new_primDivNatS02(vyv311, vyv312) -> Succ(new_primDivNatS1(new_primMinusNatS2(vyv311, vyv312), Succ(vyv312))) 214.33/146.05 new_primMinusNatS2(Zero, Succ(vyv3120)) -> Zero 214.33/146.05 new_primMinusNatS2(Succ(vyv3110), Zero) -> Succ(vyv3110) 214.33/146.05 new_primMinusNatS2(Zero, Zero) -> Zero 214.33/146.05 new_primMinusNatS2(Succ(vyv3110), Succ(vyv3120)) -> new_primMinusNatS2(vyv3110, vyv3120) 214.33/146.05 new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) 214.33/146.05 new_esEs(Pos(Succ(vyv24300))) -> new_primEqInt(Pos(Succ(vyv24300))) 214.33/146.05 new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) 214.33/146.05 new_esEs(Neg(Succ(vyv24300))) -> new_primEqInt(Neg(Succ(vyv24300))) 214.33/146.05 new_gcd2(True, vyv273, vyv272) -> new_gcd1(new_esEs(vyv272), vyv273, vyv272) 214.33/146.05 new_gcd2(False, vyv273, vyv272) -> new_gcd0(vyv273, vyv272) 214.33/146.05 new_gcd0(vyv273, vyv272) -> new_gcd0Gcd'11(new_esEs(new_abs(vyv272)), vyv273, vyv272) 214.33/146.05 new_abs(Neg(Zero)) -> Neg(Zero) 214.33/146.05 new_abs(Neg(Succ(vyv27200))) -> Pos(Succ(vyv27200)) 214.33/146.05 new_abs(Pos(Succ(vyv27200))) -> Pos(Succ(vyv27200)) 214.33/146.05 new_abs(Pos(Zero)) -> Pos(Zero) 214.33/146.05 new_gcd0Gcd'11(True, vyv273, vyv272) -> new_abs(vyv273) 214.33/146.05 new_gcd0Gcd'11(False, vyv273, vyv272) -> new_gcd0Gcd'00(new_abs(vyv273), new_abs(vyv272)) 214.33/146.05 new_gcd0Gcd'10(False, vyv292, vyv293) -> new_gcd0Gcd'00(vyv292, new_rem(vyv293, vyv292)) 214.33/146.05 new_gcd0Gcd'00(vyv293, vyv292) -> new_gcd0Gcd'10(new_esEs(new_rem(vyv293, vyv292)), vyv292, vyv293) 214.33/146.05 new_rem(Pos(vyv2930), Neg(Zero)) -> new_error 214.33/146.05 new_rem(Neg(vyv2930), Pos(Zero)) -> new_error 214.33/146.05 new_rem(Pos(vyv2930), Neg(Succ(vyv29200))) -> Pos(new_primModNatS1(vyv2930, vyv29200)) 214.33/146.05 new_rem(Neg(vyv2930), Pos(Succ(vyv29200))) -> Neg(new_primModNatS1(vyv2930, vyv29200)) 214.33/146.05 new_rem(Pos(vyv2930), Pos(Succ(vyv29200))) -> Pos(new_primModNatS1(vyv2930, vyv29200)) 214.33/146.05 new_rem(Neg(vyv2930), Neg(Zero)) -> new_error 214.33/146.05 new_rem(Neg(vyv2930), Neg(Succ(vyv29200))) -> Neg(new_primModNatS1(vyv2930, vyv29200)) 214.33/146.05 new_rem(Pos(vyv2930), Pos(Zero)) -> new_error 214.33/146.05 new_gcd0Gcd'10(True, vyv292, vyv293) -> vyv292 214.33/146.05 new_primModNatS1(Succ(Zero), Succ(vyv292000)) -> Succ(Zero) 214.33/146.05 new_primModNatS1(Zero, vyv29200) -> Zero 214.33/146.05 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 214.33/146.05 new_primModNatS1(Succ(Succ(vyv293000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv293000), Zero) 214.33/146.05 new_primModNatS1(Succ(Succ(vyv293000)), Succ(vyv292000)) -> new_primModNatS01(vyv293000, vyv292000, vyv293000, vyv292000) 214.33/146.05 new_primModNatS01(vyv331, vyv332, Zero, Zero) -> new_primModNatS02(vyv331, vyv332) 214.33/146.05 new_primModNatS02(vyv331, vyv332) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv331), Succ(vyv332)), Succ(vyv332)) 214.33/146.05 new_primModNatS01(vyv331, vyv332, Succ(vyv3330), Zero) -> new_primModNatS02(vyv331, vyv332) 214.33/146.05 new_primModNatS01(vyv331, vyv332, Succ(vyv3330), Succ(vyv3340)) -> new_primModNatS01(vyv331, vyv332, vyv3330, vyv3340) 214.33/146.05 new_primModNatS01(vyv331, vyv332, Zero, Succ(vyv3340)) -> Succ(Succ(vyv331)) 214.33/146.05 new_gcd1(True, vyv273, vyv272) -> new_error 214.33/146.05 new_gcd1(False, vyv273, vyv272) -> new_gcd0(vyv273, vyv272) 214.33/146.05 new_primEqInt(Neg(Succ(vyv242000))) -> False 214.33/146.05 new_primEqInt(Pos(Zero)) -> True 214.33/146.05 new_primEqInt(Pos(Succ(vyv242000))) -> False 214.33/146.05 new_primEqInt(Neg(Zero)) -> True 214.33/146.05 new_primQuotInt(vyv2710, Pos(Succ(vyv28500))) -> Pos(new_primDivNatS1(vyv2710, vyv28500)) 214.33/146.05 new_primQuotInt(vyv2710, Neg(Zero)) -> new_error 214.33/146.05 new_primQuotInt(vyv2710, Pos(Zero)) -> new_error 214.33/146.05 new_primQuotInt(vyv2710, Neg(Succ(vyv28500))) -> Neg(new_primDivNatS1(vyv2710, vyv28500)) 214.33/146.05 new_primMulNat0(Zero, Succ(vyv23900)) -> Zero 214.33/146.05 new_primMulNat0(Succ(vyv24000), Succ(vyv23900)) -> new_primPlusNat0(new_primMulNat0(vyv24000, Succ(vyv23900)), Succ(vyv23900)) 214.33/146.05 new_primMulNat0(Succ(vyv24000), Zero) -> Zero 214.33/146.05 new_primMulNat0(Zero, Zero) -> Zero 214.33/146.05 new_primPlusNat0(Succ(vyv4000), Succ(vyv6000)) -> Succ(Succ(new_primPlusNat0(vyv4000, vyv6000))) 214.33/146.05 new_primPlusNat0(Zero, Succ(vyv6000)) -> Succ(vyv6000) 214.33/146.05 new_primPlusNat0(Zero, Zero) -> Zero 214.33/146.05 new_primPlusNat0(Succ(vyv4000), Zero) -> Succ(vyv4000) 214.33/146.05 new_esEs1(Integer(vyv2700)) -> new_primEqInt(vyv2700) 214.33/146.05 new_sr1(vyv228, ty_Double) -> new_sr11(vyv228) 214.33/146.05 new_sr1(vyv228, ty_Float) -> new_sr12(vyv228) 214.33/146.05 new_sr1(vyv228, app(ty_Ratio, bg)) -> new_sr5(vyv228, bg) 214.33/146.05 new_sr1(vyv228, ty_Integer) -> new_sr6(vyv228) 214.33/146.05 new_sr1(vyv228, ty_Int) -> new_sr7(vyv228) 214.33/146.05 new_sr7(Pos(vyv1840)) -> Pos(new_primMulNat1(vyv1840)) 214.33/146.05 new_sr7(Neg(vyv1840)) -> Pos(new_primMulNat1(vyv1840)) 214.33/146.05 new_primMulNat1(Succ(vyv18400)) -> new_primPlusNat0(new_primMulNat2(vyv18400), Succ(vyv18400)) 214.33/146.05 new_primMulNat1(Zero) -> Zero 214.33/146.05 new_primMulNat2(Succ(vyv184000)) -> new_primPlusNat0(new_primMulNat3(vyv184000), Succ(Succ(vyv184000))) 214.33/146.05 new_primMulNat2(Zero) -> Zero 214.33/146.05 new_primMulNat3(Succ(vyv1840000)) -> new_primPlusNat0(new_primMulNat4(vyv1840000), Succ(Succ(Succ(vyv1840000)))) 214.33/146.05 new_primMulNat3(Zero) -> Zero 214.33/146.05 new_primMulNat4(Succ(vyv18400000)) -> new_primPlusNat0(new_primMulNat0(vyv18400000, Succ(Succ(Succ(Succ(vyv18400000))))), Succ(Succ(Succ(Succ(vyv18400000))))) 214.33/146.05 new_primMulNat4(Zero) -> Zero 214.33/146.05 new_sr6(vyv184) -> error([]) 214.33/146.05 new_sr5(:%(vyv1840, vyv1841), bd) -> new_reduce2Reduce1(vyv1840, vyv1840, vyv1841, vyv1841, new_esEs0(vyv1841, bd), bd) 214.33/146.05 new_esEs0(vyv1841, ty_Int) -> new_esEs(new_sr7(vyv1841)) 214.33/146.05 new_esEs0(vyv1841, ty_Integer) -> new_esEs1(new_sr6(vyv1841)) 214.33/146.05 new_sr12(vyv184) -> error([]) 214.33/146.05 new_sr11(vyv184) -> error([]) 214.33/146.05 214.33/146.05 The set Q consists of the following terms: 214.33/146.05 214.33/146.05 new_sr13(x0, x1) 214.33/146.05 new_primDivNatS01(x0, x1, Zero, Zero) 214.33/146.05 new_gcd0Gcd'11(False, x0, x1) 214.33/146.05 new_primMulNat4(Zero) 214.33/146.05 new_gcd0Gcd'11(True, x0, x1) 214.33/146.05 new_sr2(x0, x1, ty_Float) 214.33/146.05 new_sr5(:%(x0, x1), x2) 214.33/146.05 new_primEqInt(Pos(Zero)) 214.33/146.05 new_sr2(x0, x1, ty_Double) 214.33/146.05 new_esEs(Pos(Succ(x0))) 214.33/146.05 new_primQuotInt0(x0, Neg(Zero)) 214.33/146.05 new_primMulNat3(Zero) 214.33/146.05 new_primModNatS02(x0, x1) 214.33/146.05 new_primDivNatS1(Succ(Zero), Zero) 214.33/146.05 new_primMinusNatS0(x0) 214.33/146.05 new_sr11(x0) 214.33/146.05 new_rem(Pos(x0), Neg(Succ(x1))) 214.33/146.05 new_rem(Neg(x0), Pos(Succ(x1))) 214.33/146.05 new_primMulNat0(Zero, Zero) 214.33/146.05 new_primPlusNat0(Succ(x0), Zero) 214.33/146.05 new_primMulNat0(Succ(x0), Zero) 214.33/146.05 new_primMulNat2(Zero) 214.33/146.05 new_primQuotInt(x0, Pos(Zero)) 214.33/146.05 new_primMulNat2(Succ(x0)) 214.33/146.05 new_primQuotInt(x0, Neg(Zero)) 214.33/146.05 new_rem(Neg(x0), Neg(Succ(x1))) 214.33/146.05 new_primMinusNatS2(Zero, Succ(x0)) 214.33/146.05 new_primMulNat3(Succ(x0)) 214.33/146.05 new_esEs1(Integer(x0)) 214.33/146.05 new_primQuotInt0(x0, Pos(Zero)) 214.33/146.05 new_gcd2(True, x0, x1) 214.33/146.05 new_quot1(x0, x1, x2, x3, ty_Int) 214.33/146.05 new_primDivNatS1(Zero, x0) 214.33/146.05 new_gcd(x0, x1) 214.33/146.05 new_gcd1(False, x0, x1) 214.33/146.05 new_esEs2(x0, x1, ty_Int) 214.33/146.05 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 214.33/146.05 new_sr1(x0, app(ty_Ratio, x1)) 214.33/146.05 new_sr1(x0, ty_Float) 214.33/146.05 new_primPlusNat0(Zero, Succ(x0)) 214.33/146.05 new_sr8(:%(x0, x1), :%(x2, x3), x4) 214.33/146.05 new_abs(Neg(Zero)) 214.33/146.05 new_primMinusNatS2(Succ(x0), Zero) 214.33/146.05 new_error 214.33/146.05 new_primModNatS1(Succ(Zero), Zero) 214.33/146.05 new_primMulNat4(Succ(x0)) 214.33/146.05 new_sr1(x0, ty_Integer) 214.33/146.05 new_primDivNatS02(x0, x1) 214.33/146.05 new_sr1(x0, ty_Int) 214.33/146.05 new_rem(Neg(x0), Neg(Zero)) 214.33/146.05 new_primEqInt(Neg(Zero)) 214.33/146.05 new_rem(Pos(x0), Pos(Succ(x1))) 214.33/146.05 new_abs(Pos(Succ(x0))) 214.33/146.05 new_primMulNat0(Succ(x0), Succ(x1)) 214.33/146.05 new_primMulNat0(Zero, Succ(x0)) 214.33/146.05 new_reduce2Reduce1(x0, x1, x2, x3, True, x4) 214.33/146.05 new_gcd0Gcd'10(False, x0, x1) 214.33/146.05 new_sr12(x0) 214.33/146.05 new_primDivNatS01(x0, x1, Zero, Succ(x2)) 214.33/146.05 new_sr10(Pos(x0), Pos(x1)) 214.33/146.05 new_primModNatS01(x0, x1, Zero, Succ(x2)) 214.33/146.05 new_primPlusNat0(Zero, Zero) 214.33/146.05 new_primQuotInt0(x0, Pos(Succ(x1))) 214.33/146.05 new_primModNatS01(x0, x1, Succ(x2), Zero) 214.33/146.05 new_primModNatS1(Succ(Succ(x0)), Zero) 214.33/146.05 new_rem(Pos(x0), Pos(Zero)) 214.33/146.05 new_quot(Pos(x0), x1, x2) 214.33/146.05 new_primMinusNatS2(Zero, Zero) 214.33/146.05 new_esEs0(x0, ty_Int) 214.33/146.05 new_esEs(Pos(Zero)) 214.33/146.05 new_quot(Neg(x0), x1, x2) 214.33/146.05 new_primDivNatS01(x0, x1, Succ(x2), Succ(x3)) 214.33/146.05 new_quot2(x0, x1, x2) 214.33/146.05 new_primEqInt(Neg(Succ(x0))) 214.33/146.05 new_sr10(Neg(x0), Neg(x1)) 214.33/146.05 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 214.33/146.05 new_sr9(x0, x1) 214.33/146.05 new_sr2(x0, x1, ty_Integer) 214.33/146.05 new_sr7(Neg(x0)) 214.33/146.05 new_sr1(x0, ty_Double) 214.33/146.05 new_primQuotInt0(x0, Neg(Succ(x1))) 214.33/146.05 new_rem(Pos(x0), Neg(Zero)) 214.33/146.05 new_rem(Neg(x0), Pos(Zero)) 214.33/146.05 new_gcd0Gcd'00(x0, x1) 214.33/146.05 new_primQuotInt(x0, Neg(Succ(x1))) 214.33/146.05 new_primMinusNatS2(Succ(x0), Succ(x1)) 214.33/146.05 new_abs(Pos(Zero)) 214.33/146.05 new_quot0(x0, x1, x2, x3, ty_Integer) 214.33/146.05 new_sr6(x0) 214.33/146.05 new_gcd2(False, x0, x1) 214.33/146.05 new_gcd1(True, x0, x1) 214.33/146.05 new_esEs2(x0, x1, ty_Integer) 214.33/146.05 new_primMinusNatS1 214.33/146.05 new_sr7(Pos(x0)) 214.33/146.05 new_gcd0Gcd'10(True, x0, x1) 214.33/146.05 new_primModNatS1(Zero, x0) 214.33/146.05 new_sr10(Pos(x0), Neg(x1)) 214.33/146.05 new_sr10(Neg(x0), Pos(x1)) 214.33/146.05 new_primDivNatS01(x0, x1, Succ(x2), Zero) 214.33/146.05 new_primDivNatS1(Succ(Succ(x0)), Succ(x1)) 214.33/146.05 new_primPlusNat0(Succ(x0), Succ(x1)) 214.33/146.05 new_primDivNatS1(Succ(Zero), Succ(x0)) 214.33/146.05 new_primQuotInt(x0, Pos(Succ(x1))) 214.33/146.05 new_sr2(x0, x1, app(ty_Ratio, x2)) 214.33/146.05 new_abs(Neg(Succ(x0))) 214.33/146.05 new_esEs0(x0, ty_Integer) 214.33/146.05 new_esEs(Neg(Succ(x0))) 214.33/146.05 new_primModNatS01(x0, x1, Zero, Zero) 214.33/146.05 new_gcd0(x0, x1) 214.33/146.05 new_primEqInt(Pos(Succ(x0))) 214.33/146.05 new_quot1(x0, x1, x2, x3, ty_Integer) 214.33/146.05 new_primDivNatS1(Succ(Succ(x0)), Zero) 214.33/146.05 new_primMulNat1(Succ(x0)) 214.33/146.05 new_sr14(x0, x1) 214.33/146.05 new_quot0(x0, x1, x2, x3, ty_Int) 214.33/146.05 new_sr2(x0, x1, ty_Int) 214.33/146.05 new_primModNatS1(Succ(Zero), Succ(x0)) 214.33/146.05 new_reduce2Reduce1(x0, x1, x2, x3, False, x4) 214.33/146.05 new_esEs(Neg(Zero)) 214.33/146.05 new_primMulNat1(Zero) 214.33/146.05 214.33/146.05 We have to consider all minimal (P,Q,R)-chains. 214.33/146.05 ---------------------------------------- 214.33/146.05 214.33/146.05 (904) DependencyGraphProof (EQUIVALENT) 214.33/146.05 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 3 less nodes. 214.33/146.05 ---------------------------------------- 214.33/146.05 214.33/146.05 (905) 214.33/146.05 Obligation: 214.33/146.05 Q DP problem: 214.33/146.05 The TRS P consists of the following rules: 214.33/146.05 214.33/146.05 new_pr2F0G1(vyv227, vyv228, vyv229, Succ(Succ(vyv23000)), ba) -> new_pr2F0G1(vyv227, vyv228, vyv229, vyv23000, ba) 214.33/146.05 new_pr2F0G1(vyv227, vyv228, vyv229, Zero, ba) -> new_pr2F0G(vyv227, new_sr1(vyv228, ba), Pos(new_primDivNatS1(Succ(vyv229), Succ(Zero))), ba) 214.33/146.05 new_pr2F0G(vyv188, vyv184, Pos(Succ(Succ(vyv223000))), h) -> new_pr2F0G1(vyv188, vyv184, Succ(vyv223000), vyv223000, h) 214.33/146.05 214.33/146.05 The TRS R consists of the following rules: 214.33/146.05 214.33/146.05 new_sr2(vyv228, vyv227, ty_Integer) -> new_sr9(vyv228, vyv227) 214.33/146.05 new_sr2(vyv228, vyv227, ty_Int) -> new_sr10(vyv228, vyv227) 214.33/146.05 new_sr2(vyv228, vyv227, app(ty_Ratio, bg)) -> new_sr8(vyv228, vyv227, bg) 214.33/146.05 new_sr2(vyv228, vyv227, ty_Double) -> new_sr13(vyv228, vyv227) 214.33/146.05 new_sr2(vyv228, vyv227, ty_Float) -> new_sr14(vyv228, vyv227) 214.33/146.05 new_sr14(vyv240, vyv239) -> error([]) 214.33/146.05 new_sr13(vyv240, vyv239) -> error([]) 214.33/146.05 new_sr8(:%(vyv2400, vyv2401), :%(vyv2390, vyv2391), be) -> new_reduce2Reduce1(vyv2400, vyv2390, vyv2401, vyv2391, new_esEs2(vyv2401, vyv2391, be), be) 214.33/146.05 new_esEs2(vyv2401, vyv2391, ty_Integer) -> new_esEs1(new_sr9(vyv2401, vyv2391)) 214.33/146.05 new_esEs2(vyv2401, vyv2391, ty_Int) -> new_esEs(new_sr10(vyv2401, vyv2391)) 214.33/146.05 new_reduce2Reduce1(vyv265, vyv266, vyv267, vyv268, False, bh) -> :%(new_quot0(vyv265, vyv266, vyv267, vyv268, bh), new_quot1(vyv267, vyv268, vyv265, vyv266, bh)) 214.33/146.05 new_reduce2Reduce1(vyv265, vyv266, vyv267, vyv268, True, bh) -> error([]) 214.33/146.05 new_quot0(vyv265, vyv266, vyv267, vyv268, ty_Integer) -> new_quot2(new_sr9(vyv265, vyv266), new_sr9(vyv265, vyv266), new_sr9(vyv267, vyv268)) 214.33/146.05 new_quot0(vyv265, vyv266, vyv267, vyv268, ty_Int) -> new_quot(new_sr10(vyv265, vyv266), new_sr10(vyv265, vyv266), new_sr10(vyv267, vyv268)) 214.33/146.05 new_quot1(vyv267, vyv268, vyv265, vyv266, ty_Int) -> new_quot(new_sr10(vyv267, vyv268), new_sr10(vyv265, vyv266), new_sr10(vyv267, vyv268)) 214.33/146.05 new_quot1(vyv267, vyv268, vyv265, vyv266, ty_Integer) -> new_quot2(new_sr9(vyv267, vyv268), new_sr9(vyv265, vyv266), new_sr9(vyv267, vyv268)) 214.33/146.05 new_sr9(vyv240, vyv239) -> error([]) 214.33/146.05 new_quot2(vyv274, vyv276, vyv275) -> error([]) 214.33/146.05 new_sr10(Pos(vyv2400), Pos(vyv2390)) -> Pos(new_primMulNat0(vyv2400, vyv2390)) 214.33/146.05 new_sr10(Neg(vyv2400), Neg(vyv2390)) -> Pos(new_primMulNat0(vyv2400, vyv2390)) 214.33/146.05 new_sr10(Pos(vyv2400), Neg(vyv2390)) -> Neg(new_primMulNat0(vyv2400, vyv2390)) 214.33/146.05 new_sr10(Neg(vyv2400), Pos(vyv2390)) -> Neg(new_primMulNat0(vyv2400, vyv2390)) 214.33/146.05 new_quot(Pos(vyv2710), vyv273, vyv272) -> new_primQuotInt(vyv2710, new_gcd(vyv273, vyv272)) 214.33/146.05 new_quot(Neg(vyv2710), vyv273, vyv272) -> new_primQuotInt0(vyv2710, new_gcd(vyv273, vyv272)) 214.33/146.05 new_gcd(vyv273, vyv272) -> new_gcd2(new_esEs(vyv273), vyv273, vyv272) 214.33/146.05 new_primQuotInt0(vyv2710, Pos(Succ(vyv28800))) -> Neg(new_primDivNatS1(vyv2710, vyv28800)) 214.33/146.05 new_primQuotInt0(vyv2710, Neg(Zero)) -> new_error 214.33/146.05 new_primQuotInt0(vyv2710, Neg(Succ(vyv28800))) -> Pos(new_primDivNatS1(vyv2710, vyv28800)) 214.33/146.05 new_primQuotInt0(vyv2710, Pos(Zero)) -> new_error 214.33/146.05 new_error -> error([]) 214.33/146.05 new_primDivNatS1(Succ(Zero), Succ(vyv285000)) -> Zero 214.33/146.05 new_primDivNatS1(Succ(Succ(vyv271000)), Succ(vyv285000)) -> new_primDivNatS01(vyv271000, vyv285000, vyv271000, vyv285000) 214.33/146.05 new_primDivNatS1(Zero, vyv28500) -> Zero 214.33/146.05 new_primDivNatS1(Succ(Succ(vyv271000)), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS0(vyv271000), Zero)) 214.33/146.05 new_primDivNatS1(Succ(Zero), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS1, Zero)) 214.33/146.05 new_primMinusNatS1 -> Zero 214.33/146.05 new_primMinusNatS0(vyv271000) -> Succ(vyv271000) 214.33/146.05 new_primDivNatS01(vyv311, vyv312, Succ(vyv3130), Zero) -> new_primDivNatS02(vyv311, vyv312) 214.33/146.05 new_primDivNatS01(vyv311, vyv312, Zero, Succ(vyv3140)) -> Zero 214.33/146.05 new_primDivNatS01(vyv311, vyv312, Succ(vyv3130), Succ(vyv3140)) -> new_primDivNatS01(vyv311, vyv312, vyv3130, vyv3140) 214.33/146.05 new_primDivNatS01(vyv311, vyv312, Zero, Zero) -> new_primDivNatS02(vyv311, vyv312) 214.33/146.05 new_primDivNatS02(vyv311, vyv312) -> Succ(new_primDivNatS1(new_primMinusNatS2(vyv311, vyv312), Succ(vyv312))) 214.33/146.06 new_primMinusNatS2(Zero, Succ(vyv3120)) -> Zero 214.33/146.06 new_primMinusNatS2(Succ(vyv3110), Zero) -> Succ(vyv3110) 214.33/146.06 new_primMinusNatS2(Zero, Zero) -> Zero 214.33/146.06 new_primMinusNatS2(Succ(vyv3110), Succ(vyv3120)) -> new_primMinusNatS2(vyv3110, vyv3120) 214.33/146.06 new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) 214.33/146.06 new_esEs(Pos(Succ(vyv24300))) -> new_primEqInt(Pos(Succ(vyv24300))) 214.33/146.06 new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) 214.33/146.06 new_esEs(Neg(Succ(vyv24300))) -> new_primEqInt(Neg(Succ(vyv24300))) 214.33/146.06 new_gcd2(True, vyv273, vyv272) -> new_gcd1(new_esEs(vyv272), vyv273, vyv272) 214.33/146.06 new_gcd2(False, vyv273, vyv272) -> new_gcd0(vyv273, vyv272) 214.33/146.06 new_gcd0(vyv273, vyv272) -> new_gcd0Gcd'11(new_esEs(new_abs(vyv272)), vyv273, vyv272) 214.33/146.06 new_abs(Neg(Zero)) -> Neg(Zero) 214.33/146.06 new_abs(Neg(Succ(vyv27200))) -> Pos(Succ(vyv27200)) 214.33/146.06 new_abs(Pos(Succ(vyv27200))) -> Pos(Succ(vyv27200)) 214.33/146.06 new_abs(Pos(Zero)) -> Pos(Zero) 214.33/146.06 new_gcd0Gcd'11(True, vyv273, vyv272) -> new_abs(vyv273) 214.33/146.06 new_gcd0Gcd'11(False, vyv273, vyv272) -> new_gcd0Gcd'00(new_abs(vyv273), new_abs(vyv272)) 214.33/146.06 new_gcd0Gcd'10(False, vyv292, vyv293) -> new_gcd0Gcd'00(vyv292, new_rem(vyv293, vyv292)) 214.33/146.06 new_gcd0Gcd'00(vyv293, vyv292) -> new_gcd0Gcd'10(new_esEs(new_rem(vyv293, vyv292)), vyv292, vyv293) 214.33/146.06 new_rem(Pos(vyv2930), Neg(Zero)) -> new_error 214.33/146.06 new_rem(Neg(vyv2930), Pos(Zero)) -> new_error 214.33/146.06 new_rem(Pos(vyv2930), Neg(Succ(vyv29200))) -> Pos(new_primModNatS1(vyv2930, vyv29200)) 214.33/146.06 new_rem(Neg(vyv2930), Pos(Succ(vyv29200))) -> Neg(new_primModNatS1(vyv2930, vyv29200)) 214.33/146.06 new_rem(Pos(vyv2930), Pos(Succ(vyv29200))) -> Pos(new_primModNatS1(vyv2930, vyv29200)) 214.33/146.06 new_rem(Neg(vyv2930), Neg(Zero)) -> new_error 214.33/146.06 new_rem(Neg(vyv2930), Neg(Succ(vyv29200))) -> Neg(new_primModNatS1(vyv2930, vyv29200)) 214.33/146.06 new_rem(Pos(vyv2930), Pos(Zero)) -> new_error 214.33/146.06 new_gcd0Gcd'10(True, vyv292, vyv293) -> vyv292 214.33/146.06 new_primModNatS1(Succ(Zero), Succ(vyv292000)) -> Succ(Zero) 214.33/146.06 new_primModNatS1(Zero, vyv29200) -> Zero 214.33/146.06 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 214.33/146.06 new_primModNatS1(Succ(Succ(vyv293000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv293000), Zero) 214.33/146.06 new_primModNatS1(Succ(Succ(vyv293000)), Succ(vyv292000)) -> new_primModNatS01(vyv293000, vyv292000, vyv293000, vyv292000) 214.33/146.06 new_primModNatS01(vyv331, vyv332, Zero, Zero) -> new_primModNatS02(vyv331, vyv332) 214.33/146.06 new_primModNatS02(vyv331, vyv332) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv331), Succ(vyv332)), Succ(vyv332)) 214.33/146.06 new_primModNatS01(vyv331, vyv332, Succ(vyv3330), Zero) -> new_primModNatS02(vyv331, vyv332) 214.33/146.06 new_primModNatS01(vyv331, vyv332, Succ(vyv3330), Succ(vyv3340)) -> new_primModNatS01(vyv331, vyv332, vyv3330, vyv3340) 214.33/146.06 new_primModNatS01(vyv331, vyv332, Zero, Succ(vyv3340)) -> Succ(Succ(vyv331)) 214.33/146.06 new_gcd1(True, vyv273, vyv272) -> new_error 214.33/146.06 new_gcd1(False, vyv273, vyv272) -> new_gcd0(vyv273, vyv272) 214.33/146.06 new_primEqInt(Neg(Succ(vyv242000))) -> False 214.33/146.06 new_primEqInt(Pos(Zero)) -> True 214.33/146.06 new_primEqInt(Pos(Succ(vyv242000))) -> False 214.33/146.06 new_primEqInt(Neg(Zero)) -> True 214.33/146.06 new_primQuotInt(vyv2710, Pos(Succ(vyv28500))) -> Pos(new_primDivNatS1(vyv2710, vyv28500)) 214.33/146.06 new_primQuotInt(vyv2710, Neg(Zero)) -> new_error 214.33/146.06 new_primQuotInt(vyv2710, Pos(Zero)) -> new_error 214.33/146.06 new_primQuotInt(vyv2710, Neg(Succ(vyv28500))) -> Neg(new_primDivNatS1(vyv2710, vyv28500)) 214.33/146.06 new_primMulNat0(Zero, Succ(vyv23900)) -> Zero 214.33/146.06 new_primMulNat0(Succ(vyv24000), Succ(vyv23900)) -> new_primPlusNat0(new_primMulNat0(vyv24000, Succ(vyv23900)), Succ(vyv23900)) 214.33/146.06 new_primMulNat0(Succ(vyv24000), Zero) -> Zero 214.33/146.06 new_primMulNat0(Zero, Zero) -> Zero 214.33/146.06 new_primPlusNat0(Succ(vyv4000), Succ(vyv6000)) -> Succ(Succ(new_primPlusNat0(vyv4000, vyv6000))) 214.33/146.06 new_primPlusNat0(Zero, Succ(vyv6000)) -> Succ(vyv6000) 214.33/146.06 new_primPlusNat0(Zero, Zero) -> Zero 214.33/146.06 new_primPlusNat0(Succ(vyv4000), Zero) -> Succ(vyv4000) 214.33/146.06 new_esEs1(Integer(vyv2700)) -> new_primEqInt(vyv2700) 214.33/146.06 new_sr1(vyv228, ty_Double) -> new_sr11(vyv228) 214.33/146.06 new_sr1(vyv228, ty_Float) -> new_sr12(vyv228) 214.33/146.06 new_sr1(vyv228, app(ty_Ratio, bg)) -> new_sr5(vyv228, bg) 214.33/146.06 new_sr1(vyv228, ty_Integer) -> new_sr6(vyv228) 214.33/146.06 new_sr1(vyv228, ty_Int) -> new_sr7(vyv228) 214.33/146.06 new_sr7(Pos(vyv1840)) -> Pos(new_primMulNat1(vyv1840)) 214.33/146.06 new_sr7(Neg(vyv1840)) -> Pos(new_primMulNat1(vyv1840)) 214.33/146.06 new_primMulNat1(Succ(vyv18400)) -> new_primPlusNat0(new_primMulNat2(vyv18400), Succ(vyv18400)) 214.33/146.06 new_primMulNat1(Zero) -> Zero 214.33/146.06 new_primMulNat2(Succ(vyv184000)) -> new_primPlusNat0(new_primMulNat3(vyv184000), Succ(Succ(vyv184000))) 214.33/146.06 new_primMulNat2(Zero) -> Zero 214.33/146.06 new_primMulNat3(Succ(vyv1840000)) -> new_primPlusNat0(new_primMulNat4(vyv1840000), Succ(Succ(Succ(vyv1840000)))) 214.33/146.06 new_primMulNat3(Zero) -> Zero 214.33/146.06 new_primMulNat4(Succ(vyv18400000)) -> new_primPlusNat0(new_primMulNat0(vyv18400000, Succ(Succ(Succ(Succ(vyv18400000))))), Succ(Succ(Succ(Succ(vyv18400000))))) 214.33/146.06 new_primMulNat4(Zero) -> Zero 214.33/146.06 new_sr6(vyv184) -> error([]) 214.33/146.06 new_sr5(:%(vyv1840, vyv1841), bd) -> new_reduce2Reduce1(vyv1840, vyv1840, vyv1841, vyv1841, new_esEs0(vyv1841, bd), bd) 214.33/146.06 new_esEs0(vyv1841, ty_Int) -> new_esEs(new_sr7(vyv1841)) 214.33/146.06 new_esEs0(vyv1841, ty_Integer) -> new_esEs1(new_sr6(vyv1841)) 214.33/146.06 new_sr12(vyv184) -> error([]) 214.33/146.06 new_sr11(vyv184) -> error([]) 214.33/146.06 214.33/146.06 The set Q consists of the following terms: 214.33/146.06 214.33/146.06 new_sr13(x0, x1) 214.33/146.06 new_primDivNatS01(x0, x1, Zero, Zero) 214.33/146.06 new_gcd0Gcd'11(False, x0, x1) 214.33/146.06 new_primMulNat4(Zero) 214.33/146.06 new_gcd0Gcd'11(True, x0, x1) 214.33/146.06 new_sr2(x0, x1, ty_Float) 214.33/146.06 new_sr5(:%(x0, x1), x2) 214.33/146.06 new_primEqInt(Pos(Zero)) 214.33/146.06 new_sr2(x0, x1, ty_Double) 214.33/146.06 new_esEs(Pos(Succ(x0))) 214.33/146.06 new_primQuotInt0(x0, Neg(Zero)) 214.33/146.06 new_primMulNat3(Zero) 214.33/146.06 new_primModNatS02(x0, x1) 214.33/146.06 new_primDivNatS1(Succ(Zero), Zero) 214.33/146.06 new_primMinusNatS0(x0) 214.33/146.06 new_sr11(x0) 214.33/146.06 new_rem(Pos(x0), Neg(Succ(x1))) 214.33/146.06 new_rem(Neg(x0), Pos(Succ(x1))) 214.33/146.06 new_primMulNat0(Zero, Zero) 214.33/146.06 new_primPlusNat0(Succ(x0), Zero) 214.33/146.06 new_primMulNat0(Succ(x0), Zero) 214.33/146.06 new_primMulNat2(Zero) 214.33/146.06 new_primQuotInt(x0, Pos(Zero)) 214.33/146.06 new_primMulNat2(Succ(x0)) 214.33/146.06 new_primQuotInt(x0, Neg(Zero)) 214.33/146.06 new_rem(Neg(x0), Neg(Succ(x1))) 214.33/146.06 new_primMinusNatS2(Zero, Succ(x0)) 214.33/146.06 new_primMulNat3(Succ(x0)) 214.33/146.06 new_esEs1(Integer(x0)) 214.33/146.06 new_primQuotInt0(x0, Pos(Zero)) 214.33/146.06 new_gcd2(True, x0, x1) 214.33/146.06 new_quot1(x0, x1, x2, x3, ty_Int) 214.33/146.06 new_primDivNatS1(Zero, x0) 214.33/146.06 new_gcd(x0, x1) 214.33/146.06 new_gcd1(False, x0, x1) 214.33/146.06 new_esEs2(x0, x1, ty_Int) 214.33/146.06 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 214.33/146.06 new_sr1(x0, app(ty_Ratio, x1)) 214.33/146.06 new_sr1(x0, ty_Float) 214.33/146.06 new_primPlusNat0(Zero, Succ(x0)) 214.33/146.06 new_sr8(:%(x0, x1), :%(x2, x3), x4) 214.33/146.06 new_abs(Neg(Zero)) 214.33/146.06 new_primMinusNatS2(Succ(x0), Zero) 214.33/146.06 new_error 214.33/146.06 new_primModNatS1(Succ(Zero), Zero) 214.33/146.06 new_primMulNat4(Succ(x0)) 214.33/146.06 new_sr1(x0, ty_Integer) 214.33/146.06 new_primDivNatS02(x0, x1) 214.33/146.06 new_sr1(x0, ty_Int) 214.33/146.06 new_rem(Neg(x0), Neg(Zero)) 214.33/146.06 new_primEqInt(Neg(Zero)) 214.33/146.06 new_rem(Pos(x0), Pos(Succ(x1))) 214.33/146.06 new_abs(Pos(Succ(x0))) 214.33/146.06 new_primMulNat0(Succ(x0), Succ(x1)) 214.33/146.06 new_primMulNat0(Zero, Succ(x0)) 214.33/146.06 new_reduce2Reduce1(x0, x1, x2, x3, True, x4) 214.33/146.06 new_gcd0Gcd'10(False, x0, x1) 214.33/146.06 new_sr12(x0) 214.33/146.06 new_primDivNatS01(x0, x1, Zero, Succ(x2)) 214.33/146.06 new_sr10(Pos(x0), Pos(x1)) 214.33/146.06 new_primModNatS01(x0, x1, Zero, Succ(x2)) 214.33/146.06 new_primPlusNat0(Zero, Zero) 214.33/146.06 new_primQuotInt0(x0, Pos(Succ(x1))) 214.33/146.06 new_primModNatS01(x0, x1, Succ(x2), Zero) 214.33/146.06 new_primModNatS1(Succ(Succ(x0)), Zero) 214.33/146.06 new_rem(Pos(x0), Pos(Zero)) 214.33/146.06 new_quot(Pos(x0), x1, x2) 214.33/146.06 new_primMinusNatS2(Zero, Zero) 214.33/146.06 new_esEs0(x0, ty_Int) 214.33/146.06 new_esEs(Pos(Zero)) 214.33/146.06 new_quot(Neg(x0), x1, x2) 214.33/146.06 new_primDivNatS01(x0, x1, Succ(x2), Succ(x3)) 214.33/146.06 new_quot2(x0, x1, x2) 214.33/146.06 new_primEqInt(Neg(Succ(x0))) 214.33/146.06 new_sr10(Neg(x0), Neg(x1)) 214.33/146.06 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 214.33/146.06 new_sr9(x0, x1) 214.33/146.06 new_sr2(x0, x1, ty_Integer) 214.33/146.06 new_sr7(Neg(x0)) 214.33/146.06 new_sr1(x0, ty_Double) 214.33/146.06 new_primQuotInt0(x0, Neg(Succ(x1))) 214.33/146.06 new_rem(Pos(x0), Neg(Zero)) 214.33/146.06 new_rem(Neg(x0), Pos(Zero)) 214.33/146.06 new_gcd0Gcd'00(x0, x1) 214.33/146.06 new_primQuotInt(x0, Neg(Succ(x1))) 214.33/146.06 new_primMinusNatS2(Succ(x0), Succ(x1)) 214.33/146.06 new_abs(Pos(Zero)) 214.33/146.06 new_quot0(x0, x1, x2, x3, ty_Integer) 214.33/146.06 new_sr6(x0) 214.33/146.06 new_gcd2(False, x0, x1) 214.33/146.06 new_gcd1(True, x0, x1) 214.33/146.06 new_esEs2(x0, x1, ty_Integer) 214.33/146.06 new_primMinusNatS1 214.33/146.06 new_sr7(Pos(x0)) 214.33/146.06 new_gcd0Gcd'10(True, x0, x1) 214.33/146.06 new_primModNatS1(Zero, x0) 214.33/146.06 new_sr10(Pos(x0), Neg(x1)) 214.33/146.06 new_sr10(Neg(x0), Pos(x1)) 214.33/146.06 new_primDivNatS01(x0, x1, Succ(x2), Zero) 214.33/146.06 new_primDivNatS1(Succ(Succ(x0)), Succ(x1)) 214.33/146.06 new_primPlusNat0(Succ(x0), Succ(x1)) 214.33/146.06 new_primDivNatS1(Succ(Zero), Succ(x0)) 214.33/146.06 new_primQuotInt(x0, Pos(Succ(x1))) 214.33/146.06 new_sr2(x0, x1, app(ty_Ratio, x2)) 214.33/146.06 new_abs(Neg(Succ(x0))) 214.33/146.06 new_esEs0(x0, ty_Integer) 214.33/146.06 new_esEs(Neg(Succ(x0))) 214.33/146.06 new_primModNatS01(x0, x1, Zero, Zero) 214.33/146.06 new_gcd0(x0, x1) 214.33/146.06 new_primEqInt(Pos(Succ(x0))) 214.33/146.06 new_quot1(x0, x1, x2, x3, ty_Integer) 214.33/146.06 new_primDivNatS1(Succ(Succ(x0)), Zero) 214.33/146.06 new_primMulNat1(Succ(x0)) 214.33/146.06 new_sr14(x0, x1) 214.33/146.06 new_quot0(x0, x1, x2, x3, ty_Int) 214.33/146.06 new_sr2(x0, x1, ty_Int) 214.33/146.06 new_primModNatS1(Succ(Zero), Succ(x0)) 214.33/146.06 new_reduce2Reduce1(x0, x1, x2, x3, False, x4) 214.33/146.06 new_esEs(Neg(Zero)) 214.33/146.06 new_primMulNat1(Zero) 214.33/146.06 214.33/146.06 We have to consider all minimal (P,Q,R)-chains. 214.33/146.06 ---------------------------------------- 214.33/146.06 214.33/146.06 (906) MNOCProof (EQUIVALENT) 214.33/146.06 We use the modular non-overlap check [FROCOS05] to decrease Q to the empty set. 214.33/146.06 ---------------------------------------- 214.33/146.06 214.33/146.06 (907) 214.33/146.06 Obligation: 214.33/146.06 Q DP problem: 214.33/146.06 The TRS P consists of the following rules: 214.33/146.06 214.33/146.06 new_pr2F0G1(vyv227, vyv228, vyv229, Succ(Succ(vyv23000)), ba) -> new_pr2F0G1(vyv227, vyv228, vyv229, vyv23000, ba) 214.33/146.06 new_pr2F0G1(vyv227, vyv228, vyv229, Zero, ba) -> new_pr2F0G(vyv227, new_sr1(vyv228, ba), Pos(new_primDivNatS1(Succ(vyv229), Succ(Zero))), ba) 214.33/146.06 new_pr2F0G(vyv188, vyv184, Pos(Succ(Succ(vyv223000))), h) -> new_pr2F0G1(vyv188, vyv184, Succ(vyv223000), vyv223000, h) 214.33/146.06 214.33/146.06 The TRS R consists of the following rules: 214.33/146.06 214.33/146.06 new_sr2(vyv228, vyv227, ty_Integer) -> new_sr9(vyv228, vyv227) 214.33/146.06 new_sr2(vyv228, vyv227, ty_Int) -> new_sr10(vyv228, vyv227) 214.33/146.06 new_sr2(vyv228, vyv227, app(ty_Ratio, bg)) -> new_sr8(vyv228, vyv227, bg) 214.33/146.06 new_sr2(vyv228, vyv227, ty_Double) -> new_sr13(vyv228, vyv227) 214.33/146.06 new_sr2(vyv228, vyv227, ty_Float) -> new_sr14(vyv228, vyv227) 214.33/146.06 new_sr14(vyv240, vyv239) -> error([]) 214.33/146.06 new_sr13(vyv240, vyv239) -> error([]) 214.33/146.06 new_sr8(:%(vyv2400, vyv2401), :%(vyv2390, vyv2391), be) -> new_reduce2Reduce1(vyv2400, vyv2390, vyv2401, vyv2391, new_esEs2(vyv2401, vyv2391, be), be) 214.33/146.06 new_esEs2(vyv2401, vyv2391, ty_Integer) -> new_esEs1(new_sr9(vyv2401, vyv2391)) 214.33/146.06 new_esEs2(vyv2401, vyv2391, ty_Int) -> new_esEs(new_sr10(vyv2401, vyv2391)) 214.33/146.06 new_reduce2Reduce1(vyv265, vyv266, vyv267, vyv268, False, bh) -> :%(new_quot0(vyv265, vyv266, vyv267, vyv268, bh), new_quot1(vyv267, vyv268, vyv265, vyv266, bh)) 214.33/146.06 new_reduce2Reduce1(vyv265, vyv266, vyv267, vyv268, True, bh) -> error([]) 214.33/146.06 new_quot0(vyv265, vyv266, vyv267, vyv268, ty_Integer) -> new_quot2(new_sr9(vyv265, vyv266), new_sr9(vyv265, vyv266), new_sr9(vyv267, vyv268)) 214.33/146.06 new_quot0(vyv265, vyv266, vyv267, vyv268, ty_Int) -> new_quot(new_sr10(vyv265, vyv266), new_sr10(vyv265, vyv266), new_sr10(vyv267, vyv268)) 214.33/146.06 new_quot1(vyv267, vyv268, vyv265, vyv266, ty_Int) -> new_quot(new_sr10(vyv267, vyv268), new_sr10(vyv265, vyv266), new_sr10(vyv267, vyv268)) 214.33/146.06 new_quot1(vyv267, vyv268, vyv265, vyv266, ty_Integer) -> new_quot2(new_sr9(vyv267, vyv268), new_sr9(vyv265, vyv266), new_sr9(vyv267, vyv268)) 214.33/146.06 new_sr9(vyv240, vyv239) -> error([]) 214.33/146.06 new_quot2(vyv274, vyv276, vyv275) -> error([]) 214.33/146.06 new_sr10(Pos(vyv2400), Pos(vyv2390)) -> Pos(new_primMulNat0(vyv2400, vyv2390)) 214.33/146.06 new_sr10(Neg(vyv2400), Neg(vyv2390)) -> Pos(new_primMulNat0(vyv2400, vyv2390)) 214.33/146.06 new_sr10(Pos(vyv2400), Neg(vyv2390)) -> Neg(new_primMulNat0(vyv2400, vyv2390)) 214.33/146.06 new_sr10(Neg(vyv2400), Pos(vyv2390)) -> Neg(new_primMulNat0(vyv2400, vyv2390)) 214.33/146.06 new_quot(Pos(vyv2710), vyv273, vyv272) -> new_primQuotInt(vyv2710, new_gcd(vyv273, vyv272)) 214.33/146.06 new_quot(Neg(vyv2710), vyv273, vyv272) -> new_primQuotInt0(vyv2710, new_gcd(vyv273, vyv272)) 214.33/146.06 new_gcd(vyv273, vyv272) -> new_gcd2(new_esEs(vyv273), vyv273, vyv272) 214.33/146.06 new_primQuotInt0(vyv2710, Pos(Succ(vyv28800))) -> Neg(new_primDivNatS1(vyv2710, vyv28800)) 214.33/146.06 new_primQuotInt0(vyv2710, Neg(Zero)) -> new_error 214.33/146.06 new_primQuotInt0(vyv2710, Neg(Succ(vyv28800))) -> Pos(new_primDivNatS1(vyv2710, vyv28800)) 214.33/146.06 new_primQuotInt0(vyv2710, Pos(Zero)) -> new_error 214.33/146.06 new_error -> error([]) 214.33/146.06 new_primDivNatS1(Succ(Zero), Succ(vyv285000)) -> Zero 214.33/146.06 new_primDivNatS1(Succ(Succ(vyv271000)), Succ(vyv285000)) -> new_primDivNatS01(vyv271000, vyv285000, vyv271000, vyv285000) 214.33/146.06 new_primDivNatS1(Zero, vyv28500) -> Zero 214.33/146.06 new_primDivNatS1(Succ(Succ(vyv271000)), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS0(vyv271000), Zero)) 214.33/146.06 new_primDivNatS1(Succ(Zero), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS1, Zero)) 214.33/146.06 new_primMinusNatS1 -> Zero 214.33/146.06 new_primMinusNatS0(vyv271000) -> Succ(vyv271000) 214.33/146.06 new_primDivNatS01(vyv311, vyv312, Succ(vyv3130), Zero) -> new_primDivNatS02(vyv311, vyv312) 214.33/146.06 new_primDivNatS01(vyv311, vyv312, Zero, Succ(vyv3140)) -> Zero 214.33/146.06 new_primDivNatS01(vyv311, vyv312, Succ(vyv3130), Succ(vyv3140)) -> new_primDivNatS01(vyv311, vyv312, vyv3130, vyv3140) 214.33/146.06 new_primDivNatS01(vyv311, vyv312, Zero, Zero) -> new_primDivNatS02(vyv311, vyv312) 214.33/146.06 new_primDivNatS02(vyv311, vyv312) -> Succ(new_primDivNatS1(new_primMinusNatS2(vyv311, vyv312), Succ(vyv312))) 214.33/146.06 new_primMinusNatS2(Zero, Succ(vyv3120)) -> Zero 214.33/146.06 new_primMinusNatS2(Succ(vyv3110), Zero) -> Succ(vyv3110) 214.33/146.06 new_primMinusNatS2(Zero, Zero) -> Zero 214.33/146.06 new_primMinusNatS2(Succ(vyv3110), Succ(vyv3120)) -> new_primMinusNatS2(vyv3110, vyv3120) 214.33/146.06 new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) 214.33/146.06 new_esEs(Pos(Succ(vyv24300))) -> new_primEqInt(Pos(Succ(vyv24300))) 214.33/146.06 new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) 214.33/146.06 new_esEs(Neg(Succ(vyv24300))) -> new_primEqInt(Neg(Succ(vyv24300))) 214.33/146.06 new_gcd2(True, vyv273, vyv272) -> new_gcd1(new_esEs(vyv272), vyv273, vyv272) 214.33/146.06 new_gcd2(False, vyv273, vyv272) -> new_gcd0(vyv273, vyv272) 214.33/146.06 new_gcd0(vyv273, vyv272) -> new_gcd0Gcd'11(new_esEs(new_abs(vyv272)), vyv273, vyv272) 214.33/146.06 new_abs(Neg(Zero)) -> Neg(Zero) 214.33/146.06 new_abs(Neg(Succ(vyv27200))) -> Pos(Succ(vyv27200)) 214.33/146.06 new_abs(Pos(Succ(vyv27200))) -> Pos(Succ(vyv27200)) 214.33/146.06 new_abs(Pos(Zero)) -> Pos(Zero) 214.33/146.06 new_gcd0Gcd'11(True, vyv273, vyv272) -> new_abs(vyv273) 214.33/146.06 new_gcd0Gcd'11(False, vyv273, vyv272) -> new_gcd0Gcd'00(new_abs(vyv273), new_abs(vyv272)) 214.33/146.06 new_gcd0Gcd'10(False, vyv292, vyv293) -> new_gcd0Gcd'00(vyv292, new_rem(vyv293, vyv292)) 214.33/146.06 new_gcd0Gcd'00(vyv293, vyv292) -> new_gcd0Gcd'10(new_esEs(new_rem(vyv293, vyv292)), vyv292, vyv293) 214.33/146.06 new_rem(Pos(vyv2930), Neg(Zero)) -> new_error 214.33/146.06 new_rem(Neg(vyv2930), Pos(Zero)) -> new_error 214.33/146.06 new_rem(Pos(vyv2930), Neg(Succ(vyv29200))) -> Pos(new_primModNatS1(vyv2930, vyv29200)) 214.33/146.06 new_rem(Neg(vyv2930), Pos(Succ(vyv29200))) -> Neg(new_primModNatS1(vyv2930, vyv29200)) 214.33/146.06 new_rem(Pos(vyv2930), Pos(Succ(vyv29200))) -> Pos(new_primModNatS1(vyv2930, vyv29200)) 214.33/146.06 new_rem(Neg(vyv2930), Neg(Zero)) -> new_error 214.33/146.06 new_rem(Neg(vyv2930), Neg(Succ(vyv29200))) -> Neg(new_primModNatS1(vyv2930, vyv29200)) 214.33/146.06 new_rem(Pos(vyv2930), Pos(Zero)) -> new_error 214.33/146.06 new_gcd0Gcd'10(True, vyv292, vyv293) -> vyv292 214.33/146.06 new_primModNatS1(Succ(Zero), Succ(vyv292000)) -> Succ(Zero) 214.33/146.06 new_primModNatS1(Zero, vyv29200) -> Zero 214.33/146.06 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 214.33/146.06 new_primModNatS1(Succ(Succ(vyv293000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv293000), Zero) 214.33/146.06 new_primModNatS1(Succ(Succ(vyv293000)), Succ(vyv292000)) -> new_primModNatS01(vyv293000, vyv292000, vyv293000, vyv292000) 214.33/146.06 new_primModNatS01(vyv331, vyv332, Zero, Zero) -> new_primModNatS02(vyv331, vyv332) 214.33/146.06 new_primModNatS02(vyv331, vyv332) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv331), Succ(vyv332)), Succ(vyv332)) 214.33/146.06 new_primModNatS01(vyv331, vyv332, Succ(vyv3330), Zero) -> new_primModNatS02(vyv331, vyv332) 214.33/146.06 new_primModNatS01(vyv331, vyv332, Succ(vyv3330), Succ(vyv3340)) -> new_primModNatS01(vyv331, vyv332, vyv3330, vyv3340) 214.33/146.06 new_primModNatS01(vyv331, vyv332, Zero, Succ(vyv3340)) -> Succ(Succ(vyv331)) 214.33/146.06 new_gcd1(True, vyv273, vyv272) -> new_error 214.33/146.06 new_gcd1(False, vyv273, vyv272) -> new_gcd0(vyv273, vyv272) 214.33/146.06 new_primEqInt(Neg(Succ(vyv242000))) -> False 214.33/146.06 new_primEqInt(Pos(Zero)) -> True 214.33/146.06 new_primEqInt(Pos(Succ(vyv242000))) -> False 214.33/146.06 new_primEqInt(Neg(Zero)) -> True 214.33/146.06 new_primQuotInt(vyv2710, Pos(Succ(vyv28500))) -> Pos(new_primDivNatS1(vyv2710, vyv28500)) 214.33/146.06 new_primQuotInt(vyv2710, Neg(Zero)) -> new_error 214.33/146.06 new_primQuotInt(vyv2710, Pos(Zero)) -> new_error 214.33/146.06 new_primQuotInt(vyv2710, Neg(Succ(vyv28500))) -> Neg(new_primDivNatS1(vyv2710, vyv28500)) 214.33/146.06 new_primMulNat0(Zero, Succ(vyv23900)) -> Zero 214.33/146.06 new_primMulNat0(Succ(vyv24000), Succ(vyv23900)) -> new_primPlusNat0(new_primMulNat0(vyv24000, Succ(vyv23900)), Succ(vyv23900)) 214.33/146.06 new_primMulNat0(Succ(vyv24000), Zero) -> Zero 214.33/146.06 new_primMulNat0(Zero, Zero) -> Zero 214.33/146.06 new_primPlusNat0(Succ(vyv4000), Succ(vyv6000)) -> Succ(Succ(new_primPlusNat0(vyv4000, vyv6000))) 214.33/146.06 new_primPlusNat0(Zero, Succ(vyv6000)) -> Succ(vyv6000) 214.33/146.06 new_primPlusNat0(Zero, Zero) -> Zero 214.33/146.06 new_primPlusNat0(Succ(vyv4000), Zero) -> Succ(vyv4000) 214.33/146.06 new_esEs1(Integer(vyv2700)) -> new_primEqInt(vyv2700) 214.33/146.06 new_sr1(vyv228, ty_Double) -> new_sr11(vyv228) 214.33/146.06 new_sr1(vyv228, ty_Float) -> new_sr12(vyv228) 214.33/146.06 new_sr1(vyv228, app(ty_Ratio, bg)) -> new_sr5(vyv228, bg) 214.33/146.06 new_sr1(vyv228, ty_Integer) -> new_sr6(vyv228) 214.33/146.06 new_sr1(vyv228, ty_Int) -> new_sr7(vyv228) 214.33/146.06 new_sr7(Pos(vyv1840)) -> Pos(new_primMulNat1(vyv1840)) 214.33/146.06 new_sr7(Neg(vyv1840)) -> Pos(new_primMulNat1(vyv1840)) 214.33/146.06 new_primMulNat1(Succ(vyv18400)) -> new_primPlusNat0(new_primMulNat2(vyv18400), Succ(vyv18400)) 214.33/146.06 new_primMulNat1(Zero) -> Zero 214.33/146.06 new_primMulNat2(Succ(vyv184000)) -> new_primPlusNat0(new_primMulNat3(vyv184000), Succ(Succ(vyv184000))) 214.33/146.06 new_primMulNat2(Zero) -> Zero 214.33/146.06 new_primMulNat3(Succ(vyv1840000)) -> new_primPlusNat0(new_primMulNat4(vyv1840000), Succ(Succ(Succ(vyv1840000)))) 214.33/146.06 new_primMulNat3(Zero) -> Zero 214.33/146.06 new_primMulNat4(Succ(vyv18400000)) -> new_primPlusNat0(new_primMulNat0(vyv18400000, Succ(Succ(Succ(Succ(vyv18400000))))), Succ(Succ(Succ(Succ(vyv18400000))))) 214.33/146.06 new_primMulNat4(Zero) -> Zero 214.33/146.06 new_sr6(vyv184) -> error([]) 214.33/146.06 new_sr5(:%(vyv1840, vyv1841), bd) -> new_reduce2Reduce1(vyv1840, vyv1840, vyv1841, vyv1841, new_esEs0(vyv1841, bd), bd) 214.33/146.06 new_esEs0(vyv1841, ty_Int) -> new_esEs(new_sr7(vyv1841)) 214.33/146.06 new_esEs0(vyv1841, ty_Integer) -> new_esEs1(new_sr6(vyv1841)) 214.33/146.06 new_sr12(vyv184) -> error([]) 214.33/146.06 new_sr11(vyv184) -> error([]) 214.33/146.06 214.33/146.06 Q is empty. 214.33/146.06 We have to consider all (P,Q,R)-chains. 214.33/146.06 ---------------------------------------- 214.33/146.06 214.33/146.06 (908) InductionCalculusProof (EQUIVALENT) 214.33/146.06 Note that final constraints are written in bold face. 214.33/146.06 214.33/146.06 214.33/146.06 214.33/146.06 For Pair new_pr2F0G1(vyv227, vyv228, vyv229, Succ(Succ(vyv23000)), ba) -> new_pr2F0G1(vyv227, vyv228, vyv229, vyv23000, ba) the following chains were created: 214.33/146.06 *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: 214.33/146.06 214.33/146.06 (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)) 214.33/146.06 214.33/146.06 214.33/146.06 214.33/146.06 We simplified constraint (1) using rules (I), (II), (III), (IV) which results in the following new constraint: 214.33/146.06 214.33/146.06 (2) (new_pr2F0G1(x0, x1, x2, Succ(Succ(Succ(Succ(x8)))), x4)_>=_new_pr2F0G1(x0, x1, x2, Succ(Succ(x8)), x4)) 214.33/146.06 214.33/146.06 214.33/146.06 214.33/146.06 214.33/146.06 *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: 214.33/146.06 214.33/146.06 (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)) 214.33/146.06 214.33/146.06 214.33/146.06 214.33/146.06 We simplified constraint (1) using rules (I), (II), (III), (IV) which results in the following new constraint: 214.33/146.06 214.33/146.06 (2) (new_pr2F0G1(x10, x11, x12, Succ(Succ(Zero)), x14)_>=_new_pr2F0G1(x10, x11, x12, Zero, x14)) 214.33/146.06 214.33/146.06 214.33/146.06 214.33/146.06 214.33/146.06 214.33/146.06 214.33/146.06 214.33/146.06 214.33/146.06 For Pair new_pr2F0G1(vyv227, vyv228, vyv229, Zero, ba) -> new_pr2F0G(vyv227, new_sr1(vyv228, ba), Pos(new_primDivNatS1(Succ(vyv229), Succ(Zero))), ba) the following chains were created: 214.33/146.06 *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: 214.33/146.06 214.33/146.06 (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)) 214.33/146.06 214.33/146.06 214.33/146.06 214.33/146.06 We simplified constraint (1) using rules (I), (II), (IV), (VII) which results in the following new constraint: 214.33/146.06 214.33/146.06 (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)) 214.33/146.06 214.33/146.06 214.33/146.06 214.33/146.06 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: 214.33/146.06 214.33/146.06 (3) (new_primDivNatS01(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)) 214.33/146.06 214.33/146.06 (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)) 214.33/146.06 214.33/146.06 (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)) 214.33/146.06 214.33/146.06 214.33/146.06 214.33/146.06 We simplified constraint (3) using rules (I), (II), (III), (VII) which results in the following new constraint: 214.33/146.06 214.33/146.06 (6) (x65=x68 & x64=x69 & new_primDivNatS01(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)) 214.33/146.06 214.33/146.06 214.33/146.06 214.33/146.06 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_primDivNatS01(x65, x64, x68, x69)=Succ(Succ(x38)) which results in the following new constraints: 214.33/146.06 214.33/146.06 (7) (new_primDivNatS02(x72, x71)=Succ(Succ(x38)) & x72=Succ(x70) & x71=Zero & Zero=x71 ==> new_pr2F0G1(x32, x33, Succ(x72), Zero, x35)_>=_new_pr2F0G(x32, new_sr1(x33, x35), Pos(new_primDivNatS1(Succ(Succ(x72)), Succ(Zero))), x35)) 214.33/146.06 214.33/146.06 (8) (new_primDivNatS01(x79, x78, x77, x76)=Succ(Succ(x38)) & x79=Succ(x77) & x78=Succ(x76) & Zero=x78 & (\/x80,x81,x82,x83:new_primDivNatS01(x79, x78, x77, x76)=Succ(Succ(x80)) & x79=x77 & x78=x76 & Zero=x78 ==> new_pr2F0G1(x81, x82, Succ(x79), Zero, x83)_>=_new_pr2F0G(x81, new_sr1(x82, x83), Pos(new_primDivNatS1(Succ(Succ(x79)), Succ(Zero))), x83)) ==> new_pr2F0G1(x32, x33, Succ(x79), Zero, x35)_>=_new_pr2F0G(x32, new_sr1(x33, x35), Pos(new_primDivNatS1(Succ(Succ(x79)), Succ(Zero))), x35)) 214.33/146.06 214.33/146.06 (9) (new_primDivNatS02(x85, x84)=Succ(Succ(x38)) & x85=Zero & x84=Zero & Zero=x84 ==> new_pr2F0G1(x32, x33, Succ(x85), Zero, x35)_>=_new_pr2F0G(x32, new_sr1(x33, x35), Pos(new_primDivNatS1(Succ(Succ(x85)), Succ(Zero))), x35)) 214.33/146.06 214.33/146.06 214.33/146.06 214.33/146.06 We simplified constraint (7) using rules (I), (II), (III), (IV), (VII) which results in the following new constraint: 214.33/146.06 214.33/146.06 (10) (new_pr2F0G1(x32, x33, Succ(Succ(x70)), Zero, x35)_>=_new_pr2F0G(x32, new_sr1(x33, x35), Pos(new_primDivNatS1(Succ(Succ(Succ(x70))), Succ(Zero))), x35)) 214.33/146.06 214.33/146.06 214.33/146.06 214.33/146.06 We solved constraint (8) using rules (I), (II), (III).We simplified constraint (9) using rules (I), (II), (III), (IV), (VII) which results in the following new constraint: 214.33/146.06 214.33/146.06 (11) (new_pr2F0G1(x32, x33, Succ(Zero), Zero, x35)_>=_new_pr2F0G(x32, new_sr1(x33, x35), Pos(new_primDivNatS1(Succ(Succ(Zero)), Succ(Zero))), x35)) 214.33/146.06 214.33/146.06 214.33/146.06 214.33/146.06 214.33/146.06 214.33/146.06 214.33/146.06 214.33/146.06 214.33/146.06 For Pair new_pr2F0G(vyv188, vyv184, Pos(Succ(Succ(vyv223000))), h) -> new_pr2F0G1(vyv188, vyv184, Succ(vyv223000), vyv223000, h) the following chains were created: 214.33/146.06 *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: 214.33/146.06 214.33/146.06 (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)) 214.33/146.06 214.33/146.06 214.33/146.06 214.33/146.06 We simplified constraint (1) using rules (I), (II), (III), (IV) which results in the following new constraint: 214.33/146.06 214.33/146.06 (2) (new_pr2F0G(x40, x41, Pos(Succ(Succ(Succ(Succ(x47))))), x43)_>=_new_pr2F0G1(x40, x41, Succ(Succ(Succ(x47))), Succ(Succ(x47)), x43)) 214.33/146.06 214.33/146.06 214.33/146.06 214.33/146.06 214.33/146.06 *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: 214.33/146.06 214.33/146.06 (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)) 214.33/146.06 214.33/146.06 214.33/146.06 214.33/146.06 We simplified constraint (1) using rules (I), (II), (III), (IV) which results in the following new constraint: 214.33/146.06 214.33/146.06 (2) (new_pr2F0G(x49, x50, Pos(Succ(Succ(Zero))), x52)_>=_new_pr2F0G1(x49, x50, Succ(Zero), Zero, x52)) 214.33/146.06 214.33/146.06 214.33/146.06 214.33/146.06 214.33/146.06 214.33/146.06 214.33/146.06 214.33/146.06 214.33/146.06 To summarize, we get the following constraints P__>=_ for the following pairs. 214.33/146.06 214.33/146.06 *new_pr2F0G1(vyv227, vyv228, vyv229, Succ(Succ(vyv23000)), ba) -> new_pr2F0G1(vyv227, vyv228, vyv229, vyv23000, ba) 214.33/146.06 214.33/146.06 *(new_pr2F0G1(x0, x1, x2, Succ(Succ(Succ(Succ(x8)))), x4)_>=_new_pr2F0G1(x0, x1, x2, Succ(Succ(x8)), x4)) 214.33/146.06 214.33/146.06 214.33/146.06 *(new_pr2F0G1(x10, x11, x12, Succ(Succ(Zero)), x14)_>=_new_pr2F0G1(x10, x11, x12, Zero, x14)) 214.33/146.06 214.33/146.06 214.33/146.06 214.33/146.06 214.33/146.06 *new_pr2F0G1(vyv227, vyv228, vyv229, Zero, ba) -> new_pr2F0G(vyv227, new_sr1(vyv228, ba), Pos(new_primDivNatS1(Succ(vyv229), Succ(Zero))), ba) 214.33/146.06 214.33/146.06 *(new_pr2F0G1(x32, x33, Succ(Succ(x70)), Zero, x35)_>=_new_pr2F0G(x32, new_sr1(x33, x35), Pos(new_primDivNatS1(Succ(Succ(Succ(x70))), Succ(Zero))), x35)) 214.33/146.06 214.33/146.06 214.33/146.06 *(new_pr2F0G1(x32, x33, Succ(Zero), Zero, x35)_>=_new_pr2F0G(x32, new_sr1(x33, x35), Pos(new_primDivNatS1(Succ(Succ(Zero)), Succ(Zero))), x35)) 214.33/146.06 214.33/146.06 214.33/146.06 214.33/146.06 214.33/146.06 *new_pr2F0G(vyv188, vyv184, Pos(Succ(Succ(vyv223000))), h) -> new_pr2F0G1(vyv188, vyv184, Succ(vyv223000), vyv223000, h) 214.33/146.06 214.33/146.06 *(new_pr2F0G(x40, x41, Pos(Succ(Succ(Succ(Succ(x47))))), x43)_>=_new_pr2F0G1(x40, x41, Succ(Succ(Succ(x47))), Succ(Succ(x47)), x43)) 214.33/146.06 214.33/146.06 214.33/146.06 *(new_pr2F0G(x49, x50, Pos(Succ(Succ(Zero))), x52)_>=_new_pr2F0G1(x49, x50, Succ(Zero), Zero, x52)) 214.33/146.06 214.33/146.06 214.33/146.06 214.33/146.06 214.33/146.06 214.33/146.06 214.33/146.06 214.33/146.06 214.33/146.06 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. 214.33/146.06 ---------------------------------------- 214.33/146.06 214.33/146.06 (909) 214.33/146.06 Obligation: 214.33/146.06 Q DP problem: 214.33/146.06 The TRS P consists of the following rules: 214.33/146.06 214.33/146.06 new_pr2F0G1(vyv227, vyv228, vyv229, Succ(Succ(vyv23000)), ba) -> new_pr2F0G1(vyv227, vyv228, vyv229, vyv23000, ba) 214.33/146.06 new_pr2F0G1(vyv227, vyv228, vyv229, Zero, ba) -> new_pr2F0G(vyv227, new_sr1(vyv228, ba), Pos(new_primDivNatS1(Succ(vyv229), Succ(Zero))), ba) 214.33/146.06 new_pr2F0G(vyv188, vyv184, Pos(Succ(Succ(vyv223000))), h) -> new_pr2F0G1(vyv188, vyv184, Succ(vyv223000), vyv223000, h) 214.33/146.06 214.33/146.06 The TRS R consists of the following rules: 214.33/146.06 214.33/146.06 new_sr2(vyv228, vyv227, ty_Integer) -> new_sr9(vyv228, vyv227) 214.33/146.06 new_sr2(vyv228, vyv227, ty_Int) -> new_sr10(vyv228, vyv227) 214.33/146.06 new_sr2(vyv228, vyv227, app(ty_Ratio, bg)) -> new_sr8(vyv228, vyv227, bg) 214.33/146.06 new_sr2(vyv228, vyv227, ty_Double) -> new_sr13(vyv228, vyv227) 214.33/146.06 new_sr2(vyv228, vyv227, ty_Float) -> new_sr14(vyv228, vyv227) 214.33/146.06 new_sr14(vyv240, vyv239) -> error([]) 214.33/146.06 new_sr13(vyv240, vyv239) -> error([]) 214.33/146.06 new_sr8(:%(vyv2400, vyv2401), :%(vyv2390, vyv2391), be) -> new_reduce2Reduce1(vyv2400, vyv2390, vyv2401, vyv2391, new_esEs2(vyv2401, vyv2391, be), be) 214.33/146.06 new_esEs2(vyv2401, vyv2391, ty_Integer) -> new_esEs1(new_sr9(vyv2401, vyv2391)) 214.33/146.06 new_esEs2(vyv2401, vyv2391, ty_Int) -> new_esEs(new_sr10(vyv2401, vyv2391)) 214.33/146.06 new_reduce2Reduce1(vyv265, vyv266, vyv267, vyv268, False, bh) -> :%(new_quot0(vyv265, vyv266, vyv267, vyv268, bh), new_quot1(vyv267, vyv268, vyv265, vyv266, bh)) 214.33/146.06 new_reduce2Reduce1(vyv265, vyv266, vyv267, vyv268, True, bh) -> error([]) 214.33/146.06 new_quot0(vyv265, vyv266, vyv267, vyv268, ty_Integer) -> new_quot2(new_sr9(vyv265, vyv266), new_sr9(vyv265, vyv266), new_sr9(vyv267, vyv268)) 214.33/146.06 new_quot0(vyv265, vyv266, vyv267, vyv268, ty_Int) -> new_quot(new_sr10(vyv265, vyv266), new_sr10(vyv265, vyv266), new_sr10(vyv267, vyv268)) 214.33/146.06 new_quot1(vyv267, vyv268, vyv265, vyv266, ty_Int) -> new_quot(new_sr10(vyv267, vyv268), new_sr10(vyv265, vyv266), new_sr10(vyv267, vyv268)) 214.33/146.06 new_quot1(vyv267, vyv268, vyv265, vyv266, ty_Integer) -> new_quot2(new_sr9(vyv267, vyv268), new_sr9(vyv265, vyv266), new_sr9(vyv267, vyv268)) 214.33/146.06 new_sr9(vyv240, vyv239) -> error([]) 214.33/146.06 new_quot2(vyv274, vyv276, vyv275) -> error([]) 214.33/146.06 new_sr10(Pos(vyv2400), Pos(vyv2390)) -> Pos(new_primMulNat0(vyv2400, vyv2390)) 214.33/146.06 new_sr10(Neg(vyv2400), Neg(vyv2390)) -> Pos(new_primMulNat0(vyv2400, vyv2390)) 214.33/146.06 new_sr10(Pos(vyv2400), Neg(vyv2390)) -> Neg(new_primMulNat0(vyv2400, vyv2390)) 214.33/146.06 new_sr10(Neg(vyv2400), Pos(vyv2390)) -> Neg(new_primMulNat0(vyv2400, vyv2390)) 214.33/146.06 new_quot(Pos(vyv2710), vyv273, vyv272) -> new_primQuotInt(vyv2710, new_gcd(vyv273, vyv272)) 214.33/146.06 new_quot(Neg(vyv2710), vyv273, vyv272) -> new_primQuotInt0(vyv2710, new_gcd(vyv273, vyv272)) 214.33/146.06 new_gcd(vyv273, vyv272) -> new_gcd2(new_esEs(vyv273), vyv273, vyv272) 214.33/146.06 new_primQuotInt0(vyv2710, Pos(Succ(vyv28800))) -> Neg(new_primDivNatS1(vyv2710, vyv28800)) 214.33/146.06 new_primQuotInt0(vyv2710, Neg(Zero)) -> new_error 214.33/146.06 new_primQuotInt0(vyv2710, Neg(Succ(vyv28800))) -> Pos(new_primDivNatS1(vyv2710, vyv28800)) 214.33/146.06 new_primQuotInt0(vyv2710, Pos(Zero)) -> new_error 214.33/146.06 new_error -> error([]) 214.33/146.06 new_primDivNatS1(Succ(Zero), Succ(vyv285000)) -> Zero 214.33/146.06 new_primDivNatS1(Succ(Succ(vyv271000)), Succ(vyv285000)) -> new_primDivNatS01(vyv271000, vyv285000, vyv271000, vyv285000) 214.33/146.06 new_primDivNatS1(Zero, vyv28500) -> Zero 214.33/146.06 new_primDivNatS1(Succ(Succ(vyv271000)), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS0(vyv271000), Zero)) 214.33/146.06 new_primDivNatS1(Succ(Zero), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS1, Zero)) 214.33/146.06 new_primMinusNatS1 -> Zero 214.33/146.06 new_primMinusNatS0(vyv271000) -> Succ(vyv271000) 214.33/146.06 new_primDivNatS01(vyv311, vyv312, Succ(vyv3130), Zero) -> new_primDivNatS02(vyv311, vyv312) 214.33/146.06 new_primDivNatS01(vyv311, vyv312, Zero, Succ(vyv3140)) -> Zero 214.33/146.06 new_primDivNatS01(vyv311, vyv312, Succ(vyv3130), Succ(vyv3140)) -> new_primDivNatS01(vyv311, vyv312, vyv3130, vyv3140) 214.33/146.06 new_primDivNatS01(vyv311, vyv312, Zero, Zero) -> new_primDivNatS02(vyv311, vyv312) 214.33/146.06 new_primDivNatS02(vyv311, vyv312) -> Succ(new_primDivNatS1(new_primMinusNatS2(vyv311, vyv312), Succ(vyv312))) 214.33/146.06 new_primMinusNatS2(Zero, Succ(vyv3120)) -> Zero 214.33/146.06 new_primMinusNatS2(Succ(vyv3110), Zero) -> Succ(vyv3110) 214.33/146.06 new_primMinusNatS2(Zero, Zero) -> Zero 214.33/146.06 new_primMinusNatS2(Succ(vyv3110), Succ(vyv3120)) -> new_primMinusNatS2(vyv3110, vyv3120) 214.33/146.06 new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) 214.33/146.06 new_esEs(Pos(Succ(vyv24300))) -> new_primEqInt(Pos(Succ(vyv24300))) 214.33/146.06 new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) 214.33/146.06 new_esEs(Neg(Succ(vyv24300))) -> new_primEqInt(Neg(Succ(vyv24300))) 214.33/146.06 new_gcd2(True, vyv273, vyv272) -> new_gcd1(new_esEs(vyv272), vyv273, vyv272) 214.33/146.06 new_gcd2(False, vyv273, vyv272) -> new_gcd0(vyv273, vyv272) 214.33/146.06 new_gcd0(vyv273, vyv272) -> new_gcd0Gcd'11(new_esEs(new_abs(vyv272)), vyv273, vyv272) 214.33/146.06 new_abs(Neg(Zero)) -> Neg(Zero) 214.33/146.06 new_abs(Neg(Succ(vyv27200))) -> Pos(Succ(vyv27200)) 214.33/146.06 new_abs(Pos(Succ(vyv27200))) -> Pos(Succ(vyv27200)) 214.33/146.06 new_abs(Pos(Zero)) -> Pos(Zero) 214.33/146.06 new_gcd0Gcd'11(True, vyv273, vyv272) -> new_abs(vyv273) 214.33/146.06 new_gcd0Gcd'11(False, vyv273, vyv272) -> new_gcd0Gcd'00(new_abs(vyv273), new_abs(vyv272)) 214.33/146.06 new_gcd0Gcd'10(False, vyv292, vyv293) -> new_gcd0Gcd'00(vyv292, new_rem(vyv293, vyv292)) 214.33/146.06 new_gcd0Gcd'00(vyv293, vyv292) -> new_gcd0Gcd'10(new_esEs(new_rem(vyv293, vyv292)), vyv292, vyv293) 214.33/146.06 new_rem(Pos(vyv2930), Neg(Zero)) -> new_error 214.33/146.06 new_rem(Neg(vyv2930), Pos(Zero)) -> new_error 214.33/146.06 new_rem(Pos(vyv2930), Neg(Succ(vyv29200))) -> Pos(new_primModNatS1(vyv2930, vyv29200)) 214.33/146.06 new_rem(Neg(vyv2930), Pos(Succ(vyv29200))) -> Neg(new_primModNatS1(vyv2930, vyv29200)) 214.33/146.06 new_rem(Pos(vyv2930), Pos(Succ(vyv29200))) -> Pos(new_primModNatS1(vyv2930, vyv29200)) 214.33/146.06 new_rem(Neg(vyv2930), Neg(Zero)) -> new_error 214.33/146.06 new_rem(Neg(vyv2930), Neg(Succ(vyv29200))) -> Neg(new_primModNatS1(vyv2930, vyv29200)) 214.33/146.06 new_rem(Pos(vyv2930), Pos(Zero)) -> new_error 214.33/146.06 new_gcd0Gcd'10(True, vyv292, vyv293) -> vyv292 214.33/146.06 new_primModNatS1(Succ(Zero), Succ(vyv292000)) -> Succ(Zero) 214.33/146.06 new_primModNatS1(Zero, vyv29200) -> Zero 214.33/146.06 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 214.33/146.06 new_primModNatS1(Succ(Succ(vyv293000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv293000), Zero) 214.33/146.06 new_primModNatS1(Succ(Succ(vyv293000)), Succ(vyv292000)) -> new_primModNatS01(vyv293000, vyv292000, vyv293000, vyv292000) 214.33/146.06 new_primModNatS01(vyv331, vyv332, Zero, Zero) -> new_primModNatS02(vyv331, vyv332) 214.33/146.06 new_primModNatS02(vyv331, vyv332) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv331), Succ(vyv332)), Succ(vyv332)) 214.33/146.06 new_primModNatS01(vyv331, vyv332, Succ(vyv3330), Zero) -> new_primModNatS02(vyv331, vyv332) 214.33/146.06 new_primModNatS01(vyv331, vyv332, Succ(vyv3330), Succ(vyv3340)) -> new_primModNatS01(vyv331, vyv332, vyv3330, vyv3340) 214.33/146.06 new_primModNatS01(vyv331, vyv332, Zero, Succ(vyv3340)) -> Succ(Succ(vyv331)) 214.33/146.06 new_gcd1(True, vyv273, vyv272) -> new_error 214.33/146.06 new_gcd1(False, vyv273, vyv272) -> new_gcd0(vyv273, vyv272) 214.33/146.06 new_primEqInt(Neg(Succ(vyv242000))) -> False 214.33/146.06 new_primEqInt(Pos(Zero)) -> True 214.33/146.06 new_primEqInt(Pos(Succ(vyv242000))) -> False 214.33/146.06 new_primEqInt(Neg(Zero)) -> True 214.33/146.06 new_primQuotInt(vyv2710, Pos(Succ(vyv28500))) -> Pos(new_primDivNatS1(vyv2710, vyv28500)) 214.33/146.06 new_primQuotInt(vyv2710, Neg(Zero)) -> new_error 214.33/146.06 new_primQuotInt(vyv2710, Pos(Zero)) -> new_error 214.33/146.06 new_primQuotInt(vyv2710, Neg(Succ(vyv28500))) -> Neg(new_primDivNatS1(vyv2710, vyv28500)) 214.33/146.06 new_primMulNat0(Zero, Succ(vyv23900)) -> Zero 214.33/146.06 new_primMulNat0(Succ(vyv24000), Succ(vyv23900)) -> new_primPlusNat0(new_primMulNat0(vyv24000, Succ(vyv23900)), Succ(vyv23900)) 214.33/146.06 new_primMulNat0(Succ(vyv24000), Zero) -> Zero 214.33/146.06 new_primMulNat0(Zero, Zero) -> Zero 214.33/146.06 new_primPlusNat0(Succ(vyv4000), Succ(vyv6000)) -> Succ(Succ(new_primPlusNat0(vyv4000, vyv6000))) 214.33/146.06 new_primPlusNat0(Zero, Succ(vyv6000)) -> Succ(vyv6000) 214.33/146.06 new_primPlusNat0(Zero, Zero) -> Zero 214.33/146.06 new_primPlusNat0(Succ(vyv4000), Zero) -> Succ(vyv4000) 214.33/146.06 new_esEs1(Integer(vyv2700)) -> new_primEqInt(vyv2700) 214.33/146.06 new_sr1(vyv228, ty_Double) -> new_sr11(vyv228) 214.33/146.06 new_sr1(vyv228, ty_Float) -> new_sr12(vyv228) 214.33/146.06 new_sr1(vyv228, app(ty_Ratio, bg)) -> new_sr5(vyv228, bg) 214.33/146.06 new_sr1(vyv228, ty_Integer) -> new_sr6(vyv228) 214.33/146.06 new_sr1(vyv228, ty_Int) -> new_sr7(vyv228) 214.33/146.06 new_sr7(Pos(vyv1840)) -> Pos(new_primMulNat1(vyv1840)) 214.33/146.06 new_sr7(Neg(vyv1840)) -> Pos(new_primMulNat1(vyv1840)) 214.33/146.06 new_primMulNat1(Succ(vyv18400)) -> new_primPlusNat0(new_primMulNat2(vyv18400), Succ(vyv18400)) 214.33/146.06 new_primMulNat1(Zero) -> Zero 214.33/146.06 new_primMulNat2(Succ(vyv184000)) -> new_primPlusNat0(new_primMulNat3(vyv184000), Succ(Succ(vyv184000))) 214.33/146.06 new_primMulNat2(Zero) -> Zero 214.33/146.06 new_primMulNat3(Succ(vyv1840000)) -> new_primPlusNat0(new_primMulNat4(vyv1840000), Succ(Succ(Succ(vyv1840000)))) 214.33/146.06 new_primMulNat3(Zero) -> Zero 214.33/146.06 new_primMulNat4(Succ(vyv18400000)) -> new_primPlusNat0(new_primMulNat0(vyv18400000, Succ(Succ(Succ(Succ(vyv18400000))))), Succ(Succ(Succ(Succ(vyv18400000))))) 214.33/146.06 new_primMulNat4(Zero) -> Zero 214.33/146.06 new_sr6(vyv184) -> error([]) 214.33/146.06 new_sr5(:%(vyv1840, vyv1841), bd) -> new_reduce2Reduce1(vyv1840, vyv1840, vyv1841, vyv1841, new_esEs0(vyv1841, bd), bd) 214.33/146.06 new_esEs0(vyv1841, ty_Int) -> new_esEs(new_sr7(vyv1841)) 214.33/146.06 new_esEs0(vyv1841, ty_Integer) -> new_esEs1(new_sr6(vyv1841)) 214.33/146.06 new_sr12(vyv184) -> error([]) 214.33/146.06 new_sr11(vyv184) -> error([]) 214.33/146.06 214.33/146.06 The set Q consists of the following terms: 214.33/146.06 214.33/146.06 new_sr13(x0, x1) 214.33/146.06 new_primDivNatS01(x0, x1, Zero, Zero) 214.33/146.06 new_gcd0Gcd'11(False, x0, x1) 214.33/146.06 new_primMulNat4(Zero) 214.33/146.06 new_gcd0Gcd'11(True, x0, x1) 214.33/146.06 new_sr2(x0, x1, ty_Float) 214.33/146.06 new_sr5(:%(x0, x1), x2) 214.33/146.06 new_primEqInt(Pos(Zero)) 214.33/146.06 new_sr2(x0, x1, ty_Double) 214.33/146.06 new_esEs(Pos(Succ(x0))) 214.33/146.06 new_primQuotInt0(x0, Neg(Zero)) 214.33/146.06 new_primMulNat3(Zero) 214.33/146.06 new_primModNatS02(x0, x1) 214.33/146.06 new_primDivNatS1(Succ(Zero), Zero) 214.33/146.06 new_primMinusNatS0(x0) 214.33/146.06 new_sr11(x0) 214.33/146.06 new_rem(Pos(x0), Neg(Succ(x1))) 214.33/146.06 new_rem(Neg(x0), Pos(Succ(x1))) 214.33/146.06 new_primMulNat0(Zero, Zero) 214.33/146.06 new_primPlusNat0(Succ(x0), Zero) 214.33/146.06 new_primMulNat0(Succ(x0), Zero) 214.33/146.06 new_primMulNat2(Zero) 214.33/146.06 new_primQuotInt(x0, Pos(Zero)) 214.33/146.06 new_primMulNat2(Succ(x0)) 214.33/146.06 new_primQuotInt(x0, Neg(Zero)) 214.33/146.06 new_rem(Neg(x0), Neg(Succ(x1))) 214.33/146.06 new_primMinusNatS2(Zero, Succ(x0)) 214.33/146.06 new_primMulNat3(Succ(x0)) 214.33/146.06 new_esEs1(Integer(x0)) 214.33/146.06 new_primQuotInt0(x0, Pos(Zero)) 214.33/146.06 new_gcd2(True, x0, x1) 214.33/146.06 new_quot1(x0, x1, x2, x3, ty_Int) 214.33/146.06 new_primDivNatS1(Zero, x0) 214.33/146.06 new_gcd(x0, x1) 214.33/146.06 new_gcd1(False, x0, x1) 214.33/146.06 new_esEs2(x0, x1, ty_Int) 214.33/146.06 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 214.33/146.06 new_sr1(x0, app(ty_Ratio, x1)) 214.33/146.06 new_sr1(x0, ty_Float) 214.33/146.06 new_primPlusNat0(Zero, Succ(x0)) 214.33/146.06 new_sr8(:%(x0, x1), :%(x2, x3), x4) 214.33/146.06 new_abs(Neg(Zero)) 214.33/146.06 new_primMinusNatS2(Succ(x0), Zero) 214.33/146.06 new_error 214.33/146.06 new_primModNatS1(Succ(Zero), Zero) 214.33/146.06 new_primMulNat4(Succ(x0)) 214.33/146.06 new_sr1(x0, ty_Integer) 214.33/146.06 new_primDivNatS02(x0, x1) 214.33/146.06 new_sr1(x0, ty_Int) 214.33/146.06 new_rem(Neg(x0), Neg(Zero)) 214.33/146.06 new_primEqInt(Neg(Zero)) 214.33/146.06 new_rem(Pos(x0), Pos(Succ(x1))) 214.33/146.06 new_abs(Pos(Succ(x0))) 214.33/146.06 new_primMulNat0(Succ(x0), Succ(x1)) 214.33/146.06 new_primMulNat0(Zero, Succ(x0)) 214.33/146.06 new_reduce2Reduce1(x0, x1, x2, x3, True, x4) 214.33/146.06 new_gcd0Gcd'10(False, x0, x1) 214.33/146.06 new_sr12(x0) 214.33/146.06 new_primDivNatS01(x0, x1, Zero, Succ(x2)) 214.33/146.06 new_sr10(Pos(x0), Pos(x1)) 214.33/146.06 new_primModNatS01(x0, x1, Zero, Succ(x2)) 214.33/146.06 new_primPlusNat0(Zero, Zero) 214.33/146.06 new_primQuotInt0(x0, Pos(Succ(x1))) 214.33/146.06 new_primModNatS01(x0, x1, Succ(x2), Zero) 214.33/146.06 new_primModNatS1(Succ(Succ(x0)), Zero) 214.33/146.06 new_rem(Pos(x0), Pos(Zero)) 214.33/146.06 new_quot(Pos(x0), x1, x2) 214.33/146.06 new_primMinusNatS2(Zero, Zero) 214.33/146.06 new_esEs0(x0, ty_Int) 214.33/146.06 new_esEs(Pos(Zero)) 214.33/146.06 new_quot(Neg(x0), x1, x2) 214.33/146.06 new_primDivNatS01(x0, x1, Succ(x2), Succ(x3)) 214.33/146.06 new_quot2(x0, x1, x2) 214.33/146.06 new_primEqInt(Neg(Succ(x0))) 214.33/146.06 new_sr10(Neg(x0), Neg(x1)) 214.33/146.06 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 214.33/146.06 new_sr9(x0, x1) 214.33/146.06 new_sr2(x0, x1, ty_Integer) 214.33/146.06 new_sr7(Neg(x0)) 214.33/146.06 new_sr1(x0, ty_Double) 214.33/146.06 new_primQuotInt0(x0, Neg(Succ(x1))) 214.33/146.06 new_rem(Pos(x0), Neg(Zero)) 214.33/146.06 new_rem(Neg(x0), Pos(Zero)) 214.33/146.06 new_gcd0Gcd'00(x0, x1) 214.33/146.06 new_primQuotInt(x0, Neg(Succ(x1))) 214.33/146.06 new_primMinusNatS2(Succ(x0), Succ(x1)) 214.33/146.06 new_abs(Pos(Zero)) 214.33/146.06 new_quot0(x0, x1, x2, x3, ty_Integer) 214.33/146.06 new_sr6(x0) 214.33/146.06 new_gcd2(False, x0, x1) 214.33/146.06 new_gcd1(True, x0, x1) 214.33/146.06 new_esEs2(x0, x1, ty_Integer) 214.33/146.06 new_primMinusNatS1 214.33/146.06 new_sr7(Pos(x0)) 214.33/146.06 new_gcd0Gcd'10(True, x0, x1) 214.33/146.06 new_primModNatS1(Zero, x0) 214.33/146.06 new_sr10(Pos(x0), Neg(x1)) 214.33/146.06 new_sr10(Neg(x0), Pos(x1)) 214.33/146.06 new_primDivNatS01(x0, x1, Succ(x2), Zero) 214.33/146.06 new_primDivNatS1(Succ(Succ(x0)), Succ(x1)) 214.33/146.06 new_primPlusNat0(Succ(x0), Succ(x1)) 214.33/146.06 new_primDivNatS1(Succ(Zero), Succ(x0)) 214.33/146.06 new_primQuotInt(x0, Pos(Succ(x1))) 214.33/146.06 new_sr2(x0, x1, app(ty_Ratio, x2)) 214.33/146.06 new_abs(Neg(Succ(x0))) 214.33/146.06 new_esEs0(x0, ty_Integer) 214.33/146.06 new_esEs(Neg(Succ(x0))) 214.33/146.06 new_primModNatS01(x0, x1, Zero, Zero) 214.33/146.06 new_gcd0(x0, x1) 214.33/146.06 new_primEqInt(Pos(Succ(x0))) 214.33/146.06 new_quot1(x0, x1, x2, x3, ty_Integer) 214.33/146.06 new_primDivNatS1(Succ(Succ(x0)), Zero) 214.33/146.06 new_primMulNat1(Succ(x0)) 214.33/146.06 new_sr14(x0, x1) 214.33/146.06 new_quot0(x0, x1, x2, x3, ty_Int) 214.33/146.06 new_sr2(x0, x1, ty_Int) 214.33/146.06 new_primModNatS1(Succ(Zero), Succ(x0)) 214.33/146.06 new_reduce2Reduce1(x0, x1, x2, x3, False, x4) 214.33/146.06 new_esEs(Neg(Zero)) 214.33/146.06 new_primMulNat1(Zero) 214.33/146.06 214.33/146.06 We have to consider all minimal (P,Q,R)-chains. 214.33/146.06 ---------------------------------------- 214.33/146.06 214.33/146.06 (910) QDPPairToRuleProof (EQUIVALENT) 214.33/146.06 The dependency pair new_pr2F0G1(vyv227, vyv228, vyv229, Succ(Succ(vyv23000)), ba) -> new_pr2F0G1(vyv227, vyv228, vyv229, vyv23000, ba) was transformed to the following new rules: 214.33/146.06 anew_new_pr2F0G1(Succ(Succ(vyv23000))) -> new_new_pr2F0G1(vyv23000) 214.33/146.06 new_new_pr2F0G1(Succ(Succ(vyv23000))) -> new_new_pr2F0G1(vyv23000) 214.33/146.06 new_new_pr2F0G1(Zero) -> cons_new_pr2F0G1(Zero) 214.33/146.06 214.33/146.06 the following new pairs maintain the fan-in: 214.33/146.06 new_pr2F0G(vyv188, vyv184, Pos(Succ(Succ(vyv223000))), h) -> H(vyv188, vyv184, Succ(vyv223000), h, anew_new_pr2F0G1(vyv223000)) 214.33/146.06 214.33/146.06 the following new pairs maintain the fan-out: 214.33/146.06 H(vyv227, vyv228, vyv229, ba, cons_new_pr2F0G1(Zero)) -> new_pr2F0G1(vyv227, vyv228, vyv229, Zero, ba) 214.33/146.06 214.33/146.06 ---------------------------------------- 214.33/146.06 214.33/146.06 (911) 214.33/146.06 Complex Obligation (AND) 214.33/146.06 214.33/146.06 ---------------------------------------- 214.33/146.06 214.33/146.06 (912) 214.33/146.06 Obligation: 214.33/146.06 Q DP problem: 214.33/146.06 The TRS P consists of the following rules: 214.33/146.06 214.33/146.06 new_pr2F0G1(vyv227, vyv228, vyv229, Zero, ba) -> new_pr2F0G(vyv227, new_sr1(vyv228, ba), Pos(new_primDivNatS1(Succ(vyv229), Succ(Zero))), ba) 214.33/146.06 new_pr2F0G(vyv188, vyv184, Pos(Succ(Succ(vyv223000))), h) -> new_pr2F0G1(vyv188, vyv184, Succ(vyv223000), vyv223000, h) 214.33/146.06 new_pr2F0G(vyv188, vyv184, Pos(Succ(Succ(vyv223000))), h) -> H(vyv188, vyv184, Succ(vyv223000), h, anew_new_pr2F0G1(vyv223000)) 214.33/146.06 H(vyv227, vyv228, vyv229, ba, cons_new_pr2F0G1(Zero)) -> new_pr2F0G1(vyv227, vyv228, vyv229, Zero, ba) 214.33/146.06 214.33/146.06 The TRS R consists of the following rules: 214.33/146.06 214.33/146.06 new_sr2(vyv228, vyv227, ty_Integer) -> new_sr9(vyv228, vyv227) 214.33/146.06 new_sr2(vyv228, vyv227, ty_Int) -> new_sr10(vyv228, vyv227) 214.33/146.06 new_sr2(vyv228, vyv227, app(ty_Ratio, bg)) -> new_sr8(vyv228, vyv227, bg) 214.33/146.06 new_sr2(vyv228, vyv227, ty_Double) -> new_sr13(vyv228, vyv227) 214.33/146.06 new_sr2(vyv228, vyv227, ty_Float) -> new_sr14(vyv228, vyv227) 214.33/146.06 new_sr14(vyv240, vyv239) -> error([]) 214.33/146.06 new_sr13(vyv240, vyv239) -> error([]) 214.33/146.06 new_sr8(:%(vyv2400, vyv2401), :%(vyv2390, vyv2391), be) -> new_reduce2Reduce1(vyv2400, vyv2390, vyv2401, vyv2391, new_esEs2(vyv2401, vyv2391, be), be) 214.33/146.06 new_esEs2(vyv2401, vyv2391, ty_Integer) -> new_esEs1(new_sr9(vyv2401, vyv2391)) 214.33/146.06 new_esEs2(vyv2401, vyv2391, ty_Int) -> new_esEs(new_sr10(vyv2401, vyv2391)) 214.33/146.06 new_reduce2Reduce1(vyv265, vyv266, vyv267, vyv268, False, bh) -> :%(new_quot0(vyv265, vyv266, vyv267, vyv268, bh), new_quot1(vyv267, vyv268, vyv265, vyv266, bh)) 214.33/146.06 new_reduce2Reduce1(vyv265, vyv266, vyv267, vyv268, True, bh) -> error([]) 214.33/146.06 new_quot0(vyv265, vyv266, vyv267, vyv268, ty_Integer) -> new_quot2(new_sr9(vyv265, vyv266), new_sr9(vyv265, vyv266), new_sr9(vyv267, vyv268)) 214.33/146.06 new_quot0(vyv265, vyv266, vyv267, vyv268, ty_Int) -> new_quot(new_sr10(vyv265, vyv266), new_sr10(vyv265, vyv266), new_sr10(vyv267, vyv268)) 214.33/146.06 new_quot1(vyv267, vyv268, vyv265, vyv266, ty_Int) -> new_quot(new_sr10(vyv267, vyv268), new_sr10(vyv265, vyv266), new_sr10(vyv267, vyv268)) 214.33/146.06 new_quot1(vyv267, vyv268, vyv265, vyv266, ty_Integer) -> new_quot2(new_sr9(vyv267, vyv268), new_sr9(vyv265, vyv266), new_sr9(vyv267, vyv268)) 214.33/146.06 new_sr9(vyv240, vyv239) -> error([]) 214.33/146.06 new_quot2(vyv274, vyv276, vyv275) -> error([]) 214.33/146.06 new_sr10(Pos(vyv2400), Pos(vyv2390)) -> Pos(new_primMulNat0(vyv2400, vyv2390)) 214.33/146.06 new_sr10(Neg(vyv2400), Neg(vyv2390)) -> Pos(new_primMulNat0(vyv2400, vyv2390)) 214.33/146.06 new_sr10(Pos(vyv2400), Neg(vyv2390)) -> Neg(new_primMulNat0(vyv2400, vyv2390)) 214.33/146.06 new_sr10(Neg(vyv2400), Pos(vyv2390)) -> Neg(new_primMulNat0(vyv2400, vyv2390)) 214.33/146.06 new_quot(Pos(vyv2710), vyv273, vyv272) -> new_primQuotInt(vyv2710, new_gcd(vyv273, vyv272)) 214.33/146.06 new_quot(Neg(vyv2710), vyv273, vyv272) -> new_primQuotInt0(vyv2710, new_gcd(vyv273, vyv272)) 214.33/146.06 new_gcd(vyv273, vyv272) -> new_gcd2(new_esEs(vyv273), vyv273, vyv272) 214.33/146.06 new_primQuotInt0(vyv2710, Pos(Succ(vyv28800))) -> Neg(new_primDivNatS1(vyv2710, vyv28800)) 214.33/146.06 new_primQuotInt0(vyv2710, Neg(Zero)) -> new_error 214.33/146.06 new_primQuotInt0(vyv2710, Neg(Succ(vyv28800))) -> Pos(new_primDivNatS1(vyv2710, vyv28800)) 214.33/146.06 new_primQuotInt0(vyv2710, Pos(Zero)) -> new_error 214.33/146.06 new_error -> error([]) 214.33/146.06 new_primDivNatS1(Succ(Zero), Succ(vyv285000)) -> Zero 214.33/146.06 new_primDivNatS1(Succ(Succ(vyv271000)), Succ(vyv285000)) -> new_primDivNatS01(vyv271000, vyv285000, vyv271000, vyv285000) 214.33/146.06 new_primDivNatS1(Zero, vyv28500) -> Zero 214.33/146.06 new_primDivNatS1(Succ(Succ(vyv271000)), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS0(vyv271000), Zero)) 214.33/146.06 new_primDivNatS1(Succ(Zero), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS1, Zero)) 214.33/146.06 new_primMinusNatS1 -> Zero 214.33/146.06 new_primMinusNatS0(vyv271000) -> Succ(vyv271000) 214.33/146.06 new_primDivNatS01(vyv311, vyv312, Succ(vyv3130), Zero) -> new_primDivNatS02(vyv311, vyv312) 214.33/146.06 new_primDivNatS01(vyv311, vyv312, Zero, Succ(vyv3140)) -> Zero 214.33/146.06 new_primDivNatS01(vyv311, vyv312, Succ(vyv3130), Succ(vyv3140)) -> new_primDivNatS01(vyv311, vyv312, vyv3130, vyv3140) 214.33/146.06 new_primDivNatS01(vyv311, vyv312, Zero, Zero) -> new_primDivNatS02(vyv311, vyv312) 214.33/146.06 new_primDivNatS02(vyv311, vyv312) -> Succ(new_primDivNatS1(new_primMinusNatS2(vyv311, vyv312), Succ(vyv312))) 214.33/146.06 new_primMinusNatS2(Zero, Succ(vyv3120)) -> Zero 214.33/146.06 new_primMinusNatS2(Succ(vyv3110), Zero) -> Succ(vyv3110) 214.33/146.06 new_primMinusNatS2(Zero, Zero) -> Zero 214.33/146.06 new_primMinusNatS2(Succ(vyv3110), Succ(vyv3120)) -> new_primMinusNatS2(vyv3110, vyv3120) 214.33/146.06 new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) 214.33/146.06 new_esEs(Pos(Succ(vyv24300))) -> new_primEqInt(Pos(Succ(vyv24300))) 214.33/146.06 new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) 214.33/146.06 new_esEs(Neg(Succ(vyv24300))) -> new_primEqInt(Neg(Succ(vyv24300))) 214.33/146.06 new_gcd2(True, vyv273, vyv272) -> new_gcd1(new_esEs(vyv272), vyv273, vyv272) 214.33/146.06 new_gcd2(False, vyv273, vyv272) -> new_gcd0(vyv273, vyv272) 214.33/146.06 new_gcd0(vyv273, vyv272) -> new_gcd0Gcd'11(new_esEs(new_abs(vyv272)), vyv273, vyv272) 214.33/146.06 new_abs(Neg(Zero)) -> Neg(Zero) 214.33/146.06 new_abs(Neg(Succ(vyv27200))) -> Pos(Succ(vyv27200)) 214.33/146.06 new_abs(Pos(Succ(vyv27200))) -> Pos(Succ(vyv27200)) 214.33/146.06 new_abs(Pos(Zero)) -> Pos(Zero) 214.33/146.06 new_gcd0Gcd'11(True, vyv273, vyv272) -> new_abs(vyv273) 214.33/146.06 new_gcd0Gcd'11(False, vyv273, vyv272) -> new_gcd0Gcd'00(new_abs(vyv273), new_abs(vyv272)) 214.33/146.06 new_gcd0Gcd'10(False, vyv292, vyv293) -> new_gcd0Gcd'00(vyv292, new_rem(vyv293, vyv292)) 214.33/146.06 new_gcd0Gcd'00(vyv293, vyv292) -> new_gcd0Gcd'10(new_esEs(new_rem(vyv293, vyv292)), vyv292, vyv293) 214.33/146.06 new_rem(Pos(vyv2930), Neg(Zero)) -> new_error 214.33/146.06 new_rem(Neg(vyv2930), Pos(Zero)) -> new_error 214.33/146.06 new_rem(Pos(vyv2930), Neg(Succ(vyv29200))) -> Pos(new_primModNatS1(vyv2930, vyv29200)) 214.33/146.06 new_rem(Neg(vyv2930), Pos(Succ(vyv29200))) -> Neg(new_primModNatS1(vyv2930, vyv29200)) 214.33/146.06 new_rem(Pos(vyv2930), Pos(Succ(vyv29200))) -> Pos(new_primModNatS1(vyv2930, vyv29200)) 214.33/146.06 new_rem(Neg(vyv2930), Neg(Zero)) -> new_error 214.33/146.06 new_rem(Neg(vyv2930), Neg(Succ(vyv29200))) -> Neg(new_primModNatS1(vyv2930, vyv29200)) 214.33/146.06 new_rem(Pos(vyv2930), Pos(Zero)) -> new_error 214.33/146.06 new_gcd0Gcd'10(True, vyv292, vyv293) -> vyv292 214.33/146.06 new_primModNatS1(Succ(Zero), Succ(vyv292000)) -> Succ(Zero) 214.33/146.06 new_primModNatS1(Zero, vyv29200) -> Zero 214.33/146.06 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 214.33/146.06 new_primModNatS1(Succ(Succ(vyv293000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv293000), Zero) 214.33/146.06 new_primModNatS1(Succ(Succ(vyv293000)), Succ(vyv292000)) -> new_primModNatS01(vyv293000, vyv292000, vyv293000, vyv292000) 214.33/146.06 new_primModNatS01(vyv331, vyv332, Zero, Zero) -> new_primModNatS02(vyv331, vyv332) 214.33/146.06 new_primModNatS02(vyv331, vyv332) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv331), Succ(vyv332)), Succ(vyv332)) 214.33/146.06 new_primModNatS01(vyv331, vyv332, Succ(vyv3330), Zero) -> new_primModNatS02(vyv331, vyv332) 214.33/146.06 new_primModNatS01(vyv331, vyv332, Succ(vyv3330), Succ(vyv3340)) -> new_primModNatS01(vyv331, vyv332, vyv3330, vyv3340) 214.33/146.06 new_primModNatS01(vyv331, vyv332, Zero, Succ(vyv3340)) -> Succ(Succ(vyv331)) 214.33/146.06 new_gcd1(True, vyv273, vyv272) -> new_error 214.33/146.06 new_gcd1(False, vyv273, vyv272) -> new_gcd0(vyv273, vyv272) 214.33/146.06 new_primEqInt(Neg(Succ(vyv242000))) -> False 214.33/146.06 new_primEqInt(Pos(Zero)) -> True 214.33/146.06 new_primEqInt(Pos(Succ(vyv242000))) -> False 214.33/146.06 new_primEqInt(Neg(Zero)) -> True 214.33/146.06 new_primQuotInt(vyv2710, Pos(Succ(vyv28500))) -> Pos(new_primDivNatS1(vyv2710, vyv28500)) 214.33/146.06 new_primQuotInt(vyv2710, Neg(Zero)) -> new_error 214.33/146.06 new_primQuotInt(vyv2710, Pos(Zero)) -> new_error 214.33/146.06 new_primQuotInt(vyv2710, Neg(Succ(vyv28500))) -> Neg(new_primDivNatS1(vyv2710, vyv28500)) 214.33/146.06 new_primMulNat0(Zero, Succ(vyv23900)) -> Zero 214.33/146.06 new_primMulNat0(Succ(vyv24000), Succ(vyv23900)) -> new_primPlusNat0(new_primMulNat0(vyv24000, Succ(vyv23900)), Succ(vyv23900)) 214.33/146.06 new_primMulNat0(Succ(vyv24000), Zero) -> Zero 214.33/146.06 new_primMulNat0(Zero, Zero) -> Zero 214.33/146.06 new_primPlusNat0(Succ(vyv4000), Succ(vyv6000)) -> Succ(Succ(new_primPlusNat0(vyv4000, vyv6000))) 214.33/146.06 new_primPlusNat0(Zero, Succ(vyv6000)) -> Succ(vyv6000) 214.33/146.06 new_primPlusNat0(Zero, Zero) -> Zero 214.33/146.06 new_primPlusNat0(Succ(vyv4000), Zero) -> Succ(vyv4000) 214.33/146.06 new_esEs1(Integer(vyv2700)) -> new_primEqInt(vyv2700) 214.33/146.06 new_sr1(vyv228, ty_Double) -> new_sr11(vyv228) 214.33/146.06 new_sr1(vyv228, ty_Float) -> new_sr12(vyv228) 214.33/146.06 new_sr1(vyv228, app(ty_Ratio, bg)) -> new_sr5(vyv228, bg) 214.33/146.06 new_sr1(vyv228, ty_Integer) -> new_sr6(vyv228) 214.33/146.06 new_sr1(vyv228, ty_Int) -> new_sr7(vyv228) 214.33/146.06 new_sr7(Pos(vyv1840)) -> Pos(new_primMulNat1(vyv1840)) 214.33/146.06 new_sr7(Neg(vyv1840)) -> Pos(new_primMulNat1(vyv1840)) 214.33/146.06 new_primMulNat1(Succ(vyv18400)) -> new_primPlusNat0(new_primMulNat2(vyv18400), Succ(vyv18400)) 214.33/146.06 new_primMulNat1(Zero) -> Zero 214.33/146.06 new_primMulNat2(Succ(vyv184000)) -> new_primPlusNat0(new_primMulNat3(vyv184000), Succ(Succ(vyv184000))) 214.33/146.06 new_primMulNat2(Zero) -> Zero 214.33/146.06 new_primMulNat3(Succ(vyv1840000)) -> new_primPlusNat0(new_primMulNat4(vyv1840000), Succ(Succ(Succ(vyv1840000)))) 214.33/146.06 new_primMulNat3(Zero) -> Zero 214.33/146.06 new_primMulNat4(Succ(vyv18400000)) -> new_primPlusNat0(new_primMulNat0(vyv18400000, Succ(Succ(Succ(Succ(vyv18400000))))), Succ(Succ(Succ(Succ(vyv18400000))))) 214.33/146.06 new_primMulNat4(Zero) -> Zero 214.33/146.06 new_sr6(vyv184) -> error([]) 214.33/146.06 new_sr5(:%(vyv1840, vyv1841), bd) -> new_reduce2Reduce1(vyv1840, vyv1840, vyv1841, vyv1841, new_esEs0(vyv1841, bd), bd) 214.33/146.06 new_esEs0(vyv1841, ty_Int) -> new_esEs(new_sr7(vyv1841)) 214.33/146.06 new_esEs0(vyv1841, ty_Integer) -> new_esEs1(new_sr6(vyv1841)) 214.33/146.06 new_sr12(vyv184) -> error([]) 214.33/146.06 new_sr11(vyv184) -> error([]) 214.33/146.06 anew_new_pr2F0G1(Succ(Succ(vyv23000))) -> new_new_pr2F0G1(vyv23000) 214.33/146.06 new_new_pr2F0G1(Succ(Succ(vyv23000))) -> new_new_pr2F0G1(vyv23000) 214.33/146.06 new_new_pr2F0G1(Zero) -> cons_new_pr2F0G1(Zero) 214.33/146.06 214.33/146.06 The set Q consists of the following terms: 214.33/146.06 214.33/146.06 new_sr13(x0, x1) 214.33/146.06 new_primDivNatS01(x0, x1, Zero, Zero) 214.33/146.06 new_gcd0Gcd'11(False, x0, x1) 214.33/146.06 new_primMulNat4(Zero) 214.33/146.06 new_gcd0Gcd'11(True, x0, x1) 214.33/146.06 new_sr2(x0, x1, ty_Float) 214.33/146.06 new_sr5(:%(x0, x1), x2) 214.33/146.06 new_primEqInt(Pos(Zero)) 214.33/146.06 new_sr2(x0, x1, ty_Double) 214.33/146.06 new_esEs(Pos(Succ(x0))) 214.33/146.06 new_primQuotInt0(x0, Neg(Zero)) 214.33/146.06 new_primMulNat3(Zero) 214.33/146.06 new_primModNatS02(x0, x1) 214.33/146.06 new_primDivNatS1(Succ(Zero), Zero) 214.33/146.06 new_primMinusNatS0(x0) 214.33/146.06 new_sr11(x0) 214.33/146.06 new_rem(Pos(x0), Neg(Succ(x1))) 214.33/146.06 new_rem(Neg(x0), Pos(Succ(x1))) 214.33/146.06 new_primMulNat0(Zero, Zero) 214.33/146.06 new_primPlusNat0(Succ(x0), Zero) 214.33/146.06 new_primMulNat0(Succ(x0), Zero) 214.33/146.06 new_primMulNat2(Zero) 214.33/146.06 new_primQuotInt(x0, Pos(Zero)) 214.33/146.06 new_primMulNat2(Succ(x0)) 214.33/146.06 new_primQuotInt(x0, Neg(Zero)) 214.33/146.06 new_rem(Neg(x0), Neg(Succ(x1))) 214.33/146.06 new_primMinusNatS2(Zero, Succ(x0)) 214.33/146.06 new_primMulNat3(Succ(x0)) 214.33/146.06 new_esEs1(Integer(x0)) 214.33/146.06 new_primQuotInt0(x0, Pos(Zero)) 214.33/146.06 new_gcd2(True, x0, x1) 214.33/146.06 new_quot1(x0, x1, x2, x3, ty_Int) 214.33/146.06 new_primDivNatS1(Zero, x0) 214.33/146.06 new_gcd(x0, x1) 214.33/146.06 new_gcd1(False, x0, x1) 214.33/146.06 new_esEs2(x0, x1, ty_Int) 214.33/146.06 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 214.33/146.06 new_sr1(x0, app(ty_Ratio, x1)) 214.33/146.06 new_sr1(x0, ty_Float) 214.33/146.06 new_primPlusNat0(Zero, Succ(x0)) 214.33/146.06 new_sr8(:%(x0, x1), :%(x2, x3), x4) 214.33/146.06 new_abs(Neg(Zero)) 214.33/146.06 new_primMinusNatS2(Succ(x0), Zero) 214.33/146.06 new_error 214.33/146.06 new_primModNatS1(Succ(Zero), Zero) 214.33/146.06 new_primMulNat4(Succ(x0)) 214.33/146.06 new_sr1(x0, ty_Integer) 214.33/146.06 new_primDivNatS02(x0, x1) 214.33/146.06 new_sr1(x0, ty_Int) 214.33/146.06 new_rem(Neg(x0), Neg(Zero)) 214.33/146.06 new_primEqInt(Neg(Zero)) 214.33/146.06 new_rem(Pos(x0), Pos(Succ(x1))) 214.33/146.06 new_abs(Pos(Succ(x0))) 214.33/146.06 new_primMulNat0(Succ(x0), Succ(x1)) 214.33/146.06 new_primMulNat0(Zero, Succ(x0)) 214.33/146.06 new_reduce2Reduce1(x0, x1, x2, x3, True, x4) 214.33/146.06 new_gcd0Gcd'10(False, x0, x1) 214.33/146.06 new_sr12(x0) 214.33/146.06 new_primDivNatS01(x0, x1, Zero, Succ(x2)) 214.33/146.06 new_sr10(Pos(x0), Pos(x1)) 214.33/146.06 new_primModNatS01(x0, x1, Zero, Succ(x2)) 214.33/146.06 new_primPlusNat0(Zero, Zero) 214.33/146.06 new_primQuotInt0(x0, Pos(Succ(x1))) 214.33/146.06 new_primModNatS01(x0, x1, Succ(x2), Zero) 214.33/146.06 new_primModNatS1(Succ(Succ(x0)), Zero) 214.33/146.06 new_rem(Pos(x0), Pos(Zero)) 214.33/146.06 new_quot(Pos(x0), x1, x2) 214.33/146.06 new_primMinusNatS2(Zero, Zero) 214.33/146.06 new_esEs0(x0, ty_Int) 214.33/146.06 new_esEs(Pos(Zero)) 214.33/146.06 new_quot(Neg(x0), x1, x2) 214.33/146.06 new_primDivNatS01(x0, x1, Succ(x2), Succ(x3)) 214.33/146.06 new_quot2(x0, x1, x2) 214.33/146.06 new_primEqInt(Neg(Succ(x0))) 214.33/146.06 new_sr10(Neg(x0), Neg(x1)) 214.33/146.06 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 214.33/146.06 new_sr9(x0, x1) 214.33/146.06 new_sr2(x0, x1, ty_Integer) 214.33/146.06 new_sr7(Neg(x0)) 214.33/146.06 new_sr1(x0, ty_Double) 214.33/146.06 new_primQuotInt0(x0, Neg(Succ(x1))) 214.33/146.06 new_rem(Pos(x0), Neg(Zero)) 214.33/146.06 new_rem(Neg(x0), Pos(Zero)) 214.33/146.06 new_gcd0Gcd'00(x0, x1) 214.33/146.06 new_primQuotInt(x0, Neg(Succ(x1))) 214.33/146.06 new_primMinusNatS2(Succ(x0), Succ(x1)) 214.33/146.06 new_abs(Pos(Zero)) 214.33/146.06 new_quot0(x0, x1, x2, x3, ty_Integer) 214.33/146.06 new_sr6(x0) 214.33/146.06 new_gcd2(False, x0, x1) 214.33/146.06 new_gcd1(True, x0, x1) 214.33/146.06 new_esEs2(x0, x1, ty_Integer) 214.33/146.06 new_primMinusNatS1 214.33/146.06 new_sr7(Pos(x0)) 214.33/146.06 new_gcd0Gcd'10(True, x0, x1) 214.33/146.06 new_primModNatS1(Zero, x0) 214.33/146.06 new_sr10(Pos(x0), Neg(x1)) 214.33/146.06 new_sr10(Neg(x0), Pos(x1)) 214.33/146.06 new_primDivNatS01(x0, x1, Succ(x2), Zero) 214.33/146.06 new_primDivNatS1(Succ(Succ(x0)), Succ(x1)) 214.33/146.06 new_primPlusNat0(Succ(x0), Succ(x1)) 214.33/146.06 new_primDivNatS1(Succ(Zero), Succ(x0)) 214.33/146.06 new_primQuotInt(x0, Pos(Succ(x1))) 214.33/146.06 new_sr2(x0, x1, app(ty_Ratio, x2)) 214.33/146.06 new_abs(Neg(Succ(x0))) 214.33/146.06 new_esEs0(x0, ty_Integer) 214.33/146.06 new_esEs(Neg(Succ(x0))) 214.33/146.06 new_primModNatS01(x0, x1, Zero, Zero) 214.33/146.06 new_gcd0(x0, x1) 214.33/146.06 new_primEqInt(Pos(Succ(x0))) 214.33/146.06 new_quot1(x0, x1, x2, x3, ty_Integer) 214.33/146.06 new_primDivNatS1(Succ(Succ(x0)), Zero) 214.33/146.06 new_primMulNat1(Succ(x0)) 214.33/146.06 new_sr14(x0, x1) 214.33/146.06 new_quot0(x0, x1, x2, x3, ty_Int) 214.33/146.06 new_sr2(x0, x1, ty_Int) 214.33/146.06 new_primModNatS1(Succ(Zero), Succ(x0)) 214.33/146.06 new_reduce2Reduce1(x0, x1, x2, x3, False, x4) 214.33/146.06 new_esEs(Neg(Zero)) 214.33/146.06 new_primMulNat1(Zero) 214.33/146.06 new_new_pr2F0G1(Succ(Succ(x0))) 214.33/146.06 anew_new_pr2F0G1(Succ(Succ(x0))) 214.33/146.06 new_new_pr2F0G1(Zero) 214.33/146.06 214.33/146.06 We have to consider all minimal (P,Q,R)-chains. 214.33/146.06 ---------------------------------------- 214.33/146.06 214.33/146.06 (913) MNOCProof (EQUIVALENT) 214.33/146.06 We use the modular non-overlap check [FROCOS05] to decrease Q to the empty set. 214.33/146.06 ---------------------------------------- 214.33/146.06 214.33/146.06 (914) 214.33/146.06 Obligation: 214.33/146.06 Q DP problem: 214.33/146.06 The TRS P consists of the following rules: 214.33/146.06 214.33/146.06 new_pr2F0G1(vyv227, vyv228, vyv229, Zero, ba) -> new_pr2F0G(vyv227, new_sr1(vyv228, ba), Pos(new_primDivNatS1(Succ(vyv229), Succ(Zero))), ba) 214.33/146.06 new_pr2F0G(vyv188, vyv184, Pos(Succ(Succ(vyv223000))), h) -> new_pr2F0G1(vyv188, vyv184, Succ(vyv223000), vyv223000, h) 214.33/146.06 new_pr2F0G(vyv188, vyv184, Pos(Succ(Succ(vyv223000))), h) -> H(vyv188, vyv184, Succ(vyv223000), h, anew_new_pr2F0G1(vyv223000)) 214.33/146.06 H(vyv227, vyv228, vyv229, ba, cons_new_pr2F0G1(Zero)) -> new_pr2F0G1(vyv227, vyv228, vyv229, Zero, ba) 214.33/146.06 214.33/146.06 The TRS R consists of the following rules: 214.33/146.06 214.33/146.06 new_sr2(vyv228, vyv227, ty_Integer) -> new_sr9(vyv228, vyv227) 214.33/146.06 new_sr2(vyv228, vyv227, ty_Int) -> new_sr10(vyv228, vyv227) 214.33/146.06 new_sr2(vyv228, vyv227, app(ty_Ratio, bg)) -> new_sr8(vyv228, vyv227, bg) 214.33/146.06 new_sr2(vyv228, vyv227, ty_Double) -> new_sr13(vyv228, vyv227) 214.33/146.06 new_sr2(vyv228, vyv227, ty_Float) -> new_sr14(vyv228, vyv227) 214.33/146.06 new_sr14(vyv240, vyv239) -> error([]) 214.33/146.06 new_sr13(vyv240, vyv239) -> error([]) 214.33/146.06 new_sr8(:%(vyv2400, vyv2401), :%(vyv2390, vyv2391), be) -> new_reduce2Reduce1(vyv2400, vyv2390, vyv2401, vyv2391, new_esEs2(vyv2401, vyv2391, be), be) 214.33/146.06 new_esEs2(vyv2401, vyv2391, ty_Integer) -> new_esEs1(new_sr9(vyv2401, vyv2391)) 214.33/146.06 new_esEs2(vyv2401, vyv2391, ty_Int) -> new_esEs(new_sr10(vyv2401, vyv2391)) 214.33/146.06 new_reduce2Reduce1(vyv265, vyv266, vyv267, vyv268, False, bh) -> :%(new_quot0(vyv265, vyv266, vyv267, vyv268, bh), new_quot1(vyv267, vyv268, vyv265, vyv266, bh)) 214.33/146.06 new_reduce2Reduce1(vyv265, vyv266, vyv267, vyv268, True, bh) -> error([]) 214.33/146.06 new_quot0(vyv265, vyv266, vyv267, vyv268, ty_Integer) -> new_quot2(new_sr9(vyv265, vyv266), new_sr9(vyv265, vyv266), new_sr9(vyv267, vyv268)) 214.33/146.06 new_quot0(vyv265, vyv266, vyv267, vyv268, ty_Int) -> new_quot(new_sr10(vyv265, vyv266), new_sr10(vyv265, vyv266), new_sr10(vyv267, vyv268)) 214.33/146.06 new_quot1(vyv267, vyv268, vyv265, vyv266, ty_Int) -> new_quot(new_sr10(vyv267, vyv268), new_sr10(vyv265, vyv266), new_sr10(vyv267, vyv268)) 214.33/146.06 new_quot1(vyv267, vyv268, vyv265, vyv266, ty_Integer) -> new_quot2(new_sr9(vyv267, vyv268), new_sr9(vyv265, vyv266), new_sr9(vyv267, vyv268)) 214.33/146.06 new_sr9(vyv240, vyv239) -> error([]) 214.33/146.06 new_quot2(vyv274, vyv276, vyv275) -> error([]) 214.33/146.06 new_sr10(Pos(vyv2400), Pos(vyv2390)) -> Pos(new_primMulNat0(vyv2400, vyv2390)) 214.33/146.06 new_sr10(Neg(vyv2400), Neg(vyv2390)) -> Pos(new_primMulNat0(vyv2400, vyv2390)) 214.33/146.06 new_sr10(Pos(vyv2400), Neg(vyv2390)) -> Neg(new_primMulNat0(vyv2400, vyv2390)) 214.33/146.06 new_sr10(Neg(vyv2400), Pos(vyv2390)) -> Neg(new_primMulNat0(vyv2400, vyv2390)) 214.33/146.06 new_quot(Pos(vyv2710), vyv273, vyv272) -> new_primQuotInt(vyv2710, new_gcd(vyv273, vyv272)) 214.33/146.06 new_quot(Neg(vyv2710), vyv273, vyv272) -> new_primQuotInt0(vyv2710, new_gcd(vyv273, vyv272)) 214.33/146.06 new_gcd(vyv273, vyv272) -> new_gcd2(new_esEs(vyv273), vyv273, vyv272) 214.33/146.06 new_primQuotInt0(vyv2710, Pos(Succ(vyv28800))) -> Neg(new_primDivNatS1(vyv2710, vyv28800)) 214.33/146.06 new_primQuotInt0(vyv2710, Neg(Zero)) -> new_error 214.33/146.06 new_primQuotInt0(vyv2710, Neg(Succ(vyv28800))) -> Pos(new_primDivNatS1(vyv2710, vyv28800)) 214.33/146.06 new_primQuotInt0(vyv2710, Pos(Zero)) -> new_error 214.33/146.06 new_error -> error([]) 214.33/146.06 new_primDivNatS1(Succ(Zero), Succ(vyv285000)) -> Zero 214.33/146.06 new_primDivNatS1(Succ(Succ(vyv271000)), Succ(vyv285000)) -> new_primDivNatS01(vyv271000, vyv285000, vyv271000, vyv285000) 214.33/146.06 new_primDivNatS1(Zero, vyv28500) -> Zero 214.33/146.06 new_primDivNatS1(Succ(Succ(vyv271000)), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS0(vyv271000), Zero)) 214.33/146.06 new_primDivNatS1(Succ(Zero), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS1, Zero)) 214.33/146.06 new_primMinusNatS1 -> Zero 214.33/146.06 new_primMinusNatS0(vyv271000) -> Succ(vyv271000) 214.33/146.06 new_primDivNatS01(vyv311, vyv312, Succ(vyv3130), Zero) -> new_primDivNatS02(vyv311, vyv312) 214.33/146.06 new_primDivNatS01(vyv311, vyv312, Zero, Succ(vyv3140)) -> Zero 214.33/146.06 new_primDivNatS01(vyv311, vyv312, Succ(vyv3130), Succ(vyv3140)) -> new_primDivNatS01(vyv311, vyv312, vyv3130, vyv3140) 214.33/146.06 new_primDivNatS01(vyv311, vyv312, Zero, Zero) -> new_primDivNatS02(vyv311, vyv312) 214.33/146.06 new_primDivNatS02(vyv311, vyv312) -> Succ(new_primDivNatS1(new_primMinusNatS2(vyv311, vyv312), Succ(vyv312))) 214.33/146.06 new_primMinusNatS2(Zero, Succ(vyv3120)) -> Zero 214.33/146.06 new_primMinusNatS2(Succ(vyv3110), Zero) -> Succ(vyv3110) 214.33/146.06 new_primMinusNatS2(Zero, Zero) -> Zero 214.33/146.06 new_primMinusNatS2(Succ(vyv3110), Succ(vyv3120)) -> new_primMinusNatS2(vyv3110, vyv3120) 214.33/146.06 new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) 214.33/146.06 new_esEs(Pos(Succ(vyv24300))) -> new_primEqInt(Pos(Succ(vyv24300))) 214.33/146.06 new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) 214.33/146.06 new_esEs(Neg(Succ(vyv24300))) -> new_primEqInt(Neg(Succ(vyv24300))) 214.33/146.06 new_gcd2(True, vyv273, vyv272) -> new_gcd1(new_esEs(vyv272), vyv273, vyv272) 214.33/146.06 new_gcd2(False, vyv273, vyv272) -> new_gcd0(vyv273, vyv272) 214.33/146.06 new_gcd0(vyv273, vyv272) -> new_gcd0Gcd'11(new_esEs(new_abs(vyv272)), vyv273, vyv272) 214.33/146.06 new_abs(Neg(Zero)) -> Neg(Zero) 214.33/146.06 new_abs(Neg(Succ(vyv27200))) -> Pos(Succ(vyv27200)) 214.33/146.06 new_abs(Pos(Succ(vyv27200))) -> Pos(Succ(vyv27200)) 214.33/146.06 new_abs(Pos(Zero)) -> Pos(Zero) 214.33/146.06 new_gcd0Gcd'11(True, vyv273, vyv272) -> new_abs(vyv273) 214.33/146.06 new_gcd0Gcd'11(False, vyv273, vyv272) -> new_gcd0Gcd'00(new_abs(vyv273), new_abs(vyv272)) 214.33/146.06 new_gcd0Gcd'10(False, vyv292, vyv293) -> new_gcd0Gcd'00(vyv292, new_rem(vyv293, vyv292)) 214.33/146.06 new_gcd0Gcd'00(vyv293, vyv292) -> new_gcd0Gcd'10(new_esEs(new_rem(vyv293, vyv292)), vyv292, vyv293) 214.33/146.06 new_rem(Pos(vyv2930), Neg(Zero)) -> new_error 214.33/146.06 new_rem(Neg(vyv2930), Pos(Zero)) -> new_error 214.33/146.06 new_rem(Pos(vyv2930), Neg(Succ(vyv29200))) -> Pos(new_primModNatS1(vyv2930, vyv29200)) 214.33/146.06 new_rem(Neg(vyv2930), Pos(Succ(vyv29200))) -> Neg(new_primModNatS1(vyv2930, vyv29200)) 214.33/146.06 new_rem(Pos(vyv2930), Pos(Succ(vyv29200))) -> Pos(new_primModNatS1(vyv2930, vyv29200)) 214.33/146.06 new_rem(Neg(vyv2930), Neg(Zero)) -> new_error 214.33/146.06 new_rem(Neg(vyv2930), Neg(Succ(vyv29200))) -> Neg(new_primModNatS1(vyv2930, vyv29200)) 214.33/146.06 new_rem(Pos(vyv2930), Pos(Zero)) -> new_error 214.33/146.06 new_gcd0Gcd'10(True, vyv292, vyv293) -> vyv292 214.33/146.06 new_primModNatS1(Succ(Zero), Succ(vyv292000)) -> Succ(Zero) 214.33/146.06 new_primModNatS1(Zero, vyv29200) -> Zero 214.33/146.06 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 214.33/146.06 new_primModNatS1(Succ(Succ(vyv293000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv293000), Zero) 214.33/146.06 new_primModNatS1(Succ(Succ(vyv293000)), Succ(vyv292000)) -> new_primModNatS01(vyv293000, vyv292000, vyv293000, vyv292000) 214.33/146.06 new_primModNatS01(vyv331, vyv332, Zero, Zero) -> new_primModNatS02(vyv331, vyv332) 214.33/146.06 new_primModNatS02(vyv331, vyv332) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv331), Succ(vyv332)), Succ(vyv332)) 214.33/146.06 new_primModNatS01(vyv331, vyv332, Succ(vyv3330), Zero) -> new_primModNatS02(vyv331, vyv332) 214.33/146.06 new_primModNatS01(vyv331, vyv332, Succ(vyv3330), Succ(vyv3340)) -> new_primModNatS01(vyv331, vyv332, vyv3330, vyv3340) 214.33/146.06 new_primModNatS01(vyv331, vyv332, Zero, Succ(vyv3340)) -> Succ(Succ(vyv331)) 214.33/146.06 new_gcd1(True, vyv273, vyv272) -> new_error 214.33/146.06 new_gcd1(False, vyv273, vyv272) -> new_gcd0(vyv273, vyv272) 214.33/146.06 new_primEqInt(Neg(Succ(vyv242000))) -> False 214.33/146.06 new_primEqInt(Pos(Zero)) -> True 214.33/146.06 new_primEqInt(Pos(Succ(vyv242000))) -> False 214.33/146.06 new_primEqInt(Neg(Zero)) -> True 214.33/146.06 new_primQuotInt(vyv2710, Pos(Succ(vyv28500))) -> Pos(new_primDivNatS1(vyv2710, vyv28500)) 214.33/146.06 new_primQuotInt(vyv2710, Neg(Zero)) -> new_error 214.33/146.06 new_primQuotInt(vyv2710, Pos(Zero)) -> new_error 214.33/146.06 new_primQuotInt(vyv2710, Neg(Succ(vyv28500))) -> Neg(new_primDivNatS1(vyv2710, vyv28500)) 214.33/146.06 new_primMulNat0(Zero, Succ(vyv23900)) -> Zero 214.33/146.06 new_primMulNat0(Succ(vyv24000), Succ(vyv23900)) -> new_primPlusNat0(new_primMulNat0(vyv24000, Succ(vyv23900)), Succ(vyv23900)) 214.33/146.06 new_primMulNat0(Succ(vyv24000), Zero) -> Zero 214.33/146.06 new_primMulNat0(Zero, Zero) -> Zero 214.33/146.06 new_primPlusNat0(Succ(vyv4000), Succ(vyv6000)) -> Succ(Succ(new_primPlusNat0(vyv4000, vyv6000))) 214.33/146.06 new_primPlusNat0(Zero, Succ(vyv6000)) -> Succ(vyv6000) 214.33/146.06 new_primPlusNat0(Zero, Zero) -> Zero 214.33/146.06 new_primPlusNat0(Succ(vyv4000), Zero) -> Succ(vyv4000) 214.33/146.06 new_esEs1(Integer(vyv2700)) -> new_primEqInt(vyv2700) 214.33/146.06 new_sr1(vyv228, ty_Double) -> new_sr11(vyv228) 214.33/146.06 new_sr1(vyv228, ty_Float) -> new_sr12(vyv228) 214.33/146.06 new_sr1(vyv228, app(ty_Ratio, bg)) -> new_sr5(vyv228, bg) 214.33/146.06 new_sr1(vyv228, ty_Integer) -> new_sr6(vyv228) 214.33/146.06 new_sr1(vyv228, ty_Int) -> new_sr7(vyv228) 214.33/146.06 new_sr7(Pos(vyv1840)) -> Pos(new_primMulNat1(vyv1840)) 214.33/146.06 new_sr7(Neg(vyv1840)) -> Pos(new_primMulNat1(vyv1840)) 214.33/146.06 new_primMulNat1(Succ(vyv18400)) -> new_primPlusNat0(new_primMulNat2(vyv18400), Succ(vyv18400)) 214.33/146.06 new_primMulNat1(Zero) -> Zero 214.33/146.06 new_primMulNat2(Succ(vyv184000)) -> new_primPlusNat0(new_primMulNat3(vyv184000), Succ(Succ(vyv184000))) 214.33/146.06 new_primMulNat2(Zero) -> Zero 214.33/146.06 new_primMulNat3(Succ(vyv1840000)) -> new_primPlusNat0(new_primMulNat4(vyv1840000), Succ(Succ(Succ(vyv1840000)))) 214.33/146.06 new_primMulNat3(Zero) -> Zero 214.33/146.06 new_primMulNat4(Succ(vyv18400000)) -> new_primPlusNat0(new_primMulNat0(vyv18400000, Succ(Succ(Succ(Succ(vyv18400000))))), Succ(Succ(Succ(Succ(vyv18400000))))) 214.33/146.06 new_primMulNat4(Zero) -> Zero 214.33/146.06 new_sr6(vyv184) -> error([]) 214.33/146.06 new_sr5(:%(vyv1840, vyv1841), bd) -> new_reduce2Reduce1(vyv1840, vyv1840, vyv1841, vyv1841, new_esEs0(vyv1841, bd), bd) 214.33/146.06 new_esEs0(vyv1841, ty_Int) -> new_esEs(new_sr7(vyv1841)) 214.33/146.06 new_esEs0(vyv1841, ty_Integer) -> new_esEs1(new_sr6(vyv1841)) 214.33/146.06 new_sr12(vyv184) -> error([]) 214.33/146.06 new_sr11(vyv184) -> error([]) 214.33/146.06 anew_new_pr2F0G1(Succ(Succ(vyv23000))) -> new_new_pr2F0G1(vyv23000) 214.33/146.06 new_new_pr2F0G1(Succ(Succ(vyv23000))) -> new_new_pr2F0G1(vyv23000) 214.33/146.06 new_new_pr2F0G1(Zero) -> cons_new_pr2F0G1(Zero) 214.33/146.06 214.33/146.06 Q is empty. 214.33/146.06 We have to consider all (P,Q,R)-chains. 214.33/146.06 ---------------------------------------- 214.33/146.06 214.33/146.06 (915) InductionCalculusProof (EQUIVALENT) 214.33/146.06 Note that final constraints are written in bold face. 214.33/146.06 214.33/146.06 214.33/146.06 214.33/146.06 For Pair new_pr2F0G1(vyv227, vyv228, vyv229, Zero, ba) -> new_pr2F0G(vyv227, new_sr1(vyv228, ba), Pos(new_primDivNatS1(Succ(vyv229), Succ(Zero))), ba) the following chains were created: 214.33/146.06 *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: 214.33/146.06 214.33/146.06 (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)) 214.33/146.06 214.33/146.06 214.33/146.06 214.33/146.06 We simplified constraint (1) using rules (I), (II), (IV), (VII) which results in the following new constraint: 214.33/146.06 214.33/146.06 (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)) 214.33/146.06 214.33/146.06 214.33/146.06 214.33/146.06 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: 214.33/146.06 214.33/146.06 (3) (new_primDivNatS01(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)) 214.33/146.06 214.33/146.06 (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)) 214.33/146.06 214.33/146.06 (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)) 214.33/146.06 214.33/146.06 214.33/146.06 214.33/146.06 We simplified constraint (3) using rules (I), (II), (III), (VII) which results in the following new constraint: 214.33/146.06 214.33/146.06 (6) (x88=x91 & x87=x92 & new_primDivNatS01(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)) 214.33/146.06 214.33/146.06 214.33/146.06 214.33/146.06 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_primDivNatS01(x88, x87, x91, x92)=Succ(Succ(x10)) which results in the following new constraints: 214.33/146.06 214.33/146.06 (7) (new_primDivNatS02(x95, x94)=Succ(Succ(x10)) & x95=Succ(x93) & x94=Zero & Zero=x94 ==> new_pr2F0G1(x4, x5, Succ(x95), Zero, x7)_>=_new_pr2F0G(x4, new_sr1(x5, x7), Pos(new_primDivNatS1(Succ(Succ(x95)), Succ(Zero))), x7)) 214.33/146.06 214.33/146.06 (8) (new_primDivNatS01(x102, x101, x100, x99)=Succ(Succ(x10)) & x102=Succ(x100) & x101=Succ(x99) & Zero=x101 & (\/x103,x104,x105,x106:new_primDivNatS01(x102, x101, x100, x99)=Succ(Succ(x103)) & x102=x100 & x101=x99 & Zero=x101 ==> new_pr2F0G1(x104, x105, Succ(x102), Zero, x106)_>=_new_pr2F0G(x104, new_sr1(x105, x106), Pos(new_primDivNatS1(Succ(Succ(x102)), Succ(Zero))), x106)) ==> new_pr2F0G1(x4, x5, Succ(x102), Zero, x7)_>=_new_pr2F0G(x4, new_sr1(x5, x7), Pos(new_primDivNatS1(Succ(Succ(x102)), Succ(Zero))), x7)) 214.33/146.06 214.33/146.06 (9) (new_primDivNatS02(x108, x107)=Succ(Succ(x10)) & x108=Zero & x107=Zero & Zero=x107 ==> new_pr2F0G1(x4, x5, Succ(x108), Zero, x7)_>=_new_pr2F0G(x4, new_sr1(x5, x7), Pos(new_primDivNatS1(Succ(Succ(x108)), Succ(Zero))), x7)) 214.33/146.06 214.33/146.06 214.33/146.06 214.33/146.06 We simplified constraint (7) using rules (I), (II), (III), (IV), (VII) which results in the following new constraint: 214.33/146.06 214.33/146.06 (10) (new_pr2F0G1(x4, x5, Succ(Succ(x93)), Zero, x7)_>=_new_pr2F0G(x4, new_sr1(x5, x7), Pos(new_primDivNatS1(Succ(Succ(Succ(x93))), Succ(Zero))), x7)) 214.33/146.06 214.33/146.06 214.33/146.06 214.33/146.06 We solved constraint (8) using rules (I), (II), (III).We simplified constraint (9) using rules (I), (II), (III), (IV), (VII) which results in the following new constraint: 214.33/146.06 214.33/146.06 (11) (new_pr2F0G1(x4, x5, Succ(Zero), Zero, x7)_>=_new_pr2F0G(x4, new_sr1(x5, x7), Pos(new_primDivNatS1(Succ(Succ(Zero)), Succ(Zero))), x7)) 214.33/146.06 214.33/146.06 214.33/146.06 214.33/146.06 214.33/146.06 *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: 214.33/146.06 214.33/146.06 (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)) 214.33/146.06 214.33/146.06 214.33/146.06 214.33/146.06 We simplified constraint (1) using rules (I), (II), (IV), (VII) which results in the following new constraint: 214.33/146.06 214.33/146.06 (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)) 214.33/146.06 214.33/146.06 214.33/146.06 214.33/146.06 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: 214.33/146.06 214.33/146.06 (3) (new_primDivNatS01(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)) 214.33/146.06 214.33/146.06 (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)) 214.33/146.06 214.33/146.06 (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)) 214.33/146.06 214.33/146.06 214.33/146.06 214.33/146.06 We simplified constraint (3) using rules (I), (II), (III), (VII) which results in the following new constraint: 214.33/146.06 214.33/146.06 (6) (x117=x120 & x116=x121 & new_primDivNatS01(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)) 214.33/146.06 214.33/146.06 214.33/146.06 214.33/146.06 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_primDivNatS01(x117, x116, x120, x121)=Succ(Succ(x18)) which results in the following new constraints: 214.33/146.06 214.33/146.06 (7) (new_primDivNatS02(x124, x123)=Succ(Succ(x18)) & x124=Succ(x122) & x123=Zero & Zero=x123 ==> new_pr2F0G1(x12, x13, Succ(x124), Zero, x15)_>=_new_pr2F0G(x12, new_sr1(x13, x15), Pos(new_primDivNatS1(Succ(Succ(x124)), Succ(Zero))), x15)) 214.33/146.06 214.33/146.06 (8) (new_primDivNatS01(x131, x130, x129, x128)=Succ(Succ(x18)) & x131=Succ(x129) & x130=Succ(x128) & Zero=x130 & (\/x132,x133,x134,x135:new_primDivNatS01(x131, x130, x129, x128)=Succ(Succ(x132)) & x131=x129 & x130=x128 & Zero=x130 ==> new_pr2F0G1(x133, x134, Succ(x131), Zero, x135)_>=_new_pr2F0G(x133, new_sr1(x134, x135), Pos(new_primDivNatS1(Succ(Succ(x131)), Succ(Zero))), x135)) ==> new_pr2F0G1(x12, x13, Succ(x131), Zero, x15)_>=_new_pr2F0G(x12, new_sr1(x13, x15), Pos(new_primDivNatS1(Succ(Succ(x131)), Succ(Zero))), x15)) 214.33/146.06 214.33/146.06 (9) (new_primDivNatS02(x137, x136)=Succ(Succ(x18)) & x137=Zero & x136=Zero & Zero=x136 ==> new_pr2F0G1(x12, x13, Succ(x137), Zero, x15)_>=_new_pr2F0G(x12, new_sr1(x13, x15), Pos(new_primDivNatS1(Succ(Succ(x137)), Succ(Zero))), x15)) 214.33/146.06 214.33/146.06 214.33/146.06 214.33/146.06 We simplified constraint (7) using rules (I), (II), (III), (IV), (VII) which results in the following new constraint: 214.33/146.06 214.33/146.06 (10) (new_pr2F0G1(x12, x13, Succ(Succ(x122)), Zero, x15)_>=_new_pr2F0G(x12, new_sr1(x13, x15), Pos(new_primDivNatS1(Succ(Succ(Succ(x122))), Succ(Zero))), x15)) 214.33/146.06 214.33/146.06 214.33/146.06 214.33/146.06 We solved constraint (8) using rules (I), (II), (III).We simplified constraint (9) using rules (I), (II), (III), (IV), (VII) which results in the following new constraint: 214.33/146.06 214.33/146.06 (11) (new_pr2F0G1(x12, x13, Succ(Zero), Zero, x15)_>=_new_pr2F0G(x12, new_sr1(x13, x15), Pos(new_primDivNatS1(Succ(Succ(Zero)), Succ(Zero))), x15)) 214.33/146.06 214.33/146.06 214.33/146.06 214.33/146.06 214.33/146.06 214.33/146.06 214.33/146.06 214.33/146.06 214.33/146.06 For Pair new_pr2F0G(vyv188, vyv184, Pos(Succ(Succ(vyv223000))), h) -> new_pr2F0G1(vyv188, vyv184, Succ(vyv223000), vyv223000, h) the following chains were created: 214.33/146.06 *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: 214.33/146.06 214.33/146.06 (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)) 214.33/146.06 214.33/146.06 214.33/146.06 214.33/146.06 We simplified constraint (1) using rules (I), (II), (III), (IV) which results in the following new constraint: 214.33/146.06 214.33/146.06 (2) (new_pr2F0G(x24, x25, Pos(Succ(Succ(Zero))), x27)_>=_new_pr2F0G1(x24, x25, Succ(Zero), Zero, x27)) 214.33/146.06 214.33/146.06 214.33/146.06 214.33/146.06 214.33/146.06 214.33/146.06 214.33/146.06 214.33/146.06 214.33/146.06 For Pair new_pr2F0G(vyv188, vyv184, Pos(Succ(Succ(vyv223000))), h) -> H(vyv188, vyv184, Succ(vyv223000), h, anew_new_pr2F0G1(vyv223000)) the following chains were created: 214.33/146.06 *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: 214.33/146.06 214.33/146.06 (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))) 214.33/146.06 214.33/146.06 214.33/146.06 214.33/146.06 We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: 214.33/146.06 214.33/146.06 (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))) 214.33/146.06 214.33/146.06 214.33/146.06 214.33/146.06 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: 214.33/146.06 214.33/146.06 (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))))) 214.33/146.06 214.33/146.06 214.33/146.06 214.33/146.06 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: 214.33/146.06 214.33/146.06 (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))))))) 214.33/146.06 214.33/146.06 (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))))) 214.33/146.06 214.33/146.06 214.33/146.06 214.33/146.06 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: 214.33/146.06 214.33/146.06 (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))))))) 214.33/146.06 214.33/146.06 214.33/146.06 214.33/146.06 We simplified constraint (5) using rules (I), (II) which results in the following new constraint: 214.33/146.06 214.33/146.06 (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))))) 214.33/146.06 214.33/146.06 214.33/146.06 214.33/146.06 214.33/146.06 214.33/146.06 214.33/146.06 214.33/146.06 214.33/146.06 For Pair H(vyv227, vyv228, vyv229, ba, cons_new_pr2F0G1(Zero)) -> new_pr2F0G1(vyv227, vyv228, vyv229, Zero, ba) the following chains were created: 214.33/146.06 *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: 214.33/146.06 214.33/146.06 (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)) 214.33/146.06 214.33/146.06 214.33/146.06 214.33/146.06 We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: 214.33/146.06 214.33/146.06 (2) (H(x64, x65, x66, x67, cons_new_pr2F0G1(Zero))_>=_new_pr2F0G1(x64, x65, x66, Zero, x67)) 214.33/146.06 214.33/146.06 214.33/146.06 214.33/146.06 214.33/146.06 214.33/146.06 214.33/146.06 214.33/146.06 214.33/146.06 To summarize, we get the following constraints P__>=_ for the following pairs. 214.33/146.06 214.33/146.06 *new_pr2F0G1(vyv227, vyv228, vyv229, Zero, ba) -> new_pr2F0G(vyv227, new_sr1(vyv228, ba), Pos(new_primDivNatS1(Succ(vyv229), Succ(Zero))), ba) 214.33/146.06 214.33/146.06 *(new_pr2F0G1(x4, x5, Succ(Succ(x93)), Zero, x7)_>=_new_pr2F0G(x4, new_sr1(x5, x7), Pos(new_primDivNatS1(Succ(Succ(Succ(x93))), Succ(Zero))), x7)) 214.33/146.06 214.33/146.06 214.33/146.06 *(new_pr2F0G1(x4, x5, Succ(Zero), Zero, x7)_>=_new_pr2F0G(x4, new_sr1(x5, x7), Pos(new_primDivNatS1(Succ(Succ(Zero)), Succ(Zero))), x7)) 214.33/146.06 214.33/146.06 214.33/146.06 *(new_pr2F0G1(x12, x13, Succ(Succ(x122)), Zero, x15)_>=_new_pr2F0G(x12, new_sr1(x13, x15), Pos(new_primDivNatS1(Succ(Succ(Succ(x122))), Succ(Zero))), x15)) 214.33/146.06 214.33/146.06 214.33/146.06 *(new_pr2F0G1(x12, x13, Succ(Zero), Zero, x15)_>=_new_pr2F0G(x12, new_sr1(x13, x15), Pos(new_primDivNatS1(Succ(Succ(Zero)), Succ(Zero))), x15)) 214.33/146.06 214.33/146.06 214.33/146.06 214.33/146.06 214.33/146.06 *new_pr2F0G(vyv188, vyv184, Pos(Succ(Succ(vyv223000))), h) -> new_pr2F0G1(vyv188, vyv184, Succ(vyv223000), vyv223000, h) 214.33/146.06 214.33/146.06 *(new_pr2F0G(x24, x25, Pos(Succ(Succ(Zero))), x27)_>=_new_pr2F0G1(x24, x25, Succ(Zero), Zero, x27)) 214.33/146.06 214.33/146.06 214.33/146.06 214.33/146.06 214.33/146.06 *new_pr2F0G(vyv188, vyv184, Pos(Succ(Succ(vyv223000))), h) -> H(vyv188, vyv184, Succ(vyv223000), h, anew_new_pr2F0G1(vyv223000)) 214.33/146.06 214.33/146.06 *(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))))))) 214.33/146.06 214.33/146.06 214.33/146.06 *(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))))) 214.33/146.06 214.33/146.06 214.33/146.06 214.33/146.06 214.33/146.06 *H(vyv227, vyv228, vyv229, ba, cons_new_pr2F0G1(Zero)) -> new_pr2F0G1(vyv227, vyv228, vyv229, Zero, ba) 214.33/146.06 214.33/146.06 *(H(x64, x65, x66, x67, cons_new_pr2F0G1(Zero))_>=_new_pr2F0G1(x64, x65, x66, Zero, x67)) 214.33/146.06 214.33/146.06 214.33/146.06 214.33/146.06 214.33/146.06 214.33/146.06 214.33/146.06 214.33/146.06 214.33/146.06 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. 214.33/146.06 ---------------------------------------- 214.33/146.06 214.33/146.06 (916) 214.33/146.06 Obligation: 214.33/146.06 Q DP problem: 214.33/146.06 The TRS P consists of the following rules: 214.33/146.06 214.33/146.06 new_pr2F0G1(vyv227, vyv228, vyv229, Zero, ba) -> new_pr2F0G(vyv227, new_sr1(vyv228, ba), Pos(new_primDivNatS1(Succ(vyv229), Succ(Zero))), ba) 214.33/146.06 new_pr2F0G(vyv188, vyv184, Pos(Succ(Succ(vyv223000))), h) -> new_pr2F0G1(vyv188, vyv184, Succ(vyv223000), vyv223000, h) 214.33/146.06 new_pr2F0G(vyv188, vyv184, Pos(Succ(Succ(vyv223000))), h) -> H(vyv188, vyv184, Succ(vyv223000), h, anew_new_pr2F0G1(vyv223000)) 214.33/146.06 H(vyv227, vyv228, vyv229, ba, cons_new_pr2F0G1(Zero)) -> new_pr2F0G1(vyv227, vyv228, vyv229, Zero, ba) 214.33/146.06 214.33/146.06 The TRS R consists of the following rules: 214.33/146.06 214.33/146.06 new_sr2(vyv228, vyv227, ty_Integer) -> new_sr9(vyv228, vyv227) 214.33/146.06 new_sr2(vyv228, vyv227, ty_Int) -> new_sr10(vyv228, vyv227) 214.33/146.06 new_sr2(vyv228, vyv227, app(ty_Ratio, bg)) -> new_sr8(vyv228, vyv227, bg) 214.33/146.06 new_sr2(vyv228, vyv227, ty_Double) -> new_sr13(vyv228, vyv227) 214.33/146.06 new_sr2(vyv228, vyv227, ty_Float) -> new_sr14(vyv228, vyv227) 214.33/146.06 new_sr14(vyv240, vyv239) -> error([]) 214.33/146.06 new_sr13(vyv240, vyv239) -> error([]) 214.33/146.06 new_sr8(:%(vyv2400, vyv2401), :%(vyv2390, vyv2391), be) -> new_reduce2Reduce1(vyv2400, vyv2390, vyv2401, vyv2391, new_esEs2(vyv2401, vyv2391, be), be) 214.33/146.06 new_esEs2(vyv2401, vyv2391, ty_Integer) -> new_esEs1(new_sr9(vyv2401, vyv2391)) 214.33/146.06 new_esEs2(vyv2401, vyv2391, ty_Int) -> new_esEs(new_sr10(vyv2401, vyv2391)) 214.33/146.06 new_reduce2Reduce1(vyv265, vyv266, vyv267, vyv268, False, bh) -> :%(new_quot0(vyv265, vyv266, vyv267, vyv268, bh), new_quot1(vyv267, vyv268, vyv265, vyv266, bh)) 214.33/146.06 new_reduce2Reduce1(vyv265, vyv266, vyv267, vyv268, True, bh) -> error([]) 214.33/146.06 new_quot0(vyv265, vyv266, vyv267, vyv268, ty_Integer) -> new_quot2(new_sr9(vyv265, vyv266), new_sr9(vyv265, vyv266), new_sr9(vyv267, vyv268)) 214.33/146.06 new_quot0(vyv265, vyv266, vyv267, vyv268, ty_Int) -> new_quot(new_sr10(vyv265, vyv266), new_sr10(vyv265, vyv266), new_sr10(vyv267, vyv268)) 214.33/146.06 new_quot1(vyv267, vyv268, vyv265, vyv266, ty_Int) -> new_quot(new_sr10(vyv267, vyv268), new_sr10(vyv265, vyv266), new_sr10(vyv267, vyv268)) 214.33/146.06 new_quot1(vyv267, vyv268, vyv265, vyv266, ty_Integer) -> new_quot2(new_sr9(vyv267, vyv268), new_sr9(vyv265, vyv266), new_sr9(vyv267, vyv268)) 214.33/146.06 new_sr9(vyv240, vyv239) -> error([]) 214.33/146.06 new_quot2(vyv274, vyv276, vyv275) -> error([]) 214.33/146.06 new_sr10(Pos(vyv2400), Pos(vyv2390)) -> Pos(new_primMulNat0(vyv2400, vyv2390)) 214.33/146.06 new_sr10(Neg(vyv2400), Neg(vyv2390)) -> Pos(new_primMulNat0(vyv2400, vyv2390)) 214.33/146.06 new_sr10(Pos(vyv2400), Neg(vyv2390)) -> Neg(new_primMulNat0(vyv2400, vyv2390)) 214.33/146.06 new_sr10(Neg(vyv2400), Pos(vyv2390)) -> Neg(new_primMulNat0(vyv2400, vyv2390)) 214.33/146.06 new_quot(Pos(vyv2710), vyv273, vyv272) -> new_primQuotInt(vyv2710, new_gcd(vyv273, vyv272)) 214.33/146.06 new_quot(Neg(vyv2710), vyv273, vyv272) -> new_primQuotInt0(vyv2710, new_gcd(vyv273, vyv272)) 214.33/146.06 new_gcd(vyv273, vyv272) -> new_gcd2(new_esEs(vyv273), vyv273, vyv272) 214.33/146.06 new_primQuotInt0(vyv2710, Pos(Succ(vyv28800))) -> Neg(new_primDivNatS1(vyv2710, vyv28800)) 214.33/146.06 new_primQuotInt0(vyv2710, Neg(Zero)) -> new_error 214.33/146.06 new_primQuotInt0(vyv2710, Neg(Succ(vyv28800))) -> Pos(new_primDivNatS1(vyv2710, vyv28800)) 214.33/146.06 new_primQuotInt0(vyv2710, Pos(Zero)) -> new_error 214.33/146.06 new_error -> error([]) 214.33/146.06 new_primDivNatS1(Succ(Zero), Succ(vyv285000)) -> Zero 214.33/146.06 new_primDivNatS1(Succ(Succ(vyv271000)), Succ(vyv285000)) -> new_primDivNatS01(vyv271000, vyv285000, vyv271000, vyv285000) 214.33/146.06 new_primDivNatS1(Zero, vyv28500) -> Zero 214.33/146.06 new_primDivNatS1(Succ(Succ(vyv271000)), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS0(vyv271000), Zero)) 214.33/146.06 new_primDivNatS1(Succ(Zero), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS1, Zero)) 214.33/146.06 new_primMinusNatS1 -> Zero 214.33/146.06 new_primMinusNatS0(vyv271000) -> Succ(vyv271000) 214.33/146.06 new_primDivNatS01(vyv311, vyv312, Succ(vyv3130), Zero) -> new_primDivNatS02(vyv311, vyv312) 214.33/146.06 new_primDivNatS01(vyv311, vyv312, Zero, Succ(vyv3140)) -> Zero 214.33/146.06 new_primDivNatS01(vyv311, vyv312, Succ(vyv3130), Succ(vyv3140)) -> new_primDivNatS01(vyv311, vyv312, vyv3130, vyv3140) 214.33/146.06 new_primDivNatS01(vyv311, vyv312, Zero, Zero) -> new_primDivNatS02(vyv311, vyv312) 214.33/146.06 new_primDivNatS02(vyv311, vyv312) -> Succ(new_primDivNatS1(new_primMinusNatS2(vyv311, vyv312), Succ(vyv312))) 214.33/146.06 new_primMinusNatS2(Zero, Succ(vyv3120)) -> Zero 214.33/146.06 new_primMinusNatS2(Succ(vyv3110), Zero) -> Succ(vyv3110) 214.33/146.06 new_primMinusNatS2(Zero, Zero) -> Zero 214.33/146.06 new_primMinusNatS2(Succ(vyv3110), Succ(vyv3120)) -> new_primMinusNatS2(vyv3110, vyv3120) 214.33/146.06 new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) 214.33/146.06 new_esEs(Pos(Succ(vyv24300))) -> new_primEqInt(Pos(Succ(vyv24300))) 214.33/146.06 new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) 214.33/146.06 new_esEs(Neg(Succ(vyv24300))) -> new_primEqInt(Neg(Succ(vyv24300))) 214.33/146.06 new_gcd2(True, vyv273, vyv272) -> new_gcd1(new_esEs(vyv272), vyv273, vyv272) 214.33/146.06 new_gcd2(False, vyv273, vyv272) -> new_gcd0(vyv273, vyv272) 214.33/146.06 new_gcd0(vyv273, vyv272) -> new_gcd0Gcd'11(new_esEs(new_abs(vyv272)), vyv273, vyv272) 214.33/146.06 new_abs(Neg(Zero)) -> Neg(Zero) 214.33/146.06 new_abs(Neg(Succ(vyv27200))) -> Pos(Succ(vyv27200)) 214.33/146.06 new_abs(Pos(Succ(vyv27200))) -> Pos(Succ(vyv27200)) 214.33/146.06 new_abs(Pos(Zero)) -> Pos(Zero) 214.33/146.06 new_gcd0Gcd'11(True, vyv273, vyv272) -> new_abs(vyv273) 214.33/146.06 new_gcd0Gcd'11(False, vyv273, vyv272) -> new_gcd0Gcd'00(new_abs(vyv273), new_abs(vyv272)) 214.33/146.06 new_gcd0Gcd'10(False, vyv292, vyv293) -> new_gcd0Gcd'00(vyv292, new_rem(vyv293, vyv292)) 214.33/146.06 new_gcd0Gcd'00(vyv293, vyv292) -> new_gcd0Gcd'10(new_esEs(new_rem(vyv293, vyv292)), vyv292, vyv293) 214.33/146.06 new_rem(Pos(vyv2930), Neg(Zero)) -> new_error 214.33/146.06 new_rem(Neg(vyv2930), Pos(Zero)) -> new_error 214.33/146.06 new_rem(Pos(vyv2930), Neg(Succ(vyv29200))) -> Pos(new_primModNatS1(vyv2930, vyv29200)) 214.33/146.06 new_rem(Neg(vyv2930), Pos(Succ(vyv29200))) -> Neg(new_primModNatS1(vyv2930, vyv29200)) 214.33/146.06 new_rem(Pos(vyv2930), Pos(Succ(vyv29200))) -> Pos(new_primModNatS1(vyv2930, vyv29200)) 214.33/146.06 new_rem(Neg(vyv2930), Neg(Zero)) -> new_error 214.33/146.06 new_rem(Neg(vyv2930), Neg(Succ(vyv29200))) -> Neg(new_primModNatS1(vyv2930, vyv29200)) 214.33/146.06 new_rem(Pos(vyv2930), Pos(Zero)) -> new_error 214.33/146.06 new_gcd0Gcd'10(True, vyv292, vyv293) -> vyv292 214.33/146.06 new_primModNatS1(Succ(Zero), Succ(vyv292000)) -> Succ(Zero) 214.33/146.06 new_primModNatS1(Zero, vyv29200) -> Zero 214.33/146.06 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 214.33/146.06 new_primModNatS1(Succ(Succ(vyv293000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv293000), Zero) 214.33/146.06 new_primModNatS1(Succ(Succ(vyv293000)), Succ(vyv292000)) -> new_primModNatS01(vyv293000, vyv292000, vyv293000, vyv292000) 214.33/146.06 new_primModNatS01(vyv331, vyv332, Zero, Zero) -> new_primModNatS02(vyv331, vyv332) 214.33/146.06 new_primModNatS02(vyv331, vyv332) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv331), Succ(vyv332)), Succ(vyv332)) 214.33/146.06 new_primModNatS01(vyv331, vyv332, Succ(vyv3330), Zero) -> new_primModNatS02(vyv331, vyv332) 214.33/146.06 new_primModNatS01(vyv331, vyv332, Succ(vyv3330), Succ(vyv3340)) -> new_primModNatS01(vyv331, vyv332, vyv3330, vyv3340) 214.33/146.06 new_primModNatS01(vyv331, vyv332, Zero, Succ(vyv3340)) -> Succ(Succ(vyv331)) 214.33/146.06 new_gcd1(True, vyv273, vyv272) -> new_error 214.33/146.06 new_gcd1(False, vyv273, vyv272) -> new_gcd0(vyv273, vyv272) 214.33/146.06 new_primEqInt(Neg(Succ(vyv242000))) -> False 214.33/146.06 new_primEqInt(Pos(Zero)) -> True 214.33/146.06 new_primEqInt(Pos(Succ(vyv242000))) -> False 214.33/146.06 new_primEqInt(Neg(Zero)) -> True 214.33/146.06 new_primQuotInt(vyv2710, Pos(Succ(vyv28500))) -> Pos(new_primDivNatS1(vyv2710, vyv28500)) 214.33/146.06 new_primQuotInt(vyv2710, Neg(Zero)) -> new_error 214.33/146.06 new_primQuotInt(vyv2710, Pos(Zero)) -> new_error 214.33/146.06 new_primQuotInt(vyv2710, Neg(Succ(vyv28500))) -> Neg(new_primDivNatS1(vyv2710, vyv28500)) 214.33/146.06 new_primMulNat0(Zero, Succ(vyv23900)) -> Zero 214.33/146.06 new_primMulNat0(Succ(vyv24000), Succ(vyv23900)) -> new_primPlusNat0(new_primMulNat0(vyv24000, Succ(vyv23900)), Succ(vyv23900)) 214.33/146.06 new_primMulNat0(Succ(vyv24000), Zero) -> Zero 214.33/146.06 new_primMulNat0(Zero, Zero) -> Zero 214.33/146.06 new_primPlusNat0(Succ(vyv4000), Succ(vyv6000)) -> Succ(Succ(new_primPlusNat0(vyv4000, vyv6000))) 214.33/146.06 new_primPlusNat0(Zero, Succ(vyv6000)) -> Succ(vyv6000) 214.33/146.06 new_primPlusNat0(Zero, Zero) -> Zero 214.33/146.06 new_primPlusNat0(Succ(vyv4000), Zero) -> Succ(vyv4000) 214.33/146.06 new_esEs1(Integer(vyv2700)) -> new_primEqInt(vyv2700) 214.33/146.06 new_sr1(vyv228, ty_Double) -> new_sr11(vyv228) 214.33/146.06 new_sr1(vyv228, ty_Float) -> new_sr12(vyv228) 214.33/146.06 new_sr1(vyv228, app(ty_Ratio, bg)) -> new_sr5(vyv228, bg) 214.33/146.06 new_sr1(vyv228, ty_Integer) -> new_sr6(vyv228) 214.33/146.06 new_sr1(vyv228, ty_Int) -> new_sr7(vyv228) 214.33/146.06 new_sr7(Pos(vyv1840)) -> Pos(new_primMulNat1(vyv1840)) 214.33/146.06 new_sr7(Neg(vyv1840)) -> Pos(new_primMulNat1(vyv1840)) 214.33/146.06 new_primMulNat1(Succ(vyv18400)) -> new_primPlusNat0(new_primMulNat2(vyv18400), Succ(vyv18400)) 214.33/146.06 new_primMulNat1(Zero) -> Zero 214.33/146.06 new_primMulNat2(Succ(vyv184000)) -> new_primPlusNat0(new_primMulNat3(vyv184000), Succ(Succ(vyv184000))) 214.33/146.06 new_primMulNat2(Zero) -> Zero 214.33/146.06 new_primMulNat3(Succ(vyv1840000)) -> new_primPlusNat0(new_primMulNat4(vyv1840000), Succ(Succ(Succ(vyv1840000)))) 214.33/146.06 new_primMulNat3(Zero) -> Zero 214.33/146.06 new_primMulNat4(Succ(vyv18400000)) -> new_primPlusNat0(new_primMulNat0(vyv18400000, Succ(Succ(Succ(Succ(vyv18400000))))), Succ(Succ(Succ(Succ(vyv18400000))))) 214.33/146.06 new_primMulNat4(Zero) -> Zero 214.33/146.06 new_sr6(vyv184) -> error([]) 214.33/146.06 new_sr5(:%(vyv1840, vyv1841), bd) -> new_reduce2Reduce1(vyv1840, vyv1840, vyv1841, vyv1841, new_esEs0(vyv1841, bd), bd) 214.33/146.06 new_esEs0(vyv1841, ty_Int) -> new_esEs(new_sr7(vyv1841)) 214.33/146.06 new_esEs0(vyv1841, ty_Integer) -> new_esEs1(new_sr6(vyv1841)) 214.33/146.06 new_sr12(vyv184) -> error([]) 214.33/146.06 new_sr11(vyv184) -> error([]) 214.33/146.06 anew_new_pr2F0G1(Succ(Succ(vyv23000))) -> new_new_pr2F0G1(vyv23000) 214.33/146.06 new_new_pr2F0G1(Succ(Succ(vyv23000))) -> new_new_pr2F0G1(vyv23000) 214.33/146.06 new_new_pr2F0G1(Zero) -> cons_new_pr2F0G1(Zero) 214.33/146.06 214.33/146.06 The set Q consists of the following terms: 214.33/146.06 214.33/146.06 new_sr13(x0, x1) 214.33/146.06 new_primDivNatS01(x0, x1, Zero, Zero) 214.33/146.06 new_gcd0Gcd'11(False, x0, x1) 214.33/146.06 new_primMulNat4(Zero) 214.33/146.06 new_gcd0Gcd'11(True, x0, x1) 214.33/146.06 new_sr2(x0, x1, ty_Float) 214.33/146.06 new_sr5(:%(x0, x1), x2) 214.33/146.06 new_primEqInt(Pos(Zero)) 214.33/146.06 new_sr2(x0, x1, ty_Double) 214.33/146.06 new_esEs(Pos(Succ(x0))) 214.33/146.06 new_primQuotInt0(x0, Neg(Zero)) 214.33/146.06 new_primMulNat3(Zero) 214.33/146.06 new_primModNatS02(x0, x1) 214.33/146.06 new_primDivNatS1(Succ(Zero), Zero) 214.33/146.06 new_primMinusNatS0(x0) 214.33/146.06 new_sr11(x0) 214.33/146.06 new_rem(Pos(x0), Neg(Succ(x1))) 214.33/146.06 new_rem(Neg(x0), Pos(Succ(x1))) 214.33/146.06 new_primMulNat0(Zero, Zero) 214.33/146.06 new_primPlusNat0(Succ(x0), Zero) 214.33/146.06 new_primMulNat0(Succ(x0), Zero) 214.33/146.06 new_primMulNat2(Zero) 214.33/146.06 new_primQuotInt(x0, Pos(Zero)) 214.33/146.06 new_primMulNat2(Succ(x0)) 214.33/146.06 new_primQuotInt(x0, Neg(Zero)) 214.33/146.06 new_rem(Neg(x0), Neg(Succ(x1))) 214.33/146.06 new_primMinusNatS2(Zero, Succ(x0)) 214.33/146.06 new_primMulNat3(Succ(x0)) 214.33/146.06 new_esEs1(Integer(x0)) 214.33/146.06 new_primQuotInt0(x0, Pos(Zero)) 214.33/146.06 new_gcd2(True, x0, x1) 214.33/146.06 new_quot1(x0, x1, x2, x3, ty_Int) 214.33/146.06 new_primDivNatS1(Zero, x0) 214.33/146.06 new_gcd(x0, x1) 214.33/146.06 new_gcd1(False, x0, x1) 214.33/146.06 new_esEs2(x0, x1, ty_Int) 214.33/146.06 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 214.33/146.06 new_sr1(x0, app(ty_Ratio, x1)) 214.33/146.06 new_sr1(x0, ty_Float) 214.33/146.06 new_primPlusNat0(Zero, Succ(x0)) 214.33/146.06 new_sr8(:%(x0, x1), :%(x2, x3), x4) 214.33/146.06 new_abs(Neg(Zero)) 214.33/146.06 new_primMinusNatS2(Succ(x0), Zero) 214.33/146.06 new_error 214.33/146.06 new_primModNatS1(Succ(Zero), Zero) 214.33/146.06 new_primMulNat4(Succ(x0)) 214.33/146.06 new_sr1(x0, ty_Integer) 214.33/146.06 new_primDivNatS02(x0, x1) 214.33/146.06 new_sr1(x0, ty_Int) 214.33/146.06 new_rem(Neg(x0), Neg(Zero)) 214.33/146.06 new_primEqInt(Neg(Zero)) 214.33/146.06 new_rem(Pos(x0), Pos(Succ(x1))) 214.33/146.06 new_abs(Pos(Succ(x0))) 214.33/146.06 new_primMulNat0(Succ(x0), Succ(x1)) 214.33/146.06 new_primMulNat0(Zero, Succ(x0)) 214.33/146.06 new_reduce2Reduce1(x0, x1, x2, x3, True, x4) 214.33/146.06 new_gcd0Gcd'10(False, x0, x1) 214.33/146.06 new_sr12(x0) 214.33/146.06 new_primDivNatS01(x0, x1, Zero, Succ(x2)) 214.33/146.06 new_sr10(Pos(x0), Pos(x1)) 214.33/146.06 new_primModNatS01(x0, x1, Zero, Succ(x2)) 214.33/146.06 new_primPlusNat0(Zero, Zero) 214.33/146.06 new_primQuotInt0(x0, Pos(Succ(x1))) 214.33/146.06 new_primModNatS01(x0, x1, Succ(x2), Zero) 214.33/146.06 new_primModNatS1(Succ(Succ(x0)), Zero) 214.33/146.06 new_rem(Pos(x0), Pos(Zero)) 214.33/146.06 new_quot(Pos(x0), x1, x2) 214.33/146.06 new_primMinusNatS2(Zero, Zero) 214.33/146.06 new_esEs0(x0, ty_Int) 214.33/146.06 new_esEs(Pos(Zero)) 214.33/146.06 new_quot(Neg(x0), x1, x2) 214.33/146.06 new_primDivNatS01(x0, x1, Succ(x2), Succ(x3)) 214.33/146.06 new_quot2(x0, x1, x2) 214.33/146.06 new_primEqInt(Neg(Succ(x0))) 214.33/146.06 new_sr10(Neg(x0), Neg(x1)) 214.33/146.06 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 214.33/146.06 new_sr9(x0, x1) 214.33/146.06 new_sr2(x0, x1, ty_Integer) 214.33/146.06 new_sr7(Neg(x0)) 214.33/146.06 new_sr1(x0, ty_Double) 214.33/146.06 new_primQuotInt0(x0, Neg(Succ(x1))) 214.33/146.06 new_rem(Pos(x0), Neg(Zero)) 214.33/146.06 new_rem(Neg(x0), Pos(Zero)) 214.33/146.06 new_gcd0Gcd'00(x0, x1) 214.33/146.06 new_primQuotInt(x0, Neg(Succ(x1))) 214.33/146.06 new_primMinusNatS2(Succ(x0), Succ(x1)) 214.33/146.06 new_abs(Pos(Zero)) 214.33/146.06 new_quot0(x0, x1, x2, x3, ty_Integer) 214.33/146.06 new_sr6(x0) 214.33/146.06 new_gcd2(False, x0, x1) 214.33/146.06 new_gcd1(True, x0, x1) 214.33/146.06 new_esEs2(x0, x1, ty_Integer) 214.33/146.06 new_primMinusNatS1 214.33/146.06 new_sr7(Pos(x0)) 214.33/146.06 new_gcd0Gcd'10(True, x0, x1) 214.33/146.06 new_primModNatS1(Zero, x0) 214.33/146.06 new_sr10(Pos(x0), Neg(x1)) 214.33/146.06 new_sr10(Neg(x0), Pos(x1)) 214.33/146.06 new_primDivNatS01(x0, x1, Succ(x2), Zero) 214.33/146.06 new_primDivNatS1(Succ(Succ(x0)), Succ(x1)) 214.33/146.06 new_primPlusNat0(Succ(x0), Succ(x1)) 214.33/146.06 new_primDivNatS1(Succ(Zero), Succ(x0)) 214.33/146.06 new_primQuotInt(x0, Pos(Succ(x1))) 214.33/146.06 new_sr2(x0, x1, app(ty_Ratio, x2)) 214.33/146.06 new_abs(Neg(Succ(x0))) 214.33/146.06 new_esEs0(x0, ty_Integer) 214.33/146.06 new_esEs(Neg(Succ(x0))) 214.33/146.06 new_primModNatS01(x0, x1, Zero, Zero) 214.33/146.06 new_gcd0(x0, x1) 214.33/146.06 new_primEqInt(Pos(Succ(x0))) 214.33/146.06 new_quot1(x0, x1, x2, x3, ty_Integer) 214.33/146.06 new_primDivNatS1(Succ(Succ(x0)), Zero) 214.33/146.06 new_primMulNat1(Succ(x0)) 214.33/146.06 new_sr14(x0, x1) 214.33/146.06 new_quot0(x0, x1, x2, x3, ty_Int) 214.33/146.06 new_sr2(x0, x1, ty_Int) 214.33/146.06 new_primModNatS1(Succ(Zero), Succ(x0)) 214.33/146.06 new_reduce2Reduce1(x0, x1, x2, x3, False, x4) 214.33/146.06 new_esEs(Neg(Zero)) 214.33/146.06 new_primMulNat1(Zero) 214.33/146.06 new_new_pr2F0G1(Succ(Succ(x0))) 214.33/146.06 anew_new_pr2F0G1(Succ(Succ(x0))) 214.33/146.06 new_new_pr2F0G1(Zero) 214.33/146.06 214.33/146.06 We have to consider all minimal (P,Q,R)-chains. 214.33/146.06 ---------------------------------------- 214.33/146.06 214.33/146.06 (917) 214.33/146.06 Obligation: 214.33/146.06 Q DP problem: 214.33/146.06 The TRS P consists of the following rules: 214.33/146.06 214.33/146.06 new_pr2F0G1(vyv227, vyv228, vyv229, Succ(Succ(vyv23000)), ba) -> new_pr2F0G1(vyv227, vyv228, vyv229, vyv23000, ba) 214.33/146.06 214.33/146.06 R is empty. 214.33/146.06 Q is empty. 214.33/146.06 We have to consider all minimal (P,Q,R)-chains. 214.33/146.06 ---------------------------------------- 214.33/146.06 214.33/146.06 (918) QDPSizeChangeProof (EQUIVALENT) 214.33/146.06 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. 214.33/146.06 214.33/146.06 From the DPs we obtained the following set of size-change graphs: 214.33/146.06 *new_pr2F0G1(vyv227, vyv228, vyv229, Succ(Succ(vyv23000)), ba) -> new_pr2F0G1(vyv227, vyv228, vyv229, vyv23000, ba) 214.33/146.06 The graph contains the following edges 1 >= 1, 2 >= 2, 3 >= 3, 4 > 4, 5 >= 5 214.33/146.06 214.33/146.06 214.33/146.06 ---------------------------------------- 214.33/146.06 214.33/146.06 (919) 214.33/146.06 YES 214.33/146.06 214.33/146.06 ---------------------------------------- 214.33/146.06 214.33/146.06 (920) 214.33/146.06 Obligation: 214.33/146.06 Q DP problem: 214.33/146.06 The TRS P consists of the following rules: 214.33/146.06 214.33/146.06 new_primDivNatS(Succ(Succ(vyv271000)), Succ(vyv285000)) -> new_primDivNatS0(vyv271000, vyv285000, vyv271000, vyv285000) 214.33/146.06 new_primDivNatS0(vyv311, vyv312, Zero, Zero) -> new_primDivNatS00(vyv311, vyv312) 214.33/146.06 new_primDivNatS(Succ(Succ(vyv271000)), Zero) -> new_primDivNatS(new_primMinusNatS0(vyv271000), Zero) 214.33/146.06 new_primDivNatS0(vyv311, vyv312, Succ(vyv3130), Succ(vyv3140)) -> new_primDivNatS0(vyv311, vyv312, vyv3130, vyv3140) 214.33/146.06 new_primDivNatS0(vyv311, vyv312, Succ(vyv3130), Zero) -> new_primDivNatS(new_primMinusNatS2(vyv311, vyv312), Succ(vyv312)) 214.33/146.06 new_primDivNatS00(vyv311, vyv312) -> new_primDivNatS(new_primMinusNatS2(vyv311, vyv312), Succ(vyv312)) 214.33/146.06 new_primDivNatS(Succ(Zero), Zero) -> new_primDivNatS(new_primMinusNatS1, Zero) 214.33/146.06 214.33/146.06 The TRS R consists of the following rules: 214.33/146.06 214.33/146.06 new_primMinusNatS1 -> Zero 214.33/146.06 new_primMinusNatS2(Succ(vyv3110), Zero) -> Succ(vyv3110) 214.33/146.06 new_primMinusNatS2(Zero, Zero) -> Zero 214.33/146.06 new_primMinusNatS2(Succ(vyv3110), Succ(vyv3120)) -> new_primMinusNatS2(vyv3110, vyv3120) 214.33/146.06 new_primMinusNatS2(Zero, Succ(vyv3120)) -> Zero 214.33/146.06 new_primMinusNatS0(vyv271000) -> Succ(vyv271000) 214.33/146.06 214.33/146.06 The set Q consists of the following terms: 214.33/146.06 214.33/146.06 new_primMinusNatS0(x0) 214.33/146.06 new_primMinusNatS2(Zero, Succ(x0)) 214.33/146.06 new_primMinusNatS2(Zero, Zero) 214.33/146.06 new_primMinusNatS2(Succ(x0), Succ(x1)) 214.33/146.06 new_primMinusNatS1 214.33/146.06 new_primMinusNatS2(Succ(x0), Zero) 214.33/146.06 214.33/146.06 We have to consider all minimal (P,Q,R)-chains. 214.33/146.06 ---------------------------------------- 214.33/146.06 214.33/146.06 (921) DependencyGraphProof (EQUIVALENT) 214.33/146.06 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 2 SCCs with 1 less node. 214.33/146.06 ---------------------------------------- 214.33/146.06 214.33/146.06 (922) 214.33/146.06 Complex Obligation (AND) 214.33/146.06 214.33/146.06 ---------------------------------------- 214.33/146.06 214.33/146.06 (923) 214.33/146.06 Obligation: 214.33/146.06 Q DP problem: 214.33/146.06 The TRS P consists of the following rules: 214.33/146.06 214.33/146.06 new_primDivNatS(Succ(Succ(vyv271000)), Zero) -> new_primDivNatS(new_primMinusNatS0(vyv271000), Zero) 214.33/146.06 214.33/146.06 The TRS R consists of the following rules: 214.33/146.06 214.33/146.06 new_primMinusNatS1 -> Zero 214.33/146.06 new_primMinusNatS2(Succ(vyv3110), Zero) -> Succ(vyv3110) 214.33/146.06 new_primMinusNatS2(Zero, Zero) -> Zero 214.33/146.06 new_primMinusNatS2(Succ(vyv3110), Succ(vyv3120)) -> new_primMinusNatS2(vyv3110, vyv3120) 214.33/146.06 new_primMinusNatS2(Zero, Succ(vyv3120)) -> Zero 214.33/146.06 new_primMinusNatS0(vyv271000) -> Succ(vyv271000) 214.33/146.06 214.33/146.06 The set Q consists of the following terms: 214.33/146.06 214.33/146.06 new_primMinusNatS0(x0) 214.33/146.06 new_primMinusNatS2(Zero, Succ(x0)) 214.33/146.06 new_primMinusNatS2(Zero, Zero) 214.33/146.06 new_primMinusNatS2(Succ(x0), Succ(x1)) 214.33/146.06 new_primMinusNatS1 214.33/146.06 new_primMinusNatS2(Succ(x0), Zero) 214.33/146.06 214.33/146.06 We have to consider all minimal (P,Q,R)-chains. 214.33/146.06 ---------------------------------------- 214.33/146.06 214.33/146.06 (924) MRRProof (EQUIVALENT) 214.33/146.06 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. 214.33/146.06 214.33/146.06 Strictly oriented dependency pairs: 214.33/146.06 214.33/146.06 new_primDivNatS(Succ(Succ(vyv271000)), Zero) -> new_primDivNatS(new_primMinusNatS0(vyv271000), Zero) 214.33/146.06 214.33/146.06 Strictly oriented rules of the TRS R: 214.33/146.06 214.33/146.06 new_primMinusNatS2(Succ(vyv3110), Zero) -> Succ(vyv3110) 214.33/146.06 new_primMinusNatS2(Zero, Zero) -> Zero 214.33/146.06 new_primMinusNatS2(Succ(vyv3110), Succ(vyv3120)) -> new_primMinusNatS2(vyv3110, vyv3120) 214.33/146.06 new_primMinusNatS2(Zero, Succ(vyv3120)) -> Zero 214.33/146.06 214.33/146.06 Used ordering: Polynomial interpretation [POLO]: 214.33/146.06 214.33/146.06 POL(Succ(x_1)) = 1 + x_1 214.33/146.06 POL(Zero) = 2 214.33/146.06 POL(new_primDivNatS(x_1, x_2)) = x_1 + x_2 214.33/146.06 POL(new_primMinusNatS0(x_1)) = 1 + x_1 214.33/146.06 POL(new_primMinusNatS1) = 2 214.33/146.06 POL(new_primMinusNatS2(x_1, x_2)) = 1 + 2*x_1 + 2*x_2 214.33/146.06 214.33/146.06 214.33/146.06 ---------------------------------------- 214.33/146.06 214.33/146.06 (925) 214.33/146.06 Obligation: 214.33/146.06 Q DP problem: 214.33/146.06 P is empty. 214.33/146.06 The TRS R consists of the following rules: 214.33/146.06 214.33/146.06 new_primMinusNatS1 -> Zero 214.33/146.06 new_primMinusNatS0(vyv271000) -> Succ(vyv271000) 214.33/146.06 214.33/146.06 The set Q consists of the following terms: 214.33/146.06 214.33/146.06 new_primMinusNatS0(x0) 214.33/146.06 new_primMinusNatS2(Zero, Succ(x0)) 214.33/146.06 new_primMinusNatS2(Zero, Zero) 214.33/146.06 new_primMinusNatS2(Succ(x0), Succ(x1)) 214.33/146.06 new_primMinusNatS1 214.33/146.06 new_primMinusNatS2(Succ(x0), Zero) 214.33/146.06 214.33/146.06 We have to consider all minimal (P,Q,R)-chains. 214.33/146.06 ---------------------------------------- 214.33/146.06 214.33/146.06 (926) PisEmptyProof (EQUIVALENT) 214.33/146.06 The TRS P is empty. Hence, there is no (P,Q,R) chain. 214.33/146.06 ---------------------------------------- 214.33/146.06 214.33/146.06 (927) 214.33/146.06 YES 214.33/146.06 214.33/146.06 ---------------------------------------- 214.33/146.06 214.33/146.06 (928) 214.33/146.06 Obligation: 214.33/146.06 Q DP problem: 214.33/146.06 The TRS P consists of the following rules: 214.33/146.06 214.33/146.06 new_primDivNatS0(vyv311, vyv312, Zero, Zero) -> new_primDivNatS00(vyv311, vyv312) 214.33/146.06 new_primDivNatS00(vyv311, vyv312) -> new_primDivNatS(new_primMinusNatS2(vyv311, vyv312), Succ(vyv312)) 214.33/146.06 new_primDivNatS(Succ(Succ(vyv271000)), Succ(vyv285000)) -> new_primDivNatS0(vyv271000, vyv285000, vyv271000, vyv285000) 214.33/146.06 new_primDivNatS0(vyv311, vyv312, Succ(vyv3130), Succ(vyv3140)) -> new_primDivNatS0(vyv311, vyv312, vyv3130, vyv3140) 214.33/146.06 new_primDivNatS0(vyv311, vyv312, Succ(vyv3130), Zero) -> new_primDivNatS(new_primMinusNatS2(vyv311, vyv312), Succ(vyv312)) 214.33/146.06 214.33/146.06 The TRS R consists of the following rules: 214.33/146.06 214.33/146.06 new_primMinusNatS1 -> Zero 214.33/146.06 new_primMinusNatS2(Succ(vyv3110), Zero) -> Succ(vyv3110) 214.33/146.06 new_primMinusNatS2(Zero, Zero) -> Zero 214.33/146.06 new_primMinusNatS2(Succ(vyv3110), Succ(vyv3120)) -> new_primMinusNatS2(vyv3110, vyv3120) 214.33/146.06 new_primMinusNatS2(Zero, Succ(vyv3120)) -> Zero 214.33/146.06 new_primMinusNatS0(vyv271000) -> Succ(vyv271000) 214.33/146.06 214.33/146.06 The set Q consists of the following terms: 214.33/146.06 214.33/146.06 new_primMinusNatS0(x0) 214.33/146.06 new_primMinusNatS2(Zero, Succ(x0)) 214.33/146.06 new_primMinusNatS2(Zero, Zero) 214.33/146.06 new_primMinusNatS2(Succ(x0), Succ(x1)) 214.33/146.06 new_primMinusNatS1 214.33/146.06 new_primMinusNatS2(Succ(x0), Zero) 214.33/146.06 214.33/146.06 We have to consider all minimal (P,Q,R)-chains. 214.33/146.06 ---------------------------------------- 214.33/146.06 214.33/146.06 (929) QDPSizeChangeProof (EQUIVALENT) 214.33/146.06 We used the following order together with the size-change analysis [AAECC05] to show that there are no infinite chains for this DP problem. 214.33/146.06 214.33/146.06 Order:Polynomial interpretation [POLO]: 214.33/146.06 214.33/146.06 POL(Succ(x_1)) = 1 + x_1 214.33/146.06 POL(Zero) = 1 214.33/146.06 POL(new_primMinusNatS2(x_1, x_2)) = x_1 214.33/146.06 214.33/146.06 214.33/146.06 214.33/146.06 214.33/146.06 From the DPs we obtained the following set of size-change graphs: 214.33/146.06 *new_primDivNatS00(vyv311, vyv312) -> new_primDivNatS(new_primMinusNatS2(vyv311, vyv312), Succ(vyv312)) (allowed arguments on rhs = {1, 2}) 214.33/146.06 The graph contains the following edges 1 >= 1 214.33/146.06 214.33/146.06 214.33/146.06 *new_primDivNatS(Succ(Succ(vyv271000)), Succ(vyv285000)) -> new_primDivNatS0(vyv271000, vyv285000, vyv271000, vyv285000) (allowed arguments on rhs = {1, 2, 3, 4}) 214.33/146.06 The graph contains the following edges 1 > 1, 2 > 2, 1 > 3, 2 > 4 214.33/146.06 214.33/146.06 214.33/146.06 *new_primDivNatS0(vyv311, vyv312, Succ(vyv3130), Succ(vyv3140)) -> new_primDivNatS0(vyv311, vyv312, vyv3130, vyv3140) (allowed arguments on rhs = {1, 2, 3, 4}) 214.33/146.06 The graph contains the following edges 1 >= 1, 2 >= 2, 3 > 3, 4 > 4 214.33/146.06 214.33/146.06 214.33/146.06 *new_primDivNatS0(vyv311, vyv312, Zero, Zero) -> new_primDivNatS00(vyv311, vyv312) (allowed arguments on rhs = {1, 2}) 214.33/146.06 The graph contains the following edges 1 >= 1, 2 >= 2 214.33/146.06 214.33/146.06 214.33/146.06 *new_primDivNatS0(vyv311, vyv312, Succ(vyv3130), Zero) -> new_primDivNatS(new_primMinusNatS2(vyv311, vyv312), Succ(vyv312)) (allowed arguments on rhs = {1, 2}) 214.33/146.06 The graph contains the following edges 1 >= 1 214.33/146.06 214.33/146.06 214.33/146.06 214.33/146.06 We oriented the following set of usable rules [AAECC05,FROCOS05]. 214.33/146.06 214.33/146.06 new_primMinusNatS2(Zero, Zero) -> Zero 214.33/146.06 new_primMinusNatS2(Zero, Succ(vyv3120)) -> Zero 214.33/146.06 new_primMinusNatS2(Succ(vyv3110), Zero) -> Succ(vyv3110) 214.33/146.06 new_primMinusNatS2(Succ(vyv3110), Succ(vyv3120)) -> new_primMinusNatS2(vyv3110, vyv3120) 214.33/146.06 214.33/146.06 ---------------------------------------- 214.33/146.06 214.33/146.06 (930) 214.33/146.06 YES 214.33/146.06 214.33/146.06 ---------------------------------------- 214.33/146.06 214.33/146.06 (931) 214.33/146.06 Obligation: 214.33/146.06 Q DP problem: 214.33/146.06 The TRS P consists of the following rules: 214.33/146.06 214.33/146.06 new_pr2F31(Succ(vyv4000), Succ(vyv6000), vyv3) -> new_pr2F31(vyv4000, vyv6000, vyv3) 214.33/146.06 214.33/146.06 R is empty. 214.33/146.06 Q is empty. 214.33/146.06 We have to consider all minimal (P,Q,R)-chains. 214.33/146.06 ---------------------------------------- 214.33/146.06 214.33/146.06 (932) QDPSizeChangeProof (EQUIVALENT) 214.33/146.06 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. 214.33/146.06 214.33/146.06 From the DPs we obtained the following set of size-change graphs: 214.33/146.06 *new_pr2F31(Succ(vyv4000), Succ(vyv6000), vyv3) -> new_pr2F31(vyv4000, vyv6000, vyv3) 214.33/146.06 The graph contains the following edges 1 > 1, 2 > 2, 3 >= 3 214.33/146.06 214.33/146.06 214.33/146.06 ---------------------------------------- 214.33/146.06 214.33/146.06 (933) 214.33/146.06 YES 214.33/146.06 214.33/146.06 ---------------------------------------- 214.33/146.06 214.33/146.06 (934) 214.33/146.06 Obligation: 214.33/146.06 Q DP problem: 214.33/146.06 The TRS P consists of the following rules: 214.33/146.06 214.33/146.06 new_primMulNat(Succ(vyv24000), Succ(vyv23900)) -> new_primMulNat(vyv24000, Succ(vyv23900)) 214.33/146.06 214.33/146.06 R is empty. 214.33/146.06 Q is empty. 214.33/146.06 We have to consider all minimal (P,Q,R)-chains. 214.33/146.06 ---------------------------------------- 214.33/146.06 214.33/146.06 (935) QDPSizeChangeProof (EQUIVALENT) 214.33/146.06 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. 214.33/146.06 214.33/146.06 From the DPs we obtained the following set of size-change graphs: 214.33/146.06 *new_primMulNat(Succ(vyv24000), Succ(vyv23900)) -> new_primMulNat(vyv24000, Succ(vyv23900)) 214.33/146.06 The graph contains the following edges 1 > 1, 2 >= 2 214.33/146.06 214.33/146.06 214.33/146.06 ---------------------------------------- 214.33/146.06 214.33/146.06 (936) 214.33/146.06 YES 214.33/146.06 214.33/146.06 ---------------------------------------- 214.33/146.06 214.33/146.06 (937) 214.33/146.06 Obligation: 214.33/146.06 Q DP problem: 214.33/146.06 The TRS P consists of the following rules: 214.33/146.06 214.33/146.06 new_primMinusNatS(Succ(vyv3110), Succ(vyv3120)) -> new_primMinusNatS(vyv3110, vyv3120) 214.33/146.07 214.33/146.07 R is empty. 214.33/146.07 Q is empty. 214.33/146.07 We have to consider all minimal (P,Q,R)-chains. 214.33/146.07 ---------------------------------------- 214.33/146.07 214.33/146.07 (938) QDPSizeChangeProof (EQUIVALENT) 214.33/146.07 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. 214.33/146.07 214.33/146.07 From the DPs we obtained the following set of size-change graphs: 214.33/146.07 *new_primMinusNatS(Succ(vyv3110), Succ(vyv3120)) -> new_primMinusNatS(vyv3110, vyv3120) 214.33/146.07 The graph contains the following edges 1 > 1, 2 > 2 214.33/146.07 214.33/146.07 214.33/146.07 ---------------------------------------- 214.33/146.07 214.33/146.07 (939) 214.33/146.07 YES 214.33/146.07 214.33/146.07 ---------------------------------------- 214.33/146.07 214.33/146.07 (940) 214.33/146.07 Obligation: 214.33/146.07 Q DP problem: 214.33/146.07 The TRS P consists of the following rules: 214.33/146.07 214.33/146.07 new_primMinusNat(Succ(vyv2290), Succ(vyv245000)) -> new_primMinusNat(vyv2290, vyv245000) 214.33/146.07 214.33/146.07 R is empty. 214.33/146.07 Q is empty. 214.33/146.07 We have to consider all minimal (P,Q,R)-chains. 214.33/146.07 ---------------------------------------- 214.33/146.07 214.33/146.07 (941) QDPSizeChangeProof (EQUIVALENT) 214.33/146.07 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. 214.33/146.07 214.33/146.07 From the DPs we obtained the following set of size-change graphs: 214.33/146.07 *new_primMinusNat(Succ(vyv2290), Succ(vyv245000)) -> new_primMinusNat(vyv2290, vyv245000) 214.33/146.07 The graph contains the following edges 1 > 1, 2 > 2 214.33/146.07 214.33/146.07 214.33/146.07 ---------------------------------------- 214.33/146.07 214.33/146.07 (942) 214.33/146.07 YES 214.33/146.07 214.33/146.07 ---------------------------------------- 214.33/146.07 214.33/146.07 (943) 214.33/146.07 Obligation: 214.33/146.07 Q DP problem: 214.33/146.07 The TRS P consists of the following rules: 214.33/146.07 214.33/146.07 new_primPlusNat(Succ(vyv4000), Succ(vyv6000)) -> new_primPlusNat(vyv4000, vyv6000) 214.33/146.07 214.33/146.07 R is empty. 214.33/146.07 Q is empty. 214.33/146.07 We have to consider all minimal (P,Q,R)-chains. 214.33/146.07 ---------------------------------------- 214.33/146.07 214.33/146.07 (944) QDPSizeChangeProof (EQUIVALENT) 214.33/146.07 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. 214.33/146.07 214.33/146.07 From the DPs we obtained the following set of size-change graphs: 214.33/146.07 *new_primPlusNat(Succ(vyv4000), Succ(vyv6000)) -> new_primPlusNat(vyv4000, vyv6000) 214.33/146.07 The graph contains the following edges 1 > 1, 2 > 2 214.33/146.07 214.33/146.07 214.33/146.07 ---------------------------------------- 214.33/146.07 214.33/146.07 (945) 214.33/146.07 YES 214.33/146.07 214.33/146.07 ---------------------------------------- 214.33/146.07 214.33/146.07 (946) Narrow (COMPLETE) 214.33/146.07 Haskell To QDPs 214.33/146.07 214.33/146.07 digraph dp_graph { 214.33/146.07 node [outthreshold=100, inthreshold=100];1[label="(^^)",fontsize=16,color="grey",shape="box"];1 -> 3[label="",style="dashed", color="grey", weight=3]; 214.33/146.07 3[label="(^^) vyv3",fontsize=16,color="grey",shape="box"];3 -> 4[label="",style="dashed", color="grey", weight=3]; 214.33/146.07 4[label="(^^) vyv3 vyv4",fontsize=16,color="black",shape="triangle"];4 -> 5[label="",style="solid", color="black", weight=3]; 214.33/146.07 5[label="prPr0 vyv3 vyv4 (vyv4 >= fromInt (Pos Zero))",fontsize=16,color="black",shape="box"];5 -> 6[label="",style="solid", color="black", weight=3]; 214.33/146.07 6[label="prPr0 vyv3 vyv4 (compare vyv4 (fromInt (Pos Zero)) /= LT)",fontsize=16,color="black",shape="box"];6 -> 7[label="",style="solid", color="black", weight=3]; 214.33/146.07 7[label="prPr0 vyv3 vyv4 (not (compare vyv4 (fromInt (Pos Zero)) == LT))",fontsize=16,color="black",shape="box"];7 -> 8[label="",style="solid", color="black", weight=3]; 214.33/146.07 8[label="prPr0 vyv3 vyv4 (not (primCmpInt vyv4 (fromInt (Pos Zero)) == LT))",fontsize=16,color="burlywood",shape="box"];4445[label="vyv4/Pos vyv40",fontsize=10,color="white",style="solid",shape="box"];8 -> 4445[label="",style="solid", color="burlywood", weight=9]; 214.33/146.07 4445 -> 9[label="",style="solid", color="burlywood", weight=3]; 214.33/146.07 4446[label="vyv4/Neg vyv40",fontsize=10,color="white",style="solid",shape="box"];8 -> 4446[label="",style="solid", color="burlywood", weight=9]; 214.33/146.07 4446 -> 10[label="",style="solid", color="burlywood", weight=3]; 214.33/146.07 9[label="prPr0 vyv3 (Pos vyv40) (not (primCmpInt (Pos vyv40) (fromInt (Pos Zero)) == LT))",fontsize=16,color="burlywood",shape="box"];4447[label="vyv40/Succ vyv400",fontsize=10,color="white",style="solid",shape="box"];9 -> 4447[label="",style="solid", color="burlywood", weight=9]; 214.33/146.07 4447 -> 11[label="",style="solid", color="burlywood", weight=3]; 214.33/146.07 4448[label="vyv40/Zero",fontsize=10,color="white",style="solid",shape="box"];9 -> 4448[label="",style="solid", color="burlywood", weight=9]; 214.33/146.07 4448 -> 12[label="",style="solid", color="burlywood", weight=3]; 214.33/146.07 10[label="prPr0 vyv3 (Neg vyv40) (not (primCmpInt (Neg vyv40) (fromInt (Pos Zero)) == LT))",fontsize=16,color="burlywood",shape="box"];4449[label="vyv40/Succ vyv400",fontsize=10,color="white",style="solid",shape="box"];10 -> 4449[label="",style="solid", color="burlywood", weight=9]; 214.33/146.07 4449 -> 13[label="",style="solid", color="burlywood", weight=3]; 214.33/146.07 4450[label="vyv40/Zero",fontsize=10,color="white",style="solid",shape="box"];10 -> 4450[label="",style="solid", color="burlywood", weight=9]; 214.33/146.07 4450 -> 14[label="",style="solid", color="burlywood", weight=3]; 214.33/146.07 11[label="prPr0 vyv3 (Pos (Succ vyv400)) (not (primCmpInt (Pos (Succ vyv400)) (fromInt (Pos Zero)) == LT))",fontsize=16,color="black",shape="box"];11 -> 15[label="",style="solid", color="black", weight=3]; 214.33/146.07 12[label="prPr0 vyv3 (Pos Zero) (not (primCmpInt (Pos Zero) (fromInt (Pos Zero)) == LT))",fontsize=16,color="black",shape="box"];12 -> 16[label="",style="solid", color="black", weight=3]; 214.33/146.07 13[label="prPr0 vyv3 (Neg (Succ vyv400)) (not (primCmpInt (Neg (Succ vyv400)) (fromInt (Pos Zero)) == LT))",fontsize=16,color="black",shape="box"];13 -> 17[label="",style="solid", color="black", weight=3]; 214.33/146.07 14[label="prPr0 vyv3 (Neg Zero) (not (primCmpInt (Neg Zero) (fromInt (Pos Zero)) == LT))",fontsize=16,color="black",shape="box"];14 -> 18[label="",style="solid", color="black", weight=3]; 214.33/146.07 15[label="prPr0 vyv3 (Pos (Succ vyv400)) (not (primCmpInt (Pos (Succ vyv400)) (Pos Zero) == LT))",fontsize=16,color="black",shape="box"];15 -> 19[label="",style="solid", color="black", weight=3]; 214.33/146.07 16[label="prPr0 vyv3 (Pos Zero) (not (primCmpInt (Pos Zero) (Pos Zero) == LT))",fontsize=16,color="black",shape="box"];16 -> 20[label="",style="solid", color="black", weight=3]; 214.33/146.07 17[label="prPr0 vyv3 (Neg (Succ vyv400)) (not (primCmpInt (Neg (Succ vyv400)) (Pos Zero) == LT))",fontsize=16,color="black",shape="box"];17 -> 21[label="",style="solid", color="black", weight=3]; 214.33/146.07 18[label="prPr0 vyv3 (Neg Zero) (not (primCmpInt (Neg Zero) (Pos Zero) == LT))",fontsize=16,color="black",shape="box"];18 -> 22[label="",style="solid", color="black", weight=3]; 214.33/146.07 19[label="prPr0 vyv3 (Pos (Succ vyv400)) (not (primCmpNat (Succ vyv400) Zero == LT))",fontsize=16,color="black",shape="box"];19 -> 23[label="",style="solid", color="black", weight=3]; 214.33/146.07 20[label="prPr0 vyv3 (Pos Zero) (not (EQ == LT))",fontsize=16,color="black",shape="box"];20 -> 24[label="",style="solid", color="black", weight=3]; 214.33/146.07 21[label="prPr0 vyv3 (Neg (Succ vyv400)) (not (LT == LT))",fontsize=16,color="black",shape="box"];21 -> 25[label="",style="solid", color="black", weight=3]; 214.33/146.07 22[label="prPr0 vyv3 (Neg Zero) (not (EQ == LT))",fontsize=16,color="black",shape="box"];22 -> 26[label="",style="solid", color="black", weight=3]; 214.33/146.07 23[label="prPr0 vyv3 (Pos (Succ vyv400)) (not (GT == LT))",fontsize=16,color="black",shape="box"];23 -> 27[label="",style="solid", color="black", weight=3]; 214.33/146.07 24[label="prPr0 vyv3 (Pos Zero) (not False)",fontsize=16,color="black",shape="box"];24 -> 28[label="",style="solid", color="black", weight=3]; 214.33/146.07 25[label="prPr0 vyv3 (Neg (Succ vyv400)) (not True)",fontsize=16,color="black",shape="box"];25 -> 29[label="",style="solid", color="black", weight=3]; 214.33/146.07 26[label="prPr0 vyv3 (Neg Zero) (not False)",fontsize=16,color="black",shape="box"];26 -> 30[label="",style="solid", color="black", weight=3]; 214.33/146.07 27[label="prPr0 vyv3 (Pos (Succ vyv400)) (not False)",fontsize=16,color="black",shape="box"];27 -> 31[label="",style="solid", color="black", weight=3]; 214.33/146.07 28[label="prPr0 vyv3 (Pos Zero) True",fontsize=16,color="black",shape="box"];28 -> 32[label="",style="solid", color="black", weight=3]; 214.33/146.07 29[label="prPr0 vyv3 (Neg (Succ vyv400)) False",fontsize=16,color="black",shape="box"];29 -> 33[label="",style="solid", color="black", weight=3]; 214.33/146.07 30[label="prPr0 vyv3 (Neg Zero) True",fontsize=16,color="black",shape="box"];30 -> 34[label="",style="solid", color="black", weight=3]; 214.33/146.07 31[label="prPr0 vyv3 (Pos (Succ vyv400)) True",fontsize=16,color="black",shape="box"];31 -> 35[label="",style="solid", color="black", weight=3]; 214.33/146.07 32[label="vyv3 ^ Pos Zero",fontsize=16,color="black",shape="box"];32 -> 36[label="",style="solid", color="black", weight=3]; 214.33/146.07 33 -> 57[label="",style="dashed", color="red", weight=0]; 214.33/146.07 33[label="recip (vyv3 ^ (`negate` Neg (Succ vyv400)))",fontsize=16,color="magenta"];33 -> 58[label="",style="dashed", color="magenta", weight=3]; 214.33/146.07 34[label="vyv3 ^ Neg Zero",fontsize=16,color="black",shape="box"];34 -> 38[label="",style="solid", color="black", weight=3]; 214.33/146.07 35[label="vyv3 ^ Pos (Succ vyv400)",fontsize=16,color="black",shape="box"];35 -> 39[label="",style="solid", color="black", weight=3]; 214.33/146.07 36[label="pr4 vyv3 (Pos Zero)",fontsize=16,color="black",shape="box"];36 -> 40[label="",style="solid", color="black", weight=3]; 214.33/146.07 58[label="vyv3 ^ (`negate` Neg (Succ vyv400))",fontsize=16,color="black",shape="box"];58 -> 64[label="",style="solid", color="black", weight=3]; 214.33/146.07 57[label="recip vyv5",fontsize=16,color="burlywood",shape="triangle"];4451[label="vyv5/vyv50 :% vyv51",fontsize=10,color="white",style="solid",shape="box"];57 -> 4451[label="",style="solid", color="burlywood", weight=9]; 214.33/146.07 4451 -> 65[label="",style="solid", color="burlywood", weight=3]; 214.33/146.07 38[label="pr4 vyv3 (Neg Zero)",fontsize=16,color="black",shape="box"];38 -> 42[label="",style="solid", color="black", weight=3]; 214.33/146.07 39[label="pr4 vyv3 (Pos (Succ vyv400))",fontsize=16,color="black",shape="box"];39 -> 43[label="",style="solid", color="black", weight=3]; 214.33/146.07 40[label="pr3 (Pos Zero == fromInt (Pos Zero)) vyv3 (Pos Zero)",fontsize=16,color="black",shape="box"];40 -> 44[label="",style="solid", color="black", weight=3]; 214.33/146.07 64[label="pr4 vyv3 (`negate` Neg (Succ vyv400))",fontsize=16,color="black",shape="box"];64 -> 69[label="",style="solid", color="black", weight=3]; 214.33/146.07 65[label="recip (vyv50 :% vyv51)",fontsize=16,color="black",shape="box"];65 -> 70[label="",style="solid", color="black", weight=3]; 214.33/146.07 42[label="pr3 (Neg Zero == fromInt (Pos Zero)) vyv3 (Neg Zero)",fontsize=16,color="black",shape="box"];42 -> 46[label="",style="solid", color="black", weight=3]; 214.33/146.07 43[label="pr3 (Pos (Succ vyv400) == fromInt (Pos Zero)) vyv3 (Pos (Succ vyv400))",fontsize=16,color="black",shape="box"];43 -> 47[label="",style="solid", color="black", weight=3]; 214.33/146.07 44[label="pr3 (primEqInt (Pos Zero) (fromInt (Pos Zero))) vyv3 (Pos Zero)",fontsize=16,color="black",shape="box"];44 -> 48[label="",style="solid", color="black", weight=3]; 214.33/146.07 69[label="pr3 (`negate` Neg (Succ vyv400) == fromInt (Pos Zero)) vyv3 (`negate` Neg (Succ vyv400))",fontsize=16,color="black",shape="box"];69 -> 73[label="",style="solid", color="black", weight=3]; 214.33/146.07 70[label="vyv51 :% vyv50",fontsize=16,color="green",shape="box"];46[label="pr3 (primEqInt (Neg Zero) (fromInt (Pos Zero))) vyv3 (Neg Zero)",fontsize=16,color="black",shape="box"];46 -> 50[label="",style="solid", color="black", weight=3]; 214.33/146.07 47[label="pr3 (primEqInt (Pos (Succ vyv400)) (fromInt (Pos Zero))) vyv3 (Pos (Succ vyv400))",fontsize=16,color="black",shape="triangle"];47 -> 51[label="",style="solid", color="black", weight=3]; 214.33/146.07 48[label="pr3 (primEqInt (Pos Zero) (Pos Zero)) vyv3 (Pos Zero)",fontsize=16,color="black",shape="box"];48 -> 52[label="",style="solid", color="black", weight=3]; 214.33/146.07 73[label="pr3 (primEqInt (`negate` Neg (Succ vyv400)) (fromInt (Pos Zero))) vyv3 (`negate` Neg (Succ vyv400))",fontsize=16,color="black",shape="box"];73 -> 77[label="",style="solid", color="black", weight=3]; 214.33/146.07 50[label="pr3 (primEqInt (Neg Zero) (Pos Zero)) vyv3 (Neg Zero)",fontsize=16,color="black",shape="box"];50 -> 54[label="",style="solid", color="black", weight=3]; 214.33/146.07 51[label="pr3 (primEqInt (Pos (Succ vyv400)) (Pos Zero)) vyv3 (Pos (Succ vyv400))",fontsize=16,color="black",shape="box"];51 -> 55[label="",style="solid", color="black", weight=3]; 214.33/146.07 52[label="pr3 True vyv3 (Pos Zero)",fontsize=16,color="black",shape="box"];52 -> 56[label="",style="solid", color="black", weight=3]; 214.33/146.07 77[label="pr3 (primEqInt (primNegInt (Neg (Succ vyv400))) (fromInt (Pos Zero))) vyv3 (primNegInt (Neg (Succ vyv400)))",fontsize=16,color="black",shape="box"];77 -> 80[label="",style="solid", color="black", weight=3]; 214.33/146.07 54[label="pr3 True vyv3 (Neg Zero)",fontsize=16,color="black",shape="box"];54 -> 66[label="",style="solid", color="black", weight=3]; 214.33/146.07 55[label="pr3 False vyv3 (Pos (Succ vyv400))",fontsize=16,color="black",shape="box"];55 -> 67[label="",style="solid", color="black", weight=3]; 214.33/146.07 56[label="fromInt (Pos (Succ Zero))",fontsize=16,color="black",shape="triangle"];56 -> 68[label="",style="solid", color="black", weight=3]; 214.33/146.07 80 -> 47[label="",style="dashed", color="red", weight=0]; 214.33/146.07 80[label="pr3 (primEqInt (Pos (Succ vyv400)) (fromInt (Pos Zero))) vyv3 (Pos (Succ vyv400))",fontsize=16,color="magenta"];80 -> 82[label="",style="dashed", color="magenta", weight=3]; 214.33/146.07 66 -> 56[label="",style="dashed", color="red", weight=0]; 214.33/146.07 66[label="fromInt (Pos (Succ Zero))",fontsize=16,color="magenta"];67[label="pr2 vyv3 (Pos (Succ vyv400))",fontsize=16,color="black",shape="box"];67 -> 71[label="",style="solid", color="black", weight=3]; 214.33/146.07 68[label="intToRatio (Pos (Succ Zero))",fontsize=16,color="black",shape="box"];68 -> 72[label="",style="solid", color="black", weight=3]; 214.33/146.07 82[label="vyv400",fontsize=16,color="green",shape="box"];71[label="pr2Pr1 vyv3 (Pos (Succ vyv400)) (Pos (Succ vyv400) > fromInt (Pos Zero))",fontsize=16,color="black",shape="box"];71 -> 74[label="",style="solid", color="black", weight=3]; 214.33/146.07 72[label="fromInt (Pos (Succ Zero)) :% fromInt (Pos (Succ Zero))",fontsize=16,color="green",shape="box"];72 -> 75[label="",style="dashed", color="green", weight=3]; 214.33/146.07 72 -> 76[label="",style="dashed", color="green", weight=3]; 214.33/146.07 74[label="pr2Pr1 vyv3 (Pos (Succ vyv400)) (compare (Pos (Succ vyv400)) (fromInt (Pos Zero)) == GT)",fontsize=16,color="black",shape="box"];74 -> 78[label="",style="solid", color="black", weight=3]; 214.33/146.07 75[label="fromInt (Pos (Succ Zero))",fontsize=16,color="black",shape="triangle"];75 -> 79[label="",style="solid", color="black", weight=3]; 214.33/146.07 76 -> 75[label="",style="dashed", color="red", weight=0]; 214.33/146.07 76[label="fromInt (Pos (Succ Zero))",fontsize=16,color="magenta"];78[label="pr2Pr1 vyv3 (Pos (Succ vyv400)) (primCmpInt (Pos (Succ vyv400)) (fromInt (Pos Zero)) == GT)",fontsize=16,color="black",shape="box"];78 -> 81[label="",style="solid", color="black", weight=3]; 214.33/146.07 79[label="Pos (Succ Zero)",fontsize=16,color="green",shape="box"];81[label="pr2Pr1 vyv3 (Pos (Succ vyv400)) (primCmpInt (Pos (Succ vyv400)) (Pos Zero) == GT)",fontsize=16,color="black",shape="box"];81 -> 83[label="",style="solid", color="black", weight=3]; 214.33/146.07 83[label="pr2Pr1 vyv3 (Pos (Succ vyv400)) (primCmpNat (Succ vyv400) Zero == GT)",fontsize=16,color="black",shape="box"];83 -> 84[label="",style="solid", color="black", weight=3]; 214.33/146.07 84[label="pr2Pr1 vyv3 (Pos (Succ vyv400)) (GT == GT)",fontsize=16,color="black",shape="box"];84 -> 85[label="",style="solid", color="black", weight=3]; 214.33/146.07 85[label="pr2Pr1 vyv3 (Pos (Succ vyv400)) True",fontsize=16,color="black",shape="box"];85 -> 86[label="",style="solid", color="black", weight=3]; 214.33/146.07 86 -> 87[label="",style="dashed", color="red", weight=0]; 214.33/146.07 86[label="pr2F vyv3 (Pos (Succ vyv400) - fromInt (Pos (Succ Zero))) vyv3",fontsize=16,color="magenta"];86 -> 88[label="",style="dashed", color="magenta", weight=3]; 214.33/146.07 88 -> 75[label="",style="dashed", color="red", weight=0]; 214.33/146.07 88[label="fromInt (Pos (Succ Zero))",fontsize=16,color="magenta"];87[label="pr2F vyv3 (Pos (Succ vyv400) - vyv6) vyv3",fontsize=16,color="black",shape="triangle"];87 -> 89[label="",style="solid", color="black", weight=3]; 214.33/146.07 89[label="pr2F4 vyv3 (Pos (Succ vyv400) - vyv6) vyv3",fontsize=16,color="black",shape="box"];89 -> 90[label="",style="solid", color="black", weight=3]; 214.33/146.07 90[label="pr2F3 (Pos (Succ vyv400) - vyv6 == fromInt (Pos Zero)) vyv3 (Pos (Succ vyv400) - vyv6) vyv3",fontsize=16,color="black",shape="box"];90 -> 91[label="",style="solid", color="black", weight=3]; 214.33/146.07 91[label="pr2F3 (primEqInt (Pos (Succ vyv400) - vyv6) (fromInt (Pos Zero))) vyv3 (Pos (Succ vyv400) - vyv6) vyv3",fontsize=16,color="black",shape="box"];91 -> 92[label="",style="solid", color="black", weight=3]; 214.33/146.07 92[label="pr2F3 (primEqInt (primMinusInt (Pos (Succ vyv400)) vyv6) (fromInt (Pos Zero))) vyv3 (primMinusInt (Pos (Succ vyv400)) vyv6) vyv3",fontsize=16,color="burlywood",shape="box"];4452[label="vyv6/Pos vyv60",fontsize=10,color="white",style="solid",shape="box"];92 -> 4452[label="",style="solid", color="burlywood", weight=9]; 214.33/146.07 4452 -> 93[label="",style="solid", color="burlywood", weight=3]; 214.33/146.07 4453[label="vyv6/Neg vyv60",fontsize=10,color="white",style="solid",shape="box"];92 -> 4453[label="",style="solid", color="burlywood", weight=9]; 214.33/146.07 4453 -> 94[label="",style="solid", color="burlywood", weight=3]; 214.33/146.07 93[label="pr2F3 (primEqInt (primMinusInt (Pos (Succ vyv400)) (Pos vyv60)) (fromInt (Pos Zero))) vyv3 (primMinusInt (Pos (Succ vyv400)) (Pos vyv60)) vyv3",fontsize=16,color="black",shape="box"];93 -> 95[label="",style="solid", color="black", weight=3]; 214.33/146.07 94[label="pr2F3 (primEqInt (primMinusInt (Pos (Succ vyv400)) (Neg vyv60)) (fromInt (Pos Zero))) vyv3 (primMinusInt (Pos (Succ vyv400)) (Neg vyv60)) vyv3",fontsize=16,color="black",shape="box"];94 -> 96[label="",style="solid", color="black", weight=3]; 214.33/146.07 95[label="pr2F3 (primEqInt (primMinusNat (Succ vyv400) vyv60) (fromInt (Pos Zero))) vyv3 (primMinusNat (Succ vyv400) vyv60) vyv3",fontsize=16,color="burlywood",shape="box"];4454[label="vyv60/Succ vyv600",fontsize=10,color="white",style="solid",shape="box"];95 -> 4454[label="",style="solid", color="burlywood", weight=9]; 214.33/146.07 4454 -> 97[label="",style="solid", color="burlywood", weight=3]; 214.33/146.07 4455[label="vyv60/Zero",fontsize=10,color="white",style="solid",shape="box"];95 -> 4455[label="",style="solid", color="burlywood", weight=9]; 214.33/146.07 4455 -> 98[label="",style="solid", color="burlywood", weight=3]; 214.33/146.07 96[label="pr2F3 (primEqInt (Pos (primPlusNat (Succ vyv400) vyv60)) (fromInt (Pos Zero))) vyv3 (Pos (primPlusNat (Succ vyv400) vyv60)) vyv3",fontsize=16,color="burlywood",shape="box"];4456[label="vyv60/Succ vyv600",fontsize=10,color="white",style="solid",shape="box"];96 -> 4456[label="",style="solid", color="burlywood", weight=9]; 214.33/146.07 4456 -> 99[label="",style="solid", color="burlywood", weight=3]; 214.33/146.07 4457[label="vyv60/Zero",fontsize=10,color="white",style="solid",shape="box"];96 -> 4457[label="",style="solid", color="burlywood", weight=9]; 214.33/146.07 4457 -> 100[label="",style="solid", color="burlywood", weight=3]; 214.33/146.07 97[label="pr2F3 (primEqInt (primMinusNat (Succ vyv400) (Succ vyv600)) (fromInt (Pos Zero))) vyv3 (primMinusNat (Succ vyv400) (Succ vyv600)) vyv3",fontsize=16,color="black",shape="box"];97 -> 101[label="",style="solid", color="black", weight=3]; 214.33/146.07 98[label="pr2F3 (primEqInt (primMinusNat (Succ vyv400) Zero) (fromInt (Pos Zero))) vyv3 (primMinusNat (Succ vyv400) Zero) vyv3",fontsize=16,color="black",shape="box"];98 -> 102[label="",style="solid", color="black", weight=3]; 214.33/146.07 99[label="pr2F3 (primEqInt (Pos (primPlusNat (Succ vyv400) (Succ vyv600))) (fromInt (Pos Zero))) vyv3 (Pos (primPlusNat (Succ vyv400) (Succ vyv600))) vyv3",fontsize=16,color="black",shape="box"];99 -> 103[label="",style="solid", color="black", weight=3]; 214.33/146.07 100[label="pr2F3 (primEqInt (Pos (primPlusNat (Succ vyv400) Zero)) (fromInt (Pos Zero))) vyv3 (Pos (primPlusNat (Succ vyv400) Zero)) vyv3",fontsize=16,color="black",shape="box"];100 -> 104[label="",style="solid", color="black", weight=3]; 214.33/146.07 101[label="pr2F3 (primEqInt (primMinusNat vyv400 vyv600) (fromInt (Pos Zero))) vyv3 (primMinusNat vyv400 vyv600) vyv3",fontsize=16,color="burlywood",shape="triangle"];4458[label="vyv400/Succ vyv4000",fontsize=10,color="white",style="solid",shape="box"];101 -> 4458[label="",style="solid", color="burlywood", weight=9]; 214.33/146.07 4458 -> 105[label="",style="solid", color="burlywood", weight=3]; 214.33/146.07 4459[label="vyv400/Zero",fontsize=10,color="white",style="solid",shape="box"];101 -> 4459[label="",style="solid", color="burlywood", weight=9]; 214.33/146.07 4459 -> 106[label="",style="solid", color="burlywood", weight=3]; 214.33/146.07 102[label="pr2F3 (primEqInt (Pos (Succ vyv400)) (fromInt (Pos Zero))) vyv3 (Pos (Succ vyv400)) vyv3",fontsize=16,color="black",shape="triangle"];102 -> 107[label="",style="solid", color="black", weight=3]; 214.33/146.07 103 -> 102[label="",style="dashed", color="red", weight=0]; 214.33/146.07 103[label="pr2F3 (primEqInt (Pos (Succ (Succ (primPlusNat vyv400 vyv600)))) (fromInt (Pos Zero))) vyv3 (Pos (Succ (Succ (primPlusNat vyv400 vyv600)))) vyv3",fontsize=16,color="magenta"];103 -> 108[label="",style="dashed", color="magenta", weight=3]; 214.33/146.07 104 -> 102[label="",style="dashed", color="red", weight=0]; 214.33/146.07 104[label="pr2F3 (primEqInt (Pos (Succ vyv400)) (fromInt (Pos Zero))) vyv3 (Pos (Succ vyv400)) vyv3",fontsize=16,color="magenta"];105[label="pr2F3 (primEqInt (primMinusNat (Succ vyv4000) vyv600) (fromInt (Pos Zero))) vyv3 (primMinusNat (Succ vyv4000) vyv600) vyv3",fontsize=16,color="burlywood",shape="box"];4460[label="vyv600/Succ vyv6000",fontsize=10,color="white",style="solid",shape="box"];105 -> 4460[label="",style="solid", color="burlywood", weight=9]; 214.33/146.07 4460 -> 109[label="",style="solid", color="burlywood", weight=3]; 214.33/146.07 4461[label="vyv600/Zero",fontsize=10,color="white",style="solid",shape="box"];105 -> 4461[label="",style="solid", color="burlywood", weight=9]; 214.33/146.07 4461 -> 110[label="",style="solid", color="burlywood", weight=3]; 214.33/146.07 106[label="pr2F3 (primEqInt (primMinusNat Zero vyv600) (fromInt (Pos Zero))) vyv3 (primMinusNat Zero vyv600) vyv3",fontsize=16,color="burlywood",shape="box"];4462[label="vyv600/Succ vyv6000",fontsize=10,color="white",style="solid",shape="box"];106 -> 4462[label="",style="solid", color="burlywood", weight=9]; 214.33/146.07 4462 -> 111[label="",style="solid", color="burlywood", weight=3]; 214.33/146.07 4463[label="vyv600/Zero",fontsize=10,color="white",style="solid",shape="box"];106 -> 4463[label="",style="solid", color="burlywood", weight=9]; 214.33/146.07 4463 -> 112[label="",style="solid", color="burlywood", weight=3]; 214.33/146.07 107[label="pr2F3 (primEqInt (Pos (Succ vyv400)) (Pos Zero)) vyv3 (Pos (Succ vyv400)) vyv3",fontsize=16,color="black",shape="box"];107 -> 113[label="",style="solid", color="black", weight=3]; 214.33/146.07 108[label="Succ (primPlusNat vyv400 vyv600)",fontsize=16,color="green",shape="box"];108 -> 114[label="",style="dashed", color="green", weight=3]; 214.33/146.07 109[label="pr2F3 (primEqInt (primMinusNat (Succ vyv4000) (Succ vyv6000)) (fromInt (Pos Zero))) vyv3 (primMinusNat (Succ vyv4000) (Succ vyv6000)) vyv3",fontsize=16,color="black",shape="box"];109 -> 115[label="",style="solid", color="black", weight=3]; 214.33/146.07 110[label="pr2F3 (primEqInt (primMinusNat (Succ vyv4000) Zero) (fromInt (Pos Zero))) vyv3 (primMinusNat (Succ vyv4000) Zero) vyv3",fontsize=16,color="black",shape="box"];110 -> 116[label="",style="solid", color="black", weight=3]; 214.33/146.07 111[label="pr2F3 (primEqInt (primMinusNat Zero (Succ vyv6000)) (fromInt (Pos Zero))) vyv3 (primMinusNat Zero (Succ vyv6000)) vyv3",fontsize=16,color="black",shape="box"];111 -> 117[label="",style="solid", color="black", weight=3]; 214.33/146.07 112[label="pr2F3 (primEqInt (primMinusNat Zero Zero) (fromInt (Pos Zero))) vyv3 (primMinusNat Zero Zero) vyv3",fontsize=16,color="black",shape="box"];112 -> 118[label="",style="solid", color="black", weight=3]; 214.33/146.07 113[label="pr2F3 False vyv3 (Pos (Succ vyv400)) vyv3",fontsize=16,color="black",shape="box"];113 -> 119[label="",style="solid", color="black", weight=3]; 214.33/146.07 114[label="primPlusNat vyv400 vyv600",fontsize=16,color="burlywood",shape="triangle"];4464[label="vyv400/Succ vyv4000",fontsize=10,color="white",style="solid",shape="box"];114 -> 4464[label="",style="solid", color="burlywood", weight=9]; 214.33/146.07 4464 -> 120[label="",style="solid", color="burlywood", weight=3]; 214.33/146.07 4465[label="vyv400/Zero",fontsize=10,color="white",style="solid",shape="box"];114 -> 4465[label="",style="solid", color="burlywood", weight=9]; 214.33/146.07 4465 -> 121[label="",style="solid", color="burlywood", weight=3]; 214.33/146.07 115 -> 101[label="",style="dashed", color="red", weight=0]; 214.33/146.07 115[label="pr2F3 (primEqInt (primMinusNat vyv4000 vyv6000) (fromInt (Pos Zero))) vyv3 (primMinusNat vyv4000 vyv6000) vyv3",fontsize=16,color="magenta"];115 -> 122[label="",style="dashed", color="magenta", weight=3]; 214.33/146.07 115 -> 123[label="",style="dashed", color="magenta", weight=3]; 214.33/146.07 116 -> 102[label="",style="dashed", color="red", weight=0]; 214.33/146.07 116[label="pr2F3 (primEqInt (Pos (Succ vyv4000)) (fromInt (Pos Zero))) vyv3 (Pos (Succ vyv4000)) vyv3",fontsize=16,color="magenta"];116 -> 124[label="",style="dashed", color="magenta", weight=3]; 214.33/146.07 117[label="pr2F3 (primEqInt (Neg (Succ vyv6000)) (fromInt (Pos Zero))) vyv3 (Neg (Succ vyv6000)) vyv3",fontsize=16,color="black",shape="box"];117 -> 125[label="",style="solid", color="black", weight=3]; 214.33/146.07 118[label="pr2F3 (primEqInt (Pos Zero) (fromInt (Pos Zero))) vyv3 (Pos Zero) vyv3",fontsize=16,color="black",shape="box"];118 -> 126[label="",style="solid", color="black", weight=3]; 214.33/146.07 119 -> 3052[label="",style="dashed", color="red", weight=0]; 214.33/146.07 119[label="pr2F0 vyv3 (Pos (Succ vyv400)) vyv3",fontsize=16,color="magenta"];119 -> 3053[label="",style="dashed", color="magenta", weight=3]; 214.33/146.07 119 -> 3054[label="",style="dashed", color="magenta", weight=3]; 214.33/146.07 119 -> 3055[label="",style="dashed", color="magenta", weight=3]; 214.33/146.07 120[label="primPlusNat (Succ vyv4000) vyv600",fontsize=16,color="burlywood",shape="box"];4466[label="vyv600/Succ vyv6000",fontsize=10,color="white",style="solid",shape="box"];120 -> 4466[label="",style="solid", color="burlywood", weight=9]; 214.33/146.07 4466 -> 128[label="",style="solid", color="burlywood", weight=3]; 214.33/146.07 4467[label="vyv600/Zero",fontsize=10,color="white",style="solid",shape="box"];120 -> 4467[label="",style="solid", color="burlywood", weight=9]; 214.33/146.07 4467 -> 129[label="",style="solid", color="burlywood", weight=3]; 214.33/146.07 121[label="primPlusNat Zero vyv600",fontsize=16,color="burlywood",shape="box"];4468[label="vyv600/Succ vyv6000",fontsize=10,color="white",style="solid",shape="box"];121 -> 4468[label="",style="solid", color="burlywood", weight=9]; 214.33/146.07 4468 -> 130[label="",style="solid", color="burlywood", weight=3]; 214.33/146.07 4469[label="vyv600/Zero",fontsize=10,color="white",style="solid",shape="box"];121 -> 4469[label="",style="solid", color="burlywood", weight=9]; 214.33/146.07 4469 -> 131[label="",style="solid", color="burlywood", weight=3]; 214.33/146.07 122[label="vyv4000",fontsize=16,color="green",shape="box"];123[label="vyv6000",fontsize=16,color="green",shape="box"];124[label="vyv4000",fontsize=16,color="green",shape="box"];125[label="pr2F3 (primEqInt (Neg (Succ vyv6000)) (Pos Zero)) vyv3 (Neg (Succ vyv6000)) vyv3",fontsize=16,color="black",shape="box"];125 -> 132[label="",style="solid", color="black", weight=3]; 214.33/146.07 126[label="pr2F3 (primEqInt (Pos Zero) (Pos Zero)) vyv3 (Pos Zero) vyv3",fontsize=16,color="black",shape="box"];126 -> 133[label="",style="solid", color="black", weight=3]; 214.33/146.07 3053[label="vyv3",fontsize=16,color="green",shape="box"];3054[label="Pos (Succ vyv400)",fontsize=16,color="green",shape="box"];3055[label="vyv3",fontsize=16,color="green",shape="box"];3052[label="pr2F0 vyv184 vyv223 vyv188",fontsize=16,color="black",shape="triangle"];3052 -> 3069[label="",style="solid", color="black", weight=3]; 214.33/146.07 128[label="primPlusNat (Succ vyv4000) (Succ vyv6000)",fontsize=16,color="black",shape="box"];128 -> 135[label="",style="solid", color="black", weight=3]; 214.33/146.07 129[label="primPlusNat (Succ vyv4000) Zero",fontsize=16,color="black",shape="box"];129 -> 136[label="",style="solid", color="black", weight=3]; 214.33/146.07 130[label="primPlusNat Zero (Succ vyv6000)",fontsize=16,color="black",shape="box"];130 -> 137[label="",style="solid", color="black", weight=3]; 214.33/146.07 131[label="primPlusNat Zero Zero",fontsize=16,color="black",shape="box"];131 -> 138[label="",style="solid", color="black", weight=3]; 214.33/146.07 132[label="pr2F3 False vyv3 (Neg (Succ vyv6000)) vyv3",fontsize=16,color="black",shape="box"];132 -> 139[label="",style="solid", color="black", weight=3]; 214.33/146.07 133[label="pr2F3 True vyv3 (Pos Zero) vyv3",fontsize=16,color="black",shape="box"];133 -> 140[label="",style="solid", color="black", weight=3]; 214.33/146.07 3069[label="pr2F0G vyv188 vyv184 vyv223",fontsize=16,color="black",shape="triangle"];3069 -> 3070[label="",style="solid", color="black", weight=3]; 214.33/146.07 135[label="Succ (Succ (primPlusNat vyv4000 vyv6000))",fontsize=16,color="green",shape="box"];135 -> 142[label="",style="dashed", color="green", weight=3]; 214.33/146.07 136[label="Succ vyv4000",fontsize=16,color="green",shape="box"];137[label="Succ vyv6000",fontsize=16,color="green",shape="box"];138[label="Zero",fontsize=16,color="green",shape="box"];139 -> 3052[label="",style="dashed", color="red", weight=0]; 214.33/146.07 139[label="pr2F0 vyv3 (Neg (Succ vyv6000)) vyv3",fontsize=16,color="magenta"];139 -> 3056[label="",style="dashed", color="magenta", weight=3]; 214.33/146.07 139 -> 3057[label="",style="dashed", color="magenta", weight=3]; 214.33/146.07 139 -> 3058[label="",style="dashed", color="magenta", weight=3]; 214.33/146.07 140[label="vyv3",fontsize=16,color="green",shape="box"];3070[label="pr2F0G2 vyv188 vyv184 vyv223",fontsize=16,color="black",shape="box"];3070 -> 3071[label="",style="solid", color="black", weight=3]; 214.33/146.07 142 -> 114[label="",style="dashed", color="red", weight=0]; 214.33/146.07 142[label="primPlusNat vyv4000 vyv6000",fontsize=16,color="magenta"];142 -> 145[label="",style="dashed", color="magenta", weight=3]; 214.33/146.07 142 -> 146[label="",style="dashed", color="magenta", weight=3]; 214.33/146.07 3056[label="vyv3",fontsize=16,color="green",shape="box"];3057[label="Neg (Succ vyv6000)",fontsize=16,color="green",shape="box"];3058[label="vyv3",fontsize=16,color="green",shape="box"];3071[label="pr2F0G1 vyv188 vyv184 vyv223 (even vyv223)",fontsize=16,color="black",shape="box"];3071 -> 3072[label="",style="solid", color="black", weight=3]; 214.33/146.07 145[label="vyv4000",fontsize=16,color="green",shape="box"];146[label="vyv6000",fontsize=16,color="green",shape="box"];3072[label="pr2F0G1 vyv188 vyv184 vyv223 (primEvenInt vyv223)",fontsize=16,color="burlywood",shape="box"];4470[label="vyv223/Pos vyv2230",fontsize=10,color="white",style="solid",shape="box"];3072 -> 4470[label="",style="solid", color="burlywood", weight=9]; 214.33/146.07 4470 -> 3073[label="",style="solid", color="burlywood", weight=3]; 214.33/146.07 4471[label="vyv223/Neg vyv2230",fontsize=10,color="white",style="solid",shape="box"];3072 -> 4471[label="",style="solid", color="burlywood", weight=9]; 214.33/146.07 4471 -> 3074[label="",style="solid", color="burlywood", weight=3]; 214.33/146.07 3073[label="pr2F0G1 vyv188 vyv184 (Pos vyv2230) (primEvenInt (Pos vyv2230))",fontsize=16,color="black",shape="box"];3073 -> 3075[label="",style="solid", color="black", weight=3]; 214.33/146.07 3074[label="pr2F0G1 vyv188 vyv184 (Neg vyv2230) (primEvenInt (Neg vyv2230))",fontsize=16,color="black",shape="box"];3074 -> 3076[label="",style="solid", color="black", weight=3]; 214.33/146.07 3075[label="pr2F0G1 vyv188 vyv184 (Pos vyv2230) (primEvenNat vyv2230)",fontsize=16,color="burlywood",shape="box"];4472[label="vyv2230/Succ vyv22300",fontsize=10,color="white",style="solid",shape="box"];3075 -> 4472[label="",style="solid", color="burlywood", weight=9]; 214.33/146.07 4472 -> 3077[label="",style="solid", color="burlywood", weight=3]; 214.33/146.07 4473[label="vyv2230/Zero",fontsize=10,color="white",style="solid",shape="box"];3075 -> 4473[label="",style="solid", color="burlywood", weight=9]; 214.33/146.07 4473 -> 3078[label="",style="solid", color="burlywood", weight=3]; 214.33/146.07 3076[label="pr2F0G1 vyv188 vyv184 (Neg vyv2230) (primEvenNat vyv2230)",fontsize=16,color="burlywood",shape="box"];4474[label="vyv2230/Succ vyv22300",fontsize=10,color="white",style="solid",shape="box"];3076 -> 4474[label="",style="solid", color="burlywood", weight=9]; 214.33/146.07 4474 -> 3079[label="",style="solid", color="burlywood", weight=3]; 214.33/146.07 4475[label="vyv2230/Zero",fontsize=10,color="white",style="solid",shape="box"];3076 -> 4475[label="",style="solid", color="burlywood", weight=9]; 214.33/146.07 4475 -> 3080[label="",style="solid", color="burlywood", weight=3]; 214.33/146.07 3077[label="pr2F0G1 vyv188 vyv184 (Pos (Succ vyv22300)) (primEvenNat (Succ vyv22300))",fontsize=16,color="burlywood",shape="box"];4476[label="vyv22300/Succ vyv223000",fontsize=10,color="white",style="solid",shape="box"];3077 -> 4476[label="",style="solid", color="burlywood", weight=9]; 214.33/146.07 4476 -> 3081[label="",style="solid", color="burlywood", weight=3]; 214.33/146.07 4477[label="vyv22300/Zero",fontsize=10,color="white",style="solid",shape="box"];3077 -> 4477[label="",style="solid", color="burlywood", weight=9]; 214.33/146.07 4477 -> 3082[label="",style="solid", color="burlywood", weight=3]; 214.33/146.07 3078[label="pr2F0G1 vyv188 vyv184 (Pos Zero) (primEvenNat Zero)",fontsize=16,color="black",shape="box"];3078 -> 3083[label="",style="solid", color="black", weight=3]; 214.33/146.07 3079[label="pr2F0G1 vyv188 vyv184 (Neg (Succ vyv22300)) (primEvenNat (Succ vyv22300))",fontsize=16,color="burlywood",shape="box"];4478[label="vyv22300/Succ vyv223000",fontsize=10,color="white",style="solid",shape="box"];3079 -> 4478[label="",style="solid", color="burlywood", weight=9]; 214.33/146.07 4478 -> 3084[label="",style="solid", color="burlywood", weight=3]; 214.33/146.07 4479[label="vyv22300/Zero",fontsize=10,color="white",style="solid",shape="box"];3079 -> 4479[label="",style="solid", color="burlywood", weight=9]; 214.33/146.07 4479 -> 3085[label="",style="solid", color="burlywood", weight=3]; 214.33/146.07 3080[label="pr2F0G1 vyv188 vyv184 (Neg Zero) (primEvenNat Zero)",fontsize=16,color="black",shape="box"];3080 -> 3086[label="",style="solid", color="black", weight=3]; 214.33/146.07 3081[label="pr2F0G1 vyv188 vyv184 (Pos (Succ (Succ vyv223000))) (primEvenNat (Succ (Succ vyv223000)))",fontsize=16,color="black",shape="box"];3081 -> 3087[label="",style="solid", color="black", weight=3]; 214.33/146.07 3082[label="pr2F0G1 vyv188 vyv184 (Pos (Succ Zero)) (primEvenNat (Succ Zero))",fontsize=16,color="black",shape="box"];3082 -> 3088[label="",style="solid", color="black", weight=3]; 214.33/146.07 3083[label="pr2F0G1 vyv188 vyv184 (Pos Zero) True",fontsize=16,color="black",shape="box"];3083 -> 3089[label="",style="solid", color="black", weight=3]; 214.33/146.07 3084[label="pr2F0G1 vyv188 vyv184 (Neg (Succ (Succ vyv223000))) (primEvenNat (Succ (Succ vyv223000)))",fontsize=16,color="black",shape="box"];3084 -> 3090[label="",style="solid", color="black", weight=3]; 214.33/146.07 3085[label="pr2F0G1 vyv188 vyv184 (Neg (Succ Zero)) (primEvenNat (Succ Zero))",fontsize=16,color="black",shape="box"];3085 -> 3091[label="",style="solid", color="black", weight=3]; 214.33/146.07 3086[label="pr2F0G1 vyv188 vyv184 (Neg Zero) True",fontsize=16,color="black",shape="box"];3086 -> 3092[label="",style="solid", color="black", weight=3]; 214.33/146.07 3087 -> 3200[label="",style="dashed", color="red", weight=0]; 214.33/146.07 3087[label="pr2F0G1 vyv188 vyv184 (Pos (Succ (Succ vyv223000))) (primEvenNat vyv223000)",fontsize=16,color="magenta"];3087 -> 3201[label="",style="dashed", color="magenta", weight=3]; 214.33/146.07 3087 -> 3202[label="",style="dashed", color="magenta", weight=3]; 214.33/146.07 3087 -> 3203[label="",style="dashed", color="magenta", weight=3]; 214.33/146.07 3087 -> 3204[label="",style="dashed", color="magenta", weight=3]; 214.33/146.07 3088[label="pr2F0G1 vyv188 vyv184 (Pos (Succ Zero)) False",fontsize=16,color="black",shape="box"];3088 -> 3095[label="",style="solid", color="black", weight=3]; 214.33/146.07 3089 -> 3069[label="",style="dashed", color="red", weight=0]; 214.33/146.07 3089[label="pr2F0G vyv188 (vyv184 * vyv184) (Pos Zero `quot` fromInt (Pos (Succ (Succ Zero))))",fontsize=16,color="magenta"];3089 -> 3096[label="",style="dashed", color="magenta", weight=3]; 214.33/146.07 3089 -> 3097[label="",style="dashed", color="magenta", weight=3]; 214.33/146.07 3090 -> 3432[label="",style="dashed", color="red", weight=0]; 214.33/146.07 3090[label="pr2F0G1 vyv188 vyv184 (Neg (Succ (Succ vyv223000))) (primEvenNat vyv223000)",fontsize=16,color="magenta"];3090 -> 3433[label="",style="dashed", color="magenta", weight=3]; 214.33/146.07 3090 -> 3434[label="",style="dashed", color="magenta", weight=3]; 214.33/146.07 3090 -> 3435[label="",style="dashed", color="magenta", weight=3]; 214.33/146.07 3090 -> 3436[label="",style="dashed", color="magenta", weight=3]; 214.33/146.07 3091 -> 3228[label="",style="dashed", color="red", weight=0]; 214.33/146.07 3091[label="pr2F0G1 vyv188 vyv184 (Neg (Succ Zero)) False",fontsize=16,color="magenta"];3091 -> 3229[label="",style="dashed", color="magenta", weight=3]; 214.33/146.07 3091 -> 3230[label="",style="dashed", color="magenta", weight=3]; 214.33/146.07 3091 -> 3231[label="",style="dashed", color="magenta", weight=3]; 214.33/146.07 3092 -> 3069[label="",style="dashed", color="red", weight=0]; 214.33/146.07 3092[label="pr2F0G vyv188 (vyv184 * vyv184) (Neg Zero `quot` fromInt (Pos (Succ (Succ Zero))))",fontsize=16,color="magenta"];3092 -> 3101[label="",style="dashed", color="magenta", weight=3]; 214.33/146.07 3092 -> 3102[label="",style="dashed", color="magenta", weight=3]; 214.33/146.07 3201[label="vyv188",fontsize=16,color="green",shape="box"];3202[label="vyv223000",fontsize=16,color="green",shape="box"];3203[label="Succ vyv223000",fontsize=16,color="green",shape="box"];3204[label="vyv184",fontsize=16,color="green",shape="box"];3200[label="pr2F0G1 vyv227 vyv228 (Pos (Succ vyv229)) (primEvenNat vyv230)",fontsize=16,color="burlywood",shape="triangle"];4480[label="vyv230/Succ vyv2300",fontsize=10,color="white",style="solid",shape="box"];3200 -> 4480[label="",style="solid", color="burlywood", weight=9]; 214.33/146.07 4480 -> 3213[label="",style="solid", color="burlywood", weight=3]; 214.33/146.07 4481[label="vyv230/Zero",fontsize=10,color="white",style="solid",shape="box"];3200 -> 4481[label="",style="solid", color="burlywood", weight=9]; 214.33/146.07 4481 -> 3214[label="",style="solid", color="burlywood", weight=3]; 214.33/146.07 3095[label="pr2F0G0 vyv188 vyv184 (Pos (Succ Zero)) otherwise",fontsize=16,color="black",shape="box"];3095 -> 3106[label="",style="solid", color="black", weight=3]; 214.33/146.07 3096[label="Pos Zero `quot` fromInt (Pos (Succ (Succ Zero)))",fontsize=16,color="black",shape="box"];3096 -> 3107[label="",style="solid", color="black", weight=3]; 214.33/146.07 3097[label="vyv184 * vyv184",fontsize=16,color="blue",shape="box"];4482[label="* :: Integer -> Integer -> Integer",fontsize=10,color="white",style="solid",shape="box"];3097 -> 4482[label="",style="solid", color="blue", weight=9]; 214.33/146.07 4482 -> 3108[label="",style="solid", color="blue", weight=3]; 214.33/146.07 4483[label="* :: (Ratio a) -> (Ratio a) -> Ratio a",fontsize=10,color="white",style="solid",shape="box"];3097 -> 4483[label="",style="solid", color="blue", weight=9]; 214.33/146.07 4483 -> 3109[label="",style="solid", color="blue", weight=3]; 214.33/146.07 4484[label="* :: Double -> Double -> Double",fontsize=10,color="white",style="solid",shape="box"];3097 -> 4484[label="",style="solid", color="blue", weight=9]; 214.33/146.07 4484 -> 3110[label="",style="solid", color="blue", weight=3]; 214.33/146.07 4485[label="* :: Float -> Float -> Float",fontsize=10,color="white",style="solid",shape="box"];3097 -> 4485[label="",style="solid", color="blue", weight=9]; 214.33/146.07 4485 -> 3111[label="",style="solid", color="blue", weight=3]; 214.33/146.07 4486[label="* :: Int -> Int -> Int",fontsize=10,color="white",style="solid",shape="box"];3097 -> 4486[label="",style="solid", color="blue", weight=9]; 214.33/146.07 4486 -> 3112[label="",style="solid", color="blue", weight=3]; 214.33/146.07 3433[label="vyv184",fontsize=16,color="green",shape="box"];3434[label="vyv223000",fontsize=16,color="green",shape="box"];3435[label="vyv188",fontsize=16,color="green",shape="box"];3436[label="Succ vyv223000",fontsize=16,color="green",shape="box"];3432[label="pr2F0G1 vyv249 vyv250 (Neg (Succ vyv251)) (primEvenNat vyv252)",fontsize=16,color="burlywood",shape="triangle"];4487[label="vyv252/Succ vyv2520",fontsize=10,color="white",style="solid",shape="box"];3432 -> 4487[label="",style="solid", color="burlywood", weight=9]; 214.33/146.07 4487 -> 3453[label="",style="solid", color="burlywood", weight=3]; 214.33/146.07 4488[label="vyv252/Zero",fontsize=10,color="white",style="solid",shape="box"];3432 -> 4488[label="",style="solid", color="burlywood", weight=9]; 214.33/146.07 4488 -> 3454[label="",style="solid", color="burlywood", weight=3]; 214.33/146.07 3229[label="vyv188",fontsize=16,color="green",shape="box"];3230[label="vyv184",fontsize=16,color="green",shape="box"];3231[label="Zero",fontsize=16,color="green",shape="box"];3228[label="pr2F0G1 vyv239 vyv240 (Neg (Succ vyv241)) False",fontsize=16,color="black",shape="triangle"];3228 -> 3238[label="",style="solid", color="black", weight=3]; 214.33/146.07 3101[label="Neg Zero `quot` fromInt (Pos (Succ (Succ Zero)))",fontsize=16,color="black",shape="box"];3101 -> 3117[label="",style="solid", color="black", weight=3]; 214.33/146.07 3102[label="vyv184 * vyv184",fontsize=16,color="blue",shape="box"];4489[label="* :: Integer -> Integer -> Integer",fontsize=10,color="white",style="solid",shape="box"];3102 -> 4489[label="",style="solid", color="blue", weight=9]; 214.33/146.07 4489 -> 3118[label="",style="solid", color="blue", weight=3]; 214.33/146.07 4490[label="* :: (Ratio a) -> (Ratio a) -> Ratio a",fontsize=10,color="white",style="solid",shape="box"];3102 -> 4490[label="",style="solid", color="blue", weight=9]; 214.33/146.07 4490 -> 3119[label="",style="solid", color="blue", weight=3]; 214.33/146.07 4491[label="* :: Double -> Double -> Double",fontsize=10,color="white",style="solid",shape="box"];3102 -> 4491[label="",style="solid", color="blue", weight=9]; 214.33/146.07 4491 -> 3120[label="",style="solid", color="blue", weight=3]; 214.33/146.07 4492[label="* :: Float -> Float -> Float",fontsize=10,color="white",style="solid",shape="box"];3102 -> 4492[label="",style="solid", color="blue", weight=9]; 214.33/146.07 4492 -> 3121[label="",style="solid", color="blue", weight=3]; 214.33/146.07 4493[label="* :: Int -> Int -> Int",fontsize=10,color="white",style="solid",shape="box"];3102 -> 4493[label="",style="solid", color="blue", weight=9]; 214.33/146.07 4493 -> 3122[label="",style="solid", color="blue", weight=3]; 214.33/146.07 3213[label="pr2F0G1 vyv227 vyv228 (Pos (Succ vyv229)) (primEvenNat (Succ vyv2300))",fontsize=16,color="burlywood",shape="box"];4494[label="vyv2300/Succ vyv23000",fontsize=10,color="white",style="solid",shape="box"];3213 -> 4494[label="",style="solid", color="burlywood", weight=9]; 214.33/146.07 4494 -> 3220[label="",style="solid", color="burlywood", weight=3]; 214.33/146.07 4495[label="vyv2300/Zero",fontsize=10,color="white",style="solid",shape="box"];3213 -> 4495[label="",style="solid", color="burlywood", weight=9]; 214.33/146.07 4495 -> 3221[label="",style="solid", color="burlywood", weight=3]; 214.33/146.07 3214[label="pr2F0G1 vyv227 vyv228 (Pos (Succ vyv229)) (primEvenNat Zero)",fontsize=16,color="black",shape="box"];3214 -> 3222[label="",style="solid", color="black", weight=3]; 214.33/146.07 3106[label="pr2F0G0 vyv188 vyv184 (Pos (Succ Zero)) True",fontsize=16,color="black",shape="box"];3106 -> 3126[label="",style="solid", color="black", weight=3]; 214.33/146.07 3107 -> 3793[label="",style="dashed", color="red", weight=0]; 214.33/146.07 3107[label="primQuotInt (Pos Zero) (fromInt (Pos (Succ (Succ Zero))))",fontsize=16,color="magenta"];3107 -> 3794[label="",style="dashed", color="magenta", weight=3]; 214.33/146.07 3107 -> 3795[label="",style="dashed", color="magenta", weight=3]; 214.33/146.07 3108[label="vyv184 * vyv184",fontsize=16,color="black",shape="triangle"];3108 -> 3128[label="",style="solid", color="black", weight=3]; 214.33/146.07 3109[label="vyv184 * vyv184",fontsize=16,color="burlywood",shape="triangle"];4496[label="vyv184/vyv1840 :% vyv1841",fontsize=10,color="white",style="solid",shape="box"];3109 -> 4496[label="",style="solid", color="burlywood", weight=9]; 214.33/146.07 4496 -> 3129[label="",style="solid", color="burlywood", weight=3]; 214.33/146.07 3110[label="vyv184 * vyv184",fontsize=16,color="black",shape="triangle"];3110 -> 3130[label="",style="solid", color="black", weight=3]; 214.33/146.07 3111[label="vyv184 * vyv184",fontsize=16,color="black",shape="triangle"];3111 -> 3131[label="",style="solid", color="black", weight=3]; 214.33/146.07 3112[label="vyv184 * vyv184",fontsize=16,color="black",shape="triangle"];3112 -> 3132[label="",style="solid", color="black", weight=3]; 214.33/146.07 3453[label="pr2F0G1 vyv249 vyv250 (Neg (Succ vyv251)) (primEvenNat (Succ vyv2520))",fontsize=16,color="burlywood",shape="box"];4497[label="vyv2520/Succ vyv25200",fontsize=10,color="white",style="solid",shape="box"];3453 -> 4497[label="",style="solid", color="burlywood", weight=9]; 214.33/146.07 4497 -> 3496[label="",style="solid", color="burlywood", weight=3]; 214.33/146.07 4498[label="vyv2520/Zero",fontsize=10,color="white",style="solid",shape="box"];3453 -> 4498[label="",style="solid", color="burlywood", weight=9]; 214.33/146.07 4498 -> 3497[label="",style="solid", color="burlywood", weight=3]; 214.33/146.07 3454[label="pr2F0G1 vyv249 vyv250 (Neg (Succ vyv251)) (primEvenNat Zero)",fontsize=16,color="black",shape="box"];3454 -> 3498[label="",style="solid", color="black", weight=3]; 214.33/146.07 3238[label="pr2F0G0 vyv239 vyv240 (Neg (Succ vyv241)) otherwise",fontsize=16,color="black",shape="box"];3238 -> 3255[label="",style="solid", color="black", weight=3]; 214.33/146.07 3117 -> 3830[label="",style="dashed", color="red", weight=0]; 214.33/146.07 3117[label="primQuotInt (Neg Zero) (fromInt (Pos (Succ (Succ Zero))))",fontsize=16,color="magenta"];3117 -> 3831[label="",style="dashed", color="magenta", weight=3]; 214.33/146.07 3117 -> 3832[label="",style="dashed", color="magenta", weight=3]; 214.33/146.07 3118 -> 3108[label="",style="dashed", color="red", weight=0]; 214.33/146.07 3118[label="vyv184 * vyv184",fontsize=16,color="magenta"];3119 -> 3109[label="",style="dashed", color="red", weight=0]; 214.33/146.07 3119[label="vyv184 * vyv184",fontsize=16,color="magenta"];3120 -> 3110[label="",style="dashed", color="red", weight=0]; 214.33/146.07 3120[label="vyv184 * vyv184",fontsize=16,color="magenta"];3121 -> 3111[label="",style="dashed", color="red", weight=0]; 214.33/146.07 3121[label="vyv184 * vyv184",fontsize=16,color="magenta"];3122 -> 3112[label="",style="dashed", color="red", weight=0]; 214.33/146.07 3122[label="vyv184 * vyv184",fontsize=16,color="magenta"];3220[label="pr2F0G1 vyv227 vyv228 (Pos (Succ vyv229)) (primEvenNat (Succ (Succ vyv23000)))",fontsize=16,color="black",shape="box"];3220 -> 3239[label="",style="solid", color="black", weight=3]; 214.33/146.07 3221[label="pr2F0G1 vyv227 vyv228 (Pos (Succ vyv229)) (primEvenNat (Succ Zero))",fontsize=16,color="black",shape="box"];3221 -> 3240[label="",style="solid", color="black", weight=3]; 214.33/146.07 3222[label="pr2F0G1 vyv227 vyv228 (Pos (Succ vyv229)) True",fontsize=16,color="black",shape="box"];3222 -> 3241[label="",style="solid", color="black", weight=3]; 214.33/146.07 3126 -> 3308[label="",style="dashed", color="red", weight=0]; 214.33/146.07 3126[label="pr2F vyv184 (Pos (Succ Zero) - fromInt (Pos (Succ Zero))) (vyv184 * vyv188)",fontsize=16,color="magenta"];3126 -> 3309[label="",style="dashed", color="magenta", weight=3]; 214.33/146.07 3126 -> 3310[label="",style="dashed", color="magenta", weight=3]; 214.33/146.07 3126 -> 3311[label="",style="dashed", color="magenta", weight=3]; 214.33/146.07 3126 -> 3312[label="",style="dashed", color="magenta", weight=3]; 214.33/146.07 3794[label="Zero",fontsize=16,color="green",shape="box"];3795[label="fromInt (Pos (Succ (Succ Zero)))",fontsize=16,color="black",shape="triangle"];3795 -> 3818[label="",style="solid", color="black", weight=3]; 214.33/146.07 3793[label="primQuotInt (Pos vyv2710) vyv285",fontsize=16,color="burlywood",shape="triangle"];4499[label="vyv285/Pos vyv2850",fontsize=10,color="white",style="solid",shape="box"];3793 -> 4499[label="",style="solid", color="burlywood", weight=9]; 214.33/146.07 4499 -> 3819[label="",style="solid", color="burlywood", weight=3]; 214.33/146.07 4500[label="vyv285/Neg vyv2850",fontsize=10,color="white",style="solid",shape="box"];3793 -> 4500[label="",style="solid", color="burlywood", weight=9]; 214.33/146.07 4500 -> 3820[label="",style="solid", color="burlywood", weight=3]; 214.33/146.07 3128[label="error []",fontsize=16,color="red",shape="box"];3129[label="vyv1840 :% vyv1841 * (vyv1840 :% vyv1841)",fontsize=16,color="black",shape="box"];3129 -> 3146[label="",style="solid", color="black", weight=3]; 214.33/146.07 3130[label="error []",fontsize=16,color="red",shape="box"];3131[label="error []",fontsize=16,color="red",shape="box"];3132[label="primMulInt vyv184 vyv184",fontsize=16,color="burlywood",shape="box"];4501[label="vyv184/Pos vyv1840",fontsize=10,color="white",style="solid",shape="box"];3132 -> 4501[label="",style="solid", color="burlywood", weight=9]; 214.33/146.07 4501 -> 3147[label="",style="solid", color="burlywood", weight=3]; 214.33/146.07 4502[label="vyv184/Neg vyv1840",fontsize=10,color="white",style="solid",shape="box"];3132 -> 4502[label="",style="solid", color="burlywood", weight=9]; 214.33/146.07 4502 -> 3148[label="",style="solid", color="burlywood", weight=3]; 214.33/146.07 3496[label="pr2F0G1 vyv249 vyv250 (Neg (Succ vyv251)) (primEvenNat (Succ (Succ vyv25200)))",fontsize=16,color="black",shape="box"];3496 -> 3526[label="",style="solid", color="black", weight=3]; 214.33/146.07 3497[label="pr2F0G1 vyv249 vyv250 (Neg (Succ vyv251)) (primEvenNat (Succ Zero))",fontsize=16,color="black",shape="box"];3497 -> 3527[label="",style="solid", color="black", weight=3]; 214.33/146.07 3498[label="pr2F0G1 vyv249 vyv250 (Neg (Succ vyv251)) True",fontsize=16,color="black",shape="box"];3498 -> 3528[label="",style="solid", color="black", weight=3]; 214.33/146.07 3255[label="pr2F0G0 vyv239 vyv240 (Neg (Succ vyv241)) True",fontsize=16,color="black",shape="box"];3255 -> 3272[label="",style="solid", color="black", weight=3]; 214.33/146.07 3831 -> 3795[label="",style="dashed", color="red", weight=0]; 214.33/146.07 3831[label="fromInt (Pos (Succ (Succ Zero)))",fontsize=16,color="magenta"];3832[label="Zero",fontsize=16,color="green",shape="box"];3830[label="primQuotInt (Neg vyv2710) vyv288",fontsize=16,color="burlywood",shape="triangle"];4503[label="vyv288/Pos vyv2880",fontsize=10,color="white",style="solid",shape="box"];3830 -> 4503[label="",style="solid", color="burlywood", weight=9]; 214.33/146.07 4503 -> 3855[label="",style="solid", color="burlywood", weight=3]; 214.33/146.07 4504[label="vyv288/Neg vyv2880",fontsize=10,color="white",style="solid",shape="box"];3830 -> 4504[label="",style="solid", color="burlywood", weight=9]; 214.33/146.07 4504 -> 3856[label="",style="solid", color="burlywood", weight=3]; 214.33/146.07 3239 -> 3200[label="",style="dashed", color="red", weight=0]; 214.33/146.07 3239[label="pr2F0G1 vyv227 vyv228 (Pos (Succ vyv229)) (primEvenNat vyv23000)",fontsize=16,color="magenta"];3239 -> 3256[label="",style="dashed", color="magenta", weight=3]; 214.33/146.07 3240[label="pr2F0G1 vyv227 vyv228 (Pos (Succ vyv229)) False",fontsize=16,color="black",shape="box"];3240 -> 3257[label="",style="solid", color="black", weight=3]; 214.33/146.07 3241 -> 3069[label="",style="dashed", color="red", weight=0]; 214.33/146.07 3241[label="pr2F0G vyv227 (vyv228 * vyv228) (Pos (Succ vyv229) `quot` fromInt (Pos (Succ (Succ Zero))))",fontsize=16,color="magenta"];3241 -> 3258[label="",style="dashed", color="magenta", weight=3]; 214.33/146.07 3241 -> 3259[label="",style="dashed", color="magenta", weight=3]; 214.33/146.07 3241 -> 3260[label="",style="dashed", color="magenta", weight=3]; 214.33/146.07 3309[label="vyv188",fontsize=16,color="green",shape="box"];3310 -> 75[label="",style="dashed", color="red", weight=0]; 214.33/146.07 3310[label="fromInt (Pos (Succ Zero))",fontsize=16,color="magenta"];3311[label="Zero",fontsize=16,color="green",shape="box"];3312[label="vyv184",fontsize=16,color="green",shape="box"];3308[label="pr2F vyv228 (Pos (Succ vyv229) - vyv245) (vyv228 * vyv227)",fontsize=16,color="black",shape="triangle"];3308 -> 3318[label="",style="solid", color="black", weight=3]; 214.33/146.07 3818[label="Pos (Succ (Succ Zero))",fontsize=16,color="green",shape="box"];3819[label="primQuotInt (Pos vyv2710) (Pos vyv2850)",fontsize=16,color="burlywood",shape="box"];4505[label="vyv2850/Succ vyv28500",fontsize=10,color="white",style="solid",shape="box"];3819 -> 4505[label="",style="solid", color="burlywood", weight=9]; 214.33/146.07 4505 -> 3825[label="",style="solid", color="burlywood", weight=3]; 214.33/146.07 4506[label="vyv2850/Zero",fontsize=10,color="white",style="solid",shape="box"];3819 -> 4506[label="",style="solid", color="burlywood", weight=9]; 214.33/146.07 4506 -> 3826[label="",style="solid", color="burlywood", weight=3]; 214.33/146.07 3820[label="primQuotInt (Pos vyv2710) (Neg vyv2850)",fontsize=16,color="burlywood",shape="box"];4507[label="vyv2850/Succ vyv28500",fontsize=10,color="white",style="solid",shape="box"];3820 -> 4507[label="",style="solid", color="burlywood", weight=9]; 214.33/146.07 4507 -> 3827[label="",style="solid", color="burlywood", weight=3]; 214.33/146.07 4508[label="vyv2850/Zero",fontsize=10,color="white",style="solid",shape="box"];3820 -> 4508[label="",style="solid", color="burlywood", weight=9]; 214.33/146.07 4508 -> 3828[label="",style="solid", color="burlywood", weight=3]; 214.33/146.07 3146[label="reduce (vyv1840 * vyv1840) (vyv1841 * vyv1841)",fontsize=16,color="black",shape="box"];3146 -> 3169[label="",style="solid", color="black", weight=3]; 214.33/146.07 3147[label="primMulInt (Pos vyv1840) (Pos vyv1840)",fontsize=16,color="black",shape="box"];3147 -> 3170[label="",style="solid", color="black", weight=3]; 214.33/146.07 3148[label="primMulInt (Neg vyv1840) (Neg vyv1840)",fontsize=16,color="black",shape="box"];3148 -> 3171[label="",style="solid", color="black", weight=3]; 214.33/146.07 3526 -> 3432[label="",style="dashed", color="red", weight=0]; 214.33/146.07 3526[label="pr2F0G1 vyv249 vyv250 (Neg (Succ vyv251)) (primEvenNat vyv25200)",fontsize=16,color="magenta"];3526 -> 3564[label="",style="dashed", color="magenta", weight=3]; 214.33/146.07 3527 -> 3228[label="",style="dashed", color="red", weight=0]; 214.33/146.07 3527[label="pr2F0G1 vyv249 vyv250 (Neg (Succ vyv251)) False",fontsize=16,color="magenta"];3527 -> 3565[label="",style="dashed", color="magenta", weight=3]; 214.33/146.07 3527 -> 3566[label="",style="dashed", color="magenta", weight=3]; 214.33/146.07 3527 -> 3567[label="",style="dashed", color="magenta", weight=3]; 214.33/146.07 3528 -> 3069[label="",style="dashed", color="red", weight=0]; 214.33/146.07 3528[label="pr2F0G vyv249 (vyv250 * vyv250) (Neg (Succ vyv251) `quot` fromInt (Pos (Succ (Succ Zero))))",fontsize=16,color="magenta"];3528 -> 3568[label="",style="dashed", color="magenta", weight=3]; 214.33/146.07 3528 -> 3569[label="",style="dashed", color="magenta", weight=3]; 214.33/146.07 3528 -> 3570[label="",style="dashed", color="magenta", weight=3]; 214.33/146.07 3272 -> 3282[label="",style="dashed", color="red", weight=0]; 214.33/146.07 3272[label="pr2F vyv240 (Neg (Succ vyv241) - fromInt (Pos (Succ Zero))) (vyv240 * vyv239)",fontsize=16,color="magenta"];3272 -> 3283[label="",style="dashed", color="magenta", weight=3]; 214.33/146.07 3855[label="primQuotInt (Neg vyv2710) (Pos vyv2880)",fontsize=16,color="burlywood",shape="box"];4509[label="vyv2880/Succ vyv28800",fontsize=10,color="white",style="solid",shape="box"];3855 -> 4509[label="",style="solid", color="burlywood", weight=9]; 214.33/146.07 4509 -> 3863[label="",style="solid", color="burlywood", weight=3]; 214.33/146.07 4510[label="vyv2880/Zero",fontsize=10,color="white",style="solid",shape="box"];3855 -> 4510[label="",style="solid", color="burlywood", weight=9]; 214.33/146.07 4510 -> 3864[label="",style="solid", color="burlywood", weight=3]; 214.33/146.07 3856[label="primQuotInt (Neg vyv2710) (Neg vyv2880)",fontsize=16,color="burlywood",shape="box"];4511[label="vyv2880/Succ vyv28800",fontsize=10,color="white",style="solid",shape="box"];3856 -> 4511[label="",style="solid", color="burlywood", weight=9]; 214.33/146.07 4511 -> 3865[label="",style="solid", color="burlywood", weight=3]; 214.33/146.07 4512[label="vyv2880/Zero",fontsize=10,color="white",style="solid",shape="box"];3856 -> 4512[label="",style="solid", color="burlywood", weight=9]; 214.33/146.07 4512 -> 3866[label="",style="solid", color="burlywood", weight=3]; 214.33/146.07 3256[label="vyv23000",fontsize=16,color="green",shape="box"];3257[label="pr2F0G0 vyv227 vyv228 (Pos (Succ vyv229)) otherwise",fontsize=16,color="black",shape="box"];3257 -> 3273[label="",style="solid", color="black", weight=3]; 214.33/146.07 3258[label="vyv227",fontsize=16,color="green",shape="box"];3259[label="Pos (Succ vyv229) `quot` fromInt (Pos (Succ (Succ Zero)))",fontsize=16,color="black",shape="box"];3259 -> 3274[label="",style="solid", color="black", weight=3]; 214.33/146.07 3260[label="vyv228 * vyv228",fontsize=16,color="blue",shape="box"];4513[label="* :: Integer -> Integer -> Integer",fontsize=10,color="white",style="solid",shape="box"];3260 -> 4513[label="",style="solid", color="blue", weight=9]; 214.33/146.07 4513 -> 3275[label="",style="solid", color="blue", weight=3]; 214.33/146.07 4514[label="* :: (Ratio a) -> (Ratio a) -> Ratio a",fontsize=10,color="white",style="solid",shape="box"];3260 -> 4514[label="",style="solid", color="blue", weight=9]; 214.33/146.07 4514 -> 3276[label="",style="solid", color="blue", weight=3]; 214.33/146.07 4515[label="* :: Double -> Double -> Double",fontsize=10,color="white",style="solid",shape="box"];3260 -> 4515[label="",style="solid", color="blue", weight=9]; 214.33/146.07 4515 -> 3277[label="",style="solid", color="blue", weight=3]; 214.33/146.07 4516[label="* :: Float -> Float -> Float",fontsize=10,color="white",style="solid",shape="box"];3260 -> 4516[label="",style="solid", color="blue", weight=9]; 214.33/146.07 4516 -> 3278[label="",style="solid", color="blue", weight=3]; 214.33/146.07 4517[label="* :: Int -> Int -> Int",fontsize=10,color="white",style="solid",shape="box"];3260 -> 4517[label="",style="solid", color="blue", weight=9]; 214.33/146.07 4517 -> 3279[label="",style="solid", color="blue", weight=3]; 214.33/146.07 3318[label="pr2F4 vyv228 (Pos (Succ vyv229) - vyv245) (vyv228 * vyv227)",fontsize=16,color="black",shape="box"];3318 -> 3322[label="",style="solid", color="black", weight=3]; 214.33/146.07 3825[label="primQuotInt (Pos vyv2710) (Pos (Succ vyv28500))",fontsize=16,color="black",shape="box"];3825 -> 3857[label="",style="solid", color="black", weight=3]; 214.33/146.07 3826[label="primQuotInt (Pos vyv2710) (Pos Zero)",fontsize=16,color="black",shape="box"];3826 -> 3858[label="",style="solid", color="black", weight=3]; 214.33/146.07 3827[label="primQuotInt (Pos vyv2710) (Neg (Succ vyv28500))",fontsize=16,color="black",shape="box"];3827 -> 3859[label="",style="solid", color="black", weight=3]; 214.33/146.07 3828[label="primQuotInt (Pos vyv2710) (Neg Zero)",fontsize=16,color="black",shape="box"];3828 -> 3860[label="",style="solid", color="black", weight=3]; 214.33/146.07 3169[label="reduce2 (vyv1840 * vyv1840) (vyv1841 * vyv1841)",fontsize=16,color="black",shape="box"];3169 -> 3191[label="",style="solid", color="black", weight=3]; 214.33/146.07 3170[label="Pos (primMulNat vyv1840 vyv1840)",fontsize=16,color="green",shape="box"];3170 -> 3192[label="",style="dashed", color="green", weight=3]; 214.33/146.07 3171[label="Pos (primMulNat vyv1840 vyv1840)",fontsize=16,color="green",shape="box"];3171 -> 3193[label="",style="dashed", color="green", weight=3]; 214.33/146.07 3564[label="vyv25200",fontsize=16,color="green",shape="box"];3565[label="vyv249",fontsize=16,color="green",shape="box"];3566[label="vyv250",fontsize=16,color="green",shape="box"];3567[label="vyv251",fontsize=16,color="green",shape="box"];3568[label="vyv249",fontsize=16,color="green",shape="box"];3569[label="Neg (Succ vyv251) `quot` fromInt (Pos (Succ (Succ Zero)))",fontsize=16,color="black",shape="box"];3569 -> 3586[label="",style="solid", color="black", weight=3]; 214.33/146.07 3570[label="vyv250 * vyv250",fontsize=16,color="blue",shape="box"];4518[label="* :: Integer -> Integer -> Integer",fontsize=10,color="white",style="solid",shape="box"];3570 -> 4518[label="",style="solid", color="blue", weight=9]; 214.33/146.07 4518 -> 3587[label="",style="solid", color="blue", weight=3]; 214.33/146.07 4519[label="* :: (Ratio a) -> (Ratio a) -> Ratio a",fontsize=10,color="white",style="solid",shape="box"];3570 -> 4519[label="",style="solid", color="blue", weight=9]; 214.33/146.07 4519 -> 3588[label="",style="solid", color="blue", weight=3]; 214.33/146.07 4520[label="* :: Double -> Double -> Double",fontsize=10,color="white",style="solid",shape="box"];3570 -> 4520[label="",style="solid", color="blue", weight=9]; 214.33/146.07 4520 -> 3589[label="",style="solid", color="blue", weight=3]; 214.33/146.07 4521[label="* :: Float -> Float -> Float",fontsize=10,color="white",style="solid",shape="box"];3570 -> 4521[label="",style="solid", color="blue", weight=9]; 214.33/146.07 4521 -> 3590[label="",style="solid", color="blue", weight=3]; 214.33/146.07 4522[label="* :: Int -> Int -> Int",fontsize=10,color="white",style="solid",shape="box"];3570 -> 4522[label="",style="solid", color="blue", weight=9]; 214.33/146.07 4522 -> 3591[label="",style="solid", color="blue", weight=3]; 214.33/146.07 3283 -> 75[label="",style="dashed", color="red", weight=0]; 214.33/146.07 3283[label="fromInt (Pos (Succ Zero))",fontsize=16,color="magenta"];3282[label="pr2F vyv240 (Neg (Succ vyv241) - vyv244) (vyv240 * vyv239)",fontsize=16,color="black",shape="triangle"];3282 -> 3284[label="",style="solid", color="black", weight=3]; 214.33/146.07 3863[label="primQuotInt (Neg vyv2710) (Pos (Succ vyv28800))",fontsize=16,color="black",shape="box"];3863 -> 3873[label="",style="solid", color="black", weight=3]; 214.33/146.07 3864[label="primQuotInt (Neg vyv2710) (Pos Zero)",fontsize=16,color="black",shape="box"];3864 -> 3874[label="",style="solid", color="black", weight=3]; 214.33/146.07 3865[label="primQuotInt (Neg vyv2710) (Neg (Succ vyv28800))",fontsize=16,color="black",shape="box"];3865 -> 3875[label="",style="solid", color="black", weight=3]; 214.33/146.07 3866[label="primQuotInt (Neg vyv2710) (Neg Zero)",fontsize=16,color="black",shape="box"];3866 -> 3876[label="",style="solid", color="black", weight=3]; 214.33/146.07 3273[label="pr2F0G0 vyv227 vyv228 (Pos (Succ vyv229)) True",fontsize=16,color="black",shape="box"];3273 -> 3285[label="",style="solid", color="black", weight=3]; 214.33/146.07 3274 -> 3793[label="",style="dashed", color="red", weight=0]; 214.33/146.07 3274[label="primQuotInt (Pos (Succ vyv229)) (fromInt (Pos (Succ (Succ Zero))))",fontsize=16,color="magenta"];3274 -> 3798[label="",style="dashed", color="magenta", weight=3]; 214.33/146.07 3274 -> 3799[label="",style="dashed", color="magenta", weight=3]; 214.33/146.07 3275 -> 3108[label="",style="dashed", color="red", weight=0]; 214.33/146.07 3275[label="vyv228 * vyv228",fontsize=16,color="magenta"];3275 -> 3287[label="",style="dashed", color="magenta", weight=3]; 214.33/146.07 3276 -> 3109[label="",style="dashed", color="red", weight=0]; 214.33/146.07 3276[label="vyv228 * vyv228",fontsize=16,color="magenta"];3276 -> 3288[label="",style="dashed", color="magenta", weight=3]; 214.33/146.07 3277 -> 3110[label="",style="dashed", color="red", weight=0]; 214.33/146.07 3277[label="vyv228 * vyv228",fontsize=16,color="magenta"];3277 -> 3289[label="",style="dashed", color="magenta", weight=3]; 214.33/146.07 3278 -> 3111[label="",style="dashed", color="red", weight=0]; 214.33/146.07 3278[label="vyv228 * vyv228",fontsize=16,color="magenta"];3278 -> 3290[label="",style="dashed", color="magenta", weight=3]; 214.33/146.07 3279 -> 3112[label="",style="dashed", color="red", weight=0]; 214.33/146.07 3279[label="vyv228 * vyv228",fontsize=16,color="magenta"];3279 -> 3291[label="",style="dashed", color="magenta", weight=3]; 214.33/146.07 3322 -> 3343[label="",style="dashed", color="red", weight=0]; 214.33/146.07 3322[label="pr2F3 (Pos (Succ vyv229) - vyv245 == fromInt (Pos Zero)) vyv228 (Pos (Succ vyv229) - vyv245) (vyv228 * vyv227)",fontsize=16,color="magenta"];3322 -> 3344[label="",style="dashed", color="magenta", weight=3]; 214.33/146.07 3857[label="Pos (primDivNatS vyv2710 (Succ vyv28500))",fontsize=16,color="green",shape="box"];3857 -> 3867[label="",style="dashed", color="green", weight=3]; 214.33/146.07 3858[label="error []",fontsize=16,color="black",shape="triangle"];3858 -> 3868[label="",style="solid", color="black", weight=3]; 214.33/146.07 3859[label="Neg (primDivNatS vyv2710 (Succ vyv28500))",fontsize=16,color="green",shape="box"];3859 -> 3869[label="",style="dashed", color="green", weight=3]; 214.33/146.07 3860 -> 3858[label="",style="dashed", color="red", weight=0]; 214.33/146.07 3860[label="error []",fontsize=16,color="magenta"];3191 -> 3600[label="",style="dashed", color="red", weight=0]; 214.33/146.07 3191[label="reduce2Reduce1 (vyv1840 * vyv1840) (vyv1841 * vyv1841) (vyv1840 * vyv1840) (vyv1841 * vyv1841) (vyv1841 * vyv1841 == fromInt (Pos Zero))",fontsize=16,color="magenta"];3191 -> 3601[label="",style="dashed", color="magenta", weight=3]; 214.33/146.07 3191 -> 3602[label="",style="dashed", color="magenta", weight=3]; 214.33/146.07 3191 -> 3603[label="",style="dashed", color="magenta", weight=3]; 214.33/146.07 3191 -> 3604[label="",style="dashed", color="magenta", weight=3]; 214.33/146.07 3191 -> 3605[label="",style="dashed", color="magenta", weight=3]; 214.33/146.07 3192[label="primMulNat vyv1840 vyv1840",fontsize=16,color="burlywood",shape="triangle"];4523[label="vyv1840/Succ vyv18400",fontsize=10,color="white",style="solid",shape="box"];3192 -> 4523[label="",style="solid", color="burlywood", weight=9]; 214.33/146.07 4523 -> 3223[label="",style="solid", color="burlywood", weight=3]; 214.33/146.07 4524[label="vyv1840/Zero",fontsize=10,color="white",style="solid",shape="box"];3192 -> 4524[label="",style="solid", color="burlywood", weight=9]; 214.33/146.07 4524 -> 3224[label="",style="solid", color="burlywood", weight=3]; 214.33/146.07 3193 -> 3192[label="",style="dashed", color="red", weight=0]; 214.33/146.07 3193[label="primMulNat vyv1840 vyv1840",fontsize=16,color="magenta"];3193 -> 3225[label="",style="dashed", color="magenta", weight=3]; 214.33/146.07 3586 -> 3830[label="",style="dashed", color="red", weight=0]; 214.33/146.07 3586[label="primQuotInt (Neg (Succ vyv251)) (fromInt (Pos (Succ (Succ Zero))))",fontsize=16,color="magenta"];3586 -> 3835[label="",style="dashed", color="magenta", weight=3]; 214.33/146.07 3586 -> 3836[label="",style="dashed", color="magenta", weight=3]; 214.33/146.07 3587 -> 3108[label="",style="dashed", color="red", weight=0]; 214.33/146.07 3587[label="vyv250 * vyv250",fontsize=16,color="magenta"];3587 -> 3617[label="",style="dashed", color="magenta", weight=3]; 214.33/146.07 3588 -> 3109[label="",style="dashed", color="red", weight=0]; 214.33/146.07 3588[label="vyv250 * vyv250",fontsize=16,color="magenta"];3588 -> 3618[label="",style="dashed", color="magenta", weight=3]; 214.33/146.07 3589 -> 3110[label="",style="dashed", color="red", weight=0]; 214.33/146.07 3589[label="vyv250 * vyv250",fontsize=16,color="magenta"];3589 -> 3619[label="",style="dashed", color="magenta", weight=3]; 214.33/146.07 3590 -> 3111[label="",style="dashed", color="red", weight=0]; 214.33/146.07 3590[label="vyv250 * vyv250",fontsize=16,color="magenta"];3590 -> 3620[label="",style="dashed", color="magenta", weight=3]; 214.33/146.07 3591 -> 3112[label="",style="dashed", color="red", weight=0]; 214.33/146.07 3591[label="vyv250 * vyv250",fontsize=16,color="magenta"];3591 -> 3621[label="",style="dashed", color="magenta", weight=3]; 214.33/146.07 3284[label="pr2F4 vyv240 (Neg (Succ vyv241) - vyv244) (vyv240 * vyv239)",fontsize=16,color="black",shape="box"];3284 -> 3307[label="",style="solid", color="black", weight=3]; 214.33/146.07 3873[label="Neg (primDivNatS vyv2710 (Succ vyv28800))",fontsize=16,color="green",shape="box"];3873 -> 3882[label="",style="dashed", color="green", weight=3]; 214.33/146.07 3874 -> 3858[label="",style="dashed", color="red", weight=0]; 214.33/146.07 3874[label="error []",fontsize=16,color="magenta"];3875[label="Pos (primDivNatS vyv2710 (Succ vyv28800))",fontsize=16,color="green",shape="box"];3875 -> 3883[label="",style="dashed", color="green", weight=3]; 214.33/146.07 3876 -> 3858[label="",style="dashed", color="red", weight=0]; 214.33/146.07 3876[label="error []",fontsize=16,color="magenta"];3285 -> 3308[label="",style="dashed", color="red", weight=0]; 214.33/146.07 3285[label="pr2F vyv228 (Pos (Succ vyv229) - fromInt (Pos (Succ Zero))) (vyv228 * vyv227)",fontsize=16,color="magenta"];3285 -> 3317[label="",style="dashed", color="magenta", weight=3]; 214.33/146.07 3798[label="Succ vyv229",fontsize=16,color="green",shape="box"];3799 -> 3795[label="",style="dashed", color="red", weight=0]; 214.33/146.07 3799[label="fromInt (Pos (Succ (Succ Zero)))",fontsize=16,color="magenta"];3287[label="vyv228",fontsize=16,color="green",shape="box"];3288[label="vyv228",fontsize=16,color="green",shape="box"];3289[label="vyv228",fontsize=16,color="green",shape="box"];3290[label="vyv228",fontsize=16,color="green",shape="box"];3291[label="vyv228",fontsize=16,color="green",shape="box"];3344 -> 3280[label="",style="dashed", color="red", weight=0]; 214.33/146.07 3344[label="Pos (Succ vyv229) - vyv245 == fromInt (Pos Zero)",fontsize=16,color="magenta"];3344 -> 3345[label="",style="dashed", color="magenta", weight=3]; 214.33/146.07 3343[label="pr2F3 vyv247 vyv228 (Pos (Succ vyv229) - vyv245) (vyv228 * vyv227)",fontsize=16,color="burlywood",shape="triangle"];4525[label="vyv247/False",fontsize=10,color="white",style="solid",shape="box"];3343 -> 4525[label="",style="solid", color="burlywood", weight=9]; 214.33/146.07 4525 -> 3346[label="",style="solid", color="burlywood", weight=3]; 214.33/146.07 4526[label="vyv247/True",fontsize=10,color="white",style="solid",shape="box"];3343 -> 4526[label="",style="solid", color="burlywood", weight=9]; 214.33/146.07 4526 -> 3347[label="",style="solid", color="burlywood", weight=3]; 214.33/146.07 3867[label="primDivNatS vyv2710 (Succ vyv28500)",fontsize=16,color="burlywood",shape="triangle"];4527[label="vyv2710/Succ vyv27100",fontsize=10,color="white",style="solid",shape="box"];3867 -> 4527[label="",style="solid", color="burlywood", weight=9]; 214.33/146.07 4527 -> 3877[label="",style="solid", color="burlywood", weight=3]; 214.33/146.07 4528[label="vyv2710/Zero",fontsize=10,color="white",style="solid",shape="box"];3867 -> 4528[label="",style="solid", color="burlywood", weight=9]; 214.33/146.07 4528 -> 3878[label="",style="solid", color="burlywood", weight=3]; 214.33/146.07 3868[label="error []",fontsize=16,color="red",shape="box"];3869 -> 3867[label="",style="dashed", color="red", weight=0]; 214.33/146.07 3869[label="primDivNatS vyv2710 (Succ vyv28500)",fontsize=16,color="magenta"];3869 -> 3879[label="",style="dashed", color="magenta", weight=3]; 214.33/146.07 3601[label="vyv1841",fontsize=16,color="green",shape="box"];3602[label="vyv1841 * vyv1841 == fromInt (Pos Zero)",fontsize=16,color="blue",shape="box"];4529[label="== :: Integer -> Integer -> Bool",fontsize=10,color="white",style="solid",shape="box"];3602 -> 4529[label="",style="solid", color="blue", weight=9]; 214.33/146.07 4529 -> 3622[label="",style="solid", color="blue", weight=3]; 214.33/146.07 4530[label="== :: Int -> Int -> Bool",fontsize=10,color="white",style="solid",shape="box"];3602 -> 4530[label="",style="solid", color="blue", weight=9]; 214.33/146.07 4530 -> 3623[label="",style="solid", color="blue", weight=3]; 214.33/146.07 3603[label="vyv1841",fontsize=16,color="green",shape="box"];3604[label="vyv1840",fontsize=16,color="green",shape="box"];3605[label="vyv1840",fontsize=16,color="green",shape="box"];3600[label="reduce2Reduce1 (vyv265 * vyv266) (vyv267 * vyv268) (vyv265 * vyv266) (vyv267 * vyv268) vyv269",fontsize=16,color="burlywood",shape="triangle"];4531[label="vyv269/False",fontsize=10,color="white",style="solid",shape="box"];3600 -> 4531[label="",style="solid", color="burlywood", weight=9]; 214.33/146.07 4531 -> 3624[label="",style="solid", color="burlywood", weight=3]; 214.33/146.07 4532[label="vyv269/True",fontsize=10,color="white",style="solid",shape="box"];3600 -> 4532[label="",style="solid", color="burlywood", weight=9]; 214.33/146.07 4532 -> 3625[label="",style="solid", color="burlywood", weight=3]; 214.33/146.07 3223[label="primMulNat (Succ vyv18400) (Succ vyv18400)",fontsize=16,color="black",shape="box"];3223 -> 3250[label="",style="solid", color="black", weight=3]; 214.33/146.07 3224[label="primMulNat Zero Zero",fontsize=16,color="black",shape="box"];3224 -> 3251[label="",style="solid", color="black", weight=3]; 214.33/146.07 3225[label="vyv1840",fontsize=16,color="green",shape="box"];3835 -> 3795[label="",style="dashed", color="red", weight=0]; 214.33/146.07 3835[label="fromInt (Pos (Succ (Succ Zero)))",fontsize=16,color="magenta"];3836[label="Succ vyv251",fontsize=16,color="green",shape="box"];3617[label="vyv250",fontsize=16,color="green",shape="box"];3618[label="vyv250",fontsize=16,color="green",shape="box"];3619[label="vyv250",fontsize=16,color="green",shape="box"];3620[label="vyv250",fontsize=16,color="green",shape="box"];3621[label="vyv250",fontsize=16,color="green",shape="box"];3307 -> 3320[label="",style="dashed", color="red", weight=0]; 214.33/146.07 3307[label="pr2F3 (Neg (Succ vyv241) - vyv244 == fromInt (Pos Zero)) vyv240 (Neg (Succ vyv241) - vyv244) (vyv240 * vyv239)",fontsize=16,color="magenta"];3307 -> 3321[label="",style="dashed", color="magenta", weight=3]; 214.33/146.07 3882 -> 3867[label="",style="dashed", color="red", weight=0]; 214.33/146.07 3882[label="primDivNatS vyv2710 (Succ vyv28800)",fontsize=16,color="magenta"];3882 -> 3889[label="",style="dashed", color="magenta", weight=3]; 214.33/146.07 3882 -> 3890[label="",style="dashed", color="magenta", weight=3]; 214.33/146.07 3883 -> 3867[label="",style="dashed", color="red", weight=0]; 214.33/146.07 3883[label="primDivNatS vyv2710 (Succ vyv28800)",fontsize=16,color="magenta"];3883 -> 3891[label="",style="dashed", color="magenta", weight=3]; 214.33/146.07 3883 -> 3892[label="",style="dashed", color="magenta", weight=3]; 214.33/146.07 3317 -> 75[label="",style="dashed", color="red", weight=0]; 214.33/146.07 3317[label="fromInt (Pos (Succ Zero))",fontsize=16,color="magenta"];3345[label="Pos (Succ vyv229) - vyv245",fontsize=16,color="black",shape="triangle"];3345 -> 3371[label="",style="solid", color="black", weight=3]; 214.33/146.07 3280[label="vyv243 == fromInt (Pos Zero)",fontsize=16,color="black",shape="triangle"];3280 -> 3306[label="",style="solid", color="black", weight=3]; 214.33/146.07 3346[label="pr2F3 False vyv228 (Pos (Succ vyv229) - vyv245) (vyv228 * vyv227)",fontsize=16,color="black",shape="box"];3346 -> 3372[label="",style="solid", color="black", weight=3]; 214.33/146.07 3347[label="pr2F3 True vyv228 (Pos (Succ vyv229) - vyv245) (vyv228 * vyv227)",fontsize=16,color="black",shape="box"];3347 -> 3373[label="",style="solid", color="black", weight=3]; 214.33/146.07 3877[label="primDivNatS (Succ vyv27100) (Succ vyv28500)",fontsize=16,color="black",shape="box"];3877 -> 3884[label="",style="solid", color="black", weight=3]; 214.33/146.07 3878[label="primDivNatS Zero (Succ vyv28500)",fontsize=16,color="black",shape="box"];3878 -> 3885[label="",style="solid", color="black", weight=3]; 214.33/146.07 3879[label="vyv28500",fontsize=16,color="green",shape="box"];3622 -> 3643[label="",style="dashed", color="red", weight=0]; 214.33/146.07 3622[label="vyv1841 * vyv1841 == fromInt (Pos Zero)",fontsize=16,color="magenta"];3622 -> 3644[label="",style="dashed", color="magenta", weight=3]; 214.33/146.07 3623 -> 3280[label="",style="dashed", color="red", weight=0]; 214.33/146.07 3623[label="vyv1841 * vyv1841 == fromInt (Pos Zero)",fontsize=16,color="magenta"];3623 -> 3646[label="",style="dashed", color="magenta", weight=3]; 214.33/146.07 3624[label="reduce2Reduce1 (vyv265 * vyv266) (vyv267 * vyv268) (vyv265 * vyv266) (vyv267 * vyv268) False",fontsize=16,color="black",shape="box"];3624 -> 3647[label="",style="solid", color="black", weight=3]; 214.33/146.07 3625[label="reduce2Reduce1 (vyv265 * vyv266) (vyv267 * vyv268) (vyv265 * vyv266) (vyv267 * vyv268) True",fontsize=16,color="black",shape="box"];3625 -> 3648[label="",style="solid", color="black", weight=3]; 214.33/146.07 3250 -> 114[label="",style="dashed", color="red", weight=0]; 214.33/146.07 3250[label="primPlusNat (primMulNat vyv18400 (Succ vyv18400)) (Succ vyv18400)",fontsize=16,color="magenta"];3250 -> 3294[label="",style="dashed", color="magenta", weight=3]; 214.33/146.07 3250 -> 3295[label="",style="dashed", color="magenta", weight=3]; 214.33/146.07 3251[label="Zero",fontsize=16,color="green",shape="box"];3321 -> 3280[label="",style="dashed", color="red", weight=0]; 214.33/146.07 3321[label="Neg (Succ vyv241) - vyv244 == fromInt (Pos Zero)",fontsize=16,color="magenta"];3321 -> 3324[label="",style="dashed", color="magenta", weight=3]; 214.33/146.07 3320[label="pr2F3 vyv246 vyv240 (Neg (Succ vyv241) - vyv244) (vyv240 * vyv239)",fontsize=16,color="burlywood",shape="triangle"];4533[label="vyv246/False",fontsize=10,color="white",style="solid",shape="box"];3320 -> 4533[label="",style="solid", color="burlywood", weight=9]; 214.33/146.07 4533 -> 3325[label="",style="solid", color="burlywood", weight=3]; 214.33/146.07 4534[label="vyv246/True",fontsize=10,color="white",style="solid",shape="box"];3320 -> 4534[label="",style="solid", color="burlywood", weight=9]; 214.33/146.07 4534 -> 3326[label="",style="solid", color="burlywood", weight=3]; 214.33/146.07 3889[label="vyv2710",fontsize=16,color="green",shape="box"];3890[label="vyv28800",fontsize=16,color="green",shape="box"];3891[label="vyv2710",fontsize=16,color="green",shape="box"];3892[label="vyv28800",fontsize=16,color="green",shape="box"];3371[label="primMinusInt (Pos (Succ vyv229)) vyv245",fontsize=16,color="burlywood",shape="box"];4535[label="vyv245/Pos vyv2450",fontsize=10,color="white",style="solid",shape="box"];3371 -> 4535[label="",style="solid", color="burlywood", weight=9]; 214.33/146.07 4535 -> 3402[label="",style="solid", color="burlywood", weight=3]; 214.33/146.07 4536[label="vyv245/Neg vyv2450",fontsize=10,color="white",style="solid",shape="box"];3371 -> 4536[label="",style="solid", color="burlywood", weight=9]; 214.33/146.07 4536 -> 3403[label="",style="solid", color="burlywood", weight=3]; 214.33/146.07 3306[label="primEqInt vyv243 (fromInt (Pos Zero))",fontsize=16,color="burlywood",shape="box"];4537[label="vyv243/Pos vyv2430",fontsize=10,color="white",style="solid",shape="box"];3306 -> 4537[label="",style="solid", color="burlywood", weight=9]; 214.33/146.07 4537 -> 3341[label="",style="solid", color="burlywood", weight=3]; 214.33/146.07 4538[label="vyv243/Neg vyv2430",fontsize=10,color="white",style="solid",shape="box"];3306 -> 4538[label="",style="solid", color="burlywood", weight=9]; 214.33/146.07 4538 -> 3342[label="",style="solid", color="burlywood", weight=3]; 214.33/146.07 3372 -> 3052[label="",style="dashed", color="red", weight=0]; 214.33/146.07 3372[label="pr2F0 vyv228 (Pos (Succ vyv229) - vyv245) (vyv228 * vyv227)",fontsize=16,color="magenta"];3372 -> 3404[label="",style="dashed", color="magenta", weight=3]; 214.33/146.07 3372 -> 3405[label="",style="dashed", color="magenta", weight=3]; 214.33/146.07 3372 -> 3406[label="",style="dashed", color="magenta", weight=3]; 214.33/146.07 3373[label="vyv228 * vyv227",fontsize=16,color="blue",shape="box"];4539[label="* :: Integer -> Integer -> Integer",fontsize=10,color="white",style="solid",shape="box"];3373 -> 4539[label="",style="solid", color="blue", weight=9]; 214.33/146.07 4539 -> 3407[label="",style="solid", color="blue", weight=3]; 214.33/146.07 4540[label="* :: (Ratio a) -> (Ratio a) -> Ratio a",fontsize=10,color="white",style="solid",shape="box"];3373 -> 4540[label="",style="solid", color="blue", weight=9]; 214.33/146.07 4540 -> 3408[label="",style="solid", color="blue", weight=3]; 214.33/146.07 4541[label="* :: Double -> Double -> Double",fontsize=10,color="white",style="solid",shape="box"];3373 -> 4541[label="",style="solid", color="blue", weight=9]; 214.33/146.07 4541 -> 3409[label="",style="solid", color="blue", weight=3]; 214.33/146.07 4542[label="* :: Float -> Float -> Float",fontsize=10,color="white",style="solid",shape="box"];3373 -> 4542[label="",style="solid", color="blue", weight=9]; 214.33/146.07 4542 -> 3410[label="",style="solid", color="blue", weight=3]; 214.33/146.07 4543[label="* :: Int -> Int -> Int",fontsize=10,color="white",style="solid",shape="box"];3373 -> 4543[label="",style="solid", color="blue", weight=9]; 214.33/146.07 4543 -> 3411[label="",style="solid", color="blue", weight=3]; 214.33/146.07 3884[label="primDivNatS0 vyv27100 vyv28500 (primGEqNatS vyv27100 vyv28500)",fontsize=16,color="burlywood",shape="box"];4544[label="vyv27100/Succ vyv271000",fontsize=10,color="white",style="solid",shape="box"];3884 -> 4544[label="",style="solid", color="burlywood", weight=9]; 214.33/146.07 4544 -> 3893[label="",style="solid", color="burlywood", weight=3]; 214.33/146.07 4545[label="vyv27100/Zero",fontsize=10,color="white",style="solid",shape="box"];3884 -> 4545[label="",style="solid", color="burlywood", weight=9]; 214.33/146.07 4545 -> 3894[label="",style="solid", color="burlywood", weight=3]; 214.33/146.07 3885[label="Zero",fontsize=16,color="green",shape="box"];3644 -> 3108[label="",style="dashed", color="red", weight=0]; 214.33/146.07 3644[label="vyv1841 * vyv1841",fontsize=16,color="magenta"];3644 -> 3650[label="",style="dashed", color="magenta", weight=3]; 214.33/146.07 3643[label="vyv270 == fromInt (Pos Zero)",fontsize=16,color="burlywood",shape="triangle"];4546[label="vyv270/Integer vyv2700",fontsize=10,color="white",style="solid",shape="box"];3643 -> 4546[label="",style="solid", color="burlywood", weight=9]; 214.33/146.07 4546 -> 3651[label="",style="solid", color="burlywood", weight=3]; 214.33/146.07 3646 -> 3112[label="",style="dashed", color="red", weight=0]; 214.33/146.07 3646[label="vyv1841 * vyv1841",fontsize=16,color="magenta"];3646 -> 3664[label="",style="dashed", color="magenta", weight=3]; 214.33/146.07 3647[label="reduce2Reduce0 (vyv265 * vyv266) (vyv267 * vyv268) (vyv265 * vyv266) (vyv267 * vyv268) otherwise",fontsize=16,color="black",shape="box"];3647 -> 3665[label="",style="solid", color="black", weight=3]; 214.33/146.07 3648[label="error []",fontsize=16,color="black",shape="box"];3648 -> 3666[label="",style="solid", color="black", weight=3]; 214.33/146.07 3294[label="primMulNat vyv18400 (Succ vyv18400)",fontsize=16,color="burlywood",shape="box"];4547[label="vyv18400/Succ vyv184000",fontsize=10,color="white",style="solid",shape="box"];3294 -> 4547[label="",style="solid", color="burlywood", weight=9]; 214.33/146.07 4547 -> 3329[label="",style="solid", color="burlywood", weight=3]; 214.33/146.07 4548[label="vyv18400/Zero",fontsize=10,color="white",style="solid",shape="box"];3294 -> 4548[label="",style="solid", color="burlywood", weight=9]; 214.33/146.07 4548 -> 3330[label="",style="solid", color="burlywood", weight=3]; 214.33/146.07 3295[label="Succ vyv18400",fontsize=16,color="green",shape="box"];3324[label="Neg (Succ vyv241) - vyv244",fontsize=16,color="black",shape="triangle"];3324 -> 3349[label="",style="solid", color="black", weight=3]; 214.33/146.07 3325[label="pr2F3 False vyv240 (Neg (Succ vyv241) - vyv244) (vyv240 * vyv239)",fontsize=16,color="black",shape="box"];3325 -> 3350[label="",style="solid", color="black", weight=3]; 214.33/146.07 3326[label="pr2F3 True vyv240 (Neg (Succ vyv241) - vyv244) (vyv240 * vyv239)",fontsize=16,color="black",shape="box"];3326 -> 3351[label="",style="solid", color="black", weight=3]; 214.33/146.07 3402[label="primMinusInt (Pos (Succ vyv229)) (Pos vyv2450)",fontsize=16,color="black",shape="box"];3402 -> 3455[label="",style="solid", color="black", weight=3]; 214.33/146.07 3403[label="primMinusInt (Pos (Succ vyv229)) (Neg vyv2450)",fontsize=16,color="black",shape="box"];3403 -> 3456[label="",style="solid", color="black", weight=3]; 214.33/146.07 3341[label="primEqInt (Pos vyv2430) (fromInt (Pos Zero))",fontsize=16,color="burlywood",shape="box"];4549[label="vyv2430/Succ vyv24300",fontsize=10,color="white",style="solid",shape="box"];3341 -> 4549[label="",style="solid", color="burlywood", weight=9]; 214.33/146.07 4549 -> 3367[label="",style="solid", color="burlywood", weight=3]; 214.33/146.07 4550[label="vyv2430/Zero",fontsize=10,color="white",style="solid",shape="box"];3341 -> 4550[label="",style="solid", color="burlywood", weight=9]; 214.33/146.07 4550 -> 3368[label="",style="solid", color="burlywood", weight=3]; 214.33/146.07 3342[label="primEqInt (Neg vyv2430) (fromInt (Pos Zero))",fontsize=16,color="burlywood",shape="box"];4551[label="vyv2430/Succ vyv24300",fontsize=10,color="white",style="solid",shape="box"];3342 -> 4551[label="",style="solid", color="burlywood", weight=9]; 214.33/146.07 4551 -> 3369[label="",style="solid", color="burlywood", weight=3]; 214.33/146.07 4552[label="vyv2430/Zero",fontsize=10,color="white",style="solid",shape="box"];3342 -> 4552[label="",style="solid", color="burlywood", weight=9]; 214.33/146.07 4552 -> 3370[label="",style="solid", color="burlywood", weight=3]; 214.33/146.07 3404[label="vyv228 * vyv227",fontsize=16,color="blue",shape="box"];4553[label="* :: Integer -> Integer -> Integer",fontsize=10,color="white",style="solid",shape="box"];3404 -> 4553[label="",style="solid", color="blue", weight=9]; 214.33/146.07 4553 -> 3457[label="",style="solid", color="blue", weight=3]; 214.33/146.07 4554[label="* :: (Ratio a) -> (Ratio a) -> Ratio a",fontsize=10,color="white",style="solid",shape="box"];3404 -> 4554[label="",style="solid", color="blue", weight=9]; 214.33/146.07 4554 -> 3458[label="",style="solid", color="blue", weight=3]; 214.33/146.07 4555[label="* :: Double -> Double -> Double",fontsize=10,color="white",style="solid",shape="box"];3404 -> 4555[label="",style="solid", color="blue", weight=9]; 214.33/146.07 4555 -> 3459[label="",style="solid", color="blue", weight=3]; 214.33/146.07 4556[label="* :: Float -> Float -> Float",fontsize=10,color="white",style="solid",shape="box"];3404 -> 4556[label="",style="solid", color="blue", weight=9]; 214.33/146.07 4556 -> 3460[label="",style="solid", color="blue", weight=3]; 214.33/146.07 4557[label="* :: Int -> Int -> Int",fontsize=10,color="white",style="solid",shape="box"];3404 -> 4557[label="",style="solid", color="blue", weight=9]; 214.33/146.07 4557 -> 3461[label="",style="solid", color="blue", weight=3]; 214.33/146.07 3405 -> 3345[label="",style="dashed", color="red", weight=0]; 214.33/146.07 3405[label="Pos (Succ vyv229) - vyv245",fontsize=16,color="magenta"];3406[label="vyv228",fontsize=16,color="green",shape="box"];3407 -> 3381[label="",style="dashed", color="red", weight=0]; 214.33/146.07 3407[label="vyv228 * vyv227",fontsize=16,color="magenta"];3407 -> 3462[label="",style="dashed", color="magenta", weight=3]; 214.33/146.07 3407 -> 3463[label="",style="dashed", color="magenta", weight=3]; 214.33/146.07 3408 -> 3382[label="",style="dashed", color="red", weight=0]; 214.33/146.07 3408[label="vyv228 * vyv227",fontsize=16,color="magenta"];3408 -> 3464[label="",style="dashed", color="magenta", weight=3]; 214.33/146.07 3408 -> 3465[label="",style="dashed", color="magenta", weight=3]; 214.33/146.07 3409 -> 3383[label="",style="dashed", color="red", weight=0]; 214.33/146.07 3409[label="vyv228 * vyv227",fontsize=16,color="magenta"];3409 -> 3466[label="",style="dashed", color="magenta", weight=3]; 214.33/146.07 3409 -> 3467[label="",style="dashed", color="magenta", weight=3]; 214.33/146.07 3410 -> 3384[label="",style="dashed", color="red", weight=0]; 214.33/146.07 3410[label="vyv228 * vyv227",fontsize=16,color="magenta"];3410 -> 3468[label="",style="dashed", color="magenta", weight=3]; 214.33/146.07 3410 -> 3469[label="",style="dashed", color="magenta", weight=3]; 214.33/146.07 3411 -> 3385[label="",style="dashed", color="red", weight=0]; 214.33/146.07 3411[label="vyv228 * vyv227",fontsize=16,color="magenta"];3411 -> 3470[label="",style="dashed", color="magenta", weight=3]; 214.33/146.07 3411 -> 3471[label="",style="dashed", color="magenta", weight=3]; 214.33/146.07 3893[label="primDivNatS0 (Succ vyv271000) vyv28500 (primGEqNatS (Succ vyv271000) vyv28500)",fontsize=16,color="burlywood",shape="box"];4558[label="vyv28500/Succ vyv285000",fontsize=10,color="white",style="solid",shape="box"];3893 -> 4558[label="",style="solid", color="burlywood", weight=9]; 214.33/146.07 4558 -> 3899[label="",style="solid", color="burlywood", weight=3]; 214.33/146.07 4559[label="vyv28500/Zero",fontsize=10,color="white",style="solid",shape="box"];3893 -> 4559[label="",style="solid", color="burlywood", weight=9]; 214.33/146.07 4559 -> 3900[label="",style="solid", color="burlywood", weight=3]; 214.33/146.07 3894[label="primDivNatS0 Zero vyv28500 (primGEqNatS Zero vyv28500)",fontsize=16,color="burlywood",shape="box"];4560[label="vyv28500/Succ vyv285000",fontsize=10,color="white",style="solid",shape="box"];3894 -> 4560[label="",style="solid", color="burlywood", weight=9]; 214.33/146.07 4560 -> 3901[label="",style="solid", color="burlywood", weight=3]; 214.33/146.07 4561[label="vyv28500/Zero",fontsize=10,color="white",style="solid",shape="box"];3894 -> 4561[label="",style="solid", color="burlywood", weight=9]; 214.33/146.07 4561 -> 3902[label="",style="solid", color="burlywood", weight=3]; 214.33/146.07 3650[label="vyv1841",fontsize=16,color="green",shape="box"];3651[label="Integer vyv2700 == fromInt (Pos Zero)",fontsize=16,color="black",shape="box"];3651 -> 3668[label="",style="solid", color="black", weight=3]; 214.33/146.07 3664[label="vyv1841",fontsize=16,color="green",shape="box"];3665[label="reduce2Reduce0 (vyv265 * vyv266) (vyv267 * vyv268) (vyv265 * vyv266) (vyv267 * vyv268) True",fontsize=16,color="black",shape="box"];3665 -> 3677[label="",style="solid", color="black", weight=3]; 214.33/146.07 3666[label="error []",fontsize=16,color="red",shape="box"];3329[label="primMulNat (Succ vyv184000) (Succ (Succ vyv184000))",fontsize=16,color="black",shape="box"];3329 -> 3353[label="",style="solid", color="black", weight=3]; 214.33/146.07 3330[label="primMulNat Zero (Succ Zero)",fontsize=16,color="black",shape="box"];3330 -> 3354[label="",style="solid", color="black", weight=3]; 214.33/146.07 3349[label="primMinusInt (Neg (Succ vyv241)) vyv244",fontsize=16,color="burlywood",shape="box"];4562[label="vyv244/Pos vyv2440",fontsize=10,color="white",style="solid",shape="box"];3349 -> 4562[label="",style="solid", color="burlywood", weight=9]; 214.33/146.07 4562 -> 3376[label="",style="solid", color="burlywood", weight=3]; 214.33/146.07 4563[label="vyv244/Neg vyv2440",fontsize=10,color="white",style="solid",shape="box"];3349 -> 4563[label="",style="solid", color="burlywood", weight=9]; 214.33/146.07 4563 -> 3377[label="",style="solid", color="burlywood", weight=3]; 214.33/146.07 3350 -> 3052[label="",style="dashed", color="red", weight=0]; 214.33/146.07 3350[label="pr2F0 vyv240 (Neg (Succ vyv241) - vyv244) (vyv240 * vyv239)",fontsize=16,color="magenta"];3350 -> 3378[label="",style="dashed", color="magenta", weight=3]; 214.33/146.07 3350 -> 3379[label="",style="dashed", color="magenta", weight=3]; 214.33/146.07 3350 -> 3380[label="",style="dashed", color="magenta", weight=3]; 214.33/146.07 3351[label="vyv240 * vyv239",fontsize=16,color="blue",shape="box"];4564[label="* :: Integer -> Integer -> Integer",fontsize=10,color="white",style="solid",shape="box"];3351 -> 4564[label="",style="solid", color="blue", weight=9]; 214.33/146.07 4564 -> 3381[label="",style="solid", color="blue", weight=3]; 214.33/146.07 4565[label="* :: (Ratio a) -> (Ratio a) -> Ratio a",fontsize=10,color="white",style="solid",shape="box"];3351 -> 4565[label="",style="solid", color="blue", weight=9]; 214.33/146.07 4565 -> 3382[label="",style="solid", color="blue", weight=3]; 214.33/146.07 4566[label="* :: Double -> Double -> Double",fontsize=10,color="white",style="solid",shape="box"];3351 -> 4566[label="",style="solid", color="blue", weight=9]; 214.33/146.07 4566 -> 3383[label="",style="solid", color="blue", weight=3]; 214.33/146.07 4567[label="* :: Float -> Float -> Float",fontsize=10,color="white",style="solid",shape="box"];3351 -> 4567[label="",style="solid", color="blue", weight=9]; 214.33/146.07 4567 -> 3384[label="",style="solid", color="blue", weight=3]; 214.33/146.07 4568[label="* :: Int -> Int -> Int",fontsize=10,color="white",style="solid",shape="box"];3351 -> 4568[label="",style="solid", color="blue", weight=9]; 214.33/146.07 4568 -> 3385[label="",style="solid", color="blue", weight=3]; 214.33/146.07 3455[label="primMinusNat (Succ vyv229) vyv2450",fontsize=16,color="burlywood",shape="box"];4569[label="vyv2450/Succ vyv24500",fontsize=10,color="white",style="solid",shape="box"];3455 -> 4569[label="",style="solid", color="burlywood", weight=9]; 214.33/146.07 4569 -> 3499[label="",style="solid", color="burlywood", weight=3]; 214.33/146.07 4570[label="vyv2450/Zero",fontsize=10,color="white",style="solid",shape="box"];3455 -> 4570[label="",style="solid", color="burlywood", weight=9]; 214.33/146.07 4570 -> 3500[label="",style="solid", color="burlywood", weight=3]; 214.33/146.07 3456[label="Pos (primPlusNat (Succ vyv229) vyv2450)",fontsize=16,color="green",shape="box"];3456 -> 3501[label="",style="dashed", color="green", weight=3]; 214.33/146.07 3367[label="primEqInt (Pos (Succ vyv24300)) (fromInt (Pos Zero))",fontsize=16,color="black",shape="box"];3367 -> 3398[label="",style="solid", color="black", weight=3]; 214.33/146.07 3368[label="primEqInt (Pos Zero) (fromInt (Pos Zero))",fontsize=16,color="black",shape="box"];3368 -> 3399[label="",style="solid", color="black", weight=3]; 214.33/146.07 3369[label="primEqInt (Neg (Succ vyv24300)) (fromInt (Pos Zero))",fontsize=16,color="black",shape="box"];3369 -> 3400[label="",style="solid", color="black", weight=3]; 214.33/146.07 3370[label="primEqInt (Neg Zero) (fromInt (Pos Zero))",fontsize=16,color="black",shape="box"];3370 -> 3401[label="",style="solid", color="black", weight=3]; 214.33/146.07 3457 -> 3381[label="",style="dashed", color="red", weight=0]; 214.33/146.07 3457[label="vyv228 * vyv227",fontsize=16,color="magenta"];3457 -> 3502[label="",style="dashed", color="magenta", weight=3]; 214.33/146.07 3457 -> 3503[label="",style="dashed", color="magenta", weight=3]; 214.33/146.07 3458 -> 3382[label="",style="dashed", color="red", weight=0]; 214.33/146.07 3458[label="vyv228 * vyv227",fontsize=16,color="magenta"];3458 -> 3504[label="",style="dashed", color="magenta", weight=3]; 214.33/146.07 3458 -> 3505[label="",style="dashed", color="magenta", weight=3]; 214.33/146.07 3459 -> 3383[label="",style="dashed", color="red", weight=0]; 214.33/146.07 3459[label="vyv228 * vyv227",fontsize=16,color="magenta"];3459 -> 3506[label="",style="dashed", color="magenta", weight=3]; 214.33/146.07 3459 -> 3507[label="",style="dashed", color="magenta", weight=3]; 214.33/146.07 3460 -> 3384[label="",style="dashed", color="red", weight=0]; 214.33/146.07 3460[label="vyv228 * vyv227",fontsize=16,color="magenta"];3460 -> 3508[label="",style="dashed", color="magenta", weight=3]; 214.33/146.07 3460 -> 3509[label="",style="dashed", color="magenta", weight=3]; 214.33/146.07 3461 -> 3385[label="",style="dashed", color="red", weight=0]; 214.33/146.07 3461[label="vyv228 * vyv227",fontsize=16,color="magenta"];3461 -> 3510[label="",style="dashed", color="magenta", weight=3]; 214.33/146.07 3461 -> 3511[label="",style="dashed", color="magenta", weight=3]; 214.33/146.07 3462[label="vyv227",fontsize=16,color="green",shape="box"];3463[label="vyv228",fontsize=16,color="green",shape="box"];3381[label="vyv240 * vyv239",fontsize=16,color="black",shape="triangle"];3381 -> 3421[label="",style="solid", color="black", weight=3]; 214.33/146.07 3464[label="vyv227",fontsize=16,color="green",shape="box"];3465[label="vyv228",fontsize=16,color="green",shape="box"];3382[label="vyv240 * vyv239",fontsize=16,color="burlywood",shape="triangle"];4571[label="vyv240/vyv2400 :% vyv2401",fontsize=10,color="white",style="solid",shape="box"];3382 -> 4571[label="",style="solid", color="burlywood", weight=9]; 214.33/146.07 4571 -> 3422[label="",style="solid", color="burlywood", weight=3]; 214.33/146.07 3466[label="vyv227",fontsize=16,color="green",shape="box"];3467[label="vyv228",fontsize=16,color="green",shape="box"];3383[label="vyv240 * vyv239",fontsize=16,color="black",shape="triangle"];3383 -> 3423[label="",style="solid", color="black", weight=3]; 214.33/146.07 3468[label="vyv227",fontsize=16,color="green",shape="box"];3469[label="vyv228",fontsize=16,color="green",shape="box"];3384[label="vyv240 * vyv239",fontsize=16,color="black",shape="triangle"];3384 -> 3424[label="",style="solid", color="black", weight=3]; 214.33/146.07 3470[label="vyv227",fontsize=16,color="green",shape="box"];3471[label="vyv228",fontsize=16,color="green",shape="box"];3385[label="vyv240 * vyv239",fontsize=16,color="black",shape="triangle"];3385 -> 3425[label="",style="solid", color="black", weight=3]; 214.33/146.07 3899[label="primDivNatS0 (Succ vyv271000) (Succ vyv285000) (primGEqNatS (Succ vyv271000) (Succ vyv285000))",fontsize=16,color="black",shape="box"];3899 -> 3906[label="",style="solid", color="black", weight=3]; 214.33/146.07 3900[label="primDivNatS0 (Succ vyv271000) Zero (primGEqNatS (Succ vyv271000) Zero)",fontsize=16,color="black",shape="box"];3900 -> 3907[label="",style="solid", color="black", weight=3]; 214.33/146.07 3901[label="primDivNatS0 Zero (Succ vyv285000) (primGEqNatS Zero (Succ vyv285000))",fontsize=16,color="black",shape="box"];3901 -> 3908[label="",style="solid", color="black", weight=3]; 214.33/146.07 3902[label="primDivNatS0 Zero Zero (primGEqNatS Zero Zero)",fontsize=16,color="black",shape="box"];3902 -> 3909[label="",style="solid", color="black", weight=3]; 214.33/146.07 3668[label="Integer vyv2700 == Integer (Pos Zero)",fontsize=16,color="black",shape="box"];3668 -> 3678[label="",style="solid", color="black", weight=3]; 214.33/146.07 3677[label="vyv265 * vyv266 `quot` reduce2D (vyv265 * vyv266) (vyv267 * vyv268) :% (vyv267 * vyv268 `quot` reduce2D (vyv265 * vyv266) (vyv267 * vyv268))",fontsize=16,color="green",shape="box"];3677 -> 3681[label="",style="dashed", color="green", weight=3]; 214.33/146.07 3677 -> 3682[label="",style="dashed", color="green", weight=3]; 214.33/146.07 3353 -> 114[label="",style="dashed", color="red", weight=0]; 214.33/146.07 3353[label="primPlusNat (primMulNat vyv184000 (Succ (Succ vyv184000))) (Succ (Succ vyv184000))",fontsize=16,color="magenta"];3353 -> 3388[label="",style="dashed", color="magenta", weight=3]; 214.33/146.07 3353 -> 3389[label="",style="dashed", color="magenta", weight=3]; 214.33/146.07 3354[label="Zero",fontsize=16,color="green",shape="box"];3376[label="primMinusInt (Neg (Succ vyv241)) (Pos vyv2440)",fontsize=16,color="black",shape="box"];3376 -> 3414[label="",style="solid", color="black", weight=3]; 214.33/146.07 3377[label="primMinusInt (Neg (Succ vyv241)) (Neg vyv2440)",fontsize=16,color="black",shape="box"];3377 -> 3415[label="",style="solid", color="black", weight=3]; 214.33/146.07 3378[label="vyv240 * vyv239",fontsize=16,color="blue",shape="box"];4572[label="* :: Integer -> Integer -> Integer",fontsize=10,color="white",style="solid",shape="box"];3378 -> 4572[label="",style="solid", color="blue", weight=9]; 214.33/146.07 4572 -> 3416[label="",style="solid", color="blue", weight=3]; 214.33/146.07 4573[label="* :: (Ratio a) -> (Ratio a) -> Ratio a",fontsize=10,color="white",style="solid",shape="box"];3378 -> 4573[label="",style="solid", color="blue", weight=9]; 214.33/146.07 4573 -> 3417[label="",style="solid", color="blue", weight=3]; 214.33/146.07 4574[label="* :: Double -> Double -> Double",fontsize=10,color="white",style="solid",shape="box"];3378 -> 4574[label="",style="solid", color="blue", weight=9]; 214.33/146.07 4574 -> 3418[label="",style="solid", color="blue", weight=3]; 214.33/146.07 4575[label="* :: Float -> Float -> Float",fontsize=10,color="white",style="solid",shape="box"];3378 -> 4575[label="",style="solid", color="blue", weight=9]; 214.33/146.07 4575 -> 3419[label="",style="solid", color="blue", weight=3]; 214.33/146.07 4576[label="* :: Int -> Int -> Int",fontsize=10,color="white",style="solid",shape="box"];3378 -> 4576[label="",style="solid", color="blue", weight=9]; 214.33/146.07 4576 -> 3420[label="",style="solid", color="blue", weight=3]; 214.33/146.07 3379 -> 3324[label="",style="dashed", color="red", weight=0]; 214.33/146.07 3379[label="Neg (Succ vyv241) - vyv244",fontsize=16,color="magenta"];3380[label="vyv240",fontsize=16,color="green",shape="box"];3499[label="primMinusNat (Succ vyv229) (Succ vyv24500)",fontsize=16,color="black",shape="box"];3499 -> 3529[label="",style="solid", color="black", weight=3]; 214.33/146.07 3500[label="primMinusNat (Succ vyv229) Zero",fontsize=16,color="black",shape="box"];3500 -> 3530[label="",style="solid", color="black", weight=3]; 214.33/146.07 3501 -> 114[label="",style="dashed", color="red", weight=0]; 214.33/146.07 3501[label="primPlusNat (Succ vyv229) vyv2450",fontsize=16,color="magenta"];3501 -> 3531[label="",style="dashed", color="magenta", weight=3]; 214.33/146.07 3501 -> 3532[label="",style="dashed", color="magenta", weight=3]; 214.33/146.07 3398 -> 3366[label="",style="dashed", color="red", weight=0]; 214.33/146.07 3398[label="primEqInt (Pos (Succ vyv24300)) (Pos Zero)",fontsize=16,color="magenta"];3398 -> 3475[label="",style="dashed", color="magenta", weight=3]; 214.33/146.07 3399 -> 3366[label="",style="dashed", color="red", weight=0]; 214.33/146.07 3399[label="primEqInt (Pos Zero) (Pos Zero)",fontsize=16,color="magenta"];3399 -> 3476[label="",style="dashed", color="magenta", weight=3]; 214.33/146.07 3400 -> 3366[label="",style="dashed", color="red", weight=0]; 214.33/146.07 3400[label="primEqInt (Neg (Succ vyv24300)) (Pos Zero)",fontsize=16,color="magenta"];3400 -> 3477[label="",style="dashed", color="magenta", weight=3]; 214.33/146.07 3401 -> 3366[label="",style="dashed", color="red", weight=0]; 214.33/146.07 3401[label="primEqInt (Neg Zero) (Pos Zero)",fontsize=16,color="magenta"];3401 -> 3478[label="",style="dashed", color="magenta", weight=3]; 214.33/146.07 3502[label="vyv227",fontsize=16,color="green",shape="box"];3503[label="vyv228",fontsize=16,color="green",shape="box"];3504[label="vyv227",fontsize=16,color="green",shape="box"];3505[label="vyv228",fontsize=16,color="green",shape="box"];3506[label="vyv227",fontsize=16,color="green",shape="box"];3507[label="vyv228",fontsize=16,color="green",shape="box"];3508[label="vyv227",fontsize=16,color="green",shape="box"];3509[label="vyv228",fontsize=16,color="green",shape="box"];3510[label="vyv227",fontsize=16,color="green",shape="box"];3511[label="vyv228",fontsize=16,color="green",shape="box"];3421[label="error []",fontsize=16,color="red",shape="box"];3422[label="vyv2400 :% vyv2401 * vyv239",fontsize=16,color="burlywood",shape="box"];4577[label="vyv239/vyv2390 :% vyv2391",fontsize=10,color="white",style="solid",shape="box"];3422 -> 4577[label="",style="solid", color="burlywood", weight=9]; 214.33/146.07 4577 -> 3482[label="",style="solid", color="burlywood", weight=3]; 214.33/146.07 3423[label="error []",fontsize=16,color="red",shape="box"];3424[label="error []",fontsize=16,color="red",shape="box"];3425[label="primMulInt vyv240 vyv239",fontsize=16,color="burlywood",shape="box"];4578[label="vyv240/Pos vyv2400",fontsize=10,color="white",style="solid",shape="box"];3425 -> 4578[label="",style="solid", color="burlywood", weight=9]; 214.33/146.07 4578 -> 3483[label="",style="solid", color="burlywood", weight=3]; 214.33/146.07 4579[label="vyv240/Neg vyv2400",fontsize=10,color="white",style="solid",shape="box"];3425 -> 4579[label="",style="solid", color="burlywood", weight=9]; 214.33/146.07 4579 -> 3484[label="",style="solid", color="burlywood", weight=3]; 214.33/146.07 3906 -> 4167[label="",style="dashed", color="red", weight=0]; 214.33/146.07 3906[label="primDivNatS0 (Succ vyv271000) (Succ vyv285000) (primGEqNatS vyv271000 vyv285000)",fontsize=16,color="magenta"];3906 -> 4168[label="",style="dashed", color="magenta", weight=3]; 214.33/146.07 3906 -> 4169[label="",style="dashed", color="magenta", weight=3]; 214.33/146.07 3906 -> 4170[label="",style="dashed", color="magenta", weight=3]; 214.33/146.07 3906 -> 4171[label="",style="dashed", color="magenta", weight=3]; 214.33/146.07 3907[label="primDivNatS0 (Succ vyv271000) Zero True",fontsize=16,color="black",shape="box"];3907 -> 3914[label="",style="solid", color="black", weight=3]; 214.33/146.07 3908[label="primDivNatS0 Zero (Succ vyv285000) False",fontsize=16,color="black",shape="box"];3908 -> 3915[label="",style="solid", color="black", weight=3]; 214.33/146.07 3909[label="primDivNatS0 Zero Zero True",fontsize=16,color="black",shape="box"];3909 -> 3916[label="",style="solid", color="black", weight=3]; 214.33/146.07 3678 -> 3366[label="",style="dashed", color="red", weight=0]; 214.33/146.07 3678[label="primEqInt vyv2700 (Pos Zero)",fontsize=16,color="magenta"];3678 -> 3683[label="",style="dashed", color="magenta", weight=3]; 214.33/146.07 3681[label="vyv265 * vyv266 `quot` reduce2D (vyv265 * vyv266) (vyv267 * vyv268)",fontsize=16,color="blue",shape="box"];4580[label="`quot` :: Int -> Int -> Int",fontsize=10,color="white",style="solid",shape="box"];3681 -> 4580[label="",style="solid", color="blue", weight=9]; 214.33/146.07 4580 -> 3686[label="",style="solid", color="blue", weight=3]; 214.33/146.07 4581[label="`quot` :: Integer -> Integer -> Integer",fontsize=10,color="white",style="solid",shape="box"];3681 -> 4581[label="",style="solid", color="blue", weight=9]; 214.33/146.07 4581 -> 3687[label="",style="solid", color="blue", weight=3]; 214.33/146.07 3682[label="vyv267 * vyv268 `quot` reduce2D (vyv265 * vyv266) (vyv267 * vyv268)",fontsize=16,color="blue",shape="box"];4582[label="`quot` :: Int -> Int -> Int",fontsize=10,color="white",style="solid",shape="box"];3682 -> 4582[label="",style="solid", color="blue", weight=9]; 214.33/146.07 4582 -> 3688[label="",style="solid", color="blue", weight=3]; 214.33/146.07 4583[label="`quot` :: Integer -> Integer -> Integer",fontsize=10,color="white",style="solid",shape="box"];3682 -> 4583[label="",style="solid", color="blue", weight=9]; 214.33/146.07 4583 -> 3689[label="",style="solid", color="blue", weight=3]; 214.33/146.07 3388[label="primMulNat vyv184000 (Succ (Succ vyv184000))",fontsize=16,color="burlywood",shape="box"];4584[label="vyv184000/Succ vyv1840000",fontsize=10,color="white",style="solid",shape="box"];3388 -> 4584[label="",style="solid", color="burlywood", weight=9]; 214.33/146.07 4584 -> 3430[label="",style="solid", color="burlywood", weight=3]; 214.33/146.07 4585[label="vyv184000/Zero",fontsize=10,color="white",style="solid",shape="box"];3388 -> 4585[label="",style="solid", color="burlywood", weight=9]; 214.33/146.07 4585 -> 3431[label="",style="solid", color="burlywood", weight=3]; 214.33/146.07 3389[label="Succ (Succ vyv184000)",fontsize=16,color="green",shape="box"];3414[label="Neg (primPlusNat (Succ vyv241) vyv2440)",fontsize=16,color="green",shape="box"];3414 -> 3479[label="",style="dashed", color="green", weight=3]; 214.33/146.07 3415[label="primMinusNat vyv2440 (Succ vyv241)",fontsize=16,color="burlywood",shape="box"];4586[label="vyv2440/Succ vyv24400",fontsize=10,color="white",style="solid",shape="box"];3415 -> 4586[label="",style="solid", color="burlywood", weight=9]; 214.33/146.07 4586 -> 3480[label="",style="solid", color="burlywood", weight=3]; 214.33/146.07 4587[label="vyv2440/Zero",fontsize=10,color="white",style="solid",shape="box"];3415 -> 4587[label="",style="solid", color="burlywood", weight=9]; 214.33/146.07 4587 -> 3481[label="",style="solid", color="burlywood", weight=3]; 214.33/146.07 3416 -> 3381[label="",style="dashed", color="red", weight=0]; 214.33/146.07 3416[label="vyv240 * vyv239",fontsize=16,color="magenta"];3417 -> 3382[label="",style="dashed", color="red", weight=0]; 214.33/146.07 3417[label="vyv240 * vyv239",fontsize=16,color="magenta"];3418 -> 3383[label="",style="dashed", color="red", weight=0]; 214.33/146.07 3418[label="vyv240 * vyv239",fontsize=16,color="magenta"];3419 -> 3384[label="",style="dashed", color="red", weight=0]; 214.33/146.07 3419[label="vyv240 * vyv239",fontsize=16,color="magenta"];3420 -> 3385[label="",style="dashed", color="red", weight=0]; 214.33/146.07 3420[label="vyv240 * vyv239",fontsize=16,color="magenta"];3529[label="primMinusNat vyv229 vyv24500",fontsize=16,color="burlywood",shape="triangle"];4588[label="vyv229/Succ vyv2290",fontsize=10,color="white",style="solid",shape="box"];3529 -> 4588[label="",style="solid", color="burlywood", weight=9]; 214.33/146.07 4588 -> 3571[label="",style="solid", color="burlywood", weight=3]; 214.33/146.07 4589[label="vyv229/Zero",fontsize=10,color="white",style="solid",shape="box"];3529 -> 4589[label="",style="solid", color="burlywood", weight=9]; 214.33/146.07 4589 -> 3572[label="",style="solid", color="burlywood", weight=3]; 214.33/146.07 3530[label="Pos (Succ vyv229)",fontsize=16,color="green",shape="box"];3531[label="Succ vyv229",fontsize=16,color="green",shape="box"];3532[label="vyv2450",fontsize=16,color="green",shape="box"];3475[label="Pos (Succ vyv24300)",fontsize=16,color="green",shape="box"];3366[label="primEqInt vyv2420 (Pos Zero)",fontsize=16,color="burlywood",shape="triangle"];4590[label="vyv2420/Pos vyv24200",fontsize=10,color="white",style="solid",shape="box"];3366 -> 4590[label="",style="solid", color="burlywood", weight=9]; 214.33/146.07 4590 -> 3396[label="",style="solid", color="burlywood", weight=3]; 214.33/146.07 4591[label="vyv2420/Neg vyv24200",fontsize=10,color="white",style="solid",shape="box"];3366 -> 4591[label="",style="solid", color="burlywood", weight=9]; 214.33/146.07 4591 -> 3397[label="",style="solid", color="burlywood", weight=3]; 214.33/146.07 3476[label="Pos Zero",fontsize=16,color="green",shape="box"];3477[label="Neg (Succ vyv24300)",fontsize=16,color="green",shape="box"];3478[label="Neg Zero",fontsize=16,color="green",shape="box"];3482[label="vyv2400 :% vyv2401 * (vyv2390 :% vyv2391)",fontsize=16,color="black",shape="box"];3482 -> 3514[label="",style="solid", color="black", weight=3]; 214.33/146.07 3483[label="primMulInt (Pos vyv2400) vyv239",fontsize=16,color="burlywood",shape="box"];4592[label="vyv239/Pos vyv2390",fontsize=10,color="white",style="solid",shape="box"];3483 -> 4592[label="",style="solid", color="burlywood", weight=9]; 214.33/146.07 4592 -> 3515[label="",style="solid", color="burlywood", weight=3]; 214.33/146.07 4593[label="vyv239/Neg vyv2390",fontsize=10,color="white",style="solid",shape="box"];3483 -> 4593[label="",style="solid", color="burlywood", weight=9]; 214.33/146.07 4593 -> 3516[label="",style="solid", color="burlywood", weight=3]; 214.33/146.07 3484[label="primMulInt (Neg vyv2400) vyv239",fontsize=16,color="burlywood",shape="box"];4594[label="vyv239/Pos vyv2390",fontsize=10,color="white",style="solid",shape="box"];3484 -> 4594[label="",style="solid", color="burlywood", weight=9]; 214.33/146.07 4594 -> 3517[label="",style="solid", color="burlywood", weight=3]; 214.33/146.07 4595[label="vyv239/Neg vyv2390",fontsize=10,color="white",style="solid",shape="box"];3484 -> 4595[label="",style="solid", color="burlywood", weight=9]; 214.33/146.07 4595 -> 3518[label="",style="solid", color="burlywood", weight=3]; 214.33/146.07 4168[label="vyv271000",fontsize=16,color="green",shape="box"];4169[label="vyv271000",fontsize=16,color="green",shape="box"];4170[label="vyv285000",fontsize=16,color="green",shape="box"];4171[label="vyv285000",fontsize=16,color="green",shape="box"];4167[label="primDivNatS0 (Succ vyv311) (Succ vyv312) (primGEqNatS vyv313 vyv314)",fontsize=16,color="burlywood",shape="triangle"];4596[label="vyv313/Succ vyv3130",fontsize=10,color="white",style="solid",shape="box"];4167 -> 4596[label="",style="solid", color="burlywood", weight=9]; 214.33/146.07 4596 -> 4200[label="",style="solid", color="burlywood", weight=3]; 214.33/146.07 4597[label="vyv313/Zero",fontsize=10,color="white",style="solid",shape="box"];4167 -> 4597[label="",style="solid", color="burlywood", weight=9]; 214.33/146.07 4597 -> 4201[label="",style="solid", color="burlywood", weight=3]; 214.33/146.07 3914[label="Succ (primDivNatS (primMinusNatS (Succ vyv271000) Zero) (Succ Zero))",fontsize=16,color="green",shape="box"];3914 -> 3924[label="",style="dashed", color="green", weight=3]; 214.33/146.07 3915[label="Zero",fontsize=16,color="green",shape="box"];3916[label="Succ (primDivNatS (primMinusNatS Zero Zero) (Succ Zero))",fontsize=16,color="green",shape="box"];3916 -> 3925[label="",style="dashed", color="green", weight=3]; 214.33/146.07 3683[label="vyv2700",fontsize=16,color="green",shape="box"];3686 -> 3690[label="",style="dashed", color="red", weight=0]; 214.33/146.07 3686[label="vyv265 * vyv266 `quot` reduce2D (vyv265 * vyv266) (vyv267 * vyv268)",fontsize=16,color="magenta"];3686 -> 3691[label="",style="dashed", color="magenta", weight=3]; 214.33/146.07 3686 -> 3692[label="",style="dashed", color="magenta", weight=3]; 214.33/146.07 3686 -> 3693[label="",style="dashed", color="magenta", weight=3]; 214.33/146.07 3687 -> 3697[label="",style="dashed", color="red", weight=0]; 214.33/146.07 3687[label="vyv265 * vyv266 `quot` reduce2D (vyv265 * vyv266) (vyv267 * vyv268)",fontsize=16,color="magenta"];3687 -> 3698[label="",style="dashed", color="magenta", weight=3]; 214.33/146.07 3687 -> 3699[label="",style="dashed", color="magenta", weight=3]; 214.33/146.07 3687 -> 3700[label="",style="dashed", color="magenta", weight=3]; 214.33/146.07 3688 -> 3690[label="",style="dashed", color="red", weight=0]; 214.33/146.07 3688[label="vyv267 * vyv268 `quot` reduce2D (vyv265 * vyv266) (vyv267 * vyv268)",fontsize=16,color="magenta"];3688 -> 3694[label="",style="dashed", color="magenta", weight=3]; 214.33/146.07 3688 -> 3695[label="",style="dashed", color="magenta", weight=3]; 214.33/146.07 3688 -> 3696[label="",style="dashed", color="magenta", weight=3]; 214.33/146.07 3689 -> 3697[label="",style="dashed", color="red", weight=0]; 214.33/146.07 3689[label="vyv267 * vyv268 `quot` reduce2D (vyv265 * vyv266) (vyv267 * vyv268)",fontsize=16,color="magenta"];3689 -> 3701[label="",style="dashed", color="magenta", weight=3]; 214.33/146.07 3689 -> 3702[label="",style="dashed", color="magenta", weight=3]; 214.33/146.07 3689 -> 3703[label="",style="dashed", color="magenta", weight=3]; 214.33/146.07 3430[label="primMulNat (Succ vyv1840000) (Succ (Succ (Succ vyv1840000)))",fontsize=16,color="black",shape="box"];3430 -> 3533[label="",style="solid", color="black", weight=3]; 214.33/146.07 3431[label="primMulNat Zero (Succ (Succ Zero))",fontsize=16,color="black",shape="box"];3431 -> 3534[label="",style="solid", color="black", weight=3]; 214.33/146.07 3479 -> 114[label="",style="dashed", color="red", weight=0]; 214.33/146.07 3479[label="primPlusNat (Succ vyv241) vyv2440",fontsize=16,color="magenta"];3479 -> 3535[label="",style="dashed", color="magenta", weight=3]; 214.33/146.07 3479 -> 3536[label="",style="dashed", color="magenta", weight=3]; 214.33/146.07 3480[label="primMinusNat (Succ vyv24400) (Succ vyv241)",fontsize=16,color="black",shape="box"];3480 -> 3537[label="",style="solid", color="black", weight=3]; 214.33/146.07 3481[label="primMinusNat Zero (Succ vyv241)",fontsize=16,color="black",shape="box"];3481 -> 3538[label="",style="solid", color="black", weight=3]; 214.33/146.07 3571[label="primMinusNat (Succ vyv2290) vyv24500",fontsize=16,color="burlywood",shape="box"];4598[label="vyv24500/Succ vyv245000",fontsize=10,color="white",style="solid",shape="box"];3571 -> 4598[label="",style="solid", color="burlywood", weight=9]; 214.33/146.07 4598 -> 3592[label="",style="solid", color="burlywood", weight=3]; 214.33/146.07 4599[label="vyv24500/Zero",fontsize=10,color="white",style="solid",shape="box"];3571 -> 4599[label="",style="solid", color="burlywood", weight=9]; 214.33/146.07 4599 -> 3593[label="",style="solid", color="burlywood", weight=3]; 214.33/146.07 3572[label="primMinusNat Zero vyv24500",fontsize=16,color="burlywood",shape="box"];4600[label="vyv24500/Succ vyv245000",fontsize=10,color="white",style="solid",shape="box"];3572 -> 4600[label="",style="solid", color="burlywood", weight=9]; 214.33/146.07 4600 -> 3594[label="",style="solid", color="burlywood", weight=3]; 214.33/146.07 4601[label="vyv24500/Zero",fontsize=10,color="white",style="solid",shape="box"];3572 -> 4601[label="",style="solid", color="burlywood", weight=9]; 214.33/146.07 4601 -> 3595[label="",style="solid", color="burlywood", weight=3]; 214.33/146.07 3396[label="primEqInt (Pos vyv24200) (Pos Zero)",fontsize=16,color="burlywood",shape="box"];4602[label="vyv24200/Succ vyv242000",fontsize=10,color="white",style="solid",shape="box"];3396 -> 4602[label="",style="solid", color="burlywood", weight=9]; 214.33/146.07 4602 -> 3485[label="",style="solid", color="burlywood", weight=3]; 214.33/146.07 4603[label="vyv24200/Zero",fontsize=10,color="white",style="solid",shape="box"];3396 -> 4603[label="",style="solid", color="burlywood", weight=9]; 214.33/146.07 4603 -> 3486[label="",style="solid", color="burlywood", weight=3]; 214.33/146.07 3397[label="primEqInt (Neg vyv24200) (Pos Zero)",fontsize=16,color="burlywood",shape="box"];4604[label="vyv24200/Succ vyv242000",fontsize=10,color="white",style="solid",shape="box"];3397 -> 4604[label="",style="solid", color="burlywood", weight=9]; 214.33/146.07 4604 -> 3487[label="",style="solid", color="burlywood", weight=3]; 214.33/146.07 4605[label="vyv24200/Zero",fontsize=10,color="white",style="solid",shape="box"];3397 -> 4605[label="",style="solid", color="burlywood", weight=9]; 214.33/146.07 4605 -> 3488[label="",style="solid", color="burlywood", weight=3]; 214.33/146.07 3514[label="reduce (vyv2400 * vyv2390) (vyv2401 * vyv2391)",fontsize=16,color="black",shape="box"];3514 -> 3541[label="",style="solid", color="black", weight=3]; 214.33/146.07 3515[label="primMulInt (Pos vyv2400) (Pos vyv2390)",fontsize=16,color="black",shape="box"];3515 -> 3542[label="",style="solid", color="black", weight=3]; 214.33/146.07 3516[label="primMulInt (Pos vyv2400) (Neg vyv2390)",fontsize=16,color="black",shape="box"];3516 -> 3543[label="",style="solid", color="black", weight=3]; 214.33/146.07 3517[label="primMulInt (Neg vyv2400) (Pos vyv2390)",fontsize=16,color="black",shape="box"];3517 -> 3544[label="",style="solid", color="black", weight=3]; 214.33/146.07 3518[label="primMulInt (Neg vyv2400) (Neg vyv2390)",fontsize=16,color="black",shape="box"];3518 -> 3545[label="",style="solid", color="black", weight=3]; 214.33/146.07 4200[label="primDivNatS0 (Succ vyv311) (Succ vyv312) (primGEqNatS (Succ vyv3130) vyv314)",fontsize=16,color="burlywood",shape="box"];4606[label="vyv314/Succ vyv3140",fontsize=10,color="white",style="solid",shape="box"];4200 -> 4606[label="",style="solid", color="burlywood", weight=9]; 214.33/146.07 4606 -> 4207[label="",style="solid", color="burlywood", weight=3]; 214.33/146.07 4607[label="vyv314/Zero",fontsize=10,color="white",style="solid",shape="box"];4200 -> 4607[label="",style="solid", color="burlywood", weight=9]; 214.33/146.07 4607 -> 4208[label="",style="solid", color="burlywood", weight=3]; 214.33/146.07 4201[label="primDivNatS0 (Succ vyv311) (Succ vyv312) (primGEqNatS Zero vyv314)",fontsize=16,color="burlywood",shape="box"];4608[label="vyv314/Succ vyv3140",fontsize=10,color="white",style="solid",shape="box"];4201 -> 4608[label="",style="solid", color="burlywood", weight=9]; 214.33/146.07 4608 -> 4209[label="",style="solid", color="burlywood", weight=3]; 214.33/146.07 4609[label="vyv314/Zero",fontsize=10,color="white",style="solid",shape="box"];4201 -> 4609[label="",style="solid", color="burlywood", weight=9]; 214.33/146.07 4609 -> 4210[label="",style="solid", color="burlywood", weight=3]; 214.33/146.07 3924 -> 3867[label="",style="dashed", color="red", weight=0]; 214.33/146.07 3924[label="primDivNatS (primMinusNatS (Succ vyv271000) Zero) (Succ Zero)",fontsize=16,color="magenta"];3924 -> 3933[label="",style="dashed", color="magenta", weight=3]; 214.33/146.07 3924 -> 3934[label="",style="dashed", color="magenta", weight=3]; 214.33/146.07 3925 -> 3867[label="",style="dashed", color="red", weight=0]; 214.33/146.07 3925[label="primDivNatS (primMinusNatS Zero Zero) (Succ Zero)",fontsize=16,color="magenta"];3925 -> 3935[label="",style="dashed", color="magenta", weight=3]; 214.33/146.07 3925 -> 3936[label="",style="dashed", color="magenta", weight=3]; 214.33/146.07 3691 -> 3385[label="",style="dashed", color="red", weight=0]; 214.33/146.07 3691[label="vyv265 * vyv266",fontsize=16,color="magenta"];3691 -> 3704[label="",style="dashed", color="magenta", weight=3]; 214.33/146.07 3691 -> 3705[label="",style="dashed", color="magenta", weight=3]; 214.33/146.07 3692 -> 3385[label="",style="dashed", color="red", weight=0]; 214.33/146.07 3692[label="vyv265 * vyv266",fontsize=16,color="magenta"];3692 -> 3706[label="",style="dashed", color="magenta", weight=3]; 214.33/146.07 3692 -> 3707[label="",style="dashed", color="magenta", weight=3]; 214.33/146.07 3693 -> 3385[label="",style="dashed", color="red", weight=0]; 214.33/146.07 3693[label="vyv267 * vyv268",fontsize=16,color="magenta"];3693 -> 3708[label="",style="dashed", color="magenta", weight=3]; 214.33/146.07 3693 -> 3709[label="",style="dashed", color="magenta", weight=3]; 214.33/146.07 3690[label="vyv271 `quot` reduce2D vyv273 vyv272",fontsize=16,color="black",shape="triangle"];3690 -> 3710[label="",style="solid", color="black", weight=3]; 214.33/146.07 3698 -> 3381[label="",style="dashed", color="red", weight=0]; 214.33/146.07 3698[label="vyv265 * vyv266",fontsize=16,color="magenta"];3698 -> 3711[label="",style="dashed", color="magenta", weight=3]; 214.33/146.07 3698 -> 3712[label="",style="dashed", color="magenta", weight=3]; 214.33/146.07 3699 -> 3381[label="",style="dashed", color="red", weight=0]; 214.33/146.07 3699[label="vyv267 * vyv268",fontsize=16,color="magenta"];3699 -> 3713[label="",style="dashed", color="magenta", weight=3]; 214.33/146.07 3699 -> 3714[label="",style="dashed", color="magenta", weight=3]; 214.33/146.07 3700 -> 3381[label="",style="dashed", color="red", weight=0]; 214.33/146.07 3700[label="vyv265 * vyv266",fontsize=16,color="magenta"];3700 -> 3715[label="",style="dashed", color="magenta", weight=3]; 214.33/146.07 3700 -> 3716[label="",style="dashed", color="magenta", weight=3]; 214.33/146.07 3697[label="vyv274 `quot` reduce2D vyv276 vyv275",fontsize=16,color="black",shape="triangle"];3697 -> 3717[label="",style="solid", color="black", weight=3]; 214.33/146.07 3694 -> 3385[label="",style="dashed", color="red", weight=0]; 214.33/146.07 3694[label="vyv265 * vyv266",fontsize=16,color="magenta"];3694 -> 3718[label="",style="dashed", color="magenta", weight=3]; 214.33/146.07 3694 -> 3719[label="",style="dashed", color="magenta", weight=3]; 214.33/146.07 3695 -> 3385[label="",style="dashed", color="red", weight=0]; 214.33/146.07 3695[label="vyv267 * vyv268",fontsize=16,color="magenta"];3695 -> 3720[label="",style="dashed", color="magenta", weight=3]; 214.33/146.07 3695 -> 3721[label="",style="dashed", color="magenta", weight=3]; 214.33/146.07 3696 -> 3385[label="",style="dashed", color="red", weight=0]; 214.33/146.07 3696[label="vyv267 * vyv268",fontsize=16,color="magenta"];3696 -> 3722[label="",style="dashed", color="magenta", weight=3]; 214.33/146.07 3696 -> 3723[label="",style="dashed", color="magenta", weight=3]; 214.33/146.07 3701 -> 3381[label="",style="dashed", color="red", weight=0]; 214.33/146.07 3701[label="vyv265 * vyv266",fontsize=16,color="magenta"];3701 -> 3724[label="",style="dashed", color="magenta", weight=3]; 214.33/146.07 3701 -> 3725[label="",style="dashed", color="magenta", weight=3]; 214.33/146.07 3702 -> 3381[label="",style="dashed", color="red", weight=0]; 214.33/146.07 3702[label="vyv267 * vyv268",fontsize=16,color="magenta"];3702 -> 3726[label="",style="dashed", color="magenta", weight=3]; 214.33/146.07 3702 -> 3727[label="",style="dashed", color="magenta", weight=3]; 214.33/146.07 3703 -> 3381[label="",style="dashed", color="red", weight=0]; 214.33/146.07 3703[label="vyv267 * vyv268",fontsize=16,color="magenta"];3703 -> 3728[label="",style="dashed", color="magenta", weight=3]; 214.33/146.07 3703 -> 3729[label="",style="dashed", color="magenta", weight=3]; 214.33/146.07 3533 -> 114[label="",style="dashed", color="red", weight=0]; 214.33/146.07 3533[label="primPlusNat (primMulNat vyv1840000 (Succ (Succ (Succ vyv1840000)))) (Succ (Succ (Succ vyv1840000)))",fontsize=16,color="magenta"];3533 -> 3573[label="",style="dashed", color="magenta", weight=3]; 214.33/146.07 3533 -> 3574[label="",style="dashed", color="magenta", weight=3]; 214.33/146.07 3534[label="Zero",fontsize=16,color="green",shape="box"];3535[label="Succ vyv241",fontsize=16,color="green",shape="box"];3536[label="vyv2440",fontsize=16,color="green",shape="box"];3537 -> 3529[label="",style="dashed", color="red", weight=0]; 214.33/146.07 3537[label="primMinusNat vyv24400 vyv241",fontsize=16,color="magenta"];3537 -> 3575[label="",style="dashed", color="magenta", weight=3]; 214.33/146.07 3537 -> 3576[label="",style="dashed", color="magenta", weight=3]; 214.33/146.07 3538[label="Neg (Succ vyv241)",fontsize=16,color="green",shape="box"];3592[label="primMinusNat (Succ vyv2290) (Succ vyv245000)",fontsize=16,color="black",shape="box"];3592 -> 3626[label="",style="solid", color="black", weight=3]; 214.33/146.07 3593[label="primMinusNat (Succ vyv2290) Zero",fontsize=16,color="black",shape="box"];3593 -> 3627[label="",style="solid", color="black", weight=3]; 214.33/146.07 3594[label="primMinusNat Zero (Succ vyv245000)",fontsize=16,color="black",shape="box"];3594 -> 3628[label="",style="solid", color="black", weight=3]; 214.33/146.07 3595[label="primMinusNat Zero Zero",fontsize=16,color="black",shape="box"];3595 -> 3629[label="",style="solid", color="black", weight=3]; 214.33/146.07 3485[label="primEqInt (Pos (Succ vyv242000)) (Pos Zero)",fontsize=16,color="black",shape="box"];3485 -> 3546[label="",style="solid", color="black", weight=3]; 214.33/146.07 3486[label="primEqInt (Pos Zero) (Pos Zero)",fontsize=16,color="black",shape="box"];3486 -> 3547[label="",style="solid", color="black", weight=3]; 214.33/146.07 3487[label="primEqInt (Neg (Succ vyv242000)) (Pos Zero)",fontsize=16,color="black",shape="box"];3487 -> 3548[label="",style="solid", color="black", weight=3]; 214.33/146.07 3488[label="primEqInt (Neg Zero) (Pos Zero)",fontsize=16,color="black",shape="box"];3488 -> 3549[label="",style="solid", color="black", weight=3]; 214.33/146.07 3541[label="reduce2 (vyv2400 * vyv2390) (vyv2401 * vyv2391)",fontsize=16,color="black",shape="box"];3541 -> 3579[label="",style="solid", color="black", weight=3]; 214.33/146.07 3542[label="Pos (primMulNat vyv2400 vyv2390)",fontsize=16,color="green",shape="box"];3542 -> 3580[label="",style="dashed", color="green", weight=3]; 214.33/146.07 3543[label="Neg (primMulNat vyv2400 vyv2390)",fontsize=16,color="green",shape="box"];3543 -> 3581[label="",style="dashed", color="green", weight=3]; 214.33/146.07 3544[label="Neg (primMulNat vyv2400 vyv2390)",fontsize=16,color="green",shape="box"];3544 -> 3582[label="",style="dashed", color="green", weight=3]; 214.33/146.07 3545[label="Pos (primMulNat vyv2400 vyv2390)",fontsize=16,color="green",shape="box"];3545 -> 3583[label="",style="dashed", color="green", weight=3]; 214.33/146.07 4207[label="primDivNatS0 (Succ vyv311) (Succ vyv312) (primGEqNatS (Succ vyv3130) (Succ vyv3140))",fontsize=16,color="black",shape="box"];4207 -> 4215[label="",style="solid", color="black", weight=3]; 214.33/146.07 4208[label="primDivNatS0 (Succ vyv311) (Succ vyv312) (primGEqNatS (Succ vyv3130) Zero)",fontsize=16,color="black",shape="box"];4208 -> 4216[label="",style="solid", color="black", weight=3]; 214.33/146.07 4209[label="primDivNatS0 (Succ vyv311) (Succ vyv312) (primGEqNatS Zero (Succ vyv3140))",fontsize=16,color="black",shape="box"];4209 -> 4217[label="",style="solid", color="black", weight=3]; 214.33/146.07 4210[label="primDivNatS0 (Succ vyv311) (Succ vyv312) (primGEqNatS Zero Zero)",fontsize=16,color="black",shape="box"];4210 -> 4218[label="",style="solid", color="black", weight=3]; 214.33/146.07 3933[label="primMinusNatS (Succ vyv271000) Zero",fontsize=16,color="black",shape="triangle"];3933 -> 3946[label="",style="solid", color="black", weight=3]; 214.33/146.07 3934[label="Zero",fontsize=16,color="green",shape="box"];3935[label="primMinusNatS Zero Zero",fontsize=16,color="black",shape="triangle"];3935 -> 3947[label="",style="solid", color="black", weight=3]; 214.33/146.07 3936[label="Zero",fontsize=16,color="green",shape="box"];3704[label="vyv266",fontsize=16,color="green",shape="box"];3705[label="vyv265",fontsize=16,color="green",shape="box"];3706[label="vyv266",fontsize=16,color="green",shape="box"];3707[label="vyv265",fontsize=16,color="green",shape="box"];3708[label="vyv268",fontsize=16,color="green",shape="box"];3709[label="vyv267",fontsize=16,color="green",shape="box"];3710[label="primQuotInt vyv271 (reduce2D vyv273 vyv272)",fontsize=16,color="burlywood",shape="box"];4610[label="vyv271/Pos vyv2710",fontsize=10,color="white",style="solid",shape="box"];3710 -> 4610[label="",style="solid", color="burlywood", weight=9]; 214.33/146.07 4610 -> 3730[label="",style="solid", color="burlywood", weight=3]; 214.33/146.07 4611[label="vyv271/Neg vyv2710",fontsize=10,color="white",style="solid",shape="box"];3710 -> 4611[label="",style="solid", color="burlywood", weight=9]; 214.33/146.07 4611 -> 3731[label="",style="solid", color="burlywood", weight=3]; 214.33/146.07 3711[label="vyv266",fontsize=16,color="green",shape="box"];3712[label="vyv265",fontsize=16,color="green",shape="box"];3713[label="vyv268",fontsize=16,color="green",shape="box"];3714[label="vyv267",fontsize=16,color="green",shape="box"];3715[label="vyv266",fontsize=16,color="green",shape="box"];3716[label="vyv265",fontsize=16,color="green",shape="box"];3717[label="error []",fontsize=16,color="red",shape="box"];3718[label="vyv266",fontsize=16,color="green",shape="box"];3719[label="vyv265",fontsize=16,color="green",shape="box"];3720[label="vyv268",fontsize=16,color="green",shape="box"];3721[label="vyv267",fontsize=16,color="green",shape="box"];3722[label="vyv268",fontsize=16,color="green",shape="box"];3723[label="vyv267",fontsize=16,color="green",shape="box"];3724[label="vyv266",fontsize=16,color="green",shape="box"];3725[label="vyv265",fontsize=16,color="green",shape="box"];3726[label="vyv268",fontsize=16,color="green",shape="box"];3727[label="vyv267",fontsize=16,color="green",shape="box"];3728[label="vyv268",fontsize=16,color="green",shape="box"];3729[label="vyv267",fontsize=16,color="green",shape="box"];3573[label="primMulNat vyv1840000 (Succ (Succ (Succ vyv1840000)))",fontsize=16,color="burlywood",shape="box"];4612[label="vyv1840000/Succ vyv18400000",fontsize=10,color="white",style="solid",shape="box"];3573 -> 4612[label="",style="solid", color="burlywood", weight=9]; 214.33/146.07 4612 -> 3596[label="",style="solid", color="burlywood", weight=3]; 214.33/146.07 4613[label="vyv1840000/Zero",fontsize=10,color="white",style="solid",shape="box"];3573 -> 4613[label="",style="solid", color="burlywood", weight=9]; 214.33/146.07 4613 -> 3597[label="",style="solid", color="burlywood", weight=3]; 214.33/146.07 3574[label="Succ (Succ (Succ vyv1840000))",fontsize=16,color="green",shape="box"];3575[label="vyv24400",fontsize=16,color="green",shape="box"];3576[label="vyv241",fontsize=16,color="green",shape="box"];3626 -> 3529[label="",style="dashed", color="red", weight=0]; 214.33/146.07 3626[label="primMinusNat vyv2290 vyv245000",fontsize=16,color="magenta"];3626 -> 3652[label="",style="dashed", color="magenta", weight=3]; 214.33/146.07 3626 -> 3653[label="",style="dashed", color="magenta", weight=3]; 214.33/146.07 3627[label="Pos (Succ vyv2290)",fontsize=16,color="green",shape="box"];3628[label="Neg (Succ vyv245000)",fontsize=16,color="green",shape="box"];3629[label="Pos Zero",fontsize=16,color="green",shape="box"];3546[label="False",fontsize=16,color="green",shape="box"];3547[label="True",fontsize=16,color="green",shape="box"];3548[label="False",fontsize=16,color="green",shape="box"];3549[label="True",fontsize=16,color="green",shape="box"];3579 -> 3600[label="",style="dashed", color="red", weight=0]; 214.33/146.07 3579[label="reduce2Reduce1 (vyv2400 * vyv2390) (vyv2401 * vyv2391) (vyv2400 * vyv2390) (vyv2401 * vyv2391) (vyv2401 * vyv2391 == fromInt (Pos Zero))",fontsize=16,color="magenta"];3579 -> 3611[label="",style="dashed", color="magenta", weight=3]; 214.33/146.07 3579 -> 3612[label="",style="dashed", color="magenta", weight=3]; 214.33/146.07 3579 -> 3613[label="",style="dashed", color="magenta", weight=3]; 214.33/146.07 3579 -> 3614[label="",style="dashed", color="magenta", weight=3]; 214.33/146.07 3579 -> 3615[label="",style="dashed", color="magenta", weight=3]; 214.33/146.07 3580[label="primMulNat vyv2400 vyv2390",fontsize=16,color="burlywood",shape="triangle"];4614[label="vyv2400/Succ vyv24000",fontsize=10,color="white",style="solid",shape="box"];3580 -> 4614[label="",style="solid", color="burlywood", weight=9]; 214.33/146.07 4614 -> 3630[label="",style="solid", color="burlywood", weight=3]; 214.33/146.07 4615[label="vyv2400/Zero",fontsize=10,color="white",style="solid",shape="box"];3580 -> 4615[label="",style="solid", color="burlywood", weight=9]; 214.33/146.07 4615 -> 3631[label="",style="solid", color="burlywood", weight=3]; 214.33/146.07 3581 -> 3580[label="",style="dashed", color="red", weight=0]; 214.33/146.07 3581[label="primMulNat vyv2400 vyv2390",fontsize=16,color="magenta"];3581 -> 3632[label="",style="dashed", color="magenta", weight=3]; 214.33/146.07 3582 -> 3580[label="",style="dashed", color="red", weight=0]; 214.33/146.07 3582[label="primMulNat vyv2400 vyv2390",fontsize=16,color="magenta"];3582 -> 3633[label="",style="dashed", color="magenta", weight=3]; 214.33/146.07 3583 -> 3580[label="",style="dashed", color="red", weight=0]; 214.33/146.07 3583[label="primMulNat vyv2400 vyv2390",fontsize=16,color="magenta"];3583 -> 3634[label="",style="dashed", color="magenta", weight=3]; 214.33/146.07 3583 -> 3635[label="",style="dashed", color="magenta", weight=3]; 214.33/146.07 4215 -> 4167[label="",style="dashed", color="red", weight=0]; 214.33/146.07 4215[label="primDivNatS0 (Succ vyv311) (Succ vyv312) (primGEqNatS vyv3130 vyv3140)",fontsize=16,color="magenta"];4215 -> 4224[label="",style="dashed", color="magenta", weight=3]; 214.33/146.07 4215 -> 4225[label="",style="dashed", color="magenta", weight=3]; 214.33/146.07 4216[label="primDivNatS0 (Succ vyv311) (Succ vyv312) True",fontsize=16,color="black",shape="triangle"];4216 -> 4226[label="",style="solid", color="black", weight=3]; 214.33/146.07 4217[label="primDivNatS0 (Succ vyv311) (Succ vyv312) False",fontsize=16,color="black",shape="box"];4217 -> 4227[label="",style="solid", color="black", weight=3]; 214.33/146.07 4218 -> 4216[label="",style="dashed", color="red", weight=0]; 214.33/146.07 4218[label="primDivNatS0 (Succ vyv311) (Succ vyv312) True",fontsize=16,color="magenta"];3946[label="Succ vyv271000",fontsize=16,color="green",shape="box"];3947[label="Zero",fontsize=16,color="green",shape="box"];3730[label="primQuotInt (Pos vyv2710) (reduce2D vyv273 vyv272)",fontsize=16,color="black",shape="box"];3730 -> 3732[label="",style="solid", color="black", weight=3]; 214.33/146.07 3731[label="primQuotInt (Neg vyv2710) (reduce2D vyv273 vyv272)",fontsize=16,color="black",shape="box"];3731 -> 3733[label="",style="solid", color="black", weight=3]; 214.33/146.07 3596[label="primMulNat (Succ vyv18400000) (Succ (Succ (Succ (Succ vyv18400000))))",fontsize=16,color="black",shape="box"];3596 -> 3636[label="",style="solid", color="black", weight=3]; 214.33/146.07 3597[label="primMulNat Zero (Succ (Succ (Succ Zero)))",fontsize=16,color="black",shape="box"];3597 -> 3637[label="",style="solid", color="black", weight=3]; 214.33/146.07 3652[label="vyv2290",fontsize=16,color="green",shape="box"];3653[label="vyv245000",fontsize=16,color="green",shape="box"];3611[label="vyv2391",fontsize=16,color="green",shape="box"];3612[label="vyv2401 * vyv2391 == fromInt (Pos Zero)",fontsize=16,color="blue",shape="box"];4616[label="== :: Integer -> Integer -> Bool",fontsize=10,color="white",style="solid",shape="box"];3612 -> 4616[label="",style="solid", color="blue", weight=9]; 214.33/146.07 4616 -> 3640[label="",style="solid", color="blue", weight=3]; 214.33/146.07 4617[label="== :: Int -> Int -> Bool",fontsize=10,color="white",style="solid",shape="box"];3612 -> 4617[label="",style="solid", color="blue", weight=9]; 214.33/146.07 4617 -> 3641[label="",style="solid", color="blue", weight=3]; 214.33/146.07 3613[label="vyv2401",fontsize=16,color="green",shape="box"];3614[label="vyv2390",fontsize=16,color="green",shape="box"];3615[label="vyv2400",fontsize=16,color="green",shape="box"];3630[label="primMulNat (Succ vyv24000) vyv2390",fontsize=16,color="burlywood",shape="box"];4618[label="vyv2390/Succ vyv23900",fontsize=10,color="white",style="solid",shape="box"];3630 -> 4618[label="",style="solid", color="burlywood", weight=9]; 214.33/146.07 4618 -> 3654[label="",style="solid", color="burlywood", weight=3]; 214.33/146.07 4619[label="vyv2390/Zero",fontsize=10,color="white",style="solid",shape="box"];3630 -> 4619[label="",style="solid", color="burlywood", weight=9]; 214.33/146.07 4619 -> 3655[label="",style="solid", color="burlywood", weight=3]; 214.33/146.07 3631[label="primMulNat Zero vyv2390",fontsize=16,color="burlywood",shape="box"];4620[label="vyv2390/Succ vyv23900",fontsize=10,color="white",style="solid",shape="box"];3631 -> 4620[label="",style="solid", color="burlywood", weight=9]; 214.33/146.07 4620 -> 3656[label="",style="solid", color="burlywood", weight=3]; 214.33/146.07 4621[label="vyv2390/Zero",fontsize=10,color="white",style="solid",shape="box"];3631 -> 4621[label="",style="solid", color="burlywood", weight=9]; 214.33/146.07 4621 -> 3657[label="",style="solid", color="burlywood", weight=3]; 214.33/146.07 3632[label="vyv2390",fontsize=16,color="green",shape="box"];3633[label="vyv2400",fontsize=16,color="green",shape="box"];3634[label="vyv2390",fontsize=16,color="green",shape="box"];3635[label="vyv2400",fontsize=16,color="green",shape="box"];4224[label="vyv3130",fontsize=16,color="green",shape="box"];4225[label="vyv3140",fontsize=16,color="green",shape="box"];4226[label="Succ (primDivNatS (primMinusNatS (Succ vyv311) (Succ vyv312)) (Succ (Succ vyv312)))",fontsize=16,color="green",shape="box"];4226 -> 4236[label="",style="dashed", color="green", weight=3]; 214.33/146.07 4227[label="Zero",fontsize=16,color="green",shape="box"];3732 -> 3793[label="",style="dashed", color="red", weight=0]; 214.33/146.07 3732[label="primQuotInt (Pos vyv2710) (gcd vyv273 vyv272)",fontsize=16,color="magenta"];3732 -> 3802[label="",style="dashed", color="magenta", weight=3]; 214.33/146.07 3733 -> 3830[label="",style="dashed", color="red", weight=0]; 214.33/146.07 3733[label="primQuotInt (Neg vyv2710) (gcd vyv273 vyv272)",fontsize=16,color="magenta"];3733 -> 3839[label="",style="dashed", color="magenta", weight=3]; 214.33/146.07 3636 -> 114[label="",style="dashed", color="red", weight=0]; 214.33/146.07 3636[label="primPlusNat (primMulNat vyv18400000 (Succ (Succ (Succ (Succ vyv18400000))))) (Succ (Succ (Succ (Succ vyv18400000))))",fontsize=16,color="magenta"];3636 -> 3658[label="",style="dashed", color="magenta", weight=3]; 214.33/146.07 3636 -> 3659[label="",style="dashed", color="magenta", weight=3]; 214.33/146.07 3637[label="Zero",fontsize=16,color="green",shape="box"];3640 -> 3643[label="",style="dashed", color="red", weight=0]; 214.33/146.07 3640[label="vyv2401 * vyv2391 == fromInt (Pos Zero)",fontsize=16,color="magenta"];3640 -> 3645[label="",style="dashed", color="magenta", weight=3]; 214.33/146.07 3641 -> 3280[label="",style="dashed", color="red", weight=0]; 214.33/146.07 3641[label="vyv2401 * vyv2391 == fromInt (Pos Zero)",fontsize=16,color="magenta"];3641 -> 3661[label="",style="dashed", color="magenta", weight=3]; 214.33/146.07 3654[label="primMulNat (Succ vyv24000) (Succ vyv23900)",fontsize=16,color="black",shape="box"];3654 -> 3669[label="",style="solid", color="black", weight=3]; 214.33/146.07 3655[label="primMulNat (Succ vyv24000) Zero",fontsize=16,color="black",shape="box"];3655 -> 3670[label="",style="solid", color="black", weight=3]; 214.33/146.07 3656[label="primMulNat Zero (Succ vyv23900)",fontsize=16,color="black",shape="box"];3656 -> 3671[label="",style="solid", color="black", weight=3]; 214.33/146.07 3657[label="primMulNat Zero Zero",fontsize=16,color="black",shape="box"];3657 -> 3672[label="",style="solid", color="black", weight=3]; 214.33/146.07 4236 -> 3867[label="",style="dashed", color="red", weight=0]; 214.33/146.07 4236[label="primDivNatS (primMinusNatS (Succ vyv311) (Succ vyv312)) (Succ (Succ vyv312))",fontsize=16,color="magenta"];4236 -> 4242[label="",style="dashed", color="magenta", weight=3]; 214.33/146.07 4236 -> 4243[label="",style="dashed", color="magenta", weight=3]; 214.33/146.07 3802[label="gcd vyv273 vyv272",fontsize=16,color="black",shape="triangle"];3802 -> 3821[label="",style="solid", color="black", weight=3]; 214.33/146.07 3839 -> 3802[label="",style="dashed", color="red", weight=0]; 214.33/146.07 3839[label="gcd vyv273 vyv272",fontsize=16,color="magenta"];3658 -> 3580[label="",style="dashed", color="red", weight=0]; 214.33/146.07 3658[label="primMulNat vyv18400000 (Succ (Succ (Succ (Succ vyv18400000))))",fontsize=16,color="magenta"];3658 -> 3673[label="",style="dashed", color="magenta", weight=3]; 214.33/146.07 3658 -> 3674[label="",style="dashed", color="magenta", weight=3]; 214.33/146.07 3659[label="Succ (Succ (Succ (Succ vyv18400000)))",fontsize=16,color="green",shape="box"];3645 -> 3381[label="",style="dashed", color="red", weight=0]; 214.33/146.07 3645[label="vyv2401 * vyv2391",fontsize=16,color="magenta"];3645 -> 3662[label="",style="dashed", color="magenta", weight=3]; 214.33/146.07 3645 -> 3663[label="",style="dashed", color="magenta", weight=3]; 214.33/146.07 3661 -> 3385[label="",style="dashed", color="red", weight=0]; 214.33/146.07 3661[label="vyv2401 * vyv2391",fontsize=16,color="magenta"];3661 -> 3675[label="",style="dashed", color="magenta", weight=3]; 214.33/146.07 3661 -> 3676[label="",style="dashed", color="magenta", weight=3]; 214.33/146.07 3669 -> 114[label="",style="dashed", color="red", weight=0]; 214.33/146.07 3669[label="primPlusNat (primMulNat vyv24000 (Succ vyv23900)) (Succ vyv23900)",fontsize=16,color="magenta"];3669 -> 3679[label="",style="dashed", color="magenta", weight=3]; 214.33/146.07 3669 -> 3680[label="",style="dashed", color="magenta", weight=3]; 214.33/146.07 3670[label="Zero",fontsize=16,color="green",shape="box"];3671[label="Zero",fontsize=16,color="green",shape="box"];3672[label="Zero",fontsize=16,color="green",shape="box"];4242[label="primMinusNatS (Succ vyv311) (Succ vyv312)",fontsize=16,color="black",shape="box"];4242 -> 4249[label="",style="solid", color="black", weight=3]; 214.33/146.07 4243[label="Succ vyv312",fontsize=16,color="green",shape="box"];3821[label="gcd3 vyv273 vyv272",fontsize=16,color="black",shape="box"];3821 -> 3829[label="",style="solid", color="black", weight=3]; 214.33/146.07 3673[label="Succ (Succ (Succ (Succ vyv18400000)))",fontsize=16,color="green",shape="box"];3674[label="vyv18400000",fontsize=16,color="green",shape="box"];3662[label="vyv2391",fontsize=16,color="green",shape="box"];3663[label="vyv2401",fontsize=16,color="green",shape="box"];3675[label="vyv2391",fontsize=16,color="green",shape="box"];3676[label="vyv2401",fontsize=16,color="green",shape="box"];3679 -> 3580[label="",style="dashed", color="red", weight=0]; 214.33/146.07 3679[label="primMulNat vyv24000 (Succ vyv23900)",fontsize=16,color="magenta"];3679 -> 3684[label="",style="dashed", color="magenta", weight=3]; 214.33/146.07 3679 -> 3685[label="",style="dashed", color="magenta", weight=3]; 214.33/146.07 3680[label="Succ vyv23900",fontsize=16,color="green",shape="box"];4249[label="primMinusNatS vyv311 vyv312",fontsize=16,color="burlywood",shape="triangle"];4622[label="vyv311/Succ vyv3110",fontsize=10,color="white",style="solid",shape="box"];4249 -> 4622[label="",style="solid", color="burlywood", weight=9]; 214.33/146.07 4622 -> 4258[label="",style="solid", color="burlywood", weight=3]; 214.33/146.07 4623[label="vyv311/Zero",fontsize=10,color="white",style="solid",shape="box"];4249 -> 4623[label="",style="solid", color="burlywood", weight=9]; 214.33/146.07 4623 -> 4259[label="",style="solid", color="burlywood", weight=3]; 214.33/146.07 3829 -> 3861[label="",style="dashed", color="red", weight=0]; 214.33/146.07 3829[label="gcd2 (vyv273 == fromInt (Pos Zero)) vyv273 vyv272",fontsize=16,color="magenta"];3829 -> 3862[label="",style="dashed", color="magenta", weight=3]; 214.33/146.07 3684[label="Succ vyv23900",fontsize=16,color="green",shape="box"];3685[label="vyv24000",fontsize=16,color="green",shape="box"];4258[label="primMinusNatS (Succ vyv3110) vyv312",fontsize=16,color="burlywood",shape="box"];4624[label="vyv312/Succ vyv3120",fontsize=10,color="white",style="solid",shape="box"];4258 -> 4624[label="",style="solid", color="burlywood", weight=9]; 214.33/146.07 4624 -> 4268[label="",style="solid", color="burlywood", weight=3]; 214.33/146.07 4625[label="vyv312/Zero",fontsize=10,color="white",style="solid",shape="box"];4258 -> 4625[label="",style="solid", color="burlywood", weight=9]; 214.33/146.07 4625 -> 4269[label="",style="solid", color="burlywood", weight=3]; 214.33/146.07 4259[label="primMinusNatS Zero vyv312",fontsize=16,color="burlywood",shape="box"];4626[label="vyv312/Succ vyv3120",fontsize=10,color="white",style="solid",shape="box"];4259 -> 4626[label="",style="solid", color="burlywood", weight=9]; 214.33/146.07 4626 -> 4270[label="",style="solid", color="burlywood", weight=3]; 214.33/146.07 4627[label="vyv312/Zero",fontsize=10,color="white",style="solid",shape="box"];4259 -> 4627[label="",style="solid", color="burlywood", weight=9]; 214.33/146.07 4627 -> 4271[label="",style="solid", color="burlywood", weight=3]; 214.33/146.07 3862 -> 3280[label="",style="dashed", color="red", weight=0]; 214.33/146.07 3862[label="vyv273 == fromInt (Pos Zero)",fontsize=16,color="magenta"];3862 -> 3870[label="",style="dashed", color="magenta", weight=3]; 214.33/146.07 3861[label="gcd2 vyv289 vyv273 vyv272",fontsize=16,color="burlywood",shape="triangle"];4628[label="vyv289/False",fontsize=10,color="white",style="solid",shape="box"];3861 -> 4628[label="",style="solid", color="burlywood", weight=9]; 214.33/146.07 4628 -> 3871[label="",style="solid", color="burlywood", weight=3]; 214.33/146.07 4629[label="vyv289/True",fontsize=10,color="white",style="solid",shape="box"];3861 -> 4629[label="",style="solid", color="burlywood", weight=9]; 214.33/146.07 4629 -> 3872[label="",style="solid", color="burlywood", weight=3]; 214.33/146.07 4268[label="primMinusNatS (Succ vyv3110) (Succ vyv3120)",fontsize=16,color="black",shape="box"];4268 -> 4277[label="",style="solid", color="black", weight=3]; 214.33/146.07 4269[label="primMinusNatS (Succ vyv3110) Zero",fontsize=16,color="black",shape="box"];4269 -> 4278[label="",style="solid", color="black", weight=3]; 214.33/146.07 4270[label="primMinusNatS Zero (Succ vyv3120)",fontsize=16,color="black",shape="box"];4270 -> 4279[label="",style="solid", color="black", weight=3]; 214.33/146.07 4271[label="primMinusNatS Zero Zero",fontsize=16,color="black",shape="box"];4271 -> 4280[label="",style="solid", color="black", weight=3]; 214.33/146.07 3870[label="vyv273",fontsize=16,color="green",shape="box"];3871[label="gcd2 False vyv273 vyv272",fontsize=16,color="black",shape="box"];3871 -> 3880[label="",style="solid", color="black", weight=3]; 214.33/146.07 3872[label="gcd2 True vyv273 vyv272",fontsize=16,color="black",shape="box"];3872 -> 3881[label="",style="solid", color="black", weight=3]; 214.33/146.07 4277 -> 4249[label="",style="dashed", color="red", weight=0]; 214.33/146.07 4277[label="primMinusNatS vyv3110 vyv3120",fontsize=16,color="magenta"];4277 -> 4289[label="",style="dashed", color="magenta", weight=3]; 214.33/146.07 4277 -> 4290[label="",style="dashed", color="magenta", weight=3]; 214.33/146.07 4278[label="Succ vyv3110",fontsize=16,color="green",shape="box"];4279[label="Zero",fontsize=16,color="green",shape="box"];4280[label="Zero",fontsize=16,color="green",shape="box"];3880[label="gcd0 vyv273 vyv272",fontsize=16,color="black",shape="triangle"];3880 -> 3886[label="",style="solid", color="black", weight=3]; 214.33/146.07 3881 -> 3887[label="",style="dashed", color="red", weight=0]; 214.33/146.07 3881[label="gcd1 (vyv272 == fromInt (Pos Zero)) vyv273 vyv272",fontsize=16,color="magenta"];3881 -> 3888[label="",style="dashed", color="magenta", weight=3]; 214.33/146.07 4289[label="vyv3110",fontsize=16,color="green",shape="box"];4290[label="vyv3120",fontsize=16,color="green",shape="box"];3886[label="gcd0Gcd' (abs vyv273) (abs vyv272)",fontsize=16,color="black",shape="box"];3886 -> 3895[label="",style="solid", color="black", weight=3]; 214.33/146.07 3888 -> 3280[label="",style="dashed", color="red", weight=0]; 214.33/146.07 3888[label="vyv272 == fromInt (Pos Zero)",fontsize=16,color="magenta"];3888 -> 3896[label="",style="dashed", color="magenta", weight=3]; 214.33/146.07 3887[label="gcd1 vyv290 vyv273 vyv272",fontsize=16,color="burlywood",shape="triangle"];4630[label="vyv290/False",fontsize=10,color="white",style="solid",shape="box"];3887 -> 4630[label="",style="solid", color="burlywood", weight=9]; 214.33/146.07 4630 -> 3897[label="",style="solid", color="burlywood", weight=3]; 214.33/146.07 4631[label="vyv290/True",fontsize=10,color="white",style="solid",shape="box"];3887 -> 4631[label="",style="solid", color="burlywood", weight=9]; 214.33/146.07 4631 -> 3898[label="",style="solid", color="burlywood", weight=3]; 214.33/146.07 3895[label="gcd0Gcd'2 (abs vyv273) (abs vyv272)",fontsize=16,color="black",shape="box"];3895 -> 3903[label="",style="solid", color="black", weight=3]; 214.33/146.07 3896[label="vyv272",fontsize=16,color="green",shape="box"];3897[label="gcd1 False vyv273 vyv272",fontsize=16,color="black",shape="box"];3897 -> 3904[label="",style="solid", color="black", weight=3]; 214.33/146.07 3898[label="gcd1 True vyv273 vyv272",fontsize=16,color="black",shape="box"];3898 -> 3905[label="",style="solid", color="black", weight=3]; 214.33/146.07 3903 -> 3910[label="",style="dashed", color="red", weight=0]; 214.33/146.07 3903[label="gcd0Gcd'1 (abs vyv272 == fromInt (Pos Zero)) (abs vyv273) (abs vyv272)",fontsize=16,color="magenta"];3903 -> 3911[label="",style="dashed", color="magenta", weight=3]; 214.33/146.07 3904 -> 3880[label="",style="dashed", color="red", weight=0]; 214.33/146.07 3904[label="gcd0 vyv273 vyv272",fontsize=16,color="magenta"];3905 -> 3858[label="",style="dashed", color="red", weight=0]; 214.33/146.07 3905[label="error []",fontsize=16,color="magenta"];3911 -> 3280[label="",style="dashed", color="red", weight=0]; 214.33/146.07 3911[label="abs vyv272 == fromInt (Pos Zero)",fontsize=16,color="magenta"];3911 -> 3917[label="",style="dashed", color="magenta", weight=3]; 214.33/146.07 3910[label="gcd0Gcd'1 vyv291 (abs vyv273) (abs vyv272)",fontsize=16,color="burlywood",shape="triangle"];4632[label="vyv291/False",fontsize=10,color="white",style="solid",shape="box"];3910 -> 4632[label="",style="solid", color="burlywood", weight=9]; 214.33/146.07 4632 -> 3918[label="",style="solid", color="burlywood", weight=3]; 214.33/146.07 4633[label="vyv291/True",fontsize=10,color="white",style="solid",shape="box"];3910 -> 4633[label="",style="solid", color="burlywood", weight=9]; 214.33/146.07 4633 -> 3919[label="",style="solid", color="burlywood", weight=3]; 214.33/146.07 3917[label="abs vyv272",fontsize=16,color="black",shape="triangle"];3917 -> 3926[label="",style="solid", color="black", weight=3]; 214.33/146.07 3918[label="gcd0Gcd'1 False (abs vyv273) (abs vyv272)",fontsize=16,color="black",shape="box"];3918 -> 3927[label="",style="solid", color="black", weight=3]; 214.33/146.07 3919[label="gcd0Gcd'1 True (abs vyv273) (abs vyv272)",fontsize=16,color="black",shape="box"];3919 -> 3928[label="",style="solid", color="black", weight=3]; 214.33/146.07 3926[label="absReal vyv272",fontsize=16,color="black",shape="box"];3926 -> 3937[label="",style="solid", color="black", weight=3]; 214.33/146.07 3927 -> 3938[label="",style="dashed", color="red", weight=0]; 214.33/146.07 3927[label="gcd0Gcd'0 (abs vyv273) (abs vyv272)",fontsize=16,color="magenta"];3927 -> 3939[label="",style="dashed", color="magenta", weight=3]; 214.33/146.07 3927 -> 3940[label="",style="dashed", color="magenta", weight=3]; 214.33/146.07 3928 -> 3917[label="",style="dashed", color="red", weight=0]; 214.33/146.07 3928[label="abs vyv273",fontsize=16,color="magenta"];3928 -> 3948[label="",style="dashed", color="magenta", weight=3]; 214.33/146.07 3937[label="absReal2 vyv272",fontsize=16,color="black",shape="box"];3937 -> 3949[label="",style="solid", color="black", weight=3]; 214.33/146.07 3939 -> 3917[label="",style="dashed", color="red", weight=0]; 214.33/146.07 3939[label="abs vyv273",fontsize=16,color="magenta"];3939 -> 3950[label="",style="dashed", color="magenta", weight=3]; 214.33/146.07 3940 -> 3917[label="",style="dashed", color="red", weight=0]; 214.33/146.07 3940[label="abs vyv272",fontsize=16,color="magenta"];3938[label="gcd0Gcd'0 vyv293 vyv292",fontsize=16,color="black",shape="triangle"];3938 -> 3951[label="",style="solid", color="black", weight=3]; 214.33/146.07 3948[label="vyv273",fontsize=16,color="green",shape="box"];3949[label="absReal1 vyv272 (vyv272 >= fromInt (Pos Zero))",fontsize=16,color="black",shape="box"];3949 -> 3958[label="",style="solid", color="black", weight=3]; 214.33/146.07 3950[label="vyv273",fontsize=16,color="green",shape="box"];3951[label="gcd0Gcd' vyv292 (vyv293 `rem` vyv292)",fontsize=16,color="black",shape="box"];3951 -> 3959[label="",style="solid", color="black", weight=3]; 214.33/146.07 3958[label="absReal1 vyv272 (compare vyv272 (fromInt (Pos Zero)) /= LT)",fontsize=16,color="black",shape="box"];3958 -> 3968[label="",style="solid", color="black", weight=3]; 214.33/146.07 3959[label="gcd0Gcd'2 vyv292 (vyv293 `rem` vyv292)",fontsize=16,color="black",shape="box"];3959 -> 3969[label="",style="solid", color="black", weight=3]; 214.33/146.07 3968[label="absReal1 vyv272 (not (compare vyv272 (fromInt (Pos Zero)) == LT))",fontsize=16,color="black",shape="box"];3968 -> 3977[label="",style="solid", color="black", weight=3]; 214.33/146.07 3969 -> 3978[label="",style="dashed", color="red", weight=0]; 214.33/146.07 3969[label="gcd0Gcd'1 (vyv293 `rem` vyv292 == fromInt (Pos Zero)) vyv292 (vyv293 `rem` vyv292)",fontsize=16,color="magenta"];3969 -> 3979[label="",style="dashed", color="magenta", weight=3]; 214.33/146.07 3977[label="absReal1 vyv272 (not (primCmpInt vyv272 (fromInt (Pos Zero)) == LT))",fontsize=16,color="burlywood",shape="box"];4634[label="vyv272/Pos vyv2720",fontsize=10,color="white",style="solid",shape="box"];3977 -> 4634[label="",style="solid", color="burlywood", weight=9]; 214.33/146.07 4634 -> 3987[label="",style="solid", color="burlywood", weight=3]; 214.33/146.07 4635[label="vyv272/Neg vyv2720",fontsize=10,color="white",style="solid",shape="box"];3977 -> 4635[label="",style="solid", color="burlywood", weight=9]; 214.33/146.07 4635 -> 3988[label="",style="solid", color="burlywood", weight=3]; 214.33/146.07 3979 -> 3280[label="",style="dashed", color="red", weight=0]; 214.33/146.07 3979[label="vyv293 `rem` vyv292 == fromInt (Pos Zero)",fontsize=16,color="magenta"];3979 -> 3989[label="",style="dashed", color="magenta", weight=3]; 214.33/146.07 3978[label="gcd0Gcd'1 vyv294 vyv292 (vyv293 `rem` vyv292)",fontsize=16,color="burlywood",shape="triangle"];4636[label="vyv294/False",fontsize=10,color="white",style="solid",shape="box"];3978 -> 4636[label="",style="solid", color="burlywood", weight=9]; 214.33/146.07 4636 -> 3990[label="",style="solid", color="burlywood", weight=3]; 214.33/146.07 4637[label="vyv294/True",fontsize=10,color="white",style="solid",shape="box"];3978 -> 4637[label="",style="solid", color="burlywood", weight=9]; 214.33/146.07 4637 -> 3991[label="",style="solid", color="burlywood", weight=3]; 214.33/146.07 3987[label="absReal1 (Pos vyv2720) (not (primCmpInt (Pos vyv2720) (fromInt (Pos Zero)) == LT))",fontsize=16,color="burlywood",shape="box"];4638[label="vyv2720/Succ vyv27200",fontsize=10,color="white",style="solid",shape="box"];3987 -> 4638[label="",style="solid", color="burlywood", weight=9]; 214.33/146.07 4638 -> 4000[label="",style="solid", color="burlywood", weight=3]; 214.33/146.07 4639[label="vyv2720/Zero",fontsize=10,color="white",style="solid",shape="box"];3987 -> 4639[label="",style="solid", color="burlywood", weight=9]; 214.33/146.07 4639 -> 4001[label="",style="solid", color="burlywood", weight=3]; 214.33/146.07 3988[label="absReal1 (Neg vyv2720) (not (primCmpInt (Neg vyv2720) (fromInt (Pos Zero)) == LT))",fontsize=16,color="burlywood",shape="box"];4640[label="vyv2720/Succ vyv27200",fontsize=10,color="white",style="solid",shape="box"];3988 -> 4640[label="",style="solid", color="burlywood", weight=9]; 214.33/146.07 4640 -> 4002[label="",style="solid", color="burlywood", weight=3]; 214.33/146.07 4641[label="vyv2720/Zero",fontsize=10,color="white",style="solid",shape="box"];3988 -> 4641[label="",style="solid", color="burlywood", weight=9]; 214.33/146.07 4641 -> 4003[label="",style="solid", color="burlywood", weight=3]; 214.33/146.07 3989[label="vyv293 `rem` vyv292",fontsize=16,color="black",shape="triangle"];3989 -> 4004[label="",style="solid", color="black", weight=3]; 214.33/146.07 3990[label="gcd0Gcd'1 False vyv292 (vyv293 `rem` vyv292)",fontsize=16,color="black",shape="box"];3990 -> 4005[label="",style="solid", color="black", weight=3]; 214.33/146.07 3991[label="gcd0Gcd'1 True vyv292 (vyv293 `rem` vyv292)",fontsize=16,color="black",shape="box"];3991 -> 4006[label="",style="solid", color="black", weight=3]; 214.33/146.07 4000[label="absReal1 (Pos (Succ vyv27200)) (not (primCmpInt (Pos (Succ vyv27200)) (fromInt (Pos Zero)) == LT))",fontsize=16,color="black",shape="box"];4000 -> 4014[label="",style="solid", color="black", weight=3]; 214.33/146.07 4001[label="absReal1 (Pos Zero) (not (primCmpInt (Pos Zero) (fromInt (Pos Zero)) == LT))",fontsize=16,color="black",shape="box"];4001 -> 4015[label="",style="solid", color="black", weight=3]; 214.33/146.07 4002[label="absReal1 (Neg (Succ vyv27200)) (not (primCmpInt (Neg (Succ vyv27200)) (fromInt (Pos Zero)) == LT))",fontsize=16,color="black",shape="box"];4002 -> 4016[label="",style="solid", color="black", weight=3]; 214.33/146.07 4003[label="absReal1 (Neg Zero) (not (primCmpInt (Neg Zero) (fromInt (Pos Zero)) == LT))",fontsize=16,color="black",shape="box"];4003 -> 4017[label="",style="solid", color="black", weight=3]; 214.33/146.07 4004[label="primRemInt vyv293 vyv292",fontsize=16,color="burlywood",shape="box"];4642[label="vyv293/Pos vyv2930",fontsize=10,color="white",style="solid",shape="box"];4004 -> 4642[label="",style="solid", color="burlywood", weight=9]; 214.33/146.07 4642 -> 4018[label="",style="solid", color="burlywood", weight=3]; 214.33/146.07 4643[label="vyv293/Neg vyv2930",fontsize=10,color="white",style="solid",shape="box"];4004 -> 4643[label="",style="solid", color="burlywood", weight=9]; 214.33/146.07 4643 -> 4019[label="",style="solid", color="burlywood", weight=3]; 214.33/146.07 4005 -> 3938[label="",style="dashed", color="red", weight=0]; 214.33/146.07 4005[label="gcd0Gcd'0 vyv292 (vyv293 `rem` vyv292)",fontsize=16,color="magenta"];4005 -> 4020[label="",style="dashed", color="magenta", weight=3]; 214.33/146.07 4005 -> 4021[label="",style="dashed", color="magenta", weight=3]; 214.33/146.07 4006[label="vyv292",fontsize=16,color="green",shape="box"];4014[label="absReal1 (Pos (Succ vyv27200)) (not (primCmpInt (Pos (Succ vyv27200)) (Pos Zero) == LT))",fontsize=16,color="black",shape="box"];4014 -> 4029[label="",style="solid", color="black", weight=3]; 214.33/146.07 4015[label="absReal1 (Pos Zero) (not (primCmpInt (Pos Zero) (Pos Zero) == LT))",fontsize=16,color="black",shape="box"];4015 -> 4030[label="",style="solid", color="black", weight=3]; 214.33/146.07 4016[label="absReal1 (Neg (Succ vyv27200)) (not (primCmpInt (Neg (Succ vyv27200)) (Pos Zero) == LT))",fontsize=16,color="black",shape="box"];4016 -> 4031[label="",style="solid", color="black", weight=3]; 214.33/146.07 4017[label="absReal1 (Neg Zero) (not (primCmpInt (Neg Zero) (Pos Zero) == LT))",fontsize=16,color="black",shape="box"];4017 -> 4032[label="",style="solid", color="black", weight=3]; 214.33/146.07 4018[label="primRemInt (Pos vyv2930) vyv292",fontsize=16,color="burlywood",shape="box"];4644[label="vyv292/Pos vyv2920",fontsize=10,color="white",style="solid",shape="box"];4018 -> 4644[label="",style="solid", color="burlywood", weight=9]; 214.33/146.07 4644 -> 4033[label="",style="solid", color="burlywood", weight=3]; 214.33/146.07 4645[label="vyv292/Neg vyv2920",fontsize=10,color="white",style="solid",shape="box"];4018 -> 4645[label="",style="solid", color="burlywood", weight=9]; 214.33/146.07 4645 -> 4034[label="",style="solid", color="burlywood", weight=3]; 214.33/146.07 4019[label="primRemInt (Neg vyv2930) vyv292",fontsize=16,color="burlywood",shape="box"];4646[label="vyv292/Pos vyv2920",fontsize=10,color="white",style="solid",shape="box"];4019 -> 4646[label="",style="solid", color="burlywood", weight=9]; 214.33/146.07 4646 -> 4035[label="",style="solid", color="burlywood", weight=3]; 214.33/146.07 4647[label="vyv292/Neg vyv2920",fontsize=10,color="white",style="solid",shape="box"];4019 -> 4647[label="",style="solid", color="burlywood", weight=9]; 214.33/146.07 4647 -> 4036[label="",style="solid", color="burlywood", weight=3]; 214.33/146.07 4020[label="vyv292",fontsize=16,color="green",shape="box"];4021 -> 3989[label="",style="dashed", color="red", weight=0]; 214.33/146.07 4021[label="vyv293 `rem` vyv292",fontsize=16,color="magenta"];4029[label="absReal1 (Pos (Succ vyv27200)) (not (primCmpNat (Succ vyv27200) Zero == LT))",fontsize=16,color="black",shape="box"];4029 -> 4045[label="",style="solid", color="black", weight=3]; 214.33/146.07 4030[label="absReal1 (Pos Zero) (not (EQ == LT))",fontsize=16,color="black",shape="box"];4030 -> 4046[label="",style="solid", color="black", weight=3]; 214.33/146.07 4031[label="absReal1 (Neg (Succ vyv27200)) (not (LT == LT))",fontsize=16,color="black",shape="box"];4031 -> 4047[label="",style="solid", color="black", weight=3]; 214.33/146.07 4032[label="absReal1 (Neg Zero) (not (EQ == LT))",fontsize=16,color="black",shape="box"];4032 -> 4048[label="",style="solid", color="black", weight=3]; 214.33/146.07 4033[label="primRemInt (Pos vyv2930) (Pos vyv2920)",fontsize=16,color="burlywood",shape="box"];4648[label="vyv2920/Succ vyv29200",fontsize=10,color="white",style="solid",shape="box"];4033 -> 4648[label="",style="solid", color="burlywood", weight=9]; 214.33/146.07 4648 -> 4049[label="",style="solid", color="burlywood", weight=3]; 214.33/146.07 4649[label="vyv2920/Zero",fontsize=10,color="white",style="solid",shape="box"];4033 -> 4649[label="",style="solid", color="burlywood", weight=9]; 214.33/146.07 4649 -> 4050[label="",style="solid", color="burlywood", weight=3]; 214.33/146.07 4034[label="primRemInt (Pos vyv2930) (Neg vyv2920)",fontsize=16,color="burlywood",shape="box"];4650[label="vyv2920/Succ vyv29200",fontsize=10,color="white",style="solid",shape="box"];4034 -> 4650[label="",style="solid", color="burlywood", weight=9]; 214.33/146.07 4650 -> 4051[label="",style="solid", color="burlywood", weight=3]; 214.33/146.07 4651[label="vyv2920/Zero",fontsize=10,color="white",style="solid",shape="box"];4034 -> 4651[label="",style="solid", color="burlywood", weight=9]; 214.33/146.07 4651 -> 4052[label="",style="solid", color="burlywood", weight=3]; 214.33/146.07 4035[label="primRemInt (Neg vyv2930) (Pos vyv2920)",fontsize=16,color="burlywood",shape="box"];4652[label="vyv2920/Succ vyv29200",fontsize=10,color="white",style="solid",shape="box"];4035 -> 4652[label="",style="solid", color="burlywood", weight=9]; 214.33/146.07 4652 -> 4053[label="",style="solid", color="burlywood", weight=3]; 214.33/146.07 4653[label="vyv2920/Zero",fontsize=10,color="white",style="solid",shape="box"];4035 -> 4653[label="",style="solid", color="burlywood", weight=9]; 214.33/146.07 4653 -> 4054[label="",style="solid", color="burlywood", weight=3]; 214.33/146.07 4036[label="primRemInt (Neg vyv2930) (Neg vyv2920)",fontsize=16,color="burlywood",shape="box"];4654[label="vyv2920/Succ vyv29200",fontsize=10,color="white",style="solid",shape="box"];4036 -> 4654[label="",style="solid", color="burlywood", weight=9]; 214.33/146.07 4654 -> 4055[label="",style="solid", color="burlywood", weight=3]; 214.33/146.07 4655[label="vyv2920/Zero",fontsize=10,color="white",style="solid",shape="box"];4036 -> 4655[label="",style="solid", color="burlywood", weight=9]; 214.33/146.07 4655 -> 4056[label="",style="solid", color="burlywood", weight=3]; 214.33/146.07 4045[label="absReal1 (Pos (Succ vyv27200)) (not (GT == LT))",fontsize=16,color="black",shape="box"];4045 -> 4064[label="",style="solid", color="black", weight=3]; 214.33/146.07 4046[label="absReal1 (Pos Zero) (not False)",fontsize=16,color="black",shape="box"];4046 -> 4065[label="",style="solid", color="black", weight=3]; 214.33/146.07 4047[label="absReal1 (Neg (Succ vyv27200)) (not True)",fontsize=16,color="black",shape="box"];4047 -> 4066[label="",style="solid", color="black", weight=3]; 214.33/146.07 4048[label="absReal1 (Neg Zero) (not False)",fontsize=16,color="black",shape="box"];4048 -> 4067[label="",style="solid", color="black", weight=3]; 214.33/146.07 4049[label="primRemInt (Pos vyv2930) (Pos (Succ vyv29200))",fontsize=16,color="black",shape="box"];4049 -> 4068[label="",style="solid", color="black", weight=3]; 214.33/146.07 4050[label="primRemInt (Pos vyv2930) (Pos Zero)",fontsize=16,color="black",shape="box"];4050 -> 4069[label="",style="solid", color="black", weight=3]; 214.33/146.07 4051[label="primRemInt (Pos vyv2930) (Neg (Succ vyv29200))",fontsize=16,color="black",shape="box"];4051 -> 4070[label="",style="solid", color="black", weight=3]; 214.33/146.07 4052[label="primRemInt (Pos vyv2930) (Neg Zero)",fontsize=16,color="black",shape="box"];4052 -> 4071[label="",style="solid", color="black", weight=3]; 214.33/146.07 4053[label="primRemInt (Neg vyv2930) (Pos (Succ vyv29200))",fontsize=16,color="black",shape="box"];4053 -> 4072[label="",style="solid", color="black", weight=3]; 214.33/146.07 4054[label="primRemInt (Neg vyv2930) (Pos Zero)",fontsize=16,color="black",shape="box"];4054 -> 4073[label="",style="solid", color="black", weight=3]; 214.33/146.07 4055[label="primRemInt (Neg vyv2930) (Neg (Succ vyv29200))",fontsize=16,color="black",shape="box"];4055 -> 4074[label="",style="solid", color="black", weight=3]; 214.33/146.07 4056[label="primRemInt (Neg vyv2930) (Neg Zero)",fontsize=16,color="black",shape="box"];4056 -> 4075[label="",style="solid", color="black", weight=3]; 214.33/146.07 4064[label="absReal1 (Pos (Succ vyv27200)) (not False)",fontsize=16,color="black",shape="box"];4064 -> 4083[label="",style="solid", color="black", weight=3]; 214.33/146.07 4065[label="absReal1 (Pos Zero) True",fontsize=16,color="black",shape="box"];4065 -> 4084[label="",style="solid", color="black", weight=3]; 214.33/146.07 4066[label="absReal1 (Neg (Succ vyv27200)) False",fontsize=16,color="black",shape="box"];4066 -> 4085[label="",style="solid", color="black", weight=3]; 214.33/146.07 4067[label="absReal1 (Neg Zero) True",fontsize=16,color="black",shape="box"];4067 -> 4086[label="",style="solid", color="black", weight=3]; 214.33/146.07 4068[label="Pos (primModNatS vyv2930 (Succ vyv29200))",fontsize=16,color="green",shape="box"];4068 -> 4087[label="",style="dashed", color="green", weight=3]; 214.33/146.07 4069 -> 3858[label="",style="dashed", color="red", weight=0]; 214.33/146.07 4069[label="error []",fontsize=16,color="magenta"];4070[label="Pos (primModNatS vyv2930 (Succ vyv29200))",fontsize=16,color="green",shape="box"];4070 -> 4088[label="",style="dashed", color="green", weight=3]; 214.33/146.07 4071 -> 3858[label="",style="dashed", color="red", weight=0]; 214.33/146.07 4071[label="error []",fontsize=16,color="magenta"];4072[label="Neg (primModNatS vyv2930 (Succ vyv29200))",fontsize=16,color="green",shape="box"];4072 -> 4089[label="",style="dashed", color="green", weight=3]; 214.33/146.07 4073 -> 3858[label="",style="dashed", color="red", weight=0]; 214.33/146.07 4073[label="error []",fontsize=16,color="magenta"];4074[label="Neg (primModNatS vyv2930 (Succ vyv29200))",fontsize=16,color="green",shape="box"];4074 -> 4090[label="",style="dashed", color="green", weight=3]; 214.33/146.07 4075 -> 3858[label="",style="dashed", color="red", weight=0]; 214.33/146.07 4075[label="error []",fontsize=16,color="magenta"];4083[label="absReal1 (Pos (Succ vyv27200)) True",fontsize=16,color="black",shape="box"];4083 -> 4099[label="",style="solid", color="black", weight=3]; 214.33/146.07 4084[label="Pos Zero",fontsize=16,color="green",shape="box"];4085[label="absReal0 (Neg (Succ vyv27200)) otherwise",fontsize=16,color="black",shape="box"];4085 -> 4100[label="",style="solid", color="black", weight=3]; 214.33/146.07 4086[label="Neg Zero",fontsize=16,color="green",shape="box"];4087[label="primModNatS vyv2930 (Succ vyv29200)",fontsize=16,color="burlywood",shape="triangle"];4656[label="vyv2930/Succ vyv29300",fontsize=10,color="white",style="solid",shape="box"];4087 -> 4656[label="",style="solid", color="burlywood", weight=9]; 214.33/146.07 4656 -> 4101[label="",style="solid", color="burlywood", weight=3]; 214.33/146.07 4657[label="vyv2930/Zero",fontsize=10,color="white",style="solid",shape="box"];4087 -> 4657[label="",style="solid", color="burlywood", weight=9]; 214.33/146.07 4657 -> 4102[label="",style="solid", color="burlywood", weight=3]; 214.33/146.07 4088 -> 4087[label="",style="dashed", color="red", weight=0]; 214.33/146.07 4088[label="primModNatS vyv2930 (Succ vyv29200)",fontsize=16,color="magenta"];4088 -> 4103[label="",style="dashed", color="magenta", weight=3]; 214.33/146.07 4089 -> 4087[label="",style="dashed", color="red", weight=0]; 214.33/146.07 4089[label="primModNatS vyv2930 (Succ vyv29200)",fontsize=16,color="magenta"];4089 -> 4104[label="",style="dashed", color="magenta", weight=3]; 214.33/146.07 4090 -> 4087[label="",style="dashed", color="red", weight=0]; 214.33/146.07 4090[label="primModNatS vyv2930 (Succ vyv29200)",fontsize=16,color="magenta"];4090 -> 4105[label="",style="dashed", color="magenta", weight=3]; 214.33/146.07 4090 -> 4106[label="",style="dashed", color="magenta", weight=3]; 214.33/146.07 4099[label="Pos (Succ vyv27200)",fontsize=16,color="green",shape="box"];4100[label="absReal0 (Neg (Succ vyv27200)) True",fontsize=16,color="black",shape="box"];4100 -> 4154[label="",style="solid", color="black", weight=3]; 214.33/146.07 4101[label="primModNatS (Succ vyv29300) (Succ vyv29200)",fontsize=16,color="black",shape="box"];4101 -> 4155[label="",style="solid", color="black", weight=3]; 214.33/146.07 4102[label="primModNatS Zero (Succ vyv29200)",fontsize=16,color="black",shape="box"];4102 -> 4156[label="",style="solid", color="black", weight=3]; 214.33/146.07 4103[label="vyv29200",fontsize=16,color="green",shape="box"];4104[label="vyv2930",fontsize=16,color="green",shape="box"];4105[label="vyv29200",fontsize=16,color="green",shape="box"];4106[label="vyv2930",fontsize=16,color="green",shape="box"];4154[label="`negate` Neg (Succ vyv27200)",fontsize=16,color="black",shape="box"];4154 -> 4162[label="",style="solid", color="black", weight=3]; 214.33/146.07 4155[label="primModNatS0 vyv29300 vyv29200 (primGEqNatS vyv29300 vyv29200)",fontsize=16,color="burlywood",shape="box"];4658[label="vyv29300/Succ vyv293000",fontsize=10,color="white",style="solid",shape="box"];4155 -> 4658[label="",style="solid", color="burlywood", weight=9]; 214.33/146.07 4658 -> 4163[label="",style="solid", color="burlywood", weight=3]; 214.33/146.07 4659[label="vyv29300/Zero",fontsize=10,color="white",style="solid",shape="box"];4155 -> 4659[label="",style="solid", color="burlywood", weight=9]; 214.33/146.07 4659 -> 4164[label="",style="solid", color="burlywood", weight=3]; 214.33/146.07 4156[label="Zero",fontsize=16,color="green",shape="box"];4162[label="primNegInt (Neg (Succ vyv27200))",fontsize=16,color="black",shape="box"];4162 -> 4202[label="",style="solid", color="black", weight=3]; 214.33/146.07 4163[label="primModNatS0 (Succ vyv293000) vyv29200 (primGEqNatS (Succ vyv293000) vyv29200)",fontsize=16,color="burlywood",shape="box"];4660[label="vyv29200/Succ vyv292000",fontsize=10,color="white",style="solid",shape="box"];4163 -> 4660[label="",style="solid", color="burlywood", weight=9]; 214.33/146.07 4660 -> 4203[label="",style="solid", color="burlywood", weight=3]; 214.33/146.07 4661[label="vyv29200/Zero",fontsize=10,color="white",style="solid",shape="box"];4163 -> 4661[label="",style="solid", color="burlywood", weight=9]; 214.33/146.07 4661 -> 4204[label="",style="solid", color="burlywood", weight=3]; 214.33/146.07 4164[label="primModNatS0 Zero vyv29200 (primGEqNatS Zero vyv29200)",fontsize=16,color="burlywood",shape="box"];4662[label="vyv29200/Succ vyv292000",fontsize=10,color="white",style="solid",shape="box"];4164 -> 4662[label="",style="solid", color="burlywood", weight=9]; 214.33/146.07 4662 -> 4205[label="",style="solid", color="burlywood", weight=3]; 214.33/146.07 4663[label="vyv29200/Zero",fontsize=10,color="white",style="solid",shape="box"];4164 -> 4663[label="",style="solid", color="burlywood", weight=9]; 214.33/146.07 4663 -> 4206[label="",style="solid", color="burlywood", weight=3]; 214.33/146.07 4202[label="Pos (Succ vyv27200)",fontsize=16,color="green",shape="box"];4203[label="primModNatS0 (Succ vyv293000) (Succ vyv292000) (primGEqNatS (Succ vyv293000) (Succ vyv292000))",fontsize=16,color="black",shape="box"];4203 -> 4211[label="",style="solid", color="black", weight=3]; 214.33/146.07 4204[label="primModNatS0 (Succ vyv293000) Zero (primGEqNatS (Succ vyv293000) Zero)",fontsize=16,color="black",shape="box"];4204 -> 4212[label="",style="solid", color="black", weight=3]; 214.33/146.07 4205[label="primModNatS0 Zero (Succ vyv292000) (primGEqNatS Zero (Succ vyv292000))",fontsize=16,color="black",shape="box"];4205 -> 4213[label="",style="solid", color="black", weight=3]; 214.33/146.07 4206[label="primModNatS0 Zero Zero (primGEqNatS Zero Zero)",fontsize=16,color="black",shape="box"];4206 -> 4214[label="",style="solid", color="black", weight=3]; 214.33/146.07 4211 -> 4394[label="",style="dashed", color="red", weight=0]; 214.33/146.07 4211[label="primModNatS0 (Succ vyv293000) (Succ vyv292000) (primGEqNatS vyv293000 vyv292000)",fontsize=16,color="magenta"];4211 -> 4395[label="",style="dashed", color="magenta", weight=3]; 214.33/146.07 4211 -> 4396[label="",style="dashed", color="magenta", weight=3]; 214.33/146.07 4211 -> 4397[label="",style="dashed", color="magenta", weight=3]; 214.33/146.07 4211 -> 4398[label="",style="dashed", color="magenta", weight=3]; 214.33/146.07 4212[label="primModNatS0 (Succ vyv293000) Zero True",fontsize=16,color="black",shape="box"];4212 -> 4221[label="",style="solid", color="black", weight=3]; 214.33/146.07 4213[label="primModNatS0 Zero (Succ vyv292000) False",fontsize=16,color="black",shape="box"];4213 -> 4222[label="",style="solid", color="black", weight=3]; 214.33/146.07 4214[label="primModNatS0 Zero Zero True",fontsize=16,color="black",shape="box"];4214 -> 4223[label="",style="solid", color="black", weight=3]; 214.33/146.07 4395[label="vyv292000",fontsize=16,color="green",shape="box"];4396[label="vyv293000",fontsize=16,color="green",shape="box"];4397[label="vyv293000",fontsize=16,color="green",shape="box"];4398[label="vyv292000",fontsize=16,color="green",shape="box"];4394[label="primModNatS0 (Succ vyv331) (Succ vyv332) (primGEqNatS vyv333 vyv334)",fontsize=16,color="burlywood",shape="triangle"];4664[label="vyv333/Succ vyv3330",fontsize=10,color="white",style="solid",shape="box"];4394 -> 4664[label="",style="solid", color="burlywood", weight=9]; 214.33/146.07 4664 -> 4427[label="",style="solid", color="burlywood", weight=3]; 214.33/146.07 4665[label="vyv333/Zero",fontsize=10,color="white",style="solid",shape="box"];4394 -> 4665[label="",style="solid", color="burlywood", weight=9]; 214.33/146.07 4665 -> 4428[label="",style="solid", color="burlywood", weight=3]; 214.33/146.07 4221 -> 4087[label="",style="dashed", color="red", weight=0]; 214.33/146.07 4221[label="primModNatS (primMinusNatS (Succ vyv293000) Zero) (Succ Zero)",fontsize=16,color="magenta"];4221 -> 4232[label="",style="dashed", color="magenta", weight=3]; 214.33/146.07 4221 -> 4233[label="",style="dashed", color="magenta", weight=3]; 214.33/146.07 4222[label="Succ Zero",fontsize=16,color="green",shape="box"];4223 -> 4087[label="",style="dashed", color="red", weight=0]; 214.33/146.07 4223[label="primModNatS (primMinusNatS Zero Zero) (Succ Zero)",fontsize=16,color="magenta"];4223 -> 4234[label="",style="dashed", color="magenta", weight=3]; 214.33/146.07 4223 -> 4235[label="",style="dashed", color="magenta", weight=3]; 214.33/146.07 4427[label="primModNatS0 (Succ vyv331) (Succ vyv332) (primGEqNatS (Succ vyv3330) vyv334)",fontsize=16,color="burlywood",shape="box"];4666[label="vyv334/Succ vyv3340",fontsize=10,color="white",style="solid",shape="box"];4427 -> 4666[label="",style="solid", color="burlywood", weight=9]; 214.33/146.07 4666 -> 4429[label="",style="solid", color="burlywood", weight=3]; 214.33/146.07 4667[label="vyv334/Zero",fontsize=10,color="white",style="solid",shape="box"];4427 -> 4667[label="",style="solid", color="burlywood", weight=9]; 214.33/146.07 4667 -> 4430[label="",style="solid", color="burlywood", weight=3]; 214.33/146.07 4428[label="primModNatS0 (Succ vyv331) (Succ vyv332) (primGEqNatS Zero vyv334)",fontsize=16,color="burlywood",shape="box"];4668[label="vyv334/Succ vyv3340",fontsize=10,color="white",style="solid",shape="box"];4428 -> 4668[label="",style="solid", color="burlywood", weight=9]; 214.33/146.07 4668 -> 4431[label="",style="solid", color="burlywood", weight=3]; 214.33/146.07 4669[label="vyv334/Zero",fontsize=10,color="white",style="solid",shape="box"];4428 -> 4669[label="",style="solid", color="burlywood", weight=9]; 214.33/146.07 4669 -> 4432[label="",style="solid", color="burlywood", weight=3]; 214.33/146.07 4232[label="Zero",fontsize=16,color="green",shape="box"];4233 -> 3933[label="",style="dashed", color="red", weight=0]; 214.33/146.07 4233[label="primMinusNatS (Succ vyv293000) Zero",fontsize=16,color="magenta"];4233 -> 4241[label="",style="dashed", color="magenta", weight=3]; 214.33/146.07 4234[label="Zero",fontsize=16,color="green",shape="box"];4235 -> 3935[label="",style="dashed", color="red", weight=0]; 214.33/146.07 4235[label="primMinusNatS Zero Zero",fontsize=16,color="magenta"];4429[label="primModNatS0 (Succ vyv331) (Succ vyv332) (primGEqNatS (Succ vyv3330) (Succ vyv3340))",fontsize=16,color="black",shape="box"];4429 -> 4433[label="",style="solid", color="black", weight=3]; 214.33/146.07 4430[label="primModNatS0 (Succ vyv331) (Succ vyv332) (primGEqNatS (Succ vyv3330) Zero)",fontsize=16,color="black",shape="box"];4430 -> 4434[label="",style="solid", color="black", weight=3]; 214.33/146.07 4431[label="primModNatS0 (Succ vyv331) (Succ vyv332) (primGEqNatS Zero (Succ vyv3340))",fontsize=16,color="black",shape="box"];4431 -> 4435[label="",style="solid", color="black", weight=3]; 214.33/146.07 4432[label="primModNatS0 (Succ vyv331) (Succ vyv332) (primGEqNatS Zero Zero)",fontsize=16,color="black",shape="box"];4432 -> 4436[label="",style="solid", color="black", weight=3]; 214.33/146.07 4241[label="vyv293000",fontsize=16,color="green",shape="box"];4433 -> 4394[label="",style="dashed", color="red", weight=0]; 214.33/146.07 4433[label="primModNatS0 (Succ vyv331) (Succ vyv332) (primGEqNatS vyv3330 vyv3340)",fontsize=16,color="magenta"];4433 -> 4437[label="",style="dashed", color="magenta", weight=3]; 214.33/146.07 4433 -> 4438[label="",style="dashed", color="magenta", weight=3]; 214.33/146.07 4434[label="primModNatS0 (Succ vyv331) (Succ vyv332) True",fontsize=16,color="black",shape="triangle"];4434 -> 4439[label="",style="solid", color="black", weight=3]; 214.33/146.07 4435[label="primModNatS0 (Succ vyv331) (Succ vyv332) False",fontsize=16,color="black",shape="box"];4435 -> 4440[label="",style="solid", color="black", weight=3]; 214.33/146.07 4436 -> 4434[label="",style="dashed", color="red", weight=0]; 214.33/146.07 4436[label="primModNatS0 (Succ vyv331) (Succ vyv332) True",fontsize=16,color="magenta"];4437[label="vyv3330",fontsize=16,color="green",shape="box"];4438[label="vyv3340",fontsize=16,color="green",shape="box"];4439 -> 4087[label="",style="dashed", color="red", weight=0]; 214.33/146.07 4439[label="primModNatS (primMinusNatS (Succ vyv331) (Succ vyv332)) (Succ (Succ vyv332))",fontsize=16,color="magenta"];4439 -> 4441[label="",style="dashed", color="magenta", weight=3]; 214.33/146.07 4439 -> 4442[label="",style="dashed", color="magenta", weight=3]; 214.33/146.07 4440[label="Succ (Succ vyv331)",fontsize=16,color="green",shape="box"];4441[label="Succ vyv332",fontsize=16,color="green",shape="box"];4442 -> 4249[label="",style="dashed", color="red", weight=0]; 214.33/146.07 4442[label="primMinusNatS (Succ vyv331) (Succ vyv332)",fontsize=16,color="magenta"];4442 -> 4443[label="",style="dashed", color="magenta", weight=3]; 214.33/146.07 4442 -> 4444[label="",style="dashed", color="magenta", weight=3]; 214.33/146.07 4443[label="Succ vyv331",fontsize=16,color="green",shape="box"];4444[label="Succ vyv332",fontsize=16,color="green",shape="box"];} 214.33/146.07 214.33/146.07 ---------------------------------------- 214.33/146.07 214.33/146.07 (947) 214.33/146.07 Obligation: 214.33/146.07 Q DP problem: 214.33/146.07 P is empty. 214.33/146.07 R is empty. 214.33/146.07 Q is empty. 214.33/146.07 We have to consider all (P,Q,R)-chains. 214.33/146.07 ---------------------------------------- 214.33/146.07 214.33/146.07 (948) PisEmptyProof (EQUIVALENT) 214.33/146.07 The TRS P is empty. Hence, there is no (P,Q,R) chain. 214.33/146.07 ---------------------------------------- 214.33/146.07 214.33/146.07 (949) 214.33/146.07 YES 214.34/146.12 EOF